xref: /llvm-project/llvm/test/MC/X86/apx/cmpccxadd-intel.s (revision 372842b30f8e611765e3cb9f06b8265d2e79f3f6)
1# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s
2
3# CHECK: {evex}	cmpaxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
4# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe7,0x54,0x98,0x7b]
5         {evex}	cmpaxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
6
7# CHECK: {evex}	cmpaxadd	qword ptr [rax + 4*rbx + 123], r15, r9
8# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe7,0x7c,0x98,0x7b]
9         {evex}	cmpaxadd	qword ptr [rax + 4*rbx + 123], r15, r9
10
11# CHECK: cmpaxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
12# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe7,0xb4,0xac,0x23,0x01,0x00,0x00]
13         cmpaxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
14
15# CHECK: cmpaxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
16# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe7,0xbc,0xac,0x23,0x01,0x00,0x00]
17         cmpaxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
18
19# CHECK: {evex}	cmpbexadd	dword ptr [rax + 4*rbx + 123], edx, ecx
20# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe6,0x54,0x98,0x7b]
21         {evex}	cmpbexadd	dword ptr [rax + 4*rbx + 123], edx, ecx
22
23# CHECK: {evex}	cmpbexadd	qword ptr [rax + 4*rbx + 123], r15, r9
24# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe6,0x7c,0x98,0x7b]
25         {evex}	cmpbexadd	qword ptr [rax + 4*rbx + 123], r15, r9
26
27# CHECK: cmpbexadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
28# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe6,0xb4,0xac,0x23,0x01,0x00,0x00]
29         cmpbexadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
30
31# CHECK: cmpbexadd	qword ptr [r28 + 4*r29 + 291], r23, r19
32# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe6,0xbc,0xac,0x23,0x01,0x00,0x00]
33         cmpbexadd	qword ptr [r28 + 4*r29 + 291], r23, r19
34
35# CHECK: {evex}	cmpbxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
36# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe2,0x54,0x98,0x7b]
37         {evex}	cmpbxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
38
39# CHECK: {evex}	cmpbxadd	qword ptr [rax + 4*rbx + 123], r15, r9
40# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe2,0x7c,0x98,0x7b]
41         {evex}	cmpbxadd	qword ptr [rax + 4*rbx + 123], r15, r9
42
43# CHECK: cmpbxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
44# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe2,0xb4,0xac,0x23,0x01,0x00,0x00]
45         cmpbxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
46
47# CHECK: cmpbxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
48# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe2,0xbc,0xac,0x23,0x01,0x00,0x00]
49         cmpbxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
50
51# CHECK: {evex}	cmpexadd	dword ptr [rax + 4*rbx + 123], edx, ecx
52# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe4,0x54,0x98,0x7b]
53         {evex}	cmpexadd	dword ptr [rax + 4*rbx + 123], edx, ecx
54
55# CHECK: {evex}	cmpexadd	qword ptr [rax + 4*rbx + 123], r15, r9
56# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe4,0x7c,0x98,0x7b]
57         {evex}	cmpexadd	qword ptr [rax + 4*rbx + 123], r15, r9
58
59# CHECK: cmpexadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
60# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe4,0xb4,0xac,0x23,0x01,0x00,0x00]
61         cmpexadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
62
63# CHECK: cmpexadd	qword ptr [r28 + 4*r29 + 291], r23, r19
64# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe4,0xbc,0xac,0x23,0x01,0x00,0x00]
65         cmpexadd	qword ptr [r28 + 4*r29 + 291], r23, r19
66
67# CHECK: {evex}	cmpgexadd	dword ptr [rax + 4*rbx + 123], edx, ecx
68# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xed,0x54,0x98,0x7b]
69         {evex}	cmpgexadd	dword ptr [rax + 4*rbx + 123], edx, ecx
70
71# CHECK: {evex}	cmpgexadd	qword ptr [rax + 4*rbx + 123], r15, r9
72# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xed,0x7c,0x98,0x7b]
73         {evex}	cmpgexadd	qword ptr [rax + 4*rbx + 123], r15, r9
74
75# CHECK: cmpgexadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
76# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xed,0xb4,0xac,0x23,0x01,0x00,0x00]
77         cmpgexadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
78
79# CHECK: cmpgexadd	qword ptr [r28 + 4*r29 + 291], r23, r19
80# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xed,0xbc,0xac,0x23,0x01,0x00,0x00]
81         cmpgexadd	qword ptr [r28 + 4*r29 + 291], r23, r19
82
83# CHECK: {evex}	cmpgxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
84# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xef,0x54,0x98,0x7b]
85         {evex}	cmpgxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
86
87# CHECK: {evex}	cmpgxadd	qword ptr [rax + 4*rbx + 123], r15, r9
88# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xef,0x7c,0x98,0x7b]
89         {evex}	cmpgxadd	qword ptr [rax + 4*rbx + 123], r15, r9
90
91# CHECK: cmpgxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
92# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xef,0xb4,0xac,0x23,0x01,0x00,0x00]
93         cmpgxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
94
95# CHECK: cmpgxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
96# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xef,0xbc,0xac,0x23,0x01,0x00,0x00]
97         cmpgxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
98
99# CHECK: {evex}	cmplexadd	dword ptr [rax + 4*rbx + 123], edx, ecx
100# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xee,0x54,0x98,0x7b]
101         {evex}	cmplexadd	dword ptr [rax + 4*rbx + 123], edx, ecx
102
103# CHECK: {evex}	cmplexadd	qword ptr [rax + 4*rbx + 123], r15, r9
104# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xee,0x7c,0x98,0x7b]
105         {evex}	cmplexadd	qword ptr [rax + 4*rbx + 123], r15, r9
106
107# CHECK: cmplexadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
108# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xee,0xb4,0xac,0x23,0x01,0x00,0x00]
109         cmplexadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
110
111# CHECK: cmplexadd	qword ptr [r28 + 4*r29 + 291], r23, r19
112# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xee,0xbc,0xac,0x23,0x01,0x00,0x00]
113         cmplexadd	qword ptr [r28 + 4*r29 + 291], r23, r19
114
115# CHECK: {evex}	cmplxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
116# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xec,0x54,0x98,0x7b]
117         {evex}	cmplxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
118
119# CHECK: {evex}	cmplxadd	qword ptr [rax + 4*rbx + 123], r15, r9
120# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xec,0x7c,0x98,0x7b]
121         {evex}	cmplxadd	qword ptr [rax + 4*rbx + 123], r15, r9
122
123# CHECK: cmplxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
124# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xec,0xb4,0xac,0x23,0x01,0x00,0x00]
125         cmplxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
126
127# CHECK: cmplxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
128# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xec,0xbc,0xac,0x23,0x01,0x00,0x00]
129         cmplxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
130
131# CHECK: {evex}	cmpnexadd	dword ptr [rax + 4*rbx + 123], edx, ecx
132# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe5,0x54,0x98,0x7b]
133         {evex}	cmpnexadd	dword ptr [rax + 4*rbx + 123], edx, ecx
134
135# CHECK: {evex}	cmpnexadd	qword ptr [rax + 4*rbx + 123], r15, r9
136# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe5,0x7c,0x98,0x7b]
137         {evex}	cmpnexadd	qword ptr [rax + 4*rbx + 123], r15, r9
138
139# CHECK: cmpnexadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
140# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe5,0xb4,0xac,0x23,0x01,0x00,0x00]
141         cmpnexadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
142
143# CHECK: cmpnexadd	qword ptr [r28 + 4*r29 + 291], r23, r19
144# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe5,0xbc,0xac,0x23,0x01,0x00,0x00]
145         cmpnexadd	qword ptr [r28 + 4*r29 + 291], r23, r19
146
147# CHECK: {evex}	cmpnoxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
148# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe1,0x54,0x98,0x7b]
149         {evex}	cmpnoxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
150
151# CHECK: {evex}	cmpnoxadd	qword ptr [rax + 4*rbx + 123], r15, r9
152# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe1,0x7c,0x98,0x7b]
153         {evex}	cmpnoxadd	qword ptr [rax + 4*rbx + 123], r15, r9
154
155# CHECK: cmpnoxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
156# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe1,0xb4,0xac,0x23,0x01,0x00,0x00]
157         cmpnoxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
158
159# CHECK: cmpnoxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
160# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe1,0xbc,0xac,0x23,0x01,0x00,0x00]
161         cmpnoxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
162
163# CHECK: {evex}	cmpnpxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
164# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xeb,0x54,0x98,0x7b]
165         {evex}	cmpnpxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
166
167# CHECK: {evex}	cmpnpxadd	qword ptr [rax + 4*rbx + 123], r15, r9
168# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xeb,0x7c,0x98,0x7b]
169         {evex}	cmpnpxadd	qword ptr [rax + 4*rbx + 123], r15, r9
170
171# CHECK: cmpnpxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
172# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xeb,0xb4,0xac,0x23,0x01,0x00,0x00]
173         cmpnpxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
174
175# CHECK: cmpnpxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
176# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xeb,0xbc,0xac,0x23,0x01,0x00,0x00]
177         cmpnpxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
178
179# CHECK: {evex}	cmpnsxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
180# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe9,0x54,0x98,0x7b]
181         {evex}	cmpnsxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
182
183# CHECK: {evex}	cmpnsxadd	qword ptr [rax + 4*rbx + 123], r15, r9
184# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe9,0x7c,0x98,0x7b]
185         {evex}	cmpnsxadd	qword ptr [rax + 4*rbx + 123], r15, r9
186
187# CHECK: cmpnsxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
188# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe9,0xb4,0xac,0x23,0x01,0x00,0x00]
189         cmpnsxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
190
191# CHECK: cmpnsxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
192# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe9,0xbc,0xac,0x23,0x01,0x00,0x00]
193         cmpnsxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
194
195# CHECK: {evex}	cmpoxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
196# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe0,0x54,0x98,0x7b]
197         {evex}	cmpoxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
198
199# CHECK: {evex}	cmpoxadd	qword ptr [rax + 4*rbx + 123], r15, r9
200# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe0,0x7c,0x98,0x7b]
201         {evex}	cmpoxadd	qword ptr [rax + 4*rbx + 123], r15, r9
202
203# CHECK: cmpoxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
204# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe0,0xb4,0xac,0x23,0x01,0x00,0x00]
205         cmpoxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
206
207# CHECK: cmpoxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
208# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe0,0xbc,0xac,0x23,0x01,0x00,0x00]
209         cmpoxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
210
211# CHECK: {evex}	cmppxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
212# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xea,0x54,0x98,0x7b]
213         {evex}	cmppxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
214
215# CHECK: {evex}	cmppxadd	qword ptr [rax + 4*rbx + 123], r15, r9
216# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xea,0x7c,0x98,0x7b]
217         {evex}	cmppxadd	qword ptr [rax + 4*rbx + 123], r15, r9
218
219# CHECK: cmppxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
220# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xea,0xb4,0xac,0x23,0x01,0x00,0x00]
221         cmppxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
222
223# CHECK: cmppxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
224# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xea,0xbc,0xac,0x23,0x01,0x00,0x00]
225         cmppxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
226
227# CHECK: {evex}	cmpsxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
228# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe8,0x54,0x98,0x7b]
229         {evex}	cmpsxadd	dword ptr [rax + 4*rbx + 123], edx, ecx
230
231# CHECK: {evex}	cmpsxadd	qword ptr [rax + 4*rbx + 123], r15, r9
232# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe8,0x7c,0x98,0x7b]
233         {evex}	cmpsxadd	qword ptr [rax + 4*rbx + 123], r15, r9
234
235# CHECK: cmpsxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
236# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe8,0xb4,0xac,0x23,0x01,0x00,0x00]
237         cmpsxadd	dword ptr [r28 + 4*r29 + 291], r22d, r18d
238
239# CHECK: cmpsxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
240# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe8,0xbc,0xac,0x23,0x01,0x00,0x00]
241         cmpsxadd	qword ptr [r28 + 4*r29 + 291], r23, r19
242