llvm/llvm/test/MC/Disassembler/X86/apx/cmov.txt

# RUN: llvm-mc -triple x86_64 -disassemble %s | FileCheck %s --check-prefix=ATT
# RUN: llvm-mc -triple x86_64 -disassemble -output-asm-variant=1 %s | FileCheck %s --check-prefix=INTEL

# ATT:   cmovbw	%dx, %ax, %r9w
# INTEL: cmovb	r9w, ax, dx
0x62,0xf4,0x35,0x18,0x42,0xc2

# ATT:   cmovbl	%ecx, %edx, %r10d
# INTEL: cmovb	r10d, edx, ecx
0x62,0xf4,0x2c,0x18,0x42,0xd1

# ATT:   cmovbq	%r9, %r15, %r11
# INTEL: cmovb	r11, r15, r9
0x62,0x54,0xa4,0x18,0x42,0xf9

# ATT:   cmovbw	123(%r8,%rax,4), %dx, %ax
# INTEL: cmovb	ax, dx, word ptr [r8 + 4*rax + 123]
0x62,0xd4,0x7d,0x18,0x42,0x54,0x80,0x7b

# ATT:   cmovbl	123(%r8,%rax,4), %ecx, %edx
# INTEL: cmovb	edx, ecx, dword ptr [r8 + 4*rax + 123]
0x62,0xd4,0x6c,0x18,0x42,0x4c,0x80,0x7b

# ATT:   cmovbq	123(%r8,%rax,4), %r9, %r15
# INTEL: cmovb	r15, r9, qword ptr [r8 + 4*rax + 123]
0x62,0x54,0x84,0x18,0x42,0x4c,0x80,0x7b

# ATT:   cmovbew	%dx, %ax, %r9w
# INTEL: cmovbe	r9w, ax, dx
0x62,0xf4,0x35,0x18,0x46,0xc2

# ATT:   cmovbel	%ecx, %edx, %r10d
# INTEL: cmovbe	r10d, edx, ecx
0x62,0xf4,0x2c,0x18,0x46,0xd1

# ATT:   cmovbeq	%r9, %r15, %r11
# INTEL: cmovbe	r11, r15, r9
0x62,0x54,0xa4,0x18,0x46,0xf9

# ATT:   cmovbew	123(%r8,%rax,4), %dx, %ax
# INTEL: cmovbe	ax, dx, word ptr [r8 + 4*rax + 123]
0x62,0xd4,0x7d,0x18,0x46,0x54,0x80,0x7b

# ATT:   cmovbel	123(%r8,%rax,4), %ecx, %edx
# INTEL: cmovbe	edx, ecx, dword ptr [r8 + 4*rax + 123]
0x62,0xd4,0x6c,0x18,0x46,0x4c,0x80,0x7b

# ATT:   cmovbeq	123(%r8,%rax,4), %r9, %r15
# INTEL: cmovbe	r15, r9, qword ptr [r8 + 4*rax + 123]
0x62,0x54,0x84,0x18,0x46,0x4c,0x80,0x7b

# ATT:   cmovlw	%dx, %ax, %r9w
# INTEL: cmovl	r9w, ax, dx
0x62,0xf4,0x35,0x18,0x4c,0xc2

# ATT:   cmovll	%ecx, %edx, %r10d
# INTEL: cmovl	r10d, edx, ecx
0x62,0xf4,0x2c,0x18,0x4c,0xd1

# ATT:   cmovlq	%r9, %r15, %r11
# INTEL: cmovl	r11, r15, r9
0x62,0x54,0xa4,0x18,0x4c,0xf9

# ATT:   cmovlw	123(%r8,%rax,4), %dx, %ax
# INTEL: cmovl	ax, dx, word ptr [r8 + 4*rax + 123]
0x62,0xd4,0x7d,0x18,0x4c,0x54,0x80,0x7b

# ATT:   cmovll	123(%r8,%rax,4), %ecx, %edx
# INTEL: cmovl	edx, ecx, dword ptr [r8 + 4*rax + 123]
0x62,0xd4,0x6c,0x18,0x4c,0x4c,0x80,0x7b

# ATT:   cmovlq	123(%r8,%rax,4), %r9, %r15
# INTEL: cmovl	r15, r9, qword ptr [r8 + 4*rax + 123]
0x62,0x54,0x84,0x18,0x4c,0x4c,0x80,0x7b

