xref: /llvm-project/llvm/test/MC/X86/apx/sar-intel.s (revision 5c68c6d70fc204b0efdb2af95dfb328d616129e3)
1# RUN: llvm-mc -triple x86_64 -show-encoding -x86-asm-syntax=intel -output-asm-variant=1 %s | FileCheck %s
2
3# CHECK: {evex}	sar	bl, 123
4# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xc0,0xfb,0x7b]
5         {evex}	sar	bl, 123
6# CHECK: {nf}	sar	bl, 123
7# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xc0,0xfb,0x7b]
8         {nf}	sar	bl, 123
9# CHECK: sar	bl, bl, 123
10# CHECK: encoding: [0x62,0xf4,0x64,0x18,0xc0,0xfb,0x7b]
11         sar	bl, bl, 123
12# CHECK: {nf}	sar	bl, bl, 123
13# CHECK: encoding: [0x62,0xf4,0x64,0x1c,0xc0,0xfb,0x7b]
14         {nf}	sar	bl, bl, 123
15# CHECK: {evex}	sar	dx, 123
16# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xc1,0xfa,0x7b]
17         {evex}	sar	dx, 123
18# CHECK: {nf}	sar	dx, 123
19# CHECK: encoding: [0x62,0xf4,0x7d,0x0c,0xc1,0xfa,0x7b]
20         {nf}	sar	dx, 123
21# CHECK: sar	dx, dx, 123
22# CHECK: encoding: [0x62,0xf4,0x6d,0x18,0xc1,0xfa,0x7b]
23         sar	dx, dx, 123
24# CHECK: {nf}	sar	dx, dx, 123
25# CHECK: encoding: [0x62,0xf4,0x6d,0x1c,0xc1,0xfa,0x7b]
26         {nf}	sar	dx, dx, 123
27# CHECK: {evex}	sar	ecx, 123
28# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xc1,0xf9,0x7b]
29         {evex}	sar	ecx, 123
30# CHECK: {nf}	sar	ecx, 123
31# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xc1,0xf9,0x7b]
32         {nf}	sar	ecx, 123
33# CHECK: sar	ecx, ecx, 123
34# CHECK: encoding: [0x62,0xf4,0x74,0x18,0xc1,0xf9,0x7b]
35         sar	ecx, ecx, 123
36# CHECK: {nf}	sar	ecx, ecx, 123
37# CHECK: encoding: [0x62,0xf4,0x74,0x1c,0xc1,0xf9,0x7b]
38         {nf}	sar	ecx, ecx, 123
39# CHECK: {evex}	sar	r9, 123
40# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xc1,0xf9,0x7b]
41         {evex}	sar	r9, 123
42# CHECK: {nf}	sar	r9, 123
43# CHECK: encoding: [0x62,0xd4,0xfc,0x0c,0xc1,0xf9,0x7b]
44         {nf}	sar	r9, 123
45# CHECK: sar	r9, r9, 123
46# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xc1,0xf9,0x7b]
47         sar	r9, r9, 123
48# CHECK: {nf}	sar	r9, r9, 123
49# CHECK: encoding: [0x62,0xd4,0xb4,0x1c,0xc1,0xf9,0x7b]
50         {nf}	sar	r9, r9, 123
51# CHECK: {evex}	sar	byte ptr [r8 + 4*rax + 291], 123
52# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xc0,0xbc,0x80,0x23,0x01,0x00,0x00,0x7b]
53         {evex}	sar	byte ptr [r8 + 4*rax + 291], 123
54# CHECK: {nf}	sar	byte ptr [r8 + 4*rax + 291], 123
55# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xc0,0xbc,0x80,0x23,0x01,0x00,0x00,0x7b]
56         {nf}	sar	byte ptr [r8 + 4*rax + 291], 123
57# CHECK: sar	bl, byte ptr [r8 + 4*rax + 291], 123
58# CHECK: encoding: [0x62,0xd4,0x64,0x18,0xc0,0xbc,0x80,0x23,0x01,0x00,0x00,0x7b]
59         sar	bl, byte ptr [r8 + 4*rax + 291], 123
60# CHECK: {nf}	sar	bl, byte ptr [r8 + 4*rax + 291], 123
61# CHECK: encoding: [0x62,0xd4,0x64,0x1c,0xc0,0xbc,0x80,0x23,0x01,0x00,0x00,0x7b]
62         {nf}	sar	bl, byte ptr [r8 + 4*rax + 291], 123
63# CHECK: {evex}	sar	word ptr [r8 + 4*rax + 291], 123
64# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0xc1,0xbc,0x80,0x23,0x01,0x00,0x00,0x7b]
65         {evex}	sar	word ptr [r8 + 4*rax + 291], 123
66# CHECK: {nf}	sar	word ptr [r8 + 4*rax + 291], 123
67# CHECK: encoding: [0x62,0xd4,0x7d,0x0c,0xc1,0xbc,0x80,0x23,0x01,0x00,0x00,0x7b]
68         {nf}	sar	word ptr [r8 + 4*rax + 291], 123
69# CHECK: sar	dx, word ptr [r8 + 4*rax + 291], 123
70# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0xc1,0xbc,0x80,0x23,0x01,0x00,0x00,0x7b]
71         sar	dx, word ptr [r8 + 4*rax + 291], 123
72# CHECK: {nf}	sar	dx, word ptr [r8 + 4*rax + 291], 123
73# CHECK: encoding: [0x62,0xd4,0x6d,0x1c,0xc1,0xbc,0x80,0x23,0x01,0x00,0x00,0x7b]
74         {nf}	sar	dx, word ptr [r8 + 4*rax + 291], 123
75# CHECK: {evex}	sar	dword ptr [r8 + 4*rax + 291], 123
76# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xc1,0xbc,0x80,0x23,0x01,0x00,0x00,0x7b]
77         {evex}	sar	dword ptr [r8 + 4*rax + 291], 123
78# CHECK: {nf}	sar	dword ptr [r8 + 4*rax + 291], 123
79# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xc1,0xbc,0x80,0x23,0x01,0x00,0x00,0x7b]
80         {nf}	sar	dword ptr [r8 + 4*rax + 291], 123
81# CHECK: sar	ecx, dword ptr [r8 + 4*rax + 291], 123
82# CHECK: encoding: [0x62,0xd4,0x74,0x18,0xc1,0xbc,0x80,0x23,0x01,0x00,0x00,0x7b]
83         sar	ecx, dword ptr [r8 + 4*rax + 291], 123
84# CHECK: {nf}	sar	ecx, dword ptr [r8 + 4*rax + 291], 123
85# CHECK: encoding: [0x62,0xd4,0x74,0x1c,0xc1,0xbc,0x80,0x23,0x01,0x00,0x00,0x7b]
86         {nf}	sar	ecx, dword ptr [r8 + 4*rax + 291], 123
87# CHECK: {evex}	sar	qword ptr [r8 + 4*rax + 291], 123
88# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xc1,0xbc,0x80,0x23,0x01,0x00,0x00,0x7b]
89         {evex}	sar	qword ptr [r8 + 4*rax + 291], 123
90# CHECK: {nf}	sar	qword ptr [r8 + 4*rax + 291], 123
91# CHECK: encoding: [0x62,0xd4,0xfc,0x0c,0xc1,0xbc,0x80,0x23,0x01,0x00,0x00,0x7b]
92         {nf}	sar	qword ptr [r8 + 4*rax + 291], 123
93# CHECK: sar	r9, qword ptr [r8 + 4*rax + 291], 123
94# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xc1,0xbc,0x80,0x23,0x01,0x00,0x00,0x7b]
95         sar	r9, qword ptr [r8 + 4*rax + 291], 123
96# CHECK: {nf}	sar	r9, qword ptr [r8 + 4*rax + 291], 123
97# CHECK: encoding: [0x62,0xd4,0xb4,0x1c,0xc1,0xbc,0x80,0x23,0x01,0x00,0x00,0x7b]
98         {nf}	sar	r9, qword ptr [r8 + 4*rax + 291], 123
99# CHECK: {evex}	sar	bl
100# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xd0,0xfb]
101         {evex}	sar	bl
102# CHECK: {nf}	sar	bl
103# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xd0,0xfb]
104         {nf}	sar	bl
105# CHECK: {evex}	sar	bl, cl
106# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xd2,0xfb]
107         {evex}	sar	bl, cl
108# CHECK: {nf}	sar	bl, cl
109# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xd2,0xfb]
110         {nf}	sar	bl, cl
111# CHECK: sar	bl, bl, cl
112# CHECK: encoding: [0x62,0xf4,0x64,0x18,0xd2,0xfb]
113         sar	bl, bl, cl
114# CHECK: {nf}	sar	bl, bl, cl
115# CHECK: encoding: [0x62,0xf4,0x64,0x1c,0xd2,0xfb]
116         {nf}	sar	bl, bl, cl
117# CHECK: {evex}	sar	dx, cl
118# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xd3,0xfa]
119         {evex}	sar	dx, cl
120# CHECK: {nf}	sar	dx, cl
121# CHECK: encoding: [0x62,0xf4,0x7d,0x0c,0xd3,0xfa]
122         {nf}	sar	dx, cl
123# CHECK: sar	dx, dx, cl
124# CHECK: encoding: [0x62,0xf4,0x6d,0x18,0xd3,0xfa]
125         sar	dx, dx, cl
126# CHECK: {nf}	sar	dx, dx, cl
127# CHECK: encoding: [0x62,0xf4,0x6d,0x1c,0xd3,0xfa]
128         {nf}	sar	dx, dx, cl
129# CHECK: {evex}	sar	ecx, cl
130# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xd3,0xf9]
131         {evex}	sar	ecx, cl
132# CHECK: {nf}	sar	ecx, cl
133# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xd3,0xf9]
134         {nf}	sar	ecx, cl
135# CHECK: sar	ecx, ecx, cl
136# CHECK: encoding: [0x62,0xf4,0x74,0x18,0xd3,0xf9]
137         sar	ecx, ecx, cl
138# CHECK: {nf}	sar	ecx, ecx, cl
139# CHECK: encoding: [0x62,0xf4,0x74,0x1c,0xd3,0xf9]
140         {nf}	sar	ecx, ecx, cl
141# CHECK: {evex}	sar	r9, cl
142# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xd3,0xf9]
143         {evex}	sar	r9, cl
144# CHECK: {nf}	sar	r9, cl
145# CHECK: encoding: [0x62,0xd4,0xfc,0x0c,0xd3,0xf9]
146         {nf}	sar	r9, cl
147# CHECK: sar	r9, r9, cl
148# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xd3,0xf9]
149         sar	r9, r9, cl
150# CHECK: {nf}	sar	r9, r9, cl
151# CHECK: encoding: [0x62,0xd4,0xb4,0x1c,0xd3,0xf9]
152         {nf}	sar	r9, r9, cl
153# CHECK: {evex}	sar	byte ptr [r8 + 4*rax + 291], cl
154# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xd2,0xbc,0x80,0x23,0x01,0x00,0x00]
155         {evex}	sar	byte ptr [r8 + 4*rax + 291], cl
156# CHECK: {nf}	sar	byte ptr [r8 + 4*rax + 291], cl
157# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xd2,0xbc,0x80,0x23,0x01,0x00,0x00]
158         {nf}	sar	byte ptr [r8 + 4*rax + 291], cl
159# CHECK: sar	bl, byte ptr [r8 + 4*rax + 291], cl
160# CHECK: encoding: [0x62,0xd4,0x64,0x18,0xd2,0xbc,0x80,0x23,0x01,0x00,0x00]
161         sar	bl, byte ptr [r8 + 4*rax + 291], cl
162# CHECK: {nf}	sar	bl, byte ptr [r8 + 4*rax + 291], cl
163# CHECK: encoding: [0x62,0xd4,0x64,0x1c,0xd2,0xbc,0x80,0x23,0x01,0x00,0x00]
164         {nf}	sar	bl, byte ptr [r8 + 4*rax + 291], cl
165# CHECK: {evex}	sar	word ptr [r8 + 4*rax + 291], cl
166# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0xd3,0xbc,0x80,0x23,0x01,0x00,0x00]
167         {evex}	sar	word ptr [r8 + 4*rax + 291], cl
168# CHECK: {nf}	sar	word ptr [r8 + 4*rax + 291], cl
169# CHECK: encoding: [0x62,0xd4,0x7d,0x0c,0xd3,0xbc,0x80,0x23,0x01,0x00,0x00]
170         {nf}	sar	word ptr [r8 + 4*rax + 291], cl
171# CHECK: sar	dx, word ptr [r8 + 4*rax + 291], cl
172# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0xd3,0xbc,0x80,0x23,0x01,0x00,0x00]
173         sar	dx, word ptr [r8 + 4*rax + 291], cl
174# CHECK: {nf}	sar	dx, word ptr [r8 + 4*rax + 291], cl
175# CHECK: encoding: [0x62,0xd4,0x6d,0x1c,0xd3,0xbc,0x80,0x23,0x01,0x00,0x00]
176         {nf}	sar	dx, word ptr [r8 + 4*rax + 291], cl
177# CHECK: {evex}	sar	dword ptr [r8 + 4*rax + 291], cl
178# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xd3,0xbc,0x80,0x23,0x01,0x00,0x00]
179         {evex}	sar	dword ptr [r8 + 4*rax + 291], cl
180# CHECK: {nf}	sar	dword ptr [r8 + 4*rax + 291], cl
181# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xd3,0xbc,0x80,0x23,0x01,0x00,0x00]
182         {nf}	sar	dword ptr [r8 + 4*rax + 291], cl
183# CHECK: sar	ecx, dword ptr [r8 + 4*rax + 291], cl
184# CHECK: encoding: [0x62,0xd4,0x74,0x18,0xd3,0xbc,0x80,0x23,0x01,0x00,0x00]
185         sar	ecx, dword ptr [r8 + 4*rax + 291], cl
186# CHECK: {nf}	sar	ecx, dword ptr [r8 + 4*rax + 291], cl
187# CHECK: encoding: [0x62,0xd4,0x74,0x1c,0xd3,0xbc,0x80,0x23,0x01,0x00,0x00]
188         {nf}	sar	ecx, dword ptr [r8 + 4*rax + 291], cl
189# CHECK: {evex}	sar	qword ptr [r8 + 4*rax + 291], cl
190# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xd3,0xbc,0x80,0x23,0x01,0x00,0x00]
191         {evex}	sar	qword ptr [r8 + 4*rax + 291], cl
192# CHECK: {nf}	sar	qword ptr [r8 + 4*rax + 291], cl
193# CHECK: encoding: [0x62,0xd4,0xfc,0x0c,0xd3,0xbc,0x80,0x23,0x01,0x00,0x00]
194         {nf}	sar	qword ptr [r8 + 4*rax + 291], cl
195# CHECK: sar	r9, qword ptr [r8 + 4*rax + 291], cl
196# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xd3,0xbc,0x80,0x23,0x01,0x00,0x00]
197         sar	r9, qword ptr [r8 + 4*rax + 291], cl
198# CHECK: {nf}	sar	r9, qword ptr [r8 + 4*rax + 291], cl
199# CHECK: encoding: [0x62,0xd4,0xb4,0x1c,0xd3,0xbc,0x80,0x23,0x01,0x00,0x00]
200         {nf}	sar	r9, qword ptr [r8 + 4*rax + 291], cl
201# CHECK: {evex}	sar	dx
202# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xd1,0xfa]
203         {evex}	sar	dx
204# CHECK: {nf}	sar	dx
205# CHECK: encoding: [0x62,0xf4,0x7d,0x0c,0xd1,0xfa]
206         {nf}	sar	dx
207# CHECK: sar	dx, dx
208# CHECK: encoding: [0x62,0xf4,0x6d,0x18,0xd1,0xfa]
209         sar	dx, dx
210# CHECK: {nf}	sar	dx, dx
211# CHECK: encoding: [0x62,0xf4,0x6d,0x1c,0xd1,0xfa]
212         {nf}	sar	dx, dx
213# CHECK: {evex}	sar	ecx
214# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xd1,0xf9]
215         {evex}	sar	ecx
216# CHECK: {nf}	sar	ecx
217# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xd1,0xf9]
218         {nf}	sar	ecx
219# CHECK: sar	ecx, ecx
220# CHECK: encoding: [0x62,0xf4,0x74,0x18,0xd1,0xf9]
221         sar	ecx, ecx
222# CHECK: {nf}	sar	ecx, ecx
223# CHECK: encoding: [0x62,0xf4,0x74,0x1c,0xd1,0xf9]
224         {nf}	sar	ecx, ecx
225# CHECK: {evex}	sar	r9
226# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xd1,0xf9]
227         {evex}	sar	r9
228# CHECK: {nf}	sar	r9
229# CHECK: encoding: [0x62,0xd4,0xfc,0x0c,0xd1,0xf9]
230         {nf}	sar	r9
231# CHECK: sar	r9, r9
232# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xd1,0xf9]
233         sar	r9, r9
234# CHECK: {nf}	sar	r9, r9
235# CHECK: encoding: [0x62,0xd4,0xb4,0x1c,0xd1,0xf9]
236         {nf}	sar	r9, r9
237# CHECK: {evex}	sar	byte ptr [r8 + 4*rax + 291]
238# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xd0,0xbc,0x80,0x23,0x01,0x00,0x00]
239         {evex}	sar	byte ptr [r8 + 4*rax + 291]
240# CHECK: {nf}	sar	byte ptr [r8 + 4*rax + 291]
241# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xd0,0xbc,0x80,0x23,0x01,0x00,0x00]
242         {nf}	sar	byte ptr [r8 + 4*rax + 291]
243# CHECK: sar	bl, byte ptr [r8 + 4*rax + 291]
244# CHECK: encoding: [0x62,0xd4,0x64,0x18,0xd0,0xbc,0x80,0x23,0x01,0x00,0x00]
245         sar	bl, byte ptr [r8 + 4*rax + 291]
246# CHECK: {nf}	sar	bl, byte ptr [r8 + 4*rax + 291]
247# CHECK: encoding: [0x62,0xd4,0x64,0x1c,0xd0,0xbc,0x80,0x23,0x01,0x00,0x00]
248         {nf}	sar	bl, byte ptr [r8 + 4*rax + 291]
249# CHECK: {evex}	sar	word ptr [r8 + 4*rax + 291]
250# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0xd1,0xbc,0x80,0x23,0x01,0x00,0x00]
251         {evex}	sar	word ptr [r8 + 4*rax + 291]
252# CHECK: {nf}	sar	word ptr [r8 + 4*rax + 291]
253# CHECK: encoding: [0x62,0xd4,0x7d,0x0c,0xd1,0xbc,0x80,0x23,0x01,0x00,0x00]
254         {nf}	sar	word ptr [r8 + 4*rax + 291]
255# CHECK: sar	dx, word ptr [r8 + 4*rax + 291]
256# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0xd1,0xbc,0x80,0x23,0x01,0x00,0x00]
257         sar	dx, word ptr [r8 + 4*rax + 291]
258# CHECK: {nf}	sar	dx, word ptr [r8 + 4*rax + 291]
259# CHECK: encoding: [0x62,0xd4,0x6d,0x1c,0xd1,0xbc,0x80,0x23,0x01,0x00,0x00]
260         {nf}	sar	dx, word ptr [r8 + 4*rax + 291]
261# CHECK: {evex}	sar	dword ptr [r8 + 4*rax + 291]
262# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xd1,0xbc,0x80,0x23,0x01,0x00,0x00]
263         {evex}	sar	dword ptr [r8 + 4*rax + 291]
264# CHECK: {nf}	sar	dword ptr [r8 + 4*rax + 291]
265# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xd1,0xbc,0x80,0x23,0x01,0x00,0x00]
266         {nf}	sar	dword ptr [r8 + 4*rax + 291]
267# CHECK: sar	ecx, dword ptr [r8 + 4*rax + 291]
268# CHECK: encoding: [0x62,0xd4,0x74,0x18,0xd1,0xbc,0x80,0x23,0x01,0x00,0x00]
269         sar	ecx, dword ptr [r8 + 4*rax + 291]
270# CHECK: {nf}	sar	ecx, dword ptr [r8 + 4*rax + 291]
271# CHECK: encoding: [0x62,0xd4,0x74,0x1c,0xd1,0xbc,0x80,0x23,0x01,0x00,0x00]
272         {nf}	sar	ecx, dword ptr [r8 + 4*rax + 291]
273# CHECK: {evex}	sar	qword ptr [r8 + 4*rax + 291]
274# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xd1,0xbc,0x80,0x23,0x01,0x00,0x00]
275         {evex}	sar	qword ptr [r8 + 4*rax + 291]
276# CHECK: {nf}	sar	qword ptr [r8 + 4*rax + 291]
277# CHECK: encoding: [0x62,0xd4,0xfc,0x0c,0xd1,0xbc,0x80,0x23,0x01,0x00,0x00]
278         {nf}	sar	qword ptr [r8 + 4*rax + 291]
279# CHECK: sar	r9, qword ptr [r8 + 4*rax + 291]
280# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xd1,0xbc,0x80,0x23,0x01,0x00,0x00]
281         sar	r9, qword ptr [r8 + 4*rax + 291]
282# CHECK: {nf}	sar	r9, qword ptr [r8 + 4*rax + 291]
283# CHECK: encoding: [0x62,0xd4,0xb4,0x1c,0xd1,0xbc,0x80,0x23,0x01,0x00,0x00]
284         {nf}	sar	r9, qword ptr [r8 + 4*rax + 291]
285