# 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