// RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s

// CHECK: vcomxsd xmm22, xmm23
// CHECK: encoding: [0x62,0xa1,0xfe,0x08,0x2f,0xf7]
          vcomxsd xmm22, xmm23

// CHECK: vcomxsd xmm22, xmm23, {sae}
// CHECK: encoding: [0x62,0xa1,0xfe,0x18,0x2f,0xf7]
          vcomxsd xmm22, xmm23, {sae}

// CHECK: vcomxsd xmm22, qword ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa1,0xfe,0x08,0x2f,0xb4,0xf5,0x00,0x00,0x00,0x10]
          vcomxsd xmm22, qword ptr [rbp + 8*r14 + 268435456]

// CHECK: vcomxsd xmm22, qword ptr [r8 + 4*rax + 291]
// CHECK: encoding: [0x62,0xc1,0xfe,0x08,0x2f,0xb4,0x80,0x23,0x01,0x00,0x00]
          vcomxsd xmm22, qword ptr [r8 + 4*rax + 291]

// CHECK: vcomxsd xmm22, qword ptr [rip]
// CHECK: encoding: [0x62,0xe1,0xfe,0x08,0x2f,0x35,0x00,0x00,0x00,0x00]
          vcomxsd xmm22, qword ptr [rip]

// CHECK: vcomxsd xmm22, qword ptr [2*rbp - 256]
// CHECK: encoding: [0x62,0xe1,0xfe,0x08,0x2f,0x34,0x6d,0x00,0xff,0xff,0xff]
          vcomxsd xmm22, qword ptr [2*rbp - 256]

// CHECK: vcomxsd xmm22, qword ptr [rcx + 1016]
// CHECK: encoding: [0x62,0xe1,0xfe,0x08,0x2f,0x71,0x7f]
          vcomxsd xmm22, qword ptr [rcx + 1016]

// CHECK: vcomxsd xmm22, qword ptr [rdx - 1024]
// CHECK: encoding: [0x62,0xe1,0xfe,0x08,0x2f,0x72,0x80]
          vcomxsd xmm22, qword ptr [rdx - 1024]

// CHECK: vcomxsh xmm22, xmm23
// CHECK: encoding: [0x62,0xa5,0x7f,0x08,0x2f,0xf7]
          vcomxsh xmm22, xmm23

// CHECK: vcomxsh xmm22, xmm23, {sae}
// CHECK: encoding: [0x62,0xa5,0x7f,0x18,0x2f,0xf7]
          vcomxsh xmm22, xmm23, {sae}

// CHECK: vcomxsh xmm22, word ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa5,0x7f,0x08,0x2f,0xb4,0xf5,0x00,0x00,0x00,0x10]
          vcomxsh xmm22, word ptr [rbp + 8*r14 + 268435456]

// CHECK: vcomxsh xmm22, word ptr [r8 + 4*rax + 291]
// CHECK: encoding: [0x62,0xc5,0x7f,0x08,0x2f,0xb4,0x80,0x23,0x01,0x00,0x00]
          vcomxsh xmm22, word ptr [r8 + 4*rax + 291]

// CHECK: vcomxsh xmm22, word ptr [rip]
// CHECK: encoding: [0x62,0xe5,0x7f,0x08,0x2f,0x35,0x00,0x00,0x00,0x00]
          vcomxsh xmm22, word ptr [rip]

// CHECK: vcomxsh xmm22, word ptr [2*rbp - 64]
// CHECK: encoding: [0x62,0xe5,0x7f,0x08,0x2f,0x34,0x6d,0xc0,0xff,0xff,0xff]
          vcomxsh xmm22, word ptr [2*rbp - 64]

// CHECK: vcomxsh xmm22, word ptr [rcx + 254]
// CHECK: encoding: [0x62,0xe5,0x7f,0x08,0x2f,0x71,0x7f]
          vcomxsh xmm22, word ptr [rcx + 254]

// CHECK: vcomxsh xmm22, word ptr [rdx - 256]
// CHECK: encoding: [0x62,0xe5,0x7f,0x08,0x2f,0x72,0x80]
          vcomxsh xmm22, word ptr [rdx - 256]

