Add support for parsing the XOR operator in Intel syntax inline assembly.
[oota-llvm.git] / test / MC / X86 / avx512vl-encoding.s
1 // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=skx  --show-encoding %s | FileCheck %s
2
3 // CHECK: vblendmpd %xmm19, %xmm20, %xmm27
4 // CHECK:  encoding: [0x62,0x22,0xdd,0x00,0x65,0xdb]
5           vblendmpd %xmm19, %xmm20, %xmm27
6
7 // CHECK: vblendmpd %xmm19, %xmm20, %xmm27 {%k7}
8 // CHECK:  encoding: [0x62,0x22,0xdd,0x07,0x65,0xdb]
9           vblendmpd %xmm19, %xmm20, %xmm27 {%k7}
10
11 // CHECK: vblendmpd %xmm19, %xmm20, %xmm27 {%k7} {z}
12 // CHECK:  encoding: [0x62,0x22,0xdd,0x87,0x65,0xdb]
13           vblendmpd %xmm19, %xmm20, %xmm27 {%k7} {z}
14
15 // CHECK: vblendmpd (%rcx), %xmm20, %xmm27
16 // CHECK:  encoding: [0x62,0x62,0xdd,0x00,0x65,0x19]
17           vblendmpd (%rcx), %xmm20, %xmm27
18
19 // CHECK: vblendmpd 291(%rax,%r14,8), %xmm20, %xmm27
20 // CHECK:  encoding: [0x62,0x22,0xdd,0x00,0x65,0x9c,0xf0,0x23,0x01,0x00,0x00]
21           vblendmpd 291(%rax,%r14,8), %xmm20, %xmm27
22
23 // CHECK: vblendmpd (%rcx){1to2}, %xmm20, %xmm27
24 // CHECK:  encoding: [0x62,0x62,0xdd,0x10,0x65,0x19]
25           vblendmpd (%rcx){1to2}, %xmm20, %xmm27
26
27 // CHECK: vblendmpd 2032(%rdx), %xmm20, %xmm27
28 // CHECK:  encoding: [0x62,0x62,0xdd,0x00,0x65,0x5a,0x7f]
29           vblendmpd 2032(%rdx), %xmm20, %xmm27
30
31 // CHECK: vblendmpd 2048(%rdx), %xmm20, %xmm27
32 // CHECK:  encoding: [0x62,0x62,0xdd,0x00,0x65,0x9a,0x00,0x08,0x00,0x00]
33           vblendmpd 2048(%rdx), %xmm20, %xmm27
34
35 // CHECK: vblendmpd -2048(%rdx), %xmm20, %xmm27
36 // CHECK:  encoding: [0x62,0x62,0xdd,0x00,0x65,0x5a,0x80]
37           vblendmpd -2048(%rdx), %xmm20, %xmm27
38
39 // CHECK: vblendmpd -2064(%rdx), %xmm20, %xmm27
40 // CHECK:  encoding: [0x62,0x62,0xdd,0x00,0x65,0x9a,0xf0,0xf7,0xff,0xff]
41           vblendmpd -2064(%rdx), %xmm20, %xmm27
42
43 // CHECK: vblendmpd 1016(%rdx){1to2}, %xmm20, %xmm27
44 // CHECK:  encoding: [0x62,0x62,0xdd,0x10,0x65,0x5a,0x7f]
45           vblendmpd 1016(%rdx){1to2}, %xmm20, %xmm27
46
47 // CHECK: vblendmpd 1024(%rdx){1to2}, %xmm20, %xmm27
48 // CHECK:  encoding: [0x62,0x62,0xdd,0x10,0x65,0x9a,0x00,0x04,0x00,0x00]
49           vblendmpd 1024(%rdx){1to2}, %xmm20, %xmm27
50
51 // CHECK: vblendmpd -1024(%rdx){1to2}, %xmm20, %xmm27
52 // CHECK:  encoding: [0x62,0x62,0xdd,0x10,0x65,0x5a,0x80]
53           vblendmpd -1024(%rdx){1to2}, %xmm20, %xmm27
54
55 // CHECK: vblendmpd -1032(%rdx){1to2}, %xmm20, %xmm27
56 // CHECK:  encoding: [0x62,0x62,0xdd,0x10,0x65,0x9a,0xf8,0xfb,0xff,0xff]
57           vblendmpd -1032(%rdx){1to2}, %xmm20, %xmm27
58
59 // CHECK: vblendmpd %ymm23, %ymm21, %ymm28
60 // CHECK:  encoding: [0x62,0x22,0xd5,0x20,0x65,0xe7]
61           vblendmpd %ymm23, %ymm21, %ymm28
62
63 // CHECK: vblendmpd %ymm23, %ymm21, %ymm28 {%k3}
64 // CHECK:  encoding: [0x62,0x22,0xd5,0x23,0x65,0xe7]
65           vblendmpd %ymm23, %ymm21, %ymm28 {%k3}
66
67 // CHECK: vblendmpd %ymm23, %ymm21, %ymm28 {%k3} {z}
68 // CHECK:  encoding: [0x62,0x22,0xd5,0xa3,0x65,0xe7]
69           vblendmpd %ymm23, %ymm21, %ymm28 {%k3} {z}
70
71 // CHECK: vblendmpd (%rcx), %ymm21, %ymm28
72 // CHECK:  encoding: [0x62,0x62,0xd5,0x20,0x65,0x21]
73           vblendmpd (%rcx), %ymm21, %ymm28
74
75 // CHECK: vblendmpd 291(%rax,%r14,8), %ymm21, %ymm28
76 // CHECK:  encoding: [0x62,0x22,0xd5,0x20,0x65,0xa4,0xf0,0x23,0x01,0x00,0x00]
77           vblendmpd 291(%rax,%r14,8), %ymm21, %ymm28
78
79 // CHECK: vblendmpd (%rcx){1to4}, %ymm21, %ymm28
80 // CHECK:  encoding: [0x62,0x62,0xd5,0x30,0x65,0x21]
81           vblendmpd (%rcx){1to4}, %ymm21, %ymm28
82
83 // CHECK: vblendmpd 4064(%rdx), %ymm21, %ymm28
84 // CHECK:  encoding: [0x62,0x62,0xd5,0x20,0x65,0x62,0x7f]
85           vblendmpd 4064(%rdx), %ymm21, %ymm28
86
87 // CHECK: vblendmpd 4096(%rdx), %ymm21, %ymm28
88 // CHECK:  encoding: [0x62,0x62,0xd5,0x20,0x65,0xa2,0x00,0x10,0x00,0x00]
89           vblendmpd 4096(%rdx), %ymm21, %ymm28
90
91 // CHECK: vblendmpd -4096(%rdx), %ymm21, %ymm28
92 // CHECK:  encoding: [0x62,0x62,0xd5,0x20,0x65,0x62,0x80]
93           vblendmpd -4096(%rdx), %ymm21, %ymm28
94
95 // CHECK: vblendmpd -4128(%rdx), %ymm21, %ymm28
96 // CHECK:  encoding: [0x62,0x62,0xd5,0x20,0x65,0xa2,0xe0,0xef,0xff,0xff]
97           vblendmpd -4128(%rdx), %ymm21, %ymm28
98
99 // CHECK: vblendmpd 1016(%rdx){1to4}, %ymm21, %ymm28
100 // CHECK:  encoding: [0x62,0x62,0xd5,0x30,0x65,0x62,0x7f]
101           vblendmpd 1016(%rdx){1to4}, %ymm21, %ymm28
102
103 // CHECK: vblendmpd 1024(%rdx){1to4}, %ymm21, %ymm28
104 // CHECK:  encoding: [0x62,0x62,0xd5,0x30,0x65,0xa2,0x00,0x04,0x00,0x00]
105           vblendmpd 1024(%rdx){1to4}, %ymm21, %ymm28
106
107 // CHECK: vblendmpd -1024(%rdx){1to4}, %ymm21, %ymm28
108 // CHECK:  encoding: [0x62,0x62,0xd5,0x30,0x65,0x62,0x80]
109           vblendmpd -1024(%rdx){1to4}, %ymm21, %ymm28
110
111 // CHECK: vblendmpd -1032(%rdx){1to4}, %ymm21, %ymm28
112 // CHECK:  encoding: [0x62,0x62,0xd5,0x30,0x65,0xa2,0xf8,0xfb,0xff,0xff]
113           vblendmpd -1032(%rdx){1to4}, %ymm21, %ymm28
114
115 // CHECK: vblendmps %xmm20, %xmm20, %xmm24
116 // CHECK:  encoding: [0x62,0x22,0x5d,0x00,0x65,0xc4]
117           vblendmps %xmm20, %xmm20, %xmm24
118
119 // CHECK: vblendmps %xmm20, %xmm20, %xmm24 {%k1}
120 // CHECK:  encoding: [0x62,0x22,0x5d,0x01,0x65,0xc4]
121           vblendmps %xmm20, %xmm20, %xmm24 {%k1}
122
123 // CHECK: vblendmps %xmm20, %xmm20, %xmm24 {%k1} {z}
124 // CHECK:  encoding: [0x62,0x22,0x5d,0x81,0x65,0xc4]
125           vblendmps %xmm20, %xmm20, %xmm24 {%k1} {z}
126
127 // CHECK: vblendmps (%rcx), %xmm20, %xmm24
128 // CHECK:  encoding: [0x62,0x62,0x5d,0x00,0x65,0x01]
129           vblendmps (%rcx), %xmm20, %xmm24
130
131 // CHECK: vblendmps 291(%rax,%r14,8), %xmm20, %xmm24
132 // CHECK:  encoding: [0x62,0x22,0x5d,0x00,0x65,0x84,0xf0,0x23,0x01,0x00,0x00]
133           vblendmps 291(%rax,%r14,8), %xmm20, %xmm24
134
135 // CHECK: vblendmps (%rcx){1to4}, %xmm20, %xmm24
136 // CHECK:  encoding: [0x62,0x62,0x5d,0x10,0x65,0x01]
137           vblendmps (%rcx){1to4}, %xmm20, %xmm24
138
139 // CHECK: vblendmps 2032(%rdx), %xmm20, %xmm24
140 // CHECK:  encoding: [0x62,0x62,0x5d,0x00,0x65,0x42,0x7f]
141           vblendmps 2032(%rdx), %xmm20, %xmm24
142
143 // CHECK: vblendmps 2048(%rdx), %xmm20, %xmm24
144 // CHECK:  encoding: [0x62,0x62,0x5d,0x00,0x65,0x82,0x00,0x08,0x00,0x00]
145           vblendmps 2048(%rdx), %xmm20, %xmm24
146
147 // CHECK: vblendmps -2048(%rdx), %xmm20, %xmm24
148 // CHECK:  encoding: [0x62,0x62,0x5d,0x00,0x65,0x42,0x80]
149           vblendmps -2048(%rdx), %xmm20, %xmm24
150
151 // CHECK: vblendmps -2064(%rdx), %xmm20, %xmm24
152 // CHECK:  encoding: [0x62,0x62,0x5d,0x00,0x65,0x82,0xf0,0xf7,0xff,0xff]
153           vblendmps -2064(%rdx), %xmm20, %xmm24
154
155 // CHECK: vblendmps 508(%rdx){1to4}, %xmm20, %xmm24
156 // CHECK:  encoding: [0x62,0x62,0x5d,0x10,0x65,0x42,0x7f]
157           vblendmps 508(%rdx){1to4}, %xmm20, %xmm24
158
159 // CHECK: vblendmps 512(%rdx){1to4}, %xmm20, %xmm24
160 // CHECK:  encoding: [0x62,0x62,0x5d,0x10,0x65,0x82,0x00,0x02,0x00,0x00]
161           vblendmps 512(%rdx){1to4}, %xmm20, %xmm24
162
163 // CHECK: vblendmps -512(%rdx){1to4}, %xmm20, %xmm24
164 // CHECK:  encoding: [0x62,0x62,0x5d,0x10,0x65,0x42,0x80]
165           vblendmps -512(%rdx){1to4}, %xmm20, %xmm24
166
167 // CHECK: vblendmps -516(%rdx){1to4}, %xmm20, %xmm24
168 // CHECK:  encoding: [0x62,0x62,0x5d,0x10,0x65,0x82,0xfc,0xfd,0xff,0xff]
169           vblendmps -516(%rdx){1to4}, %xmm20, %xmm24
170
171 // CHECK: vblendmps %ymm24, %ymm23, %ymm17
172 // CHECK:  encoding: [0x62,0x82,0x45,0x20,0x65,0xc8]
173           vblendmps %ymm24, %ymm23, %ymm17
174
175 // CHECK: vblendmps %ymm24, %ymm23, %ymm17 {%k6}
176 // CHECK:  encoding: [0x62,0x82,0x45,0x26,0x65,0xc8]
177           vblendmps %ymm24, %ymm23, %ymm17 {%k6}
178
179 // CHECK: vblendmps %ymm24, %ymm23, %ymm17 {%k6} {z}
180 // CHECK:  encoding: [0x62,0x82,0x45,0xa6,0x65,0xc8]
181           vblendmps %ymm24, %ymm23, %ymm17 {%k6} {z}
182
183 // CHECK: vblendmps (%rcx), %ymm23, %ymm17
184 // CHECK:  encoding: [0x62,0xe2,0x45,0x20,0x65,0x09]
185           vblendmps (%rcx), %ymm23, %ymm17
186
187 // CHECK: vblendmps 291(%rax,%r14,8), %ymm23, %ymm17
188 // CHECK:  encoding: [0x62,0xa2,0x45,0x20,0x65,0x8c,0xf0,0x23,0x01,0x00,0x00]
189           vblendmps 291(%rax,%r14,8), %ymm23, %ymm17
190
191 // CHECK: vblendmps (%rcx){1to8}, %ymm23, %ymm17
192 // CHECK:  encoding: [0x62,0xe2,0x45,0x30,0x65,0x09]
193           vblendmps (%rcx){1to8}, %ymm23, %ymm17
194
195 // CHECK: vblendmps 4064(%rdx), %ymm23, %ymm17
196 // CHECK:  encoding: [0x62,0xe2,0x45,0x20,0x65,0x4a,0x7f]
197           vblendmps 4064(%rdx), %ymm23, %ymm17
198
199 // CHECK: vblendmps 4096(%rdx), %ymm23, %ymm17
200 // CHECK:  encoding: [0x62,0xe2,0x45,0x20,0x65,0x8a,0x00,0x10,0x00,0x00]
201           vblendmps 4096(%rdx), %ymm23, %ymm17
202
203 // CHECK: vblendmps -4096(%rdx), %ymm23, %ymm17
204 // CHECK:  encoding: [0x62,0xe2,0x45,0x20,0x65,0x4a,0x80]
205           vblendmps -4096(%rdx), %ymm23, %ymm17
206
207 // CHECK: vblendmps -4128(%rdx), %ymm23, %ymm17
208 // CHECK:  encoding: [0x62,0xe2,0x45,0x20,0x65,0x8a,0xe0,0xef,0xff,0xff]
209           vblendmps -4128(%rdx), %ymm23, %ymm17
210
211 // CHECK: vblendmps 508(%rdx){1to8}, %ymm23, %ymm17
212 // CHECK:  encoding: [0x62,0xe2,0x45,0x30,0x65,0x4a,0x7f]
213           vblendmps 508(%rdx){1to8}, %ymm23, %ymm17
214
215 // CHECK: vblendmps 512(%rdx){1to8}, %ymm23, %ymm17
216 // CHECK:  encoding: [0x62,0xe2,0x45,0x30,0x65,0x8a,0x00,0x02,0x00,0x00]
217           vblendmps 512(%rdx){1to8}, %ymm23, %ymm17
218
219 // CHECK: vblendmps -512(%rdx){1to8}, %ymm23, %ymm17
220 // CHECK:  encoding: [0x62,0xe2,0x45,0x30,0x65,0x4a,0x80]
221           vblendmps -512(%rdx){1to8}, %ymm23, %ymm17
222
223 // CHECK: vblendmps -516(%rdx){1to8}, %ymm23, %ymm17
224 // CHECK:  encoding: [0x62,0xe2,0x45,0x30,0x65,0x8a,0xfc,0xfd,0xff,0xff]
225           vblendmps -516(%rdx){1to8}, %ymm23, %ymm17
226
227 // CHECK: vpblendmd %xmm26, %xmm25, %xmm17
228 // CHECK:  encoding: [0x62,0x82,0x35,0x00,0x64,0xca]
229           vpblendmd %xmm26, %xmm25, %xmm17
230
231 // CHECK: vpblendmd %xmm26, %xmm25, %xmm17 {%k5}
232 // CHECK:  encoding: [0x62,0x82,0x35,0x05,0x64,0xca]
233           vpblendmd %xmm26, %xmm25, %xmm17 {%k5}
234
235 // CHECK: vpblendmd %xmm26, %xmm25, %xmm17 {%k5} {z}
236 // CHECK:  encoding: [0x62,0x82,0x35,0x85,0x64,0xca]
237           vpblendmd %xmm26, %xmm25, %xmm17 {%k5} {z}
238
239 // CHECK: vpblendmd (%rcx), %xmm25, %xmm17
240 // CHECK:  encoding: [0x62,0xe2,0x35,0x00,0x64,0x09]
241           vpblendmd (%rcx), %xmm25, %xmm17
242
243 // CHECK: vpblendmd 291(%rax,%r14,8), %xmm25, %xmm17
244 // CHECK:  encoding: [0x62,0xa2,0x35,0x00,0x64,0x8c,0xf0,0x23,0x01,0x00,0x00]
245           vpblendmd 291(%rax,%r14,8), %xmm25, %xmm17
246
247 // CHECK: vpblendmd (%rcx){1to4}, %xmm25, %xmm17
248 // CHECK:  encoding: [0x62,0xe2,0x35,0x10,0x64,0x09]
249           vpblendmd (%rcx){1to4}, %xmm25, %xmm17
250
251 // CHECK: vpblendmd 2032(%rdx), %xmm25, %xmm17
252 // CHECK:  encoding: [0x62,0xe2,0x35,0x00,0x64,0x4a,0x7f]
253           vpblendmd 2032(%rdx), %xmm25, %xmm17
254
255 // CHECK: vpblendmd 2048(%rdx), %xmm25, %xmm17
256 // CHECK:  encoding: [0x62,0xe2,0x35,0x00,0x64,0x8a,0x00,0x08,0x00,0x00]
257           vpblendmd 2048(%rdx), %xmm25, %xmm17
258
259 // CHECK: vpblendmd -2048(%rdx), %xmm25, %xmm17
260 // CHECK:  encoding: [0x62,0xe2,0x35,0x00,0x64,0x4a,0x80]
261           vpblendmd -2048(%rdx), %xmm25, %xmm17
262
263 // CHECK: vpblendmd -2064(%rdx), %xmm25, %xmm17
264 // CHECK:  encoding: [0x62,0xe2,0x35,0x00,0x64,0x8a,0xf0,0xf7,0xff,0xff]
265           vpblendmd -2064(%rdx), %xmm25, %xmm17
266
267 // CHECK: vpblendmd 508(%rdx){1to4}, %xmm25, %xmm17
268 // CHECK:  encoding: [0x62,0xe2,0x35,0x10,0x64,0x4a,0x7f]
269           vpblendmd 508(%rdx){1to4}, %xmm25, %xmm17
270
271 // CHECK: vpblendmd 512(%rdx){1to4}, %xmm25, %xmm17
272 // CHECK:  encoding: [0x62,0xe2,0x35,0x10,0x64,0x8a,0x00,0x02,0x00,0x00]
273           vpblendmd 512(%rdx){1to4}, %xmm25, %xmm17
274
275 // CHECK: vpblendmd -512(%rdx){1to4}, %xmm25, %xmm17
276 // CHECK:  encoding: [0x62,0xe2,0x35,0x10,0x64,0x4a,0x80]
277           vpblendmd -512(%rdx){1to4}, %xmm25, %xmm17
278
279 // CHECK: vpblendmd -516(%rdx){1to4}, %xmm25, %xmm17
280 // CHECK:  encoding: [0x62,0xe2,0x35,0x10,0x64,0x8a,0xfc,0xfd,0xff,0xff]
281           vpblendmd -516(%rdx){1to4}, %xmm25, %xmm17
282
283 // CHECK: vpblendmd %ymm23, %ymm29, %ymm26
284 // CHECK:  encoding: [0x62,0x22,0x15,0x20,0x64,0xd7]
285           vpblendmd %ymm23, %ymm29, %ymm26
286
287 // CHECK: vpblendmd %ymm23, %ymm29, %ymm26 {%k7}
288 // CHECK:  encoding: [0x62,0x22,0x15,0x27,0x64,0xd7]
289           vpblendmd %ymm23, %ymm29, %ymm26 {%k7}
290
291 // CHECK: vpblendmd %ymm23, %ymm29, %ymm26 {%k7} {z}
292 // CHECK:  encoding: [0x62,0x22,0x15,0xa7,0x64,0xd7]
293           vpblendmd %ymm23, %ymm29, %ymm26 {%k7} {z}
294
295 // CHECK: vpblendmd (%rcx), %ymm29, %ymm26
296 // CHECK:  encoding: [0x62,0x62,0x15,0x20,0x64,0x11]
297           vpblendmd (%rcx), %ymm29, %ymm26
298
299 // CHECK: vpblendmd 291(%rax,%r14,8), %ymm29, %ymm26
300 // CHECK:  encoding: [0x62,0x22,0x15,0x20,0x64,0x94,0xf0,0x23,0x01,0x00,0x00]
301           vpblendmd 291(%rax,%r14,8), %ymm29, %ymm26
302
303 // CHECK: vpblendmd (%rcx){1to8}, %ymm29, %ymm26
304 // CHECK:  encoding: [0x62,0x62,0x15,0x30,0x64,0x11]
305           vpblendmd (%rcx){1to8}, %ymm29, %ymm26
306
307 // CHECK: vpblendmd 4064(%rdx), %ymm29, %ymm26
308 // CHECK:  encoding: [0x62,0x62,0x15,0x20,0x64,0x52,0x7f]
309           vpblendmd 4064(%rdx), %ymm29, %ymm26
310
311 // CHECK: vpblendmd 4096(%rdx), %ymm29, %ymm26
312 // CHECK:  encoding: [0x62,0x62,0x15,0x20,0x64,0x92,0x00,0x10,0x00,0x00]
313           vpblendmd 4096(%rdx), %ymm29, %ymm26
314
315 // CHECK: vpblendmd -4096(%rdx), %ymm29, %ymm26
316 // CHECK:  encoding: [0x62,0x62,0x15,0x20,0x64,0x52,0x80]
317           vpblendmd -4096(%rdx), %ymm29, %ymm26
318
319 // CHECK: vpblendmd -4128(%rdx), %ymm29, %ymm26
320 // CHECK:  encoding: [0x62,0x62,0x15,0x20,0x64,0x92,0xe0,0xef,0xff,0xff]
321           vpblendmd -4128(%rdx), %ymm29, %ymm26
322
323 // CHECK: vpblendmd 508(%rdx){1to8}, %ymm29, %ymm26
324 // CHECK:  encoding: [0x62,0x62,0x15,0x30,0x64,0x52,0x7f]
325           vpblendmd 508(%rdx){1to8}, %ymm29, %ymm26
326
327 // CHECK: vpblendmd 512(%rdx){1to8}, %ymm29, %ymm26
328 // CHECK:  encoding: [0x62,0x62,0x15,0x30,0x64,0x92,0x00,0x02,0x00,0x00]
329           vpblendmd 512(%rdx){1to8}, %ymm29, %ymm26
330
331 // CHECK: vpblendmd -512(%rdx){1to8}, %ymm29, %ymm26
332 // CHECK:  encoding: [0x62,0x62,0x15,0x30,0x64,0x52,0x80]
333           vpblendmd -512(%rdx){1to8}, %ymm29, %ymm26
334
335 // CHECK: vpblendmd -516(%rdx){1to8}, %ymm29, %ymm26
336 // CHECK:  encoding: [0x62,0x62,0x15,0x30,0x64,0x92,0xfc,0xfd,0xff,0xff]
337           vpblendmd -516(%rdx){1to8}, %ymm29, %ymm26
338
339 // CHECK: vpblendmq %xmm17, %xmm27, %xmm29
340 // CHECK:  encoding: [0x62,0x22,0xa5,0x00,0x64,0xe9]
341           vpblendmq %xmm17, %xmm27, %xmm29
342
343 // CHECK: vpblendmq %xmm17, %xmm27, %xmm29 {%k6}
344 // CHECK:  encoding: [0x62,0x22,0xa5,0x06,0x64,0xe9]
345           vpblendmq %xmm17, %xmm27, %xmm29 {%k6}
346
347 // CHECK: vpblendmq %xmm17, %xmm27, %xmm29 {%k6} {z}
348 // CHECK:  encoding: [0x62,0x22,0xa5,0x86,0x64,0xe9]
349           vpblendmq %xmm17, %xmm27, %xmm29 {%k6} {z}
350
351 // CHECK: vpblendmq (%rcx), %xmm27, %xmm29
352 // CHECK:  encoding: [0x62,0x62,0xa5,0x00,0x64,0x29]
353           vpblendmq (%rcx), %xmm27, %xmm29
354
355 // CHECK: vpblendmq 291(%rax,%r14,8), %xmm27, %xmm29
356 // CHECK:  encoding: [0x62,0x22,0xa5,0x00,0x64,0xac,0xf0,0x23,0x01,0x00,0x00]
357           vpblendmq 291(%rax,%r14,8), %xmm27, %xmm29
358
359 // CHECK: vpblendmq (%rcx){1to2}, %xmm27, %xmm29
360 // CHECK:  encoding: [0x62,0x62,0xa5,0x10,0x64,0x29]
361           vpblendmq (%rcx){1to2}, %xmm27, %xmm29
362
363 // CHECK: vpblendmq 2032(%rdx), %xmm27, %xmm29
364 // CHECK:  encoding: [0x62,0x62,0xa5,0x00,0x64,0x6a,0x7f]
365           vpblendmq 2032(%rdx), %xmm27, %xmm29
366
367 // CHECK: vpblendmq 2048(%rdx), %xmm27, %xmm29
368 // CHECK:  encoding: [0x62,0x62,0xa5,0x00,0x64,0xaa,0x00,0x08,0x00,0x00]
369           vpblendmq 2048(%rdx), %xmm27, %xmm29
370
371 // CHECK: vpblendmq -2048(%rdx), %xmm27, %xmm29
372 // CHECK:  encoding: [0x62,0x62,0xa5,0x00,0x64,0x6a,0x80]
373           vpblendmq -2048(%rdx), %xmm27, %xmm29
374
375 // CHECK: vpblendmq -2064(%rdx), %xmm27, %xmm29
376 // CHECK:  encoding: [0x62,0x62,0xa5,0x00,0x64,0xaa,0xf0,0xf7,0xff,0xff]
377           vpblendmq -2064(%rdx), %xmm27, %xmm29
378
379 // CHECK: vpblendmq 1016(%rdx){1to2}, %xmm27, %xmm29
380 // CHECK:  encoding: [0x62,0x62,0xa5,0x10,0x64,0x6a,0x7f]
381           vpblendmq 1016(%rdx){1to2}, %xmm27, %xmm29
382
383 // CHECK: vpblendmq 1024(%rdx){1to2}, %xmm27, %xmm29
384 // CHECK:  encoding: [0x62,0x62,0xa5,0x10,0x64,0xaa,0x00,0x04,0x00,0x00]
385           vpblendmq 1024(%rdx){1to2}, %xmm27, %xmm29
386
387 // CHECK: vpblendmq -1024(%rdx){1to2}, %xmm27, %xmm29
388 // CHECK:  encoding: [0x62,0x62,0xa5,0x10,0x64,0x6a,0x80]
389           vpblendmq -1024(%rdx){1to2}, %xmm27, %xmm29
390
391 // CHECK: vpblendmq -1032(%rdx){1to2}, %xmm27, %xmm29
392 // CHECK:  encoding: [0x62,0x62,0xa5,0x10,0x64,0xaa,0xf8,0xfb,0xff,0xff]
393           vpblendmq -1032(%rdx){1to2}, %xmm27, %xmm29
394
395 // CHECK: vpblendmq %ymm21, %ymm23, %ymm21
396 // CHECK:  encoding: [0x62,0xa2,0xc5,0x20,0x64,0xed]
397           vpblendmq %ymm21, %ymm23, %ymm21
398
399 // CHECK: vpblendmq %ymm21, %ymm23, %ymm21 {%k3}
400 // CHECK:  encoding: [0x62,0xa2,0xc5,0x23,0x64,0xed]
401           vpblendmq %ymm21, %ymm23, %ymm21 {%k3}
402
403 // CHECK: vpblendmq %ymm21, %ymm23, %ymm21 {%k3} {z}
404 // CHECK:  encoding: [0x62,0xa2,0xc5,0xa3,0x64,0xed]
405           vpblendmq %ymm21, %ymm23, %ymm21 {%k3} {z}
406
407 // CHECK: vpblendmq (%rcx), %ymm23, %ymm21
408 // CHECK:  encoding: [0x62,0xe2,0xc5,0x20,0x64,0x29]
409           vpblendmq (%rcx), %ymm23, %ymm21
410
411 // CHECK: vpblendmq 291(%rax,%r14,8), %ymm23, %ymm21
412 // CHECK:  encoding: [0x62,0xa2,0xc5,0x20,0x64,0xac,0xf0,0x23,0x01,0x00,0x00]
413           vpblendmq 291(%rax,%r14,8), %ymm23, %ymm21
414
415 // CHECK: vpblendmq (%rcx){1to4}, %ymm23, %ymm21
416 // CHECK:  encoding: [0x62,0xe2,0xc5,0x30,0x64,0x29]
417           vpblendmq (%rcx){1to4}, %ymm23, %ymm21
418
419 // CHECK: vpblendmq 4064(%rdx), %ymm23, %ymm21
420 // CHECK:  encoding: [0x62,0xe2,0xc5,0x20,0x64,0x6a,0x7f]
421           vpblendmq 4064(%rdx), %ymm23, %ymm21
422
423 // CHECK: vpblendmq 4096(%rdx), %ymm23, %ymm21
424 // CHECK:  encoding: [0x62,0xe2,0xc5,0x20,0x64,0xaa,0x00,0x10,0x00,0x00]
425           vpblendmq 4096(%rdx), %ymm23, %ymm21
426
427 // CHECK: vpblendmq -4096(%rdx), %ymm23, %ymm21
428 // CHECK:  encoding: [0x62,0xe2,0xc5,0x20,0x64,0x6a,0x80]
429           vpblendmq -4096(%rdx), %ymm23, %ymm21
430
431 // CHECK: vpblendmq -4128(%rdx), %ymm23, %ymm21
432 // CHECK:  encoding: [0x62,0xe2,0xc5,0x20,0x64,0xaa,0xe0,0xef,0xff,0xff]
433           vpblendmq -4128(%rdx), %ymm23, %ymm21
434
435 // CHECK: vpblendmq 1016(%rdx){1to4}, %ymm23, %ymm21
436 // CHECK:  encoding: [0x62,0xe2,0xc5,0x30,0x64,0x6a,0x7f]
437           vpblendmq 1016(%rdx){1to4}, %ymm23, %ymm21
438
439 // CHECK: vpblendmq 1024(%rdx){1to4}, %ymm23, %ymm21
440 // CHECK:  encoding: [0x62,0xe2,0xc5,0x30,0x64,0xaa,0x00,0x04,0x00,0x00]
441           vpblendmq 1024(%rdx){1to4}, %ymm23, %ymm21
442
443 // CHECK: vpblendmq -1024(%rdx){1to4}, %ymm23, %ymm21
444 // CHECK:  encoding: [0x62,0xe2,0xc5,0x30,0x64,0x6a,0x80]
445           vpblendmq -1024(%rdx){1to4}, %ymm23, %ymm21
446
447 // CHECK: vpblendmq -1032(%rdx){1to4}, %ymm23, %ymm21
448 // CHECK:  encoding: [0x62,0xe2,0xc5,0x30,0x64,0xaa,0xf8,0xfb,0xff,0xff]
449           vpblendmq -1032(%rdx){1to4}, %ymm23, %ymm21
450
451 // CHECK: vptestmd %xmm20, %xmm20, %k2
452 // CHECK:  encoding: [0x62,0xb2,0x5d,0x00,0x27,0xd4]
453           vptestmd %xmm20, %xmm20, %k2
454
455 // CHECK: vptestmd %xmm20, %xmm20, %k2 {%k7}
456 // CHECK:  encoding: [0x62,0xb2,0x5d,0x07,0x27,0xd4]
457           vptestmd %xmm20, %xmm20, %k2 {%k7}
458
459 // CHECK: vptestmd (%rcx), %xmm20, %k2
460 // CHECK:  encoding: [0x62,0xf2,0x5d,0x00,0x27,0x11]
461           vptestmd (%rcx), %xmm20, %k2
462
463 // CHECK: vptestmd 291(%rax,%r14,8), %xmm20, %k2
464 // CHECK:  encoding: [0x62,0xb2,0x5d,0x00,0x27,0x94,0xf0,0x23,0x01,0x00,0x00]
465           vptestmd 291(%rax,%r14,8), %xmm20, %k2
466
467 // CHECK: vptestmd (%rcx){1to4}, %xmm20, %k2
468 // CHECK:  encoding: [0x62,0xf2,0x5d,0x10,0x27,0x11]
469           vptestmd (%rcx){1to4}, %xmm20, %k2
470
471 // CHECK: vptestmd 2032(%rdx), %xmm20, %k2
472 // CHECK:  encoding: [0x62,0xf2,0x5d,0x00,0x27,0x52,0x7f]
473           vptestmd 2032(%rdx), %xmm20, %k2
474
475 // CHECK: vptestmd 2048(%rdx), %xmm20, %k2
476 // CHECK:  encoding: [0x62,0xf2,0x5d,0x00,0x27,0x92,0x00,0x08,0x00,0x00]
477           vptestmd 2048(%rdx), %xmm20, %k2
478
479 // CHECK: vptestmd -2048(%rdx), %xmm20, %k2
480 // CHECK:  encoding: [0x62,0xf2,0x5d,0x00,0x27,0x52,0x80]
481           vptestmd -2048(%rdx), %xmm20, %k2
482
483 // CHECK: vptestmd -2064(%rdx), %xmm20, %k2
484 // CHECK:  encoding: [0x62,0xf2,0x5d,0x00,0x27,0x92,0xf0,0xf7,0xff,0xff]
485           vptestmd -2064(%rdx), %xmm20, %k2
486
487 // CHECK: vptestmd 508(%rdx){1to4}, %xmm20, %k2
488 // CHECK:  encoding: [0x62,0xf2,0x5d,0x10,0x27,0x52,0x7f]
489           vptestmd 508(%rdx){1to4}, %xmm20, %k2
490
491 // CHECK: vptestmd 512(%rdx){1to4}, %xmm20, %k2
492 // CHECK:  encoding: [0x62,0xf2,0x5d,0x10,0x27,0x92,0x00,0x02,0x00,0x00]
493           vptestmd 512(%rdx){1to4}, %xmm20, %k2
494
495 // CHECK: vptestmd -512(%rdx){1to4}, %xmm20, %k2
496 // CHECK:  encoding: [0x62,0xf2,0x5d,0x10,0x27,0x52,0x80]
497           vptestmd -512(%rdx){1to4}, %xmm20, %k2
498
499 // CHECK: vptestmd -516(%rdx){1to4}, %xmm20, %k2
500 // CHECK:  encoding: [0x62,0xf2,0x5d,0x10,0x27,0x92,0xfc,0xfd,0xff,0xff]
501           vptestmd -516(%rdx){1to4}, %xmm20, %k2
502
503 // CHECK: vptestmd %ymm17, %ymm20, %k3
504 // CHECK:  encoding: [0x62,0xb2,0x5d,0x20,0x27,0xd9]
505           vptestmd %ymm17, %ymm20, %k3
506
507 // CHECK: vptestmd %ymm17, %ymm20, %k3 {%k5}
508 // CHECK:  encoding: [0x62,0xb2,0x5d,0x25,0x27,0xd9]
509           vptestmd %ymm17, %ymm20, %k3 {%k5}
510
511 // CHECK: vptestmd (%rcx), %ymm20, %k3
512 // CHECK:  encoding: [0x62,0xf2,0x5d,0x20,0x27,0x19]
513           vptestmd (%rcx), %ymm20, %k3
514
515 // CHECK: vptestmd 291(%rax,%r14,8), %ymm20, %k3
516 // CHECK:  encoding: [0x62,0xb2,0x5d,0x20,0x27,0x9c,0xf0,0x23,0x01,0x00,0x00]
517           vptestmd 291(%rax,%r14,8), %ymm20, %k3
518
519 // CHECK: vptestmd (%rcx){1to8}, %ymm20, %k3
520 // CHECK:  encoding: [0x62,0xf2,0x5d,0x30,0x27,0x19]
521           vptestmd (%rcx){1to8}, %ymm20, %k3
522
523 // CHECK: vptestmd 4064(%rdx), %ymm20, %k3
524 // CHECK:  encoding: [0x62,0xf2,0x5d,0x20,0x27,0x5a,0x7f]
525           vptestmd 4064(%rdx), %ymm20, %k3
526
527 // CHECK: vptestmd 4096(%rdx), %ymm20, %k3
528 // CHECK:  encoding: [0x62,0xf2,0x5d,0x20,0x27,0x9a,0x00,0x10,0x00,0x00]
529           vptestmd 4096(%rdx), %ymm20, %k3
530
531 // CHECK: vptestmd -4096(%rdx), %ymm20, %k3
532 // CHECK:  encoding: [0x62,0xf2,0x5d,0x20,0x27,0x5a,0x80]
533           vptestmd -4096(%rdx), %ymm20, %k3
534
535 // CHECK: vptestmd -4128(%rdx), %ymm20, %k3
536 // CHECK:  encoding: [0x62,0xf2,0x5d,0x20,0x27,0x9a,0xe0,0xef,0xff,0xff]
537           vptestmd -4128(%rdx), %ymm20, %k3
538
539 // CHECK: vptestmd 508(%rdx){1to8}, %ymm20, %k3
540 // CHECK:  encoding: [0x62,0xf2,0x5d,0x30,0x27,0x5a,0x7f]
541           vptestmd 508(%rdx){1to8}, %ymm20, %k3
542
543 // CHECK: vptestmd 512(%rdx){1to8}, %ymm20, %k3
544 // CHECK:  encoding: [0x62,0xf2,0x5d,0x30,0x27,0x9a,0x00,0x02,0x00,0x00]
545           vptestmd 512(%rdx){1to8}, %ymm20, %k3
546
547 // CHECK: vptestmd -512(%rdx){1to8}, %ymm20, %k3
548 // CHECK:  encoding: [0x62,0xf2,0x5d,0x30,0x27,0x5a,0x80]
549           vptestmd -512(%rdx){1to8}, %ymm20, %k3
550
551 // CHECK: vptestmd -516(%rdx){1to8}, %ymm20, %k3
552 // CHECK:  encoding: [0x62,0xf2,0x5d,0x30,0x27,0x9a,0xfc,0xfd,0xff,0xff]
553           vptestmd -516(%rdx){1to8}, %ymm20, %k3
554
555 // CHECK: vptestmq %xmm28, %xmm22, %k4
556 // CHECK:  encoding: [0x62,0x92,0xcd,0x00,0x27,0xe4]
557           vptestmq %xmm28, %xmm22, %k4
558
559 // CHECK: vptestmq %xmm28, %xmm22, %k4 {%k3}
560 // CHECK:  encoding: [0x62,0x92,0xcd,0x03,0x27,0xe4]
561           vptestmq %xmm28, %xmm22, %k4 {%k3}
562
563 // CHECK: vptestmq (%rcx), %xmm22, %k4
564 // CHECK:  encoding: [0x62,0xf2,0xcd,0x00,0x27,0x21]
565           vptestmq (%rcx), %xmm22, %k4
566
567 // CHECK: vptestmq 291(%rax,%r14,8), %xmm22, %k4
568 // CHECK:  encoding: [0x62,0xb2,0xcd,0x00,0x27,0xa4,0xf0,0x23,0x01,0x00,0x00]
569           vptestmq 291(%rax,%r14,8), %xmm22, %k4
570
571 // CHECK: vptestmq (%rcx){1to2}, %xmm22, %k4
572 // CHECK:  encoding: [0x62,0xf2,0xcd,0x10,0x27,0x21]
573           vptestmq (%rcx){1to2}, %xmm22, %k4
574
575 // CHECK: vptestmq 2032(%rdx), %xmm22, %k4
576 // CHECK:  encoding: [0x62,0xf2,0xcd,0x00,0x27,0x62,0x7f]
577           vptestmq 2032(%rdx), %xmm22, %k4
578
579 // CHECK: vptestmq 2048(%rdx), %xmm22, %k4
580 // CHECK:  encoding: [0x62,0xf2,0xcd,0x00,0x27,0xa2,0x00,0x08,0x00,0x00]
581           vptestmq 2048(%rdx), %xmm22, %k4
582
583 // CHECK: vptestmq -2048(%rdx), %xmm22, %k4
584 // CHECK:  encoding: [0x62,0xf2,0xcd,0x00,0x27,0x62,0x80]
585           vptestmq -2048(%rdx), %xmm22, %k4
586
587 // CHECK: vptestmq -2064(%rdx), %xmm22, %k4
588 // CHECK:  encoding: [0x62,0xf2,0xcd,0x00,0x27,0xa2,0xf0,0xf7,0xff,0xff]
589           vptestmq -2064(%rdx), %xmm22, %k4
590
591 // CHECK: vptestmq 1016(%rdx){1to2}, %xmm22, %k4
592 // CHECK:  encoding: [0x62,0xf2,0xcd,0x10,0x27,0x62,0x7f]
593           vptestmq 1016(%rdx){1to2}, %xmm22, %k4
594
595 // CHECK: vptestmq 1024(%rdx){1to2}, %xmm22, %k4
596 // CHECK:  encoding: [0x62,0xf2,0xcd,0x10,0x27,0xa2,0x00,0x04,0x00,0x00]
597           vptestmq 1024(%rdx){1to2}, %xmm22, %k4
598
599 // CHECK: vptestmq -1024(%rdx){1to2}, %xmm22, %k4
600 // CHECK:  encoding: [0x62,0xf2,0xcd,0x10,0x27,0x62,0x80]
601           vptestmq -1024(%rdx){1to2}, %xmm22, %k4
602
603 // CHECK: vptestmq -1032(%rdx){1to2}, %xmm22, %k4
604 // CHECK:  encoding: [0x62,0xf2,0xcd,0x10,0x27,0xa2,0xf8,0xfb,0xff,0xff]
605           vptestmq -1032(%rdx){1to2}, %xmm22, %k4
606
607 // CHECK: vptestmq %ymm20, %ymm21, %k3
608 // CHECK:  encoding: [0x62,0xb2,0xd5,0x20,0x27,0xdc]
609           vptestmq %ymm20, %ymm21, %k3
610
611 // CHECK: vptestmq %ymm20, %ymm21, %k3 {%k7}
612 // CHECK:  encoding: [0x62,0xb2,0xd5,0x27,0x27,0xdc]
613           vptestmq %ymm20, %ymm21, %k3 {%k7}
614
615 // CHECK: vptestmq (%rcx), %ymm21, %k3
616 // CHECK:  encoding: [0x62,0xf2,0xd5,0x20,0x27,0x19]
617           vptestmq (%rcx), %ymm21, %k3
618
619 // CHECK: vptestmq 291(%rax,%r14,8), %ymm21, %k3
620 // CHECK:  encoding: [0x62,0xb2,0xd5,0x20,0x27,0x9c,0xf0,0x23,0x01,0x00,0x00]
621           vptestmq 291(%rax,%r14,8), %ymm21, %k3
622
623 // CHECK: vptestmq (%rcx){1to4}, %ymm21, %k3
624 // CHECK:  encoding: [0x62,0xf2,0xd5,0x30,0x27,0x19]
625           vptestmq (%rcx){1to4}, %ymm21, %k3
626
627 // CHECK: vptestmq 4064(%rdx), %ymm21, %k3
628 // CHECK:  encoding: [0x62,0xf2,0xd5,0x20,0x27,0x5a,0x7f]
629           vptestmq 4064(%rdx), %ymm21, %k3
630
631 // CHECK: vptestmq 4096(%rdx), %ymm21, %k3
632 // CHECK:  encoding: [0x62,0xf2,0xd5,0x20,0x27,0x9a,0x00,0x10,0x00,0x00]
633           vptestmq 4096(%rdx), %ymm21, %k3
634
635 // CHECK: vptestmq -4096(%rdx), %ymm21, %k3
636 // CHECK:  encoding: [0x62,0xf2,0xd5,0x20,0x27,0x5a,0x80]
637           vptestmq -4096(%rdx), %ymm21, %k3
638
639 // CHECK: vptestmq -4128(%rdx), %ymm21, %k3
640 // CHECK:  encoding: [0x62,0xf2,0xd5,0x20,0x27,0x9a,0xe0,0xef,0xff,0xff]
641           vptestmq -4128(%rdx), %ymm21, %k3
642
643 // CHECK: vptestmq 1016(%rdx){1to4}, %ymm21, %k3
644 // CHECK:  encoding: [0x62,0xf2,0xd5,0x30,0x27,0x5a,0x7f]
645           vptestmq 1016(%rdx){1to4}, %ymm21, %k3
646
647 // CHECK: vptestmq 1024(%rdx){1to4}, %ymm21, %k3
648 // CHECK:  encoding: [0x62,0xf2,0xd5,0x30,0x27,0x9a,0x00,0x04,0x00,0x00]
649           vptestmq 1024(%rdx){1to4}, %ymm21, %k3
650
651 // CHECK: vptestmq -1024(%rdx){1to4}, %ymm21, %k3
652 // CHECK:  encoding: [0x62,0xf2,0xd5,0x30,0x27,0x5a,0x80]
653           vptestmq -1024(%rdx){1to4}, %ymm21, %k3
654
655 // CHECK: vptestnmd %xmm22, %xmm20, %k3
656 // CHECK:  encoding: [0x62,0xb2,0x5e,0x00,0x27,0xde]
657           vptestnmd %xmm22, %xmm20, %k3
658
659 // CHECK: vptestnmd %xmm22, %xmm20, %k3 {%k7}
660 // CHECK:  encoding: [0x62,0xb2,0x5e,0x07,0x27,0xde]
661           vptestnmd %xmm22, %xmm20, %k3 {%k7}
662
663 // CHECK: vptestnmd (%rcx), %xmm20, %k3
664 // CHECK:  encoding: [0x62,0xf2,0x5e,0x00,0x27,0x19]
665           vptestnmd (%rcx), %xmm20, %k3
666
667 // CHECK: vptestnmd 291(%rax,%r14,8), %xmm20, %k3
668 // CHECK:  encoding: [0x62,0xb2,0x5e,0x00,0x27,0x9c,0xf0,0x23,0x01,0x00,0x00]
669           vptestnmd 291(%rax,%r14,8), %xmm20, %k3
670
671 // CHECK: vptestnmd (%rcx){1to4}, %xmm20, %k3
672 // CHECK:  encoding: [0x62,0xf2,0x5e,0x10,0x27,0x19]
673           vptestnmd (%rcx){1to4}, %xmm20, %k3
674
675 // CHECK: vptestnmd 2032(%rdx), %xmm20, %k3
676 // CHECK:  encoding: [0x62,0xf2,0x5e,0x00,0x27,0x5a,0x7f]
677           vptestnmd 2032(%rdx), %xmm20, %k3
678
679 // CHECK: vptestnmd 2048(%rdx), %xmm20, %k3
680 // CHECK:  encoding: [0x62,0xf2,0x5e,0x00,0x27,0x9a,0x00,0x08,0x00,0x00]
681           vptestnmd 2048(%rdx), %xmm20, %k3
682
683 // CHECK: vptestnmd -2048(%rdx), %xmm20, %k3
684 // CHECK:  encoding: [0x62,0xf2,0x5e,0x00,0x27,0x5a,0x80]
685           vptestnmd -2048(%rdx), %xmm20, %k3
686
687 // CHECK: vptestnmd -2064(%rdx), %xmm20, %k3
688 // CHECK:  encoding: [0x62,0xf2,0x5e,0x00,0x27,0x9a,0xf0,0xf7,0xff,0xff]
689           vptestnmd -2064(%rdx), %xmm20, %k3
690
691 // CHECK: vptestnmd 508(%rdx){1to4}, %xmm20, %k3
692 // CHECK:  encoding: [0x62,0xf2,0x5e,0x10,0x27,0x5a,0x7f]
693           vptestnmd 508(%rdx){1to4}, %xmm20, %k3
694
695 // CHECK: vptestnmd 512(%rdx){1to4}, %xmm20, %k3
696 // CHECK:  encoding: [0x62,0xf2,0x5e,0x10,0x27,0x9a,0x00,0x02,0x00,0x00]
697           vptestnmd 512(%rdx){1to4}, %xmm20, %k3
698
699 // CHECK: vptestnmd -512(%rdx){1to4}, %xmm20, %k3
700 // CHECK:  encoding: [0x62,0xf2,0x5e,0x10,0x27,0x5a,0x80]
701           vptestnmd -512(%rdx){1to4}, %xmm20, %k3
702
703 // CHECK: vptestnmd -516(%rdx){1to4}, %xmm20, %k3
704 // CHECK:  encoding: [0x62,0xf2,0x5e,0x10,0x27,0x9a,0xfc,0xfd,0xff,0xff]
705           vptestnmd -516(%rdx){1to4}, %xmm20, %k3
706
707 // CHECK: vptestnmd %ymm23, %ymm21, %k3
708 // CHECK:  encoding: [0x62,0xb2,0x56,0x20,0x27,0xdf]
709           vptestnmd %ymm23, %ymm21, %k3
710
711 // CHECK: vptestnmd %ymm23, %ymm21, %k3 {%k7}
712 // CHECK:  encoding: [0x62,0xb2,0x56,0x27,0x27,0xdf]
713           vptestnmd %ymm23, %ymm21, %k3 {%k7}
714
715 // CHECK: vptestnmd (%rcx), %ymm21, %k3
716 // CHECK:  encoding: [0x62,0xf2,0x56,0x20,0x27,0x19]
717           vptestnmd (%rcx), %ymm21, %k3
718
719 // CHECK: vptestnmd 291(%rax,%r14,8), %ymm21, %k3
720 // CHECK:  encoding: [0x62,0xb2,0x56,0x20,0x27,0x9c,0xf0,0x23,0x01,0x00,0x00]
721           vptestnmd 291(%rax,%r14,8), %ymm21, %k3
722
723 // CHECK: vptestnmd (%rcx){1to8}, %ymm21, %k3
724 // CHECK:  encoding: [0x62,0xf2,0x56,0x30,0x27,0x19]
725           vptestnmd (%rcx){1to8}, %ymm21, %k3
726
727 // CHECK: vptestnmd 4064(%rdx), %ymm21, %k3
728 // CHECK:  encoding: [0x62,0xf2,0x56,0x20,0x27,0x5a,0x7f]
729           vptestnmd 4064(%rdx), %ymm21, %k3
730
731 // CHECK: vptestnmd 4096(%rdx), %ymm21, %k3
732 // CHECK:  encoding: [0x62,0xf2,0x56,0x20,0x27,0x9a,0x00,0x10,0x00,0x00]
733           vptestnmd 4096(%rdx), %ymm21, %k3
734
735 // CHECK: vptestnmd -4096(%rdx), %ymm21, %k3
736 // CHECK:  encoding: [0x62,0xf2,0x56,0x20,0x27,0x5a,0x80]
737           vptestnmd -4096(%rdx), %ymm21, %k3
738
739 // CHECK: vptestnmd -4128(%rdx), %ymm21, %k3
740 // CHECK:  encoding: [0x62,0xf2,0x56,0x20,0x27,0x9a,0xe0,0xef,0xff,0xff]
741           vptestnmd -4128(%rdx), %ymm21, %k3
742
743 // CHECK: vptestnmd 508(%rdx){1to8}, %ymm21, %k3
744 // CHECK:  encoding: [0x62,0xf2,0x56,0x30,0x27,0x5a,0x7f]
745           vptestnmd 508(%rdx){1to8}, %ymm21, %k3
746
747 // CHECK: vptestnmd 512(%rdx){1to8}, %ymm21, %k3
748 // CHECK:  encoding: [0x62,0xf2,0x56,0x30,0x27,0x9a,0x00,0x02,0x00,0x00]
749           vptestnmd 512(%rdx){1to8}, %ymm21, %k3
750
751 // CHECK: vptestnmd -512(%rdx){1to8}, %ymm21, %k3
752 // CHECK:  encoding: [0x62,0xf2,0x56,0x30,0x27,0x5a,0x80]
753           vptestnmd -512(%rdx){1to8}, %ymm21, %k3
754
755 // CHECK: vptestnmd -516(%rdx){1to8}, %ymm21, %k3
756 // CHECK:  encoding: [0x62,0xf2,0x56,0x30,0x27,0x9a,0xfc,0xfd,0xff,0xff]
757           vptestnmd -516(%rdx){1to8}, %ymm21, %k3
758
759 // CHECK: vptestnmq %xmm21, %xmm20, %k5
760 // CHECK:  encoding: [0x62,0xb2,0xde,0x00,0x27,0xed]
761           vptestnmq %xmm21, %xmm20, %k5
762
763 // CHECK: vptestnmq %xmm21, %xmm20, %k5 {%k5}
764 // CHECK:  encoding: [0x62,0xb2,0xde,0x05,0x27,0xed]
765           vptestnmq %xmm21, %xmm20, %k5 {%k5}
766
767 // CHECK: vptestnmq (%rcx), %xmm20, %k5
768 // CHECK:  encoding: [0x62,0xf2,0xde,0x00,0x27,0x29]
769           vptestnmq (%rcx), %xmm20, %k5
770
771 // CHECK: vptestnmq 291(%rax,%r14,8), %xmm20, %k5
772 // CHECK:  encoding: [0x62,0xb2,0xde,0x00,0x27,0xac,0xf0,0x23,0x01,0x00,0x00]
773           vptestnmq 291(%rax,%r14,8), %xmm20, %k5
774
775 // CHECK: vptestnmq (%rcx){1to2}, %xmm20, %k5
776 // CHECK:  encoding: [0x62,0xf2,0xde,0x10,0x27,0x29]
777           vptestnmq (%rcx){1to2}, %xmm20, %k5
778
779 // CHECK: vptestnmq 2032(%rdx), %xmm20, %k5
780 // CHECK:  encoding: [0x62,0xf2,0xde,0x00,0x27,0x6a,0x7f]
781           vptestnmq 2032(%rdx), %xmm20, %k5
782
783 // CHECK: vptestnmq 2048(%rdx), %xmm20, %k5
784 // CHECK:  encoding: [0x62,0xf2,0xde,0x00,0x27,0xaa,0x00,0x08,0x00,0x00]
785           vptestnmq 2048(%rdx), %xmm20, %k5
786
787 // CHECK: vptestnmq -2048(%rdx), %xmm20, %k5
788 // CHECK:  encoding: [0x62,0xf2,0xde,0x00,0x27,0x6a,0x80]
789           vptestnmq -2048(%rdx), %xmm20, %k5
790
791 // CHECK: vptestnmq -2064(%rdx), %xmm20, %k5
792 // CHECK:  encoding: [0x62,0xf2,0xde,0x00,0x27,0xaa,0xf0,0xf7,0xff,0xff]
793           vptestnmq -2064(%rdx), %xmm20, %k5
794
795 // CHECK: vptestnmq 1016(%rdx){1to2}, %xmm20, %k5
796 // CHECK:  encoding: [0x62,0xf2,0xde,0x10,0x27,0x6a,0x7f]
797           vptestnmq 1016(%rdx){1to2}, %xmm20, %k5
798
799 // CHECK: vptestnmq 1024(%rdx){1to2}, %xmm20, %k5
800 // CHECK:  encoding: [0x62,0xf2,0xde,0x10,0x27,0xaa,0x00,0x04,0x00,0x00]
801           vptestnmq 1024(%rdx){1to2}, %xmm20, %k5
802
803 // CHECK: vptestnmq -1024(%rdx){1to2}, %xmm20, %k5
804 // CHECK:  encoding: [0x62,0xf2,0xde,0x10,0x27,0x6a,0x80]
805           vptestnmq -1024(%rdx){1to2}, %xmm20, %k5
806
807 // CHECK: vptestnmq -1032(%rdx){1to2}, %xmm20, %k5
808 // CHECK:  encoding: [0x62,0xf2,0xde,0x10,0x27,0xaa,0xf8,0xfb,0xff,0xff]
809           vptestnmq -1032(%rdx){1to2}, %xmm20, %k5
810
811 // CHECK: vptestnmq %ymm21, %ymm24, %k4
812 // CHECK:  encoding: [0x62,0xb2,0xbe,0x20,0x27,0xe5]
813           vptestnmq %ymm21, %ymm24, %k4
814
815 // CHECK: vptestnmq %ymm21, %ymm24, %k4 {%k3}
816 // CHECK:  encoding: [0x62,0xb2,0xbe,0x23,0x27,0xe5]
817           vptestnmq %ymm21, %ymm24, %k4 {%k3}
818
819 // CHECK: vptestnmq (%rcx), %ymm24, %k4
820 // CHECK:  encoding: [0x62,0xf2,0xbe,0x20,0x27,0x21]
821           vptestnmq (%rcx), %ymm24, %k4
822
823 // CHECK: vptestnmq 291(%rax,%r14,8), %ymm24, %k4
824 // CHECK:  encoding: [0x62,0xb2,0xbe,0x20,0x27,0xa4,0xf0,0x23,0x01,0x00,0x00]
825           vptestnmq 291(%rax,%r14,8), %ymm24, %k4
826
827 // CHECK: vptestnmq (%rcx){1to4}, %ymm24, %k4
828 // CHECK:  encoding: [0x62,0xf2,0xbe,0x30,0x27,0x21]
829           vptestnmq (%rcx){1to4}, %ymm24, %k4
830
831 // CHECK: vptestnmq 4064(%rdx), %ymm24, %k4
832 // CHECK:  encoding: [0x62,0xf2,0xbe,0x20,0x27,0x62,0x7f]
833           vptestnmq 4064(%rdx), %ymm24, %k4
834
835 // CHECK: vptestnmq 4096(%rdx), %ymm24, %k4
836 // CHECK:  encoding: [0x62,0xf2,0xbe,0x20,0x27,0xa2,0x00,0x10,0x00,0x00]
837           vptestnmq 4096(%rdx), %ymm24, %k4
838
839 // CHECK: vptestnmq -4096(%rdx), %ymm24, %k4
840 // CHECK:  encoding: [0x62,0xf2,0xbe,0x20,0x27,0x62,0x80]
841           vptestnmq -4096(%rdx), %ymm24, %k4
842
843 // CHECK: vptestnmq -4128(%rdx), %ymm24, %k4
844 // CHECK:  encoding: [0x62,0xf2,0xbe,0x20,0x27,0xa2,0xe0,0xef,0xff,0xff]
845           vptestnmq -4128(%rdx), %ymm24, %k4
846
847 // CHECK: vptestnmq 1016(%rdx){1to4}, %ymm24, %k4
848 // CHECK:  encoding: [0x62,0xf2,0xbe,0x30,0x27,0x62,0x7f]
849           vptestnmq 1016(%rdx){1to4}, %ymm24, %k4
850
851 // CHECK: vptestnmq 1024(%rdx){1to4}, %ymm24, %k4
852 // CHECK:  encoding: [0x62,0xf2,0xbe,0x30,0x27,0xa2,0x00,0x04,0x00,0x00]
853           vptestnmq 1024(%rdx){1to4}, %ymm24, %k4
854
855 // CHECK: vptestnmq -1024(%rdx){1to4}, %ymm24, %k4
856 // CHECK:  encoding: [0x62,0xf2,0xbe,0x30,0x27,0x62,0x80]
857           vptestnmq -1024(%rdx){1to4}, %ymm24, %k4
858
859 // CHECK: vptestnmq -1032(%rdx){1to4}, %ymm24, %k4
860 // CHECK:  encoding: [0x62,0xf2,0xbe,0x30,0x27,0xa2,0xf8,0xfb,0xff,0xff]
861           vptestnmq -1032(%rdx){1to4}, %ymm24, %k4
862
863 // CHECK: vpmovd2m %xmm27, %k3
864 // CHECK:  encoding: [0x62,0x92,0x7e,0x08,0x39,0xdb]
865           vpmovd2m %xmm27, %k3
866
867 // CHECK: vpmovd2m %ymm28, %k4
868 // CHECK:  encoding: [0x62,0x92,0x7e,0x28,0x39,0xe4]
869           vpmovd2m %ymm28, %k4
870
871 // CHECK: vpmovq2m %xmm28, %k5
872 // CHECK:  encoding: [0x62,0x92,0xfe,0x08,0x39,0xec]
873           vpmovq2m %xmm28, %k5
874
875 // CHECK: vpmovq2m %ymm29, %k4
876 // CHECK:  encoding: [0x62,0x92,0xfe,0x28,0x39,0xe5]
877           vpmovq2m %ymm29, %k4
878
879 // CHECK: vpmovm2d %k2, %xmm29
880 // CHECK:  encoding: [0x62,0x62,0x7e,0x08,0x38,0xea]
881           vpmovm2d %k2, %xmm29
882
883 // CHECK: vpmovm2d %k5, %ymm20
884 // CHECK:  encoding: [0x62,0xe2,0x7e,0x28,0x38,0xe5]
885           vpmovm2d %k5, %ymm20
886
887 // CHECK: vpmovm2q %k5, %xmm17
888 // CHECK:  encoding: [0x62,0xe2,0xfe,0x08,0x38,0xcd]
889           vpmovm2q %k5, %xmm17
890
891 // CHECK: vpmovm2q %k2, %ymm30
892 // CHECK:  encoding: [0x62,0x62,0xfe,0x28,0x38,0xf2]
893           vpmovm2q %k2, %ymm30