x86/Intel: improve diagnostics for ambiguous VCVT* operands
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / inval-avx512f.s
1 # Check illegal AVX512F instructions
2 .text
3 .allow_index_reg
4 _start:
5 mov {sae}, %eax{%k1}
6 mov {sae}, %eax
7 mov %ebx, %eax{%k2}
8 vaddps %zmm3, %zmm1, %zmm2{z}{%k1}{z}
9 vaddps %zmm3, %zmm1{%k3}, %zmm2{z}
10 vaddps %zmm3, %zmm1{%k1}, %zmm2{%k2}
11
12 vcvtps2pd (%eax), %zmm1{1to8}
13 vcvtps2pd (%eax){1to16}, %zmm1
14
15 vcvtps2pd (%eax){%k1}, %zmm1
16 vcvtps2pd (%eax){z}, %zmm1
17
18 vgatherqpd (%rdi,%zmm2,8),%zmm6
19 vgatherqpd (%edi),%zmm6{%k1}
20 vgatherqpd (%zmm2),%zmm6{%k1}
21 vpscatterdd %zmm6,(%edi){%k1}
22 vpscatterdd %zmm6,(%zmm2){%k1}
23
24 .intel_syntax noprefix
25 mov eax{k1}, {sae}
26 mov eax, {sae}
27 mov eax{k2}, ebx
28 vaddps zmm2{z}{k1}{z}, zmm1, zmm3
29 vaddps zmm2{z}, zmm1{k3}, zmm3
30 vaddps zmm2{k2}, zmm1{k1}, zmm3
31
32 vcvtps2pd zmm1{1to8}, [eax]
33 vcvtps2pd zmm1, [eax]{1to16}
34
35 vcvtps2pd zmm1, [eax]{k1}
36 vcvtps2pd zmm1, [eax]{z}
37
38 vgatherqpd zmm6, ZMMWORD PTR [rdi+zmm2*8]
39 vgatherqpd zmm6{k1}, ZMMWORD PTR [edi]
40 vgatherqpd zmm6{k1}, ZMMWORD PTR [zmm2+eiz]
41 vpscatterdd ZMMWORD PTR [edi]{k1}, zmm6
42 vpscatterdd ZMMWORD PTR [zmm2+eiz]{k1}, zmm6
43
44 vaddps zmm2, zmm1, QWORD PTR [eax]{1to8}
45 vaddps zmm2, zmm1, QWORD PTR [eax]{1to16}
46 vaddpd zmm2, zmm1, DWORD PTR [eax]{1to8}
47 vaddpd zmm2, zmm1, DWORD PTR [eax]{1to16}
48 vaddps zmm2, zmm1, ZMMWORD PTR [eax]{1to16}
49 vaddps zmm2, zmm1, DWORD PTR [eax]
50 vaddpd zmm2, zmm1, QWORD PTR [eax]
51
52 .att_syntax prefix
53 vaddps %zmm0, %zmm1, %zmm2{%ecx}
54 vaddps %zmm0, %zmm1, %zmm2{z}
55
56 .intel_syntax noprefix
57 vaddps zmm2{ecx}, zmm1, zmm0
58 vaddps zmm2{z}, zmm1, zmm0
59
60 .att_syntax prefix
61 vmovaps (%eax){1to2}, %zmm1
62 vmovaps (%eax){1to4}, %zmm1
63 vmovaps (%eax){1to8}, %zmm1
64 vmovaps (%eax){1to16}, %zmm1
65
66 vcvtps2pd (%eax){1to2}, %zmm1
67 vcvtps2pd (%eax){1to4}, %zmm1
68 vcvtps2pd (%eax){1to8}, %zmm1
69 vcvtps2pd (%eax){1to16}, %zmm1
70
71 vcvtps2pd (%eax){1to2}, %ymm1
72 vcvtps2pd (%eax){1to4}, %ymm1
73 vcvtps2pd (%eax){1to8}, %ymm1
74 vcvtps2pd (%eax){1to16}, %ymm1
75
76 vcvtps2pd (%eax){1to2}, %xmm1
77 vcvtps2pd (%eax){1to4}, %xmm1
78 vcvtps2pd (%eax){1to8}, %xmm1
79 vcvtps2pd (%eax){1to16}, %xmm1
80
81 vaddps (%eax){1to2}, %zmm1, %zmm2
82 vaddps (%eax){1to4}, %zmm1, %zmm2
83 vaddps (%eax){1to8}, %zmm1, %zmm2
84 vaddps (%eax){1to16}, %zmm1, %zmm2
85
86 vaddps (%eax){1to2}, %ymm1, %ymm2
87 vaddps (%eax){1to4}, %ymm1, %ymm2
88 vaddps (%eax){1to8}, %ymm1, %ymm2
89 vaddps (%eax){1to16}, %ymm1, %ymm2
90
91 vaddps (%eax){1to2}, %xmm1, %xmm2
92 vaddps (%eax){1to4}, %xmm1, %xmm2
93 vaddps (%eax){1to8}, %xmm1, %xmm2
94 vaddps (%eax){1to16}, %xmm1, %xmm2
95
96 vaddpd (%eax){1to2}, %zmm1, %zmm2
97 vaddpd (%eax){1to4}, %zmm1, %zmm2
98 vaddpd (%eax){1to8}, %zmm1, %zmm2
99 vaddpd (%eax){1to16}, %zmm1, %zmm2
100
101 vaddpd (%eax){1to2}, %ymm1, %ymm2
102 vaddpd (%eax){1to4}, %ymm1, %ymm2
103 vaddpd (%eax){1to8}, %ymm1, %ymm2
104 vaddpd (%eax){1to16}, %ymm1, %ymm2
105
106 vaddpd (%eax){1to2}, %xmm1, %xmm2
107 vaddpd (%eax){1to4}, %xmm1, %xmm2
108 vaddpd (%eax){1to8}, %xmm1, %xmm2
109 vaddpd (%eax){1to16}, %xmm1, %xmm2
110
111 .intel_syntax noprefix
112 vcvtps2pd zmm1, QWORD PTR [eax]
113 vcvtps2pd ymm1, QWORD PTR [eax]
114 vcvtps2pd xmm1, QWORD PTR [eax]
115
116 vcvtps2pd xmm1, DWORD PTR [eax]{1to2}
117 vcvtps2pd xmm1, DWORD PTR [eax]{1to4}
118 vcvtps2pd xmm1, DWORD PTR [eax]{1to8}
119 vcvtps2pd xmm1, DWORD PTR [eax]{1to16}
120
121 vaddps zmm2, zmm1, QWORD PTR [eax]
122 vaddps ymm2, ymm1, QWORD PTR [eax]
123 vaddps xmm2, xmm1, QWORD PTR [eax]
124
125 vaddps zmm2, zmm1, DWORD PTR [eax]{1to2}
126 vaddps zmm2, zmm1, DWORD PTR [eax]{1to4}
127 vaddps zmm2, zmm1, DWORD PTR [eax]{1to8}
128 vaddps zmm2, zmm1, DWORD PTR [eax]{1to16}
129
130 vaddps ymm2, ymm1, DWORD PTR [eax]{1to2}
131 vaddps ymm2, ymm1, DWORD PTR [eax]{1to4}
132 vaddps ymm2, ymm1, DWORD PTR [eax]{1to8}
133 vaddps ymm2, ymm1, DWORD PTR [eax]{1to16}
134
135 vaddps xmm2, xmm1, DWORD PTR [eax]{1to2}
136 vaddps xmm2, xmm1, DWORD PTR [eax]{1to4}
137 vaddps xmm2, xmm1, DWORD PTR [eax]{1to8}
138 vaddps xmm2, xmm1, DWORD PTR [eax]{1to16}
139
140 vaddpd zmm2, zmm1, DWORD PTR [eax]
141 vaddpd ymm2, ymm1, DWORD PTR [eax]
142 vaddpd xmm2, xmm1, DWORD PTR [eax]
143
144 vaddpd zmm2, zmm1, QWORD PTR [eax]{1to2}
145 vaddpd zmm2, zmm1, QWORD PTR [eax]{1to4}
146 vaddpd zmm2, zmm1, QWORD PTR [eax]{1to8}
147 vaddpd zmm2, zmm1, QWORD PTR [eax]{1to16}
148
149 vaddpd ymm2, ymm1, QWORD PTR [eax]{1to2}
150 vaddpd ymm2, ymm1, QWORD PTR [eax]{1to4}
151 vaddpd ymm2, ymm1, QWORD PTR [eax]{1to8}
152 vaddpd ymm2, ymm1, QWORD PTR [eax]{1to16}
153
154 vaddpd xmm2, xmm1, QWORD PTR [eax]{1to2}
155 vaddpd xmm2, xmm1, QWORD PTR [eax]{1to4}
156 vaddpd xmm2, xmm1, QWORD PTR [eax]{1to8}
157 vaddpd xmm2, xmm1, QWORD PTR [eax]{1to16}
158
159 vcvtps2qq xmm0, DWORD PTR [eax]
160
161 .att_syntax prefix
162 vcmppd $0, %zmm0, %zmm0, %k0{%k1}{z}
163 vcmpps $0, %zmm0, %zmm0, %k0{%k1}{z}
164 vcmpsd $0, %xmm0, %xmm0, %k0{%k1}{z}
165 vcmpss $0, %xmm0, %xmm0, %k0{%k1}{z}
166
167 vcompresspd %zmm0, (%eax){%k1}{z}
168 vcompressps %zmm0, (%eax){%k1}{z}
169
170 vcvtps2ph $0, %zmm0, (%eax){%k1}{z}
171
172 vextractf32x4 $0, %zmm0, (%eax){%k1}{z}
173 vextractf32x8 $0, %zmm0, (%eax){%k1}{z}
174 vextractf64x2 $0, %zmm0, (%eax){%k1}{z}
175 vextractf64x4 $0, %zmm0, (%eax){%k1}{z}
176
177 vextracti32x4 $0, %zmm0, (%eax){%k1}{z}
178 vextracti32x8 $0, %zmm0, (%eax){%k1}{z}
179 vextracti64x2 $0, %zmm0, (%eax){%k1}{z}
180 vextracti64x4 $0, %zmm0, (%eax){%k1}{z}
181
182 vfpclasspd $0, %zmm0, %k0{%k1}{z}
183 vfpclassps $0, %zmm0, %k0{%k1}{z}
184 vfpclasssd $0, %xmm0, %k0{%k1}{z}
185 vfpclassss $0, %xmm0, %k0{%k1}{z}
186
187 vgatherdpd (%eax,%ymm1), %zmm0{%k1}{z}
188 vgatherdps (%eax,%zmm1), %zmm0{%k1}{z}
189 vgatherqpd (%eax,%zmm1), %zmm0{%k1}{z}
190 vgatherqps (%eax,%zmm1), %ymm0{%k1}{z}
191
192 vgatherpf0dpd (%eax,%ymm1){%k1}{z}
193 vgatherpf0dps (%eax,%zmm1){%k1}{z}
194 vgatherpf0qpd (%eax,%zmm1){%k1}{z}
195 vgatherpf0qps (%eax,%zmm1){%k1}{z}
196
197 vgatherpf1dpd (%eax,%ymm1){%k1}{z}
198 vgatherpf1dps (%eax,%zmm1){%k1}{z}
199 vgatherpf1qpd (%eax,%zmm1){%k1}{z}
200 vgatherpf1qps (%eax,%zmm1){%k1}{z}
201
202 vmovapd %zmm0, (%eax){%k1}{z}
203 vmovaps %zmm0, (%eax){%k1}{z}
204
205 vmovdqa32 %zmm0, (%eax){%k1}{z}
206 vmovdqa64 %zmm0, (%eax){%k1}{z}
207
208 vmovdqu8 %zmm0, (%eax){%k1}{z}
209 vmovdqu16 %zmm0, (%eax){%k1}{z}
210 vmovdqu32 %zmm0, (%eax){%k1}{z}
211 vmovdqu64 %zmm0, (%eax){%k1}{z}
212
213 vmovsd %xmm0, (%eax){%k1}{z}
214 vmovss %xmm0, (%eax){%k1}{z}
215
216 vmovupd %zmm0, (%eax){%k1}{z}
217 vmovups %zmm0, (%eax){%k1}{z}
218
219 vpcmpb $0, %zmm0, %zmm0, %k0{%k1}{z}
220 vpcmpd $0, %zmm0, %zmm0, %k0{%k1}{z}
221 vpcmpq $0, %zmm0, %zmm0, %k0{%k1}{z}
222 vpcmpw $0, %zmm0, %zmm0, %k0{%k1}{z}
223
224 vpcmpeqb %zmm0, %zmm0, %k0{%k1}{z}
225 vpcmpeqd %zmm0, %zmm0, %k0{%k1}{z}
226 vpcmpeqq %zmm0, %zmm0, %k0{%k1}{z}
227 vpcmpeqw %zmm0, %zmm0, %k0{%k1}{z}
228
229 vpcmpgtb %zmm0, %zmm0, %k0{%k1}{z}
230 vpcmpgtd %zmm0, %zmm0, %k0{%k1}{z}
231 vpcmpgtq %zmm0, %zmm0, %k0{%k1}{z}
232 vpcmpgtw %zmm0, %zmm0, %k0{%k1}{z}
233
234 vpcmpub $0, %zmm0, %zmm0, %k0{%k1}{z}
235 vpcmpud $0, %zmm0, %zmm0, %k0{%k1}{z}
236 vpcmpuq $0, %zmm0, %zmm0, %k0{%k1}{z}
237 vpcmpuw $0, %zmm0, %zmm0, %k0{%k1}{z}
238
239 vpcompressb %zmm0, (%eax){%k1}{z}
240 vpcompressd %zmm0, (%eax){%k1}{z}
241 vpcompressq %zmm0, (%eax){%k1}{z}
242 vpcompressw %zmm0, (%eax){%k1}{z}
243
244 vpgatherdd (%eax,%zmm1), %zmm0{%k1}{z}
245 vpgatherdq (%eax,%ymm1), %zmm0{%k1}{z}
246 vpgatherqd (%eax,%zmm1), %ymm0{%k1}{z}
247 vpgatherqq (%eax,%zmm1), %zmm0{%k1}{z}
248
249 vpmovdb %zmm0, (%eax){%k1}{z}
250 vpmovdw %zmm0, (%eax){%k1}{z}
251
252 vpmovqb %zmm0, (%eax){%k1}{z}
253 vpmovqd %zmm0, (%eax){%k1}{z}
254 vpmovqw %zmm0, (%eax){%k1}{z}
255
256 vpmovsdb %zmm0, (%eax){%k1}{z}
257 vpmovsdw %zmm0, (%eax){%k1}{z}
258
259 vpmovsqb %zmm0, (%eax){%k1}{z}
260 vpmovsqd %zmm0, (%eax){%k1}{z}
261 vpmovsqw %zmm0, (%eax){%k1}{z}
262
263 vpmovswb %zmm0, (%eax){%k1}{z}
264
265 vpmovusdb %zmm0, (%eax){%k1}{z}
266 vpmovusdw %zmm0, (%eax){%k1}{z}
267
268 vpmovusqb %zmm0, (%eax){%k1}{z}
269 vpmovusqd %zmm0, (%eax){%k1}{z}
270 vpmovusqw %zmm0, (%eax){%k1}{z}
271
272 vpmovuswb %zmm0, (%eax){%k1}{z}
273
274 vpmovwb %zmm0, (%eax){%k1}{z}
275
276 vpscatterdd %zmm0, (%eax,%zmm1){%k1}{z}
277 vpscatterdq %zmm0, (%eax,%ymm1){%k1}{z}
278 vpscatterqd %ymm0, (%eax,%zmm1){%k1}{z}
279 vpscatterqq %zmm0, (%eax,%zmm1){%k1}{z}
280
281 vpshufbitqmb %zmm0, %zmm0, %k0{%k1}{z}
282
283 vptestmb %zmm0, %zmm0, %k0{%k1}{z}
284 vptestmd %zmm0, %zmm0, %k0{%k1}{z}
285 vptestmq %zmm0, %zmm0, %k0{%k1}{z}
286 vptestmw %zmm0, %zmm0, %k0{%k1}{z}
287
288 vptestnmb %zmm0, %zmm0, %k0{%k1}{z}
289 vptestnmd %zmm0, %zmm0, %k0{%k1}{z}
290 vptestnmq %zmm0, %zmm0, %k0{%k1}{z}
291 vptestnmw %zmm0, %zmm0, %k0{%k1}{z}
292
293 vscatterdpd %zmm0, (%eax,%ymm1){%k1}{z}
294 vscatterdps %zmm0, (%eax,%zmm1){%k1}{z}
295 vscatterqpd %zmm0, (%eax,%zmm1){%k1}{z}
296 vscatterqps %ymm0, (%eax,%zmm1){%k1}{z}
297
298 vscatterpf0dpd (%eax,%ymm1){%k1}{z}
299 vscatterpf0dps (%eax,%zmm1){%k1}{z}
300 vscatterpf0qpd (%eax,%zmm1){%k1}{z}
301 vscatterpf0qps (%eax,%zmm1){%k1}{z}
302
303 vscatterpf1dpd (%eax,%ymm1){%k1}{z}
304 vscatterpf1dps (%eax,%zmm1){%k1}{z}
305 vscatterpf1qpd (%eax,%zmm1){%k1}{z}
306 vscatterpf1qps (%eax,%zmm1){%k1}{z}
307
308 vdpbf16ps 8(%eax){1to8}, %zmm2, %zmm2
309 vcvtne2ps2bf16 8(%eax){1to8}, %zmm2, %zmm2
310
311 vcvtneps2bf16 (%eax){1to2}, %ymm1
312 vcvtneps2bf16 (%eax){1to4}, %ymm1
313 vcvtneps2bf16 (%eax){1to8}, %ymm1
314 vcvtneps2bf16 (%eax){1to16}, %ymm1
315
316 vcvtneps2bf16 (%eax){1to2}, %xmm1
317 vcvtneps2bf16 (%eax){1to4}, %xmm1
318 vcvtneps2bf16 (%eax){1to8}, %xmm1
319 vcvtneps2bf16 (%eax){1to16}, %xmm1
This page took 0.035795 seconds and 4 git commands to generate.