x86: Add -mvexwig=[0|1] option to assembler

Add -mvexwig=[0|1] option to x86 assembler to control how the assembler
should encode the VEX.W bit in WIG VEX instructions.

	* gas/NEWS: Mention -mvexwig=[0|1] option.
	* config/tc-i386.c (vexwig): New.
	(build_vex_prefix): Set the VEX.W bit for -mvexwig=1 for WIG
	VEX instructions.
	(OPTION_MVEXWIG): New.
	(md_longopts): Add -mvexwig=.
	(md_parse_option): Handle OPTION_MVEXWIG.
	(md_show_usage): Show -mvexwig=[0|1].
	* doc/c-i386.texi: Document -mvexwig=[0|1].
	* testsuite/gas/i386/avx-wig.d: New file.
	* testsuite/gas/i386/avx-wig.s: Likewise.
	* testsuite/gas/i386/avx2-wig.d: Likewise.
	* testsuite/gas/i386/avx2-wig.s: Likewise.
	* testsuite/gas/i386/x86-64-avx-wig.d: Likewise.
	* testsuite/gas/i386/x86-64-avx-wig.s: Likewise.
	* testsuite/gas/i386/x86-64-avx2-wig.d: Likewise.
	* testsuite/gas/i386/x86-64-avx2-wig.s: Likewise.
	* testsuite/gas/i386/i386.exp: Run avx-wig, avx2-wig,
	x86-64-avx-wig and x86-64-avx2-wig.
This commit is contained in:
H.J. Lu
2018-09-17 09:26:18 -07:00
parent ec6f095abc
commit 0375113302
13 changed files with 1545 additions and 11 deletions

View File

@ -1,3 +1,25 @@
2018-09-17 H.J. Lu <hongjiu.lu@intel.com>
* gas/NEWS: Mention -mvexwig=[0|1] option.
* config/tc-i386.c (vexwig): New.
(build_vex_prefix): Set the VEX.W bit for -mvexwig=1 for WIG
VEX instructions.
(OPTION_MVEXWIG): New.
(md_longopts): Add -mvexwig=.
(md_parse_option): Handle OPTION_MVEXWIG.
(md_show_usage): Show -mvexwig=[0|1].
* doc/c-i386.texi: Document -mvexwig=[0|1].
* testsuite/gas/i386/avx-wig.d: New file.
* testsuite/gas/i386/avx-wig.s: Likewise.
* testsuite/gas/i386/avx2-wig.d: Likewise.
* testsuite/gas/i386/avx2-wig.s: Likewise.
* testsuite/gas/i386/x86-64-avx-wig.d: Likewise.
* testsuite/gas/i386/x86-64-avx-wig.s: Likewise.
* testsuite/gas/i386/x86-64-avx2-wig.d: Likewise.
* testsuite/gas/i386/x86-64-avx2-wig.s: Likewise.
* testsuite/gas/i386/i386.exp: Run avx-wig, avx2-wig,
x86-64-avx-wig and x86-64-avx2-wig.
2018-09-17 Alan Modra <amodra@gmail.com> 2018-09-17 Alan Modra <amodra@gmail.com>
* testsuite/gas/arm/arch7.d: Delete notarget. * testsuite/gas/arm/arch7.d: Delete notarget.

View File

@ -1,5 +1,8 @@
-*- text -*- -*- text -*-
* Add -mvexwig=[0|1] option to x86 assembler to control encoding of
VEX.W-ignored (WIG) VEX instructions.
* Add -mx86-used-note=[yes|no] option to generate (or not) x86 GNU property * Add -mx86-used-note=[yes|no] option to generate (or not) x86 GNU property
notes. Add a --enable-x86-used-note configure time option to set the notes. Add a --enable-x86-used-note configure time option to set the
default behavior. Set the default if the configure option is not used default behavior. Set the default if the configure option is not used

View File

