1
# Check x86-64 AVX2 instructions
7
# Tests for op mem256, mask, ymm
8
# Tests for op ymm, mask, mem256
9
vpmaskmovd (%rcx),%ymm4,%ymm6
10
vpmaskmovd %ymm4,%ymm6,(%rcx)
11
vpmaskmovq (%rcx),%ymm4,%ymm6
12
vpmaskmovq %ymm4,%ymm6,(%rcx)
14
# Tests for op imm8, ymm/mem256, ymm
15
vpermpd $7,%ymm6,%ymm2
16
vpermpd $7,(%rcx),%ymm6
18
vpermq $7,(%rcx),%ymm6
20
# Tests for op ymm/mem256, ymm, ymm
21
vpermd %ymm4,%ymm6,%ymm2
22
vpermd (%rcx),%ymm6,%ymm2
23
vpermps %ymm4,%ymm6,%ymm2
24
vpermps (%rcx),%ymm6,%ymm2
25
vpsllvd %ymm4,%ymm6,%ymm2
26
vpsllvd (%rcx),%ymm6,%ymm2
27
vpsllvq %ymm4,%ymm6,%ymm2
28
vpsllvq (%rcx),%ymm6,%ymm2
29
vpsravd %ymm4,%ymm6,%ymm2
30
vpsravd (%rcx),%ymm6,%ymm2
31
vpsrlvd %ymm4,%ymm6,%ymm2
32
vpsrlvd (%rcx),%ymm6,%ymm2
33
vpsrlvq %ymm4,%ymm6,%ymm2
34
vpsrlvq (%rcx),%ymm6,%ymm2
36
# Tests for op mem256, ymm
37
vmovntdqa (%rcx),%ymm4
39
# Tests for op ymm, xmm
40
vbroadcastsd %xmm4,%ymm6
41
vbroadcastss %xmm4,%ymm6
43
# Tests for op imm8, ymm/mem256, ymm, ymm
44
vpblendd $7,%ymm4,%ymm6,%ymm2
45
vpblendd $7,(%rcx),%ymm6,%ymm2
46
vperm2i128 $7,%ymm4,%ymm6,%ymm2
47
vperm2i128 $7,(%rcx),%ymm6,%ymm2
49
# Tests for op imm8, xmm/mem128, ymm, ymm
50
vinserti128 $7,%xmm4,%ymm4,%ymm6
51
vinserti128 $7,(%rcx),%ymm4,%ymm6
53
# Tests for op mem128, ymm
54
vbroadcasti128 (%rcx),%ymm4
56
# Tests for op xmm/mem128, xmm, xmm
57
vpsllvd %xmm4,%xmm6,%xmm2
58
vpsllvd (%rcx),%xmm6,%xmm7
59
vpsllvq %xmm4,%xmm6,%xmm2
60
vpsllvq (%rcx),%xmm6,%xmm7
61
vpsravd %xmm4,%xmm6,%xmm2
62
vpsravd (%rcx),%xmm6,%xmm7
63
vpsrlvd %xmm4,%xmm6,%xmm2
64
vpsrlvd (%rcx),%xmm6,%xmm7
65
vpsrlvq %xmm4,%xmm6,%xmm2
66
vpsrlvq (%rcx),%xmm6,%xmm7
68
# Tests for op mem128, xmm, xmm
69
vpmaskmovd (%rcx),%xmm4,%xmm6
70
vpmaskmovq (%rcx),%xmm4,%xmm6
72
# Tests for op imm8, ymm, xmm128/mem
73
vextracti128 $7,%ymm4,%xmm6
74
vextracti128 $7,%ymm4,(%rcx)
76
# Tests for op xmm, xmm, mem128
77
vpmaskmovd %xmm4,%xmm6,(%rcx)
78
vpmaskmovq %xmm4,%xmm6,(%rcx)
80
# Tests for op imm8, xmm/mem128, xmm, xmm
81
vpblendd $7,%xmm4,%xmm6,%xmm2
82
vpblendd $7,(%rcx),%xmm6,%xmm2
84
# Tests for op xmm/mem64, xmm
85
vpbroadcastq %xmm4,%xmm6
86
vpbroadcastq (%rcx),%xmm4
88
# Tests for op xmm/mem64, ymm
89
vpbroadcastq %xmm4,%ymm6
90
vpbroadcastq (%rcx),%ymm4
92
# Tests for op xmm/mem32, ymm
93
vpbroadcastd %xmm4,%ymm4
94
vpbroadcastd (%rcx),%ymm4
96
# Tests for op xmm/mem32, xmm
97
vpbroadcastd %xmm4,%xmm6
98
vpbroadcastd (%rcx),%xmm4
100
# Tests for op xmm/m16, xmm
101
vpbroadcastw %xmm4,%xmm6
102
vpbroadcastw (%rcx),%xmm4
104
# Tests for op xmm/m16, ymm
105
vpbroadcastw %xmm4,%ymm6
106
vpbroadcastw (%rcx),%ymm4
108
# Tests for op xmm/m8, xmm
109
vpbroadcastb %xmm4,%xmm6
110
vpbroadcastb (%rcx),%xmm4
112
# Tests for op xmm/m8, ymm
113
vpbroadcastb %xmm4,%ymm6
114
vpbroadcastb (%rcx),%ymm4
116
# Tests for op xmm, xmm
117
vbroadcastss %xmm4,%xmm6
119
.intel_syntax noprefix
121
# Tests for op mem256, mask, ymm
122
# Tests for op ymm, mask, mem256
123
vpmaskmovd ymm6,ymm4,YMMWORD PTR [rcx]
124
vpmaskmovd YMMWORD PTR [rcx],ymm6,ymm4
125
vpmaskmovd ymm6,ymm4,[rcx]
126
vpmaskmovd [rcx],ymm6,ymm4
127
vpmaskmovq ymm6,ymm4,YMMWORD PTR [rcx]
128
vpmaskmovq YMMWORD PTR [rcx],ymm6,ymm4
129
vpmaskmovq ymm6,ymm4,[rcx]
130
vpmaskmovq [rcx],ymm6,ymm4
132
# Tests for op imm8, ymm/mem256, ymm
134
vpermpd ymm6,YMMWORD PTR [rcx],7
137
vpermq ymm6,YMMWORD PTR [rcx],7
140
# Tests for op ymm/mem256, ymm, ymm
141
vpermd ymm2,ymm6,ymm4
142
vpermd ymm2,ymm6,YMMWORD PTR [rcx]
143
vpermd ymm2,ymm6,[rcx]
144
vpermps ymm2,ymm6,ymm4
145
vpermps ymm2,ymm6,YMMWORD PTR [rcx]
146
vpermps ymm2,ymm6,[rcx]
147
vpsllvd ymm2,ymm6,ymm4
148
vpsllvd ymm2,ymm6,YMMWORD PTR [rcx]
149
vpsllvd ymm2,ymm6,[rcx]
150
vpsllvq ymm2,ymm6,ymm4
151
vpsllvq ymm2,ymm6,YMMWORD PTR [rcx]
152
vpsllvq ymm2,ymm6,[rcx]
153
vpsravd ymm2,ymm6,ymm4
154
vpsravd ymm2,ymm6,YMMWORD PTR [rcx]
155
vpsravd ymm2,ymm6,[rcx]
156
vpsrlvd ymm2,ymm6,ymm4
157
vpsrlvd ymm2,ymm6,YMMWORD PTR [rcx]
158
vpsrlvd ymm2,ymm6,[rcx]
159
vpsrlvq ymm2,ymm6,ymm4
160
vpsrlvq ymm2,ymm6,YMMWORD PTR [rcx]
161
vpsrlvq ymm2,ymm6,[rcx]
163
# Tests for op mem256, ymm
164
vmovntdqa ymm4,YMMWORD PTR [rcx]
167
# Tests for op ymm, xmm
168
vbroadcastsd ymm6,xmm4
169
vbroadcastss ymm6,xmm4
171
# Tests for op imm8, ymm/mem256, ymm, ymm
172
vpblendd ymm2,ymm6,ymm4,7
173
vpblendd ymm2,ymm6,YMMWORD PTR [rcx],7
174
vpblendd ymm2,ymm6,[rcx],7
175
vperm2i128 ymm2,ymm6,ymm4,7
176
vperm2i128 ymm2,ymm6,YMMWORD PTR [rcx],7
177
vperm2i128 ymm2,ymm6,[rcx],7
179
# Tests for op imm8, xmm/mem128, ymm, ymm
180
vinserti128 ymm6,ymm4,xmm4,7
181
vinserti128 ymm6,ymm4,XMMWORD PTR [rcx],7
182
vinserti128 ymm6,ymm4,[rcx],7
184
# Tests for op mem128, ymm
185
vbroadcasti128 ymm4,XMMWORD PTR [rcx]
186
vbroadcasti128 ymm4,[rcx]
188
# Tests for op xmm/mem128, xmm, xmm
189
vpsllvd xmm2,xmm6,xmm4
190
vpsllvd xmm7,xmm6,XMMWORD PTR [rcx]
191
vpsllvd xmm7,xmm6,[rcx]
192
vpsllvq xmm2,xmm6,xmm4
193
vpsllvq xmm7,xmm6,XMMWORD PTR [rcx]
194
vpsllvq xmm7,xmm6,[rcx]
195
vpsravd xmm2,xmm6,xmm4
196
vpsravd xmm7,xmm6,XMMWORD PTR [rcx]
197
vpsravd xmm7,xmm6,[rcx]
198
vpsrlvd xmm2,xmm6,xmm4
199
vpsrlvd xmm7,xmm6,XMMWORD PTR [rcx]
200
vpsrlvd xmm7,xmm6,[rcx]
201
vpsrlvq xmm2,xmm6,xmm4
202
vpsrlvq xmm7,xmm6,XMMWORD PTR [rcx]
203
vpsrlvq xmm7,xmm6,[rcx]
205
# Tests for op mem128, xmm, xmm
206
vpmaskmovd xmm6,xmm4,XMMWORD PTR [rcx]
207
vpmaskmovd xmm6,xmm4,[rcx]
208
vpmaskmovq xmm6,xmm4,XMMWORD PTR [rcx]
209
vpmaskmovq xmm6,xmm4,[rcx]
211
# Tests for op imm8, ymm, xmm128/mem
212
vextracti128 xmm6,ymm4,7
213
vextracti128 XMMWORD PTR [rcx],ymm4,7
214
vextracti128 [rcx],ymm4,7
216
# Tests for op xmm, xmm, mem128
217
vpmaskmovd XMMWORD PTR [rcx],xmm6,xmm4
218
vpmaskmovd [rcx],xmm6,xmm4
219
vpmaskmovq XMMWORD PTR [rcx],xmm6,xmm4
220
vpmaskmovq [rcx],xmm6,xmm4
222
# Tests for op imm8, xmm/mem128, xmm, xmm
223
vpblendd xmm2,xmm6,xmm4,7
224
vpblendd xmm2,xmm6,XMMWORD PTR [rcx],7
225
vpblendd xmm2,xmm6,[rcx],7
227
# Tests for op xmm/mem64, xmm
228
vpbroadcastq xmm6,xmm4
229
vpbroadcastq xmm4,QWORD PTR [rcx]
230
vpbroadcastq xmm4,[rcx]
232
# Tests for op xmm/mem64, ymm
233
vpbroadcastq ymm6,xmm4
234
vpbroadcastq ymm4,QWORD PTR [rcx]
235
vpbroadcastq ymm4,[rcx]
237
# Tests for op xmm/mem32, ymm
238
vpbroadcastd ymm4,xmm4
239
vpbroadcastd ymm4,DWORD PTR [rcx]
240
vpbroadcastd ymm4,[rcx]
242
# Tests for op xmm/mem32, xmm
243
vpbroadcastd xmm6,xmm4
244
vpbroadcastd xmm4,DWORD PTR [rcx]
245
vpbroadcastd xmm4,[rcx]
247
# Tests for op xmm/m16, xmm
248
vpbroadcastw xmm6,xmm4
249
vpbroadcastw xmm4,WORD PTR [rcx]
250
vpbroadcastw xmm4,[rcx]
252
# Tests for op xmm/m16, ymm
253
vpbroadcastw ymm6,xmm4
254
vpbroadcastw ymm4,WORD PTR [rcx]
255
vpbroadcastw ymm4,[rcx]
257
# Tests for op xmm/m8, xmm
258
vpbroadcastb xmm6,xmm4
259
vpbroadcastb xmm4,BYTE PTR [rcx]
260
vpbroadcastb xmm4,[rcx]
262
# Tests for op xmm/m8, ymm
263
vpbroadcastb ymm6,xmm4
264
vpbroadcastb ymm4,BYTE PTR [rcx]
265
vpbroadcastb ymm4,[rcx]
267
# Tests for op xmm, xmm
268
vbroadcastss xmm6,xmm4