# ATT:   cmovlew	%dx, %ax, %r9w
# INTEL: cmovle	r9w, ax, dx
0x62,0xf4,0x35,0x18,0x4e,0xc2

# ATT:   cmovlel	%ecx, %edx, %r10d
# INTEL: cmovle	r10d, edx, ecx
0x62,0xf4,0x2c,0x18,0x4e,0xd1

# ATT:   cmovleq	%r9, %r15, %r11
# INTEL: cmovle	r11, r15, r9
0x62,0x54,0xa4,0x18,0x4e,0xf9

# ATT:   cmovlew	123(%r8,%rax,4), %dx, %ax
# INTEL: cmovle	ax, dx, word ptr [r8 + 4*rax + 123]
0x62,0xd4,0x7d,0x18,0x4e,0x54,0x80,0x7b

# ATT:   cmovlel	123(%r8,%rax,4), %ecx, %edx
# INTEL: cmovle	edx, ecx, dword ptr [r8 + 4*rax + 123]
0x62,0xd4,0x6c,0x18,0x4e,0x4c,0x80,0x7b

# ATT:   cmovleq	123(%r8,%rax,4), %r9, %r15
# INTEL: cmovle	r15, r9, qword ptr [r8 + 4*rax + 123]
0x62,0x54,0x84,0x18,0x4e,0x4c,0x80,0x7b

# ATT:   cmovaew	%dx, %ax, %r9w
# INTEL: cmovae	r9w, ax, dx
0x62,0xf4,0x35,0x18,0x43,0xc2

# ATT:   cmovael	%ecx, %edx, %r10d
# INTEL: cmovae	r10d, edx, ecx
0x62,0xf4,0x2c,0x18,0x43,0xd1

# ATT:   cmovaeq	%r9, %r15, %r11
# INTEL: cmovae	r11, r15, r9
0x62,0x54,0xa4,0x18,0x43,0xf9

# ATT:   cmovaew	123(%r8,%rax,4), %dx, %ax
# INTEL: cmovae	ax, dx, word ptr [r8 + 4*rax + 123]
0x62,0xd4,0x7d,0x18,0x43,0x54,0x80,0x7b

# ATT:   cmovael	123(%r8,%rax,4), %ecx, %edx
# INTEL: cmovae	edx, ecx, dword ptr [r8 + 4*rax + 123]
0x62,0xd4,0x6c,0x18,0x43,0x4c,0x80,0x7b

# ATT:   cmovaeq	123(%r8,%rax,4), %r9, %r15
# INTEL: cmovae	r15, r9, qword ptr [r8 + 4*rax + 123]
0x62,0x54,0x84,0x18,0x43,0x4c,0x80,0x7b

# ATT:   cmovaw	%dx, %ax, %r9w
# INTEL: cmova	r9w, ax, dx
0x62,0xf4,0x35,0x18,0x47,0xc2

# ATT:   cmoval	%ecx, %edx, %r10d
# INTEL: cmova	r10d, edx, ecx
0x62,0xf4,0x2c,0x18,0x47,0xd1

# ATT:   cmovaq	%r9, %r15, %r11
# INTEL: cmova	r11, r15, r9
0x62,0x54,0xa4,0x18,0x47,0xf9

# ATT:   cmovaw	123(%r8,%rax,4), %dx, %ax
# INTEL: cmova	ax, dx, word ptr [r8 + 4*rax + 123]
0x62,0xd4,0x7d,0x18,0x47,0x54,0x80,0x7b

# ATT:   cmoval	123(%r8,%rax,4), %ecx, %edx
# INTEL: cmova	edx, ecx, dword ptr [r8 + 4*rax + 123]
0x62,0xd4,0x6c,0x18,0x47,0x4c,0x80,0x7b

# ATT:   cmovaq	123(%r8,%rax,4), %r9, %r15
# INTEL: cmova	r15, r9, qword ptr [r8 + 4*rax + 123]
0x62,0x54,0x84,0x18,0x47,0x4c,0x80,0x7b

# ATT:   cmovgew	%dx, %ax, %r9w
# INTEL: cmovge	r9w, ax, dx
0x62,0xf4,0x35,0x18,0x4d,0xc2

# ATT:   cmovgel	%ecx, %edx, %r10d
# INTEL: cmovge	r10d, edx, ecx
0x62,0xf4,0x2c,0x18,0x4d,0xd1

