This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb] x86/Intel: correct permitted operand sizes for AVX512 scatter/gather
- From: Jan Beulich <jbeulich at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 31 Jul 2018 08:58:35 -0000
- Subject: [binutils-gdb] x86/Intel: correct permitted operand sizes for AVX512 scatter/gather
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=6ff00b5e12e7256738d9a4dac66e5a7745b771ea
commit 6ff00b5e12e7256738d9a4dac66e5a7745b771ea
Author: Jan Beulich <jbeulich@novell.com>
Date: Tue Jul 31 10:55:17 2018 +0200
x86/Intel: correct permitted operand sizes for AVX512 scatter/gather
AVX gather insns correctly allow the element size to be specified rather
than the full vector size. Make AVX512 ones match.
Diff:
---
gas/ChangeLog | 11 ++
gas/testsuite/gas/i386/avx512f.s | 140 +++++++++---------
gas/testsuite/gas/i386/avx512f_vl.s | 192 ++++++++++++-------------
gas/testsuite/gas/i386/avx512pf.s | 158 ++++++++++----------
gas/testsuite/gas/i386/i386.exp | 1 +
gas/testsuite/gas/i386/sg.l | 25 ++++
gas/testsuite/gas/i386/sg.s | 66 +++++++++
gas/testsuite/gas/i386/x86-64-avx512f.s | 142 +++++++++---------
gas/testsuite/gas/i386/x86-64-avx512f_vl.s | 224 ++++++++++++++---------------
gas/testsuite/gas/i386/x86-64-avx512pf.s | 158 ++++++++++----------
opcodes/ChangeLog | 6 +
opcodes/i386-opc.tbl | 124 ++++++++--------
opcodes/i386-tbl.h | 128 ++++++++---------
13 files changed, 742 insertions(+), 633 deletions(-)
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 568a47f..8c2bc57 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,16 @@
2018-07-31 Jan Beulich <jbeulich@suse.com>
+ * testsuite/gas/i386/sg.s, testsuite/gas/i386/sg.l: New.
+ * testsuite/gas/i386/i386.exp: Run new test.
+ * testsuite/gas/i386/avx512f.s, testsuite/gas/i386/avx512f_vl.s,
+ testsuite/gas/i386/avx512pf.s,
+ testsuite/gas/i386/x86-64-avx512f.s,
+ testsuite/gas/i386/x86-64-avx512f_vl.s,
+ testsuite/gas/i386/x86-64-avx512pf.s: Drop unnessecary operand
+ size specifiers from scatter/gather insns in Intel mode.
+
+2018-07-31 Jan Beulich <jbeulich@suse.com>
+
* config/tc-i386.c (is_any_vex_encoding): New.
(process_immext, process_suffix): Use it.
(md_assemble): Likewise. Reject DATA_PREFIX with VEX/XOP/EVEX
diff --git a/gas/testsuite/gas/i386/avx512f.s b/gas/testsuite/gas/i386/avx512f.s
index 199c786..693c810 100644
--- a/gas/testsuite/gas/i386/avx512f.s
+++ b/gas/testsuite/gas/i386/avx512f.s
@@ -11108,25 +11108,25 @@ _start:
vfnmsub231ss xmm6{k7}, xmm5, DWORD PTR [edx-512] # AVX512F Disp8
vfnmsub231ss xmm6{k7}, xmm5, DWORD PTR [edx-516] # AVX512F
- vgatherdpd zmm6{k1}, ZMMWORD PTR [ebp+ymm7*8-123] # AVX512F
- vgatherdpd zmm6{k1}, ZMMWORD PTR [ebp+ymm7*8-123] # AVX512F
- vgatherdpd zmm6{k1}, ZMMWORD PTR [eax+ymm7+256] # AVX512F
- vgatherdpd zmm6{k1}, ZMMWORD PTR [ecx+ymm7*4+1024] # AVX512F
-
- vgatherdps zmm6{k1}, ZMMWORD PTR [ebp+zmm7*8-123] # AVX512F
- vgatherdps zmm6{k1}, ZMMWORD PTR [ebp+zmm7*8-123] # AVX512F
- vgatherdps zmm6{k1}, ZMMWORD PTR [eax+zmm7+256] # AVX512F
- vgatherdps zmm6{k1}, ZMMWORD PTR [ecx+zmm7*4+1024] # AVX512F
-
- vgatherqpd zmm6{k1}, ZMMWORD PTR [ebp+zmm7*8-123] # AVX512F
- vgatherqpd zmm6{k1}, ZMMWORD PTR [ebp+zmm7*8-123] # AVX512F
- vgatherqpd zmm6{k1}, ZMMWORD PTR [eax+zmm7+256] # AVX512F
- vgatherqpd zmm6{k1}, ZMMWORD PTR [ecx+zmm7*4+1024] # AVX512F
-
- vgatherqps ymm6{k1}, YMMWORD PTR [ebp+zmm7*8-123] # AVX512F
- vgatherqps ymm6{k1}, YMMWORD PTR [ebp+zmm7*8-123] # AVX512F
- vgatherqps ymm6{k1}, YMMWORD PTR [eax+zmm7+256] # AVX512F
- vgatherqps ymm6{k1}, YMMWORD PTR [ecx+zmm7*4+1024] # AVX512F
+ vgatherdpd zmm6{k1}, [ebp+ymm7*8-123] # AVX512F
+ vgatherdpd zmm6{k1}, [ebp+ymm7*8-123] # AVX512F
+ vgatherdpd zmm6{k1}, [eax+ymm7+256] # AVX512F
+ vgatherdpd zmm6{k1}, [ecx+ymm7*4+1024] # AVX512F
+
+ vgatherdps zmm6{k1}, [ebp+zmm7*8-123] # AVX512F
+ vgatherdps zmm6{k1}, [ebp+zmm7*8-123] # AVX512F
+ vgatherdps zmm6{k1}, [eax+zmm7+256] # AVX512F
+ vgatherdps zmm6{k1}, [ecx+zmm7*4+1024] # AVX512F
+
+ vgatherqpd zmm6{k1}, [ebp+zmm7*8-123] # AVX512F
+ vgatherqpd zmm6{k1}, [ebp+zmm7*8-123] # AVX512F
+ vgatherqpd zmm6{k1}, [eax+zmm7+256] # AVX512F
+ vgatherqpd zmm6{k1}, [ecx+zmm7*4+1024] # AVX512F
+
+ vgatherqps ymm6{k1}, [ebp+zmm7*8-123] # AVX512F
+ vgatherqps ymm6{k1}, [ebp+zmm7*8-123] # AVX512F
+ vgatherqps ymm6{k1}, [eax+zmm7+256] # AVX512F
+ vgatherqps ymm6{k1}, [ecx+zmm7*4+1024] # AVX512F
vgetexppd zmm6, zmm5 # AVX512F
vgetexppd zmm6{k7}, zmm5 # AVX512F
@@ -12400,25 +12400,25 @@ _start:
vpexpandq zmm6{k7}, zmm5 # AVX512F
vpexpandq zmm6{k7}{z}, zmm5 # AVX512F
- vpgatherdd zmm6{k1}, ZMMWORD PTR [ebp+zmm7*8-123] # AVX512F
- vpgatherdd zmm6{k1}, ZMMWORD PTR [ebp+zmm7*8-123] # AVX512F
- vpgatherdd zmm6{k1}, ZMMWORD PTR [eax+zmm7+256] # AVX512F
- vpgatherdd zmm6{k1}, ZMMWORD PTR [ecx+zmm7*4+1024] # AVX512F
+ vpgatherdd zmm6{k1}, [ebp+zmm7*8-123] # AVX512F
+ vpgatherdd zmm6{k1}, [ebp+zmm7*8-123] # AVX512F
+ vpgatherdd zmm6{k1}, [eax+zmm7+256] # AVX512F
+ vpgatherdd zmm6{k1}, [ecx+zmm7*4+1024] # AVX512F
- vpgatherdq zmm6{k1}, ZMMWORD PTR [ebp+ymm7*8-123] # AVX512F
- vpgatherdq zmm6{k1}, ZMMWORD PTR [ebp+ymm7*8-123] # AVX512F
- vpgatherdq zmm6{k1}, ZMMWORD PTR [eax+ymm7+256] # AVX512F
- vpgatherdq zmm6{k1}, ZMMWORD PTR [ecx+ymm7*4+1024] # AVX512F
+ vpgatherdq zmm6{k1}, [ebp+ymm7*8-123] # AVX512F
+ vpgatherdq zmm6{k1}, [ebp+ymm7*8-123] # AVX512F
+ vpgatherdq zmm6{k1}, [eax+ymm7+256] # AVX512F
+ vpgatherdq zmm6{k1}, [ecx+ymm7*4+1024] # AVX512F
- vpgatherqd ymm6{k1}, YMMWORD PTR [ebp+zmm7*8-123] # AVX512F
- vpgatherqd ymm6{k1}, YMMWORD PTR [ebp+zmm7*8-123] # AVX512F
- vpgatherqd ymm6{k1}, YMMWORD PTR [eax+zmm7+256] # AVX512F
- vpgatherqd ymm6{k1}, YMMWORD PTR [ecx+zmm7*4+1024] # AVX512F
+ vpgatherqd ymm6{k1}, [ebp+zmm7*8-123] # AVX512F
+ vpgatherqd ymm6{k1}, [ebp+zmm7*8-123] # AVX512F
+ vpgatherqd ymm6{k1}, [eax+zmm7+256] # AVX512F
+ vpgatherqd ymm6{k1}, [ecx+zmm7*4+1024] # AVX512F
- vpgatherqq zmm6{k1}, ZMMWORD PTR [ebp+zmm7*8-123] # AVX512F
- vpgatherqq zmm6{k1}, ZMMWORD PTR [ebp+zmm7*8-123] # AVX512F
- vpgatherqq zmm6{k1}, ZMMWORD PTR [eax+zmm7+256] # AVX512F
- vpgatherqq zmm6{k1}, ZMMWORD PTR [ecx+zmm7*4+1024] # AVX512F
+ vpgatherqq zmm6{k1}, [ebp+zmm7*8-123] # AVX512F
+ vpgatherqq zmm6{k1}, [ebp+zmm7*8-123] # AVX512F
+ vpgatherqq zmm6{k1}, [eax+zmm7+256] # AVX512F
+ vpgatherqq zmm6{k1}, [ecx+zmm7*4+1024] # AVX512F
vpmaxsd zmm6, zmm5, zmm4 # AVX512F
vpmaxsd zmm6{k7}, zmm5, zmm4 # AVX512F
@@ -12705,25 +12705,25 @@ _start:
vporq zmm6, zmm5, [edx-1024]{1to8} # AVX512F Disp8
vporq zmm6, zmm5, [edx-1032]{1to8} # AVX512F
- vpscatterdd ZMMWORD PTR [ebp+zmm7*8-123]{k1}, zmm6 # AVX512F
- vpscatterdd ZMMWORD PTR [ebp+zmm7*8-123]{k1}, zmm6 # AVX512F
- vpscatterdd ZMMWORD PTR [eax+zmm7+256]{k1}, zmm6 # AVX512F
- vpscatterdd ZMMWORD PTR [ecx+zmm7*4+1024]{k1}, zmm6 # AVX512F
+ vpscatterdd [ebp+zmm7*8-123]{k1}, zmm6 # AVX512F
+ vpscatterdd [ebp+zmm7*8-123]{k1}, zmm6 # AVX512F
+ vpscatterdd [eax+zmm7+256]{k1}, zmm6 # AVX512F
+ vpscatterdd [ecx+zmm7*4+1024]{k1}, zmm6 # AVX512F
- vpscatterdq ZMMWORD PTR [ebp+ymm7*8-123]{k1}, zmm6 # AVX512F
- vpscatterdq ZMMWORD PTR [ebp+ymm7*8-123]{k1}, zmm6 # AVX512F
- vpscatterdq ZMMWORD PTR [eax+ymm7+256]{k1}, zmm6 # AVX512F
- vpscatterdq ZMMWORD PTR [ecx+ymm7*4+1024]{k1}, zmm6 # AVX512F
+ vpscatterdq [ebp+ymm7*8-123]{k1}, zmm6 # AVX512F
+ vpscatterdq [ebp+ymm7*8-123]{k1}, zmm6 # AVX512F
+ vpscatterdq [eax+ymm7+256]{k1}, zmm6 # AVX512F
+ vpscatterdq [ecx+ymm7*4+1024]{k1}, zmm6 # AVX512F
- vpscatterqd YMMWORD PTR [ebp+zmm7*8-123]{k1}, ymm6 # AVX512F
- vpscatterqd YMMWORD PTR [ebp+zmm7*8-123]{k1}, ymm6 # AVX512F
- vpscatterqd YMMWORD PTR [eax+zmm7+256]{k1}, ymm6 # AVX512F
- vpscatterqd YMMWORD PTR [ecx+zmm7*4+1024]{k1}, ymm6 # AVX512F
+ vpscatterqd [ebp+zmm7*8-123]{k1}, ymm6 # AVX512F
+ vpscatterqd [ebp+zmm7*8-123]{k1}, ymm6 # AVX512F
+ vpscatterqd [eax+zmm7+256]{k1}, ymm6 # AVX512F
+ vpscatterqd [ecx+zmm7*4+1024]{k1}, ymm6 # AVX512F
- vpscatterqq ZMMWORD PTR [ebp+zmm7*8-123]{k1}, zmm6 # AVX512F
- vpscatterqq ZMMWORD PTR [ebp+zmm7*8-123]{k1}, zmm6 # AVX512F
- vpscatterqq ZMMWORD PTR [eax+zmm7+256]{k1}, zmm6 # AVX512F
- vpscatterqq ZMMWORD PTR [ecx+zmm7*4+1024]{k1}, zmm6 # AVX512F
+ vpscatterqq [ebp+zmm7*8-123]{k1}, zmm6 # AVX512F
+ vpscatterqq [ebp+zmm7*8-123]{k1}, zmm6 # AVX512F
+ vpscatterqq [eax+zmm7+256]{k1}, zmm6 # AVX512F
+ vpscatterqq [ecx+zmm7*4+1024]{k1}, zmm6 # AVX512F
vpshufd zmm6, zmm5, 0xab # AVX512F
vpshufd zmm6{k7}, zmm5, 0xab # AVX512F
@@ -13161,25 +13161,25 @@ _start:
vrsqrt14ss xmm6{k7}, xmm5, DWORD PTR [edx-512] # AVX512F Disp8
vrsqrt14ss xmm6{k7}, xmm5, DWORD PTR [edx-516] # AVX512F
- vscatterdpd ZMMWORD PTR [ebp+ymm7*8-123]{k1}, zmm6 # AVX512F
- vscatterdpd ZMMWORD PTR [ebp+ymm7*8-123]{k1}, zmm6 # AVX512F
- vscatterdpd ZMMWORD PTR [eax+ymm7+256]{k1}, zmm6 # AVX512F
- vscatterdpd ZMMWORD PTR [ecx+ymm7*4+1024]{k1}, zmm6 # AVX512F
-
- vscatterdps ZMMWORD PTR [ebp+zmm7*8-123]{k1}, zmm6 # AVX512F
- vscatterdps ZMMWORD PTR [ebp+zmm7*8-123]{k1}, zmm6 # AVX512F
- vscatterdps ZMMWORD PTR [eax+zmm7+256]{k1}, zmm6 # AVX512F
- vscatterdps ZMMWORD PTR [ecx+zmm7*4+1024]{k1}, zmm6 # AVX512F
-
- vscatterqpd ZMMWORD PTR [ebp+zmm7*8-123]{k1}, zmm6 # AVX512F
- vscatterqpd ZMMWORD PTR [ebp+zmm7*8-123]{k1}, zmm6 # AVX512F
- vscatterqpd ZMMWORD PTR [eax+zmm7+256]{k1}, zmm6 # AVX512F
- vscatterqpd ZMMWORD PTR [ecx+zmm7*4+1024]{k1}, zmm6 # AVX512F
-
- vscatterqps YMMWORD PTR [ebp+zmm7*8-123]{k1}, ymm6 # AVX512F
- vscatterqps YMMWORD PTR [ebp+zmm7*8-123]{k1}, ymm6 # AVX512F
- vscatterqps YMMWORD PTR [eax+zmm7+256]{k1}, ymm6 # AVX512F
- vscatterqps YMMWORD PTR [ecx+zmm7*4+1024]{k1}, ymm6 # AVX512F
+ vscatterdpd [ebp+ymm7*8-123]{k1}, zmm6 # AVX512F
+ vscatterdpd [ebp+ymm7*8-123]{k1}, zmm6 # AVX512F
+ vscatterdpd [eax+ymm7+256]{k1}, zmm6 # AVX512F
+ vscatterdpd [ecx+ymm7*4+1024]{k1}, zmm6 # AVX512F
+
+ vscatterdps [ebp+zmm7*8-123]{k1}, zmm6 # AVX512F
+ vscatterdps [ebp+zmm7*8-123]{k1}, zmm6 # AVX512F
+ vscatterdps [eax+zmm7+256]{k1}, zmm6 # AVX512F
+ vscatterdps [ecx+zmm7*4+1024]{k1}, zmm6 # AVX512F
+
+ vscatterqpd [ebp+zmm7*8-123]{k1}, zmm6 # AVX512F
+ vscatterqpd [ebp+zmm7*8-123]{k1}, zmm6 # AVX512F
+ vscatterqpd [eax+zmm7+256]{k1}, zmm6 # AVX512F
+ vscatterqpd [ecx+zmm7*4+1024]{k1}, zmm6 # AVX512F
+
+ vscatterqps [ebp+zmm7*8-123]{k1}, ymm6 # AVX512F
+ vscatterqps [ebp+zmm7*8-123]{k1}, ymm6 # AVX512F
+ vscatterqps [eax+zmm7+256]{k1}, ymm6 # AVX512F
+ vscatterqps [ecx+zmm7*4+1024]{k1}, ymm6 # AVX512F
vshufpd zmm6, zmm5, zmm4, 0xab # AVX512F
vshufpd zmm6{k7}, zmm5, zmm4, 0xab # AVX512F
diff --git a/gas/testsuite/gas/i386/avx512f_vl.s b/gas/testsuite/gas/i386/avx512f_vl.s
index 1dab857..3520143 100644
--- a/gas/testsuite/gas/i386/avx512f_vl.s
+++ b/gas/testsuite/gas/i386/avx512f_vl.s
@@ -7321,30 +7321,30 @@ _start:
vfnmsub231ps ymm6{k7}, ymm5, [edx+512]{1to8} # AVX512{F,VL}
vfnmsub231ps ymm6{k7}, ymm5, [edx-512]{1to8} # AVX512{F,VL} Disp8
vfnmsub231ps ymm6{k7}, ymm5, [edx-516]{1to8} # AVX512{F,VL}
- vgatherdpd xmm6{k1}, XMMWORD PTR [ebp+xmm7*8-123] # AVX512{F,VL}
- vgatherdpd xmm6{k1}, XMMWORD PTR [eax+xmm7+256] # AVX512{F,VL}
- vgatherdpd xmm6{k1}, XMMWORD PTR [ecx+xmm7*4+1024] # AVX512{F,VL}
- vgatherdpd ymm6{k1}, YMMWORD PTR [ebp+xmm7*8-123] # AVX512{F,VL}
- vgatherdpd ymm6{k1}, YMMWORD PTR [eax+xmm7+256] # AVX512{F,VL}
- vgatherdpd ymm6{k1}, YMMWORD PTR [ecx+xmm7*4+1024] # AVX512{F,VL}
- vgatherdps xmm6{k1}, XMMWORD PTR [ebp+xmm7*8-123] # AVX512{F,VL}
- vgatherdps xmm6{k1}, XMMWORD PTR [eax+xmm7+256] # AVX512{F,VL}
- vgatherdps xmm6{k1}, XMMWORD PTR [ecx+xmm7*4+1024] # AVX512{F,VL}
- vgatherdps ymm6{k1}, YMMWORD PTR [ebp+ymm7*8-123] # AVX512{F,VL}
- vgatherdps ymm6{k1}, YMMWORD PTR [eax+ymm7+256] # AVX512{F,VL}
- vgatherdps ymm6{k1}, YMMWORD PTR [ecx+ymm7*4+1024] # AVX512{F,VL}
- vgatherqpd xmm6{k1}, XMMWORD PTR [ebp+xmm7*8-123] # AVX512{F,VL}
- vgatherqpd xmm6{k1}, XMMWORD PTR [eax+xmm7+256] # AVX512{F,VL}
- vgatherqpd xmm6{k1}, XMMWORD PTR [ecx+xmm7*4+1024] # AVX512{F,VL}
- vgatherqpd ymm6{k1}, YMMWORD PTR [ebp+ymm7*8-123] # AVX512{F,VL}
- vgatherqpd ymm6{k1}, YMMWORD PTR [eax+ymm7+256] # AVX512{F,VL}
- vgatherqpd ymm6{k1}, YMMWORD PTR [ecx+ymm7*4+1024] # AVX512{F,VL}
- vgatherqps xmm6{k1}, QWORD PTR [ebp+xmm7*8-123] # AVX512{F,VL}
- vgatherqps xmm6{k1}, QWORD PTR [eax+xmm7+256] # AVX512{F,VL}
- vgatherqps xmm6{k1}, QWORD PTR [ecx+xmm7*4+1024] # AVX512{F,VL}
- vgatherqps xmm6{k1}, XMMWORD PTR [ebp+ymm7*8-123] # AVX512{F,VL}
- vgatherqps xmm6{k1}, XMMWORD PTR [eax+ymm7+256] # AVX512{F,VL}
- vgatherqps xmm6{k1}, XMMWORD PTR [ecx+ymm7*4+1024] # AVX512{F,VL}
+ vgatherdpd xmm6{k1}, [ebp+xmm7*8-123] # AVX512{F,VL}
+ vgatherdpd xmm6{k1}, [eax+xmm7+256] # AVX512{F,VL}
+ vgatherdpd xmm6{k1}, [ecx+xmm7*4+1024] # AVX512{F,VL}
+ vgatherdpd ymm6{k1}, [ebp+xmm7*8-123] # AVX512{F,VL}
+ vgatherdpd ymm6{k1}, [eax+xmm7+256] # AVX512{F,VL}
+ vgatherdpd ymm6{k1}, [ecx+xmm7*4+1024] # AVX512{F,VL}
+ vgatherdps xmm6{k1}, [ebp+xmm7*8-123] # AVX512{F,VL}
+ vgatherdps xmm6{k1}, [eax+xmm7+256] # AVX512{F,VL}
+ vgatherdps xmm6{k1}, [ecx+xmm7*4+1024] # AVX512{F,VL}
+ vgatherdps ymm6{k1}, [ebp+ymm7*8-123] # AVX512{F,VL}
+ vgatherdps ymm6{k1}, [eax+ymm7+256] # AVX512{F,VL}
+ vgatherdps ymm6{k1}, [ecx+ymm7*4+1024] # AVX512{F,VL}
+ vgatherqpd xmm6{k1}, [ebp+xmm7*8-123] # AVX512{F,VL}
+ vgatherqpd xmm6{k1}, [eax+xmm7+256] # AVX512{F,VL}
+ vgatherqpd xmm6{k1}, [ecx+xmm7*4+1024] # AVX512{F,VL}
+ vgatherqpd ymm6{k1}, [ebp+ymm7*8-123] # AVX512{F,VL}
+ vgatherqpd ymm6{k1}, [eax+ymm7+256] # AVX512{F,VL}
+ vgatherqpd ymm6{k1}, [ecx+ymm7*4+1024] # AVX512{F,VL}
+ vgatherqps xmm6{k1}, [ebp+xmm7*8-123] # AVX512{F,VL}
+ vgatherqps xmm6{k1}, [eax+xmm7+256] # AVX512{F,VL}
+ vgatherqps xmm6{k1}, [ecx+xmm7*4+1024] # AVX512{F,VL}
+ vgatherqps xmm6{k1}, [ebp+ymm7*8-123] # AVX512{F,VL}
+ vgatherqps xmm6{k1}, [eax+ymm7+256] # AVX512{F,VL}
+ vgatherqps xmm6{k1}, [ecx+ymm7*4+1024] # AVX512{F,VL}
vgetexppd xmm6{k7}, xmm5 # AVX512{F,VL}
vgetexppd xmm6{k7}{z}, xmm5 # AVX512{F,VL}
vgetexppd xmm6{k7}, XMMWORD PTR [ecx] # AVX512{F,VL}
@@ -8519,30 +8519,30 @@ _start:
vpexpandq xmm6{k7}{z}, xmm5 # AVX512{F,VL}
vpexpandq ymm6{k7}, ymm5 # AVX512{F,VL}
vpexpandq ymm6{k7}{z}, ymm5 # AVX512{F,VL}
- vpgatherdd xmm6{k1}, XMMWORD PTR [ebp+xmm7*8-123] # AVX512{F,VL}
- vpgatherdd xmm6{k1}, XMMWORD PTR [eax+xmm7+256] # AVX512{F,VL}
- vpgatherdd xmm6{k1}, XMMWORD PTR [ecx+xmm7*4+1024] # AVX512{F,VL}
- vpgatherdd ymm6{k1}, YMMWORD PTR [ebp+ymm7*8-123] # AVX512{F,VL}
- vpgatherdd ymm6{k1}, YMMWORD PTR [eax+ymm7+256] # AVX512{F,VL}
- vpgatherdd ymm6{k1}, YMMWORD PTR [ecx+ymm7*4+1024] # AVX512{F,VL}
- vpgatherdq xmm6{k1}, XMMWORD PTR [ebp+xmm7*8-123] # AVX512{F,VL}
- vpgatherdq xmm6{k1}, XMMWORD PTR [eax+xmm7+256] # AVX512{F,VL}
- vpgatherdq xmm6{k1}, XMMWORD PTR [ecx+xmm7*4+1024] # AVX512{F,VL}
- vpgatherdq ymm6{k1}, YMMWORD PTR [ebp+xmm7*8-123] # AVX512{F,VL}
- vpgatherdq ymm6{k1}, YMMWORD PTR [eax+xmm7+256] # AVX512{F,VL}
- vpgatherdq ymm6{k1}, YMMWORD PTR [ecx+xmm7*4+1024] # AVX512{F,VL}
- vpgatherqd xmm6{k1}, QWORD PTR [ebp+xmm7*8-123] # AVX512{F,VL}
- vpgatherqd xmm6{k1}, QWORD PTR [eax+xmm7+256] # AVX512{F,VL}
- vpgatherqd xmm6{k1}, QWORD PTR [ecx+xmm7*4+1024] # AVX512{F,VL}
- vpgatherqd xmm6{k1}, XMMWORD PTR [ebp+ymm7*8-123] # AVX512{F,VL}
- vpgatherqd xmm6{k1}, XMMWORD PTR [eax+ymm7+256] # AVX512{F,VL}
- vpgatherqd xmm6{k1}, XMMWORD PTR [ecx+ymm7*4+1024] # AVX512{F,VL}
- vpgatherqq xmm6{k1}, XMMWORD PTR [ebp+xmm7*8-123] # AVX512{F,VL}
- vpgatherqq xmm6{k1}, XMMWORD PTR [eax+xmm7+256] # AVX512{F,VL}
- vpgatherqq xmm6{k1}, XMMWORD PTR [ecx+xmm7*4+1024] # AVX512{F,VL}
- vpgatherqq ymm6{k1}, YMMWORD PTR [ebp+ymm7*8-123] # AVX512{F,VL}
- vpgatherqq ymm6{k1}, YMMWORD PTR [eax+ymm7+256] # AVX512{F,VL}
- vpgatherqq ymm6{k1}, YMMWORD PTR [ecx+ymm7*4+1024] # AVX512{F,VL}
+ vpgatherdd xmm6{k1}, [ebp+xmm7*8-123] # AVX512{F,VL}
+ vpgatherdd xmm6{k1}, [eax+xmm7+256] # AVX512{F,VL}
+ vpgatherdd xmm6{k1}, [ecx+xmm7*4+1024] # AVX512{F,VL}
+ vpgatherdd ymm6{k1}, [ebp+ymm7*8-123] # AVX512{F,VL}
+ vpgatherdd ymm6{k1}, [eax+ymm7+256] # AVX512{F,VL}
+ vpgatherdd ymm6{k1}, [ecx+ymm7*4+1024] # AVX512{F,VL}
+ vpgatherdq xmm6{k1}, [ebp+xmm7*8-123] # AVX512{F,VL}
+ vpgatherdq xmm6{k1}, [eax+xmm7+256] # AVX512{F,VL}
+ vpgatherdq xmm6{k1}, [ecx+xmm7*4+1024] # AVX512{F,VL}
+ vpgatherdq ymm6{k1}, [ebp+xmm7*8-123] # AVX512{F,VL}
+ vpgatherdq ymm6{k1}, [eax+xmm7+256] # AVX512{F,VL}
+ vpgatherdq ymm6{k1}, [ecx+xmm7*4+1024] # AVX512{F,VL}
+ vpgatherqd xmm6{k1}, [ebp+xmm7*8-123] # AVX512{F,VL}
+ vpgatherqd xmm6{k1}, [eax+xmm7+256] # AVX512{F,VL}
+ vpgatherqd xmm6{k1}, [ecx+xmm7*4+1024] # AVX512{F,VL}
+ vpgatherqd xmm6{k1}, [ebp+ymm7*8-123] # AVX512{F,VL}
+ vpgatherqd xmm6{k1}, [eax+ymm7+256] # AVX512{F,VL}
+ vpgatherqd xmm6{k1}, [ecx+ymm7*4+1024] # AVX512{F,VL}
+ vpgatherqq xmm6{k1}, [ebp+xmm7*8-123] # AVX512{F,VL}
+ vpgatherqq xmm6{k1}, [eax+xmm7+256] # AVX512{F,VL}
+ vpgatherqq xmm6{k1}, [ecx+xmm7*4+1024] # AVX512{F,VL}
+ vpgatherqq ymm6{k1}, [ebp+ymm7*8-123] # AVX512{F,VL}
+ vpgatherqq ymm6{k1}, [eax+ymm7+256] # AVX512{F,VL}
+ vpgatherqq ymm6{k1}, [ecx+ymm7*4+1024] # AVX512{F,VL}
vpmaxsd xmm6{k7}, xmm5, xmm4 # AVX512{F,VL}
vpmaxsd xmm6{k7}{z}, xmm5, xmm4 # AVX512{F,VL}
vpmaxsd xmm6{k7}, xmm5, XMMWORD PTR [ecx] # AVX512{F,VL}
@@ -9041,30 +9041,30 @@ _start:
vporq ymm6{k7}, ymm5, [edx+1024]{1to4} # AVX512{F,VL}
vporq ymm6{k7}, ymm5, [edx-1024]{1to4} # AVX512{F,VL} Disp8
vporq ymm6{k7}, ymm5, [edx-1032]{1to4} # AVX512{F,VL}
- vpscatterdd XMMWORD PTR [ebp+xmm7*8-123]{k1}, xmm6 # AVX512{F,VL}
- vpscatterdd XMMWORD PTR [eax+xmm7+256]{k1}, xmm6 # AVX512{F,VL}
- vpscatterdd XMMWORD PTR [ecx+xmm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
- vpscatterdd YMMWORD PTR [ebp+ymm7*8-123]{k1}, ymm6 # AVX512{F,VL}
- vpscatterdd YMMWORD PTR [eax+ymm7+256]{k1}, ymm6 # AVX512{F,VL}
- vpscatterdd YMMWORD PTR [ecx+ymm7*4+1024]{k1}, ymm6 # AVX512{F,VL}
- vpscatterdq XMMWORD PTR [ebp+xmm7*8-123]{k1}, xmm6 # AVX512{F,VL}
- vpscatterdq XMMWORD PTR [eax+xmm7+256]{k1}, xmm6 # AVX512{F,VL}
- vpscatterdq XMMWORD PTR [ecx+xmm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
- vpscatterdq YMMWORD PTR [ebp+xmm7*8-123]{k1}, ymm6 # AVX512{F,VL}
- vpscatterdq YMMWORD PTR [eax+xmm7+256]{k1}, ymm6 # AVX512{F,VL}
- vpscatterdq YMMWORD PTR [ecx+xmm7*4+1024]{k1}, ymm6 # AVX512{F,VL}
- vpscatterqd QWORD PTR [ebp+xmm7*8-123]{k1}, xmm6 # AVX512{F,VL}
- vpscatterqd QWORD PTR [eax+xmm7+256]{k1}, xmm6 # AVX512{F,VL}
- vpscatterqd QWORD PTR [ecx+xmm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
- vpscatterqd XMMWORD PTR [ebp+ymm7*8-123]{k1}, xmm6 # AVX512{F,VL}
- vpscatterqd XMMWORD PTR [eax+ymm7+256]{k1}, xmm6 # AVX512{F,VL}
- vpscatterqd XMMWORD PTR [ecx+ymm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
- vpscatterqq XMMWORD PTR [ebp+xmm7*8-123]{k1}, xmm6 # AVX512{F,VL}
- vpscatterqq XMMWORD PTR [eax+xmm7+256]{k1}, xmm6 # AVX512{F,VL}
- vpscatterqq XMMWORD PTR [ecx+xmm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
- vpscatterqq YMMWORD PTR [ebp+ymm7*8-123]{k1}, ymm6 # AVX512{F,VL}
- vpscatterqq YMMWORD PTR [eax+ymm7+256]{k1}, ymm6 # AVX512{F,VL}
- vpscatterqq YMMWORD PTR [ecx+ymm7*4+1024]{k1}, ymm6 # AVX512{F,VL}
+ vpscatterdd [ebp+xmm7*8-123]{k1}, xmm6 # AVX512{F,VL}
+ vpscatterdd [eax+xmm7+256]{k1}, xmm6 # AVX512{F,VL}
+ vpscatterdd [ecx+xmm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
+ vpscatterdd [ebp+ymm7*8-123]{k1}, ymm6 # AVX512{F,VL}
+ vpscatterdd [eax+ymm7+256]{k1}, ymm6 # AVX512{F,VL}
+ vpscatterdd [ecx+ymm7*4+1024]{k1}, ymm6 # AVX512{F,VL}
+ vpscatterdq [ebp+xmm7*8-123]{k1}, xmm6 # AVX512{F,VL}
+ vpscatterdq [eax+xmm7+256]{k1}, xmm6 # AVX512{F,VL}
+ vpscatterdq [ecx+xmm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
+ vpscatterdq [ebp+xmm7*8-123]{k1}, ymm6 # AVX512{F,VL}
+ vpscatterdq [eax+xmm7+256]{k1}, ymm6 # AVX512{F,VL}
+ vpscatterdq [ecx+xmm7*4+1024]{k1}, ymm6 # AVX512{F,VL}
+ vpscatterqd [ebp+xmm7*8-123]{k1}, xmm6 # AVX512{F,VL}
+ vpscatterqd [eax+xmm7+256]{k1}, xmm6 # AVX512{F,VL}
+ vpscatterqd [ecx+xmm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
+ vpscatterqd [ebp+ymm7*8-123]{k1}, xmm6 # AVX512{F,VL}
+ vpscatterqd [eax+ymm7+256]{k1}, xmm6 # AVX512{F,VL}
+ vpscatterqd [ecx+ymm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
+ vpscatterqq [ebp+xmm7*8-123]{k1}, xmm6 # AVX512{F,VL}
+ vpscatterqq [eax+xmm7+256]{k1}, xmm6 # AVX512{F,VL}
+ vpscatterqq [ecx+xmm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
+ vpscatterqq [ebp+ymm7*8-123]{k1}, ymm6 # AVX512{F,VL}
+ vpscatterqq [eax+ymm7+256]{k1}, ymm6 # AVX512{F,VL}
+ vpscatterqq [ecx+ymm7*4+1024]{k1}, ymm6 # AVX512{F,VL}
vpshufd xmm6{k7}, xmm5, 0xab # AVX512{F,VL}
vpshufd xmm6{k7}{z}, xmm5, 0xab # AVX512{F,VL}
vpshufd xmm6{k7}, xmm5, 123 # AVX512{F,VL}
@@ -9761,30 +9761,30 @@ _start:
vrsqrt14ps ymm6{k7}, [edx+512]{1to8} # AVX512{F,VL}
vrsqrt14ps ymm6{k7}, [edx-512]{1to8} # AVX512{F,VL} Disp8
vrsqrt14ps ymm6{k7}, [edx-516]{1to8} # AVX512{F,VL}
- vscatterdpd XMMWORD PTR [ebp+xmm7*8-123]{k1}, xmm6 # AVX512{F,VL}
- vscatterdpd XMMWORD PTR [eax+xmm7+256]{k1}, xmm6 # AVX512{F,VL}
- vscatterdpd XMMWORD PTR [ecx+xmm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
- vscatterdpd YMMWORD PTR [ebp+xmm7*8-123]{k1}, ymm6 # AVX512{F,VL}
- vscatterdpd YMMWORD PTR [eax+xmm7+256]{k1}, ymm6 # AVX512{F,VL}
- vscatterdpd YMMWORD PTR [ecx+xmm7*4+1024]{k1}, ymm6 # AVX512{F,VL}
- vscatterdps XMMWORD PTR [ebp+xmm7*8-123]{k1}, xmm6 # AVX512{F,VL}
- vscatterdps XMMWORD PTR [eax+xmm7+256]{k1}, xmm6 # AVX512{F,VL}
- vscatterdps XMMWORD PTR [ecx+xmm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
- vscatterdps YMMWORD PTR [ebp+ymm7*8-123]{k1}, ymm6 # AVX512{F,VL}
- vscatterdps YMMWORD PTR [eax+ymm7+256]{k1}, ymm6 # AVX512{F,VL}
- vscatterdps YMMWORD PTR [ecx+ymm7*4+1024]{k1}, ymm6 # AVX512{F,VL}
- vscatterqpd XMMWORD PTR [ebp+xmm7*8-123]{k1}, xmm6 # AVX512{F,VL}
- vscatterqpd XMMWORD PTR [eax+xmm7+256]{k1}, xmm6 # AVX512{F,VL}
- vscatterqpd XMMWORD PTR [ecx+xmm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
- vscatterqpd YMMWORD PTR [ebp+ymm7*8-123]{k1}, ymm6 # AVX512{F,VL}
- vscatterqpd YMMWORD PTR [eax+ymm7+256]{k1}, ymm6 # AVX512{F,VL}
- vscatterqpd YMMWORD PTR [ecx+ymm7*4+1024]{k1}, ymm6 # AVX512{F,VL}
- vscatterqps QWORD PTR [ebp+xmm7*8-123]{k1}, xmm6 # AVX512{F,VL}
- vscatterqps QWORD PTR [eax+xmm7+256]{k1}, xmm6 # AVX512{F,VL}
- vscatterqps QWORD PTR [ecx+xmm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
- vscatterqps XMMWORD PTR [ebp+ymm7*8-123]{k1}, xmm6 # AVX512{F,VL}
- vscatterqps XMMWORD PTR [eax+ymm7+256]{k1}, xmm6 # AVX512{F,VL}
- vscatterqps XMMWORD PTR [ecx+ymm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
+ vscatterdpd [ebp+xmm7*8-123]{k1}, xmm6 # AVX512{F,VL}
+ vscatterdpd [eax+xmm7+256]{k1}, xmm6 # AVX512{F,VL}
+ vscatterdpd [ecx+xmm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
+ vscatterdpd [ebp+xmm7*8-123]{k1}, ymm6 # AVX512{F,VL}
+ vscatterdpd [eax+xmm7+256]{k1}, ymm6 # AVX512{F,VL}
+ vscatterdpd [ecx+xmm7*4+1024]{k1}, ymm6 # AVX512{F,VL}
+ vscatterdps [ebp+xmm7*8-123]{k1}, xmm6 # AVX512{F,VL}
+ vscatterdps [eax+xmm7+256]{k1}, xmm6 # AVX512{F,VL}
+ vscatterdps [ecx+xmm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
+ vscatterdps [ebp+ymm7*8-123]{k1}, ymm6 # AVX512{F,VL}
+ vscatterdps [eax+ymm7+256]{k1}, ymm6 # AVX512{F,VL}
+ vscatterdps [ecx+ymm7*4+1024]{k1}, ymm6 # AVX512{F,VL}
+ vscatterqpd [ebp+xmm7*8-123]{k1}, xmm6 # AVX512{F,VL}
+ vscatterqpd [eax+xmm7+256]{k1}, xmm6 # AVX512{F,VL}
+ vscatterqpd [ecx+xmm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
+ vscatterqpd [ebp+ymm7*8-123]{k1}, ymm6 # AVX512{F,VL}
+ vscatterqpd [eax+ymm7+256]{k1}, ymm6 # AVX512{F,VL}
+ vscatterqpd [ecx+ymm7*4+1024]{k1}, ymm6 # AVX512{F,VL}
+ vscatterqps [ebp+xmm7*8-123]{k1}, xmm6 # AVX512{F,VL}
+ vscatterqps [eax+xmm7+256]{k1}, xmm6 # AVX512{F,VL}
+ vscatterqps [ecx+xmm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
+ vscatterqps [ebp+ymm7*8-123]{k1}, xmm6 # AVX512{F,VL}
+ vscatterqps [eax+ymm7+256]{k1}, xmm6 # AVX512{F,VL}
+ vscatterqps [ecx+ymm7*4+1024]{k1}, xmm6 # AVX512{F,VL}
vshufpd xmm6{k7}, xmm5, xmm4, 0xab # AVX512{F,VL}
vshufpd xmm6{k7}{z}, xmm5, xmm4, 0xab # AVX512{F,VL}
vshufpd xmm6{k7}, xmm5, xmm4, 123 # AVX512{F,VL}
diff --git a/gas/testsuite/gas/i386/avx512pf.s b/gas/testsuite/gas/i386/avx512pf.s
index 3476660..bfb7a61 100644
--- a/gas/testsuite/gas/i386/avx512pf.s
+++ b/gas/testsuite/gas/i386/avx512pf.s
@@ -85,83 +85,83 @@ _start:
vscatterpf1qps 1024(%ecx,%zmm7,4){%k1} # AVX512PF
.intel_syntax noprefix
- vgatherpf0dpd ZMMWORD PTR [ebp+ymm7*8-123]{k1} # AVX512PF
- vgatherpf0dpd ZMMWORD PTR [ebp+ymm7*8-123]{k1} # AVX512PF
- vgatherpf0dpd ZMMWORD PTR [eax+ymm7+256]{k1} # AVX512PF
- vgatherpf0dpd ZMMWORD PTR [ecx+ymm7*4+1024]{k1} # AVX512PF
-
- vgatherpf0dps ZMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vgatherpf0dps ZMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vgatherpf0dps ZMMWORD PTR [eax+zmm7+256]{k1} # AVX512PF
- vgatherpf0dps ZMMWORD PTR [ecx+zmm7*4+1024]{k1} # AVX512PF
-
- vgatherpf0qpd ZMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vgatherpf0qpd ZMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vgatherpf0qpd ZMMWORD PTR [eax+zmm7+256]{k1} # AVX512PF
- vgatherpf0qpd ZMMWORD PTR [ecx+zmm7*4+1024]{k1} # AVX512PF
-
- vgatherpf0qps YMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vgatherpf0qps YMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vgatherpf0qps YMMWORD PTR [eax+zmm7+256]{k1} # AVX512PF
- vgatherpf0qps YMMWORD PTR [ecx+zmm7*4+1024]{k1} # AVX512PF
-
- vgatherpf1dpd ZMMWORD PTR [ebp+ymm7*8-123]{k1} # AVX512PF
- vgatherpf1dpd ZMMWORD PTR [ebp+ymm7*8-123]{k1} # AVX512PF
- vgatherpf1dpd ZMMWORD PTR [eax+ymm7+256]{k1} # AVX512PF
- vgatherpf1dpd ZMMWORD PTR [ecx+ymm7*4+1024]{k1} # AVX512PF
-
- vgatherpf1dps ZMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vgatherpf1dps ZMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vgatherpf1dps ZMMWORD PTR [eax+zmm7+256]{k1} # AVX512PF
- vgatherpf1dps ZMMWORD PTR [ecx+zmm7*4+1024]{k1} # AVX512PF
-
- vgatherpf1qpd ZMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vgatherpf1qpd ZMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vgatherpf1qpd ZMMWORD PTR [eax+zmm7+256]{k1} # AVX512PF
- vgatherpf1qpd ZMMWORD PTR [ecx+zmm7*4+1024]{k1} # AVX512PF
-
- vgatherpf1qps YMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vgatherpf1qps YMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vgatherpf1qps YMMWORD PTR [eax+zmm7+256]{k1} # AVX512PF
- vgatherpf1qps YMMWORD PTR [ecx+zmm7*4+1024]{k1} # AVX512PF
-
- vscatterpf0dpd ZMMWORD PTR [ebp+ymm7*8-123]{k1} # AVX512PF
- vscatterpf0dpd ZMMWORD PTR [ebp+ymm7*8-123]{k1} # AVX512PF
- vscatterpf0dpd ZMMWORD PTR [eax+ymm7+256]{k1} # AVX512PF
- vscatterpf0dpd ZMMWORD PTR [ecx+ymm7*4+1024]{k1} # AVX512PF
-
- vscatterpf0dps ZMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vscatterpf0dps ZMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vscatterpf0dps ZMMWORD PTR [eax+zmm7+256]{k1} # AVX512PF
- vscatterpf0dps ZMMWORD PTR [ecx+zmm7*4+1024]{k1} # AVX512PF
-
- vscatterpf0qpd ZMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vscatterpf0qpd ZMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vscatterpf0qpd ZMMWORD PTR [eax+zmm7+256]{k1} # AVX512PF
- vscatterpf0qpd ZMMWORD PTR [ecx+zmm7*4+1024]{k1} # AVX512PF
-
- vscatterpf0qps YMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vscatterpf0qps YMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vscatterpf0qps YMMWORD PTR [eax+zmm7+256]{k1} # AVX512PF
- vscatterpf0qps YMMWORD PTR [ecx+zmm7*4+1024]{k1} # AVX512PF
-
- vscatterpf1dpd ZMMWORD PTR [ebp+ymm7*8-123]{k1} # AVX512PF
- vscatterpf1dpd ZMMWORD PTR [ebp+ymm7*8-123]{k1} # AVX512PF
- vscatterpf1dpd ZMMWORD PTR [eax+ymm7+256]{k1} # AVX512PF
- vscatterpf1dpd ZMMWORD PTR [ecx+ymm7*4+1024]{k1} # AVX512PF
-
- vscatterpf1dps ZMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vscatterpf1dps ZMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vscatterpf1dps ZMMWORD PTR [eax+zmm7+256]{k1} # AVX512PF
- vscatterpf1dps ZMMWORD PTR [ecx+zmm7*4+1024]{k1} # AVX512PF
-
- vscatterpf1qpd ZMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vscatterpf1qpd ZMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vscatterpf1qpd ZMMWORD PTR [eax+zmm7+256]{k1} # AVX512PF
- vscatterpf1qpd ZMMWORD PTR [ecx+zmm7*4+1024]{k1} # AVX512PF
-
- vscatterpf1qps YMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vscatterpf1qps YMMWORD PTR [ebp+zmm7*8-123]{k1} # AVX512PF
- vscatterpf1qps YMMWORD PTR [eax+zmm7+256]{k1} # AVX512PF
- vscatterpf1qps YMMWORD PTR [ecx+zmm7*4+1024]{k1} # AVX512PF
+ vgatherpf0dpd [ebp+ymm7*8-123]{k1} # AVX512PF
+ vgatherpf0dpd [ebp+ymm7*8-123]{k1} # AVX512PF
+ vgatherpf0dpd [eax+ymm7+256]{k1} # AVX512PF
+ vgatherpf0dpd [ecx+ymm7*4+1024]{k1} # AVX512PF
+
+ vgatherpf0dps [ebp+zmm7*8-123]{k1} # AVX512PF
+ vgatherpf0dps [ebp+zmm7*8-123]{k1} # AVX512PF
+ vgatherpf0dps [eax+zmm7+256]{k1} # AVX512PF
+ vgatherpf0dps [ecx+zmm7*4+1024]{k1} # AVX512PF
+
+ vgatherpf0qpd [ebp+zmm7*8-123]{k1} # AVX512PF
+ vgatherpf0qpd [ebp+zmm7*8-123]{k1} # AVX512PF
+ vgatherpf0qpd [eax+zmm7+256]{k1} # AVX512PF
+ vgatherpf0qpd [ecx+zmm7*4+1024]{k1} # AVX512PF
+
+ vgatherpf0qps [ebp+zmm7*8-123]{k1} # AVX512PF
+ vgatherpf0qps [ebp+zmm7*8-123]{k1} # AVX512PF
+ vgatherpf0qps [eax+zmm7+256]{k1} # AVX512PF
+ vgatherpf0qps [ecx+zmm7*4+1024]{k1} # AVX512PF
+
+ vgatherpf1dpd [ebp+ymm7*8-123]{k1} # AVX512PF
+ vgatherpf1dpd [ebp+ymm7*8-123]{k1} # AVX512PF
+ vgatherpf1dpd [eax+ymm7+256]{k1} # AVX512PF
+ vgatherpf1dpd [ecx+ymm7*4+1024]{k1} # AVX512PF
+
+ vgatherpf1dps [ebp+zmm7*8-123]{k1} # AVX512PF
+ vgatherpf1dps [ebp+zmm7*8-123]{k1} # AVX512PF
+ vgatherpf1dps [eax+zmm7+256]{k1} # AVX512PF
+ vgatherpf1dps [ecx+zmm7*4+1024]{k1} # AVX512PF
+
+ vgatherpf1qpd [ebp+zmm7*8-123]{k1} # AVX512PF
+ vgatherpf1qpd [ebp+zmm7*8-123]{k1} # AVX512PF
+ vgatherpf1qpd [eax+zmm7+256]{k1} # AVX512PF
+ vgatherpf1qpd [ecx+zmm7*4+1024]{k1} # AVX512PF
+
+ vgatherpf1qps [ebp+zmm7*8-123]{k1} # AVX512PF
+ vgatherpf1qps [ebp+zmm7*8-123]{k1} # AVX512PF
+ vgatherpf1qps [eax+zmm7+256]{k1} # AVX512PF
+ vgatherpf1qps [ecx+zmm7*4+1024]{k1} # AVX512PF
+
+ vscatterpf0dpd [ebp+ymm7*8-123]{k1} # AVX512PF
+ vscatterpf0dpd [ebp+ymm7*8-123]{k1} # AVX512PF
+ vscatterpf0dpd [eax+ymm7+256]{k1} # AVX512PF
+ vscatterpf0dpd [ecx+ymm7*4+1024]{k1} # AVX512PF
+
+ vscatterpf0dps [ebp+zmm7*8-123]{k1} # AVX512PF
+ vscatterpf0dps [ebp+zmm7*8-123]{k1} # AVX512PF
+ vscatterpf0dps [eax+zmm7+256]{k1} # AVX512PF
+ vscatterpf0dps [ecx+zmm7*4+1024]{k1} # AVX512PF
+
+ vscatterpf0qpd [ebp+zmm7*8-123]{k1} # AVX512PF
+ vscatterpf0qpd [ebp+zmm7*8-123]{k1} # AVX512PF
+ vscatterpf0qpd [eax+zmm7+256]{k1} # AVX512PF
+ vscatterpf0qpd [ecx+zmm7*4+1024]{k1} # AVX512PF
+
+ vscatterpf0qps [ebp+zmm7*8-123]{k1} # AVX512PF
+ vscatterpf0qps [ebp+zmm7*8-123]{k1} # AVX512PF
+ vscatterpf0qps [eax+zmm7+256]{k1} # AVX512PF
+ vscatterpf0qps [ecx+zmm7*4+1024]{k1} # AVX512PF
+
+ vscatterpf1dpd [ebp+ymm7*8-123]{k1} # AVX512PF
+ vscatterpf1dpd [ebp+ymm7*8-123]{k1} # AVX512PF
+ vscatterpf1dpd [eax+ymm7+256]{k1} # AVX512PF
+ vscatterpf1dpd [ecx+ymm7*4+1024]{k1} # AVX512PF
+
+ vscatterpf1dps [ebp+zmm7*8-123]{k1} # AVX512PF
+ vscatterpf1dps [ebp+zmm7*8-123]{k1} # AVX512PF
+ vscatterpf1dps [eax+zmm7+256]{k1} # AVX512PF
+ vscatterpf1dps [ecx+zmm7*4+1024]{k1} # AVX512PF
+
+ vscatterpf1qpd [ebp+zmm7*8-123]{k1} # AVX512PF
+ vscatterpf1qpd [ebp+zmm7*8-123]{k1} # AVX512PF
+ vscatterpf1qpd [eax+zmm7+256]{k1} # AVX512PF
+ vscatterpf1qpd [ecx+zmm7*4+1024]{k1} # AVX512PF
+
+ vscatterpf1qps [ebp+zmm7*8-123]{k1} # AVX512PF
+ vscatterpf1qps [ebp+zmm7*8-123]{k1} # AVX512PF
+ vscatterpf1qps [eax+zmm7+256]{k1} # AVX512PF
+ vscatterpf1qps [ecx+zmm7*4+1024]{k1} # AVX512PF
diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp
index babeb94..3cf1aa3 100644
--- a/gas/testsuite/gas/i386/i386.exp
+++ b/gas/testsuite/gas/i386/i386.exp
@@ -411,6 +411,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]]
run_dump_test "avx512bitalg-intel"
run_dump_test "avx512bitalg_vl"
run_dump_test "avx512bitalg_vl-intel"
+ run_list_test "sg"
run_dump_test "clzero"
run_dump_test "disassem"
run_dump_test "mwaitx-bdver4"
diff --git a/gas/testsuite/gas/i386/sg.l b/gas/testsuite/gas/i386/sg.l
new file mode 100644
index 0000000..f51c37e
--- /dev/null
+++ b/gas/testsuite/gas/i386/sg.l
@@ -0,0 +1,25 @@
+.*: Assembler messages:
+.*:8: Error: operand size .* `vgatherdpd'
+.*:9: Error: operand size .* `vgatherdpd'
+.*:10: Error: operand size .* `vscatterdpd'
+.*:16: Error: operand size .* `vgatherdps'
+.*:17: Error: operand size .* `vgatherdps'
+.*:18: Error: operand size .* `vscatterdps'
+.*:24: Error: operand size .* `vgatherqpd'
+.*:25: Error: operand size .* `vgatherqpd'
+.*:26: Error: operand size .* `vscatterqpd'
+.*:32: Error: operand size .* `vgatherqps'
+.*:33: Error: operand size .* `vgatherqps'
+.*:34: Error: operand size .* `vscatterqps'
+.*:40: Error: operand size .* `vpgatherdd'
+.*:41: Error: operand size .* `vpgatherdd'
+.*:42: Error: operand size .* `vpscatterdd'
+.*:48: Error: operand size .* `vpgatherdq'
+.*:49: Error: operand size .* `vpgatherdq'
+.*:50: Error: operand size .* `vpscatterdq'
+.*:56: Error: operand size .* `vpgatherqd'
+.*:57: Error: operand size .* `vpgatherqd'
+.*:58: Error: operand size .* `vpscatterqd'
+.*:64: Error: operand size .* `vpgatherqq'
+.*:65: Error: operand size .* `vpgatherqq'
+.*:66: Error: operand size .* `vpscatterqq'
diff --git a/gas/testsuite/gas/i386/sg.s b/gas/testsuite/gas/i386/sg.s
new file mode 100644
index 0000000..bee4b86
--- /dev/null
+++ b/gas/testsuite/gas/i386/sg.s
@@ -0,0 +1,66 @@
+ .text
+ .intel_syntax noprefix
+sg:
+ vgatherdpd xmm2, qword ptr [eax+xmm1], xmm0
+ vgatherdpd xmm2{k7}, qword ptr [eax+xmm1]
+ vscatterdpd qword ptr [eax+xmm1]{k7}, xmm0
+
+ vgatherdpd xmm2, xmmword ptr [eax+xmm1], xmm0
+ vgatherdpd xmm2{k7}, xmmword ptr [eax+xmm1]
+ vscatterdpd xmmword ptr [eax+xmm1]{k7}, xmm0
+
+ vgatherdps xmm2, dword ptr [eax+xmm1], xmm0
+ vgatherdps xmm2{k7}, dword ptr [eax+xmm1]
+ vscatterdps dword ptr [eax+xmm1]{k7}, xmm0
+
+ vgatherdps xmm2, xmmword ptr [eax+xmm1], xmm0
+ vgatherdps xmm2{k7}, xmmword ptr [eax+xmm1]
+ vscatterdps xmmword ptr [eax+xmm1]{k7}, xmm0
+
+ vgatherqpd xmm2, qword ptr [eax+xmm1], xmm0
+ vgatherqpd xmm2{k7}, qword ptr [eax+xmm1]
+ vscatterqpd qword ptr [eax+xmm1]{k7}, xmm0
+
+ vgatherqpd xmm2, xmmword ptr [eax+xmm1], xmm0
+ vgatherqpd xmm2{k7}, xmmword ptr [eax+xmm1]
+ vscatterqpd xmmword ptr [eax+xmm1]{k7}, xmm0
+
+ vgatherqps xmm2, dword ptr [eax+xmm1], xmm0
+ vgatherqps xmm2{k7}, dword ptr [eax+xmm1]
+ vscatterqps dword ptr [eax+xmm1]{k7}, xmm0
+
+ vgatherqps xmm2, xmmword ptr [eax+xmm1], xmm0
+ vgatherqps xmm2{k7}, xmmword ptr [eax+xmm1]
+ vscatterqps xmmword ptr [eax+xmm1]{k7}, xmm0
+
+ vpgatherdd xmm2, dword ptr [eax+xmm1], xmm0
+ vpgatherdd xmm2{k7}, dword ptr [eax+xmm1]
+ vpscatterdd dword ptr [eax+xmm1]{k7}, xmm0
+
+ vpgatherdd xmm2, xmmword ptr [eax+xmm1], xmm0
+ vpgatherdd xmm2{k7}, xmmword ptr [eax+xmm1]
+ vpscatterdd xmmword ptr [eax+xmm1]{k7}, xmm0
+
+ vpgatherdq xmm2, qword ptr [eax+xmm1], xmm0
+ vpgatherdq xmm2{k7}, qword ptr [eax+xmm1]
+ vpscatterdq qword ptr [eax+xmm1]{k7}, xmm0
+
+ vpgatherdq xmm2, xmmword ptr [eax+xmm1], xmm0
+ vpgatherdq xmm2{k7}, xmmword ptr [eax+xmm1]
+ vpscatterdq xmmword ptr [eax+xmm1]{k7}, xmm0
+
+ vpgatherqd xmm2, dword ptr [eax+xmm1], xmm0
+ vpgatherqd xmm2{k7}, dword ptr [eax+xmm1]
+ vpscatterqd dword ptr [eax+xmm1]{k7}, xmm0
+
+ vpgatherqd xmm2, xmmword ptr [eax+xmm1], xmm0
+ vpgatherqd xmm2{k7}, xmmword ptr [eax+xmm1]
+ vpscatterqd xmmword ptr [eax+xmm1]{k7}, xmm0
+
+ vpgatherqq xmm2, qword ptr [eax+xmm1], xmm0
+ vpgatherqq xmm2{k7}, qword ptr [eax+xmm1]
+ vpscatterqq qword ptr [eax+xmm1]{k7}, xmm0
+
+ vpgatherqq xmm2, xmmword ptr [eax+xmm1], xmm0
+ vpgatherqq xmm2{k7}, xmmword ptr [eax+xmm1]
+ vpscatterqq xmmword ptr [eax+xmm1]{k7}, xmm0
diff --git a/gas/testsuite/gas/i386/x86-64-avx512f.s b/gas/testsuite/gas/i386/x86-64-avx512f.s
index e2cbb12..31a0090 100644
--- a/gas/testsuite/gas/i386/x86-64-avx512f.s
+++ b/gas/testsuite/gas/i386/x86-64-avx512f.s
@@ -11617,26 +11617,26 @@ _start:
vfnmsub231ss xmm30{k7}, xmm29, DWORD PTR [rdx-512] # AVX512F Disp8
vfnmsub231ss xmm30{k7}, xmm29, DWORD PTR [rdx-516] # AVX512F
- vgatherdpd zmm30{k1}, ZMMWORD PTR [r14+ymm31*8-123] # AVX512F
- vgatherdpd zmm30{k1}, ZMMWORD PTR [r14+ymm31*8-123] # AVX512F
- vgatherdpd zmm30{k1}, ZMMWORD PTR [r9+ymm31+256] # AVX512F
- vgatherdpd zmm30{k1}, ZMMWORD PTR [rcx+ymm31*4+1024] # AVX512F
-
- vgatherdps zmm30{k1}, ZMMWORD PTR [r14+zmm31*8-123] # AVX512F
- vgatherdps zmm30{k1}, ZMMWORD PTR [r14+zmm31*8-123] # AVX512F
- vgatherdps zmm30{k1}, ZMMWORD PTR [r9+zmm31+256] # AVX512F
- vgatherdps zmm30{k1}, ZMMWORD PTR [rcx+zmm31*4+1024] # AVX512F
-
- vgatherqpd zmm30{k1}, ZMMWORD PTR [r14+zmm31*8-123] # AVX512F
- vgatherqpd zmm30{k1}, ZMMWORD PTR [r14+zmm31*8-123] # AVX512F
- vgatherqpd zmm30{k1}, ZMMWORD PTR [r9+zmm31+256] # AVX512F
- vgatherqpd zmm30{k1}, ZMMWORD PTR [rcx+zmm31*4+1024] # AVX512F
- vgatherqpd zmm3{k1}, ZMMWORD PTR [r14+zmm19*8+123] # AVX512F
-
- vgatherqps ymm30{k1}, YMMWORD PTR [r14+zmm31*8-123] # AVX512F
- vgatherqps ymm30{k1}, YMMWORD PTR [r14+zmm31*8-123] # AVX512F
- vgatherqps ymm30{k1}, YMMWORD PTR [r9+zmm31+256] # AVX512F
- vgatherqps ymm30{k1}, YMMWORD PTR [rcx+zmm31*4+1024] # AVX512F
+ vgatherdpd zmm30{k1}, [r14+ymm31*8-123] # AVX512F
+ vgatherdpd zmm30{k1}, [r14+ymm31*8-123] # AVX512F
+ vgatherdpd zmm30{k1}, [r9+ymm31+256] # AVX512F
+ vgatherdpd zmm30{k1}, [rcx+ymm31*4+1024] # AVX512F
+
+ vgatherdps zmm30{k1}, [r14+zmm31*8-123] # AVX512F
+ vgatherdps zmm30{k1}, [r14+zmm31*8-123] # AVX512F
+ vgatherdps zmm30{k1}, [r9+zmm31+256] # AVX512F
+ vgatherdps zmm30{k1}, [rcx+zmm31*4+1024] # AVX512F
+
+ vgatherqpd zmm30{k1}, [r14+zmm31*8-123] # AVX512F
+ vgatherqpd zmm30{k1}, [r14+zmm31*8-123] # AVX512F
+ vgatherqpd zmm30{k1}, [r9+zmm31+256] # AVX512F
+ vgatherqpd zmm30{k1}, [rcx+zmm31*4+1024] # AVX512F
+ vgatherqpd zmm3{k1}, [r14+zmm19*8+123] # AVX512F
+
+ vgatherqps ymm30{k1}, [r14+zmm31*8-123] # AVX512F
+ vgatherqps ymm30{k1}, [r14+zmm31*8-123] # AVX512F
+ vgatherqps ymm30{k1}, [r9+zmm31+256] # AVX512F
+ vgatherqps ymm30{k1}, [rcx+zmm31*4+1024] # AVX512F
vgetexppd zmm30, zmm29 # AVX512F
vgetexppd zmm30{k7}, zmm29 # AVX512F
@@ -13020,25 +13020,25 @@ _start:
vpexpandq zmm30{k7}, zmm29 # AVX512F
vpexpandq zmm30{k7}{z}, zmm29 # AVX512F
- vpgatherdd zmm30{k1}, ZMMWORD PTR [r14+zmm31*8-123] # AVX512F
- vpgatherdd zmm30{k1}, ZMMWORD PTR [r14+zmm31*8-123] # AVX512F
- vpgatherdd zmm30{k1}, ZMMWORD PTR [r9+zmm31+256] # AVX512F
- vpgatherdd zmm30{k1}, ZMMWORD PTR [rcx+zmm31*4+1024] # AVX512F
+ vpgatherdd zmm30{k1}, [r14+zmm31*8-123] # AVX512F
+ vpgatherdd zmm30{k1}, [r14+zmm31*8-123] # AVX512F
+ vpgatherdd zmm30{k1}, [r9+zmm31+256] # AVX512F
+ vpgatherdd zmm30{k1}, [rcx+zmm31*4+1024] # AVX512F
- vpgatherdq zmm30{k1}, ZMMWORD PTR [r14+ymm31*8-123] # AVX512F
- vpgatherdq zmm30{k1}, ZMMWORD PTR [r14+ymm31*8-123] # AVX512F
- vpgatherdq zmm30{k1}, ZMMWORD PTR [r9+ymm31+256] # AVX512F
- vpgatherdq zmm30{k1}, ZMMWORD PTR [rcx+ymm31*4+1024] # AVX512F
+ vpgatherdq zmm30{k1}, [r14+ymm31*8-123] # AVX512F
+ vpgatherdq zmm30{k1}, [r14+ymm31*8-123] # AVX512F
+ vpgatherdq zmm30{k1}, [r9+ymm31+256] # AVX512F
+ vpgatherdq zmm30{k1}, [rcx+ymm31*4+1024] # AVX512F
- vpgatherqd ymm30{k1}, YMMWORD PTR [r14+zmm31*8-123] # AVX512F
- vpgatherqd ymm30{k1}, YMMWORD PTR [r14+zmm31*8-123] # AVX512F
- vpgatherqd ymm30{k1}, YMMWORD PTR [r9+zmm31+256] # AVX512F
- vpgatherqd ymm30{k1}, YMMWORD PTR [rcx+zmm31*4+1024] # AVX512F
+ vpgatherqd ymm30{k1}, [r14+zmm31*8-123] # AVX512F
+ vpgatherqd ymm30{k1}, [r14+zmm31*8-123] # AVX512F
+ vpgatherqd ymm30{k1}, [r9+zmm31+256] # AVX512F
+ vpgatherqd ymm30{k1}, [rcx+zmm31*4+1024] # AVX512F
- vpgatherqq zmm30{k1}, ZMMWORD PTR [r14+zmm31*8-123] # AVX512F
- vpgatherqq zmm30{k1}, ZMMWORD PTR [r14+zmm31*8-123] # AVX512F
- vpgatherqq zmm30{k1}, ZMMWORD PTR [r9+zmm31+256] # AVX512F
- vpgatherqq zmm30{k1}, ZMMWORD PTR [rcx+zmm31*4+1024] # AVX512F
+ vpgatherqq zmm30{k1}, [r14+zmm31*8-123] # AVX512F
+ vpgatherqq zmm30{k1}, [r14+zmm31*8-123] # AVX512F
+ vpgatherqq zmm30{k1}, [r9+zmm31+256] # AVX512F
+ vpgatherqq zmm30{k1}, [rcx+zmm31*4+1024] # AVX512F
vpmaxsd zmm30, zmm29, zmm28 # AVX512F
vpmaxsd zmm30{k7}, zmm29, zmm28 # AVX512F
@@ -13325,25 +13325,25 @@ _start:
vporq zmm30, zmm29, [rdx-1024]{1to8} # AVX512F Disp8
vporq zmm30, zmm29, [rdx-1032]{1to8} # AVX512F
- vpscatterdd ZMMWORD PTR [r14+zmm31*8-123]{k1}, zmm30 # AVX512F
- vpscatterdd ZMMWORD PTR [r14+zmm31*8-123]{k1}, zmm30 # AVX512F
- vpscatterdd ZMMWORD PTR [r9+zmm31+256]{k1}, zmm30 # AVX512F
- vpscatterdd ZMMWORD PTR [rcx+zmm31*4+1024]{k1}, zmm30 # AVX512F
+ vpscatterdd [r14+zmm31*8-123]{k1}, zmm30 # AVX512F
+ vpscatterdd [r14+zmm31*8-123]{k1}, zmm30 # AVX512F
+ vpscatterdd [r9+zmm31+256]{k1}, zmm30 # AVX512F
+ vpscatterdd [rcx+zmm31*4+1024]{k1}, zmm30 # AVX512F
- vpscatterdq ZMMWORD PTR [r14+ymm31*8-123]{k1}, zmm30 # AVX512F
- vpscatterdq ZMMWORD PTR [r14+ymm31*8-123]{k1}, zmm30 # AVX512F
- vpscatterdq ZMMWORD PTR [r9+ymm31+256]{k1}, zmm30 # AVX512F
- vpscatterdq ZMMWORD PTR [rcx+ymm31*4+1024]{k1}, zmm30 # AVX512F
+ vpscatterdq [r14+ymm31*8-123]{k1}, zmm30 # AVX512F
+ vpscatterdq [r14+ymm31*8-123]{k1}, zmm30 # AVX512F
+ vpscatterdq [r9+ymm31+256]{k1}, zmm30 # AVX512F
+ vpscatterdq [rcx+ymm31*4+1024]{k1}, zmm30 # AVX512F
- vpscatterqd YMMWORD PTR [r14+zmm31*8-123]{k1}, ymm30 # AVX512F
- vpscatterqd YMMWORD PTR [r14+zmm31*8-123]{k1}, ymm30 # AVX512F
- vpscatterqd YMMWORD PTR [r9+zmm31+256]{k1}, ymm30 # AVX512F
- vpscatterqd YMMWORD PTR [rcx+zmm31*4+1024]{k1}, ymm30 # AVX512F
+ vpscatterqd [r14+zmm31*8-123]{k1}, ymm30 # AVX512F
+ vpscatterqd [r14+zmm31*8-123]{k1}, ymm30 # AVX512F
+ vpscatterqd [r9+zmm31+256]{k1}, ymm30 # AVX512F
+ vpscatterqd [rcx+zmm31*4+1024]{k1}, ymm30 # AVX512F
- vpscatterqq ZMMWORD PTR [r14+zmm31*8-123]{k1}, zmm30 # AVX512F
- vpscatterqq ZMMWORD PTR [r14+zmm31*8-123]{k1}, zmm30 # AVX512F
- vpscatterqq ZMMWORD PTR [r9+zmm31+256]{k1}, zmm30 # AVX512F
- vpscatterqq ZMMWORD PTR [rcx+zmm31*4+1024]{k1}, zmm30 # AVX512F
+ vpscatterqq [r14+zmm31*8-123]{k1}, zmm30 # AVX512F
+ vpscatterqq [r14+zmm31*8-123]{k1}, zmm30 # AVX512F
+ vpscatterqq [r9+zmm31+256]{k1}, zmm30 # AVX512F
+ vpscatterqq [rcx+zmm31*4+1024]{k1}, zmm30 # AVX512F
vpshufd zmm30, zmm29, 0xab # AVX512F
vpshufd zmm30{k7}, zmm29, 0xab # AVX512F
@@ -13781,25 +13781,25 @@ _start:
vrsqrt14ss xmm30{k7}, xmm29, DWORD PTR [rdx-512] # AVX512F Disp8
vrsqrt14ss xmm30{k7}, xmm29, DWORD PTR [rdx-516] # AVX512F
- vscatterdpd ZMMWORD PTR [r14+ymm31*8-123]{k1}, zmm30 # AVX512F
- vscatterdpd ZMMWORD PTR [r14+ymm31*8-123]{k1}, zmm30 # AVX512F
- vscatterdpd ZMMWORD PTR [r9+ymm31+256]{k1}, zmm30 # AVX512F
- vscatterdpd ZMMWORD PTR [rcx+ymm31*4+1024]{k1}, zmm30 # AVX512F
-
- vscatterdps ZMMWORD PTR [r14+zmm31*8-123]{k1}, zmm30 # AVX512F
- vscatterdps ZMMWORD PTR [r14+zmm31*8-123]{k1}, zmm30 # AVX512F
- vscatterdps ZMMWORD PTR [r9+zmm31+256]{k1}, zmm30 # AVX512F
- vscatterdps ZMMWORD PTR [rcx+zmm31*4+1024]{k1}, zmm30 # AVX512F
-
- vscatterqpd ZMMWORD PTR [r14+zmm31*8-123]{k1}, zmm30 # AVX512F
- vscatterqpd ZMMWORD PTR [r14+zmm31*8-123]{k1}, zmm30 # AVX512F
- vscatterqpd ZMMWORD PTR [r9+zmm31+256]{k1}, zmm30 # AVX512F
- vscatterqpd ZMMWORD PTR [rcx+zmm31*4+1024]{k1}, zmm30 # AVX512F
-
- vscatterqps YMMWORD PTR [r14+zmm31*8-123]{k1}, ymm30 # AVX512F
- vscatterqps YMMWORD PTR [r14+zmm31*8-123]{k1}, ymm30 # AVX512F
- vscatterqps YMMWORD PTR [r9+zmm31+256]{k1}, ymm30 # AVX512F
- vscatterqps YMMWORD PTR [rcx+zmm31*4+1024]{k1}, ymm30 # AVX512F
+ vscatterdpd [r14+ymm31*8-123]{k1}, zmm30 # AVX512F
+ vscatterdpd [r14+ymm31*8-123]{k1}, zmm30 # AVX512F
+ vscatterdpd [r9+ymm31+256]{k1}, zmm30 # AVX512F
+ vscatterdpd [rcx+ymm31*4+1024]{k1}, zmm30 # AVX512F
+
+ vscatterdps [r14+zmm31*8-123]{k1}, zmm30 # AVX512F
+ vscatterdps [r14+zmm31*8-123]{k1}, zmm30 # AVX512F
+ vscatterdps [r9+zmm31+256]{k1}, zmm30 # AVX512F
+ vscatterdps [rcx+zmm31*4+1024]{k1}, zmm30 # AVX512F
+
+ vscatterqpd [r14+zmm31*8-123]{k1}, zmm30 # AVX512F
+ vscatterqpd [r14+zmm31*8-123]{k1}, zmm30 # AVX512F
+ vscatterqpd [r9+zmm31+256]{k1}, zmm30 # AVX512F
+ vscatterqpd [rcx+zmm31*4+1024]{k1}, zmm30 # AVX512F
+
+ vscatterqps [r14+zmm31*8-123]{k1}, ymm30 # AVX512F
+ vscatterqps [r14+zmm31*8-123]{k1}, ymm30 # AVX512F
+ vscatterqps [r9+zmm31+256]{k1}, ymm30 # AVX512F
+ vscatterqps [rcx+zmm31*4+1024]{k1}, ymm30 # AVX512F
vshufpd zmm30, zmm29, zmm28, 0xab # AVX512F
vshufpd zmm30{k7}, zmm29, zmm28, 0xab # AVX512F
diff --git a/gas/testsuite/gas/i386/x86-64-avx512f_vl.s b/gas/testsuite/gas/i386/x86-64-avx512f_vl.s
index 9891f0cd..38cfcf5 100644
--- a/gas/testsuite/gas/i386/x86-64-avx512f_vl.s
+++ b/gas/testsuite/gas/i386/x86-64-avx512f_vl.s
@@ -8077,30 +8077,30 @@ _start:
vfnmsub231ps ymm30, ymm29, [rdx+512]{1to8} # AVX512{F,VL}
vfnmsub231ps ymm30, ymm29, [rdx-512]{1to8} # AVX512{F,VL} Disp8
vfnmsub231ps ymm30, ymm29, [rdx-516]{1to8} # AVX512{F,VL}
- vgatherdpd xmm30{k1}, XMMWORD PTR [r14+xmm31*8-123] # AVX512{F,VL}
- vgatherdpd xmm30{k1}, XMMWORD PTR [r9+xmm31+256] # AVX512{F,VL}
- vgatherdpd xmm30{k1}, XMMWORD PTR [rcx+xmm31*4+1024] # AVX512{F,VL}
- vgatherdpd ymm30{k1}, YMMWORD PTR [r14+xmm31*8-123] # AVX512{F,VL}
- vgatherdpd ymm30{k1}, YMMWORD PTR [r9+xmm31+256] # AVX512{F,VL}
- vgatherdpd ymm30{k1}, YMMWORD PTR [rcx+xmm31*4+1024] # AVX512{F,VL}
- vgatherdps xmm30{k1}, XMMWORD PTR [r14+xmm31*8-123] # AVX512{F,VL}
- vgatherdps xmm30{k1}, XMMWORD PTR [r9+xmm31+256] # AVX512{F,VL}
- vgatherdps xmm30{k1}, XMMWORD PTR [rcx+xmm31*4+1024] # AVX512{F,VL}
- vgatherdps ymm30{k1}, YMMWORD PTR [r14+ymm31*8-123] # AVX512{F,VL}
- vgatherdps ymm30{k1}, YMMWORD PTR [r9+ymm31+256] # AVX512{F,VL}
- vgatherdps ymm30{k1}, YMMWORD PTR [rcx+ymm31*4+1024] # AVX512{F,VL}
- vgatherqpd xmm30{k1}, XMMWORD PTR [r14+xmm31*8-123] # AVX512{F,VL}
- vgatherqpd xmm30{k1}, XMMWORD PTR [r9+xmm31+256] # AVX512{F,VL}
- vgatherqpd xmm30{k1}, XMMWORD PTR [rcx+xmm31*4+1024] # AVX512{F,VL}
- vgatherqpd ymm30{k1}, YMMWORD PTR [r14+ymm31*8-123] # AVX512{F,VL}
- vgatherqpd ymm30{k1}, YMMWORD PTR [r9+ymm31+256] # AVX512{F,VL}
- vgatherqpd ymm30{k1}, YMMWORD PTR [rcx+ymm31*4+1024] # AVX512{F,VL}
- vgatherqps xmm30{k1}, QWORD PTR [r14+xmm31*8-123] # AVX512{F,VL}
- vgatherqps xmm30{k1}, QWORD PTR [r9+xmm31+256] # AVX512{F,VL}
- vgatherqps xmm30{k1}, QWORD PTR [rcx+xmm31*4+1024] # AVX512{F,VL}
- vgatherqps xmm30{k1}, XMMWORD PTR [r14+ymm31*8-123] # AVX512{F,VL}
- vgatherqps xmm30{k1}, XMMWORD PTR [r9+ymm31+256] # AVX512{F,VL}
- vgatherqps xmm30{k1}, XMMWORD PTR [rcx+ymm31*4+1024] # AVX512{F,VL}
+ vgatherdpd xmm30{k1}, [r14+xmm31*8-123] # AVX512{F,VL}
+ vgatherdpd xmm30{k1}, [r9+xmm31+256] # AVX512{F,VL}
+ vgatherdpd xmm30{k1}, [rcx+xmm31*4+1024] # AVX512{F,VL}
+ vgatherdpd ymm30{k1}, [r14+xmm31*8-123] # AVX512{F,VL}
+ vgatherdpd ymm30{k1}, [r9+xmm31+256] # AVX512{F,VL}
+ vgatherdpd ymm30{k1}, [rcx+xmm31*4+1024] # AVX512{F,VL}
+ vgatherdps xmm30{k1}, [r14+xmm31*8-123] # AVX512{F,VL}
+ vgatherdps xmm30{k1}, [r9+xmm31+256] # AVX512{F,VL}
+ vgatherdps xmm30{k1}, [rcx+xmm31*4+1024] # AVX512{F,VL}
+ vgatherdps ymm30{k1}, [r14+ymm31*8-123] # AVX512{F,VL}
+ vgatherdps ymm30{k1}, [r9+ymm31+256] # AVX512{F,VL}
+ vgatherdps ymm30{k1}, [rcx+ymm31*4+1024] # AVX512{F,VL}
+ vgatherqpd xmm30{k1}, [r14+xmm31*8-123] # AVX512{F,VL}
+ vgatherqpd xmm30{k1}, [r9+xmm31+256] # AVX512{F,VL}
+ vgatherqpd xmm30{k1}, [rcx+xmm31*4+1024] # AVX512{F,VL}
+ vgatherqpd ymm30{k1}, [r14+ymm31*8-123] # AVX512{F,VL}
+ vgatherqpd ymm30{k1}, [r9+ymm31+256] # AVX512{F,VL}
+ vgatherqpd ymm30{k1}, [rcx+ymm31*4+1024] # AVX512{F,VL}
+ vgatherqps xmm30{k1}, [r14+xmm31*8-123] # AVX512{F,VL}
+ vgatherqps xmm30{k1}, [r9+xmm31+256] # AVX512{F,VL}
+ vgatherqps xmm30{k1}, [rcx+xmm31*4+1024] # AVX512{F,VL}
+ vgatherqps xmm30{k1}, [r14+ymm31*8-123] # AVX512{F,VL}
+ vgatherqps xmm30{k1}, [r9+ymm31+256] # AVX512{F,VL}
+ vgatherqps xmm30{k1}, [rcx+ymm31*4+1024] # AVX512{F,VL}
vgetexppd xmm30, xmm29 # AVX512{F,VL}
vgetexppd xmm30{k7}, xmm29 # AVX512{F,VL}
vgetexppd xmm30{k7}{z}, xmm29 # AVX512{F,VL}
@@ -9447,30 +9447,30 @@ _start:
vpexpandq ymm30, ymm29 # AVX512{F,VL}
vpexpandq ymm30{k7}, ymm29 # AVX512{F,VL}
vpexpandq ymm30{k7}{z}, ymm29 # AVX512{F,VL}
- vpgatherdd xmm30{k1}, XMMWORD PTR [r14+xmm31*8-123] # AVX512{F,VL}
- vpgatherdd xmm30{k1}, XMMWORD PTR [r9+xmm31+256] # AVX512{F,VL}
- vpgatherdd xmm30{k1}, XMMWORD PTR [rcx+xmm31*4+1024] # AVX512{F,VL}
- vpgatherdd ymm30{k1}, YMMWORD PTR [r14+ymm31*8-123] # AVX512{F,VL}
- vpgatherdd ymm30{k1}, YMMWORD PTR [r9+ymm31+256] # AVX512{F,VL}
- vpgatherdd ymm30{k1}, YMMWORD PTR [rcx+ymm31*4+1024] # AVX512{F,VL}
- vpgatherdq xmm30{k1}, XMMWORD PTR [r14+xmm31*8-123] # AVX512{F,VL}
- vpgatherdq xmm30{k1}, XMMWORD PTR [r9+xmm31+256] # AVX512{F,VL}
- vpgatherdq xmm30{k1}, XMMWORD PTR [rcx+xmm31*4+1024] # AVX512{F,VL}
- vpgatherdq ymm30{k1}, YMMWORD PTR [r14+xmm31*8-123] # AVX512{F,VL}
- vpgatherdq ymm30{k1}, YMMWORD PTR [r9+xmm31+256] # AVX512{F,VL}
- vpgatherdq ymm30{k1}, YMMWORD PTR [rcx+xmm31*4+1024] # AVX512{F,VL}
- vpgatherqd xmm30{k1}, QWORD PTR [r14+xmm31*8-123] # AVX512{F,VL}
- vpgatherqd xmm30{k1}, QWORD PTR [r9+xmm31+256] # AVX512{F,VL}
- vpgatherqd xmm30{k1}, QWORD PTR [rcx+xmm31*4+1024] # AVX512{F,VL}
- vpgatherqd xmm30{k1}, XMMWORD PTR [r14+ymm31*8-123] # AVX512{F,VL}
- vpgatherqd xmm30{k1}, XMMWORD PTR [r9+ymm31+256] # AVX512{F,VL}
- vpgatherqd xmm30{k1}, XMMWORD PTR [rcx+ymm31*4+1024] # AVX512{F,VL}
- vpgatherqq xmm30{k1}, XMMWORD PTR [r14+xmm31*8-123] # AVX512{F,VL}
- vpgatherqq xmm30{k1}, XMMWORD PTR [r9+xmm31+256] # AVX512{F,VL}
- vpgatherqq xmm30{k1}, XMMWORD PTR [rcx+xmm31*4+1024] # AVX512{F,VL}
- vpgatherqq ymm30{k1}, YMMWORD PTR [r14+ymm31*8-123] # AVX512{F,VL}
- vpgatherqq ymm30{k1}, YMMWORD PTR [r9+ymm31+256] # AVX512{F,VL}
- vpgatherqq ymm30{k1}, YMMWORD PTR [rcx+ymm31*4+1024] # AVX512{F,VL}
+ vpgatherdd xmm30{k1}, [r14+xmm31*8-123] # AVX512{F,VL}
+ vpgatherdd xmm30{k1}, [r9+xmm31+256] # AVX512{F,VL}
+ vpgatherdd xmm30{k1}, [rcx+xmm31*4+1024] # AVX512{F,VL}
+ vpgatherdd ymm30{k1}, [r14+ymm31*8-123] # AVX512{F,VL}
+ vpgatherdd ymm30{k1}, [r9+ymm31+256] # AVX512{F,VL}
+ vpgatherdd ymm30{k1}, [rcx+ymm31*4+1024] # AVX512{F,VL}
+ vpgatherdq xmm30{k1}, [r14+xmm31*8-123] # AVX512{F,VL}
+ vpgatherdq xmm30{k1}, [r9+xmm31+256] # AVX512{F,VL}
+ vpgatherdq xmm30{k1}, [rcx+xmm31*4+1024] # AVX512{F,VL}
+ vpgatherdq ymm30{k1}, [r14+xmm31*8-123] # AVX512{F,VL}
+ vpgatherdq ymm30{k1}, [r9+xmm31+256] # AVX512{F,VL}
+ vpgatherdq ymm30{k1}, [rcx+xmm31*4+1024] # AVX512{F,VL}
+ vpgatherqd xmm30{k1}, [r14+xmm31*8-123] # AVX512{F,VL}
+ vpgatherqd xmm30{k1}, [r9+xmm31+256] # AVX512{F,VL}
+ vpgatherqd xmm30{k1}, [rcx+xmm31*4+1024] # AVX512{F,VL}
+ vpgatherqd xmm30{k1}, [r14+ymm31*8-123] # AVX512{F,VL}
+ vpgatherqd xmm30{k1}, [r9+ymm31+256] # AVX512{F,VL}
+ vpgatherqd xmm30{k1}, [rcx+ymm31*4+1024] # AVX512{F,VL}
+ vpgatherqq xmm30{k1}, [r14+xmm31*8-123] # AVX512{F,VL}
+ vpgatherqq xmm30{k1}, [r9+xmm31+256] # AVX512{F,VL}
+ vpgatherqq xmm30{k1}, [rcx+xmm31*4+1024] # AVX512{F,VL}
+ vpgatherqq ymm30{k1}, [r14+ymm31*8-123] # AVX512{F,VL}
+ vpgatherqq ymm30{k1}, [r9+ymm31+256] # AVX512{F,VL}
+ vpgatherqq ymm30{k1}, [rcx+ymm31*4+1024] # AVX512{F,VL}
vpmaxsd xmm30, xmm29, xmm28 # AVX512{F,VL}
vpmaxsd xmm30{k7}, xmm29, xmm28 # AVX512{F,VL}
vpmaxsd xmm30{k7}{z}, xmm29, xmm28 # AVX512{F,VL}
@@ -10015,38 +10015,38 @@ _start:
vporq ymm30, ymm29, [rdx+1024]{1to4} # AVX512{F,VL}
vporq ymm30, ymm29, [rdx-1024]{1to4} # AVX512{F,VL} Disp8
vporq ymm30, ymm29, [rdx-1032]{1to4} # AVX512{F,VL}
- vpscatterdd XMMWORD PTR [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vpscatterdd XMMWORD PTR [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vpscatterdd XMMWORD PTR [r9+xmm31+256]{k1}, xmm30 # AVX512{F,VL}
- vpscatterdd XMMWORD PTR [rcx+xmm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
- vpscatterdd YMMWORD PTR [r14+ymm31*8-123]{k1}, ymm30 # AVX512{F,VL}
- vpscatterdd YMMWORD PTR [r14+ymm31*8-123]{k1}, ymm30 # AVX512{F,VL}
- vpscatterdd YMMWORD PTR [r9+ymm31+256]{k1}, ymm30 # AVX512{F,VL}
- vpscatterdd YMMWORD PTR [rcx+ymm31*4+1024]{k1}, ymm30 # AVX512{F,VL}
- vpscatterdq XMMWORD PTR [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vpscatterdq XMMWORD PTR [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vpscatterdq XMMWORD PTR [r9+xmm31+256]{k1}, xmm30 # AVX512{F,VL}
- vpscatterdq XMMWORD PTR [rcx+xmm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
- vpscatterdq YMMWORD PTR [r14+xmm31*8-123]{k1}, ymm30 # AVX512{F,VL}
- vpscatterdq YMMWORD PTR [r14+xmm31*8-123]{k1}, ymm30 # AVX512{F,VL}
- vpscatterdq YMMWORD PTR [r9+xmm31+256]{k1}, ymm30 # AVX512{F,VL}
- vpscatterdq YMMWORD PTR [rcx+xmm31*4+1024]{k1}, ymm30 # AVX512{F,VL}
- vpscatterqd QWORD PTR [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vpscatterqd QWORD PTR [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vpscatterqd QWORD PTR [r9+xmm31+256]{k1}, xmm30 # AVX512{F,VL}
- vpscatterqd QWORD PTR [rcx+xmm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
- vpscatterqd XMMWORD PTR [r14+ymm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vpscatterqd XMMWORD PTR [r14+ymm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vpscatterqd XMMWORD PTR [r9+ymm31+256]{k1}, xmm30 # AVX512{F,VL}
- vpscatterqd XMMWORD PTR [rcx+ymm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
- vpscatterqq XMMWORD PTR [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vpscatterqq XMMWORD PTR [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vpscatterqq XMMWORD PTR [r9+xmm31+256]{k1}, xmm30 # AVX512{F,VL}
- vpscatterqq XMMWORD PTR [rcx+xmm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
- vpscatterqq YMMWORD PTR [r14+ymm31*8-123]{k1}, ymm30 # AVX512{F,VL}
- vpscatterqq YMMWORD PTR [r14+ymm31*8-123]{k1}, ymm30 # AVX512{F,VL}
- vpscatterqq YMMWORD PTR [r9+ymm31+256]{k1}, ymm30 # AVX512{F,VL}
- vpscatterqq YMMWORD PTR [rcx+ymm31*4+1024]{k1}, ymm30 # AVX512{F,VL}
+ vpscatterdd [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterdd [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterdd [r9+xmm31+256]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterdd [rcx+xmm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterdd [r14+ymm31*8-123]{k1}, ymm30 # AVX512{F,VL}
+ vpscatterdd [r14+ymm31*8-123]{k1}, ymm30 # AVX512{F,VL}
+ vpscatterdd [r9+ymm31+256]{k1}, ymm30 # AVX512{F,VL}
+ vpscatterdd [rcx+ymm31*4+1024]{k1}, ymm30 # AVX512{F,VL}
+ vpscatterdq [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterdq [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterdq [r9+xmm31+256]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterdq [rcx+xmm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterdq [r14+xmm31*8-123]{k1}, ymm30 # AVX512{F,VL}
+ vpscatterdq [r14+xmm31*8-123]{k1}, ymm30 # AVX512{F,VL}
+ vpscatterdq [r9+xmm31+256]{k1}, ymm30 # AVX512{F,VL}
+ vpscatterdq [rcx+xmm31*4+1024]{k1}, ymm30 # AVX512{F,VL}
+ vpscatterqd [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterqd [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterqd [r9+xmm31+256]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterqd [rcx+xmm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterqd [r14+ymm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterqd [r14+ymm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterqd [r9+ymm31+256]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterqd [rcx+ymm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterqq [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterqq [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterqq [r9+xmm31+256]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterqq [rcx+xmm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
+ vpscatterqq [r14+ymm31*8-123]{k1}, ymm30 # AVX512{F,VL}
+ vpscatterqq [r14+ymm31*8-123]{k1}, ymm30 # AVX512{F,VL}
+ vpscatterqq [r9+ymm31+256]{k1}, ymm30 # AVX512{F,VL}
+ vpscatterqq [rcx+ymm31*4+1024]{k1}, ymm30 # AVX512{F,VL}
vpshufd xmm30, xmm29, 0xab # AVX512{F,VL}
vpshufd xmm30{k7}, xmm29, 0xab # AVX512{F,VL}
vpshufd xmm30{k7}{z}, xmm29, 0xab # AVX512{F,VL}
@@ -10801,38 +10801,38 @@ _start:
vrsqrt14ps ymm30, [rdx+512]{1to8} # AVX512{F,VL}
vrsqrt14ps ymm30, [rdx-512]{1to8} # AVX512{F,VL} Disp8
vrsqrt14ps ymm30, [rdx-516]{1to8} # AVX512{F,VL}
- vscatterdpd XMMWORD PTR [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vscatterdpd XMMWORD PTR [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vscatterdpd XMMWORD PTR [r9+xmm31+256]{k1}, xmm30 # AVX512{F,VL}
- vscatterdpd XMMWORD PTR [rcx+xmm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
- vscatterdpd YMMWORD PTR [r14+xmm31*8-123]{k1}, ymm30 # AVX512{F,VL}
- vscatterdpd YMMWORD PTR [r14+xmm31*8-123]{k1}, ymm30 # AVX512{F,VL}
- vscatterdpd YMMWORD PTR [r9+xmm31+256]{k1}, ymm30 # AVX512{F,VL}
- vscatterdpd YMMWORD PTR [rcx+xmm31*4+1024]{k1}, ymm30 # AVX512{F,VL}
- vscatterdps XMMWORD PTR [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vscatterdps XMMWORD PTR [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vscatterdps XMMWORD PTR [r9+xmm31+256]{k1}, xmm30 # AVX512{F,VL}
- vscatterdps XMMWORD PTR [rcx+xmm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
- vscatterdps YMMWORD PTR [r14+ymm31*8-123]{k1}, ymm30 # AVX512{F,VL}
- vscatterdps YMMWORD PTR [r14+ymm31*8-123]{k1}, ymm30 # AVX512{F,VL}
- vscatterdps YMMWORD PTR [r9+ymm31+256]{k1}, ymm30 # AVX512{F,VL}
- vscatterdps YMMWORD PTR [rcx+ymm31*4+1024]{k1}, ymm30 # AVX512{F,VL}
- vscatterqpd XMMWORD PTR [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vscatterqpd XMMWORD PTR [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vscatterqpd XMMWORD PTR [r9+xmm31+256]{k1}, xmm30 # AVX512{F,VL}
- vscatterqpd XMMWORD PTR [rcx+xmm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
- vscatterqpd YMMWORD PTR [r14+ymm31*8-123]{k1}, ymm30 # AVX512{F,VL}
- vscatterqpd YMMWORD PTR [r14+ymm31*8-123]{k1}, ymm30 # AVX512{F,VL}
- vscatterqpd YMMWORD PTR [r9+ymm31+256]{k1}, ymm30 # AVX512{F,VL}
- vscatterqpd YMMWORD PTR [rcx+ymm31*4+1024]{k1}, ymm30 # AVX512{F,VL}
- vscatterqps QWORD PTR [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vscatterqps QWORD PTR [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vscatterqps QWORD PTR [r9+xmm31+256]{k1}, xmm30 # AVX512{F,VL}
- vscatterqps QWORD PTR [rcx+xmm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
- vscatterqps XMMWORD PTR [r14+ymm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vscatterqps XMMWORD PTR [r14+ymm31*8-123]{k1}, xmm30 # AVX512{F,VL}
- vscatterqps XMMWORD PTR [r9+ymm31+256]{k1}, xmm30 # AVX512{F,VL}
- vscatterqps XMMWORD PTR [rcx+ymm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
+ vscatterdpd [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vscatterdpd [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vscatterdpd [r9+xmm31+256]{k1}, xmm30 # AVX512{F,VL}
+ vscatterdpd [rcx+xmm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
+ vscatterdpd [r14+xmm31*8-123]{k1}, ymm30 # AVX512{F,VL}
+ vscatterdpd [r14+xmm31*8-123]{k1}, ymm30 # AVX512{F,VL}
+ vscatterdpd [r9+xmm31+256]{k1}, ymm30 # AVX512{F,VL}
+ vscatterdpd [rcx+xmm31*4+1024]{k1}, ymm30 # AVX512{F,VL}
+ vscatterdps [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vscatterdps [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vscatterdps [r9+xmm31+256]{k1}, xmm30 # AVX512{F,VL}
+ vscatterdps [rcx+xmm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
+ vscatterdps [r14+ymm31*8-123]{k1}, ymm30 # AVX512{F,VL}
+ vscatterdps [r14+ymm31*8-123]{k1}, ymm30 # AVX512{F,VL}
+ vscatterdps [r9+ymm31+256]{k1}, ymm30 # AVX512{F,VL}
+ vscatterdps [rcx+ymm31*4+1024]{k1}, ymm30 # AVX512{F,VL}
+ vscatterqpd [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vscatterqpd [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vscatterqpd [r9+xmm31+256]{k1}, xmm30 # AVX512{F,VL}
+ vscatterqpd [rcx+xmm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
+ vscatterqpd [r14+ymm31*8-123]{k1}, ymm30 # AVX512{F,VL}
+ vscatterqpd [r14+ymm31*8-123]{k1}, ymm30 # AVX512{F,VL}
+ vscatterqpd [r9+ymm31+256]{k1}, ymm30 # AVX512{F,VL}
+ vscatterqpd [rcx+ymm31*4+1024]{k1}, ymm30 # AVX512{F,VL}
+ vscatterqps [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vscatterqps [r14+xmm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vscatterqps [r9+xmm31+256]{k1}, xmm30 # AVX512{F,VL}
+ vscatterqps [rcx+xmm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
+ vscatterqps [r14+ymm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vscatterqps [r14+ymm31*8-123]{k1}, xmm30 # AVX512{F,VL}
+ vscatterqps [r9+ymm31+256]{k1}, xmm30 # AVX512{F,VL}
+ vscatterqps [rcx+ymm31*4+1024]{k1}, xmm30 # AVX512{F,VL}
vshufpd xmm30, xmm29, xmm28, 0xab # AVX512{F,VL}
vshufpd xmm30{k7}, xmm29, xmm28, 0xab # AVX512{F,VL}
vshufpd xmm30{k7}{z}, xmm29, xmm28, 0xab # AVX512{F,VL}
diff --git a/gas/testsuite/gas/i386/x86-64-avx512pf.s b/gas/testsuite/gas/i386/x86-64-avx512pf.s
index bceae73..b53f803 100644
--- a/gas/testsuite/gas/i386/x86-64-avx512pf.s
+++ b/gas/testsuite/gas/i386/x86-64-avx512pf.s
@@ -85,83 +85,83 @@ _start:
vscatterpf1qps 1024(%rcx,%zmm31,4){%k1} # AVX512PF
.intel_syntax noprefix
- vgatherpf0dpd ZMMWORD PTR [r14+ymm31*8-123]{k1} # AVX512PF
- vgatherpf0dpd ZMMWORD PTR [r14+ymm31*8-123]{k1} # AVX512PF
- vgatherpf0dpd ZMMWORD PTR [r9+ymm31+256]{k1} # AVX512PF
- vgatherpf0dpd ZMMWORD PTR [rcx+ymm31*4+1024]{k1} # AVX512PF
-
- vgatherpf0dps ZMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vgatherpf0dps ZMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vgatherpf0dps ZMMWORD PTR [r9+zmm31+256]{k1} # AVX512PF
- vgatherpf0dps ZMMWORD PTR [rcx+zmm31*4+1024]{k1} # AVX512PF
-
- vgatherpf0qpd ZMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vgatherpf0qpd ZMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vgatherpf0qpd ZMMWORD PTR [r9+zmm31+256]{k1} # AVX512PF
- vgatherpf0qpd ZMMWORD PTR [rcx+zmm31*4+1024]{k1} # AVX512PF
-
- vgatherpf0qps YMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vgatherpf0qps YMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vgatherpf0qps YMMWORD PTR [r9+zmm31+256]{k1} # AVX512PF
- vgatherpf0qps YMMWORD PTR [rcx+zmm31*4+1024]{k1} # AVX512PF
-
- vgatherpf1dpd ZMMWORD PTR [r14+ymm31*8-123]{k1} # AVX512PF
- vgatherpf1dpd ZMMWORD PTR [r14+ymm31*8-123]{k1} # AVX512PF
- vgatherpf1dpd ZMMWORD PTR [r9+ymm31+256]{k1} # AVX512PF
- vgatherpf1dpd ZMMWORD PTR [rcx+ymm31*4+1024]{k1} # AVX512PF
-
- vgatherpf1dps ZMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vgatherpf1dps ZMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vgatherpf1dps ZMMWORD PTR [r9+zmm31+256]{k1} # AVX512PF
- vgatherpf1dps ZMMWORD PTR [rcx+zmm31*4+1024]{k1} # AVX512PF
-
- vgatherpf1qpd ZMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vgatherpf1qpd ZMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vgatherpf1qpd ZMMWORD PTR [r9+zmm31+256]{k1} # AVX512PF
- vgatherpf1qpd ZMMWORD PTR [rcx+zmm31*4+1024]{k1} # AVX512PF
-
- vgatherpf1qps YMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vgatherpf1qps YMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vgatherpf1qps YMMWORD PTR [r9+zmm31+256]{k1} # AVX512PF
- vgatherpf1qps YMMWORD PTR [rcx+zmm31*4+1024]{k1} # AVX512PF
-
- vscatterpf0dpd ZMMWORD PTR [r14+ymm31*8-123]{k1} # AVX512PF
- vscatterpf0dpd ZMMWORD PTR [r14+ymm31*8-123]{k1} # AVX512PF
- vscatterpf0dpd ZMMWORD PTR [r9+ymm31+256]{k1} # AVX512PF
- vscatterpf0dpd ZMMWORD PTR [rcx+ymm31*4+1024]{k1} # AVX512PF
-
- vscatterpf0dps ZMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vscatterpf0dps ZMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vscatterpf0dps ZMMWORD PTR [r9+zmm31+256]{k1} # AVX512PF
- vscatterpf0dps ZMMWORD PTR [rcx+zmm31*4+1024]{k1} # AVX512PF
-
- vscatterpf0qpd ZMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vscatterpf0qpd ZMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vscatterpf0qpd ZMMWORD PTR [r9+zmm31+256]{k1} # AVX512PF
- vscatterpf0qpd ZMMWORD PTR [rcx+zmm31*4+1024]{k1} # AVX512PF
-
- vscatterpf0qps YMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vscatterpf0qps YMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vscatterpf0qps YMMWORD PTR [r9+zmm31+256]{k1} # AVX512PF
- vscatterpf0qps YMMWORD PTR [rcx+zmm31*4+1024]{k1} # AVX512PF
-
- vscatterpf1dpd ZMMWORD PTR [r14+ymm31*8-123]{k1} # AVX512PF
- vscatterpf1dpd ZMMWORD PTR [r14+ymm31*8-123]{k1} # AVX512PF
- vscatterpf1dpd ZMMWORD PTR [r9+ymm31+256]{k1} # AVX512PF
- vscatterpf1dpd ZMMWORD PTR [rcx+ymm31*4+1024]{k1} # AVX512PF
-
- vscatterpf1dps ZMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vscatterpf1dps ZMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vscatterpf1dps ZMMWORD PTR [r9+zmm31+256]{k1} # AVX512PF
- vscatterpf1dps ZMMWORD PTR [rcx+zmm31*4+1024]{k1} # AVX512PF
-
- vscatterpf1qpd ZMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vscatterpf1qpd ZMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vscatterpf1qpd ZMMWORD PTR [r9+zmm31+256]{k1} # AVX512PF
- vscatterpf1qpd ZMMWORD PTR [rcx+zmm31*4+1024]{k1} # AVX512PF
-
- vscatterpf1qps YMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vscatterpf1qps YMMWORD PTR [r14+zmm31*8-123]{k1} # AVX512PF
- vscatterpf1qps YMMWORD PTR [r9+zmm31+256]{k1} # AVX512PF
- vscatterpf1qps YMMWORD PTR [rcx+zmm31*4+1024]{k1} # AVX512PF
+ vgatherpf0dpd [r14+ymm31*8-123]{k1} # AVX512PF
+ vgatherpf0dpd [r14+ymm31*8-123]{k1} # AVX512PF
+ vgatherpf0dpd [r9+ymm31+256]{k1} # AVX512PF
+ vgatherpf0dpd [rcx+ymm31*4+1024]{k1} # AVX512PF
+
+ vgatherpf0dps [r14+zmm31*8-123]{k1} # AVX512PF
+ vgatherpf0dps [r14+zmm31*8-123]{k1} # AVX512PF
+ vgatherpf0dps [r9+zmm31+256]{k1} # AVX512PF
+ vgatherpf0dps [rcx+zmm31*4+1024]{k1} # AVX512PF
+
+ vgatherpf0qpd [r14+zmm31*8-123]{k1} # AVX512PF
+ vgatherpf0qpd [r14+zmm31*8-123]{k1} # AVX512PF
+ vgatherpf0qpd [r9+zmm31+256]{k1} # AVX512PF
+ vgatherpf0qpd [rcx+zmm31*4+1024]{k1} # AVX512PF
+
+ vgatherpf0qps [r14+zmm31*8-123]{k1} # AVX512PF
+ vgatherpf0qps [r14+zmm31*8-123]{k1} # AVX512PF
+ vgatherpf0qps [r9+zmm31+256]{k1} # AVX512PF
+ vgatherpf0qps [rcx+zmm31*4+1024]{k1} # AVX512PF
+
+ vgatherpf1dpd [r14+ymm31*8-123]{k1} # AVX512PF
+ vgatherpf1dpd [r14+ymm31*8-123]{k1} # AVX512PF
+ vgatherpf1dpd [r9+ymm31+256]{k1} # AVX512PF
+ vgatherpf1dpd [rcx+ymm31*4+1024]{k1} # AVX512PF
+
+ vgatherpf1dps [r14+zmm31*8-123]{k1} # AVX512PF
+ vgatherpf1dps [r14+zmm31*8-123]{k1} # AVX512PF
+ vgatherpf1dps [r9+zmm31+256]{k1} # AVX512PF
+ vgatherpf1dps [rcx+zmm31*4+1024]{k1} # AVX512PF
+
+ vgatherpf1qpd [r14+zmm31*8-123]{k1} # AVX512PF
+ vgatherpf1qpd [r14+zmm31*8-123]{k1} # AVX512PF
+ vgatherpf1qpd [r9+zmm31+256]{k1} # AVX512PF
+ vgatherpf1qpd [rcx+zmm31*4+1024]{k1} # AVX512PF
+
+ vgatherpf1qps [r14+zmm31*8-123]{k1} # AVX512PF
+ vgatherpf1qps [r14+zmm31*8-123]{k1} # AVX512PF
+ vgatherpf1qps [r9+zmm31+256]{k1} # AVX512PF
+ vgatherpf1qps [rcx+zmm31*4+1024]{k1} # AVX512PF
+
+ vscatterpf0dpd [r14+ymm31*8-123]{k1} # AVX512PF
+ vscatterpf0dpd [r14+ymm31*8-123]{k1} # AVX512PF
+ vscatterpf0dpd [r9+ymm31+256]{k1} # AVX512PF
+ vscatterpf0dpd [rcx+ymm31*4+1024]{k1} # AVX512PF
+
+ vscatterpf0dps [r14+zmm31*8-123]{k1} # AVX512PF
+ vscatterpf0dps [r14+zmm31*8-123]{k1} # AVX512PF
+ vscatterpf0dps [r9+zmm31+256]{k1} # AVX512PF
+ vscatterpf0dps [rcx+zmm31*4+1024]{k1} # AVX512PF
+
+ vscatterpf0qpd [r14+zmm31*8-123]{k1} # AVX512PF
+ vscatterpf0qpd [r14+zmm31*8-123]{k1} # AVX512PF
+ vscatterpf0qpd [r9+zmm31+256]{k1} # AVX512PF
+ vscatterpf0qpd [rcx+zmm31*4+1024]{k1} # AVX512PF
+
+ vscatterpf0qps [r14+zmm31*8-123]{k1} # AVX512PF
+ vscatterpf0qps [r14+zmm31*8-123]{k1} # AVX512PF
+ vscatterpf0qps [r9+zmm31+256]{k1} # AVX512PF
+ vscatterpf0qps [rcx+zmm31*4+1024]{k1} # AVX512PF
+
+ vscatterpf1dpd [r14+ymm31*8-123]{k1} # AVX512PF
+ vscatterpf1dpd [r14+ymm31*8-123]{k1} # AVX512PF
+ vscatterpf1dpd [r9+ymm31+256]{k1} # AVX512PF
+ vscatterpf1dpd [rcx+ymm31*4+1024]{k1} # AVX512PF
+
+ vscatterpf1dps [r14+zmm31*8-123]{k1} # AVX512PF
+ vscatterpf1dps [r14+zmm31*8-123]{k1} # AVX512PF
+ vscatterpf1dps [r9+zmm31+256]{k1} # AVX512PF
+ vscatterpf1dps [rcx+zmm31*4+1024]{k1} # AVX512PF
+
+ vscatterpf1qpd [r14+zmm31*8-123]{k1} # AVX512PF
+ vscatterpf1qpd [r14+zmm31*8-123]{k1} # AVX512PF
+ vscatterpf1qpd [r9+zmm31+256]{k1} # AVX512PF
+ vscatterpf1qpd [rcx+zmm31*4+1024]{k1} # AVX512PF
+
+ vscatterpf1qps [r14+zmm31*8-123]{k1} # AVX512PF
+ vscatterpf1qps [r14+zmm31*8-123]{k1} # AVX512PF
+ vscatterpf1qps [r9+zmm31+256]{k1} # AVX512PF
+ vscatterpf1qps [rcx+zmm31*4+1024]{k1} # AVX512PF
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 07a6f29d..1c9c1a1 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,5 +1,11 @@
2018-07-31 Jan Beulich <jbeulich@suse.com>
+ * i386-opc.tbl: Use element rather than vector size for AVX512*
+ scatter/gather insns.
+ * i386-tbl.h: Re-generate.
+
+2018-07-31 Jan Beulich <jbeulich@suse.com>
+
* i386-gen.c (cpu_flag_init): Drop CpuVREX uses.
(cpu_flags): Drop CpuVREX.
* i386-opc.h (CpuVREX): Delete.
diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl
index d22f23c..8b14589 100644
--- a/opcodes/i386-opc.tbl
+++ b/opcodes/i386-opc.tbl
@@ -3403,17 +3403,17 @@ vcompresspd, 2, 0x668A, None, 1, CpuAVX512F, Modrm|Masking=2|VexOpcode=1|VexW=2|
vcompresspd, 2, 0x668A, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
vpcompressq, 2, 0x668B, None, 1, CpuAVX512F, Modrm|Masking=2|VexOpcode=1|VexW=2|Disp8MemShift=3|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, XMMword|YMMword|ZMMword|Unspecified|BaseIndex }
vpcompressq, 2, 0x668B, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
-vpscatterdq, 2, 0x66A0, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vpscatterqq, 2, 0x66A1, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vscatterdpd, 2, 0x66A2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vscatterqpd, 2, 0x66A3, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
+vpscatterdq, 2, 0x66A0, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, Dword|Unspecified|BaseIndex }
+vpscatterqq, 2, 0x66A1, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, Dword|Unspecified|BaseIndex }
+vscatterdpd, 2, 0x66A2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, Dword|Unspecified|BaseIndex }
+vscatterqpd, 2, 0x66A3, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, Dword|Unspecified|BaseIndex }
vcompressps, 2, 0x668A, None, 1, CpuAVX512F, Modrm|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, XMMword|YMMword|ZMMword|Unspecified|BaseIndex }
vcompressps, 2, 0x668A, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
vpcompressd, 2, 0x668B, None, 1, CpuAVX512F, Modrm|Masking=2|VexOpcode=1|VexW=1|Disp8MemShift=2|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, XMMword|YMMword|ZMMword|Unspecified|BaseIndex }
vpcompressd, 2, 0x668B, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM|RegMem }
-vpscatterdd, 2, 0x66A0, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
-vscatterdps, 2, 0x66A2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, ZMMword|Unspecified|BaseIndex }
+vpscatterdd, 2, 0x66A0, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, Dword|Unspecified|BaseIndex }
+vscatterdps, 2, 0x66A2, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM, Dword|Unspecified|BaseIndex }
vcvtdq2pd, 2, 0xF3E6, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM }
vcvtudq2pd, 2, 0xF37A, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8MemShift=5|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM|Dword|YMMword|Unspecified|BaseIndex, RegZMM }
@@ -3675,17 +3675,17 @@ vfnmsub231ss, 4, 0x66BF, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1
vscalefss, 3, 0x662D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM, RegXMM }
vscalefss, 4, 0x662D, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=1|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
-vgatherdpd, 2, 0x6692, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vgatherqpd, 2, 0x6693, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vpgatherdq, 2, 0x6690, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
-vpgatherqq, 2, 0x6691, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
+vgatherdpd, 2, 0x6692, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegZMM }
+vgatherqpd, 2, 0x6693, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegZMM }
+vpgatherdq, 2, 0x6690, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegZMM }
+vpgatherqq, 2, 0x6691, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegZMM }
-vgatherdps, 2, 0x6692, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
+vgatherdps, 2, 0x6692, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex, RegZMM }
vmovntdqa, 2, 0x662A, None, 1, CpuAVX512F, Modrm|VexOpcode=1|VexW=1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|YMMword|ZMMword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
-vpgatherdd, 2, 0x6690, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex, RegZMM }
+vpgatherdd, 2, 0x6690, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex, RegZMM }
-vgatherqps, 2, 0x6693, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vpgatherqd, 2, 0x6691, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
+vgatherqps, 2, 0x6693, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex, RegYMM }
+vpgatherqd, 2, 0x6691, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex, RegYMM }
vgetexppd, 2, 0x6642, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=1|VexW=2|Broadcast|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
vgetexppd, 3, 0x6642, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=3|VexOpcode=1|VexW=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegZMM, RegZMM }
@@ -3953,8 +3953,8 @@ vprord, 3, 0x6672, 0, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexVVVV=2|VexW=
vprolq, 3, 0x6672, 1, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|Broadcast|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
vprorq, 3, 0x6672, 0, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexVVVV=2|VexW=2|Broadcast|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
-vpscatterqd, 2, 0x66A1, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-vscatterqps, 2, 0x66A3, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
+vpscatterqd, 2, 0x66A1, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Dword|Unspecified|BaseIndex }
+vscatterqps, 2, 0x66A3, None, 1, CpuAVX512F, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Dword|Unspecified|BaseIndex }
vpshufd, 3, 0x6670, None, 1, CpuAVX512F, Modrm|Masking=3|VexOpcode=0|VexW=1|Broadcast|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }
@@ -4041,23 +4041,23 @@ vrsqrt28ss, 4, 0x66CD, None, 1, CpuAVX512ER, Modrm|EVex=4|Masking=3|VexOpcode=1|
// AVX512PF instructions.
-vgatherpf0dpd, 1, 0x66C6, 1, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vgatherpf0qpd, 1, 0x66C7, 1, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vgatherpf1dpd, 1, 0x66C6, 2, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vgatherpf1qpd, 1, 0x66C7, 2, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vscatterpf0dpd, 1, 0x66C6, 5, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vscatterpf0qpd, 1, 0x66C7, 5, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vscatterpf1dpd, 1, 0x66C6, 6, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vscatterpf1qpd, 1, 0x66C7, 6, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-
-vgatherpf0dps, 1, 0x66C6, 1, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vgatherpf0qps, 1, 0x66C7, 1, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex }
-vgatherpf1dps, 1, 0x66C6, 2, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vgatherpf1qps, 1, 0x66C7, 2, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex }
-vscatterpf0dps, 1, 0x66C6, 5, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vscatterpf0qps, 1, 0x66C7, 5, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex }
-vscatterpf1dps, 1, 0x66C6, 6, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ZMMword|Unspecified|BaseIndex }
-vscatterpf1qps, 1, 0x66C7, 6, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex }
+vgatherpf0dpd, 1, 0x66C6, 1, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex }
+vgatherpf0qpd, 1, 0x66C7, 1, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex }
+vgatherpf1dpd, 1, 0x66C6, 2, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex }
+vgatherpf1qpd, 1, 0x66C7, 2, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex }
+vscatterpf0dpd, 1, 0x66C6, 5, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex }
+vscatterpf0qpd, 1, 0x66C7, 5, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex }
+vscatterpf1dpd, 1, 0x66C6, 6, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex }
+vscatterpf1qpd, 1, 0x66C7, 6, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex }
+
+vgatherpf0dps, 1, 0x66C6, 1, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex }
+vgatherpf0qps, 1, 0x66C7, 1, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex }
+vgatherpf1dps, 1, 0x66C6, 2, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex }
+vgatherpf1qps, 1, 0x66C7, 2, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex }
+vscatterpf0dps, 1, 0x66C6, 5, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex }
+vscatterpf0qps, 1, 0x66C7, 5, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex }
+vscatterpf1dps, 1, 0x66C6, 6, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex }
+vscatterpf1qps, 1, 0x66C7, 6, 1, CpuAVX512PF, Modrm|EVex=1|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex }
// AVX512PF instructions end.
@@ -4098,35 +4098,35 @@ enclu, 0, 0xf01d7, None, 3, CpuSE1, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_l
// AVX512VL instructions.
-vgatherdpd, 2, 0x6692, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM }
-vgatherqpd, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vgatherqpd, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vpgatherdq, 2, 0x6690, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM }
-vpgatherqq, 2, 0x6691, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vpgatherqq, 2, 0x6691, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vpscatterdq, 2, 0x66A0, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, Xmmword|Ymmword|Unspecified|BaseIndex }
-vpscatterqq, 2, 0x66A1, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vpscatterqq, 2, 0x66A1, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-vscatterdpd, 2, 0x66A2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, Xmmword|Ymmword|Unspecified|BaseIndex }
-vscatterqpd, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vscatterqpd, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-
-vgatherdps, 2, 0x6692, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vgatherdps, 2, 0x6692, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vgatherqps, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM }
-vgatherqps, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vpgatherdd, 2, 0x6690, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vpgatherdd, 2, 0x6690, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { YMMword|Unspecified|BaseIndex, RegYMM }
-vpgatherqd, 2, 0x6691, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM }
-vpgatherqd, 2, 0x6691, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { XMMword|Unspecified|BaseIndex, RegXMM }
-vpscatterdd, 2, 0x66A0, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vpscatterdd, 2, 0x66A0, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-vpscatterqd, 2, 0x66A1, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
-vpscatterqd, 2, 0x66A1, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vscatterdps, 2, 0x66A2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
-vscatterdps, 2, 0x66A2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, YMMword|Unspecified|BaseIndex }
-vscatterqps, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
-vscatterqps, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, XMMword|Unspecified|BaseIndex }
+vgatherdpd, 2, 0x6692, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM|RegYMM }
+vgatherqpd, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM }
+vgatherqpd, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegYMM }
+vpgatherdq, 2, 0x6690, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM|RegYMM }
+vpgatherqq, 2, 0x6691, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegXMM }
+vpgatherqq, 2, 0x6691, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Qword|Unspecified|BaseIndex, RegYMM }
+vpscatterdq, 2, 0x66A0, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, Qword|Unspecified|BaseIndex }
+vpscatterqq, 2, 0x66A1, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
+vpscatterqq, 2, 0x66A1, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Qword|Unspecified|BaseIndex }
+vscatterdpd, 2, 0x66A2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM, Qword|Unspecified|BaseIndex }
+vscatterqpd, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Qword|Unspecified|BaseIndex }
+vscatterqpd, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=2|Disp8MemShift=3|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Qword|Unspecified|BaseIndex }
+
+vgatherdps, 2, 0x6692, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex, RegXMM }
+vgatherdps, 2, 0x6692, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex, RegYMM }
+vgatherqps, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex, RegXMM }
+vgatherqps, 2, 0x6693, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex, RegXMM }
+vpgatherdd, 2, 0x6690, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex, RegXMM }
+vpgatherdd, 2, 0x6690, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex, RegYMM }
+vpgatherqd, 2, 0x6691, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex, RegXMM }
+vpgatherqd, 2, 0x6691, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex, RegXMM }
+vpscatterdd, 2, 0x66A0, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex }
+vpscatterdd, 2, 0x66A0, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Dword|Unspecified|BaseIndex }
+vpscatterqd, 2, 0x66A1, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex }
+vpscatterqd, 2, 0x66A1, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex }
+vscatterdps, 2, 0x66A2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex }
+vscatterdps, 2, 0x66A2, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegYMM, Dword|Unspecified|BaseIndex }
+vscatterqps, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=2|Masking=2|NoDefMask|VexOpcode=1|VexW=1|Disp8MemShift=2|VecSIB=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, Dword|Unspecified|BaseIndex }
+vscatterqps, 2, 0x66A3, None, 1, CpuAVX512F|CpuAVX512VL, Modrm|EVex=3[...]
[diff truncated at 100000 bytes]