# 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-60: error:
# ERROR-NOT: error:
# CHECK: {evex}	cmpaxadd	%ecx, %edx, 123(%eax,%ebx,4)
# CHECK: encoding: [0x67,0x62,0xf2,0x75,0x08,0xe7,0x54,0x98,0x7b]
         {evex}	cmpaxadd	%ecx, %edx, 123(%eax,%ebx,4)

# CHECK: {evex}	cmpaxadd	%r9, %r15, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe7,0x7c,0x98,0x7b]
         {evex}	cmpaxadd	%r9, %r15, 123(%rax,%rbx,4)

# CHECK: cmpaxadd	%r18d, %r22d, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe7,0xb4,0xac,0x23,0x01,0x00,0x00]
         cmpaxadd	%r18d, %r22d, 291(%r28,%r29,4)

# CHECK: cmpaxadd	%r19, %r23, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe7,0xbc,0xac,0x23,0x01,0x00,0x00]
         cmpaxadd	%r19, %r23, 291(%r28,%r29,4)

# CHECK: {evex}	cmpbexadd	%ecx, %edx, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe6,0x54,0x98,0x7b]
         {evex}	cmpbexadd	%ecx, %edx, 123(%rax,%rbx,4)

# CHECK: {evex}	cmpbexadd	%r9, %r15, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe6,0x7c,0x98,0x7b]
         {evex}	cmpbexadd	%r9, %r15, 123(%rax,%rbx,4)

# CHECK: cmpbexadd	%r18d, %r22d, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe6,0xb4,0xac,0x23,0x01,0x00,0x00]
         cmpbexadd	%r18d, %r22d, 291(%r28,%r29,4)

# CHECK: cmpbexadd	%r19, %r23, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe6,0xbc,0xac,0x23,0x01,0x00,0x00]
         cmpbexadd	%r19, %r23, 291(%r28,%r29,4)

# CHECK: {evex}	cmpbxadd	%ecx, %edx, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe2,0x54,0x98,0x7b]
         {evex}	cmpbxadd	%ecx, %edx, 123(%rax,%rbx,4)

# CHECK: {evex}	cmpbxadd	%r9, %r15, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe2,0x7c,0x98,0x7b]
         {evex}	cmpbxadd	%r9, %r15, 123(%rax,%rbx,4)

# CHECK: cmpbxadd	%r18d, %r22d, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe2,0xb4,0xac,0x23,0x01,0x00,0x00]
         cmpbxadd	%r18d, %r22d, 291(%r28,%r29,4)

# CHECK: cmpbxadd	%r19, %r23, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe2,0xbc,0xac,0x23,0x01,0x00,0x00]
         cmpbxadd	%r19, %r23, 291(%r28,%r29,4)

# CHECK: {evex}	cmpexadd	%ecx, %edx, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe4,0x54,0x98,0x7b]
         {evex}	cmpexadd	%ecx, %edx, 123(%rax,%rbx,4)

# CHECK: {evex}	cmpexadd	%r9, %r15, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe4,0x7c,0x98,0x7b]
         {evex}	cmpexadd	%r9, %r15, 123(%rax,%rbx,4)

# CHECK: cmpexadd	%r18d, %r22d, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe4,0xb4,0xac,0x23,0x01,0x00,0x00]
         cmpexadd	%r18d, %r22d, 291(%r28,%r29,4)

# CHECK: cmpexadd	%r19, %r23, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe4,0xbc,0xac,0x23,0x01,0x00,0x00]
         cmpexadd	%r19, %r23, 291(%r28,%r29,4)

# CHECK: {evex}	cmpgexadd	%ecx, %edx, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xed,0x54,0x98,0x7b]
         {evex}	cmpgexadd	%ecx, %edx, 123(%rax,%rbx,4)

# CHECK: {evex}	cmpgexadd	%r9, %r15, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xed,0x7c,0x98,0x7b]
         {evex}	cmpgexadd	%r9, %r15, 123(%rax,%rbx,4)

# CHECK: cmpgexadd	%r18d, %r22d, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xed,0xb4,0xac,0x23,0x01,0x00,0x00]
         cmpgexadd	%r18d, %r22d, 291(%r28,%r29,4)

# CHECK: cmpgexadd	%r19, %r23, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xed,0xbc,0xac,0x23,0x01,0x00,0x00]
         cmpgexadd	%r19, %r23, 291(%r28,%r29,4)

