AVX-512: Added logical and arithmetic instructions for SKX
[oota-llvm.git] / test / MC / X86 / x86-64-avx512dq.s
1 // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=knl -mattr=+avx512dq  --show-encoding %s | FileCheck %s
2
3 // CHECK: vpmullq %zmm18, %zmm24, %zmm18
4 // CHECK:  encoding: [0x62,0xa2,0xbd,0x40,0x40,0xd2]
5           vpmullq %zmm18, %zmm24, %zmm18
6
7 // CHECK: vpmullq %zmm18, %zmm24, %zmm18 {%k2}
8 // CHECK:  encoding: [0x62,0xa2,0xbd,0x42,0x40,0xd2]
9           vpmullq %zmm18, %zmm24, %zmm18 {%k2}
10
11 // CHECK: vpmullq %zmm18, %zmm24, %zmm18 {%k2} {z}
12 // CHECK:  encoding: [0x62,0xa2,0xbd,0xc2,0x40,0xd2]
13           vpmullq %zmm18, %zmm24, %zmm18 {%k2} {z}
14
15 // CHECK: vpmullq (%rcx), %zmm24, %zmm18
16 // CHECK:  encoding: [0x62,0xe2,0xbd,0x40,0x40,0x11]
17           vpmullq (%rcx), %zmm24, %zmm18
18
19 // CHECK: vpmullq 291(%rax,%r14,8), %zmm24, %zmm18
20 // CHECK:  encoding: [0x62,0xa2,0xbd,0x40,0x40,0x94,0xf0,0x23,0x01,0x00,0x00]
21           vpmullq 291(%rax,%r14,8), %zmm24, %zmm18
22
23 // CHECK: vpmullq (%rcx){1to8}, %zmm24, %zmm18
24 // CHECK:  encoding: [0x62,0xe2,0xbd,0x50,0x40,0x11]
25           vpmullq (%rcx){1to8}, %zmm24, %zmm18
26
27 // CHECK: vpmullq 8128(%rdx), %zmm24, %zmm18
28 // CHECK:  encoding: [0x62,0xe2,0xbd,0x40,0x40,0x52,0x7f]
29           vpmullq 8128(%rdx), %zmm24, %zmm18
30
31 // CHECK: vpmullq 8192(%rdx), %zmm24, %zmm18
32 // CHECK:  encoding: [0x62,0xe2,0xbd,0x40,0x40,0x92,0x00,0x20,0x00,0x00]
33           vpmullq 8192(%rdx), %zmm24, %zmm18
34
35 // CHECK: vpmullq -8192(%rdx), %zmm24, %zmm18
36 // CHECK:  encoding: [0x62,0xe2,0xbd,0x40,0x40,0x52,0x80]
37           vpmullq -8192(%rdx), %zmm24, %zmm18
38
39 // CHECK: vpmullq -8256(%rdx), %zmm24, %zmm18
40 // CHECK:  encoding: [0x62,0xe2,0xbd,0x40,0x40,0x92,0xc0,0xdf,0xff,0xff]
41           vpmullq -8256(%rdx), %zmm24, %zmm18
42
43 // CHECK: vpmullq 1016(%rdx){1to8}, %zmm24, %zmm18
44 // CHECK:  encoding: [0x62,0xe2,0xbd,0x50,0x40,0x52,0x7f]
45           vpmullq 1016(%rdx){1to8}, %zmm24, %zmm18
46
47 // CHECK: vpmullq 1024(%rdx){1to8}, %zmm24, %zmm18
48 // CHECK:  encoding: [0x62,0xe2,0xbd,0x50,0x40,0x92,0x00,0x04,0x00,0x00]
49           vpmullq 1024(%rdx){1to8}, %zmm24, %zmm18
50
51 // CHECK: vpmullq -1024(%rdx){1to8}, %zmm24, %zmm18
52 // CHECK:  encoding: [0x62,0xe2,0xbd,0x50,0x40,0x52,0x80]
53           vpmullq -1024(%rdx){1to8}, %zmm24, %zmm18
54
55 // CHECK: vpmullq -1032(%rdx){1to8}, %zmm24, %zmm18
56 // CHECK:  encoding: [0x62,0xe2,0xbd,0x50,0x40,0x92,0xf8,0xfb,0xff,0xff]
57           vpmullq -1032(%rdx){1to8}, %zmm24, %zmm18
58
59 // CHECK: kandb  %k6, %k5, %k2
60 // CHECK:  encoding: [0xc5,0xd5,0x41,0xd6]
61           kandb  %k6, %k5, %k2
62
63 // CHECK: kandnb %k4, %k6, %k5
64 // CHECK:  encoding: [0xc5,0xcd,0x42,0xec]
65           kandnb %k4, %k6, %k5
66
67 // CHECK: korb   %k5, %k4, %k4
68 // CHECK:  encoding: [0xc5,0xdd,0x45,0xe5]
69           korb   %k5, %k4, %k4
70
71 // CHECK: kxnorb %k7, %k6, %k4
72 // CHECK:  encoding: [0xc5,0xcd,0x46,0xe7]
73           kxnorb %k7, %k6, %k4
74
75 // CHECK: kxorb  %k5, %k6, %k4
76 // CHECK:  encoding: [0xc5,0xcd,0x47,0xe5]
77           kxorb  %k5, %k6, %k4
78
79 // CHECK: knotb  %k4, %k5
80 // CHECK:  encoding: [0xc5,0xf9,0x44,0xec]
81           knotb  %k4, %k5
82
83 // CHECK: knotb  %k3, %k3
84 // CHECK:  encoding: [0xc5,0xf9,0x44,0xdb]
85           knotb  %k3, %k3
86
87 // CHECK: kmovb  %k3, %k5
88 // CHECK:  encoding: [0xc5,0xf9,0x90,0xeb]
89           kmovb  %k3, %k5
90
91 // CHECK: kmovb  (%rcx), %k5
92 // CHECK:  encoding: [0xc5,0xf9,0x90,0x29]
93           kmovb  (%rcx), %k5
94
95 // CHECK: kmovb  4660(%rax,%r14,8), %k5
96 // CHECK:  encoding: [0xc4,0xa1,0x79,0x90,0xac,0xf0,0x34,0x12,0x00,0x00]
97           kmovb  4660(%rax,%r14,8), %k5
98
99 // CHECK: kmovb  %k2, (%rcx)
100 // CHECK:  encoding: [0xc5,0xf9,0x91,0x11]
101           kmovb  %k2, (%rcx)
102
103 // CHECK: kmovb  %k2, 4660(%rax,%r14,8)
104 // CHECK:  encoding: [0xc4,0xa1,0x79,0x91,0x94,0xf0,0x34,0x12,0x00,0x00]
105           kmovb  %k2, 4660(%rax,%r14,8)
106
107 // CHECK: kmovb  %eax, %k2
108 // CHECK:  encoding: [0xc5,0xf9,0x92,0xd0]
109           kmovb  %eax, %k2
110
111 // CHECK: kmovb  %ebp, %k2
112 // CHECK:  encoding: [0xc5,0xf9,0x92,0xd5]
113           kmovb  %ebp, %k2
114
115 // CHECK: kmovb  %r13d, %k2
116 // CHECK:  encoding: [0xc4,0xc1,0x79,0x92,0xd5]
117           kmovb  %r13d, %k2
118
119 // CHECK: kmovb  %k3, %eax
120 // CHECK:  encoding: [0xc5,0xf9,0x93,0xc3]
121           kmovb  %k3, %eax
122
123 // CHECK: kmovb  %k3, %ebp
124 // CHECK:  encoding: [0xc5,0xf9,0x93,0xeb]
125           kmovb  %k3, %ebp
126
127 // CHECK: kmovb  %k3, %r13d
128 // CHECK:  encoding: [0xc5,0x79,0x93,0xeb]
129           kmovb  %k3, %r13d
130
131 // CHECK: vandpd %zmm27, %zmm28, %zmm19
132 // CHECK:  encoding: [0x62,0x81,0x9d,0x40,0x54,0xdb]
133           vandpd %zmm27, %zmm28, %zmm19
134
135 // CHECK: vandpd %zmm27, %zmm28, %zmm19 {%k5}
136 // CHECK:  encoding: [0x62,0x81,0x9d,0x45,0x54,0xdb]
137           vandpd %zmm27, %zmm28, %zmm19 {%k5}
138
139 // CHECK: vandpd %zmm27, %zmm28, %zmm19 {%k5} {z}
140 // CHECK:  encoding: [0x62,0x81,0x9d,0xc5,0x54,0xdb]
141           vandpd %zmm27, %zmm28, %zmm19 {%k5} {z}
142
143 // CHECK: vandpd (%rcx), %zmm28, %zmm19
144 // CHECK:  encoding: [0x62,0xe1,0x9d,0x40,0x54,0x19]
145           vandpd (%rcx), %zmm28, %zmm19
146
147 // CHECK: vandpd 291(%rax,%r14,8), %zmm28, %zmm19
148 // CHECK:  encoding: [0x62,0xa1,0x9d,0x40,0x54,0x9c,0xf0,0x23,0x01,0x00,0x00]
149           vandpd 291(%rax,%r14,8), %zmm28, %zmm19
150
151 // CHECK: vandpd (%rcx){1to8}, %zmm28, %zmm19
152 // CHECK:  encoding: [0x62,0xe1,0x9d,0x50,0x54,0x19]
153           vandpd (%rcx){1to8}, %zmm28, %zmm19
154
155 // CHECK: vandpd 8128(%rdx), %zmm28, %zmm19
156 // CHECK:  encoding: [0x62,0xe1,0x9d,0x40,0x54,0x5a,0x7f]
157           vandpd 8128(%rdx), %zmm28, %zmm19
158
159 // CHECK: vandpd 8192(%rdx), %zmm28, %zmm19
160 // CHECK:  encoding: [0x62,0xe1,0x9d,0x40,0x54,0x9a,0x00,0x20,0x00,0x00]
161           vandpd 8192(%rdx), %zmm28, %zmm19
162
163 // CHECK: vandpd -8192(%rdx), %zmm28, %zmm19
164 // CHECK:  encoding: [0x62,0xe1,0x9d,0x40,0x54,0x5a,0x80]
165           vandpd -8192(%rdx), %zmm28, %zmm19
166
167 // CHECK: vandpd -8256(%rdx), %zmm28, %zmm19
168 // CHECK:  encoding: [0x62,0xe1,0x9d,0x40,0x54,0x9a,0xc0,0xdf,0xff,0xff]
169           vandpd -8256(%rdx), %zmm28, %zmm19
170
171 // CHECK: vandpd 1016(%rdx){1to8}, %zmm28, %zmm19
172 // CHECK:  encoding: [0x62,0xe1,0x9d,0x50,0x54,0x5a,0x7f]
173           vandpd 1016(%rdx){1to8}, %zmm28, %zmm19
174
175 // CHECK: vandpd 1024(%rdx){1to8}, %zmm28, %zmm19
176 // CHECK:  encoding: [0x62,0xe1,0x9d,0x50,0x54,0x9a,0x00,0x04,0x00,0x00]
177           vandpd 1024(%rdx){1to8}, %zmm28, %zmm19
178
179 // CHECK: vandpd -1024(%rdx){1to8}, %zmm28, %zmm19
180 // CHECK:  encoding: [0x62,0xe1,0x9d,0x50,0x54,0x5a,0x80]
181           vandpd -1024(%rdx){1to8}, %zmm28, %zmm19
182
183 // CHECK: vandpd -1032(%rdx){1to8}, %zmm28, %zmm19
184 // CHECK:  encoding: [0x62,0xe1,0x9d,0x50,0x54,0x9a,0xf8,0xfb,0xff,0xff]
185           vandpd -1032(%rdx){1to8}, %zmm28, %zmm19
186
187 // CHECK: vandps %zmm25, %zmm22, %zmm17
188 // CHECK:  encoding: [0x62,0x81,0x4c,0x40,0x54,0xc9]
189           vandps %zmm25, %zmm22, %zmm17
190
191 // CHECK: vandps %zmm25, %zmm22, %zmm17 {%k4}
192 // CHECK:  encoding: [0x62,0x81,0x4c,0x44,0x54,0xc9]
193           vandps %zmm25, %zmm22, %zmm17 {%k4}
194
195 // CHECK: vandps %zmm25, %zmm22, %zmm17 {%k4} {z}
196 // CHECK:  encoding: [0x62,0x81,0x4c,0xc4,0x54,0xc9]
197           vandps %zmm25, %zmm22, %zmm17 {%k4} {z}
198
199 // CHECK: vandps (%rcx), %zmm22, %zmm17
200 // CHECK:  encoding: [0x62,0xe1,0x4c,0x40,0x54,0x09]
201           vandps (%rcx), %zmm22, %zmm17
202
203 // CHECK: vandps 291(%rax,%r14,8), %zmm22, %zmm17
204 // CHECK:  encoding: [0x62,0xa1,0x4c,0x40,0x54,0x8c,0xf0,0x23,0x01,0x00,0x00]
205           vandps 291(%rax,%r14,8), %zmm22, %zmm17
206
207 // CHECK: vandps (%rcx){1to16}, %zmm22, %zmm17
208 // CHECK:  encoding: [0x62,0xe1,0x4c,0x50,0x54,0x09]
209           vandps (%rcx){1to16}, %zmm22, %zmm17
210
211 // CHECK: vandps 8128(%rdx), %zmm22, %zmm17
212 // CHECK:  encoding: [0x62,0xe1,0x4c,0x40,0x54,0x4a,0x7f]
213           vandps 8128(%rdx), %zmm22, %zmm17
214
215 // CHECK: vandps 8192(%rdx), %zmm22, %zmm17
216 // CHECK:  encoding: [0x62,0xe1,0x4c,0x40,0x54,0x8a,0x00,0x20,0x00,0x00]
217           vandps 8192(%rdx), %zmm22, %zmm17
218
219 // CHECK: vandps -8192(%rdx), %zmm22, %zmm17
220 // CHECK:  encoding: [0x62,0xe1,0x4c,0x40,0x54,0x4a,0x80]
221           vandps -8192(%rdx), %zmm22, %zmm17
222
223 // CHECK: vandps -8256(%rdx), %zmm22, %zmm17
224 // CHECK:  encoding: [0x62,0xe1,0x4c,0x40,0x54,0x8a,0xc0,0xdf,0xff,0xff]
225           vandps -8256(%rdx), %zmm22, %zmm17
226
227 // CHECK: vandps 508(%rdx){1to16}, %zmm22, %zmm17
228 // CHECK:  encoding: [0x62,0xe1,0x4c,0x50,0x54,0x4a,0x7f]
229           vandps 508(%rdx){1to16}, %zmm22, %zmm17
230
231 // CHECK: vandps 512(%rdx){1to16}, %zmm22, %zmm17
232 // CHECK:  encoding: [0x62,0xe1,0x4c,0x50,0x54,0x8a,0x00,0x02,0x00,0x00]
233           vandps 512(%rdx){1to16}, %zmm22, %zmm17
234
235 // CHECK: vandps -512(%rdx){1to16}, %zmm22, %zmm17
236 // CHECK:  encoding: [0x62,0xe1,0x4c,0x50,0x54,0x4a,0x80]
237           vandps -512(%rdx){1to16}, %zmm22, %zmm17
238
239 // CHECK: vandps -516(%rdx){1to16}, %zmm22, %zmm17
240 // CHECK:  encoding: [0x62,0xe1,0x4c,0x50,0x54,0x8a,0xfc,0xfd,0xff,0xff]
241           vandps -516(%rdx){1to16}, %zmm22, %zmm17
242
243 // CHECK: vandnpd %zmm22, %zmm17, %zmm20
244 // CHECK:  encoding: [0x62,0xa1,0xf5,0x40,0x55,0xe6]
245           vandnpd %zmm22, %zmm17, %zmm20
246
247 // CHECK: vandnpd %zmm22, %zmm17, %zmm20 {%k1}
248 // CHECK:  encoding: [0x62,0xa1,0xf5,0x41,0x55,0xe6]
249           vandnpd %zmm22, %zmm17, %zmm20 {%k1}
250
251 // CHECK: vandnpd %zmm22, %zmm17, %zmm20 {%k1} {z}
252 // CHECK:  encoding: [0x62,0xa1,0xf5,0xc1,0x55,0xe6]
253           vandnpd %zmm22, %zmm17, %zmm20 {%k1} {z}
254
255 // CHECK: vandnpd (%rcx), %zmm17, %zmm20
256 // CHECK:  encoding: [0x62,0xe1,0xf5,0x40,0x55,0x21]
257           vandnpd (%rcx), %zmm17, %zmm20
258
259 // CHECK: vandnpd 291(%rax,%r14,8), %zmm17, %zmm20
260 // CHECK:  encoding: [0x62,0xa1,0xf5,0x40,0x55,0xa4,0xf0,0x23,0x01,0x00,0x00]
261           vandnpd 291(%rax,%r14,8), %zmm17, %zmm20
262
263 // CHECK: vandnpd (%rcx){1to8}, %zmm17, %zmm20
264 // CHECK:  encoding: [0x62,0xe1,0xf5,0x50,0x55,0x21]
265           vandnpd (%rcx){1to8}, %zmm17, %zmm20
266
267 // CHECK: vandnpd 8128(%rdx), %zmm17, %zmm20
268 // CHECK:  encoding: [0x62,0xe1,0xf5,0x40,0x55,0x62,0x7f]
269           vandnpd 8128(%rdx), %zmm17, %zmm20
270
271 // CHECK: vandnpd 8192(%rdx), %zmm17, %zmm20
272 // CHECK:  encoding: [0x62,0xe1,0xf5,0x40,0x55,0xa2,0x00,0x20,0x00,0x00]
273           vandnpd 8192(%rdx), %zmm17, %zmm20
274
275 // CHECK: vandnpd -8192(%rdx), %zmm17, %zmm20
276 // CHECK:  encoding: [0x62,0xe1,0xf5,0x40,0x55,0x62,0x80]
277           vandnpd -8192(%rdx), %zmm17, %zmm20
278
279 // CHECK: vandnpd -8256(%rdx), %zmm17, %zmm20
280 // CHECK:  encoding: [0x62,0xe1,0xf5,0x40,0x55,0xa2,0xc0,0xdf,0xff,0xff]
281           vandnpd -8256(%rdx), %zmm17, %zmm20
282
283 // CHECK: vandnpd 1016(%rdx){1to8}, %zmm17, %zmm20
284 // CHECK:  encoding: [0x62,0xe1,0xf5,0x50,0x55,0x62,0x7f]
285           vandnpd 1016(%rdx){1to8}, %zmm17, %zmm20
286
287 // CHECK: vandnpd 1024(%rdx){1to8}, %zmm17, %zmm20
288 // CHECK:  encoding: [0x62,0xe1,0xf5,0x50,0x55,0xa2,0x00,0x04,0x00,0x00]
289           vandnpd 1024(%rdx){1to8}, %zmm17, %zmm20
290
291 // CHECK: vandnpd -1024(%rdx){1to8}, %zmm17, %zmm20
292 // CHECK:  encoding: [0x62,0xe1,0xf5,0x50,0x55,0x62,0x80]
293           vandnpd -1024(%rdx){1to8}, %zmm17, %zmm20
294
295 // CHECK: vandnpd -1032(%rdx){1to8}, %zmm17, %zmm20
296 // CHECK:  encoding: [0x62,0xe1,0xf5,0x50,0x55,0xa2,0xf8,0xfb,0xff,0xff]
297           vandnpd -1032(%rdx){1to8}, %zmm17, %zmm20
298
299 // CHECK: vandnps %zmm19, %zmm17, %zmm22
300 // CHECK:  encoding: [0x62,0xa1,0x74,0x40,0x55,0xf3]
301           vandnps %zmm19, %zmm17, %zmm22
302
303 // CHECK: vandnps %zmm19, %zmm17, %zmm22 {%k2}
304 // CHECK:  encoding: [0x62,0xa1,0x74,0x42,0x55,0xf3]
305           vandnps %zmm19, %zmm17, %zmm22 {%k2}
306
307 // CHECK: vandnps %zmm19, %zmm17, %zmm22 {%k2} {z}
308 // CHECK:  encoding: [0x62,0xa1,0x74,0xc2,0x55,0xf3]
309           vandnps %zmm19, %zmm17, %zmm22 {%k2} {z}
310
311 // CHECK: vandnps (%rcx), %zmm17, %zmm22
312 // CHECK:  encoding: [0x62,0xe1,0x74,0x40,0x55,0x31]
313           vandnps (%rcx), %zmm17, %zmm22
314
315 // CHECK: vandnps 291(%rax,%r14,8), %zmm17, %zmm22
316 // CHECK:  encoding: [0x62,0xa1,0x74,0x40,0x55,0xb4,0xf0,0x23,0x01,0x00,0x00]
317           vandnps 291(%rax,%r14,8), %zmm17, %zmm22
318
319 // CHECK: vandnps (%rcx){1to16}, %zmm17, %zmm22
320 // CHECK:  encoding: [0x62,0xe1,0x74,0x50,0x55,0x31]
321           vandnps (%rcx){1to16}, %zmm17, %zmm22
322
323 // CHECK: vandnps 8128(%rdx), %zmm17, %zmm22
324 // CHECK:  encoding: [0x62,0xe1,0x74,0x40,0x55,0x72,0x7f]
325           vandnps 8128(%rdx), %zmm17, %zmm22
326
327 // CHECK: vandnps 8192(%rdx), %zmm17, %zmm22
328 // CHECK:  encoding: [0x62,0xe1,0x74,0x40,0x55,0xb2,0x00,0x20,0x00,0x00]
329           vandnps 8192(%rdx), %zmm17, %zmm22
330
331 // CHECK: vandnps -8192(%rdx), %zmm17, %zmm22
332 // CHECK:  encoding: [0x62,0xe1,0x74,0x40,0x55,0x72,0x80]
333           vandnps -8192(%rdx), %zmm17, %zmm22
334
335 // CHECK: vandnps -8256(%rdx), %zmm17, %zmm22
336 // CHECK:  encoding: [0x62,0xe1,0x74,0x40,0x55,0xb2,0xc0,0xdf,0xff,0xff]
337           vandnps -8256(%rdx), %zmm17, %zmm22
338
339 // CHECK: vandnps 508(%rdx){1to16}, %zmm17, %zmm22
340 // CHECK:  encoding: [0x62,0xe1,0x74,0x50,0x55,0x72,0x7f]
341           vandnps 508(%rdx){1to16}, %zmm17, %zmm22
342
343 // CHECK: vandnps 512(%rdx){1to16}, %zmm17, %zmm22
344 // CHECK:  encoding: [0x62,0xe1,0x74,0x50,0x55,0xb2,0x00,0x02,0x00,0x00]
345           vandnps 512(%rdx){1to16}, %zmm17, %zmm22
346
347 // CHECK: vandnps -512(%rdx){1to16}, %zmm17, %zmm22
348 // CHECK:  encoding: [0x62,0xe1,0x74,0x50,0x55,0x72,0x80]
349           vandnps -512(%rdx){1to16}, %zmm17, %zmm22
350
351 // CHECK: vandnps -516(%rdx){1to16}, %zmm17, %zmm22
352 // CHECK:  encoding: [0x62,0xe1,0x74,0x50,0x55,0xb2,0xfc,0xfd,0xff,0xff]
353           vandnps -516(%rdx){1to16}, %zmm17, %zmm22
354
355 // CHECK: vorpd  %zmm21, %zmm22, %zmm30
356 // CHECK:  encoding: [0x62,0x21,0xcd,0x40,0x56,0xf5]
357           vorpd  %zmm21, %zmm22, %zmm30
358
359 // CHECK: vorpd  %zmm21, %zmm22, %zmm30 {%k6}
360 // CHECK:  encoding: [0x62,0x21,0xcd,0x46,0x56,0xf5]
361           vorpd  %zmm21, %zmm22, %zmm30 {%k6}
362
363 // CHECK: vorpd  %zmm21, %zmm22, %zmm30 {%k6} {z}
364 // CHECK:  encoding: [0x62,0x21,0xcd,0xc6,0x56,0xf5]
365           vorpd  %zmm21, %zmm22, %zmm30 {%k6} {z}
366
367 // CHECK: vorpd  (%rcx), %zmm22, %zmm30
368 // CHECK:  encoding: [0x62,0x61,0xcd,0x40,0x56,0x31]
369           vorpd  (%rcx), %zmm22, %zmm30
370
371 // CHECK: vorpd  291(%rax,%r14,8), %zmm22, %zmm30
372 // CHECK:  encoding: [0x62,0x21,0xcd,0x40,0x56,0xb4,0xf0,0x23,0x01,0x00,0x00]
373           vorpd  291(%rax,%r14,8), %zmm22, %zmm30
374
375 // CHECK: vorpd  (%rcx){1to8}, %zmm22, %zmm30
376 // CHECK:  encoding: [0x62,0x61,0xcd,0x50,0x56,0x31]
377           vorpd  (%rcx){1to8}, %zmm22, %zmm30
378
379 // CHECK: vorpd  8128(%rdx), %zmm22, %zmm30
380 // CHECK:  encoding: [0x62,0x61,0xcd,0x40,0x56,0x72,0x7f]
381           vorpd  8128(%rdx), %zmm22, %zmm30
382
383 // CHECK: vorpd  8192(%rdx), %zmm22, %zmm30
384 // CHECK:  encoding: [0x62,0x61,0xcd,0x40,0x56,0xb2,0x00,0x20,0x00,0x00]
385           vorpd  8192(%rdx), %zmm22, %zmm30
386
387 // CHECK: vorpd  -8192(%rdx), %zmm22, %zmm30
388 // CHECK:  encoding: [0x62,0x61,0xcd,0x40,0x56,0x72,0x80]
389           vorpd  -8192(%rdx), %zmm22, %zmm30
390
391 // CHECK: vorpd  -8256(%rdx), %zmm22, %zmm30
392 // CHECK:  encoding: [0x62,0x61,0xcd,0x40,0x56,0xb2,0xc0,0xdf,0xff,0xff]
393           vorpd  -8256(%rdx), %zmm22, %zmm30
394
395 // CHECK: vorpd  1016(%rdx){1to8}, %zmm22, %zmm30
396 // CHECK:  encoding: [0x62,0x61,0xcd,0x50,0x56,0x72,0x7f]
397           vorpd  1016(%rdx){1to8}, %zmm22, %zmm30
398
399 // CHECK: vorpd  1024(%rdx){1to8}, %zmm22, %zmm30
400 // CHECK:  encoding: [0x62,0x61,0xcd,0x50,0x56,0xb2,0x00,0x04,0x00,0x00]
401           vorpd  1024(%rdx){1to8}, %zmm22, %zmm30
402
403 // CHECK: vorpd  -1024(%rdx){1to8}, %zmm22, %zmm30
404 // CHECK:  encoding: [0x62,0x61,0xcd,0x50,0x56,0x72,0x80]
405           vorpd  -1024(%rdx){1to8}, %zmm22, %zmm30
406
407 // CHECK: vorpd  -1032(%rdx){1to8}, %zmm22, %zmm30
408 // CHECK:  encoding: [0x62,0x61,0xcd,0x50,0x56,0xb2,0xf8,0xfb,0xff,0xff]
409           vorpd  -1032(%rdx){1to8}, %zmm22, %zmm30
410
411 // CHECK: vorps  %zmm26, %zmm21, %zmm22
412 // CHECK:  encoding: [0x62,0x81,0x54,0x40,0x56,0xf2]
413           vorps  %zmm26, %zmm21, %zmm22
414
415 // CHECK: vorps  %zmm26, %zmm21, %zmm22 {%k7}
416 // CHECK:  encoding: [0x62,0x81,0x54,0x47,0x56,0xf2]
417           vorps  %zmm26, %zmm21, %zmm22 {%k7}
418
419 // CHECK: vorps  %zmm26, %zmm21, %zmm22 {%k7} {z}
420 // CHECK:  encoding: [0x62,0x81,0x54,0xc7,0x56,0xf2]
421           vorps  %zmm26, %zmm21, %zmm22 {%k7} {z}
422
423 // CHECK: vorps  (%rcx), %zmm21, %zmm22
424 // CHECK:  encoding: [0x62,0xe1,0x54,0x40,0x56,0x31]
425           vorps  (%rcx), %zmm21, %zmm22
426
427 // CHECK: vorps  291(%rax,%r14,8), %zmm21, %zmm22
428 // CHECK:  encoding: [0x62,0xa1,0x54,0x40,0x56,0xb4,0xf0,0x23,0x01,0x00,0x00]
429           vorps  291(%rax,%r14,8), %zmm21, %zmm22
430
431 // CHECK: vorps  (%rcx){1to16}, %zmm21, %zmm22
432 // CHECK:  encoding: [0x62,0xe1,0x54,0x50,0x56,0x31]
433           vorps  (%rcx){1to16}, %zmm21, %zmm22
434
435 // CHECK: vorps  8128(%rdx), %zmm21, %zmm22
436 // CHECK:  encoding: [0x62,0xe1,0x54,0x40,0x56,0x72,0x7f]
437           vorps  8128(%rdx), %zmm21, %zmm22
438
439 // CHECK: vorps  8192(%rdx), %zmm21, %zmm22
440 // CHECK:  encoding: [0x62,0xe1,0x54,0x40,0x56,0xb2,0x00,0x20,0x00,0x00]
441           vorps  8192(%rdx), %zmm21, %zmm22
442
443 // CHECK: vorps  -8192(%rdx), %zmm21, %zmm22
444 // CHECK:  encoding: [0x62,0xe1,0x54,0x40,0x56,0x72,0x80]
445           vorps  -8192(%rdx), %zmm21, %zmm22
446
447 // CHECK: vorps  -8256(%rdx), %zmm21, %zmm22
448 // CHECK:  encoding: [0x62,0xe1,0x54,0x40,0x56,0xb2,0xc0,0xdf,0xff,0xff]
449           vorps  -8256(%rdx), %zmm21, %zmm22
450
451 // CHECK: vorps  508(%rdx){1to16}, %zmm21, %zmm22
452 // CHECK:  encoding: [0x62,0xe1,0x54,0x50,0x56,0x72,0x7f]
453           vorps  508(%rdx){1to16}, %zmm21, %zmm22
454
455 // CHECK: vorps  512(%rdx){1to16}, %zmm21, %zmm22
456 // CHECK:  encoding: [0x62,0xe1,0x54,0x50,0x56,0xb2,0x00,0x02,0x00,0x00]
457           vorps  512(%rdx){1to16}, %zmm21, %zmm22
458
459 // CHECK: vorps  -512(%rdx){1to16}, %zmm21, %zmm22
460 // CHECK:  encoding: [0x62,0xe1,0x54,0x50,0x56,0x72,0x80]
461           vorps  -512(%rdx){1to16}, %zmm21, %zmm22
462
463 // CHECK: vorps  -516(%rdx){1to16}, %zmm21, %zmm22
464 // CHECK:  encoding: [0x62,0xe1,0x54,0x50,0x56,0xb2,0xfc,0xfd,0xff,0xff]
465           vorps  -516(%rdx){1to16}, %zmm21, %zmm22
466
467 // CHECK: vxorpd %zmm24, %zmm24, %zmm27
468 // CHECK:  encoding: [0x62,0x01,0xbd,0x40,0x57,0xd8]
469           vxorpd %zmm24, %zmm24, %zmm27
470
471 // CHECK: vxorpd %zmm24, %zmm24, %zmm27 {%k5}
472 // CHECK:  encoding: [0x62,0x01,0xbd,0x45,0x57,0xd8]
473           vxorpd %zmm24, %zmm24, %zmm27 {%k5}
474
475 // CHECK: vxorpd %zmm24, %zmm24, %zmm27 {%k5} {z}
476 // CHECK:  encoding: [0x62,0x01,0xbd,0xc5,0x57,0xd8]
477           vxorpd %zmm24, %zmm24, %zmm27 {%k5} {z}
478
479 // CHECK: vxorpd (%rcx), %zmm24, %zmm27
480 // CHECK:  encoding: [0x62,0x61,0xbd,0x40,0x57,0x19]
481           vxorpd (%rcx), %zmm24, %zmm27
482
483 // CHECK: vxorpd 291(%rax,%r14,8), %zmm24, %zmm27
484 // CHECK:  encoding: [0x62,0x21,0xbd,0x40,0x57,0x9c,0xf0,0x23,0x01,0x00,0x00]
485           vxorpd 291(%rax,%r14,8), %zmm24, %zmm27
486
487 // CHECK: vxorpd (%rcx){1to8}, %zmm24, %zmm27
488 // CHECK:  encoding: [0x62,0x61,0xbd,0x50,0x57,0x19]
489           vxorpd (%rcx){1to8}, %zmm24, %zmm27
490
491 // CHECK: vxorpd 8128(%rdx), %zmm24, %zmm27
492 // CHECK:  encoding: [0x62,0x61,0xbd,0x40,0x57,0x5a,0x7f]
493           vxorpd 8128(%rdx), %zmm24, %zmm27
494
495 // CHECK: vxorpd 8192(%rdx), %zmm24, %zmm27
496 // CHECK:  encoding: [0x62,0x61,0xbd,0x40,0x57,0x9a,0x00,0x20,0x00,0x00]
497           vxorpd 8192(%rdx), %zmm24, %zmm27
498
499 // CHECK: vxorpd -8192(%rdx), %zmm24, %zmm27
500 // CHECK:  encoding: [0x62,0x61,0xbd,0x40,0x57,0x5a,0x80]
501           vxorpd -8192(%rdx), %zmm24, %zmm27
502
503 // CHECK: vxorpd -8256(%rdx), %zmm24, %zmm27
504 // CHECK:  encoding: [0x62,0x61,0xbd,0x40,0x57,0x9a,0xc0,0xdf,0xff,0xff]
505           vxorpd -8256(%rdx), %zmm24, %zmm27
506
507 // CHECK: vxorpd 1016(%rdx){1to8}, %zmm24, %zmm27
508 // CHECK:  encoding: [0x62,0x61,0xbd,0x50,0x57,0x5a,0x7f]
509           vxorpd 1016(%rdx){1to8}, %zmm24, %zmm27
510
511 // CHECK: vxorpd 1024(%rdx){1to8}, %zmm24, %zmm27
512 // CHECK:  encoding: [0x62,0x61,0xbd,0x50,0x57,0x9a,0x00,0x04,0x00,0x00]
513           vxorpd 1024(%rdx){1to8}, %zmm24, %zmm27
514
515 // CHECK: vxorpd -1024(%rdx){1to8}, %zmm24, %zmm27
516 // CHECK:  encoding: [0x62,0x61,0xbd,0x50,0x57,0x5a,0x80]
517           vxorpd -1024(%rdx){1to8}, %zmm24, %zmm27
518
519 // CHECK: vxorpd -1032(%rdx){1to8}, %zmm24, %zmm27
520 // CHECK:  encoding: [0x62,0x61,0xbd,0x50,0x57,0x9a,0xf8,0xfb,0xff,0xff]
521           vxorpd -1032(%rdx){1to8}, %zmm24, %zmm27
522
523 // CHECK: vxorps %zmm19, %zmm18, %zmm18
524 // CHECK:  encoding: [0x62,0xa1,0x6c,0x40,0x57,0xd3]
525           vxorps %zmm19, %zmm18, %zmm18
526
527 // CHECK: vxorps %zmm19, %zmm18, %zmm18 {%k2}
528 // CHECK:  encoding: [0x62,0xa1,0x6c,0x42,0x57,0xd3]
529           vxorps %zmm19, %zmm18, %zmm18 {%k2}
530
531 // CHECK: vxorps %zmm19, %zmm18, %zmm18 {%k2} {z}
532 // CHECK:  encoding: [0x62,0xa1,0x6c,0xc2,0x57,0xd3]
533           vxorps %zmm19, %zmm18, %zmm18 {%k2} {z}
534
535 // CHECK: vxorps (%rcx), %zmm18, %zmm18
536 // CHECK:  encoding: [0x62,0xe1,0x6c,0x40,0x57,0x11]
537           vxorps (%rcx), %zmm18, %zmm18
538
539 // CHECK: vxorps 291(%rax,%r14,8), %zmm18, %zmm18
540 // CHECK:  encoding: [0x62,0xa1,0x6c,0x40,0x57,0x94,0xf0,0x23,0x01,0x00,0x00]
541           vxorps 291(%rax,%r14,8), %zmm18, %zmm18
542
543 // CHECK: vxorps (%rcx){1to16}, %zmm18, %zmm18
544 // CHECK:  encoding: [0x62,0xe1,0x6c,0x50,0x57,0x11]
545           vxorps (%rcx){1to16}, %zmm18, %zmm18
546
547 // CHECK: vxorps 8128(%rdx), %zmm18, %zmm18
548 // CHECK:  encoding: [0x62,0xe1,0x6c,0x40,0x57,0x52,0x7f]
549           vxorps 8128(%rdx), %zmm18, %zmm18
550
551 // CHECK: vxorps 8192(%rdx), %zmm18, %zmm18
552 // CHECK:  encoding: [0x62,0xe1,0x6c,0x40,0x57,0x92,0x00,0x20,0x00,0x00]
553           vxorps 8192(%rdx), %zmm18, %zmm18
554
555 // CHECK: vxorps -8192(%rdx), %zmm18, %zmm18
556 // CHECK:  encoding: [0x62,0xe1,0x6c,0x40,0x57,0x52,0x80]
557           vxorps -8192(%rdx), %zmm18, %zmm18
558
559 // CHECK: vxorps -8256(%rdx), %zmm18, %zmm18
560 // CHECK:  encoding: [0x62,0xe1,0x6c,0x40,0x57,0x92,0xc0,0xdf,0xff,0xff]
561           vxorps -8256(%rdx), %zmm18, %zmm18
562
563 // CHECK: vxorps 508(%rdx){1to16}, %zmm18, %zmm18
564 // CHECK:  encoding: [0x62,0xe1,0x6c,0x50,0x57,0x52,0x7f]
565           vxorps 508(%rdx){1to16}, %zmm18, %zmm18
566
567 // CHECK: vxorps 512(%rdx){1to16}, %zmm18, %zmm18
568 // CHECK:  encoding: [0x62,0xe1,0x6c,0x50,0x57,0x92,0x00,0x02,0x00,0x00]
569           vxorps 512(%rdx){1to16}, %zmm18, %zmm18
570
571 // CHECK: vxorps -512(%rdx){1to16}, %zmm18, %zmm18
572 // CHECK:  encoding: [0x62,0xe1,0x6c,0x50,0x57,0x52,0x80]
573           vxorps -512(%rdx){1to16}, %zmm18, %zmm18
574
575 // CHECK: vxorps -516(%rdx){1to16}, %zmm18, %zmm18
576 // CHECK:  encoding: [0x62,0xe1,0x6c,0x50,0x57,0x92,0xfc,0xfd,0xff,0xff]
577           vxorps -516(%rdx){1to16}, %zmm18, %zmm18
578 // CHECK: vandpd %zmm22, %zmm22, %zmm24
579 // CHECK:  encoding: [0x62,0x21,0xcd,0x40,0x54,0xc6]
580           vandpd %zmm22, %zmm22, %zmm24
581
582 // CHECK: vandpd %zmm22, %zmm22, %zmm24 {%k4}
583 // CHECK:  encoding: [0x62,0x21,0xcd,0x44,0x54,0xc6]
584           vandpd %zmm22, %zmm22, %zmm24 {%k4}
585
586 // CHECK: vandpd %zmm22, %zmm22, %zmm24 {%k4} {z}
587 // CHECK:  encoding: [0x62,0x21,0xcd,0xc4,0x54,0xc6]
588           vandpd %zmm22, %zmm22, %zmm24 {%k4} {z}
589
590 // CHECK: vandpd (%rcx), %zmm22, %zmm24
591 // CHECK:  encoding: [0x62,0x61,0xcd,0x40,0x54,0x01]
592           vandpd (%rcx), %zmm22, %zmm24
593
594 // CHECK: vandpd 4660(%rax,%r14,8), %zmm22, %zmm24
595 // CHECK:  encoding: [0x62,0x21,0xcd,0x40,0x54,0x84,0xf0,0x34,0x12,0x00,0x00]
596           vandpd 4660(%rax,%r14,8), %zmm22, %zmm24
597
598 // CHECK: vandpd (%rcx){1to8}, %zmm22, %zmm24
599 // CHECK:  encoding: [0x62,0x61,0xcd,0x50,0x54,0x01]
600           vandpd (%rcx){1to8}, %zmm22, %zmm24
601
602 // CHECK: vandpd 8128(%rdx), %zmm22, %zmm24
603 // CHECK:  encoding: [0x62,0x61,0xcd,0x40,0x54,0x42,0x7f]
604           vandpd 8128(%rdx), %zmm22, %zmm24
605
606 // CHECK: vandpd 8192(%rdx), %zmm22, %zmm24
607 // CHECK:  encoding: [0x62,0x61,0xcd,0x40,0x54,0x82,0x00,0x20,0x00,0x00]
608           vandpd 8192(%rdx), %zmm22, %zmm24
609
610 // CHECK: vandpd -8192(%rdx), %zmm22, %zmm24
611 // CHECK:  encoding: [0x62,0x61,0xcd,0x40,0x54,0x42,0x80]
612           vandpd -8192(%rdx), %zmm22, %zmm24
613
614 // CHECK: vandpd -8256(%rdx), %zmm22, %zmm24
615 // CHECK:  encoding: [0x62,0x61,0xcd,0x40,0x54,0x82,0xc0,0xdf,0xff,0xff]
616           vandpd -8256(%rdx), %zmm22, %zmm24
617
618 // CHECK: vandpd 1016(%rdx){1to8}, %zmm22, %zmm24
619 // CHECK:  encoding: [0x62,0x61,0xcd,0x50,0x54,0x42,0x7f]
620           vandpd 1016(%rdx){1to8}, %zmm22, %zmm24
621
622 // CHECK: vandpd 1024(%rdx){1to8}, %zmm22, %zmm24
623 // CHECK:  encoding: [0x62,0x61,0xcd,0x50,0x54,0x82,0x00,0x04,0x00,0x00]
624           vandpd 1024(%rdx){1to8}, %zmm22, %zmm24
625
626 // CHECK: vandpd -1024(%rdx){1to8}, %zmm22, %zmm24
627 // CHECK:  encoding: [0x62,0x61,0xcd,0x50,0x54,0x42,0x80]
628           vandpd -1024(%rdx){1to8}, %zmm22, %zmm24
629
630 // CHECK: vandpd -1032(%rdx){1to8}, %zmm22, %zmm24
631 // CHECK:  encoding: [0x62,0x61,0xcd,0x50,0x54,0x82,0xf8,0xfb,0xff,0xff]
632           vandpd -1032(%rdx){1to8}, %zmm22, %zmm24
633
634 // CHECK: vandps %zmm23, %zmm23, %zmm30
635 // CHECK:  encoding: [0x62,0x21,0x44,0x40,0x54,0xf7]
636           vandps %zmm23, %zmm23, %zmm30
637
638 // CHECK: vandps %zmm23, %zmm23, %zmm30 {%k5}
639 // CHECK:  encoding: [0x62,0x21,0x44,0x45,0x54,0xf7]
640           vandps %zmm23, %zmm23, %zmm30 {%k5}
641
642 // CHECK: vandps %zmm23, %zmm23, %zmm30 {%k5} {z}
643 // CHECK:  encoding: [0x62,0x21,0x44,0xc5,0x54,0xf7]
644           vandps %zmm23, %zmm23, %zmm30 {%k5} {z}
645
646 // CHECK: vandps (%rcx), %zmm23, %zmm30
647 // CHECK:  encoding: [0x62,0x61,0x44,0x40,0x54,0x31]
648           vandps (%rcx), %zmm23, %zmm30
649
650 // CHECK: vandps 4660(%rax,%r14,8), %zmm23, %zmm30
651 // CHECK:  encoding: [0x62,0x21,0x44,0x40,0x54,0xb4,0xf0,0x34,0x12,0x00,0x00]
652           vandps 4660(%rax,%r14,8), %zmm23, %zmm30
653
654 // CHECK: vandps (%rcx){1to16}, %zmm23, %zmm30
655 // CHECK:  encoding: [0x62,0x61,0x44,0x50,0x54,0x31]
656           vandps (%rcx){1to16}, %zmm23, %zmm30
657
658 // CHECK: vandps 8128(%rdx), %zmm23, %zmm30
659 // CHECK:  encoding: [0x62,0x61,0x44,0x40,0x54,0x72,0x7f]
660           vandps 8128(%rdx), %zmm23, %zmm30
661
662 // CHECK: vandps 8192(%rdx), %zmm23, %zmm30
663 // CHECK:  encoding: [0x62,0x61,0x44,0x40,0x54,0xb2,0x00,0x20,0x00,0x00]
664           vandps 8192(%rdx), %zmm23, %zmm30
665
666 // CHECK: vandps -8192(%rdx), %zmm23, %zmm30
667 // CHECK:  encoding: [0x62,0x61,0x44,0x40,0x54,0x72,0x80]
668           vandps -8192(%rdx), %zmm23, %zmm30
669
670 // CHECK: vandps -8256(%rdx), %zmm23, %zmm30
671 // CHECK:  encoding: [0x62,0x61,0x44,0x40,0x54,0xb2,0xc0,0xdf,0xff,0xff]
672           vandps -8256(%rdx), %zmm23, %zmm30
673
674 // CHECK: vandps 508(%rdx){1to16}, %zmm23, %zmm30
675 // CHECK:  encoding: [0x62,0x61,0x44,0x50,0x54,0x72,0x7f]
676           vandps 508(%rdx){1to16}, %zmm23, %zmm30
677
678 // CHECK: vandps 512(%rdx){1to16}, %zmm23, %zmm30
679 // CHECK:  encoding: [0x62,0x61,0x44,0x50,0x54,0xb2,0x00,0x02,0x00,0x00]
680           vandps 512(%rdx){1to16}, %zmm23, %zmm30
681
682 // CHECK: vandps -512(%rdx){1to16}, %zmm23, %zmm30
683 // CHECK:  encoding: [0x62,0x61,0x44,0x50,0x54,0x72,0x80]
684           vandps -512(%rdx){1to16}, %zmm23, %zmm30
685
686 // CHECK: vandps -516(%rdx){1to16}, %zmm23, %zmm30
687 // CHECK:  encoding: [0x62,0x61,0x44,0x50,0x54,0xb2,0xfc,0xfd,0xff,0xff]
688           vandps -516(%rdx){1to16}, %zmm23, %zmm30
689
690 // CHECK: vandnpd %zmm21, %zmm21, %zmm25
691 // CHECK:  encoding: [0x62,0x21,0xd5,0x40,0x55,0xcd]
692           vandnpd %zmm21, %zmm21, %zmm25
693
694 // CHECK: vandnpd %zmm21, %zmm21, %zmm25 {%k2}
695 // CHECK:  encoding: [0x62,0x21,0xd5,0x42,0x55,0xcd]
696           vandnpd %zmm21, %zmm21, %zmm25 {%k2}
697
698 // CHECK: vandnpd %zmm21, %zmm21, %zmm25 {%k2} {z}
699 // CHECK:  encoding: [0x62,0x21,0xd5,0xc2,0x55,0xcd]
700           vandnpd %zmm21, %zmm21, %zmm25 {%k2} {z}
701
702 // CHECK: vandnpd (%rcx), %zmm21, %zmm25
703 // CHECK:  encoding: [0x62,0x61,0xd5,0x40,0x55,0x09]
704           vandnpd (%rcx), %zmm21, %zmm25
705
706 // CHECK: vandnpd 4660(%rax,%r14,8), %zmm21, %zmm25
707 // CHECK:  encoding: [0x62,0x21,0xd5,0x40,0x55,0x8c,0xf0,0x34,0x12,0x00,0x00]
708           vandnpd 4660(%rax,%r14,8), %zmm21, %zmm25
709
710 // CHECK: vandnpd (%rcx){1to8}, %zmm21, %zmm25
711 // CHECK:  encoding: [0x62,0x61,0xd5,0x50,0x55,0x09]
712           vandnpd (%rcx){1to8}, %zmm21, %zmm25
713
714 // CHECK: vandnpd 8128(%rdx), %zmm21, %zmm25
715 // CHECK:  encoding: [0x62,0x61,0xd5,0x40,0x55,0x4a,0x7f]
716           vandnpd 8128(%rdx), %zmm21, %zmm25
717
718 // CHECK: vandnpd 8192(%rdx), %zmm21, %zmm25
719 // CHECK:  encoding: [0x62,0x61,0xd5,0x40,0x55,0x8a,0x00,0x20,0x00,0x00]
720           vandnpd 8192(%rdx), %zmm21, %zmm25
721
722 // CHECK: vandnpd -8192(%rdx), %zmm21, %zmm25
723 // CHECK:  encoding: [0x62,0x61,0xd5,0x40,0x55,0x4a,0x80]
724           vandnpd -8192(%rdx), %zmm21, %zmm25
725
726 // CHECK: vandnpd -8256(%rdx), %zmm21, %zmm25
727 // CHECK:  encoding: [0x62,0x61,0xd5,0x40,0x55,0x8a,0xc0,0xdf,0xff,0xff]
728           vandnpd -8256(%rdx), %zmm21, %zmm25
729
730 // CHECK: vandnpd 1016(%rdx){1to8}, %zmm21, %zmm25
731 // CHECK:  encoding: [0x62,0x61,0xd5,0x50,0x55,0x4a,0x7f]
732           vandnpd 1016(%rdx){1to8}, %zmm21, %zmm25
733
734 // CHECK: vandnpd 1024(%rdx){1to8}, %zmm21, %zmm25
735 // CHECK:  encoding: [0x62,0x61,0xd5,0x50,0x55,0x8a,0x00,0x04,0x00,0x00]
736           vandnpd 1024(%rdx){1to8}, %zmm21, %zmm25
737
738 // CHECK: vandnpd -1024(%rdx){1to8}, %zmm21, %zmm25
739 // CHECK:  encoding: [0x62,0x61,0xd5,0x50,0x55,0x4a,0x80]
740           vandnpd -1024(%rdx){1to8}, %zmm21, %zmm25
741
742 // CHECK: vandnpd -1032(%rdx){1to8}, %zmm21, %zmm25
743 // CHECK:  encoding: [0x62,0x61,0xd5,0x50,0x55,0x8a,0xf8,0xfb,0xff,0xff]
744           vandnpd -1032(%rdx){1to8}, %zmm21, %zmm25
745
746 // CHECK: vandnps %zmm18, %zmm21, %zmm17
747 // CHECK:  encoding: [0x62,0xa1,0x54,0x40,0x55,0xca]
748           vandnps %zmm18, %zmm21, %zmm17
749
750 // CHECK: vandnps %zmm18, %zmm21, %zmm17 {%k1}
751 // CHECK:  encoding: [0x62,0xa1,0x54,0x41,0x55,0xca]
752           vandnps %zmm18, %zmm21, %zmm17 {%k1}
753
754 // CHECK: vandnps %zmm18, %zmm21, %zmm17 {%k1} {z}
755 // CHECK:  encoding: [0x62,0xa1,0x54,0xc1,0x55,0xca]
756           vandnps %zmm18, %zmm21, %zmm17 {%k1} {z}
757
758 // CHECK: vandnps (%rcx), %zmm21, %zmm17
759 // CHECK:  encoding: [0x62,0xe1,0x54,0x40,0x55,0x09]
760           vandnps (%rcx), %zmm21, %zmm17
761
762 // CHECK: vandnps 4660(%rax,%r14,8), %zmm21, %zmm17
763 // CHECK:  encoding: [0x62,0xa1,0x54,0x40,0x55,0x8c,0xf0,0x34,0x12,0x00,0x00]
764           vandnps 4660(%rax,%r14,8), %zmm21, %zmm17
765
766 // CHECK: vandnps (%rcx){1to16}, %zmm21, %zmm17
767 // CHECK:  encoding: [0x62,0xe1,0x54,0x50,0x55,0x09]
768           vandnps (%rcx){1to16}, %zmm21, %zmm17
769
770 // CHECK: vandnps 8128(%rdx), %zmm21, %zmm17
771 // CHECK:  encoding: [0x62,0xe1,0x54,0x40,0x55,0x4a,0x7f]
772           vandnps 8128(%rdx), %zmm21, %zmm17
773
774 // CHECK: vandnps 8192(%rdx), %zmm21, %zmm17
775 // CHECK:  encoding: [0x62,0xe1,0x54,0x40,0x55,0x8a,0x00,0x20,0x00,0x00]
776           vandnps 8192(%rdx), %zmm21, %zmm17
777
778 // CHECK: vandnps -8192(%rdx), %zmm21, %zmm17
779 // CHECK:  encoding: [0x62,0xe1,0x54,0x40,0x55,0x4a,0x80]
780           vandnps -8192(%rdx), %zmm21, %zmm17
781
782 // CHECK: vandnps -8256(%rdx), %zmm21, %zmm17
783 // CHECK:  encoding: [0x62,0xe1,0x54,0x40,0x55,0x8a,0xc0,0xdf,0xff,0xff]
784           vandnps -8256(%rdx), %zmm21, %zmm17
785
786 // CHECK: vandnps 508(%rdx){1to16}, %zmm21, %zmm17
787 // CHECK:  encoding: [0x62,0xe1,0x54,0x50,0x55,0x4a,0x7f]
788           vandnps 508(%rdx){1to16}, %zmm21, %zmm17
789
790 // CHECK: vandnps 512(%rdx){1to16}, %zmm21, %zmm17
791 // CHECK:  encoding: [0x62,0xe1,0x54,0x50,0x55,0x8a,0x00,0x02,0x00,0x00]
792           vandnps 512(%rdx){1to16}, %zmm21, %zmm17
793
794 // CHECK: vandnps -512(%rdx){1to16}, %zmm21, %zmm17
795 // CHECK:  encoding: [0x62,0xe1,0x54,0x50,0x55,0x4a,0x80]
796           vandnps -512(%rdx){1to16}, %zmm21, %zmm17
797
798 // CHECK: vandnps -516(%rdx){1to16}, %zmm21, %zmm17
799 // CHECK:  encoding: [0x62,0xe1,0x54,0x50,0x55,0x8a,0xfc,0xfd,0xff,0xff]
800           vandnps -516(%rdx){1to16}, %zmm21, %zmm17
801
802 // CHECK: vorpd  %zmm24, %zmm28, %zmm18
803 // CHECK:  encoding: [0x62,0x81,0x9d,0x40,0x56,0xd0]
804           vorpd  %zmm24, %zmm28, %zmm18
805
806 // CHECK: vorpd  %zmm24, %zmm28, %zmm18 {%k1}
807 // CHECK:  encoding: [0x62,0x81,0x9d,0x41,0x56,0xd0]
808           vorpd  %zmm24, %zmm28, %zmm18 {%k1}
809
810 // CHECK: vorpd  %zmm24, %zmm28, %zmm18 {%k1} {z}
811 // CHECK:  encoding: [0x62,0x81,0x9d,0xc1,0x56,0xd0]
812           vorpd  %zmm24, %zmm28, %zmm18 {%k1} {z}
813
814 // CHECK: vorpd  (%rcx), %zmm28, %zmm18
815 // CHECK:  encoding: [0x62,0xe1,0x9d,0x40,0x56,0x11]
816           vorpd  (%rcx), %zmm28, %zmm18
817
818 // CHECK: vorpd  4660(%rax,%r14,8), %zmm28, %zmm18
819 // CHECK:  encoding: [0x62,0xa1,0x9d,0x40,0x56,0x94,0xf0,0x34,0x12,0x00,0x00]
820           vorpd  4660(%rax,%r14,8), %zmm28, %zmm18
821
822 // CHECK: vorpd  (%rcx){1to8}, %zmm28, %zmm18
823 // CHECK:  encoding: [0x62,0xe1,0x9d,0x50,0x56,0x11]
824           vorpd  (%rcx){1to8}, %zmm28, %zmm18
825
826 // CHECK: vorpd  8128(%rdx), %zmm28, %zmm18
827 // CHECK:  encoding: [0x62,0xe1,0x9d,0x40,0x56,0x52,0x7f]
828           vorpd  8128(%rdx), %zmm28, %zmm18
829
830 // CHECK: vorpd  8192(%rdx), %zmm28, %zmm18
831 // CHECK:  encoding: [0x62,0xe1,0x9d,0x40,0x56,0x92,0x00,0x20,0x00,0x00]
832           vorpd  8192(%rdx), %zmm28, %zmm18
833
834 // CHECK: vorpd  -8192(%rdx), %zmm28, %zmm18
835 // CHECK:  encoding: [0x62,0xe1,0x9d,0x40,0x56,0x52,0x80]
836           vorpd  -8192(%rdx), %zmm28, %zmm18
837
838 // CHECK: vorpd  -8256(%rdx), %zmm28, %zmm18
839 // CHECK:  encoding: [0x62,0xe1,0x9d,0x40,0x56,0x92,0xc0,0xdf,0xff,0xff]
840           vorpd  -8256(%rdx), %zmm28, %zmm18
841
842 // CHECK: vorpd  1016(%rdx){1to8}, %zmm28, %zmm18
843 // CHECK:  encoding: [0x62,0xe1,0x9d,0x50,0x56,0x52,0x7f]
844           vorpd  1016(%rdx){1to8}, %zmm28, %zmm18
845
846 // CHECK: vorpd  1024(%rdx){1to8}, %zmm28, %zmm18
847 // CHECK:  encoding: [0x62,0xe1,0x9d,0x50,0x56,0x92,0x00,0x04,0x00,0x00]
848           vorpd  1024(%rdx){1to8}, %zmm28, %zmm18
849
850 // CHECK: vorpd  -1024(%rdx){1to8}, %zmm28, %zmm18
851 // CHECK:  encoding: [0x62,0xe1,0x9d,0x50,0x56,0x52,0x80]
852           vorpd  -1024(%rdx){1to8}, %zmm28, %zmm18
853
854 // CHECK: vorpd  -1032(%rdx){1to8}, %zmm28, %zmm18
855 // CHECK:  encoding: [0x62,0xe1,0x9d,0x50,0x56,0x92,0xf8,0xfb,0xff,0xff]
856           vorpd  -1032(%rdx){1to8}, %zmm28, %zmm18
857
858 // CHECK: vorps  %zmm23, %zmm17, %zmm28
859 // CHECK:  encoding: [0x62,0x21,0x74,0x40,0x56,0xe7]
860           vorps  %zmm23, %zmm17, %zmm28
861
862 // CHECK: vorps  %zmm23, %zmm17, %zmm28 {%k7}
863 // CHECK:  encoding: [0x62,0x21,0x74,0x47,0x56,0xe7]
864           vorps  %zmm23, %zmm17, %zmm28 {%k7}
865
866 // CHECK: vorps  %zmm23, %zmm17, %zmm28 {%k7} {z}
867 // CHECK:  encoding: [0x62,0x21,0x74,0xc7,0x56,0xe7]
868           vorps  %zmm23, %zmm17, %zmm28 {%k7} {z}
869
870 // CHECK: vorps  (%rcx), %zmm17, %zmm28
871 // CHECK:  encoding: [0x62,0x61,0x74,0x40,0x56,0x21]
872           vorps  (%rcx), %zmm17, %zmm28
873
874 // CHECK: vorps  4660(%rax,%r14,8), %zmm17, %zmm28
875 // CHECK:  encoding: [0x62,0x21,0x74,0x40,0x56,0xa4,0xf0,0x34,0x12,0x00,0x00]
876           vorps  4660(%rax,%r14,8), %zmm17, %zmm28
877
878 // CHECK: vorps  (%rcx){1to16}, %zmm17, %zmm28
879 // CHECK:  encoding: [0x62,0x61,0x74,0x50,0x56,0x21]
880           vorps  (%rcx){1to16}, %zmm17, %zmm28
881
882 // CHECK: vorps  8128(%rdx), %zmm17, %zmm28
883 // CHECK:  encoding: [0x62,0x61,0x74,0x40,0x56,0x62,0x7f]
884           vorps  8128(%rdx), %zmm17, %zmm28
885
886 // CHECK: vorps  8192(%rdx), %zmm17, %zmm28
887 // CHECK:  encoding: [0x62,0x61,0x74,0x40,0x56,0xa2,0x00,0x20,0x00,0x00]
888           vorps  8192(%rdx), %zmm17, %zmm28
889
890 // CHECK: vorps  -8192(%rdx), %zmm17, %zmm28
891 // CHECK:  encoding: [0x62,0x61,0x74,0x40,0x56,0x62,0x80]
892           vorps  -8192(%rdx), %zmm17, %zmm28
893
894 // CHECK: vorps  -8256(%rdx), %zmm17, %zmm28
895 // CHECK:  encoding: [0x62,0x61,0x74,0x40,0x56,0xa2,0xc0,0xdf,0xff,0xff]
896           vorps  -8256(%rdx), %zmm17, %zmm28
897
898 // CHECK: vorps  508(%rdx){1to16}, %zmm17, %zmm28
899 // CHECK:  encoding: [0x62,0x61,0x74,0x50,0x56,0x62,0x7f]
900           vorps  508(%rdx){1to16}, %zmm17, %zmm28
901
902 // CHECK: vorps  512(%rdx){1to16}, %zmm17, %zmm28
903 // CHECK:  encoding: [0x62,0x61,0x74,0x50,0x56,0xa2,0x00,0x02,0x00,0x00]
904           vorps  512(%rdx){1to16}, %zmm17, %zmm28
905
906 // CHECK: vorps  -512(%rdx){1to16}, %zmm17, %zmm28
907 // CHECK:  encoding: [0x62,0x61,0x74,0x50,0x56,0x62,0x80]
908           vorps  -512(%rdx){1to16}, %zmm17, %zmm28
909
910 // CHECK: vorps  -516(%rdx){1to16}, %zmm17, %zmm28
911 // CHECK:  encoding: [0x62,0x61,0x74,0x50,0x56,0xa2,0xfc,0xfd,0xff,0xff]
912           vorps  -516(%rdx){1to16}, %zmm17, %zmm28
913
914 // CHECK: vxorpd %zmm27, %zmm18, %zmm28
915 // CHECK:  encoding: [0x62,0x01,0xed,0x40,0x57,0xe3]
916           vxorpd %zmm27, %zmm18, %zmm28
917
918 // CHECK: vxorpd %zmm27, %zmm18, %zmm28 {%k4}
919 // CHECK:  encoding: [0x62,0x01,0xed,0x44,0x57,0xe3]
920           vxorpd %zmm27, %zmm18, %zmm28 {%k4}
921
922 // CHECK: vxorpd %zmm27, %zmm18, %zmm28 {%k4} {z}
923 // CHECK:  encoding: [0x62,0x01,0xed,0xc4,0x57,0xe3]
924           vxorpd %zmm27, %zmm18, %zmm28 {%k4} {z}
925
926 // CHECK: vxorpd (%rcx), %zmm18, %zmm28
927 // CHECK:  encoding: [0x62,0x61,0xed,0x40,0x57,0x21]
928           vxorpd (%rcx), %zmm18, %zmm28
929
930 // CHECK: vxorpd 4660(%rax,%r14,8), %zmm18, %zmm28
931 // CHECK:  encoding: [0x62,0x21,0xed,0x40,0x57,0xa4,0xf0,0x34,0x12,0x00,0x00]
932           vxorpd 4660(%rax,%r14,8), %zmm18, %zmm28
933
934 // CHECK: vxorpd (%rcx){1to8}, %zmm18, %zmm28
935 // CHECK:  encoding: [0x62,0x61,0xed,0x50,0x57,0x21]
936           vxorpd (%rcx){1to8}, %zmm18, %zmm28
937
938 // CHECK: vxorpd 8128(%rdx), %zmm18, %zmm28
939 // CHECK:  encoding: [0x62,0x61,0xed,0x40,0x57,0x62,0x7f]
940           vxorpd 8128(%rdx), %zmm18, %zmm28
941
942 // CHECK: vxorpd 8192(%rdx), %zmm18, %zmm28
943 // CHECK:  encoding: [0x62,0x61,0xed,0x40,0x57,0xa2,0x00,0x20,0x00,0x00]
944           vxorpd 8192(%rdx), %zmm18, %zmm28
945
946 // CHECK: vxorpd -8192(%rdx), %zmm18, %zmm28
947 // CHECK:  encoding: [0x62,0x61,0xed,0x40,0x57,0x62,0x80]
948           vxorpd -8192(%rdx), %zmm18, %zmm28
949
950 // CHECK: vxorpd -8256(%rdx), %zmm18, %zmm28
951 // CHECK:  encoding: [0x62,0x61,0xed,0x40,0x57,0xa2,0xc0,0xdf,0xff,0xff]
952           vxorpd -8256(%rdx), %zmm18, %zmm28
953
954 // CHECK: vxorpd 1016(%rdx){1to8}, %zmm18, %zmm28
955 // CHECK:  encoding: [0x62,0x61,0xed,0x50,0x57,0x62,0x7f]
956           vxorpd 1016(%rdx){1to8}, %zmm18, %zmm28
957
958 // CHECK: vxorpd 1024(%rdx){1to8}, %zmm18, %zmm28
959 // CHECK:  encoding: [0x62,0x61,0xed,0x50,0x57,0xa2,0x00,0x04,0x00,0x00]
960           vxorpd 1024(%rdx){1to8}, %zmm18, %zmm28
961
962 // CHECK: vxorpd -1024(%rdx){1to8}, %zmm18, %zmm28
963 // CHECK:  encoding: [0x62,0x61,0xed,0x50,0x57,0x62,0x80]
964           vxorpd -1024(%rdx){1to8}, %zmm18, %zmm28
965
966 // CHECK: vxorpd -1032(%rdx){1to8}, %zmm18, %zmm28
967 // CHECK:  encoding: [0x62,0x61,0xed,0x50,0x57,0xa2,0xf8,0xfb,0xff,0xff]
968           vxorpd -1032(%rdx){1to8}, %zmm18, %zmm28
969
970 // CHECK: vxorps %zmm18, %zmm28, %zmm24
971 // CHECK:  encoding: [0x62,0x21,0x1c,0x40,0x57,0xc2]
972           vxorps %zmm18, %zmm28, %zmm24
973
974 // CHECK: vxorps %zmm18, %zmm28, %zmm24 {%k4}
975 // CHECK:  encoding: [0x62,0x21,0x1c,0x44,0x57,0xc2]
976           vxorps %zmm18, %zmm28, %zmm24 {%k4}
977
978 // CHECK: vxorps %zmm18, %zmm28, %zmm24 {%k4} {z}
979 // CHECK:  encoding: [0x62,0x21,0x1c,0xc4,0x57,0xc2]
980           vxorps %zmm18, %zmm28, %zmm24 {%k4} {z}
981
982 // CHECK: vxorps (%rcx), %zmm28, %zmm24
983 // CHECK:  encoding: [0x62,0x61,0x1c,0x40,0x57,0x01]
984           vxorps (%rcx), %zmm28, %zmm24
985
986 // CHECK: vxorps 4660(%rax,%r14,8), %zmm28, %zmm24
987 // CHECK:  encoding: [0x62,0x21,0x1c,0x40,0x57,0x84,0xf0,0x34,0x12,0x00,0x00]
988           vxorps 4660(%rax,%r14,8), %zmm28, %zmm24
989
990 // CHECK: vxorps (%rcx){1to16}, %zmm28, %zmm24
991 // CHECK:  encoding: [0x62,0x61,0x1c,0x50,0x57,0x01]
992           vxorps (%rcx){1to16}, %zmm28, %zmm24
993
994 // CHECK: vxorps 8128(%rdx), %zmm28, %zmm24
995 // CHECK:  encoding: [0x62,0x61,0x1c,0x40,0x57,0x42,0x7f]
996           vxorps 8128(%rdx), %zmm28, %zmm24
997
998 // CHECK: vxorps 8192(%rdx), %zmm28, %zmm24
999 // CHECK:  encoding: [0x62,0x61,0x1c,0x40,0x57,0x82,0x00,0x20,0x00,0x00]
1000           vxorps 8192(%rdx), %zmm28, %zmm24
1001
1002 // CHECK: vxorps -8192(%rdx), %zmm28, %zmm24
1003 // CHECK:  encoding: [0x62,0x61,0x1c,0x40,0x57,0x42,0x80]
1004           vxorps -8192(%rdx), %zmm28, %zmm24
1005
1006 // CHECK: vxorps -8256(%rdx), %zmm28, %zmm24
1007 // CHECK:  encoding: [0x62,0x61,0x1c,0x40,0x57,0x82,0xc0,0xdf,0xff,0xff]
1008           vxorps -8256(%rdx), %zmm28, %zmm24
1009
1010 // CHECK: vxorps 508(%rdx){1to16}, %zmm28, %zmm24
1011 // CHECK:  encoding: [0x62,0x61,0x1c,0x50,0x57,0x42,0x7f]
1012           vxorps 508(%rdx){1to16}, %zmm28, %zmm24
1013
1014 // CHECK: vxorps 512(%rdx){1to16}, %zmm28, %zmm24
1015 // CHECK:  encoding: [0x62,0x61,0x1c,0x50,0x57,0x82,0x00,0x02,0x00,0x00]
1016           vxorps 512(%rdx){1to16}, %zmm28, %zmm24
1017
1018 // CHECK: vxorps -512(%rdx){1to16}, %zmm28, %zmm24
1019 // CHECK:  encoding: [0x62,0x61,0x1c,0x50,0x57,0x42,0x80]
1020           vxorps -512(%rdx){1to16}, %zmm28, %zmm24
1021
1022 // CHECK: vxorps -516(%rdx){1to16}, %zmm28, %zmm24
1023 // CHECK:  encoding: [0x62,0x61,0x1c,0x50,0x57,0x82,0xfc,0xfd,0xff,0xff]
1024           vxorps -516(%rdx){1to16}, %zmm28, %zmm24