about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2017-09-01 14:14:29 +0200
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2017-09-01 16:17:19 +0200
commit5c1220127c79eaac4febd09dd3714098eda302e7 (patch)
treeed9c81925cd3f395acbb096f5fd42c1ae79cc045
parentd806661d8407f580578e51194dbf3c3520b399b2 (diff)
downloadmiasm-5c1220127c79eaac4febd09dd3714098eda302e7.tar.gz
miasm-5c1220127c79eaac4febd09dd3714098eda302e7.zip
X86: add instr aes
-rw-r--r--miasm2/arch/x86/arch.py5
-rw-r--r--test/arch/x86/arch.py9
2 files changed, 14 insertions, 0 deletions
diff --git a/miasm2/arch/x86/arch.py b/miasm2/arch/x86/arch.py
index 73c9fc0d..f792e61a 100644
--- a/miasm2/arch/x86/arch.py
+++ b/miasm2/arch/x86/arch.py
@@ -4355,6 +4355,11 @@ addop("shufps", [bs8(0x0f), bs8(0xc6), no_xmm_pref] +
 addop("shufpd", [bs8(0x0f), bs8(0xc6), pref_66] +
       rmmod(xmm_reg, rm_arg_xmm) + [u08])
 
+addop("aesenc", [bs8(0x0f), bs8(0x38), bs8(0xdc), pref_66] + rmmod(xmm_reg, rm_arg_xmm))
+addop("aesdec", [bs8(0x0f), bs8(0x38), bs8(0xde), pref_66] + rmmod(xmm_reg, rm_arg_xmm))
+
+addop("aesenclast", [bs8(0x0f), bs8(0x38), bs8(0xdd), pref_66] + rmmod(xmm_reg, rm_arg_xmm))
+addop("aesdeclast", [bs8(0x0f), bs8(0x38), bs8(0xdf), pref_66] + rmmod(xmm_reg, rm_arg_xmm))
 
 mn_x86.bintree = factor_one_bit(mn_x86.bintree)
 # mn_x86.bintree = factor_fields_all(mn_x86.bintree)
diff --git a/test/arch/x86/arch.py b/test/arch/x86/arch.py
index 0472e714..528b75f1 100644
--- a/test/arch/x86/arch.py
+++ b/test/arch/x86/arch.py
@@ -2939,6 +2939,15 @@ reg_tests = [
     (m64, "00000000    SHUFPD     XMM0, XMM6, 0x44",
      "660fc6c644"),
 
+    (m32, "00000000    AESENC     XMM1, XMM2",
+     "660f38dcca"),
+    (m32, "00000000    AESDEC     XMM1, XMM2",
+     "660f38deca"),
+
+    (m32, "00000000    AESENCLAST XMM1, XMM2",
+     "660f38ddca"),
+    (m32, "00000000    AESDECLAST XMM1, XMM2",
+     "660f38dfca"),
 
 ]