diff options
38 files changed, 892 insertions, 175 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 2cf0914..4289f00 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -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, diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index b5f127f..9b6af4e 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -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 diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 075f24d..4e4adeb 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -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. diff --git a/gas/testsuite/gas/i386/arch-10-1.l b/gas/testsuite/gas/i386/arch-10-1.l index 3d1c9fe..fc55999 100644 --- a/gas/testsuite/gas/i386/arch-10-1.l +++ b/gas/testsuite/gas/i386/arch-10-1.l @@ -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 GAS LISTING .* -[ ]*57[ ]+\# PadLock -[ ]*58[ ]+xstorerng +[ ]*57[ ]+\# SSE5 +[ ]*58[ ]+frczss %xmm2, %xmm1 +[ ]*59[ ]+\# PadLock +[ ]*60[ ]+xstorerng diff --git a/gas/testsuite/gas/i386/arch-10-2.l b/gas/testsuite/gas/i386/arch-10-2.l index 6c0eb59..e668ca8 100644 --- a/gas/testsuite/gas/i386/arch-10-2.l +++ b/gas/testsuite/gas/i386/arch-10-2.l @@ -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 GAS LISTING .* -[ ]*57[ ]+\# PadLock -[ ]*58[ ]+xstorerng +[ ]*57[ ]+\# SSE5 +[ ]*58[ ]+frczss %xmm2, %xmm1 +[ ]*59[ ]+\# PadLock +[ ]*60[ ]+xstorerng diff --git a/gas/testsuite/gas/i386/arch-10-3.l b/gas/testsuite/gas/i386/arch-10-3.l index 4a638ff..9818a45 100644 --- a/gas/testsuite/gas/i386/arch-10-3.l +++ b/gas/testsuite/gas/i386/arch-10-3.l @@ -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 GAS 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 diff --git a/gas/testsuite/gas/i386/arch-10-4.l b/gas/testsuite/gas/i386/arch-10-4.l index 559efaf..bfe6346 100644 --- a/gas/testsuite/gas/i386/arch-10-4.l +++ b/gas/testsuite/gas/i386/arch-10-4.l @@ -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 GAS 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 diff --git a/gas/testsuite/gas/i386/arch-10.d b/gas/testsuite/gas/i386/arch-10.d index 409d8fc..0c78a72 100644 --- a/gas/testsuite/gas/i386/arch-10.d +++ b/gas/testsuite/gas/i386/arch-10.d @@ -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 diff --git a/gas/testsuite/gas/i386/arch-10.s b/gas/testsuite/gas/i386/arch-10.s index 998ba2e..c1ab010 100644 --- a/gas/testsuite/gas/i386/arch-10.s +++ b/gas/testsuite/gas/i386/arch-10.s @@ -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 diff --git a/gas/testsuite/gas/i386/arch-avx-1-1.l b/gas/testsuite/gas/i386/arch-avx-1-1.l index b1f8fb0..6d5024e 100644 --- a/gas/testsuite/gas/i386/arch-avx-1-1.l +++ b/gas/testsuite/gas/i386/arch-avx-1-1.l @@ -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-2.l b/gas/testsuite/gas/i386/arch-avx-1-2.l index b1f8fb0..6d5024e 100644 --- a/gas/testsuite/gas/i386/arch-avx-1-2.l +++ b/gas/testsuite/gas/i386/arch-avx-1-2.l @@ -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 index 0000000..6d5024e --- /dev/null +++ b/gas/testsuite/gas/i386/arch-avx-1-3.l @@ -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 index 0000000..8c40548 --- /dev/null +++ b/gas/testsuite/gas/i386/arch-avx-1-3.s @@ -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 index 0000000..3d560b1 --- /dev/null +++ b/gas/testsuite/gas/i386/arch-avx-1-4.l @@ -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 index 0000000..8c40548 --- /dev/null +++ b/gas/testsuite/gas/i386/arch-avx-1-4.s @@ -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 index 0000000..cc98a7a --- /dev/null +++ b/gas/testsuite/gas/i386/arch-avx-1-5.l @@ -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 index 0000000..8c40548 --- /dev/null +++ b/gas/testsuite/gas/i386/arch-avx-1-5.s @@ -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 index 0000000..6d5024e --- /dev/null +++ b/gas/testsuite/gas/i386/arch-avx-1-6.l @@ -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 index 0000000..8c40548 --- /dev/null +++ b/gas/testsuite/gas/i386/arch-avx-1-6.s @@ -0,0 +1 @@ +.include "arch-avx-1.s" diff --git a/gas/testsuite/gas/i386/arch-avx-1.d b/gas/testsuite/gas/i386/arch-avx-1.d index b0af891..fa6b8ca 100644 --- a/gas/testsuite/gas/i386/arch-avx-1.d +++ b/gas/testsuite/gas/i386/arch-avx-1.d @@ -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 diff --git a/gas/testsuite/gas/i386/arch-avx-1.s b/gas/testsuite/gas/i386/arch-avx-1.s index de77301..8abd99b 100644 --- a/gas/testsuite/gas/i386/arch-avx-1.s +++ b/gas/testsuite/gas/i386/arch-avx-1.s @@ -2,3 +2,5 @@ .text # AES + AVX vaesenc (%ecx),%xmm0,%xmm2 +# PCLMUL + AVX +vpclmulqdq $8,%xmm4,%xmm6,%xmm2 diff --git a/gas/testsuite/gas/i386/avx-intel.d b/gas/testsuite/gas/i386/avx-intel.d index 5575a92..1e06ca3 100644 --- a/gas/testsuite/gas/i386/avx-intel.d +++ b/gas/testsuite/gas/i386/avx-intel.d @@ -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\] diff --git a/gas/testsuite/gas/i386/avx.d b/gas/testsuite/gas/i386/avx.d index eeb49c0..5d17706 100644 --- a/gas/testsuite/gas/i386/avx.d +++ b/gas/testsuite/gas/i386/avx.d @@ -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 diff --git a/gas/testsuite/gas/i386/avx.s b/gas/testsuite/gas/i386/avx.s index 07c4538..1eef485 100644 --- a/gas/testsuite/gas/i386/avx.s +++ b/gas/testsuite/gas/i386/avx.s @@ -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] diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index 71fe103..09d773a 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -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" diff --git a/gas/testsuite/gas/i386/sse2avx.d b/gas/testsuite/gas/i386/sse2avx.d index 5bc4f3c..d035491 100644 --- a/gas/testsuite/gas/i386/sse2avx.d +++ b/gas/testsuite/gas/i386/sse2avx.d @@ -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 diff --git a/gas/testsuite/gas/i386/sse2avx.s b/gas/testsuite/gas/i386/sse2avx.s index 810aaeb..00080cf 100644 --- a/gas/testsuite/gas/i386/sse2avx.s +++ b/gas/testsuite/gas/i386/sse2avx.s @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-arch-2.d b/gas/testsuite/gas/i386/x86-64-arch-2.d index a811d76..b05f176 100644 --- a/gas/testsuite/gas/i386/x86-64-arch-2.d +++ b/gas/testsuite/gas/i386/x86-64-arch-2.d @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-arch-2.s b/gas/testsuite/gas/i386/x86-64-arch-2.s index e0dafea..5f95b97 100644 --- a/gas/testsuite/gas/i386/x86-64-arch-2.s +++ b/gas/testsuite/gas/i386/x86-64-arch-2.s @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-avx-intel.d b/gas/testsuite/gas/i386/x86-64-avx-intel.d index bc006c4..92616bc 100644 --- a/gas/testsuite/gas/i386/x86-64-avx-intel.d +++ b/gas/testsuite/gas/i386/x86-64-avx-intel.d @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-avx.d b/gas/testsuite/gas/i386/x86-64-avx.d index 48714e6..b3b8a2e 100644 --- a/gas/testsuite/gas/i386/x86-64-avx.d +++ b/gas/testsuite/gas/i386/x86-64-avx.d @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-avx.s b/gas/testsuite/gas/i386/x86-64-avx.s index 8930ca1..4668a15 100644 --- a/gas/testsuite/gas/i386/x86-64-avx.s +++ b/gas/testsuite/gas/i386/x86-64-avx.s @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-sse2avx.d b/gas/testsuite/gas/i386/x86-64-sse2avx.d index 277d60e..e8b4767 100644 --- a/gas/testsuite/gas/i386/x86-64-sse2avx.d +++ b/gas/testsuite/gas/i386/x86-64-sse2avx.d @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-sse2avx.s b/gas/testsuite/gas/i386/x86-64-sse2avx.s index 9552f9e..711cd6c 100644 --- a/gas/testsuite/gas/i386/x86-64-sse2avx.s +++ b/gas/testsuite/gas/i386/x86-64-sse2avx.s @@ -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 diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index a8c53c6..a2ecb32 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -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. diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 434ecfc..83de1f7 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -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 } }, diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl index 2666de0..5cb5013 100644 --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -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 } diff --git a/opcodes/i386-tbl.h b/opcodes/i386-tbl.h index d6e6851..9697054 100644 --- a/opcodes/i386-tbl.h +++ b/opcodes/i386-tbl.h @@ -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 } }, |