AVX-512: Implemented masking for integer arithmetic & logic instructions.
[oota-llvm.git] / test / MC / X86 / avx512-encodings.s
1 // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=knl --show-encoding %s | FileCheck %s
2
3 // CHECK: vaddpd -8192(%rdx), %zmm27, %zmm8
4 // CHECK:  encoding: [0x62,0x71,0xa5,0x40,0x58,0x42,0x80]
5           vaddpd -8192(%rdx), %zmm27, %zmm8
6
7 // CHECK: vaddpd -1024(%rdx){1to8}, %zmm27, %zmm8
8 // CHECK:  encoding: [0x62,0x71,0xa5,0x50,0x58,0x42,0x80]
9           vaddpd -1024(%rdx){1to8}, %zmm27, %zmm8
10
11 // CHECK: vaddps -8192(%rdx), %zmm13, %zmm18
12 // CHECK:  encoding: [0x62,0xe1,0x14,0x48,0x58,0x52,0x80]
13           vaddps -8192(%rdx), %zmm13, %zmm18
14
15 // CHECK: vaddps -512(%rdx){1to16}, %zmm13, %zmm18
16 // CHECK:  encoding: [0x62,0xe1,0x14,0x58,0x58,0x52,0x80]
17           vaddps -512(%rdx){1to16}, %zmm13, %zmm18
18
19 // CHECK: vdivpd -8192(%rdx), %zmm6, %zmm18
20 // CHECK:  encoding: [0x62,0xe1,0xcd,0x48,0x5e,0x52,0x80]
21           vdivpd -8192(%rdx), %zmm6, %zmm18
22
23 // CHECK: vdivpd -1024(%rdx){1to8}, %zmm6, %zmm18
24 // CHECK:  encoding: [0x62,0xe1,0xcd,0x58,0x5e,0x52,0x80]
25           vdivpd -1024(%rdx){1to8}, %zmm6, %zmm18
26
27 // CHECK: vdivps -8192(%rdx), %zmm23, %zmm23
28 // CHECK:  encoding: [0x62,0xe1,0x44,0x40,0x5e,0x7a,0x80]
29           vdivps -8192(%rdx), %zmm23, %zmm23
30
31 // CHECK: vdivps -512(%rdx){1to16}, %zmm23, %zmm23
32 // CHECK:  encoding: [0x62,0xe1,0x44,0x50,0x5e,0x7a,0x80]
33           vdivps -512(%rdx){1to16}, %zmm23, %zmm23
34
35 // CHECK: vmaxpd -8192(%rdx), %zmm28, %zmm30
36 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0x5f,0x72,0x80]
37           vmaxpd -8192(%rdx), %zmm28, %zmm30
38
39 // CHECK: vmaxpd -1024(%rdx){1to8}, %zmm28, %zmm30
40 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0x5f,0x72,0x80]
41           vmaxpd -1024(%rdx){1to8}, %zmm28, %zmm30
42
43 // CHECK: vmaxps -8192(%rdx), %zmm6, %zmm25
44 // CHECK:  encoding: [0x62,0x61,0x4c,0x48,0x5f,0x4a,0x80]
45           vmaxps -8192(%rdx), %zmm6, %zmm25
46
47 // CHECK: vmaxps -512(%rdx){1to16}, %zmm6, %zmm25
48 // CHECK:  encoding: [0x62,0x61,0x4c,0x58,0x5f,0x4a,0x80]
49           vmaxps -512(%rdx){1to16}, %zmm6, %zmm25
50
51 // CHECK: vminpd -8192(%rdx), %zmm6, %zmm6
52 // CHECK:  encoding: [0x62,0xf1,0xcd,0x48,0x5d,0x72,0x80]
53           vminpd -8192(%rdx), %zmm6, %zmm6
54
55 // CHECK: vminpd -1024(%rdx){1to8}, %zmm6, %zmm6
56 // CHECK:  encoding: [0x62,0xf1,0xcd,0x58,0x5d,0x72,0x80]
57           vminpd -1024(%rdx){1to8}, %zmm6, %zmm6
58
59 // CHECK: vminps -8192(%rdx), %zmm3, %zmm3
60 // CHECK:  encoding: [0x62,0xf1,0x64,0x48,0x5d,0x5a,0x80]
61           vminps -8192(%rdx), %zmm3, %zmm3
62
63 // CHECK: vminps -512(%rdx){1to16}, %zmm3, %zmm3
64 // CHECK:  encoding: [0x62,0xf1,0x64,0x58,0x5d,0x5a,0x80]
65           vminps -512(%rdx){1to16}, %zmm3, %zmm3
66
67 // CHECK: vmulpd -8192(%rdx), %zmm4, %zmm24
68 // CHECK:  encoding: [0x62,0x61,0xdd,0x48,0x59,0x42,0x80]
69           vmulpd -8192(%rdx), %zmm4, %zmm24
70
71 // CHECK: vmulpd -1024(%rdx){1to8}, %zmm4, %zmm24
72 // CHECK:  encoding: [0x62,0x61,0xdd,0x58,0x59,0x42,0x80]
73           vmulpd -1024(%rdx){1to8}, %zmm4, %zmm24
74
75 // CHECK: vmulps -8192(%rdx), %zmm6, %zmm3
76 // CHECK:  encoding: [0x62,0xf1,0x4c,0x48,0x59,0x5a,0x80]
77           vmulps -8192(%rdx), %zmm6, %zmm3
78
79 // CHECK: vmulps -512(%rdx){1to16}, %zmm6, %zmm3
80 // CHECK:  encoding: [0x62,0xf1,0x4c,0x58,0x59,0x5a,0x80]
81           vmulps -512(%rdx){1to16}, %zmm6, %zmm3
82
83 // CHECK: vsubpd -8192(%rdx), %zmm12, %zmm9
84 // CHECK:  encoding: [0x62,0x71,0x9d,0x48,0x5c,0x4a,0x80]
85           vsubpd -8192(%rdx), %zmm12, %zmm9
86
87 // CHECK: vsubpd -1024(%rdx){1to8}, %zmm12, %zmm9
88 // CHECK:  encoding: [0x62,0x71,0x9d,0x58,0x5c,0x4a,0x80]
89           vsubpd -1024(%rdx){1to8}, %zmm12, %zmm9
90
91 // CHECK: vsubps -8192(%rdx), %zmm27, %zmm14
92 // CHECK:  encoding: [0x62,0x71,0x24,0x40,0x5c,0x72,0x80]
93           vsubps -8192(%rdx), %zmm27, %zmm14
94
95 // CHECK: vsubps -512(%rdx){1to16}, %zmm27, %zmm14
96 // CHECK:  encoding: [0x62,0x71,0x24,0x50,0x5c,0x72,0x80]
97           vsubps -512(%rdx){1to16}, %zmm27, %zmm14
98
99 // CHECK: vaddpd %zmm6, %zmm27, %zmm8
100 // CHECK:  encoding: [0x62,0x71,0xa5,0x40,0x58,0xc6]
101           vaddpd %zmm6, %zmm27, %zmm8
102
103 // CHECK: vaddpd %zmm6, %zmm27, %zmm8 {%k7}
104 // CHECK:  encoding: [0x62,0x71,0xa5,0x47,0x58,0xc6]
105           vaddpd %zmm6, %zmm27, %zmm8 {%k7}
106
107 // CHECK: vaddpd %zmm6, %zmm27, %zmm8 {%k7} {z}
108 // CHECK:  encoding: [0x62,0x71,0xa5,0xc7,0x58,0xc6]
109           vaddpd %zmm6, %zmm27, %zmm8 {%k7} {z}
110
111 // CHECK: vaddpd (%rcx), %zmm27, %zmm8
112 // CHECK:  encoding: [0x62,0x71,0xa5,0x40,0x58,0x01]
113           vaddpd (%rcx), %zmm27, %zmm8
114
115 // CHECK: vaddpd 291(%rax,%r14,8), %zmm27, %zmm8
116 // CHECK:  encoding: [0x62,0x31,0xa5,0x40,0x58,0x84,0xf0,0x23,0x01,0x00,0x00]
117           vaddpd 291(%rax,%r14,8), %zmm27, %zmm8
118
119 // CHECK: vaddpd (%rcx){1to8}, %zmm27, %zmm8
120 // CHECK:  encoding: [0x62,0x71,0xa5,0x50,0x58,0x01]
121           vaddpd (%rcx){1to8}, %zmm27, %zmm8
122
123 // CHECK: vaddpd 8128(%rdx), %zmm27, %zmm8
124 // CHECK:  encoding: [0x62,0x71,0xa5,0x40,0x58,0x42,0x7f]
125           vaddpd 8128(%rdx), %zmm27, %zmm8
126
127 // CHECK: vaddpd 8192(%rdx), %zmm27, %zmm8
128 // CHECK:  encoding: [0x62,0x71,0xa5,0x40,0x58,0x82,0x00,0x20,0x00,0x00]
129           vaddpd 8192(%rdx), %zmm27, %zmm8
130
131 // CHECK: vaddpd -8256(%rdx), %zmm27, %zmm8
132 // CHECK:  encoding: [0x62,0x71,0xa5,0x40,0x58,0x82,0xc0,0xdf,0xff,0xff]
133           vaddpd -8256(%rdx), %zmm27, %zmm8
134
135 // CHECK: vaddpd 1016(%rdx){1to8}, %zmm27, %zmm8
136 // CHECK:  encoding: [0x62,0x71,0xa5,0x50,0x58,0x42,0x7f]
137           vaddpd 1016(%rdx){1to8}, %zmm27, %zmm8
138
139 // CHECK: vaddpd 1024(%rdx){1to8}, %zmm27, %zmm8
140 // CHECK:  encoding: [0x62,0x71,0xa5,0x50,0x58,0x82,0x00,0x04,0x00,0x00]
141           vaddpd 1024(%rdx){1to8}, %zmm27, %zmm8
142
143 // CHECK: vaddpd -1032(%rdx){1to8}, %zmm27, %zmm8
144 // CHECK:  encoding: [0x62,0x71,0xa5,0x50,0x58,0x82,0xf8,0xfb,0xff,0xff]
145           vaddpd -1032(%rdx){1to8}, %zmm27, %zmm8
146
147 // CHECK: vaddps %zmm2, %zmm13, %zmm18
148 // CHECK:  encoding: [0x62,0xe1,0x14,0x48,0x58,0xd2]
149           vaddps %zmm2, %zmm13, %zmm18
150
151 // CHECK: vaddps %zmm2, %zmm13, %zmm18 {%k4}
152 // CHECK:  encoding: [0x62,0xe1,0x14,0x4c,0x58,0xd2]
153           vaddps %zmm2, %zmm13, %zmm18 {%k4}
154
155 // CHECK: vaddps %zmm2, %zmm13, %zmm18 {%k4} {z}
156 // CHECK:  encoding: [0x62,0xe1,0x14,0xcc,0x58,0xd2]
157           vaddps %zmm2, %zmm13, %zmm18 {%k4} {z}
158
159 // CHECK: vaddps (%rcx), %zmm13, %zmm18
160 // CHECK:  encoding: [0x62,0xe1,0x14,0x48,0x58,0x11]
161           vaddps (%rcx), %zmm13, %zmm18
162
163 // CHECK: vaddps 291(%rax,%r14,8), %zmm13, %zmm18
164 // CHECK:  encoding: [0x62,0xa1,0x14,0x48,0x58,0x94,0xf0,0x23,0x01,0x00,0x00]
165           vaddps 291(%rax,%r14,8), %zmm13, %zmm18
166
167 // CHECK: vaddps (%rcx){1to16}, %zmm13, %zmm18
168 // CHECK:  encoding: [0x62,0xe1,0x14,0x58,0x58,0x11]
169           vaddps (%rcx){1to16}, %zmm13, %zmm18
170
171 // CHECK: vaddps 8128(%rdx), %zmm13, %zmm18
172 // CHECK:  encoding: [0x62,0xe1,0x14,0x48,0x58,0x52,0x7f]
173           vaddps 8128(%rdx), %zmm13, %zmm18
174
175 // CHECK: vaddps 8192(%rdx), %zmm13, %zmm18
176 // CHECK:  encoding: [0x62,0xe1,0x14,0x48,0x58,0x92,0x00,0x20,0x00,0x00]
177           vaddps 8192(%rdx), %zmm13, %zmm18
178
179 // CHECK: vaddps -8256(%rdx), %zmm13, %zmm18
180 // CHECK:  encoding: [0x62,0xe1,0x14,0x48,0x58,0x92,0xc0,0xdf,0xff,0xff]
181           vaddps -8256(%rdx), %zmm13, %zmm18
182
183 // CHECK: vaddps 508(%rdx){1to16}, %zmm13, %zmm18
184 // CHECK:  encoding: [0x62,0xe1,0x14,0x58,0x58,0x52,0x7f]
185           vaddps 508(%rdx){1to16}, %zmm13, %zmm18
186
187 // CHECK: vaddps 512(%rdx){1to16}, %zmm13, %zmm18
188 // CHECK:  encoding: [0x62,0xe1,0x14,0x58,0x58,0x92,0x00,0x02,0x00,0x00]
189           vaddps 512(%rdx){1to16}, %zmm13, %zmm18
190
191 // CHECK: vaddps -516(%rdx){1to16}, %zmm13, %zmm18
192 // CHECK:  encoding: [0x62,0xe1,0x14,0x58,0x58,0x92,0xfc,0xfd,0xff,0xff]
193           vaddps -516(%rdx){1to16}, %zmm13, %zmm18
194
195 // CHECK: vdivpd %zmm11, %zmm6, %zmm18
196 // CHECK:  encoding: [0x62,0xc1,0xcd,0x48,0x5e,0xd3]
197           vdivpd %zmm11, %zmm6, %zmm18
198
199 // CHECK: vdivpd %zmm11, %zmm6, %zmm18 {%k4}
200 // CHECK:  encoding: [0x62,0xc1,0xcd,0x4c,0x5e,0xd3]
201           vdivpd %zmm11, %zmm6, %zmm18 {%k4}
202
203 // CHECK: vdivpd %zmm11, %zmm6, %zmm18 {%k4} {z}
204 // CHECK:  encoding: [0x62,0xc1,0xcd,0xcc,0x5e,0xd3]
205           vdivpd %zmm11, %zmm6, %zmm18 {%k4} {z}
206
207 // CHECK: vdivpd (%rcx), %zmm6, %zmm18
208 // CHECK:  encoding: [0x62,0xe1,0xcd,0x48,0x5e,0x11]
209           vdivpd (%rcx), %zmm6, %zmm18
210
211 // CHECK: vdivpd 291(%rax,%r14,8), %zmm6, %zmm18
212 // CHECK:  encoding: [0x62,0xa1,0xcd,0x48,0x5e,0x94,0xf0,0x23,0x01,0x00,0x00]
213           vdivpd 291(%rax,%r14,8), %zmm6, %zmm18
214
215 // CHECK: vdivpd (%rcx){1to8}, %zmm6, %zmm18
216 // CHECK:  encoding: [0x62,0xe1,0xcd,0x58,0x5e,0x11]
217           vdivpd (%rcx){1to8}, %zmm6, %zmm18
218
219 // CHECK: vdivpd 8128(%rdx), %zmm6, %zmm18
220 // CHECK:  encoding: [0x62,0xe1,0xcd,0x48,0x5e,0x52,0x7f]
221           vdivpd 8128(%rdx), %zmm6, %zmm18
222
223 // CHECK: vdivpd 8192(%rdx), %zmm6, %zmm18
224 // CHECK:  encoding: [0x62,0xe1,0xcd,0x48,0x5e,0x92,0x00,0x20,0x00,0x00]
225           vdivpd 8192(%rdx), %zmm6, %zmm18
226
227 // CHECK: vdivpd -8256(%rdx), %zmm6, %zmm18
228 // CHECK:  encoding: [0x62,0xe1,0xcd,0x48,0x5e,0x92,0xc0,0xdf,0xff,0xff]
229           vdivpd -8256(%rdx), %zmm6, %zmm18
230
231 // CHECK: vdivpd 1016(%rdx){1to8}, %zmm6, %zmm18
232 // CHECK:  encoding: [0x62,0xe1,0xcd,0x58,0x5e,0x52,0x7f]
233           vdivpd 1016(%rdx){1to8}, %zmm6, %zmm18
234
235 // CHECK: vdivpd 1024(%rdx){1to8}, %zmm6, %zmm18
236 // CHECK:  encoding: [0x62,0xe1,0xcd,0x58,0x5e,0x92,0x00,0x04,0x00,0x00]
237           vdivpd 1024(%rdx){1to8}, %zmm6, %zmm18
238
239 // CHECK: vdivpd -1032(%rdx){1to8}, %zmm6, %zmm18
240 // CHECK:  encoding: [0x62,0xe1,0xcd,0x58,0x5e,0x92,0xf8,0xfb,0xff,0xff]
241           vdivpd -1032(%rdx){1to8}, %zmm6, %zmm18
242
243 // CHECK: vdivps %zmm28, %zmm23, %zmm23
244 // CHECK:  encoding: [0x62,0x81,0x44,0x40,0x5e,0xfc]
245           vdivps %zmm28, %zmm23, %zmm23
246
247 // CHECK: vdivps %zmm28, %zmm23, %zmm23 {%k2}
248 // CHECK:  encoding: [0x62,0x81,0x44,0x42,0x5e,0xfc]
249           vdivps %zmm28, %zmm23, %zmm23 {%k2}
250
251 // CHECK: vdivps %zmm28, %zmm23, %zmm23 {%k2} {z}
252 // CHECK:  encoding: [0x62,0x81,0x44,0xc2,0x5e,0xfc]
253           vdivps %zmm28, %zmm23, %zmm23 {%k2} {z}
254
255 // CHECK: vdivps (%rcx), %zmm23, %zmm23
256 // CHECK:  encoding: [0x62,0xe1,0x44,0x40,0x5e,0x39]
257           vdivps (%rcx), %zmm23, %zmm23
258
259 // CHECK: vdivps 291(%rax,%r14,8), %zmm23, %zmm23
260 // CHECK:  encoding: [0x62,0xa1,0x44,0x40,0x5e,0xbc,0xf0,0x23,0x01,0x00,0x00]
261           vdivps 291(%rax,%r14,8), %zmm23, %zmm23
262
263 // CHECK: vdivps (%rcx){1to16}, %zmm23, %zmm23
264 // CHECK:  encoding: [0x62,0xe1,0x44,0x50,0x5e,0x39]
265           vdivps (%rcx){1to16}, %zmm23, %zmm23
266
267 // CHECK: vdivps 8128(%rdx), %zmm23, %zmm23
268 // CHECK:  encoding: [0x62,0xe1,0x44,0x40,0x5e,0x7a,0x7f]
269           vdivps 8128(%rdx), %zmm23, %zmm23
270
271 // CHECK: vdivps 8192(%rdx), %zmm23, %zmm23
272 // CHECK:  encoding: [0x62,0xe1,0x44,0x40,0x5e,0xba,0x00,0x20,0x00,0x00]
273           vdivps 8192(%rdx), %zmm23, %zmm23
274
275 // CHECK: vdivps -8256(%rdx), %zmm23, %zmm23
276 // CHECK:  encoding: [0x62,0xe1,0x44,0x40,0x5e,0xba,0xc0,0xdf,0xff,0xff]
277           vdivps -8256(%rdx), %zmm23, %zmm23
278
279 // CHECK: vdivps 508(%rdx){1to16}, %zmm23, %zmm23
280 // CHECK:  encoding: [0x62,0xe1,0x44,0x50,0x5e,0x7a,0x7f]
281           vdivps 508(%rdx){1to16}, %zmm23, %zmm23
282
283 // CHECK: vdivps 512(%rdx){1to16}, %zmm23, %zmm23
284 // CHECK:  encoding: [0x62,0xe1,0x44,0x50,0x5e,0xba,0x00,0x02,0x00,0x00]
285           vdivps 512(%rdx){1to16}, %zmm23, %zmm23
286
287 // CHECK: vdivps -516(%rdx){1to16}, %zmm23, %zmm23
288 // CHECK:  encoding: [0x62,0xe1,0x44,0x50,0x5e,0xba,0xfc,0xfd,0xff,0xff]
289           vdivps -516(%rdx){1to16}, %zmm23, %zmm23
290
291 // CHECK: vmaxpd %zmm20, %zmm28, %zmm30
292 // CHECK:  encoding: [0x62,0x21,0x9d,0x40,0x5f,0xf4]
293           vmaxpd %zmm20, %zmm28, %zmm30
294
295 // CHECK: vmaxpd %zmm20, %zmm28, %zmm30 {%k1}
296 // CHECK:  encoding: [0x62,0x21,0x9d,0x41,0x5f,0xf4]
297           vmaxpd %zmm20, %zmm28, %zmm30 {%k1}
298
299 // CHECK: vmaxpd %zmm20, %zmm28, %zmm30 {%k1} {z}
300 // CHECK:  encoding: [0x62,0x21,0x9d,0xc1,0x5f,0xf4]
301           vmaxpd %zmm20, %zmm28, %zmm30 {%k1} {z}
302
303 // CHECK: vmaxpd (%rcx), %zmm28, %zmm30
304 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0x5f,0x31]
305           vmaxpd (%rcx), %zmm28, %zmm30
306
307 // CHECK: vmaxpd 291(%rax,%r14,8), %zmm28, %zmm30
308 // CHECK:  encoding: [0x62,0x21,0x9d,0x40,0x5f,0xb4,0xf0,0x23,0x01,0x00,0x00]
309           vmaxpd 291(%rax,%r14,8), %zmm28, %zmm30
310
311 // CHECK: vmaxpd (%rcx){1to8}, %zmm28, %zmm30
312 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0x5f,0x31]
313           vmaxpd (%rcx){1to8}, %zmm28, %zmm30
314
315 // CHECK: vmaxpd 8128(%rdx), %zmm28, %zmm30
316 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0x5f,0x72,0x7f]
317           vmaxpd 8128(%rdx), %zmm28, %zmm30
318
319 // CHECK: vmaxpd 8192(%rdx), %zmm28, %zmm30
320 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0x5f,0xb2,0x00,0x20,0x00,0x00]
321           vmaxpd 8192(%rdx), %zmm28, %zmm30
322
323 // CHECK: vmaxpd -8256(%rdx), %zmm28, %zmm30
324 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0x5f,0xb2,0xc0,0xdf,0xff,0xff]
325           vmaxpd -8256(%rdx), %zmm28, %zmm30
326
327 // CHECK: vmaxpd 1016(%rdx){1to8}, %zmm28, %zmm30
328 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0x5f,0x72,0x7f]
329           vmaxpd 1016(%rdx){1to8}, %zmm28, %zmm30
330
331 // CHECK: vmaxpd 1024(%rdx){1to8}, %zmm28, %zmm30
332 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0x5f,0xb2,0x00,0x04,0x00,0x00]
333           vmaxpd 1024(%rdx){1to8}, %zmm28, %zmm30
334
335 // CHECK: vmaxpd -1032(%rdx){1to8}, %zmm28, %zmm30
336 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0x5f,0xb2,0xf8,0xfb,0xff,0xff]
337           vmaxpd -1032(%rdx){1to8}, %zmm28, %zmm30
338
339 // CHECK: vmaxps %zmm20, %zmm6, %zmm25
340 // CHECK:  encoding: [0x62,0x21,0x4c,0x48,0x5f,0xcc]
341           vmaxps %zmm20, %zmm6, %zmm25
342
343 // CHECK: vmaxps %zmm20, %zmm6, %zmm25 {%k1}
344 // CHECK:  encoding: [0x62,0x21,0x4c,0x49,0x5f,0xcc]
345           vmaxps %zmm20, %zmm6, %zmm25 {%k1}
346
347 // CHECK: vmaxps %zmm20, %zmm6, %zmm25 {%k1} {z}
348 // CHECK:  encoding: [0x62,0x21,0x4c,0xc9,0x5f,0xcc]
349           vmaxps %zmm20, %zmm6, %zmm25 {%k1} {z}
350
351 // CHECK: vmaxps (%rcx), %zmm6, %zmm25
352 // CHECK:  encoding: [0x62,0x61,0x4c,0x48,0x5f,0x09]
353           vmaxps (%rcx), %zmm6, %zmm25
354
355 // CHECK: vmaxps 291(%rax,%r14,8), %zmm6, %zmm25
356 // CHECK:  encoding: [0x62,0x21,0x4c,0x48,0x5f,0x8c,0xf0,0x23,0x01,0x00,0x00]
357           vmaxps 291(%rax,%r14,8), %zmm6, %zmm25
358
359 // CHECK: vmaxps (%rcx){1to16}, %zmm6, %zmm25
360 // CHECK:  encoding: [0x62,0x61,0x4c,0x58,0x5f,0x09]
361           vmaxps (%rcx){1to16}, %zmm6, %zmm25
362
363 // CHECK: vmaxps 8128(%rdx), %zmm6, %zmm25
364 // CHECK:  encoding: [0x62,0x61,0x4c,0x48,0x5f,0x4a,0x7f]
365           vmaxps 8128(%rdx), %zmm6, %zmm25
366
367 // CHECK: vmaxps 8192(%rdx), %zmm6, %zmm25
368 // CHECK:  encoding: [0x62,0x61,0x4c,0x48,0x5f,0x8a,0x00,0x20,0x00,0x00]
369           vmaxps 8192(%rdx), %zmm6, %zmm25
370
371 // CHECK: vmaxps -8256(%rdx), %zmm6, %zmm25
372 // CHECK:  encoding: [0x62,0x61,0x4c,0x48,0x5f,0x8a,0xc0,0xdf,0xff,0xff]
373           vmaxps -8256(%rdx), %zmm6, %zmm25
374
375 // CHECK: vmaxps 508(%rdx){1to16}, %zmm6, %zmm25
376 // CHECK:  encoding: [0x62,0x61,0x4c,0x58,0x5f,0x4a,0x7f]
377           vmaxps 508(%rdx){1to16}, %zmm6, %zmm25
378
379 // CHECK: vmaxps 512(%rdx){1to16}, %zmm6, %zmm25
380 // CHECK:  encoding: [0x62,0x61,0x4c,0x58,0x5f,0x8a,0x00,0x02,0x00,0x00]
381           vmaxps 512(%rdx){1to16}, %zmm6, %zmm25
382
383 // CHECK: vmaxps -516(%rdx){1to16}, %zmm6, %zmm25
384 // CHECK:  encoding: [0x62,0x61,0x4c,0x58,0x5f,0x8a,0xfc,0xfd,0xff,0xff]
385           vmaxps -516(%rdx){1to16}, %zmm6, %zmm25
386
387 // CHECK: vminpd %zmm22, %zmm6, %zmm6
388 // CHECK:  encoding: [0x62,0xb1,0xcd,0x48,0x5d,0xf6]
389           vminpd %zmm22, %zmm6, %zmm6
390
391 // CHECK: vminpd %zmm22, %zmm6, %zmm6 {%k7}
392 // CHECK:  encoding: [0x62,0xb1,0xcd,0x4f,0x5d,0xf6]
393           vminpd %zmm22, %zmm6, %zmm6 {%k7}
394
395 // CHECK: vminpd %zmm22, %zmm6, %zmm6 {%k7} {z}
396 // CHECK:  encoding: [0x62,0xb1,0xcd,0xcf,0x5d,0xf6]
397           vminpd %zmm22, %zmm6, %zmm6 {%k7} {z}
398
399 // CHECK: vminpd (%rcx), %zmm6, %zmm6
400 // CHECK:  encoding: [0x62,0xf1,0xcd,0x48,0x5d,0x31]
401           vminpd (%rcx), %zmm6, %zmm6
402
403 // CHECK: vminpd 291(%rax,%r14,8), %zmm6, %zmm6
404 // CHECK:  encoding: [0x62,0xb1,0xcd,0x48,0x5d,0xb4,0xf0,0x23,0x01,0x00,0x00]
405           vminpd 291(%rax,%r14,8), %zmm6, %zmm6
406
407 // CHECK: vminpd (%rcx){1to8}, %zmm6, %zmm6
408 // CHECK:  encoding: [0x62,0xf1,0xcd,0x58,0x5d,0x31]
409           vminpd (%rcx){1to8}, %zmm6, %zmm6
410
411 // CHECK: vminpd 8128(%rdx), %zmm6, %zmm6
412 // CHECK:  encoding: [0x62,0xf1,0xcd,0x48,0x5d,0x72,0x7f]
413           vminpd 8128(%rdx), %zmm6, %zmm6
414
415 // CHECK: vminpd 8192(%rdx), %zmm6, %zmm6
416 // CHECK:  encoding: [0x62,0xf1,0xcd,0x48,0x5d,0xb2,0x00,0x20,0x00,0x00]
417           vminpd 8192(%rdx), %zmm6, %zmm6
418
419 // CHECK: vminpd -8256(%rdx), %zmm6, %zmm6
420 // CHECK:  encoding: [0x62,0xf1,0xcd,0x48,0x5d,0xb2,0xc0,0xdf,0xff,0xff]
421           vminpd -8256(%rdx), %zmm6, %zmm6
422
423 // CHECK: vminpd 1016(%rdx){1to8}, %zmm6, %zmm6
424 // CHECK:  encoding: [0x62,0xf1,0xcd,0x58,0x5d,0x72,0x7f]
425           vminpd 1016(%rdx){1to8}, %zmm6, %zmm6
426
427 // CHECK: vminpd 1024(%rdx){1to8}, %zmm6, %zmm6
428 // CHECK:  encoding: [0x62,0xf1,0xcd,0x58,0x5d,0xb2,0x00,0x04,0x00,0x00]
429           vminpd 1024(%rdx){1to8}, %zmm6, %zmm6
430
431 // CHECK: vminpd -1032(%rdx){1to8}, %zmm6, %zmm6
432 // CHECK:  encoding: [0x62,0xf1,0xcd,0x58,0x5d,0xb2,0xf8,0xfb,0xff,0xff]
433           vminpd -1032(%rdx){1to8}, %zmm6, %zmm6
434
435 // CHECK: vminps %zmm7, %zmm3, %zmm3
436 // CHECK:  encoding: [0x62,0xf1,0x64,0x48,0x5d,0xdf]
437           vminps %zmm7, %zmm3, %zmm3
438
439 // CHECK: vminps %zmm7, %zmm3, %zmm3 {%k3}
440 // CHECK:  encoding: [0x62,0xf1,0x64,0x4b,0x5d,0xdf]
441           vminps %zmm7, %zmm3, %zmm3 {%k3}
442
443 // CHECK: vminps %zmm7, %zmm3, %zmm3 {%k3} {z}
444 // CHECK:  encoding: [0x62,0xf1,0x64,0xcb,0x5d,0xdf]
445           vminps %zmm7, %zmm3, %zmm3 {%k3} {z}
446
447 // CHECK: vminps (%rcx), %zmm3, %zmm3
448 // CHECK:  encoding: [0x62,0xf1,0x64,0x48,0x5d,0x19]
449           vminps (%rcx), %zmm3, %zmm3
450
451 // CHECK: vminps 291(%rax,%r14,8), %zmm3, %zmm3
452 // CHECK:  encoding: [0x62,0xb1,0x64,0x48,0x5d,0x9c,0xf0,0x23,0x01,0x00,0x00]
453           vminps 291(%rax,%r14,8), %zmm3, %zmm3
454
455 // CHECK: vminps (%rcx){1to16}, %zmm3, %zmm3
456 // CHECK:  encoding: [0x62,0xf1,0x64,0x58,0x5d,0x19]
457           vminps (%rcx){1to16}, %zmm3, %zmm3
458
459 // CHECK: vminps 8128(%rdx), %zmm3, %zmm3
460 // CHECK:  encoding: [0x62,0xf1,0x64,0x48,0x5d,0x5a,0x7f]
461           vminps 8128(%rdx), %zmm3, %zmm3
462
463 // CHECK: vminps 8192(%rdx), %zmm3, %zmm3
464 // CHECK:  encoding: [0x62,0xf1,0x64,0x48,0x5d,0x9a,0x00,0x20,0x00,0x00]
465           vminps 8192(%rdx), %zmm3, %zmm3
466
467 // CHECK: vminps -8256(%rdx), %zmm3, %zmm3
468 // CHECK:  encoding: [0x62,0xf1,0x64,0x48,0x5d,0x9a,0xc0,0xdf,0xff,0xff]
469           vminps -8256(%rdx), %zmm3, %zmm3
470
471 // CHECK: vminps 508(%rdx){1to16}, %zmm3, %zmm3
472 // CHECK:  encoding: [0x62,0xf1,0x64,0x58,0x5d,0x5a,0x7f]
473           vminps 508(%rdx){1to16}, %zmm3, %zmm3
474
475 // CHECK: vminps 512(%rdx){1to16}, %zmm3, %zmm3
476 // CHECK:  encoding: [0x62,0xf1,0x64,0x58,0x5d,0x9a,0x00,0x02,0x00,0x00]
477           vminps 512(%rdx){1to16}, %zmm3, %zmm3
478
479 // CHECK: vminps -516(%rdx){1to16}, %zmm3, %zmm3
480 // CHECK:  encoding: [0x62,0xf1,0x64,0x58,0x5d,0x9a,0xfc,0xfd,0xff,0xff]
481           vminps -516(%rdx){1to16}, %zmm3, %zmm3
482
483 // CHECK: vmulpd %zmm23, %zmm4, %zmm24
484 // CHECK:  encoding: [0x62,0x21,0xdd,0x48,0x59,0xc7]
485           vmulpd %zmm23, %zmm4, %zmm24
486
487 // CHECK: vmulpd %zmm23, %zmm4, %zmm24 {%k6}
488 // CHECK:  encoding: [0x62,0x21,0xdd,0x4e,0x59,0xc7]
489           vmulpd %zmm23, %zmm4, %zmm24 {%k6}
490
491 // CHECK: vmulpd %zmm23, %zmm4, %zmm24 {%k6} {z}
492 // CHECK:  encoding: [0x62,0x21,0xdd,0xce,0x59,0xc7]
493           vmulpd %zmm23, %zmm4, %zmm24 {%k6} {z}
494
495 // CHECK: vmulpd (%rcx), %zmm4, %zmm24
496 // CHECK:  encoding: [0x62,0x61,0xdd,0x48,0x59,0x01]
497           vmulpd (%rcx), %zmm4, %zmm24
498
499 // CHECK: vmulpd 291(%rax,%r14,8), %zmm4, %zmm24
500 // CHECK:  encoding: [0x62,0x21,0xdd,0x48,0x59,0x84,0xf0,0x23,0x01,0x00,0x00]
501           vmulpd 291(%rax,%r14,8), %zmm4, %zmm24
502
503 // CHECK: vmulpd (%rcx){1to8}, %zmm4, %zmm24
504 // CHECK:  encoding: [0x62,0x61,0xdd,0x58,0x59,0x01]
505           vmulpd (%rcx){1to8}, %zmm4, %zmm24
506
507 // CHECK: vmulpd 8128(%rdx), %zmm4, %zmm24
508 // CHECK:  encoding: [0x62,0x61,0xdd,0x48,0x59,0x42,0x7f]
509           vmulpd 8128(%rdx), %zmm4, %zmm24
510
511 // CHECK: vmulpd 8192(%rdx), %zmm4, %zmm24
512 // CHECK:  encoding: [0x62,0x61,0xdd,0x48,0x59,0x82,0x00,0x20,0x00,0x00]
513           vmulpd 8192(%rdx), %zmm4, %zmm24
514
515 // CHECK: vmulpd -8256(%rdx), %zmm4, %zmm24
516 // CHECK:  encoding: [0x62,0x61,0xdd,0x48,0x59,0x82,0xc0,0xdf,0xff,0xff]
517           vmulpd -8256(%rdx), %zmm4, %zmm24
518
519 // CHECK: vmulpd 1016(%rdx){1to8}, %zmm4, %zmm24
520 // CHECK:  encoding: [0x62,0x61,0xdd,0x58,0x59,0x42,0x7f]
521           vmulpd 1016(%rdx){1to8}, %zmm4, %zmm24
522
523 // CHECK: vmulpd 1024(%rdx){1to8}, %zmm4, %zmm24
524 // CHECK:  encoding: [0x62,0x61,0xdd,0x58,0x59,0x82,0x00,0x04,0x00,0x00]
525           vmulpd 1024(%rdx){1to8}, %zmm4, %zmm24
526
527 // CHECK: vmulpd -1032(%rdx){1to8}, %zmm4, %zmm24
528 // CHECK:  encoding: [0x62,0x61,0xdd,0x58,0x59,0x82,0xf8,0xfb,0xff,0xff]
529           vmulpd -1032(%rdx){1to8}, %zmm4, %zmm24
530
531 // CHECK: vmulps %zmm24, %zmm6, %zmm3
532 // CHECK:  encoding: [0x62,0x91,0x4c,0x48,0x59,0xd8]
533           vmulps %zmm24, %zmm6, %zmm3
534
535 // CHECK: vmulps %zmm24, %zmm6, %zmm3 {%k4}
536 // CHECK:  encoding: [0x62,0x91,0x4c,0x4c,0x59,0xd8]
537           vmulps %zmm24, %zmm6, %zmm3 {%k4}
538
539 // CHECK: vmulps %zmm24, %zmm6, %zmm3 {%k4} {z}
540 // CHECK:  encoding: [0x62,0x91,0x4c,0xcc,0x59,0xd8]
541           vmulps %zmm24, %zmm6, %zmm3 {%k4} {z}
542
543 // CHECK: vmulps (%rcx), %zmm6, %zmm3
544 // CHECK:  encoding: [0x62,0xf1,0x4c,0x48,0x59,0x19]
545           vmulps (%rcx), %zmm6, %zmm3
546
547 // CHECK: vmulps 291(%rax,%r14,8), %zmm6, %zmm3
548 // CHECK:  encoding: [0x62,0xb1,0x4c,0x48,0x59,0x9c,0xf0,0x23,0x01,0x00,0x00]
549           vmulps 291(%rax,%r14,8), %zmm6, %zmm3
550
551 // CHECK: vmulps (%rcx){1to16}, %zmm6, %zmm3
552 // CHECK:  encoding: [0x62,0xf1,0x4c,0x58,0x59,0x19]
553           vmulps (%rcx){1to16}, %zmm6, %zmm3
554
555 // CHECK: vmulps 8128(%rdx), %zmm6, %zmm3
556 // CHECK:  encoding: [0x62,0xf1,0x4c,0x48,0x59,0x5a,0x7f]
557           vmulps 8128(%rdx), %zmm6, %zmm3
558
559 // CHECK: vmulps 8192(%rdx), %zmm6, %zmm3
560 // CHECK:  encoding: [0x62,0xf1,0x4c,0x48,0x59,0x9a,0x00,0x20,0x00,0x00]
561           vmulps 8192(%rdx), %zmm6, %zmm3
562
563 // CHECK: vmulps -8256(%rdx), %zmm6, %zmm3
564 // CHECK:  encoding: [0x62,0xf1,0x4c,0x48,0x59,0x9a,0xc0,0xdf,0xff,0xff]
565           vmulps -8256(%rdx), %zmm6, %zmm3
566
567 // CHECK: vmulps 508(%rdx){1to16}, %zmm6, %zmm3
568 // CHECK:  encoding: [0x62,0xf1,0x4c,0x58,0x59,0x5a,0x7f]
569           vmulps 508(%rdx){1to16}, %zmm6, %zmm3
570
571 // CHECK: vmulps 512(%rdx){1to16}, %zmm6, %zmm3
572 // CHECK:  encoding: [0x62,0xf1,0x4c,0x58,0x59,0x9a,0x00,0x02,0x00,0x00]
573           vmulps 512(%rdx){1to16}, %zmm6, %zmm3
574
575 // CHECK: vmulps -516(%rdx){1to16}, %zmm6, %zmm3
576 // CHECK:  encoding: [0x62,0xf1,0x4c,0x58,0x59,0x9a,0xfc,0xfd,0xff,0xff]
577           vmulps -516(%rdx){1to16}, %zmm6, %zmm3
578
579 // CHECK: vpabsd %zmm14, %zmm15
580 // CHECK:  encoding: [0x62,0x52,0x7d,0x48,0x1e,0xfe]
581           vpabsd %zmm14, %zmm15
582
583 // CHECK: vpabsd %zmm14, %zmm15 {%k6}
584 // CHECK:  encoding: [0x62,0x52,0x7d,0x4e,0x1e,0xfe]
585           vpabsd %zmm14, %zmm15 {%k6}
586
587 // CHECK: vpabsd %zmm14, %zmm15 {%k6} {z}
588 // CHECK:  encoding: [0x62,0x52,0x7d,0xce,0x1e,0xfe]
589           vpabsd %zmm14, %zmm15 {%k6} {z}
590
591 // CHECK: vpabsd (%rcx), %zmm15
592 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x1e,0x39]
593           vpabsd (%rcx), %zmm15
594
595 // CHECK: vpabsd (%rcx), %zmm15 {%k1}
596 // CHECK:  encoding: [0x62,0x72,0x7d,0x49,0x1e,0x39]
597           vpabsd (%rcx), %zmm15 {%k1}
598
599 // CHECK: vpabsd (%rcx), %zmm15 {%k1} {z}
600 // CHECK:  encoding: [0x62,0x72,0x7d,0xc9,0x1e,0x39]
601           vpabsd (%rcx), %zmm15 {%k1} {z}
602
603 // CHECK: vpabsd 291(%rax,%r14,8), %zmm15
604 // CHECK:  encoding: [0x62,0x32,0x7d,0x48,0x1e,0xbc,0xf0,0x23,0x01,0x00,0x00]
605           vpabsd 291(%rax,%r14,8), %zmm15
606
607 // CHECK: vpabsd (%rcx){1to16}, %zmm15
608 // CHECK:  encoding: [0x62,0x72,0x7d,0x58,0x1e,0x39]
609           vpabsd (%rcx){1to16}, %zmm15
610
611 // CHECK: vpabsd 8128(%rdx), %zmm15
612 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x1e,0x7a,0x7f]
613           vpabsd 8128(%rdx), %zmm15
614
615 // CHECK: vpabsd 8192(%rdx), %zmm15
616 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x1e,0xba,0x00,0x20,0x00,0x00]
617           vpabsd 8192(%rdx), %zmm15
618
619 // CHECK: vpabsd -8192(%rdx), %zmm15
620 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x1e,0x7a,0x80]
621           vpabsd -8192(%rdx), %zmm15
622
623 // CHECK: vpabsd -8256(%rdx), %zmm15
624 // CHECK:  encoding: [0x62,0x72,0x7d,0x48,0x1e,0xba,0xc0,0xdf,0xff,0xff]
625           vpabsd -8256(%rdx), %zmm15
626
627 // CHECK: vpabsd 508(%rdx){1to16}, %zmm15
628 // CHECK:  encoding: [0x62,0x72,0x7d,0x58,0x1e,0x7a,0x7f]
629           vpabsd 508(%rdx){1to16}, %zmm15
630
631 // CHECK: vpabsd 512(%rdx){1to16}, %zmm15
632 // CHECK:  encoding: [0x62,0x72,0x7d,0x58,0x1e,0xba,0x00,0x02,0x00,0x00]
633           vpabsd 512(%rdx){1to16}, %zmm15
634
635 // CHECK: vpabsd -512(%rdx){1to16}, %zmm15
636 // CHECK:  encoding: [0x62,0x72,0x7d,0x58,0x1e,0x7a,0x80]
637           vpabsd -512(%rdx){1to16}, %zmm15
638
639 // CHECK: vpabsd -516(%rdx){1to16}, %zmm15
640 // CHECK:  encoding: [0x62,0x72,0x7d,0x58,0x1e,0xba,0xfc,0xfd,0xff,0xff]
641           vpabsd -516(%rdx){1to16}, %zmm15
642
643 // CHECK: vpabsd (%rcx){1to16}, %zmm15 {%k2}
644 // CHECK:  encoding: [0x62,0x72,0x7d,0x5a,0x1e,0x39]
645           vpabsd (%rcx){1to16}, %zmm15 {%k2}
646
647 // CHECK: vpabsd (%rcx){1to16}, %zmm15 {%k2} {z}
648 // CHECK:  encoding: [0x62,0x72,0x7d,0xda,0x1e,0x39]
649           vpabsd (%rcx){1to16}, %zmm15 {%k2} {z}
650
651 // CHECK: vpabsq %zmm24, %zmm5
652 // CHECK:  encoding: [0x62,0x92,0xfd,0x48,0x1f,0xe8]
653           vpabsq %zmm24, %zmm5
654
655 // CHECK: vpabsq %zmm24, %zmm5 {%k6}
656 // CHECK:  encoding: [0x62,0x92,0xfd,0x4e,0x1f,0xe8]
657           vpabsq %zmm24, %zmm5 {%k6}
658
659 // CHECK: vpabsq %zmm24, %zmm5 {%k6} {z}
660 // CHECK:  encoding: [0x62,0x92,0xfd,0xce,0x1f,0xe8]
661           vpabsq %zmm24, %zmm5 {%k6} {z}
662
663 // CHECK: vpabsq (%rcx), %zmm5
664 // CHECK:  encoding: [0x62,0xf2,0xfd,0x48,0x1f,0x29]
665           vpabsq (%rcx), %zmm5
666
667 // CHECK: vpabsq 291(%rax,%r14,8), %zmm5
668 // CHECK:  encoding: [0x62,0xb2,0xfd,0x48,0x1f,0xac,0xf0,0x23,0x01,0x00,0x00]
669           vpabsq 291(%rax,%r14,8), %zmm5
670
671 // CHECK: vpabsq (%rcx){1to8}, %zmm5
672 // CHECK:  encoding: [0x62,0xf2,0xfd,0x58,0x1f,0x29]
673           vpabsq (%rcx){1to8}, %zmm5
674
675 // CHECK: vpabsq 8128(%rdx), %zmm5
676 // CHECK:  encoding: [0x62,0xf2,0xfd,0x48,0x1f,0x6a,0x7f]
677           vpabsq 8128(%rdx), %zmm5
678
679 // CHECK: vpabsq 8192(%rdx), %zmm5
680 // CHECK:  encoding: [0x62,0xf2,0xfd,0x48,0x1f,0xaa,0x00,0x20,0x00,0x00]
681           vpabsq 8192(%rdx), %zmm5
682
683 // CHECK: vpabsq -8192(%rdx), %zmm5
684 // CHECK:  encoding: [0x62,0xf2,0xfd,0x48,0x1f,0x6a,0x80]
685           vpabsq -8192(%rdx), %zmm5
686
687 // CHECK: vpabsq -8256(%rdx), %zmm5
688 // CHECK:  encoding: [0x62,0xf2,0xfd,0x48,0x1f,0xaa,0xc0,0xdf,0xff,0xff]
689           vpabsq -8256(%rdx), %zmm5
690
691 // CHECK: vpabsq 1016(%rdx){1to8}, %zmm5
692 // CHECK:  encoding: [0x62,0xf2,0xfd,0x58,0x1f,0x6a,0x7f]
693           vpabsq 1016(%rdx){1to8}, %zmm5
694
695 // CHECK: vpabsq 1024(%rdx){1to8}, %zmm5
696 // CHECK:  encoding: [0x62,0xf2,0xfd,0x58,0x1f,0xaa,0x00,0x04,0x00,0x00]
697           vpabsq 1024(%rdx){1to8}, %zmm5
698
699 // CHECK: vpabsq -1024(%rdx){1to8}, %zmm5
700 // CHECK:  encoding: [0x62,0xf2,0xfd,0x58,0x1f,0x6a,0x80]
701           vpabsq -1024(%rdx){1to8}, %zmm5
702
703 // CHECK: vpabsq -1032(%rdx){1to8}, %zmm5
704 // CHECK:  encoding: [0x62,0xf2,0xfd,0x58,0x1f,0xaa,0xf8,0xfb,0xff,0xff]
705           vpabsq -1032(%rdx){1to8}, %zmm5
706
707 // CHECK: vpaddd %zmm20, %zmm5, %zmm26
708 // CHECK:  encoding: [0x62,0x21,0x55,0x48,0xfe,0xd4]
709           vpaddd %zmm20, %zmm5, %zmm26
710
711 // CHECK: vpaddd %zmm20, %zmm5, %zmm26 {%k1}
712 // CHECK:  encoding: [0x62,0x21,0x55,0x49,0xfe,0xd4]
713           vpaddd %zmm20, %zmm5, %zmm26 {%k1}
714
715 // CHECK: vpaddd %zmm20, %zmm5, %zmm26 {%k1} {z}
716 // CHECK:  encoding: [0x62,0x21,0x55,0xc9,0xfe,0xd4]
717           vpaddd %zmm20, %zmm5, %zmm26 {%k1} {z}
718
719 // CHECK: vpaddd (%rcx), %zmm5, %zmm26
720 // CHECK:  encoding: [0x62,0x61,0x55,0x48,0xfe,0x11]
721           vpaddd (%rcx), %zmm5, %zmm26
722
723 // CHECK: vpaddd (%rcx), %zmm5, %zmm26 {%k2}
724 // CHECK:  encoding: [0x62,0x61,0x55,0x4a,0xfe,0x11]
725           vpaddd (%rcx), %zmm5, %zmm26 {%k2}
726
727 // CHECK: vpaddd (%rcx), %zmm5, %zmm26 {%k2} {z}
728 // CHECK:  encoding: [0x62,0x61,0x55,0xca,0xfe,0x11]
729           vpaddd (%rcx), %zmm5, %zmm26 {%k2} {z}
730
731 // CHECK: vpaddd 291(%rax,%r14,8), %zmm5, %zmm26
732 // CHECK:  encoding: [0x62,0x21,0x55,0x48,0xfe,0x94,0xf0,0x23,0x01,0x00,0x00]
733           vpaddd 291(%rax,%r14,8), %zmm5, %zmm26
734
735 // CHECK: vpaddd (%rcx){1to16}, %zmm5, %zmm26
736 // CHECK:  encoding: [0x62,0x61,0x55,0x58,0xfe,0x11]
737           vpaddd (%rcx){1to16}, %zmm5, %zmm26
738
739 // CHECK: vpaddd 8128(%rdx), %zmm5, %zmm26
740 // CHECK:  encoding: [0x62,0x61,0x55,0x48,0xfe,0x52,0x7f]
741           vpaddd 8128(%rdx), %zmm5, %zmm26
742
743 // CHECK: vpaddd 8192(%rdx), %zmm5, %zmm26
744 // CHECK:  encoding: [0x62,0x61,0x55,0x48,0xfe,0x92,0x00,0x20,0x00,0x00]
745           vpaddd 8192(%rdx), %zmm5, %zmm26
746
747 // CHECK: vpaddd -8192(%rdx), %zmm5, %zmm26
748 // CHECK:  encoding: [0x62,0x61,0x55,0x48,0xfe,0x52,0x80]
749           vpaddd -8192(%rdx), %zmm5, %zmm26
750
751 // CHECK: vpaddd -8256(%rdx), %zmm5, %zmm26
752 // CHECK:  encoding: [0x62,0x61,0x55,0x48,0xfe,0x92,0xc0,0xdf,0xff,0xff]
753           vpaddd -8256(%rdx), %zmm5, %zmm26
754
755 // CHECK: vpaddd (%rcx){1to16}, %zmm5, %zmm26 {%k2}
756 // CHECK:  encoding: [0x62,0x61,0x55,0x5a,0xfe,0x11]
757           vpaddd (%rcx){1to16}, %zmm5, %zmm26 {%k2}
758
759 // CHECK: vpaddd (%rcx){1to16}, %zmm5, %zmm26 {%k2} {z}
760 // CHECK:  encoding: [0x62,0x61,0x55,0xda,0xfe,0x11]
761           vpaddd (%rcx){1to16}, %zmm5, %zmm26 {%k2} {z}
762
763 // CHECK: vpaddd 508(%rdx){1to16}, %zmm5, %zmm26
764 // CHECK:  encoding: [0x62,0x61,0x55,0x58,0xfe,0x52,0x7f]
765           vpaddd 508(%rdx){1to16}, %zmm5, %zmm26
766
767 // CHECK: vpaddd 512(%rdx){1to16}, %zmm5, %zmm26
768 // CHECK:  encoding: [0x62,0x61,0x55,0x58,0xfe,0x92,0x00,0x02,0x00,0x00]
769           vpaddd 512(%rdx){1to16}, %zmm5, %zmm26
770
771 // CHECK: vpaddd -512(%rdx){1to16}, %zmm5, %zmm26
772 // CHECK:  encoding: [0x62,0x61,0x55,0x58,0xfe,0x52,0x80]
773           vpaddd -512(%rdx){1to16}, %zmm5, %zmm26
774
775 // CHECK: vpaddd -516(%rdx){1to16}, %zmm5, %zmm26
776 // CHECK:  encoding: [0x62,0x61,0x55,0x58,0xfe,0x92,0xfc,0xfd,0xff,0xff]
777           vpaddd -516(%rdx){1to16}, %zmm5, %zmm26
778
779 // CHECK: vpaddq %zmm14, %zmm25, %zmm8
780 // CHECK:  encoding: [0x62,0x51,0xb5,0x40,0xd4,0xc6]
781           vpaddq %zmm14, %zmm25, %zmm8
782
783 // CHECK: vpaddq %zmm14, %zmm25, %zmm8 {%k3}
784 // CHECK:  encoding: [0x62,0x51,0xb5,0x43,0xd4,0xc6]
785           vpaddq %zmm14, %zmm25, %zmm8 {%k3}
786
787 // CHECK: vpaddq %zmm14, %zmm25, %zmm8 {%k3} {z}
788 // CHECK:  encoding: [0x62,0x51,0xb5,0xc3,0xd4,0xc6]
789           vpaddq %zmm14, %zmm25, %zmm8 {%k3} {z}
790
791 // CHECK: vpaddq (%rcx), %zmm25, %zmm8
792 // CHECK:  encoding: [0x62,0x71,0xb5,0x40,0xd4,0x01]
793           vpaddq (%rcx), %zmm25, %zmm8
794
795 // CHECK: vpaddq 291(%rax,%r14,8), %zmm25, %zmm8
796 // CHECK:  encoding: [0x62,0x31,0xb5,0x40,0xd4,0x84,0xf0,0x23,0x01,0x00,0x00]
797           vpaddq 291(%rax,%r14,8), %zmm25, %zmm8
798
799 // CHECK: vpaddq (%rcx){1to8}, %zmm25, %zmm8
800 // CHECK:  encoding: [0x62,0x71,0xb5,0x50,0xd4,0x01]
801           vpaddq (%rcx){1to8}, %zmm25, %zmm8
802
803 // CHECK: vpaddq 8128(%rdx), %zmm25, %zmm8
804 // CHECK:  encoding: [0x62,0x71,0xb5,0x40,0xd4,0x42,0x7f]
805           vpaddq 8128(%rdx), %zmm25, %zmm8
806
807 // CHECK: vpaddq 8192(%rdx), %zmm25, %zmm8
808 // CHECK:  encoding: [0x62,0x71,0xb5,0x40,0xd4,0x82,0x00,0x20,0x00,0x00]
809           vpaddq 8192(%rdx), %zmm25, %zmm8
810
811 // CHECK: vpaddq -8192(%rdx), %zmm25, %zmm8
812 // CHECK:  encoding: [0x62,0x71,0xb5,0x40,0xd4,0x42,0x80]
813           vpaddq -8192(%rdx), %zmm25, %zmm8
814
815 // CHECK: vpaddq -8256(%rdx), %zmm25, %zmm8
816 // CHECK:  encoding: [0x62,0x71,0xb5,0x40,0xd4,0x82,0xc0,0xdf,0xff,0xff]
817           vpaddq -8256(%rdx), %zmm25, %zmm8
818
819 // CHECK: vpaddq 1016(%rdx){1to8}, %zmm25, %zmm8
820 // CHECK:  encoding: [0x62,0x71,0xb5,0x50,0xd4,0x42,0x7f]
821           vpaddq 1016(%rdx){1to8}, %zmm25, %zmm8
822
823 // CHECK: vpaddq 1024(%rdx){1to8}, %zmm25, %zmm8
824 // CHECK:  encoding: [0x62,0x71,0xb5,0x50,0xd4,0x82,0x00,0x04,0x00,0x00]
825           vpaddq 1024(%rdx){1to8}, %zmm25, %zmm8
826
827 // CHECK: vpaddq -1024(%rdx){1to8}, %zmm25, %zmm8
828 // CHECK:  encoding: [0x62,0x71,0xb5,0x50,0xd4,0x42,0x80]
829           vpaddq -1024(%rdx){1to8}, %zmm25, %zmm8
830
831 // CHECK: vpaddq -1032(%rdx){1to8}, %zmm25, %zmm8
832 // CHECK:  encoding: [0x62,0x71,0xb5,0x50,0xd4,0x82,0xf8,0xfb,0xff,0xff]
833           vpaddq -1032(%rdx){1to8}, %zmm25, %zmm8
834
835 // CHECK: vpandd %zmm25, %zmm22, %zmm19
836 // CHECK:  encoding: [0x62,0x81,0x4d,0x40,0xdb,0xd9]
837           vpandd %zmm25, %zmm22, %zmm19
838
839 // CHECK: vpandd %zmm25, %zmm22, %zmm19 {%k1}
840 // CHECK:  encoding: [0x62,0x81,0x4d,0x41,0xdb,0xd9]
841           vpandd %zmm25, %zmm22, %zmm19 {%k1}
842
843 // CHECK: vpandd %zmm25, %zmm22, %zmm19 {%k1} {z}
844 // CHECK:  encoding: [0x62,0x81,0x4d,0xc1,0xdb,0xd9]
845           vpandd %zmm25, %zmm22, %zmm19 {%k1} {z}
846
847 // CHECK: vpandd (%rcx), %zmm22, %zmm19
848 // CHECK:  encoding: [0x62,0xe1,0x4d,0x40,0xdb,0x19]
849           vpandd (%rcx), %zmm22, %zmm19
850
851 // CHECK: vpandd 291(%rax,%r14,8), %zmm22, %zmm19
852 // CHECK:  encoding: [0x62,0xa1,0x4d,0x40,0xdb,0x9c,0xf0,0x23,0x01,0x00,0x00]
853           vpandd 291(%rax,%r14,8), %zmm22, %zmm19
854
855 // CHECK: vpandd (%rcx){1to16}, %zmm22, %zmm19
856 // CHECK:  encoding: [0x62,0xe1,0x4d,0x50,0xdb,0x19]
857           vpandd (%rcx){1to16}, %zmm22, %zmm19
858
859 // CHECK: vpandd 8128(%rdx), %zmm22, %zmm19
860 // CHECK:  encoding: [0x62,0xe1,0x4d,0x40,0xdb,0x5a,0x7f]
861           vpandd 8128(%rdx), %zmm22, %zmm19
862
863 // CHECK: vpandd 8192(%rdx), %zmm22, %zmm19
864 // CHECK:  encoding: [0x62,0xe1,0x4d,0x40,0xdb,0x9a,0x00,0x20,0x00,0x00]
865           vpandd 8192(%rdx), %zmm22, %zmm19
866
867 // CHECK: vpandd -8192(%rdx), %zmm22, %zmm19
868 // CHECK:  encoding: [0x62,0xe1,0x4d,0x40,0xdb,0x5a,0x80]
869           vpandd -8192(%rdx), %zmm22, %zmm19
870
871 // CHECK: vpandd -8256(%rdx), %zmm22, %zmm19
872 // CHECK:  encoding: [0x62,0xe1,0x4d,0x40,0xdb,0x9a,0xc0,0xdf,0xff,0xff]
873           vpandd -8256(%rdx), %zmm22, %zmm19
874
875 // CHECK: vpandd 508(%rdx){1to16}, %zmm22, %zmm19
876 // CHECK:  encoding: [0x62,0xe1,0x4d,0x50,0xdb,0x5a,0x7f]
877           vpandd 508(%rdx){1to16}, %zmm22, %zmm19
878
879 // CHECK: vpandd 512(%rdx){1to16}, %zmm22, %zmm19
880 // CHECK:  encoding: [0x62,0xe1,0x4d,0x50,0xdb,0x9a,0x00,0x02,0x00,0x00]
881           vpandd 512(%rdx){1to16}, %zmm22, %zmm19
882
883 // CHECK: vpandd -512(%rdx){1to16}, %zmm22, %zmm19
884 // CHECK:  encoding: [0x62,0xe1,0x4d,0x50,0xdb,0x5a,0x80]
885           vpandd -512(%rdx){1to16}, %zmm22, %zmm19
886
887 // CHECK: vpandd -516(%rdx){1to16}, %zmm22, %zmm19
888 // CHECK:  encoding: [0x62,0xe1,0x4d,0x50,0xdb,0x9a,0xfc,0xfd,0xff,0xff]
889           vpandd -516(%rdx){1to16}, %zmm22, %zmm19
890
891 // CHECK: vpandnd %zmm15, %zmm28, %zmm30
892 // CHECK:  encoding: [0x62,0x41,0x1d,0x40,0xdf,0xf7]
893           vpandnd %zmm15, %zmm28, %zmm30
894
895 // CHECK: vpandnd %zmm15, %zmm28, %zmm30 {%k3}
896 // CHECK:  encoding: [0x62,0x41,0x1d,0x43,0xdf,0xf7]
897           vpandnd %zmm15, %zmm28, %zmm30 {%k3}
898
899 // CHECK: vpandnd %zmm15, %zmm28, %zmm30 {%k3} {z}
900 // CHECK:  encoding: [0x62,0x41,0x1d,0xc3,0xdf,0xf7]
901           vpandnd %zmm15, %zmm28, %zmm30 {%k3} {z}
902
903 // CHECK: vpandnd (%rcx), %zmm28, %zmm30
904 // CHECK:  encoding: [0x62,0x61,0x1d,0x40,0xdf,0x31]
905           vpandnd (%rcx), %zmm28, %zmm30
906
907 // CHECK: vpandnd 291(%rax,%r14,8), %zmm28, %zmm30
908 // CHECK:  encoding: [0x62,0x21,0x1d,0x40,0xdf,0xb4,0xf0,0x23,0x01,0x00,0x00]
909           vpandnd 291(%rax,%r14,8), %zmm28, %zmm30
910
911 // CHECK: vpandnd (%rcx){1to16}, %zmm28, %zmm30
912 // CHECK:  encoding: [0x62,0x61,0x1d,0x50,0xdf,0x31]
913           vpandnd (%rcx){1to16}, %zmm28, %zmm30
914
915 // CHECK: vpandnd 8128(%rdx), %zmm28, %zmm30
916 // CHECK:  encoding: [0x62,0x61,0x1d,0x40,0xdf,0x72,0x7f]
917           vpandnd 8128(%rdx), %zmm28, %zmm30
918
919 // CHECK: vpandnd 8192(%rdx), %zmm28, %zmm30
920 // CHECK:  encoding: [0x62,0x61,0x1d,0x40,0xdf,0xb2,0x00,0x20,0x00,0x00]
921           vpandnd 8192(%rdx), %zmm28, %zmm30
922
923 // CHECK: vpandnd -8192(%rdx), %zmm28, %zmm30
924 // CHECK:  encoding: [0x62,0x61,0x1d,0x40,0xdf,0x72,0x80]
925           vpandnd -8192(%rdx), %zmm28, %zmm30
926
927 // CHECK: vpandnd -8256(%rdx), %zmm28, %zmm30
928 // CHECK:  encoding: [0x62,0x61,0x1d,0x40,0xdf,0xb2,0xc0,0xdf,0xff,0xff]
929           vpandnd -8256(%rdx), %zmm28, %zmm30
930
931 // CHECK: vpandnd 508(%rdx){1to16}, %zmm28, %zmm30
932 // CHECK:  encoding: [0x62,0x61,0x1d,0x50,0xdf,0x72,0x7f]
933           vpandnd 508(%rdx){1to16}, %zmm28, %zmm30
934
935 // CHECK: vpandnd 512(%rdx){1to16}, %zmm28, %zmm30
936 // CHECK:  encoding: [0x62,0x61,0x1d,0x50,0xdf,0xb2,0x00,0x02,0x00,0x00]
937           vpandnd 512(%rdx){1to16}, %zmm28, %zmm30
938
939 // CHECK: vpandnd -512(%rdx){1to16}, %zmm28, %zmm30
940 // CHECK:  encoding: [0x62,0x61,0x1d,0x50,0xdf,0x72,0x80]
941           vpandnd -512(%rdx){1to16}, %zmm28, %zmm30
942
943 // CHECK: vpandnd -516(%rdx){1to16}, %zmm28, %zmm30
944 // CHECK:  encoding: [0x62,0x61,0x1d,0x50,0xdf,0xb2,0xfc,0xfd,0xff,0xff]
945           vpandnd -516(%rdx){1to16}, %zmm28, %zmm30
946
947 // CHECK: vpandnq %zmm19, %zmm7, %zmm20
948 // CHECK:  encoding: [0x62,0xa1,0xc5,0x48,0xdf,0xe3]
949           vpandnq %zmm19, %zmm7, %zmm20
950
951 // CHECK: vpandnq %zmm19, %zmm7, %zmm20 {%k5}
952 // CHECK:  encoding: [0x62,0xa1,0xc5,0x4d,0xdf,0xe3]
953           vpandnq %zmm19, %zmm7, %zmm20 {%k5}
954
955 // CHECK: vpandnq %zmm19, %zmm7, %zmm20 {%k5} {z}
956 // CHECK:  encoding: [0x62,0xa1,0xc5,0xcd,0xdf,0xe3]
957           vpandnq %zmm19, %zmm7, %zmm20 {%k5} {z}
958
959 // CHECK: vpandnq (%rcx), %zmm7, %zmm20
960 // CHECK:  encoding: [0x62,0xe1,0xc5,0x48,0xdf,0x21]
961           vpandnq (%rcx), %zmm7, %zmm20
962
963 // CHECK: vpandnq 291(%rax,%r14,8), %zmm7, %zmm20
964 // CHECK:  encoding: [0x62,0xa1,0xc5,0x48,0xdf,0xa4,0xf0,0x23,0x01,0x00,0x00]
965           vpandnq 291(%rax,%r14,8), %zmm7, %zmm20
966
967 // CHECK: vpandnq (%rcx){1to8}, %zmm7, %zmm20
968 // CHECK:  encoding: [0x62,0xe1,0xc5,0x58,0xdf,0x21]
969           vpandnq (%rcx){1to8}, %zmm7, %zmm20
970
971 // CHECK: vpandnq 8128(%rdx), %zmm7, %zmm20
972 // CHECK:  encoding: [0x62,0xe1,0xc5,0x48,0xdf,0x62,0x7f]
973           vpandnq 8128(%rdx), %zmm7, %zmm20
974
975 // CHECK: vpandnq 8192(%rdx), %zmm7, %zmm20
976 // CHECK:  encoding: [0x62,0xe1,0xc5,0x48,0xdf,0xa2,0x00,0x20,0x00,0x00]
977           vpandnq 8192(%rdx), %zmm7, %zmm20
978
979 // CHECK: vpandnq -8192(%rdx), %zmm7, %zmm20
980 // CHECK:  encoding: [0x62,0xe1,0xc5,0x48,0xdf,0x62,0x80]
981           vpandnq -8192(%rdx), %zmm7, %zmm20
982
983 // CHECK: vpandnq -8256(%rdx), %zmm7, %zmm20
984 // CHECK:  encoding: [0x62,0xe1,0xc5,0x48,0xdf,0xa2,0xc0,0xdf,0xff,0xff]
985           vpandnq -8256(%rdx), %zmm7, %zmm20
986
987 // CHECK: vpandnq 1016(%rdx){1to8}, %zmm7, %zmm20
988 // CHECK:  encoding: [0x62,0xe1,0xc5,0x58,0xdf,0x62,0x7f]
989           vpandnq 1016(%rdx){1to8}, %zmm7, %zmm20
990
991 // CHECK: vpandnq 1024(%rdx){1to8}, %zmm7, %zmm20
992 // CHECK:  encoding: [0x62,0xe1,0xc5,0x58,0xdf,0xa2,0x00,0x04,0x00,0x00]
993           vpandnq 1024(%rdx){1to8}, %zmm7, %zmm20
994
995 // CHECK: vpandnq -1024(%rdx){1to8}, %zmm7, %zmm20
996 // CHECK:  encoding: [0x62,0xe1,0xc5,0x58,0xdf,0x62,0x80]
997           vpandnq -1024(%rdx){1to8}, %zmm7, %zmm20
998
999 // CHECK: vpandnq -1032(%rdx){1to8}, %zmm7, %zmm20
1000 // CHECK:  encoding: [0x62,0xe1,0xc5,0x58,0xdf,0xa2,0xf8,0xfb,0xff,0xff]
1001           vpandnq -1032(%rdx){1to8}, %zmm7, %zmm20
1002
1003 // CHECK: vpandq %zmm26, %zmm4, %zmm17
1004 // CHECK:  encoding: [0x62,0x81,0xdd,0x48,0xdb,0xca]
1005           vpandq %zmm26, %zmm4, %zmm17
1006
1007 // CHECK: vpandq %zmm26, %zmm4, %zmm17 {%k7}
1008 // CHECK:  encoding: [0x62,0x81,0xdd,0x4f,0xdb,0xca]
1009           vpandq %zmm26, %zmm4, %zmm17 {%k7}
1010
1011 // CHECK: vpandq %zmm26, %zmm4, %zmm17 {%k7} {z}
1012 // CHECK:  encoding: [0x62,0x81,0xdd,0xcf,0xdb,0xca]
1013           vpandq %zmm26, %zmm4, %zmm17 {%k7} {z}
1014
1015 // CHECK: vpandq (%rcx), %zmm4, %zmm17
1016 // CHECK:  encoding: [0x62,0xe1,0xdd,0x48,0xdb,0x09]
1017           vpandq (%rcx), %zmm4, %zmm17
1018
1019 // CHECK: vpandq 291(%rax,%r14,8), %zmm4, %zmm17
1020 // CHECK:  encoding: [0x62,0xa1,0xdd,0x48,0xdb,0x8c,0xf0,0x23,0x01,0x00,0x00]
1021           vpandq 291(%rax,%r14,8), %zmm4, %zmm17
1022
1023 // CHECK: vpandq (%rcx){1to8}, %zmm4, %zmm17
1024 // CHECK:  encoding: [0x62,0xe1,0xdd,0x58,0xdb,0x09]
1025           vpandq (%rcx){1to8}, %zmm4, %zmm17
1026
1027 // CHECK: vpandq 8128(%rdx), %zmm4, %zmm17
1028 // CHECK:  encoding: [0x62,0xe1,0xdd,0x48,0xdb,0x4a,0x7f]
1029           vpandq 8128(%rdx), %zmm4, %zmm17
1030
1031 // CHECK: vpandq 8192(%rdx), %zmm4, %zmm17
1032 // CHECK:  encoding: [0x62,0xe1,0xdd,0x48,0xdb,0x8a,0x00,0x20,0x00,0x00]
1033           vpandq 8192(%rdx), %zmm4, %zmm17
1034
1035 // CHECK: vpandq -8192(%rdx), %zmm4, %zmm17
1036 // CHECK:  encoding: [0x62,0xe1,0xdd,0x48,0xdb,0x4a,0x80]
1037           vpandq -8192(%rdx), %zmm4, %zmm17
1038
1039 // CHECK: vpandq -8256(%rdx), %zmm4, %zmm17
1040 // CHECK:  encoding: [0x62,0xe1,0xdd,0x48,0xdb,0x8a,0xc0,0xdf,0xff,0xff]
1041           vpandq -8256(%rdx), %zmm4, %zmm17
1042
1043 // CHECK: vpandq 1016(%rdx){1to8}, %zmm4, %zmm17
1044 // CHECK:  encoding: [0x62,0xe1,0xdd,0x58,0xdb,0x4a,0x7f]
1045           vpandq 1016(%rdx){1to8}, %zmm4, %zmm17
1046
1047 // CHECK: vpandq 1024(%rdx){1to8}, %zmm4, %zmm17
1048 // CHECK:  encoding: [0x62,0xe1,0xdd,0x58,0xdb,0x8a,0x00,0x04,0x00,0x00]
1049           vpandq 1024(%rdx){1to8}, %zmm4, %zmm17
1050
1051 // CHECK: vpandq -1024(%rdx){1to8}, %zmm4, %zmm17
1052 // CHECK:  encoding: [0x62,0xe1,0xdd,0x58,0xdb,0x4a,0x80]
1053           vpandq -1024(%rdx){1to8}, %zmm4, %zmm17
1054
1055 // CHECK: vpandq -1032(%rdx){1to8}, %zmm4, %zmm17
1056 // CHECK:  encoding: [0x62,0xe1,0xdd,0x58,0xdb,0x8a,0xf8,0xfb,0xff,0xff]
1057           vpandq -1032(%rdx){1to8}, %zmm4, %zmm17
1058
1059 // CHECK: vpmaxsd %zmm16, %zmm8, %zmm6
1060 // CHECK:  encoding: [0x62,0xb2,0x3d,0x48,0x3d,0xf0]
1061           vpmaxsd %zmm16, %zmm8, %zmm6
1062
1063 // CHECK: vpmaxsd %zmm16, %zmm8, %zmm6 {%k3}
1064 // CHECK:  encoding: [0x62,0xb2,0x3d,0x4b,0x3d,0xf0]
1065           vpmaxsd %zmm16, %zmm8, %zmm6 {%k3}
1066
1067 // CHECK: vpmaxsd %zmm16, %zmm8, %zmm6 {%k3} {z}
1068 // CHECK:  encoding: [0x62,0xb2,0x3d,0xcb,0x3d,0xf0]
1069           vpmaxsd %zmm16, %zmm8, %zmm6 {%k3} {z}
1070
1071 // CHECK: vpmaxsd (%rcx), %zmm8, %zmm6
1072 // CHECK:  encoding: [0x62,0xf2,0x3d,0x48,0x3d,0x31]
1073           vpmaxsd (%rcx), %zmm8, %zmm6
1074
1075 // CHECK: vpmaxsd 291(%rax,%r14,8), %zmm8, %zmm6
1076 // CHECK:  encoding: [0x62,0xb2,0x3d,0x48,0x3d,0xb4,0xf0,0x23,0x01,0x00,0x00]
1077           vpmaxsd 291(%rax,%r14,8), %zmm8, %zmm6
1078
1079 // CHECK: vpmaxsd (%rcx){1to16}, %zmm8, %zmm6
1080 // CHECK:  encoding: [0x62,0xf2,0x3d,0x58,0x3d,0x31]
1081           vpmaxsd (%rcx){1to16}, %zmm8, %zmm6
1082
1083 // CHECK: vpmaxsd 8128(%rdx), %zmm8, %zmm6
1084 // CHECK:  encoding: [0x62,0xf2,0x3d,0x48,0x3d,0x72,0x7f]
1085           vpmaxsd 8128(%rdx), %zmm8, %zmm6
1086
1087 // CHECK: vpmaxsd 8192(%rdx), %zmm8, %zmm6
1088 // CHECK:  encoding: [0x62,0xf2,0x3d,0x48,0x3d,0xb2,0x00,0x20,0x00,0x00]
1089           vpmaxsd 8192(%rdx), %zmm8, %zmm6
1090
1091 // CHECK: vpmaxsd -8192(%rdx), %zmm8, %zmm6
1092 // CHECK:  encoding: [0x62,0xf2,0x3d,0x48,0x3d,0x72,0x80]
1093           vpmaxsd -8192(%rdx), %zmm8, %zmm6
1094
1095 // CHECK: vpmaxsd -8256(%rdx), %zmm8, %zmm6
1096 // CHECK:  encoding: [0x62,0xf2,0x3d,0x48,0x3d,0xb2,0xc0,0xdf,0xff,0xff]
1097           vpmaxsd -8256(%rdx), %zmm8, %zmm6
1098
1099 // CHECK: vpmaxsd 508(%rdx){1to16}, %zmm8, %zmm6
1100 // CHECK:  encoding: [0x62,0xf2,0x3d,0x58,0x3d,0x72,0x7f]
1101           vpmaxsd 508(%rdx){1to16}, %zmm8, %zmm6
1102
1103 // CHECK: vpmaxsd 512(%rdx){1to16}, %zmm8, %zmm6
1104 // CHECK:  encoding: [0x62,0xf2,0x3d,0x58,0x3d,0xb2,0x00,0x02,0x00,0x00]
1105           vpmaxsd 512(%rdx){1to16}, %zmm8, %zmm6
1106
1107 // CHECK: vpmaxsd -512(%rdx){1to16}, %zmm8, %zmm6
1108 // CHECK:  encoding: [0x62,0xf2,0x3d,0x58,0x3d,0x72,0x80]
1109           vpmaxsd -512(%rdx){1to16}, %zmm8, %zmm6
1110
1111 // CHECK: vpmaxsd -516(%rdx){1to16}, %zmm8, %zmm6
1112 // CHECK:  encoding: [0x62,0xf2,0x3d,0x58,0x3d,0xb2,0xfc,0xfd,0xff,0xff]
1113           vpmaxsd -516(%rdx){1to16}, %zmm8, %zmm6
1114
1115 // CHECK: vpmaxsq %zmm1, %zmm6, %zmm6
1116 // CHECK:  encoding: [0x62,0xf2,0xcd,0x48,0x3d,0xf1]
1117           vpmaxsq %zmm1, %zmm6, %zmm6
1118
1119 // CHECK: vpmaxsq %zmm1, %zmm6, %zmm6 {%k7}
1120 // CHECK:  encoding: [0x62,0xf2,0xcd,0x4f,0x3d,0xf1]
1121           vpmaxsq %zmm1, %zmm6, %zmm6 {%k7}
1122
1123 // CHECK: vpmaxsq %zmm1, %zmm6, %zmm6 {%k7} {z}
1124 // CHECK:  encoding: [0x62,0xf2,0xcd,0xcf,0x3d,0xf1]
1125           vpmaxsq %zmm1, %zmm6, %zmm6 {%k7} {z}
1126
1127 // CHECK: vpmaxsq (%rcx), %zmm6, %zmm6
1128 // CHECK:  encoding: [0x62,0xf2,0xcd,0x48,0x3d,0x31]
1129           vpmaxsq (%rcx), %zmm6, %zmm6
1130
1131 // CHECK: vpmaxsq 291(%rax,%r14,8), %zmm6, %zmm6
1132 // CHECK:  encoding: [0x62,0xb2,0xcd,0x48,0x3d,0xb4,0xf0,0x23,0x01,0x00,0x00]
1133           vpmaxsq 291(%rax,%r14,8), %zmm6, %zmm6
1134
1135 // CHECK: vpmaxsq (%rcx){1to8}, %zmm6, %zmm6
1136 // CHECK:  encoding: [0x62,0xf2,0xcd,0x58,0x3d,0x31]
1137           vpmaxsq (%rcx){1to8}, %zmm6, %zmm6
1138
1139 // CHECK: vpmaxsq 8128(%rdx), %zmm6, %zmm6
1140 // CHECK:  encoding: [0x62,0xf2,0xcd,0x48,0x3d,0x72,0x7f]
1141           vpmaxsq 8128(%rdx), %zmm6, %zmm6
1142
1143 // CHECK: vpmaxsq 8192(%rdx), %zmm6, %zmm6
1144 // CHECK:  encoding: [0x62,0xf2,0xcd,0x48,0x3d,0xb2,0x00,0x20,0x00,0x00]
1145           vpmaxsq 8192(%rdx), %zmm6, %zmm6
1146
1147 // CHECK: vpmaxsq -8192(%rdx), %zmm6, %zmm6
1148 // CHECK:  encoding: [0x62,0xf2,0xcd,0x48,0x3d,0x72,0x80]
1149           vpmaxsq -8192(%rdx), %zmm6, %zmm6
1150
1151 // CHECK: vpmaxsq -8256(%rdx), %zmm6, %zmm6
1152 // CHECK:  encoding: [0x62,0xf2,0xcd,0x48,0x3d,0xb2,0xc0,0xdf,0xff,0xff]
1153           vpmaxsq -8256(%rdx), %zmm6, %zmm6
1154
1155 // CHECK: vpmaxsq 1016(%rdx){1to8}, %zmm6, %zmm6
1156 // CHECK:  encoding: [0x62,0xf2,0xcd,0x58,0x3d,0x72,0x7f]
1157           vpmaxsq 1016(%rdx){1to8}, %zmm6, %zmm6
1158
1159 // CHECK: vpmaxsq 1024(%rdx){1to8}, %zmm6, %zmm6
1160 // CHECK:  encoding: [0x62,0xf2,0xcd,0x58,0x3d,0xb2,0x00,0x04,0x00,0x00]
1161           vpmaxsq 1024(%rdx){1to8}, %zmm6, %zmm6
1162
1163 // CHECK: vpmaxsq -1024(%rdx){1to8}, %zmm6, %zmm6
1164 // CHECK:  encoding: [0x62,0xf2,0xcd,0x58,0x3d,0x72,0x80]
1165           vpmaxsq -1024(%rdx){1to8}, %zmm6, %zmm6
1166
1167 // CHECK: vpmaxsq -1032(%rdx){1to8}, %zmm6, %zmm6
1168 // CHECK:  encoding: [0x62,0xf2,0xcd,0x58,0x3d,0xb2,0xf8,0xfb,0xff,0xff]
1169           vpmaxsq -1032(%rdx){1to8}, %zmm6, %zmm6
1170
1171 // CHECK: vpmaxud %zmm25, %zmm7, %zmm17
1172 // CHECK:  encoding: [0x62,0x82,0x45,0x48,0x3f,0xc9]
1173           vpmaxud %zmm25, %zmm7, %zmm17
1174
1175 // CHECK: vpmaxud %zmm25, %zmm7, %zmm17 {%k5}
1176 // CHECK:  encoding: [0x62,0x82,0x45,0x4d,0x3f,0xc9]
1177           vpmaxud %zmm25, %zmm7, %zmm17 {%k5}
1178
1179 // CHECK: vpmaxud %zmm25, %zmm7, %zmm17 {%k5} {z}
1180 // CHECK:  encoding: [0x62,0x82,0x45,0xcd,0x3f,0xc9]
1181           vpmaxud %zmm25, %zmm7, %zmm17 {%k5} {z}
1182
1183 // CHECK: vpmaxud (%rcx), %zmm7, %zmm17
1184 // CHECK:  encoding: [0x62,0xe2,0x45,0x48,0x3f,0x09]
1185           vpmaxud (%rcx), %zmm7, %zmm17
1186
1187 // CHECK: vpmaxud 291(%rax,%r14,8), %zmm7, %zmm17
1188 // CHECK:  encoding: [0x62,0xa2,0x45,0x48,0x3f,0x8c,0xf0,0x23,0x01,0x00,0x00]
1189           vpmaxud 291(%rax,%r14,8), %zmm7, %zmm17
1190
1191 // CHECK: vpmaxud (%rcx){1to16}, %zmm7, %zmm17
1192 // CHECK:  encoding: [0x62,0xe2,0x45,0x58,0x3f,0x09]
1193           vpmaxud (%rcx){1to16}, %zmm7, %zmm17
1194
1195 // CHECK: vpmaxud 8128(%rdx), %zmm7, %zmm17
1196 // CHECK:  encoding: [0x62,0xe2,0x45,0x48,0x3f,0x4a,0x7f]
1197           vpmaxud 8128(%rdx), %zmm7, %zmm17
1198
1199 // CHECK: vpmaxud 8192(%rdx), %zmm7, %zmm17
1200 // CHECK:  encoding: [0x62,0xe2,0x45,0x48,0x3f,0x8a,0x00,0x20,0x00,0x00]
1201           vpmaxud 8192(%rdx), %zmm7, %zmm17
1202
1203 // CHECK: vpmaxud -8192(%rdx), %zmm7, %zmm17
1204 // CHECK:  encoding: [0x62,0xe2,0x45,0x48,0x3f,0x4a,0x80]
1205           vpmaxud -8192(%rdx), %zmm7, %zmm17
1206
1207 // CHECK: vpmaxud -8256(%rdx), %zmm7, %zmm17
1208 // CHECK:  encoding: [0x62,0xe2,0x45,0x48,0x3f,0x8a,0xc0,0xdf,0xff,0xff]
1209           vpmaxud -8256(%rdx), %zmm7, %zmm17
1210
1211 // CHECK: vpmaxud 508(%rdx){1to16}, %zmm7, %zmm17
1212 // CHECK:  encoding: [0x62,0xe2,0x45,0x58,0x3f,0x4a,0x7f]
1213           vpmaxud 508(%rdx){1to16}, %zmm7, %zmm17
1214
1215 // CHECK: vpmaxud 512(%rdx){1to16}, %zmm7, %zmm17
1216 // CHECK:  encoding: [0x62,0xe2,0x45,0x58,0x3f,0x8a,0x00,0x02,0x00,0x00]
1217           vpmaxud 512(%rdx){1to16}, %zmm7, %zmm17
1218
1219 // CHECK: vpmaxud -512(%rdx){1to16}, %zmm7, %zmm17
1220 // CHECK:  encoding: [0x62,0xe2,0x45,0x58,0x3f,0x4a,0x80]
1221           vpmaxud -512(%rdx){1to16}, %zmm7, %zmm17
1222
1223 // CHECK: vpmaxud -516(%rdx){1to16}, %zmm7, %zmm17
1224 // CHECK:  encoding: [0x62,0xe2,0x45,0x58,0x3f,0x8a,0xfc,0xfd,0xff,0xff]
1225           vpmaxud -516(%rdx){1to16}, %zmm7, %zmm17
1226
1227 // CHECK: vpmaxuq %zmm25, %zmm22, %zmm30
1228 // CHECK:  encoding: [0x62,0x02,0xcd,0x40,0x3f,0xf1]
1229           vpmaxuq %zmm25, %zmm22, %zmm30
1230
1231 // CHECK: vpmaxuq %zmm25, %zmm22, %zmm30 {%k1}
1232 // CHECK:  encoding: [0x62,0x02,0xcd,0x41,0x3f,0xf1]
1233           vpmaxuq %zmm25, %zmm22, %zmm30 {%k1}
1234
1235 // CHECK: vpmaxuq %zmm25, %zmm22, %zmm30 {%k1} {z}
1236 // CHECK:  encoding: [0x62,0x02,0xcd,0xc1,0x3f,0xf1]
1237           vpmaxuq %zmm25, %zmm22, %zmm30 {%k1} {z}
1238
1239 // CHECK: vpmaxuq (%rcx), %zmm22, %zmm30
1240 // CHECK:  encoding: [0x62,0x62,0xcd,0x40,0x3f,0x31]
1241           vpmaxuq (%rcx), %zmm22, %zmm30
1242
1243 // CHECK: vpmaxuq 291(%rax,%r14,8), %zmm22, %zmm30
1244 // CHECK:  encoding: [0x62,0x22,0xcd,0x40,0x3f,0xb4,0xf0,0x23,0x01,0x00,0x00]
1245           vpmaxuq 291(%rax,%r14,8), %zmm22, %zmm30
1246
1247 // CHECK: vpmaxuq (%rcx){1to8}, %zmm22, %zmm30
1248 // CHECK:  encoding: [0x62,0x62,0xcd,0x50,0x3f,0x31]
1249           vpmaxuq (%rcx){1to8}, %zmm22, %zmm30
1250
1251 // CHECK: vpmaxuq 8128(%rdx), %zmm22, %zmm30
1252 // CHECK:  encoding: [0x62,0x62,0xcd,0x40,0x3f,0x72,0x7f]
1253           vpmaxuq 8128(%rdx), %zmm22, %zmm30
1254
1255 // CHECK: vpmaxuq 8192(%rdx), %zmm22, %zmm30
1256 // CHECK:  encoding: [0x62,0x62,0xcd,0x40,0x3f,0xb2,0x00,0x20,0x00,0x00]
1257           vpmaxuq 8192(%rdx), %zmm22, %zmm30
1258
1259 // CHECK: vpmaxuq -8192(%rdx), %zmm22, %zmm30
1260 // CHECK:  encoding: [0x62,0x62,0xcd,0x40,0x3f,0x72,0x80]
1261           vpmaxuq -8192(%rdx), %zmm22, %zmm30
1262
1263 // CHECK: vpmaxuq -8256(%rdx), %zmm22, %zmm30
1264 // CHECK:  encoding: [0x62,0x62,0xcd,0x40,0x3f,0xb2,0xc0,0xdf,0xff,0xff]
1265           vpmaxuq -8256(%rdx), %zmm22, %zmm30
1266
1267 // CHECK: vpmaxuq 1016(%rdx){1to8}, %zmm22, %zmm30
1268 // CHECK:  encoding: [0x62,0x62,0xcd,0x50,0x3f,0x72,0x7f]
1269           vpmaxuq 1016(%rdx){1to8}, %zmm22, %zmm30
1270
1271 // CHECK: vpmaxuq 1024(%rdx){1to8}, %zmm22, %zmm30
1272 // CHECK:  encoding: [0x62,0x62,0xcd,0x50,0x3f,0xb2,0x00,0x04,0x00,0x00]
1273           vpmaxuq 1024(%rdx){1to8}, %zmm22, %zmm30
1274
1275 // CHECK: vpmaxuq -1024(%rdx){1to8}, %zmm22, %zmm30
1276 // CHECK:  encoding: [0x62,0x62,0xcd,0x50,0x3f,0x72,0x80]
1277           vpmaxuq -1024(%rdx){1to8}, %zmm22, %zmm30
1278
1279 // CHECK: vpmaxuq -1032(%rdx){1to8}, %zmm22, %zmm30
1280 // CHECK:  encoding: [0x62,0x62,0xcd,0x50,0x3f,0xb2,0xf8,0xfb,0xff,0xff]
1281           vpmaxuq -1032(%rdx){1to8}, %zmm22, %zmm30
1282
1283 // CHECK: vpminsd %zmm24, %zmm16, %zmm2
1284 // CHECK:  encoding: [0x62,0x92,0x7d,0x40,0x39,0xd0]
1285           vpminsd %zmm24, %zmm16, %zmm2
1286
1287 // CHECK: vpminsd %zmm24, %zmm16, %zmm2 {%k3}
1288 // CHECK:  encoding: [0x62,0x92,0x7d,0x43,0x39,0xd0]
1289           vpminsd %zmm24, %zmm16, %zmm2 {%k3}
1290
1291 // CHECK: vpminsd %zmm24, %zmm16, %zmm2 {%k3} {z}
1292 // CHECK:  encoding: [0x62,0x92,0x7d,0xc3,0x39,0xd0]
1293           vpminsd %zmm24, %zmm16, %zmm2 {%k3} {z}
1294
1295 // CHECK: vpminsd (%rcx), %zmm16, %zmm2
1296 // CHECK:  encoding: [0x62,0xf2,0x7d,0x40,0x39,0x11]
1297           vpminsd (%rcx), %zmm16, %zmm2
1298
1299 // CHECK: vpminsd 291(%rax,%r14,8), %zmm16, %zmm2
1300 // CHECK:  encoding: [0x62,0xb2,0x7d,0x40,0x39,0x94,0xf0,0x23,0x01,0x00,0x00]
1301           vpminsd 291(%rax,%r14,8), %zmm16, %zmm2
1302
1303 // CHECK: vpminsd (%rcx){1to16}, %zmm16, %zmm2
1304 // CHECK:  encoding: [0x62,0xf2,0x7d,0x50,0x39,0x11]
1305           vpminsd (%rcx){1to16}, %zmm16, %zmm2
1306
1307 // CHECK: vpminsd 8128(%rdx), %zmm16, %zmm2
1308 // CHECK:  encoding: [0x62,0xf2,0x7d,0x40,0x39,0x52,0x7f]
1309           vpminsd 8128(%rdx), %zmm16, %zmm2
1310
1311 // CHECK: vpminsd 8192(%rdx), %zmm16, %zmm2
1312 // CHECK:  encoding: [0x62,0xf2,0x7d,0x40,0x39,0x92,0x00,0x20,0x00,0x00]
1313           vpminsd 8192(%rdx), %zmm16, %zmm2
1314
1315 // CHECK: vpminsd -8192(%rdx), %zmm16, %zmm2
1316 // CHECK:  encoding: [0x62,0xf2,0x7d,0x40,0x39,0x52,0x80]
1317           vpminsd -8192(%rdx), %zmm16, %zmm2
1318
1319 // CHECK: vpminsd -8256(%rdx), %zmm16, %zmm2
1320 // CHECK:  encoding: [0x62,0xf2,0x7d,0x40,0x39,0x92,0xc0,0xdf,0xff,0xff]
1321           vpminsd -8256(%rdx), %zmm16, %zmm2
1322
1323 // CHECK: vpminsd 508(%rdx){1to16}, %zmm16, %zmm2
1324 // CHECK:  encoding: [0x62,0xf2,0x7d,0x50,0x39,0x52,0x7f]
1325           vpminsd 508(%rdx){1to16}, %zmm16, %zmm2
1326
1327 // CHECK: vpminsd 512(%rdx){1to16}, %zmm16, %zmm2
1328 // CHECK:  encoding: [0x62,0xf2,0x7d,0x50,0x39,0x92,0x00,0x02,0x00,0x00]
1329           vpminsd 512(%rdx){1to16}, %zmm16, %zmm2
1330
1331 // CHECK: vpminsd -512(%rdx){1to16}, %zmm16, %zmm2
1332 // CHECK:  encoding: [0x62,0xf2,0x7d,0x50,0x39,0x52,0x80]
1333           vpminsd -512(%rdx){1to16}, %zmm16, %zmm2
1334
1335 // CHECK: vpminsd -516(%rdx){1to16}, %zmm16, %zmm2
1336 // CHECK:  encoding: [0x62,0xf2,0x7d,0x50,0x39,0x92,0xfc,0xfd,0xff,0xff]
1337           vpminsd -516(%rdx){1to16}, %zmm16, %zmm2
1338
1339 // CHECK: vpminsq %zmm17, %zmm16, %zmm20
1340 // CHECK:  encoding: [0x62,0xa2,0xfd,0x40,0x39,0xe1]
1341           vpminsq %zmm17, %zmm16, %zmm20
1342
1343 // CHECK: vpminsq %zmm17, %zmm16, %zmm20 {%k6}
1344 // CHECK:  encoding: [0x62,0xa2,0xfd,0x46,0x39,0xe1]
1345           vpminsq %zmm17, %zmm16, %zmm20 {%k6}
1346
1347 // CHECK: vpminsq %zmm17, %zmm16, %zmm20 {%k6} {z}
1348 // CHECK:  encoding: [0x62,0xa2,0xfd,0xc6,0x39,0xe1]
1349           vpminsq %zmm17, %zmm16, %zmm20 {%k6} {z}
1350
1351 // CHECK: vpminsq (%rcx), %zmm16, %zmm20
1352 // CHECK:  encoding: [0x62,0xe2,0xfd,0x40,0x39,0x21]
1353           vpminsq (%rcx), %zmm16, %zmm20
1354
1355 // CHECK: vpminsq 291(%rax,%r14,8), %zmm16, %zmm20
1356 // CHECK:  encoding: [0x62,0xa2,0xfd,0x40,0x39,0xa4,0xf0,0x23,0x01,0x00,0x00]
1357           vpminsq 291(%rax,%r14,8), %zmm16, %zmm20
1358
1359 // CHECK: vpminsq (%rcx){1to8}, %zmm16, %zmm20
1360 // CHECK:  encoding: [0x62,0xe2,0xfd,0x50,0x39,0x21]
1361           vpminsq (%rcx){1to8}, %zmm16, %zmm20
1362
1363 // CHECK: vpminsq 8128(%rdx), %zmm16, %zmm20
1364 // CHECK:  encoding: [0x62,0xe2,0xfd,0x40,0x39,0x62,0x7f]
1365           vpminsq 8128(%rdx), %zmm16, %zmm20
1366
1367 // CHECK: vpminsq 8192(%rdx), %zmm16, %zmm20
1368 // CHECK:  encoding: [0x62,0xe2,0xfd,0x40,0x39,0xa2,0x00,0x20,0x00,0x00]
1369           vpminsq 8192(%rdx), %zmm16, %zmm20
1370
1371 // CHECK: vpminsq -8192(%rdx), %zmm16, %zmm20
1372 // CHECK:  encoding: [0x62,0xe2,0xfd,0x40,0x39,0x62,0x80]
1373           vpminsq -8192(%rdx), %zmm16, %zmm20
1374
1375 // CHECK: vpminsq -8256(%rdx), %zmm16, %zmm20
1376 // CHECK:  encoding: [0x62,0xe2,0xfd,0x40,0x39,0xa2,0xc0,0xdf,0xff,0xff]
1377           vpminsq -8256(%rdx), %zmm16, %zmm20
1378
1379 // CHECK: vpminsq 1016(%rdx){1to8}, %zmm16, %zmm20
1380 // CHECK:  encoding: [0x62,0xe2,0xfd,0x50,0x39,0x62,0x7f]
1381           vpminsq 1016(%rdx){1to8}, %zmm16, %zmm20
1382
1383 // CHECK: vpminsq 1024(%rdx){1to8}, %zmm16, %zmm20
1384 // CHECK:  encoding: [0x62,0xe2,0xfd,0x50,0x39,0xa2,0x00,0x04,0x00,0x00]
1385           vpminsq 1024(%rdx){1to8}, %zmm16, %zmm20
1386
1387 // CHECK: vpminsq -1024(%rdx){1to8}, %zmm16, %zmm20
1388 // CHECK:  encoding: [0x62,0xe2,0xfd,0x50,0x39,0x62,0x80]
1389           vpminsq -1024(%rdx){1to8}, %zmm16, %zmm20
1390
1391 // CHECK: vpminsq -1032(%rdx){1to8}, %zmm16, %zmm20
1392 // CHECK:  encoding: [0x62,0xe2,0xfd,0x50,0x39,0xa2,0xf8,0xfb,0xff,0xff]
1393           vpminsq -1032(%rdx){1to8}, %zmm16, %zmm20
1394
1395 // CHECK: vpminud %zmm20, %zmm23, %zmm3
1396 // CHECK:  encoding: [0x62,0xb2,0x45,0x40,0x3b,0xdc]
1397           vpminud %zmm20, %zmm23, %zmm3
1398
1399 // CHECK: vpminud %zmm20, %zmm23, %zmm3 {%k3}
1400 // CHECK:  encoding: [0x62,0xb2,0x45,0x43,0x3b,0xdc]
1401           vpminud %zmm20, %zmm23, %zmm3 {%k3}
1402
1403 // CHECK: vpminud %zmm20, %zmm23, %zmm3 {%k3} {z}
1404 // CHECK:  encoding: [0x62,0xb2,0x45,0xc3,0x3b,0xdc]
1405           vpminud %zmm20, %zmm23, %zmm3 {%k3} {z}
1406
1407 // CHECK: vpminud (%rcx), %zmm23, %zmm3
1408 // CHECK:  encoding: [0x62,0xf2,0x45,0x40,0x3b,0x19]
1409           vpminud (%rcx), %zmm23, %zmm3
1410
1411 // CHECK: vpminud 291(%rax,%r14,8), %zmm23, %zmm3
1412 // CHECK:  encoding: [0x62,0xb2,0x45,0x40,0x3b,0x9c,0xf0,0x23,0x01,0x00,0x00]
1413           vpminud 291(%rax,%r14,8), %zmm23, %zmm3
1414
1415 // CHECK: vpminud (%rcx){1to16}, %zmm23, %zmm3
1416 // CHECK:  encoding: [0x62,0xf2,0x45,0x50,0x3b,0x19]
1417           vpminud (%rcx){1to16}, %zmm23, %zmm3
1418
1419 // CHECK: vpminud 8128(%rdx), %zmm23, %zmm3
1420 // CHECK:  encoding: [0x62,0xf2,0x45,0x40,0x3b,0x5a,0x7f]
1421           vpminud 8128(%rdx), %zmm23, %zmm3
1422
1423 // CHECK: vpminud 8192(%rdx), %zmm23, %zmm3
1424 // CHECK:  encoding: [0x62,0xf2,0x45,0x40,0x3b,0x9a,0x00,0x20,0x00,0x00]
1425           vpminud 8192(%rdx), %zmm23, %zmm3
1426
1427 // CHECK: vpminud -8192(%rdx), %zmm23, %zmm3
1428 // CHECK:  encoding: [0x62,0xf2,0x45,0x40,0x3b,0x5a,0x80]
1429           vpminud -8192(%rdx), %zmm23, %zmm3
1430
1431 // CHECK: vpminud -8256(%rdx), %zmm23, %zmm3
1432 // CHECK:  encoding: [0x62,0xf2,0x45,0x40,0x3b,0x9a,0xc0,0xdf,0xff,0xff]
1433           vpminud -8256(%rdx), %zmm23, %zmm3
1434
1435 // CHECK: vpminud 508(%rdx){1to16}, %zmm23, %zmm3
1436 // CHECK:  encoding: [0x62,0xf2,0x45,0x50,0x3b,0x5a,0x7f]
1437           vpminud 508(%rdx){1to16}, %zmm23, %zmm3
1438
1439 // CHECK: vpminud 512(%rdx){1to16}, %zmm23, %zmm3
1440 // CHECK:  encoding: [0x62,0xf2,0x45,0x50,0x3b,0x9a,0x00,0x02,0x00,0x00]
1441           vpminud 512(%rdx){1to16}, %zmm23, %zmm3
1442
1443 // CHECK: vpminud -512(%rdx){1to16}, %zmm23, %zmm3
1444 // CHECK:  encoding: [0x62,0xf2,0x45,0x50,0x3b,0x5a,0x80]
1445           vpminud -512(%rdx){1to16}, %zmm23, %zmm3
1446
1447 // CHECK: vpminud -516(%rdx){1to16}, %zmm23, %zmm3
1448 // CHECK:  encoding: [0x62,0xf2,0x45,0x50,0x3b,0x9a,0xfc,0xfd,0xff,0xff]
1449           vpminud -516(%rdx){1to16}, %zmm23, %zmm3
1450
1451 // CHECK: vpminuq %zmm7, %zmm26, %zmm11
1452 // CHECK:  encoding: [0x62,0x72,0xad,0x40,0x3b,0xdf]
1453           vpminuq %zmm7, %zmm26, %zmm11
1454
1455 // CHECK: vpminuq %zmm7, %zmm26, %zmm11 {%k5}
1456 // CHECK:  encoding: [0x62,0x72,0xad,0x45,0x3b,0xdf]
1457           vpminuq %zmm7, %zmm26, %zmm11 {%k5}
1458
1459 // CHECK: vpminuq %zmm7, %zmm26, %zmm11 {%k5} {z}
1460 // CHECK:  encoding: [0x62,0x72,0xad,0xc5,0x3b,0xdf]
1461           vpminuq %zmm7, %zmm26, %zmm11 {%k5} {z}
1462
1463 // CHECK: vpminuq (%rcx), %zmm26, %zmm11
1464 // CHECK:  encoding: [0x62,0x72,0xad,0x40,0x3b,0x19]
1465           vpminuq (%rcx), %zmm26, %zmm11
1466
1467 // CHECK: vpminuq 291(%rax,%r14,8), %zmm26, %zmm11
1468 // CHECK:  encoding: [0x62,0x32,0xad,0x40,0x3b,0x9c,0xf0,0x23,0x01,0x00,0x00]
1469           vpminuq 291(%rax,%r14,8), %zmm26, %zmm11
1470
1471 // CHECK: vpminuq (%rcx){1to8}, %zmm26, %zmm11
1472 // CHECK:  encoding: [0x62,0x72,0xad,0x50,0x3b,0x19]
1473           vpminuq (%rcx){1to8}, %zmm26, %zmm11
1474
1475 // CHECK: vpminuq 8128(%rdx), %zmm26, %zmm11
1476 // CHECK:  encoding: [0x62,0x72,0xad,0x40,0x3b,0x5a,0x7f]
1477           vpminuq 8128(%rdx), %zmm26, %zmm11
1478
1479 // CHECK: vpminuq 8192(%rdx), %zmm26, %zmm11
1480 // CHECK:  encoding: [0x62,0x72,0xad,0x40,0x3b,0x9a,0x00,0x20,0x00,0x00]
1481           vpminuq 8192(%rdx), %zmm26, %zmm11
1482
1483 // CHECK: vpminuq -8192(%rdx), %zmm26, %zmm11
1484 // CHECK:  encoding: [0x62,0x72,0xad,0x40,0x3b,0x5a,0x80]
1485           vpminuq -8192(%rdx), %zmm26, %zmm11
1486
1487 // CHECK: vpminuq -8256(%rdx), %zmm26, %zmm11
1488 // CHECK:  encoding: [0x62,0x72,0xad,0x40,0x3b,0x9a,0xc0,0xdf,0xff,0xff]
1489           vpminuq -8256(%rdx), %zmm26, %zmm11
1490
1491 // CHECK: vpminuq 1016(%rdx){1to8}, %zmm26, %zmm11
1492 // CHECK:  encoding: [0x62,0x72,0xad,0x50,0x3b,0x5a,0x7f]
1493           vpminuq 1016(%rdx){1to8}, %zmm26, %zmm11
1494
1495 // CHECK: vpminuq 1024(%rdx){1to8}, %zmm26, %zmm11
1496 // CHECK:  encoding: [0x62,0x72,0xad,0x50,0x3b,0x9a,0x00,0x04,0x00,0x00]
1497           vpminuq 1024(%rdx){1to8}, %zmm26, %zmm11
1498
1499 // CHECK: vpminuq -1024(%rdx){1to8}, %zmm26, %zmm11
1500 // CHECK:  encoding: [0x62,0x72,0xad,0x50,0x3b,0x5a,0x80]
1501           vpminuq -1024(%rdx){1to8}, %zmm26, %zmm11
1502
1503 // CHECK: vpminuq -1032(%rdx){1to8}, %zmm26, %zmm11
1504 // CHECK:  encoding: [0x62,0x72,0xad,0x50,0x3b,0x9a,0xf8,0xfb,0xff,0xff]
1505           vpminuq -1032(%rdx){1to8}, %zmm26, %zmm11
1506
1507 // CHECK: vpmuldq %zmm9, %zmm9, %zmm29
1508 // CHECK:  encoding: [0x62,0x42,0xb5,0x48,0x28,0xe9]
1509           vpmuldq %zmm9, %zmm9, %zmm29
1510
1511 // CHECK: vpmuldq %zmm9, %zmm9, %zmm29 {%k5}
1512 // CHECK:  encoding: [0x62,0x42,0xb5,0x4d,0x28,0xe9]
1513           vpmuldq %zmm9, %zmm9, %zmm29 {%k5}
1514
1515 // CHECK: vpmuldq %zmm9, %zmm9, %zmm29 {%k5} {z}
1516 // CHECK:  encoding: [0x62,0x42,0xb5,0xcd,0x28,0xe9]
1517           vpmuldq %zmm9, %zmm9, %zmm29 {%k5} {z}
1518
1519 // CHECK: vpmuldq (%rcx), %zmm9, %zmm29
1520 // CHECK:  encoding: [0x62,0x62,0xb5,0x48,0x28,0x29]
1521           vpmuldq (%rcx), %zmm9, %zmm29
1522
1523 // CHECK: vpmuldq (%rcx), %zmm9, %zmm29 {%k6}
1524 // CHECK:  encoding: [0x62,0x62,0xb5,0x4e,0x28,0x29]
1525           vpmuldq (%rcx), %zmm9, %zmm29 {%k6}
1526
1527 // CHECK: vpmuldq (%rcx), %zmm9, %zmm29 {%k6} {z}
1528 // CHECK:  encoding: [0x62,0x62,0xb5,0xce,0x28,0x29]
1529           vpmuldq (%rcx), %zmm9, %zmm29 {%k6} {z}
1530
1531 // CHECK: vpmuldq 291(%rax,%r14,8), %zmm9, %zmm29
1532 // CHECK:  encoding: [0x62,0x22,0xb5,0x48,0x28,0xac,0xf0,0x23,0x01,0x00,0x00]
1533           vpmuldq 291(%rax,%r14,8), %zmm9, %zmm29
1534
1535 // CHECK: vpmuldq (%rcx){1to8}, %zmm9, %zmm29
1536 // CHECK:  encoding: [0x62,0x62,0xb5,0x58,0x28,0x29]
1537           vpmuldq (%rcx){1to8}, %zmm9, %zmm29
1538
1539 // CHECK: vpmuldq (%rcx){1to8}, %zmm9, %zmm29 {%k3}
1540 // CHECK:  encoding: [0x62,0x62,0xb5,0x5b,0x28,0x29]
1541           vpmuldq (%rcx){1to8}, %zmm9, %zmm29 {%k3}
1542
1543 // CHECK: vpmuldq (%rcx){1to8}, %zmm9, %zmm29
1544 // CHECK:  encoding: [0x62,0x62,0xb5,0xdb,0x28,0x29]
1545           vpmuldq (%rcx){1to8}, %zmm9, %zmm29 {%k3} {z}
1546
1547 // CHECK: vpmuldq 8128(%rdx), %zmm9, %zmm29
1548 // CHECK:  encoding: [0x62,0x62,0xb5,0x48,0x28,0x6a,0x7f]
1549           vpmuldq 8128(%rdx), %zmm9, %zmm29
1550
1551 // CHECK: vpmuldq 8192(%rdx), %zmm9, %zmm29
1552 // CHECK:  encoding: [0x62,0x62,0xb5,0x48,0x28,0xaa,0x00,0x20,0x00,0x00]
1553           vpmuldq 8192(%rdx), %zmm9, %zmm29
1554
1555 // CHECK: vpmuldq -8192(%rdx), %zmm9, %zmm29
1556 // CHECK:  encoding: [0x62,0x62,0xb5,0x48,0x28,0x6a,0x80]
1557           vpmuldq -8192(%rdx), %zmm9, %zmm29
1558
1559 // CHECK: vpmuldq -8256(%rdx), %zmm9, %zmm29
1560 // CHECK:  encoding: [0x62,0x62,0xb5,0x48,0x28,0xaa,0xc0,0xdf,0xff,0xff]
1561           vpmuldq -8256(%rdx), %zmm9, %zmm29
1562
1563 // CHECK: vpmuldq 1016(%rdx){1to8}, %zmm9, %zmm29
1564 // CHECK:  encoding: [0x62,0x62,0xb5,0x58,0x28,0x6a,0x7f]
1565           vpmuldq 1016(%rdx){1to8}, %zmm9, %zmm29
1566
1567 // CHECK: vpmuldq 1024(%rdx){1to8}, %zmm9, %zmm29
1568 // CHECK:  encoding: [0x62,0x62,0xb5,0x58,0x28,0xaa,0x00,0x04,0x00,0x00]
1569           vpmuldq 1024(%rdx){1to8}, %zmm9, %zmm29
1570
1571 // CHECK: vpmuldq -1024(%rdx){1to8}, %zmm9, %zmm29
1572 // CHECK:  encoding: [0x62,0x62,0xb5,0x58,0x28,0x6a,0x80]
1573           vpmuldq -1024(%rdx){1to8}, %zmm9, %zmm29
1574
1575 // CHECK: vpmuldq -1032(%rdx){1to8}, %zmm9, %zmm29
1576 // CHECK:  encoding: [0x62,0x62,0xb5,0x58,0x28,0xaa,0xf8,0xfb,0xff,0xff]
1577           vpmuldq -1032(%rdx){1to8}, %zmm9, %zmm29
1578
1579 // CHECK: vpmulld %zmm2, %zmm3, %zmm12
1580 // CHECK:  encoding: [0x62,0x72,0x65,0x48,0x40,0xe2]
1581           vpmulld %zmm2, %zmm3, %zmm12
1582
1583 // CHECK: vpmulld %zmm2, %zmm3, %zmm12 {%k6}
1584 // CHECK:  encoding: [0x62,0x72,0x65,0x4e,0x40,0xe2]
1585           vpmulld %zmm2, %zmm3, %zmm12 {%k6}
1586
1587 // CHECK: vpmulld %zmm2, %zmm3, %zmm12 {%k6} {z}
1588 // CHECK:  encoding: [0x62,0x72,0x65,0xce,0x40,0xe2]
1589           vpmulld %zmm2, %zmm3, %zmm12 {%k6} {z}
1590
1591 // CHECK: vpmulld (%rcx), %zmm3, %zmm12
1592 // CHECK:  encoding: [0x62,0x72,0x65,0x48,0x40,0x21]
1593           vpmulld (%rcx), %zmm3, %zmm12
1594
1595 // CHECK: vpmulld 291(%rax,%r14,8), %zmm3, %zmm12
1596 // CHECK:  encoding: [0x62,0x32,0x65,0x48,0x40,0xa4,0xf0,0x23,0x01,0x00,0x00]
1597           vpmulld 291(%rax,%r14,8), %zmm3, %zmm12
1598
1599 // CHECK: vpmulld (%rcx){1to16}, %zmm3, %zmm12
1600 // CHECK:  encoding: [0x62,0x72,0x65,0x58,0x40,0x21]
1601           vpmulld (%rcx){1to16}, %zmm3, %zmm12
1602
1603 // CHECK: vpmulld 8128(%rdx), %zmm3, %zmm12
1604 // CHECK:  encoding: [0x62,0x72,0x65,0x48,0x40,0x62,0x7f]
1605           vpmulld 8128(%rdx), %zmm3, %zmm12
1606
1607 // CHECK: vpmulld 8192(%rdx), %zmm3, %zmm12
1608 // CHECK:  encoding: [0x62,0x72,0x65,0x48,0x40,0xa2,0x00,0x20,0x00,0x00]
1609           vpmulld 8192(%rdx), %zmm3, %zmm12
1610
1611 // CHECK: vpmulld -8192(%rdx), %zmm3, %zmm12
1612 // CHECK:  encoding: [0x62,0x72,0x65,0x48,0x40,0x62,0x80]
1613           vpmulld -8192(%rdx), %zmm3, %zmm12
1614
1615 // CHECK: vpmulld -8256(%rdx), %zmm3, %zmm12
1616 // CHECK:  encoding: [0x62,0x72,0x65,0x48,0x40,0xa2,0xc0,0xdf,0xff,0xff]
1617           vpmulld -8256(%rdx), %zmm3, %zmm12
1618
1619 // CHECK: vpmulld 508(%rdx){1to16}, %zmm3, %zmm12
1620 // CHECK:  encoding: [0x62,0x72,0x65,0x58,0x40,0x62,0x7f]
1621           vpmulld 508(%rdx){1to16}, %zmm3, %zmm12
1622
1623 // CHECK: vpmulld 512(%rdx){1to16}, %zmm3, %zmm12
1624 // CHECK:  encoding: [0x62,0x72,0x65,0x58,0x40,0xa2,0x00,0x02,0x00,0x00]
1625           vpmulld 512(%rdx){1to16}, %zmm3, %zmm12
1626
1627 // CHECK: vpmulld -512(%rdx){1to16}, %zmm3, %zmm12
1628 // CHECK:  encoding: [0x62,0x72,0x65,0x58,0x40,0x62,0x80]
1629           vpmulld -512(%rdx){1to16}, %zmm3, %zmm12
1630
1631 // CHECK: vpmulld -516(%rdx){1to16}, %zmm3, %zmm12
1632 // CHECK:  encoding: [0x62,0x72,0x65,0x58,0x40,0xa2,0xfc,0xfd,0xff,0xff]
1633           vpmulld -516(%rdx){1to16}, %zmm3, %zmm12
1634
1635 // CHECK: vpmuludq %zmm9, %zmm5, %zmm23
1636 // CHECK:  encoding: [0x62,0xc1,0xd5,0x48,0xf4,0xf9]
1637           vpmuludq %zmm9, %zmm5, %zmm23
1638
1639 // CHECK: vpmuludq %zmm9, %zmm5, %zmm23 {%k4}
1640 // CHECK:  encoding: [0x62,0xc1,0xd5,0x4c,0xf4,0xf9]
1641           vpmuludq %zmm9, %zmm5, %zmm23 {%k4}
1642
1643 // CHECK: vpmuludq %zmm9, %zmm5, %zmm23 {%k4} {z}
1644 // CHECK:  encoding: [0x62,0xc1,0xd5,0xcc,0xf4,0xf9]
1645           vpmuludq %zmm9, %zmm5, %zmm23 {%k4} {z}
1646
1647 // CHECK: vpmuludq (%rcx), %zmm5, %zmm23
1648 // CHECK:  encoding: [0x62,0xe1,0xd5,0x48,0xf4,0x39]
1649           vpmuludq (%rcx), %zmm5, %zmm23
1650
1651 // CHECK: vpmuludq 291(%rax,%r14,8), %zmm5, %zmm23
1652 // CHECK:  encoding: [0x62,0xa1,0xd5,0x48,0xf4,0xbc,0xf0,0x23,0x01,0x00,0x00]
1653           vpmuludq 291(%rax,%r14,8), %zmm5, %zmm23
1654
1655 // CHECK: vpmuludq (%rcx){1to8}, %zmm5, %zmm23
1656 // CHECK:  encoding: [0x62,0xe1,0xd5,0x58,0xf4,0x39]
1657           vpmuludq (%rcx){1to8}, %zmm5, %zmm23
1658
1659 // CHECK: vpmuludq 8128(%rdx), %zmm5, %zmm23
1660 // CHECK:  encoding: [0x62,0xe1,0xd5,0x48,0xf4,0x7a,0x7f]
1661           vpmuludq 8128(%rdx), %zmm5, %zmm23
1662
1663 // CHECK: vpmuludq 8192(%rdx), %zmm5, %zmm23
1664 // CHECK:  encoding: [0x62,0xe1,0xd5,0x48,0xf4,0xba,0x00,0x20,0x00,0x00]
1665           vpmuludq 8192(%rdx), %zmm5, %zmm23
1666
1667 // CHECK: vpmuludq -8192(%rdx), %zmm5, %zmm23
1668 // CHECK:  encoding: [0x62,0xe1,0xd5,0x48,0xf4,0x7a,0x80]
1669           vpmuludq -8192(%rdx), %zmm5, %zmm23
1670
1671 // CHECK: vpmuludq -8256(%rdx), %zmm5, %zmm23
1672 // CHECK:  encoding: [0x62,0xe1,0xd5,0x48,0xf4,0xba,0xc0,0xdf,0xff,0xff]
1673           vpmuludq -8256(%rdx), %zmm5, %zmm23
1674
1675 // CHECK: vpmuludq 1016(%rdx){1to8}, %zmm5, %zmm23
1676 // CHECK:  encoding: [0x62,0xe1,0xd5,0x58,0xf4,0x7a,0x7f]
1677           vpmuludq 1016(%rdx){1to8}, %zmm5, %zmm23
1678
1679 // CHECK: vpmuludq 1024(%rdx){1to8}, %zmm5, %zmm23
1680 // CHECK:  encoding: [0x62,0xe1,0xd5,0x58,0xf4,0xba,0x00,0x04,0x00,0x00]
1681           vpmuludq 1024(%rdx){1to8}, %zmm5, %zmm23
1682
1683 // CHECK: vpmuludq -1024(%rdx){1to8}, %zmm5, %zmm23
1684 // CHECK:  encoding: [0x62,0xe1,0xd5,0x58,0xf4,0x7a,0x80]
1685           vpmuludq -1024(%rdx){1to8}, %zmm5, %zmm23
1686
1687 // CHECK: vpmuludq -1032(%rdx){1to8}, %zmm5, %zmm23
1688 // CHECK:  encoding: [0x62,0xe1,0xd5,0x58,0xf4,0xba,0xf8,0xfb,0xff,0xff]
1689           vpmuludq -1032(%rdx){1to8}, %zmm5, %zmm23
1690
1691 // CHECK: vpord  %zmm20, %zmm2, %zmm23
1692 // CHECK:  encoding: [0x62,0xa1,0x6d,0x48,0xeb,0xfc]
1693           vpord  %zmm20, %zmm2, %zmm23
1694
1695 // CHECK: vpord  %zmm20, %zmm2, %zmm23 {%k2}
1696 // CHECK:  encoding: [0x62,0xa1,0x6d,0x4a,0xeb,0xfc]
1697           vpord  %zmm20, %zmm2, %zmm23 {%k2}
1698
1699 // CHECK: vpord  %zmm20, %zmm2, %zmm23 {%k2} {z}
1700 // CHECK:  encoding: [0x62,0xa1,0x6d,0xca,0xeb,0xfc]
1701           vpord  %zmm20, %zmm2, %zmm23 {%k2} {z}
1702
1703 // CHECK: vpord  (%rcx), %zmm2, %zmm23
1704 // CHECK:  encoding: [0x62,0xe1,0x6d,0x48,0xeb,0x39]
1705           vpord  (%rcx), %zmm2, %zmm23
1706
1707 // CHECK: vpord  291(%rax,%r14,8), %zmm2, %zmm23
1708 // CHECK:  encoding: [0x62,0xa1,0x6d,0x48,0xeb,0xbc,0xf0,0x23,0x01,0x00,0x00]
1709           vpord  291(%rax,%r14,8), %zmm2, %zmm23
1710
1711 // CHECK: vpord  (%rcx){1to16}, %zmm2, %zmm23
1712 // CHECK:  encoding: [0x62,0xe1,0x6d,0x58,0xeb,0x39]
1713           vpord  (%rcx){1to16}, %zmm2, %zmm23
1714
1715 // CHECK: vpord  8128(%rdx), %zmm2, %zmm23
1716 // CHECK:  encoding: [0x62,0xe1,0x6d,0x48,0xeb,0x7a,0x7f]
1717           vpord  8128(%rdx), %zmm2, %zmm23
1718
1719 // CHECK: vpord  8192(%rdx), %zmm2, %zmm23
1720 // CHECK:  encoding: [0x62,0xe1,0x6d,0x48,0xeb,0xba,0x00,0x20,0x00,0x00]
1721           vpord  8192(%rdx), %zmm2, %zmm23
1722
1723 // CHECK: vpord  -8192(%rdx), %zmm2, %zmm23
1724 // CHECK:  encoding: [0x62,0xe1,0x6d,0x48,0xeb,0x7a,0x80]
1725           vpord  -8192(%rdx), %zmm2, %zmm23
1726
1727 // CHECK: vpord  -8256(%rdx), %zmm2, %zmm23
1728 // CHECK:  encoding: [0x62,0xe1,0x6d,0x48,0xeb,0xba,0xc0,0xdf,0xff,0xff]
1729           vpord  -8256(%rdx), %zmm2, %zmm23
1730
1731 // CHECK: vpord  508(%rdx){1to16}, %zmm2, %zmm23
1732 // CHECK:  encoding: [0x62,0xe1,0x6d,0x58,0xeb,0x7a,0x7f]
1733           vpord  508(%rdx){1to16}, %zmm2, %zmm23
1734
1735 // CHECK: vpord  512(%rdx){1to16}, %zmm2, %zmm23
1736 // CHECK:  encoding: [0x62,0xe1,0x6d,0x58,0xeb,0xba,0x00,0x02,0x00,0x00]
1737           vpord  512(%rdx){1to16}, %zmm2, %zmm23
1738
1739 // CHECK: vpord  -512(%rdx){1to16}, %zmm2, %zmm23
1740 // CHECK:  encoding: [0x62,0xe1,0x6d,0x58,0xeb,0x7a,0x80]
1741           vpord  -512(%rdx){1to16}, %zmm2, %zmm23
1742
1743 // CHECK: vpord  -516(%rdx){1to16}, %zmm2, %zmm23
1744 // CHECK:  encoding: [0x62,0xe1,0x6d,0x58,0xeb,0xba,0xfc,0xfd,0xff,0xff]
1745           vpord  -516(%rdx){1to16}, %zmm2, %zmm23
1746
1747 // CHECK: vporq  %zmm6, %zmm10, %zmm1
1748 // CHECK:  encoding: [0x62,0xf1,0xad,0x48,0xeb,0xce]
1749           vporq  %zmm6, %zmm10, %zmm1
1750
1751 // CHECK: vporq  %zmm6, %zmm10, %zmm1 {%k2}
1752 // CHECK:  encoding: [0x62,0xf1,0xad,0x4a,0xeb,0xce]
1753           vporq  %zmm6, %zmm10, %zmm1 {%k2}
1754
1755 // CHECK: vporq  %zmm6, %zmm10, %zmm1 {%k2} {z}
1756 // CHECK:  encoding: [0x62,0xf1,0xad,0xca,0xeb,0xce]
1757           vporq  %zmm6, %zmm10, %zmm1 {%k2} {z}
1758
1759 // CHECK: vporq  (%rcx), %zmm10, %zmm1
1760 // CHECK:  encoding: [0x62,0xf1,0xad,0x48,0xeb,0x09]
1761           vporq  (%rcx), %zmm10, %zmm1
1762
1763 // CHECK: vporq  291(%rax,%r14,8), %zmm10, %zmm1
1764 // CHECK:  encoding: [0x62,0xb1,0xad,0x48,0xeb,0x8c,0xf0,0x23,0x01,0x00,0x00]
1765           vporq  291(%rax,%r14,8), %zmm10, %zmm1
1766
1767 // CHECK: vporq  (%rcx){1to8}, %zmm10, %zmm1
1768 // CHECK:  encoding: [0x62,0xf1,0xad,0x58,0xeb,0x09]
1769           vporq  (%rcx){1to8}, %zmm10, %zmm1
1770
1771 // CHECK: vporq  8128(%rdx), %zmm10, %zmm1
1772 // CHECK:  encoding: [0x62,0xf1,0xad,0x48,0xeb,0x4a,0x7f]
1773           vporq  8128(%rdx), %zmm10, %zmm1
1774
1775 // CHECK: vporq  8192(%rdx), %zmm10, %zmm1
1776 // CHECK:  encoding: [0x62,0xf1,0xad,0x48,0xeb,0x8a,0x00,0x20,0x00,0x00]
1777           vporq  8192(%rdx), %zmm10, %zmm1
1778
1779 // CHECK: vporq  -8192(%rdx), %zmm10, %zmm1
1780 // CHECK:  encoding: [0x62,0xf1,0xad,0x48,0xeb,0x4a,0x80]
1781           vporq  -8192(%rdx), %zmm10, %zmm1
1782
1783 // CHECK: vporq  -8256(%rdx), %zmm10, %zmm1
1784 // CHECK:  encoding: [0x62,0xf1,0xad,0x48,0xeb,0x8a,0xc0,0xdf,0xff,0xff]
1785           vporq  -8256(%rdx), %zmm10, %zmm1
1786
1787 // CHECK: vporq  1016(%rdx){1to8}, %zmm10, %zmm1
1788 // CHECK:  encoding: [0x62,0xf1,0xad,0x58,0xeb,0x4a,0x7f]
1789           vporq  1016(%rdx){1to8}, %zmm10, %zmm1
1790
1791 // CHECK: vporq  1024(%rdx){1to8}, %zmm10, %zmm1
1792 // CHECK:  encoding: [0x62,0xf1,0xad,0x58,0xeb,0x8a,0x00,0x04,0x00,0x00]
1793           vporq  1024(%rdx){1to8}, %zmm10, %zmm1
1794
1795 // CHECK: vporq  -1024(%rdx){1to8}, %zmm10, %zmm1
1796 // CHECK:  encoding: [0x62,0xf1,0xad,0x58,0xeb,0x4a,0x80]
1797           vporq  -1024(%rdx){1to8}, %zmm10, %zmm1
1798
1799 // CHECK: vporq  -1032(%rdx){1to8}, %zmm10, %zmm1
1800 // CHECK:  encoding: [0x62,0xf1,0xad,0x58,0xeb,0x8a,0xf8,0xfb,0xff,0xff]
1801           vporq  -1032(%rdx){1to8}, %zmm10, %zmm1
1802
1803 // CHECK: vpsubd %zmm7, %zmm28, %zmm7
1804 // CHECK:  encoding: [0x62,0xf1,0x1d,0x40,0xfa,0xff]
1805           vpsubd %zmm7, %zmm28, %zmm7
1806
1807 // CHECK: vpsubd %zmm7, %zmm28, %zmm7 {%k3}
1808 // CHECK:  encoding: [0x62,0xf1,0x1d,0x43,0xfa,0xff]
1809           vpsubd %zmm7, %zmm28, %zmm7 {%k3}
1810
1811 // CHECK: vpsubd %zmm7, %zmm28, %zmm7 {%k3} {z}
1812 // CHECK:  encoding: [0x62,0xf1,0x1d,0xc3,0xfa,0xff]
1813           vpsubd %zmm7, %zmm28, %zmm7 {%k3} {z}
1814
1815 // CHECK: vpsubd (%rcx), %zmm28, %zmm7
1816 // CHECK:  encoding: [0x62,0xf1,0x1d,0x40,0xfa,0x39]
1817           vpsubd (%rcx), %zmm28, %zmm7
1818
1819 // CHECK: vpsubd 291(%rax,%r14,8), %zmm28, %zmm7
1820 // CHECK:  encoding: [0x62,0xb1,0x1d,0x40,0xfa,0xbc,0xf0,0x23,0x01,0x00,0x00]
1821           vpsubd 291(%rax,%r14,8), %zmm28, %zmm7
1822
1823 // CHECK: vpsubd (%rcx){1to16}, %zmm28, %zmm7
1824 // CHECK:  encoding: [0x62,0xf1,0x1d,0x50,0xfa,0x39]
1825           vpsubd (%rcx){1to16}, %zmm28, %zmm7
1826
1827 // CHECK: vpsubd 8128(%rdx), %zmm28, %zmm7
1828 // CHECK:  encoding: [0x62,0xf1,0x1d,0x40,0xfa,0x7a,0x7f]
1829           vpsubd 8128(%rdx), %zmm28, %zmm7
1830
1831 // CHECK: vpsubd 8192(%rdx), %zmm28, %zmm7
1832 // CHECK:  encoding: [0x62,0xf1,0x1d,0x40,0xfa,0xba,0x00,0x20,0x00,0x00]
1833           vpsubd 8192(%rdx), %zmm28, %zmm7
1834
1835 // CHECK: vpsubd -8192(%rdx), %zmm28, %zmm7
1836 // CHECK:  encoding: [0x62,0xf1,0x1d,0x40,0xfa,0x7a,0x80]
1837           vpsubd -8192(%rdx), %zmm28, %zmm7
1838
1839 // CHECK: vpsubd -8256(%rdx), %zmm28, %zmm7
1840 // CHECK:  encoding: [0x62,0xf1,0x1d,0x40,0xfa,0xba,0xc0,0xdf,0xff,0xff]
1841           vpsubd -8256(%rdx), %zmm28, %zmm7
1842
1843 // CHECK: vpsubd 508(%rdx){1to16}, %zmm28, %zmm7
1844 // CHECK:  encoding: [0x62,0xf1,0x1d,0x50,0xfa,0x7a,0x7f]
1845           vpsubd 508(%rdx){1to16}, %zmm28, %zmm7
1846
1847 // CHECK: vpsubd 512(%rdx){1to16}, %zmm28, %zmm7
1848 // CHECK:  encoding: [0x62,0xf1,0x1d,0x50,0xfa,0xba,0x00,0x02,0x00,0x00]
1849           vpsubd 512(%rdx){1to16}, %zmm28, %zmm7
1850
1851 // CHECK: vpsubd -512(%rdx){1to16}, %zmm28, %zmm7
1852 // CHECK:  encoding: [0x62,0xf1,0x1d,0x50,0xfa,0x7a,0x80]
1853           vpsubd -512(%rdx){1to16}, %zmm28, %zmm7
1854
1855 // CHECK: vpsubd -516(%rdx){1to16}, %zmm28, %zmm7
1856 // CHECK:  encoding: [0x62,0xf1,0x1d,0x50,0xfa,0xba,0xfc,0xfd,0xff,0xff]
1857           vpsubd -516(%rdx){1to16}, %zmm28, %zmm7
1858
1859 // CHECK: vpsubq %zmm17, %zmm28, %zmm29
1860 // CHECK:  encoding: [0x62,0x21,0x9d,0x40,0xfb,0xe9]
1861           vpsubq %zmm17, %zmm28, %zmm29
1862
1863 // CHECK: vpsubq %zmm17, %zmm28, %zmm29 {%k2}
1864 // CHECK:  encoding: [0x62,0x21,0x9d,0x42,0xfb,0xe9]
1865           vpsubq %zmm17, %zmm28, %zmm29 {%k2}
1866
1867 // CHECK: vpsubq %zmm17, %zmm28, %zmm29 {%k2} {z}
1868 // CHECK:  encoding: [0x62,0x21,0x9d,0xc2,0xfb,0xe9]
1869           vpsubq %zmm17, %zmm28, %zmm29 {%k2} {z}
1870
1871 // CHECK: vpsubq (%rcx), %zmm28, %zmm29
1872 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0xfb,0x29]
1873           vpsubq (%rcx), %zmm28, %zmm29
1874
1875 // CHECK: vpsubq 291(%rax,%r14,8), %zmm28, %zmm29
1876 // CHECK:  encoding: [0x62,0x21,0x9d,0x40,0xfb,0xac,0xf0,0x23,0x01,0x00,0x00]
1877           vpsubq 291(%rax,%r14,8), %zmm28, %zmm29
1878
1879 // CHECK: vpsubq (%rcx){1to8}, %zmm28, %zmm29
1880 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0xfb,0x29]
1881           vpsubq (%rcx){1to8}, %zmm28, %zmm29
1882
1883 // CHECK: vpsubq 8128(%rdx), %zmm28, %zmm29
1884 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0xfb,0x6a,0x7f]
1885           vpsubq 8128(%rdx), %zmm28, %zmm29
1886
1887 // CHECK: vpsubq 8192(%rdx), %zmm28, %zmm29
1888 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0xfb,0xaa,0x00,0x20,0x00,0x00]
1889           vpsubq 8192(%rdx), %zmm28, %zmm29
1890
1891 // CHECK: vpsubq -8192(%rdx), %zmm28, %zmm29
1892 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0xfb,0x6a,0x80]
1893           vpsubq -8192(%rdx), %zmm28, %zmm29
1894
1895 // CHECK: vpsubq -8256(%rdx), %zmm28, %zmm29
1896 // CHECK:  encoding: [0x62,0x61,0x9d,0x40,0xfb,0xaa,0xc0,0xdf,0xff,0xff]
1897           vpsubq -8256(%rdx), %zmm28, %zmm29
1898
1899 // CHECK: vpsubq 1016(%rdx){1to8}, %zmm28, %zmm29
1900 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0xfb,0x6a,0x7f]
1901           vpsubq 1016(%rdx){1to8}, %zmm28, %zmm29
1902
1903 // CHECK: vpsubq 1024(%rdx){1to8}, %zmm28, %zmm29
1904 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0xfb,0xaa,0x00,0x04,0x00,0x00]
1905           vpsubq 1024(%rdx){1to8}, %zmm28, %zmm29
1906
1907 // CHECK: vpsubq -1024(%rdx){1to8}, %zmm28, %zmm29
1908 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0xfb,0x6a,0x80]
1909           vpsubq -1024(%rdx){1to8}, %zmm28, %zmm29
1910
1911 // CHECK: vpsubq -1032(%rdx){1to8}, %zmm28, %zmm29
1912 // CHECK:  encoding: [0x62,0x61,0x9d,0x50,0xfb,0xaa,0xf8,0xfb,0xff,0xff]
1913           vpsubq -1032(%rdx){1to8}, %zmm28, %zmm29
1914
1915 // CHECK: vpxord %zmm24, %zmm12, %zmm8
1916 // CHECK:  encoding: [0x62,0x11,0x1d,0x48,0xef,0xc0]
1917           vpxord %zmm24, %zmm12, %zmm8
1918
1919 // CHECK: vpxord %zmm24, %zmm12, %zmm8 {%k6}
1920 // CHECK:  encoding: [0x62,0x11,0x1d,0x4e,0xef,0xc0]
1921           vpxord %zmm24, %zmm12, %zmm8 {%k6}
1922
1923 // CHECK: vpxord %zmm24, %zmm12, %zmm8 {%k6} {z}
1924 // CHECK:  encoding: [0x62,0x11,0x1d,0xce,0xef,0xc0]
1925           vpxord %zmm24, %zmm12, %zmm8 {%k6} {z}
1926
1927 // CHECK: vpxord (%rcx), %zmm12, %zmm8
1928 // CHECK:  encoding: [0x62,0x71,0x1d,0x48,0xef,0x01]
1929           vpxord (%rcx), %zmm12, %zmm8
1930
1931 // CHECK: vpxord 291(%rax,%r14,8), %zmm12, %zmm8
1932 // CHECK:  encoding: [0x62,0x31,0x1d,0x48,0xef,0x84,0xf0,0x23,0x01,0x00,0x00]
1933           vpxord 291(%rax,%r14,8), %zmm12, %zmm8
1934
1935 // CHECK: vpxord (%rcx){1to16}, %zmm12, %zmm8
1936 // CHECK:  encoding: [0x62,0x71,0x1d,0x58,0xef,0x01]
1937           vpxord (%rcx){1to16}, %zmm12, %zmm8
1938
1939 // CHECK: vpxord 8128(%rdx), %zmm12, %zmm8
1940 // CHECK:  encoding: [0x62,0x71,0x1d,0x48,0xef,0x42,0x7f]
1941           vpxord 8128(%rdx), %zmm12, %zmm8
1942
1943 // CHECK: vpxord 8192(%rdx), %zmm12, %zmm8
1944 // CHECK:  encoding: [0x62,0x71,0x1d,0x48,0xef,0x82,0x00,0x20,0x00,0x00]
1945           vpxord 8192(%rdx), %zmm12, %zmm8
1946
1947 // CHECK: vpxord -8192(%rdx), %zmm12, %zmm8
1948 // CHECK:  encoding: [0x62,0x71,0x1d,0x48,0xef,0x42,0x80]
1949           vpxord -8192(%rdx), %zmm12, %zmm8
1950
1951 // CHECK: vpxord -8256(%rdx), %zmm12, %zmm8
1952 // CHECK:  encoding: [0x62,0x71,0x1d,0x48,0xef,0x82,0xc0,0xdf,0xff,0xff]
1953           vpxord -8256(%rdx), %zmm12, %zmm8
1954
1955 // CHECK: vpxord 508(%rdx){1to16}, %zmm12, %zmm8
1956 // CHECK:  encoding: [0x62,0x71,0x1d,0x58,0xef,0x42,0x7f]
1957           vpxord 508(%rdx){1to16}, %zmm12, %zmm8
1958
1959 // CHECK: vpxord 512(%rdx){1to16}, %zmm12, %zmm8
1960 // CHECK:  encoding: [0x62,0x71,0x1d,0x58,0xef,0x82,0x00,0x02,0x00,0x00]
1961           vpxord 512(%rdx){1to16}, %zmm12, %zmm8
1962
1963 // CHECK: vpxord -512(%rdx){1to16}, %zmm12, %zmm8
1964 // CHECK:  encoding: [0x62,0x71,0x1d,0x58,0xef,0x42,0x80]
1965           vpxord -512(%rdx){1to16}, %zmm12, %zmm8
1966
1967 // CHECK: vpxord -516(%rdx){1to16}, %zmm12, %zmm8
1968 // CHECK:  encoding: [0x62,0x71,0x1d,0x58,0xef,0x82,0xfc,0xfd,0xff,0xff]
1969           vpxord -516(%rdx){1to16}, %zmm12, %zmm8
1970
1971 // CHECK: vpxorq %zmm10, %zmm22, %zmm7
1972 // CHECK:  encoding: [0x62,0xd1,0xcd,0x40,0xef,0xfa]
1973           vpxorq %zmm10, %zmm22, %zmm7
1974
1975 // CHECK: vpxorq %zmm10, %zmm22, %zmm7 {%k6}
1976 // CHECK:  encoding: [0x62,0xd1,0xcd,0x46,0xef,0xfa]
1977           vpxorq %zmm10, %zmm22, %zmm7 {%k6}
1978
1979 // CHECK: vpxorq %zmm10, %zmm22, %zmm7 {%k6} {z}
1980 // CHECK:  encoding: [0x62,0xd1,0xcd,0xc6,0xef,0xfa]
1981           vpxorq %zmm10, %zmm22, %zmm7 {%k6} {z}
1982
1983 // CHECK: vpxorq (%rcx), %zmm22, %zmm7
1984 // CHECK:  encoding: [0x62,0xf1,0xcd,0x40,0xef,0x39]
1985           vpxorq (%rcx), %zmm22, %zmm7
1986
1987 // CHECK: vpxorq 291(%rax,%r14,8), %zmm22, %zmm7
1988 // CHECK:  encoding: [0x62,0xb1,0xcd,0x40,0xef,0xbc,0xf0,0x23,0x01,0x00,0x00]
1989           vpxorq 291(%rax,%r14,8), %zmm22, %zmm7
1990
1991 // CHECK: vpxorq (%rcx){1to8}, %zmm22, %zmm7
1992 // CHECK:  encoding: [0x62,0xf1,0xcd,0x50,0xef,0x39]
1993           vpxorq (%rcx){1to8}, %zmm22, %zmm7
1994
1995 // CHECK: vpxorq 8128(%rdx), %zmm22, %zmm7
1996 // CHECK:  encoding: [0x62,0xf1,0xcd,0x40,0xef,0x7a,0x7f]
1997           vpxorq 8128(%rdx), %zmm22, %zmm7
1998
1999 // CHECK: vpxorq 8192(%rdx), %zmm22, %zmm7
2000 // CHECK:  encoding: [0x62,0xf1,0xcd,0x40,0xef,0xba,0x00,0x20,0x00,0x00]
2001           vpxorq 8192(%rdx), %zmm22, %zmm7
2002
2003 // CHECK: vpxorq -8192(%rdx), %zmm22, %zmm7
2004 // CHECK:  encoding: [0x62,0xf1,0xcd,0x40,0xef,0x7a,0x80]
2005           vpxorq -8192(%rdx), %zmm22, %zmm7
2006
2007 // CHECK: vpxorq -8256(%rdx), %zmm22, %zmm7
2008 // CHECK:  encoding: [0x62,0xf1,0xcd,0x40,0xef,0xba,0xc0,0xdf,0xff,0xff]
2009           vpxorq -8256(%rdx), %zmm22, %zmm7
2010
2011 // CHECK: vpxorq 1016(%rdx){1to8}, %zmm22, %zmm7
2012 // CHECK:  encoding: [0x62,0xf1,0xcd,0x50,0xef,0x7a,0x7f]
2013           vpxorq 1016(%rdx){1to8}, %zmm22, %zmm7
2014
2015 // CHECK: vpxorq 1024(%rdx){1to8}, %zmm22, %zmm7
2016 // CHECK:  encoding: [0x62,0xf1,0xcd,0x50,0xef,0xba,0x00,0x04,0x00,0x00]
2017           vpxorq 1024(%rdx){1to8}, %zmm22, %zmm7
2018
2019 // CHECK: vpxorq -1024(%rdx){1to8}, %zmm22, %zmm7
2020 // CHECK:  encoding: [0x62,0xf1,0xcd,0x50,0xef,0x7a,0x80]
2021           vpxorq -1024(%rdx){1to8}, %zmm22, %zmm7
2022
2023 // CHECK: vpxorq -1032(%rdx){1to8}, %zmm22, %zmm7
2024 // CHECK:  encoding: [0x62,0xf1,0xcd,0x50,0xef,0xba,0xf8,0xfb,0xff,0xff]
2025           vpxorq -1032(%rdx){1to8}, %zmm22, %zmm7
2026
2027 // CHECK: vsubpd %zmm9, %zmm12, %zmm9
2028 // CHECK:  encoding: [0x62,0x51,0x9d,0x48,0x5c,0xc9]
2029           vsubpd %zmm9, %zmm12, %zmm9
2030
2031 // CHECK: vsubpd %zmm9, %zmm12, %zmm9 {%k7}
2032 // CHECK:  encoding: [0x62,0x51,0x9d,0x4f,0x5c,0xc9]
2033           vsubpd %zmm9, %zmm12, %zmm9 {%k7}
2034
2035 // CHECK: vsubpd %zmm9, %zmm12, %zmm9 {%k7} {z}
2036 // CHECK:  encoding: [0x62,0x51,0x9d,0xcf,0x5c,0xc9]
2037           vsubpd %zmm9, %zmm12, %zmm9 {%k7} {z}
2038
2039 // CHECK: vsubpd (%rcx), %zmm12, %zmm9
2040 // CHECK:  encoding: [0x62,0x71,0x9d,0x48,0x5c,0x09]
2041           vsubpd (%rcx), %zmm12, %zmm9
2042
2043 // CHECK: vsubpd 291(%rax,%r14,8), %zmm12, %zmm9
2044 // CHECK:  encoding: [0x62,0x31,0x9d,0x48,0x5c,0x8c,0xf0,0x23,0x01,0x00,0x00]
2045           vsubpd 291(%rax,%r14,8), %zmm12, %zmm9
2046
2047 // CHECK: vsubpd (%rcx){1to8}, %zmm12, %zmm9
2048 // CHECK:  encoding: [0x62,0x71,0x9d,0x58,0x5c,0x09]
2049           vsubpd (%rcx){1to8}, %zmm12, %zmm9
2050
2051 // CHECK: vsubpd 8128(%rdx), %zmm12, %zmm9
2052 // CHECK:  encoding: [0x62,0x71,0x9d,0x48,0x5c,0x4a,0x7f]
2053           vsubpd 8128(%rdx), %zmm12, %zmm9
2054
2055 // CHECK: vsubpd 8192(%rdx), %zmm12, %zmm9
2056 // CHECK:  encoding: [0x62,0x71,0x9d,0x48,0x5c,0x8a,0x00,0x20,0x00,0x00]
2057           vsubpd 8192(%rdx), %zmm12, %zmm9
2058
2059 // CHECK: vsubpd -8256(%rdx), %zmm12, %zmm9
2060 // CHECK:  encoding: [0x62,0x71,0x9d,0x48,0x5c,0x8a,0xc0,0xdf,0xff,0xff]
2061           vsubpd -8256(%rdx), %zmm12, %zmm9
2062
2063 // CHECK: vsubpd 1016(%rdx){1to8}, %zmm12, %zmm9
2064 // CHECK:  encoding: [0x62,0x71,0x9d,0x58,0x5c,0x4a,0x7f]
2065           vsubpd 1016(%rdx){1to8}, %zmm12, %zmm9
2066
2067 // CHECK: vsubpd 1024(%rdx){1to8}, %zmm12, %zmm9
2068 // CHECK:  encoding: [0x62,0x71,0x9d,0x58,0x5c,0x8a,0x00,0x04,0x00,0x00]
2069           vsubpd 1024(%rdx){1to8}, %zmm12, %zmm9
2070
2071 // CHECK: vsubpd -1032(%rdx){1to8}, %zmm12, %zmm9
2072 // CHECK:  encoding: [0x62,0x71,0x9d,0x58,0x5c,0x8a,0xf8,0xfb,0xff,0xff]
2073           vsubpd -1032(%rdx){1to8}, %zmm12, %zmm9
2074
2075 // CHECK: vsubps %zmm21, %zmm27, %zmm14
2076 // CHECK:  encoding: [0x62,0x31,0x24,0x40,0x5c,0xf5]
2077           vsubps %zmm21, %zmm27, %zmm14
2078
2079 // CHECK: vsubps %zmm21, %zmm27, %zmm14 {%k5}
2080 // CHECK:  encoding: [0x62,0x31,0x24,0x45,0x5c,0xf5]
2081           vsubps %zmm21, %zmm27, %zmm14 {%k5}
2082
2083 // CHECK: vsubps %zmm21, %zmm27, %zmm14 {%k5} {z}
2084 // CHECK:  encoding: [0x62,0x31,0x24,0xc5,0x5c,0xf5]
2085           vsubps %zmm21, %zmm27, %zmm14 {%k5} {z}
2086
2087 // CHECK: vsubps (%rcx), %zmm27, %zmm14
2088 // CHECK:  encoding: [0x62,0x71,0x24,0x40,0x5c,0x31]
2089           vsubps (%rcx), %zmm27, %zmm14
2090
2091 // CHECK: vsubps 291(%rax,%r14,8), %zmm27, %zmm14
2092 // CHECK:  encoding: [0x62,0x31,0x24,0x40,0x5c,0xb4,0xf0,0x23,0x01,0x00,0x00]
2093           vsubps 291(%rax,%r14,8), %zmm27, %zmm14
2094
2095 // CHECK: vsubps (%rcx){1to16}, %zmm27, %zmm14
2096 // CHECK:  encoding: [0x62,0x71,0x24,0x50,0x5c,0x31]
2097           vsubps (%rcx){1to16}, %zmm27, %zmm14
2098
2099 // CHECK: vsubps 8128(%rdx), %zmm27, %zmm14
2100 // CHECK:  encoding: [0x62,0x71,0x24,0x40,0x5c,0x72,0x7f]
2101           vsubps 8128(%rdx), %zmm27, %zmm14
2102
2103 // CHECK: vsubps 8192(%rdx), %zmm27, %zmm14
2104 // CHECK:  encoding: [0x62,0x71,0x24,0x40,0x5c,0xb2,0x00,0x20,0x00,0x00]
2105           vsubps 8192(%rdx), %zmm27, %zmm14
2106
2107 // CHECK: vsubps -8256(%rdx), %zmm27, %zmm14
2108 // CHECK:  encoding: [0x62,0x71,0x24,0x40,0x5c,0xb2,0xc0,0xdf,0xff,0xff]
2109           vsubps -8256(%rdx), %zmm27, %zmm14
2110
2111 // CHECK: vsubps 508(%rdx){1to16}, %zmm27, %zmm14
2112 // CHECK:  encoding: [0x62,0x71,0x24,0x50,0x5c,0x72,0x7f]
2113           vsubps 508(%rdx){1to16}, %zmm27, %zmm14
2114
2115 // CHECK: vsubps 512(%rdx){1to16}, %zmm27, %zmm14
2116 // CHECK:  encoding: [0x62,0x71,0x24,0x50,0x5c,0xb2,0x00,0x02,0x00,0x00]
2117           vsubps 512(%rdx){1to16}, %zmm27, %zmm14
2118
2119 // CHECK: vsubps -516(%rdx){1to16}, %zmm27, %zmm14
2120 // CHECK:  encoding: [0x62,0x71,0x24,0x50,0x5c,0xb2,0xfc,0xfd,0xff,0xff]
2121           vsubps -516(%rdx){1to16}, %zmm27, %zmm14
2122
2123 // CHECK: vinserti32x4
2124 // CHECK: encoding: [0x62,0xa3,0x55,0x48,0x38,0xcd,0x01]
2125 vinserti32x4  $1, %xmm21, %zmm5, %zmm17
2126
2127 // CHECK: vinserti32x4
2128 // CHECK: encoding: [0x62,0xe3,0x1d,0x40,0x38,0x4f,0x10,0x01]
2129 vinserti32x4  $1, 256(%rdi), %zmm28, %zmm17
2130
2131 // CHECK: vextracti32x4
2132 // CHECK: encoding: [0x62,0x33,0x7d,0x48,0x39,0xc9,0x01]
2133 vextracti32x4  $1, %zmm9, %xmm17
2134
2135 // CHECK: vextracti64x4
2136 // CHECK: encoding: [0x62,0x33,0xfd,0x48,0x3b,0xc9,0x01]
2137 vextracti64x4  $1, %zmm9, %ymm17
2138
2139 // CHECK: vextracti64x4
2140 // CHECK: encoding: [0x62,0x73,0xfd,0x48,0x3b,0x4f,0x10,0x01]
2141 vextracti64x4  $1, %zmm9, 512(%rdi)
2142
2143 // CHECK: vpsrad
2144 // CHECK: encoding: [0x62,0xb1,0x35,0x40,0x72,0xe1,0x02]
2145 vpsrad $2, %zmm17, %zmm25
2146
2147 // CHECK: vpsrad
2148 // CHECK: encoding: [0x62,0xf1,0x35,0x40,0x72,0x64,0xb7,0x08,0x02]
2149 vpsrad $2, 512(%rdi, %rsi, 4), %zmm25
2150
2151 // CHECK: vpsrad
2152 // CHECK: encoding: [0x62,0x21,0x1d,0x48,0xe2,0xc9]
2153 vpsrad %xmm17, %zmm12, %zmm25
2154
2155 // CHECK: vpsrad
2156 // CHECK: encoding: [0x62,0x61,0x1d,0x48,0xe2,0x4c,0xb7,0x20]
2157 vpsrad 512(%rdi, %rsi, 4), %zmm12, %zmm25
2158
2159 // CHECK: vpbroadcastd {{.*}} {%k1} {z}
2160 // CHECK: encoding: [0x62,0xf2,0x7d,0xc9,0x58,0xc8]
2161 vpbroadcastd  %xmm0, %zmm1 {%k1} {z}
2162
2163 // CHECK: vmovdqu64 {{.*}} {%k3}
2164 // CHECK: encoding: [0x62,0xf1,0xfe,0x4b,0x7f,0x07]
2165 vmovdqu64 %zmm0, (%rdi) {%k3}
2166
2167 // CHECK: vmovdqa32 {{.*}} {%k4}
2168 // CHECK: encoding: [0x62,0x61,0x7d,0x4c,0x6f,0x1e]
2169 vmovdqa32 (%rsi), %zmm27 {%k4}
2170
2171 // CHECK: vmovd
2172 // CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x7e,0x74,0x24,0xeb]
2173 vmovd %xmm22, -84(%rsp)
2174
2175 // CHECK: vextractps
2176 // CHECK: encoding: [0x62,0xe3,0x7d,0x08,0x17,0x61,0x1f,0x02]
2177 vextractps      $2, %xmm20, 124(%rcx)
2178
2179 // CHECK: vaddpd {{.*}}{1to8}
2180 // CHECK: encoding: [0x62,0x61,0xdd,0x50,0x58,0x74,0xf7,0x40]
2181 vaddpd 512(%rdi, %rsi, 8) {1to8}, %zmm20, %zmm30
2182
2183 // CHECK: vaddps {{.*}}{1to16}
2184 // CHECK: encoding: [0x62,0x61,0x5c,0x50,0x58,0xb4,0xf7,0x00,0x02,0x00,0x00]
2185 vaddps 512(%rdi, %rsi, 8) {1to16}, %zmm20, %zmm30