aboutsummaryrefslogtreecommitdiff
path: root/elymas/lib/sys
diff options
context:
space:
mode:
authorDrahflow <drahflow@gmx.de>2015-05-27 17:16:31 +0200
committerDrahflow <drahflow@gmx.de>2015-05-27 17:16:31 +0200
commit724409b84b12f7c9fcbe8c6570f2b79429b8fb1e (patch)
tree7ca3cff8149647d8d6da97186a0677bd1a0de14d /elymas/lib/sys
parent9f66d9d17beea65c9728ad58d5622f1273f9a789 (diff)
Inline logical and
Diffstat (limited to 'elymas/lib/sys')
-rw-r--r--elymas/lib/sys/opt.ey27
1 files changed, 27 insertions, 0 deletions
diff --git a/elymas/lib/sys/opt.ey b/elymas/lib/sys/opt.ey
index e5440d6..83ae303 100644
--- a/elymas/lib/sys/opt.ey
+++ b/elymas/lib/sys/opt.ey
@@ -482,6 +482,33 @@
[ NOP ] i 1 sub logic =[]
}
+ { 1 last * |and ::rawAddress eq }' {
+ [ NATIVENOSCOPE [
+ /rcx :popqReg
+ 63 /rcx :btrqImm8Reg
+ [ 8 /rcx /rcx :movqMemDisp8Reg ] len :jcRel8
+ 8 /rcx /rcx :movqMemDisp8Reg
+
+ /rdx :popqReg
+ 63 /rdx :btrqImm8Reg
+ [ 8 /rdx /rdx :movqMemDisp8Reg ] len :jcRel8
+ 8 /rdx /rdx :movqMemDisp8Reg
+
+ 1 /rax :movqImmReg
+ /rcx /rcx :testqRegReg
+ [ /rax /rax :xorqRegReg ] len :jnzRel8
+ /rax /rax :xorqRegReg
+
+ /rdx /rdx :testqRegReg
+ [ /rax /rax :xorqRegReg ] len :jnzRel8
+ /rax /rax :xorqRegReg
+
+ 63 /rax :btsqImm8Reg
+ /rax :pushqReg
+ ] ] i logic =[]
+ [ NOP ] i 1 sub logic =[]
+ }
+
{ ==negatedOpcodeName ==functionName
{ 1 last * functionName | ::rawAddress eq }' {
[ NATIVENOSCOPE [