This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: Implement vpclmulqdq


Hi,

I checked in this patch to implement vpclmulqdq as specified in
AVX Programming Reference (January, 2009)

http://software.intel.com/sites/avx/

H.J.
---
gas/

2009-01-25  H.J. Lu  <hongjiu.lu@intel.com>

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

gas/testsuite/

2009-01-25  H.J. Lu  <hongjiu.lu@intel.com>

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

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

	* gas/i386/sse2avx.s: Add pclmul instructions.
	* gas/i386/x86-64-sse2avx.s: Likewise.

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

	* gas/i386/i386.exp: Run arch-avx-1-3, arch-avx-1-4,
	arch-avx-1-5 and arch-avx-1-6.

opcodes/

2009-01-25  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.

diff -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/config/tc-i386.c binutils/gas/config/tc-i386.c
--- ../binutils/src/gas/config/tc-i386.c	2009-01-15 16:42:53.000000000 -0800
+++ binutils/gas/config/tc-i386.c	2009-01-23 11:12:51.000000000 -0800
@@ -1256,10 +1256,12 @@ cpu_flags_or (i386_cpu_flags x, i386_cpu
 #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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-10-1.l binutils/gas/testsuite/gas/i386/arch-10-1.l
--- ../binutils/src/gas/testsuite/gas/i386/arch-10-1.l	2009-01-10 09:30:33.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-10-1.l	2009-01-23 11:30:30.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-10-2.l binutils/gas/testsuite/gas/i386/arch-10-2.l
--- ../binutils/src/gas/testsuite/gas/i386/arch-10-2.l	2009-01-10 09:30:34.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-10-2.l	2009-01-23 11:30:43.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-10-3.l binutils/gas/testsuite/gas/i386/arch-10-3.l
--- ../binutils/src/gas/testsuite/gas/i386/arch-10-3.l	2009-01-10 09:30:34.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-10-3.l	2009-01-23 11:31:04.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-10-4.l binutils/gas/testsuite/gas/i386/arch-10-4.l
--- ../binutils/src/gas/testsuite/gas/i386/arch-10-4.l	2009-01-10 09:30:34.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-10-4.l	2009-01-23 11:31:30.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-10.d binutils/gas/testsuite/gas/i386/arch-10.d
--- ../binutils/src/gas/testsuite/gas/i386/arch-10.d	2009-01-10 09:30:34.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-10.d	2009-01-23 11:28:57.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-10.s binutils/gas/testsuite/gas/i386/arch-10.s
--- ../binutils/src/gas/testsuite/gas/i386/arch-10.s	2009-01-10 09:30:34.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-10.s	2009-01-23 11:11:36.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-1.l binutils/gas/testsuite/gas/i386/arch-avx-1-1.l
--- ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-1.l	2008-09-15 09:56:03.000000000 -0700
+++ binutils/gas/testsuite/gas/i386/arch-avx-1-1.l	2008-12-23 16:04:53.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-2.l binutils/gas/testsuite/gas/i386/arch-avx-1-2.l
--- ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-2.l	2008-09-15 09:56:03.000000000 -0700
+++ binutils/gas/testsuite/gas/i386/arch-avx-1-2.l	2008-12-23 16:04:53.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-3.l binutils/gas/testsuite/gas/i386/arch-avx-1-3.l
--- ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-3.l	1969-12-31 16:00:00.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-avx-1-3.l	2008-12-23 16:04:53.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-3.s binutils/gas/testsuite/gas/i386/arch-avx-1-3.s
--- ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-3.s	1969-12-31 16:00:00.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-avx-1-3.s	2008-12-23 16:04:53.000000000 -0800
@@ -0,0 +1 @@
+.include "arch-avx-1.s"
diff -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-4.l binutils/gas/testsuite/gas/i386/arch-avx-1-4.l
--- ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-4.l	1969-12-31 16:00:00.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-avx-1-4.l	2008-12-23 16:04:53.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-4.s binutils/gas/testsuite/gas/i386/arch-avx-1-4.s
--- ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-4.s	1969-12-31 16:00:00.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-avx-1-4.s	2008-12-23 16:04:53.000000000 -0800
@@ -0,0 +1 @@
+.include "arch-avx-1.s"
diff -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-5.l binutils/gas/testsuite/gas/i386/arch-avx-1-5.l
--- ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-5.l	1969-12-31 16:00:00.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-avx-1-5.l	2008-12-23 16:04:53.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-5.s binutils/gas/testsuite/gas/i386/arch-avx-1-5.s
--- ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-5.s	1969-12-31 16:00:00.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-avx-1-5.s	2008-12-23 16:04:53.000000000 -0800
@@ -0,0 +1 @@
+.include "arch-avx-1.s"
diff -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-6.l binutils/gas/testsuite/gas/i386/arch-avx-1-6.l
--- ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-6.l	1969-12-31 16:00:00.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-avx-1-6.l	2008-12-23 16:04:53.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-6.s binutils/gas/testsuite/gas/i386/arch-avx-1-6.s
--- ../binutils/src/gas/testsuite/gas/i386/arch-avx-1-6.s	1969-12-31 16:00:00.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-avx-1-6.s	2008-12-23 16:04:53.000000000 -0800
@@ -0,0 +1 @@
+.include "arch-avx-1.s"
diff -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-avx-1.d binutils/gas/testsuite/gas/i386/arch-avx-1.d
--- ../binutils/src/gas/testsuite/gas/i386/arch-avx-1.d	2008-09-15 09:56:01.000000000 -0700
+++ binutils/gas/testsuite/gas/i386/arch-avx-1.d	2008-12-23 16:04:53.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/arch-avx-1.s binutils/gas/testsuite/gas/i386/arch-avx-1.s
--- ../binutils/src/gas/testsuite/gas/i386/arch-avx-1.s	2008-09-15 09:56:01.000000000 -0700
+++ binutils/gas/testsuite/gas/i386/arch-avx-1.s	2008-12-23 16:04:53.000000000 -0800
@@ -2,3 +2,5 @@
 	.text
 # AES + AVX
 vaesenc  (%ecx),%xmm0,%xmm2
+# PCLMUL + AVX
+vpclmulqdq $8,%xmm4,%xmm6,%xmm2
diff -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/avx.d binutils/gas/testsuite/gas/i386/avx.d
--- ../binutils/src/gas/testsuite/gas/i386/avx.d	2009-01-06 14:18:52.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/avx.d	2009-01-23 11:26:02.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/avx-intel.d binutils/gas/testsuite/gas/i386/avx-intel.d
--- ../binutils/src/gas/testsuite/gas/i386/avx-intel.d	2009-01-06 14:18:52.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/avx-intel.d	2009-01-23 11:25:46.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/avx.s binutils/gas/testsuite/gas/i386/avx.s
--- ../binutils/src/gas/testsuite/gas/i386/avx.s	2009-01-06 14:18:52.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/avx.s	2009-01-23 11:15:08.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/i386.exp binutils/gas/testsuite/gas/i386/i386.exp
--- ../binutils/src/gas/testsuite/gas/i386/i386.exp	2009-01-06 08:34:37.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/i386.exp	2008-12-23 16:02:33.000000000 -0800
@@ -140,6 +140,10 @@ if [expr ([istarget "i*86-*-*"] ||  [ist
     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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/sse2avx.d binutils/gas/testsuite/gas/i386/sse2avx.d
--- ../binutils/src/gas/testsuite/gas/i386/sse2avx.d	2008-09-15 09:56:02.000000000 -0700
+++ binutils/gas/testsuite/gas/i386/sse2avx.d	2008-12-23 16:04:53.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/sse2avx.s binutils/gas/testsuite/gas/i386/sse2avx.s
--- ../binutils/src/gas/testsuite/gas/i386/sse2avx.s	2008-09-15 09:56:02.000000000 -0700
+++ binutils/gas/testsuite/gas/i386/sse2avx.s	2008-12-23 16:04:53.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/x86-64-arch-2.d binutils/gas/testsuite/gas/i386/x86-64-arch-2.d
--- ../binutils/src/gas/testsuite/gas/i386/x86-64-arch-2.d	2009-01-10 09:30:34.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/x86-64-arch-2.d	2009-01-23 11:28:50.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/x86-64-arch-2.s binutils/gas/testsuite/gas/i386/x86-64-arch-2.s
--- ../binutils/src/gas/testsuite/gas/i386/x86-64-arch-2.s	2009-01-10 09:30:34.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/x86-64-arch-2.s	2009-01-23 11:10:10.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/x86-64-avx.d binutils/gas/testsuite/gas/i386/x86-64-avx.d
--- ../binutils/src/gas/testsuite/gas/i386/x86-64-avx.d	2009-01-06 14:18:53.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/x86-64-avx.d	2009-01-23 11:25:15.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/x86-64-avx-intel.d binutils/gas/testsuite/gas/i386/x86-64-avx-intel.d
--- ../binutils/src/gas/testsuite/gas/i386/x86-64-avx-intel.d	2009-01-06 14:18:53.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/x86-64-avx-intel.d	2009-01-23 11:25:29.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/x86-64-avx.s binutils/gas/testsuite/gas/i386/x86-64-avx.s
--- ../binutils/src/gas/testsuite/gas/i386/x86-64-avx.s	2009-01-06 14:18:53.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/x86-64-avx.s	2009-01-23 11:23:42.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/x86-64-sse2avx.d binutils/gas/testsuite/gas/i386/x86-64-sse2avx.d
--- ../binutils/src/gas/testsuite/gas/i386/x86-64-sse2avx.d	2008-09-15 09:56:01.000000000 -0700
+++ binutils/gas/testsuite/gas/i386/x86-64-sse2avx.d	2008-12-23 16:04:53.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/gas/testsuite/gas/i386/x86-64-sse2avx.s binutils/gas/testsuite/gas/i386/x86-64-sse2avx.s
--- ../binutils/src/gas/testsuite/gas/i386/x86-64-sse2avx.s	2008-09-15 09:56:02.000000000 -0700
+++ binutils/gas/testsuite/gas/i386/x86-64-sse2avx.s	2008-12-23 16:04:53.000000000 -0800
@@ -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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/opcodes/i386-dis.c binutils/opcodes/i386-dis.c
--- ../binutils/src/opcodes/i386-dis.c	2009-01-12 08:43:00.000000000 -0800
+++ binutils/opcodes/i386-dis.c	2009-01-23 11:19:40.000000000 -0800
@@ -1003,7 +1003,8 @@ fetch_data (struct disassemble_info *inf
 #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 *inf
 #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[
     { "(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[][2
     { 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
     { "(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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/opcodes/i386-opc.tbl binutils/opcodes/i386-opc.tbl
--- ../binutils/src/opcodes/i386-opc.tbl	2009-01-12 16:02:30.000000000 -0800
+++ binutils/opcodes/i386-opc.tbl	2009-01-23 11:19:42.000000000 -0800
@@ -1754,10 +1754,15 @@ aeskeygenassist, 3, 0x660f3adf, None, 3,
 
 // 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|
 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 -uprN -x .svn -x 'ChangeLog.*' -x REVISION ../binutils/src/opcodes/i386-tbl.h binutils/opcodes/i386-tbl.h
--- ../binutils/src/opcodes/i386-tbl.h	2009-01-12 16:02:31.000000000 -0800
+++ binutils/opcodes/i386-tbl.h	2009-01-23 11:20:47.000000000 -0800
@@ -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 } },


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]