# ATT:   cmovgeq	%r9, %r15, %r11
# INTEL: cmovge	r11, r15, r9
0x62,0x54,0xa4,0x18,0x4d,0xf9

# ATT:   cmovgew	123(%r8,%rax,4), %dx, %ax
# INTEL: cmovge	ax, dx, word ptr [r8 + 4*rax + 123]
0x62,0xd4,0x7d,0x18,0x4d,0x54,0x80,0x7b

# ATT:   cmovgel	123(%r8,%rax,4), %ecx, %edx
# INTEL: cmovge	edx, ecx, dword ptr [r8 + 4*rax + 123]
0x62,0xd4,0x6c,0x18,0x4d,0x4c,0x80,0x7b

# ATT:   cmovgeq	123(%r8,%rax,4), %r9, %r15
# INTEL: cmovge	r15, r9, qword ptr [r8 + 4*rax + 123]
0x62,0x54,0x84,0x18,0x4d,0x4c,0x80,0x7b

# ATT:   cmovgw	%dx, %ax, %r9w
# INTEL: cmovg	r9w, ax, dx
0x62,0xf4,0x35,0x18,0x4f,0xc2

# ATT:   cmovgl	%ecx, %edx, %r10d
# INTEL: cmovg	r10d, edx, ecx
0x62,0xf4,0x2c,0x18,0x4f,0xd1

# ATT:   cmovgq	%r9, %r15, %r11
# INTEL: cmovg	r11, r15, r9
0x62,0x54,0xa4,0x18,0x4f,0xf9

# ATT:   cmovgw	123(%r8,%rax,4), %dx, %ax
# INTEL: cmovg	ax, dx, word ptr [r8 + 4*rax + 123]
0x62,0xd4,0x7d,0x18,0x4f,0x54,0x80,0x7b

# ATT:   cmovgl	123(%r8,%rax,4), %ecx, %edx
# INTEL: cmovg	edx, ecx, dword ptr [r8 + 4*rax + 123]
0x62,0xd4,0x6c,0x18,0x4f,0x4c,0x80,0x7b

# ATT:   cmovgq	123(%r8,%rax,4), %r9, %r15
# INTEL: cmovg	r15, r9, qword ptr [r8 + 4*rax + 123]
0x62,0x54,0x84,0x18,0x4f,0x4c,0x80,0x7b

# ATT:   cmovnow	%dx, %ax, %r9w
# INTEL: cmovno	r9w, ax, dx
0x62,0xf4,0x35,0x18,0x41,0xc2

# ATT:   cmovnol	%ecx, %edx, %r10d
# INTEL: cmovno	r10d, edx, ecx
0x62,0xf4,0x2c,0x18,0x41,0xd1

# ATT:   cmovnoq	%r9, %r15, %r11
# INTEL: cmovno	r11, r15, r9
0x62,0x54,0xa4,0x18,0x41,0xf9

# ATT:   cmovnow	123(%r8,%rax,4), %dx, %ax
# INTEL: cmovno	ax, dx, word ptr [r8 + 4*rax + 123]
0x62,0xd4,0x7d,0x18,0x41,0x54,0x80,0x7b

# ATT:   cmovnol	123(%r8,%rax,4), %ecx, %edx
# INTEL: cmovno	edx, ecx, dword ptr [r8 + 4*rax + 123]
0x62,0xd4,0x6c,0x18,0x41,0x4c,0x80,0x7b

# ATT:   cmovnoq	123(%r8,%rax,4), %r9, %r15
# INTEL: cmovno	r15, r9, qword ptr [r8 + 4*rax + 123]
0x62,0x54,0x84,0x18,0x41,0x4c,0x80,0x7b

# ATT:   cmovnpw	%dx, %ax, %r9w
# INTEL: cmovnp	r9w, ax, dx
0x62,0xf4,0x35,0x18,0x4b,0xc2

# ATT:   cmovnpl	%ecx, %edx, %r10d
# INTEL: cmovnp	r10d, edx, ecx
0x62,0xf4,0x2c,0x18,0x4b,0xd1

# ATT:   cmovnpq	%r9, %r15, %r11
# INTEL: cmovnp	r11, r15, r9
0x62,0x54,0xa4,0x18,0x4b,0xf9

