2008-12-20  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (_i386_insn): Add swap_operand.
	(parse_insn): Handle ".s".
	(match_template): Handle swap_operand.

	* doc/c-i386.texi: Document .s suffix.

gas/testsuite/

2008-12-20  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/i386/i386.exp: Run opts, opts-intel, sse2avx-opts,
	sse2avx-opts-intel, x86-64-opts, x86-64-opts-intel,
	x86-64-sse2avx-opts and x86-64-sse2avx-opts-intel.

	* gas/i386/opts.d: New.
	* gas/i386/opts-intel.d: Likewise.
	* gas/i386/opts.s: Likewise.
	* gas/i386/sse2avx-opts.d: Likewise.
	* gas/i386/sse2avx-opts-intel.d: Likewise.
	* gas/i386/x86-64-opts.d: Likewise.
	* gas/i386/x86-64-opts-intel.d: Likewise.
	* gas/i386/x86-64-opts.s: Likewise.
	* gas/i386/x86-64-sse2avx-opts.d: Likewise.
	* gas/i386/x86-64-sse2avx-opts-intel.d: Likewise.

opcodes/

2008-12-20  H.J. Lu  <hongjiu.lu@intel.com>

	* i386-dis.c (EbS): New.
	(EvS): Likewise.
	(EMS): Likewise.
	(EXqS): Likewise.
	(EXxS): Likewise.
	(b_swap_mode): Likewise.
	(v_swap_mode): Likewise.
	(q_swap_mode): Likewise.
	(x_swap_mode): Likewise.
	(v_mode): Updated.
	(w_mode): Likewise.
	(t_mode): Likewise.
	(xmm_mode): Likewise.
	(swap_operand): Likewise.
	(dis386): Use EbS on movB.  Use EvS on moveS.
	(dis386_twobyte): Use EXxS on movapX.
	(prefix_table): Use EXxS on movups, movupd, movdqu, movdqa,
	vmovups, vmovdqu, vmovdqa. Use EMS and EXqS on movq.
	(vex_table): Use EXxS on vmovapX.
	(vex_len_table): Use EXqS on vmovq.
	(intel_operand_size): Handle b_swap_mode, v_swap_mode,
	q_swap_mode and x_swap_mode.
	(OP_E_register): Handle b_swap_mode and v_swap_mode.
	(OP_EM): Handle v_swap_mode.
	(OP_EX): x_swap_mode and q_swap_mode.

	* i386-gen.c (opcode_modifiers): Add S.

	* i386-opc.h (S): New.
	(Modrm): Updated.
	(i386_opcode_modifier): Add s.

	* i386-opc.tbl: Add S to movapd, movaps, movdqa, movdqu, movq,
	movupd, movups, vmovapd, vmovaps, vmovdqa, vmovdqu and vmovq.
	* i386-tbl.h: Regenerated.
This commit is contained in:
H.J. Lu 2008-12-20 17:40:51 +00:00
parent 257385246e
commit b6169b206a
21 changed files with 8819 additions and 7477 deletions

View file

@ -1,3 +1,11 @@
2008-12-20 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (_i386_insn): Add swap_operand.
(parse_insn): Handle ".s".
(match_template): Handle swap_operand.
* doc/c-i386.texi: Document .s suffix.
2008-12-20 Hans-Peter Nilsson <hp@axis.com>
* config/tc-cris.c (cris_process_instruction): Handle

View file