@ -684,6 +684,13 @@ static enum
vex256 vex256
} avxscalar; } avxscalar;
/* Encode VEX WIG instructions with specific vex.w. */
static enum
{
vexw0 = 0,
vexw1
} vexwig;
/* Encode scalar EVEX LIG instructions with specific vector length. */ /* Encode scalar EVEX LIG instructions with specific vector length. */
static enum static enum
{ {
@ -3353,6 +3360,7 @@ build_vex_prefix (const insn_template *t)
unsigned int register_specifier; unsigned int register_specifier;
unsigned int implied_prefix; unsigned int implied_prefix;
unsigned int vector_length; unsigned int vector_length;
unsigned int w;
/* Check register specifier. */ /* Check register specifier. */
if (i.vex.register_specifier) if (i.vex.register_specifier)
@ -3439,10 +3447,18 @@ build_vex_prefix (const insn_template *t)
abort (); abort ();
} }
/* Check the REX.W bit and VEXW. */
if (i.tm.opcode_modifier.vexw == VEXWIG)
w = (vexwig == vexw1 || (i.rex & REX_W)) ? 1 : 0;
else if (i.tm.opcode_modifier.vexw)
w = i.tm.opcode_modifier.vexw == VEXW1 ? 1 : 0;
else
w = (i.rex & REX_W) ? 1 : 0;
/* Use 2-byte VEX prefix if possible. */ /* Use 2-byte VEX prefix if possible. */
if (i.vec_encoding != vex_encoding_vex3 if (w == 0
&& i.vec_encoding != vex_encoding_vex3
&& i.tm.opcode_modifier.vexopcode == VEX0F && i.tm.opcode_modifier.vexopcode == VEX0F
&& i.tm.opcode_modifier.vexw != VEXW1
&& (i.rex & (REX_W | REX_X | REX_B)) == 0) && (i.rex & (REX_W | REX_X | REX_B)) == 0)
{ {
/* 2-byte VEX prefix. */ /* 2-byte VEX prefix. */
@ -3461,7 +3477,7 @@ build_vex_prefix (const insn_template *t)
else else
{ {
/* 3-byte VEX prefix. */ /* 3-byte VEX prefix. */
unsigned int m, w; unsigned int m;
i.vex.length = 3; i.vex.length = 3;
@ -3499,14 +3515,6 @@ build_vex_prefix (const insn_template *t)
of RXB bits from REX. */ of RXB bits from REX. */
i.vex.bytes[1] = (~i.rex & 0x7) << 5 | m; i.vex.bytes[1] = (~i.rex & 0x7) << 5 | m;
/* Check the REX.W bit and VEXW. */
if (i.tm.opcode_modifier.vexw == VEXWIG)
w = (i.rex & REX_W) ? 1 : 0;
else if (i.tm.opcode_modifier.vexw)
w = i.tm.opcode_modifier.vexw == VEXW1 ? 1 : 0;
else
w = (i.rex & REX_W) ? 1 : 0;
i.vex.bytes[2] = (w << 7 i.vex.bytes[2] = (w << 7
| register_specifier << 3 | register_specifier << 3
| vector_length << 2 | vector_length << 2
@ -10878,6 +10886,7 @@ const char *md_shortopts = "qnO::";
#define OPTION_MINTEL64 (OPTION_MD_BASE + 23) #define OPTION_MINTEL64 (OPTION_MD_BASE + 23)
#define OPTION_MFENCE_AS_LOCK_ADD (OPTION_MD_BASE + 24) #define OPTION_MFENCE_AS_LOCK_ADD (OPTION_MD_BASE + 24)
#define OPTION_X86_USED_NOTE (OPTION_MD_BASE + 25) #define OPTION_X86_USED_NOTE (OPTION_MD_BASE + 25)
#define OPTION_MVEXWIG (OPTION_MD_BASE + 26)
struct option md_longopts[] = struct option md_longopts[] =
{ {
@ -10902,6 +10911,7 @@ struct option md_longopts[] =
{"msse-check", required_argument, NULL, OPTION_MSSE_CHECK}, {"msse-check", required_argument, NULL, OPTION_MSSE_CHECK},
{"moperand-check", required_argument, NULL, OPTION_MOPERAND_CHECK}, {"moperand-check", required_argument, NULL, OPTION_MOPERAND_CHECK},
{"mavxscalar", required_argument, NULL, OPTION_MAVXSCALAR}, {"mavxscalar", required_argument, NULL, OPTION_MAVXSCALAR},
{"mvexwig", required_argument, NULL, OPTION_MVEXWIG},
{"madd-bnd-prefix", no_argument, NULL, OPTION_MADD_BND_PREFIX}, {"madd-bnd-prefix", no_argument, NULL, OPTION_MADD_BND_PREFIX},
{"mevexlig", required_argument, NULL, OPTION_MEVEXLIG}, {"mevexlig", required_argument, NULL, OPTION_MEVEXLIG},
{"mevexwig", required_argument, NULL, OPTION_MEVEXWIG}, {"mevexwig", required_argument, NULL, OPTION_MEVEXWIG},
@ -11219,6 +11229,15 @@ md_parse_option (int c, const char *arg)
as_fatal (_("invalid -mavxscalar= option: `%s'"), arg); as_fatal (_("invalid -mavxscalar= option: `%s'"), arg);
break; break;
case OPTION_MVEXWIG:
if (strcmp (arg, "0") == 0)
vexwig = evexw0;
else if (strcmp (arg, "1") == 0)
vexwig = evexw1;
else
as_fatal (_("invalid -mvexwig= option: `%s'"), arg);
break;
case OPTION_MADD_BND_PREFIX: case OPTION_MADD_BND_PREFIX:
add_bnd_prefix = 1; add_bnd_prefix = 1;
break; break;
@ -11477,6 +11496,10 @@ md_show_usage (FILE *stream)
encode scalar AVX instructions with specific vector\n\ encode scalar AVX instructions with specific vector\n\
length\n")); length\n"));
fprintf (stream, _("\ fprintf (stream, _("\
-mvexwig=[0|1] (default: 0)\n\
encode VEX instructions with specific VEX.W value\n\
for VEX.W bit ignored instructions\n"));
fprintf (stream, _("\
-mevexlig=[128|256|512] (default: 128)\n\ -mevexlig=[128|256|512] (default: 128)\n\
encode scalar EVEX instructions with specific vector\n\ encode scalar EVEX instructions with specific vector\n\
length\n")); length\n"));

View File

@ -298,6 +298,16 @@ AVX instructions with 128bit vector length, which is the default.
@option{-mavxscalar=@var{256}} will encode scalar AVX instructions @option{-mavxscalar=@var{256}} will encode scalar AVX instructions
with 256bit vector length. with 256bit vector length.
@cindex @samp{-mvexwig=} option, i386
@cindex @samp{-mvexwig=} option, x86-64
@item -mvexwig=@var{0}
@itemx -mvexwig=@var{1}
These options control how the assembler should encode VEX.W-ignored (WIG)
VEX instructions. @option{-mvexwig=@var{0}} will encode WIG VEX
instructions with vex.w = 0, which is the default.
@option{-mvexwig=@var{1}} will encode WIG EVEX instructions with
vex.w = 1.
@cindex @samp{-mevexlig=} option, i386 @cindex @samp{-mevexlig=} option, i386
@cindex @samp{-mevexlig=} option, x86-64 @cindex @samp{-mevexlig=} option, x86-64
@item -mevexlig=@var{128} @item -mevexlig=@var{128}

View File

@ -0,0 +1,254 @@
#as: -mvexwig=1
#objdump: -dw
#name: i386 AVX WIG insns with -mvexwig=1
.*: +file format .*
Disassembly of section .text:
0+ <_start>:
+[a-f0-9]+: c4 e1 cd 58 d4 vaddpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 58 d4 vaddps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cb 58 d4 vaddsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ca 58 d4 vaddss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 cd d0 d4 vaddsubpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cf d0 d4 vaddsubps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 c9 de d4 vaesdec %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 df d4 vaesdeclast %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 dc d4 vaesenc %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 dd d4 vaesenclast %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 f9 db f4 vaesimc %xmm4,%xmm6
+[a-f0-9]+: c4 e3 f9 df f4 07 vaeskeygenassist \$0x7,%xmm4,%xmm6
+[a-f0-9]+: c4 e3 cd 0d d4 07 vblendpd \$0x7,%ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e3 cd 0c d4 07 vblendps \$0x7,%ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd c2 d4 07 vcmpordpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc c2 d4 07 vcmpordps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cb c2 d4 07 vcmpordsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ca c2 d4 07 vcmpordss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 f9 2f f4 vcomisd %xmm4,%xmm6
+[a-f0-9]+: c4 e1 f8 2f f4 vcomiss %xmm4,%xmm6
+[a-f0-9]+: c4 e1 fe e6 e4 vcvtdq2pd %xmm4,%ymm4
+[a-f0-9]+: c4 e1 fc 5b f4 vcvtdq2ps %ymm4,%ymm6
+[a-f0-9]+: c4 e1 ff e6 e4 vcvtpd2dq %ymm4,%xmm4
+[a-f0-9]+: c4 e1 fb e6 f4 vcvtpd2dq %xmm4,%xmm6
+[a-f0-9]+: c4 e1 ff e6 e4 vcvtpd2dq %ymm4,%xmm4
+[a-f0-9]+: c4 e1 fd 5a e4 vcvtpd2ps %ymm4,%xmm4
+[a-f0-9]+: c4 e1 f9 5a f4 vcvtpd2ps %xmm4,%xmm6
+[a-f0-9]+: c4 e1 fd 5a e4 vcvtpd2ps %ymm4,%xmm4
+[a-f0-9]+: c4 e1 fd 5b f4 vcvtps2dq %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fc 5a e4 vcvtps2pd %xmm4,%ymm4
+[a-f0-9]+: c4 e1 cb 5a d4 vcvtsd2ss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 fd e6 e4 vcvttpd2dq %ymm4,%xmm4
+[a-f0-9]+: c4 e1 f9 e6 f4 vcvttpd2dq %xmm4,%xmm6
+[a-f0-9]+: c4 e1 fd e6 e4 vcvttpd2dq %ymm4,%xmm4
+[a-f0-9]+: c4 e1 fe 5b f4 vcvttps2dq %ymm4,%ymm6
+[a-f0-9]+: c4 e1 cd 5e d4 vdivpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 5e d4 vdivps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cb 5e d4 vdivsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ca 5e d4 vdivss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 41 d4 07 vdppd \$0x7,%xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 cd 40 d4 07 vdpps \$0x7,%ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e3 f9 17 21 07 vextractps \$0x7,%xmm4,\(%ecx\)
+[a-f0-9]+: c4 e1 cd 7c d4 vhaddpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cf 7c d4 vhaddps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 7d d4 vhsubpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cf 7d d4 vhsubps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e3 c9 21 d4 07 vinsertps \$0x7,%xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ff f0 21 vlddqu \(%ecx\),%ymm4
+[a-f0-9]+: c4 e1 f8 ae 11 vldmxcsr \(%ecx\)
+[a-f0-9]+: c4 e1 f9 f7 f4 vmaskmovdqu %xmm4,%xmm6
+[a-f0-9]+: c4 e1 cd 5f d4 vmaxpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 5f d4 vmaxps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cb 5f d4 vmaxsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ca 5f d4 vmaxss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 cd 5d d4 vminpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 5d d4 vminps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cb 5d d4 vminsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ca 5d d4 vminss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 fd 28 f4 vmovapd %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fc 28 f4 vmovaps %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fd 29 e6 vmovapd %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fc 29 e6 vmovaps %ymm4,%ymm6
+[a-f0-9]+: c4 e1 ff 12 f4 vmovddup %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fd 6f f4 vmovdqa %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fe 6f f4 vmovdqu %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fd 7f e6 vmovdqa %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fe 7f e6 vmovdqu %ymm4,%ymm6
+[a-f0-9]+: c4 e1 c8 12 d4 vmovhlps %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 d9 16 31 vmovhpd \(%ecx\),%xmm4,%xmm6
+[a-f0-9]+: c4 e1 f9 17 21 vmovhpd %xmm4,\(%ecx\)
+[a-f0-9]+: c4 e1 d8 16 31 vmovhps \(%ecx\),%xmm4,%xmm6
+[a-f0-9]+: c4 e1 f8 17 21 vmovhps %xmm4,\(%ecx\)
+[a-f0-9]+: c4 e1 c8 16 d4 vmovlhps %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 d9 12 31 vmovlpd \(%ecx\),%xmm4,%xmm6
+[a-f0-9]+: c4 e1 f9 13 21 vmovlpd %xmm4,\(%ecx\)
+[a-f0-9]+: c4 e1 d8 12 31 vmovlps \(%ecx\),%xmm4,%xmm6
+[a-f0-9]+: c4 e1 f8 13 21 vmovlps %xmm4,\(%ecx\)
+[a-f0-9]+: c4 e1 f9 50 cc vmovmskpd %xmm4,%ecx
+[a-f0-9]+: c4 e1 f8 50 cc vmovmskps %xmm4,%ecx
+[a-f0-9]+: c4 e1 fd e7 21 vmovntdq %ymm4,\(%ecx\)
+[a-f0-9]+: c4 e2 f9 2a 21 vmovntdqa \(%ecx\),%xmm4
+[a-f0-9]+: c4 e1 fd 2b 21 vmovntpd %ymm4,\(%ecx\)
+[a-f0-9]+: c4 e1 fc 2b 21 vmovntps %ymm4,\(%ecx\)
+[a-f0-9]+: c4 e1 fa 7e f4 vmovq %xmm4,%xmm6
+[a-f0-9]+: c4 e1 f9 d6 21 vmovq %xmm4,\(%ecx\)
+[a-f0-9]+: c4 e1 fb 10 21 vmovsd \(%ecx\),%xmm4
+[a-f0-9]+: c4 e1 fb 11 21 vmovsd %xmm4,\(%ecx\)
+[a-f0-9]+: c4 e1 fe 16 f4 vmovshdup %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fe 12 f4 vmovsldup %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fa 10 21 vmovss \(%ecx\),%xmm4
+[a-f0-9]+: c4 e1 fa 11 21 vmovss %xmm4,\(%ecx\)
+[a-f0-9]+: c4 e1 fd 10 f4 vmovupd %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fd 11 21 vmovupd %ymm4,\(%ecx\)
+[a-f0-9]+: c4 e1 fc 10 f4 vmovups %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fc 11 21 vmovups %ymm4,\(%ecx\)
+[a-f0-9]+: c4 e3 c9 42 d4 07 vmpsadbw \$0x7,%xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 cd 59 d4 vmulpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 59 d4 vmulps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cb 59 d4 vmulsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ca 59 d4 vmulss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 f9 1c f4 vpabsb %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 1e f4 vpabsd %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 1d f4 vpabsw %xmm4,%xmm6
+[a-f0-9]+: c4 e1 c9 6b d4 vpackssdw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 63 d4 vpacksswb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 2b d4 vpackusdw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 67 d4 vpackuswb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 fc d4 vpaddb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 fe d4 vpaddd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 d4 d4 vpaddq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 ec d4 vpaddsb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 ed d4 vpaddsw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 dc d4 vpaddusb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 dd d4 vpaddusw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 fd d4 vpaddw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 0f d4 07 vpalignr \$0x7,%xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 db d4 vpand %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 df d4 vpandn %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 e0 d4 vpavgb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 e3 d4 vpavgw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 0e d4 07 vpblendw \$0x7,%xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 44 d4 11 vpclmulhqhqdq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 44 d4 01 vpclmulhqlqdq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 44 d4 10 vpclmullqhqdq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 44 d4 00 vpclmullqlqdq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 44 d4 07 vpclmulqdq \$0x7,%xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 74 d4 vpcmpeqb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 76 d4 vpcmpeqd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 29 d4 vpcmpeqq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 75 d4 vpcmpeqw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 64 d4 vpcmpgtb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 66 d4 vpcmpgtd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 37 d4 vpcmpgtq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 65 d4 vpcmpgtw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 f9 63 f4 07 vpcmpistri \$0x7,%xmm4,%xmm6
+[a-f0-9]+: c4 e3 f9 62 f4 07 vpcmpistrm \$0x7,%xmm4,%xmm6
+[a-f0-9]+: c4 e2 c9 02 d4 vphaddd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 03 d4 vphaddsw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 01 d4 vphaddw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 f9 41 f4 vphminposuw %xmm4,%xmm6
+[a-f0-9]+: c4 e2 c9 06 d4 vphsubd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 07 d4 vphsubsw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 05 d4 vphsubw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 04 d4 vpmaddubsw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 f5 d4 vpmaddwd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 3c d4 vpmaxsb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 3d d4 vpmaxsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 ee d4 vpmaxsw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c5 c9 de d4 vpmaxub %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 3f d4 vpmaxud %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 3e d4 vpmaxuw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 38 d4 vpminsb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 39 d4 vpminsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 ea d4 vpminsw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 da d4 vpminub %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 3b d4 vpminud %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 3a d4 vpminuw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 f9 d7 cc vpmovmskb %xmm4,%ecx
+[a-f0-9]+: c4 e2 f9 21 f4 vpmovsxbd %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 22 f4 vpmovsxbq %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 20 f4 vpmovsxbw %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 25 f4 vpmovsxdq %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 23 f4 vpmovsxwd %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 24 f4 vpmovsxwq %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 31 f4 vpmovzxbd %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 32 f4 vpmovzxbq %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 30 f4 vpmovzxbw %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 35 f4 vpmovzxdq %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 33 f4 vpmovzxwd %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 34 f4 vpmovzxwq %xmm4,%xmm6
+[a-f0-9]+: c4 e2 c9 28 d4 vpmuldq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 0b d4 vpmulhrsw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 e4 d4 vpmulhuw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 e5 d4 vpmulhw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 40 d4 vpmulld %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 d5 d4 vpmullw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 f4 d4 vpmuludq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 eb d4 vpor %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 f6 d4 vpsadbw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 00 d4 vpshufb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 f9 70 f4 07 vpshufd \$0x7,%xmm4,%xmm6
+[a-f0-9]+: c4 e1 fa 70 f4 07 vpshufhw \$0x7,%xmm4,%xmm6
+[a-f0-9]+: c4 e1 fb 70 f4 07 vpshuflw \$0x7,%xmm4,%xmm6
+[a-f0-9]+: c4 e2 c9 08 d4 vpsignb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 0a d4 vpsignd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 09 d4 vpsignw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 f2 d4 vpslld %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 73 fc 07 vpslldq \$0x7,%xmm4,%xmm6
+[a-f0-9]+: c4 e1 c9 f3 d4 vpsllq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 f1 d4 vpsllw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 e2 d4 vpsrad %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 e1 d4 vpsraw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 d2 d4 vpsrld %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 73 dc 07 vpsrldq \$0x7,%xmm4,%xmm6
+[a-f0-9]+: c4 e1 c9 d3 d4 vpsrlq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 d1 d4 vpsrlw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 f8 d4 vpsubb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 fa d4 vpsubd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 fb d4 vpsubq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 e8 d4 vpsubsb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 e9 d4 vpsubsw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 d8 d4 vpsubusb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 d9 d4 vpsubusw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 f9 d4 vpsubw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 fd 17 f4 vptest %ymm4,%ymm6
+[a-f0-9]+: c4 e1 c9 68 d4 vpunpckhbw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 6a d4 vpunpckhdq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 6d d4 vpunpckhqdq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 69 d4 vpunpckhwd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 60 d4 vpunpcklbw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 62 d4 vpunpckldq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 6c d4 vpunpcklqdq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 61 d4 vpunpcklwd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 ef d4 vpxor %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 fc 53 f4 vrcpps %ymm4,%ymm6
+[a-f0-9]+: c4 e1 ca 53 d4 vrcpss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 fd 09 d6 07 vroundpd \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e3 fd 08 d6 07 vroundps \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e3 c9 0b d4 07 vroundsd \$0x7,%xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 0a d4 07 vroundss \$0x7,%xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 fc 52 f4 vrsqrtps %ymm4,%ymm6
+[a-f0-9]+: c4 e1 ca 52 d4 vrsqrtss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 cd c6 d4 07 vshufpd \$0x7,%ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc c6 d4 07 vshufps \$0x7,%ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 fd 51 f4 vsqrtpd %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fc 51 f4 vsqrtps %ymm4,%ymm6
+[a-f0-9]+: c4 e1 cb 51 d4 vsqrtsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ca 51 d4 vsqrtss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 f8 ae 19 vstmxcsr \(%ecx\)
+[a-f0-9]+: c4 e1 cd 5c d4 vsubpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 5c d4 vsubps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cb 5c d4 vsubsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ca 5c d4 vsubss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 f9 2e f4 vucomisd %xmm4,%xmm6
+[a-f0-9]+: c4 e1 f8 2e f4 vucomiss %xmm4,%xmm6
+[a-f0-9]+: c4 e1 cd 15 d4 vunpckhpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 15 d4 vunpckhps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 14 d4 vunpcklpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 14 d4 vunpcklps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 57 d4 vxorpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 57 d4 vxorps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 fc 77 vzeroall
+[a-f0-9]+: c4 e1 f8 77 vzeroupper
#pass

View File

@ -0,0 +1,248 @@
# Check AVX WIG instructions
.allow_index_reg
.text
_start:
vaddpd %ymm4,%ymm6,%ymm2
vaddps %ymm4,%ymm6,%ymm2
vaddsd %xmm4,%xmm6,%xmm2
vaddss %xmm4,%xmm6,%xmm2
vaddsubpd %ymm4,%ymm6,%ymm2
vaddsubps %ymm4,%ymm6,%ymm2
vaesdec %xmm4,%xmm6,%xmm2
vaesdeclast %xmm4,%xmm6,%xmm2
vaesenc %xmm4,%xmm6,%xmm2
vaesenclast %xmm4,%xmm6,%xmm2
vaesimc %xmm4,%xmm6
vaeskeygenassist $7,%xmm4,%xmm6
vblendpd $7,%ymm4,%ymm6,%ymm2
vblendps $7,%ymm4,%ymm6,%ymm2
vcmppd $7,%ymm4,%ymm6,%ymm2
vcmpps $7,%ymm4,%ymm6,%ymm2
vcmpsd $7,%xmm4,%xmm6,%xmm2
vcmpss $7,%xmm4,%xmm6,%xmm2
vcomisd %xmm4,%xmm6
vcomiss %xmm4,%xmm6
vcvtdq2pd %xmm4,%ymm4
vcvtdq2ps %ymm4,%ymm6
vcvtpd2dqy %ymm4,%xmm4
vcvtpd2dqx %xmm4,%xmm6
vcvtpd2dqy %ymm4,%xmm4
vcvtpd2psy %ymm4,%xmm4
vcvtpd2psx %xmm4,%xmm6
vcvtpd2psy %ymm4,%xmm4
vcvtps2dq %ymm4,%ymm6
vcvtps2pd %xmm4,%ymm4
vcvtsd2ss %xmm4,%xmm6,%xmm2
vcvttpd2dqy %ymm4,%xmm4
vcvttpd2dqx %xmm4,%xmm6
vcvttpd2dqy %ymm4,%xmm4
vcvttps2dq %ymm4,%ymm6
vdivpd %ymm4,%ymm6,%ymm2
vdivps %ymm4,%ymm6,%ymm2
vdivsd %xmm4,%xmm6,%xmm2
vdivss %xmm4,%xmm6,%xmm2
vdppd $7,%xmm4,%xmm6,%xmm2
vdpps $7,%ymm4,%ymm6,%ymm2
vextractps $7,%xmm4,(%ecx)
vhaddpd %ymm4,%ymm6,%ymm2
vhaddps %ymm4,%ymm6,%ymm2
vhsubpd %ymm4,%ymm6,%ymm2
vhsubps %ymm4,%ymm6,%ymm2
vinsertps $7,%xmm4,%xmm6,%xmm2
vlddqu (%ecx),%ymm4
vldmxcsr (%ecx)
vmaskmovdqu %xmm4,%xmm6
vmaxpd %ymm4,%ymm6,%ymm2
vmaxps %ymm4,%ymm6,%ymm2
vmaxsd %xmm4,%xmm6,%xmm2
vmaxss %xmm4,%xmm6,%xmm2
vminpd %ymm4,%ymm6,%ymm2
vminps %ymm4,%ymm6,%ymm2
vminsd %xmm4,%xmm6,%xmm2
vminss %xmm4,%xmm6,%xmm2
vmovapd %ymm4,%ymm6
vmovaps %ymm4,%ymm6
{store} vmovapd %ymm4,%ymm6
{store} vmovaps %ymm4,%ymm6
vmovddup %ymm4,%ymm6
vmovdqa %ymm4,%ymm6
vmovdqu %ymm4,%ymm6
{store} vmovdqa %ymm4,%ymm6
{store} vmovdqu %ymm4,%ymm6
vmovhlps %xmm4,%xmm6,%xmm2
vmovhpd (%ecx),%xmm4,%xmm6
vmovhpd %xmm4,(%ecx)
vmovhps (%ecx),%xmm4,%xmm6
vmovhps %xmm4,(%ecx)
vmovlhps %xmm4,%xmm6,%xmm2
vmovlpd (%ecx),%xmm4,%xmm6
vmovlpd %xmm4,(%ecx)
vmovlps (%ecx),%xmm4,%xmm6
vmovlps %xmm4,(%ecx)
vmovmskpd %xmm4,%ecx
vmovmskps %xmm4,%ecx
vmovntdq %ymm4,(%ecx)
vmovntdqa (%ecx),%xmm4
vmovntpd %ymm4,(%ecx)
vmovntps %ymm4,(%ecx)
vmovq %xmm4,%xmm6
vmovq %xmm4,(%ecx)
vmovsd (%ecx),%xmm4
vmovsd %xmm4,(%ecx)
vmovshdup %ymm4,%ymm6
vmovsldup %ymm4,%ymm6
vmovss (%ecx),%xmm4
vmovss %xmm4,(%ecx)
vmovupd %ymm4,%ymm6
vmovupd %ymm4,(%ecx)
vmovups %ymm4,%ymm6
vmovups %ymm4,(%ecx)
vmpsadbw $7,%xmm4,%xmm6,%xmm2
vmulpd %ymm4,%ymm6,%ymm2
vmulps %ymm4,%ymm6,%ymm2
vmulsd %xmm4,%xmm6,%xmm2
vmulss %xmm4,%xmm6,%xmm2
vpabsb %xmm4,%xmm6
vpabsd %xmm4,%xmm6
vpabsw %xmm4,%xmm6
vpackssdw %xmm4,%xmm6,%xmm2
vpacksswb %xmm4,%xmm6,%xmm2
vpackusdw %xmm4,%xmm6,%xmm2
vpackuswb %xmm4,%xmm6,%xmm2
vpaddb %xmm4,%xmm6,%xmm2
vpaddd %xmm4,%xmm6,%xmm2
vpaddq %xmm4,%xmm6,%xmm2
vpaddsb %xmm4,%xmm6,%xmm2
vpaddsw %xmm4,%xmm6,%xmm2
vpaddusb %xmm4,%xmm6,%xmm2
vpaddusw %xmm4,%xmm6,%xmm2
vpaddw %xmm4,%xmm6,%xmm2
vpalignr $7,%xmm4,%xmm6,%xmm2
vpand %xmm4,%xmm6,%xmm2
vpandn %xmm4,%xmm6,%xmm2
vpavgb %xmm4,%xmm6,%xmm2
vpavgw %xmm4,%xmm6,%xmm2
vpblendw $7,%xmm4,%xmm6,%xmm2
vpclmulhqhqdq %xmm4,%xmm6,%xmm2
vpclmulhqlqdq %xmm4,%xmm6,%xmm2
vpclmullqhqdq %xmm4,%xmm6,%xmm2
vpclmullqlqdq %xmm4,%xmm6,%xmm2
vpclmulqdq $7,%xmm4,%xmm6,%xmm2
vpcmpeqb %xmm4,%xmm6,%xmm2
vpcmpeqd %xmm4,%xmm6,%xmm2
vpcmpeqq %xmm4,%xmm6,%xmm2
vpcmpeqw %xmm4,%xmm6,%xmm2
vpcmpgtb %xmm4,%xmm6,%xmm2
vpcmpgtd %xmm4,%xmm6,%xmm2
vpcmpgtq %xmm4,%xmm6,%xmm2
vpcmpgtw %xmm4,%xmm6,%xmm2
vpcmpistri $7,%xmm4,%xmm6
vpcmpistrm $7,%xmm4,%xmm6
vphaddd %xmm4,%xmm6,%xmm2
vphaddsw %xmm4,%xmm6,%xmm2
vphaddw %xmm4,%xmm6,%xmm2
vphminposuw %xmm4,%xmm6
vphsubd %xmm4,%xmm6,%xmm2
vphsubsw %xmm4,%xmm6,%xmm2
vphsubw %xmm4,%xmm6,%xmm2
vpmaddubsw %xmm4,%xmm6,%xmm2
vpmaddwd %xmm4,%xmm6,%xmm2
vpmaxsb %xmm4,%xmm6,%xmm2
vpmaxsd %xmm4,%xmm6,%xmm2
vpmaxsw %xmm4,%xmm6,%xmm2
vpmaxub %xmm4,%xmm6,%xmm2
vpmaxud %xmm4,%xmm6,%xmm2
vpmaxuw %xmm4,%xmm6,%xmm2
vpminsb %xmm4,%xmm6,%xmm2
vpminsd %xmm4,%xmm6,%xmm2
vpminsw %xmm4,%xmm6,%xmm2
vpminub %xmm4,%xmm6,%xmm2
vpminud %xmm4,%xmm6,%xmm2
vpminuw %xmm4,%xmm6,%xmm2
vpmovmskb %xmm4,%ecx
vpmovsxbd %xmm4,%xmm6
vpmovsxbq %xmm4,%xmm6
vpmovsxbw %xmm4,%xmm6
vpmovsxdq %xmm4,%xmm6
vpmovsxwd %xmm4,%xmm6
vpmovsxwq %xmm4,%xmm6
vpmovzxbd %xmm4,%xmm6
vpmovzxbq %xmm4,%xmm6
vpmovzxbw %xmm4,%xmm6
vpmovzxdq %xmm4,%xmm6
vpmovzxwd %xmm4,%xmm6
vpmovzxwq %xmm4,%xmm6
vpmuldq %xmm4,%xmm6,%xmm2
vpmulhrsw %xmm4,%xmm6,%xmm2
vpmulhuw %xmm4,%xmm6,%xmm2
vpmulhw %xmm4,%xmm6,%xmm2
vpmulld %xmm4,%xmm6,%xmm2
vpmullw %xmm4,%xmm6,%xmm2
vpmuludq %xmm4,%xmm6,%xmm2
vpor %xmm4,%xmm6,%xmm2
vpsadbw %xmm4,%xmm6,%xmm2
vpshufb %xmm4,%xmm6,%xmm2
vpshufd $7,%xmm4,%xmm6
vpshufhw $7,%xmm4,%xmm6
vpshuflw $7,%xmm4,%xmm6
vpsignb %xmm4,%xmm6,%xmm2
vpsignd %xmm4,%xmm6,%xmm2
vpsignw %xmm4,%xmm6,%xmm2
vpslld %xmm4,%xmm6,%xmm2
vpslldq $7,%xmm4,%xmm6
vpsllq %xmm4,%xmm6,%xmm2
vpsllw %xmm4,%xmm6,%xmm2
vpsrad %xmm4,%xmm6,%xmm2
vpsraw %xmm4,%xmm6,%xmm2
vpsrld %xmm4,%xmm6,%xmm2
vpsrldq $7,%xmm4,%xmm6
vpsrlq %xmm4,%xmm6,%xmm2
vpsrlw %xmm4,%xmm6,%xmm2
vpsubb %xmm4,%xmm6,%xmm2
vpsubd %xmm4,%xmm6,%xmm2
vpsubq %xmm4,%xmm6,%xmm2
vpsubsb %xmm4,%xmm6,%xmm2
vpsubsw %xmm4,%xmm6,%xmm2
vpsubusb %xmm4,%xmm6,%xmm2
vpsubusw %xmm4,%xmm6,%xmm2
vpsubw %xmm4,%xmm6,%xmm2
vptest %ymm4,%ymm6
vpunpckhbw %xmm4,%xmm6,%xmm2
vpunpckhdq %xmm4,%xmm6,%xmm2
vpunpckhqdq %xmm4,%xmm6,%xmm2
vpunpckhwd %xmm4,%xmm6,%xmm2
vpunpcklbw %xmm4,%xmm6,%xmm2
vpunpckldq %xmm4,%xmm6,%xmm2
vpunpcklqdq %xmm4,%xmm6,%xmm2
vpunpcklwd %xmm4,%xmm6,%xmm2
vpxor %xmm4,%xmm6,%xmm2
vrcpps %ymm4,%ymm6
vrcpss %xmm4,%xmm6,%xmm2
vroundpd $7,%ymm6,%ymm2
vroundps $7,%ymm6,%ymm2
vroundsd $7,%xmm4,%xmm6,%xmm2
vroundss $7,%xmm4,%xmm6,%xmm2
vrsqrtps %ymm4,%ymm6
vrsqrtss %xmm4,%xmm6,%xmm2
vshufpd $7,%ymm4,%ymm6,%ymm2
vshufps $7,%ymm4,%ymm6,%ymm2
vsqrtpd %ymm4,%ymm6
vsqrtps %ymm4,%ymm6
vsqrtsd %xmm4,%xmm6,%xmm2
vsqrtss %xmm4,%xmm6,%xmm2
vstmxcsr (%ecx)
vsubpd %ymm4,%ymm6,%ymm2
vsubps %ymm4,%ymm6,%ymm2
vsubsd %xmm4,%xmm6,%xmm2
vsubss %xmm4,%xmm6,%xmm2
vucomisd %xmm4,%xmm6
vucomiss %xmm4,%xmm6
vunpckhpd %ymm4,%ymm6,%ymm2
vunpckhps %ymm4,%ymm6,%ymm2
vunpcklpd %ymm4,%ymm6,%ymm2
vunpcklps %ymm4,%ymm6,%ymm2
vxorpd %ymm4,%ymm6,%ymm2
vxorps %ymm4,%ymm6,%ymm2
vzeroall
vzeroupper

View File

@ -0,0 +1,119 @@
#as: -mvexwig=1
#objdump: -dw
#name: i386 AVX2 WIG insns with -mvexwig=1
.*: +file format .*
Disassembly of section .text:
0+ <_start>:
+[a-f0-9]+: c4 e2 7d 2a 21 vmovntdqa \(%ecx\),%ymm4
+[a-f0-9]+: c4 e2 7d 2a 21 vmovntdqa \(%ecx\),%ymm4
+[a-f0-9]+: c4 e3 4d 42 d4 07 vmpsadbw \$0x7,%ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 fd 1c f4 vpabsb %ymm4,%ymm6
+[a-f0-9]+: c4 e2 fd 1e f4 vpabsd %ymm4,%ymm6
+[a-f0-9]+: c4 e2 fd 1d f4 vpabsw %ymm4,%ymm6
+[a-f0-9]+: c4 e1 cd 6b d4 vpackssdw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 63 d4 vpacksswb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 2b d4 vpackusdw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 67 d4 vpackuswb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd fc d4 vpaddb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd fe d4 vpaddd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd d4 d4 vpaddq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd ec d4 vpaddsb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd ed d4 vpaddsw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd dc d4 vpaddusb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd dd d4 vpaddusw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd fd d4 vpaddw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e3 cd 0f d4 07 vpalignr \$0x7,%ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd db d4 vpand %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd df d4 vpandn %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd e0 d4 vpavgb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd e3 d4 vpavgw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e3 cd 0e d4 07 vpblendw \$0x7,%ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 74 d4 vpcmpeqb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 76 d4 vpcmpeqd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 29 d4 vpcmpeqq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 75 d4 vpcmpeqw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 64 d4 vpcmpgtb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 66 d4 vpcmpgtd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 37 d4 vpcmpgtq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 65 d4 vpcmpgtw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 02 d4 vphaddd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 03 d4 vphaddsw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 01 d4 vphaddw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 4d 06 d4 vphsubd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 4d 07 d4 vphsubsw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 4d 05 d4 vphsubw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 04 d4 vpmaddubsw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd f5 d4 vpmaddwd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 3c d4 vpmaxsb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 3d d4 vpmaxsd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd ee d4 vpmaxsw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c5 cd de d4 vpmaxub %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 3f d4 vpmaxud %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 3e d4 vpmaxuw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 38 d4 vpminsb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 39 d4 vpminsd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd ea d4 vpminsw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd da d4 vpminub %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 3b d4 vpminud %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 3a d4 vpminuw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 fd d7 cc vpmovmskb %ymm4,%ecx
+[a-f0-9]+: c4 e2 fd 21 f4 vpmovsxbd %xmm4,%ymm6
+[a-f0-9]+: c4 e2 fd 22 e4 vpmovsxbq %xmm4,%ymm4
+[a-f0-9]+: c4 e2 fd 20 e4 vpmovsxbw %xmm4,%ymm4
+[a-f0-9]+: c4 e2 fd 25 e4 vpmovsxdq %xmm4,%ymm4
+[a-f0-9]+: c4 e2 fd 23 e4 vpmovsxwd %xmm4,%ymm4
+[a-f0-9]+: c4 e2 fd 24 f4 vpmovsxwq %xmm4,%ymm6
+[a-f0-9]+: c4 e2 fd 31 f4 vpmovzxbd %xmm4,%ymm6
+[a-f0-9]+: c4 e2 fd 32 e4 vpmovzxbq %xmm4,%ymm4
+[a-f0-9]+: c4 e2 fd 30 e4 vpmovzxbw %xmm4,%ymm4
+[a-f0-9]+: c4 e2 fd 35 e4 vpmovzxdq %xmm4,%ymm4
+[a-f0-9]+: c4 e2 fd 33 e4 vpmovzxwd %xmm4,%ymm4
+[a-f0-9]+: c4 e2 fd 34 f4 vpmovzxwq %xmm4,%ymm6
+[a-f0-9]+: c4 e2 cd 28 d4 vpmuldq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 0b d4 vpmulhrsw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd e4 d4 vpmulhuw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd e5 d4 vpmulhw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 40 d4 vpmulld %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd d5 d4 vpmullw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd f4 d4 vpmuludq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd eb d4 vpor %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd f6 d4 vpsadbw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 00 d4 vpshufb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 fd 70 d6 07 vpshufd \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 fe 70 d6 07 vpshufhw \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ff 70 d6 07 vpshuflw \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 08 d4 vpsignb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 0a d4 vpsignd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 09 d4 vpsignw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 72 f6 07 vpslld \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 73 fe 07 vpslldq \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 73 f6 07 vpsllq \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 71 f6 07 vpsllw \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 72 e6 07 vpsrad \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 71 e6 07 vpsraw \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 72 d6 07 vpsrld \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 73 de 07 vpsrldq \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 73 d6 07 vpsrlq \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 71 d6 07 vpsrlw \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd f8 d4 vpsubb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd fa d4 vpsubd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd fb d4 vpsubq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd e8 d4 vpsubsb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd e9 d4 vpsubsw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd d8 d4 vpsubusb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd d9 d4 vpsubusw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd f9 d4 vpsubw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 68 d4 vpunpckhbw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 6a d4 vpunpckhdq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 6d d4 vpunpckhqdq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 69 d4 vpunpckhwd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 60 d4 vpunpcklbw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 62 d4 vpunpckldq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 6c d4 vpunpcklqdq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 61 d4 vpunpcklwd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd ef d4 vpxor %ymm4,%ymm6,%ymm2
#pass

View File

@ -0,0 +1,113 @@
# Check AVX2 WIG instructions
.allow_index_reg
.text
_start:
vmovntdqa (%ecx),%ymm4
vmovntdqa (%ecx),%ymm4
vmpsadbw $7,%ymm4,%ymm6,%ymm2
vpabsb %ymm4,%ymm6
vpabsd %ymm4,%ymm6
vpabsw %ymm4,%ymm6
vpackssdw %ymm4,%ymm6,%ymm2
vpacksswb %ymm4,%ymm6,%ymm2
vpackusdw %ymm4,%ymm6,%ymm2
vpackuswb %ymm4,%ymm6,%ymm2
vpaddb %ymm4,%ymm6,%ymm2
vpaddd %ymm4,%ymm6,%ymm2
vpaddq %ymm4,%ymm6,%ymm2
vpaddsb %ymm4,%ymm6,%ymm2
vpaddsw %ymm4,%ymm6,%ymm2
vpaddusb %ymm4,%ymm6,%ymm2
vpaddusw %ymm4,%ymm6,%ymm2
vpaddw %ymm4,%ymm6,%ymm2
vpalignr $7,%ymm4,%ymm6,%ymm2
vpand %ymm4,%ymm6,%ymm2
vpandn %ymm4,%ymm6,%ymm2
vpavgb %ymm4,%ymm6,%ymm2
vpavgw %ymm4,%ymm6,%ymm2
vpblendw $7,%ymm4,%ymm6,%ymm2
vpcmpeqb %ymm4,%ymm6,%ymm2
vpcmpeqd %ymm4,%ymm6,%ymm2
vpcmpeqq %ymm4,%ymm6,%ymm2
vpcmpeqw %ymm4,%ymm6,%ymm2
vpcmpgtb %ymm4,%ymm6,%ymm2
vpcmpgtd %ymm4,%ymm6,%ymm2
vpcmpgtq %ymm4,%ymm6,%ymm2
vpcmpgtw %ymm4,%ymm6,%ymm2
vphaddd %ymm4,%ymm6,%ymm2
vphaddsw %ymm4,%ymm6,%ymm2
vphaddw %ymm4,%ymm6,%ymm2
vphsubd %ymm4,%ymm6,%ymm2
vphsubsw %ymm4,%ymm6,%ymm2
vphsubw %ymm4,%ymm6,%ymm2
vpmaddubsw %ymm4,%ymm6,%ymm2
vpmaddwd %ymm4,%ymm6,%ymm2
vpmaxsb %ymm4,%ymm6,%ymm2
vpmaxsd %ymm4,%ymm6,%ymm2
vpmaxsw %ymm4,%ymm6,%ymm2
vpmaxub %ymm4,%ymm6,%ymm2
vpmaxud %ymm4,%ymm6,%ymm2
vpmaxuw %ymm4,%ymm6,%ymm2
vpminsb %ymm4,%ymm6,%ymm2
vpminsd %ymm4,%ymm6,%ymm2
vpminsw %ymm4,%ymm6,%ymm2
vpminub %ymm4,%ymm6,%ymm2
vpminud %ymm4,%ymm6,%ymm2
vpminuw %ymm4,%ymm6,%ymm2
vpmovmskb %ymm4,%ecx
vpmovsxbd %xmm4,%ymm6
vpmovsxbq %xmm4,%ymm4
vpmovsxbw %xmm4,%ymm4
vpmovsxdq %xmm4,%ymm4
vpmovsxwd %xmm4,%ymm4
vpmovsxwq %xmm4,%ymm6
vpmovzxbd %xmm4,%ymm6
vpmovzxbq %xmm4,%ymm4
vpmovzxbw %xmm4,%ymm4
vpmovzxdq %xmm4,%ymm4
vpmovzxwd %xmm4,%ymm4
vpmovzxwq %xmm4,%ymm6
vpmuldq %ymm4,%ymm6,%ymm2
vpmulhrsw %ymm4,%ymm6,%ymm2
vpmulhuw %ymm4,%ymm6,%ymm2
vpmulhw %ymm4,%ymm6,%ymm2
vpmulld %ymm4,%ymm6,%ymm2
vpmullw %ymm4,%ymm6,%ymm2
vpmuludq %ymm4,%ymm6,%ymm2
vpor %ymm4,%ymm6,%ymm2
vpsadbw %ymm4,%ymm6,%ymm2
vpshufb %ymm4,%ymm6,%ymm2
vpshufd $7,%ymm6,%ymm2
vpshufhw $7,%ymm6,%ymm2
vpshuflw $7,%ymm6,%ymm2
vpsignb %ymm4,%ymm6,%ymm2
vpsignd %ymm4,%ymm6,%ymm2
vpsignw %ymm4,%ymm6,%ymm2
vpslld $7,%ymm6,%ymm2
vpslldq $7,%ymm6,%ymm2
vpsllq $7,%ymm6,%ymm2
vpsllw $7,%ymm6,%ymm2
vpsrad $7,%ymm6,%ymm2
vpsraw $7,%ymm6,%ymm2
vpsrld $7,%ymm6,%ymm2
vpsrldq $7,%ymm6,%ymm2
vpsrlq $7,%ymm6,%ymm2
vpsrlw $7,%ymm6,%ymm2
vpsubb %ymm4,%ymm6,%ymm2
vpsubd %ymm4,%ymm6,%ymm2
vpsubq %ymm4,%ymm6,%ymm2
vpsubsb %ymm4,%ymm6,%ymm2
vpsubsw %ymm4,%ymm6,%ymm2
vpsubusb %ymm4,%ymm6,%ymm2
vpsubusw %ymm4,%ymm6,%ymm2
vpsubw %ymm4,%ymm6,%ymm2
vpunpckhbw %ymm4,%ymm6,%ymm2
vpunpckhdq %ymm4,%ymm6,%ymm2
vpunpckhqdq %ymm4,%ymm6,%ymm2
vpunpckhwd %ymm4,%ymm6,%ymm2
vpunpcklbw %ymm4,%ymm6,%ymm2
vpunpckldq %ymm4,%ymm6,%ymm2
vpunpcklqdq %ymm4,%ymm6,%ymm2
vpunpcklwd %ymm4,%ymm6,%ymm2
vpxor %ymm4,%ymm6,%ymm2

View File

@ -213,6 +213,8 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]]
run_dump_test "avx2-intel" run_dump_test "avx2-intel"
run_dump_test "avx-gather" run_dump_test "avx-gather"
run_dump_test "avx-gather-intel" run_dump_test "avx-gather-intel"
run_dump_test "avx-wig"
run_dump_test "avx2-wig"
run_dump_test "avx512f" run_dump_test "avx512f"
run_dump_test "avx512f-intel" run_dump_test "avx512f-intel"
run_dump_test "avx512f-opts" run_dump_test "avx512f-opts"
@ -732,6 +734,8 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
run_dump_test "x86-64-avx2-intel" run_dump_test "x86-64-avx2-intel"
run_dump_test "x86-64-avx-gather" run_dump_test "x86-64-avx-gather"
run_dump_test "x86-64-avx-gather-intel" run_dump_test "x86-64-avx-gather-intel"
run_dump_test "x86-64-avx-wig"
run_dump_test "x86-64-avx2-wig"
run_dump_test "x86-64-avx512f" run_dump_test "x86-64-avx512f"
run_dump_test "x86-64-avx512f-intel" run_dump_test "x86-64-avx512f-intel"
run_dump_test "x86-64-avx512f-opts" run_dump_test "x86-64-avx512f-opts"

View File

@ -0,0 +1,256 @@
#as: -mvexwig=1
#objdump: -dw
#name: x86-64 AVX WIG insns with -mvexwig=1
.*: +file format .*
Disassembly of section .text:
0+ <_start>:
+[a-f0-9]+: c4 e1 cd 58 d4 vaddpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 58 d4 vaddps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cb 58 d4 vaddsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ca 58 d4 vaddss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 cd d0 d4 vaddsubpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cf d0 d4 vaddsubps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 c9 de d4 vaesdec %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 df d4 vaesdeclast %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 dc d4 vaesenc %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 dd d4 vaesenclast %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 f9 db f4 vaesimc %xmm4,%xmm6
+[a-f0-9]+: c4 e3 f9 df f4 07 vaeskeygenassist \$0x7,%xmm4,%xmm6
+[a-f0-9]+: c4 e3 cd 0d d4 07 vblendpd \$0x7,%ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e3 cd 0c d4 07 vblendps \$0x7,%ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd c2 d4 07 vcmpordpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc c2 d4 07 vcmpordps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cb c2 d4 07 vcmpordsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ca c2 d4 07 vcmpordss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 f9 2f f4 vcomisd %xmm4,%xmm6
+[a-f0-9]+: c4 e1 f8 2f f4 vcomiss %xmm4,%xmm6
+[a-f0-9]+: c4 e1 fe e6 e4 vcvtdq2pd %xmm4,%ymm4
+[a-f0-9]+: c4 e1 fc 5b f4 vcvtdq2ps %ymm4,%ymm6
+[a-f0-9]+: c4 e1 ff e6 e4 vcvtpd2dq %ymm4,%xmm4
+[a-f0-9]+: c4 e1 fb e6 f4 vcvtpd2dq %xmm4,%xmm6
+[a-f0-9]+: c4 e1 ff e6 e4 vcvtpd2dq %ymm4,%xmm4
+[a-f0-9]+: c4 e1 fd 5a e4 vcvtpd2ps %ymm4,%xmm4
+[a-f0-9]+: c4 e1 f9 5a f4 vcvtpd2ps %xmm4,%xmm6
+[a-f0-9]+: c4 e1 fd 5a e4 vcvtpd2ps %ymm4,%xmm4
+[a-f0-9]+: c4 e1 fd 5b f4 vcvtps2dq %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fc 5a e4 vcvtps2pd %xmm4,%ymm4
+[a-f0-9]+: c4 e1 cb 5a d4 vcvtsd2ss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 fd e6 e4 vcvttpd2dq %ymm4,%xmm4
+[a-f0-9]+: c4 e1 f9 e6 f4 vcvttpd2dq %xmm4,%xmm6
+[a-f0-9]+: c4 e1 fd e6 e4 vcvttpd2dq %ymm4,%xmm4
+[a-f0-9]+: c4 e1 fe 5b f4 vcvttps2dq %ymm4,%ymm6
+[a-f0-9]+: c4 e1 cd 5e d4 vdivpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 5e d4 vdivps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cb 5e d4 vdivsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ca 5e d4 vdivss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 41 d4 07 vdppd \$0x7,%xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 cd 40 d4 07 vdpps \$0x7,%ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e3 f9 17 e1 07 vextractps \$0x7,%xmm4,%rcx
+[a-f0-9]+: c4 e1 cd 7c d4 vhaddpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cf 7c d4 vhaddps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 7d d4 vhsubpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cf 7d d4 vhsubps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e3 c9 21 d4 07 vinsertps \$0x7,%xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ff f0 21 vlddqu \(%rcx\),%ymm4
+[a-f0-9]+: c4 e1 f8 ae 11 vldmxcsr \(%rcx\)
+[a-f0-9]+: c4 e1 f9 f7 f4 vmaskmovdqu %xmm4,%xmm6
+[a-f0-9]+: c4 e1 cd 5f d4 vmaxpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 5f d4 vmaxps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cb 5f d4 vmaxsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ca 5f d4 vmaxss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 cd 5d d4 vminpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 5d d4 vminps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cb 5d d4 vminsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ca 5d d4 vminss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 fd 28 f4 vmovapd %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fc 28 f4 vmovaps %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fd 29 e6 vmovapd %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fc 29 e6 vmovaps %ymm4,%ymm6
+[a-f0-9]+: c4 e1 ff 12 f4 vmovddup %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fd 6f f4 vmovdqa %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fe 6f f4 vmovdqu %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fd 7f e6 vmovdqa %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fe 7f e6 vmovdqu %ymm4,%ymm6
+[a-f0-9]+: c4 e1 c8 12 d4 vmovhlps %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 d9 16 31 vmovhpd \(%rcx\),%xmm4,%xmm6
+[a-f0-9]+: c4 e1 f9 17 21 vmovhpd %xmm4,\(%rcx\)
+[a-f0-9]+: c4 e1 d8 16 31 vmovhps \(%rcx\),%xmm4,%xmm6
+[a-f0-9]+: c4 e1 f8 17 21 vmovhps %xmm4,\(%rcx\)
+[a-f0-9]+: c4 e1 c8 16 d4 vmovlhps %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 d9 12 31 vmovlpd \(%rcx\),%xmm4,%xmm6
+[a-f0-9]+: c4 e1 f9 13 21 vmovlpd %xmm4,\(%rcx\)
+[a-f0-9]+: c4 e1 d8 12 31 vmovlps \(%rcx\),%xmm4,%xmm6
+[a-f0-9]+: c4 e1 f8 13 21 vmovlps %xmm4,\(%rcx\)
+[a-f0-9]+: c4 e1 f9 50 cc vmovmskpd %xmm4,%rcx
+[a-f0-9]+: c4 e1 f8 50 cc vmovmskps %xmm4,%rcx
+[a-f0-9]+: c4 e1 fd e7 21 vmovntdq %ymm4,\(%rcx\)
+[a-f0-9]+: c4 e2 f9 2a 21 vmovntdqa \(%rcx\),%xmm4
+[a-f0-9]+: c4 e1 fd 2b 21 vmovntpd %ymm4,\(%rcx\)
+[a-f0-9]+: c4 e1 fc 2b 21 vmovntps %ymm4,\(%rcx\)
+[a-f0-9]+: c4 e1 fa 7e f4 vmovq %xmm4,%xmm6
+[a-f0-9]+: c4 e1 f9 d6 21 vmovq %xmm4,\(%rcx\)
+[a-f0-9]+: c4 e1 f9 7e e1 vmovq %xmm4,%rcx
+[a-f0-9]+: c4 e1 f9 6e e1 vmovq %rcx,%xmm4
+[a-f0-9]+: c4 e1 fb 10 21 vmovsd \(%rcx\),%xmm4
+[a-f0-9]+: c4 e1 fb 11 21 vmovsd %xmm4,\(%rcx\)
+[a-f0-9]+: c4 e1 fe 16 f4 vmovshdup %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fe 12 f4 vmovsldup %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fa 10 21 vmovss \(%rcx\),%xmm4
+[a-f0-9]+: c4 e1 fa 11 21 vmovss %xmm4,\(%rcx\)
+[a-f0-9]+: c4 e1 fd 10 f4 vmovupd %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fd 11 21 vmovupd %ymm4,\(%rcx\)
+[a-f0-9]+: c4 e1 fc 10 f4 vmovups %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fc 11 21 vmovups %ymm4,\(%rcx\)
+[a-f0-9]+: c4 e3 c9 42 d4 07 vmpsadbw \$0x7,%xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 cd 59 d4 vmulpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 59 d4 vmulps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cb 59 d4 vmulsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ca 59 d4 vmulss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 f9 1c f4 vpabsb %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 1e f4 vpabsd %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 1d f4 vpabsw %xmm4,%xmm6
+[a-f0-9]+: c4 e1 c9 6b d4 vpackssdw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 63 d4 vpacksswb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 2b d4 vpackusdw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 67 d4 vpackuswb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 fc d4 vpaddb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 fe d4 vpaddd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 d4 d4 vpaddq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 ec d4 vpaddsb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 ed d4 vpaddsw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 dc d4 vpaddusb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 dd d4 vpaddusw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 fd d4 vpaddw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 0f d4 07 vpalignr \$0x7,%xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 db d4 vpand %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 df d4 vpandn %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 e0 d4 vpavgb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 e3 d4 vpavgw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 0e d4 07 vpblendw \$0x7,%xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 44 d4 11 vpclmulhqhqdq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 44 d4 01 vpclmulhqlqdq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 44 d4 10 vpclmullqhqdq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 44 d4 00 vpclmullqlqdq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 44 d4 07 vpclmulqdq \$0x7,%xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 74 d4 vpcmpeqb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 76 d4 vpcmpeqd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 29 d4 vpcmpeqq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 75 d4 vpcmpeqw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 64 d4 vpcmpgtb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 66 d4 vpcmpgtd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 37 d4 vpcmpgtq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 65 d4 vpcmpgtw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 f9 63 f4 07 vpcmpistri \$0x7,%xmm4,%xmm6
+[a-f0-9]+: c4 e3 f9 62 f4 07 vpcmpistrm \$0x7,%xmm4,%xmm6
+[a-f0-9]+: c4 e2 c9 02 d4 vphaddd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 03 d4 vphaddsw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 01 d4 vphaddw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 f9 41 f4 vphminposuw %xmm4,%xmm6
+[a-f0-9]+: c4 e2 c9 06 d4 vphsubd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 07 d4 vphsubsw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 05 d4 vphsubw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 04 d4 vpmaddubsw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 f5 d4 vpmaddwd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 3c d4 vpmaxsb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 3d d4 vpmaxsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 ee d4 vpmaxsw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c5 c9 de d4 vpmaxub %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 3f d4 vpmaxud %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 3e d4 vpmaxuw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 38 d4 vpminsb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 39 d4 vpminsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 ea d4 vpminsw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 da d4 vpminub %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 3b d4 vpminud %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 3a d4 vpminuw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 f9 d7 cc vpmovmskb %xmm4,%rcx
+[a-f0-9]+: c4 e2 f9 21 f4 vpmovsxbd %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 22 f4 vpmovsxbq %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 20 f4 vpmovsxbw %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 25 f4 vpmovsxdq %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 23 f4 vpmovsxwd %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 24 f4 vpmovsxwq %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 31 f4 vpmovzxbd %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 32 f4 vpmovzxbq %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 30 f4 vpmovzxbw %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 35 f4 vpmovzxdq %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 33 f4 vpmovzxwd %xmm4,%xmm6
+[a-f0-9]+: c4 e2 f9 34 f4 vpmovzxwq %xmm4,%xmm6
+[a-f0-9]+: c4 e2 c9 28 d4 vpmuldq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 0b d4 vpmulhrsw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 e4 d4 vpmulhuw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 e5 d4 vpmulhw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 40 d4 vpmulld %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 d5 d4 vpmullw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 f4 d4 vpmuludq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 eb d4 vpor %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 f6 d4 vpsadbw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 00 d4 vpshufb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 f9 70 f4 07 vpshufd \$0x7,%xmm4,%xmm6
+[a-f0-9]+: c4 e1 fa 70 f4 07 vpshufhw \$0x7,%xmm4,%xmm6
+[a-f0-9]+: c4 e1 fb 70 f4 07 vpshuflw \$0x7,%xmm4,%xmm6
+[a-f0-9]+: c4 e2 c9 08 d4 vpsignb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 0a d4 vpsignd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 c9 09 d4 vpsignw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 f2 d4 vpslld %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 73 fc 07 vpslldq \$0x7,%xmm4,%xmm6
+[a-f0-9]+: c4 e1 c9 f3 d4 vpsllq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 f1 d4 vpsllw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 e2 d4 vpsrad %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 e1 d4 vpsraw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 d2 d4 vpsrld %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 73 dc 07 vpsrldq \$0x7,%xmm4,%xmm6
+[a-f0-9]+: c4 e1 c9 d3 d4 vpsrlq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 d1 d4 vpsrlw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 f8 d4 vpsubb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 fa d4 vpsubd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 fb d4 vpsubq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 e8 d4 vpsubsb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 e9 d4 vpsubsw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 d8 d4 vpsubusb %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 d9 d4 vpsubusw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 f9 d4 vpsubw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e2 fd 17 f4 vptest %ymm4,%ymm6
+[a-f0-9]+: c4 e1 c9 68 d4 vpunpckhbw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 6a d4 vpunpckhdq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 6d d4 vpunpckhqdq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 69 d4 vpunpckhwd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 60 d4 vpunpcklbw %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 62 d4 vpunpckldq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 6c d4 vpunpcklqdq %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 61 d4 vpunpcklwd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 c9 ef d4 vpxor %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 fc 53 f4 vrcpps %ymm4,%ymm6
+[a-f0-9]+: c4 e1 ca 53 d4 vrcpss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 fd 09 d6 07 vroundpd \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e3 fd 08 d6 07 vroundps \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e3 c9 0b d4 07 vroundsd \$0x7,%xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e3 c9 0a d4 07 vroundss \$0x7,%xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 fc 52 f4 vrsqrtps %ymm4,%ymm6
+[a-f0-9]+: c4 e1 ca 52 d4 vrsqrtss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 cd c6 d4 07 vshufpd \$0x7,%ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc c6 d4 07 vshufps \$0x7,%ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 fd 51 f4 vsqrtpd %ymm4,%ymm6
+[a-f0-9]+: c4 e1 fc 51 f4 vsqrtps %ymm4,%ymm6
+[a-f0-9]+: c4 e1 cb 51 d4 vsqrtsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ca 51 d4 vsqrtss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 f8 ae 19 vstmxcsr \(%rcx\)
+[a-f0-9]+: c4 e1 cd 5c d4 vsubpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 5c d4 vsubps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cb 5c d4 vsubsd %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 ca 5c d4 vsubss %xmm4,%xmm6,%xmm2
+[a-f0-9]+: c4 e1 f9 2e f4 vucomisd %xmm4,%xmm6
+[a-f0-9]+: c4 e1 f8 2e f4 vucomiss %xmm4,%xmm6
+[a-f0-9]+: c4 e1 cd 15 d4 vunpckhpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 15 d4 vunpckhps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 14 d4 vunpcklpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 14 d4 vunpcklps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 57 d4 vxorpd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cc 57 d4 vxorps %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 fc 77 vzeroall
+[a-f0-9]+: c4 e1 f8 77 vzeroupper
#pass

View File

@ -0,0 +1,250 @@
# Check AVX WIG instructions
.allow_index_reg
.text
_start:
vaddpd %ymm4,%ymm6,%ymm2
vaddps %ymm4,%ymm6,%ymm2
vaddsd %xmm4,%xmm6,%xmm2
vaddss %xmm4,%xmm6,%xmm2
vaddsubpd %ymm4,%ymm6,%ymm2
vaddsubps %ymm4,%ymm6,%ymm2
vaesdec %xmm4,%xmm6,%xmm2
vaesdeclast %xmm4,%xmm6,%xmm2
vaesenc %xmm4,%xmm6,%xmm2
vaesenclast %xmm4,%xmm6,%xmm2
vaesimc %xmm4,%xmm6
vaeskeygenassist $7,%xmm4,%xmm6
vblendpd $7,%ymm4,%ymm6,%ymm2
vblendps $7,%ymm4,%ymm6,%ymm2
vcmppd $7,%ymm4,%ymm6,%ymm2
vcmpps $7,%ymm4,%ymm6,%ymm2
vcmpsd $7,%xmm4,%xmm6,%xmm2
vcmpss $7,%xmm4,%xmm6,%xmm2
vcomisd %xmm4,%xmm6
vcomiss %xmm4,%xmm6
vcvtdq2pd %xmm4,%ymm4
vcvtdq2ps %ymm4,%ymm6
vcvtpd2dqy %ymm4,%xmm4
vcvtpd2dqx %xmm4,%xmm6
vcvtpd2dqy %ymm4,%xmm4
vcvtpd2psy %ymm4,%xmm4
vcvtpd2psx %xmm4,%xmm6
vcvtpd2psy %ymm4,%xmm4
vcvtps2dq %ymm4,%ymm6
vcvtps2pd %xmm4,%ymm4
vcvtsd2ss %xmm4,%xmm6,%xmm2
vcvttpd2dqy %ymm4,%xmm4
vcvttpd2dqx %xmm4,%xmm6
vcvttpd2dqy %ymm4,%xmm4
vcvttps2dq %ymm4,%ymm6
vdivpd %ymm4,%ymm6,%ymm2
vdivps %ymm4,%ymm6,%ymm2
vdivsd %xmm4,%xmm6,%xmm2
vdivss %xmm4,%xmm6,%xmm2
vdppd $7,%xmm4,%xmm6,%xmm2
vdpps $7,%ymm4,%ymm6,%ymm2
vextractps $7,%xmm4,%rcx
vhaddpd %ymm4,%ymm6,%ymm2
vhaddps %ymm4,%ymm6,%ymm2
vhsubpd %ymm4,%ymm6,%ymm2
vhsubps %ymm4,%ymm6,%ymm2
vinsertps $7,%xmm4,%xmm6,%xmm2
vlddqu (%rcx),%ymm4
vldmxcsr (%rcx)
vmaskmovdqu %xmm4,%xmm6
vmaxpd %ymm4,%ymm6,%ymm2
vmaxps %ymm4,%ymm6,%ymm2
vmaxsd %xmm4,%xmm6,%xmm2
vmaxss %xmm4,%xmm6,%xmm2
vminpd %ymm4,%ymm6,%ymm2
vminps %ymm4,%ymm6,%ymm2
vminsd %xmm4,%xmm6,%xmm2
vminss %xmm4,%xmm6,%xmm2
vmovapd %ymm4,%ymm6
vmovaps %ymm4,%ymm6
{store} vmovapd %ymm4,%ymm6
{store} vmovaps %ymm4,%ymm6
vmovddup %ymm4,%ymm6
vmovdqa %ymm4,%ymm6
vmovdqu %ymm4,%ymm6
{store} vmovdqa %ymm4,%ymm6
{store} vmovdqu %ymm4,%ymm6
vmovhlps %xmm4,%xmm6,%xmm2
vmovhpd (%rcx),%xmm4,%xmm6
vmovhpd %xmm4,(%rcx)
vmovhps (%rcx),%xmm4,%xmm6
vmovhps %xmm4,(%rcx)
vmovlhps %xmm4,%xmm6,%xmm2
vmovlpd (%rcx),%xmm4,%xmm6
vmovlpd %xmm4,(%rcx)
vmovlps (%rcx),%xmm4,%xmm6
vmovlps %xmm4,(%rcx)
vmovmskpd %xmm4,%rcx
vmovmskps %xmm4,%rcx
vmovntdq %ymm4,(%rcx)
vmovntdqa (%rcx),%xmm4
vmovntpd %ymm4,(%rcx)
vmovntps %ymm4,(%rcx)
vmovq %xmm4,%xmm6
vmovq %xmm4,(%rcx)
vmovq %xmm4,%rcx
vmovq %rcx,%xmm4
vmovsd (%rcx),%xmm4
vmovsd %xmm4,(%rcx)
vmovshdup %ymm4,%ymm6
vmovsldup %ymm4,%ymm6
vmovss (%rcx),%xmm4
vmovss %xmm4,(%rcx)
vmovupd %ymm4,%ymm6
vmovupd %ymm4,(%rcx)
vmovups %ymm4,%ymm6
vmovups %ymm4,(%rcx)
vmpsadbw $7,%xmm4,%xmm6,%xmm2
vmulpd %ymm4,%ymm6,%ymm2
vmulps %ymm4,%ymm6,%ymm2
vmulsd %xmm4,%xmm6,%xmm2
vmulss %xmm4,%xmm6,%xmm2
vpabsb %xmm4,%xmm6
vpabsd %xmm4,%xmm6
vpabsw %xmm4,%xmm6
vpackssdw %xmm4,%xmm6,%xmm2
vpacksswb %xmm4,%xmm6,%xmm2
vpackusdw %xmm4,%xmm6,%xmm2
vpackuswb %xmm4,%xmm6,%xmm2
vpaddb %xmm4,%xmm6,%xmm2
vpaddd %xmm4,%xmm6,%xmm2
vpaddq %xmm4,%xmm6,%xmm2
vpaddsb %xmm4,%xmm6,%xmm2
vpaddsw %xmm4,%xmm6,%xmm2
vpaddusb %xmm4,%xmm6,%xmm2
vpaddusw %xmm4,%xmm6,%xmm2
vpaddw %xmm4,%xmm6,%xmm2
vpalignr $7,%xmm4,%xmm6,%xmm2
vpand %xmm4,%xmm6,%xmm2
vpandn %xmm4,%xmm6,%xmm2
vpavgb %xmm4,%xmm6,%xmm2
vpavgw %xmm4,%xmm6,%xmm2
vpblendw $7,%xmm4,%xmm6,%xmm2
vpclmulhqhqdq %xmm4,%xmm6,%xmm2
vpclmulhqlqdq %xmm4,%xmm6,%xmm2
vpclmullqhqdq %xmm4,%xmm6,%xmm2
vpclmullqlqdq %xmm4,%xmm6,%xmm2
vpclmulqdq $7,%xmm4,%xmm6,%xmm2
vpcmpeqb %xmm4,%xmm6,%xmm2
vpcmpeqd %xmm4,%xmm6,%xmm2
vpcmpeqq %xmm4,%xmm6,%xmm2
vpcmpeqw %xmm4,%xmm6,%xmm2
vpcmpgtb %xmm4,%xmm6,%xmm2
vpcmpgtd %xmm4,%xmm6,%xmm2
vpcmpgtq %xmm4,%xmm6,%xmm2
vpcmpgtw %xmm4,%xmm6,%xmm2
vpcmpistri $7,%xmm4,%xmm6
vpcmpistrm $7,%xmm4,%xmm6
vphaddd %xmm4,%xmm6,%xmm2
vphaddsw %xmm4,%xmm6,%xmm2
vphaddw %xmm4,%xmm6,%xmm2
vphminposuw %xmm4,%xmm6
vphsubd %xmm4,%xmm6,%xmm2
vphsubsw %xmm4,%xmm6,%xmm2
vphsubw %xmm4,%xmm6,%xmm2
vpmaddubsw %xmm4,%xmm6,%xmm2
vpmaddwd %xmm4,%xmm6,%xmm2
vpmaxsb %xmm4,%xmm6,%xmm2
vpmaxsd %xmm4,%xmm6,%xmm2
vpmaxsw %xmm4,%xmm6,%xmm2
vpmaxub %xmm4,%xmm6,%xmm2
vpmaxud %xmm4,%xmm6,%xmm2
vpmaxuw %xmm4,%xmm6,%xmm2
vpminsb %xmm4,%xmm6,%xmm2
vpminsd %xmm4,%xmm6,%xmm2
vpminsw %xmm4,%xmm6,%xmm2
vpminub %xmm4,%xmm6,%xmm2
vpminud %xmm4,%xmm6,%xmm2
vpminuw %xmm4,%xmm6,%xmm2
vpmovmskb %xmm4,%rcx
vpmovsxbd %xmm4,%xmm6
vpmovsxbq %xmm4,%xmm6
vpmovsxbw %xmm4,%xmm6
vpmovsxdq %xmm4,%xmm6
vpmovsxwd %xmm4,%xmm6
vpmovsxwq %xmm4,%xmm6
vpmovzxbd %xmm4,%xmm6
vpmovzxbq %xmm4,%xmm6
vpmovzxbw %xmm4,%xmm6
vpmovzxdq %xmm4,%xmm6
vpmovzxwd %xmm4,%xmm6
vpmovzxwq %xmm4,%xmm6
vpmuldq %xmm4,%xmm6,%xmm2
vpmulhrsw %xmm4,%xmm6,%xmm2
vpmulhuw %xmm4,%xmm6,%xmm2
vpmulhw %xmm4,%xmm6,%xmm2
vpmulld %xmm4,%xmm6,%xmm2
vpmullw %xmm4,%xmm6,%xmm2
vpmuludq %xmm4,%xmm6,%xmm2
vpor %xmm4,%xmm6,%xmm2
vpsadbw %xmm4,%xmm6,%xmm2
vpshufb %xmm4,%xmm6,%xmm2
vpshufd $7,%xmm4,%xmm6
vpshufhw $7,%xmm4,%xmm6
vpshuflw $7,%xmm4,%xmm6
vpsignb %xmm4,%xmm6,%xmm2
vpsignd %xmm4,%xmm6,%xmm2
vpsignw %xmm4,%xmm6,%xmm2
vpslld %xmm4,%xmm6,%xmm2
vpslldq $7,%xmm4,%xmm6
vpsllq %xmm4,%xmm6,%xmm2
vpsllw %xmm4,%xmm6,%xmm2
vpsrad %xmm4,%xmm6,%xmm2
vpsraw %xmm4,%xmm6,%xmm2
vpsrld %xmm4,%xmm6,%xmm2
vpsrldq $7,%xmm4,%xmm6
vpsrlq %xmm4,%xmm6,%xmm2
vpsrlw %xmm4,%xmm6,%xmm2
vpsubb %xmm4,%xmm6,%xmm2
vpsubd %xmm4,%xmm6,%xmm2
vpsubq %xmm4,%xmm6,%xmm2
vpsubsb %xmm4,%xmm6,%xmm2
vpsubsw %xmm4,%xmm6,%xmm2
vpsubusb %xmm4,%xmm6,%xmm2
vpsubusw %xmm4,%xmm6,%xmm2
vpsubw %xmm4,%xmm6,%xmm2
vptest %ymm4,%ymm6
vpunpckhbw %xmm4,%xmm6,%xmm2
vpunpckhdq %xmm4,%xmm6,%xmm2
vpunpckhqdq %xmm4,%xmm6,%xmm2
vpunpckhwd %xmm4,%xmm6,%xmm2
vpunpcklbw %xmm4,%xmm6,%xmm2
vpunpckldq %xmm4,%xmm6,%xmm2
vpunpcklqdq %xmm4,%xmm6,%xmm2
vpunpcklwd %xmm4,%xmm6,%xmm2
vpxor %xmm4,%xmm6,%xmm2
vrcpps %ymm4,%ymm6
vrcpss %xmm4,%xmm6,%xmm2
vroundpd $7,%ymm6,%ymm2
vroundps $7,%ymm6,%ymm2
vroundsd $7,%xmm4,%xmm6,%xmm2
vroundss $7,%xmm4,%xmm6,%xmm2
vrsqrtps %ymm4,%ymm6
vrsqrtss %xmm4,%xmm6,%xmm2
vshufpd $7,%ymm4,%ymm6,%ymm2
vshufps $7,%ymm4,%ymm6,%ymm2
vsqrtpd %ymm4,%ymm6
vsqrtps %ymm4,%ymm6
vsqrtsd %xmm4,%xmm6,%xmm2
vsqrtss %xmm4,%xmm6,%xmm2
vstmxcsr (%rcx)
vsubpd %ymm4,%ymm6,%ymm2
vsubps %ymm4,%ymm6,%ymm2
vsubsd %xmm4,%xmm6,%xmm2
vsubss %xmm4,%xmm6,%xmm2
vucomisd %xmm4,%xmm6
vucomiss %xmm4,%xmm6
vunpckhpd %ymm4,%ymm6,%ymm2
vunpckhps %ymm4,%ymm6,%ymm2
vunpcklpd %ymm4,%ymm6,%ymm2
vunpcklps %ymm4,%ymm6,%ymm2
vxorpd %ymm4,%ymm6,%ymm2
vxorps %ymm4,%ymm6,%ymm2
vzeroall
vzeroupper

View File

@ -0,0 +1,119 @@
#as: -mvexwig=1
#objdump: -dw
#name: x86-64 AVX2 WIG insns with -mvexwig=1
.*: +file format .*
Disassembly of section .text:
0+ <_start>:
+[a-f0-9]+: c4 e2 7d 2a 21 vmovntdqa \(%rcx\),%ymm4
+[a-f0-9]+: c4 e2 7d 2a 21 vmovntdqa \(%rcx\),%ymm4
+[a-f0-9]+: c4 e3 4d 42 d4 07 vmpsadbw \$0x7,%ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 fd 1c f4 vpabsb %ymm4,%ymm6
+[a-f0-9]+: c4 e2 fd 1e f4 vpabsd %ymm4,%ymm6
+[a-f0-9]+: c4 e2 fd 1d f4 vpabsw %ymm4,%ymm6
+[a-f0-9]+: c4 e1 cd 6b d4 vpackssdw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 63 d4 vpacksswb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 2b d4 vpackusdw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 67 d4 vpackuswb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd fc d4 vpaddb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd fe d4 vpaddd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd d4 d4 vpaddq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd ec d4 vpaddsb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd ed d4 vpaddsw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd dc d4 vpaddusb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd dd d4 vpaddusw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd fd d4 vpaddw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e3 cd 0f d4 07 vpalignr \$0x7,%ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd db d4 vpand %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd df d4 vpandn %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd e0 d4 vpavgb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd e3 d4 vpavgw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e3 cd 0e d4 07 vpblendw \$0x7,%ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 74 d4 vpcmpeqb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 76 d4 vpcmpeqd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 29 d4 vpcmpeqq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 75 d4 vpcmpeqw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 64 d4 vpcmpgtb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 66 d4 vpcmpgtd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 37 d4 vpcmpgtq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 65 d4 vpcmpgtw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 02 d4 vphaddd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 03 d4 vphaddsw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 01 d4 vphaddw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 4d 06 d4 vphsubd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 4d 07 d4 vphsubsw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 4d 05 d4 vphsubw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 04 d4 vpmaddubsw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd f5 d4 vpmaddwd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 3c d4 vpmaxsb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 3d d4 vpmaxsd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd ee d4 vpmaxsw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c5 cd de d4 vpmaxub %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 3f d4 vpmaxud %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 3e d4 vpmaxuw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 38 d4 vpminsb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 39 d4 vpminsd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd ea d4 vpminsw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd da d4 vpminub %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 3b d4 vpminud %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 3a d4 vpminuw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 fd d7 cc vpmovmskb %ymm4,%rcx
+[a-f0-9]+: c4 e2 fd 21 f4 vpmovsxbd %xmm4,%ymm6
+[a-f0-9]+: c4 e2 fd 22 e4 vpmovsxbq %xmm4,%ymm4
+[a-f0-9]+: c4 e2 fd 20 e4 vpmovsxbw %xmm4,%ymm4
+[a-f0-9]+: c4 e2 fd 25 e4 vpmovsxdq %xmm4,%ymm4
+[a-f0-9]+: c4 e2 fd 23 e4 vpmovsxwd %xmm4,%ymm4
+[a-f0-9]+: c4 e2 fd 24 f4 vpmovsxwq %xmm4,%ymm6
+[a-f0-9]+: c4 e2 fd 31 f4 vpmovzxbd %xmm4,%ymm6
+[a-f0-9]+: c4 e2 fd 32 e4 vpmovzxbq %xmm4,%ymm4
+[a-f0-9]+: c4 e2 fd 30 e4 vpmovzxbw %xmm4,%ymm4
+[a-f0-9]+: c4 e2 fd 35 e4 vpmovzxdq %xmm4,%ymm4
+[a-f0-9]+: c4 e2 fd 33 e4 vpmovzxwd %xmm4,%ymm4
+[a-f0-9]+: c4 e2 fd 34 f4 vpmovzxwq %xmm4,%ymm6
+[a-f0-9]+: c4 e2 cd 28 d4 vpmuldq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 0b d4 vpmulhrsw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd e4 d4 vpmulhuw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd e5 d4 vpmulhw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 40 d4 vpmulld %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd d5 d4 vpmullw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd f4 d4 vpmuludq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd eb d4 vpor %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd f6 d4 vpsadbw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 00 d4 vpshufb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 fd 70 d6 07 vpshufd \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 fe 70 d6 07 vpshufhw \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ff 70 d6 07 vpshuflw \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 08 d4 vpsignb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 0a d4 vpsignd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e2 cd 09 d4 vpsignw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 72 f6 07 vpslld \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 73 fe 07 vpslldq \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 73 f6 07 vpsllq \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 71 f6 07 vpsllw \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 72 e6 07 vpsrad \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 71 e6 07 vpsraw \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 72 d6 07 vpsrld \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 73 de 07 vpsrldq \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 73 d6 07 vpsrlq \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 ed 71 d6 07 vpsrlw \$0x7,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd f8 d4 vpsubb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd fa d4 vpsubd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd fb d4 vpsubq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd e8 d4 vpsubsb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd e9 d4 vpsubsw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd d8 d4 vpsubusb %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd d9 d4 vpsubusw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd f9 d4 vpsubw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 68 d4 vpunpckhbw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 6a d4 vpunpckhdq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 6d d4 vpunpckhqdq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 69 d4 vpunpckhwd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 60 d4 vpunpcklbw %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 62 d4 vpunpckldq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 6c d4 vpunpcklqdq %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd 61 d4 vpunpcklwd %ymm4,%ymm6,%ymm2
+[a-f0-9]+: c4 e1 cd ef d4 vpxor %ymm4,%ymm6,%ymm2
#pass

View File

@ -0,0 +1,113 @@
# Check AVX2 WIG instructions
.allow_index_reg
.text
_start:
vmovntdqa (%rcx),%ymm4
vmovntdqa (%rcx),%ymm4
vmpsadbw $7,%ymm4,%ymm6,%ymm2
vpabsb %ymm4,%ymm6
vpabsd %ymm4,%ymm6
vpabsw %ymm4,%ymm6
vpackssdw %ymm4,%ymm6,%ymm2
vpacksswb %ymm4,%ymm6,%ymm2
vpackusdw %ymm4,%ymm6,%ymm2
vpackuswb %ymm4,%ymm6,%ymm2
vpaddb %ymm4,%ymm6,%ymm2
vpaddd %ymm4,%ymm6,%ymm2
vpaddq %ymm4,%ymm6,%ymm2
vpaddsb %ymm4,%ymm6,%ymm2
vpaddsw %ymm4,%ymm6,%ymm2
vpaddusb %ymm4,%ymm6,%ymm2
vpaddusw %ymm4,%ymm6,%ymm2
vpaddw %ymm4,%ymm6,%ymm2
vpalignr $7,%ymm4,%ymm6,%ymm2
vpand %ymm4,%ymm6,%ymm2
vpandn %ymm4,%ymm6,%ymm2
vpavgb %ymm4,%ymm6,%ymm2
vpavgw %ymm4,%ymm6,%ymm2
vpblendw $7,%ymm4,%ymm6,%ymm2
vpcmpeqb %ymm4,%ymm6,%ymm2
vpcmpeqd %ymm4,%ymm6,%ymm2
vpcmpeqq %ymm4,%ymm6,%ymm2
vpcmpeqw %ymm4,%ymm6,%ymm2
vpcmpgtb %ymm4,%ymm6,%ymm2
vpcmpgtd %ymm4,%ymm6,%ymm2
vpcmpgtq %ymm4,%ymm6,%ymm2
vpcmpgtw %ymm4,%ymm6,%ymm2
vphaddd %ymm4,%ymm6,%ymm2
vphaddsw %ymm4,%ymm6,%ymm2
vphaddw %ymm4,%ymm6,%ymm2
vphsubd %ymm4,%ymm6,%ymm2
vphsubsw %ymm4,%ymm6,%ymm2
vphsubw %ymm4,%ymm6,%ymm2
vpmaddubsw %ymm4,%ymm6,%ymm2
vpmaddwd %ymm4,%ymm6,%ymm2
vpmaxsb %ymm4,%ymm6,%ymm2
vpmaxsd %ymm4,%ymm6,%ymm2
vpmaxsw %ymm4,%ymm6,%ymm2
vpmaxub %ymm4,%ymm6,%ymm2
vpmaxud %ymm4,%ymm6,%ymm2
vpmaxuw %ymm4,%ymm6,%ymm2
vpminsb %ymm4,%ymm6,%ymm2
vpminsd %ymm4,%ymm6,%ymm2
vpminsw %ymm4,%ymm6,%ymm2
vpminub %ymm4,%ymm6,%ymm2
vpminud %ymm4,%ymm6,%ymm2
vpminuw %ymm4,%ymm6,%ymm2
vpmovmskb %ymm4,%ecx
vpmovsxbd %xmm4,%ymm6
vpmovsxbq %xmm4,%ymm4
vpmovsxbw %xmm4,%ymm4
vpmovsxdq %xmm4,%ymm4
vpmovsxwd %xmm4,%ymm4
vpmovsxwq %xmm4,%ymm6
vpmovzxbd %xmm4,%ymm6
vpmovzxbq %xmm4,%ymm4
vpmovzxbw %xmm4,%ymm4
vpmovzxdq %xmm4,%ymm4
vpmovzxwd %xmm4,%ymm4
vpmovzxwq %xmm4,%ymm6
vpmuldq %ymm4,%ymm6,%ymm2
vpmulhrsw %ymm4,%ymm6,%ymm2
vpmulhuw %ymm4,%ymm6,%ymm2
vpmulhw %ymm4,%ymm6,%ymm2
vpmulld %ymm4,%ymm6,%ymm2
vpmullw %ymm4,%ymm6,%ymm2
vpmuludq %ymm4,%ymm6,%ymm2
vpor %ymm4,%ymm6,%ymm2
vpsadbw %ymm4,%ymm6,%ymm2
vpshufb %ymm4,%ymm6,%ymm2
vpshufd $7,%ymm6,%ymm2
vpshufhw $7,%ymm6,%ymm2
vpshuflw $7,%ymm6,%ymm2
vpsignb %ymm4,%ymm6,%ymm2
vpsignd %ymm4,%ymm6,%ymm2
vpsignw %ymm4,%ymm6,%ymm2
vpslld $7,%ymm6,%ymm2
vpslldq $7,%ymm6,%ymm2
vpsllq $7,%ymm6,%ymm2
vpsllw $7,%ymm6,%ymm2
vpsrad $7,%ymm6,%ymm2
vpsraw $7,%ymm6,%ymm2
vpsrld $7,%ymm6,%ymm2
vpsrldq $7,%ymm6,%ymm2
vpsrlq $7,%ymm6,%ymm2
vpsrlw $7,%ymm6,%ymm2
vpsubb %ymm4,%ymm6,%ymm2
vpsubd %ymm4,%ymm6,%ymm2
vpsubq %ymm4,%ymm6,%ymm2
vpsubsb %ymm4,%ymm6,%ymm2
vpsubsw %ymm4,%ymm6,%ymm2
vpsubusb %ymm4,%ymm6,%ymm2
vpsubusw %ymm4,%ymm6,%ymm2
vpsubw %ymm4,%ymm6,%ymm2
vpunpckhbw %ymm4,%ymm6,%ymm2
vpunpckhdq %ymm4,%ymm6,%ymm2
vpunpckhqdq %ymm4,%ymm6,%ymm2
vpunpckhwd %ymm4,%ymm6,%ymm2
vpunpcklbw %ymm4,%ymm6,%ymm2
vpunpckldq %ymm4,%ymm6,%ymm2
vpunpcklqdq %ymm4,%ymm6,%ymm2
vpunpcklwd %ymm4,%ymm6,%ymm2
vpxor %ymm4,%ymm6,%ymm2