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