# 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)