about summary refs log tree commit diff stats
path: root/miasm2/arch/x86/sem.py
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2016-01-06 11:26:15 +0100
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2016-01-06 11:28:59 +0100
commitf56c33b6bdba48ce83fa77a2debcc119a7d511c0 (patch)
treefad1dc2a8085d3552825892665264a52108dd911 /miasm2/arch/x86/sem.py
parent1eb15a19f2033e5e96d4f7614caf8f11c28396d7 (diff)
downloadmiasm-f56c33b6bdba48ce83fa77a2debcc119a7d511c0.tar.gz
miasm-f56c33b6bdba48ce83fa77a2debcc119a7d511c0.zip
X86: add andnp[sd]
Diffstat (limited to 'miasm2/arch/x86/sem.py')
-rw-r--r--miasm2/arch/x86/sem.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/miasm2/arch/x86/sem.py b/miasm2/arch/x86/sem.py
index 61e56bbe..a9737923 100644
--- a/miasm2/arch/x86/sem.py
+++ b/miasm2/arch/x86/sem.py
@@ -3149,6 +3149,12 @@ def andps(ir, instr, a, b):
     return e, []
 
 
+def andnps(ir, instr, a, b):
+    e = []
+    e.append(m2_expr.ExprAff(a, m2_expr.ExprOp('&', a ^ a.mask, b)))
+    return e, []
+
+
 def orps(ir, instr, a, b):
     e = []
     e.append(m2_expr.ExprAff(a, m2_expr.ExprOp('|', a, b)))
@@ -4254,6 +4260,8 @@ mnemo_func = {'mov': mov,
               "movups": movapd,  # XXX TODO alignement check
               "andps": andps,
               "andpd": andps,
+              "andnps": andnps,
+              "andnpd": andnps,
               "orps": orps,
               "orpd": orps,
               "xorps": xorps,