# RUN: llvm-mc -triple x86_64 -show-encoding -x86-asm-syntax=intel -output-asm-variant=1 %s | FileCheck %s
# CHECK: cmovb r9w, ax, dx
# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x42,0xc2]
cmovb r9w, ax, dx
# CHECK: cmovb r10d, edx, ecx
# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x42,0xd1]
cmovb r10d, edx, ecx
# CHECK: cmovb r11, r15, r9
# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x42,0xf9]
cmovb r11, r15, r9
# CHECK: cmovb ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x42,0x54,0x80,0x7b]
cmovb ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: cmovb edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x42,0x4c,0x80,0x7b]
cmovb edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: cmovb r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0x54,0x84,0x18,0x42,0x4c,0x80,0x7b]
cmovb r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: cmovbe r9w, ax, dx
# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x46,0xc2]
cmovbe r9w, ax, dx
# CHECK: cmovbe r10d, edx, ecx
# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x46,0xd1]
cmovbe r10d, edx, ecx
# CHECK: cmovbe r11, r15, r9
# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x46,0xf9]
cmovbe r11, r15, r9
# CHECK: cmovbe ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x46,0x54,0x80,0x7b]
cmovbe ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: cmovbe edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x46,0x4c,0x80,0x7b]
cmovbe edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: cmovbe r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0x54,0x84,0x18,0x46,0x4c,0x80,0x7b]
cmovbe r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: cmovl r9w, ax, dx
# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x4c,0xc2]
cmovl r9w, ax, dx
# CHECK: cmovl r10d, edx, ecx
# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x4c,0xd1]
cmovl r10d, edx, ecx
# CHECK: cmovl r11, r15, r9
# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x4c,0xf9]
cmovl r11, r15, r9
# CHECK: cmovl ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x4c,0x54,0x80,0x7b]
cmovl ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: cmovl edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x4c,0x4c,0x80,0x7b]
cmovl edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: cmovl r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0x54,0x84,0x18,0x4c,0x4c,0x80,0x7b]
cmovl r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: cmovle r9w, ax, dx
# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x4e,0xc2]
cmovle r9w, ax, dx
# CHECK: cmovle r10d, edx, ecx
# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x4e,0xd1]
cmovle r10d, edx, ecx
# CHECK: cmovle r11, r15, r9
# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x4e,0xf9]
cmovle r11, r15, r9
# CHECK: cmovle ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x4e,0x54,0x80,0x7b]
cmovle ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: cmovle edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x4e,0x4c,0x80,0x7b]
cmovle edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: cmovle r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0x54,0x84,0x18,0x4e,0x4c,0x80,0x7b]
cmovle r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: cmovae r9w, ax, dx
# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x43,0xc2]
cmovae r9w, ax, dx
# CHECK: cmovae r10d, edx, ecx
# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x43,0xd1]
cmovae r10d, edx, ecx
# CHECK: cmovae r11, r15, r9
# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x43,0xf9]
cmovae r11, r15, r9
# CHECK: cmovae ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x43,0x54,0x80,0x7b]
cmovae ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: cmovae edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x43,0x4c,0x80,0x7b]
cmovae edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: cmovae r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0x54,0x84,0x18,0x43,0x4c,0x80,0x7b]
cmovae r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: cmova r9w, ax, dx
# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x47,0xc2]
cmova r9w, ax, dx
# CHECK: cmova r10d, edx, ecx
# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x47,0xd1]
cmova r10d, edx, ecx
# CHECK: cmova r11, r15, r9
# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x47,0xf9]
cmova r11, r15, r9
# CHECK: cmova ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x47,0x54,0x80,0x7b]
cmova ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: cmova edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x47,0x4c,0x80,0x7b]
cmova edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: cmova r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0x54,0x84,0x18,0x47,0x4c,0x80,0x7b]
cmova r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: cmovge r9w, ax, dx
# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x4d,0xc2]
cmovge r9w, ax, dx
# CHECK: cmovge r10d, edx, ecx
# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x4d,0xd1]
cmovge r10d, edx, ecx
# CHECK: cmovge r11, r15, r9
# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x4d,0xf9]
cmovge r11, r15, r9
# CHECK: cmovge ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x4d,0x54,0x80,0x7b]
cmovge ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: cmovge edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x4d,0x4c,0x80,0x7b]
cmovge edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: cmovge r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0x54,0x84,0x18,0x4d,0x4c,0x80,0x7b]
cmovge r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: cmovg r9w, ax, dx
# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x4f,0xc2]
cmovg r9w, ax, dx
# CHECK: cmovg r10d, edx, ecx
# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x4f,0xd1]
cmovg r10d, edx, ecx
# CHECK: cmovg r11, r15, r9
# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x4f,0xf9]
cmovg r11, r15, r9
# CHECK: cmovg ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x4f,0x54,0x80,0x7b]
cmovg ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: cmovg edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x4f,0x4c,0x80,0x7b]
cmovg edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: cmovg r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0x54,0x84,0x18,0x4f,0x4c,0x80,0x7b]
cmovg r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: cmovno r9w, ax, dx
# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x41,0xc2]
cmovno r9w, ax, dx
# CHECK: cmovno r10d, edx, ecx
# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x41,0xd1]
cmovno r10d, edx, ecx
# CHECK: cmovno r11, r15, r9
# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x41,0xf9]
cmovno r11, r15, r9
# CHECK: cmovno ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x41,0x54,0x80,0x7b]
cmovno ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: cmovno edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x41,0x4c,0x80,0x7b]
cmovno edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: cmovno r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0x54,0x84,0x18,0x41,0x4c,0x80,0x7b]
cmovno r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: cmovnp r9w, ax, dx
# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x4b,0xc2]
cmovnp r9w, ax, dx
# CHECK: cmovnp r10d, edx, ecx
# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x4b,0xd1]
cmovnp r10d, edx, ecx
# CHECK: cmovnp r11, r15, r9
# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x4b,0xf9]
cmovnp r11, r15, r9
# CHECK: cmovnp ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x4b,0x54,0x80,0x7b]
cmovnp ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: cmovnp edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x4b,0x4c,0x80,0x7b]
cmovnp edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: cmovnp r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0x54,0x84,0x18,0x4b,0x4c,0x80,0x7b]
cmovnp r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: cmovns r9w, ax, dx
# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x49,0xc2]
cmovns r9w, ax, dx
# CHECK: cmovns r10d, edx, ecx
# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x49,0xd1]
cmovns r10d, edx, ecx
# CHECK: cmovns r11, r15, r9
# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x49,0xf9]
cmovns r11, r15, r9
# CHECK: cmovns ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x49,0x54,0x80,0x7b]
cmovns ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: cmovns edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x49,0x4c,0x80,0x7b]
cmovns edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: cmovns r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0x54,0x84,0x18,0x49,0x4c,0x80,0x7b]
cmovns r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: cmovne r9w, ax, dx
# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x45,0xc2]
cmovne r9w, ax, dx
# CHECK: cmovne r10d, edx, ecx
# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x45,0xd1]
cmovne r10d, edx, ecx
# CHECK: cmovne r11, r15, r9
# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x45,0xf9]
cmovne r11, r15, r9
# CHECK: cmovne ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x45,0x54,0x80,0x7b]
cmovne ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: cmovne edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x45,0x4c,0x80,0x7b]
cmovne edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: cmovne r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0x54,0x84,0x18,0x45,0x4c,0x80,0x7b]
cmovne r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: cmovo r9w, ax, dx
# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x40,0xc2]
cmovo r9w, ax, dx
# CHECK: cmovo r10d, edx, ecx
# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x40,0xd1]
cmovo r10d, edx, ecx
# CHECK: cmovo r11, r15, r9
# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x40,0xf9]
cmovo r11, r15, r9
# CHECK: cmovo ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x40,0x54,0x80,0x7b]
cmovo ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: cmovo edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x40,0x4c,0x80,0x7b]
cmovo edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: cmovo r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0x54,0x84,0x18,0x40,0x4c,0x80,0x7b]
cmovo r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: cmovp r9w, ax, dx
# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x4a,0xc2]
cmovp r9w, ax, dx
# CHECK: cmovp r10d, edx, ecx
# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x4a,0xd1]
cmovp r10d, edx, ecx
# CHECK: cmovp r11, r15, r9
# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x4a,0xf9]
cmovp r11, r15, r9
# CHECK: cmovp ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x4a,0x54,0x80,0x7b]
cmovp ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: cmovp edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x4a,0x4c,0x80,0x7b]
cmovp edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: cmovp r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0x54,0x84,0x18,0x4a,0x4c,0x80,0x7b]
cmovp r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: cmovs r9w, ax, dx
# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x48,0xc2]
cmovs r9w, ax, dx
# CHECK: cmovs r10d, edx, ecx
# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x48,0xd1]
cmovs r10d, edx, ecx
# CHECK: cmovs r11, r15, r9
# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x48,0xf9]
cmovs r11, r15, r9
# CHECK: cmovs ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x48,0x54,0x80,0x7b]
cmovs ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: cmovs edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x48,0x4c,0x80,0x7b]
cmovs edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: cmovs r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0x54,0x84,0x18,0x48,0x4c,0x80,0x7b]
cmovs r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: cmove r9w, ax, dx
# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x44,0xc2]
cmove r9w, ax, dx
# CHECK: cmove r10d, edx, ecx
# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x44,0xd1]
cmove r10d, edx, ecx
# CHECK: cmove r11, r15, r9
# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x44,0xf9]
cmove r11, r15, r9
# CHECK: cmove ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x44,0x54,0x80,0x7b]
cmove ax, dx, word ptr [r8 + 4*rax + 123]
# CHECK: cmove edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x44,0x4c,0x80,0x7b]
cmove edx, ecx, dword ptr [r8 + 4*rax + 123]
# CHECK: cmove r15, r9, qword ptr [r8 + 4*rax + 123]
# CHECK: encoding: [0x62,0x54,0x84,0x18,0x44,0x4c,0x80,0x7b]
cmove r15, r9, qword ptr [r8 + 4*rax + 123]