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