Commit | Line | Data |
---|---|---|
43234a1e L |
1 | # Check illegal AVX512F instructions |
2 | .text | |
83861ea6 | 3 | .allow_index_reg |
43234a1e L |
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 | ||
ad8ecc81 | 18 | vgatherqpd (%rdi,%zmm2,8),%zmm6 |
83861ea6 MZ |
19 | vgatherqpd (%edi),%zmm6{%k1} |
20 | vgatherqpd (%zmm2),%zmm6{%k1} | |
21 | vpscatterdd %zmm6,(%edi){%k1} | |
22 | vpscatterdd %zmm6,(%zmm2){%k1} | |
ad8ecc81 | 23 | |
43234a1e L |
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 | ||
ad8ecc81 | 38 | vgatherqpd zmm6, ZMMWORD PTR [rdi+zmm2*8] |
83861ea6 MZ |
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 | |
ad8ecc81 | 43 | |
43234a1e L |
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] |