diff options
author | Ilya Tocar <ilya.tocar@intel.com> | 2014-11-17 14:57:33 +0300 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2014-11-17 08:37:27 -0800 |
commit | ca8542189fab37fc21f65609df070f3eaef0c8c8 (patch) | |
tree | 684dbb5ef5f52e9742d98532f7bf6b6ba04c42a1 /gas | |
parent | 21050a715f883f15a0a46ba03f129156214953d5 (diff) | |
download | gdb-ca8542189fab37fc21f65609df070f3eaef0c8c8.zip gdb-ca8542189fab37fc21f65609df070f3eaef0c8c8.tar.gz gdb-ca8542189fab37fc21f65609df070f3eaef0c8c8.tar.bz2 |
Add AVX512IFMA instructions
gas/
* config/tc-i386.c (cpu_arch): Add .avx512ifma.
* doc/c-i386.texi: Document it.
opcodes/
* i386-dis-evex.c (evex_table): Add vpmadd52luq, vpmadd52huq.
* i386-dis.c (PREFIX enum): Add PREFIX_EVEX_0F38B4,
PREFIX_EVEX_0F38B5.
* i386-gen.c (cpu_flag_init): Add CPU_AVX512IFMA_FLAGS.
(cpu_flags): Add CpuAVX512IFMA.
* i386-opc.h (enum): Add CpuAVX512IFMA.
(i386_cpu_flags): Add cpuavx512ifma.
* i386-opc.tbl: Add vpmadd52huq, vpmadd52luq.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
/gas/testsuite/
* gas/i386/i386.exp: Run new tests.
* gas/i386/avx512ifma-intel.d: New file.
* gas/i386/avx512ifma.d: Likewise.
* gas/i386/avx512ifma.s: Likewise.
* gas/i386/avx512ifma_vl-intel.d: Likewise.
* gas/i386/avx512ifma_vl.d: Likewise.
* gas/i386/avx512ifma_vl.s: Likewise.
* gas/i386/x86-64-avx512ifma-intel.d: Likewise.
* gas/i386/x86-64-avx512ifma.d: Likewise.
* gas/i386/x86-64-avx512ifma.s: Likewise.
* gas/i386/x86-64-avx512ifma_vl-intel.d: Likewise.
* gas/i386/x86-64-avx512ifma_vl.d: Likewise.
* gas/i386/x86-64-avx512ifma_vl.s: Likewise.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-i386.c | 2 | ||||
-rw-r--r-- | gas/doc/c-i386.texi | 3 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 16 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/avx512ifma-intel.d | 68 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/avx512ifma.d | 68 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/avx512ifma.s | 63 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/avx512ifma_vl-intel.d | 116 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/avx512ifma_vl.d | 116 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/avx512ifma_vl.s | 111 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/i386.exp | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-avx512ifma-intel.d | 68 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-avx512ifma.d | 68 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-avx512ifma.s | 63 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-avx512ifma_vl-intel.d | 124 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-avx512ifma_vl.d | 124 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-avx512ifma_vl.s | 119 |
17 files changed, 1141 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 5221870..62f98d0 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,10 @@ 2014-11-17 Ilya Tocar <ilya.tocar@intel.com> + * config/tc-i386.c (cpu_arch): Add .avx512ifma. + * doc/c-i386.texi: Document it. + +2014-11-17 Ilya Tocar <ilya.tocar@intel.com> + * config/tc-i386.c (cpu_arch): Add .pcommit. * doc/c-i386.texi: Document it. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index b88add9..045ba81 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -933,6 +933,8 @@ static const arch_entry cpu_arch[] = CPU_CLWB_FLAGS, 0, 0 }, { STRING_COMMA_LEN (".pcommit"), PROCESSOR_UNKNOWN, CPU_PCOMMIT_FLAGS, 0, 0 }, + { STRING_COMMA_LEN (".avx512ifma"), PROCESSOR_UNKNOWN, + CPU_AVX512IFMA_FLAGS, 0, 0 }, }; #ifdef I386COFF diff --git a/gas/doc/c-i386.texi b/gas/doc/c-i386.texi index df7ece4..44ef873 100644 --- a/gas/doc/c-i386.texi +++ b/gas/doc/c-i386.texi @@ -163,6 +163,7 @@ accept various extension mnemonics. For example, @code{avx512vl}, @code{avx512bw}, @code{avx512dq}, +@code{avx512ifma}, @code{noavx}, @code{vmx}, @code{vmfunc}, @@ -1104,7 +1105,7 @@ supported on the CPU specified. The choices for @var{cpu_type} are: @item @samp{.smap} @tab @samp{.mpx} @tab @samp{.sha} @tab @samp{.prefetchwt1} @item @samp{.clflushopt} @tab @samp{.xsavec} @tab @samp{.xsaves} @tab @samp{.se1} @item @samp{.avx512f} @tab @samp{.avx512cd} @tab @samp{.avx512er} @tab @samp{.avx512pf} -@item @samp{.avx512vl} @tab @samp{.avx512bw} @tab @samp{.avx512dq} +@item @samp{.avx512vl} @tab @samp{.avx512bw} @tab @samp{.avx512dq} @tab @samp{.avx512ifma} @item @samp{.clwb} @tab @samp{.pcommit} @item @samp{.3dnow} @tab @samp{.3dnowa} @tab @samp{.sse4a} @tab @samp{.sse5} @item @samp{.syscall} @tab @samp{.rdtscp} @tab @samp{.svme} @tab @samp{.abm} diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index f510412..a3c7fa3 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,6 +1,22 @@ 2014-11-17 Ilya Tocar <ilya.tocar@intel.com> * gas/i386/i386.exp: Run new tests. + * gas/i386/avx512ifma-intel.d: New file. + * gas/i386/avx512ifma.d: Likewise. + * gas/i386/avx512ifma.s: Likewise. + * gas/i386/avx512ifma_vl-intel.d: Likewise. + * gas/i386/avx512ifma_vl.d: Likewise. + * gas/i386/avx512ifma_vl.s: Likewise. + * gas/i386/x86-64-avx512ifma-intel.d: Likewise. + * gas/i386/x86-64-avx512ifma.d: Likewise. + * gas/i386/x86-64-avx512ifma.s: Likewise. + * gas/i386/x86-64-avx512ifma_vl-intel.d: Likewise. + * gas/i386/x86-64-avx512ifma_vl.d: Likewise. + * gas/i386/x86-64-avx512ifma_vl.s: Likewise. + +2014-11-17 Ilya Tocar <ilya.tocar@intel.com> + + * gas/i386/i386.exp: Run new tests. * gas/i386/pcommit-intel.d: New file. * gas/i386/pcommit.d: Likewise. * gas/i386/pcommit.s: Likewise. diff --git a/gas/testsuite/gas/i386/avx512ifma-intel.d b/gas/testsuite/gas/i386/avx512ifma-intel.d new file mode 100644 index 0000000..533cc58 --- /dev/null +++ b/gas/testsuite/gas/i386/avx512ifma-intel.d @@ -0,0 +1,68 @@ +#as: +#objdump: -dw -Mintel +#name: i386 AVX512IFMA insns (Intel disassembly) +#source: avx512ifma.s + +.*: +file format .* + + +Disassembly of section \.text: + +00000000 <_start>: +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 f4[ ]*vpmadd52luq zmm6,zmm5,zmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f b4 f4[ ]*vpmadd52luq zmm6\{k7\},zmm5,zmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf b4 f4[ ]*vpmadd52luq zmm6\{k7\}\{z\},zmm5,zmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 31[ ]*vpmadd52luq zmm6,zmm5,ZMMWORD PTR \[ecx\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq zmm6,zmm5,ZMMWORD PTR \[esp\+esi\*8-0x1e240\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 30[ ]*vpmadd52luq zmm6,zmm5,QWORD PTR \[eax\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 72 7f[ ]*vpmadd52luq zmm6,zmm5,ZMMWORD PTR \[edx\+0x1fc0\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b2 00 20 00 00[ ]*vpmadd52luq zmm6,zmm5,ZMMWORD PTR \[edx\+0x2000\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 72 80[ ]*vpmadd52luq zmm6,zmm5,ZMMWORD PTR \[edx-0x2000\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b2 c0 df ff ff[ ]*vpmadd52luq zmm6,zmm5,ZMMWORD PTR \[edx-0x2040\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 72 7f[ ]*vpmadd52luq zmm6,zmm5,QWORD PTR \[edx\+0x3f8\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 b2 00 04 00 00[ ]*vpmadd52luq zmm6,zmm5,QWORD PTR \[edx\+0x400\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 72 80[ ]*vpmadd52luq zmm6,zmm5,QWORD PTR \[edx-0x400\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 b2 f8 fb ff ff[ ]*vpmadd52luq zmm6,zmm5,QWORD PTR \[edx-0x408\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 f4[ ]*vpmadd52huq zmm6,zmm5,zmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f b5 f4[ ]*vpmadd52huq zmm6\{k7\},zmm5,zmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf b5 f4[ ]*vpmadd52huq zmm6\{k7\}\{z\},zmm5,zmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 31[ ]*vpmadd52huq zmm6,zmm5,ZMMWORD PTR \[ecx\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq zmm6,zmm5,ZMMWORD PTR \[esp\+esi\*8-0x1e240\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 30[ ]*vpmadd52huq zmm6,zmm5,QWORD PTR \[eax\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 72 7f[ ]*vpmadd52huq zmm6,zmm5,ZMMWORD PTR \[edx\+0x1fc0\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b2 00 20 00 00[ ]*vpmadd52huq zmm6,zmm5,ZMMWORD PTR \[edx\+0x2000\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 72 80[ ]*vpmadd52huq zmm6,zmm5,ZMMWORD PTR \[edx-0x2000\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b2 c0 df ff ff[ ]*vpmadd52huq zmm6,zmm5,ZMMWORD PTR \[edx-0x2040\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 72 7f[ ]*vpmadd52huq zmm6,zmm5,QWORD PTR \[edx\+0x3f8\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 b2 00 04 00 00[ ]*vpmadd52huq zmm6,zmm5,QWORD PTR \[edx\+0x400\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 72 80[ ]*vpmadd52huq zmm6,zmm5,QWORD PTR \[edx-0x400\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 b2 f8 fb ff ff[ ]*vpmadd52huq zmm6,zmm5,QWORD PTR \[edx-0x408\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 f4[ ]*vpmadd52luq zmm6,zmm5,zmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f b4 f4[ ]*vpmadd52luq zmm6\{k7\},zmm5,zmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf b4 f4[ ]*vpmadd52luq zmm6\{k7\}\{z\},zmm5,zmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 31[ ]*vpmadd52luq zmm6,zmm5,ZMMWORD PTR \[ecx\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq zmm6,zmm5,ZMMWORD PTR \[esp\+esi\*8-0x1e240\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 30[ ]*vpmadd52luq zmm6,zmm5,QWORD PTR \[eax\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 72 7f[ ]*vpmadd52luq zmm6,zmm5,ZMMWORD PTR \[edx\+0x1fc0\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b2 00 20 00 00[ ]*vpmadd52luq zmm6,zmm5,ZMMWORD PTR \[edx\+0x2000\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 72 80[ ]*vpmadd52luq zmm6,zmm5,ZMMWORD PTR \[edx-0x2000\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b2 c0 df ff ff[ ]*vpmadd52luq zmm6,zmm5,ZMMWORD PTR \[edx-0x2040\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 72 7f[ ]*vpmadd52luq zmm6,zmm5,QWORD PTR \[edx\+0x3f8\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 b2 00 04 00 00[ ]*vpmadd52luq zmm6,zmm5,QWORD PTR \[edx\+0x400\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 72 80[ ]*vpmadd52luq zmm6,zmm5,QWORD PTR \[edx-0x400\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 b2 f8 fb ff ff[ ]*vpmadd52luq zmm6,zmm5,QWORD PTR \[edx-0x408\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 f4[ ]*vpmadd52huq zmm6,zmm5,zmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f b5 f4[ ]*vpmadd52huq zmm6\{k7\},zmm5,zmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf b5 f4[ ]*vpmadd52huq zmm6\{k7\}\{z\},zmm5,zmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 31[ ]*vpmadd52huq zmm6,zmm5,ZMMWORD PTR \[ecx\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq zmm6,zmm5,ZMMWORD PTR \[esp\+esi\*8-0x1e240\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 30[ ]*vpmadd52huq zmm6,zmm5,QWORD PTR \[eax\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 72 7f[ ]*vpmadd52huq zmm6,zmm5,ZMMWORD PTR \[edx\+0x1fc0\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b2 00 20 00 00[ ]*vpmadd52huq zmm6,zmm5,ZMMWORD PTR \[edx\+0x2000\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 72 80[ ]*vpmadd52huq zmm6,zmm5,ZMMWORD PTR \[edx-0x2000\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b2 c0 df ff ff[ ]*vpmadd52huq zmm6,zmm5,ZMMWORD PTR \[edx-0x2040\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 72 7f[ ]*vpmadd52huq zmm6,zmm5,QWORD PTR \[edx\+0x3f8\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 b2 00 04 00 00[ ]*vpmadd52huq zmm6,zmm5,QWORD PTR \[edx\+0x400\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 72 80[ ]*vpmadd52huq zmm6,zmm5,QWORD PTR \[edx-0x400\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 b2 f8 fb ff ff[ ]*vpmadd52huq zmm6,zmm5,QWORD PTR \[edx-0x408\]\{1to8\} +#pass diff --git a/gas/testsuite/gas/i386/avx512ifma.d b/gas/testsuite/gas/i386/avx512ifma.d new file mode 100644 index 0000000..3204d53 --- /dev/null +++ b/gas/testsuite/gas/i386/avx512ifma.d @@ -0,0 +1,68 @@ +#as: +#objdump: -dw +#name: i386 AVX512IFMA insns +#source: avx512ifma.s + +.*: +file format .* + + +Disassembly of section \.text: + +00000000 <_start>: +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 f4[ ]*vpmadd52luq %zmm4,%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f b4 f4[ ]*vpmadd52luq %zmm4,%zmm5,%zmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf b4 f4[ ]*vpmadd52luq %zmm4,%zmm5,%zmm6\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 31[ ]*vpmadd52luq \(%ecx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 30[ ]*vpmadd52luq \(%eax\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 72 7f[ ]*vpmadd52luq 0x1fc0\(%edx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b2 00 20 00 00[ ]*vpmadd52luq 0x2000\(%edx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 72 80[ ]*vpmadd52luq -0x2000\(%edx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b2 c0 df ff ff[ ]*vpmadd52luq -0x2040\(%edx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 72 7f[ ]*vpmadd52luq 0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%edx\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 72 80[ ]*vpmadd52luq -0x400\(%edx\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%edx\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 f4[ ]*vpmadd52huq %zmm4,%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f b5 f4[ ]*vpmadd52huq %zmm4,%zmm5,%zmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf b5 f4[ ]*vpmadd52huq %zmm4,%zmm5,%zmm6\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 31[ ]*vpmadd52huq \(%ecx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 30[ ]*vpmadd52huq \(%eax\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 72 7f[ ]*vpmadd52huq 0x1fc0\(%edx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b2 00 20 00 00[ ]*vpmadd52huq 0x2000\(%edx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 72 80[ ]*vpmadd52huq -0x2000\(%edx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b2 c0 df ff ff[ ]*vpmadd52huq -0x2040\(%edx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 72 7f[ ]*vpmadd52huq 0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%edx\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 72 80[ ]*vpmadd52huq -0x400\(%edx\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%edx\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 f4[ ]*vpmadd52luq %zmm4,%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f b4 f4[ ]*vpmadd52luq %zmm4,%zmm5,%zmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf b4 f4[ ]*vpmadd52luq %zmm4,%zmm5,%zmm6\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 31[ ]*vpmadd52luq \(%ecx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 30[ ]*vpmadd52luq \(%eax\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 72 7f[ ]*vpmadd52luq 0x1fc0\(%edx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b2 00 20 00 00[ ]*vpmadd52luq 0x2000\(%edx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 72 80[ ]*vpmadd52luq -0x2000\(%edx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b4 b2 c0 df ff ff[ ]*vpmadd52luq -0x2040\(%edx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 72 7f[ ]*vpmadd52luq 0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%edx\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 72 80[ ]*vpmadd52luq -0x400\(%edx\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%edx\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 f4[ ]*vpmadd52huq %zmm4,%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 4f b5 f4[ ]*vpmadd52huq %zmm4,%zmm5,%zmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 cf b5 f4[ ]*vpmadd52huq %zmm4,%zmm5,%zmm6\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 31[ ]*vpmadd52huq \(%ecx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq -0x1e240\(%esp,%esi,8\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 30[ ]*vpmadd52huq \(%eax\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 72 7f[ ]*vpmadd52huq 0x1fc0\(%edx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b2 00 20 00 00[ ]*vpmadd52huq 0x2000\(%edx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 72 80[ ]*vpmadd52huq -0x2000\(%edx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 48 b5 b2 c0 df ff ff[ ]*vpmadd52huq -0x2040\(%edx\),%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 72 7f[ ]*vpmadd52huq 0x3f8\(%edx\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%edx\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 72 80[ ]*vpmadd52huq -0x400\(%edx\)\{1to8\},%zmm5,%zmm6 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 58 b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%edx\)\{1to8\},%zmm5,%zmm6 +#pass diff --git a/gas/testsuite/gas/i386/avx512ifma.s b/gas/testsuite/gas/i386/avx512ifma.s new file mode 100644 index 0000000..102f6b8 --- /dev/null +++ b/gas/testsuite/gas/i386/avx512ifma.s @@ -0,0 +1,63 @@ +# Check 32bit AVX512IFMA instructions + + .allow_index_reg + .text +_start: + vpmadd52luq %zmm4, %zmm5, %zmm6 # AVX512IFMA + vpmadd52luq %zmm4, %zmm5, %zmm6{%k7} # AVX512IFMA + vpmadd52luq %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512IFMA + vpmadd52luq (%ecx), %zmm5, %zmm6 # AVX512IFMA + vpmadd52luq -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512IFMA + vpmadd52luq (%eax){1to8}, %zmm5, %zmm6 # AVX512IFMA + vpmadd52luq 8128(%edx), %zmm5, %zmm6 # AVX512IFMA Disp8 + vpmadd52luq 8192(%edx), %zmm5, %zmm6 # AVX512IFMA + vpmadd52luq -8192(%edx), %zmm5, %zmm6 # AVX512IFMA Disp8 + vpmadd52luq -8256(%edx), %zmm5, %zmm6 # AVX512IFMA + vpmadd52luq 1016(%edx){1to8}, %zmm5, %zmm6 # AVX512IFMA Disp8 + vpmadd52luq 1024(%edx){1to8}, %zmm5, %zmm6 # AVX512IFMA + vpmadd52luq -1024(%edx){1to8}, %zmm5, %zmm6 # AVX512IFMA Disp8 + vpmadd52luq -1032(%edx){1to8}, %zmm5, %zmm6 # AVX512IFMA + vpmadd52huq %zmm4, %zmm5, %zmm6 # AVX512IFMA + vpmadd52huq %zmm4, %zmm5, %zmm6{%k7} # AVX512IFMA + vpmadd52huq %zmm4, %zmm5, %zmm6{%k7}{z} # AVX512IFMA + vpmadd52huq (%ecx), %zmm5, %zmm6 # AVX512IFMA + vpmadd52huq -123456(%esp,%esi,8), %zmm5, %zmm6 # AVX512IFMA + vpmadd52huq (%eax){1to8}, %zmm5, %zmm6 # AVX512IFMA + vpmadd52huq 8128(%edx), %zmm5, %zmm6 # AVX512IFMA Disp8 + vpmadd52huq 8192(%edx), %zmm5, %zmm6 # AVX512IFMA + vpmadd52huq -8192(%edx), %zmm5, %zmm6 # AVX512IFMA Disp8 + vpmadd52huq -8256(%edx), %zmm5, %zmm6 # AVX512IFMA + vpmadd52huq 1016(%edx){1to8}, %zmm5, %zmm6 # AVX512IFMA Disp8 + vpmadd52huq 1024(%edx){1to8}, %zmm5, %zmm6 # AVX512IFMA + vpmadd52huq -1024(%edx){1to8}, %zmm5, %zmm6 # AVX512IFMA Disp8 + vpmadd52huq -1032(%edx){1to8}, %zmm5, %zmm6 # AVX512IFMA + + .intel_syntax noprefix + vpmadd52luq zmm6, zmm5, zmm4 # AVX512IFMA + vpmadd52luq zmm6{k7}, zmm5, zmm4 # AVX512IFMA + vpmadd52luq zmm6{k7}{z}, zmm5, zmm4 # AVX512IFMA + vpmadd52luq zmm6, zmm5, ZMMWORD PTR [ecx] # AVX512IFMA + vpmadd52luq zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456] # AVX512IFMA + vpmadd52luq zmm6, zmm5, [eax]{1to8} # AVX512IFMA + vpmadd52luq zmm6, zmm5, ZMMWORD PTR [edx+8128] # AVX512IFMA Disp8 + vpmadd52luq zmm6, zmm5, ZMMWORD PTR [edx+8192] # AVX512IFMA + vpmadd52luq zmm6, zmm5, ZMMWORD PTR [edx-8192] # AVX512IFMA Disp8 + vpmadd52luq zmm6, zmm5, ZMMWORD PTR [edx-8256] # AVX512IFMA + vpmadd52luq zmm6, zmm5, [edx+1016]{1to8} # AVX512IFMA Disp8 + vpmadd52luq zmm6, zmm5, [edx+1024]{1to8} # AVX512IFMA + vpmadd52luq zmm6, zmm5, [edx-1024]{1to8} # AVX512IFMA Disp8 + vpmadd52luq zmm6, zmm5, [edx-1032]{1to8} # AVX512IFMA + vpmadd52huq zmm6, zmm5, zmm4 # AVX512IFMA + vpmadd52huq zmm6{k7}, zmm5, zmm4 # AVX512IFMA + vpmadd52huq zmm6{k7}{z}, zmm5, zmm4 # AVX512IFMA + vpmadd52huq zmm6, zmm5, ZMMWORD PTR [ecx] # AVX512IFMA + vpmadd52huq zmm6, zmm5, ZMMWORD PTR [esp+esi*8-123456] # AVX512IFMA + vpmadd52huq zmm6, zmm5, [eax]{1to8} # AVX512IFMA + vpmadd52huq zmm6, zmm5, ZMMWORD PTR [edx+8128] # AVX512IFMA Disp8 + vpmadd52huq zmm6, zmm5, ZMMWORD PTR [edx+8192] # AVX512IFMA + vpmadd52huq zmm6, zmm5, ZMMWORD PTR [edx-8192] # AVX512IFMA Disp8 + vpmadd52huq zmm6, zmm5, ZMMWORD PTR [edx-8256] # AVX512IFMA + vpmadd52huq zmm6, zmm5, [edx+1016]{1to8} # AVX512IFMA Disp8 + vpmadd52huq zmm6, zmm5, [edx+1024]{1to8} # AVX512IFMA + vpmadd52huq zmm6, zmm5, [edx-1024]{1to8} # AVX512IFMA Disp8 + vpmadd52huq zmm6, zmm5, [edx-1032]{1to8} # AVX512IFMA diff --git a/gas/testsuite/gas/i386/avx512ifma_vl-intel.d b/gas/testsuite/gas/i386/avx512ifma_vl-intel.d new file mode 100644 index 0000000..7fed4a4 --- /dev/null +++ b/gas/testsuite/gas/i386/avx512ifma_vl-intel.d @@ -0,0 +1,116 @@ +#as: +#objdump: -dw -Mintel +#name: i386 AVX512IFMA/VL insns (Intel disassembly) +#source: avx512ifma_vl.s + +.*: +file format .* + + +Disassembly of section \.text: + +00000000 <_start>: +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 f4[ ]*vpmadd52luq xmm6\{k7\},xmm5,xmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f b4 f4[ ]*vpmadd52luq xmm6\{k7\}\{z\},xmm5,xmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 31[ ]*vpmadd52luq xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8-0x1e240\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 30[ ]*vpmadd52luq xmm6\{k7\},xmm5,QWORD PTR \[eax\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 72 7f[ ]*vpmadd52luq xmm6\{k7\},xmm5,XMMWORD PTR \[edx\+0x7f0\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b2 00 08 00 00[ ]*vpmadd52luq xmm6\{k7\},xmm5,XMMWORD PTR \[edx\+0x800\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 72 80[ ]*vpmadd52luq xmm6\{k7\},xmm5,XMMWORD PTR \[edx-0x800\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b2 f0 f7 ff ff[ ]*vpmadd52luq xmm6\{k7\},xmm5,XMMWORD PTR \[edx-0x810\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 72 7f[ ]*vpmadd52luq xmm6\{k7\},xmm5,QWORD PTR \[edx\+0x3f8\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 b2 00 04 00 00[ ]*vpmadd52luq xmm6\{k7\},xmm5,QWORD PTR \[edx\+0x400\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 72 80[ ]*vpmadd52luq xmm6\{k7\},xmm5,QWORD PTR \[edx-0x400\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 b2 f8 fb ff ff[ ]*vpmadd52luq xmm6\{k7\},xmm5,QWORD PTR \[edx-0x408\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 f4[ ]*vpmadd52luq ymm6\{k7\},ymm5,ymm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 af b4 f4[ ]*vpmadd52luq ymm6\{k7\}\{z\},ymm5,ymm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 31[ ]*vpmadd52luq ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8-0x1e240\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 30[ ]*vpmadd52luq ymm6\{k7\},ymm5,QWORD PTR \[eax\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 72 7f[ ]*vpmadd52luq ymm6\{k7\},ymm5,YMMWORD PTR \[edx\+0xfe0\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b2 00 10 00 00[ ]*vpmadd52luq ymm6\{k7\},ymm5,YMMWORD PTR \[edx\+0x1000\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 72 80[ ]*vpmadd52luq ymm6\{k7\},ymm5,YMMWORD PTR \[edx-0x1000\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b2 e0 ef ff ff[ ]*vpmadd52luq ymm6\{k7\},ymm5,YMMWORD PTR \[edx-0x1020\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 72 7f[ ]*vpmadd52luq ymm6\{k7\},ymm5,QWORD PTR \[edx\+0x3f8\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 b2 00 04 00 00[ ]*vpmadd52luq ymm6\{k7\},ymm5,QWORD PTR \[edx\+0x400\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 72 80[ ]*vpmadd52luq ymm6\{k7\},ymm5,QWORD PTR \[edx-0x400\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 b2 f8 fb ff ff[ ]*vpmadd52luq ymm6\{k7\},ymm5,QWORD PTR \[edx-0x408\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 f4[ ]*vpmadd52huq xmm6\{k7\},xmm5,xmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f b5 f4[ ]*vpmadd52huq xmm6\{k7\}\{z\},xmm5,xmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 31[ ]*vpmadd52huq xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8-0x1e240\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 30[ ]*vpmadd52huq xmm6\{k7\},xmm5,QWORD PTR \[eax\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 72 7f[ ]*vpmadd52huq xmm6\{k7\},xmm5,XMMWORD PTR \[edx\+0x7f0\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b2 00 08 00 00[ ]*vpmadd52huq xmm6\{k7\},xmm5,XMMWORD PTR \[edx\+0x800\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 72 80[ ]*vpmadd52huq xmm6\{k7\},xmm5,XMMWORD PTR \[edx-0x800\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b2 f0 f7 ff ff[ ]*vpmadd52huq xmm6\{k7\},xmm5,XMMWORD PTR \[edx-0x810\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 72 7f[ ]*vpmadd52huq xmm6\{k7\},xmm5,QWORD PTR \[edx\+0x3f8\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 b2 00 04 00 00[ ]*vpmadd52huq xmm6\{k7\},xmm5,QWORD PTR \[edx\+0x400\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 72 80[ ]*vpmadd52huq xmm6\{k7\},xmm5,QWORD PTR \[edx-0x400\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 b2 f8 fb ff ff[ ]*vpmadd52huq xmm6\{k7\},xmm5,QWORD PTR \[edx-0x408\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 f4[ ]*vpmadd52huq ymm6\{k7\},ymm5,ymm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 af b5 f4[ ]*vpmadd52huq ymm6\{k7\}\{z\},ymm5,ymm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 31[ ]*vpmadd52huq ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8-0x1e240\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 30[ ]*vpmadd52huq ymm6\{k7\},ymm5,QWORD PTR \[eax\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 72 7f[ ]*vpmadd52huq ymm6\{k7\},ymm5,YMMWORD PTR \[edx\+0xfe0\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b2 00 10 00 00[ ]*vpmadd52huq ymm6\{k7\},ymm5,YMMWORD PTR \[edx\+0x1000\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 72 80[ ]*vpmadd52huq ymm6\{k7\},ymm5,YMMWORD PTR \[edx-0x1000\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b2 e0 ef ff ff[ ]*vpmadd52huq ymm6\{k7\},ymm5,YMMWORD PTR \[edx-0x1020\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 72 7f[ ]*vpmadd52huq ymm6\{k7\},ymm5,QWORD PTR \[edx\+0x3f8\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 b2 00 04 00 00[ ]*vpmadd52huq ymm6\{k7\},ymm5,QWORD PTR \[edx\+0x400\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 72 80[ ]*vpmadd52huq ymm6\{k7\},ymm5,QWORD PTR \[edx-0x400\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 b2 f8 fb ff ff[ ]*vpmadd52huq ymm6\{k7\},ymm5,QWORD PTR \[edx-0x408\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 f4[ ]*vpmadd52luq xmm6\{k7\},xmm5,xmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f b4 f4[ ]*vpmadd52luq xmm6\{k7\}\{z\},xmm5,xmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 31[ ]*vpmadd52luq xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8-0x1e240\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 30[ ]*vpmadd52luq xmm6\{k7\},xmm5,QWORD PTR \[eax\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 72 7f[ ]*vpmadd52luq xmm6\{k7\},xmm5,XMMWORD PTR \[edx\+0x7f0\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b2 00 08 00 00[ ]*vpmadd52luq xmm6\{k7\},xmm5,XMMWORD PTR \[edx\+0x800\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 72 80[ ]*vpmadd52luq xmm6\{k7\},xmm5,XMMWORD PTR \[edx-0x800\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b2 f0 f7 ff ff[ ]*vpmadd52luq xmm6\{k7\},xmm5,XMMWORD PTR \[edx-0x810\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 72 7f[ ]*vpmadd52luq xmm6\{k7\},xmm5,QWORD PTR \[edx\+0x3f8\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 b2 00 04 00 00[ ]*vpmadd52luq xmm6\{k7\},xmm5,QWORD PTR \[edx\+0x400\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 72 80[ ]*vpmadd52luq xmm6\{k7\},xmm5,QWORD PTR \[edx-0x400\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 b2 f8 fb ff ff[ ]*vpmadd52luq xmm6\{k7\},xmm5,QWORD PTR \[edx-0x408\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 f4[ ]*vpmadd52luq ymm6\{k7\},ymm5,ymm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 af b4 f4[ ]*vpmadd52luq ymm6\{k7\}\{z\},ymm5,ymm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 31[ ]*vpmadd52luq ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8-0x1e240\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 30[ ]*vpmadd52luq ymm6\{k7\},ymm5,QWORD PTR \[eax\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 72 7f[ ]*vpmadd52luq ymm6\{k7\},ymm5,YMMWORD PTR \[edx\+0xfe0\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b2 00 10 00 00[ ]*vpmadd52luq ymm6\{k7\},ymm5,YMMWORD PTR \[edx\+0x1000\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 72 80[ ]*vpmadd52luq ymm6\{k7\},ymm5,YMMWORD PTR \[edx-0x1000\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b2 e0 ef ff ff[ ]*vpmadd52luq ymm6\{k7\},ymm5,YMMWORD PTR \[edx-0x1020\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 72 7f[ ]*vpmadd52luq ymm6\{k7\},ymm5,QWORD PTR \[edx\+0x3f8\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 b2 00 04 00 00[ ]*vpmadd52luq ymm6\{k7\},ymm5,QWORD PTR \[edx\+0x400\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 72 80[ ]*vpmadd52luq ymm6\{k7\},ymm5,QWORD PTR \[edx-0x400\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 b2 f8 fb ff ff[ ]*vpmadd52luq ymm6\{k7\},ymm5,QWORD PTR \[edx-0x408\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 f4[ ]*vpmadd52huq xmm6\{k7\},xmm5,xmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f b5 f4[ ]*vpmadd52huq xmm6\{k7\}\{z\},xmm5,xmm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 31[ ]*vpmadd52huq xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8-0x1e240\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 30[ ]*vpmadd52huq xmm6\{k7\},xmm5,QWORD PTR \[eax\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 72 7f[ ]*vpmadd52huq xmm6\{k7\},xmm5,XMMWORD PTR \[edx\+0x7f0\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b2 00 08 00 00[ ]*vpmadd52huq xmm6\{k7\},xmm5,XMMWORD PTR \[edx\+0x800\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 72 80[ ]*vpmadd52huq xmm6\{k7\},xmm5,XMMWORD PTR \[edx-0x800\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b2 f0 f7 ff ff[ ]*vpmadd52huq xmm6\{k7\},xmm5,XMMWORD PTR \[edx-0x810\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 72 7f[ ]*vpmadd52huq xmm6\{k7\},xmm5,QWORD PTR \[edx\+0x3f8\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 b2 00 04 00 00[ ]*vpmadd52huq xmm6\{k7\},xmm5,QWORD PTR \[edx\+0x400\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 72 80[ ]*vpmadd52huq xmm6\{k7\},xmm5,QWORD PTR \[edx-0x400\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 b2 f8 fb ff ff[ ]*vpmadd52huq xmm6\{k7\},xmm5,QWORD PTR \[edx-0x408\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 f4[ ]*vpmadd52huq ymm6\{k7\},ymm5,ymm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 af b5 f4[ ]*vpmadd52huq ymm6\{k7\}\{z\},ymm5,ymm4 +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 31[ ]*vpmadd52huq ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8-0x1e240\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 30[ ]*vpmadd52huq ymm6\{k7\},ymm5,QWORD PTR \[eax\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 72 7f[ ]*vpmadd52huq ymm6\{k7\},ymm5,YMMWORD PTR \[edx\+0xfe0\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b2 00 10 00 00[ ]*vpmadd52huq ymm6\{k7\},ymm5,YMMWORD PTR \[edx\+0x1000\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 72 80[ ]*vpmadd52huq ymm6\{k7\},ymm5,YMMWORD PTR \[edx-0x1000\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b2 e0 ef ff ff[ ]*vpmadd52huq ymm6\{k7\},ymm5,YMMWORD PTR \[edx-0x1020\] +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 72 7f[ ]*vpmadd52huq ymm6\{k7\},ymm5,QWORD PTR \[edx\+0x3f8\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 b2 00 04 00 00[ ]*vpmadd52huq ymm6\{k7\},ymm5,QWORD PTR \[edx\+0x400\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 72 80[ ]*vpmadd52huq ymm6\{k7\},ymm5,QWORD PTR \[edx-0x400\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 b2 f8 fb ff ff[ ]*vpmadd52huq ymm6\{k7\},ymm5,QWORD PTR \[edx-0x408\]\{1to4\} +#pass diff --git a/gas/testsuite/gas/i386/avx512ifma_vl.d b/gas/testsuite/gas/i386/avx512ifma_vl.d new file mode 100644 index 0000000..0c16c00 --- /dev/null +++ b/gas/testsuite/gas/i386/avx512ifma_vl.d @@ -0,0 +1,116 @@ +#as: +#objdump: -dw +#name: i386 AVX512IFMA/VL insns +#source: avx512ifma_vl.s + +.*: +file format .* + + +Disassembly of section \.text: + +00000000 <_start>: +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 f4[ ]*vpmadd52luq %xmm4,%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f b4 f4[ ]*vpmadd52luq %xmm4,%xmm5,%xmm6\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 31[ ]*vpmadd52luq \(%ecx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 30[ ]*vpmadd52luq \(%eax\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 72 7f[ ]*vpmadd52luq 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b2 00 08 00 00[ ]*vpmadd52luq 0x800\(%edx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 72 80[ ]*vpmadd52luq -0x800\(%edx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b2 f0 f7 ff ff[ ]*vpmadd52luq -0x810\(%edx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 72 7f[ ]*vpmadd52luq 0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 72 80[ ]*vpmadd52luq -0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 f4[ ]*vpmadd52luq %ymm4,%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 af b4 f4[ ]*vpmadd52luq %ymm4,%ymm5,%ymm6\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 31[ ]*vpmadd52luq \(%ecx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 30[ ]*vpmadd52luq \(%eax\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 72 7f[ ]*vpmadd52luq 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b2 00 10 00 00[ ]*vpmadd52luq 0x1000\(%edx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 72 80[ ]*vpmadd52luq -0x1000\(%edx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b2 e0 ef ff ff[ ]*vpmadd52luq -0x1020\(%edx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 72 7f[ ]*vpmadd52luq 0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 72 80[ ]*vpmadd52luq -0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 f4[ ]*vpmadd52huq %xmm4,%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f b5 f4[ ]*vpmadd52huq %xmm4,%xmm5,%xmm6\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 31[ ]*vpmadd52huq \(%ecx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 30[ ]*vpmadd52huq \(%eax\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 72 7f[ ]*vpmadd52huq 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b2 00 08 00 00[ ]*vpmadd52huq 0x800\(%edx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 72 80[ ]*vpmadd52huq -0x800\(%edx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b2 f0 f7 ff ff[ ]*vpmadd52huq -0x810\(%edx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 72 7f[ ]*vpmadd52huq 0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 72 80[ ]*vpmadd52huq -0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 f4[ ]*vpmadd52huq %ymm4,%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 af b5 f4[ ]*vpmadd52huq %ymm4,%ymm5,%ymm6\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 31[ ]*vpmadd52huq \(%ecx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 30[ ]*vpmadd52huq \(%eax\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 72 7f[ ]*vpmadd52huq 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b2 00 10 00 00[ ]*vpmadd52huq 0x1000\(%edx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 72 80[ ]*vpmadd52huq -0x1000\(%edx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b2 e0 ef ff ff[ ]*vpmadd52huq -0x1020\(%edx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 72 7f[ ]*vpmadd52huq 0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 72 80[ ]*vpmadd52huq -0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 f4[ ]*vpmadd52luq %xmm4,%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f b4 f4[ ]*vpmadd52luq %xmm4,%xmm5,%xmm6\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 31[ ]*vpmadd52luq \(%ecx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 30[ ]*vpmadd52luq \(%eax\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 72 7f[ ]*vpmadd52luq 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b2 00 08 00 00[ ]*vpmadd52luq 0x800\(%edx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 72 80[ ]*vpmadd52luq -0x800\(%edx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b4 b2 f0 f7 ff ff[ ]*vpmadd52luq -0x810\(%edx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 72 7f[ ]*vpmadd52luq 0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 72 80[ ]*vpmadd52luq -0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 f4[ ]*vpmadd52luq %ymm4,%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 af b4 f4[ ]*vpmadd52luq %ymm4,%ymm5,%ymm6\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 31[ ]*vpmadd52luq \(%ecx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b4 f4 c0 1d fe ff[ ]*vpmadd52luq -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 30[ ]*vpmadd52luq \(%eax\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 72 7f[ ]*vpmadd52luq 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b2 00 10 00 00[ ]*vpmadd52luq 0x1000\(%edx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 72 80[ ]*vpmadd52luq -0x1000\(%edx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b4 b2 e0 ef ff ff[ ]*vpmadd52luq -0x1020\(%edx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 72 7f[ ]*vpmadd52luq 0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 72 80[ ]*vpmadd52luq -0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 f4[ ]*vpmadd52huq %xmm4,%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 8f b5 f4[ ]*vpmadd52huq %xmm4,%xmm5,%xmm6\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 31[ ]*vpmadd52huq \(%ecx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq -0x1e240\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 30[ ]*vpmadd52huq \(%eax\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 72 7f[ ]*vpmadd52huq 0x7f0\(%edx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b2 00 08 00 00[ ]*vpmadd52huq 0x800\(%edx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 72 80[ ]*vpmadd52huq -0x800\(%edx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 0f b5 b2 f0 f7 ff ff[ ]*vpmadd52huq -0x810\(%edx\),%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 72 7f[ ]*vpmadd52huq 0x3f8\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 72 80[ ]*vpmadd52huq -0x400\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 1f b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%edx\)\{1to2\},%xmm5,%xmm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 f4[ ]*vpmadd52huq %ymm4,%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 af b5 f4[ ]*vpmadd52huq %ymm4,%ymm5,%ymm6\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 31[ ]*vpmadd52huq \(%ecx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b4 f4 c0 1d fe ff[ ]*vpmadd52huq -0x1e240\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 30[ ]*vpmadd52huq \(%eax\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 72 7f[ ]*vpmadd52huq 0xfe0\(%edx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b2 00 10 00 00[ ]*vpmadd52huq 0x1000\(%edx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 72 80[ ]*vpmadd52huq -0x1000\(%edx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 2f b5 b2 e0 ef ff ff[ ]*vpmadd52huq -0x1020\(%edx\),%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 72 7f[ ]*vpmadd52huq 0x3f8\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 72 80[ ]*vpmadd52huq -0x400\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f2 d5 3f b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%edx\)\{1to4\},%ymm5,%ymm6\{%k7\} +#pass diff --git a/gas/testsuite/gas/i386/avx512ifma_vl.s b/gas/testsuite/gas/i386/avx512ifma_vl.s new file mode 100644 index 0000000..e3dd8d7 --- /dev/null +++ b/gas/testsuite/gas/i386/avx512ifma_vl.s @@ -0,0 +1,111 @@ +# Check 32bit AVX512{IFMA,VL} instructions + + .allow_index_reg + .text +_start: + vpmadd52luq %xmm4, %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} + vpmadd52luq %xmm4, %xmm5, %xmm6{%k7}{z} # AVX512{IFMA,VL} + vpmadd52luq (%ecx), %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} + vpmadd52luq -123456(%esp,%esi,8), %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} + vpmadd52luq (%eax){1to2}, %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} + vpmadd52luq 2032(%edx), %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} Disp8 + vpmadd52luq 2048(%edx), %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} + vpmadd52luq -2048(%edx), %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} Disp8 + vpmadd52luq -2064(%edx), %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} + vpmadd52luq 1016(%edx){1to2}, %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} Disp8 + vpmadd52luq 1024(%edx){1to2}, %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} + vpmadd52luq -1024(%edx){1to2}, %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} Disp8 + vpmadd52luq -1032(%edx){1to2}, %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} + vpmadd52luq %ymm4, %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} + vpmadd52luq %ymm4, %ymm5, %ymm6{%k7}{z} # AVX512{IFMA,VL} + vpmadd52luq (%ecx), %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} + vpmadd52luq -123456(%esp,%esi,8), %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} + vpmadd52luq (%eax){1to4}, %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} + vpmadd52luq 4064(%edx), %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} Disp8 + vpmadd52luq 4096(%edx), %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} + vpmadd52luq -4096(%edx), %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} Disp8 + vpmadd52luq -4128(%edx), %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} + vpmadd52luq 1016(%edx){1to4}, %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} Disp8 + vpmadd52luq 1024(%edx){1to4}, %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} + vpmadd52luq -1024(%edx){1to4}, %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} Disp8 + vpmadd52luq -1032(%edx){1to4}, %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} + vpmadd52huq %xmm4, %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} + vpmadd52huq %xmm4, %xmm5, %xmm6{%k7}{z} # AVX512{IFMA,VL} + vpmadd52huq (%ecx), %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} + vpmadd52huq -123456(%esp,%esi,8), %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} + vpmadd52huq (%eax){1to2}, %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} + vpmadd52huq 2032(%edx), %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} Disp8 + vpmadd52huq 2048(%edx), %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} + vpmadd52huq -2048(%edx), %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} Disp8 + vpmadd52huq -2064(%edx), %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} + vpmadd52huq 1016(%edx){1to2}, %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} Disp8 + vpmadd52huq 1024(%edx){1to2}, %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} + vpmadd52huq -1024(%edx){1to2}, %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} Disp8 + vpmadd52huq -1032(%edx){1to2}, %xmm5, %xmm6{%k7} # AVX512{IFMA,VL} + vpmadd52huq %ymm4, %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} + vpmadd52huq %ymm4, %ymm5, %ymm6{%k7}{z} # AVX512{IFMA,VL} + vpmadd52huq (%ecx), %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} + vpmadd52huq -123456(%esp,%esi,8), %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} + vpmadd52huq (%eax){1to4}, %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} + vpmadd52huq 4064(%edx), %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} Disp8 + vpmadd52huq 4096(%edx), %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} + vpmadd52huq -4096(%edx), %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} Disp8 + vpmadd52huq -4128(%edx), %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} + vpmadd52huq 1016(%edx){1to4}, %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} Disp8 + vpmadd52huq 1024(%edx){1to4}, %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} + vpmadd52huq -1024(%edx){1to4}, %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} Disp8 + vpmadd52huq -1032(%edx){1to4}, %ymm5, %ymm6{%k7} # AVX512{IFMA,VL} + + .intel_syntax noprefix + vpmadd52luq xmm6{k7}, xmm5, xmm4 # AVX512{IFMA,VL} + vpmadd52luq xmm6{k7}{z}, xmm5, xmm4 # AVX512{IFMA,VL} + vpmadd52luq xmm6{k7}, xmm5, XMMWORD PTR [ecx] # AVX512{IFMA,VL} + vpmadd52luq xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8-123456] # AVX512{IFMA,VL} + vpmadd52luq xmm6{k7}, xmm5, [eax]{1to2} # AVX512{IFMA,VL} + vpmadd52luq xmm6{k7}, xmm5, XMMWORD PTR [edx+2032] # AVX512{IFMA,VL} Disp8 + vpmadd52luq xmm6{k7}, xmm5, XMMWORD PTR [edx+2048] # AVX512{IFMA,VL} + vpmadd52luq xmm6{k7}, xmm5, XMMWORD PTR [edx-2048] # AVX512{IFMA,VL} Disp8 + vpmadd52luq xmm6{k7}, xmm5, XMMWORD PTR [edx-2064] # AVX512{IFMA,VL} + vpmadd52luq xmm6{k7}, xmm5, [edx+1016]{1to2} # AVX512{IFMA,VL} Disp8 + vpmadd52luq xmm6{k7}, xmm5, [edx+1024]{1to2} # AVX512{IFMA,VL} + vpmadd52luq xmm6{k7}, xmm5, [edx-1024]{1to2} # AVX512{IFMA,VL} Disp8 + vpmadd52luq xmm6{k7}, xmm5, [edx-1032]{1to2} # AVX512{IFMA,VL} + vpmadd52luq ymm6{k7}, ymm5, ymm4 # AVX512{IFMA,VL} + vpmadd52luq ymm6{k7}{z}, ymm5, ymm4 # AVX512{IFMA,VL} + vpmadd52luq ymm6{k7}, ymm5, YMMWORD PTR [ecx] # AVX512{IFMA,VL} + vpmadd52luq ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8-123456] # AVX512{IFMA,VL} + vpmadd52luq ymm6{k7}, ymm5, [eax]{1to4} # AVX512{IFMA,VL} + vpmadd52luq ymm6{k7}, ymm5, YMMWORD PTR [edx+4064] # AVX512{IFMA,VL} Disp8 + vpmadd52luq ymm6{k7}, ymm5, YMMWORD PTR [edx+4096] # AVX512{IFMA,VL} + vpmadd52luq ymm6{k7}, ymm5, YMMWORD PTR [edx-4096] # AVX512{IFMA,VL} Disp8 + vpmadd52luq ymm6{k7}, ymm5, YMMWORD PTR [edx-4128] # AVX512{IFMA,VL} + vpmadd52luq ymm6{k7}, ymm5, [edx+1016]{1to4} # AVX512{IFMA,VL} Disp8 + vpmadd52luq ymm6{k7}, ymm5, [edx+1024]{1to4} # AVX512{IFMA,VL} + vpmadd52luq ymm6{k7}, ymm5, [edx-1024]{1to4} # AVX512{IFMA,VL} Disp8 + vpmadd52luq ymm6{k7}, ymm5, [edx-1032]{1to4} # AVX512{IFMA,VL} + vpmadd52huq xmm6{k7}, xmm5, xmm4 # AVX512{IFMA,VL} + vpmadd52huq xmm6{k7}{z}, xmm5, xmm4 # AVX512{IFMA,VL} + vpmadd52huq xmm6{k7}, xmm5, XMMWORD PTR [ecx] # AVX512{IFMA,VL} + vpmadd52huq xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8-123456] # AVX512{IFMA,VL} + vpmadd52huq xmm6{k7}, xmm5, [eax]{1to2} # AVX512{IFMA,VL} + vpmadd52huq xmm6{k7}, xmm5, XMMWORD PTR [edx+2032] # AVX512{IFMA,VL} Disp8 + vpmadd52huq xmm6{k7}, xmm5, XMMWORD PTR [edx+2048] # AVX512{IFMA,VL} + vpmadd52huq xmm6{k7}, xmm5, XMMWORD PTR [edx-2048] # AVX512{IFMA,VL} Disp8 + vpmadd52huq xmm6{k7}, xmm5, XMMWORD PTR [edx-2064] # AVX512{IFMA,VL} + vpmadd52huq xmm6{k7}, xmm5, [edx+1016]{1to2} # AVX512{IFMA,VL} Disp8 + vpmadd52huq xmm6{k7}, xmm5, [edx+1024]{1to2} # AVX512{IFMA,VL} + vpmadd52huq xmm6{k7}, xmm5, [edx-1024]{1to2} # AVX512{IFMA,VL} Disp8 + vpmadd52huq xmm6{k7}, xmm5, [edx-1032]{1to2} # AVX512{IFMA,VL} + vpmadd52huq ymm6{k7}, ymm5, ymm4 # AVX512{IFMA,VL} + vpmadd52huq ymm6{k7}{z}, ymm5, ymm4 # AVX512{IFMA,VL} + vpmadd52huq ymm6{k7}, ymm5, YMMWORD PTR [ecx] # AVX512{IFMA,VL} + vpmadd52huq ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8-123456] # AVX512{IFMA,VL} + vpmadd52huq ymm6{k7}, ymm5, [eax]{1to4} # AVX512{IFMA,VL} + vpmadd52huq ymm6{k7}, ymm5, YMMWORD PTR [edx+4064] # AVX512{IFMA,VL} Disp8 + vpmadd52huq ymm6{k7}, ymm5, YMMWORD PTR [edx+4096] # AVX512{IFMA,VL} + vpmadd52huq ymm6{k7}, ymm5, YMMWORD PTR [edx-4096] # AVX512{IFMA,VL} Disp8 + vpmadd52huq ymm6{k7}, ymm5, YMMWORD PTR [edx-4128] # AVX512{IFMA,VL} + vpmadd52huq ymm6{k7}, ymm5, [edx+1016]{1to4} # AVX512{IFMA,VL} Disp8 + vpmadd52huq ymm6{k7}, ymm5, [edx+1024]{1to4} # AVX512{IFMA,VL} + vpmadd52huq ymm6{k7}, ymm5, [edx-1024]{1to4} # AVX512{IFMA,VL} Disp8 + vpmadd52huq ymm6{k7}, ymm5, [edx-1032]{1to4} # AVX512{IFMA,VL} diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index 5914e5c..defe9fc 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -334,6 +334,10 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] run_dump_test "clwb-intel" run_dump_test "pcommit" run_dump_test "pcommit-intel" + run_dump_test "avx512ifma" + run_dump_test "avx512ifma-intel" + run_dump_test "avx512ifma_vl" + run_dump_test "avx512ifma_vl-intel" run_dump_test "disassem" # These tests require support for 8 and 16 bit relocs, @@ -689,6 +693,10 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_dump_test "x86-64-clwb-intel" run_dump_test "x86-64-pcommit" run_dump_test "x86-64-pcommit-intel" + run_dump_test "x86-64-avx512ifma" + run_dump_test "x86-64-avx512ifma-intel" + run_dump_test "x86-64-avx512ifma_vl" + run_dump_test "x86-64-avx512ifma_vl-intel" if { ![istarget "*-*-aix*"] && ![istarget "*-*-beos*"] diff --git a/gas/testsuite/gas/i386/x86-64-avx512ifma-intel.d b/gas/testsuite/gas/i386/x86-64-avx512ifma-intel.d new file mode 100644 index 0000000..95fde43 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx512ifma-intel.d @@ -0,0 +1,68 @@ +#as: +#objdump: -dw -Mintel +#name: x86_64 AVX512IFMA insns (Intel disassembly) +#source: x86-64-avx512ifma.s + +.*: +file format .* + + +Disassembly of section \.text: + +0+ <_start>: +[ ]*[a-f0-9]+:[ ]*62 02 95 40 b4 f4[ ]*vpmadd52luq zmm30,zmm29,zmm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 47 b4 f4[ ]*vpmadd52luq zmm30\{k7\},zmm29,zmm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 c7 b4 f4[ ]*vpmadd52luq zmm30\{k7\}\{z\},zmm29,zmm28 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 31[ ]*vpmadd52luq zmm30,zmm29,ZMMWORD PTR \[rcx\] +[ ]*[a-f0-9]+:[ ]*62 22 95 40 b4 b4 f0 23 01 00 00[ ]*vpmadd52luq zmm30,zmm29,ZMMWORD PTR \[rax\+r14\*8\+0x123\] +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 31[ ]*vpmadd52luq zmm30,zmm29,QWORD PTR \[rcx\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 72 7f[ ]*vpmadd52luq zmm30,zmm29,ZMMWORD PTR \[rdx\+0x1fc0\] +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 b2 00 20 00 00[ ]*vpmadd52luq zmm30,zmm29,ZMMWORD PTR \[rdx\+0x2000\] +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 72 80[ ]*vpmadd52luq zmm30,zmm29,ZMMWORD PTR \[rdx-0x2000\] +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 b2 c0 df ff ff[ ]*vpmadd52luq zmm30,zmm29,ZMMWORD PTR \[rdx-0x2040\] +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 72 7f[ ]*vpmadd52luq zmm30,zmm29,QWORD PTR \[rdx\+0x3f8\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 b2 00 04 00 00[ ]*vpmadd52luq zmm30,zmm29,QWORD PTR \[rdx\+0x400\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 72 80[ ]*vpmadd52luq zmm30,zmm29,QWORD PTR \[rdx-0x400\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 b2 f8 fb ff ff[ ]*vpmadd52luq zmm30,zmm29,QWORD PTR \[rdx-0x408\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 02 95 40 b5 f4[ ]*vpmadd52huq zmm30,zmm29,zmm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 47 b5 f4[ ]*vpmadd52huq zmm30\{k7\},zmm29,zmm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 c7 b5 f4[ ]*vpmadd52huq zmm30\{k7\}\{z\},zmm29,zmm28 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 31[ ]*vpmadd52huq zmm30,zmm29,ZMMWORD PTR \[rcx\] +[ ]*[a-f0-9]+:[ ]*62 22 95 40 b5 b4 f0 23 01 00 00[ ]*vpmadd52huq zmm30,zmm29,ZMMWORD PTR \[rax\+r14\*8\+0x123\] +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 31[ ]*vpmadd52huq zmm30,zmm29,QWORD PTR \[rcx\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 72 7f[ ]*vpmadd52huq zmm30,zmm29,ZMMWORD PTR \[rdx\+0x1fc0\] +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 b2 00 20 00 00[ ]*vpmadd52huq zmm30,zmm29,ZMMWORD PTR \[rdx\+0x2000\] +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 72 80[ ]*vpmadd52huq zmm30,zmm29,ZMMWORD PTR \[rdx-0x2000\] +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 b2 c0 df ff ff[ ]*vpmadd52huq zmm30,zmm29,ZMMWORD PTR \[rdx-0x2040\] +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 72 7f[ ]*vpmadd52huq zmm30,zmm29,QWORD PTR \[rdx\+0x3f8\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 b2 00 04 00 00[ ]*vpmadd52huq zmm30,zmm29,QWORD PTR \[rdx\+0x400\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 72 80[ ]*vpmadd52huq zmm30,zmm29,QWORD PTR \[rdx-0x400\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 b2 f8 fb ff ff[ ]*vpmadd52huq zmm30,zmm29,QWORD PTR \[rdx-0x408\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 02 95 40 b4 f4[ ]*vpmadd52luq zmm30,zmm29,zmm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 47 b4 f4[ ]*vpmadd52luq zmm30\{k7\},zmm29,zmm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 c7 b4 f4[ ]*vpmadd52luq zmm30\{k7\}\{z\},zmm29,zmm28 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 31[ ]*vpmadd52luq zmm30,zmm29,ZMMWORD PTR \[rcx\] +[ ]*[a-f0-9]+:[ ]*62 22 95 40 b4 b4 f0 34 12 00 00[ ]*vpmadd52luq zmm30,zmm29,ZMMWORD PTR \[rax\+r14\*8\+0x1234\] +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 31[ ]*vpmadd52luq zmm30,zmm29,QWORD PTR \[rcx\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 72 7f[ ]*vpmadd52luq zmm30,zmm29,ZMMWORD PTR \[rdx\+0x1fc0\] +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 b2 00 20 00 00[ ]*vpmadd52luq zmm30,zmm29,ZMMWORD PTR \[rdx\+0x2000\] +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 72 80[ ]*vpmadd52luq zmm30,zmm29,ZMMWORD PTR \[rdx-0x2000\] +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 b2 c0 df ff ff[ ]*vpmadd52luq zmm30,zmm29,ZMMWORD PTR \[rdx-0x2040\] +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 72 7f[ ]*vpmadd52luq zmm30,zmm29,QWORD PTR \[rdx\+0x3f8\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 b2 00 04 00 00[ ]*vpmadd52luq zmm30,zmm29,QWORD PTR \[rdx\+0x400\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 72 80[ ]*vpmadd52luq zmm30,zmm29,QWORD PTR \[rdx-0x400\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 b2 f8 fb ff ff[ ]*vpmadd52luq zmm30,zmm29,QWORD PTR \[rdx-0x408\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 02 95 40 b5 f4[ ]*vpmadd52huq zmm30,zmm29,zmm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 47 b5 f4[ ]*vpmadd52huq zmm30\{k7\},zmm29,zmm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 c7 b5 f4[ ]*vpmadd52huq zmm30\{k7\}\{z\},zmm29,zmm28 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 31[ ]*vpmadd52huq zmm30,zmm29,ZMMWORD PTR \[rcx\] +[ ]*[a-f0-9]+:[ ]*62 22 95 40 b5 b4 f0 34 12 00 00[ ]*vpmadd52huq zmm30,zmm29,ZMMWORD PTR \[rax\+r14\*8\+0x1234\] +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 31[ ]*vpmadd52huq zmm30,zmm29,QWORD PTR \[rcx\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 72 7f[ ]*vpmadd52huq zmm30,zmm29,ZMMWORD PTR \[rdx\+0x1fc0\] +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 b2 00 20 00 00[ ]*vpmadd52huq zmm30,zmm29,ZMMWORD PTR \[rdx\+0x2000\] +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 72 80[ ]*vpmadd52huq zmm30,zmm29,ZMMWORD PTR \[rdx-0x2000\] +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 b2 c0 df ff ff[ ]*vpmadd52huq zmm30,zmm29,ZMMWORD PTR \[rdx-0x2040\] +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 72 7f[ ]*vpmadd52huq zmm30,zmm29,QWORD PTR \[rdx\+0x3f8\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 b2 00 04 00 00[ ]*vpmadd52huq zmm30,zmm29,QWORD PTR \[rdx\+0x400\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 72 80[ ]*vpmadd52huq zmm30,zmm29,QWORD PTR \[rdx-0x400\]\{1to8\} +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 b2 f8 fb ff ff[ ]*vpmadd52huq zmm30,zmm29,QWORD PTR \[rdx-0x408\]\{1to8\} +#pass diff --git a/gas/testsuite/gas/i386/x86-64-avx512ifma.d b/gas/testsuite/gas/i386/x86-64-avx512ifma.d new file mode 100644 index 0000000..14b7b0a --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx512ifma.d @@ -0,0 +1,68 @@ +#as: +#objdump: -dw +#name: x86_64 AVX512IFMA insns +#source: x86-64-avx512ifma.s + +.*: +file format .* + + +Disassembly of section \.text: + +0+ <_start>: +[ ]*[a-f0-9]+:[ ]*62 02 95 40 b4 f4[ ]*vpmadd52luq %zmm28,%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 47 b4 f4[ ]*vpmadd52luq %zmm28,%zmm29,%zmm30\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 02 95 c7 b4 f4[ ]*vpmadd52luq %zmm28,%zmm29,%zmm30\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 31[ ]*vpmadd52luq \(%rcx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 22 95 40 b4 b4 f0 23 01 00 00[ ]*vpmadd52luq 0x123\(%rax,%r14,8\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 31[ ]*vpmadd52luq \(%rcx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 72 7f[ ]*vpmadd52luq 0x1fc0\(%rdx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 b2 00 20 00 00[ ]*vpmadd52luq 0x2000\(%rdx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 72 80[ ]*vpmadd52luq -0x2000\(%rdx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 b2 c0 df ff ff[ ]*vpmadd52luq -0x2040\(%rdx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 72 7f[ ]*vpmadd52luq 0x3f8\(%rdx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%rdx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 72 80[ ]*vpmadd52luq -0x400\(%rdx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%rdx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 40 b5 f4[ ]*vpmadd52huq %zmm28,%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 47 b5 f4[ ]*vpmadd52huq %zmm28,%zmm29,%zmm30\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 02 95 c7 b5 f4[ ]*vpmadd52huq %zmm28,%zmm29,%zmm30\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 31[ ]*vpmadd52huq \(%rcx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 22 95 40 b5 b4 f0 23 01 00 00[ ]*vpmadd52huq 0x123\(%rax,%r14,8\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 31[ ]*vpmadd52huq \(%rcx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 72 7f[ ]*vpmadd52huq 0x1fc0\(%rdx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 b2 00 20 00 00[ ]*vpmadd52huq 0x2000\(%rdx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 72 80[ ]*vpmadd52huq -0x2000\(%rdx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 b2 c0 df ff ff[ ]*vpmadd52huq -0x2040\(%rdx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 72 7f[ ]*vpmadd52huq 0x3f8\(%rdx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%rdx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 72 80[ ]*vpmadd52huq -0x400\(%rdx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%rdx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 40 b4 f4[ ]*vpmadd52luq %zmm28,%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 47 b4 f4[ ]*vpmadd52luq %zmm28,%zmm29,%zmm30\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 02 95 c7 b4 f4[ ]*vpmadd52luq %zmm28,%zmm29,%zmm30\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 31[ ]*vpmadd52luq \(%rcx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 22 95 40 b4 b4 f0 34 12 00 00[ ]*vpmadd52luq 0x1234\(%rax,%r14,8\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 31[ ]*vpmadd52luq \(%rcx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 72 7f[ ]*vpmadd52luq 0x1fc0\(%rdx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 b2 00 20 00 00[ ]*vpmadd52luq 0x2000\(%rdx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 72 80[ ]*vpmadd52luq -0x2000\(%rdx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b4 b2 c0 df ff ff[ ]*vpmadd52luq -0x2040\(%rdx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 72 7f[ ]*vpmadd52luq 0x3f8\(%rdx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%rdx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 72 80[ ]*vpmadd52luq -0x400\(%rdx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%rdx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 40 b5 f4[ ]*vpmadd52huq %zmm28,%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 47 b5 f4[ ]*vpmadd52huq %zmm28,%zmm29,%zmm30\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 02 95 c7 b5 f4[ ]*vpmadd52huq %zmm28,%zmm29,%zmm30\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 31[ ]*vpmadd52huq \(%rcx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 22 95 40 b5 b4 f0 34 12 00 00[ ]*vpmadd52huq 0x1234\(%rax,%r14,8\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 31[ ]*vpmadd52huq \(%rcx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 72 7f[ ]*vpmadd52huq 0x1fc0\(%rdx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 b2 00 20 00 00[ ]*vpmadd52huq 0x2000\(%rdx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 72 80[ ]*vpmadd52huq -0x2000\(%rdx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 40 b5 b2 c0 df ff ff[ ]*vpmadd52huq -0x2040\(%rdx\),%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 72 7f[ ]*vpmadd52huq 0x3f8\(%rdx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%rdx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 72 80[ ]*vpmadd52huq -0x400\(%rdx\)\{1to8\},%zmm29,%zmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 50 b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%rdx\)\{1to8\},%zmm29,%zmm30 +#pass diff --git a/gas/testsuite/gas/i386/x86-64-avx512ifma.s b/gas/testsuite/gas/i386/x86-64-avx512ifma.s new file mode 100644 index 0000000..ff1f78a --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx512ifma.s @@ -0,0 +1,63 @@ +# Check 64bit AVX512IFMA instructions + + .allow_index_reg + .text +_start: + vpmadd52luq %zmm28, %zmm29, %zmm30 # AVX512IFMA + vpmadd52luq %zmm28, %zmm29, %zmm30{%k7} # AVX512IFMA + vpmadd52luq %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512IFMA + vpmadd52luq (%rcx), %zmm29, %zmm30 # AVX512IFMA + vpmadd52luq 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512IFMA + vpmadd52luq (%rcx){1to8}, %zmm29, %zmm30 # AVX512IFMA + vpmadd52luq 8128(%rdx), %zmm29, %zmm30 # AVX512IFMA Disp8 + vpmadd52luq 8192(%rdx), %zmm29, %zmm30 # AVX512IFMA + vpmadd52luq -8192(%rdx), %zmm29, %zmm30 # AVX512IFMA Disp8 + vpmadd52luq -8256(%rdx), %zmm29, %zmm30 # AVX512IFMA + vpmadd52luq 1016(%rdx){1to8}, %zmm29, %zmm30 # AVX512IFMA Disp8 + vpmadd52luq 1024(%rdx){1to8}, %zmm29, %zmm30 # AVX512IFMA + vpmadd52luq -1024(%rdx){1to8}, %zmm29, %zmm30 # AVX512IFMA Disp8 + vpmadd52luq -1032(%rdx){1to8}, %zmm29, %zmm30 # AVX512IFMA + vpmadd52huq %zmm28, %zmm29, %zmm30 # AVX512IFMA + vpmadd52huq %zmm28, %zmm29, %zmm30{%k7} # AVX512IFMA + vpmadd52huq %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512IFMA + vpmadd52huq (%rcx), %zmm29, %zmm30 # AVX512IFMA + vpmadd52huq 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512IFMA + vpmadd52huq (%rcx){1to8}, %zmm29, %zmm30 # AVX512IFMA + vpmadd52huq 8128(%rdx), %zmm29, %zmm30 # AVX512IFMA Disp8 + vpmadd52huq 8192(%rdx), %zmm29, %zmm30 # AVX512IFMA + vpmadd52huq -8192(%rdx), %zmm29, %zmm30 # AVX512IFMA Disp8 + vpmadd52huq -8256(%rdx), %zmm29, %zmm30 # AVX512IFMA + vpmadd52huq 1016(%rdx){1to8}, %zmm29, %zmm30 # AVX512IFMA Disp8 + vpmadd52huq 1024(%rdx){1to8}, %zmm29, %zmm30 # AVX512IFMA + vpmadd52huq -1024(%rdx){1to8}, %zmm29, %zmm30 # AVX512IFMA Disp8 + vpmadd52huq -1032(%rdx){1to8}, %zmm29, %zmm30 # AVX512IFMA + + .intel_syntax noprefix + vpmadd52luq zmm30, zmm29, zmm28 # AVX512IFMA + vpmadd52luq zmm30{k7}, zmm29, zmm28 # AVX512IFMA + vpmadd52luq zmm30{k7}{z}, zmm29, zmm28 # AVX512IFMA + vpmadd52luq zmm30, zmm29, ZMMWORD PTR [rcx] # AVX512IFMA + vpmadd52luq zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512IFMA + vpmadd52luq zmm30, zmm29, [rcx]{1to8} # AVX512IFMA + vpmadd52luq zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512IFMA Disp8 + vpmadd52luq zmm30, zmm29, ZMMWORD PTR [rdx+8192] # AVX512IFMA + vpmadd52luq zmm30, zmm29, ZMMWORD PTR [rdx-8192] # AVX512IFMA Disp8 + vpmadd52luq zmm30, zmm29, ZMMWORD PTR [rdx-8256] # AVX512IFMA + vpmadd52luq zmm30, zmm29, [rdx+1016]{1to8} # AVX512IFMA Disp8 + vpmadd52luq zmm30, zmm29, [rdx+1024]{1to8} # AVX512IFMA + vpmadd52luq zmm30, zmm29, [rdx-1024]{1to8} # AVX512IFMA Disp8 + vpmadd52luq zmm30, zmm29, [rdx-1032]{1to8} # AVX512IFMA + vpmadd52huq zmm30, zmm29, zmm28 # AVX512IFMA + vpmadd52huq zmm30{k7}, zmm29, zmm28 # AVX512IFMA + vpmadd52huq zmm30{k7}{z}, zmm29, zmm28 # AVX512IFMA + vpmadd52huq zmm30, zmm29, ZMMWORD PTR [rcx] # AVX512IFMA + vpmadd52huq zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512IFMA + vpmadd52huq zmm30, zmm29, [rcx]{1to8} # AVX512IFMA + vpmadd52huq zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512IFMA Disp8 + vpmadd52huq zmm30, zmm29, ZMMWORD PTR [rdx+8192] # AVX512IFMA + vpmadd52huq zmm30, zmm29, ZMMWORD PTR [rdx-8192] # AVX512IFMA Disp8 + vpmadd52huq zmm30, zmm29, ZMMWORD PTR [rdx-8256] # AVX512IFMA + vpmadd52huq zmm30, zmm29, [rdx+1016]{1to8} # AVX512IFMA Disp8 + vpmadd52huq zmm30, zmm29, [rdx+1024]{1to8} # AVX512IFMA + vpmadd52huq zmm30, zmm29, [rdx-1024]{1to8} # AVX512IFMA Disp8 + vpmadd52huq zmm30, zmm29, [rdx-1032]{1to8} # AVX512IFMA diff --git a/gas/testsuite/gas/i386/x86-64-avx512ifma_vl-intel.d b/gas/testsuite/gas/i386/x86-64-avx512ifma_vl-intel.d new file mode 100644 index 0000000..47ace43 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx512ifma_vl-intel.d @@ -0,0 +1,124 @@ +#as: +#objdump: -dw -Mintel +#name: x86_64 AVX512IFMA/VL insns (Intel disassembly) +#source: x86-64-avx512ifma_vl.s + +.*: +file format .* + + +Disassembly of section \.text: + +0+ <_start>: +[ ]*[a-f0-9]+:[ ]*62 02 95 00 b4 f4[ ]*vpmadd52luq xmm30,xmm29,xmm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 07 b4 f4[ ]*vpmadd52luq xmm30\{k7\},xmm29,xmm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 87 b4 f4[ ]*vpmadd52luq xmm30\{k7\}\{z\},xmm29,xmm28 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 31[ ]*vpmadd52luq xmm30,xmm29,XMMWORD PTR \[rcx\] +[ ]*[a-f0-9]+:[ ]*62 22 95 00 b4 b4 f0 23 01 00 00[ ]*vpmadd52luq xmm30,xmm29,XMMWORD PTR \[rax\+r14\*8\+0x123\] +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 31[ ]*vpmadd52luq xmm30,xmm29,QWORD PTR \[rcx\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 72 7f[ ]*vpmadd52luq xmm30,xmm29,XMMWORD PTR \[rdx\+0x7f0\] +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 b2 00 08 00 00[ ]*vpmadd52luq xmm30,xmm29,XMMWORD PTR \[rdx\+0x800\] +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 72 80[ ]*vpmadd52luq xmm30,xmm29,XMMWORD PTR \[rdx-0x800\] +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 b2 f0 f7 ff ff[ ]*vpmadd52luq xmm30,xmm29,XMMWORD PTR \[rdx-0x810\] +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 72 7f[ ]*vpmadd52luq xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 b2 00 04 00 00[ ]*vpmadd52luq xmm30,xmm29,QWORD PTR \[rdx\+0x400\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 72 80[ ]*vpmadd52luq xmm30,xmm29,QWORD PTR \[rdx-0x400\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 b2 f8 fb ff ff[ ]*vpmadd52luq xmm30,xmm29,QWORD PTR \[rdx-0x408\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 02 95 20 b4 f4[ ]*vpmadd52luq ymm30,ymm29,ymm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 27 b4 f4[ ]*vpmadd52luq ymm30\{k7\},ymm29,ymm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 a7 b4 f4[ ]*vpmadd52luq ymm30\{k7\}\{z\},ymm29,ymm28 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 31[ ]*vpmadd52luq ymm30,ymm29,YMMWORD PTR \[rcx\] +[ ]*[a-f0-9]+:[ ]*62 22 95 20 b4 b4 f0 23 01 00 00[ ]*vpmadd52luq ymm30,ymm29,YMMWORD PTR \[rax\+r14\*8\+0x123\] +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 31[ ]*vpmadd52luq ymm30,ymm29,QWORD PTR \[rcx\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 72 7f[ ]*vpmadd52luq ymm30,ymm29,YMMWORD PTR \[rdx\+0xfe0\] +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 b2 00 10 00 00[ ]*vpmadd52luq ymm30,ymm29,YMMWORD PTR \[rdx\+0x1000\] +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 72 80[ ]*vpmadd52luq ymm30,ymm29,YMMWORD PTR \[rdx-0x1000\] +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 b2 e0 ef ff ff[ ]*vpmadd52luq ymm30,ymm29,YMMWORD PTR \[rdx-0x1020\] +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 72 7f[ ]*vpmadd52luq ymm30,ymm29,QWORD PTR \[rdx\+0x3f8\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 b2 00 04 00 00[ ]*vpmadd52luq ymm30,ymm29,QWORD PTR \[rdx\+0x400\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 72 80[ ]*vpmadd52luq ymm30,ymm29,QWORD PTR \[rdx-0x400\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 b2 f8 fb ff ff[ ]*vpmadd52luq ymm30,ymm29,QWORD PTR \[rdx-0x408\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 02 95 00 b5 f4[ ]*vpmadd52huq xmm30,xmm29,xmm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 07 b5 f4[ ]*vpmadd52huq xmm30\{k7\},xmm29,xmm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 87 b5 f4[ ]*vpmadd52huq xmm30\{k7\}\{z\},xmm29,xmm28 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 31[ ]*vpmadd52huq xmm30,xmm29,XMMWORD PTR \[rcx\] +[ ]*[a-f0-9]+:[ ]*62 22 95 00 b5 b4 f0 23 01 00 00[ ]*vpmadd52huq xmm30,xmm29,XMMWORD PTR \[rax\+r14\*8\+0x123\] +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 31[ ]*vpmadd52huq xmm30,xmm29,QWORD PTR \[rcx\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 72 7f[ ]*vpmadd52huq xmm30,xmm29,XMMWORD PTR \[rdx\+0x7f0\] +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 b2 00 08 00 00[ ]*vpmadd52huq xmm30,xmm29,XMMWORD PTR \[rdx\+0x800\] +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 72 80[ ]*vpmadd52huq xmm30,xmm29,XMMWORD PTR \[rdx-0x800\] +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 b2 f0 f7 ff ff[ ]*vpmadd52huq xmm30,xmm29,XMMWORD PTR \[rdx-0x810\] +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 72 7f[ ]*vpmadd52huq xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 b2 00 04 00 00[ ]*vpmadd52huq xmm30,xmm29,QWORD PTR \[rdx\+0x400\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 72 80[ ]*vpmadd52huq xmm30,xmm29,QWORD PTR \[rdx-0x400\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 b2 f8 fb ff ff[ ]*vpmadd52huq xmm30,xmm29,QWORD PTR \[rdx-0x408\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 02 95 20 b5 f4[ ]*vpmadd52huq ymm30,ymm29,ymm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 27 b5 f4[ ]*vpmadd52huq ymm30\{k7\},ymm29,ymm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 a7 b5 f4[ ]*vpmadd52huq ymm30\{k7\}\{z\},ymm29,ymm28 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 31[ ]*vpmadd52huq ymm30,ymm29,YMMWORD PTR \[rcx\] +[ ]*[a-f0-9]+:[ ]*62 22 95 20 b5 b4 f0 23 01 00 00[ ]*vpmadd52huq ymm30,ymm29,YMMWORD PTR \[rax\+r14\*8\+0x123\] +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 31[ ]*vpmadd52huq ymm30,ymm29,QWORD PTR \[rcx\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 72 7f[ ]*vpmadd52huq ymm30,ymm29,YMMWORD PTR \[rdx\+0xfe0\] +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 b2 00 10 00 00[ ]*vpmadd52huq ymm30,ymm29,YMMWORD PTR \[rdx\+0x1000\] +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 72 80[ ]*vpmadd52huq ymm30,ymm29,YMMWORD PTR \[rdx-0x1000\] +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 b2 e0 ef ff ff[ ]*vpmadd52huq ymm30,ymm29,YMMWORD PTR \[rdx-0x1020\] +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 72 7f[ ]*vpmadd52huq ymm30,ymm29,QWORD PTR \[rdx\+0x3f8\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 b2 00 04 00 00[ ]*vpmadd52huq ymm30,ymm29,QWORD PTR \[rdx\+0x400\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 72 80[ ]*vpmadd52huq ymm30,ymm29,QWORD PTR \[rdx-0x400\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 b2 f8 fb ff ff[ ]*vpmadd52huq ymm30,ymm29,QWORD PTR \[rdx-0x408\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 02 95 00 b4 f4[ ]*vpmadd52luq xmm30,xmm29,xmm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 07 b4 f4[ ]*vpmadd52luq xmm30\{k7\},xmm29,xmm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 87 b4 f4[ ]*vpmadd52luq xmm30\{k7\}\{z\},xmm29,xmm28 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 31[ ]*vpmadd52luq xmm30,xmm29,XMMWORD PTR \[rcx\] +[ ]*[a-f0-9]+:[ ]*62 22 95 00 b4 b4 f0 34 12 00 00[ ]*vpmadd52luq xmm30,xmm29,XMMWORD PTR \[rax\+r14\*8\+0x1234\] +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 31[ ]*vpmadd52luq xmm30,xmm29,QWORD PTR \[rcx\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 72 7f[ ]*vpmadd52luq xmm30,xmm29,XMMWORD PTR \[rdx\+0x7f0\] +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 b2 00 08 00 00[ ]*vpmadd52luq xmm30,xmm29,XMMWORD PTR \[rdx\+0x800\] +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 72 80[ ]*vpmadd52luq xmm30,xmm29,XMMWORD PTR \[rdx-0x800\] +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 b2 f0 f7 ff ff[ ]*vpmadd52luq xmm30,xmm29,XMMWORD PTR \[rdx-0x810\] +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 72 7f[ ]*vpmadd52luq xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 b2 00 04 00 00[ ]*vpmadd52luq xmm30,xmm29,QWORD PTR \[rdx\+0x400\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 72 80[ ]*vpmadd52luq xmm30,xmm29,QWORD PTR \[rdx-0x400\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 b2 f8 fb ff ff[ ]*vpmadd52luq xmm30,xmm29,QWORD PTR \[rdx-0x408\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 02 95 20 b4 f4[ ]*vpmadd52luq ymm30,ymm29,ymm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 27 b4 f4[ ]*vpmadd52luq ymm30\{k7\},ymm29,ymm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 a7 b4 f4[ ]*vpmadd52luq ymm30\{k7\}\{z\},ymm29,ymm28 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 31[ ]*vpmadd52luq ymm30,ymm29,YMMWORD PTR \[rcx\] +[ ]*[a-f0-9]+:[ ]*62 22 95 20 b4 b4 f0 34 12 00 00[ ]*vpmadd52luq ymm30,ymm29,YMMWORD PTR \[rax\+r14\*8\+0x1234\] +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 31[ ]*vpmadd52luq ymm30,ymm29,QWORD PTR \[rcx\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 72 7f[ ]*vpmadd52luq ymm30,ymm29,YMMWORD PTR \[rdx\+0xfe0\] +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 b2 00 10 00 00[ ]*vpmadd52luq ymm30,ymm29,YMMWORD PTR \[rdx\+0x1000\] +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 72 80[ ]*vpmadd52luq ymm30,ymm29,YMMWORD PTR \[rdx-0x1000\] +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 b2 e0 ef ff ff[ ]*vpmadd52luq ymm30,ymm29,YMMWORD PTR \[rdx-0x1020\] +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 72 7f[ ]*vpmadd52luq ymm30,ymm29,QWORD PTR \[rdx\+0x3f8\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 b2 00 04 00 00[ ]*vpmadd52luq ymm30,ymm29,QWORD PTR \[rdx\+0x400\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 72 80[ ]*vpmadd52luq ymm30,ymm29,QWORD PTR \[rdx-0x400\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 b2 f8 fb ff ff[ ]*vpmadd52luq ymm30,ymm29,QWORD PTR \[rdx-0x408\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 02 95 00 b5 f4[ ]*vpmadd52huq xmm30,xmm29,xmm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 07 b5 f4[ ]*vpmadd52huq xmm30\{k7\},xmm29,xmm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 87 b5 f4[ ]*vpmadd52huq xmm30\{k7\}\{z\},xmm29,xmm28 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 31[ ]*vpmadd52huq xmm30,xmm29,XMMWORD PTR \[rcx\] +[ ]*[a-f0-9]+:[ ]*62 22 95 00 b5 b4 f0 34 12 00 00[ ]*vpmadd52huq xmm30,xmm29,XMMWORD PTR \[rax\+r14\*8\+0x1234\] +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 31[ ]*vpmadd52huq xmm30,xmm29,QWORD PTR \[rcx\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 72 7f[ ]*vpmadd52huq xmm30,xmm29,XMMWORD PTR \[rdx\+0x7f0\] +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 b2 00 08 00 00[ ]*vpmadd52huq xmm30,xmm29,XMMWORD PTR \[rdx\+0x800\] +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 72 80[ ]*vpmadd52huq xmm30,xmm29,XMMWORD PTR \[rdx-0x800\] +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 b2 f0 f7 ff ff[ ]*vpmadd52huq xmm30,xmm29,XMMWORD PTR \[rdx-0x810\] +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 72 7f[ ]*vpmadd52huq xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 b2 00 04 00 00[ ]*vpmadd52huq xmm30,xmm29,QWORD PTR \[rdx\+0x400\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 72 80[ ]*vpmadd52huq xmm30,xmm29,QWORD PTR \[rdx-0x400\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 b2 f8 fb ff ff[ ]*vpmadd52huq xmm30,xmm29,QWORD PTR \[rdx-0x408\]\{1to2\} +[ ]*[a-f0-9]+:[ ]*62 02 95 20 b5 f4[ ]*vpmadd52huq ymm30,ymm29,ymm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 27 b5 f4[ ]*vpmadd52huq ymm30\{k7\},ymm29,ymm28 +[ ]*[a-f0-9]+:[ ]*62 02 95 a7 b5 f4[ ]*vpmadd52huq ymm30\{k7\}\{z\},ymm29,ymm28 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 31[ ]*vpmadd52huq ymm30,ymm29,YMMWORD PTR \[rcx\] +[ ]*[a-f0-9]+:[ ]*62 22 95 20 b5 b4 f0 34 12 00 00[ ]*vpmadd52huq ymm30,ymm29,YMMWORD PTR \[rax\+r14\*8\+0x1234\] +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 31[ ]*vpmadd52huq ymm30,ymm29,QWORD PTR \[rcx\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 72 7f[ ]*vpmadd52huq ymm30,ymm29,YMMWORD PTR \[rdx\+0xfe0\] +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 b2 00 10 00 00[ ]*vpmadd52huq ymm30,ymm29,YMMWORD PTR \[rdx\+0x1000\] +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 72 80[ ]*vpmadd52huq ymm30,ymm29,YMMWORD PTR \[rdx-0x1000\] +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 b2 e0 ef ff ff[ ]*vpmadd52huq ymm30,ymm29,YMMWORD PTR \[rdx-0x1020\] +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 72 7f[ ]*vpmadd52huq ymm30,ymm29,QWORD PTR \[rdx\+0x3f8\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 b2 00 04 00 00[ ]*vpmadd52huq ymm30,ymm29,QWORD PTR \[rdx\+0x400\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 72 80[ ]*vpmadd52huq ymm30,ymm29,QWORD PTR \[rdx-0x400\]\{1to4\} +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 b2 f8 fb ff ff[ ]*vpmadd52huq ymm30,ymm29,QWORD PTR \[rdx-0x408\]\{1to4\} +#pass diff --git a/gas/testsuite/gas/i386/x86-64-avx512ifma_vl.d b/gas/testsuite/gas/i386/x86-64-avx512ifma_vl.d new file mode 100644 index 0000000..5a97833 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx512ifma_vl.d @@ -0,0 +1,124 @@ +#as: +#objdump: -dw +#name: x86_64 AVX512IFMA/VL insns +#source: x86-64-avx512ifma_vl.s + +.*: +file format .* + + +Disassembly of section \.text: + +0+ <_start>: +[ ]*[a-f0-9]+:[ ]*62 02 95 00 b4 f4[ ]*vpmadd52luq %xmm28,%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 07 b4 f4[ ]*vpmadd52luq %xmm28,%xmm29,%xmm30\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 02 95 87 b4 f4[ ]*vpmadd52luq %xmm28,%xmm29,%xmm30\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 31[ ]*vpmadd52luq \(%rcx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 22 95 00 b4 b4 f0 23 01 00 00[ ]*vpmadd52luq 0x123\(%rax,%r14,8\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 31[ ]*vpmadd52luq \(%rcx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 72 7f[ ]*vpmadd52luq 0x7f0\(%rdx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 b2 00 08 00 00[ ]*vpmadd52luq 0x800\(%rdx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 72 80[ ]*vpmadd52luq -0x800\(%rdx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 b2 f0 f7 ff ff[ ]*vpmadd52luq -0x810\(%rdx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 72 7f[ ]*vpmadd52luq 0x3f8\(%rdx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%rdx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 72 80[ ]*vpmadd52luq -0x400\(%rdx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%rdx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 20 b4 f4[ ]*vpmadd52luq %ymm28,%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 27 b4 f4[ ]*vpmadd52luq %ymm28,%ymm29,%ymm30\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 02 95 a7 b4 f4[ ]*vpmadd52luq %ymm28,%ymm29,%ymm30\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 31[ ]*vpmadd52luq \(%rcx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 22 95 20 b4 b4 f0 23 01 00 00[ ]*vpmadd52luq 0x123\(%rax,%r14,8\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 31[ ]*vpmadd52luq \(%rcx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 72 7f[ ]*vpmadd52luq 0xfe0\(%rdx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 b2 00 10 00 00[ ]*vpmadd52luq 0x1000\(%rdx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 72 80[ ]*vpmadd52luq -0x1000\(%rdx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 b2 e0 ef ff ff[ ]*vpmadd52luq -0x1020\(%rdx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 72 7f[ ]*vpmadd52luq 0x3f8\(%rdx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%rdx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 72 80[ ]*vpmadd52luq -0x400\(%rdx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%rdx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 00 b5 f4[ ]*vpmadd52huq %xmm28,%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 07 b5 f4[ ]*vpmadd52huq %xmm28,%xmm29,%xmm30\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 02 95 87 b5 f4[ ]*vpmadd52huq %xmm28,%xmm29,%xmm30\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 31[ ]*vpmadd52huq \(%rcx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 22 95 00 b5 b4 f0 23 01 00 00[ ]*vpmadd52huq 0x123\(%rax,%r14,8\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 31[ ]*vpmadd52huq \(%rcx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 72 7f[ ]*vpmadd52huq 0x7f0\(%rdx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 b2 00 08 00 00[ ]*vpmadd52huq 0x800\(%rdx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 72 80[ ]*vpmadd52huq -0x800\(%rdx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 b2 f0 f7 ff ff[ ]*vpmadd52huq -0x810\(%rdx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 72 7f[ ]*vpmadd52huq 0x3f8\(%rdx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%rdx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 72 80[ ]*vpmadd52huq -0x400\(%rdx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%rdx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 20 b5 f4[ ]*vpmadd52huq %ymm28,%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 27 b5 f4[ ]*vpmadd52huq %ymm28,%ymm29,%ymm30\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 02 95 a7 b5 f4[ ]*vpmadd52huq %ymm28,%ymm29,%ymm30\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 31[ ]*vpmadd52huq \(%rcx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 22 95 20 b5 b4 f0 23 01 00 00[ ]*vpmadd52huq 0x123\(%rax,%r14,8\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 31[ ]*vpmadd52huq \(%rcx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 72 7f[ ]*vpmadd52huq 0xfe0\(%rdx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 b2 00 10 00 00[ ]*vpmadd52huq 0x1000\(%rdx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 72 80[ ]*vpmadd52huq -0x1000\(%rdx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 b2 e0 ef ff ff[ ]*vpmadd52huq -0x1020\(%rdx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 72 7f[ ]*vpmadd52huq 0x3f8\(%rdx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%rdx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 72 80[ ]*vpmadd52huq -0x400\(%rdx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%rdx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 00 b4 f4[ ]*vpmadd52luq %xmm28,%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 07 b4 f4[ ]*vpmadd52luq %xmm28,%xmm29,%xmm30\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 02 95 87 b4 f4[ ]*vpmadd52luq %xmm28,%xmm29,%xmm30\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 31[ ]*vpmadd52luq \(%rcx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 22 95 00 b4 b4 f0 34 12 00 00[ ]*vpmadd52luq 0x1234\(%rax,%r14,8\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 31[ ]*vpmadd52luq \(%rcx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 72 7f[ ]*vpmadd52luq 0x7f0\(%rdx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 b2 00 08 00 00[ ]*vpmadd52luq 0x800\(%rdx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 72 80[ ]*vpmadd52luq -0x800\(%rdx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b4 b2 f0 f7 ff ff[ ]*vpmadd52luq -0x810\(%rdx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 72 7f[ ]*vpmadd52luq 0x3f8\(%rdx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%rdx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 72 80[ ]*vpmadd52luq -0x400\(%rdx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%rdx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 20 b4 f4[ ]*vpmadd52luq %ymm28,%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 27 b4 f4[ ]*vpmadd52luq %ymm28,%ymm29,%ymm30\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 02 95 a7 b4 f4[ ]*vpmadd52luq %ymm28,%ymm29,%ymm30\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 31[ ]*vpmadd52luq \(%rcx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 22 95 20 b4 b4 f0 34 12 00 00[ ]*vpmadd52luq 0x1234\(%rax,%r14,8\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 31[ ]*vpmadd52luq \(%rcx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 72 7f[ ]*vpmadd52luq 0xfe0\(%rdx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 b2 00 10 00 00[ ]*vpmadd52luq 0x1000\(%rdx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 72 80[ ]*vpmadd52luq -0x1000\(%rdx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b4 b2 e0 ef ff ff[ ]*vpmadd52luq -0x1020\(%rdx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 72 7f[ ]*vpmadd52luq 0x3f8\(%rdx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 b2 00 04 00 00[ ]*vpmadd52luq 0x400\(%rdx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 72 80[ ]*vpmadd52luq -0x400\(%rdx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b4 b2 f8 fb ff ff[ ]*vpmadd52luq -0x408\(%rdx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 00 b5 f4[ ]*vpmadd52huq %xmm28,%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 07 b5 f4[ ]*vpmadd52huq %xmm28,%xmm29,%xmm30\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 02 95 87 b5 f4[ ]*vpmadd52huq %xmm28,%xmm29,%xmm30\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 31[ ]*vpmadd52huq \(%rcx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 22 95 00 b5 b4 f0 34 12 00 00[ ]*vpmadd52huq 0x1234\(%rax,%r14,8\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 31[ ]*vpmadd52huq \(%rcx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 72 7f[ ]*vpmadd52huq 0x7f0\(%rdx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 b2 00 08 00 00[ ]*vpmadd52huq 0x800\(%rdx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 72 80[ ]*vpmadd52huq -0x800\(%rdx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 00 b5 b2 f0 f7 ff ff[ ]*vpmadd52huq -0x810\(%rdx\),%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 72 7f[ ]*vpmadd52huq 0x3f8\(%rdx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%rdx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 72 80[ ]*vpmadd52huq -0x400\(%rdx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 10 b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%rdx\)\{1to2\},%xmm29,%xmm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 20 b5 f4[ ]*vpmadd52huq %ymm28,%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 02 95 27 b5 f4[ ]*vpmadd52huq %ymm28,%ymm29,%ymm30\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 02 95 a7 b5 f4[ ]*vpmadd52huq %ymm28,%ymm29,%ymm30\{%k7\}\{z\} +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 31[ ]*vpmadd52huq \(%rcx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 22 95 20 b5 b4 f0 34 12 00 00[ ]*vpmadd52huq 0x1234\(%rax,%r14,8\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 31[ ]*vpmadd52huq \(%rcx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 72 7f[ ]*vpmadd52huq 0xfe0\(%rdx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 b2 00 10 00 00[ ]*vpmadd52huq 0x1000\(%rdx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 72 80[ ]*vpmadd52huq -0x1000\(%rdx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 20 b5 b2 e0 ef ff ff[ ]*vpmadd52huq -0x1020\(%rdx\),%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 72 7f[ ]*vpmadd52huq 0x3f8\(%rdx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 b2 00 04 00 00[ ]*vpmadd52huq 0x400\(%rdx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 72 80[ ]*vpmadd52huq -0x400\(%rdx\)\{1to4\},%ymm29,%ymm30 +[ ]*[a-f0-9]+:[ ]*62 62 95 30 b5 b2 f8 fb ff ff[ ]*vpmadd52huq -0x408\(%rdx\)\{1to4\},%ymm29,%ymm30 +#pass diff --git a/gas/testsuite/gas/i386/x86-64-avx512ifma_vl.s b/gas/testsuite/gas/i386/x86-64-avx512ifma_vl.s new file mode 100644 index 0000000..e102383 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx512ifma_vl.s @@ -0,0 +1,119 @@ +# Check 64bit AVX512{IFMA,VL} instructions + + .allow_index_reg + .text +_start: + vpmadd52luq %xmm28, %xmm29, %xmm30 # AVX512{IFMA,VL} + vpmadd52luq %xmm28, %xmm29, %xmm30{%k7} # AVX512{IFMA,VL} + vpmadd52luq %xmm28, %xmm29, %xmm30{%k7}{z} # AVX512{IFMA,VL} + vpmadd52luq (%rcx), %xmm29, %xmm30 # AVX512{IFMA,VL} + vpmadd52luq 0x123(%rax,%r14,8), %xmm29, %xmm30 # AVX512{IFMA,VL} + vpmadd52luq (%rcx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} + vpmadd52luq 2032(%rdx), %xmm29, %xmm30 # AVX512{IFMA,VL} Disp8 + vpmadd52luq 2048(%rdx), %xmm29, %xmm30 # AVX512{IFMA,VL} + vpmadd52luq -2048(%rdx), %xmm29, %xmm30 # AVX512{IFMA,VL} Disp8 + vpmadd52luq -2064(%rdx), %xmm29, %xmm30 # AVX512{IFMA,VL} + vpmadd52luq 1016(%rdx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} Disp8 + vpmadd52luq 1024(%rdx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} + vpmadd52luq -1024(%rdx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} Disp8 + vpmadd52luq -1032(%rdx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} + vpmadd52luq %ymm28, %ymm29, %ymm30 # AVX512{IFMA,VL} + vpmadd52luq %ymm28, %ymm29, %ymm30{%k7} # AVX512{IFMA,VL} + vpmadd52luq %ymm28, %ymm29, %ymm30{%k7}{z} # AVX512{IFMA,VL} + vpmadd52luq (%rcx), %ymm29, %ymm30 # AVX512{IFMA,VL} + vpmadd52luq 0x123(%rax,%r14,8), %ymm29, %ymm30 # AVX512{IFMA,VL} + vpmadd52luq (%rcx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} + vpmadd52luq 4064(%rdx), %ymm29, %ymm30 # AVX512{IFMA,VL} Disp8 + vpmadd52luq 4096(%rdx), %ymm29, %ymm30 # AVX512{IFMA,VL} + vpmadd52luq -4096(%rdx), %ymm29, %ymm30 # AVX512{IFMA,VL} Disp8 + vpmadd52luq -4128(%rdx), %ymm29, %ymm30 # AVX512{IFMA,VL} + vpmadd52luq 1016(%rdx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} Disp8 + vpmadd52luq 1024(%rdx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} + vpmadd52luq -1024(%rdx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} Disp8 + vpmadd52luq -1032(%rdx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} + vpmadd52huq %xmm28, %xmm29, %xmm30 # AVX512{IFMA,VL} + vpmadd52huq %xmm28, %xmm29, %xmm30{%k7} # AVX512{IFMA,VL} + vpmadd52huq %xmm28, %xmm29, %xmm30{%k7}{z} # AVX512{IFMA,VL} + vpmadd52huq (%rcx), %xmm29, %xmm30 # AVX512{IFMA,VL} + vpmadd52huq 0x123(%rax,%r14,8), %xmm29, %xmm30 # AVX512{IFMA,VL} + vpmadd52huq (%rcx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} + vpmadd52huq 2032(%rdx), %xmm29, %xmm30 # AVX512{IFMA,VL} Disp8 + vpmadd52huq 2048(%rdx), %xmm29, %xmm30 # AVX512{IFMA,VL} + vpmadd52huq -2048(%rdx), %xmm29, %xmm30 # AVX512{IFMA,VL} Disp8 + vpmadd52huq -2064(%rdx), %xmm29, %xmm30 # AVX512{IFMA,VL} + vpmadd52huq 1016(%rdx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} Disp8 + vpmadd52huq 1024(%rdx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} + vpmadd52huq -1024(%rdx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} Disp8 + vpmadd52huq -1032(%rdx){1to2}, %xmm29, %xmm30 # AVX512{IFMA,VL} + vpmadd52huq %ymm28, %ymm29, %ymm30 # AVX512{IFMA,VL} + vpmadd52huq %ymm28, %ymm29, %ymm30{%k7} # AVX512{IFMA,VL} + vpmadd52huq %ymm28, %ymm29, %ymm30{%k7}{z} # AVX512{IFMA,VL} + vpmadd52huq (%rcx), %ymm29, %ymm30 # AVX512{IFMA,VL} + vpmadd52huq 0x123(%rax,%r14,8), %ymm29, %ymm30 # AVX512{IFMA,VL} + vpmadd52huq (%rcx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} + vpmadd52huq 4064(%rdx), %ymm29, %ymm30 # AVX512{IFMA,VL} Disp8 + vpmadd52huq 4096(%rdx), %ymm29, %ymm30 # AVX512{IFMA,VL} + vpmadd52huq -4096(%rdx), %ymm29, %ymm30 # AVX512{IFMA,VL} Disp8 + vpmadd52huq -4128(%rdx), %ymm29, %ymm30 # AVX512{IFMA,VL} + vpmadd52huq 1016(%rdx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} Disp8 + vpmadd52huq 1024(%rdx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} + vpmadd52huq -1024(%rdx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} Disp8 + vpmadd52huq -1032(%rdx){1to4}, %ymm29, %ymm30 # AVX512{IFMA,VL} + + .intel_syntax noprefix + vpmadd52luq xmm30, xmm29, xmm28 # AVX512{IFMA,VL} + vpmadd52luq xmm30{k7}, xmm29, xmm28 # AVX512{IFMA,VL} + vpmadd52luq xmm30{k7}{z}, xmm29, xmm28 # AVX512{IFMA,VL} + vpmadd52luq xmm30, xmm29, XMMWORD PTR [rcx] # AVX512{IFMA,VL} + vpmadd52luq xmm30, xmm29, XMMWORD PTR [rax+r14*8+0x1234] # AVX512{IFMA,VL} + vpmadd52luq xmm30, xmm29, [rcx]{1to2} # AVX512{IFMA,VL} + vpmadd52luq xmm30, xmm29, XMMWORD PTR [rdx+2032] # AVX512{IFMA,VL} Disp8 + vpmadd52luq xmm30, xmm29, XMMWORD PTR [rdx+2048] # AVX512{IFMA,VL} + vpmadd52luq xmm30, xmm29, XMMWORD PTR [rdx-2048] # AVX512{IFMA,VL} Disp8 + vpmadd52luq xmm30, xmm29, XMMWORD PTR [rdx-2064] # AVX512{IFMA,VL} + vpmadd52luq xmm30, xmm29, [rdx+1016]{1to2} # AVX512{IFMA,VL} Disp8 + vpmadd52luq xmm30, xmm29, [rdx+1024]{1to2} # AVX512{IFMA,VL} + vpmadd52luq xmm30, xmm29, [rdx-1024]{1to2} # AVX512{IFMA,VL} Disp8 + vpmadd52luq xmm30, xmm29, [rdx-1032]{1to2} # AVX512{IFMA,VL} + vpmadd52luq ymm30, ymm29, ymm28 # AVX512{IFMA,VL} + vpmadd52luq ymm30{k7}, ymm29, ymm28 # AVX512{IFMA,VL} + vpmadd52luq ymm30{k7}{z}, ymm29, ymm28 # AVX512{IFMA,VL} + vpmadd52luq ymm30, ymm29, YMMWORD PTR [rcx] # AVX512{IFMA,VL} + vpmadd52luq ymm30, ymm29, YMMWORD PTR [rax+r14*8+0x1234] # AVX512{IFMA,VL} + vpmadd52luq ymm30, ymm29, [rcx]{1to4} # AVX512{IFMA,VL} + vpmadd52luq ymm30, ymm29, YMMWORD PTR [rdx+4064] # AVX512{IFMA,VL} Disp8 + vpmadd52luq ymm30, ymm29, YMMWORD PTR [rdx+4096] # AVX512{IFMA,VL} + vpmadd52luq ymm30, ymm29, YMMWORD PTR [rdx-4096] # AVX512{IFMA,VL} Disp8 + vpmadd52luq ymm30, ymm29, YMMWORD PTR [rdx-4128] # AVX512{IFMA,VL} + vpmadd52luq ymm30, ymm29, [rdx+1016]{1to4} # AVX512{IFMA,VL} Disp8 + vpmadd52luq ymm30, ymm29, [rdx+1024]{1to4} # AVX512{IFMA,VL} + vpmadd52luq ymm30, ymm29, [rdx-1024]{1to4} # AVX512{IFMA,VL} Disp8 + vpmadd52luq ymm30, ymm29, [rdx-1032]{1to4} # AVX512{IFMA,VL} + vpmadd52huq xmm30, xmm29, xmm28 # AVX512{IFMA,VL} + vpmadd52huq xmm30{k7}, xmm29, xmm28 # AVX512{IFMA,VL} + vpmadd52huq xmm30{k7}{z}, xmm29, xmm28 # AVX512{IFMA,VL} + vpmadd52huq xmm30, xmm29, XMMWORD PTR [rcx] # AVX512{IFMA,VL} + vpmadd52huq xmm30, xmm29, XMMWORD PTR [rax+r14*8+0x1234] # AVX512{IFMA,VL} + vpmadd52huq xmm30, xmm29, [rcx]{1to2} # AVX512{IFMA,VL} + vpmadd52huq xmm30, xmm29, XMMWORD PTR [rdx+2032] # AVX512{IFMA,VL} Disp8 + vpmadd52huq xmm30, xmm29, XMMWORD PTR [rdx+2048] # AVX512{IFMA,VL} + vpmadd52huq xmm30, xmm29, XMMWORD PTR [rdx-2048] # AVX512{IFMA,VL} Disp8 + vpmadd52huq xmm30, xmm29, XMMWORD PTR [rdx-2064] # AVX512{IFMA,VL} + vpmadd52huq xmm30, xmm29, [rdx+1016]{1to2} # AVX512{IFMA,VL} Disp8 + vpmadd52huq xmm30, xmm29, [rdx+1024]{1to2} # AVX512{IFMA,VL} + vpmadd52huq xmm30, xmm29, [rdx-1024]{1to2} # AVX512{IFMA,VL} Disp8 + vpmadd52huq xmm30, xmm29, [rdx-1032]{1to2} # AVX512{IFMA,VL} + vpmadd52huq ymm30, ymm29, ymm28 # AVX512{IFMA,VL} + vpmadd52huq ymm30{k7}, ymm29, ymm28 # AVX512{IFMA,VL} + vpmadd52huq ymm30{k7}{z}, ymm29, ymm28 # AVX512{IFMA,VL} + vpmadd52huq ymm30, ymm29, YMMWORD PTR [rcx] # AVX512{IFMA,VL} + vpmadd52huq ymm30, ymm29, YMMWORD PTR [rax+r14*8+0x1234] # AVX512{IFMA,VL} + vpmadd52huq ymm30, ymm29, [rcx]{1to4} # AVX512{IFMA,VL} + vpmadd52huq ymm30, ymm29, YMMWORD PTR [rdx+4064] # AVX512{IFMA,VL} Disp8 + vpmadd52huq ymm30, ymm29, YMMWORD PTR [rdx+4096] # AVX512{IFMA,VL} + vpmadd52huq ymm30, ymm29, YMMWORD PTR [rdx-4096] # AVX512{IFMA,VL} Disp8 + vpmadd52huq ymm30, ymm29, YMMWORD PTR [rdx-4128] # AVX512{IFMA,VL} + vpmadd52huq ymm30, ymm29, [rdx+1016]{1to4} # AVX512{IFMA,VL} Disp8 + vpmadd52huq ymm30, ymm29, [rdx+1024]{1to4} # AVX512{IFMA,VL} + vpmadd52huq ymm30, ymm29, [rdx-1024]{1to4} # AVX512{IFMA,VL} Disp8 + vpmadd52huq ymm30, ymm29, [rdx-1032]{1to4} # AVX512{IFMA,VL} |