aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2018-07-31 10:55:17 +0200
committerJan Beulich <jbeulich@suse.com>2018-07-31 10:55:17 +0200
commit6ff00b5e12e7256738d9a4dac66e5a7745b771ea (patch)
tree3c61350f9fde8ae929c4aea1f97483d703bd4dad /gas
parent7a8655d2bbdc788786cb28e925e1d4303cd960b0 (diff)
downloadgdb-6ff00b5e12e7256738d9a4dac66e5a7745b771ea.zip
gdb-6ff00b5e12e7256738d9a4dac66e5a7745b771ea.tar.gz
gdb-6ff00b5e12e7256738d9a4dac66e5a7745b771ea.tar.bz2
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.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog11
-rw-r--r--gas/testsuite/gas/i386/avx512f.s140
-rw-r--r--gas/testsuite/gas/i386/avx512f_vl.s192
-rw-r--r--gas/testsuite/gas/i386/avx512pf.s158
-rw-r--r--gas/testsuite/gas/i386/i386.exp1
-rw-r--r--gas/testsuite/gas/i386/sg.l25
-rw-r--r--gas/testsuite/gas/i386/sg.s66
-rw-r--r--gas/testsuite/gas/i386/x86-64-avx512f.s142
-rw-r--r--gas/testsuite/gas/i386/x86-64-avx512f_vl.s224
-rw-r--r--gas/testsuite/gas/i386/x86-64-avx512pf.s158
10 files changed, 610 insertions, 507 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