// CHECK: vcomxss xmm22, xmm23
// CHECK: encoding: [0x62,0xa1,0x7f,0x08,0x2f,0xf7]
          vcomxss xmm22, xmm23

// CHECK: vcomxss xmm22, xmm23, {sae}
// CHECK: encoding: [0x62,0xa1,0x7f,0x18,0x2f,0xf7]
          vcomxss xmm22, xmm23, {sae}

// CHECK: vcomxss xmm22, dword ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa1,0x7f,0x08,0x2f,0xb4,0xf5,0x00,0x00,0x00,0x10]
          vcomxss xmm22, dword ptr [rbp + 8*r14 + 268435456]

// CHECK: vcomxss xmm22, dword ptr [r8 + 4*rax + 291]
// CHECK: encoding: [0x62,0xc1,0x7f,0x08,0x2f,0xb4,0x80,0x23,0x01,0x00,0x00]
          vcomxss xmm22, dword ptr [r8 + 4*rax + 291]

// CHECK: vcomxss xmm22, dword ptr [rip]
// CHECK: encoding: [0x62,0xe1,0x7f,0x08,0x2f,0x35,0x00,0x00,0x00,0x00]
          vcomxss xmm22, dword ptr [rip]

// CHECK: vcomxss xmm22, dword ptr [2*rbp - 128]
// CHECK: encoding: [0x62,0xe1,0x7f,0x08,0x2f,0x34,0x6d,0x80,0xff,0xff,0xff]
          vcomxss xmm22, dword ptr [2*rbp - 128]

// CHECK: vcomxss xmm22, dword ptr [rcx + 508]
// CHECK: encoding: [0x62,0xe1,0x7f,0x08,0x2f,0x71,0x7f]
          vcomxss xmm22, dword ptr [rcx + 508]

// CHECK: vcomxss xmm22, dword ptr [rdx - 512]
// CHECK: encoding: [0x62,0xe1,0x7f,0x08,0x2f,0x72,0x80]
          vcomxss xmm22, dword ptr [rdx - 512]

// CHECK: vucomxsd xmm22, xmm23
// CHECK: encoding: [0x62,0xa1,0xfe,0x08,0x2e,0xf7]
          vucomxsd xmm22, xmm23

// CHECK: vucomxsd xmm22, xmm23, {sae}
// CHECK: encoding: [0x62,0xa1,0xfe,0x18,0x2e,0xf7]
          vucomxsd xmm22, xmm23, {sae}

// CHECK: vucomxsd xmm22, qword ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa1,0xfe,0x08,0x2e,0xb4,0xf5,0x00,0x00,0x00,0x10]
          vucomxsd xmm22, qword ptr [rbp + 8*r14 + 268435456]

// CHECK: vucomxsd xmm22, qword ptr [r8 + 4*rax + 291]
// CHECK: encoding: [0x62,0xc1,0xfe,0x08,0x2e,0xb4,0x80,0x23,0x01,0x00,0x00]
          vucomxsd xmm22, qword ptr [r8 + 4*rax + 291]

// CHECK: vucomxsd xmm22, qword ptr [rip]
// CHECK: encoding: [0x62,0xe1,0xfe,0x08,0x2e,0x35,0x00,0x00,0x00,0x00]
          vucomxsd xmm22, qword ptr [rip]

// CHECK: vucomxsd xmm22, qword ptr [2*rbp - 256]
// CHECK: encoding: [0x62,0xe1,0xfe,0x08,0x2e,0x34,0x6d,0x00,0xff,0xff,0xff]
          vucomxsd xmm22, qword ptr [2*rbp - 256]

// CHECK: vucomxsd xmm22, qword ptr [rcx + 1016]
// CHECK: encoding: [0x62,0xe1,0xfe,0x08,0x2e,0x71,0x7f]
          vucomxsd xmm22, qword ptr [rcx + 1016]

// CHECK: vucomxsd xmm22, qword ptr [rdx - 1024]
// CHECK: encoding: [0x62,0xe1,0xfe,0x08,0x2e,0x72,0x80]
          vucomxsd xmm22, qword ptr [rdx - 1024]