# ATT:   cmovnpw	123(%r8,%rax,4), %dx, %ax
# INTEL: cmovnp	ax, dx, word ptr [r8 + 4*rax + 123]
0x62,0xd4,0x7d,0x18,0x4b,0x54,0x80,0x7b

# ATT:   cmovnpl	123(%r8,%rax,4), %ecx, %edx
# INTEL: cmovnp	edx, ecx, dword ptr [r8 + 4*rax + 123]
0x62,0xd4,0x6c,0x18,0x4b,0x4c,0x80,0x7b

# ATT:   cmovnpq	123(%r8,%rax,4), %r9, %r15
# INTEL: cmovnp	r15, r9, qword ptr [r8 + 4*rax + 123]
0x62,0x54,0x84,0x18,0x4b,0x4c,0x80,0x7b

# ATT:   cmovnsw	%dx, %ax, %r9w
# INTEL: cmovns	r9w, ax, dx
0x62,0xf4,0x35,0x18,0x49,0xc2

# ATT:   cmovnsl	%ecx, %edx, %r10d
# INTEL: cmovns	r10d, edx, ecx
0x62,0xf4,0x2c,0x18,0x49,0xd1

# ATT:   cmovnsq	%r9, %r15, %r11
# INTEL: cmovns	r11, r15, r9
0x62,0x54,0xa4,0x18,0x49,0xf9

# ATT:   cmovnsw	123(%r8,%rax,4), %dx, %ax
# INTEL: cmovns	ax, dx, word ptr [r8 + 4*rax + 123]
0x62,0xd4,0x7d,0x18,0x49,0x54,0x80,0x7b

# ATT:   cmovnsl	123(%r8,%rax,4), %ecx, %edx
# INTEL: cmovns	edx, ecx, dword ptr [r8 + 4*rax + 123]
0x62,0xd4,0x6c,0x18,0x49,0x4c,0x80,0x7b

# ATT:   cmovnsq	123(%r8,%rax,4), %r9, %r15
# INTEL: cmovns	r15, r9, qword ptr [r8 + 4*rax + 123]
0x62,0x54,0x84,0x18,0x49,0x4c,0x80,0x7b

# ATT:   cmovnew	%dx, %ax, %r9w
# INTEL: cmovne	r9w, ax, dx
0x62,0xf4,0x35,0x18,0x45,0xc2

# ATT:   cmovnel	%ecx, %edx, %r10d
# INTEL: cmovne	r10d, edx, ecx
0x62,0xf4,0x2c,0x18,0x45,0xd1

# ATT:   cmovneq	%r9, %r15, %r11
# INTEL: cmovne	r11, r15, r9
0x62,0x54,0xa4,0x18,0x45,0xf9

# ATT:   cmovnew	123(%r8,%rax,4), %dx, %ax
# INTEL: cmovne	ax, dx, word ptr [r8 + 4*rax + 123]
0x62,0xd4,0x7d,0x18,0x45,0x54,0x80,0x7b

# ATT:   cmovnel	123(%r8,%rax,4), %ecx, %edx
# INTEL: cmovne	edx, ecx, dword ptr [r8 + 4*rax + 123]
0x62,0xd4,0x6c,0x18,0x45,0x4c,0x80,0x7b

# ATT:   cmovneq	123(%r8,%rax,4), %r9, %r15
# INTEL: cmovne	r15, r9, qword ptr [r8 + 4*rax + 123]
0x62,0x54,0x84,0x18,0x45,0x4c,0x80,0x7b

# ATT:   cmovow	%dx, %ax, %r9w
# INTEL: cmovo	r9w, ax, dx
0x62,0xf4,0x35,0x18,0x40,0xc2

# ATT:   cmovol	%ecx, %edx, %r10d
# INTEL: cmovo	r10d, edx, ecx
0x62,0xf4,0x2c,0x18,0x40,0xd1

# ATT:   cmovoq	%r9, %r15, %r11
# INTEL: cmovo	r11, r15, r9
0x62,0x54,0xa4,0x18,0x40,0xf9

# ATT:   cmovow	123(%r8,%rax,4), %dx, %ax
# INTEL: cmovo	ax, dx, word ptr [r8 + 4*rax + 123]
0x62,0xd4,0x7d,0x18,0x40,0x54,0x80,0x7b

# ATT:   cmovol	123(%r8,%rax,4), %ecx, %edx
# INTEL: cmovo	edx, ecx, dword ptr [r8 + 4*rax + 123]
0x62,0xd4,0x6c,0x18,0x40,0x4c,0x80,0x7b

