File: inval-avx512f.s

package info (click to toggle)
binutils 2.31.1-15
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 309,056 kB
  • sloc: ansic: 1,161,198; asm: 638,508; cpp: 128,829; exp: 68,580; makefile: 55,828; sh: 22,360; yacc: 14,238; lisp: 13,272; perl: 2,111; ada: 1,681; lex: 1,652; pascal: 1,446; cs: 879; sed: 195; python: 154; xml: 95; awk: 25
file content (157 lines) | stat: -rw-r--r-- 4,378 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# Check illegal AVX512F instructions
	.text
	.allow_index_reg
_start:
	mov {sae}, %eax{%k1}
	mov {sae}, %eax
	mov %ebx, %eax{%k2}
	vaddps %zmm3, %zmm1, %zmm2{z}{%k1}{z}
	vaddps %zmm3, %zmm1{%k3}, %zmm2{z}
	vaddps %zmm3, %zmm1{%k1}, %zmm2{%k2}

	vcvtps2pd (%eax), %zmm1{1to8}
	vcvtps2pd (%eax){1to16}, %zmm1

	vcvtps2pd (%eax){%k1}, %zmm1
	vcvtps2pd (%eax){z}, %zmm1

	vgatherqpd (%rdi,%zmm2,8),%zmm6
	vgatherqpd (%edi),%zmm6{%k1}
	vgatherqpd (%zmm2),%zmm6{%k1}
	vpscatterdd %zmm6,(%edi){%k1}
	vpscatterdd %zmm6,(%zmm2){%k1}

	.intel_syntax noprefix
	mov eax{k1}, {sae}
	mov eax, {sae}
	mov eax{k2}, ebx
	vaddps zmm2{z}{k1}{z}, zmm1, zmm3
	vaddps zmm2{z}, zmm1{k3}, zmm3
	vaddps zmm2{k2}, zmm1{k1}, zmm3

	vcvtps2pd zmm1{1to8}, [eax]
	vcvtps2pd zmm1, [eax]{1to16}

	vcvtps2pd zmm1, [eax]{k1}
	vcvtps2pd zmm1, [eax]{z}

	vgatherqpd zmm6, ZMMWORD PTR [rdi+zmm2*8]
	vgatherqpd zmm6{k1}, ZMMWORD PTR [edi]
	vgatherqpd zmm6{k1}, ZMMWORD PTR [zmm2+eiz]
	vpscatterdd ZMMWORD PTR [edi]{k1}, zmm6
	vpscatterdd ZMMWORD PTR [zmm2+eiz]{k1}, zmm6

	vaddps zmm2, zmm1, QWORD PTR [eax]{1to8}
	vaddps zmm2, zmm1, QWORD PTR [eax]{1to16}
	vaddpd zmm2, zmm1, DWORD PTR [eax]{1to8}
	vaddpd zmm2, zmm1, DWORD PTR [eax]{1to16}
	vaddps zmm2, zmm1, ZMMWORD PTR [eax]{1to16}
	vaddps zmm2, zmm1, DWORD PTR [eax]
	vaddpd zmm2, zmm1, QWORD PTR [eax]

	.att_syntax prefix
	vaddps %zmm0, %zmm1, %zmm2{%ecx}
	vaddps %zmm0, %zmm1, %zmm2{z}

	.intel_syntax noprefix
	vaddps zmm2{ecx}, zmm1, zmm0
	vaddps zmm2{z}, zmm1, zmm0

	.att_syntax prefix
	vmovaps (%eax){1to2}, %zmm1
	vmovaps (%eax){1to4}, %zmm1
	vmovaps (%eax){1to8}, %zmm1
	vmovaps (%eax){1to16}, %zmm1

	vcvtps2pd (%eax){1to2}, %zmm1
	vcvtps2pd (%eax){1to4}, %zmm1
	vcvtps2pd (%eax){1to8}, %zmm1
	vcvtps2pd (%eax){1to16}, %zmm1

	vcvtps2pd (%eax){1to2}, %ymm1
	vcvtps2pd (%eax){1to4}, %ymm1
	vcvtps2pd (%eax){1to8}, %ymm1
	vcvtps2pd (%eax){1to16}, %ymm1

	vcvtps2pd (%eax){1to2}, %xmm1
	vcvtps2pd (%eax){1to4}, %xmm1
	vcvtps2pd (%eax){1to8}, %xmm1
	vcvtps2pd (%eax){1to16}, %xmm1

	vaddps (%eax){1to2}, %zmm1, %zmm2
	vaddps (%eax){1to4}, %zmm1, %zmm2
	vaddps (%eax){1to8}, %zmm1, %zmm2
	vaddps (%eax){1to16}, %zmm1, %zmm2

	vaddps (%eax){1to2}, %ymm1, %ymm2
	vaddps (%eax){1to4}, %ymm1, %ymm2
	vaddps (%eax){1to8}, %ymm1, %ymm2
	vaddps (%eax){1to16}, %ymm1, %ymm2

	vaddps (%eax){1to2}, %xmm1, %xmm2
	vaddps (%eax){1to4}, %xmm1, %xmm2
	vaddps (%eax){1to8}, %xmm1, %xmm2
	vaddps (%eax){1to16}, %xmm1, %xmm2

	vaddpd (%eax){1to2}, %zmm1, %zmm2
	vaddpd (%eax){1to4}, %zmm1, %zmm2
	vaddpd (%eax){1to8}, %zmm1, %zmm2
	vaddpd (%eax){1to16}, %zmm1, %zmm2

	vaddpd (%eax){1to2}, %ymm1, %ymm2
	vaddpd (%eax){1to4}, %ymm1, %ymm2
	vaddpd (%eax){1to8}, %ymm1, %ymm2
	vaddpd (%eax){1to16}, %ymm1, %ymm2

	vaddpd (%eax){1to2}, %xmm1, %xmm2
	vaddpd (%eax){1to4}, %xmm1, %xmm2
	vaddpd (%eax){1to8}, %xmm1, %xmm2
	vaddpd (%eax){1to16}, %xmm1, %xmm2

	.intel_syntax noprefix
	vcvtps2pd zmm1, QWORD PTR [eax]
	vcvtps2pd ymm1, QWORD PTR [eax]
	vcvtps2pd xmm1, QWORD PTR [eax]

	vcvtps2pd xmm1, DWORD PTR [eax]{1to2}
	vcvtps2pd xmm1, DWORD PTR [eax]{1to4}
	vcvtps2pd xmm1, DWORD PTR [eax]{1to8}
	vcvtps2pd xmm1, DWORD PTR [eax]{1to16}

	vaddps zmm2, zmm1, QWORD PTR [eax]
	vaddps ymm2, ymm1, QWORD PTR [eax]
	vaddps xmm2, xmm1, QWORD PTR [eax]

	vaddps zmm2, zmm1, DWORD PTR [eax]{1to2}
	vaddps zmm2, zmm1, DWORD PTR [eax]{1to4}
	vaddps zmm2, zmm1, DWORD PTR [eax]{1to8}
	vaddps zmm2, zmm1, DWORD PTR [eax]{1to16}

	vaddps ymm2, ymm1, DWORD PTR [eax]{1to2}
	vaddps ymm2, ymm1, DWORD PTR [eax]{1to4}
	vaddps ymm2, ymm1, DWORD PTR [eax]{1to8}
	vaddps ymm2, ymm1, DWORD PTR [eax]{1to16}

	vaddps xmm2, xmm1, DWORD PTR [eax]{1to2}
	vaddps xmm2, xmm1, DWORD PTR [eax]{1to4}
	vaddps xmm2, xmm1, DWORD PTR [eax]{1to8}
	vaddps xmm2, xmm1, DWORD PTR [eax]{1to16}

	vaddpd zmm2, zmm1, DWORD PTR [eax]
	vaddpd ymm2, ymm1, DWORD PTR [eax]
	vaddpd xmm2, xmm1, DWORD PTR [eax]

	vaddpd zmm2, zmm1, QWORD PTR [eax]{1to2}
	vaddpd zmm2, zmm1, QWORD PTR [eax]{1to4}
	vaddpd zmm2, zmm1, QWORD PTR [eax]{1to8}
	vaddpd zmm2, zmm1, QWORD PTR [eax]{1to16}

	vaddpd ymm2, ymm1, QWORD PTR [eax]{1to2}
	vaddpd ymm2, ymm1, QWORD PTR [eax]{1to4}
	vaddpd ymm2, ymm1, QWORD PTR [eax]{1to8}
	vaddpd ymm2, ymm1, QWORD PTR [eax]{1to16}

	vaddpd xmm2, xmm1, QWORD PTR [eax]{1to2}
	vaddpd xmm2, xmm1, QWORD PTR [eax]{1to4}
	vaddpd xmm2, xmm1, QWORD PTR [eax]{1to8}
	vaddpd xmm2, xmm1, QWORD PTR [eax]{1to16}