# RUN: llvm-mc -triple x86_64 -show-encoding %s | FileCheck %s
# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR

# ERROR-COUNT-288: error:
# ERROR-NOT: error:
# CHECK: ctestbb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x02,0xf6,0x44,0x80,0x7b,0x7b]
         ctestbb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: ctestbw {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x02,0xf7,0x44,0x80,0x7b,0xd2,0x04]
         ctestbw {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: ctestbl {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x02,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestbl {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestbq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xc4,0x02,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestbq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestbb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x02,0x84,0x5c,0x80,0x7b]
         ctestbb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: ctestbw {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x02,0x85,0x54,0x80,0x7b]
         ctestbw {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: ctestbl {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x02,0x85,0x4c,0x80,0x7b]
         ctestbl {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: ctestbq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0xc4,0x02,0x85,0x4c,0x80,0x7b]
         ctestbq {dfv=of} %r9, 123(%r8,%rax,4)
# Swap mr form
# CHECK: ctestbb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x02,0x84,0x5c,0x80,0x7b]
         ctestbb {dfv=of} 123(%r8,%rax,4), %bl
# CHECK: ctestbw {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x02,0x85,0x54,0x80,0x7b]
         ctestbw {dfv=of} 123(%r8,%rax,4), %dx
# CHECK: ctestbl {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x02,0x85,0x4c,0x80,0x7b]
         ctestbl {dfv=of} 123(%r8,%rax,4), %ecx
# CHECK: ctestbq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0xc4,0x02,0x85,0x4c,0x80,0x7b]
         ctestbq {dfv=of} 123(%r8,%rax,4), %r9
# CHECK: ctestbb {dfv=of} $123, %bl
# CHECK: encoding: [0x62,0xf4,0x44,0x02,0xf6,0xc3,0x7b]
         ctestbb {dfv=of} $123, %bl
# CHECK: ctestbw {dfv=of} $1234, %dx
# CHECK: encoding: [0x62,0xf4,0x45,0x02,0xf7,0xc2,0xd2,0x04]
         ctestbw {dfv=of} $1234, %dx
# CHECK: ctestbl {dfv=of} $123456, %ecx
# CHECK: encoding: [0x62,0xf4,0x44,0x02,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestbl {dfv=of} $123456, %ecx
# CHECK: ctestbq {dfv=of} $123456, %r9
# CHECK: encoding: [0x62,0xd4,0xc4,0x02,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestbq {dfv=of} $123456, %r9
# CHECK: ctestbb {dfv=of} %bl, %dl
# CHECK: encoding: [0x62,0xf4,0x44,0x02,0x84,0xda]
         ctestbb {dfv=of} %bl, %dl
# CHECK: ctestbw {dfv=of} %dx, %ax
# CHECK: encoding: [0x62,0xf4,0x45,0x02,0x85,0xd0]
         ctestbw {dfv=of} %dx, %ax
# CHECK: ctestbl {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x02,0x85,0xca]
         ctestbl {dfv=of} %ecx, %edx
# CHECK: ctestbq {dfv=of} %r9, %r15
# CHECK: encoding: [0x62,0x54,0xc4,0x02,0x85,0xcf]
         ctestbq {dfv=of} %r9, %r15
# CHECK: ctestbeb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x06,0xf6,0x44,0x80,0x7b,0x7b]
         ctestbeb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: ctestbew {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x06,0xf7,0x44,0x80,0x7b,0xd2,0x04]
         ctestbew {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: ctestbel {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x06,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestbel {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestbeq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xc4,0x06,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestbeq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestbeb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x06,0x84,0x5c,0x80,0x7b]
         ctestbeb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: ctestbew {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x06,0x85,0x54,0x80,0x7b]
         ctestbew {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: ctestbel {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x06,0x85,0x4c,0x80,0x7b]
         ctestbel {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: ctestbeq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0xc4,0x06,0x85,0x4c,0x80,0x7b]
         ctestbeq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: ctestbeb {dfv=of} $123, %bl
# CHECK: encoding: [0x62,0xf4,0x44,0x06,0xf6,0xc3,0x7b]
         ctestbeb {dfv=of} $123, %bl
# CHECK: ctestbew {dfv=of} $1234, %dx
# CHECK: encoding: [0x62,0xf4,0x45,0x06,0xf7,0xc2,0xd2,0x04]
         ctestbew {dfv=of} $1234, %dx
# CHECK: ctestbel {dfv=of} $123456, %ecx
# CHECK: encoding: [0x62,0xf4,0x44,0x06,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestbel {dfv=of} $123456, %ecx
# CHECK: ctestbeq {dfv=of} $123456, %r9
# CHECK: encoding: [0x62,0xd4,0xc4,0x06,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestbeq {dfv=of} $123456, %r9
# CHECK: ctestbeb {dfv=of} %bl, %dl
# CHECK: encoding: [0x62,0xf4,0x44,0x06,0x84,0xda]
         ctestbeb {dfv=of} %bl, %dl
# CHECK: ctestbew {dfv=of} %dx, %ax
# CHECK: encoding: [0x62,0xf4,0x45,0x06,0x85,0xd0]
         ctestbew {dfv=of} %dx, %ax
# CHECK: ctestbel {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x06,0x85,0xca]
         ctestbel {dfv=of} %ecx, %edx
# CHECK: ctestbeq {dfv=of} %r9, %r15
# CHECK: encoding: [0x62,0x54,0xc4,0x06,0x85,0xcf]
         ctestbeq {dfv=of} %r9, %r15
# CHECK: ctestfb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0b,0xf6,0x44,0x80,0x7b,0x7b]
         ctestfb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: ctestfw {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x0b,0xf7,0x44,0x80,0x7b,0xd2,0x04]
         ctestfw {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: ctestfl {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0b,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestfl {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestfq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xc4,0x0b,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestfq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestfb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0b,0x84,0x5c,0x80,0x7b]
         ctestfb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: ctestfw {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x0b,0x85,0x54,0x80,0x7b]
         ctestfw {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: ctestfl {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0b,0x85,0x4c,0x80,0x7b]
         ctestfl {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: ctestfq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0xc4,0x0b,0x85,0x4c,0x80,0x7b]
         ctestfq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: ctestfb {dfv=of} $123, %bl
# CHECK: encoding: [0x62,0xf4,0x44,0x0b,0xf6,0xc3,0x7b]
         ctestfb {dfv=of} $123, %bl
# CHECK: ctestfw {dfv=of} $1234, %dx
# CHECK: encoding: [0x62,0xf4,0x45,0x0b,0xf7,0xc2,0xd2,0x04]
         ctestfw {dfv=of} $1234, %dx
# CHECK: ctestfl {dfv=of} $123456, %ecx
# CHECK: encoding: [0x62,0xf4,0x44,0x0b,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestfl {dfv=of} $123456, %ecx
# CHECK: ctestfq {dfv=of} $123456, %r9
# CHECK: encoding: [0x62,0xd4,0xc4,0x0b,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestfq {dfv=of} $123456, %r9
# CHECK: ctestfb {dfv=of} %bl, %dl
# CHECK: encoding: [0x62,0xf4,0x44,0x0b,0x84,0xda]
         ctestfb {dfv=of} %bl, %dl
# CHECK: ctestfw {dfv=of} %dx, %ax
# CHECK: encoding: [0x62,0xf4,0x45,0x0b,0x85,0xd0]
         ctestfw {dfv=of} %dx, %ax
# CHECK: ctestfl {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x0b,0x85,0xca]
         ctestfl {dfv=of} %ecx, %edx
# CHECK: ctestfq {dfv=of} %r9, %r15
# CHECK: encoding: [0x62,0x54,0xc4,0x0b,0x85,0xcf]
         ctestfq {dfv=of} %r9, %r15
# CHECK: ctestlb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0c,0xf6,0x44,0x80,0x7b,0x7b]
         ctestlb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: ctestlw {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x0c,0xf7,0x44,0x80,0x7b,0xd2,0x04]
         ctestlw {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: ctestll {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0c,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestll {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestlq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xc4,0x0c,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestlq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestlb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0c,0x84,0x5c,0x80,0x7b]
         ctestlb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: ctestlw {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x0c,0x85,0x54,0x80,0x7b]
         ctestlw {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: ctestll {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0c,0x85,0x4c,0x80,0x7b]
         ctestll {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: ctestlq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0xc4,0x0c,0x85,0x4c,0x80,0x7b]
         ctestlq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: ctestlb {dfv=of} $123, %bl
# CHECK: encoding: [0x62,0xf4,0x44,0x0c,0xf6,0xc3,0x7b]
         ctestlb {dfv=of} $123, %bl
# CHECK: ctestlw {dfv=of} $1234, %dx
# CHECK: encoding: [0x62,0xf4,0x45,0x0c,0xf7,0xc2,0xd2,0x04]
         ctestlw {dfv=of} $1234, %dx
# CHECK: ctestll {dfv=of} $123456, %ecx
# CHECK: encoding: [0x62,0xf4,0x44,0x0c,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestll {dfv=of} $123456, %ecx
# CHECK: ctestlq {dfv=of} $123456, %r9
# CHECK: encoding: [0x62,0xd4,0xc4,0x0c,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestlq {dfv=of} $123456, %r9
# CHECK: ctestlb {dfv=of} %bl, %dl
# CHECK: encoding: [0x62,0xf4,0x44,0x0c,0x84,0xda]
         ctestlb {dfv=of} %bl, %dl
# CHECK: ctestlw {dfv=of} %dx, %ax
# CHECK: encoding: [0x62,0xf4,0x45,0x0c,0x85,0xd0]
         ctestlw {dfv=of} %dx, %ax
# CHECK: ctestll {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x0c,0x85,0xca]
         ctestll {dfv=of} %ecx, %edx
# CHECK: ctestlq {dfv=of} %r9, %r15
# CHECK: encoding: [0x62,0x54,0xc4,0x0c,0x85,0xcf]
         ctestlq {dfv=of} %r9, %r15
# CHECK: ctestleb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0e,0xf6,0x44,0x80,0x7b,0x7b]
         ctestleb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: ctestlew {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x0e,0xf7,0x44,0x80,0x7b,0xd2,0x04]
         ctestlew {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: ctestlel {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0e,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestlel {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestleq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xc4,0x0e,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestleq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestleb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0e,0x84,0x5c,0x80,0x7b]
         ctestleb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: ctestlew {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x0e,0x85,0x54,0x80,0x7b]
         ctestlew {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: ctestlel {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0e,0x85,0x4c,0x80,0x7b]
         ctestlel {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: ctestleq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0xc4,0x0e,0x85,0x4c,0x80,0x7b]
         ctestleq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: ctestleb {dfv=of} $123, %bl
# CHECK: encoding: [0x62,0xf4,0x44,0x0e,0xf6,0xc3,0x7b]
         ctestleb {dfv=of} $123, %bl
# CHECK: ctestlew {dfv=of} $1234, %dx
# CHECK: encoding: [0x62,0xf4,0x45,0x0e,0xf7,0xc2,0xd2,0x04]
         ctestlew {dfv=of} $1234, %dx
# CHECK: ctestlel {dfv=of} $123456, %ecx
# CHECK: encoding: [0x62,0xf4,0x44,0x0e,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestlel {dfv=of} $123456, %ecx
# CHECK: ctestleq {dfv=of} $123456, %r9
# CHECK: encoding: [0x62,0xd4,0xc4,0x0e,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestleq {dfv=of} $123456, %r9
# CHECK: ctestleb {dfv=of} %bl, %dl
# CHECK: encoding: [0x62,0xf4,0x44,0x0e,0x84,0xda]
         ctestleb {dfv=of} %bl, %dl
# CHECK: ctestlew {dfv=of} %dx, %ax
# CHECK: encoding: [0x62,0xf4,0x45,0x0e,0x85,0xd0]
         ctestlew {dfv=of} %dx, %ax
# CHECK: ctestlel {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x0e,0x85,0xca]
         ctestlel {dfv=of} %ecx, %edx
# CHECK: ctestleq {dfv=of} %r9, %r15
# CHECK: encoding: [0x62,0x54,0xc4,0x0e,0x85,0xcf]
         ctestleq {dfv=of} %r9, %r15
# CHECK: ctestaeb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x03,0xf6,0x44,0x80,0x7b,0x7b]
         ctestaeb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: ctestaew {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x03,0xf7,0x44,0x80,0x7b,0xd2,0x04]
         ctestaew {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: ctestael {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x03,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestael {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestaeq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xc4,0x03,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestaeq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestaeb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x03,0x84,0x5c,0x80,0x7b]
         ctestaeb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: ctestaew {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x03,0x85,0x54,0x80,0x7b]
         ctestaew {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: ctestael {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x03,0x85,0x4c,0x80,0x7b]
         ctestael {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: ctestaeq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0xc4,0x03,0x85,0x4c,0x80,0x7b]
         ctestaeq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: ctestaeb {dfv=of} $123, %bl
# CHECK: encoding: [0x62,0xf4,0x44,0x03,0xf6,0xc3,0x7b]
         ctestaeb {dfv=of} $123, %bl
# CHECK: ctestaew {dfv=of} $1234, %dx
# CHECK: encoding: [0x62,0xf4,0x45,0x03,0xf7,0xc2,0xd2,0x04]
         ctestaew {dfv=of} $1234, %dx
# CHECK: ctestael {dfv=of} $123456, %ecx
# CHECK: encoding: [0x62,0xf4,0x44,0x03,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestael {dfv=of} $123456, %ecx
# CHECK: ctestaeq {dfv=of} $123456, %r9
# CHECK: encoding: [0x62,0xd4,0xc4,0x03,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestaeq {dfv=of} $123456, %r9
# CHECK: ctestaeb {dfv=of} %bl, %dl
# CHECK: encoding: [0x62,0xf4,0x44,0x03,0x84,0xda]
         ctestaeb {dfv=of} %bl, %dl
# CHECK: ctestaew {dfv=of} %dx, %ax
# CHECK: encoding: [0x62,0xf4,0x45,0x03,0x85,0xd0]
         ctestaew {dfv=of} %dx, %ax
# CHECK: ctestael {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x03,0x85,0xca]
         ctestael {dfv=of} %ecx, %edx
# CHECK: ctestaeq {dfv=of} %r9, %r15
# CHECK: encoding: [0x62,0x54,0xc4,0x03,0x85,0xcf]
         ctestaeq {dfv=of} %r9, %r15
# CHECK: ctestab {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x07,0xf6,0x44,0x80,0x7b,0x7b]
         ctestab {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: ctestaw {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x07,0xf7,0x44,0x80,0x7b,0xd2,0x04]
         ctestaw {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: ctestal {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x07,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestal {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestaq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xc4,0x07,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestaq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestab {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x07,0x84,0x5c,0x80,0x7b]
         ctestab {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: ctestaw {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x07,0x85,0x54,0x80,0x7b]
         ctestaw {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: ctestal {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x07,0x85,0x4c,0x80,0x7b]
         ctestal {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: ctestaq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0xc4,0x07,0x85,0x4c,0x80,0x7b]
         ctestaq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: ctestab {dfv=of} $123, %bl
# CHECK: encoding: [0x62,0xf4,0x44,0x07,0xf6,0xc3,0x7b]
         ctestab {dfv=of} $123, %bl
# CHECK: ctestaw {dfv=of} $1234, %dx
# CHECK: encoding: [0x62,0xf4,0x45,0x07,0xf7,0xc2,0xd2,0x04]
         ctestaw {dfv=of} $1234, %dx
# CHECK: ctestal {dfv=of} $123456, %ecx
# CHECK: encoding: [0x62,0xf4,0x44,0x07,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestal {dfv=of} $123456, %ecx
# CHECK: ctestaq {dfv=of} $123456, %r9
# CHECK: encoding: [0x62,0xd4,0xc4,0x07,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestaq {dfv=of} $123456, %r9
# CHECK: ctestab {dfv=of} %bl, %dl
# CHECK: encoding: [0x62,0xf4,0x44,0x07,0x84,0xda]
         ctestab {dfv=of} %bl, %dl
# CHECK: ctestaw {dfv=of} %dx, %ax
# CHECK: encoding: [0x62,0xf4,0x45,0x07,0x85,0xd0]
         ctestaw {dfv=of} %dx, %ax
# CHECK: ctestal {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x07,0x85,0xca]
         ctestal {dfv=of} %ecx, %edx
# CHECK: ctestaq {dfv=of} %r9, %r15
# CHECK: encoding: [0x62,0x54,0xc4,0x07,0x85,0xcf]
         ctestaq {dfv=of} %r9, %r15
# CHECK: ctestgeb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0d,0xf6,0x44,0x80,0x7b,0x7b]
         ctestgeb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: ctestgew {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x0d,0xf7,0x44,0x80,0x7b,0xd2,0x04]
         ctestgew {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: ctestgel {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0d,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestgel {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestgeq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xc4,0x0d,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestgeq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestgeb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0d,0x84,0x5c,0x80,0x7b]
         ctestgeb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: ctestgew {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x0d,0x85,0x54,0x80,0x7b]
         ctestgew {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: ctestgel {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0d,0x85,0x4c,0x80,0x7b]
         ctestgel {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: ctestgeq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0xc4,0x0d,0x85,0x4c,0x80,0x7b]
         ctestgeq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: ctestgeb {dfv=of} $123, %bl
# CHECK: encoding: [0x62,0xf4,0x44,0x0d,0xf6,0xc3,0x7b]
         ctestgeb {dfv=of} $123, %bl
# CHECK: ctestgew {dfv=of} $1234, %dx
# CHECK: encoding: [0x62,0xf4,0x45,0x0d,0xf7,0xc2,0xd2,0x04]
         ctestgew {dfv=of} $1234, %dx
# CHECK: ctestgel {dfv=of} $123456, %ecx
# CHECK: encoding: [0x62,0xf4,0x44,0x0d,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestgel {dfv=of} $123456, %ecx
# CHECK: ctestgeq {dfv=of} $123456, %r9
# CHECK: encoding: [0x62,0xd4,0xc4,0x0d,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestgeq {dfv=of} $123456, %r9
# CHECK: ctestgeb {dfv=of} %bl, %dl
# CHECK: encoding: [0x62,0xf4,0x44,0x0d,0x84,0xda]
         ctestgeb {dfv=of} %bl, %dl
# CHECK: ctestgew {dfv=of} %dx, %ax
# CHECK: encoding: [0x62,0xf4,0x45,0x0d,0x85,0xd0]
         ctestgew {dfv=of} %dx, %ax
# CHECK: ctestgel {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x0d,0x85,0xca]
         ctestgel {dfv=of} %ecx, %edx
# CHECK: ctestgeq {dfv=of} %r9, %r15
# CHECK: encoding: [0x62,0x54,0xc4,0x0d,0x85,0xcf]
         ctestgeq {dfv=of} %r9, %r15
# CHECK: ctestgb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0f,0xf6,0x44,0x80,0x7b,0x7b]
         ctestgb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: ctestgw {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x0f,0xf7,0x44,0x80,0x7b,0xd2,0x04]
         ctestgw {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: ctestgl {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0f,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestgl {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestgq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xc4,0x0f,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestgq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestgb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0f,0x84,0x5c,0x80,0x7b]
         ctestgb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: ctestgw {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x0f,0x85,0x54,0x80,0x7b]
         ctestgw {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: ctestgl {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0f,0x85,0x4c,0x80,0x7b]
         ctestgl {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: ctestgq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0xc4,0x0f,0x85,0x4c,0x80,0x7b]
         ctestgq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: ctestgb {dfv=of} $123, %bl
# CHECK: encoding: [0x62,0xf4,0x44,0x0f,0xf6,0xc3,0x7b]
         ctestgb {dfv=of} $123, %bl
# CHECK: ctestgw {dfv=of} $1234, %dx
# CHECK: encoding: [0x62,0xf4,0x45,0x0f,0xf7,0xc2,0xd2,0x04]
         ctestgw {dfv=of} $1234, %dx
# CHECK: ctestgl {dfv=of} $123456, %ecx
# CHECK: encoding: [0x62,0xf4,0x44,0x0f,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestgl {dfv=of} $123456, %ecx
# CHECK: ctestgq {dfv=of} $123456, %r9
# CHECK: encoding: [0x62,0xd4,0xc4,0x0f,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestgq {dfv=of} $123456, %r9
# CHECK: ctestgb {dfv=of} %bl, %dl
# CHECK: encoding: [0x62,0xf4,0x44,0x0f,0x84,0xda]
         ctestgb {dfv=of} %bl, %dl
# CHECK: ctestgw {dfv=of} %dx, %ax
# CHECK: encoding: [0x62,0xf4,0x45,0x0f,0x85,0xd0]
         ctestgw {dfv=of} %dx, %ax
# CHECK: ctestgl {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x0f,0x85,0xca]
         ctestgl {dfv=of} %ecx, %edx
# CHECK: ctestgq {dfv=of} %r9, %r15
# CHECK: encoding: [0x62,0x54,0xc4,0x0f,0x85,0xcf]
         ctestgq {dfv=of} %r9, %r15
# CHECK: ctestnob {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x01,0xf6,0x44,0x80,0x7b,0x7b]
         ctestnob {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: ctestnow {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x01,0xf7,0x44,0x80,0x7b,0xd2,0x04]
         ctestnow {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: ctestnol {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x01,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestnol {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestnoq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xc4,0x01,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestnoq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestnob {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x01,0x84,0x5c,0x80,0x7b]
         ctestnob {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: ctestnow {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x01,0x85,0x54,0x80,0x7b]
         ctestnow {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: ctestnol {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x01,0x85,0x4c,0x80,0x7b]
         ctestnol {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: ctestnoq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0xc4,0x01,0x85,0x4c,0x80,0x7b]
         ctestnoq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: ctestnob {dfv=of} $123, %bl
# CHECK: encoding: [0x62,0xf4,0x44,0x01,0xf6,0xc3,0x7b]
         ctestnob {dfv=of} $123, %bl
# CHECK: ctestnow {dfv=of} $1234, %dx
# CHECK: encoding: [0x62,0xf4,0x45,0x01,0xf7,0xc2,0xd2,0x04]
         ctestnow {dfv=of} $1234, %dx
# CHECK: ctestnol {dfv=of} $123456, %ecx
# CHECK: encoding: [0x62,0xf4,0x44,0x01,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestnol {dfv=of} $123456, %ecx
# CHECK: ctestnoq {dfv=of} $123456, %r9
# CHECK: encoding: [0x62,0xd4,0xc4,0x01,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestnoq {dfv=of} $123456, %r9
# CHECK: ctestnob {dfv=of} %bl, %dl
# CHECK: encoding: [0x62,0xf4,0x44,0x01,0x84,0xda]
         ctestnob {dfv=of} %bl, %dl
# CHECK: ctestnow {dfv=of} %dx, %ax
# CHECK: encoding: [0x62,0xf4,0x45,0x01,0x85,0xd0]
         ctestnow {dfv=of} %dx, %ax
# CHECK: ctestnol {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x01,0x85,0xca]
         ctestnol {dfv=of} %ecx, %edx
# CHECK: ctestnoq {dfv=of} %r9, %r15
# CHECK: encoding: [0x62,0x54,0xc4,0x01,0x85,0xcf]
         ctestnoq {dfv=of} %r9, %r15
# CHECK: ctestnsb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x09,0xf6,0x44,0x80,0x7b,0x7b]
         ctestnsb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: ctestnsw {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x09,0xf7,0x44,0x80,0x7b,0xd2,0x04]
         ctestnsw {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: ctestnsl {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x09,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestnsl {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestnsq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xc4,0x09,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestnsq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestnsb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x09,0x84,0x5c,0x80,0x7b]
         ctestnsb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: ctestnsw {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x09,0x85,0x54,0x80,0x7b]
         ctestnsw {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: ctestnsl {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x09,0x85,0x4c,0x80,0x7b]
         ctestnsl {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: ctestnsq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0xc4,0x09,0x85,0x4c,0x80,0x7b]
         ctestnsq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: ctestnsb {dfv=of} $123, %bl
# CHECK: encoding: [0x62,0xf4,0x44,0x09,0xf6,0xc3,0x7b]
         ctestnsb {dfv=of} $123, %bl
# CHECK: ctestnsw {dfv=of} $1234, %dx
# CHECK: encoding: [0x62,0xf4,0x45,0x09,0xf7,0xc2,0xd2,0x04]
         ctestnsw {dfv=of} $1234, %dx
# CHECK: ctestnsl {dfv=of} $123456, %ecx
# CHECK: encoding: [0x62,0xf4,0x44,0x09,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestnsl {dfv=of} $123456, %ecx
# CHECK: ctestnsq {dfv=of} $123456, %r9
# CHECK: encoding: [0x62,0xd4,0xc4,0x09,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestnsq {dfv=of} $123456, %r9
# CHECK: ctestnsb {dfv=of} %bl, %dl
# CHECK: encoding: [0x62,0xf4,0x44,0x09,0x84,0xda]
         ctestnsb {dfv=of} %bl, %dl
# CHECK: ctestnsw {dfv=of} %dx, %ax
# CHECK: encoding: [0x62,0xf4,0x45,0x09,0x85,0xd0]
         ctestnsw {dfv=of} %dx, %ax
# CHECK: ctestnsl {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x09,0x85,0xca]
         ctestnsl {dfv=of} %ecx, %edx
# CHECK: ctestnsq {dfv=of} %r9, %r15
# CHECK: encoding: [0x62,0x54,0xc4,0x09,0x85,0xcf]
         ctestnsq {dfv=of} %r9, %r15
# CHECK: ctestneb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x05,0xf6,0x44,0x80,0x7b,0x7b]
         ctestneb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: ctestnew {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x05,0xf7,0x44,0x80,0x7b,0xd2,0x04]
         ctestnew {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: ctestnel {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x05,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestnel {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestneq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xc4,0x05,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestneq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestneb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x05,0x84,0x5c,0x80,0x7b]
         ctestneb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: ctestnew {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x05,0x85,0x54,0x80,0x7b]
         ctestnew {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: ctestnel {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x05,0x85,0x4c,0x80,0x7b]
         ctestnel {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: ctestneq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0xc4,0x05,0x85,0x4c,0x80,0x7b]
         ctestneq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: ctestneb {dfv=of} $123, %bl
# CHECK: encoding: [0x62,0xf4,0x44,0x05,0xf6,0xc3,0x7b]
         ctestneb {dfv=of} $123, %bl
# CHECK: ctestnew {dfv=of} $1234, %dx
# CHECK: encoding: [0x62,0xf4,0x45,0x05,0xf7,0xc2,0xd2,0x04]
         ctestnew {dfv=of} $1234, %dx
# CHECK: ctestnel {dfv=of} $123456, %ecx
# CHECK: encoding: [0x62,0xf4,0x44,0x05,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestnel {dfv=of} $123456, %ecx
# CHECK: ctestneq {dfv=of} $123456, %r9
# CHECK: encoding: [0x62,0xd4,0xc4,0x05,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestneq {dfv=of} $123456, %r9
# CHECK: ctestneb {dfv=of} %bl, %dl
# CHECK: encoding: [0x62,0xf4,0x44,0x05,0x84,0xda]
         ctestneb {dfv=of} %bl, %dl
# CHECK: ctestnew {dfv=of} %dx, %ax
# CHECK: encoding: [0x62,0xf4,0x45,0x05,0x85,0xd0]
         ctestnew {dfv=of} %dx, %ax
# CHECK: ctestnel {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x05,0x85,0xca]
         ctestnel {dfv=of} %ecx, %edx
# CHECK: ctestneq {dfv=of} %r9, %r15
# CHECK: encoding: [0x62,0x54,0xc4,0x05,0x85,0xcf]
         ctestneq {dfv=of} %r9, %r15
# CHECK: ctestob {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x00,0xf6,0x44,0x80,0x7b,0x7b]
         ctestob {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: ctestow {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x00,0xf7,0x44,0x80,0x7b,0xd2,0x04]
         ctestow {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: ctestol {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x00,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestol {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestoq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xc4,0x00,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestoq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestob {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x00,0x84,0x5c,0x80,0x7b]
         ctestob {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: ctestow {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x00,0x85,0x54,0x80,0x7b]
         ctestow {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: ctestol {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x00,0x85,0x4c,0x80,0x7b]
         ctestol {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: ctestoq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0xc4,0x00,0x85,0x4c,0x80,0x7b]
         ctestoq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: ctestob {dfv=of} $123, %bl
# CHECK: encoding: [0x62,0xf4,0x44,0x00,0xf6,0xc3,0x7b]
         ctestob {dfv=of} $123, %bl
# CHECK: ctestow {dfv=of} $1234, %dx
# CHECK: encoding: [0x62,0xf4,0x45,0x00,0xf7,0xc2,0xd2,0x04]
         ctestow {dfv=of} $1234, %dx
# CHECK: ctestol {dfv=of} $123456, %ecx
# CHECK: encoding: [0x62,0xf4,0x44,0x00,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestol {dfv=of} $123456, %ecx
# CHECK: ctestoq {dfv=of} $123456, %r9
# CHECK: encoding: [0x62,0xd4,0xc4,0x00,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestoq {dfv=of} $123456, %r9
# CHECK: ctestob {dfv=of} %bl, %dl
# CHECK: encoding: [0x62,0xf4,0x44,0x00,0x84,0xda]
         ctestob {dfv=of} %bl, %dl
# CHECK: ctestow {dfv=of} %dx, %ax
# CHECK: encoding: [0x62,0xf4,0x45,0x00,0x85,0xd0]
         ctestow {dfv=of} %dx, %ax
# CHECK: ctestol {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x00,0x85,0xca]
         ctestol {dfv=of} %ecx, %edx
# CHECK: ctestoq {dfv=of} %r9, %r15
# CHECK: encoding: [0x62,0x54,0xc4,0x00,0x85,0xcf]
         ctestoq {dfv=of} %r9, %r15
# CHECK: ctestsb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x08,0xf6,0x44,0x80,0x7b,0x7b]
         ctestsb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: ctestsw {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x08,0xf7,0x44,0x80,0x7b,0xd2,0x04]
         ctestsw {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: ctestsl {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x08,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestsl {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestsq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xc4,0x08,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestsq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctestsb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x08,0x84,0x5c,0x80,0x7b]
         ctestsb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: ctestsw {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x08,0x85,0x54,0x80,0x7b]
         ctestsw {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: ctestsl {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x08,0x85,0x4c,0x80,0x7b]
         ctestsl {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: ctestsq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0xc4,0x08,0x85,0x4c,0x80,0x7b]
         ctestsq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: ctestsb {dfv=of} $123, %bl
# CHECK: encoding: [0x62,0xf4,0x44,0x08,0xf6,0xc3,0x7b]
         ctestsb {dfv=of} $123, %bl
# CHECK: ctestsw {dfv=of} $1234, %dx
# CHECK: encoding: [0x62,0xf4,0x45,0x08,0xf7,0xc2,0xd2,0x04]
         ctestsw {dfv=of} $1234, %dx
# CHECK: ctestsl {dfv=of} $123456, %ecx
# CHECK: encoding: [0x62,0xf4,0x44,0x08,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestsl {dfv=of} $123456, %ecx
# CHECK: ctestsq {dfv=of} $123456, %r9
# CHECK: encoding: [0x62,0xd4,0xc4,0x08,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestsq {dfv=of} $123456, %r9
# CHECK: ctestsb {dfv=of} %bl, %dl
# CHECK: encoding: [0x62,0xf4,0x44,0x08,0x84,0xda]
         ctestsb {dfv=of} %bl, %dl
# CHECK: ctestsw {dfv=of} %dx, %ax
# CHECK: encoding: [0x62,0xf4,0x45,0x08,0x85,0xd0]
         ctestsw {dfv=of} %dx, %ax
# CHECK: ctestsl {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x08,0x85,0xca]
         ctestsl {dfv=of} %ecx, %edx
# CHECK: ctestsq {dfv=of} %r9, %r15
# CHECK: encoding: [0x62,0x54,0xc4,0x08,0x85,0xcf]
         ctestsq {dfv=of} %r9, %r15
# CHECK: ctesttb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0a,0xf6,0x44,0x80,0x7b,0x7b]
         ctesttb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: ctesttw {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x0a,0xf7,0x44,0x80,0x7b,0xd2,0x04]
         ctesttw {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: ctesttl {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0a,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctesttl {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctesttq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xc4,0x0a,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctesttq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctesttb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0a,0x84,0x5c,0x80,0x7b]
         ctesttb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: ctesttw {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x0a,0x85,0x54,0x80,0x7b]
         ctesttw {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: ctesttl {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x0a,0x85,0x4c,0x80,0x7b]
         ctesttl {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: ctesttq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0xc4,0x0a,0x85,0x4c,0x80,0x7b]
         ctesttq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: ctesttb {dfv=of} $123, %bl
# CHECK: encoding: [0x62,0xf4,0x44,0x0a,0xf6,0xc3,0x7b]
         ctesttb {dfv=of} $123, %bl
# CHECK: ctesttw {dfv=of} $1234, %dx
# CHECK: encoding: [0x62,0xf4,0x45,0x0a,0xf7,0xc2,0xd2,0x04]
         ctesttw {dfv=of} $1234, %dx
# CHECK: ctesttl {dfv=of} $123456, %ecx
# CHECK: encoding: [0x62,0xf4,0x44,0x0a,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctesttl {dfv=of} $123456, %ecx
# CHECK: ctesttq {dfv=of} $123456, %r9
# CHECK: encoding: [0x62,0xd4,0xc4,0x0a,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctesttq {dfv=of} $123456, %r9
# CHECK: ctesttb {dfv=of} %bl, %dl
# CHECK: encoding: [0x62,0xf4,0x44,0x0a,0x84,0xda]
         ctesttb {dfv=of} %bl, %dl
# CHECK: ctesttw {dfv=of} %dx, %ax
# CHECK: encoding: [0x62,0xf4,0x45,0x0a,0x85,0xd0]
         ctesttw {dfv=of} %dx, %ax
# CHECK: ctesttl {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x0a,0x85,0xca]
         ctesttl {dfv=of} %ecx, %edx
# CHECK: ctesttq {dfv=of} %r9, %r15
# CHECK: encoding: [0x62,0x54,0xc4,0x0a,0x85,0xcf]
         ctesttq {dfv=of} %r9, %r15
# CHECK: ctesteb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x04,0xf6,0x44,0x80,0x7b,0x7b]
         ctesteb {dfv=of} $123, 123(%r8,%rax,4)
# CHECK: ctestew {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x04,0xf7,0x44,0x80,0x7b,0xd2,0x04]
         ctestew {dfv=of} $1234, 123(%r8,%rax,4)
# CHECK: ctestel {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x04,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctestel {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctesteq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xc4,0x04,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         ctesteq {dfv=of} $123456, 123(%r8,%rax,4)
# CHECK: ctesteb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x04,0x84,0x5c,0x80,0x7b]
         ctesteb {dfv=of} %bl, 123(%r8,%rax,4)
# CHECK: ctestew {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x45,0x04,0x85,0x54,0x80,0x7b]
         ctestew {dfv=of} %dx, 123(%r8,%rax,4)
# CHECK: ctestel {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x44,0x04,0x85,0x4c,0x80,0x7b]
         ctestel {dfv=of} %ecx, 123(%r8,%rax,4)
# CHECK: ctesteq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0xc4,0x04,0x85,0x4c,0x80,0x7b]
         ctesteq {dfv=of} %r9, 123(%r8,%rax,4)
# CHECK: ctesteb {dfv=of} $123, %bl
# CHECK: encoding: [0x62,0xf4,0x44,0x04,0xf6,0xc3,0x7b]
         ctesteb {dfv=of} $123, %bl
# CHECK: ctestew {dfv=of} $1234, %dx
# CHECK: encoding: [0x62,0xf4,0x45,0x04,0xf7,0xc2,0xd2,0x04]
         ctestew {dfv=of} $1234, %dx
# CHECK: ctestel {dfv=of} $123456, %ecx
# CHECK: encoding: [0x62,0xf4,0x44,0x04,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctestel {dfv=of} $123456, %ecx
# CHECK: ctesteq {dfv=of} $123456, %r9
# CHECK: encoding: [0x62,0xd4,0xc4,0x04,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         ctesteq {dfv=of} $123456, %r9
# CHECK: ctesteb {dfv=of} %bl, %dl
# CHECK: encoding: [0x62,0xf4,0x44,0x04,0x84,0xda]
         ctesteb {dfv=of} %bl, %dl
# CHECK: ctestew {dfv=of} %dx, %ax
# CHECK: encoding: [0x62,0xf4,0x45,0x04,0x85,0xd0]
         ctestew {dfv=of} %dx, %ax
# CHECK: ctestel {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x04,0x85,0xca]
         ctestel {dfv=of} %ecx, %edx
# CHECK: ctesteq {dfv=of} %r9, %r15
# CHECK: encoding: [0x62,0x54,0xc4,0x04,0x85,0xcf]
         ctesteq {dfv=of} %r9, %r15

## "{evex} test*" are alias for "ctestt* {dfv=}"

# CHECK: ctesttb	{dfv=}	$123, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x04,0x0a,0xf6,0x44,0x80,0x7b,0x7b]
         {evex} testb	$123, 123(%r8,%rax,4)
# CHECK: ctesttw	{dfv=}	$1234, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x05,0x0a,0xf7,0x44,0x80,0x7b,0xd2,0x04]
         {evex} testw	$1234, 123(%r8,%rax,4)
# CHECK: ctesttl	{dfv=}	$123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x04,0x0a,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         {evex} testl	$123456, 123(%r8,%rax,4)
# CHECK: ctesttq	{dfv=}	$123456, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x84,0x0a,0xf7,0x44,0x80,0x7b,0x40,0xe2,0x01,0x00]
         {evex} testq	$123456, 123(%r8,%rax,4)
# CHECK: ctesttb	{dfv=}	%bl, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x04,0x0a,0x84,0x5c,0x80,0x7b]
         {evex} testb	%bl, 123(%r8,%rax,4)
# CHECK: ctesttw	{dfv=}	%dx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x05,0x0a,0x85,0x54,0x80,0x7b]
         {evex} testw	%dx, 123(%r8,%rax,4)
# CHECK: ctesttl	{dfv=}	%ecx, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x04,0x0a,0x85,0x4c,0x80,0x7b]
         {evex} testl	%ecx, 123(%r8,%rax,4)
# CHECK: ctesttq	{dfv=}	%r9, 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0x54,0x84,0x0a,0x85,0x4c,0x80,0x7b]
         {evex} testq	%r9, 123(%r8,%rax,4)
# CHECK: ctesttb	{dfv=}	$123, %bl
# CHECK: encoding: [0x62,0xf4,0x04,0x0a,0xf6,0xc3,0x7b]
         {evex} testb	$123, %bl
# CHECK: ctesttw	{dfv=}	$1234, %dx
# CHECK: encoding: [0x62,0xf4,0x05,0x0a,0xf7,0xc2,0xd2,0x04]
         {evex} testw	$1234, %dx
# CHECK: ctesttl	{dfv=}	$123456, %ecx
# CHECK: encoding: [0x62,0xf4,0x04,0x0a,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         {evex} testl	$123456, %ecx
# CHECK: ctesttq	{dfv=}	$123456, %r9
# CHECK: encoding: [0x62,0xd4,0x84,0x0a,0xf7,0xc1,0x40,0xe2,0x01,0x00]
         {evex} testq	$123456, %r9
# CHECK: ctesttb	{dfv=}	%bl, %dl
# CHECK: encoding: [0x62,0xf4,0x04,0x0a,0x84,0xda]
         {evex} testb	%bl, %dl
# CHECK: ctesttw	{dfv=}	%dx, %ax
# CHECK: encoding: [0x62,0xf4,0x05,0x0a,0x85,0xd0]
         {evex} testw	%dx, %ax
# CHECK: ctesttl	{dfv=}	%ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x04,0x0a,0x85,0xca]
         {evex} testl	%ecx, %edx
# CHECK: ctesttq	{dfv=}	%r9, %r15
# CHECK: encoding: [0x62,0x54,0x84,0x0a,0x85,0xcf]
         {evex} testq	%r9, %r15

## Condition Code Aliases

# CHECK: ctestbl {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x02,0x85,0xca]
         ctestcl {dfv=of} %ecx, %edx
# CHECK: ctestbl {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x02,0x85,0xca]
         ctestnael {dfv=of} %ecx, %edx
# CHECK: ctestael {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x03,0x85,0xca]
         ctestnbl {dfv=of} %ecx, %edx
# CHECK: ctestael {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x03,0x85,0xca]
         ctestncl {dfv=of} %ecx, %edx
# CHECK: ctestel {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x04,0x85,0xca]
         ctestzl {dfv=of} %ecx, %edx
# CHECK: ctestnel {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x05,0x85,0xca]
         ctestnzl {dfv=of} %ecx, %edx
# CHECK: ctestal {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x07,0x85,0xca]
         ctestnbel {dfv=of} %ecx, %edx
# CHECK: ctestll {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x0c,0x85,0xca]
         ctestngel {dfv=of} %ecx, %edx
# CHECK: ctestgel {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x0d,0x85,0xca]
         ctestnll {dfv=of} %ecx, %edx
# CHECK: ctestlel {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x0e,0x85,0xca]
         ctestngl {dfv=of} %ecx, %edx
# CHECK: ctestgl {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x0f,0x85,0xca]
         ctestnlel {dfv=of} %ecx, %edx
# CHECK: ctestbel {dfv=of} %ecx, %edx
# CHECK: encoding: [0x62,0xf4,0x44,0x06,0x85,0xca]
         ctestnal {dfv=of} %ecx, %edx