# ATT:   cmovoq	123(%r8,%rax,4), %r9, %r15
# INTEL: cmovo	r15, r9, qword ptr [r8 + 4*rax + 123]
0x62,0x54,0x84,0x18,0x40,0x4c,0x80,0x7b

# ATT:   cmovpw	%dx, %ax, %r9w
# INTEL: cmovp	r9w, ax, dx
0x62,0xf4,0x35,0x18,0x4a,0xc2

# ATT:   cmovpl	%ecx, %edx, %r10d
# INTEL: cmovp	r10d, edx, ecx
0x62,0xf4,0x2c,0x18,0x4a,0xd1

# ATT:   cmovpq	%r9, %r15, %r11
# INTEL: cmovp	r11, r15, r9
0x62,0x54,0xa4,0x18,0x4a,0xf9

# ATT:   cmovpw	123(%r8,%rax,4), %dx, %ax
# INTEL: cmovp	ax, dx, word ptr [r8 + 4*rax + 123]
0x62,0xd4,0x7d,0x18,0x4a,0x54,0x80,0x7b

# ATT:   cmovpl	123(%r8,%rax,4), %ecx, %edx
# INTEL: cmovp	edx, ecx, dword ptr [r8 + 4*rax + 123]
0x62,0xd4,0x6c,0x18,0x4a,0x4c,0x80,0x7b

# ATT:   cmovpq	123(%r8,%rax,4), %r9, %r15
# INTEL: cmovp	r15, r9, qword ptr [r8 + 4*rax + 123]
0x62,0x54,0x84,0x18,0x4a,0x4c,0x80,0x7b

# ATT:   cmovsw	%dx, %ax, %r9w
# INTEL: cmovs	r9w, ax, dx
0x62,0xf4,0x35,0x18,0x48,0xc2

# ATT:   cmovsl	%ecx, %edx, %r10d
# INTEL: cmovs	r10d, edx, ecx
0x62,0xf4,0x2c,0x18,0x48,0xd1

# ATT:   cmovsq	%r9, %r15, %r11
# INTEL: cmovs	r11, r15, r9
0x62,0x54,0xa4,0x18,0x48,0xf9

# ATT:   cmovsw	123(%r8,%rax,4), %dx, %ax
# INTEL: cmovs	ax, dx, word ptr [r8 + 4*rax + 123]
0x62,0xd4,0x7d,0x18,0x48,0x54,0x80,0x7b

# ATT:   cmovsl	123(%r8,%rax,4), %ecx, %edx
# INTEL: cmovs	edx, ecx, dword ptr [r8 + 4*rax + 123]
0x62,0xd4,0x6c,0x18,0x48,0x4c,0x80,0x7b

# ATT:   cmovsq	123(%r8,%rax,4), %r9, %r15
# INTEL: cmovs	r15, r9, qword ptr [r8 + 4*rax + 123]
0x62,0x54,0x84,0x18,0x48,0x4c,0x80,0x7b

# ATT:   cmovew	%dx, %ax, %r9w
# INTEL: cmove	r9w, ax, dx
0x62,0xf4,0x35,0x18,0x44,0xc2

# ATT:   cmovel	%ecx, %edx, %r10d
# INTEL: cmove	r10d, edx, ecx
0x62,0xf4,0x2c,0x18,0x44,0xd1

# ATT:   cmoveq	%r9, %r15, %r11
# INTEL: cmove	r11, r15, r9
0x62,0x54,0xa4,0x18,0x44,0xf9

# ATT:   cmovew	123(%r8,%rax,4), %dx, %ax
# INTEL: cmove	ax, dx, word ptr [r8 + 4*rax + 123]
0x62,0xd4,0x7d,0x18,0x44,0x54,0x80,0x7b

# ATT:   cmovel	123(%r8,%rax,4), %ecx, %edx
# INTEL: cmove	edx, ecx, dword ptr [r8 + 4*rax + 123]
0x62,0xd4,0x6c,0x18,0x44,0x4c,0x80,0x7b

# ATT:   cmoveq	123(%r8,%rax,4), %r9, %r15
# INTEL: cmove	r15, r9, qword ptr [r8 + 4*rax + 123]
0x62,0x54,0x84,0x18,0x44,0x4c,0x80,0x7b