// CHECK: vucomxsh xmm22, xmm23
// CHECK: encoding: [0x62,0xa5,0x7f,0x08,0x2e,0xf7]
          vucomxsh xmm22, xmm23

// CHECK: vucomxsh xmm22, xmm23, {sae}
// CHECK: encoding: [0x62,0xa5,0x7f,0x18,0x2e,0xf7]
          vucomxsh xmm22, xmm23, {sae}

// CHECK: vucomxsh xmm22, word ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa5,0x7f,0x08,0x2e,0xb4,0xf5,0x00,0x00,0x00,0x10]
          vucomxsh xmm22, word ptr [rbp + 8*r14 + 268435456]

// CHECK: vucomxsh xmm22, word ptr [r8 + 4*rax + 291]
// CHECK: encoding: [0x62,0xc5,0x7f,0x08,0x2e,0xb4,0x80,0x23,0x01,0x00,0x00]
          vucomxsh xmm22, word ptr [r8 + 4*rax + 291]

// CHECK: vucomxsh xmm22, word ptr [rip]
// CHECK: encoding: [0x62,0xe5,0x7f,0x08,0x2e,0x35,0x00,0x00,0x00,0x00]
          vucomxsh xmm22, word ptr [rip]

// CHECK: vucomxsh xmm22, word ptr [2*rbp - 64]
// CHECK: encoding: [0x62,0xe5,0x7f,0x08,0x2e,0x34,0x6d,0xc0,0xff,0xff,0xff]
          vucomxsh xmm22, word ptr [2*rbp - 64]

// CHECK: vucomxsh xmm22, word ptr [rcx + 254]
// CHECK: encoding: [0x62,0xe5,0x7f,0x08,0x2e,0x71,0x7f]
          vucomxsh xmm22, word ptr [rcx + 254]

// CHECK: vucomxsh xmm22, word ptr [rdx - 256]
// CHECK: encoding: [0x62,0xe5,0x7f,0x08,0x2e,0x72,0x80]
          vucomxsh xmm22, word ptr [rdx - 256]

// CHECK: vucomxss xmm22, xmm23
// CHECK: encoding: [0x62,0xa1,0x7f,0x08,0x2e,0xf7]
          vucomxss xmm22, xmm23

// CHECK: vucomxss xmm22, xmm23, {sae}
// CHECK: encoding: [0x62,0xa1,0x7f,0x18,0x2e,0xf7]
          vucomxss xmm22, xmm23, {sae}

// CHECK: vucomxss xmm22, dword ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa1,0x7f,0x08,0x2e,0xb4,0xf5,0x00,0x00,0x00,0x10]
          vucomxss xmm22, dword ptr [rbp + 8*r14 + 268435456]

// CHECK: vucomxss xmm22, dword ptr [r8 + 4*rax + 291]
// CHECK: encoding: [0x62,0xc1,0x7f,0x08,0x2e,0xb4,0x80,0x23,0x01,0x00,0x00]
          vucomxss xmm22, dword ptr [r8 + 4*rax + 291]

// CHECK: vucomxss xmm22, dword ptr [rip]
// CHECK: encoding: [0x62,0xe1,0x7f,0x08,0x2e,0x35,0x00,0x00,0x00,0x00]
          vucomxss xmm22, dword ptr [rip]

// CHECK: vucomxss xmm22, dword ptr [2*rbp - 128]
// CHECK: encoding: [0x62,0xe1,0x7f,0x08,0x2e,0x34,0x6d,0x80,0xff,0xff,0xff]
          vucomxss xmm22, dword ptr [2*rbp - 128]

// CHECK: vucomxss xmm22, dword ptr [rcx + 508]
// CHECK: encoding: [0x62,0xe1,0x7f,0x08,0x2e,0x71,0x7f]
          vucomxss xmm22, dword ptr [rcx + 508]

// CHECK: vucomxss xmm22, dword ptr [rdx - 512]
// CHECK: encoding: [0x62,0xe1,0x7f,0x08,0x2e,0x72,0x80]
          vucomxss xmm22, dword ptr [rdx - 512]

