xref: /llvm-project/llvm/test/MC/X86/apx/rcr-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-47: error:
5# ERROR-NOT: error:
6# CHECK: {evex}	rcrb	$123, %bl
7# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xc0,0xdb,0x7b]
8         {evex}	rcrb	$123, %bl
9# CHECK: rcrb	$123, %bl, %bl
10# CHECK: encoding: [0x62,0xf4,0x64,0x18,0xc0,0xdb,0x7b]
11         rcrb	$123, %bl, %bl
12# CHECK: {evex}	rcrw	$123, %dx
13# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xc1,0xda,0x7b]
14         {evex}	rcrw	$123, %dx
15# CHECK: rcrw	$123, %dx, %dx
16# CHECK: encoding: [0x62,0xf4,0x6d,0x18,0xc1,0xda,0x7b]
17         rcrw	$123, %dx, %dx
18# CHECK: {evex}	rcrl	$123, %ecx
19# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xc1,0xd9,0x7b]
20         {evex}	rcrl	$123, %ecx
21# CHECK: rcrl	$123, %ecx, %ecx
22# CHECK: encoding: [0x62,0xf4,0x74,0x18,0xc1,0xd9,0x7b]
23         rcrl	$123, %ecx, %ecx
24# CHECK: {evex}	rcrq	$123, %r9
25# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xc1,0xd9,0x7b]
26         {evex}	rcrq	$123, %r9
27# CHECK: rcrq	$123, %r9, %r9
28# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xc1,0xd9,0x7b]
29         rcrq	$123, %r9, %r9
30# CHECK: {evex}	rcrb	$123, 291(%r8,%rax,4)
31# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xc0,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b]
32         {evex}	rcrb	$123, 291(%r8,%rax,4)
33# CHECK: rcrb	$123, 291(%r8,%rax,4), %bl
34# CHECK: encoding: [0x62,0xd4,0x64,0x18,0xc0,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b]
35         rcrb	$123, 291(%r8,%rax,4), %bl
36# CHECK: {evex}	rcrw	$123, 291(%r8,%rax,4)
37# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0xc1,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b]
38         {evex}	rcrw	$123, 291(%r8,%rax,4)
39# CHECK: rcrw	$123, 291(%r8,%rax,4), %dx
40# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0xc1,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b]
41         rcrw	$123, 291(%r8,%rax,4), %dx
42# CHECK: {evex}	rcrl	$123, 291(%r8,%rax,4)
43# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xc1,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b]
44         {evex}	rcrl	$123, 291(%r8,%rax,4)
45# CHECK: rcrl	$123, 291(%r8,%rax,4), %ecx
46# CHECK: encoding: [0x62,0xd4,0x74,0x18,0xc1,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b]
47         rcrl	$123, 291(%r8,%rax,4), %ecx
48# CHECK: {evex}	rcrq	$123, 291(%r8,%rax,4)
49# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xc1,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b]
50         {evex}	rcrq	$123, 291(%r8,%rax,4)
51# CHECK: rcrq	$123, 291(%r8,%rax,4), %r9
52# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xc1,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b]
53         rcrq	$123, 291(%r8,%rax,4), %r9
54# CHECK: {evex}	rcrb	%bl
55# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xd0,0xdb]
56         {evex}	rcrb	%bl
57# CHECK: {evex}	rcrb	%cl, %bl
58# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xd2,0xdb]
59         {evex}	rcrb	%cl, %bl
60# CHECK: rcrb	%cl, %bl, %bl
61# CHECK: encoding: [0x62,0xf4,0x64,0x18,0xd2,0xdb]
62         rcrb	%cl, %bl, %bl
63# CHECK: {evex}	rcrw	%cl, %dx
64# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xd3,0xda]
65         {evex}	rcrw	%cl, %dx
66# CHECK: rcrw	%cl, %dx, %dx
67# CHECK: encoding: [0x62,0xf4,0x6d,0x18,0xd3,0xda]
68         rcrw	%cl, %dx, %dx
69# CHECK: {evex}	rcrl	%cl, %ecx
70# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xd3,0xd9]
71         {evex}	rcrl	%cl, %ecx
72# CHECK: rcrl	%cl, %ecx, %ecx
73# CHECK: encoding: [0x62,0xf4,0x74,0x18,0xd3,0xd9]
74         rcrl	%cl, %ecx, %ecx
75# CHECK: {evex}	rcrq	%cl, %r9
76# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xd3,0xd9]
77         {evex}	rcrq	%cl, %r9
78# CHECK: rcrq	%cl, %r9, %r9
79# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xd3,0xd9]
80         rcrq	%cl, %r9, %r9
81# CHECK: {evex}	rcrb	%cl, 291(%r8,%rax,4)
82# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xd2,0x9c,0x80,0x23,0x01,0x00,0x00]
83         {evex}	rcrb	%cl, 291(%r8,%rax,4)
84# CHECK: rcrb	%cl, 291(%r8,%rax,4), %bl
85# CHECK: encoding: [0x62,0xd4,0x64,0x18,0xd2,0x9c,0x80,0x23,0x01,0x00,0x00]
86         rcrb	%cl, 291(%r8,%rax,4), %bl
87# CHECK: {evex}	rcrw	%cl, 291(%r8,%rax,4)
88# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0xd3,0x9c,0x80,0x23,0x01,0x00,0x00]
89         {evex}	rcrw	%cl, 291(%r8,%rax,4)
90# CHECK: rcrw	%cl, 291(%r8,%rax,4), %dx
91# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0xd3,0x9c,0x80,0x23,0x01,0x00,0x00]
92         rcrw	%cl, 291(%r8,%rax,4), %dx
93# CHECK: {evex}	rcrl	%cl, 291(%r8,%rax,4)
94# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xd3,0x9c,0x80,0x23,0x01,0x00,0x00]
95         {evex}	rcrl	%cl, 291(%r8,%rax,4)
96# CHECK: rcrl	%cl, 291(%r8,%rax,4), %ecx
97# CHECK: encoding: [0x62,0xd4,0x74,0x18,0xd3,0x9c,0x80,0x23,0x01,0x00,0x00]
98         rcrl	%cl, 291(%r8,%rax,4), %ecx
99# CHECK: {evex}	rcrq	%cl, 291(%r8,%rax,4)
100# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xd3,0x9c,0x80,0x23,0x01,0x00,0x00]
101         {evex}	rcrq	%cl, 291(%r8,%rax,4)
102# CHECK: rcrq	%cl, 291(%r8,%rax,4), %r9
103# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xd3,0x9c,0x80,0x23,0x01,0x00,0x00]
104         rcrq	%cl, 291(%r8,%rax,4), %r9
105# CHECK: {evex}	rcrw	%dx
106# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xd1,0xda]
107         {evex}	rcrw	%dx
108# CHECK: rcrw	%dx, %dx
109# CHECK: encoding: [0x62,0xf4,0x6d,0x18,0xd1,0xda]
110         rcrw	%dx, %dx
111# CHECK: {evex}	rcrl	%ecx
112# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xd1,0xd9]
113         {evex}	rcrl	%ecx
114# CHECK: rcrl	%ecx, %ecx
115# CHECK: encoding: [0x62,0xf4,0x74,0x18,0xd1,0xd9]
116         rcrl	%ecx, %ecx
117# CHECK: {evex}	rcrq	%r9
118# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xd1,0xd9]
119         {evex}	rcrq	%r9
120# CHECK: rcrq	%r9, %r9
121# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xd1,0xd9]
122         rcrq	%r9, %r9
123# CHECK: {evex}	rcrb	291(%r8,%rax,4)
124# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xd0,0x9c,0x80,0x23,0x01,0x00,0x00]
125         {evex}	rcrb	291(%r8,%rax,4)
126# CHECK: rcrb	291(%r8,%rax,4), %bl
127# CHECK: encoding: [0x62,0xd4,0x64,0x18,0xd0,0x9c,0x80,0x23,0x01,0x00,0x00]
128         rcrb	291(%r8,%rax,4), %bl
129# CHECK: {evex}	rcrw	291(%r8,%rax,4)
130# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0xd1,0x9c,0x80,0x23,0x01,0x00,0x00]
131         {evex}	rcrw	291(%r8,%rax,4)
132# CHECK: rcrw	291(%r8,%rax,4), %dx
133# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0xd1,0x9c,0x80,0x23,0x01,0x00,0x00]
134         rcrw	291(%r8,%rax,4), %dx
135# CHECK: {evex}	rcrl	291(%r8,%rax,4)
136# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xd1,0x9c,0x80,0x23,0x01,0x00,0x00]
137         {evex}	rcrl	291(%r8,%rax,4)
138# CHECK: rcrl	291(%r8,%rax,4), %ecx
139# CHECK: encoding: [0x62,0xd4,0x74,0x18,0xd1,0x9c,0x80,0x23,0x01,0x00,0x00]
140         rcrl	291(%r8,%rax,4), %ecx
141# CHECK: {evex}	rcrq	291(%r8,%rax,4)
142# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xd1,0x9c,0x80,0x23,0x01,0x00,0x00]
143         {evex}	rcrq	291(%r8,%rax,4)
144# CHECK: rcrq	291(%r8,%rax,4), %r9
145# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xd1,0x9c,0x80,0x23,0x01,0x00,0x00]
146         rcrq	291(%r8,%rax,4), %r9
147