AVX-512: Added encoding of all forms of VPERMT2W/D/Q/PS/PD
[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: vpmovsxbw %xmm23, %xmm27
1316 // CHECK:  encoding: [0x62,0x22,0x7d,0x08,0x20,0xdf]
1317           vpmovsxbw %xmm23, %xmm27
1318
1319 // CHECK: vpmovsxbw %xmm23, %xmm27 {%k7}
1320 // CHECK:  encoding: [0x62,0x22,0x7d,0x0f,0x20,0xdf]
1321           vpmovsxbw %xmm23, %xmm27 {%k7}
1322
1323 // CHECK: vpmovsxbw %xmm23, %xmm27 {%k7} {z}
1324 // CHECK:  encoding: [0x62,0x22,0x7d,0x8f,0x20,0xdf]
1325           vpmovsxbw %xmm23, %xmm27 {%k7} {z}
1326
1327 // CHECK: vpmovsxbw (%rcx), %xmm27
1328 // CHECK:  encoding: [0x62,0x62,0x7d,0x08,0x20,0x19]
1329           vpmovsxbw (%rcx), %xmm27
1330
1331 // CHECK: vpmovsxbw 291(%rax,%r14,8), %xmm27
1332 // CHECK:  encoding: [0x62,0x22,0x7d,0x08,0x20,0x9c,0xf0,0x23,0x01,0x00,0x00]
1333           vpmovsxbw 291(%rax,%r14,8), %xmm27
1334
1335 // CHECK: vpmovsxbw 1016(%rdx), %xmm27
1336 // CHECK:  encoding: [0x62,0x62,0x7d,0x08,0x20,0x5a,0x7f]
1337           vpmovsxbw 1016(%rdx), %xmm27
1338
1339 // CHECK: vpmovsxbw 1024(%rdx), %xmm27
1340 // CHECK:  encoding: [0x62,0x62,0x7d,0x08,0x20,0x9a,0x00,0x04,0x00,0x00]
1341           vpmovsxbw 1024(%rdx), %xmm27
1342
1343 // CHECK: vpmovsxbw -1024(%rdx), %xmm27
1344 // CHECK:  encoding: [0x62,0x62,0x7d,0x08,0x20,0x5a,0x80]
1345           vpmovsxbw -1024(%rdx), %xmm27
1346
1347 // CHECK: vpmovsxbw -1032(%rdx), %xmm27
1348 // CHECK:  encoding: [0x62,0x62,0x7d,0x08,0x20,0x9a,0xf8,0xfb,0xff,0xff]
1349           vpmovsxbw -1032(%rdx), %xmm27
1350
1351 // CHECK: vpmovsxbw %xmm23, %ymm21
1352 // CHECK:  encoding: [0x62,0xa2,0x7d,0x28,0x20,0xef]
1353           vpmovsxbw %xmm23, %ymm21
1354
1355 // CHECK: vpmovsxbw %xmm23, %ymm21 {%k7}
1356 // CHECK:  encoding: [0x62,0xa2,0x7d,0x2f,0x20,0xef]
1357           vpmovsxbw %xmm23, %ymm21 {%k7}
1358
1359 // CHECK: vpmovsxbw %xmm23, %ymm21 {%k7} {z}
1360 // CHECK:  encoding: [0x62,0xa2,0x7d,0xaf,0x20,0xef]
1361           vpmovsxbw %xmm23, %ymm21 {%k7} {z}
1362
1363 // CHECK: vpmovsxbw (%rcx), %ymm21
1364 // CHECK:  encoding: [0x62,0xe2,0x7d,0x28,0x20,0x29]
1365           vpmovsxbw (%rcx), %ymm21
1366
1367 // CHECK: vpmovsxbw 291(%rax,%r14,8), %ymm21
1368 // CHECK:  encoding: [0x62,0xa2,0x7d,0x28,0x20,0xac,0xf0,0x23,0x01,0x00,0x00]
1369           vpmovsxbw 291(%rax,%r14,8), %ymm21
1370
1371 // CHECK: vpmovsxbw 2032(%rdx), %ymm21
1372 // CHECK:  encoding: [0x62,0xe2,0x7d,0x28,0x20,0x6a,0x7f]
1373           vpmovsxbw 2032(%rdx), %ymm21
1374
1375 // CHECK: vpmovsxbw 2048(%rdx), %ymm21
1376 // CHECK:  encoding: [0x62,0xe2,0x7d,0x28,0x20,0xaa,0x00,0x08,0x00,0x00]
1377           vpmovsxbw 2048(%rdx), %ymm21
1378
1379 // CHECK: vpmovsxbw -2048(%rdx), %ymm21
1380 // CHECK:  encoding: [0x62,0xe2,0x7d,0x28,0x20,0x6a,0x80]
1381           vpmovsxbw -2048(%rdx), %ymm21
1382
1383 // CHECK: vpmovsxbw -2064(%rdx), %ymm21
1384 // CHECK:  encoding: [0x62,0xe2,0x7d,0x28,0x20,0xaa,0xf0,0xf7,0xff,0xff]
1385           vpmovsxbw -2064(%rdx), %ymm21
1386
1387 // CHECK: vpmovzxbw %xmm29, %xmm30
1388 // CHECK:  encoding: [0x62,0x02,0x7d,0x08,0x30,0xf5]
1389           vpmovzxbw %xmm29, %xmm30
1390
1391 // CHECK: vpmovzxbw %xmm29, %xmm30 {%k7}
1392 // CHECK:  encoding: [0x62,0x02,0x7d,0x0f,0x30,0xf5]
1393           vpmovzxbw %xmm29, %xmm30 {%k7}
1394
1395 // CHECK: vpmovzxbw %xmm29, %xmm30 {%k7} {z}
1396 // CHECK:  encoding: [0x62,0x02,0x7d,0x8f,0x30,0xf5]
1397           vpmovzxbw %xmm29, %xmm30 {%k7} {z}
1398
1399 // CHECK: vpmovzxbw (%rcx), %xmm30
1400 // CHECK:  encoding: [0x62,0x62,0x7d,0x08,0x30,0x31]
1401           vpmovzxbw (%rcx), %xmm30
1402
1403 // CHECK: vpmovzxbw 291(%rax,%r14,8), %xmm30
1404 // CHECK:  encoding: [0x62,0x22,0x7d,0x08,0x30,0xb4,0xf0,0x23,0x01,0x00,0x00]
1405           vpmovzxbw 291(%rax,%r14,8), %xmm30
1406
1407 // CHECK: vpmovzxbw 1016(%rdx), %xmm30
1408 // CHECK:  encoding: [0x62,0x62,0x7d,0x08,0x30,0x72,0x7f]
1409           vpmovzxbw 1016(%rdx), %xmm30
1410
1411 // CHECK: vpmovzxbw 1024(%rdx), %xmm30
1412 // CHECK:  encoding: [0x62,0x62,0x7d,0x08,0x30,0xb2,0x00,0x04,0x00,0x00]
1413           vpmovzxbw 1024(%rdx), %xmm30
1414
1415 // CHECK: vpmovzxbw -1024(%rdx), %xmm30
1416 // CHECK:  encoding: [0x62,0x62,0x7d,0x08,0x30,0x72,0x80]
1417           vpmovzxbw -1024(%rdx), %xmm30
1418
1419 // CHECK: vpmovzxbw -1032(%rdx), %xmm30
1420 // CHECK:  encoding: [0x62,0x62,0x7d,0x08,0x30,0xb2,0xf8,0xfb,0xff,0xff]
1421           vpmovzxbw -1032(%rdx), %xmm30
1422
1423 // CHECK: vpmovzxbw %xmm29, %ymm22
1424 // CHECK:  encoding: [0x62,0x82,0x7d,0x28,0x30,0xf5]
1425           vpmovzxbw %xmm29, %ymm22
1426
1427 // CHECK: vpmovzxbw %xmm29, %ymm22 {%k2}
1428 // CHECK:  encoding: [0x62,0x82,0x7d,0x2a,0x30,0xf5]
1429           vpmovzxbw %xmm29, %ymm22 {%k2}
1430
1431 // CHECK: vpmovzxbw %xmm29, %ymm22 {%k2} {z}
1432 // CHECK:  encoding: [0x62,0x82,0x7d,0xaa,0x30,0xf5]
1433           vpmovzxbw %xmm29, %ymm22 {%k2} {z}
1434
1435 // CHECK: vpmovzxbw (%rcx), %ymm22
1436 // CHECK:  encoding: [0x62,0xe2,0x7d,0x28,0x30,0x31]
1437           vpmovzxbw (%rcx), %ymm22
1438
1439 // CHECK: vpmovzxbw 291(%rax,%r14,8), %ymm22
1440 // CHECK:  encoding: [0x62,0xa2,0x7d,0x28,0x30,0xb4,0xf0,0x23,0x01,0x00,0x00]
1441           vpmovzxbw 291(%rax,%r14,8), %ymm22
1442
1443 // CHECK: vpmovzxbw 2032(%rdx), %ymm22
1444 // CHECK:  encoding: [0x62,0xe2,0x7d,0x28,0x30,0x72,0x7f]
1445           vpmovzxbw 2032(%rdx), %ymm22
1446
1447 // CHECK: vpmovzxbw 2048(%rdx), %ymm22
1448 // CHECK:  encoding: [0x62,0xe2,0x7d,0x28,0x30,0xb2,0x00,0x08,0x00,0x00]
1449           vpmovzxbw 2048(%rdx), %ymm22
1450
1451 // CHECK: vpmovzxbw -2048(%rdx), %ymm22
1452 // CHECK:  encoding: [0x62,0xe2,0x7d,0x28,0x30,0x72,0x80]
1453           vpmovzxbw -2048(%rdx), %ymm22
1454
1455 // CHECK: vpmovzxbw -2064(%rdx), %ymm22
1456 // CHECK:  encoding: [0x62,0xe2,0x7d,0x28,0x30,0xb2,0xf0,0xf7,0xff,0xff]
1457           vpmovzxbw -2064(%rdx), %ymm22
1458
1459 // CHECK: vpmullw %xmm26, %xmm19, %xmm29
1460 // CHECK:  encoding: [0x62,0x01,0x65,0x00,0xd5,0xea]
1461           vpmullw %xmm26, %xmm19, %xmm29
1462
1463 // CHECK: vpmullw %xmm26, %xmm19, %xmm29 {%k7}
1464 // CHECK:  encoding: [0x62,0x01,0x65,0x07,0xd5,0xea]
1465           vpmullw %xmm26, %xmm19, %xmm29 {%k7}
1466
1467 // CHECK: vpmullw %xmm26, %xmm19, %xmm29 {%k7} {z}
1468 // CHECK:  encoding: [0x62,0x01,0x65,0x87,0xd5,0xea]
1469           vpmullw %xmm26, %xmm19, %xmm29 {%k7} {z}
1470
1471 // CHECK: vpmullw (%rcx), %xmm19, %xmm29
1472 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xd5,0x29]
1473           vpmullw (%rcx), %xmm19, %xmm29
1474
1475 // CHECK: vpmullw 291(%rax,%r14,8), %xmm19, %xmm29
1476 // CHECK:  encoding: [0x62,0x21,0x65,0x00,0xd5,0xac,0xf0,0x23,0x01,0x00,0x00]
1477           vpmullw 291(%rax,%r14,8), %xmm19, %xmm29
1478
1479 // CHECK: vpmullw 2032(%rdx), %xmm19, %xmm29
1480 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xd5,0x6a,0x7f]
1481           vpmullw 2032(%rdx), %xmm19, %xmm29
1482
1483 // CHECK: vpmullw 2048(%rdx), %xmm19, %xmm29
1484 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xd5,0xaa,0x00,0x08,0x00,0x00]
1485           vpmullw 2048(%rdx), %xmm19, %xmm29
1486
1487 // CHECK: vpmullw -2048(%rdx), %xmm19, %xmm29
1488 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xd5,0x6a,0x80]
1489           vpmullw -2048(%rdx), %xmm19, %xmm29
1490
1491 // CHECK: vpmullw -2064(%rdx), %xmm19, %xmm29
1492 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xd5,0xaa,0xf0,0xf7,0xff,0xff]
1493           vpmullw -2064(%rdx), %xmm19, %xmm29
1494
1495 // CHECK: vpmullw %ymm20, %ymm24, %ymm17
1496 // CHECK:  encoding: [0x62,0xa1,0x3d,0x20,0xd5,0xcc]
1497           vpmullw %ymm20, %ymm24, %ymm17
1498
1499 // CHECK: vpmullw %ymm20, %ymm24, %ymm17 {%k5}
1500 // CHECK:  encoding: [0x62,0xa1,0x3d,0x25,0xd5,0xcc]
1501           vpmullw %ymm20, %ymm24, %ymm17 {%k5}
1502
1503 // CHECK: vpmullw %ymm20, %ymm24, %ymm17 {%k5} {z}
1504 // CHECK:  encoding: [0x62,0xa1,0x3d,0xa5,0xd5,0xcc]
1505           vpmullw %ymm20, %ymm24, %ymm17 {%k5} {z}
1506
1507 // CHECK: vpmullw (%rcx), %ymm24, %ymm17
1508 // CHECK:  encoding: [0x62,0xe1,0x3d,0x20,0xd5,0x09]
1509           vpmullw (%rcx), %ymm24, %ymm17
1510
1511 // CHECK: vpmullw 291(%rax,%r14,8), %ymm24, %ymm17
1512 // CHECK:  encoding: [0x62,0xa1,0x3d,0x20,0xd5,0x8c,0xf0,0x23,0x01,0x00,0x00]
1513           vpmullw 291(%rax,%r14,8), %ymm24, %ymm17
1514
1515 // CHECK: vpmullw 4064(%rdx), %ymm24, %ymm17
1516 // CHECK:  encoding: [0x62,0xe1,0x3d,0x20,0xd5,0x4a,0x7f]
1517           vpmullw 4064(%rdx), %ymm24, %ymm17
1518
1519 // CHECK: vpmullw 4096(%rdx), %ymm24, %ymm17
1520 // CHECK:  encoding: [0x62,0xe1,0x3d,0x20,0xd5,0x8a,0x00,0x10,0x00,0x00]
1521           vpmullw 4096(%rdx), %ymm24, %ymm17
1522
1523 // CHECK: vpmullw -4096(%rdx), %ymm24, %ymm17
1524 // CHECK:  encoding: [0x62,0xe1,0x3d,0x20,0xd5,0x4a,0x80]
1525           vpmullw -4096(%rdx), %ymm24, %ymm17
1526
1527 // CHECK: vpmullw -4128(%rdx), %ymm24, %ymm17
1528 // CHECK:  encoding: [0x62,0xe1,0x3d,0x20,0xd5,0x8a,0xe0,0xef,0xff,0xff]
1529           vpmullw -4128(%rdx), %ymm24, %ymm17
1530
1531 // CHECK: vpsubb %xmm28, %xmm29, %xmm27
1532 // CHECK:  encoding: [0x62,0x01,0x15,0x00,0xf8,0xdc]
1533           vpsubb %xmm28, %xmm29, %xmm27
1534
1535 // CHECK: vpsubb %xmm28, %xmm29, %xmm27 {%k3}
1536 // CHECK:  encoding: [0x62,0x01,0x15,0x03,0xf8,0xdc]
1537           vpsubb %xmm28, %xmm29, %xmm27 {%k3}
1538
1539 // CHECK: vpsubb %xmm28, %xmm29, %xmm27 {%k3} {z}
1540 // CHECK:  encoding: [0x62,0x01,0x15,0x83,0xf8,0xdc]
1541           vpsubb %xmm28, %xmm29, %xmm27 {%k3} {z}
1542
1543 // CHECK: vpsubb (%rcx), %xmm29, %xmm27
1544 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xf8,0x19]
1545           vpsubb (%rcx), %xmm29, %xmm27
1546
1547 // CHECK: vpsubb 291(%rax,%r14,8), %xmm29, %xmm27
1548 // CHECK:  encoding: [0x62,0x21,0x15,0x00,0xf8,0x9c,0xf0,0x23,0x01,0x00,0x00]
1549           vpsubb 291(%rax,%r14,8), %xmm29, %xmm27
1550
1551 // CHECK: vpsubb 2032(%rdx), %xmm29, %xmm27
1552 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xf8,0x5a,0x7f]
1553           vpsubb 2032(%rdx), %xmm29, %xmm27
1554
1555 // CHECK: vpsubb 2048(%rdx), %xmm29, %xmm27
1556 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xf8,0x9a,0x00,0x08,0x00,0x00]
1557           vpsubb 2048(%rdx), %xmm29, %xmm27
1558
1559 // CHECK: vpsubb -2048(%rdx), %xmm29, %xmm27
1560 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xf8,0x5a,0x80]
1561           vpsubb -2048(%rdx), %xmm29, %xmm27
1562
1563 // CHECK: vpsubb -2064(%rdx), %xmm29, %xmm27
1564 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xf8,0x9a,0xf0,0xf7,0xff,0xff]
1565           vpsubb -2064(%rdx), %xmm29, %xmm27
1566
1567 // CHECK: vpsubb %ymm28, %ymm20, %ymm20
1568 // CHECK:  encoding: [0x62,0x81,0x5d,0x20,0xf8,0xe4]
1569           vpsubb %ymm28, %ymm20, %ymm20
1570
1571 // CHECK: vpsubb %ymm28, %ymm20, %ymm20 {%k2}
1572 // CHECK:  encoding: [0x62,0x81,0x5d,0x22,0xf8,0xe4]
1573           vpsubb %ymm28, %ymm20, %ymm20 {%k2}
1574
1575 // CHECK: vpsubb %ymm28, %ymm20, %ymm20 {%k2} {z}
1576 // CHECK:  encoding: [0x62,0x81,0x5d,0xa2,0xf8,0xe4]
1577           vpsubb %ymm28, %ymm20, %ymm20 {%k2} {z}
1578
1579 // CHECK: vpsubb (%rcx), %ymm20, %ymm20
1580 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xf8,0x21]
1581           vpsubb (%rcx), %ymm20, %ymm20
1582
1583 // CHECK: vpsubb 291(%rax,%r14,8), %ymm20, %ymm20
1584 // CHECK:  encoding: [0x62,0xa1,0x5d,0x20,0xf8,0xa4,0xf0,0x23,0x01,0x00,0x00]
1585           vpsubb 291(%rax,%r14,8), %ymm20, %ymm20
1586
1587 // CHECK: vpsubb 4064(%rdx), %ymm20, %ymm20
1588 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xf8,0x62,0x7f]
1589           vpsubb 4064(%rdx), %ymm20, %ymm20
1590
1591 // CHECK: vpsubb 4096(%rdx), %ymm20, %ymm20
1592 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xf8,0xa2,0x00,0x10,0x00,0x00]
1593           vpsubb 4096(%rdx), %ymm20, %ymm20
1594
1595 // CHECK: vpsubb -4096(%rdx), %ymm20, %ymm20
1596 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xf8,0x62,0x80]
1597           vpsubb -4096(%rdx), %ymm20, %ymm20
1598
1599 // CHECK: vpsubb -4128(%rdx), %ymm20, %ymm20
1600 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xf8,0xa2,0xe0,0xef,0xff,0xff]
1601           vpsubb -4128(%rdx), %ymm20, %ymm20
1602
1603 // CHECK: vpsubw %xmm18, %xmm22, %xmm17
1604 // CHECK:  encoding: [0x62,0xa1,0x4d,0x00,0xf9,0xca]
1605           vpsubw %xmm18, %xmm22, %xmm17
1606
1607 // CHECK: vpsubw %xmm18, %xmm22, %xmm17 {%k6}
1608 // CHECK:  encoding: [0x62,0xa1,0x4d,0x06,0xf9,0xca]
1609           vpsubw %xmm18, %xmm22, %xmm17 {%k6}
1610
1611 // CHECK: vpsubw %xmm18, %xmm22, %xmm17 {%k6} {z}
1612 // CHECK:  encoding: [0x62,0xa1,0x4d,0x86,0xf9,0xca]
1613           vpsubw %xmm18, %xmm22, %xmm17 {%k6} {z}
1614
1615 // CHECK: vpsubw (%rcx), %xmm22, %xmm17
1616 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xf9,0x09]
1617           vpsubw (%rcx), %xmm22, %xmm17
1618
1619 // CHECK: vpsubw 291(%rax,%r14,8), %xmm22, %xmm17
1620 // CHECK:  encoding: [0x62,0xa1,0x4d,0x00,0xf9,0x8c,0xf0,0x23,0x01,0x00,0x00]
1621           vpsubw 291(%rax,%r14,8), %xmm22, %xmm17
1622
1623 // CHECK: vpsubw 2032(%rdx), %xmm22, %xmm17
1624 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xf9,0x4a,0x7f]
1625           vpsubw 2032(%rdx), %xmm22, %xmm17
1626
1627 // CHECK: vpsubw 2048(%rdx), %xmm22, %xmm17
1628 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xf9,0x8a,0x00,0x08,0x00,0x00]
1629           vpsubw 2048(%rdx), %xmm22, %xmm17
1630
1631 // CHECK: vpsubw -2048(%rdx), %xmm22, %xmm17
1632 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xf9,0x4a,0x80]
1633           vpsubw -2048(%rdx), %xmm22, %xmm17
1634
1635 // CHECK: vpsubw -2064(%rdx), %xmm22, %xmm17
1636 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xf9,0x8a,0xf0,0xf7,0xff,0xff]
1637           vpsubw -2064(%rdx), %xmm22, %xmm17
1638
1639 // CHECK: vpsubw %ymm24, %ymm29, %ymm17
1640 // CHECK:  encoding: [0x62,0x81,0x15,0x20,0xf9,0xc8]
1641           vpsubw %ymm24, %ymm29, %ymm17
1642
1643 // CHECK: vpsubw %ymm24, %ymm29, %ymm17 {%k2}
1644 // CHECK:  encoding: [0x62,0x81,0x15,0x22,0xf9,0xc8]
1645           vpsubw %ymm24, %ymm29, %ymm17 {%k2}
1646
1647 // CHECK: vpsubw %ymm24, %ymm29, %ymm17 {%k2} {z}
1648 // CHECK:  encoding: [0x62,0x81,0x15,0xa2,0xf9,0xc8]
1649           vpsubw %ymm24, %ymm29, %ymm17 {%k2} {z}
1650
1651 // CHECK: vpsubw (%rcx), %ymm29, %ymm17
1652 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xf9,0x09]
1653           vpsubw (%rcx), %ymm29, %ymm17
1654
1655 // CHECK: vpsubw 291(%rax,%r14,8), %ymm29, %ymm17
1656 // CHECK:  encoding: [0x62,0xa1,0x15,0x20,0xf9,0x8c,0xf0,0x23,0x01,0x00,0x00]
1657           vpsubw 291(%rax,%r14,8), %ymm29, %ymm17
1658
1659 // CHECK: vpsubw 4064(%rdx), %ymm29, %ymm17
1660 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xf9,0x4a,0x7f]
1661           vpsubw 4064(%rdx), %ymm29, %ymm17
1662
1663 // CHECK: vpsubw 4096(%rdx), %ymm29, %ymm17
1664 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xf9,0x8a,0x00,0x10,0x00,0x00]
1665           vpsubw 4096(%rdx), %ymm29, %ymm17
1666
1667 // CHECK: vpsubw -4096(%rdx), %ymm29, %ymm17
1668 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xf9,0x4a,0x80]
1669           vpsubw -4096(%rdx), %ymm29, %ymm17
1670
1671 // CHECK: vpsubw -4128(%rdx), %ymm29, %ymm17
1672 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xf9,0x8a,0xe0,0xef,0xff,0xff]
1673           vpsubw -4128(%rdx), %ymm29, %ymm17
1674
1675 // CHECK: vmovdqu8 %xmm23, %xmm26
1676 // CHECK:  encoding: [0x62,0x21,0x7f,0x08,0x6f,0xd7]
1677           vmovdqu8 %xmm23, %xmm26
1678
1679 // CHECK: vmovdqu8 %xmm23, %xmm26 {%k2}
1680 // CHECK:  encoding: [0x62,0x21,0x7f,0x0a,0x6f,0xd7]
1681           vmovdqu8 %xmm23, %xmm26 {%k2}
1682
1683 // CHECK: vmovdqu8 %xmm23, %xmm26 {%k2} {z}
1684 // CHECK:  encoding: [0x62,0x21,0x7f,0x8a,0x6f,0xd7]
1685           vmovdqu8 %xmm23, %xmm26 {%k2} {z}
1686
1687 // CHECK: vmovdqu8 (%rcx), %xmm26
1688 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x11]
1689           vmovdqu8 (%rcx), %xmm26
1690
1691 // CHECK: vmovdqu8 291(%rax,%r14,8), %xmm26
1692 // CHECK:  encoding: [0x62,0x21,0x7f,0x08,0x6f,0x94,0xf0,0x23,0x01,0x00,0x00]
1693           vmovdqu8 291(%rax,%r14,8), %xmm26
1694
1695 // CHECK: vmovdqu8 2032(%rdx), %xmm26
1696 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x52,0x7f]
1697           vmovdqu8 2032(%rdx), %xmm26
1698
1699 // CHECK: vmovdqu8 2048(%rdx), %xmm26
1700 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x92,0x00,0x08,0x00,0x00]
1701           vmovdqu8 2048(%rdx), %xmm26
1702
1703 // CHECK: vmovdqu8 -2048(%rdx), %xmm26
1704 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x52,0x80]
1705           vmovdqu8 -2048(%rdx), %xmm26
1706
1707 // CHECK: vmovdqu8 -2064(%rdx), %xmm26
1708 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x92,0xf0,0xf7,0xff,0xff]
1709           vmovdqu8 -2064(%rdx), %xmm26
1710
1711 // CHECK: vmovdqu8 %ymm29, %ymm18
1712 // CHECK:  encoding: [0x62,0x81,0x7f,0x28,0x6f,0xd5]
1713           vmovdqu8 %ymm29, %ymm18
1714
1715 // CHECK: vmovdqu8 %ymm29, %ymm18 {%k7}
1716 // CHECK:  encoding: [0x62,0x81,0x7f,0x2f,0x6f,0xd5]
1717           vmovdqu8 %ymm29, %ymm18 {%k7}
1718
1719 // CHECK: vmovdqu8 %ymm29, %ymm18 {%k7} {z}
1720 // CHECK:  encoding: [0x62,0x81,0x7f,0xaf,0x6f,0xd5]
1721           vmovdqu8 %ymm29, %ymm18 {%k7} {z}
1722
1723 // CHECK: vmovdqu8 (%rcx), %ymm18
1724 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x11]
1725           vmovdqu8 (%rcx), %ymm18
1726
1727 // CHECK: vmovdqu8 291(%rax,%r14,8), %ymm18
1728 // CHECK:  encoding: [0x62,0xa1,0x7f,0x28,0x6f,0x94,0xf0,0x23,0x01,0x00,0x00]
1729           vmovdqu8 291(%rax,%r14,8), %ymm18
1730
1731 // CHECK: vmovdqu8 4064(%rdx), %ymm18
1732 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x52,0x7f]
1733           vmovdqu8 4064(%rdx), %ymm18
1734
1735 // CHECK: vmovdqu8 4096(%rdx), %ymm18
1736 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x92,0x00,0x10,0x00,0x00]
1737           vmovdqu8 4096(%rdx), %ymm18
1738
1739 // CHECK: vmovdqu8 -4096(%rdx), %ymm18
1740 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x52,0x80]
1741           vmovdqu8 -4096(%rdx), %ymm18
1742
1743 // CHECK: vmovdqu8 -4128(%rdx), %ymm18
1744 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x92,0xe0,0xef,0xff,0xff]
1745           vmovdqu8 -4128(%rdx), %ymm18
1746
1747 // CHECK: vmovdqu16 %xmm24, %xmm29
1748 // CHECK:  encoding: [0x62,0x01,0xff,0x08,0x6f,0xe8]
1749           vmovdqu16 %xmm24, %xmm29
1750
1751 // CHECK: vmovdqu16 %xmm24, %xmm29 {%k6}
1752 // CHECK:  encoding: [0x62,0x01,0xff,0x0e,0x6f,0xe8]
1753           vmovdqu16 %xmm24, %xmm29 {%k6}
1754
1755 // CHECK: vmovdqu16 %xmm24, %xmm29 {%k6} {z}
1756 // CHECK:  encoding: [0x62,0x01,0xff,0x8e,0x6f,0xe8]
1757           vmovdqu16 %xmm24, %xmm29 {%k6} {z}
1758
1759 // CHECK: vmovdqu16 (%rcx), %xmm29
1760 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0x29]
1761           vmovdqu16 (%rcx), %xmm29
1762
1763 // CHECK: vmovdqu16 291(%rax,%r14,8), %xmm29
1764 // CHECK:  encoding: [0x62,0x21,0xff,0x08,0x6f,0xac,0xf0,0x23,0x01,0x00,0x00]
1765           vmovdqu16 291(%rax,%r14,8), %xmm29
1766
1767 // CHECK: vmovdqu16 2032(%rdx), %xmm29
1768 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0x6a,0x7f]
1769           vmovdqu16 2032(%rdx), %xmm29
1770
1771 // CHECK: vmovdqu16 2048(%rdx), %xmm29
1772 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0xaa,0x00,0x08,0x00,0x00]
1773           vmovdqu16 2048(%rdx), %xmm29
1774
1775 // CHECK: vmovdqu16 -2048(%rdx), %xmm29
1776 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0x6a,0x80]
1777           vmovdqu16 -2048(%rdx), %xmm29
1778
1779 // CHECK: vmovdqu16 -2064(%rdx), %xmm29
1780 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0xaa,0xf0,0xf7,0xff,0xff]
1781           vmovdqu16 -2064(%rdx), %xmm29
1782
1783 // CHECK: vmovdqu16 %ymm24, %ymm23
1784 // CHECK:  encoding: [0x62,0x81,0xff,0x28,0x6f,0xf8]
1785           vmovdqu16 %ymm24, %ymm23
1786
1787 // CHECK: vmovdqu16 %ymm24, %ymm23 {%k3}
1788 // CHECK:  encoding: [0x62,0x81,0xff,0x2b,0x6f,0xf8]
1789           vmovdqu16 %ymm24, %ymm23 {%k3}
1790
1791 // CHECK: vmovdqu16 %ymm24, %ymm23 {%k3} {z}
1792 // CHECK:  encoding: [0x62,0x81,0xff,0xab,0x6f,0xf8]
1793           vmovdqu16 %ymm24, %ymm23 {%k3} {z}
1794
1795 // CHECK: vmovdqu16 (%rcx), %ymm23
1796 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0x39]
1797           vmovdqu16 (%rcx), %ymm23
1798
1799 // CHECK: vmovdqu16 291(%rax,%r14,8), %ymm23
1800 // CHECK:  encoding: [0x62,0xa1,0xff,0x28,0x6f,0xbc,0xf0,0x23,0x01,0x00,0x00]
1801           vmovdqu16 291(%rax,%r14,8), %ymm23
1802
1803 // CHECK: vmovdqu16 4064(%rdx), %ymm23
1804 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0x7a,0x7f]
1805           vmovdqu16 4064(%rdx), %ymm23
1806
1807 // CHECK: vmovdqu16 4096(%rdx), %ymm23
1808 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0xba,0x00,0x10,0x00,0x00]
1809           vmovdqu16 4096(%rdx), %ymm23
1810
1811 // CHECK: vmovdqu16 -4096(%rdx), %ymm23
1812 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0x7a,0x80]
1813           vmovdqu16 -4096(%rdx), %ymm23
1814
1815 // CHECK: vmovdqu16 -4128(%rdx), %ymm23
1816 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0xba,0xe0,0xef,0xff,0xff]
1817           vmovdqu16 -4128(%rdx), %ymm23
1818
1819 // CHECK: vmovdqu8 %xmm17, (%rcx)
1820 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x09]
1821           vmovdqu8 %xmm17, (%rcx)
1822
1823 // CHECK: vmovdqu8 %xmm17, (%rcx) {%k4}
1824 // CHECK:  encoding: [0x62,0xe1,0x7f,0x0c,0x7f,0x09]
1825           vmovdqu8 %xmm17, (%rcx) {%k4}
1826
1827 // CHECK: vmovdqu8 %xmm17, 291(%rax,%r14,8)
1828 // CHECK:  encoding: [0x62,0xa1,0x7f,0x08,0x7f,0x8c,0xf0,0x23,0x01,0x00,0x00]
1829           vmovdqu8 %xmm17, 291(%rax,%r14,8)
1830
1831 // CHECK: vmovdqu8 %xmm17, 2032(%rdx)
1832 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x4a,0x7f]
1833           vmovdqu8 %xmm17, 2032(%rdx)
1834
1835 // CHECK: vmovdqu8 %xmm17, 2048(%rdx)
1836 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x8a,0x00,0x08,0x00,0x00]
1837           vmovdqu8 %xmm17, 2048(%rdx)
1838
1839 // CHECK: vmovdqu8 %xmm17, -2048(%rdx)
1840 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x4a,0x80]
1841           vmovdqu8 %xmm17, -2048(%rdx)
1842
1843 // CHECK: vmovdqu8 %xmm17, -2064(%rdx)
1844 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x8a,0xf0,0xf7,0xff,0xff]
1845           vmovdqu8 %xmm17, -2064(%rdx)
1846
1847 // CHECK: vmovdqu8 %ymm21, (%rcx)
1848 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0x29]
1849           vmovdqu8 %ymm21, (%rcx)
1850
1851 // CHECK: vmovdqu8 %ymm21, (%rcx) {%k1}
1852 // CHECK:  encoding: [0x62,0xe1,0x7f,0x29,0x7f,0x29]
1853           vmovdqu8 %ymm21, (%rcx) {%k1}
1854
1855 // CHECK: vmovdqu8 %ymm21, 291(%rax,%r14,8)
1856 // CHECK:  encoding: [0x62,0xa1,0x7f,0x28,0x7f,0xac,0xf0,0x23,0x01,0x00,0x00]
1857           vmovdqu8 %ymm21, 291(%rax,%r14,8)
1858
1859 // CHECK: vmovdqu8 %ymm21, 4064(%rdx)
1860 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0x6a,0x7f]
1861           vmovdqu8 %ymm21, 4064(%rdx)
1862
1863 // CHECK: vmovdqu8 %ymm21, 4096(%rdx)
1864 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0xaa,0x00,0x10,0x00,0x00]
1865           vmovdqu8 %ymm21, 4096(%rdx)
1866
1867 // CHECK: vmovdqu8 %ymm21, -4096(%rdx)
1868 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0x6a,0x80]
1869           vmovdqu8 %ymm21, -4096(%rdx)
1870
1871 // CHECK: vmovdqu8 %ymm21, -4128(%rdx)
1872 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0xaa,0xe0,0xef,0xff,0xff]
1873           vmovdqu8 %ymm21, -4128(%rdx)
1874
1875 // CHECK: vmovdqu16 %xmm23, (%rcx)
1876 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0x39]
1877           vmovdqu16 %xmm23, (%rcx)
1878
1879 // CHECK: vmovdqu16 %xmm23, (%rcx) {%k7}
1880 // CHECK:  encoding: [0x62,0xe1,0xff,0x0f,0x7f,0x39]
1881           vmovdqu16 %xmm23, (%rcx) {%k7}
1882
1883 // CHECK: vmovdqu16 %xmm23, 291(%rax,%r14,8)
1884 // CHECK:  encoding: [0x62,0xa1,0xff,0x08,0x7f,0xbc,0xf0,0x23,0x01,0x00,0x00]
1885           vmovdqu16 %xmm23, 291(%rax,%r14,8)
1886
1887 // CHECK: vmovdqu16 %xmm23, 2032(%rdx)
1888 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0x7a,0x7f]
1889           vmovdqu16 %xmm23, 2032(%rdx)
1890
1891 // CHECK: vmovdqu16 %xmm23, 2048(%rdx)
1892 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0xba,0x00,0x08,0x00,0x00]
1893           vmovdqu16 %xmm23, 2048(%rdx)
1894
1895 // CHECK: vmovdqu16 %xmm23, -2048(%rdx)
1896 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0x7a,0x80]
1897           vmovdqu16 %xmm23, -2048(%rdx)
1898
1899 // CHECK: vmovdqu16 %xmm23, -2064(%rdx)
1900 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0xba,0xf0,0xf7,0xff,0xff]
1901           vmovdqu16 %xmm23, -2064(%rdx)
1902
1903 // CHECK: vmovdqu16 %ymm29, (%rcx)
1904 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0x29]
1905           vmovdqu16 %ymm29, (%rcx)
1906
1907 // CHECK: vmovdqu16 %ymm29, (%rcx) {%k6}
1908 // CHECK:  encoding: [0x62,0x61,0xff,0x2e,0x7f,0x29]
1909           vmovdqu16 %ymm29, (%rcx) {%k6}
1910
1911 // CHECK: vmovdqu16 %ymm29, 291(%rax,%r14,8)
1912 // CHECK:  encoding: [0x62,0x21,0xff,0x28,0x7f,0xac,0xf0,0x23,0x01,0x00,0x00]
1913           vmovdqu16 %ymm29, 291(%rax,%r14,8)
1914
1915 // CHECK: vmovdqu16 %ymm29, 4064(%rdx)
1916 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0x6a,0x7f]
1917           vmovdqu16 %ymm29, 4064(%rdx)
1918
1919 // CHECK: vmovdqu16 %ymm29, 4096(%rdx)
1920 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0xaa,0x00,0x10,0x00,0x00]
1921           vmovdqu16 %ymm29, 4096(%rdx)
1922
1923 // CHECK: vmovdqu16 %ymm29, -4096(%rdx)
1924 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0x6a,0x80]
1925           vmovdqu16 %ymm29, -4096(%rdx)
1926
1927 // CHECK: vmovdqu16 %ymm29, -4128(%rdx)
1928 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0xaa,0xe0,0xef,0xff,0xff]
1929           vmovdqu16 %ymm29, -4128(%rdx)
1930
1931 // CHECK: vpsllw %xmm26, %xmm23, %xmm19
1932 // CHECK:  encoding: [0x62,0x81,0x45,0x00,0xf1,0xda]
1933           vpsllw %xmm26, %xmm23, %xmm19
1934
1935 // CHECK: vpsllw %xmm26, %xmm23, %xmm19 {%k7}
1936 // CHECK:  encoding: [0x62,0x81,0x45,0x07,0xf1,0xda]
1937           vpsllw %xmm26, %xmm23, %xmm19 {%k7}
1938
1939 // CHECK: vpsllw %xmm26, %xmm23, %xmm19 {%k7} {z}
1940 // CHECK:  encoding: [0x62,0x81,0x45,0x87,0xf1,0xda]
1941           vpsllw %xmm26, %xmm23, %xmm19 {%k7} {z}
1942
1943 // CHECK: vpsllw (%rcx), %xmm23, %xmm19
1944 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xf1,0x19]
1945           vpsllw (%rcx), %xmm23, %xmm19
1946
1947 // CHECK: vpsllw 291(%rax,%r14,8), %xmm23, %xmm19
1948 // CHECK:  encoding: [0x62,0xa1,0x45,0x00,0xf1,0x9c,0xf0,0x23,0x01,0x00,0x00]
1949           vpsllw 291(%rax,%r14,8), %xmm23, %xmm19
1950
1951 // CHECK: vpsllw 2032(%rdx), %xmm23, %xmm19
1952 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xf1,0x5a,0x7f]
1953           vpsllw 2032(%rdx), %xmm23, %xmm19
1954
1955 // CHECK: vpsllw 2048(%rdx), %xmm23, %xmm19
1956 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xf1,0x9a,0x00,0x08,0x00,0x00]
1957           vpsllw 2048(%rdx), %xmm23, %xmm19
1958
1959 // CHECK: vpsllw -2048(%rdx), %xmm23, %xmm19
1960 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xf1,0x5a,0x80]
1961           vpsllw -2048(%rdx), %xmm23, %xmm19
1962
1963 // CHECK: vpsllw -2064(%rdx), %xmm23, %xmm19
1964 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xf1,0x9a,0xf0,0xf7,0xff,0xff]
1965           vpsllw -2064(%rdx), %xmm23, %xmm19
1966
1967 // CHECK: vpsllw %xmm26, %ymm21, %ymm20
1968 // CHECK:  encoding: [0x62,0x81,0x55,0x20,0xf1,0xe2]
1969           vpsllw %xmm26, %ymm21, %ymm20
1970
1971 // CHECK: vpsllw %xmm26, %ymm21, %ymm20 {%k7}
1972 // CHECK:  encoding: [0x62,0x81,0x55,0x27,0xf1,0xe2]
1973           vpsllw %xmm26, %ymm21, %ymm20 {%k7}
1974
1975 // CHECK: vpsllw %xmm26, %ymm21, %ymm20 {%k7} {z}
1976 // CHECK:  encoding: [0x62,0x81,0x55,0xa7,0xf1,0xe2]
1977           vpsllw %xmm26, %ymm21, %ymm20 {%k7} {z}
1978
1979 // CHECK: vpsllw (%rcx), %ymm21, %ymm20
1980 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xf1,0x21]
1981           vpsllw (%rcx), %ymm21, %ymm20
1982
1983 // CHECK: vpsllw 291(%rax,%r14,8), %ymm21, %ymm20
1984 // CHECK:  encoding: [0x62,0xa1,0x55,0x20,0xf1,0xa4,0xf0,0x23,0x01,0x00,0x00]
1985           vpsllw 291(%rax,%r14,8), %ymm21, %ymm20
1986
1987 // CHECK: vpsllw 2032(%rdx), %ymm21, %ymm20
1988 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xf1,0x62,0x7f]
1989           vpsllw 2032(%rdx), %ymm21, %ymm20
1990
1991 // CHECK: vpsllw 2048(%rdx), %ymm21, %ymm20
1992 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xf1,0xa2,0x00,0x08,0x00,0x00]
1993           vpsllw 2048(%rdx), %ymm21, %ymm20
1994
1995 // CHECK: vpsllw -2048(%rdx), %ymm21, %ymm20
1996 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xf1,0x62,0x80]
1997           vpsllw -2048(%rdx), %ymm21, %ymm20
1998
1999 // CHECK: vpsllw -2064(%rdx), %ymm21, %ymm20
2000 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xf1,0xa2,0xf0,0xf7,0xff,0xff]
2001           vpsllw -2064(%rdx), %ymm21, %ymm20
2002
2003 // CHECK: vpsraw %xmm28, %xmm28, %xmm17
2004 // CHECK:  encoding: [0x62,0x81,0x1d,0x00,0xe1,0xcc]
2005           vpsraw %xmm28, %xmm28, %xmm17
2006
2007 // CHECK: vpsraw %xmm28, %xmm28, %xmm17 {%k1}
2008 // CHECK:  encoding: [0x62,0x81,0x1d,0x01,0xe1,0xcc]
2009           vpsraw %xmm28, %xmm28, %xmm17 {%k1}
2010
2011 // CHECK: vpsraw %xmm28, %xmm28, %xmm17 {%k1} {z}
2012 // CHECK:  encoding: [0x62,0x81,0x1d,0x81,0xe1,0xcc]
2013           vpsraw %xmm28, %xmm28, %xmm17 {%k1} {z}
2014
2015 // CHECK: vpsraw (%rcx), %xmm28, %xmm17
2016 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xe1,0x09]
2017           vpsraw (%rcx), %xmm28, %xmm17
2018
2019 // CHECK: vpsraw 291(%rax,%r14,8), %xmm28, %xmm17
2020 // CHECK:  encoding: [0x62,0xa1,0x1d,0x00,0xe1,0x8c,0xf0,0x23,0x01,0x00,0x00]
2021           vpsraw 291(%rax,%r14,8), %xmm28, %xmm17
2022
2023 // CHECK: vpsraw 2032(%rdx), %xmm28, %xmm17
2024 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xe1,0x4a,0x7f]
2025           vpsraw 2032(%rdx), %xmm28, %xmm17
2026
2027 // CHECK: vpsraw 2048(%rdx), %xmm28, %xmm17
2028 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xe1,0x8a,0x00,0x08,0x00,0x00]
2029           vpsraw 2048(%rdx), %xmm28, %xmm17
2030
2031 // CHECK: vpsraw -2048(%rdx), %xmm28, %xmm17
2032 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xe1,0x4a,0x80]
2033           vpsraw -2048(%rdx), %xmm28, %xmm17
2034
2035 // CHECK: vpsraw -2064(%rdx), %xmm28, %xmm17
2036 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xe1,0x8a,0xf0,0xf7,0xff,0xff]
2037           vpsraw -2064(%rdx), %xmm28, %xmm17
2038
2039 // CHECK: vpsraw %xmm19, %ymm26, %ymm18
2040 // CHECK:  encoding: [0x62,0xa1,0x2d,0x20,0xe1,0xd3]
2041           vpsraw %xmm19, %ymm26, %ymm18
2042
2043 // CHECK: vpsraw %xmm19, %ymm26, %ymm18 {%k7}
2044 // CHECK:  encoding: [0x62,0xa1,0x2d,0x27,0xe1,0xd3]
2045           vpsraw %xmm19, %ymm26, %ymm18 {%k7}
2046
2047 // CHECK: vpsraw %xmm19, %ymm26, %ymm18 {%k7} {z}
2048 // CHECK:  encoding: [0x62,0xa1,0x2d,0xa7,0xe1,0xd3]
2049           vpsraw %xmm19, %ymm26, %ymm18 {%k7} {z}
2050
2051 // CHECK: vpsraw (%rcx), %ymm26, %ymm18
2052 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xe1,0x11]
2053           vpsraw (%rcx), %ymm26, %ymm18
2054
2055 // CHECK: vpsraw 291(%rax,%r14,8), %ymm26, %ymm18
2056 // CHECK:  encoding: [0x62,0xa1,0x2d,0x20,0xe1,0x94,0xf0,0x23,0x01,0x00,0x00]
2057           vpsraw 291(%rax,%r14,8), %ymm26, %ymm18
2058
2059 // CHECK: vpsraw 2032(%rdx), %ymm26, %ymm18
2060 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xe1,0x52,0x7f]
2061           vpsraw 2032(%rdx), %ymm26, %ymm18
2062
2063 // CHECK: vpsraw 2048(%rdx), %ymm26, %ymm18
2064 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xe1,0x92,0x00,0x08,0x00,0x00]
2065           vpsraw 2048(%rdx), %ymm26, %ymm18
2066
2067 // CHECK: vpsraw -2048(%rdx), %ymm26, %ymm18
2068 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xe1,0x52,0x80]
2069           vpsraw -2048(%rdx), %ymm26, %ymm18
2070
2071 // CHECK: vpsraw -2064(%rdx), %ymm26, %ymm18
2072 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xe1,0x92,0xf0,0xf7,0xff,0xff]
2073           vpsraw -2064(%rdx), %ymm26, %ymm18
2074
2075 // CHECK: vpsrlw %xmm27, %xmm29, %xmm30
2076 // CHECK:  encoding: [0x62,0x01,0x15,0x00,0xd1,0xf3]
2077           vpsrlw %xmm27, %xmm29, %xmm30
2078
2079 // CHECK: vpsrlw %xmm27, %xmm29, %xmm30 {%k1}
2080 // CHECK:  encoding: [0x62,0x01,0x15,0x01,0xd1,0xf3]
2081           vpsrlw %xmm27, %xmm29, %xmm30 {%k1}
2082
2083 // CHECK: vpsrlw %xmm27, %xmm29, %xmm30 {%k1} {z}
2084 // CHECK:  encoding: [0x62,0x01,0x15,0x81,0xd1,0xf3]
2085           vpsrlw %xmm27, %xmm29, %xmm30 {%k1} {z}
2086
2087 // CHECK: vpsrlw (%rcx), %xmm29, %xmm30
2088 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xd1,0x31]
2089           vpsrlw (%rcx), %xmm29, %xmm30
2090
2091 // CHECK: vpsrlw 291(%rax,%r14,8), %xmm29, %xmm30
2092 // CHECK:  encoding: [0x62,0x21,0x15,0x00,0xd1,0xb4,0xf0,0x23,0x01,0x00,0x00]
2093           vpsrlw 291(%rax,%r14,8), %xmm29, %xmm30
2094
2095 // CHECK: vpsrlw 2032(%rdx), %xmm29, %xmm30
2096 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xd1,0x72,0x7f]
2097           vpsrlw 2032(%rdx), %xmm29, %xmm30
2098
2099 // CHECK: vpsrlw 2048(%rdx), %xmm29, %xmm30
2100 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xd1,0xb2,0x00,0x08,0x00,0x00]
2101           vpsrlw 2048(%rdx), %xmm29, %xmm30
2102
2103 // CHECK: vpsrlw -2048(%rdx), %xmm29, %xmm30
2104 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xd1,0x72,0x80]
2105           vpsrlw -2048(%rdx), %xmm29, %xmm30
2106
2107 // CHECK: vpsrlw -2064(%rdx), %xmm29, %xmm30
2108 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xd1,0xb2,0xf0,0xf7,0xff,0xff]
2109           vpsrlw -2064(%rdx), %xmm29, %xmm30
2110
2111 // CHECK: vpsrlw %xmm27, %ymm18, %ymm28
2112 // CHECK:  encoding: [0x62,0x01,0x6d,0x20,0xd1,0xe3]
2113           vpsrlw %xmm27, %ymm18, %ymm28
2114
2115 // CHECK: vpsrlw %xmm27, %ymm18, %ymm28 {%k2}
2116 // CHECK:  encoding: [0x62,0x01,0x6d,0x22,0xd1,0xe3]
2117           vpsrlw %xmm27, %ymm18, %ymm28 {%k2}
2118
2119 // CHECK: vpsrlw %xmm27, %ymm18, %ymm28 {%k2} {z}
2120 // CHECK:  encoding: [0x62,0x01,0x6d,0xa2,0xd1,0xe3]
2121           vpsrlw %xmm27, %ymm18, %ymm28 {%k2} {z}
2122
2123 // CHECK: vpsrlw (%rcx), %ymm18, %ymm28
2124 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xd1,0x21]
2125           vpsrlw (%rcx), %ymm18, %ymm28
2126
2127 // CHECK: vpsrlw 291(%rax,%r14,8), %ymm18, %ymm28
2128 // CHECK:  encoding: [0x62,0x21,0x6d,0x20,0xd1,0xa4,0xf0,0x23,0x01,0x00,0x00]
2129           vpsrlw 291(%rax,%r14,8), %ymm18, %ymm28
2130
2131 // CHECK: vpsrlw 2032(%rdx), %ymm18, %ymm28
2132 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xd1,0x62,0x7f]
2133           vpsrlw 2032(%rdx), %ymm18, %ymm28
2134
2135 // CHECK: vpsrlw 2048(%rdx), %ymm18, %ymm28
2136 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xd1,0xa2,0x00,0x08,0x00,0x00]
2137           vpsrlw 2048(%rdx), %ymm18, %ymm28
2138
2139 // CHECK: vpsrlw -2048(%rdx), %ymm18, %ymm28
2140 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xd1,0x62,0x80]
2141           vpsrlw -2048(%rdx), %ymm18, %ymm28
2142
2143 // CHECK: vpsrlw -2064(%rdx), %ymm18, %ymm28
2144 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xd1,0xa2,0xf0,0xf7,0xff,0xff]
2145           vpsrlw -2064(%rdx), %ymm18, %ymm28
2146
2147 // CHECK: vpsrlw $171, %xmm21, %xmm22
2148 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0xd5,0xab]
2149           vpsrlw $171, %xmm21, %xmm22
2150
2151 // CHECK: vpsrlw $171, %xmm21, %xmm22 {%k7}
2152 // CHECK:  encoding: [0x62,0xb1,0x4d,0x07,0x71,0xd5,0xab]
2153           vpsrlw $171, %xmm21, %xmm22 {%k7}
2154
2155 // CHECK: vpsrlw $171, %xmm21, %xmm22 {%k7} {z}
2156 // CHECK:  encoding: [0x62,0xb1,0x4d,0x87,0x71,0xd5,0xab]
2157           vpsrlw $171, %xmm21, %xmm22 {%k7} {z}
2158
2159 // CHECK: vpsrlw $123, %xmm21, %xmm22
2160 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0xd5,0x7b]
2161           vpsrlw $123, %xmm21, %xmm22
2162
2163 // CHECK: vpsrlw $123, (%rcx), %xmm22
2164 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x11,0x7b]
2165           vpsrlw $123, (%rcx), %xmm22
2166
2167 // CHECK: vpsrlw $123, 291(%rax,%r14,8), %xmm22
2168 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0x94,0xf0,0x23,0x01,0x00,0x00,0x7b]
2169           vpsrlw $123, 291(%rax,%r14,8), %xmm22
2170
2171 // CHECK: vpsrlw $123, 2032(%rdx), %xmm22
2172 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x52,0x7f,0x7b]
2173           vpsrlw $123, 2032(%rdx), %xmm22
2174
2175 // CHECK: vpsrlw $123, 2048(%rdx), %xmm22
2176 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x92,0x00,0x08,0x00,0x00,0x7b]
2177           vpsrlw $123, 2048(%rdx), %xmm22
2178
2179 // CHECK: vpsrlw $123, -2048(%rdx), %xmm22
2180 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x52,0x80,0x7b]
2181           vpsrlw $123, -2048(%rdx), %xmm22
2182
2183 // CHECK: vpsrlw $123, -2064(%rdx), %xmm22
2184 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x92,0xf0,0xf7,0xff,0xff,0x7b]
2185           vpsrlw $123, -2064(%rdx), %xmm22
2186
2187 // CHECK: vpsrlw $171, %ymm19, %ymm27
2188 // CHECK:  encoding: [0x62,0xb1,0x25,0x20,0x71,0xd3,0xab]
2189           vpsrlw $171, %ymm19, %ymm27
2190
2191 // CHECK: vpsrlw $171, %ymm19, %ymm27 {%k3}
2192 // CHECK:  encoding: [0x62,0xb1,0x25,0x23,0x71,0xd3,0xab]
2193           vpsrlw $171, %ymm19, %ymm27 {%k3}
2194
2195 // CHECK: vpsrlw $171, %ymm19, %ymm27 {%k3} {z}
2196 // CHECK:  encoding: [0x62,0xb1,0x25,0xa3,0x71,0xd3,0xab]
2197           vpsrlw $171, %ymm19, %ymm27 {%k3} {z}
2198
2199 // CHECK: vpsrlw $123, %ymm19, %ymm27
2200 // CHECK:  encoding: [0x62,0xb1,0x25,0x20,0x71,0xd3,0x7b]
2201           vpsrlw $123, %ymm19, %ymm27
2202
2203 // CHECK: vpsrlw $123, (%rcx), %ymm27
2204 // CHECK:  encoding: [0x62,0xf1,0x25,0x20,0x71,0x11,0x7b]
2205           vpsrlw $123, (%rcx), %ymm27
2206
2207 // CHECK: vpsrlw $123, 291(%rax,%r14,8), %ymm27
2208 // CHECK:  encoding: [0x62,0xb1,0x25,0x20,0x71,0x94,0xf0,0x23,0x01,0x00,0x00,0x7b]
2209           vpsrlw $123, 291(%rax,%r14,8), %ymm27
2210
2211 // CHECK: vpsrlw $123, 4064(%rdx), %ymm27
2212 // CHECK:  encoding: [0x62,0xf1,0x25,0x20,0x71,0x52,0x7f,0x7b]
2213           vpsrlw $123, 4064(%rdx), %ymm27
2214
2215 // CHECK: vpsrlw $123, 4096(%rdx), %ymm27
2216 // CHECK:  encoding: [0x62,0xf1,0x25,0x20,0x71,0x92,0x00,0x10,0x00,0x00,0x7b]
2217           vpsrlw $123, 4096(%rdx), %ymm27
2218
2219 // CHECK: vpsrlw $123, -4096(%rdx), %ymm27
2220 // CHECK:  encoding: [0x62,0xf1,0x25,0x20,0x71,0x52,0x80,0x7b]
2221           vpsrlw $123, -4096(%rdx), %ymm27
2222
2223 // CHECK: vpsrlw $123, -4128(%rdx), %ymm27
2224 // CHECK:  encoding: [0x62,0xf1,0x25,0x20,0x71,0x92,0xe0,0xef,0xff,0xff,0x7b]
2225           vpsrlw $123, -4128(%rdx), %ymm27
2226
2227 // CHECK: vpsraw $171, %xmm22, %xmm22
2228 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0xe6,0xab]
2229           vpsraw $171, %xmm22, %xmm22
2230
2231 // CHECK: vpsraw $171, %xmm22, %xmm22 {%k4}
2232 // CHECK:  encoding: [0x62,0xb1,0x4d,0x04,0x71,0xe6,0xab]
2233           vpsraw $171, %xmm22, %xmm22 {%k4}
2234
2235 // CHECK: vpsraw $171, %xmm22, %xmm22 {%k4} {z}
2236 // CHECK:  encoding: [0x62,0xb1,0x4d,0x84,0x71,0xe6,0xab]
2237           vpsraw $171, %xmm22, %xmm22 {%k4} {z}
2238
2239 // CHECK: vpsraw $123, %xmm22, %xmm22
2240 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0xe6,0x7b]
2241           vpsraw $123, %xmm22, %xmm22
2242
2243 // CHECK: vpsraw $123, (%rcx), %xmm22
2244 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x21,0x7b]
2245           vpsraw $123, (%rcx), %xmm22
2246
2247 // CHECK: vpsraw $123, 291(%rax,%r14,8), %xmm22
2248 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b]
2249           vpsraw $123, 291(%rax,%r14,8), %xmm22
2250
2251 // CHECK: vpsraw $123, 2032(%rdx), %xmm22
2252 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x62,0x7f,0x7b]
2253           vpsraw $123, 2032(%rdx), %xmm22
2254
2255 // CHECK: vpsraw $123, 2048(%rdx), %xmm22
2256 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0xa2,0x00,0x08,0x00,0x00,0x7b]
2257           vpsraw $123, 2048(%rdx), %xmm22
2258
2259 // CHECK: vpsraw $123, -2048(%rdx), %xmm22
2260 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x62,0x80,0x7b]
2261           vpsraw $123, -2048(%rdx), %xmm22
2262
2263 // CHECK: vpsraw $123, -2064(%rdx), %xmm22
2264 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0xa2,0xf0,0xf7,0xff,0xff,0x7b]
2265           vpsraw $123, -2064(%rdx), %xmm22
2266
2267 // CHECK: vpsraw $171, %ymm22, %ymm19
2268 // CHECK:  encoding: [0x62,0xb1,0x65,0x20,0x71,0xe6,0xab]
2269           vpsraw $171, %ymm22, %ymm19
2270
2271 // CHECK: vpsraw $171, %ymm22, %ymm19 {%k7}
2272 // CHECK:  encoding: [0x62,0xb1,0x65,0x27,0x71,0xe6,0xab]
2273           vpsraw $171, %ymm22, %ymm19 {%k7}
2274
2275 // CHECK: vpsraw $171, %ymm22, %ymm19 {%k7} {z}
2276 // CHECK:  encoding: [0x62,0xb1,0x65,0xa7,0x71,0xe6,0xab]
2277           vpsraw $171, %ymm22, %ymm19 {%k7} {z}
2278
2279 // CHECK: vpsraw $123, %ymm22, %ymm19
2280 // CHECK:  encoding: [0x62,0xb1,0x65,0x20,0x71,0xe6,0x7b]
2281           vpsraw $123, %ymm22, %ymm19
2282
2283 // CHECK: vpsraw $123, (%rcx), %ymm19
2284 // CHECK:  encoding: [0x62,0xf1,0x65,0x20,0x71,0x21,0x7b]
2285           vpsraw $123, (%rcx), %ymm19
2286
2287 // CHECK: vpsraw $123, 291(%rax,%r14,8), %ymm19
2288 // CHECK:  encoding: [0x62,0xb1,0x65,0x20,0x71,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b]
2289           vpsraw $123, 291(%rax,%r14,8), %ymm19
2290
2291 // CHECK: vpsraw $123, 4064(%rdx), %ymm19
2292 // CHECK:  encoding: [0x62,0xf1,0x65,0x20,0x71,0x62,0x7f,0x7b]
2293           vpsraw $123, 4064(%rdx), %ymm19
2294
2295 // CHECK: vpsraw $123, 4096(%rdx), %ymm19
2296 // CHECK:  encoding: [0x62,0xf1,0x65,0x20,0x71,0xa2,0x00,0x10,0x00,0x00,0x7b]
2297           vpsraw $123, 4096(%rdx), %ymm19
2298
2299 // CHECK: vpsraw $123, -4096(%rdx), %ymm19
2300 // CHECK:  encoding: [0x62,0xf1,0x65,0x20,0x71,0x62,0x80,0x7b]
2301           vpsraw $123, -4096(%rdx), %ymm19
2302
2303 // CHECK: vpsraw $123, -4128(%rdx), %ymm19
2304 // CHECK:  encoding: [0x62,0xf1,0x65,0x20,0x71,0xa2,0xe0,0xef,0xff,0xff,0x7b]
2305           vpsraw $123, -4128(%rdx), %ymm19
2306
2307 // CHECK: vpsrlvw %xmm19, %xmm22, %xmm30
2308 // CHECK:  encoding: [0x62,0x22,0xcd,0x00,0x10,0xf3]
2309           vpsrlvw %xmm19, %xmm22, %xmm30
2310
2311 // CHECK: vpsrlvw %xmm19, %xmm22, %xmm30 {%k7}
2312 // CHECK:  encoding: [0x62,0x22,0xcd,0x07,0x10,0xf3]
2313           vpsrlvw %xmm19, %xmm22, %xmm30 {%k7}
2314
2315 // CHECK: vpsrlvw %xmm19, %xmm22, %xmm30 {%k7} {z}
2316 // CHECK:  encoding: [0x62,0x22,0xcd,0x87,0x10,0xf3]
2317           vpsrlvw %xmm19, %xmm22, %xmm30 {%k7} {z}
2318
2319 // CHECK: vpsrlvw (%rcx), %xmm22, %xmm30
2320 // CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x10,0x31]
2321           vpsrlvw (%rcx), %xmm22, %xmm30
2322
2323 // CHECK: vpsrlvw 291(%rax,%r14,8), %xmm22, %xmm30
2324 // CHECK:  encoding: [0x62,0x22,0xcd,0x00,0x10,0xb4,0xf0,0x23,0x01,0x00,0x00]
2325           vpsrlvw 291(%rax,%r14,8), %xmm22, %xmm30
2326
2327 // CHECK: vpsrlvw 2032(%rdx), %xmm22, %xmm30
2328 // CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x10,0x72,0x7f]
2329           vpsrlvw 2032(%rdx), %xmm22, %xmm30
2330
2331 // CHECK: vpsrlvw 2048(%rdx), %xmm22, %xmm30
2332 // CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x10,0xb2,0x00,0x08,0x00,0x00]
2333           vpsrlvw 2048(%rdx), %xmm22, %xmm30
2334
2335 // CHECK: vpsrlvw -2048(%rdx), %xmm22, %xmm30
2336 // CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x10,0x72,0x80]
2337           vpsrlvw -2048(%rdx), %xmm22, %xmm30
2338
2339 // CHECK: vpsrlvw -2064(%rdx), %xmm22, %xmm30
2340 // CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x10,0xb2,0xf0,0xf7,0xff,0xff]
2341           vpsrlvw -2064(%rdx), %xmm22, %xmm30
2342
2343 // CHECK: vpsrlvw %ymm27, %ymm25, %ymm30
2344 // CHECK:  encoding: [0x62,0x02,0xb5,0x20,0x10,0xf3]
2345           vpsrlvw %ymm27, %ymm25, %ymm30
2346
2347 // CHECK: vpsrlvw %ymm27, %ymm25, %ymm30 {%k1}
2348 // CHECK:  encoding: [0x62,0x02,0xb5,0x21,0x10,0xf3]
2349           vpsrlvw %ymm27, %ymm25, %ymm30 {%k1}
2350
2351 // CHECK: vpsrlvw %ymm27, %ymm25, %ymm30 {%k1} {z}
2352 // CHECK:  encoding: [0x62,0x02,0xb5,0xa1,0x10,0xf3]
2353           vpsrlvw %ymm27, %ymm25, %ymm30 {%k1} {z}
2354
2355 // CHECK: vpsrlvw (%rcx), %ymm25, %ymm30
2356 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x10,0x31]
2357           vpsrlvw (%rcx), %ymm25, %ymm30
2358
2359 // CHECK: vpsrlvw 291(%rax,%r14,8), %ymm25, %ymm30
2360 // CHECK:  encoding: [0x62,0x22,0xb5,0x20,0x10,0xb4,0xf0,0x23,0x01,0x00,0x00]
2361           vpsrlvw 291(%rax,%r14,8), %ymm25, %ymm30
2362
2363 // CHECK: vpsrlvw 4064(%rdx), %ymm25, %ymm30
2364 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x10,0x72,0x7f]
2365           vpsrlvw 4064(%rdx), %ymm25, %ymm30
2366
2367 // CHECK: vpsrlvw 4096(%rdx), %ymm25, %ymm30
2368 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x10,0xb2,0x00,0x10,0x00,0x00]
2369           vpsrlvw 4096(%rdx), %ymm25, %ymm30
2370
2371 // CHECK: vpsrlvw -4096(%rdx), %ymm25, %ymm30
2372 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x10,0x72,0x80]
2373           vpsrlvw -4096(%rdx), %ymm25, %ymm30
2374
2375 // CHECK: vpsrlvw -4128(%rdx), %ymm25, %ymm30
2376 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x10,0xb2,0xe0,0xef,0xff,0xff]
2377           vpsrlvw -4128(%rdx), %ymm25, %ymm30
2378
2379 // CHECK: vpsravw %xmm27, %xmm28, %xmm28
2380 // CHECK:  encoding: [0x62,0x02,0x9d,0x00,0x11,0xe3]
2381           vpsravw %xmm27, %xmm28, %xmm28
2382
2383 // CHECK: vpsravw %xmm27, %xmm28, %xmm28 {%k3}
2384 // CHECK:  encoding: [0x62,0x02,0x9d,0x03,0x11,0xe3]
2385           vpsravw %xmm27, %xmm28, %xmm28 {%k3}
2386
2387 // CHECK: vpsravw %xmm27, %xmm28, %xmm28 {%k3} {z}
2388 // CHECK:  encoding: [0x62,0x02,0x9d,0x83,0x11,0xe3]
2389           vpsravw %xmm27, %xmm28, %xmm28 {%k3} {z}
2390
2391 // CHECK: vpsravw (%rcx), %xmm28, %xmm28
2392 // CHECK:  encoding: [0x62,0x62,0x9d,0x00,0x11,0x21]
2393           vpsravw (%rcx), %xmm28, %xmm28
2394
2395 // CHECK: vpsravw 291(%rax,%r14,8), %xmm28, %xmm28
2396 // CHECK:  encoding: [0x62,0x22,0x9d,0x00,0x11,0xa4,0xf0,0x23,0x01,0x00,0x00]
2397           vpsravw 291(%rax,%r14,8), %xmm28, %xmm28
2398
2399 // CHECK: vpsravw 2032(%rdx), %xmm28, %xmm28
2400 // CHECK:  encoding: [0x62,0x62,0x9d,0x00,0x11,0x62,0x7f]
2401           vpsravw 2032(%rdx), %xmm28, %xmm28
2402
2403 // CHECK: vpsravw 2048(%rdx), %xmm28, %xmm28
2404 // CHECK:  encoding: [0x62,0x62,0x9d,0x00,0x11,0xa2,0x00,0x08,0x00,0x00]
2405           vpsravw 2048(%rdx), %xmm28, %xmm28
2406
2407 // CHECK: vpsravw -2048(%rdx), %xmm28, %xmm28
2408 // CHECK:  encoding: [0x62,0x62,0x9d,0x00,0x11,0x62,0x80]
2409           vpsravw -2048(%rdx), %xmm28, %xmm28
2410
2411 // CHECK: vpsravw -2064(%rdx), %xmm28, %xmm28
2412 // CHECK:  encoding: [0x62,0x62,0x9d,0x00,0x11,0xa2,0xf0,0xf7,0xff,0xff]
2413           vpsravw -2064(%rdx), %xmm28, %xmm28
2414
2415 // CHECK: vpsravw %ymm17, %ymm28, %ymm20
2416 // CHECK:  encoding: [0x62,0xa2,0x9d,0x20,0x11,0xe1]
2417           vpsravw %ymm17, %ymm28, %ymm20
2418
2419 // CHECK: vpsravw %ymm17, %ymm28, %ymm20 {%k5}
2420 // CHECK:  encoding: [0x62,0xa2,0x9d,0x25,0x11,0xe1]
2421           vpsravw %ymm17, %ymm28, %ymm20 {%k5}
2422
2423 // CHECK: vpsravw %ymm17, %ymm28, %ymm20 {%k5} {z}
2424 // CHECK:  encoding: [0x62,0xa2,0x9d,0xa5,0x11,0xe1]
2425           vpsravw %ymm17, %ymm28, %ymm20 {%k5} {z}
2426
2427 // CHECK: vpsravw (%rcx), %ymm28, %ymm20
2428 // CHECK:  encoding: [0x62,0xe2,0x9d,0x20,0x11,0x21]
2429           vpsravw (%rcx), %ymm28, %ymm20
2430
2431 // CHECK: vpsravw 291(%rax,%r14,8), %ymm28, %ymm20
2432 // CHECK:  encoding: [0x62,0xa2,0x9d,0x20,0x11,0xa4,0xf0,0x23,0x01,0x00,0x00]
2433           vpsravw 291(%rax,%r14,8), %ymm28, %ymm20
2434
2435 // CHECK: vpsravw 4064(%rdx), %ymm28, %ymm20
2436 // CHECK:  encoding: [0x62,0xe2,0x9d,0x20,0x11,0x62,0x7f]
2437           vpsravw 4064(%rdx), %ymm28, %ymm20
2438
2439 // CHECK: vpsravw 4096(%rdx), %ymm28, %ymm20
2440 // CHECK:  encoding: [0x62,0xe2,0x9d,0x20,0x11,0xa2,0x00,0x10,0x00,0x00]
2441           vpsravw 4096(%rdx), %ymm28, %ymm20
2442
2443 // CHECK: vpsravw -4096(%rdx), %ymm28, %ymm20
2444 // CHECK:  encoding: [0x62,0xe2,0x9d,0x20,0x11,0x62,0x80]
2445           vpsravw -4096(%rdx), %ymm28, %ymm20
2446
2447 // CHECK: vpsravw -4128(%rdx), %ymm28, %ymm20
2448 // CHECK:  encoding: [0x62,0xe2,0x9d,0x20,0x11,0xa2,0xe0,0xef,0xff,0xff]
2449           vpsravw -4128(%rdx), %ymm28, %ymm20
2450
2451 // CHECK: vpacksswb %xmm20, %xmm29, %xmm17
2452 // CHECK:  encoding: [0x62,0xa1,0x95,0x00,0x63,0xcc]
2453           vpacksswb %xmm20, %xmm29, %xmm17
2454
2455 // CHECK: vpacksswb %xmm20, %xmm29, %xmm17 {%k3}
2456 // CHECK:  encoding: [0x62,0xa1,0x95,0x03,0x63,0xcc]
2457           vpacksswb %xmm20, %xmm29, %xmm17 {%k3}
2458
2459 // CHECK: vpacksswb %xmm20, %xmm29, %xmm17 {%k3} {z}
2460 // CHECK:  encoding: [0x62,0xa1,0x95,0x83,0x63,0xcc]
2461           vpacksswb %xmm20, %xmm29, %xmm17 {%k3} {z}
2462
2463 // CHECK: vpacksswb (%rcx), %xmm29, %xmm17
2464 // CHECK:  encoding: [0x62,0xe1,0x95,0x00,0x63,0x09]
2465           vpacksswb (%rcx), %xmm29, %xmm17
2466
2467 // CHECK: vpacksswb 291(%rax,%r14,8), %xmm29, %xmm17
2468 // CHECK:  encoding: [0x62,0xa1,0x95,0x00,0x63,0x8c,0xf0,0x23,0x01,0x00,0x00]
2469           vpacksswb 291(%rax,%r14,8), %xmm29, %xmm17
2470
2471 // CHECK: vpacksswb 2032(%rdx), %xmm29, %xmm17
2472 // CHECK:  encoding: [0x62,0xe1,0x95,0x00,0x63,0x4a,0x7f]
2473           vpacksswb 2032(%rdx), %xmm29, %xmm17
2474
2475 // CHECK: vpacksswb 2048(%rdx), %xmm29, %xmm17
2476 // CHECK:  encoding: [0x62,0xe1,0x95,0x00,0x63,0x8a,0x00,0x08,0x00,0x00]
2477           vpacksswb 2048(%rdx), %xmm29, %xmm17
2478
2479 // CHECK: vpacksswb -2048(%rdx), %xmm29, %xmm17
2480 // CHECK:  encoding: [0x62,0xe1,0x95,0x00,0x63,0x4a,0x80]
2481           vpacksswb -2048(%rdx), %xmm29, %xmm17
2482
2483 // CHECK: vpacksswb -2064(%rdx), %xmm29, %xmm17
2484 // CHECK:  encoding: [0x62,0xe1,0x95,0x00,0x63,0x8a,0xf0,0xf7,0xff,0xff]
2485           vpacksswb -2064(%rdx), %xmm29, %xmm17
2486
2487 // CHECK: vpacksswb %ymm21, %ymm26, %ymm29
2488 // CHECK:  encoding: [0x62,0x21,0xad,0x20,0x63,0xed]
2489           vpacksswb %ymm21, %ymm26, %ymm29
2490
2491 // CHECK: vpacksswb %ymm21, %ymm26, %ymm29 {%k2}
2492 // CHECK:  encoding: [0x62,0x21,0xad,0x22,0x63,0xed]
2493           vpacksswb %ymm21, %ymm26, %ymm29 {%k2}
2494
2495 // CHECK: vpacksswb %ymm21, %ymm26, %ymm29 {%k2} {z}
2496 // CHECK:  encoding: [0x62,0x21,0xad,0xa2,0x63,0xed]
2497           vpacksswb %ymm21, %ymm26, %ymm29 {%k2} {z}
2498
2499 // CHECK: vpacksswb (%rcx), %ymm26, %ymm29
2500 // CHECK:  encoding: [0x62,0x61,0xad,0x20,0x63,0x29]
2501           vpacksswb (%rcx), %ymm26, %ymm29
2502
2503 // CHECK: vpacksswb 291(%rax,%r14,8), %ymm26, %ymm29
2504 // CHECK:  encoding: [0x62,0x21,0xad,0x20,0x63,0xac,0xf0,0x23,0x01,0x00,0x00]
2505           vpacksswb 291(%rax,%r14,8), %ymm26, %ymm29
2506
2507 // CHECK: vpacksswb 4064(%rdx), %ymm26, %ymm29
2508 // CHECK:  encoding: [0x62,0x61,0xad,0x20,0x63,0x6a,0x7f]
2509           vpacksswb 4064(%rdx), %ymm26, %ymm29
2510
2511 // CHECK: vpacksswb 4096(%rdx), %ymm26, %ymm29
2512 // CHECK:  encoding: [0x62,0x61,0xad,0x20,0x63,0xaa,0x00,0x10,0x00,0x00]
2513           vpacksswb 4096(%rdx), %ymm26, %ymm29
2514
2515 // CHECK: vpacksswb -4096(%rdx), %ymm26, %ymm29
2516 // CHECK:  encoding: [0x62,0x61,0xad,0x20,0x63,0x6a,0x80]
2517           vpacksswb -4096(%rdx), %ymm26, %ymm29
2518
2519 // CHECK: vpacksswb -4128(%rdx), %ymm26, %ymm29
2520 // CHECK:  encoding: [0x62,0x61,0xad,0x20,0x63,0xaa,0xe0,0xef,0xff,0xff]
2521           vpacksswb -4128(%rdx), %ymm26, %ymm29
2522
2523 // CHECK: vpackuswb %xmm24, %xmm26, %xmm20
2524 // CHECK:  encoding: [0x62,0x81,0xad,0x00,0x67,0xe0]
2525           vpackuswb %xmm24, %xmm26, %xmm20
2526
2527 // CHECK: vpackuswb %xmm24, %xmm26, %xmm20 {%k4}
2528 // CHECK:  encoding: [0x62,0x81,0xad,0x04,0x67,0xe0]
2529           vpackuswb %xmm24, %xmm26, %xmm20 {%k4}
2530
2531 // CHECK: vpackuswb %xmm24, %xmm26, %xmm20 {%k4} {z}
2532 // CHECK:  encoding: [0x62,0x81,0xad,0x84,0x67,0xe0]
2533           vpackuswb %xmm24, %xmm26, %xmm20 {%k4} {z}
2534
2535 // CHECK: vpackuswb (%rcx), %xmm26, %xmm20
2536 // CHECK:  encoding: [0x62,0xe1,0xad,0x00,0x67,0x21]
2537           vpackuswb (%rcx), %xmm26, %xmm20
2538
2539 // CHECK: vpackuswb 291(%rax,%r14,8), %xmm26, %xmm20
2540 // CHECK:  encoding: [0x62,0xa1,0xad,0x00,0x67,0xa4,0xf0,0x23,0x01,0x00,0x00]
2541           vpackuswb 291(%rax,%r14,8), %xmm26, %xmm20
2542
2543 // CHECK: vpackuswb 2032(%rdx), %xmm26, %xmm20
2544 // CHECK:  encoding: [0x62,0xe1,0xad,0x00,0x67,0x62,0x7f]
2545           vpackuswb 2032(%rdx), %xmm26, %xmm20
2546
2547 // CHECK: vpackuswb 2048(%rdx), %xmm26, %xmm20
2548 // CHECK:  encoding: [0x62,0xe1,0xad,0x00,0x67,0xa2,0x00,0x08,0x00,0x00]
2549           vpackuswb 2048(%rdx), %xmm26, %xmm20
2550
2551 // CHECK: vpackuswb -2048(%rdx), %xmm26, %xmm20
2552 // CHECK:  encoding: [0x62,0xe1,0xad,0x00,0x67,0x62,0x80]
2553           vpackuswb -2048(%rdx), %xmm26, %xmm20
2554
2555 // CHECK: vpackuswb -2064(%rdx), %xmm26, %xmm20
2556 // CHECK:  encoding: [0x62,0xe1,0xad,0x00,0x67,0xa2,0xf0,0xf7,0xff,0xff]
2557           vpackuswb -2064(%rdx), %xmm26, %xmm20
2558
2559 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19
2560 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x67,0xdc]
2561           vpackuswb %ymm20, %ymm28, %ymm19
2562
2563 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19 {%k2}
2564 // CHECK:  encoding: [0x62,0xa1,0x9d,0x22,0x67,0xdc]
2565           vpackuswb %ymm20, %ymm28, %ymm19 {%k2}
2566
2567 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19 {%k2} {z}
2568 // CHECK:  encoding: [0x62,0xa1,0x9d,0xa2,0x67,0xdc]
2569           vpackuswb %ymm20, %ymm28, %ymm19 {%k2} {z}
2570
2571 // CHECK: vpackuswb (%rcx), %ymm28, %ymm19
2572 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x19]
2573           vpackuswb (%rcx), %ymm28, %ymm19
2574
2575 // CHECK: vpackuswb 291(%rax,%r14,8), %ymm28, %ymm19
2576 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x67,0x9c,0xf0,0x23,0x01,0x00,0x00]
2577           vpackuswb 291(%rax,%r14,8), %ymm28, %ymm19
2578
2579 // CHECK: vpackuswb 4064(%rdx), %ymm28, %ymm19
2580 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x5a,0x7f]
2581           vpackuswb 4064(%rdx), %ymm28, %ymm19
2582
2583 // CHECK: vpackuswb 4096(%rdx), %ymm28, %ymm19
2584 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x9a,0x00,0x10,0x00,0x00]
2585           vpackuswb 4096(%rdx), %ymm28, %ymm19
2586
2587 // CHECK: vpackuswb -4096(%rdx), %ymm28, %ymm19
2588 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x5a,0x80]
2589           vpackuswb -4096(%rdx), %ymm28, %ymm19
2590
2591 // CHECK: vpackuswb -4128(%rdx), %ymm28, %ymm19
2592 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x9a,0xe0,0xef,0xff,0xff]
2593           vpackuswb -4128(%rdx), %ymm28, %ymm19
2594
2595 // CHECK: vpacksswb %xmm25, %xmm18, %xmm19
2596 // CHECK:  encoding: [0x62,0x81,0xed,0x00,0x63,0xd9]
2597           vpacksswb %xmm25, %xmm18, %xmm19
2598
2599 // CHECK: vpacksswb %xmm25, %xmm18, %xmm19 {%k4}
2600 // CHECK:  encoding: [0x62,0x81,0xed,0x04,0x63,0xd9]
2601           vpacksswb %xmm25, %xmm18, %xmm19 {%k4}
2602
2603 // CHECK: vpacksswb %xmm25, %xmm18, %xmm19 {%k4} {z}
2604 // CHECK:  encoding: [0x62,0x81,0xed,0x84,0x63,0xd9]
2605           vpacksswb %xmm25, %xmm18, %xmm19 {%k4} {z}
2606
2607 // CHECK: vpacksswb (%rcx), %xmm18, %xmm19
2608 // CHECK:  encoding: [0x62,0xe1,0xed,0x00,0x63,0x19]
2609           vpacksswb (%rcx), %xmm18, %xmm19
2610
2611 // CHECK: vpacksswb 4660(%rax,%r14,8), %xmm18, %xmm19
2612 // CHECK:  encoding: [0x62,0xa1,0xed,0x00,0x63,0x9c,0xf0,0x34,0x12,0x00,0x00]
2613           vpacksswb 4660(%rax,%r14,8), %xmm18, %xmm19
2614
2615 // CHECK: vpacksswb 2032(%rdx), %xmm18, %xmm19
2616 // CHECK:  encoding: [0x62,0xe1,0xed,0x00,0x63,0x5a,0x7f]
2617           vpacksswb 2032(%rdx), %xmm18, %xmm19
2618
2619 // CHECK: vpacksswb 2048(%rdx), %xmm18, %xmm19
2620 // CHECK:  encoding: [0x62,0xe1,0xed,0x00,0x63,0x9a,0x00,0x08,0x00,0x00]
2621           vpacksswb 2048(%rdx), %xmm18, %xmm19
2622
2623 // CHECK: vpacksswb -2048(%rdx), %xmm18, %xmm19
2624 // CHECK:  encoding: [0x62,0xe1,0xed,0x00,0x63,0x5a,0x80]
2625           vpacksswb -2048(%rdx), %xmm18, %xmm19
2626
2627 // CHECK: vpacksswb -2064(%rdx), %xmm18, %xmm19
2628 // CHECK:  encoding: [0x62,0xe1,0xed,0x00,0x63,0x9a,0xf0,0xf7,0xff,0xff]
2629           vpacksswb -2064(%rdx), %xmm18, %xmm19
2630
2631 // CHECK: vpacksswb %ymm19, %ymm22, %ymm22
2632 // CHECK:  encoding: [0x62,0xa1,0xcd,0x20,0x63,0xf3]
2633           vpacksswb %ymm19, %ymm22, %ymm22
2634
2635 // CHECK: vpacksswb %ymm19, %ymm22, %ymm22 {%k7}
2636 // CHECK:  encoding: [0x62,0xa1,0xcd,0x27,0x63,0xf3]
2637           vpacksswb %ymm19, %ymm22, %ymm22 {%k7}
2638
2639 // CHECK: vpacksswb %ymm19, %ymm22, %ymm22 {%k7} {z}
2640 // CHECK:  encoding: [0x62,0xa1,0xcd,0xa7,0x63,0xf3]
2641           vpacksswb %ymm19, %ymm22, %ymm22 {%k7} {z}
2642
2643 // CHECK: vpacksswb (%rcx), %ymm22, %ymm22
2644 // CHECK:  encoding: [0x62,0xe1,0xcd,0x20,0x63,0x31]
2645           vpacksswb (%rcx), %ymm22, %ymm22
2646
2647 // CHECK: vpacksswb 4660(%rax,%r14,8), %ymm22, %ymm22
2648 // CHECK:  encoding: [0x62,0xa1,0xcd,0x20,0x63,0xb4,0xf0,0x34,0x12,0x00,0x00]
2649           vpacksswb 4660(%rax,%r14,8), %ymm22, %ymm22
2650
2651 // CHECK: vpacksswb 4064(%rdx), %ymm22, %ymm22
2652 // CHECK:  encoding: [0x62,0xe1,0xcd,0x20,0x63,0x72,0x7f]
2653           vpacksswb 4064(%rdx), %ymm22, %ymm22
2654
2655 // CHECK: vpacksswb 4096(%rdx), %ymm22, %ymm22
2656 // CHECK:  encoding: [0x62,0xe1,0xcd,0x20,0x63,0xb2,0x00,0x10,0x00,0x00]
2657           vpacksswb 4096(%rdx), %ymm22, %ymm22
2658
2659 // CHECK: vpacksswb -4096(%rdx), %ymm22, %ymm22
2660 // CHECK:  encoding: [0x62,0xe1,0xcd,0x20,0x63,0x72,0x80]
2661           vpacksswb -4096(%rdx), %ymm22, %ymm22
2662
2663 // CHECK: vpacksswb -4128(%rdx), %ymm22, %ymm22
2664 // CHECK:  encoding: [0x62,0xe1,0xcd,0x20,0x63,0xb2,0xe0,0xef,0xff,0xff]
2665           vpacksswb -4128(%rdx), %ymm22, %ymm22
2666
2667 // CHECK: vpackuswb %xmm23, %xmm28, %xmm23
2668 // CHECK:  encoding: [0x62,0xa1,0x9d,0x00,0x67,0xff]
2669           vpackuswb %xmm23, %xmm28, %xmm23
2670
2671 // CHECK: vpackuswb %xmm23, %xmm28, %xmm23 {%k3}
2672 // CHECK:  encoding: [0x62,0xa1,0x9d,0x03,0x67,0xff]
2673           vpackuswb %xmm23, %xmm28, %xmm23 {%k3}
2674
2675 // CHECK: vpackuswb %xmm23, %xmm28, %xmm23 {%k3} {z}
2676 // CHECK:  encoding: [0x62,0xa1,0x9d,0x83,0x67,0xff]
2677           vpackuswb %xmm23, %xmm28, %xmm23 {%k3} {z}
2678
2679 // CHECK: vpackuswb (%rcx), %xmm28, %xmm23
2680 // CHECK:  encoding: [0x62,0xe1,0x9d,0x00,0x67,0x39]
2681           vpackuswb (%rcx), %xmm28, %xmm23
2682
2683 // CHECK: vpackuswb 4660(%rax,%r14,8), %xmm28, %xmm23
2684 // CHECK:  encoding: [0x62,0xa1,0x9d,0x00,0x67,0xbc,0xf0,0x34,0x12,0x00,0x00]
2685           vpackuswb 4660(%rax,%r14,8), %xmm28, %xmm23
2686
2687 // CHECK: vpackuswb 2032(%rdx), %xmm28, %xmm23
2688 // CHECK:  encoding: [0x62,0xe1,0x9d,0x00,0x67,0x7a,0x7f]
2689           vpackuswb 2032(%rdx), %xmm28, %xmm23
2690
2691 // CHECK: vpackuswb 2048(%rdx), %xmm28, %xmm23
2692 // CHECK:  encoding: [0x62,0xe1,0x9d,0x00,0x67,0xba,0x00,0x08,0x00,0x00]
2693           vpackuswb 2048(%rdx), %xmm28, %xmm23
2694
2695 // CHECK: vpackuswb -2048(%rdx), %xmm28, %xmm23
2696 // CHECK:  encoding: [0x62,0xe1,0x9d,0x00,0x67,0x7a,0x80]
2697           vpackuswb -2048(%rdx), %xmm28, %xmm23
2698
2699 // CHECK: vpackuswb -2064(%rdx), %xmm28, %xmm23
2700 // CHECK:  encoding: [0x62,0xe1,0x9d,0x00,0x67,0xba,0xf0,0xf7,0xff,0xff]
2701           vpackuswb -2064(%rdx), %xmm28, %xmm23
2702
2703 // CHECK: vpackuswb %ymm27, %ymm26, %ymm20
2704 // CHECK:  encoding: [0x62,0x81,0xad,0x20,0x67,0xe3]
2705           vpackuswb %ymm27, %ymm26, %ymm20
2706
2707 // CHECK: vpackuswb %ymm27, %ymm26, %ymm20 {%k6}
2708 // CHECK:  encoding: [0x62,0x81,0xad,0x26,0x67,0xe3]
2709           vpackuswb %ymm27, %ymm26, %ymm20 {%k6}
2710
2711 // CHECK: vpackuswb %ymm27, %ymm26, %ymm20 {%k6} {z}
2712 // CHECK:  encoding: [0x62,0x81,0xad,0xa6,0x67,0xe3]
2713           vpackuswb %ymm27, %ymm26, %ymm20 {%k6} {z}
2714
2715 // CHECK: vpackuswb (%rcx), %ymm26, %ymm20
2716 // CHECK:  encoding: [0x62,0xe1,0xad,0x20,0x67,0x21]
2717           vpackuswb (%rcx), %ymm26, %ymm20
2718
2719 // CHECK: vpackuswb 4660(%rax,%r14,8), %ymm26, %ymm20
2720 // CHECK:  encoding: [0x62,0xa1,0xad,0x20,0x67,0xa4,0xf0,0x34,0x12,0x00,0x00]
2721           vpackuswb 4660(%rax,%r14,8), %ymm26, %ymm20
2722
2723 // CHECK: vpackuswb 4064(%rdx), %ymm26, %ymm20
2724 // CHECK:  encoding: [0x62,0xe1,0xad,0x20,0x67,0x62,0x7f]
2725           vpackuswb 4064(%rdx), %ymm26, %ymm20
2726
2727 // CHECK: vpackuswb 4096(%rdx), %ymm26, %ymm20
2728 // CHECK:  encoding: [0x62,0xe1,0xad,0x20,0x67,0xa2,0x00,0x10,0x00,0x00]
2729           vpackuswb 4096(%rdx), %ymm26, %ymm20
2730
2731 // CHECK: vpackuswb -4096(%rdx), %ymm26, %ymm20
2732 // CHECK:  encoding: [0x62,0xe1,0xad,0x20,0x67,0x62,0x80]
2733           vpackuswb -4096(%rdx), %ymm26, %ymm20
2734
2735 // CHECK: vpackuswb -4128(%rdx), %ymm26, %ymm20
2736 // CHECK:  encoding: [0x62,0xe1,0xad,0x20,0x67,0xa2,0xe0,0xef,0xff,0xff]
2737           vpackuswb -4128(%rdx), %ymm26, %ymm20
2738
2739 // CHECK: vpackssdw %xmm26, %xmm26, %xmm30
2740 // CHECK:  encoding: [0x62,0x01,0x2d,0x00,0x6b,0xf2]
2741           vpackssdw %xmm26, %xmm26, %xmm30
2742
2743 // CHECK: vpackssdw %xmm26, %xmm26, %xmm30 {%k2}
2744 // CHECK:  encoding: [0x62,0x01,0x2d,0x02,0x6b,0xf2]
2745           vpackssdw %xmm26, %xmm26, %xmm30 {%k2}
2746
2747 // CHECK: vpackssdw %xmm26, %xmm26, %xmm30 {%k2} {z}
2748 // CHECK:  encoding: [0x62,0x01,0x2d,0x82,0x6b,0xf2]
2749           vpackssdw %xmm26, %xmm26, %xmm30 {%k2} {z}
2750
2751 // CHECK: vpackssdw (%rcx), %xmm26, %xmm30
2752 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0x6b,0x31]
2753           vpackssdw (%rcx), %xmm26, %xmm30
2754
2755 // CHECK: vpackssdw 291(%rax,%r14,8), %xmm26, %xmm30
2756 // CHECK:  encoding: [0x62,0x21,0x2d,0x00,0x6b,0xb4,0xf0,0x23,0x01,0x00,0x00]
2757           vpackssdw 291(%rax,%r14,8), %xmm26, %xmm30
2758
2759 // CHECK: vpackssdw (%rcx){1to4}, %xmm26, %xmm30
2760 // CHECK:  encoding: [0x62,0x61,0x2d,0x10,0x6b,0x31]
2761           vpackssdw (%rcx){1to4}, %xmm26, %xmm30
2762
2763 // CHECK: vpackssdw 2032(%rdx), %xmm26, %xmm30
2764 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0x6b,0x72,0x7f]
2765           vpackssdw 2032(%rdx), %xmm26, %xmm30
2766
2767 // CHECK: vpackssdw 2048(%rdx), %xmm26, %xmm30
2768 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0x6b,0xb2,0x00,0x08,0x00,0x00]
2769           vpackssdw 2048(%rdx), %xmm26, %xmm30
2770
2771 // CHECK: vpackssdw -2048(%rdx), %xmm26, %xmm30
2772 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0x6b,0x72,0x80]
2773           vpackssdw -2048(%rdx), %xmm26, %xmm30
2774
2775 // CHECK: vpackssdw -2064(%rdx), %xmm26, %xmm30
2776 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0x6b,0xb2,0xf0,0xf7,0xff,0xff]
2777           vpackssdw -2064(%rdx), %xmm26, %xmm30
2778
2779 // CHECK: vpackssdw 508(%rdx){1to4}, %xmm26, %xmm30
2780 // CHECK:  encoding: [0x62,0x61,0x2d,0x10,0x6b,0x72,0x7f]
2781           vpackssdw 508(%rdx){1to4}, %xmm26, %xmm30
2782
2783 // CHECK: vpackssdw 512(%rdx){1to4}, %xmm26, %xmm30
2784 // CHECK:  encoding: [0x62,0x61,0x2d,0x10,0x6b,0xb2,0x00,0x02,0x00,0x00]
2785           vpackssdw 512(%rdx){1to4}, %xmm26, %xmm30
2786
2787 // CHECK: vpackssdw -512(%rdx){1to4}, %xmm26, %xmm30
2788 // CHECK:  encoding: [0x62,0x61,0x2d,0x10,0x6b,0x72,0x80]
2789           vpackssdw -512(%rdx){1to4}, %xmm26, %xmm30
2790
2791 // CHECK: vpackssdw -516(%rdx){1to4}, %xmm26, %xmm30
2792 // CHECK:  encoding: [0x62,0x61,0x2d,0x10,0x6b,0xb2,0xfc,0xfd,0xff,0xff]
2793           vpackssdw -516(%rdx){1to4}, %xmm26, %xmm30
2794
2795 // CHECK: vpackssdw %ymm26, %ymm22, %ymm28
2796 // CHECK:  encoding: [0x62,0x01,0x4d,0x20,0x6b,0xe2]
2797           vpackssdw %ymm26, %ymm22, %ymm28
2798
2799 // CHECK: vpackssdw %ymm26, %ymm22, %ymm28 {%k7}
2800 // CHECK:  encoding: [0x62,0x01,0x4d,0x27,0x6b,0xe2]
2801           vpackssdw %ymm26, %ymm22, %ymm28 {%k7}
2802
2803 // CHECK: vpackssdw %ymm26, %ymm22, %ymm28 {%k7} {z}
2804 // CHECK:  encoding: [0x62,0x01,0x4d,0xa7,0x6b,0xe2]
2805           vpackssdw %ymm26, %ymm22, %ymm28 {%k7} {z}
2806
2807 // CHECK: vpackssdw (%rcx), %ymm22, %ymm28
2808 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0x6b,0x21]
2809           vpackssdw (%rcx), %ymm22, %ymm28
2810
2811 // CHECK: vpackssdw 291(%rax,%r14,8), %ymm22, %ymm28
2812 // CHECK:  encoding: [0x62,0x21,0x4d,0x20,0x6b,0xa4,0xf0,0x23,0x01,0x00,0x00]
2813           vpackssdw 291(%rax,%r14,8), %ymm22, %ymm28
2814
2815 // CHECK: vpackssdw (%rcx){1to8}, %ymm22, %ymm28
2816 // CHECK:  encoding: [0x62,0x61,0x4d,0x30,0x6b,0x21]
2817           vpackssdw (%rcx){1to8}, %ymm22, %ymm28
2818
2819 // CHECK: vpackssdw 4064(%rdx), %ymm22, %ymm28
2820 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0x6b,0x62,0x7f]
2821           vpackssdw 4064(%rdx), %ymm22, %ymm28
2822
2823 // CHECK: vpackssdw 4096(%rdx), %ymm22, %ymm28
2824 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0x6b,0xa2,0x00,0x10,0x00,0x00]
2825           vpackssdw 4096(%rdx), %ymm22, %ymm28
2826
2827 // CHECK: vpackssdw -4096(%rdx), %ymm22, %ymm28
2828 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0x6b,0x62,0x80]
2829           vpackssdw -4096(%rdx), %ymm22, %ymm28
2830
2831 // CHECK: vpackssdw -4128(%rdx), %ymm22, %ymm28
2832 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0x6b,0xa2,0xe0,0xef,0xff,0xff]
2833           vpackssdw -4128(%rdx), %ymm22, %ymm28
2834
2835 // CHECK: vpackssdw 508(%rdx){1to8}, %ymm22, %ymm28
2836 // CHECK:  encoding: [0x62,0x61,0x4d,0x30,0x6b,0x62,0x7f]
2837           vpackssdw 508(%rdx){1to8}, %ymm22, %ymm28
2838
2839 // CHECK: vpackssdw 512(%rdx){1to8}, %ymm22, %ymm28
2840 // CHECK:  encoding: [0x62,0x61,0x4d,0x30,0x6b,0xa2,0x00,0x02,0x00,0x00]
2841           vpackssdw 512(%rdx){1to8}, %ymm22, %ymm28
2842
2843 // CHECK: vpackssdw -512(%rdx){1to8}, %ymm22, %ymm28
2844 // CHECK:  encoding: [0x62,0x61,0x4d,0x30,0x6b,0x62,0x80]
2845           vpackssdw -512(%rdx){1to8}, %ymm22, %ymm28
2846
2847 // CHECK: vpackssdw -516(%rdx){1to8}, %ymm22, %ymm28
2848 // CHECK:  encoding: [0x62,0x61,0x4d,0x30,0x6b,0xa2,0xfc,0xfd,0xff,0xff]
2849           vpackssdw -516(%rdx){1to8}, %ymm22, %ymm28
2850
2851 // CHECK: vpacksswb %xmm21, %xmm28, %xmm25
2852 // CHECK:  encoding: [0x62,0x21,0x9d,0x00,0x63,0xcd]
2853           vpacksswb %xmm21, %xmm28, %xmm25
2854
2855 // CHECK: vpacksswb %xmm21, %xmm28, %xmm25 {%k5}
2856 // CHECK:  encoding: [0x62,0x21,0x9d,0x05,0x63,0xcd]
2857           vpacksswb %xmm21, %xmm28, %xmm25 {%k5}
2858
2859 // CHECK: vpacksswb %xmm21, %xmm28, %xmm25 {%k5} {z}
2860 // CHECK:  encoding: [0x62,0x21,0x9d,0x85,0x63,0xcd]
2861           vpacksswb %xmm21, %xmm28, %xmm25 {%k5} {z}
2862
2863 // CHECK: vpacksswb (%rcx), %xmm28, %xmm25
2864 // CHECK:  encoding: [0x62,0x61,0x9d,0x00,0x63,0x09]
2865           vpacksswb (%rcx), %xmm28, %xmm25
2866
2867 // CHECK: vpacksswb 291(%rax,%r14,8), %xmm28, %xmm25
2868 // CHECK:  encoding: [0x62,0x21,0x9d,0x00,0x63,0x8c,0xf0,0x23,0x01,0x00,0x00]
2869           vpacksswb 291(%rax,%r14,8), %xmm28, %xmm25
2870
2871 // CHECK: vpacksswb 2032(%rdx), %xmm28, %xmm25
2872 // CHECK:  encoding: [0x62,0x61,0x9d,0x00,0x63,0x4a,0x7f]
2873           vpacksswb 2032(%rdx), %xmm28, %xmm25
2874
2875 // CHECK: vpacksswb 2048(%rdx), %xmm28, %xmm25
2876 // CHECK:  encoding: [0x62,0x61,0x9d,0x00,0x63,0x8a,0x00,0x08,0x00,0x00]
2877           vpacksswb 2048(%rdx), %xmm28, %xmm25
2878
2879 // CHECK: vpacksswb -2048(%rdx), %xmm28, %xmm25
2880 // CHECK:  encoding: [0x62,0x61,0x9d,0x00,0x63,0x4a,0x80]
2881           vpacksswb -2048(%rdx), %xmm28, %xmm25
2882
2883 // CHECK: vpacksswb -2064(%rdx), %xmm28, %xmm25
2884 // CHECK:  encoding: [0x62,0x61,0x9d,0x00,0x63,0x8a,0xf0,0xf7,0xff,0xff]
2885           vpacksswb -2064(%rdx), %xmm28, %xmm25
2886
2887 // CHECK: vpacksswb %ymm22, %ymm28, %ymm21
2888 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x63,0xee]
2889           vpacksswb %ymm22, %ymm28, %ymm21
2890
2891 // CHECK: vpacksswb %ymm22, %ymm28, %ymm21 {%k5}
2892 // CHECK:  encoding: [0x62,0xa1,0x9d,0x25,0x63,0xee]
2893           vpacksswb %ymm22, %ymm28, %ymm21 {%k5}
2894
2895 // CHECK: vpacksswb %ymm22, %ymm28, %ymm21 {%k5} {z}
2896 // CHECK:  encoding: [0x62,0xa1,0x9d,0xa5,0x63,0xee]
2897           vpacksswb %ymm22, %ymm28, %ymm21 {%k5} {z}
2898
2899 // CHECK: vpacksswb (%rcx), %ymm28, %ymm21
2900 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x63,0x29]
2901           vpacksswb (%rcx), %ymm28, %ymm21
2902
2903 // CHECK: vpacksswb 291(%rax,%r14,8), %ymm28, %ymm21
2904 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x63,0xac,0xf0,0x23,0x01,0x00,0x00]
2905           vpacksswb 291(%rax,%r14,8), %ymm28, %ymm21
2906
2907 // CHECK: vpacksswb 4064(%rdx), %ymm28, %ymm21
2908 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x63,0x6a,0x7f]
2909           vpacksswb 4064(%rdx), %ymm28, %ymm21
2910
2911 // CHECK: vpacksswb 4096(%rdx), %ymm28, %ymm21
2912 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x63,0xaa,0x00,0x10,0x00,0x00]
2913           vpacksswb 4096(%rdx), %ymm28, %ymm21
2914
2915 // CHECK: vpacksswb -4096(%rdx), %ymm28, %ymm21
2916 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x63,0x6a,0x80]
2917           vpacksswb -4096(%rdx), %ymm28, %ymm21
2918
2919 // CHECK: vpacksswb -4128(%rdx), %ymm28, %ymm21
2920 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x63,0xaa,0xe0,0xef,0xff,0xff]
2921           vpacksswb -4128(%rdx), %ymm28, %ymm21
2922
2923 // CHECK: vpackusdw %xmm20, %xmm24, %xmm24
2924 // CHECK:  encoding: [0x62,0x22,0x3d,0x00,0x2b,0xc4]
2925           vpackusdw %xmm20, %xmm24, %xmm24
2926
2927 // CHECK: vpackusdw %xmm20, %xmm24, %xmm24 {%k5}
2928 // CHECK:  encoding: [0x62,0x22,0x3d,0x05,0x2b,0xc4]
2929           vpackusdw %xmm20, %xmm24, %xmm24 {%k5}
2930
2931 // CHECK: vpackusdw %xmm20, %xmm24, %xmm24 {%k5} {z}
2932 // CHECK:  encoding: [0x62,0x22,0x3d,0x85,0x2b,0xc4]
2933           vpackusdw %xmm20, %xmm24, %xmm24 {%k5} {z}
2934
2935 // CHECK: vpackusdw (%rcx), %xmm24, %xmm24
2936 // CHECK:  encoding: [0x62,0x62,0x3d,0x00,0x2b,0x01]
2937           vpackusdw (%rcx), %xmm24, %xmm24
2938
2939 // CHECK: vpackusdw 291(%rax,%r14,8), %xmm24, %xmm24
2940 // CHECK:  encoding: [0x62,0x22,0x3d,0x00,0x2b,0x84,0xf0,0x23,0x01,0x00,0x00]
2941           vpackusdw 291(%rax,%r14,8), %xmm24, %xmm24
2942
2943 // CHECK: vpackusdw (%rcx){1to4}, %xmm24, %xmm24
2944 // CHECK:  encoding: [0x62,0x62,0x3d,0x10,0x2b,0x01]
2945           vpackusdw (%rcx){1to4}, %xmm24, %xmm24
2946
2947 // CHECK: vpackusdw 2032(%rdx), %xmm24, %xmm24
2948 // CHECK:  encoding: [0x62,0x62,0x3d,0x00,0x2b,0x42,0x7f]
2949           vpackusdw 2032(%rdx), %xmm24, %xmm24
2950
2951 // CHECK: vpackusdw 2048(%rdx), %xmm24, %xmm24
2952 // CHECK:  encoding: [0x62,0x62,0x3d,0x00,0x2b,0x82,0x00,0x08,0x00,0x00]
2953           vpackusdw 2048(%rdx), %xmm24, %xmm24
2954
2955 // CHECK: vpackusdw -2048(%rdx), %xmm24, %xmm24
2956 // CHECK:  encoding: [0x62,0x62,0x3d,0x00,0x2b,0x42,0x80]
2957           vpackusdw -2048(%rdx), %xmm24, %xmm24
2958
2959 // CHECK: vpackusdw -2064(%rdx), %xmm24, %xmm24
2960 // CHECK:  encoding: [0x62,0x62,0x3d,0x00,0x2b,0x82,0xf0,0xf7,0xff,0xff]
2961           vpackusdw -2064(%rdx), %xmm24, %xmm24
2962
2963 // CHECK: vpackusdw 508(%rdx){1to4}, %xmm24, %xmm24
2964 // CHECK:  encoding: [0x62,0x62,0x3d,0x10,0x2b,0x42,0x7f]
2965           vpackusdw 508(%rdx){1to4}, %xmm24, %xmm24
2966
2967 // CHECK: vpackusdw 512(%rdx){1to4}, %xmm24, %xmm24
2968 // CHECK:  encoding: [0x62,0x62,0x3d,0x10,0x2b,0x82,0x00,0x02,0x00,0x00]
2969           vpackusdw 512(%rdx){1to4}, %xmm24, %xmm24
2970
2971 // CHECK: vpackusdw -512(%rdx){1to4}, %xmm24, %xmm24
2972 // CHECK:  encoding: [0x62,0x62,0x3d,0x10,0x2b,0x42,0x80]
2973           vpackusdw -512(%rdx){1to4}, %xmm24, %xmm24
2974
2975 // CHECK: vpackusdw -516(%rdx){1to4}, %xmm24, %xmm24
2976 // CHECK:  encoding: [0x62,0x62,0x3d,0x10,0x2b,0x82,0xfc,0xfd,0xff,0xff]
2977           vpackusdw -516(%rdx){1to4}, %xmm24, %xmm24
2978
2979 // CHECK: vpackusdw %ymm21, %ymm26, %ymm19
2980 // CHECK:  encoding: [0x62,0xa2,0x2d,0x20,0x2b,0xdd]
2981           vpackusdw %ymm21, %ymm26, %ymm19
2982
2983 // CHECK: vpackusdw %ymm21, %ymm26, %ymm19 {%k1}
2984 // CHECK:  encoding: [0x62,0xa2,0x2d,0x21,0x2b,0xdd]
2985           vpackusdw %ymm21, %ymm26, %ymm19 {%k1}
2986
2987 // CHECK: vpackusdw %ymm21, %ymm26, %ymm19 {%k1} {z}
2988 // CHECK:  encoding: [0x62,0xa2,0x2d,0xa1,0x2b,0xdd]
2989           vpackusdw %ymm21, %ymm26, %ymm19 {%k1} {z}
2990
2991 // CHECK: vpackusdw (%rcx), %ymm26, %ymm19
2992 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x19]
2993           vpackusdw (%rcx), %ymm26, %ymm19
2994
2995 // CHECK: vpackusdw 291(%rax,%r14,8), %ymm26, %ymm19
2996 // CHECK:  encoding: [0x62,0xa2,0x2d,0x20,0x2b,0x9c,0xf0,0x23,0x01,0x00,0x00]
2997           vpackusdw 291(%rax,%r14,8), %ymm26, %ymm19
2998
2999 // CHECK: vpackusdw (%rcx){1to8}, %ymm26, %ymm19
3000 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x19]
3001           vpackusdw (%rcx){1to8}, %ymm26, %ymm19
3002
3003 // CHECK: vpackusdw 4064(%rdx), %ymm26, %ymm19
3004 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x5a,0x7f]
3005           vpackusdw 4064(%rdx), %ymm26, %ymm19
3006
3007 // CHECK: vpackusdw 4096(%rdx), %ymm26, %ymm19
3008 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x9a,0x00,0x10,0x00,0x00]
3009           vpackusdw 4096(%rdx), %ymm26, %ymm19
3010
3011 // CHECK: vpackusdw -4096(%rdx), %ymm26, %ymm19
3012 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x5a,0x80]
3013           vpackusdw -4096(%rdx), %ymm26, %ymm19
3014
3015 // CHECK: vpackusdw -4128(%rdx), %ymm26, %ymm19
3016 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x9a,0xe0,0xef,0xff,0xff]
3017           vpackusdw -4128(%rdx), %ymm26, %ymm19
3018
3019 // CHECK: vpackusdw 508(%rdx){1to8}, %ymm26, %ymm19
3020 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x5a,0x7f]
3021           vpackusdw 508(%rdx){1to8}, %ymm26, %ymm19
3022
3023 // CHECK: vpackusdw 512(%rdx){1to8}, %ymm26, %ymm19
3024 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x9a,0x00,0x02,0x00,0x00]
3025           vpackusdw 512(%rdx){1to8}, %ymm26, %ymm19
3026
3027 // CHECK: vpackusdw -512(%rdx){1to8}, %ymm26, %ymm19
3028 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x5a,0x80]
3029           vpackusdw -512(%rdx){1to8}, %ymm26, %ymm19
3030
3031 // CHECK: vpackusdw -516(%rdx){1to8}, %ymm26, %ymm19
3032 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x9a,0xfc,0xfd,0xff,0xff]
3033           vpackusdw -516(%rdx){1to8}, %ymm26, %ymm19
3034
3035 // CHECK: vpackuswb %xmm17, %xmm27, %xmm21
3036 // CHECK:  encoding: [0x62,0xa1,0xa5,0x00,0x67,0xe9]
3037           vpackuswb %xmm17, %xmm27, %xmm21
3038
3039 // CHECK: vpackuswb %xmm17, %xmm27, %xmm21 {%k4}
3040 // CHECK:  encoding: [0x62,0xa1,0xa5,0x04,0x67,0xe9]
3041           vpackuswb %xmm17, %xmm27, %xmm21 {%k4}
3042
3043 // CHECK: vpackuswb %xmm17, %xmm27, %xmm21 {%k4} {z}
3044 // CHECK:  encoding: [0x62,0xa1,0xa5,0x84,0x67,0xe9]
3045           vpackuswb %xmm17, %xmm27, %xmm21 {%k4} {z}
3046
3047 // CHECK: vpackuswb (%rcx), %xmm27, %xmm21
3048 // CHECK:  encoding: [0x62,0xe1,0xa5,0x00,0x67,0x29]
3049           vpackuswb (%rcx), %xmm27, %xmm21
3050
3051 // CHECK: vpackuswb 291(%rax,%r14,8), %xmm27, %xmm21
3052 // CHECK:  encoding: [0x62,0xa1,0xa5,0x00,0x67,0xac,0xf0,0x23,0x01,0x00,0x00]
3053           vpackuswb 291(%rax,%r14,8), %xmm27, %xmm21
3054
3055 // CHECK: vpackuswb 2032(%rdx), %xmm27, %xmm21
3056 // CHECK:  encoding: [0x62,0xe1,0xa5,0x00,0x67,0x6a,0x7f]
3057           vpackuswb 2032(%rdx), %xmm27, %xmm21
3058
3059 // CHECK: vpackuswb 2048(%rdx), %xmm27, %xmm21
3060 // CHECK:  encoding: [0x62,0xe1,0xa5,0x00,0x67,0xaa,0x00,0x08,0x00,0x00]
3061           vpackuswb 2048(%rdx), %xmm27, %xmm21
3062
3063 // CHECK: vpackuswb -2048(%rdx), %xmm27, %xmm21
3064 // CHECK:  encoding: [0x62,0xe1,0xa5,0x00,0x67,0x6a,0x80]
3065           vpackuswb -2048(%rdx), %xmm27, %xmm21
3066
3067 // CHECK: vpackuswb -2064(%rdx), %xmm27, %xmm21
3068 // CHECK:  encoding: [0x62,0xe1,0xa5,0x00,0x67,0xaa,0xf0,0xf7,0xff,0xff]
3069           vpackuswb -2064(%rdx), %xmm27, %xmm21
3070
3071 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19
3072 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x67,0xdc]
3073           vpackuswb %ymm20, %ymm28, %ymm19
3074
3075 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19 {%k1}
3076 // CHECK:  encoding: [0x62,0xa1,0x9d,0x21,0x67,0xdc]
3077           vpackuswb %ymm20, %ymm28, %ymm19 {%k1}
3078
3079 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19 {%k1} {z}
3080 // CHECK:  encoding: [0x62,0xa1,0x9d,0xa1,0x67,0xdc]
3081           vpackuswb %ymm20, %ymm28, %ymm19 {%k1} {z}
3082
3083 // CHECK: vpackuswb (%rcx), %ymm28, %ymm19
3084 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x19]
3085           vpackuswb (%rcx), %ymm28, %ymm19
3086
3087 // CHECK: vpackuswb 291(%rax,%r14,8), %ymm28, %ymm19
3088 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x67,0x9c,0xf0,0x23,0x01,0x00,0x00]
3089           vpackuswb 291(%rax,%r14,8), %ymm28, %ymm19
3090
3091 // CHECK: vpackuswb 4064(%rdx), %ymm28, %ymm19
3092 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x5a,0x7f]
3093           vpackuswb 4064(%rdx), %ymm28, %ymm19
3094
3095 // CHECK: vpackuswb 4096(%rdx), %ymm28, %ymm19
3096 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x9a,0x00,0x10,0x00,0x00]
3097           vpackuswb 4096(%rdx), %ymm28, %ymm19
3098
3099 // CHECK: vpackuswb -4096(%rdx), %ymm28, %ymm19
3100 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x5a,0x80]
3101           vpackuswb -4096(%rdx), %ymm28, %ymm19
3102
3103 // CHECK: vpackuswb -4128(%rdx), %ymm28, %ymm19
3104 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x9a,0xe0,0xef,0xff,0xff]
3105           vpackuswb -4128(%rdx), %ymm28, %ymm19
3106
3107 // CHECK: vpackssdw %xmm19, %xmm17, %xmm24
3108 // CHECK:  encoding: [0x62,0x21,0x75,0x00,0x6b,0xc3]
3109           vpackssdw %xmm19, %xmm17, %xmm24
3110
3111 // CHECK: vpackssdw %xmm19, %xmm17, %xmm24 {%k7}
3112 // CHECK:  encoding: [0x62,0x21,0x75,0x07,0x6b,0xc3]
3113           vpackssdw %xmm19, %xmm17, %xmm24 {%k7}
3114
3115 // CHECK: vpackssdw %xmm19, %xmm17, %xmm24 {%k7} {z}
3116 // CHECK:  encoding: [0x62,0x21,0x75,0x87,0x6b,0xc3]
3117           vpackssdw %xmm19, %xmm17, %xmm24 {%k7} {z}
3118
3119 // CHECK: vpackssdw (%rcx), %xmm17, %xmm24
3120 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0x6b,0x01]
3121           vpackssdw (%rcx), %xmm17, %xmm24
3122
3123 // CHECK: vpackssdw 4660(%rax,%r14,8), %xmm17, %xmm24
3124 // CHECK:  encoding: [0x62,0x21,0x75,0x00,0x6b,0x84,0xf0,0x34,0x12,0x00,0x00]
3125           vpackssdw 4660(%rax,%r14,8), %xmm17, %xmm24
3126
3127 // CHECK: vpackssdw (%rcx){1to4}, %xmm17, %xmm24
3128 // CHECK:  encoding: [0x62,0x61,0x75,0x10,0x6b,0x01]
3129           vpackssdw (%rcx){1to4}, %xmm17, %xmm24
3130
3131 // CHECK: vpackssdw 2032(%rdx), %xmm17, %xmm24
3132 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0x6b,0x42,0x7f]
3133           vpackssdw 2032(%rdx), %xmm17, %xmm24
3134
3135 // CHECK: vpackssdw 2048(%rdx), %xmm17, %xmm24
3136 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0x6b,0x82,0x00,0x08,0x00,0x00]
3137           vpackssdw 2048(%rdx), %xmm17, %xmm24
3138
3139 // CHECK: vpackssdw -2048(%rdx), %xmm17, %xmm24
3140 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0x6b,0x42,0x80]
3141           vpackssdw -2048(%rdx), %xmm17, %xmm24
3142
3143 // CHECK: vpackssdw -2064(%rdx), %xmm17, %xmm24
3144 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0x6b,0x82,0xf0,0xf7,0xff,0xff]
3145           vpackssdw -2064(%rdx), %xmm17, %xmm24
3146
3147 // CHECK: vpackssdw 508(%rdx){1to4}, %xmm17, %xmm24
3148 // CHECK:  encoding: [0x62,0x61,0x75,0x10,0x6b,0x42,0x7f]
3149           vpackssdw 508(%rdx){1to4}, %xmm17, %xmm24
3150
3151 // CHECK: vpackssdw 512(%rdx){1to4}, %xmm17, %xmm24
3152 // CHECK:  encoding: [0x62,0x61,0x75,0x10,0x6b,0x82,0x00,0x02,0x00,0x00]
3153           vpackssdw 512(%rdx){1to4}, %xmm17, %xmm24
3154
3155 // CHECK: vpackssdw -512(%rdx){1to4}, %xmm17, %xmm24
3156 // CHECK:  encoding: [0x62,0x61,0x75,0x10,0x6b,0x42,0x80]
3157           vpackssdw -512(%rdx){1to4}, %xmm17, %xmm24
3158
3159 // CHECK: vpackssdw -516(%rdx){1to4}, %xmm17, %xmm24
3160 // CHECK:  encoding: [0x62,0x61,0x75,0x10,0x6b,0x82,0xfc,0xfd,0xff,0xff]
3161           vpackssdw -516(%rdx){1to4}, %xmm17, %xmm24
3162
3163 // CHECK: vpackssdw %ymm19, %ymm19, %ymm25
3164 // CHECK:  encoding: [0x62,0x21,0x65,0x20,0x6b,0xcb]
3165           vpackssdw %ymm19, %ymm19, %ymm25
3166
3167 // CHECK: vpackssdw %ymm19, %ymm19, %ymm25 {%k2}
3168 // CHECK:  encoding: [0x62,0x21,0x65,0x22,0x6b,0xcb]
3169           vpackssdw %ymm19, %ymm19, %ymm25 {%k2}
3170
3171 // CHECK: vpackssdw %ymm19, %ymm19, %ymm25 {%k2} {z}
3172 // CHECK:  encoding: [0x62,0x21,0x65,0xa2,0x6b,0xcb]
3173           vpackssdw %ymm19, %ymm19, %ymm25 {%k2} {z}
3174
3175 // CHECK: vpackssdw (%rcx), %ymm19, %ymm25
3176 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0x6b,0x09]
3177           vpackssdw (%rcx), %ymm19, %ymm25
3178
3179 // CHECK: vpackssdw 4660(%rax,%r14,8), %ymm19, %ymm25
3180 // CHECK:  encoding: [0x62,0x21,0x65,0x20,0x6b,0x8c,0xf0,0x34,0x12,0x00,0x00]
3181           vpackssdw 4660(%rax,%r14,8), %ymm19, %ymm25
3182
3183 // CHECK: vpackssdw (%rcx){1to8}, %ymm19, %ymm25
3184 // CHECK:  encoding: [0x62,0x61,0x65,0x30,0x6b,0x09]
3185           vpackssdw (%rcx){1to8}, %ymm19, %ymm25
3186
3187 // CHECK: vpackssdw 4064(%rdx), %ymm19, %ymm25
3188 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0x6b,0x4a,0x7f]
3189           vpackssdw 4064(%rdx), %ymm19, %ymm25
3190
3191 // CHECK: vpackssdw 4096(%rdx), %ymm19, %ymm25
3192 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0x6b,0x8a,0x00,0x10,0x00,0x00]
3193           vpackssdw 4096(%rdx), %ymm19, %ymm25
3194
3195 // CHECK: vpackssdw -4096(%rdx), %ymm19, %ymm25
3196 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0x6b,0x4a,0x80]
3197           vpackssdw -4096(%rdx), %ymm19, %ymm25
3198
3199 // CHECK: vpackssdw -4128(%rdx), %ymm19, %ymm25
3200 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0x6b,0x8a,0xe0,0xef,0xff,0xff]
3201           vpackssdw -4128(%rdx), %ymm19, %ymm25
3202
3203 // CHECK: vpackssdw 508(%rdx){1to8}, %ymm19, %ymm25
3204 // CHECK:  encoding: [0x62,0x61,0x65,0x30,0x6b,0x4a,0x7f]
3205           vpackssdw 508(%rdx){1to8}, %ymm19, %ymm25
3206
3207 // CHECK: vpackssdw 512(%rdx){1to8}, %ymm19, %ymm25
3208 // CHECK:  encoding: [0x62,0x61,0x65,0x30,0x6b,0x8a,0x00,0x02,0x00,0x00]
3209           vpackssdw 512(%rdx){1to8}, %ymm19, %ymm25
3210
3211 // CHECK: vpackssdw -512(%rdx){1to8}, %ymm19, %ymm25
3212 // CHECK:  encoding: [0x62,0x61,0x65,0x30,0x6b,0x4a,0x80]
3213           vpackssdw -512(%rdx){1to8}, %ymm19, %ymm25
3214
3215 // CHECK: vpackssdw -516(%rdx){1to8}, %ymm19, %ymm25
3216 // CHECK:  encoding: [0x62,0x61,0x65,0x30,0x6b,0x8a,0xfc,0xfd,0xff,0xff]
3217           vpackssdw -516(%rdx){1to8}, %ymm19, %ymm25
3218
3219 // CHECK: vpacksswb %xmm22, %xmm25, %xmm29
3220 // CHECK:  encoding: [0x62,0x21,0xb5,0x00,0x63,0xee]
3221           vpacksswb %xmm22, %xmm25, %xmm29
3222
3223 // CHECK: vpacksswb %xmm22, %xmm25, %xmm29 {%k5}
3224 // CHECK:  encoding: [0x62,0x21,0xb5,0x05,0x63,0xee]
3225           vpacksswb %xmm22, %xmm25, %xmm29 {%k5}
3226
3227 // CHECK: vpacksswb %xmm22, %xmm25, %xmm29 {%k5} {z}
3228 // CHECK:  encoding: [0x62,0x21,0xb5,0x85,0x63,0xee]
3229           vpacksswb %xmm22, %xmm25, %xmm29 {%k5} {z}
3230
3231 // CHECK: vpacksswb (%rcx), %xmm25, %xmm29
3232 // CHECK:  encoding: [0x62,0x61,0xb5,0x00,0x63,0x29]
3233           vpacksswb (%rcx), %xmm25, %xmm29
3234
3235 // CHECK: vpacksswb 4660(%rax,%r14,8), %xmm25, %xmm29
3236 // CHECK:  encoding: [0x62,0x21,0xb5,0x00,0x63,0xac,0xf0,0x34,0x12,0x00,0x00]
3237           vpacksswb 4660(%rax,%r14,8), %xmm25, %xmm29
3238
3239 // CHECK: vpacksswb 2032(%rdx), %xmm25, %xmm29
3240 // CHECK:  encoding: [0x62,0x61,0xb5,0x00,0x63,0x6a,0x7f]
3241           vpacksswb 2032(%rdx), %xmm25, %xmm29
3242
3243 // CHECK: vpacksswb 2048(%rdx), %xmm25, %xmm29
3244 // CHECK:  encoding: [0x62,0x61,0xb5,0x00,0x63,0xaa,0x00,0x08,0x00,0x00]
3245           vpacksswb 2048(%rdx), %xmm25, %xmm29
3246
3247 // CHECK: vpacksswb -2048(%rdx), %xmm25, %xmm29
3248 // CHECK:  encoding: [0x62,0x61,0xb5,0x00,0x63,0x6a,0x80]
3249           vpacksswb -2048(%rdx), %xmm25, %xmm29
3250
3251 // CHECK: vpacksswb -2064(%rdx), %xmm25, %xmm29
3252 // CHECK:  encoding: [0x62,0x61,0xb5,0x00,0x63,0xaa,0xf0,0xf7,0xff,0xff]
3253           vpacksswb -2064(%rdx), %xmm25, %xmm29
3254
3255 // CHECK: vpacksswb %ymm27, %ymm20, %ymm26
3256 // CHECK:  encoding: [0x62,0x01,0xdd,0x20,0x63,0xd3]
3257           vpacksswb %ymm27, %ymm20, %ymm26
3258
3259 // CHECK: vpacksswb %ymm27, %ymm20, %ymm26 {%k6}
3260 // CHECK:  encoding: [0x62,0x01,0xdd,0x26,0x63,0xd3]
3261           vpacksswb %ymm27, %ymm20, %ymm26 {%k6}
3262
3263 // CHECK: vpacksswb %ymm27, %ymm20, %ymm26 {%k6} {z}
3264 // CHECK:  encoding: [0x62,0x01,0xdd,0xa6,0x63,0xd3]
3265           vpacksswb %ymm27, %ymm20, %ymm26 {%k6} {z}
3266
3267 // CHECK: vpacksswb (%rcx), %ymm20, %ymm26
3268 // CHECK:  encoding: [0x62,0x61,0xdd,0x20,0x63,0x11]
3269           vpacksswb (%rcx), %ymm20, %ymm26
3270
3271 // CHECK: vpacksswb 4660(%rax,%r14,8), %ymm20, %ymm26
3272 // CHECK:  encoding: [0x62,0x21,0xdd,0x20,0x63,0x94,0xf0,0x34,0x12,0x00,0x00]
3273           vpacksswb 4660(%rax,%r14,8), %ymm20, %ymm26
3274
3275 // CHECK: vpacksswb 4064(%rdx), %ymm20, %ymm26
3276 // CHECK:  encoding: [0x62,0x61,0xdd,0x20,0x63,0x52,0x7f]
3277           vpacksswb 4064(%rdx), %ymm20, %ymm26
3278
3279 // CHECK: vpacksswb 4096(%rdx), %ymm20, %ymm26
3280 // CHECK:  encoding: [0x62,0x61,0xdd,0x20,0x63,0x92,0x00,0x10,0x00,0x00]
3281           vpacksswb 4096(%rdx), %ymm20, %ymm26
3282
3283 // CHECK: vpacksswb -4096(%rdx), %ymm20, %ymm26
3284 // CHECK:  encoding: [0x62,0x61,0xdd,0x20,0x63,0x52,0x80]
3285           vpacksswb -4096(%rdx), %ymm20, %ymm26
3286
3287 // CHECK: vpacksswb -4128(%rdx), %ymm20, %ymm26
3288 // CHECK:  encoding: [0x62,0x61,0xdd,0x20,0x63,0x92,0xe0,0xef,0xff,0xff]
3289           vpacksswb -4128(%rdx), %ymm20, %ymm26
3290
3291 // CHECK: vpackusdw %xmm18, %xmm27, %xmm28
3292 // CHECK:  encoding: [0x62,0x22,0x25,0x00,0x2b,0xe2]
3293           vpackusdw %xmm18, %xmm27, %xmm28
3294
3295 // CHECK: vpackusdw %xmm18, %xmm27, %xmm28 {%k4}
3296 // CHECK:  encoding: [0x62,0x22,0x25,0x04,0x2b,0xe2]
3297           vpackusdw %xmm18, %xmm27, %xmm28 {%k4}
3298
3299 // CHECK: vpackusdw %xmm18, %xmm27, %xmm28 {%k4} {z}
3300 // CHECK:  encoding: [0x62,0x22,0x25,0x84,0x2b,0xe2]
3301           vpackusdw %xmm18, %xmm27, %xmm28 {%k4} {z}
3302
3303 // CHECK: vpackusdw (%rcx), %xmm27, %xmm28
3304 // CHECK:  encoding: [0x62,0x62,0x25,0x00,0x2b,0x21]
3305           vpackusdw (%rcx), %xmm27, %xmm28
3306
3307 // CHECK: vpackusdw 4660(%rax,%r14,8), %xmm27, %xmm28
3308 // CHECK:  encoding: [0x62,0x22,0x25,0x00,0x2b,0xa4,0xf0,0x34,0x12,0x00,0x00]
3309           vpackusdw 4660(%rax,%r14,8), %xmm27, %xmm28
3310
3311 // CHECK: vpackusdw (%rcx){1to4}, %xmm27, %xmm28
3312 // CHECK:  encoding: [0x62,0x62,0x25,0x10,0x2b,0x21]
3313           vpackusdw (%rcx){1to4}, %xmm27, %xmm28
3314
3315 // CHECK: vpackusdw 2032(%rdx), %xmm27, %xmm28
3316 // CHECK:  encoding: [0x62,0x62,0x25,0x00,0x2b,0x62,0x7f]
3317           vpackusdw 2032(%rdx), %xmm27, %xmm28
3318
3319 // CHECK: vpackusdw 2048(%rdx), %xmm27, %xmm28
3320 // CHECK:  encoding: [0x62,0x62,0x25,0x00,0x2b,0xa2,0x00,0x08,0x00,0x00]
3321           vpackusdw 2048(%rdx), %xmm27, %xmm28
3322
3323 // CHECK: vpackusdw -2048(%rdx), %xmm27, %xmm28
3324 // CHECK:  encoding: [0x62,0x62,0x25,0x00,0x2b,0x62,0x80]
3325           vpackusdw -2048(%rdx), %xmm27, %xmm28
3326
3327 // CHECK: vpackusdw -2064(%rdx), %xmm27, %xmm28
3328 // CHECK:  encoding: [0x62,0x62,0x25,0x00,0x2b,0xa2,0xf0,0xf7,0xff,0xff]
3329           vpackusdw -2064(%rdx), %xmm27, %xmm28
3330
3331 // CHECK: vpackusdw 508(%rdx){1to4}, %xmm27, %xmm28
3332 // CHECK:  encoding: [0x62,0x62,0x25,0x10,0x2b,0x62,0x7f]
3333           vpackusdw 508(%rdx){1to4}, %xmm27, %xmm28
3334
3335 // CHECK: vpackusdw 512(%rdx){1to4}, %xmm27, %xmm28
3336 // CHECK:  encoding: [0x62,0x62,0x25,0x10,0x2b,0xa2,0x00,0x02,0x00,0x00]
3337           vpackusdw 512(%rdx){1to4}, %xmm27, %xmm28
3338
3339 // CHECK: vpackusdw -512(%rdx){1to4}, %xmm27, %xmm28
3340 // CHECK:  encoding: [0x62,0x62,0x25,0x10,0x2b,0x62,0x80]
3341           vpackusdw -512(%rdx){1to4}, %xmm27, %xmm28
3342
3343 // CHECK: vpackusdw -516(%rdx){1to4}, %xmm27, %xmm28
3344 // CHECK:  encoding: [0x62,0x62,0x25,0x10,0x2b,0xa2,0xfc,0xfd,0xff,0xff]
3345           vpackusdw -516(%rdx){1to4}, %xmm27, %xmm28
3346
3347 // CHECK: vpackusdw %ymm17, %ymm26, %ymm23
3348 // CHECK:  encoding: [0x62,0xa2,0x2d,0x20,0x2b,0xf9]
3349           vpackusdw %ymm17, %ymm26, %ymm23
3350
3351 // CHECK: vpackusdw %ymm17, %ymm26, %ymm23 {%k4}
3352 // CHECK:  encoding: [0x62,0xa2,0x2d,0x24,0x2b,0xf9]
3353           vpackusdw %ymm17, %ymm26, %ymm23 {%k4}
3354
3355 // CHECK: vpackusdw %ymm17, %ymm26, %ymm23 {%k4} {z}
3356 // CHECK:  encoding: [0x62,0xa2,0x2d,0xa4,0x2b,0xf9]
3357           vpackusdw %ymm17, %ymm26, %ymm23 {%k4} {z}
3358
3359 // CHECK: vpackusdw (%rcx), %ymm26, %ymm23
3360 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x39]
3361           vpackusdw (%rcx), %ymm26, %ymm23
3362
3363 // CHECK: vpackusdw 4660(%rax,%r14,8), %ymm26, %ymm23
3364 // CHECK:  encoding: [0x62,0xa2,0x2d,0x20,0x2b,0xbc,0xf0,0x34,0x12,0x00,0x00]
3365           vpackusdw 4660(%rax,%r14,8), %ymm26, %ymm23
3366
3367 // CHECK: vpackusdw (%rcx){1to8}, %ymm26, %ymm23
3368 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x39]
3369           vpackusdw (%rcx){1to8}, %ymm26, %ymm23
3370
3371 // CHECK: vpackusdw 4064(%rdx), %ymm26, %ymm23
3372 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x7a,0x7f]
3373           vpackusdw 4064(%rdx), %ymm26, %ymm23
3374
3375 // CHECK: vpackusdw 4096(%rdx), %ymm26, %ymm23
3376 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0xba,0x00,0x10,0x00,0x00]
3377           vpackusdw 4096(%rdx), %ymm26, %ymm23
3378
3379 // CHECK: vpackusdw -4096(%rdx), %ymm26, %ymm23
3380 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x7a,0x80]
3381           vpackusdw -4096(%rdx), %ymm26, %ymm23
3382
3383 // CHECK: vpackusdw -4128(%rdx), %ymm26, %ymm23
3384 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0xba,0xe0,0xef,0xff,0xff]
3385           vpackusdw -4128(%rdx), %ymm26, %ymm23
3386
3387 // CHECK: vpackusdw 508(%rdx){1to8}, %ymm26, %ymm23
3388 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x7a,0x7f]
3389           vpackusdw 508(%rdx){1to8}, %ymm26, %ymm23
3390
3391 // CHECK: vpackusdw 512(%rdx){1to8}, %ymm26, %ymm23
3392 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0xba,0x00,0x02,0x00,0x00]
3393           vpackusdw 512(%rdx){1to8}, %ymm26, %ymm23
3394
3395 // CHECK: vpackusdw -512(%rdx){1to8}, %ymm26, %ymm23
3396 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x7a,0x80]
3397           vpackusdw -512(%rdx){1to8}, %ymm26, %ymm23
3398
3399 // CHECK: vpackusdw -516(%rdx){1to8}, %ymm26, %ymm23
3400 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0xba,0xfc,0xfd,0xff,0xff]
3401           vpackusdw -516(%rdx){1to8}, %ymm26, %ymm23
3402
3403 // CHECK: vpackuswb %xmm23, %xmm20, %xmm20
3404 // CHECK:  encoding: [0x62,0xa1,0xdd,0x00,0x67,0xe7]
3405           vpackuswb %xmm23, %xmm20, %xmm20
3406
3407 // CHECK: vpackuswb %xmm23, %xmm20, %xmm20 {%k2}
3408 // CHECK:  encoding: [0x62,0xa1,0xdd,0x02,0x67,0xe7]
3409           vpackuswb %xmm23, %xmm20, %xmm20 {%k2}
3410
3411 // CHECK: vpackuswb %xmm23, %xmm20, %xmm20 {%k2} {z}
3412 // CHECK:  encoding: [0x62,0xa1,0xdd,0x82,0x67,0xe7]
3413           vpackuswb %xmm23, %xmm20, %xmm20 {%k2} {z}
3414
3415 // CHECK: vpackuswb (%rcx), %xmm20, %xmm20
3416 // CHECK:  encoding: [0x62,0xe1,0xdd,0x00,0x67,0x21]
3417           vpackuswb (%rcx), %xmm20, %xmm20
3418
3419 // CHECK: vpackuswb 4660(%rax,%r14,8), %xmm20, %xmm20
3420 // CHECK:  encoding: [0x62,0xa1,0xdd,0x00,0x67,0xa4,0xf0,0x34,0x12,0x00,0x00]
3421           vpackuswb 4660(%rax,%r14,8), %xmm20, %xmm20
3422
3423 // CHECK: vpackuswb 2032(%rdx), %xmm20, %xmm20
3424 // CHECK:  encoding: [0x62,0xe1,0xdd,0x00,0x67,0x62,0x7f]
3425           vpackuswb 2032(%rdx), %xmm20, %xmm20
3426
3427 // CHECK: vpackuswb 2048(%rdx), %xmm20, %xmm20
3428 // CHECK:  encoding: [0x62,0xe1,0xdd,0x00,0x67,0xa2,0x00,0x08,0x00,0x00]
3429           vpackuswb 2048(%rdx), %xmm20, %xmm20
3430
3431 // CHECK: vpackuswb -2048(%rdx), %xmm20, %xmm20
3432 // CHECK:  encoding: [0x62,0xe1,0xdd,0x00,0x67,0x62,0x80]
3433           vpackuswb -2048(%rdx), %xmm20, %xmm20
3434
3435 // CHECK: vpackuswb -2064(%rdx), %xmm20, %xmm20
3436 // CHECK:  encoding: [0x62,0xe1,0xdd,0x00,0x67,0xa2,0xf0,0xf7,0xff,0xff]
3437           vpackuswb -2064(%rdx), %xmm20, %xmm20
3438
3439 // CHECK: vpackuswb %ymm27, %ymm19, %ymm20
3440 // CHECK:  encoding: [0x62,0x81,0xe5,0x20,0x67,0xe3]
3441           vpackuswb %ymm27, %ymm19, %ymm20
3442
3443 // CHECK: vpackuswb %ymm27, %ymm19, %ymm20 {%k5}
3444 // CHECK:  encoding: [0x62,0x81,0xe5,0x25,0x67,0xe3]
3445           vpackuswb %ymm27, %ymm19, %ymm20 {%k5}
3446
3447 // CHECK: vpackuswb %ymm27, %ymm19, %ymm20 {%k5} {z}
3448 // CHECK:  encoding: [0x62,0x81,0xe5,0xa5,0x67,0xe3]
3449           vpackuswb %ymm27, %ymm19, %ymm20 {%k5} {z}
3450
3451 // CHECK: vpackuswb (%rcx), %ymm19, %ymm20
3452 // CHECK:  encoding: [0x62,0xe1,0xe5,0x20,0x67,0x21]
3453           vpackuswb (%rcx), %ymm19, %ymm20
3454
3455 // CHECK: vpackuswb 4660(%rax,%r14,8), %ymm19, %ymm20
3456 // CHECK:  encoding: [0x62,0xa1,0xe5,0x20,0x67,0xa4,0xf0,0x34,0x12,0x00,0x00]
3457           vpackuswb 4660(%rax,%r14,8), %ymm19, %ymm20
3458
3459 // CHECK: vpackuswb 4064(%rdx), %ymm19, %ymm20
3460 // CHECK:  encoding: [0x62,0xe1,0xe5,0x20,0x67,0x62,0x7f]
3461           vpackuswb 4064(%rdx), %ymm19, %ymm20
3462
3463 // CHECK: vpackuswb 4096(%rdx), %ymm19, %ymm20
3464 // CHECK:  encoding: [0x62,0xe1,0xe5,0x20,0x67,0xa2,0x00,0x10,0x00,0x00]
3465           vpackuswb 4096(%rdx), %ymm19, %ymm20
3466
3467 // CHECK: vpackuswb -4096(%rdx), %ymm19, %ymm20
3468 // CHECK:  encoding: [0x62,0xe1,0xe5,0x20,0x67,0x62,0x80]
3469           vpackuswb -4096(%rdx), %ymm19, %ymm20
3470
3471 // CHECK: vpackuswb -4128(%rdx), %ymm19, %ymm20
3472 // CHECK:  encoding: [0x62,0xe1,0xe5,0x20,0x67,0xa2,0xe0,0xef,0xff,0xff]
3473           vpackuswb -4128(%rdx), %ymm19, %ymm20
3474
3475 // CHECK: vpaddsb %xmm27, %xmm19, %xmm19
3476 // CHECK:  encoding: [0x62,0x81,0x65,0x00,0xec,0xdb]
3477           vpaddsb %xmm27, %xmm19, %xmm19
3478
3479 // CHECK: vpaddsb %xmm27, %xmm19, %xmm19 {%k2}
3480 // CHECK:  encoding: [0x62,0x81,0x65,0x02,0xec,0xdb]
3481           vpaddsb %xmm27, %xmm19, %xmm19 {%k2}
3482
3483 // CHECK: vpaddsb %xmm27, %xmm19, %xmm19 {%k2} {z}
3484 // CHECK:  encoding: [0x62,0x81,0x65,0x82,0xec,0xdb]
3485           vpaddsb %xmm27, %xmm19, %xmm19 {%k2} {z}
3486
3487 // CHECK: vpaddsb (%rcx), %xmm19, %xmm19
3488 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xec,0x19]
3489           vpaddsb (%rcx), %xmm19, %xmm19
3490
3491 // CHECK: vpaddsb 291(%rax,%r14,8), %xmm19, %xmm19
3492 // CHECK:  encoding: [0x62,0xa1,0x65,0x00,0xec,0x9c,0xf0,0x23,0x01,0x00,0x00]
3493           vpaddsb 291(%rax,%r14,8), %xmm19, %xmm19
3494
3495 // CHECK: vpaddsb 2032(%rdx), %xmm19, %xmm19
3496 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xec,0x5a,0x7f]
3497           vpaddsb 2032(%rdx), %xmm19, %xmm19
3498
3499 // CHECK: vpaddsb 2048(%rdx), %xmm19, %xmm19
3500 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xec,0x9a,0x00,0x08,0x00,0x00]
3501           vpaddsb 2048(%rdx), %xmm19, %xmm19
3502
3503 // CHECK: vpaddsb -2048(%rdx), %xmm19, %xmm19
3504 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xec,0x5a,0x80]
3505           vpaddsb -2048(%rdx), %xmm19, %xmm19
3506
3507 // CHECK: vpaddsb -2064(%rdx), %xmm19, %xmm19
3508 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xec,0x9a,0xf0,0xf7,0xff,0xff]
3509           vpaddsb -2064(%rdx), %xmm19, %xmm19
3510
3511 // CHECK: vpaddsb %ymm27, %ymm21, %ymm19
3512 // CHECK:  encoding: [0x62,0x81,0x55,0x20,0xec,0xdb]
3513           vpaddsb %ymm27, %ymm21, %ymm19
3514
3515 // CHECK: vpaddsb %ymm27, %ymm21, %ymm19 {%k4}
3516 // CHECK:  encoding: [0x62,0x81,0x55,0x24,0xec,0xdb]
3517           vpaddsb %ymm27, %ymm21, %ymm19 {%k4}
3518
3519 // CHECK: vpaddsb %ymm27, %ymm21, %ymm19 {%k4} {z}
3520 // CHECK:  encoding: [0x62,0x81,0x55,0xa4,0xec,0xdb]
3521           vpaddsb %ymm27, %ymm21, %ymm19 {%k4} {z}
3522
3523 // CHECK: vpaddsb (%rcx), %ymm21, %ymm19
3524 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xec,0x19]
3525           vpaddsb (%rcx), %ymm21, %ymm19
3526
3527 // CHECK: vpaddsb 291(%rax,%r14,8), %ymm21, %ymm19
3528 // CHECK:  encoding: [0x62,0xa1,0x55,0x20,0xec,0x9c,0xf0,0x23,0x01,0x00,0x00]
3529           vpaddsb 291(%rax,%r14,8), %ymm21, %ymm19
3530
3531 // CHECK: vpaddsb 4064(%rdx), %ymm21, %ymm19
3532 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xec,0x5a,0x7f]
3533           vpaddsb 4064(%rdx), %ymm21, %ymm19
3534
3535 // CHECK: vpaddsb 4096(%rdx), %ymm21, %ymm19
3536 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xec,0x9a,0x00,0x10,0x00,0x00]
3537           vpaddsb 4096(%rdx), %ymm21, %ymm19
3538
3539 // CHECK: vpaddsb -4096(%rdx), %ymm21, %ymm19
3540 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xec,0x5a,0x80]
3541           vpaddsb -4096(%rdx), %ymm21, %ymm19
3542
3543 // CHECK: vpaddsb -4128(%rdx), %ymm21, %ymm19
3544 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xec,0x9a,0xe0,0xef,0xff,0xff]
3545           vpaddsb -4128(%rdx), %ymm21, %ymm19
3546
3547 // CHECK: vpaddsw %xmm21, %xmm27, %xmm29
3548 // CHECK:  encoding: [0x62,0x21,0x25,0x00,0xed,0xed]
3549           vpaddsw %xmm21, %xmm27, %xmm29
3550
3551 // CHECK: vpaddsw %xmm21, %xmm27, %xmm29 {%k1}
3552 // CHECK:  encoding: [0x62,0x21,0x25,0x01,0xed,0xed]
3553           vpaddsw %xmm21, %xmm27, %xmm29 {%k1}
3554
3555 // CHECK: vpaddsw %xmm21, %xmm27, %xmm29 {%k1} {z}
3556 // CHECK:  encoding: [0x62,0x21,0x25,0x81,0xed,0xed]
3557           vpaddsw %xmm21, %xmm27, %xmm29 {%k1} {z}
3558
3559 // CHECK: vpaddsw (%rcx), %xmm27, %xmm29
3560 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xed,0x29]
3561           vpaddsw (%rcx), %xmm27, %xmm29
3562
3563 // CHECK: vpaddsw 291(%rax,%r14,8), %xmm27, %xmm29
3564 // CHECK:  encoding: [0x62,0x21,0x25,0x00,0xed,0xac,0xf0,0x23,0x01,0x00,0x00]
3565           vpaddsw 291(%rax,%r14,8), %xmm27, %xmm29
3566
3567 // CHECK: vpaddsw 2032(%rdx), %xmm27, %xmm29
3568 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xed,0x6a,0x7f]
3569           vpaddsw 2032(%rdx), %xmm27, %xmm29
3570
3571 // CHECK: vpaddsw 2048(%rdx), %xmm27, %xmm29
3572 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xed,0xaa,0x00,0x08,0x00,0x00]
3573           vpaddsw 2048(%rdx), %xmm27, %xmm29
3574
3575 // CHECK: vpaddsw -2048(%rdx), %xmm27, %xmm29
3576 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xed,0x6a,0x80]
3577           vpaddsw -2048(%rdx), %xmm27, %xmm29
3578
3579 // CHECK: vpaddsw -2064(%rdx), %xmm27, %xmm29
3580 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xed,0xaa,0xf0,0xf7,0xff,0xff]
3581           vpaddsw -2064(%rdx), %xmm27, %xmm29
3582
3583 // CHECK: vpaddsw %ymm26, %ymm17, %ymm22
3584 // CHECK:  encoding: [0x62,0x81,0x75,0x20,0xed,0xf2]
3585           vpaddsw %ymm26, %ymm17, %ymm22
3586
3587 // CHECK: vpaddsw %ymm26, %ymm17, %ymm22 {%k3}
3588 // CHECK:  encoding: [0x62,0x81,0x75,0x23,0xed,0xf2]
3589           vpaddsw %ymm26, %ymm17, %ymm22 {%k3}
3590
3591 // CHECK: vpaddsw %ymm26, %ymm17, %ymm22 {%k3} {z}
3592 // CHECK:  encoding: [0x62,0x81,0x75,0xa3,0xed,0xf2]
3593           vpaddsw %ymm26, %ymm17, %ymm22 {%k3} {z}
3594
3595 // CHECK: vpaddsw (%rcx), %ymm17, %ymm22
3596 // CHECK:  encoding: [0x62,0xe1,0x75,0x20,0xed,0x31]
3597           vpaddsw (%rcx), %ymm17, %ymm22
3598
3599 // CHECK: vpaddsw 291(%rax,%r14,8), %ymm17, %ymm22
3600 // CHECK:  encoding: [0x62,0xa1,0x75,0x20,0xed,0xb4,0xf0,0x23,0x01,0x00,0x00]
3601           vpaddsw 291(%rax,%r14,8), %ymm17, %ymm22
3602
3603 // CHECK: vpaddsw 4064(%rdx), %ymm17, %ymm22
3604 // CHECK:  encoding: [0x62,0xe1,0x75,0x20,0xed,0x72,0x7f]
3605           vpaddsw 4064(%rdx), %ymm17, %ymm22
3606
3607 // CHECK: vpaddsw 4096(%rdx), %ymm17, %ymm22
3608 // CHECK:  encoding: [0x62,0xe1,0x75,0x20,0xed,0xb2,0x00,0x10,0x00,0x00]
3609           vpaddsw 4096(%rdx), %ymm17, %ymm22
3610
3611 // CHECK: vpaddsw -4096(%rdx), %ymm17, %ymm22
3612 // CHECK:  encoding: [0x62,0xe1,0x75,0x20,0xed,0x72,0x80]
3613           vpaddsw -4096(%rdx), %ymm17, %ymm22
3614
3615 // CHECK: vpaddsw -4128(%rdx), %ymm17, %ymm22
3616 // CHECK:  encoding: [0x62,0xe1,0x75,0x20,0xed,0xb2,0xe0,0xef,0xff,0xff]
3617           vpaddsw -4128(%rdx), %ymm17, %ymm22
3618
3619 // CHECK: vpaddusb %xmm26, %xmm28, %xmm21
3620 // CHECK:  encoding: [0x62,0x81,0x1d,0x00,0xdc,0xea]
3621           vpaddusb %xmm26, %xmm28, %xmm21
3622
3623 // CHECK: vpaddusb %xmm26, %xmm28, %xmm21 {%k5}
3624 // CHECK:  encoding: [0x62,0x81,0x1d,0x05,0xdc,0xea]
3625           vpaddusb %xmm26, %xmm28, %xmm21 {%k5}
3626
3627 // CHECK: vpaddusb %xmm26, %xmm28, %xmm21 {%k5} {z}
3628 // CHECK:  encoding: [0x62,0x81,0x1d,0x85,0xdc,0xea]
3629           vpaddusb %xmm26, %xmm28, %xmm21 {%k5} {z}
3630
3631 // CHECK: vpaddusb (%rcx), %xmm28, %xmm21
3632 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xdc,0x29]
3633           vpaddusb (%rcx), %xmm28, %xmm21
3634
3635 // CHECK: vpaddusb 291(%rax,%r14,8), %xmm28, %xmm21
3636 // CHECK:  encoding: [0x62,0xa1,0x1d,0x00,0xdc,0xac,0xf0,0x23,0x01,0x00,0x00]
3637           vpaddusb 291(%rax,%r14,8), %xmm28, %xmm21
3638
3639 // CHECK: vpaddusb 2032(%rdx), %xmm28, %xmm21
3640 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xdc,0x6a,0x7f]
3641           vpaddusb 2032(%rdx), %xmm28, %xmm21
3642
3643 // CHECK: vpaddusb 2048(%rdx), %xmm28, %xmm21
3644 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xdc,0xaa,0x00,0x08,0x00,0x00]
3645           vpaddusb 2048(%rdx), %xmm28, %xmm21
3646
3647 // CHECK: vpaddusb -2048(%rdx), %xmm28, %xmm21
3648 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xdc,0x6a,0x80]
3649           vpaddusb -2048(%rdx), %xmm28, %xmm21
3650
3651 // CHECK: vpaddusb -2064(%rdx), %xmm28, %xmm21
3652 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xdc,0xaa,0xf0,0xf7,0xff,0xff]
3653           vpaddusb -2064(%rdx), %xmm28, %xmm21
3654
3655 // CHECK: vpaddusb %ymm17, %ymm23, %ymm20
3656 // CHECK:  encoding: [0x62,0xa1,0x45,0x20,0xdc,0xe1]
3657           vpaddusb %ymm17, %ymm23, %ymm20
3658
3659 // CHECK: vpaddusb %ymm17, %ymm23, %ymm20 {%k1}
3660 // CHECK:  encoding: [0x62,0xa1,0x45,0x21,0xdc,0xe1]
3661           vpaddusb %ymm17, %ymm23, %ymm20 {%k1}
3662
3663 // CHECK: vpaddusb %ymm17, %ymm23, %ymm20 {%k1} {z}
3664 // CHECK:  encoding: [0x62,0xa1,0x45,0xa1,0xdc,0xe1]
3665           vpaddusb %ymm17, %ymm23, %ymm20 {%k1} {z}
3666
3667 // CHECK: vpaddusb (%rcx), %ymm23, %ymm20
3668 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xdc,0x21]
3669           vpaddusb (%rcx), %ymm23, %ymm20
3670
3671 // CHECK: vpaddusb 291(%rax,%r14,8), %ymm23, %ymm20
3672 // CHECK:  encoding: [0x62,0xa1,0x45,0x20,0xdc,0xa4,0xf0,0x23,0x01,0x00,0x00]
3673           vpaddusb 291(%rax,%r14,8), %ymm23, %ymm20
3674
3675 // CHECK: vpaddusb 4064(%rdx), %ymm23, %ymm20
3676 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xdc,0x62,0x7f]
3677           vpaddusb 4064(%rdx), %ymm23, %ymm20
3678
3679 // CHECK: vpaddusb 4096(%rdx), %ymm23, %ymm20
3680 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xdc,0xa2,0x00,0x10,0x00,0x00]
3681           vpaddusb 4096(%rdx), %ymm23, %ymm20
3682
3683 // CHECK: vpaddusb -4096(%rdx), %ymm23, %ymm20
3684 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xdc,0x62,0x80]
3685           vpaddusb -4096(%rdx), %ymm23, %ymm20
3686
3687 // CHECK: vpaddusb -4128(%rdx), %ymm23, %ymm20
3688 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xdc,0xa2,0xe0,0xef,0xff,0xff]
3689           vpaddusb -4128(%rdx), %ymm23, %ymm20
3690
3691 // CHECK: vpaddusw %xmm24, %xmm27, %xmm23
3692 // CHECK:  encoding: [0x62,0x81,0x25,0x00,0xdd,0xf8]
3693           vpaddusw %xmm24, %xmm27, %xmm23
3694
3695 // CHECK: vpaddusw %xmm24, %xmm27, %xmm23 {%k2}
3696 // CHECK:  encoding: [0x62,0x81,0x25,0x02,0xdd,0xf8]
3697           vpaddusw %xmm24, %xmm27, %xmm23 {%k2}
3698
3699 // CHECK: vpaddusw %xmm24, %xmm27, %xmm23 {%k2} {z}
3700 // CHECK:  encoding: [0x62,0x81,0x25,0x82,0xdd,0xf8]
3701           vpaddusw %xmm24, %xmm27, %xmm23 {%k2} {z}
3702
3703 // CHECK: vpaddusw (%rcx), %xmm27, %xmm23
3704 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xdd,0x39]
3705           vpaddusw (%rcx), %xmm27, %xmm23
3706
3707 // CHECK: vpaddusw 291(%rax,%r14,8), %xmm27, %xmm23
3708 // CHECK:  encoding: [0x62,0xa1,0x25,0x00,0xdd,0xbc,0xf0,0x23,0x01,0x00,0x00]
3709           vpaddusw 291(%rax,%r14,8), %xmm27, %xmm23
3710
3711 // CHECK: vpaddusw 2032(%rdx), %xmm27, %xmm23
3712 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xdd,0x7a,0x7f]
3713           vpaddusw 2032(%rdx), %xmm27, %xmm23
3714
3715 // CHECK: vpaddusw 2048(%rdx), %xmm27, %xmm23
3716 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xdd,0xba,0x00,0x08,0x00,0x00]
3717           vpaddusw 2048(%rdx), %xmm27, %xmm23
3718
3719 // CHECK: vpaddusw -2048(%rdx), %xmm27, %xmm23
3720 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xdd,0x7a,0x80]
3721           vpaddusw -2048(%rdx), %xmm27, %xmm23
3722
3723 // CHECK: vpaddusw -2064(%rdx), %xmm27, %xmm23
3724 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xdd,0xba,0xf0,0xf7,0xff,0xff]
3725           vpaddusw -2064(%rdx), %xmm27, %xmm23
3726
3727 // CHECK: vpaddusw %ymm17, %ymm22, %ymm23
3728 // CHECK:  encoding: [0x62,0xa1,0x4d,0x20,0xdd,0xf9]
3729           vpaddusw %ymm17, %ymm22, %ymm23
3730
3731 // CHECK: vpaddusw %ymm17, %ymm22, %ymm23 {%k1}
3732 // CHECK:  encoding: [0x62,0xa1,0x4d,0x21,0xdd,0xf9]
3733           vpaddusw %ymm17, %ymm22, %ymm23 {%k1}
3734
3735 // CHECK: vpaddusw %ymm17, %ymm22, %ymm23 {%k1} {z}
3736 // CHECK:  encoding: [0x62,0xa1,0x4d,0xa1,0xdd,0xf9]
3737           vpaddusw %ymm17, %ymm22, %ymm23 {%k1} {z}
3738
3739 // CHECK: vpaddusw (%rcx), %ymm22, %ymm23
3740 // CHECK:  encoding: [0x62,0xe1,0x4d,0x20,0xdd,0x39]
3741           vpaddusw (%rcx), %ymm22, %ymm23
3742
3743 // CHECK: vpaddusw 291(%rax,%r14,8), %ymm22, %ymm23
3744 // CHECK:  encoding: [0x62,0xa1,0x4d,0x20,0xdd,0xbc,0xf0,0x23,0x01,0x00,0x00]
3745           vpaddusw 291(%rax,%r14,8), %ymm22, %ymm23
3746
3747 // CHECK: vpaddusw 4064(%rdx), %ymm22, %ymm23
3748 // CHECK:  encoding: [0x62,0xe1,0x4d,0x20,0xdd,0x7a,0x7f]
3749           vpaddusw 4064(%rdx), %ymm22, %ymm23
3750
3751 // CHECK: vpaddusw 4096(%rdx), %ymm22, %ymm23
3752 // CHECK:  encoding: [0x62,0xe1,0x4d,0x20,0xdd,0xba,0x00,0x10,0x00,0x00]
3753           vpaddusw 4096(%rdx), %ymm22, %ymm23
3754
3755 // CHECK: vpaddusw -4096(%rdx), %ymm22, %ymm23
3756 // CHECK:  encoding: [0x62,0xe1,0x4d,0x20,0xdd,0x7a,0x80]
3757           vpaddusw -4096(%rdx), %ymm22, %ymm23
3758
3759 // CHECK: vpaddusw -4128(%rdx), %ymm22, %ymm23
3760 // CHECK:  encoding: [0x62,0xe1,0x4d,0x20,0xdd,0xba,0xe0,0xef,0xff,0xff]
3761           vpaddusw -4128(%rdx), %ymm22, %ymm23
3762
3763 // CHECK: vpsubsb %xmm27, %xmm17, %xmm17
3764 // CHECK:  encoding: [0x62,0x81,0x75,0x00,0xe8,0xcb]
3765           vpsubsb %xmm27, %xmm17, %xmm17
3766
3767 // CHECK: vpsubsb %xmm27, %xmm17, %xmm17 {%k7}
3768 // CHECK:  encoding: [0x62,0x81,0x75,0x07,0xe8,0xcb]
3769           vpsubsb %xmm27, %xmm17, %xmm17 {%k7}
3770
3771 // CHECK: vpsubsb %xmm27, %xmm17, %xmm17 {%k7} {z}
3772 // CHECK:  encoding: [0x62,0x81,0x75,0x87,0xe8,0xcb]
3773           vpsubsb %xmm27, %xmm17, %xmm17 {%k7} {z}
3774
3775 // CHECK: vpsubsb (%rcx), %xmm17, %xmm17
3776 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xe8,0x09]
3777           vpsubsb (%rcx), %xmm17, %xmm17
3778
3779 // CHECK: vpsubsb 291(%rax,%r14,8), %xmm17, %xmm17
3780 // CHECK:  encoding: [0x62,0xa1,0x75,0x00,0xe8,0x8c,0xf0,0x23,0x01,0x00,0x00]
3781           vpsubsb 291(%rax,%r14,8), %xmm17, %xmm17
3782
3783 // CHECK: vpsubsb 2032(%rdx), %xmm17, %xmm17
3784 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xe8,0x4a,0x7f]
3785           vpsubsb 2032(%rdx), %xmm17, %xmm17
3786
3787 // CHECK: vpsubsb 2048(%rdx), %xmm17, %xmm17
3788 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xe8,0x8a,0x00,0x08,0x00,0x00]
3789           vpsubsb 2048(%rdx), %xmm17, %xmm17
3790
3791 // CHECK: vpsubsb -2048(%rdx), %xmm17, %xmm17
3792 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xe8,0x4a,0x80]
3793           vpsubsb -2048(%rdx), %xmm17, %xmm17
3794
3795 // CHECK: vpsubsb -2064(%rdx), %xmm17, %xmm17
3796 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xe8,0x8a,0xf0,0xf7,0xff,0xff]
3797           vpsubsb -2064(%rdx), %xmm17, %xmm17
3798
3799 // CHECK: vpsubsb %ymm27, %ymm25, %ymm17
3800 // CHECK:  encoding: [0x62,0x81,0x35,0x20,0xe8,0xcb]
3801           vpsubsb %ymm27, %ymm25, %ymm17
3802
3803 // CHECK: vpsubsb %ymm27, %ymm25, %ymm17 {%k2}
3804 // CHECK:  encoding: [0x62,0x81,0x35,0x22,0xe8,0xcb]
3805           vpsubsb %ymm27, %ymm25, %ymm17 {%k2}
3806
3807 // CHECK: vpsubsb %ymm27, %ymm25, %ymm17 {%k2} {z}
3808 // CHECK:  encoding: [0x62,0x81,0x35,0xa2,0xe8,0xcb]
3809           vpsubsb %ymm27, %ymm25, %ymm17 {%k2} {z}
3810
3811 // CHECK: vpsubsb (%rcx), %ymm25, %ymm17
3812 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe8,0x09]
3813           vpsubsb (%rcx), %ymm25, %ymm17
3814
3815 // CHECK: vpsubsb 291(%rax,%r14,8), %ymm25, %ymm17
3816 // CHECK:  encoding: [0x62,0xa1,0x35,0x20,0xe8,0x8c,0xf0,0x23,0x01,0x00,0x00]
3817           vpsubsb 291(%rax,%r14,8), %ymm25, %ymm17
3818
3819 // CHECK: vpsubsb 4064(%rdx), %ymm25, %ymm17
3820 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe8,0x4a,0x7f]
3821           vpsubsb 4064(%rdx), %ymm25, %ymm17
3822
3823 // CHECK: vpsubsb 4096(%rdx), %ymm25, %ymm17
3824 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe8,0x8a,0x00,0x10,0x00,0x00]
3825           vpsubsb 4096(%rdx), %ymm25, %ymm17
3826
3827 // CHECK: vpsubsb -4096(%rdx), %ymm25, %ymm17
3828 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe8,0x4a,0x80]
3829           vpsubsb -4096(%rdx), %ymm25, %ymm17
3830
3831 // CHECK: vpsubsb -4128(%rdx), %ymm25, %ymm17
3832 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe8,0x8a,0xe0,0xef,0xff,0xff]
3833           vpsubsb -4128(%rdx), %ymm25, %ymm17
3834
3835 // CHECK: vpsubsw %xmm23, %xmm26, %xmm30
3836 // CHECK:  encoding: [0x62,0x21,0x2d,0x00,0xe9,0xf7]
3837           vpsubsw %xmm23, %xmm26, %xmm30
3838
3839 // CHECK: vpsubsw %xmm23, %xmm26, %xmm30 {%k7}
3840 // CHECK:  encoding: [0x62,0x21,0x2d,0x07,0xe9,0xf7]
3841           vpsubsw %xmm23, %xmm26, %xmm30 {%k7}
3842
3843 // CHECK: vpsubsw %xmm23, %xmm26, %xmm30 {%k7} {z}
3844 // CHECK:  encoding: [0x62,0x21,0x2d,0x87,0xe9,0xf7]
3845           vpsubsw %xmm23, %xmm26, %xmm30 {%k7} {z}
3846
3847 // CHECK: vpsubsw (%rcx), %xmm26, %xmm30
3848 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xe9,0x31]
3849           vpsubsw (%rcx), %xmm26, %xmm30
3850
3851 // CHECK: vpsubsw 291(%rax,%r14,8), %xmm26, %xmm30
3852 // CHECK:  encoding: [0x62,0x21,0x2d,0x00,0xe9,0xb4,0xf0,0x23,0x01,0x00,0x00]
3853           vpsubsw 291(%rax,%r14,8), %xmm26, %xmm30
3854
3855 // CHECK: vpsubsw 2032(%rdx), %xmm26, %xmm30
3856 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xe9,0x72,0x7f]
3857           vpsubsw 2032(%rdx), %xmm26, %xmm30
3858
3859 // CHECK: vpsubsw 2048(%rdx), %xmm26, %xmm30
3860 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xe9,0xb2,0x00,0x08,0x00,0x00]
3861           vpsubsw 2048(%rdx), %xmm26, %xmm30
3862
3863 // CHECK: vpsubsw -2048(%rdx), %xmm26, %xmm30
3864 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xe9,0x72,0x80]
3865           vpsubsw -2048(%rdx), %xmm26, %xmm30
3866
3867 // CHECK: vpsubsw -2064(%rdx), %xmm26, %xmm30
3868 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xe9,0xb2,0xf0,0xf7,0xff,0xff]
3869           vpsubsw -2064(%rdx), %xmm26, %xmm30
3870
3871 // CHECK: vpsubsw %ymm17, %ymm29, %ymm19
3872 // CHECK:  encoding: [0x62,0xa1,0x15,0x20,0xe9,0xd9]
3873           vpsubsw %ymm17, %ymm29, %ymm19
3874
3875 // CHECK: vpsubsw %ymm17, %ymm29, %ymm19 {%k2}
3876 // CHECK:  encoding: [0x62,0xa1,0x15,0x22,0xe9,0xd9]
3877           vpsubsw %ymm17, %ymm29, %ymm19 {%k2}
3878
3879 // CHECK: vpsubsw %ymm17, %ymm29, %ymm19 {%k2} {z}
3880 // CHECK:  encoding: [0x62,0xa1,0x15,0xa2,0xe9,0xd9]
3881           vpsubsw %ymm17, %ymm29, %ymm19 {%k2} {z}
3882
3883 // CHECK: vpsubsw (%rcx), %ymm29, %ymm19
3884 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x19]
3885           vpsubsw (%rcx), %ymm29, %ymm19
3886
3887 // CHECK: vpsubsw 291(%rax,%r14,8), %ymm29, %ymm19
3888 // CHECK:  encoding: [0x62,0xa1,0x15,0x20,0xe9,0x9c,0xf0,0x23,0x01,0x00,0x00]
3889           vpsubsw 291(%rax,%r14,8), %ymm29, %ymm19
3890
3891 // CHECK: vpsubsw 4064(%rdx), %ymm29, %ymm19
3892 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x5a,0x7f]
3893           vpsubsw 4064(%rdx), %ymm29, %ymm19
3894
3895 // CHECK: vpsubsw 4096(%rdx), %ymm29, %ymm19
3896 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x9a,0x00,0x10,0x00,0x00]
3897           vpsubsw 4096(%rdx), %ymm29, %ymm19
3898
3899 // CHECK: vpsubsw -4096(%rdx), %ymm29, %ymm19
3900 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x5a,0x80]
3901           vpsubsw -4096(%rdx), %ymm29, %ymm19
3902
3903 // CHECK: vpsubsw -4128(%rdx), %ymm29, %ymm19
3904 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x9a,0xe0,0xef,0xff,0xff]
3905           vpsubsw -4128(%rdx), %ymm29, %ymm19
3906
3907 // CHECK: vpsubusb %xmm23, %xmm27, %xmm17
3908 // CHECK:  encoding: [0x62,0xa1,0x25,0x00,0xd8,0xcf]
3909           vpsubusb %xmm23, %xmm27, %xmm17
3910
3911 // CHECK: vpsubusb %xmm23, %xmm27, %xmm17 {%k6}
3912 // CHECK:  encoding: [0x62,0xa1,0x25,0x06,0xd8,0xcf]
3913           vpsubusb %xmm23, %xmm27, %xmm17 {%k6}
3914
3915 // CHECK: vpsubusb %xmm23, %xmm27, %xmm17 {%k6} {z}
3916 // CHECK:  encoding: [0x62,0xa1,0x25,0x86,0xd8,0xcf]
3917           vpsubusb %xmm23, %xmm27, %xmm17 {%k6} {z}
3918
3919 // CHECK: vpsubusb (%rcx), %xmm27, %xmm17
3920 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x09]
3921           vpsubusb (%rcx), %xmm27, %xmm17
3922
3923 // CHECK: vpsubusb 291(%rax,%r14,8), %xmm27, %xmm17
3924 // CHECK:  encoding: [0x62,0xa1,0x25,0x00,0xd8,0x8c,0xf0,0x23,0x01,0x00,0x00]
3925           vpsubusb 291(%rax,%r14,8), %xmm27, %xmm17
3926
3927 // CHECK: vpsubusb 2032(%rdx), %xmm27, %xmm17
3928 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x4a,0x7f]
3929           vpsubusb 2032(%rdx), %xmm27, %xmm17
3930
3931 // CHECK: vpsubusb 2048(%rdx), %xmm27, %xmm17
3932 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x8a,0x00,0x08,0x00,0x00]
3933           vpsubusb 2048(%rdx), %xmm27, %xmm17
3934
3935 // CHECK: vpsubusb -2048(%rdx), %xmm27, %xmm17
3936 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x4a,0x80]
3937           vpsubusb -2048(%rdx), %xmm27, %xmm17
3938
3939 // CHECK: vpsubusb -2064(%rdx), %xmm27, %xmm17
3940 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x8a,0xf0,0xf7,0xff,0xff]
3941           vpsubusb -2064(%rdx), %xmm27, %xmm17
3942
3943 // CHECK: vpsubusb %ymm18, %ymm21, %ymm17
3944 // CHECK:  encoding: [0x62,0xa1,0x55,0x20,0xd8,0xca]
3945           vpsubusb %ymm18, %ymm21, %ymm17
3946
3947 // CHECK: vpsubusb %ymm18, %ymm21, %ymm17 {%k5}
3948 // CHECK:  encoding: [0x62,0xa1,0x55,0x25,0xd8,0xca]
3949           vpsubusb %ymm18, %ymm21, %ymm17 {%k5}
3950
3951 // CHECK: vpsubusb %ymm18, %ymm21, %ymm17 {%k5} {z}
3952 // CHECK:  encoding: [0x62,0xa1,0x55,0xa5,0xd8,0xca]
3953           vpsubusb %ymm18, %ymm21, %ymm17 {%k5} {z}
3954
3955 // CHECK: vpsubusb (%rcx), %ymm21, %ymm17
3956 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xd8,0x09]
3957           vpsubusb (%rcx), %ymm21, %ymm17
3958
3959 // CHECK: vpsubusb 291(%rax,%r14,8), %ymm21, %ymm17
3960 // CHECK:  encoding: [0x62,0xa1,0x55,0x20,0xd8,0x8c,0xf0,0x23,0x01,0x00,0x00]
3961           vpsubusb 291(%rax,%r14,8), %ymm21, %ymm17
3962
3963 // CHECK: vpsubusb 4064(%rdx), %ymm21, %ymm17
3964 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xd8,0x4a,0x7f]
3965           vpsubusb 4064(%rdx), %ymm21, %ymm17
3966
3967 // CHECK: vpsubusb 4096(%rdx), %ymm21, %ymm17
3968 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xd8,0x8a,0x00,0x10,0x00,0x00]
3969           vpsubusb 4096(%rdx), %ymm21, %ymm17
3970
3971 // CHECK: vpsubusb -4096(%rdx), %ymm21, %ymm17
3972 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xd8,0x4a,0x80]
3973           vpsubusb -4096(%rdx), %ymm21, %ymm17
3974
3975 // CHECK: vpsubusb -4128(%rdx), %ymm21, %ymm17
3976 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xd8,0x8a,0xe0,0xef,0xff,0xff]
3977           vpsubusb -4128(%rdx), %ymm21, %ymm17
3978
3979 // CHECK: vpsubusw %xmm19, %xmm21, %xmm25
3980 // CHECK:  encoding: [0x62,0x21,0x55,0x00,0xd9,0xcb]
3981           vpsubusw %xmm19, %xmm21, %xmm25
3982
3983 // CHECK: vpsubusw %xmm19, %xmm21, %xmm25 {%k6}
3984 // CHECK:  encoding: [0x62,0x21,0x55,0x06,0xd9,0xcb]
3985           vpsubusw %xmm19, %xmm21, %xmm25 {%k6}
3986
3987 // CHECK: vpsubusw %xmm19, %xmm21, %xmm25 {%k6} {z}
3988 // CHECK:  encoding: [0x62,0x21,0x55,0x86,0xd9,0xcb]
3989           vpsubusw %xmm19, %xmm21, %xmm25 {%k6} {z}
3990
3991 // CHECK: vpsubusw (%rcx), %xmm21, %xmm25
3992 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xd9,0x09]
3993           vpsubusw (%rcx), %xmm21, %xmm25
3994
3995 // CHECK: vpsubusw 291(%rax,%r14,8), %xmm21, %xmm25
3996 // CHECK:  encoding: [0x62,0x21,0x55,0x00,0xd9,0x8c,0xf0,0x23,0x01,0x00,0x00]
3997           vpsubusw 291(%rax,%r14,8), %xmm21, %xmm25
3998
3999 // CHECK: vpsubusw 2032(%rdx), %xmm21, %xmm25
4000 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xd9,0x4a,0x7f]
4001           vpsubusw 2032(%rdx), %xmm21, %xmm25
4002
4003 // CHECK: vpsubusw 2048(%rdx), %xmm21, %xmm25
4004 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xd9,0x8a,0x00,0x08,0x00,0x00]
4005           vpsubusw 2048(%rdx), %xmm21, %xmm25
4006
4007 // CHECK: vpsubusw -2048(%rdx), %xmm21, %xmm25
4008 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xd9,0x4a,0x80]
4009           vpsubusw -2048(%rdx), %xmm21, %xmm25
4010
4011 // CHECK: vpsubusw -2064(%rdx), %xmm21, %xmm25
4012 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xd9,0x8a,0xf0,0xf7,0xff,0xff]
4013           vpsubusw -2064(%rdx), %xmm21, %xmm25
4014
4015 // CHECK: vpsubusw %ymm17, %ymm17, %ymm26
4016 // CHECK:  encoding: [0x62,0x21,0x75,0x20,0xd9,0xd1]
4017           vpsubusw %ymm17, %ymm17, %ymm26
4018
4019 // CHECK: vpsubusw %ymm17, %ymm17, %ymm26 {%k4}
4020 // CHECK:  encoding: [0x62,0x21,0x75,0x24,0xd9,0xd1]
4021           vpsubusw %ymm17, %ymm17, %ymm26 {%k4}
4022
4023 // CHECK: vpsubusw %ymm17, %ymm17, %ymm26 {%k4} {z}
4024 // CHECK:  encoding: [0x62,0x21,0x75,0xa4,0xd9,0xd1]
4025           vpsubusw %ymm17, %ymm17, %ymm26 {%k4} {z}
4026
4027 // CHECK: vpsubusw (%rcx), %ymm17, %ymm26
4028 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x11]
4029           vpsubusw (%rcx), %ymm17, %ymm26
4030
4031 // CHECK: vpsubusw 291(%rax,%r14,8), %ymm17, %ymm26
4032 // CHECK:  encoding: [0x62,0x21,0x75,0x20,0xd9,0x94,0xf0,0x23,0x01,0x00,0x00]
4033           vpsubusw 291(%rax,%r14,8), %ymm17, %ymm26
4034
4035 // CHECK: vpsubusw 4064(%rdx), %ymm17, %ymm26
4036 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x52,0x7f]
4037           vpsubusw 4064(%rdx), %ymm17, %ymm26
4038
4039 // CHECK: vpsubusw 4096(%rdx), %ymm17, %ymm26
4040 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x92,0x00,0x10,0x00,0x00]
4041           vpsubusw 4096(%rdx), %ymm17, %ymm26
4042
4043 // CHECK: vpsubusw -4096(%rdx), %ymm17, %ymm26
4044 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x52,0x80]
4045           vpsubusw -4096(%rdx), %ymm17, %ymm26
4046
4047 // CHECK: vpsubusw -4128(%rdx), %ymm17, %ymm26
4048 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x92,0xe0,0xef,0xff,0xff]
4049           vpsubusw -4128(%rdx), %ymm17, %ymm26
4050
4051 // CHECK: vpaddsb %xmm23, %xmm24, %xmm20
4052 // CHECK:  encoding: [0x62,0xa1,0x3d,0x00,0xec,0xe7]
4053           vpaddsb %xmm23, %xmm24, %xmm20
4054
4055 // CHECK: vpaddsb %xmm23, %xmm24, %xmm20 {%k1}
4056 // CHECK:  encoding: [0x62,0xa1,0x3d,0x01,0xec,0xe7]
4057           vpaddsb %xmm23, %xmm24, %xmm20 {%k1}
4058
4059 // CHECK: vpaddsb %xmm23, %xmm24, %xmm20 {%k1} {z}
4060 // CHECK:  encoding: [0x62,0xa1,0x3d,0x81,0xec,0xe7]
4061           vpaddsb %xmm23, %xmm24, %xmm20 {%k1} {z}
4062
4063 // CHECK: vpaddsb (%rcx), %xmm24, %xmm20
4064 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xec,0x21]
4065           vpaddsb (%rcx), %xmm24, %xmm20
4066
4067 // CHECK: vpaddsb 4660(%rax,%r14,8), %xmm24, %xmm20
4068 // CHECK:  encoding: [0x62,0xa1,0x3d,0x00,0xec,0xa4,0xf0,0x34,0x12,0x00,0x00]
4069           vpaddsb 4660(%rax,%r14,8), %xmm24, %xmm20
4070
4071 // CHECK: vpaddsb 2032(%rdx), %xmm24, %xmm20
4072 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xec,0x62,0x7f]
4073           vpaddsb 2032(%rdx), %xmm24, %xmm20
4074
4075 // CHECK: vpaddsb 2048(%rdx), %xmm24, %xmm20
4076 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xec,0xa2,0x00,0x08,0x00,0x00]
4077           vpaddsb 2048(%rdx), %xmm24, %xmm20
4078
4079 // CHECK: vpaddsb -2048(%rdx), %xmm24, %xmm20
4080 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xec,0x62,0x80]
4081           vpaddsb -2048(%rdx), %xmm24, %xmm20
4082
4083 // CHECK: vpaddsb -2064(%rdx), %xmm24, %xmm20
4084 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xec,0xa2,0xf0,0xf7,0xff,0xff]
4085           vpaddsb -2064(%rdx), %xmm24, %xmm20
4086
4087 // CHECK: vpaddsb %ymm19, %ymm20, %ymm18
4088 // CHECK:  encoding: [0x62,0xa1,0x5d,0x20,0xec,0xd3]
4089           vpaddsb %ymm19, %ymm20, %ymm18
4090
4091 // CHECK: vpaddsb %ymm19, %ymm20, %ymm18 {%k7}
4092 // CHECK:  encoding: [0x62,0xa1,0x5d,0x27,0xec,0xd3]
4093           vpaddsb %ymm19, %ymm20, %ymm18 {%k7}
4094
4095 // CHECK: vpaddsb %ymm19, %ymm20, %ymm18 {%k7} {z}
4096 // CHECK:  encoding: [0x62,0xa1,0x5d,0xa7,0xec,0xd3]
4097           vpaddsb %ymm19, %ymm20, %ymm18 {%k7} {z}
4098
4099 // CHECK: vpaddsb (%rcx), %ymm20, %ymm18
4100 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xec,0x11]
4101           vpaddsb (%rcx), %ymm20, %ymm18
4102
4103 // CHECK: vpaddsb 4660(%rax,%r14,8), %ymm20, %ymm18
4104 // CHECK:  encoding: [0x62,0xa1,0x5d,0x20,0xec,0x94,0xf0,0x34,0x12,0x00,0x00]
4105           vpaddsb 4660(%rax,%r14,8), %ymm20, %ymm18
4106
4107 // CHECK: vpaddsb 4064(%rdx), %ymm20, %ymm18
4108 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xec,0x52,0x7f]
4109           vpaddsb 4064(%rdx), %ymm20, %ymm18
4110
4111 // CHECK: vpaddsb 4096(%rdx), %ymm20, %ymm18
4112 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xec,0x92,0x00,0x10,0x00,0x00]
4113           vpaddsb 4096(%rdx), %ymm20, %ymm18
4114
4115 // CHECK: vpaddsb -4096(%rdx), %ymm20, %ymm18
4116 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xec,0x52,0x80]
4117           vpaddsb -4096(%rdx), %ymm20, %ymm18
4118
4119 // CHECK: vpaddsb -4128(%rdx), %ymm20, %ymm18
4120 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xec,0x92,0xe0,0xef,0xff,0xff]
4121           vpaddsb -4128(%rdx), %ymm20, %ymm18
4122
4123 // CHECK: vpaddsw %xmm24, %xmm23, %xmm23
4124 // CHECK:  encoding: [0x62,0x81,0x45,0x00,0xed,0xf8]
4125           vpaddsw %xmm24, %xmm23, %xmm23
4126
4127 // CHECK: vpaddsw %xmm24, %xmm23, %xmm23 {%k5}
4128 // CHECK:  encoding: [0x62,0x81,0x45,0x05,0xed,0xf8]
4129           vpaddsw %xmm24, %xmm23, %xmm23 {%k5}
4130
4131 // CHECK: vpaddsw %xmm24, %xmm23, %xmm23 {%k5} {z}
4132 // CHECK:  encoding: [0x62,0x81,0x45,0x85,0xed,0xf8]
4133           vpaddsw %xmm24, %xmm23, %xmm23 {%k5} {z}
4134
4135 // CHECK: vpaddsw (%rcx), %xmm23, %xmm23
4136 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xed,0x39]
4137           vpaddsw (%rcx), %xmm23, %xmm23
4138
4139 // CHECK: vpaddsw 4660(%rax,%r14,8), %xmm23, %xmm23
4140 // CHECK:  encoding: [0x62,0xa1,0x45,0x00,0xed,0xbc,0xf0,0x34,0x12,0x00,0x00]
4141           vpaddsw 4660(%rax,%r14,8), %xmm23, %xmm23
4142
4143 // CHECK: vpaddsw 2032(%rdx), %xmm23, %xmm23
4144 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xed,0x7a,0x7f]
4145           vpaddsw 2032(%rdx), %xmm23, %xmm23
4146
4147 // CHECK: vpaddsw 2048(%rdx), %xmm23, %xmm23
4148 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xed,0xba,0x00,0x08,0x00,0x00]
4149           vpaddsw 2048(%rdx), %xmm23, %xmm23
4150
4151 // CHECK: vpaddsw -2048(%rdx), %xmm23, %xmm23
4152 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xed,0x7a,0x80]
4153           vpaddsw -2048(%rdx), %xmm23, %xmm23
4154
4155 // CHECK: vpaddsw -2064(%rdx), %xmm23, %xmm23
4156 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xed,0xba,0xf0,0xf7,0xff,0xff]
4157           vpaddsw -2064(%rdx), %xmm23, %xmm23
4158
4159 // CHECK: vpaddsw %ymm19, %ymm22, %ymm29
4160 // CHECK:  encoding: [0x62,0x21,0x4d,0x20,0xed,0xeb]
4161           vpaddsw %ymm19, %ymm22, %ymm29
4162
4163 // CHECK: vpaddsw %ymm19, %ymm22, %ymm29 {%k6}
4164 // CHECK:  encoding: [0x62,0x21,0x4d,0x26,0xed,0xeb]
4165           vpaddsw %ymm19, %ymm22, %ymm29 {%k6}
4166
4167 // CHECK: vpaddsw %ymm19, %ymm22, %ymm29 {%k6} {z}
4168 // CHECK:  encoding: [0x62,0x21,0x4d,0xa6,0xed,0xeb]
4169           vpaddsw %ymm19, %ymm22, %ymm29 {%k6} {z}
4170
4171 // CHECK: vpaddsw (%rcx), %ymm22, %ymm29
4172 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0xed,0x29]
4173           vpaddsw (%rcx), %ymm22, %ymm29
4174
4175 // CHECK: vpaddsw 4660(%rax,%r14,8), %ymm22, %ymm29
4176 // CHECK:  encoding: [0x62,0x21,0x4d,0x20,0xed,0xac,0xf0,0x34,0x12,0x00,0x00]
4177           vpaddsw 4660(%rax,%r14,8), %ymm22, %ymm29
4178
4179 // CHECK: vpaddsw 4064(%rdx), %ymm22, %ymm29
4180 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0xed,0x6a,0x7f]
4181           vpaddsw 4064(%rdx), %ymm22, %ymm29
4182
4183 // CHECK: vpaddsw 4096(%rdx), %ymm22, %ymm29
4184 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0xed,0xaa,0x00,0x10,0x00,0x00]
4185           vpaddsw 4096(%rdx), %ymm22, %ymm29
4186
4187 // CHECK: vpaddsw -4096(%rdx), %ymm22, %ymm29
4188 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0xed,0x6a,0x80]
4189           vpaddsw -4096(%rdx), %ymm22, %ymm29
4190
4191 // CHECK: vpaddsw -4128(%rdx), %ymm22, %ymm29
4192 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0xed,0xaa,0xe0,0xef,0xff,0xff]
4193           vpaddsw -4128(%rdx), %ymm22, %ymm29
4194
4195 // CHECK: vpaddusb %xmm26, %xmm18, %xmm20
4196 // CHECK:  encoding: [0x62,0x81,0x6d,0x00,0xdc,0xe2]
4197           vpaddusb %xmm26, %xmm18, %xmm20
4198
4199 // CHECK: vpaddusb %xmm26, %xmm18, %xmm20 {%k6}
4200 // CHECK:  encoding: [0x62,0x81,0x6d,0x06,0xdc,0xe2]
4201           vpaddusb %xmm26, %xmm18, %xmm20 {%k6}
4202
4203 // CHECK: vpaddusb %xmm26, %xmm18, %xmm20 {%k6} {z}
4204 // CHECK:  encoding: [0x62,0x81,0x6d,0x86,0xdc,0xe2]
4205           vpaddusb %xmm26, %xmm18, %xmm20 {%k6} {z}
4206
4207 // CHECK: vpaddusb (%rcx), %xmm18, %xmm20
4208 // CHECK:  encoding: [0x62,0xe1,0x6d,0x00,0xdc,0x21]
4209           vpaddusb (%rcx), %xmm18, %xmm20
4210
4211 // CHECK: vpaddusb 4660(%rax,%r14,8), %xmm18, %xmm20
4212 // CHECK:  encoding: [0x62,0xa1,0x6d,0x00,0xdc,0xa4,0xf0,0x34,0x12,0x00,0x00]
4213           vpaddusb 4660(%rax,%r14,8), %xmm18, %xmm20
4214
4215 // CHECK: vpaddusb 2032(%rdx), %xmm18, %xmm20
4216 // CHECK:  encoding: [0x62,0xe1,0x6d,0x00,0xdc,0x62,0x7f]
4217           vpaddusb 2032(%rdx), %xmm18, %xmm20
4218
4219 // CHECK: vpaddusb 2048(%rdx), %xmm18, %xmm20
4220 // CHECK:  encoding: [0x62,0xe1,0x6d,0x00,0xdc,0xa2,0x00,0x08,0x00,0x00]
4221           vpaddusb 2048(%rdx), %xmm18, %xmm20
4222
4223 // CHECK: vpaddusb -2048(%rdx), %xmm18, %xmm20
4224 // CHECK:  encoding: [0x62,0xe1,0x6d,0x00,0xdc,0x62,0x80]
4225           vpaddusb -2048(%rdx), %xmm18, %xmm20
4226
4227 // CHECK: vpaddusb -2064(%rdx), %xmm18, %xmm20
4228 // CHECK:  encoding: [0x62,0xe1,0x6d,0x00,0xdc,0xa2,0xf0,0xf7,0xff,0xff]
4229           vpaddusb -2064(%rdx), %xmm18, %xmm20
4230
4231 // CHECK: vpaddusb %ymm24, %ymm26, %ymm25
4232 // CHECK:  encoding: [0x62,0x01,0x2d,0x20,0xdc,0xc8]
4233           vpaddusb %ymm24, %ymm26, %ymm25
4234
4235 // CHECK: vpaddusb %ymm24, %ymm26, %ymm25 {%k3}
4236 // CHECK:  encoding: [0x62,0x01,0x2d,0x23,0xdc,0xc8]
4237           vpaddusb %ymm24, %ymm26, %ymm25 {%k3}
4238
4239 // CHECK: vpaddusb %ymm24, %ymm26, %ymm25 {%k3} {z}
4240 // CHECK:  encoding: [0x62,0x01,0x2d,0xa3,0xdc,0xc8]
4241           vpaddusb %ymm24, %ymm26, %ymm25 {%k3} {z}
4242
4243 // CHECK: vpaddusb (%rcx), %ymm26, %ymm25
4244 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdc,0x09]
4245           vpaddusb (%rcx), %ymm26, %ymm25
4246
4247 // CHECK: vpaddusb 4660(%rax,%r14,8), %ymm26, %ymm25
4248 // CHECK:  encoding: [0x62,0x21,0x2d,0x20,0xdc,0x8c,0xf0,0x34,0x12,0x00,0x00]
4249           vpaddusb 4660(%rax,%r14,8), %ymm26, %ymm25
4250
4251 // CHECK: vpaddusb 4064(%rdx), %ymm26, %ymm25
4252 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdc,0x4a,0x7f]
4253           vpaddusb 4064(%rdx), %ymm26, %ymm25
4254
4255 // CHECK: vpaddusb 4096(%rdx), %ymm26, %ymm25
4256 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdc,0x8a,0x00,0x10,0x00,0x00]
4257           vpaddusb 4096(%rdx), %ymm26, %ymm25
4258
4259 // CHECK: vpaddusb -4096(%rdx), %ymm26, %ymm25
4260 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdc,0x4a,0x80]
4261           vpaddusb -4096(%rdx), %ymm26, %ymm25
4262
4263 // CHECK: vpaddusb -4128(%rdx), %ymm26, %ymm25
4264 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdc,0x8a,0xe0,0xef,0xff,0xff]
4265           vpaddusb -4128(%rdx), %ymm26, %ymm25
4266
4267 // CHECK: vpaddusw %xmm24, %xmm29, %xmm28
4268 // CHECK:  encoding: [0x62,0x01,0x15,0x00,0xdd,0xe0]
4269           vpaddusw %xmm24, %xmm29, %xmm28
4270
4271 // CHECK: vpaddusw %xmm24, %xmm29, %xmm28 {%k4}
4272 // CHECK:  encoding: [0x62,0x01,0x15,0x04,0xdd,0xe0]
4273           vpaddusw %xmm24, %xmm29, %xmm28 {%k4}
4274
4275 // CHECK: vpaddusw %xmm24, %xmm29, %xmm28 {%k4} {z}
4276 // CHECK:  encoding: [0x62,0x01,0x15,0x84,0xdd,0xe0]
4277           vpaddusw %xmm24, %xmm29, %xmm28 {%k4} {z}
4278
4279 // CHECK: vpaddusw (%rcx), %xmm29, %xmm28
4280 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xdd,0x21]
4281           vpaddusw (%rcx), %xmm29, %xmm28
4282
4283 // CHECK: vpaddusw 4660(%rax,%r14,8), %xmm29, %xmm28
4284 // CHECK:  encoding: [0x62,0x21,0x15,0x00,0xdd,0xa4,0xf0,0x34,0x12,0x00,0x00]
4285           vpaddusw 4660(%rax,%r14,8), %xmm29, %xmm28
4286
4287 // CHECK: vpaddusw 2032(%rdx), %xmm29, %xmm28
4288 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xdd,0x62,0x7f]
4289           vpaddusw 2032(%rdx), %xmm29, %xmm28
4290
4291 // CHECK: vpaddusw 2048(%rdx), %xmm29, %xmm28
4292 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xdd,0xa2,0x00,0x08,0x00,0x00]
4293           vpaddusw 2048(%rdx), %xmm29, %xmm28
4294
4295 // CHECK: vpaddusw -2048(%rdx), %xmm29, %xmm28
4296 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xdd,0x62,0x80]
4297           vpaddusw -2048(%rdx), %xmm29, %xmm28
4298
4299 // CHECK: vpaddusw -2064(%rdx), %xmm29, %xmm28
4300 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xdd,0xa2,0xf0,0xf7,0xff,0xff]
4301           vpaddusw -2064(%rdx), %xmm29, %xmm28
4302
4303 // CHECK: vpaddusw %ymm22, %ymm26, %ymm27
4304 // CHECK:  encoding: [0x62,0x21,0x2d,0x20,0xdd,0xde]
4305           vpaddusw %ymm22, %ymm26, %ymm27
4306
4307 // CHECK: vpaddusw %ymm22, %ymm26, %ymm27 {%k3}
4308 // CHECK:  encoding: [0x62,0x21,0x2d,0x23,0xdd,0xde]
4309           vpaddusw %ymm22, %ymm26, %ymm27 {%k3}
4310
4311 // CHECK: vpaddusw %ymm22, %ymm26, %ymm27 {%k3} {z}
4312 // CHECK:  encoding: [0x62,0x21,0x2d,0xa3,0xdd,0xde]
4313           vpaddusw %ymm22, %ymm26, %ymm27 {%k3} {z}
4314
4315 // CHECK: vpaddusw (%rcx), %ymm26, %ymm27
4316 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdd,0x19]
4317           vpaddusw (%rcx), %ymm26, %ymm27
4318
4319 // CHECK: vpaddusw 4660(%rax,%r14,8), %ymm26, %ymm27
4320 // CHECK:  encoding: [0x62,0x21,0x2d,0x20,0xdd,0x9c,0xf0,0x34,0x12,0x00,0x00]
4321           vpaddusw 4660(%rax,%r14,8), %ymm26, %ymm27
4322
4323 // CHECK: vpaddusw 4064(%rdx), %ymm26, %ymm27
4324 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdd,0x5a,0x7f]
4325           vpaddusw 4064(%rdx), %ymm26, %ymm27
4326
4327 // CHECK: vpaddusw 4096(%rdx), %ymm26, %ymm27
4328 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdd,0x9a,0x00,0x10,0x00,0x00]
4329           vpaddusw 4096(%rdx), %ymm26, %ymm27
4330
4331 // CHECK: vpaddusw -4096(%rdx), %ymm26, %ymm27
4332 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdd,0x5a,0x80]
4333           vpaddusw -4096(%rdx), %ymm26, %ymm27
4334
4335 // CHECK: vpaddusw -4128(%rdx), %ymm26, %ymm27
4336 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdd,0x9a,0xe0,0xef,0xff,0xff]
4337           vpaddusw -4128(%rdx), %ymm26, %ymm27
4338
4339 // CHECK: vpsubsb %xmm18, %xmm22, %xmm23
4340 // CHECK:  encoding: [0x62,0xa1,0x4d,0x00,0xe8,0xfa]
4341           vpsubsb %xmm18, %xmm22, %xmm23
4342
4343 // CHECK: vpsubsb %xmm18, %xmm22, %xmm23 {%k5}
4344 // CHECK:  encoding: [0x62,0xa1,0x4d,0x05,0xe8,0xfa]
4345           vpsubsb %xmm18, %xmm22, %xmm23 {%k5}
4346
4347 // CHECK: vpsubsb %xmm18, %xmm22, %xmm23 {%k5} {z}
4348 // CHECK:  encoding: [0x62,0xa1,0x4d,0x85,0xe8,0xfa]
4349           vpsubsb %xmm18, %xmm22, %xmm23 {%k5} {z}
4350
4351 // CHECK: vpsubsb (%rcx), %xmm22, %xmm23
4352 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xe8,0x39]
4353           vpsubsb (%rcx), %xmm22, %xmm23
4354
4355 // CHECK: vpsubsb 4660(%rax,%r14,8), %xmm22, %xmm23
4356 // CHECK:  encoding: [0x62,0xa1,0x4d,0x00,0xe8,0xbc,0xf0,0x34,0x12,0x00,0x00]
4357           vpsubsb 4660(%rax,%r14,8), %xmm22, %xmm23
4358
4359 // CHECK: vpsubsb 2032(%rdx), %xmm22, %xmm23
4360 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xe8,0x7a,0x7f]
4361           vpsubsb 2032(%rdx), %xmm22, %xmm23
4362
4363 // CHECK: vpsubsb 2048(%rdx), %xmm22, %xmm23
4364 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xe8,0xba,0x00,0x08,0x00,0x00]
4365           vpsubsb 2048(%rdx), %xmm22, %xmm23
4366
4367 // CHECK: vpsubsb -2048(%rdx), %xmm22, %xmm23
4368 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xe8,0x7a,0x80]
4369           vpsubsb -2048(%rdx), %xmm22, %xmm23
4370
4371 // CHECK: vpsubsb -2064(%rdx), %xmm22, %xmm23
4372 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xe8,0xba,0xf0,0xf7,0xff,0xff]
4373           vpsubsb -2064(%rdx), %xmm22, %xmm23
4374
4375 // CHECK: vpsubsb %ymm24, %ymm21, %ymm28
4376 // CHECK:  encoding: [0x62,0x01,0x55,0x20,0xe8,0xe0]
4377           vpsubsb %ymm24, %ymm21, %ymm28
4378
4379 // CHECK: vpsubsb %ymm24, %ymm21, %ymm28 {%k5}
4380 // CHECK:  encoding: [0x62,0x01,0x55,0x25,0xe8,0xe0]
4381           vpsubsb %ymm24, %ymm21, %ymm28 {%k5}
4382
4383 // CHECK: vpsubsb %ymm24, %ymm21, %ymm28 {%k5} {z}
4384 // CHECK:  encoding: [0x62,0x01,0x55,0xa5,0xe8,0xe0]
4385           vpsubsb %ymm24, %ymm21, %ymm28 {%k5} {z}
4386
4387 // CHECK: vpsubsb (%rcx), %ymm21, %ymm28
4388 // CHECK:  encoding: [0x62,0x61,0x55,0x20,0xe8,0x21]
4389           vpsubsb (%rcx), %ymm21, %ymm28
4390
4391 // CHECK: vpsubsb 4660(%rax,%r14,8), %ymm21, %ymm28
4392 // CHECK:  encoding: [0x62,0x21,0x55,0x20,0xe8,0xa4,0xf0,0x34,0x12,0x00,0x00]
4393           vpsubsb 4660(%rax,%r14,8), %ymm21, %ymm28
4394
4395 // CHECK: vpsubsb 4064(%rdx), %ymm21, %ymm28
4396 // CHECK:  encoding: [0x62,0x61,0x55,0x20,0xe8,0x62,0x7f]
4397           vpsubsb 4064(%rdx), %ymm21, %ymm28
4398
4399 // CHECK: vpsubsb 4096(%rdx), %ymm21, %ymm28
4400 // CHECK:  encoding: [0x62,0x61,0x55,0x20,0xe8,0xa2,0x00,0x10,0x00,0x00]
4401           vpsubsb 4096(%rdx), %ymm21, %ymm28
4402
4403 // CHECK: vpsubsb -4096(%rdx), %ymm21, %ymm28
4404 // CHECK:  encoding: [0x62,0x61,0x55,0x20,0xe8,0x62,0x80]
4405           vpsubsb -4096(%rdx), %ymm21, %ymm28
4406
4407 // CHECK: vpsubsb -4128(%rdx), %ymm21, %ymm28
4408 // CHECK:  encoding: [0x62,0x61,0x55,0x20,0xe8,0xa2,0xe0,0xef,0xff,0xff]
4409           vpsubsb -4128(%rdx), %ymm21, %ymm28
4410
4411 // CHECK: vpsubsw %xmm18, %xmm27, %xmm19
4412 // CHECK:  encoding: [0x62,0xa1,0x25,0x00,0xe9,0xda]
4413           vpsubsw %xmm18, %xmm27, %xmm19
4414
4415 // CHECK: vpsubsw %xmm18, %xmm27, %xmm19 {%k4}
4416 // CHECK:  encoding: [0x62,0xa1,0x25,0x04,0xe9,0xda]
4417           vpsubsw %xmm18, %xmm27, %xmm19 {%k4}
4418
4419 // CHECK: vpsubsw %xmm18, %xmm27, %xmm19 {%k4} {z}
4420 // CHECK:  encoding: [0x62,0xa1,0x25,0x84,0xe9,0xda]
4421           vpsubsw %xmm18, %xmm27, %xmm19 {%k4} {z}
4422
4423 // CHECK: vpsubsw (%rcx), %xmm27, %xmm19
4424 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xe9,0x19]
4425           vpsubsw (%rcx), %xmm27, %xmm19
4426
4427 // CHECK: vpsubsw 4660(%rax,%r14,8), %xmm27, %xmm19
4428 // CHECK:  encoding: [0x62,0xa1,0x25,0x00,0xe9,0x9c,0xf0,0x34,0x12,0x00,0x00]
4429           vpsubsw 4660(%rax,%r14,8), %xmm27, %xmm19
4430
4431 // CHECK: vpsubsw 2032(%rdx), %xmm27, %xmm19
4432 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xe9,0x5a,0x7f]
4433           vpsubsw 2032(%rdx), %xmm27, %xmm19
4434
4435 // CHECK: vpsubsw 2048(%rdx), %xmm27, %xmm19
4436 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xe9,0x9a,0x00,0x08,0x00,0x00]
4437           vpsubsw 2048(%rdx), %xmm27, %xmm19
4438
4439 // CHECK: vpsubsw -2048(%rdx), %xmm27, %xmm19
4440 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xe9,0x5a,0x80]
4441           vpsubsw -2048(%rdx), %xmm27, %xmm19
4442
4443 // CHECK: vpsubsw -2064(%rdx), %xmm27, %xmm19
4444 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xe9,0x9a,0xf0,0xf7,0xff,0xff]
4445           vpsubsw -2064(%rdx), %xmm27, %xmm19
4446
4447 // CHECK: vpsubsw %ymm25, %ymm29, %ymm18
4448 // CHECK:  encoding: [0x62,0x81,0x15,0x20,0xe9,0xd1]
4449           vpsubsw %ymm25, %ymm29, %ymm18
4450
4451 // CHECK: vpsubsw %ymm25, %ymm29, %ymm18 {%k5}
4452 // CHECK:  encoding: [0x62,0x81,0x15,0x25,0xe9,0xd1]
4453           vpsubsw %ymm25, %ymm29, %ymm18 {%k5}
4454
4455 // CHECK: vpsubsw %ymm25, %ymm29, %ymm18 {%k5} {z}
4456 // CHECK:  encoding: [0x62,0x81,0x15,0xa5,0xe9,0xd1]
4457           vpsubsw %ymm25, %ymm29, %ymm18 {%k5} {z}
4458
4459 // CHECK: vpsubsw (%rcx), %ymm29, %ymm18
4460 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x11]
4461           vpsubsw (%rcx), %ymm29, %ymm18
4462
4463 // CHECK: vpsubsw 4660(%rax,%r14,8), %ymm29, %ymm18
4464 // CHECK:  encoding: [0x62,0xa1,0x15,0x20,0xe9,0x94,0xf0,0x34,0x12,0x00,0x00]
4465           vpsubsw 4660(%rax,%r14,8), %ymm29, %ymm18
4466
4467 // CHECK: vpsubsw 4064(%rdx), %ymm29, %ymm18
4468 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x52,0x7f]
4469           vpsubsw 4064(%rdx), %ymm29, %ymm18
4470
4471 // CHECK: vpsubsw 4096(%rdx), %ymm29, %ymm18
4472 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x92,0x00,0x10,0x00,0x00]
4473           vpsubsw 4096(%rdx), %ymm29, %ymm18
4474
4475 // CHECK: vpsubsw -4096(%rdx), %ymm29, %ymm18
4476 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x52,0x80]
4477           vpsubsw -4096(%rdx), %ymm29, %ymm18
4478
4479 // CHECK: vpsubsw -4128(%rdx), %ymm29, %ymm18
4480 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x92,0xe0,0xef,0xff,0xff]
4481           vpsubsw -4128(%rdx), %ymm29, %ymm18
4482
4483 // CHECK: vpsubusb %xmm23, %xmm26, %xmm20
4484 // CHECK:  encoding: [0x62,0xa1,0x2d,0x00,0xd8,0xe7]
4485           vpsubusb %xmm23, %xmm26, %xmm20
4486
4487 // CHECK: vpsubusb %xmm23, %xmm26, %xmm20 {%k5}
4488 // CHECK:  encoding: [0x62,0xa1,0x2d,0x05,0xd8,0xe7]
4489           vpsubusb %xmm23, %xmm26, %xmm20 {%k5}
4490
4491 // CHECK: vpsubusb %xmm23, %xmm26, %xmm20 {%k5} {z}
4492 // CHECK:  encoding: [0x62,0xa1,0x2d,0x85,0xd8,0xe7]
4493           vpsubusb %xmm23, %xmm26, %xmm20 {%k5} {z}
4494
4495 // CHECK: vpsubusb (%rcx), %xmm26, %xmm20
4496 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xd8,0x21]
4497           vpsubusb (%rcx), %xmm26, %xmm20
4498
4499 // CHECK: vpsubusb 4660(%rax,%r14,8), %xmm26, %xmm20
4500 // CHECK:  encoding: [0x62,0xa1,0x2d,0x00,0xd8,0xa4,0xf0,0x34,0x12,0x00,0x00]
4501           vpsubusb 4660(%rax,%r14,8), %xmm26, %xmm20
4502
4503 // CHECK: vpsubusb 2032(%rdx), %xmm26, %xmm20
4504 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xd8,0x62,0x7f]
4505           vpsubusb 2032(%rdx), %xmm26, %xmm20
4506
4507 // CHECK: vpsubusb 2048(%rdx), %xmm26, %xmm20
4508 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xd8,0xa2,0x00,0x08,0x00,0x00]
4509           vpsubusb 2048(%rdx), %xmm26, %xmm20
4510
4511 // CHECK: vpsubusb -2048(%rdx), %xmm26, %xmm20
4512 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xd8,0x62,0x80]
4513           vpsubusb -2048(%rdx), %xmm26, %xmm20
4514
4515 // CHECK: vpsubusb -2064(%rdx), %xmm26, %xmm20
4516 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xd8,0xa2,0xf0,0xf7,0xff,0xff]
4517           vpsubusb -2064(%rdx), %xmm26, %xmm20
4518
4519 // CHECK: vpsubusb %ymm19, %ymm28, %ymm30
4520 // CHECK:  encoding: [0x62,0x21,0x1d,0x20,0xd8,0xf3]
4521           vpsubusb %ymm19, %ymm28, %ymm30
4522
4523 // CHECK: vpsubusb %ymm19, %ymm28, %ymm30 {%k3}
4524 // CHECK:  encoding: [0x62,0x21,0x1d,0x23,0xd8,0xf3]
4525           vpsubusb %ymm19, %ymm28, %ymm30 {%k3}
4526
4527 // CHECK: vpsubusb %ymm19, %ymm28, %ymm30 {%k3} {z}
4528 // CHECK:  encoding: [0x62,0x21,0x1d,0xa3,0xd8,0xf3]
4529           vpsubusb %ymm19, %ymm28, %ymm30 {%k3} {z}
4530
4531 // CHECK: vpsubusb (%rcx), %ymm28, %ymm30
4532 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xd8,0x31]
4533           vpsubusb (%rcx), %ymm28, %ymm30
4534
4535 // CHECK: vpsubusb 4660(%rax,%r14,8), %ymm28, %ymm30
4536 // CHECK:  encoding: [0x62,0x21,0x1d,0x20,0xd8,0xb4,0xf0,0x34,0x12,0x00,0x00]
4537           vpsubusb 4660(%rax,%r14,8), %ymm28, %ymm30
4538
4539 // CHECK: vpsubusb 4064(%rdx), %ymm28, %ymm30
4540 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xd8,0x72,0x7f]
4541           vpsubusb 4064(%rdx), %ymm28, %ymm30
4542
4543 // CHECK: vpsubusb 4096(%rdx), %ymm28, %ymm30
4544 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xd8,0xb2,0x00,0x10,0x00,0x00]
4545           vpsubusb 4096(%rdx), %ymm28, %ymm30
4546
4547 // CHECK: vpsubusb -4096(%rdx), %ymm28, %ymm30
4548 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xd8,0x72,0x80]
4549           vpsubusb -4096(%rdx), %ymm28, %ymm30
4550
4551 // CHECK: vpsubusb -4128(%rdx), %ymm28, %ymm30
4552 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xd8,0xb2,0xe0,0xef,0xff,0xff]
4553           vpsubusb -4128(%rdx), %ymm28, %ymm30
4554
4555 // CHECK: vpsubusw %xmm21, %xmm23, %xmm26
4556 // CHECK:  encoding: [0x62,0x21,0x45,0x00,0xd9,0xd5]
4557           vpsubusw %xmm21, %xmm23, %xmm26
4558
4559 // CHECK: vpsubusw %xmm21, %xmm23, %xmm26 {%k6}
4560 // CHECK:  encoding: [0x62,0x21,0x45,0x06,0xd9,0xd5]
4561           vpsubusw %xmm21, %xmm23, %xmm26 {%k6}
4562
4563 // CHECK: vpsubusw %xmm21, %xmm23, %xmm26 {%k6} {z}
4564 // CHECK:  encoding: [0x62,0x21,0x45,0x86,0xd9,0xd5]
4565           vpsubusw %xmm21, %xmm23, %xmm26 {%k6} {z}
4566
4567 // CHECK: vpsubusw (%rcx), %xmm23, %xmm26
4568 // CHECK:  encoding: [0x62,0x61,0x45,0x00,0xd9,0x11]
4569           vpsubusw (%rcx), %xmm23, %xmm26
4570
4571 // CHECK: vpsubusw 4660(%rax,%r14,8), %xmm23, %xmm26
4572 // CHECK:  encoding: [0x62,0x21,0x45,0x00,0xd9,0x94,0xf0,0x34,0x12,0x00,0x00]
4573           vpsubusw 4660(%rax,%r14,8), %xmm23, %xmm26
4574
4575 // CHECK: vpsubusw 2032(%rdx), %xmm23, %xmm26
4576 // CHECK:  encoding: [0x62,0x61,0x45,0x00,0xd9,0x52,0x7f]
4577           vpsubusw 2032(%rdx), %xmm23, %xmm26
4578
4579 // CHECK: vpsubusw 2048(%rdx), %xmm23, %xmm26
4580 // CHECK:  encoding: [0x62,0x61,0x45,0x00,0xd9,0x92,0x00,0x08,0x00,0x00]
4581           vpsubusw 2048(%rdx), %xmm23, %xmm26
4582
4583 // CHECK: vpsubusw -2048(%rdx), %xmm23, %xmm26
4584 // CHECK:  encoding: [0x62,0x61,0x45,0x00,0xd9,0x52,0x80]
4585           vpsubusw -2048(%rdx), %xmm23, %xmm26
4586
4587 // CHECK: vpsubusw -2064(%rdx), %xmm23, %xmm26
4588 // CHECK:  encoding: [0x62,0x61,0x45,0x00,0xd9,0x92,0xf0,0xf7,0xff,0xff]
4589           vpsubusw -2064(%rdx), %xmm23, %xmm26
4590
4591 // CHECK: vpsubusw %ymm24, %ymm20, %ymm25
4592 // CHECK:  encoding: [0x62,0x01,0x5d,0x20,0xd9,0xc8]
4593           vpsubusw %ymm24, %ymm20, %ymm25
4594
4595 // CHECK: vpsubusw %ymm24, %ymm20, %ymm25 {%k1}
4596 // CHECK:  encoding: [0x62,0x01,0x5d,0x21,0xd9,0xc8]
4597           vpsubusw %ymm24, %ymm20, %ymm25 {%k1}
4598
4599 // CHECK: vpsubusw %ymm24, %ymm20, %ymm25 {%k1} {z}
4600 // CHECK:  encoding: [0x62,0x01,0x5d,0xa1,0xd9,0xc8]
4601           vpsubusw %ymm24, %ymm20, %ymm25 {%k1} {z}
4602
4603 // CHECK: vpsubusw (%rcx), %ymm20, %ymm25
4604 // CHECK:  encoding: [0x62,0x61,0x5d,0x20,0xd9,0x09]
4605           vpsubusw (%rcx), %ymm20, %ymm25
4606
4607 // CHECK: vpsubusw 4660(%rax,%r14,8), %ymm20, %ymm25
4608 // CHECK:  encoding: [0x62,0x21,0x5d,0x20,0xd9,0x8c,0xf0,0x34,0x12,0x00,0x00]
4609           vpsubusw 4660(%rax,%r14,8), %ymm20, %ymm25
4610
4611 // CHECK: vpsubusw 4064(%rdx), %ymm20, %ymm25
4612 // CHECK:  encoding: [0x62,0x61,0x5d,0x20,0xd9,0x4a,0x7f]
4613           vpsubusw 4064(%rdx), %ymm20, %ymm25
4614
4615 // CHECK: vpsubusw 4096(%rdx), %ymm20, %ymm25
4616 // CHECK:  encoding: [0x62,0x61,0x5d,0x20,0xd9,0x8a,0x00,0x10,0x00,0x00]
4617           vpsubusw 4096(%rdx), %ymm20, %ymm25
4618
4619 // CHECK: vpsubusw -4096(%rdx), %ymm20, %ymm25
4620 // CHECK:  encoding: [0x62,0x61,0x5d,0x20,0xd9,0x4a,0x80]
4621           vpsubusw -4096(%rdx), %ymm20, %ymm25
4622
4623 // CHECK: vpsubusw -4128(%rdx), %ymm20, %ymm25
4624 // CHECK:  encoding: [0x62,0x61,0x5d,0x20,0xd9,0x8a,0xe0,0xef,0xff,0xff]
4625           vpsubusw -4128(%rdx), %ymm20, %ymm25
4626
4627 // CHECK: vpaddsb %xmm25, %xmm19, %xmm30
4628 // CHECK:  encoding: [0x62,0x01,0x65,0x00,0xec,0xf1]
4629           vpaddsb %xmm25, %xmm19, %xmm30
4630
4631 // CHECK: vpaddsb %xmm25, %xmm19, %xmm30 {%k6}
4632 // CHECK:  encoding: [0x62,0x01,0x65,0x06,0xec,0xf1]
4633           vpaddsb %xmm25, %xmm19, %xmm30 {%k6}
4634
4635 // CHECK: vpaddsb %xmm25, %xmm19, %xmm30 {%k6} {z}
4636 // CHECK:  encoding: [0x62,0x01,0x65,0x86,0xec,0xf1]
4637           vpaddsb %xmm25, %xmm19, %xmm30 {%k6} {z}
4638
4639 // CHECK: vpaddsb (%rcx), %xmm19, %xmm30
4640 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xec,0x31]
4641           vpaddsb (%rcx), %xmm19, %xmm30
4642
4643 // CHECK: vpaddsb 291(%rax,%r14,8), %xmm19, %xmm30
4644 // CHECK:  encoding: [0x62,0x21,0x65,0x00,0xec,0xb4,0xf0,0x23,0x01,0x00,0x00]
4645           vpaddsb 291(%rax,%r14,8), %xmm19, %xmm30
4646
4647 // CHECK: vpaddsb 2032(%rdx), %xmm19, %xmm30
4648 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xec,0x72,0x7f]
4649           vpaddsb 2032(%rdx), %xmm19, %xmm30
4650
4651 // CHECK: vpaddsb 2048(%rdx), %xmm19, %xmm30
4652 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xec,0xb2,0x00,0x08,0x00,0x00]
4653           vpaddsb 2048(%rdx), %xmm19, %xmm30
4654
4655 // CHECK: vpaddsb -2048(%rdx), %xmm19, %xmm30
4656 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xec,0x72,0x80]
4657           vpaddsb -2048(%rdx), %xmm19, %xmm30
4658
4659 // CHECK: vpaddsb -2064(%rdx), %xmm19, %xmm30
4660 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xec,0xb2,0xf0,0xf7,0xff,0xff]
4661           vpaddsb -2064(%rdx), %xmm19, %xmm30
4662
4663 // CHECK: vpaddsb %ymm28, %ymm29, %ymm22
4664 // CHECK:  encoding: [0x62,0x81,0x15,0x20,0xec,0xf4]
4665           vpaddsb %ymm28, %ymm29, %ymm22
4666
4667 // CHECK: vpaddsb %ymm28, %ymm29, %ymm22 {%k4}
4668 // CHECK:  encoding: [0x62,0x81,0x15,0x24,0xec,0xf4]
4669           vpaddsb %ymm28, %ymm29, %ymm22 {%k4}
4670
4671 // CHECK: vpaddsb %ymm28, %ymm29, %ymm22 {%k4} {z}
4672 // CHECK:  encoding: [0x62,0x81,0x15,0xa4,0xec,0xf4]
4673           vpaddsb %ymm28, %ymm29, %ymm22 {%k4} {z}
4674
4675 // CHECK: vpaddsb (%rcx), %ymm29, %ymm22
4676 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xec,0x31]
4677           vpaddsb (%rcx), %ymm29, %ymm22
4678
4679 // CHECK: vpaddsb 291(%rax,%r14,8), %ymm29, %ymm22
4680 // CHECK:  encoding: [0x62,0xa1,0x15,0x20,0xec,0xb4,0xf0,0x23,0x01,0x00,0x00]
4681           vpaddsb 291(%rax,%r14,8), %ymm29, %ymm22
4682
4683 // CHECK: vpaddsb 4064(%rdx), %ymm29, %ymm22
4684 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xec,0x72,0x7f]
4685           vpaddsb 4064(%rdx), %ymm29, %ymm22
4686
4687 // CHECK: vpaddsb 4096(%rdx), %ymm29, %ymm22
4688 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xec,0xb2,0x00,0x10,0x00,0x00]
4689           vpaddsb 4096(%rdx), %ymm29, %ymm22
4690
4691 // CHECK: vpaddsb -4096(%rdx), %ymm29, %ymm22
4692 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xec,0x72,0x80]
4693           vpaddsb -4096(%rdx), %ymm29, %ymm22
4694
4695 // CHECK: vpaddsb -4128(%rdx), %ymm29, %ymm22
4696 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xec,0xb2,0xe0,0xef,0xff,0xff]
4697           vpaddsb -4128(%rdx), %ymm29, %ymm22
4698
4699 // CHECK: vpaddsw %xmm19, %xmm19, %xmm20
4700 // CHECK:  encoding: [0x62,0xa1,0x65,0x00,0xed,0xe3]
4701           vpaddsw %xmm19, %xmm19, %xmm20
4702
4703 // CHECK: vpaddsw %xmm19, %xmm19, %xmm20 {%k7}
4704 // CHECK:  encoding: [0x62,0xa1,0x65,0x07,0xed,0xe3]
4705           vpaddsw %xmm19, %xmm19, %xmm20 {%k7}
4706
4707 // CHECK: vpaddsw %xmm19, %xmm19, %xmm20 {%k7} {z}
4708 // CHECK:  encoding: [0x62,0xa1,0x65,0x87,0xed,0xe3]
4709           vpaddsw %xmm19, %xmm19, %xmm20 {%k7} {z}
4710
4711 // CHECK: vpaddsw (%rcx), %xmm19, %xmm20
4712 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xed,0x21]
4713           vpaddsw (%rcx), %xmm19, %xmm20
4714
4715 // CHECK: vpaddsw 291(%rax,%r14,8), %xmm19, %xmm20
4716 // CHECK:  encoding: [0x62,0xa1,0x65,0x00,0xed,0xa4,0xf0,0x23,0x01,0x00,0x00]
4717           vpaddsw 291(%rax,%r14,8), %xmm19, %xmm20
4718
4719 // CHECK: vpaddsw 2032(%rdx), %xmm19, %xmm20
4720 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xed,0x62,0x7f]
4721           vpaddsw 2032(%rdx), %xmm19, %xmm20
4722
4723 // CHECK: vpaddsw 2048(%rdx), %xmm19, %xmm20
4724 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xed,0xa2,0x00,0x08,0x00,0x00]
4725           vpaddsw 2048(%rdx), %xmm19, %xmm20
4726
4727 // CHECK: vpaddsw -2048(%rdx), %xmm19, %xmm20
4728 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xed,0x62,0x80]
4729           vpaddsw -2048(%rdx), %xmm19, %xmm20
4730
4731 // CHECK: vpaddsw -2064(%rdx), %xmm19, %xmm20
4732 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xed,0xa2,0xf0,0xf7,0xff,0xff]
4733           vpaddsw -2064(%rdx), %xmm19, %xmm20
4734
4735 // CHECK: vpaddsw %ymm19, %ymm27, %ymm20
4736 // CHECK:  encoding: [0x62,0xa1,0x25,0x20,0xed,0xe3]
4737           vpaddsw %ymm19, %ymm27, %ymm20
4738
4739 // CHECK: vpaddsw %ymm19, %ymm27, %ymm20 {%k3}
4740 // CHECK:  encoding: [0x62,0xa1,0x25,0x23,0xed,0xe3]
4741           vpaddsw %ymm19, %ymm27, %ymm20 {%k3}
4742
4743 // CHECK: vpaddsw %ymm19, %ymm27, %ymm20 {%k3} {z}
4744 // CHECK:  encoding: [0x62,0xa1,0x25,0xa3,0xed,0xe3]
4745           vpaddsw %ymm19, %ymm27, %ymm20 {%k3} {z}
4746
4747 // CHECK: vpaddsw (%rcx), %ymm27, %ymm20
4748 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xed,0x21]
4749           vpaddsw (%rcx), %ymm27, %ymm20
4750
4751 // CHECK: vpaddsw 291(%rax,%r14,8), %ymm27, %ymm20
4752 // CHECK:  encoding: [0x62,0xa1,0x25,0x20,0xed,0xa4,0xf0,0x23,0x01,0x00,0x00]
4753           vpaddsw 291(%rax,%r14,8), %ymm27, %ymm20
4754
4755 // CHECK: vpaddsw 4064(%rdx), %ymm27, %ymm20
4756 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xed,0x62,0x7f]
4757           vpaddsw 4064(%rdx), %ymm27, %ymm20
4758
4759 // CHECK: vpaddsw 4096(%rdx), %ymm27, %ymm20
4760 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xed,0xa2,0x00,0x10,0x00,0x00]
4761           vpaddsw 4096(%rdx), %ymm27, %ymm20
4762
4763 // CHECK: vpaddsw -4096(%rdx), %ymm27, %ymm20
4764 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xed,0x62,0x80]
4765           vpaddsw -4096(%rdx), %ymm27, %ymm20
4766
4767 // CHECK: vpaddsw -4128(%rdx), %ymm27, %ymm20
4768 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xed,0xa2,0xe0,0xef,0xff,0xff]
4769           vpaddsw -4128(%rdx), %ymm27, %ymm20
4770
4771 // CHECK: vpaddusb %xmm19, %xmm21, %xmm25
4772 // CHECK:  encoding: [0x62,0x21,0x55,0x00,0xdc,0xcb]
4773           vpaddusb %xmm19, %xmm21, %xmm25
4774
4775 // CHECK: vpaddusb %xmm19, %xmm21, %xmm25 {%k7}
4776 // CHECK:  encoding: [0x62,0x21,0x55,0x07,0xdc,0xcb]
4777           vpaddusb %xmm19, %xmm21, %xmm25 {%k7}
4778
4779 // CHECK: vpaddusb %xmm19, %xmm21, %xmm25 {%k7} {z}
4780 // CHECK:  encoding: [0x62,0x21,0x55,0x87,0xdc,0xcb]
4781           vpaddusb %xmm19, %xmm21, %xmm25 {%k7} {z}
4782
4783 // CHECK: vpaddusb (%rcx), %xmm21, %xmm25
4784 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xdc,0x09]
4785           vpaddusb (%rcx), %xmm21, %xmm25
4786
4787 // CHECK: vpaddusb 291(%rax,%r14,8), %xmm21, %xmm25
4788 // CHECK:  encoding: [0x62,0x21,0x55,0x00,0xdc,0x8c,0xf0,0x23,0x01,0x00,0x00]
4789           vpaddusb 291(%rax,%r14,8), %xmm21, %xmm25
4790
4791 // CHECK: vpaddusb 2032(%rdx), %xmm21, %xmm25
4792 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xdc,0x4a,0x7f]
4793           vpaddusb 2032(%rdx), %xmm21, %xmm25
4794
4795 // CHECK: vpaddusb 2048(%rdx), %xmm21, %xmm25
4796 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xdc,0x8a,0x00,0x08,0x00,0x00]
4797           vpaddusb 2048(%rdx), %xmm21, %xmm25
4798
4799 // CHECK: vpaddusb -2048(%rdx), %xmm21, %xmm25
4800 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xdc,0x4a,0x80]
4801           vpaddusb -2048(%rdx), %xmm21, %xmm25
4802
4803 // CHECK: vpaddusb -2064(%rdx), %xmm21, %xmm25
4804 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xdc,0x8a,0xf0,0xf7,0xff,0xff]
4805           vpaddusb -2064(%rdx), %xmm21, %xmm25
4806
4807 // CHECK: vpaddusb %ymm25, %ymm21, %ymm21
4808 // CHECK:  encoding: [0x62,0x81,0x55,0x20,0xdc,0xe9]
4809           vpaddusb %ymm25, %ymm21, %ymm21
4810
4811 // CHECK: vpaddusb %ymm25, %ymm21, %ymm21 {%k1}
4812 // CHECK:  encoding: [0x62,0x81,0x55,0x21,0xdc,0xe9]
4813           vpaddusb %ymm25, %ymm21, %ymm21 {%k1}
4814
4815 // CHECK: vpaddusb %ymm25, %ymm21, %ymm21 {%k1} {z}
4816 // CHECK:  encoding: [0x62,0x81,0x55,0xa1,0xdc,0xe9]
4817           vpaddusb %ymm25, %ymm21, %ymm21 {%k1} {z}
4818
4819 // CHECK: vpaddusb (%rcx), %ymm21, %ymm21
4820 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xdc,0x29]
4821           vpaddusb (%rcx), %ymm21, %ymm21
4822
4823 // CHECK: vpaddusb 291(%rax,%r14,8), %ymm21, %ymm21
4824 // CHECK:  encoding: [0x62,0xa1,0x55,0x20,0xdc,0xac,0xf0,0x23,0x01,0x00,0x00]
4825           vpaddusb 291(%rax,%r14,8), %ymm21, %ymm21
4826
4827 // CHECK: vpaddusb 4064(%rdx), %ymm21, %ymm21
4828 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xdc,0x6a,0x7f]
4829           vpaddusb 4064(%rdx), %ymm21, %ymm21
4830
4831 // CHECK: vpaddusb 4096(%rdx), %ymm21, %ymm21
4832 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xdc,0xaa,0x00,0x10,0x00,0x00]
4833           vpaddusb 4096(%rdx), %ymm21, %ymm21
4834
4835 // CHECK: vpaddusb -4096(%rdx), %ymm21, %ymm21
4836 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xdc,0x6a,0x80]
4837           vpaddusb -4096(%rdx), %ymm21, %ymm21
4838
4839 // CHECK: vpaddusb -4128(%rdx), %ymm21, %ymm21
4840 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xdc,0xaa,0xe0,0xef,0xff,0xff]
4841           vpaddusb -4128(%rdx), %ymm21, %ymm21
4842
4843 // CHECK: vpaddusw %xmm26, %xmm17, %xmm24
4844 // CHECK:  encoding: [0x62,0x01,0x75,0x00,0xdd,0xc2]
4845           vpaddusw %xmm26, %xmm17, %xmm24
4846
4847 // CHECK: vpaddusw %xmm26, %xmm17, %xmm24 {%k6}
4848 // CHECK:  encoding: [0x62,0x01,0x75,0x06,0xdd,0xc2]
4849           vpaddusw %xmm26, %xmm17, %xmm24 {%k6}
4850
4851 // CHECK: vpaddusw %xmm26, %xmm17, %xmm24 {%k6} {z}
4852 // CHECK:  encoding: [0x62,0x01,0x75,0x86,0xdd,0xc2]
4853           vpaddusw %xmm26, %xmm17, %xmm24 {%k6} {z}
4854
4855 // CHECK: vpaddusw (%rcx), %xmm17, %xmm24
4856 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xdd,0x01]
4857           vpaddusw (%rcx), %xmm17, %xmm24
4858
4859 // CHECK: vpaddusw 291(%rax,%r14,8), %xmm17, %xmm24
4860 // CHECK:  encoding: [0x62,0x21,0x75,0x00,0xdd,0x84,0xf0,0x23,0x01,0x00,0x00]
4861           vpaddusw 291(%rax,%r14,8), %xmm17, %xmm24
4862
4863 // CHECK: vpaddusw 2032(%rdx), %xmm17, %xmm24
4864 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xdd,0x42,0x7f]
4865           vpaddusw 2032(%rdx), %xmm17, %xmm24
4866
4867 // CHECK: vpaddusw 2048(%rdx), %xmm17, %xmm24
4868 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xdd,0x82,0x00,0x08,0x00,0x00]
4869           vpaddusw 2048(%rdx), %xmm17, %xmm24
4870
4871 // CHECK: vpaddusw -2048(%rdx), %xmm17, %xmm24
4872 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xdd,0x42,0x80]
4873           vpaddusw -2048(%rdx), %xmm17, %xmm24
4874
4875 // CHECK: vpaddusw -2064(%rdx), %xmm17, %xmm24
4876 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xdd,0x82,0xf0,0xf7,0xff,0xff]
4877           vpaddusw -2064(%rdx), %xmm17, %xmm24
4878
4879 // CHECK: vpaddusw %ymm22, %ymm27, %ymm22
4880 // CHECK:  encoding: [0x62,0xa1,0x25,0x20,0xdd,0xf6]
4881           vpaddusw %ymm22, %ymm27, %ymm22
4882
4883 // CHECK: vpaddusw %ymm22, %ymm27, %ymm22 {%k5}
4884 // CHECK:  encoding: [0x62,0xa1,0x25,0x25,0xdd,0xf6]
4885           vpaddusw %ymm22, %ymm27, %ymm22 {%k5}
4886
4887 // CHECK: vpaddusw %ymm22, %ymm27, %ymm22 {%k5} {z}
4888 // CHECK:  encoding: [0x62,0xa1,0x25,0xa5,0xdd,0xf6]
4889           vpaddusw %ymm22, %ymm27, %ymm22 {%k5} {z}
4890
4891 // CHECK: vpaddusw (%rcx), %ymm27, %ymm22
4892 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xdd,0x31]
4893           vpaddusw (%rcx), %ymm27, %ymm22
4894
4895 // CHECK: vpaddusw 291(%rax,%r14,8), %ymm27, %ymm22
4896 // CHECK:  encoding: [0x62,0xa1,0x25,0x20,0xdd,0xb4,0xf0,0x23,0x01,0x00,0x00]
4897           vpaddusw 291(%rax,%r14,8), %ymm27, %ymm22
4898
4899 // CHECK: vpaddusw 4064(%rdx), %ymm27, %ymm22
4900 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xdd,0x72,0x7f]
4901           vpaddusw 4064(%rdx), %ymm27, %ymm22
4902
4903 // CHECK: vpaddusw 4096(%rdx), %ymm27, %ymm22
4904 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xdd,0xb2,0x00,0x10,0x00,0x00]
4905           vpaddusw 4096(%rdx), %ymm27, %ymm22
4906
4907 // CHECK: vpaddusw -4096(%rdx), %ymm27, %ymm22
4908 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xdd,0x72,0x80]
4909           vpaddusw -4096(%rdx), %ymm27, %ymm22
4910
4911 // CHECK: vpaddusw -4128(%rdx), %ymm27, %ymm22
4912 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xdd,0xb2,0xe0,0xef,0xff,0xff]
4913           vpaddusw -4128(%rdx), %ymm27, %ymm22
4914
4915 // CHECK: vpsubsb %xmm19, %xmm19, %xmm28
4916 // CHECK:  encoding: [0x62,0x21,0x65,0x00,0xe8,0xe3]
4917           vpsubsb %xmm19, %xmm19, %xmm28
4918
4919 // CHECK: vpsubsb %xmm19, %xmm19, %xmm28 {%k4}
4920 // CHECK:  encoding: [0x62,0x21,0x65,0x04,0xe8,0xe3]
4921           vpsubsb %xmm19, %xmm19, %xmm28 {%k4}
4922
4923 // CHECK: vpsubsb %xmm19, %xmm19, %xmm28 {%k4} {z}
4924 // CHECK:  encoding: [0x62,0x21,0x65,0x84,0xe8,0xe3]
4925           vpsubsb %xmm19, %xmm19, %xmm28 {%k4} {z}
4926
4927 // CHECK: vpsubsb (%rcx), %xmm19, %xmm28
4928 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xe8,0x21]
4929           vpsubsb (%rcx), %xmm19, %xmm28
4930
4931 // CHECK: vpsubsb 291(%rax,%r14,8), %xmm19, %xmm28
4932 // CHECK:  encoding: [0x62,0x21,0x65,0x00,0xe8,0xa4,0xf0,0x23,0x01,0x00,0x00]
4933           vpsubsb 291(%rax,%r14,8), %xmm19, %xmm28
4934
4935 // CHECK: vpsubsb 2032(%rdx), %xmm19, %xmm28
4936 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xe8,0x62,0x7f]
4937           vpsubsb 2032(%rdx), %xmm19, %xmm28
4938
4939 // CHECK: vpsubsb 2048(%rdx), %xmm19, %xmm28
4940 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xe8,0xa2,0x00,0x08,0x00,0x00]
4941           vpsubsb 2048(%rdx), %xmm19, %xmm28
4942
4943 // CHECK: vpsubsb -2048(%rdx), %xmm19, %xmm28
4944 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xe8,0x62,0x80]
4945           vpsubsb -2048(%rdx), %xmm19, %xmm28
4946
4947 // CHECK: vpsubsb -2064(%rdx), %xmm19, %xmm28
4948 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xe8,0xa2,0xf0,0xf7,0xff,0xff]
4949           vpsubsb -2064(%rdx), %xmm19, %xmm28
4950
4951 // CHECK: vpsubsb %ymm18, %ymm23, %ymm18
4952 // CHECK:  encoding: [0x62,0xa1,0x45,0x20,0xe8,0xd2]
4953           vpsubsb %ymm18, %ymm23, %ymm18
4954
4955 // CHECK: vpsubsb %ymm18, %ymm23, %ymm18 {%k6}
4956 // CHECK:  encoding: [0x62,0xa1,0x45,0x26,0xe8,0xd2]
4957           vpsubsb %ymm18, %ymm23, %ymm18 {%k6}
4958
4959 // CHECK: vpsubsb %ymm18, %ymm23, %ymm18 {%k6} {z}
4960 // CHECK:  encoding: [0x62,0xa1,0x45,0xa6,0xe8,0xd2]
4961           vpsubsb %ymm18, %ymm23, %ymm18 {%k6} {z}
4962
4963 // CHECK: vpsubsb (%rcx), %ymm23, %ymm18
4964 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xe8,0x11]
4965           vpsubsb (%rcx), %ymm23, %ymm18
4966
4967 // CHECK: vpsubsb 291(%rax,%r14,8), %ymm23, %ymm18
4968 // CHECK:  encoding: [0x62,0xa1,0x45,0x20,0xe8,0x94,0xf0,0x23,0x01,0x00,0x00]
4969           vpsubsb 291(%rax,%r14,8), %ymm23, %ymm18
4970
4971 // CHECK: vpsubsb 4064(%rdx), %ymm23, %ymm18
4972 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xe8,0x52,0x7f]
4973           vpsubsb 4064(%rdx), %ymm23, %ymm18
4974
4975 // CHECK: vpsubsb 4096(%rdx), %ymm23, %ymm18
4976 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xe8,0x92,0x00,0x10,0x00,0x00]
4977           vpsubsb 4096(%rdx), %ymm23, %ymm18
4978
4979 // CHECK: vpsubsb -4096(%rdx), %ymm23, %ymm18
4980 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xe8,0x52,0x80]
4981           vpsubsb -4096(%rdx), %ymm23, %ymm18
4982
4983 // CHECK: vpsubsb -4128(%rdx), %ymm23, %ymm18
4984 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xe8,0x92,0xe0,0xef,0xff,0xff]
4985           vpsubsb -4128(%rdx), %ymm23, %ymm18
4986
4987 // CHECK: vpsubsw %xmm19, %xmm24, %xmm26
4988 // CHECK:  encoding: [0x62,0x21,0x3d,0x00,0xe9,0xd3]
4989           vpsubsw %xmm19, %xmm24, %xmm26
4990
4991 // CHECK: vpsubsw %xmm19, %xmm24, %xmm26 {%k7}
4992 // CHECK:  encoding: [0x62,0x21,0x3d,0x07,0xe9,0xd3]
4993           vpsubsw %xmm19, %xmm24, %xmm26 {%k7}
4994
4995 // CHECK: vpsubsw %xmm19, %xmm24, %xmm26 {%k7} {z}
4996 // CHECK:  encoding: [0x62,0x21,0x3d,0x87,0xe9,0xd3]
4997           vpsubsw %xmm19, %xmm24, %xmm26 {%k7} {z}
4998
4999 // CHECK: vpsubsw (%rcx), %xmm24, %xmm26
5000 // CHECK:  encoding: [0x62,0x61,0x3d,0x00,0xe9,0x11]
5001           vpsubsw (%rcx), %xmm24, %xmm26
5002
5003 // CHECK: vpsubsw 291(%rax,%r14,8), %xmm24, %xmm26
5004 // CHECK:  encoding: [0x62,0x21,0x3d,0x00,0xe9,0x94,0xf0,0x23,0x01,0x00,0x00]
5005           vpsubsw 291(%rax,%r14,8), %xmm24, %xmm26
5006
5007 // CHECK: vpsubsw 2032(%rdx), %xmm24, %xmm26
5008 // CHECK:  encoding: [0x62,0x61,0x3d,0x00,0xe9,0x52,0x7f]
5009           vpsubsw 2032(%rdx), %xmm24, %xmm26
5010
5011 // CHECK: vpsubsw 2048(%rdx), %xmm24, %xmm26
5012 // CHECK:  encoding: [0x62,0x61,0x3d,0x00,0xe9,0x92,0x00,0x08,0x00,0x00]
5013           vpsubsw 2048(%rdx), %xmm24, %xmm26
5014
5015 // CHECK: vpsubsw -2048(%rdx), %xmm24, %xmm26
5016 // CHECK:  encoding: [0x62,0x61,0x3d,0x00,0xe9,0x52,0x80]
5017           vpsubsw -2048(%rdx), %xmm24, %xmm26
5018
5019 // CHECK: vpsubsw -2064(%rdx), %xmm24, %xmm26
5020 // CHECK:  encoding: [0x62,0x61,0x3d,0x00,0xe9,0x92,0xf0,0xf7,0xff,0xff]
5021           vpsubsw -2064(%rdx), %xmm24, %xmm26
5022
5023 // CHECK: vpsubsw %ymm19, %ymm27, %ymm20
5024 // CHECK:  encoding: [0x62,0xa1,0x25,0x20,0xe9,0xe3]
5025           vpsubsw %ymm19, %ymm27, %ymm20
5026
5027 // CHECK: vpsubsw %ymm19, %ymm27, %ymm20 {%k3}
5028 // CHECK:  encoding: [0x62,0xa1,0x25,0x23,0xe9,0xe3]
5029           vpsubsw %ymm19, %ymm27, %ymm20 {%k3}
5030
5031 // CHECK: vpsubsw %ymm19, %ymm27, %ymm20 {%k3} {z}
5032 // CHECK:  encoding: [0x62,0xa1,0x25,0xa3,0xe9,0xe3]
5033           vpsubsw %ymm19, %ymm27, %ymm20 {%k3} {z}
5034
5035 // CHECK: vpsubsw (%rcx), %ymm27, %ymm20
5036 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xe9,0x21]
5037           vpsubsw (%rcx), %ymm27, %ymm20
5038
5039 // CHECK: vpsubsw 291(%rax,%r14,8), %ymm27, %ymm20
5040 // CHECK:  encoding: [0x62,0xa1,0x25,0x20,0xe9,0xa4,0xf0,0x23,0x01,0x00,0x00]
5041           vpsubsw 291(%rax,%r14,8), %ymm27, %ymm20
5042
5043 // CHECK: vpsubsw 4064(%rdx), %ymm27, %ymm20
5044 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xe9,0x62,0x7f]
5045           vpsubsw 4064(%rdx), %ymm27, %ymm20
5046
5047 // CHECK: vpsubsw 4096(%rdx), %ymm27, %ymm20
5048 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xe9,0xa2,0x00,0x10,0x00,0x00]
5049           vpsubsw 4096(%rdx), %ymm27, %ymm20
5050
5051 // CHECK: vpsubsw -4096(%rdx), %ymm27, %ymm20
5052 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xe9,0x62,0x80]
5053           vpsubsw -4096(%rdx), %ymm27, %ymm20
5054
5055 // CHECK: vpsubsw -4128(%rdx), %ymm27, %ymm20
5056 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xe9,0xa2,0xe0,0xef,0xff,0xff]
5057           vpsubsw -4128(%rdx), %ymm27, %ymm20
5058
5059 // CHECK: vpsubusb %xmm25, %xmm19, %xmm20
5060 // CHECK:  encoding: [0x62,0x81,0x65,0x00,0xd8,0xe1]
5061           vpsubusb %xmm25, %xmm19, %xmm20
5062
5063 // CHECK: vpsubusb %xmm25, %xmm19, %xmm20 {%k6}
5064 // CHECK:  encoding: [0x62,0x81,0x65,0x06,0xd8,0xe1]
5065           vpsubusb %xmm25, %xmm19, %xmm20 {%k6}
5066
5067 // CHECK: vpsubusb %xmm25, %xmm19, %xmm20 {%k6} {z}
5068 // CHECK:  encoding: [0x62,0x81,0x65,0x86,0xd8,0xe1]
5069           vpsubusb %xmm25, %xmm19, %xmm20 {%k6} {z}
5070
5071 // CHECK: vpsubusb (%rcx), %xmm19, %xmm20
5072 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xd8,0x21]
5073           vpsubusb (%rcx), %xmm19, %xmm20
5074
5075 // CHECK: vpsubusb 291(%rax,%r14,8), %xmm19, %xmm20
5076 // CHECK:  encoding: [0x62,0xa1,0x65,0x00,0xd8,0xa4,0xf0,0x23,0x01,0x00,0x00]
5077           vpsubusb 291(%rax,%r14,8), %xmm19, %xmm20
5078
5079 // CHECK: vpsubusb 2032(%rdx), %xmm19, %xmm20
5080 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xd8,0x62,0x7f]
5081           vpsubusb 2032(%rdx), %xmm19, %xmm20
5082
5083 // CHECK: vpsubusb 2048(%rdx), %xmm19, %xmm20
5084 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xd8,0xa2,0x00,0x08,0x00,0x00]
5085           vpsubusb 2048(%rdx), %xmm19, %xmm20
5086
5087 // CHECK: vpsubusb -2048(%rdx), %xmm19, %xmm20
5088 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xd8,0x62,0x80]
5089           vpsubusb -2048(%rdx), %xmm19, %xmm20
5090
5091 // CHECK: vpsubusb -2064(%rdx), %xmm19, %xmm20
5092 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xd8,0xa2,0xf0,0xf7,0xff,0xff]
5093           vpsubusb -2064(%rdx), %xmm19, %xmm20
5094
5095 // CHECK: vpsubusb %ymm19, %ymm19, %ymm21
5096 // CHECK:  encoding: [0x62,0xa1,0x65,0x20,0xd8,0xeb]
5097           vpsubusb %ymm19, %ymm19, %ymm21
5098
5099 // CHECK: vpsubusb %ymm19, %ymm19, %ymm21 {%k3}
5100 // CHECK:  encoding: [0x62,0xa1,0x65,0x23,0xd8,0xeb]
5101           vpsubusb %ymm19, %ymm19, %ymm21 {%k3}
5102
5103 // CHECK: vpsubusb %ymm19, %ymm19, %ymm21 {%k3} {z}
5104 // CHECK:  encoding: [0x62,0xa1,0x65,0xa3,0xd8,0xeb]
5105           vpsubusb %ymm19, %ymm19, %ymm21 {%k3} {z}
5106
5107 // CHECK: vpsubusb (%rcx), %ymm19, %ymm21
5108 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xd8,0x29]
5109           vpsubusb (%rcx), %ymm19, %ymm21
5110
5111 // CHECK: vpsubusb 291(%rax,%r14,8), %ymm19, %ymm21
5112 // CHECK:  encoding: [0x62,0xa1,0x65,0x20,0xd8,0xac,0xf0,0x23,0x01,0x00,0x00]
5113           vpsubusb 291(%rax,%r14,8), %ymm19, %ymm21
5114
5115 // CHECK: vpsubusb 4064(%rdx), %ymm19, %ymm21
5116 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xd8,0x6a,0x7f]
5117           vpsubusb 4064(%rdx), %ymm19, %ymm21
5118
5119 // CHECK: vpsubusb 4096(%rdx), %ymm19, %ymm21
5120 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xd8,0xaa,0x00,0x10,0x00,0x00]
5121           vpsubusb 4096(%rdx), %ymm19, %ymm21
5122
5123 // CHECK: vpsubusb -4096(%rdx), %ymm19, %ymm21
5124 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xd8,0x6a,0x80]
5125           vpsubusb -4096(%rdx), %ymm19, %ymm21
5126
5127 // CHECK: vpsubusb -4128(%rdx), %ymm19, %ymm21
5128 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xd8,0xaa,0xe0,0xef,0xff,0xff]
5129           vpsubusb -4128(%rdx), %ymm19, %ymm21
5130
5131 // CHECK: vpsubusw %xmm22, %xmm20, %xmm23
5132 // CHECK:  encoding: [0x62,0xa1,0x5d,0x00,0xd9,0xfe]
5133           vpsubusw %xmm22, %xmm20, %xmm23
5134
5135 // CHECK: vpsubusw %xmm22, %xmm20, %xmm23 {%k1}
5136 // CHECK:  encoding: [0x62,0xa1,0x5d,0x01,0xd9,0xfe]
5137           vpsubusw %xmm22, %xmm20, %xmm23 {%k1}
5138
5139 // CHECK: vpsubusw %xmm22, %xmm20, %xmm23 {%k1} {z}
5140 // CHECK:  encoding: [0x62,0xa1,0x5d,0x81,0xd9,0xfe]
5141           vpsubusw %xmm22, %xmm20, %xmm23 {%k1} {z}
5142
5143 // CHECK: vpsubusw (%rcx), %xmm20, %xmm23
5144 // CHECK:  encoding: [0x62,0xe1,0x5d,0x00,0xd9,0x39]
5145           vpsubusw (%rcx), %xmm20, %xmm23
5146
5147 // CHECK: vpsubusw 291(%rax,%r14,8), %xmm20, %xmm23
5148 // CHECK:  encoding: [0x62,0xa1,0x5d,0x00,0xd9,0xbc,0xf0,0x23,0x01,0x00,0x00]
5149           vpsubusw 291(%rax,%r14,8), %xmm20, %xmm23
5150
5151 // CHECK: vpsubusw 2032(%rdx), %xmm20, %xmm23
5152 // CHECK:  encoding: [0x62,0xe1,0x5d,0x00,0xd9,0x7a,0x7f]
5153           vpsubusw 2032(%rdx), %xmm20, %xmm23
5154
5155 // CHECK: vpsubusw 2048(%rdx), %xmm20, %xmm23
5156 // CHECK:  encoding: [0x62,0xe1,0x5d,0x00,0xd9,0xba,0x00,0x08,0x00,0x00]
5157           vpsubusw 2048(%rdx), %xmm20, %xmm23
5158
5159 // CHECK: vpsubusw -2048(%rdx), %xmm20, %xmm23
5160 // CHECK:  encoding: [0x62,0xe1,0x5d,0x00,0xd9,0x7a,0x80]
5161           vpsubusw -2048(%rdx), %xmm20, %xmm23
5162
5163 // CHECK: vpsubusw -2064(%rdx), %xmm20, %xmm23
5164 // CHECK:  encoding: [0x62,0xe1,0x5d,0x00,0xd9,0xba,0xf0,0xf7,0xff,0xff]
5165           vpsubusw -2064(%rdx), %xmm20, %xmm23
5166
5167 // CHECK: vpsubusw %ymm28, %ymm17, %ymm27
5168 // CHECK:  encoding: [0x62,0x01,0x75,0x20,0xd9,0xdc]
5169           vpsubusw %ymm28, %ymm17, %ymm27
5170
5171 // CHECK: vpsubusw %ymm28, %ymm17, %ymm27 {%k3}
5172 // CHECK:  encoding: [0x62,0x01,0x75,0x23,0xd9,0xdc]
5173           vpsubusw %ymm28, %ymm17, %ymm27 {%k3}
5174
5175 // CHECK: vpsubusw %ymm28, %ymm17, %ymm27 {%k3} {z}
5176 // CHECK:  encoding: [0x62,0x01,0x75,0xa3,0xd9,0xdc]
5177           vpsubusw %ymm28, %ymm17, %ymm27 {%k3} {z}
5178
5179 // CHECK: vpsubusw (%rcx), %ymm17, %ymm27
5180 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x19]
5181           vpsubusw (%rcx), %ymm17, %ymm27
5182
5183 // CHECK: vpsubusw 291(%rax,%r14,8), %ymm17, %ymm27
5184 // CHECK:  encoding: [0x62,0x21,0x75,0x20,0xd9,0x9c,0xf0,0x23,0x01,0x00,0x00]
5185           vpsubusw 291(%rax,%r14,8), %ymm17, %ymm27
5186
5187 // CHECK: vpsubusw 4064(%rdx), %ymm17, %ymm27
5188 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x5a,0x7f]
5189           vpsubusw 4064(%rdx), %ymm17, %ymm27
5190
5191 // CHECK: vpsubusw 4096(%rdx), %ymm17, %ymm27
5192 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x9a,0x00,0x10,0x00,0x00]
5193           vpsubusw 4096(%rdx), %ymm17, %ymm27
5194
5195 // CHECK: vpsubusw -4096(%rdx), %ymm17, %ymm27
5196 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x5a,0x80]
5197           vpsubusw -4096(%rdx), %ymm17, %ymm27
5198
5199 // CHECK: vpsubusw -4128(%rdx), %ymm17, %ymm27
5200 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x9a,0xe0,0xef,0xff,0xff]
5201           vpsubusw -4128(%rdx), %ymm17, %ymm27
5202
5203 // CHECK: vpaddsb %xmm18, %xmm23, %xmm17
5204 // CHECK:  encoding: [0x62,0xa1,0x45,0x00,0xec,0xca]
5205           vpaddsb %xmm18, %xmm23, %xmm17
5206
5207 // CHECK: vpaddsb %xmm18, %xmm23, %xmm17 {%k2}
5208 // CHECK:  encoding: [0x62,0xa1,0x45,0x02,0xec,0xca]
5209           vpaddsb %xmm18, %xmm23, %xmm17 {%k2}
5210
5211 // CHECK: vpaddsb %xmm18, %xmm23, %xmm17 {%k2} {z}
5212 // CHECK:  encoding: [0x62,0xa1,0x45,0x82,0xec,0xca]
5213           vpaddsb %xmm18, %xmm23, %xmm17 {%k2} {z}
5214
5215 // CHECK: vpaddsb (%rcx), %xmm23, %xmm17
5216 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xec,0x09]
5217           vpaddsb (%rcx), %xmm23, %xmm17
5218
5219 // CHECK: vpaddsb 4660(%rax,%r14,8), %xmm23, %xmm17
5220 // CHECK:  encoding: [0x62,0xa1,0x45,0x00,0xec,0x8c,0xf0,0x34,0x12,0x00,0x00]
5221           vpaddsb 4660(%rax,%r14,8), %xmm23, %xmm17
5222
5223 // CHECK: vpaddsb 2032(%rdx), %xmm23, %xmm17
5224 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xec,0x4a,0x7f]
5225           vpaddsb 2032(%rdx), %xmm23, %xmm17
5226
5227 // CHECK: vpaddsb 2048(%rdx), %xmm23, %xmm17
5228 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xec,0x8a,0x00,0x08,0x00,0x00]
5229           vpaddsb 2048(%rdx), %xmm23, %xmm17
5230
5231 // CHECK: vpaddsb -2048(%rdx), %xmm23, %xmm17
5232 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xec,0x4a,0x80]
5233           vpaddsb -2048(%rdx), %xmm23, %xmm17
5234
5235 // CHECK: vpaddsb -2064(%rdx), %xmm23, %xmm17
5236 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xec,0x8a,0xf0,0xf7,0xff,0xff]
5237           vpaddsb -2064(%rdx), %xmm23, %xmm17
5238
5239 // CHECK: vpaddsb %ymm19, %ymm26, %ymm20
5240 // CHECK:  encoding: [0x62,0xa1,0x2d,0x20,0xec,0xe3]
5241           vpaddsb %ymm19, %ymm26, %ymm20
5242
5243 // CHECK: vpaddsb %ymm19, %ymm26, %ymm20 {%k2}
5244 // CHECK:  encoding: [0x62,0xa1,0x2d,0x22,0xec,0xe3]
5245           vpaddsb %ymm19, %ymm26, %ymm20 {%k2}
5246
5247 // CHECK: vpaddsb %ymm19, %ymm26, %ymm20 {%k2} {z}
5248 // CHECK:  encoding: [0x62,0xa1,0x2d,0xa2,0xec,0xe3]
5249           vpaddsb %ymm19, %ymm26, %ymm20 {%k2} {z}
5250
5251 // CHECK: vpaddsb (%rcx), %ymm26, %ymm20
5252 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xec,0x21]
5253           vpaddsb (%rcx), %ymm26, %ymm20
5254
5255 // CHECK: vpaddsb 4660(%rax,%r14,8), %ymm26, %ymm20
5256 // CHECK:  encoding: [0x62,0xa1,0x2d,0x20,0xec,0xa4,0xf0,0x34,0x12,0x00,0x00]
5257           vpaddsb 4660(%rax,%r14,8), %ymm26, %ymm20
5258
5259 // CHECK: vpaddsb 4064(%rdx), %ymm26, %ymm20
5260 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xec,0x62,0x7f]
5261           vpaddsb 4064(%rdx), %ymm26, %ymm20
5262
5263 // CHECK: vpaddsb 4096(%rdx), %ymm26, %ymm20
5264 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xec,0xa2,0x00,0x10,0x00,0x00]
5265           vpaddsb 4096(%rdx), %ymm26, %ymm20
5266
5267 // CHECK: vpaddsb -4096(%rdx), %ymm26, %ymm20
5268 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xec,0x62,0x80]
5269           vpaddsb -4096(%rdx), %ymm26, %ymm20
5270
5271 // CHECK: vpaddsb -4128(%rdx), %ymm26, %ymm20
5272 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xec,0xa2,0xe0,0xef,0xff,0xff]
5273           vpaddsb -4128(%rdx), %ymm26, %ymm20
5274
5275 // CHECK: vpaddsw %xmm26, %xmm17, %xmm26
5276 // CHECK:  encoding: [0x62,0x01,0x75,0x00,0xed,0xd2]
5277           vpaddsw %xmm26, %xmm17, %xmm26
5278
5279 // CHECK: vpaddsw %xmm26, %xmm17, %xmm26 {%k6}
5280 // CHECK:  encoding: [0x62,0x01,0x75,0x06,0xed,0xd2]
5281           vpaddsw %xmm26, %xmm17, %xmm26 {%k6}
5282
5283 // CHECK: vpaddsw %xmm26, %xmm17, %xmm26 {%k6} {z}
5284 // CHECK:  encoding: [0x62,0x01,0x75,0x86,0xed,0xd2]
5285           vpaddsw %xmm26, %xmm17, %xmm26 {%k6} {z}
5286
5287 // CHECK: vpaddsw (%rcx), %xmm17, %xmm26
5288 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xed,0x11]
5289           vpaddsw (%rcx), %xmm17, %xmm26
5290
5291 // CHECK: vpaddsw 4660(%rax,%r14,8), %xmm17, %xmm26
5292 // CHECK:  encoding: [0x62,0x21,0x75,0x00,0xed,0x94,0xf0,0x34,0x12,0x00,0x00]
5293           vpaddsw 4660(%rax,%r14,8), %xmm17, %xmm26
5294
5295 // CHECK: vpaddsw 2032(%rdx), %xmm17, %xmm26
5296 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xed,0x52,0x7f]
5297           vpaddsw 2032(%rdx), %xmm17, %xmm26
5298
5299 // CHECK: vpaddsw 2048(%rdx), %xmm17, %xmm26
5300 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xed,0x92,0x00,0x08,0x00,0x00]
5301           vpaddsw 2048(%rdx), %xmm17, %xmm26
5302
5303 // CHECK: vpaddsw -2048(%rdx), %xmm17, %xmm26
5304 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xed,0x52,0x80]
5305           vpaddsw -2048(%rdx), %xmm17, %xmm26
5306
5307 // CHECK: vpaddsw -2064(%rdx), %xmm17, %xmm26
5308 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xed,0x92,0xf0,0xf7,0xff,0xff]
5309           vpaddsw -2064(%rdx), %xmm17, %xmm26
5310
5311 // CHECK: vpaddsw %ymm23, %ymm27, %ymm28
5312 // CHECK:  encoding: [0x62,0x21,0x25,0x20,0xed,0xe7]
5313           vpaddsw %ymm23, %ymm27, %ymm28
5314
5315 // CHECK: vpaddsw %ymm23, %ymm27, %ymm28 {%k4}
5316 // CHECK:  encoding: [0x62,0x21,0x25,0x24,0xed,0xe7]
5317           vpaddsw %ymm23, %ymm27, %ymm28 {%k4}
5318
5319 // CHECK: vpaddsw %ymm23, %ymm27, %ymm28 {%k4} {z}
5320 // CHECK:  encoding: [0x62,0x21,0x25,0xa4,0xed,0xe7]
5321           vpaddsw %ymm23, %ymm27, %ymm28 {%k4} {z}
5322
5323 // CHECK: vpaddsw (%rcx), %ymm27, %ymm28
5324 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xed,0x21]
5325           vpaddsw (%rcx), %ymm27, %ymm28
5326
5327 // CHECK: vpaddsw 4660(%rax,%r14,8), %ymm27, %ymm28
5328 // CHECK:  encoding: [0x62,0x21,0x25,0x20,0xed,0xa4,0xf0,0x34,0x12,0x00,0x00]
5329           vpaddsw 4660(%rax,%r14,8), %ymm27, %ymm28
5330
5331 // CHECK: vpaddsw 4064(%rdx), %ymm27, %ymm28
5332 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xed,0x62,0x7f]
5333           vpaddsw 4064(%rdx), %ymm27, %ymm28
5334
5335 // CHECK: vpaddsw 4096(%rdx), %ymm27, %ymm28
5336 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xed,0xa2,0x00,0x10,0x00,0x00]
5337           vpaddsw 4096(%rdx), %ymm27, %ymm28
5338
5339 // CHECK: vpaddsw -4096(%rdx), %ymm27, %ymm28
5340 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xed,0x62,0x80]
5341           vpaddsw -4096(%rdx), %ymm27, %ymm28
5342
5343 // CHECK: vpaddsw -4128(%rdx), %ymm27, %ymm28
5344 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xed,0xa2,0xe0,0xef,0xff,0xff]
5345           vpaddsw -4128(%rdx), %ymm27, %ymm28
5346
5347 // CHECK: vpaddusb %xmm18, %xmm21, %xmm17
5348 // CHECK:  encoding: [0x62,0xa1,0x55,0x00,0xdc,0xca]
5349           vpaddusb %xmm18, %xmm21, %xmm17
5350
5351 // CHECK: vpaddusb %xmm18, %xmm21, %xmm17 {%k4}
5352 // CHECK:  encoding: [0x62,0xa1,0x55,0x04,0xdc,0xca]
5353           vpaddusb %xmm18, %xmm21, %xmm17 {%k4}
5354
5355 // CHECK: vpaddusb %xmm18, %xmm21, %xmm17 {%k4} {z}
5356 // CHECK:  encoding: [0x62,0xa1,0x55,0x84,0xdc,0xca]
5357           vpaddusb %xmm18, %xmm21, %xmm17 {%k4} {z}
5358
5359 // CHECK: vpaddusb (%rcx), %xmm21, %xmm17
5360 // CHECK:  encoding: [0x62,0xe1,0x55,0x00,0xdc,0x09]
5361           vpaddusb (%rcx), %xmm21, %xmm17
5362
5363 // CHECK: vpaddusb 4660(%rax,%r14,8), %xmm21, %xmm17
5364 // CHECK:  encoding: [0x62,0xa1,0x55,0x00,0xdc,0x8c,0xf0,0x34,0x12,0x00,0x00]
5365           vpaddusb 4660(%rax,%r14,8), %xmm21, %xmm17
5366
5367 // CHECK: vpaddusb 2032(%rdx), %xmm21, %xmm17
5368 // CHECK:  encoding: [0x62,0xe1,0x55,0x00,0xdc,0x4a,0x7f]
5369           vpaddusb 2032(%rdx), %xmm21, %xmm17
5370
5371 // CHECK: vpaddusb 2048(%rdx), %xmm21, %xmm17
5372 // CHECK:  encoding: [0x62,0xe1,0x55,0x00,0xdc,0x8a,0x00,0x08,0x00,0x00]
5373           vpaddusb 2048(%rdx), %xmm21, %xmm17
5374
5375 // CHECK: vpaddusb -2048(%rdx), %xmm21, %xmm17
5376 // CHECK:  encoding: [0x62,0xe1,0x55,0x00,0xdc,0x4a,0x80]
5377           vpaddusb -2048(%rdx), %xmm21, %xmm17
5378
5379 // CHECK: vpaddusb -2064(%rdx), %xmm21, %xmm17
5380 // CHECK:  encoding: [0x62,0xe1,0x55,0x00,0xdc,0x8a,0xf0,0xf7,0xff,0xff]
5381           vpaddusb -2064(%rdx), %xmm21, %xmm17
5382
5383 // CHECK: vpaddusb %ymm24, %ymm20, %ymm21
5384 // CHECK:  encoding: [0x62,0x81,0x5d,0x20,0xdc,0xe8]
5385           vpaddusb %ymm24, %ymm20, %ymm21
5386
5387 // CHECK: vpaddusb %ymm24, %ymm20, %ymm21 {%k2}
5388 // CHECK:  encoding: [0x62,0x81,0x5d,0x22,0xdc,0xe8]
5389           vpaddusb %ymm24, %ymm20, %ymm21 {%k2}
5390
5391 // CHECK: vpaddusb %ymm24, %ymm20, %ymm21 {%k2} {z}
5392 // CHECK:  encoding: [0x62,0x81,0x5d,0xa2,0xdc,0xe8]
5393           vpaddusb %ymm24, %ymm20, %ymm21 {%k2} {z}
5394
5395 // CHECK: vpaddusb (%rcx), %ymm20, %ymm21
5396 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xdc,0x29]
5397           vpaddusb (%rcx), %ymm20, %ymm21
5398
5399 // CHECK: vpaddusb 4660(%rax,%r14,8), %ymm20, %ymm21
5400 // CHECK:  encoding: [0x62,0xa1,0x5d,0x20,0xdc,0xac,0xf0,0x34,0x12,0x00,0x00]
5401           vpaddusb 4660(%rax,%r14,8), %ymm20, %ymm21
5402
5403 // CHECK: vpaddusb 4064(%rdx), %ymm20, %ymm21
5404 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xdc,0x6a,0x7f]
5405           vpaddusb 4064(%rdx), %ymm20, %ymm21
5406
5407 // CHECK: vpaddusb 4096(%rdx), %ymm20, %ymm21
5408 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xdc,0xaa,0x00,0x10,0x00,0x00]
5409           vpaddusb 4096(%rdx), %ymm20, %ymm21
5410
5411 // CHECK: vpaddusb -4096(%rdx), %ymm20, %ymm21
5412 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xdc,0x6a,0x80]
5413           vpaddusb -4096(%rdx), %ymm20, %ymm21
5414
5415 // CHECK: vpaddusb -4128(%rdx), %ymm20, %ymm21
5416 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xdc,0xaa,0xe0,0xef,0xff,0xff]
5417           vpaddusb -4128(%rdx), %ymm20, %ymm21
5418
5419 // CHECK: vpaddusw %xmm28, %xmm24, %xmm22
5420 // CHECK:  encoding: [0x62,0x81,0x3d,0x00,0xdd,0xf4]
5421           vpaddusw %xmm28, %xmm24, %xmm22
5422
5423 // CHECK: vpaddusw %xmm28, %xmm24, %xmm22 {%k6}
5424 // CHECK:  encoding: [0x62,0x81,0x3d,0x06,0xdd,0xf4]
5425           vpaddusw %xmm28, %xmm24, %xmm22 {%k6}
5426
5427 // CHECK: vpaddusw %xmm28, %xmm24, %xmm22 {%k6} {z}
5428 // CHECK:  encoding: [0x62,0x81,0x3d,0x86,0xdd,0xf4]
5429           vpaddusw %xmm28, %xmm24, %xmm22 {%k6} {z}
5430
5431 // CHECK: vpaddusw (%rcx), %xmm24, %xmm22
5432 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xdd,0x31]
5433           vpaddusw (%rcx), %xmm24, %xmm22
5434
5435 // CHECK: vpaddusw 4660(%rax,%r14,8), %xmm24, %xmm22
5436 // CHECK:  encoding: [0x62,0xa1,0x3d,0x00,0xdd,0xb4,0xf0,0x34,0x12,0x00,0x00]
5437           vpaddusw 4660(%rax,%r14,8), %xmm24, %xmm22
5438
5439 // CHECK: vpaddusw 2032(%rdx), %xmm24, %xmm22
5440 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xdd,0x72,0x7f]
5441           vpaddusw 2032(%rdx), %xmm24, %xmm22
5442
5443 // CHECK: vpaddusw 2048(%rdx), %xmm24, %xmm22
5444 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xdd,0xb2,0x00,0x08,0x00,0x00]
5445           vpaddusw 2048(%rdx), %xmm24, %xmm22
5446
5447 // CHECK: vpaddusw -2048(%rdx), %xmm24, %xmm22
5448 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xdd,0x72,0x80]
5449           vpaddusw -2048(%rdx), %xmm24, %xmm22
5450
5451 // CHECK: vpaddusw -2064(%rdx), %xmm24, %xmm22
5452 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xdd,0xb2,0xf0,0xf7,0xff,0xff]
5453           vpaddusw -2064(%rdx), %xmm24, %xmm22
5454
5455 // CHECK: vpaddusw %ymm25, %ymm19, %ymm21
5456 // CHECK:  encoding: [0x62,0x81,0x65,0x20,0xdd,0xe9]
5457           vpaddusw %ymm25, %ymm19, %ymm21
5458
5459 // CHECK: vpaddusw %ymm25, %ymm19, %ymm21 {%k2}
5460 // CHECK:  encoding: [0x62,0x81,0x65,0x22,0xdd,0xe9]
5461           vpaddusw %ymm25, %ymm19, %ymm21 {%k2}
5462
5463 // CHECK: vpaddusw %ymm25, %ymm19, %ymm21 {%k2} {z}
5464 // CHECK:  encoding: [0x62,0x81,0x65,0xa2,0xdd,0xe9]
5465           vpaddusw %ymm25, %ymm19, %ymm21 {%k2} {z}
5466
5467 // CHECK: vpaddusw (%rcx), %ymm19, %ymm21
5468 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xdd,0x29]
5469           vpaddusw (%rcx), %ymm19, %ymm21
5470
5471 // CHECK: vpaddusw 4660(%rax,%r14,8), %ymm19, %ymm21
5472 // CHECK:  encoding: [0x62,0xa1,0x65,0x20,0xdd,0xac,0xf0,0x34,0x12,0x00,0x00]
5473           vpaddusw 4660(%rax,%r14,8), %ymm19, %ymm21
5474
5475 // CHECK: vpaddusw 4064(%rdx), %ymm19, %ymm21
5476 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xdd,0x6a,0x7f]
5477           vpaddusw 4064(%rdx), %ymm19, %ymm21
5478
5479 // CHECK: vpaddusw 4096(%rdx), %ymm19, %ymm21
5480 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xdd,0xaa,0x00,0x10,0x00,0x00]
5481           vpaddusw 4096(%rdx), %ymm19, %ymm21
5482
5483 // CHECK: vpaddusw -4096(%rdx), %ymm19, %ymm21
5484 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xdd,0x6a,0x80]
5485           vpaddusw -4096(%rdx), %ymm19, %ymm21
5486
5487 // CHECK: vpaddusw -4128(%rdx), %ymm19, %ymm21
5488 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xdd,0xaa,0xe0,0xef,0xff,0xff]
5489           vpaddusw -4128(%rdx), %ymm19, %ymm21
5490
5491 // CHECK: vpsubsb %xmm22, %xmm26, %xmm20
5492 // CHECK:  encoding: [0x62,0xa1,0x2d,0x00,0xe8,0xe6]
5493           vpsubsb %xmm22, %xmm26, %xmm20
5494
5495 // CHECK: vpsubsb %xmm22, %xmm26, %xmm20 {%k1}
5496 // CHECK:  encoding: [0x62,0xa1,0x2d,0x01,0xe8,0xe6]
5497           vpsubsb %xmm22, %xmm26, %xmm20 {%k1}
5498
5499 // CHECK: vpsubsb %xmm22, %xmm26, %xmm20 {%k1} {z}
5500 // CHECK:  encoding: [0x62,0xa1,0x2d,0x81,0xe8,0xe6]
5501           vpsubsb %xmm22, %xmm26, %xmm20 {%k1} {z}
5502
5503 // CHECK: vpsubsb (%rcx), %xmm26, %xmm20
5504 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xe8,0x21]
5505           vpsubsb (%rcx), %xmm26, %xmm20
5506
5507 // CHECK: vpsubsb 4660(%rax,%r14,8), %xmm26, %xmm20
5508 // CHECK:  encoding: [0x62,0xa1,0x2d,0x00,0xe8,0xa4,0xf0,0x34,0x12,0x00,0x00]
5509           vpsubsb 4660(%rax,%r14,8), %xmm26, %xmm20
5510
5511 // CHECK: vpsubsb 2032(%rdx), %xmm26, %xmm20
5512 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xe8,0x62,0x7f]
5513           vpsubsb 2032(%rdx), %xmm26, %xmm20
5514
5515 // CHECK: vpsubsb 2048(%rdx), %xmm26, %xmm20
5516 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xe8,0xa2,0x00,0x08,0x00,0x00]
5517           vpsubsb 2048(%rdx), %xmm26, %xmm20
5518
5519 // CHECK: vpsubsb -2048(%rdx), %xmm26, %xmm20
5520 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xe8,0x62,0x80]
5521           vpsubsb -2048(%rdx), %xmm26, %xmm20
5522
5523 // CHECK: vpsubsb -2064(%rdx), %xmm26, %xmm20
5524 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xe8,0xa2,0xf0,0xf7,0xff,0xff]
5525           vpsubsb -2064(%rdx), %xmm26, %xmm20
5526
5527 // CHECK: vpsubsb %ymm26, %ymm18, %ymm25
5528 // CHECK:  encoding: [0x62,0x01,0x6d,0x20,0xe8,0xca]
5529           vpsubsb %ymm26, %ymm18, %ymm25
5530
5531 // CHECK: vpsubsb %ymm26, %ymm18, %ymm25 {%k6}
5532 // CHECK:  encoding: [0x62,0x01,0x6d,0x26,0xe8,0xca]
5533           vpsubsb %ymm26, %ymm18, %ymm25 {%k6}
5534
5535 // CHECK: vpsubsb %ymm26, %ymm18, %ymm25 {%k6} {z}
5536 // CHECK:  encoding: [0x62,0x01,0x6d,0xa6,0xe8,0xca]
5537           vpsubsb %ymm26, %ymm18, %ymm25 {%k6} {z}
5538
5539 // CHECK: vpsubsb (%rcx), %ymm18, %ymm25
5540 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xe8,0x09]
5541           vpsubsb (%rcx), %ymm18, %ymm25
5542
5543 // CHECK: vpsubsb 4660(%rax,%r14,8), %ymm18, %ymm25
5544 // CHECK:  encoding: [0x62,0x21,0x6d,0x20,0xe8,0x8c,0xf0,0x34,0x12,0x00,0x00]
5545           vpsubsb 4660(%rax,%r14,8), %ymm18, %ymm25
5546
5547 // CHECK: vpsubsb 4064(%rdx), %ymm18, %ymm25
5548 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xe8,0x4a,0x7f]
5549           vpsubsb 4064(%rdx), %ymm18, %ymm25
5550
5551 // CHECK: vpsubsb 4096(%rdx), %ymm18, %ymm25
5552 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xe8,0x8a,0x00,0x10,0x00,0x00]
5553           vpsubsb 4096(%rdx), %ymm18, %ymm25
5554
5555 // CHECK: vpsubsb -4096(%rdx), %ymm18, %ymm25
5556 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xe8,0x4a,0x80]
5557           vpsubsb -4096(%rdx), %ymm18, %ymm25
5558
5559 // CHECK: vpsubsb -4128(%rdx), %ymm18, %ymm25
5560 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xe8,0x8a,0xe0,0xef,0xff,0xff]
5561           vpsubsb -4128(%rdx), %ymm18, %ymm25
5562
5563 // CHECK: vpsubsw %xmm28, %xmm27, %xmm26
5564 // CHECK:  encoding: [0x62,0x01,0x25,0x00,0xe9,0xd4]
5565           vpsubsw %xmm28, %xmm27, %xmm26
5566
5567 // CHECK: vpsubsw %xmm28, %xmm27, %xmm26 {%k5}
5568 // CHECK:  encoding: [0x62,0x01,0x25,0x05,0xe9,0xd4]
5569           vpsubsw %xmm28, %xmm27, %xmm26 {%k5}
5570
5571 // CHECK: vpsubsw %xmm28, %xmm27, %xmm26 {%k5} {z}
5572 // CHECK:  encoding: [0x62,0x01,0x25,0x85,0xe9,0xd4]
5573           vpsubsw %xmm28, %xmm27, %xmm26 {%k5} {z}
5574
5575 // CHECK: vpsubsw (%rcx), %xmm27, %xmm26
5576 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xe9,0x11]
5577           vpsubsw (%rcx), %xmm27, %xmm26
5578
5579 // CHECK: vpsubsw 4660(%rax,%r14,8), %xmm27, %xmm26
5580 // CHECK:  encoding: [0x62,0x21,0x25,0x00,0xe9,0x94,0xf0,0x34,0x12,0x00,0x00]
5581           vpsubsw 4660(%rax,%r14,8), %xmm27, %xmm26
5582
5583 // CHECK: vpsubsw 2032(%rdx), %xmm27, %xmm26
5584 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xe9,0x52,0x7f]
5585           vpsubsw 2032(%rdx), %xmm27, %xmm26
5586
5587 // CHECK: vpsubsw 2048(%rdx), %xmm27, %xmm26
5588 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xe9,0x92,0x00,0x08,0x00,0x00]
5589           vpsubsw 2048(%rdx), %xmm27, %xmm26
5590
5591 // CHECK: vpsubsw -2048(%rdx), %xmm27, %xmm26
5592 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xe9,0x52,0x80]
5593           vpsubsw -2048(%rdx), %xmm27, %xmm26
5594
5595 // CHECK: vpsubsw -2064(%rdx), %xmm27, %xmm26
5596 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xe9,0x92,0xf0,0xf7,0xff,0xff]
5597           vpsubsw -2064(%rdx), %xmm27, %xmm26
5598
5599 // CHECK: vpsubsw %ymm21, %ymm25, %ymm22
5600 // CHECK:  encoding: [0x62,0xa1,0x35,0x20,0xe9,0xf5]
5601           vpsubsw %ymm21, %ymm25, %ymm22
5602
5603 // CHECK: vpsubsw %ymm21, %ymm25, %ymm22 {%k3}
5604 // CHECK:  encoding: [0x62,0xa1,0x35,0x23,0xe9,0xf5]
5605           vpsubsw %ymm21, %ymm25, %ymm22 {%k3}
5606
5607 // CHECK: vpsubsw %ymm21, %ymm25, %ymm22 {%k3} {z}
5608 // CHECK:  encoding: [0x62,0xa1,0x35,0xa3,0xe9,0xf5]
5609           vpsubsw %ymm21, %ymm25, %ymm22 {%k3} {z}
5610
5611 // CHECK: vpsubsw (%rcx), %ymm25, %ymm22
5612 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe9,0x31]
5613           vpsubsw (%rcx), %ymm25, %ymm22
5614
5615 // CHECK: vpsubsw 4660(%rax,%r14,8), %ymm25, %ymm22
5616 // CHECK:  encoding: [0x62,0xa1,0x35,0x20,0xe9,0xb4,0xf0,0x34,0x12,0x00,0x00]
5617           vpsubsw 4660(%rax,%r14,8), %ymm25, %ymm22
5618
5619 // CHECK: vpsubsw 4064(%rdx), %ymm25, %ymm22
5620 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe9,0x72,0x7f]
5621           vpsubsw 4064(%rdx), %ymm25, %ymm22
5622
5623 // CHECK: vpsubsw 4096(%rdx), %ymm25, %ymm22
5624 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe9,0xb2,0x00,0x10,0x00,0x00]
5625           vpsubsw 4096(%rdx), %ymm25, %ymm22
5626
5627 // CHECK: vpsubsw -4096(%rdx), %ymm25, %ymm22
5628 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe9,0x72,0x80]
5629           vpsubsw -4096(%rdx), %ymm25, %ymm22
5630
5631 // CHECK: vpsubsw -4128(%rdx), %ymm25, %ymm22
5632 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe9,0xb2,0xe0,0xef,0xff,0xff]
5633           vpsubsw -4128(%rdx), %ymm25, %ymm22
5634
5635 // CHECK: vpsubusb %xmm26, %xmm27, %xmm18
5636 // CHECK:  encoding: [0x62,0x81,0x25,0x00,0xd8,0xd2]
5637           vpsubusb %xmm26, %xmm27, %xmm18
5638
5639 // CHECK: vpsubusb %xmm26, %xmm27, %xmm18 {%k2}
5640 // CHECK:  encoding: [0x62,0x81,0x25,0x02,0xd8,0xd2]
5641           vpsubusb %xmm26, %xmm27, %xmm18 {%k2}
5642
5643 // CHECK: vpsubusb %xmm26, %xmm27, %xmm18 {%k2} {z}
5644 // CHECK:  encoding: [0x62,0x81,0x25,0x82,0xd8,0xd2]
5645           vpsubusb %xmm26, %xmm27, %xmm18 {%k2} {z}
5646
5647 // CHECK: vpsubusb (%rcx), %xmm27, %xmm18
5648 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x11]
5649           vpsubusb (%rcx), %xmm27, %xmm18
5650
5651 // CHECK: vpsubusb 4660(%rax,%r14,8), %xmm27, %xmm18
5652 // CHECK:  encoding: [0x62,0xa1,0x25,0x00,0xd8,0x94,0xf0,0x34,0x12,0x00,0x00]
5653           vpsubusb 4660(%rax,%r14,8), %xmm27, %xmm18
5654
5655 // CHECK: vpsubusb 2032(%rdx), %xmm27, %xmm18
5656 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x52,0x7f]
5657           vpsubusb 2032(%rdx), %xmm27, %xmm18
5658
5659 // CHECK: vpsubusb 2048(%rdx), %xmm27, %xmm18
5660 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x92,0x00,0x08,0x00,0x00]
5661           vpsubusb 2048(%rdx), %xmm27, %xmm18
5662
5663 // CHECK: vpsubusb -2048(%rdx), %xmm27, %xmm18
5664 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x52,0x80]
5665           vpsubusb -2048(%rdx), %xmm27, %xmm18
5666
5667 // CHECK: vpsubusb -2064(%rdx), %xmm27, %xmm18
5668 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x92,0xf0,0xf7,0xff,0xff]
5669           vpsubusb -2064(%rdx), %xmm27, %xmm18
5670
5671 // CHECK: vpsubusb %ymm19, %ymm19, %ymm25
5672 // CHECK:  encoding: [0x62,0x21,0x65,0x20,0xd8,0xcb]
5673           vpsubusb %ymm19, %ymm19, %ymm25
5674
5675 // CHECK: vpsubusb %ymm19, %ymm19, %ymm25 {%k6}
5676 // CHECK:  encoding: [0x62,0x21,0x65,0x26,0xd8,0xcb]
5677           vpsubusb %ymm19, %ymm19, %ymm25 {%k6}
5678
5679 // CHECK: vpsubusb %ymm19, %ymm19, %ymm25 {%k6} {z}
5680 // CHECK:  encoding: [0x62,0x21,0x65,0xa6,0xd8,0xcb]
5681           vpsubusb %ymm19, %ymm19, %ymm25 {%k6} {z}
5682
5683 // CHECK: vpsubusb (%rcx), %ymm19, %ymm25
5684 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0xd8,0x09]
5685           vpsubusb (%rcx), %ymm19, %ymm25
5686
5687 // CHECK: vpsubusb 4660(%rax,%r14,8), %ymm19, %ymm25
5688 // CHECK:  encoding: [0x62,0x21,0x65,0x20,0xd8,0x8c,0xf0,0x34,0x12,0x00,0x00]
5689           vpsubusb 4660(%rax,%r14,8), %ymm19, %ymm25
5690
5691 // CHECK: vpsubusb 4064(%rdx), %ymm19, %ymm25
5692 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0xd8,0x4a,0x7f]
5693           vpsubusb 4064(%rdx), %ymm19, %ymm25
5694
5695 // CHECK: vpsubusb 4096(%rdx), %ymm19, %ymm25
5696 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0xd8,0x8a,0x00,0x10,0x00,0x00]
5697           vpsubusb 4096(%rdx), %ymm19, %ymm25
5698
5699 // CHECK: vpsubusb -4096(%rdx), %ymm19, %ymm25
5700 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0xd8,0x4a,0x80]
5701           vpsubusb -4096(%rdx), %ymm19, %ymm25
5702
5703 // CHECK: vpsubusb -4128(%rdx), %ymm19, %ymm25
5704 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0xd8,0x8a,0xe0,0xef,0xff,0xff]
5705           vpsubusb -4128(%rdx), %ymm19, %ymm25
5706
5707 // CHECK: vpsubusw %xmm25, %xmm27, %xmm21
5708 // CHECK:  encoding: [0x62,0x81,0x25,0x00,0xd9,0xe9]
5709           vpsubusw %xmm25, %xmm27, %xmm21
5710
5711 // CHECK: vpsubusw %xmm25, %xmm27, %xmm21 {%k5}
5712 // CHECK:  encoding: [0x62,0x81,0x25,0x05,0xd9,0xe9]
5713           vpsubusw %xmm25, %xmm27, %xmm21 {%k5}
5714
5715 // CHECK: vpsubusw %xmm25, %xmm27, %xmm21 {%k5} {z}
5716 // CHECK:  encoding: [0x62,0x81,0x25,0x85,0xd9,0xe9]
5717           vpsubusw %xmm25, %xmm27, %xmm21 {%k5} {z}
5718
5719 // CHECK: vpsubusw (%rcx), %xmm27, %xmm21
5720 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd9,0x29]
5721           vpsubusw (%rcx), %xmm27, %xmm21
5722
5723 // CHECK: vpsubusw 4660(%rax,%r14,8), %xmm27, %xmm21
5724 // CHECK:  encoding: [0x62,0xa1,0x25,0x00,0xd9,0xac,0xf0,0x34,0x12,0x00,0x00]
5725           vpsubusw 4660(%rax,%r14,8), %xmm27, %xmm21
5726
5727 // CHECK: vpsubusw 2032(%rdx), %xmm27, %xmm21
5728 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd9,0x6a,0x7f]
5729           vpsubusw 2032(%rdx), %xmm27, %xmm21
5730
5731 // CHECK: vpsubusw 2048(%rdx), %xmm27, %xmm21
5732 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd9,0xaa,0x00,0x08,0x00,0x00]
5733           vpsubusw 2048(%rdx), %xmm27, %xmm21
5734
5735 // CHECK: vpsubusw -2048(%rdx), %xmm27, %xmm21
5736 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd9,0x6a,0x80]
5737           vpsubusw -2048(%rdx), %xmm27, %xmm21
5738
5739 // CHECK: vpsubusw -2064(%rdx), %xmm27, %xmm21
5740 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd9,0xaa,0xf0,0xf7,0xff,0xff]
5741           vpsubusw -2064(%rdx), %xmm27, %xmm21
5742
5743 // CHECK: vpsubusw %ymm17, %ymm25, %ymm27
5744 // CHECK:  encoding: [0x62,0x21,0x35,0x20,0xd9,0xd9]
5745           vpsubusw %ymm17, %ymm25, %ymm27
5746
5747 // CHECK: vpsubusw %ymm17, %ymm25, %ymm27 {%k4}
5748 // CHECK:  encoding: [0x62,0x21,0x35,0x24,0xd9,0xd9]
5749           vpsubusw %ymm17, %ymm25, %ymm27 {%k4}
5750
5751 // CHECK: vpsubusw %ymm17, %ymm25, %ymm27 {%k4} {z}
5752 // CHECK:  encoding: [0x62,0x21,0x35,0xa4,0xd9,0xd9]
5753           vpsubusw %ymm17, %ymm25, %ymm27 {%k4} {z}
5754
5755 // CHECK: vpsubusw (%rcx), %ymm25, %ymm27
5756 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xd9,0x19]
5757           vpsubusw (%rcx), %ymm25, %ymm27
5758
5759 // CHECK: vpsubusw 4660(%rax,%r14,8), %ymm25, %ymm27
5760 // CHECK:  encoding: [0x62,0x21,0x35,0x20,0xd9,0x9c,0xf0,0x34,0x12,0x00,0x00]
5761           vpsubusw 4660(%rax,%r14,8), %ymm25, %ymm27
5762
5763 // CHECK: vpsubusw 4064(%rdx), %ymm25, %ymm27
5764 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xd9,0x5a,0x7f]
5765           vpsubusw 4064(%rdx), %ymm25, %ymm27
5766
5767 // CHECK: vpsubusw 4096(%rdx), %ymm25, %ymm27
5768 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xd9,0x9a,0x00,0x10,0x00,0x00]
5769           vpsubusw 4096(%rdx), %ymm25, %ymm27
5770
5771 // CHECK: vpsubusw -4096(%rdx), %ymm25, %ymm27
5772 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xd9,0x5a,0x80]
5773           vpsubusw -4096(%rdx), %ymm25, %ymm27
5774
5775 // CHECK: vpsubusw -4128(%rdx), %ymm25, %ymm27
5776 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xd9,0x9a,0xe0,0xef,0xff,0xff]
5777           vpsubusw -4128(%rdx), %ymm25, %ymm27
5778
5779 // CHECK: vpshufhw $171, %xmm19, %xmm23
5780 // CHECK:  encoding: [0x62,0xa1,0xfe,0x08,0x70,0xfb,0xab]
5781           vpshufhw $171, %xmm19, %xmm23
5782
5783 // CHECK: vpshufhw $171, %xmm19, %xmm23 {%k7}
5784 // CHECK:  encoding: [0x62,0xa1,0xfe,0x0f,0x70,0xfb,0xab]
5785           vpshufhw $171, %xmm19, %xmm23 {%k7}
5786
5787 // CHECK: vpshufhw $171, %xmm19, %xmm23 {%k7} {z}
5788 // CHECK:  encoding: [0x62,0xa1,0xfe,0x8f,0x70,0xfb,0xab]
5789           vpshufhw $171, %xmm19, %xmm23 {%k7} {z}
5790
5791 // CHECK: vpshufhw $123,  %xmm19, %xmm23
5792 // CHECK:  encoding: [0x62,0xa1,0xfe,0x08,0x70,0xfb,0x7b]
5793           vpshufhw $123,  %xmm19, %xmm23
5794
5795 // CHECK: vpshufhw $123,  (%rcx), %xmm23
5796 // CHECK:  encoding: [0x62,0xe1,0xfe,0x08,0x70,0x39,0x7b]
5797           vpshufhw $123, (%rcx), %xmm23
5798
5799 // CHECK: vpshufhw $123, 291(%rax,%r14,8), %xmm23
5800 // CHECK:  encoding: [0x62,0xa1,0xfe,0x08,0x70,0xbc,0xf0,0x23,0x01,0x00,0x00,0x7b]
5801           vpshufhw $123, 291(%rax,%r14,8), %xmm23
5802
5803 // CHECK: vpshufhw $123, 2032(%rdx), %xmm23
5804 // CHECK:  encoding: [0x62,0xe1,0xfe,0x08,0x70,0x7a,0x7f,0x7b]
5805           vpshufhw $123, 2032(%rdx), %xmm23
5806
5807 // CHECK: vpshufhw $123, 2048(%rdx), %xmm23
5808 // CHECK:  encoding: [0x62,0xe1,0xfe,0x08,0x70,0xba,0x00,0x08,0x00,0x00,0x7b]
5809           vpshufhw $123, 2048(%rdx), %xmm23
5810
5811 // CHECK: vpshufhw $123, -2048(%rdx), %xmm23
5812 // CHECK:  encoding: [0x62,0xe1,0xfe,0x08,0x70,0x7a,0x80,0x7b]
5813           vpshufhw $123, -2048(%rdx), %xmm23
5814
5815 // CHECK: vpshufhw $123, -2064(%rdx), %xmm23
5816 // CHECK:  encoding: [0x62,0xe1,0xfe,0x08,0x70,0xba,0xf0,0xf7,0xff,0xff,0x7b]
5817           vpshufhw $123, -2064(%rdx), %xmm23
5818
5819 // CHECK: vpshufhw $171, %ymm17, %ymm29
5820 // CHECK:  encoding: [0x62,0x21,0xfe,0x28,0x70,0xe9,0xab]
5821           vpshufhw $171, %ymm17, %ymm29
5822
5823 // CHECK: vpshufhw $171, %ymm17, %ymm29 {%k7}
5824 // CHECK:  encoding: [0x62,0x21,0xfe,0x2f,0x70,0xe9,0xab]
5825           vpshufhw $171, %ymm17, %ymm29 {%k7}
5826
5827 // CHECK: vpshufhw $171, %ymm17, %ymm29 {%k7} {z}
5828 // CHECK:  encoding: [0x62,0x21,0xfe,0xaf,0x70,0xe9,0xab]
5829           vpshufhw $171, %ymm17, %ymm29 {%k7} {z}
5830
5831 // CHECK: vpshufhw $123,  %ymm17, %ymm29
5832 // CHECK:  encoding: [0x62,0x21,0xfe,0x28,0x70,0xe9,0x7b]
5833           vpshufhw $123,  %ymm17, %ymm29
5834
5835 // CHECK: vpshufhw $123, (%rcx), %ymm29
5836 // CHECK:  encoding: [0x62,0x61,0xfe,0x28,0x70,0x29,0x7b]
5837           vpshufhw $123, (%rcx), %ymm29
5838
5839 // CHECK: vpshufhw $123, 291(%rax,%r14,8), %ymm29
5840 // CHECK:  encoding: [0x62,0x21,0xfe,0x28,0x70,0xac,0xf0,0x23,0x01,0x00,0x00,0x7b]
5841           vpshufhw $123, 291(%rax,%r14,8), %ymm29
5842
5843 // CHECK: vpshufhw $123, 4064(%rdx), %ymm29
5844 // CHECK:  encoding: [0x62,0x61,0xfe,0x28,0x70,0x6a,0x7f,0x7b]
5845           vpshufhw $123, 4064(%rdx), %ymm29
5846
5847 // CHECK: vpshufhw $123, 4096(%rdx), %ymm29
5848 // CHECK:  encoding: [0x62,0x61,0xfe,0x28,0x70,0xaa,0x00,0x10,0x00,0x00,0x7b]
5849           vpshufhw $123, 4096(%rdx), %ymm29
5850
5851 // CHECK: vpshufhw $123, -4096(%rdx), %ymm29
5852 // CHECK:  encoding: [0x62,0x61,0xfe,0x28,0x70,0x6a,0x80,0x7b]
5853           vpshufhw $123, -4096(%rdx), %ymm29
5854
5855 // CHECK: vpshufhw $123, -4128(%rdx), %ymm29
5856 // CHECK:  encoding: [0x62,0x61,0xfe,0x28,0x70,0xaa,0xe0,0xef,0xff,0xff,0x7b]
5857           vpshufhw $123, -4128(%rdx), %ymm29
5858
5859 // CHECK: vpshuflw $171, %xmm27, %xmm30
5860 // CHECK:  encoding: [0x62,0x01,0xff,0x08,0x70,0xf3,0xab]
5861           vpshuflw $171, %xmm27, %xmm30
5862
5863 // CHECK: vpshuflw $171, %xmm27, %xmm30 {%k6}
5864 // CHECK:  encoding: [0x62,0x01,0xff,0x0e,0x70,0xf3,0xab]
5865           vpshuflw $171, %xmm27, %xmm30 {%k6}
5866
5867 // CHECK: vpshuflw $171, %xmm27, %xmm30 {%k6} {z}
5868 // CHECK:  encoding: [0x62,0x01,0xff,0x8e,0x70,0xf3,0xab]
5869           vpshuflw $171, %xmm27, %xmm30 {%k6} {z}
5870
5871 // CHECK: vpshuflw $123,  %xmm27, %xmm30
5872 // CHECK:  encoding: [0x62,0x01,0xff,0x08,0x70,0xf3,0x7b]
5873           vpshuflw $123,  %xmm27, %xmm30
5874
5875 // CHECK: vpshuflw $123, (%rcx), %xmm30
5876 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x70,0x31,0x7b]
5877           vpshuflw $123, (%rcx), %xmm30
5878
5879 // CHECK: vpshuflw $123, 291(%rax,%r14,8), %xmm30
5880 // CHECK:  encoding: [0x62,0x21,0xff,0x08,0x70,0xb4,0xf0,0x23,0x01,0x00,0x00,0x7b]
5881           vpshuflw $123, 291(%rax,%r14,8), %xmm30
5882
5883 // CHECK: vpshuflw $123, 2032(%rdx), %xmm30
5884 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x70,0x72,0x7f,0x7b]
5885           vpshuflw $123, 2032(%rdx), %xmm30
5886
5887 // CHECK: vpshuflw $123, 2048(%rdx), %xmm30
5888 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x70,0xb2,0x00,0x08,0x00,0x00,0x7b]
5889           vpshuflw $123, 2048(%rdx), %xmm30
5890
5891 // CHECK: vpshuflw $123, -2048(%rdx), %xmm30
5892 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x70,0x72,0x80,0x7b]
5893           vpshuflw $123, -2048(%rdx), %xmm30
5894
5895 // CHECK: vpshuflw $123, -2064(%rdx), %xmm30
5896 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x70,0xb2,0xf0,0xf7,0xff,0xff,0x7b]
5897           vpshuflw $123, -2064(%rdx), %xmm30
5898
5899 // CHECK: vpshuflw $171, %ymm25, %ymm25
5900 // CHECK:  encoding: [0x62,0x01,0xff,0x28,0x70,0xc9,0xab]
5901           vpshuflw $171, %ymm25, %ymm25
5902
5903 // CHECK: vpshuflw $171, %ymm25, %ymm25 {%k5}
5904 // CHECK:  encoding: [0x62,0x01,0xff,0x2d,0x70,0xc9,0xab]
5905           vpshuflw $171, %ymm25, %ymm25 {%k5}
5906
5907 // CHECK: vpshuflw $171, %ymm25, %ymm25 {%k5} {z}
5908 // CHECK:  encoding: [0x62,0x01,0xff,0xad,0x70,0xc9,0xab]
5909           vpshuflw $171, %ymm25, %ymm25 {%k5} {z}
5910
5911 // CHECK: vpshuflw $123,  %ymm25, %ymm25
5912 // CHECK:  encoding: [0x62,0x01,0xff,0x28,0x70,0xc9,0x7b]
5913           vpshuflw $123,  %ymm25, %ymm25
5914
5915 // CHECK: vpshuflw $123, (%rcx), %ymm25
5916 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x70,0x09,0x7b]
5917           vpshuflw $123, (%rcx), %ymm25
5918
5919 // CHECK: vpshuflw $123, 291(%rax,%r14,8), %ymm25
5920 // CHECK:  encoding: [0x62,0x21,0xff,0x28,0x70,0x8c,0xf0,0x23,0x01,0x00,0x00,0x7b]
5921           vpshuflw $123, 291(%rax,%r14,8), %ymm25
5922
5923 // CHECK: vpshuflw $123, 4064(%rdx), %ymm25
5924 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x70,0x4a,0x7f,0x7b]
5925           vpshuflw $123, 4064(%rdx), %ymm25
5926
5927 // CHECK: vpshuflw $123, 4096(%rdx), %ymm25
5928 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x70,0x8a,0x00,0x10,0x00,0x00,0x7b]
5929           vpshuflw $123, 4096(%rdx), %ymm25
5930
5931 // CHECK: vpshuflw $123, -4096(%rdx), %ymm25
5932 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x70,0x4a,0x80,0x7b]
5933           vpshuflw $123, -4096(%rdx), %ymm25
5934
5935 // CHECK: vpshuflw $123, -4128(%rdx), %ymm25
5936 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x70,0x8a,0xe0,0xef,0xff,0xff,0x7b]
5937           vpshuflw $123, -4128(%rdx), %ymm25
5938
5939 // CHECK: vpermi2w %xmm21, %xmm29, %xmm19
5940 // CHECK:  encoding: [0x62,0xa2,0x95,0x00,0x75,0xdd]
5941           vpermi2w %xmm21, %xmm29, %xmm19
5942
5943 // CHECK: vpermi2w %xmm21, %xmm29, %xmm19 {%k2}
5944 // CHECK:  encoding: [0x62,0xa2,0x95,0x02,0x75,0xdd]
5945           vpermi2w %xmm21, %xmm29, %xmm19 {%k2}
5946
5947 // CHECK: vpermi2w %xmm21, %xmm29, %xmm19 {%k2} {z}
5948 // CHECK:  encoding: [0x62,0xa2,0x95,0x82,0x75,0xdd]
5949           vpermi2w %xmm21, %xmm29, %xmm19 {%k2} {z}
5950
5951 // CHECK: vpermi2w (%rcx), %xmm29, %xmm19
5952 // CHECK:  encoding: [0x62,0xe2,0x95,0x00,0x75,0x19]
5953           vpermi2w (%rcx), %xmm29, %xmm19
5954
5955 // CHECK: vpermi2w 291(%rax,%r14,8), %xmm29, %xmm19
5956 // CHECK:  encoding: [0x62,0xa2,0x95,0x00,0x75,0x9c,0xf0,0x23,0x01,0x00,0x00]
5957           vpermi2w 291(%rax,%r14,8), %xmm29, %xmm19
5958
5959 // CHECK: vpermi2w 2032(%rdx), %xmm29, %xmm19
5960 // CHECK:  encoding: [0x62,0xe2,0x95,0x00,0x75,0x5a,0x7f]
5961           vpermi2w 2032(%rdx), %xmm29, %xmm19
5962
5963 // CHECK: vpermi2w 2048(%rdx), %xmm29, %xmm19
5964 // CHECK:  encoding: [0x62,0xe2,0x95,0x00,0x75,0x9a,0x00,0x08,0x00,0x00]
5965           vpermi2w 2048(%rdx), %xmm29, %xmm19
5966
5967 // CHECK: vpermi2w -2048(%rdx), %xmm29, %xmm19
5968 // CHECK:  encoding: [0x62,0xe2,0x95,0x00,0x75,0x5a,0x80]
5969           vpermi2w -2048(%rdx), %xmm29, %xmm19
5970
5971 // CHECK: vpermi2w -2064(%rdx), %xmm29, %xmm19
5972 // CHECK:  encoding: [0x62,0xe2,0x95,0x00,0x75,0x9a,0xf0,0xf7,0xff,0xff]
5973           vpermi2w -2064(%rdx), %xmm29, %xmm19
5974
5975 // CHECK: vpermi2w %ymm19, %ymm25, %ymm30
5976 // CHECK:  encoding: [0x62,0x22,0xb5,0x20,0x75,0xf3]
5977           vpermi2w %ymm19, %ymm25, %ymm30
5978
5979 // CHECK: vpermi2w %ymm19, %ymm25, %ymm30 {%k3}
5980 // CHECK:  encoding: [0x62,0x22,0xb5,0x23,0x75,0xf3]
5981           vpermi2w %ymm19, %ymm25, %ymm30 {%k3}
5982
5983 // CHECK: vpermi2w %ymm19, %ymm25, %ymm30 {%k3} {z}
5984 // CHECK:  encoding: [0x62,0x22,0xb5,0xa3,0x75,0xf3]
5985           vpermi2w %ymm19, %ymm25, %ymm30 {%k3} {z}
5986
5987 // CHECK: vpermi2w (%rcx), %ymm25, %ymm30
5988 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x75,0x31]
5989           vpermi2w (%rcx), %ymm25, %ymm30
5990
5991 // CHECK: vpermi2w 291(%rax,%r14,8), %ymm25, %ymm30
5992 // CHECK:  encoding: [0x62,0x22,0xb5,0x20,0x75,0xb4,0xf0,0x23,0x01,0x00,0x00]
5993           vpermi2w 291(%rax,%r14,8), %ymm25, %ymm30
5994
5995 // CHECK: vpermi2w 4064(%rdx), %ymm25, %ymm30
5996 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x75,0x72,0x7f]
5997           vpermi2w 4064(%rdx), %ymm25, %ymm30
5998
5999 // CHECK: vpermi2w 4096(%rdx), %ymm25, %ymm30
6000 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x75,0xb2,0x00,0x10,0x00,0x00]
6001           vpermi2w 4096(%rdx), %ymm25, %ymm30
6002
6003 // CHECK: vpermi2w -4096(%rdx), %ymm25, %ymm30
6004 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x75,0x72,0x80]
6005           vpermi2w -4096(%rdx), %ymm25, %ymm30
6006
6007 // CHECK: vpermi2w -4128(%rdx), %ymm25, %ymm30
6008 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x75,0xb2,0xe0,0xef,0xff,0xff]
6009           vpermi2w -4128(%rdx), %ymm25, %ymm30
6010
6011 // CHECK: vpermt2w %xmm25, %xmm22, %xmm18
6012 // CHECK:  encoding: [0x62,0x82,0xcd,0x00,0x7d,0xd1]
6013           vpermt2w %xmm25, %xmm22, %xmm18
6014
6015 // CHECK: vpermt2w %xmm25, %xmm22, %xmm18 {%k6}
6016 // CHECK:  encoding: [0x62,0x82,0xcd,0x06,0x7d,0xd1]
6017           vpermt2w %xmm25, %xmm22, %xmm18 {%k6}
6018
6019 // CHECK: vpermt2w %xmm25, %xmm22, %xmm18 {%k6} {z}
6020 // CHECK:  encoding: [0x62,0x82,0xcd,0x86,0x7d,0xd1]
6021           vpermt2w %xmm25, %xmm22, %xmm18 {%k6} {z}
6022
6023 // CHECK: vpermt2w (%rcx), %xmm22, %xmm18
6024 // CHECK:  encoding: [0x62,0xe2,0xcd,0x00,0x7d,0x11]
6025           vpermt2w (%rcx), %xmm22, %xmm18
6026
6027 // CHECK: vpermt2w 291(%rax,%r14,8), %xmm22, %xmm18
6028 // CHECK:  encoding: [0x62,0xa2,0xcd,0x00,0x7d,0x94,0xf0,0x23,0x01,0x00,0x00]
6029           vpermt2w 291(%rax,%r14,8), %xmm22, %xmm18
6030
6031 // CHECK: vpermt2w 2032(%rdx), %xmm22, %xmm18
6032 // CHECK:  encoding: [0x62,0xe2,0xcd,0x00,0x7d,0x52,0x7f]
6033           vpermt2w 2032(%rdx), %xmm22, %xmm18
6034
6035 // CHECK: vpermt2w 2048(%rdx), %xmm22, %xmm18
6036 // CHECK:  encoding: [0x62,0xe2,0xcd,0x00,0x7d,0x92,0x00,0x08,0x00,0x00]
6037           vpermt2w 2048(%rdx), %xmm22, %xmm18
6038
6039 // CHECK: vpermt2w -2048(%rdx), %xmm22, %xmm18
6040 // CHECK:  encoding: [0x62,0xe2,0xcd,0x00,0x7d,0x52,0x80]
6041           vpermt2w -2048(%rdx), %xmm22, %xmm18
6042
6043 // CHECK: vpermt2w -2064(%rdx), %xmm22, %xmm18
6044 // CHECK:  encoding: [0x62,0xe2,0xcd,0x00,0x7d,0x92,0xf0,0xf7,0xff,0xff]
6045           vpermt2w -2064(%rdx), %xmm22, %xmm18
6046
6047 // CHECK: vpermt2w %ymm26, %ymm23, %ymm28
6048 // CHECK:  encoding: [0x62,0x02,0xc5,0x20,0x7d,0xe2]
6049           vpermt2w %ymm26, %ymm23, %ymm28
6050
6051 // CHECK: vpermt2w %ymm26, %ymm23, %ymm28 {%k4}
6052 // CHECK:  encoding: [0x62,0x02,0xc5,0x24,0x7d,0xe2]
6053           vpermt2w %ymm26, %ymm23, %ymm28 {%k4}
6054
6055 // CHECK: vpermt2w %ymm26, %ymm23, %ymm28 {%k4} {z}
6056 // CHECK:  encoding: [0x62,0x02,0xc5,0xa4,0x7d,0xe2]
6057           vpermt2w %ymm26, %ymm23, %ymm28 {%k4} {z}
6058
6059 // CHECK: vpermt2w (%rcx), %ymm23, %ymm28
6060 // CHECK:  encoding: [0x62,0x62,0xc5,0x20,0x7d,0x21]
6061           vpermt2w (%rcx), %ymm23, %ymm28
6062
6063 // CHECK: vpermt2w 291(%rax,%r14,8), %ymm23, %ymm28
6064 // CHECK:  encoding: [0x62,0x22,0xc5,0x20,0x7d,0xa4,0xf0,0x23,0x01,0x00,0x00]
6065           vpermt2w 291(%rax,%r14,8), %ymm23, %ymm28
6066
6067 // CHECK: vpermt2w 4064(%rdx), %ymm23, %ymm28
6068 // CHECK:  encoding: [0x62,0x62,0xc5,0x20,0x7d,0x62,0x7f]
6069           vpermt2w 4064(%rdx), %ymm23, %ymm28
6070
6071 // CHECK: vpermt2w 4096(%rdx), %ymm23, %ymm28
6072 // CHECK:  encoding: [0x62,0x62,0xc5,0x20,0x7d,0xa2,0x00,0x10,0x00,0x00]
6073           vpermt2w 4096(%rdx), %ymm23, %ymm28
6074
6075 // CHECK: vpermt2w -4096(%rdx), %ymm23, %ymm28
6076 // CHECK:  encoding: [0x62,0x62,0xc5,0x20,0x7d,0x62,0x80]
6077           vpermt2w -4096(%rdx), %ymm23, %ymm28
6078
6079 // CHECK: vpermt2w -4128(%rdx), %ymm23, %ymm28
6080 // CHECK:  encoding: [0x62,0x62,0xc5,0x20,0x7d,0xa2,0xe0,0xef,0xff,0xff]
6081           vpermt2w -4128(%rdx), %ymm23, %ymm28