xref: /llvm-project/llvm/test/MC/X86/apx/adc-att.s (revision d79ccee8dc4aea52c146b10603f2a38646ad22fe)
1*d79ccee8SShengchen Kan# RUN: llvm-mc -triple x86_64 -show-encoding %s | FileCheck %s
2*d79ccee8SShengchen Kan# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR
3*d79ccee8SShengchen Kan
4*d79ccee8SShengchen Kan# ERROR-COUNT-52: error:
5*d79ccee8SShengchen Kan# ERROR-NOT: error:
6*d79ccee8SShengchen Kan# CHECK: {evex}	adcb	$123, %bl
7*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x80,0xd3,0x7b]
8*d79ccee8SShengchen Kan         {evex}	adcb	$123, %bl
9*d79ccee8SShengchen Kan# CHECK: adcb	$123, %bl, %cl
10*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x74,0x18,0x80,0xd3,0x7b]
11*d79ccee8SShengchen Kan         adcb	$123, %bl, %cl
12*d79ccee8SShengchen Kan# CHECK: {evex}	adcw	$123, %dx
13*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x83,0xd2,0x7b]
14*d79ccee8SShengchen Kan         {evex}	adcw	$123, %dx
15*d79ccee8SShengchen Kan# CHECK: adcw	$123, %dx, %ax
16*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7d,0x18,0x83,0xd2,0x7b]
17*d79ccee8SShengchen Kan         adcw	$123, %dx, %ax
18*d79ccee8SShengchen Kan# CHECK: {evex}	adcl	$123, %ecx
19*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x83,0xd1,0x7b]
20*d79ccee8SShengchen Kan         {evex}	adcl	$123, %ecx
21*d79ccee8SShengchen Kan# CHECK: adcl	$123, %ecx, %edx
22*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x6c,0x18,0x83,0xd1,0x7b]
23*d79ccee8SShengchen Kan         adcl	$123, %ecx, %edx
24*d79ccee8SShengchen Kan# CHECK: {evex}	adcq	$123, %r9
25*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0x83,0xd1,0x7b]
26*d79ccee8SShengchen Kan         {evex}	adcq	$123, %r9
27*d79ccee8SShengchen Kan# CHECK: adcq	$123, %r9, %r15
28*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x84,0x18,0x83,0xd1,0x7b]
29*d79ccee8SShengchen Kan         adcq	$123, %r9, %r15
30*d79ccee8SShengchen Kan# CHECK: {evex}	adcb	$123, 291(%r8,%rax,4)
31*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x80,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]
32*d79ccee8SShengchen Kan         {evex}	adcb	$123, 291(%r8,%rax,4)
33*d79ccee8SShengchen Kan# CHECK: adcb	$123, 291(%r8,%rax,4), %bl
34*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x64,0x18,0x80,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]
35*d79ccee8SShengchen Kan         adcb	$123, 291(%r8,%rax,4), %bl
36*d79ccee8SShengchen Kan# CHECK: {evex}	adcw	$123, 291(%r8,%rax,4)
37*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0x83,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]
38*d79ccee8SShengchen Kan         {evex}	adcw	$123, 291(%r8,%rax,4)
39*d79ccee8SShengchen Kan# CHECK: adcw	$123, 291(%r8,%rax,4), %dx
40*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0x83,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]
41*d79ccee8SShengchen Kan         adcw	$123, 291(%r8,%rax,4), %dx
42*d79ccee8SShengchen Kan# CHECK: {evex}	adcl	$123, 291(%r8,%rax,4)
43*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x83,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]
44*d79ccee8SShengchen Kan         {evex}	adcl	$123, 291(%r8,%rax,4)
45*d79ccee8SShengchen Kan# CHECK: adcl	$123, 291(%r8,%rax,4), %ecx
46*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x83,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]
47*d79ccee8SShengchen Kan         adcl	$123, 291(%r8,%rax,4), %ecx
48*d79ccee8SShengchen Kan# CHECK: {evex}	adcq	$123, 291(%r8,%rax,4)
49*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0x83,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]
50*d79ccee8SShengchen Kan         {evex}	adcq	$123, 291(%r8,%rax,4)
51*d79ccee8SShengchen Kan# CHECK: adcq	$123, 291(%r8,%rax,4), %r9
52*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0x83,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]
53*d79ccee8SShengchen Kan         adcq	$123, 291(%r8,%rax,4), %r9
54*d79ccee8SShengchen Kan# CHECK: {evex}	adcw	$1234, %dx
55*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x81,0xd2,0xd2,0x04]
56*d79ccee8SShengchen Kan         {evex}	adcw	$1234, %dx
57*d79ccee8SShengchen Kan# CHECK: adcw	$1234, %dx, %ax
58*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7d,0x18,0x81,0xd2,0xd2,0x04]
59*d79ccee8SShengchen Kan         adcw	$1234, %dx, %ax
60*d79ccee8SShengchen Kan# CHECK: {evex}	adcw	$1234, 291(%r8,%rax,4)
61*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0x81,0x94,0x80,0x23,0x01,0x00,0x00,0xd2,0x04]
62*d79ccee8SShengchen Kan         {evex}	adcw	$1234, 291(%r8,%rax,4)
63*d79ccee8SShengchen Kan# CHECK: adcw	$1234, 291(%r8,%rax,4), %dx
64*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0x81,0x94,0x80,0x23,0x01,0x00,0x00,0xd2,0x04]
65*d79ccee8SShengchen Kan         adcw	$1234, 291(%r8,%rax,4), %dx
66*d79ccee8SShengchen Kan# CHECK: {evex}	adcl	$123456, %ecx
67*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x81,0xd1,0x40,0xe2,0x01,0x00]
68*d79ccee8SShengchen Kan         {evex}	adcl	$123456, %ecx
69*d79ccee8SShengchen Kan# CHECK: adcl	$123456, %ecx, %edx
70*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x6c,0x18,0x81,0xd1,0x40,0xe2,0x01,0x00]
71*d79ccee8SShengchen Kan         adcl	$123456, %ecx, %edx
72*d79ccee8SShengchen Kan# CHECK: {evex}	adcq	$123456, %r9
73*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0x81,0xd1,0x40,0xe2,0x01,0x00]
74*d79ccee8SShengchen Kan         {evex}	adcq	$123456, %r9
75*d79ccee8SShengchen Kan# CHECK: adcq	$123456, %r9, %r15
76*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x84,0x18,0x81,0xd1,0x40,0xe2,0x01,0x00]
77*d79ccee8SShengchen Kan         adcq	$123456, %r9, %r15
78*d79ccee8SShengchen Kan# CHECK: {evex}	adcl	$123456, 291(%r8,%rax,4)
79*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x81,0x94,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00]
80*d79ccee8SShengchen Kan         {evex}	adcl	$123456, 291(%r8,%rax,4)
81*d79ccee8SShengchen Kan# CHECK: adcl	$123456, 291(%r8,%rax,4), %ecx
82*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x81,0x94,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00]
83*d79ccee8SShengchen Kan         adcl	$123456, 291(%r8,%rax,4), %ecx
84*d79ccee8SShengchen Kan# CHECK: {evex}	adcq	$123456, 291(%r8,%rax,4)
85*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0x81,0x94,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00]
86*d79ccee8SShengchen Kan         {evex}	adcq	$123456, 291(%r8,%rax,4)
87*d79ccee8SShengchen Kan# CHECK: adcq	$123456, 291(%r8,%rax,4), %r9
88*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0x81,0x94,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00]
89*d79ccee8SShengchen Kan         adcq	$123456, 291(%r8,%rax,4), %r9
90*d79ccee8SShengchen Kan# CHECK: {evex}	adcb	%bl, %cl
91*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x10,0xd9]
92*d79ccee8SShengchen Kan         {evex}	adcb	%bl, %cl
93*d79ccee8SShengchen Kan# CHECK: adcb	%bl, %cl, %r8b
94*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x3c,0x18,0x10,0xd9]
95*d79ccee8SShengchen Kan         adcb	%bl, %cl, %r8b
96*d79ccee8SShengchen Kan# CHECK: {evex}	adcb	%bl, 291(%r8,%rax,4)
97*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x10,0x9c,0x80,0x23,0x01,0x00,0x00]
98*d79ccee8SShengchen Kan         {evex}	adcb	%bl, 291(%r8,%rax,4)
99*d79ccee8SShengchen Kan# CHECK: adcb	%bl, 291(%r8,%rax,4), %cl
100*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x10,0x9c,0x80,0x23,0x01,0x00,0x00]
101*d79ccee8SShengchen Kan         adcb	%bl, 291(%r8,%rax,4), %cl
102*d79ccee8SShengchen Kan# CHECK: {evex}	adcw	%dx, %ax
103*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x11,0xd0]
104*d79ccee8SShengchen Kan         {evex}	adcw	%dx, %ax
105*d79ccee8SShengchen Kan# CHECK: adcw	%dx, %ax, %r9w
106*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x11,0xd0]
107*d79ccee8SShengchen Kan         adcw	%dx, %ax, %r9w
108*d79ccee8SShengchen Kan# CHECK: {evex}	adcw	%dx, 291(%r8,%rax,4)
109*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0x11,0x94,0x80,0x23,0x01,0x00,0x00]
110*d79ccee8SShengchen Kan         {evex}	adcw	%dx, 291(%r8,%rax,4)
111*d79ccee8SShengchen Kan# CHECK: adcw	%dx, 291(%r8,%rax,4), %ax
112*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x11,0x94,0x80,0x23,0x01,0x00,0x00]
113*d79ccee8SShengchen Kan         adcw	%dx, 291(%r8,%rax,4), %ax
114*d79ccee8SShengchen Kan# CHECK: {evex}	adcl	%ecx, %edx
115*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x11,0xca]
116*d79ccee8SShengchen Kan         {evex}	adcl	%ecx, %edx
117*d79ccee8SShengchen Kan# CHECK: adcl	%ecx, %edx, %r10d
118*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x11,0xca]
119*d79ccee8SShengchen Kan         adcl	%ecx, %edx, %r10d
120*d79ccee8SShengchen Kan# CHECK: {evex}	adcl	%ecx, 291(%r8,%rax,4)
121*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x11,0x8c,0x80,0x23,0x01,0x00,0x00]
122*d79ccee8SShengchen Kan         {evex}	adcl	%ecx, 291(%r8,%rax,4)
123*d79ccee8SShengchen Kan# CHECK: adcl	%ecx, 291(%r8,%rax,4), %edx
124*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x11,0x8c,0x80,0x23,0x01,0x00,0x00]
125*d79ccee8SShengchen Kan         adcl	%ecx, 291(%r8,%rax,4), %edx
126*d79ccee8SShengchen Kan# CHECK: {evex}	adcq	%r9, %r15
127*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x11,0xcf]
128*d79ccee8SShengchen Kan         {evex}	adcq	%r9, %r15
129*d79ccee8SShengchen Kan# CHECK: adcq	%r9, %r15, %r11
130*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x11,0xcf]
131*d79ccee8SShengchen Kan         adcq	%r9, %r15, %r11
132*d79ccee8SShengchen Kan# CHECK: {evex}	adcq	%r9, 291(%r8,%rax,4)
133*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x11,0x8c,0x80,0x23,0x01,0x00,0x00]
134*d79ccee8SShengchen Kan         {evex}	adcq	%r9, 291(%r8,%rax,4)
135*d79ccee8SShengchen Kan# CHECK: adcq	%r9, 291(%r8,%rax,4), %r15
136*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0x54,0x84,0x18,0x11,0x8c,0x80,0x23,0x01,0x00,0x00]
137*d79ccee8SShengchen Kan         adcq	%r9, 291(%r8,%rax,4), %r15
138*d79ccee8SShengchen Kan# CHECK: {evex}	adcb	291(%r8,%rax,4), %bl
139*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x12,0x9c,0x80,0x23,0x01,0x00,0x00]
140*d79ccee8SShengchen Kan         {evex}	adcb	291(%r8,%rax,4), %bl
141*d79ccee8SShengchen Kan# CHECK: adcb	291(%r8,%rax,4), %bl, %cl
142*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x12,0x9c,0x80,0x23,0x01,0x00,0x00]
143*d79ccee8SShengchen Kan         adcb	291(%r8,%rax,4), %bl, %cl
144*d79ccee8SShengchen Kan# CHECK: {evex}	adcw	291(%r8,%rax,4), %dx
145*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0x13,0x94,0x80,0x23,0x01,0x00,0x00]
146*d79ccee8SShengchen Kan         {evex}	adcw	291(%r8,%rax,4), %dx
147*d79ccee8SShengchen Kan# CHECK: adcw	291(%r8,%rax,4), %dx, %ax
148*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x13,0x94,0x80,0x23,0x01,0x00,0x00]
149*d79ccee8SShengchen Kan         adcw	291(%r8,%rax,4), %dx, %ax
150*d79ccee8SShengchen Kan# CHECK: {evex}	adcl	291(%r8,%rax,4), %ecx
151*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x13,0x8c,0x80,0x23,0x01,0x00,0x00]
152*d79ccee8SShengchen Kan         {evex}	adcl	291(%r8,%rax,4), %ecx
153*d79ccee8SShengchen Kan# CHECK: adcl	291(%r8,%rax,4), %ecx, %edx
154*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x13,0x8c,0x80,0x23,0x01,0x00,0x00]
155*d79ccee8SShengchen Kan         adcl	291(%r8,%rax,4), %ecx, %edx
156*d79ccee8SShengchen Kan# CHECK: {evex}	adcq	291(%r8,%rax,4), %r9
157*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x13,0x8c,0x80,0x23,0x01,0x00,0x00]
158*d79ccee8SShengchen Kan         {evex}	adcq	291(%r8,%rax,4), %r9
159*d79ccee8SShengchen Kan# CHECK: adcq	291(%r8,%rax,4), %r9, %r15
160*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0x54,0x84,0x18,0x13,0x8c,0x80,0x23,0x01,0x00,0x00]
161*d79ccee8SShengchen Kan         adcq	291(%r8,%rax,4), %r9, %r15
162