gas/
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 20 Aug 2008 18:38:40 +0000 (18:38 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 20 Aug 2008 18:38:40 +0000 (18:38 +0000)
2008-08-20  H.J. Lu  <hongjiu.lu@intel.com>

AVX Programming Reference (August, 2008)
* config/tc-i386.c (CPU_FLAGS_AES_MATCH): New.
(CPU_FLAGS_AVX_MATCH): Likewise.
(CPU_FLAGS_32BIT_MATCH): Updated.
(cpu_flags_match): Likewise.

gas/testsuite/

2008-08-20  H.J. Lu  <hongjiu.lu@intel.com>

AVX Programming Reference (August, 2008)
* gas/i386/avx.s: Add AES + AVX tests.
* gas/i386/arch-10.s: Likewise.
* gas/i386/sse2avx.s: Likewise.
* gas/i386/x86-64-arch-2.s: Likewise.
* gas/i386/x86-64-avx.s: Likewise.
* gas/i386/x86-64-sse2avx.s: Likewise.

* gas/i386/arch-10.d: Updated.
* gas/i386/arch-10-1.l: Likewise.
* gas/i386/arch-10-2.l: Likewise.
* gas/i386/arch-10-3.l: Likewise.
* gas/i386/arch-10-4.l: Likewise.
* gas/i386/avx.d: Likewise.
* gas/i386/avx-intel.d: Likewise.
* gas/i386/sse2avx.d: Likewise.
* gas/i386/x86-64-arch-2.d: Likewise.
* gas/i386/x86-64-avx.d: Likewise.
* gas/i386/x86-64-avx-intel.d: Likewise.
* gas/i386/x86-64-sse2avx.d: Likewise.

* gas/i386/i386.exp: Run arch-avx-1, arch-avx-1-1 and
arch-avx-1-2.

* gas/i386/arch-avx-1.d: New.
* gas/i386/arch-avx-1.s: Likewise.
* gas/i386/arch-avx-1-1.l: Likewise.
* gas/i386/arch-avx-1-1.s: Likewise.
* gas/i386/arch-avx-1-2.l: Likewise.
* gas/i386/arch-avx-1-2.s: Likewise.

opcodes/

2008-08-20  H.J. Lu  <hongjiu.lu@intel.com>

AVX Programming Reference (August, 2008)
* i386-dis.c (PREFIX_VEX_38DB): New.
(PREFIX_VEX_38DC): Likewise.
(PREFIX_VEX_38DD): Likewise.
(PREFIX_VEX_38DE): Likewise.
(PREFIX_VEX_38DF): Likewise.
(PREFIX_VEX_3ADF): Likewise.
(VEX_LEN_38DB_P_2): Likewise.
(VEX_LEN_38DC_P_2): Likewise.
(VEX_LEN_38DD_P_2): Likewise.
(VEX_LEN_38DE_P_2): Likewise.
(VEX_LEN_38DF_P_2): Likewise.
(VEX_LEN_3ADF_P_2): Likewise.
(PREFIX_VEX_3A04): Updated.
(VEX_LEN_3A06_P_2): Likewise.
(prefix_table): Add PREFIX_VEX_38DB, PREFIX_VEX_38DC,
PREFIX_VEX_38DD, PREFIX_VEX_38DE and PREFIX_VEX_3ADF.
(x86_64_table): Likewise.
(vex_len_table): Add VEX_LEN_38DB_P_2, VEX_LEN_38DC_P_2,
VEX_LEN_38DD_P_2, VEX_LEN_38DE_P_2, VEX_LEN_38DF_P_2 and
VEX_LEN_3ADF_P_2.

* i386-opc.tbl: Add AES + AVX instructions.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.

31 files changed:
gas/config/tc-i386.c
gas/testsuite/ChangeLog
gas/testsuite/gas/i386/arch-10-1.l
gas/testsuite/gas/i386/arch-10-2.l
gas/testsuite/gas/i386/arch-10-3.l
gas/testsuite/gas/i386/arch-10-4.l
gas/testsuite/gas/i386/arch-10.d
gas/testsuite/gas/i386/arch-10.s
gas/testsuite/gas/i386/arch-avx-1-1.l [new file with mode: 0644]
gas/testsuite/gas/i386/arch-avx-1-1.s [new file with mode: 0644]
gas/testsuite/gas/i386/arch-avx-1-2.l [new file with mode: 0644]
gas/testsuite/gas/i386/arch-avx-1-2.s [new file with mode: 0644]
gas/testsuite/gas/i386/arch-avx-1.d [new file with mode: 0644]
gas/testsuite/gas/i386/arch-avx-1.s [new file with mode: 0644]
gas/testsuite/gas/i386/avx-intel.d
gas/testsuite/gas/i386/avx.d
gas/testsuite/gas/i386/avx.s
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/sse2avx.d
gas/testsuite/gas/i386/sse2avx.s
gas/testsuite/gas/i386/x86-64-arch-2.d
gas/testsuite/gas/i386/x86-64-arch-2.s
gas/testsuite/gas/i386/x86-64-avx-intel.d
gas/testsuite/gas/i386/x86-64-avx.d
gas/testsuite/gas/i386/x86-64-avx.s
gas/testsuite/gas/i386/x86-64-sse2avx.d
gas/testsuite/gas/i386/x86-64-sse2avx.s
opcodes/ChangeLog
opcodes/i386-dis.c
opcodes/i386-opc.tbl
opcodes/i386-tbl.h

index 1e0e717..29ad7af 100644 (file)
@@ -1217,8 +1217,11 @@ cpu_flags_or (i386_cpu_flags x, i386_cpu_flags y)
 
 #define CPU_FLAGS_ARCH_MATCH           0x1
 #define CPU_FLAGS_64BIT_MATCH          0x2
+#define CPU_FLAGS_AES_MATCH            0x4
+#define CPU_FLAGS_AVX_MATCH            0x8
 
-#define CPU_FLAGS_32BIT_MATCH          CPU_FLAGS_ARCH_MATCH 
+#define CPU_FLAGS_32BIT_MATCH \
+  (CPU_FLAGS_ARCH_MATCH | CPU_FLAGS_AES_MATCH | CPU_FLAGS_AVX_MATCH)
 #define CPU_FLAGS_PERFECT_MATCH \
   (CPU_FLAGS_32BIT_MATCH | CPU_FLAGS_64BIT_MATCH)
 
@@ -1248,8 +1251,25 @@ cpu_flags_match (const template *t)
       cpu = cpu_flags_and (x, cpu);
       if (!cpu_flags_all_zero (&cpu))
        {
-         /* Check SSE2AVX  */
-         if (!t->opcode_modifier.sse2avx || sse2avx)
+         if (x.bitfield.cpuavx)
+           {
+             /* We only need to check AES/SSE2AVX with AVX.  */
+             if (cpu.bitfield.cpuavx)
+               {
+                 /* Check SSE2AVX.  */
+                 if (!t->opcode_modifier.sse2avx|| sse2avx)
+                   {
+                     match |= (CPU_FLAGS_ARCH_MATCH
+                               | CPU_FLAGS_AVX_MATCH);
+                     /* Check AES.  */
+                     if (!x.bitfield.cpuaes || cpu.bitfield.cpuaes)
+                       match |= CPU_FLAGS_AES_MATCH;
+                   }
+               }
+             else
+               match |= CPU_FLAGS_ARCH_MATCH;
+           }
+         else
            match |= CPU_FLAGS_32BIT_MATCH;
        }
     }
index 3c95264..8a44080 100644 (file)
@@ -1,3 +1,36 @@
+2008-08-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       AVX Programming Reference (August, 2008)
+       * gas/i386/avx.s: Add AES + AVX tests.
+       * gas/i386/arch-10.s: Likewise.
+       * gas/i386/sse2avx.s: Likewise.
+       * gas/i386/x86-64-arch-2.s: Likewise.
+       * gas/i386/x86-64-avx.s: Likewise.
+       * gas/i386/x86-64-sse2avx.s: Likewise.
+
+       * gas/i386/arch-10.d: Updated.
+       * gas/i386/arch-10-1.l: Likewise.
+       * gas/i386/arch-10-2.l: Likewise.
+       * gas/i386/arch-10-3.l: Likewise.
+       * gas/i386/arch-10-4.l: Likewise.
+       * gas/i386/avx.d: Likewise.
+       * gas/i386/avx-intel.d: Likewise.
+       * gas/i386/sse2avx.d: Likewise.
+       * gas/i386/x86-64-arch-2.d: Likewise.
+       * gas/i386/x86-64-avx.d: Likewise.
+       * gas/i386/x86-64-avx-intel.d: Likewise.
+       * gas/i386/x86-64-sse2avx.d: Likewise.
+
+       * gas/i386/i386.exp: Run arch-avx-1, arch-avx-1-1 and
+       arch-avx-1-2.
+
+       * gas/i386/arch-avx-1.d: New.
+       * gas/i386/arch-avx-1.s: Likewise.
+       * gas/i386/arch-avx-1-1.l: Likewise.
+       * gas/i386/arch-avx-1-1.s: Likewise.
+       * gas/i386/arch-avx-1-2.l: Likewise.
+       * gas/i386/arch-avx-1-2.s: Likewise.
+
 2008-08-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
        * gas/s390/esa-g5.d: lxr operands are floating point.
index 00ce939..706dbde 100644 (file)
@@ -23,6 +23,7 @@
 .*:46: Error: .*
 .*:48: Error: .*
 .*:50: Error: .*
+.*:52: Error: .*
 GAS LISTING .*
 
 
@@ -57,23 +58,25 @@ GAS LISTING .*
 [      ]*28[   ]+aesenc  \(%ecx\),%xmm0
 [      ]*29[   ]+\# PCLMUL
 [      ]*30[   ]+pclmulqdq \$8,%xmm1,%xmm0
-[      ]*31[   ]+\# FMA
-[      ]*32[   ]+vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
-[      ]*33[   ]+\# MOVBE
-[      ]*34[   ]+movbe   \(%ecx\),%ebx
-[      ]*35[   ]+\# EPT
-[      ]*36[   ]+invept  \(%ecx\),%ebx
-[      ]*37[   ]+\# 3DNow
-[      ]*38[   ]+pmulhrw %mm4,%mm3
-[      ]*39[   ]+\# 3DNow Extensions
-[      ]*40[   ]+pswapd %mm4,%mm3
-[      ]*41[   ]+\# SSE4a
-[      ]*42[   ]+insertq %xmm2,%xmm1
-[      ]*43[   ]+\# SVME
-[      ]*44[   ]+vmload
-[      ]*45[   ]+\# ABM
-[      ]*46[   ]+lzcnt %ecx,%ebx
-[      ]*47[   ]+\# SSE5
-[      ]*48[   ]+frczss          %xmm2, %xmm1
-[      ]*49[   ]+\# PadLock
-[      ]*50[   ]+xstorerng
+[      ]*31[   ]+\# AES \+ AVX
+[      ]*32[   ]+vaesenc  \(%ecx\),%xmm0,%xmm2
+[      ]*33[   ]+\# FMA
+[      ]*34[   ]+vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
+[      ]*35[   ]+\# MOVBE
+[      ]*36[   ]+movbe   \(%ecx\),%ebx
+[      ]*37[   ]+\# EPT
+[      ]*38[   ]+invept  \(%ecx\),%ebx
+[      ]*39[   ]+\# 3DNow
+[      ]*40[   ]+pmulhrw %mm4,%mm3
+[      ]*41[   ]+\# 3DNow Extensions
+[      ]*42[   ]+pswapd %mm4,%mm3
+[      ]*43[   ]+\# SSE4a
+[      ]*44[   ]+insertq %xmm2,%xmm1
+[      ]*45[   ]+\# SVME
+[      ]*46[   ]+vmload
+[      ]*47[   ]+\# ABM
+[      ]*48[   ]+lzcnt %ecx,%ebx
+[      ]*49[   ]+\# SSE5
+[      ]*50[   ]+frczss          %xmm2, %xmm1
+[      ]*51[   ]+\# PadLock
+[      ]*52[   ]+xstorerng
index dd8650f..621d06b 100644 (file)
@@ -22,6 +22,7 @@
 .*:46: Error: .*
 .*:48: Error: .*
 .*:50: Error: .*
+.*:52: Error: .*
 GAS LISTING .*
 
 
@@ -56,23 +57,25 @@ GAS LISTING .*
 [      ]*28[   ]+aesenc  \(%ecx\),%xmm0
 [      ]*29[   ]+\# PCLMUL
 [      ]*30[   ]+pclmulqdq \$8,%xmm1,%xmm0
-[      ]*31[   ]+\# FMA
-[      ]*32[   ]+vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
-[      ]*33[   ]+\# MOVBE
-[      ]*34[   ]+movbe   \(%ecx\),%ebx
-[      ]*35[   ]+\# EPT
-[      ]*36[   ]+invept  \(%ecx\),%ebx
-[      ]*37[   ]+\# 3DNow
-[      ]*38[   ]+pmulhrw %mm4,%mm3
-[      ]*39[   ]+\# 3DNow Extensions
-[      ]*40[   ]+pswapd %mm4,%mm3
-[      ]*41[   ]+\# SSE4a
-[      ]*42[   ]+insertq %xmm2,%xmm1
-[      ]*43[   ]+\# SVME
-[      ]*44[   ]+vmload
-[      ]*45[   ]+\# ABM
-[      ]*46[   ]+lzcnt %ecx,%ebx
-[      ]*47[   ]+\# SSE5
-[      ]*48[   ]+frczss          %xmm2, %xmm1
-[      ]*49[   ]+\# PadLock
-[      ]*50[   ]+xstorerng
+[      ]*31[   ]+\# AES \+ AVX
+[      ]*32[   ]+vaesenc  \(%ecx\),%xmm0,%xmm2
+[      ]*33[   ]+\# FMA
+[      ]*34[   ]+vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
+[      ]*35[   ]+\# MOVBE
+[      ]*36[   ]+movbe   \(%ecx\),%ebx
+[      ]*37[   ]+\# EPT
+[      ]*38[   ]+invept  \(%ecx\),%ebx
+[      ]*39[   ]+\# 3DNow
+[      ]*40[   ]+pmulhrw %mm4,%mm3
+[      ]*41[   ]+\# 3DNow Extensions
+[      ]*42[   ]+pswapd %mm4,%mm3
+[      ]*43[   ]+\# SSE4a
+[      ]*44[   ]+insertq %xmm2,%xmm1
+[      ]*45[   ]+\# SVME
+[      ]*46[   ]+vmload
+[      ]*47[   ]+\# ABM
+[      ]*48[   ]+lzcnt %ecx,%ebx
+[      ]*49[   ]+\# SSE5
+[      ]*50[   ]+frczss          %xmm2, %xmm1
+[      ]*51[   ]+\# PadLock
+[      ]*52[   ]+xstorerng
index ec53735..8e58487 100644 (file)
@@ -15,6 +15,7 @@
 .*:46: Error: .*
 .*:48: Error: .*
 .*:50: Error: .*
+.*:52: Error: .*
 GAS LISTING .*
 
 
@@ -52,23 +53,25 @@ GAS LISTING .*
 [      ]*28[   ]+aesenc  \(%ecx\),%xmm0
 [      ]*29[   ]+\# PCLMUL
 [      ]*30[   ]+pclmulqdq \$8,%xmm1,%xmm0
-[      ]*31[   ]+\# FMA
-[      ]*32[   ]+vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
-[      ]*33[   ]+\# MOVBE
-[      ]*34[   ]+movbe   \(%ecx\),%ebx
-[      ]*35[   ]+\# EPT
-[      ]*36[   ]+invept  \(%ecx\),%ebx
-[      ]*37[   ]+\# 3DNow
-[      ]*38[   ]+pmulhrw %mm4,%mm3
-[      ]*39[   ]+\# 3DNow Extensions
-[      ]*40[   ]+pswapd %mm4,%mm3
-[      ]*41[   ]+\# SSE4a
-[      ]*42[   ]+insertq %xmm2,%xmm1
-[      ]*43[   ]+\# SVME
-[      ]*44[   ]+vmload
-[      ]*45[   ]+\# ABM
-[      ]*46[   ]+lzcnt %ecx,%ebx
-[      ]*47[   ]+\# SSE5
-[      ]*48[   ]+frczss          %xmm2, %xmm1
-[      ]*49[   ]+\# PadLock
-[      ]*50[   ]+xstorerng
+[      ]*31[   ]+\# AES \+ AVX
+[      ]*32[   ]+vaesenc  \(%ecx\),%xmm0,%xmm2
+[      ]*33[   ]+\# FMA
+[      ]*34[   ]+vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
+[      ]*35[   ]+\# MOVBE
+[      ]*36[   ]+movbe   \(%ecx\),%ebx
+[      ]*37[   ]+\# EPT
+[      ]*38[   ]+invept  \(%ecx\),%ebx
+[      ]*39[   ]+\# 3DNow
+[      ]*40[   ]+pmulhrw %mm4,%mm3
+[      ]*41[   ]+\# 3DNow Extensions
+[      ]*42[   ]+pswapd %mm4,%mm3
+[      ]*43[   ]+\# SSE4a
+[      ]*44[   ]+insertq %xmm2,%xmm1
+[      ]*45[   ]+\# SVME
+[      ]*46[   ]+vmload
+[      ]*47[   ]+\# ABM
+[      ]*48[   ]+lzcnt %ecx,%ebx
+[      ]*49[   ]+\# SSE5
+[      ]*50[   ]+frczss          %xmm2, %xmm1
+[      ]*51[   ]+\# PadLock
+[      ]*52[   ]+xstorerng
index 10e7db3..6356ba1 100644 (file)
@@ -13,6 +13,7 @@
 .*:46: Error: .*
 .*:48: Error: .*
 .*:50: Error: .*
+.*:52: Error: .*
 GAS LISTING .*
 
 
@@ -50,23 +51,25 @@ GAS LISTING .*
 [      ]*28[   ]+aesenc  \(%ecx\),%xmm0
 [      ]*29[   ]+\# PCLMUL
 [      ]*30[   ]+pclmulqdq \$8,%xmm1,%xmm0