@ -279,6 +279,9 @@ struct _i386_insn
sib_byte sib;
drex_byte drex;
vex_prefix vex;
/* Swap operand in encoding. */
unsigned int swap_operand : 1;
};
typedef struct _i386_insn i386_insn;
@ -2908,6 +2911,7 @@ parse_insn (char *line, char *mnemonic)
char *mnem_p;
int supported;
const template *t;
char *dot_p = NULL;
/* Non-zero if we found a prefix only acceptable with string insns. */
const char *expecting_string_instruction = NULL;
@ -2917,6 +2921,8 @@ parse_insn (char *line, char *mnemonic)
mnem_p = mnemonic;
while ((*mnem_p = mnemonic_chars[(unsigned char) *l]) != 0)
{
if (*mnem_p == '.')
dot_p = mnem_p;
mnem_p++;
if (mnem_p >= mnemonic + MAX_MNEM_SIZE)
{
@ -2988,8 +2994,24 @@ parse_insn (char *line, char *mnemonic)
break;
}
if (!current_templates && dot_p)
{
if (mnem_p - 2 == dot_p)
{
/* Check if we should swap operand in encoding. */
if (dot_p[1] == 's')
i.swap_operand = 1;
else
goto check_suffix;
mnem_p = dot_p;
*dot_p = '\0';
current_templates = hash_find (op_hash, mnemonic);
}
}
if (!current_templates)
{
check_suffix:
/* See if we can get a match by trimming off a suffix. */
switch (mnem_p[-1])
{
@ -3712,6 +3734,16 @@ match_template (void)
&& operand_type_equal (&i.types [0], &acc32)
&& operand_type_equal (&i.types [1], &acc32))
continue;
if (i.swap_operand)
{
/* If we swap operand in encoding, we either match
the next one or reverse direction of operands. */
if (t->opcode_modifier.s)
continue;
else if (t->opcode_modifier.d)
goto check_reverse;
}
case 3:
case 4:
case 5:
@ -3728,6 +3760,7 @@ match_template (void)
if (!t->opcode_modifier.d && !t->opcode_modifier.floatd)
continue;
check_reverse:
/* Try reversing direction of operands. */
overlap0 = operand_type_and (i.types[0], operand_types[1]);
overlap1 = operand_type_and (i.types[1], operand_types[0]);

View file

@ -14,7 +14,7 @@
@end ifclear
@cindex i386 support
@cindex i80306 support
@cindex i80386 support
@cindex x86-64 support
The i386 version @code{@value{AS}} supports both the original Intel 386
@ -353,6 +353,13 @@ thus, are @samp{bl} (from byte to long), @samp{bw} (from byte to word),
@samp{wq} (from word to quadruple word), and @samp{lq} (from long to
quadruple word).
@cindex encoding options, i386
@cindex encoding options, x86-64
Different encoding options can be specified via optional mnemonic
suffix. @samp{.s} suffix swaps 2 register operands in encoding when
moving from one register to another.
@cindex conversion instructions, i386
@cindex i386 conversion instructions
@cindex conversion instructions, x86-64

View file

@ -1,3 +1,20 @@
2008-12-20 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run opts, opts-intel, sse2avx-opts,
sse2avx-opts-intel, x86-64-opts, x86-64-opts-intel,
x86-64-sse2avx-opts and x86-64-sse2avx-opts-intel.
* gas/i386/opts.d: New.
* gas/i386/opts-intel.d: Likewise.
* gas/i386/opts.s: Likewise.
* gas/i386/sse2avx-opts.d: Likewise.
* gas/i386/sse2avx-opts-intel.d: Likewise.
* gas/i386/x86-64-opts.d: Likewise.
* gas/i386/x86-64-opts-intel.d: Likewise.
* gas/i386/x86-64-opts.s: Likewise.
* gas/i386/x86-64-sse2avx-opts.d: Likewise.
* gas/i386/x86-64-sse2avx-opts-intel.d: Likewise.
2008-12-20 Hans-Peter Nilsson <hp@axis.com>
* gas/cris/rd-tls-1.s, gas/cris/rd-tls-1.d: Test :IE and

View file

@ -140,6 +140,10 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]]
run_dump_test "arch-avx-1"
run_list_test "arch-avx-1-1" "-march=generic32+avx -I${srcdir}/$subdir -al"
run_list_test "arch-avx-1-2" "-march=generic32+aes -I${srcdir}/$subdir -al"
run_dump_test "opts"
run_dump_test "opts-intel"
run_dump_test "sse2avx-opts"
run_dump_test "sse2avx-opts-intel"
# These tests require support for 8 and 16 bit relocs,
# so we only run them for ELF and COFF targets.
@ -293,6 +297,10 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
run_dump_test "x86-64-ept"
run_dump_test "x86-64-ept-intel"
run_list_test "x86-64-inval-ept" "-al"
run_dump_test "x86-64-opts"
run_dump_test "x86-64-opts-intel"
run_dump_test "x86-64-sse2avx-opts"
run_dump_test "x86-64-sse2avx-opts-intel"
if { ![istarget "*-*-aix*"]
&& ![istarget "*-*-beos*"]

View file

@ -0,0 +1,113 @@
#objdump: -drwMintel,suffix
#name: encoding option (Intel mode)
#source: opts.s
.*: +file format .*
Disassembly of section .text:
0+ <_start>:
[ ]*[a-f0-9]+: 88 d1 mov cl,dl
[ ]*[a-f0-9]+: 8a ca mov.s cl,dl
[ ]*[a-f0-9]+: 66 89 d1 mov cx,dx
[ ]*[a-f0-9]+: 66 8b ca mov.s cx,dx
[ ]*[a-f0-9]+: 89 d1 mov ecx,edx
[ ]*[a-f0-9]+: 8b ca mov.s ecx,edx
[ ]*[a-f0-9]+: 88 d1 mov cl,dl
[ ]*[a-f0-9]+: 8a ca mov.s cl,dl
[ ]*[a-f0-9]+: 66 89 d1 mov cx,dx
[ ]*[a-f0-9]+: 66 8b ca mov.s cx,dx
[ ]*[a-f0-9]+: 89 d1 mov ecx,edx
[ ]*[a-f0-9]+: 8b ca mov.s ecx,edx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 29 e6 vmovaps.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 6f f4 vmovdqa ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 7f e6 vmovdqa.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fe 6f f4 vmovdqu ymm6,ymm4
[ ]*[a-f0-9]+: c5 fe 7f e6 vmovdqu.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 10 f4 vmovupd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 11 e6 vmovupd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 10 f4 vmovups ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 11 e6 vmovups.s ymm6,ymm4
[ ]*[a-f0-9]+: 66 0f 28 f4 movapd xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 29 e6 movapd.s xmm6,xmm4
[ ]*[a-f0-9]+: 0f 28 f4 movaps xmm6,xmm4
[ ]*[a-f0-9]+: 0f 29 e6 movaps.s xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 6f f4 movdqa xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 7f e6 movdqa.s xmm6,xmm4
[ ]*[a-f0-9]+: f3 0f 6f f4 movdqu xmm6,xmm4
[ ]*[a-f0-9]+: f3 0f 7f e6 movdqu.s xmm6,xmm4
[ ]*[a-f0-9]+: f3 0f 7e f4 movq xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f d6 e6 movq.s xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 10 f4 movupd xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 11 e6 movupd.s xmm6,xmm4
[ ]*[a-f0-9]+: 0f 10 f4 movups xmm6,xmm4
[ ]*[a-f0-9]+: 0f 11 e6 movups.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4
[ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0
[ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0
[ ]*[a-f0-9]+: 88 d1 mov cl,dl
[ ]*[a-f0-9]+: 8a ca mov.s cl,dl
[ ]*[a-f0-9]+: 66 89 d1 mov cx,dx
[ ]*[a-f0-9]+: 66 8b ca mov.s cx,dx
[ ]*[a-f0-9]+: 89 d1 mov ecx,edx
[ ]*[a-f0-9]+: 8b ca mov.s ecx,edx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 29 e6 vmovaps.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 6f f4 vmovdqa ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 7f e6 vmovdqa.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fe 6f f4 vmovdqu ymm6,ymm4
[ ]*[a-f0-9]+: c5 fe 7f e6 vmovdqu.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 10 f4 vmovupd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 11 e6 vmovupd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 10 f4 vmovups ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 11 e6 vmovups.s ymm6,ymm4
[ ]*[a-f0-9]+: 66 0f 28 f4 movapd xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 29 e6 movapd.s xmm6,xmm4
[ ]*[a-f0-9]+: 0f 28 f4 movaps xmm6,xmm4
[ ]*[a-f0-9]+: 0f 29 e6 movaps.s xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 6f f4 movdqa xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 7f e6 movdqa.s xmm6,xmm4
[ ]*[a-f0-9]+: f3 0f 6f f4 movdqu xmm6,xmm4
[ ]*[a-f0-9]+: f3 0f 7f e6 movdqu.s xmm6,xmm4
[ ]*[a-f0-9]+: f3 0f 7e f4 movq xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f d6 e6 movq.s xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 10 f4 movupd xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 11 e6 movupd.s xmm6,xmm4
[ ]*[a-f0-9]+: 0f 10 f4 movups xmm6,xmm4
[ ]*[a-f0-9]+: 0f 11 e6 movups.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4
[ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0
[ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0
#pass

View file

@ -0,0 +1,112 @@
#objdump: -drwMsuffix
#name: encoding option
.*: +file format .*
Disassembly of section .text:
0+ <_start>:
[ ]*[a-f0-9]+: 88 d1 movb %dl,%cl
[ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl
[ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx
[ ]*[a-f0-9]+: 66 8b ca movw.s %dx,%cx
[ ]*[a-f0-9]+: 89 d1 movl %edx,%ecx
[ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx
[ ]*[a-f0-9]+: 88 d1 movb %dl,%cl
[ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl
[ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx
[ ]*[a-f0-9]+: 66 8b ca movw.s %dx,%cx
[ ]*[a-f0-9]+: 89 d1 movl %edx,%ecx
[ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 29 e6 vmovaps.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 6f f4 vmovdqa %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 7f e6 vmovdqa.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fe 6f f4 vmovdqu %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fe 7f e6 vmovdqu.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 10 f4 vmovupd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 11 e6 vmovupd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 10 f4 vmovups %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 11 e6 vmovups.s %ymm4,%ymm6
[ ]*[a-f0-9]+: 66 0f 28 f4 movapd %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 29 e6 movapd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 28 f4 movaps %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 29 e6 movaps.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 6f f4 movdqa %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 7f e6 movdqa.s %xmm4,%xmm6
[ ]*[a-f0-9]+: f3 0f 6f f4 movdqu %xmm4,%xmm6
[ ]*[a-f0-9]+: f3 0f 7f e6 movdqu.s %xmm4,%xmm6
[ ]*[a-f0-9]+: f3 0f 7e f4 movq %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f d6 e6 movq.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 10 f4 movupd %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 11 e6 movupd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 10 f4 movups %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 11 e6 movups.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4
[ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4
[ ]*[a-f0-9]+: 88 d1 movb %dl,%cl
[ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl
[ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx
[ ]*[a-f0-9]+: 66 8b ca movw.s %dx,%cx
[ ]*[a-f0-9]+: 89 d1 movl %edx,%ecx
[ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 29 e6 vmovaps.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 6f f4 vmovdqa %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 7f e6 vmovdqa.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fe 6f f4 vmovdqu %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fe 7f e6 vmovdqu.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 10 f4 vmovupd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 11 e6 vmovupd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 10 f4 vmovups %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 11 e6 vmovups.s %ymm4,%ymm6
[ ]*[a-f0-9]+: 66 0f 28 f4 movapd %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 29 e6 movapd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 28 f4 movaps %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 29 e6 movaps.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 6f f4 movdqa %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 7f e6 movdqa.s %xmm4,%xmm6
[ ]*[a-f0-9]+: f3 0f 6f f4 movdqu %xmm4,%xmm6
[ ]*[a-f0-9]+: f3 0f 7f e6 movdqu.s %xmm4,%xmm6
[ ]*[a-f0-9]+: f3 0f 7e f4 movq %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f d6 e6 movq.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 10 f4 movupd %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 11 e6 movupd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 10 f4 movups %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 11 e6 movups.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4
[ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4
#pass

View file

@ -0,0 +1,125 @@
# Check instructions with encoding options
.allow_index_reg
.text
_start:
# Tests for op reg, reg
mov %dl,%cl
mov.s %dl,%cl
mov %dx,%cx
mov.s %dx,%cx
mov %edx,%ecx
mov.s %edx,%ecx
movb %dl,%cl
movb.s %dl,%cl
movw %dx,%cx
movw.s %dx,%cx
movl %edx,%ecx
movl.s %edx,%ecx
# Tests for op ymm, ymm
vmovapd %ymm4,%ymm6
vmovapd.s %ymm4,%ymm6
vmovaps %ymm4,%ymm6
vmovaps.s %ymm4,%ymm6
vmovdqa %ymm4,%ymm6
vmovdqa.s %ymm4,%ymm6
vmovdqu %ymm4,%ymm6
vmovdqu.s %ymm4,%ymm6
vmovupd %ymm4,%ymm6
vmovupd.s %ymm4,%ymm6
vmovups %ymm4,%ymm6
vmovups.s %ymm4,%ymm6
# Tests for op xmm, xmm
movapd %xmm4,%xmm6
movapd.s %xmm4,%xmm6
movaps %xmm4,%xmm6
movaps.s %xmm4,%xmm6
movdqa %xmm4,%xmm6
movdqa.s %xmm4,%xmm6
movdqu %xmm4,%xmm6
movdqu.s %xmm4,%xmm6
movq %xmm4,%xmm6
movq.s %xmm4,%xmm6
movupd %xmm4,%xmm6
movupd.s %xmm4,%xmm6
movups %xmm4,%xmm6
movups.s %xmm4,%xmm6
vmovapd %xmm4,%xmm6
vmovapd.s %xmm4,%xmm6
vmovaps %xmm4,%xmm6
vmovaps.s %xmm4,%xmm6
vmovdqa %xmm4,%xmm6
vmovdqa.s %xmm4,%xmm6
vmovdqu %xmm4,%xmm6
vmovdqu.s %xmm4,%xmm6
vmovq %xmm4,%xmm6
vmovq.s %xmm4,%xmm6
vmovupd %xmm4,%xmm6
vmovupd.s %xmm4,%xmm6
vmovups %xmm4,%xmm6
vmovups.s %xmm4,%xmm6
# Tests for op mm, mm
movq %mm0,%mm4
movq.s %mm0,%mm4
.intel_syntax noprefix
# Tests for op reg, reg
mov cl,dl
mov.s cl,dl
mov cx,dx
mov.s cx,dx
mov ecx,edx
mov.s ecx,edx
# Tests for op ymm, ymm
vmovapd ymm6,ymm4
vmovapd.s ymm6,ymm4
vmovaps ymm6,ymm4
vmovaps.s ymm6,ymm4
vmovdqa ymm6,ymm4
vmovdqa.s ymm6,ymm4
vmovdqu ymm6,ymm4
vmovdqu.s ymm6,ymm4
vmovupd ymm6,ymm4
vmovupd.s ymm6,ymm4
vmovups ymm6,ymm4
vmovups.s ymm6,ymm4
# Tests for op xmm, xmm
movapd xmm6,xmm4
movapd.s xmm6,xmm4
movaps xmm6,xmm4
movaps.s xmm6,xmm4
movdqa xmm6,xmm4
movdqa.s xmm6,xmm4
movdqu xmm6,xmm4
movdqu.s xmm6,xmm4
movq xmm6,xmm4
movq.s xmm6,xmm4
movupd xmm6,xmm4
movupd.s xmm6,xmm4
movups xmm6,xmm4
movups.s xmm6,xmm4
vmovapd xmm6,xmm4
vmovapd.s xmm6,xmm4
vmovaps xmm6,xmm4
vmovaps.s xmm6,xmm4
vmovdqa xmm6,xmm4
vmovdqa.s xmm6,xmm4
vmovdqu xmm6,xmm4
vmovdqu.s xmm6,xmm4
vmovq xmm6,xmm4
vmovq.s xmm6,xmm4
vmovupd xmm6,xmm4
vmovupd.s xmm6,xmm4
vmovups xmm6,xmm4
vmovups.s xmm6,xmm4
# Tests for op mm, mm
movq mm4,mm0
movq.s mm4,mm0

View file

@ -0,0 +1,114 @@
#as: -msse2avx
#objdump: -drwMintel,suffix
#name: encoding option with -msse2avx (Intel mode)
#source: opts.s
.*: +file format .*
Disassembly of section .text:
0+ <_start>:
[ ]*[a-f0-9]+: 88 d1 mov cl,dl
[ ]*[a-f0-9]+: 8a ca mov.s cl,dl
[ ]*[a-f0-9]+: 66 89 d1 mov cx,dx
[ ]*[a-f0-9]+: 66 8b ca mov.s cx,dx
[ ]*[a-f0-9]+: 89 d1 mov ecx,edx
[ ]*[a-f0-9]+: 8b ca mov.s ecx,edx
[ ]*[a-f0-9]+: 88 d1 mov cl,dl
[ ]*[a-f0-9]+: 8a ca mov.s cl,dl
[ ]*[a-f0-9]+: 66 89 d1 mov cx,dx
[ ]*[a-f0-9]+: 66 8b ca mov.s cx,dx
[ ]*[a-f0-9]+: 89 d1 mov ecx,edx
[ ]*[a-f0-9]+: 8b ca mov.s ecx,edx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 29 e6 vmovaps.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 6f f4 vmovdqa ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 7f e6 vmovdqa.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fe 6f f4 vmovdqu ymm6,ymm4
[ ]*[a-f0-9]+: c5 fe 7f e6 vmovdqu.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 10 f4 vmovupd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 11 e6 vmovupd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 10 f4 vmovups ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 11 e6 vmovups.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4
[ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0
[ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0
[ ]*[a-f0-9]+: 88 d1 mov cl,dl
[ ]*[a-f0-9]+: 8a ca mov.s cl,dl
[ ]*[a-f0-9]+: 66 89 d1 mov cx,dx
[ ]*[a-f0-9]+: 66 8b ca mov.s cx,dx
[ ]*[a-f0-9]+: 89 d1 mov ecx,edx
[ ]*[a-f0-9]+: 8b ca mov.s ecx,edx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 29 e6 vmovaps.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 6f f4 vmovdqa ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 7f e6 vmovdqa.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fe 6f f4 vmovdqu ymm6,ymm4
[ ]*[a-f0-9]+: c5 fe 7f e6 vmovdqu.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 10 f4 vmovupd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 11 e6 vmovupd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 10 f4 vmovups ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 11 e6 vmovups.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4
[ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0
[ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0
#pass

View file

@ -0,0 +1,114 @@
#as: -msse2avx
#objdump: -drwMsuffix
#name: encoding option with -msse2avx
#source: opts.s
.*: +file format .*
Disassembly of section .text:
0+ <_start>:
[ ]*[a-f0-9]+: 88 d1 movb %dl,%cl
[ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl
[ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx
[ ]*[a-f0-9]+: 66 8b ca movw.s %dx,%cx
[ ]*[a-f0-9]+: 89 d1 movl %edx,%ecx
[ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx
[ ]*[a-f0-9]+: 88 d1 movb %dl,%cl
[ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl
[ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx
[ ]*[a-f0-9]+: 66 8b ca movw.s %dx,%cx
[ ]*[a-f0-9]+: 89 d1 movl %edx,%ecx
[ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 29 e6 vmovaps.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 6f f4 vmovdqa %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 7f e6 vmovdqa.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fe 6f f4 vmovdqu %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fe 7f e6 vmovdqu.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 10 f4 vmovupd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 11 e6 vmovupd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 10 f4 vmovups %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 11 e6 vmovups.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4
[ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4
[ ]*[a-f0-9]+: 88 d1 movb %dl,%cl
[ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl
[ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx
[ ]*[a-f0-9]+: 66 8b ca movw.s %dx,%cx
[ ]*[a-f0-9]+: 89 d1 movl %edx,%ecx
[ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 29 e6 vmovaps.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 6f f4 vmovdqa %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 7f e6 vmovdqa.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fe 6f f4 vmovdqu %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fe 7f e6 vmovdqu.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 10 f4 vmovupd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 11 e6 vmovupd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 10 f4 vmovups %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 11 e6 vmovups.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4
[ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4
#pass

View file

@ -0,0 +1,119 @@
#objdump: -drwMintel,suffix
#name: x86-64 encoding option (Intel mode)
#source: x86-64-opts.s
.*: +file format .*
Disassembly of section .text:
0+ <_start>:
[ ]*[a-f0-9]+: 88 d1 mov cl,dl
[ ]*[a-f0-9]+: 8a ca mov.s cl,dl
[ ]*[a-f0-9]+: 66 89 d1 mov cx,dx
[ ]*[a-f0-9]+: 66 8b ca mov.s cx,dx
[ ]*[a-f0-9]+: 89 d1 mov ecx,edx
[ ]*[a-f0-9]+: 8b ca mov.s ecx,edx
[ ]*[a-f0-9]+: 88 d1 mov cl,dl
[ ]*[a-f0-9]+: 8a ca mov.s cl,dl
[ ]*[a-f0-9]+: 66 89 d1 mov cx,dx
[ ]*[a-f0-9]+: 66 8b ca mov.s cx,dx
[ ]*[a-f0-9]+: 89 d1 mov ecx,edx
[ ]*[a-f0-9]+: 8b ca mov.s ecx,edx
[ ]*[a-f0-9]+: 48 89 d1 mov rcx,rdx
[ ]*[a-f0-9]+: 48 8b ca mov.s rcx,rdx
[ ]*[a-f0-9]+: 48 89 d1 mov rcx,rdx
[ ]*[a-f0-9]+: 48 8b ca mov.s rcx,rdx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 29 e6 vmovaps.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 6f f4 vmovdqa ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 7f e6 vmovdqa.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fe 6f f4 vmovdqu ymm6,ymm4
[ ]*[a-f0-9]+: c5 fe 7f e6 vmovdqu.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 10 f4 vmovupd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 11 e6 vmovupd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 10 f4 vmovups ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 11 e6 vmovups.s ymm6,ymm4
[ ]*[a-f0-9]+: 66 0f 28 f4 movapd xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 29 e6 movapd.s xmm6,xmm4
[ ]*[a-f0-9]+: 0f 28 f4 movaps xmm6,xmm4
[ ]*[a-f0-9]+: 0f 29 e6 movaps.s xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 6f f4 movdqa xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 7f e6 movdqa.s xmm6,xmm4
[ ]*[a-f0-9]+: f3 0f 6f f4 movdqu xmm6,xmm4
[ ]*[a-f0-9]+: f3 0f 7f e6 movdqu.s xmm6,xmm4
[ ]*[a-f0-9]+: f3 0f 7e f4 movq xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f d6 e6 movq.s xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 10 f4 movupd xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 11 e6 movupd.s xmm6,xmm4
[ ]*[a-f0-9]+: 0f 10 f4 movups xmm6,xmm4
[ ]*[a-f0-9]+: 0f 11 e6 movups.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4
[ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0
[ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0
[ ]*[a-f0-9]+: 88 d1 mov cl,dl
[ ]*[a-f0-9]+: 8a ca mov.s cl,dl
[ ]*[a-f0-9]+: 66 89 d1 mov cx,dx
[ ]*[a-f0-9]+: 66 8b ca mov.s cx,dx
[ ]*[a-f0-9]+: 89 d1 mov ecx,edx
[ ]*[a-f0-9]+: 8b ca mov.s ecx,edx
[ ]*[a-f0-9]+: 48 89 d1 mov rcx,rdx
[ ]*[a-f0-9]+: 48 8b ca mov.s rcx,rdx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 29 e6 vmovaps.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 6f f4 vmovdqa ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 7f e6 vmovdqa.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fe 6f f4 vmovdqu ymm6,ymm4
[ ]*[a-f0-9]+: c5 fe 7f e6 vmovdqu.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 10 f4 vmovupd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 11 e6 vmovupd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 10 f4 vmovups ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 11 e6 vmovups.s ymm6,ymm4
[ ]*[a-f0-9]+: 66 0f 28 f4 movapd xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 29 e6 movapd.s xmm6,xmm4
[ ]*[a-f0-9]+: 0f 28 f4 movaps xmm6,xmm4
[ ]*[a-f0-9]+: 0f 29 e6 movaps.s xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 6f f4 movdqa xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 7f e6 movdqa.s xmm6,xmm4
[ ]*[a-f0-9]+: f3 0f 6f f4 movdqu xmm6,xmm4
[ ]*[a-f0-9]+: f3 0f 7f e6 movdqu.s xmm6,xmm4
[ ]*[a-f0-9]+: f3 0f 7e f4 movq xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f d6 e6 movq.s xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 10 f4 movupd xmm6,xmm4
[ ]*[a-f0-9]+: 66 0f 11 e6 movupd.s xmm6,xmm4
[ ]*[a-f0-9]+: 0f 10 f4 movups xmm6,xmm4
[ ]*[a-f0-9]+: 0f 11 e6 movups.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4
[ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0
[ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0
#pass

View file

@ -0,0 +1,118 @@
#objdump: -drwMsuffix
#name: x86-64 encoding option
.*: +file format .*
Disassembly of section .text:
0+ <_start>:
[ ]*[a-f0-9]+: 88 d1 movb %dl,%cl
[ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl
[ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx
[ ]*[a-f0-9]+: 66 8b ca movw.s %dx,%cx
[ ]*[a-f0-9]+: 89 d1 movl %edx,%ecx
[ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx
[ ]*[a-f0-9]+: 88 d1 movb %dl,%cl
[ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl
[ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx
[ ]*[a-f0-9]+: 66 8b ca movw.s %dx,%cx
[ ]*[a-f0-9]+: 89 d1 movl %edx,%ecx
[ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx
[ ]*[a-f0-9]+: 48 89 d1 movq %rdx,%rcx
[ ]*[a-f0-9]+: 48 8b ca movq.s %rdx,%rcx
[ ]*[a-f0-9]+: 48 89 d1 movq %rdx,%rcx
[ ]*[a-f0-9]+: 48 8b ca movq.s %rdx,%rcx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 29 e6 vmovaps.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 6f f4 vmovdqa %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 7f e6 vmovdqa.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fe 6f f4 vmovdqu %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fe 7f e6 vmovdqu.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 10 f4 vmovupd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 11 e6 vmovupd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 10 f4 vmovups %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 11 e6 vmovups.s %ymm4,%ymm6
[ ]*[a-f0-9]+: 66 0f 28 f4 movapd %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 29 e6 movapd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 28 f4 movaps %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 29 e6 movaps.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 6f f4 movdqa %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 7f e6 movdqa.s %xmm4,%xmm6
[ ]*[a-f0-9]+: f3 0f 6f f4 movdqu %xmm4,%xmm6
[ ]*[a-f0-9]+: f3 0f 7f e6 movdqu.s %xmm4,%xmm6
[ ]*[a-f0-9]+: f3 0f 7e f4 movq %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f d6 e6 movq.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 10 f4 movupd %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 11 e6 movupd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 10 f4 movups %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 11 e6 movups.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4
[ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4
[ ]*[a-f0-9]+: 88 d1 movb %dl,%cl
[ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl
[ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx
[ ]*[a-f0-9]+: 66 8b ca movw.s %dx,%cx
[ ]*[a-f0-9]+: 89 d1 movl %edx,%ecx
[ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx
[ ]*[a-f0-9]+: 48 89 d1 movq %rdx,%rcx
[ ]*[a-f0-9]+: 48 8b ca movq.s %rdx,%rcx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 29 e6 vmovaps.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 6f f4 vmovdqa %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 7f e6 vmovdqa.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fe 6f f4 vmovdqu %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fe 7f e6 vmovdqu.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 10 f4 vmovupd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 11 e6 vmovupd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 10 f4 vmovups %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 11 e6 vmovups.s %ymm4,%ymm6
[ ]*[a-f0-9]+: 66 0f 28 f4 movapd %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 29 e6 movapd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 28 f4 movaps %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 29 e6 movaps.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 6f f4 movdqa %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 7f e6 movdqa.s %xmm4,%xmm6
[ ]*[a-f0-9]+: f3 0f 6f f4 movdqu %xmm4,%xmm6
[ ]*[a-f0-9]+: f3 0f 7f e6 movdqu.s %xmm4,%xmm6
[ ]*[a-f0-9]+: f3 0f 7e f4 movq %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f d6 e6 movq.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 10 f4 movupd %xmm4,%xmm6
[ ]*[a-f0-9]+: 66 0f 11 e6 movupd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 10 f4 movups %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 11 e6 movups.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4
[ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4
#pass

View file

@ -0,0 +1,131 @@
# Check 64bit instructions with encoding options
.allow_index_reg
.text
_start:
# Tests for op reg, reg
mov %dl,%cl
mov.s %dl,%cl
mov %dx,%cx
mov.s %dx,%cx
mov %edx,%ecx
mov.s %edx,%ecx
movb %dl,%cl
movb.s %dl,%cl
movw %dx,%cx
movw.s %dx,%cx
movl %edx,%ecx
movl.s %edx,%ecx
mov %rdx,%rcx
mov.s %rdx,%rcx
movq %rdx,%rcx
movq.s %rdx,%rcx
# Tests for op ymm, ymm
vmovapd %ymm4,%ymm6
vmovapd.s %ymm4,%ymm6
vmovaps %ymm4,%ymm6
vmovaps.s %ymm4,%ymm6
vmovdqa %ymm4,%ymm6
vmovdqa.s %ymm4,%ymm6
vmovdqu %ymm4,%ymm6
vmovdqu.s %ymm4,%ymm6
vmovupd %ymm4,%ymm6
vmovupd.s %ymm4,%ymm6
vmovups %ymm4,%ymm6
vmovups.s %ymm4,%ymm6
# Tests for op xmm, xmm
movapd %xmm4,%xmm6
movapd.s %xmm4,%xmm6
movaps %xmm4,%xmm6
movaps.s %xmm4,%xmm6
movdqa %xmm4,%xmm6
movdqa.s %xmm4,%xmm6
movdqu %xmm4,%xmm6
movdqu.s %xmm4,%xmm6
movq %xmm4,%xmm6
movq.s %xmm4,%xmm6
movupd %xmm4,%xmm6
movupd.s %xmm4,%xmm6
movups %xmm4,%xmm6
movups.s %xmm4,%xmm6
vmovapd %xmm4,%xmm6
vmovapd.s %xmm4,%xmm6
vmovaps %xmm4,%xmm6
vmovaps.s %xmm4,%xmm6
vmovdqa %xmm4,%xmm6
vmovdqa.s %xmm4,%xmm6
vmovdqu %xmm4,%xmm6
vmovdqu.s %xmm4,%xmm6
vmovq %xmm4,%xmm6
vmovq.s %xmm4,%xmm6
vmovupd %xmm4,%xmm6
vmovupd.s %xmm4,%xmm6
vmovups %xmm4,%xmm6
vmovups.s %xmm4,%xmm6
# Tests for op mm, mm
movq %mm0,%mm4
movq.s %mm0,%mm4
.intel_syntax noprefix
# Tests for op reg, reg
mov cl,dl
mov.s cl,dl
mov cx,dx
mov.s cx,dx
mov ecx,edx
mov.s ecx,edx
mov rcx,rdx
mov.s rcx,rdx
# Tests for op ymm, ymm
vmovapd ymm6,ymm4
vmovapd.s ymm6,ymm4
vmovaps ymm6,ymm4
vmovaps.s ymm6,ymm4
vmovdqa ymm6,ymm4
vmovdqa.s ymm6,ymm4
vmovdqu ymm6,ymm4
vmovdqu.s ymm6,ymm4
vmovupd ymm6,ymm4
vmovupd.s ymm6,ymm4
vmovups ymm6,ymm4
vmovups.s ymm6,ymm4
# Tests for op xmm, xmm
movapd xmm6,xmm4
movapd.s xmm6,xmm4
movaps xmm6,xmm4
movaps.s xmm6,xmm4
movdqa xmm6,xmm4
movdqa.s xmm6,xmm4
movdqu xmm6,xmm4
movdqu.s xmm6,xmm4
movq xmm6,xmm4
movq.s xmm6,xmm4
movupd xmm6,xmm4
movupd.s xmm6,xmm4
movups xmm6,xmm4
movups.s xmm6,xmm4
vmovapd xmm6,xmm4
vmovapd.s xmm6,xmm4
vmovaps xmm6,xmm4
vmovaps.s xmm6,xmm4
vmovdqa xmm6,xmm4
vmovdqa.s xmm6,xmm4
vmovdqu xmm6,xmm4
vmovdqu.s xmm6,xmm4
vmovq xmm6,xmm4
vmovq.s xmm6,xmm4
vmovupd xmm6,xmm4
vmovupd.s xmm6,xmm4
vmovups xmm6,xmm4
vmovups.s xmm6,xmm4
# Tests for op mm, mm
movq mm4,mm0
movq.s mm4,mm0

View file

@ -0,0 +1,120 @@
#as: -msse2avx
#objdump: -drwMintel,suffix
#name: x86-64 encoding option with -msse2avx (Intel mode)
#source: x86-64-opts.s
.*: +file format .*
Disassembly of section .text:
0+ <_start>:
[ ]*[a-f0-9]+: 88 d1 mov cl,dl
[ ]*[a-f0-9]+: 8a ca mov.s cl,dl
[ ]*[a-f0-9]+: 66 89 d1 mov cx,dx
[ ]*[a-f0-9]+: 66 8b ca mov.s cx,dx
[ ]*[a-f0-9]+: 89 d1 mov ecx,edx
[ ]*[a-f0-9]+: 8b ca mov.s ecx,edx
[ ]*[a-f0-9]+: 88 d1 mov cl,dl
[ ]*[a-f0-9]+: 8a ca mov.s cl,dl
[ ]*[a-f0-9]+: 66 89 d1 mov cx,dx
[ ]*[a-f0-9]+: 66 8b ca mov.s cx,dx
[ ]*[a-f0-9]+: 89 d1 mov ecx,edx
[ ]*[a-f0-9]+: 8b ca mov.s ecx,edx
[ ]*[a-f0-9]+: 48 89 d1 mov rcx,rdx
[ ]*[a-f0-9]+: 48 8b ca mov.s rcx,rdx
[ ]*[a-f0-9]+: 48 89 d1 mov rcx,rdx
[ ]*[a-f0-9]+: 48 8b ca mov.s rcx,rdx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 29 e6 vmovaps.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 6f f4 vmovdqa ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 7f e6 vmovdqa.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fe 6f f4 vmovdqu ymm6,ymm4
[ ]*[a-f0-9]+: c5 fe 7f e6 vmovdqu.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 10 f4 vmovupd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 11 e6 vmovupd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 10 f4 vmovups ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 11 e6 vmovups.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4
[ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0
[ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0
[ ]*[a-f0-9]+: 88 d1 mov cl,dl
[ ]*[a-f0-9]+: 8a ca mov.s cl,dl
[ ]*[a-f0-9]+: 66 89 d1 mov cx,dx
[ ]*[a-f0-9]+: 66 8b ca mov.s cx,dx
[ ]*[a-f0-9]+: 89 d1 mov ecx,edx
[ ]*[a-f0-9]+: 8b ca mov.s ecx,edx
[ ]*[a-f0-9]+: 48 89 d1 mov rcx,rdx
[ ]*[a-f0-9]+: 48 8b ca mov.s rcx,rdx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 29 e6 vmovaps.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 6f f4 vmovdqa ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 7f e6 vmovdqa.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fe 6f f4 vmovdqu ymm6,ymm4
[ ]*[a-f0-9]+: c5 fe 7f e6 vmovdqu.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 10 f4 vmovupd ymm6,ymm4
[ ]*[a-f0-9]+: c5 fd 11 e6 vmovupd.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 10 f4 vmovups ymm6,ymm4
[ ]*[a-f0-9]+: c5 fc 11 e6 vmovups.s ymm6,ymm4
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd xmm6,xmm4
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups xmm6,xmm4
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s xmm6,xmm4
[ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0
[ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0
#pass

View file

@ -0,0 +1,120 @@
#as: -msse2avx
#objdump: -drwMsuffix
#name: x86-64 encoding option with -msse2avx
#source: x86-64-opts.s
.*: +file format .*
Disassembly of section .text:
0+ <_start>:
[ ]*[a-f0-9]+: 88 d1 movb %dl,%cl
[ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl
[ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx
[ ]*[a-f0-9]+: 66 8b ca movw.s %dx,%cx
[ ]*[a-f0-9]+: 89 d1 movl %edx,%ecx
[ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx
[ ]*[a-f0-9]+: 88 d1 movb %dl,%cl
[ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl
[ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx
[ ]*[a-f0-9]+: 66 8b ca movw.s %dx,%cx
[ ]*[a-f0-9]+: 89 d1 movl %edx,%ecx
[ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx
[ ]*[a-f0-9]+: 48 89 d1 movq %rdx,%rcx
[ ]*[a-f0-9]+: 48 8b ca movq.s %rdx,%rcx
[ ]*[a-f0-9]+: 48 89 d1 movq %rdx,%rcx
[ ]*[a-f0-9]+: 48 8b ca movq.s %rdx,%rcx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 29 e6 vmovaps.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 6f f4 vmovdqa %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 7f e6 vmovdqa.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fe 6f f4 vmovdqu %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fe 7f e6 vmovdqu.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 10 f4 vmovupd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 11 e6 vmovupd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 10 f4 vmovups %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 11 e6 vmovups.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4
[ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4
[ ]*[a-f0-9]+: 88 d1 movb %dl,%cl
[ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl
[ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx
[ ]*[a-f0-9]+: 66 8b ca movw.s %dx,%cx
[ ]*[a-f0-9]+: 89 d1 movl %edx,%ecx
[ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx
[ ]*[a-f0-9]+: 48 89 d1 movq %rdx,%rcx
[ ]*[a-f0-9]+: 48 8b ca movq.s %rdx,%rcx
[ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 29 e6 vmovaps.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 6f f4 vmovdqa %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 7f e6 vmovdqa.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fe 6f f4 vmovdqu %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fe 7f e6 vmovdqu.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 10 f4 vmovupd %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fd 11 e6 vmovupd.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 10 f4 vmovups %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 fc 11 e6 vmovups.s %ymm4,%ymm6
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 28 f4 vmovapd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 29 e6 vmovapd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 28 f4 vmovaps %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 29 e6 vmovaps.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 6f f4 vmovdqa %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 7f e6 vmovdqa.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 6f f4 vmovdqu %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7f e6 vmovdqu.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 fa 7e f4 vmovq %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 d6 e6 vmovq.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 10 f4 vmovupd %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f9 11 e6 vmovupd.s %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 10 f4 vmovups %xmm4,%xmm6
[ ]*[a-f0-9]+: c5 f8 11 e6 vmovups.s %xmm4,%xmm6
[ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4
[ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4
#pass

View file

@ -1,3 +1,41 @@
2008-12-20 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (EbS): New.
(EvS): Likewise.
(EMS): Likewise.
(EXqS): Likewise.
(EXxS): Likewise.
(b_swap_mode): Likewise.
(v_swap_mode): Likewise.
(q_swap_mode): Likewise.
(x_swap_mode): Likewise.
(v_mode): Updated.
(w_mode): Likewise.
(t_mode): Likewise.
(xmm_mode): Likewise.
(swap_operand): Likewise.
(dis386): Use EbS on movB. Use EvS on moveS.
(dis386_twobyte): Use EXxS on movapX.
(prefix_table): Use EXxS on movups, movupd, movdqu, movdqa,
vmovups, vmovdqu, vmovdqa. Use EMS and EXqS on movq.
(vex_table): Use EXxS on vmovapX.
(vex_len_table): Use EXqS on vmovq.
(intel_operand_size): Handle b_swap_mode, v_swap_mode,
q_swap_mode and x_swap_mode.
(OP_E_register): Handle b_swap_mode and v_swap_mode.
(OP_EM): Handle v_swap_mode.
(OP_EX): x_swap_mode and q_swap_mode.
* i386-gen.c (opcode_modifiers): Add S.
* i386-opc.h (S): New.
(Modrm): Updated.
(i386_opcode_modifier): Add s.
* i386-opc.tbl: Add S to movapd, movaps, movdqa, movdqu, movq,
movupd, movups, vmovapd, vmovaps, vmovdqa, vmovdqu and vmovq.
* i386-tbl.h: Regenerated.
2008-12-18 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (mnemonicendp): New.

View file

@ -240,7 +240,9 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
#define XX { NULL, 0 }
#define Eb { OP_E, b_mode }
#define EbS { OP_E, b_swap_mode }
#define Ev { OP_E, v_mode }
#define EvS { OP_E, v_swap_mode }
#define Ed { OP_E, d_mode }
#define Edq { OP_E, dq_mode }
#define Edqw { OP_E, dqw_mode }
@ -355,12 +357,15 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
#define XM { OP_XMM, 0 }
#define XMM { OP_XMM, xmm_mode }
#define EM { OP_EM, v_mode }
#define EMS { OP_EM, v_swap_mode }
#define EMd { OP_EM, d_mode }
#define EMx { OP_EM, x_mode }
#define EXw { OP_EX, w_mode }
#define EXd { OP_EX, d_mode }
#define EXq { OP_EX, q_mode }
#define EXqS { OP_EX, q_swap_mode }
#define EXx { OP_EX, x_mode }
#define EXxS { OP_EX, x_swap_mode }
#define EXxmm { OP_EX, xmm_mode }
#define EXxmmq { OP_EX, xmmq_mode }
#define EXymmq { OP_EX, ymmq_mode }
@ -412,20 +417,28 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
/* byte operand */
#define b_mode 1
/* byte operand with operand swapped */
#define b_swap_mode (b_mode + 1)
/* operand size depends on prefixes */
#define v_mode (b_mode + 1)
#define v_mode (b_swap_mode + 1)
/* operand size depends on prefixes with operand swapped */
#define v_swap_mode (v_mode + 1)
/* word operand */
#define w_mode (v_mode + 1)
#define w_mode (v_swap_mode + 1)
/* double word operand */
#define d_mode (w_mode + 1)
/* quad word operand */
#define q_mode (d_mode + 1)
/* quad word operand with operand swapped */
#define q_swap_mode (q_mode + 1)
/* ten-byte operand */
#define t_mode (q_mode + 1)
#define t_mode (q_swap_mode + 1)
/* 16-byte XMM or 32-byte YMM operand */
#define x_mode (t_mode + 1)
/* 16-byte XMM or 32-byte YMM operand with operand swapped */
#define x_swap_mode (x_mode + 1)
/* 16-byte XMM operand */
#define xmm_mode (x_mode + 1)
#define xmm_mode (x_swap_mode + 1)
/* 16-byte XMM or quad word operand */
#define xmmq_mode (xmm_mode + 1)
/* 32-byte YMM or quad word operand */
@ -1458,8 +1471,8 @@ static const struct dis386 dis386[] = {
/* 88 */
{ "movB", { Eb, Gb } },
{ "movS", { Ev, Gv } },
{ "movB", { Gb, Eb } },
{ "movS", { Gv, Ev } },
{ "movB", { Gb, EbS } },
{ "movS", { Gv, EvS } },
{ "movD", { Sv, Sw } },
{ MOD_TABLE (MOD_8D) },
{ "movD", { Sw, Sv } },
@ -1640,7 +1653,7 @@ static const struct dis386 dis386_twobyte[] = {
{ "(bad)", { XX } },
/* 28 */
{ "movapX", { XM, EXx } },
{ "movapX", { EXx, XM } },
{ "movapX", { EXxS, XM } },
{ PREFIX_TABLE (PREFIX_0F2A) },
{ PREFIX_TABLE (PREFIX_0F2B) },
{ PREFIX_TABLE (PREFIX_0F2C) },
@ -2413,9 +2426,9 @@ static const struct dis386 prefix_table[][4] = {
/* PREFIX_0F11 */
{
{ "movups", { EXx, XM } },
{ "movups", { EXxS, XM } },
{ "movss", { EXd, XM } },
{ "movupd", { EXx, XM } },
{ "movupd", { EXxS, XM } },
{ "movsd", { EXq, XM } },
},
@ -2685,9 +2698,9 @@ static const struct dis386 prefix_table[][4] = {
/* PREFIX_0F7F */
{
{ "movq", { EM, MX } },
{ "movdqu", { EXx, XM } },
{ "movdqa", { EXx, XM } },
{ "movq", { EMS, MX } },
{ "movdqu", { EXxS, XM } },
{ "movdqa", { EXxS, XM } },
{ "(bad)", { XX } },
},
@ -2743,7 +2756,7 @@ static const struct dis386 prefix_table[][4] = {
{
{ "(bad)", { XX } },
{ "movq2dq",{ XM, MS } },
{ "movq", { EXq, XM } },
{ "movq", { EXqS, XM } },
{ "movdq2q",{ MX, XS } },
},
@ -3293,9 +3306,9 @@ static const struct dis386 prefix_table[][4] = {
/* PREFIX_VEX_11 */
{
{ "vmovups", { EXx, XM } },
{ "vmovups", { EXxS, XM } },
{ VEX_LEN_TABLE (VEX_LEN_11_P_1) },
{ "vmovupd", { EXx, XM } },
{ "vmovupd", { EXxS, XM } },
{ VEX_LEN_TABLE (VEX_LEN_11_P_3) },
},
@ -3718,8 +3731,8 @@ static const struct dis386 prefix_table[][4] = {
/* PREFIX_VEX_7F */
{
{ "(bad)", { XX } },
{ "vmovdqu", { EXx, XM } },
{ "vmovdqa", { EXx, XM } },
{ "vmovdqu", { EXxS, XM } },
{ "vmovdqa", { EXxS, XM } },
{ "(bad)", { XX } },
},
@ -6989,7 +7002,7 @@ static const struct dis386 vex_table[][256] = {
{ "(bad)", { XX } },
/* 28 */
{ "vmovapX", { XM, EXx } },
{ "vmovapX", { EXx, XM } },
{ "vmovapX", { EXxS, XM } },
{ PREFIX_TABLE (PREFIX_VEX_2A) },
{ MOD_TABLE (MOD_VEX_2B) },
{ PREFIX_TABLE (PREFIX_VEX_2C) },
@ -8328,7 +8341,7 @@ static const struct dis386 vex_len_table[][2] = {
/* VEX_LEN_D6_P_2 */
{
{ "vmovq", { EXq, XM } },
{ "vmovq", { EXqS, XM } },
{ "(bad)", { XX } },
},
@ -10723,6 +10736,14 @@ static char *fgrps[][8] = {
},
};
static void
swap_operand (void)
{
mnemonicendp[0] = '.';
mnemonicendp[1] = 's';
mnemonicendp += 2;
}
static void
OP_Skip_MODRM (int bytemode ATTRIBUTE_UNUSED,
int sizeflag ATTRIBUTE_UNUSED)
@ -11351,6 +11372,7 @@ intel_operand_size (int bytemode, int sizeflag)
switch (bytemode)
{
case b_mode:
case b_swap_mode:
case dqb_mode:
oappend ("BYTE PTR ");
break;
@ -11367,6 +11389,7 @@ intel_operand_size (int bytemode, int sizeflag)
}
/* FALLTHRU */
case v_mode:
case v_swap_mode:
case dq_mode:
USED_REX (REX_W);
if (rex & REX_W)
@ -11396,6 +11419,7 @@ intel_operand_size (int bytemode, int sizeflag)
oappend ("DWORD PTR ");
break;
case q_mode:
case q_swap_mode:
oappend ("QWORD PTR ");
break;
case m_mode:
@ -11415,6 +11439,7 @@ intel_operand_size (int bytemode, int sizeflag)
oappend ("TBYTE PTR ");
break;
case x_mode:
case x_swap_mode:
if (need_vex)
{
switch (vex.length)
@ -11485,9 +11510,14 @@ OP_E_register (int bytemode, int sizeflag)
if ((rex & REX_B))
reg += 8;
if ((sizeflag & SUFFIX_ALWAYS)
&& (bytemode == b_swap_mode || bytemode == v_swap_mode))
swap_operand ();
switch (bytemode)
{
case b_mode:
case b_swap_mode:
USED_REX (0);
if (rex)
names = names8rex;
@ -11516,6 +11546,7 @@ OP_E_register (int bytemode, int sizeflag)
bytemode = v_mode;
/* FALLTHRU */
case v_mode:
case v_swap_mode:
case dq_mode:
case dqb_mode:
case dqd_mode:
@ -11523,7 +11554,9 @@ OP_E_register (int bytemode, int sizeflag)
USED_REX (REX_W);
if (rex & REX_W)
names = names64;
else if ((sizeflag & DFLAG) || bytemode != v_mode)
else if ((sizeflag & DFLAG)
|| (bytemode != v_mode
&& bytemode != v_swap_mode))
names = names32;
else
names = names16;
@ -12535,7 +12568,8 @@ OP_EM (int bytemode, int sizeflag)
{
if (modrm.mod != 3)
{
if (intel_syntax && bytemode == v_mode)
if (intel_syntax
&& (bytemode == v_mode || bytemode == v_swap_mode))
{
bytemode = (prefixes & PREFIX_DATA) ? x_mode : q_mode;
used_prefixes |= (prefixes & PREFIX_DATA);
@ -12544,6 +12578,9 @@ OP_EM (int bytemode, int sizeflag)
return;
}
if ((sizeflag & SUFFIX_ALWAYS) && bytemode == v_swap_mode)
swap_operand ();
/* Skip mod/rm byte. */
MODRM_CHECK;
codep++;
@ -12614,6 +12651,10 @@ OP_EX (int bytemode, int sizeflag)
else
add = 0;
if ((sizeflag & SUFFIX_ALWAYS)
&& (bytemode == x_swap_mode || bytemode == q_swap_mode))
swap_operand ();
/* Skip mod/rm byte. */
MODRM_CHECK;
codep++;

View file

@ -284,6 +284,7 @@ static bitfield opcode_modifiers[] =
{
BITFIELD (D),
BITFIELD (W),
BITFIELD (S),
BITFIELD (Modrm),
BITFIELD (ShortForm),
BITFIELD (Jump),

View file

@ -166,8 +166,10 @@ typedef union i386_cpu_flags
#define D 0
/* set if operands can be words or dwords encoded the canonical way */
#define W (D + 1)
/* Swap operand in encoding. */
#define S (W + 1)
/* insn has a modrm byte. */
#define Modrm (W + 1)
#define Modrm (S + 1)
/* register is in low 3 bits of opcode */
#define ShortForm (Modrm + 1)
/* special case for jump insns. */
@ -284,6 +286,7 @@ typedef struct i386_opcode_modifier
{
unsigned int d:1;
unsigned int w:1;
unsigned int s:1;
unsigned int modrm:1;
unsigned int shortform:1;
unsigned int jump:1;

View file

@ -941,15 +941,15 @@ movq, 2, 0xa0, None, 1, Cpu64, D|W|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSu
movq, 2, 0x88, None, 1, Cpu64, D|W|Modrm|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg64, Reg64|Unspecified|Qword|BaseIndex|Disp8|Disp32|Disp32S }
movq, 2, 0xc6, 0x0, 1, Cpu64, W|Modrm|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm32S, Reg64|Qword|Unspecified|BaseIndex|Disp8|Disp32|Disp32S }
movq, 2, 0xb0, None, 1, Cpu64, W|ShortForm|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm64, Reg64 }
movq, 2, 0xf37e, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64|SSE2AVX, { Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movq, 2, 0xf37e, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64|SSE2AVX, { Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movq, 2, 0x66d6, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64|SSE2AVX, { RegXMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
movq, 2, 0x666e, None, 1, CpuAVX|Cpu64, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Reg64|Qword|Unspecified|BaseIndex|Disp8|Disp32|Disp32S, RegXMM }
movq, 2, 0x667e, None, 1, CpuAVX|Cpu64, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { RegXMM, Reg64|Qword|Unspecified|BaseIndex|Disp8|Disp32|Disp32S }
movq, 2, 0xf30f7e, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Unspecified|Qword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movq, 2, 0xf30f7e, None, 2, CpuSSE2, S|Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Unspecified|Qword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movq, 2, 0x660fd6, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { RegXMM, Unspecified|Qword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
movq, 2, 0x660f6e, None, 2, Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg64|Unspecified|Qword|BaseIndex|Disp8|Disp32|Disp32S, RegXMM }
movq, 2, 0x660f7e, None, 2, Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Reg64|Unspecified|Qword|BaseIndex|Disp8|Disp32|Disp32S }
movq, 2, 0xf6f, None, 2, CpuMMX, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Unspecified|Qword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegMMX, RegMMX }
movq, 2, 0xf6f, None, 2, CpuMMX, S|Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Unspecified|Qword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegMMX, RegMMX }
movq, 2, 0xf7f, None, 2, CpuMMX, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { RegMMX, Unspecified|Qword|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegMMX }
movq, 2, 0xf6e, None, 2, Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg64|Unspecified|Qword|BaseIndex|Disp8|Disp32|Disp32S, RegMMX }
movq, 2, 0xf7e, None, 2, Cpu64, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMMX, Reg64|Unspecified|Qword|BaseIndex|Disp8|Disp32|Disp32S }
@ -1199,9 +1199,9 @@ minps, 2, 0x5d, None, 1, CpuAVX, Modrm|Vex|Vex0F|VexNDS|IgnoreSize|No_bSuf|No_wS
minps, 2, 0xf5d, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
minss, 2, 0xf35d, None, 1, CpuAVX, Modrm|Vex|Vex0F|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
minss, 2, 0xf30f5d, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movaps, 2, 0x28, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movaps, 2, 0x28, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movaps, 2, 0x29, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
movaps, 2, 0xf28, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movaps, 2, 0xf28, None, 2, CpuSSE, S|Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movaps, 2, 0xf29, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
movhlps, 2, 0x12, None, 1, CpuAVX, Modrm|Vex|Vex0F|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { RegXMM, RegXMM }
movhlps, 2, 0xf12, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
@ -1227,9 +1227,9 @@ movss, 2, 0xf310, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No
movss, 2, 0xf310, None, 1, CpuAVX, Modrm|Vex|Vex0F|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { RegXMM, RegXMM }
movss, 2, 0xf30f10, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movss, 2, 0xf30f11, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
movups, 2, 0x10, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movups, 2, 0x10, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movups, 2, 0x11, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
movups, 2, 0xf10, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movups, 2, 0xf10, None, 2, CpuSSE, S|Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movups, 2, 0xf11, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
mulps, 2, 0x59, None, 1, CpuAVX, Modrm|Vex|Vex0F|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
mulps, 2, 0xf59, None, 2, CpuSSE, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
@ -1375,9 +1375,9 @@ minpd, 2, 0x665d, None, 1, CpuAVX, Modrm|Vex|Vex0F|VexNDS|IgnoreSize|No_bSuf|No_
minpd, 2, 0x660f5d, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
minsd, 2, 0xf25d, None, 1, CpuAVX, Modrm|Vex|Vex0F|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
minsd, 2, 0xf20f5d, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movapd, 2, 0x6628, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movapd, 2, 0x6628, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movapd, 2, 0x6629, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
movapd, 2, 0x660f28, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movapd, 2, 0x660f28, None, 2, CpuSSE2, S|Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movapd, 2, 0x660f29, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
movhpd, 2, 0x6616, None, 1, CpuAVX, Modrm|Vex|Vex0F|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, RegXMM }
movhpd, 2, 0x6617, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { RegXMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S }
@ -1399,9 +1399,9 @@ movsd, 2, 0xf210, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No
movsd, 2, 0xf210, None, 1, CpuAVX, Modrm|Vex|Vex0F|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { RegXMM, RegXMM }
movsd, 2, 0xf20f10, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movsd, 2, 0xf20f11, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
movupd, 2, 0x6610, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movupd, 2, 0x6610, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movupd, 2, 0x6611, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
movupd, 2, 0x660f10, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movupd, 2, 0x660f10, None, 2, CpuSSE2, S|Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movupd, 2, 0x660f11, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
mulpd, 2, 0x6659, None, 1, CpuAVX, Modrm|Vex|Vex0F|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
mulpd, 2, 0x660f59, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
@ -1455,13 +1455,13 @@ cvttps2dq, 2, 0xf35b, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSu
cvttps2dq, 2, 0xf30f5b, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
maskmovdqu, 2, 0x66f7, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { RegXMM, RegXMM }
maskmovdqu, 2, 0x660ff7, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM }
movdqa, 2, 0x666f, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movdqa, 2, 0x666f, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movdqa, 2, 0x667f, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
movdqa, 2, 0x660f6f, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movdqa, 2, 0x660f6f, None, 2, CpuSSE2, S|Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movdqa, 2, 0x660f7f, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
movdqu, 2, 0xf36f, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movdqu, 2, 0xf36f, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movdqu, 2, 0xf37f, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
movdqu, 2, 0xf30f6f, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movdqu, 2, 0xf30f6f, None, 2, CpuSSE2, S|Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
movdqu, 2, 0xf30f7f, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
movdq2q, 2, 0xf20fd6, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoAVX, { RegXMM, RegMMX }
movq2dq, 2, 0xf30fd6, None, 2, CpuSSE2, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoAVX, { RegMMX, RegXMM }
@ -2075,12 +2075,12 @@ vminps, 3, 0x5d, None, 1, CpuAVX, Modrm|Vex|Vex0F|VexNDS|IgnoreSize|No_bSuf|No_w
vminps, 3, 0x5d, None, 1, CpuAVX, Modrm|Vex|Vex0F|Vex256|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM, RegYMM, RegYMM }
vminsd, 3, 0xf25d, None, 1, CpuAVX, Modrm|Vex|Vex0F|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM, RegXMM }
vminss, 3, 0xf35d, None, 1, CpuAVX, Modrm|Vex|Vex0F|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM, RegXMM }
vmovapd, 2, 0x6628, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
vmovapd, 2, 0x6628, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
vmovapd, 2, 0x6628, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM, RegYMM }
vmovapd, 2, 0x6629, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
vmovapd, 2, 0x6628, None, 1, CpuAVX, Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM, RegYMM }
vmovapd, 2, 0x6629, None, 1, CpuAVX, Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM }
vmovaps, 2, 0x28, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
vmovaps, 2, 0x28, None, 1, CpuAVX, Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM, RegYMM }
vmovaps, 2, 0x28, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
vmovaps, 2, 0x28, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM, RegYMM }
vmovaps, 2, 0x29, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
vmovaps, 2, 0x29, None, 1, CpuAVX, Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM }
// vmovd really shouldn't allow for 64bit operand (vmovq is the right
@ -2094,12 +2094,12 @@ vmovd, 2, 0x667e, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No
vmovd, 2, 0x667e, None, 1, CpuAVX|Cpu64, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Rex64, { RegXMM, Qword|Reg64|BaseIndex|Disp8|Disp32|Disp32S }
vmovddup, 2, 0xf212, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
vmovddup, 2, 0xf212, None, 1, CpuAVX, Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM, RegYMM }
vmovdqa, 2, 0x666f, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
vmovdqa, 2, 0x666f, None, 1, CpuAVX, Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM, RegYMM }
vmovdqa, 2, 0x666f, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
vmovdqa, 2, 0x666f, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM, RegYMM }
vmovdqa, 2, 0x667f, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
vmovdqa, 2, 0x667f, None, 1, CpuAVX, Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM }
vmovdqu, 2, 0xf36f, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
vmovdqu, 2, 0xf36f, None, 1, CpuAVX, Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM, RegYMM }
vmovdqu, 2, 0xf36f, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
vmovdqu, 2, 0xf36f, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM, RegYMM }
vmovdqu, 2, 0xf37f, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
vmovdqu, 2, 0xf37f, None, 1, CpuAVX, Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM }
vmovhlps, 3, 0x12, None, 1, CpuAVX, Modrm|Vex|Vex0F|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM, RegXMM }
@ -2120,7 +2120,7 @@ vmovntdq, 2, 0x66e7, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf
vmovntdqa, 2, 0x662a, None, 1, CpuAVX, Modrm|Vex|Vex0F38|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, RegXMM }
vmovntpd, 2, 0x662b, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S }
vmovntps, 2, 0x2b, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S }
vmovq, 2, 0xf37e, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
vmovq, 2, 0xf37e, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
vmovq, 2, 0x66d6, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { RegXMM, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
vmovq, 2, 0x666e, None, 1, CpuAVX|Cpu64, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg64|Qword|Unspecified|BaseIndex|Disp8|Disp32|Disp32S, RegXMM }
vmovq, 2, 0x667e, None, 1, CpuAVX|Cpu64, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Reg64|Qword|Unspecified|BaseIndex|Disp8|Disp32|Disp32S }
@ -2134,13 +2134,13 @@ vmovsldup, 2, 0xf312, None, 1, CpuAVX, Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf
vmovss, 2, 0xf311, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S }
vmovss, 2, 0xf310, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, RegXMM }
vmovss, 3, 0xf310, None, 1, CpuAVX, Modrm|Vex|Vex0F|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM, RegXMM }
vmovupd, 2, 0x6610, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
vmovupd, 2, 0x6610, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
vmovupd, 2, 0x6610, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM, RegYMM }
vmovupd, 2, 0x6611, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
vmovupd, 2, 0x6610, None, 1, CpuAVX, Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM, RegYMM }
vmovupd, 2, 0x6611, None, 1, CpuAVX, Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM }
vmovups, 2, 0x10, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
vmovups, 2, 0x10, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
vmovups, 2, 0x10, None, 1, CpuAVX, S|Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM, RegYMM }
vmovups, 2, 0x11, None, 1, CpuAVX, Modrm|Vex|Vex0F|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM }
vmovups, 2, 0x10, None, 1, CpuAVX, Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM, RegYMM }
vmovups, 2, 0x11, None, 1, CpuAVX, Modrm|Vex|Vex0F|Vex256|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Ymmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegYMM }
vmpsadbw, 4, 0x6642, None, 1, CpuAVX, Modrm|Vex|Vex0F3A|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM, RegXMM }
vmulpd, 3, 0x6659, None, 1, CpuAVX, Modrm|Vex|Vex0F|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM, RegXMM }

File diff suppressed because it is too large Load diff