public inbox for binutils-cvs@sourceware.org
 help / color / mirror / Atom feed
* [binutils-gdb] x86: further re-work insn/suffix recognition to also cover MOVSX
@ 2022-12-12 13:01 Jan Beulich
  0 siblings, 0 replies; only message in thread
From: Jan Beulich @ 2022-12-12 13:01 UTC (permalink / raw)
  To: bfd-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a28fedbc3f582ce7c8bad2eb017b1dc072bb1da7

commit a28fedbc3f582ce7c8bad2eb017b1dc072bb1da7
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 12 14:01:02 2022 +0100

    x86: further re-work insn/suffix recognition to also cover MOVSX
    
    PR gas/29524
    
    Having templates with a suffix explicitly present has always been
    quirky. After prior adjustment all that's left to also eliminate the
    anomaly from move-with-sign-extend is to consolidate the insn templates
    and to make may_need_pass2() cope (plus extend testsuite coverage).

Diff:
---
 gas/config/tc-i386.c            |    6 +-
 gas/testsuite/gas/i386/i386.exp |    2 +
 gas/testsuite/gas/i386/movs.s   |   39 +
 gas/testsuite/gas/i386/movs32.d |   22 +
 gas/testsuite/gas/i386/movs64.d |   30 +
 gas/testsuite/gas/i386/movx16.l |    6 +-
 gas/testsuite/gas/i386/movx32.l |    6 +-
 gas/testsuite/gas/i386/movx64.l |   50 +-
 gas/testsuite/gas/i386/movx64.s |   40 +
 opcodes/i386-opc.tbl            |   11 +-
 opcodes/i386-tbl.h              | 1826 +++++++++++++++++++--------------------
 11 files changed, 1081 insertions(+), 957 deletions(-)

diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 6e14804faed..ffe97d9d10e 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -4860,7 +4860,11 @@ static INLINE bool may_need_pass2 (const insn_template *t)
 {
   return t->opcode_modifier.sse2avx
 	 /* Note that all SSE2AVX templates have at least one operand.  */
-	 && t->operand_types[t->operands - 1].bitfield.class == RegSIMD;
+	 ? t->operand_types[t->operands - 1].bitfield.class == RegSIMD
+	 : (t->opcode_modifier.opcodespace == SPACE_0F
+	    && (t->base_opcode | 1) == 0xbf)
+	   || (t->opcode_modifier.opcodespace == SPACE_BASE
+	       && t->base_opcode == 0x63);
 }
 
 /* This is the guts of the machine-dependent assembler.  LINE points to a
diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp
index 42960075222..8f1aac8d995 100644
--- a/gas/testsuite/gas/i386/i386.exp
+++ b/gas/testsuite/gas/i386/i386.exp
@@ -73,6 +73,7 @@ if [gas_32_check] then {
     run_dump_test "amd"
     run_dump_test "katmai"
     run_dump_test "jump"
+    run_dump_test "movs32"
     run_dump_test "movz32"
     run_dump_test "relax-1"
     run_dump_test "relax-2"
@@ -820,6 +821,7 @@ if [gas_64_check] then {
     run_dump_test "x86-64-segovr"
     run_list_test "x86-64-inval-seg" "-al"
     run_dump_test "x86-64-branch"
+    run_dump_test "movs64"
     run_dump_test "movz64"
     run_dump_test "x86-64-relax-1"
     run_dump_test "svme64"
diff --git a/gas/testsuite/gas/i386/movs.s b/gas/testsuite/gas/i386/movs.s
new file mode 100644
index 00000000000..ad977a27304
--- /dev/null
+++ b/gas/testsuite/gas/i386/movs.s
@@ -0,0 +1,39 @@
+	.text
+movs:
+	movsb	%al,%ax
+	movsb	(%eax),%ax
+	movsb	%al,%eax
+	movsb	(%eax),%eax
+.ifdef x86_64
+	movsb	%al,%rax
+	movsb	(%rax),%rax
+.endif
+
+	movsbw	%al,%ax
+	movsbw	(%eax),%ax
+	movsbl	%al,%eax
+	movsbl	(%eax),%eax
+.ifdef x86_64
+	movsbq	%al,%rax
+	movsbq	(%rax),%rax
+.endif
+
+	movsw	%ax,%eax
+	movsw	(%eax),%eax
+.ifdef x86_64
+	movsw	%ax,%rax
+	movsw	(%rax),%rax
+.endif
+
+	movswl	%ax,%eax
+	movswl	(%eax),%eax
+.ifdef x86_64
+	movswq	%ax,%rax
+	movswq	(%rax),%rax
+
+	movsl	%eax,%rax
+	movsl	(%rax),%rax
+
+	movslq	%eax,%rax
+	movslq	(%rax),%rax
+.endif
diff --git a/gas/testsuite/gas/i386/movs32.d b/gas/testsuite/gas/i386/movs32.d
new file mode 100644
index 00000000000..a066820278c
--- /dev/null
+++ b/gas/testsuite/gas/i386/movs32.d
@@ -0,0 +1,22 @@
+#objdump: -dw
+#source: movs.s
+#name: x86 mov with sign-extend (32-bit object)
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+0+ <movs>:
+[ 	]*[a-f0-9]+:	66 0f be c0 *	movsbw %al,%ax
+[ 	]*[a-f0-9]+:	66 0f be 00 *	movsbw \(%eax\),%ax
+[ 	]*[a-f0-9]+:	0f be c0 *	movsbl %al,%eax
+[ 	]*[a-f0-9]+:	0f be 00 *	movsbl \(%eax\),%eax
+[ 	]*[a-f0-9]+:	66 0f be c0 *	movsbw %al,%ax
+[ 	]*[a-f0-9]+:	66 0f be 00 *	movsbw \(%eax\),%ax
+[ 	]*[a-f0-9]+:	0f be c0 *	movsbl %al,%eax
+[ 	]*[a-f0-9]+:	0f be 00 *	movsbl \(%eax\),%eax
+[ 	]*[a-f0-9]+:	0f bf c0 *	movswl %ax,%eax
+[ 	]*[a-f0-9]+:	0f bf 00 *	movswl \(%eax\),%eax
+[ 	]*[a-f0-9]+:	0f bf c0 *	movswl %ax,%eax
+[ 	]*[a-f0-9]+:	0f bf 00 *	movswl \(%eax\),%eax
+#pass
diff --git a/gas/testsuite/gas/i386/movs64.d b/gas/testsuite/gas/i386/movs64.d
new file mode 100644
index 00000000000..31794be9b2b
--- /dev/null
+++ b/gas/testsuite/gas/i386/movs64.d
@@ -0,0 +1,30 @@
+#objdump: -dw
+#source: movs.s
+#name: x86 mov with sign-extend (64-bit object)
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+0+ <movs>:
+[ 	]*[a-f0-9]+:	66 0f be c0 *	movsbw %al,%ax
+[ 	]*[a-f0-9]+:	67 66 0f be 00 *	movsbw \(%eax\),%ax
+[ 	]*[a-f0-9]+:	0f be c0 *	movsbl %al,%eax
+[ 	]*[a-f0-9]+:	67 0f be 00 *	movsbl \(%eax\),%eax
+[ 	]*[a-f0-9]+:	48 0f be c0 *	movsbq %al,%rax
+[ 	]*[a-f0-9]+:	48 0f be 00 *	movsbq \(%rax\),%rax
+[ 	]*[a-f0-9]+:	66 0f be c0 *	movsbw %al,%ax
+[ 	]*[a-f0-9]+:	67 66 0f be 00 *	movsbw \(%eax\),%ax
+[ 	]*[a-f0-9]+:	0f be c0 *	movsbl %al,%eax
+[ 	]*[a-f0-9]+:	67 0f be 00 *	movsbl \(%eax\),%eax
+[ 	]*[a-f0-9]+:	48 0f be c0 *	movsbq %al,%rax
+[ 	]*[a-f0-9]+:	48 0f be 00 *	movsbq \(%rax\),%rax
+[ 	]*[a-f0-9]+:	0f bf c0 *	movswl %ax,%eax
+[ 	]*[a-f0-9]+:	67 0f bf 00 *	movswl \(%eax\),%eax
+[ 	]*[a-f0-9]+:	48 0f bf c0 *	movswq %ax,%rax
+[ 	]*[a-f0-9]+:	48 0f bf 00 *	movswq \(%rax\),%rax
+[ 	]*[a-f0-9]+:	0f bf c0 *	movswl %ax,%eax
+[ 	]*[a-f0-9]+:	67 0f bf 00 *	movswl \(%eax\),%eax
+[ 	]*[a-f0-9]+:	48 0f bf c0 *	movswq %ax,%rax
+[ 	]*[a-f0-9]+:	48 0f bf 00 *	movswq \(%rax\),%rax
+#pass
diff --git a/gas/testsuite/gas/i386/movx16.l b/gas/testsuite/gas/i386/movx16.l
index cbae9ec29c4..27c384a7eee 100644
--- a/gas/testsuite/gas/i386/movx16.l
+++ b/gas/testsuite/gas/i386/movx16.l
@@ -41,11 +41,11 @@
 [ 	]*[1-9][0-9]*[ 	]+movsb	%ax, %cl
 [ 	]*[1-9][0-9]*[ 	]+movsb	%eax, %cl
 [ 	]*[1-9][0-9]*[ 	]*
-[ 	]*[1-9][0-9]*[ 	]+movsb	%al, %cx
+[ 	]*[1-9][0-9]* \?\?\?\? 0FBEC8[ 	]+movsb	%al, %cx
 [ 	]*[1-9][0-9]*[ 	]+movsb	%ax, %cx
 [ 	]*[1-9][0-9]*[ 	]+movsb	%eax, %cx
 [ 	]*[1-9][0-9]*[ 	]*
-[ 	]*[1-9][0-9]*[ 	]+movsb	%al, %ecx
+[ 	]*[1-9][0-9]* \?\?\?\? 660FBEC8[ 	]+movsb	%al, %ecx
 [ 	]*[1-9][0-9]*[ 	]+movsb	%ax, %ecx
 [ 	]*[1-9][0-9]*[ 	]+movsb	%eax, %ecx
 [ 	]*[1-9][0-9]*[ 	]*
@@ -82,7 +82,7 @@
 [ 	]*[1-9][0-9]*[ 	]+movsw	%eax, %cx
 [ 	]*[1-9][0-9]*[ 	]*
 [ 	]*[1-9][0-9]*[ 	]+movsw	%al, %ecx
-[ 	]*[1-9][0-9]*[ 	]+movsw	%ax, %ecx
+[ 	]*[1-9][0-9]* \?\?\?\? 660FBFC8[ 	]+movsw	%ax, %ecx
 [ 	]*[1-9][0-9]*[ 	]+movsw	%eax, %ecx
 [ 	]*[1-9][0-9]*[ 	]*
 [ 	]*[1-9][0-9]*[ 	]+movswl	%al, %cl
diff --git a/gas/testsuite/gas/i386/movx32.l b/gas/testsuite/gas/i386/movx32.l
index 46ea276684a..7c980648272 100644
--- a/gas/testsuite/gas/i386/movx32.l
+++ b/gas/testsuite/gas/i386/movx32.l
@@ -41,11 +41,11 @@
 [ 	]*[1-9][0-9]*[ 	]+movsb	%ax, %cl
 [ 	]*[1-9][0-9]*[ 	]+movsb	%eax, %cl
 [ 	]*[1-9][0-9]*[ 	]*
-[ 	]*[1-9][0-9]*[ 	]+movsb	%al, %cx
+[ 	]*[1-9][0-9]* \?\?\?\? 660FBEC8[ 	]+movsb	%al, %cx
 [ 	]*[1-9][0-9]*[ 	]+movsb	%ax, %cx
 [ 	]*[1-9][0-9]*[ 	]+movsb	%eax, %cx
 [ 	]*[1-9][0-9]*[ 	]*
-[ 	]*[1-9][0-9]*[ 	]+movsb	%al, %ecx
+[ 	]*[1-9][0-9]* \?\?\?\? 0FBEC8[ 	]+movsb	%al, %ecx
 [ 	]*[1-9][0-9]*[ 	]+movsb	%ax, %ecx
 [ 	]*[1-9][0-9]*[ 	]+movsb	%eax, %ecx
 [ 	]*[1-9][0-9]*[ 	]*
@@ -82,7 +82,7 @@
 [ 	]*[1-9][0-9]*[ 	]+movsw	%eax, %cx
 [ 	]*[1-9][0-9]*[ 	]*
 [ 	]*[1-9][0-9]*[ 	]+movsw	%al, %ecx
-[ 	]*[1-9][0-9]*[ 	]+movsw	%ax, %ecx
+[ 	]*[1-9][0-9]* \?\?\?\? 0FBFC8[ 	]+movsw	%ax, %ecx
 [ 	]*[1-9][0-9]*[ 	]+movsw	%eax, %ecx
 [ 	]*[1-9][0-9]*[ 	]*
 [ 	]*[1-9][0-9]*[ 	]+movswl	%al, %cl
diff --git a/gas/testsuite/gas/i386/movx64.l b/gas/testsuite/gas/i386/movx64.l
index 9368fb7937b..60463f93c09 100644
--- a/gas/testsuite/gas/i386/movx64.l
+++ b/gas/testsuite/gas/i386/movx64.l
@@ -106,17 +106,17 @@
 [ 	]*[1-9][0-9]*[ 	]+movsb	%eax, %cl
 [ 	]*[1-9][0-9]*[ 	]+movsb	%rax, %cl
 [ 	]*[1-9][0-9]*[ 	]*
-[ 	]*[1-9][0-9]*[ 	]+movsb	%al, %cx
+[ 	]*[1-9][0-9]* \?\?\?\? 660FBEC8[ 	]+movsb	%al, %cx
 [ 	]*[1-9][0-9]*[ 	]+movsb	%ax, %cx
 [ 	]*[1-9][0-9]*[ 	]+movsb	%eax, %cx
 [ 	]*[1-9][0-9]*[ 	]+movsb	%rax, %cx
 [ 	]*[1-9][0-9]*[ 	]*
-[ 	]*[1-9][0-9]*[ 	]+movsb	%al, %ecx
+[ 	]*[1-9][0-9]* \?\?\?\? 0FBEC8[ 	]+movsb	%al, %ecx
 [ 	]*[1-9][0-9]*[ 	]+movsb	%ax, %ecx
 [ 	]*[1-9][0-9]*[ 	]+movsb	%eax, %ecx
 [ 	]*[1-9][0-9]*[ 	]+movsb	%rax, %ecx
 [ 	]*[1-9][0-9]*[ 	]*
-[ 	]*[1-9][0-9]*[ 	]+movsb	%al, %rcx
+[ 	]*[1-9][0-9]* \?\?\?\? 480FBEC8[ 	]+movsb	%al, %rcx
 [ 	]*[1-9][0-9]*[ 	]+movsb	%ax, %rcx
 [ 	]*[1-9][0-9]*[ 	]+movsb	%eax, %rcx
 [ 	]*[1-9][0-9]*[ 	]+movsb	%rax, %rcx
@@ -192,12 +192,12 @@
 [ 	]*[1-9][0-9]*[ 	]+movsw	%rax, %cx
 [ 	]*[1-9][0-9]*[ 	]*
 [ 	]*[1-9][0-9]*[ 	]+movsw	%al, %ecx
-[ 	]*[1-9][0-9]*[ 	]+movsw	%ax, %ecx
+[ 	]*[1-9][0-9]* \?\?\?\? 0FBFC8[ 	]+movsw	%ax, %ecx
 [ 	]*[1-9][0-9]*[ 	]+movsw	%eax, %ecx
 [ 	]*[1-9][0-9]*[ 	]+movsw	%rax, %ecx
 [ 	]*[1-9][0-9]*[ 	]*
 [ 	]*[1-9][0-9]*[ 	]+movsw	%al, %rcx
-[ 	]*[1-9][0-9]*[ 	]+movsw	%ax, %rcx
+[ 	]*[1-9][0-9]* \?\?\?\? 480FBFC8[ 	]+movsw	%ax, %rcx
 [ 	]*[1-9][0-9]*[ 	]+movsw	%eax, %rcx
 [ 	]*[1-9][0-9]*[ 	]+movsw	%rax, %rcx
 [ 	]*[1-9][0-9]*[ 	]*
@@ -241,6 +241,46 @@
 [ 	]*[1-9][0-9]*[ 	]+movswq	%eax, %rcx
 [ 	]*[1-9][0-9]*[ 	]+movswq	%rax, %rcx
 [ 	]*[1-9][0-9]*[ 	]*
+[ 	]*[1-9][0-9]*[ 	]+movsl	%al, %cl
+[ 	]*[1-9][0-9]*[ 	]+movsl	%ax, %cl
+[ 	]*[1-9][0-9]*[ 	]+movsl	%eax, %cl
+[ 	]*[1-9][0-9]*[ 	]+movsl	%rax, %cl
+[ 	]*[1-9][0-9]*[ 	]*
+[ 	]*[1-9][0-9]*[ 	]+movsl	%al, %cx
+[ 	]*[1-9][0-9]*[ 	]+movsl	%ax, %cx
+[ 	]*[1-9][0-9]*[ 	]+movsl	%eax, %cx
+[ 	]*[1-9][0-9]*[ 	]+movsl	%rax, %cx
+[ 	]*[1-9][0-9]*[ 	]*
+[ 	]*[1-9][0-9]*[ 	]+movsl	%al, %ecx
+[ 	]*[1-9][0-9]*[ 	]+movsl	%ax, %ecx
+[ 	]*[1-9][0-9]*[ 	]+movsl	%eax, %ecx
+[ 	]*[1-9][0-9]*[ 	]+movsl	%rax, %ecx
+[ 	]*[1-9][0-9]*[ 	]*
+[ 	]*[1-9][0-9]*[ 	]+movsl	%al, %rcx
+[ 	]*[1-9][0-9]*[ 	]+movsl	%ax, %rcx
+[ 	]*[1-9][0-9]* \?\?\?\? 4863C8[ 	]+movsl	%eax, %rcx
+[ 	]*[1-9][0-9]*[ 	]+movsl	%rax, %rcx
+[ 	]*[1-9][0-9]*[ 	]*
+[ 	]*[1-9][0-9]*[ 	]+movslq	%al, %cl
+[ 	]*[1-9][0-9]*[ 	]+movslq	%ax, %cl
+[ 	]*[1-9][0-9]*[ 	]+movslq	%eax, %cl
+[ 	]*[1-9][0-9]*[ 	]+movslq	%rax, %cl
+[ 	]*[1-9][0-9]*[ 	]*
+[ 	]*[1-9][0-9]*[ 	]+movslq	%al, %cx
+[ 	]*[1-9][0-9]*[ 	]+movslq	%ax, %cx
+[ 	]*[1-9][0-9]*[ 	]+movslq	%eax, %cx
+[ 	]*[1-9][0-9]*[ 	]+movslq	%rax, %cx
+[ 	]*[1-9][0-9]*[ 	]*
+[ 	]*[1-9][0-9]*[ 	]+movslq	%al, %ecx
+[ 	]*[1-9][0-9]*[ 	]+movslq	%ax, %ecx
+[ 	]*[1-9][0-9]*[ 	]+movslq	%eax, %ecx
+[ 	]*[1-9][0-9]*[ 	]+movslq	%rax, %ecx
+[ 	]*[1-9][0-9]*[ 	]*
+[ 	]*[1-9][0-9]*[ 	]+movslq	%al, %rcx
+[ 	]*[1-9][0-9]*[ 	]+movslq	%ax, %rcx
+[ 	]*[1-9][0-9]* \?\?\?\? 4863C8[ 	]+movslq	%eax, %rcx
+[ 	]*[1-9][0-9]*[ 	]+movslq	%rax, %rcx
+[ 	]*[1-9][0-9]*[ 	]*
 [ 	]*[1-9][0-9]*[ 	]+movzx:
 [ 	]*[1-9][0-9]*[ 	]+movzx	%al, %cl
 [ 	]*[1-9][0-9]*[ 	]+movzx	%ax, %cl
diff --git a/gas/testsuite/gas/i386/movx64.s b/gas/testsuite/gas/i386/movx64.s
index 1811794bfad..477f66a5275 100644
--- a/gas/testsuite/gas/i386/movx64.s
+++ b/gas/testsuite/gas/i386/movx64.s
@@ -241,6 +241,46 @@ movsx:
 	movswq	%eax, %rcx
 	movswq	%rax, %rcx
 
+	movsl	%al, %cl
+	movsl	%ax, %cl
+	movsl	%eax, %cl
+	movsl	%rax, %cl
+
+	movsl	%al, %cx
+	movsl	%ax, %cx
+	movsl	%eax, %cx
+	movsl	%rax, %cx
+
+	movsl	%al, %ecx
+	movsl	%ax, %ecx
+	movsl	%eax, %ecx
+	movsl	%rax, %ecx
+
+	movsl	%al, %rcx
+	movsl	%ax, %rcx
+	movsl	%eax, %rcx
+	movsl	%rax, %rcx
+
+	movslq	%al, %cl
+	movslq	%ax, %cl
+	movslq	%eax, %cl
+	movslq	%rax, %cl
+
+	movslq	%al, %cx
+	movslq	%ax, %cx
+	movslq	%eax, %cx
+	movslq	%rax, %cx
+
+	movslq	%al, %ecx
+	movslq	%ax, %ecx
+	movslq	%eax, %ecx
+	movslq	%rax, %ecx
+
+	movslq	%al, %rcx
+	movslq	%ax, %rcx
+	movslq	%eax, %rcx
+	movslq	%rax, %rcx
+
 movzx:
 	movzx	%al, %cl
 	movzx	%ax, %cl
diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl
index 9eba0a300b0..20ae7e8173c 100644
--- a/opcodes/i386-opc.tbl
+++ b/opcodes/i386-opc.tbl
@@ -172,14 +172,9 @@ mov, 0xf24, None, Cpu386|CpuNo64, D|RegMem|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No
 movbe, 0x0f38f0, None, CpuMovbe, D|Modrm|CheckRegSize|No_bSuf|No_sSuf, { Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
 
 // Move with sign extend.
-// "movsbl" & "movsbw" must not be unified into "movsb" to avoid
-// conflict with the "movs" string move instruction.
-movsbl, 0xfbe, None, Cpu386, Modrm|NoSuf, { Reg8|Byte|Unspecified|BaseIndex, Reg32 }
-movsbw, 0xfbe, None, Cpu386, Modrm|NoSuf, { Reg8|Byte|Unspecified|BaseIndex, Reg16 }
-movswl, 0xfbf, None, Cpu386, Modrm|NoSuf, { Reg16|Word|Unspecified|BaseIndex, Reg32 }
-movsbq, 0xfbe, None, Cpu64, Modrm|NoSuf|Size64, { Reg8|Byte|Unspecified|BaseIndex, Reg64 }
-movswq, 0xfbf, None, Cpu64, Modrm|NoSuf|Size64, { Reg16|Word|Unspecified|BaseIndex, Reg64 }
-movslq, 0x63, None, Cpu64, Modrm|NoSuf|Size64, { Reg32|Dword|Unspecified|BaseIndex, Reg64 }
+movsb, 0xfbe, None, Cpu386, Modrm|No_bSuf|No_sSuf, { Reg8|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+movsw, 0xfbf, None, Cpu386, Modrm|No_bSuf|No_wSuf|No_sSuf, { Reg16|Unspecified|BaseIndex, Reg32|Reg64 }
+movsl, 0x63, None, Cpu64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Reg32|Unspecified|BaseIndex, Reg64 }
 movsx, 0xfbe, None, Cpu386, W|Modrm|No_lSuf|No_sSuf|No_qSuf, { Reg8|Reg16|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
 movsx, 0x63, None, Cpu64, Modrm|No_bSuf|No_wSuf|No_sSuf|No_qSuf, { Reg32|Unspecified|BaseIndex, Reg32|Reg64 }
 movsxd, 0x63, None, Cpu64, Modrm|NoSuf, { Reg32|Unspecified|BaseIndex, Reg32|Reg64 }
diff --git a/opcodes/i386-tbl.h b/opcodes/i386-tbl.h
index 6733f66c517..4257cc8a3de 100644
--- a/opcodes/i386-tbl.h
+++ b/opcodes/i386-tbl.h
@@ -277,23 +277,8 @@ static const insn_template i386_optab[] =
 	  0, 0, 0, 0, 1, 0 } },
       { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0, 0, 0, 0 } } } },
-  { "movsbl", 0xbe, 2, None,
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 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,
-      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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0 } } } },
-  { "movsbw", 0xbe, 2, None,
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
+  { "movsb", 0xbe, 2, None,
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -305,10 +290,10 @@ static const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
 	  0, 0, 0, 0, 0, 0 } } } },
-  { "movswl", 0xbf, 2, None,
-    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
+  { "movsw", 0xbf, 2, None,
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -320,40 +305,10 @@ static const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
 	  0, 0, 0, 0, 1, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-	  0, 0, 0, 0, 0, 0 } } } },
-  { "movsbq", 0xbe, 2, None,
-    { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 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,
-      0, 0 },
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 0 } },
-      { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-	  0, 0, 0, 0, 0, 0 } } } },
-  { "movswq", 0xbf, 2, None,
-    { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 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,
-      0, 0 },
-    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0,
-	  0, 0, 0, 0, 1, 0 } },
-      { { 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
 	  0, 0, 0, 0, 0, 0 } } } },
-  { "movslq", 0x63, 2, None,
-    { 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
+  { "movsl", 0x63, 2, None,
+    { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 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, 0, 0, 0,
@@ -59688,58 +59643,58 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 18,
   i386_optab + 19,
   i386_optab + 20,
-  i386_optab + 21,
   i386_optab + 22,
-  i386_optab + 23,
   i386_optab + 25,
+  i386_optab + 26,
+  i386_optab + 27,
   i386_optab + 28,
-  i386_optab + 29,
-  i386_optab + 30,
-  i386_optab + 31,
-  i386_optab + 41,
-  i386_optab + 42,
+  i386_optab + 38,
+  i386_optab + 39,
+  i386_optab + 45,
+  i386_optab + 46,
   i386_optab + 48,
-  i386_optab + 49,
-  i386_optab + 51,
-  i386_optab + 55,
+  i386_optab + 52,
+  i386_optab + 56,
+  i386_optab + 57,
+  i386_optab + 58,
   i386_optab + 59,
-  i386_optab + 60,
   i386_optab + 61,
-  i386_optab + 62,
-  i386_optab + 64,
+  i386_optab + 63,
+  i386_optab + 65,
   i386_optab + 66,
+  i386_optab + 67,
   i386_optab + 68,
   i386_optab + 69,
   i386_optab + 70,
   i386_optab + 71,
   i386_optab + 72,
-  i386_optab + 73,
   i386_optab + 74,
-  i386_optab + 75,
+  i386_optab + 76,
   i386_optab + 77,
+  i386_optab + 78,
   i386_optab + 79,
-  i386_optab + 80,
-  i386_optab + 81,
-  i386_optab + 82,
-  i386_optab + 86,
-  i386_optab + 88,
-  i386_optab + 92,
-  i386_optab + 94,
-  i386_optab + 98,
+  i386_optab + 83,
+  i386_optab + 85,
+  i386_optab + 89,
+  i386_optab + 91,
+  i386_optab + 95,
+  i386_optab + 99,
   i386_optab + 102,
-  i386_optab + 105,
-  i386_optab + 109,
-  i386_optab + 113,
-  i386_optab + 117,
-  i386_optab + 118,
+  i386_optab + 106,
+  i386_optab + 110,
+  i386_optab + 114,
+  i386_optab + 115,
+  i386_optab + 119,
+  i386_optab + 120,
+  i386_optab + 121,
   i386_optab + 122,
   i386_optab + 123,
   i386_optab + 124,
   i386_optab + 125,
-  i386_optab + 126,
   i386_optab + 127,
-  i386_optab + 128,
+  i386_optab + 129,
   i386_optab + 130,
+  i386_optab + 131,
   i386_optab + 132,
   i386_optab + 133,
   i386_optab + 134,
@@ -59751,30 +59706,30 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 140,
   i386_optab + 141,
   i386_optab + 142,
-  i386_optab + 143,
-  i386_optab + 144,
-  i386_optab + 145,
-  i386_optab + 151,
-  i386_optab + 153,
-  i386_optab + 155,
-  i386_optab + 159,
-  i386_optab + 163,
-  i386_optab + 167,
-  i386_optab + 171,
-  i386_optab + 175,
-  i386_optab + 179,
-  i386_optab + 183,
+  i386_optab + 148,
+  i386_optab + 150,
+  i386_optab + 152,
+  i386_optab + 156,
+  i386_optab + 160,
+  i386_optab + 164,
+  i386_optab + 168,
+  i386_optab + 172,
+  i386_optab + 176,
+  i386_optab + 180,
+  i386_optab + 184,
   i386_optab + 187,
   i386_optab + 190,
-  i386_optab + 193,
+  i386_optab + 199,
   i386_optab + 202,
-  i386_optab + 205,
+  i386_optab + 210,
   i386_optab + 213,
-  i386_optab + 216,
-  i386_optab + 222,
-  i386_optab + 224,
-  i386_optab + 226,
+  i386_optab + 219,
+  i386_optab + 221,
+  i386_optab + 223,
+  i386_optab + 225,
+  i386_optab + 227,
   i386_optab + 228,
+  i386_optab + 229,
   i386_optab + 230,
   i386_optab + 231,
   i386_optab + 232,
@@ -59806,13 +59761,13 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 258,
   i386_optab + 259,
   i386_optab + 260,
-  i386_optab + 261,
   i386_optab + 262,
-  i386_optab + 263,
-  i386_optab + 265,
-  i386_optab + 267,
-  i386_optab + 269,
+  i386_optab + 264,
+  i386_optab + 266,
+  i386_optab + 268,
+  i386_optab + 270,
   i386_optab + 271,
+  i386_optab + 272,
   i386_optab + 273,
   i386_optab + 274,
   i386_optab + 275,
@@ -59841,71 +59796,71 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 298,
   i386_optab + 299,
   i386_optab + 300,
-  i386_optab + 301,
   i386_optab + 302,
-  i386_optab + 303,
-  i386_optab + 305,
-  i386_optab + 307,
-  i386_optab + 309,
+  i386_optab + 304,
+  i386_optab + 306,
+  i386_optab + 308,
   i386_optab + 311,
   i386_optab + 314,
-  i386_optab + 317,
-  i386_optab + 319,
+  i386_optab + 316,
+  i386_optab + 318,
   i386_optab + 321,
   i386_optab + 324,
   i386_optab + 327,
   i386_optab + 330,
+  i386_optab + 332,
   i386_optab + 333,
-  i386_optab + 335,
+  i386_optab + 334,
   i386_optab + 336,
-  i386_optab + 337,
-  i386_optab + 339,
-  i386_optab + 341,
+  i386_optab + 338,
+  i386_optab + 340,
+  i386_optab + 342,
   i386_optab + 343,
+  i386_optab + 344,
   i386_optab + 345,
   i386_optab + 346,
   i386_optab + 347,
   i386_optab + 348,
   i386_optab + 349,
   i386_optab + 350,
-  i386_optab + 351,
   i386_optab + 352,
   i386_optab + 353,
   i386_optab + 355,
-  i386_optab + 356,
-  i386_optab + 358,
+  i386_optab + 357,
+  i386_optab + 359,
   i386_optab + 360,
-  i386_optab + 362,
+  i386_optab + 361,
   i386_optab + 363,
   i386_optab + 364,
   i386_optab + 366,
-  i386_optab + 367,
-  i386_optab + 369,
-  i386_optab + 371,
-  i386_optab + 373,
+  i386_optab + 368,
+  i386_optab + 370,
+  i386_optab + 372,
+  i386_optab + 374,
   i386_optab + 375,
-  i386_optab + 377,
-  i386_optab + 378,
-  i386_optab + 379,
+  i386_optab + 376,
+  i386_optab + 380,
+  i386_optab + 382,
   i386_optab + 383,
+  i386_optab + 384,
   i386_optab + 385,
-  i386_optab + 386,
-  i386_optab + 387,
   i386_optab + 388,
-  i386_optab + 391,
-  i386_optab + 392,
+  i386_optab + 389,
+  i386_optab + 393,
+  i386_optab + 395,
   i386_optab + 396,
+  i386_optab + 397,
   i386_optab + 398,
-  i386_optab + 399,
   i386_optab + 400,
-  i386_optab + 401,
-  i386_optab + 403,
-  i386_optab + 407,
-  i386_optab + 408,
-  i386_optab + 412,
+  i386_optab + 404,
+  i386_optab + 405,
+  i386_optab + 409,
+  i386_optab + 410,
+  i386_optab + 411,
   i386_optab + 413,
-  i386_optab + 414,
+  i386_optab + 415,
   i386_optab + 416,
+  i386_optab + 417,
   i386_optab + 418,
   i386_optab + 419,
   i386_optab + 420,
@@ -59914,26 +59869,26 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 423,
   i386_optab + 424,
   i386_optab + 425,
-  i386_optab + 426,
-  i386_optab + 427,
-  i386_optab + 428,
-  i386_optab + 432,
+  i386_optab + 429,
+  i386_optab + 430,
   i386_optab + 433,
-  i386_optab + 436,
-  i386_optab + 441,
-  i386_optab + 442,
-  i386_optab + 448,
-  i386_optab + 453,
-  i386_optab + 454,
-  i386_optab + 460,
-  i386_optab + 464,
+  i386_optab + 438,
+  i386_optab + 439,
+  i386_optab + 445,
+  i386_optab + 450,
+  i386_optab + 451,
+  i386_optab + 457,
+  i386_optab + 461,
+  i386_optab + 462,
   i386_optab + 465,
-  i386_optab + 468,
-  i386_optab + 473,
-  i386_optab + 474,
-  i386_optab + 480,
-  i386_optab + 485,
-  i386_optab + 486,
+  i386_optab + 470,
+  i386_optab + 471,
+  i386_optab + 477,
+  i386_optab + 482,
+  i386_optab + 483,
+  i386_optab + 489,
+  i386_optab + 490,
+  i386_optab + 491,
   i386_optab + 492,
   i386_optab + 493,
   i386_optab + 494,
@@ -59955,10 +59910,10 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 510,
   i386_optab + 511,
   i386_optab + 512,
-  i386_optab + 513,
-  i386_optab + 514,
   i386_optab + 515,
   i386_optab + 518,
+  i386_optab + 519,
+  i386_optab + 520,
   i386_optab + 521,
   i386_optab + 522,
   i386_optab + 523,
@@ -60052,10 +60007,10 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 611,
   i386_optab + 612,
   i386_optab + 613,
-  i386_optab + 614,
   i386_optab + 615,
-  i386_optab + 616,
+  i386_optab + 617,
   i386_optab + 618,
+  i386_optab + 619,
   i386_optab + 620,
   i386_optab + 621,
   i386_optab + 622,
@@ -60106,22 +60061,20 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 667,
   i386_optab + 668,
   i386_optab + 669,
-  i386_optab + 670,
-  i386_optab + 671,
   i386_optab + 672,
   i386_optab + 675,
   i386_optab + 678,
   i386_optab + 681,
   i386_optab + 684,
   i386_optab + 687,
+  i386_optab + 688,
+  i386_optab + 689,
   i386_optab + 690,
   i386_optab + 691,
   i386_optab + 692,
   i386_optab + 693,
-  i386_optab + 694,
-  i386_optab + 695,
-  i386_optab + 696,
-  i386_optab + 702,
+  i386_optab + 699,
+  i386_optab + 707,
   i386_optab + 710,
   i386_optab + 713,
   i386_optab + 716,
@@ -60145,14 +60098,14 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 770,
   i386_optab + 773,
   i386_optab + 776,
-  i386_optab + 779,
-  i386_optab + 785,
-  i386_optab + 791,
-  i386_optab + 797,
-  i386_optab + 803,
-  i386_optab + 809,
-  i386_optab + 815,
-  i386_optab + 821,
+  i386_optab + 782,
+  i386_optab + 788,
+  i386_optab + 794,
+  i386_optab + 800,
+  i386_optab + 806,
+  i386_optab + 812,
+  i386_optab + 818,
+  i386_optab + 824,
   i386_optab + 827,
   i386_optab + 830,
   i386_optab + 833,
@@ -60168,195 +60121,195 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 863,
   i386_optab + 866,
   i386_optab + 869,
-  i386_optab + 872,
-  i386_optab + 874,
-  i386_optab + 876,
-  i386_optab + 878,
-  i386_optab + 880,
-  i386_optab + 882,
-  i386_optab + 884,
-  i386_optab + 886,
-  i386_optab + 888,
-  i386_optab + 890,
-  i386_optab + 892,
-  i386_optab + 894,
-  i386_optab + 896,
-  i386_optab + 898,
-  i386_optab + 900,
-  i386_optab + 902,
-  i386_optab + 904,
-  i386_optab + 906,
-  i386_optab + 908,
-  i386_optab + 910,
-  i386_optab + 912,
-  i386_optab + 914,
+  i386_optab + 871,
+  i386_optab + 873,
+  i386_optab + 875,
+  i386_optab + 877,
+  i386_optab + 879,
+  i386_optab + 881,
+  i386_optab + 883,
+  i386_optab + 885,
+  i386_optab + 887,
+  i386_optab + 889,
+  i386_optab + 891,
+  i386_optab + 893,
+  i386_optab + 895,
+  i386_optab + 897,
+  i386_optab + 899,
+  i386_optab + 901,
+  i386_optab + 903,
+  i386_optab + 905,
+  i386_optab + 907,
+  i386_optab + 909,
+  i386_optab + 911,
+  i386_optab + 913,
+  i386_optab + 915,
   i386_optab + 916,
-  i386_optab + 918,
-  i386_optab + 919,
-  i386_optab + 920,
+  i386_optab + 917,
+  i386_optab + 923,
+  i386_optab + 925,
   i386_optab + 926,
   i386_optab + 928,
-  i386_optab + 929,
-  i386_optab + 931,
-  i386_optab + 933,
+  i386_optab + 930,
+  i386_optab + 932,
+  i386_optab + 934,
   i386_optab + 935,
   i386_optab + 937,
-  i386_optab + 938,
-  i386_optab + 940,
-  i386_optab + 942,
-  i386_optab + 944,
-  i386_optab + 946,
-  i386_optab + 948,
+  i386_optab + 939,
+  i386_optab + 941,
+  i386_optab + 943,
+  i386_optab + 945,
+  i386_optab + 947,
   i386_optab + 950,
-  i386_optab + 953,
+  i386_optab + 952,
   i386_optab + 955,
-  i386_optab + 958,
+  i386_optab + 957,
+  i386_optab + 959,
   i386_optab + 960,
   i386_optab + 962,
-  i386_optab + 963,
   i386_optab + 965,
-  i386_optab + 968,
-  i386_optab + 970,
-  i386_optab + 972,
-  i386_optab + 974,
+  i386_optab + 967,
+  i386_optab + 969,
+  i386_optab + 971,
+  i386_optab + 973,
   i386_optab + 976,
   i386_optab + 979,
-  i386_optab + 982,
-  i386_optab + 989,
+  i386_optab + 986,
+  i386_optab + 992,
   i386_optab + 995,
   i386_optab + 998,
   i386_optab + 1001,
   i386_optab + 1004,
   i386_optab + 1007,
   i386_optab + 1010,
+  i386_optab + 1011,
+  i386_optab + 1012,
   i386_optab + 1013,
   i386_optab + 1014,
-  i386_optab + 1015,
-  i386_optab + 1016,
   i386_optab + 1017,
+  i386_optab + 1018,
   i386_optab + 1020,
-  i386_optab + 1021,
-  i386_optab + 1023,
-  i386_optab + 1025,
+  i386_optab + 1022,
+  i386_optab + 1024,
+  i386_optab + 1026,
   i386_optab + 1027,
   i386_optab + 1029,
-  i386_optab + 1030,
-  i386_optab + 1032,
-  i386_optab + 1034,
-  i386_optab + 1036,
-  i386_optab + 1038,
-  i386_optab + 1040,
-  i386_optab + 1042,
-  i386_optab + 1044,
-  i386_optab + 1046,
-  i386_optab + 1048,
-  i386_optab + 1050,
-  i386_optab + 1052,
-  i386_optab + 1054,
-  i386_optab + 1056,
-  i386_optab + 1058,
-  i386_optab + 1060,
-  i386_optab + 1062,
-  i386_optab + 1064,
-  i386_optab + 1066,
-  i386_optab + 1068,
-  i386_optab + 1070,
-  i386_optab + 1072,
-  i386_optab + 1074,
-  i386_optab + 1076,
-  i386_optab + 1078,
-  i386_optab + 1080,
-  i386_optab + 1082,
-  i386_optab + 1084,
-  i386_optab + 1086,
-  i386_optab + 1088,
-  i386_optab + 1090,
-  i386_optab + 1092,
-  i386_optab + 1094,
+  i386_optab + 1031,
+  i386_optab + 1033,
+  i386_optab + 1035,
+  i386_optab + 1037,
+  i386_optab + 1039,
+  i386_optab + 1041,
+  i386_optab + 1043,
+  i386_optab + 1045,
+  i386_optab + 1047,
+  i386_optab + 1049,
+  i386_optab + 1051,
+  i386_optab + 1053,
+  i386_optab + 1055,
+  i386_optab + 1057,
+  i386_optab + 1059,
+  i386_optab + 1061,
+  i386_optab + 1063,
+  i386_optab + 1065,
+  i386_optab + 1067,
+  i386_optab + 1069,
+  i386_optab + 1071,
+  i386_optab + 1073,
+  i386_optab + 1075,
+  i386_optab + 1077,
+  i386_optab + 1079,
+  i386_optab + 1081,
+  i386_optab + 1083,
+  i386_optab + 1085,
+  i386_optab + 1087,
+  i386_optab + 1089,
+  i386_optab + 1091,
+  i386_optab + 1093,
   i386_optab + 1096,
-  i386_optab + 1099,
-  i386_optab + 1105,
-  i386_optab + 1107,
-  i386_optab + 1109,
-  i386_optab + 1111,
-  i386_optab + 1113,
-  i386_optab + 1115,
-  i386_optab + 1117,
+  i386_optab + 1102,
+  i386_optab + 1104,
+  i386_optab + 1106,
+  i386_optab + 1108,
+  i386_optab + 1110,
+  i386_optab + 1112,
+  i386_optab + 1114,
+  i386_optab + 1116,
   i386_optab + 1119,
   i386_optab + 1122,
-  i386_optab + 1125,
-  i386_optab + 1127,
+  i386_optab + 1124,
+  i386_optab + 1126,
   i386_optab + 1129,
-  i386_optab + 1132,
-  i386_optab + 1134,
-  i386_optab + 1136,
-  i386_optab + 1138,
-  i386_optab + 1140,
-  i386_optab + 1142,
-  i386_optab + 1144,
-  i386_optab + 1146,
-  i386_optab + 1148,
-  i386_optab + 1150,
-  i386_optab + 1152,
-  i386_optab + 1154,
-  i386_optab + 1156,
-  i386_optab + 1158,
-  i386_optab + 1160,
+  i386_optab + 1131,
+  i386_optab + 1133,
+  i386_optab + 1135,
+  i386_optab + 1137,
+  i386_optab + 1139,
+  i386_optab + 1141,
+  i386_optab + 1143,
+  i386_optab + 1145,
+  i386_optab + 1147,
+  i386_optab + 1149,
+  i386_optab + 1151,
+  i386_optab + 1153,
+  i386_optab + 1155,
+  i386_optab + 1157,
+  i386_optab + 1159,
+  i386_optab + 1161,
   i386_optab + 1162,
   i386_optab + 1164,
-  i386_optab + 1165,
-  i386_optab + 1167,
-  i386_optab + 1169,
-  i386_optab + 1171,
-  i386_optab + 1173,
+  i386_optab + 1166,
+  i386_optab + 1168,
+  i386_optab + 1170,
+  i386_optab + 1172,
+  i386_optab + 1174,
   i386_optab + 1175,
   i386_optab + 1177,
-  i386_optab + 1178,
-  i386_optab + 1180,
-  i386_optab + 1182,
-  i386_optab + 1184,
-  i386_optab + 1186,
+  i386_optab + 1179,
+  i386_optab + 1181,
+  i386_optab + 1183,
+  i386_optab + 1185,
+  i386_optab + 1187,
   i386_optab + 1188,
-  i386_optab + 1190,
-  i386_optab + 1191,
+  i386_optab + 1189,
   i386_optab + 1192,
-  i386_optab + 1195,
-  i386_optab + 1197,
-  i386_optab + 1199,
-  i386_optab + 1201,
-  i386_optab + 1203,
-  i386_optab + 1205,
-  i386_optab + 1207,
-  i386_optab + 1209,
-  i386_optab + 1211,
-  i386_optab + 1213,
-  i386_optab + 1215,
-  i386_optab + 1217,
-  i386_optab + 1219,
-  i386_optab + 1221,
-  i386_optab + 1223,
-  i386_optab + 1225,
-  i386_optab + 1227,
+  i386_optab + 1194,
+  i386_optab + 1196,
+  i386_optab + 1198,
+  i386_optab + 1200,
+  i386_optab + 1202,
+  i386_optab + 1204,
+  i386_optab + 1206,
+  i386_optab + 1208,
+  i386_optab + 1210,
+  i386_optab + 1212,
+  i386_optab + 1214,
+  i386_optab + 1216,
+  i386_optab + 1218,
+  i386_optab + 1220,
+  i386_optab + 1222,
+  i386_optab + 1224,
+  i386_optab + 1226,
+  i386_optab + 1228,
   i386_optab + 1229,
-  i386_optab + 1231,
-  i386_optab + 1232,
+  i386_optab + 1230,
   i386_optab + 1233,
+  i386_optab + 1235,
   i386_optab + 1236,
+  i386_optab + 1237,
   i386_optab + 1238,
   i386_optab + 1239,
   i386_optab + 1240,
   i386_optab + 1241,
-  i386_optab + 1242,
   i386_optab + 1243,
-  i386_optab + 1244,
+  i386_optab + 1245,
   i386_optab + 1246,
+  i386_optab + 1247,
   i386_optab + 1248,
   i386_optab + 1249,
-  i386_optab + 1250,
   i386_optab + 1251,
-  i386_optab + 1252,
-  i386_optab + 1254,
-  i386_optab + 1256,
+  i386_optab + 1253,
+  i386_optab + 1255,
   i386_optab + 1258,
   i386_optab + 1261,
   i386_optab + 1264,
@@ -60373,496 +60326,498 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 1297,
   i386_optab + 1300,
   i386_optab + 1303,
-  i386_optab + 1306,
-  i386_optab + 1308,
-  i386_optab + 1310,
-  i386_optab + 1314,
-  i386_optab + 1318,
-  i386_optab + 1320,
-  i386_optab + 1322,
-  i386_optab + 1326,
-  i386_optab + 1328,
-  i386_optab + 1330,
-  i386_optab + 1332,
-  i386_optab + 1334,
-  i386_optab + 1338,
-  i386_optab + 1340,
-  i386_optab + 1342,
-  i386_optab + 1346,
-  i386_optab + 1348,
-  i386_optab + 1350,
-  i386_optab + 1352,
-  i386_optab + 1356,
-  i386_optab + 1358,
-  i386_optab + 1360,
-  i386_optab + 1362,
-  i386_optab + 1364,
-  i386_optab + 1366,
-  i386_optab + 1368,
-  i386_optab + 1370,
-  i386_optab + 1372,
-  i386_optab + 1374,
-  i386_optab + 1376,
-  i386_optab + 1378,
-  i386_optab + 1380,
-  i386_optab + 1382,
-  i386_optab + 1384,
-  i386_optab + 1386,
-  i386_optab + 1388,
-  i386_optab + 1390,
-  i386_optab + 1392,
-  i386_optab + 1394,
-  i386_optab + 1396,
-  i386_optab + 1398,
-  i386_optab + 1400,
-  i386_optab + 1402,
-  i386_optab + 1404,
-  i386_optab + 1406,
-  i386_optab + 1408,
-  i386_optab + 1410,
-  i386_optab + 1412,
-  i386_optab + 1414,
-  i386_optab + 1416,
-  i386_optab + 1420,
-  i386_optab + 1424,
-  i386_optab + 1426,
+  i386_optab + 1305,
+  i386_optab + 1307,
+  i386_optab + 1311,
+  i386_optab + 1315,
+  i386_optab + 1317,
+  i386_optab + 1319,
+  i386_optab + 1323,
+  i386_optab + 1325,
+  i386_optab + 1327,
+  i386_optab + 1329,
+  i386_optab + 1331,
+  i386_optab + 1335,
+  i386_optab + 1337,
+  i386_optab + 1339,
+  i386_optab + 1343,
+  i386_optab + 1345,
+  i386_optab + 1347,
+  i386_optab + 1349,
+  i386_optab + 1353,
+  i386_optab + 1355,
+  i386_optab + 1357,
+  i386_optab + 1359,
+  i386_optab + 1361,
+  i386_optab + 1363,
+  i386_optab + 1365,
+  i386_optab + 1367,
+  i386_optab + 1369,
+  i386_optab + 1371,
+  i386_optab + 1373,
+  i386_optab + 1375,
+  i386_optab + 1377,
+  i386_optab + 1379,
+  i386_optab + 1381,
+  i386_optab + 1383,
+  i386_optab + 1385,
+  i386_optab + 1387,
+  i386_optab + 1389,
+  i386_optab + 1391,
+  i386_optab + 1393,
+  i386_optab + 1395,
+  i386_optab + 1397,
+  i386_optab + 1399,
+  i386_optab + 1401,
+  i386_optab + 1403,
+  i386_optab + 1405,
+  i386_optab + 1407,
+  i386_optab + 1409,
+  i386_optab + 1411,
+  i386_optab + 1413,
+  i386_optab + 1417,
+  i386_optab + 1421,
+  i386_optab + 1423,
+  i386_optab + 1425,
+  i386_optab + 1427,
   i386_optab + 1428,
+  i386_optab + 1429,
   i386_optab + 1430,
   i386_optab + 1431,
   i386_optab + 1432,
   i386_optab + 1433,
   i386_optab + 1434,
   i386_optab + 1435,
-  i386_optab + 1436,
   i386_optab + 1437,
-  i386_optab + 1438,
-  i386_optab + 1440,
-  i386_optab + 1442,
-  i386_optab + 1444,
-  i386_optab + 1446,
-  i386_optab + 1448,
+  i386_optab + 1439,
+  i386_optab + 1441,
+  i386_optab + 1443,
+  i386_optab + 1445,
+  i386_optab + 1447,
   i386_optab + 1450,
   i386_optab + 1453,
   i386_optab + 1456,
   i386_optab + 1459,
-  i386_optab + 1462,
-  i386_optab + 1464,
-  i386_optab + 1466,
-  i386_optab + 1468,
-  i386_optab + 1470,
-  i386_optab + 1472,
-  i386_optab + 1474,
-  i386_optab + 1476,
-  i386_optab + 1478,
-  i386_optab + 1480,
-  i386_optab + 1482,
+  i386_optab + 1461,
+  i386_optab + 1463,
+  i386_optab + 1465,
+  i386_optab + 1467,
+  i386_optab + 1469,
+  i386_optab + 1471,
+  i386_optab + 1473,
+  i386_optab + 1475,
+  i386_optab + 1477,
+  i386_optab + 1479,
+  i386_optab + 1481,
+  i386_optab + 1483,
   i386_optab + 1484,
-  i386_optab + 1486,
+  i386_optab + 1485,
   i386_optab + 1487,
-  i386_optab + 1488,
-  i386_optab + 1490,
-  i386_optab + 1492,
+  i386_optab + 1489,
+  i386_optab + 1491,
+  i386_optab + 1493,
   i386_optab + 1494,
+  i386_optab + 1495,
   i386_optab + 1496,
   i386_optab + 1497,
   i386_optab + 1498,
-  i386_optab + 1499,
-  i386_optab + 1500,
   i386_optab + 1501,
   i386_optab + 1504,
-  i386_optab + 1507,
-  i386_optab + 1509,
-  i386_optab + 1511,
-  i386_optab + 1513,
-  i386_optab + 1515,
-  i386_optab + 1517,
-  i386_optab + 1519,
-  i386_optab + 1521,
-  i386_optab + 1523,
-  i386_optab + 1525,
-  i386_optab + 1527,
-  i386_optab + 1529,
-  i386_optab + 1531,
-  i386_optab + 1533,
-  i386_optab + 1535,
-  i386_optab + 1537,
-  i386_optab + 1539,
-  i386_optab + 1541,
-  i386_optab + 1543,
-  i386_optab + 1545,
-  i386_optab + 1547,
-  i386_optab + 1549,
-  i386_optab + 1551,
-  i386_optab + 1553,
-  i386_optab + 1555,
-  i386_optab + 1557,
-  i386_optab + 1559,
-  i386_optab + 1561,
-  i386_optab + 1563,
-  i386_optab + 1565,
-  i386_optab + 1567,
-  i386_optab + 1569,
-  i386_optab + 1571,
-  i386_optab + 1573,
-  i386_optab + 1575,
-  i386_optab + 1577,
-  i386_optab + 1579,
-  i386_optab + 1581,
-  i386_optab + 1583,
-  i386_optab + 1585,
-  i386_optab + 1587,
-  i386_optab + 1589,
-  i386_optab + 1591,
-  i386_optab + 1593,
-  i386_optab + 1595,
-  i386_optab + 1597,
-  i386_optab + 1599,
-  i386_optab + 1601,
-  i386_optab + 1603,
-  i386_optab + 1605,
-  i386_optab + 1607,
-  i386_optab + 1609,
-  i386_optab + 1611,
-  i386_optab + 1613,
-  i386_optab + 1615,
-  i386_optab + 1617,
-  i386_optab + 1619,
-  i386_optab + 1621,
-  i386_optab + 1623,
-  i386_optab + 1625,
-  i386_optab + 1627,
-  i386_optab + 1629,
-  i386_optab + 1631,
-  i386_optab + 1633,
-  i386_optab + 1635,
-  i386_optab + 1637,
-  i386_optab + 1639,
-  i386_optab + 1641,
-  i386_optab + 1643,
-  i386_optab + 1645,
-  i386_optab + 1647,
-  i386_optab + 1649,
-  i386_optab + 1651,
-  i386_optab + 1653,
-  i386_optab + 1655,
-  i386_optab + 1657,
-  i386_optab + 1659,
-  i386_optab + 1661,
-  i386_optab + 1663,
-  i386_optab + 1665,
-  i386_optab + 1667,
-  i386_optab + 1669,
-  i386_optab + 1671,
-  i386_optab + 1673,
-  i386_optab + 1675,
-  i386_optab + 1677,
-  i386_optab + 1679,
-  i386_optab + 1681,
-  i386_optab + 1683,
-  i386_optab + 1685,
-  i386_optab + 1687,
-  i386_optab + 1689,
-  i386_optab + 1691,
-  i386_optab + 1693,
-  i386_optab + 1695,
-  i386_optab + 1697,
-  i386_optab + 1699,
-  i386_optab + 1701,
-  i386_optab + 1703,
-  i386_optab + 1705,
-  i386_optab + 1707,
-  i386_optab + 1709,
-  i386_optab + 1711,
-  i386_optab + 1713,
-  i386_optab + 1715,
-  i386_optab + 1717,
-  i386_optab + 1719,
-  i386_optab + 1721,
-  i386_optab + 1723,
-  i386_optab + 1725,
-  i386_optab + 1727,
-  i386_optab + 1729,
-  i386_optab + 1731,
-  i386_optab + 1733,
-  i386_optab + 1735,
-  i386_optab + 1737,
-  i386_optab + 1739,
-  i386_optab + 1741,
-  i386_optab + 1743,
-  i386_optab + 1745,
-  i386_optab + 1747,
-  i386_optab + 1749,
-  i386_optab + 1751,
-  i386_optab + 1753,
-  i386_optab + 1755,
-  i386_optab + 1757,
-  i386_optab + 1759,
-  i386_optab + 1761,
-  i386_optab + 1763,
-  i386_optab + 1765,
-  i386_optab + 1767,
-  i386_optab + 1769,
-  i386_optab + 1771,
-  i386_optab + 1773,
-  i386_optab + 1775,
-  i386_optab + 1777,
-  i386_optab + 1779,
-  i386_optab + 1781,
-  i386_optab + 1783,
-  i386_optab + 1785,
-  i386_optab + 1787,
-  i386_optab + 1789,
-  i386_optab + 1791,
-  i386_optab + 1793,
-  i386_optab + 1795,
-  i386_optab + 1797,
-  i386_optab + 1799,
-  i386_optab + 1801,
-  i386_optab + 1803,
-  i386_optab + 1805,
-  i386_optab + 1807,
-  i386_optab + 1809,
-  i386_optab + 1811,
-  i386_optab + 1813,
-  i386_optab + 1815,
-  i386_optab + 1817,
-  i386_optab + 1819,
-  i386_optab + 1821,
-  i386_optab + 1823,
-  i386_optab + 1825,
-  i386_optab + 1827,
-  i386_optab + 1829,
-  i386_optab + 1831,
-  i386_optab + 1833,
-  i386_optab + 1835,
-  i386_optab + 1837,
-  i386_optab + 1839,
-  i386_optab + 1841,
-  i386_optab + 1843,
-  i386_optab + 1845,
-  i386_optab + 1847,
-  i386_optab + 1849,
-  i386_optab + 1851,
-  i386_optab + 1853,
-  i386_optab + 1855,
-  i386_optab + 1857,
-  i386_optab + 1859,
-  i386_optab + 1861,
-  i386_optab + 1863,
-  i386_optab + 1865,
-  i386_optab + 1867,
-  i386_optab + 1869,
-  i386_optab + 1871,
-  i386_optab + 1873,
-  i386_optab + 1875,
-  i386_optab + 1877,
-  i386_optab + 1879,
-  i386_optab + 1881,
-  i386_optab + 1883,
-  i386_optab + 1885,
-  i386_optab + 1887,
-  i386_optab + 1892,
-  i386_optab + 1894,
-  i386_optab + 1899,
-  i386_optab + 1901,
-  i386_optab + 1903,
-  i386_optab + 1908,
-  i386_optab + 1910,
-  i386_optab + 1912,
-  i386_optab + 1914,
-  i386_optab + 1919,
-  i386_optab + 1921,
-  i386_optab + 1923,
-  i386_optab + 1925,
-  i386_optab + 1929,
-  i386_optab + 1935,
-  i386_optab + 1937,
-  i386_optab + 1942,
-  i386_optab + 1944,
-  i386_optab + 1946,
-  i386_optab + 1948,
-  i386_optab + 1950,
-  i386_optab + 1952,
-  i386_optab + 1954,
-  i386_optab + 1956,
+  i386_optab + 1506,
+  i386_optab + 1508,
+  i386_optab + 1510,
+  i386_optab + 1512,
+  i386_optab + 1514,
+  i386_optab + 1516,
+  i386_optab + 1518,
+  i386_optab + 1520,
+  i386_optab + 1522,
+  i386_optab + 1524,
+  i386_optab + 1526,
+  i386_optab + 1528,
+  i386_optab + 1530,
+  i386_optab + 1532,
+  i386_optab + 1534,
+  i386_optab + 1536,
+  i386_optab + 1538,
+  i386_optab + 1540,
+  i386_optab + 1542,
+  i386_optab + 1544,
+  i386_optab + 1546,
+  i386_optab + 1548,
+  i386_optab + 1550,
+  i386_optab + 1552,
+  i386_optab + 1554,
+  i386_optab + 1556,
+  i386_optab + 1558,
+  i386_optab + 1560,
+  i386_optab + 1562,
+  i386_optab + 1564,
+  i386_optab + 1566,
+  i386_optab + 1568,
+  i386_optab + 1570,
+  i386_optab + 1572,
+  i386_optab + 1574,
+  i386_optab + 1576,
+  i386_optab + 1578,
+  i386_optab + 1580,
+  i386_optab + 1582,
+  i386_optab + 1584,
+  i386_optab + 1586,
+  i386_optab + 1588,
+  i386_optab + 1590,
+  i386_optab + 1592,
+  i386_optab + 1594,
+  i386_optab + 1596,
+  i386_optab + 1598,
+  i386_optab + 1600,
+  i386_optab + 1602,
+  i386_optab + 1604,
+  i386_optab + 1606,
+  i386_optab + 1608,
+  i386_optab + 1610,
+  i386_optab + 1612,
+  i386_optab + 1614,
+  i386_optab + 1616,
+  i386_optab + 1618,
+  i386_optab + 1620,
+  i386_optab + 1622,
+  i386_optab + 1624,
+  i386_optab + 1626,
+  i386_optab + 1628,
+  i386_optab + 1630,
+  i386_optab + 1632,
+  i386_optab + 1634,
+  i386_optab + 1636,
+  i386_optab + 1638,
+  i386_optab + 1640,
+  i386_optab + 1642,
+  i386_optab + 1644,
+  i386_optab + 1646,
+  i386_optab + 1648,
+  i386_optab + 1650,
+  i386_optab + 1652,
+  i386_optab + 1654,
+  i386_optab + 1656,
+  i386_optab + 1658,
+  i386_optab + 1660,
+  i386_optab + 1662,
+  i386_optab + 1664,
+  i386_optab + 1666,
+  i386_optab + 1668,
+  i386_optab + 1670,
+  i386_optab + 1672,
+  i386_optab + 1674,
+  i386_optab + 1676,
+  i386_optab + 1678,
+  i386_optab + 1680,
+  i386_optab + 1682,
+  i386_optab + 1684,
+  i386_optab + 1686,
+  i386_optab + 1688,
+  i386_optab + 1690,
+  i386_optab + 1692,
+  i386_optab + 1694,
+  i386_optab + 1696,
+  i386_optab + 1698,
+  i386_optab + 1700,
+  i386_optab + 1702,
+  i386_optab + 1704,
+  i386_optab + 1706,
+  i386_optab + 1708,
+  i386_optab + 1710,
+  i386_optab + 1712,
+  i386_optab + 1714,
+  i386_optab + 1716,
+  i386_optab + 1718,
+  i386_optab + 1720,
+  i386_optab + 1722,
+  i386_optab + 1724,
+  i386_optab + 1726,
+  i386_optab + 1728,
+  i386_optab + 1730,
+  i386_optab + 1732,
+  i386_optab + 1734,
+  i386_optab + 1736,
+  i386_optab + 1738,
+  i386_optab + 1740,
+  i386_optab + 1742,
+  i386_optab + 1744,
+  i386_optab + 1746,
+  i386_optab + 1748,
+  i386_optab + 1750,
+  i386_optab + 1752,
+  i386_optab + 1754,
+  i386_optab + 1756,
+  i386_optab + 1758,
+  i386_optab + 1760,
+  i386_optab + 1762,
+  i386_optab + 1764,
+  i386_optab + 1766,
+  i386_optab + 1768,
+  i386_optab + 1770,
+  i386_optab + 1772,
+  i386_optab + 1774,
+  i386_optab + 1776,
+  i386_optab + 1778,
+  i386_optab + 1780,
+  i386_optab + 1782,
+  i386_optab + 1784,
+  i386_optab + 1786,
+  i386_optab + 1788,
+  i386_optab + 1790,
+  i386_optab + 1792,
+  i386_optab + 1794,
+  i386_optab + 1796,
+  i386_optab + 1798,
+  i386_optab + 1800,
+  i386_optab + 1802,
+  i386_optab + 1804,
+  i386_optab + 1806,
+  i386_optab + 1808,
+  i386_optab + 1810,
+  i386_optab + 1812,
+  i386_optab + 1814,
+  i386_optab + 1816,
+  i386_optab + 1818,
+  i386_optab + 1820,
+  i386_optab + 1822,
+  i386_optab + 1824,
+  i386_optab + 1826,
+  i386_optab + 1828,
+  i386_optab + 1830,
+  i386_optab + 1832,
+  i386_optab + 1834,
+  i386_optab + 1836,
+  i386_optab + 1838,
+  i386_optab + 1840,
+  i386_optab + 1842,
+  i386_optab + 1844,
+  i386_optab + 1846,
+  i386_optab + 1848,
+  i386_optab + 1850,
+  i386_optab + 1852,
+  i386_optab + 1854,
+  i386_optab + 1856,
+  i386_optab + 1858,
+  i386_optab + 1860,
+  i386_optab + 1862,
+  i386_optab + 1864,
+  i386_optab + 1866,
+  i386_optab + 1868,
+  i386_optab + 1870,
+  i386_optab + 1872,
+  i386_optab + 1874,
+  i386_optab + 1876,
+  i386_optab + 1878,
+  i386_optab + 1880,
+  i386_optab + 1882,
+  i386_optab + 1884,
+  i386_optab + 1889,
+  i386_optab + 1891,
+  i386_optab + 1896,
+  i386_optab + 1898,
+  i386_optab + 1900,
+  i386_optab + 1905,
+  i386_optab + 1907,
+  i386_optab + 1909,
+  i386_optab + 1911,
+  i386_optab + 1916,
+  i386_optab + 1918,
+  i386_optab + 1920,
+  i386_optab + 1922,
+  i386_optab + 1926,
+  i386_optab + 1932,
+  i386_optab + 1934,
+  i386_optab + 1939,
+  i386_optab + 1941,
+  i386_optab + 1943,
+  i386_optab + 1945,
+  i386_optab + 1947,
+  i386_optab + 1949,
+  i386_optab + 1951,
+  i386_optab + 1953,
+  i386_optab + 1955,
+  i386_optab + 1957,
   i386_optab + 1958,
+  i386_optab + 1959,
   i386_optab + 1960,
-  i386_optab + 1961,
-  i386_optab + 1962,
-  i386_optab + 1963,
+  i386_optab + 1964,
+  i386_optab + 1965,
+  i386_optab + 1966,
   i386_optab + 1967,
   i386_optab + 1968,
   i386_optab + 1969,
-  i386_optab + 1970,
   i386_optab + 1971,
   i386_optab + 1972,
+  i386_optab + 1973,
   i386_optab + 1974,
-  i386_optab + 1975,
   i386_optab + 1976,
-  i386_optab + 1977,
-  i386_optab + 1979,
-  i386_optab + 1981,
-  i386_optab + 1983,
-  i386_optab + 1985,
-  i386_optab + 1987,
-  i386_optab + 1989,
-  i386_optab + 1991,
-  i386_optab + 1993,
-  i386_optab + 1995,
-  i386_optab + 1997,
-  i386_optab + 1999,
+  i386_optab + 1978,
+  i386_optab + 1980,
+  i386_optab + 1982,
+  i386_optab + 1984,
+  i386_optab + 1986,
+  i386_optab + 1988,
+  i386_optab + 1990,
+  i386_optab + 1992,
+  i386_optab + 1994,
+  i386_optab + 1996,
+  i386_optab + 1998,
   i386_optab + 2001,
-  i386_optab + 2004,
-  i386_optab + 2008,
+  i386_optab + 2005,
+  i386_optab + 2006,
+  i386_optab + 2007,
   i386_optab + 2009,
-  i386_optab + 2010,
-  i386_optab + 2012,
-  i386_optab + 2016,
-  i386_optab + 2020,
-  i386_optab + 2022,
-  i386_optab + 2026,
-  i386_optab + 2030,
+  i386_optab + 2013,
+  i386_optab + 2017,
+  i386_optab + 2019,
+  i386_optab + 2023,
+  i386_optab + 2027,
+  i386_optab + 2028,
+  i386_optab + 2029,
   i386_optab + 2031,
-  i386_optab + 2032,
-  i386_optab + 2034,
-  i386_optab + 2036,
-  i386_optab + 2038,
-  i386_optab + 2040,
-  i386_optab + 2046,
-  i386_optab + 2050,
-  i386_optab + 2054,
-  i386_optab + 2056,
-  i386_optab + 2058,
+  i386_optab + 2033,
+  i386_optab + 2035,
+  i386_optab + 2037,
+  i386_optab + 2043,
+  i386_optab + 2047,
+  i386_optab + 2051,
+  i386_optab + 2053,
+  i386_optab + 2055,
+  i386_optab + 2057,
+  i386_optab + 2059,
   i386_optab + 2060,
   i386_optab + 2062,
-  i386_optab + 2063,
-  i386_optab + 2065,
-  i386_optab + 2067,
-  i386_optab + 2069,
-  i386_optab + 2071,
-  i386_optab + 2073,
-  i386_optab + 2075,
-  i386_optab + 2077,
-  i386_optab + 2079,
-  i386_optab + 2081,
-  i386_optab + 2083,
-  i386_optab + 2085,
-  i386_optab + 2087,
-  i386_optab + 2089,
-  i386_optab + 2091,
-  i386_optab + 2093,
-  i386_optab + 2095,
-  i386_optab + 2097,
-  i386_optab + 2099,
-  i386_optab + 2101,
-  i386_optab + 2103,
+  i386_optab + 2064,
+  i386_optab + 2066,
+  i386_optab + 2068,
+  i386_optab + 2070,
+  i386_optab + 2072,
+  i386_optab + 2074,
+  i386_optab + 2076,
+  i386_optab + 2078,
+  i386_optab + 2080,
+  i386_optab + 2082,
+  i386_optab + 2084,
+  i386_optab + 2086,
+  i386_optab + 2088,
+  i386_optab + 2090,
+  i386_optab + 2092,
+  i386_optab + 2094,
+  i386_optab + 2096,
+  i386_optab + 2098,
+  i386_optab + 2100,
+  i386_optab + 2102,
+  i386_optab + 2104,
   i386_optab + 2105,
-  i386_optab + 2107,
+  i386_optab + 2106,
   i386_optab + 2108,
-  i386_optab + 2109,
+  i386_optab + 2110,
   i386_optab + 2111,
-  i386_optab + 2113,
-  i386_optab + 2114,
+  i386_optab + 2112,
   i386_optab + 2115,
   i386_optab + 2118,
   i386_optab + 2121,
   i386_optab + 2124,
-  i386_optab + 2127,
-  i386_optab + 2129,
-  i386_optab + 2131,
-  i386_optab + 2133,
-  i386_optab + 2135,
+  i386_optab + 2126,
+  i386_optab + 2128,
+  i386_optab + 2130,
+  i386_optab + 2132,
+  i386_optab + 2134,
+  i386_optab + 2136,
   i386_optab + 2137,
+  i386_optab + 2138,
   i386_optab + 2139,
-  i386_optab + 2140,
-  i386_optab + 2141,
-  i386_optab + 2142,
-  i386_optab + 2146,
-  i386_optab + 2150,
-  i386_optab + 2152,
-  i386_optab + 2154,
-  i386_optab + 2160,
+  i386_optab + 2143,
+  i386_optab + 2147,
+  i386_optab + 2149,
+  i386_optab + 2151,
+  i386_optab + 2157,
+  i386_optab + 2161,
+  i386_optab + 2162,
+  i386_optab + 2163,
   i386_optab + 2164,
   i386_optab + 2165,
   i386_optab + 2166,
   i386_optab + 2167,
   i386_optab + 2168,
-  i386_optab + 2169,
-  i386_optab + 2170,
-  i386_optab + 2171,
-  i386_optab + 2175,
-  i386_optab + 2177,
-  i386_optab + 2179,
-  i386_optab + 2183,
-  i386_optab + 2185,
-  i386_optab + 2187,
-  i386_optab + 2189,
-  i386_optab + 2191,
-  i386_optab + 2193,
-  i386_optab + 2195,
-  i386_optab + 2197,
-  i386_optab + 2199,
-  i386_optab + 2201,
-  i386_optab + 2203,
-  i386_optab + 2205,
-  i386_optab + 2207,
+  i386_optab + 2172,
+  i386_optab + 2174,
+  i386_optab + 2176,
+  i386_optab + 2180,
+  i386_optab + 2182,
+  i386_optab + 2184,
+  i386_optab + 2186,
+  i386_optab + 2188,
+  i386_optab + 2190,
+  i386_optab + 2192,
+  i386_optab + 2194,
+  i386_optab + 2196,
+  i386_optab + 2198,
+  i386_optab + 2200,
+  i386_optab + 2202,
+  i386_optab + 2204,
+  i386_optab + 2206,
+  i386_optab + 2208,
   i386_optab + 2209,
-  i386_optab + 2211,
-  i386_optab + 2212,
-  i386_optab + 2217,
-  i386_optab + 2222,
-  i386_optab + 2227,
-  i386_optab + 2232,
-  i386_optab + 2237,
-  i386_optab + 2242,
-  i386_optab + 2247,
-  i386_optab + 2252,
-  i386_optab + 2257,
-  i386_optab + 2262,
-  i386_optab + 2267,
-  i386_optab + 2272,
-  i386_optab + 2274,
-  i386_optab + 2276,
-  i386_optab + 2278,
-  i386_optab + 2280,
-  i386_optab + 2282,
+  i386_optab + 2214,
+  i386_optab + 2219,
+  i386_optab + 2224,
+  i386_optab + 2229,
+  i386_optab + 2234,
+  i386_optab + 2239,
+  i386_optab + 2244,
+  i386_optab + 2249,
+  i386_optab + 2254,
+  i386_optab + 2259,
+  i386_optab + 2264,
+  i386_optab + 2269,
+  i386_optab + 2271,
+  i386_optab + 2273,
+  i386_optab + 2275,
+  i386_optab + 2277,
+  i386_optab + 2279,
+  i386_optab + 2281,
+  i386_optab + 2283,
   i386_optab + 2284,
   i386_optab + 2286,
-  i386_optab + 2287,
-  i386_optab + 2289,
-  i386_optab + 2291,
-  i386_optab + 2293,
+  i386_optab + 2288,
+  i386_optab + 2290,
+  i386_optab + 2292,
+  i386_optab + 2294,
   i386_optab + 2295,
+  i386_optab + 2296,
   i386_optab + 2297,
-  i386_optab + 2298,
-  i386_optab + 2299,
-  i386_optab + 2300,
-  i386_optab + 2304,
-  i386_optab + 2308,
-  i386_optab + 2310,
-  i386_optab + 2314,
-  i386_optab + 2318,
-  i386_optab + 2322,
-  i386_optab + 2326,
-  i386_optab + 2330,
-  i386_optab + 2332,
-  i386_optab + 2336,
-  i386_optab + 2338,
-  i386_optab + 2340,
-  i386_optab + 2342,
-  i386_optab + 2344,
-  i386_optab + 2346,
-  i386_optab + 2348,
+  i386_optab + 2301,
+  i386_optab + 2305,
+  i386_optab + 2307,
+  i386_optab + 2311,
+  i386_optab + 2315,
+  i386_optab + 2319,
+  i386_optab + 2323,
+  i386_optab + 2327,
+  i386_optab + 2329,
+  i386_optab + 2333,
+  i386_optab + 2335,
+  i386_optab + 2337,
+  i386_optab + 2339,
+  i386_optab + 2341,
+  i386_optab + 2343,
+  i386_optab + 2345,
+  i386_optab + 2347,
+  i386_optab + 2349,
   i386_optab + 2350,
   i386_optab + 2352,
-  i386_optab + 2353,
-  i386_optab + 2355,
-  i386_optab + 2357,
-  i386_optab + 2359,
-  i386_optab + 2361,
-  i386_optab + 2363,
-  i386_optab + 2365,
+  i386_optab + 2354,
+  i386_optab + 2356,
+  i386_optab + 2358,
+  i386_optab + 2360,
+  i386_optab + 2362,
+  i386_optab + 2364,
+  i386_optab + 2366,
   i386_optab + 2367,
+  i386_optab + 2368,
   i386_optab + 2369,
   i386_optab + 2370,
   i386_optab + 2371,
@@ -60870,136 +60825,136 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 2373,
   i386_optab + 2374,
   i386_optab + 2375,
-  i386_optab + 2376,
   i386_optab + 2377,
-  i386_optab + 2378,
-  i386_optab + 2380,
-  i386_optab + 2382,
-  i386_optab + 2384,
-  i386_optab + 2386,
+  i386_optab + 2379,
+  i386_optab + 2381,
+  i386_optab + 2383,
+  i386_optab + 2385,
+  i386_optab + 2387,
   i386_optab + 2388,
   i386_optab + 2390,
-  i386_optab + 2391,
-  i386_optab + 2393,
-  i386_optab + 2395,
+  i386_optab + 2392,
+  i386_optab + 2394,
+  i386_optab + 2396,
   i386_optab + 2397,
-  i386_optab + 2399,
+  i386_optab + 2398,
   i386_optab + 2400,
-  i386_optab + 2401,
-  i386_optab + 2403,
-  i386_optab + 2405,
-  i386_optab + 2407,
-  i386_optab + 2409,
-  i386_optab + 2411,
-  i386_optab + 2413,
+  i386_optab + 2402,
+  i386_optab + 2404,
+  i386_optab + 2406,
+  i386_optab + 2408,
+  i386_optab + 2410,
+  i386_optab + 2412,
+  i386_optab + 2414,
   i386_optab + 2415,
+  i386_optab + 2416,
   i386_optab + 2417,
   i386_optab + 2418,
-  i386_optab + 2419,
-  i386_optab + 2420,
   i386_optab + 2421,
   i386_optab + 2424,
   i386_optab + 2427,
   i386_optab + 2430,
+  i386_optab + 2431,
   i386_optab + 2433,
-  i386_optab + 2434,
   i386_optab + 2436,
-  i386_optab + 2439,
+  i386_optab + 2438,
   i386_optab + 2441,
-  i386_optab + 2444,
+  i386_optab + 2442,
+  i386_optab + 2443,
   i386_optab + 2445,
-  i386_optab + 2446,
-  i386_optab + 2448,
-  i386_optab + 2450,
-  i386_optab + 2452,
-  i386_optab + 2454,
-  i386_optab + 2456,
-  i386_optab + 2458,
+  i386_optab + 2447,
+  i386_optab + 2449,
+  i386_optab + 2451,
+  i386_optab + 2453,
+  i386_optab + 2455,
+  i386_optab + 2457,
   i386_optab + 2460,
-  i386_optab + 2463,
-  i386_optab + 2468,
-  i386_optab + 2473,
-  i386_optab + 2478,
+  i386_optab + 2465,
+  i386_optab + 2470,
+  i386_optab + 2475,
+  i386_optab + 2480,
   i386_optab + 2483,
-  i386_optab + 2486,
-  i386_optab + 2491,
-  i386_optab + 2496,
-  i386_optab + 2497,
+  i386_optab + 2488,
+  i386_optab + 2493,
+  i386_optab + 2494,
+  i386_optab + 2495,
   i386_optab + 2498,
   i386_optab + 2501,
   i386_optab + 2504,
   i386_optab + 2507,
   i386_optab + 2510,
-  i386_optab + 2513,
-  i386_optab + 2515,
+  i386_optab + 2512,
+  i386_optab + 2514,
+  i386_optab + 2516,
   i386_optab + 2517,
+  i386_optab + 2518,
   i386_optab + 2519,
   i386_optab + 2520,
   i386_optab + 2521,
-  i386_optab + 2522,
-  i386_optab + 2523,
-  i386_optab + 2524,
-  i386_optab + 2529,
-  i386_optab + 2534,
-  i386_optab + 2536,
-  i386_optab + 2538,
-  i386_optab + 2540,
-  i386_optab + 2542,
-  i386_optab + 2544,
-  i386_optab + 2546,
-  i386_optab + 2548,
-  i386_optab + 2550,
-  i386_optab + 2552,
-  i386_optab + 2554,
-  i386_optab + 2556,
-  i386_optab + 2558,
-  i386_optab + 2560,
-  i386_optab + 2562,
-  i386_optab + 2564,
-  i386_optab + 2566,
-  i386_optab + 2568,
-  i386_optab + 2570,
-  i386_optab + 2572,
-  i386_optab + 2574,
-  i386_optab + 2576,
-  i386_optab + 2578,
-  i386_optab + 2580,
-  i386_optab + 2582,
-  i386_optab + 2584,
-  i386_optab + 2586,
-  i386_optab + 2588,
-  i386_optab + 2590,
-  i386_optab + 2592,
-  i386_optab + 2594,
-  i386_optab + 2596,
-  i386_optab + 2598,
-  i386_optab + 2600,
-  i386_optab + 2602,
-  i386_optab + 2604,
-  i386_optab + 2606,
-  i386_optab + 2608,
-  i386_optab + 2610,
-  i386_optab + 2612,
-  i386_optab + 2614,
-  i386_optab + 2616,
-  i386_optab + 2618,
-  i386_optab + 2620,
-  i386_optab + 2622,
-  i386_optab + 2624,
-  i386_optab + 2626,
-  i386_optab + 2628,
-  i386_optab + 2630,
-  i386_optab + 2632,
-  i386_optab + 2634,
-  i386_optab + 2636,
-  i386_optab + 2638,
-  i386_optab + 2640,
-  i386_optab + 2642,
-  i386_optab + 2644,
-  i386_optab + 2646,
-  i386_optab + 2648,
-  i386_optab + 2650,
+  i386_optab + 2526,
+  i386_optab + 2531,
+  i386_optab + 2533,
+  i386_optab + 2535,
+  i386_optab + 2537,
+  i386_optab + 2539,
+  i386_optab + 2541,
+  i386_optab + 2543,
+  i386_optab + 2545,
+  i386_optab + 2547,
+  i386_optab + 2549,
+  i386_optab + 2551,
+  i386_optab + 2553,
+  i386_optab + 2555,
+  i386_optab + 2557,
+  i386_optab + 2559,
+  i386_optab + 2561,
+  i386_optab + 2563,
+  i386_optab + 2565,
+  i386_optab + 2567,
+  i386_optab + 2569,
+  i386_optab + 2571,
+  i386_optab + 2573,
+  i386_optab + 2575,
+  i386_optab + 2577,
+  i386_optab + 2579,
+  i386_optab + 2581,
+  i386_optab + 2583,
+  i386_optab + 2585,
+  i386_optab + 2587,
+  i386_optab + 2589,
+  i386_optab + 2591,
+  i386_optab + 2593,
+  i386_optab + 2595,
+  i386_optab + 2597,
+  i386_optab + 2599,
+  i386_optab + 2601,
+  i386_optab + 2603,
+  i386_optab + 2605,
+  i386_optab + 2607,
+  i386_optab + 2609,
+  i386_optab + 2611,
+  i386_optab + 2613,
+  i386_optab + 2615,
+  i386_optab + 2617,
+  i386_optab + 2619,
+  i386_optab + 2621,
+  i386_optab + 2623,
+  i386_optab + 2625,
+  i386_optab + 2627,
+  i386_optab + 2629,
+  i386_optab + 2631,
+  i386_optab + 2633,
+  i386_optab + 2635,
+  i386_optab + 2637,
+  i386_optab + 2639,
+  i386_optab + 2641,
+  i386_optab + 2643,
+  i386_optab + 2645,
+  i386_optab + 2647,
+  i386_optab + 2649,
+  i386_optab + 2651,
   i386_optab + 2652,
+  i386_optab + 2653,
   i386_optab + 2654,
   i386_optab + 2655,
   i386_optab + 2656,
@@ -61109,10 +61064,10 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 2760,
   i386_optab + 2761,
   i386_optab + 2762,
-  i386_optab + 2763,
   i386_optab + 2764,
-  i386_optab + 2765,
+  i386_optab + 2766,
   i386_optab + 2767,
+  i386_optab + 2768,
   i386_optab + 2769,
   i386_optab + 2770,
   i386_optab + 2771,
@@ -61139,12 +61094,12 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 2792,
   i386_optab + 2793,
   i386_optab + 2794,
-  i386_optab + 2795,
   i386_optab + 2796,
-  i386_optab + 2797,
-  i386_optab + 2799,
-  i386_optab + 2801,
+  i386_optab + 2798,
+  i386_optab + 2800,
+  i386_optab + 2802,
   i386_optab + 2803,
+  i386_optab + 2804,
   i386_optab + 2805,
   i386_optab + 2806,
   i386_optab + 2807,
@@ -61156,9 +61111,9 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 2813,
   i386_optab + 2814,
   i386_optab + 2815,
-  i386_optab + 2816,
   i386_optab + 2817,
   i386_optab + 2818,
+  i386_optab + 2819,
   i386_optab + 2820,
   i386_optab + 2821,
   i386_optab + 2822,
@@ -61202,20 +61157,20 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 2860,
   i386_optab + 2861,
   i386_optab + 2862,
-  i386_optab + 2863,
   i386_optab + 2864,
-  i386_optab + 2865,
+  i386_optab + 2866,
   i386_optab + 2867,
-  i386_optab + 2869,
+  i386_optab + 2868,
   i386_optab + 2870,
   i386_optab + 2871,
   i386_optab + 2873,
-  i386_optab + 2874,
+  i386_optab + 2875,
   i386_optab + 2876,
-  i386_optab + 2878,
+  i386_optab + 2877,
   i386_optab + 2879,
-  i386_optab + 2880,
+  i386_optab + 2881,
   i386_optab + 2882,
+  i386_optab + 2883,
   i386_optab + 2884,
   i386_optab + 2885,
   i386_optab + 2886,
@@ -61240,18 +61195,18 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 2905,
   i386_optab + 2906,
   i386_optab + 2907,
-  i386_optab + 2908,
   i386_optab + 2909,
-  i386_optab + 2910,
-  i386_optab + 2912,
+  i386_optab + 2911,
+  i386_optab + 2913,
   i386_optab + 2914,
+  i386_optab + 2915,
   i386_optab + 2916,
   i386_optab + 2917,
   i386_optab + 2918,
   i386_optab + 2919,
-  i386_optab + 2920,
   i386_optab + 2921,
   i386_optab + 2922,
+  i386_optab + 2923,
   i386_optab + 2924,
   i386_optab + 2925,
   i386_optab + 2926,
@@ -61262,10 +61217,10 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 2931,
   i386_optab + 2932,
   i386_optab + 2933,
-  i386_optab + 2934,
-  i386_optab + 2935,
   i386_optab + 2936,
   i386_optab + 2939,
+  i386_optab + 2940,
+  i386_optab + 2941,
   i386_optab + 2942,
   i386_optab + 2943,
   i386_optab + 2944,
@@ -61318,27 +61273,27 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 2991,
   i386_optab + 2992,
   i386_optab + 2993,
-  i386_optab + 2994,
-  i386_optab + 2995,
   i386_optab + 2996,
-  i386_optab + 2999,
+  i386_optab + 2998,
   i386_optab + 3001,
   i386_optab + 3004,
-  i386_optab + 3007,
+  i386_optab + 3006,
   i386_optab + 3009,
   i386_optab + 3012,
   i386_optab + 3015,
   i386_optab + 3018,
-  i386_optab + 3021,
+  i386_optab + 3019,
   i386_optab + 3022,
+  i386_optab + 3023,
+  i386_optab + 3024,
   i386_optab + 3025,
   i386_optab + 3026,
   i386_optab + 3027,
-  i386_optab + 3028,
-  i386_optab + 3029,
-  i386_optab + 3030,
-  i386_optab + 3034,
+  i386_optab + 3031,
+  i386_optab + 3033,
   i386_optab + 3036,
+  i386_optab + 3037,
+  i386_optab + 3038,
   i386_optab + 3039,
   i386_optab + 3040,
   i386_optab + 3041,
@@ -61422,9 +61377,9 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 3119,
   i386_optab + 3120,
   i386_optab + 3121,
-  i386_optab + 3122,
   i386_optab + 3123,
   i386_optab + 3124,
+  i386_optab + 3125,
   i386_optab + 3126,
   i386_optab + 3127,
   i386_optab + 3128,
@@ -61462,8 +61417,6 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 3160,
   i386_optab + 3161,
   i386_optab + 3162,
-  i386_optab + 3163,
-  i386_optab + 3164,
   i386_optab + 3165,
   i386_optab + 3168,
   i386_optab + 3171,
@@ -61479,11 +61432,13 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 3201,
   i386_optab + 3204,
   i386_optab + 3207,
+  i386_optab + 3208,
+  i386_optab + 3209,
   i386_optab + 3210,
   i386_optab + 3211,
-  i386_optab + 3212,
   i386_optab + 3213,
   i386_optab + 3214,
+  i386_optab + 3215,
   i386_optab + 3216,
   i386_optab + 3217,
   i386_optab + 3218,
@@ -61543,10 +61498,10 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 3272,
   i386_optab + 3273,
   i386_optab + 3274,
-  i386_optab + 3275,
-  i386_optab + 3276,
   i386_optab + 3277,
   i386_optab + 3280,
+  i386_optab + 3281,
+  i386_optab + 3282,
   i386_optab + 3283,
   i386_optab + 3284,
   i386_optab + 3285,
@@ -61607,11 +61562,11 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 3340,
   i386_optab + 3341,
   i386_optab + 3342,
-  i386_optab + 3343,
-  i386_optab + 3344,
   i386_optab + 3345,
   i386_optab + 3348,
   i386_optab + 3351,
+  i386_optab + 3352,
+  i386_optab + 3353,
   i386_optab + 3354,
   i386_optab + 3355,
   i386_optab + 3356,
@@ -61626,20 +61581,20 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 3365,
   i386_optab + 3366,
   i386_optab + 3367,
-  i386_optab + 3368,
-  i386_optab + 3369,
   i386_optab + 3370,
   i386_optab + 3373,
-  i386_optab + 3376,
-  i386_optab + 3377,
+  i386_optab + 3374,
+  i386_optab + 3375,
   i386_optab + 3378,
+  i386_optab + 3379,
+  i386_optab + 3380,
   i386_optab + 3381,
   i386_optab + 3382,
-  i386_optab + 3383,
-  i386_optab + 3384,
   i386_optab + 3385,
   i386_optab + 3388,
   i386_optab + 3391,
+  i386_optab + 3392,
+  i386_optab + 3393,
   i386_optab + 3394,
   i386_optab + 3395,
   i386_optab + 3396,
@@ -61648,10 +61603,10 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 3399,
   i386_optab + 3400,
   i386_optab + 3401,
-  i386_optab + 3402,
   i386_optab + 3403,
-  i386_optab + 3404,
+  i386_optab + 3405,
   i386_optab + 3406,
+  i386_optab + 3407,
   i386_optab + 3408,
   i386_optab + 3409,
   i386_optab + 3410,
@@ -61675,10 +61630,10 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 3428,
   i386_optab + 3429,
   i386_optab + 3430,
-  i386_optab + 3431,
   i386_optab + 3432,
-  i386_optab + 3433,
+  i386_optab + 3434,
   i386_optab + 3435,
+  i386_optab + 3436,
   i386_optab + 3437,
   i386_optab + 3438,
   i386_optab + 3439,
@@ -61702,12 +61657,12 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 3457,
   i386_optab + 3458,
   i386_optab + 3459,
-  i386_optab + 3460,
   i386_optab + 3461,
-  i386_optab + 3462,
-  i386_optab + 3464,
-  i386_optab + 3466,
+  i386_optab + 3463,
+  i386_optab + 3465,
+  i386_optab + 3467,
   i386_optab + 3468,
+  i386_optab + 3469,
   i386_optab + 3470,
   i386_optab + 3471,
   i386_optab + 3472,
@@ -61715,17 +61670,17 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 3474,
   i386_optab + 3475,
   i386_optab + 3476,
-  i386_optab + 3477,
   i386_optab + 3478,
   i386_optab + 3479,
   i386_optab + 3481,
-  i386_optab + 3482,
   i386_optab + 3484,
+  i386_optab + 3486,
   i386_optab + 3487,
-  i386_optab + 3489,
+  i386_optab + 3488,
   i386_optab + 3490,
-  i386_optab + 3491,
+  i386_optab + 3492,
   i386_optab + 3493,
+  i386_optab + 3494,
   i386_optab + 3495,
   i386_optab + 3496,
   i386_optab + 3497,
@@ -61742,17 +61697,17 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 3508,
   i386_optab + 3509,
   i386_optab + 3510,
-  i386_optab + 3511,
   i386_optab + 3512,
-  i386_optab + 3513,
+  i386_optab + 3514,
   i386_optab + 3515,
+  i386_optab + 3516,
   i386_optab + 3517,
   i386_optab + 3518,
-  i386_optab + 3519,
-  i386_optab + 3520,
-  i386_optab + 3521,
-  i386_optab + 3526,
+  i386_optab + 3523,
+  i386_optab + 3525,
+  i386_optab + 3527,
   i386_optab + 3528,
+  i386_optab + 3529,
   i386_optab + 3530,
   i386_optab + 3531,
   i386_optab + 3532,
@@ -61763,13 +61718,13 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 3537,
   i386_optab + 3538,
   i386_optab + 3539,
-  i386_optab + 3540,
   i386_optab + 3541,
-  i386_optab + 3542,
   i386_optab + 3544,
   i386_optab + 3547,
   i386_optab + 3550,
+  i386_optab + 3552,
   i386_optab + 3553,
+  i386_optab + 3554,
   i386_optab + 3555,
   i386_optab + 3556,
   i386_optab + 3557,
@@ -61908,58 +61863,58 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 3690,
   i386_optab + 3691,
   i386_optab + 3692,
-  i386_optab + 3693,
-  i386_optab + 3694,
   i386_optab + 3695,
-  i386_optab + 3698,
-  i386_optab + 3699,
+  i386_optab + 3696,
+  i386_optab + 3697,
   i386_optab + 3700,
-  i386_optab + 3703,
+  i386_optab + 3701,
+  i386_optab + 3702,
   i386_optab + 3704,
   i386_optab + 3705,
+  i386_optab + 3706,
   i386_optab + 3707,
-  i386_optab + 3708,
   i386_optab + 3709,
   i386_optab + 3710,
+  i386_optab + 3711,
   i386_optab + 3712,
-  i386_optab + 3713,
   i386_optab + 3714,
   i386_optab + 3715,
+  i386_optab + 3716,
   i386_optab + 3717,
-  i386_optab + 3718,
-  i386_optab + 3719,
   i386_optab + 3720,
+  i386_optab + 3721,
+  i386_optab + 3722,
   i386_optab + 3723,
   i386_optab + 3724,
-  i386_optab + 3725,
-  i386_optab + 3726,
   i386_optab + 3727,
   i386_optab + 3730,
   i386_optab + 3733,
   i386_optab + 3736,
   i386_optab + 3739,
+  i386_optab + 3740,
+  i386_optab + 3741,
   i386_optab + 3742,
   i386_optab + 3743,
-  i386_optab + 3744,
   i386_optab + 3745,
-  i386_optab + 3746,
+  i386_optab + 3747,
   i386_optab + 3748,
+  i386_optab + 3749,
   i386_optab + 3750,
-  i386_optab + 3751,
-  i386_optab + 3752,
   i386_optab + 3753,
   i386_optab + 3756,
   i386_optab + 3759,
   i386_optab + 3762,
   i386_optab + 3765,
+  i386_optab + 3766,
+  i386_optab + 3767,
   i386_optab + 3768,
-  i386_optab + 3769,
   i386_optab + 3770,
   i386_optab + 3771,
+  i386_optab + 3772,
   i386_optab + 3773,
-  i386_optab + 3774,
   i386_optab + 3775,
   i386_optab + 3776,
+  i386_optab + 3777,
   i386_optab + 3778,
   i386_optab + 3779,
   i386_optab + 3780,
@@ -62001,9 +61956,6 @@ static const insn_template *const i386_op_sets[] =
   i386_optab + 3816,
   i386_optab + 3817,
   i386_optab + 3818,
-  i386_optab + 3819,
-  i386_optab + 3820,
-  i386_optab + 3821,
 };
 
 /* i386 register table.  */

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-12-12 13:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-12 13:01 [binutils-gdb] x86: further re-work insn/suffix recognition to also cover MOVSX Jan Beulich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).