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