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