xref: /llvm-project/llvm/test/MC/Disassembler/X86/apx/rol.txt (revision 5c68c6d70fc204b0efdb2af95dfb328d616129e3)
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:   {evex}	rolb	$123, %bl
5# INTEL: {evex}	rol	bl, 123
60x62,0xf4,0x7c,0x08,0xc0,0xc3,0x7b
7
8# ATT:   {nf}	rolb	$123, %bl
9# INTEL: {nf}	rol	bl, 123
100x62,0xf4,0x7c,0x0c,0xc0,0xc3,0x7b
11
12# ATT:   rolb	$123, %bl, %bl
13# INTEL: rol	bl, bl, 123
140x62,0xf4,0x64,0x18,0xc0,0xc3,0x7b
15
16# ATT:   {nf}	rolb	$123, %bl, %bl
17# INTEL: {nf}	rol	bl, bl, 123
180x62,0xf4,0x64,0x1c,0xc0,0xc3,0x7b
19
20# ATT:   {evex}	rolw	$123, %dx
21# INTEL: {evex}	rol	dx, 123
220x62,0xf4,0x7d,0x08,0xc1,0xc2,0x7b
23
24# ATT:   {nf}	rolw	$123, %dx
25# INTEL: {nf}	rol	dx, 123
260x62,0xf4,0x7d,0x0c,0xc1,0xc2,0x7b
27
28# ATT:   rolw	$123, %dx, %dx
29# INTEL: rol	dx, dx, 123
300x62,0xf4,0x6d,0x18,0xc1,0xc2,0x7b
31
32# ATT:   {nf}	rolw	$123, %dx, %dx
33# INTEL: {nf}	rol	dx, dx, 123
340x62,0xf4,0x6d,0x1c,0xc1,0xc2,0x7b
35
36# ATT:   {evex}	roll	$123, %ecx
37# INTEL: {evex}	rol	ecx, 123
380x62,0xf4,0x7c,0x08,0xc1,0xc1,0x7b
39
40# ATT:   {nf}	roll	$123, %ecx
41# INTEL: {nf}	rol	ecx, 123
420x62,0xf4,0x7c,0x0c,0xc1,0xc1,0x7b
43
44# ATT:   roll	$123, %ecx, %ecx
45# INTEL: rol	ecx, ecx, 123
460x62,0xf4,0x74,0x18,0xc1,0xc1,0x7b
47
48# ATT:   {nf}	roll	$123, %ecx, %ecx
49# INTEL: {nf}	rol	ecx, ecx, 123
500x62,0xf4,0x74,0x1c,0xc1,0xc1,0x7b
51
52# ATT:   {evex}	rolq	$123, %r9
53# INTEL: {evex}	rol	r9, 123
540x62,0xd4,0xfc,0x08,0xc1,0xc1,0x7b
55
56# ATT:   {nf}	rolq	$123, %r9
57# INTEL: {nf}	rol	r9, 123
580x62,0xd4,0xfc,0x0c,0xc1,0xc1,0x7b
59
60# ATT:   rolq	$123, %r9, %r9
61# INTEL: rol	r9, r9, 123
620x62,0xd4,0xb4,0x18,0xc1,0xc1,0x7b
63
64# ATT:   {nf}	rolq	$123, %r9, %r9
65# INTEL: {nf}	rol	r9, r9, 123
660x62,0xd4,0xb4,0x1c,0xc1,0xc1,0x7b
67
68# ATT:   {evex}	rolb	$123, 291(%r8,%rax,4)
69# INTEL: {evex}	rol	byte ptr [r8 + 4*rax + 291], 123
700x62,0xd4,0x7c,0x08,0xc0,0x84,0x80,0x23,0x01,0x00,0x00,0x7b
71
72# ATT:   {nf}	rolb	$123, 291(%r8,%rax,4)
73# INTEL: {nf}	rol	byte ptr [r8 + 4*rax + 291], 123
740x62,0xd4,0x7c,0x0c,0xc0,0x84,0x80,0x23,0x01,0x00,0x00,0x7b
75
76# ATT:   rolb	$123, 291(%r8,%rax,4), %bl
77# INTEL: rol	bl, byte ptr [r8 + 4*rax + 291], 123
780x62,0xd4,0x64,0x18,0xc0,0x84,0x80,0x23,0x01,0x00,0x00,0x7b
79
80# ATT:   {nf}	rolb	$123, 291(%r8,%rax,4), %bl
81# INTEL: {nf}	rol	bl, byte ptr [r8 + 4*rax + 291], 123
820x62,0xd4,0x64,0x1c,0xc0,0x84,0x80,0x23,0x01,0x00,0x00,0x7b
83
84# ATT:   {evex}	rolw	$123, 291(%r8,%rax,4)
85# INTEL: {evex}	rol	word ptr [r8 + 4*rax + 291], 123
860x62,0xd4,0x7d,0x08,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b
87
88# ATT:   {nf}	rolw	$123, 291(%r8,%rax,4)
89# INTEL: {nf}	rol	word ptr [r8 + 4*rax + 291], 123
900x62,0xd4,0x7d,0x0c,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b
91
92# ATT:   rolw	$123, 291(%r8,%rax,4), %dx
93# INTEL: rol	dx, word ptr [r8 + 4*rax + 291], 123
940x62,0xd4,0x6d,0x18,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b
95
96# ATT:   {nf}	rolw	$123, 291(%r8,%rax,4), %dx
97# INTEL: {nf}	rol	dx, word ptr [r8 + 4*rax + 291], 123
980x62,0xd4,0x6d,0x1c,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b
99
100# ATT:   {evex}	roll	$123, 291(%r8,%rax,4)
101# INTEL: {evex}	rol	dword ptr [r8 + 4*rax + 291], 123
1020x62,0xd4,0x7c,0x08,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b
103
104# ATT:   {nf}	roll	$123, 291(%r8,%rax,4)
105# INTEL: {nf}	rol	dword ptr [r8 + 4*rax + 291], 123
1060x62,0xd4,0x7c,0x0c,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b
107
108# ATT:   roll	$123, 291(%r8,%rax,4), %ecx
109# INTEL: rol	ecx, dword ptr [r8 + 4*rax + 291], 123
1100x62,0xd4,0x74,0x18,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b
111
112# ATT:   {nf}	roll	$123, 291(%r8,%rax,4), %ecx
113# INTEL: {nf}	rol	ecx, dword ptr [r8 + 4*rax + 291], 123
1140x62,0xd4,0x74,0x1c,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b
115
116# ATT:   {evex}	rolq	$123, 291(%r8,%rax,4)
117# INTEL: {evex}	rol	qword ptr [r8 + 4*rax + 291], 123
1180x62,0xd4,0xfc,0x08,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b
119
120# ATT:   {nf}	rolq	$123, 291(%r8,%rax,4)
121# INTEL: {nf}	rol	qword ptr [r8 + 4*rax + 291], 123
1220x62,0xd4,0xfc,0x0c,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b
123
124# ATT:   rolq	$123, 291(%r8,%rax,4), %r9
125# INTEL: rol	r9, qword ptr [r8 + 4*rax + 291], 123
1260x62,0xd4,0xb4,0x18,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b
127
128# ATT:   {nf}	rolq	$123, 291(%r8,%rax,4), %r9
129# INTEL: {nf}	rol	r9, qword ptr [r8 + 4*rax + 291], 123
1300x62,0xd4,0xb4,0x1c,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b
131
132# ATT:   {evex}	rolb	%bl
133# INTEL: {evex}	rol	bl
1340x62,0xf4,0x7c,0x08,0xd0,0xc3
135
136# ATT:   {nf}	rolb	%bl
137# INTEL: {nf}	rol	bl
1380x62,0xf4,0x7c,0x0c,0xd0,0xc3
139
140# ATT:   rolb	%bl, %bl
141# INTEL: rol	bl, bl
1420x62,0xf4,0x64,0x18,0xd0,0xc3
143
144# ATT:   {nf}	rolb	%bl, %bl
145# INTEL: {nf}	rol	bl, bl
1460x62,0xf4,0x64,0x1c,0xd0,0xc3
147
148# ATT:   {evex}	rolb	%cl, %bl
149# INTEL: {evex}	rol	bl, cl
1500x62,0xf4,0x7c,0x08,0xd2,0xc3
151
152# ATT:   {nf}	rolb	%cl, %bl
153# INTEL: {nf}	rol	bl, cl
1540x62,0xf4,0x7c,0x0c,0xd2,0xc3
155
156# ATT:   rolb	%cl, %bl, %bl
157# INTEL: rol	bl, bl, cl
1580x62,0xf4,0x64,0x18,0xd2,0xc3
159
160# ATT:   {nf}	rolb	%cl, %bl, %bl
161# INTEL: {nf}	rol	bl, bl, cl
1620x62,0xf4,0x64,0x1c,0xd2,0xc3
163
164# ATT:   {evex}	rolw	%cl, %dx
165# INTEL: {evex}	rol	dx, cl
1660x62,0xf4,0x7d,0x08,0xd3,0xc2
167
168# ATT:   {nf}	rolw	%cl, %dx
169# INTEL: {nf}	rol	dx, cl
1700x62,0xf4,0x7d,0x0c,0xd3,0xc2
171
172# ATT:   rolw	%cl, %dx, %dx
173# INTEL: rol	dx, dx, cl
1740x62,0xf4,0x6d,0x18,0xd3,0xc2
175
176# ATT:   {nf}	rolw	%cl, %dx, %dx
177# INTEL: {nf}	rol	dx, dx, cl
1780x62,0xf4,0x6d,0x1c,0xd3,0xc2
179
180# ATT:   {evex}	roll	%cl, %ecx
181# INTEL: {evex}	rol	ecx, cl
1820x62,0xf4,0x7c,0x08,0xd3,0xc1
183
184# ATT:   {nf}	roll	%cl, %ecx
185# INTEL: {nf}	rol	ecx, cl
1860x62,0xf4,0x7c,0x0c,0xd3,0xc1
187
188# ATT:   roll	%cl, %ecx, %ecx
189# INTEL: rol	ecx, ecx, cl
1900x62,0xf4,0x74,0x18,0xd3,0xc1
191
192# ATT:   {nf}	roll	%cl, %ecx, %ecx
193# INTEL: {nf}	rol	ecx, ecx, cl
1940x62,0xf4,0x74,0x1c,0xd3,0xc1
195
196# ATT:   {evex}	rolq	%cl, %r9
197# INTEL: {evex}	rol	r9, cl
1980x62,0xd4,0xfc,0x08,0xd3,0xc1
199
200# ATT:   {nf}	rolq	%cl, %r9
201# INTEL: {nf}	rol	r9, cl
2020x62,0xd4,0xfc,0x0c,0xd3,0xc1
203
204# ATT:   rolq	%cl, %r9, %r9
205# INTEL: rol	r9, r9, cl
2060x62,0xd4,0xb4,0x18,0xd3,0xc1
207
208# ATT:   {nf}	rolq	%cl, %r9, %r9
209# INTEL: {nf}	rol	r9, r9, cl
2100x62,0xd4,0xb4,0x1c,0xd3,0xc1
211
212# ATT:   {evex}	rolb	%cl, 291(%r8,%rax,4)
213# INTEL: {evex}	rol	byte ptr [r8 + 4*rax + 291], cl
2140x62,0xd4,0x7c,0x08,0xd2,0x84,0x80,0x23,0x01,0x00,0x00
215
216# ATT:   {nf}	rolb	%cl, 291(%r8,%rax,4)
217# INTEL: {nf}	rol	byte ptr [r8 + 4*rax + 291], cl
2180x62,0xd4,0x7c,0x0c,0xd2,0x84,0x80,0x23,0x01,0x00,0x00
219
220# ATT:   rolb	%cl, 291(%r8,%rax,4), %bl
221# INTEL: rol	bl, byte ptr [r8 + 4*rax + 291], cl
2220x62,0xd4,0x64,0x18,0xd2,0x84,0x80,0x23,0x01,0x00,0x00
223
224# ATT:   {nf}	rolb	%cl, 291(%r8,%rax,4), %bl
225# INTEL: {nf}	rol	bl, byte ptr [r8 + 4*rax + 291], cl
2260x62,0xd4,0x64,0x1c,0xd2,0x84,0x80,0x23,0x01,0x00,0x00
227
228# ATT:   {evex}	rolw	%cl, 291(%r8,%rax,4)
229# INTEL: {evex}	rol	word ptr [r8 + 4*rax + 291], cl
2300x62,0xd4,0x7d,0x08,0xd3,0x84,0x80,0x23,0x01,0x00,0x00
231
232# ATT:   {nf}	rolw	%cl, 291(%r8,%rax,4)
233# INTEL: {nf}	rol	word ptr [r8 + 4*rax + 291], cl
2340x62,0xd4,0x7d,0x0c,0xd3,0x84,0x80,0x23,0x01,0x00,0x00
235
236# ATT:   rolw	%cl, 291(%r8,%rax,4), %dx
237# INTEL: rol	dx, word ptr [r8 + 4*rax + 291], cl
2380x62,0xd4,0x6d,0x18,0xd3,0x84,0x80,0x23,0x01,0x00,0x00
239
240# ATT:   {nf}	rolw	%cl, 291(%r8,%rax,4), %dx
241# INTEL: {nf}	rol	dx, word ptr [r8 + 4*rax + 291], cl
2420x62,0xd4,0x6d,0x1c,0xd3,0x84,0x80,0x23,0x01,0x00,0x00
243
244# ATT:   {evex}	roll	%cl, 291(%r8,%rax,4)
245# INTEL: {evex}	rol	dword ptr [r8 + 4*rax + 291], cl
2460x62,0xd4,0x7c,0x08,0xd3,0x84,0x80,0x23,0x01,0x00,0x00
247
248# ATT:   {nf}	roll	%cl, 291(%r8,%rax,4)
249# INTEL: {nf}	rol	dword ptr [r8 + 4*rax + 291], cl
2500x62,0xd4,0x7c,0x0c,0xd3,0x84,0x80,0x23,0x01,0x00,0x00
251
252# ATT:   roll	%cl, 291(%r8,%rax,4), %ecx
253# INTEL: rol	ecx, dword ptr [r8 + 4*rax + 291], cl
2540x62,0xd4,0x74,0x18,0xd3,0x84,0x80,0x23,0x01,0x00,0x00
255
256# ATT:   {nf}	roll	%cl, 291(%r8,%rax,4), %ecx
257# INTEL: {nf}	rol	ecx, dword ptr [r8 + 4*rax + 291], cl
2580x62,0xd4,0x74,0x1c,0xd3,0x84,0x80,0x23,0x01,0x00,0x00
259
260# ATT:   {evex}	rolq	%cl, 291(%r8,%rax,4)
261# INTEL: {evex}	rol	qword ptr [r8 + 4*rax + 291], cl
2620x62,0xd4,0xfc,0x08,0xd3,0x84,0x80,0x23,0x01,0x00,0x00
263
264# ATT:   {nf}	rolq	%cl, 291(%r8,%rax,4)
265# INTEL: {nf}	rol	qword ptr [r8 + 4*rax + 291], cl
2660x62,0xd4,0xfc,0x0c,0xd3,0x84,0x80,0x23,0x01,0x00,0x00
267
268# ATT:   rolq	%cl, 291(%r8,%rax,4), %r9
269# INTEL: rol	r9, qword ptr [r8 + 4*rax + 291], cl
2700x62,0xd4,0xb4,0x18,0xd3,0x84,0x80,0x23,0x01,0x00,0x00
271
272# ATT:   {nf}	rolq	%cl, 291(%r8,%rax,4), %r9
273# INTEL: {nf}	rol	r9, qword ptr [r8 + 4*rax + 291], cl
2740x62,0xd4,0xb4,0x1c,0xd3,0x84,0x80,0x23,0x01,0x00,0x00
275
276# ATT:   {evex}	rolw	%dx
277# INTEL: {evex}	rol	dx
2780x62,0xf4,0x7d,0x08,0xd1,0xc2
279
280# ATT:   {nf}	rolw	%dx
281# INTEL: {nf}	rol	dx
2820x62,0xf4,0x7d,0x0c,0xd1,0xc2
283
284# ATT:   rolw	%dx, %dx
285# INTEL: rol	dx, dx
2860x62,0xf4,0x6d,0x18,0xd1,0xc2
287
288# ATT:   {nf}	rolw	%dx, %dx
289# INTEL: {nf}	rol	dx, dx
2900x62,0xf4,0x6d,0x1c,0xd1,0xc2
291
292# ATT:   {evex}	roll	%ecx
293# INTEL: {evex}	rol	ecx
2940x62,0xf4,0x7c,0x08,0xd1,0xc1
295
296# ATT:   {nf}	roll	%ecx
297# INTEL: {nf}	rol	ecx
2980x62,0xf4,0x7c,0x0c,0xd1,0xc1
299
300# ATT:   roll	%ecx, %ecx
301# INTEL: rol	ecx, ecx
3020x62,0xf4,0x74,0x18,0xd1,0xc1
303
304# ATT:   {nf}	roll	%ecx, %ecx
305# INTEL: {nf}	rol	ecx, ecx
3060x62,0xf4,0x74,0x1c,0xd1,0xc1
307
308# ATT:   {evex}	rolq	%r9
309# INTEL: {evex}	rol	r9
3100x62,0xd4,0xfc,0x08,0xd1,0xc1
311
312# ATT:   {nf}	rolq	%r9
313# INTEL: {nf}	rol	r9
3140x62,0xd4,0xfc,0x0c,0xd1,0xc1
315
316# ATT:   rolq	%r9, %r9
317# INTEL: rol	r9, r9
3180x62,0xd4,0xb4,0x18,0xd1,0xc1
319
320# ATT:   {nf}	rolq	%r9, %r9
321# INTEL: {nf}	rol	r9, r9
3220x62,0xd4,0xb4,0x1c,0xd1,0xc1
323
324# ATT:   {evex}	rolb	291(%r8,%rax,4)
325# INTEL: {evex}	rol	byte ptr [r8 + 4*rax + 291]
3260x62,0xd4,0x7c,0x08,0xd0,0x84,0x80,0x23,0x01,0x00,0x00
327
328# ATT:   {nf}	rolb	291(%r8,%rax,4)
329# INTEL: {nf}	rol	byte ptr [r8 + 4*rax + 291]
3300x62,0xd4,0x7c,0x0c,0xd0,0x84,0x80,0x23,0x01,0x00,0x00
331
332# ATT:   rolb	291(%r8,%rax,4), %bl
333# INTEL: rol	bl, byte ptr [r8 + 4*rax + 291]
3340x62,0xd4,0x64,0x18,0xd0,0x84,0x80,0x23,0x01,0x00,0x00
335
336# ATT:   {nf}	rolb	291(%r8,%rax,4), %bl
337# INTEL: {nf}	rol	bl, byte ptr [r8 + 4*rax + 291]
3380x62,0xd4,0x64,0x1c,0xd0,0x84,0x80,0x23,0x01,0x00,0x00
339
340# ATT:   {evex}	rolw	291(%r8,%rax,4)
341# INTEL: {evex}	rol	word ptr [r8 + 4*rax + 291]
3420x62,0xd4,0x7d,0x08,0xd1,0x84,0x80,0x23,0x01,0x00,0x00
343
344# ATT:   {nf}	rolw	291(%r8,%rax,4)
345# INTEL: {nf}	rol	word ptr [r8 + 4*rax + 291]
3460x62,0xd4,0x7d,0x0c,0xd1,0x84,0x80,0x23,0x01,0x00,0x00
347
348# ATT:   rolw	291(%r8,%rax,4), %dx
349# INTEL: rol	dx, word ptr [r8 + 4*rax + 291]
3500x62,0xd4,0x6d,0x18,0xd1,0x84,0x80,0x23,0x01,0x00,0x00
351
352# ATT:   {nf}	rolw	291(%r8,%rax,4), %dx
353# INTEL: {nf}	rol	dx, word ptr [r8 + 4*rax + 291]
3540x62,0xd4,0x6d,0x1c,0xd1,0x84,0x80,0x23,0x01,0x00,0x00
355
356# ATT:   {evex}	roll	291(%r8,%rax,4)
357# INTEL: {evex}	rol	dword ptr [r8 + 4*rax + 291]
3580x62,0xd4,0x7c,0x08,0xd1,0x84,0x80,0x23,0x01,0x00,0x00
359
360# ATT:   {nf}	roll	291(%r8,%rax,4)
361# INTEL: {nf}	rol	dword ptr [r8 + 4*rax + 291]
3620x62,0xd4,0x7c,0x0c,0xd1,0x84,0x80,0x23,0x01,0x00,0x00
363
364# ATT:   roll	291(%r8,%rax,4), %ecx
365# INTEL: rol	ecx, dword ptr [r8 + 4*rax + 291]
3660x62,0xd4,0x74,0x18,0xd1,0x84,0x80,0x23,0x01,0x00,0x00
367
368# ATT:   {nf}	roll	291(%r8,%rax,4), %ecx
369# INTEL: {nf}	rol	ecx, dword ptr [r8 + 4*rax + 291]
3700x62,0xd4,0x74,0x1c,0xd1,0x84,0x80,0x23,0x01,0x00,0x00
371
372# ATT:   {evex}	rolq	291(%r8,%rax,4)
373# INTEL: {evex}	rol	qword ptr [r8 + 4*rax + 291]
3740x62,0xd4,0xfc,0x08,0xd1,0x84,0x80,0x23,0x01,0x00,0x00
375
376# ATT:   {nf}	rolq	291(%r8,%rax,4)
377# INTEL: {nf}	rol	qword ptr [r8 + 4*rax + 291]
3780x62,0xd4,0xfc,0x0c,0xd1,0x84,0x80,0x23,0x01,0x00,0x00
379
380# ATT:   rolq	291(%r8,%rax,4), %r9
381# INTEL: rol	r9, qword ptr [r8 + 4*rax + 291]
3820x62,0xd4,0xb4,0x18,0xd1,0x84,0x80,0x23,0x01,0x00,0x00
383
384# ATT:   {nf}	rolq	291(%r8,%rax,4), %r9
385# INTEL: {nf}	rol	r9, qword ptr [r8 + 4*rax + 291]
3860x62,0xd4,0xb4,0x1c,0xd1,0x84,0x80,0x23,0x01,0x00,0x00
387