+2020-02-14 Jan Beulich <jbeulich@suse.com>
+
+ PR gas/25438
+ * config/tc-i386.c (md_assemble): Move movsx/movzx special
+ casing ...
+ (process_suffix): ... here. Consider just the first operand
+ initially.
+ (check_long_reg): Drop opcode 0x63 special case again.
+ * testsuite/gas/i386/i386.s, testsuite/gas/i386/iamcu-1.s,
+ testsuite/gas/i386/ilp32/x86-64.s, testsuite/gas/i386/x86_64.s:
+ Move ambiguous operand size tests ...
+ * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
+ testsuite/gas/i386/noreg64.s: ... here.
+ * testsuite/gas/i386/i386.d, testsuite/gas/i386/i386-intel.d
+ testsuite/gas/i386/iamcu-1.d, testsuite/gas/i386/ilp32/x86-64.d,
+ testsuite/gas/i386/k1om.d, testsuite/gas/i386/l1om.d,
+ testsuite/gas/i386/movx16.l, testsuite/gas/i386/movx32.l,
+ testsuite/gas/i386/movx64.l, testsuite/gas/i386/noreg16.d,
+ testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg64.d,
+ testsuite/gas/i386/x86-64-movsxd.d,
+ testsuite/gas/i386/x86-64-movsxd-intel.d,
+ testsuite/gas/i386/x86_64.d, testsuite/gas/i386/x86_64-intel.d:
+ Adjust expectations.
+ * testsuite/gas/i386/movx16.s, testsuite/gas/i386/movx16.l,
+ testsuite/gas/i386/movx32.s, testsuite/gas/i386/movx32.l,
+ testsuite/gas/i386/movx64.s, testsuite/gas/i386/movx64.l: New.
+ * testsuite/gas/i386/i386.exp: Run new tests.
+
2020-02-14 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (process_operands): Also skip segment
: as_bad) (_("SSE instruction `%s' is used"), i.tm.name);
}
- /* Zap movzx and movsx suffix. The suffix has been set from
- "word ptr" or "byte ptr" on the source operand in Intel syntax
- or extracted from mnemonic in AT&T syntax. But we'll use
- the destination register to choose the suffix for encoding. */
- if ((i.tm.base_opcode & ~9) == 0x0fb6)
- {
- /* In Intel syntax, there must be a suffix. In AT&T syntax, if
- there is no suffix, the default will be byte extension. */
- if (i.reg_operands != 2
- && !i.suffix
- && intel_syntax)
- as_bad (_("ambiguous operand size for `%s'"), i.tm.name);
-
- i.suffix = 0;
- }
-
if (i.tm.opcode_modifier.fwait)
if (!add_prefix (FWAIT_OPCODE))
return;
else if (i.reg_operands
&& (i.operands > 1 || i.types[0].bitfield.class == Reg))
{
+ unsigned int numop = i.operands;
+
+ /* movsx/movzx want only their source operand considered here, for the
+ ambiguity checking below. The suffix will be replaced afterwards
+ to represent the destination (register). */
+ if (((i.tm.base_opcode | 8) == 0xfbe && i.tm.opcode_modifier.w)
+ || (i.tm.base_opcode == 0x63 && i.tm.cpu_flags.bitfield.cpu64))
+ --i.operands;
+
/* If there's no instruction mnemonic suffix we try to invent one
based on GPR operands. */
if (!i.suffix)
continue;
break;
}
+
+ /* As an exception, movsx/movzx silently default to a byte source
+ in AT&T mode. */
+ if ((i.tm.base_opcode | 8) == 0xfbe && i.tm.opcode_modifier.w
+ && !i.suffix && !intel_syntax)
+ i.suffix = BYTE_MNEM_SUFFIX;
}
else if (i.suffix == BYTE_MNEM_SUFFIX)
{
;
else
abort ();
+
+ /* Undo the movsx/movzx change done above. */
+ i.operands = numop;
}
else if (i.tm.opcode_modifier.defaultsize && !i.suffix)
{
if (i.tm.opcode_modifier.floatmf)
i.suffix = SHORT_MNEM_SUFFIX;
+ else if ((i.tm.base_opcode | 8) == 0xfbe
+ || (i.tm.base_opcode == 0x63
+ && i.tm.cpu_flags.bitfield.cpu64))
+ /* handled below */;
else if (evex)
i.tm.opcode_modifier.evex = evex;
else if (flag_code == CODE_16BIT)
}
}
+ if ((i.tm.base_opcode | 8) == 0xfbe
+ || (i.tm.base_opcode == 0x63 && i.tm.cpu_flags.bitfield.cpu64))
+ {
+ /* In Intel syntax, movsx/movzx must have a "suffix" (checked above).
+ In AT&T syntax, if there is no suffix (warned about above), the default
+ will be byte extension. */
+ if (i.tm.opcode_modifier.w && i.suffix && i.suffix != BYTE_MNEM_SUFFIX)
+ i.tm.base_opcode |= 1;
+
+ /* For further processing, the suffix should represent the destination
+ (register). This is already the case when one was used with
+ mov[sz][bw]*, but we need to replace it for mov[sz]x, or if there was
+ no suffix to begin with. */
+ if (i.tm.opcode_modifier.w || i.tm.base_opcode == 0x63 || !i.suffix)
+ {
+ if (i.types[1].bitfield.word)
+ i.suffix = WORD_MNEM_SUFFIX;
+ else if (i.types[1].bitfield.qword)
+ i.suffix = QWORD_MNEM_SUFFIX;
+ else
+ i.suffix = LONG_MNEM_SUFFIX;
+
+ i.tm.opcode_modifier.w = 0;
+ }
+ }
+
if (!i.tm.opcode_modifier.modrm && i.reg_operands && i.tm.operands < 3)
i.short_form = (i.tm.operand_types[0].bitfield.class == Reg)
!= (i.tm.operand_types[1].bitfield.class == Reg);
&& i.tm.operand_types[op].bitfield.dword)
{
if (intel_syntax
- && (i.tm.opcode_modifier.toqword
- /* Also convert to QWORD for MOVSXD. */
- || i.tm.base_opcode == 0x63)
+ && i.tm.opcode_modifier.toqword
&& i.types[0].bitfield.class != RegSIMD)
{
/* Convert to QWORD. We want REX byte. */
[ ]*[a-f0-9]+: 66 0f be f0 movsx si,al
[ ]*[a-f0-9]+: 0f be f0 movsx esi,al
[ ]*[a-f0-9]+: 0f bf f0 movsx esi,ax
-[ ]*[a-f0-9]+: 0f be 10 movsx edx,BYTE PTR \[eax\]
[ ]*[a-f0-9]+: 66 0f be 10 movsx dx,BYTE PTR \[eax\]
[ ]*[a-f0-9]+: 66 0f be 10 movsx dx,BYTE PTR \[eax\]
[ ]*[a-f0-9]+: 0f be 10 movsx edx,BYTE PTR \[eax\]
[ ]*[a-f0-9]+: 66 0f b6 f0 movzx si,al
[ ]*[a-f0-9]+: 0f b6 f0 movzx esi,al
[ ]*[a-f0-9]+: 0f b7 f0 movzx esi,ax
-[ ]*[a-f0-9]+: 0f b6 10 movzx edx,BYTE PTR \[eax\]
[ ]*[a-f0-9]+: 66 0f b6 10 movzx dx,BYTE PTR \[eax\]
[ ]*[a-f0-9]+: 66 0f b6 10 movzx dx,BYTE PTR \[eax\]
[ ]*[a-f0-9]+: 0f b6 10 movzx edx,BYTE PTR \[eax\]
[ ]*[a-f0-9]+: 66 0f be f0 movsbw %al,%si
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
[ ]*[a-f0-9]+: 0f bf f0 movswl %ax,%esi
-[ ]*[a-f0-9]+: 0f be 10 movsbl \(%eax\),%edx
[ ]*[a-f0-9]+: 66 0f be 10 movsbw \(%eax\),%dx
[ ]*[a-f0-9]+: 66 0f be 10 movsbw \(%eax\),%dx
[ ]*[a-f0-9]+: 0f be 10 movsbl \(%eax\),%edx
[ ]*[a-f0-9]+: 66 0f b6 f0 movzbw %al,%si
[ ]*[a-f0-9]+: 0f b6 f0 movzbl %al,%esi
[ ]*[a-f0-9]+: 0f b7 f0 movzwl %ax,%esi
-[ ]*[a-f0-9]+: 0f b6 10 movzbl \(%eax\),%edx
[ ]*[a-f0-9]+: 66 0f b6 10 movzbw \(%eax\),%dx
[ ]*[a-f0-9]+: 66 0f b6 10 movzbw \(%eax\),%dx
[ ]*[a-f0-9]+: 0f b6 10 movzbl \(%eax\),%edx
run_list_test "noreg16"
run_dump_test "noreg32"
run_list_test "noreg32"
+ run_list_test "movx16" "-I${srcdir}/$subdir -al"
+ run_list_test "movx32" "-al"
run_dump_test "addr16"
run_dump_test "addr32"
run_dump_test "code16"
run_list_test "x86-64-sysenter-amd" "-mamd64"
run_dump_test "noreg64"
run_list_test "noreg64"
+ run_list_test "movx64" "-al"
run_list_test "cvtsi2sX"
run_dump_test "x86-64-sse4_1"
run_dump_test "x86-64-sse4_1-intel"
movsx %al, %si
movsx %al, %esi
movsx %ax, %esi
- movsx (%eax), %edx
movsx (%eax), %dx
movsxb (%eax), %dx
movsxb (%eax), %edx
movzx %al, %si
movzx %al, %esi
movzx %ax, %esi
- movzx (%eax), %edx
movzx (%eax), %dx
movzxb (%eax), %dx
movzxb (%eax), %edx
[ ]*[a-f0-9]+: 66 0f be f0 movsbw %al,%si
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
[ ]*[a-f0-9]+: 0f bf f0 movswl %ax,%esi
-[ ]*[a-f0-9]+: 0f be 10 movsbl \(%eax\),%edx
[ ]*[a-f0-9]+: 66 0f be 10 movsbw \(%eax\),%dx
[ ]*[a-f0-9]+: 66 0f be 10 movsbw \(%eax\),%dx
[ ]*[a-f0-9]+: 0f be 10 movsbl \(%eax\),%edx
[ ]*[a-f0-9]+: 66 0f b6 f0 movzbw %al,%si
[ ]*[a-f0-9]+: 0f b6 f0 movzbl %al,%esi
[ ]*[a-f0-9]+: 0f b7 f0 movzwl %ax,%esi
-[ ]*[a-f0-9]+: 0f b6 10 movzbl \(%eax\),%edx
[ ]*[a-f0-9]+: 66 0f b6 10 movzbw \(%eax\),%dx
[ ]*[a-f0-9]+: 66 0f b6 10 movzbw \(%eax\),%dx
[ ]*[a-f0-9]+: 0f b6 10 movzbl \(%eax\),%edx
movsx %al, %si
movsx %al, %esi
movsx %ax, %esi
- movsx (%eax), %edx
movsx (%eax), %dx
movsxb (%eax), %dx
movsxb (%eax), %edx
movzx %al, %si
movzx %al, %esi
movzx %ax, %esi
- movzx (%eax), %edx
movzx (%eax), %dx
movzxb (%eax), %dx
movzxb (%eax), %edx
[ ]*[a-f0-9]+: 0f bf f0 movswl %ax,%esi
[ ]*[a-f0-9]+: 48 0f bf f0 movswq %ax,%rsi
[ ]*[a-f0-9]+: 48 63 f0 movslq %eax,%rsi
-[ ]*[a-f0-9]+: 0f be 10 movsbl \(%rax\),%edx
-[ ]*[a-f0-9]+: 48 0f be 10 movsbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 66 0f be 10 movsbw \(%rax\),%dx
[ ]*[a-f0-9]+: 0f be 10 movsbl \(%rax\),%edx
[ ]*[a-f0-9]+: 48 0f be 10 movsbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 48 0f b6 f0 movzbq %al,%rsi
[ ]*[a-f0-9]+: 0f b7 f0 movzwl %ax,%esi
[ ]*[a-f0-9]+: 48 0f b7 f0 movzwq %ax,%rsi
-[ ]*[a-f0-9]+: 0f b6 10 movzbl \(%rax\),%edx
-[ ]*[a-f0-9]+: 48 0f b6 10 movzbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 66 0f b6 10 movzbw \(%rax\),%dx
[ ]*[a-f0-9]+: 0f b6 10 movzbl \(%rax\),%edx
[ ]*[a-f0-9]+: 48 0f b6 10 movzbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 9b df e0 fstsw %ax
[ ]*[a-f0-9]+: 9b df e0 fstsw %ax
[ ]*[a-f0-9]+: 66 0f be 00 movsbw \(%rax\),%ax
-[ ]*[a-f0-9]+: 0f be 00 movsbl \(%rax\),%eax
-[ ]*[a-f0-9]+: 48 0f be 00 movsbq \(%rax\),%rax
[ ]*[a-f0-9]+: 66 0f be 10 movsbw \(%rax\),%dx
[ ]*[a-f0-9]+: 0f be 10 movsbl \(%rax\),%edx
[ ]*[a-f0-9]+: 48 0f be 10 movsbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 48 63 10 movslq \(%rax\),%rdx
[ ]*[a-f0-9]+: 48 63 00 movslq \(%rax\),%rax
[ ]*[a-f0-9]+: 66 0f b6 00 movzbw \(%rax\),%ax
-[ ]*[a-f0-9]+: 0f b6 00 movzbl \(%rax\),%eax
-[ ]*[a-f0-9]+: 48 0f b6 00 movzbq \(%rax\),%rax
[ ]*[a-f0-9]+: 66 0f b6 10 movzbw \(%rax\),%dx
[ ]*[a-f0-9]+: 0f b6 10 movzbl \(%rax\),%edx
[ ]*[a-f0-9]+: 48 0f b6 10 movzbq \(%rax\),%rdx
movsx %ax, %esi
movsx %ax, %rsi
movsx %eax, %rsi
- movsx (%rax), %edx
- movsx (%rax), %rdx
movsx (%rax), %dx
movsbl (%rax), %edx
movsbq (%rax), %rdx
movzx %al, %rsi
movzx %ax, %esi
movzx %ax, %rsi
- movzx (%rax), %edx
- movzx (%rax), %rdx
movzx (%rax), %dx
movzb (%rax), %edx
movzb (%rax), %rdx
.att_syntax
movsx (%rax),%ax
-movsx (%rax),%eax
-movsx (%rax),%rax
movsxb (%rax), %dx
movsxb (%rax), %edx
movsxb (%rax), %rdx
movsxl (%rax), %rdx
movsxd (%rax),%rax
movzx (%rax),%ax
-movzx (%rax),%eax
-movzx (%rax),%rax
movzxb (%rax), %dx
movzxb (%rax), %edx
movzxb (%rax), %rdx
[ ]*[a-f0-9]+: 0f bf f0 movswl %ax,%esi
[ ]*[a-f0-9]+: 48 0f bf f0 movswq %ax,%rsi
[ ]*[a-f0-9]+: 48 63 f0 movslq %eax,%rsi
-[ ]*[a-f0-9]+: 0f be 10 movsbl \(%rax\),%edx
-[ ]*[a-f0-9]+: 48 0f be 10 movsbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 66 0f be 10 movsbw \(%rax\),%dx
[ ]*[a-f0-9]+: 0f be 10 movsbl \(%rax\),%edx
[ ]*[a-f0-9]+: 48 0f be 10 movsbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 48 0f b6 f0 movzbq %al,%rsi
[ ]*[a-f0-9]+: 0f b7 f0 movzwl %ax,%esi
[ ]*[a-f0-9]+: 48 0f b7 f0 movzwq %ax,%rsi
-[ ]*[a-f0-9]+: 0f b6 10 movzbl \(%rax\),%edx
-[ ]*[a-f0-9]+: 48 0f b6 10 movzbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 66 0f b6 10 movzbw \(%rax\),%dx
[ ]*[a-f0-9]+: 0f b6 10 movzbl \(%rax\),%edx
[ ]*[a-f0-9]+: 48 0f b6 10 movzbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 9b df e0 fstsw %ax
[ ]*[a-f0-9]+: 9b df e0 fstsw %ax
[ ]*[a-f0-9]+: 66 0f be 00 movsbw \(%rax\),%ax
-[ ]*[a-f0-9]+: 0f be 00 movsbl \(%rax\),%eax
-[ ]*[a-f0-9]+: 48 0f be 00 movsbq \(%rax\),%rax
[ ]*[a-f0-9]+: 66 0f be 10 movsbw \(%rax\),%dx
[ ]*[a-f0-9]+: 0f be 10 movsbl \(%rax\),%edx
[ ]*[a-f0-9]+: 48 0f be 10 movsbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 48 63 10 movslq \(%rax\),%rdx
[ ]*[a-f0-9]+: 48 63 00 movslq \(%rax\),%rax
[ ]*[a-f0-9]+: 66 0f b6 00 movzbw \(%rax\),%ax
-[ ]*[a-f0-9]+: 0f b6 00 movzbl \(%rax\),%eax
-[ ]*[a-f0-9]+: 48 0f b6 00 movzbq \(%rax\),%rax
[ ]*[a-f0-9]+: 66 0f b6 10 movzbw \(%rax\),%dx
[ ]*[a-f0-9]+: 0f b6 10 movzbl \(%rax\),%edx
[ ]*[a-f0-9]+: 48 0f b6 10 movzbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 0f bf f0 movswl %ax,%esi
[ ]*[a-f0-9]+: 48 0f bf f0 movswq %ax,%rsi
[ ]*[a-f0-9]+: 48 63 f0 movslq %eax,%rsi
-[ ]*[a-f0-9]+: 0f be 10 movsbl \(%rax\),%edx
-[ ]*[a-f0-9]+: 48 0f be 10 movsbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 66 0f be 10 movsbw \(%rax\),%dx
[ ]*[a-f0-9]+: 0f be 10 movsbl \(%rax\),%edx
[ ]*[a-f0-9]+: 48 0f be 10 movsbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 48 0f b6 f0 movzbq %al,%rsi
[ ]*[a-f0-9]+: 0f b7 f0 movzwl %ax,%esi
[ ]*[a-f0-9]+: 48 0f b7 f0 movzwq %ax,%rsi
-[ ]*[a-f0-9]+: 0f b6 10 movzbl \(%rax\),%edx
-[ ]*[a-f0-9]+: 48 0f b6 10 movzbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 66 0f b6 10 movzbw \(%rax\),%dx
[ ]*[a-f0-9]+: 0f b6 10 movzbl \(%rax\),%edx
[ ]*[a-f0-9]+: 48 0f b6 10 movzbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 9b df e0 fstsw %ax
[ ]*[a-f0-9]+: 9b df e0 fstsw %ax
[ ]*[a-f0-9]+: 66 0f be 00 movsbw \(%rax\),%ax
-[ ]*[a-f0-9]+: 0f be 00 movsbl \(%rax\),%eax
-[ ]*[a-f0-9]+: 48 0f be 00 movsbq \(%rax\),%rax
[ ]*[a-f0-9]+: 66 0f be 10 movsbw \(%rax\),%dx
[ ]*[a-f0-9]+: 0f be 10 movsbl \(%rax\),%edx
[ ]*[a-f0-9]+: 48 0f be 10 movsbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 48 63 10 movslq \(%rax\),%rdx
[ ]*[a-f0-9]+: 48 63 00 movslq \(%rax\),%rax
[ ]*[a-f0-9]+: 66 0f b6 00 movzbw \(%rax\),%ax
-[ ]*[a-f0-9]+: 0f b6 00 movzbl \(%rax\),%eax
-[ ]*[a-f0-9]+: 48 0f b6 00 movzbq \(%rax\),%rax
[ ]*[a-f0-9]+: 66 0f b6 10 movzbw \(%rax\),%dx
[ ]*[a-f0-9]+: 0f b6 10 movzbl \(%rax\),%edx
[ ]*[a-f0-9]+: 48 0f b6 10 movzbq \(%rax\),%rdx
--- /dev/null
+.*: Assembler messages:
+#...
+[ ]*[1-9][0-9]*[ ]+movsx:
+[ ]*[1-9][0-9]*[ ]+movsx %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsx %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsx %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FBEC8[ ]+movsx %al, %cx
+[ ]*[1-9][0-9]* \?\?\?\? 0FBFC8[ ]+movsx %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsx %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FBEC8[ ]+movsx %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 660FBFC8[ ]+movsx %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsx %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxb %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsxb %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsxb %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FBEC8[ ]+movsxb %al, %cx
+[ ]*[1-9][0-9]*[ ]+movsxb %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsxb %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FBEC8[ ]+movsxb %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movsxb %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsxb %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsxw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsxw %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxw %al, %cx
+[ ]*[1-9][0-9]* \?\?\?\? 0FBFC8[ ]+movsxw %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsxw %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxw %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 660FBFC8[ ]+movsxw %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsxw %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsb %al, %cl
+[ ]*[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]*[ ]+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]*[ ]+movsb %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsb %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsbw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsbw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsbw %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FBEC8[ ]+movsbw %al, %cx
+[ ]*[1-9][0-9]*[ ]+movsbw %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsbw %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsbw %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movsbw %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsbw %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsbl %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsbl %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsbl %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsbl %al, %cx
+[ ]*[1-9][0-9]*[ ]+movsbl %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsbl %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FBEC8[ ]+movsbl %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movsbl %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsbl %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsw %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsw %al, %cx
+[ ]*[1-9][0-9]*[ ]+movsw %ax, %cx
+[ ]*[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]*[ ]+movsw %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movswl %al, %cl
+[ ]*[1-9][0-9]*[ ]+movswl %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movswl %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movswl %al, %cx
+[ ]*[1-9][0-9]*[ ]+movswl %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movswl %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movswl %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 660FBFC8[ ]+movswl %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movswl %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzx:
+[ ]*[1-9][0-9]*[ ]+movzx %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzx %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzx %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FB6C8[ ]+movzx %al, %cx
+[ ]*[1-9][0-9]* \?\?\?\? 0FB7C8[ ]+movzx %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzx %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FB6C8[ ]+movzx %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 660FB7C8[ ]+movzx %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzx %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxb %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzxb %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzxb %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FB6C8[ ]+movzxb %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzxb %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzxb %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FB6C8[ ]+movzxb %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movzxb %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzxb %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzxw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzxw %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxw %al, %cx
+[ ]*[1-9][0-9]* \?\?\?\? 0FB7C8[ ]+movzxw %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzxw %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxw %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 660FB7C8[ ]+movzxw %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzxw %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzb %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzb %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzb %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FB6C8[ ]+movzb %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzb %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzb %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FB6C8[ ]+movzb %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movzb %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzb %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzbw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzbw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzbw %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FB6C8[ ]+movzbw %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzbw %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzbw %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzbw %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movzbw %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzbw %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzbl %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzbl %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzbl %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzbl %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzbl %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzbl %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FB6C8[ ]+movzbl %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movzbl %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzbl %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzw %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzw %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzw %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzw %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzw %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 660FB7C8[ ]+movzw %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzw %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzwl %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzwl %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzwl %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzwl %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzwl %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzwl %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzwl %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 660FB7C8[ ]+movzwl %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzwl %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+#pass
--- /dev/null
+ .code16
+ .include "movx32.s"
--- /dev/null
+.*: Assembler messages:
+#...
+[ ]*[1-9][0-9]*[ ]+movsx:
+[ ]*[1-9][0-9]*[ ]+movsx %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsx %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsx %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FBEC8[ ]+movsx %al, %cx
+[ ]*[1-9][0-9]* \?\?\?\? 660FBFC8[ ]+movsx %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsx %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FBEC8[ ]+movsx %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 0FBFC8[ ]+movsx %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsx %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxb %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsxb %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsxb %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FBEC8[ ]+movsxb %al, %cx
+[ ]*[1-9][0-9]*[ ]+movsxb %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsxb %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FBEC8[ ]+movsxb %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movsxb %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsxb %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsxw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsxw %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxw %al, %cx
+[ ]*[1-9][0-9]* \?\?\?\? 660FBFC8[ ]+movsxw %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsxw %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxw %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 0FBFC8[ ]+movsxw %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsxw %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsb %al, %cl
+[ ]*[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]*[ ]+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]*[ ]+movsb %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsb %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsbw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsbw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsbw %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FBEC8[ ]+movsbw %al, %cx
+[ ]*[1-9][0-9]*[ ]+movsbw %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsbw %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsbw %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movsbw %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsbw %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsbl %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsbl %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsbl %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsbl %al, %cx
+[ ]*[1-9][0-9]*[ ]+movsbl %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsbl %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FBEC8[ ]+movsbl %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movsbl %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsbl %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsw %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsw %al, %cx
+[ ]*[1-9][0-9]*[ ]+movsw %ax, %cx
+[ ]*[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]*[ ]+movsw %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movswl %al, %cl
+[ ]*[1-9][0-9]*[ ]+movswl %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movswl %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movswl %al, %cx
+[ ]*[1-9][0-9]*[ ]+movswl %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movswl %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movswl %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 0FBFC8[ ]+movswl %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movswl %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzx:
+[ ]*[1-9][0-9]*[ ]+movzx %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzx %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzx %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FB6C8[ ]+movzx %al, %cx
+[ ]*[1-9][0-9]* \?\?\?\? 660FB7C8[ ]+movzx %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzx %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FB6C8[ ]+movzx %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 0FB7C8[ ]+movzx %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzx %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxb %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzxb %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzxb %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FB6C8[ ]+movzxb %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzxb %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzxb %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FB6C8[ ]+movzxb %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movzxb %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzxb %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzxw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzxw %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxw %al, %cx
+[ ]*[1-9][0-9]* \?\?\?\? 660FB7C8[ ]+movzxw %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzxw %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxw %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 0FB7C8[ ]+movzxw %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzxw %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzb %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzb %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzb %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FB6C8[ ]+movzb %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzb %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzb %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FB6C8[ ]+movzb %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movzb %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzb %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzbw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzbw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzbw %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FB6C8[ ]+movzbw %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzbw %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzbw %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzbw %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movzbw %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzbw %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzbl %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzbl %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzbl %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzbl %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzbl %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzbl %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FB6C8[ ]+movzbl %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movzbl %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzbl %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzw %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzw %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzw %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzw %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzw %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 0FB7C8[ ]+movzw %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzw %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzwl %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzwl %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzwl %eax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzwl %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzwl %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzwl %eax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzwl %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 0FB7C8[ ]+movzwl %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzwl %eax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+#pass
--- /dev/null
+ .text
+ .psize 0
+movsx:
+ movsx %al, %cl
+ movsx %ax, %cl
+ movsx %eax, %cl
+
+ movsx %al, %cx
+ movsx %ax, %cx
+ movsx %eax, %cx
+
+ movsx %al, %ecx
+ movsx %ax, %ecx
+ movsx %eax, %ecx
+
+ movsxb %al, %cl
+ movsxb %ax, %cl
+ movsxb %eax, %cl
+
+ movsxb %al, %cx
+ movsxb %ax, %cx
+ movsxb %eax, %cx
+
+ movsxb %al, %ecx
+ movsxb %ax, %ecx
+ movsxb %eax, %ecx
+
+ movsxw %al, %cl
+ movsxw %ax, %cl
+ movsxw %eax, %cl
+
+ movsxw %al, %cx
+ movsxw %ax, %cx
+ movsxw %eax, %cx
+
+ movsxw %al, %ecx
+ movsxw %ax, %ecx
+ movsxw %eax, %ecx
+
+ movsb %al, %cl
+ movsb %ax, %cl
+ movsb %eax, %cl
+
+ movsb %al, %cx
+ movsb %ax, %cx
+ movsb %eax, %cx
+
+ movsb %al, %ecx
+ movsb %ax, %ecx
+ movsb %eax, %ecx
+
+ movsbw %al, %cl
+ movsbw %ax, %cl
+ movsbw %eax, %cl
+
+ movsbw %al, %cx
+ movsbw %ax, %cx
+ movsbw %eax, %cx
+
+ movsbw %al, %ecx
+ movsbw %ax, %ecx
+ movsbw %eax, %ecx
+
+ movsbl %al, %cl
+ movsbl %ax, %cl
+ movsbl %eax, %cl
+
+ movsbl %al, %cx
+ movsbl %ax, %cx
+ movsbl %eax, %cx
+
+ movsbl %al, %ecx
+ movsbl %ax, %ecx
+ movsbl %eax, %ecx
+
+ movsw %al, %cl
+ movsw %ax, %cl
+ movsw %eax, %cl
+
+ movsw %al, %cx
+ movsw %ax, %cx
+ movsw %eax, %cx
+
+ movsw %al, %ecx
+ movsw %ax, %ecx
+ movsw %eax, %ecx
+
+ movswl %al, %cl
+ movswl %ax, %cl
+ movswl %eax, %cl
+
+ movswl %al, %cx
+ movswl %ax, %cx
+ movswl %eax, %cx
+
+ movswl %al, %ecx
+ movswl %ax, %ecx
+ movswl %eax, %ecx
+
+movzx:
+ movzx %al, %cl
+ movzx %ax, %cl
+ movzx %eax, %cl
+
+ movzx %al, %cx
+ movzx %ax, %cx
+ movzx %eax, %cx
+
+ movzx %al, %ecx
+ movzx %ax, %ecx
+ movzx %eax, %ecx
+
+ movzxb %al, %cl
+ movzxb %ax, %cl
+ movzxb %eax, %cl
+
+ movzxb %al, %cx
+ movzxb %ax, %cx
+ movzxb %eax, %cx
+
+ movzxb %al, %ecx
+ movzxb %ax, %ecx
+ movzxb %eax, %ecx
+
+ movzxw %al, %cl
+ movzxw %ax, %cl
+ movzxw %eax, %cl
+
+ movzxw %al, %cx
+ movzxw %ax, %cx
+ movzxw %eax, %cx
+
+ movzxw %al, %ecx
+ movzxw %ax, %ecx
+ movzxw %eax, %ecx
+
+ movzb %al, %cl
+ movzb %ax, %cl
+ movzb %eax, %cl
+
+ movzb %al, %cx
+ movzb %ax, %cx
+ movzb %eax, %cx
+
+ movzb %al, %ecx
+ movzb %ax, %ecx
+ movzb %eax, %ecx
+
+ movzbw %al, %cl
+ movzbw %ax, %cl
+ movzbw %eax, %cl
+
+ movzbw %al, %cx
+ movzbw %ax, %cx
+ movzbw %eax, %cx
+
+ movzbw %al, %ecx
+ movzbw %ax, %ecx
+ movzbw %eax, %ecx
+
+ movzbl %al, %cl
+ movzbl %ax, %cl
+ movzbl %eax, %cl
+
+ movzbl %al, %cx
+ movzbl %ax, %cx
+ movzbl %eax, %cx
+
+ movzbl %al, %ecx
+ movzbl %ax, %ecx
+ movzbl %eax, %ecx
+
+ movzw %al, %cl
+ movzw %ax, %cl
+ movzw %eax, %cl
+
+ movzw %al, %cx
+ movzw %ax, %cx
+ movzw %eax, %cx
+
+ movzw %al, %ecx
+ movzw %ax, %ecx
+ movzw %eax, %ecx
+
+ movzwl %al, %cl
+ movzwl %ax, %cl
+ movzwl %eax, %cl
+
+ movzwl %al, %cx
+ movzwl %ax, %cx
+ movzwl %eax, %cx
+
+ movzwl %al, %ecx
+ movzwl %ax, %ecx
+ movzwl %eax, %ecx
+
+ .p2align 4
--- /dev/null
+.*: Assembler messages:
+#...
+[ ]*[1-9][0-9]*[ ]+movsx:
+[ ]*[1-9][0-9]*[ ]+movsx %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsx %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsx %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movsx %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FBEC8[ ]+movsx %al, %cx
+[ ]*[1-9][0-9]* \?\?\?\? 660FBFC8[ ]+movsx %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsx %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movsx %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FBEC8[ ]+movsx %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 0FBFC8[ ]+movsx %ax, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 63C8[ ]+movsx %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsx %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 480FBEC8[ ]+movsx %al, %rcx
+[ ]*[1-9][0-9]* \?\?\?\? 480FBFC8[ ]+movsx %ax, %rcx
+[ ]*[1-9][0-9]* \?\?\?\? 4863C8[ ]+movsx %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movsx %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxb %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsxb %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsxb %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movsxb %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FBEC8[ ]+movsxb %al, %cx
+[ ]*[1-9][0-9]*[ ]+movsxb %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsxb %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movsxb %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FBEC8[ ]+movsxb %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movsxb %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsxb %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsxb %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 480FBEC8[ ]+movsxb %al, %rcx
+[ ]*[1-9][0-9]*[ ]+movsxb %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movsxb %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movsxb %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsxw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsxw %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movsxw %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxw %al, %cx
+[ ]*[1-9][0-9]* \?\?\?\? 660FBFC8[ ]+movsxw %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsxw %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movsxw %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxw %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 0FBFC8[ ]+movsxw %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsxw %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsxw %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxw %al, %rcx
+[ ]*[1-9][0-9]* \?\?\?\? 480FBFC8[ ]+movsxw %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movsxw %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movsxw %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxl %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsxl %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsxl %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movsxl %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxl %al, %cx
+[ ]*[1-9][0-9]*[ ]+movsxl %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsxl %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movsxl %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxl %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movsxl %ax, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 63C8[ ]+movsxl %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsxl %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxl %al, %rcx
+[ ]*[1-9][0-9]*[ ]+movsxl %ax, %rcx
+[ ]*[1-9][0-9]* \?\?\?\? 4863C8[ ]+movsxl %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movsxl %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxd %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsxd %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsxd %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movsxd %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxd %al, %cx
+[ ]*[1-9][0-9]*[ ]+movsxd %ax, %cx
+[ ]*[1-9][0-9]* \?\?\?\? 6663C8[ ]+movsxd %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movsxd %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxd %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movsxd %ax, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 63C8[ ]+movsxd %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsxd %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsxd %al, %rcx
+[ ]*[1-9][0-9]*[ ]+movsxd %ax, %rcx
+[ ]*[1-9][0-9]* \?\?\?\? 4863C8[ ]+movsxd %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movsxd %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsb %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsb %ax, %cl
+[ ]*[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]*[ ]+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]*[ ]+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]*[ ]+movsb %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movsb %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movsb %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsbw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsbw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsbw %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movsbw %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FBEC8[ ]+movsbw %al, %cx
+[ ]*[1-9][0-9]*[ ]+movsbw %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsbw %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movsbw %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsbw %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movsbw %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsbw %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsbw %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsbw %al, %rcx
+[ ]*[1-9][0-9]*[ ]+movsbw %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movsbw %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movsbw %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsbl %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsbl %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsbl %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movsbl %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsbl %al, %cx
+[ ]*[1-9][0-9]*[ ]+movsbl %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsbl %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movsbl %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FBEC8[ ]+movsbl %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movsbl %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsbl %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsbl %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsbl %al, %rcx
+[ ]*[1-9][0-9]*[ ]+movsbl %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movsbl %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movsbl %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsbq %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsbq %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsbq %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movsbq %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsbq %al, %cx
+[ ]*[1-9][0-9]*[ ]+movsbq %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsbq %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movsbq %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsbq %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movsbq %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsbq %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movsbq %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 480FBEC8[ ]+movsbq %al, %rcx
+[ ]*[1-9][0-9]*[ ]+movsbq %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movsbq %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movsbq %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movsw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movsw %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movsw %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movsw %al, %cx
+[ ]*[1-9][0-9]*[ ]+movsw %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movsw %eax, %cx
+[ ]*[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]*[ ]+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]*[ ]+movsw %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movsw %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movswl %al, %cl
+[ ]*[1-9][0-9]*[ ]+movswl %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movswl %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movswl %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movswl %al, %cx
+[ ]*[1-9][0-9]*[ ]+movswl %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movswl %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movswl %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movswl %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 0FBFC8[ ]+movswl %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movswl %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movswl %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movswl %al, %rcx
+[ ]*[1-9][0-9]*[ ]+movswl %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movswl %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movswl %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movswq %al, %cl
+[ ]*[1-9][0-9]*[ ]+movswq %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movswq %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movswq %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movswq %al, %cx
+[ ]*[1-9][0-9]*[ ]+movswq %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movswq %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movswq %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movswq %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movswq %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movswq %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movswq %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movswq %al, %rcx
+[ ]*[1-9][0-9]* \?\?\?\? 480FBFC8[ ]+movswq %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movswq %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movswq %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
+[ ]*[1-9][0-9]*[ ]+movzx %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movzx %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FB6C8[ ]+movzx %al, %cx
+[ ]*[1-9][0-9]* \?\?\?\? 660FB7C8[ ]+movzx %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzx %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movzx %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FB6C8[ ]+movzx %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 0FB7C8[ ]+movzx %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzx %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzx %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 480FB6C8[ ]+movzx %al, %rcx
+[ ]*[1-9][0-9]* \?\?\?\? 480FB7C8[ ]+movzx %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzx %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzx %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxb %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzxb %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzxb %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movzxb %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FB6C8[ ]+movzxb %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzxb %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzxb %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movzxb %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FB6C8[ ]+movzxb %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movzxb %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzxb %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzxb %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 480FB6C8[ ]+movzxb %al, %rcx
+[ ]*[1-9][0-9]*[ ]+movzxb %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzxb %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzxb %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzxw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzxw %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movzxw %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxw %al, %cx
+[ ]*[1-9][0-9]* \?\?\?\? 660FB7C8[ ]+movzxw %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzxw %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movzxw %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxw %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 0FB7C8[ ]+movzxw %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzxw %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzxw %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxw %al, %rcx
+[ ]*[1-9][0-9]* \?\?\?\? 480FB7C8[ ]+movzxw %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzxw %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzxw %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxl %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzxl %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzxl %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movzxl %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxl %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzxl %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzxl %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movzxl %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxl %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movzxl %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzxl %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzxl %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxl %al, %rcx
+[ ]*[1-9][0-9]*[ ]+movzxl %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzxl %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzxl %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxd %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzxd %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzxd %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movzxd %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxd %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzxd %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzxd %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movzxd %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxd %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movzxd %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzxd %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzxd %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzxd %al, %rcx
+[ ]*[1-9][0-9]*[ ]+movzxd %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzxd %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzxd %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzb %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzb %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzb %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movzb %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FB6C8[ ]+movzb %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzb %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzb %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movzb %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FB6C8[ ]+movzb %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movzb %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzb %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzb %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 480FB6C8[ ]+movzb %al, %rcx
+[ ]*[1-9][0-9]*[ ]+movzb %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzb %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzb %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzbw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzbw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzbw %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movzbw %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 660FB6C8[ ]+movzbw %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzbw %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzbw %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movzbw %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzbw %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movzbw %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzbw %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzbw %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzbw %al, %rcx
+[ ]*[1-9][0-9]*[ ]+movzbw %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzbw %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzbw %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzbl %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzbl %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzbl %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movzbl %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzbl %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzbl %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzbl %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movzbl %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 0FB6C8[ ]+movzbl %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movzbl %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzbl %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzbl %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzbl %al, %rcx
+[ ]*[1-9][0-9]*[ ]+movzbl %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzbl %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzbl %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzbq %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzbq %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzbq %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movzbq %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzbq %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzbq %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzbq %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movzbq %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzbq %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movzbq %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzbq %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzbq %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]* \?\?\?\? 480FB6C8[ ]+movzbq %al, %rcx
+[ ]*[1-9][0-9]*[ ]+movzbq %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzbq %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzbq %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzw %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzw %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzw %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movzw %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzw %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzw %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzw %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movzw %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzw %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 0FB7C8[ ]+movzw %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzw %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzw %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzw %al, %rcx
+[ ]*[1-9][0-9]* \?\?\?\? 480FB7C8[ ]+movzw %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzw %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzw %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzwl %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzwl %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzwl %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movzwl %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzwl %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzwl %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzwl %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movzwl %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzwl %al, %ecx
+[ ]*[1-9][0-9]* \?\?\?\? 0FB7C8[ ]+movzwl %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzwl %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzwl %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzwl %al, %rcx
+[ ]*[1-9][0-9]*[ ]+movzwl %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzwl %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzwl %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzwq %al, %cl
+[ ]*[1-9][0-9]*[ ]+movzwq %ax, %cl
+[ ]*[1-9][0-9]*[ ]+movzwq %eax, %cl
+[ ]*[1-9][0-9]*[ ]+movzwq %rax, %cl
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzwq %al, %cx
+[ ]*[1-9][0-9]*[ ]+movzwq %ax, %cx
+[ ]*[1-9][0-9]*[ ]+movzwq %eax, %cx
+[ ]*[1-9][0-9]*[ ]+movzwq %rax, %cx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzwq %al, %ecx
+[ ]*[1-9][0-9]*[ ]+movzwq %ax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzwq %eax, %ecx
+[ ]*[1-9][0-9]*[ ]+movzwq %rax, %ecx
+[ ]*[1-9][0-9]*[ ]*
+[ ]*[1-9][0-9]*[ ]+movzwq %al, %rcx
+[ ]*[1-9][0-9]* \?\?\?\? 480FB7C8[ ]+movzwq %ax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzwq %eax, %rcx
+[ ]*[1-9][0-9]*[ ]+movzwq %rax, %rcx
+[ ]*[1-9][0-9]*[ ]*
+#pass
--- /dev/null
+ .text
+ .psize 0
+movsx:
+ movsx %al, %cl
+ movsx %ax, %cl
+ movsx %eax, %cl
+ movsx %rax, %cl
+
+ movsx %al, %cx
+ movsx %ax, %cx
+ movsx %eax, %cx
+ movsx %rax, %cx
+
+ movsx %al, %ecx
+ movsx %ax, %ecx
+ movsx %eax, %ecx
+ movsx %rax, %ecx
+
+ movsx %al, %rcx
+ movsx %ax, %rcx
+ movsx %eax, %rcx
+ movsx %rax, %rcx
+
+ movsxb %al, %cl
+ movsxb %ax, %cl
+ movsxb %eax, %cl
+ movsxb %rax, %cl
+
+ movsxb %al, %cx
+ movsxb %ax, %cx
+ movsxb %eax, %cx
+ movsxb %rax, %cx
+
+ movsxb %al, %ecx
+ movsxb %ax, %ecx
+ movsxb %eax, %ecx
+ movsxb %rax, %ecx
+
+ movsxb %al, %rcx
+ movsxb %ax, %rcx
+ movsxb %eax, %rcx
+ movsxb %rax, %rcx
+
+ movsxw %al, %cl
+ movsxw %ax, %cl
+ movsxw %eax, %cl
+ movsxw %rax, %cl
+
+ movsxw %al, %cx
+ movsxw %ax, %cx
+ movsxw %eax, %cx
+ movsxw %rax, %cx
+
+ movsxw %al, %ecx
+ movsxw %ax, %ecx
+ movsxw %eax, %ecx
+ movsxw %rax, %ecx
+
+ movsxw %al, %rcx
+ movsxw %ax, %rcx
+ movsxw %eax, %rcx
+ movsxw %rax, %rcx
+
+ movsxl %al, %cl
+ movsxl %ax, %cl
+ movsxl %eax, %cl
+ movsxl %rax, %cl
+
+ movsxl %al, %cx
+ movsxl %ax, %cx
+ movsxl %eax, %cx
+ movsxl %rax, %cx
+
+ movsxl %al, %ecx
+ movsxl %ax, %ecx
+ movsxl %eax, %ecx
+ movsxl %rax, %ecx
+
+ movsxl %al, %rcx
+ movsxl %ax, %rcx
+ movsxl %eax, %rcx
+ movsxl %rax, %rcx
+
+ movsxd %al, %cl
+ movsxd %ax, %cl
+ movsxd %eax, %cl
+ movsxd %rax, %cl
+
+ movsxd %al, %cx
+ movsxd %ax, %cx
+ movsxd %eax, %cx
+ movsxd %rax, %cx
+
+ movsxd %al, %ecx
+ movsxd %ax, %ecx
+ movsxd %eax, %ecx
+ movsxd %rax, %ecx
+
+ movsxd %al, %rcx
+ movsxd %ax, %rcx
+ movsxd %eax, %rcx
+ movsxd %rax, %rcx
+
+ movsb %al, %cl
+ movsb %ax, %cl
+ movsb %eax, %cl
+ movsb %rax, %cl
+
+ movsb %al, %cx
+ movsb %ax, %cx
+ movsb %eax, %cx
+ movsb %rax, %cx
+
+ movsb %al, %ecx
+ movsb %ax, %ecx
+ movsb %eax, %ecx
+ movsb %rax, %ecx
+
+ movsb %al, %rcx
+ movsb %ax, %rcx
+ movsb %eax, %rcx
+ movsb %rax, %rcx
+
+ movsbw %al, %cl
+ movsbw %ax, %cl
+ movsbw %eax, %cl
+ movsbw %rax, %cl
+
+ movsbw %al, %cx
+ movsbw %ax, %cx
+ movsbw %eax, %cx
+ movsbw %rax, %cx
+
+ movsbw %al, %ecx
+ movsbw %ax, %ecx
+ movsbw %eax, %ecx
+ movsbw %rax, %ecx
+
+ movsbw %al, %rcx
+ movsbw %ax, %rcx
+ movsbw %eax, %rcx
+ movsbw %rax, %rcx
+
+ movsbl %al, %cl
+ movsbl %ax, %cl
+ movsbl %eax, %cl
+ movsbl %rax, %cl
+
+ movsbl %al, %cx
+ movsbl %ax, %cx
+ movsbl %eax, %cx
+ movsbl %rax, %cx
+
+ movsbl %al, %ecx
+ movsbl %ax, %ecx
+ movsbl %eax, %ecx
+ movsbl %rax, %ecx
+
+ movsbl %al, %rcx
+ movsbl %ax, %rcx
+ movsbl %eax, %rcx
+ movsbl %rax, %rcx
+
+ movsbq %al, %cl
+ movsbq %ax, %cl
+ movsbq %eax, %cl
+ movsbq %rax, %cl
+
+ movsbq %al, %cx
+ movsbq %ax, %cx
+ movsbq %eax, %cx
+ movsbq %rax, %cx
+
+ movsbq %al, %ecx
+ movsbq %ax, %ecx
+ movsbq %eax, %ecx
+ movsbq %rax, %ecx
+
+ movsbq %al, %rcx
+ movsbq %ax, %rcx
+ movsbq %eax, %rcx
+ movsbq %rax, %rcx
+
+ movsw %al, %cl
+ movsw %ax, %cl
+ movsw %eax, %cl
+ movsw %rax, %cl
+
+ movsw %al, %cx
+ movsw %ax, %cx
+ movsw %eax, %cx
+ movsw %rax, %cx
+
+ movsw %al, %ecx
+ movsw %ax, %ecx
+ movsw %eax, %ecx
+ movsw %rax, %ecx
+
+ movsw %al, %rcx
+ movsw %ax, %rcx
+ movsw %eax, %rcx
+ movsw %rax, %rcx
+
+ movswl %al, %cl
+ movswl %ax, %cl
+ movswl %eax, %cl
+ movswl %rax, %cl
+
+ movswl %al, %cx
+ movswl %ax, %cx
+ movswl %eax, %cx
+ movswl %rax, %cx
+
+ movswl %al, %ecx
+ movswl %ax, %ecx
+ movswl %eax, %ecx
+ movswl %rax, %ecx
+
+ movswl %al, %rcx
+ movswl %ax, %rcx
+ movswl %eax, %rcx
+ movswl %rax, %rcx
+
+ movswq %al, %cl
+ movswq %ax, %cl
+ movswq %eax, %cl
+ movswq %rax, %cl
+
+ movswq %al, %cx
+ movswq %ax, %cx
+ movswq %eax, %cx
+ movswq %rax, %cx
+
+ movswq %al, %ecx
+ movswq %ax, %ecx
+ movswq %eax, %ecx
+ movswq %rax, %ecx
+
+ movswq %al, %rcx
+ movswq %ax, %rcx
+ movswq %eax, %rcx
+ movswq %rax, %rcx
+
+movzx:
+ movzx %al, %cl
+ movzx %ax, %cl
+ movzx %eax, %cl
+ movzx %rax, %cl
+
+ movzx %al, %cx
+ movzx %ax, %cx
+ movzx %eax, %cx
+ movzx %rax, %cx
+
+ movzx %al, %ecx
+ movzx %ax, %ecx
+ movzx %eax, %ecx
+ movzx %rax, %ecx
+
+ movzx %al, %rcx
+ movzx %ax, %rcx
+ movzx %eax, %rcx
+ movzx %rax, %rcx
+
+ movzxb %al, %cl
+ movzxb %ax, %cl
+ movzxb %eax, %cl
+ movzxb %rax, %cl
+
+ movzxb %al, %cx
+ movzxb %ax, %cx
+ movzxb %eax, %cx
+ movzxb %rax, %cx
+
+ movzxb %al, %ecx
+ movzxb %ax, %ecx
+ movzxb %eax, %ecx
+ movzxb %rax, %ecx
+
+ movzxb %al, %rcx
+ movzxb %ax, %rcx
+ movzxb %eax, %rcx
+ movzxb %rax, %rcx
+
+ movzxw %al, %cl
+ movzxw %ax, %cl
+ movzxw %eax, %cl
+ movzxw %rax, %cl
+
+ movzxw %al, %cx
+ movzxw %ax, %cx
+ movzxw %eax, %cx
+ movzxw %rax, %cx
+
+ movzxw %al, %ecx
+ movzxw %ax, %ecx
+ movzxw %eax, %ecx
+ movzxw %rax, %ecx
+
+ movzxw %al, %rcx
+ movzxw %ax, %rcx
+ movzxw %eax, %rcx
+ movzxw %rax, %rcx
+
+ movzxl %al, %cl
+ movzxl %ax, %cl
+ movzxl %eax, %cl
+ movzxl %rax, %cl
+
+ movzxl %al, %cx
+ movzxl %ax, %cx
+ movzxl %eax, %cx
+ movzxl %rax, %cx
+
+ movzxl %al, %ecx
+ movzxl %ax, %ecx
+ movzxl %eax, %ecx
+ movzxl %rax, %ecx
+
+ movzxl %al, %rcx
+ movzxl %ax, %rcx
+ movzxl %eax, %rcx
+ movzxl %rax, %rcx
+
+ movzxd %al, %cl
+ movzxd %ax, %cl
+ movzxd %eax, %cl
+ movzxd %rax, %cl
+
+ movzxd %al, %cx
+ movzxd %ax, %cx
+ movzxd %eax, %cx
+ movzxd %rax, %cx
+
+ movzxd %al, %ecx
+ movzxd %ax, %ecx
+ movzxd %eax, %ecx
+ movzxd %rax, %ecx
+
+ movzxd %al, %rcx
+ movzxd %ax, %rcx
+ movzxd %eax, %rcx
+ movzxd %rax, %rcx
+
+ movzb %al, %cl
+ movzb %ax, %cl
+ movzb %eax, %cl
+ movzb %rax, %cl
+
+ movzb %al, %cx
+ movzb %ax, %cx
+ movzb %eax, %cx
+ movzb %rax, %cx
+
+ movzb %al, %ecx
+ movzb %ax, %ecx
+ movzb %eax, %ecx
+ movzb %rax, %ecx
+
+ movzb %al, %rcx
+ movzb %ax, %rcx
+ movzb %eax, %rcx
+ movzb %rax, %rcx
+
+ movzbw %al, %cl
+ movzbw %ax, %cl
+ movzbw %eax, %cl
+ movzbw %rax, %cl
+
+ movzbw %al, %cx
+ movzbw %ax, %cx
+ movzbw %eax, %cx
+ movzbw %rax, %cx
+
+ movzbw %al, %ecx
+ movzbw %ax, %ecx
+ movzbw %eax, %ecx
+ movzbw %rax, %ecx
+
+ movzbw %al, %rcx
+ movzbw %ax, %rcx
+ movzbw %eax, %rcx
+ movzbw %rax, %rcx
+
+ movzbl %al, %cl
+ movzbl %ax, %cl
+ movzbl %eax, %cl
+ movzbl %rax, %cl
+
+ movzbl %al, %cx
+ movzbl %ax, %cx
+ movzbl %eax, %cx
+ movzbl %rax, %cx
+
+ movzbl %al, %ecx
+ movzbl %ax, %ecx
+ movzbl %eax, %ecx
+ movzbl %rax, %ecx
+
+ movzbl %al, %rcx
+ movzbl %ax, %rcx
+ movzbl %eax, %rcx
+ movzbl %rax, %rcx
+
+ movzbq %al, %cl
+ movzbq %ax, %cl
+ movzbq %eax, %cl
+ movzbq %rax, %cl
+
+ movzbq %al, %cx
+ movzbq %ax, %cx
+ movzbq %eax, %cx
+ movzbq %rax, %cx
+
+ movzbq %al, %ecx
+ movzbq %ax, %ecx
+ movzbq %eax, %ecx
+ movzbq %rax, %ecx
+
+ movzbq %al, %rcx
+ movzbq %ax, %rcx
+ movzbq %eax, %rcx
+ movzbq %rax, %rcx
+
+ movzw %al, %cl
+ movzw %ax, %cl
+ movzw %eax, %cl
+ movzw %rax, %cl
+
+ movzw %al, %cx
+ movzw %ax, %cx
+ movzw %eax, %cx
+ movzw %rax, %cx
+
+ movzw %al, %ecx
+ movzw %ax, %ecx
+ movzw %eax, %ecx
+ movzw %rax, %ecx
+
+ movzw %al, %rcx
+ movzw %ax, %rcx
+ movzw %eax, %rcx
+ movzw %rax, %rcx
+
+ movzwl %al, %cl
+ movzwl %ax, %cl
+ movzwl %eax, %cl
+ movzwl %rax, %cl
+
+ movzwl %al, %cx
+ movzwl %ax, %cx
+ movzwl %eax, %cx
+ movzwl %rax, %cx
+
+ movzwl %al, %ecx
+ movzwl %ax, %ecx
+ movzwl %eax, %ecx
+ movzwl %rax, %ecx
+
+ movzwl %al, %rcx
+ movzwl %ax, %rcx
+ movzwl %eax, %rcx
+ movzwl %rax, %rcx
+
+ movzwq %al, %cl
+ movzwq %ax, %cl
+ movzwq %eax, %cl
+ movzwq %rax, %cl
+
+ movzwq %al, %cx
+ movzwq %ax, %cx
+ movzwq %eax, %cx
+ movzwq %rax, %cx
+
+ movzwq %al, %ecx
+ movzwq %ax, %ecx
+ movzwq %eax, %ecx
+ movzwq %rax, %ecx
+
+ movzwq %al, %rcx
+ movzwq %ax, %rcx
+ movzwq %eax, %rcx
+ movzwq %rax, %rcx
+
+ .p2align 4
*[a-f0-9]+: 8e 07 mov \(%bx\),%es
*[a-f0-9]+: a5 movsw %ds:\(%si\),%es:\(%di\)
*[a-f0-9]+: 67 a5 movsw %ds:\(%esi\),%es:\(%edi\)
+ *[a-f0-9]+: 0f be 07 movsbw \(%bx\),%ax
+ *[a-f0-9]+: 66 0f be 07 movsbl \(%bx\),%eax
+ *[a-f0-9]+: 0f b6 07 movzbw \(%bx\),%ax
+ *[a-f0-9]+: 66 0f b6 07 movzbl \(%bx\),%eax
*[a-f0-9]+: f7 27 mulw \(%bx\)
*[a-f0-9]+: f7 1f negw \(%bx\)
*[a-f0-9]+: 0f 1f 07 nopw \(%bx\)
mov (%bx), %es
movs
movs (%esi), %es:(%edi)
+ movsx (%bx), %ax
+ movsx (%bx), %eax
+ movzx (%bx), %ax
+ movzx (%bx), %eax
mul (%bx)
neg (%bx)
nop (%bx)
*[a-f0-9]+: 8e 00 mov \(%eax\),%es
*[a-f0-9]+: a5 movsl %ds:\(%esi\),%es:\(%edi\)
*[a-f0-9]+: a5 movsl %ds:\(%esi\),%es:\(%edi\)
+ *[a-f0-9]+: 66 0f be 00 movsbw \(%eax\),%ax
+ *[a-f0-9]+: 0f be 00 movsbl \(%eax\),%eax
+ *[a-f0-9]+: 66 0f b6 00 movzbw \(%eax\),%ax
+ *[a-f0-9]+: 0f b6 00 movzbl \(%eax\),%eax
*[a-f0-9]+: f7 20 mull \(%eax\)
*[a-f0-9]+: f7 18 negl \(%eax\)
*[a-f0-9]+: 0f 1f 00 nopl \(%eax\)
mov (%eax), %es
movs
movs (%esi), %es:(%edi)
+ movsx (%eax), %ax
+ movsx (%eax), %eax
+ movzx (%eax), %ax
+ movzx (%eax), %eax
mul (%eax)
neg (%eax)
nop (%eax)
*[a-f0-9]+: 8e 00 mov \(%rax\),%es
*[a-f0-9]+: a5 movsl %ds:\(%rsi\),%es:\(%rdi\)
*[a-f0-9]+: a5 movsl %ds:\(%rsi\),%es:\(%rdi\)
+ *[a-f0-9]+: 66 0f be 00 movsbw \(%rax\),%ax
+ *[a-f0-9]+: 0f be 00 movsbl \(%rax\),%eax
+ *[a-f0-9]+: 48 0f be 00 movsbq \(%rax\),%rax
+ *[a-f0-9]+: 66 0f b6 00 movzbw \(%rax\),%ax
+ *[a-f0-9]+: 0f b6 00 movzbl \(%rax\),%eax
+ *[a-f0-9]+: 48 0f b6 00 movzbq \(%rax\),%rax
*[a-f0-9]+: f7 20 mull \(%rax\)
*[a-f0-9]+: f7 18 negl \(%rax\)
*[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
mov (%rax), %es
movs
movs (%rsi), %es:(%rdi)
+ movsx (%rax), %ax
+ movsx (%rax), %eax
+ movsx (%rax), %rax
+ movzx (%rax), %ax
+ movzx (%rax), %eax
+ movzx (%rax), %rax
mul (%rax)
neg (%rax)
nop (%rax)
+[a-f0-9]+: 63 08 movsxd ecx,DWORD PTR \[rax\]
+[a-f0-9]+: 63 08 movsxd ecx,DWORD PTR \[rax\]
+[a-f0-9]+: 66 63 c8 movsxd cx,eax
- +[a-f0-9]+: 63 08 movsxd ecx,DWORD PTR \[rax\]
+ +[a-f0-9]+: 66 63 08 movsxd cx,DWORD PTR \[rax\]
+[a-f0-9]+: 66 63 08 movsxd cx,DWORD PTR \[rax\]
#pass
+[a-f0-9]+: 63 08 movsxd \(%rax\),%ecx
+[a-f0-9]+: 63 08 movsxd \(%rax\),%ecx
+[a-f0-9]+: 66 63 c8 movsxd %eax,%cx
- +[a-f0-9]+: 63 08 movsxd \(%rax\),%ecx
+ +[a-f0-9]+: 66 63 08 movsxd \(%rax\),%cx
+[a-f0-9]+: 66 63 08 movsxd \(%rax\),%cx
#pass
[ ]*[a-f0-9]+: 0f bf f0 movsx esi,ax
[ ]*[a-f0-9]+: 48 0f bf f0 movsx rsi,ax
[ ]*[a-f0-9]+: 48 63 f0 movsxd rsi,eax
-[ ]*[a-f0-9]+: 0f be 10 movsx edx,BYTE PTR \[rax\]
-[ ]*[a-f0-9]+: 48 0f be 10 movsx rdx,BYTE PTR \[rax\]
[ ]*[a-f0-9]+: 66 0f be 10 movsx dx,BYTE PTR \[rax\]
[ ]*[a-f0-9]+: 0f be 10 movsx edx,BYTE PTR \[rax\]
[ ]*[a-f0-9]+: 48 0f be 10 movsx rdx,BYTE PTR \[rax\]
[ ]*[a-f0-9]+: 48 0f b6 f0 movzx rsi,al
[ ]*[a-f0-9]+: 0f b7 f0 movzx esi,ax
[ ]*[a-f0-9]+: 48 0f b7 f0 movzx rsi,ax
-[ ]*[a-f0-9]+: 0f b6 10 movzx edx,BYTE PTR \[rax\]
-[ ]*[a-f0-9]+: 48 0f b6 10 movzx rdx,BYTE PTR \[rax\]
[ ]*[a-f0-9]+: 66 0f b6 10 movzx dx,BYTE PTR \[rax\]
[ ]*[a-f0-9]+: 0f b6 10 movzx edx,BYTE PTR \[rax\]
[ ]*[a-f0-9]+: 48 0f b6 10 movzx rdx,BYTE PTR \[rax\]
[ ]*[a-f0-9]+: 9b df e0 fstsw ax
[ ]*[a-f0-9]+: 9b df e0 fstsw ax
[ ]*[a-f0-9]+: 66 0f be 00 movsx ax,BYTE PTR \[rax\]
-[ ]*[a-f0-9]+: 0f be 00 movsx eax,BYTE PTR \[rax\]
-[ ]*[a-f0-9]+: 48 0f be 00 movsx rax,BYTE PTR \[rax\]
[ ]*[a-f0-9]+: 66 0f be 10 movsx dx,BYTE PTR \[rax\]
[ ]*[a-f0-9]+: 0f be 10 movsx edx,BYTE PTR \[rax\]
[ ]*[a-f0-9]+: 48 0f be 10 movsx rdx,BYTE PTR \[rax\]
[ ]*[a-f0-9]+: 48 63 10 movsxd rdx,DWORD PTR \[rax\]
[ ]*[a-f0-9]+: 48 63 00 movsxd rax,DWORD PTR \[rax\]
[ ]*[a-f0-9]+: 66 0f b6 00 movzx ax,BYTE PTR \[rax\]
-[ ]*[a-f0-9]+: 0f b6 00 movzx eax,BYTE PTR \[rax\]
-[ ]*[a-f0-9]+: 48 0f b6 00 movzx rax,BYTE PTR \[rax\]
[ ]*[a-f0-9]+: 66 0f b6 10 movzx dx,BYTE PTR \[rax\]
[ ]*[a-f0-9]+: 0f b6 10 movzx edx,BYTE PTR \[rax\]
[ ]*[a-f0-9]+: 48 0f b6 10 movzx rdx,BYTE PTR \[rax\]
[ ]*[a-f0-9]+: 0f bf f0 movswl %ax,%esi
[ ]*[a-f0-9]+: 48 0f bf f0 movswq %ax,%rsi
[ ]*[a-f0-9]+: 48 63 f0 movslq %eax,%rsi
-[ ]*[a-f0-9]+: 0f be 10 movsbl \(%rax\),%edx
-[ ]*[a-f0-9]+: 48 0f be 10 movsbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 66 0f be 10 movsbw \(%rax\),%dx
[ ]*[a-f0-9]+: 0f be 10 movsbl \(%rax\),%edx
[ ]*[a-f0-9]+: 48 0f be 10 movsbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 48 0f b6 f0 movzbq %al,%rsi
[ ]*[a-f0-9]+: 0f b7 f0 movzwl %ax,%esi
[ ]*[a-f0-9]+: 48 0f b7 f0 movzwq %ax,%rsi
-[ ]*[a-f0-9]+: 0f b6 10 movzbl \(%rax\),%edx
-[ ]*[a-f0-9]+: 48 0f b6 10 movzbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 66 0f b6 10 movzbw \(%rax\),%dx
[ ]*[a-f0-9]+: 0f b6 10 movzbl \(%rax\),%edx
[ ]*[a-f0-9]+: 48 0f b6 10 movzbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 9b df e0 fstsw %ax
[ ]*[a-f0-9]+: 9b df e0 fstsw %ax
[ ]*[a-f0-9]+: 66 0f be 00 movsbw \(%rax\),%ax
-[ ]*[a-f0-9]+: 0f be 00 movsbl \(%rax\),%eax
-[ ]*[a-f0-9]+: 48 0f be 00 movsbq \(%rax\),%rax
[ ]*[a-f0-9]+: 66 0f be 10 movsbw \(%rax\),%dx
[ ]*[a-f0-9]+: 0f be 10 movsbl \(%rax\),%edx
[ ]*[a-f0-9]+: 48 0f be 10 movsbq \(%rax\),%rdx
[ ]*[a-f0-9]+: 48 63 10 movslq \(%rax\),%rdx
[ ]*[a-f0-9]+: 48 63 00 movslq \(%rax\),%rax
[ ]*[a-f0-9]+: 66 0f b6 00 movzbw \(%rax\),%ax
-[ ]*[a-f0-9]+: 0f b6 00 movzbl \(%rax\),%eax
-[ ]*[a-f0-9]+: 48 0f b6 00 movzbq \(%rax\),%rax
[ ]*[a-f0-9]+: 66 0f b6 10 movzbw \(%rax\),%dx
[ ]*[a-f0-9]+: 0f b6 10 movzbl \(%rax\),%edx
[ ]*[a-f0-9]+: 48 0f b6 10 movzbq \(%rax\),%rdx
movsx %ax, %esi
movsx %ax, %rsi
movsx %eax, %rsi
- movsx (%rax), %edx
- movsx (%rax), %rdx
movsx (%rax), %dx
movsbl (%rax), %edx
movsbq (%rax), %rdx
movzx %al, %rsi
movzx %ax, %esi
movzx %ax, %rsi
- movzx (%rax), %edx
- movzx (%rax), %rdx
movzx (%rax), %dx
movzb (%rax), %edx
movzb (%rax), %rdx
.att_syntax
movsx (%rax),%ax
-movsx (%rax),%eax
-movsx (%rax),%rax
movsxb (%rax), %dx
movsxb (%rax), %edx
movsxb (%rax), %rdx
movsxl (%rax), %rdx
movsxd (%rax),%rax
movzx (%rax),%ax
-movzx (%rax),%eax
-movzx (%rax),%rax
movzxb (%rax), %dx
movzxb (%rax), %edx
movzxb (%rax), %rdx
+2020-02-14 Jan Beulich <jbeulich@suse.com>
+
+ PR gas/25438
+ * i386-opc.tbl (movsx): Fold patterns. Also allow Reg32 as
+ destination for Cpu64-only variant.
+ (movzx): Fold patterns.
+ * i386-tbl.h: Re-generate.
+
2020-02-13 Jan Beulich <jbeulich@suse.com>
* i386-gen.c (cpu_flag_init): Move CpuSSE4a from
movsbq, 2, 0xfbe, None, 2, Cpu64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64, { Reg8|Byte|Unspecified|BaseIndex, Reg64 }
movswq, 2, 0xfbf, None, 2, Cpu64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64, { Reg16|Word|Unspecified|BaseIndex, Reg64 }
movslq, 2, 0x63, None, 1, Cpu64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64, { Reg32|Dword|Unspecified|BaseIndex, Reg64 }
-// Intel Syntax next 3 insns
-movsx, 2, 0xfbe, None, 2, Cpu386, Modrm|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { Reg8|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
-movsx, 2, 0xfbf, None, 2, Cpu386, Modrm|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { Reg16|Unspecified|BaseIndex, Reg32|Reg64 }
-movsx, 2, 0x63, None, 1, Cpu64, Modrm|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64|ATTSyntax, { Reg32|Unspecified|BaseIndex, Reg64 }
-movsx, 2, 0xfbe, None, 2, Cpu386, Modrm|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IntelSyntax, { Reg8|Byte|BaseIndex, Reg16|Reg32|Reg64 }
-movsx, 2, 0xfbf, None, 2, Cpu386, Modrm|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IntelSyntax, { Reg16|Word|BaseIndex, Reg32|Reg64 }
-movsx, 2, 0x63, None, 1, Cpu64, Modrm|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64|IntelSyntax, { Reg32|Dword|BaseIndex, Reg64 }
+// Intel Syntax next 2 insns
+movsx, 2, 0xfbe, None, 2, Cpu386, W|Modrm|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg8|Reg16|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+movsx, 2, 0x63, None, 1, Cpu64, Modrm|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Unspecified|BaseIndex, Reg32|Reg64 }
movsxd, 2, 0x63, None, 1, Cpu64, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Unspecified|BaseIndex, Reg32|Reg64 }
movsxd, 2, 0x63, None, 1, Cpu64, Amd64|Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Unspecified|BaseIndex, Reg16 }
movsxd, 2, 0x63, None, 1, Cpu64, Intel64|Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg16|Unspecified|BaseIndex, Reg16 }
// Move with zero extend.
movzb, 2, 0xfb6, None, 2, Cpu386, Modrm|No_bSuf|No_sSuf|No_ldSuf, { Reg8|Byte|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
movzw, 2, 0xfb7, None, 2, Cpu386, Modrm|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg16|Word|Unspecified|BaseIndex, Reg32|Reg64 }
-// Intel Syntax next 2 insns (the 64-bit variants are not particulary
+// Intel Syntax next insn (the 64-bit variant is not particulary
// useful since the zero extend 32->64 is implicit, but we can encode them).
-movzx, 2, 0xfb6, None, 2, Cpu386, Modrm|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { Reg8|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
-movzx, 2, 0xfb7, None, 2, Cpu386, Modrm|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { Reg16|Unspecified|BaseIndex, Reg32|Reg64 }
-movzx, 2, 0xfb6, None, 2, Cpu386, Modrm|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IntelSyntax, { Reg8|Byte|BaseIndex, Reg16|Reg32|Reg64 }
-movzx, 2, 0xfb7, None, 2, Cpu386, Modrm|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IntelSyntax, { Reg16|Word|BaseIndex, Reg32|Reg64 }
+movzx, 2, 0xfb6, None, 2, Cpu386, W|Modrm|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg8|Reg16|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
// Push instructions.
push, 1, 0x50, None, 1, CpuNo64, No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg16|Reg32 }
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 1, 1, 1, 0, 0,
+ { 0, 1, 0, 1, 0, 0, 0, 0, 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, 1, 0, 0 },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 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, 1, 0, 1, 1, 1, 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, 1, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
- { "movsx", 0xfbf, None, 2, 2,
- { { 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 1, 0, 0 },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 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, 1, 0, 1,
- 0, 0, 0, 0, 0, 0 } } } },
{ "movsx", 0x63, None, 1, 2,
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 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, 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 },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 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, 0, 1,
- 0, 0, 0, 0, 0, 0 } } } },
- { "movsx", 0xfbe, None, 2, 2,
- { { 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 1, 0 },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 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, 1, 1, 0, 1,
- 0, 0, 0, 0, 0, 0 } } } },
- { "movsx", 0xfbf, None, 2, 2,
- { { 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 1, 0 },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 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, 1, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
- { "movsx", 0x63, None, 1, 2,
- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 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, 1, 0 },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 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, 1,
- 0, 0, 0, 0, 0, 0 } } } },
{ "movsxd", 0x63, None, 1, 2,
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 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, 1, 0, 0 },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 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, 1, 0, 1,
- 0, 0, 0, 0, 0, 0 } } } },
- { "movzx", 0xfb7, None, 2, 2,
- { { 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0,
+ { 0, 1, 0, 1, 0, 0, 0, 0, 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, 1, 0, 0 },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 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, 1, 0, 1, 1, 1, 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, 1, 0, 1,
- 0, 0, 0, 0, 0, 0 } } } },
- { "movzx", 0xfb6, None, 2, 2,
- { { 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 1, 0 },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 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, 1, 1, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
- { "movzx", 0xfb7, None, 2, 2,
- { { 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 1, 0 },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 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, 1, 0, 1,
- 0, 0, 0, 0, 0, 0 } } } },
{ "push", 0x50, None, 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,