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