i386: Also check R12-R15 registers when optimizing testq to testb
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / x86-64-avx512vbmi2.s
CommitLineData
53467f57
IT
1# Check 64bit AVX512VBMI2 instructions
2
3 .allow_index_reg
4 .text
5_start:
6 vpcompressb %zmm30, (%rcx){%k7} # AVX512VBMI2
7 vpcompressb %zmm30, 0x123(%rax,%r14,8) # AVX512VBMI2
8 vpcompressb %zmm30, 126(%rdx) # AVX512VBMI2 Disp8
9 vpcompressb %zmm29, %zmm30 # AVX512VBMI2
10 vpcompressb %zmm29, %zmm30{%k7} # AVX512VBMI2
11 vpcompressb %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
12
13 vpcompressw %zmm30, (%rcx){%k7} # AVX512VBMI2
14 vpcompressw %zmm30, 0x123(%rax,%r14,8) # AVX512VBMI2
15 vpcompressw %zmm30, 254(%rdx) # AVX512VBMI2 Disp8
16 vpcompressw %zmm29, %zmm30 # AVX512VBMI2
17 vpcompressw %zmm29, %zmm30{%k7} # AVX512VBMI2
18 vpcompressw %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
19
20 vpexpandb (%rcx), %zmm30{%k7} # AVX512VBMI2
21 vpexpandb (%rcx), %zmm30{%k7}{z} # AVX512VBMI2
22 vpexpandb 0x123(%rax,%r14,8), %zmm30 # AVX512VBMI2
23 vpexpandb 126(%rdx), %zmm30 # AVX512VBMI2 Disp8
24 vpexpandb %zmm29, %zmm30 # AVX512VBMI2
25 vpexpandb %zmm29, %zmm30{%k7} # AVX512VBMI2
26 vpexpandb %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
27
28 vpexpandw (%rcx), %zmm30{%k7} # AVX512VBMI2
29 vpexpandw (%rcx), %zmm30{%k7}{z} # AVX512VBMI2
30 vpexpandw 0x123(%rax,%r14,8), %zmm30 # AVX512VBMI2
31 vpexpandw 254(%rdx), %zmm30 # AVX512VBMI2 Disp8
32 vpexpandw %zmm29, %zmm30 # AVX512VBMI2
33 vpexpandw %zmm29, %zmm30{%k7} # AVX512VBMI2
34 vpexpandw %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
35
36 vpshldvw %zmm28, %zmm29, %zmm30 # AVX512VBMI2
37 vpshldvw %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
38 vpshldvw %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
39 vpshldvw 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
40 vpshldvw 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
41
42 vpshldvd %zmm28, %zmm29, %zmm30 # AVX512VBMI2
43 vpshldvd %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
44 vpshldvd %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
45 vpshldvd 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
46 vpshldvd 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
47 vpshldvd 508(%rdx){1to16}, %zmm29, %zmm30 # AVX512VBMI2 Disp8
48
49 vpshldvq %zmm28, %zmm29, %zmm30 # AVX512VBMI2
50 vpshldvq %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
51 vpshldvq %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
52 vpshldvq 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
53 vpshldvq 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
54 vpshldvq 1016(%rdx){1to8}, %zmm29, %zmm30 # AVX512VBMI2 Disp8
55
56 vpshrdvw %zmm28, %zmm29, %zmm30 # AVX512VBMI2
57 vpshrdvw %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
58 vpshrdvw %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
59 vpshrdvw 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
60 vpshrdvw 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
61
62 vpshrdvd %zmm28, %zmm29, %zmm30 # AVX512VBMI2
63 vpshrdvd %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
64 vpshrdvd %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
65 vpshrdvd 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
66 vpshrdvd 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
67
68 vpshrdvq %zmm28, %zmm29, %zmm30 # AVX512VBMI2
69 vpshrdvq %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
70 vpshrdvq %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
71 vpshrdvq 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
72 vpshrdvq 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
73
74 vpshldw $0xab, %zmm28, %zmm29, %zmm30 # AVX512VBMI2
75 vpshldw $0xab, %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
76 vpshldw $0xab, %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
77 vpshldw $123, 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
78 vpshldw $123, 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
79
80 vpshldd $0xab, %zmm28, %zmm29, %zmm30 # AVX512VBMI2
81 vpshldd $0xab, %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
82 vpshldd $0xab, %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
83 vpshldd $123, 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
84 vpshldd $123, 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
85
86 vpshldq $0xab, %zmm28, %zmm29, %zmm30 # AVX512VBMI2
87 vpshldq $0xab, %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
88 vpshldq $0xab, %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
89 vpshldq $123, 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
90 vpshldq $123, 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
91 vpshldq $123, 1016(%rdx){1to8}, %zmm29, %zmm30 # AVX512VBMI2
92
93 vpshrdw $0xab, %zmm28, %zmm29, %zmm30 # AVX512VBMI2
94 vpshrdw $0xab, %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
95 vpshrdw $0xab, %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
96 vpshrdw $123, 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
97 vpshrdw $123, 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
98
99 vpshrdd $0xab, %zmm28, %zmm29, %zmm30 # AVX512VBMI2
100 vpshrdd $0xab, %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
101 vpshrdd $0xab, %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
102 vpshrdd $123, 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
103 vpshrdd $123, (%rcx){1to16}, %zmm29, %zmm30 # AVX512VBMI2
104 vpshrdd $123, 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
105
106 vpshrdq $0xab, %zmm28, %zmm29, %zmm30 # AVX512VBMI2
107 vpshrdq $0xab, %zmm28, %zmm29, %zmm30{%k7} # AVX512VBMI2
108 vpshrdq $0xab, %zmm28, %zmm29, %zmm30{%k7}{z} # AVX512VBMI2
109 vpshrdq $123, 0x123(%rax,%r14,8), %zmm29, %zmm30 # AVX512VBMI2
110 vpshrdq $123, (%rcx){1to8}, %zmm29, %zmm30 # AVX512VBMI2
111 vpshrdq $123, 8128(%rdx), %zmm29, %zmm30 # AVX512VBMI2
112
113 .intel_syntax noprefix
114 vpcompressb ZMMWORD PTR [rcx]{k7}, zmm30 # AVX512VBMI2
115 vpcompressb ZMMWORD PTR [rax+r14*8+0x1234], zmm30 # AVX512VBMI2
116 vpcompressb ZMMWORD PTR [rdx+126], zmm30 # AVX512VBMI2 Disp8
117 vpcompressb zmm30, zmm29 # AVX512VBMI2
118 vpcompressb zmm30{k7}, zmm29 # AVX512VBMI2
119 vpcompressb zmm30{k7}{z}, zmm29 # AVX512VBMI2
120
121 vpcompressw ZMMWORD PTR [rcx]{k7}, zmm30 # AVX512VBMI2
122 vpcompressw ZMMWORD PTR [rax+r14*8+0x1234], zmm30 # AVX512VBMI2
123 vpcompressw ZMMWORD PTR [rdx+254], zmm30 # AVX512VBMI2 Disp8
124 vpcompressw zmm30, zmm29 # AVX512VBMI2
125 vpcompressw zmm30{k7}, zmm29 # AVX512VBMI2
126 vpcompressw zmm30{k7}{z}, zmm29 # AVX512VBMI2
127
128 vpexpandb zmm30{k7}, ZMMWORD PTR [rcx] # AVX512VBMI2
129 vpexpandb zmm30{k7}{z}, ZMMWORD PTR [rcx] # AVX512VBMI2
130 vpexpandb zmm30, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI2
131 vpexpandb zmm30, ZMMWORD PTR [rdx+126] # AVX512VBMI2 Disp8
132 vpexpandb zmm30, zmm29 # AVX512VBMI2
133 vpexpandb zmm30{k7}, zmm29 # AVX512VBMI2
134 vpexpandb zmm30{k7}{z}, zmm29 # AVX512VBMI2
135
136 vpexpandw zmm30{k7}, ZMMWORD PTR [rcx] # AVX512VBMI2
137 vpexpandw zmm30{k7}{z}, ZMMWORD PTR [rcx] # AVX512VBMI2
138 vpexpandw zmm30, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI2
139 vpexpandw zmm30, ZMMWORD PTR [rdx+254] # AVX512VBMI2 Disp8
140 vpexpandw zmm30, zmm29 # AVX512VBMI2
141 vpexpandw zmm30{k7}, zmm29 # AVX512VBMI2
142 vpexpandw zmm30{k7}{z}, zmm29 # AVX512VBMI2
143
144 vpshldvw zmm30, zmm29, zmm28 # AVX512VBMI2
145 vpshldvw zmm30{k7}, zmm29, zmm28 # AVX512VBMI2
146 vpshldvw zmm30{k7}{z}, zmm29, zmm28 # AVX512VBMI2
147 vpshldvw zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI2
148 vpshldvw zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512VBMI2 Disp8
149
150 vpshldvd zmm30, zmm29, zmm28 # AVX512VBMI2
151 vpshldvd zmm30{k7}, zmm29, zmm28 # AVX512VBMI2
152 vpshldvd zmm30{k7}{z}, zmm29, zmm28 # AVX512VBMI2
153 vpshldvd zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI2
154 vpshldvd zmm30, zmm29, [rcx]{1to16} # AVX512VBMI2
155 vpshldvd zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512VBMI2 Disp8
156 vpshldvd zmm30, zmm29, [rdx+508]{1to16} # AVX512VBMI2 Disp8
157
158 vpshldvq zmm30, zmm29, zmm28 # AVX512VBMI2
159 vpshldvq zmm30{k7}, zmm29, zmm28 # AVX512VBMI2
160 vpshldvq zmm30{k7}{z}, zmm29, zmm28 # AVX512VBMI2
161 vpshldvq zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI2
162 vpshldvq zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512VBMI2 Disp8
163 vpshldvq zmm30, zmm29, [rdx+1016]{1to8} # AVX512VBMI2 Disp8
164
165 vpshrdvw zmm30, zmm29, zmm28 # AVX512VBMI2
166 vpshrdvw zmm30{k7}, zmm29, zmm28 # AVX512VBMI2
167 vpshrdvw zmm30{k7}{z}, zmm29, zmm28 # AVX512VBMI2
168 vpshrdvw zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI2
169 vpshrdvw zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512VBMI2 Disp8
170
171 vpshrdvd zmm30, zmm29, zmm28 # AVX512VBMI2
172 vpshrdvd zmm30{k7}, zmm29, zmm28 # AVX512VBMI2
173 vpshrdvd zmm30{k7}{z}, zmm29, zmm28 # AVX512VBMI2
174 vpshrdvd zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI2
175 vpshrdvd zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512VBMI2 Disp8
176 vpshrdvd zmm30, zmm29, [rdx+508]{1to16} # AVX512VBMI2 Disp8
177
178 vpshrdvq zmm30, zmm29, zmm28 # AVX512VBMI2
179 vpshrdvq zmm30{k7}, zmm29, zmm28 # AVX512VBMI2
180 vpshrdvq zmm30{k7}{z}, zmm29, zmm28 # AVX512VBMI2
181 vpshrdvq zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234] # AVX512VBMI2
182 vpshrdvq zmm30, zmm29, ZMMWORD PTR [rdx+8128] # AVX512VBMI2 Disp8
183 vpshrdvq zmm30, zmm29, [rdx+1016]{1to8} # AVX512VBMI2 Disp8
184
185 vpshldw zmm30, zmm29, zmm28, 0xab # AVX512VBMI2
186 vpshldw zmm30{k7}, zmm29, zmm28, 0xab # AVX512VBMI2
187 vpshldw zmm30{k7}{z}, zmm29, zmm28, 0xab # AVX512VBMI2
188 vpshldw zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234], 123 # AVX512VBMI2
189 vpshldw zmm30, zmm29, ZMMWORD PTR [rdx+8128], 123 # AVX512VBMI2 Disp8
190
191 vpshldd zmm30, zmm29, zmm28, 0xab # AVX512VBMI2
192 vpshldd zmm30{k7}, zmm29, zmm28, 0xab # AVX512VBMI2
193 vpshldd zmm30{k7}{z}, zmm29, zmm28, 0xab # AVX512VBMI2
194 vpshldd zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234], 123 # AVX512VBMI2
195 vpshldd zmm30, zmm29, ZMMWORD PTR [rdx+8128], 123 # AVX512VBMI2 Disp8
196 vpshldd zmm30, zmm29, [rdx+508]{1to16}, 123 # AVX512VBMI2 Disp8
197
198 vpshldq zmm30, zmm29, zmm28, 0xab # AVX512VBMI2
199 vpshldq zmm30{k7}, zmm29, zmm28, 0xab # AVX512VBMI2
200 vpshldq zmm30{k7}{z}, zmm29, zmm28, 0xab # AVX512VBMI2
201 vpshldq zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234], 123 # AVX512VBMI2
202 vpshldq zmm30, zmm29, ZMMWORD PTR [rdx+8128], 123 # AVX512VBMI2 Disp8
203 vpshldq zmm30, zmm29, [rdx+1016]{1to8}, 123 # AVX512VBMI2 Disp8
204
205 vpshrdw zmm30, zmm29, zmm28, 0xab # AVX512VBMI2
206 vpshrdw zmm30{k7}, zmm29, zmm28, 0xab # AVX512VBMI2
207 vpshrdw zmm30{k7}{z}, zmm29, zmm28, 0xab # AVX512VBMI2
208 vpshrdw zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234], 123 # AVX512VBMI2
209 vpshrdw zmm30, zmm29, ZMMWORD PTR [rdx+8128], 123 # AVX512VBMI2 Disp8
210
211 vpshrdd zmm30, zmm29, zmm28, 0xab # AVX512VBMI2
212 vpshrdd zmm30{k7}, zmm29, zmm28, 0xab # AVX512VBMI2
213 vpshrdd zmm30{k7}{z}, zmm29, zmm28, 0xab # AVX512VBMI2
214 vpshrdd zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234], 123 # AVX512VBMI2
215 vpshrdd zmm30, zmm29, ZMMWORD PTR [rdx+8128], 123 # AVX512VBMI2 Disp8
216 vpshrdd zmm30, zmm29, [rdx+508]{1to16}, 123 # AVX512VBMI2 Disp8
217
218 vpshrdq zmm30, zmm29, zmm28, 0xab # AVX512VBMI2
219 vpshrdq zmm30{k7}, zmm29, zmm28, 0xab # AVX512VBMI2
220 vpshrdq zmm30{k7}{z}, zmm29, zmm28, 0xab # AVX512VBMI2
221 vpshrdq zmm30, zmm29, ZMMWORD PTR [rax+r14*8+0x1234], 123 # AVX512VBMI2
222 vpshrdq zmm30, zmm29, ZMMWORD PTR [rdx+8128], 123 # AVX512VBMI2 Disp8
223 vpshrdq zmm30, zmm29, [rdx+1016]{1to8}, 123 # AVX512VBMI2 Disp8
This page took 0.135809 seconds and 4 git commands to generate.