xref: /llvm-project/llvm/test/MC/Disassembler/X86/avx512vbmi.txt (revision 7c944dc946048671574800802353373b6586cb2c)
1# RUN: llvm-mc -triple x86_64 -disassemble %s | FileCheck %s --check-prefix=ATT
2# RUN: llvm-mc -triple x86_64 -disassemble -output-asm-variant=1 %s | FileCheck %s --check-prefix=INTEL
3
4# ATT:   vpermb	%xmm28, %xmm29, %xmm30 {%k7}
5# INTEL: vpermb	xmm30 {k7}, xmm29, xmm28
60x62,0x02,0x15,0x07,0x8d,0xf4
7
8# ATT:   vpermb	%xmm28, %xmm29, %xmm30 {%k7} {z}
9# INTEL: vpermb	xmm30 {k7} {z}, xmm29, xmm28
100x62,0x02,0x15,0x87,0x8d,0xf4
11
12# ATT:   vpermb	(%rcx), %xmm29, %xmm30
13# INTEL: vpermb	xmm30, xmm29, xmmword ptr [rcx]
140x62,0x62,0x15,0x00,0x8d,0x31
15
16# ATT:   vpermb	291(%rax,%r14,8), %xmm29, %xmm30
17# INTEL: vpermb	xmm30, xmm29, xmmword ptr [rax + 8*r14 + 291]
180x62,0x22,0x15,0x00,0x8d,0xb4,0xf0,0x23,0x01,0x00,0x00
19
20# ATT:   vpermb	2032(%rdx), %xmm29, %xmm30
21# INTEL: vpermb	xmm30, xmm29, xmmword ptr [rdx + 2032]
220x62,0x62,0x15,0x00,0x8d,0x72,0x7f
23
24# ATT:   vpermb	2048(%rdx), %xmm29, %xmm30
25# INTEL: vpermb	xmm30, xmm29, xmmword ptr [rdx + 2048]
260x62,0x62,0x15,0x00,0x8d,0xb2,0x00,0x08,0x00,0x00
27
28# ATT:   vpermb	-2048(%rdx), %xmm29, %xmm30
29# INTEL: vpermb	xmm30, xmm29, xmmword ptr [rdx - 2048]
300x62,0x62,0x15,0x00,0x8d,0x72,0x80
31
32# ATT:   vpermb	-2064(%rdx), %xmm29, %xmm30
33# INTEL: vpermb	xmm30, xmm29, xmmword ptr [rdx - 2064]
340x62,0x62,0x15,0x00,0x8d,0xb2,0xf0,0xf7,0xff,0xff
35
36# ATT:   vpermb	%ymm28, %ymm29, %ymm30
37# INTEL: vpermb	ymm30, ymm29, ymm28
380x62,0x02,0x15,0x20,0x8d,0xf4
39
40# ATT:   vpermb	%ymm28, %ymm29, %ymm30 {%k7}
41# INTEL: vpermb	ymm30 {k7}, ymm29, ymm28
420x62,0x02,0x15,0x27,0x8d,0xf4
43
44# ATT:   vpermb	%ymm28, %ymm29, %ymm30 {%k7} {z}
45# INTEL: vpermb	ymm30 {k7} {z}, ymm29, ymm28
460x62,0x02,0x15,0xa7,0x8d,0xf4
47
48# ATT:   vpermb	(%rcx), %ymm29, %ymm30
49# INTEL: vpermb	ymm30, ymm29, ymmword ptr [rcx]
500x62,0x62,0x15,0x20,0x8d,0x31
51
52# ATT:   vpermb	291(%rax,%r14,8), %ymm29, %ymm30
53# INTEL: vpermb	ymm30, ymm29, ymmword ptr [rax + 8*r14 + 291]
540x62,0x22,0x15,0x20,0x8d,0xb4,0xf0,0x23,0x01,0x00,0x00
55
56# ATT:   vpermb	4064(%rdx), %ymm29, %ymm30
57# INTEL: vpermb	ymm30, ymm29, ymmword ptr [rdx + 4064]
580x62,0x62,0x15,0x20,0x8d,0x72,0x7f
59
60# ATT:   vpermb	4096(%rdx), %ymm29, %ymm30
61# INTEL: vpermb	ymm30, ymm29, ymmword ptr [rdx + 4096]
620x62,0x62,0x15,0x20,0x8d,0xb2,0x00,0x10,0x00,0x00
63
64# ATT:   vpermb	-4096(%rdx), %ymm29, %ymm30
65# INTEL: vpermb	ymm30, ymm29, ymmword ptr [rdx - 4096]
660x62,0x62,0x15,0x20,0x8d,0x72,0x80
67
68# ATT:   vpermb	-4128(%rdx), %ymm29, %ymm30
69# INTEL: vpermb	ymm30, ymm29, ymmword ptr [rdx - 4128]
700x62,0x62,0x15,0x20,0x8d,0xb2,0xe0,0xef,0xff,0xff
71
72# ATT:   vpermb	%xmm28, %xmm29, %xmm30
73# INTEL: vpermb	xmm30, xmm29, xmm28
740x62,0x02,0x15,0x00,0x8d,0xf4
75
76# ATT:   vpermb	4660(%rax,%r14,8), %xmm29, %xmm30
77# INTEL: vpermb	xmm30, xmm29, xmmword ptr [rax + 8*r14 + 4660]
780x62,0x22,0x15,0x00,0x8d,0xb4,0xf0,0x34,0x12,0x00,0x00
79
80# ATT:   vpermb	4660(%rax,%r14,8), %ymm29, %ymm30
81# INTEL: vpermb	ymm30, ymm29, ymmword ptr [rax + 8*r14 + 4660]
820x62,0x22,0x15,0x20,0x8d,0xb4,0xf0,0x34,0x12,0x00,0x00
83
84# ATT:   vpermb	%zmm28, %zmm29, %zmm30
85# INTEL: vpermb	zmm30, zmm29, zmm28
860x62,0x02,0x15,0x40,0x8d,0xf4
87
88# ATT:   vpermb	%zmm28, %zmm29, %zmm30 {%k7}
89# INTEL: vpermb	zmm30 {k7}, zmm29, zmm28
900x62,0x02,0x15,0x47,0x8d,0xf4
91
92# ATT:   vpermb	%zmm28, %zmm29, %zmm30 {%k7} {z}
93# INTEL: vpermb	zmm30 {k7} {z}, zmm29, zmm28
940x62,0x02,0x15,0xc7,0x8d,0xf4
95
96# ATT:   vpermb	(%rcx), %zmm29, %zmm30
97# INTEL: vpermb	zmm30, zmm29, zmmword ptr [rcx]
980x62,0x62,0x15,0x40,0x8d,0x31
99
100# ATT:   vpermb	291(%rax,%r14,8), %zmm29, %zmm30
101# INTEL: vpermb	zmm30, zmm29, zmmword ptr [rax + 8*r14 + 291]
1020x62,0x22,0x15,0x40,0x8d,0xb4,0xf0,0x23,0x01,0x00,0x00
103
104# ATT:   vpermb	8128(%rdx), %zmm29, %zmm30
105# INTEL: vpermb	zmm30, zmm29, zmmword ptr [rdx + 8128]
1060x62,0x62,0x15,0x40,0x8d,0x72,0x7f
107
108# ATT:   vpermb	8192(%rdx), %zmm29, %zmm30
109# INTEL: vpermb	zmm30, zmm29, zmmword ptr [rdx + 8192]
1100x62,0x62,0x15,0x40,0x8d,0xb2,0x00,0x20,0x00,0x00
111
112# ATT:   vpermb	-8192(%rdx), %zmm29, %zmm30
113# INTEL: vpermb	zmm30, zmm29, zmmword ptr [rdx - 8192]
1140x62,0x62,0x15,0x40,0x8d,0x72,0x80
115
116# ATT:   vpermb	-8256(%rdx), %zmm29, %zmm30
117# INTEL: vpermb	zmm30, zmm29, zmmword ptr [rdx - 8256]
1180x62,0x62,0x15,0x40,0x8d,0xb2,0xc0,0xdf,0xff,0xff
119
120# ATT:   vpermb	4660(%rax,%r14,8), %zmm29, %zmm30
121# INTEL: vpermb	zmm30, zmm29, zmmword ptr [rax + 8*r14 + 4660]
1220x62,0x22,0x15,0x40,0x8d,0xb4,0xf0,0x34,0x12,0x00,0x00
123
124# ATT:   vpermt2b	%xmm28, %xmm29, %xmm30
125# INTEL: vpermt2b	xmm30, xmm29, xmm28
1260x62,0x02,0x15,0x00,0x7d,0xf4
127
128# ATT:   vpermt2b	%xmm28, %xmm29, %xmm30 {%k7}
129# INTEL: vpermt2b	xmm30 {k7}, xmm29, xmm28
1300x62,0x02,0x15,0x07,0x7d,0xf4
131
132# ATT:   vpermt2b	%xmm28, %xmm29, %xmm30 {%k7} {z}
133# INTEL: vpermt2b	xmm30 {k7} {z}, xmm29, xmm28
1340x62,0x02,0x15,0x87,0x7d,0xf4
135
136# ATT:   vpermt2b	(%rcx), %xmm29, %xmm30
137# INTEL: vpermt2b	xmm30, xmm29, xmmword ptr [rcx]
1380x62,0x62,0x15,0x00,0x7d,0x31
139
140# ATT:   vpermt2b	291(%rax,%r14,8), %xmm29, %xmm30
141# INTEL: vpermt2b	xmm30, xmm29, xmmword ptr [rax + 8*r14 + 291]
1420x62,0x22,0x15,0x00,0x7d,0xb4,0xf0,0x23,0x01,0x00,0x00
143
144# ATT:   vpermt2b	2032(%rdx), %xmm29, %xmm30
145# INTEL: vpermt2b	xmm30, xmm29, xmmword ptr [rdx + 2032]
1460x62,0x62,0x15,0x00,0x7d,0x72,0x7f
147
148# ATT:   vpermt2b	2048(%rdx), %xmm29, %xmm30
149# INTEL: vpermt2b	xmm30, xmm29, xmmword ptr [rdx + 2048]
1500x62,0x62,0x15,0x00,0x7d,0xb2,0x00,0x08,0x00,0x00
151
152# ATT:   vpermt2b	-2048(%rdx), %xmm29, %xmm30
153# INTEL: vpermt2b	xmm30, xmm29, xmmword ptr [rdx - 2048]
1540x62,0x62,0x15,0x00,0x7d,0x72,0x80
155
156# ATT:   vpermt2b	-2064(%rdx), %xmm29, %xmm30
157# INTEL: vpermt2b	xmm30, xmm29, xmmword ptr [rdx - 2064]
1580x62,0x62,0x15,0x00,0x7d,0xb2,0xf0,0xf7,0xff,0xff
159
160# ATT:   vpermt2b	%ymm28, %ymm29, %ymm30
161# INTEL: vpermt2b	ymm30, ymm29, ymm28
1620x62,0x02,0x15,0x20,0x7d,0xf4
163
164# ATT:   vpermt2b	%ymm28, %ymm29, %ymm30 {%k7}
165# INTEL: vpermt2b	ymm30 {k7}, ymm29, ymm28
1660x62,0x02,0x15,0x27,0x7d,0xf4
167
168# ATT:   vpermt2b	%ymm28, %ymm29, %ymm30 {%k7} {z}
169# INTEL: vpermt2b	ymm30 {k7} {z}, ymm29, ymm28
1700x62,0x02,0x15,0xa7,0x7d,0xf4
171
172# ATT:   vpermt2b	(%rcx), %ymm29, %ymm30
173# INTEL: vpermt2b	ymm30, ymm29, ymmword ptr [rcx]
1740x62,0x62,0x15,0x20,0x7d,0x31
175
176# ATT:   vpermt2b	291(%rax,%r14,8), %ymm29, %ymm30
177# INTEL: vpermt2b	ymm30, ymm29, ymmword ptr [rax + 8*r14 + 291]
1780x62,0x22,0x15,0x20,0x7d,0xb4,0xf0,0x23,0x01,0x00,0x00
179
180# ATT:   vpermt2b	4064(%rdx), %ymm29, %ymm30
181# INTEL: vpermt2b	ymm30, ymm29, ymmword ptr [rdx + 4064]
1820x62,0x62,0x15,0x20,0x7d,0x72,0x7f
183
184# ATT:   vpermt2b	4096(%rdx), %ymm29, %ymm30
185# INTEL: vpermt2b	ymm30, ymm29, ymmword ptr [rdx + 4096]
1860x62,0x62,0x15,0x20,0x7d,0xb2,0x00,0x10,0x00,0x00
187
188# ATT:   vpermt2b	-4096(%rdx), %ymm29, %ymm30
189# INTEL: vpermt2b	ymm30, ymm29, ymmword ptr [rdx - 4096]
1900x62,0x62,0x15,0x20,0x7d,0x72,0x80
191
192# ATT:   vpermt2b	-4128(%rdx), %ymm29, %ymm30
193# INTEL: vpermt2b	ymm30, ymm29, ymmword ptr [rdx - 4128]
1940x62,0x62,0x15,0x20,0x7d,0xb2,0xe0,0xef,0xff,0xff
195
196# ATT:   vpermt2b	4660(%rax,%r14,8), %xmm29, %xmm30
197# INTEL: vpermt2b	xmm30, xmm29, xmmword ptr [rax + 8*r14 + 4660]
1980x62,0x22,0x15,0x00,0x7d,0xb4,0xf0,0x34,0x12,0x00,0x00
199
200# ATT:   vpermt2b	4660(%rax,%r14,8), %ymm29, %ymm30
201# INTEL: vpermt2b	ymm30, ymm29, ymmword ptr [rax + 8*r14 + 4660]
2020x62,0x22,0x15,0x20,0x7d,0xb4,0xf0,0x34,0x12,0x00,0x00
203
204# ATT:   vpermt2b	%zmm28, %zmm29, %zmm30
205# INTEL: vpermt2b	zmm30, zmm29, zmm28
2060x62,0x02,0x15,0x40,0x7d,0xf4
207
208# ATT:   vpermt2b	%zmm28, %zmm29, %zmm30 {%k7}
209# INTEL: vpermt2b	zmm30 {k7}, zmm29, zmm28
2100x62,0x02,0x15,0x47,0x7d,0xf4
211
212# ATT:   vpermt2b	%zmm28, %zmm29, %zmm30 {%k7} {z}
213# INTEL: vpermt2b	zmm30 {k7} {z}, zmm29, zmm28
2140x62,0x02,0x15,0xc7,0x7d,0xf4
215
216# ATT:   vpermt2b	(%rcx), %zmm29, %zmm30
217# INTEL: vpermt2b	zmm30, zmm29, zmmword ptr [rcx]
2180x62,0x62,0x15,0x40,0x7d,0x31
219
220# ATT:   vpermt2b	291(%rax,%r14,8), %zmm29, %zmm30
221# INTEL: vpermt2b	zmm30, zmm29, zmmword ptr [rax + 8*r14 + 291]
2220x62,0x22,0x15,0x40,0x7d,0xb4,0xf0,0x23,0x01,0x00,0x00
223
224# ATT:   vpermt2b	8128(%rdx), %zmm29, %zmm30
225# INTEL: vpermt2b	zmm30, zmm29, zmmword ptr [rdx + 8128]
2260x62,0x62,0x15,0x40,0x7d,0x72,0x7f
227
228# ATT:   vpermt2b	8192(%rdx), %zmm29, %zmm30
229# INTEL: vpermt2b	zmm30, zmm29, zmmword ptr [rdx + 8192]
2300x62,0x62,0x15,0x40,0x7d,0xb2,0x00,0x20,0x00,0x00
231
232# ATT:   vpermt2b	-8192(%rdx), %zmm29, %zmm30
233# INTEL: vpermt2b	zmm30, zmm29, zmmword ptr [rdx - 8192]
2340x62,0x62,0x15,0x40,0x7d,0x72,0x80
235
236# ATT:   vpermt2b	-8256(%rdx), %zmm29, %zmm30
237# INTEL: vpermt2b	zmm30, zmm29, zmmword ptr [rdx - 8256]
2380x62,0x62,0x15,0x40,0x7d,0xb2,0xc0,0xdf,0xff,0xff
239
240# ATT:   vpermt2b	4660(%rax,%r14,8), %zmm29, %zmm30
241# INTEL: vpermt2b	zmm30, zmm29, zmmword ptr [rax + 8*r14 + 4660]
2420x62,0x22,0x15,0x40,0x7d,0xb4,0xf0,0x34,0x12,0x00,0x00
243
244# ATT:   vpermi2b	%xmm28, %xmm29, %xmm30
245# INTEL: vpermi2b	xmm30, xmm29, xmm28
2460x62,0x02,0x15,0x00,0x75,0xf4
247
248# ATT:   vpermi2b	%xmm28, %xmm29, %xmm30 {%k7}
249# INTEL: vpermi2b	xmm30 {k7}, xmm29, xmm28
2500x62,0x02,0x15,0x07,0x75,0xf4
251
252# ATT:   vpermi2b	%xmm28, %xmm29, %xmm30 {%k7} {z}
253# INTEL: vpermi2b	xmm30 {k7} {z}, xmm29, xmm28
2540x62,0x02,0x15,0x87,0x75,0xf4
255
256# ATT:   vpermi2b	(%rcx), %xmm29, %xmm30
257# INTEL: vpermi2b	xmm30, xmm29, xmmword ptr [rcx]
2580x62,0x62,0x15,0x00,0x75,0x31
259
260# ATT:   vpermi2b	291(%rax,%r14,8), %xmm29, %xmm30
261# INTEL: vpermi2b	xmm30, xmm29, xmmword ptr [rax + 8*r14 + 291]
2620x62,0x22,0x15,0x00,0x75,0xb4,0xf0,0x23,0x01,0x00,0x00
263
264# ATT:   vpermi2b	2032(%rdx), %xmm29, %xmm30
265# INTEL: vpermi2b	xmm30, xmm29, xmmword ptr [rdx + 2032]
2660x62,0x62,0x15,0x00,0x75,0x72,0x7f
267
268# ATT:   vpermi2b	2048(%rdx), %xmm29, %xmm30
269# INTEL: vpermi2b	xmm30, xmm29, xmmword ptr [rdx + 2048]
2700x62,0x62,0x15,0x00,0x75,0xb2,0x00,0x08,0x00,0x00
271
272# ATT:   vpermi2b	-2048(%rdx), %xmm29, %xmm30
273# INTEL: vpermi2b	xmm30, xmm29, xmmword ptr [rdx - 2048]
2740x62,0x62,0x15,0x00,0x75,0x72,0x80
275
276# ATT:   vpermi2b	-2064(%rdx), %xmm29, %xmm30
277# INTEL: vpermi2b	xmm30, xmm29, xmmword ptr [rdx - 2064]
2780x62,0x62,0x15,0x00,0x75,0xb2,0xf0,0xf7,0xff,0xff
279
280# ATT:   vpermi2b	%ymm28, %ymm29, %ymm30
281# INTEL: vpermi2b	ymm30, ymm29, ymm28
2820x62,0x02,0x15,0x20,0x75,0xf4
283
284# ATT:   vpermi2b	%ymm28, %ymm29, %ymm30 {%k7}
285# INTEL: vpermi2b	ymm30 {k7}, ymm29, ymm28
2860x62,0x02,0x15,0x27,0x75,0xf4
287
288# ATT:   vpermi2b	%ymm28, %ymm29, %ymm30 {%k7} {z}
289# INTEL: vpermi2b	ymm30 {k7} {z}, ymm29, ymm28
2900x62,0x02,0x15,0xa7,0x75,0xf4
291
292# ATT:   vpermi2b	(%rcx), %ymm29, %ymm30
293# INTEL: vpermi2b	ymm30, ymm29, ymmword ptr [rcx]
2940x62,0x62,0x15,0x20,0x75,0x31
295
296# ATT:   vpermi2b	291(%rax,%r14,8), %ymm29, %ymm30
297# INTEL: vpermi2b	ymm30, ymm29, ymmword ptr [rax + 8*r14 + 291]
2980x62,0x22,0x15,0x20,0x75,0xb4,0xf0,0x23,0x01,0x00,0x00
299
300# ATT:   vpermi2b	4064(%rdx), %ymm29, %ymm30
301# INTEL: vpermi2b	ymm30, ymm29, ymmword ptr [rdx + 4064]
3020x62,0x62,0x15,0x20,0x75,0x72,0x7f
303
304# ATT:   vpermi2b	4096(%rdx), %ymm29, %ymm30
305# INTEL: vpermi2b	ymm30, ymm29, ymmword ptr [rdx + 4096]
3060x62,0x62,0x15,0x20,0x75,0xb2,0x00,0x10,0x00,0x00
307
308# ATT:   vpermi2b	-4096(%rdx), %ymm29, %ymm30
309# INTEL: vpermi2b	ymm30, ymm29, ymmword ptr [rdx - 4096]
3100x62,0x62,0x15,0x20,0x75,0x72,0x80
311
312# ATT:   vpermi2b	-4128(%rdx), %ymm29, %ymm30
313# INTEL: vpermi2b	ymm30, ymm29, ymmword ptr [rdx - 4128]
3140x62,0x62,0x15,0x20,0x75,0xb2,0xe0,0xef,0xff,0xff
315
316# ATT:   vpermi2b	4660(%rax,%r14,8), %xmm29, %xmm30
317# INTEL: vpermi2b	xmm30, xmm29, xmmword ptr [rax + 8*r14 + 4660]
3180x62,0x22,0x15,0x00,0x75,0xb4,0xf0,0x34,0x12,0x00,0x00
319
320# ATT:   vpermi2b	4660(%rax,%r14,8), %ymm29, %ymm30
321# INTEL: vpermi2b	ymm30, ymm29, ymmword ptr [rax + 8*r14 + 4660]
3220x62,0x22,0x15,0x20,0x75,0xb4,0xf0,0x34,0x12,0x00,0x00
323
324# ATT:   vpermi2b	%zmm28, %zmm29, %zmm30
325# INTEL: vpermi2b	zmm30, zmm29, zmm28
3260x62,0x02,0x15,0x40,0x75,0xf4
327
328# ATT:   vpermi2b	%zmm28, %zmm29, %zmm30 {%k7}
329# INTEL: vpermi2b	zmm30 {k7}, zmm29, zmm28
3300x62,0x02,0x15,0x47,0x75,0xf4
331
332# ATT:   vpermi2b	%zmm28, %zmm29, %zmm30 {%k7} {z}
333# INTEL: vpermi2b	zmm30 {k7} {z}, zmm29, zmm28
3340x62,0x02,0x15,0xc7,0x75,0xf4
335
336# ATT:   vpermi2b	(%rcx), %zmm29, %zmm30
337# INTEL: vpermi2b	zmm30, zmm29, zmmword ptr [rcx]
3380x62,0x62,0x15,0x40,0x75,0x31
339
340# ATT:   vpermi2b	291(%rax,%r14,8), %zmm29, %zmm30
341# INTEL: vpermi2b	zmm30, zmm29, zmmword ptr [rax + 8*r14 + 291]
3420x62,0x22,0x15,0x40,0x75,0xb4,0xf0,0x23,0x01,0x00,0x00
343
344# ATT:   vpermi2b	8128(%rdx), %zmm29, %zmm30
345# INTEL: vpermi2b	zmm30, zmm29, zmmword ptr [rdx + 8128]
3460x62,0x62,0x15,0x40,0x75,0x72,0x7f
347
348# ATT:   vpermi2b	8192(%rdx), %zmm29, %zmm30
349# INTEL: vpermi2b	zmm30, zmm29, zmmword ptr [rdx + 8192]
3500x62,0x62,0x15,0x40,0x75,0xb2,0x00,0x20,0x00,0x00
351
352# ATT:   vpermi2b	-8192(%rdx), %zmm29, %zmm30
353# INTEL: vpermi2b	zmm30, zmm29, zmmword ptr [rdx - 8192]
3540x62,0x62,0x15,0x40,0x75,0x72,0x80
355
356# ATT:   vpermi2b	-8256(%rdx), %zmm29, %zmm30
357# INTEL: vpermi2b	zmm30, zmm29, zmmword ptr [rdx - 8256]
3580x62,0x62,0x15,0x40,0x75,0xb2,0xc0,0xdf,0xff,0xff
359
360# ATT:   vpermi2b	4660(%rax,%r14,8), %zmm29, %zmm30
361# INTEL: vpermi2b	zmm30, zmm29, zmmword ptr [rax + 8*r14 + 4660]
3620x62,0x22,0x15,0x40,0x75,0xb4,0xf0,0x34,0x12,0x00,0x00
363
364# ATT:   vpmultishiftqb	%xmm28, %xmm29, %xmm30
365# INTEL: vpmultishiftqb	xmm30, xmm29, xmm28
3660x62,0x02,0x95,0x00,0x83,0xf4
367
368# ATT:   vpmultishiftqb	%xmm28, %xmm29, %xmm30 {%k7}
369# INTEL: vpmultishiftqb	xmm30 {k7}, xmm29, xmm28
3700x62,0x02,0x95,0x07,0x83,0xf4
371
372# ATT:   vpmultishiftqb	%xmm28, %xmm29, %xmm30 {%k7} {z}
373# INTEL: vpmultishiftqb	xmm30 {k7} {z}, xmm29, xmm28
3740x62,0x02,0x95,0x87,0x83,0xf4
375
376# ATT:   vpmultishiftqb	(%rcx), %xmm29, %xmm30
377# INTEL: vpmultishiftqb	xmm30, xmm29, xmmword ptr [rcx]
3780x62,0x62,0x95,0x00,0x83,0x31
379
380# ATT:   vpmultishiftqb	291(%rax,%r14,8), %xmm29, %xmm30
381# INTEL: vpmultishiftqb	xmm30, xmm29, xmmword ptr [rax + 8*r14 + 291]
3820x62,0x22,0x95,0x00,0x83,0xb4,0xf0,0x23,0x01,0x00,0x00
383
384# ATT:   vpmultishiftqb	(%rcx){1to2}, %xmm29, %xmm30
385# INTEL: vpmultishiftqb	xmm30, xmm29, qword ptr [rcx]{1to2}
3860x62,0x62,0x95,0x10,0x83,0x31
387
388# ATT:   vpmultishiftqb	2032(%rdx), %xmm29, %xmm30
389# INTEL: vpmultishiftqb	xmm30, xmm29, xmmword ptr [rdx + 2032]
3900x62,0x62,0x95,0x00,0x83,0x72,0x7f
391
392# ATT:   vpmultishiftqb	2048(%rdx), %xmm29, %xmm30
393# INTEL: vpmultishiftqb	xmm30, xmm29, xmmword ptr [rdx + 2048]
3940x62,0x62,0x95,0x00,0x83,0xb2,0x00,0x08,0x00,0x00
395
396# ATT:   vpmultishiftqb	-2048(%rdx), %xmm29, %xmm30
397# INTEL: vpmultishiftqb	xmm30, xmm29, xmmword ptr [rdx - 2048]
3980x62,0x62,0x95,0x00,0x83,0x72,0x80
399
400# ATT:   vpmultishiftqb	-2064(%rdx), %xmm29, %xmm30
401# INTEL: vpmultishiftqb	xmm30, xmm29, xmmword ptr [rdx - 2064]
4020x62,0x62,0x95,0x00,0x83,0xb2,0xf0,0xf7,0xff,0xff
403
404# ATT:   vpmultishiftqb	1016(%rdx){1to2}, %xmm29, %xmm30
405# INTEL: vpmultishiftqb	xmm30, xmm29, qword ptr [rdx + 1016]{1to2}
4060x62,0x62,0x95,0x10,0x83,0x72,0x7f
407
408# ATT:   vpmultishiftqb	1024(%rdx){1to2}, %xmm29, %xmm30
409# INTEL: vpmultishiftqb	xmm30, xmm29, qword ptr [rdx + 1024]{1to2}
4100x62,0x62,0x95,0x10,0x83,0xb2,0x00,0x04,0x00,0x00
411
412# ATT:   vpmultishiftqb	-1024(%rdx){1to2}, %xmm29, %xmm30
413# INTEL: vpmultishiftqb	xmm30, xmm29, qword ptr [rdx - 1024]{1to2}
4140x62,0x62,0x95,0x10,0x83,0x72,0x80
415
416# ATT:   vpmultishiftqb	-1032(%rdx){1to2}, %xmm29, %xmm30
417# INTEL: vpmultishiftqb	xmm30, xmm29, qword ptr [rdx - 1032]{1to2}
4180x62,0x62,0x95,0x10,0x83,0xb2,0xf8,0xfb,0xff,0xff
419
420# ATT:   vpmultishiftqb	%ymm28, %ymm29, %ymm30
421# INTEL: vpmultishiftqb	ymm30, ymm29, ymm28
4220x62,0x02,0x95,0x20,0x83,0xf4
423
424# ATT:   vpmultishiftqb	%ymm28, %ymm29, %ymm30 {%k7}
425# INTEL: vpmultishiftqb	ymm30 {k7}, ymm29, ymm28
4260x62,0x02,0x95,0x27,0x83,0xf4
427
428# ATT:   vpmultishiftqb	%ymm28, %ymm29, %ymm30 {%k7} {z}
429# INTEL: vpmultishiftqb	ymm30 {k7} {z}, ymm29, ymm28
4300x62,0x02,0x95,0xa7,0x83,0xf4
431
432# ATT:   vpmultishiftqb	(%rcx), %ymm29, %ymm30
433# INTEL: vpmultishiftqb	ymm30, ymm29, ymmword ptr [rcx]
4340x62,0x62,0x95,0x20,0x83,0x31
435
436# ATT:   vpmultishiftqb	291(%rax,%r14,8), %ymm29, %ymm30
437# INTEL: vpmultishiftqb	ymm30, ymm29, ymmword ptr [rax + 8*r14 + 291]
4380x62,0x22,0x95,0x20,0x83,0xb4,0xf0,0x23,0x01,0x00,0x00
439
440# ATT:   vpmultishiftqb	(%rcx){1to4}, %ymm29, %ymm30
441# INTEL: vpmultishiftqb	ymm30, ymm29, qword ptr [rcx]{1to4}
4420x62,0x62,0x95,0x30,0x83,0x31
443
444# ATT:   vpmultishiftqb	4064(%rdx), %ymm29, %ymm30
445# INTEL: vpmultishiftqb	ymm30, ymm29, ymmword ptr [rdx + 4064]
4460x62,0x62,0x95,0x20,0x83,0x72,0x7f
447
448# ATT:   vpmultishiftqb	4096(%rdx), %ymm29, %ymm30
449# INTEL: vpmultishiftqb	ymm30, ymm29, ymmword ptr [rdx + 4096]
4500x62,0x62,0x95,0x20,0x83,0xb2,0x00,0x10,0x00,0x00
451
452# ATT:   vpmultishiftqb	-4096(%rdx), %ymm29, %ymm30
453# INTEL: vpmultishiftqb	ymm30, ymm29, ymmword ptr [rdx - 4096]
4540x62,0x62,0x95,0x20,0x83,0x72,0x80
455
456# ATT:   vpmultishiftqb	-4128(%rdx), %ymm29, %ymm30
457# INTEL: vpmultishiftqb	ymm30, ymm29, ymmword ptr [rdx - 4128]
4580x62,0x62,0x95,0x20,0x83,0xb2,0xe0,0xef,0xff,0xff
459
460# ATT:   vpmultishiftqb	1016(%rdx){1to4}, %ymm29, %ymm30
461# INTEL: vpmultishiftqb	ymm30, ymm29, qword ptr [rdx + 1016]{1to4}
4620x62,0x62,0x95,0x30,0x83,0x72,0x7f
463
464# ATT:   vpmultishiftqb	1024(%rdx){1to4}, %ymm29, %ymm30
465# INTEL: vpmultishiftqb	ymm30, ymm29, qword ptr [rdx + 1024]{1to4}
4660x62,0x62,0x95,0x30,0x83,0xb2,0x00,0x04,0x00,0x00
467
468# ATT:   vpmultishiftqb	-1024(%rdx){1to4}, %ymm29, %ymm30
469# INTEL: vpmultishiftqb	ymm30, ymm29, qword ptr [rdx - 1024]{1to4}
4700x62,0x62,0x95,0x30,0x83,0x72,0x80
471
472# ATT:   vpmultishiftqb	-1032(%rdx){1to4}, %ymm29, %ymm30
473# INTEL: vpmultishiftqb	ymm30, ymm29, qword ptr [rdx - 1032]{1to4}
4740x62,0x62,0x95,0x30,0x83,0xb2,0xf8,0xfb,0xff,0xff
475
476# ATT:   vpmultishiftqb	4660(%rax,%r14,8), %xmm29, %xmm30
477# INTEL: vpmultishiftqb	xmm30, xmm29, xmmword ptr [rax + 8*r14 + 4660]
4780x62,0x22,0x95,0x00,0x83,0xb4,0xf0,0x34,0x12,0x00,0x00
479
480# ATT:   vpmultishiftqb	4660(%rax,%r14,8), %ymm29, %ymm30
481# INTEL: vpmultishiftqb	ymm30, ymm29, ymmword ptr [rax + 8*r14 + 4660]
4820x62,0x22,0x95,0x20,0x83,0xb4,0xf0,0x34,0x12,0x00,0x00
483
484# ATT:   vpmultishiftqb	%zmm28, %zmm29, %zmm30
485# INTEL: vpmultishiftqb	zmm30, zmm29, zmm28
4860x62,0x02,0x95,0x40,0x83,0xf4
487
488# ATT:   vpmultishiftqb	%zmm28, %zmm29, %zmm30 {%k7}
489# INTEL: vpmultishiftqb	zmm30 {k7}, zmm29, zmm28
4900x62,0x02,0x95,0x47,0x83,0xf4
491
492# ATT:   vpmultishiftqb	%zmm28, %zmm29, %zmm30 {%k7} {z}
493# INTEL: vpmultishiftqb	zmm30 {k7} {z}, zmm29, zmm28
4940x62,0x02,0x95,0xc7,0x83,0xf4
495
496# ATT:   vpmultishiftqb	(%rcx), %zmm29, %zmm30
497# INTEL: vpmultishiftqb	zmm30, zmm29, zmmword ptr [rcx]
4980x62,0x62,0x95,0x40,0x83,0x31
499
500# ATT:   vpmultishiftqb	291(%rax,%r14,8), %zmm29, %zmm30
501# INTEL: vpmultishiftqb	zmm30, zmm29, zmmword ptr [rax + 8*r14 + 291]
5020x62,0x22,0x95,0x40,0x83,0xb4,0xf0,0x23,0x01,0x00,0x00
503
504# ATT:   vpmultishiftqb	(%rcx){1to8}, %zmm29, %zmm30
505# INTEL: vpmultishiftqb	zmm30, zmm29, qword ptr [rcx]{1to8}
5060x62,0x62,0x95,0x50,0x83,0x31
507
508# ATT:   vpmultishiftqb	8128(%rdx), %zmm29, %zmm30
509# INTEL: vpmultishiftqb	zmm30, zmm29, zmmword ptr [rdx + 8128]
5100x62,0x62,0x95,0x40,0x83,0x72,0x7f
511
512# ATT:   vpmultishiftqb	8192(%rdx), %zmm29, %zmm30
513# INTEL: vpmultishiftqb	zmm30, zmm29, zmmword ptr [rdx + 8192]
5140x62,0x62,0x95,0x40,0x83,0xb2,0x00,0x20,0x00,0x00
515
516# ATT:   vpmultishiftqb	-8192(%rdx), %zmm29, %zmm30
517# INTEL: vpmultishiftqb	zmm30, zmm29, zmmword ptr [rdx - 8192]
5180x62,0x62,0x95,0x40,0x83,0x72,0x80
519
520# ATT:   vpmultishiftqb	-8256(%rdx), %zmm29, %zmm30
521# INTEL: vpmultishiftqb	zmm30, zmm29, zmmword ptr [rdx - 8256]
5220x62,0x62,0x95,0x40,0x83,0xb2,0xc0,0xdf,0xff,0xff
523
524# ATT:   vpmultishiftqb	1016(%rdx){1to8}, %zmm29, %zmm30
525# INTEL: vpmultishiftqb	zmm30, zmm29, qword ptr [rdx + 1016]{1to8}
5260x62,0x62,0x95,0x50,0x83,0x72,0x7f
527
528# ATT:   vpmultishiftqb	1024(%rdx){1to8}, %zmm29, %zmm30
529# INTEL: vpmultishiftqb	zmm30, zmm29, qword ptr [rdx + 1024]{1to8}
5300x62,0x62,0x95,0x50,0x83,0xb2,0x00,0x04,0x00,0x00
531
532# ATT:   vpmultishiftqb	-1024(%rdx){1to8}, %zmm29, %zmm30
533# INTEL: vpmultishiftqb	zmm30, zmm29, qword ptr [rdx - 1024]{1to8}
5340x62,0x62,0x95,0x50,0x83,0x72,0x80
535
536# ATT:   vpmultishiftqb	-1032(%rdx){1to8}, %zmm29, %zmm30
537# INTEL: vpmultishiftqb	zmm30, zmm29, qword ptr [rdx - 1032]{1to8}
5380x62,0x62,0x95,0x50,0x83,0xb2,0xf8,0xfb,0xff,0xff
539
540# ATT:   vpmultishiftqb	4660(%rax,%r14,8), %zmm29, %zmm30
541# INTEL: vpmultishiftqb	zmm30, zmm29, zmmword ptr [rax + 8*r14 + 4660]
5420x62,0x22,0x95,0x40,0x83,0xb4,0xf0,0x34,0x12,0x00,0x00
543