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

// CHECK: vcomxsd xmm2, xmm3
// CHECK: encoding: [0x62,0xf1,0xfe,0x08,0x2f,0xd3]
          vcomxsd xmm2, xmm3

// CHECK: vcomxsd xmm2, xmm3, {sae}
// CHECK: encoding: [0x62,0xf1,0xfe,0x18,0x2f,0xd3]
          vcomxsd xmm2, xmm3, {sae}

// CHECK: vcomxsd xmm2, qword ptr [esp + 8*esi + 268435456]
// CHECK: encoding: [0x62,0xf1,0xfe,0x08,0x2f,0x94,0xf4,0x00,0x00,0x00,0x10]
          vcomxsd xmm2, qword ptr [esp + 8*esi + 268435456]

// CHECK: vcomxsd xmm2, qword ptr [edi + 4*eax + 291]
// CHECK: encoding: [0x62,0xf1,0xfe,0x08,0x2f,0x94,0x87,0x23,0x01,0x00,0x00]
          vcomxsd xmm2, qword ptr [edi + 4*eax + 291]

// CHECK: vcomxsd xmm2, qword ptr [eax]
// CHECK: encoding: [0x62,0xf1,0xfe,0x08,0x2f,0x10]
          vcomxsd xmm2, qword ptr [eax]

// CHECK: vcomxsd xmm2, qword ptr [2*ebp - 256]
// CHECK: encoding: [0x62,0xf1,0xfe,0x08,0x2f,0x14,0x6d,0x00,0xff,0xff,0xff]
          vcomxsd xmm2, qword ptr [2*ebp - 256]

// CHECK: vcomxsd xmm2, qword ptr [ecx + 1016]
// CHECK: encoding: [0x62,0xf1,0xfe,0x08,0x2f,0x51,0x7f]
          vcomxsd xmm2, qword ptr [ecx + 1016]

// CHECK: vcomxsd xmm2, qword ptr [edx - 1024]
// CHECK: encoding: [0x62,0xf1,0xfe,0x08,0x2f,0x52,0x80]
          vcomxsd xmm2, qword ptr [edx - 1024]

// CHECK: vcomxsh xmm2, xmm3
// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x2f,0xd3]
          vcomxsh xmm2, xmm3

// CHECK: vcomxsh xmm2, xmm3, {sae}
// CHECK: encoding: [0x62,0xf5,0x7f,0x18,0x2f,0xd3]
          vcomxsh xmm2, xmm3, {sae}

// CHECK: vcomxsh xmm2, word ptr [esp + 8*esi + 268435456]
// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x2f,0x94,0xf4,0x00,0x00,0x00,0x10]
          vcomxsh xmm2, word ptr [esp + 8*esi + 268435456]

// CHECK: vcomxsh xmm2, word ptr [edi + 4*eax + 291]
// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x2f,0x94,0x87,0x23,0x01,0x00,0x00]
          vcomxsh xmm2, word ptr [edi + 4*eax + 291]

// CHECK: vcomxsh xmm2, word ptr [eax]
// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x2f,0x10]
          vcomxsh xmm2, word ptr [eax]

// CHECK: vcomxsh xmm2, word ptr [2*ebp - 64]
// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x2f,0x14,0x6d,0xc0,0xff,0xff,0xff]
          vcomxsh xmm2, word ptr [2*ebp - 64]

// CHECK: vcomxsh xmm2, word ptr [ecx + 254]
// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x2f,0x51,0x7f]
          vcomxsh xmm2, word ptr [ecx + 254]

// CHECK: vcomxsh xmm2, word ptr [edx - 256]
// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x2f,0x52,0x80]
          vcomxsh xmm2, word ptr [edx - 256]

// CHECK: vcomxss xmm2, xmm3
// CHECK: encoding: [0x62,0xf1,0x7f,0x08,0x2f,0xd3]
          vcomxss xmm2, xmm3

// CHECK: vcomxss xmm2, xmm3, {sae}
// CHECK: encoding: [0x62,0xf1,0x7f,0x18,0x2f,0xd3]
          vcomxss xmm2, xmm3, {sae}

// CHECK: vcomxss xmm2, dword ptr [esp + 8*esi + 268435456]
// CHECK: encoding: [0x62,0xf1,0x7f,0x08,0x2f,0x94,0xf4,0x00,0x00,0x00,0x10]
          vcomxss xmm2, dword ptr [esp + 8*esi + 268435456]

// CHECK: vcomxss xmm2, dword ptr [edi + 4*eax + 291]
// CHECK: encoding: [0x62,0xf1,0x7f,0x08,0x2f,0x94,0x87,0x23,0x01,0x00,0x00]
          vcomxss xmm2, dword ptr [edi + 4*eax + 291]

// CHECK: vcomxss xmm2, dword ptr [eax]
// CHECK: encoding: [0x62,0xf1,0x7f,0x08,0x2f,0x10]
          vcomxss xmm2, dword ptr [eax]

// CHECK: vcomxss xmm2, dword ptr [2*ebp - 128]
// CHECK: encoding: [0x62,0xf1,0x7f,0x08,0x2f,0x14,0x6d,0x80,0xff,0xff,0xff]
          vcomxss xmm2, dword ptr [2*ebp - 128]

// CHECK: vcomxss xmm2, dword ptr [ecx + 508]
// CHECK: encoding: [0x62,0xf1,0x7f,0x08,0x2f,0x51,0x7f]
          vcomxss xmm2, dword ptr [ecx + 508]

// CHECK: vcomxss xmm2, dword ptr [edx - 512]
// CHECK: encoding: [0x62,0xf1,0x7f,0x08,0x2f,0x52,0x80]
          vcomxss xmm2, dword ptr [edx - 512]