# CHECK: {evex}	cmpgxadd	%ecx, %edx, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xef,0x54,0x98,0x7b]
         {evex}	cmpgxadd	%ecx, %edx, 123(%rax,%rbx,4)

# CHECK: {evex}	cmpgxadd	%r9, %r15, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xef,0x7c,0x98,0x7b]
         {evex}	cmpgxadd	%r9, %r15, 123(%rax,%rbx,4)

# CHECK: cmpgxadd	%r18d, %r22d, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xef,0xb4,0xac,0x23,0x01,0x00,0x00]
         cmpgxadd	%r18d, %r22d, 291(%r28,%r29,4)

# CHECK: cmpgxadd	%r19, %r23, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xef,0xbc,0xac,0x23,0x01,0x00,0x00]
         cmpgxadd	%r19, %r23, 291(%r28,%r29,4)

# CHECK: {evex}	cmplexadd	%ecx, %edx, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xee,0x54,0x98,0x7b]
         {evex}	cmplexadd	%ecx, %edx, 123(%rax,%rbx,4)

# CHECK: {evex}	cmplexadd	%r9, %r15, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xee,0x7c,0x98,0x7b]
         {evex}	cmplexadd	%r9, %r15, 123(%rax,%rbx,4)

# CHECK: cmplexadd	%r18d, %r22d, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xee,0xb4,0xac,0x23,0x01,0x00,0x00]
         cmplexadd	%r18d, %r22d, 291(%r28,%r29,4)

# CHECK: cmplexadd	%r19, %r23, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xee,0xbc,0xac,0x23,0x01,0x00,0x00]
         cmplexadd	%r19, %r23, 291(%r28,%r29,4)

# CHECK: {evex}	cmplxadd	%ecx, %edx, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xec,0x54,0x98,0x7b]
         {evex}	cmplxadd	%ecx, %edx, 123(%rax,%rbx,4)

# CHECK: {evex}	cmplxadd	%r9, %r15, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xec,0x7c,0x98,0x7b]
         {evex}	cmplxadd	%r9, %r15, 123(%rax,%rbx,4)

# CHECK: cmplxadd	%r18d, %r22d, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xec,0xb4,0xac,0x23,0x01,0x00,0x00]
         cmplxadd	%r18d, %r22d, 291(%r28,%r29,4)

# CHECK: cmplxadd	%r19, %r23, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xec,0xbc,0xac,0x23,0x01,0x00,0x00]
         cmplxadd	%r19, %r23, 291(%r28,%r29,4)

# CHECK: {evex}	cmpnexadd	%ecx, %edx, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe5,0x54,0x98,0x7b]
         {evex}	cmpnexadd	%ecx, %edx, 123(%rax,%rbx,4)

# CHECK: {evex}	cmpnexadd	%r9, %r15, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe5,0x7c,0x98,0x7b]
         {evex}	cmpnexadd	%r9, %r15, 123(%rax,%rbx,4)

# CHECK: cmpnexadd	%r18d, %r22d, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe5,0xb4,0xac,0x23,0x01,0x00,0x00]
         cmpnexadd	%r18d, %r22d, 291(%r28,%r29,4)

# CHECK: cmpnexadd	%r19, %r23, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe5,0xbc,0xac,0x23,0x01,0x00,0x00]
         cmpnexadd	%r19, %r23, 291(%r28,%r29,4)

# CHECK: {evex}	cmpnoxadd	%ecx, %edx, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe1,0x54,0x98,0x7b]
         {evex}	cmpnoxadd	%ecx, %edx, 123(%rax,%rbx,4)

# CHECK: {evex}	cmpnoxadd	%r9, %r15, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe1,0x7c,0x98,0x7b]
         {evex}	cmpnoxadd	%r9, %r15, 123(%rax,%rbx,4)

# CHECK: cmpnoxadd	%r18d, %r22d, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe1,0xb4,0xac,0x23,0x01,0x00,0x00]
         cmpnoxadd	%r18d, %r22d, 291(%r28,%r29,4)

# CHECK: cmpnoxadd	%r19, %r23, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe1,0xbc,0xac,0x23,0x01,0x00,0x00]
         cmpnoxadd	%r19, %r23, 291(%r28,%r29,4)

