summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/gas/testsuite/gas/i386/x86-64-avx512cd_vl.s
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.25/gas/testsuite/gas/i386/x86-64-avx512cd_vl.s')
-rw-r--r--binutils-2.25/gas/testsuite/gas/i386/x86-64-avx512cd_vl.s239
1 files changed, 239 insertions, 0 deletions
diff --git a/binutils-2.25/gas/testsuite/gas/i386/x86-64-avx512cd_vl.s b/binutils-2.25/gas/testsuite/gas/i386/x86-64-avx512cd_vl.s
new file mode 100644
index 00000000..f96d55e4
--- /dev/null
+++ b/binutils-2.25/gas/testsuite/gas/i386/x86-64-avx512cd_vl.s
@@ -0,0 +1,239 @@
+# Check 64bit AVX512{CD,VL} instructions
+
+ .allow_index_reg
+ .text
+_start:
+ vpconflictd %xmm29, %xmm30 # AVX512{CD,VL}
+ vpconflictd %xmm29, %xmm30{%k7} # AVX512{CD,VL}
+ vpconflictd %xmm29, %xmm30{%k7}{z} # AVX512{CD,VL}
+ vpconflictd (%rcx), %xmm30 # AVX512{CD,VL}
+ vpconflictd 0x123(%rax,%r14,8), %xmm30 # AVX512{CD,VL}
+ vpconflictd (%rcx){1to4}, %xmm30 # AVX512{CD,VL}
+ vpconflictd 2032(%rdx), %xmm30 # AVX512{CD,VL} Disp8
+ vpconflictd 2048(%rdx), %xmm30 # AVX512{CD,VL}
+ vpconflictd -2048(%rdx), %xmm30 # AVX512{CD,VL} Disp8
+ vpconflictd -2064(%rdx), %xmm30 # AVX512{CD,VL}
+ vpconflictd 508(%rdx){1to4}, %xmm30 # AVX512{CD,VL} Disp8
+ vpconflictd 512(%rdx){1to4}, %xmm30 # AVX512{CD,VL}
+ vpconflictd -512(%rdx){1to4}, %xmm30 # AVX512{CD,VL} Disp8
+ vpconflictd -516(%rdx){1to4}, %xmm30 # AVX512{CD,VL}
+ vpconflictd %ymm29, %ymm30 # AVX512{CD,VL}
+ vpconflictd %ymm29, %ymm30{%k7} # AVX512{CD,VL}
+ vpconflictd %ymm29, %ymm30{%k7}{z} # AVX512{CD,VL}
+ vpconflictd (%rcx), %ymm30 # AVX512{CD,VL}
+ vpconflictd 0x123(%rax,%r14,8), %ymm30 # AVX512{CD,VL}
+ vpconflictd (%rcx){1to8}, %ymm30 # AVX512{CD,VL}
+ vpconflictd 4064(%rdx), %ymm30 # AVX512{CD,VL} Disp8
+ vpconflictd 4096(%rdx), %ymm30 # AVX512{CD,VL}
+ vpconflictd -4096(%rdx), %ymm30 # AVX512{CD,VL} Disp8
+ vpconflictd -4128(%rdx), %ymm30 # AVX512{CD,VL}
+ vpconflictd 508(%rdx){1to8}, %ymm30 # AVX512{CD,VL} Disp8
+ vpconflictd 512(%rdx){1to8}, %ymm30 # AVX512{CD,VL}
+ vpconflictd -512(%rdx){1to8}, %ymm30 # AVX512{CD,VL} Disp8
+ vpconflictd -516(%rdx){1to8}, %ymm30 # AVX512{CD,VL}
+ vpconflictq %xmm29, %xmm30 # AVX512{CD,VL}
+ vpconflictq %xmm29, %xmm30{%k7} # AVX512{CD,VL}
+ vpconflictq %xmm29, %xmm30{%k7}{z} # AVX512{CD,VL}
+ vpconflictq (%rcx), %xmm30 # AVX512{CD,VL}
+ vpconflictq 0x123(%rax,%r14,8), %xmm30 # AVX512{CD,VL}
+ vpconflictq (%rcx){1to2}, %xmm30 # AVX512{CD,VL}
+ vpconflictq 2032(%rdx), %xmm30 # AVX512{CD,VL} Disp8
+ vpconflictq 2048(%rdx), %xmm30 # AVX512{CD,VL}
+ vpconflictq -2048(%rdx), %xmm30 # AVX512{CD,VL} Disp8
+ vpconflictq -2064(%rdx), %xmm30 # AVX512{CD,VL}
+ vpconflictq 1016(%rdx){1to2}, %xmm30 # AVX512{CD,VL} Disp8
+ vpconflictq 1024(%rdx){1to2}, %xmm30 # AVX512{CD,VL}
+ vpconflictq -1024(%rdx){1to2}, %xmm30 # AVX512{CD,VL} Disp8
+ vpconflictq -1032(%rdx){1to2}, %xmm30 # AVX512{CD,VL}
+ vpconflictq %ymm29, %ymm30 # AVX512{CD,VL}
+ vpconflictq %ymm29, %ymm30{%k7} # AVX512{CD,VL}
+ vpconflictq %ymm29, %ymm30{%k7}{z} # AVX512{CD,VL}
+ vpconflictq (%rcx), %ymm30 # AVX512{CD,VL}
+ vpconflictq 0x123(%rax,%r14,8), %ymm30 # AVX512{CD,VL}
+ vpconflictq (%rcx){1to4}, %ymm30 # AVX512{CD,VL}
+ vpconflictq 4064(%rdx), %ymm30 # AVX512{CD,VL} Disp8
+ vpconflictq 4096(%rdx), %ymm30 # AVX512{CD,VL}
+ vpconflictq -4096(%rdx), %ymm30 # AVX512{CD,VL} Disp8
+ vpconflictq -4128(%rdx), %ymm30 # AVX512{CD,VL}
+ vpconflictq 1016(%rdx){1to4}, %ymm30 # AVX512{CD,VL} Disp8
+ vpconflictq 1024(%rdx){1to4}, %ymm30 # AVX512{CD,VL}
+ vpconflictq -1024(%rdx){1to4}, %ymm30 # AVX512{CD,VL} Disp8
+ vpconflictq -1032(%rdx){1to4}, %ymm30 # AVX512{CD,VL}
+ vplzcntd %xmm29, %xmm30 # AVX512{CD,VL}
+ vplzcntd %xmm29, %xmm30{%k7} # AVX512{CD,VL}
+ vplzcntd %xmm29, %xmm30{%k7}{z} # AVX512{CD,VL}
+ vplzcntd (%rcx), %xmm30 # AVX512{CD,VL}
+ vplzcntd 0x123(%rax,%r14,8), %xmm30 # AVX512{CD,VL}
+ vplzcntd (%rcx){1to4}, %xmm30 # AVX512{CD,VL}
+ vplzcntd 2032(%rdx), %xmm30 # AVX512{CD,VL} Disp8
+ vplzcntd 2048(%rdx), %xmm30 # AVX512{CD,VL}
+ vplzcntd -2048(%rdx), %xmm30 # AVX512{CD,VL} Disp8
+ vplzcntd -2064(%rdx), %xmm30 # AVX512{CD,VL}
+ vplzcntd 508(%rdx){1to4}, %xmm30 # AVX512{CD,VL} Disp8
+ vplzcntd 512(%rdx){1to4}, %xmm30 # AVX512{CD,VL}
+ vplzcntd -512(%rdx){1to4}, %xmm30 # AVX512{CD,VL} Disp8
+ vplzcntd -516(%rdx){1to4}, %xmm30 # AVX512{CD,VL}
+ vplzcntd %ymm29, %ymm30 # AVX512{CD,VL}
+ vplzcntd %ymm29, %ymm30{%k7} # AVX512{CD,VL}
+ vplzcntd %ymm29, %ymm30{%k7}{z} # AVX512{CD,VL}
+ vplzcntd (%rcx), %ymm30 # AVX512{CD,VL}
+ vplzcntd 0x123(%rax,%r14,8), %ymm30 # AVX512{CD,VL}
+ vplzcntd (%rcx){1to8}, %ymm30 # AVX512{CD,VL}
+ vplzcntd 4064(%rdx), %ymm30 # AVX512{CD,VL} Disp8
+ vplzcntd 4096(%rdx), %ymm30 # AVX512{CD,VL}
+ vplzcntd -4096(%rdx), %ymm30 # AVX512{CD,VL} Disp8
+ vplzcntd -4128(%rdx), %ymm30 # AVX512{CD,VL}
+ vplzcntd 508(%rdx){1to8}, %ymm30 # AVX512{CD,VL} Disp8
+ vplzcntd 512(%rdx){1to8}, %ymm30 # AVX512{CD,VL}
+ vplzcntd -512(%rdx){1to8}, %ymm30 # AVX512{CD,VL} Disp8
+ vplzcntd -516(%rdx){1to8}, %ymm30 # AVX512{CD,VL}
+ vplzcntq %xmm29, %xmm30 # AVX512{CD,VL}
+ vplzcntq %xmm29, %xmm30{%k7} # AVX512{CD,VL}
+ vplzcntq %xmm29, %xmm30{%k7}{z} # AVX512{CD,VL}
+ vplzcntq (%rcx), %xmm30 # AVX512{CD,VL}
+ vplzcntq 0x123(%rax,%r14,8), %xmm30 # AVX512{CD,VL}
+ vplzcntq (%rcx){1to2}, %xmm30 # AVX512{CD,VL}
+ vplzcntq 2032(%rdx), %xmm30 # AVX512{CD,VL} Disp8
+ vplzcntq 2048(%rdx), %xmm30 # AVX512{CD,VL}
+ vplzcntq -2048(%rdx), %xmm30 # AVX512{CD,VL} Disp8
+ vplzcntq -2064(%rdx), %xmm30 # AVX512{CD,VL}
+ vplzcntq 1016(%rdx){1to2}, %xmm30 # AVX512{CD,VL} Disp8
+ vplzcntq 1024(%rdx){1to2}, %xmm30 # AVX512{CD,VL}
+ vplzcntq -1024(%rdx){1to2}, %xmm30 # AVX512{CD,VL} Disp8
+ vplzcntq -1032(%rdx){1to2}, %xmm30 # AVX512{CD,VL}
+ vplzcntq %ymm29, %ymm30 # AVX512{CD,VL}
+ vplzcntq %ymm29, %ymm30{%k7} # AVX512{CD,VL}
+ vplzcntq %ymm29, %ymm30{%k7}{z} # AVX512{CD,VL}
+ vplzcntq (%rcx), %ymm30 # AVX512{CD,VL}
+ vplzcntq 0x123(%rax,%r14,8), %ymm30 # AVX512{CD,VL}
+ vplzcntq (%rcx){1to4}, %ymm30 # AVX512{CD,VL}
+ vplzcntq 4064(%rdx), %ymm30 # AVX512{CD,VL} Disp8
+ vplzcntq 4096(%rdx), %ymm30 # AVX512{CD,VL}
+ vplzcntq -4096(%rdx), %ymm30 # AVX512{CD,VL} Disp8
+ vplzcntq -4128(%rdx), %ymm30 # AVX512{CD,VL}
+ vplzcntq 1016(%rdx){1to4}, %ymm30 # AVX512{CD,VL} Disp8
+ vplzcntq 1024(%rdx){1to4}, %ymm30 # AVX512{CD,VL}
+ vplzcntq -1024(%rdx){1to4}, %ymm30 # AVX512{CD,VL} Disp8
+ vplzcntq -1032(%rdx){1to4}, %ymm30 # AVX512{CD,VL}
+ vpbroadcastmw2d %k6, %xmm30 # AVX512{CD,VL}
+ vpbroadcastmw2d %k6, %ymm30 # AVX512{CD,VL}
+ vpbroadcastmb2q %k6, %xmm30 # AVX512{CD,VL}
+ vpbroadcastmb2q %k6, %ymm30 # AVX512{CD,VL}
+
+ .intel_syntax noprefix
+ vpconflictd xmm30, xmm29 # AVX512{CD,VL}
+ vpconflictd xmm30{k7}, xmm29 # AVX512{CD,VL}
+ vpconflictd xmm30{k7}{z}, xmm29 # AVX512{CD,VL}
+ vpconflictd xmm30, XMMWORD PTR [rcx] # AVX512{CD,VL}
+ vpconflictd xmm30, XMMWORD PTR [rax+r14*8+0x1234] # AVX512{CD,VL}
+ vpconflictd xmm30, [rcx]{1to4} # AVX512{CD,VL}
+ vpconflictd xmm30, XMMWORD PTR [rdx+2032] # AVX512{CD,VL} Disp8
+ vpconflictd xmm30, XMMWORD PTR [rdx+2048] # AVX512{CD,VL}
+ vpconflictd xmm30, XMMWORD PTR [rdx-2048] # AVX512{CD,VL} Disp8
+ vpconflictd xmm30, XMMWORD PTR [rdx-2064] # AVX512{CD,VL}
+ vpconflictd xmm30, [rdx+508]{1to4} # AVX512{CD,VL} Disp8
+ vpconflictd xmm30, [rdx+512]{1to4} # AVX512{CD,VL}
+ vpconflictd xmm30, [rdx-512]{1to4} # AVX512{CD,VL} Disp8
+ vpconflictd xmm30, [rdx-516]{1to4} # AVX512{CD,VL}
+ vpconflictd ymm30, ymm29 # AVX512{CD,VL}
+ vpconflictd ymm30{k7}, ymm29 # AVX512{CD,VL}
+ vpconflictd ymm30{k7}{z}, ymm29 # AVX512{CD,VL}
+ vpconflictd ymm30, YMMWORD PTR [rcx] # AVX512{CD,VL}
+ vpconflictd ymm30, YMMWORD PTR [rax+r14*8+0x1234] # AVX512{CD,VL}
+ vpconflictd ymm30, [rcx]{1to8} # AVX512{CD,VL}
+ vpconflictd ymm30, YMMWORD PTR [rdx+4064] # AVX512{CD,VL} Disp8
+ vpconflictd ymm30, YMMWORD PTR [rdx+4096] # AVX512{CD,VL}
+ vpconflictd ymm30, YMMWORD PTR [rdx-4096] # AVX512{CD,VL} Disp8
+ vpconflictd ymm30, YMMWORD PTR [rdx-4128] # AVX512{CD,VL}
+ vpconflictd ymm30, [rdx+508]{1to8} # AVX512{CD,VL} Disp8
+ vpconflictd ymm30, [rdx+512]{1to8} # AVX512{CD,VL}
+ vpconflictd ymm30, [rdx-512]{1to8} # AVX512{CD,VL} Disp8
+ vpconflictd ymm30, [rdx-516]{1to8} # AVX512{CD,VL}
+ vpconflictq xmm30, xmm29 # AVX512{CD,VL}
+ vpconflictq xmm30{k7}, xmm29 # AVX512{CD,VL}
+ vpconflictq xmm30{k7}{z}, xmm29 # AVX512{CD,VL}
+ vpconflictq xmm30, XMMWORD PTR [rcx] # AVX512{CD,VL}
+ vpconflictq xmm30, XMMWORD PTR [rax+r14*8+0x1234] # AVX512{CD,VL}
+ vpconflictq xmm30, [rcx]{1to2} # AVX512{CD,VL}
+ vpconflictq xmm30, XMMWORD PTR [rdx+2032] # AVX512{CD,VL} Disp8
+ vpconflictq xmm30, XMMWORD PTR [rdx+2048] # AVX512{CD,VL}
+ vpconflictq xmm30, XMMWORD PTR [rdx-2048] # AVX512{CD,VL} Disp8
+ vpconflictq xmm30, XMMWORD PTR [rdx-2064] # AVX512{CD,VL}
+ vpconflictq xmm30, [rdx+1016]{1to2} # AVX512{CD,VL} Disp8
+ vpconflictq xmm30, [rdx+1024]{1to2} # AVX512{CD,VL}
+ vpconflictq xmm30, [rdx-1024]{1to2} # AVX512{CD,VL} Disp8
+ vpconflictq xmm30, [rdx-1032]{1to2} # AVX512{CD,VL}
+ vpconflictq ymm30, ymm29 # AVX512{CD,VL}
+ vpconflictq ymm30{k7}, ymm29 # AVX512{CD,VL}
+ vpconflictq ymm30{k7}{z}, ymm29 # AVX512{CD,VL}
+ vpconflictq ymm30, YMMWORD PTR [rcx] # AVX512{CD,VL}
+ vpconflictq ymm30, YMMWORD PTR [rax+r14*8+0x1234] # AVX512{CD,VL}
+ vpconflictq ymm30, [rcx]{1to4} # AVX512{CD,VL}
+ vpconflictq ymm30, YMMWORD PTR [rdx+4064] # AVX512{CD,VL} Disp8
+ vpconflictq ymm30, YMMWORD PTR [rdx+4096] # AVX512{CD,VL}
+ vpconflictq ymm30, YMMWORD PTR [rdx-4096] # AVX512{CD,VL} Disp8
+ vpconflictq ymm30, YMMWORD PTR [rdx-4128] # AVX512{CD,VL}
+ vpconflictq ymm30, [rdx+1016]{1to4} # AVX512{CD,VL} Disp8
+ vpconflictq ymm30, [rdx+1024]{1to4} # AVX512{CD,VL}
+ vpconflictq ymm30, [rdx-1024]{1to4} # AVX512{CD,VL} Disp8
+ vpconflictq ymm30, [rdx-1032]{1to4} # AVX512{CD,VL}
+ vplzcntd xmm30, xmm29 # AVX512{CD,VL}
+ vplzcntd xmm30{k7}, xmm29 # AVX512{CD,VL}
+ vplzcntd xmm30{k7}{z}, xmm29 # AVX512{CD,VL}
+ vplzcntd xmm30, XMMWORD PTR [rcx] # AVX512{CD,VL}
+ vplzcntd xmm30, XMMWORD PTR [rax+r14*8+0x1234] # AVX512{CD,VL}
+ vplzcntd xmm30, [rcx]{1to4} # AVX512{CD,VL}
+ vplzcntd xmm30, XMMWORD PTR [rdx+2032] # AVX512{CD,VL} Disp8
+ vplzcntd xmm30, XMMWORD PTR [rdx+2048] # AVX512{CD,VL}
+ vplzcntd xmm30, XMMWORD PTR [rdx-2048] # AVX512{CD,VL} Disp8
+ vplzcntd xmm30, XMMWORD PTR [rdx-2064] # AVX512{CD,VL}
+ vplzcntd xmm30, [rdx+508]{1to4} # AVX512{CD,VL} Disp8
+ vplzcntd xmm30, [rdx+512]{1to4} # AVX512{CD,VL}
+ vplzcntd xmm30, [rdx-512]{1to4} # AVX512{CD,VL} Disp8
+ vplzcntd xmm30, [rdx-516]{1to4} # AVX512{CD,VL}
+ vplzcntd ymm30, ymm29 # AVX512{CD,VL}
+ vplzcntd ymm30{k7}, ymm29 # AVX512{CD,VL}
+ vplzcntd ymm30{k7}{z}, ymm29 # AVX512{CD,VL}
+ vplzcntd ymm30, YMMWORD PTR [rcx] # AVX512{CD,VL}
+ vplzcntd ymm30, YMMWORD PTR [rax+r14*8+0x1234] # AVX512{CD,VL}
+ vplzcntd ymm30, [rcx]{1to8} # AVX512{CD,VL}
+ vplzcntd ymm30, YMMWORD PTR [rdx+4064] # AVX512{CD,VL} Disp8
+ vplzcntd ymm30, YMMWORD PTR [rdx+4096] # AVX512{CD,VL}
+ vplzcntd ymm30, YMMWORD PTR [rdx-4096] # AVX512{CD,VL} Disp8
+ vplzcntd ymm30, YMMWORD PTR [rdx-4128] # AVX512{CD,VL}
+ vplzcntd ymm30, [rdx+508]{1to8} # AVX512{CD,VL} Disp8
+ vplzcntd ymm30, [rdx+512]{1to8} # AVX512{CD,VL}
+ vplzcntd ymm30, [rdx-512]{1to8} # AVX512{CD,VL} Disp8
+ vplzcntd ymm30, [rdx-516]{1to8} # AVX512{CD,VL}
+ vplzcntq xmm30, xmm29 # AVX512{CD,VL}
+ vplzcntq xmm30{k7}, xmm29 # AVX512{CD,VL}
+ vplzcntq xmm30{k7}{z}, xmm29 # AVX512{CD,VL}
+ vplzcntq xmm30, XMMWORD PTR [rcx] # AVX512{CD,VL}
+ vplzcntq xmm30, XMMWORD PTR [rax+r14*8+0x1234] # AVX512{CD,VL}
+ vplzcntq xmm30, [rcx]{1to2} # AVX512{CD,VL}
+ vplzcntq xmm30, XMMWORD PTR [rdx+2032] # AVX512{CD,VL} Disp8
+ vplzcntq xmm30, XMMWORD PTR [rdx+2048] # AVX512{CD,VL}
+ vplzcntq xmm30, XMMWORD PTR [rdx-2048] # AVX512{CD,VL} Disp8
+ vplzcntq xmm30, XMMWORD PTR [rdx-2064] # AVX512{CD,VL}
+ vplzcntq xmm30, [rdx+1016]{1to2} # AVX512{CD,VL} Disp8
+ vplzcntq xmm30, [rdx+1024]{1to2} # AVX512{CD,VL}
+ vplzcntq xmm30, [rdx-1024]{1to2} # AVX512{CD,VL} Disp8
+ vplzcntq xmm30, [rdx-1032]{1to2} # AVX512{CD,VL}
+ vplzcntq ymm30, ymm29 # AVX512{CD,VL}
+ vplzcntq ymm30{k7}, ymm29 # AVX512{CD,VL}
+ vplzcntq ymm30{k7}{z}, ymm29 # AVX512{CD,VL}
+ vplzcntq ymm30, YMMWORD PTR [rcx] # AVX512{CD,VL}
+ vplzcntq ymm30, YMMWORD PTR [rax+r14*8+0x1234] # AVX512{CD,VL}
+ vplzcntq ymm30, [rcx]{1to4} # AVX512{CD,VL}
+ vplzcntq ymm30, YMMWORD PTR [rdx+4064] # AVX512{CD,VL} Disp8
+ vplzcntq ymm30, YMMWORD PTR [rdx+4096] # AVX512{CD,VL}
+ vplzcntq ymm30, YMMWORD PTR [rdx-4096] # AVX512{CD,VL} Disp8
+ vplzcntq ymm30, YMMWORD PTR [rdx-4128] # AVX512{CD,VL}
+ vplzcntq ymm30, [rdx+1016]{1to4} # AVX512{CD,VL} Disp8
+ vplzcntq ymm30, [rdx+1024]{1to4} # AVX512{CD,VL}
+ vplzcntq ymm30, [rdx-1024]{1to4} # AVX512{CD,VL} Disp8
+ vplzcntq ymm30, [rdx-1032]{1to4} # AVX512{CD,VL}
+ vpbroadcastmw2d xmm30, k6 # AVX512{CD,VL}
+ vpbroadcastmw2d ymm30, k6 # AVX512{CD,VL}
+ vpbroadcastmb2q xmm30, k6 # AVX512{CD,VL}
+ vpbroadcastmb2q ymm30, k6 # AVX512{CD,VL}