// CHECK: vucomxsd xmm2, xmm3
// CHECK: encoding: [0x62,0xf1,0xfe,0x08,0x2e,0xd3]
          vucomxsd xmm2, xmm3

// CHECK: vucomxsd xmm2, xmm3, {sae}
// CHECK: encoding: [0x62,0xf1,0xfe,0x18,0x2e,0xd3]
          vucomxsd xmm2, xmm3, {sae}

// CHECK: vucomxsd xmm2, qword ptr [esp + 8*esi + 268435456]
// CHECK: encoding: [0x62,0xf1,0xfe,0x08,0x2e,0x94,0xf4,0x00,0x00,0x00,0x10]
          vucomxsd xmm2, qword ptr [esp + 8*esi + 268435456]

// CHECK: vucomxsd xmm2, qword ptr [edi + 4*eax + 291]
// CHECK: encoding: [0x62,0xf1,0xfe,0x08,0x2e,0x94,0x87,0x23,0x01,0x00,0x00]
          vucomxsd xmm2, qword ptr [edi + 4*eax + 291]

// CHECK: vucomxsd xmm2, qword ptr [eax]
// CHECK: encoding: [0x62,0xf1,0xfe,0x08,0x2e,0x10]
          vucomxsd xmm2, qword ptr [eax]

// CHECK: vucomxsd xmm2, qword ptr [2*ebp - 256]
// CHECK: encoding: [0x62,0xf1,0xfe,0x08,0x2e,0x14,0x6d,0x00,0xff,0xff,0xff]
          vucomxsd xmm2, qword ptr [2*ebp - 256]

// CHECK: vucomxsd xmm2, qword ptr [ecx + 1016]
// CHECK: encoding: [0x62,0xf1,0xfe,0x08,0x2e,0x51,0x7f]
          vucomxsd xmm2, qword ptr [ecx + 1016]

// CHECK: vucomxsd xmm2, qword ptr [edx - 1024]
// CHECK: encoding: [0x62,0xf1,0xfe,0x08,0x2e,0x52,0x80]
          vucomxsd xmm2, qword ptr [edx - 1024]

// CHECK: vucomxsh xmm2, xmm3
// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x2e,0xd3]
          vucomxsh xmm2, xmm3

// CHECK: vucomxsh xmm2, xmm3, {sae}
// CHECK: encoding: [0x62,0xf5,0x7f,0x18,0x2e,0xd3]
          vucomxsh xmm2, xmm3, {sae}

// CHECK: vucomxsh xmm2, word ptr [esp + 8*esi + 268435456]
// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x2e,0x94,0xf4,0x00,0x00,0x00,0x10]
          vucomxsh xmm2, word ptr [esp + 8*esi + 268435456]

// CHECK: vucomxsh xmm2, word ptr [edi + 4*eax + 291]
// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x2e,0x94,0x87,0x23,0x01,0x00,0x00]
          vucomxsh xmm2, word ptr [edi + 4*eax + 291]

// CHECK: vucomxsh xmm2, word ptr [eax]
// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x2e,0x10]
          vucomxsh xmm2, word ptr [eax]

// CHECK: vucomxsh xmm2, word ptr [2*ebp - 64]
// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x2e,0x14,0x6d,0xc0,0xff,0xff,0xff]
          vucomxsh xmm2, word ptr [2*ebp - 64]

// CHECK: vucomxsh xmm2, word ptr [ecx + 254]
// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x2e,0x51,0x7f]
          vucomxsh xmm2, word ptr [ecx + 254]

// CHECK: vucomxsh xmm2, word ptr [edx - 256]
// CHECK: encoding: [0x62,0xf5,0x7f,0x08,0x2e,0x52,0x80]
          vucomxsh xmm2, word ptr [edx - 256]

// CHECK: vucomxss xmm2, xmm3
// CHECK: encoding: [0x62,0xf1,0x7f,0x08,0x2e,0xd3]
          vucomxss xmm2, xmm3

// CHECK: vucomxss xmm2, xmm3, {sae}
// CHECK: encoding: [0x62,0xf1,0x7f,0x18,0x2e,0xd3]
          vucomxss xmm2, xmm3, {sae}

// CHECK: vucomxss xmm2, dword ptr [esp + 8*esi + 268435456]
// CHECK: encoding: [0x62,0xf1,0x7f,0x08,0x2e,0x94,0xf4,0x00,0x00,0x00,0x10]
          vucomxss xmm2, dword ptr [esp + 8*esi + 268435456]

// CHECK: vucomxss xmm2, dword ptr [edi + 4*eax + 291]
// CHECK: encoding: [0x62,0xf1,0x7f,0x08,0x2e,0x94,0x87,0x23,0x01,0x00,0x00]
          vucomxss xmm2, dword ptr [edi + 4*eax + 291]

// CHECK: vucomxss xmm2, dword ptr [eax]
// CHECK: encoding: [0x62,0xf1,0x7f,0x08,0x2e,0x10]
          vucomxss xmm2, dword ptr [eax]

// CHECK: vucomxss xmm2, dword ptr [2*ebp - 128]
// CHECK: encoding: [0x62,0xf1,0x7f,0x08,0x2e,0x14,0x6d,0x80,0xff,0xff,0xff]
          vucomxss xmm2, dword ptr [2*ebp - 128]

// CHECK: vucomxss xmm2, dword ptr [ecx + 508]
// CHECK: encoding: [0x62,0xf1,0x7f,0x08,0x2e,0x51,0x7f]
          vucomxss xmm2, dword ptr [ecx + 508]

// CHECK: vucomxss xmm2, dword ptr [edx - 512]
// CHECK: encoding: [0x62,0xf1,0x7f,0x08,0x2e,0x52,0x80]
          vucomxss xmm2, dword ptr [edx - 512]