# CHECK: {evex}	cmpnpxadd	%ecx, %edx, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xeb,0x54,0x98,0x7b]
         {evex}	cmpnpxadd	%ecx, %edx, 123(%rax,%rbx,4)

# CHECK: {evex}	cmpnpxadd	%r9, %r15, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xeb,0x7c,0x98,0x7b]
         {evex}	cmpnpxadd	%r9, %r15, 123(%rax,%rbx,4)

# CHECK: cmpnpxadd	%r18d, %r22d, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xeb,0xb4,0xac,0x23,0x01,0x00,0x00]
         cmpnpxadd	%r18d, %r22d, 291(%r28,%r29,4)

# CHECK: cmpnpxadd	%r19, %r23, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xeb,0xbc,0xac,0x23,0x01,0x00,0x00]
         cmpnpxadd	%r19, %r23, 291(%r28,%r29,4)

# CHECK: {evex}	cmpnsxadd	%ecx, %edx, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe9,0x54,0x98,0x7b]
         {evex}	cmpnsxadd	%ecx, %edx, 123(%rax,%rbx,4)

# CHECK: {evex}	cmpnsxadd	%r9, %r15, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe9,0x7c,0x98,0x7b]
         {evex}	cmpnsxadd	%r9, %r15, 123(%rax,%rbx,4)

# CHECK: cmpnsxadd	%r18d, %r22d, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe9,0xb4,0xac,0x23,0x01,0x00,0x00]
         cmpnsxadd	%r18d, %r22d, 291(%r28,%r29,4)

# CHECK: cmpnsxadd	%r19, %r23, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe9,0xbc,0xac,0x23,0x01,0x00,0x00]
         cmpnsxadd	%r19, %r23, 291(%r28,%r29,4)

# CHECK: {evex}	cmpoxadd	%ecx, %edx, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe0,0x54,0x98,0x7b]
         {evex}	cmpoxadd	%ecx, %edx, 123(%rax,%rbx,4)

# CHECK: {evex}	cmpoxadd	%r9, %r15, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe0,0x7c,0x98,0x7b]
         {evex}	cmpoxadd	%r9, %r15, 123(%rax,%rbx,4)

# CHECK: cmpoxadd	%r18d, %r22d, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe0,0xb4,0xac,0x23,0x01,0x00,0x00]
         cmpoxadd	%r18d, %r22d, 291(%r28,%r29,4)

# CHECK: cmpoxadd	%r19, %r23, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe0,0xbc,0xac,0x23,0x01,0x00,0x00]
         cmpoxadd	%r19, %r23, 291(%r28,%r29,4)

# CHECK: {evex}	cmppxadd	%ecx, %edx, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xea,0x54,0x98,0x7b]
         {evex}	cmppxadd	%ecx, %edx, 123(%rax,%rbx,4)

# CHECK: {evex}	cmppxadd	%r9, %r15, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xea,0x7c,0x98,0x7b]
         {evex}	cmppxadd	%r9, %r15, 123(%rax,%rbx,4)

# CHECK: cmppxadd	%r18d, %r22d, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xea,0xb4,0xac,0x23,0x01,0x00,0x00]
         cmppxadd	%r18d, %r22d, 291(%r28,%r29,4)

# CHECK: cmppxadd	%r19, %r23, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xea,0xbc,0xac,0x23,0x01,0x00,0x00]
         cmppxadd	%r19, %r23, 291(%r28,%r29,4)

# CHECK: {evex}	cmpsxadd	%ecx, %edx, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe8,0x54,0x98,0x7b]
         {evex}	cmpsxadd	%ecx, %edx, 123(%rax,%rbx,4)

# CHECK: {evex}	cmpsxadd	%r9, %r15, 123(%rax,%rbx,4)
# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe8,0x7c,0x98,0x7b]
         {evex}	cmpsxadd	%r9, %r15, 123(%rax,%rbx,4)

# CHECK: cmpsxadd	%r18d, %r22d, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe8,0xb4,0xac,0x23,0x01,0x00,0x00]
         cmpsxadd	%r18d, %r22d, 291(%r28,%r29,4)

# CHECK: cmpsxadd	%r19, %r23, 291(%r28,%r29,4)
# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe8,0xbc,0xac,0x23,0x01,0x00,0x00]
         cmpsxadd	%r19, %r23, 291(%r28,%r29,4)
