• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding < %s | FileCheck %s
2
3// CHECK: vpopcntb %xmm23, %xmm21
4// CHECK: encoding: [0x62,0xa2,0x7d,0x08,0x54,0xef]
5          vpopcntb %xmm23, %xmm21
6
7// CHECK: vpopcntw %xmm23, %xmm21
8// CHECK: encoding: [0x62,0xa2,0xfd,0x08,0x54,0xef]
9          vpopcntw %xmm23, %xmm21
10
11// CHECK: vpopcntb %xmm3, %xmm1 {%k2}
12// CHECK: encoding: [0x62,0xf2,0x7d,0x0a,0x54,0xcb]
13          vpopcntb %xmm3, %xmm1 {%k2}
14
15// CHECK: vpopcntw %xmm3, %xmm1 {%k2}
16// CHECK: encoding: [0x62,0xf2,0xfd,0x0a,0x54,0xcb]
17          vpopcntw %xmm3, %xmm1 {%k2}
18
19// CHECK: vpopcntb  (%rcx), %xmm1
20// CHECK: encoding: [0x62,0xf2,0x7d,0x08,0x54,0x09]
21          vpopcntb  (%rcx), %xmm1
22
23// CHECK: vpopcntb  -64(%rsp), %xmm1
24// CHECK: encoding: [0x62,0xf2,0x7d,0x08,0x54,0x4c,0x24,0xfc]
25          vpopcntb  -64(%rsp), %xmm1
26
27// CHECK: vpopcntb  64(%rsp), %xmm1
28// CHECK: encoding: [0x62,0xf2,0x7d,0x08,0x54,0x4c,0x24,0x04]
29          vpopcntb  64(%rsp), %xmm1
30
31// CHECK: vpopcntb  268435456(%rcx,%r14,8), %xmm1
32// CHECK: encoding: [0x62,0xb2,0x7d,0x08,0x54,0x8c,0xf1,0x00,0x00,0x00,0x10]
33          vpopcntb  268435456(%rcx,%r14,8), %xmm1
34
35// CHECK: vpopcntb  -536870912(%rcx,%r14,8), %xmm1
36// CHECK: encoding: [0x62,0xb2,0x7d,0x08,0x54,0x8c,0xf1,0x00,0x00,0x00,0xe0]
37          vpopcntb  -536870912(%rcx,%r14,8), %xmm1
38
39// CHECK: vpopcntb  -536870910(%rcx,%r14,8), %xmm1
40// CHECK: encoding: [0x62,0xb2,0x7d,0x08,0x54,0x8c,0xf1,0x02,0x00,0x00,0xe0]
41          vpopcntb  -536870910(%rcx,%r14,8), %xmm1
42
43// CHECK: vpopcntw  (%rcx), %xmm1
44// CHECK: encoding: [0x62,0xf2,0xfd,0x08,0x54,0x09]
45          vpopcntw  (%rcx), %xmm1
46
47// CHECK: vpopcntw  -64(%rsp), %xmm1
48// CHECK: encoding: [0x62,0xf2,0xfd,0x08,0x54,0x4c,0x24,0xfc]
49          vpopcntw  -64(%rsp), %xmm1
50
51// CHECK: vpopcntw  64(%rsp), %xmm1
52// CHECK: encoding: [0x62,0xf2,0xfd,0x08,0x54,0x4c,0x24,0x04]
53          vpopcntw  64(%rsp), %xmm1
54
55// CHECK: vpopcntw  268435456(%rcx,%r14,8), %xmm1
56// CHECK: encoding: [0x62,0xb2,0xfd,0x08,0x54,0x8c,0xf1,0x00,0x00,0x00,0x10]
57          vpopcntw  268435456(%rcx,%r14,8), %xmm1
58
59// CHECK: vpopcntw  -536870912(%rcx,%r14,8), %xmm1
60// CHECK: encoding: [0x62,0xb2,0xfd,0x08,0x54,0x8c,0xf1,0x00,0x00,0x00,0xe0]
61          vpopcntw  -536870912(%rcx,%r14,8), %xmm1
62
63// CHECK: vpopcntw  -536870910(%rcx,%r14,8), %xmm1
64// CHECK: encoding: [0x62,0xb2,0xfd,0x08,0x54,0x8c,0xf1,0x02,0x00,0x00,0xe0]
65          vpopcntw  -536870910(%rcx,%r14,8), %xmm1
66
67// CHECK: vpopcntb  (%rcx), %xmm21 {%k2}
68// CHECK: encoding: [0x62,0xe2,0x7d,0x0a,0x54,0x29]
69          vpopcntb  (%rcx), %xmm21 {%k2}
70
71// CHECK: vpopcntb  -64(%rsp), %xmm21 {%k2}
72// CHECK: encoding: [0x62,0xe2,0x7d,0x0a,0x54,0x6c,0x24,0xfc]
73          vpopcntb  -64(%rsp), %xmm21 {%k2}
74
75// CHECK: vpopcntb  64(%rsp), %xmm21 {%k2}
76// CHECK: encoding: [0x62,0xe2,0x7d,0x0a,0x54,0x6c,0x24,0x04]
77          vpopcntb  64(%rsp), %xmm21 {%k2}
78
79// CHECK: vpopcntb  268435456(%rcx,%r14,8), %xmm21 {%k2}
80// CHECK: encoding: [0x62,0xa2,0x7d,0x0a,0x54,0xac,0xf1,0x00,0x00,0x00,0x10]
81          vpopcntb  268435456(%rcx,%r14,8), %xmm21 {%k2}
82
83// CHECK: vpopcntb  -536870912(%rcx,%r14,8), %xmm21 {%k2}
84// CHECK: encoding: [0x62,0xa2,0x7d,0x0a,0x54,0xac,0xf1,0x00,0x00,0x00,0xe0]
85          vpopcntb  -536870912(%rcx,%r14,8), %xmm21 {%k2}
86
87// CHECK: vpopcntb  -536870910(%rcx,%r14,8), %xmm21 {%k2}
88// CHECK: encoding: [0x62,0xa2,0x7d,0x0a,0x54,0xac,0xf1,0x02,0x00,0x00,0xe0]
89          vpopcntb  -536870910(%rcx,%r14,8), %xmm21 {%k2}
90
91// CHECK: vpopcntw  (%rcx), %xmm21 {%k2}
92// CHECK: encoding: [0x62,0xe2,0xfd,0x0a,0x54,0x29]
93          vpopcntw  (%rcx), %xmm21 {%k2}
94
95// CHECK: vpopcntw  -64(%rsp), %xmm21 {%k2}
96// CHECK: encoding: [0x62,0xe2,0xfd,0x0a,0x54,0x6c,0x24,0xfc]
97          vpopcntw  -64(%rsp), %xmm21 {%k2}
98
99// CHECK: vpopcntw  64(%rsp), %xmm21 {%k2}
100// CHECK: encoding: [0x62,0xe2,0xfd,0x0a,0x54,0x6c,0x24,0x04]
101          vpopcntw  64(%rsp), %xmm21 {%k2}
102
103// CHECK: vpopcntw  268435456(%rcx,%r14,8), %xmm21 {%k2}
104// CHECK: encoding: [0x62,0xa2,0xfd,0x0a,0x54,0xac,0xf1,0x00,0x00,0x00,0x10]
105          vpopcntw  268435456(%rcx,%r14,8), %xmm21 {%k2}
106
107// CHECK: vpopcntw  -536870912(%rcx,%r14,8), %xmm21 {%k2}
108// CHECK: encoding: [0x62,0xa2,0xfd,0x0a,0x54,0xac,0xf1,0x00,0x00,0x00,0xe0]
109          vpopcntw  -536870912(%rcx,%r14,8), %xmm21 {%k2}
110
111// CHECK: vpopcntw  -536870910(%rcx,%r14,8), %xmm21 {%k2}
112// CHECK: encoding: [0x62,0xa2,0xfd,0x0a,0x54,0xac,0xf1,0x02,0x00,0x00,0xe0]
113          vpopcntw  -536870910(%rcx,%r14,8), %xmm21 {%k2}
114
115// CHECK: vpopcntb %ymm23, %ymm21
116// CHECK: encoding: [0x62,0xa2,0x7d,0x28,0x54,0xef]
117          vpopcntb %ymm23, %ymm21
118
119// CHECK: vpopcntw %ymm23, %ymm21
120// CHECK: encoding: [0x62,0xa2,0xfd,0x28,0x54,0xef]
121          vpopcntw %ymm23, %ymm21
122
123// CHECK: vpopcntb %ymm3, %ymm1 {%k2}
124// CHECK: encoding: [0x62,0xf2,0x7d,0x2a,0x54,0xcb]
125          vpopcntb %ymm3, %ymm1 {%k2}
126
127// CHECK: vpopcntw %ymm3, %ymm1 {%k2}
128// CHECK: encoding: [0x62,0xf2,0xfd,0x2a,0x54,0xcb]
129          vpopcntw %ymm3, %ymm1 {%k2}
130
131// CHECK: vpopcntb  (%rcx), %ymm1
132// CHECK: encoding: [0x62,0xf2,0x7d,0x28,0x54,0x09]
133          vpopcntb  (%rcx), %ymm1
134
135// CHECK: vpopcntb  -128(%rsp), %ymm1
136// CHECK: encoding: [0x62,0xf2,0x7d,0x28,0x54,0x4c,0x24,0xfc]
137          vpopcntb  -128(%rsp), %ymm1
138
139// CHECK: vpopcntb  128(%rsp), %ymm1
140// CHECK: encoding: [0x62,0xf2,0x7d,0x28,0x54,0x4c,0x24,0x04]
141          vpopcntb  128(%rsp), %ymm1
142
143// CHECK: vpopcntb  268435456(%rcx,%r14,8), %ymm1
144// CHECK: encoding: [0x62,0xb2,0x7d,0x28,0x54,0x8c,0xf1,0x00,0x00,0x00,0x10]
145          vpopcntb  268435456(%rcx,%r14,8), %ymm1
146
147// CHECK: vpopcntb  -536870912(%rcx,%r14,8), %ymm1
148// CHECK: encoding: [0x62,0xb2,0x7d,0x28,0x54,0x8c,0xf1,0x00,0x00,0x00,0xe0]
149          vpopcntb  -536870912(%rcx,%r14,8), %ymm1
150
151// CHECK: vpopcntb  -536870910(%rcx,%r14,8), %ymm1
152// CHECK: encoding: [0x62,0xb2,0x7d,0x28,0x54,0x8c,0xf1,0x02,0x00,0x00,0xe0]
153          vpopcntb  -536870910(%rcx,%r14,8), %ymm1
154
155// CHECK: vpopcntw  (%rcx), %ymm1
156// CHECK: encoding: [0x62,0xf2,0xfd,0x28,0x54,0x09]
157          vpopcntw  (%rcx), %ymm1
158
159// CHECK: vpopcntw  -128(%rsp), %ymm1
160// CHECK: encoding: [0x62,0xf2,0xfd,0x28,0x54,0x4c,0x24,0xfc]
161          vpopcntw  -128(%rsp), %ymm1
162
163// CHECK: vpopcntw  128(%rsp), %ymm1
164// CHECK: encoding: [0x62,0xf2,0xfd,0x28,0x54,0x4c,0x24,0x04]
165          vpopcntw  128(%rsp), %ymm1
166
167// CHECK: vpopcntw  268435456(%rcx,%r14,8), %ymm1
168// CHECK: encoding: [0x62,0xb2,0xfd,0x28,0x54,0x8c,0xf1,0x00,0x00,0x00,0x10]
169          vpopcntw  268435456(%rcx,%r14,8), %ymm1
170
171// CHECK: vpopcntw  -536870912(%rcx,%r14,8), %ymm1
172// CHECK: encoding: [0x62,0xb2,0xfd,0x28,0x54,0x8c,0xf1,0x00,0x00,0x00,0xe0]
173          vpopcntw  -536870912(%rcx,%r14,8), %ymm1
174
175// CHECK: vpopcntw  -536870910(%rcx,%r14,8), %ymm1
176// CHECK: encoding: [0x62,0xb2,0xfd,0x28,0x54,0x8c,0xf1,0x02,0x00,0x00,0xe0]
177          vpopcntw  -536870910(%rcx,%r14,8), %ymm1
178
179// CHECK: vpopcntb  (%rcx), %ymm21 {%k2}
180// CHECK: encoding: [0x62,0xe2,0x7d,0x2a,0x54,0x29]
181          vpopcntb  (%rcx), %ymm21 {%k2}
182
183// CHECK: vpopcntb  -128(%rsp), %ymm21 {%k2}
184// CHECK: encoding: [0x62,0xe2,0x7d,0x2a,0x54,0x6c,0x24,0xfc]
185          vpopcntb  -128(%rsp), %ymm21 {%k2}
186
187// CHECK: vpopcntb  128(%rsp), %ymm21 {%k2}
188// CHECK: encoding: [0x62,0xe2,0x7d,0x2a,0x54,0x6c,0x24,0x04]
189          vpopcntb  128(%rsp), %ymm21 {%k2}
190
191// CHECK: vpopcntb  268435456(%rcx,%r14,8), %ymm21 {%k2}
192// CHECK: encoding: [0x62,0xa2,0x7d,0x2a,0x54,0xac,0xf1,0x00,0x00,0x00,0x10]
193          vpopcntb  268435456(%rcx,%r14,8), %ymm21 {%k2}
194
195// CHECK: vpopcntb  -536870912(%rcx,%r14,8), %ymm21 {%k2}
196// CHECK: encoding: [0x62,0xa2,0x7d,0x2a,0x54,0xac,0xf1,0x00,0x00,0x00,0xe0]
197          vpopcntb  -536870912(%rcx,%r14,8), %ymm21 {%k2}
198
199// CHECK: vpopcntb  -536870910(%rcx,%r14,8), %ymm21 {%k2}
200// CHECK: encoding: [0x62,0xa2,0x7d,0x2a,0x54,0xac,0xf1,0x02,0x00,0x00,0xe0]
201          vpopcntb  -536870910(%rcx,%r14,8), %ymm21 {%k2}
202
203// CHECK: vpopcntw  (%rcx), %ymm21 {%k2}
204// CHECK: encoding: [0x62,0xe2,0xfd,0x2a,0x54,0x29]
205          vpopcntw  (%rcx), %ymm21 {%k2}
206
207// CHECK: vpopcntw  -128(%rsp), %ymm21 {%k2}
208// CHECK: encoding: [0x62,0xe2,0xfd,0x2a,0x54,0x6c,0x24,0xfc]
209          vpopcntw  -128(%rsp), %ymm21 {%k2}
210
211// CHECK: vpopcntw  128(%rsp), %ymm21 {%k2}
212// CHECK: encoding: [0x62,0xe2,0xfd,0x2a,0x54,0x6c,0x24,0x04]
213          vpopcntw  128(%rsp), %ymm21 {%k2}
214
215// CHECK: vpopcntw  268435456(%rcx,%r14,8), %ymm21 {%k2}
216// CHECK: encoding: [0x62,0xa2,0xfd,0x2a,0x54,0xac,0xf1,0x00,0x00,0x00,0x10]
217          vpopcntw  268435456(%rcx,%r14,8), %ymm21 {%k2}
218
219// CHECK: vpopcntw  -536870912(%rcx,%r14,8), %ymm21 {%k2}
220// CHECK: encoding: [0x62,0xa2,0xfd,0x2a,0x54,0xac,0xf1,0x00,0x00,0x00,0xe0]
221          vpopcntw  -536870912(%rcx,%r14,8), %ymm21 {%k2}
222
223// CHECK: vpopcntw  -536870910(%rcx,%r14,8), %ymm21 {%k2}
224// CHECK: encoding: [0x62,0xa2,0xfd,0x2a,0x54,0xac,0xf1,0x02,0x00,0x00,0xe0]
225          vpopcntw  -536870910(%rcx,%r14,8), %ymm21 {%k2}
226
227// CHECK: vpshufbitqmb %xmm2, %xmm23, %k1
228// CHECK: encoding: [0x62,0xf2,0x45,0x00,0x8f,0xca]
229          vpshufbitqmb %xmm2, %xmm23, %k1
230
231// CHECK: vpshufbitqmb %xmm2, %xmm23, %k1 {%k2}
232// CHECK: encoding: [0x62,0xf2,0x45,0x02,0x8f,0xca]
233          vpshufbitqmb %xmm2, %xmm23, %k1 {%k2}
234
235// CHECK: vpshufbitqmb  (%rcx), %xmm23, %k1
236// CHECK: encoding: [0x62,0xf2,0x45,0x00,0x8f,0x09]
237          vpshufbitqmb  (%rcx), %xmm23, %k1
238
239// CHECK: vpshufbitqmb  -64(%rsp), %xmm23, %k1
240// CHECK: encoding: [0x62,0xf2,0x45,0x00,0x8f,0x4c,0x24,0xfc]
241          vpshufbitqmb  -64(%rsp), %xmm23, %k1
242
243// CHECK: vpshufbitqmb  64(%rsp), %xmm23, %k1
244// CHECK: encoding: [0x62,0xf2,0x45,0x00,0x8f,0x4c,0x24,0x04]
245          vpshufbitqmb  64(%rsp), %xmm23, %k1
246
247// CHECK: vpshufbitqmb  268435456(%rcx,%r14,8), %xmm23, %k1
248// CHECK: encoding: [0x62,0xb2,0x45,0x00,0x8f,0x8c,0xf1,0x00,0x00,0x00,0x10]
249          vpshufbitqmb  268435456(%rcx,%r14,8), %xmm23, %k1
250
251// CHECK: vpshufbitqmb  -536870912(%rcx,%r14,8), %xmm23, %k1
252// CHECK: encoding: [0x62,0xb2,0x45,0x00,0x8f,0x8c,0xf1,0x00,0x00,0x00,0xe0]
253          vpshufbitqmb  -536870912(%rcx,%r14,8), %xmm23, %k1
254
255// CHECK: vpshufbitqmb  -536870910(%rcx,%r14,8), %xmm23, %k1
256// CHECK: encoding: [0x62,0xb2,0x45,0x00,0x8f,0x8c,0xf1,0x02,0x00,0x00,0xe0]
257          vpshufbitqmb  -536870910(%rcx,%r14,8), %xmm23, %k1
258
259// CHECK: vpshufbitqmb  (%rcx), %xmm23, %k1 {%k2}
260// CHECK: encoding: [0x62,0xf2,0x45,0x02,0x8f,0x09]
261          vpshufbitqmb  (%rcx), %xmm23, %k1 {%k2}
262
263// CHECK: vpshufbitqmb  -64(%rsp), %xmm23, %k1 {%k2}
264// CHECK: encoding: [0x62,0xf2,0x45,0x02,0x8f,0x4c,0x24,0xfc]
265          vpshufbitqmb  -64(%rsp), %xmm23, %k1 {%k2}
266
267// CHECK: vpshufbitqmb  64(%rsp), %xmm23, %k1 {%k2}
268// CHECK: encoding: [0x62,0xf2,0x45,0x02,0x8f,0x4c,0x24,0x04]
269          vpshufbitqmb  64(%rsp), %xmm23, %k1 {%k2}
270
271// CHECK: vpshufbitqmb  268435456(%rcx,%r14,8), %xmm23, %k1 {%k2}
272// CHECK: encoding: [0x62,0xb2,0x45,0x02,0x8f,0x8c,0xf1,0x00,0x00,0x00,0x10]
273          vpshufbitqmb  268435456(%rcx,%r14,8), %xmm23, %k1 {%k2}
274
275// CHECK: vpshufbitqmb  -536870912(%rcx,%r14,8), %xmm23, %k1 {%k2}
276// CHECK: encoding: [0x62,0xb2,0x45,0x02,0x8f,0x8c,0xf1,0x00,0x00,0x00,0xe0]
277          vpshufbitqmb  -536870912(%rcx,%r14,8), %xmm23, %k1 {%k2}
278
279// CHECK: vpshufbitqmb  -536870910(%rcx,%r14,8), %xmm23, %k1 {%k2}
280// CHECK: encoding: [0x62,0xb2,0x45,0x02,0x8f,0x8c,0xf1,0x02,0x00,0x00,0xe0]
281          vpshufbitqmb  -536870910(%rcx,%r14,8), %xmm23, %k1 {%k2}
282
283// CHECK: vpshufbitqmb %ymm2, %ymm23, %k1
284// CHECK: encoding: [0x62,0xf2,0x45,0x20,0x8f,0xca]
285          vpshufbitqmb %ymm2, %ymm23, %k1
286
287// CHECK: vpshufbitqmb %ymm2, %ymm23, %k1 {%k2}
288// CHECK: encoding: [0x62,0xf2,0x45,0x22,0x8f,0xca]
289          vpshufbitqmb %ymm2, %ymm23, %k1 {%k2}
290
291// CHECK: vpshufbitqmb  (%rcx), %ymm23, %k1
292// CHECK: encoding: [0x62,0xf2,0x45,0x20,0x8f,0x09]
293          vpshufbitqmb  (%rcx), %ymm23, %k1
294
295// CHECK: vpshufbitqmb  -128(%rsp), %ymm23, %k1
296// CHECK: encoding: [0x62,0xf2,0x45,0x20,0x8f,0x4c,0x24,0xfc]
297          vpshufbitqmb  -128(%rsp), %ymm23, %k1
298
299// CHECK: vpshufbitqmb  128(%rsp), %ymm23, %k1
300// CHECK: encoding: [0x62,0xf2,0x45,0x20,0x8f,0x4c,0x24,0x04]
301          vpshufbitqmb  128(%rsp), %ymm23, %k1
302
303// CHECK: vpshufbitqmb  268435456(%rcx,%r14,8), %ymm23, %k1
304// CHECK: encoding: [0x62,0xb2,0x45,0x20,0x8f,0x8c,0xf1,0x00,0x00,0x00,0x10]
305          vpshufbitqmb  268435456(%rcx,%r14,8), %ymm23, %k1
306
307// CHECK: vpshufbitqmb  -536870912(%rcx,%r14,8), %ymm23, %k1
308// CHECK: encoding: [0x62,0xb2,0x45,0x20,0x8f,0x8c,0xf1,0x00,0x00,0x00,0xe0]
309          vpshufbitqmb  -536870912(%rcx,%r14,8), %ymm23, %k1
310
311// CHECK: vpshufbitqmb  -536870910(%rcx,%r14,8), %ymm23, %k1
312// CHECK: encoding: [0x62,0xb2,0x45,0x20,0x8f,0x8c,0xf1,0x02,0x00,0x00,0xe0]
313          vpshufbitqmb  -536870910(%rcx,%r14,8), %ymm23, %k1
314
315// CHECK: vpshufbitqmb  (%rcx), %ymm23, %k1 {%k2}
316// CHECK: encoding: [0x62,0xf2,0x45,0x22,0x8f,0x09]
317          vpshufbitqmb  (%rcx), %ymm23, %k1 {%k2}
318
319// CHECK: vpshufbitqmb  -128(%rsp), %ymm23, %k1 {%k2}
320// CHECK: encoding: [0x62,0xf2,0x45,0x22,0x8f,0x4c,0x24,0xfc]
321          vpshufbitqmb  -128(%rsp), %ymm23, %k1 {%k2}
322
323// CHECK: vpshufbitqmb  128(%rsp), %ymm23, %k1 {%k2}
324// CHECK: encoding: [0x62,0xf2,0x45,0x22,0x8f,0x4c,0x24,0x04]
325          vpshufbitqmb  128(%rsp), %ymm23, %k1 {%k2}
326
327// CHECK: vpshufbitqmb  268435456(%rcx,%r14,8), %ymm23, %k1 {%k2}
328// CHECK: encoding: [0x62,0xb2,0x45,0x22,0x8f,0x8c,0xf1,0x00,0x00,0x00,0x10]
329          vpshufbitqmb  268435456(%rcx,%r14,8), %ymm23, %k1 {%k2}
330
331// CHECK: vpshufbitqmb  -536870912(%rcx,%r14,8), %ymm23, %k1 {%k2}
332// CHECK: encoding: [0x62,0xb2,0x45,0x22,0x8f,0x8c,0xf1,0x00,0x00,0x00,0xe0]
333          vpshufbitqmb  -536870912(%rcx,%r14,8), %ymm23, %k1 {%k2}
334
335// CHECK: vpshufbitqmb  -536870910(%rcx,%r14,8), %ymm23, %k1 {%k2}
336// CHECK: encoding: [0x62,0xb2,0x45,0x22,0x8f,0x8c,0xf1,0x02,0x00,0x00,0xe0]
337          vpshufbitqmb  -536870910(%rcx,%r14,8), %ymm23, %k1 {%k2}
338
339