AVX-512: Added VPACK* instructions forms for KNL and SKX
[oota-llvm.git] / test / MC / X86 / x86-64-avx512bw_vl.s
1 // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=knl -mattr=+avx512bw -mattr=+avx512vl  --show-encoding %s | FileCheck %s
2
3 // CHECK: vpaddb %xmm22, %xmm17, %xmm26
4 // CHECK:  encoding: [0x62,0x21,0x75,0x00,0xfc,0xd6]
5           vpaddb %xmm22, %xmm17, %xmm26
6
7 // CHECK: vpaddb %xmm22, %xmm17, %xmm26 {%k5}
8 // CHECK:  encoding: [0x62,0x21,0x75,0x05,0xfc,0xd6]
9           vpaddb %xmm22, %xmm17, %xmm26 {%k5}
10
11 // CHECK: vpaddb %xmm22, %xmm17, %xmm26 {%k5} {z}
12 // CHECK:  encoding: [0x62,0x21,0x75,0x85,0xfc,0xd6]
13           vpaddb %xmm22, %xmm17, %xmm26 {%k5} {z}
14
15 // CHECK: vpaddb (%rcx), %xmm17, %xmm26
16 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xfc,0x11]
17           vpaddb (%rcx), %xmm17, %xmm26
18
19 // CHECK: vpaddb 291(%rax,%r14,8), %xmm17, %xmm26
20 // CHECK:  encoding: [0x62,0x21,0x75,0x00,0xfc,0x94,0xf0,0x23,0x01,0x00,0x00]
21           vpaddb 291(%rax,%r14,8), %xmm17, %xmm26
22
23 // CHECK: vpaddb 2032(%rdx), %xmm17, %xmm26
24 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xfc,0x52,0x7f]
25           vpaddb 2032(%rdx), %xmm17, %xmm26
26
27 // CHECK: vpaddb 2048(%rdx), %xmm17, %xmm26
28 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xfc,0x92,0x00,0x08,0x00,0x00]
29           vpaddb 2048(%rdx), %xmm17, %xmm26
30
31 // CHECK: vpaddb -2048(%rdx), %xmm17, %xmm26
32 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xfc,0x52,0x80]
33           vpaddb -2048(%rdx), %xmm17, %xmm26
34
35 // CHECK: vpaddb -2064(%rdx), %xmm17, %xmm26
36 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xfc,0x92,0xf0,0xf7,0xff,0xff]
37           vpaddb -2064(%rdx), %xmm17, %xmm26
38
39 // CHECK: vpaddb %ymm28, %ymm27, %ymm26
40 // CHECK:  encoding: [0x62,0x01,0x25,0x20,0xfc,0xd4]
41           vpaddb %ymm28, %ymm27, %ymm26
42
43 // CHECK: vpaddb %ymm28, %ymm27, %ymm26 {%k3}
44 // CHECK:  encoding: [0x62,0x01,0x25,0x23,0xfc,0xd4]
45           vpaddb %ymm28, %ymm27, %ymm26 {%k3}
46
47 // CHECK: vpaddb %ymm28, %ymm27, %ymm26 {%k3} {z}
48 // CHECK:  encoding: [0x62,0x01,0x25,0xa3,0xfc,0xd4]
49           vpaddb %ymm28, %ymm27, %ymm26 {%k3} {z}
50
51 // CHECK: vpaddb (%rcx), %ymm27, %ymm26
52 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xfc,0x11]
53           vpaddb (%rcx), %ymm27, %ymm26
54
55 // CHECK: vpaddb 291(%rax,%r14,8), %ymm27, %ymm26
56 // CHECK:  encoding: [0x62,0x21,0x25,0x20,0xfc,0x94,0xf0,0x23,0x01,0x00,0x00]
57           vpaddb 291(%rax,%r14,8), %ymm27, %ymm26
58
59 // CHECK: vpaddb 4064(%rdx), %ymm27, %ymm26
60 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xfc,0x52,0x7f]
61           vpaddb 4064(%rdx), %ymm27, %ymm26
62
63 // CHECK: vpaddb 4096(%rdx), %ymm27, %ymm26
64 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xfc,0x92,0x00,0x10,0x00,0x00]
65           vpaddb 4096(%rdx), %ymm27, %ymm26
66
67 // CHECK: vpaddb -4096(%rdx), %ymm27, %ymm26
68 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xfc,0x52,0x80]
69           vpaddb -4096(%rdx), %ymm27, %ymm26
70
71 // CHECK: vpaddb -4128(%rdx), %ymm27, %ymm26
72 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xfc,0x92,0xe0,0xef,0xff,0xff]
73           vpaddb -4128(%rdx), %ymm27, %ymm26
74
75 // CHECK: vpaddw %xmm18, %xmm17, %xmm18
76 // CHECK:  encoding: [0x62,0xa1,0x75,0x00,0xfd,0xd2]
77           vpaddw %xmm18, %xmm17, %xmm18
78
79 // CHECK: vpaddw %xmm18, %xmm17, %xmm18 {%k1}
80 // CHECK:  encoding: [0x62,0xa1,0x75,0x01,0xfd,0xd2]
81           vpaddw %xmm18, %xmm17, %xmm18 {%k1}
82
83 // CHECK: vpaddw %xmm18, %xmm17, %xmm18 {%k1} {z}
84 // CHECK:  encoding: [0x62,0xa1,0x75,0x81,0xfd,0xd2]
85           vpaddw %xmm18, %xmm17, %xmm18 {%k1} {z}
86
87 // CHECK: vpaddw (%rcx), %xmm17, %xmm18
88 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xfd,0x11]
89           vpaddw (%rcx), %xmm17, %xmm18
90
91 // CHECK: vpaddw 291(%rax,%r14,8), %xmm17, %xmm18
92 // CHECK:  encoding: [0x62,0xa1,0x75,0x00,0xfd,0x94,0xf0,0x23,0x01,0x00,0x00]
93           vpaddw 291(%rax,%r14,8), %xmm17, %xmm18
94
95 // CHECK: vpaddw 2032(%rdx), %xmm17, %xmm18
96 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xfd,0x52,0x7f]
97           vpaddw 2032(%rdx), %xmm17, %xmm18
98
99 // CHECK: vpaddw 2048(%rdx), %xmm17, %xmm18
100 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xfd,0x92,0x00,0x08,0x00,0x00]
101           vpaddw 2048(%rdx), %xmm17, %xmm18
102
103 // CHECK: vpaddw -2048(%rdx), %xmm17, %xmm18
104 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xfd,0x52,0x80]
105           vpaddw -2048(%rdx), %xmm17, %xmm18
106
107 // CHECK: vpaddw -2064(%rdx), %xmm17, %xmm18
108 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xfd,0x92,0xf0,0xf7,0xff,0xff]
109           vpaddw -2064(%rdx), %xmm17, %xmm18
110
111 // CHECK: vpaddw %ymm26, %ymm21, %ymm23
112 // CHECK:  encoding: [0x62,0x81,0x55,0x20,0xfd,0xfa]
113           vpaddw %ymm26, %ymm21, %ymm23
114
115 // CHECK: vpaddw %ymm26, %ymm21, %ymm23 {%k7}
116 // CHECK:  encoding: [0x62,0x81,0x55,0x27,0xfd,0xfa]
117           vpaddw %ymm26, %ymm21, %ymm23 {%k7}
118
119 // CHECK: vpaddw %ymm26, %ymm21, %ymm23 {%k7} {z}
120 // CHECK:  encoding: [0x62,0x81,0x55,0xa7,0xfd,0xfa]
121           vpaddw %ymm26, %ymm21, %ymm23 {%k7} {z}
122
123 // CHECK: vpaddw (%rcx), %ymm21, %ymm23
124 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xfd,0x39]
125           vpaddw (%rcx), %ymm21, %ymm23
126
127 // CHECK: vpaddw 291(%rax,%r14,8), %ymm21, %ymm23
128 // CHECK:  encoding: [0x62,0xa1,0x55,0x20,0xfd,0xbc,0xf0,0x23,0x01,0x00,0x00]
129           vpaddw 291(%rax,%r14,8), %ymm21, %ymm23
130
131 // CHECK: vpaddw 4064(%rdx), %ymm21, %ymm23
132 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xfd,0x7a,0x7f]
133           vpaddw 4064(%rdx), %ymm21, %ymm23
134
135 // CHECK: vpaddw 4096(%rdx), %ymm21, %ymm23
136 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xfd,0xba,0x00,0x10,0x00,0x00]
137           vpaddw 4096(%rdx), %ymm21, %ymm23
138
139 // CHECK: vpaddw -4096(%rdx), %ymm21, %ymm23
140 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xfd,0x7a,0x80]
141           vpaddw -4096(%rdx), %ymm21, %ymm23
142
143 // CHECK: vpaddw -4128(%rdx), %ymm21, %ymm23
144 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xfd,0xba,0xe0,0xef,0xff,0xff]
145           vpaddw -4128(%rdx), %ymm21, %ymm23
146
147 // CHECK: vpbroadcastb %eax, %xmm22
148 // CHECK:  encoding: [0x62,0xe2,0x7d,0x08,0x7a,0xf0]
149           vpbroadcastb %eax, %xmm22
150
151 // CHECK: vpbroadcastb %eax, %xmm22 {%k3}
152 // CHECK:  encoding: [0x62,0xe2,0x7d,0x0b,0x7a,0xf0]
153           vpbroadcastb %eax, %xmm22 {%k3}
154
155 // CHECK: vpbroadcastb %eax, %xmm22 {%k3} {z}
156 // CHECK:  encoding: [0x62,0xe2,0x7d,0x8b,0x7a,0xf0]
157           vpbroadcastb %eax, %xmm22 {%k3} {z}
158
159 // CHECK: vpbroadcastb %eax, %ymm17
160 // CHECK:  encoding: [0x62,0xe2,0x7d,0x28,0x7a,0xc8]
161           vpbroadcastb %eax, %ymm17
162
163 // CHECK: vpbroadcastb %eax, %ymm17 {%k1}
164 // CHECK:  encoding: [0x62,0xe2,0x7d,0x29,0x7a,0xc8]
165           vpbroadcastb %eax, %ymm17 {%k1}
166
167 // CHECK: vpbroadcastb %eax, %ymm17 {%k1} {z}
168 // CHECK:  encoding: [0x62,0xe2,0x7d,0xa9,0x7a,0xc8]
169           vpbroadcastb %eax, %ymm17 {%k1} {z}
170
171 // CHECK: vpbroadcastw %eax, %xmm29
172 // CHECK:  encoding: [0x62,0x62,0x7d,0x08,0x7b,0xe8]
173           vpbroadcastw %eax, %xmm29
174
175 // CHECK: vpbroadcastw %eax, %xmm29 {%k1}
176 // CHECK:  encoding: [0x62,0x62,0x7d,0x09,0x7b,0xe8]
177           vpbroadcastw %eax, %xmm29 {%k1}
178
179 // CHECK: vpbroadcastw %eax, %xmm29 {%k1} {z}
180 // CHECK:  encoding: [0x62,0x62,0x7d,0x89,0x7b,0xe8]
181           vpbroadcastw %eax, %xmm29 {%k1} {z}
182
183 // CHECK: vpbroadcastw %eax, %ymm28
184 // CHECK:  encoding: [0x62,0x62,0x7d,0x28,0x7b,0xe0]
185           vpbroadcastw %eax, %ymm28
186
187 // CHECK: vpbroadcastw %eax, %ymm28 {%k4}
188 // CHECK:  encoding: [0x62,0x62,0x7d,0x2c,0x7b,0xe0]
189           vpbroadcastw %eax, %ymm28 {%k4}
190
191 // CHECK: vpbroadcastw %eax, %ymm28 {%k4} {z}
192 // CHECK:  encoding: [0x62,0x62,0x7d,0xac,0x7b,0xe0]
193           vpbroadcastw %eax, %ymm28 {%k4} {z}
194
195 // CHECK: vpcmpeqb %xmm21, %xmm21, %k4
196 // CHECK:  encoding: [0x62,0xb1,0x55,0x00,0x74,0xe5]
197           vpcmpeqb %xmm21, %xmm21, %k4
198
199 // CHECK: vpcmpeqb %xmm21, %xmm21, %k4 {%k3}
200 // CHECK:  encoding: [0x62,0xb1,0x55,0x03,0x74,0xe5]
201           vpcmpeqb %xmm21, %xmm21, %k4 {%k3}
202
203 // CHECK: vpcmpeqb (%rcx), %xmm21, %k4
204 // CHECK:  encoding: [0x62,0xf1,0x55,0x00,0x74,0x21]
205           vpcmpeqb (%rcx), %xmm21, %k4
206
207 // CHECK: vpcmpeqb 291(%rax,%r14,8), %xmm21, %k4
208 // CHECK:  encoding: [0x62,0xb1,0x55,0x00,0x74,0xa4,0xf0,0x23,0x01,0x00,0x00]
209           vpcmpeqb 291(%rax,%r14,8), %xmm21, %k4
210
211 // CHECK: vpcmpeqb 2032(%rdx), %xmm21, %k4
212 // CHECK:  encoding: [0x62,0xf1,0x55,0x00,0x74,0x62,0x7f]
213           vpcmpeqb 2032(%rdx), %xmm21, %k4
214
215 // CHECK: vpcmpeqb 2048(%rdx), %xmm21, %k4
216 // CHECK:  encoding: [0x62,0xf1,0x55,0x00,0x74,0xa2,0x00,0x08,0x00,0x00]
217           vpcmpeqb 2048(%rdx), %xmm21, %k4
218
219 // CHECK: vpcmpeqb -2048(%rdx), %xmm21, %k4
220 // CHECK:  encoding: [0x62,0xf1,0x55,0x00,0x74,0x62,0x80]
221           vpcmpeqb -2048(%rdx), %xmm21, %k4
222
223 // CHECK: vpcmpeqb -2064(%rdx), %xmm21, %k4
224 // CHECK:  encoding: [0x62,0xf1,0x55,0x00,0x74,0xa2,0xf0,0xf7,0xff,0xff]
225           vpcmpeqb -2064(%rdx), %xmm21, %k4
226
227 // CHECK: vpcmpeqb %ymm18, %ymm21, %k4
228 // CHECK:  encoding: [0x62,0xb1,0x55,0x20,0x74,0xe2]
229           vpcmpeqb %ymm18, %ymm21, %k4
230
231 // CHECK: vpcmpeqb %ymm18, %ymm21, %k4 {%k1}
232 // CHECK:  encoding: [0x62,0xb1,0x55,0x21,0x74,0xe2]
233           vpcmpeqb %ymm18, %ymm21, %k4 {%k1}
234
235 // CHECK: vpcmpeqb (%rcx), %ymm21, %k4
236 // CHECK:  encoding: [0x62,0xf1,0x55,0x20,0x74,0x21]
237           vpcmpeqb (%rcx), %ymm21, %k4
238
239 // CHECK: vpcmpeqb 291(%rax,%r14,8), %ymm21, %k4
240 // CHECK:  encoding: [0x62,0xb1,0x55,0x20,0x74,0xa4,0xf0,0x23,0x01,0x00,0x00]
241           vpcmpeqb 291(%rax,%r14,8), %ymm21, %k4
242
243 // CHECK: vpcmpeqb 4064(%rdx), %ymm21, %k4
244 // CHECK:  encoding: [0x62,0xf1,0x55,0x20,0x74,0x62,0x7f]
245           vpcmpeqb 4064(%rdx), %ymm21, %k4
246
247 // CHECK: vpcmpeqb 4096(%rdx), %ymm21, %k4
248 // CHECK:  encoding: [0x62,0xf1,0x55,0x20,0x74,0xa2,0x00,0x10,0x00,0x00]
249           vpcmpeqb 4096(%rdx), %ymm21, %k4
250
251 // CHECK: vpcmpeqb -4096(%rdx), %ymm21, %k4
252 // CHECK:  encoding: [0x62,0xf1,0x55,0x20,0x74,0x62,0x80]
253           vpcmpeqb -4096(%rdx), %ymm21, %k4
254
255 // CHECK: vpcmpeqb -4128(%rdx), %ymm21, %k4
256 // CHECK:  encoding: [0x62,0xf1,0x55,0x20,0x74,0xa2,0xe0,0xef,0xff,0xff]
257           vpcmpeqb -4128(%rdx), %ymm21, %k4
258
259 // CHECK: vpcmpeqw %xmm27, %xmm30, %k3
260 // CHECK:  encoding: [0x62,0x91,0x0d,0x00,0x75,0xdb]
261           vpcmpeqw %xmm27, %xmm30, %k3
262
263 // CHECK: vpcmpeqw %xmm27, %xmm30, %k3 {%k1}
264 // CHECK:  encoding: [0x62,0x91,0x0d,0x01,0x75,0xdb]
265           vpcmpeqw %xmm27, %xmm30, %k3 {%k1}
266
267 // CHECK: vpcmpeqw (%rcx), %xmm30, %k3
268 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x75,0x19]
269           vpcmpeqw (%rcx), %xmm30, %k3
270
271 // CHECK: vpcmpeqw 291(%rax,%r14,8), %xmm30, %k3
272 // CHECK:  encoding: [0x62,0xb1,0x0d,0x00,0x75,0x9c,0xf0,0x23,0x01,0x00,0x00]
273           vpcmpeqw 291(%rax,%r14,8), %xmm30, %k3
274
275 // CHECK: vpcmpeqw 2032(%rdx), %xmm30, %k3
276 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x75,0x5a,0x7f]
277           vpcmpeqw 2032(%rdx), %xmm30, %k3
278
279 // CHECK: vpcmpeqw 2048(%rdx), %xmm30, %k3
280 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x75,0x9a,0x00,0x08,0x00,0x00]
281           vpcmpeqw 2048(%rdx), %xmm30, %k3
282
283 // CHECK: vpcmpeqw -2048(%rdx), %xmm30, %k3
284 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x75,0x5a,0x80]
285           vpcmpeqw -2048(%rdx), %xmm30, %k3
286
287 // CHECK: vpcmpeqw -2064(%rdx), %xmm30, %k3
288 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x75,0x9a,0xf0,0xf7,0xff,0xff]
289           vpcmpeqw -2064(%rdx), %xmm30, %k3
290
291 // CHECK: vpcmpeqw %ymm29, %ymm20, %k2
292 // CHECK:  encoding: [0x62,0x91,0x5d,0x20,0x75,0xd5]
293           vpcmpeqw %ymm29, %ymm20, %k2
294
295 // CHECK: vpcmpeqw %ymm29, %ymm20, %k2 {%k5}
296 // CHECK:  encoding: [0x62,0x91,0x5d,0x25,0x75,0xd5]
297           vpcmpeqw %ymm29, %ymm20, %k2 {%k5}
298
299 // CHECK: vpcmpeqw (%rcx), %ymm20, %k2
300 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x75,0x11]
301           vpcmpeqw (%rcx), %ymm20, %k2
302
303 // CHECK: vpcmpeqw 291(%rax,%r14,8), %ymm20, %k2
304 // CHECK:  encoding: [0x62,0xb1,0x5d,0x20,0x75,0x94,0xf0,0x23,0x01,0x00,0x00]
305           vpcmpeqw 291(%rax,%r14,8), %ymm20, %k2
306
307 // CHECK: vpcmpeqw 4064(%rdx), %ymm20, %k2
308 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x75,0x52,0x7f]
309           vpcmpeqw 4064(%rdx), %ymm20, %k2
310
311 // CHECK: vpcmpeqw 4096(%rdx), %ymm20, %k2
312 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x75,0x92,0x00,0x10,0x00,0x00]
313           vpcmpeqw 4096(%rdx), %ymm20, %k2
314
315 // CHECK: vpcmpeqw -4096(%rdx), %ymm20, %k2
316 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x75,0x52,0x80]
317           vpcmpeqw -4096(%rdx), %ymm20, %k2
318
319 // CHECK: vpcmpeqw -4128(%rdx), %ymm20, %k2
320 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x75,0x92,0xe0,0xef,0xff,0xff]
321           vpcmpeqw -4128(%rdx), %ymm20, %k2
322
323 // CHECK: vpcmpgtb %xmm17, %xmm30, %k3
324 // CHECK:  encoding: [0x62,0xb1,0x0d,0x00,0x64,0xd9]
325           vpcmpgtb %xmm17, %xmm30, %k3
326
327 // CHECK: vpcmpgtb %xmm17, %xmm30, %k3 {%k7}
328 // CHECK:  encoding: [0x62,0xb1,0x0d,0x07,0x64,0xd9]
329           vpcmpgtb %xmm17, %xmm30, %k3 {%k7}
330
331 // CHECK: vpcmpgtb (%rcx), %xmm30, %k3
332 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x64,0x19]
333           vpcmpgtb (%rcx), %xmm30, %k3
334
335 // CHECK: vpcmpgtb 291(%rax,%r14,8), %xmm30, %k3
336 // CHECK:  encoding: [0x62,0xb1,0x0d,0x00,0x64,0x9c,0xf0,0x23,0x01,0x00,0x00]
337           vpcmpgtb 291(%rax,%r14,8), %xmm30, %k3
338
339 // CHECK: vpcmpgtb 2032(%rdx), %xmm30, %k3
340 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x64,0x5a,0x7f]
341           vpcmpgtb 2032(%rdx), %xmm30, %k3
342
343 // CHECK: vpcmpgtb 2048(%rdx), %xmm30, %k3
344 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x64,0x9a,0x00,0x08,0x00,0x00]
345           vpcmpgtb 2048(%rdx), %xmm30, %k3
346
347 // CHECK: vpcmpgtb -2048(%rdx), %xmm30, %k3
348 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x64,0x5a,0x80]
349           vpcmpgtb -2048(%rdx), %xmm30, %k3
350
351 // CHECK: vpcmpgtb -2064(%rdx), %xmm30, %k3
352 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x64,0x9a,0xf0,0xf7,0xff,0xff]
353           vpcmpgtb -2064(%rdx), %xmm30, %k3
354
355 // CHECK: vpcmpgtb %ymm17, %ymm17, %k2
356 // CHECK:  encoding: [0x62,0xb1,0x75,0x20,0x64,0xd1]
357           vpcmpgtb %ymm17, %ymm17, %k2
358
359 // CHECK: vpcmpgtb %ymm17, %ymm17, %k2 {%k4}
360 // CHECK:  encoding: [0x62,0xb1,0x75,0x24,0x64,0xd1]
361           vpcmpgtb %ymm17, %ymm17, %k2 {%k4}
362
363 // CHECK: vpcmpgtb (%rcx), %ymm17, %k2
364 // CHECK:  encoding: [0x62,0xf1,0x75,0x20,0x64,0x11]
365           vpcmpgtb (%rcx), %ymm17, %k2
366
367 // CHECK: vpcmpgtb 291(%rax,%r14,8), %ymm17, %k2
368 // CHECK:  encoding: [0x62,0xb1,0x75,0x20,0x64,0x94,0xf0,0x23,0x01,0x00,0x00]
369           vpcmpgtb 291(%rax,%r14,8), %ymm17, %k2
370
371 // CHECK: vpcmpgtb 4064(%rdx), %ymm17, %k2
372 // CHECK:  encoding: [0x62,0xf1,0x75,0x20,0x64,0x52,0x7f]
373           vpcmpgtb 4064(%rdx), %ymm17, %k2
374
375 // CHECK: vpcmpgtb 4096(%rdx), %ymm17, %k2
376 // CHECK:  encoding: [0x62,0xf1,0x75,0x20,0x64,0x92,0x00,0x10,0x00,0x00]
377           vpcmpgtb 4096(%rdx), %ymm17, %k2
378
379 // CHECK: vpcmpgtb -4096(%rdx), %ymm17, %k2
380 // CHECK:  encoding: [0x62,0xf1,0x75,0x20,0x64,0x52,0x80]
381           vpcmpgtb -4096(%rdx), %ymm17, %k2
382
383 // CHECK: vpcmpgtb -4128(%rdx), %ymm17, %k2
384 // CHECK:  encoding: [0x62,0xf1,0x75,0x20,0x64,0x92,0xe0,0xef,0xff,0xff]
385           vpcmpgtb -4128(%rdx), %ymm17, %k2
386
387 // CHECK: vpcmpgtw %xmm22, %xmm28, %k2
388 // CHECK:  encoding: [0x62,0xb1,0x1d,0x00,0x65,0xd6]
389           vpcmpgtw %xmm22, %xmm28, %k2
390
391 // CHECK: vpcmpgtw %xmm22, %xmm28, %k2 {%k7}
392 // CHECK:  encoding: [0x62,0xb1,0x1d,0x07,0x65,0xd6]
393           vpcmpgtw %xmm22, %xmm28, %k2 {%k7}
394
395 // CHECK: vpcmpgtw (%rcx), %xmm28, %k2
396 // CHECK:  encoding: [0x62,0xf1,0x1d,0x00,0x65,0x11]
397           vpcmpgtw (%rcx), %xmm28, %k2
398
399 // CHECK: vpcmpgtw 291(%rax,%r14,8), %xmm28, %k2
400 // CHECK:  encoding: [0x62,0xb1,0x1d,0x00,0x65,0x94,0xf0,0x23,0x01,0x00,0x00]
401           vpcmpgtw 291(%rax,%r14,8), %xmm28, %k2
402
403 // CHECK: vpcmpgtw 2032(%rdx), %xmm28, %k2
404 // CHECK:  encoding: [0x62,0xf1,0x1d,0x00,0x65,0x52,0x7f]
405           vpcmpgtw 2032(%rdx), %xmm28, %k2
406
407 // CHECK: vpcmpgtw 2048(%rdx), %xmm28, %k2
408 // CHECK:  encoding: [0x62,0xf1,0x1d,0x00,0x65,0x92,0x00,0x08,0x00,0x00]
409           vpcmpgtw 2048(%rdx), %xmm28, %k2
410
411 // CHECK: vpcmpgtw -2048(%rdx), %xmm28, %k2
412 // CHECK:  encoding: [0x62,0xf1,0x1d,0x00,0x65,0x52,0x80]
413           vpcmpgtw -2048(%rdx), %xmm28, %k2
414
415 // CHECK: vpcmpgtw -2064(%rdx), %xmm28, %k2
416 // CHECK:  encoding: [0x62,0xf1,0x1d,0x00,0x65,0x92,0xf0,0xf7,0xff,0xff]
417           vpcmpgtw -2064(%rdx), %xmm28, %k2
418
419 // CHECK: vpcmpgtw %ymm26, %ymm20, %k5
420 // CHECK:  encoding: [0x62,0x91,0x5d,0x20,0x65,0xea]
421           vpcmpgtw %ymm26, %ymm20, %k5
422
423 // CHECK: vpcmpgtw %ymm26, %ymm20, %k5 {%k2}
424 // CHECK:  encoding: [0x62,0x91,0x5d,0x22,0x65,0xea]
425           vpcmpgtw %ymm26, %ymm20, %k5 {%k2}
426
427 // CHECK: vpcmpgtw (%rcx), %ymm20, %k5
428 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x65,0x29]
429           vpcmpgtw (%rcx), %ymm20, %k5
430
431 // CHECK: vpcmpgtw 291(%rax,%r14,8), %ymm20, %k5
432 // CHECK:  encoding: [0x62,0xb1,0x5d,0x20,0x65,0xac,0xf0,0x23,0x01,0x00,0x00]
433           vpcmpgtw 291(%rax,%r14,8), %ymm20, %k5
434
435 // CHECK: vpcmpgtw 4064(%rdx), %ymm20, %k5
436 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x65,0x6a,0x7f]
437           vpcmpgtw 4064(%rdx), %ymm20, %k5
438
439 // CHECK: vpcmpgtw 4096(%rdx), %ymm20, %k5
440 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x65,0xaa,0x00,0x10,0x00,0x00]
441           vpcmpgtw 4096(%rdx), %ymm20, %k5
442
443 // CHECK: vpcmpgtw -4096(%rdx), %ymm20, %k5
444 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x65,0x6a,0x80]
445           vpcmpgtw -4096(%rdx), %ymm20, %k5
446
447 // CHECK: vpcmpgtw -4128(%rdx), %ymm20, %k5
448 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x65,0xaa,0xe0,0xef,0xff,0xff]
449           vpcmpgtw -4128(%rdx), %ymm20, %k5
450
451 // CHECK: vpcmpb $171, %xmm17, %xmm30, %k3
452 // CHECK:  encoding: [0x62,0xb3,0x0d,0x00,0x3f,0xd9,0xab]
453           vpcmpb $171, %xmm17, %xmm30, %k3
454
455 // CHECK: vpcmpb $171, %xmm17, %xmm30, %k3 {%k1}
456 // CHECK:  encoding: [0x62,0xb3,0x0d,0x01,0x3f,0xd9,0xab]
457           vpcmpb $171, %xmm17, %xmm30, %k3 {%k1}
458
459 // CHECK: vpcmpb $123, %xmm17, %xmm30, %k3
460 // CHECK:  encoding: [0x62,0xb3,0x0d,0x00,0x3f,0xd9,0x7b]
461           vpcmpb $123, %xmm17, %xmm30, %k3
462
463 // CHECK: vpcmpb $123, (%rcx), %xmm30, %k3
464 // CHECK:  encoding: [0x62,0xf3,0x0d,0x00,0x3f,0x19,0x7b]
465           vpcmpb $123, (%rcx), %xmm30, %k3
466
467 // CHECK: vpcmpb $123, 291(%rax,%r14,8), %xmm30, %k3
468 // CHECK:  encoding: [0x62,0xb3,0x0d,0x00,0x3f,0x9c,0xf0,0x23,0x01,0x00,0x00,0x7b]
469           vpcmpb $123, 291(%rax,%r14,8), %xmm30, %k3
470
471 // CHECK: vpcmpb $123, 2032(%rdx), %xmm30, %k3
472 // CHECK:  encoding: [0x62,0xf3,0x0d,0x00,0x3f,0x5a,0x7f,0x7b]
473           vpcmpb $123, 2032(%rdx), %xmm30, %k3
474
475 // CHECK: vpcmpb $123, 2048(%rdx), %xmm30, %k3
476 // CHECK:  encoding: [0x62,0xf3,0x0d,0x00,0x3f,0x9a,0x00,0x08,0x00,0x00,0x7b]
477           vpcmpb $123, 2048(%rdx), %xmm30, %k3
478
479 // CHECK: vpcmpb $123, -2048(%rdx), %xmm30, %k3
480 // CHECK:  encoding: [0x62,0xf3,0x0d,0x00,0x3f,0x5a,0x80,0x7b]
481           vpcmpb $123, -2048(%rdx), %xmm30, %k3
482
483 // CHECK: vpcmpb $123, -2064(%rdx), %xmm30, %k3
484 // CHECK:  encoding: [0x62,0xf3,0x0d,0x00,0x3f,0x9a,0xf0,0xf7,0xff,0xff,0x7b]
485           vpcmpb $123, -2064(%rdx), %xmm30, %k3
486
487 // CHECK: vpcmpb $171, %ymm19, %ymm19, %k5
488 // CHECK:  encoding: [0x62,0xb3,0x65,0x20,0x3f,0xeb,0xab]
489           vpcmpb $171, %ymm19, %ymm19, %k5
490
491 // CHECK: vpcmpb $171, %ymm19, %ymm19, %k5 {%k4}
492 // CHECK:  encoding: [0x62,0xb3,0x65,0x24,0x3f,0xeb,0xab]
493           vpcmpb $171, %ymm19, %ymm19, %k5 {%k4}
494
495 // CHECK: vpcmpb $123, %ymm19, %ymm19, %k5
496 // CHECK:  encoding: [0x62,0xb3,0x65,0x20,0x3f,0xeb,0x7b]
497           vpcmpb $123, %ymm19, %ymm19, %k5
498
499 // CHECK: vpcmpb $123, (%rcx), %ymm19, %k5
500 // CHECK:  encoding: [0x62,0xf3,0x65,0x20,0x3f,0x29,0x7b]
501           vpcmpb $123, (%rcx), %ymm19, %k5
502
503 // CHECK: vpcmpb $123, 291(%rax,%r14,8), %ymm19, %k5
504 // CHECK:  encoding: [0x62,0xb3,0x65,0x20,0x3f,0xac,0xf0,0x23,0x01,0x00,0x00,0x7b]
505           vpcmpb $123, 291(%rax,%r14,8), %ymm19, %k5
506
507 // CHECK: vpcmpb $123, 4064(%rdx), %ymm19, %k5
508 // CHECK:  encoding: [0x62,0xf3,0x65,0x20,0x3f,0x6a,0x7f,0x7b]
509           vpcmpb $123, 4064(%rdx), %ymm19, %k5
510
511 // CHECK: vpcmpb $123, 4096(%rdx), %ymm19, %k5
512 // CHECK:  encoding: [0x62,0xf3,0x65,0x20,0x3f,0xaa,0x00,0x10,0x00,0x00,0x7b]
513           vpcmpb $123, 4096(%rdx), %ymm19, %k5
514
515 // CHECK: vpcmpb $123, -4096(%rdx), %ymm19, %k5
516 // CHECK:  encoding: [0x62,0xf3,0x65,0x20,0x3f,0x6a,0x80,0x7b]
517           vpcmpb $123, -4096(%rdx), %ymm19, %k5
518
519 // CHECK: vpcmpb $123, -4128(%rdx), %ymm19, %k5
520 // CHECK:  encoding: [0x62,0xf3,0x65,0x20,0x3f,0xaa,0xe0,0xef,0xff,0xff,0x7b]
521           vpcmpb $123, -4128(%rdx), %ymm19, %k5
522
523 // CHECK: vpcmpw $171, %xmm22, %xmm30, %k3
524 // CHECK:  encoding: [0x62,0xb3,0x8d,0x00,0x3f,0xde,0xab]
525           vpcmpw $171, %xmm22, %xmm30, %k3
526
527 // CHECK: vpcmpw $171, %xmm22, %xmm30, %k3 {%k6}
528 // CHECK:  encoding: [0x62,0xb3,0x8d,0x06,0x3f,0xde,0xab]
529           vpcmpw $171, %xmm22, %xmm30, %k3 {%k6}
530
531 // CHECK: vpcmpw $123, %xmm22, %xmm30, %k3
532 // CHECK:  encoding: [0x62,0xb3,0x8d,0x00,0x3f,0xde,0x7b]
533           vpcmpw $123, %xmm22, %xmm30, %k3
534
535 // CHECK: vpcmpw $123, (%rcx), %xmm30, %k3
536 // CHECK:  encoding: [0x62,0xf3,0x8d,0x00,0x3f,0x19,0x7b]
537           vpcmpw $123, (%rcx), %xmm30, %k3
538
539 // CHECK: vpcmpw $123, 291(%rax,%r14,8), %xmm30, %k3
540 // CHECK:  encoding: [0x62,0xb3,0x8d,0x00,0x3f,0x9c,0xf0,0x23,0x01,0x00,0x00,0x7b]
541           vpcmpw $123, 291(%rax,%r14,8), %xmm30, %k3
542
543 // CHECK: vpcmpw $123, 2032(%rdx), %xmm30, %k3
544 // CHECK:  encoding: [0x62,0xf3,0x8d,0x00,0x3f,0x5a,0x7f,0x7b]
545           vpcmpw $123, 2032(%rdx), %xmm30, %k3
546
547 // CHECK: vpcmpw $123, 2048(%rdx), %xmm30, %k3
548 // CHECK:  encoding: [0x62,0xf3,0x8d,0x00,0x3f,0x9a,0x00,0x08,0x00,0x00,0x7b]
549           vpcmpw $123, 2048(%rdx), %xmm30, %k3
550
551 // CHECK: vpcmpw $123, -2048(%rdx), %xmm30, %k3
552 // CHECK:  encoding: [0x62,0xf3,0x8d,0x00,0x3f,0x5a,0x80,0x7b]
553           vpcmpw $123, -2048(%rdx), %xmm30, %k3
554
555 // CHECK: vpcmpw $123, -2064(%rdx), %xmm30, %k3
556 // CHECK:  encoding: [0x62,0xf3,0x8d,0x00,0x3f,0x9a,0xf0,0xf7,0xff,0xff,0x7b]
557           vpcmpw $123, -2064(%rdx), %xmm30, %k3
558
559 // CHECK: vpcmpw $171, %ymm18, %ymm26, %k3
560 // CHECK:  encoding: [0x62,0xb3,0xad,0x20,0x3f,0xda,0xab]
561           vpcmpw $171, %ymm18, %ymm26, %k3
562
563 // CHECK: vpcmpw $171, %ymm18, %ymm26, %k3 {%k3}
564 // CHECK:  encoding: [0x62,0xb3,0xad,0x23,0x3f,0xda,0xab]
565           vpcmpw $171, %ymm18, %ymm26, %k3 {%k3}
566
567 // CHECK: vpcmpw $123, %ymm18, %ymm26, %k3
568 // CHECK:  encoding: [0x62,0xb3,0xad,0x20,0x3f,0xda,0x7b]
569           vpcmpw $123, %ymm18, %ymm26, %k3
570
571 // CHECK: vpcmpw $123, (%rcx), %ymm26, %k3
572 // CHECK:  encoding: [0x62,0xf3,0xad,0x20,0x3f,0x19,0x7b]
573           vpcmpw $123, (%rcx), %ymm26, %k3
574
575 // CHECK: vpcmpw $123, 291(%rax,%r14,8), %ymm26, %k3
576 // CHECK:  encoding: [0x62,0xb3,0xad,0x20,0x3f,0x9c,0xf0,0x23,0x01,0x00,0x00,0x7b]
577           vpcmpw $123, 291(%rax,%r14,8), %ymm26, %k3
578
579 // CHECK: vpcmpw $123, 4064(%rdx), %ymm26, %k3
580 // CHECK:  encoding: [0x62,0xf3,0xad,0x20,0x3f,0x5a,0x7f,0x7b]
581           vpcmpw $123, 4064(%rdx), %ymm26, %k3
582
583 // CHECK: vpcmpw $123, 4096(%rdx), %ymm26, %k3
584 // CHECK:  encoding: [0x62,0xf3,0xad,0x20,0x3f,0x9a,0x00,0x10,0x00,0x00,0x7b]
585           vpcmpw $123, 4096(%rdx), %ymm26, %k3
586
587 // CHECK: vpcmpw $123, -4096(%rdx), %ymm26, %k3
588 // CHECK:  encoding: [0x62,0xf3,0xad,0x20,0x3f,0x5a,0x80,0x7b]
589           vpcmpw $123, -4096(%rdx), %ymm26, %k3
590
591 // CHECK: vpcmpw $123, -4128(%rdx), %ymm26, %k3
592 // CHECK:  encoding: [0x62,0xf3,0xad,0x20,0x3f,0x9a,0xe0,0xef,0xff,0xff,0x7b]
593           vpcmpw $123, -4128(%rdx), %ymm26, %k3
594
595 // CHECK: vpcmpub $171, %xmm21, %xmm22, %k5
596 // CHECK:  encoding: [0x62,0xb3,0x4d,0x00,0x3e,0xed,0xab]
597           vpcmpub $171, %xmm21, %xmm22, %k5
598
599 // CHECK: vpcmpub $171, %xmm21, %xmm22, %k5 {%k3}
600 // CHECK:  encoding: [0x62,0xb3,0x4d,0x03,0x3e,0xed,0xab]
601           vpcmpub $171, %xmm21, %xmm22, %k5 {%k3}
602
603 // CHECK: vpcmpub $123, %xmm21, %xmm22, %k5
604 // CHECK:  encoding: [0x62,0xb3,0x4d,0x00,0x3e,0xed,0x7b]
605           vpcmpub $123, %xmm21, %xmm22, %k5
606
607 // CHECK: vpcmpub $123, (%rcx), %xmm22, %k5
608 // CHECK:  encoding: [0x62,0xf3,0x4d,0x00,0x3e,0x29,0x7b]
609           vpcmpub $123, (%rcx), %xmm22, %k5
610
611 // CHECK: vpcmpub $123, 291(%rax,%r14,8), %xmm22, %k5
612 // CHECK:  encoding: [0x62,0xb3,0x4d,0x00,0x3e,0xac,0xf0,0x23,0x01,0x00,0x00,0x7b]
613           vpcmpub $123, 291(%rax,%r14,8), %xmm22, %k5
614
615 // CHECK: vpcmpub $123, 2032(%rdx), %xmm22, %k5
616 // CHECK:  encoding: [0x62,0xf3,0x4d,0x00,0x3e,0x6a,0x7f,0x7b]
617           vpcmpub $123, 2032(%rdx), %xmm22, %k5
618
619 // CHECK: vpcmpub $123, 2048(%rdx), %xmm22, %k5
620 // CHECK:  encoding: [0x62,0xf3,0x4d,0x00,0x3e,0xaa,0x00,0x08,0x00,0x00,0x7b]
621           vpcmpub $123, 2048(%rdx), %xmm22, %k5
622
623 // CHECK: vpcmpub $123, -2048(%rdx), %xmm22, %k5
624 // CHECK:  encoding: [0x62,0xf3,0x4d,0x00,0x3e,0x6a,0x80,0x7b]
625           vpcmpub $123, -2048(%rdx), %xmm22, %k5
626
627 // CHECK: vpcmpub $123, -2064(%rdx), %xmm22, %k5
628 // CHECK:  encoding: [0x62,0xf3,0x4d,0x00,0x3e,0xaa,0xf0,0xf7,0xff,0xff,0x7b]
629           vpcmpub $123, -2064(%rdx), %xmm22, %k5
630
631 // CHECK: vpcmpub $171, %ymm21, %ymm23, %k2
632 // CHECK:  encoding: [0x62,0xb3,0x45,0x20,0x3e,0xd5,0xab]
633           vpcmpub $171, %ymm21, %ymm23, %k2
634
635 // CHECK: vpcmpub $171, %ymm21, %ymm23, %k2 {%k2}
636 // CHECK:  encoding: [0x62,0xb3,0x45,0x22,0x3e,0xd5,0xab]
637           vpcmpub $171, %ymm21, %ymm23, %k2 {%k2}
638
639 // CHECK: vpcmpub $123, %ymm21, %ymm23, %k2
640 // CHECK:  encoding: [0x62,0xb3,0x45,0x20,0x3e,0xd5,0x7b]
641           vpcmpub $123, %ymm21, %ymm23, %k2
642
643 // CHECK: vpcmpub $123, (%rcx), %ymm23, %k2
644 // CHECK:  encoding: [0x62,0xf3,0x45,0x20,0x3e,0x11,0x7b]
645           vpcmpub $123, (%rcx), %ymm23, %k2
646
647 // CHECK: vpcmpub $123, 291(%rax,%r14,8), %ymm23, %k2
648 // CHECK:  encoding: [0x62,0xb3,0x45,0x20,0x3e,0x94,0xf0,0x23,0x01,0x00,0x00,0x7b]
649           vpcmpub $123, 291(%rax,%r14,8), %ymm23, %k2
650
651 // CHECK: vpcmpub $123, 4064(%rdx), %ymm23, %k2
652 // CHECK:  encoding: [0x62,0xf3,0x45,0x20,0x3e,0x52,0x7f,0x7b]
653           vpcmpub $123, 4064(%rdx), %ymm23, %k2
654
655 // CHECK: vpcmpub $123, 4096(%rdx), %ymm23, %k2
656 // CHECK:  encoding: [0x62,0xf3,0x45,0x20,0x3e,0x92,0x00,0x10,0x00,0x00,0x7b]
657           vpcmpub $123, 4096(%rdx), %ymm23, %k2
658
659 // CHECK: vpcmpub $123, -4096(%rdx), %ymm23, %k2
660 // CHECK:  encoding: [0x62,0xf3,0x45,0x20,0x3e,0x52,0x80,0x7b]
661           vpcmpub $123, -4096(%rdx), %ymm23, %k2
662
663 // CHECK: vpcmpub $123, -4128(%rdx), %ymm23, %k2
664 // CHECK:  encoding: [0x62,0xf3,0x45,0x20,0x3e,0x92,0xe0,0xef,0xff,0xff,0x7b]
665           vpcmpub $123, -4128(%rdx), %ymm23, %k2
666
667 // CHECK: vpcmpuw $171, %xmm17, %xmm28, %k5
668 // CHECK:  encoding: [0x62,0xb3,0x9d,0x00,0x3e,0xe9,0xab]
669           vpcmpuw $171, %xmm17, %xmm28, %k5
670
671 // CHECK: vpcmpuw $171, %xmm17, %xmm28, %k5 {%k4}
672 // CHECK:  encoding: [0x62,0xb3,0x9d,0x04,0x3e,0xe9,0xab]
673           vpcmpuw $171, %xmm17, %xmm28, %k5 {%k4}
674
675 // CHECK: vpcmpuw $123, %xmm17, %xmm28, %k5
676 // CHECK:  encoding: [0x62,0xb3,0x9d,0x00,0x3e,0xe9,0x7b]
677           vpcmpuw $123, %xmm17, %xmm28, %k5
678
679 // CHECK: vpcmpuw $123, (%rcx), %xmm28, %k5
680 // CHECK:  encoding: [0x62,0xf3,0x9d,0x00,0x3e,0x29,0x7b]
681           vpcmpuw $123, (%rcx), %xmm28, %k5
682
683 // CHECK: vpcmpuw $123, 291(%rax,%r14,8), %xmm28, %k5
684 // CHECK:  encoding: [0x62,0xb3,0x9d,0x00,0x3e,0xac,0xf0,0x23,0x01,0x00,0x00,0x7b]
685           vpcmpuw $123, 291(%rax,%r14,8), %xmm28, %k5
686
687 // CHECK: vpcmpuw $123, 2032(%rdx), %xmm28, %k5
688 // CHECK:  encoding: [0x62,0xf3,0x9d,0x00,0x3e,0x6a,0x7f,0x7b]
689           vpcmpuw $123, 2032(%rdx), %xmm28, %k5
690
691 // CHECK: vpcmpuw $123, 2048(%rdx), %xmm28, %k5
692 // CHECK:  encoding: [0x62,0xf3,0x9d,0x00,0x3e,0xaa,0x00,0x08,0x00,0x00,0x7b]
693           vpcmpuw $123, 2048(%rdx), %xmm28, %k5
694
695 // CHECK: vpcmpuw $123, -2048(%rdx), %xmm28, %k5
696 // CHECK:  encoding: [0x62,0xf3,0x9d,0x00,0x3e,0x6a,0x80,0x7b]
697           vpcmpuw $123, -2048(%rdx), %xmm28, %k5
698
699 // CHECK: vpcmpuw $123, -2064(%rdx), %xmm28, %k5
700 // CHECK:  encoding: [0x62,0xf3,0x9d,0x00,0x3e,0xaa,0xf0,0xf7,0xff,0xff,0x7b]
701           vpcmpuw $123, -2064(%rdx), %xmm28, %k5
702
703 // CHECK: vpcmpuw $171, %ymm28, %ymm27, %k4
704 // CHECK:  encoding: [0x62,0x93,0xa5,0x20,0x3e,0xe4,0xab]
705           vpcmpuw $171, %ymm28, %ymm27, %k4
706
707 // CHECK: vpcmpuw $171, %ymm28, %ymm27, %k4 {%k2}
708 // CHECK:  encoding: [0x62,0x93,0xa5,0x22,0x3e,0xe4,0xab]
709           vpcmpuw $171, %ymm28, %ymm27, %k4 {%k2}
710
711 // CHECK: vpcmpuw $123, %ymm28, %ymm27, %k4
712 // CHECK:  encoding: [0x62,0x93,0xa5,0x20,0x3e,0xe4,0x7b]
713           vpcmpuw $123, %ymm28, %ymm27, %k4
714
715 // CHECK: vpcmpuw $123, (%rcx), %ymm27, %k4
716 // CHECK:  encoding: [0x62,0xf3,0xa5,0x20,0x3e,0x21,0x7b]
717           vpcmpuw $123, (%rcx), %ymm27, %k4
718
719 // CHECK: vpcmpuw $123, 291(%rax,%r14,8), %ymm27, %k4
720 // CHECK:  encoding: [0x62,0xb3,0xa5,0x20,0x3e,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b]
721           vpcmpuw $123, 291(%rax,%r14,8), %ymm27, %k4
722
723 // CHECK: vpcmpuw $123, 4064(%rdx), %ymm27, %k4
724 // CHECK:  encoding: [0x62,0xf3,0xa5,0x20,0x3e,0x62,0x7f,0x7b]
725           vpcmpuw $123, 4064(%rdx), %ymm27, %k4
726
727 // CHECK: vpcmpuw $123, 4096(%rdx), %ymm27, %k4
728 // CHECK:  encoding: [0x62,0xf3,0xa5,0x20,0x3e,0xa2,0x00,0x10,0x00,0x00,0x7b]
729           vpcmpuw $123, 4096(%rdx), %ymm27, %k4
730
731 // CHECK: vpcmpuw $123, -4096(%rdx), %ymm27, %k4
732 // CHECK:  encoding: [0x62,0xf3,0xa5,0x20,0x3e,0x62,0x80,0x7b]
733           vpcmpuw $123, -4096(%rdx), %ymm27, %k4
734
735 // CHECK: vpcmpuw $123, -4128(%rdx), %ymm27, %k4
736 // CHECK:  encoding: [0x62,0xf3,0xa5,0x20,0x3e,0xa2,0xe0,0xef,0xff,0xff,0x7b]
737           vpcmpuw $123, -4128(%rdx), %ymm27, %k4
738
739 // CHECK: vpmaxsb %xmm17, %xmm24, %xmm23
740 // CHECK:  encoding: [0x62,0xa2,0x3d,0x00,0x3c,0xf9]
741           vpmaxsb %xmm17, %xmm24, %xmm23
742
743 // CHECK: vpmaxsb %xmm17, %xmm24, %xmm23 {%k3}
744 // CHECK:  encoding: [0x62,0xa2,0x3d,0x03,0x3c,0xf9]
745           vpmaxsb %xmm17, %xmm24, %xmm23 {%k3}
746
747 // CHECK: vpmaxsb %xmm17, %xmm24, %xmm23 {%k3} {z}
748 // CHECK:  encoding: [0x62,0xa2,0x3d,0x83,0x3c,0xf9]
749           vpmaxsb %xmm17, %xmm24, %xmm23 {%k3} {z}
750
751 // CHECK: vpmaxsb (%rcx), %xmm24, %xmm23
752 // CHECK:  encoding: [0x62,0xe2,0x3d,0x00,0x3c,0x39]
753           vpmaxsb (%rcx), %xmm24, %xmm23
754
755 // CHECK: vpmaxsb 291(%rax,%r14,8), %xmm24, %xmm23
756 // CHECK:  encoding: [0x62,0xa2,0x3d,0x00,0x3c,0xbc,0xf0,0x23,0x01,0x00,0x00]
757           vpmaxsb 291(%rax,%r14,8), %xmm24, %xmm23
758
759 // CHECK: vpmaxsb 2032(%rdx), %xmm24, %xmm23
760 // CHECK:  encoding: [0x62,0xe2,0x3d,0x00,0x3c,0x7a,0x7f]
761           vpmaxsb 2032(%rdx), %xmm24, %xmm23
762
763 // CHECK: vpmaxsb 2048(%rdx), %xmm24, %xmm23
764 // CHECK:  encoding: [0x62,0xe2,0x3d,0x00,0x3c,0xba,0x00,0x08,0x00,0x00]
765           vpmaxsb 2048(%rdx), %xmm24, %xmm23
766
767 // CHECK: vpmaxsb -2048(%rdx), %xmm24, %xmm23
768 // CHECK:  encoding: [0x62,0xe2,0x3d,0x00,0x3c,0x7a,0x80]
769           vpmaxsb -2048(%rdx), %xmm24, %xmm23
770
771 // CHECK: vpmaxsb -2064(%rdx), %xmm24, %xmm23
772 // CHECK:  encoding: [0x62,0xe2,0x3d,0x00,0x3c,0xba,0xf0,0xf7,0xff,0xff]
773           vpmaxsb -2064(%rdx), %xmm24, %xmm23
774
775 // CHECK: vpmaxsb %ymm27, %ymm22, %ymm30
776 // CHECK:  encoding: [0x62,0x02,0x4d,0x20,0x3c,0xf3]
777           vpmaxsb %ymm27, %ymm22, %ymm30
778
779 // CHECK: vpmaxsb %ymm27, %ymm22, %ymm30 {%k5}
780 // CHECK:  encoding: [0x62,0x02,0x4d,0x25,0x3c,0xf3]
781           vpmaxsb %ymm27, %ymm22, %ymm30 {%k5}
782
783 // CHECK: vpmaxsb %ymm27, %ymm22, %ymm30 {%k5} {z}
784 // CHECK:  encoding: [0x62,0x02,0x4d,0xa5,0x3c,0xf3]
785           vpmaxsb %ymm27, %ymm22, %ymm30 {%k5} {z}
786
787 // CHECK: vpmaxsb (%rcx), %ymm22, %ymm30
788 // CHECK:  encoding: [0x62,0x62,0x4d,0x20,0x3c,0x31]
789           vpmaxsb (%rcx), %ymm22, %ymm30
790
791 // CHECK: vpmaxsb 291(%rax,%r14,8), %ymm22, %ymm30
792 // CHECK:  encoding: [0x62,0x22,0x4d,0x20,0x3c,0xb4,0xf0,0x23,0x01,0x00,0x00]
793           vpmaxsb 291(%rax,%r14,8), %ymm22, %ymm30
794
795 // CHECK: vpmaxsb 4064(%rdx), %ymm22, %ymm30
796 // CHECK:  encoding: [0x62,0x62,0x4d,0x20,0x3c,0x72,0x7f]
797           vpmaxsb 4064(%rdx), %ymm22, %ymm30
798
799 // CHECK: vpmaxsb 4096(%rdx), %ymm22, %ymm30
800 // CHECK:  encoding: [0x62,0x62,0x4d,0x20,0x3c,0xb2,0x00,0x10,0x00,0x00]
801           vpmaxsb 4096(%rdx), %ymm22, %ymm30
802
803 // CHECK: vpmaxsb -4096(%rdx), %ymm22, %ymm30
804 // CHECK:  encoding: [0x62,0x62,0x4d,0x20,0x3c,0x72,0x80]
805           vpmaxsb -4096(%rdx), %ymm22, %ymm30
806
807 // CHECK: vpmaxsb -4128(%rdx), %ymm22, %ymm30
808 // CHECK:  encoding: [0x62,0x62,0x4d,0x20,0x3c,0xb2,0xe0,0xef,0xff,0xff]
809           vpmaxsb -4128(%rdx), %ymm22, %ymm30
810
811 // CHECK: vpmaxsw %xmm28, %xmm24, %xmm18
812 // CHECK:  encoding: [0x62,0x81,0x3d,0x00,0xee,0xd4]
813           vpmaxsw %xmm28, %xmm24, %xmm18
814
815 // CHECK: vpmaxsw %xmm28, %xmm24, %xmm18 {%k3}
816 // CHECK:  encoding: [0x62,0x81,0x3d,0x03,0xee,0xd4]
817           vpmaxsw %xmm28, %xmm24, %xmm18 {%k3}
818
819 // CHECK: vpmaxsw %xmm28, %xmm24, %xmm18 {%k3} {z}
820 // CHECK:  encoding: [0x62,0x81,0x3d,0x83,0xee,0xd4]
821           vpmaxsw %xmm28, %xmm24, %xmm18 {%k3} {z}
822
823 // CHECK: vpmaxsw (%rcx), %xmm24, %xmm18
824 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xee,0x11]
825           vpmaxsw (%rcx), %xmm24, %xmm18
826
827 // CHECK: vpmaxsw 291(%rax,%r14,8), %xmm24, %xmm18
828 // CHECK:  encoding: [0x62,0xa1,0x3d,0x00,0xee,0x94,0xf0,0x23,0x01,0x00,0x00]
829           vpmaxsw 291(%rax,%r14,8), %xmm24, %xmm18
830
831 // CHECK: vpmaxsw 2032(%rdx), %xmm24, %xmm18
832 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xee,0x52,0x7f]
833           vpmaxsw 2032(%rdx), %xmm24, %xmm18
834
835 // CHECK: vpmaxsw 2048(%rdx), %xmm24, %xmm18
836 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xee,0x92,0x00,0x08,0x00,0x00]
837           vpmaxsw 2048(%rdx), %xmm24, %xmm18
838
839 // CHECK: vpmaxsw -2048(%rdx), %xmm24, %xmm18
840 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xee,0x52,0x80]
841           vpmaxsw -2048(%rdx), %xmm24, %xmm18
842
843 // CHECK: vpmaxsw -2064(%rdx), %xmm24, %xmm18
844 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xee,0x92,0xf0,0xf7,0xff,0xff]
845           vpmaxsw -2064(%rdx), %xmm24, %xmm18
846
847 // CHECK: vpmaxsw %ymm17, %ymm28, %ymm27
848 // CHECK:  encoding: [0x62,0x21,0x1d,0x20,0xee,0xd9]
849           vpmaxsw %ymm17, %ymm28, %ymm27
850
851 // CHECK: vpmaxsw %ymm17, %ymm28, %ymm27 {%k6}
852 // CHECK:  encoding: [0x62,0x21,0x1d,0x26,0xee,0xd9]
853           vpmaxsw %ymm17, %ymm28, %ymm27 {%k6}
854
855 // CHECK: vpmaxsw %ymm17, %ymm28, %ymm27 {%k6} {z}
856 // CHECK:  encoding: [0x62,0x21,0x1d,0xa6,0xee,0xd9]
857           vpmaxsw %ymm17, %ymm28, %ymm27 {%k6} {z}
858
859 // CHECK: vpmaxsw (%rcx), %ymm28, %ymm27
860 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xee,0x19]
861           vpmaxsw (%rcx), %ymm28, %ymm27
862
863 // CHECK: vpmaxsw 291(%rax,%r14,8), %ymm28, %ymm27
864 // CHECK:  encoding: [0x62,0x21,0x1d,0x20,0xee,0x9c,0xf0,0x23,0x01,0x00,0x00]
865           vpmaxsw 291(%rax,%r14,8), %ymm28, %ymm27
866
867 // CHECK: vpmaxsw 4064(%rdx), %ymm28, %ymm27
868 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xee,0x5a,0x7f]
869           vpmaxsw 4064(%rdx), %ymm28, %ymm27
870
871 // CHECK: vpmaxsw 4096(%rdx), %ymm28, %ymm27
872 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xee,0x9a,0x00,0x10,0x00,0x00]
873           vpmaxsw 4096(%rdx), %ymm28, %ymm27
874
875 // CHECK: vpmaxsw -4096(%rdx), %ymm28, %ymm27
876 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xee,0x5a,0x80]
877           vpmaxsw -4096(%rdx), %ymm28, %ymm27
878
879 // CHECK: vpmaxsw -4128(%rdx), %ymm28, %ymm27
880 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xee,0x9a,0xe0,0xef,0xff,0xff]
881           vpmaxsw -4128(%rdx), %ymm28, %ymm27
882
883 // CHECK: vpmaxub %xmm23, %xmm17, %xmm17
884 // CHECK:  encoding: [0x62,0xa1,0x75,0x00,0xde,0xcf]
885           vpmaxub %xmm23, %xmm17, %xmm17
886
887 // CHECK: vpmaxub %xmm23, %xmm17, %xmm17 {%k5}
888 // CHECK:  encoding: [0x62,0xa1,0x75,0x05,0xde,0xcf]
889           vpmaxub %xmm23, %xmm17, %xmm17 {%k5}
890
891 // CHECK: vpmaxub %xmm23, %xmm17, %xmm17 {%k5} {z}
892 // CHECK:  encoding: [0x62,0xa1,0x75,0x85,0xde,0xcf]
893           vpmaxub %xmm23, %xmm17, %xmm17 {%k5} {z}
894
895 // CHECK: vpmaxub (%rcx), %xmm17, %xmm17
896 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xde,0x09]
897           vpmaxub (%rcx), %xmm17, %xmm17
898
899 // CHECK: vpmaxub 291(%rax,%r14,8), %xmm17, %xmm17
900 // CHECK:  encoding: [0x62,0xa1,0x75,0x00,0xde,0x8c,0xf0,0x23,0x01,0x00,0x00]
901           vpmaxub 291(%rax,%r14,8), %xmm17, %xmm17
902
903 // CHECK: vpmaxub 2032(%rdx), %xmm17, %xmm17
904 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xde,0x4a,0x7f]
905           vpmaxub 2032(%rdx), %xmm17, %xmm17
906
907 // CHECK: vpmaxub 2048(%rdx), %xmm17, %xmm17
908 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xde,0x8a,0x00,0x08,0x00,0x00]
909           vpmaxub 2048(%rdx), %xmm17, %xmm17
910
911 // CHECK: vpmaxub -2048(%rdx), %xmm17, %xmm17
912 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xde,0x4a,0x80]
913           vpmaxub -2048(%rdx), %xmm17, %xmm17
914
915 // CHECK: vpmaxub -2064(%rdx), %xmm17, %xmm17
916 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xde,0x8a,0xf0,0xf7,0xff,0xff]
917           vpmaxub -2064(%rdx), %xmm17, %xmm17
918
919 // CHECK: vpmaxub %ymm24, %ymm26, %ymm28
920 // CHECK:  encoding: [0x62,0x01,0x2d,0x20,0xde,0xe0]
921           vpmaxub %ymm24, %ymm26, %ymm28
922
923 // CHECK: vpmaxub %ymm24, %ymm26, %ymm28 {%k6}
924 // CHECK:  encoding: [0x62,0x01,0x2d,0x26,0xde,0xe0]
925           vpmaxub %ymm24, %ymm26, %ymm28 {%k6}
926
927 // CHECK: vpmaxub %ymm24, %ymm26, %ymm28 {%k6} {z}
928 // CHECK:  encoding: [0x62,0x01,0x2d,0xa6,0xde,0xe0]
929           vpmaxub %ymm24, %ymm26, %ymm28 {%k6} {z}
930
931 // CHECK: vpmaxub (%rcx), %ymm26, %ymm28
932 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xde,0x21]
933           vpmaxub (%rcx), %ymm26, %ymm28
934
935 // CHECK: vpmaxub 291(%rax,%r14,8), %ymm26, %ymm28
936 // CHECK:  encoding: [0x62,0x21,0x2d,0x20,0xde,0xa4,0xf0,0x23,0x01,0x00,0x00]
937           vpmaxub 291(%rax,%r14,8), %ymm26, %ymm28
938
939 // CHECK: vpmaxub 4064(%rdx), %ymm26, %ymm28
940 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xde,0x62,0x7f]
941           vpmaxub 4064(%rdx), %ymm26, %ymm28
942
943 // CHECK: vpmaxub 4096(%rdx), %ymm26, %ymm28
944 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xde,0xa2,0x00,0x10,0x00,0x00]
945           vpmaxub 4096(%rdx), %ymm26, %ymm28
946
947 // CHECK: vpmaxub -4096(%rdx), %ymm26, %ymm28
948 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xde,0x62,0x80]
949           vpmaxub -4096(%rdx), %ymm26, %ymm28
950
951 // CHECK: vpmaxub -4128(%rdx), %ymm26, %ymm28
952 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xde,0xa2,0xe0,0xef,0xff,0xff]
953           vpmaxub -4128(%rdx), %ymm26, %ymm28
954
955 // CHECK: vpmaxuw %xmm20, %xmm18, %xmm24
956 // CHECK:  encoding: [0x62,0x22,0x6d,0x00,0x3e,0xc4]
957           vpmaxuw %xmm20, %xmm18, %xmm24
958
959 // CHECK: vpmaxuw %xmm20, %xmm18, %xmm24 {%k7}
960 // CHECK:  encoding: [0x62,0x22,0x6d,0x07,0x3e,0xc4]
961           vpmaxuw %xmm20, %xmm18, %xmm24 {%k7}
962
963 // CHECK: vpmaxuw %xmm20, %xmm18, %xmm24 {%k7} {z}
964 // CHECK:  encoding: [0x62,0x22,0x6d,0x87,0x3e,0xc4]
965           vpmaxuw %xmm20, %xmm18, %xmm24 {%k7} {z}
966
967 // CHECK: vpmaxuw (%rcx), %xmm18, %xmm24
968 // CHECK:  encoding: [0x62,0x62,0x6d,0x00,0x3e,0x01]
969           vpmaxuw (%rcx), %xmm18, %xmm24
970
971 // CHECK: vpmaxuw 291(%rax,%r14,8), %xmm18, %xmm24
972 // CHECK:  encoding: [0x62,0x22,0x6d,0x00,0x3e,0x84,0xf0,0x23,0x01,0x00,0x00]
973           vpmaxuw 291(%rax,%r14,8), %xmm18, %xmm24
974
975 // CHECK: vpmaxuw 2032(%rdx), %xmm18, %xmm24
976 // CHECK:  encoding: [0x62,0x62,0x6d,0x00,0x3e,0x42,0x7f]
977           vpmaxuw 2032(%rdx), %xmm18, %xmm24
978
979 // CHECK: vpmaxuw 2048(%rdx), %xmm18, %xmm24
980 // CHECK:  encoding: [0x62,0x62,0x6d,0x00,0x3e,0x82,0x00,0x08,0x00,0x00]
981           vpmaxuw 2048(%rdx), %xmm18, %xmm24
982
983 // CHECK: vpmaxuw -2048(%rdx), %xmm18, %xmm24
984 // CHECK:  encoding: [0x62,0x62,0x6d,0x00,0x3e,0x42,0x80]
985           vpmaxuw -2048(%rdx), %xmm18, %xmm24
986
987 // CHECK: vpmaxuw -2064(%rdx), %xmm18, %xmm24
988 // CHECK:  encoding: [0x62,0x62,0x6d,0x00,0x3e,0x82,0xf0,0xf7,0xff,0xff]
989           vpmaxuw -2064(%rdx), %xmm18, %xmm24
990
991 // CHECK: vpmaxuw %ymm19, %ymm22, %ymm19
992 // CHECK:  encoding: [0x62,0xa2,0x4d,0x20,0x3e,0xdb]
993           vpmaxuw %ymm19, %ymm22, %ymm19
994
995 // CHECK: vpmaxuw %ymm19, %ymm22, %ymm19 {%k7}
996 // CHECK:  encoding: [0x62,0xa2,0x4d,0x27,0x3e,0xdb]
997           vpmaxuw %ymm19, %ymm22, %ymm19 {%k7}
998
999 // CHECK: vpmaxuw %ymm19, %ymm22, %ymm19 {%k7} {z}
1000 // CHECK:  encoding: [0x62,0xa2,0x4d,0xa7,0x3e,0xdb]
1001           vpmaxuw %ymm19, %ymm22, %ymm19 {%k7} {z}
1002
1003 // CHECK: vpmaxuw (%rcx), %ymm22, %ymm19
1004 // CHECK:  encoding: [0x62,0xe2,0x4d,0x20,0x3e,0x19]
1005           vpmaxuw (%rcx), %ymm22, %ymm19
1006
1007 // CHECK: vpmaxuw 291(%rax,%r14,8), %ymm22, %ymm19
1008 // CHECK:  encoding: [0x62,0xa2,0x4d,0x20,0x3e,0x9c,0xf0,0x23,0x01,0x00,0x00]
1009           vpmaxuw 291(%rax,%r14,8), %ymm22, %ymm19
1010
1011 // CHECK: vpmaxuw 4064(%rdx), %ymm22, %ymm19
1012 // CHECK:  encoding: [0x62,0xe2,0x4d,0x20,0x3e,0x5a,0x7f]
1013           vpmaxuw 4064(%rdx), %ymm22, %ymm19
1014
1015 // CHECK: vpmaxuw 4096(%rdx), %ymm22, %ymm19
1016 // CHECK:  encoding: [0x62,0xe2,0x4d,0x20,0x3e,0x9a,0x00,0x10,0x00,0x00]
1017           vpmaxuw 4096(%rdx), %ymm22, %ymm19
1018
1019 // CHECK: vpmaxuw -4096(%rdx), %ymm22, %ymm19
1020 // CHECK:  encoding: [0x62,0xe2,0x4d,0x20,0x3e,0x5a,0x80]
1021           vpmaxuw -4096(%rdx), %ymm22, %ymm19
1022
1023 // CHECK: vpmaxuw -4128(%rdx), %ymm22, %ymm19
1024 // CHECK:  encoding: [0x62,0xe2,0x4d,0x20,0x3e,0x9a,0xe0,0xef,0xff,0xff]
1025           vpmaxuw -4128(%rdx), %ymm22, %ymm19
1026
1027 // CHECK: vpminsb %xmm27, %xmm28, %xmm25
1028 // CHECK:  encoding: [0x62,0x02,0x1d,0x00,0x38,0xcb]
1029           vpminsb %xmm27, %xmm28, %xmm25
1030
1031 // CHECK: vpminsb %xmm27, %xmm28, %xmm25 {%k1}
1032 // CHECK:  encoding: [0x62,0x02,0x1d,0x01,0x38,0xcb]
1033           vpminsb %xmm27, %xmm28, %xmm25 {%k1}
1034
1035 // CHECK: vpminsb %xmm27, %xmm28, %xmm25 {%k1} {z}
1036 // CHECK:  encoding: [0x62,0x02,0x1d,0x81,0x38,0xcb]
1037           vpminsb %xmm27, %xmm28, %xmm25 {%k1} {z}
1038
1039 // CHECK: vpminsb (%rcx), %xmm28, %xmm25
1040 // CHECK:  encoding: [0x62,0x62,0x1d,0x00,0x38,0x09]
1041           vpminsb (%rcx), %xmm28, %xmm25
1042
1043 // CHECK: vpminsb 291(%rax,%r14,8), %xmm28, %xmm25
1044 // CHECK:  encoding: [0x62,0x22,0x1d,0x00,0x38,0x8c,0xf0,0x23,0x01,0x00,0x00]
1045           vpminsb 291(%rax,%r14,8), %xmm28, %xmm25
1046
1047 // CHECK: vpminsb 2032(%rdx), %xmm28, %xmm25
1048 // CHECK:  encoding: [0x62,0x62,0x1d,0x00,0x38,0x4a,0x7f]
1049           vpminsb 2032(%rdx), %xmm28, %xmm25
1050
1051 // CHECK: vpminsb 2048(%rdx), %xmm28, %xmm25
1052 // CHECK:  encoding: [0x62,0x62,0x1d,0x00,0x38,0x8a,0x00,0x08,0x00,0x00]
1053           vpminsb 2048(%rdx), %xmm28, %xmm25
1054
1055 // CHECK: vpminsb -2048(%rdx), %xmm28, %xmm25
1056 // CHECK:  encoding: [0x62,0x62,0x1d,0x00,0x38,0x4a,0x80]
1057           vpminsb -2048(%rdx), %xmm28, %xmm25
1058
1059 // CHECK: vpminsb -2064(%rdx), %xmm28, %xmm25
1060 // CHECK:  encoding: [0x62,0x62,0x1d,0x00,0x38,0x8a,0xf0,0xf7,0xff,0xff]
1061           vpminsb -2064(%rdx), %xmm28, %xmm25
1062
1063 // CHECK: vpminsb %ymm27, %ymm20, %ymm27
1064 // CHECK:  encoding: [0x62,0x02,0x5d,0x20,0x38,0xdb]
1065           vpminsb %ymm27, %ymm20, %ymm27
1066
1067 // CHECK: vpminsb %ymm27, %ymm20, %ymm27 {%k6}
1068 // CHECK:  encoding: [0x62,0x02,0x5d,0x26,0x38,0xdb]
1069           vpminsb %ymm27, %ymm20, %ymm27 {%k6}
1070
1071 // CHECK: vpminsb %ymm27, %ymm20, %ymm27 {%k6} {z}
1072 // CHECK:  encoding: [0x62,0x02,0x5d,0xa6,0x38,0xdb]
1073           vpminsb %ymm27, %ymm20, %ymm27 {%k6} {z}
1074
1075 // CHECK: vpminsb (%rcx), %ymm20, %ymm27
1076 // CHECK:  encoding: [0x62,0x62,0x5d,0x20,0x38,0x19]
1077           vpminsb (%rcx), %ymm20, %ymm27
1078
1079 // CHECK: vpminsb 291(%rax,%r14,8), %ymm20, %ymm27
1080 // CHECK:  encoding: [0x62,0x22,0x5d,0x20,0x38,0x9c,0xf0,0x23,0x01,0x00,0x00]
1081           vpminsb 291(%rax,%r14,8), %ymm20, %ymm27
1082
1083 // CHECK: vpminsb 4064(%rdx), %ymm20, %ymm27
1084 // CHECK:  encoding: [0x62,0x62,0x5d,0x20,0x38,0x5a,0x7f]
1085           vpminsb 4064(%rdx), %ymm20, %ymm27
1086
1087 // CHECK: vpminsb 4096(%rdx), %ymm20, %ymm27
1088 // CHECK:  encoding: [0x62,0x62,0x5d,0x20,0x38,0x9a,0x00,0x10,0x00,0x00]
1089           vpminsb 4096(%rdx), %ymm20, %ymm27
1090
1091 // CHECK: vpminsb -4096(%rdx), %ymm20, %ymm27
1092 // CHECK:  encoding: [0x62,0x62,0x5d,0x20,0x38,0x5a,0x80]
1093           vpminsb -4096(%rdx), %ymm20, %ymm27
1094
1095 // CHECK: vpminsb -4128(%rdx), %ymm20, %ymm27
1096 // CHECK:  encoding: [0x62,0x62,0x5d,0x20,0x38,0x9a,0xe0,0xef,0xff,0xff]
1097           vpminsb -4128(%rdx), %ymm20, %ymm27
1098
1099 // CHECK: vpminsw %xmm19, %xmm26, %xmm27
1100 // CHECK:  encoding: [0x62,0x21,0x2d,0x00,0xea,0xdb]
1101           vpminsw %xmm19, %xmm26, %xmm27
1102
1103 // CHECK: vpminsw %xmm19, %xmm26, %xmm27 {%k2}
1104 // CHECK:  encoding: [0x62,0x21,0x2d,0x02,0xea,0xdb]
1105           vpminsw %xmm19, %xmm26, %xmm27 {%k2}
1106
1107 // CHECK: vpminsw %xmm19, %xmm26, %xmm27 {%k2} {z}
1108 // CHECK:  encoding: [0x62,0x21,0x2d,0x82,0xea,0xdb]
1109           vpminsw %xmm19, %xmm26, %xmm27 {%k2} {z}
1110
1111 // CHECK: vpminsw (%rcx), %xmm26, %xmm27
1112 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xea,0x19]
1113           vpminsw (%rcx), %xmm26, %xmm27
1114
1115 // CHECK: vpminsw 291(%rax,%r14,8), %xmm26, %xmm27
1116 // CHECK:  encoding: [0x62,0x21,0x2d,0x00,0xea,0x9c,0xf0,0x23,0x01,0x00,0x00]
1117           vpminsw 291(%rax,%r14,8), %xmm26, %xmm27
1118
1119 // CHECK: vpminsw 2032(%rdx), %xmm26, %xmm27
1120 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xea,0x5a,0x7f]
1121           vpminsw 2032(%rdx), %xmm26, %xmm27
1122
1123 // CHECK: vpminsw 2048(%rdx), %xmm26, %xmm27
1124 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xea,0x9a,0x00,0x08,0x00,0x00]
1125           vpminsw 2048(%rdx), %xmm26, %xmm27
1126
1127 // CHECK: vpminsw -2048(%rdx), %xmm26, %xmm27
1128 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xea,0x5a,0x80]
1129           vpminsw -2048(%rdx), %xmm26, %xmm27
1130
1131 // CHECK: vpminsw -2064(%rdx), %xmm26, %xmm27
1132 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xea,0x9a,0xf0,0xf7,0xff,0xff]
1133           vpminsw -2064(%rdx), %xmm26, %xmm27
1134
1135 // CHECK: vpminsw %ymm27, %ymm23, %ymm21
1136 // CHECK:  encoding: [0x62,0x81,0x45,0x20,0xea,0xeb]
1137           vpminsw %ymm27, %ymm23, %ymm21
1138
1139 // CHECK: vpminsw %ymm27, %ymm23, %ymm21 {%k2}
1140 // CHECK:  encoding: [0x62,0x81,0x45,0x22,0xea,0xeb]
1141           vpminsw %ymm27, %ymm23, %ymm21 {%k2}
1142
1143 // CHECK: vpminsw %ymm27, %ymm23, %ymm21 {%k2} {z}
1144 // CHECK:  encoding: [0x62,0x81,0x45,0xa2,0xea,0xeb]
1145           vpminsw %ymm27, %ymm23, %ymm21 {%k2} {z}
1146
1147 // CHECK: vpminsw (%rcx), %ymm23, %ymm21
1148 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xea,0x29]
1149           vpminsw (%rcx), %ymm23, %ymm21
1150
1151 // CHECK: vpminsw 291(%rax,%r14,8), %ymm23, %ymm21
1152 // CHECK:  encoding: [0x62,0xa1,0x45,0x20,0xea,0xac,0xf0,0x23,0x01,0x00,0x00]
1153           vpminsw 291(%rax,%r14,8), %ymm23, %ymm21
1154
1155 // CHECK: vpminsw 4064(%rdx), %ymm23, %ymm21
1156 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xea,0x6a,0x7f]
1157           vpminsw 4064(%rdx), %ymm23, %ymm21
1158
1159 // CHECK: vpminsw 4096(%rdx), %ymm23, %ymm21
1160 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xea,0xaa,0x00,0x10,0x00,0x00]
1161           vpminsw 4096(%rdx), %ymm23, %ymm21
1162
1163 // CHECK: vpminsw -4096(%rdx), %ymm23, %ymm21
1164 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xea,0x6a,0x80]
1165           vpminsw -4096(%rdx), %ymm23, %ymm21
1166
1167 // CHECK: vpminsw -4128(%rdx), %ymm23, %ymm21
1168 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xea,0xaa,0xe0,0xef,0xff,0xff]
1169           vpminsw -4128(%rdx), %ymm23, %ymm21
1170
1171 // CHECK: vpminub %xmm27, %xmm27, %xmm22
1172 // CHECK:  encoding: [0x62,0x81,0x25,0x00,0xda,0xf3]
1173           vpminub %xmm27, %xmm27, %xmm22
1174
1175 // CHECK: vpminub %xmm27, %xmm27, %xmm22 {%k5}
1176 // CHECK:  encoding: [0x62,0x81,0x25,0x05,0xda,0xf3]
1177           vpminub %xmm27, %xmm27, %xmm22 {%k5}
1178
1179 // CHECK: vpminub %xmm27, %xmm27, %xmm22 {%k5} {z}
1180 // CHECK:  encoding: [0x62,0x81,0x25,0x85,0xda,0xf3]
1181           vpminub %xmm27, %xmm27, %xmm22 {%k5} {z}
1182
1183 // CHECK: vpminub (%rcx), %xmm27, %xmm22
1184 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xda,0x31]
1185           vpminub (%rcx), %xmm27, %xmm22
1186
1187 // CHECK: vpminub 291(%rax,%r14,8), %xmm27, %xmm22
1188 // CHECK:  encoding: [0x62,0xa1,0x25,0x00,0xda,0xb4,0xf0,0x23,0x01,0x00,0x00]
1189           vpminub 291(%rax,%r14,8), %xmm27, %xmm22
1190
1191 // CHECK: vpminub 2032(%rdx), %xmm27, %xmm22
1192 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xda,0x72,0x7f]
1193           vpminub 2032(%rdx), %xmm27, %xmm22
1194
1195 // CHECK: vpminub 2048(%rdx), %xmm27, %xmm22
1196 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xda,0xb2,0x00,0x08,0x00,0x00]
1197           vpminub 2048(%rdx), %xmm27, %xmm22
1198
1199 // CHECK: vpminub -2048(%rdx), %xmm27, %xmm22
1200 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xda,0x72,0x80]
1201           vpminub -2048(%rdx), %xmm27, %xmm22
1202
1203 // CHECK: vpminub -2064(%rdx), %xmm27, %xmm22
1204 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xda,0xb2,0xf0,0xf7,0xff,0xff]
1205           vpminub -2064(%rdx), %xmm27, %xmm22
1206
1207 // CHECK: vpminub %ymm27, %ymm25, %ymm27
1208 // CHECK:  encoding: [0x62,0x01,0x35,0x20,0xda,0xdb]
1209           vpminub %ymm27, %ymm25, %ymm27
1210
1211 // CHECK: vpminub %ymm27, %ymm25, %ymm27 {%k3}
1212 // CHECK:  encoding: [0x62,0x01,0x35,0x23,0xda,0xdb]
1213           vpminub %ymm27, %ymm25, %ymm27 {%k3}
1214
1215 // CHECK: vpminub %ymm27, %ymm25, %ymm27 {%k3} {z}
1216 // CHECK:  encoding: [0x62,0x01,0x35,0xa3,0xda,0xdb]
1217           vpminub %ymm27, %ymm25, %ymm27 {%k3} {z}
1218
1219 // CHECK: vpminub (%rcx), %ymm25, %ymm27
1220 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xda,0x19]
1221           vpminub (%rcx), %ymm25, %ymm27
1222
1223 // CHECK: vpminub 291(%rax,%r14,8), %ymm25, %ymm27
1224 // CHECK:  encoding: [0x62,0x21,0x35,0x20,0xda,0x9c,0xf0,0x23,0x01,0x00,0x00]
1225           vpminub 291(%rax,%r14,8), %ymm25, %ymm27
1226
1227 // CHECK: vpminub 4064(%rdx), %ymm25, %ymm27
1228 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xda,0x5a,0x7f]
1229           vpminub 4064(%rdx), %ymm25, %ymm27
1230
1231 // CHECK: vpminub 4096(%rdx), %ymm25, %ymm27
1232 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xda,0x9a,0x00,0x10,0x00,0x00]
1233           vpminub 4096(%rdx), %ymm25, %ymm27
1234
1235 // CHECK: vpminub -4096(%rdx), %ymm25, %ymm27
1236 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xda,0x5a,0x80]
1237           vpminub -4096(%rdx), %ymm25, %ymm27
1238
1239 // CHECK: vpminub -4128(%rdx), %ymm25, %ymm27
1240 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xda,0x9a,0xe0,0xef,0xff,0xff]
1241           vpminub -4128(%rdx), %ymm25, %ymm27
1242
1243 // CHECK: vpminuw %xmm23, %xmm17, %xmm28
1244 // CHECK:  encoding: [0x62,0x22,0x75,0x00,0x3a,0xe7]
1245           vpminuw %xmm23, %xmm17, %xmm28
1246
1247 // CHECK: vpminuw %xmm23, %xmm17, %xmm28 {%k2}
1248 // CHECK:  encoding: [0x62,0x22,0x75,0x02,0x3a,0xe7]
1249           vpminuw %xmm23, %xmm17, %xmm28 {%k2}
1250
1251 // CHECK: vpminuw %xmm23, %xmm17, %xmm28 {%k2} {z}
1252 // CHECK:  encoding: [0x62,0x22,0x75,0x82,0x3a,0xe7]
1253           vpminuw %xmm23, %xmm17, %xmm28 {%k2} {z}
1254
1255 // CHECK: vpminuw (%rcx), %xmm17, %xmm28
1256 // CHECK:  encoding: [0x62,0x62,0x75,0x00,0x3a,0x21]
1257           vpminuw (%rcx), %xmm17, %xmm28
1258
1259 // CHECK: vpminuw 291(%rax,%r14,8), %xmm17, %xmm28
1260 // CHECK:  encoding: [0x62,0x22,0x75,0x00,0x3a,0xa4,0xf0,0x23,0x01,0x00,0x00]
1261           vpminuw 291(%rax,%r14,8), %xmm17, %xmm28
1262
1263 // CHECK: vpminuw 2032(%rdx), %xmm17, %xmm28
1264 // CHECK:  encoding: [0x62,0x62,0x75,0x00,0x3a,0x62,0x7f]
1265           vpminuw 2032(%rdx), %xmm17, %xmm28
1266
1267 // CHECK: vpminuw 2048(%rdx), %xmm17, %xmm28
1268 // CHECK:  encoding: [0x62,0x62,0x75,0x00,0x3a,0xa2,0x00,0x08,0x00,0x00]
1269           vpminuw 2048(%rdx), %xmm17, %xmm28
1270
1271 // CHECK: vpminuw -2048(%rdx), %xmm17, %xmm28
1272 // CHECK:  encoding: [0x62,0x62,0x75,0x00,0x3a,0x62,0x80]
1273           vpminuw -2048(%rdx), %xmm17, %xmm28
1274
1275 // CHECK: vpminuw -2064(%rdx), %xmm17, %xmm28
1276 // CHECK:  encoding: [0x62,0x62,0x75,0x00,0x3a,0xa2,0xf0,0xf7,0xff,0xff]
1277           vpminuw -2064(%rdx), %xmm17, %xmm28
1278
1279 // CHECK: vpminuw %ymm18, %ymm27, %ymm20
1280 // CHECK:  encoding: [0x62,0xa2,0x25,0x20,0x3a,0xe2]
1281           vpminuw %ymm18, %ymm27, %ymm20
1282
1283 // CHECK: vpminuw %ymm18, %ymm27, %ymm20 {%k7}
1284 // CHECK:  encoding: [0x62,0xa2,0x25,0x27,0x3a,0xe2]
1285           vpminuw %ymm18, %ymm27, %ymm20 {%k7}
1286
1287 // CHECK: vpminuw %ymm18, %ymm27, %ymm20 {%k7} {z}
1288 // CHECK:  encoding: [0x62,0xa2,0x25,0xa7,0x3a,0xe2]
1289           vpminuw %ymm18, %ymm27, %ymm20 {%k7} {z}
1290
1291 // CHECK: vpminuw (%rcx), %ymm27, %ymm20
1292 // CHECK:  encoding: [0x62,0xe2,0x25,0x20,0x3a,0x21]
1293           vpminuw (%rcx), %ymm27, %ymm20
1294
1295 // CHECK: vpminuw 291(%rax,%r14,8), %ymm27, %ymm20
1296 // CHECK:  encoding: [0x62,0xa2,0x25,0x20,0x3a,0xa4,0xf0,0x23,0x01,0x00,0x00]
1297           vpminuw 291(%rax,%r14,8), %ymm27, %ymm20
1298
1299 // CHECK: vpminuw 4064(%rdx), %ymm27, %ymm20
1300 // CHECK:  encoding: [0x62,0xe2,0x25,0x20,0x3a,0x62,0x7f]
1301           vpminuw 4064(%rdx), %ymm27, %ymm20
1302
1303 // CHECK: vpminuw 4096(%rdx), %ymm27, %ymm20
1304 // CHECK:  encoding: [0x62,0xe2,0x25,0x20,0x3a,0xa2,0x00,0x10,0x00,0x00]
1305           vpminuw 4096(%rdx), %ymm27, %ymm20
1306
1307 // CHECK: vpminuw -4096(%rdx), %ymm27, %ymm20
1308 // CHECK:  encoding: [0x62,0xe2,0x25,0x20,0x3a,0x62,0x80]
1309           vpminuw -4096(%rdx), %ymm27, %ymm20
1310
1311 // CHECK: vpminuw -4128(%rdx), %ymm27, %ymm20
1312 // CHECK:  encoding: [0x62,0xe2,0x25,0x20,0x3a,0xa2,0xe0,0xef,0xff,0xff]
1313           vpminuw -4128(%rdx), %ymm27, %ymm20
1314
1315 // CHECK: vpmullw %xmm26, %xmm19, %xmm29
1316 // CHECK:  encoding: [0x62,0x01,0x65,0x00,0xd5,0xea]
1317           vpmullw %xmm26, %xmm19, %xmm29
1318
1319 // CHECK: vpmullw %xmm26, %xmm19, %xmm29 {%k7}
1320 // CHECK:  encoding: [0x62,0x01,0x65,0x07,0xd5,0xea]
1321           vpmullw %xmm26, %xmm19, %xmm29 {%k7}
1322
1323 // CHECK: vpmullw %xmm26, %xmm19, %xmm29 {%k7} {z}
1324 // CHECK:  encoding: [0x62,0x01,0x65,0x87,0xd5,0xea]
1325           vpmullw %xmm26, %xmm19, %xmm29 {%k7} {z}
1326
1327 // CHECK: vpmullw (%rcx), %xmm19, %xmm29
1328 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xd5,0x29]
1329           vpmullw (%rcx), %xmm19, %xmm29
1330
1331 // CHECK: vpmullw 291(%rax,%r14,8), %xmm19, %xmm29
1332 // CHECK:  encoding: [0x62,0x21,0x65,0x00,0xd5,0xac,0xf0,0x23,0x01,0x00,0x00]
1333           vpmullw 291(%rax,%r14,8), %xmm19, %xmm29
1334
1335 // CHECK: vpmullw 2032(%rdx), %xmm19, %xmm29
1336 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xd5,0x6a,0x7f]
1337           vpmullw 2032(%rdx), %xmm19, %xmm29
1338
1339 // CHECK: vpmullw 2048(%rdx), %xmm19, %xmm29
1340 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xd5,0xaa,0x00,0x08,0x00,0x00]
1341           vpmullw 2048(%rdx), %xmm19, %xmm29
1342
1343 // CHECK: vpmullw -2048(%rdx), %xmm19, %xmm29
1344 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xd5,0x6a,0x80]
1345           vpmullw -2048(%rdx), %xmm19, %xmm29
1346
1347 // CHECK: vpmullw -2064(%rdx), %xmm19, %xmm29
1348 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xd5,0xaa,0xf0,0xf7,0xff,0xff]
1349           vpmullw -2064(%rdx), %xmm19, %xmm29
1350
1351 // CHECK: vpmullw %ymm20, %ymm24, %ymm17
1352 // CHECK:  encoding: [0x62,0xa1,0x3d,0x20,0xd5,0xcc]
1353           vpmullw %ymm20, %ymm24, %ymm17
1354
1355 // CHECK: vpmullw %ymm20, %ymm24, %ymm17 {%k5}
1356 // CHECK:  encoding: [0x62,0xa1,0x3d,0x25,0xd5,0xcc]
1357           vpmullw %ymm20, %ymm24, %ymm17 {%k5}
1358
1359 // CHECK: vpmullw %ymm20, %ymm24, %ymm17 {%k5} {z}
1360 // CHECK:  encoding: [0x62,0xa1,0x3d,0xa5,0xd5,0xcc]
1361           vpmullw %ymm20, %ymm24, %ymm17 {%k5} {z}
1362
1363 // CHECK: vpmullw (%rcx), %ymm24, %ymm17
1364 // CHECK:  encoding: [0x62,0xe1,0x3d,0x20,0xd5,0x09]
1365           vpmullw (%rcx), %ymm24, %ymm17
1366
1367 // CHECK: vpmullw 291(%rax,%r14,8), %ymm24, %ymm17
1368 // CHECK:  encoding: [0x62,0xa1,0x3d,0x20,0xd5,0x8c,0xf0,0x23,0x01,0x00,0x00]
1369           vpmullw 291(%rax,%r14,8), %ymm24, %ymm17
1370
1371 // CHECK: vpmullw 4064(%rdx), %ymm24, %ymm17
1372 // CHECK:  encoding: [0x62,0xe1,0x3d,0x20,0xd5,0x4a,0x7f]
1373           vpmullw 4064(%rdx), %ymm24, %ymm17
1374
1375 // CHECK: vpmullw 4096(%rdx), %ymm24, %ymm17
1376 // CHECK:  encoding: [0x62,0xe1,0x3d,0x20,0xd5,0x8a,0x00,0x10,0x00,0x00]
1377           vpmullw 4096(%rdx), %ymm24, %ymm17
1378
1379 // CHECK: vpmullw -4096(%rdx), %ymm24, %ymm17
1380 // CHECK:  encoding: [0x62,0xe1,0x3d,0x20,0xd5,0x4a,0x80]
1381           vpmullw -4096(%rdx), %ymm24, %ymm17
1382
1383 // CHECK: vpmullw -4128(%rdx), %ymm24, %ymm17
1384 // CHECK:  encoding: [0x62,0xe1,0x3d,0x20,0xd5,0x8a,0xe0,0xef,0xff,0xff]
1385           vpmullw -4128(%rdx), %ymm24, %ymm17
1386
1387 // CHECK: vpsubb %xmm28, %xmm29, %xmm27
1388 // CHECK:  encoding: [0x62,0x01,0x15,0x00,0xf8,0xdc]
1389           vpsubb %xmm28, %xmm29, %xmm27
1390
1391 // CHECK: vpsubb %xmm28, %xmm29, %xmm27 {%k3}
1392 // CHECK:  encoding: [0x62,0x01,0x15,0x03,0xf8,0xdc]
1393           vpsubb %xmm28, %xmm29, %xmm27 {%k3}
1394
1395 // CHECK: vpsubb %xmm28, %xmm29, %xmm27 {%k3} {z}
1396 // CHECK:  encoding: [0x62,0x01,0x15,0x83,0xf8,0xdc]
1397           vpsubb %xmm28, %xmm29, %xmm27 {%k3} {z}
1398
1399 // CHECK: vpsubb (%rcx), %xmm29, %xmm27
1400 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xf8,0x19]
1401           vpsubb (%rcx), %xmm29, %xmm27
1402
1403 // CHECK: vpsubb 291(%rax,%r14,8), %xmm29, %xmm27
1404 // CHECK:  encoding: [0x62,0x21,0x15,0x00,0xf8,0x9c,0xf0,0x23,0x01,0x00,0x00]
1405           vpsubb 291(%rax,%r14,8), %xmm29, %xmm27
1406
1407 // CHECK: vpsubb 2032(%rdx), %xmm29, %xmm27
1408 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xf8,0x5a,0x7f]
1409           vpsubb 2032(%rdx), %xmm29, %xmm27
1410
1411 // CHECK: vpsubb 2048(%rdx), %xmm29, %xmm27
1412 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xf8,0x9a,0x00,0x08,0x00,0x00]
1413           vpsubb 2048(%rdx), %xmm29, %xmm27
1414
1415 // CHECK: vpsubb -2048(%rdx), %xmm29, %xmm27
1416 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xf8,0x5a,0x80]
1417           vpsubb -2048(%rdx), %xmm29, %xmm27
1418
1419 // CHECK: vpsubb -2064(%rdx), %xmm29, %xmm27
1420 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xf8,0x9a,0xf0,0xf7,0xff,0xff]
1421           vpsubb -2064(%rdx), %xmm29, %xmm27
1422
1423 // CHECK: vpsubb %ymm28, %ymm20, %ymm20
1424 // CHECK:  encoding: [0x62,0x81,0x5d,0x20,0xf8,0xe4]
1425           vpsubb %ymm28, %ymm20, %ymm20
1426
1427 // CHECK: vpsubb %ymm28, %ymm20, %ymm20 {%k2}
1428 // CHECK:  encoding: [0x62,0x81,0x5d,0x22,0xf8,0xe4]
1429           vpsubb %ymm28, %ymm20, %ymm20 {%k2}
1430
1431 // CHECK: vpsubb %ymm28, %ymm20, %ymm20 {%k2} {z}
1432 // CHECK:  encoding: [0x62,0x81,0x5d,0xa2,0xf8,0xe4]
1433           vpsubb %ymm28, %ymm20, %ymm20 {%k2} {z}
1434
1435 // CHECK: vpsubb (%rcx), %ymm20, %ymm20
1436 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xf8,0x21]
1437           vpsubb (%rcx), %ymm20, %ymm20
1438
1439 // CHECK: vpsubb 291(%rax,%r14,8), %ymm20, %ymm20
1440 // CHECK:  encoding: [0x62,0xa1,0x5d,0x20,0xf8,0xa4,0xf0,0x23,0x01,0x00,0x00]
1441           vpsubb 291(%rax,%r14,8), %ymm20, %ymm20
1442
1443 // CHECK: vpsubb 4064(%rdx), %ymm20, %ymm20
1444 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xf8,0x62,0x7f]
1445           vpsubb 4064(%rdx), %ymm20, %ymm20
1446
1447 // CHECK: vpsubb 4096(%rdx), %ymm20, %ymm20
1448 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xf8,0xa2,0x00,0x10,0x00,0x00]
1449           vpsubb 4096(%rdx), %ymm20, %ymm20
1450
1451 // CHECK: vpsubb -4096(%rdx), %ymm20, %ymm20
1452 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xf8,0x62,0x80]
1453           vpsubb -4096(%rdx), %ymm20, %ymm20
1454
1455 // CHECK: vpsubb -4128(%rdx), %ymm20, %ymm20
1456 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xf8,0xa2,0xe0,0xef,0xff,0xff]
1457           vpsubb -4128(%rdx), %ymm20, %ymm20
1458
1459 // CHECK: vpsubw %xmm18, %xmm22, %xmm17
1460 // CHECK:  encoding: [0x62,0xa1,0x4d,0x00,0xf9,0xca]
1461           vpsubw %xmm18, %xmm22, %xmm17
1462
1463 // CHECK: vpsubw %xmm18, %xmm22, %xmm17 {%k6}
1464 // CHECK:  encoding: [0x62,0xa1,0x4d,0x06,0xf9,0xca]
1465           vpsubw %xmm18, %xmm22, %xmm17 {%k6}
1466
1467 // CHECK: vpsubw %xmm18, %xmm22, %xmm17 {%k6} {z}
1468 // CHECK:  encoding: [0x62,0xa1,0x4d,0x86,0xf9,0xca]
1469           vpsubw %xmm18, %xmm22, %xmm17 {%k6} {z}
1470
1471 // CHECK: vpsubw (%rcx), %xmm22, %xmm17
1472 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xf9,0x09]
1473           vpsubw (%rcx), %xmm22, %xmm17
1474
1475 // CHECK: vpsubw 291(%rax,%r14,8), %xmm22, %xmm17
1476 // CHECK:  encoding: [0x62,0xa1,0x4d,0x00,0xf9,0x8c,0xf0,0x23,0x01,0x00,0x00]
1477           vpsubw 291(%rax,%r14,8), %xmm22, %xmm17
1478
1479 // CHECK: vpsubw 2032(%rdx), %xmm22, %xmm17
1480 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xf9,0x4a,0x7f]
1481           vpsubw 2032(%rdx), %xmm22, %xmm17
1482
1483 // CHECK: vpsubw 2048(%rdx), %xmm22, %xmm17
1484 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xf9,0x8a,0x00,0x08,0x00,0x00]
1485           vpsubw 2048(%rdx), %xmm22, %xmm17
1486
1487 // CHECK: vpsubw -2048(%rdx), %xmm22, %xmm17
1488 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xf9,0x4a,0x80]
1489           vpsubw -2048(%rdx), %xmm22, %xmm17
1490
1491 // CHECK: vpsubw -2064(%rdx), %xmm22, %xmm17
1492 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xf9,0x8a,0xf0,0xf7,0xff,0xff]
1493           vpsubw -2064(%rdx), %xmm22, %xmm17
1494
1495 // CHECK: vpsubw %ymm24, %ymm29, %ymm17
1496 // CHECK:  encoding: [0x62,0x81,0x15,0x20,0xf9,0xc8]
1497           vpsubw %ymm24, %ymm29, %ymm17
1498
1499 // CHECK: vpsubw %ymm24, %ymm29, %ymm17 {%k2}
1500 // CHECK:  encoding: [0x62,0x81,0x15,0x22,0xf9,0xc8]
1501           vpsubw %ymm24, %ymm29, %ymm17 {%k2}
1502
1503 // CHECK: vpsubw %ymm24, %ymm29, %ymm17 {%k2} {z}
1504 // CHECK:  encoding: [0x62,0x81,0x15,0xa2,0xf9,0xc8]
1505           vpsubw %ymm24, %ymm29, %ymm17 {%k2} {z}
1506
1507 // CHECK: vpsubw (%rcx), %ymm29, %ymm17
1508 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xf9,0x09]
1509           vpsubw (%rcx), %ymm29, %ymm17
1510
1511 // CHECK: vpsubw 291(%rax,%r14,8), %ymm29, %ymm17
1512 // CHECK:  encoding: [0x62,0xa1,0x15,0x20,0xf9,0x8c,0xf0,0x23,0x01,0x00,0x00]
1513           vpsubw 291(%rax,%r14,8), %ymm29, %ymm17
1514
1515 // CHECK: vpsubw 4064(%rdx), %ymm29, %ymm17
1516 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xf9,0x4a,0x7f]
1517           vpsubw 4064(%rdx), %ymm29, %ymm17
1518
1519 // CHECK: vpsubw 4096(%rdx), %ymm29, %ymm17
1520 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xf9,0x8a,0x00,0x10,0x00,0x00]
1521           vpsubw 4096(%rdx), %ymm29, %ymm17
1522
1523 // CHECK: vpsubw -4096(%rdx), %ymm29, %ymm17
1524 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xf9,0x4a,0x80]
1525           vpsubw -4096(%rdx), %ymm29, %ymm17
1526
1527 // CHECK: vpsubw -4128(%rdx), %ymm29, %ymm17
1528 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xf9,0x8a,0xe0,0xef,0xff,0xff]
1529           vpsubw -4128(%rdx), %ymm29, %ymm17
1530
1531 // CHECK: vmovdqu8 %xmm23, %xmm26
1532 // CHECK:  encoding: [0x62,0x21,0x7f,0x08,0x6f,0xd7]
1533           vmovdqu8 %xmm23, %xmm26
1534
1535 // CHECK: vmovdqu8 %xmm23, %xmm26 {%k2}
1536 // CHECK:  encoding: [0x62,0x21,0x7f,0x0a,0x6f,0xd7]
1537           vmovdqu8 %xmm23, %xmm26 {%k2}
1538
1539 // CHECK: vmovdqu8 %xmm23, %xmm26 {%k2} {z}
1540 // CHECK:  encoding: [0x62,0x21,0x7f,0x8a,0x6f,0xd7]
1541           vmovdqu8 %xmm23, %xmm26 {%k2} {z}
1542
1543 // CHECK: vmovdqu8 (%rcx), %xmm26
1544 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x11]
1545           vmovdqu8 (%rcx), %xmm26
1546
1547 // CHECK: vmovdqu8 291(%rax,%r14,8), %xmm26
1548 // CHECK:  encoding: [0x62,0x21,0x7f,0x08,0x6f,0x94,0xf0,0x23,0x01,0x00,0x00]
1549           vmovdqu8 291(%rax,%r14,8), %xmm26
1550
1551 // CHECK: vmovdqu8 2032(%rdx), %xmm26
1552 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x52,0x7f]
1553           vmovdqu8 2032(%rdx), %xmm26
1554
1555 // CHECK: vmovdqu8 2048(%rdx), %xmm26
1556 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x92,0x00,0x08,0x00,0x00]
1557           vmovdqu8 2048(%rdx), %xmm26
1558
1559 // CHECK: vmovdqu8 -2048(%rdx), %xmm26
1560 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x52,0x80]
1561           vmovdqu8 -2048(%rdx), %xmm26
1562
1563 // CHECK: vmovdqu8 -2064(%rdx), %xmm26
1564 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x92,0xf0,0xf7,0xff,0xff]
1565           vmovdqu8 -2064(%rdx), %xmm26
1566
1567 // CHECK: vmovdqu8 %ymm29, %ymm18
1568 // CHECK:  encoding: [0x62,0x81,0x7f,0x28,0x6f,0xd5]
1569           vmovdqu8 %ymm29, %ymm18
1570
1571 // CHECK: vmovdqu8 %ymm29, %ymm18 {%k7}
1572 // CHECK:  encoding: [0x62,0x81,0x7f,0x2f,0x6f,0xd5]
1573           vmovdqu8 %ymm29, %ymm18 {%k7}
1574
1575 // CHECK: vmovdqu8 %ymm29, %ymm18 {%k7} {z}
1576 // CHECK:  encoding: [0x62,0x81,0x7f,0xaf,0x6f,0xd5]
1577           vmovdqu8 %ymm29, %ymm18 {%k7} {z}
1578
1579 // CHECK: vmovdqu8 (%rcx), %ymm18
1580 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x11]
1581           vmovdqu8 (%rcx), %ymm18
1582
1583 // CHECK: vmovdqu8 291(%rax,%r14,8), %ymm18
1584 // CHECK:  encoding: [0x62,0xa1,0x7f,0x28,0x6f,0x94,0xf0,0x23,0x01,0x00,0x00]
1585           vmovdqu8 291(%rax,%r14,8), %ymm18
1586
1587 // CHECK: vmovdqu8 4064(%rdx), %ymm18
1588 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x52,0x7f]
1589           vmovdqu8 4064(%rdx), %ymm18
1590
1591 // CHECK: vmovdqu8 4096(%rdx), %ymm18
1592 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x92,0x00,0x10,0x00,0x00]
1593           vmovdqu8 4096(%rdx), %ymm18
1594
1595 // CHECK: vmovdqu8 -4096(%rdx), %ymm18
1596 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x52,0x80]
1597           vmovdqu8 -4096(%rdx), %ymm18
1598
1599 // CHECK: vmovdqu8 -4128(%rdx), %ymm18
1600 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x92,0xe0,0xef,0xff,0xff]
1601           vmovdqu8 -4128(%rdx), %ymm18
1602
1603 // CHECK: vmovdqu16 %xmm24, %xmm29
1604 // CHECK:  encoding: [0x62,0x01,0xff,0x08,0x6f,0xe8]
1605           vmovdqu16 %xmm24, %xmm29
1606
1607 // CHECK: vmovdqu16 %xmm24, %xmm29 {%k6}
1608 // CHECK:  encoding: [0x62,0x01,0xff,0x0e,0x6f,0xe8]
1609           vmovdqu16 %xmm24, %xmm29 {%k6}
1610
1611 // CHECK: vmovdqu16 %xmm24, %xmm29 {%k6} {z}
1612 // CHECK:  encoding: [0x62,0x01,0xff,0x8e,0x6f,0xe8]
1613           vmovdqu16 %xmm24, %xmm29 {%k6} {z}
1614
1615 // CHECK: vmovdqu16 (%rcx), %xmm29
1616 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0x29]
1617           vmovdqu16 (%rcx), %xmm29
1618
1619 // CHECK: vmovdqu16 291(%rax,%r14,8), %xmm29
1620 // CHECK:  encoding: [0x62,0x21,0xff,0x08,0x6f,0xac,0xf0,0x23,0x01,0x00,0x00]
1621           vmovdqu16 291(%rax,%r14,8), %xmm29
1622
1623 // CHECK: vmovdqu16 2032(%rdx), %xmm29
1624 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0x6a,0x7f]
1625           vmovdqu16 2032(%rdx), %xmm29
1626
1627 // CHECK: vmovdqu16 2048(%rdx), %xmm29
1628 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0xaa,0x00,0x08,0x00,0x00]
1629           vmovdqu16 2048(%rdx), %xmm29
1630
1631 // CHECK: vmovdqu16 -2048(%rdx), %xmm29
1632 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0x6a,0x80]
1633           vmovdqu16 -2048(%rdx), %xmm29
1634
1635 // CHECK: vmovdqu16 -2064(%rdx), %xmm29
1636 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0xaa,0xf0,0xf7,0xff,0xff]
1637           vmovdqu16 -2064(%rdx), %xmm29
1638
1639 // CHECK: vmovdqu16 %ymm24, %ymm23
1640 // CHECK:  encoding: [0x62,0x81,0xff,0x28,0x6f,0xf8]
1641           vmovdqu16 %ymm24, %ymm23
1642
1643 // CHECK: vmovdqu16 %ymm24, %ymm23 {%k3}
1644 // CHECK:  encoding: [0x62,0x81,0xff,0x2b,0x6f,0xf8]
1645           vmovdqu16 %ymm24, %ymm23 {%k3}
1646
1647 // CHECK: vmovdqu16 %ymm24, %ymm23 {%k3} {z}
1648 // CHECK:  encoding: [0x62,0x81,0xff,0xab,0x6f,0xf8]
1649           vmovdqu16 %ymm24, %ymm23 {%k3} {z}
1650
1651 // CHECK: vmovdqu16 (%rcx), %ymm23
1652 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0x39]
1653           vmovdqu16 (%rcx), %ymm23
1654
1655 // CHECK: vmovdqu16 291(%rax,%r14,8), %ymm23
1656 // CHECK:  encoding: [0x62,0xa1,0xff,0x28,0x6f,0xbc,0xf0,0x23,0x01,0x00,0x00]
1657           vmovdqu16 291(%rax,%r14,8), %ymm23
1658
1659 // CHECK: vmovdqu16 4064(%rdx), %ymm23
1660 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0x7a,0x7f]
1661           vmovdqu16 4064(%rdx), %ymm23
1662
1663 // CHECK: vmovdqu16 4096(%rdx), %ymm23
1664 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0xba,0x00,0x10,0x00,0x00]
1665           vmovdqu16 4096(%rdx), %ymm23
1666
1667 // CHECK: vmovdqu16 -4096(%rdx), %ymm23
1668 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0x7a,0x80]
1669           vmovdqu16 -4096(%rdx), %ymm23
1670
1671 // CHECK: vmovdqu16 -4128(%rdx), %ymm23
1672 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0xba,0xe0,0xef,0xff,0xff]
1673           vmovdqu16 -4128(%rdx), %ymm23
1674
1675 // CHECK: vmovdqu8 %xmm17, (%rcx)
1676 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x09]
1677           vmovdqu8 %xmm17, (%rcx)
1678
1679 // CHECK: vmovdqu8 %xmm17, (%rcx) {%k4}
1680 // CHECK:  encoding: [0x62,0xe1,0x7f,0x0c,0x7f,0x09]
1681           vmovdqu8 %xmm17, (%rcx) {%k4}
1682
1683 // CHECK: vmovdqu8 %xmm17, 291(%rax,%r14,8)
1684 // CHECK:  encoding: [0x62,0xa1,0x7f,0x08,0x7f,0x8c,0xf0,0x23,0x01,0x00,0x00]
1685           vmovdqu8 %xmm17, 291(%rax,%r14,8)
1686
1687 // CHECK: vmovdqu8 %xmm17, 2032(%rdx)
1688 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x4a,0x7f]
1689           vmovdqu8 %xmm17, 2032(%rdx)
1690
1691 // CHECK: vmovdqu8 %xmm17, 2048(%rdx)
1692 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x8a,0x00,0x08,0x00,0x00]
1693           vmovdqu8 %xmm17, 2048(%rdx)
1694
1695 // CHECK: vmovdqu8 %xmm17, -2048(%rdx)
1696 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x4a,0x80]
1697           vmovdqu8 %xmm17, -2048(%rdx)
1698
1699 // CHECK: vmovdqu8 %xmm17, -2064(%rdx)
1700 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x8a,0xf0,0xf7,0xff,0xff]
1701           vmovdqu8 %xmm17, -2064(%rdx)
1702
1703 // CHECK: vmovdqu8 %ymm21, (%rcx)
1704 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0x29]
1705           vmovdqu8 %ymm21, (%rcx)
1706
1707 // CHECK: vmovdqu8 %ymm21, (%rcx) {%k1}
1708 // CHECK:  encoding: [0x62,0xe1,0x7f,0x29,0x7f,0x29]
1709           vmovdqu8 %ymm21, (%rcx) {%k1}
1710
1711 // CHECK: vmovdqu8 %ymm21, 291(%rax,%r14,8)
1712 // CHECK:  encoding: [0x62,0xa1,0x7f,0x28,0x7f,0xac,0xf0,0x23,0x01,0x00,0x00]
1713           vmovdqu8 %ymm21, 291(%rax,%r14,8)
1714
1715 // CHECK: vmovdqu8 %ymm21, 4064(%rdx)
1716 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0x6a,0x7f]
1717           vmovdqu8 %ymm21, 4064(%rdx)
1718
1719 // CHECK: vmovdqu8 %ymm21, 4096(%rdx)
1720 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0xaa,0x00,0x10,0x00,0x00]
1721           vmovdqu8 %ymm21, 4096(%rdx)
1722
1723 // CHECK: vmovdqu8 %ymm21, -4096(%rdx)
1724 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0x6a,0x80]
1725           vmovdqu8 %ymm21, -4096(%rdx)
1726
1727 // CHECK: vmovdqu8 %ymm21, -4128(%rdx)
1728 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0xaa,0xe0,0xef,0xff,0xff]
1729           vmovdqu8 %ymm21, -4128(%rdx)
1730
1731 // CHECK: vmovdqu16 %xmm23, (%rcx)
1732 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0x39]
1733           vmovdqu16 %xmm23, (%rcx)
1734
1735 // CHECK: vmovdqu16 %xmm23, (%rcx) {%k7}
1736 // CHECK:  encoding: [0x62,0xe1,0xff,0x0f,0x7f,0x39]
1737           vmovdqu16 %xmm23, (%rcx) {%k7}
1738
1739 // CHECK: vmovdqu16 %xmm23, 291(%rax,%r14,8)
1740 // CHECK:  encoding: [0x62,0xa1,0xff,0x08,0x7f,0xbc,0xf0,0x23,0x01,0x00,0x00]
1741           vmovdqu16 %xmm23, 291(%rax,%r14,8)
1742
1743 // CHECK: vmovdqu16 %xmm23, 2032(%rdx)
1744 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0x7a,0x7f]
1745           vmovdqu16 %xmm23, 2032(%rdx)
1746
1747 // CHECK: vmovdqu16 %xmm23, 2048(%rdx)
1748 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0xba,0x00,0x08,0x00,0x00]
1749           vmovdqu16 %xmm23, 2048(%rdx)
1750
1751 // CHECK: vmovdqu16 %xmm23, -2048(%rdx)
1752 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0x7a,0x80]
1753           vmovdqu16 %xmm23, -2048(%rdx)
1754
1755 // CHECK: vmovdqu16 %xmm23, -2064(%rdx)
1756 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0xba,0xf0,0xf7,0xff,0xff]
1757           vmovdqu16 %xmm23, -2064(%rdx)
1758
1759 // CHECK: vmovdqu16 %ymm29, (%rcx)
1760 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0x29]
1761           vmovdqu16 %ymm29, (%rcx)
1762
1763 // CHECK: vmovdqu16 %ymm29, (%rcx) {%k6}
1764 // CHECK:  encoding: [0x62,0x61,0xff,0x2e,0x7f,0x29]
1765           vmovdqu16 %ymm29, (%rcx) {%k6}
1766
1767 // CHECK: vmovdqu16 %ymm29, 291(%rax,%r14,8)
1768 // CHECK:  encoding: [0x62,0x21,0xff,0x28,0x7f,0xac,0xf0,0x23,0x01,0x00,0x00]
1769           vmovdqu16 %ymm29, 291(%rax,%r14,8)
1770
1771 // CHECK: vmovdqu16 %ymm29, 4064(%rdx)
1772 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0x6a,0x7f]
1773           vmovdqu16 %ymm29, 4064(%rdx)
1774
1775 // CHECK: vmovdqu16 %ymm29, 4096(%rdx)
1776 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0xaa,0x00,0x10,0x00,0x00]
1777           vmovdqu16 %ymm29, 4096(%rdx)
1778
1779 // CHECK: vmovdqu16 %ymm29, -4096(%rdx)
1780 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0x6a,0x80]
1781           vmovdqu16 %ymm29, -4096(%rdx)
1782
1783 // CHECK: vmovdqu16 %ymm29, -4128(%rdx)
1784 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0xaa,0xe0,0xef,0xff,0xff]
1785           vmovdqu16 %ymm29, -4128(%rdx)
1786
1787 // CHECK: vpsllw %xmm26, %xmm23, %xmm19
1788 // CHECK:  encoding: [0x62,0x81,0x45,0x00,0xf1,0xda]
1789           vpsllw %xmm26, %xmm23, %xmm19
1790
1791 // CHECK: vpsllw %xmm26, %xmm23, %xmm19 {%k7}
1792 // CHECK:  encoding: [0x62,0x81,0x45,0x07,0xf1,0xda]
1793           vpsllw %xmm26, %xmm23, %xmm19 {%k7}
1794
1795 // CHECK: vpsllw %xmm26, %xmm23, %xmm19 {%k7} {z}
1796 // CHECK:  encoding: [0x62,0x81,0x45,0x87,0xf1,0xda]
1797           vpsllw %xmm26, %xmm23, %xmm19 {%k7} {z}
1798
1799 // CHECK: vpsllw (%rcx), %xmm23, %xmm19
1800 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xf1,0x19]
1801           vpsllw (%rcx), %xmm23, %xmm19
1802
1803 // CHECK: vpsllw 291(%rax,%r14,8), %xmm23, %xmm19
1804 // CHECK:  encoding: [0x62,0xa1,0x45,0x00,0xf1,0x9c,0xf0,0x23,0x01,0x00,0x00]
1805           vpsllw 291(%rax,%r14,8), %xmm23, %xmm19
1806
1807 // CHECK: vpsllw 2032(%rdx), %xmm23, %xmm19
1808 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xf1,0x5a,0x7f]
1809           vpsllw 2032(%rdx), %xmm23, %xmm19
1810
1811 // CHECK: vpsllw 2048(%rdx), %xmm23, %xmm19
1812 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xf1,0x9a,0x00,0x08,0x00,0x00]
1813           vpsllw 2048(%rdx), %xmm23, %xmm19
1814
1815 // CHECK: vpsllw -2048(%rdx), %xmm23, %xmm19
1816 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xf1,0x5a,0x80]
1817           vpsllw -2048(%rdx), %xmm23, %xmm19
1818
1819 // CHECK: vpsllw -2064(%rdx), %xmm23, %xmm19
1820 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xf1,0x9a,0xf0,0xf7,0xff,0xff]
1821           vpsllw -2064(%rdx), %xmm23, %xmm19
1822
1823 // CHECK: vpsllw %xmm26, %ymm21, %ymm20
1824 // CHECK:  encoding: [0x62,0x81,0x55,0x20,0xf1,0xe2]
1825           vpsllw %xmm26, %ymm21, %ymm20
1826
1827 // CHECK: vpsllw %xmm26, %ymm21, %ymm20 {%k7}
1828 // CHECK:  encoding: [0x62,0x81,0x55,0x27,0xf1,0xe2]
1829           vpsllw %xmm26, %ymm21, %ymm20 {%k7}
1830
1831 // CHECK: vpsllw %xmm26, %ymm21, %ymm20 {%k7} {z}
1832 // CHECK:  encoding: [0x62,0x81,0x55,0xa7,0xf1,0xe2]
1833           vpsllw %xmm26, %ymm21, %ymm20 {%k7} {z}
1834
1835 // CHECK: vpsllw (%rcx), %ymm21, %ymm20
1836 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xf1,0x21]
1837           vpsllw (%rcx), %ymm21, %ymm20
1838
1839 // CHECK: vpsllw 291(%rax,%r14,8), %ymm21, %ymm20
1840 // CHECK:  encoding: [0x62,0xa1,0x55,0x20,0xf1,0xa4,0xf0,0x23,0x01,0x00,0x00]
1841           vpsllw 291(%rax,%r14,8), %ymm21, %ymm20
1842
1843 // CHECK: vpsllw 2032(%rdx), %ymm21, %ymm20
1844 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xf1,0x62,0x7f]
1845           vpsllw 2032(%rdx), %ymm21, %ymm20
1846
1847 // CHECK: vpsllw 2048(%rdx), %ymm21, %ymm20
1848 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xf1,0xa2,0x00,0x08,0x00,0x00]
1849           vpsllw 2048(%rdx), %ymm21, %ymm20
1850
1851 // CHECK: vpsllw -2048(%rdx), %ymm21, %ymm20
1852 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xf1,0x62,0x80]
1853           vpsllw -2048(%rdx), %ymm21, %ymm20
1854
1855 // CHECK: vpsllw -2064(%rdx), %ymm21, %ymm20
1856 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xf1,0xa2,0xf0,0xf7,0xff,0xff]
1857           vpsllw -2064(%rdx), %ymm21, %ymm20
1858
1859 // CHECK: vpsraw %xmm28, %xmm28, %xmm17
1860 // CHECK:  encoding: [0x62,0x81,0x1d,0x00,0xe1,0xcc]
1861           vpsraw %xmm28, %xmm28, %xmm17
1862
1863 // CHECK: vpsraw %xmm28, %xmm28, %xmm17 {%k1}
1864 // CHECK:  encoding: [0x62,0x81,0x1d,0x01,0xe1,0xcc]
1865           vpsraw %xmm28, %xmm28, %xmm17 {%k1}
1866
1867 // CHECK: vpsraw %xmm28, %xmm28, %xmm17 {%k1} {z}
1868 // CHECK:  encoding: [0x62,0x81,0x1d,0x81,0xe1,0xcc]
1869           vpsraw %xmm28, %xmm28, %xmm17 {%k1} {z}
1870
1871 // CHECK: vpsraw (%rcx), %xmm28, %xmm17
1872 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xe1,0x09]
1873           vpsraw (%rcx), %xmm28, %xmm17
1874
1875 // CHECK: vpsraw 291(%rax,%r14,8), %xmm28, %xmm17
1876 // CHECK:  encoding: [0x62,0xa1,0x1d,0x00,0xe1,0x8c,0xf0,0x23,0x01,0x00,0x00]
1877           vpsraw 291(%rax,%r14,8), %xmm28, %xmm17
1878
1879 // CHECK: vpsraw 2032(%rdx), %xmm28, %xmm17
1880 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xe1,0x4a,0x7f]
1881           vpsraw 2032(%rdx), %xmm28, %xmm17
1882
1883 // CHECK: vpsraw 2048(%rdx), %xmm28, %xmm17
1884 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xe1,0x8a,0x00,0x08,0x00,0x00]
1885           vpsraw 2048(%rdx), %xmm28, %xmm17
1886
1887 // CHECK: vpsraw -2048(%rdx), %xmm28, %xmm17
1888 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xe1,0x4a,0x80]
1889           vpsraw -2048(%rdx), %xmm28, %xmm17
1890
1891 // CHECK: vpsraw -2064(%rdx), %xmm28, %xmm17
1892 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xe1,0x8a,0xf0,0xf7,0xff,0xff]
1893           vpsraw -2064(%rdx), %xmm28, %xmm17
1894
1895 // CHECK: vpsraw %xmm19, %ymm26, %ymm18
1896 // CHECK:  encoding: [0x62,0xa1,0x2d,0x20,0xe1,0xd3]
1897           vpsraw %xmm19, %ymm26, %ymm18
1898
1899 // CHECK: vpsraw %xmm19, %ymm26, %ymm18 {%k7}
1900 // CHECK:  encoding: [0x62,0xa1,0x2d,0x27,0xe1,0xd3]
1901           vpsraw %xmm19, %ymm26, %ymm18 {%k7}
1902
1903 // CHECK: vpsraw %xmm19, %ymm26, %ymm18 {%k7} {z}
1904 // CHECK:  encoding: [0x62,0xa1,0x2d,0xa7,0xe1,0xd3]
1905           vpsraw %xmm19, %ymm26, %ymm18 {%k7} {z}
1906
1907 // CHECK: vpsraw (%rcx), %ymm26, %ymm18
1908 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xe1,0x11]
1909           vpsraw (%rcx), %ymm26, %ymm18
1910
1911 // CHECK: vpsraw 291(%rax,%r14,8), %ymm26, %ymm18
1912 // CHECK:  encoding: [0x62,0xa1,0x2d,0x20,0xe1,0x94,0xf0,0x23,0x01,0x00,0x00]
1913           vpsraw 291(%rax,%r14,8), %ymm26, %ymm18
1914
1915 // CHECK: vpsraw 2032(%rdx), %ymm26, %ymm18
1916 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xe1,0x52,0x7f]
1917           vpsraw 2032(%rdx), %ymm26, %ymm18
1918
1919 // CHECK: vpsraw 2048(%rdx), %ymm26, %ymm18
1920 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xe1,0x92,0x00,0x08,0x00,0x00]
1921           vpsraw 2048(%rdx), %ymm26, %ymm18
1922
1923 // CHECK: vpsraw -2048(%rdx), %ymm26, %ymm18
1924 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xe1,0x52,0x80]
1925           vpsraw -2048(%rdx), %ymm26, %ymm18
1926
1927 // CHECK: vpsraw -2064(%rdx), %ymm26, %ymm18
1928 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xe1,0x92,0xf0,0xf7,0xff,0xff]
1929           vpsraw -2064(%rdx), %ymm26, %ymm18
1930
1931 // CHECK: vpsrlw %xmm27, %xmm29, %xmm30
1932 // CHECK:  encoding: [0x62,0x01,0x15,0x00,0xd1,0xf3]
1933           vpsrlw %xmm27, %xmm29, %xmm30
1934
1935 // CHECK: vpsrlw %xmm27, %xmm29, %xmm30 {%k1}
1936 // CHECK:  encoding: [0x62,0x01,0x15,0x01,0xd1,0xf3]
1937           vpsrlw %xmm27, %xmm29, %xmm30 {%k1}
1938
1939 // CHECK: vpsrlw %xmm27, %xmm29, %xmm30 {%k1} {z}
1940 // CHECK:  encoding: [0x62,0x01,0x15,0x81,0xd1,0xf3]
1941           vpsrlw %xmm27, %xmm29, %xmm30 {%k1} {z}
1942
1943 // CHECK: vpsrlw (%rcx), %xmm29, %xmm30
1944 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xd1,0x31]
1945           vpsrlw (%rcx), %xmm29, %xmm30
1946
1947 // CHECK: vpsrlw 291(%rax,%r14,8), %xmm29, %xmm30
1948 // CHECK:  encoding: [0x62,0x21,0x15,0x00,0xd1,0xb4,0xf0,0x23,0x01,0x00,0x00]
1949           vpsrlw 291(%rax,%r14,8), %xmm29, %xmm30
1950
1951 // CHECK: vpsrlw 2032(%rdx), %xmm29, %xmm30
1952 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xd1,0x72,0x7f]
1953           vpsrlw 2032(%rdx), %xmm29, %xmm30
1954
1955 // CHECK: vpsrlw 2048(%rdx), %xmm29, %xmm30
1956 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xd1,0xb2,0x00,0x08,0x00,0x00]
1957           vpsrlw 2048(%rdx), %xmm29, %xmm30
1958
1959 // CHECK: vpsrlw -2048(%rdx), %xmm29, %xmm30
1960 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xd1,0x72,0x80]
1961           vpsrlw -2048(%rdx), %xmm29, %xmm30
1962
1963 // CHECK: vpsrlw -2064(%rdx), %xmm29, %xmm30
1964 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xd1,0xb2,0xf0,0xf7,0xff,0xff]
1965           vpsrlw -2064(%rdx), %xmm29, %xmm30
1966
1967 // CHECK: vpsrlw %xmm27, %ymm18, %ymm28
1968 // CHECK:  encoding: [0x62,0x01,0x6d,0x20,0xd1,0xe3]
1969           vpsrlw %xmm27, %ymm18, %ymm28
1970
1971 // CHECK: vpsrlw %xmm27, %ymm18, %ymm28 {%k2}
1972 // CHECK:  encoding: [0x62,0x01,0x6d,0x22,0xd1,0xe3]
1973           vpsrlw %xmm27, %ymm18, %ymm28 {%k2}
1974
1975 // CHECK: vpsrlw %xmm27, %ymm18, %ymm28 {%k2} {z}
1976 // CHECK:  encoding: [0x62,0x01,0x6d,0xa2,0xd1,0xe3]
1977           vpsrlw %xmm27, %ymm18, %ymm28 {%k2} {z}
1978
1979 // CHECK: vpsrlw (%rcx), %ymm18, %ymm28
1980 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xd1,0x21]
1981           vpsrlw (%rcx), %ymm18, %ymm28
1982
1983 // CHECK: vpsrlw 291(%rax,%r14,8), %ymm18, %ymm28
1984 // CHECK:  encoding: [0x62,0x21,0x6d,0x20,0xd1,0xa4,0xf0,0x23,0x01,0x00,0x00]
1985           vpsrlw 291(%rax,%r14,8), %ymm18, %ymm28
1986
1987 // CHECK: vpsrlw 2032(%rdx), %ymm18, %ymm28
1988 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xd1,0x62,0x7f]
1989           vpsrlw 2032(%rdx), %ymm18, %ymm28
1990
1991 // CHECK: vpsrlw 2048(%rdx), %ymm18, %ymm28
1992 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xd1,0xa2,0x00,0x08,0x00,0x00]
1993           vpsrlw 2048(%rdx), %ymm18, %ymm28
1994
1995 // CHECK: vpsrlw -2048(%rdx), %ymm18, %ymm28
1996 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xd1,0x62,0x80]
1997           vpsrlw -2048(%rdx), %ymm18, %ymm28
1998
1999 // CHECK: vpsrlw -2064(%rdx), %ymm18, %ymm28
2000 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xd1,0xa2,0xf0,0xf7,0xff,0xff]
2001           vpsrlw -2064(%rdx), %ymm18, %ymm28
2002
2003 // CHECK: vpsrlw $171, %xmm21, %xmm22
2004 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0xd5,0xab]
2005           vpsrlw $171, %xmm21, %xmm22
2006
2007 // CHECK: vpsrlw $171, %xmm21, %xmm22 {%k7}
2008 // CHECK:  encoding: [0x62,0xb1,0x4d,0x07,0x71,0xd5,0xab]
2009           vpsrlw $171, %xmm21, %xmm22 {%k7}
2010
2011 // CHECK: vpsrlw $171, %xmm21, %xmm22 {%k7} {z}
2012 // CHECK:  encoding: [0x62,0xb1,0x4d,0x87,0x71,0xd5,0xab]
2013           vpsrlw $171, %xmm21, %xmm22 {%k7} {z}
2014
2015 // CHECK: vpsrlw $123, %xmm21, %xmm22
2016 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0xd5,0x7b]
2017           vpsrlw $123, %xmm21, %xmm22
2018
2019 // CHECK: vpsrlw $123, (%rcx), %xmm22
2020 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x11,0x7b]
2021           vpsrlw $123, (%rcx), %xmm22
2022
2023 // CHECK: vpsrlw $123, 291(%rax,%r14,8), %xmm22
2024 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0x94,0xf0,0x23,0x01,0x00,0x00,0x7b]
2025           vpsrlw $123, 291(%rax,%r14,8), %xmm22
2026
2027 // CHECK: vpsrlw $123, 2032(%rdx), %xmm22
2028 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x52,0x7f,0x7b]
2029           vpsrlw $123, 2032(%rdx), %xmm22
2030
2031 // CHECK: vpsrlw $123, 2048(%rdx), %xmm22
2032 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x92,0x00,0x08,0x00,0x00,0x7b]
2033           vpsrlw $123, 2048(%rdx), %xmm22
2034
2035 // CHECK: vpsrlw $123, -2048(%rdx), %xmm22
2036 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x52,0x80,0x7b]
2037           vpsrlw $123, -2048(%rdx), %xmm22
2038
2039 // CHECK: vpsrlw $123, -2064(%rdx), %xmm22
2040 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x92,0xf0,0xf7,0xff,0xff,0x7b]
2041           vpsrlw $123, -2064(%rdx), %xmm22
2042
2043 // CHECK: vpsrlw $171, %ymm19, %ymm27
2044 // CHECK:  encoding: [0x62,0xb1,0x25,0x20,0x71,0xd3,0xab]
2045           vpsrlw $171, %ymm19, %ymm27
2046
2047 // CHECK: vpsrlw $171, %ymm19, %ymm27 {%k3}
2048 // CHECK:  encoding: [0x62,0xb1,0x25,0x23,0x71,0xd3,0xab]
2049           vpsrlw $171, %ymm19, %ymm27 {%k3}
2050
2051 // CHECK: vpsrlw $171, %ymm19, %ymm27 {%k3} {z}
2052 // CHECK:  encoding: [0x62,0xb1,0x25,0xa3,0x71,0xd3,0xab]
2053           vpsrlw $171, %ymm19, %ymm27 {%k3} {z}
2054
2055 // CHECK: vpsrlw $123, %ymm19, %ymm27
2056 // CHECK:  encoding: [0x62,0xb1,0x25,0x20,0x71,0xd3,0x7b]
2057           vpsrlw $123, %ymm19, %ymm27
2058
2059 // CHECK: vpsrlw $123, (%rcx), %ymm27
2060 // CHECK:  encoding: [0x62,0xf1,0x25,0x20,0x71,0x11,0x7b]
2061           vpsrlw $123, (%rcx), %ymm27
2062
2063 // CHECK: vpsrlw $123, 291(%rax,%r14,8), %ymm27
2064 // CHECK:  encoding: [0x62,0xb1,0x25,0x20,0x71,0x94,0xf0,0x23,0x01,0x00,0x00,0x7b]
2065           vpsrlw $123, 291(%rax,%r14,8), %ymm27
2066
2067 // CHECK: vpsrlw $123, 4064(%rdx), %ymm27
2068 // CHECK:  encoding: [0x62,0xf1,0x25,0x20,0x71,0x52,0x7f,0x7b]
2069           vpsrlw $123, 4064(%rdx), %ymm27
2070
2071 // CHECK: vpsrlw $123, 4096(%rdx), %ymm27
2072 // CHECK:  encoding: [0x62,0xf1,0x25,0x20,0x71,0x92,0x00,0x10,0x00,0x00,0x7b]
2073           vpsrlw $123, 4096(%rdx), %ymm27
2074
2075 // CHECK: vpsrlw $123, -4096(%rdx), %ymm27
2076 // CHECK:  encoding: [0x62,0xf1,0x25,0x20,0x71,0x52,0x80,0x7b]
2077           vpsrlw $123, -4096(%rdx), %ymm27
2078
2079 // CHECK: vpsrlw $123, -4128(%rdx), %ymm27
2080 // CHECK:  encoding: [0x62,0xf1,0x25,0x20,0x71,0x92,0xe0,0xef,0xff,0xff,0x7b]
2081           vpsrlw $123, -4128(%rdx), %ymm27
2082
2083 // CHECK: vpsraw $171, %xmm22, %xmm22
2084 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0xe6,0xab]
2085           vpsraw $171, %xmm22, %xmm22
2086
2087 // CHECK: vpsraw $171, %xmm22, %xmm22 {%k4}
2088 // CHECK:  encoding: [0x62,0xb1,0x4d,0x04,0x71,0xe6,0xab]
2089           vpsraw $171, %xmm22, %xmm22 {%k4}
2090
2091 // CHECK: vpsraw $171, %xmm22, %xmm22 {%k4} {z}
2092 // CHECK:  encoding: [0x62,0xb1,0x4d,0x84,0x71,0xe6,0xab]
2093           vpsraw $171, %xmm22, %xmm22 {%k4} {z}
2094
2095 // CHECK: vpsraw $123, %xmm22, %xmm22
2096 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0xe6,0x7b]
2097           vpsraw $123, %xmm22, %xmm22
2098
2099 // CHECK: vpsraw $123, (%rcx), %xmm22
2100 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x21,0x7b]
2101           vpsraw $123, (%rcx), %xmm22
2102
2103 // CHECK: vpsraw $123, 291(%rax,%r14,8), %xmm22
2104 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b]
2105           vpsraw $123, 291(%rax,%r14,8), %xmm22
2106
2107 // CHECK: vpsraw $123, 2032(%rdx), %xmm22
2108 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x62,0x7f,0x7b]
2109           vpsraw $123, 2032(%rdx), %xmm22
2110
2111 // CHECK: vpsraw $123, 2048(%rdx), %xmm22
2112 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0xa2,0x00,0x08,0x00,0x00,0x7b]
2113           vpsraw $123, 2048(%rdx), %xmm22
2114
2115 // CHECK: vpsraw $123, -2048(%rdx), %xmm22
2116 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x62,0x80,0x7b]
2117           vpsraw $123, -2048(%rdx), %xmm22
2118
2119 // CHECK: vpsraw $123, -2064(%rdx), %xmm22
2120 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0xa2,0xf0,0xf7,0xff,0xff,0x7b]
2121           vpsraw $123, -2064(%rdx), %xmm22
2122
2123 // CHECK: vpsraw $171, %ymm22, %ymm19
2124 // CHECK:  encoding: [0x62,0xb1,0x65,0x20,0x71,0xe6,0xab]
2125           vpsraw $171, %ymm22, %ymm19
2126
2127 // CHECK: vpsraw $171, %ymm22, %ymm19 {%k7}
2128 // CHECK:  encoding: [0x62,0xb1,0x65,0x27,0x71,0xe6,0xab]
2129           vpsraw $171, %ymm22, %ymm19 {%k7}
2130
2131 // CHECK: vpsraw $171, %ymm22, %ymm19 {%k7} {z}
2132 // CHECK:  encoding: [0x62,0xb1,0x65,0xa7,0x71,0xe6,0xab]
2133           vpsraw $171, %ymm22, %ymm19 {%k7} {z}
2134
2135 // CHECK: vpsraw $123, %ymm22, %ymm19
2136 // CHECK:  encoding: [0x62,0xb1,0x65,0x20,0x71,0xe6,0x7b]
2137           vpsraw $123, %ymm22, %ymm19
2138
2139 // CHECK: vpsraw $123, (%rcx), %ymm19
2140 // CHECK:  encoding: [0x62,0xf1,0x65,0x20,0x71,0x21,0x7b]
2141           vpsraw $123, (%rcx), %ymm19
2142
2143 // CHECK: vpsraw $123, 291(%rax,%r14,8), %ymm19
2144 // CHECK:  encoding: [0x62,0xb1,0x65,0x20,0x71,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b]
2145           vpsraw $123, 291(%rax,%r14,8), %ymm19
2146
2147 // CHECK: vpsraw $123, 4064(%rdx), %ymm19
2148 // CHECK:  encoding: [0x62,0xf1,0x65,0x20,0x71,0x62,0x7f,0x7b]
2149           vpsraw $123, 4064(%rdx), %ymm19
2150
2151 // CHECK: vpsraw $123, 4096(%rdx), %ymm19
2152 // CHECK:  encoding: [0x62,0xf1,0x65,0x20,0x71,0xa2,0x00,0x10,0x00,0x00,0x7b]
2153           vpsraw $123, 4096(%rdx), %ymm19
2154
2155 // CHECK: vpsraw $123, -4096(%rdx), %ymm19
2156 // CHECK:  encoding: [0x62,0xf1,0x65,0x20,0x71,0x62,0x80,0x7b]
2157           vpsraw $123, -4096(%rdx), %ymm19
2158
2159 // CHECK: vpsraw $123, -4128(%rdx), %ymm19
2160 // CHECK:  encoding: [0x62,0xf1,0x65,0x20,0x71,0xa2,0xe0,0xef,0xff,0xff,0x7b]
2161           vpsraw $123, -4128(%rdx), %ymm19
2162
2163 // CHECK: vpsrlvw %xmm19, %xmm22, %xmm30
2164 // CHECK:  encoding: [0x62,0x22,0xcd,0x00,0x10,0xf3]
2165           vpsrlvw %xmm19, %xmm22, %xmm30
2166
2167 // CHECK: vpsrlvw %xmm19, %xmm22, %xmm30 {%k7}
2168 // CHECK:  encoding: [0x62,0x22,0xcd,0x07,0x10,0xf3]
2169           vpsrlvw %xmm19, %xmm22, %xmm30 {%k7}
2170
2171 // CHECK: vpsrlvw %xmm19, %xmm22, %xmm30 {%k7} {z}
2172 // CHECK:  encoding: [0x62,0x22,0xcd,0x87,0x10,0xf3]
2173           vpsrlvw %xmm19, %xmm22, %xmm30 {%k7} {z}
2174
2175 // CHECK: vpsrlvw (%rcx), %xmm22, %xmm30
2176 // CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x10,0x31]
2177           vpsrlvw (%rcx), %xmm22, %xmm30
2178
2179 // CHECK: vpsrlvw 291(%rax,%r14,8), %xmm22, %xmm30
2180 // CHECK:  encoding: [0x62,0x22,0xcd,0x00,0x10,0xb4,0xf0,0x23,0x01,0x00,0x00]
2181           vpsrlvw 291(%rax,%r14,8), %xmm22, %xmm30
2182
2183 // CHECK: vpsrlvw 2032(%rdx), %xmm22, %xmm30
2184 // CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x10,0x72,0x7f]
2185           vpsrlvw 2032(%rdx), %xmm22, %xmm30
2186
2187 // CHECK: vpsrlvw 2048(%rdx), %xmm22, %xmm30
2188 // CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x10,0xb2,0x00,0x08,0x00,0x00]
2189           vpsrlvw 2048(%rdx), %xmm22, %xmm30
2190
2191 // CHECK: vpsrlvw -2048(%rdx), %xmm22, %xmm30
2192 // CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x10,0x72,0x80]
2193           vpsrlvw -2048(%rdx), %xmm22, %xmm30
2194
2195 // CHECK: vpsrlvw -2064(%rdx), %xmm22, %xmm30
2196 // CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x10,0xb2,0xf0,0xf7,0xff,0xff]
2197           vpsrlvw -2064(%rdx), %xmm22, %xmm30
2198
2199 // CHECK: vpsrlvw %ymm27, %ymm25, %ymm30
2200 // CHECK:  encoding: [0x62,0x02,0xb5,0x20,0x10,0xf3]
2201           vpsrlvw %ymm27, %ymm25, %ymm30
2202
2203 // CHECK: vpsrlvw %ymm27, %ymm25, %ymm30 {%k1}
2204 // CHECK:  encoding: [0x62,0x02,0xb5,0x21,0x10,0xf3]
2205           vpsrlvw %ymm27, %ymm25, %ymm30 {%k1}
2206
2207 // CHECK: vpsrlvw %ymm27, %ymm25, %ymm30 {%k1} {z}
2208 // CHECK:  encoding: [0x62,0x02,0xb5,0xa1,0x10,0xf3]
2209           vpsrlvw %ymm27, %ymm25, %ymm30 {%k1} {z}
2210
2211 // CHECK: vpsrlvw (%rcx), %ymm25, %ymm30
2212 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x10,0x31]
2213           vpsrlvw (%rcx), %ymm25, %ymm30
2214
2215 // CHECK: vpsrlvw 291(%rax,%r14,8), %ymm25, %ymm30
2216 // CHECK:  encoding: [0x62,0x22,0xb5,0x20,0x10,0xb4,0xf0,0x23,0x01,0x00,0x00]
2217           vpsrlvw 291(%rax,%r14,8), %ymm25, %ymm30
2218
2219 // CHECK: vpsrlvw 4064(%rdx), %ymm25, %ymm30
2220 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x10,0x72,0x7f]
2221           vpsrlvw 4064(%rdx), %ymm25, %ymm30
2222
2223 // CHECK: vpsrlvw 4096(%rdx), %ymm25, %ymm30
2224 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x10,0xb2,0x00,0x10,0x00,0x00]
2225           vpsrlvw 4096(%rdx), %ymm25, %ymm30
2226
2227 // CHECK: vpsrlvw -4096(%rdx), %ymm25, %ymm30
2228 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x10,0x72,0x80]
2229           vpsrlvw -4096(%rdx), %ymm25, %ymm30
2230
2231 // CHECK: vpsrlvw -4128(%rdx), %ymm25, %ymm30
2232 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x10,0xb2,0xe0,0xef,0xff,0xff]
2233           vpsrlvw -4128(%rdx), %ymm25, %ymm30
2234
2235 // CHECK: vpsravw %xmm27, %xmm28, %xmm28
2236 // CHECK:  encoding: [0x62,0x02,0x9d,0x00,0x11,0xe3]
2237           vpsravw %xmm27, %xmm28, %xmm28
2238
2239 // CHECK: vpsravw %xmm27, %xmm28, %xmm28 {%k3}
2240 // CHECK:  encoding: [0x62,0x02,0x9d,0x03,0x11,0xe3]
2241           vpsravw %xmm27, %xmm28, %xmm28 {%k3}
2242
2243 // CHECK: vpsravw %xmm27, %xmm28, %xmm28 {%k3} {z}
2244 // CHECK:  encoding: [0x62,0x02,0x9d,0x83,0x11,0xe3]
2245           vpsravw %xmm27, %xmm28, %xmm28 {%k3} {z}
2246
2247 // CHECK: vpsravw (%rcx), %xmm28, %xmm28
2248 // CHECK:  encoding: [0x62,0x62,0x9d,0x00,0x11,0x21]
2249           vpsravw (%rcx), %xmm28, %xmm28
2250
2251 // CHECK: vpsravw 291(%rax,%r14,8), %xmm28, %xmm28
2252 // CHECK:  encoding: [0x62,0x22,0x9d,0x00,0x11,0xa4,0xf0,0x23,0x01,0x00,0x00]
2253           vpsravw 291(%rax,%r14,8), %xmm28, %xmm28
2254
2255 // CHECK: vpsravw 2032(%rdx), %xmm28, %xmm28
2256 // CHECK:  encoding: [0x62,0x62,0x9d,0x00,0x11,0x62,0x7f]
2257           vpsravw 2032(%rdx), %xmm28, %xmm28
2258
2259 // CHECK: vpsravw 2048(%rdx), %xmm28, %xmm28
2260 // CHECK:  encoding: [0x62,0x62,0x9d,0x00,0x11,0xa2,0x00,0x08,0x00,0x00]
2261           vpsravw 2048(%rdx), %xmm28, %xmm28
2262
2263 // CHECK: vpsravw -2048(%rdx), %xmm28, %xmm28
2264 // CHECK:  encoding: [0x62,0x62,0x9d,0x00,0x11,0x62,0x80]
2265           vpsravw -2048(%rdx), %xmm28, %xmm28
2266
2267 // CHECK: vpsravw -2064(%rdx), %xmm28, %xmm28
2268 // CHECK:  encoding: [0x62,0x62,0x9d,0x00,0x11,0xa2,0xf0,0xf7,0xff,0xff]
2269           vpsravw -2064(%rdx), %xmm28, %xmm28
2270
2271 // CHECK: vpsravw %ymm17, %ymm28, %ymm20
2272 // CHECK:  encoding: [0x62,0xa2,0x9d,0x20,0x11,0xe1]
2273           vpsravw %ymm17, %ymm28, %ymm20
2274
2275 // CHECK: vpsravw %ymm17, %ymm28, %ymm20 {%k5}
2276 // CHECK:  encoding: [0x62,0xa2,0x9d,0x25,0x11,0xe1]
2277           vpsravw %ymm17, %ymm28, %ymm20 {%k5}
2278
2279 // CHECK: vpsravw %ymm17, %ymm28, %ymm20 {%k5} {z}
2280 // CHECK:  encoding: [0x62,0xa2,0x9d,0xa5,0x11,0xe1]
2281           vpsravw %ymm17, %ymm28, %ymm20 {%k5} {z}
2282
2283 // CHECK: vpsravw (%rcx), %ymm28, %ymm20
2284 // CHECK:  encoding: [0x62,0xe2,0x9d,0x20,0x11,0x21]
2285           vpsravw (%rcx), %ymm28, %ymm20
2286
2287 // CHECK: vpsravw 291(%rax,%r14,8), %ymm28, %ymm20
2288 // CHECK:  encoding: [0x62,0xa2,0x9d,0x20,0x11,0xa4,0xf0,0x23,0x01,0x00,0x00]
2289           vpsravw 291(%rax,%r14,8), %ymm28, %ymm20
2290
2291 // CHECK: vpsravw 4064(%rdx), %ymm28, %ymm20
2292 // CHECK:  encoding: [0x62,0xe2,0x9d,0x20,0x11,0x62,0x7f]
2293           vpsravw 4064(%rdx), %ymm28, %ymm20
2294
2295 // CHECK: vpsravw 4096(%rdx), %ymm28, %ymm20
2296 // CHECK:  encoding: [0x62,0xe2,0x9d,0x20,0x11,0xa2,0x00,0x10,0x00,0x00]
2297           vpsravw 4096(%rdx), %ymm28, %ymm20
2298
2299 // CHECK: vpsravw -4096(%rdx), %ymm28, %ymm20
2300 // CHECK:  encoding: [0x62,0xe2,0x9d,0x20,0x11,0x62,0x80]
2301           vpsravw -4096(%rdx), %ymm28, %ymm20
2302
2303 // CHECK: vpsravw -4128(%rdx), %ymm28, %ymm20
2304 // CHECK:  encoding: [0x62,0xe2,0x9d,0x20,0x11,0xa2,0xe0,0xef,0xff,0xff]
2305           vpsravw -4128(%rdx), %ymm28, %ymm20
2306
2307 // CHECK: vpacksswb %xmm20, %xmm29, %xmm17
2308 // CHECK:  encoding: [0x62,0xa1,0x95,0x00,0x63,0xcc]
2309           vpacksswb %xmm20, %xmm29, %xmm17
2310
2311 // CHECK: vpacksswb %xmm20, %xmm29, %xmm17 {%k3}
2312 // CHECK:  encoding: [0x62,0xa1,0x95,0x03,0x63,0xcc]
2313           vpacksswb %xmm20, %xmm29, %xmm17 {%k3}
2314
2315 // CHECK: vpacksswb %xmm20, %xmm29, %xmm17 {%k3} {z}
2316 // CHECK:  encoding: [0x62,0xa1,0x95,0x83,0x63,0xcc]
2317           vpacksswb %xmm20, %xmm29, %xmm17 {%k3} {z}
2318
2319 // CHECK: vpacksswb (%rcx), %xmm29, %xmm17
2320 // CHECK:  encoding: [0x62,0xe1,0x95,0x00,0x63,0x09]
2321           vpacksswb (%rcx), %xmm29, %xmm17
2322
2323 // CHECK: vpacksswb 291(%rax,%r14,8), %xmm29, %xmm17
2324 // CHECK:  encoding: [0x62,0xa1,0x95,0x00,0x63,0x8c,0xf0,0x23,0x01,0x00,0x00]
2325           vpacksswb 291(%rax,%r14,8), %xmm29, %xmm17
2326
2327 // CHECK: vpacksswb 2032(%rdx), %xmm29, %xmm17
2328 // CHECK:  encoding: [0x62,0xe1,0x95,0x00,0x63,0x4a,0x7f]
2329           vpacksswb 2032(%rdx), %xmm29, %xmm17
2330
2331 // CHECK: vpacksswb 2048(%rdx), %xmm29, %xmm17
2332 // CHECK:  encoding: [0x62,0xe1,0x95,0x00,0x63,0x8a,0x00,0x08,0x00,0x00]
2333           vpacksswb 2048(%rdx), %xmm29, %xmm17
2334
2335 // CHECK: vpacksswb -2048(%rdx), %xmm29, %xmm17
2336 // CHECK:  encoding: [0x62,0xe1,0x95,0x00,0x63,0x4a,0x80]
2337           vpacksswb -2048(%rdx), %xmm29, %xmm17
2338
2339 // CHECK: vpacksswb -2064(%rdx), %xmm29, %xmm17
2340 // CHECK:  encoding: [0x62,0xe1,0x95,0x00,0x63,0x8a,0xf0,0xf7,0xff,0xff]
2341           vpacksswb -2064(%rdx), %xmm29, %xmm17
2342
2343 // CHECK: vpacksswb %ymm21, %ymm26, %ymm29
2344 // CHECK:  encoding: [0x62,0x21,0xad,0x20,0x63,0xed]
2345           vpacksswb %ymm21, %ymm26, %ymm29
2346
2347 // CHECK: vpacksswb %ymm21, %ymm26, %ymm29 {%k2}
2348 // CHECK:  encoding: [0x62,0x21,0xad,0x22,0x63,0xed]
2349           vpacksswb %ymm21, %ymm26, %ymm29 {%k2}
2350
2351 // CHECK: vpacksswb %ymm21, %ymm26, %ymm29 {%k2} {z}
2352 // CHECK:  encoding: [0x62,0x21,0xad,0xa2,0x63,0xed]
2353           vpacksswb %ymm21, %ymm26, %ymm29 {%k2} {z}
2354
2355 // CHECK: vpacksswb (%rcx), %ymm26, %ymm29
2356 // CHECK:  encoding: [0x62,0x61,0xad,0x20,0x63,0x29]
2357           vpacksswb (%rcx), %ymm26, %ymm29
2358
2359 // CHECK: vpacksswb 291(%rax,%r14,8), %ymm26, %ymm29
2360 // CHECK:  encoding: [0x62,0x21,0xad,0x20,0x63,0xac,0xf0,0x23,0x01,0x00,0x00]
2361           vpacksswb 291(%rax,%r14,8), %ymm26, %ymm29
2362
2363 // CHECK: vpacksswb 4064(%rdx), %ymm26, %ymm29
2364 // CHECK:  encoding: [0x62,0x61,0xad,0x20,0x63,0x6a,0x7f]
2365           vpacksswb 4064(%rdx), %ymm26, %ymm29
2366
2367 // CHECK: vpacksswb 4096(%rdx), %ymm26, %ymm29
2368 // CHECK:  encoding: [0x62,0x61,0xad,0x20,0x63,0xaa,0x00,0x10,0x00,0x00]
2369           vpacksswb 4096(%rdx), %ymm26, %ymm29
2370
2371 // CHECK: vpacksswb -4096(%rdx), %ymm26, %ymm29
2372 // CHECK:  encoding: [0x62,0x61,0xad,0x20,0x63,0x6a,0x80]
2373           vpacksswb -4096(%rdx), %ymm26, %ymm29
2374
2375 // CHECK: vpacksswb -4128(%rdx), %ymm26, %ymm29
2376 // CHECK:  encoding: [0x62,0x61,0xad,0x20,0x63,0xaa,0xe0,0xef,0xff,0xff]
2377           vpacksswb -4128(%rdx), %ymm26, %ymm29
2378
2379 // CHECK: vpackuswb %xmm24, %xmm26, %xmm20
2380 // CHECK:  encoding: [0x62,0x81,0xad,0x00,0x67,0xe0]
2381           vpackuswb %xmm24, %xmm26, %xmm20
2382
2383 // CHECK: vpackuswb %xmm24, %xmm26, %xmm20 {%k4}
2384 // CHECK:  encoding: [0x62,0x81,0xad,0x04,0x67,0xe0]
2385           vpackuswb %xmm24, %xmm26, %xmm20 {%k4}
2386
2387 // CHECK: vpackuswb %xmm24, %xmm26, %xmm20 {%k4} {z}
2388 // CHECK:  encoding: [0x62,0x81,0xad,0x84,0x67,0xe0]
2389           vpackuswb %xmm24, %xmm26, %xmm20 {%k4} {z}
2390
2391 // CHECK: vpackuswb (%rcx), %xmm26, %xmm20
2392 // CHECK:  encoding: [0x62,0xe1,0xad,0x00,0x67,0x21]
2393           vpackuswb (%rcx), %xmm26, %xmm20
2394
2395 // CHECK: vpackuswb 291(%rax,%r14,8), %xmm26, %xmm20
2396 // CHECK:  encoding: [0x62,0xa1,0xad,0x00,0x67,0xa4,0xf0,0x23,0x01,0x00,0x00]
2397           vpackuswb 291(%rax,%r14,8), %xmm26, %xmm20
2398
2399 // CHECK: vpackuswb 2032(%rdx), %xmm26, %xmm20
2400 // CHECK:  encoding: [0x62,0xe1,0xad,0x00,0x67,0x62,0x7f]
2401           vpackuswb 2032(%rdx), %xmm26, %xmm20
2402
2403 // CHECK: vpackuswb 2048(%rdx), %xmm26, %xmm20
2404 // CHECK:  encoding: [0x62,0xe1,0xad,0x00,0x67,0xa2,0x00,0x08,0x00,0x00]
2405           vpackuswb 2048(%rdx), %xmm26, %xmm20
2406
2407 // CHECK: vpackuswb -2048(%rdx), %xmm26, %xmm20
2408 // CHECK:  encoding: [0x62,0xe1,0xad,0x00,0x67,0x62,0x80]
2409           vpackuswb -2048(%rdx), %xmm26, %xmm20
2410
2411 // CHECK: vpackuswb -2064(%rdx), %xmm26, %xmm20
2412 // CHECK:  encoding: [0x62,0xe1,0xad,0x00,0x67,0xa2,0xf0,0xf7,0xff,0xff]
2413           vpackuswb -2064(%rdx), %xmm26, %xmm20
2414
2415 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19
2416 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x67,0xdc]
2417           vpackuswb %ymm20, %ymm28, %ymm19
2418
2419 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19 {%k2}
2420 // CHECK:  encoding: [0x62,0xa1,0x9d,0x22,0x67,0xdc]
2421           vpackuswb %ymm20, %ymm28, %ymm19 {%k2}
2422
2423 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19 {%k2} {z}
2424 // CHECK:  encoding: [0x62,0xa1,0x9d,0xa2,0x67,0xdc]
2425           vpackuswb %ymm20, %ymm28, %ymm19 {%k2} {z}
2426
2427 // CHECK: vpackuswb (%rcx), %ymm28, %ymm19
2428 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x19]
2429           vpackuswb (%rcx), %ymm28, %ymm19
2430
2431 // CHECK: vpackuswb 291(%rax,%r14,8), %ymm28, %ymm19
2432 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x67,0x9c,0xf0,0x23,0x01,0x00,0x00]
2433           vpackuswb 291(%rax,%r14,8), %ymm28, %ymm19
2434
2435 // CHECK: vpackuswb 4064(%rdx), %ymm28, %ymm19
2436 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x5a,0x7f]
2437           vpackuswb 4064(%rdx), %ymm28, %ymm19
2438
2439 // CHECK: vpackuswb 4096(%rdx), %ymm28, %ymm19
2440 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x9a,0x00,0x10,0x00,0x00]
2441           vpackuswb 4096(%rdx), %ymm28, %ymm19
2442
2443 // CHECK: vpackuswb -4096(%rdx), %ymm28, %ymm19
2444 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x5a,0x80]
2445           vpackuswb -4096(%rdx), %ymm28, %ymm19
2446
2447 // CHECK: vpackuswb -4128(%rdx), %ymm28, %ymm19
2448 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x9a,0xe0,0xef,0xff,0xff]
2449           vpackuswb -4128(%rdx), %ymm28, %ymm19
2450
2451 // CHECK: vpacksswb %xmm25, %xmm18, %xmm19
2452 // CHECK:  encoding: [0x62,0x81,0xed,0x00,0x63,0xd9]
2453           vpacksswb %xmm25, %xmm18, %xmm19
2454
2455 // CHECK: vpacksswb %xmm25, %xmm18, %xmm19 {%k4}
2456 // CHECK:  encoding: [0x62,0x81,0xed,0x04,0x63,0xd9]
2457           vpacksswb %xmm25, %xmm18, %xmm19 {%k4}
2458
2459 // CHECK: vpacksswb %xmm25, %xmm18, %xmm19 {%k4} {z}
2460 // CHECK:  encoding: [0x62,0x81,0xed,0x84,0x63,0xd9]
2461           vpacksswb %xmm25, %xmm18, %xmm19 {%k4} {z}
2462
2463 // CHECK: vpacksswb (%rcx), %xmm18, %xmm19
2464 // CHECK:  encoding: [0x62,0xe1,0xed,0x00,0x63,0x19]
2465           vpacksswb (%rcx), %xmm18, %xmm19
2466
2467 // CHECK: vpacksswb 4660(%rax,%r14,8), %xmm18, %xmm19
2468 // CHECK:  encoding: [0x62,0xa1,0xed,0x00,0x63,0x9c,0xf0,0x34,0x12,0x00,0x00]
2469           vpacksswb 4660(%rax,%r14,8), %xmm18, %xmm19
2470
2471 // CHECK: vpacksswb 2032(%rdx), %xmm18, %xmm19
2472 // CHECK:  encoding: [0x62,0xe1,0xed,0x00,0x63,0x5a,0x7f]
2473           vpacksswb 2032(%rdx), %xmm18, %xmm19
2474
2475 // CHECK: vpacksswb 2048(%rdx), %xmm18, %xmm19
2476 // CHECK:  encoding: [0x62,0xe1,0xed,0x00,0x63,0x9a,0x00,0x08,0x00,0x00]
2477           vpacksswb 2048(%rdx), %xmm18, %xmm19
2478
2479 // CHECK: vpacksswb -2048(%rdx), %xmm18, %xmm19
2480 // CHECK:  encoding: [0x62,0xe1,0xed,0x00,0x63,0x5a,0x80]
2481           vpacksswb -2048(%rdx), %xmm18, %xmm19
2482
2483 // CHECK: vpacksswb -2064(%rdx), %xmm18, %xmm19
2484 // CHECK:  encoding: [0x62,0xe1,0xed,0x00,0x63,0x9a,0xf0,0xf7,0xff,0xff]
2485           vpacksswb -2064(%rdx), %xmm18, %xmm19
2486
2487 // CHECK: vpacksswb %ymm19, %ymm22, %ymm22
2488 // CHECK:  encoding: [0x62,0xa1,0xcd,0x20,0x63,0xf3]
2489           vpacksswb %ymm19, %ymm22, %ymm22
2490
2491 // CHECK: vpacksswb %ymm19, %ymm22, %ymm22 {%k7}
2492 // CHECK:  encoding: [0x62,0xa1,0xcd,0x27,0x63,0xf3]
2493           vpacksswb %ymm19, %ymm22, %ymm22 {%k7}
2494
2495 // CHECK: vpacksswb %ymm19, %ymm22, %ymm22 {%k7} {z}
2496 // CHECK:  encoding: [0x62,0xa1,0xcd,0xa7,0x63,0xf3]
2497           vpacksswb %ymm19, %ymm22, %ymm22 {%k7} {z}
2498
2499 // CHECK: vpacksswb (%rcx), %ymm22, %ymm22
2500 // CHECK:  encoding: [0x62,0xe1,0xcd,0x20,0x63,0x31]
2501           vpacksswb (%rcx), %ymm22, %ymm22
2502
2503 // CHECK: vpacksswb 4660(%rax,%r14,8), %ymm22, %ymm22
2504 // CHECK:  encoding: [0x62,0xa1,0xcd,0x20,0x63,0xb4,0xf0,0x34,0x12,0x00,0x00]
2505           vpacksswb 4660(%rax,%r14,8), %ymm22, %ymm22
2506
2507 // CHECK: vpacksswb 4064(%rdx), %ymm22, %ymm22
2508 // CHECK:  encoding: [0x62,0xe1,0xcd,0x20,0x63,0x72,0x7f]
2509           vpacksswb 4064(%rdx), %ymm22, %ymm22
2510
2511 // CHECK: vpacksswb 4096(%rdx), %ymm22, %ymm22
2512 // CHECK:  encoding: [0x62,0xe1,0xcd,0x20,0x63,0xb2,0x00,0x10,0x00,0x00]
2513           vpacksswb 4096(%rdx), %ymm22, %ymm22
2514
2515 // CHECK: vpacksswb -4096(%rdx), %ymm22, %ymm22
2516 // CHECK:  encoding: [0x62,0xe1,0xcd,0x20,0x63,0x72,0x80]
2517           vpacksswb -4096(%rdx), %ymm22, %ymm22
2518
2519 // CHECK: vpacksswb -4128(%rdx), %ymm22, %ymm22
2520 // CHECK:  encoding: [0x62,0xe1,0xcd,0x20,0x63,0xb2,0xe0,0xef,0xff,0xff]
2521           vpacksswb -4128(%rdx), %ymm22, %ymm22
2522
2523 // CHECK: vpackuswb %xmm23, %xmm28, %xmm23
2524 // CHECK:  encoding: [0x62,0xa1,0x9d,0x00,0x67,0xff]
2525           vpackuswb %xmm23, %xmm28, %xmm23
2526
2527 // CHECK: vpackuswb %xmm23, %xmm28, %xmm23 {%k3}
2528 // CHECK:  encoding: [0x62,0xa1,0x9d,0x03,0x67,0xff]
2529           vpackuswb %xmm23, %xmm28, %xmm23 {%k3}
2530
2531 // CHECK: vpackuswb %xmm23, %xmm28, %xmm23 {%k3} {z}
2532 // CHECK:  encoding: [0x62,0xa1,0x9d,0x83,0x67,0xff]
2533           vpackuswb %xmm23, %xmm28, %xmm23 {%k3} {z}
2534
2535 // CHECK: vpackuswb (%rcx), %xmm28, %xmm23
2536 // CHECK:  encoding: [0x62,0xe1,0x9d,0x00,0x67,0x39]
2537           vpackuswb (%rcx), %xmm28, %xmm23
2538
2539 // CHECK: vpackuswb 4660(%rax,%r14,8), %xmm28, %xmm23
2540 // CHECK:  encoding: [0x62,0xa1,0x9d,0x00,0x67,0xbc,0xf0,0x34,0x12,0x00,0x00]
2541           vpackuswb 4660(%rax,%r14,8), %xmm28, %xmm23
2542
2543 // CHECK: vpackuswb 2032(%rdx), %xmm28, %xmm23
2544 // CHECK:  encoding: [0x62,0xe1,0x9d,0x00,0x67,0x7a,0x7f]
2545           vpackuswb 2032(%rdx), %xmm28, %xmm23
2546
2547 // CHECK: vpackuswb 2048(%rdx), %xmm28, %xmm23
2548 // CHECK:  encoding: [0x62,0xe1,0x9d,0x00,0x67,0xba,0x00,0x08,0x00,0x00]
2549           vpackuswb 2048(%rdx), %xmm28, %xmm23
2550
2551 // CHECK: vpackuswb -2048(%rdx), %xmm28, %xmm23
2552 // CHECK:  encoding: [0x62,0xe1,0x9d,0x00,0x67,0x7a,0x80]
2553           vpackuswb -2048(%rdx), %xmm28, %xmm23
2554
2555 // CHECK: vpackuswb -2064(%rdx), %xmm28, %xmm23
2556 // CHECK:  encoding: [0x62,0xe1,0x9d,0x00,0x67,0xba,0xf0,0xf7,0xff,0xff]
2557           vpackuswb -2064(%rdx), %xmm28, %xmm23
2558
2559 // CHECK: vpackuswb %ymm27, %ymm26, %ymm20
2560 // CHECK:  encoding: [0x62,0x81,0xad,0x20,0x67,0xe3]
2561           vpackuswb %ymm27, %ymm26, %ymm20
2562
2563 // CHECK: vpackuswb %ymm27, %ymm26, %ymm20 {%k6}
2564 // CHECK:  encoding: [0x62,0x81,0xad,0x26,0x67,0xe3]
2565           vpackuswb %ymm27, %ymm26, %ymm20 {%k6}
2566
2567 // CHECK: vpackuswb %ymm27, %ymm26, %ymm20 {%k6} {z}
2568 // CHECK:  encoding: [0x62,0x81,0xad,0xa6,0x67,0xe3]
2569           vpackuswb %ymm27, %ymm26, %ymm20 {%k6} {z}
2570
2571 // CHECK: vpackuswb (%rcx), %ymm26, %ymm20
2572 // CHECK:  encoding: [0x62,0xe1,0xad,0x20,0x67,0x21]
2573           vpackuswb (%rcx), %ymm26, %ymm20
2574
2575 // CHECK: vpackuswb 4660(%rax,%r14,8), %ymm26, %ymm20
2576 // CHECK:  encoding: [0x62,0xa1,0xad,0x20,0x67,0xa4,0xf0,0x34,0x12,0x00,0x00]
2577           vpackuswb 4660(%rax,%r14,8), %ymm26, %ymm20
2578
2579 // CHECK: vpackuswb 4064(%rdx), %ymm26, %ymm20
2580 // CHECK:  encoding: [0x62,0xe1,0xad,0x20,0x67,0x62,0x7f]
2581           vpackuswb 4064(%rdx), %ymm26, %ymm20
2582
2583 // CHECK: vpackuswb 4096(%rdx), %ymm26, %ymm20
2584 // CHECK:  encoding: [0x62,0xe1,0xad,0x20,0x67,0xa2,0x00,0x10,0x00,0x00]
2585           vpackuswb 4096(%rdx), %ymm26, %ymm20
2586
2587 // CHECK: vpackuswb -4096(%rdx), %ymm26, %ymm20
2588 // CHECK:  encoding: [0x62,0xe1,0xad,0x20,0x67,0x62,0x80]
2589           vpackuswb -4096(%rdx), %ymm26, %ymm20
2590
2591 // CHECK: vpackuswb -4128(%rdx), %ymm26, %ymm20
2592 // CHECK:  encoding: [0x62,0xe1,0xad,0x20,0x67,0xa2,0xe0,0xef,0xff,0xff]
2593           vpackuswb -4128(%rdx), %ymm26, %ymm20
2594
2595 // CHECK: vpackssdw %xmm26, %xmm26, %xmm30
2596 // CHECK:  encoding: [0x62,0x01,0x2d,0x00,0x6b,0xf2]
2597           vpackssdw %xmm26, %xmm26, %xmm30
2598
2599 // CHECK: vpackssdw %xmm26, %xmm26, %xmm30 {%k2}
2600 // CHECK:  encoding: [0x62,0x01,0x2d,0x02,0x6b,0xf2]
2601           vpackssdw %xmm26, %xmm26, %xmm30 {%k2}
2602
2603 // CHECK: vpackssdw %xmm26, %xmm26, %xmm30 {%k2} {z}
2604 // CHECK:  encoding: [0x62,0x01,0x2d,0x82,0x6b,0xf2]
2605           vpackssdw %xmm26, %xmm26, %xmm30 {%k2} {z}
2606
2607 // CHECK: vpackssdw (%rcx), %xmm26, %xmm30
2608 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0x6b,0x31]
2609           vpackssdw (%rcx), %xmm26, %xmm30
2610
2611 // CHECK: vpackssdw 291(%rax,%r14,8), %xmm26, %xmm30
2612 // CHECK:  encoding: [0x62,0x21,0x2d,0x00,0x6b,0xb4,0xf0,0x23,0x01,0x00,0x00]
2613           vpackssdw 291(%rax,%r14,8), %xmm26, %xmm30
2614
2615 // CHECK: vpackssdw (%rcx){1to4}, %xmm26, %xmm30
2616 // CHECK:  encoding: [0x62,0x61,0x2d,0x10,0x6b,0x31]
2617           vpackssdw (%rcx){1to4}, %xmm26, %xmm30
2618
2619 // CHECK: vpackssdw 2032(%rdx), %xmm26, %xmm30
2620 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0x6b,0x72,0x7f]
2621           vpackssdw 2032(%rdx), %xmm26, %xmm30
2622
2623 // CHECK: vpackssdw 2048(%rdx), %xmm26, %xmm30
2624 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0x6b,0xb2,0x00,0x08,0x00,0x00]
2625           vpackssdw 2048(%rdx), %xmm26, %xmm30
2626
2627 // CHECK: vpackssdw -2048(%rdx), %xmm26, %xmm30
2628 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0x6b,0x72,0x80]
2629           vpackssdw -2048(%rdx), %xmm26, %xmm30
2630
2631 // CHECK: vpackssdw -2064(%rdx), %xmm26, %xmm30
2632 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0x6b,0xb2,0xf0,0xf7,0xff,0xff]
2633           vpackssdw -2064(%rdx), %xmm26, %xmm30
2634
2635 // CHECK: vpackssdw 508(%rdx){1to4}, %xmm26, %xmm30
2636 // CHECK:  encoding: [0x62,0x61,0x2d,0x10,0x6b,0x72,0x7f]
2637           vpackssdw 508(%rdx){1to4}, %xmm26, %xmm30
2638
2639 // CHECK: vpackssdw 512(%rdx){1to4}, %xmm26, %xmm30
2640 // CHECK:  encoding: [0x62,0x61,0x2d,0x10,0x6b,0xb2,0x00,0x02,0x00,0x00]
2641           vpackssdw 512(%rdx){1to4}, %xmm26, %xmm30
2642
2643 // CHECK: vpackssdw -512(%rdx){1to4}, %xmm26, %xmm30
2644 // CHECK:  encoding: [0x62,0x61,0x2d,0x10,0x6b,0x72,0x80]
2645           vpackssdw -512(%rdx){1to4}, %xmm26, %xmm30
2646
2647 // CHECK: vpackssdw -516(%rdx){1to4}, %xmm26, %xmm30
2648 // CHECK:  encoding: [0x62,0x61,0x2d,0x10,0x6b,0xb2,0xfc,0xfd,0xff,0xff]
2649           vpackssdw -516(%rdx){1to4}, %xmm26, %xmm30
2650
2651 // CHECK: vpackssdw %ymm26, %ymm22, %ymm28
2652 // CHECK:  encoding: [0x62,0x01,0x4d,0x20,0x6b,0xe2]
2653           vpackssdw %ymm26, %ymm22, %ymm28
2654
2655 // CHECK: vpackssdw %ymm26, %ymm22, %ymm28 {%k7}
2656 // CHECK:  encoding: [0x62,0x01,0x4d,0x27,0x6b,0xe2]
2657           vpackssdw %ymm26, %ymm22, %ymm28 {%k7}
2658
2659 // CHECK: vpackssdw %ymm26, %ymm22, %ymm28 {%k7} {z}
2660 // CHECK:  encoding: [0x62,0x01,0x4d,0xa7,0x6b,0xe2]
2661           vpackssdw %ymm26, %ymm22, %ymm28 {%k7} {z}
2662
2663 // CHECK: vpackssdw (%rcx), %ymm22, %ymm28
2664 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0x6b,0x21]
2665           vpackssdw (%rcx), %ymm22, %ymm28
2666
2667 // CHECK: vpackssdw 291(%rax,%r14,8), %ymm22, %ymm28
2668 // CHECK:  encoding: [0x62,0x21,0x4d,0x20,0x6b,0xa4,0xf0,0x23,0x01,0x00,0x00]
2669           vpackssdw 291(%rax,%r14,8), %ymm22, %ymm28
2670
2671 // CHECK: vpackssdw (%rcx){1to8}, %ymm22, %ymm28
2672 // CHECK:  encoding: [0x62,0x61,0x4d,0x30,0x6b,0x21]
2673           vpackssdw (%rcx){1to8}, %ymm22, %ymm28
2674
2675 // CHECK: vpackssdw 4064(%rdx), %ymm22, %ymm28
2676 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0x6b,0x62,0x7f]
2677           vpackssdw 4064(%rdx), %ymm22, %ymm28
2678
2679 // CHECK: vpackssdw 4096(%rdx), %ymm22, %ymm28
2680 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0x6b,0xa2,0x00,0x10,0x00,0x00]
2681           vpackssdw 4096(%rdx), %ymm22, %ymm28
2682
2683 // CHECK: vpackssdw -4096(%rdx), %ymm22, %ymm28
2684 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0x6b,0x62,0x80]
2685           vpackssdw -4096(%rdx), %ymm22, %ymm28
2686
2687 // CHECK: vpackssdw -4128(%rdx), %ymm22, %ymm28
2688 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0x6b,0xa2,0xe0,0xef,0xff,0xff]
2689           vpackssdw -4128(%rdx), %ymm22, %ymm28
2690
2691 // CHECK: vpackssdw 508(%rdx){1to8}, %ymm22, %ymm28
2692 // CHECK:  encoding: [0x62,0x61,0x4d,0x30,0x6b,0x62,0x7f]
2693           vpackssdw 508(%rdx){1to8}, %ymm22, %ymm28
2694
2695 // CHECK: vpackssdw 512(%rdx){1to8}, %ymm22, %ymm28
2696 // CHECK:  encoding: [0x62,0x61,0x4d,0x30,0x6b,0xa2,0x00,0x02,0x00,0x00]
2697           vpackssdw 512(%rdx){1to8}, %ymm22, %ymm28
2698
2699 // CHECK: vpackssdw -512(%rdx){1to8}, %ymm22, %ymm28
2700 // CHECK:  encoding: [0x62,0x61,0x4d,0x30,0x6b,0x62,0x80]
2701           vpackssdw -512(%rdx){1to8}, %ymm22, %ymm28
2702
2703 // CHECK: vpackssdw -516(%rdx){1to8}, %ymm22, %ymm28
2704 // CHECK:  encoding: [0x62,0x61,0x4d,0x30,0x6b,0xa2,0xfc,0xfd,0xff,0xff]
2705           vpackssdw -516(%rdx){1to8}, %ymm22, %ymm28
2706
2707 // CHECK: vpacksswb %xmm21, %xmm28, %xmm25
2708 // CHECK:  encoding: [0x62,0x21,0x9d,0x00,0x63,0xcd]
2709           vpacksswb %xmm21, %xmm28, %xmm25
2710
2711 // CHECK: vpacksswb %xmm21, %xmm28, %xmm25 {%k5}
2712 // CHECK:  encoding: [0x62,0x21,0x9d,0x05,0x63,0xcd]
2713           vpacksswb %xmm21, %xmm28, %xmm25 {%k5}
2714
2715 // CHECK: vpacksswb %xmm21, %xmm28, %xmm25 {%k5} {z}
2716 // CHECK:  encoding: [0x62,0x21,0x9d,0x85,0x63,0xcd]
2717           vpacksswb %xmm21, %xmm28, %xmm25 {%k5} {z}
2718
2719 // CHECK: vpacksswb (%rcx), %xmm28, %xmm25
2720 // CHECK:  encoding: [0x62,0x61,0x9d,0x00,0x63,0x09]
2721           vpacksswb (%rcx), %xmm28, %xmm25
2722
2723 // CHECK: vpacksswb 291(%rax,%r14,8), %xmm28, %xmm25
2724 // CHECK:  encoding: [0x62,0x21,0x9d,0x00,0x63,0x8c,0xf0,0x23,0x01,0x00,0x00]
2725           vpacksswb 291(%rax,%r14,8), %xmm28, %xmm25
2726
2727 // CHECK: vpacksswb 2032(%rdx), %xmm28, %xmm25
2728 // CHECK:  encoding: [0x62,0x61,0x9d,0x00,0x63,0x4a,0x7f]
2729           vpacksswb 2032(%rdx), %xmm28, %xmm25
2730
2731 // CHECK: vpacksswb 2048(%rdx), %xmm28, %xmm25
2732 // CHECK:  encoding: [0x62,0x61,0x9d,0x00,0x63,0x8a,0x00,0x08,0x00,0x00]
2733           vpacksswb 2048(%rdx), %xmm28, %xmm25
2734
2735 // CHECK: vpacksswb -2048(%rdx), %xmm28, %xmm25
2736 // CHECK:  encoding: [0x62,0x61,0x9d,0x00,0x63,0x4a,0x80]
2737           vpacksswb -2048(%rdx), %xmm28, %xmm25
2738
2739 // CHECK: vpacksswb -2064(%rdx), %xmm28, %xmm25
2740 // CHECK:  encoding: [0x62,0x61,0x9d,0x00,0x63,0x8a,0xf0,0xf7,0xff,0xff]
2741           vpacksswb -2064(%rdx), %xmm28, %xmm25
2742
2743 // CHECK: vpacksswb %ymm22, %ymm28, %ymm21
2744 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x63,0xee]
2745           vpacksswb %ymm22, %ymm28, %ymm21
2746
2747 // CHECK: vpacksswb %ymm22, %ymm28, %ymm21 {%k5}
2748 // CHECK:  encoding: [0x62,0xa1,0x9d,0x25,0x63,0xee]
2749           vpacksswb %ymm22, %ymm28, %ymm21 {%k5}
2750
2751 // CHECK: vpacksswb %ymm22, %ymm28, %ymm21 {%k5} {z}
2752 // CHECK:  encoding: [0x62,0xa1,0x9d,0xa5,0x63,0xee]
2753           vpacksswb %ymm22, %ymm28, %ymm21 {%k5} {z}
2754
2755 // CHECK: vpacksswb (%rcx), %ymm28, %ymm21
2756 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x63,0x29]
2757           vpacksswb (%rcx), %ymm28, %ymm21
2758
2759 // CHECK: vpacksswb 291(%rax,%r14,8), %ymm28, %ymm21
2760 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x63,0xac,0xf0,0x23,0x01,0x00,0x00]
2761           vpacksswb 291(%rax,%r14,8), %ymm28, %ymm21
2762
2763 // CHECK: vpacksswb 4064(%rdx), %ymm28, %ymm21
2764 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x63,0x6a,0x7f]
2765           vpacksswb 4064(%rdx), %ymm28, %ymm21
2766
2767 // CHECK: vpacksswb 4096(%rdx), %ymm28, %ymm21
2768 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x63,0xaa,0x00,0x10,0x00,0x00]
2769           vpacksswb 4096(%rdx), %ymm28, %ymm21
2770
2771 // CHECK: vpacksswb -4096(%rdx), %ymm28, %ymm21
2772 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x63,0x6a,0x80]
2773           vpacksswb -4096(%rdx), %ymm28, %ymm21
2774
2775 // CHECK: vpacksswb -4128(%rdx), %ymm28, %ymm21
2776 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x63,0xaa,0xe0,0xef,0xff,0xff]
2777           vpacksswb -4128(%rdx), %ymm28, %ymm21
2778
2779 // CHECK: vpackusdw %xmm20, %xmm24, %xmm24
2780 // CHECK:  encoding: [0x62,0x22,0x3d,0x00,0x2b,0xc4]
2781           vpackusdw %xmm20, %xmm24, %xmm24
2782
2783 // CHECK: vpackusdw %xmm20, %xmm24, %xmm24 {%k5}
2784 // CHECK:  encoding: [0x62,0x22,0x3d,0x05,0x2b,0xc4]
2785           vpackusdw %xmm20, %xmm24, %xmm24 {%k5}
2786
2787 // CHECK: vpackusdw %xmm20, %xmm24, %xmm24 {%k5} {z}
2788 // CHECK:  encoding: [0x62,0x22,0x3d,0x85,0x2b,0xc4]
2789           vpackusdw %xmm20, %xmm24, %xmm24 {%k5} {z}
2790
2791 // CHECK: vpackusdw (%rcx), %xmm24, %xmm24
2792 // CHECK:  encoding: [0x62,0x62,0x3d,0x00,0x2b,0x01]
2793           vpackusdw (%rcx), %xmm24, %xmm24
2794
2795 // CHECK: vpackusdw 291(%rax,%r14,8), %xmm24, %xmm24
2796 // CHECK:  encoding: [0x62,0x22,0x3d,0x00,0x2b,0x84,0xf0,0x23,0x01,0x00,0x00]
2797           vpackusdw 291(%rax,%r14,8), %xmm24, %xmm24
2798
2799 // CHECK: vpackusdw (%rcx){1to4}, %xmm24, %xmm24
2800 // CHECK:  encoding: [0x62,0x62,0x3d,0x10,0x2b,0x01]
2801           vpackusdw (%rcx){1to4}, %xmm24, %xmm24
2802
2803 // CHECK: vpackusdw 2032(%rdx), %xmm24, %xmm24
2804 // CHECK:  encoding: [0x62,0x62,0x3d,0x00,0x2b,0x42,0x7f]
2805           vpackusdw 2032(%rdx), %xmm24, %xmm24
2806
2807 // CHECK: vpackusdw 2048(%rdx), %xmm24, %xmm24
2808 // CHECK:  encoding: [0x62,0x62,0x3d,0x00,0x2b,0x82,0x00,0x08,0x00,0x00]
2809           vpackusdw 2048(%rdx), %xmm24, %xmm24
2810
2811 // CHECK: vpackusdw -2048(%rdx), %xmm24, %xmm24
2812 // CHECK:  encoding: [0x62,0x62,0x3d,0x00,0x2b,0x42,0x80]
2813           vpackusdw -2048(%rdx), %xmm24, %xmm24
2814
2815 // CHECK: vpackusdw -2064(%rdx), %xmm24, %xmm24
2816 // CHECK:  encoding: [0x62,0x62,0x3d,0x00,0x2b,0x82,0xf0,0xf7,0xff,0xff]
2817           vpackusdw -2064(%rdx), %xmm24, %xmm24
2818
2819 // CHECK: vpackusdw 508(%rdx){1to4}, %xmm24, %xmm24
2820 // CHECK:  encoding: [0x62,0x62,0x3d,0x10,0x2b,0x42,0x7f]
2821           vpackusdw 508(%rdx){1to4}, %xmm24, %xmm24
2822
2823 // CHECK: vpackusdw 512(%rdx){1to4}, %xmm24, %xmm24
2824 // CHECK:  encoding: [0x62,0x62,0x3d,0x10,0x2b,0x82,0x00,0x02,0x00,0x00]
2825           vpackusdw 512(%rdx){1to4}, %xmm24, %xmm24
2826
2827 // CHECK: vpackusdw -512(%rdx){1to4}, %xmm24, %xmm24
2828 // CHECK:  encoding: [0x62,0x62,0x3d,0x10,0x2b,0x42,0x80]
2829           vpackusdw -512(%rdx){1to4}, %xmm24, %xmm24
2830
2831 // CHECK: vpackusdw -516(%rdx){1to4}, %xmm24, %xmm24
2832 // CHECK:  encoding: [0x62,0x62,0x3d,0x10,0x2b,0x82,0xfc,0xfd,0xff,0xff]
2833           vpackusdw -516(%rdx){1to4}, %xmm24, %xmm24
2834
2835 // CHECK: vpackusdw %ymm21, %ymm26, %ymm19
2836 // CHECK:  encoding: [0x62,0xa2,0x2d,0x20,0x2b,0xdd]
2837           vpackusdw %ymm21, %ymm26, %ymm19
2838
2839 // CHECK: vpackusdw %ymm21, %ymm26, %ymm19 {%k1}
2840 // CHECK:  encoding: [0x62,0xa2,0x2d,0x21,0x2b,0xdd]
2841           vpackusdw %ymm21, %ymm26, %ymm19 {%k1}
2842
2843 // CHECK: vpackusdw %ymm21, %ymm26, %ymm19 {%k1} {z}
2844 // CHECK:  encoding: [0x62,0xa2,0x2d,0xa1,0x2b,0xdd]
2845           vpackusdw %ymm21, %ymm26, %ymm19 {%k1} {z}
2846
2847 // CHECK: vpackusdw (%rcx), %ymm26, %ymm19
2848 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x19]
2849           vpackusdw (%rcx), %ymm26, %ymm19
2850
2851 // CHECK: vpackusdw 291(%rax,%r14,8), %ymm26, %ymm19
2852 // CHECK:  encoding: [0x62,0xa2,0x2d,0x20,0x2b,0x9c,0xf0,0x23,0x01,0x00,0x00]
2853           vpackusdw 291(%rax,%r14,8), %ymm26, %ymm19
2854
2855 // CHECK: vpackusdw (%rcx){1to8}, %ymm26, %ymm19
2856 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x19]
2857           vpackusdw (%rcx){1to8}, %ymm26, %ymm19
2858
2859 // CHECK: vpackusdw 4064(%rdx), %ymm26, %ymm19
2860 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x5a,0x7f]
2861           vpackusdw 4064(%rdx), %ymm26, %ymm19
2862
2863 // CHECK: vpackusdw 4096(%rdx), %ymm26, %ymm19
2864 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x9a,0x00,0x10,0x00,0x00]
2865           vpackusdw 4096(%rdx), %ymm26, %ymm19
2866
2867 // CHECK: vpackusdw -4096(%rdx), %ymm26, %ymm19
2868 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x5a,0x80]
2869           vpackusdw -4096(%rdx), %ymm26, %ymm19
2870
2871 // CHECK: vpackusdw -4128(%rdx), %ymm26, %ymm19
2872 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x9a,0xe0,0xef,0xff,0xff]
2873           vpackusdw -4128(%rdx), %ymm26, %ymm19
2874
2875 // CHECK: vpackusdw 508(%rdx){1to8}, %ymm26, %ymm19
2876 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x5a,0x7f]
2877           vpackusdw 508(%rdx){1to8}, %ymm26, %ymm19
2878
2879 // CHECK: vpackusdw 512(%rdx){1to8}, %ymm26, %ymm19
2880 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x9a,0x00,0x02,0x00,0x00]
2881           vpackusdw 512(%rdx){1to8}, %ymm26, %ymm19
2882
2883 // CHECK: vpackusdw -512(%rdx){1to8}, %ymm26, %ymm19
2884 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x5a,0x80]
2885           vpackusdw -512(%rdx){1to8}, %ymm26, %ymm19
2886
2887 // CHECK: vpackusdw -516(%rdx){1to8}, %ymm26, %ymm19
2888 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x9a,0xfc,0xfd,0xff,0xff]
2889           vpackusdw -516(%rdx){1to8}, %ymm26, %ymm19
2890
2891 // CHECK: vpackuswb %xmm17, %xmm27, %xmm21
2892 // CHECK:  encoding: [0x62,0xa1,0xa5,0x00,0x67,0xe9]
2893           vpackuswb %xmm17, %xmm27, %xmm21
2894
2895 // CHECK: vpackuswb %xmm17, %xmm27, %xmm21 {%k4}
2896 // CHECK:  encoding: [0x62,0xa1,0xa5,0x04,0x67,0xe9]
2897           vpackuswb %xmm17, %xmm27, %xmm21 {%k4}
2898
2899 // CHECK: vpackuswb %xmm17, %xmm27, %xmm21 {%k4} {z}
2900 // CHECK:  encoding: [0x62,0xa1,0xa5,0x84,0x67,0xe9]
2901           vpackuswb %xmm17, %xmm27, %xmm21 {%k4} {z}
2902
2903 // CHECK: vpackuswb (%rcx), %xmm27, %xmm21
2904 // CHECK:  encoding: [0x62,0xe1,0xa5,0x00,0x67,0x29]
2905           vpackuswb (%rcx), %xmm27, %xmm21
2906
2907 // CHECK: vpackuswb 291(%rax,%r14,8), %xmm27, %xmm21
2908 // CHECK:  encoding: [0x62,0xa1,0xa5,0x00,0x67,0xac,0xf0,0x23,0x01,0x00,0x00]
2909           vpackuswb 291(%rax,%r14,8), %xmm27, %xmm21
2910
2911 // CHECK: vpackuswb 2032(%rdx), %xmm27, %xmm21
2912 // CHECK:  encoding: [0x62,0xe1,0xa5,0x00,0x67,0x6a,0x7f]
2913           vpackuswb 2032(%rdx), %xmm27, %xmm21
2914
2915 // CHECK: vpackuswb 2048(%rdx), %xmm27, %xmm21
2916 // CHECK:  encoding: [0x62,0xe1,0xa5,0x00,0x67,0xaa,0x00,0x08,0x00,0x00]
2917           vpackuswb 2048(%rdx), %xmm27, %xmm21
2918
2919 // CHECK: vpackuswb -2048(%rdx), %xmm27, %xmm21
2920 // CHECK:  encoding: [0x62,0xe1,0xa5,0x00,0x67,0x6a,0x80]
2921           vpackuswb -2048(%rdx), %xmm27, %xmm21
2922
2923 // CHECK: vpackuswb -2064(%rdx), %xmm27, %xmm21
2924 // CHECK:  encoding: [0x62,0xe1,0xa5,0x00,0x67,0xaa,0xf0,0xf7,0xff,0xff]
2925           vpackuswb -2064(%rdx), %xmm27, %xmm21
2926
2927 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19
2928 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x67,0xdc]
2929           vpackuswb %ymm20, %ymm28, %ymm19
2930
2931 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19 {%k1}
2932 // CHECK:  encoding: [0x62,0xa1,0x9d,0x21,0x67,0xdc]
2933           vpackuswb %ymm20, %ymm28, %ymm19 {%k1}
2934
2935 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19 {%k1} {z}
2936 // CHECK:  encoding: [0x62,0xa1,0x9d,0xa1,0x67,0xdc]
2937           vpackuswb %ymm20, %ymm28, %ymm19 {%k1} {z}
2938
2939 // CHECK: vpackuswb (%rcx), %ymm28, %ymm19
2940 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x19]
2941           vpackuswb (%rcx), %ymm28, %ymm19
2942
2943 // CHECK: vpackuswb 291(%rax,%r14,8), %ymm28, %ymm19
2944 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x67,0x9c,0xf0,0x23,0x01,0x00,0x00]
2945           vpackuswb 291(%rax,%r14,8), %ymm28, %ymm19
2946
2947 // CHECK: vpackuswb 4064(%rdx), %ymm28, %ymm19
2948 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x5a,0x7f]
2949           vpackuswb 4064(%rdx), %ymm28, %ymm19
2950
2951 // CHECK: vpackuswb 4096(%rdx), %ymm28, %ymm19
2952 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x9a,0x00,0x10,0x00,0x00]
2953           vpackuswb 4096(%rdx), %ymm28, %ymm19
2954
2955 // CHECK: vpackuswb -4096(%rdx), %ymm28, %ymm19
2956 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x5a,0x80]
2957           vpackuswb -4096(%rdx), %ymm28, %ymm19
2958
2959 // CHECK: vpackuswb -4128(%rdx), %ymm28, %ymm19
2960 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x9a,0xe0,0xef,0xff,0xff]
2961           vpackuswb -4128(%rdx), %ymm28, %ymm19
2962
2963 // CHECK: vpackssdw %xmm19, %xmm17, %xmm24
2964 // CHECK:  encoding: [0x62,0x21,0x75,0x00,0x6b,0xc3]
2965           vpackssdw %xmm19, %xmm17, %xmm24
2966
2967 // CHECK: vpackssdw %xmm19, %xmm17, %xmm24 {%k7}
2968 // CHECK:  encoding: [0x62,0x21,0x75,0x07,0x6b,0xc3]
2969           vpackssdw %xmm19, %xmm17, %xmm24 {%k7}
2970
2971 // CHECK: vpackssdw %xmm19, %xmm17, %xmm24 {%k7} {z}
2972 // CHECK:  encoding: [0x62,0x21,0x75,0x87,0x6b,0xc3]
2973           vpackssdw %xmm19, %xmm17, %xmm24 {%k7} {z}
2974
2975 // CHECK: vpackssdw (%rcx), %xmm17, %xmm24
2976 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0x6b,0x01]
2977           vpackssdw (%rcx), %xmm17, %xmm24
2978
2979 // CHECK: vpackssdw 4660(%rax,%r14,8), %xmm17, %xmm24
2980 // CHECK:  encoding: [0x62,0x21,0x75,0x00,0x6b,0x84,0xf0,0x34,0x12,0x00,0x00]
2981           vpackssdw 4660(%rax,%r14,8), %xmm17, %xmm24
2982
2983 // CHECK: vpackssdw (%rcx){1to4}, %xmm17, %xmm24
2984 // CHECK:  encoding: [0x62,0x61,0x75,0x10,0x6b,0x01]
2985           vpackssdw (%rcx){1to4}, %xmm17, %xmm24
2986
2987 // CHECK: vpackssdw 2032(%rdx), %xmm17, %xmm24
2988 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0x6b,0x42,0x7f]
2989           vpackssdw 2032(%rdx), %xmm17, %xmm24
2990
2991 // CHECK: vpackssdw 2048(%rdx), %xmm17, %xmm24
2992 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0x6b,0x82,0x00,0x08,0x00,0x00]
2993           vpackssdw 2048(%rdx), %xmm17, %xmm24
2994
2995 // CHECK: vpackssdw -2048(%rdx), %xmm17, %xmm24
2996 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0x6b,0x42,0x80]
2997           vpackssdw -2048(%rdx), %xmm17, %xmm24
2998
2999 // CHECK: vpackssdw -2064(%rdx), %xmm17, %xmm24
3000 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0x6b,0x82,0xf0,0xf7,0xff,0xff]
3001           vpackssdw -2064(%rdx), %xmm17, %xmm24
3002
3003 // CHECK: vpackssdw 508(%rdx){1to4}, %xmm17, %xmm24
3004 // CHECK:  encoding: [0x62,0x61,0x75,0x10,0x6b,0x42,0x7f]
3005           vpackssdw 508(%rdx){1to4}, %xmm17, %xmm24
3006
3007 // CHECK: vpackssdw 512(%rdx){1to4}, %xmm17, %xmm24
3008 // CHECK:  encoding: [0x62,0x61,0x75,0x10,0x6b,0x82,0x00,0x02,0x00,0x00]
3009           vpackssdw 512(%rdx){1to4}, %xmm17, %xmm24
3010
3011 // CHECK: vpackssdw -512(%rdx){1to4}, %xmm17, %xmm24
3012 // CHECK:  encoding: [0x62,0x61,0x75,0x10,0x6b,0x42,0x80]
3013           vpackssdw -512(%rdx){1to4}, %xmm17, %xmm24
3014
3015 // CHECK: vpackssdw -516(%rdx){1to4}, %xmm17, %xmm24
3016 // CHECK:  encoding: [0x62,0x61,0x75,0x10,0x6b,0x82,0xfc,0xfd,0xff,0xff]
3017           vpackssdw -516(%rdx){1to4}, %xmm17, %xmm24
3018
3019 // CHECK: vpackssdw %ymm19, %ymm19, %ymm25
3020 // CHECK:  encoding: [0x62,0x21,0x65,0x20,0x6b,0xcb]
3021           vpackssdw %ymm19, %ymm19, %ymm25
3022
3023 // CHECK: vpackssdw %ymm19, %ymm19, %ymm25 {%k2}
3024 // CHECK:  encoding: [0x62,0x21,0x65,0x22,0x6b,0xcb]
3025           vpackssdw %ymm19, %ymm19, %ymm25 {%k2}
3026
3027 // CHECK: vpackssdw %ymm19, %ymm19, %ymm25 {%k2} {z}
3028 // CHECK:  encoding: [0x62,0x21,0x65,0xa2,0x6b,0xcb]
3029           vpackssdw %ymm19, %ymm19, %ymm25 {%k2} {z}
3030
3031 // CHECK: vpackssdw (%rcx), %ymm19, %ymm25
3032 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0x6b,0x09]
3033           vpackssdw (%rcx), %ymm19, %ymm25
3034
3035 // CHECK: vpackssdw 4660(%rax,%r14,8), %ymm19, %ymm25
3036 // CHECK:  encoding: [0x62,0x21,0x65,0x20,0x6b,0x8c,0xf0,0x34,0x12,0x00,0x00]
3037           vpackssdw 4660(%rax,%r14,8), %ymm19, %ymm25
3038
3039 // CHECK: vpackssdw (%rcx){1to8}, %ymm19, %ymm25
3040 // CHECK:  encoding: [0x62,0x61,0x65,0x30,0x6b,0x09]
3041           vpackssdw (%rcx){1to8}, %ymm19, %ymm25
3042
3043 // CHECK: vpackssdw 4064(%rdx), %ymm19, %ymm25
3044 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0x6b,0x4a,0x7f]
3045           vpackssdw 4064(%rdx), %ymm19, %ymm25
3046
3047 // CHECK: vpackssdw 4096(%rdx), %ymm19, %ymm25
3048 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0x6b,0x8a,0x00,0x10,0x00,0x00]
3049           vpackssdw 4096(%rdx), %ymm19, %ymm25
3050
3051 // CHECK: vpackssdw -4096(%rdx), %ymm19, %ymm25
3052 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0x6b,0x4a,0x80]
3053           vpackssdw -4096(%rdx), %ymm19, %ymm25
3054
3055 // CHECK: vpackssdw -4128(%rdx), %ymm19, %ymm25
3056 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0x6b,0x8a,0xe0,0xef,0xff,0xff]
3057           vpackssdw -4128(%rdx), %ymm19, %ymm25
3058
3059 // CHECK: vpackssdw 508(%rdx){1to8}, %ymm19, %ymm25
3060 // CHECK:  encoding: [0x62,0x61,0x65,0x30,0x6b,0x4a,0x7f]
3061           vpackssdw 508(%rdx){1to8}, %ymm19, %ymm25
3062
3063 // CHECK: vpackssdw 512(%rdx){1to8}, %ymm19, %ymm25
3064 // CHECK:  encoding: [0x62,0x61,0x65,0x30,0x6b,0x8a,0x00,0x02,0x00,0x00]
3065           vpackssdw 512(%rdx){1to8}, %ymm19, %ymm25
3066
3067 // CHECK: vpackssdw -512(%rdx){1to8}, %ymm19, %ymm25
3068 // CHECK:  encoding: [0x62,0x61,0x65,0x30,0x6b,0x4a,0x80]
3069           vpackssdw -512(%rdx){1to8}, %ymm19, %ymm25
3070
3071 // CHECK: vpackssdw -516(%rdx){1to8}, %ymm19, %ymm25
3072 // CHECK:  encoding: [0x62,0x61,0x65,0x30,0x6b,0x8a,0xfc,0xfd,0xff,0xff]
3073           vpackssdw -516(%rdx){1to8}, %ymm19, %ymm25
3074
3075 // CHECK: vpacksswb %xmm22, %xmm25, %xmm29
3076 // CHECK:  encoding: [0x62,0x21,0xb5,0x00,0x63,0xee]
3077           vpacksswb %xmm22, %xmm25, %xmm29
3078
3079 // CHECK: vpacksswb %xmm22, %xmm25, %xmm29 {%k5}
3080 // CHECK:  encoding: [0x62,0x21,0xb5,0x05,0x63,0xee]
3081           vpacksswb %xmm22, %xmm25, %xmm29 {%k5}
3082
3083 // CHECK: vpacksswb %xmm22, %xmm25, %xmm29 {%k5} {z}
3084 // CHECK:  encoding: [0x62,0x21,0xb5,0x85,0x63,0xee]
3085           vpacksswb %xmm22, %xmm25, %xmm29 {%k5} {z}
3086
3087 // CHECK: vpacksswb (%rcx), %xmm25, %xmm29
3088 // CHECK:  encoding: [0x62,0x61,0xb5,0x00,0x63,0x29]
3089           vpacksswb (%rcx), %xmm25, %xmm29
3090
3091 // CHECK: vpacksswb 4660(%rax,%r14,8), %xmm25, %xmm29
3092 // CHECK:  encoding: [0x62,0x21,0xb5,0x00,0x63,0xac,0xf0,0x34,0x12,0x00,0x00]
3093           vpacksswb 4660(%rax,%r14,8), %xmm25, %xmm29
3094
3095 // CHECK: vpacksswb 2032(%rdx), %xmm25, %xmm29
3096 // CHECK:  encoding: [0x62,0x61,0xb5,0x00,0x63,0x6a,0x7f]
3097           vpacksswb 2032(%rdx), %xmm25, %xmm29
3098
3099 // CHECK: vpacksswb 2048(%rdx), %xmm25, %xmm29
3100 // CHECK:  encoding: [0x62,0x61,0xb5,0x00,0x63,0xaa,0x00,0x08,0x00,0x00]
3101           vpacksswb 2048(%rdx), %xmm25, %xmm29
3102
3103 // CHECK: vpacksswb -2048(%rdx), %xmm25, %xmm29
3104 // CHECK:  encoding: [0x62,0x61,0xb5,0x00,0x63,0x6a,0x80]
3105           vpacksswb -2048(%rdx), %xmm25, %xmm29
3106
3107 // CHECK: vpacksswb -2064(%rdx), %xmm25, %xmm29
3108 // CHECK:  encoding: [0x62,0x61,0xb5,0x00,0x63,0xaa,0xf0,0xf7,0xff,0xff]
3109           vpacksswb -2064(%rdx), %xmm25, %xmm29
3110
3111 // CHECK: vpacksswb %ymm27, %ymm20, %ymm26
3112 // CHECK:  encoding: [0x62,0x01,0xdd,0x20,0x63,0xd3]
3113           vpacksswb %ymm27, %ymm20, %ymm26
3114
3115 // CHECK: vpacksswb %ymm27, %ymm20, %ymm26 {%k6}
3116 // CHECK:  encoding: [0x62,0x01,0xdd,0x26,0x63,0xd3]
3117           vpacksswb %ymm27, %ymm20, %ymm26 {%k6}
3118
3119 // CHECK: vpacksswb %ymm27, %ymm20, %ymm26 {%k6} {z}
3120 // CHECK:  encoding: [0x62,0x01,0xdd,0xa6,0x63,0xd3]
3121           vpacksswb %ymm27, %ymm20, %ymm26 {%k6} {z}
3122
3123 // CHECK: vpacksswb (%rcx), %ymm20, %ymm26
3124 // CHECK:  encoding: [0x62,0x61,0xdd,0x20,0x63,0x11]
3125           vpacksswb (%rcx), %ymm20, %ymm26
3126
3127 // CHECK: vpacksswb 4660(%rax,%r14,8), %ymm20, %ymm26
3128 // CHECK:  encoding: [0x62,0x21,0xdd,0x20,0x63,0x94,0xf0,0x34,0x12,0x00,0x00]
3129           vpacksswb 4660(%rax,%r14,8), %ymm20, %ymm26
3130
3131 // CHECK: vpacksswb 4064(%rdx), %ymm20, %ymm26
3132 // CHECK:  encoding: [0x62,0x61,0xdd,0x20,0x63,0x52,0x7f]
3133           vpacksswb 4064(%rdx), %ymm20, %ymm26
3134
3135 // CHECK: vpacksswb 4096(%rdx), %ymm20, %ymm26
3136 // CHECK:  encoding: [0x62,0x61,0xdd,0x20,0x63,0x92,0x00,0x10,0x00,0x00]
3137           vpacksswb 4096(%rdx), %ymm20, %ymm26
3138
3139 // CHECK: vpacksswb -4096(%rdx), %ymm20, %ymm26
3140 // CHECK:  encoding: [0x62,0x61,0xdd,0x20,0x63,0x52,0x80]
3141           vpacksswb -4096(%rdx), %ymm20, %ymm26
3142
3143 // CHECK: vpacksswb -4128(%rdx), %ymm20, %ymm26
3144 // CHECK:  encoding: [0x62,0x61,0xdd,0x20,0x63,0x92,0xe0,0xef,0xff,0xff]
3145           vpacksswb -4128(%rdx), %ymm20, %ymm26
3146
3147 // CHECK: vpackusdw %xmm18, %xmm27, %xmm28
3148 // CHECK:  encoding: [0x62,0x22,0x25,0x00,0x2b,0xe2]
3149           vpackusdw %xmm18, %xmm27, %xmm28
3150
3151 // CHECK: vpackusdw %xmm18, %xmm27, %xmm28 {%k4}
3152 // CHECK:  encoding: [0x62,0x22,0x25,0x04,0x2b,0xe2]
3153           vpackusdw %xmm18, %xmm27, %xmm28 {%k4}
3154
3155 // CHECK: vpackusdw %xmm18, %xmm27, %xmm28 {%k4} {z}
3156 // CHECK:  encoding: [0x62,0x22,0x25,0x84,0x2b,0xe2]
3157           vpackusdw %xmm18, %xmm27, %xmm28 {%k4} {z}
3158
3159 // CHECK: vpackusdw (%rcx), %xmm27, %xmm28
3160 // CHECK:  encoding: [0x62,0x62,0x25,0x00,0x2b,0x21]
3161           vpackusdw (%rcx), %xmm27, %xmm28
3162
3163 // CHECK: vpackusdw 4660(%rax,%r14,8), %xmm27, %xmm28
3164 // CHECK:  encoding: [0x62,0x22,0x25,0x00,0x2b,0xa4,0xf0,0x34,0x12,0x00,0x00]
3165           vpackusdw 4660(%rax,%r14,8), %xmm27, %xmm28
3166
3167 // CHECK: vpackusdw (%rcx){1to4}, %xmm27, %xmm28
3168 // CHECK:  encoding: [0x62,0x62,0x25,0x10,0x2b,0x21]
3169           vpackusdw (%rcx){1to4}, %xmm27, %xmm28
3170
3171 // CHECK: vpackusdw 2032(%rdx), %xmm27, %xmm28
3172 // CHECK:  encoding: [0x62,0x62,0x25,0x00,0x2b,0x62,0x7f]
3173           vpackusdw 2032(%rdx), %xmm27, %xmm28
3174
3175 // CHECK: vpackusdw 2048(%rdx), %xmm27, %xmm28
3176 // CHECK:  encoding: [0x62,0x62,0x25,0x00,0x2b,0xa2,0x00,0x08,0x00,0x00]
3177           vpackusdw 2048(%rdx), %xmm27, %xmm28
3178
3179 // CHECK: vpackusdw -2048(%rdx), %xmm27, %xmm28
3180 // CHECK:  encoding: [0x62,0x62,0x25,0x00,0x2b,0x62,0x80]
3181           vpackusdw -2048(%rdx), %xmm27, %xmm28
3182
3183 // CHECK: vpackusdw -2064(%rdx), %xmm27, %xmm28
3184 // CHECK:  encoding: [0x62,0x62,0x25,0x00,0x2b,0xa2,0xf0,0xf7,0xff,0xff]
3185           vpackusdw -2064(%rdx), %xmm27, %xmm28
3186
3187 // CHECK: vpackusdw 508(%rdx){1to4}, %xmm27, %xmm28
3188 // CHECK:  encoding: [0x62,0x62,0x25,0x10,0x2b,0x62,0x7f]
3189           vpackusdw 508(%rdx){1to4}, %xmm27, %xmm28
3190
3191 // CHECK: vpackusdw 512(%rdx){1to4}, %xmm27, %xmm28
3192 // CHECK:  encoding: [0x62,0x62,0x25,0x10,0x2b,0xa2,0x00,0x02,0x00,0x00]
3193           vpackusdw 512(%rdx){1to4}, %xmm27, %xmm28
3194
3195 // CHECK: vpackusdw -512(%rdx){1to4}, %xmm27, %xmm28
3196 // CHECK:  encoding: [0x62,0x62,0x25,0x10,0x2b,0x62,0x80]
3197           vpackusdw -512(%rdx){1to4}, %xmm27, %xmm28
3198
3199 // CHECK: vpackusdw -516(%rdx){1to4}, %xmm27, %xmm28
3200 // CHECK:  encoding: [0x62,0x62,0x25,0x10,0x2b,0xa2,0xfc,0xfd,0xff,0xff]
3201           vpackusdw -516(%rdx){1to4}, %xmm27, %xmm28
3202
3203 // CHECK: vpackusdw %ymm17, %ymm26, %ymm23
3204 // CHECK:  encoding: [0x62,0xa2,0x2d,0x20,0x2b,0xf9]
3205           vpackusdw %ymm17, %ymm26, %ymm23
3206
3207 // CHECK: vpackusdw %ymm17, %ymm26, %ymm23 {%k4}
3208 // CHECK:  encoding: [0x62,0xa2,0x2d,0x24,0x2b,0xf9]
3209           vpackusdw %ymm17, %ymm26, %ymm23 {%k4}
3210
3211 // CHECK: vpackusdw %ymm17, %ymm26, %ymm23 {%k4} {z}
3212 // CHECK:  encoding: [0x62,0xa2,0x2d,0xa4,0x2b,0xf9]
3213           vpackusdw %ymm17, %ymm26, %ymm23 {%k4} {z}
3214
3215 // CHECK: vpackusdw (%rcx), %ymm26, %ymm23
3216 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x39]
3217           vpackusdw (%rcx), %ymm26, %ymm23
3218
3219 // CHECK: vpackusdw 4660(%rax,%r14,8), %ymm26, %ymm23
3220 // CHECK:  encoding: [0x62,0xa2,0x2d,0x20,0x2b,0xbc,0xf0,0x34,0x12,0x00,0x00]
3221           vpackusdw 4660(%rax,%r14,8), %ymm26, %ymm23
3222
3223 // CHECK: vpackusdw (%rcx){1to8}, %ymm26, %ymm23
3224 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x39]
3225           vpackusdw (%rcx){1to8}, %ymm26, %ymm23
3226
3227 // CHECK: vpackusdw 4064(%rdx), %ymm26, %ymm23
3228 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x7a,0x7f]
3229           vpackusdw 4064(%rdx), %ymm26, %ymm23
3230
3231 // CHECK: vpackusdw 4096(%rdx), %ymm26, %ymm23
3232 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0xba,0x00,0x10,0x00,0x00]
3233           vpackusdw 4096(%rdx), %ymm26, %ymm23
3234
3235 // CHECK: vpackusdw -4096(%rdx), %ymm26, %ymm23
3236 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x7a,0x80]
3237           vpackusdw -4096(%rdx), %ymm26, %ymm23
3238
3239 // CHECK: vpackusdw -4128(%rdx), %ymm26, %ymm23
3240 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0xba,0xe0,0xef,0xff,0xff]
3241           vpackusdw -4128(%rdx), %ymm26, %ymm23
3242
3243 // CHECK: vpackusdw 508(%rdx){1to8}, %ymm26, %ymm23
3244 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x7a,0x7f]
3245           vpackusdw 508(%rdx){1to8}, %ymm26, %ymm23
3246
3247 // CHECK: vpackusdw 512(%rdx){1to8}, %ymm26, %ymm23
3248 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0xba,0x00,0x02,0x00,0x00]
3249           vpackusdw 512(%rdx){1to8}, %ymm26, %ymm23
3250
3251 // CHECK: vpackusdw -512(%rdx){1to8}, %ymm26, %ymm23
3252 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x7a,0x80]
3253           vpackusdw -512(%rdx){1to8}, %ymm26, %ymm23
3254
3255 // CHECK: vpackusdw -516(%rdx){1to8}, %ymm26, %ymm23
3256 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0xba,0xfc,0xfd,0xff,0xff]
3257           vpackusdw -516(%rdx){1to8}, %ymm26, %ymm23
3258
3259 // CHECK: vpackuswb %xmm23, %xmm20, %xmm20
3260 // CHECK:  encoding: [0x62,0xa1,0xdd,0x00,0x67,0xe7]
3261           vpackuswb %xmm23, %xmm20, %xmm20
3262
3263 // CHECK: vpackuswb %xmm23, %xmm20, %xmm20 {%k2}
3264 // CHECK:  encoding: [0x62,0xa1,0xdd,0x02,0x67,0xe7]
3265           vpackuswb %xmm23, %xmm20, %xmm20 {%k2}
3266
3267 // CHECK: vpackuswb %xmm23, %xmm20, %xmm20 {%k2} {z}
3268 // CHECK:  encoding: [0x62,0xa1,0xdd,0x82,0x67,0xe7]
3269           vpackuswb %xmm23, %xmm20, %xmm20 {%k2} {z}
3270
3271 // CHECK: vpackuswb (%rcx), %xmm20, %xmm20
3272 // CHECK:  encoding: [0x62,0xe1,0xdd,0x00,0x67,0x21]
3273           vpackuswb (%rcx), %xmm20, %xmm20
3274
3275 // CHECK: vpackuswb 4660(%rax,%r14,8), %xmm20, %xmm20
3276 // CHECK:  encoding: [0x62,0xa1,0xdd,0x00,0x67,0xa4,0xf0,0x34,0x12,0x00,0x00]
3277           vpackuswb 4660(%rax,%r14,8), %xmm20, %xmm20
3278
3279 // CHECK: vpackuswb 2032(%rdx), %xmm20, %xmm20
3280 // CHECK:  encoding: [0x62,0xe1,0xdd,0x00,0x67,0x62,0x7f]
3281           vpackuswb 2032(%rdx), %xmm20, %xmm20
3282
3283 // CHECK: vpackuswb 2048(%rdx), %xmm20, %xmm20
3284 // CHECK:  encoding: [0x62,0xe1,0xdd,0x00,0x67,0xa2,0x00,0x08,0x00,0x00]
3285           vpackuswb 2048(%rdx), %xmm20, %xmm20
3286
3287 // CHECK: vpackuswb -2048(%rdx), %xmm20, %xmm20
3288 // CHECK:  encoding: [0x62,0xe1,0xdd,0x00,0x67,0x62,0x80]
3289           vpackuswb -2048(%rdx), %xmm20, %xmm20
3290
3291 // CHECK: vpackuswb -2064(%rdx), %xmm20, %xmm20
3292 // CHECK:  encoding: [0x62,0xe1,0xdd,0x00,0x67,0xa2,0xf0,0xf7,0xff,0xff]
3293           vpackuswb -2064(%rdx), %xmm20, %xmm20
3294
3295 // CHECK: vpackuswb %ymm27, %ymm19, %ymm20
3296 // CHECK:  encoding: [0x62,0x81,0xe5,0x20,0x67,0xe3]
3297           vpackuswb %ymm27, %ymm19, %ymm20
3298
3299 // CHECK: vpackuswb %ymm27, %ymm19, %ymm20 {%k5}
3300 // CHECK:  encoding: [0x62,0x81,0xe5,0x25,0x67,0xe3]
3301           vpackuswb %ymm27, %ymm19, %ymm20 {%k5}
3302
3303 // CHECK: vpackuswb %ymm27, %ymm19, %ymm20 {%k5} {z}
3304 // CHECK:  encoding: [0x62,0x81,0xe5,0xa5,0x67,0xe3]
3305           vpackuswb %ymm27, %ymm19, %ymm20 {%k5} {z}
3306
3307 // CHECK: vpackuswb (%rcx), %ymm19, %ymm20
3308 // CHECK:  encoding: [0x62,0xe1,0xe5,0x20,0x67,0x21]
3309           vpackuswb (%rcx), %ymm19, %ymm20
3310
3311 // CHECK: vpackuswb 4660(%rax,%r14,8), %ymm19, %ymm20
3312 // CHECK:  encoding: [0x62,0xa1,0xe5,0x20,0x67,0xa4,0xf0,0x34,0x12,0x00,0x00]
3313           vpackuswb 4660(%rax,%r14,8), %ymm19, %ymm20
3314
3315 // CHECK: vpackuswb 4064(%rdx), %ymm19, %ymm20
3316 // CHECK:  encoding: [0x62,0xe1,0xe5,0x20,0x67,0x62,0x7f]
3317           vpackuswb 4064(%rdx), %ymm19, %ymm20
3318
3319 // CHECK: vpackuswb 4096(%rdx), %ymm19, %ymm20
3320 // CHECK:  encoding: [0x62,0xe1,0xe5,0x20,0x67,0xa2,0x00,0x10,0x00,0x00]
3321           vpackuswb 4096(%rdx), %ymm19, %ymm20
3322
3323 // CHECK: vpackuswb -4096(%rdx), %ymm19, %ymm20
3324 // CHECK:  encoding: [0x62,0xe1,0xe5,0x20,0x67,0x62,0x80]
3325           vpackuswb -4096(%rdx), %ymm19, %ymm20
3326
3327 // CHECK: vpackuswb -4128(%rdx), %ymm19, %ymm20
3328 // CHECK:  encoding: [0x62,0xe1,0xe5,0x20,0x67,0xa2,0xe0,0xef,0xff,0xff]
3329           vpackuswb -4128(%rdx), %ymm19, %ymm20