xref: /llvm-project/llvm/test/MC/Disassembler/X86/apx/cmov.txt (revision 7b766a6f505577bbb7d2cd2c553b6207306c0df9)
1# RUN: llvm-mc -triple x86_64 -disassemble %s | FileCheck %s --check-prefix=ATT
2# RUN: llvm-mc -triple x86_64 -disassemble -output-asm-variant=1 %s | FileCheck %s --check-prefix=INTEL
3
4# ATT:   cmovbw	%dx, %ax, %r9w
5# INTEL: cmovb	r9w, ax, dx
60x62,0xf4,0x35,0x18,0x42,0xc2
7
8# ATT:   cmovbl	%ecx, %edx, %r10d
9# INTEL: cmovb	r10d, edx, ecx
100x62,0xf4,0x2c,0x18,0x42,0xd1
11
12# ATT:   cmovbq	%r9, %r15, %r11
13# INTEL: cmovb	r11, r15, r9
140x62,0x54,0xa4,0x18,0x42,0xf9
15
16# ATT:   cmovbw	123(%r8,%rax,4), %dx, %ax
17# INTEL: cmovb	ax, dx, word ptr [r8 + 4*rax + 123]
180x62,0xd4,0x7d,0x18,0x42,0x54,0x80,0x7b
19
20# ATT:   cmovbl	123(%r8,%rax,4), %ecx, %edx
21# INTEL: cmovb	edx, ecx, dword ptr [r8 + 4*rax + 123]
220x62,0xd4,0x6c,0x18,0x42,0x4c,0x80,0x7b
23
24# ATT:   cmovbq	123(%r8,%rax,4), %r9, %r15
25# INTEL: cmovb	r15, r9, qword ptr [r8 + 4*rax + 123]
260x62,0x54,0x84,0x18,0x42,0x4c,0x80,0x7b
27
28# ATT:   cmovbew	%dx, %ax, %r9w
29# INTEL: cmovbe	r9w, ax, dx
300x62,0xf4,0x35,0x18,0x46,0xc2
31
32# ATT:   cmovbel	%ecx, %edx, %r10d
33# INTEL: cmovbe	r10d, edx, ecx
340x62,0xf4,0x2c,0x18,0x46,0xd1
35
36# ATT:   cmovbeq	%r9, %r15, %r11
37# INTEL: cmovbe	r11, r15, r9
380x62,0x54,0xa4,0x18,0x46,0xf9
39
40# ATT:   cmovbew	123(%r8,%rax,4), %dx, %ax
41# INTEL: cmovbe	ax, dx, word ptr [r8 + 4*rax + 123]
420x62,0xd4,0x7d,0x18,0x46,0x54,0x80,0x7b
43
44# ATT:   cmovbel	123(%r8,%rax,4), %ecx, %edx
45# INTEL: cmovbe	edx, ecx, dword ptr [r8 + 4*rax + 123]
460x62,0xd4,0x6c,0x18,0x46,0x4c,0x80,0x7b
47
48# ATT:   cmovbeq	123(%r8,%rax,4), %r9, %r15
49# INTEL: cmovbe	r15, r9, qword ptr [r8 + 4*rax + 123]
500x62,0x54,0x84,0x18,0x46,0x4c,0x80,0x7b
51
52# ATT:   cmovlw	%dx, %ax, %r9w
53# INTEL: cmovl	r9w, ax, dx
540x62,0xf4,0x35,0x18,0x4c,0xc2
55
56# ATT:   cmovll	%ecx, %edx, %r10d
57# INTEL: cmovl	r10d, edx, ecx
580x62,0xf4,0x2c,0x18,0x4c,0xd1
59
60# ATT:   cmovlq	%r9, %r15, %r11
61# INTEL: cmovl	r11, r15, r9
620x62,0x54,0xa4,0x18,0x4c,0xf9
63
64# ATT:   cmovlw	123(%r8,%rax,4), %dx, %ax
65# INTEL: cmovl	ax, dx, word ptr [r8 + 4*rax + 123]
660x62,0xd4,0x7d,0x18,0x4c,0x54,0x80,0x7b
67
68# ATT:   cmovll	123(%r8,%rax,4), %ecx, %edx
69# INTEL: cmovl	edx, ecx, dword ptr [r8 + 4*rax + 123]
700x62,0xd4,0x6c,0x18,0x4c,0x4c,0x80,0x7b
71
72# ATT:   cmovlq	123(%r8,%rax,4), %r9, %r15
73# INTEL: cmovl	r15, r9, qword ptr [r8 + 4*rax + 123]
740x62,0x54,0x84,0x18,0x4c,0x4c,0x80,0x7b
75
76# ATT:   cmovlew	%dx, %ax, %r9w
77# INTEL: cmovle	r9w, ax, dx
780x62,0xf4,0x35,0x18,0x4e,0xc2
79
80# ATT:   cmovlel	%ecx, %edx, %r10d
81# INTEL: cmovle	r10d, edx, ecx
820x62,0xf4,0x2c,0x18,0x4e,0xd1
83
84# ATT:   cmovleq	%r9, %r15, %r11
85# INTEL: cmovle	r11, r15, r9
860x62,0x54,0xa4,0x18,0x4e,0xf9
87
88# ATT:   cmovlew	123(%r8,%rax,4), %dx, %ax
89# INTEL: cmovle	ax, dx, word ptr [r8 + 4*rax + 123]
900x62,0xd4,0x7d,0x18,0x4e,0x54,0x80,0x7b
91
92# ATT:   cmovlel	123(%r8,%rax,4), %ecx, %edx
93# INTEL: cmovle	edx, ecx, dword ptr [r8 + 4*rax + 123]
940x62,0xd4,0x6c,0x18,0x4e,0x4c,0x80,0x7b
95
96# ATT:   cmovleq	123(%r8,%rax,4), %r9, %r15
97# INTEL: cmovle	r15, r9, qword ptr [r8 + 4*rax + 123]
980x62,0x54,0x84,0x18,0x4e,0x4c,0x80,0x7b
99
100# ATT:   cmovaew	%dx, %ax, %r9w
101# INTEL: cmovae	r9w, ax, dx
1020x62,0xf4,0x35,0x18,0x43,0xc2
103
104# ATT:   cmovael	%ecx, %edx, %r10d
105# INTEL: cmovae	r10d, edx, ecx
1060x62,0xf4,0x2c,0x18,0x43,0xd1
107
108# ATT:   cmovaeq	%r9, %r15, %r11
109# INTEL: cmovae	r11, r15, r9
1100x62,0x54,0xa4,0x18,0x43,0xf9
111
112# ATT:   cmovaew	123(%r8,%rax,4), %dx, %ax
113# INTEL: cmovae	ax, dx, word ptr [r8 + 4*rax + 123]
1140x62,0xd4,0x7d,0x18,0x43,0x54,0x80,0x7b
115
116# ATT:   cmovael	123(%r8,%rax,4), %ecx, %edx
117# INTEL: cmovae	edx, ecx, dword ptr [r8 + 4*rax + 123]
1180x62,0xd4,0x6c,0x18,0x43,0x4c,0x80,0x7b
119
120# ATT:   cmovaeq	123(%r8,%rax,4), %r9, %r15
121# INTEL: cmovae	r15, r9, qword ptr [r8 + 4*rax + 123]
1220x62,0x54,0x84,0x18,0x43,0x4c,0x80,0x7b
123
124# ATT:   cmovaw	%dx, %ax, %r9w
125# INTEL: cmova	r9w, ax, dx
1260x62,0xf4,0x35,0x18,0x47,0xc2
127
128# ATT:   cmoval	%ecx, %edx, %r10d
129# INTEL: cmova	r10d, edx, ecx
1300x62,0xf4,0x2c,0x18,0x47,0xd1
131
132# ATT:   cmovaq	%r9, %r15, %r11
133# INTEL: cmova	r11, r15, r9
1340x62,0x54,0xa4,0x18,0x47,0xf9
135
136# ATT:   cmovaw	123(%r8,%rax,4), %dx, %ax
137# INTEL: cmova	ax, dx, word ptr [r8 + 4*rax + 123]
1380x62,0xd4,0x7d,0x18,0x47,0x54,0x80,0x7b
139
140# ATT:   cmoval	123(%r8,%rax,4), %ecx, %edx
141# INTEL: cmova	edx, ecx, dword ptr [r8 + 4*rax + 123]
1420x62,0xd4,0x6c,0x18,0x47,0x4c,0x80,0x7b
143
144# ATT:   cmovaq	123(%r8,%rax,4), %r9, %r15
145# INTEL: cmova	r15, r9, qword ptr [r8 + 4*rax + 123]
1460x62,0x54,0x84,0x18,0x47,0x4c,0x80,0x7b
147
148# ATT:   cmovgew	%dx, %ax, %r9w
149# INTEL: cmovge	r9w, ax, dx
1500x62,0xf4,0x35,0x18,0x4d,0xc2
151
152# ATT:   cmovgel	%ecx, %edx, %r10d
153# INTEL: cmovge	r10d, edx, ecx
1540x62,0xf4,0x2c,0x18,0x4d,0xd1
155
156# ATT:   cmovgeq	%r9, %r15, %r11
157# INTEL: cmovge	r11, r15, r9
1580x62,0x54,0xa4,0x18,0x4d,0xf9
159
160# ATT:   cmovgew	123(%r8,%rax,4), %dx, %ax
161# INTEL: cmovge	ax, dx, word ptr [r8 + 4*rax + 123]
1620x62,0xd4,0x7d,0x18,0x4d,0x54,0x80,0x7b
163
164# ATT:   cmovgel	123(%r8,%rax,4), %ecx, %edx
165# INTEL: cmovge	edx, ecx, dword ptr [r8 + 4*rax + 123]
1660x62,0xd4,0x6c,0x18,0x4d,0x4c,0x80,0x7b
167
168# ATT:   cmovgeq	123(%r8,%rax,4), %r9, %r15
169# INTEL: cmovge	r15, r9, qword ptr [r8 + 4*rax + 123]
1700x62,0x54,0x84,0x18,0x4d,0x4c,0x80,0x7b
171
172# ATT:   cmovgw	%dx, %ax, %r9w
173# INTEL: cmovg	r9w, ax, dx
1740x62,0xf4,0x35,0x18,0x4f,0xc2
175
176# ATT:   cmovgl	%ecx, %edx, %r10d
177# INTEL: cmovg	r10d, edx, ecx
1780x62,0xf4,0x2c,0x18,0x4f,0xd1
179
180# ATT:   cmovgq	%r9, %r15, %r11
181# INTEL: cmovg	r11, r15, r9
1820x62,0x54,0xa4,0x18,0x4f,0xf9
183
184# ATT:   cmovgw	123(%r8,%rax,4), %dx, %ax
185# INTEL: cmovg	ax, dx, word ptr [r8 + 4*rax + 123]
1860x62,0xd4,0x7d,0x18,0x4f,0x54,0x80,0x7b
187
188# ATT:   cmovgl	123(%r8,%rax,4), %ecx, %edx
189# INTEL: cmovg	edx, ecx, dword ptr [r8 + 4*rax + 123]
1900x62,0xd4,0x6c,0x18,0x4f,0x4c,0x80,0x7b
191
192# ATT:   cmovgq	123(%r8,%rax,4), %r9, %r15
193# INTEL: cmovg	r15, r9, qword ptr [r8 + 4*rax + 123]
1940x62,0x54,0x84,0x18,0x4f,0x4c,0x80,0x7b
195
196# ATT:   cmovnow	%dx, %ax, %r9w
197# INTEL: cmovno	r9w, ax, dx
1980x62,0xf4,0x35,0x18,0x41,0xc2
199
200# ATT:   cmovnol	%ecx, %edx, %r10d
201# INTEL: cmovno	r10d, edx, ecx
2020x62,0xf4,0x2c,0x18,0x41,0xd1
203
204# ATT:   cmovnoq	%r9, %r15, %r11
205# INTEL: cmovno	r11, r15, r9
2060x62,0x54,0xa4,0x18,0x41,0xf9
207
208# ATT:   cmovnow	123(%r8,%rax,4), %dx, %ax
209# INTEL: cmovno	ax, dx, word ptr [r8 + 4*rax + 123]
2100x62,0xd4,0x7d,0x18,0x41,0x54,0x80,0x7b
211
212# ATT:   cmovnol	123(%r8,%rax,4), %ecx, %edx
213# INTEL: cmovno	edx, ecx, dword ptr [r8 + 4*rax + 123]
2140x62,0xd4,0x6c,0x18,0x41,0x4c,0x80,0x7b
215
216# ATT:   cmovnoq	123(%r8,%rax,4), %r9, %r15
217# INTEL: cmovno	r15, r9, qword ptr [r8 + 4*rax + 123]
2180x62,0x54,0x84,0x18,0x41,0x4c,0x80,0x7b
219
220# ATT:   cmovnpw	%dx, %ax, %r9w
221# INTEL: cmovnp	r9w, ax, dx
2220x62,0xf4,0x35,0x18,0x4b,0xc2
223
224# ATT:   cmovnpl	%ecx, %edx, %r10d
225# INTEL: cmovnp	r10d, edx, ecx
2260x62,0xf4,0x2c,0x18,0x4b,0xd1
227
228# ATT:   cmovnpq	%r9, %r15, %r11
229# INTEL: cmovnp	r11, r15, r9
2300x62,0x54,0xa4,0x18,0x4b,0xf9
231
232# ATT:   cmovnpw	123(%r8,%rax,4), %dx, %ax
233# INTEL: cmovnp	ax, dx, word ptr [r8 + 4*rax + 123]
2340x62,0xd4,0x7d,0x18,0x4b,0x54,0x80,0x7b
235
236# ATT:   cmovnpl	123(%r8,%rax,4), %ecx, %edx
237# INTEL: cmovnp	edx, ecx, dword ptr [r8 + 4*rax + 123]
2380x62,0xd4,0x6c,0x18,0x4b,0x4c,0x80,0x7b
239
240# ATT:   cmovnpq	123(%r8,%rax,4), %r9, %r15
241# INTEL: cmovnp	r15, r9, qword ptr [r8 + 4*rax + 123]
2420x62,0x54,0x84,0x18,0x4b,0x4c,0x80,0x7b
243
244# ATT:   cmovnsw	%dx, %ax, %r9w
245# INTEL: cmovns	r9w, ax, dx
2460x62,0xf4,0x35,0x18,0x49,0xc2
247
248# ATT:   cmovnsl	%ecx, %edx, %r10d
249# INTEL: cmovns	r10d, edx, ecx
2500x62,0xf4,0x2c,0x18,0x49,0xd1
251
252# ATT:   cmovnsq	%r9, %r15, %r11
253# INTEL: cmovns	r11, r15, r9
2540x62,0x54,0xa4,0x18,0x49,0xf9
255
256# ATT:   cmovnsw	123(%r8,%rax,4), %dx, %ax
257# INTEL: cmovns	ax, dx, word ptr [r8 + 4*rax + 123]
2580x62,0xd4,0x7d,0x18,0x49,0x54,0x80,0x7b
259
260# ATT:   cmovnsl	123(%r8,%rax,4), %ecx, %edx
261# INTEL: cmovns	edx, ecx, dword ptr [r8 + 4*rax + 123]
2620x62,0xd4,0x6c,0x18,0x49,0x4c,0x80,0x7b
263
264# ATT:   cmovnsq	123(%r8,%rax,4), %r9, %r15
265# INTEL: cmovns	r15, r9, qword ptr [r8 + 4*rax + 123]
2660x62,0x54,0x84,0x18,0x49,0x4c,0x80,0x7b
267
268# ATT:   cmovnew	%dx, %ax, %r9w
269# INTEL: cmovne	r9w, ax, dx
2700x62,0xf4,0x35,0x18,0x45,0xc2
271
272# ATT:   cmovnel	%ecx, %edx, %r10d
273# INTEL: cmovne	r10d, edx, ecx
2740x62,0xf4,0x2c,0x18,0x45,0xd1
275
276# ATT:   cmovneq	%r9, %r15, %r11
277# INTEL: cmovne	r11, r15, r9
2780x62,0x54,0xa4,0x18,0x45,0xf9
279
280# ATT:   cmovnew	123(%r8,%rax,4), %dx, %ax
281# INTEL: cmovne	ax, dx, word ptr [r8 + 4*rax + 123]
2820x62,0xd4,0x7d,0x18,0x45,0x54,0x80,0x7b
283
284# ATT:   cmovnel	123(%r8,%rax,4), %ecx, %edx
285# INTEL: cmovne	edx, ecx, dword ptr [r8 + 4*rax + 123]
2860x62,0xd4,0x6c,0x18,0x45,0x4c,0x80,0x7b
287
288# ATT:   cmovneq	123(%r8,%rax,4), %r9, %r15
289# INTEL: cmovne	r15, r9, qword ptr [r8 + 4*rax + 123]
2900x62,0x54,0x84,0x18,0x45,0x4c,0x80,0x7b
291
292# ATT:   cmovow	%dx, %ax, %r9w
293# INTEL: cmovo	r9w, ax, dx
2940x62,0xf4,0x35,0x18,0x40,0xc2
295
296# ATT:   cmovol	%ecx, %edx, %r10d
297# INTEL: cmovo	r10d, edx, ecx
2980x62,0xf4,0x2c,0x18,0x40,0xd1
299
300# ATT:   cmovoq	%r9, %r15, %r11
301# INTEL: cmovo	r11, r15, r9
3020x62,0x54,0xa4,0x18,0x40,0xf9
303
304# ATT:   cmovow	123(%r8,%rax,4), %dx, %ax
305# INTEL: cmovo	ax, dx, word ptr [r8 + 4*rax + 123]
3060x62,0xd4,0x7d,0x18,0x40,0x54,0x80,0x7b
307
308# ATT:   cmovol	123(%r8,%rax,4), %ecx, %edx
309# INTEL: cmovo	edx, ecx, dword ptr [r8 + 4*rax + 123]
3100x62,0xd4,0x6c,0x18,0x40,0x4c,0x80,0x7b
311
312# ATT:   cmovoq	123(%r8,%rax,4), %r9, %r15
313# INTEL: cmovo	r15, r9, qword ptr [r8 + 4*rax + 123]
3140x62,0x54,0x84,0x18,0x40,0x4c,0x80,0x7b
315
316# ATT:   cmovpw	%dx, %ax, %r9w
317# INTEL: cmovp	r9w, ax, dx
3180x62,0xf4,0x35,0x18,0x4a,0xc2
319
320# ATT:   cmovpl	%ecx, %edx, %r10d
321# INTEL: cmovp	r10d, edx, ecx
3220x62,0xf4,0x2c,0x18,0x4a,0xd1
323
324# ATT:   cmovpq	%r9, %r15, %r11
325# INTEL: cmovp	r11, r15, r9
3260x62,0x54,0xa4,0x18,0x4a,0xf9
327
328# ATT:   cmovpw	123(%r8,%rax,4), %dx, %ax
329# INTEL: cmovp	ax, dx, word ptr [r8 + 4*rax + 123]
3300x62,0xd4,0x7d,0x18,0x4a,0x54,0x80,0x7b
331
332# ATT:   cmovpl	123(%r8,%rax,4), %ecx, %edx
333# INTEL: cmovp	edx, ecx, dword ptr [r8 + 4*rax + 123]
3340x62,0xd4,0x6c,0x18,0x4a,0x4c,0x80,0x7b
335
336# ATT:   cmovpq	123(%r8,%rax,4), %r9, %r15
337# INTEL: cmovp	r15, r9, qword ptr [r8 + 4*rax + 123]
3380x62,0x54,0x84,0x18,0x4a,0x4c,0x80,0x7b
339
340# ATT:   cmovsw	%dx, %ax, %r9w
341# INTEL: cmovs	r9w, ax, dx
3420x62,0xf4,0x35,0x18,0x48,0xc2
343
344# ATT:   cmovsl	%ecx, %edx, %r10d
345# INTEL: cmovs	r10d, edx, ecx
3460x62,0xf4,0x2c,0x18,0x48,0xd1
347
348# ATT:   cmovsq	%r9, %r15, %r11
349# INTEL: cmovs	r11, r15, r9
3500x62,0x54,0xa4,0x18,0x48,0xf9
351
352# ATT:   cmovsw	123(%r8,%rax,4), %dx, %ax
353# INTEL: cmovs	ax, dx, word ptr [r8 + 4*rax + 123]
3540x62,0xd4,0x7d,0x18,0x48,0x54,0x80,0x7b
355
356# ATT:   cmovsl	123(%r8,%rax,4), %ecx, %edx
357# INTEL: cmovs	edx, ecx, dword ptr [r8 + 4*rax + 123]
3580x62,0xd4,0x6c,0x18,0x48,0x4c,0x80,0x7b
359
360# ATT:   cmovsq	123(%r8,%rax,4), %r9, %r15
361# INTEL: cmovs	r15, r9, qword ptr [r8 + 4*rax + 123]
3620x62,0x54,0x84,0x18,0x48,0x4c,0x80,0x7b
363
364# ATT:   cmovew	%dx, %ax, %r9w
365# INTEL: cmove	r9w, ax, dx
3660x62,0xf4,0x35,0x18,0x44,0xc2
367
368# ATT:   cmovel	%ecx, %edx, %r10d
369# INTEL: cmove	r10d, edx, ecx
3700x62,0xf4,0x2c,0x18,0x44,0xd1
371
372# ATT:   cmoveq	%r9, %r15, %r11
373# INTEL: cmove	r11, r15, r9
3740x62,0x54,0xa4,0x18,0x44,0xf9
375
376# ATT:   cmovew	123(%r8,%rax,4), %dx, %ax
377# INTEL: cmove	ax, dx, word ptr [r8 + 4*rax + 123]
3780x62,0xd4,0x7d,0x18,0x44,0x54,0x80,0x7b
379
380# ATT:   cmovel	123(%r8,%rax,4), %ecx, %edx
381# INTEL: cmove	edx, ecx, dword ptr [r8 + 4*rax + 123]
3820x62,0xd4,0x6c,0x18,0x44,0x4c,0x80,0x7b
383
384# ATT:   cmoveq	123(%r8,%rax,4), %r9, %r15
385# INTEL: cmove	r15, r9, qword ptr [r8 + 4*rax + 123]
3860x62,0x54,0x84,0x18,0x44,0x4c,0x80,0x7b
387