f6ee1cc86827fc9989f1dbc3def7435f9c7c2dc6
[oota-llvm.git] / test / MC / X86 / x86-64-avx512bw_vl.s
1 // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=knl -mattr=+avx512bw -mattr=+avx512vl  --show-encoding %s | FileCheck %s
2
3 // CHECK: vpaddb %xmm22, %xmm17, %xmm26
4 // CHECK:  encoding: [0x62,0x21,0x75,0x00,0xfc,0xd6]
5           vpaddb %xmm22, %xmm17, %xmm26
6
7 // CHECK: vpaddb %xmm22, %xmm17, %xmm26 {%k5}
8 // CHECK:  encoding: [0x62,0x21,0x75,0x05,0xfc,0xd6]
9           vpaddb %xmm22, %xmm17, %xmm26 {%k5}
10
11 // CHECK: vpaddb %xmm22, %xmm17, %xmm26 {%k5} {z}
12 // CHECK:  encoding: [0x62,0x21,0x75,0x85,0xfc,0xd6]
13           vpaddb %xmm22, %xmm17, %xmm26 {%k5} {z}
14
15 // CHECK: vpaddb (%rcx), %xmm17, %xmm26
16 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xfc,0x11]
17           vpaddb (%rcx), %xmm17, %xmm26
18
19 // CHECK: vpaddb 291(%rax,%r14,8), %xmm17, %xmm26
20 // CHECK:  encoding: [0x62,0x21,0x75,0x00,0xfc,0x94,0xf0,0x23,0x01,0x00,0x00]
21           vpaddb 291(%rax,%r14,8), %xmm17, %xmm26
22
23 // CHECK: vpaddb 2032(%rdx), %xmm17, %xmm26
24 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xfc,0x52,0x7f]
25           vpaddb 2032(%rdx), %xmm17, %xmm26
26
27 // CHECK: vpaddb 2048(%rdx), %xmm17, %xmm26
28 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xfc,0x92,0x00,0x08,0x00,0x00]
29           vpaddb 2048(%rdx), %xmm17, %xmm26
30
31 // CHECK: vpaddb -2048(%rdx), %xmm17, %xmm26
32 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xfc,0x52,0x80]
33           vpaddb -2048(%rdx), %xmm17, %xmm26
34
35 // CHECK: vpaddb -2064(%rdx), %xmm17, %xmm26
36 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xfc,0x92,0xf0,0xf7,0xff,0xff]
37           vpaddb -2064(%rdx), %xmm17, %xmm26
38
39 // CHECK: vpaddb %ymm28, %ymm27, %ymm26
40 // CHECK:  encoding: [0x62,0x01,0x25,0x20,0xfc,0xd4]
41           vpaddb %ymm28, %ymm27, %ymm26
42
43 // CHECK: vpaddb %ymm28, %ymm27, %ymm26 {%k3}
44 // CHECK:  encoding: [0x62,0x01,0x25,0x23,0xfc,0xd4]
45           vpaddb %ymm28, %ymm27, %ymm26 {%k3}
46
47 // CHECK: vpaddb %ymm28, %ymm27, %ymm26 {%k3} {z}
48 // CHECK:  encoding: [0x62,0x01,0x25,0xa3,0xfc,0xd4]
49           vpaddb %ymm28, %ymm27, %ymm26 {%k3} {z}
50
51 // CHECK: vpaddb (%rcx), %ymm27, %ymm26
52 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xfc,0x11]
53           vpaddb (%rcx), %ymm27, %ymm26
54
55 // CHECK: vpaddb 291(%rax,%r14,8), %ymm27, %ymm26
56 // CHECK:  encoding: [0x62,0x21,0x25,0x20,0xfc,0x94,0xf0,0x23,0x01,0x00,0x00]
57           vpaddb 291(%rax,%r14,8), %ymm27, %ymm26
58
59 // CHECK: vpaddb 4064(%rdx), %ymm27, %ymm26
60 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xfc,0x52,0x7f]
61           vpaddb 4064(%rdx), %ymm27, %ymm26
62
63 // CHECK: vpaddb 4096(%rdx), %ymm27, %ymm26
64 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xfc,0x92,0x00,0x10,0x00,0x00]
65           vpaddb 4096(%rdx), %ymm27, %ymm26
66
67 // CHECK: vpaddb -4096(%rdx), %ymm27, %ymm26
68 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xfc,0x52,0x80]
69           vpaddb -4096(%rdx), %ymm27, %ymm26
70
71 // CHECK: vpaddb -4128(%rdx), %ymm27, %ymm26
72 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xfc,0x92,0xe0,0xef,0xff,0xff]
73           vpaddb -4128(%rdx), %ymm27, %ymm26
74
75 // CHECK: vpaddw %xmm18, %xmm17, %xmm18
76 // CHECK:  encoding: [0x62,0xa1,0x75,0x00,0xfd,0xd2]
77           vpaddw %xmm18, %xmm17, %xmm18
78
79 // CHECK: vpaddw %xmm18, %xmm17, %xmm18 {%k1}
80 // CHECK:  encoding: [0x62,0xa1,0x75,0x01,0xfd,0xd2]
81           vpaddw %xmm18, %xmm17, %xmm18 {%k1}
82
83 // CHECK: vpaddw %xmm18, %xmm17, %xmm18 {%k1} {z}
84 // CHECK:  encoding: [0x62,0xa1,0x75,0x81,0xfd,0xd2]
85           vpaddw %xmm18, %xmm17, %xmm18 {%k1} {z}
86
87 // CHECK: vpaddw (%rcx), %xmm17, %xmm18
88 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xfd,0x11]
89           vpaddw (%rcx), %xmm17, %xmm18
90
91 // CHECK: vpaddw 291(%rax,%r14,8), %xmm17, %xmm18
92 // CHECK:  encoding: [0x62,0xa1,0x75,0x00,0xfd,0x94,0xf0,0x23,0x01,0x00,0x00]
93           vpaddw 291(%rax,%r14,8), %xmm17, %xmm18
94
95 // CHECK: vpaddw 2032(%rdx), %xmm17, %xmm18
96 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xfd,0x52,0x7f]
97           vpaddw 2032(%rdx), %xmm17, %xmm18
98
99 // CHECK: vpaddw 2048(%rdx), %xmm17, %xmm18
100 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xfd,0x92,0x00,0x08,0x00,0x00]
101           vpaddw 2048(%rdx), %xmm17, %xmm18
102
103 // CHECK: vpaddw -2048(%rdx), %xmm17, %xmm18
104 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xfd,0x52,0x80]
105           vpaddw -2048(%rdx), %xmm17, %xmm18
106
107 // CHECK: vpaddw -2064(%rdx), %xmm17, %xmm18
108 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xfd,0x92,0xf0,0xf7,0xff,0xff]
109           vpaddw -2064(%rdx), %xmm17, %xmm18
110
111 // CHECK: vpaddw %ymm26, %ymm21, %ymm23
112 // CHECK:  encoding: [0x62,0x81,0x55,0x20,0xfd,0xfa]
113           vpaddw %ymm26, %ymm21, %ymm23
114
115 // CHECK: vpaddw %ymm26, %ymm21, %ymm23 {%k7}
116 // CHECK:  encoding: [0x62,0x81,0x55,0x27,0xfd,0xfa]
117           vpaddw %ymm26, %ymm21, %ymm23 {%k7}
118
119 // CHECK: vpaddw %ymm26, %ymm21, %ymm23 {%k7} {z}
120 // CHECK:  encoding: [0x62,0x81,0x55,0xa7,0xfd,0xfa]
121           vpaddw %ymm26, %ymm21, %ymm23 {%k7} {z}
122
123 // CHECK: vpaddw (%rcx), %ymm21, %ymm23
124 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xfd,0x39]
125           vpaddw (%rcx), %ymm21, %ymm23
126
127 // CHECK: vpaddw 291(%rax,%r14,8), %ymm21, %ymm23
128 // CHECK:  encoding: [0x62,0xa1,0x55,0x20,0xfd,0xbc,0xf0,0x23,0x01,0x00,0x00]
129           vpaddw 291(%rax,%r14,8), %ymm21, %ymm23
130
131 // CHECK: vpaddw 4064(%rdx), %ymm21, %ymm23
132 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xfd,0x7a,0x7f]
133           vpaddw 4064(%rdx), %ymm21, %ymm23
134
135 // CHECK: vpaddw 4096(%rdx), %ymm21, %ymm23
136 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xfd,0xba,0x00,0x10,0x00,0x00]
137           vpaddw 4096(%rdx), %ymm21, %ymm23
138
139 // CHECK: vpaddw -4096(%rdx), %ymm21, %ymm23
140 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xfd,0x7a,0x80]
141           vpaddw -4096(%rdx), %ymm21, %ymm23
142
143 // CHECK: vpaddw -4128(%rdx), %ymm21, %ymm23
144 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xfd,0xba,0xe0,0xef,0xff,0xff]
145           vpaddw -4128(%rdx), %ymm21, %ymm23
146
147 // CHECK: vpbroadcastb %eax, %xmm22
148 // CHECK:  encoding: [0x62,0xe2,0x7d,0x08,0x7a,0xf0]
149           vpbroadcastb %eax, %xmm22
150
151 // CHECK: vpbroadcastb %eax, %xmm22 {%k3}
152 // CHECK:  encoding: [0x62,0xe2,0x7d,0x0b,0x7a,0xf0]
153           vpbroadcastb %eax, %xmm22 {%k3}
154
155 // CHECK: vpbroadcastb %eax, %xmm22 {%k3} {z}
156 // CHECK:  encoding: [0x62,0xe2,0x7d,0x8b,0x7a,0xf0]
157           vpbroadcastb %eax, %xmm22 {%k3} {z}
158
159 // CHECK: vpbroadcastb %eax, %ymm17
160 // CHECK:  encoding: [0x62,0xe2,0x7d,0x28,0x7a,0xc8]
161           vpbroadcastb %eax, %ymm17
162
163 // CHECK: vpbroadcastb %eax, %ymm17 {%k1}
164 // CHECK:  encoding: [0x62,0xe2,0x7d,0x29,0x7a,0xc8]
165           vpbroadcastb %eax, %ymm17 {%k1}
166
167 // CHECK: vpbroadcastb %eax, %ymm17 {%k1} {z}
168 // CHECK:  encoding: [0x62,0xe2,0x7d,0xa9,0x7a,0xc8]
169           vpbroadcastb %eax, %ymm17 {%k1} {z}
170
171 // CHECK: vpbroadcastw %eax, %xmm29
172 // CHECK:  encoding: [0x62,0x62,0x7d,0x08,0x7b,0xe8]
173           vpbroadcastw %eax, %xmm29
174
175 // CHECK: vpbroadcastw %eax, %xmm29 {%k1}
176 // CHECK:  encoding: [0x62,0x62,0x7d,0x09,0x7b,0xe8]
177           vpbroadcastw %eax, %xmm29 {%k1}
178
179 // CHECK: vpbroadcastw %eax, %xmm29 {%k1} {z}
180 // CHECK:  encoding: [0x62,0x62,0x7d,0x89,0x7b,0xe8]
181           vpbroadcastw %eax, %xmm29 {%k1} {z}
182
183 // CHECK: vpbroadcastw %eax, %ymm28
184 // CHECK:  encoding: [0x62,0x62,0x7d,0x28,0x7b,0xe0]
185           vpbroadcastw %eax, %ymm28
186
187 // CHECK: vpbroadcastw %eax, %ymm28 {%k4}
188 // CHECK:  encoding: [0x62,0x62,0x7d,0x2c,0x7b,0xe0]
189           vpbroadcastw %eax, %ymm28 {%k4}
190
191 // CHECK: vpbroadcastw %eax, %ymm28 {%k4} {z}
192 // CHECK:  encoding: [0x62,0x62,0x7d,0xac,0x7b,0xe0]
193           vpbroadcastw %eax, %ymm28 {%k4} {z}
194
195 // CHECK: vpcmpeqb %xmm21, %xmm21, %k4
196 // CHECK:  encoding: [0x62,0xb1,0x55,0x00,0x74,0xe5]
197           vpcmpeqb %xmm21, %xmm21, %k4
198
199 // CHECK: vpcmpeqb %xmm21, %xmm21, %k4 {%k3}
200 // CHECK:  encoding: [0x62,0xb1,0x55,0x03,0x74,0xe5]
201           vpcmpeqb %xmm21, %xmm21, %k4 {%k3}
202
203 // CHECK: vpcmpeqb (%rcx), %xmm21, %k4
204 // CHECK:  encoding: [0x62,0xf1,0x55,0x00,0x74,0x21]
205           vpcmpeqb (%rcx), %xmm21, %k4
206
207 // CHECK: vpcmpeqb 291(%rax,%r14,8), %xmm21, %k4
208 // CHECK:  encoding: [0x62,0xb1,0x55,0x00,0x74,0xa4,0xf0,0x23,0x01,0x00,0x00]
209           vpcmpeqb 291(%rax,%r14,8), %xmm21, %k4
210
211 // CHECK: vpcmpeqb 2032(%rdx), %xmm21, %k4
212 // CHECK:  encoding: [0x62,0xf1,0x55,0x00,0x74,0x62,0x7f]
213           vpcmpeqb 2032(%rdx), %xmm21, %k4
214
215 // CHECK: vpcmpeqb 2048(%rdx), %xmm21, %k4
216 // CHECK:  encoding: [0x62,0xf1,0x55,0x00,0x74,0xa2,0x00,0x08,0x00,0x00]
217           vpcmpeqb 2048(%rdx), %xmm21, %k4
218
219 // CHECK: vpcmpeqb -2048(%rdx), %xmm21, %k4
220 // CHECK:  encoding: [0x62,0xf1,0x55,0x00,0x74,0x62,0x80]
221           vpcmpeqb -2048(%rdx), %xmm21, %k4
222
223 // CHECK: vpcmpeqb -2064(%rdx), %xmm21, %k4
224 // CHECK:  encoding: [0x62,0xf1,0x55,0x00,0x74,0xa2,0xf0,0xf7,0xff,0xff]
225           vpcmpeqb -2064(%rdx), %xmm21, %k4
226
227 // CHECK: vpcmpeqb %ymm18, %ymm21, %k4
228 // CHECK:  encoding: [0x62,0xb1,0x55,0x20,0x74,0xe2]
229           vpcmpeqb %ymm18, %ymm21, %k4
230
231 // CHECK: vpcmpeqb %ymm18, %ymm21, %k4 {%k1}
232 // CHECK:  encoding: [0x62,0xb1,0x55,0x21,0x74,0xe2]
233           vpcmpeqb %ymm18, %ymm21, %k4 {%k1}
234
235 // CHECK: vpcmpeqb (%rcx), %ymm21, %k4
236 // CHECK:  encoding: [0x62,0xf1,0x55,0x20,0x74,0x21]
237           vpcmpeqb (%rcx), %ymm21, %k4
238
239 // CHECK: vpcmpeqb 291(%rax,%r14,8), %ymm21, %k4
240 // CHECK:  encoding: [0x62,0xb1,0x55,0x20,0x74,0xa4,0xf0,0x23,0x01,0x00,0x00]
241           vpcmpeqb 291(%rax,%r14,8), %ymm21, %k4
242
243 // CHECK: vpcmpeqb 4064(%rdx), %ymm21, %k4
244 // CHECK:  encoding: [0x62,0xf1,0x55,0x20,0x74,0x62,0x7f]
245           vpcmpeqb 4064(%rdx), %ymm21, %k4
246
247 // CHECK: vpcmpeqb 4096(%rdx), %ymm21, %k4
248 // CHECK:  encoding: [0x62,0xf1,0x55,0x20,0x74,0xa2,0x00,0x10,0x00,0x00]
249           vpcmpeqb 4096(%rdx), %ymm21, %k4
250
251 // CHECK: vpcmpeqb -4096(%rdx), %ymm21, %k4
252 // CHECK:  encoding: [0x62,0xf1,0x55,0x20,0x74,0x62,0x80]
253           vpcmpeqb -4096(%rdx), %ymm21, %k4
254
255 // CHECK: vpcmpeqb -4128(%rdx), %ymm21, %k4
256 // CHECK:  encoding: [0x62,0xf1,0x55,0x20,0x74,0xa2,0xe0,0xef,0xff,0xff]
257           vpcmpeqb -4128(%rdx), %ymm21, %k4
258
259 // CHECK: vpcmpeqw %xmm27, %xmm30, %k3
260 // CHECK:  encoding: [0x62,0x91,0x0d,0x00,0x75,0xdb]
261           vpcmpeqw %xmm27, %xmm30, %k3
262
263 // CHECK: vpcmpeqw %xmm27, %xmm30, %k3 {%k1}
264 // CHECK:  encoding: [0x62,0x91,0x0d,0x01,0x75,0xdb]
265           vpcmpeqw %xmm27, %xmm30, %k3 {%k1}
266
267 // CHECK: vpcmpeqw (%rcx), %xmm30, %k3
268 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x75,0x19]
269           vpcmpeqw (%rcx), %xmm30, %k3
270
271 // CHECK: vpcmpeqw 291(%rax,%r14,8), %xmm30, %k3
272 // CHECK:  encoding: [0x62,0xb1,0x0d,0x00,0x75,0x9c,0xf0,0x23,0x01,0x00,0x00]
273           vpcmpeqw 291(%rax,%r14,8), %xmm30, %k3
274
275 // CHECK: vpcmpeqw 2032(%rdx), %xmm30, %k3
276 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x75,0x5a,0x7f]
277           vpcmpeqw 2032(%rdx), %xmm30, %k3
278
279 // CHECK: vpcmpeqw 2048(%rdx), %xmm30, %k3
280 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x75,0x9a,0x00,0x08,0x00,0x00]
281           vpcmpeqw 2048(%rdx), %xmm30, %k3
282
283 // CHECK: vpcmpeqw -2048(%rdx), %xmm30, %k3
284 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x75,0x5a,0x80]
285           vpcmpeqw -2048(%rdx), %xmm30, %k3
286
287 // CHECK: vpcmpeqw -2064(%rdx), %xmm30, %k3
288 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x75,0x9a,0xf0,0xf7,0xff,0xff]
289           vpcmpeqw -2064(%rdx), %xmm30, %k3
290
291 // CHECK: vpcmpeqw %ymm29, %ymm20, %k2
292 // CHECK:  encoding: [0x62,0x91,0x5d,0x20,0x75,0xd5]
293           vpcmpeqw %ymm29, %ymm20, %k2
294
295 // CHECK: vpcmpeqw %ymm29, %ymm20, %k2 {%k5}
296 // CHECK:  encoding: [0x62,0x91,0x5d,0x25,0x75,0xd5]
297           vpcmpeqw %ymm29, %ymm20, %k2 {%k5}
298
299 // CHECK: vpcmpeqw (%rcx), %ymm20, %k2
300 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x75,0x11]
301           vpcmpeqw (%rcx), %ymm20, %k2
302
303 // CHECK: vpcmpeqw 291(%rax,%r14,8), %ymm20, %k2
304 // CHECK:  encoding: [0x62,0xb1,0x5d,0x20,0x75,0x94,0xf0,0x23,0x01,0x00,0x00]
305           vpcmpeqw 291(%rax,%r14,8), %ymm20, %k2
306
307 // CHECK: vpcmpeqw 4064(%rdx), %ymm20, %k2
308 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x75,0x52,0x7f]
309           vpcmpeqw 4064(%rdx), %ymm20, %k2
310
311 // CHECK: vpcmpeqw 4096(%rdx), %ymm20, %k2
312 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x75,0x92,0x00,0x10,0x00,0x00]
313           vpcmpeqw 4096(%rdx), %ymm20, %k2
314
315 // CHECK: vpcmpeqw -4096(%rdx), %ymm20, %k2
316 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x75,0x52,0x80]
317           vpcmpeqw -4096(%rdx), %ymm20, %k2
318
319 // CHECK: vpcmpeqw -4128(%rdx), %ymm20, %k2
320 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x75,0x92,0xe0,0xef,0xff,0xff]
321           vpcmpeqw -4128(%rdx), %ymm20, %k2
322
323 // CHECK: vpcmpgtb %xmm17, %xmm30, %k3
324 // CHECK:  encoding: [0x62,0xb1,0x0d,0x00,0x64,0xd9]
325           vpcmpgtb %xmm17, %xmm30, %k3
326
327 // CHECK: vpcmpgtb %xmm17, %xmm30, %k3 {%k7}
328 // CHECK:  encoding: [0x62,0xb1,0x0d,0x07,0x64,0xd9]
329           vpcmpgtb %xmm17, %xmm30, %k3 {%k7}
330
331 // CHECK: vpcmpgtb (%rcx), %xmm30, %k3
332 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x64,0x19]
333           vpcmpgtb (%rcx), %xmm30, %k3
334
335 // CHECK: vpcmpgtb 291(%rax,%r14,8), %xmm30, %k3
336 // CHECK:  encoding: [0x62,0xb1,0x0d,0x00,0x64,0x9c,0xf0,0x23,0x01,0x00,0x00]
337           vpcmpgtb 291(%rax,%r14,8), %xmm30, %k3
338
339 // CHECK: vpcmpgtb 2032(%rdx), %xmm30, %k3
340 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x64,0x5a,0x7f]
341           vpcmpgtb 2032(%rdx), %xmm30, %k3
342
343 // CHECK: vpcmpgtb 2048(%rdx), %xmm30, %k3
344 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x64,0x9a,0x00,0x08,0x00,0x00]
345           vpcmpgtb 2048(%rdx), %xmm30, %k3
346
347 // CHECK: vpcmpgtb -2048(%rdx), %xmm30, %k3
348 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x64,0x5a,0x80]
349           vpcmpgtb -2048(%rdx), %xmm30, %k3
350
351 // CHECK: vpcmpgtb -2064(%rdx), %xmm30, %k3
352 // CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x64,0x9a,0xf0,0xf7,0xff,0xff]
353           vpcmpgtb -2064(%rdx), %xmm30, %k3
354
355 // CHECK: vpcmpgtb %ymm17, %ymm17, %k2
356 // CHECK:  encoding: [0x62,0xb1,0x75,0x20,0x64,0xd1]
357           vpcmpgtb %ymm17, %ymm17, %k2
358
359 // CHECK: vpcmpgtb %ymm17, %ymm17, %k2 {%k4}
360 // CHECK:  encoding: [0x62,0xb1,0x75,0x24,0x64,0xd1]
361           vpcmpgtb %ymm17, %ymm17, %k2 {%k4}
362
363 // CHECK: vpcmpgtb (%rcx), %ymm17, %k2
364 // CHECK:  encoding: [0x62,0xf1,0x75,0x20,0x64,0x11]
365           vpcmpgtb (%rcx), %ymm17, %k2
366
367 // CHECK: vpcmpgtb 291(%rax,%r14,8), %ymm17, %k2
368 // CHECK:  encoding: [0x62,0xb1,0x75,0x20,0x64,0x94,0xf0,0x23,0x01,0x00,0x00]
369           vpcmpgtb 291(%rax,%r14,8), %ymm17, %k2
370
371 // CHECK: vpcmpgtb 4064(%rdx), %ymm17, %k2
372 // CHECK:  encoding: [0x62,0xf1,0x75,0x20,0x64,0x52,0x7f]
373           vpcmpgtb 4064(%rdx), %ymm17, %k2
374
375 // CHECK: vpcmpgtb 4096(%rdx), %ymm17, %k2
376 // CHECK:  encoding: [0x62,0xf1,0x75,0x20,0x64,0x92,0x00,0x10,0x00,0x00]
377           vpcmpgtb 4096(%rdx), %ymm17, %k2
378
379 // CHECK: vpcmpgtb -4096(%rdx), %ymm17, %k2
380 // CHECK:  encoding: [0x62,0xf1,0x75,0x20,0x64,0x52,0x80]
381           vpcmpgtb -4096(%rdx), %ymm17, %k2
382
383 // CHECK: vpcmpgtb -4128(%rdx), %ymm17, %k2
384 // CHECK:  encoding: [0x62,0xf1,0x75,0x20,0x64,0x92,0xe0,0xef,0xff,0xff]
385           vpcmpgtb -4128(%rdx), %ymm17, %k2
386
387 // CHECK: vpcmpgtw %xmm22, %xmm28, %k2
388 // CHECK:  encoding: [0x62,0xb1,0x1d,0x00,0x65,0xd6]
389           vpcmpgtw %xmm22, %xmm28, %k2
390
391 // CHECK: vpcmpgtw %xmm22, %xmm28, %k2 {%k7}
392 // CHECK:  encoding: [0x62,0xb1,0x1d,0x07,0x65,0xd6]
393           vpcmpgtw %xmm22, %xmm28, %k2 {%k7}
394
395 // CHECK: vpcmpgtw (%rcx), %xmm28, %k2
396 // CHECK:  encoding: [0x62,0xf1,0x1d,0x00,0x65,0x11]
397           vpcmpgtw (%rcx), %xmm28, %k2
398
399 // CHECK: vpcmpgtw 291(%rax,%r14,8), %xmm28, %k2
400 // CHECK:  encoding: [0x62,0xb1,0x1d,0x00,0x65,0x94,0xf0,0x23,0x01,0x00,0x00]
401           vpcmpgtw 291(%rax,%r14,8), %xmm28, %k2
402
403 // CHECK: vpcmpgtw 2032(%rdx), %xmm28, %k2
404 // CHECK:  encoding: [0x62,0xf1,0x1d,0x00,0x65,0x52,0x7f]
405           vpcmpgtw 2032(%rdx), %xmm28, %k2
406
407 // CHECK: vpcmpgtw 2048(%rdx), %xmm28, %k2
408 // CHECK:  encoding: [0x62,0xf1,0x1d,0x00,0x65,0x92,0x00,0x08,0x00,0x00]
409           vpcmpgtw 2048(%rdx), %xmm28, %k2
410
411 // CHECK: vpcmpgtw -2048(%rdx), %xmm28, %k2
412 // CHECK:  encoding: [0x62,0xf1,0x1d,0x00,0x65,0x52,0x80]
413           vpcmpgtw -2048(%rdx), %xmm28, %k2
414
415 // CHECK: vpcmpgtw -2064(%rdx), %xmm28, %k2
416 // CHECK:  encoding: [0x62,0xf1,0x1d,0x00,0x65,0x92,0xf0,0xf7,0xff,0xff]
417           vpcmpgtw -2064(%rdx), %xmm28, %k2
418
419 // CHECK: vpcmpgtw %ymm26, %ymm20, %k5
420 // CHECK:  encoding: [0x62,0x91,0x5d,0x20,0x65,0xea]
421           vpcmpgtw %ymm26, %ymm20, %k5
422
423 // CHECK: vpcmpgtw %ymm26, %ymm20, %k5 {%k2}
424 // CHECK:  encoding: [0x62,0x91,0x5d,0x22,0x65,0xea]
425           vpcmpgtw %ymm26, %ymm20, %k5 {%k2}
426
427 // CHECK: vpcmpgtw (%rcx), %ymm20, %k5
428 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x65,0x29]
429           vpcmpgtw (%rcx), %ymm20, %k5
430
431 // CHECK: vpcmpgtw 291(%rax,%r14,8), %ymm20, %k5
432 // CHECK:  encoding: [0x62,0xb1,0x5d,0x20,0x65,0xac,0xf0,0x23,0x01,0x00,0x00]
433           vpcmpgtw 291(%rax,%r14,8), %ymm20, %k5
434
435 // CHECK: vpcmpgtw 4064(%rdx), %ymm20, %k5
436 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x65,0x6a,0x7f]
437           vpcmpgtw 4064(%rdx), %ymm20, %k5
438
439 // CHECK: vpcmpgtw 4096(%rdx), %ymm20, %k5
440 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x65,0xaa,0x00,0x10,0x00,0x00]
441           vpcmpgtw 4096(%rdx), %ymm20, %k5
442
443 // CHECK: vpcmpgtw -4096(%rdx), %ymm20, %k5
444 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x65,0x6a,0x80]
445           vpcmpgtw -4096(%rdx), %ymm20, %k5
446
447 // CHECK: vpcmpgtw -4128(%rdx), %ymm20, %k5
448 // CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x65,0xaa,0xe0,0xef,0xff,0xff]
449           vpcmpgtw -4128(%rdx), %ymm20, %k5
450
451 // CHECK: vpcmpb $171, %xmm17, %xmm30, %k3
452 // CHECK:  encoding: [0x62,0xb3,0x0d,0x00,0x3f,0xd9,0xab]
453           vpcmpb $171, %xmm17, %xmm30, %k3
454
455 // CHECK: vpcmpb $171, %xmm17, %xmm30, %k3 {%k1}
456 // CHECK:  encoding: [0x62,0xb3,0x0d,0x01,0x3f,0xd9,0xab]
457           vpcmpb $171, %xmm17, %xmm30, %k3 {%k1}
458
459 // CHECK: vpcmpb $123, %xmm17, %xmm30, %k3
460 // CHECK:  encoding: [0x62,0xb3,0x0d,0x00,0x3f,0xd9,0x7b]
461           vpcmpb $123, %xmm17, %xmm30, %k3
462
463 // CHECK: vpcmpb $123, (%rcx), %xmm30, %k3
464 // CHECK:  encoding: [0x62,0xf3,0x0d,0x00,0x3f,0x19,0x7b]
465           vpcmpb $123, (%rcx), %xmm30, %k3
466
467 // CHECK: vpcmpb $123, 291(%rax,%r14,8), %xmm30, %k3
468 // CHECK:  encoding: [0x62,0xb3,0x0d,0x00,0x3f,0x9c,0xf0,0x23,0x01,0x00,0x00,0x7b]
469           vpcmpb $123, 291(%rax,%r14,8), %xmm30, %k3
470
471 // CHECK: vpcmpb $123, 2032(%rdx), %xmm30, %k3
472 // CHECK:  encoding: [0x62,0xf3,0x0d,0x00,0x3f,0x5a,0x7f,0x7b]
473           vpcmpb $123, 2032(%rdx), %xmm30, %k3
474
475 // CHECK: vpcmpb $123, 2048(%rdx), %xmm30, %k3
476 // CHECK:  encoding: [0x62,0xf3,0x0d,0x00,0x3f,0x9a,0x00,0x08,0x00,0x00,0x7b]
477           vpcmpb $123, 2048(%rdx), %xmm30, %k3
478
479 // CHECK: vpcmpb $123, -2048(%rdx), %xmm30, %k3
480 // CHECK:  encoding: [0x62,0xf3,0x0d,0x00,0x3f,0x5a,0x80,0x7b]
481           vpcmpb $123, -2048(%rdx), %xmm30, %k3
482
483 // CHECK: vpcmpb $123, -2064(%rdx), %xmm30, %k3
484 // CHECK:  encoding: [0x62,0xf3,0x0d,0x00,0x3f,0x9a,0xf0,0xf7,0xff,0xff,0x7b]
485           vpcmpb $123, -2064(%rdx), %xmm30, %k3
486
487 // CHECK: vpcmpb $171, %ymm19, %ymm19, %k5
488 // CHECK:  encoding: [0x62,0xb3,0x65,0x20,0x3f,0xeb,0xab]
489           vpcmpb $171, %ymm19, %ymm19, %k5
490
491 // CHECK: vpcmpb $171, %ymm19, %ymm19, %k5 {%k4}
492 // CHECK:  encoding: [0x62,0xb3,0x65,0x24,0x3f,0xeb,0xab]
493           vpcmpb $171, %ymm19, %ymm19, %k5 {%k4}
494
495 // CHECK: vpcmpb $123, %ymm19, %ymm19, %k5
496 // CHECK:  encoding: [0x62,0xb3,0x65,0x20,0x3f,0xeb,0x7b]
497           vpcmpb $123, %ymm19, %ymm19, %k5
498
499 // CHECK: vpcmpb $123, (%rcx), %ymm19, %k5
500 // CHECK:  encoding: [0x62,0xf3,0x65,0x20,0x3f,0x29,0x7b]
501           vpcmpb $123, (%rcx), %ymm19, %k5
502
503 // CHECK: vpcmpb $123, 291(%rax,%r14,8), %ymm19, %k5
504 // CHECK:  encoding: [0x62,0xb3,0x65,0x20,0x3f,0xac,0xf0,0x23,0x01,0x00,0x00,0x7b]
505           vpcmpb $123, 291(%rax,%r14,8), %ymm19, %k5
506
507 // CHECK: vpcmpb $123, 4064(%rdx), %ymm19, %k5
508 // CHECK:  encoding: [0x62,0xf3,0x65,0x20,0x3f,0x6a,0x7f,0x7b]
509           vpcmpb $123, 4064(%rdx), %ymm19, %k5
510
511 // CHECK: vpcmpb $123, 4096(%rdx), %ymm19, %k5
512 // CHECK:  encoding: [0x62,0xf3,0x65,0x20,0x3f,0xaa,0x00,0x10,0x00,0x00,0x7b]
513           vpcmpb $123, 4096(%rdx), %ymm19, %k5
514
515 // CHECK: vpcmpb $123, -4096(%rdx), %ymm19, %k5
516 // CHECK:  encoding: [0x62,0xf3,0x65,0x20,0x3f,0x6a,0x80,0x7b]
517           vpcmpb $123, -4096(%rdx), %ymm19, %k5
518
519 // CHECK: vpcmpb $123, -4128(%rdx), %ymm19, %k5
520 // CHECK:  encoding: [0x62,0xf3,0x65,0x20,0x3f,0xaa,0xe0,0xef,0xff,0xff,0x7b]
521           vpcmpb $123, -4128(%rdx), %ymm19, %k5
522
523 // CHECK: vpcmpw $171, %xmm22, %xmm30, %k3
524 // CHECK:  encoding: [0x62,0xb3,0x8d,0x00,0x3f,0xde,0xab]
525           vpcmpw $171, %xmm22, %xmm30, %k3
526
527 // CHECK: vpcmpw $171, %xmm22, %xmm30, %k3 {%k6}
528 // CHECK:  encoding: [0x62,0xb3,0x8d,0x06,0x3f,0xde,0xab]
529           vpcmpw $171, %xmm22, %xmm30, %k3 {%k6}
530
531 // CHECK: vpcmpw $123, %xmm22, %xmm30, %k3
532 // CHECK:  encoding: [0x62,0xb3,0x8d,0x00,0x3f,0xde,0x7b]
533           vpcmpw $123, %xmm22, %xmm30, %k3
534
535 // CHECK: vpcmpw $123, (%rcx), %xmm30, %k3
536 // CHECK:  encoding: [0x62,0xf3,0x8d,0x00,0x3f,0x19,0x7b]
537           vpcmpw $123, (%rcx), %xmm30, %k3
538
539 // CHECK: vpcmpw $123, 291(%rax,%r14,8), %xmm30, %k3
540 // CHECK:  encoding: [0x62,0xb3,0x8d,0x00,0x3f,0x9c,0xf0,0x23,0x01,0x00,0x00,0x7b]
541           vpcmpw $123, 291(%rax,%r14,8), %xmm30, %k3
542
543 // CHECK: vpcmpw $123, 2032(%rdx), %xmm30, %k3
544 // CHECK:  encoding: [0x62,0xf3,0x8d,0x00,0x3f,0x5a,0x7f,0x7b]
545           vpcmpw $123, 2032(%rdx), %xmm30, %k3
546
547 // CHECK: vpcmpw $123, 2048(%rdx), %xmm30, %k3
548 // CHECK:  encoding: [0x62,0xf3,0x8d,0x00,0x3f,0x9a,0x00,0x08,0x00,0x00,0x7b]
549           vpcmpw $123, 2048(%rdx), %xmm30, %k3
550
551 // CHECK: vpcmpw $123, -2048(%rdx), %xmm30, %k3
552 // CHECK:  encoding: [0x62,0xf3,0x8d,0x00,0x3f,0x5a,0x80,0x7b]
553           vpcmpw $123, -2048(%rdx), %xmm30, %k3
554
555 // CHECK: vpcmpw $123, -2064(%rdx), %xmm30, %k3
556 // CHECK:  encoding: [0x62,0xf3,0x8d,0x00,0x3f,0x9a,0xf0,0xf7,0xff,0xff,0x7b]
557           vpcmpw $123, -2064(%rdx), %xmm30, %k3
558
559 // CHECK: vpcmpw $171, %ymm18, %ymm26, %k3
560 // CHECK:  encoding: [0x62,0xb3,0xad,0x20,0x3f,0xda,0xab]
561           vpcmpw $171, %ymm18, %ymm26, %k3
562
563 // CHECK: vpcmpw $171, %ymm18, %ymm26, %k3 {%k3}
564 // CHECK:  encoding: [0x62,0xb3,0xad,0x23,0x3f,0xda,0xab]
565           vpcmpw $171, %ymm18, %ymm26, %k3 {%k3}
566
567 // CHECK: vpcmpw $123, %ymm18, %ymm26, %k3
568 // CHECK:  encoding: [0x62,0xb3,0xad,0x20,0x3f,0xda,0x7b]
569           vpcmpw $123, %ymm18, %ymm26, %k3
570
571 // CHECK: vpcmpw $123, (%rcx), %ymm26, %k3
572 // CHECK:  encoding: [0x62,0xf3,0xad,0x20,0x3f,0x19,0x7b]
573           vpcmpw $123, (%rcx), %ymm26, %k3
574
575 // CHECK: vpcmpw $123, 291(%rax,%r14,8), %ymm26, %k3
576 // CHECK:  encoding: [0x62,0xb3,0xad,0x20,0x3f,0x9c,0xf0,0x23,0x01,0x00,0x00,0x7b]
577           vpcmpw $123, 291(%rax,%r14,8), %ymm26, %k3
578
579 // CHECK: vpcmpw $123, 4064(%rdx), %ymm26, %k3
580 // CHECK:  encoding: [0x62,0xf3,0xad,0x20,0x3f,0x5a,0x7f,0x7b]
581           vpcmpw $123, 4064(%rdx), %ymm26, %k3
582
583 // CHECK: vpcmpw $123, 4096(%rdx), %ymm26, %k3
584 // CHECK:  encoding: [0x62,0xf3,0xad,0x20,0x3f,0x9a,0x00,0x10,0x00,0x00,0x7b]
585           vpcmpw $123, 4096(%rdx), %ymm26, %k3
586
587 // CHECK: vpcmpw $123, -4096(%rdx), %ymm26, %k3
588 // CHECK:  encoding: [0x62,0xf3,0xad,0x20,0x3f,0x5a,0x80,0x7b]
589           vpcmpw $123, -4096(%rdx), %ymm26, %k3
590
591 // CHECK: vpcmpw $123, -4128(%rdx), %ymm26, %k3
592 // CHECK:  encoding: [0x62,0xf3,0xad,0x20,0x3f,0x9a,0xe0,0xef,0xff,0xff,0x7b]
593           vpcmpw $123, -4128(%rdx), %ymm26, %k3
594
595 // CHECK: vpcmpub $171, %xmm21, %xmm22, %k5
596 // CHECK:  encoding: [0x62,0xb3,0x4d,0x00,0x3e,0xed,0xab]
597           vpcmpub $171, %xmm21, %xmm22, %k5
598
599 // CHECK: vpcmpub $171, %xmm21, %xmm22, %k5 {%k3}
600 // CHECK:  encoding: [0x62,0xb3,0x4d,0x03,0x3e,0xed,0xab]
601           vpcmpub $171, %xmm21, %xmm22, %k5 {%k3}
602
603 // CHECK: vpcmpub $123, %xmm21, %xmm22, %k5
604 // CHECK:  encoding: [0x62,0xb3,0x4d,0x00,0x3e,0xed,0x7b]
605           vpcmpub $123, %xmm21, %xmm22, %k5
606
607 // CHECK: vpcmpub $123, (%rcx), %xmm22, %k5
608 // CHECK:  encoding: [0x62,0xf3,0x4d,0x00,0x3e,0x29,0x7b]
609           vpcmpub $123, (%rcx), %xmm22, %k5
610
611 // CHECK: vpcmpub $123, 291(%rax,%r14,8), %xmm22, %k5
612 // CHECK:  encoding: [0x62,0xb3,0x4d,0x00,0x3e,0xac,0xf0,0x23,0x01,0x00,0x00,0x7b]
613           vpcmpub $123, 291(%rax,%r14,8), %xmm22, %k5
614
615 // CHECK: vpcmpub $123, 2032(%rdx), %xmm22, %k5
616 // CHECK:  encoding: [0x62,0xf3,0x4d,0x00,0x3e,0x6a,0x7f,0x7b]
617           vpcmpub $123, 2032(%rdx), %xmm22, %k5
618
619 // CHECK: vpcmpub $123, 2048(%rdx), %xmm22, %k5
620 // CHECK:  encoding: [0x62,0xf3,0x4d,0x00,0x3e,0xaa,0x00,0x08,0x00,0x00,0x7b]
621           vpcmpub $123, 2048(%rdx), %xmm22, %k5
622
623 // CHECK: vpcmpub $123, -2048(%rdx), %xmm22, %k5
624 // CHECK:  encoding: [0x62,0xf3,0x4d,0x00,0x3e,0x6a,0x80,0x7b]
625           vpcmpub $123, -2048(%rdx), %xmm22, %k5
626
627 // CHECK: vpcmpub $123, -2064(%rdx), %xmm22, %k5
628 // CHECK:  encoding: [0x62,0xf3,0x4d,0x00,0x3e,0xaa,0xf0,0xf7,0xff,0xff,0x7b]
629           vpcmpub $123, -2064(%rdx), %xmm22, %k5
630
631 // CHECK: vpcmpub $171, %ymm21, %ymm23, %k2
632 // CHECK:  encoding: [0x62,0xb3,0x45,0x20,0x3e,0xd5,0xab]
633           vpcmpub $171, %ymm21, %ymm23, %k2
634
635 // CHECK: vpcmpub $171, %ymm21, %ymm23, %k2 {%k2}
636 // CHECK:  encoding: [0x62,0xb3,0x45,0x22,0x3e,0xd5,0xab]
637           vpcmpub $171, %ymm21, %ymm23, %k2 {%k2}
638
639 // CHECK: vpcmpub $123, %ymm21, %ymm23, %k2
640 // CHECK:  encoding: [0x62,0xb3,0x45,0x20,0x3e,0xd5,0x7b]
641           vpcmpub $123, %ymm21, %ymm23, %k2
642
643 // CHECK: vpcmpub $123, (%rcx), %ymm23, %k2
644 // CHECK:  encoding: [0x62,0xf3,0x45,0x20,0x3e,0x11,0x7b]
645           vpcmpub $123, (%rcx), %ymm23, %k2
646
647 // CHECK: vpcmpub $123, 291(%rax,%r14,8), %ymm23, %k2
648 // CHECK:  encoding: [0x62,0xb3,0x45,0x20,0x3e,0x94,0xf0,0x23,0x01,0x00,0x00,0x7b]
649           vpcmpub $123, 291(%rax,%r14,8), %ymm23, %k2
650
651 // CHECK: vpcmpub $123, 4064(%rdx), %ymm23, %k2
652 // CHECK:  encoding: [0x62,0xf3,0x45,0x20,0x3e,0x52,0x7f,0x7b]
653           vpcmpub $123, 4064(%rdx), %ymm23, %k2
654
655 // CHECK: vpcmpub $123, 4096(%rdx), %ymm23, %k2
656 // CHECK:  encoding: [0x62,0xf3,0x45,0x20,0x3e,0x92,0x00,0x10,0x00,0x00,0x7b]
657           vpcmpub $123, 4096(%rdx), %ymm23, %k2
658
659 // CHECK: vpcmpub $123, -4096(%rdx), %ymm23, %k2
660 // CHECK:  encoding: [0x62,0xf3,0x45,0x20,0x3e,0x52,0x80,0x7b]
661           vpcmpub $123, -4096(%rdx), %ymm23, %k2
662
663 // CHECK: vpcmpub $123, -4128(%rdx), %ymm23, %k2
664 // CHECK:  encoding: [0x62,0xf3,0x45,0x20,0x3e,0x92,0xe0,0xef,0xff,0xff,0x7b]
665           vpcmpub $123, -4128(%rdx), %ymm23, %k2
666
667 // CHECK: vpcmpuw $171, %xmm17, %xmm28, %k5
668 // CHECK:  encoding: [0x62,0xb3,0x9d,0x00,0x3e,0xe9,0xab]
669           vpcmpuw $171, %xmm17, %xmm28, %k5
670
671 // CHECK: vpcmpuw $171, %xmm17, %xmm28, %k5 {%k4}
672 // CHECK:  encoding: [0x62,0xb3,0x9d,0x04,0x3e,0xe9,0xab]
673           vpcmpuw $171, %xmm17, %xmm28, %k5 {%k4}
674
675 // CHECK: vpcmpuw $123, %xmm17, %xmm28, %k5
676 // CHECK:  encoding: [0x62,0xb3,0x9d,0x00,0x3e,0xe9,0x7b]
677           vpcmpuw $123, %xmm17, %xmm28, %k5
678
679 // CHECK: vpcmpuw $123, (%rcx), %xmm28, %k5
680 // CHECK:  encoding: [0x62,0xf3,0x9d,0x00,0x3e,0x29,0x7b]
681           vpcmpuw $123, (%rcx), %xmm28, %k5
682
683 // CHECK: vpcmpuw $123, 291(%rax,%r14,8), %xmm28, %k5
684 // CHECK:  encoding: [0x62,0xb3,0x9d,0x00,0x3e,0xac,0xf0,0x23,0x01,0x00,0x00,0x7b]
685           vpcmpuw $123, 291(%rax,%r14,8), %xmm28, %k5
686
687 // CHECK: vpcmpuw $123, 2032(%rdx), %xmm28, %k5
688 // CHECK:  encoding: [0x62,0xf3,0x9d,0x00,0x3e,0x6a,0x7f,0x7b]
689           vpcmpuw $123, 2032(%rdx), %xmm28, %k5
690
691 // CHECK: vpcmpuw $123, 2048(%rdx), %xmm28, %k5
692 // CHECK:  encoding: [0x62,0xf3,0x9d,0x00,0x3e,0xaa,0x00,0x08,0x00,0x00,0x7b]
693           vpcmpuw $123, 2048(%rdx), %xmm28, %k5
694
695 // CHECK: vpcmpuw $123, -2048(%rdx), %xmm28, %k5
696 // CHECK:  encoding: [0x62,0xf3,0x9d,0x00,0x3e,0x6a,0x80,0x7b]
697           vpcmpuw $123, -2048(%rdx), %xmm28, %k5
698
699 // CHECK: vpcmpuw $123, -2064(%rdx), %xmm28, %k5
700 // CHECK:  encoding: [0x62,0xf3,0x9d,0x00,0x3e,0xaa,0xf0,0xf7,0xff,0xff,0x7b]
701           vpcmpuw $123, -2064(%rdx), %xmm28, %k5
702
703 // CHECK: vpcmpuw $171, %ymm28, %ymm27, %k4
704 // CHECK:  encoding: [0x62,0x93,0xa5,0x20,0x3e,0xe4,0xab]
705           vpcmpuw $171, %ymm28, %ymm27, %k4
706
707 // CHECK: vpcmpuw $171, %ymm28, %ymm27, %k4 {%k2}
708 // CHECK:  encoding: [0x62,0x93,0xa5,0x22,0x3e,0xe4,0xab]
709           vpcmpuw $171, %ymm28, %ymm27, %k4 {%k2}
710
711 // CHECK: vpcmpuw $123, %ymm28, %ymm27, %k4
712 // CHECK:  encoding: [0x62,0x93,0xa5,0x20,0x3e,0xe4,0x7b]
713           vpcmpuw $123, %ymm28, %ymm27, %k4
714
715 // CHECK: vpcmpuw $123, (%rcx), %ymm27, %k4
716 // CHECK:  encoding: [0x62,0xf3,0xa5,0x20,0x3e,0x21,0x7b]
717           vpcmpuw $123, (%rcx), %ymm27, %k4
718
719 // CHECK: vpcmpuw $123, 291(%rax,%r14,8), %ymm27, %k4
720 // CHECK:  encoding: [0x62,0xb3,0xa5,0x20,0x3e,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b]
721           vpcmpuw $123, 291(%rax,%r14,8), %ymm27, %k4
722
723 // CHECK: vpcmpuw $123, 4064(%rdx), %ymm27, %k4
724 // CHECK:  encoding: [0x62,0xf3,0xa5,0x20,0x3e,0x62,0x7f,0x7b]
725           vpcmpuw $123, 4064(%rdx), %ymm27, %k4
726
727 // CHECK: vpcmpuw $123, 4096(%rdx), %ymm27, %k4
728 // CHECK:  encoding: [0x62,0xf3,0xa5,0x20,0x3e,0xa2,0x00,0x10,0x00,0x00,0x7b]
729           vpcmpuw $123, 4096(%rdx), %ymm27, %k4
730
731 // CHECK: vpcmpuw $123, -4096(%rdx), %ymm27, %k4
732 // CHECK:  encoding: [0x62,0xf3,0xa5,0x20,0x3e,0x62,0x80,0x7b]
733           vpcmpuw $123, -4096(%rdx), %ymm27, %k4
734
735 // CHECK: vpcmpuw $123, -4128(%rdx), %ymm27, %k4
736 // CHECK:  encoding: [0x62,0xf3,0xa5,0x20,0x3e,0xa2,0xe0,0xef,0xff,0xff,0x7b]
737           vpcmpuw $123, -4128(%rdx), %ymm27, %k4
738
739 // CHECK: vpmaxsb %xmm17, %xmm24, %xmm23
740 // CHECK:  encoding: [0x62,0xa2,0x3d,0x00,0x3c,0xf9]
741           vpmaxsb %xmm17, %xmm24, %xmm23
742
743 // CHECK: vpmaxsb %xmm17, %xmm24, %xmm23 {%k3}
744 // CHECK:  encoding: [0x62,0xa2,0x3d,0x03,0x3c,0xf9]
745           vpmaxsb %xmm17, %xmm24, %xmm23 {%k3}
746
747 // CHECK: vpmaxsb %xmm17, %xmm24, %xmm23 {%k3} {z}
748 // CHECK:  encoding: [0x62,0xa2,0x3d,0x83,0x3c,0xf9]
749           vpmaxsb %xmm17, %xmm24, %xmm23 {%k3} {z}
750
751 // CHECK: vpmaxsb (%rcx), %xmm24, %xmm23
752 // CHECK:  encoding: [0x62,0xe2,0x3d,0x00,0x3c,0x39]
753           vpmaxsb (%rcx), %xmm24, %xmm23
754
755 // CHECK: vpmaxsb 291(%rax,%r14,8), %xmm24, %xmm23
756 // CHECK:  encoding: [0x62,0xa2,0x3d,0x00,0x3c,0xbc,0xf0,0x23,0x01,0x00,0x00]
757           vpmaxsb 291(%rax,%r14,8), %xmm24, %xmm23
758
759 // CHECK: vpmaxsb 2032(%rdx), %xmm24, %xmm23
760 // CHECK:  encoding: [0x62,0xe2,0x3d,0x00,0x3c,0x7a,0x7f]
761           vpmaxsb 2032(%rdx), %xmm24, %xmm23
762
763 // CHECK: vpmaxsb 2048(%rdx), %xmm24, %xmm23
764 // CHECK:  encoding: [0x62,0xe2,0x3d,0x00,0x3c,0xba,0x00,0x08,0x00,0x00]
765           vpmaxsb 2048(%rdx), %xmm24, %xmm23
766
767 // CHECK: vpmaxsb -2048(%rdx), %xmm24, %xmm23
768 // CHECK:  encoding: [0x62,0xe2,0x3d,0x00,0x3c,0x7a,0x80]
769           vpmaxsb -2048(%rdx), %xmm24, %xmm23
770
771 // CHECK: vpmaxsb -2064(%rdx), %xmm24, %xmm23
772 // CHECK:  encoding: [0x62,0xe2,0x3d,0x00,0x3c,0xba,0xf0,0xf7,0xff,0xff]
773           vpmaxsb -2064(%rdx), %xmm24, %xmm23
774
775 // CHECK: vpmaxsb %ymm27, %ymm22, %ymm30
776 // CHECK:  encoding: [0x62,0x02,0x4d,0x20,0x3c,0xf3]
777           vpmaxsb %ymm27, %ymm22, %ymm30
778
779 // CHECK: vpmaxsb %ymm27, %ymm22, %ymm30 {%k5}
780 // CHECK:  encoding: [0x62,0x02,0x4d,0x25,0x3c,0xf3]
781           vpmaxsb %ymm27, %ymm22, %ymm30 {%k5}
782
783 // CHECK: vpmaxsb %ymm27, %ymm22, %ymm30 {%k5} {z}
784 // CHECK:  encoding: [0x62,0x02,0x4d,0xa5,0x3c,0xf3]
785           vpmaxsb %ymm27, %ymm22, %ymm30 {%k5} {z}
786
787 // CHECK: vpmaxsb (%rcx), %ymm22, %ymm30
788 // CHECK:  encoding: [0x62,0x62,0x4d,0x20,0x3c,0x31]
789           vpmaxsb (%rcx), %ymm22, %ymm30
790
791 // CHECK: vpmaxsb 291(%rax,%r14,8), %ymm22, %ymm30
792 // CHECK:  encoding: [0x62,0x22,0x4d,0x20,0x3c,0xb4,0xf0,0x23,0x01,0x00,0x00]
793           vpmaxsb 291(%rax,%r14,8), %ymm22, %ymm30
794
795 // CHECK: vpmaxsb 4064(%rdx), %ymm22, %ymm30
796 // CHECK:  encoding: [0x62,0x62,0x4d,0x20,0x3c,0x72,0x7f]
797           vpmaxsb 4064(%rdx), %ymm22, %ymm30
798
799 // CHECK: vpmaxsb 4096(%rdx), %ymm22, %ymm30
800 // CHECK:  encoding: [0x62,0x62,0x4d,0x20,0x3c,0xb2,0x00,0x10,0x00,0x00]
801           vpmaxsb 4096(%rdx), %ymm22, %ymm30
802
803 // CHECK: vpmaxsb -4096(%rdx), %ymm22, %ymm30
804 // CHECK:  encoding: [0x62,0x62,0x4d,0x20,0x3c,0x72,0x80]
805           vpmaxsb -4096(%rdx), %ymm22, %ymm30
806
807 // CHECK: vpmaxsb -4128(%rdx), %ymm22, %ymm30
808 // CHECK:  encoding: [0x62,0x62,0x4d,0x20,0x3c,0xb2,0xe0,0xef,0xff,0xff]
809           vpmaxsb -4128(%rdx), %ymm22, %ymm30
810
811 // CHECK: vpmaxsw %xmm28, %xmm24, %xmm18
812 // CHECK:  encoding: [0x62,0x81,0x3d,0x00,0xee,0xd4]
813           vpmaxsw %xmm28, %xmm24, %xmm18
814
815 // CHECK: vpmaxsw %xmm28, %xmm24, %xmm18 {%k3}
816 // CHECK:  encoding: [0x62,0x81,0x3d,0x03,0xee,0xd4]
817           vpmaxsw %xmm28, %xmm24, %xmm18 {%k3}
818
819 // CHECK: vpmaxsw %xmm28, %xmm24, %xmm18 {%k3} {z}
820 // CHECK:  encoding: [0x62,0x81,0x3d,0x83,0xee,0xd4]
821           vpmaxsw %xmm28, %xmm24, %xmm18 {%k3} {z}
822
823 // CHECK: vpmaxsw (%rcx), %xmm24, %xmm18
824 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xee,0x11]
825           vpmaxsw (%rcx), %xmm24, %xmm18
826
827 // CHECK: vpmaxsw 291(%rax,%r14,8), %xmm24, %xmm18
828 // CHECK:  encoding: [0x62,0xa1,0x3d,0x00,0xee,0x94,0xf0,0x23,0x01,0x00,0x00]
829           vpmaxsw 291(%rax,%r14,8), %xmm24, %xmm18
830
831 // CHECK: vpmaxsw 2032(%rdx), %xmm24, %xmm18
832 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xee,0x52,0x7f]
833           vpmaxsw 2032(%rdx), %xmm24, %xmm18
834
835 // CHECK: vpmaxsw 2048(%rdx), %xmm24, %xmm18
836 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xee,0x92,0x00,0x08,0x00,0x00]
837           vpmaxsw 2048(%rdx), %xmm24, %xmm18
838
839 // CHECK: vpmaxsw -2048(%rdx), %xmm24, %xmm18
840 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xee,0x52,0x80]
841           vpmaxsw -2048(%rdx), %xmm24, %xmm18
842
843 // CHECK: vpmaxsw -2064(%rdx), %xmm24, %xmm18
844 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xee,0x92,0xf0,0xf7,0xff,0xff]
845           vpmaxsw -2064(%rdx), %xmm24, %xmm18
846
847 // CHECK: vpmaxsw %ymm17, %ymm28, %ymm27
848 // CHECK:  encoding: [0x62,0x21,0x1d,0x20,0xee,0xd9]
849           vpmaxsw %ymm17, %ymm28, %ymm27
850
851 // CHECK: vpmaxsw %ymm17, %ymm28, %ymm27 {%k6}
852 // CHECK:  encoding: [0x62,0x21,0x1d,0x26,0xee,0xd9]
853           vpmaxsw %ymm17, %ymm28, %ymm27 {%k6}
854
855 // CHECK: vpmaxsw %ymm17, %ymm28, %ymm27 {%k6} {z}
856 // CHECK:  encoding: [0x62,0x21,0x1d,0xa6,0xee,0xd9]
857           vpmaxsw %ymm17, %ymm28, %ymm27 {%k6} {z}
858
859 // CHECK: vpmaxsw (%rcx), %ymm28, %ymm27
860 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xee,0x19]
861           vpmaxsw (%rcx), %ymm28, %ymm27
862
863 // CHECK: vpmaxsw 291(%rax,%r14,8), %ymm28, %ymm27
864 // CHECK:  encoding: [0x62,0x21,0x1d,0x20,0xee,0x9c,0xf0,0x23,0x01,0x00,0x00]
865           vpmaxsw 291(%rax,%r14,8), %ymm28, %ymm27
866
867 // CHECK: vpmaxsw 4064(%rdx), %ymm28, %ymm27
868 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xee,0x5a,0x7f]
869           vpmaxsw 4064(%rdx), %ymm28, %ymm27
870
871 // CHECK: vpmaxsw 4096(%rdx), %ymm28, %ymm27
872 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xee,0x9a,0x00,0x10,0x00,0x00]
873           vpmaxsw 4096(%rdx), %ymm28, %ymm27
874
875 // CHECK: vpmaxsw -4096(%rdx), %ymm28, %ymm27
876 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xee,0x5a,0x80]
877           vpmaxsw -4096(%rdx), %ymm28, %ymm27
878
879 // CHECK: vpmaxsw -4128(%rdx), %ymm28, %ymm27
880 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xee,0x9a,0xe0,0xef,0xff,0xff]
881           vpmaxsw -4128(%rdx), %ymm28, %ymm27
882
883 // CHECK: vpmaxub %xmm23, %xmm17, %xmm17
884 // CHECK:  encoding: [0x62,0xa1,0x75,0x00,0xde,0xcf]
885           vpmaxub %xmm23, %xmm17, %xmm17
886
887 // CHECK: vpmaxub %xmm23, %xmm17, %xmm17 {%k5}
888 // CHECK:  encoding: [0x62,0xa1,0x75,0x05,0xde,0xcf]
889           vpmaxub %xmm23, %xmm17, %xmm17 {%k5}
890
891 // CHECK: vpmaxub %xmm23, %xmm17, %xmm17 {%k5} {z}
892 // CHECK:  encoding: [0x62,0xa1,0x75,0x85,0xde,0xcf]
893           vpmaxub %xmm23, %xmm17, %xmm17 {%k5} {z}
894
895 // CHECK: vpmaxub (%rcx), %xmm17, %xmm17
896 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xde,0x09]
897           vpmaxub (%rcx), %xmm17, %xmm17
898
899 // CHECK: vpmaxub 291(%rax,%r14,8), %xmm17, %xmm17
900 // CHECK:  encoding: [0x62,0xa1,0x75,0x00,0xde,0x8c,0xf0,0x23,0x01,0x00,0x00]
901           vpmaxub 291(%rax,%r14,8), %xmm17, %xmm17
902
903 // CHECK: vpmaxub 2032(%rdx), %xmm17, %xmm17
904 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xde,0x4a,0x7f]
905           vpmaxub 2032(%rdx), %xmm17, %xmm17
906
907 // CHECK: vpmaxub 2048(%rdx), %xmm17, %xmm17
908 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xde,0x8a,0x00,0x08,0x00,0x00]
909           vpmaxub 2048(%rdx), %xmm17, %xmm17
910
911 // CHECK: vpmaxub -2048(%rdx), %xmm17, %xmm17
912 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xde,0x4a,0x80]
913           vpmaxub -2048(%rdx), %xmm17, %xmm17
914
915 // CHECK: vpmaxub -2064(%rdx), %xmm17, %xmm17
916 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xde,0x8a,0xf0,0xf7,0xff,0xff]
917           vpmaxub -2064(%rdx), %xmm17, %xmm17
918
919 // CHECK: vpmaxub %ymm24, %ymm26, %ymm28
920 // CHECK:  encoding: [0x62,0x01,0x2d,0x20,0xde,0xe0]
921           vpmaxub %ymm24, %ymm26, %ymm28
922
923 // CHECK: vpmaxub %ymm24, %ymm26, %ymm28 {%k6}
924 // CHECK:  encoding: [0x62,0x01,0x2d,0x26,0xde,0xe0]
925           vpmaxub %ymm24, %ymm26, %ymm28 {%k6}
926
927 // CHECK: vpmaxub %ymm24, %ymm26, %ymm28 {%k6} {z}
928 // CHECK:  encoding: [0x62,0x01,0x2d,0xa6,0xde,0xe0]
929           vpmaxub %ymm24, %ymm26, %ymm28 {%k6} {z}
930
931 // CHECK: vpmaxub (%rcx), %ymm26, %ymm28
932 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xde,0x21]
933           vpmaxub (%rcx), %ymm26, %ymm28
934
935 // CHECK: vpmaxub 291(%rax,%r14,8), %ymm26, %ymm28
936 // CHECK:  encoding: [0x62,0x21,0x2d,0x20,0xde,0xa4,0xf0,0x23,0x01,0x00,0x00]
937           vpmaxub 291(%rax,%r14,8), %ymm26, %ymm28
938
939 // CHECK: vpmaxub 4064(%rdx), %ymm26, %ymm28
940 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xde,0x62,0x7f]
941           vpmaxub 4064(%rdx), %ymm26, %ymm28
942
943 // CHECK: vpmaxub 4096(%rdx), %ymm26, %ymm28
944 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xde,0xa2,0x00,0x10,0x00,0x00]
945           vpmaxub 4096(%rdx), %ymm26, %ymm28
946
947 // CHECK: vpmaxub -4096(%rdx), %ymm26, %ymm28
948 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xde,0x62,0x80]
949           vpmaxub -4096(%rdx), %ymm26, %ymm28
950
951 // CHECK: vpmaxub -4128(%rdx), %ymm26, %ymm28
952 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xde,0xa2,0xe0,0xef,0xff,0xff]
953           vpmaxub -4128(%rdx), %ymm26, %ymm28
954
955 // CHECK: vpmaxuw %xmm20, %xmm18, %xmm24
956 // CHECK:  encoding: [0x62,0x22,0x6d,0x00,0x3e,0xc4]
957           vpmaxuw %xmm20, %xmm18, %xmm24
958
959 // CHECK: vpmaxuw %xmm20, %xmm18, %xmm24 {%k7}
960 // CHECK:  encoding: [0x62,0x22,0x6d,0x07,0x3e,0xc4]
961           vpmaxuw %xmm20, %xmm18, %xmm24 {%k7}
962
963 // CHECK: vpmaxuw %xmm20, %xmm18, %xmm24 {%k7} {z}
964 // CHECK:  encoding: [0x62,0x22,0x6d,0x87,0x3e,0xc4]
965           vpmaxuw %xmm20, %xmm18, %xmm24 {%k7} {z}
966
967 // CHECK: vpmaxuw (%rcx), %xmm18, %xmm24
968 // CHECK:  encoding: [0x62,0x62,0x6d,0x00,0x3e,0x01]
969           vpmaxuw (%rcx), %xmm18, %xmm24
970
971 // CHECK: vpmaxuw 291(%rax,%r14,8), %xmm18, %xmm24
972 // CHECK:  encoding: [0x62,0x22,0x6d,0x00,0x3e,0x84,0xf0,0x23,0x01,0x00,0x00]
973           vpmaxuw 291(%rax,%r14,8), %xmm18, %xmm24
974
975 // CHECK: vpmaxuw 2032(%rdx), %xmm18, %xmm24
976 // CHECK:  encoding: [0x62,0x62,0x6d,0x00,0x3e,0x42,0x7f]
977           vpmaxuw 2032(%rdx), %xmm18, %xmm24
978
979 // CHECK: vpmaxuw 2048(%rdx), %xmm18, %xmm24
980 // CHECK:  encoding: [0x62,0x62,0x6d,0x00,0x3e,0x82,0x00,0x08,0x00,0x00]
981           vpmaxuw 2048(%rdx), %xmm18, %xmm24
982
983 // CHECK: vpmaxuw -2048(%rdx), %xmm18, %xmm24
984 // CHECK:  encoding: [0x62,0x62,0x6d,0x00,0x3e,0x42,0x80]
985           vpmaxuw -2048(%rdx), %xmm18, %xmm24
986
987 // CHECK: vpmaxuw -2064(%rdx), %xmm18, %xmm24
988 // CHECK:  encoding: [0x62,0x62,0x6d,0x00,0x3e,0x82,0xf0,0xf7,0xff,0xff]
989           vpmaxuw -2064(%rdx), %xmm18, %xmm24
990
991 // CHECK: vpmaxuw %ymm19, %ymm22, %ymm19
992 // CHECK:  encoding: [0x62,0xa2,0x4d,0x20,0x3e,0xdb]
993           vpmaxuw %ymm19, %ymm22, %ymm19
994
995 // CHECK: vpmaxuw %ymm19, %ymm22, %ymm19 {%k7}
996 // CHECK:  encoding: [0x62,0xa2,0x4d,0x27,0x3e,0xdb]
997           vpmaxuw %ymm19, %ymm22, %ymm19 {%k7}
998
999 // CHECK: vpmaxuw %ymm19, %ymm22, %ymm19 {%k7} {z}
1000 // CHECK:  encoding: [0x62,0xa2,0x4d,0xa7,0x3e,0xdb]
1001           vpmaxuw %ymm19, %ymm22, %ymm19 {%k7} {z}
1002
1003 // CHECK: vpmaxuw (%rcx), %ymm22, %ymm19
1004 // CHECK:  encoding: [0x62,0xe2,0x4d,0x20,0x3e,0x19]
1005           vpmaxuw (%rcx), %ymm22, %ymm19
1006
1007 // CHECK: vpmaxuw 291(%rax,%r14,8), %ymm22, %ymm19
1008 // CHECK:  encoding: [0x62,0xa2,0x4d,0x20,0x3e,0x9c,0xf0,0x23,0x01,0x00,0x00]
1009           vpmaxuw 291(%rax,%r14,8), %ymm22, %ymm19
1010
1011 // CHECK: vpmaxuw 4064(%rdx), %ymm22, %ymm19
1012 // CHECK:  encoding: [0x62,0xe2,0x4d,0x20,0x3e,0x5a,0x7f]
1013           vpmaxuw 4064(%rdx), %ymm22, %ymm19
1014
1015 // CHECK: vpmaxuw 4096(%rdx), %ymm22, %ymm19
1016 // CHECK:  encoding: [0x62,0xe2,0x4d,0x20,0x3e,0x9a,0x00,0x10,0x00,0x00]
1017           vpmaxuw 4096(%rdx), %ymm22, %ymm19
1018
1019 // CHECK: vpmaxuw -4096(%rdx), %ymm22, %ymm19
1020 // CHECK:  encoding: [0x62,0xe2,0x4d,0x20,0x3e,0x5a,0x80]
1021           vpmaxuw -4096(%rdx), %ymm22, %ymm19
1022
1023 // CHECK: vpmaxuw -4128(%rdx), %ymm22, %ymm19
1024 // CHECK:  encoding: [0x62,0xe2,0x4d,0x20,0x3e,0x9a,0xe0,0xef,0xff,0xff]
1025           vpmaxuw -4128(%rdx), %ymm22, %ymm19
1026
1027 // CHECK: vpminsb %xmm27, %xmm28, %xmm25
1028 // CHECK:  encoding: [0x62,0x02,0x1d,0x00,0x38,0xcb]
1029           vpminsb %xmm27, %xmm28, %xmm25
1030
1031 // CHECK: vpminsb %xmm27, %xmm28, %xmm25 {%k1}
1032 // CHECK:  encoding: [0x62,0x02,0x1d,0x01,0x38,0xcb]
1033           vpminsb %xmm27, %xmm28, %xmm25 {%k1}
1034
1035 // CHECK: vpminsb %xmm27, %xmm28, %xmm25 {%k1} {z}
1036 // CHECK:  encoding: [0x62,0x02,0x1d,0x81,0x38,0xcb]
1037           vpminsb %xmm27, %xmm28, %xmm25 {%k1} {z}
1038
1039 // CHECK: vpminsb (%rcx), %xmm28, %xmm25
1040 // CHECK:  encoding: [0x62,0x62,0x1d,0x00,0x38,0x09]
1041           vpminsb (%rcx), %xmm28, %xmm25
1042
1043 // CHECK: vpminsb 291(%rax,%r14,8), %xmm28, %xmm25
1044 // CHECK:  encoding: [0x62,0x22,0x1d,0x00,0x38,0x8c,0xf0,0x23,0x01,0x00,0x00]
1045           vpminsb 291(%rax,%r14,8), %xmm28, %xmm25
1046
1047 // CHECK: vpminsb 2032(%rdx), %xmm28, %xmm25
1048 // CHECK:  encoding: [0x62,0x62,0x1d,0x00,0x38,0x4a,0x7f]
1049           vpminsb 2032(%rdx), %xmm28, %xmm25
1050
1051 // CHECK: vpminsb 2048(%rdx), %xmm28, %xmm25
1052 // CHECK:  encoding: [0x62,0x62,0x1d,0x00,0x38,0x8a,0x00,0x08,0x00,0x00]
1053           vpminsb 2048(%rdx), %xmm28, %xmm25
1054
1055 // CHECK: vpminsb -2048(%rdx), %xmm28, %xmm25
1056 // CHECK:  encoding: [0x62,0x62,0x1d,0x00,0x38,0x4a,0x80]
1057           vpminsb -2048(%rdx), %xmm28, %xmm25
1058
1059 // CHECK: vpminsb -2064(%rdx), %xmm28, %xmm25
1060 // CHECK:  encoding: [0x62,0x62,0x1d,0x00,0x38,0x8a,0xf0,0xf7,0xff,0xff]
1061           vpminsb -2064(%rdx), %xmm28, %xmm25
1062
1063 // CHECK: vpminsb %ymm27, %ymm20, %ymm27
1064 // CHECK:  encoding: [0x62,0x02,0x5d,0x20,0x38,0xdb]
1065           vpminsb %ymm27, %ymm20, %ymm27
1066
1067 // CHECK: vpminsb %ymm27, %ymm20, %ymm27 {%k6}
1068 // CHECK:  encoding: [0x62,0x02,0x5d,0x26,0x38,0xdb]
1069           vpminsb %ymm27, %ymm20, %ymm27 {%k6}
1070
1071 // CHECK: vpminsb %ymm27, %ymm20, %ymm27 {%k6} {z}
1072 // CHECK:  encoding: [0x62,0x02,0x5d,0xa6,0x38,0xdb]
1073           vpminsb %ymm27, %ymm20, %ymm27 {%k6} {z}
1074
1075 // CHECK: vpminsb (%rcx), %ymm20, %ymm27
1076 // CHECK:  encoding: [0x62,0x62,0x5d,0x20,0x38,0x19]
1077           vpminsb (%rcx), %ymm20, %ymm27
1078
1079 // CHECK: vpminsb 291(%rax,%r14,8), %ymm20, %ymm27
1080 // CHECK:  encoding: [0x62,0x22,0x5d,0x20,0x38,0x9c,0xf0,0x23,0x01,0x00,0x00]
1081           vpminsb 291(%rax,%r14,8), %ymm20, %ymm27
1082
1083 // CHECK: vpminsb 4064(%rdx), %ymm20, %ymm27
1084 // CHECK:  encoding: [0x62,0x62,0x5d,0x20,0x38,0x5a,0x7f]
1085           vpminsb 4064(%rdx), %ymm20, %ymm27
1086
1087 // CHECK: vpminsb 4096(%rdx), %ymm20, %ymm27
1088 // CHECK:  encoding: [0x62,0x62,0x5d,0x20,0x38,0x9a,0x00,0x10,0x00,0x00]
1089           vpminsb 4096(%rdx), %ymm20, %ymm27
1090
1091 // CHECK: vpminsb -4096(%rdx), %ymm20, %ymm27
1092 // CHECK:  encoding: [0x62,0x62,0x5d,0x20,0x38,0x5a,0x80]
1093           vpminsb -4096(%rdx), %ymm20, %ymm27
1094
1095 // CHECK: vpminsb -4128(%rdx), %ymm20, %ymm27
1096 // CHECK:  encoding: [0x62,0x62,0x5d,0x20,0x38,0x9a,0xe0,0xef,0xff,0xff]
1097           vpminsb -4128(%rdx), %ymm20, %ymm27
1098
1099 // CHECK: vpminsw %xmm19, %xmm26, %xmm27
1100 // CHECK:  encoding: [0x62,0x21,0x2d,0x00,0xea,0xdb]
1101           vpminsw %xmm19, %xmm26, %xmm27
1102
1103 // CHECK: vpminsw %xmm19, %xmm26, %xmm27 {%k2}
1104 // CHECK:  encoding: [0x62,0x21,0x2d,0x02,0xea,0xdb]
1105           vpminsw %xmm19, %xmm26, %xmm27 {%k2}
1106
1107 // CHECK: vpminsw %xmm19, %xmm26, %xmm27 {%k2} {z}
1108 // CHECK:  encoding: [0x62,0x21,0x2d,0x82,0xea,0xdb]
1109           vpminsw %xmm19, %xmm26, %xmm27 {%k2} {z}
1110
1111 // CHECK: vpminsw (%rcx), %xmm26, %xmm27
1112 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xea,0x19]
1113           vpminsw (%rcx), %xmm26, %xmm27
1114
1115 // CHECK: vpminsw 291(%rax,%r14,8), %xmm26, %xmm27
1116 // CHECK:  encoding: [0x62,0x21,0x2d,0x00,0xea,0x9c,0xf0,0x23,0x01,0x00,0x00]
1117           vpminsw 291(%rax,%r14,8), %xmm26, %xmm27
1118
1119 // CHECK: vpminsw 2032(%rdx), %xmm26, %xmm27
1120 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xea,0x5a,0x7f]
1121           vpminsw 2032(%rdx), %xmm26, %xmm27
1122
1123 // CHECK: vpminsw 2048(%rdx), %xmm26, %xmm27
1124 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xea,0x9a,0x00,0x08,0x00,0x00]
1125           vpminsw 2048(%rdx), %xmm26, %xmm27
1126
1127 // CHECK: vpminsw -2048(%rdx), %xmm26, %xmm27
1128 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xea,0x5a,0x80]
1129           vpminsw -2048(%rdx), %xmm26, %xmm27
1130
1131 // CHECK: vpminsw -2064(%rdx), %xmm26, %xmm27
1132 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xea,0x9a,0xf0,0xf7,0xff,0xff]
1133           vpminsw -2064(%rdx), %xmm26, %xmm27
1134
1135 // CHECK: vpminsw %ymm27, %ymm23, %ymm21
1136 // CHECK:  encoding: [0x62,0x81,0x45,0x20,0xea,0xeb]
1137           vpminsw %ymm27, %ymm23, %ymm21
1138
1139 // CHECK: vpminsw %ymm27, %ymm23, %ymm21 {%k2}
1140 // CHECK:  encoding: [0x62,0x81,0x45,0x22,0xea,0xeb]
1141           vpminsw %ymm27, %ymm23, %ymm21 {%k2}
1142
1143 // CHECK: vpminsw %ymm27, %ymm23, %ymm21 {%k2} {z}
1144 // CHECK:  encoding: [0x62,0x81,0x45,0xa2,0xea,0xeb]
1145           vpminsw %ymm27, %ymm23, %ymm21 {%k2} {z}
1146
1147 // CHECK: vpminsw (%rcx), %ymm23, %ymm21
1148 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xea,0x29]
1149           vpminsw (%rcx), %ymm23, %ymm21
1150
1151 // CHECK: vpminsw 291(%rax,%r14,8), %ymm23, %ymm21
1152 // CHECK:  encoding: [0x62,0xa1,0x45,0x20,0xea,0xac,0xf0,0x23,0x01,0x00,0x00]
1153           vpminsw 291(%rax,%r14,8), %ymm23, %ymm21
1154
1155 // CHECK: vpminsw 4064(%rdx), %ymm23, %ymm21
1156 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xea,0x6a,0x7f]
1157           vpminsw 4064(%rdx), %ymm23, %ymm21
1158
1159 // CHECK: vpminsw 4096(%rdx), %ymm23, %ymm21
1160 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xea,0xaa,0x00,0x10,0x00,0x00]
1161           vpminsw 4096(%rdx), %ymm23, %ymm21
1162
1163 // CHECK: vpminsw -4096(%rdx), %ymm23, %ymm21
1164 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xea,0x6a,0x80]
1165           vpminsw -4096(%rdx), %ymm23, %ymm21
1166
1167 // CHECK: vpminsw -4128(%rdx), %ymm23, %ymm21
1168 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xea,0xaa,0xe0,0xef,0xff,0xff]
1169           vpminsw -4128(%rdx), %ymm23, %ymm21
1170
1171 // CHECK: vpminub %xmm27, %xmm27, %xmm22
1172 // CHECK:  encoding: [0x62,0x81,0x25,0x00,0xda,0xf3]
1173           vpminub %xmm27, %xmm27, %xmm22
1174
1175 // CHECK: vpminub %xmm27, %xmm27, %xmm22 {%k5}
1176 // CHECK:  encoding: [0x62,0x81,0x25,0x05,0xda,0xf3]
1177           vpminub %xmm27, %xmm27, %xmm22 {%k5}
1178
1179 // CHECK: vpminub %xmm27, %xmm27, %xmm22 {%k5} {z}
1180 // CHECK:  encoding: [0x62,0x81,0x25,0x85,0xda,0xf3]
1181           vpminub %xmm27, %xmm27, %xmm22 {%k5} {z}
1182
1183 // CHECK: vpminub (%rcx), %xmm27, %xmm22
1184 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xda,0x31]
1185           vpminub (%rcx), %xmm27, %xmm22
1186
1187 // CHECK: vpminub 291(%rax,%r14,8), %xmm27, %xmm22
1188 // CHECK:  encoding: [0x62,0xa1,0x25,0x00,0xda,0xb4,0xf0,0x23,0x01,0x00,0x00]
1189           vpminub 291(%rax,%r14,8), %xmm27, %xmm22
1190
1191 // CHECK: vpminub 2032(%rdx), %xmm27, %xmm22
1192 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xda,0x72,0x7f]
1193           vpminub 2032(%rdx), %xmm27, %xmm22
1194
1195 // CHECK: vpminub 2048(%rdx), %xmm27, %xmm22
1196 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xda,0xb2,0x00,0x08,0x00,0x00]
1197           vpminub 2048(%rdx), %xmm27, %xmm22
1198
1199 // CHECK: vpminub -2048(%rdx), %xmm27, %xmm22
1200 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xda,0x72,0x80]
1201           vpminub -2048(%rdx), %xmm27, %xmm22
1202
1203 // CHECK: vpminub -2064(%rdx), %xmm27, %xmm22
1204 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xda,0xb2,0xf0,0xf7,0xff,0xff]
1205           vpminub -2064(%rdx), %xmm27, %xmm22
1206
1207 // CHECK: vpminub %ymm27, %ymm25, %ymm27
1208 // CHECK:  encoding: [0x62,0x01,0x35,0x20,0xda,0xdb]
1209           vpminub %ymm27, %ymm25, %ymm27
1210
1211 // CHECK: vpminub %ymm27, %ymm25, %ymm27 {%k3}
1212 // CHECK:  encoding: [0x62,0x01,0x35,0x23,0xda,0xdb]
1213           vpminub %ymm27, %ymm25, %ymm27 {%k3}
1214
1215 // CHECK: vpminub %ymm27, %ymm25, %ymm27 {%k3} {z}
1216 // CHECK:  encoding: [0x62,0x01,0x35,0xa3,0xda,0xdb]
1217           vpminub %ymm27, %ymm25, %ymm27 {%k3} {z}
1218
1219 // CHECK: vpminub (%rcx), %ymm25, %ymm27
1220 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xda,0x19]
1221           vpminub (%rcx), %ymm25, %ymm27
1222
1223 // CHECK: vpminub 291(%rax,%r14,8), %ymm25, %ymm27
1224 // CHECK:  encoding: [0x62,0x21,0x35,0x20,0xda,0x9c,0xf0,0x23,0x01,0x00,0x00]
1225           vpminub 291(%rax,%r14,8), %ymm25, %ymm27
1226
1227 // CHECK: vpminub 4064(%rdx), %ymm25, %ymm27
1228 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xda,0x5a,0x7f]
1229           vpminub 4064(%rdx), %ymm25, %ymm27
1230
1231 // CHECK: vpminub 4096(%rdx), %ymm25, %ymm27
1232 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xda,0x9a,0x00,0x10,0x00,0x00]
1233           vpminub 4096(%rdx), %ymm25, %ymm27
1234
1235 // CHECK: vpminub -4096(%rdx), %ymm25, %ymm27
1236 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xda,0x5a,0x80]
1237           vpminub -4096(%rdx), %ymm25, %ymm27
1238
1239 // CHECK: vpminub -4128(%rdx), %ymm25, %ymm27
1240 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xda,0x9a,0xe0,0xef,0xff,0xff]
1241           vpminub -4128(%rdx), %ymm25, %ymm27
1242
1243 // CHECK: vpminuw %xmm23, %xmm17, %xmm28
1244 // CHECK:  encoding: [0x62,0x22,0x75,0x00,0x3a,0xe7]
1245           vpminuw %xmm23, %xmm17, %xmm28
1246
1247 // CHECK: vpminuw %xmm23, %xmm17, %xmm28 {%k2}
1248 // CHECK:  encoding: [0x62,0x22,0x75,0x02,0x3a,0xe7]
1249           vpminuw %xmm23, %xmm17, %xmm28 {%k2}
1250
1251 // CHECK: vpminuw %xmm23, %xmm17, %xmm28 {%k2} {z}
1252 // CHECK:  encoding: [0x62,0x22,0x75,0x82,0x3a,0xe7]
1253           vpminuw %xmm23, %xmm17, %xmm28 {%k2} {z}
1254
1255 // CHECK: vpminuw (%rcx), %xmm17, %xmm28
1256 // CHECK:  encoding: [0x62,0x62,0x75,0x00,0x3a,0x21]
1257           vpminuw (%rcx), %xmm17, %xmm28
1258
1259 // CHECK: vpminuw 291(%rax,%r14,8), %xmm17, %xmm28
1260 // CHECK:  encoding: [0x62,0x22,0x75,0x00,0x3a,0xa4,0xf0,0x23,0x01,0x00,0x00]
1261           vpminuw 291(%rax,%r14,8), %xmm17, %xmm28
1262
1263 // CHECK: vpminuw 2032(%rdx), %xmm17, %xmm28
1264 // CHECK:  encoding: [0x62,0x62,0x75,0x00,0x3a,0x62,0x7f]
1265           vpminuw 2032(%rdx), %xmm17, %xmm28
1266
1267 // CHECK: vpminuw 2048(%rdx), %xmm17, %xmm28
1268 // CHECK:  encoding: [0x62,0x62,0x75,0x00,0x3a,0xa2,0x00,0x08,0x00,0x00]
1269           vpminuw 2048(%rdx), %xmm17, %xmm28
1270
1271 // CHECK: vpminuw -2048(%rdx), %xmm17, %xmm28
1272 // CHECK:  encoding: [0x62,0x62,0x75,0x00,0x3a,0x62,0x80]
1273           vpminuw -2048(%rdx), %xmm17, %xmm28
1274
1275 // CHECK: vpminuw -2064(%rdx), %xmm17, %xmm28
1276 // CHECK:  encoding: [0x62,0x62,0x75,0x00,0x3a,0xa2,0xf0,0xf7,0xff,0xff]
1277           vpminuw -2064(%rdx), %xmm17, %xmm28
1278
1279 // CHECK: vpminuw %ymm18, %ymm27, %ymm20
1280 // CHECK:  encoding: [0x62,0xa2,0x25,0x20,0x3a,0xe2]
1281           vpminuw %ymm18, %ymm27, %ymm20
1282
1283 // CHECK: vpminuw %ymm18, %ymm27, %ymm20 {%k7}
1284 // CHECK:  encoding: [0x62,0xa2,0x25,0x27,0x3a,0xe2]
1285           vpminuw %ymm18, %ymm27, %ymm20 {%k7}
1286
1287 // CHECK: vpminuw %ymm18, %ymm27, %ymm20 {%k7} {z}
1288 // CHECK:  encoding: [0x62,0xa2,0x25,0xa7,0x3a,0xe2]
1289           vpminuw %ymm18, %ymm27, %ymm20 {%k7} {z}
1290
1291 // CHECK: vpminuw (%rcx), %ymm27, %ymm20
1292 // CHECK:  encoding: [0x62,0xe2,0x25,0x20,0x3a,0x21]
1293           vpminuw (%rcx), %ymm27, %ymm20
1294
1295 // CHECK: vpminuw 291(%rax,%r14,8), %ymm27, %ymm20
1296 // CHECK:  encoding: [0x62,0xa2,0x25,0x20,0x3a,0xa4,0xf0,0x23,0x01,0x00,0x00]
1297           vpminuw 291(%rax,%r14,8), %ymm27, %ymm20
1298
1299 // CHECK: vpminuw 4064(%rdx), %ymm27, %ymm20
1300 // CHECK:  encoding: [0x62,0xe2,0x25,0x20,0x3a,0x62,0x7f]
1301           vpminuw 4064(%rdx), %ymm27, %ymm20
1302
1303 // CHECK: vpminuw 4096(%rdx), %ymm27, %ymm20
1304 // CHECK:  encoding: [0x62,0xe2,0x25,0x20,0x3a,0xa2,0x00,0x10,0x00,0x00]
1305           vpminuw 4096(%rdx), %ymm27, %ymm20
1306
1307 // CHECK: vpminuw -4096(%rdx), %ymm27, %ymm20
1308 // CHECK:  encoding: [0x62,0xe2,0x25,0x20,0x3a,0x62,0x80]
1309           vpminuw -4096(%rdx), %ymm27, %ymm20
1310
1311 // CHECK: vpminuw -4128(%rdx), %ymm27, %ymm20
1312 // CHECK:  encoding: [0x62,0xe2,0x25,0x20,0x3a,0xa2,0xe0,0xef,0xff,0xff]
1313           vpminuw -4128(%rdx), %ymm27, %ymm20
1314
1315 // CHECK: vpmullw %xmm26, %xmm19, %xmm29
1316 // CHECK:  encoding: [0x62,0x01,0x65,0x00,0xd5,0xea]
1317           vpmullw %xmm26, %xmm19, %xmm29
1318
1319 // CHECK: vpmullw %xmm26, %xmm19, %xmm29 {%k7}
1320 // CHECK:  encoding: [0x62,0x01,0x65,0x07,0xd5,0xea]
1321           vpmullw %xmm26, %xmm19, %xmm29 {%k7}
1322
1323 // CHECK: vpmullw %xmm26, %xmm19, %xmm29 {%k7} {z}
1324 // CHECK:  encoding: [0x62,0x01,0x65,0x87,0xd5,0xea]
1325           vpmullw %xmm26, %xmm19, %xmm29 {%k7} {z}
1326
1327 // CHECK: vpmullw (%rcx), %xmm19, %xmm29
1328 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xd5,0x29]
1329           vpmullw (%rcx), %xmm19, %xmm29
1330
1331 // CHECK: vpmullw 291(%rax,%r14,8), %xmm19, %xmm29
1332 // CHECK:  encoding: [0x62,0x21,0x65,0x00,0xd5,0xac,0xf0,0x23,0x01,0x00,0x00]
1333           vpmullw 291(%rax,%r14,8), %xmm19, %xmm29
1334
1335 // CHECK: vpmullw 2032(%rdx), %xmm19, %xmm29
1336 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xd5,0x6a,0x7f]
1337           vpmullw 2032(%rdx), %xmm19, %xmm29
1338
1339 // CHECK: vpmullw 2048(%rdx), %xmm19, %xmm29
1340 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xd5,0xaa,0x00,0x08,0x00,0x00]
1341           vpmullw 2048(%rdx), %xmm19, %xmm29
1342
1343 // CHECK: vpmullw -2048(%rdx), %xmm19, %xmm29
1344 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xd5,0x6a,0x80]
1345           vpmullw -2048(%rdx), %xmm19, %xmm29
1346
1347 // CHECK: vpmullw -2064(%rdx), %xmm19, %xmm29
1348 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xd5,0xaa,0xf0,0xf7,0xff,0xff]
1349           vpmullw -2064(%rdx), %xmm19, %xmm29
1350
1351 // CHECK: vpmullw %ymm20, %ymm24, %ymm17
1352 // CHECK:  encoding: [0x62,0xa1,0x3d,0x20,0xd5,0xcc]
1353           vpmullw %ymm20, %ymm24, %ymm17
1354
1355 // CHECK: vpmullw %ymm20, %ymm24, %ymm17 {%k5}
1356 // CHECK:  encoding: [0x62,0xa1,0x3d,0x25,0xd5,0xcc]
1357           vpmullw %ymm20, %ymm24, %ymm17 {%k5}
1358
1359 // CHECK: vpmullw %ymm20, %ymm24, %ymm17 {%k5} {z}
1360 // CHECK:  encoding: [0x62,0xa1,0x3d,0xa5,0xd5,0xcc]
1361           vpmullw %ymm20, %ymm24, %ymm17 {%k5} {z}
1362
1363 // CHECK: vpmullw (%rcx), %ymm24, %ymm17
1364 // CHECK:  encoding: [0x62,0xe1,0x3d,0x20,0xd5,0x09]
1365           vpmullw (%rcx), %ymm24, %ymm17
1366
1367 // CHECK: vpmullw 291(%rax,%r14,8), %ymm24, %ymm17
1368 // CHECK:  encoding: [0x62,0xa1,0x3d,0x20,0xd5,0x8c,0xf0,0x23,0x01,0x00,0x00]
1369           vpmullw 291(%rax,%r14,8), %ymm24, %ymm17
1370
1371 // CHECK: vpmullw 4064(%rdx), %ymm24, %ymm17
1372 // CHECK:  encoding: [0x62,0xe1,0x3d,0x20,0xd5,0x4a,0x7f]
1373           vpmullw 4064(%rdx), %ymm24, %ymm17
1374
1375 // CHECK: vpmullw 4096(%rdx), %ymm24, %ymm17
1376 // CHECK:  encoding: [0x62,0xe1,0x3d,0x20,0xd5,0x8a,0x00,0x10,0x00,0x00]
1377           vpmullw 4096(%rdx), %ymm24, %ymm17
1378
1379 // CHECK: vpmullw -4096(%rdx), %ymm24, %ymm17
1380 // CHECK:  encoding: [0x62,0xe1,0x3d,0x20,0xd5,0x4a,0x80]
1381           vpmullw -4096(%rdx), %ymm24, %ymm17
1382
1383 // CHECK: vpmullw -4128(%rdx), %ymm24, %ymm17
1384 // CHECK:  encoding: [0x62,0xe1,0x3d,0x20,0xd5,0x8a,0xe0,0xef,0xff,0xff]
1385           vpmullw -4128(%rdx), %ymm24, %ymm17
1386
1387 // CHECK: vpsubb %xmm28, %xmm29, %xmm27
1388 // CHECK:  encoding: [0x62,0x01,0x15,0x00,0xf8,0xdc]
1389           vpsubb %xmm28, %xmm29, %xmm27
1390
1391 // CHECK: vpsubb %xmm28, %xmm29, %xmm27 {%k3}
1392 // CHECK:  encoding: [0x62,0x01,0x15,0x03,0xf8,0xdc]
1393           vpsubb %xmm28, %xmm29, %xmm27 {%k3}
1394
1395 // CHECK: vpsubb %xmm28, %xmm29, %xmm27 {%k3} {z}
1396 // CHECK:  encoding: [0x62,0x01,0x15,0x83,0xf8,0xdc]
1397           vpsubb %xmm28, %xmm29, %xmm27 {%k3} {z}
1398
1399 // CHECK: vpsubb (%rcx), %xmm29, %xmm27
1400 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xf8,0x19]
1401           vpsubb (%rcx), %xmm29, %xmm27
1402
1403 // CHECK: vpsubb 291(%rax,%r14,8), %xmm29, %xmm27
1404 // CHECK:  encoding: [0x62,0x21,0x15,0x00,0xf8,0x9c,0xf0,0x23,0x01,0x00,0x00]
1405           vpsubb 291(%rax,%r14,8), %xmm29, %xmm27
1406
1407 // CHECK: vpsubb 2032(%rdx), %xmm29, %xmm27
1408 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xf8,0x5a,0x7f]
1409           vpsubb 2032(%rdx), %xmm29, %xmm27
1410
1411 // CHECK: vpsubb 2048(%rdx), %xmm29, %xmm27
1412 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xf8,0x9a,0x00,0x08,0x00,0x00]
1413           vpsubb 2048(%rdx), %xmm29, %xmm27
1414
1415 // CHECK: vpsubb -2048(%rdx), %xmm29, %xmm27
1416 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xf8,0x5a,0x80]
1417           vpsubb -2048(%rdx), %xmm29, %xmm27
1418
1419 // CHECK: vpsubb -2064(%rdx), %xmm29, %xmm27
1420 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xf8,0x9a,0xf0,0xf7,0xff,0xff]
1421           vpsubb -2064(%rdx), %xmm29, %xmm27
1422
1423 // CHECK: vpsubb %ymm28, %ymm20, %ymm20
1424 // CHECK:  encoding: [0x62,0x81,0x5d,0x20,0xf8,0xe4]
1425           vpsubb %ymm28, %ymm20, %ymm20
1426
1427 // CHECK: vpsubb %ymm28, %ymm20, %ymm20 {%k2}
1428 // CHECK:  encoding: [0x62,0x81,0x5d,0x22,0xf8,0xe4]
1429           vpsubb %ymm28, %ymm20, %ymm20 {%k2}
1430
1431 // CHECK: vpsubb %ymm28, %ymm20, %ymm20 {%k2} {z}
1432 // CHECK:  encoding: [0x62,0x81,0x5d,0xa2,0xf8,0xe4]
1433           vpsubb %ymm28, %ymm20, %ymm20 {%k2} {z}
1434
1435 // CHECK: vpsubb (%rcx), %ymm20, %ymm20
1436 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xf8,0x21]
1437           vpsubb (%rcx), %ymm20, %ymm20
1438
1439 // CHECK: vpsubb 291(%rax,%r14,8), %ymm20, %ymm20
1440 // CHECK:  encoding: [0x62,0xa1,0x5d,0x20,0xf8,0xa4,0xf0,0x23,0x01,0x00,0x00]
1441           vpsubb 291(%rax,%r14,8), %ymm20, %ymm20
1442
1443 // CHECK: vpsubb 4064(%rdx), %ymm20, %ymm20
1444 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xf8,0x62,0x7f]
1445           vpsubb 4064(%rdx), %ymm20, %ymm20
1446
1447 // CHECK: vpsubb 4096(%rdx), %ymm20, %ymm20
1448 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xf8,0xa2,0x00,0x10,0x00,0x00]
1449           vpsubb 4096(%rdx), %ymm20, %ymm20
1450
1451 // CHECK: vpsubb -4096(%rdx), %ymm20, %ymm20
1452 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xf8,0x62,0x80]
1453           vpsubb -4096(%rdx), %ymm20, %ymm20
1454
1455 // CHECK: vpsubb -4128(%rdx), %ymm20, %ymm20
1456 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xf8,0xa2,0xe0,0xef,0xff,0xff]
1457           vpsubb -4128(%rdx), %ymm20, %ymm20
1458
1459 // CHECK: vpsubw %xmm18, %xmm22, %xmm17
1460 // CHECK:  encoding: [0x62,0xa1,0x4d,0x00,0xf9,0xca]
1461           vpsubw %xmm18, %xmm22, %xmm17
1462
1463 // CHECK: vpsubw %xmm18, %xmm22, %xmm17 {%k6}
1464 // CHECK:  encoding: [0x62,0xa1,0x4d,0x06,0xf9,0xca]
1465           vpsubw %xmm18, %xmm22, %xmm17 {%k6}
1466
1467 // CHECK: vpsubw %xmm18, %xmm22, %xmm17 {%k6} {z}
1468 // CHECK:  encoding: [0x62,0xa1,0x4d,0x86,0xf9,0xca]
1469           vpsubw %xmm18, %xmm22, %xmm17 {%k6} {z}
1470
1471 // CHECK: vpsubw (%rcx), %xmm22, %xmm17
1472 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xf9,0x09]
1473           vpsubw (%rcx), %xmm22, %xmm17
1474
1475 // CHECK: vpsubw 291(%rax,%r14,8), %xmm22, %xmm17
1476 // CHECK:  encoding: [0x62,0xa1,0x4d,0x00,0xf9,0x8c,0xf0,0x23,0x01,0x00,0x00]
1477           vpsubw 291(%rax,%r14,8), %xmm22, %xmm17
1478
1479 // CHECK: vpsubw 2032(%rdx), %xmm22, %xmm17
1480 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xf9,0x4a,0x7f]
1481           vpsubw 2032(%rdx), %xmm22, %xmm17
1482
1483 // CHECK: vpsubw 2048(%rdx), %xmm22, %xmm17
1484 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xf9,0x8a,0x00,0x08,0x00,0x00]
1485           vpsubw 2048(%rdx), %xmm22, %xmm17
1486
1487 // CHECK: vpsubw -2048(%rdx), %xmm22, %xmm17
1488 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xf9,0x4a,0x80]
1489           vpsubw -2048(%rdx), %xmm22, %xmm17
1490
1491 // CHECK: vpsubw -2064(%rdx), %xmm22, %xmm17
1492 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xf9,0x8a,0xf0,0xf7,0xff,0xff]
1493           vpsubw -2064(%rdx), %xmm22, %xmm17
1494
1495 // CHECK: vpsubw %ymm24, %ymm29, %ymm17
1496 // CHECK:  encoding: [0x62,0x81,0x15,0x20,0xf9,0xc8]
1497           vpsubw %ymm24, %ymm29, %ymm17
1498
1499 // CHECK: vpsubw %ymm24, %ymm29, %ymm17 {%k2}
1500 // CHECK:  encoding: [0x62,0x81,0x15,0x22,0xf9,0xc8]
1501           vpsubw %ymm24, %ymm29, %ymm17 {%k2}
1502
1503 // CHECK: vpsubw %ymm24, %ymm29, %ymm17 {%k2} {z}
1504 // CHECK:  encoding: [0x62,0x81,0x15,0xa2,0xf9,0xc8]
1505           vpsubw %ymm24, %ymm29, %ymm17 {%k2} {z}
1506
1507 // CHECK: vpsubw (%rcx), %ymm29, %ymm17
1508 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xf9,0x09]
1509           vpsubw (%rcx), %ymm29, %ymm17
1510
1511 // CHECK: vpsubw 291(%rax,%r14,8), %ymm29, %ymm17
1512 // CHECK:  encoding: [0x62,0xa1,0x15,0x20,0xf9,0x8c,0xf0,0x23,0x01,0x00,0x00]
1513           vpsubw 291(%rax,%r14,8), %ymm29, %ymm17
1514
1515 // CHECK: vpsubw 4064(%rdx), %ymm29, %ymm17
1516 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xf9,0x4a,0x7f]
1517           vpsubw 4064(%rdx), %ymm29, %ymm17
1518
1519 // CHECK: vpsubw 4096(%rdx), %ymm29, %ymm17
1520 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xf9,0x8a,0x00,0x10,0x00,0x00]
1521           vpsubw 4096(%rdx), %ymm29, %ymm17
1522
1523 // CHECK: vpsubw -4096(%rdx), %ymm29, %ymm17
1524 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xf9,0x4a,0x80]
1525           vpsubw -4096(%rdx), %ymm29, %ymm17
1526
1527 // CHECK: vpsubw -4128(%rdx), %ymm29, %ymm17
1528 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xf9,0x8a,0xe0,0xef,0xff,0xff]
1529           vpsubw -4128(%rdx), %ymm29, %ymm17
1530
1531 // CHECK: vmovdqu8 %xmm23, %xmm26
1532 // CHECK:  encoding: [0x62,0x21,0x7f,0x08,0x6f,0xd7]
1533           vmovdqu8 %xmm23, %xmm26
1534
1535 // CHECK: vmovdqu8 %xmm23, %xmm26 {%k2}
1536 // CHECK:  encoding: [0x62,0x21,0x7f,0x0a,0x6f,0xd7]
1537           vmovdqu8 %xmm23, %xmm26 {%k2}
1538
1539 // CHECK: vmovdqu8 %xmm23, %xmm26 {%k2} {z}
1540 // CHECK:  encoding: [0x62,0x21,0x7f,0x8a,0x6f,0xd7]
1541           vmovdqu8 %xmm23, %xmm26 {%k2} {z}
1542
1543 // CHECK: vmovdqu8 (%rcx), %xmm26
1544 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x11]
1545           vmovdqu8 (%rcx), %xmm26
1546
1547 // CHECK: vmovdqu8 291(%rax,%r14,8), %xmm26
1548 // CHECK:  encoding: [0x62,0x21,0x7f,0x08,0x6f,0x94,0xf0,0x23,0x01,0x00,0x00]
1549           vmovdqu8 291(%rax,%r14,8), %xmm26
1550
1551 // CHECK: vmovdqu8 2032(%rdx), %xmm26
1552 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x52,0x7f]
1553           vmovdqu8 2032(%rdx), %xmm26
1554
1555 // CHECK: vmovdqu8 2048(%rdx), %xmm26
1556 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x92,0x00,0x08,0x00,0x00]
1557           vmovdqu8 2048(%rdx), %xmm26
1558
1559 // CHECK: vmovdqu8 -2048(%rdx), %xmm26
1560 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x52,0x80]
1561           vmovdqu8 -2048(%rdx), %xmm26
1562
1563 // CHECK: vmovdqu8 -2064(%rdx), %xmm26
1564 // CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x92,0xf0,0xf7,0xff,0xff]
1565           vmovdqu8 -2064(%rdx), %xmm26
1566
1567 // CHECK: vmovdqu8 %ymm29, %ymm18
1568 // CHECK:  encoding: [0x62,0x81,0x7f,0x28,0x6f,0xd5]
1569           vmovdqu8 %ymm29, %ymm18
1570
1571 // CHECK: vmovdqu8 %ymm29, %ymm18 {%k7}
1572 // CHECK:  encoding: [0x62,0x81,0x7f,0x2f,0x6f,0xd5]
1573           vmovdqu8 %ymm29, %ymm18 {%k7}
1574
1575 // CHECK: vmovdqu8 %ymm29, %ymm18 {%k7} {z}
1576 // CHECK:  encoding: [0x62,0x81,0x7f,0xaf,0x6f,0xd5]
1577           vmovdqu8 %ymm29, %ymm18 {%k7} {z}
1578
1579 // CHECK: vmovdqu8 (%rcx), %ymm18
1580 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x11]
1581           vmovdqu8 (%rcx), %ymm18
1582
1583 // CHECK: vmovdqu8 291(%rax,%r14,8), %ymm18
1584 // CHECK:  encoding: [0x62,0xa1,0x7f,0x28,0x6f,0x94,0xf0,0x23,0x01,0x00,0x00]
1585           vmovdqu8 291(%rax,%r14,8), %ymm18
1586
1587 // CHECK: vmovdqu8 4064(%rdx), %ymm18
1588 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x52,0x7f]
1589           vmovdqu8 4064(%rdx), %ymm18
1590
1591 // CHECK: vmovdqu8 4096(%rdx), %ymm18
1592 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x92,0x00,0x10,0x00,0x00]
1593           vmovdqu8 4096(%rdx), %ymm18
1594
1595 // CHECK: vmovdqu8 -4096(%rdx), %ymm18
1596 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x52,0x80]
1597           vmovdqu8 -4096(%rdx), %ymm18
1598
1599 // CHECK: vmovdqu8 -4128(%rdx), %ymm18
1600 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x92,0xe0,0xef,0xff,0xff]
1601           vmovdqu8 -4128(%rdx), %ymm18
1602
1603 // CHECK: vmovdqu16 %xmm24, %xmm29
1604 // CHECK:  encoding: [0x62,0x01,0xff,0x08,0x6f,0xe8]
1605           vmovdqu16 %xmm24, %xmm29
1606
1607 // CHECK: vmovdqu16 %xmm24, %xmm29 {%k6}
1608 // CHECK:  encoding: [0x62,0x01,0xff,0x0e,0x6f,0xe8]
1609           vmovdqu16 %xmm24, %xmm29 {%k6}
1610
1611 // CHECK: vmovdqu16 %xmm24, %xmm29 {%k6} {z}
1612 // CHECK:  encoding: [0x62,0x01,0xff,0x8e,0x6f,0xe8]
1613           vmovdqu16 %xmm24, %xmm29 {%k6} {z}
1614
1615 // CHECK: vmovdqu16 (%rcx), %xmm29
1616 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0x29]
1617           vmovdqu16 (%rcx), %xmm29
1618
1619 // CHECK: vmovdqu16 291(%rax,%r14,8), %xmm29
1620 // CHECK:  encoding: [0x62,0x21,0xff,0x08,0x6f,0xac,0xf0,0x23,0x01,0x00,0x00]
1621           vmovdqu16 291(%rax,%r14,8), %xmm29
1622
1623 // CHECK: vmovdqu16 2032(%rdx), %xmm29
1624 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0x6a,0x7f]
1625           vmovdqu16 2032(%rdx), %xmm29
1626
1627 // CHECK: vmovdqu16 2048(%rdx), %xmm29
1628 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0xaa,0x00,0x08,0x00,0x00]
1629           vmovdqu16 2048(%rdx), %xmm29
1630
1631 // CHECK: vmovdqu16 -2048(%rdx), %xmm29
1632 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0x6a,0x80]
1633           vmovdqu16 -2048(%rdx), %xmm29
1634
1635 // CHECK: vmovdqu16 -2064(%rdx), %xmm29
1636 // CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0xaa,0xf0,0xf7,0xff,0xff]
1637           vmovdqu16 -2064(%rdx), %xmm29
1638
1639 // CHECK: vmovdqu16 %ymm24, %ymm23
1640 // CHECK:  encoding: [0x62,0x81,0xff,0x28,0x6f,0xf8]
1641           vmovdqu16 %ymm24, %ymm23
1642
1643 // CHECK: vmovdqu16 %ymm24, %ymm23 {%k3}
1644 // CHECK:  encoding: [0x62,0x81,0xff,0x2b,0x6f,0xf8]
1645           vmovdqu16 %ymm24, %ymm23 {%k3}
1646
1647 // CHECK: vmovdqu16 %ymm24, %ymm23 {%k3} {z}
1648 // CHECK:  encoding: [0x62,0x81,0xff,0xab,0x6f,0xf8]
1649           vmovdqu16 %ymm24, %ymm23 {%k3} {z}
1650
1651 // CHECK: vmovdqu16 (%rcx), %ymm23
1652 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0x39]
1653           vmovdqu16 (%rcx), %ymm23
1654
1655 // CHECK: vmovdqu16 291(%rax,%r14,8), %ymm23
1656 // CHECK:  encoding: [0x62,0xa1,0xff,0x28,0x6f,0xbc,0xf0,0x23,0x01,0x00,0x00]
1657           vmovdqu16 291(%rax,%r14,8), %ymm23
1658
1659 // CHECK: vmovdqu16 4064(%rdx), %ymm23
1660 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0x7a,0x7f]
1661           vmovdqu16 4064(%rdx), %ymm23
1662
1663 // CHECK: vmovdqu16 4096(%rdx), %ymm23
1664 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0xba,0x00,0x10,0x00,0x00]
1665           vmovdqu16 4096(%rdx), %ymm23
1666
1667 // CHECK: vmovdqu16 -4096(%rdx), %ymm23
1668 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0x7a,0x80]
1669           vmovdqu16 -4096(%rdx), %ymm23
1670
1671 // CHECK: vmovdqu16 -4128(%rdx), %ymm23
1672 // CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0xba,0xe0,0xef,0xff,0xff]
1673           vmovdqu16 -4128(%rdx), %ymm23
1674
1675 // CHECK: vmovdqu8 %xmm17, (%rcx)
1676 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x09]
1677           vmovdqu8 %xmm17, (%rcx)
1678
1679 // CHECK: vmovdqu8 %xmm17, (%rcx) {%k4}
1680 // CHECK:  encoding: [0x62,0xe1,0x7f,0x0c,0x7f,0x09]
1681           vmovdqu8 %xmm17, (%rcx) {%k4}
1682
1683 // CHECK: vmovdqu8 %xmm17, 291(%rax,%r14,8)
1684 // CHECK:  encoding: [0x62,0xa1,0x7f,0x08,0x7f,0x8c,0xf0,0x23,0x01,0x00,0x00]
1685           vmovdqu8 %xmm17, 291(%rax,%r14,8)
1686
1687 // CHECK: vmovdqu8 %xmm17, 2032(%rdx)
1688 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x4a,0x7f]
1689           vmovdqu8 %xmm17, 2032(%rdx)
1690
1691 // CHECK: vmovdqu8 %xmm17, 2048(%rdx)
1692 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x8a,0x00,0x08,0x00,0x00]
1693           vmovdqu8 %xmm17, 2048(%rdx)
1694
1695 // CHECK: vmovdqu8 %xmm17, -2048(%rdx)
1696 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x4a,0x80]
1697           vmovdqu8 %xmm17, -2048(%rdx)
1698
1699 // CHECK: vmovdqu8 %xmm17, -2064(%rdx)
1700 // CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x8a,0xf0,0xf7,0xff,0xff]
1701           vmovdqu8 %xmm17, -2064(%rdx)
1702
1703 // CHECK: vmovdqu8 %ymm21, (%rcx)
1704 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0x29]
1705           vmovdqu8 %ymm21, (%rcx)
1706
1707 // CHECK: vmovdqu8 %ymm21, (%rcx) {%k1}
1708 // CHECK:  encoding: [0x62,0xe1,0x7f,0x29,0x7f,0x29]
1709           vmovdqu8 %ymm21, (%rcx) {%k1}
1710
1711 // CHECK: vmovdqu8 %ymm21, 291(%rax,%r14,8)
1712 // CHECK:  encoding: [0x62,0xa1,0x7f,0x28,0x7f,0xac,0xf0,0x23,0x01,0x00,0x00]
1713           vmovdqu8 %ymm21, 291(%rax,%r14,8)
1714
1715 // CHECK: vmovdqu8 %ymm21, 4064(%rdx)
1716 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0x6a,0x7f]
1717           vmovdqu8 %ymm21, 4064(%rdx)
1718
1719 // CHECK: vmovdqu8 %ymm21, 4096(%rdx)
1720 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0xaa,0x00,0x10,0x00,0x00]
1721           vmovdqu8 %ymm21, 4096(%rdx)
1722
1723 // CHECK: vmovdqu8 %ymm21, -4096(%rdx)
1724 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0x6a,0x80]
1725           vmovdqu8 %ymm21, -4096(%rdx)
1726
1727 // CHECK: vmovdqu8 %ymm21, -4128(%rdx)
1728 // CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0xaa,0xe0,0xef,0xff,0xff]
1729           vmovdqu8 %ymm21, -4128(%rdx)
1730
1731 // CHECK: vmovdqu16 %xmm23, (%rcx)
1732 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0x39]
1733           vmovdqu16 %xmm23, (%rcx)
1734
1735 // CHECK: vmovdqu16 %xmm23, (%rcx) {%k7}
1736 // CHECK:  encoding: [0x62,0xe1,0xff,0x0f,0x7f,0x39]
1737           vmovdqu16 %xmm23, (%rcx) {%k7}
1738
1739 // CHECK: vmovdqu16 %xmm23, 291(%rax,%r14,8)
1740 // CHECK:  encoding: [0x62,0xa1,0xff,0x08,0x7f,0xbc,0xf0,0x23,0x01,0x00,0x00]
1741           vmovdqu16 %xmm23, 291(%rax,%r14,8)
1742
1743 // CHECK: vmovdqu16 %xmm23, 2032(%rdx)
1744 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0x7a,0x7f]
1745           vmovdqu16 %xmm23, 2032(%rdx)
1746
1747 // CHECK: vmovdqu16 %xmm23, 2048(%rdx)
1748 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0xba,0x00,0x08,0x00,0x00]
1749           vmovdqu16 %xmm23, 2048(%rdx)
1750
1751 // CHECK: vmovdqu16 %xmm23, -2048(%rdx)
1752 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0x7a,0x80]
1753           vmovdqu16 %xmm23, -2048(%rdx)
1754
1755 // CHECK: vmovdqu16 %xmm23, -2064(%rdx)
1756 // CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0xba,0xf0,0xf7,0xff,0xff]
1757           vmovdqu16 %xmm23, -2064(%rdx)
1758
1759 // CHECK: vmovdqu16 %ymm29, (%rcx)
1760 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0x29]
1761           vmovdqu16 %ymm29, (%rcx)
1762
1763 // CHECK: vmovdqu16 %ymm29, (%rcx) {%k6}
1764 // CHECK:  encoding: [0x62,0x61,0xff,0x2e,0x7f,0x29]
1765           vmovdqu16 %ymm29, (%rcx) {%k6}
1766
1767 // CHECK: vmovdqu16 %ymm29, 291(%rax,%r14,8)
1768 // CHECK:  encoding: [0x62,0x21,0xff,0x28,0x7f,0xac,0xf0,0x23,0x01,0x00,0x00]
1769           vmovdqu16 %ymm29, 291(%rax,%r14,8)
1770
1771 // CHECK: vmovdqu16 %ymm29, 4064(%rdx)
1772 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0x6a,0x7f]
1773           vmovdqu16 %ymm29, 4064(%rdx)
1774
1775 // CHECK: vmovdqu16 %ymm29, 4096(%rdx)
1776 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0xaa,0x00,0x10,0x00,0x00]
1777           vmovdqu16 %ymm29, 4096(%rdx)
1778
1779 // CHECK: vmovdqu16 %ymm29, -4096(%rdx)
1780 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0x6a,0x80]
1781           vmovdqu16 %ymm29, -4096(%rdx)
1782
1783 // CHECK: vmovdqu16 %ymm29, -4128(%rdx)
1784 // CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0xaa,0xe0,0xef,0xff,0xff]
1785           vmovdqu16 %ymm29, -4128(%rdx)
1786
1787 // CHECK: vpsllw %xmm26, %xmm23, %xmm19
1788 // CHECK:  encoding: [0x62,0x81,0x45,0x00,0xf1,0xda]
1789           vpsllw %xmm26, %xmm23, %xmm19
1790
1791 // CHECK: vpsllw %xmm26, %xmm23, %xmm19 {%k7}
1792 // CHECK:  encoding: [0x62,0x81,0x45,0x07,0xf1,0xda]
1793           vpsllw %xmm26, %xmm23, %xmm19 {%k7}
1794
1795 // CHECK: vpsllw %xmm26, %xmm23, %xmm19 {%k7} {z}
1796 // CHECK:  encoding: [0x62,0x81,0x45,0x87,0xf1,0xda]
1797           vpsllw %xmm26, %xmm23, %xmm19 {%k7} {z}
1798
1799 // CHECK: vpsllw (%rcx), %xmm23, %xmm19
1800 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xf1,0x19]
1801           vpsllw (%rcx), %xmm23, %xmm19
1802
1803 // CHECK: vpsllw 291(%rax,%r14,8), %xmm23, %xmm19
1804 // CHECK:  encoding: [0x62,0xa1,0x45,0x00,0xf1,0x9c,0xf0,0x23,0x01,0x00,0x00]
1805           vpsllw 291(%rax,%r14,8), %xmm23, %xmm19
1806
1807 // CHECK: vpsllw 2032(%rdx), %xmm23, %xmm19
1808 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xf1,0x5a,0x7f]
1809           vpsllw 2032(%rdx), %xmm23, %xmm19
1810
1811 // CHECK: vpsllw 2048(%rdx), %xmm23, %xmm19
1812 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xf1,0x9a,0x00,0x08,0x00,0x00]
1813           vpsllw 2048(%rdx), %xmm23, %xmm19
1814
1815 // CHECK: vpsllw -2048(%rdx), %xmm23, %xmm19
1816 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xf1,0x5a,0x80]
1817           vpsllw -2048(%rdx), %xmm23, %xmm19
1818
1819 // CHECK: vpsllw -2064(%rdx), %xmm23, %xmm19
1820 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xf1,0x9a,0xf0,0xf7,0xff,0xff]
1821           vpsllw -2064(%rdx), %xmm23, %xmm19
1822
1823 // CHECK: vpsllw %xmm26, %ymm21, %ymm20
1824 // CHECK:  encoding: [0x62,0x81,0x55,0x20,0xf1,0xe2]
1825           vpsllw %xmm26, %ymm21, %ymm20
1826
1827 // CHECK: vpsllw %xmm26, %ymm21, %ymm20 {%k7}
1828 // CHECK:  encoding: [0x62,0x81,0x55,0x27,0xf1,0xe2]
1829           vpsllw %xmm26, %ymm21, %ymm20 {%k7}
1830
1831 // CHECK: vpsllw %xmm26, %ymm21, %ymm20 {%k7} {z}
1832 // CHECK:  encoding: [0x62,0x81,0x55,0xa7,0xf1,0xe2]
1833           vpsllw %xmm26, %ymm21, %ymm20 {%k7} {z}
1834
1835 // CHECK: vpsllw (%rcx), %ymm21, %ymm20
1836 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xf1,0x21]
1837           vpsllw (%rcx), %ymm21, %ymm20
1838
1839 // CHECK: vpsllw 291(%rax,%r14,8), %ymm21, %ymm20
1840 // CHECK:  encoding: [0x62,0xa1,0x55,0x20,0xf1,0xa4,0xf0,0x23,0x01,0x00,0x00]
1841           vpsllw 291(%rax,%r14,8), %ymm21, %ymm20
1842
1843 // CHECK: vpsllw 2032(%rdx), %ymm21, %ymm20
1844 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xf1,0x62,0x7f]
1845           vpsllw 2032(%rdx), %ymm21, %ymm20
1846
1847 // CHECK: vpsllw 2048(%rdx), %ymm21, %ymm20
1848 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xf1,0xa2,0x00,0x08,0x00,0x00]
1849           vpsllw 2048(%rdx), %ymm21, %ymm20
1850
1851 // CHECK: vpsllw -2048(%rdx), %ymm21, %ymm20
1852 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xf1,0x62,0x80]
1853           vpsllw -2048(%rdx), %ymm21, %ymm20
1854
1855 // CHECK: vpsllw -2064(%rdx), %ymm21, %ymm20
1856 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xf1,0xa2,0xf0,0xf7,0xff,0xff]
1857           vpsllw -2064(%rdx), %ymm21, %ymm20
1858
1859 // CHECK: vpsraw %xmm28, %xmm28, %xmm17
1860 // CHECK:  encoding: [0x62,0x81,0x1d,0x00,0xe1,0xcc]
1861           vpsraw %xmm28, %xmm28, %xmm17
1862
1863 // CHECK: vpsraw %xmm28, %xmm28, %xmm17 {%k1}
1864 // CHECK:  encoding: [0x62,0x81,0x1d,0x01,0xe1,0xcc]
1865           vpsraw %xmm28, %xmm28, %xmm17 {%k1}
1866
1867 // CHECK: vpsraw %xmm28, %xmm28, %xmm17 {%k1} {z}
1868 // CHECK:  encoding: [0x62,0x81,0x1d,0x81,0xe1,0xcc]
1869           vpsraw %xmm28, %xmm28, %xmm17 {%k1} {z}
1870
1871 // CHECK: vpsraw (%rcx), %xmm28, %xmm17
1872 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xe1,0x09]
1873           vpsraw (%rcx), %xmm28, %xmm17
1874
1875 // CHECK: vpsraw 291(%rax,%r14,8), %xmm28, %xmm17
1876 // CHECK:  encoding: [0x62,0xa1,0x1d,0x00,0xe1,0x8c,0xf0,0x23,0x01,0x00,0x00]
1877           vpsraw 291(%rax,%r14,8), %xmm28, %xmm17
1878
1879 // CHECK: vpsraw 2032(%rdx), %xmm28, %xmm17
1880 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xe1,0x4a,0x7f]
1881           vpsraw 2032(%rdx), %xmm28, %xmm17
1882
1883 // CHECK: vpsraw 2048(%rdx), %xmm28, %xmm17
1884 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xe1,0x8a,0x00,0x08,0x00,0x00]
1885           vpsraw 2048(%rdx), %xmm28, %xmm17
1886
1887 // CHECK: vpsraw -2048(%rdx), %xmm28, %xmm17
1888 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xe1,0x4a,0x80]
1889           vpsraw -2048(%rdx), %xmm28, %xmm17
1890
1891 // CHECK: vpsraw -2064(%rdx), %xmm28, %xmm17
1892 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xe1,0x8a,0xf0,0xf7,0xff,0xff]
1893           vpsraw -2064(%rdx), %xmm28, %xmm17
1894
1895 // CHECK: vpsraw %xmm19, %ymm26, %ymm18
1896 // CHECK:  encoding: [0x62,0xa1,0x2d,0x20,0xe1,0xd3]
1897           vpsraw %xmm19, %ymm26, %ymm18
1898
1899 // CHECK: vpsraw %xmm19, %ymm26, %ymm18 {%k7}
1900 // CHECK:  encoding: [0x62,0xa1,0x2d,0x27,0xe1,0xd3]
1901           vpsraw %xmm19, %ymm26, %ymm18 {%k7}
1902
1903 // CHECK: vpsraw %xmm19, %ymm26, %ymm18 {%k7} {z}
1904 // CHECK:  encoding: [0x62,0xa1,0x2d,0xa7,0xe1,0xd3]
1905           vpsraw %xmm19, %ymm26, %ymm18 {%k7} {z}
1906
1907 // CHECK: vpsraw (%rcx), %ymm26, %ymm18
1908 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xe1,0x11]
1909           vpsraw (%rcx), %ymm26, %ymm18
1910
1911 // CHECK: vpsraw 291(%rax,%r14,8), %ymm26, %ymm18
1912 // CHECK:  encoding: [0x62,0xa1,0x2d,0x20,0xe1,0x94,0xf0,0x23,0x01,0x00,0x00]
1913           vpsraw 291(%rax,%r14,8), %ymm26, %ymm18
1914
1915 // CHECK: vpsraw 2032(%rdx), %ymm26, %ymm18
1916 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xe1,0x52,0x7f]
1917           vpsraw 2032(%rdx), %ymm26, %ymm18
1918
1919 // CHECK: vpsraw 2048(%rdx), %ymm26, %ymm18
1920 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xe1,0x92,0x00,0x08,0x00,0x00]
1921           vpsraw 2048(%rdx), %ymm26, %ymm18
1922
1923 // CHECK: vpsraw -2048(%rdx), %ymm26, %ymm18
1924 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xe1,0x52,0x80]
1925           vpsraw -2048(%rdx), %ymm26, %ymm18
1926
1927 // CHECK: vpsraw -2064(%rdx), %ymm26, %ymm18
1928 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xe1,0x92,0xf0,0xf7,0xff,0xff]
1929           vpsraw -2064(%rdx), %ymm26, %ymm18
1930
1931 // CHECK: vpsrlw %xmm27, %xmm29, %xmm30
1932 // CHECK:  encoding: [0x62,0x01,0x15,0x00,0xd1,0xf3]
1933           vpsrlw %xmm27, %xmm29, %xmm30
1934
1935 // CHECK: vpsrlw %xmm27, %xmm29, %xmm30 {%k1}
1936 // CHECK:  encoding: [0x62,0x01,0x15,0x01,0xd1,0xf3]
1937           vpsrlw %xmm27, %xmm29, %xmm30 {%k1}
1938
1939 // CHECK: vpsrlw %xmm27, %xmm29, %xmm30 {%k1} {z}
1940 // CHECK:  encoding: [0x62,0x01,0x15,0x81,0xd1,0xf3]
1941           vpsrlw %xmm27, %xmm29, %xmm30 {%k1} {z}
1942
1943 // CHECK: vpsrlw (%rcx), %xmm29, %xmm30
1944 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xd1,0x31]
1945           vpsrlw (%rcx), %xmm29, %xmm30
1946
1947 // CHECK: vpsrlw 291(%rax,%r14,8), %xmm29, %xmm30
1948 // CHECK:  encoding: [0x62,0x21,0x15,0x00,0xd1,0xb4,0xf0,0x23,0x01,0x00,0x00]
1949           vpsrlw 291(%rax,%r14,8), %xmm29, %xmm30
1950
1951 // CHECK: vpsrlw 2032(%rdx), %xmm29, %xmm30
1952 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xd1,0x72,0x7f]
1953           vpsrlw 2032(%rdx), %xmm29, %xmm30
1954
1955 // CHECK: vpsrlw 2048(%rdx), %xmm29, %xmm30
1956 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xd1,0xb2,0x00,0x08,0x00,0x00]
1957           vpsrlw 2048(%rdx), %xmm29, %xmm30
1958
1959 // CHECK: vpsrlw -2048(%rdx), %xmm29, %xmm30
1960 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xd1,0x72,0x80]
1961           vpsrlw -2048(%rdx), %xmm29, %xmm30
1962
1963 // CHECK: vpsrlw -2064(%rdx), %xmm29, %xmm30
1964 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xd1,0xb2,0xf0,0xf7,0xff,0xff]
1965           vpsrlw -2064(%rdx), %xmm29, %xmm30
1966
1967 // CHECK: vpsrlw %xmm27, %ymm18, %ymm28
1968 // CHECK:  encoding: [0x62,0x01,0x6d,0x20,0xd1,0xe3]
1969           vpsrlw %xmm27, %ymm18, %ymm28
1970
1971 // CHECK: vpsrlw %xmm27, %ymm18, %ymm28 {%k2}
1972 // CHECK:  encoding: [0x62,0x01,0x6d,0x22,0xd1,0xe3]
1973           vpsrlw %xmm27, %ymm18, %ymm28 {%k2}
1974
1975 // CHECK: vpsrlw %xmm27, %ymm18, %ymm28 {%k2} {z}
1976 // CHECK:  encoding: [0x62,0x01,0x6d,0xa2,0xd1,0xe3]
1977           vpsrlw %xmm27, %ymm18, %ymm28 {%k2} {z}
1978
1979 // CHECK: vpsrlw (%rcx), %ymm18, %ymm28
1980 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xd1,0x21]
1981           vpsrlw (%rcx), %ymm18, %ymm28
1982
1983 // CHECK: vpsrlw 291(%rax,%r14,8), %ymm18, %ymm28
1984 // CHECK:  encoding: [0x62,0x21,0x6d,0x20,0xd1,0xa4,0xf0,0x23,0x01,0x00,0x00]
1985           vpsrlw 291(%rax,%r14,8), %ymm18, %ymm28
1986
1987 // CHECK: vpsrlw 2032(%rdx), %ymm18, %ymm28
1988 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xd1,0x62,0x7f]
1989           vpsrlw 2032(%rdx), %ymm18, %ymm28
1990
1991 // CHECK: vpsrlw 2048(%rdx), %ymm18, %ymm28
1992 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xd1,0xa2,0x00,0x08,0x00,0x00]
1993           vpsrlw 2048(%rdx), %ymm18, %ymm28
1994
1995 // CHECK: vpsrlw -2048(%rdx), %ymm18, %ymm28
1996 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xd1,0x62,0x80]
1997           vpsrlw -2048(%rdx), %ymm18, %ymm28
1998
1999 // CHECK: vpsrlw -2064(%rdx), %ymm18, %ymm28
2000 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xd1,0xa2,0xf0,0xf7,0xff,0xff]
2001           vpsrlw -2064(%rdx), %ymm18, %ymm28
2002
2003 // CHECK: vpsrlw $171, %xmm21, %xmm22
2004 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0xd5,0xab]
2005           vpsrlw $171, %xmm21, %xmm22
2006
2007 // CHECK: vpsrlw $171, %xmm21, %xmm22 {%k7}
2008 // CHECK:  encoding: [0x62,0xb1,0x4d,0x07,0x71,0xd5,0xab]
2009           vpsrlw $171, %xmm21, %xmm22 {%k7}
2010
2011 // CHECK: vpsrlw $171, %xmm21, %xmm22 {%k7} {z}
2012 // CHECK:  encoding: [0x62,0xb1,0x4d,0x87,0x71,0xd5,0xab]
2013           vpsrlw $171, %xmm21, %xmm22 {%k7} {z}
2014
2015 // CHECK: vpsrlw $123, %xmm21, %xmm22
2016 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0xd5,0x7b]
2017           vpsrlw $123, %xmm21, %xmm22
2018
2019 // CHECK: vpsrlw $123, (%rcx), %xmm22
2020 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x11,0x7b]
2021           vpsrlw $123, (%rcx), %xmm22
2022
2023 // CHECK: vpsrlw $123, 291(%rax,%r14,8), %xmm22
2024 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0x94,0xf0,0x23,0x01,0x00,0x00,0x7b]
2025           vpsrlw $123, 291(%rax,%r14,8), %xmm22
2026
2027 // CHECK: vpsrlw $123, 2032(%rdx), %xmm22
2028 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x52,0x7f,0x7b]
2029           vpsrlw $123, 2032(%rdx), %xmm22
2030
2031 // CHECK: vpsrlw $123, 2048(%rdx), %xmm22
2032 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x92,0x00,0x08,0x00,0x00,0x7b]
2033           vpsrlw $123, 2048(%rdx), %xmm22
2034
2035 // CHECK: vpsrlw $123, -2048(%rdx), %xmm22
2036 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x52,0x80,0x7b]
2037           vpsrlw $123, -2048(%rdx), %xmm22
2038
2039 // CHECK: vpsrlw $123, -2064(%rdx), %xmm22
2040 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x92,0xf0,0xf7,0xff,0xff,0x7b]
2041           vpsrlw $123, -2064(%rdx), %xmm22
2042
2043 // CHECK: vpsrlw $171, %ymm19, %ymm27
2044 // CHECK:  encoding: [0x62,0xb1,0x25,0x20,0x71,0xd3,0xab]
2045           vpsrlw $171, %ymm19, %ymm27
2046
2047 // CHECK: vpsrlw $171, %ymm19, %ymm27 {%k3}
2048 // CHECK:  encoding: [0x62,0xb1,0x25,0x23,0x71,0xd3,0xab]
2049           vpsrlw $171, %ymm19, %ymm27 {%k3}
2050
2051 // CHECK: vpsrlw $171, %ymm19, %ymm27 {%k3} {z}
2052 // CHECK:  encoding: [0x62,0xb1,0x25,0xa3,0x71,0xd3,0xab]
2053           vpsrlw $171, %ymm19, %ymm27 {%k3} {z}
2054
2055 // CHECK: vpsrlw $123, %ymm19, %ymm27
2056 // CHECK:  encoding: [0x62,0xb1,0x25,0x20,0x71,0xd3,0x7b]
2057           vpsrlw $123, %ymm19, %ymm27
2058
2059 // CHECK: vpsrlw $123, (%rcx), %ymm27
2060 // CHECK:  encoding: [0x62,0xf1,0x25,0x20,0x71,0x11,0x7b]
2061           vpsrlw $123, (%rcx), %ymm27
2062
2063 // CHECK: vpsrlw $123, 291(%rax,%r14,8), %ymm27
2064 // CHECK:  encoding: [0x62,0xb1,0x25,0x20,0x71,0x94,0xf0,0x23,0x01,0x00,0x00,0x7b]
2065           vpsrlw $123, 291(%rax,%r14,8), %ymm27
2066
2067 // CHECK: vpsrlw $123, 4064(%rdx), %ymm27
2068 // CHECK:  encoding: [0x62,0xf1,0x25,0x20,0x71,0x52,0x7f,0x7b]
2069           vpsrlw $123, 4064(%rdx), %ymm27
2070
2071 // CHECK: vpsrlw $123, 4096(%rdx), %ymm27
2072 // CHECK:  encoding: [0x62,0xf1,0x25,0x20,0x71,0x92,0x00,0x10,0x00,0x00,0x7b]
2073           vpsrlw $123, 4096(%rdx), %ymm27
2074
2075 // CHECK: vpsrlw $123, -4096(%rdx), %ymm27
2076 // CHECK:  encoding: [0x62,0xf1,0x25,0x20,0x71,0x52,0x80,0x7b]
2077           vpsrlw $123, -4096(%rdx), %ymm27
2078
2079 // CHECK: vpsrlw $123, -4128(%rdx), %ymm27
2080 // CHECK:  encoding: [0x62,0xf1,0x25,0x20,0x71,0x92,0xe0,0xef,0xff,0xff,0x7b]
2081           vpsrlw $123, -4128(%rdx), %ymm27
2082
2083 // CHECK: vpsraw $171, %xmm22, %xmm22
2084 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0xe6,0xab]
2085           vpsraw $171, %xmm22, %xmm22
2086
2087 // CHECK: vpsraw $171, %xmm22, %xmm22 {%k4}
2088 // CHECK:  encoding: [0x62,0xb1,0x4d,0x04,0x71,0xe6,0xab]
2089           vpsraw $171, %xmm22, %xmm22 {%k4}
2090
2091 // CHECK: vpsraw $171, %xmm22, %xmm22 {%k4} {z}
2092 // CHECK:  encoding: [0x62,0xb1,0x4d,0x84,0x71,0xe6,0xab]
2093           vpsraw $171, %xmm22, %xmm22 {%k4} {z}
2094
2095 // CHECK: vpsraw $123, %xmm22, %xmm22
2096 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0xe6,0x7b]
2097           vpsraw $123, %xmm22, %xmm22
2098
2099 // CHECK: vpsraw $123, (%rcx), %xmm22
2100 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x21,0x7b]
2101           vpsraw $123, (%rcx), %xmm22
2102
2103 // CHECK: vpsraw $123, 291(%rax,%r14,8), %xmm22
2104 // CHECK:  encoding: [0x62,0xb1,0x4d,0x00,0x71,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b]
2105           vpsraw $123, 291(%rax,%r14,8), %xmm22
2106
2107 // CHECK: vpsraw $123, 2032(%rdx), %xmm22
2108 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x62,0x7f,0x7b]
2109           vpsraw $123, 2032(%rdx), %xmm22
2110
2111 // CHECK: vpsraw $123, 2048(%rdx), %xmm22
2112 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0xa2,0x00,0x08,0x00,0x00,0x7b]
2113           vpsraw $123, 2048(%rdx), %xmm22
2114
2115 // CHECK: vpsraw $123, -2048(%rdx), %xmm22
2116 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0x62,0x80,0x7b]
2117           vpsraw $123, -2048(%rdx), %xmm22
2118
2119 // CHECK: vpsraw $123, -2064(%rdx), %xmm22
2120 // CHECK:  encoding: [0x62,0xf1,0x4d,0x00,0x71,0xa2,0xf0,0xf7,0xff,0xff,0x7b]
2121           vpsraw $123, -2064(%rdx), %xmm22
2122
2123 // CHECK: vpsraw $171, %ymm22, %ymm19
2124 // CHECK:  encoding: [0x62,0xb1,0x65,0x20,0x71,0xe6,0xab]
2125           vpsraw $171, %ymm22, %ymm19
2126
2127 // CHECK: vpsraw $171, %ymm22, %ymm19 {%k7}
2128 // CHECK:  encoding: [0x62,0xb1,0x65,0x27,0x71,0xe6,0xab]
2129           vpsraw $171, %ymm22, %ymm19 {%k7}
2130
2131 // CHECK: vpsraw $171, %ymm22, %ymm19 {%k7} {z}
2132 // CHECK:  encoding: [0x62,0xb1,0x65,0xa7,0x71,0xe6,0xab]
2133           vpsraw $171, %ymm22, %ymm19 {%k7} {z}
2134
2135 // CHECK: vpsraw $123, %ymm22, %ymm19
2136 // CHECK:  encoding: [0x62,0xb1,0x65,0x20,0x71,0xe6,0x7b]
2137           vpsraw $123, %ymm22, %ymm19
2138
2139 // CHECK: vpsraw $123, (%rcx), %ymm19
2140 // CHECK:  encoding: [0x62,0xf1,0x65,0x20,0x71,0x21,0x7b]
2141           vpsraw $123, (%rcx), %ymm19
2142
2143 // CHECK: vpsraw $123, 291(%rax,%r14,8), %ymm19
2144 // CHECK:  encoding: [0x62,0xb1,0x65,0x20,0x71,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b]
2145           vpsraw $123, 291(%rax,%r14,8), %ymm19
2146
2147 // CHECK: vpsraw $123, 4064(%rdx), %ymm19
2148 // CHECK:  encoding: [0x62,0xf1,0x65,0x20,0x71,0x62,0x7f,0x7b]
2149           vpsraw $123, 4064(%rdx), %ymm19
2150
2151 // CHECK: vpsraw $123, 4096(%rdx), %ymm19
2152 // CHECK:  encoding: [0x62,0xf1,0x65,0x20,0x71,0xa2,0x00,0x10,0x00,0x00,0x7b]
2153           vpsraw $123, 4096(%rdx), %ymm19
2154
2155 // CHECK: vpsraw $123, -4096(%rdx), %ymm19
2156 // CHECK:  encoding: [0x62,0xf1,0x65,0x20,0x71,0x62,0x80,0x7b]
2157           vpsraw $123, -4096(%rdx), %ymm19
2158
2159 // CHECK: vpsraw $123, -4128(%rdx), %ymm19
2160 // CHECK:  encoding: [0x62,0xf1,0x65,0x20,0x71,0xa2,0xe0,0xef,0xff,0xff,0x7b]
2161           vpsraw $123, -4128(%rdx), %ymm19
2162
2163 // CHECK: vpsrlvw %xmm19, %xmm22, %xmm30
2164 // CHECK:  encoding: [0x62,0x22,0xcd,0x00,0x10,0xf3]
2165           vpsrlvw %xmm19, %xmm22, %xmm30
2166
2167 // CHECK: vpsrlvw %xmm19, %xmm22, %xmm30 {%k7}
2168 // CHECK:  encoding: [0x62,0x22,0xcd,0x07,0x10,0xf3]
2169           vpsrlvw %xmm19, %xmm22, %xmm30 {%k7}
2170
2171 // CHECK: vpsrlvw %xmm19, %xmm22, %xmm30 {%k7} {z}
2172 // CHECK:  encoding: [0x62,0x22,0xcd,0x87,0x10,0xf3]
2173           vpsrlvw %xmm19, %xmm22, %xmm30 {%k7} {z}
2174
2175 // CHECK: vpsrlvw (%rcx), %xmm22, %xmm30
2176 // CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x10,0x31]
2177           vpsrlvw (%rcx), %xmm22, %xmm30
2178
2179 // CHECK: vpsrlvw 291(%rax,%r14,8), %xmm22, %xmm30
2180 // CHECK:  encoding: [0x62,0x22,0xcd,0x00,0x10,0xb4,0xf0,0x23,0x01,0x00,0x00]
2181           vpsrlvw 291(%rax,%r14,8), %xmm22, %xmm30
2182
2183 // CHECK: vpsrlvw 2032(%rdx), %xmm22, %xmm30
2184 // CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x10,0x72,0x7f]
2185           vpsrlvw 2032(%rdx), %xmm22, %xmm30
2186
2187 // CHECK: vpsrlvw 2048(%rdx), %xmm22, %xmm30
2188 // CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x10,0xb2,0x00,0x08,0x00,0x00]
2189           vpsrlvw 2048(%rdx), %xmm22, %xmm30
2190
2191 // CHECK: vpsrlvw -2048(%rdx), %xmm22, %xmm30
2192 // CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x10,0x72,0x80]
2193           vpsrlvw -2048(%rdx), %xmm22, %xmm30
2194
2195 // CHECK: vpsrlvw -2064(%rdx), %xmm22, %xmm30
2196 // CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x10,0xb2,0xf0,0xf7,0xff,0xff]
2197           vpsrlvw -2064(%rdx), %xmm22, %xmm30
2198
2199 // CHECK: vpsrlvw %ymm27, %ymm25, %ymm30
2200 // CHECK:  encoding: [0x62,0x02,0xb5,0x20,0x10,0xf3]
2201           vpsrlvw %ymm27, %ymm25, %ymm30
2202
2203 // CHECK: vpsrlvw %ymm27, %ymm25, %ymm30 {%k1}
2204 // CHECK:  encoding: [0x62,0x02,0xb5,0x21,0x10,0xf3]
2205           vpsrlvw %ymm27, %ymm25, %ymm30 {%k1}
2206
2207 // CHECK: vpsrlvw %ymm27, %ymm25, %ymm30 {%k1} {z}
2208 // CHECK:  encoding: [0x62,0x02,0xb5,0xa1,0x10,0xf3]
2209           vpsrlvw %ymm27, %ymm25, %ymm30 {%k1} {z}
2210
2211 // CHECK: vpsrlvw (%rcx), %ymm25, %ymm30
2212 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x10,0x31]
2213           vpsrlvw (%rcx), %ymm25, %ymm30
2214
2215 // CHECK: vpsrlvw 291(%rax,%r14,8), %ymm25, %ymm30
2216 // CHECK:  encoding: [0x62,0x22,0xb5,0x20,0x10,0xb4,0xf0,0x23,0x01,0x00,0x00]
2217           vpsrlvw 291(%rax,%r14,8), %ymm25, %ymm30
2218
2219 // CHECK: vpsrlvw 4064(%rdx), %ymm25, %ymm30
2220 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x10,0x72,0x7f]
2221           vpsrlvw 4064(%rdx), %ymm25, %ymm30
2222
2223 // CHECK: vpsrlvw 4096(%rdx), %ymm25, %ymm30
2224 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x10,0xb2,0x00,0x10,0x00,0x00]
2225           vpsrlvw 4096(%rdx), %ymm25, %ymm30
2226
2227 // CHECK: vpsrlvw -4096(%rdx), %ymm25, %ymm30
2228 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x10,0x72,0x80]
2229           vpsrlvw -4096(%rdx), %ymm25, %ymm30
2230
2231 // CHECK: vpsrlvw -4128(%rdx), %ymm25, %ymm30
2232 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x10,0xb2,0xe0,0xef,0xff,0xff]
2233           vpsrlvw -4128(%rdx), %ymm25, %ymm30
2234
2235 // CHECK: vpsravw %xmm27, %xmm28, %xmm28
2236 // CHECK:  encoding: [0x62,0x02,0x9d,0x00,0x11,0xe3]
2237           vpsravw %xmm27, %xmm28, %xmm28
2238
2239 // CHECK: vpsravw %xmm27, %xmm28, %xmm28 {%k3}
2240 // CHECK:  encoding: [0x62,0x02,0x9d,0x03,0x11,0xe3]
2241           vpsravw %xmm27, %xmm28, %xmm28 {%k3}
2242
2243 // CHECK: vpsravw %xmm27, %xmm28, %xmm28 {%k3} {z}
2244 // CHECK:  encoding: [0x62,0x02,0x9d,0x83,0x11,0xe3]
2245           vpsravw %xmm27, %xmm28, %xmm28 {%k3} {z}
2246
2247 // CHECK: vpsravw (%rcx), %xmm28, %xmm28
2248 // CHECK:  encoding: [0x62,0x62,0x9d,0x00,0x11,0x21]
2249           vpsravw (%rcx), %xmm28, %xmm28
2250
2251 // CHECK: vpsravw 291(%rax,%r14,8), %xmm28, %xmm28
2252 // CHECK:  encoding: [0x62,0x22,0x9d,0x00,0x11,0xa4,0xf0,0x23,0x01,0x00,0x00]
2253           vpsravw 291(%rax,%r14,8), %xmm28, %xmm28
2254
2255 // CHECK: vpsravw 2032(%rdx), %xmm28, %xmm28
2256 // CHECK:  encoding: [0x62,0x62,0x9d,0x00,0x11,0x62,0x7f]
2257           vpsravw 2032(%rdx), %xmm28, %xmm28
2258
2259 // CHECK: vpsravw 2048(%rdx), %xmm28, %xmm28
2260 // CHECK:  encoding: [0x62,0x62,0x9d,0x00,0x11,0xa2,0x00,0x08,0x00,0x00]
2261           vpsravw 2048(%rdx), %xmm28, %xmm28
2262
2263 // CHECK: vpsravw -2048(%rdx), %xmm28, %xmm28
2264 // CHECK:  encoding: [0x62,0x62,0x9d,0x00,0x11,0x62,0x80]
2265           vpsravw -2048(%rdx), %xmm28, %xmm28
2266
2267 // CHECK: vpsravw -2064(%rdx), %xmm28, %xmm28
2268 // CHECK:  encoding: [0x62,0x62,0x9d,0x00,0x11,0xa2,0xf0,0xf7,0xff,0xff]
2269           vpsravw -2064(%rdx), %xmm28, %xmm28
2270
2271 // CHECK: vpsravw %ymm17, %ymm28, %ymm20
2272 // CHECK:  encoding: [0x62,0xa2,0x9d,0x20,0x11,0xe1]
2273           vpsravw %ymm17, %ymm28, %ymm20
2274
2275 // CHECK: vpsravw %ymm17, %ymm28, %ymm20 {%k5}
2276 // CHECK:  encoding: [0x62,0xa2,0x9d,0x25,0x11,0xe1]
2277           vpsravw %ymm17, %ymm28, %ymm20 {%k5}
2278
2279 // CHECK: vpsravw %ymm17, %ymm28, %ymm20 {%k5} {z}
2280 // CHECK:  encoding: [0x62,0xa2,0x9d,0xa5,0x11,0xe1]
2281           vpsravw %ymm17, %ymm28, %ymm20 {%k5} {z}
2282
2283 // CHECK: vpsravw (%rcx), %ymm28, %ymm20
2284 // CHECK:  encoding: [0x62,0xe2,0x9d,0x20,0x11,0x21]
2285           vpsravw (%rcx), %ymm28, %ymm20
2286
2287 // CHECK: vpsravw 291(%rax,%r14,8), %ymm28, %ymm20
2288 // CHECK:  encoding: [0x62,0xa2,0x9d,0x20,0x11,0xa4,0xf0,0x23,0x01,0x00,0x00]
2289           vpsravw 291(%rax,%r14,8), %ymm28, %ymm20
2290
2291 // CHECK: vpsravw 4064(%rdx), %ymm28, %ymm20
2292 // CHECK:  encoding: [0x62,0xe2,0x9d,0x20,0x11,0x62,0x7f]
2293           vpsravw 4064(%rdx), %ymm28, %ymm20
2294
2295 // CHECK: vpsravw 4096(%rdx), %ymm28, %ymm20
2296 // CHECK:  encoding: [0x62,0xe2,0x9d,0x20,0x11,0xa2,0x00,0x10,0x00,0x00]
2297           vpsravw 4096(%rdx), %ymm28, %ymm20
2298
2299 // CHECK: vpsravw -4096(%rdx), %ymm28, %ymm20
2300 // CHECK:  encoding: [0x62,0xe2,0x9d,0x20,0x11,0x62,0x80]
2301           vpsravw -4096(%rdx), %ymm28, %ymm20
2302
2303 // CHECK: vpsravw -4128(%rdx), %ymm28, %ymm20
2304 // CHECK:  encoding: [0x62,0xe2,0x9d,0x20,0x11,0xa2,0xe0,0xef,0xff,0xff]
2305           vpsravw -4128(%rdx), %ymm28, %ymm20
2306
2307 // CHECK: vpacksswb %xmm20, %xmm29, %xmm17
2308 // CHECK:  encoding: [0x62,0xa1,0x95,0x00,0x63,0xcc]
2309           vpacksswb %xmm20, %xmm29, %xmm17
2310
2311 // CHECK: vpacksswb %xmm20, %xmm29, %xmm17 {%k3}
2312 // CHECK:  encoding: [0x62,0xa1,0x95,0x03,0x63,0xcc]
2313           vpacksswb %xmm20, %xmm29, %xmm17 {%k3}
2314
2315 // CHECK: vpacksswb %xmm20, %xmm29, %xmm17 {%k3} {z}
2316 // CHECK:  encoding: [0x62,0xa1,0x95,0x83,0x63,0xcc]
2317           vpacksswb %xmm20, %xmm29, %xmm17 {%k3} {z}
2318
2319 // CHECK: vpacksswb (%rcx), %xmm29, %xmm17
2320 // CHECK:  encoding: [0x62,0xe1,0x95,0x00,0x63,0x09]
2321           vpacksswb (%rcx), %xmm29, %xmm17
2322
2323 // CHECK: vpacksswb 291(%rax,%r14,8), %xmm29, %xmm17
2324 // CHECK:  encoding: [0x62,0xa1,0x95,0x00,0x63,0x8c,0xf0,0x23,0x01,0x00,0x00]
2325           vpacksswb 291(%rax,%r14,8), %xmm29, %xmm17
2326
2327 // CHECK: vpacksswb 2032(%rdx), %xmm29, %xmm17
2328 // CHECK:  encoding: [0x62,0xe1,0x95,0x00,0x63,0x4a,0x7f]
2329           vpacksswb 2032(%rdx), %xmm29, %xmm17
2330
2331 // CHECK: vpacksswb 2048(%rdx), %xmm29, %xmm17
2332 // CHECK:  encoding: [0x62,0xe1,0x95,0x00,0x63,0x8a,0x00,0x08,0x00,0x00]
2333           vpacksswb 2048(%rdx), %xmm29, %xmm17
2334
2335 // CHECK: vpacksswb -2048(%rdx), %xmm29, %xmm17
2336 // CHECK:  encoding: [0x62,0xe1,0x95,0x00,0x63,0x4a,0x80]
2337           vpacksswb -2048(%rdx), %xmm29, %xmm17
2338
2339 // CHECK: vpacksswb -2064(%rdx), %xmm29, %xmm17
2340 // CHECK:  encoding: [0x62,0xe1,0x95,0x00,0x63,0x8a,0xf0,0xf7,0xff,0xff]
2341           vpacksswb -2064(%rdx), %xmm29, %xmm17
2342
2343 // CHECK: vpacksswb %ymm21, %ymm26, %ymm29
2344 // CHECK:  encoding: [0x62,0x21,0xad,0x20,0x63,0xed]
2345           vpacksswb %ymm21, %ymm26, %ymm29
2346
2347 // CHECK: vpacksswb %ymm21, %ymm26, %ymm29 {%k2}
2348 // CHECK:  encoding: [0x62,0x21,0xad,0x22,0x63,0xed]
2349           vpacksswb %ymm21, %ymm26, %ymm29 {%k2}
2350
2351 // CHECK: vpacksswb %ymm21, %ymm26, %ymm29 {%k2} {z}
2352 // CHECK:  encoding: [0x62,0x21,0xad,0xa2,0x63,0xed]
2353           vpacksswb %ymm21, %ymm26, %ymm29 {%k2} {z}
2354
2355 // CHECK: vpacksswb (%rcx), %ymm26, %ymm29
2356 // CHECK:  encoding: [0x62,0x61,0xad,0x20,0x63,0x29]
2357           vpacksswb (%rcx), %ymm26, %ymm29
2358
2359 // CHECK: vpacksswb 291(%rax,%r14,8), %ymm26, %ymm29
2360 // CHECK:  encoding: [0x62,0x21,0xad,0x20,0x63,0xac,0xf0,0x23,0x01,0x00,0x00]
2361           vpacksswb 291(%rax,%r14,8), %ymm26, %ymm29
2362
2363 // CHECK: vpacksswb 4064(%rdx), %ymm26, %ymm29
2364 // CHECK:  encoding: [0x62,0x61,0xad,0x20,0x63,0x6a,0x7f]
2365           vpacksswb 4064(%rdx), %ymm26, %ymm29
2366
2367 // CHECK: vpacksswb 4096(%rdx), %ymm26, %ymm29
2368 // CHECK:  encoding: [0x62,0x61,0xad,0x20,0x63,0xaa,0x00,0x10,0x00,0x00]
2369           vpacksswb 4096(%rdx), %ymm26, %ymm29
2370
2371 // CHECK: vpacksswb -4096(%rdx), %ymm26, %ymm29
2372 // CHECK:  encoding: [0x62,0x61,0xad,0x20,0x63,0x6a,0x80]
2373           vpacksswb -4096(%rdx), %ymm26, %ymm29
2374
2375 // CHECK: vpacksswb -4128(%rdx), %ymm26, %ymm29
2376 // CHECK:  encoding: [0x62,0x61,0xad,0x20,0x63,0xaa,0xe0,0xef,0xff,0xff]
2377           vpacksswb -4128(%rdx), %ymm26, %ymm29
2378
2379 // CHECK: vpackuswb %xmm24, %xmm26, %xmm20
2380 // CHECK:  encoding: [0x62,0x81,0xad,0x00,0x67,0xe0]
2381           vpackuswb %xmm24, %xmm26, %xmm20
2382
2383 // CHECK: vpackuswb %xmm24, %xmm26, %xmm20 {%k4}
2384 // CHECK:  encoding: [0x62,0x81,0xad,0x04,0x67,0xe0]
2385           vpackuswb %xmm24, %xmm26, %xmm20 {%k4}
2386
2387 // CHECK: vpackuswb %xmm24, %xmm26, %xmm20 {%k4} {z}
2388 // CHECK:  encoding: [0x62,0x81,0xad,0x84,0x67,0xe0]
2389           vpackuswb %xmm24, %xmm26, %xmm20 {%k4} {z}
2390
2391 // CHECK: vpackuswb (%rcx), %xmm26, %xmm20
2392 // CHECK:  encoding: [0x62,0xe1,0xad,0x00,0x67,0x21]
2393           vpackuswb (%rcx), %xmm26, %xmm20
2394
2395 // CHECK: vpackuswb 291(%rax,%r14,8), %xmm26, %xmm20
2396 // CHECK:  encoding: [0x62,0xa1,0xad,0x00,0x67,0xa4,0xf0,0x23,0x01,0x00,0x00]
2397           vpackuswb 291(%rax,%r14,8), %xmm26, %xmm20
2398
2399 // CHECK: vpackuswb 2032(%rdx), %xmm26, %xmm20
2400 // CHECK:  encoding: [0x62,0xe1,0xad,0x00,0x67,0x62,0x7f]
2401           vpackuswb 2032(%rdx), %xmm26, %xmm20
2402
2403 // CHECK: vpackuswb 2048(%rdx), %xmm26, %xmm20
2404 // CHECK:  encoding: [0x62,0xe1,0xad,0x00,0x67,0xa2,0x00,0x08,0x00,0x00]
2405           vpackuswb 2048(%rdx), %xmm26, %xmm20
2406
2407 // CHECK: vpackuswb -2048(%rdx), %xmm26, %xmm20
2408 // CHECK:  encoding: [0x62,0xe1,0xad,0x00,0x67,0x62,0x80]
2409           vpackuswb -2048(%rdx), %xmm26, %xmm20
2410
2411 // CHECK: vpackuswb -2064(%rdx), %xmm26, %xmm20
2412 // CHECK:  encoding: [0x62,0xe1,0xad,0x00,0x67,0xa2,0xf0,0xf7,0xff,0xff]
2413           vpackuswb -2064(%rdx), %xmm26, %xmm20
2414
2415 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19
2416 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x67,0xdc]
2417           vpackuswb %ymm20, %ymm28, %ymm19
2418
2419 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19 {%k2}
2420 // CHECK:  encoding: [0x62,0xa1,0x9d,0x22,0x67,0xdc]
2421           vpackuswb %ymm20, %ymm28, %ymm19 {%k2}
2422
2423 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19 {%k2} {z}
2424 // CHECK:  encoding: [0x62,0xa1,0x9d,0xa2,0x67,0xdc]
2425           vpackuswb %ymm20, %ymm28, %ymm19 {%k2} {z}
2426
2427 // CHECK: vpackuswb (%rcx), %ymm28, %ymm19
2428 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x19]
2429           vpackuswb (%rcx), %ymm28, %ymm19
2430
2431 // CHECK: vpackuswb 291(%rax,%r14,8), %ymm28, %ymm19
2432 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x67,0x9c,0xf0,0x23,0x01,0x00,0x00]
2433           vpackuswb 291(%rax,%r14,8), %ymm28, %ymm19
2434
2435 // CHECK: vpackuswb 4064(%rdx), %ymm28, %ymm19
2436 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x5a,0x7f]
2437           vpackuswb 4064(%rdx), %ymm28, %ymm19
2438
2439 // CHECK: vpackuswb 4096(%rdx), %ymm28, %ymm19
2440 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x9a,0x00,0x10,0x00,0x00]
2441           vpackuswb 4096(%rdx), %ymm28, %ymm19
2442
2443 // CHECK: vpackuswb -4096(%rdx), %ymm28, %ymm19
2444 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x5a,0x80]
2445           vpackuswb -4096(%rdx), %ymm28, %ymm19
2446
2447 // CHECK: vpackuswb -4128(%rdx), %ymm28, %ymm19
2448 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x9a,0xe0,0xef,0xff,0xff]
2449           vpackuswb -4128(%rdx), %ymm28, %ymm19
2450
2451 // CHECK: vpacksswb %xmm25, %xmm18, %xmm19
2452 // CHECK:  encoding: [0x62,0x81,0xed,0x00,0x63,0xd9]
2453           vpacksswb %xmm25, %xmm18, %xmm19
2454
2455 // CHECK: vpacksswb %xmm25, %xmm18, %xmm19 {%k4}
2456 // CHECK:  encoding: [0x62,0x81,0xed,0x04,0x63,0xd9]
2457           vpacksswb %xmm25, %xmm18, %xmm19 {%k4}
2458
2459 // CHECK: vpacksswb %xmm25, %xmm18, %xmm19 {%k4} {z}
2460 // CHECK:  encoding: [0x62,0x81,0xed,0x84,0x63,0xd9]
2461           vpacksswb %xmm25, %xmm18, %xmm19 {%k4} {z}
2462
2463 // CHECK: vpacksswb (%rcx), %xmm18, %xmm19
2464 // CHECK:  encoding: [0x62,0xe1,0xed,0x00,0x63,0x19]
2465           vpacksswb (%rcx), %xmm18, %xmm19
2466
2467 // CHECK: vpacksswb 4660(%rax,%r14,8), %xmm18, %xmm19
2468 // CHECK:  encoding: [0x62,0xa1,0xed,0x00,0x63,0x9c,0xf0,0x34,0x12,0x00,0x00]
2469           vpacksswb 4660(%rax,%r14,8), %xmm18, %xmm19
2470
2471 // CHECK: vpacksswb 2032(%rdx), %xmm18, %xmm19
2472 // CHECK:  encoding: [0x62,0xe1,0xed,0x00,0x63,0x5a,0x7f]
2473           vpacksswb 2032(%rdx), %xmm18, %xmm19
2474
2475 // CHECK: vpacksswb 2048(%rdx), %xmm18, %xmm19
2476 // CHECK:  encoding: [0x62,0xe1,0xed,0x00,0x63,0x9a,0x00,0x08,0x00,0x00]
2477           vpacksswb 2048(%rdx), %xmm18, %xmm19
2478
2479 // CHECK: vpacksswb -2048(%rdx), %xmm18, %xmm19
2480 // CHECK:  encoding: [0x62,0xe1,0xed,0x00,0x63,0x5a,0x80]
2481           vpacksswb -2048(%rdx), %xmm18, %xmm19
2482
2483 // CHECK: vpacksswb -2064(%rdx), %xmm18, %xmm19
2484 // CHECK:  encoding: [0x62,0xe1,0xed,0x00,0x63,0x9a,0xf0,0xf7,0xff,0xff]
2485           vpacksswb -2064(%rdx), %xmm18, %xmm19
2486
2487 // CHECK: vpacksswb %ymm19, %ymm22, %ymm22
2488 // CHECK:  encoding: [0x62,0xa1,0xcd,0x20,0x63,0xf3]
2489           vpacksswb %ymm19, %ymm22, %ymm22
2490
2491 // CHECK: vpacksswb %ymm19, %ymm22, %ymm22 {%k7}
2492 // CHECK:  encoding: [0x62,0xa1,0xcd,0x27,0x63,0xf3]
2493           vpacksswb %ymm19, %ymm22, %ymm22 {%k7}
2494
2495 // CHECK: vpacksswb %ymm19, %ymm22, %ymm22 {%k7} {z}
2496 // CHECK:  encoding: [0x62,0xa1,0xcd,0xa7,0x63,0xf3]
2497           vpacksswb %ymm19, %ymm22, %ymm22 {%k7} {z}
2498
2499 // CHECK: vpacksswb (%rcx), %ymm22, %ymm22
2500 // CHECK:  encoding: [0x62,0xe1,0xcd,0x20,0x63,0x31]
2501           vpacksswb (%rcx), %ymm22, %ymm22
2502
2503 // CHECK: vpacksswb 4660(%rax,%r14,8), %ymm22, %ymm22
2504 // CHECK:  encoding: [0x62,0xa1,0xcd,0x20,0x63,0xb4,0xf0,0x34,0x12,0x00,0x00]
2505           vpacksswb 4660(%rax,%r14,8), %ymm22, %ymm22
2506
2507 // CHECK: vpacksswb 4064(%rdx), %ymm22, %ymm22
2508 // CHECK:  encoding: [0x62,0xe1,0xcd,0x20,0x63,0x72,0x7f]
2509           vpacksswb 4064(%rdx), %ymm22, %ymm22
2510
2511 // CHECK: vpacksswb 4096(%rdx), %ymm22, %ymm22
2512 // CHECK:  encoding: [0x62,0xe1,0xcd,0x20,0x63,0xb2,0x00,0x10,0x00,0x00]
2513           vpacksswb 4096(%rdx), %ymm22, %ymm22
2514
2515 // CHECK: vpacksswb -4096(%rdx), %ymm22, %ymm22
2516 // CHECK:  encoding: [0x62,0xe1,0xcd,0x20,0x63,0x72,0x80]
2517           vpacksswb -4096(%rdx), %ymm22, %ymm22
2518
2519 // CHECK: vpacksswb -4128(%rdx), %ymm22, %ymm22
2520 // CHECK:  encoding: [0x62,0xe1,0xcd,0x20,0x63,0xb2,0xe0,0xef,0xff,0xff]
2521           vpacksswb -4128(%rdx), %ymm22, %ymm22
2522
2523 // CHECK: vpackuswb %xmm23, %xmm28, %xmm23
2524 // CHECK:  encoding: [0x62,0xa1,0x9d,0x00,0x67,0xff]
2525           vpackuswb %xmm23, %xmm28, %xmm23
2526
2527 // CHECK: vpackuswb %xmm23, %xmm28, %xmm23 {%k3}
2528 // CHECK:  encoding: [0x62,0xa1,0x9d,0x03,0x67,0xff]
2529           vpackuswb %xmm23, %xmm28, %xmm23 {%k3}
2530
2531 // CHECK: vpackuswb %xmm23, %xmm28, %xmm23 {%k3} {z}
2532 // CHECK:  encoding: [0x62,0xa1,0x9d,0x83,0x67,0xff]
2533           vpackuswb %xmm23, %xmm28, %xmm23 {%k3} {z}
2534
2535 // CHECK: vpackuswb (%rcx), %xmm28, %xmm23
2536 // CHECK:  encoding: [0x62,0xe1,0x9d,0x00,0x67,0x39]
2537           vpackuswb (%rcx), %xmm28, %xmm23
2538
2539 // CHECK: vpackuswb 4660(%rax,%r14,8), %xmm28, %xmm23
2540 // CHECK:  encoding: [0x62,0xa1,0x9d,0x00,0x67,0xbc,0xf0,0x34,0x12,0x00,0x00]
2541           vpackuswb 4660(%rax,%r14,8), %xmm28, %xmm23
2542
2543 // CHECK: vpackuswb 2032(%rdx), %xmm28, %xmm23
2544 // CHECK:  encoding: [0x62,0xe1,0x9d,0x00,0x67,0x7a,0x7f]
2545           vpackuswb 2032(%rdx), %xmm28, %xmm23
2546
2547 // CHECK: vpackuswb 2048(%rdx), %xmm28, %xmm23
2548 // CHECK:  encoding: [0x62,0xe1,0x9d,0x00,0x67,0xba,0x00,0x08,0x00,0x00]
2549           vpackuswb 2048(%rdx), %xmm28, %xmm23
2550
2551 // CHECK: vpackuswb -2048(%rdx), %xmm28, %xmm23
2552 // CHECK:  encoding: [0x62,0xe1,0x9d,0x00,0x67,0x7a,0x80]
2553           vpackuswb -2048(%rdx), %xmm28, %xmm23
2554
2555 // CHECK: vpackuswb -2064(%rdx), %xmm28, %xmm23
2556 // CHECK:  encoding: [0x62,0xe1,0x9d,0x00,0x67,0xba,0xf0,0xf7,0xff,0xff]
2557           vpackuswb -2064(%rdx), %xmm28, %xmm23
2558
2559 // CHECK: vpackuswb %ymm27, %ymm26, %ymm20
2560 // CHECK:  encoding: [0x62,0x81,0xad,0x20,0x67,0xe3]
2561           vpackuswb %ymm27, %ymm26, %ymm20
2562
2563 // CHECK: vpackuswb %ymm27, %ymm26, %ymm20 {%k6}
2564 // CHECK:  encoding: [0x62,0x81,0xad,0x26,0x67,0xe3]
2565           vpackuswb %ymm27, %ymm26, %ymm20 {%k6}
2566
2567 // CHECK: vpackuswb %ymm27, %ymm26, %ymm20 {%k6} {z}
2568 // CHECK:  encoding: [0x62,0x81,0xad,0xa6,0x67,0xe3]
2569           vpackuswb %ymm27, %ymm26, %ymm20 {%k6} {z}
2570
2571 // CHECK: vpackuswb (%rcx), %ymm26, %ymm20
2572 // CHECK:  encoding: [0x62,0xe1,0xad,0x20,0x67,0x21]
2573           vpackuswb (%rcx), %ymm26, %ymm20
2574
2575 // CHECK: vpackuswb 4660(%rax,%r14,8), %ymm26, %ymm20
2576 // CHECK:  encoding: [0x62,0xa1,0xad,0x20,0x67,0xa4,0xf0,0x34,0x12,0x00,0x00]
2577           vpackuswb 4660(%rax,%r14,8), %ymm26, %ymm20
2578
2579 // CHECK: vpackuswb 4064(%rdx), %ymm26, %ymm20
2580 // CHECK:  encoding: [0x62,0xe1,0xad,0x20,0x67,0x62,0x7f]
2581           vpackuswb 4064(%rdx), %ymm26, %ymm20
2582
2583 // CHECK: vpackuswb 4096(%rdx), %ymm26, %ymm20
2584 // CHECK:  encoding: [0x62,0xe1,0xad,0x20,0x67,0xa2,0x00,0x10,0x00,0x00]
2585           vpackuswb 4096(%rdx), %ymm26, %ymm20
2586
2587 // CHECK: vpackuswb -4096(%rdx), %ymm26, %ymm20
2588 // CHECK:  encoding: [0x62,0xe1,0xad,0x20,0x67,0x62,0x80]
2589           vpackuswb -4096(%rdx), %ymm26, %ymm20
2590
2591 // CHECK: vpackuswb -4128(%rdx), %ymm26, %ymm20
2592 // CHECK:  encoding: [0x62,0xe1,0xad,0x20,0x67,0xa2,0xe0,0xef,0xff,0xff]
2593           vpackuswb -4128(%rdx), %ymm26, %ymm20
2594
2595 // CHECK: vpackssdw %xmm26, %xmm26, %xmm30
2596 // CHECK:  encoding: [0x62,0x01,0x2d,0x00,0x6b,0xf2]
2597           vpackssdw %xmm26, %xmm26, %xmm30
2598
2599 // CHECK: vpackssdw %xmm26, %xmm26, %xmm30 {%k2}
2600 // CHECK:  encoding: [0x62,0x01,0x2d,0x02,0x6b,0xf2]
2601           vpackssdw %xmm26, %xmm26, %xmm30 {%k2}
2602
2603 // CHECK: vpackssdw %xmm26, %xmm26, %xmm30 {%k2} {z}
2604 // CHECK:  encoding: [0x62,0x01,0x2d,0x82,0x6b,0xf2]
2605           vpackssdw %xmm26, %xmm26, %xmm30 {%k2} {z}
2606
2607 // CHECK: vpackssdw (%rcx), %xmm26, %xmm30
2608 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0x6b,0x31]
2609           vpackssdw (%rcx), %xmm26, %xmm30
2610
2611 // CHECK: vpackssdw 291(%rax,%r14,8), %xmm26, %xmm30
2612 // CHECK:  encoding: [0x62,0x21,0x2d,0x00,0x6b,0xb4,0xf0,0x23,0x01,0x00,0x00]
2613           vpackssdw 291(%rax,%r14,8), %xmm26, %xmm30
2614
2615 // CHECK: vpackssdw (%rcx){1to4}, %xmm26, %xmm30
2616 // CHECK:  encoding: [0x62,0x61,0x2d,0x10,0x6b,0x31]
2617           vpackssdw (%rcx){1to4}, %xmm26, %xmm30
2618
2619 // CHECK: vpackssdw 2032(%rdx), %xmm26, %xmm30
2620 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0x6b,0x72,0x7f]
2621           vpackssdw 2032(%rdx), %xmm26, %xmm30
2622
2623 // CHECK: vpackssdw 2048(%rdx), %xmm26, %xmm30
2624 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0x6b,0xb2,0x00,0x08,0x00,0x00]
2625           vpackssdw 2048(%rdx), %xmm26, %xmm30
2626
2627 // CHECK: vpackssdw -2048(%rdx), %xmm26, %xmm30
2628 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0x6b,0x72,0x80]
2629           vpackssdw -2048(%rdx), %xmm26, %xmm30
2630
2631 // CHECK: vpackssdw -2064(%rdx), %xmm26, %xmm30
2632 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0x6b,0xb2,0xf0,0xf7,0xff,0xff]
2633           vpackssdw -2064(%rdx), %xmm26, %xmm30
2634
2635 // CHECK: vpackssdw 508(%rdx){1to4}, %xmm26, %xmm30
2636 // CHECK:  encoding: [0x62,0x61,0x2d,0x10,0x6b,0x72,0x7f]
2637           vpackssdw 508(%rdx){1to4}, %xmm26, %xmm30
2638
2639 // CHECK: vpackssdw 512(%rdx){1to4}, %xmm26, %xmm30
2640 // CHECK:  encoding: [0x62,0x61,0x2d,0x10,0x6b,0xb2,0x00,0x02,0x00,0x00]
2641           vpackssdw 512(%rdx){1to4}, %xmm26, %xmm30
2642
2643 // CHECK: vpackssdw -512(%rdx){1to4}, %xmm26, %xmm30
2644 // CHECK:  encoding: [0x62,0x61,0x2d,0x10,0x6b,0x72,0x80]
2645           vpackssdw -512(%rdx){1to4}, %xmm26, %xmm30
2646
2647 // CHECK: vpackssdw -516(%rdx){1to4}, %xmm26, %xmm30
2648 // CHECK:  encoding: [0x62,0x61,0x2d,0x10,0x6b,0xb2,0xfc,0xfd,0xff,0xff]
2649           vpackssdw -516(%rdx){1to4}, %xmm26, %xmm30
2650
2651 // CHECK: vpackssdw %ymm26, %ymm22, %ymm28
2652 // CHECK:  encoding: [0x62,0x01,0x4d,0x20,0x6b,0xe2]
2653           vpackssdw %ymm26, %ymm22, %ymm28
2654
2655 // CHECK: vpackssdw %ymm26, %ymm22, %ymm28 {%k7}
2656 // CHECK:  encoding: [0x62,0x01,0x4d,0x27,0x6b,0xe2]
2657           vpackssdw %ymm26, %ymm22, %ymm28 {%k7}
2658
2659 // CHECK: vpackssdw %ymm26, %ymm22, %ymm28 {%k7} {z}
2660 // CHECK:  encoding: [0x62,0x01,0x4d,0xa7,0x6b,0xe2]
2661           vpackssdw %ymm26, %ymm22, %ymm28 {%k7} {z}
2662
2663 // CHECK: vpackssdw (%rcx), %ymm22, %ymm28
2664 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0x6b,0x21]
2665           vpackssdw (%rcx), %ymm22, %ymm28
2666
2667 // CHECK: vpackssdw 291(%rax,%r14,8), %ymm22, %ymm28
2668 // CHECK:  encoding: [0x62,0x21,0x4d,0x20,0x6b,0xa4,0xf0,0x23,0x01,0x00,0x00]
2669           vpackssdw 291(%rax,%r14,8), %ymm22, %ymm28
2670
2671 // CHECK: vpackssdw (%rcx){1to8}, %ymm22, %ymm28
2672 // CHECK:  encoding: [0x62,0x61,0x4d,0x30,0x6b,0x21]
2673           vpackssdw (%rcx){1to8}, %ymm22, %ymm28
2674
2675 // CHECK: vpackssdw 4064(%rdx), %ymm22, %ymm28
2676 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0x6b,0x62,0x7f]
2677           vpackssdw 4064(%rdx), %ymm22, %ymm28
2678
2679 // CHECK: vpackssdw 4096(%rdx), %ymm22, %ymm28
2680 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0x6b,0xa2,0x00,0x10,0x00,0x00]
2681           vpackssdw 4096(%rdx), %ymm22, %ymm28
2682
2683 // CHECK: vpackssdw -4096(%rdx), %ymm22, %ymm28
2684 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0x6b,0x62,0x80]
2685           vpackssdw -4096(%rdx), %ymm22, %ymm28
2686
2687 // CHECK: vpackssdw -4128(%rdx), %ymm22, %ymm28
2688 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0x6b,0xa2,0xe0,0xef,0xff,0xff]
2689           vpackssdw -4128(%rdx), %ymm22, %ymm28
2690
2691 // CHECK: vpackssdw 508(%rdx){1to8}, %ymm22, %ymm28
2692 // CHECK:  encoding: [0x62,0x61,0x4d,0x30,0x6b,0x62,0x7f]
2693           vpackssdw 508(%rdx){1to8}, %ymm22, %ymm28
2694
2695 // CHECK: vpackssdw 512(%rdx){1to8}, %ymm22, %ymm28
2696 // CHECK:  encoding: [0x62,0x61,0x4d,0x30,0x6b,0xa2,0x00,0x02,0x00,0x00]
2697           vpackssdw 512(%rdx){1to8}, %ymm22, %ymm28
2698
2699 // CHECK: vpackssdw -512(%rdx){1to8}, %ymm22, %ymm28
2700 // CHECK:  encoding: [0x62,0x61,0x4d,0x30,0x6b,0x62,0x80]
2701           vpackssdw -512(%rdx){1to8}, %ymm22, %ymm28
2702
2703 // CHECK: vpackssdw -516(%rdx){1to8}, %ymm22, %ymm28
2704 // CHECK:  encoding: [0x62,0x61,0x4d,0x30,0x6b,0xa2,0xfc,0xfd,0xff,0xff]
2705           vpackssdw -516(%rdx){1to8}, %ymm22, %ymm28
2706
2707 // CHECK: vpacksswb %xmm21, %xmm28, %xmm25
2708 // CHECK:  encoding: [0x62,0x21,0x9d,0x00,0x63,0xcd]
2709           vpacksswb %xmm21, %xmm28, %xmm25
2710
2711 // CHECK: vpacksswb %xmm21, %xmm28, %xmm25 {%k5}
2712 // CHECK:  encoding: [0x62,0x21,0x9d,0x05,0x63,0xcd]
2713           vpacksswb %xmm21, %xmm28, %xmm25 {%k5}
2714
2715 // CHECK: vpacksswb %xmm21, %xmm28, %xmm25 {%k5} {z}
2716 // CHECK:  encoding: [0x62,0x21,0x9d,0x85,0x63,0xcd]
2717           vpacksswb %xmm21, %xmm28, %xmm25 {%k5} {z}
2718
2719 // CHECK: vpacksswb (%rcx), %xmm28, %xmm25
2720 // CHECK:  encoding: [0x62,0x61,0x9d,0x00,0x63,0x09]
2721           vpacksswb (%rcx), %xmm28, %xmm25
2722
2723 // CHECK: vpacksswb 291(%rax,%r14,8), %xmm28, %xmm25
2724 // CHECK:  encoding: [0x62,0x21,0x9d,0x00,0x63,0x8c,0xf0,0x23,0x01,0x00,0x00]
2725           vpacksswb 291(%rax,%r14,8), %xmm28, %xmm25
2726
2727 // CHECK: vpacksswb 2032(%rdx), %xmm28, %xmm25
2728 // CHECK:  encoding: [0x62,0x61,0x9d,0x00,0x63,0x4a,0x7f]
2729           vpacksswb 2032(%rdx), %xmm28, %xmm25
2730
2731 // CHECK: vpacksswb 2048(%rdx), %xmm28, %xmm25
2732 // CHECK:  encoding: [0x62,0x61,0x9d,0x00,0x63,0x8a,0x00,0x08,0x00,0x00]
2733           vpacksswb 2048(%rdx), %xmm28, %xmm25
2734
2735 // CHECK: vpacksswb -2048(%rdx), %xmm28, %xmm25
2736 // CHECK:  encoding: [0x62,0x61,0x9d,0x00,0x63,0x4a,0x80]
2737           vpacksswb -2048(%rdx), %xmm28, %xmm25
2738
2739 // CHECK: vpacksswb -2064(%rdx), %xmm28, %xmm25
2740 // CHECK:  encoding: [0x62,0x61,0x9d,0x00,0x63,0x8a,0xf0,0xf7,0xff,0xff]
2741           vpacksswb -2064(%rdx), %xmm28, %xmm25
2742
2743 // CHECK: vpacksswb %ymm22, %ymm28, %ymm21
2744 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x63,0xee]
2745           vpacksswb %ymm22, %ymm28, %ymm21
2746
2747 // CHECK: vpacksswb %ymm22, %ymm28, %ymm21 {%k5}
2748 // CHECK:  encoding: [0x62,0xa1,0x9d,0x25,0x63,0xee]
2749           vpacksswb %ymm22, %ymm28, %ymm21 {%k5}
2750
2751 // CHECK: vpacksswb %ymm22, %ymm28, %ymm21 {%k5} {z}
2752 // CHECK:  encoding: [0x62,0xa1,0x9d,0xa5,0x63,0xee]
2753           vpacksswb %ymm22, %ymm28, %ymm21 {%k5} {z}
2754
2755 // CHECK: vpacksswb (%rcx), %ymm28, %ymm21
2756 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x63,0x29]
2757           vpacksswb (%rcx), %ymm28, %ymm21
2758
2759 // CHECK: vpacksswb 291(%rax,%r14,8), %ymm28, %ymm21
2760 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x63,0xac,0xf0,0x23,0x01,0x00,0x00]
2761           vpacksswb 291(%rax,%r14,8), %ymm28, %ymm21
2762
2763 // CHECK: vpacksswb 4064(%rdx), %ymm28, %ymm21
2764 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x63,0x6a,0x7f]
2765           vpacksswb 4064(%rdx), %ymm28, %ymm21
2766
2767 // CHECK: vpacksswb 4096(%rdx), %ymm28, %ymm21
2768 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x63,0xaa,0x00,0x10,0x00,0x00]
2769           vpacksswb 4096(%rdx), %ymm28, %ymm21
2770
2771 // CHECK: vpacksswb -4096(%rdx), %ymm28, %ymm21
2772 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x63,0x6a,0x80]
2773           vpacksswb -4096(%rdx), %ymm28, %ymm21
2774
2775 // CHECK: vpacksswb -4128(%rdx), %ymm28, %ymm21
2776 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x63,0xaa,0xe0,0xef,0xff,0xff]
2777           vpacksswb -4128(%rdx), %ymm28, %ymm21
2778
2779 // CHECK: vpackusdw %xmm20, %xmm24, %xmm24
2780 // CHECK:  encoding: [0x62,0x22,0x3d,0x00,0x2b,0xc4]
2781           vpackusdw %xmm20, %xmm24, %xmm24
2782
2783 // CHECK: vpackusdw %xmm20, %xmm24, %xmm24 {%k5}
2784 // CHECK:  encoding: [0x62,0x22,0x3d,0x05,0x2b,0xc4]
2785           vpackusdw %xmm20, %xmm24, %xmm24 {%k5}
2786
2787 // CHECK: vpackusdw %xmm20, %xmm24, %xmm24 {%k5} {z}
2788 // CHECK:  encoding: [0x62,0x22,0x3d,0x85,0x2b,0xc4]
2789           vpackusdw %xmm20, %xmm24, %xmm24 {%k5} {z}
2790
2791 // CHECK: vpackusdw (%rcx), %xmm24, %xmm24
2792 // CHECK:  encoding: [0x62,0x62,0x3d,0x00,0x2b,0x01]
2793           vpackusdw (%rcx), %xmm24, %xmm24
2794
2795 // CHECK: vpackusdw 291(%rax,%r14,8), %xmm24, %xmm24
2796 // CHECK:  encoding: [0x62,0x22,0x3d,0x00,0x2b,0x84,0xf0,0x23,0x01,0x00,0x00]
2797           vpackusdw 291(%rax,%r14,8), %xmm24, %xmm24
2798
2799 // CHECK: vpackusdw (%rcx){1to4}, %xmm24, %xmm24
2800 // CHECK:  encoding: [0x62,0x62,0x3d,0x10,0x2b,0x01]
2801           vpackusdw (%rcx){1to4}, %xmm24, %xmm24
2802
2803 // CHECK: vpackusdw 2032(%rdx), %xmm24, %xmm24
2804 // CHECK:  encoding: [0x62,0x62,0x3d,0x00,0x2b,0x42,0x7f]
2805           vpackusdw 2032(%rdx), %xmm24, %xmm24
2806
2807 // CHECK: vpackusdw 2048(%rdx), %xmm24, %xmm24
2808 // CHECK:  encoding: [0x62,0x62,0x3d,0x00,0x2b,0x82,0x00,0x08,0x00,0x00]
2809           vpackusdw 2048(%rdx), %xmm24, %xmm24
2810
2811 // CHECK: vpackusdw -2048(%rdx), %xmm24, %xmm24
2812 // CHECK:  encoding: [0x62,0x62,0x3d,0x00,0x2b,0x42,0x80]
2813           vpackusdw -2048(%rdx), %xmm24, %xmm24
2814
2815 // CHECK: vpackusdw -2064(%rdx), %xmm24, %xmm24
2816 // CHECK:  encoding: [0x62,0x62,0x3d,0x00,0x2b,0x82,0xf0,0xf7,0xff,0xff]
2817           vpackusdw -2064(%rdx), %xmm24, %xmm24
2818
2819 // CHECK: vpackusdw 508(%rdx){1to4}, %xmm24, %xmm24
2820 // CHECK:  encoding: [0x62,0x62,0x3d,0x10,0x2b,0x42,0x7f]
2821           vpackusdw 508(%rdx){1to4}, %xmm24, %xmm24
2822
2823 // CHECK: vpackusdw 512(%rdx){1to4}, %xmm24, %xmm24
2824 // CHECK:  encoding: [0x62,0x62,0x3d,0x10,0x2b,0x82,0x00,0x02,0x00,0x00]
2825           vpackusdw 512(%rdx){1to4}, %xmm24, %xmm24
2826
2827 // CHECK: vpackusdw -512(%rdx){1to4}, %xmm24, %xmm24
2828 // CHECK:  encoding: [0x62,0x62,0x3d,0x10,0x2b,0x42,0x80]
2829           vpackusdw -512(%rdx){1to4}, %xmm24, %xmm24
2830
2831 // CHECK: vpackusdw -516(%rdx){1to4}, %xmm24, %xmm24
2832 // CHECK:  encoding: [0x62,0x62,0x3d,0x10,0x2b,0x82,0xfc,0xfd,0xff,0xff]
2833           vpackusdw -516(%rdx){1to4}, %xmm24, %xmm24
2834
2835 // CHECK: vpackusdw %ymm21, %ymm26, %ymm19
2836 // CHECK:  encoding: [0x62,0xa2,0x2d,0x20,0x2b,0xdd]
2837           vpackusdw %ymm21, %ymm26, %ymm19
2838
2839 // CHECK: vpackusdw %ymm21, %ymm26, %ymm19 {%k1}
2840 // CHECK:  encoding: [0x62,0xa2,0x2d,0x21,0x2b,0xdd]
2841           vpackusdw %ymm21, %ymm26, %ymm19 {%k1}
2842
2843 // CHECK: vpackusdw %ymm21, %ymm26, %ymm19 {%k1} {z}
2844 // CHECK:  encoding: [0x62,0xa2,0x2d,0xa1,0x2b,0xdd]
2845           vpackusdw %ymm21, %ymm26, %ymm19 {%k1} {z}
2846
2847 // CHECK: vpackusdw (%rcx), %ymm26, %ymm19
2848 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x19]
2849           vpackusdw (%rcx), %ymm26, %ymm19
2850
2851 // CHECK: vpackusdw 291(%rax,%r14,8), %ymm26, %ymm19
2852 // CHECK:  encoding: [0x62,0xa2,0x2d,0x20,0x2b,0x9c,0xf0,0x23,0x01,0x00,0x00]
2853           vpackusdw 291(%rax,%r14,8), %ymm26, %ymm19
2854
2855 // CHECK: vpackusdw (%rcx){1to8}, %ymm26, %ymm19
2856 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x19]
2857           vpackusdw (%rcx){1to8}, %ymm26, %ymm19
2858
2859 // CHECK: vpackusdw 4064(%rdx), %ymm26, %ymm19
2860 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x5a,0x7f]
2861           vpackusdw 4064(%rdx), %ymm26, %ymm19
2862
2863 // CHECK: vpackusdw 4096(%rdx), %ymm26, %ymm19
2864 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x9a,0x00,0x10,0x00,0x00]
2865           vpackusdw 4096(%rdx), %ymm26, %ymm19
2866
2867 // CHECK: vpackusdw -4096(%rdx), %ymm26, %ymm19
2868 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x5a,0x80]
2869           vpackusdw -4096(%rdx), %ymm26, %ymm19
2870
2871 // CHECK: vpackusdw -4128(%rdx), %ymm26, %ymm19
2872 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x9a,0xe0,0xef,0xff,0xff]
2873           vpackusdw -4128(%rdx), %ymm26, %ymm19
2874
2875 // CHECK: vpackusdw 508(%rdx){1to8}, %ymm26, %ymm19
2876 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x5a,0x7f]
2877           vpackusdw 508(%rdx){1to8}, %ymm26, %ymm19
2878
2879 // CHECK: vpackusdw 512(%rdx){1to8}, %ymm26, %ymm19
2880 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x9a,0x00,0x02,0x00,0x00]
2881           vpackusdw 512(%rdx){1to8}, %ymm26, %ymm19
2882
2883 // CHECK: vpackusdw -512(%rdx){1to8}, %ymm26, %ymm19
2884 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x5a,0x80]
2885           vpackusdw -512(%rdx){1to8}, %ymm26, %ymm19
2886
2887 // CHECK: vpackusdw -516(%rdx){1to8}, %ymm26, %ymm19
2888 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x9a,0xfc,0xfd,0xff,0xff]
2889           vpackusdw -516(%rdx){1to8}, %ymm26, %ymm19
2890
2891 // CHECK: vpackuswb %xmm17, %xmm27, %xmm21
2892 // CHECK:  encoding: [0x62,0xa1,0xa5,0x00,0x67,0xe9]
2893           vpackuswb %xmm17, %xmm27, %xmm21
2894
2895 // CHECK: vpackuswb %xmm17, %xmm27, %xmm21 {%k4}
2896 // CHECK:  encoding: [0x62,0xa1,0xa5,0x04,0x67,0xe9]
2897           vpackuswb %xmm17, %xmm27, %xmm21 {%k4}
2898
2899 // CHECK: vpackuswb %xmm17, %xmm27, %xmm21 {%k4} {z}
2900 // CHECK:  encoding: [0x62,0xa1,0xa5,0x84,0x67,0xe9]
2901           vpackuswb %xmm17, %xmm27, %xmm21 {%k4} {z}
2902
2903 // CHECK: vpackuswb (%rcx), %xmm27, %xmm21
2904 // CHECK:  encoding: [0x62,0xe1,0xa5,0x00,0x67,0x29]
2905           vpackuswb (%rcx), %xmm27, %xmm21
2906
2907 // CHECK: vpackuswb 291(%rax,%r14,8), %xmm27, %xmm21
2908 // CHECK:  encoding: [0x62,0xa1,0xa5,0x00,0x67,0xac,0xf0,0x23,0x01,0x00,0x00]
2909           vpackuswb 291(%rax,%r14,8), %xmm27, %xmm21
2910
2911 // CHECK: vpackuswb 2032(%rdx), %xmm27, %xmm21
2912 // CHECK:  encoding: [0x62,0xe1,0xa5,0x00,0x67,0x6a,0x7f]
2913           vpackuswb 2032(%rdx), %xmm27, %xmm21
2914
2915 // CHECK: vpackuswb 2048(%rdx), %xmm27, %xmm21
2916 // CHECK:  encoding: [0x62,0xe1,0xa5,0x00,0x67,0xaa,0x00,0x08,0x00,0x00]
2917           vpackuswb 2048(%rdx), %xmm27, %xmm21
2918
2919 // CHECK: vpackuswb -2048(%rdx), %xmm27, %xmm21
2920 // CHECK:  encoding: [0x62,0xe1,0xa5,0x00,0x67,0x6a,0x80]
2921           vpackuswb -2048(%rdx), %xmm27, %xmm21
2922
2923 // CHECK: vpackuswb -2064(%rdx), %xmm27, %xmm21
2924 // CHECK:  encoding: [0x62,0xe1,0xa5,0x00,0x67,0xaa,0xf0,0xf7,0xff,0xff]
2925           vpackuswb -2064(%rdx), %xmm27, %xmm21
2926
2927 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19
2928 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x67,0xdc]
2929           vpackuswb %ymm20, %ymm28, %ymm19
2930
2931 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19 {%k1}
2932 // CHECK:  encoding: [0x62,0xa1,0x9d,0x21,0x67,0xdc]
2933           vpackuswb %ymm20, %ymm28, %ymm19 {%k1}
2934
2935 // CHECK: vpackuswb %ymm20, %ymm28, %ymm19 {%k1} {z}
2936 // CHECK:  encoding: [0x62,0xa1,0x9d,0xa1,0x67,0xdc]
2937           vpackuswb %ymm20, %ymm28, %ymm19 {%k1} {z}
2938
2939 // CHECK: vpackuswb (%rcx), %ymm28, %ymm19
2940 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x19]
2941           vpackuswb (%rcx), %ymm28, %ymm19
2942
2943 // CHECK: vpackuswb 291(%rax,%r14,8), %ymm28, %ymm19
2944 // CHECK:  encoding: [0x62,0xa1,0x9d,0x20,0x67,0x9c,0xf0,0x23,0x01,0x00,0x00]
2945           vpackuswb 291(%rax,%r14,8), %ymm28, %ymm19
2946
2947 // CHECK: vpackuswb 4064(%rdx), %ymm28, %ymm19
2948 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x5a,0x7f]
2949           vpackuswb 4064(%rdx), %ymm28, %ymm19
2950
2951 // CHECK: vpackuswb 4096(%rdx), %ymm28, %ymm19
2952 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x9a,0x00,0x10,0x00,0x00]
2953           vpackuswb 4096(%rdx), %ymm28, %ymm19
2954
2955 // CHECK: vpackuswb -4096(%rdx), %ymm28, %ymm19
2956 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x5a,0x80]
2957           vpackuswb -4096(%rdx), %ymm28, %ymm19
2958
2959 // CHECK: vpackuswb -4128(%rdx), %ymm28, %ymm19
2960 // CHECK:  encoding: [0x62,0xe1,0x9d,0x20,0x67,0x9a,0xe0,0xef,0xff,0xff]
2961           vpackuswb -4128(%rdx), %ymm28, %ymm19
2962
2963 // CHECK: vpackssdw %xmm19, %xmm17, %xmm24
2964 // CHECK:  encoding: [0x62,0x21,0x75,0x00,0x6b,0xc3]
2965           vpackssdw %xmm19, %xmm17, %xmm24
2966
2967 // CHECK: vpackssdw %xmm19, %xmm17, %xmm24 {%k7}
2968 // CHECK:  encoding: [0x62,0x21,0x75,0x07,0x6b,0xc3]
2969           vpackssdw %xmm19, %xmm17, %xmm24 {%k7}
2970
2971 // CHECK: vpackssdw %xmm19, %xmm17, %xmm24 {%k7} {z}
2972 // CHECK:  encoding: [0x62,0x21,0x75,0x87,0x6b,0xc3]
2973           vpackssdw %xmm19, %xmm17, %xmm24 {%k7} {z}
2974
2975 // CHECK: vpackssdw (%rcx), %xmm17, %xmm24
2976 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0x6b,0x01]
2977           vpackssdw (%rcx), %xmm17, %xmm24
2978
2979 // CHECK: vpackssdw 4660(%rax,%r14,8), %xmm17, %xmm24
2980 // CHECK:  encoding: [0x62,0x21,0x75,0x00,0x6b,0x84,0xf0,0x34,0x12,0x00,0x00]
2981           vpackssdw 4660(%rax,%r14,8), %xmm17, %xmm24
2982
2983 // CHECK: vpackssdw (%rcx){1to4}, %xmm17, %xmm24
2984 // CHECK:  encoding: [0x62,0x61,0x75,0x10,0x6b,0x01]
2985           vpackssdw (%rcx){1to4}, %xmm17, %xmm24
2986
2987 // CHECK: vpackssdw 2032(%rdx), %xmm17, %xmm24
2988 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0x6b,0x42,0x7f]
2989           vpackssdw 2032(%rdx), %xmm17, %xmm24
2990
2991 // CHECK: vpackssdw 2048(%rdx), %xmm17, %xmm24
2992 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0x6b,0x82,0x00,0x08,0x00,0x00]
2993           vpackssdw 2048(%rdx), %xmm17, %xmm24
2994
2995 // CHECK: vpackssdw -2048(%rdx), %xmm17, %xmm24
2996 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0x6b,0x42,0x80]
2997           vpackssdw -2048(%rdx), %xmm17, %xmm24
2998
2999 // CHECK: vpackssdw -2064(%rdx), %xmm17, %xmm24
3000 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0x6b,0x82,0xf0,0xf7,0xff,0xff]
3001           vpackssdw -2064(%rdx), %xmm17, %xmm24
3002
3003 // CHECK: vpackssdw 508(%rdx){1to4}, %xmm17, %xmm24
3004 // CHECK:  encoding: [0x62,0x61,0x75,0x10,0x6b,0x42,0x7f]
3005           vpackssdw 508(%rdx){1to4}, %xmm17, %xmm24
3006
3007 // CHECK: vpackssdw 512(%rdx){1to4}, %xmm17, %xmm24
3008 // CHECK:  encoding: [0x62,0x61,0x75,0x10,0x6b,0x82,0x00,0x02,0x00,0x00]
3009           vpackssdw 512(%rdx){1to4}, %xmm17, %xmm24
3010
3011 // CHECK: vpackssdw -512(%rdx){1to4}, %xmm17, %xmm24
3012 // CHECK:  encoding: [0x62,0x61,0x75,0x10,0x6b,0x42,0x80]
3013           vpackssdw -512(%rdx){1to4}, %xmm17, %xmm24
3014
3015 // CHECK: vpackssdw -516(%rdx){1to4}, %xmm17, %xmm24
3016 // CHECK:  encoding: [0x62,0x61,0x75,0x10,0x6b,0x82,0xfc,0xfd,0xff,0xff]
3017           vpackssdw -516(%rdx){1to4}, %xmm17, %xmm24
3018
3019 // CHECK: vpackssdw %ymm19, %ymm19, %ymm25
3020 // CHECK:  encoding: [0x62,0x21,0x65,0x20,0x6b,0xcb]
3021           vpackssdw %ymm19, %ymm19, %ymm25
3022
3023 // CHECK: vpackssdw %ymm19, %ymm19, %ymm25 {%k2}
3024 // CHECK:  encoding: [0x62,0x21,0x65,0x22,0x6b,0xcb]
3025           vpackssdw %ymm19, %ymm19, %ymm25 {%k2}
3026
3027 // CHECK: vpackssdw %ymm19, %ymm19, %ymm25 {%k2} {z}
3028 // CHECK:  encoding: [0x62,0x21,0x65,0xa2,0x6b,0xcb]
3029           vpackssdw %ymm19, %ymm19, %ymm25 {%k2} {z}
3030
3031 // CHECK: vpackssdw (%rcx), %ymm19, %ymm25
3032 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0x6b,0x09]
3033           vpackssdw (%rcx), %ymm19, %ymm25
3034
3035 // CHECK: vpackssdw 4660(%rax,%r14,8), %ymm19, %ymm25
3036 // CHECK:  encoding: [0x62,0x21,0x65,0x20,0x6b,0x8c,0xf0,0x34,0x12,0x00,0x00]
3037           vpackssdw 4660(%rax,%r14,8), %ymm19, %ymm25
3038
3039 // CHECK: vpackssdw (%rcx){1to8}, %ymm19, %ymm25
3040 // CHECK:  encoding: [0x62,0x61,0x65,0x30,0x6b,0x09]
3041           vpackssdw (%rcx){1to8}, %ymm19, %ymm25
3042
3043 // CHECK: vpackssdw 4064(%rdx), %ymm19, %ymm25
3044 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0x6b,0x4a,0x7f]
3045           vpackssdw 4064(%rdx), %ymm19, %ymm25
3046
3047 // CHECK: vpackssdw 4096(%rdx), %ymm19, %ymm25
3048 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0x6b,0x8a,0x00,0x10,0x00,0x00]
3049           vpackssdw 4096(%rdx), %ymm19, %ymm25
3050
3051 // CHECK: vpackssdw -4096(%rdx), %ymm19, %ymm25
3052 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0x6b,0x4a,0x80]
3053           vpackssdw -4096(%rdx), %ymm19, %ymm25
3054
3055 // CHECK: vpackssdw -4128(%rdx), %ymm19, %ymm25
3056 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0x6b,0x8a,0xe0,0xef,0xff,0xff]
3057           vpackssdw -4128(%rdx), %ymm19, %ymm25
3058
3059 // CHECK: vpackssdw 508(%rdx){1to8}, %ymm19, %ymm25
3060 // CHECK:  encoding: [0x62,0x61,0x65,0x30,0x6b,0x4a,0x7f]
3061           vpackssdw 508(%rdx){1to8}, %ymm19, %ymm25
3062
3063 // CHECK: vpackssdw 512(%rdx){1to8}, %ymm19, %ymm25
3064 // CHECK:  encoding: [0x62,0x61,0x65,0x30,0x6b,0x8a,0x00,0x02,0x00,0x00]
3065           vpackssdw 512(%rdx){1to8}, %ymm19, %ymm25
3066
3067 // CHECK: vpackssdw -512(%rdx){1to8}, %ymm19, %ymm25
3068 // CHECK:  encoding: [0x62,0x61,0x65,0x30,0x6b,0x4a,0x80]
3069           vpackssdw -512(%rdx){1to8}, %ymm19, %ymm25
3070
3071 // CHECK: vpackssdw -516(%rdx){1to8}, %ymm19, %ymm25
3072 // CHECK:  encoding: [0x62,0x61,0x65,0x30,0x6b,0x8a,0xfc,0xfd,0xff,0xff]
3073           vpackssdw -516(%rdx){1to8}, %ymm19, %ymm25
3074
3075 // CHECK: vpacksswb %xmm22, %xmm25, %xmm29
3076 // CHECK:  encoding: [0x62,0x21,0xb5,0x00,0x63,0xee]
3077           vpacksswb %xmm22, %xmm25, %xmm29
3078
3079 // CHECK: vpacksswb %xmm22, %xmm25, %xmm29 {%k5}
3080 // CHECK:  encoding: [0x62,0x21,0xb5,0x05,0x63,0xee]
3081           vpacksswb %xmm22, %xmm25, %xmm29 {%k5}
3082
3083 // CHECK: vpacksswb %xmm22, %xmm25, %xmm29 {%k5} {z}
3084 // CHECK:  encoding: [0x62,0x21,0xb5,0x85,0x63,0xee]
3085           vpacksswb %xmm22, %xmm25, %xmm29 {%k5} {z}
3086
3087 // CHECK: vpacksswb (%rcx), %xmm25, %xmm29
3088 // CHECK:  encoding: [0x62,0x61,0xb5,0x00,0x63,0x29]
3089           vpacksswb (%rcx), %xmm25, %xmm29
3090
3091 // CHECK: vpacksswb 4660(%rax,%r14,8), %xmm25, %xmm29
3092 // CHECK:  encoding: [0x62,0x21,0xb5,0x00,0x63,0xac,0xf0,0x34,0x12,0x00,0x00]
3093           vpacksswb 4660(%rax,%r14,8), %xmm25, %xmm29
3094
3095 // CHECK: vpacksswb 2032(%rdx), %xmm25, %xmm29
3096 // CHECK:  encoding: [0x62,0x61,0xb5,0x00,0x63,0x6a,0x7f]
3097           vpacksswb 2032(%rdx), %xmm25, %xmm29
3098
3099 // CHECK: vpacksswb 2048(%rdx), %xmm25, %xmm29
3100 // CHECK:  encoding: [0x62,0x61,0xb5,0x00,0x63,0xaa,0x00,0x08,0x00,0x00]
3101           vpacksswb 2048(%rdx), %xmm25, %xmm29
3102
3103 // CHECK: vpacksswb -2048(%rdx), %xmm25, %xmm29
3104 // CHECK:  encoding: [0x62,0x61,0xb5,0x00,0x63,0x6a,0x80]
3105           vpacksswb -2048(%rdx), %xmm25, %xmm29
3106
3107 // CHECK: vpacksswb -2064(%rdx), %xmm25, %xmm29
3108 // CHECK:  encoding: [0x62,0x61,0xb5,0x00,0x63,0xaa,0xf0,0xf7,0xff,0xff]
3109           vpacksswb -2064(%rdx), %xmm25, %xmm29
3110
3111 // CHECK: vpacksswb %ymm27, %ymm20, %ymm26
3112 // CHECK:  encoding: [0x62,0x01,0xdd,0x20,0x63,0xd3]
3113           vpacksswb %ymm27, %ymm20, %ymm26
3114
3115 // CHECK: vpacksswb %ymm27, %ymm20, %ymm26 {%k6}
3116 // CHECK:  encoding: [0x62,0x01,0xdd,0x26,0x63,0xd3]
3117           vpacksswb %ymm27, %ymm20, %ymm26 {%k6}
3118
3119 // CHECK: vpacksswb %ymm27, %ymm20, %ymm26 {%k6} {z}
3120 // CHECK:  encoding: [0x62,0x01,0xdd,0xa6,0x63,0xd3]
3121           vpacksswb %ymm27, %ymm20, %ymm26 {%k6} {z}
3122
3123 // CHECK: vpacksswb (%rcx), %ymm20, %ymm26
3124 // CHECK:  encoding: [0x62,0x61,0xdd,0x20,0x63,0x11]
3125           vpacksswb (%rcx), %ymm20, %ymm26
3126
3127 // CHECK: vpacksswb 4660(%rax,%r14,8), %ymm20, %ymm26
3128 // CHECK:  encoding: [0x62,0x21,0xdd,0x20,0x63,0x94,0xf0,0x34,0x12,0x00,0x00]
3129           vpacksswb 4660(%rax,%r14,8), %ymm20, %ymm26
3130
3131 // CHECK: vpacksswb 4064(%rdx), %ymm20, %ymm26
3132 // CHECK:  encoding: [0x62,0x61,0xdd,0x20,0x63,0x52,0x7f]
3133           vpacksswb 4064(%rdx), %ymm20, %ymm26
3134
3135 // CHECK: vpacksswb 4096(%rdx), %ymm20, %ymm26
3136 // CHECK:  encoding: [0x62,0x61,0xdd,0x20,0x63,0x92,0x00,0x10,0x00,0x00]
3137           vpacksswb 4096(%rdx), %ymm20, %ymm26
3138
3139 // CHECK: vpacksswb -4096(%rdx), %ymm20, %ymm26
3140 // CHECK:  encoding: [0x62,0x61,0xdd,0x20,0x63,0x52,0x80]
3141           vpacksswb -4096(%rdx), %ymm20, %ymm26
3142
3143 // CHECK: vpacksswb -4128(%rdx), %ymm20, %ymm26
3144 // CHECK:  encoding: [0x62,0x61,0xdd,0x20,0x63,0x92,0xe0,0xef,0xff,0xff]
3145           vpacksswb -4128(%rdx), %ymm20, %ymm26
3146
3147 // CHECK: vpackusdw %xmm18, %xmm27, %xmm28
3148 // CHECK:  encoding: [0x62,0x22,0x25,0x00,0x2b,0xe2]
3149           vpackusdw %xmm18, %xmm27, %xmm28
3150
3151 // CHECK: vpackusdw %xmm18, %xmm27, %xmm28 {%k4}
3152 // CHECK:  encoding: [0x62,0x22,0x25,0x04,0x2b,0xe2]
3153           vpackusdw %xmm18, %xmm27, %xmm28 {%k4}
3154
3155 // CHECK: vpackusdw %xmm18, %xmm27, %xmm28 {%k4} {z}
3156 // CHECK:  encoding: [0x62,0x22,0x25,0x84,0x2b,0xe2]
3157           vpackusdw %xmm18, %xmm27, %xmm28 {%k4} {z}
3158
3159 // CHECK: vpackusdw (%rcx), %xmm27, %xmm28
3160 // CHECK:  encoding: [0x62,0x62,0x25,0x00,0x2b,0x21]
3161           vpackusdw (%rcx), %xmm27, %xmm28
3162
3163 // CHECK: vpackusdw 4660(%rax,%r14,8), %xmm27, %xmm28
3164 // CHECK:  encoding: [0x62,0x22,0x25,0x00,0x2b,0xa4,0xf0,0x34,0x12,0x00,0x00]
3165           vpackusdw 4660(%rax,%r14,8), %xmm27, %xmm28
3166
3167 // CHECK: vpackusdw (%rcx){1to4}, %xmm27, %xmm28
3168 // CHECK:  encoding: [0x62,0x62,0x25,0x10,0x2b,0x21]
3169           vpackusdw (%rcx){1to4}, %xmm27, %xmm28
3170
3171 // CHECK: vpackusdw 2032(%rdx), %xmm27, %xmm28
3172 // CHECK:  encoding: [0x62,0x62,0x25,0x00,0x2b,0x62,0x7f]
3173           vpackusdw 2032(%rdx), %xmm27, %xmm28
3174
3175 // CHECK: vpackusdw 2048(%rdx), %xmm27, %xmm28
3176 // CHECK:  encoding: [0x62,0x62,0x25,0x00,0x2b,0xa2,0x00,0x08,0x00,0x00]
3177           vpackusdw 2048(%rdx), %xmm27, %xmm28
3178
3179 // CHECK: vpackusdw -2048(%rdx), %xmm27, %xmm28
3180 // CHECK:  encoding: [0x62,0x62,0x25,0x00,0x2b,0x62,0x80]
3181           vpackusdw -2048(%rdx), %xmm27, %xmm28
3182
3183 // CHECK: vpackusdw -2064(%rdx), %xmm27, %xmm28
3184 // CHECK:  encoding: [0x62,0x62,0x25,0x00,0x2b,0xa2,0xf0,0xf7,0xff,0xff]
3185           vpackusdw -2064(%rdx), %xmm27, %xmm28
3186
3187 // CHECK: vpackusdw 508(%rdx){1to4}, %xmm27, %xmm28
3188 // CHECK:  encoding: [0x62,0x62,0x25,0x10,0x2b,0x62,0x7f]
3189           vpackusdw 508(%rdx){1to4}, %xmm27, %xmm28
3190
3191 // CHECK: vpackusdw 512(%rdx){1to4}, %xmm27, %xmm28
3192 // CHECK:  encoding: [0x62,0x62,0x25,0x10,0x2b,0xa2,0x00,0x02,0x00,0x00]
3193           vpackusdw 512(%rdx){1to4}, %xmm27, %xmm28
3194
3195 // CHECK: vpackusdw -512(%rdx){1to4}, %xmm27, %xmm28
3196 // CHECK:  encoding: [0x62,0x62,0x25,0x10,0x2b,0x62,0x80]
3197           vpackusdw -512(%rdx){1to4}, %xmm27, %xmm28
3198
3199 // CHECK: vpackusdw -516(%rdx){1to4}, %xmm27, %xmm28
3200 // CHECK:  encoding: [0x62,0x62,0x25,0x10,0x2b,0xa2,0xfc,0xfd,0xff,0xff]
3201           vpackusdw -516(%rdx){1to4}, %xmm27, %xmm28
3202
3203 // CHECK: vpackusdw %ymm17, %ymm26, %ymm23
3204 // CHECK:  encoding: [0x62,0xa2,0x2d,0x20,0x2b,0xf9]
3205           vpackusdw %ymm17, %ymm26, %ymm23
3206
3207 // CHECK: vpackusdw %ymm17, %ymm26, %ymm23 {%k4}
3208 // CHECK:  encoding: [0x62,0xa2,0x2d,0x24,0x2b,0xf9]
3209           vpackusdw %ymm17, %ymm26, %ymm23 {%k4}
3210
3211 // CHECK: vpackusdw %ymm17, %ymm26, %ymm23 {%k4} {z}
3212 // CHECK:  encoding: [0x62,0xa2,0x2d,0xa4,0x2b,0xf9]
3213           vpackusdw %ymm17, %ymm26, %ymm23 {%k4} {z}
3214
3215 // CHECK: vpackusdw (%rcx), %ymm26, %ymm23
3216 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x39]
3217           vpackusdw (%rcx), %ymm26, %ymm23
3218
3219 // CHECK: vpackusdw 4660(%rax,%r14,8), %ymm26, %ymm23
3220 // CHECK:  encoding: [0x62,0xa2,0x2d,0x20,0x2b,0xbc,0xf0,0x34,0x12,0x00,0x00]
3221           vpackusdw 4660(%rax,%r14,8), %ymm26, %ymm23
3222
3223 // CHECK: vpackusdw (%rcx){1to8}, %ymm26, %ymm23
3224 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x39]
3225           vpackusdw (%rcx){1to8}, %ymm26, %ymm23
3226
3227 // CHECK: vpackusdw 4064(%rdx), %ymm26, %ymm23
3228 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x7a,0x7f]
3229           vpackusdw 4064(%rdx), %ymm26, %ymm23
3230
3231 // CHECK: vpackusdw 4096(%rdx), %ymm26, %ymm23
3232 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0xba,0x00,0x10,0x00,0x00]
3233           vpackusdw 4096(%rdx), %ymm26, %ymm23
3234
3235 // CHECK: vpackusdw -4096(%rdx), %ymm26, %ymm23
3236 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0x7a,0x80]
3237           vpackusdw -4096(%rdx), %ymm26, %ymm23
3238
3239 // CHECK: vpackusdw -4128(%rdx), %ymm26, %ymm23
3240 // CHECK:  encoding: [0x62,0xe2,0x2d,0x20,0x2b,0xba,0xe0,0xef,0xff,0xff]
3241           vpackusdw -4128(%rdx), %ymm26, %ymm23
3242
3243 // CHECK: vpackusdw 508(%rdx){1to8}, %ymm26, %ymm23
3244 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x7a,0x7f]
3245           vpackusdw 508(%rdx){1to8}, %ymm26, %ymm23
3246
3247 // CHECK: vpackusdw 512(%rdx){1to8}, %ymm26, %ymm23
3248 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0xba,0x00,0x02,0x00,0x00]
3249           vpackusdw 512(%rdx){1to8}, %ymm26, %ymm23
3250
3251 // CHECK: vpackusdw -512(%rdx){1to8}, %ymm26, %ymm23
3252 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0x7a,0x80]
3253           vpackusdw -512(%rdx){1to8}, %ymm26, %ymm23
3254
3255 // CHECK: vpackusdw -516(%rdx){1to8}, %ymm26, %ymm23
3256 // CHECK:  encoding: [0x62,0xe2,0x2d,0x30,0x2b,0xba,0xfc,0xfd,0xff,0xff]
3257           vpackusdw -516(%rdx){1to8}, %ymm26, %ymm23
3258
3259 // CHECK: vpackuswb %xmm23, %xmm20, %xmm20
3260 // CHECK:  encoding: [0x62,0xa1,0xdd,0x00,0x67,0xe7]
3261           vpackuswb %xmm23, %xmm20, %xmm20
3262
3263 // CHECK: vpackuswb %xmm23, %xmm20, %xmm20 {%k2}
3264 // CHECK:  encoding: [0x62,0xa1,0xdd,0x02,0x67,0xe7]
3265           vpackuswb %xmm23, %xmm20, %xmm20 {%k2}
3266
3267 // CHECK: vpackuswb %xmm23, %xmm20, %xmm20 {%k2} {z}
3268 // CHECK:  encoding: [0x62,0xa1,0xdd,0x82,0x67,0xe7]
3269           vpackuswb %xmm23, %xmm20, %xmm20 {%k2} {z}
3270
3271 // CHECK: vpackuswb (%rcx), %xmm20, %xmm20
3272 // CHECK:  encoding: [0x62,0xe1,0xdd,0x00,0x67,0x21]
3273           vpackuswb (%rcx), %xmm20, %xmm20
3274
3275 // CHECK: vpackuswb 4660(%rax,%r14,8), %xmm20, %xmm20
3276 // CHECK:  encoding: [0x62,0xa1,0xdd,0x00,0x67,0xa4,0xf0,0x34,0x12,0x00,0x00]
3277           vpackuswb 4660(%rax,%r14,8), %xmm20, %xmm20
3278
3279 // CHECK: vpackuswb 2032(%rdx), %xmm20, %xmm20
3280 // CHECK:  encoding: [0x62,0xe1,0xdd,0x00,0x67,0x62,0x7f]
3281           vpackuswb 2032(%rdx), %xmm20, %xmm20
3282
3283 // CHECK: vpackuswb 2048(%rdx), %xmm20, %xmm20
3284 // CHECK:  encoding: [0x62,0xe1,0xdd,0x00,0x67,0xa2,0x00,0x08,0x00,0x00]
3285           vpackuswb 2048(%rdx), %xmm20, %xmm20
3286
3287 // CHECK: vpackuswb -2048(%rdx), %xmm20, %xmm20
3288 // CHECK:  encoding: [0x62,0xe1,0xdd,0x00,0x67,0x62,0x80]
3289           vpackuswb -2048(%rdx), %xmm20, %xmm20
3290
3291 // CHECK: vpackuswb -2064(%rdx), %xmm20, %xmm20
3292 // CHECK:  encoding: [0x62,0xe1,0xdd,0x00,0x67,0xa2,0xf0,0xf7,0xff,0xff]
3293           vpackuswb -2064(%rdx), %xmm20, %xmm20
3294
3295 // CHECK: vpackuswb %ymm27, %ymm19, %ymm20
3296 // CHECK:  encoding: [0x62,0x81,0xe5,0x20,0x67,0xe3]
3297           vpackuswb %ymm27, %ymm19, %ymm20
3298
3299 // CHECK: vpackuswb %ymm27, %ymm19, %ymm20 {%k5}
3300 // CHECK:  encoding: [0x62,0x81,0xe5,0x25,0x67,0xe3]
3301           vpackuswb %ymm27, %ymm19, %ymm20 {%k5}
3302
3303 // CHECK: vpackuswb %ymm27, %ymm19, %ymm20 {%k5} {z}
3304 // CHECK:  encoding: [0x62,0x81,0xe5,0xa5,0x67,0xe3]
3305           vpackuswb %ymm27, %ymm19, %ymm20 {%k5} {z}
3306
3307 // CHECK: vpackuswb (%rcx), %ymm19, %ymm20
3308 // CHECK:  encoding: [0x62,0xe1,0xe5,0x20,0x67,0x21]
3309           vpackuswb (%rcx), %ymm19, %ymm20
3310
3311 // CHECK: vpackuswb 4660(%rax,%r14,8), %ymm19, %ymm20
3312 // CHECK:  encoding: [0x62,0xa1,0xe5,0x20,0x67,0xa4,0xf0,0x34,0x12,0x00,0x00]
3313           vpackuswb 4660(%rax,%r14,8), %ymm19, %ymm20
3314
3315 // CHECK: vpackuswb 4064(%rdx), %ymm19, %ymm20
3316 // CHECK:  encoding: [0x62,0xe1,0xe5,0x20,0x67,0x62,0x7f]
3317           vpackuswb 4064(%rdx), %ymm19, %ymm20
3318
3319 // CHECK: vpackuswb 4096(%rdx), %ymm19, %ymm20
3320 // CHECK:  encoding: [0x62,0xe1,0xe5,0x20,0x67,0xa2,0x00,0x10,0x00,0x00]
3321           vpackuswb 4096(%rdx), %ymm19, %ymm20
3322
3323 // CHECK: vpackuswb -4096(%rdx), %ymm19, %ymm20
3324 // CHECK:  encoding: [0x62,0xe1,0xe5,0x20,0x67,0x62,0x80]
3325           vpackuswb -4096(%rdx), %ymm19, %ymm20
3326
3327 // CHECK: vpackuswb -4128(%rdx), %ymm19, %ymm20
3328 // CHECK:  encoding: [0x62,0xe1,0xe5,0x20,0x67,0xa2,0xe0,0xef,0xff,0xff]
3329           vpackuswb -4128(%rdx), %ymm19, %ymm20
3330
3331 // CHECK: vpaddsb %xmm27, %xmm19, %xmm19
3332 // CHECK:  encoding: [0x62,0x81,0x65,0x00,0xec,0xdb]
3333           vpaddsb %xmm27, %xmm19, %xmm19
3334
3335 // CHECK: vpaddsb %xmm27, %xmm19, %xmm19 {%k2}
3336 // CHECK:  encoding: [0x62,0x81,0x65,0x02,0xec,0xdb]
3337           vpaddsb %xmm27, %xmm19, %xmm19 {%k2}
3338
3339 // CHECK: vpaddsb %xmm27, %xmm19, %xmm19 {%k2} {z}
3340 // CHECK:  encoding: [0x62,0x81,0x65,0x82,0xec,0xdb]
3341           vpaddsb %xmm27, %xmm19, %xmm19 {%k2} {z}
3342
3343 // CHECK: vpaddsb (%rcx), %xmm19, %xmm19
3344 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xec,0x19]
3345           vpaddsb (%rcx), %xmm19, %xmm19
3346
3347 // CHECK: vpaddsb 291(%rax,%r14,8), %xmm19, %xmm19
3348 // CHECK:  encoding: [0x62,0xa1,0x65,0x00,0xec,0x9c,0xf0,0x23,0x01,0x00,0x00]
3349           vpaddsb 291(%rax,%r14,8), %xmm19, %xmm19
3350
3351 // CHECK: vpaddsb 2032(%rdx), %xmm19, %xmm19
3352 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xec,0x5a,0x7f]
3353           vpaddsb 2032(%rdx), %xmm19, %xmm19
3354
3355 // CHECK: vpaddsb 2048(%rdx), %xmm19, %xmm19
3356 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xec,0x9a,0x00,0x08,0x00,0x00]
3357           vpaddsb 2048(%rdx), %xmm19, %xmm19
3358
3359 // CHECK: vpaddsb -2048(%rdx), %xmm19, %xmm19
3360 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xec,0x5a,0x80]
3361           vpaddsb -2048(%rdx), %xmm19, %xmm19
3362
3363 // CHECK: vpaddsb -2064(%rdx), %xmm19, %xmm19
3364 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xec,0x9a,0xf0,0xf7,0xff,0xff]
3365           vpaddsb -2064(%rdx), %xmm19, %xmm19
3366
3367 // CHECK: vpaddsb %ymm27, %ymm21, %ymm19
3368 // CHECK:  encoding: [0x62,0x81,0x55,0x20,0xec,0xdb]
3369           vpaddsb %ymm27, %ymm21, %ymm19
3370
3371 // CHECK: vpaddsb %ymm27, %ymm21, %ymm19 {%k4}
3372 // CHECK:  encoding: [0x62,0x81,0x55,0x24,0xec,0xdb]
3373           vpaddsb %ymm27, %ymm21, %ymm19 {%k4}
3374
3375 // CHECK: vpaddsb %ymm27, %ymm21, %ymm19 {%k4} {z}
3376 // CHECK:  encoding: [0x62,0x81,0x55,0xa4,0xec,0xdb]
3377           vpaddsb %ymm27, %ymm21, %ymm19 {%k4} {z}
3378
3379 // CHECK: vpaddsb (%rcx), %ymm21, %ymm19
3380 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xec,0x19]
3381           vpaddsb (%rcx), %ymm21, %ymm19
3382
3383 // CHECK: vpaddsb 291(%rax,%r14,8), %ymm21, %ymm19
3384 // CHECK:  encoding: [0x62,0xa1,0x55,0x20,0xec,0x9c,0xf0,0x23,0x01,0x00,0x00]
3385           vpaddsb 291(%rax,%r14,8), %ymm21, %ymm19
3386
3387 // CHECK: vpaddsb 4064(%rdx), %ymm21, %ymm19
3388 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xec,0x5a,0x7f]
3389           vpaddsb 4064(%rdx), %ymm21, %ymm19
3390
3391 // CHECK: vpaddsb 4096(%rdx), %ymm21, %ymm19
3392 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xec,0x9a,0x00,0x10,0x00,0x00]
3393           vpaddsb 4096(%rdx), %ymm21, %ymm19
3394
3395 // CHECK: vpaddsb -4096(%rdx), %ymm21, %ymm19
3396 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xec,0x5a,0x80]
3397           vpaddsb -4096(%rdx), %ymm21, %ymm19
3398
3399 // CHECK: vpaddsb -4128(%rdx), %ymm21, %ymm19
3400 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xec,0x9a,0xe0,0xef,0xff,0xff]
3401           vpaddsb -4128(%rdx), %ymm21, %ymm19
3402
3403 // CHECK: vpaddsw %xmm21, %xmm27, %xmm29
3404 // CHECK:  encoding: [0x62,0x21,0x25,0x00,0xed,0xed]
3405           vpaddsw %xmm21, %xmm27, %xmm29
3406
3407 // CHECK: vpaddsw %xmm21, %xmm27, %xmm29 {%k1}
3408 // CHECK:  encoding: [0x62,0x21,0x25,0x01,0xed,0xed]
3409           vpaddsw %xmm21, %xmm27, %xmm29 {%k1}
3410
3411 // CHECK: vpaddsw %xmm21, %xmm27, %xmm29 {%k1} {z}
3412 // CHECK:  encoding: [0x62,0x21,0x25,0x81,0xed,0xed]
3413           vpaddsw %xmm21, %xmm27, %xmm29 {%k1} {z}
3414
3415 // CHECK: vpaddsw (%rcx), %xmm27, %xmm29
3416 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xed,0x29]
3417           vpaddsw (%rcx), %xmm27, %xmm29
3418
3419 // CHECK: vpaddsw 291(%rax,%r14,8), %xmm27, %xmm29
3420 // CHECK:  encoding: [0x62,0x21,0x25,0x00,0xed,0xac,0xf0,0x23,0x01,0x00,0x00]
3421           vpaddsw 291(%rax,%r14,8), %xmm27, %xmm29
3422
3423 // CHECK: vpaddsw 2032(%rdx), %xmm27, %xmm29
3424 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xed,0x6a,0x7f]
3425           vpaddsw 2032(%rdx), %xmm27, %xmm29
3426
3427 // CHECK: vpaddsw 2048(%rdx), %xmm27, %xmm29
3428 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xed,0xaa,0x00,0x08,0x00,0x00]
3429           vpaddsw 2048(%rdx), %xmm27, %xmm29
3430
3431 // CHECK: vpaddsw -2048(%rdx), %xmm27, %xmm29
3432 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xed,0x6a,0x80]
3433           vpaddsw -2048(%rdx), %xmm27, %xmm29
3434
3435 // CHECK: vpaddsw -2064(%rdx), %xmm27, %xmm29
3436 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xed,0xaa,0xf0,0xf7,0xff,0xff]
3437           vpaddsw -2064(%rdx), %xmm27, %xmm29
3438
3439 // CHECK: vpaddsw %ymm26, %ymm17, %ymm22
3440 // CHECK:  encoding: [0x62,0x81,0x75,0x20,0xed,0xf2]
3441           vpaddsw %ymm26, %ymm17, %ymm22
3442
3443 // CHECK: vpaddsw %ymm26, %ymm17, %ymm22 {%k3}
3444 // CHECK:  encoding: [0x62,0x81,0x75,0x23,0xed,0xf2]
3445           vpaddsw %ymm26, %ymm17, %ymm22 {%k3}
3446
3447 // CHECK: vpaddsw %ymm26, %ymm17, %ymm22 {%k3} {z}
3448 // CHECK:  encoding: [0x62,0x81,0x75,0xa3,0xed,0xf2]
3449           vpaddsw %ymm26, %ymm17, %ymm22 {%k3} {z}
3450
3451 // CHECK: vpaddsw (%rcx), %ymm17, %ymm22
3452 // CHECK:  encoding: [0x62,0xe1,0x75,0x20,0xed,0x31]
3453           vpaddsw (%rcx), %ymm17, %ymm22
3454
3455 // CHECK: vpaddsw 291(%rax,%r14,8), %ymm17, %ymm22
3456 // CHECK:  encoding: [0x62,0xa1,0x75,0x20,0xed,0xb4,0xf0,0x23,0x01,0x00,0x00]
3457           vpaddsw 291(%rax,%r14,8), %ymm17, %ymm22
3458
3459 // CHECK: vpaddsw 4064(%rdx), %ymm17, %ymm22
3460 // CHECK:  encoding: [0x62,0xe1,0x75,0x20,0xed,0x72,0x7f]
3461           vpaddsw 4064(%rdx), %ymm17, %ymm22
3462
3463 // CHECK: vpaddsw 4096(%rdx), %ymm17, %ymm22
3464 // CHECK:  encoding: [0x62,0xe1,0x75,0x20,0xed,0xb2,0x00,0x10,0x00,0x00]
3465           vpaddsw 4096(%rdx), %ymm17, %ymm22
3466
3467 // CHECK: vpaddsw -4096(%rdx), %ymm17, %ymm22
3468 // CHECK:  encoding: [0x62,0xe1,0x75,0x20,0xed,0x72,0x80]
3469           vpaddsw -4096(%rdx), %ymm17, %ymm22
3470
3471 // CHECK: vpaddsw -4128(%rdx), %ymm17, %ymm22
3472 // CHECK:  encoding: [0x62,0xe1,0x75,0x20,0xed,0xb2,0xe0,0xef,0xff,0xff]
3473           vpaddsw -4128(%rdx), %ymm17, %ymm22
3474
3475 // CHECK: vpaddusb %xmm26, %xmm28, %xmm21
3476 // CHECK:  encoding: [0x62,0x81,0x1d,0x00,0xdc,0xea]
3477           vpaddusb %xmm26, %xmm28, %xmm21
3478
3479 // CHECK: vpaddusb %xmm26, %xmm28, %xmm21 {%k5}
3480 // CHECK:  encoding: [0x62,0x81,0x1d,0x05,0xdc,0xea]
3481           vpaddusb %xmm26, %xmm28, %xmm21 {%k5}
3482
3483 // CHECK: vpaddusb %xmm26, %xmm28, %xmm21 {%k5} {z}
3484 // CHECK:  encoding: [0x62,0x81,0x1d,0x85,0xdc,0xea]
3485           vpaddusb %xmm26, %xmm28, %xmm21 {%k5} {z}
3486
3487 // CHECK: vpaddusb (%rcx), %xmm28, %xmm21
3488 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xdc,0x29]
3489           vpaddusb (%rcx), %xmm28, %xmm21
3490
3491 // CHECK: vpaddusb 291(%rax,%r14,8), %xmm28, %xmm21
3492 // CHECK:  encoding: [0x62,0xa1,0x1d,0x00,0xdc,0xac,0xf0,0x23,0x01,0x00,0x00]
3493           vpaddusb 291(%rax,%r14,8), %xmm28, %xmm21
3494
3495 // CHECK: vpaddusb 2032(%rdx), %xmm28, %xmm21
3496 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xdc,0x6a,0x7f]
3497           vpaddusb 2032(%rdx), %xmm28, %xmm21
3498
3499 // CHECK: vpaddusb 2048(%rdx), %xmm28, %xmm21
3500 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xdc,0xaa,0x00,0x08,0x00,0x00]
3501           vpaddusb 2048(%rdx), %xmm28, %xmm21
3502
3503 // CHECK: vpaddusb -2048(%rdx), %xmm28, %xmm21
3504 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xdc,0x6a,0x80]
3505           vpaddusb -2048(%rdx), %xmm28, %xmm21
3506
3507 // CHECK: vpaddusb -2064(%rdx), %xmm28, %xmm21
3508 // CHECK:  encoding: [0x62,0xe1,0x1d,0x00,0xdc,0xaa,0xf0,0xf7,0xff,0xff]
3509           vpaddusb -2064(%rdx), %xmm28, %xmm21
3510
3511 // CHECK: vpaddusb %ymm17, %ymm23, %ymm20
3512 // CHECK:  encoding: [0x62,0xa1,0x45,0x20,0xdc,0xe1]
3513           vpaddusb %ymm17, %ymm23, %ymm20
3514
3515 // CHECK: vpaddusb %ymm17, %ymm23, %ymm20 {%k1}
3516 // CHECK:  encoding: [0x62,0xa1,0x45,0x21,0xdc,0xe1]
3517           vpaddusb %ymm17, %ymm23, %ymm20 {%k1}
3518
3519 // CHECK: vpaddusb %ymm17, %ymm23, %ymm20 {%k1} {z}
3520 // CHECK:  encoding: [0x62,0xa1,0x45,0xa1,0xdc,0xe1]
3521           vpaddusb %ymm17, %ymm23, %ymm20 {%k1} {z}
3522
3523 // CHECK: vpaddusb (%rcx), %ymm23, %ymm20
3524 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xdc,0x21]
3525           vpaddusb (%rcx), %ymm23, %ymm20
3526
3527 // CHECK: vpaddusb 291(%rax,%r14,8), %ymm23, %ymm20
3528 // CHECK:  encoding: [0x62,0xa1,0x45,0x20,0xdc,0xa4,0xf0,0x23,0x01,0x00,0x00]
3529           vpaddusb 291(%rax,%r14,8), %ymm23, %ymm20
3530
3531 // CHECK: vpaddusb 4064(%rdx), %ymm23, %ymm20
3532 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xdc,0x62,0x7f]
3533           vpaddusb 4064(%rdx), %ymm23, %ymm20
3534
3535 // CHECK: vpaddusb 4096(%rdx), %ymm23, %ymm20
3536 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xdc,0xa2,0x00,0x10,0x00,0x00]
3537           vpaddusb 4096(%rdx), %ymm23, %ymm20
3538
3539 // CHECK: vpaddusb -4096(%rdx), %ymm23, %ymm20
3540 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xdc,0x62,0x80]
3541           vpaddusb -4096(%rdx), %ymm23, %ymm20
3542
3543 // CHECK: vpaddusb -4128(%rdx), %ymm23, %ymm20
3544 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xdc,0xa2,0xe0,0xef,0xff,0xff]
3545           vpaddusb -4128(%rdx), %ymm23, %ymm20
3546
3547 // CHECK: vpaddusw %xmm24, %xmm27, %xmm23
3548 // CHECK:  encoding: [0x62,0x81,0x25,0x00,0xdd,0xf8]
3549           vpaddusw %xmm24, %xmm27, %xmm23
3550
3551 // CHECK: vpaddusw %xmm24, %xmm27, %xmm23 {%k2}
3552 // CHECK:  encoding: [0x62,0x81,0x25,0x02,0xdd,0xf8]
3553           vpaddusw %xmm24, %xmm27, %xmm23 {%k2}
3554
3555 // CHECK: vpaddusw %xmm24, %xmm27, %xmm23 {%k2} {z}
3556 // CHECK:  encoding: [0x62,0x81,0x25,0x82,0xdd,0xf8]
3557           vpaddusw %xmm24, %xmm27, %xmm23 {%k2} {z}
3558
3559 // CHECK: vpaddusw (%rcx), %xmm27, %xmm23
3560 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xdd,0x39]
3561           vpaddusw (%rcx), %xmm27, %xmm23
3562
3563 // CHECK: vpaddusw 291(%rax,%r14,8), %xmm27, %xmm23
3564 // CHECK:  encoding: [0x62,0xa1,0x25,0x00,0xdd,0xbc,0xf0,0x23,0x01,0x00,0x00]
3565           vpaddusw 291(%rax,%r14,8), %xmm27, %xmm23
3566
3567 // CHECK: vpaddusw 2032(%rdx), %xmm27, %xmm23
3568 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xdd,0x7a,0x7f]
3569           vpaddusw 2032(%rdx), %xmm27, %xmm23
3570
3571 // CHECK: vpaddusw 2048(%rdx), %xmm27, %xmm23
3572 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xdd,0xba,0x00,0x08,0x00,0x00]
3573           vpaddusw 2048(%rdx), %xmm27, %xmm23
3574
3575 // CHECK: vpaddusw -2048(%rdx), %xmm27, %xmm23
3576 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xdd,0x7a,0x80]
3577           vpaddusw -2048(%rdx), %xmm27, %xmm23
3578
3579 // CHECK: vpaddusw -2064(%rdx), %xmm27, %xmm23
3580 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xdd,0xba,0xf0,0xf7,0xff,0xff]
3581           vpaddusw -2064(%rdx), %xmm27, %xmm23
3582
3583 // CHECK: vpaddusw %ymm17, %ymm22, %ymm23
3584 // CHECK:  encoding: [0x62,0xa1,0x4d,0x20,0xdd,0xf9]
3585           vpaddusw %ymm17, %ymm22, %ymm23
3586
3587 // CHECK: vpaddusw %ymm17, %ymm22, %ymm23 {%k1}
3588 // CHECK:  encoding: [0x62,0xa1,0x4d,0x21,0xdd,0xf9]
3589           vpaddusw %ymm17, %ymm22, %ymm23 {%k1}
3590
3591 // CHECK: vpaddusw %ymm17, %ymm22, %ymm23 {%k1} {z}
3592 // CHECK:  encoding: [0x62,0xa1,0x4d,0xa1,0xdd,0xf9]
3593           vpaddusw %ymm17, %ymm22, %ymm23 {%k1} {z}
3594
3595 // CHECK: vpaddusw (%rcx), %ymm22, %ymm23
3596 // CHECK:  encoding: [0x62,0xe1,0x4d,0x20,0xdd,0x39]
3597           vpaddusw (%rcx), %ymm22, %ymm23
3598
3599 // CHECK: vpaddusw 291(%rax,%r14,8), %ymm22, %ymm23
3600 // CHECK:  encoding: [0x62,0xa1,0x4d,0x20,0xdd,0xbc,0xf0,0x23,0x01,0x00,0x00]
3601           vpaddusw 291(%rax,%r14,8), %ymm22, %ymm23
3602
3603 // CHECK: vpaddusw 4064(%rdx), %ymm22, %ymm23
3604 // CHECK:  encoding: [0x62,0xe1,0x4d,0x20,0xdd,0x7a,0x7f]
3605           vpaddusw 4064(%rdx), %ymm22, %ymm23
3606
3607 // CHECK: vpaddusw 4096(%rdx), %ymm22, %ymm23
3608 // CHECK:  encoding: [0x62,0xe1,0x4d,0x20,0xdd,0xba,0x00,0x10,0x00,0x00]
3609           vpaddusw 4096(%rdx), %ymm22, %ymm23
3610
3611 // CHECK: vpaddusw -4096(%rdx), %ymm22, %ymm23
3612 // CHECK:  encoding: [0x62,0xe1,0x4d,0x20,0xdd,0x7a,0x80]
3613           vpaddusw -4096(%rdx), %ymm22, %ymm23
3614
3615 // CHECK: vpaddusw -4128(%rdx), %ymm22, %ymm23
3616 // CHECK:  encoding: [0x62,0xe1,0x4d,0x20,0xdd,0xba,0xe0,0xef,0xff,0xff]
3617           vpaddusw -4128(%rdx), %ymm22, %ymm23
3618
3619 // CHECK: vpsubsb %xmm27, %xmm17, %xmm17
3620 // CHECK:  encoding: [0x62,0x81,0x75,0x00,0xe8,0xcb]
3621           vpsubsb %xmm27, %xmm17, %xmm17
3622
3623 // CHECK: vpsubsb %xmm27, %xmm17, %xmm17 {%k7}
3624 // CHECK:  encoding: [0x62,0x81,0x75,0x07,0xe8,0xcb]
3625           vpsubsb %xmm27, %xmm17, %xmm17 {%k7}
3626
3627 // CHECK: vpsubsb %xmm27, %xmm17, %xmm17 {%k7} {z}
3628 // CHECK:  encoding: [0x62,0x81,0x75,0x87,0xe8,0xcb]
3629           vpsubsb %xmm27, %xmm17, %xmm17 {%k7} {z}
3630
3631 // CHECK: vpsubsb (%rcx), %xmm17, %xmm17
3632 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xe8,0x09]
3633           vpsubsb (%rcx), %xmm17, %xmm17
3634
3635 // CHECK: vpsubsb 291(%rax,%r14,8), %xmm17, %xmm17
3636 // CHECK:  encoding: [0x62,0xa1,0x75,0x00,0xe8,0x8c,0xf0,0x23,0x01,0x00,0x00]
3637           vpsubsb 291(%rax,%r14,8), %xmm17, %xmm17
3638
3639 // CHECK: vpsubsb 2032(%rdx), %xmm17, %xmm17
3640 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xe8,0x4a,0x7f]
3641           vpsubsb 2032(%rdx), %xmm17, %xmm17
3642
3643 // CHECK: vpsubsb 2048(%rdx), %xmm17, %xmm17
3644 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xe8,0x8a,0x00,0x08,0x00,0x00]
3645           vpsubsb 2048(%rdx), %xmm17, %xmm17
3646
3647 // CHECK: vpsubsb -2048(%rdx), %xmm17, %xmm17
3648 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xe8,0x4a,0x80]
3649           vpsubsb -2048(%rdx), %xmm17, %xmm17
3650
3651 // CHECK: vpsubsb -2064(%rdx), %xmm17, %xmm17
3652 // CHECK:  encoding: [0x62,0xe1,0x75,0x00,0xe8,0x8a,0xf0,0xf7,0xff,0xff]
3653           vpsubsb -2064(%rdx), %xmm17, %xmm17
3654
3655 // CHECK: vpsubsb %ymm27, %ymm25, %ymm17
3656 // CHECK:  encoding: [0x62,0x81,0x35,0x20,0xe8,0xcb]
3657           vpsubsb %ymm27, %ymm25, %ymm17
3658
3659 // CHECK: vpsubsb %ymm27, %ymm25, %ymm17 {%k2}
3660 // CHECK:  encoding: [0x62,0x81,0x35,0x22,0xe8,0xcb]
3661           vpsubsb %ymm27, %ymm25, %ymm17 {%k2}
3662
3663 // CHECK: vpsubsb %ymm27, %ymm25, %ymm17 {%k2} {z}
3664 // CHECK:  encoding: [0x62,0x81,0x35,0xa2,0xe8,0xcb]
3665           vpsubsb %ymm27, %ymm25, %ymm17 {%k2} {z}
3666
3667 // CHECK: vpsubsb (%rcx), %ymm25, %ymm17
3668 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe8,0x09]
3669           vpsubsb (%rcx), %ymm25, %ymm17
3670
3671 // CHECK: vpsubsb 291(%rax,%r14,8), %ymm25, %ymm17
3672 // CHECK:  encoding: [0x62,0xa1,0x35,0x20,0xe8,0x8c,0xf0,0x23,0x01,0x00,0x00]
3673           vpsubsb 291(%rax,%r14,8), %ymm25, %ymm17
3674
3675 // CHECK: vpsubsb 4064(%rdx), %ymm25, %ymm17
3676 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe8,0x4a,0x7f]
3677           vpsubsb 4064(%rdx), %ymm25, %ymm17
3678
3679 // CHECK: vpsubsb 4096(%rdx), %ymm25, %ymm17
3680 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe8,0x8a,0x00,0x10,0x00,0x00]
3681           vpsubsb 4096(%rdx), %ymm25, %ymm17
3682
3683 // CHECK: vpsubsb -4096(%rdx), %ymm25, %ymm17
3684 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe8,0x4a,0x80]
3685           vpsubsb -4096(%rdx), %ymm25, %ymm17
3686
3687 // CHECK: vpsubsb -4128(%rdx), %ymm25, %ymm17
3688 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe8,0x8a,0xe0,0xef,0xff,0xff]
3689           vpsubsb -4128(%rdx), %ymm25, %ymm17
3690
3691 // CHECK: vpsubsw %xmm23, %xmm26, %xmm30
3692 // CHECK:  encoding: [0x62,0x21,0x2d,0x00,0xe9,0xf7]
3693           vpsubsw %xmm23, %xmm26, %xmm30
3694
3695 // CHECK: vpsubsw %xmm23, %xmm26, %xmm30 {%k7}
3696 // CHECK:  encoding: [0x62,0x21,0x2d,0x07,0xe9,0xf7]
3697           vpsubsw %xmm23, %xmm26, %xmm30 {%k7}
3698
3699 // CHECK: vpsubsw %xmm23, %xmm26, %xmm30 {%k7} {z}
3700 // CHECK:  encoding: [0x62,0x21,0x2d,0x87,0xe9,0xf7]
3701           vpsubsw %xmm23, %xmm26, %xmm30 {%k7} {z}
3702
3703 // CHECK: vpsubsw (%rcx), %xmm26, %xmm30
3704 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xe9,0x31]
3705           vpsubsw (%rcx), %xmm26, %xmm30
3706
3707 // CHECK: vpsubsw 291(%rax,%r14,8), %xmm26, %xmm30
3708 // CHECK:  encoding: [0x62,0x21,0x2d,0x00,0xe9,0xb4,0xf0,0x23,0x01,0x00,0x00]
3709           vpsubsw 291(%rax,%r14,8), %xmm26, %xmm30
3710
3711 // CHECK: vpsubsw 2032(%rdx), %xmm26, %xmm30
3712 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xe9,0x72,0x7f]
3713           vpsubsw 2032(%rdx), %xmm26, %xmm30
3714
3715 // CHECK: vpsubsw 2048(%rdx), %xmm26, %xmm30
3716 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xe9,0xb2,0x00,0x08,0x00,0x00]
3717           vpsubsw 2048(%rdx), %xmm26, %xmm30
3718
3719 // CHECK: vpsubsw -2048(%rdx), %xmm26, %xmm30
3720 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xe9,0x72,0x80]
3721           vpsubsw -2048(%rdx), %xmm26, %xmm30
3722
3723 // CHECK: vpsubsw -2064(%rdx), %xmm26, %xmm30
3724 // CHECK:  encoding: [0x62,0x61,0x2d,0x00,0xe9,0xb2,0xf0,0xf7,0xff,0xff]
3725           vpsubsw -2064(%rdx), %xmm26, %xmm30
3726
3727 // CHECK: vpsubsw %ymm17, %ymm29, %ymm19
3728 // CHECK:  encoding: [0x62,0xa1,0x15,0x20,0xe9,0xd9]
3729           vpsubsw %ymm17, %ymm29, %ymm19
3730
3731 // CHECK: vpsubsw %ymm17, %ymm29, %ymm19 {%k2}
3732 // CHECK:  encoding: [0x62,0xa1,0x15,0x22,0xe9,0xd9]
3733           vpsubsw %ymm17, %ymm29, %ymm19 {%k2}
3734
3735 // CHECK: vpsubsw %ymm17, %ymm29, %ymm19 {%k2} {z}
3736 // CHECK:  encoding: [0x62,0xa1,0x15,0xa2,0xe9,0xd9]
3737           vpsubsw %ymm17, %ymm29, %ymm19 {%k2} {z}
3738
3739 // CHECK: vpsubsw (%rcx), %ymm29, %ymm19
3740 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x19]
3741           vpsubsw (%rcx), %ymm29, %ymm19
3742
3743 // CHECK: vpsubsw 291(%rax,%r14,8), %ymm29, %ymm19
3744 // CHECK:  encoding: [0x62,0xa1,0x15,0x20,0xe9,0x9c,0xf0,0x23,0x01,0x00,0x00]
3745           vpsubsw 291(%rax,%r14,8), %ymm29, %ymm19
3746
3747 // CHECK: vpsubsw 4064(%rdx), %ymm29, %ymm19
3748 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x5a,0x7f]
3749           vpsubsw 4064(%rdx), %ymm29, %ymm19
3750
3751 // CHECK: vpsubsw 4096(%rdx), %ymm29, %ymm19
3752 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x9a,0x00,0x10,0x00,0x00]
3753           vpsubsw 4096(%rdx), %ymm29, %ymm19
3754
3755 // CHECK: vpsubsw -4096(%rdx), %ymm29, %ymm19
3756 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x5a,0x80]
3757           vpsubsw -4096(%rdx), %ymm29, %ymm19
3758
3759 // CHECK: vpsubsw -4128(%rdx), %ymm29, %ymm19
3760 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x9a,0xe0,0xef,0xff,0xff]
3761           vpsubsw -4128(%rdx), %ymm29, %ymm19
3762
3763 // CHECK: vpsubusb %xmm23, %xmm27, %xmm17
3764 // CHECK:  encoding: [0x62,0xa1,0x25,0x00,0xd8,0xcf]
3765           vpsubusb %xmm23, %xmm27, %xmm17
3766
3767 // CHECK: vpsubusb %xmm23, %xmm27, %xmm17 {%k6}
3768 // CHECK:  encoding: [0x62,0xa1,0x25,0x06,0xd8,0xcf]
3769           vpsubusb %xmm23, %xmm27, %xmm17 {%k6}
3770
3771 // CHECK: vpsubusb %xmm23, %xmm27, %xmm17 {%k6} {z}
3772 // CHECK:  encoding: [0x62,0xa1,0x25,0x86,0xd8,0xcf]
3773           vpsubusb %xmm23, %xmm27, %xmm17 {%k6} {z}
3774
3775 // CHECK: vpsubusb (%rcx), %xmm27, %xmm17
3776 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x09]
3777           vpsubusb (%rcx), %xmm27, %xmm17
3778
3779 // CHECK: vpsubusb 291(%rax,%r14,8), %xmm27, %xmm17
3780 // CHECK:  encoding: [0x62,0xa1,0x25,0x00,0xd8,0x8c,0xf0,0x23,0x01,0x00,0x00]
3781           vpsubusb 291(%rax,%r14,8), %xmm27, %xmm17
3782
3783 // CHECK: vpsubusb 2032(%rdx), %xmm27, %xmm17
3784 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x4a,0x7f]
3785           vpsubusb 2032(%rdx), %xmm27, %xmm17
3786
3787 // CHECK: vpsubusb 2048(%rdx), %xmm27, %xmm17
3788 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x8a,0x00,0x08,0x00,0x00]
3789           vpsubusb 2048(%rdx), %xmm27, %xmm17
3790
3791 // CHECK: vpsubusb -2048(%rdx), %xmm27, %xmm17
3792 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x4a,0x80]
3793           vpsubusb -2048(%rdx), %xmm27, %xmm17
3794
3795 // CHECK: vpsubusb -2064(%rdx), %xmm27, %xmm17
3796 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x8a,0xf0,0xf7,0xff,0xff]
3797           vpsubusb -2064(%rdx), %xmm27, %xmm17
3798
3799 // CHECK: vpsubusb %ymm18, %ymm21, %ymm17
3800 // CHECK:  encoding: [0x62,0xa1,0x55,0x20,0xd8,0xca]
3801           vpsubusb %ymm18, %ymm21, %ymm17
3802
3803 // CHECK: vpsubusb %ymm18, %ymm21, %ymm17 {%k5}
3804 // CHECK:  encoding: [0x62,0xa1,0x55,0x25,0xd8,0xca]
3805           vpsubusb %ymm18, %ymm21, %ymm17 {%k5}
3806
3807 // CHECK: vpsubusb %ymm18, %ymm21, %ymm17 {%k5} {z}
3808 // CHECK:  encoding: [0x62,0xa1,0x55,0xa5,0xd8,0xca]
3809           vpsubusb %ymm18, %ymm21, %ymm17 {%k5} {z}
3810
3811 // CHECK: vpsubusb (%rcx), %ymm21, %ymm17
3812 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xd8,0x09]
3813           vpsubusb (%rcx), %ymm21, %ymm17
3814
3815 // CHECK: vpsubusb 291(%rax,%r14,8), %ymm21, %ymm17
3816 // CHECK:  encoding: [0x62,0xa1,0x55,0x20,0xd8,0x8c,0xf0,0x23,0x01,0x00,0x00]
3817           vpsubusb 291(%rax,%r14,8), %ymm21, %ymm17
3818
3819 // CHECK: vpsubusb 4064(%rdx), %ymm21, %ymm17
3820 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xd8,0x4a,0x7f]
3821           vpsubusb 4064(%rdx), %ymm21, %ymm17
3822
3823 // CHECK: vpsubusb 4096(%rdx), %ymm21, %ymm17
3824 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xd8,0x8a,0x00,0x10,0x00,0x00]
3825           vpsubusb 4096(%rdx), %ymm21, %ymm17
3826
3827 // CHECK: vpsubusb -4096(%rdx), %ymm21, %ymm17
3828 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xd8,0x4a,0x80]
3829           vpsubusb -4096(%rdx), %ymm21, %ymm17
3830
3831 // CHECK: vpsubusb -4128(%rdx), %ymm21, %ymm17
3832 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xd8,0x8a,0xe0,0xef,0xff,0xff]
3833           vpsubusb -4128(%rdx), %ymm21, %ymm17
3834
3835 // CHECK: vpsubusw %xmm19, %xmm21, %xmm25
3836 // CHECK:  encoding: [0x62,0x21,0x55,0x00,0xd9,0xcb]
3837           vpsubusw %xmm19, %xmm21, %xmm25
3838
3839 // CHECK: vpsubusw %xmm19, %xmm21, %xmm25 {%k6}
3840 // CHECK:  encoding: [0x62,0x21,0x55,0x06,0xd9,0xcb]
3841           vpsubusw %xmm19, %xmm21, %xmm25 {%k6}
3842
3843 // CHECK: vpsubusw %xmm19, %xmm21, %xmm25 {%k6} {z}
3844 // CHECK:  encoding: [0x62,0x21,0x55,0x86,0xd9,0xcb]
3845           vpsubusw %xmm19, %xmm21, %xmm25 {%k6} {z}
3846
3847 // CHECK: vpsubusw (%rcx), %xmm21, %xmm25
3848 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xd9,0x09]
3849           vpsubusw (%rcx), %xmm21, %xmm25
3850
3851 // CHECK: vpsubusw 291(%rax,%r14,8), %xmm21, %xmm25
3852 // CHECK:  encoding: [0x62,0x21,0x55,0x00,0xd9,0x8c,0xf0,0x23,0x01,0x00,0x00]
3853           vpsubusw 291(%rax,%r14,8), %xmm21, %xmm25
3854
3855 // CHECK: vpsubusw 2032(%rdx), %xmm21, %xmm25
3856 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xd9,0x4a,0x7f]
3857           vpsubusw 2032(%rdx), %xmm21, %xmm25
3858
3859 // CHECK: vpsubusw 2048(%rdx), %xmm21, %xmm25
3860 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xd9,0x8a,0x00,0x08,0x00,0x00]
3861           vpsubusw 2048(%rdx), %xmm21, %xmm25
3862
3863 // CHECK: vpsubusw -2048(%rdx), %xmm21, %xmm25
3864 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xd9,0x4a,0x80]
3865           vpsubusw -2048(%rdx), %xmm21, %xmm25
3866
3867 // CHECK: vpsubusw -2064(%rdx), %xmm21, %xmm25
3868 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xd9,0x8a,0xf0,0xf7,0xff,0xff]
3869           vpsubusw -2064(%rdx), %xmm21, %xmm25
3870
3871 // CHECK: vpsubusw %ymm17, %ymm17, %ymm26
3872 // CHECK:  encoding: [0x62,0x21,0x75,0x20,0xd9,0xd1]
3873           vpsubusw %ymm17, %ymm17, %ymm26
3874
3875 // CHECK: vpsubusw %ymm17, %ymm17, %ymm26 {%k4}
3876 // CHECK:  encoding: [0x62,0x21,0x75,0x24,0xd9,0xd1]
3877           vpsubusw %ymm17, %ymm17, %ymm26 {%k4}
3878
3879 // CHECK: vpsubusw %ymm17, %ymm17, %ymm26 {%k4} {z}
3880 // CHECK:  encoding: [0x62,0x21,0x75,0xa4,0xd9,0xd1]
3881           vpsubusw %ymm17, %ymm17, %ymm26 {%k4} {z}
3882
3883 // CHECK: vpsubusw (%rcx), %ymm17, %ymm26
3884 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x11]
3885           vpsubusw (%rcx), %ymm17, %ymm26
3886
3887 // CHECK: vpsubusw 291(%rax,%r14,8), %ymm17, %ymm26
3888 // CHECK:  encoding: [0x62,0x21,0x75,0x20,0xd9,0x94,0xf0,0x23,0x01,0x00,0x00]
3889           vpsubusw 291(%rax,%r14,8), %ymm17, %ymm26
3890
3891 // CHECK: vpsubusw 4064(%rdx), %ymm17, %ymm26
3892 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x52,0x7f]
3893           vpsubusw 4064(%rdx), %ymm17, %ymm26
3894
3895 // CHECK: vpsubusw 4096(%rdx), %ymm17, %ymm26
3896 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x92,0x00,0x10,0x00,0x00]
3897           vpsubusw 4096(%rdx), %ymm17, %ymm26
3898
3899 // CHECK: vpsubusw -4096(%rdx), %ymm17, %ymm26
3900 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x52,0x80]
3901           vpsubusw -4096(%rdx), %ymm17, %ymm26
3902
3903 // CHECK: vpsubusw -4128(%rdx), %ymm17, %ymm26
3904 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x92,0xe0,0xef,0xff,0xff]
3905           vpsubusw -4128(%rdx), %ymm17, %ymm26
3906
3907 // CHECK: vpaddsb %xmm23, %xmm24, %xmm20
3908 // CHECK:  encoding: [0x62,0xa1,0x3d,0x00,0xec,0xe7]
3909           vpaddsb %xmm23, %xmm24, %xmm20
3910
3911 // CHECK: vpaddsb %xmm23, %xmm24, %xmm20 {%k1}
3912 // CHECK:  encoding: [0x62,0xa1,0x3d,0x01,0xec,0xe7]
3913           vpaddsb %xmm23, %xmm24, %xmm20 {%k1}
3914
3915 // CHECK: vpaddsb %xmm23, %xmm24, %xmm20 {%k1} {z}
3916 // CHECK:  encoding: [0x62,0xa1,0x3d,0x81,0xec,0xe7]
3917           vpaddsb %xmm23, %xmm24, %xmm20 {%k1} {z}
3918
3919 // CHECK: vpaddsb (%rcx), %xmm24, %xmm20
3920 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xec,0x21]
3921           vpaddsb (%rcx), %xmm24, %xmm20
3922
3923 // CHECK: vpaddsb 4660(%rax,%r14,8), %xmm24, %xmm20
3924 // CHECK:  encoding: [0x62,0xa1,0x3d,0x00,0xec,0xa4,0xf0,0x34,0x12,0x00,0x00]
3925           vpaddsb 4660(%rax,%r14,8), %xmm24, %xmm20
3926
3927 // CHECK: vpaddsb 2032(%rdx), %xmm24, %xmm20
3928 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xec,0x62,0x7f]
3929           vpaddsb 2032(%rdx), %xmm24, %xmm20
3930
3931 // CHECK: vpaddsb 2048(%rdx), %xmm24, %xmm20
3932 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xec,0xa2,0x00,0x08,0x00,0x00]
3933           vpaddsb 2048(%rdx), %xmm24, %xmm20
3934
3935 // CHECK: vpaddsb -2048(%rdx), %xmm24, %xmm20
3936 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xec,0x62,0x80]
3937           vpaddsb -2048(%rdx), %xmm24, %xmm20
3938
3939 // CHECK: vpaddsb -2064(%rdx), %xmm24, %xmm20
3940 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xec,0xa2,0xf0,0xf7,0xff,0xff]
3941           vpaddsb -2064(%rdx), %xmm24, %xmm20
3942
3943 // CHECK: vpaddsb %ymm19, %ymm20, %ymm18
3944 // CHECK:  encoding: [0x62,0xa1,0x5d,0x20,0xec,0xd3]
3945           vpaddsb %ymm19, %ymm20, %ymm18
3946
3947 // CHECK: vpaddsb %ymm19, %ymm20, %ymm18 {%k7}
3948 // CHECK:  encoding: [0x62,0xa1,0x5d,0x27,0xec,0xd3]
3949           vpaddsb %ymm19, %ymm20, %ymm18 {%k7}
3950
3951 // CHECK: vpaddsb %ymm19, %ymm20, %ymm18 {%k7} {z}
3952 // CHECK:  encoding: [0x62,0xa1,0x5d,0xa7,0xec,0xd3]
3953           vpaddsb %ymm19, %ymm20, %ymm18 {%k7} {z}
3954
3955 // CHECK: vpaddsb (%rcx), %ymm20, %ymm18
3956 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xec,0x11]
3957           vpaddsb (%rcx), %ymm20, %ymm18
3958
3959 // CHECK: vpaddsb 4660(%rax,%r14,8), %ymm20, %ymm18
3960 // CHECK:  encoding: [0x62,0xa1,0x5d,0x20,0xec,0x94,0xf0,0x34,0x12,0x00,0x00]
3961           vpaddsb 4660(%rax,%r14,8), %ymm20, %ymm18
3962
3963 // CHECK: vpaddsb 4064(%rdx), %ymm20, %ymm18
3964 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xec,0x52,0x7f]
3965           vpaddsb 4064(%rdx), %ymm20, %ymm18
3966
3967 // CHECK: vpaddsb 4096(%rdx), %ymm20, %ymm18
3968 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xec,0x92,0x00,0x10,0x00,0x00]
3969           vpaddsb 4096(%rdx), %ymm20, %ymm18
3970
3971 // CHECK: vpaddsb -4096(%rdx), %ymm20, %ymm18
3972 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xec,0x52,0x80]
3973           vpaddsb -4096(%rdx), %ymm20, %ymm18
3974
3975 // CHECK: vpaddsb -4128(%rdx), %ymm20, %ymm18
3976 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xec,0x92,0xe0,0xef,0xff,0xff]
3977           vpaddsb -4128(%rdx), %ymm20, %ymm18
3978
3979 // CHECK: vpaddsw %xmm24, %xmm23, %xmm23
3980 // CHECK:  encoding: [0x62,0x81,0x45,0x00,0xed,0xf8]
3981           vpaddsw %xmm24, %xmm23, %xmm23
3982
3983 // CHECK: vpaddsw %xmm24, %xmm23, %xmm23 {%k5}
3984 // CHECK:  encoding: [0x62,0x81,0x45,0x05,0xed,0xf8]
3985           vpaddsw %xmm24, %xmm23, %xmm23 {%k5}
3986
3987 // CHECK: vpaddsw %xmm24, %xmm23, %xmm23 {%k5} {z}
3988 // CHECK:  encoding: [0x62,0x81,0x45,0x85,0xed,0xf8]
3989           vpaddsw %xmm24, %xmm23, %xmm23 {%k5} {z}
3990
3991 // CHECK: vpaddsw (%rcx), %xmm23, %xmm23
3992 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xed,0x39]
3993           vpaddsw (%rcx), %xmm23, %xmm23
3994
3995 // CHECK: vpaddsw 4660(%rax,%r14,8), %xmm23, %xmm23
3996 // CHECK:  encoding: [0x62,0xa1,0x45,0x00,0xed,0xbc,0xf0,0x34,0x12,0x00,0x00]
3997           vpaddsw 4660(%rax,%r14,8), %xmm23, %xmm23
3998
3999 // CHECK: vpaddsw 2032(%rdx), %xmm23, %xmm23
4000 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xed,0x7a,0x7f]
4001           vpaddsw 2032(%rdx), %xmm23, %xmm23
4002
4003 // CHECK: vpaddsw 2048(%rdx), %xmm23, %xmm23
4004 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xed,0xba,0x00,0x08,0x00,0x00]
4005           vpaddsw 2048(%rdx), %xmm23, %xmm23
4006
4007 // CHECK: vpaddsw -2048(%rdx), %xmm23, %xmm23
4008 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xed,0x7a,0x80]
4009           vpaddsw -2048(%rdx), %xmm23, %xmm23
4010
4011 // CHECK: vpaddsw -2064(%rdx), %xmm23, %xmm23
4012 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xed,0xba,0xf0,0xf7,0xff,0xff]
4013           vpaddsw -2064(%rdx), %xmm23, %xmm23
4014
4015 // CHECK: vpaddsw %ymm19, %ymm22, %ymm29
4016 // CHECK:  encoding: [0x62,0x21,0x4d,0x20,0xed,0xeb]
4017           vpaddsw %ymm19, %ymm22, %ymm29
4018
4019 // CHECK: vpaddsw %ymm19, %ymm22, %ymm29 {%k6}
4020 // CHECK:  encoding: [0x62,0x21,0x4d,0x26,0xed,0xeb]
4021           vpaddsw %ymm19, %ymm22, %ymm29 {%k6}
4022
4023 // CHECK: vpaddsw %ymm19, %ymm22, %ymm29 {%k6} {z}
4024 // CHECK:  encoding: [0x62,0x21,0x4d,0xa6,0xed,0xeb]
4025           vpaddsw %ymm19, %ymm22, %ymm29 {%k6} {z}
4026
4027 // CHECK: vpaddsw (%rcx), %ymm22, %ymm29
4028 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0xed,0x29]
4029           vpaddsw (%rcx), %ymm22, %ymm29
4030
4031 // CHECK: vpaddsw 4660(%rax,%r14,8), %ymm22, %ymm29
4032 // CHECK:  encoding: [0x62,0x21,0x4d,0x20,0xed,0xac,0xf0,0x34,0x12,0x00,0x00]
4033           vpaddsw 4660(%rax,%r14,8), %ymm22, %ymm29
4034
4035 // CHECK: vpaddsw 4064(%rdx), %ymm22, %ymm29
4036 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0xed,0x6a,0x7f]
4037           vpaddsw 4064(%rdx), %ymm22, %ymm29
4038
4039 // CHECK: vpaddsw 4096(%rdx), %ymm22, %ymm29
4040 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0xed,0xaa,0x00,0x10,0x00,0x00]
4041           vpaddsw 4096(%rdx), %ymm22, %ymm29
4042
4043 // CHECK: vpaddsw -4096(%rdx), %ymm22, %ymm29
4044 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0xed,0x6a,0x80]
4045           vpaddsw -4096(%rdx), %ymm22, %ymm29
4046
4047 // CHECK: vpaddsw -4128(%rdx), %ymm22, %ymm29
4048 // CHECK:  encoding: [0x62,0x61,0x4d,0x20,0xed,0xaa,0xe0,0xef,0xff,0xff]
4049           vpaddsw -4128(%rdx), %ymm22, %ymm29
4050
4051 // CHECK: vpaddusb %xmm26, %xmm18, %xmm20
4052 // CHECK:  encoding: [0x62,0x81,0x6d,0x00,0xdc,0xe2]
4053           vpaddusb %xmm26, %xmm18, %xmm20
4054
4055 // CHECK: vpaddusb %xmm26, %xmm18, %xmm20 {%k6}
4056 // CHECK:  encoding: [0x62,0x81,0x6d,0x06,0xdc,0xe2]
4057           vpaddusb %xmm26, %xmm18, %xmm20 {%k6}
4058
4059 // CHECK: vpaddusb %xmm26, %xmm18, %xmm20 {%k6} {z}
4060 // CHECK:  encoding: [0x62,0x81,0x6d,0x86,0xdc,0xe2]
4061           vpaddusb %xmm26, %xmm18, %xmm20 {%k6} {z}
4062
4063 // CHECK: vpaddusb (%rcx), %xmm18, %xmm20
4064 // CHECK:  encoding: [0x62,0xe1,0x6d,0x00,0xdc,0x21]
4065           vpaddusb (%rcx), %xmm18, %xmm20
4066
4067 // CHECK: vpaddusb 4660(%rax,%r14,8), %xmm18, %xmm20
4068 // CHECK:  encoding: [0x62,0xa1,0x6d,0x00,0xdc,0xa4,0xf0,0x34,0x12,0x00,0x00]
4069           vpaddusb 4660(%rax,%r14,8), %xmm18, %xmm20
4070
4071 // CHECK: vpaddusb 2032(%rdx), %xmm18, %xmm20
4072 // CHECK:  encoding: [0x62,0xe1,0x6d,0x00,0xdc,0x62,0x7f]
4073           vpaddusb 2032(%rdx), %xmm18, %xmm20
4074
4075 // CHECK: vpaddusb 2048(%rdx), %xmm18, %xmm20
4076 // CHECK:  encoding: [0x62,0xe1,0x6d,0x00,0xdc,0xa2,0x00,0x08,0x00,0x00]
4077           vpaddusb 2048(%rdx), %xmm18, %xmm20
4078
4079 // CHECK: vpaddusb -2048(%rdx), %xmm18, %xmm20
4080 // CHECK:  encoding: [0x62,0xe1,0x6d,0x00,0xdc,0x62,0x80]
4081           vpaddusb -2048(%rdx), %xmm18, %xmm20
4082
4083 // CHECK: vpaddusb -2064(%rdx), %xmm18, %xmm20
4084 // CHECK:  encoding: [0x62,0xe1,0x6d,0x00,0xdc,0xa2,0xf0,0xf7,0xff,0xff]
4085           vpaddusb -2064(%rdx), %xmm18, %xmm20
4086
4087 // CHECK: vpaddusb %ymm24, %ymm26, %ymm25
4088 // CHECK:  encoding: [0x62,0x01,0x2d,0x20,0xdc,0xc8]
4089           vpaddusb %ymm24, %ymm26, %ymm25
4090
4091 // CHECK: vpaddusb %ymm24, %ymm26, %ymm25 {%k3}
4092 // CHECK:  encoding: [0x62,0x01,0x2d,0x23,0xdc,0xc8]
4093           vpaddusb %ymm24, %ymm26, %ymm25 {%k3}
4094
4095 // CHECK: vpaddusb %ymm24, %ymm26, %ymm25 {%k3} {z}
4096 // CHECK:  encoding: [0x62,0x01,0x2d,0xa3,0xdc,0xc8]
4097           vpaddusb %ymm24, %ymm26, %ymm25 {%k3} {z}
4098
4099 // CHECK: vpaddusb (%rcx), %ymm26, %ymm25
4100 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdc,0x09]
4101           vpaddusb (%rcx), %ymm26, %ymm25
4102
4103 // CHECK: vpaddusb 4660(%rax,%r14,8), %ymm26, %ymm25
4104 // CHECK:  encoding: [0x62,0x21,0x2d,0x20,0xdc,0x8c,0xf0,0x34,0x12,0x00,0x00]
4105           vpaddusb 4660(%rax,%r14,8), %ymm26, %ymm25
4106
4107 // CHECK: vpaddusb 4064(%rdx), %ymm26, %ymm25
4108 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdc,0x4a,0x7f]
4109           vpaddusb 4064(%rdx), %ymm26, %ymm25
4110
4111 // CHECK: vpaddusb 4096(%rdx), %ymm26, %ymm25
4112 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdc,0x8a,0x00,0x10,0x00,0x00]
4113           vpaddusb 4096(%rdx), %ymm26, %ymm25
4114
4115 // CHECK: vpaddusb -4096(%rdx), %ymm26, %ymm25
4116 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdc,0x4a,0x80]
4117           vpaddusb -4096(%rdx), %ymm26, %ymm25
4118
4119 // CHECK: vpaddusb -4128(%rdx), %ymm26, %ymm25
4120 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdc,0x8a,0xe0,0xef,0xff,0xff]
4121           vpaddusb -4128(%rdx), %ymm26, %ymm25
4122
4123 // CHECK: vpaddusw %xmm24, %xmm29, %xmm28
4124 // CHECK:  encoding: [0x62,0x01,0x15,0x00,0xdd,0xe0]
4125           vpaddusw %xmm24, %xmm29, %xmm28
4126
4127 // CHECK: vpaddusw %xmm24, %xmm29, %xmm28 {%k4}
4128 // CHECK:  encoding: [0x62,0x01,0x15,0x04,0xdd,0xe0]
4129           vpaddusw %xmm24, %xmm29, %xmm28 {%k4}
4130
4131 // CHECK: vpaddusw %xmm24, %xmm29, %xmm28 {%k4} {z}
4132 // CHECK:  encoding: [0x62,0x01,0x15,0x84,0xdd,0xe0]
4133           vpaddusw %xmm24, %xmm29, %xmm28 {%k4} {z}
4134
4135 // CHECK: vpaddusw (%rcx), %xmm29, %xmm28
4136 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xdd,0x21]
4137           vpaddusw (%rcx), %xmm29, %xmm28
4138
4139 // CHECK: vpaddusw 4660(%rax,%r14,8), %xmm29, %xmm28
4140 // CHECK:  encoding: [0x62,0x21,0x15,0x00,0xdd,0xa4,0xf0,0x34,0x12,0x00,0x00]
4141           vpaddusw 4660(%rax,%r14,8), %xmm29, %xmm28
4142
4143 // CHECK: vpaddusw 2032(%rdx), %xmm29, %xmm28
4144 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xdd,0x62,0x7f]
4145           vpaddusw 2032(%rdx), %xmm29, %xmm28
4146
4147 // CHECK: vpaddusw 2048(%rdx), %xmm29, %xmm28
4148 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xdd,0xa2,0x00,0x08,0x00,0x00]
4149           vpaddusw 2048(%rdx), %xmm29, %xmm28
4150
4151 // CHECK: vpaddusw -2048(%rdx), %xmm29, %xmm28
4152 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xdd,0x62,0x80]
4153           vpaddusw -2048(%rdx), %xmm29, %xmm28
4154
4155 // CHECK: vpaddusw -2064(%rdx), %xmm29, %xmm28
4156 // CHECK:  encoding: [0x62,0x61,0x15,0x00,0xdd,0xa2,0xf0,0xf7,0xff,0xff]
4157           vpaddusw -2064(%rdx), %xmm29, %xmm28
4158
4159 // CHECK: vpaddusw %ymm22, %ymm26, %ymm27
4160 // CHECK:  encoding: [0x62,0x21,0x2d,0x20,0xdd,0xde]
4161           vpaddusw %ymm22, %ymm26, %ymm27
4162
4163 // CHECK: vpaddusw %ymm22, %ymm26, %ymm27 {%k3}
4164 // CHECK:  encoding: [0x62,0x21,0x2d,0x23,0xdd,0xde]
4165           vpaddusw %ymm22, %ymm26, %ymm27 {%k3}
4166
4167 // CHECK: vpaddusw %ymm22, %ymm26, %ymm27 {%k3} {z}
4168 // CHECK:  encoding: [0x62,0x21,0x2d,0xa3,0xdd,0xde]
4169           vpaddusw %ymm22, %ymm26, %ymm27 {%k3} {z}
4170
4171 // CHECK: vpaddusw (%rcx), %ymm26, %ymm27
4172 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdd,0x19]
4173           vpaddusw (%rcx), %ymm26, %ymm27
4174
4175 // CHECK: vpaddusw 4660(%rax,%r14,8), %ymm26, %ymm27
4176 // CHECK:  encoding: [0x62,0x21,0x2d,0x20,0xdd,0x9c,0xf0,0x34,0x12,0x00,0x00]
4177           vpaddusw 4660(%rax,%r14,8), %ymm26, %ymm27
4178
4179 // CHECK: vpaddusw 4064(%rdx), %ymm26, %ymm27
4180 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdd,0x5a,0x7f]
4181           vpaddusw 4064(%rdx), %ymm26, %ymm27
4182
4183 // CHECK: vpaddusw 4096(%rdx), %ymm26, %ymm27
4184 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdd,0x9a,0x00,0x10,0x00,0x00]
4185           vpaddusw 4096(%rdx), %ymm26, %ymm27
4186
4187 // CHECK: vpaddusw -4096(%rdx), %ymm26, %ymm27
4188 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdd,0x5a,0x80]
4189           vpaddusw -4096(%rdx), %ymm26, %ymm27
4190
4191 // CHECK: vpaddusw -4128(%rdx), %ymm26, %ymm27
4192 // CHECK:  encoding: [0x62,0x61,0x2d,0x20,0xdd,0x9a,0xe0,0xef,0xff,0xff]
4193           vpaddusw -4128(%rdx), %ymm26, %ymm27
4194
4195 // CHECK: vpsubsb %xmm18, %xmm22, %xmm23
4196 // CHECK:  encoding: [0x62,0xa1,0x4d,0x00,0xe8,0xfa]
4197           vpsubsb %xmm18, %xmm22, %xmm23
4198
4199 // CHECK: vpsubsb %xmm18, %xmm22, %xmm23 {%k5}
4200 // CHECK:  encoding: [0x62,0xa1,0x4d,0x05,0xe8,0xfa]
4201           vpsubsb %xmm18, %xmm22, %xmm23 {%k5}
4202
4203 // CHECK: vpsubsb %xmm18, %xmm22, %xmm23 {%k5} {z}
4204 // CHECK:  encoding: [0x62,0xa1,0x4d,0x85,0xe8,0xfa]
4205           vpsubsb %xmm18, %xmm22, %xmm23 {%k5} {z}
4206
4207 // CHECK: vpsubsb (%rcx), %xmm22, %xmm23
4208 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xe8,0x39]
4209           vpsubsb (%rcx), %xmm22, %xmm23
4210
4211 // CHECK: vpsubsb 4660(%rax,%r14,8), %xmm22, %xmm23
4212 // CHECK:  encoding: [0x62,0xa1,0x4d,0x00,0xe8,0xbc,0xf0,0x34,0x12,0x00,0x00]
4213           vpsubsb 4660(%rax,%r14,8), %xmm22, %xmm23
4214
4215 // CHECK: vpsubsb 2032(%rdx), %xmm22, %xmm23
4216 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xe8,0x7a,0x7f]
4217           vpsubsb 2032(%rdx), %xmm22, %xmm23
4218
4219 // CHECK: vpsubsb 2048(%rdx), %xmm22, %xmm23
4220 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xe8,0xba,0x00,0x08,0x00,0x00]
4221           vpsubsb 2048(%rdx), %xmm22, %xmm23
4222
4223 // CHECK: vpsubsb -2048(%rdx), %xmm22, %xmm23
4224 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xe8,0x7a,0x80]
4225           vpsubsb -2048(%rdx), %xmm22, %xmm23
4226
4227 // CHECK: vpsubsb -2064(%rdx), %xmm22, %xmm23
4228 // CHECK:  encoding: [0x62,0xe1,0x4d,0x00,0xe8,0xba,0xf0,0xf7,0xff,0xff]
4229           vpsubsb -2064(%rdx), %xmm22, %xmm23
4230
4231 // CHECK: vpsubsb %ymm24, %ymm21, %ymm28
4232 // CHECK:  encoding: [0x62,0x01,0x55,0x20,0xe8,0xe0]
4233           vpsubsb %ymm24, %ymm21, %ymm28
4234
4235 // CHECK: vpsubsb %ymm24, %ymm21, %ymm28 {%k5}
4236 // CHECK:  encoding: [0x62,0x01,0x55,0x25,0xe8,0xe0]
4237           vpsubsb %ymm24, %ymm21, %ymm28 {%k5}
4238
4239 // CHECK: vpsubsb %ymm24, %ymm21, %ymm28 {%k5} {z}
4240 // CHECK:  encoding: [0x62,0x01,0x55,0xa5,0xe8,0xe0]
4241           vpsubsb %ymm24, %ymm21, %ymm28 {%k5} {z}
4242
4243 // CHECK: vpsubsb (%rcx), %ymm21, %ymm28
4244 // CHECK:  encoding: [0x62,0x61,0x55,0x20,0xe8,0x21]
4245           vpsubsb (%rcx), %ymm21, %ymm28
4246
4247 // CHECK: vpsubsb 4660(%rax,%r14,8), %ymm21, %ymm28
4248 // CHECK:  encoding: [0x62,0x21,0x55,0x20,0xe8,0xa4,0xf0,0x34,0x12,0x00,0x00]
4249           vpsubsb 4660(%rax,%r14,8), %ymm21, %ymm28
4250
4251 // CHECK: vpsubsb 4064(%rdx), %ymm21, %ymm28
4252 // CHECK:  encoding: [0x62,0x61,0x55,0x20,0xe8,0x62,0x7f]
4253           vpsubsb 4064(%rdx), %ymm21, %ymm28
4254
4255 // CHECK: vpsubsb 4096(%rdx), %ymm21, %ymm28
4256 // CHECK:  encoding: [0x62,0x61,0x55,0x20,0xe8,0xa2,0x00,0x10,0x00,0x00]
4257           vpsubsb 4096(%rdx), %ymm21, %ymm28
4258
4259 // CHECK: vpsubsb -4096(%rdx), %ymm21, %ymm28
4260 // CHECK:  encoding: [0x62,0x61,0x55,0x20,0xe8,0x62,0x80]
4261           vpsubsb -4096(%rdx), %ymm21, %ymm28
4262
4263 // CHECK: vpsubsb -4128(%rdx), %ymm21, %ymm28
4264 // CHECK:  encoding: [0x62,0x61,0x55,0x20,0xe8,0xa2,0xe0,0xef,0xff,0xff]
4265           vpsubsb -4128(%rdx), %ymm21, %ymm28
4266
4267 // CHECK: vpsubsw %xmm18, %xmm27, %xmm19
4268 // CHECK:  encoding: [0x62,0xa1,0x25,0x00,0xe9,0xda]
4269           vpsubsw %xmm18, %xmm27, %xmm19
4270
4271 // CHECK: vpsubsw %xmm18, %xmm27, %xmm19 {%k4}
4272 // CHECK:  encoding: [0x62,0xa1,0x25,0x04,0xe9,0xda]
4273           vpsubsw %xmm18, %xmm27, %xmm19 {%k4}
4274
4275 // CHECK: vpsubsw %xmm18, %xmm27, %xmm19 {%k4} {z}
4276 // CHECK:  encoding: [0x62,0xa1,0x25,0x84,0xe9,0xda]
4277           vpsubsw %xmm18, %xmm27, %xmm19 {%k4} {z}
4278
4279 // CHECK: vpsubsw (%rcx), %xmm27, %xmm19
4280 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xe9,0x19]
4281           vpsubsw (%rcx), %xmm27, %xmm19
4282
4283 // CHECK: vpsubsw 4660(%rax,%r14,8), %xmm27, %xmm19
4284 // CHECK:  encoding: [0x62,0xa1,0x25,0x00,0xe9,0x9c,0xf0,0x34,0x12,0x00,0x00]
4285           vpsubsw 4660(%rax,%r14,8), %xmm27, %xmm19
4286
4287 // CHECK: vpsubsw 2032(%rdx), %xmm27, %xmm19
4288 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xe9,0x5a,0x7f]
4289           vpsubsw 2032(%rdx), %xmm27, %xmm19
4290
4291 // CHECK: vpsubsw 2048(%rdx), %xmm27, %xmm19
4292 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xe9,0x9a,0x00,0x08,0x00,0x00]
4293           vpsubsw 2048(%rdx), %xmm27, %xmm19
4294
4295 // CHECK: vpsubsw -2048(%rdx), %xmm27, %xmm19
4296 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xe9,0x5a,0x80]
4297           vpsubsw -2048(%rdx), %xmm27, %xmm19
4298
4299 // CHECK: vpsubsw -2064(%rdx), %xmm27, %xmm19
4300 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xe9,0x9a,0xf0,0xf7,0xff,0xff]
4301           vpsubsw -2064(%rdx), %xmm27, %xmm19
4302
4303 // CHECK: vpsubsw %ymm25, %ymm29, %ymm18
4304 // CHECK:  encoding: [0x62,0x81,0x15,0x20,0xe9,0xd1]
4305           vpsubsw %ymm25, %ymm29, %ymm18
4306
4307 // CHECK: vpsubsw %ymm25, %ymm29, %ymm18 {%k5}
4308 // CHECK:  encoding: [0x62,0x81,0x15,0x25,0xe9,0xd1]
4309           vpsubsw %ymm25, %ymm29, %ymm18 {%k5}
4310
4311 // CHECK: vpsubsw %ymm25, %ymm29, %ymm18 {%k5} {z}
4312 // CHECK:  encoding: [0x62,0x81,0x15,0xa5,0xe9,0xd1]
4313           vpsubsw %ymm25, %ymm29, %ymm18 {%k5} {z}
4314
4315 // CHECK: vpsubsw (%rcx), %ymm29, %ymm18
4316 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x11]
4317           vpsubsw (%rcx), %ymm29, %ymm18
4318
4319 // CHECK: vpsubsw 4660(%rax,%r14,8), %ymm29, %ymm18
4320 // CHECK:  encoding: [0x62,0xa1,0x15,0x20,0xe9,0x94,0xf0,0x34,0x12,0x00,0x00]
4321           vpsubsw 4660(%rax,%r14,8), %ymm29, %ymm18
4322
4323 // CHECK: vpsubsw 4064(%rdx), %ymm29, %ymm18
4324 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x52,0x7f]
4325           vpsubsw 4064(%rdx), %ymm29, %ymm18
4326
4327 // CHECK: vpsubsw 4096(%rdx), %ymm29, %ymm18
4328 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x92,0x00,0x10,0x00,0x00]
4329           vpsubsw 4096(%rdx), %ymm29, %ymm18
4330
4331 // CHECK: vpsubsw -4096(%rdx), %ymm29, %ymm18
4332 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x52,0x80]
4333           vpsubsw -4096(%rdx), %ymm29, %ymm18
4334
4335 // CHECK: vpsubsw -4128(%rdx), %ymm29, %ymm18
4336 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xe9,0x92,0xe0,0xef,0xff,0xff]
4337           vpsubsw -4128(%rdx), %ymm29, %ymm18
4338
4339 // CHECK: vpsubusb %xmm23, %xmm26, %xmm20
4340 // CHECK:  encoding: [0x62,0xa1,0x2d,0x00,0xd8,0xe7]
4341           vpsubusb %xmm23, %xmm26, %xmm20
4342
4343 // CHECK: vpsubusb %xmm23, %xmm26, %xmm20 {%k5}
4344 // CHECK:  encoding: [0x62,0xa1,0x2d,0x05,0xd8,0xe7]
4345           vpsubusb %xmm23, %xmm26, %xmm20 {%k5}
4346
4347 // CHECK: vpsubusb %xmm23, %xmm26, %xmm20 {%k5} {z}
4348 // CHECK:  encoding: [0x62,0xa1,0x2d,0x85,0xd8,0xe7]
4349           vpsubusb %xmm23, %xmm26, %xmm20 {%k5} {z}
4350
4351 // CHECK: vpsubusb (%rcx), %xmm26, %xmm20
4352 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xd8,0x21]
4353           vpsubusb (%rcx), %xmm26, %xmm20
4354
4355 // CHECK: vpsubusb 4660(%rax,%r14,8), %xmm26, %xmm20
4356 // CHECK:  encoding: [0x62,0xa1,0x2d,0x00,0xd8,0xa4,0xf0,0x34,0x12,0x00,0x00]
4357           vpsubusb 4660(%rax,%r14,8), %xmm26, %xmm20
4358
4359 // CHECK: vpsubusb 2032(%rdx), %xmm26, %xmm20
4360 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xd8,0x62,0x7f]
4361           vpsubusb 2032(%rdx), %xmm26, %xmm20
4362
4363 // CHECK: vpsubusb 2048(%rdx), %xmm26, %xmm20
4364 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xd8,0xa2,0x00,0x08,0x00,0x00]
4365           vpsubusb 2048(%rdx), %xmm26, %xmm20
4366
4367 // CHECK: vpsubusb -2048(%rdx), %xmm26, %xmm20
4368 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xd8,0x62,0x80]
4369           vpsubusb -2048(%rdx), %xmm26, %xmm20
4370
4371 // CHECK: vpsubusb -2064(%rdx), %xmm26, %xmm20
4372 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xd8,0xa2,0xf0,0xf7,0xff,0xff]
4373           vpsubusb -2064(%rdx), %xmm26, %xmm20
4374
4375 // CHECK: vpsubusb %ymm19, %ymm28, %ymm30
4376 // CHECK:  encoding: [0x62,0x21,0x1d,0x20,0xd8,0xf3]
4377           vpsubusb %ymm19, %ymm28, %ymm30
4378
4379 // CHECK: vpsubusb %ymm19, %ymm28, %ymm30 {%k3}
4380 // CHECK:  encoding: [0x62,0x21,0x1d,0x23,0xd8,0xf3]
4381           vpsubusb %ymm19, %ymm28, %ymm30 {%k3}
4382
4383 // CHECK: vpsubusb %ymm19, %ymm28, %ymm30 {%k3} {z}
4384 // CHECK:  encoding: [0x62,0x21,0x1d,0xa3,0xd8,0xf3]
4385           vpsubusb %ymm19, %ymm28, %ymm30 {%k3} {z}
4386
4387 // CHECK: vpsubusb (%rcx), %ymm28, %ymm30
4388 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xd8,0x31]
4389           vpsubusb (%rcx), %ymm28, %ymm30
4390
4391 // CHECK: vpsubusb 4660(%rax,%r14,8), %ymm28, %ymm30
4392 // CHECK:  encoding: [0x62,0x21,0x1d,0x20,0xd8,0xb4,0xf0,0x34,0x12,0x00,0x00]
4393           vpsubusb 4660(%rax,%r14,8), %ymm28, %ymm30
4394
4395 // CHECK: vpsubusb 4064(%rdx), %ymm28, %ymm30
4396 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xd8,0x72,0x7f]
4397           vpsubusb 4064(%rdx), %ymm28, %ymm30
4398
4399 // CHECK: vpsubusb 4096(%rdx), %ymm28, %ymm30
4400 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xd8,0xb2,0x00,0x10,0x00,0x00]
4401           vpsubusb 4096(%rdx), %ymm28, %ymm30
4402
4403 // CHECK: vpsubusb -4096(%rdx), %ymm28, %ymm30
4404 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xd8,0x72,0x80]
4405           vpsubusb -4096(%rdx), %ymm28, %ymm30
4406
4407 // CHECK: vpsubusb -4128(%rdx), %ymm28, %ymm30
4408 // CHECK:  encoding: [0x62,0x61,0x1d,0x20,0xd8,0xb2,0xe0,0xef,0xff,0xff]
4409           vpsubusb -4128(%rdx), %ymm28, %ymm30
4410
4411 // CHECK: vpsubusw %xmm21, %xmm23, %xmm26
4412 // CHECK:  encoding: [0x62,0x21,0x45,0x00,0xd9,0xd5]
4413           vpsubusw %xmm21, %xmm23, %xmm26
4414
4415 // CHECK: vpsubusw %xmm21, %xmm23, %xmm26 {%k6}
4416 // CHECK:  encoding: [0x62,0x21,0x45,0x06,0xd9,0xd5]
4417           vpsubusw %xmm21, %xmm23, %xmm26 {%k6}
4418
4419 // CHECK: vpsubusw %xmm21, %xmm23, %xmm26 {%k6} {z}
4420 // CHECK:  encoding: [0x62,0x21,0x45,0x86,0xd9,0xd5]
4421           vpsubusw %xmm21, %xmm23, %xmm26 {%k6} {z}
4422
4423 // CHECK: vpsubusw (%rcx), %xmm23, %xmm26
4424 // CHECK:  encoding: [0x62,0x61,0x45,0x00,0xd9,0x11]
4425           vpsubusw (%rcx), %xmm23, %xmm26
4426
4427 // CHECK: vpsubusw 4660(%rax,%r14,8), %xmm23, %xmm26
4428 // CHECK:  encoding: [0x62,0x21,0x45,0x00,0xd9,0x94,0xf0,0x34,0x12,0x00,0x00]
4429           vpsubusw 4660(%rax,%r14,8), %xmm23, %xmm26
4430
4431 // CHECK: vpsubusw 2032(%rdx), %xmm23, %xmm26
4432 // CHECK:  encoding: [0x62,0x61,0x45,0x00,0xd9,0x52,0x7f]
4433           vpsubusw 2032(%rdx), %xmm23, %xmm26
4434
4435 // CHECK: vpsubusw 2048(%rdx), %xmm23, %xmm26
4436 // CHECK:  encoding: [0x62,0x61,0x45,0x00,0xd9,0x92,0x00,0x08,0x00,0x00]
4437           vpsubusw 2048(%rdx), %xmm23, %xmm26
4438
4439 // CHECK: vpsubusw -2048(%rdx), %xmm23, %xmm26
4440 // CHECK:  encoding: [0x62,0x61,0x45,0x00,0xd9,0x52,0x80]
4441           vpsubusw -2048(%rdx), %xmm23, %xmm26
4442
4443 // CHECK: vpsubusw -2064(%rdx), %xmm23, %xmm26
4444 // CHECK:  encoding: [0x62,0x61,0x45,0x00,0xd9,0x92,0xf0,0xf7,0xff,0xff]
4445           vpsubusw -2064(%rdx), %xmm23, %xmm26
4446
4447 // CHECK: vpsubusw %ymm24, %ymm20, %ymm25
4448 // CHECK:  encoding: [0x62,0x01,0x5d,0x20,0xd9,0xc8]
4449           vpsubusw %ymm24, %ymm20, %ymm25
4450
4451 // CHECK: vpsubusw %ymm24, %ymm20, %ymm25 {%k1}
4452 // CHECK:  encoding: [0x62,0x01,0x5d,0x21,0xd9,0xc8]
4453           vpsubusw %ymm24, %ymm20, %ymm25 {%k1}
4454
4455 // CHECK: vpsubusw %ymm24, %ymm20, %ymm25 {%k1} {z}
4456 // CHECK:  encoding: [0x62,0x01,0x5d,0xa1,0xd9,0xc8]
4457           vpsubusw %ymm24, %ymm20, %ymm25 {%k1} {z}
4458
4459 // CHECK: vpsubusw (%rcx), %ymm20, %ymm25
4460 // CHECK:  encoding: [0x62,0x61,0x5d,0x20,0xd9,0x09]
4461           vpsubusw (%rcx), %ymm20, %ymm25
4462
4463 // CHECK: vpsubusw 4660(%rax,%r14,8), %ymm20, %ymm25
4464 // CHECK:  encoding: [0x62,0x21,0x5d,0x20,0xd9,0x8c,0xf0,0x34,0x12,0x00,0x00]
4465           vpsubusw 4660(%rax,%r14,8), %ymm20, %ymm25
4466
4467 // CHECK: vpsubusw 4064(%rdx), %ymm20, %ymm25
4468 // CHECK:  encoding: [0x62,0x61,0x5d,0x20,0xd9,0x4a,0x7f]
4469           vpsubusw 4064(%rdx), %ymm20, %ymm25
4470
4471 // CHECK: vpsubusw 4096(%rdx), %ymm20, %ymm25
4472 // CHECK:  encoding: [0x62,0x61,0x5d,0x20,0xd9,0x8a,0x00,0x10,0x00,0x00]
4473           vpsubusw 4096(%rdx), %ymm20, %ymm25
4474
4475 // CHECK: vpsubusw -4096(%rdx), %ymm20, %ymm25
4476 // CHECK:  encoding: [0x62,0x61,0x5d,0x20,0xd9,0x4a,0x80]
4477           vpsubusw -4096(%rdx), %ymm20, %ymm25
4478
4479 // CHECK: vpsubusw -4128(%rdx), %ymm20, %ymm25
4480 // CHECK:  encoding: [0x62,0x61,0x5d,0x20,0xd9,0x8a,0xe0,0xef,0xff,0xff]
4481           vpsubusw -4128(%rdx), %ymm20, %ymm25
4482
4483 // CHECK: vpaddsb %xmm25, %xmm19, %xmm30
4484 // CHECK:  encoding: [0x62,0x01,0x65,0x00,0xec,0xf1]
4485           vpaddsb %xmm25, %xmm19, %xmm30
4486
4487 // CHECK: vpaddsb %xmm25, %xmm19, %xmm30 {%k6}
4488 // CHECK:  encoding: [0x62,0x01,0x65,0x06,0xec,0xf1]
4489           vpaddsb %xmm25, %xmm19, %xmm30 {%k6}
4490
4491 // CHECK: vpaddsb %xmm25, %xmm19, %xmm30 {%k6} {z}
4492 // CHECK:  encoding: [0x62,0x01,0x65,0x86,0xec,0xf1]
4493           vpaddsb %xmm25, %xmm19, %xmm30 {%k6} {z}
4494
4495 // CHECK: vpaddsb (%rcx), %xmm19, %xmm30
4496 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xec,0x31]
4497           vpaddsb (%rcx), %xmm19, %xmm30
4498
4499 // CHECK: vpaddsb 291(%rax,%r14,8), %xmm19, %xmm30
4500 // CHECK:  encoding: [0x62,0x21,0x65,0x00,0xec,0xb4,0xf0,0x23,0x01,0x00,0x00]
4501           vpaddsb 291(%rax,%r14,8), %xmm19, %xmm30
4502
4503 // CHECK: vpaddsb 2032(%rdx), %xmm19, %xmm30
4504 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xec,0x72,0x7f]
4505           vpaddsb 2032(%rdx), %xmm19, %xmm30
4506
4507 // CHECK: vpaddsb 2048(%rdx), %xmm19, %xmm30
4508 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xec,0xb2,0x00,0x08,0x00,0x00]
4509           vpaddsb 2048(%rdx), %xmm19, %xmm30
4510
4511 // CHECK: vpaddsb -2048(%rdx), %xmm19, %xmm30
4512 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xec,0x72,0x80]
4513           vpaddsb -2048(%rdx), %xmm19, %xmm30
4514
4515 // CHECK: vpaddsb -2064(%rdx), %xmm19, %xmm30
4516 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xec,0xb2,0xf0,0xf7,0xff,0xff]
4517           vpaddsb -2064(%rdx), %xmm19, %xmm30
4518
4519 // CHECK: vpaddsb %ymm28, %ymm29, %ymm22
4520 // CHECK:  encoding: [0x62,0x81,0x15,0x20,0xec,0xf4]
4521           vpaddsb %ymm28, %ymm29, %ymm22
4522
4523 // CHECK: vpaddsb %ymm28, %ymm29, %ymm22 {%k4}
4524 // CHECK:  encoding: [0x62,0x81,0x15,0x24,0xec,0xf4]
4525           vpaddsb %ymm28, %ymm29, %ymm22 {%k4}
4526
4527 // CHECK: vpaddsb %ymm28, %ymm29, %ymm22 {%k4} {z}
4528 // CHECK:  encoding: [0x62,0x81,0x15,0xa4,0xec,0xf4]
4529           vpaddsb %ymm28, %ymm29, %ymm22 {%k4} {z}
4530
4531 // CHECK: vpaddsb (%rcx), %ymm29, %ymm22
4532 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xec,0x31]
4533           vpaddsb (%rcx), %ymm29, %ymm22
4534
4535 // CHECK: vpaddsb 291(%rax,%r14,8), %ymm29, %ymm22
4536 // CHECK:  encoding: [0x62,0xa1,0x15,0x20,0xec,0xb4,0xf0,0x23,0x01,0x00,0x00]
4537           vpaddsb 291(%rax,%r14,8), %ymm29, %ymm22
4538
4539 // CHECK: vpaddsb 4064(%rdx), %ymm29, %ymm22
4540 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xec,0x72,0x7f]
4541           vpaddsb 4064(%rdx), %ymm29, %ymm22
4542
4543 // CHECK: vpaddsb 4096(%rdx), %ymm29, %ymm22
4544 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xec,0xb2,0x00,0x10,0x00,0x00]
4545           vpaddsb 4096(%rdx), %ymm29, %ymm22
4546
4547 // CHECK: vpaddsb -4096(%rdx), %ymm29, %ymm22
4548 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xec,0x72,0x80]
4549           vpaddsb -4096(%rdx), %ymm29, %ymm22
4550
4551 // CHECK: vpaddsb -4128(%rdx), %ymm29, %ymm22
4552 // CHECK:  encoding: [0x62,0xe1,0x15,0x20,0xec,0xb2,0xe0,0xef,0xff,0xff]
4553           vpaddsb -4128(%rdx), %ymm29, %ymm22
4554
4555 // CHECK: vpaddsw %xmm19, %xmm19, %xmm20
4556 // CHECK:  encoding: [0x62,0xa1,0x65,0x00,0xed,0xe3]
4557           vpaddsw %xmm19, %xmm19, %xmm20
4558
4559 // CHECK: vpaddsw %xmm19, %xmm19, %xmm20 {%k7}
4560 // CHECK:  encoding: [0x62,0xa1,0x65,0x07,0xed,0xe3]
4561           vpaddsw %xmm19, %xmm19, %xmm20 {%k7}
4562
4563 // CHECK: vpaddsw %xmm19, %xmm19, %xmm20 {%k7} {z}
4564 // CHECK:  encoding: [0x62,0xa1,0x65,0x87,0xed,0xe3]
4565           vpaddsw %xmm19, %xmm19, %xmm20 {%k7} {z}
4566
4567 // CHECK: vpaddsw (%rcx), %xmm19, %xmm20
4568 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xed,0x21]
4569           vpaddsw (%rcx), %xmm19, %xmm20
4570
4571 // CHECK: vpaddsw 291(%rax,%r14,8), %xmm19, %xmm20
4572 // CHECK:  encoding: [0x62,0xa1,0x65,0x00,0xed,0xa4,0xf0,0x23,0x01,0x00,0x00]
4573           vpaddsw 291(%rax,%r14,8), %xmm19, %xmm20
4574
4575 // CHECK: vpaddsw 2032(%rdx), %xmm19, %xmm20
4576 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xed,0x62,0x7f]
4577           vpaddsw 2032(%rdx), %xmm19, %xmm20
4578
4579 // CHECK: vpaddsw 2048(%rdx), %xmm19, %xmm20
4580 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xed,0xa2,0x00,0x08,0x00,0x00]
4581           vpaddsw 2048(%rdx), %xmm19, %xmm20
4582
4583 // CHECK: vpaddsw -2048(%rdx), %xmm19, %xmm20
4584 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xed,0x62,0x80]
4585           vpaddsw -2048(%rdx), %xmm19, %xmm20
4586
4587 // CHECK: vpaddsw -2064(%rdx), %xmm19, %xmm20
4588 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xed,0xa2,0xf0,0xf7,0xff,0xff]
4589           vpaddsw -2064(%rdx), %xmm19, %xmm20
4590
4591 // CHECK: vpaddsw %ymm19, %ymm27, %ymm20
4592 // CHECK:  encoding: [0x62,0xa1,0x25,0x20,0xed,0xe3]
4593           vpaddsw %ymm19, %ymm27, %ymm20
4594
4595 // CHECK: vpaddsw %ymm19, %ymm27, %ymm20 {%k3}
4596 // CHECK:  encoding: [0x62,0xa1,0x25,0x23,0xed,0xe3]
4597           vpaddsw %ymm19, %ymm27, %ymm20 {%k3}
4598
4599 // CHECK: vpaddsw %ymm19, %ymm27, %ymm20 {%k3} {z}
4600 // CHECK:  encoding: [0x62,0xa1,0x25,0xa3,0xed,0xe3]
4601           vpaddsw %ymm19, %ymm27, %ymm20 {%k3} {z}
4602
4603 // CHECK: vpaddsw (%rcx), %ymm27, %ymm20
4604 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xed,0x21]
4605           vpaddsw (%rcx), %ymm27, %ymm20
4606
4607 // CHECK: vpaddsw 291(%rax,%r14,8), %ymm27, %ymm20
4608 // CHECK:  encoding: [0x62,0xa1,0x25,0x20,0xed,0xa4,0xf0,0x23,0x01,0x00,0x00]
4609           vpaddsw 291(%rax,%r14,8), %ymm27, %ymm20
4610
4611 // CHECK: vpaddsw 4064(%rdx), %ymm27, %ymm20
4612 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xed,0x62,0x7f]
4613           vpaddsw 4064(%rdx), %ymm27, %ymm20
4614
4615 // CHECK: vpaddsw 4096(%rdx), %ymm27, %ymm20
4616 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xed,0xa2,0x00,0x10,0x00,0x00]
4617           vpaddsw 4096(%rdx), %ymm27, %ymm20
4618
4619 // CHECK: vpaddsw -4096(%rdx), %ymm27, %ymm20
4620 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xed,0x62,0x80]
4621           vpaddsw -4096(%rdx), %ymm27, %ymm20
4622
4623 // CHECK: vpaddsw -4128(%rdx), %ymm27, %ymm20
4624 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xed,0xa2,0xe0,0xef,0xff,0xff]
4625           vpaddsw -4128(%rdx), %ymm27, %ymm20
4626
4627 // CHECK: vpaddusb %xmm19, %xmm21, %xmm25
4628 // CHECK:  encoding: [0x62,0x21,0x55,0x00,0xdc,0xcb]
4629           vpaddusb %xmm19, %xmm21, %xmm25
4630
4631 // CHECK: vpaddusb %xmm19, %xmm21, %xmm25 {%k7}
4632 // CHECK:  encoding: [0x62,0x21,0x55,0x07,0xdc,0xcb]
4633           vpaddusb %xmm19, %xmm21, %xmm25 {%k7}
4634
4635 // CHECK: vpaddusb %xmm19, %xmm21, %xmm25 {%k7} {z}
4636 // CHECK:  encoding: [0x62,0x21,0x55,0x87,0xdc,0xcb]
4637           vpaddusb %xmm19, %xmm21, %xmm25 {%k7} {z}
4638
4639 // CHECK: vpaddusb (%rcx), %xmm21, %xmm25
4640 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xdc,0x09]
4641           vpaddusb (%rcx), %xmm21, %xmm25
4642
4643 // CHECK: vpaddusb 291(%rax,%r14,8), %xmm21, %xmm25
4644 // CHECK:  encoding: [0x62,0x21,0x55,0x00,0xdc,0x8c,0xf0,0x23,0x01,0x00,0x00]
4645           vpaddusb 291(%rax,%r14,8), %xmm21, %xmm25
4646
4647 // CHECK: vpaddusb 2032(%rdx), %xmm21, %xmm25
4648 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xdc,0x4a,0x7f]
4649           vpaddusb 2032(%rdx), %xmm21, %xmm25
4650
4651 // CHECK: vpaddusb 2048(%rdx), %xmm21, %xmm25
4652 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xdc,0x8a,0x00,0x08,0x00,0x00]
4653           vpaddusb 2048(%rdx), %xmm21, %xmm25
4654
4655 // CHECK: vpaddusb -2048(%rdx), %xmm21, %xmm25
4656 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xdc,0x4a,0x80]
4657           vpaddusb -2048(%rdx), %xmm21, %xmm25
4658
4659 // CHECK: vpaddusb -2064(%rdx), %xmm21, %xmm25
4660 // CHECK:  encoding: [0x62,0x61,0x55,0x00,0xdc,0x8a,0xf0,0xf7,0xff,0xff]
4661           vpaddusb -2064(%rdx), %xmm21, %xmm25
4662
4663 // CHECK: vpaddusb %ymm25, %ymm21, %ymm21
4664 // CHECK:  encoding: [0x62,0x81,0x55,0x20,0xdc,0xe9]
4665           vpaddusb %ymm25, %ymm21, %ymm21
4666
4667 // CHECK: vpaddusb %ymm25, %ymm21, %ymm21 {%k1}
4668 // CHECK:  encoding: [0x62,0x81,0x55,0x21,0xdc,0xe9]
4669           vpaddusb %ymm25, %ymm21, %ymm21 {%k1}
4670
4671 // CHECK: vpaddusb %ymm25, %ymm21, %ymm21 {%k1} {z}
4672 // CHECK:  encoding: [0x62,0x81,0x55,0xa1,0xdc,0xe9]
4673           vpaddusb %ymm25, %ymm21, %ymm21 {%k1} {z}
4674
4675 // CHECK: vpaddusb (%rcx), %ymm21, %ymm21
4676 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xdc,0x29]
4677           vpaddusb (%rcx), %ymm21, %ymm21
4678
4679 // CHECK: vpaddusb 291(%rax,%r14,8), %ymm21, %ymm21
4680 // CHECK:  encoding: [0x62,0xa1,0x55,0x20,0xdc,0xac,0xf0,0x23,0x01,0x00,0x00]
4681           vpaddusb 291(%rax,%r14,8), %ymm21, %ymm21
4682
4683 // CHECK: vpaddusb 4064(%rdx), %ymm21, %ymm21
4684 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xdc,0x6a,0x7f]
4685           vpaddusb 4064(%rdx), %ymm21, %ymm21
4686
4687 // CHECK: vpaddusb 4096(%rdx), %ymm21, %ymm21
4688 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xdc,0xaa,0x00,0x10,0x00,0x00]
4689           vpaddusb 4096(%rdx), %ymm21, %ymm21
4690
4691 // CHECK: vpaddusb -4096(%rdx), %ymm21, %ymm21
4692 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xdc,0x6a,0x80]
4693           vpaddusb -4096(%rdx), %ymm21, %ymm21
4694
4695 // CHECK: vpaddusb -4128(%rdx), %ymm21, %ymm21
4696 // CHECK:  encoding: [0x62,0xe1,0x55,0x20,0xdc,0xaa,0xe0,0xef,0xff,0xff]
4697           vpaddusb -4128(%rdx), %ymm21, %ymm21
4698
4699 // CHECK: vpaddusw %xmm26, %xmm17, %xmm24
4700 // CHECK:  encoding: [0x62,0x01,0x75,0x00,0xdd,0xc2]
4701           vpaddusw %xmm26, %xmm17, %xmm24
4702
4703 // CHECK: vpaddusw %xmm26, %xmm17, %xmm24 {%k6}
4704 // CHECK:  encoding: [0x62,0x01,0x75,0x06,0xdd,0xc2]
4705           vpaddusw %xmm26, %xmm17, %xmm24 {%k6}
4706
4707 // CHECK: vpaddusw %xmm26, %xmm17, %xmm24 {%k6} {z}
4708 // CHECK:  encoding: [0x62,0x01,0x75,0x86,0xdd,0xc2]
4709           vpaddusw %xmm26, %xmm17, %xmm24 {%k6} {z}
4710
4711 // CHECK: vpaddusw (%rcx), %xmm17, %xmm24
4712 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xdd,0x01]
4713           vpaddusw (%rcx), %xmm17, %xmm24
4714
4715 // CHECK: vpaddusw 291(%rax,%r14,8), %xmm17, %xmm24
4716 // CHECK:  encoding: [0x62,0x21,0x75,0x00,0xdd,0x84,0xf0,0x23,0x01,0x00,0x00]
4717           vpaddusw 291(%rax,%r14,8), %xmm17, %xmm24
4718
4719 // CHECK: vpaddusw 2032(%rdx), %xmm17, %xmm24
4720 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xdd,0x42,0x7f]
4721           vpaddusw 2032(%rdx), %xmm17, %xmm24
4722
4723 // CHECK: vpaddusw 2048(%rdx), %xmm17, %xmm24
4724 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xdd,0x82,0x00,0x08,0x00,0x00]
4725           vpaddusw 2048(%rdx), %xmm17, %xmm24
4726
4727 // CHECK: vpaddusw -2048(%rdx), %xmm17, %xmm24
4728 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xdd,0x42,0x80]
4729           vpaddusw -2048(%rdx), %xmm17, %xmm24
4730
4731 // CHECK: vpaddusw -2064(%rdx), %xmm17, %xmm24
4732 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xdd,0x82,0xf0,0xf7,0xff,0xff]
4733           vpaddusw -2064(%rdx), %xmm17, %xmm24
4734
4735 // CHECK: vpaddusw %ymm22, %ymm27, %ymm22
4736 // CHECK:  encoding: [0x62,0xa1,0x25,0x20,0xdd,0xf6]
4737           vpaddusw %ymm22, %ymm27, %ymm22
4738
4739 // CHECK: vpaddusw %ymm22, %ymm27, %ymm22 {%k5}
4740 // CHECK:  encoding: [0x62,0xa1,0x25,0x25,0xdd,0xf6]
4741           vpaddusw %ymm22, %ymm27, %ymm22 {%k5}
4742
4743 // CHECK: vpaddusw %ymm22, %ymm27, %ymm22 {%k5} {z}
4744 // CHECK:  encoding: [0x62,0xa1,0x25,0xa5,0xdd,0xf6]
4745           vpaddusw %ymm22, %ymm27, %ymm22 {%k5} {z}
4746
4747 // CHECK: vpaddusw (%rcx), %ymm27, %ymm22
4748 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xdd,0x31]
4749           vpaddusw (%rcx), %ymm27, %ymm22
4750
4751 // CHECK: vpaddusw 291(%rax,%r14,8), %ymm27, %ymm22
4752 // CHECK:  encoding: [0x62,0xa1,0x25,0x20,0xdd,0xb4,0xf0,0x23,0x01,0x00,0x00]
4753           vpaddusw 291(%rax,%r14,8), %ymm27, %ymm22
4754
4755 // CHECK: vpaddusw 4064(%rdx), %ymm27, %ymm22
4756 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xdd,0x72,0x7f]
4757           vpaddusw 4064(%rdx), %ymm27, %ymm22
4758
4759 // CHECK: vpaddusw 4096(%rdx), %ymm27, %ymm22
4760 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xdd,0xb2,0x00,0x10,0x00,0x00]
4761           vpaddusw 4096(%rdx), %ymm27, %ymm22
4762
4763 // CHECK: vpaddusw -4096(%rdx), %ymm27, %ymm22
4764 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xdd,0x72,0x80]
4765           vpaddusw -4096(%rdx), %ymm27, %ymm22
4766
4767 // CHECK: vpaddusw -4128(%rdx), %ymm27, %ymm22
4768 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xdd,0xb2,0xe0,0xef,0xff,0xff]
4769           vpaddusw -4128(%rdx), %ymm27, %ymm22
4770
4771 // CHECK: vpsubsb %xmm19, %xmm19, %xmm28
4772 // CHECK:  encoding: [0x62,0x21,0x65,0x00,0xe8,0xe3]
4773           vpsubsb %xmm19, %xmm19, %xmm28
4774
4775 // CHECK: vpsubsb %xmm19, %xmm19, %xmm28 {%k4}
4776 // CHECK:  encoding: [0x62,0x21,0x65,0x04,0xe8,0xe3]
4777           vpsubsb %xmm19, %xmm19, %xmm28 {%k4}
4778
4779 // CHECK: vpsubsb %xmm19, %xmm19, %xmm28 {%k4} {z}
4780 // CHECK:  encoding: [0x62,0x21,0x65,0x84,0xe8,0xe3]
4781           vpsubsb %xmm19, %xmm19, %xmm28 {%k4} {z}
4782
4783 // CHECK: vpsubsb (%rcx), %xmm19, %xmm28
4784 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xe8,0x21]
4785           vpsubsb (%rcx), %xmm19, %xmm28
4786
4787 // CHECK: vpsubsb 291(%rax,%r14,8), %xmm19, %xmm28
4788 // CHECK:  encoding: [0x62,0x21,0x65,0x00,0xe8,0xa4,0xf0,0x23,0x01,0x00,0x00]
4789           vpsubsb 291(%rax,%r14,8), %xmm19, %xmm28
4790
4791 // CHECK: vpsubsb 2032(%rdx), %xmm19, %xmm28
4792 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xe8,0x62,0x7f]
4793           vpsubsb 2032(%rdx), %xmm19, %xmm28
4794
4795 // CHECK: vpsubsb 2048(%rdx), %xmm19, %xmm28
4796 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xe8,0xa2,0x00,0x08,0x00,0x00]
4797           vpsubsb 2048(%rdx), %xmm19, %xmm28
4798
4799 // CHECK: vpsubsb -2048(%rdx), %xmm19, %xmm28
4800 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xe8,0x62,0x80]
4801           vpsubsb -2048(%rdx), %xmm19, %xmm28
4802
4803 // CHECK: vpsubsb -2064(%rdx), %xmm19, %xmm28
4804 // CHECK:  encoding: [0x62,0x61,0x65,0x00,0xe8,0xa2,0xf0,0xf7,0xff,0xff]
4805           vpsubsb -2064(%rdx), %xmm19, %xmm28
4806
4807 // CHECK: vpsubsb %ymm18, %ymm23, %ymm18
4808 // CHECK:  encoding: [0x62,0xa1,0x45,0x20,0xe8,0xd2]
4809           vpsubsb %ymm18, %ymm23, %ymm18
4810
4811 // CHECK: vpsubsb %ymm18, %ymm23, %ymm18 {%k6}
4812 // CHECK:  encoding: [0x62,0xa1,0x45,0x26,0xe8,0xd2]
4813           vpsubsb %ymm18, %ymm23, %ymm18 {%k6}
4814
4815 // CHECK: vpsubsb %ymm18, %ymm23, %ymm18 {%k6} {z}
4816 // CHECK:  encoding: [0x62,0xa1,0x45,0xa6,0xe8,0xd2]
4817           vpsubsb %ymm18, %ymm23, %ymm18 {%k6} {z}
4818
4819 // CHECK: vpsubsb (%rcx), %ymm23, %ymm18
4820 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xe8,0x11]
4821           vpsubsb (%rcx), %ymm23, %ymm18
4822
4823 // CHECK: vpsubsb 291(%rax,%r14,8), %ymm23, %ymm18
4824 // CHECK:  encoding: [0x62,0xa1,0x45,0x20,0xe8,0x94,0xf0,0x23,0x01,0x00,0x00]
4825           vpsubsb 291(%rax,%r14,8), %ymm23, %ymm18
4826
4827 // CHECK: vpsubsb 4064(%rdx), %ymm23, %ymm18
4828 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xe8,0x52,0x7f]
4829           vpsubsb 4064(%rdx), %ymm23, %ymm18
4830
4831 // CHECK: vpsubsb 4096(%rdx), %ymm23, %ymm18
4832 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xe8,0x92,0x00,0x10,0x00,0x00]
4833           vpsubsb 4096(%rdx), %ymm23, %ymm18
4834
4835 // CHECK: vpsubsb -4096(%rdx), %ymm23, %ymm18
4836 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xe8,0x52,0x80]
4837           vpsubsb -4096(%rdx), %ymm23, %ymm18
4838
4839 // CHECK: vpsubsb -4128(%rdx), %ymm23, %ymm18
4840 // CHECK:  encoding: [0x62,0xe1,0x45,0x20,0xe8,0x92,0xe0,0xef,0xff,0xff]
4841           vpsubsb -4128(%rdx), %ymm23, %ymm18
4842
4843 // CHECK: vpsubsw %xmm19, %xmm24, %xmm26
4844 // CHECK:  encoding: [0x62,0x21,0x3d,0x00,0xe9,0xd3]
4845           vpsubsw %xmm19, %xmm24, %xmm26
4846
4847 // CHECK: vpsubsw %xmm19, %xmm24, %xmm26 {%k7}
4848 // CHECK:  encoding: [0x62,0x21,0x3d,0x07,0xe9,0xd3]
4849           vpsubsw %xmm19, %xmm24, %xmm26 {%k7}
4850
4851 // CHECK: vpsubsw %xmm19, %xmm24, %xmm26 {%k7} {z}
4852 // CHECK:  encoding: [0x62,0x21,0x3d,0x87,0xe9,0xd3]
4853           vpsubsw %xmm19, %xmm24, %xmm26 {%k7} {z}
4854
4855 // CHECK: vpsubsw (%rcx), %xmm24, %xmm26
4856 // CHECK:  encoding: [0x62,0x61,0x3d,0x00,0xe9,0x11]
4857           vpsubsw (%rcx), %xmm24, %xmm26
4858
4859 // CHECK: vpsubsw 291(%rax,%r14,8), %xmm24, %xmm26
4860 // CHECK:  encoding: [0x62,0x21,0x3d,0x00,0xe9,0x94,0xf0,0x23,0x01,0x00,0x00]
4861           vpsubsw 291(%rax,%r14,8), %xmm24, %xmm26
4862
4863 // CHECK: vpsubsw 2032(%rdx), %xmm24, %xmm26
4864 // CHECK:  encoding: [0x62,0x61,0x3d,0x00,0xe9,0x52,0x7f]
4865           vpsubsw 2032(%rdx), %xmm24, %xmm26
4866
4867 // CHECK: vpsubsw 2048(%rdx), %xmm24, %xmm26
4868 // CHECK:  encoding: [0x62,0x61,0x3d,0x00,0xe9,0x92,0x00,0x08,0x00,0x00]
4869           vpsubsw 2048(%rdx), %xmm24, %xmm26
4870
4871 // CHECK: vpsubsw -2048(%rdx), %xmm24, %xmm26
4872 // CHECK:  encoding: [0x62,0x61,0x3d,0x00,0xe9,0x52,0x80]
4873           vpsubsw -2048(%rdx), %xmm24, %xmm26
4874
4875 // CHECK: vpsubsw -2064(%rdx), %xmm24, %xmm26
4876 // CHECK:  encoding: [0x62,0x61,0x3d,0x00,0xe9,0x92,0xf0,0xf7,0xff,0xff]
4877           vpsubsw -2064(%rdx), %xmm24, %xmm26
4878
4879 // CHECK: vpsubsw %ymm19, %ymm27, %ymm20
4880 // CHECK:  encoding: [0x62,0xa1,0x25,0x20,0xe9,0xe3]
4881           vpsubsw %ymm19, %ymm27, %ymm20
4882
4883 // CHECK: vpsubsw %ymm19, %ymm27, %ymm20 {%k3}
4884 // CHECK:  encoding: [0x62,0xa1,0x25,0x23,0xe9,0xe3]
4885           vpsubsw %ymm19, %ymm27, %ymm20 {%k3}
4886
4887 // CHECK: vpsubsw %ymm19, %ymm27, %ymm20 {%k3} {z}
4888 // CHECK:  encoding: [0x62,0xa1,0x25,0xa3,0xe9,0xe3]
4889           vpsubsw %ymm19, %ymm27, %ymm20 {%k3} {z}
4890
4891 // CHECK: vpsubsw (%rcx), %ymm27, %ymm20
4892 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xe9,0x21]
4893           vpsubsw (%rcx), %ymm27, %ymm20
4894
4895 // CHECK: vpsubsw 291(%rax,%r14,8), %ymm27, %ymm20
4896 // CHECK:  encoding: [0x62,0xa1,0x25,0x20,0xe9,0xa4,0xf0,0x23,0x01,0x00,0x00]
4897           vpsubsw 291(%rax,%r14,8), %ymm27, %ymm20
4898
4899 // CHECK: vpsubsw 4064(%rdx), %ymm27, %ymm20
4900 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xe9,0x62,0x7f]
4901           vpsubsw 4064(%rdx), %ymm27, %ymm20
4902
4903 // CHECK: vpsubsw 4096(%rdx), %ymm27, %ymm20
4904 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xe9,0xa2,0x00,0x10,0x00,0x00]
4905           vpsubsw 4096(%rdx), %ymm27, %ymm20
4906
4907 // CHECK: vpsubsw -4096(%rdx), %ymm27, %ymm20
4908 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xe9,0x62,0x80]
4909           vpsubsw -4096(%rdx), %ymm27, %ymm20
4910
4911 // CHECK: vpsubsw -4128(%rdx), %ymm27, %ymm20
4912 // CHECK:  encoding: [0x62,0xe1,0x25,0x20,0xe9,0xa2,0xe0,0xef,0xff,0xff]
4913           vpsubsw -4128(%rdx), %ymm27, %ymm20
4914
4915 // CHECK: vpsubusb %xmm25, %xmm19, %xmm20
4916 // CHECK:  encoding: [0x62,0x81,0x65,0x00,0xd8,0xe1]
4917           vpsubusb %xmm25, %xmm19, %xmm20
4918
4919 // CHECK: vpsubusb %xmm25, %xmm19, %xmm20 {%k6}
4920 // CHECK:  encoding: [0x62,0x81,0x65,0x06,0xd8,0xe1]
4921           vpsubusb %xmm25, %xmm19, %xmm20 {%k6}
4922
4923 // CHECK: vpsubusb %xmm25, %xmm19, %xmm20 {%k6} {z}
4924 // CHECK:  encoding: [0x62,0x81,0x65,0x86,0xd8,0xe1]
4925           vpsubusb %xmm25, %xmm19, %xmm20 {%k6} {z}
4926
4927 // CHECK: vpsubusb (%rcx), %xmm19, %xmm20
4928 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xd8,0x21]
4929           vpsubusb (%rcx), %xmm19, %xmm20
4930
4931 // CHECK: vpsubusb 291(%rax,%r14,8), %xmm19, %xmm20
4932 // CHECK:  encoding: [0x62,0xa1,0x65,0x00,0xd8,0xa4,0xf0,0x23,0x01,0x00,0x00]
4933           vpsubusb 291(%rax,%r14,8), %xmm19, %xmm20
4934
4935 // CHECK: vpsubusb 2032(%rdx), %xmm19, %xmm20
4936 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xd8,0x62,0x7f]
4937           vpsubusb 2032(%rdx), %xmm19, %xmm20
4938
4939 // CHECK: vpsubusb 2048(%rdx), %xmm19, %xmm20
4940 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xd8,0xa2,0x00,0x08,0x00,0x00]
4941           vpsubusb 2048(%rdx), %xmm19, %xmm20
4942
4943 // CHECK: vpsubusb -2048(%rdx), %xmm19, %xmm20
4944 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xd8,0x62,0x80]
4945           vpsubusb -2048(%rdx), %xmm19, %xmm20
4946
4947 // CHECK: vpsubusb -2064(%rdx), %xmm19, %xmm20
4948 // CHECK:  encoding: [0x62,0xe1,0x65,0x00,0xd8,0xa2,0xf0,0xf7,0xff,0xff]
4949           vpsubusb -2064(%rdx), %xmm19, %xmm20
4950
4951 // CHECK: vpsubusb %ymm19, %ymm19, %ymm21
4952 // CHECK:  encoding: [0x62,0xa1,0x65,0x20,0xd8,0xeb]
4953           vpsubusb %ymm19, %ymm19, %ymm21
4954
4955 // CHECK: vpsubusb %ymm19, %ymm19, %ymm21 {%k3}
4956 // CHECK:  encoding: [0x62,0xa1,0x65,0x23,0xd8,0xeb]
4957           vpsubusb %ymm19, %ymm19, %ymm21 {%k3}
4958
4959 // CHECK: vpsubusb %ymm19, %ymm19, %ymm21 {%k3} {z}
4960 // CHECK:  encoding: [0x62,0xa1,0x65,0xa3,0xd8,0xeb]
4961           vpsubusb %ymm19, %ymm19, %ymm21 {%k3} {z}
4962
4963 // CHECK: vpsubusb (%rcx), %ymm19, %ymm21
4964 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xd8,0x29]
4965           vpsubusb (%rcx), %ymm19, %ymm21
4966
4967 // CHECK: vpsubusb 291(%rax,%r14,8), %ymm19, %ymm21
4968 // CHECK:  encoding: [0x62,0xa1,0x65,0x20,0xd8,0xac,0xf0,0x23,0x01,0x00,0x00]
4969           vpsubusb 291(%rax,%r14,8), %ymm19, %ymm21
4970
4971 // CHECK: vpsubusb 4064(%rdx), %ymm19, %ymm21
4972 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xd8,0x6a,0x7f]
4973           vpsubusb 4064(%rdx), %ymm19, %ymm21
4974
4975 // CHECK: vpsubusb 4096(%rdx), %ymm19, %ymm21
4976 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xd8,0xaa,0x00,0x10,0x00,0x00]
4977           vpsubusb 4096(%rdx), %ymm19, %ymm21
4978
4979 // CHECK: vpsubusb -4096(%rdx), %ymm19, %ymm21
4980 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xd8,0x6a,0x80]
4981           vpsubusb -4096(%rdx), %ymm19, %ymm21
4982
4983 // CHECK: vpsubusb -4128(%rdx), %ymm19, %ymm21
4984 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xd8,0xaa,0xe0,0xef,0xff,0xff]
4985           vpsubusb -4128(%rdx), %ymm19, %ymm21
4986
4987 // CHECK: vpsubusw %xmm22, %xmm20, %xmm23
4988 // CHECK:  encoding: [0x62,0xa1,0x5d,0x00,0xd9,0xfe]
4989           vpsubusw %xmm22, %xmm20, %xmm23
4990
4991 // CHECK: vpsubusw %xmm22, %xmm20, %xmm23 {%k1}
4992 // CHECK:  encoding: [0x62,0xa1,0x5d,0x01,0xd9,0xfe]
4993           vpsubusw %xmm22, %xmm20, %xmm23 {%k1}
4994
4995 // CHECK: vpsubusw %xmm22, %xmm20, %xmm23 {%k1} {z}
4996 // CHECK:  encoding: [0x62,0xa1,0x5d,0x81,0xd9,0xfe]
4997           vpsubusw %xmm22, %xmm20, %xmm23 {%k1} {z}
4998
4999 // CHECK: vpsubusw (%rcx), %xmm20, %xmm23
5000 // CHECK:  encoding: [0x62,0xe1,0x5d,0x00,0xd9,0x39]
5001           vpsubusw (%rcx), %xmm20, %xmm23
5002
5003 // CHECK: vpsubusw 291(%rax,%r14,8), %xmm20, %xmm23
5004 // CHECK:  encoding: [0x62,0xa1,0x5d,0x00,0xd9,0xbc,0xf0,0x23,0x01,0x00,0x00]
5005           vpsubusw 291(%rax,%r14,8), %xmm20, %xmm23
5006
5007 // CHECK: vpsubusw 2032(%rdx), %xmm20, %xmm23
5008 // CHECK:  encoding: [0x62,0xe1,0x5d,0x00,0xd9,0x7a,0x7f]
5009           vpsubusw 2032(%rdx), %xmm20, %xmm23
5010
5011 // CHECK: vpsubusw 2048(%rdx), %xmm20, %xmm23
5012 // CHECK:  encoding: [0x62,0xe1,0x5d,0x00,0xd9,0xba,0x00,0x08,0x00,0x00]
5013           vpsubusw 2048(%rdx), %xmm20, %xmm23
5014
5015 // CHECK: vpsubusw -2048(%rdx), %xmm20, %xmm23
5016 // CHECK:  encoding: [0x62,0xe1,0x5d,0x00,0xd9,0x7a,0x80]
5017           vpsubusw -2048(%rdx), %xmm20, %xmm23
5018
5019 // CHECK: vpsubusw -2064(%rdx), %xmm20, %xmm23
5020 // CHECK:  encoding: [0x62,0xe1,0x5d,0x00,0xd9,0xba,0xf0,0xf7,0xff,0xff]
5021           vpsubusw -2064(%rdx), %xmm20, %xmm23
5022
5023 // CHECK: vpsubusw %ymm28, %ymm17, %ymm27
5024 // CHECK:  encoding: [0x62,0x01,0x75,0x20,0xd9,0xdc]
5025           vpsubusw %ymm28, %ymm17, %ymm27
5026
5027 // CHECK: vpsubusw %ymm28, %ymm17, %ymm27 {%k3}
5028 // CHECK:  encoding: [0x62,0x01,0x75,0x23,0xd9,0xdc]
5029           vpsubusw %ymm28, %ymm17, %ymm27 {%k3}
5030
5031 // CHECK: vpsubusw %ymm28, %ymm17, %ymm27 {%k3} {z}
5032 // CHECK:  encoding: [0x62,0x01,0x75,0xa3,0xd9,0xdc]
5033           vpsubusw %ymm28, %ymm17, %ymm27 {%k3} {z}
5034
5035 // CHECK: vpsubusw (%rcx), %ymm17, %ymm27
5036 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x19]
5037           vpsubusw (%rcx), %ymm17, %ymm27
5038
5039 // CHECK: vpsubusw 291(%rax,%r14,8), %ymm17, %ymm27
5040 // CHECK:  encoding: [0x62,0x21,0x75,0x20,0xd9,0x9c,0xf0,0x23,0x01,0x00,0x00]
5041           vpsubusw 291(%rax,%r14,8), %ymm17, %ymm27
5042
5043 // CHECK: vpsubusw 4064(%rdx), %ymm17, %ymm27
5044 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x5a,0x7f]
5045           vpsubusw 4064(%rdx), %ymm17, %ymm27
5046
5047 // CHECK: vpsubusw 4096(%rdx), %ymm17, %ymm27
5048 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x9a,0x00,0x10,0x00,0x00]
5049           vpsubusw 4096(%rdx), %ymm17, %ymm27
5050
5051 // CHECK: vpsubusw -4096(%rdx), %ymm17, %ymm27
5052 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x5a,0x80]
5053           vpsubusw -4096(%rdx), %ymm17, %ymm27
5054
5055 // CHECK: vpsubusw -4128(%rdx), %ymm17, %ymm27
5056 // CHECK:  encoding: [0x62,0x61,0x75,0x20,0xd9,0x9a,0xe0,0xef,0xff,0xff]
5057           vpsubusw -4128(%rdx), %ymm17, %ymm27
5058
5059 // CHECK: vpaddsb %xmm18, %xmm23, %xmm17
5060 // CHECK:  encoding: [0x62,0xa1,0x45,0x00,0xec,0xca]
5061           vpaddsb %xmm18, %xmm23, %xmm17
5062
5063 // CHECK: vpaddsb %xmm18, %xmm23, %xmm17 {%k2}
5064 // CHECK:  encoding: [0x62,0xa1,0x45,0x02,0xec,0xca]
5065           vpaddsb %xmm18, %xmm23, %xmm17 {%k2}
5066
5067 // CHECK: vpaddsb %xmm18, %xmm23, %xmm17 {%k2} {z}
5068 // CHECK:  encoding: [0x62,0xa1,0x45,0x82,0xec,0xca]
5069           vpaddsb %xmm18, %xmm23, %xmm17 {%k2} {z}
5070
5071 // CHECK: vpaddsb (%rcx), %xmm23, %xmm17
5072 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xec,0x09]
5073           vpaddsb (%rcx), %xmm23, %xmm17
5074
5075 // CHECK: vpaddsb 4660(%rax,%r14,8), %xmm23, %xmm17
5076 // CHECK:  encoding: [0x62,0xa1,0x45,0x00,0xec,0x8c,0xf0,0x34,0x12,0x00,0x00]
5077           vpaddsb 4660(%rax,%r14,8), %xmm23, %xmm17
5078
5079 // CHECK: vpaddsb 2032(%rdx), %xmm23, %xmm17
5080 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xec,0x4a,0x7f]
5081           vpaddsb 2032(%rdx), %xmm23, %xmm17
5082
5083 // CHECK: vpaddsb 2048(%rdx), %xmm23, %xmm17
5084 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xec,0x8a,0x00,0x08,0x00,0x00]
5085           vpaddsb 2048(%rdx), %xmm23, %xmm17
5086
5087 // CHECK: vpaddsb -2048(%rdx), %xmm23, %xmm17
5088 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xec,0x4a,0x80]
5089           vpaddsb -2048(%rdx), %xmm23, %xmm17
5090
5091 // CHECK: vpaddsb -2064(%rdx), %xmm23, %xmm17
5092 // CHECK:  encoding: [0x62,0xe1,0x45,0x00,0xec,0x8a,0xf0,0xf7,0xff,0xff]
5093           vpaddsb -2064(%rdx), %xmm23, %xmm17
5094
5095 // CHECK: vpaddsb %ymm19, %ymm26, %ymm20
5096 // CHECK:  encoding: [0x62,0xa1,0x2d,0x20,0xec,0xe3]
5097           vpaddsb %ymm19, %ymm26, %ymm20
5098
5099 // CHECK: vpaddsb %ymm19, %ymm26, %ymm20 {%k2}
5100 // CHECK:  encoding: [0x62,0xa1,0x2d,0x22,0xec,0xe3]
5101           vpaddsb %ymm19, %ymm26, %ymm20 {%k2}
5102
5103 // CHECK: vpaddsb %ymm19, %ymm26, %ymm20 {%k2} {z}
5104 // CHECK:  encoding: [0x62,0xa1,0x2d,0xa2,0xec,0xe3]
5105           vpaddsb %ymm19, %ymm26, %ymm20 {%k2} {z}
5106
5107 // CHECK: vpaddsb (%rcx), %ymm26, %ymm20
5108 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xec,0x21]
5109           vpaddsb (%rcx), %ymm26, %ymm20
5110
5111 // CHECK: vpaddsb 4660(%rax,%r14,8), %ymm26, %ymm20
5112 // CHECK:  encoding: [0x62,0xa1,0x2d,0x20,0xec,0xa4,0xf0,0x34,0x12,0x00,0x00]
5113           vpaddsb 4660(%rax,%r14,8), %ymm26, %ymm20
5114
5115 // CHECK: vpaddsb 4064(%rdx), %ymm26, %ymm20
5116 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xec,0x62,0x7f]
5117           vpaddsb 4064(%rdx), %ymm26, %ymm20
5118
5119 // CHECK: vpaddsb 4096(%rdx), %ymm26, %ymm20
5120 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xec,0xa2,0x00,0x10,0x00,0x00]
5121           vpaddsb 4096(%rdx), %ymm26, %ymm20
5122
5123 // CHECK: vpaddsb -4096(%rdx), %ymm26, %ymm20
5124 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xec,0x62,0x80]
5125           vpaddsb -4096(%rdx), %ymm26, %ymm20
5126
5127 // CHECK: vpaddsb -4128(%rdx), %ymm26, %ymm20
5128 // CHECK:  encoding: [0x62,0xe1,0x2d,0x20,0xec,0xa2,0xe0,0xef,0xff,0xff]
5129           vpaddsb -4128(%rdx), %ymm26, %ymm20
5130
5131 // CHECK: vpaddsw %xmm26, %xmm17, %xmm26
5132 // CHECK:  encoding: [0x62,0x01,0x75,0x00,0xed,0xd2]
5133           vpaddsw %xmm26, %xmm17, %xmm26
5134
5135 // CHECK: vpaddsw %xmm26, %xmm17, %xmm26 {%k6}
5136 // CHECK:  encoding: [0x62,0x01,0x75,0x06,0xed,0xd2]
5137           vpaddsw %xmm26, %xmm17, %xmm26 {%k6}
5138
5139 // CHECK: vpaddsw %xmm26, %xmm17, %xmm26 {%k6} {z}
5140 // CHECK:  encoding: [0x62,0x01,0x75,0x86,0xed,0xd2]
5141           vpaddsw %xmm26, %xmm17, %xmm26 {%k6} {z}
5142
5143 // CHECK: vpaddsw (%rcx), %xmm17, %xmm26
5144 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xed,0x11]
5145           vpaddsw (%rcx), %xmm17, %xmm26
5146
5147 // CHECK: vpaddsw 4660(%rax,%r14,8), %xmm17, %xmm26
5148 // CHECK:  encoding: [0x62,0x21,0x75,0x00,0xed,0x94,0xf0,0x34,0x12,0x00,0x00]
5149           vpaddsw 4660(%rax,%r14,8), %xmm17, %xmm26
5150
5151 // CHECK: vpaddsw 2032(%rdx), %xmm17, %xmm26
5152 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xed,0x52,0x7f]
5153           vpaddsw 2032(%rdx), %xmm17, %xmm26
5154
5155 // CHECK: vpaddsw 2048(%rdx), %xmm17, %xmm26
5156 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xed,0x92,0x00,0x08,0x00,0x00]
5157           vpaddsw 2048(%rdx), %xmm17, %xmm26
5158
5159 // CHECK: vpaddsw -2048(%rdx), %xmm17, %xmm26
5160 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xed,0x52,0x80]
5161           vpaddsw -2048(%rdx), %xmm17, %xmm26
5162
5163 // CHECK: vpaddsw -2064(%rdx), %xmm17, %xmm26
5164 // CHECK:  encoding: [0x62,0x61,0x75,0x00,0xed,0x92,0xf0,0xf7,0xff,0xff]
5165           vpaddsw -2064(%rdx), %xmm17, %xmm26
5166
5167 // CHECK: vpaddsw %ymm23, %ymm27, %ymm28
5168 // CHECK:  encoding: [0x62,0x21,0x25,0x20,0xed,0xe7]
5169           vpaddsw %ymm23, %ymm27, %ymm28
5170
5171 // CHECK: vpaddsw %ymm23, %ymm27, %ymm28 {%k4}
5172 // CHECK:  encoding: [0x62,0x21,0x25,0x24,0xed,0xe7]
5173           vpaddsw %ymm23, %ymm27, %ymm28 {%k4}
5174
5175 // CHECK: vpaddsw %ymm23, %ymm27, %ymm28 {%k4} {z}
5176 // CHECK:  encoding: [0x62,0x21,0x25,0xa4,0xed,0xe7]
5177           vpaddsw %ymm23, %ymm27, %ymm28 {%k4} {z}
5178
5179 // CHECK: vpaddsw (%rcx), %ymm27, %ymm28
5180 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xed,0x21]
5181           vpaddsw (%rcx), %ymm27, %ymm28
5182
5183 // CHECK: vpaddsw 4660(%rax,%r14,8), %ymm27, %ymm28
5184 // CHECK:  encoding: [0x62,0x21,0x25,0x20,0xed,0xa4,0xf0,0x34,0x12,0x00,0x00]
5185           vpaddsw 4660(%rax,%r14,8), %ymm27, %ymm28
5186
5187 // CHECK: vpaddsw 4064(%rdx), %ymm27, %ymm28
5188 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xed,0x62,0x7f]
5189           vpaddsw 4064(%rdx), %ymm27, %ymm28
5190
5191 // CHECK: vpaddsw 4096(%rdx), %ymm27, %ymm28
5192 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xed,0xa2,0x00,0x10,0x00,0x00]
5193           vpaddsw 4096(%rdx), %ymm27, %ymm28
5194
5195 // CHECK: vpaddsw -4096(%rdx), %ymm27, %ymm28
5196 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xed,0x62,0x80]
5197           vpaddsw -4096(%rdx), %ymm27, %ymm28
5198
5199 // CHECK: vpaddsw -4128(%rdx), %ymm27, %ymm28
5200 // CHECK:  encoding: [0x62,0x61,0x25,0x20,0xed,0xa2,0xe0,0xef,0xff,0xff]
5201           vpaddsw -4128(%rdx), %ymm27, %ymm28
5202
5203 // CHECK: vpaddusb %xmm18, %xmm21, %xmm17
5204 // CHECK:  encoding: [0x62,0xa1,0x55,0x00,0xdc,0xca]
5205           vpaddusb %xmm18, %xmm21, %xmm17
5206
5207 // CHECK: vpaddusb %xmm18, %xmm21, %xmm17 {%k4}
5208 // CHECK:  encoding: [0x62,0xa1,0x55,0x04,0xdc,0xca]
5209           vpaddusb %xmm18, %xmm21, %xmm17 {%k4}
5210
5211 // CHECK: vpaddusb %xmm18, %xmm21, %xmm17 {%k4} {z}
5212 // CHECK:  encoding: [0x62,0xa1,0x55,0x84,0xdc,0xca]
5213           vpaddusb %xmm18, %xmm21, %xmm17 {%k4} {z}
5214
5215 // CHECK: vpaddusb (%rcx), %xmm21, %xmm17
5216 // CHECK:  encoding: [0x62,0xe1,0x55,0x00,0xdc,0x09]
5217           vpaddusb (%rcx), %xmm21, %xmm17
5218
5219 // CHECK: vpaddusb 4660(%rax,%r14,8), %xmm21, %xmm17
5220 // CHECK:  encoding: [0x62,0xa1,0x55,0x00,0xdc,0x8c,0xf0,0x34,0x12,0x00,0x00]
5221           vpaddusb 4660(%rax,%r14,8), %xmm21, %xmm17
5222
5223 // CHECK: vpaddusb 2032(%rdx), %xmm21, %xmm17
5224 // CHECK:  encoding: [0x62,0xe1,0x55,0x00,0xdc,0x4a,0x7f]
5225           vpaddusb 2032(%rdx), %xmm21, %xmm17
5226
5227 // CHECK: vpaddusb 2048(%rdx), %xmm21, %xmm17
5228 // CHECK:  encoding: [0x62,0xe1,0x55,0x00,0xdc,0x8a,0x00,0x08,0x00,0x00]
5229           vpaddusb 2048(%rdx), %xmm21, %xmm17
5230
5231 // CHECK: vpaddusb -2048(%rdx), %xmm21, %xmm17
5232 // CHECK:  encoding: [0x62,0xe1,0x55,0x00,0xdc,0x4a,0x80]
5233           vpaddusb -2048(%rdx), %xmm21, %xmm17
5234
5235 // CHECK: vpaddusb -2064(%rdx), %xmm21, %xmm17
5236 // CHECK:  encoding: [0x62,0xe1,0x55,0x00,0xdc,0x8a,0xf0,0xf7,0xff,0xff]
5237           vpaddusb -2064(%rdx), %xmm21, %xmm17
5238
5239 // CHECK: vpaddusb %ymm24, %ymm20, %ymm21
5240 // CHECK:  encoding: [0x62,0x81,0x5d,0x20,0xdc,0xe8]
5241           vpaddusb %ymm24, %ymm20, %ymm21
5242
5243 // CHECK: vpaddusb %ymm24, %ymm20, %ymm21 {%k2}
5244 // CHECK:  encoding: [0x62,0x81,0x5d,0x22,0xdc,0xe8]
5245           vpaddusb %ymm24, %ymm20, %ymm21 {%k2}
5246
5247 // CHECK: vpaddusb %ymm24, %ymm20, %ymm21 {%k2} {z}
5248 // CHECK:  encoding: [0x62,0x81,0x5d,0xa2,0xdc,0xe8]
5249           vpaddusb %ymm24, %ymm20, %ymm21 {%k2} {z}
5250
5251 // CHECK: vpaddusb (%rcx), %ymm20, %ymm21
5252 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xdc,0x29]
5253           vpaddusb (%rcx), %ymm20, %ymm21
5254
5255 // CHECK: vpaddusb 4660(%rax,%r14,8), %ymm20, %ymm21
5256 // CHECK:  encoding: [0x62,0xa1,0x5d,0x20,0xdc,0xac,0xf0,0x34,0x12,0x00,0x00]
5257           vpaddusb 4660(%rax,%r14,8), %ymm20, %ymm21
5258
5259 // CHECK: vpaddusb 4064(%rdx), %ymm20, %ymm21
5260 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xdc,0x6a,0x7f]
5261           vpaddusb 4064(%rdx), %ymm20, %ymm21
5262
5263 // CHECK: vpaddusb 4096(%rdx), %ymm20, %ymm21
5264 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xdc,0xaa,0x00,0x10,0x00,0x00]
5265           vpaddusb 4096(%rdx), %ymm20, %ymm21
5266
5267 // CHECK: vpaddusb -4096(%rdx), %ymm20, %ymm21
5268 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xdc,0x6a,0x80]
5269           vpaddusb -4096(%rdx), %ymm20, %ymm21
5270
5271 // CHECK: vpaddusb -4128(%rdx), %ymm20, %ymm21
5272 // CHECK:  encoding: [0x62,0xe1,0x5d,0x20,0xdc,0xaa,0xe0,0xef,0xff,0xff]
5273           vpaddusb -4128(%rdx), %ymm20, %ymm21
5274
5275 // CHECK: vpaddusw %xmm28, %xmm24, %xmm22
5276 // CHECK:  encoding: [0x62,0x81,0x3d,0x00,0xdd,0xf4]
5277           vpaddusw %xmm28, %xmm24, %xmm22
5278
5279 // CHECK: vpaddusw %xmm28, %xmm24, %xmm22 {%k6}
5280 // CHECK:  encoding: [0x62,0x81,0x3d,0x06,0xdd,0xf4]
5281           vpaddusw %xmm28, %xmm24, %xmm22 {%k6}
5282
5283 // CHECK: vpaddusw %xmm28, %xmm24, %xmm22 {%k6} {z}
5284 // CHECK:  encoding: [0x62,0x81,0x3d,0x86,0xdd,0xf4]
5285           vpaddusw %xmm28, %xmm24, %xmm22 {%k6} {z}
5286
5287 // CHECK: vpaddusw (%rcx), %xmm24, %xmm22
5288 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xdd,0x31]
5289           vpaddusw (%rcx), %xmm24, %xmm22
5290
5291 // CHECK: vpaddusw 4660(%rax,%r14,8), %xmm24, %xmm22
5292 // CHECK:  encoding: [0x62,0xa1,0x3d,0x00,0xdd,0xb4,0xf0,0x34,0x12,0x00,0x00]
5293           vpaddusw 4660(%rax,%r14,8), %xmm24, %xmm22
5294
5295 // CHECK: vpaddusw 2032(%rdx), %xmm24, %xmm22
5296 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xdd,0x72,0x7f]
5297           vpaddusw 2032(%rdx), %xmm24, %xmm22
5298
5299 // CHECK: vpaddusw 2048(%rdx), %xmm24, %xmm22
5300 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xdd,0xb2,0x00,0x08,0x00,0x00]
5301           vpaddusw 2048(%rdx), %xmm24, %xmm22
5302
5303 // CHECK: vpaddusw -2048(%rdx), %xmm24, %xmm22
5304 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xdd,0x72,0x80]
5305           vpaddusw -2048(%rdx), %xmm24, %xmm22
5306
5307 // CHECK: vpaddusw -2064(%rdx), %xmm24, %xmm22
5308 // CHECK:  encoding: [0x62,0xe1,0x3d,0x00,0xdd,0xb2,0xf0,0xf7,0xff,0xff]
5309           vpaddusw -2064(%rdx), %xmm24, %xmm22
5310
5311 // CHECK: vpaddusw %ymm25, %ymm19, %ymm21
5312 // CHECK:  encoding: [0x62,0x81,0x65,0x20,0xdd,0xe9]
5313           vpaddusw %ymm25, %ymm19, %ymm21
5314
5315 // CHECK: vpaddusw %ymm25, %ymm19, %ymm21 {%k2}
5316 // CHECK:  encoding: [0x62,0x81,0x65,0x22,0xdd,0xe9]
5317           vpaddusw %ymm25, %ymm19, %ymm21 {%k2}
5318
5319 // CHECK: vpaddusw %ymm25, %ymm19, %ymm21 {%k2} {z}
5320 // CHECK:  encoding: [0x62,0x81,0x65,0xa2,0xdd,0xe9]
5321           vpaddusw %ymm25, %ymm19, %ymm21 {%k2} {z}
5322
5323 // CHECK: vpaddusw (%rcx), %ymm19, %ymm21
5324 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xdd,0x29]
5325           vpaddusw (%rcx), %ymm19, %ymm21
5326
5327 // CHECK: vpaddusw 4660(%rax,%r14,8), %ymm19, %ymm21
5328 // CHECK:  encoding: [0x62,0xa1,0x65,0x20,0xdd,0xac,0xf0,0x34,0x12,0x00,0x00]
5329           vpaddusw 4660(%rax,%r14,8), %ymm19, %ymm21
5330
5331 // CHECK: vpaddusw 4064(%rdx), %ymm19, %ymm21
5332 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xdd,0x6a,0x7f]
5333           vpaddusw 4064(%rdx), %ymm19, %ymm21
5334
5335 // CHECK: vpaddusw 4096(%rdx), %ymm19, %ymm21
5336 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xdd,0xaa,0x00,0x10,0x00,0x00]
5337           vpaddusw 4096(%rdx), %ymm19, %ymm21
5338
5339 // CHECK: vpaddusw -4096(%rdx), %ymm19, %ymm21
5340 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xdd,0x6a,0x80]
5341           vpaddusw -4096(%rdx), %ymm19, %ymm21
5342
5343 // CHECK: vpaddusw -4128(%rdx), %ymm19, %ymm21
5344 // CHECK:  encoding: [0x62,0xe1,0x65,0x20,0xdd,0xaa,0xe0,0xef,0xff,0xff]
5345           vpaddusw -4128(%rdx), %ymm19, %ymm21
5346
5347 // CHECK: vpsubsb %xmm22, %xmm26, %xmm20
5348 // CHECK:  encoding: [0x62,0xa1,0x2d,0x00,0xe8,0xe6]
5349           vpsubsb %xmm22, %xmm26, %xmm20
5350
5351 // CHECK: vpsubsb %xmm22, %xmm26, %xmm20 {%k1}
5352 // CHECK:  encoding: [0x62,0xa1,0x2d,0x01,0xe8,0xe6]
5353           vpsubsb %xmm22, %xmm26, %xmm20 {%k1}
5354
5355 // CHECK: vpsubsb %xmm22, %xmm26, %xmm20 {%k1} {z}
5356 // CHECK:  encoding: [0x62,0xa1,0x2d,0x81,0xe8,0xe6]
5357           vpsubsb %xmm22, %xmm26, %xmm20 {%k1} {z}
5358
5359 // CHECK: vpsubsb (%rcx), %xmm26, %xmm20
5360 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xe8,0x21]
5361           vpsubsb (%rcx), %xmm26, %xmm20
5362
5363 // CHECK: vpsubsb 4660(%rax,%r14,8), %xmm26, %xmm20
5364 // CHECK:  encoding: [0x62,0xa1,0x2d,0x00,0xe8,0xa4,0xf0,0x34,0x12,0x00,0x00]
5365           vpsubsb 4660(%rax,%r14,8), %xmm26, %xmm20
5366
5367 // CHECK: vpsubsb 2032(%rdx), %xmm26, %xmm20
5368 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xe8,0x62,0x7f]
5369           vpsubsb 2032(%rdx), %xmm26, %xmm20
5370
5371 // CHECK: vpsubsb 2048(%rdx), %xmm26, %xmm20
5372 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xe8,0xa2,0x00,0x08,0x00,0x00]
5373           vpsubsb 2048(%rdx), %xmm26, %xmm20
5374
5375 // CHECK: vpsubsb -2048(%rdx), %xmm26, %xmm20
5376 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xe8,0x62,0x80]
5377           vpsubsb -2048(%rdx), %xmm26, %xmm20
5378
5379 // CHECK: vpsubsb -2064(%rdx), %xmm26, %xmm20
5380 // CHECK:  encoding: [0x62,0xe1,0x2d,0x00,0xe8,0xa2,0xf0,0xf7,0xff,0xff]
5381           vpsubsb -2064(%rdx), %xmm26, %xmm20
5382
5383 // CHECK: vpsubsb %ymm26, %ymm18, %ymm25
5384 // CHECK:  encoding: [0x62,0x01,0x6d,0x20,0xe8,0xca]
5385           vpsubsb %ymm26, %ymm18, %ymm25
5386
5387 // CHECK: vpsubsb %ymm26, %ymm18, %ymm25 {%k6}
5388 // CHECK:  encoding: [0x62,0x01,0x6d,0x26,0xe8,0xca]
5389           vpsubsb %ymm26, %ymm18, %ymm25 {%k6}
5390
5391 // CHECK: vpsubsb %ymm26, %ymm18, %ymm25 {%k6} {z}
5392 // CHECK:  encoding: [0x62,0x01,0x6d,0xa6,0xe8,0xca]
5393           vpsubsb %ymm26, %ymm18, %ymm25 {%k6} {z}
5394
5395 // CHECK: vpsubsb (%rcx), %ymm18, %ymm25
5396 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xe8,0x09]
5397           vpsubsb (%rcx), %ymm18, %ymm25
5398
5399 // CHECK: vpsubsb 4660(%rax,%r14,8), %ymm18, %ymm25
5400 // CHECK:  encoding: [0x62,0x21,0x6d,0x20,0xe8,0x8c,0xf0,0x34,0x12,0x00,0x00]
5401           vpsubsb 4660(%rax,%r14,8), %ymm18, %ymm25
5402
5403 // CHECK: vpsubsb 4064(%rdx), %ymm18, %ymm25
5404 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xe8,0x4a,0x7f]
5405           vpsubsb 4064(%rdx), %ymm18, %ymm25
5406
5407 // CHECK: vpsubsb 4096(%rdx), %ymm18, %ymm25
5408 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xe8,0x8a,0x00,0x10,0x00,0x00]
5409           vpsubsb 4096(%rdx), %ymm18, %ymm25
5410
5411 // CHECK: vpsubsb -4096(%rdx), %ymm18, %ymm25
5412 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xe8,0x4a,0x80]
5413           vpsubsb -4096(%rdx), %ymm18, %ymm25
5414
5415 // CHECK: vpsubsb -4128(%rdx), %ymm18, %ymm25
5416 // CHECK:  encoding: [0x62,0x61,0x6d,0x20,0xe8,0x8a,0xe0,0xef,0xff,0xff]
5417           vpsubsb -4128(%rdx), %ymm18, %ymm25
5418
5419 // CHECK: vpsubsw %xmm28, %xmm27, %xmm26
5420 // CHECK:  encoding: [0x62,0x01,0x25,0x00,0xe9,0xd4]
5421           vpsubsw %xmm28, %xmm27, %xmm26
5422
5423 // CHECK: vpsubsw %xmm28, %xmm27, %xmm26 {%k5}
5424 // CHECK:  encoding: [0x62,0x01,0x25,0x05,0xe9,0xd4]
5425           vpsubsw %xmm28, %xmm27, %xmm26 {%k5}
5426
5427 // CHECK: vpsubsw %xmm28, %xmm27, %xmm26 {%k5} {z}
5428 // CHECK:  encoding: [0x62,0x01,0x25,0x85,0xe9,0xd4]
5429           vpsubsw %xmm28, %xmm27, %xmm26 {%k5} {z}
5430
5431 // CHECK: vpsubsw (%rcx), %xmm27, %xmm26
5432 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xe9,0x11]
5433           vpsubsw (%rcx), %xmm27, %xmm26
5434
5435 // CHECK: vpsubsw 4660(%rax,%r14,8), %xmm27, %xmm26
5436 // CHECK:  encoding: [0x62,0x21,0x25,0x00,0xe9,0x94,0xf0,0x34,0x12,0x00,0x00]
5437           vpsubsw 4660(%rax,%r14,8), %xmm27, %xmm26
5438
5439 // CHECK: vpsubsw 2032(%rdx), %xmm27, %xmm26
5440 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xe9,0x52,0x7f]
5441           vpsubsw 2032(%rdx), %xmm27, %xmm26
5442
5443 // CHECK: vpsubsw 2048(%rdx), %xmm27, %xmm26
5444 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xe9,0x92,0x00,0x08,0x00,0x00]
5445           vpsubsw 2048(%rdx), %xmm27, %xmm26
5446
5447 // CHECK: vpsubsw -2048(%rdx), %xmm27, %xmm26
5448 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xe9,0x52,0x80]
5449           vpsubsw -2048(%rdx), %xmm27, %xmm26
5450
5451 // CHECK: vpsubsw -2064(%rdx), %xmm27, %xmm26
5452 // CHECK:  encoding: [0x62,0x61,0x25,0x00,0xe9,0x92,0xf0,0xf7,0xff,0xff]
5453           vpsubsw -2064(%rdx), %xmm27, %xmm26
5454
5455 // CHECK: vpsubsw %ymm21, %ymm25, %ymm22
5456 // CHECK:  encoding: [0x62,0xa1,0x35,0x20,0xe9,0xf5]
5457           vpsubsw %ymm21, %ymm25, %ymm22
5458
5459 // CHECK: vpsubsw %ymm21, %ymm25, %ymm22 {%k3}
5460 // CHECK:  encoding: [0x62,0xa1,0x35,0x23,0xe9,0xf5]
5461           vpsubsw %ymm21, %ymm25, %ymm22 {%k3}
5462
5463 // CHECK: vpsubsw %ymm21, %ymm25, %ymm22 {%k3} {z}
5464 // CHECK:  encoding: [0x62,0xa1,0x35,0xa3,0xe9,0xf5]
5465           vpsubsw %ymm21, %ymm25, %ymm22 {%k3} {z}
5466
5467 // CHECK: vpsubsw (%rcx), %ymm25, %ymm22
5468 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe9,0x31]
5469           vpsubsw (%rcx), %ymm25, %ymm22
5470
5471 // CHECK: vpsubsw 4660(%rax,%r14,8), %ymm25, %ymm22
5472 // CHECK:  encoding: [0x62,0xa1,0x35,0x20,0xe9,0xb4,0xf0,0x34,0x12,0x00,0x00]
5473           vpsubsw 4660(%rax,%r14,8), %ymm25, %ymm22
5474
5475 // CHECK: vpsubsw 4064(%rdx), %ymm25, %ymm22
5476 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe9,0x72,0x7f]
5477           vpsubsw 4064(%rdx), %ymm25, %ymm22
5478
5479 // CHECK: vpsubsw 4096(%rdx), %ymm25, %ymm22
5480 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe9,0xb2,0x00,0x10,0x00,0x00]
5481           vpsubsw 4096(%rdx), %ymm25, %ymm22
5482
5483 // CHECK: vpsubsw -4096(%rdx), %ymm25, %ymm22
5484 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe9,0x72,0x80]
5485           vpsubsw -4096(%rdx), %ymm25, %ymm22
5486
5487 // CHECK: vpsubsw -4128(%rdx), %ymm25, %ymm22
5488 // CHECK:  encoding: [0x62,0xe1,0x35,0x20,0xe9,0xb2,0xe0,0xef,0xff,0xff]
5489           vpsubsw -4128(%rdx), %ymm25, %ymm22
5490
5491 // CHECK: vpsubusb %xmm26, %xmm27, %xmm18
5492 // CHECK:  encoding: [0x62,0x81,0x25,0x00,0xd8,0xd2]
5493           vpsubusb %xmm26, %xmm27, %xmm18
5494
5495 // CHECK: vpsubusb %xmm26, %xmm27, %xmm18 {%k2}
5496 // CHECK:  encoding: [0x62,0x81,0x25,0x02,0xd8,0xd2]
5497           vpsubusb %xmm26, %xmm27, %xmm18 {%k2}
5498
5499 // CHECK: vpsubusb %xmm26, %xmm27, %xmm18 {%k2} {z}
5500 // CHECK:  encoding: [0x62,0x81,0x25,0x82,0xd8,0xd2]
5501           vpsubusb %xmm26, %xmm27, %xmm18 {%k2} {z}
5502
5503 // CHECK: vpsubusb (%rcx), %xmm27, %xmm18
5504 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x11]
5505           vpsubusb (%rcx), %xmm27, %xmm18
5506
5507 // CHECK: vpsubusb 4660(%rax,%r14,8), %xmm27, %xmm18
5508 // CHECK:  encoding: [0x62,0xa1,0x25,0x00,0xd8,0x94,0xf0,0x34,0x12,0x00,0x00]
5509           vpsubusb 4660(%rax,%r14,8), %xmm27, %xmm18
5510
5511 // CHECK: vpsubusb 2032(%rdx), %xmm27, %xmm18
5512 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x52,0x7f]
5513           vpsubusb 2032(%rdx), %xmm27, %xmm18
5514
5515 // CHECK: vpsubusb 2048(%rdx), %xmm27, %xmm18
5516 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x92,0x00,0x08,0x00,0x00]
5517           vpsubusb 2048(%rdx), %xmm27, %xmm18
5518
5519 // CHECK: vpsubusb -2048(%rdx), %xmm27, %xmm18
5520 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x52,0x80]
5521           vpsubusb -2048(%rdx), %xmm27, %xmm18
5522
5523 // CHECK: vpsubusb -2064(%rdx), %xmm27, %xmm18
5524 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd8,0x92,0xf0,0xf7,0xff,0xff]
5525           vpsubusb -2064(%rdx), %xmm27, %xmm18
5526
5527 // CHECK: vpsubusb %ymm19, %ymm19, %ymm25
5528 // CHECK:  encoding: [0x62,0x21,0x65,0x20,0xd8,0xcb]
5529           vpsubusb %ymm19, %ymm19, %ymm25
5530
5531 // CHECK: vpsubusb %ymm19, %ymm19, %ymm25 {%k6}
5532 // CHECK:  encoding: [0x62,0x21,0x65,0x26,0xd8,0xcb]
5533           vpsubusb %ymm19, %ymm19, %ymm25 {%k6}
5534
5535 // CHECK: vpsubusb %ymm19, %ymm19, %ymm25 {%k6} {z}
5536 // CHECK:  encoding: [0x62,0x21,0x65,0xa6,0xd8,0xcb]
5537           vpsubusb %ymm19, %ymm19, %ymm25 {%k6} {z}
5538
5539 // CHECK: vpsubusb (%rcx), %ymm19, %ymm25
5540 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0xd8,0x09]
5541           vpsubusb (%rcx), %ymm19, %ymm25
5542
5543 // CHECK: vpsubusb 4660(%rax,%r14,8), %ymm19, %ymm25
5544 // CHECK:  encoding: [0x62,0x21,0x65,0x20,0xd8,0x8c,0xf0,0x34,0x12,0x00,0x00]
5545           vpsubusb 4660(%rax,%r14,8), %ymm19, %ymm25
5546
5547 // CHECK: vpsubusb 4064(%rdx), %ymm19, %ymm25
5548 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0xd8,0x4a,0x7f]
5549           vpsubusb 4064(%rdx), %ymm19, %ymm25
5550
5551 // CHECK: vpsubusb 4096(%rdx), %ymm19, %ymm25
5552 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0xd8,0x8a,0x00,0x10,0x00,0x00]
5553           vpsubusb 4096(%rdx), %ymm19, %ymm25
5554
5555 // CHECK: vpsubusb -4096(%rdx), %ymm19, %ymm25
5556 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0xd8,0x4a,0x80]
5557           vpsubusb -4096(%rdx), %ymm19, %ymm25
5558
5559 // CHECK: vpsubusb -4128(%rdx), %ymm19, %ymm25
5560 // CHECK:  encoding: [0x62,0x61,0x65,0x20,0xd8,0x8a,0xe0,0xef,0xff,0xff]
5561           vpsubusb -4128(%rdx), %ymm19, %ymm25
5562
5563 // CHECK: vpsubusw %xmm25, %xmm27, %xmm21
5564 // CHECK:  encoding: [0x62,0x81,0x25,0x00,0xd9,0xe9]
5565           vpsubusw %xmm25, %xmm27, %xmm21
5566
5567 // CHECK: vpsubusw %xmm25, %xmm27, %xmm21 {%k5}
5568 // CHECK:  encoding: [0x62,0x81,0x25,0x05,0xd9,0xe9]
5569           vpsubusw %xmm25, %xmm27, %xmm21 {%k5}
5570
5571 // CHECK: vpsubusw %xmm25, %xmm27, %xmm21 {%k5} {z}
5572 // CHECK:  encoding: [0x62,0x81,0x25,0x85,0xd9,0xe9]
5573           vpsubusw %xmm25, %xmm27, %xmm21 {%k5} {z}
5574
5575 // CHECK: vpsubusw (%rcx), %xmm27, %xmm21
5576 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd9,0x29]
5577           vpsubusw (%rcx), %xmm27, %xmm21
5578
5579 // CHECK: vpsubusw 4660(%rax,%r14,8), %xmm27, %xmm21
5580 // CHECK:  encoding: [0x62,0xa1,0x25,0x00,0xd9,0xac,0xf0,0x34,0x12,0x00,0x00]
5581           vpsubusw 4660(%rax,%r14,8), %xmm27, %xmm21
5582
5583 // CHECK: vpsubusw 2032(%rdx), %xmm27, %xmm21
5584 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd9,0x6a,0x7f]
5585           vpsubusw 2032(%rdx), %xmm27, %xmm21
5586
5587 // CHECK: vpsubusw 2048(%rdx), %xmm27, %xmm21
5588 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd9,0xaa,0x00,0x08,0x00,0x00]
5589           vpsubusw 2048(%rdx), %xmm27, %xmm21
5590
5591 // CHECK: vpsubusw -2048(%rdx), %xmm27, %xmm21
5592 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd9,0x6a,0x80]
5593           vpsubusw -2048(%rdx), %xmm27, %xmm21
5594
5595 // CHECK: vpsubusw -2064(%rdx), %xmm27, %xmm21
5596 // CHECK:  encoding: [0x62,0xe1,0x25,0x00,0xd9,0xaa,0xf0,0xf7,0xff,0xff]
5597           vpsubusw -2064(%rdx), %xmm27, %xmm21
5598
5599 // CHECK: vpsubusw %ymm17, %ymm25, %ymm27
5600 // CHECK:  encoding: [0x62,0x21,0x35,0x20,0xd9,0xd9]
5601           vpsubusw %ymm17, %ymm25, %ymm27
5602
5603 // CHECK: vpsubusw %ymm17, %ymm25, %ymm27 {%k4}
5604 // CHECK:  encoding: [0x62,0x21,0x35,0x24,0xd9,0xd9]
5605           vpsubusw %ymm17, %ymm25, %ymm27 {%k4}
5606
5607 // CHECK: vpsubusw %ymm17, %ymm25, %ymm27 {%k4} {z}
5608 // CHECK:  encoding: [0x62,0x21,0x35,0xa4,0xd9,0xd9]
5609           vpsubusw %ymm17, %ymm25, %ymm27 {%k4} {z}
5610
5611 // CHECK: vpsubusw (%rcx), %ymm25, %ymm27
5612 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xd9,0x19]
5613           vpsubusw (%rcx), %ymm25, %ymm27
5614
5615 // CHECK: vpsubusw 4660(%rax,%r14,8), %ymm25, %ymm27
5616 // CHECK:  encoding: [0x62,0x21,0x35,0x20,0xd9,0x9c,0xf0,0x34,0x12,0x00,0x00]
5617           vpsubusw 4660(%rax,%r14,8), %ymm25, %ymm27
5618
5619 // CHECK: vpsubusw 4064(%rdx), %ymm25, %ymm27
5620 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xd9,0x5a,0x7f]
5621           vpsubusw 4064(%rdx), %ymm25, %ymm27
5622
5623 // CHECK: vpsubusw 4096(%rdx), %ymm25, %ymm27
5624 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xd9,0x9a,0x00,0x10,0x00,0x00]
5625           vpsubusw 4096(%rdx), %ymm25, %ymm27
5626
5627 // CHECK: vpsubusw -4096(%rdx), %ymm25, %ymm27
5628 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xd9,0x5a,0x80]
5629           vpsubusw -4096(%rdx), %ymm25, %ymm27
5630
5631 // CHECK: vpsubusw -4128(%rdx), %ymm25, %ymm27
5632 // CHECK:  encoding: [0x62,0x61,0x35,0x20,0xd9,0x9a,0xe0,0xef,0xff,0xff]
5633           vpsubusw -4128(%rdx), %ymm25, %ymm27