gas/
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 4 Feb 2009 16:03:31 +0000 (16:03 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 4 Feb 2009 16:03:31 +0000 (16:03 +0000)
2009-02-04  H.J. Lu  <hongjiu.lu@intel.com>

AVX Programming Reference (January, 2009)
* config/tc-i386.c (CPU_FLAGS_PCLMUL_MATCH): New.
(CPU_FLAGS_AVX_MATCH): Updated.
(CPU_FLAGS_32BIT_MATCH): Likewise.
(cpu_flags_match): Likewise.

gas/testsuite/

2009-02-04  H.J. Lu  <hongjiu.lu@intel.com>

AVX Programming Reference (January, 2009)
* gas/i386/arch-avx-1-3.l: New.
* gas/i386/arch-avx-1-3.s: Likewise.
* gas/i386/arch-avx-1-4.l: Likewise.
* gas/i386/arch-avx-1-4.s: Likewise.
* gas/i386/arch-avx-1-5.l: Likewise.
* gas/i386/arch-avx-1-5.s: Likewise.
* gas/i386/arch-avx-1-6.l: Likewise.
* gas/i386/arch-avx-1-6.s: Likewise.

* gas/i386/arch-10.s: Add vpclmul instructions.
* gas/i386/arch-avx-1.s: Likewise.
* gas/i386/avx.s: Likewise.
* gas/i386/x86-64-arch-2.s: Likewise.
* gas/i386/x86-64-avx.s: Likewise.

* gas/i386/sse2avx.s: Add pclmul instructions.
* 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/arch-avx-1.d: Likewise.
* gas/i386/arch-avx-1-1.l: Likewise.
* gas/i386/arch-avx-1-2.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-3, arch-avx-1-4,
arch-avx-1-5 and arch-avx-1-6.

opcodes/

2009-02-04  H.J. Lu  <hongjiu.lu@intel.com>

AVX Programming Reference (January, 2009)
* i386-dis.c (PREFIX_VEX_3A44): New.
(VEX_LEN_3A44_P_2): Likewise.
(PREFIX_VEX_3A48): Updated.
(VEX_LEN_3A4C_P_2): Likewise.
(prefix_table): Add PREFIX_VEX_3A44.
(vex_table): Likewise.
(vex_len_table): Add VEX_LEN_3A44_P_2.

* i386-opc.tbl: Add PCLMUL + AVX instructions.
* i386-tbl.h: Regenerated.

38 files changed:
gas/ChangeLog
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
gas/testsuite/gas/i386/arch-avx-1-2.l
gas/testsuite/gas/i386/arch-avx-1-3.l [new file with mode: 0644]
gas/testsuite/gas/i386/arch-avx-1-3.s [new file with mode: 0644]
gas/testsuite/gas/i386/arch-avx-1-4.l [new file with mode: 0644]
gas/testsuite/gas/i386/arch-avx-1-4.s [new file with mode: 0644]
gas/testsuite/gas/i386/arch-avx-1-5.l [new file with mode: 0644]
gas/testsuite/gas/i386/arch-avx-1-5.s [new file with mode: 0644]
gas/testsuite/gas/i386/arch-avx-1-6.l [new file with mode: 0644]
gas/testsuite/gas/i386/arch-avx-1-6.s [new file with mode: 0644]
gas/testsuite/gas/i386/arch-avx-1.d
gas/testsuite/gas/i386/arch-avx-1.s
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 2cf091478cc09b18ea9758c75cfb27364755aa8e..4289f003e74da0750faca0c5392cae34d754db30 100644 (file)
@@ -1,3 +1,11 @@
+2009-02-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       AVX Programming Reference (January, 2009)
+       * config/tc-i386.c (CPU_FLAGS_PCLMUL_MATCH): New.
+       (CPU_FLAGS_AVX_MATCH): Updated.
+       (CPU_FLAGS_32BIT_MATCH): Likewise.
+       (cpu_flags_match): Likewise.
+
 2009-02-03  Sandip Matte  <sandip@rmicorp.com>
 
        * config/tc-mips.c (macro): Handle M_MSGSND, M_MSGLD, M_MSGLD_T,
index b5f127fc3aa5bef6da8b7990677e4f350948e097..9b6af4e37bf768bbb01d32d928acc142e470614f 100644 (file)
@@ -1256,10 +1256,12 @@ 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_PCLMUL_MATCH         0x8
+#define CPU_FLAGS_AVX_MATCH           0x10
 
 #define CPU_FLAGS_32BIT_MATCH \
-  (CPU_FLAGS_ARCH_MATCH | CPU_FLAGS_AES_MATCH | CPU_FLAGS_AVX_MATCH)
+  (CPU_FLAGS_ARCH_MATCH | CPU_FLAGS_AES_MATCH \
+   | CPU_FLAGS_PCLMUL_MATCH | CPU_FLAGS_AVX_MATCH)
 #define CPU_FLAGS_PERFECT_MATCH \
   (CPU_FLAGS_32BIT_MATCH | CPU_FLAGS_64BIT_MATCH)
 
@@ -1291,7 +1293,7 @@ cpu_flags_match (const template *t)
        {
          if (x.bitfield.cpuavx)
            {
-             /* We only need to check AES/SSE2AVX with AVX.  */
+             /* We only need to check AES/PCLMUL/SSE2AVX with AVX.  */
              if (cpu.bitfield.cpuavx)
                {
                  /* Check SSE2AVX.  */
@@ -1302,6 +1304,10 @@ cpu_flags_match (const template *t)
                      /* Check AES.  */
                      if (!x.bitfield.cpuaes || cpu.bitfield.cpuaes)
                        match |= CPU_FLAGS_AES_MATCH;
+                     /* Check PCLMUL.  */
+                     if (!x.bitfield.cpupclmul
+                         || cpu.bitfield.cpupclmul)
+                       match |= CPU_FLAGS_PCLMUL_MATCH;
                    }
                }
              else
index 075f24d9c47b6494bdb353605f158181f57cba04..4e4adeb5cb7f47b25f3627d11642f5276986f343 100644 (file)
@@ -1,3 +1,43 @@
+2009-02-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       AVX Programming Reference (January, 2009)
+       * gas/i386/arch-avx-1-3.l: New.
+       * gas/i386/arch-avx-1-3.s: Likewise.
+       * gas/i386/arch-avx-1-4.l: Likewise.
+       * gas/i386/arch-avx-1-4.s: Likewise.
+       * gas/i386/arch-avx-1-5.l: Likewise.
+       * gas/i386/arch-avx-1-5.s: Likewise.
+       * gas/i386/arch-avx-1-6.l: Likewise.
+       * gas/i386/arch-avx-1-6.s: Likewise.
+
+       * gas/i386/arch-10.s: Add vpclmul instructions.
+       * gas/i386/arch-avx-1.s: Likewise.
+       * gas/i386/avx.s: Likewise.
+       * gas/i386/x86-64-arch-2.s: Likewise.
+       * gas/i386/x86-64-avx.s: Likewise.
+
+       * gas/i386/sse2avx.s: Add pclmul instructions.
+       * 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/arch-avx-1.d: Likewise.
+       * gas/i386/arch-avx-1-1.l: Likewise.
+       * gas/i386/arch-avx-1-2.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-3, arch-avx-1-4,
+       arch-avx-1-5 and arch-avx-1-6.
+
 2009-02-03  DJ Delorie  <dj@redhat.com>
 
        * gas/mep/relocs.d: Updated for new configuration.
index 3d1c9fee85de3d7db577029d2ced652d00d7a715..fc559996307c24ffb229c7947e59792660afaf38 100644 (file)
@@ -27,6 +27,7 @@
 .*:54: Error: .*
 .*:56: Error: .*
 .*:58: Error: .*
+.*:60: Error: .*
 GAS LISTING .*
 
 
@@ -67,28 +68,30 @@ GAS LISTING .*
 [      ]*34[   ]+pclmulqdq \$8,%xmm1,%xmm0
 [      ]*35[   ]+\# AES \+ AVX
 [      ]*36[   ]+vaesenc  \(%ecx\),%xmm0,%xmm2
-[      ]*37[   ]+\# FMA
-[      ]*38[   ]+vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*39[   ]+\# MOVBE
-[      ]*40[   ]+movbe   \(%ecx\),%ebx
-[      ]*41[   ]+\# EPT
-[      ]*42[   ]+invept  \(%ecx\),%ebx
-[      ]*43[   ]+\# RDTSCP
-[      ]*44[   ]+rdtscp
-[      ]*45[   ]+\# 3DNow
-[      ]*46[   ]+pmulhrw %mm4,%mm3
-[      ]*47[   ]+\# 3DNow Extensions
-[      ]*48[   ]+pswapd %mm4,%mm3
-[      ]*49[   ]+\# SSE4a
-[      ]*50[   ]+insertq %xmm2,%xmm1
-[      ]*51[   ]+\# SVME
-[      ]*52[   ]+vmload
-[      ]*53[   ]+\# ABM
-[      ]*54[   ]+lzcnt %ecx,%ebx
-[      ]*55[   ]+\# SSE5
-[      ]*56[   ]+frczss          %xmm2, %xmm1
+[      ]*37[   ]+\# PCLMUL \+ AVX
+[      ]*38[   ]+vpclmulqdq \$8,%xmm4,%xmm6,%xmm2
+[      ]*39[   ]+\# FMA
+[      ]*40[   ]+vfmadd132pd %xmm4,%xmm6,%xmm2
+[      ]*41[   ]+\# MOVBE
+[      ]*42[   ]+movbe   \(%ecx\),%ebx
+[      ]*43[   ]+\# EPT
+[      ]*44[   ]+invept  \(%ecx\),%ebx
+[      ]*45[   ]+\# RDTSCP
+[      ]*46[   ]+rdtscp
+[      ]*47[   ]+\# 3DNow
+[      ]*48[   ]+pmulhrw %mm4,%mm3
+[      ]*49[   ]+\# 3DNow Extensions
+[      ]*50[   ]+pswapd %mm4,%mm3
+[      ]*51[   ]+\# SSE4a
+[      ]*52[   ]+insertq %xmm2,%xmm1
+[      ]*53[   ]+\# SVME
+[      ]*54[   ]+vmload
+[      ]*55[   ]+\# ABM
+[      ]*56[   ]+lzcnt %ecx,%ebx
 \fGAS LISTING .*
 
 
-[      ]*57[   ]+\# PadLock
-[      ]*58[   ]+xstorerng
+[      ]*57[   ]+\# SSE5
+[      ]*58[   ]+frczss          %xmm2, %xmm1
+[      ]*59[   ]+\# PadLock
+[      ]*60[   ]+xstorerng
index 6c0eb590ecd1aa4f91faa61144f92e8aaabe1826..e668ca8c09964d08998782bcb3bec96e91493833 100644 (file)
@@ -26,6 +26,7 @@
 .*:54: Error: .*
 .*:56: Error: .*
 .*:58: Error: .*
+.*:60: Error: .*
 GAS LISTING .*
 
 
@@ -66,28 +67,30 @@ GAS LISTING .*
 [      ]*34[   ]+pclmulqdq \$8,%xmm1,%xmm0
 [      ]*35[   ]+\# AES \+ AVX
 [      ]*36[   ]+vaesenc  \(%ecx\),%xmm0,%xmm2
-[      ]*37[   ]+\# FMA
-[      ]*38[   ]+vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*39[   ]+\# MOVBE
-[      ]*40[   ]+movbe   \(%ecx\),%ebx
-[      ]*41[   ]+\# EPT
-[      ]*42[   ]+invept  \(%ecx\),%ebx
-[      ]*43[   ]+\# RDTSCP
-[      ]*44[   ]+rdtscp
-[      ]*45[   ]+\# 3DNow
-[      ]*46[   ]+pmulhrw %mm4,%mm3
-[      ]*47[   ]+\# 3DNow Extensions
-[      ]*48[   ]+pswapd %mm4,%mm3
-[      ]*49[   ]+\# SSE4a
-[      ]*50[   ]+insertq %xmm2,%xmm1
-[      ]*51[   ]+\# SVME
-[      ]*52[   ]+vmload
-[      ]*53[   ]+\# ABM
-[      ]*54[   ]+lzcnt %ecx,%ebx
-[      ]*55[   ]+\# SSE5
-[      ]*56[   ]+frczss          %xmm2, %xmm1
+[      ]*37[   ]+\# PCLMUL \+ AVX
+[      ]*38[   ]+vpclmulqdq \$8,%xmm4,%xmm6,%xmm2
+[      ]*39[   ]+\# FMA
+[      ]*40[   ]+vfmadd132pd %xmm4,%xmm6,%xmm2
+[      ]*41[   ]+\# MOVBE
+[      ]*42[   ]+movbe   \(%ecx\),%ebx
+[      ]*43[   ]+\# EPT
+[      ]*44[   ]+invept  \(%ecx\),%ebx
+[      ]*45[   ]+\# RDTSCP
+[      ]*46[   ]+rdtscp
+[      ]*47[   ]+\# 3DNow
+[      ]*48[   ]+pmulhrw %mm4,%mm3
+[      ]*49[   ]+\# 3DNow Extensions
+[      ]*50[   ]+pswapd %mm4,%mm3
+[      ]*51[   ]+\# SSE4a
+[      ]*52[   ]+insertq %xmm2,%xmm1
+[      ]*53[   ]+\# SVME
+[      ]*54[   ]+vmload
+[      ]*55[   ]+\# ABM
+[      ]*56[   ]+lzcnt %ecx,%ebx
 \fGAS LISTING .*
 
 
-[      ]*57[   ]+\# PadLock
-[      ]*58[   ]+xstorerng
+[      ]*57[   ]+\# SSE5
+[      ]*58[   ]+frczss          %xmm2, %xmm1
+[      ]*59[   ]+\# PadLock
+[      ]*60[   ]+xstorerng
index 4a638ff0fba8d29a47090df5ccbdceb723226986..9818a45d68d28f7b6b99bf52d8d8358f8b469622 100644 (file)
@@ -19,6 +19,7 @@
 .*:54: Error: .*
 .*:56: Error: .*
 .*:58: Error: .*
+.*:60: Error: .*
 GAS LISTING .*
 
 
@@ -62,28 +63,30 @@ GAS LISTING .*
 [      ]*34[   ]+pclmulqdq \$8,%xmm1,%xmm0
 [      ]*35[   ]+\# AES \+ AVX
 [      ]*36[   ]+vaesenc  \(%ecx\),%xmm0,%xmm2
-[      ]*37[   ]+\# FMA
-[      ]*38[   ]+vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*39[   ]+\# MOVBE
-[      ]*40[   ]+movbe   \(%ecx\),%ebx
-[      ]*41[   ]+\# EPT
-[      ]*42[   ]+invept  \(%ecx\),%ebx
-[      ]*43[   ]+\# RDTSCP
-[      ]*44[   ]+rdtscp
-[      ]*45[   ]+\# 3DNow
-[      ]*46[   ]+pmulhrw %mm4,%mm3
-[      ]*47[   ]+\# 3DNow Extensions
-[      ]*48[   ]+pswapd %mm4,%mm3
-[      ]*49[   ]+\# SSE4a
-[      ]*50[   ]+insertq %xmm2,%xmm1
-[      ]*51[   ]+\# SVME
-[      ]*52[   ]+vmload
-[      ]*53[   ]+\# ABM
+[      ]*37[   ]+\# PCLMUL \+ AVX
+[      ]*38[   ]+vpclmulqdq \$8,%xmm4,%xmm6,%xmm2
+[      ]*39[   ]+\# FMA
+[      ]*40[   ]+vfmadd132pd %xmm4,%xmm6,%xmm2
+[      ]*41[   ]+\# MOVBE
+[      ]*42[   ]+movbe   \(%ecx\),%ebx
+[      ]*43[   ]+\# EPT
+[      ]*44[   ]+invept  \(%ecx\),%ebx
+[      ]*45[   ]+\# RDTSCP
+[      ]*46[   ]+rdtscp
+[      ]*47[   ]+\# 3DNow
+[      ]*48[   ]+pmulhrw %mm4,%mm3
+[      ]*49[   ]+\# 3DNow Extensions
+[      ]*50[   ]+pswapd %mm4,%mm3
+[      ]*51[   ]+\# SSE4a
+[      ]*52[   ]+insertq %xmm2,%xmm1
+[      ]*53[   ]+\# SVME
 \fGAS LISTING .*
 
 
-[      ]*54[   ]+lzcnt %ecx,%ebx
-[      ]*55[   ]+\# SSE5
-[      ]*56[   ]+frczss          %xmm2, %xmm1
-[      ]*57[   ]+\# PadLock
-[      ]*58[   ]+xstorerng
+[      ]*54[   ]+vmload
+[      ]*55[   ]+\# ABM
+[      ]*56[   ]+lzcnt %ecx,%ebx
+[      ]*57[   ]+\# SSE5
+[      ]*58[   ]+frczss          %xmm2, %xmm1
+[      ]*59[   ]+\# PadLock
+[      ]*60[   ]+xstorerng
index 559efaf78a0ee480223427e2ef3083c6b4a645be..bfe6346277dbd408a283d1b503e3142a09451728 100644 (file)
@@ -17,6 +17,7 @@
 .*:54: Error: .*
 .*:56: Error: .*
 .*:58: Error: .*
+.*:60: Error: .*
 GAS LISTING .*
 
 
@@ -60,28 +61,30 @@ GAS LISTING .*
 [      ]*34[   ]+pclmulqdq \$8,%xmm1,%xmm0
 [      ]*35[   ]+\# AES \+ AVX
 [      ]*36[   ]+vaesenc  \(%ecx\),%xmm0,%xmm2
-[      ]*37[   ]+\# FMA
-[      ]*38[   ]+vfmadd132pd %xmm4,%xmm6,%xmm2
-[      ]*39[   ]+\# MOVBE
-[      ]*40[   ]+movbe   \(%ecx\),%ebx
-[      ]*41[   ]+\# EPT
-[      ]*42[   ]+invept  \(%ecx\),%ebx
-[      ]*43[   ]+\# RDTSCP
-[      ]*44[   ]+rdtscp
-[      ]*45[   ]+\# 3DNow
-[      ]*46[   ]+pmulhrw %mm4,%mm3
-[      ]*47[   ]+\# 3DNow Extensions
-[      ]*48[   ]+pswapd %mm4,%mm3
-[      ]*49[   ]+\# SSE4a
-[      ]*50[   ]+insertq %xmm2,%xmm1
-[      ]*51[   ]+\# SVME
-[      ]*52[   ]+vmload
-[      ]*53[   ]+\# ABM
+[      ]*37[   ]+\# PCLMUL \+ AVX
+[      ]*38[   ]+vpclmulqdq \$8,%xmm4,%xmm6,%xmm2
+[      ]*39[   ]+\# FMA
+[      ]*40[   ]+vfmadd132pd %xmm4,%xmm6,%xmm2
+[      ]*41[   ]+\# MOVBE
+[      ]*42[   ]+movbe   \(%ecx\),%ebx
+[      ]*43[   ]+\# EPT
+[      ]*44[   ]+invept  \(%ecx\),%ebx
+[      ]*45[   ]+\# RDTSCP
+[      ]*46[   ]+rdtscp
+[      ]*47[   ]+\# 3DNow
+[      ]*48[   ]+pmulhrw %mm4,%mm3
+[      ]*49[   ]+\# 3DNow Extensions
+[      ]*50[   ]+pswapd %mm4,%mm3
+[      ]*51[   ]+\# SSE4a
+[      ]*52[   ]+insertq %xmm2,%xmm1
+[      ]*53[   ]+\# SVME
 \fGAS LISTING .*
 
 
-[      ]*54[   ]+lzcnt %ecx,%ebx
-[      ]*55[   ]+\# SSE5
-[      ]*56[   ]+frczss          %xmm2, %xmm1
-[      ]*57[   ]+\# PadLock
-[      ]*58[   ]+xstorerng
+[      ]*54[   ]+vmload
+[      ]*55[   ]+\# ABM
+[      ]*56[   ]+lzcnt %ecx,%ebx
+[      ]*57[   ]+\# SSE5
+[      ]*58[   ]+frczss          %xmm2, %xmm1
+[      ]*59[   ]+\# PadLock
+[      ]*60[   ]+xstorerng
index 409d8fc1cbbe377ce4419de0cc790e588d71ee1f..0c78a7273c2d593a30c96227d2a89eef8f03b55d 100644 (file)
@@ -24,6 +24,7 @@ Disassembly of section .text:
 [      ]*[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 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%ecx\),%ebx
 [      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%ecx\),%ebx
index 998ba2e63e38e25d0ca680c69b6b7aeac27a6e87..c1ab0106ecbf38ae7c4f1a85fca47e2efe3845cc 100644 (file)
@@ -34,6 +34,8 @@ aesenc  (%ecx),%xmm0
 pclmulqdq $8,%xmm1,%xmm0
 # AES + AVX
 vaesenc  (%ecx),%xmm0,%xmm2
+# PCLMUL + AVX
+vpclmulqdq $8,%xmm4,%xmm6,%xmm2
 # FMA
 vfmadd132pd %xmm4,%xmm6,%xmm2
 # MOVBE
index b1f8fb08d8219486c41644c3460ce767dcc7c168..6d5024e1016065583b0994e70a17fafcd0e715c9 100644 (file)
@@ -1,5 +1,6 @@
 .*: Assembler messages:
 .*:4: Error: .*
+.*:6: Error: .*
 GAS LISTING .*
 
 
@@ -8,3 +9,5 @@ GAS LISTING .*
 [      ]*2[    ]+\.text
 [      ]*3[    ]+\# AES \+ AVX
 [      ]*4[    ]+vaesenc  \(%ecx\),%xmm0,%xmm2
+[      ]*5[    ]+\# PCLMUL \+ AVX
+[      ]*6[    ]+vpclmulqdq \$8,%xmm4,%xmm6,%xmm2
index b1f8fb08d8219486c41644c3460ce767dcc7c168..6d5024e1016065583b0994e70a17fafcd0e715c9 100644 (file)
@@ -1,5 +1,6 @@
 .*: Assembler messages:
 .*:4: Error: .*
+.*:6: Error: .*
 GAS LISTING .*
 
 
@@ -8,3 +9,5 @@ GAS LISTING .*
 [      ]*2[    ]+\.text
 [      ]*3[    ]+\# AES \+ AVX
 [      ]*4[    ]+vaesenc  \(%ecx\),%xmm0,%xmm2
+[      ]*5[    ]+\# PCLMUL \+ AVX
+[      ]*6[    ]+vpclmulqdq \$8,%xmm4,%xmm6,%xmm2
diff --git a/gas/testsuite/gas/i386/arch-avx-1-3.l b/gas/testsuite/gas/i386/arch-avx-1-3.l
new file mode 100644 (file)
index 0000000..6d5024e
--- /dev/null
@@ -0,0 +1,13 @@
+.*: Assembler messages:
+.*:4: Error: .*
+.*:6: Error: .*
+GAS LISTING .*
+
+
+[      ]*1[    ]+\.include "arch-avx-1\.s"
+[      ]*1[    ]+\# Test -march=
+[      ]*2[    ]+\.text
+[      ]*3[    ]+\# AES \+ AVX
+[      ]*4[    ]+vaesenc  \(%ecx\),%xmm0,%xmm2
+[      ]*5[    ]+\# PCLMUL \+ AVX
+[      ]*6[    ]+vpclmulqdq \$8,%xmm4,%xmm6,%xmm2
diff --git a/gas/testsuite/gas/i386/arch-avx-1-3.s b/gas/testsuite/gas/i386/arch-avx-1-3.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-4.l b/gas/testsuite/gas/i386/arch-avx-1-4.l
new file mode 100644 (file)
index 0000000..3d560b1
--- /dev/null
@@ -0,0 +1,13 @@
+.*: Assembler messages:
+.*:6: Error: .*
+GAS LISTING .*
+
+
+[      ]*1[    ]+\.include "arch-avx-1\.s"
+[      ]*1[    ]+\# Test -march=
+[      ]*2[    ]+\.text
+[      ]*3[    ]+\# AES \+ AVX
+[      ]*4[    ]+\?\?\?\? C4E279DC     vaesenc  \(%ecx\),%xmm0,%xmm2
+[      ]*4[    ]+11
+[      ]*5[    ]+\# PCLMUL \+ AVX
+[      ]*6[    ]+vpclmulqdq \$8,%xmm4,%xmm6,%xmm2
diff --git a/gas/testsuite/gas/i386/arch-avx-1-4.s b/gas/testsuite/gas/i386/arch-avx-1-4.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-5.l b/gas/testsuite/gas/i386/arch-avx-1-5.l
new file mode 100644 (file)
index 0000000..cc98a7a
--- /dev/null
@@ -0,0 +1,13 @@
+.*: 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
+[      ]*5[    ]+\# PCLMUL \+ AVX
+[      ]*6[    ]+\?\?\?\? C4E34944     vpclmulqdq \$8,%xmm4,%xmm6,%xmm2
+[      ]*6[    ]+D408
diff --git a/gas/testsuite/gas/i386/arch-avx-1-5.s b/gas/testsuite/gas/i386/arch-avx-1-5.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-6.l b/gas/testsuite/gas/i386/arch-avx-1-6.l
new file mode 100644 (file)
index 0000000..6d5024e
--- /dev/null
@@ -0,0 +1,13 @@
+.*: Assembler messages:
+.*:4: Error: .*
+.*:6: Error: .*
+GAS LISTING .*
+
+
+[      ]*1[    ]+\.include "arch-avx-1\.s"
+[      ]*1[    ]+\# Test -march=
+[      ]*2[    ]+\.text
+[      ]*3[    ]+\# AES \+ AVX
+[      ]*4[    ]+vaesenc  \(%ecx\),%xmm0,%xmm2
+[      ]*5[    ]+\# PCLMUL \+ AVX
+[      ]*6[    ]+vpclmulqdq \$8,%xmm4,%xmm6,%xmm2
diff --git a/gas/testsuite/gas/i386/arch-avx-1-6.s b/gas/testsuite/gas/i386/arch-avx-1-6.s
new file mode 100644 (file)
index 0000000..8c40548
--- /dev/null
@@ -0,0 +1 @@
+.include "arch-avx-1.s"
index b0af891d7ee173c6a04b05dff4f874cb0199c0d8..fa6b8ca25da9441c7e203c57066ddfe7129f3bd1 100644 (file)
@@ -1,4 +1,4 @@
-#as: -march=generic32+avx+aes
+#as: -march=generic32+avx+aes+pclmul
 #objdump: -dw
 #name: i386 arch avx 1
 
@@ -8,4 +8,5 @@ Disassembly of section .text:
 
 0+ <.text>:
 [      ]*[a-f0-9]+:    c4 e2 79 dc 11          vaesenc \(%ecx\),%xmm0,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
 #pass
index de77301a30cfab807fb79744b22a4427b53d3322..8abd99be8d5951e4a6809c8b60242c633dc1bb18 100644 (file)
@@ -2,3 +2,5 @@
        .text
 # AES + AVX
 vaesenc  (%ecx),%xmm0,%xmm2
+# PCLMUL + AVX
+vpclmulqdq $8,%xmm4,%xmm6,%xmm2
index 5575a92899447da7b68a07012032a425d0b1ca95..1e06ca3ff4b8ed102556dcc0a12762f023187a90 100644 (file)
@@ -437,6 +437,14 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 e0 39             vpavgb xmm7,xmm6,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c5 c9 e3 d4             vpavgw xmm2,xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 c9 e3 39             vpavgw xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 00       vpclmullqlqdq xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 00       vpclmullqlqdq xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 01       vpclmulhqlqdq xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 01       vpclmulhqlqdq xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 10       vpclmullqhqdq xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 10       vpclmullqhqdq xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 11       vpclmulhqhqdq xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 11       vpclmulhqhqdq xmm7,xmm6,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c5 c9 74 d4             vpcmpeqb xmm2,xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 c9 74 39             vpcmpeqb xmm7,xmm6,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c5 c9 75 d4             vpcmpeqw xmm2,xmm6,xmm4
@@ -771,6 +779,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 49 0f 11 07       vpalignr xmm2,xmm6,XMMWORD PTR \[ecx\],0x7
 [      ]*[a-f0-9]+:    c4 e3 49 0e d4 07       vpblendw xmm2,xmm6,xmm4,0x7
 [      ]*[a-f0-9]+:    c4 e3 49 0e 11 07       vpblendw xmm2,xmm6,XMMWORD PTR \[ecx\],0x7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 07       vpclmulqdq xmm2,xmm6,xmm4,0x7
+[      ]*[a-f0-9]+:    c4 e3 49 44 11 07       vpclmulqdq xmm2,xmm6,XMMWORD PTR \[ecx\],0x7
 [      ]*[a-f0-9]+:    c5 c9 c6 d4 07          vshufpd xmm2,xmm6,xmm4,0x7
 [      ]*[a-f0-9]+:    c5 c9 c6 11 07          vshufpd xmm2,xmm6,XMMWORD PTR \[ecx\],0x7
 [      ]*[a-f0-9]+:    c5 c8 c6 d4 07          vshufps xmm2,xmm6,xmm4,0x7
@@ -1084,6 +1094,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 05 34 12 00 00 07   vaeskeygenassist xmm0,XMMWORD PTR ds:0x1234,0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 05 34 12 00 00 07   vpextrb BYTE PTR ds:0x1234,xmm0,0x7
 [      ]*[a-f0-9]+:    c5 fb 2a 3d 34 12 00 00         vcvtsi2sd xmm7,xmm0,DWORD PTR ds:0x1234
+[      ]*[a-f0-9]+:    c4 e3 79 44 3d 34 12 00 00 07   vpclmulqdq xmm7,xmm0,XMMWORD PTR ds:0x1234,0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 35 34 12 00 00 00   vblendvps xmm6,xmm4,XMMWORD PTR ds:0x1234,xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 3d 34 12 00 00 07   vpinsrb xmm7,xmm0,BYTE PTR ds:0x1234,0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 05 34 12 00 00         vmovdqa ymm0,YMMWORD PTR ds:0x1234
@@ -1104,6 +1115,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 45 00 07    vaeskeygenassist xmm0,XMMWORD PTR \[ebp\+0x0\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 45 00 07    vpextrb BYTE PTR \[ebp\+0x0\],xmm0,0x7
 [      ]*[a-f0-9]+:    c5 fb 2a 7d 00          vcvtsi2sd xmm7,xmm0,DWORD PTR \[ebp\+0x0\]
+[      ]*[a-f0-9]+:    c4 e3 79 44 7d 00 07    vpclmulqdq xmm7,xmm0,XMMWORD PTR \[ebp\+0x0\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 75 00 00    vblendvps xmm6,xmm4,XMMWORD PTR \[ebp\+0x0\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 7d 00 07    vpinsrb xmm7,xmm0,BYTE PTR \[ebp\+0x0\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 45 00          vmovdqa ymm0,YMMWORD PTR \[ebp\+0x0\]
@@ -1124,6 +1136,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 04 24 07    vaeskeygenassist xmm0,XMMWORD PTR \[esp\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 24 07    vpextrb BYTE PTR \[esp\],xmm0,0x7
 [      ]*[a-f0-9]+:    c5 fb 2a 3c 24          vcvtsi2sd xmm7,xmm0,DWORD PTR \[esp\]
+[      ]*[a-f0-9]+:    c4 e3 79 44 3c 24 07    vpclmulqdq xmm7,xmm0,XMMWORD PTR \[esp\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 34 24 00    vblendvps xmm6,xmm4,XMMWORD PTR \[esp\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 3c 24 07    vpinsrb xmm7,xmm0,BYTE PTR \[esp\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 04 24          vmovdqa ymm0,YMMWORD PTR \[esp\]
@@ -1144,6 +1157,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 85 99 00 00 00 07   vaeskeygenassist xmm0,XMMWORD PTR \[ebp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 85 99 00 00 00 07   vpextrb BYTE PTR \[ebp\+0x99\],xmm0,0x7
 [      ]*[a-f0-9]+:    c5 fb 2a bd 99 00 00 00         vcvtsi2sd xmm7,xmm0,DWORD PTR \[ebp\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 44 bd 99 00 00 00 07   vpclmulqdq xmm7,xmm0,XMMWORD PTR \[ebp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b5 99 00 00 00 00   vblendvps xmm6,xmm4,XMMWORD PTR \[ebp\+0x99\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 bd 99 00 00 00 07   vpinsrb xmm7,xmm0,BYTE PTR \[ebp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 85 99 00 00 00         vmovdqa ymm0,YMMWORD PTR \[ebp\+0x99\]
@@ -1164,6 +1178,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 04 25 99 00 00 00 07        vaeskeygenassist xmm0,XMMWORD PTR \[eiz\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 25 99 00 00 00 07        vpextrb BYTE PTR \[eiz\*1\+0x99\],xmm0,0x7
 [      ]*[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 79 44 3c 25 99 00 00 00 07        vpclmulqdq xmm7,xmm0,XMMWORD PTR \[eiz\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 34 25 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eiz\*1\+0x99\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 3c 25 99 00 00 00 07        vpinsrb xmm7,xmm0,BYTE PTR \[eiz\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 04 25 99 00 00 00      vmovdqa ymm0,YMMWORD PTR \[eiz\*1\+0x99\]
@@ -1184,6 +1199,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 04 65 99 00 00 00 07        vaeskeygenassist xmm0,XMMWORD PTR \[eiz\*2\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 65 99 00 00 00 07        vpextrb BYTE PTR \[eiz\*2\+0x99\],xmm0,0x7
 [      ]*[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 79 44 3c 65 99 00 00 00 07        vpclmulqdq xmm7,xmm0,XMMWORD PTR \[eiz\*2\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 34 65 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eiz\*2\+0x99\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 3c 65 99 00 00 00 07        vpinsrb xmm7,xmm0,BYTE PTR \[eiz\*2\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 04 65 99 00 00 00      vmovdqa ymm0,YMMWORD PTR \[eiz\*2\+0x99\]
@@ -1204,6 +1220,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 20 99 00 00 00 07        vaeskeygenassist xmm0,XMMWORD PTR \[eax\+eiz\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 20 99 00 00 00 07        vpextrb BYTE PTR \[eax\+eiz\*1\+0x99\],xmm0,0x7
 [      ]*[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 79 44 bc 20 99 00 00 00 07        vpclmulqdq xmm7,xmm0,XMMWORD PTR \[eax\+eiz\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 20 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eax\+eiz\*1\+0x99\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc 20 99 00 00 00 07        vpinsrb xmm7,xmm0,BYTE PTR \[eax\+eiz\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 20 99 00 00 00      vmovdqa ymm0,YMMWORD PTR \[eax\+eiz\*1\+0x99\]
@@ -1224,6 +1241,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 60 99 00 00 00 07        vaeskeygenassist xmm0,XMMWORD PTR \[eax\+eiz\*2\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 60 99 00 00 00 07        vpextrb BYTE PTR \[eax\+eiz\*2\+0x99\],xmm0,0x7
 [      ]*[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 79 44 bc 60 99 00 00 00 07        vpclmulqdq xmm7,xmm0,XMMWORD PTR \[eax\+eiz\*2\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 60 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eax\+eiz\*2\+0x99\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc 60 99 00 00 00 07        vpinsrb xmm7,xmm0,BYTE PTR \[eax\+eiz\*2\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 60 99 00 00 00      vmovdqa ymm0,YMMWORD PTR \[eax\+eiz\*2\+0x99\]
@@ -1244,6 +1262,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 98 99 00 00 00 07        vaeskeygenassist xmm0,XMMWORD PTR \[eax\+ebx\*4\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 98 99 00 00 00 07        vpextrb BYTE PTR \[eax\+ebx\*4\+0x99\],xmm0,0x7
 [      ]*[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 79 44 bc 98 99 00 00 00 07        vpclmulqdq xmm7,xmm0,XMMWORD PTR \[eax\+ebx\*4\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 98 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eax\+ebx\*4\+0x99\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc 98 99 00 00 00 07        vpinsrb xmm7,xmm0,BYTE PTR \[eax\+ebx\*4\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 98 99 00 00 00      vmovdqa ymm0,YMMWORD PTR \[eax\+ebx\*4\+0x99\]
@@ -1264,6 +1283,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 cc 99 00 00 00 07        vaeskeygenassist xmm0,XMMWORD PTR \[esp\+ecx\*8\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 cc 99 00 00 00 07        vpextrb BYTE PTR \[esp\+ecx\*8\+0x99\],xmm0,0x7
 [      ]*[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 79 44 bc cc 99 00 00 00 07        vpclmulqdq xmm7,xmm0,XMMWORD PTR \[esp\+ecx\*8\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 cc 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[esp\+ecx\*8\+0x99\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc cc 99 00 00 00 07        vpinsrb xmm7,xmm0,BYTE PTR \[esp\+ecx\*8\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 cc 99 00 00 00      vmovdqa ymm0,YMMWORD PTR \[esp\+ecx\*8\+0x99\]
@@ -1284,6 +1304,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 15 99 00 00 00 07        vaeskeygenassist xmm0,XMMWORD PTR \[ebp\+edx\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 15 99 00 00 00 07        vpextrb BYTE PTR \[ebp\+edx\*1\+0x99\],xmm0,0x7
 [      ]*[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 79 44 bc 15 99 00 00 00 07        vpclmulqdq xmm7,xmm0,XMMWORD PTR \[ebp\+edx\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 15 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[ebp\+edx\*1\+0x99\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc 15 99 00 00 00 07        vpinsrb xmm7,xmm0,BYTE PTR \[ebp\+edx\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 15 99 00 00 00      vmovdqa ymm0,YMMWORD PTR \[ebp\+edx\*1\+0x99\]
@@ -1940,6 +1961,18 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 e3 d4             vpavgw xmm2,xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 c9 e3 39             vpavgw xmm7,xmm6,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c5 c9 e3 39             vpavgw xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 00       vpclmullqlqdq xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 00       vpclmullqlqdq xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 00       vpclmullqlqdq xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 01       vpclmulhqlqdq xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 01       vpclmulhqlqdq xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 01       vpclmulhqlqdq xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 10       vpclmullqhqdq xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 10       vpclmullqhqdq xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 10       vpclmullqhqdq xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 11       vpclmulhqhqdq xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 11       vpclmulhqhqdq xmm7,xmm6,XMMWORD PTR \[ecx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 11       vpclmulhqhqdq xmm7,xmm6,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c5 c9 74 d4             vpcmpeqb xmm2,xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 c9 74 39             vpcmpeqb xmm7,xmm6,XMMWORD PTR \[ecx\]
 [      ]*[a-f0-9]+:    c5 c9 74 39             vpcmpeqb xmm7,xmm6,XMMWORD PTR \[ecx\]
@@ -2443,6 +2476,9 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 49 0e d4 07       vpblendw xmm2,xmm6,xmm4,0x7
 [      ]*[a-f0-9]+:    c4 e3 49 0e 11 07       vpblendw xmm2,xmm6,XMMWORD PTR \[ecx\],0x7
 [      ]*[a-f0-9]+:    c4 e3 49 0e 11 07       vpblendw xmm2,xmm6,XMMWORD PTR \[ecx\],0x7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 07       vpclmulqdq xmm2,xmm6,xmm4,0x7
+[      ]*[a-f0-9]+:    c4 e3 49 44 11 07       vpclmulqdq xmm2,xmm6,XMMWORD PTR \[ecx\],0x7
+[      ]*[a-f0-9]+:    c4 e3 49 44 11 07       vpclmulqdq xmm2,xmm6,XMMWORD PTR \[ecx\],0x7
 [      ]*[a-f0-9]+:    c5 c9 c6 d4 07          vshufpd xmm2,xmm6,xmm4,0x7
 [      ]*[a-f0-9]+:    c5 c9 c6 11 07          vshufpd xmm2,xmm6,XMMWORD PTR \[ecx\],0x7
 [      ]*[a-f0-9]+:    c5 c9 c6 11 07          vshufpd xmm2,xmm6,XMMWORD PTR \[ecx\],0x7
@@ -2904,6 +2940,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 05 34 12 00 00 07   vaeskeygenassist xmm0,XMMWORD PTR ds:0x1234,0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 05 34 12 00 00 07   vpextrb BYTE PTR ds:0x1234,xmm0,0x7
 [      ]*[a-f0-9]+:    c5 fb 2a 3d 34 12 00 00         vcvtsi2sd xmm7,xmm0,DWORD PTR ds:0x1234
+[      ]*[a-f0-9]+:    c4 e3 79 44 3d 34 12 00 00 07   vpclmulqdq xmm7,xmm0,XMMWORD PTR ds:0x1234,0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 35 34 12 00 00 00   vblendvps xmm6,xmm4,XMMWORD PTR ds:0x1234,xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 3d 34 12 00 00 07   vpinsrb xmm7,xmm0,BYTE PTR ds:0x1234,0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 05 34 12 00 00         vmovdqa ymm0,YMMWORD PTR ds:0x1234
@@ -2924,6 +2961,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 45 00 07    vaeskeygenassist xmm0,XMMWORD PTR \[ebp\+0x0\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 45 00 07    vpextrb BYTE PTR \[ebp\+0x0\],xmm0,0x7
 [      ]*[a-f0-9]+:    c5 fb 2a 7d 00          vcvtsi2sd xmm7,xmm0,DWORD PTR \[ebp\+0x0\]
+[      ]*[a-f0-9]+:    c4 e3 79 44 7d 00 07    vpclmulqdq xmm7,xmm0,XMMWORD PTR \[ebp\+0x0\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 75 00 00    vblendvps xmm6,xmm4,XMMWORD PTR \[ebp\+0x0\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 7d 00 07    vpinsrb xmm7,xmm0,BYTE PTR \[ebp\+0x0\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 45 00          vmovdqa ymm0,YMMWORD PTR \[ebp\+0x0\]
@@ -2944,6 +2982,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 85 99 00 00 00 07   vaeskeygenassist xmm0,XMMWORD PTR \[ebp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 85 99 00 00 00 07   vpextrb BYTE PTR \[ebp\+0x99\],xmm0,0x7
 [      ]*[a-f0-9]+:    c5 fb 2a bd 99 00 00 00         vcvtsi2sd xmm7,xmm0,DWORD PTR \[ebp\+0x99\]
+[      ]*[a-f0-9]+:    c4 e3 79 44 bd 99 00 00 00 07   vpclmulqdq xmm7,xmm0,XMMWORD PTR \[ebp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b5 99 00 00 00 00   vblendvps xmm6,xmm4,XMMWORD PTR \[ebp\+0x99\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 bd 99 00 00 00 07   vpinsrb xmm7,xmm0,BYTE PTR \[ebp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 85 99 00 00 00         vmovdqa ymm0,YMMWORD PTR \[ebp\+0x99\]
@@ -2964,6 +3003,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 04 25 99 00 00 00 07        vaeskeygenassist xmm0,XMMWORD PTR \[eiz\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 25 99 00 00 00 07        vpextrb BYTE PTR \[eiz\*1\+0x99\],xmm0,0x7
 [      ]*[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 79 44 3c 25 99 00 00 00 07        vpclmulqdq xmm7,xmm0,XMMWORD PTR \[eiz\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 34 25 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eiz\*1\+0x99\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 3c 25 99 00 00 00 07        vpinsrb xmm7,xmm0,BYTE PTR \[eiz\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 04 25 99 00 00 00      vmovdqa ymm0,YMMWORD PTR \[eiz\*1\+0x99\]
@@ -2984,6 +3024,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 04 65 99 00 00 00 07        vaeskeygenassist xmm0,XMMWORD PTR \[eiz\*2\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 65 99 00 00 00 07        vpextrb BYTE PTR \[eiz\*2\+0x99\],xmm0,0x7
 [      ]*[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 79 44 3c 65 99 00 00 00 07        vpclmulqdq xmm7,xmm0,XMMWORD PTR \[eiz\*2\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 34 65 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eiz\*2\+0x99\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 3c 65 99 00 00 00 07        vpinsrb xmm7,xmm0,BYTE PTR \[eiz\*2\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 04 65 99 00 00 00      vmovdqa ymm0,YMMWORD PTR \[eiz\*2\+0x99\]
@@ -3004,6 +3045,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 20 99 00 00 00 07        vaeskeygenassist xmm0,XMMWORD PTR \[eax\+eiz\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 20 99 00 00 00 07        vpextrb BYTE PTR \[eax\+eiz\*1\+0x99\],xmm0,0x7
 [      ]*[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 79 44 bc 20 99 00 00 00 07        vpclmulqdq xmm7,xmm0,XMMWORD PTR \[eax\+eiz\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 20 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eax\+eiz\*1\+0x99\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc 20 99 00 00 00 07        vpinsrb xmm7,xmm0,BYTE PTR \[eax\+eiz\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 20 99 00 00 00      vmovdqa ymm0,YMMWORD PTR \[eax\+eiz\*1\+0x99\]
@@ -3024,6 +3066,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 60 99 00 00 00 07        vaeskeygenassist xmm0,XMMWORD PTR \[eax\+eiz\*2\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 60 99 00 00 00 07        vpextrb BYTE PTR \[eax\+eiz\*2\+0x99\],xmm0,0x7
 [      ]*[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 79 44 bc 60 99 00 00 00 07        vpclmulqdq xmm7,xmm0,XMMWORD PTR \[eax\+eiz\*2\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 60 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eax\+eiz\*2\+0x99\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc 60 99 00 00 00 07        vpinsrb xmm7,xmm0,BYTE PTR \[eax\+eiz\*2\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 60 99 00 00 00      vmovdqa ymm0,YMMWORD PTR \[eax\+eiz\*2\+0x99\]
@@ -3044,6 +3087,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 98 99 00 00 00 07        vaeskeygenassist xmm0,XMMWORD PTR \[eax\+ebx\*4\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 98 99 00 00 00 07        vpextrb BYTE PTR \[eax\+ebx\*4\+0x99\],xmm0,0x7
 [      ]*[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 79 44 bc 98 99 00 00 00 07        vpclmulqdq xmm7,xmm0,XMMWORD PTR \[eax\+ebx\*4\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 98 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[eax\+ebx\*4\+0x99\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc 98 99 00 00 00 07        vpinsrb xmm7,xmm0,BYTE PTR \[eax\+ebx\*4\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 98 99 00 00 00      vmovdqa ymm0,YMMWORD PTR \[eax\+ebx\*4\+0x99\]
@@ -3064,6 +3108,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 cc 99 00 00 00 07        vaeskeygenassist xmm0,XMMWORD PTR \[esp\+ecx\*8\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 cc 99 00 00 00 07        vpextrb BYTE PTR \[esp\+ecx\*8\+0x99\],xmm0,0x7
 [      ]*[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 79 44 bc cc 99 00 00 00 07        vpclmulqdq xmm7,xmm0,XMMWORD PTR \[esp\+ecx\*8\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 cc 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[esp\+ecx\*8\+0x99\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc cc 99 00 00 00 07        vpinsrb xmm7,xmm0,BYTE PTR \[esp\+ecx\*8\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 cc 99 00 00 00      vmovdqa ymm0,YMMWORD PTR \[esp\+ecx\*8\+0x99\]
@@ -3084,6 +3129,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 15 99 00 00 00 07        vaeskeygenassist xmm0,XMMWORD PTR \[ebp\+edx\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 15 99 00 00 00 07        vpextrb BYTE PTR \[ebp\+edx\*1\+0x99\],xmm0,0x7
 [      ]*[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 79 44 bc 15 99 00 00 00 07        vpclmulqdq xmm7,xmm0,XMMWORD PTR \[ebp\+edx\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b4 15 99 00 00 00 00        vblendvps xmm6,xmm4,XMMWORD PTR \[ebp\+edx\*1\+0x99\],xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc 15 99 00 00 00 07        vpinsrb xmm7,xmm0,BYTE PTR \[ebp\+edx\*1\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 15 99 00 00 00      vmovdqa ymm0,YMMWORD PTR \[ebp\+edx\*1\+0x99\]
index eeb49c02236a87fb6b5a6ababb515a75ec5732f6..5d17706bc933f26a07a546f1a9df005969ceafa7 100644 (file)
@@ -436,6 +436,14 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 e0 39             vpavgb \(%ecx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 e3 d4             vpavgw %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 e3 39             vpavgw \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 00       vpclmullqlqdq %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 00       vpclmullqlqdq \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 01       vpclmulhqlqdq %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 01       vpclmulhqlqdq \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 10       vpclmullqhqdq %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 10       vpclmullqhqdq \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 11       vpclmulhqhqdq %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 11       vpclmulhqhqdq \(%ecx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 74 d4             vpcmpeqb %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 74 39             vpcmpeqb \(%ecx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 75 d4             vpcmpeqw %xmm4,%xmm6,%xmm2
@@ -770,6 +778,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 49 0f 11 07       vpalignr \$0x7,\(%ecx\),%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c4 e3 49 0e d4 07       vpblendw \$0x7,%xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c4 e3 49 0e 11 07       vpblendw \$0x7,\(%ecx\),%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 07       vpclmulqdq \$0x7,%xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 11 07       vpclmulqdq \$0x7,\(%ecx\),%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 c6 d4 07          vshufpd \$0x7,%xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 c6 11 07          vshufpd \$0x7,\(%ecx\),%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c8 c6 d4 07          vshufps \$0x7,%xmm4,%xmm6,%xmm2
@@ -1083,6 +1093,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 05 34 12 00 00 07   vaeskeygenassist \$0x7,0x1234,%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 05 34 12 00 00 07   vpextrb \$0x7,%xmm0,0x1234
 [      ]*[a-f0-9]+:    c5 fb 2a 3d 34 12 00 00         vcvtsi2sdl 0x1234,%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 44 3d 34 12 00 00 07   vpclmulqdq \$0x7,0x1234,%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 35 34 12 00 00 00   vblendvps %xmm0,0x1234,%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 20 3d 34 12 00 00 07   vpinsrb \$0x7,0x1234,%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 05 34 12 00 00         vmovdqa 0x1234,%ymm0
@@ -1103,6 +1114,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 45 00 07    vaeskeygenassist \$0x7,0x0\(%ebp\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 45 00 07    vpextrb \$0x7,%xmm0,0x0\(%ebp\)
 [      ]*[a-f0-9]+:    c5 fb 2a 7d 00          vcvtsi2sdl 0x0\(%ebp\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 44 7d 00 07    vpclmulqdq \$0x7,0x0\(%ebp\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 75 00 00    vblendvps %xmm0,0x0\(%ebp\),%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 20 7d 00 07    vpinsrb \$0x7,0x0\(%ebp\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 45 00          vmovdqa 0x0\(%ebp\),%ymm0
@@ -1123,6 +1135,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 04 24 07    vaeskeygenassist \$0x7,\(%esp\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 24 07    vpextrb \$0x7,%xmm0,\(%esp\)
 [      ]*[a-f0-9]+:    c5 fb 2a 3c 24          vcvtsi2sdl \(%esp\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 44 3c 24 07    vpclmulqdq \$0x7,\(%esp\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 34 24 00    vblendvps %xmm0,\(%esp\),%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 20 3c 24 07    vpinsrb \$0x7,\(%esp\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 04 24          vmovdqa \(%esp\),%ymm0
@@ -1143,6 +1156,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 85 99 00 00 00 07   vaeskeygenassist \$0x7,0x99\(%ebp\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 85 99 00 00 00 07   vpextrb \$0x7,%xmm0,0x99\(%ebp\)
 [      ]*[a-f0-9]+:    c5 fb 2a bd 99 00 00 00         vcvtsi2sdl 0x99\(%ebp\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 44 bd 99 00 00 00 07   vpclmulqdq \$0x7,0x99\(%ebp\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b5 99 00 00 00 00   vblendvps %xmm0,0x99\(%ebp\),%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 20 bd 99 00 00 00 07   vpinsrb \$0x7,0x99\(%ebp\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 85 99 00 00 00         vmovdqa 0x99\(%ebp\),%ymm0
@@ -1163,6 +1177,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 04 25 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(,%eiz,1\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 25 99 00 00 00 07        vpextrb \$0x7,%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 79 44 3c 25 99 00 00 00 07        vpclmulqdq \$0x7,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
 [      ]*[a-f0-9]+:    c4 e3 79 20 3c 25 99 00 00 00 07        vpinsrb \$0x7,0x99\(,%eiz,1\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 04 25 99 00 00 00      vmovdqa 0x99\(,%eiz,1\),%ymm0
@@ -1183,6 +1198,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 04 65 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(,%eiz,2\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 65 99 00 00 00 07        vpextrb \$0x7,%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 79 44 3c 65 99 00 00 00 07        vpclmulqdq \$0x7,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
 [      ]*[a-f0-9]+:    c4 e3 79 20 3c 65 99 00 00 00 07        vpinsrb \$0x7,0x99\(,%eiz,2\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 04 65 99 00 00 00      vmovdqa 0x99\(,%eiz,2\),%ymm0
@@ -1203,6 +1219,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 20 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(%eax,%eiz,1\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 20 99 00 00 00 07        vpextrb \$0x7,%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 79 44 bc 20 99 00 00 00 07        vpclmulqdq \$0x7,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
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc 20 99 00 00 00 07        vpinsrb \$0x7,0x99\(%eax,%eiz,1\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 20 99 00 00 00      vmovdqa 0x99\(%eax,%eiz,1\),%ymm0
@@ -1223,6 +1240,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 60 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(%eax,%eiz,2\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 60 99 00 00 00 07        vpextrb \$0x7,%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 79 44 bc 60 99 00 00 00 07        vpclmulqdq \$0x7,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
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc 60 99 00 00 00 07        vpinsrb \$0x7,0x99\(%eax,%eiz,2\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 60 99 00 00 00      vmovdqa 0x99\(%eax,%eiz,2\),%ymm0
@@ -1243,6 +1261,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 98 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(%eax,%ebx,4\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 98 99 00 00 00 07        vpextrb \$0x7,%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 79 44 bc 98 99 00 00 00 07        vpclmulqdq \$0x7,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
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc 98 99 00 00 00 07        vpinsrb \$0x7,0x99\(%eax,%ebx,4\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 98 99 00 00 00      vmovdqa 0x99\(%eax,%ebx,4\),%ymm0
@@ -1263,6 +1282,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 cc 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(%esp,%ecx,8\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 cc 99 00 00 00 07        vpextrb \$0x7,%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 79 44 bc cc 99 00 00 00 07        vpclmulqdq \$0x7,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
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc cc 99 00 00 00 07        vpinsrb \$0x7,0x99\(%esp,%ecx,8\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 cc 99 00 00 00      vmovdqa 0x99\(%esp,%ecx,8\),%ymm0
@@ -1283,6 +1303,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 15 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(%ebp,%edx,1\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 15 99 00 00 00 07        vpextrb \$0x7,%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 79 44 bc 15 99 00 00 00 07        vpclmulqdq \$0x7,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
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc 15 99 00 00 00 07        vpinsrb \$0x7,0x99\(%ebp,%edx,1\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 15 99 00 00 00      vmovdqa 0x99\(%ebp,%edx,1\),%ymm0
@@ -1939,6 +1960,18 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 e3 d4             vpavgw %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 e3 39             vpavgw \(%ecx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 e3 39             vpavgw \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 00       vpclmullqlqdq %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 00       vpclmullqlqdq \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 00       vpclmullqlqdq \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 01       vpclmulhqlqdq %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 01       vpclmulhqlqdq \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 01       vpclmulhqlqdq \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 10       vpclmullqhqdq %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 10       vpclmullqhqdq \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 10       vpclmullqhqdq \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 11       vpclmulhqhqdq %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 11       vpclmulhqhqdq \(%ecx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 11       vpclmulhqhqdq \(%ecx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 74 d4             vpcmpeqb %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 74 39             vpcmpeqb \(%ecx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 74 39             vpcmpeqb \(%ecx\),%xmm6,%xmm7
@@ -2442,6 +2475,9 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 49 0e d4 07       vpblendw \$0x7,%xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c4 e3 49 0e 11 07       vpblendw \$0x7,\(%ecx\),%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c4 e3 49 0e 11 07       vpblendw \$0x7,\(%ecx\),%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 07       vpclmulqdq \$0x7,%xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 11 07       vpclmulqdq \$0x7,\(%ecx\),%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 11 07       vpclmulqdq \$0x7,\(%ecx\),%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 c6 d4 07          vshufpd \$0x7,%xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 c6 11 07          vshufpd \$0x7,\(%ecx\),%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 c6 11 07          vshufpd \$0x7,\(%ecx\),%xmm6,%xmm2
@@ -2903,6 +2939,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 05 34 12 00 00 07   vaeskeygenassist \$0x7,0x1234,%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 05 34 12 00 00 07   vpextrb \$0x7,%xmm0,0x1234
 [      ]*[a-f0-9]+:    c5 fb 2a 3d 34 12 00 00         vcvtsi2sdl 0x1234,%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 44 3d 34 12 00 00 07   vpclmulqdq \$0x7,0x1234,%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 35 34 12 00 00 00   vblendvps %xmm0,0x1234,%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 20 3d 34 12 00 00 07   vpinsrb \$0x7,0x1234,%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 05 34 12 00 00         vmovdqa 0x1234,%ymm0
@@ -2923,6 +2960,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 45 00 07    vaeskeygenassist \$0x7,0x0\(%ebp\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 45 00 07    vpextrb \$0x7,%xmm0,0x0\(%ebp\)
 [      ]*[a-f0-9]+:    c5 fb 2a 7d 00          vcvtsi2sdl 0x0\(%ebp\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 44 7d 00 07    vpclmulqdq \$0x7,0x0\(%ebp\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a 75 00 00    vblendvps %xmm0,0x0\(%ebp\),%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 20 7d 00 07    vpinsrb \$0x7,0x0\(%ebp\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 45 00          vmovdqa 0x0\(%ebp\),%ymm0
@@ -2943,6 +2981,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 85 99 00 00 00 07   vaeskeygenassist \$0x7,0x99\(%ebp\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 85 99 00 00 00 07   vpextrb \$0x7,%xmm0,0x99\(%ebp\)
 [      ]*[a-f0-9]+:    c5 fb 2a bd 99 00 00 00         vcvtsi2sdl 0x99\(%ebp\),%xmm0,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 79 44 bd 99 00 00 00 07   vpclmulqdq \$0x7,0x99\(%ebp\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c4 e3 59 4a b5 99 00 00 00 00   vblendvps %xmm0,0x99\(%ebp\),%xmm4,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 79 20 bd 99 00 00 00 07   vpinsrb \$0x7,0x99\(%ebp\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 85 99 00 00 00         vmovdqa 0x99\(%ebp\),%ymm0
@@ -2963,6 +3002,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 04 25 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(,%eiz,1\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 25 99 00 00 00 07        vpextrb \$0x7,%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 79 44 3c 25 99 00 00 00 07        vpclmulqdq \$0x7,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
 [      ]*[a-f0-9]+:    c4 e3 79 20 3c 25 99 00 00 00 07        vpinsrb \$0x7,0x99\(,%eiz,1\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 04 25 99 00 00 00      vmovdqa 0x99\(,%eiz,1\),%ymm0
@@ -2983,6 +3023,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 04 65 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(,%eiz,2\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 04 65 99 00 00 00 07        vpextrb \$0x7,%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 79 44 3c 65 99 00 00 00 07        vpclmulqdq \$0x7,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
 [      ]*[a-f0-9]+:    c4 e3 79 20 3c 65 99 00 00 00 07        vpinsrb \$0x7,0x99\(,%eiz,2\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 04 65 99 00 00 00      vmovdqa 0x99\(,%eiz,2\),%ymm0
@@ -3003,6 +3044,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 20 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(%eax,%eiz,1\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 20 99 00 00 00 07        vpextrb \$0x7,%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 79 44 bc 20 99 00 00 00 07        vpclmulqdq \$0x7,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
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc 20 99 00 00 00 07        vpinsrb \$0x7,0x99\(%eax,%eiz,1\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 20 99 00 00 00      vmovdqa 0x99\(%eax,%eiz,1\),%ymm0
@@ -3023,6 +3065,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 60 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(%eax,%eiz,2\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 60 99 00 00 00 07        vpextrb \$0x7,%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 79 44 bc 60 99 00 00 00 07        vpclmulqdq \$0x7,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
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc 60 99 00 00 00 07        vpinsrb \$0x7,0x99\(%eax,%eiz,2\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 60 99 00 00 00      vmovdqa 0x99\(%eax,%eiz,2\),%ymm0
@@ -3043,6 +3086,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 98 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(%eax,%ebx,4\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 98 99 00 00 00 07        vpextrb \$0x7,%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 79 44 bc 98 99 00 00 00 07        vpclmulqdq \$0x7,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
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc 98 99 00 00 00 07        vpinsrb \$0x7,0x99\(%eax,%ebx,4\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 98 99 00 00 00      vmovdqa 0x99\(%eax,%ebx,4\),%ymm0
@@ -3063,6 +3107,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 cc 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(%esp,%ecx,8\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 cc 99 00 00 00 07        vpextrb \$0x7,%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 79 44 bc cc 99 00 00 00 07        vpclmulqdq \$0x7,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
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc cc 99 00 00 00 07        vpinsrb \$0x7,0x99\(%esp,%ecx,8\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 cc 99 00 00 00      vmovdqa 0x99\(%esp,%ecx,8\),%ymm0
@@ -3083,6 +3128,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 79 df 84 15 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(%ebp,%edx,1\),%xmm0
 [      ]*[a-f0-9]+:    c4 e3 79 14 84 15 99 00 00 00 07        vpextrb \$0x7,%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 79 44 bc 15 99 00 00 00 07        vpclmulqdq \$0x7,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
 [      ]*[a-f0-9]+:    c4 e3 79 20 bc 15 99 00 00 00 07        vpinsrb \$0x7,0x99\(%ebp,%edx,1\),%xmm0,%xmm7
 [      ]*[a-f0-9]+:    c5 fd 6f 84 15 99 00 00 00      vmovdqa 0x99\(%ebp,%edx,1\),%ymm0
index 07c453838d79e3979c1e7fce3d9ce99378ad1f56..1eef485e99b9a28d07c485184bc983747f16838a 100644 (file)
@@ -473,6 +473,14 @@ _start:
        vpavgb (%ecx),%xmm6,%xmm7
        vpavgw %xmm4,%xmm6,%xmm2
        vpavgw (%ecx),%xmm6,%xmm7
+       vpclmullqlqdq %xmm4,%xmm6,%xmm2
+       vpclmullqlqdq (%ecx),%xmm6,%xmm7
+       vpclmulhqlqdq %xmm4,%xmm6,%xmm2
+       vpclmulhqlqdq (%ecx),%xmm6,%xmm7
+       vpclmullqhqdq %xmm4,%xmm6,%xmm2
+       vpclmullqhqdq (%ecx),%xmm6,%xmm7
+       vpclmulhqhqdq %xmm4,%xmm6,%xmm2
+       vpclmulhqhqdq (%ecx),%xmm6,%xmm7
        vpcmpeqb %xmm4,%xmm6,%xmm2
        vpcmpeqb (%ecx),%xmm6,%xmm7
        vpcmpeqw %xmm4,%xmm6,%xmm2
@@ -815,6 +823,8 @@ _start:
        vpalignr $7,(%ecx),%xmm6,%xmm2
        vpblendw $7,%xmm4,%xmm6,%xmm2
        vpblendw $7,(%ecx),%xmm6,%xmm2
+       vpclmulqdq $7,%xmm4,%xmm6,%xmm2
+       vpclmulqdq $7,(%ecx),%xmm6,%xmm2
        vshufpd $7,%xmm4,%xmm6,%xmm2
        vshufpd $7,(%ecx),%xmm6,%xmm2
        vshufps $7,%xmm4,%xmm6,%xmm2
@@ -1206,6 +1216,7 @@ _start:
        vaeskeygenassist $7,0x1234,%xmm0
        vpextrb $7,%xmm0,0x1234
        vcvtsi2sdl 0x1234,%xmm0,%xmm7
+       vpclmulqdq $7,0x1234,%xmm0,%xmm7
        vblendvps %xmm0,0x1234,%xmm4,%xmm6
        vpinsrb $7,0x1234,%xmm0,%xmm7
        vmovdqa 0x1234,%ymm0
@@ -1226,6 +1237,7 @@ _start:
        vaeskeygenassist $7,(%ebp),%xmm0
        vpextrb $7,%xmm0,(%ebp)
        vcvtsi2sdl (%ebp),%xmm0,%xmm7
+       vpclmulqdq $7,(%ebp),%xmm0,%xmm7
        vblendvps %xmm0,(%ebp),%xmm4,%xmm6
        vpinsrb $7,(%ebp),%xmm0,%xmm7
        vmovdqa (%ebp),%ymm0
@@ -1246,6 +1258,7 @@ _start:
        vaeskeygenassist $7,(%esp),%xmm0
        vpextrb $7,%xmm0,(%esp)
        vcvtsi2sdl (%esp),%xmm0,%xmm7
+       vpclmulqdq $7,(%esp),%xmm0,%xmm7
        vblendvps %xmm0,(%esp),%xmm4,%xmm6
        vpinsrb $7,(%esp),%xmm0,%xmm7
        vmovdqa (%esp),%ymm0
@@ -1266,6 +1279,7 @@ _start:
        vaeskeygenassist $7,0x99(%ebp),%xmm0
        vpextrb $7,%xmm0,0x99(%ebp)
        vcvtsi2sdl 0x99(%ebp),%xmm0,%xmm7
+       vpclmulqdq $7,0x99(%ebp),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%ebp),%xmm4,%xmm6
        vpinsrb $7,0x99(%ebp),%xmm0,%xmm7
        vmovdqa 0x99(%ebp),%ymm0
@@ -1286,6 +1300,7 @@ _start:
        vaeskeygenassist $7,0x99(,%eiz),%xmm0
        vpextrb $7,%xmm0,0x99(,%eiz)
        vcvtsi2sdl 0x99(,%eiz),%xmm0,%xmm7
+       vpclmulqdq $7,0x99(,%eiz),%xmm0,%xmm7
        vblendvps %xmm0,0x99(,%eiz),%xmm4,%xmm6
        vpinsrb $7,0x99(,%eiz),%xmm0,%xmm7
        vmovdqa 0x99(,%eiz),%ymm0
@@ -1306,6 +1321,7 @@ _start:
        vaeskeygenassist $7,0x99(,%eiz,2),%xmm0
        vpextrb $7,%xmm0,0x99(,%eiz,2)
        vcvtsi2sdl 0x99(,%eiz,2),%xmm0,%xmm7
+       vpclmulqdq $7,0x99(,%eiz,2),%xmm0,%xmm7
        vblendvps %xmm0,0x99(,%eiz,2),%xmm4,%xmm6
        vpinsrb $7,0x99(,%eiz,2),%xmm0,%xmm7
        vmovdqa 0x99(,%eiz,2),%ymm0
@@ -1326,6 +1342,7 @@ _start:
        vaeskeygenassist $7,0x99(%eax,%eiz),%xmm0
        vpextrb $7,%xmm0,0x99(%eax,%eiz)
        vcvtsi2sdl 0x99(%eax,%eiz),%xmm0,%xmm7
+       vpclmulqdq $7,0x99(%eax,%eiz),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%eax,%eiz),%xmm4,%xmm6
        vpinsrb $7,0x99(%eax,%eiz),%xmm0,%xmm7
        vmovdqa 0x99(%eax,%eiz),%ymm0
@@ -1346,6 +1363,7 @@ _start:
        vaeskeygenassist $7,0x99(%eax,%eiz,2),%xmm0
        vpextrb $7,%xmm0,0x99(%eax,%eiz,2)
        vcvtsi2sdl 0x99(%eax,%eiz,2),%xmm0,%xmm7
+       vpclmulqdq $7,0x99(%eax,%eiz,2),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%eax,%eiz,2),%xmm4,%xmm6
        vpinsrb $7,0x99(%eax,%eiz,2),%xmm0,%xmm7
        vmovdqa 0x99(%eax,%eiz,2),%ymm0
@@ -1366,6 +1384,7 @@ _start:
        vaeskeygenassist $7,0x99(%eax,%ebx,4),%xmm0
        vpextrb $7,%xmm0,0x99(%eax,%ebx,4)
        vcvtsi2sdl 0x99(%eax,%ebx,4),%xmm0,%xmm7
+       vpclmulqdq $7,0x99(%eax,%ebx,4),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%eax,%ebx,4),%xmm4,%xmm6
        vpinsrb $7,0x99(%eax,%ebx,4),%xmm0,%xmm7
        vmovdqa 0x99(%eax,%ebx,4),%ymm0
@@ -1386,6 +1405,7 @@ _start:
        vaeskeygenassist $7,0x99(%esp,%ecx,8),%xmm0
        vpextrb $7,%xmm0,0x99(%esp,%ecx,8)
        vcvtsi2sdl 0x99(%esp,%ecx,8),%xmm0,%xmm7
+       vpclmulqdq $7,0x99(%esp,%ecx,8),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%esp,%ecx,8),%xmm4,%xmm6
        vpinsrb $7,0x99(%esp,%ecx,8),%xmm0,%xmm7
        vmovdqa 0x99(%esp,%ecx,8),%ymm0
@@ -1406,6 +1426,7 @@ _start:
        vaeskeygenassist $7,0x99(%ebp,%edx,1),%xmm0
        vpextrb $7,%xmm0,0x99(%ebp,%edx,1)
        vcvtsi2sdl 0x99(%ebp,%edx,1),%xmm0,%xmm7
+       vpclmulqdq $7,0x99(%ebp,%edx,1),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%ebp,%edx,1),%xmm4,%xmm6
        vpinsrb $7,0x99(%ebp,%edx,1),%xmm0,%xmm7
        vmovdqa 0x99(%ebp,%edx,1),%ymm0
@@ -2104,6 +2125,18 @@ _start:
        vpavgw xmm2,xmm6,xmm4
        vpavgw xmm7,xmm6,XMMWORD PTR [ecx]
        vpavgw xmm7,xmm6,[ecx]
+       vpclmullqlqdq xmm2,xmm6,xmm4
+       vpclmullqlqdq xmm7,xmm6,XMMWORD PTR [ecx]
+       vpclmullqlqdq xmm7,xmm6,[ecx]
+       vpclmulhqlqdq xmm2,xmm6,xmm4
+       vpclmulhqlqdq xmm7,xmm6,XMMWORD PTR [ecx]
+       vpclmulhqlqdq xmm7,xmm6,[ecx]
+       vpclmullqhqdq xmm2,xmm6,xmm4
+       vpclmullqhqdq xmm7,xmm6,XMMWORD PTR [ecx]
+       vpclmullqhqdq xmm7,xmm6,[ecx]
+       vpclmulhqhqdq xmm2,xmm6,xmm4
+       vpclmulhqhqdq xmm7,xmm6,XMMWORD PTR [ecx]
+       vpclmulhqhqdq xmm7,xmm6,[ecx]
        vpcmpeqb xmm2,xmm6,xmm4
        vpcmpeqb xmm7,xmm6,XMMWORD PTR [ecx]
        vpcmpeqb xmm7,xmm6,[ecx]
@@ -2615,6 +2648,9 @@ _start:
        vpblendw xmm2,xmm6,xmm4,7
        vpblendw xmm2,xmm6,XMMWORD PTR [ecx],7
        vpblendw xmm2,xmm6,[ecx],7
+       vpclmulqdq xmm2,xmm6,xmm4,7
+       vpclmulqdq xmm2,xmm6,XMMWORD PTR [ecx],7
+       vpclmulqdq xmm2,xmm6,[ecx],7
        vshufpd xmm2,xmm6,xmm4,7
        vshufpd xmm2,xmm6,XMMWORD PTR [ecx],7
        vshufpd xmm2,xmm6,[ecx],7
@@ -3154,6 +3190,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR ds:0x1234,7
        vpextrb ds:0x1234,xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR ds:0x1234
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR ds:0x1234,7
        vblendvps xmm6,xmm4,XMMWORD PTR ds:0x1234,xmm0
        vpinsrb xmm7,xmm0,ds:0x1234,7
        vmovdqa ymm0,YMMWORD PTR ds:0x1234
@@ -3174,6 +3211,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [ebp],7
        vpextrb [ebp],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [ebp]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [ebp],7
        vblendvps xmm6,xmm4,XMMWORD PTR [ebp],xmm0
        vpinsrb xmm7,xmm0,[ebp],7
        vmovdqa ymm0,YMMWORD PTR [ebp]
@@ -3194,6 +3232,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [ebp+0x99],7
        vpextrb [ebp+0x99],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [ebp+0x99]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [ebp+0x99],7
        vblendvps xmm6,xmm4,XMMWORD PTR [ebp+0x99],xmm0
        vpinsrb xmm7,xmm0,[ebp+0x99],7
        vmovdqa ymm0,YMMWORD PTR [ebp+0x99]
@@ -3214,6 +3253,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [eiz*1+0x99],7
        vpextrb [eiz*1+0x99],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [eiz*1+0x99]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [eiz*1+0x99],7
        vblendvps xmm6,xmm4,XMMWORD PTR [eiz*1+0x99],xmm0
        vpinsrb xmm7,xmm0,[eiz*1+0x99],7
        vmovdqa ymm0,YMMWORD PTR [eiz*1+0x99]
@@ -3234,6 +3274,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [eiz*2+0x99],7
        vpextrb [eiz*2+0x99],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [eiz*2+0x99]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [eiz*2+0x99],7
        vblendvps xmm6,xmm4,XMMWORD PTR [eiz*2+0x99],xmm0
        vpinsrb xmm7,xmm0,[eiz*2+0x99],7
        vmovdqa ymm0,YMMWORD PTR [eiz*2+0x99]
@@ -3254,6 +3295,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [eax+eiz*1+0x99],7
        vpextrb [eax+eiz*1+0x99],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [eax+eiz*1+0x99]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [eax+eiz*1+0x99],7
        vblendvps xmm6,xmm4,XMMWORD PTR [eax+eiz*1+0x99],xmm0
        vpinsrb xmm7,xmm0,[eax+eiz*1+0x99],7
        vmovdqa ymm0,YMMWORD PTR [eax+eiz*1+0x99]
@@ -3274,6 +3316,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [eax+eiz*2+0x99],7
        vpextrb [eax+eiz*2+0x99],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [eax+eiz*2+0x99]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [eax+eiz*2+0x99],7
        vblendvps xmm6,xmm4,XMMWORD PTR [eax+eiz*2+0x99],xmm0
        vpinsrb xmm7,xmm0,[eax+eiz*2+0x99],7
        vmovdqa ymm0,YMMWORD PTR [eax+eiz*2+0x99]
@@ -3294,6 +3337,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [eax+ebx*4+0x99],7
        vpextrb [eax+ebx*4+0x99],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [eax+ebx*4+0x99]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [eax+ebx*4+0x99],7
        vblendvps xmm6,xmm4,XMMWORD PTR [eax+ebx*4+0x99],xmm0
        vpinsrb xmm7,xmm0,[eax+ebx*4+0x99],7
        vmovdqa ymm0,YMMWORD PTR [eax+ebx*4+0x99]
@@ -3314,6 +3358,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [esp+ecx*8+0x99],7
        vpextrb [esp+ecx*8+0x99],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [esp+ecx*8+0x99]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [esp+ecx*8+0x99],7
        vblendvps xmm6,xmm4,XMMWORD PTR [esp+ecx*8+0x99],xmm0
        vpinsrb xmm7,xmm0,[esp+ecx*8+0x99],7
        vmovdqa ymm0,YMMWORD PTR [esp+ecx*8+0x99]
@@ -3334,6 +3379,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [ebp+edx*1+0x99],7
        vpextrb [ebp+edx*1+0x99],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [ebp+edx*1+0x99]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [ebp+edx*1+0x99],7
        vblendvps xmm6,xmm4,XMMWORD PTR [ebp+edx*1+0x99],xmm0
        vpinsrb xmm7,xmm0,[ebp+edx*1+0x99],7
        vmovdqa ymm0,YMMWORD PTR [ebp+edx*1+0x99]
index 71fe10376fa55e0d3065c641b7ab95d781d8251c..09d773a6040a54f45354fb0883640626b843ead5 100644 (file)
@@ -140,6 +140,10 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     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"
+    run_list_test "arch-avx-1-3" "-march=generic32+pclmul -I${srcdir}/$subdir -al"
+    run_list_test "arch-avx-1-4" "-march=generic32+avx+aes -I${srcdir}/$subdir -al"
+    run_list_test "arch-avx-1-5" "-march=generic32+avx+pclmul -I${srcdir}/$subdir -al"
+    run_list_test "arch-avx-1-6" "-march=generic32+aes+pclmul -I${srcdir}/$subdir -al"
     run_dump_test "opts"
     run_dump_test "opts-intel"
     run_dump_test "sse2avx-opts"
index 5bc4f3c03bdc3c932334b192c4b38f74f31c18ea..d03549125b65e9ee80fc9ea7004f76d333202a60 100644 (file)
@@ -150,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]+:    c4 e3 49 44 f4 00       vpclmullqlqdq %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 00       vpclmullqlqdq \(%ecx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 f4 01       vpclmulhqlqdq %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 01       vpclmulhqlqdq \(%ecx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 f4 10       vpclmullqhqdq %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 10       vpclmullqhqdq \(%ecx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 f4 11       vpclmulhqhqdq %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 11       vpclmulhqhqdq \(%ecx\),%xmm6,%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
@@ -376,6 +384,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 49 0f 31 64       vpalignr \$0x64,\(%ecx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 49 0e f4 64       vpblendw \$0x64,%xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 49 0e 31 64       vpblendw \$0x64,\(%ecx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 f4 64       vpclmulqdq \$0x64,%xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 64       vpclmulqdq \$0x64,\(%ecx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 c6 f4 64          vshufpd \$0x64,%xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 c6 31 64          vshufpd \$0x64,\(%ecx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c8 c6 f4 64          vshufps \$0x64,%xmm4,%xmm6,%xmm6
@@ -718,6 +728,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]+:    c4 e3 49 44 f4 00       vpclmullqlqdq %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 00       vpclmullqlqdq \(%ecx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 f4 01       vpclmulhqlqdq %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 01       vpclmulhqlqdq \(%ecx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 f4 10       vpclmullqhqdq %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 10       vpclmullqhqdq \(%ecx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 f4 11       vpclmulhqhqdq %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 11       vpclmulhqhqdq \(%ecx\),%xmm6,%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
@@ -944,6 +962,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 49 0f 31 64       vpalignr \$0x64,\(%ecx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 49 0e f4 64       vpblendw \$0x64,%xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 49 0e 31 64       vpblendw \$0x64,\(%ecx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 f4 64       vpclmulqdq \$0x64,%xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 64       vpclmulqdq \$0x64,\(%ecx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 c6 f4 64          vshufpd \$0x64,%xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 c6 31 64          vshufpd \$0x64,\(%ecx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c8 c6 f4 64          vshufps \$0x64,%xmm4,%xmm6,%xmm6
index 810aaeb79b580d30560057864626d6e646759982..00080cf55b4c4ad30f19e1b5283f4d61e84f6311 100644 (file)
@@ -157,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
@@ -387,6 +395,8 @@ _start:
        palignr $100,(%ecx),%xmm6
        pblendw $100,%xmm4,%xmm6
        pblendw $100,(%ecx),%xmm6
+       pclmulqdq $100,%xmm4,%xmm6
+       pclmulqdq $100,(%ecx),%xmm6
        shufpd $100,%xmm4,%xmm6
        shufpd $100,(%ecx),%xmm6
        shufps $100,%xmm4,%xmm6
@@ -808,6 +818,14 @@ _start:
        pavgb xmm6,XMMWORD PTR [ecx]
        pavgw xmm6,xmm4
        pavgw xmm6,XMMWORD PTR [ecx]
+       pclmullqlqdq xmm6,xmm4
+       pclmullqlqdq xmm6,XMMWORD PTR [ecx]
+       pclmulhqlqdq xmm6,xmm4
+       pclmulhqlqdq xmm6,XMMWORD PTR [ecx]
+       pclmullqhqdq xmm6,xmm4
+       pclmullqhqdq xmm6,XMMWORD PTR [ecx]
+       pclmulhqhqdq xmm6,xmm4
+       pclmulhqhqdq xmm6,XMMWORD PTR [ecx]
        pcmpeqb xmm6,xmm4
        pcmpeqb xmm6,XMMWORD PTR [ecx]
        pcmpeqw xmm6,xmm4
@@ -1038,6 +1056,8 @@ _start:
        palignr xmm6,XMMWORD PTR [ecx],100
        pblendw xmm6,xmm4,100
        pblendw xmm6,XMMWORD PTR [ecx],100
+       pclmulqdq xmm6,xmm4,100
+       pclmulqdq xmm6,XMMWORD PTR [ecx],100
        shufpd xmm6,xmm4,100
        shufpd xmm6,XMMWORD PTR [ecx],100
        shufps xmm6,xmm4,100
index a811d76efc3affbffbf46a6859b87870e21b943d..b05f176a0ada90218ba595d8bb5c1e207f1ab9a9 100644 (file)
@@ -24,6 +24,7 @@ Disassembly of section .text:
 [      ]*[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 49 44 d4 08       vpclmulqdq \$0x8,%xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c4 e2 c9 98 d4          vfmadd132pd %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    0f 38 f0 19             movbe  \(%rcx\),%ebx
 [      ]*[a-f0-9]+:    66 0f 38 80 19          invept \(%rcx\),%rbx
index e0dafea8dc896e42df9088dcf1878b9bfd182712..5f95b97bfd50adef8d0f1d26cb8375efd8330b6e 100644 (file)
@@ -34,6 +34,8 @@ aesenc  (%rcx),%xmm0
 pclmulqdq $8,%xmm1,%xmm0
 # AES + AVX
 vaesenc  (%rcx),%xmm0,%xmm2
+# PCLMUL + AVX
+vpclmulqdq $8,%xmm4,%xmm6,%xmm2
 # FMA
 vfmadd132pd %xmm4,%xmm6,%xmm2
 # MOVBE
index bc006c4de85ce09391d6b47354611359dddb3301..92616bc2ad5317faeb376ea344e34ff66f60112b 100644 (file)
@@ -437,6 +437,14 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 e0 39             vpavgb xmm7,xmm6,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c5 c9 e3 d4             vpavgw xmm2,xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 c9 e3 39             vpavgw xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 00       vpclmullqlqdq xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 00       vpclmullqlqdq xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 01       vpclmulhqlqdq xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 01       vpclmulhqlqdq xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 10       vpclmullqhqdq xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 10       vpclmullqhqdq xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 11       vpclmulhqhqdq xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 11       vpclmulhqhqdq xmm7,xmm6,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c5 c9 74 d4             vpcmpeqb xmm2,xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 c9 74 39             vpcmpeqb xmm7,xmm6,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c5 c9 75 d4             vpcmpeqw xmm2,xmm6,xmm4
@@ -771,6 +779,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 49 0f 11 07       vpalignr xmm2,xmm6,XMMWORD PTR \[rcx\],0x7
 [      ]*[a-f0-9]+:    c4 e3 49 0e d4 07       vpblendw xmm2,xmm6,xmm4,0x7
 [      ]*[a-f0-9]+:    c4 e3 49 0e 11 07       vpblendw xmm2,xmm6,XMMWORD PTR \[rcx\],0x7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 07       vpclmulqdq xmm2,xmm6,xmm4,0x7
+[      ]*[a-f0-9]+:    c4 e3 49 44 11 07       vpclmulqdq xmm2,xmm6,XMMWORD PTR \[rcx\],0x7
 [      ]*[a-f0-9]+:    c5 c9 c6 d4 07          vshufpd xmm2,xmm6,xmm4,0x7
 [      ]*[a-f0-9]+:    c5 c9 c6 11 07          vshufpd xmm2,xmm6,XMMWORD PTR \[rcx\],0x7
 [      ]*[a-f0-9]+:    c5 c8 c6 d4 07          vshufps xmm2,xmm6,xmm4,0x7
@@ -1115,6 +1125,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 04 25 78 56 34 12 07        vaeskeygenassist xmm8,XMMWORD PTR ds:0x12345678,0x7
 [      ]*[a-f0-9]+:    c4 63 79 14 04 25 78 56 34 12 07        vpextrb BYTE PTR ds:0x12345678,xmm8,0x7
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 25 78 56 34 12      vcvtsi2sd xmm15,xmm8,DWORD PTR ds:0x12345678
+[      ]*[a-f0-9]+:    c4 63 39 44 3c 25 78 56 34 12 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR ds:0x12345678,0x7
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 25 78 56 34 12 80        vblendvps xmm14,xmm12,XMMWORD PTR ds:0x12345678,xmm8
 [      ]*[a-f0-9]+:    c4 63 39 20 3c 25 78 56 34 12 07        vpinsrb xmm15,xmm8,BYTE PTR ds:0x12345678,0x7
 [      ]*[a-f0-9]+:    c5 7d 6f 04 25 78 56 34 12      vmovdqa ymm8,YMMWORD PTR ds:0x12345678
@@ -1135,6 +1146,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 45 00 07    vaeskeygenassist xmm8,XMMWORD PTR \[rbp\+0x0\],0x7
 [      ]*[a-f0-9]+:    c4 63 79 14 45 00 07    vpextrb BYTE PTR \[rbp\+0x0\],xmm8,0x7
 [      ]*[a-f0-9]+:    c5 3b 2a 7d 00          vcvtsi2sd xmm15,xmm8,DWORD PTR \[rbp\+0x0\]
+[      ]*[a-f0-9]+:    c4 63 39 44 7d 00 07    vpclmulqdq xmm15,xmm8,XMMWORD PTR \[rbp\+0x0\],0x7
 [      ]*[a-f0-9]+:    c4 63 19 4a 75 00 80    vblendvps xmm14,xmm12,XMMWORD PTR \[rbp\+0x0\],xmm8
 [      ]*[a-f0-9]+:    c4 63 39 20 7d 00 07    vpinsrb xmm15,xmm8,BYTE PTR \[rbp\+0x0\],0x7
 [      ]*[a-f0-9]+:    c5 7d 6f 45 00          vmovdqa ymm8,YMMWORD PTR \[rbp\+0x0\]
@@ -1155,6 +1167,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 04 24 07    vaeskeygenassist xmm8,XMMWORD PTR \[rsp\],0x7
 [      ]*[a-f0-9]+:    c4 63 79 14 04 24 07    vpextrb BYTE PTR \[rsp\],xmm8,0x7
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 24          vcvtsi2sd xmm15,xmm8,DWORD PTR \[rsp\]
+[      ]*[a-f0-9]+:    c4 63 39 44 3c 24 07    vpclmulqdq xmm15,xmm8,XMMWORD PTR \[rsp\],0x7
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 24 80    vblendvps xmm14,xmm12,XMMWORD PTR \[rsp\],xmm8
 [      ]*[a-f0-9]+:    c4 63 39 20 3c 24 07    vpinsrb xmm15,xmm8,BYTE PTR \[rsp\],0x7
 [      ]*[a-f0-9]+:    c5 7d 6f 04 24          vmovdqa ymm8,YMMWORD PTR \[rsp\]
@@ -1175,6 +1188,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 85 99 00 00 00 07   vaeskeygenassist xmm8,XMMWORD PTR \[rbp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 79 14 85 99 00 00 00 07   vpextrb BYTE PTR \[rbp\+0x99\],xmm8,0x7
 [      ]*[a-f0-9]+:    c5 3b 2a bd 99 00 00 00         vcvtsi2sd xmm15,xmm8,DWORD PTR \[rbp\+0x99\]
+[      ]*[a-f0-9]+:    c4 63 39 44 bd 99 00 00 00 07   vpclmulqdq xmm15,xmm8,XMMWORD PTR \[rbp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 19 4a b5 99 00 00 00 80   vblendvps xmm14,xmm12,XMMWORD PTR \[rbp\+0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 63 39 20 bd 99 00 00 00 07   vpinsrb xmm15,xmm8,BYTE PTR \[rbp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 7d 6f 85 99 00 00 00         vmovdqa ymm8,YMMWORD PTR \[rbp\+0x99\]
@@ -1195,6 +1209,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 79 df 87 99 00 00 00 07   vaeskeygenassist xmm8,XMMWORD PTR \[r15\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 43 79 14 87 99 00 00 00 07   vpextrb BYTE PTR \[r15\+0x99\],xmm8,0x7
 [      ]*[a-f0-9]+:    c4 41 3b 2a bf 99 00 00 00      vcvtsi2sd xmm15,xmm8,DWORD PTR \[r15\+0x99\]
+[      ]*[a-f0-9]+:    c4 43 39 44 bf 99 00 00 00 07   vpclmulqdq xmm15,xmm8,XMMWORD PTR \[r15\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 43 19 4a b7 99 00 00 00 80   vblendvps xmm14,xmm12,XMMWORD PTR \[r15\+0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 43 39 20 bf 99 00 00 00 07   vpinsrb xmm15,xmm8,BYTE PTR \[r15\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 41 7d 6f 87 99 00 00 00      vmovdqa ymm8,YMMWORD PTR \[r15\+0x99\]
@@ -1204,26 +1219,27 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 7d 19 87 99 00 00 00 07   vextractf128 XMMWORD PTR \[r15\+0x99\],ymm8,0x7
 [      ]*[a-f0-9]+:    c4 43 3d 06 bf 99 00 00 00 07   vperm2f128 ymm15,ymm8,YMMWORD PTR \[r15\+0x99\],0x7
 [      ]*[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\]        # 17c8 <_start\+0x17c8>
-[      ]*[a-f0-9]+:    c5 79 6f 05 99 00 00 00         vmovdqa xmm8,XMMWORD PTR \[rip\+0x99\]        # 17d0 <_start\+0x17d0>
-[      ]*[a-f0-9]+:    c5 79 7f 05 99 00 00 00         vmovdqa XMMWORD PTR \[rip\+0x99\],xmm8        # 17d8 <_start\+0x17d8>
-[      ]*[a-f0-9]+:    c5 79 7e 05 99 00 00 00         vmovd  DWORD PTR \[rip\+0x99\],xmm8        # 17e0 <_start\+0x17e0>
-[      ]*[a-f0-9]+:    c5 7b 2d 05 99 00 00 00         vcvtsd2si r8d,QWORD PTR \[rip\+0x99\]        # 17e8 <_start\+0x17e8>
-[      ]*[a-f0-9]+:    c5 7e e6 05 99 00 00 00         vcvtdq2pd ymm8,XMMWORD PTR \[rip\+0x99\]        # 17f0 <_start\+0x17f0>
-[      ]*[a-f0-9]+:    c5 7d 5a 05 99 00 00 00         vcvtpd2ps xmm8,YMMWORD PTR \[rip\+0x99\]        # 17f8 <_start\+0x17f8>
-[      ]*[a-f0-9]+:    c5 39 e0 3d 99 00 00 00         vpavgb xmm15,xmm8,XMMWORD PTR \[rip\+0x99\]        # 1800 <_start\+0x1800>
-[      ]*[a-f0-9]+:    c4 63 79 df 05 99 00 00 00 07   vaeskeygenassist xmm8,XMMWORD PTR \[rip\+0x99\],0x7        # 180a <_start\+0x180a>
-[      ]*[a-f0-9]+:    c4 63 79 14 05 99 00 00 00 07   vpextrb BYTE PTR \[rip\+0x99\],xmm8,0x7        # 1814 <_start\+0x1814>
-[      ]*[a-f0-9]+:    c5 3b 2a 3d 99 00 00 00         vcvtsi2sd xmm15,xmm8,DWORD PTR \[rip\+0x99\]        # 181c <_start\+0x181c>
-[      ]*[a-f0-9]+:    c4 63 19 4a 35 99 00 00 00 80   vblendvps xmm14,xmm12,XMMWORD PTR \[rip\+0x99\],xmm8        # 1826 <_start\+0x1826>
-[      ]*[a-f0-9]+:    c4 63 39 20 3d 99 00 00 00 07   vpinsrb xmm15,xmm8,BYTE PTR \[rip\+0x99\],0x7        # 1830 <_start\+0x1830>
-[      ]*[a-f0-9]+:    c5 7d 6f 05 99 00 00 00         vmovdqa ymm8,YMMWORD PTR \[rip\+0x99\]        # 1838 <_start\+0x1838>
-[      ]*[a-f0-9]+:    c5 7d 7f 05 99 00 00 00         vmovdqa YMMWORD PTR \[rip\+0x99\],ymm8        # 1840 <_start\+0x1840>
-[      ]*[a-f0-9]+:    c4 62 3d 0d 3d 99 00 00 00      vpermilpd ymm15,ymm8,YMMWORD PTR \[rip\+0x99\]        # 1849 <_start\+0x1849>
-[      ]*[a-f0-9]+:    c4 63 7d 09 05 99 00 00 00 07   vroundpd ymm8,YMMWORD PTR \[rip\+0x99\],0x7        # 1853 <_start\+0x1853>
-[      ]*[a-f0-9]+:    c4 63 7d 19 05 99 00 00 00 07   vextractf128 XMMWORD PTR \[rip\+0x99\],ymm8,0x7        # 185d <_start\+0x185d>
-[      ]*[a-f0-9]+:    c4 63 3d 06 3d 99 00 00 00 07   vperm2f128 ymm15,ymm8,YMMWORD PTR \[rip\+0x99\],0x7        # 1867 <_start\+0x1867>
-[      ]*[a-f0-9]+:    c4 63 1d 4b 35 99 00 00 00 80   vblendvpd ymm14,ymm12,YMMWORD PTR \[rip\+0x99\],ymm8        # 1871 <_start\+0x1871>
+[      ]*[a-f0-9]+:    c5 f8 ae 15 99 00 00 00         vldmxcsr DWORD PTR \[rip\+0x99\]        # 1831 <_start\+0x1831>
+[      ]*[a-f0-9]+:    c5 79 6f 05 99 00 00 00         vmovdqa xmm8,XMMWORD PTR \[rip\+0x99\]        # 1839 <_start\+0x1839>
+[      ]*[a-f0-9]+:    c5 79 7f 05 99 00 00 00         vmovdqa XMMWORD PTR \[rip\+0x99\],xmm8        # 1841 <_start\+0x1841>
+[      ]*[a-f0-9]+:    c5 79 7e 05 99 00 00 00         vmovd  DWORD PTR \[rip\+0x99\],xmm8        # 1849 <_start\+0x1849>
+[      ]*[a-f0-9]+:    c5 7b 2d 05 99 00 00 00         vcvtsd2si r8d,QWORD PTR \[rip\+0x99\]        # 1851 <_start\+0x1851>
+[      ]*[a-f0-9]+:    c5 7e e6 05 99 00 00 00         vcvtdq2pd ymm8,XMMWORD PTR \[rip\+0x99\]        # 1859 <_start\+0x1859>
+[      ]*[a-f0-9]+:    c5 7d 5a 05 99 00 00 00         vcvtpd2ps xmm8,YMMWORD PTR \[rip\+0x99\]        # 1861 <_start\+0x1861>
+[      ]*[a-f0-9]+:    c5 39 e0 3d 99 00 00 00         vpavgb xmm15,xmm8,XMMWORD PTR \[rip\+0x99\]        # 1869 <_start\+0x1869>
+[      ]*[a-f0-9]+:    c4 63 79 df 05 99 00 00 00 07   vaeskeygenassist xmm8,XMMWORD PTR \[rip\+0x99\],0x7        # 1873 <_start\+0x1873>
+[      ]*[a-f0-9]+:    c4 63 79 14 05 99 00 00 00 07   vpextrb BYTE PTR \[rip\+0x99\],xmm8,0x7        # 187d <_start\+0x187d>
+[      ]*[a-f0-9]+:    c5 3b 2a 3d 99 00 00 00         vcvtsi2sd xmm15,xmm8,DWORD PTR \[rip\+0x99\]        # 1885 <_start\+0x1885>
+[      ]*[a-f0-9]+:    c4 63 39 44 3d 99 00 00 00 07   vpclmulqdq xmm15,xmm8,XMMWORD PTR \[rip\+0x99\],0x7        # 188f <_start\+0x188f>
+[      ]*[a-f0-9]+:    c4 63 19 4a 35 99 00 00 00 80   vblendvps xmm14,xmm12,XMMWORD PTR \[rip\+0x99\],xmm8        # 1899 <_start\+0x1899>
+[      ]*[a-f0-9]+:    c4 63 39 20 3d 99 00 00 00 07   vpinsrb xmm15,xmm8,BYTE PTR \[rip\+0x99\],0x7        # 18a3 <_start\+0x18a3>
+[      ]*[a-f0-9]+:    c5 7d 6f 05 99 00 00 00         vmovdqa ymm8,YMMWORD PTR \[rip\+0x99\]        # 18ab <_start\+0x18ab>
+[      ]*[a-f0-9]+:    c5 7d 7f 05 99 00 00 00         vmovdqa YMMWORD PTR \[rip\+0x99\],ymm8        # 18b3 <_start\+0x18b3>
+[      ]*[a-f0-9]+:    c4 62 3d 0d 3d 99 00 00 00      vpermilpd ymm15,ymm8,YMMWORD PTR \[rip\+0x99\]        # 18bc <_start\+0x18bc>
+[      ]*[a-f0-9]+:    c4 63 7d 09 05 99 00 00 00 07   vroundpd ymm8,YMMWORD PTR \[rip\+0x99\],0x7        # 18c6 <_start\+0x18c6>
+[      ]*[a-f0-9]+:    c4 63 7d 19 05 99 00 00 00 07   vextractf128 XMMWORD PTR \[rip\+0x99\],ymm8,0x7        # 18d0 <_start\+0x18d0>
+[      ]*[a-f0-9]+:    c4 63 3d 06 3d 99 00 00 00 07   vperm2f128 ymm15,ymm8,YMMWORD PTR \[rip\+0x99\],0x7        # 18da <_start\+0x18da>
+[      ]*[a-f0-9]+:    c4 63 1d 4b 35 99 00 00 00 80   vblendvpd ymm14,ymm12,YMMWORD PTR \[rip\+0x99\],ymm8        # 18e4 <_start\+0x18e4>
 [      ]*[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
@@ -1235,6 +1251,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 84 24 99 00 00 00 07        vaeskeygenassist xmm8,XMMWORD PTR \[rsp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 79 14 84 24 99 00 00 00 07        vpextrb BYTE PTR \[rsp\+0x99\],xmm8,0x7
 [      ]*[a-f0-9]+:    c5 3b 2a bc 24 99 00 00 00      vcvtsi2sd xmm15,xmm8,DWORD PTR \[rsp\+0x99\]
+[      ]*[a-f0-9]+:    c4 63 39 44 bc 24 99 00 00 00 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[rsp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 24 99 00 00 00 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rsp\+0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 63 39 20 bc 24 99 00 00 00 07        vpinsrb xmm15,xmm8,BYTE PTR \[rsp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 7d 6f 84 24 99 00 00 00      vmovdqa ymm8,YMMWORD PTR \[rsp\+0x99\]
@@ -1255,6 +1272,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 79 df 84 24 99 00 00 00 07        vaeskeygenassist xmm8,XMMWORD PTR \[r12\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 43 79 14 84 24 99 00 00 00 07        vpextrb BYTE PTR \[r12\+0x99\],xmm8,0x7
 [      ]*[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 39 44 bc 24 99 00 00 00 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[r12\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 43 19 4a b4 24 99 00 00 00 80        vblendvps xmm14,xmm12,XMMWORD PTR \[r12\+0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 43 39 20 bc 24 99 00 00 00 07        vpinsrb xmm15,xmm8,BYTE PTR \[r12\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 41 7d 6f 84 24 99 00 00 00   vmovdqa ymm8,YMMWORD PTR \[r12\+0x99\]
@@ -1275,6 +1293,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 04 25 67 ff ff ff 07        vaeskeygenassist xmm8,XMMWORD PTR ds:0xffffffffffffff67,0x7
 [      ]*[a-f0-9]+:    c4 63 79 14 04 25 67 ff ff ff 07        vpextrb BYTE PTR ds:0xffffffffffffff67,xmm8,0x7
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 25 67 ff ff ff      vcvtsi2sd xmm15,xmm8,DWORD PTR ds:0xffffffffffffff67
+[      ]*[a-f0-9]+:    c4 63 39 44 3c 25 67 ff ff ff 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR ds:0xffffffffffffff67,0x7
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 25 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR ds:0xffffffffffffff67,xmm8
 [      ]*[a-f0-9]+:    c4 63 39 20 3c 25 67 ff ff ff 07        vpinsrb xmm15,xmm8,BYTE PTR ds:0xffffffffffffff67,0x7
 [      ]*[a-f0-9]+:    c5 7d 6f 04 25 67 ff ff ff      vmovdqa ymm8,YMMWORD PTR ds:0xffffffffffffff67
@@ -1295,6 +1314,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 04 65 67 ff ff ff 07        vaeskeygenassist xmm8,XMMWORD PTR \[riz\*2-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 79 14 04 65 67 ff ff ff 07        vpextrb BYTE PTR \[riz\*2-0x99\],xmm8,0x7
 [      ]*[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 39 44 3c 65 67 ff ff ff 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[riz\*2-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 65 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[riz\*2-0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 63 39 20 3c 65 67 ff ff ff 07        vpinsrb xmm15,xmm8,BYTE PTR \[riz\*2-0x99\],0x7
 [      ]*[a-f0-9]+:    c5 7d 6f 04 65 67 ff ff ff      vmovdqa ymm8,YMMWORD PTR \[riz\*2-0x99\]
@@ -1315,6 +1335,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 84 23 67 ff ff ff 07        vaeskeygenassist xmm8,XMMWORD PTR \[rbx\+riz\*1-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 79 14 84 23 67 ff ff ff 07        vpextrb BYTE PTR \[rbx\+riz\*1-0x99\],xmm8,0x7
 [      ]*[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 39 44 bc 23 67 ff ff ff 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[rbx\+riz\*1-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 23 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rbx\+riz\*1-0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 63 39 20 bc 23 67 ff ff ff 07        vpinsrb xmm15,xmm8,BYTE PTR \[rbx\+riz\*1-0x99\],0x7
 [      ]*[a-f0-9]+:    c5 7d 6f 84 23 67 ff ff ff      vmovdqa ymm8,YMMWORD PTR \[rbx\+riz\*1-0x99\]
@@ -1335,6 +1356,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 84 63 67 ff ff ff 07        vaeskeygenassist xmm8,XMMWORD PTR \[rbx\+riz\*2-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 79 14 84 63 67 ff ff ff 07        vpextrb BYTE PTR \[rbx\+riz\*2-0x99\],xmm8,0x7
 [      ]*[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 39 44 bc 63 67 ff ff ff 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[rbx\+riz\*2-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 63 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rbx\+riz\*2-0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 63 39 20 bc 63 67 ff ff ff 07        vpinsrb xmm15,xmm8,BYTE PTR \[rbx\+riz\*2-0x99\],0x7
 [      ]*[a-f0-9]+:    c5 7d 6f 84 63 67 ff ff ff      vmovdqa ymm8,YMMWORD PTR \[rbx\+riz\*2-0x99\]
@@ -1355,6 +1377,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 03 79 df 84 bc 67 ff ff ff 07        vaeskeygenassist xmm8,XMMWORD PTR \[r12\+r15\*4-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 03 79 14 84 bc 67 ff ff ff 07        vpextrb BYTE PTR \[r12\+r15\*4-0x99\],xmm8,0x7
 [      ]*[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 39 44 bc bc 67 ff ff ff 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[r12\+r15\*4-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 03 19 4a b4 bc 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[r12\+r15\*4-0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 03 39 20 bc bc 67 ff ff ff 07        vpinsrb xmm15,xmm8,BYTE PTR \[r12\+r15\*4-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 01 7d 6f 84 bc 67 ff ff ff   vmovdqa ymm8,YMMWORD PTR \[r12\+r15\*4-0x99\]
@@ -1375,6 +1398,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 03 79 df 84 f8 67 ff ff ff 07        vaeskeygenassist xmm8,XMMWORD PTR \[r8\+r15\*8-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 03 79 14 84 f8 67 ff ff ff 07        vpextrb BYTE PTR \[r8\+r15\*8-0x99\],xmm8,0x7
 [      ]*[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 39 44 bc f8 67 ff ff ff 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[r8\+r15\*8-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 03 19 4a b4 f8 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[r8\+r15\*8-0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 03 39 20 bc f8 67 ff ff ff 07        vpinsrb xmm15,xmm8,BYTE PTR \[r8\+r15\*8-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 01 7d 6f 84 f8 67 ff ff ff   vmovdqa ymm8,YMMWORD PTR \[r8\+r15\*8-0x99\]
@@ -1395,6 +1419,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 23 79 df 84 ad 67 ff ff ff 07        vaeskeygenassist xmm8,XMMWORD PTR \[rbp\+r13\*4-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 23 79 14 84 ad 67 ff ff ff 07        vpextrb BYTE PTR \[rbp\+r13\*4-0x99\],xmm8,0x7
 [      ]*[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 39 44 bc ad 67 ff ff ff 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[rbp\+r13\*4-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 23 19 4a b4 ad 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rbp\+r13\*4-0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 23 39 20 bc ad 67 ff ff ff 07        vpinsrb xmm15,xmm8,BYTE PTR \[rbp\+r13\*4-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 21 7d 6f 84 ad 67 ff ff ff   vmovdqa ymm8,YMMWORD PTR \[rbp\+r13\*4-0x99\]
@@ -1415,6 +1440,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 23 79 df 84 24 67 ff ff ff 07        vaeskeygenassist xmm8,XMMWORD PTR \[rsp\+r12\*1-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 23 79 14 84 24 67 ff ff ff 07        vpextrb BYTE PTR \[rsp\+r12\*1-0x99\],xmm8,0x7
 [      ]*[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 39 44 bc 24 67 ff ff ff 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[rsp\+r12\*1-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 23 19 4a b4 24 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rsp\+r12\*1-0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 23 39 20 bc 24 67 ff ff ff 07        vpinsrb xmm15,xmm8,BYTE PTR \[rsp\+r12\*1-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 21 7d 6f 84 24 67 ff ff ff   vmovdqa ymm8,YMMWORD PTR \[rsp\+r12\*1-0x99\]
@@ -1435,6 +1461,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 79 df f8 07       vaeskeygenassist xmm15,xmm8,0x7
 [      ]*[a-f0-9]+:    c4 43 79 14 c0 07       vpextrb r8d,xmm8,0x7
 [      ]*[a-f0-9]+:    c4 41 3b 2a f8          vcvtsi2sd xmm15,xmm8,r8d
+[      ]*[a-f0-9]+:    c4 43 01 44 e0 07       vpclmulqdq xmm12,xmm15,xmm8,0x7
 [      ]*[a-f0-9]+:    c4 43 19 4a f0 80       vblendvps xmm14,xmm12,xmm8,xmm8
 [      ]*[a-f0-9]+:    c4 43 39 20 f8 07       vpinsrb xmm15,xmm8,r8d,0x7
 [      ]*[a-f0-9]+:    c4 41 7d 6f f8          vmovdqa ymm15,ymm8
@@ -2092,6 +2119,18 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 e3 d4             vpavgw xmm2,xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 c9 e3 39             vpavgw xmm7,xmm6,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c5 c9 e3 39             vpavgw xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 00       vpclmullqlqdq xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 00       vpclmullqlqdq xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 00       vpclmullqlqdq xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 01       vpclmulhqlqdq xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 01       vpclmulhqlqdq xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 01       vpclmulhqlqdq xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 10       vpclmullqhqdq xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 10       vpclmullqhqdq xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 10       vpclmullqhqdq xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 11       vpclmulhqhqdq xmm2,xmm6,xmm4
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 11       vpclmulhqhqdq xmm7,xmm6,XMMWORD PTR \[rcx\]
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 11       vpclmulhqhqdq xmm7,xmm6,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c5 c9 74 d4             vpcmpeqb xmm2,xmm6,xmm4
 [      ]*[a-f0-9]+:    c5 c9 74 39             vpcmpeqb xmm7,xmm6,XMMWORD PTR \[rcx\]
 [      ]*[a-f0-9]+:    c5 c9 74 39             vpcmpeqb xmm7,xmm6,XMMWORD PTR \[rcx\]
@@ -2595,6 +2634,9 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 49 0e d4 07       vpblendw xmm2,xmm6,xmm4,0x7
 [      ]*[a-f0-9]+:    c4 e3 49 0e 11 07       vpblendw xmm2,xmm6,XMMWORD PTR \[rcx\],0x7
 [      ]*[a-f0-9]+:    c4 e3 49 0e 11 07       vpblendw xmm2,xmm6,XMMWORD PTR \[rcx\],0x7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 07       vpclmulqdq xmm2,xmm6,xmm4,0x7
+[      ]*[a-f0-9]+:    c4 e3 49 44 11 07       vpclmulqdq xmm2,xmm6,XMMWORD PTR \[rcx\],0x7
+[      ]*[a-f0-9]+:    c4 e3 49 44 11 07       vpclmulqdq xmm2,xmm6,XMMWORD PTR \[rcx\],0x7
 [      ]*[a-f0-9]+:    c5 c9 c6 d4 07          vshufpd xmm2,xmm6,xmm4,0x7
 [      ]*[a-f0-9]+:    c5 c9 c6 11 07          vshufpd xmm2,xmm6,XMMWORD PTR \[rcx\],0x7
 [      ]*[a-f0-9]+:    c5 c9 c6 11 07          vshufpd xmm2,xmm6,XMMWORD PTR \[rcx\],0x7
@@ -3096,6 +3138,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 04 25 78 56 34 12 07        vaeskeygenassist xmm8,XMMWORD PTR ds:0x12345678,0x7
 [      ]*[a-f0-9]+:    c4 63 79 14 04 25 78 56 34 12 07        vpextrb BYTE PTR ds:0x12345678,xmm8,0x7
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 25 78 56 34 12      vcvtsi2sd xmm15,xmm8,DWORD PTR ds:0x12345678
+[      ]*[a-f0-9]+:    c4 63 39 44 3c 25 78 56 34 12 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR ds:0x12345678,0x7
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 25 78 56 34 12 80        vblendvps xmm14,xmm12,XMMWORD PTR ds:0x12345678,xmm8
 [      ]*[a-f0-9]+:    c4 63 39 20 3c 25 78 56 34 12 07        vpinsrb xmm15,xmm8,BYTE PTR ds:0x12345678,0x7
 [      ]*[a-f0-9]+:    c5 7d 6f 04 25 78 56 34 12      vmovdqa ymm8,YMMWORD PTR ds:0x12345678
@@ -3116,6 +3159,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 45 00 07    vaeskeygenassist xmm8,XMMWORD PTR \[rbp\+0x0\],0x7
 [      ]*[a-f0-9]+:    c4 63 79 14 45 00 07    vpextrb BYTE PTR \[rbp\+0x0\],xmm8,0x7
 [      ]*[a-f0-9]+:    c5 3b 2a 7d 00          vcvtsi2sd xmm15,xmm8,DWORD PTR \[rbp\+0x0\]
+[      ]*[a-f0-9]+:    c4 63 39 44 7d 00 07    vpclmulqdq xmm15,xmm8,XMMWORD PTR \[rbp\+0x0\],0x7
 [      ]*[a-f0-9]+:    c4 63 19 4a 75 00 80    vblendvps xmm14,xmm12,XMMWORD PTR \[rbp\+0x0\],xmm8
 [      ]*[a-f0-9]+:    c4 63 39 20 7d 00 07    vpinsrb xmm15,xmm8,BYTE PTR \[rbp\+0x0\],0x7
 [      ]*[a-f0-9]+:    c5 7d 6f 45 00          vmovdqa ymm8,YMMWORD PTR \[rbp\+0x0\]
@@ -3136,6 +3180,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 85 99 00 00 00 07   vaeskeygenassist xmm8,XMMWORD PTR \[rbp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 79 14 85 99 00 00 00 07   vpextrb BYTE PTR \[rbp\+0x99\],xmm8,0x7
 [      ]*[a-f0-9]+:    c5 3b 2a bd 99 00 00 00         vcvtsi2sd xmm15,xmm8,DWORD PTR \[rbp\+0x99\]
+[      ]*[a-f0-9]+:    c4 63 39 44 bd 99 00 00 00 07   vpclmulqdq xmm15,xmm8,XMMWORD PTR \[rbp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 19 4a b5 99 00 00 00 80   vblendvps xmm14,xmm12,XMMWORD PTR \[rbp\+0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 63 39 20 bd 99 00 00 00 07   vpinsrb xmm15,xmm8,BYTE PTR \[rbp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 7d 6f 85 99 00 00 00         vmovdqa ymm8,YMMWORD PTR \[rbp\+0x99\]
@@ -3156,6 +3201,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 79 df 87 99 00 00 00 07   vaeskeygenassist xmm8,XMMWORD PTR \[r15\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 43 79 14 87 99 00 00 00 07   vpextrb BYTE PTR \[r15\+0x99\],xmm8,0x7
 [      ]*[a-f0-9]+:    c4 41 3b 2a bf 99 00 00 00      vcvtsi2sd xmm15,xmm8,DWORD PTR \[r15\+0x99\]
+[      ]*[a-f0-9]+:    c4 43 39 44 bf 99 00 00 00 07   vpclmulqdq xmm15,xmm8,XMMWORD PTR \[r15\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 43 19 4a b7 99 00 00 00 80   vblendvps xmm14,xmm12,XMMWORD PTR \[r15\+0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 43 39 20 bf 99 00 00 00 07   vpinsrb xmm15,xmm8,BYTE PTR \[r15\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 41 7d 6f 87 99 00 00 00      vmovdqa ymm8,YMMWORD PTR \[r15\+0x99\]
@@ -3165,26 +3211,27 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 7d 19 87 99 00 00 00 07   vextractf128 XMMWORD PTR \[r15\+0x99\],ymm8,0x7
 [      ]*[a-f0-9]+:    c4 43 3d 06 bf 99 00 00 00 07   vperm2f128 ymm15,ymm8,YMMWORD PTR \[r15\+0x99\],0x7
 [      ]*[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\]        # 417e <_start\+0x417e>
-[      ]*[a-f0-9]+:    c5 79 6f 05 99 00 00 00         vmovdqa xmm8,XMMWORD PTR \[rip\+0x99\]        # 4186 <_start\+0x4186>
-[      ]*[a-f0-9]+:    c5 79 7f 05 99 00 00 00         vmovdqa XMMWORD PTR \[rip\+0x99\],xmm8        # 418e <_start\+0x418e>
-[      ]*[a-f0-9]+:    c5 79 7e 05 99 00 00 00         vmovd  DWORD PTR \[rip\+0x99\],xmm8        # 4196 <_start\+0x4196>
-[      ]*[a-f0-9]+:    c5 7b 2d 05 99 00 00 00         vcvtsd2si r8d,QWORD PTR \[rip\+0x99\]        # 419e <_start\+0x419e>
-[      ]*[a-f0-9]+:    c5 7e e6 05 99 00 00 00         vcvtdq2pd ymm8,XMMWORD PTR \[rip\+0x99\]        # 41a6 <_start\+0x41a6>
-[      ]*[a-f0-9]+:    c5 7d 5a 05 99 00 00 00         vcvtpd2ps xmm8,YMMWORD PTR \[rip\+0x99\]        # 41ae <_start\+0x41ae>
-[      ]*[a-f0-9]+:    c5 39 e0 3d 99 00 00 00         vpavgb xmm15,xmm8,XMMWORD PTR \[rip\+0x99\]        # 41b6 <_start\+0x41b6>
-[      ]*[a-f0-9]+:    c4 63 79 df 05 99 00 00 00 07   vaeskeygenassist xmm8,XMMWORD PTR \[rip\+0x99\],0x7        # 41c0 <_start\+0x41c0>
-[      ]*[a-f0-9]+:    c4 63 79 14 05 99 00 00 00 07   vpextrb BYTE PTR \[rip\+0x99\],xmm8,0x7        # 41ca <_start\+0x41ca>
-[      ]*[a-f0-9]+:    c5 3b 2a 3d 99 00 00 00         vcvtsi2sd xmm15,xmm8,DWORD PTR \[rip\+0x99\]        # 41d2 <_start\+0x41d2>
-[      ]*[a-f0-9]+:    c4 63 19 4a 35 99 00 00 00 80   vblendvps xmm14,xmm12,XMMWORD PTR \[rip\+0x99\],xmm8        # 41dc <_start\+0x41dc>
-[      ]*[a-f0-9]+:    c4 63 39 20 3d 99 00 00 00 07   vpinsrb xmm15,xmm8,BYTE PTR \[rip\+0x99\],0x7        # 41e6 <_start\+0x41e6>
-[      ]*[a-f0-9]+:    c5 7d 6f 05 99 00 00 00         vmovdqa ymm8,YMMWORD PTR \[rip\+0x99\]        # 41ee <_start\+0x41ee>
-[      ]*[a-f0-9]+:    c5 7d 7f 05 99 00 00 00         vmovdqa YMMWORD PTR \[rip\+0x99\],ymm8        # 41f6 <_start\+0x41f6>
-[      ]*[a-f0-9]+:    c4 62 3d 0d 3d 99 00 00 00      vpermilpd ymm15,ymm8,YMMWORD PTR \[rip\+0x99\]        # 41ff <_start\+0x41ff>
-[      ]*[a-f0-9]+:    c4 63 7d 09 05 99 00 00 00 07   vroundpd ymm8,YMMWORD PTR \[rip\+0x99\],0x7        # 4209 <_start\+0x4209>
-[      ]*[a-f0-9]+:    c4 63 7d 19 05 99 00 00 00 07   vextractf128 XMMWORD PTR \[rip\+0x99\],ymm8,0x7        # 4213 <_start\+0x4213>
-[      ]*[a-f0-9]+:    c4 63 3d 06 3d 99 00 00 00 07   vperm2f128 ymm15,ymm8,YMMWORD PTR \[rip\+0x99\],0x7        # 421d <_start\+0x421d>
-[      ]*[a-f0-9]+:    c4 63 1d 4b 35 99 00 00 00 80   vblendvpd ymm14,ymm12,YMMWORD PTR \[rip\+0x99\],ymm8        # 4227 <_start\+0x4227>
+[      ]*[a-f0-9]+:    c5 f8 ae 15 99 00 00 00         vldmxcsr DWORD PTR \[rip\+0x99\]        # 42e5 <_start\+0x42e5>
+[      ]*[a-f0-9]+:    c5 79 6f 05 99 00 00 00         vmovdqa xmm8,XMMWORD PTR \[rip\+0x99\]        # 42ed <_start\+0x42ed>
+[      ]*[a-f0-9]+:    c5 79 7f 05 99 00 00 00         vmovdqa XMMWORD PTR \[rip\+0x99\],xmm8        # 42f5 <_start\+0x42f5>
+[      ]*[a-f0-9]+:    c5 79 7e 05 99 00 00 00         vmovd  DWORD PTR \[rip\+0x99\],xmm8        # 42fd <_start\+0x42fd>
+[      ]*[a-f0-9]+:    c5 7b 2d 05 99 00 00 00         vcvtsd2si r8d,QWORD PTR \[rip\+0x99\]        # 4305 <_start\+0x4305>
+[      ]*[a-f0-9]+:    c5 7e e6 05 99 00 00 00         vcvtdq2pd ymm8,XMMWORD PTR \[rip\+0x99\]        # 430d <_start\+0x430d>
+[      ]*[a-f0-9]+:    c5 7d 5a 05 99 00 00 00         vcvtpd2ps xmm8,YMMWORD PTR \[rip\+0x99\]        # 4315 <_start\+0x4315>
+[      ]*[a-f0-9]+:    c5 39 e0 3d 99 00 00 00         vpavgb xmm15,xmm8,XMMWORD PTR \[rip\+0x99\]        # 431d <_start\+0x431d>
+[      ]*[a-f0-9]+:    c4 63 79 df 05 99 00 00 00 07   vaeskeygenassist xmm8,XMMWORD PTR \[rip\+0x99\],0x7        # 4327 <_start\+0x4327>
+[      ]*[a-f0-9]+:    c4 63 79 14 05 99 00 00 00 07   vpextrb BYTE PTR \[rip\+0x99\],xmm8,0x7        # 4331 <_start\+0x4331>
+[      ]*[a-f0-9]+:    c5 3b 2a 3d 99 00 00 00         vcvtsi2sd xmm15,xmm8,DWORD PTR \[rip\+0x99\]        # 4339 <_start\+0x4339>
+[      ]*[a-f0-9]+:    c4 63 39 44 3d 99 00 00 00 07   vpclmulqdq xmm15,xmm8,XMMWORD PTR \[rip\+0x99\],0x7        # 4343 <_start\+0x4343>
+[      ]*[a-f0-9]+:    c4 63 19 4a 35 99 00 00 00 80   vblendvps xmm14,xmm12,XMMWORD PTR \[rip\+0x99\],xmm8        # 434d <_start\+0x434d>
+[      ]*[a-f0-9]+:    c4 63 39 20 3d 99 00 00 00 07   vpinsrb xmm15,xmm8,BYTE PTR \[rip\+0x99\],0x7        # 4357 <_start\+0x4357>
+[      ]*[a-f0-9]+:    c5 7d 6f 05 99 00 00 00         vmovdqa ymm8,YMMWORD PTR \[rip\+0x99\]        # 435f <_start\+0x435f>
+[      ]*[a-f0-9]+:    c5 7d 7f 05 99 00 00 00         vmovdqa YMMWORD PTR \[rip\+0x99\],ymm8        # 4367 <_start\+0x4367>
+[      ]*[a-f0-9]+:    c4 62 3d 0d 3d 99 00 00 00      vpermilpd ymm15,ymm8,YMMWORD PTR \[rip\+0x99\]        # 4370 <_start\+0x4370>
+[      ]*[a-f0-9]+:    c4 63 7d 09 05 99 00 00 00 07   vroundpd ymm8,YMMWORD PTR \[rip\+0x99\],0x7        # 437a <_start\+0x437a>
+[      ]*[a-f0-9]+:    c4 63 7d 19 05 99 00 00 00 07   vextractf128 XMMWORD PTR \[rip\+0x99\],ymm8,0x7        # 4384 <_start\+0x4384>
+[      ]*[a-f0-9]+:    c4 63 3d 06 3d 99 00 00 00 07   vperm2f128 ymm15,ymm8,YMMWORD PTR \[rip\+0x99\],0x7        # 438e <_start\+0x438e>
+[      ]*[a-f0-9]+:    c4 63 1d 4b 35 99 00 00 00 80   vblendvpd ymm14,ymm12,YMMWORD PTR \[rip\+0x99\],ymm8        # 4398 <_start\+0x4398>
 [      ]*[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
@@ -3196,6 +3243,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 84 24 99 00 00 00 07        vaeskeygenassist xmm8,XMMWORD PTR \[rsp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 79 14 84 24 99 00 00 00 07        vpextrb BYTE PTR \[rsp\+0x99\],xmm8,0x7
 [      ]*[a-f0-9]+:    c5 3b 2a bc 24 99 00 00 00      vcvtsi2sd xmm15,xmm8,DWORD PTR \[rsp\+0x99\]
+[      ]*[a-f0-9]+:    c4 63 39 44 bc 24 99 00 00 00 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[rsp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 24 99 00 00 00 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rsp\+0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 63 39 20 bc 24 99 00 00 00 07        vpinsrb xmm15,xmm8,BYTE PTR \[rsp\+0x99\],0x7
 [      ]*[a-f0-9]+:    c5 7d 6f 84 24 99 00 00 00      vmovdqa ymm8,YMMWORD PTR \[rsp\+0x99\]
@@ -3216,6 +3264,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 79 df 84 24 99 00 00 00 07        vaeskeygenassist xmm8,XMMWORD PTR \[r12\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 43 79 14 84 24 99 00 00 00 07        vpextrb BYTE PTR \[r12\+0x99\],xmm8,0x7
 [      ]*[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 39 44 bc 24 99 00 00 00 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[r12\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 43 19 4a b4 24 99 00 00 00 80        vblendvps xmm14,xmm12,XMMWORD PTR \[r12\+0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 43 39 20 bc 24 99 00 00 00 07        vpinsrb xmm15,xmm8,BYTE PTR \[r12\+0x99\],0x7
 [      ]*[a-f0-9]+:    c4 41 7d 6f 84 24 99 00 00 00   vmovdqa ymm8,YMMWORD PTR \[r12\+0x99\]
@@ -3236,6 +3285,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 04 25 67 ff ff ff 07        vaeskeygenassist xmm8,XMMWORD PTR ds:0xffffffffffffff67,0x7
 [      ]*[a-f0-9]+:    c4 63 79 14 04 25 67 ff ff ff 07        vpextrb BYTE PTR ds:0xffffffffffffff67,xmm8,0x7
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 25 67 ff ff ff      vcvtsi2sd xmm15,xmm8,DWORD PTR ds:0xffffffffffffff67
+[      ]*[a-f0-9]+:    c4 63 39 44 3c 25 67 ff ff ff 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR ds:0xffffffffffffff67,0x7
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 25 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR ds:0xffffffffffffff67,xmm8
 [      ]*[a-f0-9]+:    c4 63 39 20 3c 25 67 ff ff ff 07        vpinsrb xmm15,xmm8,BYTE PTR ds:0xffffffffffffff67,0x7
 [      ]*[a-f0-9]+:    c5 7d 6f 04 25 67 ff ff ff      vmovdqa ymm8,YMMWORD PTR ds:0xffffffffffffff67
@@ -3256,6 +3306,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 04 65 67 ff ff ff 07        vaeskeygenassist xmm8,XMMWORD PTR \[riz\*2-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 79 14 04 65 67 ff ff ff 07        vpextrb BYTE PTR \[riz\*2-0x99\],xmm8,0x7
 [      ]*[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 39 44 3c 65 67 ff ff ff 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[riz\*2-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 65 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[riz\*2-0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 63 39 20 3c 65 67 ff ff ff 07        vpinsrb xmm15,xmm8,BYTE PTR \[riz\*2-0x99\],0x7
 [      ]*[a-f0-9]+:    c5 7d 6f 04 65 67 ff ff ff      vmovdqa ymm8,YMMWORD PTR \[riz\*2-0x99\]
@@ -3276,6 +3327,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 84 23 67 ff ff ff 07        vaeskeygenassist xmm8,XMMWORD PTR \[rbx\+riz\*1-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 79 14 84 23 67 ff ff ff 07        vpextrb BYTE PTR \[rbx\+riz\*1-0x99\],xmm8,0x7
 [      ]*[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 39 44 bc 23 67 ff ff ff 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[rbx\+riz\*1-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 23 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rbx\+riz\*1-0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 63 39 20 bc 23 67 ff ff ff 07        vpinsrb xmm15,xmm8,BYTE PTR \[rbx\+riz\*1-0x99\],0x7
 [      ]*[a-f0-9]+:    c5 7d 6f 84 23 67 ff ff ff      vmovdqa ymm8,YMMWORD PTR \[rbx\+riz\*1-0x99\]
@@ -3296,6 +3348,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 84 63 67 ff ff ff 07        vaeskeygenassist xmm8,XMMWORD PTR \[rbx\+riz\*2-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 79 14 84 63 67 ff ff ff 07        vpextrb BYTE PTR \[rbx\+riz\*2-0x99\],xmm8,0x7
 [      ]*[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 39 44 bc 63 67 ff ff ff 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[rbx\+riz\*2-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 63 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rbx\+riz\*2-0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 63 39 20 bc 63 67 ff ff ff 07        vpinsrb xmm15,xmm8,BYTE PTR \[rbx\+riz\*2-0x99\],0x7
 [      ]*[a-f0-9]+:    c5 7d 6f 84 63 67 ff ff ff      vmovdqa ymm8,YMMWORD PTR \[rbx\+riz\*2-0x99\]
@@ -3316,6 +3369,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 03 79 df 84 bc 67 ff ff ff 07        vaeskeygenassist xmm8,XMMWORD PTR \[r12\+r15\*4-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 03 79 14 84 bc 67 ff ff ff 07        vpextrb BYTE PTR \[r12\+r15\*4-0x99\],xmm8,0x7
 [      ]*[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 39 44 bc bc 67 ff ff ff 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[r12\+r15\*4-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 03 19 4a b4 bc 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[r12\+r15\*4-0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 03 39 20 bc bc 67 ff ff ff 07        vpinsrb xmm15,xmm8,BYTE PTR \[r12\+r15\*4-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 01 7d 6f 84 bc 67 ff ff ff   vmovdqa ymm8,YMMWORD PTR \[r12\+r15\*4-0x99\]
@@ -3336,6 +3390,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 03 79 df 84 f8 67 ff ff ff 07        vaeskeygenassist xmm8,XMMWORD PTR \[r8\+r15\*8-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 03 79 14 84 f8 67 ff ff ff 07        vpextrb BYTE PTR \[r8\+r15\*8-0x99\],xmm8,0x7
 [      ]*[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 39 44 bc f8 67 ff ff ff 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[r8\+r15\*8-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 03 19 4a b4 f8 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[r8\+r15\*8-0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 03 39 20 bc f8 67 ff ff ff 07        vpinsrb xmm15,xmm8,BYTE PTR \[r8\+r15\*8-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 01 7d 6f 84 f8 67 ff ff ff   vmovdqa ymm8,YMMWORD PTR \[r8\+r15\*8-0x99\]
@@ -3356,6 +3411,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 23 79 df 84 a5 67 ff ff ff 07        vaeskeygenassist xmm8,XMMWORD PTR \[rbp\+r12\*4-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 23 79 14 84 a5 67 ff ff ff 07        vpextrb BYTE PTR \[rbp\+r12\*4-0x99\],xmm8,0x7
 [      ]*[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 39 44 bc a5 67 ff ff ff 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[rbp\+r12\*4-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 23 19 4a b4 a5 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rbp\+r12\*4-0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 23 39 20 bc a5 67 ff ff ff 07        vpinsrb xmm15,xmm8,BYTE PTR \[rbp\+r12\*4-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 21 7d 6f 84 a5 67 ff ff ff   vmovdqa ymm8,YMMWORD PTR \[rbp\+r12\*4-0x99\]
@@ -3376,6 +3432,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 23 79 df 84 2c 67 ff ff ff 07        vaeskeygenassist xmm8,XMMWORD PTR \[rsp\+r13\*1-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 23 79 14 84 2c 67 ff ff ff 07        vpextrb BYTE PTR \[rsp\+r13\*1-0x99\],xmm8,0x7
 [      ]*[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 39 44 bc 2c 67 ff ff ff 07        vpclmulqdq xmm15,xmm8,XMMWORD PTR \[rsp\+r13\*1-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 23 19 4a b4 2c 67 ff ff ff 80        vblendvps xmm14,xmm12,XMMWORD PTR \[rsp\+r13\*1-0x99\],xmm8
 [      ]*[a-f0-9]+:    c4 23 39 20 bc 2c 67 ff ff ff 07        vpinsrb xmm15,xmm8,BYTE PTR \[rsp\+r13\*1-0x99\],0x7
 [      ]*[a-f0-9]+:    c4 21 7d 6f 84 2c 67 ff ff ff   vmovdqa ymm8,YMMWORD PTR \[rsp\+r13\*1-0x99\]
@@ -3396,6 +3453,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 79 df f8 07       vaeskeygenassist xmm15,xmm8,0x7
 [      ]*[a-f0-9]+:    c4 43 79 14 c0 07       vpextrb r8d,xmm8,0x7
 [      ]*[a-f0-9]+:    c4 41 3b 2a f8          vcvtsi2sd xmm15,xmm8,r8d
+[      ]*[a-f0-9]+:    c4 43 01 44 e0 07       vpclmulqdq xmm12,xmm15,xmm8,0x7
 [      ]*[a-f0-9]+:    c4 43 19 4a f0 80       vblendvps xmm14,xmm12,xmm8,xmm8
 [      ]*[a-f0-9]+:    c4 43 39 20 f8 07       vpinsrb xmm15,xmm8,r8d,0x7
 [      ]*[a-f0-9]+:    c4 41 7d 6f f8          vmovdqa ymm15,ymm8
index 48714e6c5c67d2a720291bcc880443ec46fcdc59..b3b8a2ead0f6778a5a1a5076e28248efdd33f83d 100644 (file)
@@ -436,6 +436,14 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 e0 39             vpavgb \(%rcx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 e3 d4             vpavgw %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 e3 39             vpavgw \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 00       vpclmullqlqdq %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 00       vpclmullqlqdq \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 01       vpclmulhqlqdq %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 01       vpclmulhqlqdq \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 10       vpclmullqhqdq %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 10       vpclmullqhqdq \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 11       vpclmulhqhqdq %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 11       vpclmulhqhqdq \(%rcx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 74 d4             vpcmpeqb %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 74 39             vpcmpeqb \(%rcx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 75 d4             vpcmpeqw %xmm4,%xmm6,%xmm2
@@ -770,6 +778,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 49 0f 11 07       vpalignr \$0x7,\(%rcx\),%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c4 e3 49 0e d4 07       vpblendw \$0x7,%xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c4 e3 49 0e 11 07       vpblendw \$0x7,\(%rcx\),%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 07       vpclmulqdq \$0x7,%xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 11 07       vpclmulqdq \$0x7,\(%rcx\),%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 c6 d4 07          vshufpd \$0x7,%xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 c6 11 07          vshufpd \$0x7,\(%rcx\),%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c8 c6 d4 07          vshufps \$0x7,%xmm4,%xmm6,%xmm2
@@ -1114,6 +1124,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 04 25 78 56 34 12 07        vaeskeygenassist \$0x7,0x12345678,%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 04 25 78 56 34 12 07        vpextrb \$0x7,%xmm8,0x12345678
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 25 78 56 34 12      vcvtsi2sdl 0x12345678,%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 39 44 3c 25 78 56 34 12 07        vpclmulqdq \$0x7,0x12345678,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 25 78 56 34 12 80        vblendvps %xmm8,0x12345678,%xmm12,%xmm14
 [      ]*[a-f0-9]+:    c4 63 39 20 3c 25 78 56 34 12 07        vpinsrb \$0x7,0x12345678,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c5 7d 6f 04 25 78 56 34 12      vmovdqa 0x12345678,%ymm8
@@ -1134,6 +1145,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 45 00 07    vaeskeygenassist \$0x7,0x0\(%rbp\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 45 00 07    vpextrb \$0x7,%xmm8,0x0\(%rbp\)
 [      ]*[a-f0-9]+:    c5 3b 2a 7d 00          vcvtsi2sdl 0x0\(%rbp\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 39 44 7d 00 07    vpclmulqdq \$0x7,0x0\(%rbp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a 75 00 80    vblendvps %xmm8,0x0\(%rbp\),%xmm12,%xmm14
 [      ]*[a-f0-9]+:    c4 63 39 20 7d 00 07    vpinsrb \$0x7,0x0\(%rbp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c5 7d 6f 45 00          vmovdqa 0x0\(%rbp\),%ymm8
@@ -1154,6 +1166,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 04 24 07    vaeskeygenassist \$0x7,\(%rsp\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 04 24 07    vpextrb \$0x7,%xmm8,\(%rsp\)
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 24          vcvtsi2sdl \(%rsp\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 39 44 3c 24 07    vpclmulqdq \$0x7,\(%rsp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 24 80    vblendvps %xmm8,\(%rsp\),%xmm12,%xmm14
 [      ]*[a-f0-9]+:    c4 63 39 20 3c 24 07    vpinsrb \$0x7,\(%rsp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c5 7d 6f 04 24          vmovdqa \(%rsp\),%ymm8
@@ -1174,6 +1187,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 85 99 00 00 00 07   vaeskeygenassist \$0x7,0x99\(%rbp\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 85 99 00 00 00 07   vpextrb \$0x7,%xmm8,0x99\(%rbp\)
 [      ]*[a-f0-9]+:    c5 3b 2a bd 99 00 00 00         vcvtsi2sdl 0x99\(%rbp\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 39 44 bd 99 00 00 00 07   vpclmulqdq \$0x7,0x99\(%rbp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a b5 99 00 00 00 80   vblendvps %xmm8,0x99\(%rbp\),%xmm12,%xmm14
 [      ]*[a-f0-9]+:    c4 63 39 20 bd 99 00 00 00 07   vpinsrb \$0x7,0x99\(%rbp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c5 7d 6f 85 99 00 00 00         vmovdqa 0x99\(%rbp\),%ymm8
@@ -1194,6 +1208,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 79 df 87 99 00 00 00 07   vaeskeygenassist \$0x7,0x99\(%r15\),%xmm8
 [      ]*[a-f0-9]+:    c4 43 79 14 87 99 00 00 00 07   vpextrb \$0x7,%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 39 44 bf 99 00 00 00 07   vpclmulqdq \$0x7,0x99\(%r15\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 43 19 4a b7 99 00 00 00 80   vblendvps %xmm8,0x99\(%r15\),%xmm12,%xmm14
 [      ]*[a-f0-9]+:    c4 43 39 20 bf 99 00 00 00 07   vpinsrb \$0x7,0x99\(%r15\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 41 7d 6f 87 99 00 00 00      vmovdqa 0x99\(%r15\),%ymm8
@@ -1203,26 +1218,27 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 7d 19 87 99 00 00 00 07   vextractf128 \$0x7,%ymm8,0x99\(%r15\)
 [      ]*[a-f0-9]+:    c4 43 3d 06 bf 99 00 00 00 07   vperm2f128 \$0x7,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\)        # 17c8 <_start\+0x17c8>
-[      ]*[a-f0-9]+:    c5 79 6f 05 99 00 00 00         vmovdqa 0x99\(%rip\),%xmm8        # 17d0 <_start\+0x17d0>
-[      ]*[a-f0-9]+:    c5 79 7f 05 99 00 00 00         vmovdqa %xmm8,0x99\(%rip\)        # 17d8 <_start\+0x17d8>
-[      ]*[a-f0-9]+:    c5 79 7e 05 99 00 00 00         vmovd  %xmm8,0x99\(%rip\)        # 17e0 <_start\+0x17e0>
-[      ]*[a-f0-9]+:    c5 7b 2d 05 99 00 00 00         vcvtsd2si 0x99\(%rip\),%r8d        # 17e8 <_start\+0x17e8>
-[      ]*[a-f0-9]+:    c5 7e e6 05 99 00 00 00         vcvtdq2pd 0x99\(%rip\),%ymm8        # 17f0 <_start\+0x17f0>
-[      ]*[a-f0-9]+:    c5 7d 5a 05 99 00 00 00         vcvtpd2psy 0x99\(%rip\),%xmm8        # 17f8 <_start\+0x17f8>
-[      ]*[a-f0-9]+:    c5 39 e0 3d 99 00 00 00         vpavgb 0x99\(%rip\),%xmm8,%xmm15        # 1800 <_start\+0x1800>
-[      ]*[a-f0-9]+:    c4 63 79 df 05 99 00 00 00 07   vaeskeygenassist \$0x7,0x99\(%rip\),%xmm8        # 180a <_start\+0x180a>
-[      ]*[a-f0-9]+:    c4 63 79 14 05 99 00 00 00 07   vpextrb \$0x7,%xmm8,0x99\(%rip\)        # 1814 <_start\+0x1814>
-[      ]*[a-f0-9]+:    c5 3b 2a 3d 99 00 00 00         vcvtsi2sdl 0x99\(%rip\),%xmm8,%xmm15        # 181c <_start\+0x181c>
-[      ]*[a-f0-9]+:    c4 63 19 4a 35 99 00 00 00 80   vblendvps %xmm8,0x99\(%rip\),%xmm12,%xmm14        # 1826 <_start\+0x1826>
-[      ]*[a-f0-9]+:    c4 63 39 20 3d 99 00 00 00 07   vpinsrb \$0x7,0x99\(%rip\),%xmm8,%xmm15        # 1830 <_start\+0x1830>
-[      ]*[a-f0-9]+:    c5 7d 6f 05 99 00 00 00         vmovdqa 0x99\(%rip\),%ymm8        # 1838 <_start\+0x1838>
-[      ]*[a-f0-9]+:    c5 7d 7f 05 99 00 00 00         vmovdqa %ymm8,0x99\(%rip\)        # 1840 <_start\+0x1840>
-[      ]*[a-f0-9]+:    c4 62 3d 0d 3d 99 00 00 00      vpermilpd 0x99\(%rip\),%ymm8,%ymm15        # 1849 <_start\+0x1849>
-[      ]*[a-f0-9]+:    c4 63 7d 09 05 99 00 00 00 07   vroundpd \$0x7,0x99\(%rip\),%ymm8        # 1853 <_start\+0x1853>
-[      ]*[a-f0-9]+:    c4 63 7d 19 05 99 00 00 00 07   vextractf128 \$0x7,%ymm8,0x99\(%rip\)        # 185d <_start\+0x185d>
-[      ]*[a-f0-9]+:    c4 63 3d 06 3d 99 00 00 00 07   vperm2f128 \$0x7,0x99\(%rip\),%ymm8,%ymm15        # 1867 <_start\+0x1867>
-[      ]*[a-f0-9]+:    c4 63 1d 4b 35 99 00 00 00 80   vblendvpd %ymm8,0x99\(%rip\),%ymm12,%ymm14        # 1871 <_start\+0x1871>
+[      ]*[a-f0-9]+:    c5 f8 ae 15 99 00 00 00         vldmxcsr 0x99\(%rip\)        # 1831 <_start\+0x1831>
+[      ]*[a-f0-9]+:    c5 79 6f 05 99 00 00 00         vmovdqa 0x99\(%rip\),%xmm8        # 1839 <_start\+0x1839>
+[      ]*[a-f0-9]+:    c5 79 7f 05 99 00 00 00         vmovdqa %xmm8,0x99\(%rip\)        # 1841 <_start\+0x1841>
+[      ]*[a-f0-9]+:    c5 79 7e 05 99 00 00 00         vmovd  %xmm8,0x99\(%rip\)        # 1849 <_start\+0x1849>
+[      ]*[a-f0-9]+:    c5 7b 2d 05 99 00 00 00         vcvtsd2si 0x99\(%rip\),%r8d        # 1851 <_start\+0x1851>
+[      ]*[a-f0-9]+:    c5 7e e6 05 99 00 00 00         vcvtdq2pd 0x99\(%rip\),%ymm8        # 1859 <_start\+0x1859>
+[      ]*[a-f0-9]+:    c5 7d 5a 05 99 00 00 00         vcvtpd2psy 0x99\(%rip\),%xmm8        # 1861 <_start\+0x1861>
+[      ]*[a-f0-9]+:    c5 39 e0 3d 99 00 00 00         vpavgb 0x99\(%rip\),%xmm8,%xmm15        # 1869 <_start\+0x1869>
+[      ]*[a-f0-9]+:    c4 63 79 df 05 99 00 00 00 07   vaeskeygenassist \$0x7,0x99\(%rip\),%xmm8        # 1873 <_start\+0x1873>
+[      ]*[a-f0-9]+:    c4 63 79 14 05 99 00 00 00 07   vpextrb \$0x7,%xmm8,0x99\(%rip\)        # 187d <_start\+0x187d>
+[      ]*[a-f0-9]+:    c5 3b 2a 3d 99 00 00 00         vcvtsi2sdl 0x99\(%rip\),%xmm8,%xmm15        # 1885 <_start\+0x1885>
+[      ]*[a-f0-9]+:    c4 63 39 44 3d 99 00 00 00 07   vpclmulqdq \$0x7,0x99\(%rip\),%xmm8,%xmm15        # 188f <_start\+0x188f>
+[      ]*[a-f0-9]+:    c4 63 19 4a 35 99 00 00 00 80   vblendvps %xmm8,0x99\(%rip\),%xmm12,%xmm14        # 1899 <_start\+0x1899>
+[      ]*[a-f0-9]+:    c4 63 39 20 3d 99 00 00 00 07   vpinsrb \$0x7,0x99\(%rip\),%xmm8,%xmm15        # 18a3 <_start\+0x18a3>
+[      ]*[a-f0-9]+:    c5 7d 6f 05 99 00 00 00         vmovdqa 0x99\(%rip\),%ymm8        # 18ab <_start\+0x18ab>
+[      ]*[a-f0-9]+:    c5 7d 7f 05 99 00 00 00         vmovdqa %ymm8,0x99\(%rip\)        # 18b3 <_start\+0x18b3>
+[      ]*[a-f0-9]+:    c4 62 3d 0d 3d 99 00 00 00      vpermilpd 0x99\(%rip\),%ymm8,%ymm15        # 18bc <_start\+0x18bc>
+[      ]*[a-f0-9]+:    c4 63 7d 09 05 99 00 00 00 07   vroundpd \$0x7,0x99\(%rip\),%ymm8        # 18c6 <_start\+0x18c6>
+[      ]*[a-f0-9]+:    c4 63 7d 19 05 99 00 00 00 07   vextractf128 \$0x7,%ymm8,0x99\(%rip\)        # 18d0 <_start\+0x18d0>
+[      ]*[a-f0-9]+:    c4 63 3d 06 3d 99 00 00 00 07   vperm2f128 \$0x7,0x99\(%rip\),%ymm8,%ymm15        # 18da <_start\+0x18da>
+[      ]*[a-f0-9]+:    c4 63 1d 4b 35 99 00 00 00 80   vblendvpd %ymm8,0x99\(%rip\),%ymm12,%ymm14        # 18e4 <_start\+0x18e4>
 [      ]*[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\)
@@ -1234,6 +1250,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 84 24 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(%rsp\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 84 24 99 00 00 00 07        vpextrb \$0x7,%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 39 44 bc 24 99 00 00 00 07        vpclmulqdq \$0x7,0x99\(%rsp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 24 99 00 00 00 80        vblendvps %xmm8,0x99\(%rsp\),%xmm12,%xmm14
 [      ]*[a-f0-9]+:    c4 63 39 20 bc 24 99 00 00 00 07        vpinsrb \$0x7,0x99\(%rsp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c5 7d 6f 84 24 99 00 00 00      vmovdqa 0x99\(%rsp\),%ymm8
@@ -1254,6 +1271,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 79 df 84 24 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(%r12\),%xmm8
 [      ]*[a-f0-9]+:    c4 43 79 14 84 24 99 00 00 00 07        vpextrb \$0x7,%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 39 44 bc 24 99 00 00 00 07        vpclmulqdq \$0x7,0x99\(%r12\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 43 19 4a b4 24 99 00 00 00 80        vblendvps %xmm8,0x99\(%r12\),%xmm12,%xmm14
 [      ]*[a-f0-9]+:    c4 43 39 20 bc 24 99 00 00 00 07        vpinsrb \$0x7,0x99\(%r12\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 41 7d 6f 84 24 99 00 00 00   vmovdqa 0x99\(%r12\),%ymm8
@@ -1274,6 +1292,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 04 25 67 ff ff ff 07        vaeskeygenassist \$0x7,0xffffffffffffff67,%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 04 25 67 ff ff ff 07        vpextrb \$0x7,%xmm8,0xffffffffffffff67
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 25 67 ff ff ff      vcvtsi2sdl 0xffffffffffffff67,%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 39 44 3c 25 67 ff ff ff 07        vpclmulqdq \$0x7,0xffffffffffffff67,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 25 67 ff ff ff 80        vblendvps %xmm8,0xffffffffffffff67,%xmm12,%xmm14
 [      ]*[a-f0-9]+:    c4 63 39 20 3c 25 67 ff ff ff 07        vpinsrb \$0x7,0xffffffffffffff67,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c5 7d 6f 04 25 67 ff ff ff      vmovdqa 0xffffffffffffff67,%ymm8
@@ -1294,6 +1313,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 04 65 67 ff ff ff 07        vaeskeygenassist \$0x7,-0x99\(,%riz,2\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 04 65 67 ff ff ff 07        vpextrb \$0x7,%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 39 44 3c 65 67 ff ff ff 07        vpclmulqdq \$0x7,-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
 [      ]*[a-f0-9]+:    c4 63 39 20 3c 65 67 ff ff ff 07        vpinsrb \$0x7,-0x99\(,%riz,2\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c5 7d 6f 04 65 67 ff ff ff      vmovdqa -0x99\(,%riz,2\),%ymm8
@@ -1314,6 +1334,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 84 23 67 ff ff ff 07        vaeskeygenassist \$0x7,-0x99\(%rbx,%riz,1\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 84 23 67 ff ff ff 07        vpextrb \$0x7,%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 39 44 bc 23 67 ff ff ff 07        vpclmulqdq \$0x7,-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
 [      ]*[a-f0-9]+:    c4 63 39 20 bc 23 67 ff ff ff 07        vpinsrb \$0x7,-0x99\(%rbx,%riz,1\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c5 7d 6f 84 23 67 ff ff ff      vmovdqa -0x99\(%rbx,%riz,1\),%ymm8
@@ -1334,6 +1355,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 84 63 67 ff ff ff 07        vaeskeygenassist \$0x7,-0x99\(%rbx,%riz,2\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 84 63 67 ff ff ff 07        vpextrb \$0x7,%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 39 44 bc 63 67 ff ff ff 07        vpclmulqdq \$0x7,-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
 [      ]*[a-f0-9]+:    c4 63 39 20 bc 63 67 ff ff ff 07        vpinsrb \$0x7,-0x99\(%rbx,%riz,2\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c5 7d 6f 84 63 67 ff ff ff      vmovdqa -0x99\(%rbx,%riz,2\),%ymm8
@@ -1354,6 +1376,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 03 79 df 84 bc 67 ff ff ff 07        vaeskeygenassist \$0x7,-0x99\(%r12,%r15,4\),%xmm8
 [      ]*[a-f0-9]+:    c4 03 79 14 84 bc 67 ff ff ff 07        vpextrb \$0x7,%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 39 44 bc bc 67 ff ff ff 07        vpclmulqdq \$0x7,-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
 [      ]*[a-f0-9]+:    c4 03 39 20 bc bc 67 ff ff ff 07        vpinsrb \$0x7,-0x99\(%r12,%r15,4\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 01 7d 6f 84 bc 67 ff ff ff   vmovdqa -0x99\(%r12,%r15,4\),%ymm8
@@ -1374,6 +1397,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 03 79 df 84 f8 67 ff ff ff 07        vaeskeygenassist \$0x7,-0x99\(%r8,%r15,8\),%xmm8
 [      ]*[a-f0-9]+:    c4 03 79 14 84 f8 67 ff ff ff 07        vpextrb \$0x7,%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 39 44 bc f8 67 ff ff ff 07        vpclmulqdq \$0x7,-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
 [      ]*[a-f0-9]+:    c4 03 39 20 bc f8 67 ff ff ff 07        vpinsrb \$0x7,-0x99\(%r8,%r15,8\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 01 7d 6f 84 f8 67 ff ff ff   vmovdqa -0x99\(%r8,%r15,8\),%ymm8
@@ -1394,6 +1418,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 23 79 df 84 ad 67 ff ff ff 07        vaeskeygenassist \$0x7,-0x99\(%rbp,%r13,4\),%xmm8
 [      ]*[a-f0-9]+:    c4 23 79 14 84 ad 67 ff ff ff 07        vpextrb \$0x7,%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 39 44 bc ad 67 ff ff ff 07        vpclmulqdq \$0x7,-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
 [      ]*[a-f0-9]+:    c4 23 39 20 bc ad 67 ff ff ff 07        vpinsrb \$0x7,-0x99\(%rbp,%r13,4\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 21 7d 6f 84 ad 67 ff ff ff   vmovdqa -0x99\(%rbp,%r13,4\),%ymm8
@@ -1414,6 +1439,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 23 79 df 84 24 67 ff ff ff 07        vaeskeygenassist \$0x7,-0x99\(%rsp,%r12,1\),%xmm8
 [      ]*[a-f0-9]+:    c4 23 79 14 84 24 67 ff ff ff 07        vpextrb \$0x7,%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 39 44 bc 24 67 ff ff ff 07        vpclmulqdq \$0x7,-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
 [      ]*[a-f0-9]+:    c4 23 39 20 bc 24 67 ff ff ff 07        vpinsrb \$0x7,-0x99\(%rsp,%r12,1\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 21 7d 6f 84 24 67 ff ff ff   vmovdqa -0x99\(%rsp,%r12,1\),%ymm8
@@ -1434,6 +1460,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 79 df f8 07       vaeskeygenassist \$0x7,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 43 79 14 c0 07       vpextrb \$0x7,%xmm8,%r8d
 [      ]*[a-f0-9]+:    c4 41 3b 2a f8          vcvtsi2sd %r8d,%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 43 01 44 e0 07       vpclmulqdq \$0x7,%xmm8,%xmm15,%xmm12
 [      ]*[a-f0-9]+:    c4 43 19 4a f0 80       vblendvps %xmm8,%xmm8,%xmm12,%xmm14
 [      ]*[a-f0-9]+:    c4 43 39 20 f8 07       vpinsrb \$0x7,%r8d,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 41 7d 6f f8          vmovdqa %ymm8,%ymm15
@@ -2091,6 +2118,18 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c5 c9 e3 d4             vpavgw %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 e3 39             vpavgw \(%rcx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 e3 39             vpavgw \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 00       vpclmullqlqdq %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 00       vpclmullqlqdq \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 00       vpclmullqlqdq \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 01       vpclmulhqlqdq %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 01       vpclmulhqlqdq \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 01       vpclmulhqlqdq \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 10       vpclmullqhqdq %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 10       vpclmullqhqdq \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 10       vpclmullqhqdq \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 11       vpclmulhqhqdq %xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 11       vpclmulhqhqdq \(%rcx\),%xmm6,%xmm7
+[      ]*[a-f0-9]+:    c4 e3 49 44 39 11       vpclmulhqhqdq \(%rcx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 74 d4             vpcmpeqb %xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 74 39             vpcmpeqb \(%rcx\),%xmm6,%xmm7
 [      ]*[a-f0-9]+:    c5 c9 74 39             vpcmpeqb \(%rcx\),%xmm6,%xmm7
@@ -2594,6 +2633,9 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 49 0e d4 07       vpblendw \$0x7,%xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c4 e3 49 0e 11 07       vpblendw \$0x7,\(%rcx\),%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c4 e3 49 0e 11 07       vpblendw \$0x7,\(%rcx\),%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 d4 07       vpclmulqdq \$0x7,%xmm4,%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 11 07       vpclmulqdq \$0x7,\(%rcx\),%xmm6,%xmm2
+[      ]*[a-f0-9]+:    c4 e3 49 44 11 07       vpclmulqdq \$0x7,\(%rcx\),%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 c6 d4 07          vshufpd \$0x7,%xmm4,%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 c6 11 07          vshufpd \$0x7,\(%rcx\),%xmm6,%xmm2
 [      ]*[a-f0-9]+:    c5 c9 c6 11 07          vshufpd \$0x7,\(%rcx\),%xmm6,%xmm2
@@ -3095,6 +3137,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 04 25 78 56 34 12 07        vaeskeygenassist \$0x7,0x12345678,%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 04 25 78 56 34 12 07        vpextrb \$0x7,%xmm8,0x12345678
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 25 78 56 34 12      vcvtsi2sdl 0x12345678,%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 39 44 3c 25 78 56 34 12 07        vpclmulqdq \$0x7,0x12345678,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 25 78 56 34 12 80        vblendvps %xmm8,0x12345678,%xmm12,%xmm14
 [      ]*[a-f0-9]+:    c4 63 39 20 3c 25 78 56 34 12 07        vpinsrb \$0x7,0x12345678,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c5 7d 6f 04 25 78 56 34 12      vmovdqa 0x12345678,%ymm8
@@ -3115,6 +3158,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 45 00 07    vaeskeygenassist \$0x7,0x0\(%rbp\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 45 00 07    vpextrb \$0x7,%xmm8,0x0\(%rbp\)
 [      ]*[a-f0-9]+:    c5 3b 2a 7d 00          vcvtsi2sdl 0x0\(%rbp\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 39 44 7d 00 07    vpclmulqdq \$0x7,0x0\(%rbp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a 75 00 80    vblendvps %xmm8,0x0\(%rbp\),%xmm12,%xmm14
 [      ]*[a-f0-9]+:    c4 63 39 20 7d 00 07    vpinsrb \$0x7,0x0\(%rbp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c5 7d 6f 45 00          vmovdqa 0x0\(%rbp\),%ymm8
@@ -3135,6 +3179,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 85 99 00 00 00 07   vaeskeygenassist \$0x7,0x99\(%rbp\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 85 99 00 00 00 07   vpextrb \$0x7,%xmm8,0x99\(%rbp\)
 [      ]*[a-f0-9]+:    c5 3b 2a bd 99 00 00 00         vcvtsi2sdl 0x99\(%rbp\),%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 39 44 bd 99 00 00 00 07   vpclmulqdq \$0x7,0x99\(%rbp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a b5 99 00 00 00 80   vblendvps %xmm8,0x99\(%rbp\),%xmm12,%xmm14
 [      ]*[a-f0-9]+:    c4 63 39 20 bd 99 00 00 00 07   vpinsrb \$0x7,0x99\(%rbp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c5 7d 6f 85 99 00 00 00         vmovdqa 0x99\(%rbp\),%ymm8
@@ -3155,6 +3200,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 79 df 87 99 00 00 00 07   vaeskeygenassist \$0x7,0x99\(%r15\),%xmm8
 [      ]*[a-f0-9]+:    c4 43 79 14 87 99 00 00 00 07   vpextrb \$0x7,%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 39 44 bf 99 00 00 00 07   vpclmulqdq \$0x7,0x99\(%r15\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 43 19 4a b7 99 00 00 00 80   vblendvps %xmm8,0x99\(%r15\),%xmm12,%xmm14
 [      ]*[a-f0-9]+:    c4 43 39 20 bf 99 00 00 00 07   vpinsrb \$0x7,0x99\(%r15\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 41 7d 6f 87 99 00 00 00      vmovdqa 0x99\(%r15\),%ymm8
@@ -3164,26 +3210,27 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 7d 19 87 99 00 00 00 07   vextractf128 \$0x7,%ymm8,0x99\(%r15\)
 [      ]*[a-f0-9]+:    c4 43 3d 06 bf 99 00 00 00 07   vperm2f128 \$0x7,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\)        # 417e <_start\+0x417e>
-[      ]*[a-f0-9]+:    c5 79 6f 05 99 00 00 00         vmovdqa 0x99\(%rip\),%xmm8        # 4186 <_start\+0x4186>
-[      ]*[a-f0-9]+:    c5 79 7f 05 99 00 00 00         vmovdqa %xmm8,0x99\(%rip\)        # 418e <_start\+0x418e>
-[      ]*[a-f0-9]+:    c5 79 7e 05 99 00 00 00         vmovd  %xmm8,0x99\(%rip\)        # 4196 <_start\+0x4196>
-[      ]*[a-f0-9]+:    c5 7b 2d 05 99 00 00 00         vcvtsd2si 0x99\(%rip\),%r8d        # 419e <_start\+0x419e>
-[      ]*[a-f0-9]+:    c5 7e e6 05 99 00 00 00         vcvtdq2pd 0x99\(%rip\),%ymm8        # 41a6 <_start\+0x41a6>
-[      ]*[a-f0-9]+:    c5 7d 5a 05 99 00 00 00         vcvtpd2psy 0x99\(%rip\),%xmm8        # 41ae <_start\+0x41ae>
-[      ]*[a-f0-9]+:    c5 39 e0 3d 99 00 00 00         vpavgb 0x99\(%rip\),%xmm8,%xmm15        # 41b6 <_start\+0x41b6>
-[      ]*[a-f0-9]+:    c4 63 79 df 05 99 00 00 00 07   vaeskeygenassist \$0x7,0x99\(%rip\),%xmm8        # 41c0 <_start\+0x41c0>
-[      ]*[a-f0-9]+:    c4 63 79 14 05 99 00 00 00 07   vpextrb \$0x7,%xmm8,0x99\(%rip\)        # 41ca <_start\+0x41ca>
-[      ]*[a-f0-9]+:    c5 3b 2a 3d 99 00 00 00         vcvtsi2sdl 0x99\(%rip\),%xmm8,%xmm15        # 41d2 <_start\+0x41d2>
-[      ]*[a-f0-9]+:    c4 63 19 4a 35 99 00 00 00 80   vblendvps %xmm8,0x99\(%rip\),%xmm12,%xmm14        # 41dc <_start\+0x41dc>
-[      ]*[a-f0-9]+:    c4 63 39 20 3d 99 00 00 00 07   vpinsrb \$0x7,0x99\(%rip\),%xmm8,%xmm15        # 41e6 <_start\+0x41e6>
-[      ]*[a-f0-9]+:    c5 7d 6f 05 99 00 00 00         vmovdqa 0x99\(%rip\),%ymm8        # 41ee <_start\+0x41ee>
-[      ]*[a-f0-9]+:    c5 7d 7f 05 99 00 00 00         vmovdqa %ymm8,0x99\(%rip\)        # 41f6 <_start\+0x41f6>
-[      ]*[a-f0-9]+:    c4 62 3d 0d 3d 99 00 00 00      vpermilpd 0x99\(%rip\),%ymm8,%ymm15        # 41ff <_start\+0x41ff>
-[      ]*[a-f0-9]+:    c4 63 7d 09 05 99 00 00 00 07   vroundpd \$0x7,0x99\(%rip\),%ymm8        # 4209 <_start\+0x4209>
-[      ]*[a-f0-9]+:    c4 63 7d 19 05 99 00 00 00 07   vextractf128 \$0x7,%ymm8,0x99\(%rip\)        # 4213 <_start\+0x4213>
-[      ]*[a-f0-9]+:    c4 63 3d 06 3d 99 00 00 00 07   vperm2f128 \$0x7,0x99\(%rip\),%ymm8,%ymm15        # 421d <_start\+0x421d>
-[      ]*[a-f0-9]+:    c4 63 1d 4b 35 99 00 00 00 80   vblendvpd %ymm8,0x99\(%rip\),%ymm12,%ymm14        # 4227 <_start\+0x4227>
+[      ]*[a-f0-9]+:    c5 f8 ae 15 99 00 00 00         vldmxcsr 0x99\(%rip\)        # 42e5 <_start\+0x42e5>
+[      ]*[a-f0-9]+:    c5 79 6f 05 99 00 00 00         vmovdqa 0x99\(%rip\),%xmm8        # 42ed <_start\+0x42ed>
+[      ]*[a-f0-9]+:    c5 79 7f 05 99 00 00 00         vmovdqa %xmm8,0x99\(%rip\)        # 42f5 <_start\+0x42f5>
+[      ]*[a-f0-9]+:    c5 79 7e 05 99 00 00 00         vmovd  %xmm8,0x99\(%rip\)        # 42fd <_start\+0x42fd>
+[      ]*[a-f0-9]+:    c5 7b 2d 05 99 00 00 00         vcvtsd2si 0x99\(%rip\),%r8d        # 4305 <_start\+0x4305>
+[      ]*[a-f0-9]+:    c5 7e e6 05 99 00 00 00         vcvtdq2pd 0x99\(%rip\),%ymm8        # 430d <_start\+0x430d>
+[      ]*[a-f0-9]+:    c5 7d 5a 05 99 00 00 00         vcvtpd2psy 0x99\(%rip\),%xmm8        # 4315 <_start\+0x4315>
+[      ]*[a-f0-9]+:    c5 39 e0 3d 99 00 00 00         vpavgb 0x99\(%rip\),%xmm8,%xmm15        # 431d <_start\+0x431d>
+[      ]*[a-f0-9]+:    c4 63 79 df 05 99 00 00 00 07   vaeskeygenassist \$0x7,0x99\(%rip\),%xmm8        # 4327 <_start\+0x4327>
+[      ]*[a-f0-9]+:    c4 63 79 14 05 99 00 00 00 07   vpextrb \$0x7,%xmm8,0x99\(%rip\)        # 4331 <_start\+0x4331>
+[      ]*[a-f0-9]+:    c5 3b 2a 3d 99 00 00 00         vcvtsi2sdl 0x99\(%rip\),%xmm8,%xmm15        # 4339 <_start\+0x4339>
+[      ]*[a-f0-9]+:    c4 63 39 44 3d 99 00 00 00 07   vpclmulqdq \$0x7,0x99\(%rip\),%xmm8,%xmm15        # 4343 <_start\+0x4343>
+[      ]*[a-f0-9]+:    c4 63 19 4a 35 99 00 00 00 80   vblendvps %xmm8,0x99\(%rip\),%xmm12,%xmm14        # 434d <_start\+0x434d>
+[      ]*[a-f0-9]+:    c4 63 39 20 3d 99 00 00 00 07   vpinsrb \$0x7,0x99\(%rip\),%xmm8,%xmm15        # 4357 <_start\+0x4357>
+[      ]*[a-f0-9]+:    c5 7d 6f 05 99 00 00 00         vmovdqa 0x99\(%rip\),%ymm8        # 435f <_start\+0x435f>
+[      ]*[a-f0-9]+:    c5 7d 7f 05 99 00 00 00         vmovdqa %ymm8,0x99\(%rip\)        # 4367 <_start\+0x4367>
+[      ]*[a-f0-9]+:    c4 62 3d 0d 3d 99 00 00 00      vpermilpd 0x99\(%rip\),%ymm8,%ymm15        # 4370 <_start\+0x4370>
+[      ]*[a-f0-9]+:    c4 63 7d 09 05 99 00 00 00 07   vroundpd \$0x7,0x99\(%rip\),%ymm8        # 437a <_start\+0x437a>
+[      ]*[a-f0-9]+:    c4 63 7d 19 05 99 00 00 00 07   vextractf128 \$0x7,%ymm8,0x99\(%rip\)        # 4384 <_start\+0x4384>
+[      ]*[a-f0-9]+:    c4 63 3d 06 3d 99 00 00 00 07   vperm2f128 \$0x7,0x99\(%rip\),%ymm8,%ymm15        # 438e <_start\+0x438e>
+[      ]*[a-f0-9]+:    c4 63 1d 4b 35 99 00 00 00 80   vblendvpd %ymm8,0x99\(%rip\),%ymm12,%ymm14        # 4398 <_start\+0x4398>
 [      ]*[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\)
@@ -3195,6 +3242,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 84 24 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(%rsp\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 84 24 99 00 00 00 07        vpextrb \$0x7,%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 39 44 bc 24 99 00 00 00 07        vpclmulqdq \$0x7,0x99\(%rsp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a b4 24 99 00 00 00 80        vblendvps %xmm8,0x99\(%rsp\),%xmm12,%xmm14
 [      ]*[a-f0-9]+:    c4 63 39 20 bc 24 99 00 00 00 07        vpinsrb \$0x7,0x99\(%rsp\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c5 7d 6f 84 24 99 00 00 00      vmovdqa 0x99\(%rsp\),%ymm8
@@ -3215,6 +3263,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 79 df 84 24 99 00 00 00 07        vaeskeygenassist \$0x7,0x99\(%r12\),%xmm8
 [      ]*[a-f0-9]+:    c4 43 79 14 84 24 99 00 00 00 07        vpextrb \$0x7,%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 39 44 bc 24 99 00 00 00 07        vpclmulqdq \$0x7,0x99\(%r12\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 43 19 4a b4 24 99 00 00 00 80        vblendvps %xmm8,0x99\(%r12\),%xmm12,%xmm14
 [      ]*[a-f0-9]+:    c4 43 39 20 bc 24 99 00 00 00 07        vpinsrb \$0x7,0x99\(%r12\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 41 7d 6f 84 24 99 00 00 00   vmovdqa 0x99\(%r12\),%ymm8
@@ -3235,6 +3284,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 04 25 67 ff ff ff 07        vaeskeygenassist \$0x7,0xffffffffffffff67,%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 04 25 67 ff ff ff 07        vpextrb \$0x7,%xmm8,0xffffffffffffff67
 [      ]*[a-f0-9]+:    c5 3b 2a 3c 25 67 ff ff ff      vcvtsi2sdl 0xffffffffffffff67,%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 63 39 44 3c 25 67 ff ff ff 07        vpclmulqdq \$0x7,0xffffffffffffff67,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 63 19 4a 34 25 67 ff ff ff 80        vblendvps %xmm8,0xffffffffffffff67,%xmm12,%xmm14
 [      ]*[a-f0-9]+:    c4 63 39 20 3c 25 67 ff ff ff 07        vpinsrb \$0x7,0xffffffffffffff67,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c5 7d 6f 04 25 67 ff ff ff      vmovdqa 0xffffffffffffff67,%ymm8
@@ -3255,6 +3305,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 04 65 67 ff ff ff 07        vaeskeygenassist \$0x7,-0x99\(,%riz,2\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 04 65 67 ff ff ff 07        vpextrb \$0x7,%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 39 44 3c 65 67 ff ff ff 07        vpclmulqdq \$0x7,-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
 [      ]*[a-f0-9]+:    c4 63 39 20 3c 65 67 ff ff ff 07        vpinsrb \$0x7,-0x99\(,%riz,2\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c5 7d 6f 04 65 67 ff ff ff      vmovdqa -0x99\(,%riz,2\),%ymm8
@@ -3275,6 +3326,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 84 23 67 ff ff ff 07        vaeskeygenassist \$0x7,-0x99\(%rbx,%riz,1\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 84 23 67 ff ff ff 07        vpextrb \$0x7,%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 39 44 bc 23 67 ff ff ff 07        vpclmulqdq \$0x7,-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
 [      ]*[a-f0-9]+:    c4 63 39 20 bc 23 67 ff ff ff 07        vpinsrb \$0x7,-0x99\(%rbx,%riz,1\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c5 7d 6f 84 23 67 ff ff ff      vmovdqa -0x99\(%rbx,%riz,1\),%ymm8
@@ -3295,6 +3347,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 63 79 df 84 63 67 ff ff ff 07        vaeskeygenassist \$0x7,-0x99\(%rbx,%riz,2\),%xmm8
 [      ]*[a-f0-9]+:    c4 63 79 14 84 63 67 ff ff ff 07        vpextrb \$0x7,%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 39 44 bc 63 67 ff ff ff 07        vpclmulqdq \$0x7,-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
 [      ]*[a-f0-9]+:    c4 63 39 20 bc 63 67 ff ff ff 07        vpinsrb \$0x7,-0x99\(%rbx,%riz,2\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c5 7d 6f 84 63 67 ff ff ff      vmovdqa -0x99\(%rbx,%riz,2\),%ymm8
@@ -3315,6 +3368,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 03 79 df 84 bc 67 ff ff ff 07        vaeskeygenassist \$0x7,-0x99\(%r12,%r15,4\),%xmm8
 [      ]*[a-f0-9]+:    c4 03 79 14 84 bc 67 ff ff ff 07        vpextrb \$0x7,%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 39 44 bc bc 67 ff ff ff 07        vpclmulqdq \$0x7,-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
 [      ]*[a-f0-9]+:    c4 03 39 20 bc bc 67 ff ff ff 07        vpinsrb \$0x7,-0x99\(%r12,%r15,4\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 01 7d 6f 84 bc 67 ff ff ff   vmovdqa -0x99\(%r12,%r15,4\),%ymm8
@@ -3335,6 +3389,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 03 79 df 84 f8 67 ff ff ff 07        vaeskeygenassist \$0x7,-0x99\(%r8,%r15,8\),%xmm8
 [      ]*[a-f0-9]+:    c4 03 79 14 84 f8 67 ff ff ff 07        vpextrb \$0x7,%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 39 44 bc f8 67 ff ff ff 07        vpclmulqdq \$0x7,-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
 [      ]*[a-f0-9]+:    c4 03 39 20 bc f8 67 ff ff ff 07        vpinsrb \$0x7,-0x99\(%r8,%r15,8\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 01 7d 6f 84 f8 67 ff ff ff   vmovdqa -0x99\(%r8,%r15,8\),%ymm8
@@ -3355,6 +3410,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 23 79 df 84 a5 67 ff ff ff 07        vaeskeygenassist \$0x7,-0x99\(%rbp,%r12,4\),%xmm8
 [      ]*[a-f0-9]+:    c4 23 79 14 84 a5 67 ff ff ff 07        vpextrb \$0x7,%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 39 44 bc a5 67 ff ff ff 07        vpclmulqdq \$0x7,-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
 [      ]*[a-f0-9]+:    c4 23 39 20 bc a5 67 ff ff ff 07        vpinsrb \$0x7,-0x99\(%rbp,%r12,4\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 21 7d 6f 84 a5 67 ff ff ff   vmovdqa -0x99\(%rbp,%r12,4\),%ymm8
@@ -3375,6 +3431,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 23 79 df 84 2c 67 ff ff ff 07        vaeskeygenassist \$0x7,-0x99\(%rsp,%r13,1\),%xmm8
 [      ]*[a-f0-9]+:    c4 23 79 14 84 2c 67 ff ff ff 07        vpextrb \$0x7,%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 39 44 bc 2c 67 ff ff ff 07        vpclmulqdq \$0x7,-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
 [      ]*[a-f0-9]+:    c4 23 39 20 bc 2c 67 ff ff ff 07        vpinsrb \$0x7,-0x99\(%rsp,%r13,1\),%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 21 7d 6f 84 2c 67 ff ff ff   vmovdqa -0x99\(%rsp,%r13,1\),%ymm8
@@ -3395,6 +3452,7 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 43 79 df f8 07       vaeskeygenassist \$0x7,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 43 79 14 c0 07       vpextrb \$0x7,%xmm8,%r8d
 [      ]*[a-f0-9]+:    c4 41 3b 2a f8          vcvtsi2sd %r8d,%xmm8,%xmm15
+[      ]*[a-f0-9]+:    c4 43 01 44 e0 07       vpclmulqdq \$0x7,%xmm8,%xmm15,%xmm12
 [      ]*[a-f0-9]+:    c4 43 19 4a f0 80       vblendvps %xmm8,%xmm8,%xmm12,%xmm14
 [      ]*[a-f0-9]+:    c4 43 39 20 f8 07       vpinsrb \$0x7,%r8d,%xmm8,%xmm15
 [      ]*[a-f0-9]+:    c4 41 7d 6f f8          vmovdqa %ymm8,%ymm15
index 8930ca1e96f89f08bb347c7fa720ebf6437f449d..4668a15349fd955f7f0e31bc42492fb5f552da3f 100644 (file)
@@ -473,6 +473,14 @@ _start:
        vpavgb (%rcx),%xmm6,%xmm7
        vpavgw %xmm4,%xmm6,%xmm2
        vpavgw (%rcx),%xmm6,%xmm7
+       vpclmullqlqdq %xmm4,%xmm6,%xmm2
+       vpclmullqlqdq (%rcx),%xmm6,%xmm7
+       vpclmulhqlqdq %xmm4,%xmm6,%xmm2
+       vpclmulhqlqdq (%rcx),%xmm6,%xmm7
+       vpclmullqhqdq %xmm4,%xmm6,%xmm2
+       vpclmullqhqdq (%rcx),%xmm6,%xmm7
+       vpclmulhqhqdq %xmm4,%xmm6,%xmm2
+       vpclmulhqhqdq (%rcx),%xmm6,%xmm7
        vpcmpeqb %xmm4,%xmm6,%xmm2
        vpcmpeqb (%rcx),%xmm6,%xmm7
        vpcmpeqw %xmm4,%xmm6,%xmm2
@@ -815,6 +823,8 @@ _start:
        vpalignr $7,(%rcx),%xmm6,%xmm2
        vpblendw $7,%xmm4,%xmm6,%xmm2
        vpblendw $7,(%rcx),%xmm6,%xmm2
+       vpclmulqdq $7,%xmm4,%xmm6,%xmm2
+       vpclmulqdq $7,(%rcx),%xmm6,%xmm2
        vshufpd $7,%xmm4,%xmm6,%xmm2
        vshufpd $7,(%rcx),%xmm6,%xmm2
        vshufps $7,%xmm4,%xmm6,%xmm2
@@ -1255,6 +1265,7 @@ _start:
        vaeskeygenassist $7,0x12345678,%xmm8
        vpextrb $7,%xmm8,0x12345678
        vcvtsi2sdl 0x12345678,%xmm8,%xmm15
+       vpclmulqdq $7,0x12345678,%xmm8,%xmm15
        vblendvps %xmm8,0x12345678,%xmm12,%xmm14
        vpinsrb $7,0x12345678,%xmm8,%xmm15
        vmovdqa 0x12345678,%ymm8
@@ -1275,6 +1286,7 @@ _start:
        vaeskeygenassist $7,(%rbp),%xmm8
        vpextrb $7,%xmm8,(%rbp)
        vcvtsi2sdl (%rbp),%xmm8,%xmm15
+       vpclmulqdq $7,(%rbp),%xmm8,%xmm15
        vblendvps %xmm8,(%rbp),%xmm12,%xmm14
        vpinsrb $7,(%rbp),%xmm8,%xmm15
        vmovdqa (%rbp),%ymm8
@@ -1295,6 +1307,7 @@ _start:
        vaeskeygenassist $7,(%rsp),%xmm8
        vpextrb $7,%xmm8,(%rsp)
        vcvtsi2sdl (%rsp),%xmm8,%xmm15
+       vpclmulqdq $7,(%rsp),%xmm8,%xmm15
        vblendvps %xmm8,(%rsp),%xmm12,%xmm14
        vpinsrb $7,(%rsp),%xmm8,%xmm15
        vmovdqa (%rsp),%ymm8
@@ -1315,6 +1328,7 @@ _start:
        vaeskeygenassist $7,0x99(%rbp),%xmm8
        vpextrb $7,%xmm8,0x99(%rbp)
        vcvtsi2sdl 0x99(%rbp),%xmm8,%xmm15
+       vpclmulqdq $7,0x99(%rbp),%xmm8,%xmm15
        vblendvps %xmm8,0x99(%rbp),%xmm12,%xmm14
        vpinsrb $7,0x99(%rbp),%xmm8,%xmm15
        vmovdqa 0x99(%rbp),%ymm8
@@ -1335,6 +1349,7 @@ _start:
        vaeskeygenassist $7,0x99(%r15),%xmm8
        vpextrb $7,%xmm8,0x99(%r15)
        vcvtsi2sdl 0x99(%r15),%xmm8,%xmm15
+       vpclmulqdq $7,0x99(%r15),%xmm8,%xmm15
        vblendvps %xmm8,0x99(%r15),%xmm12,%xmm14
        vpinsrb $7,0x99(%r15),%xmm8,%xmm15
        vmovdqa 0x99(%r15),%ymm8
@@ -1355,6 +1370,7 @@ _start:
        vaeskeygenassist $7,0x99(%rip),%xmm8
        vpextrb $7,%xmm8,0x99(%rip)
        vcvtsi2sdl 0x99(%rip),%xmm8,%xmm15
+       vpclmulqdq $7,0x99(%rip),%xmm8,%xmm15
        vblendvps %xmm8,0x99(%rip),%xmm12,%xmm14
        vpinsrb $7,0x99(%rip),%xmm8,%xmm15
        vmovdqa 0x99(%rip),%ymm8
@@ -1375,6 +1391,7 @@ _start:
        vaeskeygenassist $7,0x99(%rsp),%xmm8
        vpextrb $7,%xmm8,0x99(%rsp)
        vcvtsi2sdl 0x99(%rsp),%xmm8,%xmm15
+       vpclmulqdq $7,0x99(%rsp),%xmm8,%xmm15
        vblendvps %xmm8,0x99(%rsp),%xmm12,%xmm14
        vpinsrb $7,0x99(%rsp),%xmm8,%xmm15
        vmovdqa 0x99(%rsp),%ymm8
@@ -1395,6 +1412,7 @@ _start:
        vaeskeygenassist $7,0x99(%r12),%xmm8
        vpextrb $7,%xmm8,0x99(%r12)
        vcvtsi2sdl 0x99(%r12),%xmm8,%xmm15
+       vpclmulqdq $7,0x99(%r12),%xmm8,%xmm15
        vblendvps %xmm8,0x99(%r12),%xmm12,%xmm14
        vpinsrb $7,0x99(%r12),%xmm8,%xmm15
        vmovdqa 0x99(%r12),%ymm8
@@ -1415,6 +1433,7 @@ _start:
        vaeskeygenassist $7,-0x99(,%riz),%xmm8
        vpextrb $7,%xmm8,-0x99(,%riz)
        vcvtsi2sdl -0x99(,%riz),%xmm8,%xmm15
+       vpclmulqdq $7,-0x99(,%riz),%xmm8,%xmm15
        vblendvps %xmm8,-0x99(,%riz),%xmm12,%xmm14
        vpinsrb $7,-0x99(,%riz),%xmm8,%xmm15
        vmovdqa -0x99(,%riz),%ymm8
@@ -1435,6 +1454,7 @@ _start:
        vaeskeygenassist $7,-0x99(,%riz,2),%xmm8
        vpextrb $7,%xmm8,-0x99(,%riz,2)
        vcvtsi2sdl -0x99(,%riz,2),%xmm8,%xmm15
+       vpclmulqdq $7,-0x99(,%riz,2),%xmm8,%xmm15
        vblendvps %xmm8,-0x99(,%riz,2),%xmm12,%xmm14
        vpinsrb $7,-0x99(,%riz,2),%xmm8,%xmm15
        vmovdqa -0x99(,%riz,2),%ymm8
@@ -1455,6 +1475,7 @@ _start:
        vaeskeygenassist $7,-0x99(%rbx,%riz),%xmm8
        vpextrb $7,%xmm8,-0x99(%rbx,%riz)
        vcvtsi2sdl -0x99(%rbx,%riz),%xmm8,%xmm15
+       vpclmulqdq $7,-0x99(%rbx,%riz),%xmm8,%xmm15
        vblendvps %xmm8,-0x99(%rbx,%riz),%xmm12,%xmm14
        vpinsrb $7,-0x99(%rbx,%riz),%xmm8,%xmm15
        vmovdqa -0x99(%rbx,%riz),%ymm8
@@ -1475,6 +1496,7 @@ _start:
        vaeskeygenassist $7,-0x99(%rbx,%riz,2),%xmm8
        vpextrb $7,%xmm8,-0x99(%rbx,%riz,2)
        vcvtsi2sdl -0x99(%rbx,%riz,2),%xmm8,%xmm15
+       vpclmulqdq $7,-0x99(%rbx,%riz,2),%xmm8,%xmm15
        vblendvps %xmm8,-0x99(%rbx,%riz,2),%xmm12,%xmm14
        vpinsrb $7,-0x99(%rbx,%riz,2),%xmm8,%xmm15
        vmovdqa -0x99(%rbx,%riz,2),%ymm8
@@ -1495,6 +1517,7 @@ _start:
        vaeskeygenassist $7,-0x99(%r12,%r15,4),%xmm8
        vpextrb $7,%xmm8,-0x99(%r12,%r15,4)
        vcvtsi2sdl -0x99(%r12,%r15,4),%xmm8,%xmm15
+       vpclmulqdq $7,-0x99(%r12,%r15,4),%xmm8,%xmm15
        vblendvps %xmm8,-0x99(%r12,%r15,4),%xmm12,%xmm14
        vpinsrb $7,-0x99(%r12,%r15,4),%xmm8,%xmm15
        vmovdqa -0x99(%r12,%r15,4),%ymm8
@@ -1515,6 +1538,7 @@ _start:
        vaeskeygenassist $7,-0x99(%r8,%r15,8),%xmm8
        vpextrb $7,%xmm8,-0x99(%r8,%r15,8)
        vcvtsi2sdl -0x99(%r8,%r15,8),%xmm8,%xmm15
+       vpclmulqdq $7,-0x99(%r8,%r15,8),%xmm8,%xmm15
        vblendvps %xmm8,-0x99(%r8,%r15,8),%xmm12,%xmm14
        vpinsrb $7,-0x99(%r8,%r15,8),%xmm8,%xmm15
        vmovdqa -0x99(%r8,%r15,8),%ymm8
@@ -1535,6 +1559,7 @@ _start:
        vaeskeygenassist $7,-0x99(%rbp,%r13,4),%xmm8
        vpextrb $7,%xmm8,-0x99(%rbp,%r13,4)
        vcvtsi2sdl -0x99(%rbp,%r13,4),%xmm8,%xmm15
+       vpclmulqdq $7,-0x99(%rbp,%r13,4),%xmm8,%xmm15
        vblendvps %xmm8,-0x99(%rbp,%r13,4),%xmm12,%xmm14
        vpinsrb $7,-0x99(%rbp,%r13,4),%xmm8,%xmm15
        vmovdqa -0x99(%rbp,%r13,4),%ymm8
@@ -1555,6 +1580,7 @@ _start:
        vaeskeygenassist $7,-0x99(%rsp,%r12,1),%xmm8
        vpextrb $7,%xmm8,-0x99(%rsp,%r12,1)
        vcvtsi2sdl -0x99(%rsp,%r12,1),%xmm8,%xmm15
+       vpclmulqdq $7,-0x99(%rsp,%r12,1),%xmm8,%xmm15
        vblendvps %xmm8,-0x99(%rsp,%r12,1),%xmm12,%xmm14
        vpinsrb $7,-0x99(%rsp,%r12,1),%xmm8,%xmm15
        vmovdqa -0x99(%rsp,%r12,1),%ymm8
@@ -1576,6 +1602,7 @@ _start:
        vaeskeygenassist $7,%xmm8,%xmm15
        vpextrb $7,%xmm8,%r8d
        vcvtsi2sdl %r8d,%xmm8,%xmm15
+       vpclmulqdq $7,%xmm8,%xmm15,%xmm12
        vblendvps %xmm8,%xmm8,%xmm12,%xmm14
        vpinsrb $7,%r8d,%xmm8,%xmm15
        vmovdqa %ymm8,%ymm15
@@ -2275,6 +2302,18 @@ _start:
        vpavgw xmm2,xmm6,xmm4
        vpavgw xmm7,xmm6,XMMWORD PTR [rcx]
        vpavgw xmm7,xmm6,[rcx]
+       vpclmullqlqdq xmm2,xmm6,xmm4
+       vpclmullqlqdq xmm7,xmm6,XMMWORD PTR [rcx]
+       vpclmullqlqdq xmm7,xmm6,[rcx]
+       vpclmulhqlqdq xmm2,xmm6,xmm4
+       vpclmulhqlqdq xmm7,xmm6,XMMWORD PTR [rcx]
+       vpclmulhqlqdq xmm7,xmm6,[rcx]
+       vpclmullqhqdq xmm2,xmm6,xmm4
+       vpclmullqhqdq xmm7,xmm6,XMMWORD PTR [rcx]
+       vpclmullqhqdq xmm7,xmm6,[rcx]
+       vpclmulhqhqdq xmm2,xmm6,xmm4
+       vpclmulhqhqdq xmm7,xmm6,XMMWORD PTR [rcx]
+       vpclmulhqhqdq xmm7,xmm6,[rcx]
        vpcmpeqb xmm2,xmm6,xmm4
        vpcmpeqb xmm7,xmm6,XMMWORD PTR [rcx]
        vpcmpeqb xmm7,xmm6,[rcx]
@@ -2786,6 +2825,9 @@ _start:
        vpblendw xmm2,xmm6,xmm4,7
        vpblendw xmm2,xmm6,XMMWORD PTR [rcx],7
        vpblendw xmm2,xmm6,[rcx],7
+       vpclmulqdq xmm2,xmm6,xmm4,7
+       vpclmulqdq xmm2,xmm6,XMMWORD PTR [rcx],7
+       vpclmulqdq xmm2,xmm6,[rcx],7
        vshufpd xmm2,xmm6,xmm4,7
        vshufpd xmm2,xmm6,XMMWORD PTR [rcx],7
        vshufpd xmm2,xmm6,[rcx],7
@@ -3383,6 +3425,7 @@ _start:
        vaeskeygenassist xmm8,XMMWORD PTR ds:0x12345678,7
        vpextrb ds:0x12345678,xmm8,7
        vcvtsi2sd xmm15,xmm8,DWORD PTR ds:0x12345678
+       vpclmulqdq xmm15,xmm8,XMMWORD PTR ds:0x12345678,7
        vblendvps xmm14,xmm12,XMMWORD PTR ds:0x12345678,xmm8
        vpinsrb xmm15,xmm8,ds:0x12345678,7
        vmovdqa ymm8,YMMWORD PTR ds:0x12345678
@@ -3403,6 +3446,7 @@ _start:
        vaeskeygenassist xmm8,XMMWORD PTR [rbp],7
        vpextrb [rbp],xmm8,7
        vcvtsi2sd xmm15,xmm8,DWORD PTR [rbp]
+       vpclmulqdq xmm15,xmm8,XMMWORD PTR [rbp],7
        vblendvps xmm14,xmm12,XMMWORD PTR [rbp],xmm8
        vpinsrb xmm15,xmm8,[rbp],7
        vmovdqa ymm8,YMMWORD PTR [rbp]
@@ -3423,6 +3467,7 @@ _start:
        vaeskeygenassist xmm8,XMMWORD PTR [rbp+0x99],7
        vpextrb [rbp+0x99],xmm8,7
        vcvtsi2sd xmm15,xmm8,DWORD PTR [rbp+0x99]
+       vpclmulqdq xmm15,xmm8,XMMWORD PTR [rbp+0x99],7
        vblendvps xmm14,xmm12,XMMWORD PTR [rbp+0x99],xmm8
        vpinsrb xmm15,xmm8,[rbp+0x99],7
        vmovdqa ymm8,YMMWORD PTR [rbp+0x99]
@@ -3443,6 +3488,7 @@ _start:
        vaeskeygenassist xmm8,XMMWORD PTR [r15+0x99],7
        vpextrb [r15+0x99],xmm8,7
        vcvtsi2sd xmm15,xmm8,DWORD PTR [r15+0x99]
+       vpclmulqdq xmm15,xmm8,XMMWORD PTR [r15+0x99],7
        vblendvps xmm14,xmm12,XMMWORD PTR [r15+0x99],xmm8
        vpinsrb xmm15,xmm8,[r15+0x99],7
        vmovdqa ymm8,YMMWORD PTR [r15+0x99]
@@ -3463,6 +3509,7 @@ _start:
        vaeskeygenassist xmm8,XMMWORD PTR [rip+0x99],7
        vpextrb [rip+0x99],xmm8,7
        vcvtsi2sd xmm15,xmm8,DWORD PTR [rip+0x99]
+       vpclmulqdq xmm15,xmm8,XMMWORD PTR [rip+0x99],7
        vblendvps xmm14,xmm12,XMMWORD PTR [rip+0x99],xmm8
        vpinsrb xmm15,xmm8,[rip+0x99],7
        vmovdqa ymm8,YMMWORD PTR [rip+0x99]
@@ -3483,6 +3530,7 @@ _start:
        vaeskeygenassist xmm8,XMMWORD PTR [rsp+0x99],7
        vpextrb [rsp+0x99],xmm8,7
        vcvtsi2sd xmm15,xmm8,DWORD PTR [rsp+0x99]
+       vpclmulqdq xmm15,xmm8,XMMWORD PTR [rsp+0x99],7
        vblendvps xmm14,xmm12,XMMWORD PTR [rsp+0x99],xmm8
        vpinsrb xmm15,xmm8,[rsp+0x99],7
        vmovdqa ymm8,YMMWORD PTR [rsp+0x99]
@@ -3503,6 +3551,7 @@ _start:
        vaeskeygenassist xmm8,XMMWORD PTR [r12+0x99],7
        vpextrb [r12+0x99],xmm8,7
        vcvtsi2sd xmm15,xmm8,DWORD PTR [r12+0x99]
+       vpclmulqdq xmm15,xmm8,XMMWORD PTR [r12+0x99],7
        vblendvps xmm14,xmm12,XMMWORD PTR [r12+0x99],xmm8
        vpinsrb xmm15,xmm8,[r12+0x99],7
        vmovdqa ymm8,YMMWORD PTR [r12+0x99]
@@ -3523,6 +3572,7 @@ _start:
        vaeskeygenassist xmm8,XMMWORD PTR [riz*1-0x99],7
        vpextrb [riz*1-0x99],xmm8,7
        vcvtsi2sd xmm15,xmm8,DWORD PTR [riz*1-0x99]
+       vpclmulqdq xmm15,xmm8,XMMWORD PTR [riz*1-0x99],7
        vblendvps xmm14,xmm12,XMMWORD PTR [riz*1-0x99],xmm8
        vpinsrb xmm15,xmm8,[riz*1-0x99],7
        vmovdqa ymm8,YMMWORD PTR [riz*1-0x99]
@@ -3543,6 +3593,7 @@ _start:
        vaeskeygenassist xmm8,XMMWORD PTR [riz*2-0x99],7
        vpextrb [riz*2-0x99],xmm8,7
        vcvtsi2sd xmm15,xmm8,DWORD PTR [riz*2-0x99]
+       vpclmulqdq xmm15,xmm8,XMMWORD PTR [riz*2-0x99],7
        vblendvps xmm14,xmm12,XMMWORD PTR [riz*2-0x99],xmm8
        vpinsrb xmm15,xmm8,[riz*2-0x99],7
        vmovdqa ymm8,YMMWORD PTR [riz*2-0x99]
@@ -3563,6 +3614,7 @@ _start:
        vaeskeygenassist xmm8,XMMWORD PTR [rbx+riz*1-0x99],7
        vpextrb [rbx+riz*1-0x99],xmm8,7
        vcvtsi2sd xmm15,xmm8,DWORD PTR [rbx+riz*1-0x99]
+       vpclmulqdq xmm15,xmm8,XMMWORD PTR [rbx+riz*1-0x99],7
        vblendvps xmm14,xmm12,XMMWORD PTR [rbx+riz*1-0x99],xmm8
        vpinsrb xmm15,xmm8,[rbx+riz*1-0x99],7
        vmovdqa ymm8,YMMWORD PTR [rbx+riz*1-0x99]
@@ -3583,6 +3635,7 @@ _start:
        vaeskeygenassist xmm8,XMMWORD PTR [rbx+riz*2-0x99],7
        vpextrb [rbx+riz*2-0x99],xmm8,7
        vcvtsi2sd xmm15,xmm8,DWORD PTR [rbx+riz*2-0x99]
+       vpclmulqdq xmm15,xmm8,XMMWORD PTR [rbx+riz*2-0x99],7
        vblendvps xmm14,xmm12,XMMWORD PTR [rbx+riz*2-0x99],xmm8
        vpinsrb xmm15,xmm8,[rbx+riz*2-0x99],7
        vmovdqa ymm8,YMMWORD PTR [rbx+riz*2-0x99]
@@ -3603,6 +3656,7 @@ _start:
        vaeskeygenassist xmm8,XMMWORD PTR [r12+r15*4-0x99],7
        vpextrb [r12+r15*4-0x99],xmm8,7
        vcvtsi2sd xmm15,xmm8,DWORD PTR [r12+r15*4-0x99]
+       vpclmulqdq xmm15,xmm8,XMMWORD PTR [r12+r15*4-0x99],7
        vblendvps xmm14,xmm12,XMMWORD PTR [r12+r15*4-0x99],xmm8
        vpinsrb xmm15,xmm8,[r12+r15*4-0x99],7
        vmovdqa ymm8,YMMWORD PTR [r12+r15*4-0x99]
@@ -3623,6 +3677,7 @@ _start:
        vaeskeygenassist xmm8,XMMWORD PTR [r8+r15*8-0x99],7
        vpextrb [r8+r15*8-0x99],xmm8,7
        vcvtsi2sd xmm15,xmm8,DWORD PTR [r8+r15*8-0x99]
+       vpclmulqdq xmm15,xmm8,XMMWORD PTR [r8+r15*8-0x99],7
        vblendvps xmm14,xmm12,XMMWORD PTR [r8+r15*8-0x99],xmm8
        vpinsrb xmm15,xmm8,[r8+r15*8-0x99],7
        vmovdqa ymm8,YMMWORD PTR [r8+r15*8-0x99]
@@ -3643,6 +3698,7 @@ _start:
        vaeskeygenassist xmm8,XMMWORD PTR [rbp+r12*4-0x99],7
        vpextrb [rbp+r12*4-0x99],xmm8,7
        vcvtsi2sd xmm15,xmm8,DWORD PTR [rbp+r12*4-0x99]
+       vpclmulqdq xmm15,xmm8,XMMWORD PTR [rbp+r12*4-0x99],7
        vblendvps xmm14,xmm12,XMMWORD PTR [rbp+r12*4-0x99],xmm8
        vpinsrb xmm15,xmm8,[rbp+r12*4-0x99],7
        vmovdqa ymm8,YMMWORD PTR [rbp+r12*4-0x99]
@@ -3663,6 +3719,7 @@ _start:
        vaeskeygenassist xmm8,XMMWORD PTR [rsp+r13*1-0x99],7
        vpextrb [rsp+r13*1-0x99],xmm8,7
        vcvtsi2sd xmm15,xmm8,DWORD PTR [rsp+r13*1-0x99]
+       vpclmulqdq xmm15,xmm8,XMMWORD PTR [rsp+r13*1-0x99],7
        vblendvps xmm14,xmm12,XMMWORD PTR [rsp+r13*1-0x99],xmm8
        vpinsrb xmm15,xmm8,[rsp+r13*1-0x99],7
        vmovdqa ymm8,YMMWORD PTR [rsp+r13*1-0x99]
@@ -3684,6 +3741,7 @@ _start:
        vaeskeygenassist xmm15,xmm8,7
        vpextrb r8d,xmm8,7
        vcvtsi2sd xmm15,xmm8,r8d
+       vpclmulqdq xmm12,xmm15,xmm8,7
        vblendvps xmm14,xmm12,xmm8,xmm8
        vpinsrb xmm15,xmm8,r8d,7
        vmovdqa ymm15,ymm8
index 277d60e08e4a43acdda8332a7f13dd0a1c8bd96b..e8b47670ca4570acbdb047ad904b0bd6c30c01ec 100644 (file)
@@ -150,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]+:    c4 e3 49 44 f4 00       vpclmullqlqdq %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 00       vpclmullqlqdq \(%rcx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 f4 01       vpclmulhqlqdq %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 01       vpclmulhqlqdq \(%rcx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 f4 10       vpclmullqhqdq %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 10       vpclmullqhqdq \(%rcx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 f4 11       vpclmulhqhqdq %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 11       vpclmulhqhqdq \(%rcx\),%xmm6,%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
@@ -376,6 +384,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 49 0f 31 64       vpalignr \$0x64,\(%rcx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 49 0e f4 64       vpblendw \$0x64,%xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 49 0e 31 64       vpblendw \$0x64,\(%rcx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 f4 64       vpclmulqdq \$0x64,%xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 64       vpclmulqdq \$0x64,\(%rcx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 c6 f4 64          vshufpd \$0x64,%xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 c6 31 64          vshufpd \$0x64,\(%rcx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c8 c6 f4 64          vshufps \$0x64,%xmm4,%xmm6,%xmm6
@@ -747,6 +757,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]+:    c4 e3 49 44 f4 00       vpclmullqlqdq %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 00       vpclmullqlqdq \(%rcx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 f4 01       vpclmulhqlqdq %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 01       vpclmulhqlqdq \(%rcx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 f4 10       vpclmullqhqdq %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 10       vpclmullqhqdq \(%rcx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 f4 11       vpclmulhqhqdq %xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 11       vpclmulhqhqdq \(%rcx\),%xmm6,%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
@@ -973,6 +991,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    c4 e3 49 0f 31 64       vpalignr \$0x64,\(%rcx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 49 0e f4 64       vpblendw \$0x64,%xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c4 e3 49 0e 31 64       vpblendw \$0x64,\(%rcx\),%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 f4 64       vpclmulqdq \$0x64,%xmm4,%xmm6,%xmm6
+[      ]*[a-f0-9]+:    c4 e3 49 44 31 64       vpclmulqdq \$0x64,\(%rcx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 c6 f4 64          vshufpd \$0x64,%xmm4,%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c9 c6 31 64          vshufpd \$0x64,\(%rcx\),%xmm6,%xmm6
 [      ]*[a-f0-9]+:    c5 c8 c6 f4 64          vshufps \$0x64,%xmm4,%xmm6,%xmm6
index 9552f9eee3817a4304dc5d4a352bf479cb6f0cd5..711cd6cadc8fd5632bd35fe627046a8871d4dd64 100644 (file)
@@ -157,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
@@ -387,6 +395,8 @@ _start:
        palignr $100,(%rcx),%xmm6
        pblendw $100,%xmm4,%xmm6
        pblendw $100,(%rcx),%xmm6
+       pclmulqdq $100,%xmm4,%xmm6
+       pclmulqdq $100,(%rcx),%xmm6
        shufpd $100,%xmm4,%xmm6
        shufpd $100,(%rcx),%xmm6
        shufps $100,%xmm4,%xmm6
@@ -851,6 +861,14 @@ _start:
        pavgb xmm6,XMMWORD PTR [rcx]
        pavgw xmm6,xmm4
        pavgw xmm6,XMMWORD PTR [rcx]
+       pclmullqlqdq xmm6,xmm4
+       pclmullqlqdq xmm6,XMMWORD PTR [rcx]
+       pclmulhqlqdq xmm6,xmm4
+       pclmulhqlqdq xmm6,XMMWORD PTR [rcx]
+       pclmullqhqdq xmm6,xmm4
+       pclmullqhqdq xmm6,XMMWORD PTR [rcx]
+       pclmulhqhqdq xmm6,xmm4
+       pclmulhqhqdq xmm6,XMMWORD PTR [rcx]
        pcmpeqb xmm6,xmm4
        pcmpeqb xmm6,XMMWORD PTR [rcx]
        pcmpeqw xmm6,xmm4
@@ -1081,6 +1099,8 @@ _start:
        palignr xmm6,XMMWORD PTR [rcx],100
        pblendw xmm6,xmm4,100
        pblendw xmm6,XMMWORD PTR [rcx],100
+       pclmulqdq xmm6,xmm4,100
+       pclmulqdq xmm6,XMMWORD PTR [rcx],100
        shufpd xmm6,xmm4,100
        shufpd xmm6,XMMWORD PTR [rcx],100
        shufps xmm6,xmm4,100
index a8c53c66421bd25a293eaab9da6de386a0424312..a2ecb32c8c9e4affed774d3ec7c15f2b32ff46d1 100644 (file)
@@ -1,3 +1,17 @@
+2009-02-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       AVX Programming Reference (January, 2009)
+       * i386-dis.c (PREFIX_VEX_3A44): New.
+       (VEX_LEN_3A44_P_2): Likewise.
+       (PREFIX_VEX_3A48): Updated.
+       (VEX_LEN_3A4C_P_2): Likewise.
+       (prefix_table): Add PREFIX_VEX_3A44.
+       (vex_table): Likewise.
+       (vex_len_table): Add VEX_LEN_3A44_P_2.
+
+       * i386-opc.tbl: Add PCLMUL + AVX instructions.
+       * i386-tbl.h: Regenerated.
+
 2009-02-03  Sandip Matte  <sandip@rmicorp.com>
 
        * mips-dis.c (mips_cp0_names_xlr, mips_cp0sel_names_xlr): Define.
index 434ecfca6bf3b59a75b5de11fc2e04fa18d8c71a..83de1f72536647dc4ab517e9954dcd3a49ad4bc6 100644 (file)
@@ -1003,7 +1003,8 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
 #define PREFIX_VEX_3A40                (PREFIX_VEX_3A22 + 1)
 #define PREFIX_VEX_3A41                (PREFIX_VEX_3A40 + 1)
 #define PREFIX_VEX_3A42                (PREFIX_VEX_3A41 + 1)
-#define PREFIX_VEX_3A4A                (PREFIX_VEX_3A42 + 1)
+#define PREFIX_VEX_3A44                (PREFIX_VEX_3A42 + 1)
+#define PREFIX_VEX_3A4A                (PREFIX_VEX_3A44 + 1)
 #define PREFIX_VEX_3A4B                (PREFIX_VEX_3A4A + 1)
 #define PREFIX_VEX_3A4C                (PREFIX_VEX_3A4B + 1)
 #define PREFIX_VEX_3A60                (PREFIX_VEX_3A4C + 1)
@@ -1239,7 +1240,8 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
 #define VEX_LEN_3A22_P_2       (VEX_LEN_3A21_P_2 + 1)
 #define VEX_LEN_3A41_P_2       (VEX_LEN_3A22_P_2 + 1)
 #define VEX_LEN_3A42_P_2       (VEX_LEN_3A41_P_2 + 1)
-#define VEX_LEN_3A4C_P_2       (VEX_LEN_3A42_P_2 + 1)
+#define VEX_LEN_3A44_P_2       (VEX_LEN_3A42_P_2 + 1)
+#define VEX_LEN_3A4C_P_2       (VEX_LEN_3A44_P_2 + 1)
 #define VEX_LEN_3A60_P_2       (VEX_LEN_3A4C_P_2 + 1)
 #define VEX_LEN_3A61_P_2       (VEX_LEN_3A60_P_2 + 1)
 #define VEX_LEN_3A62_P_2       (VEX_LEN_3A61_P_2 + 1)
@@ -5024,6 +5026,14 @@ static const struct dis386 prefix_table[][4] = {
     { "(bad)", { XX } },
   },
 
+  /* PREFIX_VEX_3A44 */
+  {
+    { "(bad)", { XX } },
+    { "(bad)", { XX } },
+    { VEX_LEN_TABLE (VEX_LEN_3A44_P_2) },
+    { "(bad)", { XX } },
+  },
+
   /* PREFIX_VEX_3A4A */
   {
     { "(bad)", { XX } },
@@ -7670,7 +7680,7 @@ static const struct dis386 vex_table[][256] = {
     { PREFIX_TABLE (PREFIX_VEX_3A41) },
     { PREFIX_TABLE (PREFIX_VEX_3A42) },
     { "(bad)",         { XX } },
-    { "(bad)",         { XX } },
+    { PREFIX_TABLE (PREFIX_VEX_3A44) },
     { "(bad)",         { XX } },
     { "(bad)",         { XX } },
     { "(bad)",         { XX } },
@@ -9007,6 +9017,12 @@ static const struct dis386 vex_len_table[][2] = {
     { "(bad)",         { XX } },
   },
 
+  /* VEX_LEN_3A44_P_2 */
+  {
+    { "vpclmulqdq",    { XM, Vex128, EXx, PCLMUL } },
+    { "(bad)",         { XX } },
+  },
+
   /* VEX_LEN_3A4C_P_2 */
   {
     { "vpblendvb",     { XM, Vex128, EXx, XMVexI4 } },
index 2666de0443e2d19cdf9c1a72a9208c939b8941ec..5cb50131d6fb5e8479cde6e0fb94af7dd3ca5b66 100644 (file)
@@ -1754,10 +1754,15 @@ aeskeygenassist, 3, 0x660f3adf, None, 3, CpuAES, Modrm|IgnoreSize|No_bSuf|No_wSu
 
 // PCLMUL
 
+pclmulqdq, 3, 0x6644, None, 1, CpuAVX|CpuPCLMUL, Modrm|Vex|Vex0F3A|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
 pclmulqdq, 3, 0x660f3a44, None, 3, CpuPCLMUL, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
+pclmullqlqdq, 2, 0x6644, 0x0, 1, CpuAVX|CpuPCLMUL, Modrm|Vex|Vex0F3A|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
 pclmullqlqdq, 2, 0x660f3a44, 0x0, 3, CpuPCLMUL, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
+pclmulhqlqdq, 2, 0x6644, 0x1, 1, CpuAVX|CpuPCLMUL, Modrm|Vex|Vex0F3A|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
 pclmulhqlqdq, 2, 0x660f3a44, 0x1, 3, CpuPCLMUL, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
+pclmullqhqdq, 2, 0x6644, 0x10, 1, CpuAVX|CpuPCLMUL, Modrm|Vex|Vex0F3A|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
 pclmullqhqdq, 2, 0x660f3a44, 0x10, 3, CpuPCLMUL, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
+pclmulhqhqdq, 2, 0x6644, 0x11, 1, CpuAVX|CpuPCLMUL, Modrm|Vex|Vex0F3A|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
 pclmulhqhqdq, 2, 0x660f3a44, 0x11, 3, CpuPCLMUL, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
 
 // AVX instructions.
@@ -2359,6 +2364,14 @@ vaesenclast, 3, 0x66dd, None, 1, CpuAVX|CpuAES, Modrm|Vex|Vex0F38|VexNDS|IgnoreS
 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 }
 
+// PCLMUL + AVX
+
+vpclmulqdq, 4, 0x6644, None, 1, CpuAVX|CpuPCLMUL, Modrm|Vex|Vex0F3A|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM, RegXMM }
+vpclmullqlqdq, 3, 0x6644, 0x0, 1, CpuAVX|CpuPCLMUL, Modrm|Vex|Vex0F3A|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM, RegXMM }
+vpclmulhqlqdq, 3, 0x6644, 0x1, 1, CpuAVX|CpuPCLMUL, Modrm|Vex|Vex0F3A|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM, RegXMM }
+vpclmullqhqdq, 3, 0x6644, 0x10, 1, CpuAVX|CpuPCLMUL, Modrm|Vex|Vex0F3A|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM, RegXMM }
+vpclmulhqhqdq, 3, 0x6644, 0x11, 1, CpuAVX|CpuPCLMUL, Modrm|Vex|Vex0F3A|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM, RegXMM }
+
 // FMA instructions
 
 vfmadd132pd, 3, 0x6698, None, 1, CpuFMA, Modrm|Vex|Vex0F38|VexNDS|VexW1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM, RegXMM }
index d6e6851f349dfe8711c48fe32a8594e02eadb38b..969705401f816b6ef99f8457077ed7b4318ab67f 100644 (file)
@@ -16400,6 +16400,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 } } } },
+  { "pclmulqdq", 3, 0x6644, 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, 1, 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, 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, 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 } } } },
   { "pclmulqdq", 3, 0x660f3a44, 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 } },
@@ -16415,6 +16430,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 } } } },
+  { "pclmullqlqdq", 2, 0x6644, 0x0, 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, 1, 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, 1, 0, 1, 1, 1, 
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 
+      1, 0, 1, 0, 0, 0, 0, 0, 1, 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 } } } },
   { "pclmullqlqdq", 2, 0x660f3a44, 0x0, 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 } },
@@ -16427,6 +16454,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 } } } },
+  { "pclmulhqlqdq", 2, 0x6644, 0x1, 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, 1, 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, 1, 0, 1, 1, 1, 
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 
+      1, 0, 1, 0, 0, 0, 0, 0, 1, 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 } } } },
   { "pclmulhqlqdq", 2, 0x660f3a44, 0x1, 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 } },
@@ -16439,6 +16478,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 } } } },
+  { "pclmullqhqdq", 2, 0x6644, 0x10, 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, 1, 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, 1, 0, 1, 1, 1, 
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 
+      1, 0, 1, 0, 0, 0, 0, 0, 1, 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 } } } },
   { "pclmullqhqdq", 2, 0x660f3a44, 0x10, 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 } },
@@ -16451,6 +16502,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 } } } },
+  { "pclmulhqhqdq", 2, 0x6644, 0x11, 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, 1, 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, 1, 0, 1, 1, 1, 
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 
+      1, 0, 1, 0, 0, 0, 0, 0, 1, 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 } } } },
   { "pclmulhqhqdq", 2, 0x660f3a44, 0x11, 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 } },
@@ -24920,6 +24983,84 @@ 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 } } } },
+  { "vpclmulqdq", 4, 0x6644, 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, 1, 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, 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, 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 } },
+      { { 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 } } } },
+  { "vpclmullqlqdq", 3, 0x6644, 0x0, 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, 1, 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, 1, 0, 1, 1, 1, 
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 
+      1, 0, 1, 0, 0, 0, 0, 0, 1, 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 } } } },
+  { "vpclmulhqlqdq", 3, 0x6644, 0x1, 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, 1, 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, 1, 0, 1, 1, 1, 
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 
+      1, 0, 1, 0, 0, 0, 0, 0, 1, 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 } } } },
+  { "vpclmullqhqdq", 3, 0x6644, 0x10, 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, 1, 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, 1, 0, 1, 1, 1, 
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 
+      1, 0, 1, 0, 0, 0, 0, 0, 1, 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 } } } },
+  { "vpclmulhqhqdq", 3, 0x6644, 0x11, 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, 1, 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, 1, 0, 1, 1, 1, 
+      1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 
+      1, 0, 1, 0, 0, 0, 0, 0, 1, 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 } } } },
   { "vfmadd132pd", 3, 0x6698, 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, 1, 0, 0, 0, 0, 0, 0, 0 } },
This page took 0.109731 seconds and 4 git commands to generate.