-[      ]*31[   ]+\# FMA
-[      ]*32[   ]+vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
-[      ]*33[   ]+\# MOVBE
-[      ]*34[   ]+movbe   \(%ecx\),%ebx
-[      ]*35[   ]+\# EPT
-[      ]*36[   ]+invept  \(%ecx\),%ebx
-[      ]*37[   ]+\# 3DNow
-[      ]*38[   ]+pmulhrw %mm4,%mm3
-[      ]*39[   ]+\# 3DNow Extensions
-[      ]*40[   ]+pswapd %mm4,%mm3
-[      ]*41[   ]+\# SSE4a
-[      ]*42[   ]+insertq %xmm2,%xmm1
-[      ]*43[   ]+\# SVME
-[      ]*44[   ]+vmload
-[      ]*45[   ]+\# ABM
-[      ]*46[   ]+lzcnt %ecx,%ebx
-[      ]*47[   ]+\# SSE5
-[      ]*48[   ]+frczss          %xmm2, %xmm1
-[      ]*49[   ]+\# PadLock
-[      ]*50[   ]+xstorerng
+[      ]*31[   ]+\# AES \+ AVX
+[      ]*32[   ]+vaesenc  \(%ecx\),%xmm0,%xmm2
+[      ]*33[   ]+\# FMA
+[      ]*34[   ]+vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
+[      ]*35[   ]+\# MOVBE
+[      ]*36[   ]+movbe   \(%ecx\),%ebx
+[      ]*37[   ]+\# EPT
+[      ]*38[   ]+invept  \(%ecx\),%ebx
+[      ]*39[   ]+\# 3DNow
+[      ]*40[   ]+pmulhrw %mm4,%mm3
+[      ]*41[   ]+\# 3DNow Extensions
+[      ]*42[   ]+pswapd %mm4,%mm3
+[      ]*43[   ]+\# SSE4a
+[      ]*44[   ]+insertq %xmm2,%xmm1
+[      ]*45[   ]+\# SVME
+[      ]*46[   ]+vmload
+[      ]*47[   ]+\# ABM
+[      ]*48[   ]+lzcnt %ecx,%ebx
+[      ]*49[   ]+\# SSE5
+[      ]*50[   ]+frczss          %xmm2, %xmm1
+[      ]*51[   ]+\# PadLock
+[      ]*52[   ]+xstorerng
index 50f046a..dc730bd 100644 (file)
@@ -21,6 +21,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
 [      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%ecx\),%xmm0
 [      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
+[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%ecx\),%xmm0,%xmm2
 [      ]*[a-f0-9]+:    c4 e3 cd 69 fc 20       vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
 [      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%ecx\),%ebx
 [      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%ecx\),%ebx
index 08fe0a5..32954c9 100644 (file)
@@ -28,6 +28,8 @@ xgetbv
 aesenc  (%ecx),%xmm0
 # PCLMUL
 pclmulqdq $8,%xmm1,%xmm0
+# AES + AVX
+vaesenc  (%ecx),%xmm0,%xmm2
 # FMA
 vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
 # MOVBE
diff --git a/gas/testsuite/gas/i386/arch-avx-1-1.l b/gas/testsuite/gas/i386/arch-avx-1-1.l
new file mode 100644 (file)
index 0000000..b1f8fb0
--- /dev/null
@@ -0,0 +1,10 @@
+.*: Assembler messages:
+.*:4: Error: .*
+GAS LISTING .*
+
+
+[      ]*1[    ]+\.include "arch-avx-1\.s"
+[      ]*1[    ]+\# Test -march=
+[      ]*2[    ]+\.text
+[      ]*3[    ]+\# AES \+ AVX
+[      ]*4[    ]+vaesenc  \(%ecx\),%xmm0,%xmm2
diff --git a/gas/testsuite/gas/i386/arch-avx-1-1.s b/gas/testsuite/gas/i386/arch-avx-1-1.s
new file mode 100644 (file)
index 0000000..8c40548
--- /dev/null
@@ -0,0 +1 @@
+.include "arch-avx-1.s"
diff --git a/gas/testsuite/gas/i386/arch-avx-1-2.l b/gas/testsuite/gas/i386/arch-avx-1-2.l
new file mode 100644 (file)
index 0000000..b1f8fb0
--- /dev/null
@@ -0,0 +1,10 @@
+.*: Assembler messages:
+.*:4: Error: .*
+GAS LISTING .*
+
+
+[      ]*1[    ]+\.include "arch-avx-1\.s"
+[      ]*1[    ]+\# Test -march=
+[      ]*2[    ]+\.text
+[      ]*3[    ]+\# AES \+ AVX
+[      ]*4[    ]+vaesenc  \(%ecx\),%xmm0,%xmm2
diff --git a/gas/testsuite/gas/i386/arch-avx-1-2.s b/gas/testsuite/gas/i386/arch-avx-1-2.s
new file mode 100644 (file)
index 0000000..8c40548
--- /dev/null
@@ -0,0 +1 @@
+.include "arch-avx-1.s"
diff --git a/gas/testsuite/gas/i386/arch-avx-1.d b/gas/testsuite/gas/i386/arch-avx-1.d
new file mode 100644 (file)
index 0000000..b0af891
--- /dev/null
@@ -0,0 +1,11 @@
+#as: -march=generic32+avx+aes
+#objdump: -dw
+#name: i386 arch avx 1
+
+.*:     file format .*
+
+Disassembly of section .text:
+
+0+ <.text>:
+[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%ecx\),%xmm0,%xmm2
+#pass
diff --git a/gas/testsuite/gas/i386/arch-avx-1.s b/gas/testsuite/gas/i386/arch-avx-1.s
new file mode 100644 (file)
index 0000000..de77301
--- /dev/null
@@ -0,0 +1,4 @@
+# Test -march=
+       .text
+# AES + AVX
+vaesenc  (%ecx),%xmm0,%xmm2
index 990876a..ddf6f6e 100644 (file)
@@ -375,6 +375,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 f9 51 21             vsqrtpd xmm4,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c5 f8 51 f4             vsqrtps xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 f8 51 21             vsqrtps xmm4,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e2 79 db f4          vaesimc xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 79 db 21          vaesimc xmm4,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c5 f9 28 f4             vmovapd xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 f9 29 21             vmovapd XMMWORD PTR \[ecx\],xmm4
 [      ]*[a-f0-9]+:    c5 f8 28 f4             vmovaps xmm6,xmm4
@@ -624,6 +626,14 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 57 39             vxorpd xmm7,xmm6,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c5 c8 57 d4             vxorps xmm2,xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 c8 57 39             vxorps xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e2 49 dc d4          vaesenc xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 49 dc 39          vaesenc xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e2 49 dd d4          vaesenclast xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 49 dd 39          vaesenclast xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e2 49 de d4          vaesdec xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 49 de 39          vaesdec xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e2 49 df d4          vaesdeclast xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 49 df 39          vaesdeclast xmm7,xmm6,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c5 c9 c2 d4 00          vcmpeqpd xmm2,xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 c9 c2 39 00          vcmpeqpd xmm7,xmm6,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c5 c9 c2 d4 01          vcmpltpd xmm2,xmm6,xmm4
@@ -754,6 +764,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c8 c2 39 1f          vcmptrue_usps xmm7,xmm6,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c4 e2 59 2c 31          vmaskmovps xmm6,xmm4,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c4 e2 59 2d 31          vmaskmovpd xmm6,xmm4,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e3 79 df f4 64       vaeskeygenassist xmm6,xmm4,0x64
+[      ]*[a-f0-9]+:    c4 e3 79 df 31 64       vaeskeygenassist xmm6,XMMWORD PTR \[ecx\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 61 f4 64       vpcmpestri xmm6,xmm4,0x64
 [      ]*[a-f0-9]+:    c4 e3 79 61 31 64       vpcmpestri xmm6,XMMWORD PTR \[ecx\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 60 f4 64       vpcmpestrm xmm6,xmm4,0x64
@@ -1188,6 +1200,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 05 34 12 00 00         vcvtdq2pd ymm0,XMMWORD PTR ds:0x1234
 [      ]*[a-f0-9]+:    c5 fd 5a 05 34 12 00 00         vcvtpd2ps xmm0,YMMWORD PTR ds:0x1234
 [      ]*[a-f0-9]+:    c5 f9 e0 3d 34 12 00 00         vpavgb xmm7,xmm0,XMMWORD PTR ds:0x1234
+[      ]*[a-f0-9]+:    c4 e3 79 df 05 34 12 00 00 64   vaeskeygenassist xmm0,XMMWORD PTR ds:0x1234,0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 05 34 12 00 00 64   vpextrb BYTE PTR ds:0x1234,xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a 3d 34 12 00 00         vcvtsi2sd xmm7,xmm0,DWORD PTR ds:0x1234
 [      ]*[a-f0-9]+:    c4 e3 59 4a 35 34 12 00 00 00   vblendvps xmm6,xmm4,XMMWORD PTR ds:0x1234,xmm0
@@ -1207,6 +1220,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 45 00          vcvtdq2pd ymm0,XMMWORD PTR \[ebp\+0x0\]
 [      ]*[a-f0-9]+:    c5 fd 5a 45 00          vcvtpd2ps xmm0,YMMWORD PTR \[ebp\+0x0\]
 [      ]*[a-f0-9]+:    c5 f9 e0 7d 00          vpavgb xmm7,xmm0,XMMWORD PTR \[ebp\+0x0\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 45 00 64    vaeskeygenassist xmm0,XMMWORD PTR \[ebp\+0x0\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 45 00 64    vpextrb BYTE PTR \[ebp\+0x0\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a 7d 00          vcvtsi2sd xmm7,xmm0,DWORD PTR \[ebp\+0x0\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a 75 00 00    vblendvps xmm6,xmm4,XMMWORD PTR \[ebp\+0x0\],xmm0
@@ -1226,6 +1240,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 04 24          vcvtdq2pd ymm0,XMMWORD PTR \[esp\]
 [      ]*[a-f0-9]+:    c5 fd 5a 04 24          vcvtpd2ps xmm0,YMMWORD PTR \[esp\]
 [      ]*[a-f0-9]+:    c5 f9 e0 3c 24          vpavgb xmm7,xmm0,XMMWORD PTR \[esp\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 04 24 64    vaeskeygenassist xmm0,XMMWORD PTR \[esp\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 24 64    vpextrb BYTE PTR \[esp\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a 3c 24          vcvtsi2sd xmm7,xmm0,DWORD PTR \[esp\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a 34 24 00    vblendvps xmm6,xmm4,XMMWORD PTR \[esp\],xmm0
@@ -1245,6 +1260,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 85 99 00 00 00         vcvtdq2pd ymm0,XMMWORD PTR \[ebp\+0x99\]
 [      ]*[a-f0-9]+:    c5 fd 5a 85 99 00 00 00         vcvtpd2ps xmm0,YMMWORD PTR \[ebp\+0x99\]
 [      ]*[a-f0-9]+:    c5 f9 e0 bd 99 00 00 00         vpavgb xmm7,xmm0,XMMWORD PTR \[ebp\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 85 99 00 00 00 64   vaeskeygenassist xmm0,XMMWORD PTR \[ebp\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 85 99 00 00 00 64   vpextrb BYTE PTR \[ebp\+0x99\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a bd 99 00 00 00         vcvtsi2sd xmm7,xmm0,DWORD PTR \[ebp\+0x99\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a b5 99 00 00 00 00   vblendvps xmm6,xmm4,XMMWORD PTR \[ebp\+0x99\],xmm0
@@ -1264,6 +1280,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 04 25 99 00 00 00      vcvtdq2pd ymm0,XMMWORD PTR \[eiz\*1\+0x99\]
 [      ]*[a-f0-9]+:    c5 fd 5a 04 25 99 00 00 00      vcvtpd2ps xmm0,YMMWORD PTR \[eiz\*1\+0x99\]
 [      ]*[a-f0-9]+:    c5 f9 e0 3c 25 99 00 00 00      vpavgb xmm7,xmm0,XMMWORD PTR \[eiz\*1\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 04 25 99 00 00 00 64        vaeskeygenassist xmm0,XMMWORD PTR \[eiz\*1\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 25 99 00 00 00 64        vpextrb BYTE PTR \[eiz\*1\+0x99\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a 3c 25 99 00 00 00      vcvtsi2sd xmm7,xmm0,DWORD PTR \[eiz\*1\+0x99\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a 34 25 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eiz\*1\+0x99\],xmm0
@@ -1283,6 +1300,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 04 65 99 00 00 00      vcvtdq2pd ymm0,XMMWORD PTR \[eiz\*2\+0x99\]
 [      ]*[a-f0-9]+:    c5 fd 5a 04 65 99 00 00 00      vcvtpd2ps xmm0,YMMWORD PTR \[eiz\*2\+0x99\]
 [      ]*[a-f0-9]+:    c5 f9 e0 3c 65 99 00 00 00      vpavgb xmm7,xmm0,XMMWORD PTR \[eiz\*2\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 04 65 99 00 00 00 64        vaeskeygenassist xmm0,XMMWORD PTR \[eiz\*2\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 65 99 00 00 00 64        vpextrb BYTE PTR \[eiz\*2\+0x99\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a 3c 65 99 00 00 00      vcvtsi2sd xmm7,xmm0,DWORD PTR \[eiz\*2\+0x99\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a 34 65 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eiz\*2\+0x99\],xmm0
@@ -1302,6 +1320,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 20 99 00 00 00      vcvtdq2pd ymm0,XMMWORD PTR \[eax\+eiz\*1\+0x99\]
 [      ]*[a-f0-9]+:    c5 fd 5a 84 20 99 00 00 00      vcvtpd2ps xmm0,YMMWORD PTR \[eax\+eiz\*1\+0x99\]
 [      ]*[a-f0-9]+:    c5 f9 e0 bc 20 99 00 00 00      vpavgb xmm7,xmm0,XMMWORD PTR \[eax\+eiz\*1\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 20 99 00 00 00 64        vaeskeygenassist xmm0,XMMWORD PTR \[eax\+eiz\*1\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 20 99 00 00 00 64        vpextrb BYTE PTR \[eax\+eiz\*1\+0x99\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a bc 20 99 00 00 00      vcvtsi2sd xmm7,xmm0,DWORD PTR \[eax\+eiz\*1\+0x99\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 20 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eax\+eiz\*1\+0x99\],xmm0
@@ -1321,6 +1340,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 60 99 00 00 00      vcvtdq2pd ymm0,XMMWORD PTR \[eax\+eiz\*2\+0x99\]
 [      ]*[a-f0-9]+:    c5 fd 5a 84 60 99 00 00 00      vcvtpd2ps xmm0,YMMWORD PTR \[eax\+eiz\*2\+0x99\]
 [      ]*[a-f0-9]+:    c5 f9 e0 bc 60 99 00 00 00      vpavgb xmm7,xmm0,XMMWORD PTR \[eax\+eiz\*2\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 60 99 00 00 00 64        vaeskeygenassist xmm0,XMMWORD PTR \[eax\+eiz\*2\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 60 99 00 00 00 64        vpextrb BYTE PTR \[eax\+eiz\*2\+0x99\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a bc 60 99 00 00 00      vcvtsi2sd xmm7,xmm0,DWORD PTR \[eax\+eiz\*2\+0x99\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 60 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eax\+eiz\*2\+0x99\],xmm0
@@ -1340,6 +1360,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 98 99 00 00 00      vcvtdq2pd ymm0,XMMWORD PTR \[eax\+ebx\*4\+0x99\]
 [      ]*[a-f0-9]+:    c5 fd 5a 84 98 99 00 00 00      vcvtpd2ps xmm0,YMMWORD PTR \[eax\+ebx\*4\+0x99\]
 [      ]*[a-f0-9]+:    c5 f9 e0 bc 98 99 00 00 00      vpavgb xmm7,xmm0,XMMWORD PTR \[eax\+ebx\*4\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 98 99 00 00 00 64        vaeskeygenassist xmm0,XMMWORD PTR \[eax\+ebx\*4\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 98 99 00 00 00 64        vpextrb BYTE PTR \[eax\+ebx\*4\+0x99\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a bc 98 99 00 00 00      vcvtsi2sd xmm7,xmm0,DWORD PTR \[eax\+ebx\*4\+0x99\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 98 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eax\+ebx\*4\+0x99\],xmm0
@@ -1359,6 +1380,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 cc 99 00 00 00      vcvtdq2pd ymm0,XMMWORD PTR \[esp\+ecx\*8\+0x99\]
 [      ]*[a-f0-9]+:    c5 fd 5a 84 cc 99 00 00 00      vcvtpd2ps xmm0,YMMWORD PTR \[esp\+ecx\*8\+0x99\]
 [      ]*[a-f0-9]+:    c5 f9 e0 bc cc 99 00 00 00      vpavgb xmm7,xmm0,XMMWORD PTR \[esp\+ecx\*8\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 cc 99 00 00 00 64        vaeskeygenassist xmm0,XMMWORD PTR \[esp\+ecx\*8\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 cc 99 00 00 00 64        vpextrb BYTE PTR \[esp\+ecx\*8\+0x99\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a bc cc 99 00 00 00      vcvtsi2sd xmm7,xmm0,DWORD PTR \[esp\+ecx\*8\+0x99\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 cc 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[esp\+ecx\*8\+0x99\],xmm0
@@ -1378,6 +1400,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 15 99 00 00 00      vcvtdq2pd ymm0,XMMWORD PTR \[ebp\+edx\*1\+0x99\]
 [      ]*[a-f0-9]+:    c5 fd 5a 84 15 99 00 00 00      vcvtpd2ps xmm0,YMMWORD PTR \[ebp\+edx\*1\+0x99\]
 [      ]*[a-f0-9]+:    c5 f9 e0 bc 15 99 00 00 00      vpavgb xmm7,xmm0,XMMWORD PTR \[ebp\+edx\*1\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 15 99 00 00 00 64        vaeskeygenassist xmm0,XMMWORD PTR \[ebp\+edx\*1\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 15 99 00 00 00 64        vpextrb BYTE PTR \[ebp\+edx\*1\+0x99\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a bc 15 99 00 00 00      vcvtsi2sd xmm7,xmm0,DWORD PTR \[ebp\+edx\*1\+0x99\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 15 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[ebp\+edx\*1\+0x99\],xmm0
@@ -1939,6 +1962,9 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 f8 51 f4             vsqrtps xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 f8 51 21             vsqrtps xmm4,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c5 f8 51 21             vsqrtps xmm4,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e2 79 db f4          vaesimc xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 79 db 21          vaesimc xmm4,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e2 79 db 21          vaesimc xmm4,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c5 f9 28 f4             vmovapd xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 f9 29 21             vmovapd XMMWORD PTR \[ecx\],xmm4
 [      ]*[a-f0-9]+:    c5 f9 29 21             vmovapd XMMWORD PTR \[ecx\],xmm4
@@ -2315,6 +2341,18 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c8 57 d4             vxorps xmm2,xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 c8 57 39             vxorps xmm7,xmm6,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c5 c8 57 39             vxorps xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e2 49 dc d4          vaesenc xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 49 dc 39          vaesenc xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e2 49 dc 39          vaesenc xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e2 49 dd d4          vaesenclast xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 49 dd 39          vaesenclast xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e2 49 dd 39          vaesenclast xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e2 49 de d4          vaesdec xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 49 de 39          vaesdec xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e2 49 de 39          vaesdec xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e2 49 df d4          vaesdeclast xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 49 df 39          vaesdeclast xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e2 49 df 39          vaesdeclast xmm7,xmm6,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c5 c9 c2 d4 00          vcmpeqpd xmm2,xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 c9 c2 39 00          vcmpeqpd xmm7,xmm6,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c5 c9 c2 39 00          vcmpeqpd xmm7,xmm6,XMMWORD PTR \[ecx\]
@@ -2511,6 +2549,9 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e2 59 2c 31          vmaskmovps xmm6,xmm4,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c4 e2 59 2d 31          vmaskmovpd xmm6,xmm4,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c4 e2 59 2d 31          vmaskmovpd xmm6,xmm4,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e3 79 df f4 64       vaeskeygenassist xmm6,xmm4,0x64
+[      ]*[a-f0-9]+:    c4 e3 79 df 31 64       vaeskeygenassist xmm6,XMMWORD PTR \[ecx\],0x64
+[      ]*[a-f0-9]+:    c4 e3 79 df 31 64       vaeskeygenassist xmm6,XMMWORD PTR \[ecx\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 61 f4 64       vpcmpestri xmm6,xmm4,0x64
 [      ]*[a-f0-9]+:    c4 e3 79 61 31 64       vpcmpestri xmm6,XMMWORD PTR \[ecx\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 61 31 64       vpcmpestri xmm6,XMMWORD PTR \[ecx\],0x64
@@ -3169,6 +3210,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 05 34 12 00 00         vcvtdq2pd ymm0,XMMWORD PTR ds:0x1234
 [      ]*[a-f0-9]+:    c5 fd 5a 05 34 12 00 00         vcvtpd2ps xmm0,YMMWORD PTR ds:0x1234
 [      ]*[a-f0-9]+:    c5 f9 e0 3d 34 12 00 00         vpavgb xmm7,xmm0,XMMWORD PTR ds:0x1234
+[      ]*[a-f0-9]+:    c4 e3 79 df 05 34 12 00 00 64   vaeskeygenassist xmm0,XMMWORD PTR ds:0x1234,0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 05 34 12 00 00 64   vpextrb BYTE PTR ds:0x1234,xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a 3d 34 12 00 00         vcvtsi2sd xmm7,xmm0,DWORD PTR ds:0x1234
 [      ]*[a-f0-9]+:    c4 e3 59 4a 35 34 12 00 00 00   vblendvps xmm6,xmm4,XMMWORD PTR ds:0x1234,xmm0
@@ -3188,6 +3230,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 45 00          vcvtdq2pd ymm0,XMMWORD PTR \[ebp\+0x0\]
 [      ]*[a-f0-9]+:    c5 fd 5a 45 00          vcvtpd2ps xmm0,YMMWORD PTR \[ebp\+0x0\]
 [      ]*[a-f0-9]+:    c5 f9 e0 7d 00          vpavgb xmm7,xmm0,XMMWORD PTR \[ebp\+0x0\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 45 00 64    vaeskeygenassist xmm0,XMMWORD PTR \[ebp\+0x0\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 45 00 64    vpextrb BYTE PTR \[ebp\+0x0\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a 7d 00          vcvtsi2sd xmm7,xmm0,DWORD PTR \[ebp\+0x0\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a 75 00 00    vblendvps xmm6,xmm4,XMMWORD PTR \[ebp\+0x0\],xmm0
@@ -3207,6 +3250,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 85 99 00 00 00         vcvtdq2pd ymm0,XMMWORD PTR \[ebp\+0x99\]
 [      ]*[a-f0-9]+:    c5 fd 5a 85 99 00 00 00         vcvtpd2ps xmm0,YMMWORD PTR \[ebp\+0x99\]
 [      ]*[a-f0-9]+:    c5 f9 e0 bd 99 00 00 00         vpavgb xmm7,xmm0,XMMWORD PTR \[ebp\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 85 99 00 00 00 64   vaeskeygenassist xmm0,XMMWORD PTR \[ebp\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 85 99 00 00 00 64   vpextrb BYTE PTR \[ebp\+0x99\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a bd 99 00 00 00         vcvtsi2sd xmm7,xmm0,DWORD PTR \[ebp\+0x99\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a b5 99 00 00 00 00   vblendvps xmm6,xmm4,XMMWORD PTR \[ebp\+0x99\],xmm0
@@ -3226,6 +3270,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 04 25 99 00 00 00      vcvtdq2pd ymm0,XMMWORD PTR \[eiz\*1\+0x99\]
 [      ]*[a-f0-9]+:    c5 fd 5a 04 25 99 00 00 00      vcvtpd2ps xmm0,YMMWORD PTR \[eiz\*1\+0x99\]
 [      ]*[a-f0-9]+:    c5 f9 e0 3c 25 99 00 00 00      vpavgb xmm7,xmm0,XMMWORD PTR \[eiz\*1\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 04 25 99 00 00 00 64        vaeskeygenassist xmm0,XMMWORD PTR \[eiz\*1\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 25 99 00 00 00 64        vpextrb BYTE PTR \[eiz\*1\+0x99\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a 3c 25 99 00 00 00      vcvtsi2sd xmm7,xmm0,DWORD PTR \[eiz\*1\+0x99\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a 34 25 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eiz\*1\+0x99\],xmm0
@@ -3245,6 +3290,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 04 65 99 00 00 00      vcvtdq2pd ymm0,XMMWORD PTR \[eiz\*2\+0x99\]
 [      ]*[a-f0-9]+:    c5 fd 5a 04 65 99 00 00 00      vcvtpd2ps xmm0,YMMWORD PTR \[eiz\*2\+0x99\]
 [      ]*[a-f0-9]+:    c5 f9 e0 3c 65 99 00 00 00      vpavgb xmm7,xmm0,XMMWORD PTR \[eiz\*2\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 04 65 99 00 00 00 64        vaeskeygenassist xmm0,XMMWORD PTR \[eiz\*2\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 65 99 00 00 00 64        vpextrb BYTE PTR \[eiz\*2\+0x99\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a 3c 65 99 00 00 00      vcvtsi2sd xmm7,xmm0,DWORD PTR \[eiz\*2\+0x99\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a 34 65 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eiz\*2\+0x99\],xmm0
@@ -3264,6 +3310,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 20 99 00 00 00      vcvtdq2pd ymm0,XMMWORD PTR \[eax\+eiz\*1\+0x99\]
 [      ]*[a-f0-9]+:    c5 fd 5a 84 20 99 00 00 00      vcvtpd2ps xmm0,YMMWORD PTR \[eax\+eiz\*1\+0x99\]
 [      ]*[a-f0-9]+:    c5 f9 e0 bc 20 99 00 00 00      vpavgb xmm7,xmm0,XMMWORD PTR \[eax\+eiz\*1\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 20 99 00 00 00 64        vaeskeygenassist xmm0,XMMWORD PTR \[eax\+eiz\*1\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 20 99 00 00 00 64        vpextrb BYTE PTR \[eax\+eiz\*1\+0x99\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a bc 20 99 00 00 00      vcvtsi2sd xmm7,xmm0,DWORD PTR \[eax\+eiz\*1\+0x99\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 20 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eax\+eiz\*1\+0x99\],xmm0
@@ -3283,6 +3330,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 60 99 00 00 00      vcvtdq2pd ymm0,XMMWORD PTR \[eax\+eiz\*2\+0x99\]
 [      ]*[a-f0-9]+:    c5 fd 5a 84 60 99 00 00 00      vcvtpd2ps xmm0,YMMWORD PTR \[eax\+eiz\*2\+0x99\]
 [      ]*[a-f0-9]+:    c5 f9 e0 bc 60 99 00 00 00      vpavgb xmm7,xmm0,XMMWORD PTR \[eax\+eiz\*2\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 60 99 00 00 00 64        vaeskeygenassist xmm0,XMMWORD PTR \[eax\+eiz\*2\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 60 99 00 00 00 64        vpextrb BYTE PTR \[eax\+eiz\*2\+0x99\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a bc 60 99 00 00 00      vcvtsi2sd xmm7,xmm0,DWORD PTR \[eax\+eiz\*2\+0x99\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 60 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eax\+eiz\*2\+0x99\],xmm0
@@ -3302,6 +3350,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 98 99 00 00 00      vcvtdq2pd ymm0,XMMWORD PTR \[eax\+ebx\*4\+0x99\]
 [      ]*[a-f0-9]+:    c5 fd 5a 84 98 99 00 00 00      vcvtpd2ps xmm0,YMMWORD PTR \[eax\+ebx\*4\+0x99\]
 [      ]*[a-f0-9]+:    c5 f9 e0 bc 98 99 00 00 00      vpavgb xmm7,xmm0,XMMWORD PTR \[eax\+ebx\*4\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 98 99 00 00 00 64        vaeskeygenassist xmm0,XMMWORD PTR \[eax\+ebx\*4\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 98 99 00 00 00 64        vpextrb BYTE PTR \[eax\+ebx\*4\+0x99\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a bc 98 99 00 00 00      vcvtsi2sd xmm7,xmm0,DWORD PTR \[eax\+ebx\*4\+0x99\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 98 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eax\+ebx\*4\+0x99\],xmm0
@@ -3321,6 +3370,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 cc 99 00 00 00      vcvtdq2pd ymm0,XMMWORD PTR \[esp\+ecx\*8\+0x99\]
 [      ]*[a-f0-9]+:    c5 fd 5a 84 cc 99 00 00 00      vcvtpd2ps xmm0,YMMWORD PTR \[esp\+ecx\*8\+0x99\]
 [      ]*[a-f0-9]+:    c5 f9 e0 bc cc 99 00 00 00      vpavgb xmm7,xmm0,XMMWORD PTR \[esp\+ecx\*8\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 cc 99 00 00 00 64        vaeskeygenassist xmm0,XMMWORD PTR \[esp\+ecx\*8\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 cc 99 00 00 00 64        vpextrb BYTE PTR \[esp\+ecx\*8\+0x99\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a bc cc 99 00 00 00      vcvtsi2sd xmm7,xmm0,DWORD PTR \[esp\+ecx\*8\+0x99\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 cc 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[esp\+ecx\*8\+0x99\],xmm0
@@ -3340,6 +3390,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 15 99 00 00 00      vcvtdq2pd ymm0,XMMWORD PTR \[ebp\+edx\*1\+0x99\]
 [      ]*[a-f0-9]+:    c5 fd 5a 84 15 99 00 00 00      vcvtpd2ps xmm0,YMMWORD PTR \[ebp\+edx\*1\+0x99\]
 [      ]*[a-f0-9]+:    c5 f9 e0 bc 15 99 00 00 00      vpavgb xmm7,xmm0,XMMWORD PTR \[ebp\+edx\*1\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 15 99 00 00 00 64        vaeskeygenassist xmm0,XMMWORD PTR \[ebp\+edx\*1\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 15 99 00 00 00 64        vpextrb BYTE PTR \[ebp\+edx\*1\+0x99\],xmm0,0x64
 [      ]*[a-f0-9]+:    c5 fb 2a bc 15 99 00 00 00      vcvtsi2sd xmm7,xmm0,DWORD PTR \[ebp\+edx\*1\+0x99\]
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 15 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[ebp\+edx\*1\+0x99\],xmm0
index b284e8b..57ebb38 100644 (file)
@@ -374,6 +374,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 f9 51 21             vsqrtpd \(%ecx\),%xmm4
 [      ]*[a-f0-9]+:    c5 f8 51 f4             vsqrtps %xmm4,%xmm6
 [      ]*[a-f0-9]+:    c5 f8 51 21             vsqrtps \(%ecx\),%xmm4
+[      ]*[a-f0-9]+:    c4 e2 79 db f4          vaesimc %xmm4,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 79 db 21          vaesimc \(%ecx\),%xmm4
 [      ]*[a-f0-9]+:    c5 f9 28 f4             vmovapd %xmm4,%xmm6
 [      ]*[a-f0-9]+:    c5 f9 29 21             vmovapd %xmm4,\(%ecx\)
 [      ]*[a-f0-9]+:    c5 f8 28 f4             vmovaps %xmm4,%xmm6
@@ -623,6 +625,14 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 57 39             vxorpd \(%ecx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c8 57 d4             vxorps %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c8 57 39             vxorps \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 dc d4          vaesenc %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e2 49 dc 39          vaesenc \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 dd d4          vaesenclast %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e2 49 dd 39          vaesenclast \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 de d4          vaesdec %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e2 49 de 39          vaesdec \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 df d4          vaesdeclast %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e2 49 df 39          vaesdeclast \(%ecx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 c2 d4 00          vcmpeqpd %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 c2 39 00          vcmpeqpd \(%ecx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 c2 d4 01          vcmpltpd %xmm4,%xmm6,%xmm2
@@ -753,6 +763,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c8 c2 39 1f          vcmptrue_usps \(%ecx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c4 e2 59 2c 31          vmaskmovps \(%ecx\),%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e2 59 2d 31          vmaskmovpd \(%ecx\),%xmm4,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 79 df f4 64       vaeskeygenassist \$0x64,%xmm4,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 79 df 31 64       vaeskeygenassist \$0x64,\(%ecx\),%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 61 f4 64       vpcmpestri \$0x64,%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 61 31 64       vpcmpestri \$0x64,\(%ecx\),%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 60 f4 64       vpcmpestrm \$0x64,%xmm4,%xmm6
@@ -1187,6 +1199,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 05 34 12 00 00         vcvtdq2pd 0x1234,%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 05 34 12 00 00         vcvtpd2psy 0x1234,%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 3d 34 12 00 00         vpavgb 0x1234,%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 05 34 12 00 00 64   vaeskeygenassist \$0x64,0x1234,%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 05 34 12 00 00 64   vpextrb \$0x64,%xmm0,0x1234
 [      ]*[a-f0-9]+:    c5 fb 2a 3d 34 12 00 00         vcvtsi2sdl 0x1234,%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 35 34 12 00 00 00   vblendvps %xmm0,0x1234,%xmm4,%xmm6
@@ -1206,6 +1219,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 45 00          vcvtdq2pd 0x0\(%ebp\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 45 00          vcvtpd2psy 0x0\(%ebp\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 7d 00          vpavgb 0x0\(%ebp\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 45 00 64    vaeskeygenassist \$0x64,0x0\(%ebp\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 45 00 64    vpextrb \$0x64,%xmm0,0x0\(%ebp\)
 [      ]*[a-f0-9]+:    c5 fb 2a 7d 00          vcvtsi2sdl 0x0\(%ebp\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 75 00 00    vblendvps %xmm0,0x0\(%ebp\),%xmm4,%xmm6
@@ -1225,6 +1239,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 04 24          vcvtdq2pd \(%esp\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 04 24          vcvtpd2psy \(%esp\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 3c 24          vpavgb \(%esp\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 04 24 64    vaeskeygenassist \$0x64,\(%esp\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 24 64    vpextrb \$0x64,%xmm0,\(%esp\)
 [      ]*[a-f0-9]+:    c5 fb 2a 3c 24          vcvtsi2sdl \(%esp\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 34 24 00    vblendvps %xmm0,\(%esp\),%xmm4,%xmm6
@@ -1244,6 +1259,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 85 99 00 00 00         vcvtdq2pd 0x99\(%ebp\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 85 99 00 00 00         vcvtpd2psy 0x99\(%ebp\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 bd 99 00 00 00         vpavgb 0x99\(%ebp\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 85 99 00 00 00 64   vaeskeygenassist \$0x64,0x99\(%ebp\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 85 99 00 00 00 64   vpextrb \$0x64,%xmm0,0x99\(%ebp\)
 [      ]*[a-f0-9]+:    c5 fb 2a bd 99 00 00 00         vcvtsi2sdl 0x99\(%ebp\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b5 99 00 00 00 00   vblendvps %xmm0,0x99\(%ebp\),%xmm4,%xmm6
@@ -1263,6 +1279,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 04 25 99 00 00 00      vcvtdq2pd 0x99\(,%eiz,1\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 04 25 99 00 00 00      vcvtpd2psy 0x99\(,%eiz,1\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 3c 25 99 00 00 00      vpavgb 0x99\(,%eiz,1\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 04 25 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(,%eiz,1\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 25 99 00 00 00 64        vpextrb \$0x64,%xmm0,0x99\(,%eiz,1\)
 [      ]*[a-f0-9]+:    c5 fb 2a 3c 25 99 00 00 00      vcvtsi2sdl 0x99\(,%eiz,1\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 34 25 99 00 00 00 00        vblendvps %xmm0,0x99\(,%eiz,1\),%xmm4,%xmm6
@@ -1282,6 +1299,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 04 65 99 00 00 00      vcvtdq2pd 0x99\(,%eiz,2\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 04 65 99 00 00 00      vcvtpd2psy 0x99\(,%eiz,2\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 3c 65 99 00 00 00      vpavgb 0x99\(,%eiz,2\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 04 65 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(,%eiz,2\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 65 99 00 00 00 64        vpextrb \$0x64,%xmm0,0x99\(,%eiz,2\)
 [      ]*[a-f0-9]+:    c5 fb 2a 3c 65 99 00 00 00      vcvtsi2sdl 0x99\(,%eiz,2\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 34 65 99 00 00 00 00        vblendvps %xmm0,0x99\(,%eiz,2\),%xmm4,%xmm6
@@ -1301,6 +1319,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 20 99 00 00 00      vcvtdq2pd 0x99\(%eax,%eiz,1\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 84 20 99 00 00 00      vcvtpd2psy 0x99\(%eax,%eiz,1\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 bc 20 99 00 00 00      vpavgb 0x99\(%eax,%eiz,1\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 20 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(%eax,%eiz,1\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 20 99 00 00 00 64        vpextrb \$0x64,%xmm0,0x99\(%eax,%eiz,1\)
 [      ]*[a-f0-9]+:    c5 fb 2a bc 20 99 00 00 00      vcvtsi2sdl 0x99\(%eax,%eiz,1\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 20 99 00 00 00 00        vblendvps %xmm0,0x99\(%eax,%eiz,1\),%xmm4,%xmm6
@@ -1320,6 +1339,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 60 99 00 00 00      vcvtdq2pd 0x99\(%eax,%eiz,2\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 84 60 99 00 00 00      vcvtpd2psy 0x99\(%eax,%eiz,2\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 bc 60 99 00 00 00      vpavgb 0x99\(%eax,%eiz,2\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 60 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(%eax,%eiz,2\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 60 99 00 00 00 64        vpextrb \$0x64,%xmm0,0x99\(%eax,%eiz,2\)
 [      ]*[a-f0-9]+:    c5 fb 2a bc 60 99 00 00 00      vcvtsi2sdl 0x99\(%eax,%eiz,2\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 60 99 00 00 00 00        vblendvps %xmm0,0x99\(%eax,%eiz,2\),%xmm4,%xmm6
@@ -1339,6 +1359,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 98 99 00 00 00      vcvtdq2pd 0x99\(%eax,%ebx,4\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 84 98 99 00 00 00      vcvtpd2psy 0x99\(%eax,%ebx,4\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 bc 98 99 00 00 00      vpavgb 0x99\(%eax,%ebx,4\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 98 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(%eax,%ebx,4\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 98 99 00 00 00 64        vpextrb \$0x64,%xmm0,0x99\(%eax,%ebx,4\)
 [      ]*[a-f0-9]+:    c5 fb 2a bc 98 99 00 00 00      vcvtsi2sdl 0x99\(%eax,%ebx,4\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 98 99 00 00 00 00        vblendvps %xmm0,0x99\(%eax,%ebx,4\),%xmm4,%xmm6
@@ -1358,6 +1379,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 cc 99 00 00 00      vcvtdq2pd 0x99\(%esp,%ecx,8\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 84 cc 99 00 00 00      vcvtpd2psy 0x99\(%esp,%ecx,8\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 bc cc 99 00 00 00      vpavgb 0x99\(%esp,%ecx,8\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 cc 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(%esp,%ecx,8\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 cc 99 00 00 00 64        vpextrb \$0x64,%xmm0,0x99\(%esp,%ecx,8\)
 [      ]*[a-f0-9]+:    c5 fb 2a bc cc 99 00 00 00      vcvtsi2sdl 0x99\(%esp,%ecx,8\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 cc 99 00 00 00 00        vblendvps %xmm0,0x99\(%esp,%ecx,8\),%xmm4,%xmm6
@@ -1377,6 +1399,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 15 99 00 00 00      vcvtdq2pd 0x99\(%ebp,%edx,1\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 84 15 99 00 00 00      vcvtpd2psy 0x99\(%ebp,%edx,1\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 bc 15 99 00 00 00      vpavgb 0x99\(%ebp,%edx,1\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 15 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(%ebp,%edx,1\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 15 99 00 00 00 64        vpextrb \$0x64,%xmm0,0x99\(%ebp,%edx,1\)
 [      ]*[a-f0-9]+:    c5 fb 2a bc 15 99 00 00 00      vcvtsi2sdl 0x99\(%ebp,%edx,1\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 15 99 00 00 00 00        vblendvps %xmm0,0x99\(%ebp,%edx,1\),%xmm4,%xmm6
@@ -1938,6 +1961,9 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 f8 51 f4             vsqrtps %xmm4,%xmm6
 [      ]*[a-f0-9]+:    c5 f8 51 21             vsqrtps \(%ecx\),%xmm4
 [      ]*[a-f0-9]+:    c5 f8 51 21             vsqrtps \(%ecx\),%xmm4
+[      ]*[a-f0-9]+:    c4 e2 79 db f4          vaesimc %xmm4,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 79 db 21          vaesimc \(%ecx\),%xmm4
+[      ]*[a-f0-9]+:    c4 e2 79 db 21          vaesimc \(%ecx\),%xmm4
 [      ]*[a-f0-9]+:    c5 f9 28 f4             vmovapd %xmm4,%xmm6
 [      ]*[a-f0-9]+:    c5 f9 29 21             vmovapd %xmm4,\(%ecx\)
 [      ]*[a-f0-9]+:    c5 f9 29 21             vmovapd %xmm4,\(%ecx\)
@@ -2314,6 +2340,18 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c8 57 d4             vxorps %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c8 57 39             vxorps \(%ecx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c8 57 39             vxorps \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 dc d4          vaesenc %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e2 49 dc 39          vaesenc \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 dc 39          vaesenc \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 dd d4          vaesenclast %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e2 49 dd 39          vaesenclast \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 dd 39          vaesenclast \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 de d4          vaesdec %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e2 49 de 39          vaesdec \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 de 39          vaesdec \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 df d4          vaesdeclast %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e2 49 df 39          vaesdeclast \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 df 39          vaesdeclast \(%ecx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 c2 d4 00          vcmpeqpd %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 c2 39 00          vcmpeqpd \(%ecx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 c2 39 00          vcmpeqpd \(%ecx\),%xmm6,%xmm7
@@ -2510,6 +2548,9 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e2 59 2c 31          vmaskmovps \(%ecx\),%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e2 59 2d 31          vmaskmovpd \(%ecx\),%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e2 59 2d 31          vmaskmovpd \(%ecx\),%xmm4,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 79 df f4 64       vaeskeygenassist \$0x64,%xmm4,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 79 df 31 64       vaeskeygenassist \$0x64,\(%ecx\),%xmm6
+[      ]*[a-f0-9]+:    c4 e3 79 df 31 64       vaeskeygenassist \$0x64,\(%ecx\),%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 61 f4 64       vpcmpestri \$0x64,%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 61 31 64       vpcmpestri \$0x64,\(%ecx\),%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 61 31 64       vpcmpestri \$0x64,\(%ecx\),%xmm6
@@ -3168,6 +3209,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 05 34 12 00 00         vcvtdq2pd 0x1234,%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 05 34 12 00 00         vcvtpd2psy 0x1234,%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 3d 34 12 00 00         vpavgb 0x1234,%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 05 34 12 00 00 64   vaeskeygenassist \$0x64,0x1234,%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 05 34 12 00 00 64   vpextrb \$0x64,%xmm0,0x1234
 [      ]*[a-f0-9]+:    c5 fb 2a 3d 34 12 00 00         vcvtsi2sdl 0x1234,%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 35 34 12 00 00 00   vblendvps %xmm0,0x1234,%xmm4,%xmm6
@@ -3187,6 +3229,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 45 00          vcvtdq2pd 0x0\(%ebp\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 45 00          vcvtpd2psy 0x0\(%ebp\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 7d 00          vpavgb 0x0\(%ebp\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 45 00 64    vaeskeygenassist \$0x64,0x0\(%ebp\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 45 00 64    vpextrb \$0x64,%xmm0,0x0\(%ebp\)
 [      ]*[a-f0-9]+:    c5 fb 2a 7d 00          vcvtsi2sdl 0x0\(%ebp\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 75 00 00    vblendvps %xmm0,0x0\(%ebp\),%xmm4,%xmm6
@@ -3206,6 +3249,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 85 99 00 00 00         vcvtdq2pd 0x99\(%ebp\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 85 99 00 00 00         vcvtpd2psy 0x99\(%ebp\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 bd 99 00 00 00         vpavgb 0x99\(%ebp\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 85 99 00 00 00 64   vaeskeygenassist \$0x64,0x99\(%ebp\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 85 99 00 00 00 64   vpextrb \$0x64,%xmm0,0x99\(%ebp\)
 [      ]*[a-f0-9]+:    c5 fb 2a bd 99 00 00 00         vcvtsi2sdl 0x99\(%ebp\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b5 99 00 00 00 00   vblendvps %xmm0,0x99\(%ebp\),%xmm4,%xmm6
@@ -3225,6 +3269,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 04 25 99 00 00 00      vcvtdq2pd 0x99\(,%eiz,1\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 04 25 99 00 00 00      vcvtpd2psy 0x99\(,%eiz,1\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 3c 25 99 00 00 00      vpavgb 0x99\(,%eiz,1\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 04 25 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(,%eiz,1\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 25 99 00 00 00 64        vpextrb \$0x64,%xmm0,0x99\(,%eiz,1\)
 [      ]*[a-f0-9]+:    c5 fb 2a 3c 25 99 00 00 00      vcvtsi2sdl 0x99\(,%eiz,1\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 34 25 99 00 00 00 00        vblendvps %xmm0,0x99\(,%eiz,1\),%xmm4,%xmm6
@@ -3244,6 +3289,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 04 65 99 00 00 00      vcvtdq2pd 0x99\(,%eiz,2\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 04 65 99 00 00 00      vcvtpd2psy 0x99\(,%eiz,2\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 3c 65 99 00 00 00      vpavgb 0x99\(,%eiz,2\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 04 65 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(,%eiz,2\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 65 99 00 00 00 64        vpextrb \$0x64,%xmm0,0x99\(,%eiz,2\)
 [      ]*[a-f0-9]+:    c5 fb 2a 3c 65 99 00 00 00      vcvtsi2sdl 0x99\(,%eiz,2\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 34 65 99 00 00 00 00        vblendvps %xmm0,0x99\(,%eiz,2\),%xmm4,%xmm6
@@ -3263,6 +3309,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 20 99 00 00 00      vcvtdq2pd 0x99\(%eax,%eiz,1\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 84 20 99 00 00 00      vcvtpd2psy 0x99\(%eax,%eiz,1\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 bc 20 99 00 00 00      vpavgb 0x99\(%eax,%eiz,1\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 20 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(%eax,%eiz,1\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 20 99 00 00 00 64        vpextrb \$0x64,%xmm0,0x99\(%eax,%eiz,1\)
 [      ]*[a-f0-9]+:    c5 fb 2a bc 20 99 00 00 00      vcvtsi2sdl 0x99\(%eax,%eiz,1\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 20 99 00 00 00 00        vblendvps %xmm0,0x99\(%eax,%eiz,1\),%xmm4,%xmm6
@@ -3282,6 +3329,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 60 99 00 00 00      vcvtdq2pd 0x99\(%eax,%eiz,2\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 84 60 99 00 00 00      vcvtpd2psy 0x99\(%eax,%eiz,2\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 bc 60 99 00 00 00      vpavgb 0x99\(%eax,%eiz,2\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 60 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(%eax,%eiz,2\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 60 99 00 00 00 64        vpextrb \$0x64,%xmm0,0x99\(%eax,%eiz,2\)
 [      ]*[a-f0-9]+:    c5 fb 2a bc 60 99 00 00 00      vcvtsi2sdl 0x99\(%eax,%eiz,2\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 60 99 00 00 00 00        vblendvps %xmm0,0x99\(%eax,%eiz,2\),%xmm4,%xmm6
@@ -3301,6 +3349,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 98 99 00 00 00      vcvtdq2pd 0x99\(%eax,%ebx,4\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 84 98 99 00 00 00      vcvtpd2psy 0x99\(%eax,%ebx,4\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 bc 98 99 00 00 00      vpavgb 0x99\(%eax,%ebx,4\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 98 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(%eax,%ebx,4\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 98 99 00 00 00 64        vpextrb \$0x64,%xmm0,0x99\(%eax,%ebx,4\)
 [      ]*[a-f0-9]+:    c5 fb 2a bc 98 99 00 00 00      vcvtsi2sdl 0x99\(%eax,%ebx,4\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 98 99 00 00 00 00        vblendvps %xmm0,0x99\(%eax,%ebx,4\),%xmm4,%xmm6
@@ -3320,6 +3369,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 cc 99 00 00 00      vcvtdq2pd 0x99\(%esp,%ecx,8\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 84 cc 99 00 00 00      vcvtpd2psy 0x99\(%esp,%ecx,8\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 bc cc 99 00 00 00      vpavgb 0x99\(%esp,%ecx,8\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 cc 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(%esp,%ecx,8\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 cc 99 00 00 00 64        vpextrb \$0x64,%xmm0,0x99\(%esp,%ecx,8\)
 [      ]*[a-f0-9]+:    c5 fb 2a bc cc 99 00 00 00      vcvtsi2sdl 0x99\(%esp,%ecx,8\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 cc 99 00 00 00 00        vblendvps %xmm0,0x99\(%esp,%ecx,8\),%xmm4,%xmm6
@@ -3339,6 +3389,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 fe e6 84 15 99 00 00 00      vcvtdq2pd 0x99\(%ebp,%edx,1\),%ymm0
 [      ]*[a-f0-9]+:    c5 fd 5a 84 15 99 00 00 00      vcvtpd2psy 0x99\(%ebp,%edx,1\),%xmm0
 [      ]*[a-f0-9]+:    c5 f9 e0 bc 15 99 00 00 00      vpavgb 0x99\(%ebp,%edx,1\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 df 84 15 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(%ebp,%edx,1\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 15 99 00 00 00 64        vpextrb \$0x64,%xmm0,0x99\(%ebp,%edx,1\)
 [      ]*[a-f0-9]+:    c5 fb 2a bc 15 99 00 00 00      vcvtsi2sdl 0x99\(%ebp,%edx,1\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 15 99 00 00 00 00        vblendvps %xmm0,0x99\(%ebp,%edx,1\),%xmm4,%xmm6
index 640369f..7e78e34 100644 (file)
@@ -405,6 +405,8 @@ _start:
        vsqrtpd (%ecx),%xmm4
        vsqrtps %xmm4,%xmm6
        vsqrtps (%ecx),%xmm4
+       vaesimc %xmm4,%xmm6
+       vaesimc (%ecx),%xmm4
 
 # Tests for op xmm, xmm/mem128
        vmovapd %xmm4,%xmm6
@@ -664,6 +666,14 @@ _start:
        vxorpd (%ecx),%xmm6,%xmm7
        vxorps %xmm4,%xmm6,%xmm2
        vxorps (%ecx),%xmm6,%xmm7
+       vaesenc %xmm4,%xmm6,%xmm2
+       vaesenc (%ecx),%xmm6,%xmm7
+       vaesenclast %xmm4,%xmm6,%xmm2
+       vaesenclast (%ecx),%xmm6,%xmm7
+       vaesdec %xmm4,%xmm6,%xmm2
+       vaesdec (%ecx),%xmm6,%xmm7
+       vaesdeclast %xmm4,%xmm6,%xmm2
+       vaesdeclast (%ecx),%xmm6,%xmm7
        vcmpeqpd %xmm4,%xmm6,%xmm2
        vcmpeqpd (%ecx),%xmm6,%xmm7
        vcmpltpd %xmm4,%xmm6,%xmm2
@@ -798,6 +808,8 @@ _start:
        vmaskmovpd (%ecx),%xmm4,%xmm6
 
 # Tests for op imm8, xmm/mem128, xmm
+       vaeskeygenassist $100,%xmm4,%xmm6
+       vaeskeygenassist $100,(%ecx),%xmm6
        vpcmpestri $100,%xmm4,%xmm6
        vpcmpestri $100,(%ecx),%xmm6
        vpcmpestrm $100,%xmm4,%xmm6
@@ -1324,6 +1336,7 @@ _start:
        vcvtdq2pd 0x1234,%ymm0
        vcvtpd2psy 0x1234,%xmm0
        vpavgb 0x1234,%xmm0,%xmm7
+       vaeskeygenassist $100,0x1234,%xmm0
        vpextrb $100,%xmm0,0x1234
        vcvtsi2sdl 0x1234,%xmm0,%xmm7
        vblendvps %xmm0,0x1234,%xmm4,%xmm6
@@ -1343,6 +1356,7 @@ _start:
        vcvtdq2pd (%ebp),%ymm0
        vcvtpd2psy (%ebp),%xmm0
        vpavgb (%ebp),%xmm0,%xmm7
+       vaeskeygenassist $100,(%ebp),%xmm0
        vpextrb $100,%xmm0,(%ebp)
        vcvtsi2sdl (%ebp),%xmm0,%xmm7
        vblendvps %xmm0,(%ebp),%xmm4,%xmm6
@@ -1362,6 +1376,7 @@ _start:
        vcvtdq2pd (%esp),%ymm0
        vcvtpd2psy (%esp),%xmm0
        vpavgb (%esp),%xmm0,%xmm7
+       vaeskeygenassist $100,(%esp),%xmm0
        vpextrb $100,%xmm0,(%esp)
        vcvtsi2sdl (%esp),%xmm0,%xmm7
        vblendvps %xmm0,(%esp),%xmm4,%xmm6
@@ -1381,6 +1396,7 @@ _start:
        vcvtdq2pd 0x99(%ebp),%ymm0
        vcvtpd2psy 0x99(%ebp),%xmm0
        vpavgb 0x99(%ebp),%xmm0,%xmm7
+       vaeskeygenassist $100,0x99(%ebp),%xmm0
        vpextrb $100,%xmm0,0x99(%ebp)
        vcvtsi2sdl 0x99(%ebp),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%ebp),%xmm4,%xmm6
@@ -1400,6 +1416,7 @@ _start:
        vcvtdq2pd 0x99(,%eiz),%ymm0
        vcvtpd2psy 0x99(,%eiz),%xmm0
        vpavgb 0x99(,%eiz),%xmm0,%xmm7
+       vaeskeygenassist $100,0x99(,%eiz),%xmm0
        vpextrb $100,%xmm0,0x99(,%eiz)
        vcvtsi2sdl 0x99(,%eiz),%xmm0,%xmm7
        vblendvps %xmm0,0x99(,%eiz),%xmm4,%xmm6
@@ -1419,6 +1436,7 @@ _start:
        vcvtdq2pd 0x99(,%eiz,2),%ymm0
        vcvtpd2psy 0x99(,%eiz,2),%xmm0
        vpavgb 0x99(,%eiz,2),%xmm0,%xmm7
+       vaeskeygenassist $100,0x99(,%eiz,2),%xmm0
        vpextrb $100,%xmm0,0x99(,%eiz,2)
        vcvtsi2sdl 0x99(,%eiz,2),%xmm0,%xmm7
        vblendvps %xmm0,0x99(,%eiz,2),%xmm4,%xmm6
@@ -1438,6 +1456,7 @@ _start:
        vcvtdq2pd 0x99(%eax,%eiz),%ymm0
        vcvtpd2psy 0x99(%eax,%eiz),%xmm0
        vpavgb 0x99(%eax,%eiz),%xmm0,%xmm7
+       vaeskeygenassist $100,0x99(%eax,%eiz),%xmm0
        vpextrb $100,%xmm0,0x99(%eax,%eiz)
        vcvtsi2sdl 0x99(%eax,%eiz),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%eax,%eiz),%xmm4,%xmm6
@@ -1457,6 +1476,7 @@ _start:
        vcvtdq2pd 0x99(%eax,%eiz,2),%ymm0
        vcvtpd2psy 0x99(%eax,%eiz,2),%xmm0
        vpavgb 0x99(%eax,%eiz,2),%xmm0,%xmm7
+       vaeskeygenassist $100,0x99(%eax,%eiz,2),%xmm0
        vpextrb $100,%xmm0,0x99(%eax,%eiz,2)
        vcvtsi2sdl 0x99(%eax,%eiz,2),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%eax,%eiz,2),%xmm4,%xmm6
@@ -1476,6 +1496,7 @@ _start:
        vcvtdq2pd 0x99(%eax,%ebx,4),%ymm0
        vcvtpd2psy 0x99(%eax,%ebx,4),%xmm0
        vpavgb 0x99(%eax,%ebx,4),%xmm0,%xmm7
+       vaeskeygenassist $100,0x99(%eax,%ebx,4),%xmm0
        vpextrb $100,%xmm0,0x99(%eax,%ebx,4)
        vcvtsi2sdl 0x99(%eax,%ebx,4),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%eax,%ebx,4),%xmm4,%xmm6
@@ -1495,6 +1516,7 @@ _start:
        vcvtdq2pd 0x99(%esp,%ecx,8),%ymm0
        vcvtpd2psy 0x99(%esp,%ecx,8),%xmm0
        vpavgb 0x99(%esp,%ecx,8),%xmm0,%xmm7
+       vaeskeygenassist $100,0x99(%esp,%ecx,8),%xmm0
        vpextrb $100,%xmm0,0x99(%esp,%ecx,8)
        vcvtsi2sdl 0x99(%esp,%ecx,8),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%esp,%ecx,8),%xmm4,%xmm6
@@ -1514,6 +1536,7 @@ _start:
        vcvtdq2pd 0x99(%ebp,%edx,1),%ymm0
        vcvtpd2psy 0x99(%ebp,%edx,1),%xmm0
        vpavgb 0x99(%ebp,%edx,1),%xmm0,%xmm7
+       vaeskeygenassist $100,0x99(%ebp,%edx,1),%xmm0
        vpextrb $100,%xmm0,0x99(%ebp,%edx,1)
        vcvtsi2sdl 0x99(%ebp,%edx,1),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%ebp,%edx,1),%xmm4,%xmm6
@@ -2110,6 +2133,9 @@ _start:
        vsqrtps xmm6,xmm4
        vsqrtps xmm4,XMMWORD PTR [ecx]
        vsqrtps xmm4,[ecx]
+       vaesimc xmm6,xmm4
+       vaesimc xmm4,XMMWORD PTR [ecx]
+       vaesimc xmm4,[ecx]
 
 # Tests for op xmm, xmm/mem128
        vmovapd xmm6,xmm4
@@ -2496,6 +2522,18 @@ _start:
        vxorps xmm2,xmm6,xmm4
        vxorps xmm7,xmm6,XMMWORD PTR [ecx]
        vxorps xmm7,xmm6,[ecx]
+       vaesenc xmm2,xmm6,xmm4
+       vaesenc xmm7,xmm6,XMMWORD PTR [ecx]
+       vaesenc xmm7,xmm6,[ecx]
+       vaesenclast xmm2,xmm6,xmm4
+       vaesenclast xmm7,xmm6,XMMWORD PTR [ecx]
+       vaesenclast xmm7,xmm6,[ecx]
+       vaesdec xmm2,xmm6,xmm4
+       vaesdec xmm7,xmm6,XMMWORD PTR [ecx]
+       vaesdec xmm7,xmm6,[ecx]
+       vaesdeclast xmm2,xmm6,xmm4
+       vaesdeclast xmm7,xmm6,XMMWORD PTR [ecx]
+       vaesdeclast xmm7,xmm6,[ecx]
        vcmpeqpd xmm2,xmm6,xmm4
        vcmpeqpd xmm7,xmm6,XMMWORD PTR [ecx]
        vcmpeqpd xmm7,xmm6,[ecx]
@@ -2696,6 +2734,9 @@ _start:
        vmaskmovpd xmm6,xmm4,[ecx]
 
 # Tests for op imm8, xmm/mem128, xmm
+       vaeskeygenassist xmm6,xmm4,100
+       vaeskeygenassist xmm6,XMMWORD PTR [ecx],100
+       vaeskeygenassist xmm6,[ecx],100
        vpcmpestri xmm6,xmm4,100
        vpcmpestri xmm6,XMMWORD PTR [ecx],100
        vpcmpestri xmm6,[ecx],100
@@ -3446,6 +3487,7 @@ _start:
        vcvtdq2pd ymm0,XMMWORD PTR ds:0x1234
        vcvtpd2ps xmm0,YMMWORD PTR ds:0x1234
        vpavgb xmm7,xmm0,XMMWORD PTR ds:0x1234
+       vaeskeygenassist xmm0,XMMWORD PTR ds:0x1234,100
        vpextrb ds:0x1234,xmm0,100
        vcvtsi2sd xmm7,xmm0,DWORD PTR ds:0x1234
        vblendvps xmm6,xmm4,XMMWORD PTR ds:0x1234,xmm0
@@ -3465,6 +3507,7 @@ _start:
        vcvtdq2pd ymm0,XMMWORD PTR [ebp]
        vcvtpd2ps xmm0,YMMWORD PTR [ebp]
        vpavgb xmm7,xmm0,XMMWORD PTR [ebp]
+       vaeskeygenassist xmm0,XMMWORD PTR [ebp],100
        vpextrb [ebp],xmm0,100
        vcvtsi2sd xmm7,xmm0,DWORD PTR [ebp]
        vblendvps xmm6,xmm4,XMMWORD PTR [ebp],xmm0
@@ -3484,6 +3527,7 @@ _start:
        vcvtdq2pd ymm0,XMMWORD PTR [ebp+0x99]
        vcvtpd2ps xmm0,YMMWORD PTR [ebp+0x99]
        vpavgb xmm7,xmm0,XMMWORD PTR [ebp+0x99]
+       vaeskeygenassist xmm0,XMMWORD PTR [ebp+0x99],100
        vpextrb [ebp+0x99],xmm0,100
        vcvtsi2sd xmm7,xmm0,DWORD PTR [ebp+0x99]
        vblendvps xmm6,xmm4,XMMWORD PTR [ebp+0x99],xmm0
@@ -3503,6 +3547,7 @@ _start:
        vcvtdq2pd ymm0,XMMWORD PTR [eiz*1+0x99]
        vcvtpd2ps xmm0,YMMWORD PTR [eiz*1+0x99]
        vpavgb xmm7,xmm0,XMMWORD PTR [eiz*1+0x99]
+       vaeskeygenassist xmm0,XMMWORD PTR [eiz*1+0x99],100
        vpextrb [eiz*1+0x99],xmm0,100
        vcvtsi2sd xmm7,xmm0,DWORD PTR [eiz*1+0x99]
        vblendvps xmm6,xmm4,XMMWORD PTR [eiz*1+0x99],xmm0
@@ -3522,6 +3567,7 @@ _start:
        vcvtdq2pd ymm0,XMMWORD PTR [eiz*2+0x99]
        vcvtpd2ps xmm0,YMMWORD PTR [eiz*2+0x99]
        vpavgb xmm7,xmm0,XMMWORD PTR [eiz*2+0x99]
+       vaeskeygenassist xmm0,XMMWORD PTR [eiz*2+0x99],100
        vpextrb [eiz*2+0x99],xmm0,100
        vcvtsi2sd xmm7,xmm0,DWORD PTR [eiz*2+0x99]
        vblendvps xmm6,xmm4,XMMWORD PTR [eiz*2+0x99],xmm0
@@ -3541,6 +3587,7 @@ _start:
        vcvtdq2pd ymm0,XMMWORD PTR [eax+eiz*1+0x99]
        vcvtpd2ps xmm0,YMMWORD PTR [eax+eiz*1+0x99]
        vpavgb xmm7,xmm0,XMMWORD PTR [eax+eiz*1+0x99]
+       vaeskeygenassist xmm0,XMMWORD PTR [eax+eiz*1+0x99],100
        vpextrb [eax+eiz*1+0x99],xmm0,100
        vcvtsi2sd xmm7,xmm0,DWORD PTR [eax+eiz*1+0x99]
        vblendvps xmm6,xmm4,XMMWORD PTR [eax+eiz*1+0x99],xmm0
@@ -3560,6 +3607,7 @@ _start:
        vcvtdq2pd ymm0,XMMWORD PTR [eax+eiz*2+0x99]
        vcvtpd2ps xmm0,YMMWORD PTR [eax+eiz*2+0x99]
        vpavgb xmm7,xmm0,XMMWORD PTR [eax+eiz*2+0x99]
+       vaeskeygenassist xmm0,XMMWORD PTR [eax+eiz*2+0x99],100
        vpextrb [eax+eiz*2+0x99],xmm0,100
        vcvtsi2sd xmm7,xmm0,DWORD PTR [eax+eiz*2+0x99]
        vblendvps xmm6,xmm4,XMMWORD PTR [eax+eiz*2+0x99],xmm0
@@ -3579,6 +3627,7 @@ _start:
        vcvtdq2pd ymm0,XMMWORD PTR [eax+ebx*4+0x99]
        vcvtpd2ps xmm0,YMMWORD PTR [eax+ebx*4+0x99]
        vpavgb xmm7,xmm0,XMMWORD PTR [eax+ebx*4+0x99]
+       vaeskeygenassist xmm0,XMMWORD PTR [eax+ebx*4+0x99],100
        vpextrb [eax+ebx*4+0x99],xmm0,100
        vcvtsi2sd xmm7,xmm0,DWORD PTR [eax+ebx*4+0x99]
        vblendvps xmm6,xmm4,XMMWORD PTR [eax+ebx*4+0x99],xmm0
@@ -3598,6 +3647,7 @@ _start:
        vcvtdq2pd ymm0,XMMWORD PTR [esp+ecx*8+0x99]
        vcvtpd2ps xmm0,YMMWORD PTR [esp+ecx*8+0x99]
        vpavgb xmm7,xmm0,XMMWORD PTR [esp+ecx*8+0x99]
+       vaeskeygenassist xmm0,XMMWORD PTR [esp+ecx*8+0x99],100
        vpextrb [esp+ecx*8+0x99],xmm0,100
        vcvtsi2sd xmm7,xmm0,DWORD PTR [esp+ecx*8+0x99]
        vblendvps xmm6,xmm4,XMMWORD PTR [esp+ecx*8+0x99],xmm0
@@ -3617,6 +3667,7 @@ _start:
        vcvtdq2pd ymm0,XMMWORD PTR [ebp+edx*1+0x99]
        vcvtpd2ps xmm0,YMMWORD PTR [ebp+edx*1+0x99]
        vpavgb xmm7,xmm0,XMMWORD PTR [ebp+edx*1+0x99]
+       vaeskeygenassist xmm0,XMMWORD PTR [ebp+edx*1+0x99],100
        vpextrb [ebp+edx*1+0x99],xmm0,100
        vcvtsi2sd xmm7,xmm0,DWORD PTR [ebp+edx*1+0x99]
        vblendvps xmm6,xmm4,XMMWORD PTR [ebp+edx*1+0x99],xmm0
index a11598f..fde61bd 100644 (file)
@@ -135,6 +135,9 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     run_dump_test "ept"
     run_dump_test "ept-intel"
     run_list_test "inval-ept" "-al"
+    run_dump_test "arch-avx-1"
+    run_list_test "arch-avx-1-1" "-march=generic32+avx -I${srcdir}/$subdir -al"
+    run_list_test "arch-avx-1-2" "-march=generic32+aes -I${srcdir}/$subdir -al"
 
     # These tests require support for 8 and 16 bit relocs,
     # so we only run them for ELF and COFF targets.
index ecca20e..f573f57 100644 (file)
@@ -55,6 +55,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 f9 51 21             vsqrtpd \(%ecx\),%xmm4
 [      ]*[a-f0-9]+:    c5 f8 51 f4             vsqrtps %xmm4,%xmm6
 [      ]*[a-f0-9]+:    c5 f8 51 21             vsqrtps \(%ecx\),%xmm4
+[      ]*[a-f0-9]+:    c4 e2 79 db f4          vaesimc %xmm4,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 79 db 21          vaesimc \(%ecx\),%xmm4
 [      ]*[a-f0-9]+:    c5 f9 28 f4             vmovapd %xmm4,%xmm6
 [      ]*[a-f0-9]+:    c5 f9 29 21             vmovapd %xmm4,\(%ecx\)
 [      ]*[a-f0-9]+:    c5 f8 28 f4             vmovaps %xmm4,%xmm6
@@ -148,6 +150,14 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 e0 31             vpavgb \(%ecx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 e3 f4             vpavgw %xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 e3 31             vpavgw \(%ecx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    66 0f 3a 44 f4 00       pclmullqlqdq %xmm4,%xmm6
+[      ]*[a-f0-9]+:    66 0f 3a 44 31 00       pclmullqlqdq \(%ecx\),%xmm6
+[      ]*[a-f0-9]+:    66 0f 3a 44 f4 01       pclmulhqlqdq %xmm4,%xmm6
+[      ]*[a-f0-9]+:    66 0f 3a 44 31 01       pclmulhqlqdq \(%ecx\),%xmm6
+[      ]*[a-f0-9]+:    66 0f 3a 44 f4 10       pclmullqhqdq %xmm4,%xmm6
+[      ]*[a-f0-9]+:    66 0f 3a 44 31 10       pclmullqhqdq \(%ecx\),%xmm6
+[      ]*[a-f0-9]+:    66 0f 3a 44 f4 11       pclmulhqhqdq %xmm4,%xmm6
+[      ]*[a-f0-9]+:    66 0f 3a 44 31 11       pclmulhqhqdq \(%ecx\),%xmm6
 [      ]*[a-f0-9]+:    c5 c9 74 f4             vpcmpeqb %xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 74 31             vpcmpeqb \(%ecx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 75 f4             vpcmpeqw %xmm4,%xmm6,%xmm6
@@ -296,6 +306,14 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 57 31             vxorpd \(%ecx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c8 57 f4             vxorps %xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c8 57 31             vxorps \(%ecx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 49 dc f4          vaesenc %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 49 dc 31          vaesenc \(%ecx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 49 dd f4          vaesenclast %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 49 dd 31          vaesenclast \(%ecx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 49 de f4          vaesdec %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 49 de 31          vaesdec \(%ecx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 49 df f4          vaesdeclast %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 49 df 31          vaesdeclast \(%ecx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 c2 f4 00          vcmpeqpd %xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 c2 31 00          vcmpeqpd \(%ecx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c8 c2 f4 00          vcmpeqps %xmm4,%xmm6,%xmm6
@@ -328,6 +346,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 c2 31 07          vcmpordpd \(%ecx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c8 c2 f4 07          vcmpordps %xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c8 c2 31 07          vcmpordps \(%ecx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 79 df f4 64       vaeskeygenassist \$0x64,%xmm4,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 79 df 31 64       vaeskeygenassist \$0x64,\(%ecx\),%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 61 f4 64       vpcmpestri \$0x64,%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 61 31 64       vpcmpestri \$0x64,\(%ecx\),%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 60 f4 64       vpcmpestrm \$0x64,%xmm4,%xmm6
index 1dccd94..3a48b21 100644 (file)
@@ -54,6 +54,8 @@ _start:
        sqrtpd (%ecx),%xmm4
        sqrtps %xmm4,%xmm6
        sqrtps (%ecx),%xmm4
+       aesimc %xmm4,%xmm6
+       aesimc (%ecx),%xmm4
 
 # Tests for op xmm, xmm/mem128
        movapd %xmm4,%xmm6
@@ -155,6 +157,14 @@ _start:
        pavgb (%ecx),%xmm6
        pavgw %xmm4,%xmm6
        pavgw (%ecx),%xmm6
+       pclmullqlqdq %xmm4,%xmm6
+       pclmullqlqdq (%ecx),%xmm6
+       pclmulhqlqdq %xmm4,%xmm6
+       pclmulhqlqdq (%ecx),%xmm6
+       pclmullqhqdq %xmm4,%xmm6
+       pclmullqhqdq (%ecx),%xmm6
+       pclmulhqhqdq %xmm4,%xmm6
+       pclmulhqhqdq (%ecx),%xmm6
        pcmpeqb %xmm4,%xmm6
        pcmpeqb (%ecx),%xmm6
        pcmpeqw %xmm4,%xmm6
@@ -303,6 +313,14 @@ _start:
        xorpd (%ecx),%xmm6
        xorps %xmm4,%xmm6
        xorps (%ecx),%xmm6
+       aesenc %xmm4,%xmm6
+       aesenc (%ecx),%xmm6
+       aesenclast %xmm4,%xmm6
+       aesenclast (%ecx),%xmm6
+       aesdec %xmm4,%xmm6
+       aesdec (%ecx),%xmm6
+       aesdeclast %xmm4,%xmm6
+       aesdeclast (%ecx),%xmm6
        cmpeqpd %xmm4,%xmm6
        cmpeqpd (%ecx),%xmm6
        cmpeqps %xmm4,%xmm6
@@ -337,6 +355,8 @@ _start:
        cmpordps (%ecx),%xmm6
 
 # Tests for op imm8, xmm/mem128, xmm
+       aeskeygenassist $100,%xmm4,%xmm6
+       aeskeygenassist $100,(%ecx),%xmm6
        pcmpestri $100,%xmm4,%xmm6
        pcmpestri $100,(%ecx),%xmm6
        pcmpestrm $100,%xmm4,%xmm6
index 9bdd5bb..84ce100 100644 (file)
@@ -21,6 +21,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    0f 01 d0                xgetbv 
 [      ]*[a-f0-9]+:    66 0f 38 dc 01          aesenc \(%rcx\),%xmm0
 [      ]*[a-f0-9]+:    66 0f 3a 44 c1 08       pclmulqdq \$0x8,%xmm1,%xmm0
+[      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%rcx\),%xmm0,%xmm2
 [      ]*[a-f0-9]+:    c4 e3 cd 69 fc 20       vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
 [      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%rcx\),%ebx
 [      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%rcx\),%rbx
index 0cabf72..bbe34cb 100644 (file)
@@ -28,6 +28,8 @@ xgetbv
 aesenc  (%rcx),%xmm0
 # PCLMUL
 pclmulqdq $8,%xmm1,%xmm0
+# AES + AVX
+vaesenc  (%rcx),%xmm0,%xmm2
 # FMA
 vfmaddpd %ymm4,%ymm6,%ymm2,%ymm7
 # MOVBE
index 88ad49f..e9de6bf 100644 (file)
@@ -375,6 +375,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 f9 51 21             vsqrtpd xmm4,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c5 f8 51 f4             vsqrtps xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 f8 51 21             vsqrtps xmm4,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e2 79 db f4          vaesimc xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 79 db 21          vaesimc xmm4,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c5 f9 28 f4             vmovapd xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 f9 29 21             vmovapd XMMWORD PTR \[rcx\],xmm4
 [      ]*[a-f0-9]+:    c5 f8 28 f4             vmovaps xmm6,xmm4
@@ -624,6 +626,14 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 57 39             vxorpd xmm7,xmm6,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c5 c8 57 d4             vxorps xmm2,xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 c8 57 39             vxorps xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e2 49 dc d4          vaesenc xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 49 dc 39          vaesenc xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e2 49 dd d4          vaesenclast xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 49 dd 39          vaesenclast xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e2 49 de d4          vaesdec xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 49 de 39          vaesdec xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e2 49 df d4          vaesdeclast xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 49 df 39          vaesdeclast xmm7,xmm6,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c5 c9 c2 d4 00          vcmpeqpd xmm2,xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 c9 c2 39 00          vcmpeqpd xmm7,xmm6,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c5 c9 c2 d4 01          vcmpltpd xmm2,xmm6,xmm4
@@ -754,6 +764,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c8 c2 39 1f          vcmptrue_usps xmm7,xmm6,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c4 e2 59 2c 31          vmaskmovps xmm6,xmm4,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c4 e2 59 2d 31          vmaskmovpd xmm6,xmm4,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e3 79 df f4 64       vaeskeygenassist xmm6,xmm4,0x64
+[      ]*[a-f0-9]+:    c4 e3 79 df 31 64       vaeskeygenassist xmm6,XMMWORD PTR \[rcx\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 61 f4 64       vpcmpestri xmm6,xmm4,0x64
 [      ]*[a-f0-9]+:    c4 e3 79 61 31 64       vpcmpestri xmm6,XMMWORD PTR \[rcx\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 60 f4 64       vpcmpestrm xmm6,xmm4,0x64
@@ -1219,6 +1231,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 04 25 78 56 34 12      vcvtdq2pd ymm8,XMMWORD PTR ds:0x12345678
 [      ]*[a-f0-9]+:    c5 7d 5a 04 25 78 56 34 12      vcvtpd2ps xmm8,YMMWORD PTR ds:0x12345678
 [      ]*[a-f0-9]+:    c5 39 e0 3c 25 78 56 34 12      vpavgb xmm15,xmm8,XMMWORD PTR ds:0x12345678
+[      ]*[a-f0-9]+:    c4 63 79 df 04 25 78 56 34 12 64        vaeskeygenassist xmm8,XMMWORD PTR ds:0x12345678,0x64
 [      ]*[a-f0-9]+:    c4 63 79 14 04 25 78 56 34 12 64        vpextrb BYTE PTR ds:0x12345678,xmm8,0x64
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 25 78 56 34 12      vcvtsi2sd xmm15,xmm8,DWORD PTR ds:0x12345678
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 25 78 56 34 12 80        vblendvps xmm14,xmm12,XMMWORD PTR ds:0x12345678,xmm8
@@ -1238,6 +1251,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 45 00          vcvtdq2pd ymm8,XMMWORD PTR \[rbp\+0x0\]
 [      ]*[a-f0-9]+:    c5 7d 5a 45 00          vcvtpd2ps xmm8,YMMWORD PTR \[rbp\+0x0\]
 [      ]*[a-f0-9]+:    c5 39 e0 7d 00          vpavgb xmm15,xmm8,XMMWORD PTR \[rbp\+0x0\]
+[      ]*[a-f0-9]+:    c4 63 79 df 45 00 64    vaeskeygenassist xmm8,XMMWORD PTR \[rbp\+0x0\],0x64
 [      ]*[a-f0-9]+:    c4 63 79 14 45 00 64    vpextrb BYTE PTR \[rbp\+0x0\],xmm8,0x64
 [      ]*[a-f0-9]+:    c5 3b 2a 7d 00          vcvtsi2sd xmm15,xmm8,DWORD PTR \[rbp\+0x0\]
 [      ]*[a-f0-9]+:    c4 63 19 4a 75 00 80    vblendvps xmm14,xmm12,XMMWORD PTR \[rbp\+0x0\],xmm8
@@ -1257,6 +1271,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 04 24          vcvtdq2pd ymm8,XMMWORD PTR \[rsp\]
 [      ]*[a-f0-9]+:    c5 7d 5a 04 24          vcvtpd2ps xmm8,YMMWORD PTR \[rsp\]
 [      ]*[a-f0-9]+:    c5 39 e0 3c 24          vpavgb xmm15,xmm8,XMMWORD PTR \[rsp\]
+[      ]*[a-f0-9]+:    c4 63 79 df 04 24 64    vaeskeygenassist xmm8,XMMWORD PTR \[rsp\],0x64
 [      ]*[a-f0-9]+:    c4 63 79 14 04 24 64    vpextrb BYTE PTR \[rsp\],xmm8,0x64
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 24          vcvtsi2sd xmm15,xmm8,DWORD PTR \[rsp\]
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 24 80    vblendvps xmm14,xmm12,XMMWORD PTR \[rsp\],xmm8
@@ -1276,6 +1291,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 85 99 00 00 00         vcvtdq2pd ymm8,XMMWORD PTR \[rbp\+0x99\]
 [      ]*[a-f0-9]+:    c5 7d 5a 85 99 00 00 00         vcvtpd2ps xmm8,YMMWORD PTR \[rbp\+0x99\]
 [      ]*[a-f0-9]+:    c5 39 e0 bd 99 00 00 00         vpavgb xmm15,xmm8,XMMWORD PTR \[rbp\+0x99\]
+[      ]*[a-f0-9]+:    c4 63 79 df 85 99 00 00 00 64   vaeskeygenassist xmm8,XMMWORD PTR \[rbp\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 63 79 14 85 99 00 00 00 64   vpextrb BYTE PTR \[rbp\+0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c5 3b 2a bd 99 00 00 00         vcvtsi2sd xmm15,xmm8,DWORD PTR \[rbp\+0x99\]
 [      ]*[a-f0-9]+:    c4 63 19 4a b5 99 00 00 00 80   vblendvps xmm14,xmm12,XMMWORD PTR \[rbp\+0x99\],xmm8
@@ -1295,6 +1311,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 41 7e e6 87 99 00 00 00      vcvtdq2pd ymm8,XMMWORD PTR \[r15\+0x99\]
 [      ]*[a-f0-9]+:    c4 41 7d 5a 87 99 00 00 00      vcvtpd2ps xmm8,YMMWORD PTR \[r15\+0x99\]
 [      ]*[a-f0-9]+:    c4 41 39 e0 bf 99 00 00 00      vpavgb xmm15,xmm8,XMMWORD PTR \[r15\+0x99\]
+[      ]*[a-f0-9]+:    c4 43 79 df 87 99 00 00 00 64   vaeskeygenassist xmm8,XMMWORD PTR \[r15\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 43 79 14 87 99 00 00 00 64   vpextrb BYTE PTR \[r15\+0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c4 41 3b 2a bf 99 00 00 00      vcvtsi2sd xmm15,xmm8,DWORD PTR \[r15\+0x99\]
 [      ]*[a-f0-9]+:    c4 43 19 4a b7 99 00 00 00 80   vblendvps xmm14,xmm12,XMMWORD PTR \[r15\+0x99\],xmm8
@@ -1306,25 +1323,26 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 7d 19 87 99 00 00 00 64   vextractf128 XMMWORD PTR \[r15\+0x99\],ymm8,0x64
 [      ]*[a-f0-9]+:    c4 43 3d 06 bf 99 00 00 00 64   vperm2f128 ymm15,ymm8,YMMWORD PTR \[r15\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 43 1d 4b b7 99 00 00 00 80   vblendvpd ymm14,ymm12,YMMWORD PTR \[r15\+0x99\],ymm8
-[      ]*[a-f0-9]+:    c5 f8 ae 15 99 00 00 00         vldmxcsr DWORD PTR \[rip\+0x99\]        # 1a31 <_start\+0x1a31>
-[      ]*[a-f0-9]+:    c5 79 6f 05 99 00 00 00         vmovdqa xmm8,XMMWORD PTR \[rip\+0x99\]        # 1a39 <_start\+0x1a39>
-[      ]*[a-f0-9]+:    c5 79 7f 05 99 00 00 00         vmovdqa XMMWORD PTR \[rip\+0x99\],xmm8        # 1a41 <_start\+0x1a41>
-[      ]*[a-f0-9]+:    c5 79 7e 05 99 00 00 00         vmovd  DWORD PTR \[rip\+0x99\],xmm8        # 1a49 <_start\+0x1a49>
-[      ]*[a-f0-9]+:    c5 7b 2d 05 99 00 00 00         vcvtsd2si r8d,QWORD PTR \[rip\+0x99\]        # 1a51 <_start\+0x1a51>
-[      ]*[a-f0-9]+:    c5 7e e6 05 99 00 00 00         vcvtdq2pd ymm8,XMMWORD PTR \[rip\+0x99\]        # 1a59 <_start\+0x1a59>
-[      ]*[a-f0-9]+:    c5 7d 5a 05 99 00 00 00         vcvtpd2ps xmm8,YMMWORD PTR \[rip\+0x99\]        # 1a61 <_start\+0x1a61>
-[      ]*[a-f0-9]+:    c5 39 e0 3d 99 00 00 00         vpavgb xmm15,xmm8,XMMWORD PTR \[rip\+0x99\]        # 1a69 <_start\+0x1a69>
-[      ]*[a-f0-9]+:    c4 63 79 14 05 99 00 00 00 64   vpextrb BYTE PTR \[rip\+0x99\],xmm8,0x64        # 1a73 <_start\+0x1a73>
-[      ]*[a-f0-9]+:    c5 3b 2a 3d 99 00 00 00         vcvtsi2sd xmm15,xmm8,DWORD PTR \[rip\+0x99\]        # 1a7b <_start\+0x1a7b>
-[      ]*[a-f0-9]+:    c4 63 19 4a 35 99 00 00 00 80   vblendvps xmm14,xmm12,XMMWORD PTR \[rip\+0x99\],xmm8        # 1a85 <_start\+0x1a85>
-[      ]*[a-f0-9]+:    c4 63 39 20 3d 99 00 00 00 64   vpinsrb xmm15,xmm8,BYTE PTR \[rip\+0x99\],0x64        # 1a8f <_start\+0x1a8f>
-[      ]*[a-f0-9]+:    c5 7d 6f 05 99 00 00 00         vmovdqa ymm8,YMMWORD PTR \[rip\+0x99\]        # 1a97 <_start\+0x1a97>
-[      ]*[a-f0-9]+:    c5 7d 7f 05 99 00 00 00         vmovdqa YMMWORD PTR \[rip\+0x99\],ymm8        # 1a9f <_start\+0x1a9f>
-[      ]*[a-f0-9]+:    c4 62 3d 0d 3d 99 00 00 00      vpermilpd ymm15,ymm8,YMMWORD PTR \[rip\+0x99\]        # 1aa8 <_start\+0x1aa8>
-[      ]*[a-f0-9]+:    c4 63 7d 09 05 99 00 00 00 64   vroundpd ymm8,YMMWORD PTR \[rip\+0x99\],0x64        # 1ab2 <_start\+0x1ab2>
-[      ]*[a-f0-9]+:    c4 63 7d 19 05 99 00 00 00 64   vextractf128 XMMWORD PTR \[rip\+0x99\],ymm8,0x64        # 1abc <_start\+0x1abc>
-[      ]*[a-f0-9]+:    c4 63 3d 06 3d 99 00 00 00 64   vperm2f128 ymm15,ymm8,YMMWORD PTR \[rip\+0x99\],0x64        # 1ac6 <_start\+0x1ac6>
-[      ]*[a-f0-9]+:    c4 63 1d 4b 35 99 00 00 00 80   vblendvpd ymm14,ymm12,YMMWORD PTR \[rip\+0x99\],ymm8        # 1ad0 <_start\+0x1ad0>
+[      ]*[a-f0-9]+:    c5 f8 ae 15 99 00 00 00         vldmxcsr DWORD PTR \[rip\+0x99\]        # 1a9c <_start\+0x1a9c>
+[      ]*[a-f0-9]+:    c5 79 6f 05 99 00 00 00         vmovdqa xmm8,XMMWORD PTR \[rip\+0x99\]        # 1aa4 <_start\+0x1aa4>
+[      ]*[a-f0-9]+:    c5 79 7f 05 99 00 00 00         vmovdqa XMMWORD PTR \[rip\+0x99\],xmm8        # 1aac <_start\+0x1aac>
+[      ]*[a-f0-9]+:    c5 79 7e 05 99 00 00 00         vmovd  DWORD PTR \[rip\+0x99\],xmm8        # 1ab4 <_start\+0x1ab4>
+[      ]*[a-f0-9]+:    c5 7b 2d 05 99 00 00 00         vcvtsd2si r8d,QWORD PTR \[rip\+0x99\]        # 1abc <_start\+0x1abc>
+[      ]*[a-f0-9]+:    c5 7e e6 05 99 00 00 00         vcvtdq2pd ymm8,XMMWORD PTR \[rip\+0x99\]        # 1ac4 <_start\+0x1ac4>
+[      ]*[a-f0-9]+:    c5 7d 5a 05 99 00 00 00         vcvtpd2ps xmm8,YMMWORD PTR \[rip\+0x99\]        # 1acc <_start\+0x1acc>
+[      ]*[a-f0-9]+:    c5 39 e0 3d 99 00 00 00         vpavgb xmm15,xmm8,XMMWORD PTR \[rip\+0x99\]        # 1ad4 <_start\+0x1ad4>
+[      ]*[a-f0-9]+:    c4 63 79 df 05 99 00 00 00 64   vaeskeygenassist xmm8,XMMWORD PTR \[rip\+0x99\],0x64        # 1ade <_start\+0x1ade>
+[      ]*[a-f0-9]+:    c4 63 79 14 05 99 00 00 00 64   vpextrb BYTE PTR \[rip\+0x99\],xmm8,0x64        # 1ae8 <_start\+0x1ae8>
+[      ]*[a-f0-9]+:    c5 3b 2a 3d 99 00 00 00         vcvtsi2sd xmm15,xmm8,DWORD PTR \[rip\+0x99\]        # 1af0 <_start\+0x1af0>
+[      ]*[a-f0-9]+:    c4 63 19 4a 35 99 00 00 00 80   vblendvps xmm14,xmm12,XMMWORD PTR \[rip\+0x99\],xmm8        # 1afa <_start\+0x1afa>
+[      ]*[a-f0-9]+:    c4 63 39 20 3d 99 00 00 00 64   vpinsrb xmm15,xmm8,BYTE PTR \[rip\+0x99\],0x64        # 1b04 <_start\+0x1b04>
+[      ]*[a-f0-9]+:    c5 7d 6f 05 99 00 00 00         vmovdqa ymm8,YMMWORD PTR \[rip\+0x99\]        # 1b0c <_start\+0x1b0c>
+[      ]*[a-f0-9]+:    c5 7d 7f 05 99 00 00 00         vmovdqa YMMWORD PTR \[rip\+0x99\],ymm8        # 1b14 <_start\+0x1b14>
+[      ]*[a-f0-9]+:    c4 62 3d 0d 3d 99 00 00 00      vpermilpd ymm15,ymm8,YMMWORD PTR \[rip\+0x99\]        # 1b1d <_start\+0x1b1d>
+[      ]*[a-f0-9]+:    c4 63 7d 09 05 99 00 00 00 64   vroundpd ymm8,YMMWORD PTR \[rip\+0x99\],0x64        # 1b27 <_start\+0x1b27>
+[      ]*[a-f0-9]+:    c4 63 7d 19 05 99 00 00 00 64   vextractf128 XMMWORD PTR \[rip\+0x99\],ymm8,0x64        # 1b31 <_start\+0x1b31>
+[      ]*[a-f0-9]+:    c4 63 3d 06 3d 99 00 00 00 64   vperm2f128 ymm15,ymm8,YMMWORD PTR \[rip\+0x99\],0x64        # 1b3b <_start\+0x1b3b>
+[      ]*[a-f0-9]+:    c4 63 1d 4b 35 99 00 00 00 80   vblendvpd ymm14,ymm12,YMMWORD PTR \[rip\+0x99\],ymm8        # 1b45 <_start\+0x1b45>
 [      ]*[a-f0-9]+:    c5 f8 ae 94 24 99 00 00 00      vldmxcsr DWORD PTR \[rsp\+0x99\]
 [      ]*[a-f0-9]+:    c5 79 6f 84 24 99 00 00 00      vmovdqa xmm8,XMMWORD PTR \[rsp\+0x99\]
 [      ]*[a-f0-9]+:    c5 79 7f 84 24 99 00 00 00      vmovdqa XMMWORD PTR \[rsp\+0x99\],xmm8
@@ -1333,6 +1351,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 84 24 99 00 00 00      vcvtdq2pd ymm8,XMMWORD PTR \[rsp\+0x99\]
 [      ]*[a-f0-9]+:    c5 7d 5a 84 24 99 00 00 00      vcvtpd2ps xmm8,YMMWORD PTR \[rsp\+0x99\]
 [      ]*[a-f0-9]+:    c5 39 e0 bc 24 99 00 00 00      vpavgb xmm15,xmm8,XMMWORD PTR \[rsp\+0x99\]
+[      ]*[a-f0-9]+:    c4 63 79 df 84 24 99 00 00 00 64        vaeskeygenassist xmm8,XMMWORD PTR \[rsp\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 63 79 14 84 24 99 00 00 00 64        vpextrb BYTE PTR \[rsp\+0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c5 3b 2a bc 24 99 00 00 00      vcvtsi2sd xmm15,xmm8,DWORD PTR \[rsp\+0x99\]
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 24 99 00 00 00 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rsp\+0x99\],xmm8
@@ -1352,6 +1371,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 41 7e e6 84 24 99 00 00 00   vcvtdq2pd ymm8,XMMWORD PTR \[r12\+0x99\]
 [      ]*[a-f0-9]+:    c4 41 7d 5a 84 24 99 00 00 00   vcvtpd2ps xmm8,YMMWORD PTR \[r12\+0x99\]
 [      ]*[a-f0-9]+:    c4 41 39 e0 bc 24 99 00 00 00   vpavgb xmm15,xmm8,XMMWORD PTR \[r12\+0x99\]
+[      ]*[a-f0-9]+:    c4 43 79 df 84 24 99 00 00 00 64        vaeskeygenassist xmm8,XMMWORD PTR \[r12\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 43 79 14 84 24 99 00 00 00 64        vpextrb BYTE PTR \[r12\+0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c4 41 3b 2a bc 24 99 00 00 00   vcvtsi2sd xmm15,xmm8,DWORD PTR \[r12\+0x99\]
 [      ]*[a-f0-9]+:    c4 43 19 4a b4 24 99 00 00 00 80        vblendvps xmm14,xmm12,XMMWORD PTR \[r12\+0x99\],xmm8
@@ -1371,6 +1391,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 04 25 67 ff ff ff      vcvtdq2pd ymm8,XMMWORD PTR ds:0xffffffffffffff67
 [      ]*[a-f0-9]+:    c5 7d 5a 04 25 67 ff ff ff      vcvtpd2ps xmm8,YMMWORD PTR ds:0xffffffffffffff67
 [      ]*[a-f0-9]+:    c5 39 e0 3c 25 67 ff ff ff      vpavgb xmm15,xmm8,XMMWORD PTR ds:0xffffffffffffff67
+[      ]*[a-f0-9]+:    c4 63 79 df 04 25 67 ff ff ff 64        vaeskeygenassist xmm8,XMMWORD PTR ds:0xffffffffffffff67,0x64
 [      ]*[a-f0-9]+:    c4 63 79 14 04 25 67 ff ff ff 64        vpextrb BYTE PTR ds:0xffffffffffffff67,xmm8,0x64
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 25 67 ff ff ff      vcvtsi2sd xmm15,xmm8,DWORD PTR ds:0xffffffffffffff67
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 25 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR ds:0xffffffffffffff67,xmm8
@@ -1390,6 +1411,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 04 65 67 ff ff ff      vcvtdq2pd ymm8,XMMWORD PTR \[riz\*2-0x99\]
 [      ]*[a-f0-9]+:    c5 7d 5a 04 65 67 ff ff ff      vcvtpd2ps xmm8,YMMWORD PTR \[riz\*2-0x99\]
 [      ]*[a-f0-9]+:    c5 39 e0 3c 65 67 ff ff ff      vpavgb xmm15,xmm8,XMMWORD PTR \[riz\*2-0x99\]
+[      ]*[a-f0-9]+:    c4 63 79 df 04 65 67 ff ff ff 64        vaeskeygenassist xmm8,XMMWORD PTR \[riz\*2-0x99\],0x64
 [      ]*[a-f0-9]+:    c4 63 79 14 04 65 67 ff ff ff 64        vpextrb BYTE PTR \[riz\*2-0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 65 67 ff ff ff      vcvtsi2sd xmm15,xmm8,DWORD PTR \[riz\*2-0x99\]
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 65 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[riz\*2-0x99\],xmm8
@@ -1409,6 +1431,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 84 23 67 ff ff ff      vcvtdq2pd ymm8,XMMWORD PTR \[rbx\+riz\*1-0x99\]
 [      ]*[a-f0-9]+:    c5 7d 5a 84 23 67 ff ff ff      vcvtpd2ps xmm8,YMMWORD PTR \[rbx\+riz\*1-0x99\]
 [      ]*[a-f0-9]+:    c5 39 e0 bc 23 67 ff ff ff      vpavgb xmm15,xmm8,XMMWORD PTR \[rbx\+riz\*1-0x99\]
+[      ]*[a-f0-9]+:    c4 63 79 df 84 23 67 ff ff ff 64        vaeskeygenassist xmm8,XMMWORD PTR \[rbx\+riz\*1-0x99\],0x64
 [      ]*[a-f0-9]+:    c4 63 79 14 84 23 67 ff ff ff 64        vpextrb BYTE PTR \[rbx\+riz\*1-0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c5 3b 2a bc 23 67 ff ff ff      vcvtsi2sd xmm15,xmm8,DWORD PTR \[rbx\+riz\*1-0x99\]
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 23 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rbx\+riz\*1-0x99\],xmm8
@@ -1428,6 +1451,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 84 63 67 ff ff ff      vcvtdq2pd ymm8,XMMWORD PTR \[rbx\+riz\*2-0x99\]
 [      ]*[a-f0-9]+:    c5 7d 5a 84 63 67 ff ff ff      vcvtpd2ps xmm8,YMMWORD PTR \[rbx\+riz\*2-0x99\]
 [      ]*[a-f0-9]+:    c5 39 e0 bc 63 67 ff ff ff      vpavgb xmm15,xmm8,XMMWORD PTR \[rbx\+riz\*2-0x99\]
+[      ]*[a-f0-9]+:    c4 63 79 df 84 63 67 ff ff ff 64        vaeskeygenassist xmm8,XMMWORD PTR \[rbx\+riz\*2-0x99\],0x64
 [      ]*[a-f0-9]+:    c4 63 79 14 84 63 67 ff ff ff 64        vpextrb BYTE PTR \[rbx\+riz\*2-0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c5 3b 2a bc 63 67 ff ff ff      vcvtsi2sd xmm15,xmm8,DWORD PTR \[rbx\+riz\*2-0x99\]
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 63 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rbx\+riz\*2-0x99\],xmm8
@@ -1447,6 +1471,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 01 7e e6 84 bc 67 ff ff ff   vcvtdq2pd ymm8,XMMWORD PTR \[r12\+r15\*4-0x99\]
 [      ]*[a-f0-9]+:    c4 01 7d 5a 84 bc 67 ff ff ff   vcvtpd2ps xmm8,YMMWORD PTR \[r12\+r15\*4-0x99\]
 [      ]*[a-f0-9]+:    c4 01 39 e0 bc bc 67 ff ff ff   vpavgb xmm15,xmm8,XMMWORD PTR \[r12\+r15\*4-0x99\]
+[      ]*[a-f0-9]+:    c4 03 79 df 84 bc 67 ff ff ff 64        vaeskeygenassist xmm8,XMMWORD PTR \[r12\+r15\*4-0x99\],0x64
 [      ]*[a-f0-9]+:    c4 03 79 14 84 bc 67 ff ff ff 64        vpextrb BYTE PTR \[r12\+r15\*4-0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c4 01 3b 2a bc bc 67 ff ff ff   vcvtsi2sd xmm15,xmm8,DWORD PTR \[r12\+r15\*4-0x99\]
 [      ]*[a-f0-9]+:    c4 03 19 4a b4 bc 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[r12\+r15\*4-0x99\],xmm8
@@ -1466,6 +1491,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 01 7e e6 84 f8 67 ff ff ff   vcvtdq2pd ymm8,XMMWORD PTR \[r8\+r15\*8-0x99\]
 [      ]*[a-f0-9]+:    c4 01 7d 5a 84 f8 67 ff ff ff   vcvtpd2ps xmm8,YMMWORD PTR \[r8\+r15\*8-0x99\]
 [      ]*[a-f0-9]+:    c4 01 39 e0 bc f8 67 ff ff ff   vpavgb xmm15,xmm8,XMMWORD PTR \[r8\+r15\*8-0x99\]
+[      ]*[a-f0-9]+:    c4 03 79 df 84 f8 67 ff ff ff 64        vaeskeygenassist xmm8,XMMWORD PTR \[r8\+r15\*8-0x99\],0x64
 [      ]*[a-f0-9]+:    c4 03 79 14 84 f8 67 ff ff ff 64        vpextrb BYTE PTR \[r8\+r15\*8-0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c4 01 3b 2a bc f8 67 ff ff ff   vcvtsi2sd xmm15,xmm8,DWORD PTR \[r8\+r15\*8-0x99\]
 [      ]*[a-f0-9]+:    c4 03 19 4a b4 f8 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[r8\+r15\*8-0x99\],xmm8
@@ -1485,6 +1511,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 21 7e e6 84 ad 67 ff ff ff   vcvtdq2pd ymm8,XMMWORD PTR \[rbp\+r13\*4-0x99\]
 [      ]*[a-f0-9]+:    c4 21 7d 5a 84 ad 67 ff ff ff   vcvtpd2ps xmm8,YMMWORD PTR \[rbp\+r13\*4-0x99\]
 [      ]*[a-f0-9]+:    c4 21 39 e0 bc ad 67 ff ff ff   vpavgb xmm15,xmm8,XMMWORD PTR \[rbp\+r13\*4-0x99\]
+[      ]*[a-f0-9]+:    c4 23 79 df 84 ad 67 ff ff ff 64        vaeskeygenassist xmm8,XMMWORD PTR \[rbp\+r13\*4-0x99\],0x64
 [      ]*[a-f0-9]+:    c4 23 79 14 84 ad 67 ff ff ff 64        vpextrb BYTE PTR \[rbp\+r13\*4-0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c4 21 3b 2a bc ad 67 ff ff ff   vcvtsi2sd xmm15,xmm8,DWORD PTR \[rbp\+r13\*4-0x99\]
 [      ]*[a-f0-9]+:    c4 23 19 4a b4 ad 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rbp\+r13\*4-0x99\],xmm8
@@ -1504,6 +1531,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 21 7e e6 84 24 67 ff ff ff   vcvtdq2pd ymm8,XMMWORD PTR \[rsp\+r12\*1-0x99\]
 [      ]*[a-f0-9]+:    c4 21 7d 5a 84 24 67 ff ff ff   vcvtpd2ps xmm8,YMMWORD PTR \[rsp\+r12\*1-0x99\]
 [      ]*[a-f0-9]+:    c4 21 39 e0 bc 24 67 ff ff ff   vpavgb xmm15,xmm8,XMMWORD PTR \[rsp\+r12\*1-0x99\]
+[      ]*[a-f0-9]+:    c4 23 79 df 84 24 67 ff ff ff 64        vaeskeygenassist xmm8,XMMWORD PTR \[rsp\+r12\*1-0x99\],0x64
 [      ]*[a-f0-9]+:    c4 23 79 14 84 24 67 ff ff ff 64        vpextrb BYTE PTR \[rsp\+r12\*1-0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c4 21 3b 2a bc 24 67 ff ff ff   vcvtsi2sd xmm15,xmm8,DWORD PTR \[rsp\+r12\*1-0x99\]
 [      ]*[a-f0-9]+:    c4 23 19 4a b4 24 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rsp\+r12\*1-0x99\],xmm8
@@ -1523,6 +1551,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 41 7b 2d c0          vcvtsd2si r8d,xmm8
 [      ]*[a-f0-9]+:    c4 41 7e e6 c0          vcvtdq2pd ymm8,xmm8
 [      ]*[a-f0-9]+:    c4 41 7d 5a c0          vcvtpd2ps xmm8,ymm8
+[      ]*[a-f0-9]+:    c4 43 79 df f8 64       vaeskeygenassist xmm15,xmm8,0x64
 [      ]*[a-f0-9]+:    c4 43 79 14 c0 64       vpextrb r8d,xmm8,0x64
 [      ]*[a-f0-9]+:    c4 41 3b 2a f8          vcvtsi2sd xmm15,xmm8,r8d
 [      ]*[a-f0-9]+:    c4 43 19 4a f0 80       vblendvps xmm14,xmm12,xmm8,xmm8
@@ -2085,6 +2114,9 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 f8 51 f4             vsqrtps xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 f8 51 21             vsqrtps xmm4,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c5 f8 51 21             vsqrtps xmm4,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e2 79 db f4          vaesimc xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 79 db 21          vaesimc xmm4,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e2 79 db 21          vaesimc xmm4,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c5 f9 28 f4             vmovapd xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 f9 29 21             vmovapd XMMWORD PTR \[rcx\],xmm4
 [      ]*[a-f0-9]+:    c5 f9 29 21             vmovapd XMMWORD PTR \[rcx\],xmm4
@@ -2461,6 +2493,18 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c8 57 d4             vxorps xmm2,xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 c8 57 39             vxorps xmm7,xmm6,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c5 c8 57 39             vxorps xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e2 49 dc d4          vaesenc xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 49 dc 39          vaesenc xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e2 49 dc 39          vaesenc xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e2 49 dd d4          vaesenclast xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 49 dd 39          vaesenclast xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e2 49 dd 39          vaesenclast xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e2 49 de d4          vaesdec xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 49 de 39          vaesdec xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e2 49 de 39          vaesdec xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e2 49 df d4          vaesdeclast xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e2 49 df 39          vaesdeclast xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e2 49 df 39          vaesdeclast xmm7,xmm6,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c5 c9 c2 d4 00          vcmpeqpd xmm2,xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 c9 c2 39 00          vcmpeqpd xmm7,xmm6,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c5 c9 c2 39 00          vcmpeqpd xmm7,xmm6,XMMWORD PTR \[rcx\]
@@ -2657,6 +2701,9 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e2 59 2c 31          vmaskmovps xmm6,xmm4,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c4 e2 59 2d 31          vmaskmovpd xmm6,xmm4,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c4 e2 59 2d 31          vmaskmovpd xmm6,xmm4,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e3 79 df f4 64       vaeskeygenassist xmm6,xmm4,0x64
+[      ]*[a-f0-9]+:    c4 e3 79 df 31 64       vaeskeygenassist xmm6,XMMWORD PTR \[rcx\],0x64
+[      ]*[a-f0-9]+:    c4 e3 79 df 31 64       vaeskeygenassist xmm6,XMMWORD PTR \[rcx\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 61 f4 64       vpcmpestri xmm6,xmm4,0x64
 [      ]*[a-f0-9]+:    c4 e3 79 61 31 64       vpcmpestri xmm6,XMMWORD PTR \[rcx\],0x64
 [      ]*[a-f0-9]+:    c4 e3 79 61 31 64       vpcmpestri xmm6,XMMWORD PTR \[rcx\],0x64
@@ -3355,6 +3402,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 04 25 78 56 34 12      vcvtdq2pd ymm8,XMMWORD PTR ds:0x12345678
 [      ]*[a-f0-9]+:    c5 7d 5a 04 25 78 56 34 12      vcvtpd2ps xmm8,YMMWORD PTR ds:0x12345678
 [      ]*[a-f0-9]+:    c5 39 e0 3c 25 78 56 34 12      vpavgb xmm15,xmm8,XMMWORD PTR ds:0x12345678
+[      ]*[a-f0-9]+:    c4 63 79 df 04 25 78 56 34 12 64        vaeskeygenassist xmm8,XMMWORD PTR ds:0x12345678,0x64
 [      ]*[a-f0-9]+:    c4 63 79 14 04 25 78 56 34 12 64        vpextrb BYTE PTR ds:0x12345678,xmm8,0x64
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 25 78 56 34 12      vcvtsi2sd xmm15,xmm8,DWORD PTR ds:0x12345678
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 25 78 56 34 12 80        vblendvps xmm14,xmm12,XMMWORD PTR ds:0x12345678,xmm8
@@ -3374,6 +3422,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 45 00          vcvtdq2pd ymm8,XMMWORD PTR \[rbp\+0x0\]
 [      ]*[a-f0-9]+:    c5 7d 5a 45 00          vcvtpd2ps xmm8,YMMWORD PTR \[rbp\+0x0\]
 [      ]*[a-f0-9]+:    c5 39 e0 7d 00          vpavgb xmm15,xmm8,XMMWORD PTR \[rbp\+0x0\]
+[      ]*[a-f0-9]+:    c4 63 79 df 45 00 64    vaeskeygenassist xmm8,XMMWORD PTR \[rbp\+0x0\],0x64
 [      ]*[a-f0-9]+:    c4 63 79 14 45 00 64    vpextrb BYTE PTR \[rbp\+0x0\],xmm8,0x64
 [      ]*[a-f0-9]+:    c5 3b 2a 7d 00          vcvtsi2sd xmm15,xmm8,DWORD PTR \[rbp\+0x0\]
 [      ]*[a-f0-9]+:    c4 63 19 4a 75 00 80    vblendvps xmm14,xmm12,XMMWORD PTR \[rbp\+0x0\],xmm8
@@ -3393,6 +3442,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 85 99 00 00 00         vcvtdq2pd ymm8,XMMWORD PTR \[rbp\+0x99\]
 [      ]*[a-f0-9]+:    c5 7d 5a 85 99 00 00 00         vcvtpd2ps xmm8,YMMWORD PTR \[rbp\+0x99\]
 [      ]*[a-f0-9]+:    c5 39 e0 bd 99 00 00 00         vpavgb xmm15,xmm8,XMMWORD PTR \[rbp\+0x99\]
+[      ]*[a-f0-9]+:    c4 63 79 df 85 99 00 00 00 64   vaeskeygenassist xmm8,XMMWORD PTR \[rbp\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 63 79 14 85 99 00 00 00 64   vpextrb BYTE PTR \[rbp\+0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c5 3b 2a bd 99 00 00 00         vcvtsi2sd xmm15,xmm8,DWORD PTR \[rbp\+0x99\]
 [      ]*[a-f0-9]+:    c4 63 19 4a b5 99 00 00 00 80   vblendvps xmm14,xmm12,XMMWORD PTR \[rbp\+0x99\],xmm8
@@ -3412,6 +3462,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 41 7e e6 87 99 00 00 00      vcvtdq2pd ymm8,XMMWORD PTR \[r15\+0x99\]
 [      ]*[a-f0-9]+:    c4 41 7d 5a 87 99 00 00 00      vcvtpd2ps xmm8,YMMWORD PTR \[r15\+0x99\]
 [      ]*[a-f0-9]+:    c4 41 39 e0 bf 99 00 00 00      vpavgb xmm15,xmm8,XMMWORD PTR \[r15\+0x99\]
+[      ]*[a-f0-9]+:    c4 43 79 df 87 99 00 00 00 64   vaeskeygenassist xmm8,XMMWORD PTR \[r15\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 43 79 14 87 99 00 00 00 64   vpextrb BYTE PTR \[r15\+0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c4 41 3b 2a bf 99 00 00 00      vcvtsi2sd xmm15,xmm8,DWORD PTR \[r15\+0x99\]
 [      ]*[a-f0-9]+:    c4 43 19 4a b7 99 00 00 00 80   vblendvps xmm14,xmm12,XMMWORD PTR \[r15\+0x99\],xmm8
@@ -3423,25 +3474,26 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 7d 19 87 99 00 00 00 64   vextractf128 XMMWORD PTR \[r15\+0x99\],ymm8,0x64
 [      ]*[a-f0-9]+:    c4 43 3d 06 bf 99 00 00 00 64   vperm2f128 ymm15,ymm8,YMMWORD PTR \[r15\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 43 1d 4b b7 99 00 00 00 80   vblendvpd ymm14,ymm12,YMMWORD PTR \[r15\+0x99\],ymm8
-[      ]*[a-f0-9]+:    c5 f8 ae 15 99 00 00 00         vldmxcsr DWORD PTR \[rip\+0x99\]        # 476e <_start\+0x476e>
-[      ]*[a-f0-9]+:    c5 79 6f 05 99 00 00 00         vmovdqa xmm8,XMMWORD PTR \[rip\+0x99\]        # 4776 <_start\+0x4776>
-[      ]*[a-f0-9]+:    c5 79 7f 05 99 00 00 00         vmovdqa XMMWORD PTR \[rip\+0x99\],xmm8        # 477e <_start\+0x477e>
-[      ]*[a-f0-9]+:    c5 79 7e 05 99 00 00 00         vmovd  DWORD PTR \[rip\+0x99\],xmm8        # 4786 <_start\+0x4786>
-[      ]*[a-f0-9]+:    c5 7b 2d 05 99 00 00 00         vcvtsd2si r8d,QWORD PTR \[rip\+0x99\]        # 478e <_start\+0x478e>
-[      ]*[a-f0-9]+:    c5 7e e6 05 99 00 00 00         vcvtdq2pd ymm8,XMMWORD PTR \[rip\+0x99\]        # 4796 <_start\+0x4796>
-[      ]*[a-f0-9]+:    c5 7d 5a 05 99 00 00 00         vcvtpd2ps xmm8,YMMWORD PTR \[rip\+0x99\]        # 479e <_start\+0x479e>
-[      ]*[a-f0-9]+:    c5 39 e0 3d 99 00 00 00         vpavgb xmm15,xmm8,XMMWORD PTR \[rip\+0x99\]        # 47a6 <_start\+0x47a6>
-[      ]*[a-f0-9]+:    c4 63 79 14 05 99 00 00 00 64   vpextrb BYTE PTR \[rip\+0x99\],xmm8,0x64        # 47b0 <_start\+0x47b0>
-[      ]*[a-f0-9]+:    c5 3b 2a 3d 99 00 00 00         vcvtsi2sd xmm15,xmm8,DWORD PTR \[rip\+0x99\]        # 47b8 <_start\+0x47b8>
-[      ]*[a-f0-9]+:    c4 63 19 4a 35 99 00 00 00 80   vblendvps xmm14,xmm12,XMMWORD PTR \[rip\+0x99\],xmm8        # 47c2 <_start\+0x47c2>
-[      ]*[a-f0-9]+:    c4 63 39 20 3d 99 00 00 00 64   vpinsrb xmm15,xmm8,BYTE PTR \[rip\+0x99\],0x64        # 47cc <_start\+0x47cc>
-[      ]*[a-f0-9]+:    c5 7d 6f 05 99 00 00 00         vmovdqa ymm8,YMMWORD PTR \[rip\+0x99\]        # 47d4 <_start\+0x47d4>
-[      ]*[a-f0-9]+:    c5 7d 7f 05 99 00 00 00         vmovdqa YMMWORD PTR \[rip\+0x99\],ymm8        # 47dc <_start\+0x47dc>
-[      ]*[a-f0-9]+:    c4 62 3d 0d 3d 99 00 00 00      vpermilpd ymm15,ymm8,YMMWORD PTR \[rip\+0x99\]        # 47e5 <_start\+0x47e5>
-[      ]*[a-f0-9]+:    c4 63 7d 09 05 99 00 00 00 64   vroundpd ymm8,YMMWORD PTR \[rip\+0x99\],0x64        # 47ef <_start\+0x47ef>
-[      ]*[a-f0-9]+:    c4 63 7d 19 05 99 00 00 00 64   vextractf128 XMMWORD PTR \[rip\+0x99\],ymm8,0x64        # 47f9 <_start\+0x47f9>
-[      ]*[a-f0-9]+:    c4 63 3d 06 3d 99 00 00 00 64   vperm2f128 ymm15,ymm8,YMMWORD PTR \[rip\+0x99\],0x64        # 4803 <_start\+0x4803>
-[      ]*[a-f0-9]+:    c4 63 1d 4b 35 99 00 00 00 80   vblendvpd ymm14,ymm12,YMMWORD PTR \[rip\+0x99\],ymm8        # 480d <_start\+0x480d>
+[      ]*[a-f0-9]+:    c5 f8 ae 15 99 00 00 00         vldmxcsr DWORD PTR \[rip\+0x99\]        # 48da <_start\+0x48da>
+[      ]*[a-f0-9]+:    c5 79 6f 05 99 00 00 00         vmovdqa xmm8,XMMWORD PTR \[rip\+0x99\]        # 48e2 <_start\+0x48e2>
+[      ]*[a-f0-9]+:    c5 79 7f 05 99 00 00 00         vmovdqa XMMWORD PTR \[rip\+0x99\],xmm8        # 48ea <_start\+0x48ea>
+[      ]*[a-f0-9]+:    c5 79 7e 05 99 00 00 00         vmovd  DWORD PTR \[rip\+0x99\],xmm8        # 48f2 <_start\+0x48f2>
+[      ]*[a-f0-9]+:    c5 7b 2d 05 99 00 00 00         vcvtsd2si r8d,QWORD PTR \[rip\+0x99\]        # 48fa <_start\+0x48fa>
+[      ]*[a-f0-9]+:    c5 7e e6 05 99 00 00 00         vcvtdq2pd ymm8,XMMWORD PTR \[rip\+0x99\]        # 4902 <_start\+0x4902>
+[      ]*[a-f0-9]+:    c5 7d 5a 05 99 00 00 00         vcvtpd2ps xmm8,YMMWORD PTR \[rip\+0x99\]        # 490a <_start\+0x490a>
+[      ]*[a-f0-9]+:    c5 39 e0 3d 99 00 00 00         vpavgb xmm15,xmm8,XMMWORD PTR \[rip\+0x99\]        # 4912 <_start\+0x4912>
+[      ]*[a-f0-9]+:    c4 63 79 df 05 99 00 00 00 64   vaeskeygenassist xmm8,XMMWORD PTR \[rip\+0x99\],0x64        # 491c <_start\+0x491c>
+[      ]*[a-f0-9]+:    c4 63 79 14 05 99 00 00 00 64   vpextrb BYTE PTR \[rip\+0x99\],xmm8,0x64        # 4926 <_start\+0x4926>
+[      ]*[a-f0-9]+:    c5 3b 2a 3d 99 00 00 00         vcvtsi2sd xmm15,xmm8,DWORD PTR \[rip\+0x99\]        # 492e <_start\+0x492e>
+[      ]*[a-f0-9]+:    c4 63 19 4a 35 99 00 00 00 80   vblendvps xmm14,xmm12,XMMWORD PTR \[rip\+0x99\],xmm8        # 4938 <_start\+0x4938>
+[      ]*[a-f0-9]+:    c4 63 39 20 3d 99 00 00 00 64   vpinsrb xmm15,xmm8,BYTE PTR \[rip\+0x99\],0x64        # 4942 <_start\+0x4942>
+[      ]*[a-f0-9]+:    c5 7d 6f 05 99 00 00 00         vmovdqa ymm8,YMMWORD PTR \[rip\+0x99\]        # 494a <_start\+0x494a>
+[      ]*[a-f0-9]+:    c5 7d 7f 05 99 00 00 00         vmovdqa YMMWORD PTR \[rip\+0x99\],ymm8        # 4952 <_start\+0x4952>
+[      ]*[a-f0-9]+:    c4 62 3d 0d 3d 99 00 00 00      vpermilpd ymm15,ymm8,YMMWORD PTR \[rip\+0x99\]        # 495b <_start\+0x495b>
+[      ]*[a-f0-9]+:    c4 63 7d 09 05 99 00 00 00 64   vroundpd ymm8,YMMWORD PTR \[rip\+0x99\],0x64        # 4965 <_start\+0x4965>
+[      ]*[a-f0-9]+:    c4 63 7d 19 05 99 00 00 00 64   vextractf128 XMMWORD PTR \[rip\+0x99\],ymm8,0x64        # 496f <_start\+0x496f>
+[      ]*[a-f0-9]+:    c4 63 3d 06 3d 99 00 00 00 64   vperm2f128 ymm15,ymm8,YMMWORD PTR \[rip\+0x99\],0x64        # 4979 <_start\+0x4979>
+[      ]*[a-f0-9]+:    c4 63 1d 4b 35 99 00 00 00 80   vblendvpd ymm14,ymm12,YMMWORD PTR \[rip\+0x99\],ymm8        # 4983 <_start\+0x4983>
 [      ]*[a-f0-9]+:    c5 f8 ae 94 24 99 00 00 00      vldmxcsr DWORD PTR \[rsp\+0x99\]
 [      ]*[a-f0-9]+:    c5 79 6f 84 24 99 00 00 00      vmovdqa xmm8,XMMWORD PTR \[rsp\+0x99\]
 [      ]*[a-f0-9]+:    c5 79 7f 84 24 99 00 00 00      vmovdqa XMMWORD PTR \[rsp\+0x99\],xmm8
@@ -3450,6 +3502,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 84 24 99 00 00 00      vcvtdq2pd ymm8,XMMWORD PTR \[rsp\+0x99\]
 [      ]*[a-f0-9]+:    c5 7d 5a 84 24 99 00 00 00      vcvtpd2ps xmm8,YMMWORD PTR \[rsp\+0x99\]
 [      ]*[a-f0-9]+:    c5 39 e0 bc 24 99 00 00 00      vpavgb xmm15,xmm8,XMMWORD PTR \[rsp\+0x99\]
+[      ]*[a-f0-9]+:    c4 63 79 df 84 24 99 00 00 00 64        vaeskeygenassist xmm8,XMMWORD PTR \[rsp\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 63 79 14 84 24 99 00 00 00 64        vpextrb BYTE PTR \[rsp\+0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c5 3b 2a bc 24 99 00 00 00      vcvtsi2sd xmm15,xmm8,DWORD PTR \[rsp\+0x99\]
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 24 99 00 00 00 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rsp\+0x99\],xmm8
@@ -3469,6 +3522,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 41 7e e6 84 24 99 00 00 00   vcvtdq2pd ymm8,XMMWORD PTR \[r12\+0x99\]
 [      ]*[a-f0-9]+:    c4 41 7d 5a 84 24 99 00 00 00   vcvtpd2ps xmm8,YMMWORD PTR \[r12\+0x99\]
 [      ]*[a-f0-9]+:    c4 41 39 e0 bc 24 99 00 00 00   vpavgb xmm15,xmm8,XMMWORD PTR \[r12\+0x99\]
+[      ]*[a-f0-9]+:    c4 43 79 df 84 24 99 00 00 00 64        vaeskeygenassist xmm8,XMMWORD PTR \[r12\+0x99\],0x64
 [      ]*[a-f0-9]+:    c4 43 79 14 84 24 99 00 00 00 64        vpextrb BYTE PTR \[r12\+0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c4 41 3b 2a bc 24 99 00 00 00   vcvtsi2sd xmm15,xmm8,DWORD PTR \[r12\+0x99\]
 [      ]*[a-f0-9]+:    c4 43 19 4a b4 24 99 00 00 00 80        vblendvps xmm14,xmm12,XMMWORD PTR \[r12\+0x99\],xmm8
@@ -3488,6 +3542,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 04 25 67 ff ff ff      vcvtdq2pd ymm8,XMMWORD PTR ds:0xffffffffffffff67
 [      ]*[a-f0-9]+:    c5 7d 5a 04 25 67 ff ff ff      vcvtpd2ps xmm8,YMMWORD PTR ds:0xffffffffffffff67
 [      ]*[a-f0-9]+:    c5 39 e0 3c 25 67 ff ff ff      vpavgb xmm15,xmm8,XMMWORD PTR ds:0xffffffffffffff67
+[      ]*[a-f0-9]+:    c4 63 79 df 04 25 67 ff ff ff 64        vaeskeygenassist xmm8,XMMWORD PTR ds:0xffffffffffffff67,0x64
 [      ]*[a-f0-9]+:    c4 63 79 14 04 25 67 ff ff ff 64        vpextrb BYTE PTR ds:0xffffffffffffff67,xmm8,0x64
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 25 67 ff ff ff      vcvtsi2sd xmm15,xmm8,DWORD PTR ds:0xffffffffffffff67
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 25 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR ds:0xffffffffffffff67,xmm8
@@ -3507,6 +3562,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 04 65 67 ff ff ff      vcvtdq2pd ymm8,XMMWORD PTR \[riz\*2-0x99\]
 [      ]*[a-f0-9]+:    c5 7d 5a 04 65 67 ff ff ff      vcvtpd2ps xmm8,YMMWORD PTR \[riz\*2-0x99\]
 [      ]*[a-f0-9]+:    c5 39 e0 3c 65 67 ff ff ff      vpavgb xmm15,xmm8,XMMWORD PTR \[riz\*2-0x99\]
+[      ]*[a-f0-9]+:    c4 63 79 df 04 65 67 ff ff ff 64        vaeskeygenassist xmm8,XMMWORD PTR \[riz\*2-0x99\],0x64
 [      ]*[a-f0-9]+:    c4 63 79 14 04 65 67 ff ff ff 64        vpextrb BYTE PTR \[riz\*2-0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 65 67 ff ff ff      vcvtsi2sd xmm15,xmm8,DWORD PTR \[riz\*2-0x99\]
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 65 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[riz\*2-0x99\],xmm8
@@ -3526,6 +3582,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 84 23 67 ff ff ff      vcvtdq2pd ymm8,XMMWORD PTR \[rbx\+riz\*1-0x99\]
 [      ]*[a-f0-9]+:    c5 7d 5a 84 23 67 ff ff ff      vcvtpd2ps xmm8,YMMWORD PTR \[rbx\+riz\*1-0x99\]
 [      ]*[a-f0-9]+:    c5 39 e0 bc 23 67 ff ff ff      vpavgb xmm15,xmm8,XMMWORD PTR \[rbx\+riz\*1-0x99\]
+[      ]*[a-f0-9]+:    c4 63 79 df 84 23 67 ff ff ff 64        vaeskeygenassist xmm8,XMMWORD PTR \[rbx\+riz\*1-0x99\],0x64
 [      ]*[a-f0-9]+:    c4 63 79 14 84 23 67 ff ff ff 64        vpextrb BYTE PTR \[rbx\+riz\*1-0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c5 3b 2a bc 23 67 ff ff ff      vcvtsi2sd xmm15,xmm8,DWORD PTR \[rbx\+riz\*1-0x99\]
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 23 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rbx\+riz\*1-0x99\],xmm8
@@ -3545,6 +3602,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 84 63 67 ff ff ff      vcvtdq2pd ymm8,XMMWORD PTR \[rbx\+riz\*2-0x99\]
 [      ]*[a-f0-9]+:    c5 7d 5a 84 63 67 ff ff ff      vcvtpd2ps xmm8,YMMWORD PTR \[rbx\+riz\*2-0x99\]
 [      ]*[a-f0-9]+:    c5 39 e0 bc 63 67 ff ff ff      vpavgb xmm15,xmm8,XMMWORD PTR \[rbx\+riz\*2-0x99\]
+[      ]*[a-f0-9]+:    c4 63 79 df 84 63 67 ff ff ff 64        vaeskeygenassist xmm8,XMMWORD PTR \[rbx\+riz\*2-0x99\],0x64
 [      ]*[a-f0-9]+:    c4 63 79 14 84 63 67 ff ff ff 64        vpextrb BYTE PTR \[rbx\+riz\*2-0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c5 3b 2a bc 63 67 ff ff ff      vcvtsi2sd xmm15,xmm8,DWORD PTR \[rbx\+riz\*2-0x99\]
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 63 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rbx\+riz\*2-0x99\],xmm8
@@ -3564,6 +3622,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 01 7e e6 84 bc 67 ff ff ff   vcvtdq2pd ymm8,XMMWORD PTR \[r12\+r15\*4-0x99\]
 [      ]*[a-f0-9]+:    c4 01 7d 5a 84 bc 67 ff ff ff   vcvtpd2ps xmm8,YMMWORD PTR \[r12\+r15\*4-0x99\]
 [      ]*[a-f0-9]+:    c4 01 39 e0 bc bc 67 ff ff ff   vpavgb xmm15,xmm8,XMMWORD PTR \[r12\+r15\*4-0x99\]
+[      ]*[a-f0-9]+:    c4 03 79 df 84 bc 67 ff ff ff 64        vaeskeygenassist xmm8,XMMWORD PTR \[r12\+r15\*4-0x99\],0x64
 [      ]*[a-f0-9]+:    c4 03 79 14 84 bc 67 ff ff ff 64        vpextrb BYTE PTR \[r12\+r15\*4-0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c4 01 3b 2a bc bc 67 ff ff ff   vcvtsi2sd xmm15,xmm8,DWORD PTR \[r12\+r15\*4-0x99\]
 [      ]*[a-f0-9]+:    c4 03 19 4a b4 bc 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[r12\+r15\*4-0x99\],xmm8
@@ -3583,6 +3642,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 01 7e e6 84 f8 67 ff ff ff   vcvtdq2pd ymm8,XMMWORD PTR \[r8\+r15\*8-0x99\]
 [      ]*[a-f0-9]+:    c4 01 7d 5a 84 f8 67 ff ff ff   vcvtpd2ps xmm8,YMMWORD PTR \[r8\+r15\*8-0x99\]
 [      ]*[a-f0-9]+:    c4 01 39 e0 bc f8 67 ff ff ff   vpavgb xmm15,xmm8,XMMWORD PTR \[r8\+r15\*8-0x99\]
+[      ]*[a-f0-9]+:    c4 03 79 df 84 f8 67 ff ff ff 64        vaeskeygenassist xmm8,XMMWORD PTR \[r8\+r15\*8-0x99\],0x64
 [      ]*[a-f0-9]+:    c4 03 79 14 84 f8 67 ff ff ff 64        vpextrb BYTE PTR \[r8\+r15\*8-0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c4 01 3b 2a bc f8 67 ff ff ff   vcvtsi2sd xmm15,xmm8,DWORD PTR \[r8\+r15\*8-0x99\]
 [      ]*[a-f0-9]+:    c4 03 19 4a b4 f8 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[r8\+r15\*8-0x99\],xmm8
@@ -3602,6 +3662,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 21 7e e6 84 a5 67 ff ff ff   vcvtdq2pd ymm8,XMMWORD PTR \[rbp\+r12\*4-0x99\]
 [      ]*[a-f0-9]+:    c4 21 7d 5a 84 a5 67 ff ff ff   vcvtpd2ps xmm8,YMMWORD PTR \[rbp\+r12\*4-0x99\]
 [      ]*[a-f0-9]+:    c4 21 39 e0 bc a5 67 ff ff ff   vpavgb xmm15,xmm8,XMMWORD PTR \[rbp\+r12\*4-0x99\]
+[      ]*[a-f0-9]+:    c4 23 79 df 84 a5 67 ff ff ff 64        vaeskeygenassist xmm8,XMMWORD PTR \[rbp\+r12\*4-0x99\],0x64
 [      ]*[a-f0-9]+:    c4 23 79 14 84 a5 67 ff ff ff 64        vpextrb BYTE PTR \[rbp\+r12\*4-0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c4 21 3b 2a bc a5 67 ff ff ff   vcvtsi2sd xmm15,xmm8,DWORD PTR \[rbp\+r12\*4-0x99\]
 [      ]*[a-f0-9]+:    c4 23 19 4a b4 a5 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rbp\+r12\*4-0x99\],xmm8
@@ -3621,6 +3682,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 21 7e e6 84 2c 67 ff ff ff   vcvtdq2pd ymm8,XMMWORD PTR \[rsp\+r13\*1-0x99\]
 [      ]*[a-f0-9]+:    c4 21 7d 5a 84 2c 67 ff ff ff   vcvtpd2ps xmm8,YMMWORD PTR \[rsp\+r13\*1-0x99\]
 [      ]*[a-f0-9]+:    c4 21 39 e0 bc 2c 67 ff ff ff   vpavgb xmm15,xmm8,XMMWORD PTR \[rsp\+r13\*1-0x99\]
+[      ]*[a-f0-9]+:    c4 23 79 df 84 2c 67 ff ff ff 64        vaeskeygenassist xmm8,XMMWORD PTR \[rsp\+r13\*1-0x99\],0x64
 [      ]*[a-f0-9]+:    c4 23 79 14 84 2c 67 ff ff ff 64        vpextrb BYTE PTR \[rsp\+r13\*1-0x99\],xmm8,0x64
 [      ]*[a-f0-9]+:    c4 21 3b 2a bc 2c 67 ff ff ff   vcvtsi2sd xmm15,xmm8,DWORD PTR \[rsp\+r13\*1-0x99\]
 [      ]*[a-f0-9]+:    c4 23 19 4a b4 2c 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rsp\+r13\*1-0x99\],xmm8
@@ -3640,6 +3702,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 41 7b 2d c0          vcvtsd2si r8d,xmm8
 [      ]*[a-f0-9]+:    c4 41 7e e6 c0          vcvtdq2pd ymm8,xmm8
 [      ]*[a-f0-9]+:    c4 41 7d 5a c0          vcvtpd2ps xmm8,ymm8
+[      ]*[a-f0-9]+:    c4 43 79 df f8 64       vaeskeygenassist xmm15,xmm8,0x64
 [      ]*[a-f0-9]+:    c4 43 79 14 c0 64       vpextrb r8d,xmm8,0x64
 [      ]*[a-f0-9]+:    c4 41 3b 2a f8          vcvtsi2sd xmm15,xmm8,r8d
 [      ]*[a-f0-9]+:    c4 43 19 4a f0 80       vblendvps xmm14,xmm12,xmm8,xmm8
index 72315c6..4ec6e06 100644 (file)
@@ -374,6 +374,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 f9 51 21             vsqrtpd \(%rcx\),%xmm4
 [      ]*[a-f0-9]+:    c5 f8 51 f4             vsqrtps %xmm4,%xmm6
 [      ]*[a-f0-9]+:    c5 f8 51 21             vsqrtps \(%rcx\),%xmm4
+[      ]*[a-f0-9]+:    c4 e2 79 db f4          vaesimc %xmm4,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 79 db 21          vaesimc \(%rcx\),%xmm4
 [      ]*[a-f0-9]+:    c5 f9 28 f4             vmovapd %xmm4,%xmm6
 [      ]*[a-f0-9]+:    c5 f9 29 21             vmovapd %xmm4,\(%rcx\)
 [      ]*[a-f0-9]+:    c5 f8 28 f4             vmovaps %xmm4,%xmm6
@@ -623,6 +625,14 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 57 39             vxorpd \(%rcx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c8 57 d4             vxorps %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c8 57 39             vxorps \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 dc d4          vaesenc %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e2 49 dc 39          vaesenc \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 dd d4          vaesenclast %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e2 49 dd 39          vaesenclast \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 de d4          vaesdec %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e2 49 de 39          vaesdec \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 df d4          vaesdeclast %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e2 49 df 39          vaesdeclast \(%rcx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 c2 d4 00          vcmpeqpd %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 c2 39 00          vcmpeqpd \(%rcx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 c2 d4 01          vcmpltpd %xmm4,%xmm6,%xmm2
@@ -753,6 +763,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c8 c2 39 1f          vcmptrue_usps \(%rcx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c4 e2 59 2c 31          vmaskmovps \(%rcx\),%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e2 59 2d 31          vmaskmovpd \(%rcx\),%xmm4,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 79 df f4 64       vaeskeygenassist \$0x64,%xmm4,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 79 df 31 64       vaeskeygenassist \$0x64,\(%rcx\),%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 61 f4 64       vpcmpestri \$0x64,%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 61 31 64       vpcmpestri \$0x64,\(%rcx\),%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 60 f4 64       vpcmpestrm \$0x64,%xmm4,%xmm6
@@ -1218,6 +1230,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 04 25 78 56 34 12      vcvtdq2pd 0x12345678,%ymm8
 [      ]*[a-f0-9]+:    c5 7d 5a 04 25 78 56 34 12      vcvtpd2psy 0x12345678,%xmm8
 [      ]*[a-f0-9]+:    c5 39 e0 3c 25 78 56 34 12      vpavgb 0x12345678,%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 79 df 04 25 78 56 34 12 64        vaeskeygenassist \$0x64,0x12345678,%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 04 25 78 56 34 12 64        vpextrb \$0x64,%xmm8,0x12345678
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 25 78 56 34 12      vcvtsi2sdl 0x12345678,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 25 78 56 34 12 80        vblendvps %xmm8,0x12345678,%xmm12,%xmm14
@@ -1237,6 +1250,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 45 00          vcvtdq2pd 0x0\(%rbp\),%ymm8
 [      ]*[a-f0-9]+:    c5 7d 5a 45 00          vcvtpd2psy 0x0\(%rbp\),%xmm8
 [      ]*[a-f0-9]+:    c5 39 e0 7d 00          vpavgb 0x0\(%rbp\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 79 df 45 00 64    vaeskeygenassist \$0x64,0x0\(%rbp\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 45 00 64    vpextrb \$0x64,%xmm8,0x0\(%rbp\)
 [      ]*[a-f0-9]+:    c5 3b 2a 7d 00          vcvtsi2sdl 0x0\(%rbp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a 75 00 80    vblendvps %xmm8,0x0\(%rbp\),%xmm12,%xmm14
@@ -1256,6 +1270,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 04 24          vcvtdq2pd \(%rsp\),%ymm8
 [      ]*[a-f0-9]+:    c5 7d 5a 04 24          vcvtpd2psy \(%rsp\),%xmm8
 [      ]*[a-f0-9]+:    c5 39 e0 3c 24          vpavgb \(%rsp\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 79 df 04 24 64    vaeskeygenassist \$0x64,\(%rsp\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 04 24 64    vpextrb \$0x64,%xmm8,\(%rsp\)
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 24          vcvtsi2sdl \(%rsp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 24 80    vblendvps %xmm8,\(%rsp\),%xmm12,%xmm14
@@ -1275,6 +1290,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 85 99 00 00 00         vcvtdq2pd 0x99\(%rbp\),%ymm8
 [      ]*[a-f0-9]+:    c5 7d 5a 85 99 00 00 00         vcvtpd2psy 0x99\(%rbp\),%xmm8
 [      ]*[a-f0-9]+:    c5 39 e0 bd 99 00 00 00         vpavgb 0x99\(%rbp\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 79 df 85 99 00 00 00 64   vaeskeygenassist \$0x64,0x99\(%rbp\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 85 99 00 00 00 64   vpextrb \$0x64,%xmm8,0x99\(%rbp\)
 [      ]*[a-f0-9]+:    c5 3b 2a bd 99 00 00 00         vcvtsi2sdl 0x99\(%rbp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a b5 99 00 00 00 80   vblendvps %xmm8,0x99\(%rbp\),%xmm12,%xmm14
@@ -1294,6 +1310,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 41 7e e6 87 99 00 00 00      vcvtdq2pd 0x99\(%r15\),%ymm8
 [      ]*[a-f0-9]+:    c4 41 7d 5a 87 99 00 00 00      vcvtpd2psy 0x99\(%r15\),%xmm8
 [      ]*[a-f0-9]+:    c4 41 39 e0 bf 99 00 00 00      vpavgb 0x99\(%r15\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 43 79 df 87 99 00 00 00 64   vaeskeygenassist \$0x64,0x99\(%r15\),%xmm8
 [      ]*[a-f0-9]+:    c4 43 79 14 87 99 00 00 00 64   vpextrb \$0x64,%xmm8,0x99\(%r15\)
 [      ]*[a-f0-9]+:    c4 41 3b 2a bf 99 00 00 00      vcvtsi2sdl 0x99\(%r15\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 43 19 4a b7 99 00 00 00 80   vblendvps %xmm8,0x99\(%r15\),%xmm12,%xmm14
@@ -1305,25 +1322,26 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 7d 19 87 99 00 00 00 64   vextractf128 \$0x64,%ymm8,0x99\(%r15\)
 [      ]*[a-f0-9]+:    c4 43 3d 06 bf 99 00 00 00 64   vperm2f128 \$0x64,0x99\(%r15\),%ymm8,%ymm15
 [      ]*[a-f0-9]+:    c4 43 1d 4b b7 99 00 00 00 80   vblendvpd %ymm8,0x99\(%r15\),%ymm12,%ymm14
-[      ]*[a-f0-9]+:    c5 f8 ae 15 99 00 00 00         vldmxcsr 0x99\(%rip\)        # 1a31 <_start\+0x1a31>
-[      ]*[a-f0-9]+:    c5 79 6f 05 99 00 00 00         vmovdqa 0x99\(%rip\),%xmm8        # 1a39 <_start\+0x1a39>
-[      ]*[a-f0-9]+:    c5 79 7f 05 99 00 00 00         vmovdqa %xmm8,0x99\(%rip\)        # 1a41 <_start\+0x1a41>
-[      ]*[a-f0-9]+:    c5 79 7e 05 99 00 00 00         vmovd  %xmm8,0x99\(%rip\)        # 1a49 <_start\+0x1a49>
-[      ]*[a-f0-9]+:    c5 7b 2d 05 99 00 00 00         vcvtsd2si 0x99\(%rip\),%r8d        # 1a51 <_start\+0x1a51>
-[      ]*[a-f0-9]+:    c5 7e e6 05 99 00 00 00         vcvtdq2pd 0x99\(%rip\),%ymm8        # 1a59 <_start\+0x1a59>
-[      ]*[a-f0-9]+:    c5 7d 5a 05 99 00 00 00         vcvtpd2psy 0x99\(%rip\),%xmm8        # 1a61 <_start\+0x1a61>
-[      ]*[a-f0-9]+:    c5 39 e0 3d 99 00 00 00         vpavgb 0x99\(%rip\),%xmm8,%xmm15        # 1a69 <_start\+0x1a69>
-[      ]*[a-f0-9]+:    c4 63 79 14 05 99 00 00 00 64   vpextrb \$0x64,%xmm8,0x99\(%rip\)        # 1a73 <_start\+0x1a73>
-[      ]*[a-f0-9]+:    c5 3b 2a 3d 99 00 00 00         vcvtsi2sdl 0x99\(%rip\),%xmm8,%xmm15        # 1a7b <_start\+0x1a7b>
-[      ]*[a-f0-9]+:    c4 63 19 4a 35 99 00 00 00 80   vblendvps %xmm8,0x99\(%rip\),%xmm12,%xmm14        # 1a85 <_start\+0x1a85>
-[      ]*[a-f0-9]+:    c4 63 39 20 3d 99 00 00 00 64   vpinsrb \$0x64,0x99\(%rip\),%xmm8,%xmm15        # 1a8f <_start\+0x1a8f>
-[      ]*[a-f0-9]+:    c5 7d 6f 05 99 00 00 00         vmovdqa 0x99\(%rip\),%ymm8        # 1a97 <_start\+0x1a97>
-[      ]*[a-f0-9]+:    c5 7d 7f 05 99 00 00 00         vmovdqa %ymm8,0x99\(%rip\)        # 1a9f <_start\+0x1a9f>
-[      ]*[a-f0-9]+:    c4 62 3d 0d 3d 99 00 00 00      vpermilpd 0x99\(%rip\),%ymm8,%ymm15        # 1aa8 <_start\+0x1aa8>
-[      ]*[a-f0-9]+:    c4 63 7d 09 05 99 00 00 00 64   vroundpd \$0x64,0x99\(%rip\),%ymm8        # 1ab2 <_start\+0x1ab2>
-[      ]*[a-f0-9]+:    c4 63 7d 19 05 99 00 00 00 64   vextractf128 \$0x64,%ymm8,0x99\(%rip\)        # 1abc <_start\+0x1abc>
-[      ]*[a-f0-9]+:    c4 63 3d 06 3d 99 00 00 00 64   vperm2f128 \$0x64,0x99\(%rip\),%ymm8,%ymm15        # 1ac6 <_start\+0x1ac6>
-[      ]*[a-f0-9]+:    c4 63 1d 4b 35 99 00 00 00 80   vblendvpd %ymm8,0x99\(%rip\),%ymm12,%ymm14        # 1ad0 <_start\+0x1ad0>
+[      ]*[a-f0-9]+:    c5 f8 ae 15 99 00 00 00         vldmxcsr 0x99\(%rip\)        # 1a9c <_start\+0x1a9c>
+[      ]*[a-f0-9]+:    c5 79 6f 05 99 00 00 00         vmovdqa 0x99\(%rip\),%xmm8        # 1aa4 <_start\+0x1aa4>
+[      ]*[a-f0-9]+:    c5 79 7f 05 99 00 00 00         vmovdqa %xmm8,0x99\(%rip\)        # 1aac <_start\+0x1aac>
+[      ]*[a-f0-9]+:    c5 79 7e 05 99 00 00 00         vmovd  %xmm8,0x99\(%rip\)        # 1ab4 <_start\+0x1ab4>
+[      ]*[a-f0-9]+:    c5 7b 2d 05 99 00 00 00         vcvtsd2si 0x99\(%rip\),%r8d        # 1abc <_start\+0x1abc>
+[      ]*[a-f0-9]+:    c5 7e e6 05 99 00 00 00         vcvtdq2pd 0x99\(%rip\),%ymm8        # 1ac4 <_start\+0x1ac4>
+[      ]*[a-f0-9]+:    c5 7d 5a 05 99 00 00 00         vcvtpd2psy 0x99\(%rip\),%xmm8        # 1acc <_start\+0x1acc>
+[      ]*[a-f0-9]+:    c5 39 e0 3d 99 00 00 00         vpavgb 0x99\(%rip\),%xmm8,%xmm15        # 1ad4 <_start\+0x1ad4>
+[      ]*[a-f0-9]+:    c4 63 79 df 05 99 00 00 00 64   vaeskeygenassist \$0x64,0x99\(%rip\),%xmm8        # 1ade <_start\+0x1ade>
+[      ]*[a-f0-9]+:    c4 63 79 14 05 99 00 00 00 64   vpextrb \$0x64,%xmm8,0x99\(%rip\)        # 1ae8 <_start\+0x1ae8>
+[      ]*[a-f0-9]+:    c5 3b 2a 3d 99 00 00 00         vcvtsi2sdl 0x99\(%rip\),%xmm8,%xmm15        # 1af0 <_start\+0x1af0>
+[      ]*[a-f0-9]+:    c4 63 19 4a 35 99 00 00 00 80   vblendvps %xmm8,0x99\(%rip\),%xmm12,%xmm14        # 1afa <_start\+0x1afa>
+[      ]*[a-f0-9]+:    c4 63 39 20 3d 99 00 00 00 64   vpinsrb \$0x64,0x99\(%rip\),%xmm8,%xmm15        # 1b04 <_start\+0x1b04>
+[      ]*[a-f0-9]+:    c5 7d 6f 05 99 00 00 00         vmovdqa 0x99\(%rip\),%ymm8        # 1b0c <_start\+0x1b0c>
+[      ]*[a-f0-9]+:    c5 7d 7f 05 99 00 00 00         vmovdqa %ymm8,0x99\(%rip\)        # 1b14 <_start\+0x1b14>
+[      ]*[a-f0-9]+:    c4 62 3d 0d 3d 99 00 00 00      vpermilpd 0x99\(%rip\),%ymm8,%ymm15        # 1b1d <_start\+0x1b1d>
+[      ]*[a-f0-9]+:    c4 63 7d 09 05 99 00 00 00 64   vroundpd \$0x64,0x99\(%rip\),%ymm8        # 1b27 <_start\+0x1b27>
+[      ]*[a-f0-9]+:    c4 63 7d 19 05 99 00 00 00 64   vextractf128 \$0x64,%ymm8,0x99\(%rip\)        # 1b31 <_start\+0x1b31>
+[      ]*[a-f0-9]+:    c4 63 3d 06 3d 99 00 00 00 64   vperm2f128 \$0x64,0x99\(%rip\),%ymm8,%ymm15        # 1b3b <_start\+0x1b3b>
+[      ]*[a-f0-9]+:    c4 63 1d 4b 35 99 00 00 00 80   vblendvpd %ymm8,0x99\(%rip\),%ymm12,%ymm14        # 1b45 <_start\+0x1b45>
 [      ]*[a-f0-9]+:    c5 f8 ae 94 24 99 00 00 00      vldmxcsr 0x99\(%rsp\)
 [      ]*[a-f0-9]+:    c5 79 6f 84 24 99 00 00 00      vmovdqa 0x99\(%rsp\),%xmm8
 [      ]*[a-f0-9]+:    c5 79 7f 84 24 99 00 00 00      vmovdqa %xmm8,0x99\(%rsp\)
@@ -1332,6 +1350,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 84 24 99 00 00 00      vcvtdq2pd 0x99\(%rsp\),%ymm8
 [      ]*[a-f0-9]+:    c5 7d 5a 84 24 99 00 00 00      vcvtpd2psy 0x99\(%rsp\),%xmm8
 [      ]*[a-f0-9]+:    c5 39 e0 bc 24 99 00 00 00      vpavgb 0x99\(%rsp\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 79 df 84 24 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(%rsp\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 84 24 99 00 00 00 64        vpextrb \$0x64,%xmm8,0x99\(%rsp\)
 [      ]*[a-f0-9]+:    c5 3b 2a bc 24 99 00 00 00      vcvtsi2sdl 0x99\(%rsp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 24 99 00 00 00 80        vblendvps %xmm8,0x99\(%rsp\),%xmm12,%xmm14
@@ -1351,6 +1370,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 41 7e e6 84 24 99 00 00 00   vcvtdq2pd 0x99\(%r12\),%ymm8
 [      ]*[a-f0-9]+:    c4 41 7d 5a 84 24 99 00 00 00   vcvtpd2psy 0x99\(%r12\),%xmm8
 [      ]*[a-f0-9]+:    c4 41 39 e0 bc 24 99 00 00 00   vpavgb 0x99\(%r12\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 43 79 df 84 24 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(%r12\),%xmm8
 [      ]*[a-f0-9]+:    c4 43 79 14 84 24 99 00 00 00 64        vpextrb \$0x64,%xmm8,0x99\(%r12\)
 [      ]*[a-f0-9]+:    c4 41 3b 2a bc 24 99 00 00 00   vcvtsi2sdl 0x99\(%r12\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 43 19 4a b4 24 99 00 00 00 80        vblendvps %xmm8,0x99\(%r12\),%xmm12,%xmm14
@@ -1370,6 +1390,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 04 25 67 ff ff ff      vcvtdq2pd 0xffffffffffffff67,%ymm8
 [      ]*[a-f0-9]+:    c5 7d 5a 04 25 67 ff ff ff      vcvtpd2psy 0xffffffffffffff67,%xmm8
 [      ]*[a-f0-9]+:    c5 39 e0 3c 25 67 ff ff ff      vpavgb 0xffffffffffffff67,%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 79 df 04 25 67 ff ff ff 64        vaeskeygenassist \$0x64,0xffffffffffffff67,%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 04 25 67 ff ff ff 64        vpextrb \$0x64,%xmm8,0xffffffffffffff67
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 25 67 ff ff ff      vcvtsi2sdl 0xffffffffffffff67,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 25 67 ff ff ff 80        vblendvps %xmm8,0xffffffffffffff67,%xmm12,%xmm14
@@ -1389,6 +1410,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 04 65 67 ff ff ff      vcvtdq2pd -0x99\(,%riz,2\),%ymm8
 [      ]*[a-f0-9]+:    c5 7d 5a 04 65 67 ff ff ff      vcvtpd2psy -0x99\(,%riz,2\),%xmm8
 [      ]*[a-f0-9]+:    c5 39 e0 3c 65 67 ff ff ff      vpavgb -0x99\(,%riz,2\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 79 df 04 65 67 ff ff ff 64        vaeskeygenassist \$0x64,-0x99\(,%riz,2\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 04 65 67 ff ff ff 64        vpextrb \$0x64,%xmm8,-0x99\(,%riz,2\)
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 65 67 ff ff ff      vcvtsi2sdl -0x99\(,%riz,2\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 65 67 ff ff ff 80        vblendvps %xmm8,-0x99\(,%riz,2\),%xmm12,%xmm14
@@ -1408,6 +1430,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 84 23 67 ff ff ff      vcvtdq2pd -0x99\(%rbx,%riz,1\),%ymm8
 [      ]*[a-f0-9]+:    c5 7d 5a 84 23 67 ff ff ff      vcvtpd2psy -0x99\(%rbx,%riz,1\),%xmm8
 [      ]*[a-f0-9]+:    c5 39 e0 bc 23 67 ff ff ff      vpavgb -0x99\(%rbx,%riz,1\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 79 df 84 23 67 ff ff ff 64        vaeskeygenassist \$0x64,-0x99\(%rbx,%riz,1\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 84 23 67 ff ff ff 64        vpextrb \$0x64,%xmm8,-0x99\(%rbx,%riz,1\)
 [      ]*[a-f0-9]+:    c5 3b 2a bc 23 67 ff ff ff      vcvtsi2sdl -0x99\(%rbx,%riz,1\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 23 67 ff ff ff 80        vblendvps %xmm8,-0x99\(%rbx,%riz,1\),%xmm12,%xmm14
@@ -1427,6 +1450,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 84 63 67 ff ff ff      vcvtdq2pd -0x99\(%rbx,%riz,2\),%ymm8
 [      ]*[a-f0-9]+:    c5 7d 5a 84 63 67 ff ff ff      vcvtpd2psy -0x99\(%rbx,%riz,2\),%xmm8
 [      ]*[a-f0-9]+:    c5 39 e0 bc 63 67 ff ff ff      vpavgb -0x99\(%rbx,%riz,2\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 79 df 84 63 67 ff ff ff 64        vaeskeygenassist \$0x64,-0x99\(%rbx,%riz,2\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 84 63 67 ff ff ff 64        vpextrb \$0x64,%xmm8,-0x99\(%rbx,%riz,2\)
 [      ]*[a-f0-9]+:    c5 3b 2a bc 63 67 ff ff ff      vcvtsi2sdl -0x99\(%rbx,%riz,2\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 63 67 ff ff ff 80        vblendvps %xmm8,-0x99\(%rbx,%riz,2\),%xmm12,%xmm14
@@ -1446,6 +1470,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 01 7e e6 84 bc 67 ff ff ff   vcvtdq2pd -0x99\(%r12,%r15,4\),%ymm8
 [      ]*[a-f0-9]+:    c4 01 7d 5a 84 bc 67 ff ff ff   vcvtpd2psy -0x99\(%r12,%r15,4\),%xmm8
 [      ]*[a-f0-9]+:    c4 01 39 e0 bc bc 67 ff ff ff   vpavgb -0x99\(%r12,%r15,4\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 03 79 df 84 bc 67 ff ff ff 64        vaeskeygenassist \$0x64,-0x99\(%r12,%r15,4\),%xmm8
 [      ]*[a-f0-9]+:    c4 03 79 14 84 bc 67 ff ff ff 64        vpextrb \$0x64,%xmm8,-0x99\(%r12,%r15,4\)
 [      ]*[a-f0-9]+:    c4 01 3b 2a bc bc 67 ff ff ff   vcvtsi2sdl -0x99\(%r12,%r15,4\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 03 19 4a b4 bc 67 ff ff ff 80        vblendvps %xmm8,-0x99\(%r12,%r15,4\),%xmm12,%xmm14
@@ -1465,6 +1490,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 01 7e e6 84 f8 67 ff ff ff   vcvtdq2pd -0x99\(%r8,%r15,8\),%ymm8
 [      ]*[a-f0-9]+:    c4 01 7d 5a 84 f8 67 ff ff ff   vcvtpd2psy -0x99\(%r8,%r15,8\),%xmm8
 [      ]*[a-f0-9]+:    c4 01 39 e0 bc f8 67 ff ff ff   vpavgb -0x99\(%r8,%r15,8\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 03 79 df 84 f8 67 ff ff ff 64        vaeskeygenassist \$0x64,-0x99\(%r8,%r15,8\),%xmm8
 [      ]*[a-f0-9]+:    c4 03 79 14 84 f8 67 ff ff ff 64        vpextrb \$0x64,%xmm8,-0x99\(%r8,%r15,8\)
 [      ]*[a-f0-9]+:    c4 01 3b 2a bc f8 67 ff ff ff   vcvtsi2sdl -0x99\(%r8,%r15,8\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 03 19 4a b4 f8 67 ff ff ff 80        vblendvps %xmm8,-0x99\(%r8,%r15,8\),%xmm12,%xmm14
@@ -1484,6 +1510,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 21 7e e6 84 ad 67 ff ff ff   vcvtdq2pd -0x99\(%rbp,%r13,4\),%ymm8
 [      ]*[a-f0-9]+:    c4 21 7d 5a 84 ad 67 ff ff ff   vcvtpd2psy -0x99\(%rbp,%r13,4\),%xmm8
 [      ]*[a-f0-9]+:    c4 21 39 e0 bc ad 67 ff ff ff   vpavgb -0x99\(%rbp,%r13,4\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 23 79 df 84 ad 67 ff ff ff 64        vaeskeygenassist \$0x64,-0x99\(%rbp,%r13,4\),%xmm8
 [      ]*[a-f0-9]+:    c4 23 79 14 84 ad 67 ff ff ff 64        vpextrb \$0x64,%xmm8,-0x99\(%rbp,%r13,4\)
 [      ]*[a-f0-9]+:    c4 21 3b 2a bc ad 67 ff ff ff   vcvtsi2sdl -0x99\(%rbp,%r13,4\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 23 19 4a b4 ad 67 ff ff ff 80        vblendvps %xmm8,-0x99\(%rbp,%r13,4\),%xmm12,%xmm14
@@ -1503,6 +1530,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 21 7e e6 84 24 67 ff ff ff   vcvtdq2pd -0x99\(%rsp,%r12,1\),%ymm8
 [      ]*[a-f0-9]+:    c4 21 7d 5a 84 24 67 ff ff ff   vcvtpd2psy -0x99\(%rsp,%r12,1\),%xmm8
 [      ]*[a-f0-9]+:    c4 21 39 e0 bc 24 67 ff ff ff   vpavgb -0x99\(%rsp,%r12,1\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 23 79 df 84 24 67 ff ff ff 64        vaeskeygenassist \$0x64,-0x99\(%rsp,%r12,1\),%xmm8
 [      ]*[a-f0-9]+:    c4 23 79 14 84 24 67 ff ff ff 64        vpextrb \$0x64,%xmm8,-0x99\(%rsp,%r12,1\)
 [      ]*[a-f0-9]+:    c4 21 3b 2a bc 24 67 ff ff ff   vcvtsi2sdl -0x99\(%rsp,%r12,1\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 23 19 4a b4 24 67 ff ff ff 80        vblendvps %xmm8,-0x99\(%rsp,%r12,1\),%xmm12,%xmm14
@@ -1522,6 +1550,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 41 7b 2d c0          vcvtsd2si %xmm8,%r8d
 [      ]*[a-f0-9]+:    c4 41 7e e6 c0          vcvtdq2pd %xmm8,%ymm8
 [      ]*[a-f0-9]+:    c4 41 7d 5a c0          vcvtpd2ps %ymm8,%xmm8
+[      ]*[a-f0-9]+:    c4 43 79 df f8 64       vaeskeygenassist \$0x64,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 43 79 14 c0 64       vpextrb \$0x64,%xmm8,%r8d
 [      ]*[a-f0-9]+:    c4 41 3b 2a f8          vcvtsi2sd %r8d,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 43 19 4a f0 80       vblendvps %xmm8,%xmm8,%xmm12,%xmm14
@@ -2084,6 +2113,9 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 f8 51 f4             vsqrtps %xmm4,%xmm6
 [      ]*[a-f0-9]+:    c5 f8 51 21             vsqrtps \(%rcx\),%xmm4
 [      ]*[a-f0-9]+:    c5 f8 51 21             vsqrtps \(%rcx\),%xmm4
+[      ]*[a-f0-9]+:    c4 e2 79 db f4          vaesimc %xmm4,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 79 db 21          vaesimc \(%rcx\),%xmm4
+[      ]*[a-f0-9]+:    c4 e2 79 db 21          vaesimc \(%rcx\),%xmm4
 [      ]*[a-f0-9]+:    c5 f9 28 f4             vmovapd %xmm4,%xmm6
 [      ]*[a-f0-9]+:    c5 f9 29 21             vmovapd %xmm4,\(%rcx\)
 [      ]*[a-f0-9]+:    c5 f9 29 21             vmovapd %xmm4,\(%rcx\)
@@ -2460,6 +2492,18 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c8 57 d4             vxorps %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c8 57 39             vxorps \(%rcx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c8 57 39             vxorps \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 dc d4          vaesenc %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e2 49 dc 39          vaesenc \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 dc 39          vaesenc \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 dd d4          vaesenclast %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e2 49 dd 39          vaesenclast \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 dd 39          vaesenclast \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 de d4          vaesdec %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e2 49 de 39          vaesdec \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 de 39          vaesdec \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 df d4          vaesdeclast %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e2 49 df 39          vaesdeclast \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e2 49 df 39          vaesdeclast \(%rcx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 c2 d4 00          vcmpeqpd %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 c2 39 00          vcmpeqpd \(%rcx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 c2 39 00          vcmpeqpd \(%rcx\),%xmm6,%xmm7
@@ -2656,6 +2700,9 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e2 59 2c 31          vmaskmovps \(%rcx\),%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e2 59 2d 31          vmaskmovpd \(%rcx\),%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e2 59 2d 31          vmaskmovpd \(%rcx\),%xmm4,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 79 df f4 64       vaeskeygenassist \$0x64,%xmm4,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 79 df 31 64       vaeskeygenassist \$0x64,\(%rcx\),%xmm6
+[      ]*[a-f0-9]+:    c4 e3 79 df 31 64       vaeskeygenassist \$0x64,\(%rcx\),%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 61 f4 64       vpcmpestri \$0x64,%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 61 31 64       vpcmpestri \$0x64,\(%rcx\),%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 61 31 64       vpcmpestri \$0x64,\(%rcx\),%xmm6
@@ -3354,6 +3401,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 04 25 78 56 34 12      vcvtdq2pd 0x12345678,%ymm8
 [      ]*[a-f0-9]+:    c5 7d 5a 04 25 78 56 34 12      vcvtpd2psy 0x12345678,%xmm8
 [      ]*[a-f0-9]+:    c5 39 e0 3c 25 78 56 34 12      vpavgb 0x12345678,%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 79 df 04 25 78 56 34 12 64        vaeskeygenassist \$0x64,0x12345678,%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 04 25 78 56 34 12 64        vpextrb \$0x64,%xmm8,0x12345678
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 25 78 56 34 12      vcvtsi2sdl 0x12345678,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 25 78 56 34 12 80        vblendvps %xmm8,0x12345678,%xmm12,%xmm14
@@ -3373,6 +3421,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 45 00          vcvtdq2pd 0x0\(%rbp\),%ymm8
 [      ]*[a-f0-9]+:    c5 7d 5a 45 00          vcvtpd2psy 0x0\(%rbp\),%xmm8
 [      ]*[a-f0-9]+:    c5 39 e0 7d 00          vpavgb 0x0\(%rbp\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 79 df 45 00 64    vaeskeygenassist \$0x64,0x0\(%rbp\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 45 00 64    vpextrb \$0x64,%xmm8,0x0\(%rbp\)
 [      ]*[a-f0-9]+:    c5 3b 2a 7d 00          vcvtsi2sdl 0x0\(%rbp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a 75 00 80    vblendvps %xmm8,0x0\(%rbp\),%xmm12,%xmm14
@@ -3392,6 +3441,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 85 99 00 00 00         vcvtdq2pd 0x99\(%rbp\),%ymm8
 [      ]*[a-f0-9]+:    c5 7d 5a 85 99 00 00 00         vcvtpd2psy 0x99\(%rbp\),%xmm8
 [      ]*[a-f0-9]+:    c5 39 e0 bd 99 00 00 00         vpavgb 0x99\(%rbp\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 79 df 85 99 00 00 00 64   vaeskeygenassist \$0x64,0x99\(%rbp\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 85 99 00 00 00 64   vpextrb \$0x64,%xmm8,0x99\(%rbp\)
 [      ]*[a-f0-9]+:    c5 3b 2a bd 99 00 00 00         vcvtsi2sdl 0x99\(%rbp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a b5 99 00 00 00 80   vblendvps %xmm8,0x99\(%rbp\),%xmm12,%xmm14
@@ -3411,6 +3461,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 41 7e e6 87 99 00 00 00      vcvtdq2pd 0x99\(%r15\),%ymm8
 [      ]*[a-f0-9]+:    c4 41 7d 5a 87 99 00 00 00      vcvtpd2psy 0x99\(%r15\),%xmm8
 [      ]*[a-f0-9]+:    c4 41 39 e0 bf 99 00 00 00      vpavgb 0x99\(%r15\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 43 79 df 87 99 00 00 00 64   vaeskeygenassist \$0x64,0x99\(%r15\),%xmm8
 [      ]*[a-f0-9]+:    c4 43 79 14 87 99 00 00 00 64   vpextrb \$0x64,%xmm8,0x99\(%r15\)
 [      ]*[a-f0-9]+:    c4 41 3b 2a bf 99 00 00 00      vcvtsi2sdl 0x99\(%r15\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 43 19 4a b7 99 00 00 00 80   vblendvps %xmm8,0x99\(%r15\),%xmm12,%xmm14
@@ -3422,25 +3473,26 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 7d 19 87 99 00 00 00 64   vextractf128 \$0x64,%ymm8,0x99\(%r15\)
 [      ]*[a-f0-9]+:    c4 43 3d 06 bf 99 00 00 00 64   vperm2f128 \$0x64,0x99\(%r15\),%ymm8,%ymm15
 [      ]*[a-f0-9]+:    c4 43 1d 4b b7 99 00 00 00 80   vblendvpd %ymm8,0x99\(%r15\),%ymm12,%ymm14
-[      ]*[a-f0-9]+:    c5 f8 ae 15 99 00 00 00         vldmxcsr 0x99\(%rip\)        # 476e <_start\+0x476e>
-[      ]*[a-f0-9]+:    c5 79 6f 05 99 00 00 00         vmovdqa 0x99\(%rip\),%xmm8        # 4776 <_start\+0x4776>
-[      ]*[a-f0-9]+:    c5 79 7f 05 99 00 00 00         vmovdqa %xmm8,0x99\(%rip\)        # 477e <_start\+0x477e>
-[      ]*[a-f0-9]+:    c5 79 7e 05 99 00 00 00         vmovd  %xmm8,0x99\(%rip\)        # 4786 <_start\+0x4786>
-[      ]*[a-f0-9]+:    c5 7b 2d 05 99 00 00 00         vcvtsd2si 0x99\(%rip\),%r8d        # 478e <_start\+0x478e>
-[      ]*[a-f0-9]+:    c5 7e e6 05 99 00 00 00         vcvtdq2pd 0x99\(%rip\),%ymm8        # 4796 <_start\+0x4796>
-[      ]*[a-f0-9]+:    c5 7d 5a 05 99 00 00 00         vcvtpd2psy 0x99\(%rip\),%xmm8        # 479e <_start\+0x479e>
-[      ]*[a-f0-9]+:    c5 39 e0 3d 99 00 00 00         vpavgb 0x99\(%rip\),%xmm8,%xmm15        # 47a6 <_start\+0x47a6>
-[      ]*[a-f0-9]+:    c4 63 79 14 05 99 00 00 00 64   vpextrb \$0x64,%xmm8,0x99\(%rip\)        # 47b0 <_start\+0x47b0>
-[      ]*[a-f0-9]+:    c5 3b 2a 3d 99 00 00 00         vcvtsi2sdl 0x99\(%rip\),%xmm8,%xmm15        # 47b8 <_start\+0x47b8>
-[      ]*[a-f0-9]+:    c4 63 19 4a 35 99 00 00 00 80   vblendvps %xmm8,0x99\(%rip\),%xmm12,%xmm14        # 47c2 <_start\+0x47c2>
-[      ]*[a-f0-9]+:    c4 63 39 20 3d 99 00 00 00 64   vpinsrb \$0x64,0x99\(%rip\),%xmm8,%xmm15        # 47cc <_start\+0x47cc>
-[      ]*[a-f0-9]+:    c5 7d 6f 05 99 00 00 00         vmovdqa 0x99\(%rip\),%ymm8        # 47d4 <_start\+0x47d4>
-[      ]*[a-f0-9]+:    c5 7d 7f 05 99 00 00 00         vmovdqa %ymm8,0x99\(%rip\)        # 47dc <_start\+0x47dc>
-[      ]*[a-f0-9]+:    c4 62 3d 0d 3d 99 00 00 00      vpermilpd 0x99\(%rip\),%ymm8,%ymm15        # 47e5 <_start\+0x47e5>
-[      ]*[a-f0-9]+:    c4 63 7d 09 05 99 00 00 00 64   vroundpd \$0x64,0x99\(%rip\),%ymm8        # 47ef <_start\+0x47ef>
-[      ]*[a-f0-9]+:    c4 63 7d 19 05 99 00 00 00 64   vextractf128 \$0x64,%ymm8,0x99\(%rip\)        # 47f9 <_start\+0x47f9>
-[      ]*[a-f0-9]+:    c4 63 3d 06 3d 99 00 00 00 64   vperm2f128 \$0x64,0x99\(%rip\),%ymm8,%ymm15        # 4803 <_start\+0x4803>
-[      ]*[a-f0-9]+:    c4 63 1d 4b 35 99 00 00 00 80   vblendvpd %ymm8,0x99\(%rip\),%ymm12,%ymm14        # 480d <_start\+0x480d>
+[      ]*[a-f0-9]+:    c5 f8 ae 15 99 00 00 00         vldmxcsr 0x99\(%rip\)        # 48da <_start\+0x48da>
+[      ]*[a-f0-9]+:    c5 79 6f 05 99 00 00 00         vmovdqa 0x99\(%rip\),%xmm8        # 48e2 <_start\+0x48e2>
+[      ]*[a-f0-9]+:    c5 79 7f 05 99 00 00 00         vmovdqa %xmm8,0x99\(%rip\)        # 48ea <_start\+0x48ea>
+[      ]*[a-f0-9]+:    c5 79 7e 05 99 00 00 00         vmovd  %xmm8,0x99\(%rip\)        # 48f2 <_start\+0x48f2>
+[      ]*[a-f0-9]+:    c5 7b 2d 05 99 00 00 00         vcvtsd2si 0x99\(%rip\),%r8d        # 48fa <_start\+0x48fa>
+[      ]*[a-f0-9]+:    c5 7e e6 05 99 00 00 00         vcvtdq2pd 0x99\(%rip\),%ymm8        # 4902 <_start\+0x4902>
+[      ]*[a-f0-9]+:    c5 7d 5a 05 99 00 00 00         vcvtpd2psy 0x99\(%rip\),%xmm8        # 490a <_start\+0x490a>
+[      ]*[a-f0-9]+:    c5 39 e0 3d 99 00 00 00         vpavgb 0x99\(%rip\),%xmm8,%xmm15        # 4912 <_start\+0x4912>
+[      ]*[a-f0-9]+:    c4 63 79 df 05 99 00 00 00 64   vaeskeygenassist \$0x64,0x99\(%rip\),%xmm8        # 491c <_start\+0x491c>
+[      ]*[a-f0-9]+:    c4 63 79 14 05 99 00 00 00 64   vpextrb \$0x64,%xmm8,0x99\(%rip\)        # 4926 <_start\+0x4926>
+[      ]*[a-f0-9]+:    c5 3b 2a 3d 99 00 00 00         vcvtsi2sdl 0x99\(%rip\),%xmm8,%xmm15        # 492e <_start\+0x492e>
+[      ]*[a-f0-9]+:    c4 63 19 4a 35 99 00 00 00 80   vblendvps %xmm8,0x99\(%rip\),%xmm12,%xmm14        # 4938 <_start\+0x4938>
+[      ]*[a-f0-9]+:    c4 63 39 20 3d 99 00 00 00 64   vpinsrb \$0x64,0x99\(%rip\),%xmm8,%xmm15        # 4942 <_start\+0x4942>
+[      ]*[a-f0-9]+:    c5 7d 6f 05 99 00 00 00         vmovdqa 0x99\(%rip\),%ymm8        # 494a <_start\+0x494a>
+[      ]*[a-f0-9]+:    c5 7d 7f 05 99 00 00 00         vmovdqa %ymm8,0x99\(%rip\)        # 4952 <_start\+0x4952>
+[      ]*[a-f0-9]+:    c4 62 3d 0d 3d 99 00 00 00      vpermilpd 0x99\(%rip\),%ymm8,%ymm15        # 495b <_start\+0x495b>
+[      ]*[a-f0-9]+:    c4 63 7d 09 05 99 00 00 00 64   vroundpd \$0x64,0x99\(%rip\),%ymm8        # 4965 <_start\+0x4965>
+[      ]*[a-f0-9]+:    c4 63 7d 19 05 99 00 00 00 64   vextractf128 \$0x64,%ymm8,0x99\(%rip\)        # 496f <_start\+0x496f>
+[      ]*[a-f0-9]+:    c4 63 3d 06 3d 99 00 00 00 64   vperm2f128 \$0x64,0x99\(%rip\),%ymm8,%ymm15        # 4979 <_start\+0x4979>
+[      ]*[a-f0-9]+:    c4 63 1d 4b 35 99 00 00 00 80   vblendvpd %ymm8,0x99\(%rip\),%ymm12,%ymm14        # 4983 <_start\+0x4983>
 [      ]*[a-f0-9]+:    c5 f8 ae 94 24 99 00 00 00      vldmxcsr 0x99\(%rsp\)
 [      ]*[a-f0-9]+:    c5 79 6f 84 24 99 00 00 00      vmovdqa 0x99\(%rsp\),%xmm8
 [      ]*[a-f0-9]+:    c5 79 7f 84 24 99 00 00 00      vmovdqa %xmm8,0x99\(%rsp\)
@@ -3449,6 +3501,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 84 24 99 00 00 00      vcvtdq2pd 0x99\(%rsp\),%ymm8
 [      ]*[a-f0-9]+:    c5 7d 5a 84 24 99 00 00 00      vcvtpd2psy 0x99\(%rsp\),%xmm8
 [      ]*[a-f0-9]+:    c5 39 e0 bc 24 99 00 00 00      vpavgb 0x99\(%rsp\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 79 df 84 24 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(%rsp\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 84 24 99 00 00 00 64        vpextrb \$0x64,%xmm8,0x99\(%rsp\)
 [      ]*[a-f0-9]+:    c5 3b 2a bc 24 99 00 00 00      vcvtsi2sdl 0x99\(%rsp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 24 99 00 00 00 80        vblendvps %xmm8,0x99\(%rsp\),%xmm12,%xmm14
@@ -3468,6 +3521,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 41 7e e6 84 24 99 00 00 00   vcvtdq2pd 0x99\(%r12\),%ymm8
 [      ]*[a-f0-9]+:    c4 41 7d 5a 84 24 99 00 00 00   vcvtpd2psy 0x99\(%r12\),%xmm8
 [      ]*[a-f0-9]+:    c4 41 39 e0 bc 24 99 00 00 00   vpavgb 0x99\(%r12\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 43 79 df 84 24 99 00 00 00 64        vaeskeygenassist \$0x64,0x99\(%r12\),%xmm8
 [      ]*[a-f0-9]+:    c4 43 79 14 84 24 99 00 00 00 64        vpextrb \$0x64,%xmm8,0x99\(%r12\)
 [      ]*[a-f0-9]+:    c4 41 3b 2a bc 24 99 00 00 00   vcvtsi2sdl 0x99\(%r12\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 43 19 4a b4 24 99 00 00 00 80        vblendvps %xmm8,0x99\(%r12\),%xmm12,%xmm14
@@ -3487,6 +3541,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 04 25 67 ff ff ff      vcvtdq2pd 0xffffffffffffff67,%ymm8
 [      ]*[a-f0-9]+:    c5 7d 5a 04 25 67 ff ff ff      vcvtpd2psy 0xffffffffffffff67,%xmm8
 [      ]*[a-f0-9]+:    c5 39 e0 3c 25 67 ff ff ff      vpavgb 0xffffffffffffff67,%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 79 df 04 25 67 ff ff ff 64        vaeskeygenassist \$0x64,0xffffffffffffff67,%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 04 25 67 ff ff ff 64        vpextrb \$0x64,%xmm8,0xffffffffffffff67
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 25 67 ff ff ff      vcvtsi2sdl 0xffffffffffffff67,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 25 67 ff ff ff 80        vblendvps %xmm8,0xffffffffffffff67,%xmm12,%xmm14
@@ -3506,6 +3561,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 04 65 67 ff ff ff      vcvtdq2pd -0x99\(,%riz,2\),%ymm8
 [      ]*[a-f0-9]+:    c5 7d 5a 04 65 67 ff ff ff      vcvtpd2psy -0x99\(,%riz,2\),%xmm8
 [      ]*[a-f0-9]+:    c5 39 e0 3c 65 67 ff ff ff      vpavgb -0x99\(,%riz,2\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 79 df 04 65 67 ff ff ff 64        vaeskeygenassist \$0x64,-0x99\(,%riz,2\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 04 65 67 ff ff ff 64        vpextrb \$0x64,%xmm8,-0x99\(,%riz,2\)
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 65 67 ff ff ff      vcvtsi2sdl -0x99\(,%riz,2\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 65 67 ff ff ff 80        vblendvps %xmm8,-0x99\(,%riz,2\),%xmm12,%xmm14
@@ -3525,6 +3581,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 84 23 67 ff ff ff      vcvtdq2pd -0x99\(%rbx,%riz,1\),%ymm8
 [      ]*[a-f0-9]+:    c5 7d 5a 84 23 67 ff ff ff      vcvtpd2psy -0x99\(%rbx,%riz,1\),%xmm8
 [      ]*[a-f0-9]+:    c5 39 e0 bc 23 67 ff ff ff      vpavgb -0x99\(%rbx,%riz,1\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 79 df 84 23 67 ff ff ff 64        vaeskeygenassist \$0x64,-0x99\(%rbx,%riz,1\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 84 23 67 ff ff ff 64        vpextrb \$0x64,%xmm8,-0x99\(%rbx,%riz,1\)
 [      ]*[a-f0-9]+:    c5 3b 2a bc 23 67 ff ff ff      vcvtsi2sdl -0x99\(%rbx,%riz,1\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 23 67 ff ff ff 80        vblendvps %xmm8,-0x99\(%rbx,%riz,1\),%xmm12,%xmm14
@@ -3544,6 +3601,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 7e e6 84 63 67 ff ff ff      vcvtdq2pd -0x99\(%rbx,%riz,2\),%ymm8
 [      ]*[a-f0-9]+:    c5 7d 5a 84 63 67 ff ff ff      vcvtpd2psy -0x99\(%rbx,%riz,2\),%xmm8
 [      ]*[a-f0-9]+:    c5 39 e0 bc 63 67 ff ff ff      vpavgb -0x99\(%rbx,%riz,2\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 79 df 84 63 67 ff ff ff 64        vaeskeygenassist \$0x64,-0x99\(%rbx,%riz,2\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 84 63 67 ff ff ff 64        vpextrb \$0x64,%xmm8,-0x99\(%rbx,%riz,2\)
 [      ]*[a-f0-9]+:    c5 3b 2a bc 63 67 ff ff ff      vcvtsi2sdl -0x99\(%rbx,%riz,2\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 63 67 ff ff ff 80        vblendvps %xmm8,-0x99\(%rbx,%riz,2\),%xmm12,%xmm14
@@ -3563,6 +3621,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 01 7e e6 84 bc 67 ff ff ff   vcvtdq2pd -0x99\(%r12,%r15,4\),%ymm8
 [      ]*[a-f0-9]+:    c4 01 7d 5a 84 bc 67 ff ff ff   vcvtpd2psy -0x99\(%r12,%r15,4\),%xmm8
 [      ]*[a-f0-9]+:    c4 01 39 e0 bc bc 67 ff ff ff   vpavgb -0x99\(%r12,%r15,4\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 03 79 df 84 bc 67 ff ff ff 64        vaeskeygenassist \$0x64,-0x99\(%r12,%r15,4\),%xmm8
 [      ]*[a-f0-9]+:    c4 03 79 14 84 bc 67 ff ff ff 64        vpextrb \$0x64,%xmm8,-0x99\(%r12,%r15,4\)
 [      ]*[a-f0-9]+:    c4 01 3b 2a bc bc 67 ff ff ff   vcvtsi2sdl -0x99\(%r12,%r15,4\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 03 19 4a b4 bc 67 ff ff ff 80        vblendvps %xmm8,-0x99\(%r12,%r15,4\),%xmm12,%xmm14
@@ -3582,6 +3641,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 01 7e e6 84 f8 67 ff ff ff   vcvtdq2pd -0x99\(%r8,%r15,8\),%ymm8
 [      ]*[a-f0-9]+:    c4 01 7d 5a 84 f8 67 ff ff ff   vcvtpd2psy -0x99\(%r8,%r15,8\),%xmm8
 [      ]*[a-f0-9]+:    c4 01 39 e0 bc f8 67 ff ff ff   vpavgb -0x99\(%r8,%r15,8\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 03 79 df 84 f8 67 ff ff ff 64        vaeskeygenassist \$0x64,-0x99\(%r8,%r15,8\),%xmm8
 [      ]*[a-f0-9]+:    c4 03 79 14 84 f8 67 ff ff ff 64        vpextrb \$0x64,%xmm8,-0x99\(%r8,%r15,8\)
 [      ]*[a-f0-9]+:    c4 01 3b 2a bc f8 67 ff ff ff   vcvtsi2sdl -0x99\(%r8,%r15,8\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 03 19 4a b4 f8 67 ff ff ff 80        vblendvps %xmm8,-0x99\(%r8,%r15,8\),%xmm12,%xmm14
@@ -3601,6 +3661,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 21 7e e6 84 a5 67 ff ff ff   vcvtdq2pd -0x99\(%rbp,%r12,4\),%ymm8
 [      ]*[a-f0-9]+:    c4 21 7d 5a 84 a5 67 ff ff ff   vcvtpd2psy -0x99\(%rbp,%r12,4\),%xmm8
 [      ]*[a-f0-9]+:    c4 21 39 e0 bc a5 67 ff ff ff   vpavgb -0x99\(%rbp,%r12,4\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 23 79 df 84 a5 67 ff ff ff 64        vaeskeygenassist \$0x64,-0x99\(%rbp,%r12,4\),%xmm8
 [      ]*[a-f0-9]+:    c4 23 79 14 84 a5 67 ff ff ff 64        vpextrb \$0x64,%xmm8,-0x99\(%rbp,%r12,4\)
 [      ]*[a-f0-9]+:    c4 21 3b 2a bc a5 67 ff ff ff   vcvtsi2sdl -0x99\(%rbp,%r12,4\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 23 19 4a b4 a5 67 ff ff ff 80        vblendvps %xmm8,-0x99\(%rbp,%r12,4\),%xmm12,%xmm14
@@ -3620,6 +3681,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 21 7e e6 84 2c 67 ff ff ff   vcvtdq2pd -0x99\(%rsp,%r13,1\),%ymm8
 [      ]*[a-f0-9]+:    c4 21 7d 5a 84 2c 67 ff ff ff   vcvtpd2psy -0x99\(%rsp,%r13,1\),%xmm8
 [      ]*[a-f0-9]+:    c4 21 39 e0 bc 2c 67 ff ff ff   vpavgb -0x99\(%rsp,%r13,1\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 23 79 df 84 2c 67 ff ff ff 64        vaeskeygenassist \$0x64,-0x99\(%rsp,%r13,1\),%xmm8
 [      ]*[a-f0-9]+:    c4 23 79 14 84 2c 67 ff ff ff 64        vpextrb \$0x64,%xmm8,-0x99\(%rsp,%r13,1\)
 [      ]*[a-f0-9]+:    c4 21 3b 2a bc 2c 67 ff ff ff   vcvtsi2sdl -0x99\(%rsp,%r13,1\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 23 19 4a b4 2c 67 ff ff ff 80        vblendvps %xmm8,-0x99\(%rsp,%r13,1\),%xmm12,%xmm14
@@ -3639,6 +3701,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 41 7b 2d c0          vcvtsd2si %xmm8,%r8d
 [      ]*[a-f0-9]+:    c4 41 7e e6 c0          vcvtdq2pd %xmm8,%ymm8
 [      ]*[a-f0-9]+:    c4 41 7d 5a c0          vcvtpd2ps %ymm8,%xmm8
+[      ]*[a-f0-9]+:    c4 43 79 df f8 64       vaeskeygenassist \$0x64,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 43 79 14 c0 64       vpextrb \$0x64,%xmm8,%r8d
 [      ]*[a-f0-9]+:    c4 41 3b 2a f8          vcvtsi2sd %r8d,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 43 19 4a f0 80       vblendvps %xmm8,%xmm8,%xmm12,%xmm14
index e756e32..5f9d521 100644 (file)
@@ -405,6 +405,8 @@ _start:
        vsqrtpd (%rcx),%xmm4
        vsqrtps %xmm4,%xmm6
        vsqrtps (%rcx),%xmm4
+       vaesimc %xmm4,%xmm6
+       vaesimc (%rcx),%xmm4
 
 # Tests for op xmm, xmm/mem128
        vmovapd %xmm4,%xmm6
@@ -664,6 +666,14 @@ _start:
        vxorpd (%rcx),%xmm6,%xmm7
        vxorps %xmm4,%xmm6,%xmm2
        vxorps (%rcx),%xmm6,%xmm7
+       vaesenc %xmm4,%xmm6,%xmm2
+       vaesenc (%rcx),%xmm6,%xmm7
+       vaesenclast %xmm4,%xmm6,%xmm2
+       vaesenclast (%rcx),%xmm6,%xmm7
+       vaesdec %xmm4,%xmm6,%xmm2
+       vaesdec (%rcx),%xmm6,%xmm7
+       vaesdeclast %xmm4,%xmm6,%xmm2
+       vaesdeclast (%rcx),%xmm6,%xmm7
        vcmpeqpd %xmm4,%xmm6,%xmm2
        vcmpeqpd (%rcx),%xmm6,%xmm7
        vcmpltpd %xmm4,%xmm6,%xmm2
@@ -798,6 +808,8 @@ _start:
        vmaskmovpd (%rcx),%xmm4,%xmm6
 
 # Tests for op imm8, xmm/mem128, xmm
+       vaeskeygenassist $100,%xmm4,%xmm6
+       vaeskeygenassist $100,(%rcx),%xmm6
        vpcmpestri $100,%xmm4,%xmm6
        vpcmpestri $100,(%rcx),%xmm6
        vpcmpestrm $100,%xmm4,%xmm6
@@ -1371,6 +1383,7 @@ _start:
        vcvtdq2pd 0x12345678,%ymm8
        vcvtpd2psy 0x12345678,%xmm8
        vpavgb 0x12345678,%xmm8,%xmm15
+       vaeskeygenassist $100,0x12345678,%xmm8
        vpextrb $100,%xmm8,0x12345678
        vcvtsi2sdl 0x12345678,%xmm8,%xmm15
        vblendvps %xmm8,0x12345678,%xmm12,%xmm14
@@ -1390,6 +1403,7 @@ _start:
        vcvtdq2pd (%rbp),%ymm8
        vcvtpd2psy (%rbp),%xmm8
        vpavgb (%rbp),%xmm8,%xmm15
+       vaeskeygenassist $100,(%rbp),%xmm8
        vpextrb $100,%xmm8,(%rbp)
        vcvtsi2sdl (%rbp),%xmm8,%xmm15
        vblendvps %xmm8,(%rbp),%xmm12,%xmm14
@@ -1409,6 +1423,7 @@ _start:
        vcvtdq2pd (%rsp),%ymm8
        vcvtpd2psy (%rsp),%xmm8
        vpavgb (%rsp),%xmm8,%xmm15
+       vaeskeygenassist $100,(%rsp),%xmm8
        vpextrb $100,%xmm8,(%rsp)
        vcvtsi2sdl (%rsp),%xmm8,%xmm15
        vblendvps %xmm8,(%rsp),%xmm12,%xmm14
@@ -1428,6 +1443,7 @@ _start:
        vcvtdq2pd 0x99(%rbp),%ymm8
        vcvtpd2psy 0x99(%rbp),%xmm8
        vpavgb 0x99(%rbp),%xmm8,%xmm15
+       vaeskeygenassist $100,0x99(%rbp),%xmm8
        vpextrb $100,%xmm8,0x99(%rbp)
        vcvtsi2sdl 0x99(%rbp),%xmm8,%xmm15
        vblendvps %xmm8,0x99(%rbp),%xmm12,%xmm14
@@ -1447,6 +1463,7 @@ _start:
        vcvtdq2pd 0x99(%r15),%ymm8
        vcvtpd2psy 0x99(%r15),%xmm8
        vpavgb 0x99(%r15),%xmm8,%xmm15
+       vaeskeygenassist $100,0x99(%r15),%xmm8
        vpextrb $100,%xmm8,0x99(%r15)
        vcvtsi2sdl 0x99(%r15),%xmm8,%xmm15
        vblendvps %xmm8,0x99(%r15),%xmm12,%xmm14
@@ -1466,6 +1483,7 @@ _start:
        vcvtdq2pd 0x99(%rip),%ymm8
        vcvtpd2psy 0x99(%rip),%xmm8
        vpavgb 0x99(%rip),%xmm8,%xmm15
+       vaeskeygenassist $100,0x99(%rip),%xmm8
        vpextrb $100,%xmm8,0x99(%rip)
        vcvtsi2sdl 0x99(%rip),%xmm8,%xmm15
        vblendvps %xmm8,0x99(%rip),%xmm12,%xmm14
@@ -1485,6 +1503,7 @@ _start:
        vcvtdq2pd 0x99(%rsp),%ymm8
        vcvtpd2psy 0x99(%rsp),%xmm8
        vpavgb 0x99(%rsp),%xmm8,%xmm15
+       vaeskeygenassist $100,0x99(%rsp),%xmm8
        vpextrb $100,%xmm8,0x99(%rsp)
        vcvtsi2sdl 0x99(%rsp),%xmm8,%xmm15
        vblendvps %xmm8,0x99(%rsp),%xmm12,%xmm14
@@ -1504,6 +1523,7 @@ _start:
        vcvtdq2pd 0x99(%r12),%ymm8
        vcvtpd2psy 0x99(%r12),%xmm8
        vpavgb 0x99(%r12),%xmm8,%xmm15
+       vaeskeygenassist $100,0x99(%r12),%xmm8
        vpextrb $100,%xmm8,0x99(%r12)
        vcvtsi2sdl 0x99(%r12),%xmm8,%xmm15
        vblendvps %xmm8,0x99(%r12),%xmm12,%xmm14
@@ -1523,6 +1543,7 @@ _start:
        vcvtdq2pd -0x99(,%riz),%ymm8
        vcvtpd2psy -0x99(,%riz),%xmm8
        vpavgb -0x99(,%riz),%xmm8,%xmm15
+       vaeskeygenassist $100,-0x99(,%riz),%xmm8
        vpextrb $100,%xmm8,-0x99(,%riz)
        vcvtsi2sdl -0x99(,%riz),%xmm8,%xmm15
        vblendvps %xmm8,-0x99(,%riz),%xmm12,%xmm14
@@ -1542,6 +1563,7 @@ _start:
        vcvtdq2pd -0x99(,%riz,2),%ymm8
        vcvtpd2psy -0x99(,%riz,2),%xmm8
        vpavgb -0x99(,%riz,2),%xmm8,%xmm15
+       vaeskeygenassist $100,-0x99(,%riz,2),%xmm8
        vpextrb $100,%xmm8,-0x99(,%riz,2)
        vcvtsi2sdl -0x99(,%riz,2),%xmm8,%xmm15
        vblendvps %xmm8,-0x99(,%riz,2),%xmm12,%xmm14
@@ -1561,6 +1583,7 @@ _start:
        vcvtdq2pd -0x99(%rbx,%riz),%ymm8
        vcvtpd2psy -0x99(%rbx,%riz),%xmm8
        vpavgb -0x99(%rbx,%riz),%xmm8,%xmm15
+       vaeskeygenassist $100,-0x99(%rbx,%riz),%xmm8
        vpextrb $100,%xmm8,-0x99(%rbx,%riz)
        vcvtsi2sdl -0x99(%rbx,%riz),%xmm8,%xmm15
        vblendvps %xmm8,-0x99(%rbx,%riz),%xmm12,%xmm14
@@ -1580,6 +1603,7 @@ _start:
        vcvtdq2pd -0x99(%rbx,%riz,2),%ymm8
        vcvtpd2psy -0x99(%rbx,%riz,2),%xmm8
        vpavgb -0x99(%rbx,%riz,2),%xmm8,%xmm15
+       vaeskeygenassist $100,-0x99(%rbx,%riz,2),%xmm8
        vpextrb $100,%xmm8,-0x99(%rbx,%riz,2)
        vcvtsi2sdl -0x99(%rbx,%riz,2),%xmm8,%xmm15
        vblendvps %xmm8,-0x99(%rbx,%riz,2),%xmm12,%xmm14
@@ -1599,6 +1623,7 @@ _start:
        vcvtdq2pd -0x99(%r12,%r15,4),%ymm8
        vcvtpd2psy -0x99(%r12,%r15,4),%xmm8
        vpavgb -0x99(%r12,%r15,4),%xmm8,%xmm15
+       vaeskeygenassist $100,-0x99(%r12,%r15,4),%xmm8
        vpextrb $100,%xmm8,-0x99(%r12,%r15,4)
        vcvtsi2sdl -0x99(%r12,%r15,4),%xmm8,%xmm15
        vblendvps %xmm8,-0x99(%r12,%r15,4),%xmm12,%xmm14
@@ -1618,6 +1643,7 @@ _start:
        vcvtdq2pd -0x99(%r8,%r15,8),%ymm8
        vcvtpd2psy -0x99(%r8,%r15,8),%xmm8
        vpavgb -0x99(%r8,%r15,8),%xmm8,%xmm15
+       vaeskeygenassist $100,-0x99(%r8,%r15,8),%xmm8
        vpextrb $100,%xmm8,-0x99(%r8,%r15,8)
        vcvtsi2sdl -0x99(%r8,%r15,8),%xmm8,%xmm15
        vblendvps %xmm8,-0x99(%r8,%r15,8),%xmm12,%xmm14
@@ -1637,6 +1663,7 @@ _start:
        vcvtdq2pd -0x99(%rbp,%r13,4),%ymm8
        vcvtpd2psy -0x99(%rbp,%r13,4),%xmm8
        vpavgb -0x99(%rbp,%r13,4),%xmm8,%xmm15
+       vaeskeygenassist $100,-0x99(%rbp,%r13,4),%xmm8
        vpextrb $100,%xmm8,-0x99(%rbp,%r13,4)
        vcvtsi2sdl -0x99(%rbp,%r13,4),%xmm8,%xmm15
        vblendvps %xmm8,-0x99(%rbp,%r13,4),%xmm12,%xmm14
@@ -1656,6 +1683,7 @@ _start:
        vcvtdq2pd -0x99(%rsp,%r12,1),%ymm8
        vcvtpd2psy -0x99(%rsp,%r12,1),%xmm8
        vpavgb -0x99(%rsp,%r12,1),%xmm8,%xmm15
+       vaeskeygenassist $100,-0x99(%rsp,%r12,1),%xmm8
        vpextrb $100,%xmm8,-0x99(%rsp,%r12,1)
        vcvtsi2sdl -0x99(%rsp,%r12,1),%xmm8,%xmm15
        vblendvps %xmm8,-0x99(%rsp,%r12,1),%xmm12,%xmm14
@@ -1676,6 +1704,7 @@ _start:
        vcvtsd2si %xmm8,%r8d
        vcvtdq2pd %xmm8,%ymm8
        vcvtpd2psy %ymm8,%xmm8
+       vaeskeygenassist $100,%xmm8,%xmm15
        vpextrb $100,%xmm8,%r8d
        vcvtsi2sdl %r8d,%xmm8,%xmm15
        vblendvps %xmm8,%xmm8,%xmm12,%xmm14
@@ -2273,6 +2302,9 @@ _start:
        vsqrtps xmm6,xmm4
        vsqrtps xmm4,XMMWORD PTR [rcx]
        vsqrtps xmm4,[rcx]
+       vaesimc xmm6,xmm4
+       vaesimc xmm4,XMMWORD PTR [rcx]
+       vaesimc xmm4,[rcx]
 
 # Tests for op xmm, xmm/mem128
        vmovapd xmm6,xmm4
@@ -2659,6 +2691,18 @@ _start:
        vxorps xmm2,xmm6,xmm4
        vxorps xmm7,xmm6,XMMWORD PTR [rcx]
        vxorps xmm7,xmm6,[rcx]
+       vaesenc xmm2,xmm6,xmm4
+       vaesenc xmm7,xmm6,XMMWORD PTR [rcx]
+       vaesenc xmm7,xmm6,[rcx]
+       vaesenclast xmm2,xmm6,xmm4
+       vaesenclast xmm7,xmm6,XMMWORD PTR [rcx]
+       vaesenclast xmm7,xmm6,[rcx]
+       vaesdec xmm2,xmm6,xmm4
+       vaesdec xmm7,xmm6,XMMWORD PTR [rcx]
+       vaesdec xmm7,xmm6,[rcx]
+       vaesdeclast xmm2,xmm6,xmm4
+       vaesdeclast xmm7,xmm6,XMMWORD PTR [rcx]
+       vaesdeclast xmm7,xmm6,[rcx]
        vcmpeqpd xmm2,xmm6,xmm4
        vcmpeqpd xmm7,xmm6,XMMWORD PTR [rcx]
        vcmpeqpd xmm7,xmm6,[rcx]
@@ -2859,6 +2903,9 @@ _start:
        vmaskmovpd xmm6,xmm4,[rcx]
 
 # Tests for op imm8, xmm/mem128, xmm
+       vaeskeygenassist xmm6,xmm4,100
+       vaeskeygenassist xmm6,XMMWORD PTR [rcx],100
+       vaeskeygenassist xmm6,[rcx],100
        vpcmpestri xmm6,xmm4,100
        vpcmpestri xmm6,XMMWORD PTR [rcx],100
        vpcmpestri xmm6,[rcx],100
@@ -3665,6 +3712,7 @@ _start:
        vcvtdq2pd ymm8,XMMWORD PTR ds:0x12345678
        vcvtpd2ps xmm8,YMMWORD PTR ds:0x12345678
        vpavgb xmm15,xmm8,XMMWORD PTR ds:0x12345678
+       vaeskeygenassist xmm8,XMMWORD PTR ds:0x12345678,100
        vpextrb ds:0x12345678,xmm8,100
        vcvtsi2sd xmm15,xmm8,DWORD PTR ds:0x12345678
        vblendvps xmm14,xmm12,XMMWORD PTR ds:0x12345678,xmm8
@@ -3684,6 +3732,7 @@ _start:
        vcvtdq2pd ymm8,XMMWORD PTR [rbp]
        vcvtpd2ps xmm8,YMMWORD PTR [rbp]
        vpavgb xmm15,xmm8,XMMWORD PTR [rbp]
+       vaeskeygenassist xmm8,XMMWORD PTR [rbp],100
        vpextrb [rbp],xmm8,100
        vcvtsi2sd xmm15,xmm8,DWORD PTR [rbp]
        vblendvps xmm14,xmm12,XMMWORD PTR [rbp],xmm8
@@ -3703,6 +3752,7 @@ _start:
        vcvtdq2pd ymm8,XMMWORD PTR [rbp+0x99]
        vcvtpd2ps xmm8,YMMWORD PTR [rbp+0x99]
        vpavgb xmm15,xmm8,XMMWORD PTR [rbp+0x99]
+       vaeskeygenassist xmm8,XMMWORD PTR [rbp+0x99],100
        vpextrb [rbp+0x99],xmm8,100
        vcvtsi2sd xmm15,xmm8,DWORD PTR [rbp+0x99]
        vblendvps xmm14,xmm12,XMMWORD PTR [rbp+0x99],xmm8
@@ -3722,6 +3772,7 @@ _start:
        vcvtdq2pd ymm8,XMMWORD PTR [r15+0x99]
        vcvtpd2ps xmm8,YMMWORD PTR [r15+0x99]
        vpavgb xmm15,xmm8,XMMWORD PTR [r15+0x99]
+       vaeskeygenassist xmm8,XMMWORD PTR [r15+0x99],100
        vpextrb [r15+0x99],xmm8,100
        vcvtsi2sd xmm15,xmm8,DWORD PTR [r15+0x99]
        vblendvps xmm14,xmm12,XMMWORD PTR [r15+0x99],xmm8
@@ -3741,6 +3792,7 @@ _start:
        vcvtdq2pd ymm8,XMMWORD PTR [rip+0x99]
        vcvtpd2ps xmm8,YMMWORD PTR [rip+0x99]
        vpavgb xmm15,xmm8,XMMWORD PTR [rip+0x99]
+       vaeskeygenassist xmm8,XMMWORD PTR [rip+0x99],100
        vpextrb [rip+0x99],xmm8,100
        vcvtsi2sd xmm15,xmm8,DWORD PTR [rip+0x99]
        vblendvps xmm14,xmm12,XMMWORD PTR [rip+0x99],xmm8
@@ -3760,6 +3812,7 @@ _start:
        vcvtdq2pd ymm8,XMMWORD PTR [rsp+0x99]
        vcvtpd2ps xmm8,YMMWORD PTR [rsp+0x99]
        vpavgb xmm15,xmm8,XMMWORD PTR [rsp+0x99]
+       vaeskeygenassist xmm8,XMMWORD PTR [rsp+0x99],100
        vpextrb [rsp+0x99],xmm8,100
        vcvtsi2sd xmm15,xmm8,DWORD PTR [rsp+0x99]
        vblendvps xmm14,xmm12,XMMWORD PTR [rsp+0x99],xmm8
@@ -3779,6 +3832,7 @@ _start:
        vcvtdq2pd ymm8,XMMWORD PTR [r12+0x99]
        vcvtpd2ps xmm8,YMMWORD PTR [r12+0x99]
        vpavgb xmm15,xmm8,XMMWORD PTR [r12+0x99]
+       vaeskeygenassist xmm8,XMMWORD PTR [r12+0x99],100
        vpextrb [r12+0x99],xmm8,100
        vcvtsi2sd xmm15,xmm8,DWORD PTR [r12+0x99]
        vblendvps xmm14,xmm12,XMMWORD PTR [r12+0x99],xmm8
@@ -3798,6 +3852,7 @@ _start:
        vcvtdq2pd ymm8,XMMWORD PTR [riz*1-0x99]
        vcvtpd2ps xmm8,YMMWORD PTR [riz*1-0x99]
        vpavgb xmm15,xmm8,XMMWORD PTR [riz*1-0x99]
+       vaeskeygenassist xmm8,XMMWORD PTR [riz*1-0x99],100
        vpextrb [riz*1-0x99],xmm8,100
        vcvtsi2sd xmm15,xmm8,DWORD PTR [riz*1-0x99]
        vblendvps xmm14,xmm12,XMMWORD PTR [riz*1-0x99],xmm8
@@ -3817,6 +3872,7 @@ _start:
        vcvtdq2pd ymm8,XMMWORD PTR [riz*2-0x99]
        vcvtpd2ps xmm8,YMMWORD PTR [riz*2-0x99]
        vpavgb xmm15,xmm8,XMMWORD PTR [riz*2-0x99]
+       vaeskeygenassist xmm8,XMMWORD PTR [riz*2-0x99],100
        vpextrb [riz*2-0x99],xmm8,100
        vcvtsi2sd xmm15,xmm8,DWORD PTR [riz*2-0x99]
        vblendvps xmm14,xmm12,XMMWORD PTR [riz*2-0x99],xmm8
@@ -3836,6 +3892,7 @@ _start:
        vcvtdq2pd ymm8,XMMWORD PTR [rbx+riz*1-0x99]
        vcvtpd2ps xmm8,YMMWORD PTR [rbx+riz*1-0x99]
        vpavgb xmm15,xmm8,XMMWORD PTR [rbx+riz*1-0x99]
+       vaeskeygenassist xmm8,XMMWORD PTR [rbx+riz*1-0x99],100
        vpextrb [rbx+riz*1-0x99],xmm8,100
        vcvtsi2sd xmm15,xmm8,DWORD PTR [rbx+riz*1-0x99]
        vblendvps xmm14,xmm12,XMMWORD PTR [rbx+riz*1-0x99],xmm8
@@ -3855,6 +3912,7 @@ _start:
        vcvtdq2pd ymm8,XMMWORD PTR [rbx+riz*2-0x99]
        vcvtpd2ps xmm8,YMMWORD PTR [rbx+riz*2-0x99]
        vpavgb xmm15,xmm8,XMMWORD PTR [rbx+riz*2-0x99]
+       vaeskeygenassist xmm8,XMMWORD PTR [rbx+riz*2-0x99],100
        vpextrb [rbx+riz*2-0x99],xmm8,100
        vcvtsi2sd xmm15,xmm8,DWORD PTR [rbx+riz*2-0x99]
        vblendvps xmm14,xmm12,XMMWORD PTR [rbx+riz*2-0x99],xmm8
@@ -3874,6 +3932,7 @@ _start:
        vcvtdq2pd ymm8,XMMWORD PTR [r12+r15*4-0x99]
        vcvtpd2ps xmm8,YMMWORD PTR [r12+r15*4-0x99]
        vpavgb xmm15,xmm8,XMMWORD PTR [r12+r15*4-0x99]
+       vaeskeygenassist xmm8,XMMWORD PTR [r12+r15*4-0x99],100
        vpextrb [r12+r15*4-0x99],xmm8,100
        vcvtsi2sd xmm15,xmm8,DWORD PTR [r12+r15*4-0x99]
        vblendvps xmm14,xmm12,XMMWORD PTR [r12+r15*4-0x99],xmm8
@@ -3893,6 +3952,7 @@ _start:
        vcvtdq2pd ymm8,XMMWORD PTR [r8+r15*8-0x99]
        vcvtpd2ps xmm8,YMMWORD PTR [r8+r15*8-0x99]
        vpavgb xmm15,xmm8,XMMWORD PTR [r8+r15*8-0x99]
+       vaeskeygenassist xmm8,XMMWORD PTR [r8+r15*8-0x99],100
        vpextrb [r8+r15*8-0x99],xmm8,100
        vcvtsi2sd xmm15,xmm8,DWORD PTR [r8+r15*8-0x99]
        vblendvps xmm14,xmm12,XMMWORD PTR [r8+r15*8-0x99],xmm8
@@ -3912,6 +3972,7 @@ _start:
        vcvtdq2pd ymm8,XMMWORD PTR [rbp+r12*4-0x99]
        vcvtpd2ps xmm8,YMMWORD PTR [rbp+r12*4-0x99]
        vpavgb xmm15,xmm8,XMMWORD PTR [rbp+r12*4-0x99]
+       vaeskeygenassist xmm8,XMMWORD PTR [rbp+r12*4-0x99],100
        vpextrb [rbp+r12*4-0x99],xmm8,100
        vcvtsi2sd xmm15,xmm8,DWORD PTR [rbp+r12*4-0x99]
        vblendvps xmm14,xmm12,XMMWORD PTR [rbp+r12*4-0x99],xmm8
@@ -3931,6 +3992,7 @@ _start:
        vcvtdq2pd ymm8,XMMWORD PTR [rsp+r13*1-0x99]
        vcvtpd2ps xmm8,YMMWORD PTR [rsp+r13*1-0x99]
        vpavgb xmm15,xmm8,XMMWORD PTR [rsp+r13*1-0x99]
+       vaeskeygenassist xmm8,XMMWORD PTR [rsp+r13*1-0x99],100
        vpextrb [rsp+r13*1-0x99],xmm8,100
        vcvtsi2sd xmm15,xmm8,DWORD PTR [rsp+r13*1-0x99]
        vblendvps xmm14,xmm12,XMMWORD PTR [rsp+r13*1-0x99],xmm8
@@ -3951,6 +4013,7 @@ _start:
        vcvtsd2si r8d,xmm8
        vcvtdq2pd ymm8,xmm8
        vcvtpd2ps xmm8,ymm8
+       vaeskeygenassist xmm15,xmm8,100
        vpextrb r8d,xmm8,100
        vcvtsi2sd xmm15,xmm8,r8d
        vblendvps xmm14,xmm12,xmm8,xmm8
index 7bb63e9..122efd2 100644 (file)
@@ -55,6 +55,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 f9 51 21             vsqrtpd \(%rcx\),%xmm4
 [      ]*[a-f0-9]+:    c5 f8 51 f4             vsqrtps %xmm4,%xmm6
 [      ]*[a-f0-9]+:    c5 f8 51 21             vsqrtps \(%rcx\),%xmm4
+[      ]*[a-f0-9]+:    c4 e2 79 db f4          vaesimc %xmm4,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 79 db 21          vaesimc \(%rcx\),%xmm4
 [      ]*[a-f0-9]+:    c5 f9 28 f4             vmovapd %xmm4,%xmm6
 [      ]*[a-f0-9]+:    c5 f9 29 21             vmovapd %xmm4,\(%rcx\)
 [      ]*[a-f0-9]+:    c5 f8 28 f4             vmovaps %xmm4,%xmm6
@@ -148,6 +150,14 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 e0 31             vpavgb \(%rcx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 e3 f4             vpavgw %xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 e3 31             vpavgw \(%rcx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    66 0f 3a 44 f4 00       pclmullqlqdq %xmm4,%xmm6
+[      ]*[a-f0-9]+:    66 0f 3a 44 31 00       pclmullqlqdq \(%rcx\),%xmm6
+[      ]*[a-f0-9]+:    66 0f 3a 44 f4 01       pclmulhqlqdq %xmm4,%xmm6
+[      ]*[a-f0-9]+:    66 0f 3a 44 31 01       pclmulhqlqdq \(%rcx\),%xmm6
+[      ]*[a-f0-9]+:    66 0f 3a 44 f4 10       pclmullqhqdq %xmm4,%xmm6
+[      ]*[a-f0-9]+:    66 0f 3a 44 31 10       pclmullqhqdq \(%rcx\),%xmm6
+[      ]*[a-f0-9]+:    66 0f 3a 44 f4 11       pclmulhqhqdq %xmm4,%xmm6
+[      ]*[a-f0-9]+:    66 0f 3a 44 31 11       pclmulhqhqdq \(%rcx\),%xmm6
 [      ]*[a-f0-9]+:    c5 c9 74 f4             vpcmpeqb %xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 74 31             vpcmpeqb \(%rcx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 75 f4             vpcmpeqw %xmm4,%xmm6,%xmm6
@@ -296,6 +306,14 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 57 31             vxorpd \(%rcx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c8 57 f4             vxorps %xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c8 57 31             vxorps \(%rcx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 49 dc f4          vaesenc %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 49 dc 31          vaesenc \(%rcx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 49 dd f4          vaesenclast %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 49 dd 31          vaesenclast \(%rcx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 49 de f4          vaesdec %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 49 de 31          vaesdec \(%rcx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 49 df f4          vaesdeclast %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e2 49 df 31          vaesdeclast \(%rcx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 c2 f4 00          vcmpeqpd %xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 c2 31 00          vcmpeqpd \(%rcx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c8 c2 f4 00          vcmpeqps %xmm4,%xmm6,%xmm6
@@ -328,6 +346,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 c2 31 07          vcmpordpd \(%rcx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c8 c2 f4 07          vcmpordps %xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c8 c2 31 07          vcmpordps \(%rcx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 79 df f4 64       vaeskeygenassist \$0x64,%xmm4,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 79 df 31 64       vaeskeygenassist \$0x64,\(%rcx\),%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 61 f4 64       vpcmpestri \$0x64,%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 61 31 64       vpcmpestri \$0x64,\(%rcx\),%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 60 f4 64       vpcmpestrm \$0x64,%xmm4,%xmm6
index 22f49d0..4065266 100644 (file)
@@ -54,6 +54,8 @@ _start:
        sqrtpd (%rcx),%xmm4
        sqrtps %xmm4,%xmm6
        sqrtps (%rcx),%xmm4
+       aesimc %xmm4,%xmm6
+       aesimc (%rcx),%xmm4
 
 # Tests for op xmm, xmm/mem128
        movapd %xmm4,%xmm6
@@ -155,6 +157,14 @@ _start:
        pavgb (%rcx),%xmm6
        pavgw %xmm4,%xmm6
        pavgw (%rcx),%xmm6
+       pclmullqlqdq %xmm4,%xmm6
+       pclmullqlqdq (%rcx),%xmm6
+       pclmulhqlqdq %xmm4,%xmm6
+       pclmulhqlqdq (%rcx),%xmm6
+       pclmullqhqdq %xmm4,%xmm6
+       pclmullqhqdq (%rcx),%xmm6
+       pclmulhqhqdq %xmm4,%xmm6
+       pclmulhqhqdq (%rcx),%xmm6
        pcmpeqb %xmm4,%xmm6
        pcmpeqb (%rcx),%xmm6
        pcmpeqw %xmm4,%xmm6
@@ -303,6 +313,14 @@ _start:
        xorpd (%rcx),%xmm6
        xorps %xmm4,%xmm6
        xorps (%rcx),%xmm6
+       aesenc %xmm4,%xmm6
+       aesenc (%rcx),%xmm6
+       aesenclast %xmm4,%xmm6
+       aesenclast (%rcx),%xmm6
+       aesdec %xmm4,%xmm6
+       aesdec (%rcx),%xmm6
+       aesdeclast %xmm4,%xmm6
+       aesdeclast (%rcx),%xmm6
        cmpeqpd %xmm4,%xmm6
        cmpeqpd (%rcx),%xmm6
        cmpeqps %xmm4,%xmm6
@@ -337,6 +355,8 @@ _start:
        cmpordps (%rcx),%xmm6
 
 # Tests for op imm8, xmm/mem128, xmm
+       aeskeygenassist $100,%xmm4,%xmm6
+       aeskeygenassist $100,(%rcx),%xmm6
        pcmpestri $100,%xmm4,%xmm6
        pcmpestri $100,(%rcx),%xmm6
        pcmpestrm $100,%xmm4,%xmm6
index 8fa3342..3230d52 100644 (file)
@@ -1,3 +1,31 @@
+2008-08-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       AVX Programming Reference (August, 2008)
+       * i386-dis.c (PREFIX_VEX_38DB): New.
+       (PREFIX_VEX_38DC): Likewise.
+       (PREFIX_VEX_38DD): Likewise.
+       (PREFIX_VEX_38DE): Likewise.
+       (PREFIX_VEX_38DF): Likewise.
+       (PREFIX_VEX_3ADF): Likewise.
+       (VEX_LEN_38DB_P_2): Likewise.
+       (VEX_LEN_38DC_P_2): Likewise.
+       (VEX_LEN_38DD_P_2): Likewise.
+       (VEX_LEN_38DE_P_2): Likewise.
+       (VEX_LEN_38DF_P_2): Likewise.
+       (VEX_LEN_3ADF_P_2): Likewise.
+       (PREFIX_VEX_3A04): Updated.
+       (VEX_LEN_3A06_P_2): Likewise.
+       (prefix_table): Add PREFIX_VEX_38DB, PREFIX_VEX_38DC,
+       PREFIX_VEX_38DD, PREFIX_VEX_38DE and PREFIX_VEX_3ADF.
+       (x86_64_table): Likewise.
+       (vex_len_table): Add VEX_LEN_38DB_P_2, VEX_LEN_38DC_P_2,
+       VEX_LEN_38DD_P_2, VEX_LEN_38DE_P_2, VEX_LEN_38DF_P_2 and
+       VEX_LEN_3ADF_P_2.
+
+       * i386-opc.tbl: Add AES + AVX instructions.
+       * i386-init.h: Regenerated.
+       * i386-tbl.h: Likewise.
+
 2008-08-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
        * s390-opc.c (INSTR_RRF_FFRU, MASK_RRF_FFRU): New instruction format.
index c0688cf..6c2b513 100644 (file)
@@ -939,7 +939,12 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
 #define PREFIX_VEX_383F                (PREFIX_VEX_383E + 1)
 #define PREFIX_VEX_3840                (PREFIX_VEX_383F + 1)
 #define PREFIX_VEX_3841                (PREFIX_VEX_3840 + 1)
-#define PREFIX_VEX_3A04                (PREFIX_VEX_3841 + 1)
+#define PREFIX_VEX_38DB                (PREFIX_VEX_3841 + 1)
+#define PREFIX_VEX_38DC                (PREFIX_VEX_38DB + 1)
+#define PREFIX_VEX_38DD                (PREFIX_VEX_38DC + 1)
+#define PREFIX_VEX_38DE                (PREFIX_VEX_38DD + 1)
+#define PREFIX_VEX_38DF                (PREFIX_VEX_38DE + 1)
+#define PREFIX_VEX_3A04                (PREFIX_VEX_38DF + 1)
 #define PREFIX_VEX_3A05                (PREFIX_VEX_3A04 + 1)
 #define PREFIX_VEX_3A06                (PREFIX_VEX_3A05 + 1)
 #define PREFIX_VEX_3A08                (PREFIX_VEX_3A06 + 1)
@@ -991,6 +996,7 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
 #define PREFIX_VEX_3A7D                (PREFIX_VEX_3A7C + 1)
 #define PREFIX_VEX_3A7E                (PREFIX_VEX_3A7D + 1)
 #define PREFIX_VEX_3A7F                (PREFIX_VEX_3A7E + 1)
+#define PREFIX_VEX_3ADF                (PREFIX_VEX_3A7F + 1)
 
 #define X86_64_06              0
 #define X86_64_07              (X86_64_06 + 1)
@@ -1200,7 +1206,12 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
 #define VEX_LEN_383F_P_2       (VEX_LEN_383E_P_2 + 1)
 #define VEX_LEN_3840_P_2       (VEX_LEN_383F_P_2 + 1)
 #define VEX_LEN_3841_P_2       (VEX_LEN_3840_P_2 + 1)
-#define VEX_LEN_3A06_P_2       (VEX_LEN_3841_P_2 + 1)
+#define VEX_LEN_38DB_P_2       (VEX_LEN_3841_P_2 + 1)
+#define VEX_LEN_38DC_P_2       (VEX_LEN_38DB_P_2 + 1)
+#define VEX_LEN_38DD_P_2       (VEX_LEN_38DC_P_2 + 1)
+#define VEX_LEN_38DE_P_2       (VEX_LEN_38DD_P_2 + 1)
+#define VEX_LEN_38DF_P_2       (VEX_LEN_38DE_P_2 + 1)
+#define VEX_LEN_3A06_P_2       (VEX_LEN_38DF_P_2 + 1)
 #define VEX_LEN_3A0A_P_2       (VEX_LEN_3A06_P_2 + 1)
 #define VEX_LEN_3A0B_P_2       (VEX_LEN_3A0A_P_2 + 1)
 #define VEX_LEN_3A0E_P_2       (VEX_LEN_3A0B_P_2 + 1)
@@ -1229,6 +1240,7 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
 #define VEX_LEN_3A7B_P_2       (VEX_LEN_3A7A_P_2 + 1)
 #define VEX_LEN_3A7E_P_2       (VEX_LEN_3A7B_P_2 + 1)
 #define VEX_LEN_3A7F_P_2       (VEX_LEN_3A7E_P_2 + 1)
+#define VEX_LEN_3ADF_P_2       (VEX_LEN_3A7F_P_2 + 1)
 
 typedef void (*op_rtn) (int bytemode, int sizeflag);
 
@@ -4536,6 +4548,46 @@ static const struct dis386 prefix_table[][4] = {
     { "(bad)", { XX } },
   },
 
+  /* PREFIX_VEX_38DB */
+  {
+    { "(bad)", { XX } },
+    { "(bad)", { XX } },
+    { VEX_LEN_TABLE (VEX_LEN_38DB_P_2) },
+    { "(bad)", { XX } },
+  },
+
+  /* PREFIX_VEX_38DC */
+  {
+    { "(bad)", { XX } },
+    { "(bad)", { XX } },
+    { VEX_LEN_TABLE (VEX_LEN_38DC_P_2) },
+    { "(bad)", { XX } },
+  },
+
+  /* PREFIX_VEX_38DD */
+  {
+    { "(bad)", { XX } },
+    { "(bad)", { XX } },
+    { VEX_LEN_TABLE (VEX_LEN_38DD_P_2) },
+    { "(bad)", { XX } },
+  },
+
+  /* PREFIX_VEX_38DE */
+  {
+    { "(bad)", { XX } },
+    { "(bad)", { XX } },
+    { VEX_LEN_TABLE (VEX_LEN_38DE_P_2) },
+    { "(bad)", { XX } },
+  },
+
+  /* PREFIX_VEX_38DF */
+  {
+    { "(bad)", { XX } },
+    { "(bad)", { XX } },
+    { VEX_LEN_TABLE (VEX_LEN_38DF_P_2) },
+    { "(bad)", { XX } },
+  },
+
   /* PREFIX_VEX_3A04 */
   {
     { "(bad)", { XX } },
@@ -4951,6 +5003,14 @@ static const struct dis386 prefix_table[][4] = {
     { VEX_LEN_TABLE (VEX_LEN_3A7F_P_2) },
     { "(bad)", { XX } },
   },
+
+  /* PREFIX_VEX_3ADF */
+  {
+    { "(bad)", { XX } },
+    { "(bad)", { XX } },
+    { VEX_LEN_TABLE (VEX_LEN_3ADF_P_2) },
+    { "(bad)", { XX } },
+  },
 };
 
 static const struct dis386 x86_64_table[][2] = {
@@ -7413,11 +7473,11 @@ static const struct dis386 vex_table[][256] = {
     { "(bad)",         { XX } },
     { "(bad)",         { XX } },
     { "(bad)",         { XX } },
-    { "(bad)",         { XX } },
-    { "(bad)",         { XX } },
-    { "(bad)",         { XX } },
-    { "(bad)",         { XX } },
-    { "(bad)",         { XX } },
+    { PREFIX_TABLE (PREFIX_VEX_38DB) },
+    { PREFIX_TABLE (PREFIX_VEX_38DC) },
+    { PREFIX_TABLE (PREFIX_VEX_38DD) },
+    { PREFIX_TABLE (PREFIX_VEX_38DE) },
+    { PREFIX_TABLE (PREFIX_VEX_38DF) },
     /* e0 */
     { "(bad)",         { XX } },
     { "(bad)",         { XX } },
@@ -7708,7 +7768,7 @@ static const struct dis386 vex_table[][256] = {
     { "(bad)",         { XX } },
     { "(bad)",         { XX } },
     { "(bad)",         { XX } },
-    { "(bad)",         { XX } },
+    { PREFIX_TABLE (PREFIX_VEX_3ADF) },
     /* e0 */
     { "(bad)",         { XX } },
     { "(bad)",         { XX } },
@@ -8757,6 +8817,36 @@ static const struct dis386 vex_len_table[][2] = {
     { "(bad)",         { XX } },
   },
 
+  /* VEX_LEN_38DB_P_2 */
+  {
+    { "vaesimc",       { XM, EXx } },
+    { "(bad)",         { XX } },
+  },
+
+  /* VEX_LEN_38DC_P_2 */
+  {
+    { "vaesenc",       { XM, Vex128, EXx } },
+    { "(bad)",         { XX } },
+  },
+
+  /* VEX_LEN_38DD_P_2 */
+  {
+    { "vaesenclast",   { XM, Vex128, EXx } },
+    { "(bad)",         { XX } },
+  },
+
+  /* VEX_LEN_38DE_P_2 */
+  {
+    { "vaesdec",       { XM, Vex128, EXx } },
+    { "(bad)",         { XX } },
+  },
+
+  /* VEX_LEN_38DF_P_2 */
+  {
+    { "vaesdeclast",   { XM, Vex128, EXx } },
+    { "(bad)",         { XX } },
+  },
+
   /* VEX_LEN_3A06_P_2 */
   {
     { "(bad)",         { XX } },
@@ -8930,6 +9020,12 @@ static const struct dis386 vex_len_table[][2] = {
     { "vfnmsubsd",     { XMVexW, Vex128FMA, EXqVexW, EXqVexW, VexI4 } },
     { "(bad)",         { XX } },
   },
+
+  /* VEX_LEN_3ADF_P_2 */
+  {
+    { "vaeskeygenassist", { XM, EXx, Ib } },
+    { "(bad)",         { XX } },
+  },
 };
 
 static const struct dis386 mod_table[][2] = {
index 64fe5bf..b026046 100644 (file)
@@ -1730,11 +1730,17 @@ xsetbv, 0, 0xf01, 0xd1, 2, CpuXsave, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_
 
 // AES instructions.
 
+aesdec, 2, 0x66de, None, 1, CpuAVX|CpuAES, Modrm|Vex|Vex0F38|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
 aesdec, 2, 0x660f38de, None, 3, CpuAES, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
+aesdeclast, 2, 0x66df, None, 1, CpuAVX|CpuAES, Modrm|Vex|Vex0F38|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
 aesdeclast, 2, 0x660f38df, None, 3, CpuAES, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
+aesenc, 2, 0x66dc, None, 1, CpuAVX|CpuAES, Modrm|Vex|Vex0F38|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
 aesenc, 2, 0x660f38dc, None, 3, CpuAES, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
+aesenclast, 2, 0x66dd, None, 1, CpuAVX|CpuAES, Modrm|Vex|Vex0F38|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
 aesenclast, 2, 0x660f38dd, None, 3, CpuAES, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
+aesimc, 2, 0x66db, None, 1, CpuAVX|CpuAES, Modrm|Vex|Vex0F38|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
 aesimc, 2, 0x660f38db, None, 3, CpuAES, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
+aeskeygenassist, 3, 0x66df, None, 1, CpuAVX|CpuAES, Modrm|Vex|Vex0F3A|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
 aeskeygenassist, 3, 0x660f3adf, None, 3, CpuAES, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
 
 // PCLMUL
@@ -2362,6 +2368,15 @@ vxorps, 3, 0x57, None, 1, CpuAVX, Modrm|Vex|Vex0F|Vex256|VexNDS|IgnoreSize|No_bS
 vzeroall, 0, 0x77, None, 1, CpuAVX, Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
 vzeroupper, 0, 0x77, None, 1, CpuAVX, Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
 
+// AES + AVX
+
+vaesdec, 3, 0x66de, None, 1, CpuAVX|CpuAES, Modrm|Vex|Vex0F38|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM, RegXMM }
+vaesdeclast, 3, 0x66df, None, 1, CpuAVX|CpuAES, Modrm|Vex|Vex0F38|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM, RegXMM }
+vaesenc, 3, 0x66dc, None, 1, CpuAVX|CpuAES, Modrm|Vex|Vex0F38|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM, RegXMM }
+vaesenclast, 3, 0x66dd, None, 1, CpuAVX|CpuAES, Modrm|Vex|Vex0F38|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM, RegXMM }
+vaesimc, 2, 0x66db, None, 1, CpuAVX|CpuAES, Modrm|Vex|Vex0F38|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
+vaeskeygenassist, 3, 0x66df, None, 1, CpuAVX|CpuAES, Modrm|Vex|Vex0F3A|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
+
 // FMA instructions
 
 vfmaddpd, 4, 0x6669, None, 1, CpuFMA, Modrm|Vex|Vex0F3A|VexNDS|VexW1|Vex3Sources|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|VexImmExt, {Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM, RegXMM, RegXMM }
index 430a1d1..a176145 100644 (file)
@@ -16183,6 +16183,18 @@ const template i386_optab[] =
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0 } } } },
+  { "aesdec", 2, 0x66de, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+        0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
+      0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } } } },
   { "aesdec", 2, 0x660f38de, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
@@ -16195,6 +16207,18 @@ const template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0 } } } },
+  { "aesdeclast", 2, 0x66df, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+        0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
+      0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } } } },
   { "aesdeclast", 2, 0x660f38df, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
@@ -16207,6 +16231,18 @@ const template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0 } } } },
+  { "aesenc", 2, 0x66dc, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+        0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
+      0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } } } },
   { "aesenc", 2, 0x660f38dc, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
@@ -16219,6 +16255,18 @@ const template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0 } } } },
+  { "aesenclast", 2, 0x66dd, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+        0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
+      0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } } } },
   { "aesenclast", 2, 0x660f38dd, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
@@ -16231,6 +16279,18 @@ const template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0 } } } },
+  { "aesimc", 2, 0x66db, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+        0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
+      0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } } } },
   { "aesimc", 2, 0x660f38db, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
@@ -16243,6 +16303,21 @@ const template i386_optab[] =
       { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0 } } } },
+  { "aeskeygenassist", 3, 0x66df, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+        0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } } } },
   { "aeskeygenassist", 3, 0x660f3adf, None, 3,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
         0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
@@ -25225,6 +25300,93 @@ const template i386_optab[] =
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0 } } } },
+  { "vaesdec", 3, 0x66de, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+        0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
+      0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } } } },
+  { "vaesdeclast", 3, 0x66df, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+        0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
+      0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } } } },
+  { "vaesenc", 3, 0x66dc, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+        0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
+      0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } } } },
+  { "vaesenclast", 3, 0x66dd, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+        0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
+      0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } } } },
+  { "vaesimc", 2, 0x66db, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+        0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
+      0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } } } },
+  { "vaeskeygenassist", 3, 0x66df, None, 1,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+        0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 
+      1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
+      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 0, 1, 0, 0, 0 } },
+      { { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } } } },
   { "vfmaddpd", 4, 0x6669, None, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },