[X86] Add assembler predicates for the rest of the AVX512 feature flags. This makes...
[oota-llvm.git] / test / MC / X86 / avx512-encodings.s
1 // RUN: not llvm-mc -triple x86_64-unknown-unknown -mcpu=knl -mattr=+avx512dq --show-encoding %s 2> %t.err | FileCheck %s
2 // RUN: FileCheck --check-prefix=ERR < %t.err %s
3
4 // CHECK: vaddpd %zmm6, %zmm27, %zmm8
5 // CHECK:  encoding: [0x62,0x71,0xa5,0x40,0x58,0xc6]
6           vaddpd %zmm6, %zmm27, %zmm8
7
8 // CHECK: vaddpd %zmm6, %zmm27, %zmm8 {%k7}
9 // CHECK:  encoding: [0x62,0x71,0xa5,0x47,0x58,0xc6]
10           vaddpd %zmm6, %zmm27, %zmm8 {%k7}
11
12 // CHECK: vaddpd %zmm6, %zmm27, %zmm8 {%k7} {z}
13 // CHECK:  encoding: [0x62,0x71,0xa5,0xc7,0x58,0xc6]
14           vaddpd %zmm6, %zmm27, %zmm8 {%k7} {z}
15
16 // CHECK: vaddpd (%rcx), %zmm27, %zmm8
17 // CHECK:  encoding: [0x62,0x71,0xa5,0x40,0x58,0x01]
18           vaddpd (%rcx), %zmm27, %zmm8
19
20 // CHECK: vaddpd 291(%rax,%r14,8), %zmm27, %zmm8
21 // CHECK:  encoding: [0x62,0x31,0xa5,0x40,0x58,0x84,0xf0,0x23,0x01,0x00,0x00]
22           vaddpd 291(%rax,%r14,8), %zmm27, %zmm8
23
24 // CHECK: vaddpd (%rcx){1to8}, %zmm27, %zmm8
25 // CHECK:  encoding: [0x62,0x71,0xa5,0x50,0x58,0x01]
26           vaddpd (%rcx){1to8}, %zmm27, %zmm8
27
28 // CHECK: vaddpd 8128(%rdx), %zmm27, %zmm8
29 // CHECK:  encoding: [0x62,0x71,0xa5,0x40,0x58,0x42,0x7f]
30           vaddpd 8128(%rdx), %zmm27, %zmm8
31
32 // CHECK: vaddpd 8192(%rdx), %zmm27, %zmm8
33 // CHECK:  encoding: [0x62,0x71,0xa5,0x40,0x58,0x82,0x00,0x20,0x00,0x00]
34           vaddpd 8192(%rdx), %zmm27, %zmm8
35
36 // CHECK: vaddpd -8192(%rdx), %zmm27, %zmm8
37 // CHECK:  encoding: [0x62,0x71,0xa5,0x40,0x58,0x42,0x80]
38           vaddpd -8192(%rdx), %zmm27, %zmm8
39
40 // CHECK: vaddpd -8256(%rdx), %zmm27, %zmm8
41 // CHECK:  encoding: [0x62,0x71,0xa5,0x40,0x58,0x82,0xc0,0xdf,0xff,0xff]
42           vaddpd -8256(%rdx), %zmm27, %zmm8
43
44 // CHECK: vaddpd 1016(%rdx){1to8}, %zmm27, %zmm8
45 // CHECK:  encoding: [0x62,0x71,0xa5,0x50,0x58,0x42,0x7f]
46           vaddpd 1016(%rdx){1to8}, %zmm27, %zmm8
47
48 // CHECK: vaddpd 1024(%rdx){1to8}, %zmm27, %zmm8
49 // CHECK:  encoding: [0x62,0x71,0xa5,0x50,0x58,0x82,0x00,0x04,0x00,0x00]
50           vaddpd 1024(%rdx){1to8}, %zmm27, %zmm8
51
52 // CHECK: vaddpd -1024(%rdx){1to8}, %zmm27, %zmm8
53 // CHECK:  encoding: [0x62,0x71,0xa5,0x50,0x58,0x42,0x80]
54           vaddpd -1024(%rdx){1to8}, %zmm27, %zmm8
55
56 // CHECK: vaddpd -1032(%rdx){1to8}, %zmm27, %zmm8
57 // CHECK:  encoding: [0x62,0x71,0xa5,0x50,0x58,0x82,0xf8,0xfb,0xff,0xff]
58           vaddpd -1032(%rdx){1to8}, %zmm27, %zmm8
59
60 // CHECK: vaddps %zmm2, %zmm13, %zmm18
61 // CHECK:  encoding: [0x62,0xe1,0x14,0x48,0x58,0xd2]
62           vaddps %zmm2, %zmm13, %zmm18
63
64 // CHECK: vaddps %zmm2, %zmm13, %zmm18 {%k4}
65 // CHECK:  encoding: [0x62,0xe1,0x14,0x4c,0x58,0xd2]
66           vaddps %zmm2, %zmm13, %zmm18 {%k4}
67
68 // CHECK: vaddps %zmm2, %zmm13, %zmm18 {%k4} {z}
69 // CHECK:  encoding: [0x62,0xe1,0x14,0xcc,0x58,0xd2]
70           vaddps %zmm2, %zmm13, %zmm18 {%k4} {z}
71
72 // CHECK: vaddps (%rcx), %zmm13, %zmm18
73 // CHECK:  encoding: [0x62,0xe1,0x14,0x48,0x58,0x11]
74           vaddps (%rcx), %zmm13, %zmm18
75
76 // CHECK: vaddps 291(%rax,%r14,8), %zmm13, %zmm18
77 // CHECK:  encoding: [0x62,0xa1,0x14,0x48,0x58,0x94,0xf0,0x23,0x01,0x00,0x00]
78           vaddps 291(%rax,%r14,8), %zmm13, %zmm18
79
80 // CHECK: vaddps (%rcx){1to16}, %zmm13, %zmm18
81 // CHECK:  encoding: [0x62,0xe1,0x14,0x58,0x58,0x11]
82           vaddps (%rcx){1to16}, %zmm13, %zmm18
83
84 // CHECK: vaddps 8128(%rdx), %zmm13, %zmm18
85 // CHECK:  encoding: [0x62,0xe1,0x14,0x48,0x58,0x52,0x7f]
86           vaddps 8128(%rdx), %zmm13, %zmm18
87
88 // CHECK: vaddps 8192(%rdx), %zmm13, %zmm18
89 // CHECK:  encoding: [0x62,0xe1,0x14,0x48,0x58,0x92,0x00,0x20,0x00,0x00]
90           vaddps 8192(%rdx), %zmm13, %zmm18
91
92 // CHECK: vaddps -8192(%rdx), %zmm13, %zmm18
93 // CHECK:  encoding: [0x62,0xe1,0x14,0x48,0x58,0x52,0x80]
94           vaddps -8192(%rdx), %zmm13, %zmm18
95
96 // CHECK: vaddps -8256(%rdx), %zmm13, %zmm18
97 // CHECK:  encoding: [0x62,0xe1,0x14,0x48,0x58,0x92,0xc0,0xdf,0xff,0xff]
98           vaddps -8256(%rdx), %zmm13, %zmm18
99
100 // CHECK: vaddps 508(%rdx){1to16}, %zmm13, %zmm18
101 // CHECK:  encoding: [0x62,0xe1,0x14,0x58,0x58,0x52,0x7f]
102           vaddps 508(%rdx){1to16}, %zmm13, %zmm18
103
104 // CHECK: vaddps 512(%rdx){1to16}, %zmm13, %zmm18
105 // CHECK:  encoding: [0x62,0xe1,0x14,0x58,0x58,0x92,0x00,0x02,0x00,0x00]
106           vaddps 512(%rdx){1to16}, %zmm13, %zmm18
107
108 // CHECK: vaddps -512(%rdx){1to16}, %zmm13, %zmm18
109 // CHECK:  encoding: [0x62,0xe1,0x14,0x58,0x58,0x52,0x80]
110           vaddps -512(%rdx){1to16}, %zmm13, %zmm18
111
112 // CHECK: vaddps -516(%rdx){1to16}, %zmm13, %zmm18
113 // CHECK:  encoding: [0x62,0xe1,0x14,0x58,0x58,0x92,0xfc,0xfd,0xff,0xff]
114           vaddps -516(%rdx){1to16}, %zmm13, %zmm18
115
116 // CHECK: vbroadcastsd (%rcx), %zmm30
117 // CHECK:  encoding: [0x62,0x62,0xfd,0x48,0x19,0x31]
118           vbroadcastsd (%rcx), %zmm30
119
120 // CHECK: vbroadcastsd (%rcx), %zmm30 {%k4}
121 // CHECK:  encoding: [0x62,0x62,0xfd,0x4c,0x19,0x31]
122           vbroadcastsd (%rcx), %zmm30 {%k4}
123
124 // CHECK: vbroadcastsd (%rcx), %zmm30 {%k4} {z}
125 // CHECK:  encoding: [0x62,0x62,0xfd,0xcc,0x19,0x31]
126           vbroadcastsd (%rcx), %zmm30 {%k4} {z}
127
128 // CHECK: vbroadcastsd 291(%rax,%r14,8), %zmm30
129 // CHECK:  encoding: [0x62,0x22,0xfd,0x48,0x19,0xb4,0xf0,0x23,0x01,0x00,0x00]
130           vbroadcastsd 291(%rax,%r14,8), %zmm30
131
132 // CHECK: vbroadcastsd 1016(%rdx), %zmm30
133 // CHECK:  encoding: [0x62,0x62,0xfd,0x48,0x19,0x72,0x7f]
134           vbroadcastsd 1016(%rdx), %zmm30
135
136 // CHECK: vbroadcastsd 1024(%rdx), %zmm30
137 // CHECK:  encoding: [0x62,0x62,0xfd,0x48,0x19,0xb2,0x00,0x04,0x00,0x00]
138           vbroadcastsd 1024(%rdx), %zmm30
139
140 // CHECK: vbroadcastsd -1024(%rdx), %zmm30
141 // CHECK:  encoding: [0x62,0x62,0xfd,0x48,0x19,0x72,0x80]
142           vbroadcastsd -1024(%rdx), %zmm30
143
144 // CHECK: vbroadcastsd -1032(%rdx), %zmm30
145 // CHECK:  encoding: [0x62,0x62,0xfd,0x48,0x19,0xb2,0xf8,0xfb,0xff,0xff]
146           vbroadcastsd -1032(%rdx), %zmm30
147
148 // CHECK: vbroadcastsd %xmm22, %zmm21
149 // CHECK:  encoding: [0x62,0xa2,0xfd,0x48,0x19,0xee]
150           vbroadcastsd %xmm22, %zmm21
151
152 // CHECK: vbroadcastsd %xmm22, %zmm21 {%k7}
153 // CHECK:  encoding: [0x62,0xa2,0xfd,0x4f,0x19,0xee]
154           vbroadcastsd %xmm22, %zmm21 {%k7}
155
156 // CHECK: vbroadcastsd %xmm22, %zmm21 {%k7} {z}
157 // CHECK:  encoding: [0x62,0xa2,0xfd,0xcf,0x19,0xee]
158           vbroadcastsd %xmm22, %zmm21 {%k7} {z}
159
160 // CHECK: vbroadcastss (%rcx), %zmm3
161 // CHECK:  encoding: [0x62,0xf2,0x7d,0x48,0x18,0x19]
162           vbroadcastss (%rcx), %zmm3
163
164 // CHECK: vbroadcastss (%rcx), %zmm3 {%k4}
165 // CHECK:  encoding: [0x62,0xf2,0x7d,0x4c,0x18,0x19]
166           vbroadcastss (%rcx), %zmm3 {%k4}
167
168 // CHECK: vbroadcastss (%rcx), %zmm3 {%k4} {z}
169 // CHECK:  encoding: [0x62,0xf2,0x7d,0xcc,0x18,0x19]
170           vbroadcastss (%rcx), %zmm3 {%k4} {z}
171
172 // CHECK: vbroadcastss 291(%rax,%r14,8), %zmm3
173 // CHECK:  encoding: [0x62,0xb2,0x7d,0x48,0x18,0x9c,0xf0,0x23,0x01,0x00,0x00]
174           vbroadcastss 291(%rax,%r14,8), %zmm3
175
176 // CHECK: vbroadcastss 508(%rdx), %zmm3
177 // CHECK:  encoding: [0x62,0xf2,0x7d,0x48,0x18,0x5a,0x7f]
178           vbroadcastss 508(%rdx), %zmm3
179
180 // CHECK: vbroadcastss 512(%rdx), %zmm3
181 // CHECK:  encoding: [0x62,0xf2,0x7d,0x48,0x18,0x9a,0x00,0x02,0x00,0x00]
182           vbroadcastss 512(%rdx), %zmm3
183
184 // CHECK: vbroadcastss -512(%rdx), %zmm3
185 // CHECK:  encoding: [0x62,0xf2,0x7d,0x48,0x18,0x5a,0x80]
186           vbroadcastss -512(%rdx), %zmm3
187
188 // CHECK: vbroadcastss -516(%rdx), %zmm3
189 // CHECK:  encoding: [0x62,0xf2,0x7d,0x48,0x18,0x9a,0xfc,0xfd,0xff,0xff]
190           vbroadcastss -516(%rdx), %zmm3
191
192 // CHECK: vbroadcastss %xmm18, %zmm18
193 // CHECK:  encoding: [0x62,0xa2,0x7d,0x48,0x18,0xd2]
194           vbroadcastss %xmm18, %zmm18
195
196 // CHECK: vbroadcastss %xmm18, %zmm18 {%k2}
197 // CHECK:  encoding: [0x62,0xa2,0x7d,0x4a,0x18,0xd2]
198           vbroadcastss %xmm18, %zmm18 {%k2}
199
200 // CHECK: vbroadcastss %xmm18, %zmm18 {%k2} {z}
201 // CHECK:  encoding: [0x62,0xa2,0x7d,0xca,0x18,0xd2]
202           vbroadcastss %xmm18, %zmm18 {%k2} {z}
203
204 // CHECK: vdivpd %zmm11, %zmm6, %zmm18
205 // CHECK:  encoding: [0x62,0xc1,0xcd,0x48,0x5e,0xd3]
206           vdivpd %zmm11, %zmm6, %zmm18
207
208 // CHECK: vdivpd %zmm11, %zmm6, %zmm18 {%k4}
209 // CHECK:  encoding: [0x62,0xc1,0xcd,0x4c,0x5e,0xd3]
210           vdivpd %zmm11, %zmm6, %zmm18 {%k4}
211
212 // CHECK: vdivpd %zmm11, %zmm6, %zmm18 {%k4} {z}
213 // CHECK:  encoding: [0x62,0xc1,0xcd,0xcc,0x5e,0xd3]
214           vdivpd %zmm11, %zmm6, %zmm18 {%k4} {z}
215
216 // CHECK: vdivpd (%rcx), %zmm6, %zmm18
217 // CHECK:  encoding: [0x62,0xe1,0xcd,0x48,0x5e,0x11]
218           vdivpd (%rcx), %zmm6, %zmm18
219
220 // CHECK: vdivpd 291(%rax,%r14,8), %zmm6, %zmm18
221 // CHECK:  encoding: [0x62,0xa1,0xcd,0x48,0x5e,0x94,0xf0,0x23,0x01,0x00,0x00]
222           vdivpd 291(%rax,%r14,8), %zmm6, %zmm18
223
224 // CHECK: vdivpd (%rcx){1to8}, %zmm6, %zmm18
225 // CHECK:  encoding: [0x62,0xe1,0xcd,0x58,0x5e,0x11]
226           vdivpd (%rcx){1to8}, %zmm6, %zmm18
227
228 // CHECK: vdivpd 8128(%rdx), %zmm6, %zmm18
229 // CHECK:  encoding: [0x62,0xe1,0xcd,0x48,0x5e,0x52,0x7f]
230           vdivpd 8128(%rdx), %zmm6, %zmm18
231
232 // CHECK: vdivpd 8192(%rdx), %zmm6, %zmm18
233 // CHECK:  encoding: [0x62,0xe1,0xcd,0x48,0x5e,0x92,0x00,0x20,0x00,0x00]
234           vdivpd 8192(%rdx), %zmm6, %zmm18
235
236 // CHECK: vdivpd -8192(%rdx), %zmm6, %zmm18
237 // CHECK:  encoding: [0x62,0xe1,0xcd,0x48,0x5e,0x52,0x80]
238           vdivpd -8192(%rdx), %zmm6, %zmm18
239
240 // CHECK: vdivpd -8256(%rdx), %zmm6, %zmm18
241 // CHECK:  encoding: [0x62,0xe1,0xcd,0x48,0x5e,0x92,0xc0,0xdf,0xff,0xff]
242           vdivpd -8256(%rdx), %zmm6, %zmm18
243
244 // CHECK: vdivpd 1016(%rdx){1to8}, %zmm6, %zmm18
245 // CHECK:  encoding: [0x62,0xe1,0xcd,0x58,0x5e,0x52,0x7f]
246           vdivpd 1016(%rdx){1to8}, %zmm6, %zmm18
247
248 // CHECK: vdivpd 1024(%rdx){1to8}, %zmm6, %zmm18
249 // CHECK:  encoding: [0x62,0xe1,0xcd,0x58,0x5e,0x92,0x00,0x04,0x00,0x00]
250           vdivpd 1024(%rdx){1to8}, %zmm6, %zmm18
251
252 // CHECK: vdivpd -1024(%rdx){1to8}, %zmm6, %zmm18
253 // CHECK:  encoding: [0x62,0xe1,0xcd,0x58,0x5e,0x52,0x80]
254           vdivpd -1024(%rdx){1to8}, %zmm6, %zmm18
255
256 // CHECK: vdivpd -1032(%rdx){1to8}, %zmm6, %zmm18
257 // CHECK:  encoding: [0x62,0xe1,0xcd,0x58,0x5e,0x92,0xf8,0xfb,0xff,0xff]
258           vdivpd -1032(%rdx){1to8}, %zmm6, %zmm18
259
260 // CHECK: vdivps %zmm28, %zmm23, %zmm23
261 // CHECK:  encoding: [0x62,0x81,0x44,0x40,0x5e,0xfc]
262           vdivps %zmm28, %zmm23, %zmm23
263
264 // CHECK: vdivps %zmm28, %zmm23, %zmm23 {%k2}
265 // CHECK:  encoding: [0x62,0x81,0x44,0x42,0x5e,0xfc]
266           vdivps %zmm28, %zmm23, %zmm23 {%k2}
267
268 // CHECK: vdivps %zmm28, %zmm23, %zmm23 {%k2} {z}
269 // CHECK:  encoding: [0x62,0x81,0x44,0xc2,0x5e,0xfc]
270           vdivps %zmm28, %zmm23, %zmm23 {%k2} {z}
271
272 // CHECK: vdivps (%rcx), %zmm23, %zmm23
273 // CHECK:  encoding: [0x62,0xe1,0x44,0x40,0x5e,0x39]
274           vdivps (%rcx), %zmm23, %zmm23
275
276 // CHECK: vdivps 291(%rax,%r14,8), %zmm23, %zmm23
277 // CHECK:  encoding: [0x62,0xa1,0x44,0x40,0x5e,0xbc,0xf0,0x23,0x01,0x00,0x00]
278           vdivps 291(%rax,%r14,8), %zmm23, %zmm23
279
280 // CHECK: vdivps (%rcx){1to16}, %zmm23, %zmm23
281 // CHECK:  encoding: [0x62,0xe1,0x44,0x50,0x5e,0x39]
282           vdivps (%rcx){1to16}, %zmm23, %zmm23
283
284 // CHECK: vdivps 8128(%rdx), %zmm23, %zmm23
285 // CHECK:  encoding: [0x62,0xe1,0x44,0x40,0x5e,0x7a,0x7f]
286           vdivps 8128(%rdx), %zmm23, %zmm23
287
288 // CHECK: vdivps 8192(%rdx), %zmm23, %zmm23
289 // CHECK:  encoding: [0x62,0xe1,0x44,0x40,0x5e,0xba,0x00,0x20,0x00,0x00]
290           vdivps 8192(%rdx), %zmm23, %zmm23
291
292 // CHECK: vdivps -8192(%rdx), %zmm23, %zmm23
293 // CHECK:  encoding: [0x62,0xe1,0x44,0x40,0x5e,0x7a,0x80]
294           vdivps -8192(%rdx), %zmm23, %zmm23
295
296 // CHECK: vdivps -8256(%rdx), %zmm23, %zmm23
297 // CHECK:  encoding: [0x62,0xe1,0x44,0x40,0x5e,0xba,0xc0,0xdf,0xff,0xff]
298           vdivps -8256(%rdx), %zmm23, %zmm23
299
300 // CHECK: vdivps 508(%rdx){1to16}, %zmm23, %zmm23
301 // CHECK:  encoding: [0x62,0xe1,0x44,0x50,0x5e,0x7a,0x7f]
302           vdivps 508(%rdx){1to16}, %zmm23, %zmm23
303
304 // CHECK: vdivps 512(%rdx){1to16}, %zmm23, %zmm23
305 // CHECK:  encoding: [0x62,0xe1,0x44,0x50,0x5e,0xba,0x00,0x02,0x00,0x00]
306           vdivps 512(%rdx){1to16}, %zmm23, %zmm23
307
308 // CHECK: vdivps -512(%rdx){1to16}, %zmm23, %zmm23
309 // CHECK:  encoding: [0x62,0xe1,0x44,0x50,0x5e,0x7a,0x80]
310           vdivps -512(%rdx){1to16}, %zmm23, %zmm23
311
312 // CHECK: vdivps -516(%rdx){1to16}, %zmm23, %zmm23
313 // CHECK:  encoding: [0x62,0xe1,0x44,0x50,0x5e,0xba,0xfc,0xfd,0xff,0xff]
314           vdivps -516(%rdx){1to16}, %zmm23, %zmm23
315
316 // CHECK: vmaxpd %zmm20, %zmm28, %zmm30
317 // CHECK:  encoding: [0x62,0x21,0x9d,0x40,0x5f,0xf4]
318           vmaxpd %zmm20, %zmm28, %zmm30
319
320 // CHECK: vmaxpd %zmm20, %zmm28, %zmm30 {%k1}
321 // CHECK:  encoding: [0x62,0x21,0x9d,0x41,0x5f,0xf4]
322           vmaxpd %zmm20, %zmm28, %zmm30 {%k1}
323
324 // CHECK: vmaxpd %zmm20, %zmm28, %zmm30 {%k1} {z}
325 // CHECK:  encoding: [0x62,0x21,0x9d,0xc1,0x5f,0xf4]
326           vmaxpd %zmm20, %zmm28, %zmm30 {%k1} {z}
327
328 // CHECK: vmaxpd (%rcx), %zmm28, %zmm30
329 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0x5f,0x31]
330           vmaxpd (%rcx), %zmm28, %zmm30
331
332 // CHECK: vmaxpd 291(%rax,%r14,8), %zmm28, %zmm30
333 // CHECK:  encoding: [0x62,0x21,0x9d,0x40,0x5f,0xb4,0xf0,0x23,0x01,0x00,0x00]
334           vmaxpd 291(%rax,%r14,8), %zmm28, %zmm30
335
336 // CHECK: vmaxpd (%rcx){1to8}, %zmm28, %zmm30
337 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0x5f,0x31]
338           vmaxpd (%rcx){1to8}, %zmm28, %zmm30
339
340 // CHECK: vmaxpd 8128(%rdx), %zmm28, %zmm30
341 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0x5f,0x72,0x7f]
342           vmaxpd 8128(%rdx), %zmm28, %zmm30
343
344 // CHECK: vmaxpd 8192(%rdx), %zmm28, %zmm30
345 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0x5f,0xb2,0x00,0x20,0x00,0x00]
346           vmaxpd 8192(%rdx), %zmm28, %zmm30
347
348 // CHECK: vmaxpd -8192(%rdx), %zmm28, %zmm30
349 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0x5f,0x72,0x80]
350           vmaxpd -8192(%rdx), %zmm28, %zmm30
351
352 // CHECK: vmaxpd -8256(%rdx), %zmm28, %zmm30
353 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0x5f,0xb2,0xc0,0xdf,0xff,0xff]
354           vmaxpd -8256(%rdx), %zmm28, %zmm30
355
356 // CHECK: vmaxpd 1016(%rdx){1to8}, %zmm28, %zmm30
357 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0x5f,0x72,0x7f]
358           vmaxpd 1016(%rdx){1to8}, %zmm28, %zmm30
359
360 // CHECK: vmaxpd 1024(%rdx){1to8}, %zmm28, %zmm30
361 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0x5f,0xb2,0x00,0x04,0x00,0x00]
362           vmaxpd 1024(%rdx){1to8}, %zmm28, %zmm30
363
364 // CHECK: vmaxpd -1024(%rdx){1to8}, %zmm28, %zmm30
365 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0x5f,0x72,0x80]
366           vmaxpd -1024(%rdx){1to8}, %zmm28, %zmm30
367
368 // CHECK: vmaxpd -1032(%rdx){1to8}, %zmm28, %zmm30
369 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0x5f,0xb2,0xf8,0xfb,0xff,0xff]
370           vmaxpd -1032(%rdx){1to8}, %zmm28, %zmm30
371
372 // CHECK: vmaxps %zmm20, %zmm6, %zmm25
373 // CHECK:  encoding: [0x62,0x21,0x4c,0x48,0x5f,0xcc]
374           vmaxps %zmm20, %zmm6, %zmm25
375
376 // CHECK: vmaxps %zmm20, %zmm6, %zmm25 {%k1}
377 // CHECK:  encoding: [0x62,0x21,0x4c,0x49,0x5f,0xcc]
378           vmaxps %zmm20, %zmm6, %zmm25 {%k1}
379
380 // CHECK: vmaxps %zmm20, %zmm6, %zmm25 {%k1} {z}
381 // CHECK:  encoding: [0x62,0x21,0x4c,0xc9,0x5f,0xcc]
382           vmaxps %zmm20, %zmm6, %zmm25 {%k1} {z}
383
384 // CHECK: vmaxps (%rcx), %zmm6, %zmm25
385 // CHECK:  encoding: [0x62,0x61,0x4c,0x48,0x5f,0x09]
386           vmaxps (%rcx), %zmm6, %zmm25
387
388 // CHECK: vmaxps 291(%rax,%r14,8), %zmm6, %zmm25
389 // CHECK:  encoding: [0x62,0x21,0x4c,0x48,0x5f,0x8c,0xf0,0x23,0x01,0x00,0x00]
390           vmaxps 291(%rax,%r14,8), %zmm6, %zmm25
391
392 // CHECK: vmaxps (%rcx){1to16}, %zmm6, %zmm25
393 // CHECK:  encoding: [0x62,0x61,0x4c,0x58,0x5f,0x09]
394           vmaxps (%rcx){1to16}, %zmm6, %zmm25
395
396 // CHECK: vmaxps 8128(%rdx), %zmm6, %zmm25
397 // CHECK:  encoding: [0x62,0x61,0x4c,0x48,0x5f,0x4a,0x7f]
398           vmaxps 8128(%rdx), %zmm6, %zmm25
399
400 // CHECK: vmaxps 8192(%rdx), %zmm6, %zmm25
401 // CHECK:  encoding: [0x62,0x61,0x4c,0x48,0x5f,0x8a,0x00,0x20,0x00,0x00]
402           vmaxps 8192(%rdx), %zmm6, %zmm25
403
404 // CHECK: vmaxps -8192(%rdx), %zmm6, %zmm25
405 // CHECK:  encoding: [0x62,0x61,0x4c,0x48,0x5f,0x4a,0x80]
406           vmaxps -8192(%rdx), %zmm6, %zmm25
407
408 // CHECK: vmaxps -8256(%rdx), %zmm6, %zmm25
409 // CHECK:  encoding: [0x62,0x61,0x4c,0x48,0x5f,0x8a,0xc0,0xdf,0xff,0xff]
410           vmaxps -8256(%rdx), %zmm6, %zmm25
411
412 // CHECK: vmaxps 508(%rdx){1to16}, %zmm6, %zmm25
413 // CHECK:  encoding: [0x62,0x61,0x4c,0x58,0x5f,0x4a,0x7f]
414           vmaxps 508(%rdx){1to16}, %zmm6, %zmm25
415
416 // CHECK: vmaxps 512(%rdx){1to16}, %zmm6, %zmm25
417 // CHECK:  encoding: [0x62,0x61,0x4c,0x58,0x5f,0x8a,0x00,0x02,0x00,0x00]
418           vmaxps 512(%rdx){1to16}, %zmm6, %zmm25
419
420 // CHECK: vmaxps -512(%rdx){1to16}, %zmm6, %zmm25
421 // CHECK:  encoding: [0x62,0x61,0x4c,0x58,0x5f,0x4a,0x80]
422           vmaxps -512(%rdx){1to16}, %zmm6, %zmm25
423
424 // CHECK: vmaxps -516(%rdx){1to16}, %zmm6, %zmm25
425 // CHECK:  encoding: [0x62,0x61,0x4c,0x58,0x5f,0x8a,0xfc,0xfd,0xff,0xff]
426           vmaxps -516(%rdx){1to16}, %zmm6, %zmm25
427
428 // CHECK: vminpd %zmm22, %zmm6, %zmm6
429 // CHECK:  encoding: [0x62,0xb1,0xcd,0x48,0x5d,0xf6]
430           vminpd %zmm22, %zmm6, %zmm6
431
432 // CHECK: vminpd %zmm22, %zmm6, %zmm6 {%k7}
433 // CHECK:  encoding: [0x62,0xb1,0xcd,0x4f,0x5d,0xf6]
434           vminpd %zmm22, %zmm6, %zmm6 {%k7}
435
436 // CHECK: vminpd %zmm22, %zmm6, %zmm6 {%k7} {z}
437 // CHECK:  encoding: [0x62,0xb1,0xcd,0xcf,0x5d,0xf6]
438           vminpd %zmm22, %zmm6, %zmm6 {%k7} {z}
439
440 // CHECK: vminpd (%rcx), %zmm6, %zmm6
441 // CHECK:  encoding: [0x62,0xf1,0xcd,0x48,0x5d,0x31]
442           vminpd (%rcx), %zmm6, %zmm6
443
444 // CHECK: vminpd 291(%rax,%r14,8), %zmm6, %zmm6
445 // CHECK:  encoding: [0x62,0xb1,0xcd,0x48,0x5d,0xb4,0xf0,0x23,0x01,0x00,0x00]
446           vminpd 291(%rax,%r14,8), %zmm6, %zmm6
447
448 // CHECK: vminpd (%rcx){1to8}, %zmm6, %zmm6
449 // CHECK:  encoding: [0x62,0xf1,0xcd,0x58,0x5d,0x31]
450           vminpd (%rcx){1to8}, %zmm6, %zmm6
451
452 // CHECK: vminpd 8128(%rdx), %zmm6, %zmm6
453 // CHECK:  encoding: [0x62,0xf1,0xcd,0x48,0x5d,0x72,0x7f]
454           vminpd 8128(%rdx), %zmm6, %zmm6
455
456 // CHECK: vminpd 8192(%rdx), %zmm6, %zmm6
457 // CHECK:  encoding: [0x62,0xf1,0xcd,0x48,0x5d,0xb2,0x00,0x20,0x00,0x00]
458           vminpd 8192(%rdx), %zmm6, %zmm6
459
460 // CHECK: vminpd -8192(%rdx), %zmm6, %zmm6
461 // CHECK:  encoding: [0x62,0xf1,0xcd,0x48,0x5d,0x72,0x80]
462           vminpd -8192(%rdx), %zmm6, %zmm6
463
464 // CHECK: vminpd -8256(%rdx), %zmm6, %zmm6
465 // CHECK:  encoding: [0x62,0xf1,0xcd,0x48,0x5d,0xb2,0xc0,0xdf,0xff,0xff]
466           vminpd -8256(%rdx), %zmm6, %zmm6
467
468 // CHECK: vminpd 1016(%rdx){1to8}, %zmm6, %zmm6
469 // CHECK:  encoding: [0x62,0xf1,0xcd,0x58,0x5d,0x72,0x7f]
470           vminpd 1016(%rdx){1to8}, %zmm6, %zmm6
471
472 // CHECK: vminpd 1024(%rdx){1to8}, %zmm6, %zmm6
473 // CHECK:  encoding: [0x62,0xf1,0xcd,0x58,0x5d,0xb2,0x00,0x04,0x00,0x00]
474           vminpd 1024(%rdx){1to8}, %zmm6, %zmm6
475
476 // CHECK: vminpd -1024(%rdx){1to8}, %zmm6, %zmm6
477 // CHECK:  encoding: [0x62,0xf1,0xcd,0x58,0x5d,0x72,0x80]
478           vminpd -1024(%rdx){1to8}, %zmm6, %zmm6
479
480 // CHECK: vminpd -1032(%rdx){1to8}, %zmm6, %zmm6
481 // CHECK:  encoding: [0x62,0xf1,0xcd,0x58,0x5d,0xb2,0xf8,0xfb,0xff,0xff]
482           vminpd -1032(%rdx){1to8}, %zmm6, %zmm6
483
484 // CHECK: vminps %zmm7, %zmm3, %zmm3
485 // CHECK:  encoding: [0x62,0xf1,0x64,0x48,0x5d,0xdf]
486           vminps %zmm7, %zmm3, %zmm3
487
488 // CHECK: vminps %zmm7, %zmm3, %zmm3 {%k3}
489 // CHECK:  encoding: [0x62,0xf1,0x64,0x4b,0x5d,0xdf]
490           vminps %zmm7, %zmm3, %zmm3 {%k3}
491
492 // CHECK: vminps %zmm7, %zmm3, %zmm3 {%k3} {z}
493 // CHECK:  encoding: [0x62,0xf1,0x64,0xcb,0x5d,0xdf]
494           vminps %zmm7, %zmm3, %zmm3 {%k3} {z}
495
496 // CHECK: vminps (%rcx), %zmm3, %zmm3
497 // CHECK:  encoding: [0x62,0xf1,0x64,0x48,0x5d,0x19]
498           vminps (%rcx), %zmm3, %zmm3
499
500 // CHECK: vminps 291(%rax,%r14,8), %zmm3, %zmm3
501 // CHECK:  encoding: [0x62,0xb1,0x64,0x48,0x5d,0x9c,0xf0,0x23,0x01,0x00,0x00]
502           vminps 291(%rax,%r14,8), %zmm3, %zmm3
503
504 // CHECK: vminps (%rcx){1to16}, %zmm3, %zmm3
505 // CHECK:  encoding: [0x62,0xf1,0x64,0x58,0x5d,0x19]
506           vminps (%rcx){1to16}, %zmm3, %zmm3
507
508 // CHECK: vminps 8128(%rdx), %zmm3, %zmm3
509 // CHECK:  encoding: [0x62,0xf1,0x64,0x48,0x5d,0x5a,0x7f]
510           vminps 8128(%rdx), %zmm3, %zmm3
511
512 // CHECK: vminps 8192(%rdx), %zmm3, %zmm3
513 // CHECK:  encoding: [0x62,0xf1,0x64,0x48,0x5d,0x9a,0x00,0x20,0x00,0x00]
514           vminps 8192(%rdx), %zmm3, %zmm3
515
516 // CHECK: vminps -8192(%rdx), %zmm3, %zmm3
517 // CHECK:  encoding: [0x62,0xf1,0x64,0x48,0x5d,0x5a,0x80]
518           vminps -8192(%rdx), %zmm3, %zmm3
519
520 // CHECK: vminps -8256(%rdx), %zmm3, %zmm3
521 // CHECK:  encoding: [0x62,0xf1,0x64,0x48,0x5d,0x9a,0xc0,0xdf,0xff,0xff]
522           vminps -8256(%rdx), %zmm3, %zmm3
523
524 // CHECK: vminps 508(%rdx){1to16}, %zmm3, %zmm3
525 // CHECK:  encoding: [0x62,0xf1,0x64,0x58,0x5d,0x5a,0x7f]
526           vminps 508(%rdx){1to16}, %zmm3, %zmm3
527
528 // CHECK: vminps 512(%rdx){1to16}, %zmm3, %zmm3
529 // CHECK:  encoding: [0x62,0xf1,0x64,0x58,0x5d,0x9a,0x00,0x02,0x00,0x00]
530           vminps 512(%rdx){1to16}, %zmm3, %zmm3
531
532 // CHECK: vminps -512(%rdx){1to16}, %zmm3, %zmm3
533 // CHECK:  encoding: [0x62,0xf1,0x64,0x58,0x5d,0x5a,0x80]
534           vminps -512(%rdx){1to16}, %zmm3, %zmm3
535
536 // CHECK: vminps -516(%rdx){1to16}, %zmm3, %zmm3
537 // CHECK:  encoding: [0x62,0xf1,0x64,0x58,0x5d,0x9a,0xfc,0xfd,0xff,0xff]
538           vminps -516(%rdx){1to16}, %zmm3, %zmm3
539
540 // CHECK: vmovapd %zmm14, %zmm7
541 // CHECK:  encoding: [0x62,0xd1,0xfd,0x48,0x28,0xfe]
542           vmovapd %zmm14, %zmm7
543
544 // CHECK: vmovapd %zmm14, %zmm7 {%k5}
545 // CHECK:  encoding: [0x62,0xd1,0xfd,0x4d,0x28,0xfe]
546           vmovapd %zmm14, %zmm7 {%k5}
547
548 // CHECK: vmovapd %zmm14, %zmm7 {%k5} {z}
549 // CHECK:  encoding: [0x62,0xd1,0xfd,0xcd,0x28,0xfe]
550           vmovapd %zmm14, %zmm7 {%k5} {z}
551
552 // CHECK: vmovapd (%rcx), %zmm7
553 // CHECK:  encoding: [0x62,0xf1,0xfd,0x48,0x28,0x39]
554           vmovapd (%rcx), %zmm7
555
556 // CHECK: vmovapd 291(%rax,%r14,8), %zmm7
557 // CHECK:  encoding: [0x62,0xb1,0xfd,0x48,0x28,0xbc,0xf0,0x23,0x01,0x00,0x00]
558           vmovapd 291(%rax,%r14,8), %zmm7
559
560 // CHECK: vmovapd 8128(%rdx), %zmm7
561 // CHECK:  encoding: [0x62,0xf1,0xfd,0x48,0x28,0x7a,0x7f]
562           vmovapd 8128(%rdx), %zmm7
563
564 // CHECK: vmovapd 8192(%rdx), %zmm7
565 // CHECK:  encoding: [0x62,0xf1,0xfd,0x48,0x28,0xba,0x00,0x20,0x00,0x00]
566           vmovapd 8192(%rdx), %zmm7
567
568 // CHECK: vmovapd -8192(%rdx), %zmm7
569 // CHECK:  encoding: [0x62,0xf1,0xfd,0x48,0x28,0x7a,0x80]
570           vmovapd -8192(%rdx), %zmm7
571
572 // CHECK: vmovapd -8256(%rdx), %zmm7
573 // CHECK:  encoding: [0x62,0xf1,0xfd,0x48,0x28,0xba,0xc0,0xdf,0xff,0xff]
574           vmovapd -8256(%rdx), %zmm7
575
576 // CHECK: vmovaps %zmm9, %zmm5
577 // CHECK:  encoding: [0x62,0xd1,0x7c,0x48,0x28,0xe9]
578           vmovaps %zmm9, %zmm5
579
580 // CHECK: vmovaps %zmm9, %zmm5 {%k1}
581 // CHECK:  encoding: [0x62,0xd1,0x7c,0x49,0x28,0xe9]
582           vmovaps %zmm9, %zmm5 {%k1}
583
584 // CHECK: vmovaps %zmm9, %zmm5 {%k1} {z}
585 // CHECK:  encoding: [0x62,0xd1,0x7c,0xc9,0x28,0xe9]
586           vmovaps %zmm9, %zmm5 {%k1} {z}
587
588 // CHECK: vmovaps (%rcx), %zmm5
589 // CHECK:  encoding: [0x62,0xf1,0x7c,0x48,0x28,0x29]
590           vmovaps (%rcx), %zmm5
591
592 // CHECK: vmovaps 291(%rax,%r14,8), %zmm5
593 // CHECK:  encoding: [0x62,0xb1,0x7c,0x48,0x28,0xac,0xf0,0x23,0x01,0x00,0x00]
594           vmovaps 291(%rax,%r14,8), %zmm5
595
596 // CHECK: vmovaps 8128(%rdx), %zmm5
597 // CHECK:  encoding: [0x62,0xf1,0x7c,0x48,0x28,0x6a,0x7f]
598           vmovaps 8128(%rdx), %zmm5
599
600 // CHECK: vmovaps 8192(%rdx), %zmm5
601 // CHECK:  encoding: [0x62,0xf1,0x7c,0x48,0x28,0xaa,0x00,0x20,0x00,0x00]
602           vmovaps 8192(%rdx), %zmm5
603
604 // CHECK: vmovaps -8192(%rdx), %zmm5
605 // CHECK:  encoding: [0x62,0xf1,0x7c,0x48,0x28,0x6a,0x80]
606           vmovaps -8192(%rdx), %zmm5
607
608 // CHECK: vmovaps -8256(%rdx), %zmm5
609 // CHECK:  encoding: [0x62,0xf1,0x7c,0x48,0x28,0xaa,0xc0,0xdf,0xff,0xff]
610           vmovaps -8256(%rdx), %zmm5
611
612 // CHECK: vmovdqa32 %zmm18, %zmm22
613 // CHECK:  encoding: [0x62,0xa1,0x7d,0x48,0x6f,0xf2]
614           vmovdqa32 %zmm18, %zmm22
615
616 // CHECK: vmovdqa32 %zmm18, %zmm22 {%k6}
617 // CHECK:  encoding: [0x62,0xa1,0x7d,0x4e,0x6f,0xf2]
618           vmovdqa32 %zmm18, %zmm22 {%k6}
619
620 // CHECK: vmovdqa32 %zmm18, %zmm22 {%k6} {z}
621 // CHECK:  encoding: [0x62,0xa1,0x7d,0xce,0x6f,0xf2]
622           vmovdqa32 %zmm18, %zmm22 {%k6} {z}
623
624 // CHECK: vmovdqa32 (%rcx), %zmm22
625 // CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x6f,0x31]
626           vmovdqa32 (%rcx), %zmm22
627
628 // CHECK: vmovdqa32 291(%rax,%r14,8), %zmm22
629 // CHECK:  encoding: [0x62,0xa1,0x7d,0x48,0x6f,0xb4,0xf0,0x23,0x01,0x00,0x00]
630           vmovdqa32 291(%rax,%r14,8), %zmm22
631
632 // CHECK: vmovdqa32 8128(%rdx), %zmm22
633 // CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x6f,0x72,0x7f]
634           vmovdqa32 8128(%rdx), %zmm22
635
636 // CHECK: vmovdqa32 8192(%rdx), %zmm22
637 // CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x6f,0xb2,0x00,0x20,0x00,0x00]
638           vmovdqa32 8192(%rdx), %zmm22
639
640 // CHECK: vmovdqa32 -8192(%rdx), %zmm22
641 // CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x6f,0x72,0x80]
642           vmovdqa32 -8192(%rdx), %zmm22
643
644 // CHECK: vmovdqa32 -8256(%rdx), %zmm22
645 // CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x6f,0xb2,0xc0,0xdf,0xff,0xff]
646           vmovdqa32 -8256(%rdx), %zmm22
647
648 // CHECK: vmovdqa64 %zmm12, %zmm22
649 // CHECK:  encoding: [0x62,0xc1,0xfd,0x48,0x6f,0xf4]
650           vmovdqa64 %zmm12, %zmm22
651
652 // CHECK: vmovdqa64 %zmm12, %zmm22 {%k5}
653 // CHECK:  encoding: [0x62,0xc1,0xfd,0x4d,0x6f,0xf4]
654           vmovdqa64 %zmm12, %zmm22 {%k5}
655
656 // CHECK: vmovdqa64 %zmm12, %zmm22 {%k5} {z}
657 // CHECK:  encoding: [0x62,0xc1,0xfd,0xcd,0x6f,0xf4]
658           vmovdqa64 %zmm12, %zmm22 {%k5} {z}
659
660 // CHECK: vmovdqa64 (%rcx), %zmm22
661 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x6f,0x31]
662           vmovdqa64 (%rcx), %zmm22
663
664 // CHECK: vmovdqa64 291(%rax,%r14,8), %zmm22
665 // CHECK:  encoding: [0x62,0xa1,0xfd,0x48,0x6f,0xb4,0xf0,0x23,0x01,0x00,0x00]
666           vmovdqa64 291(%rax,%r14,8), %zmm22
667
668 // CHECK: vmovdqa64 8128(%rdx), %zmm22
669 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x6f,0x72,0x7f]
670           vmovdqa64 8128(%rdx), %zmm22
671
672 // CHECK: vmovdqa64 8192(%rdx), %zmm22
673 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x6f,0xb2,0x00,0x20,0x00,0x00]
674           vmovdqa64 8192(%rdx), %zmm22
675
676 // CHECK: vmovdqa64 -8192(%rdx), %zmm22
677 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x6f,0x72,0x80]
678           vmovdqa64 -8192(%rdx), %zmm22
679
680 // CHECK: vmovdqa64 -8256(%rdx), %zmm22
681 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x6f,0xb2,0xc0,0xdf,0xff,0xff]
682           vmovdqa64 -8256(%rdx), %zmm22
683
684 // CHECK: vmovdqu32 %zmm24, %zmm5
685 // CHECK:  encoding: [0x62,0x91,0x7e,0x48,0x6f,0xe8]
686           vmovdqu32 %zmm24, %zmm5
687
688 // CHECK: vmovdqu32 %zmm24, %zmm5 {%k5}
689 // CHECK:  encoding: [0x62,0x91,0x7e,0x4d,0x6f,0xe8]
690           vmovdqu32 %zmm24, %zmm5 {%k5}
691
692 // CHECK: vmovdqu32 %zmm24, %zmm5 {%k5} {z}
693 // CHECK:  encoding: [0x62,0x91,0x7e,0xcd,0x6f,0xe8]
694           vmovdqu32 %zmm24, %zmm5 {%k5} {z}
695
696 // CHECK: vmovdqu32 (%rcx), %zmm5
697 // CHECK:  encoding: [0x62,0xf1,0x7e,0x48,0x6f,0x29]
698           vmovdqu32 (%rcx), %zmm5
699
700 // CHECK: vmovdqu32 291(%rax,%r14,8), %zmm5
701 // CHECK:  encoding: [0x62,0xb1,0x7e,0x48,0x6f,0xac,0xf0,0x23,0x01,0x00,0x00]
702           vmovdqu32 291(%rax,%r14,8), %zmm5
703
704 // CHECK: vmovdqu32 8128(%rdx), %zmm5
705 // CHECK:  encoding: [0x62,0xf1,0x7e,0x48,0x6f,0x6a,0x7f]
706           vmovdqu32 8128(%rdx), %zmm5
707
708 // CHECK: vmovdqu32 8192(%rdx), %zmm5
709 // CHECK:  encoding: [0x62,0xf1,0x7e,0x48,0x6f,0xaa,0x00,0x20,0x00,0x00]
710           vmovdqu32 8192(%rdx), %zmm5
711
712 // CHECK: vmovdqu32 -8192(%rdx), %zmm5
713 // CHECK:  encoding: [0x62,0xf1,0x7e,0x48,0x6f,0x6a,0x80]
714           vmovdqu32 -8192(%rdx), %zmm5
715
716 // CHECK: vmovdqu32 -8256(%rdx), %zmm5
717 // CHECK:  encoding: [0x62,0xf1,0x7e,0x48,0x6f,0xaa,0xc0,0xdf,0xff,0xff]
718           vmovdqu32 -8256(%rdx), %zmm5
719
720 // CHECK: vmovdqu64 %zmm15, %zmm6
721 // CHECK:  encoding: [0x62,0xd1,0xfe,0x48,0x6f,0xf7]
722           vmovdqu64 %zmm15, %zmm6
723
724 // CHECK: vmovdqu64 %zmm15, %zmm6 {%k3}
725 // CHECK:  encoding: [0x62,0xd1,0xfe,0x4b,0x6f,0xf7]
726           vmovdqu64 %zmm15, %zmm6 {%k3}
727
728 // CHECK: vmovdqu64 %zmm15, %zmm6 {%k3} {z}
729 // CHECK:  encoding: [0x62,0xd1,0xfe,0xcb,0x6f,0xf7]
730           vmovdqu64 %zmm15, %zmm6 {%k3} {z}
731
732 // CHECK: vmovdqu64 (%rcx), %zmm6
733 // CHECK:  encoding: [0x62,0xf1,0xfe,0x48,0x6f,0x31]
734           vmovdqu64 (%rcx), %zmm6
735
736 // CHECK: vmovdqu64 291(%rax,%r14,8), %zmm6
737 // CHECK:  encoding: [0x62,0xb1,0xfe,0x48,0x6f,0xb4,0xf0,0x23,0x01,0x00,0x00]
738           vmovdqu64 291(%rax,%r14,8), %zmm6
739
740 // CHECK: vmovdqu64 8128(%rdx), %zmm6
741 // CHECK:  encoding: [0x62,0xf1,0xfe,0x48,0x6f,0x72,0x7f]
742           vmovdqu64 8128(%rdx), %zmm6
743
744 // CHECK: vmovdqu64 8192(%rdx), %zmm6
745 // CHECK:  encoding: [0x62,0xf1,0xfe,0x48,0x6f,0xb2,0x00,0x20,0x00,0x00]
746           vmovdqu64 8192(%rdx), %zmm6
747
748 // CHECK: vmovdqu64 -8192(%rdx), %zmm6
749 // CHECK:  encoding: [0x62,0xf1,0xfe,0x48,0x6f,0x72,0x80]
750           vmovdqu64 -8192(%rdx), %zmm6
751
752 // CHECK: vmovdqu64 -8256(%rdx), %zmm6
753 // CHECK:  encoding: [0x62,0xf1,0xfe,0x48,0x6f,0xb2,0xc0,0xdf,0xff,0xff]
754           vmovdqu64 -8256(%rdx), %zmm6
755
756 // CHECK: vmovntdq %zmm24, (%rcx)
757 // CHECK:  encoding: [0x62,0x61,0x7d,0x48,0xe7,0x01]
758           vmovntdq %zmm24, (%rcx)
759
760 // CHECK: vmovntdq %zmm24, 291(%rax,%r14,8)
761 // CHECK:  encoding: [0x62,0x21,0x7d,0x48,0xe7,0x84,0xf0,0x23,0x01,0x00,0x00]
762           vmovntdq %zmm24, 291(%rax,%r14,8)
763
764 // CHECK: vmovntdq %zmm24, 8128(%rdx)
765 // CHECK:  encoding: [0x62,0x61,0x7d,0x48,0xe7,0x42,0x7f]
766           vmovntdq %zmm24, 8128(%rdx)
767
768 // CHECK: vmovntdq %zmm24, 8192(%rdx)
769 // CHECK:  encoding: [0x62,0x61,0x7d,0x48,0xe7,0x82,0x00,0x20,0x00,0x00]
770           vmovntdq %zmm24, 8192(%rdx)
771
772 // CHECK: vmovntdq %zmm24, -8192(%rdx)
773 // CHECK:  encoding: [0x62,0x61,0x7d,0x48,0xe7,0x42,0x80]
774           vmovntdq %zmm24, -8192(%rdx)
775
776 // CHECK: vmovntdq %zmm24, -8256(%rdx)
777 // CHECK:  encoding: [0x62,0x61,0x7d,0x48,0xe7,0x82,0xc0,0xdf,0xff,0xff]
778           vmovntdq %zmm24, -8256(%rdx)
779
780 // CHECK: vmovntdqa (%rcx), %zmm17
781 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x2a,0x09]
782           vmovntdqa (%rcx), %zmm17
783
784 // CHECK: vmovntdqa 291(%rax,%r14,8), %zmm17
785 // CHECK:  encoding: [0x62,0xa2,0x7d,0x48,0x2a,0x8c,0xf0,0x23,0x01,0x00,0x00]
786           vmovntdqa 291(%rax,%r14,8), %zmm17
787
788 // CHECK: vmovntdqa 8128(%rdx), %zmm17
789 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x2a,0x4a,0x7f]
790           vmovntdqa 8128(%rdx), %zmm17
791
792 // CHECK: vmovntdqa 8192(%rdx), %zmm17
793 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x2a,0x8a,0x00,0x20,0x00,0x00]
794           vmovntdqa 8192(%rdx), %zmm17
795
796 // CHECK: vmovntdqa -8192(%rdx), %zmm17
797 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x2a,0x4a,0x80]
798           vmovntdqa -8192(%rdx), %zmm17
799
800 // CHECK: vmovntdqa -8256(%rdx), %zmm17
801 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x2a,0x8a,0xc0,0xdf,0xff,0xff]
802           vmovntdqa -8256(%rdx), %zmm17
803
804 // CHECK: vmovntpd %zmm17, (%rcx)
805 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x2b,0x09]
806           vmovntpd %zmm17, (%rcx)
807
808 // CHECK: vmovntpd %zmm17, 291(%rax,%r14,8)
809 // CHECK:  encoding: [0x62,0xa1,0xfd,0x48,0x2b,0x8c,0xf0,0x23,0x01,0x00,0x00]
810           vmovntpd %zmm17, 291(%rax,%r14,8)
811
812 // CHECK: vmovntpd %zmm17, 8128(%rdx)
813 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x2b,0x4a,0x7f]
814           vmovntpd %zmm17, 8128(%rdx)
815
816 // CHECK: vmovntpd %zmm17, 8192(%rdx)
817 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x2b,0x8a,0x00,0x20,0x00,0x00]
818           vmovntpd %zmm17, 8192(%rdx)
819
820 // CHECK: vmovntpd %zmm17, -8192(%rdx)
821 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x2b,0x4a,0x80]
822           vmovntpd %zmm17, -8192(%rdx)
823
824 // CHECK: vmovntpd %zmm17, -8256(%rdx)
825 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x2b,0x8a,0xc0,0xdf,0xff,0xff]
826           vmovntpd %zmm17, -8256(%rdx)
827
828 // CHECK: vmovntps %zmm5, (%rcx)
829 // CHECK:  encoding: [0x62,0xf1,0x7c,0x48,0x2b,0x29]
830           vmovntps %zmm5, (%rcx)
831
832 // CHECK: vmovntps %zmm5, 291(%rax,%r14,8)
833 // CHECK:  encoding: [0x62,0xb1,0x7c,0x48,0x2b,0xac,0xf0,0x23,0x01,0x00,0x00]
834           vmovntps %zmm5, 291(%rax,%r14,8)
835
836 // CHECK: vmovntps %zmm5, 8128(%rdx)
837 // CHECK:  encoding: [0x62,0xf1,0x7c,0x48,0x2b,0x6a,0x7f]
838           vmovntps %zmm5, 8128(%rdx)
839
840 // CHECK: vmovntps %zmm5, 8192(%rdx)
841 // CHECK:  encoding: [0x62,0xf1,0x7c,0x48,0x2b,0xaa,0x00,0x20,0x00,0x00]
842           vmovntps %zmm5, 8192(%rdx)
843
844 // CHECK: vmovntps %zmm5, -8192(%rdx)
845 // CHECK:  encoding: [0x62,0xf1,0x7c,0x48,0x2b,0x6a,0x80]
846           vmovntps %zmm5, -8192(%rdx)
847
848 // CHECK: vmovntps %zmm5, -8256(%rdx)
849 // CHECK:  encoding: [0x62,0xf1,0x7c,0x48,0x2b,0xaa,0xc0,0xdf,0xff,0xff]
850           vmovntps %zmm5, -8256(%rdx)
851
852 // CHECK: vmovupd %zmm9, %zmm27
853 // CHECK:  encoding: [0x62,0x41,0xfd,0x48,0x10,0xd9]
854           vmovupd %zmm9, %zmm27
855
856 // CHECK: vmovupd %zmm9, %zmm27 {%k2}
857 // CHECK:  encoding: [0x62,0x41,0xfd,0x4a,0x10,0xd9]
858           vmovupd %zmm9, %zmm27 {%k2}
859
860 // CHECK: vmovupd %zmm9, %zmm27 {%k2} {z}
861 // CHECK:  encoding: [0x62,0x41,0xfd,0xca,0x10,0xd9]
862           vmovupd %zmm9, %zmm27 {%k2} {z}
863
864 // CHECK: vmovupd (%rcx), %zmm27
865 // CHECK:  encoding: [0x62,0x61,0xfd,0x48,0x10,0x19]
866           vmovupd (%rcx), %zmm27
867
868 // CHECK: vmovupd 291(%rax,%r14,8), %zmm27
869 // CHECK:  encoding: [0x62,0x21,0xfd,0x48,0x10,0x9c,0xf0,0x23,0x01,0x00,0x00]
870           vmovupd 291(%rax,%r14,8), %zmm27
871
872 // CHECK: vmovupd 8128(%rdx), %zmm27
873 // CHECK:  encoding: [0x62,0x61,0xfd,0x48,0x10,0x5a,0x7f]
874           vmovupd 8128(%rdx), %zmm27
875
876 // CHECK: vmovupd 8192(%rdx), %zmm27
877 // CHECK:  encoding: [0x62,0x61,0xfd,0x48,0x10,0x9a,0x00,0x20,0x00,0x00]
878           vmovupd 8192(%rdx), %zmm27
879
880 // CHECK: vmovupd -8192(%rdx), %zmm27
881 // CHECK:  encoding: [0x62,0x61,0xfd,0x48,0x10,0x5a,0x80]
882           vmovupd -8192(%rdx), %zmm27
883
884 // CHECK: vmovupd -8256(%rdx), %zmm27
885 // CHECK:  encoding: [0x62,0x61,0xfd,0x48,0x10,0x9a,0xc0,0xdf,0xff,0xff]
886           vmovupd -8256(%rdx), %zmm27
887
888 // CHECK: vmovups %zmm22, %zmm22
889 // CHECK:  encoding: [0x62,0xa1,0x7c,0x48,0x10,0xf6]
890           vmovups %zmm22, %zmm22
891
892 // CHECK: vmovups %zmm22, %zmm22 {%k3}
893 // CHECK:  encoding: [0x62,0xa1,0x7c,0x4b,0x10,0xf6]
894           vmovups %zmm22, %zmm22 {%k3}
895
896 // CHECK: vmovups %zmm22, %zmm22 {%k3} {z}
897 // CHECK:  encoding: [0x62,0xa1,0x7c,0xcb,0x10,0xf6]
898           vmovups %zmm22, %zmm22 {%k3} {z}
899
900 // CHECK: vmovups (%rcx), %zmm22
901 // CHECK:  encoding: [0x62,0xe1,0x7c,0x48,0x10,0x31]
902           vmovups (%rcx), %zmm22
903
904 // CHECK: vmovups 291(%rax,%r14,8), %zmm22
905 // CHECK:  encoding: [0x62,0xa1,0x7c,0x48,0x10,0xb4,0xf0,0x23,0x01,0x00,0x00]
906           vmovups 291(%rax,%r14,8), %zmm22
907
908 // CHECK: vmovups 8128(%rdx), %zmm22
909 // CHECK:  encoding: [0x62,0xe1,0x7c,0x48,0x10,0x72,0x7f]
910           vmovups 8128(%rdx), %zmm22
911
912 // CHECK: vmovups 8192(%rdx), %zmm22
913 // CHECK:  encoding: [0x62,0xe1,0x7c,0x48,0x10,0xb2,0x00,0x20,0x00,0x00]
914           vmovups 8192(%rdx), %zmm22
915
916 // CHECK: vmovups -8192(%rdx), %zmm22
917 // CHECK:  encoding: [0x62,0xe1,0x7c,0x48,0x10,0x72,0x80]
918           vmovups -8192(%rdx), %zmm22
919
920 // CHECK: vmovups -8256(%rdx), %zmm22
921 // CHECK:  encoding: [0x62,0xe1,0x7c,0x48,0x10,0xb2,0xc0,0xdf,0xff,0xff]
922           vmovups -8256(%rdx), %zmm22
923
924 // CHECK: vmulpd %zmm23, %zmm4, %zmm24
925 // CHECK:  encoding: [0x62,0x21,0xdd,0x48,0x59,0xc7]
926           vmulpd %zmm23, %zmm4, %zmm24
927
928 // CHECK: vmulpd %zmm23, %zmm4, %zmm24 {%k6}
929 // CHECK:  encoding: [0x62,0x21,0xdd,0x4e,0x59,0xc7]
930           vmulpd %zmm23, %zmm4, %zmm24 {%k6}
931
932 // CHECK: vmulpd %zmm23, %zmm4, %zmm24 {%k6} {z}
933 // CHECK:  encoding: [0x62,0x21,0xdd,0xce,0x59,0xc7]
934           vmulpd %zmm23, %zmm4, %zmm24 {%k6} {z}
935
936 // CHECK: vmulpd (%rcx), %zmm4, %zmm24
937 // CHECK:  encoding: [0x62,0x61,0xdd,0x48,0x59,0x01]
938           vmulpd (%rcx), %zmm4, %zmm24
939
940 // CHECK: vmulpd 291(%rax,%r14,8), %zmm4, %zmm24
941 // CHECK:  encoding: [0x62,0x21,0xdd,0x48,0x59,0x84,0xf0,0x23,0x01,0x00,0x00]
942           vmulpd 291(%rax,%r14,8), %zmm4, %zmm24
943
944 // CHECK: vmulpd (%rcx){1to8}, %zmm4, %zmm24
945 // CHECK:  encoding: [0x62,0x61,0xdd,0x58,0x59,0x01]
946           vmulpd (%rcx){1to8}, %zmm4, %zmm24
947
948 // CHECK: vmulpd 8128(%rdx), %zmm4, %zmm24
949 // CHECK:  encoding: [0x62,0x61,0xdd,0x48,0x59,0x42,0x7f]
950           vmulpd 8128(%rdx), %zmm4, %zmm24
951
952 // CHECK: vmulpd 8192(%rdx), %zmm4, %zmm24
953 // CHECK:  encoding: [0x62,0x61,0xdd,0x48,0x59,0x82,0x00,0x20,0x00,0x00]
954           vmulpd 8192(%rdx), %zmm4, %zmm24
955
956 // CHECK: vmulpd -8192(%rdx), %zmm4, %zmm24
957 // CHECK:  encoding: [0x62,0x61,0xdd,0x48,0x59,0x42,0x80]
958           vmulpd -8192(%rdx), %zmm4, %zmm24
959
960 // CHECK: vmulpd -8256(%rdx), %zmm4, %zmm24
961 // CHECK:  encoding: [0x62,0x61,0xdd,0x48,0x59,0x82,0xc0,0xdf,0xff,0xff]
962           vmulpd -8256(%rdx), %zmm4, %zmm24
963
964 // CHECK: vmulpd 1016(%rdx){1to8}, %zmm4, %zmm24
965 // CHECK:  encoding: [0x62,0x61,0xdd,0x58,0x59,0x42,0x7f]
966           vmulpd 1016(%rdx){1to8}, %zmm4, %zmm24
967
968 // CHECK: vmulpd 1024(%rdx){1to8}, %zmm4, %zmm24
969 // CHECK:  encoding: [0x62,0x61,0xdd,0x58,0x59,0x82,0x00,0x04,0x00,0x00]
970           vmulpd 1024(%rdx){1to8}, %zmm4, %zmm24
971
972 // CHECK: vmulpd -1024(%rdx){1to8}, %zmm4, %zmm24
973 // CHECK:  encoding: [0x62,0x61,0xdd,0x58,0x59,0x42,0x80]
974           vmulpd -1024(%rdx){1to8}, %zmm4, %zmm24
975
976 // CHECK: vmulpd -1032(%rdx){1to8}, %zmm4, %zmm24
977 // CHECK:  encoding: [0x62,0x61,0xdd,0x58,0x59,0x82,0xf8,0xfb,0xff,0xff]
978           vmulpd -1032(%rdx){1to8}, %zmm4, %zmm24
979
980 // CHECK: vmulps %zmm24, %zmm6, %zmm3
981 // CHECK:  encoding: [0x62,0x91,0x4c,0x48,0x59,0xd8]
982           vmulps %zmm24, %zmm6, %zmm3
983
984 // CHECK: vmulps %zmm24, %zmm6, %zmm3 {%k4}
985 // CHECK:  encoding: [0x62,0x91,0x4c,0x4c,0x59,0xd8]
986           vmulps %zmm24, %zmm6, %zmm3 {%k4}
987
988 // CHECK: vmulps %zmm24, %zmm6, %zmm3 {%k4} {z}
989 // CHECK:  encoding: [0x62,0x91,0x4c,0xcc,0x59,0xd8]
990           vmulps %zmm24, %zmm6, %zmm3 {%k4} {z}
991
992 // CHECK: vmulps (%rcx), %zmm6, %zmm3
993 // CHECK:  encoding: [0x62,0xf1,0x4c,0x48,0x59,0x19]
994           vmulps (%rcx), %zmm6, %zmm3
995
996 // CHECK: vmulps 291(%rax,%r14,8), %zmm6, %zmm3
997 // CHECK:  encoding: [0x62,0xb1,0x4c,0x48,0x59,0x9c,0xf0,0x23,0x01,0x00,0x00]
998           vmulps 291(%rax,%r14,8), %zmm6, %zmm3
999
1000 // CHECK: vmulps (%rcx){1to16}, %zmm6, %zmm3
1001 // CHECK:  encoding: [0x62,0xf1,0x4c,0x58,0x59,0x19]
1002           vmulps (%rcx){1to16}, %zmm6, %zmm3
1003
1004 // CHECK: vmulps 8128(%rdx), %zmm6, %zmm3
1005 // CHECK:  encoding: [0x62,0xf1,0x4c,0x48,0x59,0x5a,0x7f]
1006           vmulps 8128(%rdx), %zmm6, %zmm3
1007
1008 // CHECK: vmulps 8192(%rdx), %zmm6, %zmm3
1009 // CHECK:  encoding: [0x62,0xf1,0x4c,0x48,0x59,0x9a,0x00,0x20,0x00,0x00]
1010           vmulps 8192(%rdx), %zmm6, %zmm3
1011
1012 // CHECK: vmulps -8192(%rdx), %zmm6, %zmm3
1013 // CHECK:  encoding: [0x62,0xf1,0x4c,0x48,0x59,0x5a,0x80]
1014           vmulps -8192(%rdx), %zmm6, %zmm3
1015
1016 // CHECK: vmulps -8256(%rdx), %zmm6, %zmm3
1017 // CHECK:  encoding: [0x62,0xf1,0x4c,0x48,0x59,0x9a,0xc0,0xdf,0xff,0xff]
1018           vmulps -8256(%rdx), %zmm6, %zmm3
1019
1020 // CHECK: vmulps 508(%rdx){1to16}, %zmm6, %zmm3
1021 // CHECK:  encoding: [0x62,0xf1,0x4c,0x58,0x59,0x5a,0x7f]
1022           vmulps 508(%rdx){1to16}, %zmm6, %zmm3
1023
1024 // CHECK: vmulps 512(%rdx){1to16}, %zmm6, %zmm3
1025 // CHECK:  encoding: [0x62,0xf1,0x4c,0x58,0x59,0x9a,0x00,0x02,0x00,0x00]
1026           vmulps 512(%rdx){1to16}, %zmm6, %zmm3
1027
1028 // CHECK: vmulps -512(%rdx){1to16}, %zmm6, %zmm3
1029 // CHECK:  encoding: [0x62,0xf1,0x4c,0x58,0x59,0x5a,0x80]
1030           vmulps -512(%rdx){1to16}, %zmm6, %zmm3
1031
1032 // CHECK: vmulps -516(%rdx){1to16}, %zmm6, %zmm3
1033 // CHECK:  encoding: [0x62,0xf1,0x4c,0x58,0x59,0x9a,0xfc,0xfd,0xff,0xff]
1034           vmulps -516(%rdx){1to16}, %zmm6, %zmm3
1035
1036 // CHECK: vpabsd %zmm14, %zmm15
1037 // CHECK:  encoding: [0x62,0x52,0x7d,0x48,0x1e,0xfe]
1038           vpabsd %zmm14, %zmm15
1039
1040 // CHECK: vpabsd %zmm14, %zmm15 {%k6}
1041 // CHECK:  encoding: [0x62,0x52,0x7d,0x4e,0x1e,0xfe]
1042           vpabsd %zmm14, %zmm15 {%k6}
1043
1044 // CHECK: vpabsd %zmm14, %zmm15 {%k6} {z}
1045 // CHECK:  encoding: [0x62,0x52,0x7d,0xce,0x1e,0xfe]
1046           vpabsd %zmm14, %zmm15 {%k6} {z}
1047
1048 // CHECK: vpabsd (%rcx), %zmm15
1049 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x1e,0x39]
1050           vpabsd (%rcx), %zmm15
1051
1052 // CHECK: vpabsd (%rcx), %zmm15 {%k1}
1053 // CHECK:  encoding: [0x62,0x72,0x7d,0x49,0x1e,0x39]
1054           vpabsd (%rcx), %zmm15 {%k1}
1055
1056 // CHECK: vpabsd (%rcx), %zmm15 {%k1} {z}
1057 // CHECK:  encoding: [0x62,0x72,0x7d,0xc9,0x1e,0x39]
1058           vpabsd (%rcx), %zmm15 {%k1} {z}
1059
1060 // CHECK: vpabsd 291(%rax,%r14,8), %zmm15
1061 // CHECK:  encoding: [0x62,0x32,0x7d,0x48,0x1e,0xbc,0xf0,0x23,0x01,0x00,0x00]
1062           vpabsd 291(%rax,%r14,8), %zmm15
1063
1064 // CHECK: vpabsd (%rcx){1to16}, %zmm15
1065 // CHECK:  encoding: [0x62,0x72,0x7d,0x58,0x1e,0x39]
1066           vpabsd (%rcx){1to16}, %zmm15
1067
1068 // CHECK: vpabsd 8128(%rdx), %zmm15
1069 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x1e,0x7a,0x7f]
1070           vpabsd 8128(%rdx), %zmm15
1071
1072 // CHECK: vpabsd 8192(%rdx), %zmm15
1073 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x1e,0xba,0x00,0x20,0x00,0x00]
1074           vpabsd 8192(%rdx), %zmm15
1075
1076 // CHECK: vpabsd -8192(%rdx), %zmm15
1077 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x1e,0x7a,0x80]
1078           vpabsd -8192(%rdx), %zmm15
1079
1080 // CHECK: vpabsd -8256(%rdx), %zmm15
1081 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x1e,0xba,0xc0,0xdf,0xff,0xff]
1082           vpabsd -8256(%rdx), %zmm15
1083
1084 // CHECK: vpabsd 508(%rdx){1to16}, %zmm15
1085 // CHECK:  encoding: [0x62,0x72,0x7d,0x58,0x1e,0x7a,0x7f]
1086           vpabsd 508(%rdx){1to16}, %zmm15
1087
1088 // CHECK: vpabsd 512(%rdx){1to16}, %zmm15
1089 // CHECK:  encoding: [0x62,0x72,0x7d,0x58,0x1e,0xba,0x00,0x02,0x00,0x00]
1090           vpabsd 512(%rdx){1to16}, %zmm15
1091
1092 // CHECK: vpabsd -512(%rdx){1to16}, %zmm15
1093 // CHECK:  encoding: [0x62,0x72,0x7d,0x58,0x1e,0x7a,0x80]
1094           vpabsd -512(%rdx){1to16}, %zmm15
1095
1096 // CHECK: vpabsd -516(%rdx){1to16}, %zmm15
1097 // CHECK:  encoding: [0x62,0x72,0x7d,0x58,0x1e,0xba,0xfc,0xfd,0xff,0xff]
1098           vpabsd -516(%rdx){1to16}, %zmm15
1099
1100 // CHECK: vpabsd (%rcx){1to16}, %zmm15 {%k2}
1101 // CHECK:  encoding: [0x62,0x72,0x7d,0x5a,0x1e,0x39]
1102           vpabsd (%rcx){1to16}, %zmm15 {%k2}
1103
1104 // CHECK: vpabsd (%rcx){1to16}, %zmm15 {%k2} {z}
1105 // CHECK:  encoding: [0x62,0x72,0x7d,0xda,0x1e,0x39]
1106           vpabsd (%rcx){1to16}, %zmm15 {%k2} {z}
1107
1108 // CHECK: vpabsq %zmm24, %zmm5
1109 // CHECK:  encoding: [0x62,0x92,0xfd,0x48,0x1f,0xe8]
1110           vpabsq %zmm24, %zmm5
1111
1112 // CHECK: vpabsq %zmm24, %zmm5 {%k6}
1113 // CHECK:  encoding: [0x62,0x92,0xfd,0x4e,0x1f,0xe8]
1114           vpabsq %zmm24, %zmm5 {%k6}
1115
1116 // CHECK: vpabsq %zmm24, %zmm5 {%k6} {z}
1117 // CHECK:  encoding: [0x62,0x92,0xfd,0xce,0x1f,0xe8]
1118           vpabsq %zmm24, %zmm5 {%k6} {z}
1119
1120 // CHECK: vpabsq (%rcx), %zmm5
1121 // CHECK:  encoding: [0x62,0xf2,0xfd,0x48,0x1f,0x29]
1122           vpabsq (%rcx), %zmm5
1123
1124 // CHECK: vpabsq 291(%rax,%r14,8), %zmm5
1125 // CHECK:  encoding: [0x62,0xb2,0xfd,0x48,0x1f,0xac,0xf0,0x23,0x01,0x00,0x00]
1126           vpabsq 291(%rax,%r14,8), %zmm5
1127
1128 // CHECK: vpabsq (%rcx){1to8}, %zmm5
1129 // CHECK:  encoding: [0x62,0xf2,0xfd,0x58,0x1f,0x29]
1130           vpabsq (%rcx){1to8}, %zmm5
1131
1132 // CHECK: vpabsq 8128(%rdx), %zmm5
1133 // CHECK:  encoding: [0x62,0xf2,0xfd,0x48,0x1f,0x6a,0x7f]
1134           vpabsq 8128(%rdx), %zmm5
1135
1136 // CHECK: vpabsq 8192(%rdx), %zmm5
1137 // CHECK:  encoding: [0x62,0xf2,0xfd,0x48,0x1f,0xaa,0x00,0x20,0x00,0x00]
1138           vpabsq 8192(%rdx), %zmm5
1139
1140 // CHECK: vpabsq -8192(%rdx), %zmm5
1141 // CHECK:  encoding: [0x62,0xf2,0xfd,0x48,0x1f,0x6a,0x80]
1142           vpabsq -8192(%rdx), %zmm5
1143
1144 // CHECK: vpabsq -8256(%rdx), %zmm5
1145 // CHECK:  encoding: [0x62,0xf2,0xfd,0x48,0x1f,0xaa,0xc0,0xdf,0xff,0xff]
1146           vpabsq -8256(%rdx), %zmm5
1147
1148 // CHECK: vpabsq 1016(%rdx){1to8}, %zmm5
1149 // CHECK:  encoding: [0x62,0xf2,0xfd,0x58,0x1f,0x6a,0x7f]
1150           vpabsq 1016(%rdx){1to8}, %zmm5
1151
1152 // CHECK: vpabsq 1024(%rdx){1to8}, %zmm5
1153 // CHECK:  encoding: [0x62,0xf2,0xfd,0x58,0x1f,0xaa,0x00,0x04,0x00,0x00]
1154           vpabsq 1024(%rdx){1to8}, %zmm5
1155
1156 // CHECK: vpabsq -1024(%rdx){1to8}, %zmm5
1157 // CHECK:  encoding: [0x62,0xf2,0xfd,0x58,0x1f,0x6a,0x80]
1158           vpabsq -1024(%rdx){1to8}, %zmm5
1159
1160 // CHECK: vpabsq -1032(%rdx){1to8}, %zmm5
1161 // CHECK:  encoding: [0x62,0xf2,0xfd,0x58,0x1f,0xaa,0xf8,0xfb,0xff,0xff]
1162           vpabsq -1032(%rdx){1to8}, %zmm5
1163
1164 // CHECK: vpaddd %zmm20, %zmm5, %zmm26
1165 // CHECK:  encoding: [0x62,0x21,0x55,0x48,0xfe,0xd4]
1166           vpaddd %zmm20, %zmm5, %zmm26
1167
1168 // CHECK: vpaddd %zmm20, %zmm5, %zmm26 {%k1}
1169 // CHECK:  encoding: [0x62,0x21,0x55,0x49,0xfe,0xd4]
1170           vpaddd %zmm20, %zmm5, %zmm26 {%k1}
1171
1172 // CHECK: vpaddd %zmm20, %zmm5, %zmm26 {%k1} {z}
1173 // CHECK:  encoding: [0x62,0x21,0x55,0xc9,0xfe,0xd4]
1174           vpaddd %zmm20, %zmm5, %zmm26 {%k1} {z}
1175
1176 // CHECK: vpaddd (%rcx), %zmm5, %zmm26
1177 // CHECK:  encoding: [0x62,0x61,0x55,0x48,0xfe,0x11]
1178           vpaddd (%rcx), %zmm5, %zmm26
1179
1180 // CHECK: vpaddd (%rcx), %zmm5, %zmm26 {%k2}
1181 // CHECK:  encoding: [0x62,0x61,0x55,0x4a,0xfe,0x11]
1182           vpaddd (%rcx), %zmm5, %zmm26 {%k2}
1183
1184 // CHECK: vpaddd (%rcx), %zmm5, %zmm26 {%k2} {z}
1185 // CHECK:  encoding: [0x62,0x61,0x55,0xca,0xfe,0x11]
1186           vpaddd (%rcx), %zmm5, %zmm26 {%k2} {z}
1187
1188 // CHECK: vpaddd 291(%rax,%r14,8), %zmm5, %zmm26
1189 // CHECK:  encoding: [0x62,0x21,0x55,0x48,0xfe,0x94,0xf0,0x23,0x01,0x00,0x00]
1190           vpaddd 291(%rax,%r14,8), %zmm5, %zmm26
1191
1192 // CHECK: vpaddd (%rcx){1to16}, %zmm5, %zmm26
1193 // CHECK:  encoding: [0x62,0x61,0x55,0x58,0xfe,0x11]
1194           vpaddd (%rcx){1to16}, %zmm5, %zmm26
1195
1196 // CHECK: vpaddd 8128(%rdx), %zmm5, %zmm26
1197 // CHECK:  encoding: [0x62,0x61,0x55,0x48,0xfe,0x52,0x7f]
1198           vpaddd 8128(%rdx), %zmm5, %zmm26
1199
1200 // CHECK: vpaddd 8192(%rdx), %zmm5, %zmm26
1201 // CHECK:  encoding: [0x62,0x61,0x55,0x48,0xfe,0x92,0x00,0x20,0x00,0x00]
1202           vpaddd 8192(%rdx), %zmm5, %zmm26
1203
1204 // CHECK: vpaddd -8192(%rdx), %zmm5, %zmm26
1205 // CHECK:  encoding: [0x62,0x61,0x55,0x48,0xfe,0x52,0x80]
1206           vpaddd -8192(%rdx), %zmm5, %zmm26
1207
1208 // CHECK: vpaddd -8256(%rdx), %zmm5, %zmm26
1209 // CHECK:  encoding: [0x62,0x61,0x55,0x48,0xfe,0x92,0xc0,0xdf,0xff,0xff]
1210           vpaddd -8256(%rdx), %zmm5, %zmm26
1211
1212 // CHECK: vpaddd (%rcx){1to16}, %zmm5, %zmm26 {%k2}
1213 // CHECK:  encoding: [0x62,0x61,0x55,0x5a,0xfe,0x11]
1214           vpaddd (%rcx){1to16}, %zmm5, %zmm26 {%k2}
1215
1216 // CHECK: vpaddd (%rcx){1to16}, %zmm5, %zmm26 {%k2} {z}
1217 // CHECK:  encoding: [0x62,0x61,0x55,0xda,0xfe,0x11]
1218           vpaddd (%rcx){1to16}, %zmm5, %zmm26 {%k2} {z}
1219
1220 // CHECK: vpaddd 508(%rdx){1to16}, %zmm5, %zmm26
1221 // CHECK:  encoding: [0x62,0x61,0x55,0x58,0xfe,0x52,0x7f]
1222           vpaddd 508(%rdx){1to16}, %zmm5, %zmm26
1223
1224 // CHECK: vpaddd 512(%rdx){1to16}, %zmm5, %zmm26
1225 // CHECK:  encoding: [0x62,0x61,0x55,0x58,0xfe,0x92,0x00,0x02,0x00,0x00]
1226           vpaddd 512(%rdx){1to16}, %zmm5, %zmm26
1227
1228 // CHECK: vpaddd -512(%rdx){1to16}, %zmm5, %zmm26
1229 // CHECK:  encoding: [0x62,0x61,0x55,0x58,0xfe,0x52,0x80]
1230           vpaddd -512(%rdx){1to16}, %zmm5, %zmm26
1231
1232 // CHECK: vpaddd -516(%rdx){1to16}, %zmm5, %zmm26
1233 // CHECK:  encoding: [0x62,0x61,0x55,0x58,0xfe,0x92,0xfc,0xfd,0xff,0xff]
1234           vpaddd -516(%rdx){1to16}, %zmm5, %zmm26
1235
1236 // CHECK: vpaddq %zmm14, %zmm25, %zmm8
1237 // CHECK:  encoding: [0x62,0x51,0xb5,0x40,0xd4,0xc6]
1238           vpaddq %zmm14, %zmm25, %zmm8
1239
1240 // CHECK: vpaddq %zmm14, %zmm25, %zmm8 {%k3}
1241 // CHECK:  encoding: [0x62,0x51,0xb5,0x43,0xd4,0xc6]
1242           vpaddq %zmm14, %zmm25, %zmm8 {%k3}
1243
1244 // CHECK: vpaddq %zmm14, %zmm25, %zmm8 {%k3} {z}
1245 // CHECK:  encoding: [0x62,0x51,0xb5,0xc3,0xd4,0xc6]
1246           vpaddq %zmm14, %zmm25, %zmm8 {%k3} {z}
1247
1248 // CHECK: vpaddq (%rcx), %zmm25, %zmm8
1249 // CHECK:  encoding: [0x62,0x71,0xb5,0x40,0xd4,0x01]
1250           vpaddq (%rcx), %zmm25, %zmm8
1251
1252 // CHECK: vpaddq 291(%rax,%r14,8), %zmm25, %zmm8
1253 // CHECK:  encoding: [0x62,0x31,0xb5,0x40,0xd4,0x84,0xf0,0x23,0x01,0x00,0x00]
1254           vpaddq 291(%rax,%r14,8), %zmm25, %zmm8
1255
1256 // CHECK: vpaddq (%rcx){1to8}, %zmm25, %zmm8
1257 // CHECK:  encoding: [0x62,0x71,0xb5,0x50,0xd4,0x01]
1258           vpaddq (%rcx){1to8}, %zmm25, %zmm8
1259
1260 // CHECK: vpaddq 8128(%rdx), %zmm25, %zmm8
1261 // CHECK:  encoding: [0x62,0x71,0xb5,0x40,0xd4,0x42,0x7f]
1262           vpaddq 8128(%rdx), %zmm25, %zmm8
1263
1264 // CHECK: vpaddq 8192(%rdx), %zmm25, %zmm8
1265 // CHECK:  encoding: [0x62,0x71,0xb5,0x40,0xd4,0x82,0x00,0x20,0x00,0x00]
1266           vpaddq 8192(%rdx), %zmm25, %zmm8
1267
1268 // CHECK: vpaddq -8192(%rdx), %zmm25, %zmm8
1269 // CHECK:  encoding: [0x62,0x71,0xb5,0x40,0xd4,0x42,0x80]
1270           vpaddq -8192(%rdx), %zmm25, %zmm8
1271
1272 // CHECK: vpaddq -8256(%rdx), %zmm25, %zmm8
1273 // CHECK:  encoding: [0x62,0x71,0xb5,0x40,0xd4,0x82,0xc0,0xdf,0xff,0xff]
1274           vpaddq -8256(%rdx), %zmm25, %zmm8
1275
1276 // CHECK: vpaddq 1016(%rdx){1to8}, %zmm25, %zmm8
1277 // CHECK:  encoding: [0x62,0x71,0xb5,0x50,0xd4,0x42,0x7f]
1278           vpaddq 1016(%rdx){1to8}, %zmm25, %zmm8
1279
1280 // CHECK: vpaddq 1024(%rdx){1to8}, %zmm25, %zmm8
1281 // CHECK:  encoding: [0x62,0x71,0xb5,0x50,0xd4,0x82,0x00,0x04,0x00,0x00]
1282           vpaddq 1024(%rdx){1to8}, %zmm25, %zmm8
1283
1284 // CHECK: vpaddq -1024(%rdx){1to8}, %zmm25, %zmm8
1285 // CHECK:  encoding: [0x62,0x71,0xb5,0x50,0xd4,0x42,0x80]
1286           vpaddq -1024(%rdx){1to8}, %zmm25, %zmm8
1287
1288 // CHECK: vpaddq -1032(%rdx){1to8}, %zmm25, %zmm8
1289 // CHECK:  encoding: [0x62,0x71,0xb5,0x50,0xd4,0x82,0xf8,0xfb,0xff,0xff]
1290           vpaddq -1032(%rdx){1to8}, %zmm25, %zmm8
1291
1292 // CHECK: vpandd %zmm25, %zmm22, %zmm19
1293 // CHECK:  encoding: [0x62,0x81,0x4d,0x40,0xdb,0xd9]
1294           vpandd %zmm25, %zmm22, %zmm19
1295
1296 // CHECK: vpandd %zmm25, %zmm22, %zmm19 {%k1}
1297 // CHECK:  encoding: [0x62,0x81,0x4d,0x41,0xdb,0xd9]
1298           vpandd %zmm25, %zmm22, %zmm19 {%k1}
1299
1300 // CHECK: vpandd %zmm25, %zmm22, %zmm19 {%k1} {z}
1301 // CHECK:  encoding: [0x62,0x81,0x4d,0xc1,0xdb,0xd9]
1302           vpandd %zmm25, %zmm22, %zmm19 {%k1} {z}
1303
1304 // CHECK: vpandd (%rcx), %zmm22, %zmm19
1305 // CHECK:  encoding: [0x62,0xe1,0x4d,0x40,0xdb,0x19]
1306           vpandd (%rcx), %zmm22, %zmm19
1307
1308 // CHECK: vpandd 291(%rax,%r14,8), %zmm22, %zmm19
1309 // CHECK:  encoding: [0x62,0xa1,0x4d,0x40,0xdb,0x9c,0xf0,0x23,0x01,0x00,0x00]
1310           vpandd 291(%rax,%r14,8), %zmm22, %zmm19
1311
1312 // CHECK: vpandd (%rcx){1to16}, %zmm22, %zmm19
1313 // CHECK:  encoding: [0x62,0xe1,0x4d,0x50,0xdb,0x19]
1314           vpandd (%rcx){1to16}, %zmm22, %zmm19
1315
1316 // CHECK: vpandd 8128(%rdx), %zmm22, %zmm19
1317 // CHECK:  encoding: [0x62,0xe1,0x4d,0x40,0xdb,0x5a,0x7f]
1318           vpandd 8128(%rdx), %zmm22, %zmm19
1319
1320 // CHECK: vpandd 8192(%rdx), %zmm22, %zmm19
1321 // CHECK:  encoding: [0x62,0xe1,0x4d,0x40,0xdb,0x9a,0x00,0x20,0x00,0x00]
1322           vpandd 8192(%rdx), %zmm22, %zmm19
1323
1324 // CHECK: vpandd -8192(%rdx), %zmm22, %zmm19
1325 // CHECK:  encoding: [0x62,0xe1,0x4d,0x40,0xdb,0x5a,0x80]
1326           vpandd -8192(%rdx), %zmm22, %zmm19
1327
1328 // CHECK: vpandd -8256(%rdx), %zmm22, %zmm19
1329 // CHECK:  encoding: [0x62,0xe1,0x4d,0x40,0xdb,0x9a,0xc0,0xdf,0xff,0xff]
1330           vpandd -8256(%rdx), %zmm22, %zmm19
1331
1332 // CHECK: vpandd 508(%rdx){1to16}, %zmm22, %zmm19
1333 // CHECK:  encoding: [0x62,0xe1,0x4d,0x50,0xdb,0x5a,0x7f]
1334           vpandd 508(%rdx){1to16}, %zmm22, %zmm19
1335
1336 // CHECK: vpandd 512(%rdx){1to16}, %zmm22, %zmm19
1337 // CHECK:  encoding: [0x62,0xe1,0x4d,0x50,0xdb,0x9a,0x00,0x02,0x00,0x00]
1338           vpandd 512(%rdx){1to16}, %zmm22, %zmm19
1339
1340 // CHECK: vpandd -512(%rdx){1to16}, %zmm22, %zmm19
1341 // CHECK:  encoding: [0x62,0xe1,0x4d,0x50,0xdb,0x5a,0x80]
1342           vpandd -512(%rdx){1to16}, %zmm22, %zmm19
1343
1344 // CHECK: vpandd -516(%rdx){1to16}, %zmm22, %zmm19
1345 // CHECK:  encoding: [0x62,0xe1,0x4d,0x50,0xdb,0x9a,0xfc,0xfd,0xff,0xff]
1346           vpandd -516(%rdx){1to16}, %zmm22, %zmm19
1347
1348 // CHECK: vpandnd %zmm15, %zmm28, %zmm30
1349 // CHECK:  encoding: [0x62,0x41,0x1d,0x40,0xdf,0xf7]
1350           vpandnd %zmm15, %zmm28, %zmm30
1351
1352 // CHECK: vpandnd %zmm15, %zmm28, %zmm30 {%k3}
1353 // CHECK:  encoding: [0x62,0x41,0x1d,0x43,0xdf,0xf7]
1354           vpandnd %zmm15, %zmm28, %zmm30 {%k3}
1355
1356 // CHECK: vpandnd %zmm15, %zmm28, %zmm30 {%k3} {z}
1357 // CHECK:  encoding: [0x62,0x41,0x1d,0xc3,0xdf,0xf7]
1358           vpandnd %zmm15, %zmm28, %zmm30 {%k3} {z}
1359
1360 // CHECK: vpandnd (%rcx), %zmm28, %zmm30
1361 // CHECK:  encoding: [0x62,0x61,0x1d,0x40,0xdf,0x31]
1362           vpandnd (%rcx), %zmm28, %zmm30
1363
1364 // CHECK: vpandnd 291(%rax,%r14,8), %zmm28, %zmm30
1365 // CHECK:  encoding: [0x62,0x21,0x1d,0x40,0xdf,0xb4,0xf0,0x23,0x01,0x00,0x00]
1366           vpandnd 291(%rax,%r14,8), %zmm28, %zmm30
1367
1368 // CHECK: vpandnd (%rcx){1to16}, %zmm28, %zmm30
1369 // CHECK:  encoding: [0x62,0x61,0x1d,0x50,0xdf,0x31]
1370           vpandnd (%rcx){1to16}, %zmm28, %zmm30
1371
1372 // CHECK: vpandnd 8128(%rdx), %zmm28, %zmm30
1373 // CHECK:  encoding: [0x62,0x61,0x1d,0x40,0xdf,0x72,0x7f]
1374           vpandnd 8128(%rdx), %zmm28, %zmm30
1375
1376 // CHECK: vpandnd 8192(%rdx), %zmm28, %zmm30
1377 // CHECK:  encoding: [0x62,0x61,0x1d,0x40,0xdf,0xb2,0x00,0x20,0x00,0x00]
1378           vpandnd 8192(%rdx), %zmm28, %zmm30
1379
1380 // CHECK: vpandnd -8192(%rdx), %zmm28, %zmm30
1381 // CHECK:  encoding: [0x62,0x61,0x1d,0x40,0xdf,0x72,0x80]
1382           vpandnd -8192(%rdx), %zmm28, %zmm30
1383
1384 // CHECK: vpandnd -8256(%rdx), %zmm28, %zmm30
1385 // CHECK:  encoding: [0x62,0x61,0x1d,0x40,0xdf,0xb2,0xc0,0xdf,0xff,0xff]
1386           vpandnd -8256(%rdx), %zmm28, %zmm30
1387
1388 // CHECK: vpandnd 508(%rdx){1to16}, %zmm28, %zmm30
1389 // CHECK:  encoding: [0x62,0x61,0x1d,0x50,0xdf,0x72,0x7f]
1390           vpandnd 508(%rdx){1to16}, %zmm28, %zmm30
1391
1392 // CHECK: vpandnd 512(%rdx){1to16}, %zmm28, %zmm30
1393 // CHECK:  encoding: [0x62,0x61,0x1d,0x50,0xdf,0xb2,0x00,0x02,0x00,0x00]
1394           vpandnd 512(%rdx){1to16}, %zmm28, %zmm30
1395
1396 // CHECK: vpandnd -512(%rdx){1to16}, %zmm28, %zmm30
1397 // CHECK:  encoding: [0x62,0x61,0x1d,0x50,0xdf,0x72,0x80]
1398           vpandnd -512(%rdx){1to16}, %zmm28, %zmm30
1399
1400 // CHECK: vpandnd -516(%rdx){1to16}, %zmm28, %zmm30
1401 // CHECK:  encoding: [0x62,0x61,0x1d,0x50,0xdf,0xb2,0xfc,0xfd,0xff,0xff]
1402           vpandnd -516(%rdx){1to16}, %zmm28, %zmm30
1403
1404 // CHECK: vpandnq %zmm19, %zmm7, %zmm20
1405 // CHECK:  encoding: [0x62,0xa1,0xc5,0x48,0xdf,0xe3]
1406           vpandnq %zmm19, %zmm7, %zmm20
1407
1408 // CHECK: vpandnq %zmm19, %zmm7, %zmm20 {%k5}
1409 // CHECK:  encoding: [0x62,0xa1,0xc5,0x4d,0xdf,0xe3]
1410           vpandnq %zmm19, %zmm7, %zmm20 {%k5}
1411
1412 // CHECK: vpandnq %zmm19, %zmm7, %zmm20 {%k5} {z}
1413 // CHECK:  encoding: [0x62,0xa1,0xc5,0xcd,0xdf,0xe3]
1414           vpandnq %zmm19, %zmm7, %zmm20 {%k5} {z}
1415
1416 // CHECK: vpandnq (%rcx), %zmm7, %zmm20
1417 // CHECK:  encoding: [0x62,0xe1,0xc5,0x48,0xdf,0x21]
1418           vpandnq (%rcx), %zmm7, %zmm20
1419
1420 // CHECK: vpandnq 291(%rax,%r14,8), %zmm7, %zmm20
1421 // CHECK:  encoding: [0x62,0xa1,0xc5,0x48,0xdf,0xa4,0xf0,0x23,0x01,0x00,0x00]
1422           vpandnq 291(%rax,%r14,8), %zmm7, %zmm20
1423
1424 // CHECK: vpandnq (%rcx){1to8}, %zmm7, %zmm20
1425 // CHECK:  encoding: [0x62,0xe1,0xc5,0x58,0xdf,0x21]
1426           vpandnq (%rcx){1to8}, %zmm7, %zmm20
1427
1428 // CHECK: vpandnq 8128(%rdx), %zmm7, %zmm20
1429 // CHECK:  encoding: [0x62,0xe1,0xc5,0x48,0xdf,0x62,0x7f]
1430           vpandnq 8128(%rdx), %zmm7, %zmm20
1431
1432 // CHECK: vpandnq 8192(%rdx), %zmm7, %zmm20
1433 // CHECK:  encoding: [0x62,0xe1,0xc5,0x48,0xdf,0xa2,0x00,0x20,0x00,0x00]
1434           vpandnq 8192(%rdx), %zmm7, %zmm20
1435
1436 // CHECK: vpandnq -8192(%rdx), %zmm7, %zmm20
1437 // CHECK:  encoding: [0x62,0xe1,0xc5,0x48,0xdf,0x62,0x80]
1438           vpandnq -8192(%rdx), %zmm7, %zmm20
1439
1440 // CHECK: vpandnq -8256(%rdx), %zmm7, %zmm20
1441 // CHECK:  encoding: [0x62,0xe1,0xc5,0x48,0xdf,0xa2,0xc0,0xdf,0xff,0xff]
1442           vpandnq -8256(%rdx), %zmm7, %zmm20
1443
1444 // CHECK: vpandnq 1016(%rdx){1to8}, %zmm7, %zmm20
1445 // CHECK:  encoding: [0x62,0xe1,0xc5,0x58,0xdf,0x62,0x7f]
1446           vpandnq 1016(%rdx){1to8}, %zmm7, %zmm20
1447
1448 // CHECK: vpandnq 1024(%rdx){1to8}, %zmm7, %zmm20
1449 // CHECK:  encoding: [0x62,0xe1,0xc5,0x58,0xdf,0xa2,0x00,0x04,0x00,0x00]
1450           vpandnq 1024(%rdx){1to8}, %zmm7, %zmm20
1451
1452 // CHECK: vpandnq -1024(%rdx){1to8}, %zmm7, %zmm20
1453 // CHECK:  encoding: [0x62,0xe1,0xc5,0x58,0xdf,0x62,0x80]
1454           vpandnq -1024(%rdx){1to8}, %zmm7, %zmm20
1455
1456 // CHECK: vpandnq -1032(%rdx){1to8}, %zmm7, %zmm20
1457 // CHECK:  encoding: [0x62,0xe1,0xc5,0x58,0xdf,0xa2,0xf8,0xfb,0xff,0xff]
1458           vpandnq -1032(%rdx){1to8}, %zmm7, %zmm20
1459
1460 // CHECK: vpandq %zmm26, %zmm4, %zmm17
1461 // CHECK:  encoding: [0x62,0x81,0xdd,0x48,0xdb,0xca]
1462           vpandq %zmm26, %zmm4, %zmm17
1463
1464 // CHECK: vpandq %zmm26, %zmm4, %zmm17 {%k7}
1465 // CHECK:  encoding: [0x62,0x81,0xdd,0x4f,0xdb,0xca]
1466           vpandq %zmm26, %zmm4, %zmm17 {%k7}
1467
1468 // CHECK: vpandq %zmm26, %zmm4, %zmm17 {%k7} {z}
1469 // CHECK:  encoding: [0x62,0x81,0xdd,0xcf,0xdb,0xca]
1470           vpandq %zmm26, %zmm4, %zmm17 {%k7} {z}
1471
1472 // CHECK: vpandq (%rcx), %zmm4, %zmm17
1473 // CHECK:  encoding: [0x62,0xe1,0xdd,0x48,0xdb,0x09]
1474           vpandq (%rcx), %zmm4, %zmm17
1475
1476 // CHECK: vpandq 291(%rax,%r14,8), %zmm4, %zmm17
1477 // CHECK:  encoding: [0x62,0xa1,0xdd,0x48,0xdb,0x8c,0xf0,0x23,0x01,0x00,0x00]
1478           vpandq 291(%rax,%r14,8), %zmm4, %zmm17
1479
1480 // CHECK: vpandq (%rcx){1to8}, %zmm4, %zmm17
1481 // CHECK:  encoding: [0x62,0xe1,0xdd,0x58,0xdb,0x09]
1482           vpandq (%rcx){1to8}, %zmm4, %zmm17
1483
1484 // CHECK: vpandq 8128(%rdx), %zmm4, %zmm17
1485 // CHECK:  encoding: [0x62,0xe1,0xdd,0x48,0xdb,0x4a,0x7f]
1486           vpandq 8128(%rdx), %zmm4, %zmm17
1487
1488 // CHECK: vpandq 8192(%rdx), %zmm4, %zmm17
1489 // CHECK:  encoding: [0x62,0xe1,0xdd,0x48,0xdb,0x8a,0x00,0x20,0x00,0x00]
1490           vpandq 8192(%rdx), %zmm4, %zmm17
1491
1492 // CHECK: vpandq -8192(%rdx), %zmm4, %zmm17
1493 // CHECK:  encoding: [0x62,0xe1,0xdd,0x48,0xdb,0x4a,0x80]
1494           vpandq -8192(%rdx), %zmm4, %zmm17
1495
1496 // CHECK: vpandq -8256(%rdx), %zmm4, %zmm17
1497 // CHECK:  encoding: [0x62,0xe1,0xdd,0x48,0xdb,0x8a,0xc0,0xdf,0xff,0xff]
1498           vpandq -8256(%rdx), %zmm4, %zmm17
1499
1500 // CHECK: vpandq 1016(%rdx){1to8}, %zmm4, %zmm17
1501 // CHECK:  encoding: [0x62,0xe1,0xdd,0x58,0xdb,0x4a,0x7f]
1502           vpandq 1016(%rdx){1to8}, %zmm4, %zmm17
1503
1504 // CHECK: vpandq 1024(%rdx){1to8}, %zmm4, %zmm17
1505 // CHECK:  encoding: [0x62,0xe1,0xdd,0x58,0xdb,0x8a,0x00,0x04,0x00,0x00]
1506           vpandq 1024(%rdx){1to8}, %zmm4, %zmm17
1507
1508 // CHECK: vpandq -1024(%rdx){1to8}, %zmm4, %zmm17
1509 // CHECK:  encoding: [0x62,0xe1,0xdd,0x58,0xdb,0x4a,0x80]
1510           vpandq -1024(%rdx){1to8}, %zmm4, %zmm17
1511
1512 // CHECK: vpandq -1032(%rdx){1to8}, %zmm4, %zmm17
1513 // CHECK:  encoding: [0x62,0xe1,0xdd,0x58,0xdb,0x8a,0xf8,0xfb,0xff,0xff]
1514           vpandq -1032(%rdx){1to8}, %zmm4, %zmm17
1515
1516 // CHECK: vpbroadcastd %eax, %zmm11
1517 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x7c,0xd8]
1518           vpbroadcastd %eax, %zmm11
1519
1520 // CHECK: vpbroadcastd %eax, %zmm11 {%k6}
1521 // CHECK:  encoding: [0x62,0x72,0x7d,0x4e,0x7c,0xd8]
1522           vpbroadcastd %eax, %zmm11 {%k6}
1523
1524 // CHECK: vpbroadcastd %eax, %zmm11 {%k6} {z}
1525 // CHECK:  encoding: [0x62,0x72,0x7d,0xce,0x7c,0xd8]
1526           vpbroadcastd %eax, %zmm11 {%k6} {z}
1527
1528 // CHECK: vpbroadcastd %ebp, %zmm11
1529 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x7c,0xdd]
1530           vpbroadcastd %ebp, %zmm11
1531
1532 // CHECK: vpbroadcastd %r13d, %zmm11
1533 // CHECK:  encoding: [0x62,0x52,0x7d,0x48,0x7c,0xdd]
1534           vpbroadcastd %r13d, %zmm11
1535
1536 // CHECK: vpbroadcastq %rax, %zmm1
1537 // CHECK:  encoding: [0x62,0xf2,0xfd,0x48,0x7c,0xc8]
1538           vpbroadcastq %rax, %zmm1
1539
1540 // CHECK: vpbroadcastq %rax, %zmm1 {%k6}
1541 // CHECK:  encoding: [0x62,0xf2,0xfd,0x4e,0x7c,0xc8]
1542           vpbroadcastq %rax, %zmm1 {%k6}
1543
1544 // CHECK: vpbroadcastq %rax, %zmm1 {%k6} {z}
1545 // CHECK:  encoding: [0x62,0xf2,0xfd,0xce,0x7c,0xc8]
1546           vpbroadcastq %rax, %zmm1 {%k6} {z}
1547
1548 // CHECK: vpbroadcastq %r8, %zmm1
1549 // CHECK:  encoding: [0x62,0xd2,0xfd,0x48,0x7c,0xc8]
1550           vpbroadcastq %r8, %zmm1
1551
1552 // CHECK: vpcmpd $171, %zmm10, %zmm25, %k5
1553 // CHECK:  encoding: [0x62,0xd3,0x35,0x40,0x1f,0xea,0xab]
1554           vpcmpd $171, %zmm10, %zmm25, %k5
1555
1556 // CHECK: vpcmpd $171, %zmm10, %zmm25, %k5 {%k3}
1557 // CHECK:  encoding: [0x62,0xd3,0x35,0x43,0x1f,0xea,0xab]
1558           vpcmpd $171, %zmm10, %zmm25, %k5 {%k3}
1559
1560 // CHECK: vpcmpd $123, %zmm10, %zmm25, %k5
1561 // CHECK:  encoding: [0x62,0xd3,0x35,0x40,0x1f,0xea,0x7b]
1562           vpcmpd $123, %zmm10, %zmm25, %k5
1563
1564 // CHECK: vpcmpd $123, (%rcx), %zmm25, %k5
1565 // CHECK:  encoding: [0x62,0xf3,0x35,0x40,0x1f,0x29,0x7b]
1566           vpcmpd $123, (%rcx), %zmm25, %k5
1567
1568 // CHECK: vpcmpd $123, 291(%rax,%r14,8), %zmm25, %k5
1569 // CHECK:  encoding: [0x62,0xb3,0x35,0x40,0x1f,0xac,0xf0,0x23,0x01,0x00,0x00,0x7b]
1570           vpcmpd $123, 291(%rax,%r14,8), %zmm25, %k5
1571
1572 // CHECK: vpcmpd $123, (%rcx){1to16}, %zmm25, %k5
1573 // CHECK:  encoding: [0x62,0xf3,0x35,0x50,0x1f,0x29,0x7b]
1574           vpcmpd $123, (%rcx){1to16}, %zmm25, %k5
1575
1576 // CHECK: vpcmpd $123, 8128(%rdx), %zmm25, %k5
1577 // CHECK:  encoding: [0x62,0xf3,0x35,0x40,0x1f,0x6a,0x7f,0x7b]
1578           vpcmpd $123, 8128(%rdx), %zmm25, %k5
1579
1580 // CHECK: vpcmpd $123, 8192(%rdx), %zmm25, %k5
1581 // CHECK:  encoding: [0x62,0xf3,0x35,0x40,0x1f,0xaa,0x00,0x20,0x00,0x00,0x7b]
1582           vpcmpd $123, 8192(%rdx), %zmm25, %k5
1583
1584 // CHECK: vpcmpd $123, -8192(%rdx), %zmm25, %k5
1585 // CHECK:  encoding: [0x62,0xf3,0x35,0x40,0x1f,0x6a,0x80,0x7b]
1586           vpcmpd $123, -8192(%rdx), %zmm25, %k5
1587
1588 // CHECK: vpcmpd $123, -8256(%rdx), %zmm25, %k5
1589 // CHECK:  encoding: [0x62,0xf3,0x35,0x40,0x1f,0xaa,0xc0,0xdf,0xff,0xff,0x7b]
1590           vpcmpd $123, -8256(%rdx), %zmm25, %k5
1591
1592 // CHECK: vpcmpd $123, 508(%rdx){1to16}, %zmm25, %k5
1593 // CHECK:  encoding: [0x62,0xf3,0x35,0x50,0x1f,0x6a,0x7f,0x7b]
1594           vpcmpd $123, 508(%rdx){1to16}, %zmm25, %k5
1595
1596 // CHECK: vpcmpd $123, 512(%rdx){1to16}, %zmm25, %k5
1597 // CHECK:  encoding: [0x62,0xf3,0x35,0x50,0x1f,0xaa,0x00,0x02,0x00,0x00,0x7b]
1598           vpcmpd $123, 512(%rdx){1to16}, %zmm25, %k5
1599
1600 // CHECK: vpcmpd $123, -512(%rdx){1to16}, %zmm25, %k5
1601 // CHECK:  encoding: [0x62,0xf3,0x35,0x50,0x1f,0x6a,0x80,0x7b]
1602           vpcmpd $123, -512(%rdx){1to16}, %zmm25, %k5
1603
1604 // CHECK: vpcmpd $123, -516(%rdx){1to16}, %zmm25, %k5
1605 // CHECK:  encoding: [0x62,0xf3,0x35,0x50,0x1f,0xaa,0xfc,0xfd,0xff,0xff,0x7b]
1606           vpcmpd $123, -516(%rdx){1to16}, %zmm25, %k5
1607
1608 // CHECK: vpcmpeqd %zmm10, %zmm2, %k5
1609 // CHECK:  encoding: [0x62,0xd1,0x6d,0x48,0x76,0xea]
1610           vpcmpeqd %zmm10, %zmm2, %k5
1611
1612 // CHECK: vpcmpeqd %zmm10, %zmm2, %k5 {%k7}
1613 // CHECK:  encoding: [0x62,0xd1,0x6d,0x4f,0x76,0xea]
1614           vpcmpeqd %zmm10, %zmm2, %k5 {%k7}
1615
1616 // CHECK: vpcmpeqd (%rcx), %zmm2, %k5
1617 // CHECK:  encoding: [0x62,0xf1,0x6d,0x48,0x76,0x29]
1618           vpcmpeqd (%rcx), %zmm2, %k5
1619
1620 // CHECK: vpcmpeqd 291(%rax,%r14,8), %zmm2, %k5
1621 // CHECK:  encoding: [0x62,0xb1,0x6d,0x48,0x76,0xac,0xf0,0x23,0x01,0x00,0x00]
1622           vpcmpeqd 291(%rax,%r14,8), %zmm2, %k5
1623
1624 // CHECK: vpcmpeqd (%rcx){1to16}, %zmm2, %k5
1625 // CHECK:  encoding: [0x62,0xf1,0x6d,0x58,0x76,0x29]
1626           vpcmpeqd (%rcx){1to16}, %zmm2, %k5
1627
1628 // CHECK: vpcmpeqd 8128(%rdx), %zmm2, %k5
1629 // CHECK:  encoding: [0x62,0xf1,0x6d,0x48,0x76,0x6a,0x7f]
1630           vpcmpeqd 8128(%rdx), %zmm2, %k5
1631
1632 // CHECK: vpcmpeqd 8192(%rdx), %zmm2, %k5
1633 // CHECK:  encoding: [0x62,0xf1,0x6d,0x48,0x76,0xaa,0x00,0x20,0x00,0x00]
1634           vpcmpeqd 8192(%rdx), %zmm2, %k5
1635
1636 // CHECK: vpcmpeqd -8192(%rdx), %zmm2, %k5
1637 // CHECK:  encoding: [0x62,0xf1,0x6d,0x48,0x76,0x6a,0x80]
1638           vpcmpeqd -8192(%rdx), %zmm2, %k5
1639
1640 // CHECK: vpcmpeqd -8256(%rdx), %zmm2, %k5
1641 // CHECK:  encoding: [0x62,0xf1,0x6d,0x48,0x76,0xaa,0xc0,0xdf,0xff,0xff]
1642           vpcmpeqd -8256(%rdx), %zmm2, %k5
1643
1644 // CHECK: vpcmpeqd 508(%rdx){1to16}, %zmm2, %k5
1645 // CHECK:  encoding: [0x62,0xf1,0x6d,0x58,0x76,0x6a,0x7f]
1646           vpcmpeqd 508(%rdx){1to16}, %zmm2, %k5
1647
1648 // CHECK: vpcmpeqd 512(%rdx){1to16}, %zmm2, %k5
1649 // CHECK:  encoding: [0x62,0xf1,0x6d,0x58,0x76,0xaa,0x00,0x02,0x00,0x00]
1650           vpcmpeqd 512(%rdx){1to16}, %zmm2, %k5
1651
1652 // CHECK: vpcmpeqd -512(%rdx){1to16}, %zmm2, %k5
1653 // CHECK:  encoding: [0x62,0xf1,0x6d,0x58,0x76,0x6a,0x80]
1654           vpcmpeqd -512(%rdx){1to16}, %zmm2, %k5
1655
1656 // CHECK: vpcmpeqd -516(%rdx){1to16}, %zmm2, %k5
1657 // CHECK:  encoding: [0x62,0xf1,0x6d,0x58,0x76,0xaa,0xfc,0xfd,0xff,0xff]
1658           vpcmpeqd -516(%rdx){1to16}, %zmm2, %k5
1659
1660 // CHECK: vpcmpeqq %zmm2, %zmm22, %k3
1661 // CHECK:  encoding: [0x62,0xf2,0xcd,0x40,0x29,0xda]
1662           vpcmpeqq %zmm2, %zmm22, %k3
1663
1664 // CHECK: vpcmpeqq %zmm2, %zmm22, %k3 {%k6}
1665 // CHECK:  encoding: [0x62,0xf2,0xcd,0x46,0x29,0xda]
1666           vpcmpeqq %zmm2, %zmm22, %k3 {%k6}
1667
1668 // CHECK: vpcmpeqq (%rcx), %zmm22, %k3
1669 // CHECK:  encoding: [0x62,0xf2,0xcd,0x40,0x29,0x19]
1670           vpcmpeqq (%rcx), %zmm22, %k3
1671
1672 // CHECK: vpcmpeqq 291(%rax,%r14,8), %zmm22, %k3
1673 // CHECK:  encoding: [0x62,0xb2,0xcd,0x40,0x29,0x9c,0xf0,0x23,0x01,0x00,0x00]
1674           vpcmpeqq 291(%rax,%r14,8), %zmm22, %k3
1675
1676 // CHECK: vpcmpeqq (%rcx){1to8}, %zmm22, %k3
1677 // CHECK:  encoding: [0x62,0xf2,0xcd,0x50,0x29,0x19]
1678           vpcmpeqq (%rcx){1to8}, %zmm22, %k3
1679
1680 // CHECK: vpcmpeqq 8128(%rdx), %zmm22, %k3
1681 // CHECK:  encoding: [0x62,0xf2,0xcd,0x40,0x29,0x5a,0x7f]
1682           vpcmpeqq 8128(%rdx), %zmm22, %k3
1683
1684 // CHECK: vpcmpeqq 8192(%rdx), %zmm22, %k3
1685 // CHECK:  encoding: [0x62,0xf2,0xcd,0x40,0x29,0x9a,0x00,0x20,0x00,0x00]
1686           vpcmpeqq 8192(%rdx), %zmm22, %k3
1687
1688 // CHECK: vpcmpeqq -8192(%rdx), %zmm22, %k3
1689 // CHECK:  encoding: [0x62,0xf2,0xcd,0x40,0x29,0x5a,0x80]
1690           vpcmpeqq -8192(%rdx), %zmm22, %k3
1691
1692 // CHECK: vpcmpeqq -8256(%rdx), %zmm22, %k3
1693 // CHECK:  encoding: [0x62,0xf2,0xcd,0x40,0x29,0x9a,0xc0,0xdf,0xff,0xff]
1694           vpcmpeqq -8256(%rdx), %zmm22, %k3
1695
1696 // CHECK: vpcmpeqq 1016(%rdx){1to8}, %zmm22, %k3
1697 // CHECK:  encoding: [0x62,0xf2,0xcd,0x50,0x29,0x5a,0x7f]
1698           vpcmpeqq 1016(%rdx){1to8}, %zmm22, %k3
1699
1700 // CHECK: vpcmpeqq 1024(%rdx){1to8}, %zmm22, %k3
1701 // CHECK:  encoding: [0x62,0xf2,0xcd,0x50,0x29,0x9a,0x00,0x04,0x00,0x00]
1702           vpcmpeqq 1024(%rdx){1to8}, %zmm22, %k3
1703
1704 // CHECK: vpcmpeqq -1024(%rdx){1to8}, %zmm22, %k3
1705 // CHECK:  encoding: [0x62,0xf2,0xcd,0x50,0x29,0x5a,0x80]
1706           vpcmpeqq -1024(%rdx){1to8}, %zmm22, %k3
1707
1708 // CHECK: vpcmpeqq -1032(%rdx){1to8}, %zmm22, %k3
1709 // CHECK:  encoding: [0x62,0xf2,0xcd,0x50,0x29,0x9a,0xf8,0xfb,0xff,0xff]
1710           vpcmpeqq -1032(%rdx){1to8}, %zmm22, %k3
1711
1712 // CHECK: vpcmpgtd %zmm8, %zmm21, %k5
1713 // CHECK:  encoding: [0x62,0xd1,0x55,0x40,0x66,0xe8]
1714           vpcmpgtd %zmm8, %zmm21, %k5
1715
1716 // CHECK: vpcmpgtd %zmm8, %zmm21, %k5 {%k5}
1717 // CHECK:  encoding: [0x62,0xd1,0x55,0x45,0x66,0xe8]
1718           vpcmpgtd %zmm8, %zmm21, %k5 {%k5}
1719
1720 // CHECK: vpcmpgtd (%rcx), %zmm21, %k5
1721 // CHECK:  encoding: [0x62,0xf1,0x55,0x40,0x66,0x29]
1722           vpcmpgtd (%rcx), %zmm21, %k5
1723
1724 // CHECK: vpcmpgtd 291(%rax,%r14,8), %zmm21, %k5
1725 // CHECK:  encoding: [0x62,0xb1,0x55,0x40,0x66,0xac,0xf0,0x23,0x01,0x00,0x00]
1726           vpcmpgtd 291(%rax,%r14,8), %zmm21, %k5
1727
1728 // CHECK: vpcmpgtd (%rcx){1to16}, %zmm21, %k5
1729 // CHECK:  encoding: [0x62,0xf1,0x55,0x50,0x66,0x29]
1730           vpcmpgtd (%rcx){1to16}, %zmm21, %k5
1731
1732 // CHECK: vpcmpgtd 8128(%rdx), %zmm21, %k5
1733 // CHECK:  encoding: [0x62,0xf1,0x55,0x40,0x66,0x6a,0x7f]
1734           vpcmpgtd 8128(%rdx), %zmm21, %k5
1735
1736 // CHECK: vpcmpgtd 8192(%rdx), %zmm21, %k5
1737 // CHECK:  encoding: [0x62,0xf1,0x55,0x40,0x66,0xaa,0x00,0x20,0x00,0x00]
1738           vpcmpgtd 8192(%rdx), %zmm21, %k5
1739
1740 // CHECK: vpcmpgtd -8192(%rdx), %zmm21, %k5
1741 // CHECK:  encoding: [0x62,0xf1,0x55,0x40,0x66,0x6a,0x80]
1742           vpcmpgtd -8192(%rdx), %zmm21, %k5
1743
1744 // CHECK: vpcmpgtd -8256(%rdx), %zmm21, %k5
1745 // CHECK:  encoding: [0x62,0xf1,0x55,0x40,0x66,0xaa,0xc0,0xdf,0xff,0xff]
1746           vpcmpgtd -8256(%rdx), %zmm21, %k5
1747
1748 // CHECK: vpcmpgtd 508(%rdx){1to16}, %zmm21, %k5
1749 // CHECK:  encoding: [0x62,0xf1,0x55,0x50,0x66,0x6a,0x7f]
1750           vpcmpgtd 508(%rdx){1to16}, %zmm21, %k5
1751
1752 // CHECK: vpcmpgtd 512(%rdx){1to16}, %zmm21, %k5
1753 // CHECK:  encoding: [0x62,0xf1,0x55,0x50,0x66,0xaa,0x00,0x02,0x00,0x00]
1754           vpcmpgtd 512(%rdx){1to16}, %zmm21, %k5
1755
1756 // CHECK: vpcmpgtd -512(%rdx){1to16}, %zmm21, %k5
1757 // CHECK:  encoding: [0x62,0xf1,0x55,0x50,0x66,0x6a,0x80]
1758           vpcmpgtd -512(%rdx){1to16}, %zmm21, %k5
1759
1760 // CHECK: vpcmpgtd -516(%rdx){1to16}, %zmm21, %k5
1761 // CHECK:  encoding: [0x62,0xf1,0x55,0x50,0x66,0xaa,0xfc,0xfd,0xff,0xff]
1762           vpcmpgtd -516(%rdx){1to16}, %zmm21, %k5
1763
1764 // CHECK: vpcmpgtq %zmm17, %zmm20, %k2
1765 // CHECK:  encoding: [0x62,0xb2,0xdd,0x40,0x37,0xd1]
1766           vpcmpgtq %zmm17, %zmm20, %k2
1767
1768 // CHECK: vpcmpgtq %zmm17, %zmm20, %k2 {%k3}
1769 // CHECK:  encoding: [0x62,0xb2,0xdd,0x43,0x37,0xd1]
1770           vpcmpgtq %zmm17, %zmm20, %k2 {%k3}
1771
1772 // CHECK: vpcmpgtq (%rcx), %zmm20, %k2
1773 // CHECK:  encoding: [0x62,0xf2,0xdd,0x40,0x37,0x11]
1774           vpcmpgtq (%rcx), %zmm20, %k2
1775
1776 // CHECK: vpcmpgtq 291(%rax,%r14,8), %zmm20, %k2
1777 // CHECK:  encoding: [0x62,0xb2,0xdd,0x40,0x37,0x94,0xf0,0x23,0x01,0x00,0x00]
1778           vpcmpgtq 291(%rax,%r14,8), %zmm20, %k2
1779
1780 // CHECK: vpcmpgtq (%rcx){1to8}, %zmm20, %k2
1781 // CHECK:  encoding: [0x62,0xf2,0xdd,0x50,0x37,0x11]
1782           vpcmpgtq (%rcx){1to8}, %zmm20, %k2
1783
1784 // CHECK: vpcmpgtq 8128(%rdx), %zmm20, %k2
1785 // CHECK:  encoding: [0x62,0xf2,0xdd,0x40,0x37,0x52,0x7f]
1786           vpcmpgtq 8128(%rdx), %zmm20, %k2
1787
1788 // CHECK: vpcmpgtq 8192(%rdx), %zmm20, %k2
1789 // CHECK:  encoding: [0x62,0xf2,0xdd,0x40,0x37,0x92,0x00,0x20,0x00,0x00]
1790           vpcmpgtq 8192(%rdx), %zmm20, %k2
1791
1792 // CHECK: vpcmpgtq -8192(%rdx), %zmm20, %k2
1793 // CHECK:  encoding: [0x62,0xf2,0xdd,0x40,0x37,0x52,0x80]
1794           vpcmpgtq -8192(%rdx), %zmm20, %k2
1795
1796 // CHECK: vpcmpgtq -8256(%rdx), %zmm20, %k2
1797 // CHECK:  encoding: [0x62,0xf2,0xdd,0x40,0x37,0x92,0xc0,0xdf,0xff,0xff]
1798           vpcmpgtq -8256(%rdx), %zmm20, %k2
1799
1800 // CHECK: vpcmpgtq 1016(%rdx){1to8}, %zmm20, %k2
1801 // CHECK:  encoding: [0x62,0xf2,0xdd,0x50,0x37,0x52,0x7f]
1802           vpcmpgtq 1016(%rdx){1to8}, %zmm20, %k2
1803
1804 // CHECK: vpcmpgtq 1024(%rdx){1to8}, %zmm20, %k2
1805 // CHECK:  encoding: [0x62,0xf2,0xdd,0x50,0x37,0x92,0x00,0x04,0x00,0x00]
1806           vpcmpgtq 1024(%rdx){1to8}, %zmm20, %k2
1807
1808 // CHECK: vpcmpgtq -1024(%rdx){1to8}, %zmm20, %k2
1809 // CHECK:  encoding: [0x62,0xf2,0xdd,0x50,0x37,0x52,0x80]
1810           vpcmpgtq -1024(%rdx){1to8}, %zmm20, %k2
1811
1812 // CHECK: vpcmpgtq -1032(%rdx){1to8}, %zmm20, %k2
1813 // CHECK:  encoding: [0x62,0xf2,0xdd,0x50,0x37,0x92,0xf8,0xfb,0xff,0xff]
1814           vpcmpgtq -1032(%rdx){1to8}, %zmm20, %k2
1815
1816 // CHECK: vpcmpq $171, %zmm28, %zmm28, %k5
1817 // CHECK:  encoding: [0x62,0x93,0x9d,0x40,0x1f,0xec,0xab]
1818           vpcmpq $171, %zmm28, %zmm28, %k5
1819
1820 // CHECK: vpcmpq $171, %zmm28, %zmm28, %k5 {%k3}
1821 // CHECK:  encoding: [0x62,0x93,0x9d,0x43,0x1f,0xec,0xab]
1822           vpcmpq $171, %zmm28, %zmm28, %k5 {%k3}
1823
1824 // CHECK: vpcmpq $123, %zmm28, %zmm28, %k5
1825 // CHECK:  encoding: [0x62,0x93,0x9d,0x40,0x1f,0xec,0x7b]
1826           vpcmpq $123, %zmm28, %zmm28, %k5
1827
1828 // CHECK: vpcmpq $123, (%rcx), %zmm28, %k5
1829 // CHECK:  encoding: [0x62,0xf3,0x9d,0x40,0x1f,0x29,0x7b]
1830           vpcmpq $123, (%rcx), %zmm28, %k5
1831
1832 // CHECK: vpcmpq $123, 291(%rax,%r14,8), %zmm28, %k5
1833 // CHECK:  encoding: [0x62,0xb3,0x9d,0x40,0x1f,0xac,0xf0,0x23,0x01,0x00,0x00,0x7b]
1834           vpcmpq $123, 291(%rax,%r14,8), %zmm28, %k5
1835
1836 // CHECK: vpcmpq $123, (%rcx){1to8}, %zmm28, %k5
1837 // CHECK:  encoding: [0x62,0xf3,0x9d,0x50,0x1f,0x29,0x7b]
1838           vpcmpq $123, (%rcx){1to8}, %zmm28, %k5
1839
1840 // CHECK: vpcmpq $123, 8128(%rdx), %zmm28, %k5
1841 // CHECK:  encoding: [0x62,0xf3,0x9d,0x40,0x1f,0x6a,0x7f,0x7b]
1842           vpcmpq $123, 8128(%rdx), %zmm28, %k5
1843
1844 // CHECK: vpcmpq $123, 8192(%rdx), %zmm28, %k5
1845 // CHECK:  encoding: [0x62,0xf3,0x9d,0x40,0x1f,0xaa,0x00,0x20,0x00,0x00,0x7b]
1846           vpcmpq $123, 8192(%rdx), %zmm28, %k5
1847
1848 // CHECK: vpcmpq $123, -8192(%rdx), %zmm28, %k5
1849 // CHECK:  encoding: [0x62,0xf3,0x9d,0x40,0x1f,0x6a,0x80,0x7b]
1850           vpcmpq $123, -8192(%rdx), %zmm28, %k5
1851
1852 // CHECK: vpcmpq $123, -8256(%rdx), %zmm28, %k5
1853 // CHECK:  encoding: [0x62,0xf3,0x9d,0x40,0x1f,0xaa,0xc0,0xdf,0xff,0xff,0x7b]
1854           vpcmpq $123, -8256(%rdx), %zmm28, %k5
1855
1856 // CHECK: vpcmpq $123, 1016(%rdx){1to8}, %zmm28, %k5
1857 // CHECK:  encoding: [0x62,0xf3,0x9d,0x50,0x1f,0x6a,0x7f,0x7b]
1858           vpcmpq $123, 1016(%rdx){1to8}, %zmm28, %k5
1859
1860 // CHECK: vpcmpq $123, 1024(%rdx){1to8}, %zmm28, %k5
1861 // CHECK:  encoding: [0x62,0xf3,0x9d,0x50,0x1f,0xaa,0x00,0x04,0x00,0x00,0x7b]
1862           vpcmpq $123, 1024(%rdx){1to8}, %zmm28, %k5
1863
1864 // CHECK: vpcmpq $123, -1024(%rdx){1to8}, %zmm28, %k5
1865 // CHECK:  encoding: [0x62,0xf3,0x9d,0x50,0x1f,0x6a,0x80,0x7b]
1866           vpcmpq $123, -1024(%rdx){1to8}, %zmm28, %k5
1867
1868 // CHECK: vpcmpq $123, -1032(%rdx){1to8}, %zmm28, %k5
1869 // CHECK:  encoding: [0x62,0xf3,0x9d,0x50,0x1f,0xaa,0xf8,0xfb,0xff,0xff,0x7b]
1870           vpcmpq $123, -1032(%rdx){1to8}, %zmm28, %k5
1871
1872 // CHECK: vpcmpud $171, %zmm7, %zmm25, %k2
1873 // CHECK:  encoding: [0x62,0xf3,0x35,0x40,0x1e,0xd7,0xab]
1874           vpcmpud $171, %zmm7, %zmm25, %k2
1875
1876 // CHECK: vpcmpud $171, %zmm7, %zmm25, %k2 {%k1}
1877 // CHECK:  encoding: [0x62,0xf3,0x35,0x41,0x1e,0xd7,0xab]
1878           vpcmpud $171, %zmm7, %zmm25, %k2 {%k1}
1879
1880 // CHECK: vpcmpud $123, %zmm7, %zmm25, %k2
1881 // CHECK:  encoding: [0x62,0xf3,0x35,0x40,0x1e,0xd7,0x7b]
1882           vpcmpud $123, %zmm7, %zmm25, %k2
1883
1884 // CHECK: vpcmpud $123, (%rcx), %zmm25, %k2
1885 // CHECK:  encoding: [0x62,0xf3,0x35,0x40,0x1e,0x11,0x7b]
1886           vpcmpud $123, (%rcx), %zmm25, %k2
1887
1888 // CHECK: vpcmpud $123, 291(%rax,%r14,8), %zmm25, %k2
1889 // CHECK:  encoding: [0x62,0xb3,0x35,0x40,0x1e,0x94,0xf0,0x23,0x01,0x00,0x00,0x7b]
1890           vpcmpud $123, 291(%rax,%r14,8), %zmm25, %k2
1891
1892 // CHECK: vpcmpud $123, (%rcx){1to16}, %zmm25, %k2
1893 // CHECK:  encoding: [0x62,0xf3,0x35,0x50,0x1e,0x11,0x7b]
1894           vpcmpud $123, (%rcx){1to16}, %zmm25, %k2
1895
1896 // CHECK: vpcmpud $123, 8128(%rdx), %zmm25, %k2
1897 // CHECK:  encoding: [0x62,0xf3,0x35,0x40,0x1e,0x52,0x7f,0x7b]
1898           vpcmpud $123, 8128(%rdx), %zmm25, %k2
1899
1900 // CHECK: vpcmpud $123, 8192(%rdx), %zmm25, %k2
1901 // CHECK:  encoding: [0x62,0xf3,0x35,0x40,0x1e,0x92,0x00,0x20,0x00,0x00,0x7b]
1902           vpcmpud $123, 8192(%rdx), %zmm25, %k2
1903
1904 // CHECK: vpcmpud $123, -8192(%rdx), %zmm25, %k2
1905 // CHECK:  encoding: [0x62,0xf3,0x35,0x40,0x1e,0x52,0x80,0x7b]
1906           vpcmpud $123, -8192(%rdx), %zmm25, %k2
1907
1908 // CHECK: vpcmpud $123, -8256(%rdx), %zmm25, %k2
1909 // CHECK:  encoding: [0x62,0xf3,0x35,0x40,0x1e,0x92,0xc0,0xdf,0xff,0xff,0x7b]
1910           vpcmpud $123, -8256(%rdx), %zmm25, %k2
1911
1912 // CHECK: vpcmpud $123, 508(%rdx){1to16}, %zmm25, %k2
1913 // CHECK:  encoding: [0x62,0xf3,0x35,0x50,0x1e,0x52,0x7f,0x7b]
1914           vpcmpud $123, 508(%rdx){1to16}, %zmm25, %k2
1915
1916 // CHECK: vpcmpud $123, 512(%rdx){1to16}, %zmm25, %k2
1917 // CHECK:  encoding: [0x62,0xf3,0x35,0x50,0x1e,0x92,0x00,0x02,0x00,0x00,0x7b]
1918           vpcmpud $123, 512(%rdx){1to16}, %zmm25, %k2
1919
1920 // CHECK: vpcmpud $123, -512(%rdx){1to16}, %zmm25, %k2
1921 // CHECK:  encoding: [0x62,0xf3,0x35,0x50,0x1e,0x52,0x80,0x7b]
1922           vpcmpud $123, -512(%rdx){1to16}, %zmm25, %k2
1923
1924 // CHECK: vpcmpud $123, -516(%rdx){1to16}, %zmm25, %k2
1925 // CHECK:  encoding: [0x62,0xf3,0x35,0x50,0x1e,0x92,0xfc,0xfd,0xff,0xff,0x7b]
1926           vpcmpud $123, -516(%rdx){1to16}, %zmm25, %k2
1927
1928 // CHECK: vpcmpuq $171, %zmm8, %zmm14, %k3
1929 // CHECK:  encoding: [0x62,0xd3,0x8d,0x48,0x1e,0xd8,0xab]
1930           vpcmpuq $171, %zmm8, %zmm14, %k3
1931
1932 // CHECK: vpcmpuq $171, %zmm8, %zmm14, %k3 {%k2}
1933 // CHECK:  encoding: [0x62,0xd3,0x8d,0x4a,0x1e,0xd8,0xab]
1934           vpcmpuq $171, %zmm8, %zmm14, %k3 {%k2}
1935
1936 // CHECK: vpcmpuq $123, %zmm8, %zmm14, %k3
1937 // CHECK:  encoding: [0x62,0xd3,0x8d,0x48,0x1e,0xd8,0x7b]
1938           vpcmpuq $123, %zmm8, %zmm14, %k3
1939
1940 // CHECK: vpcmpuq $123, (%rcx), %zmm14, %k3
1941 // CHECK:  encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x19,0x7b]
1942           vpcmpuq $123, (%rcx), %zmm14, %k3
1943
1944 // CHECK: vpcmpuq $123, 291(%rax,%r14,8), %zmm14, %k3
1945 // CHECK:  encoding: [0x62,0xb3,0x8d,0x48,0x1e,0x9c,0xf0,0x23,0x01,0x00,0x00,0x7b]
1946           vpcmpuq $123, 291(%rax,%r14,8), %zmm14, %k3
1947
1948 // CHECK: vpcmpuq $123, (%rcx){1to8}, %zmm14, %k3
1949 // CHECK:  encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x19,0x7b]
1950           vpcmpuq $123, (%rcx){1to8}, %zmm14, %k3
1951
1952 // CHECK: vpcmpuq $123, 8128(%rdx), %zmm14, %k3
1953 // CHECK:  encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x5a,0x7f,0x7b]
1954           vpcmpuq $123, 8128(%rdx), %zmm14, %k3
1955
1956 // CHECK: vpcmpuq $123, 8192(%rdx), %zmm14, %k3
1957 // CHECK:  encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x9a,0x00,0x20,0x00,0x00,0x7b]
1958           vpcmpuq $123, 8192(%rdx), %zmm14, %k3
1959
1960 // CHECK: vpcmpuq $123, -8192(%rdx), %zmm14, %k3
1961 // CHECK:  encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x5a,0x80,0x7b]
1962           vpcmpuq $123, -8192(%rdx), %zmm14, %k3
1963
1964 // CHECK: vpcmpuq $123, -8256(%rdx), %zmm14, %k3
1965 // CHECK:  encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x9a,0xc0,0xdf,0xff,0xff,0x7b]
1966           vpcmpuq $123, -8256(%rdx), %zmm14, %k3
1967
1968 // CHECK: vpcmpuq $123, 1016(%rdx){1to8}, %zmm14, %k3
1969 // CHECK:  encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x5a,0x7f,0x7b]
1970           vpcmpuq $123, 1016(%rdx){1to8}, %zmm14, %k3
1971
1972 // CHECK: vpcmpuq $123, 1024(%rdx){1to8}, %zmm14, %k3
1973 // CHECK:  encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x9a,0x00,0x04,0x00,0x00,0x7b]
1974           vpcmpuq $123, 1024(%rdx){1to8}, %zmm14, %k3
1975
1976 // CHECK: vpcmpuq $123, -1024(%rdx){1to8}, %zmm14, %k3
1977 // CHECK:  encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x5a,0x80,0x7b]
1978           vpcmpuq $123, -1024(%rdx){1to8}, %zmm14, %k3
1979
1980 // CHECK: vpcmpuq $123, -1032(%rdx){1to8}, %zmm14, %k3
1981 // CHECK:  encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x9a,0xf8,0xfb,0xff,0xff,0x7b]
1982           vpcmpuq $123, -1032(%rdx){1to8}, %zmm14, %k3
1983
1984 // CHECK: vpmaxsd %zmm16, %zmm8, %zmm6
1985 // CHECK:  encoding: [0x62,0xb2,0x3d,0x48,0x3d,0xf0]
1986           vpmaxsd %zmm16, %zmm8, %zmm6
1987
1988 // CHECK: vpmaxsd %zmm16, %zmm8, %zmm6 {%k3}
1989 // CHECK:  encoding: [0x62,0xb2,0x3d,0x4b,0x3d,0xf0]
1990           vpmaxsd %zmm16, %zmm8, %zmm6 {%k3}
1991
1992 // CHECK: vpmaxsd %zmm16, %zmm8, %zmm6 {%k3} {z}
1993 // CHECK:  encoding: [0x62,0xb2,0x3d,0xcb,0x3d,0xf0]
1994           vpmaxsd %zmm16, %zmm8, %zmm6 {%k3} {z}
1995
1996 // CHECK: vpmaxsd (%rcx), %zmm8, %zmm6
1997 // CHECK:  encoding: [0x62,0xf2,0x3d,0x48,0x3d,0x31]
1998           vpmaxsd (%rcx), %zmm8, %zmm6
1999
2000 // CHECK: vpmaxsd 291(%rax,%r14,8), %zmm8, %zmm6
2001 // CHECK:  encoding: [0x62,0xb2,0x3d,0x48,0x3d,0xb4,0xf0,0x23,0x01,0x00,0x00]
2002           vpmaxsd 291(%rax,%r14,8), %zmm8, %zmm6
2003
2004 // CHECK: vpmaxsd (%rcx){1to16}, %zmm8, %zmm6
2005 // CHECK:  encoding: [0x62,0xf2,0x3d,0x58,0x3d,0x31]
2006           vpmaxsd (%rcx){1to16}, %zmm8, %zmm6
2007
2008 // CHECK: vpmaxsd 8128(%rdx), %zmm8, %zmm6
2009 // CHECK:  encoding: [0x62,0xf2,0x3d,0x48,0x3d,0x72,0x7f]
2010           vpmaxsd 8128(%rdx), %zmm8, %zmm6
2011
2012 // CHECK: vpmaxsd 8192(%rdx), %zmm8, %zmm6
2013 // CHECK:  encoding: [0x62,0xf2,0x3d,0x48,0x3d,0xb2,0x00,0x20,0x00,0x00]
2014           vpmaxsd 8192(%rdx), %zmm8, %zmm6
2015
2016 // CHECK: vpmaxsd -8192(%rdx), %zmm8, %zmm6
2017 // CHECK:  encoding: [0x62,0xf2,0x3d,0x48,0x3d,0x72,0x80]
2018           vpmaxsd -8192(%rdx), %zmm8, %zmm6
2019
2020 // CHECK: vpmaxsd -8256(%rdx), %zmm8, %zmm6
2021 // CHECK:  encoding: [0x62,0xf2,0x3d,0x48,0x3d,0xb2,0xc0,0xdf,0xff,0xff]
2022           vpmaxsd -8256(%rdx), %zmm8, %zmm6
2023
2024 // CHECK: vpmaxsd 508(%rdx){1to16}, %zmm8, %zmm6
2025 // CHECK:  encoding: [0x62,0xf2,0x3d,0x58,0x3d,0x72,0x7f]
2026           vpmaxsd 508(%rdx){1to16}, %zmm8, %zmm6
2027
2028 // CHECK: vpmaxsd 512(%rdx){1to16}, %zmm8, %zmm6
2029 // CHECK:  encoding: [0x62,0xf2,0x3d,0x58,0x3d,0xb2,0x00,0x02,0x00,0x00]
2030           vpmaxsd 512(%rdx){1to16}, %zmm8, %zmm6
2031
2032 // CHECK: vpmaxsd -512(%rdx){1to16}, %zmm8, %zmm6
2033 // CHECK:  encoding: [0x62,0xf2,0x3d,0x58,0x3d,0x72,0x80]
2034           vpmaxsd -512(%rdx){1to16}, %zmm8, %zmm6
2035
2036 // CHECK: vpmaxsd -516(%rdx){1to16}, %zmm8, %zmm6
2037 // CHECK:  encoding: [0x62,0xf2,0x3d,0x58,0x3d,0xb2,0xfc,0xfd,0xff,0xff]
2038           vpmaxsd -516(%rdx){1to16}, %zmm8, %zmm6
2039
2040 // CHECK: vpmaxsq %zmm1, %zmm6, %zmm6
2041 // CHECK:  encoding: [0x62,0xf2,0xcd,0x48,0x3d,0xf1]
2042           vpmaxsq %zmm1, %zmm6, %zmm6
2043
2044 // CHECK: vpmaxsq %zmm1, %zmm6, %zmm6 {%k7}
2045 // CHECK:  encoding: [0x62,0xf2,0xcd,0x4f,0x3d,0xf1]
2046           vpmaxsq %zmm1, %zmm6, %zmm6 {%k7}
2047
2048 // CHECK: vpmaxsq %zmm1, %zmm6, %zmm6 {%k7} {z}
2049 // CHECK:  encoding: [0x62,0xf2,0xcd,0xcf,0x3d,0xf1]
2050           vpmaxsq %zmm1, %zmm6, %zmm6 {%k7} {z}
2051
2052 // CHECK: vpmaxsq (%rcx), %zmm6, %zmm6
2053 // CHECK:  encoding: [0x62,0xf2,0xcd,0x48,0x3d,0x31]
2054           vpmaxsq (%rcx), %zmm6, %zmm6
2055
2056 // CHECK: vpmaxsq 291(%rax,%r14,8), %zmm6, %zmm6
2057 // CHECK:  encoding: [0x62,0xb2,0xcd,0x48,0x3d,0xb4,0xf0,0x23,0x01,0x00,0x00]
2058           vpmaxsq 291(%rax,%r14,8), %zmm6, %zmm6
2059
2060 // CHECK: vpmaxsq (%rcx){1to8}, %zmm6, %zmm6
2061 // CHECK:  encoding: [0x62,0xf2,0xcd,0x58,0x3d,0x31]
2062           vpmaxsq (%rcx){1to8}, %zmm6, %zmm6
2063
2064 // CHECK: vpmaxsq 8128(%rdx), %zmm6, %zmm6
2065 // CHECK:  encoding: [0x62,0xf2,0xcd,0x48,0x3d,0x72,0x7f]
2066           vpmaxsq 8128(%rdx), %zmm6, %zmm6
2067
2068 // CHECK: vpmaxsq 8192(%rdx), %zmm6, %zmm6
2069 // CHECK:  encoding: [0x62,0xf2,0xcd,0x48,0x3d,0xb2,0x00,0x20,0x00,0x00]
2070           vpmaxsq 8192(%rdx), %zmm6, %zmm6
2071
2072 // CHECK: vpmaxsq -8192(%rdx), %zmm6, %zmm6
2073 // CHECK:  encoding: [0x62,0xf2,0xcd,0x48,0x3d,0x72,0x80]
2074           vpmaxsq -8192(%rdx), %zmm6, %zmm6
2075
2076 // CHECK: vpmaxsq -8256(%rdx), %zmm6, %zmm6
2077 // CHECK:  encoding: [0x62,0xf2,0xcd,0x48,0x3d,0xb2,0xc0,0xdf,0xff,0xff]
2078           vpmaxsq -8256(%rdx), %zmm6, %zmm6
2079
2080 // CHECK: vpmaxsq 1016(%rdx){1to8}, %zmm6, %zmm6
2081 // CHECK:  encoding: [0x62,0xf2,0xcd,0x58,0x3d,0x72,0x7f]
2082           vpmaxsq 1016(%rdx){1to8}, %zmm6, %zmm6
2083
2084 // CHECK: vpmaxsq 1024(%rdx){1to8}, %zmm6, %zmm6
2085 // CHECK:  encoding: [0x62,0xf2,0xcd,0x58,0x3d,0xb2,0x00,0x04,0x00,0x00]
2086           vpmaxsq 1024(%rdx){1to8}, %zmm6, %zmm6
2087
2088 // CHECK: vpmaxsq -1024(%rdx){1to8}, %zmm6, %zmm6
2089 // CHECK:  encoding: [0x62,0xf2,0xcd,0x58,0x3d,0x72,0x80]
2090           vpmaxsq -1024(%rdx){1to8}, %zmm6, %zmm6
2091
2092 // CHECK: vpmaxsq -1032(%rdx){1to8}, %zmm6, %zmm6
2093 // CHECK:  encoding: [0x62,0xf2,0xcd,0x58,0x3d,0xb2,0xf8,0xfb,0xff,0xff]
2094           vpmaxsq -1032(%rdx){1to8}, %zmm6, %zmm6
2095
2096 // CHECK: vpmaxud %zmm25, %zmm7, %zmm17
2097 // CHECK:  encoding: [0x62,0x82,0x45,0x48,0x3f,0xc9]
2098           vpmaxud %zmm25, %zmm7, %zmm17
2099
2100 // CHECK: vpmaxud %zmm25, %zmm7, %zmm17 {%k5}
2101 // CHECK:  encoding: [0x62,0x82,0x45,0x4d,0x3f,0xc9]
2102           vpmaxud %zmm25, %zmm7, %zmm17 {%k5}
2103
2104 // CHECK: vpmaxud %zmm25, %zmm7, %zmm17 {%k5} {z}
2105 // CHECK:  encoding: [0x62,0x82,0x45,0xcd,0x3f,0xc9]
2106           vpmaxud %zmm25, %zmm7, %zmm17 {%k5} {z}
2107
2108 // CHECK: vpmaxud (%rcx), %zmm7, %zmm17
2109 // CHECK:  encoding: [0x62,0xe2,0x45,0x48,0x3f,0x09]
2110           vpmaxud (%rcx), %zmm7, %zmm17
2111
2112 // CHECK: vpmaxud 291(%rax,%r14,8), %zmm7, %zmm17
2113 // CHECK:  encoding: [0x62,0xa2,0x45,0x48,0x3f,0x8c,0xf0,0x23,0x01,0x00,0x00]
2114           vpmaxud 291(%rax,%r14,8), %zmm7, %zmm17
2115
2116 // CHECK: vpmaxud (%rcx){1to16}, %zmm7, %zmm17
2117 // CHECK:  encoding: [0x62,0xe2,0x45,0x58,0x3f,0x09]
2118           vpmaxud (%rcx){1to16}, %zmm7, %zmm17
2119
2120 // CHECK: vpmaxud 8128(%rdx), %zmm7, %zmm17
2121 // CHECK:  encoding: [0x62,0xe2,0x45,0x48,0x3f,0x4a,0x7f]
2122           vpmaxud 8128(%rdx), %zmm7, %zmm17
2123
2124 // CHECK: vpmaxud 8192(%rdx), %zmm7, %zmm17
2125 // CHECK:  encoding: [0x62,0xe2,0x45,0x48,0x3f,0x8a,0x00,0x20,0x00,0x00]
2126           vpmaxud 8192(%rdx), %zmm7, %zmm17
2127
2128 // CHECK: vpmaxud -8192(%rdx), %zmm7, %zmm17
2129 // CHECK:  encoding: [0x62,0xe2,0x45,0x48,0x3f,0x4a,0x80]
2130           vpmaxud -8192(%rdx), %zmm7, %zmm17
2131
2132 // CHECK: vpmaxud -8256(%rdx), %zmm7, %zmm17
2133 // CHECK:  encoding: [0x62,0xe2,0x45,0x48,0x3f,0x8a,0xc0,0xdf,0xff,0xff]
2134           vpmaxud -8256(%rdx), %zmm7, %zmm17
2135
2136 // CHECK: vpmaxud 508(%rdx){1to16}, %zmm7, %zmm17
2137 // CHECK:  encoding: [0x62,0xe2,0x45,0x58,0x3f,0x4a,0x7f]
2138           vpmaxud 508(%rdx){1to16}, %zmm7, %zmm17
2139
2140 // CHECK: vpmaxud 512(%rdx){1to16}, %zmm7, %zmm17
2141 // CHECK:  encoding: [0x62,0xe2,0x45,0x58,0x3f,0x8a,0x00,0x02,0x00,0x00]
2142           vpmaxud 512(%rdx){1to16}, %zmm7, %zmm17
2143
2144 // CHECK: vpmaxud -512(%rdx){1to16}, %zmm7, %zmm17
2145 // CHECK:  encoding: [0x62,0xe2,0x45,0x58,0x3f,0x4a,0x80]
2146           vpmaxud -512(%rdx){1to16}, %zmm7, %zmm17
2147
2148 // CHECK: vpmaxud -516(%rdx){1to16}, %zmm7, %zmm17
2149 // CHECK:  encoding: [0x62,0xe2,0x45,0x58,0x3f,0x8a,0xfc,0xfd,0xff,0xff]
2150           vpmaxud -516(%rdx){1to16}, %zmm7, %zmm17
2151
2152 // CHECK: vpmaxuq %zmm25, %zmm22, %zmm30
2153 // CHECK:  encoding: [0x62,0x02,0xcd,0x40,0x3f,0xf1]
2154           vpmaxuq %zmm25, %zmm22, %zmm30
2155
2156 // CHECK: vpmaxuq %zmm25, %zmm22, %zmm30 {%k1}
2157 // CHECK:  encoding: [0x62,0x02,0xcd,0x41,0x3f,0xf1]
2158           vpmaxuq %zmm25, %zmm22, %zmm30 {%k1}
2159
2160 // CHECK: vpmaxuq %zmm25, %zmm22, %zmm30 {%k1} {z}
2161 // CHECK:  encoding: [0x62,0x02,0xcd,0xc1,0x3f,0xf1]
2162           vpmaxuq %zmm25, %zmm22, %zmm30 {%k1} {z}
2163
2164 // CHECK: vpmaxuq (%rcx), %zmm22, %zmm30
2165 // CHECK:  encoding: [0x62,0x62,0xcd,0x40,0x3f,0x31]
2166           vpmaxuq (%rcx), %zmm22, %zmm30
2167
2168 // CHECK: vpmaxuq 291(%rax,%r14,8), %zmm22, %zmm30
2169 // CHECK:  encoding: [0x62,0x22,0xcd,0x40,0x3f,0xb4,0xf0,0x23,0x01,0x00,0x00]
2170           vpmaxuq 291(%rax,%r14,8), %zmm22, %zmm30
2171
2172 // CHECK: vpmaxuq (%rcx){1to8}, %zmm22, %zmm30
2173 // CHECK:  encoding: [0x62,0x62,0xcd,0x50,0x3f,0x31]
2174           vpmaxuq (%rcx){1to8}, %zmm22, %zmm30
2175
2176 // CHECK: vpmaxuq 8128(%rdx), %zmm22, %zmm30
2177 // CHECK:  encoding: [0x62,0x62,0xcd,0x40,0x3f,0x72,0x7f]
2178           vpmaxuq 8128(%rdx), %zmm22, %zmm30
2179
2180 // CHECK: vpmaxuq 8192(%rdx), %zmm22, %zmm30
2181 // CHECK:  encoding: [0x62,0x62,0xcd,0x40,0x3f,0xb2,0x00,0x20,0x00,0x00]
2182           vpmaxuq 8192(%rdx), %zmm22, %zmm30
2183
2184 // CHECK: vpmaxuq -8192(%rdx), %zmm22, %zmm30
2185 // CHECK:  encoding: [0x62,0x62,0xcd,0x40,0x3f,0x72,0x80]
2186           vpmaxuq -8192(%rdx), %zmm22, %zmm30
2187
2188 // CHECK: vpmaxuq -8256(%rdx), %zmm22, %zmm30
2189 // CHECK:  encoding: [0x62,0x62,0xcd,0x40,0x3f,0xb2,0xc0,0xdf,0xff,0xff]
2190           vpmaxuq -8256(%rdx), %zmm22, %zmm30
2191
2192 // CHECK: vpmaxuq 1016(%rdx){1to8}, %zmm22, %zmm30
2193 // CHECK:  encoding: [0x62,0x62,0xcd,0x50,0x3f,0x72,0x7f]
2194           vpmaxuq 1016(%rdx){1to8}, %zmm22, %zmm30
2195
2196 // CHECK: vpmaxuq 1024(%rdx){1to8}, %zmm22, %zmm30
2197 // CHECK:  encoding: [0x62,0x62,0xcd,0x50,0x3f,0xb2,0x00,0x04,0x00,0x00]
2198           vpmaxuq 1024(%rdx){1to8}, %zmm22, %zmm30
2199
2200 // CHECK: vpmaxuq -1024(%rdx){1to8}, %zmm22, %zmm30
2201 // CHECK:  encoding: [0x62,0x62,0xcd,0x50,0x3f,0x72,0x80]
2202           vpmaxuq -1024(%rdx){1to8}, %zmm22, %zmm30
2203
2204 // CHECK: vpmaxuq -1032(%rdx){1to8}, %zmm22, %zmm30
2205 // CHECK:  encoding: [0x62,0x62,0xcd,0x50,0x3f,0xb2,0xf8,0xfb,0xff,0xff]
2206           vpmaxuq -1032(%rdx){1to8}, %zmm22, %zmm30
2207
2208 // CHECK: vpminsd %zmm24, %zmm16, %zmm2
2209 // CHECK:  encoding: [0x62,0x92,0x7d,0x40,0x39,0xd0]
2210           vpminsd %zmm24, %zmm16, %zmm2
2211
2212 // CHECK: vpminsd %zmm24, %zmm16, %zmm2 {%k3}
2213 // CHECK:  encoding: [0x62,0x92,0x7d,0x43,0x39,0xd0]
2214           vpminsd %zmm24, %zmm16, %zmm2 {%k3}
2215
2216 // CHECK: vpminsd %zmm24, %zmm16, %zmm2 {%k3} {z}
2217 // CHECK:  encoding: [0x62,0x92,0x7d,0xc3,0x39,0xd0]
2218           vpminsd %zmm24, %zmm16, %zmm2 {%k3} {z}
2219
2220 // CHECK: vpminsd (%rcx), %zmm16, %zmm2
2221 // CHECK:  encoding: [0x62,0xf2,0x7d,0x40,0x39,0x11]
2222           vpminsd (%rcx), %zmm16, %zmm2
2223
2224 // CHECK: vpminsd 291(%rax,%r14,8), %zmm16, %zmm2
2225 // CHECK:  encoding: [0x62,0xb2,0x7d,0x40,0x39,0x94,0xf0,0x23,0x01,0x00,0x00]
2226           vpminsd 291(%rax,%r14,8), %zmm16, %zmm2
2227
2228 // CHECK: vpminsd (%rcx){1to16}, %zmm16, %zmm2
2229 // CHECK:  encoding: [0x62,0xf2,0x7d,0x50,0x39,0x11]
2230           vpminsd (%rcx){1to16}, %zmm16, %zmm2
2231
2232 // CHECK: vpminsd 8128(%rdx), %zmm16, %zmm2
2233 // CHECK:  encoding: [0x62,0xf2,0x7d,0x40,0x39,0x52,0x7f]
2234           vpminsd 8128(%rdx), %zmm16, %zmm2
2235
2236 // CHECK: vpminsd 8192(%rdx), %zmm16, %zmm2
2237 // CHECK:  encoding: [0x62,0xf2,0x7d,0x40,0x39,0x92,0x00,0x20,0x00,0x00]
2238           vpminsd 8192(%rdx), %zmm16, %zmm2
2239
2240 // CHECK: vpminsd -8192(%rdx), %zmm16, %zmm2
2241 // CHECK:  encoding: [0x62,0xf2,0x7d,0x40,0x39,0x52,0x80]
2242           vpminsd -8192(%rdx), %zmm16, %zmm2
2243
2244 // CHECK: vpminsd -8256(%rdx), %zmm16, %zmm2
2245 // CHECK:  encoding: [0x62,0xf2,0x7d,0x40,0x39,0x92,0xc0,0xdf,0xff,0xff]
2246           vpminsd -8256(%rdx), %zmm16, %zmm2
2247
2248 // CHECK: vpminsd 508(%rdx){1to16}, %zmm16, %zmm2
2249 // CHECK:  encoding: [0x62,0xf2,0x7d,0x50,0x39,0x52,0x7f]
2250           vpminsd 508(%rdx){1to16}, %zmm16, %zmm2
2251
2252 // CHECK: vpminsd 512(%rdx){1to16}, %zmm16, %zmm2
2253 // CHECK:  encoding: [0x62,0xf2,0x7d,0x50,0x39,0x92,0x00,0x02,0x00,0x00]
2254           vpminsd 512(%rdx){1to16}, %zmm16, %zmm2
2255
2256 // CHECK: vpminsd -512(%rdx){1to16}, %zmm16, %zmm2
2257 // CHECK:  encoding: [0x62,0xf2,0x7d,0x50,0x39,0x52,0x80]
2258           vpminsd -512(%rdx){1to16}, %zmm16, %zmm2
2259
2260 // CHECK: vpminsd -516(%rdx){1to16}, %zmm16, %zmm2
2261 // CHECK:  encoding: [0x62,0xf2,0x7d,0x50,0x39,0x92,0xfc,0xfd,0xff,0xff]
2262           vpminsd -516(%rdx){1to16}, %zmm16, %zmm2
2263
2264 // CHECK: vpminsq %zmm17, %zmm16, %zmm20
2265 // CHECK:  encoding: [0x62,0xa2,0xfd,0x40,0x39,0xe1]
2266           vpminsq %zmm17, %zmm16, %zmm20
2267
2268 // CHECK: vpminsq %zmm17, %zmm16, %zmm20 {%k6}
2269 // CHECK:  encoding: [0x62,0xa2,0xfd,0x46,0x39,0xe1]
2270           vpminsq %zmm17, %zmm16, %zmm20 {%k6}
2271
2272 // CHECK: vpminsq %zmm17, %zmm16, %zmm20 {%k6} {z}
2273 // CHECK:  encoding: [0x62,0xa2,0xfd,0xc6,0x39,0xe1]
2274           vpminsq %zmm17, %zmm16, %zmm20 {%k6} {z}
2275
2276 // CHECK: vpminsq (%rcx), %zmm16, %zmm20
2277 // CHECK:  encoding: [0x62,0xe2,0xfd,0x40,0x39,0x21]
2278           vpminsq (%rcx), %zmm16, %zmm20
2279
2280 // CHECK: vpminsq 291(%rax,%r14,8), %zmm16, %zmm20
2281 // CHECK:  encoding: [0x62,0xa2,0xfd,0x40,0x39,0xa4,0xf0,0x23,0x01,0x00,0x00]
2282           vpminsq 291(%rax,%r14,8), %zmm16, %zmm20
2283
2284 // CHECK: vpminsq (%rcx){1to8}, %zmm16, %zmm20
2285 // CHECK:  encoding: [0x62,0xe2,0xfd,0x50,0x39,0x21]
2286           vpminsq (%rcx){1to8}, %zmm16, %zmm20
2287
2288 // CHECK: vpminsq 8128(%rdx), %zmm16, %zmm20
2289 // CHECK:  encoding: [0x62,0xe2,0xfd,0x40,0x39,0x62,0x7f]
2290           vpminsq 8128(%rdx), %zmm16, %zmm20
2291
2292 // CHECK: vpminsq 8192(%rdx), %zmm16, %zmm20
2293 // CHECK:  encoding: [0x62,0xe2,0xfd,0x40,0x39,0xa2,0x00,0x20,0x00,0x00]
2294           vpminsq 8192(%rdx), %zmm16, %zmm20
2295
2296 // CHECK: vpminsq -8192(%rdx), %zmm16, %zmm20
2297 // CHECK:  encoding: [0x62,0xe2,0xfd,0x40,0x39,0x62,0x80]
2298           vpminsq -8192(%rdx), %zmm16, %zmm20
2299
2300 // CHECK: vpminsq -8256(%rdx), %zmm16, %zmm20
2301 // CHECK:  encoding: [0x62,0xe2,0xfd,0x40,0x39,0xa2,0xc0,0xdf,0xff,0xff]
2302           vpminsq -8256(%rdx), %zmm16, %zmm20
2303
2304 // CHECK: vpminsq 1016(%rdx){1to8}, %zmm16, %zmm20
2305 // CHECK:  encoding: [0x62,0xe2,0xfd,0x50,0x39,0x62,0x7f]
2306           vpminsq 1016(%rdx){1to8}, %zmm16, %zmm20
2307
2308 // CHECK: vpminsq 1024(%rdx){1to8}, %zmm16, %zmm20
2309 // CHECK:  encoding: [0x62,0xe2,0xfd,0x50,0x39,0xa2,0x00,0x04,0x00,0x00]
2310           vpminsq 1024(%rdx){1to8}, %zmm16, %zmm20
2311
2312 // CHECK: vpminsq -1024(%rdx){1to8}, %zmm16, %zmm20
2313 // CHECK:  encoding: [0x62,0xe2,0xfd,0x50,0x39,0x62,0x80]
2314           vpminsq -1024(%rdx){1to8}, %zmm16, %zmm20
2315
2316 // CHECK: vpminsq -1032(%rdx){1to8}, %zmm16, %zmm20
2317 // CHECK:  encoding: [0x62,0xe2,0xfd,0x50,0x39,0xa2,0xf8,0xfb,0xff,0xff]
2318           vpminsq -1032(%rdx){1to8}, %zmm16, %zmm20
2319
2320 // CHECK: vpminud %zmm20, %zmm23, %zmm3
2321 // CHECK:  encoding: [0x62,0xb2,0x45,0x40,0x3b,0xdc]
2322           vpminud %zmm20, %zmm23, %zmm3
2323
2324 // CHECK: vpminud %zmm20, %zmm23, %zmm3 {%k3}
2325 // CHECK:  encoding: [0x62,0xb2,0x45,0x43,0x3b,0xdc]
2326           vpminud %zmm20, %zmm23, %zmm3 {%k3}
2327
2328 // CHECK: vpminud %zmm20, %zmm23, %zmm3 {%k3} {z}
2329 // CHECK:  encoding: [0x62,0xb2,0x45,0xc3,0x3b,0xdc]
2330           vpminud %zmm20, %zmm23, %zmm3 {%k3} {z}
2331
2332 // CHECK: vpminud (%rcx), %zmm23, %zmm3
2333 // CHECK:  encoding: [0x62,0xf2,0x45,0x40,0x3b,0x19]
2334           vpminud (%rcx), %zmm23, %zmm3
2335
2336 // CHECK: vpminud 291(%rax,%r14,8), %zmm23, %zmm3
2337 // CHECK:  encoding: [0x62,0xb2,0x45,0x40,0x3b,0x9c,0xf0,0x23,0x01,0x00,0x00]
2338           vpminud 291(%rax,%r14,8), %zmm23, %zmm3
2339
2340 // CHECK: vpminud (%rcx){1to16}, %zmm23, %zmm3
2341 // CHECK:  encoding: [0x62,0xf2,0x45,0x50,0x3b,0x19]
2342           vpminud (%rcx){1to16}, %zmm23, %zmm3
2343
2344 // CHECK: vpminud 8128(%rdx), %zmm23, %zmm3
2345 // CHECK:  encoding: [0x62,0xf2,0x45,0x40,0x3b,0x5a,0x7f]
2346           vpminud 8128(%rdx), %zmm23, %zmm3
2347
2348 // CHECK: vpminud 8192(%rdx), %zmm23, %zmm3
2349 // CHECK:  encoding: [0x62,0xf2,0x45,0x40,0x3b,0x9a,0x00,0x20,0x00,0x00]
2350           vpminud 8192(%rdx), %zmm23, %zmm3
2351
2352 // CHECK: vpminud -8192(%rdx), %zmm23, %zmm3
2353 // CHECK:  encoding: [0x62,0xf2,0x45,0x40,0x3b,0x5a,0x80]
2354           vpminud -8192(%rdx), %zmm23, %zmm3
2355
2356 // CHECK: vpminud -8256(%rdx), %zmm23, %zmm3
2357 // CHECK:  encoding: [0x62,0xf2,0x45,0x40,0x3b,0x9a,0xc0,0xdf,0xff,0xff]
2358           vpminud -8256(%rdx), %zmm23, %zmm3
2359
2360 // CHECK: vpminud 508(%rdx){1to16}, %zmm23, %zmm3
2361 // CHECK:  encoding: [0x62,0xf2,0x45,0x50,0x3b,0x5a,0x7f]
2362           vpminud 508(%rdx){1to16}, %zmm23, %zmm3
2363
2364 // CHECK: vpminud 512(%rdx){1to16}, %zmm23, %zmm3
2365 // CHECK:  encoding: [0x62,0xf2,0x45,0x50,0x3b,0x9a,0x00,0x02,0x00,0x00]
2366           vpminud 512(%rdx){1to16}, %zmm23, %zmm3
2367
2368 // CHECK: vpminud -512(%rdx){1to16}, %zmm23, %zmm3
2369 // CHECK:  encoding: [0x62,0xf2,0x45,0x50,0x3b,0x5a,0x80]
2370           vpminud -512(%rdx){1to16}, %zmm23, %zmm3
2371
2372 // CHECK: vpminud -516(%rdx){1to16}, %zmm23, %zmm3
2373 // CHECK:  encoding: [0x62,0xf2,0x45,0x50,0x3b,0x9a,0xfc,0xfd,0xff,0xff]
2374           vpminud -516(%rdx){1to16}, %zmm23, %zmm3
2375
2376 // CHECK: vpminuq %zmm7, %zmm26, %zmm11
2377 // CHECK:  encoding: [0x62,0x72,0xad,0x40,0x3b,0xdf]
2378           vpminuq %zmm7, %zmm26, %zmm11
2379
2380 // CHECK: vpminuq %zmm7, %zmm26, %zmm11 {%k5}
2381 // CHECK:  encoding: [0x62,0x72,0xad,0x45,0x3b,0xdf]
2382           vpminuq %zmm7, %zmm26, %zmm11 {%k5}
2383
2384 // CHECK: vpminuq %zmm7, %zmm26, %zmm11 {%k5} {z}
2385 // CHECK:  encoding: [0x62,0x72,0xad,0xc5,0x3b,0xdf]
2386           vpminuq %zmm7, %zmm26, %zmm11 {%k5} {z}
2387
2388 // CHECK: vpminuq (%rcx), %zmm26, %zmm11
2389 // CHECK:  encoding: [0x62,0x72,0xad,0x40,0x3b,0x19]
2390           vpminuq (%rcx), %zmm26, %zmm11
2391
2392 // CHECK: vpminuq 291(%rax,%r14,8), %zmm26, %zmm11
2393 // CHECK:  encoding: [0x62,0x32,0xad,0x40,0x3b,0x9c,0xf0,0x23,0x01,0x00,0x00]
2394           vpminuq 291(%rax,%r14,8), %zmm26, %zmm11
2395
2396 // CHECK: vpminuq (%rcx){1to8}, %zmm26, %zmm11
2397 // CHECK:  encoding: [0x62,0x72,0xad,0x50,0x3b,0x19]
2398           vpminuq (%rcx){1to8}, %zmm26, %zmm11
2399
2400 // CHECK: vpminuq 8128(%rdx), %zmm26, %zmm11
2401 // CHECK:  encoding: [0x62,0x72,0xad,0x40,0x3b,0x5a,0x7f]
2402           vpminuq 8128(%rdx), %zmm26, %zmm11
2403
2404 // CHECK: vpminuq 8192(%rdx), %zmm26, %zmm11
2405 // CHECK:  encoding: [0x62,0x72,0xad,0x40,0x3b,0x9a,0x00,0x20,0x00,0x00]
2406           vpminuq 8192(%rdx), %zmm26, %zmm11
2407
2408 // CHECK: vpminuq -8192(%rdx), %zmm26, %zmm11
2409 // CHECK:  encoding: [0x62,0x72,0xad,0x40,0x3b,0x5a,0x80]
2410           vpminuq -8192(%rdx), %zmm26, %zmm11
2411
2412 // CHECK: vpminuq -8256(%rdx), %zmm26, %zmm11
2413 // CHECK:  encoding: [0x62,0x72,0xad,0x40,0x3b,0x9a,0xc0,0xdf,0xff,0xff]
2414           vpminuq -8256(%rdx), %zmm26, %zmm11
2415
2416 // CHECK: vpminuq 1016(%rdx){1to8}, %zmm26, %zmm11
2417 // CHECK:  encoding: [0x62,0x72,0xad,0x50,0x3b,0x5a,0x7f]
2418           vpminuq 1016(%rdx){1to8}, %zmm26, %zmm11
2419
2420 // CHECK: vpminuq 1024(%rdx){1to8}, %zmm26, %zmm11
2421 // CHECK:  encoding: [0x62,0x72,0xad,0x50,0x3b,0x9a,0x00,0x04,0x00,0x00]
2422           vpminuq 1024(%rdx){1to8}, %zmm26, %zmm11
2423
2424 // CHECK: vpminuq -1024(%rdx){1to8}, %zmm26, %zmm11
2425 // CHECK:  encoding: [0x62,0x72,0xad,0x50,0x3b,0x5a,0x80]
2426           vpminuq -1024(%rdx){1to8}, %zmm26, %zmm11
2427
2428 // CHECK: vpminuq -1032(%rdx){1to8}, %zmm26, %zmm11
2429 // CHECK:  encoding: [0x62,0x72,0xad,0x50,0x3b,0x9a,0xf8,0xfb,0xff,0xff]
2430           vpminuq -1032(%rdx){1to8}, %zmm26, %zmm11
2431
2432 // CHECK: vpmovsxbd %xmm7, %zmm27
2433 // CHECK:  encoding: [0x62,0x62,0x7d,0x48,0x21,0xdf]
2434           vpmovsxbd %xmm7, %zmm27
2435
2436 // CHECK: vpmovsxbd %xmm7, %zmm27 {%k5}
2437 // CHECK:  encoding: [0x62,0x62,0x7d,0x4d,0x21,0xdf]
2438           vpmovsxbd %xmm7, %zmm27 {%k5}
2439
2440 // CHECK: vpmovsxbd %xmm7, %zmm27 {%k5} {z}
2441 // CHECK:  encoding: [0x62,0x62,0x7d,0xcd,0x21,0xdf]
2442           vpmovsxbd %xmm7, %zmm27 {%k5} {z}
2443
2444 // CHECK: vpmovsxbd (%rcx), %zmm27
2445 // CHECK:  encoding: [0x62,0x62,0x7d,0x48,0x21,0x19]
2446           vpmovsxbd (%rcx), %zmm27
2447
2448 // CHECK: vpmovsxbd 291(%rax,%r14,8), %zmm27
2449 // CHECK:  encoding: [0x62,0x22,0x7d,0x48,0x21,0x9c,0xf0,0x23,0x01,0x00,0x00]
2450           vpmovsxbd 291(%rax,%r14,8), %zmm27
2451
2452 // CHECK: vpmovsxbd 2032(%rdx), %zmm27
2453 // CHECK:  encoding: [0x62,0x62,0x7d,0x48,0x21,0x5a,0x7f]
2454           vpmovsxbd 2032(%rdx), %zmm27
2455
2456 // CHECK: vpmovsxbd 2048(%rdx), %zmm27
2457 // CHECK:  encoding: [0x62,0x62,0x7d,0x48,0x21,0x9a,0x00,0x08,0x00,0x00]
2458           vpmovsxbd 2048(%rdx), %zmm27
2459
2460 // CHECK: vpmovsxbd -2048(%rdx), %zmm27
2461 // CHECK:  encoding: [0x62,0x62,0x7d,0x48,0x21,0x5a,0x80]
2462           vpmovsxbd -2048(%rdx), %zmm27
2463
2464 // CHECK: vpmovsxbd -2064(%rdx), %zmm27
2465 // CHECK:  encoding: [0x62,0x62,0x7d,0x48,0x21,0x9a,0xf0,0xf7,0xff,0xff]
2466           vpmovsxbd -2064(%rdx), %zmm27
2467
2468 // CHECK: vpmovsxbd (%rcx), %zmm27 {%k1}
2469 // CHECK:  encoding: [0x62,0x62,0x7d,0x49,0x21,0x19]
2470           vpmovsxbd (%rcx), %zmm27 {%k1}
2471
2472 // CHECK: vpmovsxbd (%rcx), %zmm27 {%k2} {z}
2473 // CHECK:  encoding: [0x62,0x62,0x7d,0xca,0x21,0x19]
2474           vpmovsxbd (%rcx), %zmm27 {%k2} {z}
2475
2476 // CHECK: vpmovsxbq %xmm11, %zmm11
2477 // CHECK:  encoding: [0x62,0x52,0x7d,0x48,0x22,0xdb]
2478           vpmovsxbq %xmm11, %zmm11
2479
2480 // CHECK: vpmovsxbq %xmm11, %zmm11 {%k5}
2481 // CHECK:  encoding: [0x62,0x52,0x7d,0x4d,0x22,0xdb]
2482           vpmovsxbq %xmm11, %zmm11 {%k5}
2483
2484 // CHECK: vpmovsxbq %xmm11, %zmm11 {%k5} {z}
2485 // CHECK:  encoding: [0x62,0x52,0x7d,0xcd,0x22,0xdb]
2486           vpmovsxbq %xmm11, %zmm11 {%k5} {z}
2487
2488 // CHECK: vpmovsxbq (%rcx), %zmm11
2489 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x22,0x19]
2490           vpmovsxbq (%rcx), %zmm11
2491
2492 // CHECK: vpmovsxbq 291(%rax,%r14,8), %zmm11
2493 // CHECK:  encoding: [0x62,0x32,0x7d,0x48,0x22,0x9c,0xf0,0x23,0x01,0x00,0x00]
2494           vpmovsxbq 291(%rax,%r14,8), %zmm11
2495
2496 // CHECK: vpmovsxbq 1016(%rdx), %zmm11
2497 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x22,0x5a,0x7f]
2498           vpmovsxbq 1016(%rdx), %zmm11
2499
2500 // CHECK: vpmovsxbq 1024(%rdx), %zmm11
2501 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x22,0x9a,0x00,0x04,0x00,0x00]
2502           vpmovsxbq 1024(%rdx), %zmm11
2503
2504 // CHECK: vpmovsxbq -1024(%rdx), %zmm11
2505 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x22,0x5a,0x80]
2506           vpmovsxbq -1024(%rdx), %zmm11
2507
2508 // CHECK: vpmovsxbq -1032(%rdx), %zmm11
2509 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x22,0x9a,0xf8,0xfb,0xff,0xff]
2510           vpmovsxbq -1032(%rdx), %zmm11
2511
2512 // CHECK: vpmovsxdq %ymm29, %zmm26
2513 // CHECK:  encoding: [0x62,0x02,0x7d,0x48,0x25,0xd5]
2514           vpmovsxdq %ymm29, %zmm26
2515
2516 // CHECK: vpmovsxdq %ymm29, %zmm26 {%k1}
2517 // CHECK:  encoding: [0x62,0x02,0x7d,0x49,0x25,0xd5]
2518           vpmovsxdq %ymm29, %zmm26 {%k1}
2519
2520 // CHECK: vpmovsxdq %ymm29, %zmm26 {%k1} {z}
2521 // CHECK:  encoding: [0x62,0x02,0x7d,0xc9,0x25,0xd5]
2522           vpmovsxdq %ymm29, %zmm26 {%k1} {z}
2523
2524 // CHECK: vpmovsxdq (%rcx), %zmm26
2525 // CHECK:  encoding: [0x62,0x62,0x7d,0x48,0x25,0x11]
2526           vpmovsxdq (%rcx), %zmm26
2527
2528 // CHECK: vpmovsxdq 291(%rax,%r14,8), %zmm26
2529 // CHECK:  encoding: [0x62,0x22,0x7d,0x48,0x25,0x94,0xf0,0x23,0x01,0x00,0x00]
2530           vpmovsxdq 291(%rax,%r14,8), %zmm26
2531
2532 // CHECK: vpmovsxdq 4064(%rdx), %zmm26
2533 // CHECK:  encoding: [0x62,0x62,0x7d,0x48,0x25,0x52,0x7f]
2534           vpmovsxdq 4064(%rdx), %zmm26
2535
2536 // CHECK: vpmovsxdq 4096(%rdx), %zmm26
2537 // CHECK:  encoding: [0x62,0x62,0x7d,0x48,0x25,0x92,0x00,0x10,0x00,0x00]
2538           vpmovsxdq 4096(%rdx), %zmm26
2539
2540 // CHECK: vpmovsxdq -4096(%rdx), %zmm26
2541 // CHECK:  encoding: [0x62,0x62,0x7d,0x48,0x25,0x52,0x80]
2542           vpmovsxdq -4096(%rdx), %zmm26
2543
2544 // CHECK: vpmovsxdq -4128(%rdx), %zmm26
2545 // CHECK:  encoding: [0x62,0x62,0x7d,0x48,0x25,0x92,0xe0,0xef,0xff,0xff]
2546           vpmovsxdq -4128(%rdx), %zmm26
2547
2548 // CHECK: vpmovsxwd %ymm11, %zmm23
2549 // CHECK:  encoding: [0x62,0xc2,0x7d,0x48,0x23,0xfb]
2550           vpmovsxwd %ymm11, %zmm23
2551
2552 // CHECK: vpmovsxwd %ymm11, %zmm23 {%k2}
2553 // CHECK:  encoding: [0x62,0xc2,0x7d,0x4a,0x23,0xfb]
2554           vpmovsxwd %ymm11, %zmm23 {%k2}
2555
2556 // CHECK: vpmovsxwd %ymm11, %zmm23 {%k2} {z}
2557 // CHECK:  encoding: [0x62,0xc2,0x7d,0xca,0x23,0xfb]
2558           vpmovsxwd %ymm11, %zmm23 {%k2} {z}
2559
2560 // CHECK: vpmovsxwd (%rcx), %zmm23
2561 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x23,0x39]
2562           vpmovsxwd (%rcx), %zmm23
2563
2564 // CHECK: vpmovsxwd 291(%rax,%r14,8), %zmm23
2565 // CHECK:  encoding: [0x62,0xa2,0x7d,0x48,0x23,0xbc,0xf0,0x23,0x01,0x00,0x00]
2566           vpmovsxwd 291(%rax,%r14,8), %zmm23
2567
2568 // CHECK: vpmovsxwd 4064(%rdx), %zmm23
2569 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x23,0x7a,0x7f]
2570           vpmovsxwd 4064(%rdx), %zmm23
2571
2572 // CHECK: vpmovsxwd 4096(%rdx), %zmm23
2573 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x23,0xba,0x00,0x10,0x00,0x00]
2574           vpmovsxwd 4096(%rdx), %zmm23
2575
2576 // CHECK: vpmovsxwd -4096(%rdx), %zmm23
2577 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x23,0x7a,0x80]
2578           vpmovsxwd -4096(%rdx), %zmm23
2579
2580 // CHECK: vpmovsxwd -4128(%rdx), %zmm23
2581 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x23,0xba,0xe0,0xef,0xff,0xff]
2582           vpmovsxwd -4128(%rdx), %zmm23
2583
2584 // CHECK: vpmovsxwq %xmm25, %zmm25
2585 // CHECK:  encoding: [0x62,0x02,0x7d,0x48,0x24,0xc9]
2586           vpmovsxwq %xmm25, %zmm25
2587
2588 // CHECK: vpmovsxwq %xmm25, %zmm25 {%k4}
2589 // CHECK:  encoding: [0x62,0x02,0x7d,0x4c,0x24,0xc9]
2590           vpmovsxwq %xmm25, %zmm25 {%k4}
2591
2592 // CHECK: vpmovsxwq %xmm25, %zmm25 {%k4} {z}
2593 // CHECK:  encoding: [0x62,0x02,0x7d,0xcc,0x24,0xc9]
2594           vpmovsxwq %xmm25, %zmm25 {%k4} {z}
2595
2596 // CHECK: vpmovsxwq (%rcx), %zmm25
2597 // CHECK:  encoding: [0x62,0x62,0x7d,0x48,0x24,0x09]
2598           vpmovsxwq (%rcx), %zmm25
2599
2600 // CHECK: vpmovsxwq 291(%rax,%r14,8), %zmm25
2601 // CHECK:  encoding: [0x62,0x22,0x7d,0x48,0x24,0x8c,0xf0,0x23,0x01,0x00,0x00]
2602           vpmovsxwq 291(%rax,%r14,8), %zmm25
2603
2604 // CHECK: vpmovsxwq 2032(%rdx), %zmm25
2605 // CHECK:  encoding: [0x62,0x62,0x7d,0x48,0x24,0x4a,0x7f]
2606           vpmovsxwq 2032(%rdx), %zmm25
2607
2608 // CHECK: vpmovsxwq 2048(%rdx), %zmm25
2609 // CHECK:  encoding: [0x62,0x62,0x7d,0x48,0x24,0x8a,0x00,0x08,0x00,0x00]
2610           vpmovsxwq 2048(%rdx), %zmm25
2611
2612 // CHECK: vpmovsxwq -2048(%rdx), %zmm25
2613 // CHECK:  encoding: [0x62,0x62,0x7d,0x48,0x24,0x4a,0x80]
2614           vpmovsxwq -2048(%rdx), %zmm25
2615
2616 // CHECK: vpmovsxwq -2064(%rdx), %zmm25
2617 // CHECK:  encoding: [0x62,0x62,0x7d,0x48,0x24,0x8a,0xf0,0xf7,0xff,0xff]
2618           vpmovsxwq -2064(%rdx), %zmm25
2619
2620 // CHECK: vpmovzxbd %xmm25, %zmm18
2621 // CHECK:  encoding: [0x62,0x82,0x7d,0x48,0x31,0xd1]
2622           vpmovzxbd %xmm25, %zmm18
2623
2624 // CHECK: vpmovzxbd %xmm25, %zmm18 {%k7}
2625 // CHECK:  encoding: [0x62,0x82,0x7d,0x4f,0x31,0xd1]
2626           vpmovzxbd %xmm25, %zmm18 {%k7}
2627
2628 // CHECK: vpmovzxbd %xmm25, %zmm18 {%k7} {z}
2629 // CHECK:  encoding: [0x62,0x82,0x7d,0xcf,0x31,0xd1]
2630           vpmovzxbd %xmm25, %zmm18 {%k7} {z}
2631
2632 // CHECK: vpmovzxbd (%rcx), %zmm18
2633 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x31,0x11]
2634           vpmovzxbd (%rcx), %zmm18
2635
2636 // CHECK: vpmovzxbd 291(%rax,%r14,8), %zmm18
2637 // CHECK:  encoding: [0x62,0xa2,0x7d,0x48,0x31,0x94,0xf0,0x23,0x01,0x00,0x00]
2638           vpmovzxbd 291(%rax,%r14,8), %zmm18
2639
2640 // CHECK: vpmovzxbd 2032(%rdx), %zmm18
2641 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x31,0x52,0x7f]
2642           vpmovzxbd 2032(%rdx), %zmm18
2643
2644 // CHECK: vpmovzxbd 2048(%rdx), %zmm18
2645 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x31,0x92,0x00,0x08,0x00,0x00]
2646           vpmovzxbd 2048(%rdx), %zmm18
2647
2648 // CHECK: vpmovzxbd -2048(%rdx), %zmm18
2649 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x31,0x52,0x80]
2650           vpmovzxbd -2048(%rdx), %zmm18
2651
2652 // CHECK: vpmovzxbd -2064(%rdx), %zmm18
2653 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x31,0x92,0xf0,0xf7,0xff,0xff]
2654           vpmovzxbd -2064(%rdx), %zmm18
2655
2656 // CHECK: vpmovzxbq %xmm15, %zmm5
2657 // CHECK:  encoding: [0x62,0xd2,0x7d,0x48,0x32,0xef]
2658           vpmovzxbq %xmm15, %zmm5
2659
2660 // CHECK: vpmovzxbq %xmm15, %zmm5 {%k1}
2661 // CHECK:  encoding: [0x62,0xd2,0x7d,0x49,0x32,0xef]
2662           vpmovzxbq %xmm15, %zmm5 {%k1}
2663
2664 // CHECK: vpmovzxbq %xmm15, %zmm5 {%k1} {z}
2665 // CHECK:  encoding: [0x62,0xd2,0x7d,0xc9,0x32,0xef]
2666           vpmovzxbq %xmm15, %zmm5 {%k1} {z}
2667
2668 // CHECK: vpmovzxbq (%rcx), %zmm5
2669 // CHECK:  encoding: [0x62,0xf2,0x7d,0x48,0x32,0x29]
2670           vpmovzxbq (%rcx), %zmm5
2671
2672 // CHECK: vpmovzxbq 291(%rax,%r14,8), %zmm5
2673 // CHECK:  encoding: [0x62,0xb2,0x7d,0x48,0x32,0xac,0xf0,0x23,0x01,0x00,0x00]
2674           vpmovzxbq 291(%rax,%r14,8), %zmm5
2675
2676 // CHECK: vpmovzxbq 1016(%rdx), %zmm5
2677 // CHECK:  encoding: [0x62,0xf2,0x7d,0x48,0x32,0x6a,0x7f]
2678           vpmovzxbq 1016(%rdx), %zmm5
2679
2680 // CHECK: vpmovzxbq 1024(%rdx), %zmm5
2681 // CHECK:  encoding: [0x62,0xf2,0x7d,0x48,0x32,0xaa,0x00,0x04,0x00,0x00]
2682           vpmovzxbq 1024(%rdx), %zmm5
2683
2684 // CHECK: vpmovzxbq -1024(%rdx), %zmm5
2685 // CHECK:  encoding: [0x62,0xf2,0x7d,0x48,0x32,0x6a,0x80]
2686           vpmovzxbq -1024(%rdx), %zmm5
2687
2688 // CHECK: vpmovzxbq -1032(%rdx), %zmm5
2689 // CHECK:  encoding: [0x62,0xf2,0x7d,0x48,0x32,0xaa,0xf8,0xfb,0xff,0xff]
2690           vpmovzxbq -1032(%rdx), %zmm5
2691
2692 // CHECK: vpmovzxdq %ymm4, %zmm20
2693 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x35,0xe4]
2694           vpmovzxdq %ymm4, %zmm20
2695
2696 // CHECK: vpmovzxdq %ymm4, %zmm20 {%k3}
2697 // CHECK:  encoding: [0x62,0xe2,0x7d,0x4b,0x35,0xe4]
2698           vpmovzxdq %ymm4, %zmm20 {%k3}
2699
2700 // CHECK: vpmovzxdq %ymm4, %zmm20 {%k3} {z}
2701 // CHECK:  encoding: [0x62,0xe2,0x7d,0xcb,0x35,0xe4]
2702           vpmovzxdq %ymm4, %zmm20 {%k3} {z}
2703
2704 // CHECK: vpmovzxdq (%rcx), %zmm20
2705 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x35,0x21]
2706           vpmovzxdq (%rcx), %zmm20
2707
2708 // CHECK: vpmovzxdq 291(%rax,%r14,8), %zmm20
2709 // CHECK:  encoding: [0x62,0xa2,0x7d,0x48,0x35,0xa4,0xf0,0x23,0x01,0x00,0x00]
2710           vpmovzxdq 291(%rax,%r14,8), %zmm20
2711
2712 // CHECK: vpmovzxdq 4064(%rdx), %zmm20
2713 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x35,0x62,0x7f]
2714           vpmovzxdq 4064(%rdx), %zmm20
2715
2716 // CHECK: vpmovzxdq 4096(%rdx), %zmm20
2717 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x35,0xa2,0x00,0x10,0x00,0x00]
2718           vpmovzxdq 4096(%rdx), %zmm20
2719
2720 // CHECK: vpmovzxdq -4096(%rdx), %zmm20
2721 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x35,0x62,0x80]
2722           vpmovzxdq -4096(%rdx), %zmm20
2723
2724 // CHECK: vpmovzxdq -4128(%rdx), %zmm20
2725 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x35,0xa2,0xe0,0xef,0xff,0xff]
2726           vpmovzxdq -4128(%rdx), %zmm20
2727
2728 // CHECK: vpmovzxwd %ymm6, %zmm8
2729 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x33,0xc6]
2730           vpmovzxwd %ymm6, %zmm8
2731
2732 // CHECK: vpmovzxwd %ymm6, %zmm8 {%k7}
2733 // CHECK:  encoding: [0x62,0x72,0x7d,0x4f,0x33,0xc6]
2734           vpmovzxwd %ymm6, %zmm8 {%k7}
2735
2736 // CHECK: vpmovzxwd %ymm6, %zmm8 {%k7} {z}
2737 // CHECK:  encoding: [0x62,0x72,0x7d,0xcf,0x33,0xc6]
2738           vpmovzxwd %ymm6, %zmm8 {%k7} {z}
2739
2740 // CHECK: vpmovzxwd (%rcx), %zmm8
2741 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x33,0x01]
2742           vpmovzxwd (%rcx), %zmm8
2743
2744 // CHECK: vpmovzxwd 291(%rax,%r14,8), %zmm8
2745 // CHECK:  encoding: [0x62,0x32,0x7d,0x48,0x33,0x84,0xf0,0x23,0x01,0x00,0x00]
2746           vpmovzxwd 291(%rax,%r14,8), %zmm8
2747
2748 // CHECK: vpmovzxwd 4064(%rdx), %zmm8
2749 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x33,0x42,0x7f]
2750           vpmovzxwd 4064(%rdx), %zmm8
2751
2752 // CHECK: vpmovzxwd 4096(%rdx), %zmm8
2753 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x33,0x82,0x00,0x10,0x00,0x00]
2754           vpmovzxwd 4096(%rdx), %zmm8
2755
2756 // CHECK: vpmovzxwd -4096(%rdx), %zmm8
2757 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x33,0x42,0x80]
2758           vpmovzxwd -4096(%rdx), %zmm8
2759
2760 // CHECK: vpmovzxwd -4128(%rdx), %zmm8
2761 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x33,0x82,0xe0,0xef,0xff,0xff]
2762           vpmovzxwd -4128(%rdx), %zmm8
2763
2764 // CHECK: vpmovzxwq %xmm15, %zmm5
2765 // CHECK:  encoding: [0x62,0xd2,0x7d,0x48,0x34,0xef]
2766           vpmovzxwq %xmm15, %zmm5
2767
2768 // CHECK: vpmovzxwq %xmm15, %zmm5 {%k7}
2769 // CHECK:  encoding: [0x62,0xd2,0x7d,0x4f,0x34,0xef]
2770           vpmovzxwq %xmm15, %zmm5 {%k7}
2771
2772 // CHECK: vpmovzxwq %xmm15, %zmm5 {%k7} {z}
2773 // CHECK:  encoding: [0x62,0xd2,0x7d,0xcf,0x34,0xef]
2774           vpmovzxwq %xmm15, %zmm5 {%k7} {z}
2775
2776 // CHECK: vpmovzxwq (%rcx), %zmm5
2777 // CHECK:  encoding: [0x62,0xf2,0x7d,0x48,0x34,0x29]
2778           vpmovzxwq (%rcx), %zmm5
2779
2780 // CHECK: vpmovzxwq 291(%rax,%r14,8), %zmm5
2781 // CHECK:  encoding: [0x62,0xb2,0x7d,0x48,0x34,0xac,0xf0,0x23,0x01,0x00,0x00]
2782           vpmovzxwq 291(%rax,%r14,8), %zmm5
2783
2784 // CHECK: vpmovzxwq 2032(%rdx), %zmm5
2785 // CHECK:  encoding: [0x62,0xf2,0x7d,0x48,0x34,0x6a,0x7f]
2786           vpmovzxwq 2032(%rdx), %zmm5
2787
2788 // CHECK: vpmovzxwq 2048(%rdx), %zmm5
2789 // CHECK:  encoding: [0x62,0xf2,0x7d,0x48,0x34,0xaa,0x00,0x08,0x00,0x00]
2790           vpmovzxwq 2048(%rdx), %zmm5
2791
2792 // CHECK: vpmovzxwq -2048(%rdx), %zmm5
2793 // CHECK:  encoding: [0x62,0xf2,0x7d,0x48,0x34,0x6a,0x80]
2794           vpmovzxwq -2048(%rdx), %zmm5
2795
2796 // CHECK: vpmovzxwq -2064(%rdx), %zmm5
2797 // CHECK:  encoding: [0x62,0xf2,0x7d,0x48,0x34,0xaa,0xf0,0xf7,0xff,0xff]
2798           vpmovzxwq -2064(%rdx), %zmm5
2799
2800 // CHECK: vpmuldq %zmm9, %zmm9, %zmm29
2801 // CHECK:  encoding: [0x62,0x42,0xb5,0x48,0x28,0xe9]
2802           vpmuldq %zmm9, %zmm9, %zmm29
2803
2804 // CHECK: vpmuldq %zmm9, %zmm9, %zmm29 {%k5}
2805 // CHECK:  encoding: [0x62,0x42,0xb5,0x4d,0x28,0xe9]
2806           vpmuldq %zmm9, %zmm9, %zmm29 {%k5}
2807
2808 // CHECK: vpmuldq %zmm9, %zmm9, %zmm29 {%k5} {z}
2809 // CHECK:  encoding: [0x62,0x42,0xb5,0xcd,0x28,0xe9]
2810           vpmuldq %zmm9, %zmm9, %zmm29 {%k5} {z}
2811
2812 // CHECK: vpmuldq (%rcx), %zmm9, %zmm29
2813 // CHECK:  encoding: [0x62,0x62,0xb5,0x48,0x28,0x29]
2814           vpmuldq (%rcx), %zmm9, %zmm29
2815
2816 // CHECK: vpmuldq (%rcx), %zmm9, %zmm29 {%k6}
2817 // CHECK:  encoding: [0x62,0x62,0xb5,0x4e,0x28,0x29]
2818           vpmuldq (%rcx), %zmm9, %zmm29 {%k6}
2819
2820 // CHECK: vpmuldq (%rcx), %zmm9, %zmm29 {%k6} {z}
2821 // CHECK:  encoding: [0x62,0x62,0xb5,0xce,0x28,0x29]
2822           vpmuldq (%rcx), %zmm9, %zmm29 {%k6} {z}
2823
2824 // CHECK: vpmuldq 291(%rax,%r14,8), %zmm9, %zmm29
2825 // CHECK:  encoding: [0x62,0x22,0xb5,0x48,0x28,0xac,0xf0,0x23,0x01,0x00,0x00]
2826           vpmuldq 291(%rax,%r14,8), %zmm9, %zmm29
2827
2828 // CHECK: vpmuldq (%rcx){1to8}, %zmm9, %zmm29
2829 // CHECK:  encoding: [0x62,0x62,0xb5,0x58,0x28,0x29]
2830           vpmuldq (%rcx){1to8}, %zmm9, %zmm29
2831
2832 // CHECK: vpmuldq (%rcx){1to8}, %zmm9, %zmm29 {%k3}
2833 // CHECK:  encoding: [0x62,0x62,0xb5,0x5b,0x28,0x29]
2834           vpmuldq (%rcx){1to8}, %zmm9, %zmm29 {%k3}
2835
2836 // CHECK: vpmuldq (%rcx){1to8}, %zmm9, %zmm29
2837 // CHECK:  encoding: [0x62,0x62,0xb5,0xdb,0x28,0x29]
2838           vpmuldq (%rcx){1to8}, %zmm9, %zmm29 {%k3} {z}
2839
2840 // CHECK: vpmuldq 8128(%rdx), %zmm9, %zmm29
2841 // CHECK:  encoding: [0x62,0x62,0xb5,0x48,0x28,0x6a,0x7f]
2842           vpmuldq 8128(%rdx), %zmm9, %zmm29
2843
2844 // CHECK: vpmuldq 8192(%rdx), %zmm9, %zmm29
2845 // CHECK:  encoding: [0x62,0x62,0xb5,0x48,0x28,0xaa,0x00,0x20,0x00,0x00]
2846           vpmuldq 8192(%rdx), %zmm9, %zmm29
2847
2848 // CHECK: vpmuldq -8192(%rdx), %zmm9, %zmm29
2849 // CHECK:  encoding: [0x62,0x62,0xb5,0x48,0x28,0x6a,0x80]
2850           vpmuldq -8192(%rdx), %zmm9, %zmm29
2851
2852 // CHECK: vpmuldq -8256(%rdx), %zmm9, %zmm29
2853 // CHECK:  encoding: [0x62,0x62,0xb5,0x48,0x28,0xaa,0xc0,0xdf,0xff,0xff]
2854           vpmuldq -8256(%rdx), %zmm9, %zmm29
2855
2856 // CHECK: vpmuldq 1016(%rdx){1to8}, %zmm9, %zmm29
2857 // CHECK:  encoding: [0x62,0x62,0xb5,0x58,0x28,0x6a,0x7f]
2858           vpmuldq 1016(%rdx){1to8}, %zmm9, %zmm29
2859
2860 // CHECK: vpmuldq 1024(%rdx){1to8}, %zmm9, %zmm29
2861 // CHECK:  encoding: [0x62,0x62,0xb5,0x58,0x28,0xaa,0x00,0x04,0x00,0x00]
2862           vpmuldq 1024(%rdx){1to8}, %zmm9, %zmm29
2863
2864 // CHECK: vpmuldq -1024(%rdx){1to8}, %zmm9, %zmm29
2865 // CHECK:  encoding: [0x62,0x62,0xb5,0x58,0x28,0x6a,0x80]
2866           vpmuldq -1024(%rdx){1to8}, %zmm9, %zmm29
2867
2868 // CHECK: vpmuldq -1032(%rdx){1to8}, %zmm9, %zmm29
2869 // CHECK:  encoding: [0x62,0x62,0xb5,0x58,0x28,0xaa,0xf8,0xfb,0xff,0xff]
2870           vpmuldq -1032(%rdx){1to8}, %zmm9, %zmm29
2871
2872 // CHECK: vpmulld %zmm2, %zmm3, %zmm12
2873 // CHECK:  encoding: [0x62,0x72,0x65,0x48,0x40,0xe2]
2874           vpmulld %zmm2, %zmm3, %zmm12
2875
2876 // CHECK: vpmulld %zmm2, %zmm3, %zmm12 {%k6}
2877 // CHECK:  encoding: [0x62,0x72,0x65,0x4e,0x40,0xe2]
2878           vpmulld %zmm2, %zmm3, %zmm12 {%k6}
2879
2880 // CHECK: vpmulld %zmm2, %zmm3, %zmm12 {%k6} {z}
2881 // CHECK:  encoding: [0x62,0x72,0x65,0xce,0x40,0xe2]
2882           vpmulld %zmm2, %zmm3, %zmm12 {%k6} {z}
2883
2884 // CHECK: vpmulld (%rcx), %zmm3, %zmm12
2885 // CHECK:  encoding: [0x62,0x72,0x65,0x48,0x40,0x21]
2886           vpmulld (%rcx), %zmm3, %zmm12
2887
2888 // CHECK: vpmulld 291(%rax,%r14,8), %zmm3, %zmm12
2889 // CHECK:  encoding: [0x62,0x32,0x65,0x48,0x40,0xa4,0xf0,0x23,0x01,0x00,0x00]
2890           vpmulld 291(%rax,%r14,8), %zmm3, %zmm12
2891
2892 // CHECK: vpmulld (%rcx){1to16}, %zmm3, %zmm12
2893 // CHECK:  encoding: [0x62,0x72,0x65,0x58,0x40,0x21]
2894           vpmulld (%rcx){1to16}, %zmm3, %zmm12
2895
2896 // CHECK: vpmulld 8128(%rdx), %zmm3, %zmm12
2897 // CHECK:  encoding: [0x62,0x72,0x65,0x48,0x40,0x62,0x7f]
2898           vpmulld 8128(%rdx), %zmm3, %zmm12
2899
2900 // CHECK: vpmulld 8192(%rdx), %zmm3, %zmm12
2901 // CHECK:  encoding: [0x62,0x72,0x65,0x48,0x40,0xa2,0x00,0x20,0x00,0x00]
2902           vpmulld 8192(%rdx), %zmm3, %zmm12
2903
2904 // CHECK: vpmulld -8192(%rdx), %zmm3, %zmm12
2905 // CHECK:  encoding: [0x62,0x72,0x65,0x48,0x40,0x62,0x80]
2906           vpmulld -8192(%rdx), %zmm3, %zmm12
2907
2908 // CHECK: vpmulld -8256(%rdx), %zmm3, %zmm12
2909 // CHECK:  encoding: [0x62,0x72,0x65,0x48,0x40,0xa2,0xc0,0xdf,0xff,0xff]
2910           vpmulld -8256(%rdx), %zmm3, %zmm12
2911
2912 // CHECK: vpmulld 508(%rdx){1to16}, %zmm3, %zmm12
2913 // CHECK:  encoding: [0x62,0x72,0x65,0x58,0x40,0x62,0x7f]
2914           vpmulld 508(%rdx){1to16}, %zmm3, %zmm12
2915
2916 // CHECK: vpmulld 512(%rdx){1to16}, %zmm3, %zmm12
2917 // CHECK:  encoding: [0x62,0x72,0x65,0x58,0x40,0xa2,0x00,0x02,0x00,0x00]
2918           vpmulld 512(%rdx){1to16}, %zmm3, %zmm12
2919
2920 // CHECK: vpmulld -512(%rdx){1to16}, %zmm3, %zmm12
2921 // CHECK:  encoding: [0x62,0x72,0x65,0x58,0x40,0x62,0x80]
2922           vpmulld -512(%rdx){1to16}, %zmm3, %zmm12
2923
2924 // CHECK: vpmulld -516(%rdx){1to16}, %zmm3, %zmm12
2925 // CHECK:  encoding: [0x62,0x72,0x65,0x58,0x40,0xa2,0xfc,0xfd,0xff,0xff]
2926           vpmulld -516(%rdx){1to16}, %zmm3, %zmm12
2927
2928 // CHECK: vpmuludq %zmm9, %zmm5, %zmm23
2929 // CHECK:  encoding: [0x62,0xc1,0xd5,0x48,0xf4,0xf9]
2930           vpmuludq %zmm9, %zmm5, %zmm23
2931
2932 // CHECK: vpmuludq %zmm9, %zmm5, %zmm23 {%k4}
2933 // CHECK:  encoding: [0x62,0xc1,0xd5,0x4c,0xf4,0xf9]
2934           vpmuludq %zmm9, %zmm5, %zmm23 {%k4}
2935
2936 // CHECK: vpmuludq %zmm9, %zmm5, %zmm23 {%k4} {z}
2937 // CHECK:  encoding: [0x62,0xc1,0xd5,0xcc,0xf4,0xf9]
2938           vpmuludq %zmm9, %zmm5, %zmm23 {%k4} {z}
2939
2940 // CHECK: vpmuludq (%rcx), %zmm5, %zmm23
2941 // CHECK:  encoding: [0x62,0xe1,0xd5,0x48,0xf4,0x39]
2942           vpmuludq (%rcx), %zmm5, %zmm23
2943
2944 // CHECK: vpmuludq 291(%rax,%r14,8), %zmm5, %zmm23
2945 // CHECK:  encoding: [0x62,0xa1,0xd5,0x48,0xf4,0xbc,0xf0,0x23,0x01,0x00,0x00]
2946           vpmuludq 291(%rax,%r14,8), %zmm5, %zmm23
2947
2948 // CHECK: vpmuludq (%rcx){1to8}, %zmm5, %zmm23
2949 // CHECK:  encoding: [0x62,0xe1,0xd5,0x58,0xf4,0x39]
2950           vpmuludq (%rcx){1to8}, %zmm5, %zmm23
2951
2952 // CHECK: vpmuludq 8128(%rdx), %zmm5, %zmm23
2953 // CHECK:  encoding: [0x62,0xe1,0xd5,0x48,0xf4,0x7a,0x7f]
2954           vpmuludq 8128(%rdx), %zmm5, %zmm23
2955
2956 // CHECK: vpmuludq 8192(%rdx), %zmm5, %zmm23
2957 // CHECK:  encoding: [0x62,0xe1,0xd5,0x48,0xf4,0xba,0x00,0x20,0x00,0x00]
2958           vpmuludq 8192(%rdx), %zmm5, %zmm23
2959
2960 // CHECK: vpmuludq -8192(%rdx), %zmm5, %zmm23
2961 // CHECK:  encoding: [0x62,0xe1,0xd5,0x48,0xf4,0x7a,0x80]
2962           vpmuludq -8192(%rdx), %zmm5, %zmm23
2963
2964 // CHECK: vpmuludq -8256(%rdx), %zmm5, %zmm23
2965 // CHECK:  encoding: [0x62,0xe1,0xd5,0x48,0xf4,0xba,0xc0,0xdf,0xff,0xff]
2966           vpmuludq -8256(%rdx), %zmm5, %zmm23
2967
2968 // CHECK: vpmuludq 1016(%rdx){1to8}, %zmm5, %zmm23
2969 // CHECK:  encoding: [0x62,0xe1,0xd5,0x58,0xf4,0x7a,0x7f]
2970           vpmuludq 1016(%rdx){1to8}, %zmm5, %zmm23
2971
2972 // CHECK: vpmuludq 1024(%rdx){1to8}, %zmm5, %zmm23
2973 // CHECK:  encoding: [0x62,0xe1,0xd5,0x58,0xf4,0xba,0x00,0x04,0x00,0x00]
2974           vpmuludq 1024(%rdx){1to8}, %zmm5, %zmm23
2975
2976 // CHECK: vpmuludq -1024(%rdx){1to8}, %zmm5, %zmm23
2977 // CHECK:  encoding: [0x62,0xe1,0xd5,0x58,0xf4,0x7a,0x80]
2978           vpmuludq -1024(%rdx){1to8}, %zmm5, %zmm23
2979
2980 // CHECK: vpmuludq -1032(%rdx){1to8}, %zmm5, %zmm23
2981 // CHECK:  encoding: [0x62,0xe1,0xd5,0x58,0xf4,0xba,0xf8,0xfb,0xff,0xff]
2982           vpmuludq -1032(%rdx){1to8}, %zmm5, %zmm23
2983
2984 // CHECK: vpord  %zmm20, %zmm2, %zmm23
2985 // CHECK:  encoding: [0x62,0xa1,0x6d,0x48,0xeb,0xfc]
2986           vpord  %zmm20, %zmm2, %zmm23
2987
2988 // CHECK: vpord  %zmm20, %zmm2, %zmm23 {%k2}
2989 // CHECK:  encoding: [0x62,0xa1,0x6d,0x4a,0xeb,0xfc]
2990           vpord  %zmm20, %zmm2, %zmm23 {%k2}
2991
2992 // CHECK: vpord  %zmm20, %zmm2, %zmm23 {%k2} {z}
2993 // CHECK:  encoding: [0x62,0xa1,0x6d,0xca,0xeb,0xfc]
2994           vpord  %zmm20, %zmm2, %zmm23 {%k2} {z}
2995
2996 // CHECK: vpord  (%rcx), %zmm2, %zmm23
2997 // CHECK:  encoding: [0x62,0xe1,0x6d,0x48,0xeb,0x39]
2998           vpord  (%rcx), %zmm2, %zmm23
2999
3000 // CHECK: vpord  291(%rax,%r14,8), %zmm2, %zmm23
3001 // CHECK:  encoding: [0x62,0xa1,0x6d,0x48,0xeb,0xbc,0xf0,0x23,0x01,0x00,0x00]
3002           vpord  291(%rax,%r14,8), %zmm2, %zmm23
3003
3004 // CHECK: vpord  (%rcx){1to16}, %zmm2, %zmm23
3005 // CHECK:  encoding: [0x62,0xe1,0x6d,0x58,0xeb,0x39]
3006           vpord  (%rcx){1to16}, %zmm2, %zmm23
3007
3008 // CHECK: vpord  8128(%rdx), %zmm2, %zmm23
3009 // CHECK:  encoding: [0x62,0xe1,0x6d,0x48,0xeb,0x7a,0x7f]
3010           vpord  8128(%rdx), %zmm2, %zmm23
3011
3012 // CHECK: vpord  8192(%rdx), %zmm2, %zmm23
3013 // CHECK:  encoding: [0x62,0xe1,0x6d,0x48,0xeb,0xba,0x00,0x20,0x00,0x00]
3014           vpord  8192(%rdx), %zmm2, %zmm23
3015
3016 // CHECK: vpord  -8192(%rdx), %zmm2, %zmm23
3017 // CHECK:  encoding: [0x62,0xe1,0x6d,0x48,0xeb,0x7a,0x80]
3018           vpord  -8192(%rdx), %zmm2, %zmm23
3019
3020 // CHECK: vpord  -8256(%rdx), %zmm2, %zmm23
3021 // CHECK:  encoding: [0x62,0xe1,0x6d,0x48,0xeb,0xba,0xc0,0xdf,0xff,0xff]
3022           vpord  -8256(%rdx), %zmm2, %zmm23
3023
3024 // CHECK: vpord  508(%rdx){1to16}, %zmm2, %zmm23
3025 // CHECK:  encoding: [0x62,0xe1,0x6d,0x58,0xeb,0x7a,0x7f]
3026           vpord  508(%rdx){1to16}, %zmm2, %zmm23
3027
3028 // CHECK: vpord  512(%rdx){1to16}, %zmm2, %zmm23
3029 // CHECK:  encoding: [0x62,0xe1,0x6d,0x58,0xeb,0xba,0x00,0x02,0x00,0x00]
3030           vpord  512(%rdx){1to16}, %zmm2, %zmm23
3031
3032 // CHECK: vpord  -512(%rdx){1to16}, %zmm2, %zmm23
3033 // CHECK:  encoding: [0x62,0xe1,0x6d,0x58,0xeb,0x7a,0x80]
3034           vpord  -512(%rdx){1to16}, %zmm2, %zmm23
3035
3036 // CHECK: vpord  -516(%rdx){1to16}, %zmm2, %zmm23
3037 // CHECK:  encoding: [0x62,0xe1,0x6d,0x58,0xeb,0xba,0xfc,0xfd,0xff,0xff]
3038           vpord  -516(%rdx){1to16}, %zmm2, %zmm23
3039
3040 // CHECK: vporq  %zmm6, %zmm10, %zmm1
3041 // CHECK:  encoding: [0x62,0xf1,0xad,0x48,0xeb,0xce]
3042           vporq  %zmm6, %zmm10, %zmm1
3043
3044 // CHECK: vporq  %zmm6, %zmm10, %zmm1 {%k2}
3045 // CHECK:  encoding: [0x62,0xf1,0xad,0x4a,0xeb,0xce]
3046           vporq  %zmm6, %zmm10, %zmm1 {%k2}
3047
3048 // CHECK: vporq  %zmm6, %zmm10, %zmm1 {%k2} {z}
3049 // CHECK:  encoding: [0x62,0xf1,0xad,0xca,0xeb,0xce]
3050           vporq  %zmm6, %zmm10, %zmm1 {%k2} {z}
3051
3052 // CHECK: vporq  (%rcx), %zmm10, %zmm1
3053 // CHECK:  encoding: [0x62,0xf1,0xad,0x48,0xeb,0x09]
3054           vporq  (%rcx), %zmm10, %zmm1
3055
3056 // CHECK: vporq  291(%rax,%r14,8), %zmm10, %zmm1
3057 // CHECK:  encoding: [0x62,0xb1,0xad,0x48,0xeb,0x8c,0xf0,0x23,0x01,0x00,0x00]
3058           vporq  291(%rax,%r14,8), %zmm10, %zmm1
3059
3060 // CHECK: vporq  (%rcx){1to8}, %zmm10, %zmm1
3061 // CHECK:  encoding: [0x62,0xf1,0xad,0x58,0xeb,0x09]
3062           vporq  (%rcx){1to8}, %zmm10, %zmm1
3063
3064 // CHECK: vporq  8128(%rdx), %zmm10, %zmm1
3065 // CHECK:  encoding: [0x62,0xf1,0xad,0x48,0xeb,0x4a,0x7f]
3066           vporq  8128(%rdx), %zmm10, %zmm1
3067
3068 // CHECK: vporq  8192(%rdx), %zmm10, %zmm1
3069 // CHECK:  encoding: [0x62,0xf1,0xad,0x48,0xeb,0x8a,0x00,0x20,0x00,0x00]
3070           vporq  8192(%rdx), %zmm10, %zmm1
3071
3072 // CHECK: vporq  -8192(%rdx), %zmm10, %zmm1
3073 // CHECK:  encoding: [0x62,0xf1,0xad,0x48,0xeb,0x4a,0x80]
3074           vporq  -8192(%rdx), %zmm10, %zmm1
3075
3076 // CHECK: vporq  -8256(%rdx), %zmm10, %zmm1
3077 // CHECK:  encoding: [0x62,0xf1,0xad,0x48,0xeb,0x8a,0xc0,0xdf,0xff,0xff]
3078           vporq  -8256(%rdx), %zmm10, %zmm1
3079
3080 // CHECK: vporq  1016(%rdx){1to8}, %zmm10, %zmm1
3081 // CHECK:  encoding: [0x62,0xf1,0xad,0x58,0xeb,0x4a,0x7f]
3082           vporq  1016(%rdx){1to8}, %zmm10, %zmm1
3083
3084 // CHECK: vporq  1024(%rdx){1to8}, %zmm10, %zmm1
3085 // CHECK:  encoding: [0x62,0xf1,0xad,0x58,0xeb,0x8a,0x00,0x04,0x00,0x00]
3086           vporq  1024(%rdx){1to8}, %zmm10, %zmm1
3087
3088 // CHECK: vporq  -1024(%rdx){1to8}, %zmm10, %zmm1
3089 // CHECK:  encoding: [0x62,0xf1,0xad,0x58,0xeb,0x4a,0x80]
3090           vporq  -1024(%rdx){1to8}, %zmm10, %zmm1
3091
3092 // CHECK: vporq  -1032(%rdx){1to8}, %zmm10, %zmm1
3093 // CHECK:  encoding: [0x62,0xf1,0xad,0x58,0xeb,0x8a,0xf8,0xfb,0xff,0xff]
3094           vporq  -1032(%rdx){1to8}, %zmm10, %zmm1
3095
3096 // CHECK: vpsubd %zmm7, %zmm28, %zmm7
3097 // CHECK:  encoding: [0x62,0xf1,0x1d,0x40,0xfa,0xff]
3098           vpsubd %zmm7, %zmm28, %zmm7
3099
3100 // CHECK: vpsubd %zmm7, %zmm28, %zmm7 {%k3}
3101 // CHECK:  encoding: [0x62,0xf1,0x1d,0x43,0xfa,0xff]
3102           vpsubd %zmm7, %zmm28, %zmm7 {%k3}
3103
3104 // CHECK: vpsubd %zmm7, %zmm28, %zmm7 {%k3} {z}
3105 // CHECK:  encoding: [0x62,0xf1,0x1d,0xc3,0xfa,0xff]
3106           vpsubd %zmm7, %zmm28, %zmm7 {%k3} {z}
3107
3108 // CHECK: vpsubd (%rcx), %zmm28, %zmm7
3109 // CHECK:  encoding: [0x62,0xf1,0x1d,0x40,0xfa,0x39]
3110           vpsubd (%rcx), %zmm28, %zmm7
3111
3112 // CHECK: vpsubd 291(%rax,%r14,8), %zmm28, %zmm7
3113 // CHECK:  encoding: [0x62,0xb1,0x1d,0x40,0xfa,0xbc,0xf0,0x23,0x01,0x00,0x00]
3114           vpsubd 291(%rax,%r14,8), %zmm28, %zmm7
3115
3116 // CHECK: vpsubd (%rcx){1to16}, %zmm28, %zmm7
3117 // CHECK:  encoding: [0x62,0xf1,0x1d,0x50,0xfa,0x39]
3118           vpsubd (%rcx){1to16}, %zmm28, %zmm7
3119
3120 // CHECK: vpsubd 8128(%rdx), %zmm28, %zmm7
3121 // CHECK:  encoding: [0x62,0xf1,0x1d,0x40,0xfa,0x7a,0x7f]
3122           vpsubd 8128(%rdx), %zmm28, %zmm7
3123
3124 // CHECK: vpsubd 8192(%rdx), %zmm28, %zmm7
3125 // CHECK:  encoding: [0x62,0xf1,0x1d,0x40,0xfa,0xba,0x00,0x20,0x00,0x00]
3126           vpsubd 8192(%rdx), %zmm28, %zmm7
3127
3128 // CHECK: vpsubd -8192(%rdx), %zmm28, %zmm7
3129 // CHECK:  encoding: [0x62,0xf1,0x1d,0x40,0xfa,0x7a,0x80]
3130           vpsubd -8192(%rdx), %zmm28, %zmm7
3131
3132 // CHECK: vpsubd -8256(%rdx), %zmm28, %zmm7
3133 // CHECK:  encoding: [0x62,0xf1,0x1d,0x40,0xfa,0xba,0xc0,0xdf,0xff,0xff]
3134           vpsubd -8256(%rdx), %zmm28, %zmm7
3135
3136 // CHECK: vpsubd 508(%rdx){1to16}, %zmm28, %zmm7
3137 // CHECK:  encoding: [0x62,0xf1,0x1d,0x50,0xfa,0x7a,0x7f]
3138           vpsubd 508(%rdx){1to16}, %zmm28, %zmm7
3139
3140 // CHECK: vpsubd 512(%rdx){1to16}, %zmm28, %zmm7
3141 // CHECK:  encoding: [0x62,0xf1,0x1d,0x50,0xfa,0xba,0x00,0x02,0x00,0x00]
3142           vpsubd 512(%rdx){1to16}, %zmm28, %zmm7
3143
3144 // CHECK: vpsubd -512(%rdx){1to16}, %zmm28, %zmm7
3145 // CHECK:  encoding: [0x62,0xf1,0x1d,0x50,0xfa,0x7a,0x80]
3146           vpsubd -512(%rdx){1to16}, %zmm28, %zmm7
3147
3148 // CHECK: vpsubd -516(%rdx){1to16}, %zmm28, %zmm7
3149 // CHECK:  encoding: [0x62,0xf1,0x1d,0x50,0xfa,0xba,0xfc,0xfd,0xff,0xff]
3150           vpsubd -516(%rdx){1to16}, %zmm28, %zmm7
3151
3152 // CHECK: vpsubq %zmm17, %zmm28, %zmm29
3153 // CHECK:  encoding: [0x62,0x21,0x9d,0x40,0xfb,0xe9]
3154           vpsubq %zmm17, %zmm28, %zmm29
3155
3156 // CHECK: vpsubq %zmm17, %zmm28, %zmm29 {%k2}
3157 // CHECK:  encoding: [0x62,0x21,0x9d,0x42,0xfb,0xe9]
3158           vpsubq %zmm17, %zmm28, %zmm29 {%k2}
3159
3160 // CHECK: vpsubq %zmm17, %zmm28, %zmm29 {%k2} {z}
3161 // CHECK:  encoding: [0x62,0x21,0x9d,0xc2,0xfb,0xe9]
3162           vpsubq %zmm17, %zmm28, %zmm29 {%k2} {z}
3163
3164 // CHECK: vpsubq (%rcx), %zmm28, %zmm29
3165 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0xfb,0x29]
3166           vpsubq (%rcx), %zmm28, %zmm29
3167
3168 // CHECK: vpsubq 291(%rax,%r14,8), %zmm28, %zmm29
3169 // CHECK:  encoding: [0x62,0x21,0x9d,0x40,0xfb,0xac,0xf0,0x23,0x01,0x00,0x00]
3170           vpsubq 291(%rax,%r14,8), %zmm28, %zmm29
3171
3172 // CHECK: vpsubq (%rcx){1to8}, %zmm28, %zmm29
3173 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0xfb,0x29]
3174           vpsubq (%rcx){1to8}, %zmm28, %zmm29
3175
3176 // CHECK: vpsubq 8128(%rdx), %zmm28, %zmm29
3177 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0xfb,0x6a,0x7f]
3178           vpsubq 8128(%rdx), %zmm28, %zmm29
3179
3180 // CHECK: vpsubq 8192(%rdx), %zmm28, %zmm29
3181 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0xfb,0xaa,0x00,0x20,0x00,0x00]
3182           vpsubq 8192(%rdx), %zmm28, %zmm29
3183
3184 // CHECK: vpsubq -8192(%rdx), %zmm28, %zmm29
3185 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0xfb,0x6a,0x80]
3186           vpsubq -8192(%rdx), %zmm28, %zmm29
3187
3188 // CHECK: vpsubq -8256(%rdx), %zmm28, %zmm29
3189 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0xfb,0xaa,0xc0,0xdf,0xff,0xff]
3190           vpsubq -8256(%rdx), %zmm28, %zmm29
3191
3192 // CHECK: vpsubq 1016(%rdx){1to8}, %zmm28, %zmm29
3193 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0xfb,0x6a,0x7f]
3194           vpsubq 1016(%rdx){1to8}, %zmm28, %zmm29
3195
3196 // CHECK: vpsubq 1024(%rdx){1to8}, %zmm28, %zmm29
3197 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0xfb,0xaa,0x00,0x04,0x00,0x00]
3198           vpsubq 1024(%rdx){1to8}, %zmm28, %zmm29
3199
3200 // CHECK: vpsubq -1024(%rdx){1to8}, %zmm28, %zmm29
3201 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0xfb,0x6a,0x80]
3202           vpsubq -1024(%rdx){1to8}, %zmm28, %zmm29
3203
3204 // CHECK: vpsubq -1032(%rdx){1to8}, %zmm28, %zmm29
3205 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0xfb,0xaa,0xf8,0xfb,0xff,0xff]
3206           vpsubq -1032(%rdx){1to8}, %zmm28, %zmm29
3207
3208 // CHECK: vpxord %zmm24, %zmm12, %zmm8
3209 // CHECK:  encoding: [0x62,0x11,0x1d,0x48,0xef,0xc0]
3210           vpxord %zmm24, %zmm12, %zmm8
3211
3212 // CHECK: vpxord %zmm24, %zmm12, %zmm8 {%k6}
3213 // CHECK:  encoding: [0x62,0x11,0x1d,0x4e,0xef,0xc0]
3214           vpxord %zmm24, %zmm12, %zmm8 {%k6}
3215
3216 // CHECK: vpxord %zmm24, %zmm12, %zmm8 {%k6} {z}
3217 // CHECK:  encoding: [0x62,0x11,0x1d,0xce,0xef,0xc0]
3218           vpxord %zmm24, %zmm12, %zmm8 {%k6} {z}
3219
3220 // CHECK: vpxord (%rcx), %zmm12, %zmm8
3221 // CHECK:  encoding: [0x62,0x71,0x1d,0x48,0xef,0x01]
3222           vpxord (%rcx), %zmm12, %zmm8
3223
3224 // CHECK: vpxord 291(%rax,%r14,8), %zmm12, %zmm8
3225 // CHECK:  encoding: [0x62,0x31,0x1d,0x48,0xef,0x84,0xf0,0x23,0x01,0x00,0x00]
3226           vpxord 291(%rax,%r14,8), %zmm12, %zmm8
3227
3228 // CHECK: vpxord (%rcx){1to16}, %zmm12, %zmm8
3229 // CHECK:  encoding: [0x62,0x71,0x1d,0x58,0xef,0x01]
3230           vpxord (%rcx){1to16}, %zmm12, %zmm8
3231
3232 // CHECK: vpxord 8128(%rdx), %zmm12, %zmm8
3233 // CHECK:  encoding: [0x62,0x71,0x1d,0x48,0xef,0x42,0x7f]
3234           vpxord 8128(%rdx), %zmm12, %zmm8
3235
3236 // CHECK: vpxord 8192(%rdx), %zmm12, %zmm8
3237 // CHECK:  encoding: [0x62,0x71,0x1d,0x48,0xef,0x82,0x00,0x20,0x00,0x00]
3238           vpxord 8192(%rdx), %zmm12, %zmm8
3239
3240 // CHECK: vpxord -8192(%rdx), %zmm12, %zmm8
3241 // CHECK:  encoding: [0x62,0x71,0x1d,0x48,0xef,0x42,0x80]
3242           vpxord -8192(%rdx), %zmm12, %zmm8
3243
3244 // CHECK: vpxord -8256(%rdx), %zmm12, %zmm8
3245 // CHECK:  encoding: [0x62,0x71,0x1d,0x48,0xef,0x82,0xc0,0xdf,0xff,0xff]
3246           vpxord -8256(%rdx), %zmm12, %zmm8
3247
3248 // CHECK: vpxord 508(%rdx){1to16}, %zmm12, %zmm8
3249 // CHECK:  encoding: [0x62,0x71,0x1d,0x58,0xef,0x42,0x7f]
3250           vpxord 508(%rdx){1to16}, %zmm12, %zmm8
3251
3252 // CHECK: vpxord 512(%rdx){1to16}, %zmm12, %zmm8
3253 // CHECK:  encoding: [0x62,0x71,0x1d,0x58,0xef,0x82,0x00,0x02,0x00,0x00]
3254           vpxord 512(%rdx){1to16}, %zmm12, %zmm8
3255
3256 // CHECK: vpxord -512(%rdx){1to16}, %zmm12, %zmm8
3257 // CHECK:  encoding: [0x62,0x71,0x1d,0x58,0xef,0x42,0x80]
3258           vpxord -512(%rdx){1to16}, %zmm12, %zmm8
3259
3260 // CHECK: vpxord -516(%rdx){1to16}, %zmm12, %zmm8
3261 // CHECK:  encoding: [0x62,0x71,0x1d,0x58,0xef,0x82,0xfc,0xfd,0xff,0xff]
3262           vpxord -516(%rdx){1to16}, %zmm12, %zmm8
3263
3264 // CHECK: vpxorq %zmm10, %zmm22, %zmm7
3265 // CHECK:  encoding: [0x62,0xd1,0xcd,0x40,0xef,0xfa]
3266           vpxorq %zmm10, %zmm22, %zmm7
3267
3268 // CHECK: vpxorq %zmm10, %zmm22, %zmm7 {%k6}
3269 // CHECK:  encoding: [0x62,0xd1,0xcd,0x46,0xef,0xfa]
3270           vpxorq %zmm10, %zmm22, %zmm7 {%k6}
3271
3272 // CHECK: vpxorq %zmm10, %zmm22, %zmm7 {%k6} {z}
3273 // CHECK:  encoding: [0x62,0xd1,0xcd,0xc6,0xef,0xfa]
3274           vpxorq %zmm10, %zmm22, %zmm7 {%k6} {z}
3275
3276 // CHECK: vpxorq (%rcx), %zmm22, %zmm7
3277 // CHECK:  encoding: [0x62,0xf1,0xcd,0x40,0xef,0x39]
3278           vpxorq (%rcx), %zmm22, %zmm7
3279
3280 // CHECK: vpxorq 291(%rax,%r14,8), %zmm22, %zmm7
3281 // CHECK:  encoding: [0x62,0xb1,0xcd,0x40,0xef,0xbc,0xf0,0x23,0x01,0x00,0x00]
3282           vpxorq 291(%rax,%r14,8), %zmm22, %zmm7
3283
3284 // CHECK: vpxorq (%rcx){1to8}, %zmm22, %zmm7
3285 // CHECK:  encoding: [0x62,0xf1,0xcd,0x50,0xef,0x39]
3286           vpxorq (%rcx){1to8}, %zmm22, %zmm7
3287
3288 // CHECK: vpxorq 8128(%rdx), %zmm22, %zmm7
3289 // CHECK:  encoding: [0x62,0xf1,0xcd,0x40,0xef,0x7a,0x7f]
3290           vpxorq 8128(%rdx), %zmm22, %zmm7
3291
3292 // CHECK: vpxorq 8192(%rdx), %zmm22, %zmm7
3293 // CHECK:  encoding: [0x62,0xf1,0xcd,0x40,0xef,0xba,0x00,0x20,0x00,0x00]
3294           vpxorq 8192(%rdx), %zmm22, %zmm7
3295
3296 // CHECK: vpxorq -8192(%rdx), %zmm22, %zmm7
3297 // CHECK:  encoding: [0x62,0xf1,0xcd,0x40,0xef,0x7a,0x80]
3298           vpxorq -8192(%rdx), %zmm22, %zmm7
3299
3300 // CHECK: vpxorq -8256(%rdx), %zmm22, %zmm7
3301 // CHECK:  encoding: [0x62,0xf1,0xcd,0x40,0xef,0xba,0xc0,0xdf,0xff,0xff]
3302           vpxorq -8256(%rdx), %zmm22, %zmm7
3303
3304 // CHECK: vpxorq 1016(%rdx){1to8}, %zmm22, %zmm7
3305 // CHECK:  encoding: [0x62,0xf1,0xcd,0x50,0xef,0x7a,0x7f]
3306           vpxorq 1016(%rdx){1to8}, %zmm22, %zmm7
3307
3308 // CHECK: vpxorq 1024(%rdx){1to8}, %zmm22, %zmm7
3309 // CHECK:  encoding: [0x62,0xf1,0xcd,0x50,0xef,0xba,0x00,0x04,0x00,0x00]
3310           vpxorq 1024(%rdx){1to8}, %zmm22, %zmm7
3311
3312 // CHECK: vpxorq -1024(%rdx){1to8}, %zmm22, %zmm7
3313 // CHECK:  encoding: [0x62,0xf1,0xcd,0x50,0xef,0x7a,0x80]
3314           vpxorq -1024(%rdx){1to8}, %zmm22, %zmm7
3315
3316 // CHECK: vpxorq -1032(%rdx){1to8}, %zmm22, %zmm7
3317 // CHECK:  encoding: [0x62,0xf1,0xcd,0x50,0xef,0xba,0xf8,0xfb,0xff,0xff]
3318           vpxorq -1032(%rdx){1to8}, %zmm22, %zmm7
3319
3320 // CHECK: vrcp14pd %zmm4, %zmm13
3321 // CHECK:  encoding: [0x62,0x72,0xfd,0x48,0x4c,0xec]
3322           vrcp14pd %zmm4, %zmm13
3323
3324 // CHECK: vrcp14pd %zmm4, %zmm13 {%k5}
3325 // CHECK:  encoding: [0x62,0x72,0xfd,0x4d,0x4c,0xec]
3326           vrcp14pd %zmm4, %zmm13 {%k5}
3327
3328 // CHECK: vrcp14pd %zmm4, %zmm13 {%k5} {z}
3329 // CHECK:  encoding: [0x62,0x72,0xfd,0xcd,0x4c,0xec]
3330           vrcp14pd %zmm4, %zmm13 {%k5} {z}
3331
3332 // CHECK: vrcp14pd (%rcx), %zmm13
3333 // CHECK:  encoding: [0x62,0x72,0xfd,0x48,0x4c,0x29]
3334           vrcp14pd (%rcx), %zmm13
3335
3336 // CHECK: vrcp14pd 291(%rax,%r14,8), %zmm13
3337 // CHECK:  encoding: [0x62,0x32,0xfd,0x48,0x4c,0xac,0xf0,0x23,0x01,0x00,0x00]
3338           vrcp14pd 291(%rax,%r14,8), %zmm13
3339
3340 // CHECK: vrcp14pd (%rcx){1to8}, %zmm13
3341 // CHECK:  encoding: [0x62,0x72,0xfd,0x58,0x4c,0x29]
3342           vrcp14pd (%rcx){1to8}, %zmm13
3343
3344 // CHECK: vrcp14pd 8128(%rdx), %zmm13
3345 // CHECK:  encoding: [0x62,0x72,0xfd,0x48,0x4c,0x6a,0x7f]
3346           vrcp14pd 8128(%rdx), %zmm13
3347
3348 // CHECK: vrcp14pd 8192(%rdx), %zmm13
3349 // CHECK:  encoding: [0x62,0x72,0xfd,0x48,0x4c,0xaa,0x00,0x20,0x00,0x00]
3350           vrcp14pd 8192(%rdx), %zmm13
3351
3352 // CHECK: vrcp14pd -8192(%rdx), %zmm13
3353 // CHECK:  encoding: [0x62,0x72,0xfd,0x48,0x4c,0x6a,0x80]
3354           vrcp14pd -8192(%rdx), %zmm13
3355
3356 // CHECK: vrcp14pd -8256(%rdx), %zmm13
3357 // CHECK:  encoding: [0x62,0x72,0xfd,0x48,0x4c,0xaa,0xc0,0xdf,0xff,0xff]
3358           vrcp14pd -8256(%rdx), %zmm13
3359
3360 // CHECK: vrcp14pd 1016(%rdx){1to8}, %zmm13
3361 // CHECK:  encoding: [0x62,0x72,0xfd,0x58,0x4c,0x6a,0x7f]
3362           vrcp14pd 1016(%rdx){1to8}, %zmm13
3363
3364 // CHECK: vrcp14pd 1024(%rdx){1to8}, %zmm13
3365 // CHECK:  encoding: [0x62,0x72,0xfd,0x58,0x4c,0xaa,0x00,0x04,0x00,0x00]
3366           vrcp14pd 1024(%rdx){1to8}, %zmm13
3367
3368 // CHECK: vrcp14pd -1024(%rdx){1to8}, %zmm13
3369 // CHECK:  encoding: [0x62,0x72,0xfd,0x58,0x4c,0x6a,0x80]
3370           vrcp14pd -1024(%rdx){1to8}, %zmm13
3371
3372 // CHECK: vrcp14pd -1032(%rdx){1to8}, %zmm13
3373 // CHECK:  encoding: [0x62,0x72,0xfd,0x58,0x4c,0xaa,0xf8,0xfb,0xff,0xff]
3374           vrcp14pd -1032(%rdx){1to8}, %zmm13
3375
3376 // CHECK: vrcp14ps %zmm25, %zmm10
3377 // CHECK:  encoding: [0x62,0x12,0x7d,0x48,0x4c,0xd1]
3378           vrcp14ps %zmm25, %zmm10
3379
3380 // CHECK: vrcp14ps %zmm25, %zmm10 {%k1}
3381 // CHECK:  encoding: [0x62,0x12,0x7d,0x49,0x4c,0xd1]
3382           vrcp14ps %zmm25, %zmm10 {%k1}
3383
3384 // CHECK: vrcp14ps %zmm25, %zmm10 {%k1} {z}
3385 // CHECK:  encoding: [0x62,0x12,0x7d,0xc9,0x4c,0xd1]
3386           vrcp14ps %zmm25, %zmm10 {%k1} {z}
3387
3388 // CHECK: vrcp14ps (%rcx), %zmm10
3389 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x4c,0x11]
3390           vrcp14ps (%rcx), %zmm10
3391
3392 // CHECK: vrcp14ps 291(%rax,%r14,8), %zmm10
3393 // CHECK:  encoding: [0x62,0x32,0x7d,0x48,0x4c,0x94,0xf0,0x23,0x01,0x00,0x00]
3394           vrcp14ps 291(%rax,%r14,8), %zmm10
3395
3396 // CHECK: vrcp14ps (%rcx){1to16}, %zmm10
3397 // CHECK:  encoding: [0x62,0x72,0x7d,0x58,0x4c,0x11]
3398           vrcp14ps (%rcx){1to16}, %zmm10
3399
3400 // CHECK: vrcp14ps 8128(%rdx), %zmm10
3401 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x4c,0x52,0x7f]
3402           vrcp14ps 8128(%rdx), %zmm10
3403
3404 // CHECK: vrcp14ps 8192(%rdx), %zmm10
3405 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x4c,0x92,0x00,0x20,0x00,0x00]
3406           vrcp14ps 8192(%rdx), %zmm10
3407
3408 // CHECK: vrcp14ps -8192(%rdx), %zmm10
3409 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x4c,0x52,0x80]
3410           vrcp14ps -8192(%rdx), %zmm10
3411
3412 // CHECK: vrcp14ps -8256(%rdx), %zmm10
3413 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x4c,0x92,0xc0,0xdf,0xff,0xff]
3414           vrcp14ps -8256(%rdx), %zmm10
3415
3416 // CHECK: vrcp14ps 508(%rdx){1to16}, %zmm10
3417 // CHECK:  encoding: [0x62,0x72,0x7d,0x58,0x4c,0x52,0x7f]
3418           vrcp14ps 508(%rdx){1to16}, %zmm10
3419
3420 // CHECK: vrcp14ps 512(%rdx){1to16}, %zmm10
3421 // CHECK:  encoding: [0x62,0x72,0x7d,0x58,0x4c,0x92,0x00,0x02,0x00,0x00]
3422           vrcp14ps 512(%rdx){1to16}, %zmm10
3423
3424 // CHECK: vrcp14ps -512(%rdx){1to16}, %zmm10
3425 // CHECK:  encoding: [0x62,0x72,0x7d,0x58,0x4c,0x52,0x80]
3426           vrcp14ps -512(%rdx){1to16}, %zmm10
3427
3428 // CHECK: vrcp14ps -516(%rdx){1to16}, %zmm10
3429 // CHECK:  encoding: [0x62,0x72,0x7d,0x58,0x4c,0x92,0xfc,0xfd,0xff,0xff]
3430           vrcp14ps -516(%rdx){1to16}, %zmm10
3431
3432 // CHECK: vrsqrt14pd %zmm14, %zmm19
3433 // CHECK:  encoding: [0x62,0xc2,0xfd,0x48,0x4e,0xde]
3434           vrsqrt14pd %zmm14, %zmm19
3435
3436 // CHECK: vrsqrt14pd %zmm14, %zmm19 {%k1}
3437 // CHECK:  encoding: [0x62,0xc2,0xfd,0x49,0x4e,0xde]
3438           vrsqrt14pd %zmm14, %zmm19 {%k1}
3439
3440 // CHECK: vrsqrt14pd %zmm14, %zmm19 {%k1} {z}
3441 // CHECK:  encoding: [0x62,0xc2,0xfd,0xc9,0x4e,0xde]
3442           vrsqrt14pd %zmm14, %zmm19 {%k1} {z}
3443
3444 // CHECK: vrsqrt14pd (%rcx), %zmm19
3445 // CHECK:  encoding: [0x62,0xe2,0xfd,0x48,0x4e,0x19]
3446           vrsqrt14pd (%rcx), %zmm19
3447
3448 // CHECK: vrsqrt14pd 291(%rax,%r14,8), %zmm19
3449 // CHECK:  encoding: [0x62,0xa2,0xfd,0x48,0x4e,0x9c,0xf0,0x23,0x01,0x00,0x00]
3450           vrsqrt14pd 291(%rax,%r14,8), %zmm19
3451
3452 // CHECK: vrsqrt14pd (%rcx){1to8}, %zmm19
3453 // CHECK:  encoding: [0x62,0xe2,0xfd,0x58,0x4e,0x19]
3454           vrsqrt14pd (%rcx){1to8}, %zmm19
3455
3456 // CHECK: vrsqrt14pd 8128(%rdx), %zmm19
3457 // CHECK:  encoding: [0x62,0xe2,0xfd,0x48,0x4e,0x5a,0x7f]
3458           vrsqrt14pd 8128(%rdx), %zmm19
3459
3460 // CHECK: vrsqrt14pd 8192(%rdx), %zmm19
3461 // CHECK:  encoding: [0x62,0xe2,0xfd,0x48,0x4e,0x9a,0x00,0x20,0x00,0x00]
3462           vrsqrt14pd 8192(%rdx), %zmm19
3463
3464 // CHECK: vrsqrt14pd -8192(%rdx), %zmm19
3465 // CHECK:  encoding: [0x62,0xe2,0xfd,0x48,0x4e,0x5a,0x80]
3466           vrsqrt14pd -8192(%rdx), %zmm19
3467
3468 // CHECK: vrsqrt14pd -8256(%rdx), %zmm19
3469 // CHECK:  encoding: [0x62,0xe2,0xfd,0x48,0x4e,0x9a,0xc0,0xdf,0xff,0xff]
3470           vrsqrt14pd -8256(%rdx), %zmm19
3471
3472 // CHECK: vrsqrt14pd 1016(%rdx){1to8}, %zmm19
3473 // CHECK:  encoding: [0x62,0xe2,0xfd,0x58,0x4e,0x5a,0x7f]
3474           vrsqrt14pd 1016(%rdx){1to8}, %zmm19
3475
3476 // CHECK: vrsqrt14pd 1024(%rdx){1to8}, %zmm19
3477 // CHECK:  encoding: [0x62,0xe2,0xfd,0x58,0x4e,0x9a,0x00,0x04,0x00,0x00]
3478           vrsqrt14pd 1024(%rdx){1to8}, %zmm19
3479
3480 // CHECK: vrsqrt14pd -1024(%rdx){1to8}, %zmm19
3481 // CHECK:  encoding: [0x62,0xe2,0xfd,0x58,0x4e,0x5a,0x80]
3482           vrsqrt14pd -1024(%rdx){1to8}, %zmm19
3483
3484 // CHECK: vrsqrt14pd -1032(%rdx){1to8}, %zmm19
3485 // CHECK:  encoding: [0x62,0xe2,0xfd,0x58,0x4e,0x9a,0xf8,0xfb,0xff,0xff]
3486           vrsqrt14pd -1032(%rdx){1to8}, %zmm19
3487
3488 // CHECK: vrsqrt14ps %zmm9, %zmm16
3489 // CHECK:  encoding: [0x62,0xc2,0x7d,0x48,0x4e,0xc1]
3490           vrsqrt14ps %zmm9, %zmm16
3491
3492 // CHECK: vrsqrt14ps %zmm9, %zmm16 {%k5}
3493 // CHECK:  encoding: [0x62,0xc2,0x7d,0x4d,0x4e,0xc1]
3494           vrsqrt14ps %zmm9, %zmm16 {%k5}
3495
3496 // CHECK: vrsqrt14ps %zmm9, %zmm16 {%k5} {z}
3497 // CHECK:  encoding: [0x62,0xc2,0x7d,0xcd,0x4e,0xc1]
3498           vrsqrt14ps %zmm9, %zmm16 {%k5} {z}
3499
3500 // CHECK: vrsqrt14ps (%rcx), %zmm16
3501 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x4e,0x01]
3502           vrsqrt14ps (%rcx), %zmm16
3503
3504 // CHECK: vrsqrt14ps 291(%rax,%r14,8), %zmm16
3505 // CHECK:  encoding: [0x62,0xa2,0x7d,0x48,0x4e,0x84,0xf0,0x23,0x01,0x00,0x00]
3506           vrsqrt14ps 291(%rax,%r14,8), %zmm16
3507
3508 // CHECK: vrsqrt14ps (%rcx){1to16}, %zmm16
3509 // CHECK:  encoding: [0x62,0xe2,0x7d,0x58,0x4e,0x01]
3510           vrsqrt14ps (%rcx){1to16}, %zmm16
3511
3512 // CHECK: vrsqrt14ps 8128(%rdx), %zmm16
3513 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x4e,0x42,0x7f]
3514           vrsqrt14ps 8128(%rdx), %zmm16
3515
3516 // CHECK: vrsqrt14ps 8192(%rdx), %zmm16
3517 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x4e,0x82,0x00,0x20,0x00,0x00]
3518           vrsqrt14ps 8192(%rdx), %zmm16
3519
3520 // CHECK: vrsqrt14ps -8192(%rdx), %zmm16
3521 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x4e,0x42,0x80]
3522           vrsqrt14ps -8192(%rdx), %zmm16
3523
3524 // CHECK: vrsqrt14ps -8256(%rdx), %zmm16
3525 // CHECK:  encoding: [0x62,0xe2,0x7d,0x48,0x4e,0x82,0xc0,0xdf,0xff,0xff]
3526           vrsqrt14ps -8256(%rdx), %zmm16
3527
3528 // CHECK: vrsqrt14ps 508(%rdx){1to16}, %zmm16
3529 // CHECK:  encoding: [0x62,0xe2,0x7d,0x58,0x4e,0x42,0x7f]
3530           vrsqrt14ps 508(%rdx){1to16}, %zmm16
3531
3532 // CHECK: vrsqrt14ps 512(%rdx){1to16}, %zmm16
3533 // CHECK:  encoding: [0x62,0xe2,0x7d,0x58,0x4e,0x82,0x00,0x02,0x00,0x00]
3534           vrsqrt14ps 512(%rdx){1to16}, %zmm16
3535
3536 // CHECK: vrsqrt14ps -512(%rdx){1to16}, %zmm16
3537 // CHECK:  encoding: [0x62,0xe2,0x7d,0x58,0x4e,0x42,0x80]
3538           vrsqrt14ps -512(%rdx){1to16}, %zmm16
3539
3540 // CHECK: vrsqrt14ps -516(%rdx){1to16}, %zmm16
3541 // CHECK:  encoding: [0x62,0xe2,0x7d,0x58,0x4e,0x82,0xfc,0xfd,0xff,0xff]
3542           vrsqrt14ps -516(%rdx){1to16}, %zmm16
3543
3544 // CHECK: vsqrtpd %zmm19, %zmm19
3545 // CHECK:  encoding: [0x62,0xa1,0xfd,0x48,0x51,0xdb]
3546           vsqrtpd %zmm19, %zmm19
3547
3548 // CHECK: vsqrtpd %zmm19, %zmm19 {%k5}
3549 // CHECK:  encoding: [0x62,0xa1,0xfd,0x4d,0x51,0xdb]
3550           vsqrtpd %zmm19, %zmm19 {%k5}
3551
3552 // CHECK: vsqrtpd %zmm19, %zmm19 {%k5} {z}
3553 // CHECK:  encoding: [0x62,0xa1,0xfd,0xcd,0x51,0xdb]
3554           vsqrtpd %zmm19, %zmm19 {%k5} {z}
3555
3556 // CHECK: vsqrtpd (%rcx), %zmm19
3557 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x51,0x19]
3558           vsqrtpd (%rcx), %zmm19
3559
3560 // CHECK: vsqrtpd 291(%rax,%r14,8), %zmm19
3561 // CHECK:  encoding: [0x62,0xa1,0xfd,0x48,0x51,0x9c,0xf0,0x23,0x01,0x00,0x00]
3562           vsqrtpd 291(%rax,%r14,8), %zmm19
3563
3564 // CHECK: vsqrtpd (%rcx){1to8}, %zmm19
3565 // CHECK:  encoding: [0x62,0xe1,0xfd,0x58,0x51,0x19]
3566           vsqrtpd (%rcx){1to8}, %zmm19
3567
3568 // CHECK: vsqrtpd 8128(%rdx), %zmm19
3569 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x51,0x5a,0x7f]
3570           vsqrtpd 8128(%rdx), %zmm19
3571
3572 // CHECK: vsqrtpd 8192(%rdx), %zmm19
3573 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x51,0x9a,0x00,0x20,0x00,0x00]
3574           vsqrtpd 8192(%rdx), %zmm19
3575
3576 // CHECK: vsqrtpd -8192(%rdx), %zmm19
3577 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x51,0x5a,0x80]
3578           vsqrtpd -8192(%rdx), %zmm19
3579
3580 // CHECK: vsqrtpd -8256(%rdx), %zmm19
3581 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x51,0x9a,0xc0,0xdf,0xff,0xff]
3582           vsqrtpd -8256(%rdx), %zmm19
3583
3584 // CHECK: vsqrtpd 1016(%rdx){1to8}, %zmm19
3585 // CHECK:  encoding: [0x62,0xe1,0xfd,0x58,0x51,0x5a,0x7f]
3586           vsqrtpd 1016(%rdx){1to8}, %zmm19
3587
3588 // CHECK: vsqrtpd 1024(%rdx){1to8}, %zmm19
3589 // CHECK:  encoding: [0x62,0xe1,0xfd,0x58,0x51,0x9a,0x00,0x04,0x00,0x00]
3590           vsqrtpd 1024(%rdx){1to8}, %zmm19
3591
3592 // CHECK: vsqrtpd -1024(%rdx){1to8}, %zmm19
3593 // CHECK:  encoding: [0x62,0xe1,0xfd,0x58,0x51,0x5a,0x80]
3594           vsqrtpd -1024(%rdx){1to8}, %zmm19
3595
3596 // CHECK: vsqrtpd -1032(%rdx){1to8}, %zmm19
3597 // CHECK:  encoding: [0x62,0xe1,0xfd,0x58,0x51,0x9a,0xf8,0xfb,0xff,0xff]
3598           vsqrtpd -1032(%rdx){1to8}, %zmm19
3599
3600 // CHECK: vsqrtps %zmm29, %zmm28
3601 // CHECK:  encoding: [0x62,0x01,0x7c,0x48,0x51,0xe5]
3602           vsqrtps %zmm29, %zmm28
3603
3604 // CHECK: vsqrtps %zmm29, %zmm28 {%k3}
3605 // CHECK:  encoding: [0x62,0x01,0x7c,0x4b,0x51,0xe5]
3606           vsqrtps %zmm29, %zmm28 {%k3}
3607
3608 // CHECK: vsqrtps %zmm29, %zmm28 {%k3} {z}
3609 // CHECK:  encoding: [0x62,0x01,0x7c,0xcb,0x51,0xe5]
3610           vsqrtps %zmm29, %zmm28 {%k3} {z}
3611
3612 // CHECK: vsqrtps (%rcx), %zmm28
3613 // CHECK:  encoding: [0x62,0x61,0x7c,0x48,0x51,0x21]
3614           vsqrtps (%rcx), %zmm28
3615
3616 // CHECK: vsqrtps 291(%rax,%r14,8), %zmm28
3617 // CHECK:  encoding: [0x62,0x21,0x7c,0x48,0x51,0xa4,0xf0,0x23,0x01,0x00,0x00]
3618           vsqrtps 291(%rax,%r14,8), %zmm28
3619
3620 // CHECK: vsqrtps (%rcx){1to16}, %zmm28
3621 // CHECK:  encoding: [0x62,0x61,0x7c,0x58,0x51,0x21]
3622           vsqrtps (%rcx){1to16}, %zmm28
3623
3624 // CHECK: vsqrtps 8128(%rdx), %zmm28
3625 // CHECK:  encoding: [0x62,0x61,0x7c,0x48,0x51,0x62,0x7f]
3626           vsqrtps 8128(%rdx), %zmm28
3627
3628 // CHECK: vsqrtps 8192(%rdx), %zmm28
3629 // CHECK:  encoding: [0x62,0x61,0x7c,0x48,0x51,0xa2,0x00,0x20,0x00,0x00]
3630           vsqrtps 8192(%rdx), %zmm28
3631
3632 // CHECK: vsqrtps -8192(%rdx), %zmm28
3633 // CHECK:  encoding: [0x62,0x61,0x7c,0x48,0x51,0x62,0x80]
3634           vsqrtps -8192(%rdx), %zmm28
3635
3636 // CHECK: vsqrtps -8256(%rdx), %zmm28
3637 // CHECK:  encoding: [0x62,0x61,0x7c,0x48,0x51,0xa2,0xc0,0xdf,0xff,0xff]
3638           vsqrtps -8256(%rdx), %zmm28
3639
3640 // CHECK: vsqrtps 508(%rdx){1to16}, %zmm28
3641 // CHECK:  encoding: [0x62,0x61,0x7c,0x58,0x51,0x62,0x7f]
3642           vsqrtps 508(%rdx){1to16}, %zmm28
3643
3644 // CHECK: vsqrtps 512(%rdx){1to16}, %zmm28
3645 // CHECK:  encoding: [0x62,0x61,0x7c,0x58,0x51,0xa2,0x00,0x02,0x00,0x00]
3646           vsqrtps 512(%rdx){1to16}, %zmm28
3647
3648 // CHECK: vsqrtps -512(%rdx){1to16}, %zmm28
3649 // CHECK:  encoding: [0x62,0x61,0x7c,0x58,0x51,0x62,0x80]
3650           vsqrtps -512(%rdx){1to16}, %zmm28
3651
3652 // CHECK: vsqrtps -516(%rdx){1to16}, %zmm28
3653 // CHECK:  encoding: [0x62,0x61,0x7c,0x58,0x51,0xa2,0xfc,0xfd,0xff,0xff]
3654           vsqrtps -516(%rdx){1to16}, %zmm28
3655
3656 // CHECK: vsubpd %zmm9, %zmm12, %zmm9
3657 // CHECK:  encoding: [0x62,0x51,0x9d,0x48,0x5c,0xc9]
3658           vsubpd %zmm9, %zmm12, %zmm9
3659
3660 // CHECK: vsubpd %zmm9, %zmm12, %zmm9 {%k7}
3661 // CHECK:  encoding: [0x62,0x51,0x9d,0x4f,0x5c,0xc9]
3662           vsubpd %zmm9, %zmm12, %zmm9 {%k7}
3663
3664 // CHECK: vsubpd %zmm9, %zmm12, %zmm9 {%k7} {z}
3665 // CHECK:  encoding: [0x62,0x51,0x9d,0xcf,0x5c,0xc9]
3666           vsubpd %zmm9, %zmm12, %zmm9 {%k7} {z}
3667
3668 // CHECK: vsubpd (%rcx), %zmm12, %zmm9
3669 // CHECK:  encoding: [0x62,0x71,0x9d,0x48,0x5c,0x09]
3670           vsubpd (%rcx), %zmm12, %zmm9
3671
3672 // CHECK: vsubpd 291(%rax,%r14,8), %zmm12, %zmm9
3673 // CHECK:  encoding: [0x62,0x31,0x9d,0x48,0x5c,0x8c,0xf0,0x23,0x01,0x00,0x00]
3674           vsubpd 291(%rax,%r14,8), %zmm12, %zmm9
3675
3676 // CHECK: vsubpd (%rcx){1to8}, %zmm12, %zmm9
3677 // CHECK:  encoding: [0x62,0x71,0x9d,0x58,0x5c,0x09]
3678           vsubpd (%rcx){1to8}, %zmm12, %zmm9
3679
3680 // CHECK: vsubpd 8128(%rdx), %zmm12, %zmm9
3681 // CHECK:  encoding: [0x62,0x71,0x9d,0x48,0x5c,0x4a,0x7f]
3682           vsubpd 8128(%rdx), %zmm12, %zmm9
3683
3684 // CHECK: vsubpd 8192(%rdx), %zmm12, %zmm9
3685 // CHECK:  encoding: [0x62,0x71,0x9d,0x48,0x5c,0x8a,0x00,0x20,0x00,0x00]
3686           vsubpd 8192(%rdx), %zmm12, %zmm9
3687
3688 // CHECK: vsubpd -8192(%rdx), %zmm12, %zmm9
3689 // CHECK:  encoding: [0x62,0x71,0x9d,0x48,0x5c,0x4a,0x80]
3690           vsubpd -8192(%rdx), %zmm12, %zmm9
3691
3692 // CHECK: vsubpd -8256(%rdx), %zmm12, %zmm9
3693 // CHECK:  encoding: [0x62,0x71,0x9d,0x48,0x5c,0x8a,0xc0,0xdf,0xff,0xff]
3694           vsubpd -8256(%rdx), %zmm12, %zmm9
3695
3696 // CHECK: vsubpd 1016(%rdx){1to8}, %zmm12, %zmm9
3697 // CHECK:  encoding: [0x62,0x71,0x9d,0x58,0x5c,0x4a,0x7f]
3698           vsubpd 1016(%rdx){1to8}, %zmm12, %zmm9
3699
3700 // CHECK: vsubpd 1024(%rdx){1to8}, %zmm12, %zmm9
3701 // CHECK:  encoding: [0x62,0x71,0x9d,0x58,0x5c,0x8a,0x00,0x04,0x00,0x00]
3702           vsubpd 1024(%rdx){1to8}, %zmm12, %zmm9
3703
3704 // CHECK: vsubpd -1024(%rdx){1to8}, %zmm12, %zmm9
3705 // CHECK:  encoding: [0x62,0x71,0x9d,0x58,0x5c,0x4a,0x80]
3706           vsubpd -1024(%rdx){1to8}, %zmm12, %zmm9
3707
3708 // CHECK: vsubpd -1032(%rdx){1to8}, %zmm12, %zmm9
3709 // CHECK:  encoding: [0x62,0x71,0x9d,0x58,0x5c,0x8a,0xf8,0xfb,0xff,0xff]
3710           vsubpd -1032(%rdx){1to8}, %zmm12, %zmm9
3711
3712 // CHECK: vsubps %zmm21, %zmm27, %zmm14
3713 // CHECK:  encoding: [0x62,0x31,0x24,0x40,0x5c,0xf5]
3714           vsubps %zmm21, %zmm27, %zmm14
3715
3716 // CHECK: vsubps %zmm21, %zmm27, %zmm14 {%k5}
3717 // CHECK:  encoding: [0x62,0x31,0x24,0x45,0x5c,0xf5]
3718           vsubps %zmm21, %zmm27, %zmm14 {%k5}
3719
3720 // CHECK: vsubps %zmm21, %zmm27, %zmm14 {%k5} {z}
3721 // CHECK:  encoding: [0x62,0x31,0x24,0xc5,0x5c,0xf5]
3722           vsubps %zmm21, %zmm27, %zmm14 {%k5} {z}
3723
3724 // CHECK: vsubps (%rcx), %zmm27, %zmm14
3725 // CHECK:  encoding: [0x62,0x71,0x24,0x40,0x5c,0x31]
3726           vsubps (%rcx), %zmm27, %zmm14
3727
3728 // CHECK: vsubps 291(%rax,%r14,8), %zmm27, %zmm14
3729 // CHECK:  encoding: [0x62,0x31,0x24,0x40,0x5c,0xb4,0xf0,0x23,0x01,0x00,0x00]
3730           vsubps 291(%rax,%r14,8), %zmm27, %zmm14
3731
3732 // CHECK: vsubps (%rcx){1to16}, %zmm27, %zmm14
3733 // CHECK:  encoding: [0x62,0x71,0x24,0x50,0x5c,0x31]
3734           vsubps (%rcx){1to16}, %zmm27, %zmm14
3735
3736 // CHECK: vsubps 8128(%rdx), %zmm27, %zmm14
3737 // CHECK:  encoding: [0x62,0x71,0x24,0x40,0x5c,0x72,0x7f]
3738           vsubps 8128(%rdx), %zmm27, %zmm14
3739
3740 // CHECK: vsubps 8192(%rdx), %zmm27, %zmm14
3741 // CHECK:  encoding: [0x62,0x71,0x24,0x40,0x5c,0xb2,0x00,0x20,0x00,0x00]
3742           vsubps 8192(%rdx), %zmm27, %zmm14
3743
3744 // CHECK: vsubps -8192(%rdx), %zmm27, %zmm14
3745 // CHECK:  encoding: [0x62,0x71,0x24,0x40,0x5c,0x72,0x80]
3746           vsubps -8192(%rdx), %zmm27, %zmm14
3747
3748 // CHECK: vsubps -8256(%rdx), %zmm27, %zmm14
3749 // CHECK:  encoding: [0x62,0x71,0x24,0x40,0x5c,0xb2,0xc0,0xdf,0xff,0xff]
3750           vsubps -8256(%rdx), %zmm27, %zmm14
3751
3752 // CHECK: vsubps 508(%rdx){1to16}, %zmm27, %zmm14
3753 // CHECK:  encoding: [0x62,0x71,0x24,0x50,0x5c,0x72,0x7f]
3754           vsubps 508(%rdx){1to16}, %zmm27, %zmm14
3755
3756 // CHECK: vsubps 512(%rdx){1to16}, %zmm27, %zmm14
3757 // CHECK:  encoding: [0x62,0x71,0x24,0x50,0x5c,0xb2,0x00,0x02,0x00,0x00]
3758           vsubps 512(%rdx){1to16}, %zmm27, %zmm14
3759
3760 // CHECK: vsubps -512(%rdx){1to16}, %zmm27, %zmm14
3761 // CHECK:  encoding: [0x62,0x71,0x24,0x50,0x5c,0x72,0x80]
3762           vsubps -512(%rdx){1to16}, %zmm27, %zmm14
3763
3764 // CHECK: vsubps -516(%rdx){1to16}, %zmm27, %zmm14
3765 // CHECK:  encoding: [0x62,0x71,0x24,0x50,0x5c,0xb2,0xfc,0xfd,0xff,0xff]
3766           vsubps -516(%rdx){1to16}, %zmm27, %zmm14
3767
3768 // CHECK: kandw  %k6, %k5, %k2
3769 // CHECK:  encoding: [0xc5,0xd4,0x41,0xd6]
3770           kandw  %k6, %k5, %k2
3771
3772 // CHECK: kandnw %k7, %k6, %k4
3773 // CHECK:  encoding: [0xc5,0xcc,0x42,0xe7]
3774           kandnw %k7, %k6, %k4
3775
3776 // CHECK: korw   %k7, %k6, %k4
3777 // CHECK:  encoding: [0xc5,0xcc,0x45,0xe7]
3778           korw   %k7, %k6, %k4
3779
3780 // CHECK: kxnorw %k5, %k5, %k3
3781 // CHECK:  encoding: [0xc5,0xd4,0x46,0xdd]
3782           kxnorw %k5, %k5, %k3
3783
3784 // CHECK: kxorw  %k7, %k6, %k2
3785 // CHECK:  encoding: [0xc5,0xcc,0x47,0xd7]
3786           kxorw  %k7, %k6, %k2
3787
3788 // CHECK: knotw  %k6, %k3
3789 // CHECK:  encoding: [0xc5,0xf8,0x44,0xde]
3790           knotw  %k6, %k3
3791
3792 // CHECK: kmovw  %k5, %k4
3793 // CHECK:  encoding: [0xc5,0xf8,0x90,0xe5]
3794           kmovw  %k5, %k4
3795
3796 // CHECK: kmovw  (%rcx), %k4
3797 // CHECK:  encoding: [0xc5,0xf8,0x90,0x21]
3798           kmovw  (%rcx), %k4
3799
3800 // CHECK: kmovw  291(%rax,%r14,8), %k4
3801 // CHECK:  encoding: [0xc4,0xa1,0x78,0x90,0xa4,0xf0,0x23,0x01,0x00,0x00]
3802           kmovw  291(%rax,%r14,8), %k4
3803
3804 // CHECK: kmovw  %k4, (%rcx)
3805 // CHECK:  encoding: [0xc5,0xf8,0x91,0x21]
3806           kmovw  %k4, (%rcx)
3807
3808 // CHECK: kmovw  %k4, 291(%rax,%r14,8)
3809 // CHECK:  encoding: [0xc4,0xa1,0x78,0x91,0xa4,0xf0,0x23,0x01,0x00,0x00]
3810           kmovw  %k4, 291(%rax,%r14,8)
3811
3812 // CHECK: kmovw  %eax, %k3
3813 // CHECK:  encoding: [0xc5,0xf8,0x92,0xd8]
3814           kmovw  %eax, %k3
3815
3816 // CHECK: kmovw  %ebp, %k3
3817 // CHECK:  encoding: [0xc5,0xf8,0x92,0xdd]
3818           kmovw  %ebp, %k3
3819
3820 // CHECK: kmovw  %r13d, %k3
3821 // CHECK:  encoding: [0xc4,0xc1,0x78,0x92,0xdd]
3822           kmovw  %r13d, %k3
3823
3824 // CHECK: kmovw  %k2, %eax
3825 // CHECK:  encoding: [0xc5,0xf8,0x93,0xc2]
3826           kmovw  %k2, %eax
3827
3828 // CHECK: kmovw  %k2, %ebp
3829 // CHECK:  encoding: [0xc5,0xf8,0x93,0xea]
3830           kmovw  %k2, %ebp
3831
3832 // CHECK: kmovw  %k2, %r13d
3833 // CHECK:  encoding: [0xc5,0x78,0x93,0xea]
3834           kmovw  %k2, %r13d
3835
3836 // CHECK: vmovapd %zmm18, (%rcx)
3837 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x29,0x11]
3838           vmovapd %zmm18, (%rcx)
3839
3840 // CHECK: vmovapd %zmm18, (%rcx) {%k6}
3841 // CHECK:  encoding: [0x62,0xe1,0xfd,0x4e,0x29,0x11]
3842           vmovapd %zmm18, (%rcx) {%k6}
3843
3844 // CHECK: vmovapd %zmm18, 291(%rax,%r14,8)
3845 // CHECK:  encoding: [0x62,0xa1,0xfd,0x48,0x29,0x94,0xf0,0x23,0x01,0x00,0x00]
3846           vmovapd %zmm18, 291(%rax,%r14,8)
3847
3848 // CHECK: vmovapd %zmm18, 8128(%rdx)
3849 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x29,0x52,0x7f]
3850           vmovapd %zmm18, 8128(%rdx)
3851
3852 // CHECK: vmovapd %zmm18, 8192(%rdx)
3853 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x29,0x92,0x00,0x20,0x00,0x00]
3854           vmovapd %zmm18, 8192(%rdx)
3855
3856 // CHECK: vmovapd %zmm18, -8192(%rdx)
3857 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x29,0x52,0x80]
3858           vmovapd %zmm18, -8192(%rdx)
3859
3860 // CHECK: vmovapd %zmm18, -8256(%rdx)
3861 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x29,0x92,0xc0,0xdf,0xff,0xff]
3862           vmovapd %zmm18, -8256(%rdx)
3863
3864 // CHECK: vmovaps %zmm9, (%rcx)
3865 // CHECK:  encoding: [0x62,0x71,0x7c,0x48,0x29,0x09]
3866           vmovaps %zmm9, (%rcx)
3867
3868 // CHECK: vmovaps %zmm9, (%rcx) {%k3}
3869 // CHECK:  encoding: [0x62,0x71,0x7c,0x4b,0x29,0x09]
3870           vmovaps %zmm9, (%rcx) {%k3}
3871
3872 // CHECK: vmovaps %zmm9, 291(%rax,%r14,8)
3873 // CHECK:  encoding: [0x62,0x31,0x7c,0x48,0x29,0x8c,0xf0,0x23,0x01,0x00,0x00]
3874           vmovaps %zmm9, 291(%rax,%r14,8)
3875
3876 // CHECK: vmovaps %zmm9, 8128(%rdx)
3877 // CHECK:  encoding: [0x62,0x71,0x7c,0x48,0x29,0x4a,0x7f]
3878           vmovaps %zmm9, 8128(%rdx)
3879
3880 // CHECK: vmovaps %zmm9, 8192(%rdx)
3881 // CHECK:  encoding: [0x62,0x71,0x7c,0x48,0x29,0x8a,0x00,0x20,0x00,0x00]
3882           vmovaps %zmm9, 8192(%rdx)
3883
3884 // CHECK: vmovaps %zmm9, -8192(%rdx)
3885 // CHECK:  encoding: [0x62,0x71,0x7c,0x48,0x29,0x4a,0x80]
3886           vmovaps %zmm9, -8192(%rdx)
3887
3888 // CHECK: vmovaps %zmm9, -8256(%rdx)
3889 // CHECK:  encoding: [0x62,0x71,0x7c,0x48,0x29,0x8a,0xc0,0xdf,0xff,0xff]
3890           vmovaps %zmm9, -8256(%rdx)
3891
3892 // CHECK: vmovdqa32 %zmm18, (%rcx)
3893 // CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x7f,0x11]
3894           vmovdqa32 %zmm18, (%rcx)
3895
3896 // CHECK: vmovdqa32 %zmm18, (%rcx) {%k4}
3897 // CHECK:  encoding: [0x62,0xe1,0x7d,0x4c,0x7f,0x11]
3898           vmovdqa32 %zmm18, (%rcx) {%k4}
3899
3900 // CHECK: vmovdqa32 %zmm18, 291(%rax,%r14,8)
3901 // CHECK:  encoding: [0x62,0xa1,0x7d,0x48,0x7f,0x94,0xf0,0x23,0x01,0x00,0x00]
3902           vmovdqa32 %zmm18, 291(%rax,%r14,8)
3903
3904 // CHECK: vmovdqa32 %zmm18, 8128(%rdx)
3905 // CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x7f,0x52,0x7f]
3906           vmovdqa32 %zmm18, 8128(%rdx)
3907
3908 // CHECK: vmovdqa32 %zmm18, 8192(%rdx)
3909 // CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x7f,0x92,0x00,0x20,0x00,0x00]
3910           vmovdqa32 %zmm18, 8192(%rdx)
3911
3912 // CHECK: vmovdqa32 %zmm18, -8192(%rdx)
3913 // CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x7f,0x52,0x80]
3914           vmovdqa32 %zmm18, -8192(%rdx)
3915
3916 // CHECK: vmovdqa32 %zmm18, -8256(%rdx)
3917 // CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x7f,0x92,0xc0,0xdf,0xff,0xff]
3918           vmovdqa32 %zmm18, -8256(%rdx)
3919
3920 // CHECK: vmovdqa64 %zmm19, (%rcx)
3921 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x7f,0x19]
3922           vmovdqa64 %zmm19, (%rcx)
3923
3924 // CHECK: vmovdqa64 %zmm19, (%rcx) {%k5}
3925 // CHECK:  encoding: [0x62,0xe1,0xfd,0x4d,0x7f,0x19]
3926           vmovdqa64 %zmm19, (%rcx) {%k5}
3927
3928 // CHECK: vmovdqa64 %zmm19, 291(%rax,%r14,8)
3929 // CHECK:  encoding: [0x62,0xa1,0xfd,0x48,0x7f,0x9c,0xf0,0x23,0x01,0x00,0x00]
3930           vmovdqa64 %zmm19, 291(%rax,%r14,8)
3931
3932 // CHECK: vmovdqa64 %zmm19, 8128(%rdx)
3933 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x7f,0x5a,0x7f]
3934           vmovdqa64 %zmm19, 8128(%rdx)
3935
3936 // CHECK: vmovdqa64 %zmm19, 8192(%rdx)
3937 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x7f,0x9a,0x00,0x20,0x00,0x00]
3938           vmovdqa64 %zmm19, 8192(%rdx)
3939
3940 // CHECK: vmovdqa64 %zmm19, -8192(%rdx)
3941 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x7f,0x5a,0x80]
3942           vmovdqa64 %zmm19, -8192(%rdx)
3943
3944 // CHECK: vmovdqa64 %zmm19, -8256(%rdx)
3945 // CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x7f,0x9a,0xc0,0xdf,0xff,0xff]
3946           vmovdqa64 %zmm19, -8256(%rdx)
3947
3948 // CHECK: vmovdqu32 %zmm22, (%rcx)
3949 // CHECK:  encoding: [0x62,0xe1,0x7e,0x48,0x7f,0x31]
3950           vmovdqu32 %zmm22, (%rcx)
3951
3952 // CHECK: vmovdqu32 %zmm22, (%rcx) {%k1}
3953 // CHECK:  encoding: [0x62,0xe1,0x7e,0x49,0x7f,0x31]
3954           vmovdqu32 %zmm22, (%rcx) {%k1}
3955
3956 // CHECK: vmovdqu32 %zmm22, 291(%rax,%r14,8)
3957 // CHECK:  encoding: [0x62,0xa1,0x7e,0x48,0x7f,0xb4,0xf0,0x23,0x01,0x00,0x00]
3958           vmovdqu32 %zmm22, 291(%rax,%r14,8)
3959
3960 // CHECK: vmovdqu32 %zmm22, 8128(%rdx)
3961 // CHECK:  encoding: [0x62,0xe1,0x7e,0x48,0x7f,0x72,0x7f]
3962           vmovdqu32 %zmm22, 8128(%rdx)
3963
3964 // CHECK: vmovdqu32 %zmm22, 8192(%rdx)
3965 // CHECK:  encoding: [0x62,0xe1,0x7e,0x48,0x7f,0xb2,0x00,0x20,0x00,0x00]
3966           vmovdqu32 %zmm22, 8192(%rdx)
3967
3968 // CHECK: vmovdqu32 %zmm22, -8192(%rdx)
3969 // CHECK:  encoding: [0x62,0xe1,0x7e,0x48,0x7f,0x72,0x80]
3970           vmovdqu32 %zmm22, -8192(%rdx)
3971
3972 // CHECK: vmovdqu32 %zmm22, -8256(%rdx)
3973 // CHECK:  encoding: [0x62,0xe1,0x7e,0x48,0x7f,0xb2,0xc0,0xdf,0xff,0xff]
3974           vmovdqu32 %zmm22, -8256(%rdx)
3975
3976 // CHECK: vmovdqu64 %zmm24, (%rcx)
3977 // CHECK:  encoding: [0x62,0x61,0xfe,0x48,0x7f,0x01]
3978           vmovdqu64 %zmm24, (%rcx)
3979
3980 // CHECK: vmovdqu64 %zmm24, (%rcx) {%k5}
3981 // CHECK:  encoding: [0x62,0x61,0xfe,0x4d,0x7f,0x01]
3982           vmovdqu64 %zmm24, (%rcx) {%k5}
3983
3984 // CHECK: vmovdqu64 %zmm24, 291(%rax,%r14,8)
3985 // CHECK:  encoding: [0x62,0x21,0xfe,0x48,0x7f,0x84,0xf0,0x23,0x01,0x00,0x00]
3986           vmovdqu64 %zmm24, 291(%rax,%r14,8)
3987
3988 // CHECK: vmovdqu64 %zmm24, 8128(%rdx)
3989 // CHECK:  encoding: [0x62,0x61,0xfe,0x48,0x7f,0x42,0x7f]
3990           vmovdqu64 %zmm24, 8128(%rdx)
3991
3992 // CHECK: vmovdqu64 %zmm24, 8192(%rdx)
3993 // CHECK:  encoding: [0x62,0x61,0xfe,0x48,0x7f,0x82,0x00,0x20,0x00,0x00]
3994           vmovdqu64 %zmm24, 8192(%rdx)
3995
3996 // CHECK: vmovdqu64 %zmm24, -8192(%rdx)
3997 // CHECK:  encoding: [0x62,0x61,0xfe,0x48,0x7f,0x42,0x80]
3998           vmovdqu64 %zmm24, -8192(%rdx)
3999
4000 // CHECK: vmovdqu64 %zmm24, -8256(%rdx)
4001 // CHECK:  encoding: [0x62,0x61,0xfe,0x48,0x7f,0x82,0xc0,0xdf,0xff,0xff]
4002           vmovdqu64 %zmm24, -8256(%rdx)
4003
4004 // CHECK: vmovupd %zmm10, (%rcx)
4005 // CHECK:  encoding: [0x62,0x71,0xfd,0x48,0x11,0x11]
4006           vmovupd %zmm10, (%rcx)
4007
4008 // CHECK: vmovupd %zmm10, (%rcx) {%k7}
4009 // CHECK:  encoding: [0x62,0x71,0xfd,0x4f,0x11,0x11]
4010           vmovupd %zmm10, (%rcx) {%k7}
4011
4012 // CHECK: vmovupd %zmm10, 291(%rax,%r14,8)
4013 // CHECK:  encoding: [0x62,0x31,0xfd,0x48,0x11,0x94,0xf0,0x23,0x01,0x00,0x00]
4014           vmovupd %zmm10, 291(%rax,%r14,8)
4015
4016 // CHECK: vmovupd %zmm10, 8128(%rdx)
4017 // CHECK:  encoding: [0x62,0x71,0xfd,0x48,0x11,0x52,0x7f]
4018           vmovupd %zmm10, 8128(%rdx)
4019
4020 // CHECK: vmovupd %zmm10, 8192(%rdx)
4021 // CHECK:  encoding: [0x62,0x71,0xfd,0x48,0x11,0x92,0x00,0x20,0x00,0x00]
4022           vmovupd %zmm10, 8192(%rdx)
4023
4024 // CHECK: vmovupd %zmm10, -8192(%rdx)
4025 // CHECK:  encoding: [0x62,0x71,0xfd,0x48,0x11,0x52,0x80]
4026           vmovupd %zmm10, -8192(%rdx)
4027
4028 // CHECK: vmovupd %zmm10, -8256(%rdx)
4029 // CHECK:  encoding: [0x62,0x71,0xfd,0x48,0x11,0x92,0xc0,0xdf,0xff,0xff]
4030           vmovupd %zmm10, -8256(%rdx)
4031
4032 // CHECK: vmovups %zmm24, (%rcx)
4033 // CHECK:  encoding: [0x62,0x61,0x7c,0x48,0x11,0x01]
4034           vmovups %zmm24, (%rcx)
4035
4036 // CHECK: vmovups %zmm24, (%rcx) {%k7}
4037 // CHECK:  encoding: [0x62,0x61,0x7c,0x4f,0x11,0x01]
4038           vmovups %zmm24, (%rcx) {%k7}
4039
4040 // CHECK: vmovups %zmm24, 291(%rax,%r14,8)
4041 // CHECK:  encoding: [0x62,0x21,0x7c,0x48,0x11,0x84,0xf0,0x23,0x01,0x00,0x00]
4042           vmovups %zmm24, 291(%rax,%r14,8)
4043
4044 // CHECK: vmovups %zmm24, 8128(%rdx)
4045 // CHECK:  encoding: [0x62,0x61,0x7c,0x48,0x11,0x42,0x7f]
4046           vmovups %zmm24, 8128(%rdx)
4047
4048 // CHECK: vmovups %zmm24, 8192(%rdx)
4049 // CHECK:  encoding: [0x62,0x61,0x7c,0x48,0x11,0x82,0x00,0x20,0x00,0x00]
4050           vmovups %zmm24, 8192(%rdx)
4051
4052 // CHECK: vmovups %zmm24, -8192(%rdx)
4053 // CHECK:  encoding: [0x62,0x61,0x7c,0x48,0x11,0x42,0x80]
4054           vmovups %zmm24, -8192(%rdx)
4055
4056 // CHECK: vmovups %zmm24, -8256(%rdx)
4057 // CHECK:  encoding: [0x62,0x61,0x7c,0x48,0x11,0x82,0xc0,0xdf,0xff,0xff]
4058           vmovups %zmm24, -8256(%rdx)
4059
4060 // CHECK: vpmovqb %zmm2, %xmm3
4061 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x32,0xd3]
4062           vpmovqb %zmm2, %xmm3
4063
4064 // CHECK: vpmovqb %zmm2, %xmm3 {%k1}
4065 // CHECK:  encoding: [0x62,0xf2,0x7e,0x49,0x32,0xd3]
4066           vpmovqb %zmm2, %xmm3 {%k1}
4067
4068 // CHECK: vpmovqb %zmm2, %xmm3 {%k1} {z}
4069 // CHECK:  encoding: [0x62,0xf2,0x7e,0xc9,0x32,0xd3]
4070           vpmovqb %zmm2, %xmm3 {%k1} {z}
4071
4072 // CHECK: vpmovsqb %zmm29, %xmm30
4073 // CHECK:  encoding: [0x62,0x02,0x7e,0x48,0x22,0xee]
4074           vpmovsqb %zmm29, %xmm30
4075
4076 // CHECK: vpmovsqb %zmm29, %xmm30 {%k5}
4077 // CHECK:  encoding: [0x62,0x02,0x7e,0x4d,0x22,0xee]
4078           vpmovsqb %zmm29, %xmm30 {%k5}
4079
4080 // CHECK: vpmovsqb %zmm29, %xmm30 {%k5} {z}
4081 // CHECK:  encoding: [0x62,0x02,0x7e,0xcd,0x22,0xee]
4082           vpmovsqb %zmm29, %xmm30 {%k5} {z}
4083
4084 // CHECK: vpmovusqb %zmm28, %xmm24
4085 // CHECK:  encoding: [0x62,0x02,0x7e,0x48,0x12,0xe0]
4086           vpmovusqb %zmm28, %xmm24
4087
4088 // CHECK: vpmovusqb %zmm28, %xmm24 {%k7}
4089 // CHECK:  encoding: [0x62,0x02,0x7e,0x4f,0x12,0xe0]
4090           vpmovusqb %zmm28, %xmm24 {%k7}
4091
4092 // CHECK: vpmovusqb %zmm28, %xmm24 {%k7} {z}
4093 // CHECK:  encoding: [0x62,0x02,0x7e,0xcf,0x12,0xe0]
4094           vpmovusqb %zmm28, %xmm24 {%k7} {z}
4095
4096 // CHECK: vpmovqw %zmm18, %xmm6
4097 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x34,0xd6]
4098           vpmovqw %zmm18, %xmm6
4099
4100 // CHECK: vpmovqw %zmm18, %xmm6 {%k1}
4101 // CHECK:  encoding: [0x62,0xe2,0x7e,0x49,0x34,0xd6]
4102           vpmovqw %zmm18, %xmm6 {%k1}
4103
4104 // CHECK: vpmovqw %zmm18, %xmm6 {%k1} {z}
4105 // CHECK:  encoding: [0x62,0xe2,0x7e,0xc9,0x34,0xd6]
4106           vpmovqw %zmm18, %xmm6 {%k1} {z}
4107
4108 // CHECK: vpmovsqw %zmm19, %xmm27
4109 // CHECK:  encoding: [0x62,0x82,0x7e,0x48,0x24,0xdb]
4110           vpmovsqw %zmm19, %xmm27
4111
4112 // CHECK: vpmovsqw %zmm19, %xmm27 {%k6}
4113 // CHECK:  encoding: [0x62,0x82,0x7e,0x4e,0x24,0xdb]
4114           vpmovsqw %zmm19, %xmm27 {%k6}
4115
4116 // CHECK: vpmovsqw %zmm19, %xmm27 {%k6} {z}
4117 // CHECK:  encoding: [0x62,0x82,0x7e,0xce,0x24,0xdb]
4118           vpmovsqw %zmm19, %xmm27 {%k6} {z}
4119
4120 // CHECK: vpmovusqw %zmm10, %xmm28
4121 // CHECK:  encoding: [0x62,0x12,0x7e,0x48,0x14,0xd4]
4122           vpmovusqw %zmm10, %xmm28
4123
4124 // CHECK: vpmovusqw %zmm10, %xmm28 {%k7}
4125 // CHECK:  encoding: [0x62,0x12,0x7e,0x4f,0x14,0xd4]
4126           vpmovusqw %zmm10, %xmm28 {%k7}
4127
4128 // CHECK: vpmovusqw %zmm10, %xmm28 {%k7} {z}
4129 // CHECK:  encoding: [0x62,0x12,0x7e,0xcf,0x14,0xd4]
4130           vpmovusqw %zmm10, %xmm28 {%k7} {z}
4131
4132 // CHECK: vpmovqd %zmm25, %ymm6
4133 // CHECK:  encoding: [0x62,0x62,0x7e,0x48,0x35,0xce]
4134           vpmovqd %zmm25, %ymm6
4135
4136 // CHECK: vpmovqd %zmm25, %ymm6 {%k5}
4137 // CHECK:  encoding: [0x62,0x62,0x7e,0x4d,0x35,0xce]
4138           vpmovqd %zmm25, %ymm6 {%k5}
4139
4140 // CHECK: vpmovqd %zmm25, %ymm6 {%k5} {z}
4141 // CHECK:  encoding: [0x62,0x62,0x7e,0xcd,0x35,0xce]
4142           vpmovqd %zmm25, %ymm6 {%k5} {z}
4143
4144 // CHECK: vpmovsqd %zmm2, %ymm15
4145 // CHECK:  encoding: [0x62,0xd2,0x7e,0x48,0x25,0xd7]
4146           vpmovsqd %zmm2, %ymm15
4147
4148 // CHECK: vpmovsqd %zmm2, %ymm15 {%k2}
4149 // CHECK:  encoding: [0x62,0xd2,0x7e,0x4a,0x25,0xd7]
4150           vpmovsqd %zmm2, %ymm15 {%k2}
4151
4152 // CHECK: vpmovsqd %zmm2, %ymm15 {%k2} {z}
4153 // CHECK:  encoding: [0x62,0xd2,0x7e,0xca,0x25,0xd7]
4154           vpmovsqd %zmm2, %ymm15 {%k2} {z}
4155
4156 // CHECK: vpmovusqd %zmm4, %ymm8
4157 // CHECK:  encoding: [0x62,0xd2,0x7e,0x48,0x15,0xe0]
4158           vpmovusqd %zmm4, %ymm8
4159
4160 // CHECK: vpmovusqd %zmm4, %ymm8 {%k4}
4161 // CHECK:  encoding: [0x62,0xd2,0x7e,0x4c,0x15,0xe0]
4162           vpmovusqd %zmm4, %ymm8 {%k4}
4163
4164 // CHECK: vpmovusqd %zmm4, %ymm8 {%k4} {z}
4165 // CHECK:  encoding: [0x62,0xd2,0x7e,0xcc,0x15,0xe0]
4166           vpmovusqd %zmm4, %ymm8 {%k4} {z}
4167
4168 // CHECK: vpmovdb %zmm5, %xmm2
4169 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x31,0xea]
4170           vpmovdb %zmm5, %xmm2
4171
4172 // CHECK: vpmovdb %zmm5, %xmm2 {%k5}
4173 // CHECK:  encoding: [0x62,0xf2,0x7e,0x4d,0x31,0xea]
4174           vpmovdb %zmm5, %xmm2 {%k5}
4175
4176 // CHECK: vpmovdb %zmm5, %xmm2 {%k5} {z}
4177 // CHECK:  encoding: [0x62,0xf2,0x7e,0xcd,0x31,0xea]
4178           vpmovdb %zmm5, %xmm2 {%k5} {z}
4179
4180 // CHECK: vpmovsdb %zmm2, %xmm21
4181 // CHECK:  encoding: [0x62,0xb2,0x7e,0x48,0x21,0xd5]
4182           vpmovsdb %zmm2, %xmm21
4183
4184 // CHECK: vpmovsdb %zmm2, %xmm21 {%k4}
4185 // CHECK:  encoding: [0x62,0xb2,0x7e,0x4c,0x21,0xd5]
4186           vpmovsdb %zmm2, %xmm21 {%k4}
4187
4188 // CHECK: vpmovsdb %zmm2, %xmm21 {%k4} {z}
4189 // CHECK:  encoding: [0x62,0xb2,0x7e,0xcc,0x21,0xd5]
4190           vpmovsdb %zmm2, %xmm21 {%k4} {z}
4191
4192 // CHECK: vpmovusdb %zmm2, %xmm20
4193 // CHECK:  encoding: [0x62,0xb2,0x7e,0x48,0x11,0xd4]
4194           vpmovusdb %zmm2, %xmm20
4195
4196 // CHECK: vpmovusdb %zmm2, %xmm20 {%k3}
4197 // CHECK:  encoding: [0x62,0xb2,0x7e,0x4b,0x11,0xd4]
4198           vpmovusdb %zmm2, %xmm20 {%k3}
4199
4200 // CHECK: vpmovusdb %zmm2, %xmm20 {%k3} {z}
4201 // CHECK:  encoding: [0x62,0xb2,0x7e,0xcb,0x11,0xd4]
4202           vpmovusdb %zmm2, %xmm20 {%k3} {z}
4203
4204 // CHECK: vpmovdw %zmm29, %ymm22
4205 // CHECK:  encoding: [0x62,0x22,0x7e,0x48,0x33,0xee]
4206           vpmovdw %zmm29, %ymm22
4207
4208 // CHECK: vpmovdw %zmm29, %ymm22 {%k5}
4209 // CHECK:  encoding: [0x62,0x22,0x7e,0x4d,0x33,0xee]
4210           vpmovdw %zmm29, %ymm22 {%k5}
4211
4212 // CHECK: vpmovdw %zmm29, %ymm22 {%k5} {z}
4213 // CHECK:  encoding: [0x62,0x22,0x7e,0xcd,0x33,0xee]
4214           vpmovdw %zmm29, %ymm22 {%k5} {z}
4215
4216 // CHECK: vpmovsdw %zmm14, %ymm25
4217 // CHECK:  encoding: [0x62,0x12,0x7e,0x48,0x23,0xf1]
4218           vpmovsdw %zmm14, %ymm25
4219
4220 // CHECK: vpmovsdw %zmm14, %ymm25 {%k4}
4221 // CHECK:  encoding: [0x62,0x12,0x7e,0x4c,0x23,0xf1]
4222           vpmovsdw %zmm14, %ymm25 {%k4}
4223
4224 // CHECK: vpmovsdw %zmm14, %ymm25 {%k4} {z}
4225 // CHECK:  encoding: [0x62,0x12,0x7e,0xcc,0x23,0xf1]
4226           vpmovsdw %zmm14, %ymm25 {%k4} {z}
4227
4228 // CHECK: vpmovusdw %zmm7, %ymm8
4229 // CHECK:  encoding: [0x62,0xd2,0x7e,0x48,0x13,0xf8]
4230           vpmovusdw %zmm7, %ymm8
4231
4232 // CHECK: vpmovusdw %zmm7, %ymm8 {%k1}
4233 // CHECK:  encoding: [0x62,0xd2,0x7e,0x49,0x13,0xf8]
4234           vpmovusdw %zmm7, %ymm8 {%k1}
4235
4236 // CHECK: vpmovusdw %zmm7, %ymm8 {%k1} {z}
4237 // CHECK:  encoding: [0x62,0xd2,0x7e,0xc9,0x13,0xf8]
4238           vpmovusdw %zmm7, %ymm8 {%k1} {z}
4239
4240 // CHECK: vpmovqb %zmm3, (%rcx)
4241 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x32,0x19]
4242           vpmovqb %zmm3, (%rcx)
4243
4244 // CHECK: vpmovqb %zmm3, (%rcx) {%k7}
4245 // CHECK:  encoding: [0x62,0xf2,0x7e,0x4f,0x32,0x19]
4246           vpmovqb %zmm3, (%rcx) {%k7}
4247
4248 // CHECK: vpmovqb %zmm3, 291(%rax,%r14,8)
4249 // CHECK:  encoding: [0x62,0xb2,0x7e,0x48,0x32,0x9c,0xf0,0x23,0x01,0x00,0x00]
4250           vpmovqb %zmm3, 291(%rax,%r14,8)
4251
4252 // CHECK: vpmovqb %zmm3, 1016(%rdx)
4253 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x32,0x5a,0x7f]
4254           vpmovqb %zmm3, 1016(%rdx)
4255
4256 // CHECK: vpmovqb %zmm3, 1024(%rdx)
4257 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x32,0x9a,0x00,0x04,0x00,0x00]
4258           vpmovqb %zmm3, 1024(%rdx)
4259
4260 // CHECK: vpmovqb %zmm3, -1024(%rdx)
4261 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x32,0x5a,0x80]
4262           vpmovqb %zmm3, -1024(%rdx)
4263
4264 // CHECK: vpmovqb %zmm3, -1032(%rdx)
4265 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x32,0x9a,0xf8,0xfb,0xff,0xff]
4266           vpmovqb %zmm3, -1032(%rdx)
4267
4268 // CHECK: vpmovsqb %zmm16, (%rcx)
4269 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x22,0x01]
4270           vpmovsqb %zmm16, (%rcx)
4271
4272 // CHECK: vpmovsqb %zmm16, (%rcx) {%k2}
4273 // CHECK:  encoding: [0x62,0xe2,0x7e,0x4a,0x22,0x01]
4274           vpmovsqb %zmm16, (%rcx) {%k2}
4275
4276 // CHECK: vpmovsqb %zmm16, 291(%rax,%r14,8)
4277 // CHECK:  encoding: [0x62,0xa2,0x7e,0x48,0x22,0x84,0xf0,0x23,0x01,0x00,0x00]
4278           vpmovsqb %zmm16, 291(%rax,%r14,8)
4279
4280 // CHECK: vpmovsqb %zmm16, 1016(%rdx)
4281 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x22,0x42,0x7f]
4282           vpmovsqb %zmm16, 1016(%rdx)
4283
4284 // CHECK: vpmovsqb %zmm16, 1024(%rdx)
4285 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x22,0x82,0x00,0x04,0x00,0x00]
4286           vpmovsqb %zmm16, 1024(%rdx)
4287
4288 // CHECK: vpmovsqb %zmm16, -1024(%rdx)
4289 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x22,0x42,0x80]
4290           vpmovsqb %zmm16, -1024(%rdx)
4291
4292 // CHECK: vpmovsqb %zmm16, -1032(%rdx)
4293 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x22,0x82,0xf8,0xfb,0xff,0xff]
4294           vpmovsqb %zmm16, -1032(%rdx)
4295
4296 // CHECK: vpmovusqb %zmm28, (%rcx)
4297 // CHECK:  encoding: [0x62,0x62,0x7e,0x48,0x12,0x21]
4298           vpmovusqb %zmm28, (%rcx)
4299
4300 // CHECK: vpmovusqb %zmm28, (%rcx) {%k1}
4301 // CHECK:  encoding: [0x62,0x62,0x7e,0x49,0x12,0x21]
4302           vpmovusqb %zmm28, (%rcx) {%k1}
4303
4304 // CHECK: vpmovusqb %zmm28, 291(%rax,%r14,8)
4305 // CHECK:  encoding: [0x62,0x22,0x7e,0x48,0x12,0xa4,0xf0,0x23,0x01,0x00,0x00]
4306           vpmovusqb %zmm28, 291(%rax,%r14,8)
4307
4308 // CHECK: vpmovusqb %zmm28, 1016(%rdx)
4309 // CHECK:  encoding: [0x62,0x62,0x7e,0x48,0x12,0x62,0x7f]
4310           vpmovusqb %zmm28, 1016(%rdx)
4311
4312 // CHECK: vpmovusqb %zmm28, 1024(%rdx)
4313 // CHECK:  encoding: [0x62,0x62,0x7e,0x48,0x12,0xa2,0x00,0x04,0x00,0x00]
4314           vpmovusqb %zmm28, 1024(%rdx)
4315
4316 // CHECK: vpmovusqb %zmm28, -1024(%rdx)
4317 // CHECK:  encoding: [0x62,0x62,0x7e,0x48,0x12,0x62,0x80]
4318           vpmovusqb %zmm28, -1024(%rdx)
4319
4320 // CHECK: vpmovusqb %zmm28, -1032(%rdx)
4321 // CHECK:  encoding: [0x62,0x62,0x7e,0x48,0x12,0xa2,0xf8,0xfb,0xff,0xff]
4322           vpmovusqb %zmm28, -1032(%rdx)
4323
4324 // CHECK: vpmovqw %zmm7, (%rcx)
4325 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x34,0x39]
4326           vpmovqw %zmm7, (%rcx)
4327
4328 // CHECK: vpmovqw %zmm7, (%rcx) {%k6}
4329 // CHECK:  encoding: [0x62,0xf2,0x7e,0x4e,0x34,0x39]
4330           vpmovqw %zmm7, (%rcx) {%k6}
4331
4332 // CHECK: vpmovqw %zmm7, 291(%rax,%r14,8)
4333 // CHECK:  encoding: [0x62,0xb2,0x7e,0x48,0x34,0xbc,0xf0,0x23,0x01,0x00,0x00]
4334           vpmovqw %zmm7, 291(%rax,%r14,8)
4335
4336 // CHECK: vpmovqw %zmm7, 2032(%rdx)
4337 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x34,0x7a,0x7f]
4338           vpmovqw %zmm7, 2032(%rdx)
4339
4340 // CHECK: vpmovqw %zmm7, 2048(%rdx)
4341 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x34,0xba,0x00,0x08,0x00,0x00]
4342           vpmovqw %zmm7, 2048(%rdx)
4343
4344 // CHECK: vpmovqw %zmm7, -2048(%rdx)
4345 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x34,0x7a,0x80]
4346           vpmovqw %zmm7, -2048(%rdx)
4347
4348 // CHECK: vpmovqw %zmm7, -2064(%rdx)
4349 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x34,0xba,0xf0,0xf7,0xff,0xff]
4350           vpmovqw %zmm7, -2064(%rdx)
4351
4352 // CHECK: vpmovsqw %zmm1, (%rcx)
4353 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x24,0x09]
4354           vpmovsqw %zmm1, (%rcx)
4355
4356 // CHECK: vpmovsqw %zmm1, (%rcx) {%k5}
4357 // CHECK:  encoding: [0x62,0xf2,0x7e,0x4d,0x24,0x09]
4358           vpmovsqw %zmm1, (%rcx) {%k5}
4359
4360 // CHECK: vpmovsqw %zmm1, 291(%rax,%r14,8)
4361 // CHECK:  encoding: [0x62,0xb2,0x7e,0x48,0x24,0x8c,0xf0,0x23,0x01,0x00,0x00]
4362           vpmovsqw %zmm1, 291(%rax,%r14,8)
4363
4364 // CHECK: vpmovsqw %zmm1, 2032(%rdx)
4365 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x24,0x4a,0x7f]
4366           vpmovsqw %zmm1, 2032(%rdx)
4367
4368 // CHECK: vpmovsqw %zmm1, 2048(%rdx)
4369 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x24,0x8a,0x00,0x08,0x00,0x00]
4370           vpmovsqw %zmm1, 2048(%rdx)
4371
4372 // CHECK: vpmovsqw %zmm1, -2048(%rdx)
4373 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x24,0x4a,0x80]
4374           vpmovsqw %zmm1, -2048(%rdx)
4375
4376 // CHECK: vpmovsqw %zmm1, -2064(%rdx)
4377 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x24,0x8a,0xf0,0xf7,0xff,0xff]
4378           vpmovsqw %zmm1, -2064(%rdx)
4379
4380 // CHECK: vpmovusqw %zmm25, (%rcx)
4381 // CHECK:  encoding: [0x62,0x62,0x7e,0x48,0x14,0x09]
4382           vpmovusqw %zmm25, (%rcx)
4383
4384 // CHECK: vpmovusqw %zmm25, (%rcx) {%k3}
4385 // CHECK:  encoding: [0x62,0x62,0x7e,0x4b,0x14,0x09]
4386           vpmovusqw %zmm25, (%rcx) {%k3}
4387
4388 // CHECK: vpmovusqw %zmm25, 291(%rax,%r14,8)
4389 // CHECK:  encoding: [0x62,0x22,0x7e,0x48,0x14,0x8c,0xf0,0x23,0x01,0x00,0x00]
4390           vpmovusqw %zmm25, 291(%rax,%r14,8)
4391
4392 // CHECK: vpmovusqw %zmm25, 2032(%rdx)
4393 // CHECK:  encoding: [0x62,0x62,0x7e,0x48,0x14,0x4a,0x7f]
4394           vpmovusqw %zmm25, 2032(%rdx)
4395
4396 // CHECK: vpmovusqw %zmm25, 2048(%rdx)
4397 // CHECK:  encoding: [0x62,0x62,0x7e,0x48,0x14,0x8a,0x00,0x08,0x00,0x00]
4398           vpmovusqw %zmm25, 2048(%rdx)
4399
4400 // CHECK: vpmovusqw %zmm25, -2048(%rdx)
4401 // CHECK:  encoding: [0x62,0x62,0x7e,0x48,0x14,0x4a,0x80]
4402           vpmovusqw %zmm25, -2048(%rdx)
4403
4404 // CHECK: vpmovusqw %zmm25, -2064(%rdx)
4405 // CHECK:  encoding: [0x62,0x62,0x7e,0x48,0x14,0x8a,0xf0,0xf7,0xff,0xff]
4406           vpmovusqw %zmm25, -2064(%rdx)
4407
4408 // CHECK: vpmovqd %zmm28, (%rcx)
4409 // CHECK:  encoding: [0x62,0x62,0x7e,0x48,0x35,0x21]
4410           vpmovqd %zmm28, (%rcx)
4411
4412 // CHECK: vpmovqd %zmm28, (%rcx) {%k5}
4413 // CHECK:  encoding: [0x62,0x62,0x7e,0x4d,0x35,0x21]
4414           vpmovqd %zmm28, (%rcx) {%k5}
4415
4416 // CHECK: vpmovqd %zmm28, 291(%rax,%r14,8)
4417 // CHECK:  encoding: [0x62,0x22,0x7e,0x48,0x35,0xa4,0xf0,0x23,0x01,0x00,0x00]
4418           vpmovqd %zmm28, 291(%rax,%r14,8)
4419
4420 // CHECK: vpmovqd %zmm28, 4064(%rdx)
4421 // CHECK:  encoding: [0x62,0x62,0x7e,0x48,0x35,0x62,0x7f]
4422           vpmovqd %zmm28, 4064(%rdx)
4423
4424 // CHECK: vpmovqd %zmm28, 4096(%rdx)
4425 // CHECK:  encoding: [0x62,0x62,0x7e,0x48,0x35,0xa2,0x00,0x10,0x00,0x00]
4426           vpmovqd %zmm28, 4096(%rdx)
4427
4428 // CHECK: vpmovqd %zmm28, -4096(%rdx)
4429 // CHECK:  encoding: [0x62,0x62,0x7e,0x48,0x35,0x62,0x80]
4430           vpmovqd %zmm28, -4096(%rdx)
4431
4432 // CHECK: vpmovqd %zmm28, -4128(%rdx)
4433 // CHECK:  encoding: [0x62,0x62,0x7e,0x48,0x35,0xa2,0xe0,0xef,0xff,0xff]
4434           vpmovqd %zmm28, -4128(%rdx)
4435
4436 // CHECK: vpmovsqd %zmm9, (%rcx)
4437 // CHECK:  encoding: [0x62,0x72,0x7e,0x48,0x25,0x09]
4438           vpmovsqd %zmm9, (%rcx)
4439
4440 // CHECK: vpmovsqd %zmm9, (%rcx) {%k7}
4441 // CHECK:  encoding: [0x62,0x72,0x7e,0x4f,0x25,0x09]
4442           vpmovsqd %zmm9, (%rcx) {%k7}
4443
4444 // CHECK: vpmovsqd %zmm9, 291(%rax,%r14,8)
4445 // CHECK:  encoding: [0x62,0x32,0x7e,0x48,0x25,0x8c,0xf0,0x23,0x01,0x00,0x00]
4446           vpmovsqd %zmm9, 291(%rax,%r14,8)
4447
4448 // CHECK: vpmovsqd %zmm9, 4064(%rdx)
4449 // CHECK:  encoding: [0x62,0x72,0x7e,0x48,0x25,0x4a,0x7f]
4450           vpmovsqd %zmm9, 4064(%rdx)
4451
4452 // CHECK: vpmovsqd %zmm9, 4096(%rdx)
4453 // CHECK:  encoding: [0x62,0x72,0x7e,0x48,0x25,0x8a,0x00,0x10,0x00,0x00]
4454           vpmovsqd %zmm9, 4096(%rdx)
4455
4456 // CHECK: vpmovsqd %zmm9, -4096(%rdx)
4457 // CHECK:  encoding: [0x62,0x72,0x7e,0x48,0x25,0x4a,0x80]
4458           vpmovsqd %zmm9, -4096(%rdx)
4459
4460 // CHECK: vpmovsqd %zmm9, -4128(%rdx)
4461 // CHECK:  encoding: [0x62,0x72,0x7e,0x48,0x25,0x8a,0xe0,0xef,0xff,0xff]
4462           vpmovsqd %zmm9, -4128(%rdx)
4463
4464 // CHECK: vpmovusqd %zmm22, (%rcx)
4465 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x15,0x31]
4466           vpmovusqd %zmm22, (%rcx)
4467
4468 // CHECK: vpmovusqd %zmm22, (%rcx) {%k1}
4469 // CHECK:  encoding: [0x62,0xe2,0x7e,0x49,0x15,0x31]
4470           vpmovusqd %zmm22, (%rcx) {%k1}
4471
4472 // CHECK: vpmovusqd %zmm22, 291(%rax,%r14,8)
4473 // CHECK:  encoding: [0x62,0xa2,0x7e,0x48,0x15,0xb4,0xf0,0x23,0x01,0x00,0x00]
4474           vpmovusqd %zmm22, 291(%rax,%r14,8)
4475
4476 // CHECK: vpmovusqd %zmm22, 4064(%rdx)
4477 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x15,0x72,0x7f]
4478           vpmovusqd %zmm22, 4064(%rdx)
4479
4480 // CHECK: vpmovusqd %zmm22, 4096(%rdx)
4481 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x15,0xb2,0x00,0x10,0x00,0x00]
4482           vpmovusqd %zmm22, 4096(%rdx)
4483
4484 // CHECK: vpmovusqd %zmm22, -4096(%rdx)
4485 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x15,0x72,0x80]
4486           vpmovusqd %zmm22, -4096(%rdx)
4487
4488 // CHECK: vpmovusqd %zmm22, -4128(%rdx)
4489 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x15,0xb2,0xe0,0xef,0xff,0xff]
4490           vpmovusqd %zmm22, -4128(%rdx)
4491
4492 // CHECK: vpmovdb %zmm12, (%rcx)
4493 // CHECK:  encoding: [0x62,0x72,0x7e,0x48,0x31,0x21]
4494           vpmovdb %zmm12, (%rcx)
4495
4496 // CHECK: vpmovdb %zmm12, (%rcx) {%k3}
4497 // CHECK:  encoding: [0x62,0x72,0x7e,0x4b,0x31,0x21]
4498           vpmovdb %zmm12, (%rcx) {%k3}
4499
4500 // CHECK: vpmovdb %zmm12, 291(%rax,%r14,8)
4501 // CHECK:  encoding: [0x62,0x32,0x7e,0x48,0x31,0xa4,0xf0,0x23,0x01,0x00,0x00]
4502           vpmovdb %zmm12, 291(%rax,%r14,8)
4503
4504 // CHECK: vpmovdb %zmm12, 2032(%rdx)
4505 // CHECK:  encoding: [0x62,0x72,0x7e,0x48,0x31,0x62,0x7f]
4506           vpmovdb %zmm12, 2032(%rdx)
4507
4508 // CHECK: vpmovdb %zmm12, 2048(%rdx)
4509 // CHECK:  encoding: [0x62,0x72,0x7e,0x48,0x31,0xa2,0x00,0x08,0x00,0x00]
4510           vpmovdb %zmm12, 2048(%rdx)
4511
4512 // CHECK: vpmovdb %zmm12, -2048(%rdx)
4513 // CHECK:  encoding: [0x62,0x72,0x7e,0x48,0x31,0x62,0x80]
4514           vpmovdb %zmm12, -2048(%rdx)
4515
4516 // CHECK: vpmovdb %zmm12, -2064(%rdx)
4517 // CHECK:  encoding: [0x62,0x72,0x7e,0x48,0x31,0xa2,0xf0,0xf7,0xff,0xff]
4518           vpmovdb %zmm12, -2064(%rdx)
4519
4520 // CHECK: vpmovsdb %zmm6, (%rcx)
4521 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x21,0x31]
4522           vpmovsdb %zmm6, (%rcx)
4523
4524 // CHECK: vpmovsdb %zmm6, (%rcx) {%k1}
4525 // CHECK:  encoding: [0x62,0xf2,0x7e,0x49,0x21,0x31]
4526           vpmovsdb %zmm6, (%rcx) {%k1}
4527
4528 // CHECK: vpmovsdb %zmm6, 291(%rax,%r14,8)
4529 // CHECK:  encoding: [0x62,0xb2,0x7e,0x48,0x21,0xb4,0xf0,0x23,0x01,0x00,0x00]
4530           vpmovsdb %zmm6, 291(%rax,%r14,8)
4531
4532 // CHECK: vpmovsdb %zmm6, 2032(%rdx)
4533 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x21,0x72,0x7f]
4534           vpmovsdb %zmm6, 2032(%rdx)
4535
4536 // CHECK: vpmovsdb %zmm6, 2048(%rdx)
4537 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x21,0xb2,0x00,0x08,0x00,0x00]
4538           vpmovsdb %zmm6, 2048(%rdx)
4539
4540 // CHECK: vpmovsdb %zmm6, -2048(%rdx)
4541 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x21,0x72,0x80]
4542           vpmovsdb %zmm6, -2048(%rdx)
4543
4544 // CHECK: vpmovsdb %zmm6, -2064(%rdx)
4545 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x21,0xb2,0xf0,0xf7,0xff,0xff]
4546           vpmovsdb %zmm6, -2064(%rdx)
4547
4548 // CHECK: vpmovusdb %zmm23, (%rcx)
4549 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x11,0x39]
4550           vpmovusdb %zmm23, (%rcx)
4551
4552 // CHECK: vpmovusdb %zmm23, (%rcx) {%k3}
4553 // CHECK:  encoding: [0x62,0xe2,0x7e,0x4b,0x11,0x39]
4554           vpmovusdb %zmm23, (%rcx) {%k3}
4555
4556 // CHECK: vpmovusdb %zmm23, 291(%rax,%r14,8)
4557 // CHECK:  encoding: [0x62,0xa2,0x7e,0x48,0x11,0xbc,0xf0,0x23,0x01,0x00,0x00]
4558           vpmovusdb %zmm23, 291(%rax,%r14,8)
4559
4560 // CHECK: vpmovusdb %zmm23, 2032(%rdx)
4561 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x11,0x7a,0x7f]
4562           vpmovusdb %zmm23, 2032(%rdx)
4563
4564 // CHECK: vpmovusdb %zmm23, 2048(%rdx)
4565 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x11,0xba,0x00,0x08,0x00,0x00]
4566           vpmovusdb %zmm23, 2048(%rdx)
4567
4568 // CHECK: vpmovusdb %zmm23, -2048(%rdx)
4569 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x11,0x7a,0x80]
4570           vpmovusdb %zmm23, -2048(%rdx)
4571
4572 // CHECK: vpmovusdb %zmm23, -2064(%rdx)
4573 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x11,0xba,0xf0,0xf7,0xff,0xff]
4574           vpmovusdb %zmm23, -2064(%rdx)
4575
4576 // CHECK: vpmovdw %zmm7, (%rcx)
4577 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x33,0x39]
4578           vpmovdw %zmm7, (%rcx)
4579
4580 // CHECK: vpmovdw %zmm7, (%rcx) {%k7}
4581 // CHECK:  encoding: [0x62,0xf2,0x7e,0x4f,0x33,0x39]
4582           vpmovdw %zmm7, (%rcx) {%k7}
4583
4584 // CHECK: vpmovdw %zmm7, 291(%rax,%r14,8)
4585 // CHECK:  encoding: [0x62,0xb2,0x7e,0x48,0x33,0xbc,0xf0,0x23,0x01,0x00,0x00]
4586           vpmovdw %zmm7, 291(%rax,%r14,8)
4587
4588 // CHECK: vpmovdw %zmm7, 4064(%rdx)
4589 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x33,0x7a,0x7f]
4590           vpmovdw %zmm7, 4064(%rdx)
4591
4592 // CHECK: vpmovdw %zmm7, 4096(%rdx)
4593 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x33,0xba,0x00,0x10,0x00,0x00]
4594           vpmovdw %zmm7, 4096(%rdx)
4595
4596 // CHECK: vpmovdw %zmm7, -4096(%rdx)
4597 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x33,0x7a,0x80]
4598           vpmovdw %zmm7, -4096(%rdx)
4599
4600 // CHECK: vpmovdw %zmm7, -4128(%rdx)
4601 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x33,0xba,0xe0,0xef,0xff,0xff]
4602           vpmovdw %zmm7, -4128(%rdx)
4603
4604 // CHECK: vpmovsdw %zmm14, (%rcx)
4605 // CHECK:  encoding: [0x62,0x72,0x7e,0x48,0x23,0x31]
4606           vpmovsdw %zmm14, (%rcx)
4607
4608 // CHECK: vpmovsdw %zmm14, (%rcx) {%k6}
4609 // CHECK:  encoding: [0x62,0x72,0x7e,0x4e,0x23,0x31]
4610           vpmovsdw %zmm14, (%rcx) {%k6}
4611
4612 // CHECK: vpmovsdw %zmm14, 291(%rax,%r14,8)
4613 // CHECK:  encoding: [0x62,0x32,0x7e,0x48,0x23,0xb4,0xf0,0x23,0x01,0x00,0x00]
4614           vpmovsdw %zmm14, 291(%rax,%r14,8)
4615
4616 // CHECK: vpmovsdw %zmm14, 4064(%rdx)
4617 // CHECK:  encoding: [0x62,0x72,0x7e,0x48,0x23,0x72,0x7f]
4618           vpmovsdw %zmm14, 4064(%rdx)
4619
4620 // CHECK: vpmovsdw %zmm14, 4096(%rdx)
4621 // CHECK:  encoding: [0x62,0x72,0x7e,0x48,0x23,0xb2,0x00,0x10,0x00,0x00]
4622           vpmovsdw %zmm14, 4096(%rdx)
4623
4624 // CHECK: vpmovsdw %zmm14, -4096(%rdx)
4625 // CHECK:  encoding: [0x62,0x72,0x7e,0x48,0x23,0x72,0x80]
4626           vpmovsdw %zmm14, -4096(%rdx)
4627
4628 // CHECK: vpmovsdw %zmm14, -4128(%rdx)
4629 // CHECK:  encoding: [0x62,0x72,0x7e,0x48,0x23,0xb2,0xe0,0xef,0xff,0xff]
4630           vpmovsdw %zmm14, -4128(%rdx)
4631
4632 // CHECK: vpmovusdw %zmm5, (%rcx)
4633 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x13,0x29]
4634           vpmovusdw %zmm5, (%rcx)
4635
4636 // CHECK: vpmovusdw %zmm5, (%rcx) {%k3}
4637 // CHECK:  encoding: [0x62,0xf2,0x7e,0x4b,0x13,0x29]
4638           vpmovusdw %zmm5, (%rcx) {%k3}
4639
4640 // CHECK: vpmovusdw %zmm5, 291(%rax,%r14,8)
4641 // CHECK:  encoding: [0x62,0xb2,0x7e,0x48,0x13,0xac,0xf0,0x23,0x01,0x00,0x00]
4642           vpmovusdw %zmm5, 291(%rax,%r14,8)
4643
4644 // CHECK: vpmovusdw %zmm5, 4064(%rdx)
4645 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x13,0x6a,0x7f]
4646           vpmovusdw %zmm5, 4064(%rdx)
4647
4648 // CHECK: vpmovusdw %zmm5, 4096(%rdx)
4649 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x13,0xaa,0x00,0x10,0x00,0x00]
4650           vpmovusdw %zmm5, 4096(%rdx)
4651
4652 // CHECK: vpmovusdw %zmm5, -4096(%rdx)
4653 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x13,0x6a,0x80]
4654           vpmovusdw %zmm5, -4096(%rdx)
4655
4656 // CHECK: vpmovusdw %zmm5, -4128(%rdx)
4657 // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x13,0xaa,0xe0,0xef,0xff,0xff]
4658           vpmovusdw %zmm5, -4128(%rdx)
4659
4660 // CHECK: vinserti32x4
4661 // CHECK: encoding: [0x62,0xa3,0x55,0x48,0x38,0xcd,0x01]
4662 vinserti32x4  $1, %xmm21, %zmm5, %zmm17
4663
4664 // CHECK: vinserti32x4
4665 // CHECK: encoding: [0x62,0xe3,0x1d,0x40,0x38,0x4f,0x10,0x01]
4666 vinserti32x4  $1, 256(%rdi), %zmm28, %zmm17
4667
4668 // CHECK: vinserti32x8
4669 // CHECK: encoding: [0x62,0xd3,0x4d,0x40,0x3a,0xdb,0x01]
4670 vinserti32x8  $1, %ymm11, %zmm22, %zmm3
4671
4672 // CHECK: vinsertf64x2
4673 // CHECK: encoding: [0x62,0xf3,0xed,0x48,0x18,0x4f,0x10,0x01]
4674 vinsertf64x2  $1, 256(%rdi), %zmm2, %zmm1
4675
4676 // CHECK: vextracti32x4
4677 // CHECK: encoding: [0x62,0x33,0x7d,0x48,0x39,0xc9,0x01]
4678 vextracti32x4  $1, %zmm9, %xmm17
4679
4680 // CHECK: vextracti64x4
4681 // CHECK: encoding: [0x62,0x33,0xfd,0x48,0x3b,0xc9,0x01]
4682 vextracti64x4  $1, %zmm9, %ymm17
4683
4684 // CHECK: vextracti64x4
4685 // CHECK: encoding: [0x62,0x73,0xfd,0x48,0x3b,0x4f,0x10,0x01]
4686 vextracti64x4  $1, %zmm9, 512(%rdi)
4687
4688 // CHECK: vpsrad
4689 // CHECK: encoding: [0x62,0xb1,0x35,0x40,0x72,0xe1,0x02]
4690 vpsrad $2, %zmm17, %zmm25
4691
4692 // CHECK: vpsrad
4693 // CHECK: encoding: [0x62,0xf1,0x35,0x40,0x72,0x64,0xb7,0x08,0x02]
4694 vpsrad $2, 512(%rdi, %rsi, 4), %zmm25
4695
4696 // CHECK: vpsrad
4697 // CHECK: encoding: [0x62,0x21,0x1d,0x48,0xe2,0xc9]
4698 vpsrad %xmm17, %zmm12, %zmm25
4699
4700 // CHECK: vpsrad
4701 // CHECK: encoding: [0x62,0x61,0x1d,0x48,0xe2,0x4c,0xb7,0x20]
4702 vpsrad 512(%rdi, %rsi, 4), %zmm12, %zmm25
4703
4704 // CHECK: vpbroadcastd {{.*}} {%k1} {z}
4705 // CHECK: encoding: [0x62,0xf2,0x7d,0xc9,0x58,0xc8]
4706 vpbroadcastd  %xmm0, %zmm1 {%k1} {z}
4707
4708 // CHECK: vbroadcasti32x4 {{.*}} {%k7} {z}
4709 // CHECK: encoding: [0x67,0x62,0xf2,0x7d,0xcf,0x5a,0x52,0x02]
4710 vbroadcasti32x4 0x20(%edx), %zmm2 {%k7} {z}
4711
4712 // CHECK: vbroadcasti64x4 {{.*}} %zmm22
4713 // CHECK: encoding: [0x62,0xe2,0xfd,0x48,0x5b,0x72,0x02]
4714 vbroadcasti64x4 0x40(%rdx), %zmm22
4715
4716 // CHECK: vmovdqu64 {{.*}} {%k3}
4717 // CHECK: encoding: [0x62,0xf1,0xfe,0x4b,0x7f,0x07]
4718 vmovdqu64 %zmm0, (%rdi) {%k3}
4719
4720 // CHECK: vmovdqa32 {{.*}} {%k4}
4721 // CHECK: encoding: [0x62,0x61,0x7d,0x4c,0x6f,0x1e]
4722 vmovdqa32 (%rsi), %zmm27 {%k4}
4723
4724 // CHECK: vmovd
4725 // CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x7e,0x74,0x24,0xeb]
4726 vmovd %xmm22, -84(%rsp)
4727
4728 // CHECK: vextractps
4729 // CHECK: encoding: [0x62,0xe3,0x7d,0x08,0x17,0x61,0x1f,0x02]
4730 vextractps      $2, %xmm20, 124(%rcx)
4731
4732 // CHECK: vaddpd {{.*}}{1to8}
4733 // CHECK: encoding: [0x62,0x61,0xdd,0x50,0x58,0x74,0xf7,0x40]
4734 vaddpd 512(%rdi, %rsi, 8) {1to8}, %zmm20, %zmm30
4735
4736 // CHECK: vaddps {{.*}}{1to16}
4737 // CHECK: encoding: [0x62,0x61,0x5c,0x50,0x58,0xb4,0xf7,0x00,0x02,0x00,0x00]
4738 vaddps 512(%rdi, %rsi, 8) {1to16}, %zmm20, %zmm30
4739
4740 // CHECK: vmovntdqa
4741 // CHECK: encoding: [0x62,0x72,0x7d,0x48,0x2a,0xab,0x78,0x56,0x34,0x12]
4742 vmovntdqa 0x12345678(%rbx), %zmm13
4743
4744 // CHECK: vmovntdqa
4745 // CHECK: encoding: [0x62,0xc2,0x7d,0x48,0x2a,0x14,0x56]
4746 vmovntdqa (%r14,%rdx,2), %zmm18
4747
4748 // CHECK: vmovntdqa
4749 // CHECK: encoding: [0x62,0xc2,0x7d,0x48,0x2a,0x7c,0x14,0x02]
4750 vmovntdqa 128(%r12,%rdx), %zmm23
4751
4752 // CHECK: vmovntdq
4753 // CHECK: encoding: [0x62,0x21,0x7d,0x48,0xe7,0x24,0xa9]
4754 vmovntdq %zmm28, (%rcx,%r13,4)
4755
4756 // CHECK: vmovntpd
4757 // CHECK: encoding: [0x62,0xf1,0xfd,0x48,0x2b,0xb2,0x04,0x00,0x00,0x00]
4758 vmovntpd %zmm6, 4(%rdx)
4759
4760 // CHECK: vmovntps
4761 // CHECK: encoding: [0x62,0x51,0x7c,0x48,0x2b,0x5c,0x8d,0x00]
4762 vmovntps %zmm11, (%r13,%rcx,4)
4763
4764 // CHECK: vcmpgtps %zmm17, %zmm5, %k2
4765 // CHECK: encoding: [0x62,0xb1,0x54,0x48,0xc2,0xd1,0x0e]
4766 vcmpgtps %zmm17, %zmm5, %k2
4767
4768 // CHECK: vcmpgepd 128(%r14), %zmm17, %k6
4769 // CHECK: encoding: [0x62,0xd1,0xf5,0x40,0xc2,0x76,0x02,0x0d]
4770 vcmpgepd 0x80(%r14), %zmm17, %k6
4771
4772 // CHECK: vpcmpd $1,
4773 // CHECK: encoding: [0x62,0x93,0x45,0x4c,0x1f,0xe8,0x01]
4774 vpcmpd $1, %zmm24, %zmm7, %k5{%k4}
4775
4776 // CHECK: vpcmpuq $2,
4777 // CHECK: encoding: [0x62,0xf3,0xf5,0x47,0x1e,0x72,0x01,0x02]
4778 vpcmpuq $2, 0x40(%rdx), %zmm17, %k6{%k7}
4779
4780 // ERR: invalid operand for instruction
4781 vpcmpd $1, %zmm24, %zmm7, %k5{%k0}
4782
4783 // CHECK: vpermi2d
4784 // CHECK: encoding: [0x62,0x42,0x6d,0x4b,0x76,0xd6]
4785 vpermi2d %zmm14, %zmm2, %zmm26 {%k3}
4786
4787 // CHECK: vpermt2pd
4788 // CHECK: encoding: [0x62,0xf2,0xcd,0xc6,0x7f,0xf3]
4789 vpermt2pd %zmm3, %zmm22, %zmm6 {%k6} {z}
4790
4791 // CHECK: vpermi2q
4792 // CHECK: encoding: [0x62,0x62,0xed,0x4b,0x76,0x54,0x58,0x02]
4793 vpermi2q 0x80(%rax,%rbx,2), %zmm2, %zmm26 {%k3}
4794
4795 // CHECK: vpermt2d
4796 // CHECK: encoding: [0x62,0x32,0x4d,0xc2,0x7e,0x24,0xad,0x05,0x00,0x00,0x00]    
4797 vpermt2d 5(,%r13,4), %zmm22, %zmm12 {%k2} {z}
4798
4799 // CHECK: valignq $2
4800 // CHECK: encoding: [0x62,0xf3,0xfd,0x48,0x03,0x4c,0x24,0x04,0x02]
4801 valignq  $2, 0x100(%rsp), %zmm0, %zmm1
4802
4803 // CHECK: valignq $3
4804 // CHECK: encoding: [0x62,0xf3,0xfd,0x49,0x03,0xcb,0x03]
4805 valignq  $3, %zmm3, %zmm0, %zmm1 {%k1}
4806
4807 // CHECK: vextractf32x4 $3
4808 // CHECK: encoding: [0x62,0xf3,0x7d,0x49,0x19,0xd9,0x03]
4809 vextractf32x4  $3, %zmm3, %xmm1 {%k1}
4810
4811 // CHECK: vextracti64x4 $1
4812 // CHECK: encoding: [0x62,0x53,0xfd,0xcb,0x3b,0xf4,0x01]
4813 vextracti64x4  $1, %zmm14, %ymm12 {%k3} {z}
4814
4815 // CHECK: vfmadd231ps
4816 // CHECK: encoding: [0x62,0xb2,0x1d,0x48,0xb8,0xe7]
4817 vfmadd231ps %zmm23, %zmm12, %zmm4
4818
4819 // CHECK: vfmsub231pd
4820 // CHECK: encoding: [0x62,0xe2,0xed,0x48,0xba,0x73,0x08]
4821 vfmsub231pd 0x200(%rbx), %zmm2, %zmm22
4822
4823 // CHECK: vfmaddsub231ps
4824 // CHECK: encoding: [0x62,0xd2,0x65,0x4b,0xb6,0xec]
4825 vfmaddsub231ps %zmm12, %zmm3, %zmm5 {%k3}
4826
4827 // CHECK: vfmsubadd231pd
4828 // CHECK: encoding: [0x62,0x72,0x85,0xc5,0xb7,0xdd]
4829 vfmsubadd231pd %zmm5, %zmm31, %zmm11 {%k5}{z}
4830
4831 // CHECK: vfnmadd231ps
4832 // CHECK: encoding: [0x62,0xf2,0x4d,0x48,0xbc,0xfd]
4833 vfnmadd231ps %zmm5, %zmm6, %zmm7
4834
4835 // CHECK: vfnmsub231pd
4836 // CHECK: encoding: [0x62,0xf2,0xcd,0x48,0xbe,0xfd]
4837 vfnmsub231pd %zmm5, %zmm6, %zmm7
4838
4839 // CHECK: vpermilps
4840 // CHECK: encoding: [0x62,0xf2,0x6d,0x48,0x0c,0xd9]
4841 vpermilps %zmm1, %zmm2, %zmm3
4842
4843 // CHECK: vpermilpd
4844 // CHECK: encoding: [0x62,0xf2,0xed,0x48,0x0d,0x5b,0x10]
4845 vpermilpd 0x400(%rbx), %zmm2, %zmm3
4846
4847 // CHECK: vpermilps
4848 // CHECK: encoding: [0x62,0xf2,0x6d,0x48,0x0c,0x5b,0x10]
4849 vpermilps 0x400(%rbx), %zmm2, %zmm3
4850
4851 // CHECK: vpermilpd
4852 // CHECK: encoding: [0x62,0xf3,0xfd,0x48,0x05,0x53,0x10,0x23]
4853 vpermilpd $0x23, 0x400(%rbx), %zmm2