1*d79ccee8SShengchen Kan# RUN: llvm-mc -triple x86_64 -show-encoding %s | FileCheck %s 2*d79ccee8SShengchen Kan# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR 3*d79ccee8SShengchen Kan 4*d79ccee8SShengchen Kan# ERROR-COUNT-52: error: 5*d79ccee8SShengchen Kan# ERROR-NOT: error: 6*d79ccee8SShengchen Kan# CHECK: {evex} adcb $123, %bl 7*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x80,0xd3,0x7b] 8*d79ccee8SShengchen Kan {evex} adcb $123, %bl 9*d79ccee8SShengchen Kan# CHECK: adcb $123, %bl, %cl 10*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x74,0x18,0x80,0xd3,0x7b] 11*d79ccee8SShengchen Kan adcb $123, %bl, %cl 12*d79ccee8SShengchen Kan# CHECK: {evex} adcw $123, %dx 13*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x83,0xd2,0x7b] 14*d79ccee8SShengchen Kan {evex} adcw $123, %dx 15*d79ccee8SShengchen Kan# CHECK: adcw $123, %dx, %ax 16*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7d,0x18,0x83,0xd2,0x7b] 17*d79ccee8SShengchen Kan adcw $123, %dx, %ax 18*d79ccee8SShengchen Kan# CHECK: {evex} adcl $123, %ecx 19*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x83,0xd1,0x7b] 20*d79ccee8SShengchen Kan {evex} adcl $123, %ecx 21*d79ccee8SShengchen Kan# CHECK: adcl $123, %ecx, %edx 22*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x6c,0x18,0x83,0xd1,0x7b] 23*d79ccee8SShengchen Kan adcl $123, %ecx, %edx 24*d79ccee8SShengchen Kan# CHECK: {evex} adcq $123, %r9 25*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0x83,0xd1,0x7b] 26*d79ccee8SShengchen Kan {evex} adcq $123, %r9 27*d79ccee8SShengchen Kan# CHECK: adcq $123, %r9, %r15 28*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x84,0x18,0x83,0xd1,0x7b] 29*d79ccee8SShengchen Kan adcq $123, %r9, %r15 30*d79ccee8SShengchen Kan# CHECK: {evex} adcb $123, 291(%r8,%rax,4) 31*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x80,0x94,0x80,0x23,0x01,0x00,0x00,0x7b] 32*d79ccee8SShengchen Kan {evex} adcb $123, 291(%r8,%rax,4) 33*d79ccee8SShengchen Kan# CHECK: adcb $123, 291(%r8,%rax,4), %bl 34*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x64,0x18,0x80,0x94,0x80,0x23,0x01,0x00,0x00,0x7b] 35*d79ccee8SShengchen Kan adcb $123, 291(%r8,%rax,4), %bl 36*d79ccee8SShengchen Kan# CHECK: {evex} adcw $123, 291(%r8,%rax,4) 37*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0x83,0x94,0x80,0x23,0x01,0x00,0x00,0x7b] 38*d79ccee8SShengchen Kan {evex} adcw $123, 291(%r8,%rax,4) 39*d79ccee8SShengchen Kan# CHECK: adcw $123, 291(%r8,%rax,4), %dx 40*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0x83,0x94,0x80,0x23,0x01,0x00,0x00,0x7b] 41*d79ccee8SShengchen Kan adcw $123, 291(%r8,%rax,4), %dx 42*d79ccee8SShengchen Kan# CHECK: {evex} adcl $123, 291(%r8,%rax,4) 43*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x83,0x94,0x80,0x23,0x01,0x00,0x00,0x7b] 44*d79ccee8SShengchen Kan {evex} adcl $123, 291(%r8,%rax,4) 45*d79ccee8SShengchen Kan# CHECK: adcl $123, 291(%r8,%rax,4), %ecx 46*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x83,0x94,0x80,0x23,0x01,0x00,0x00,0x7b] 47*d79ccee8SShengchen Kan adcl $123, 291(%r8,%rax,4), %ecx 48*d79ccee8SShengchen Kan# CHECK: {evex} adcq $123, 291(%r8,%rax,4) 49*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0x83,0x94,0x80,0x23,0x01,0x00,0x00,0x7b] 50*d79ccee8SShengchen Kan {evex} adcq $123, 291(%r8,%rax,4) 51*d79ccee8SShengchen Kan# CHECK: adcq $123, 291(%r8,%rax,4), %r9 52*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0x83,0x94,0x80,0x23,0x01,0x00,0x00,0x7b] 53*d79ccee8SShengchen Kan adcq $123, 291(%r8,%rax,4), %r9 54*d79ccee8SShengchen Kan# CHECK: {evex} adcw $1234, %dx 55*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x81,0xd2,0xd2,0x04] 56*d79ccee8SShengchen Kan {evex} adcw $1234, %dx 57*d79ccee8SShengchen Kan# CHECK: adcw $1234, %dx, %ax 58*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7d,0x18,0x81,0xd2,0xd2,0x04] 59*d79ccee8SShengchen Kan adcw $1234, %dx, %ax 60*d79ccee8SShengchen Kan# CHECK: {evex} adcw $1234, 291(%r8,%rax,4) 61*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0x81,0x94,0x80,0x23,0x01,0x00,0x00,0xd2,0x04] 62*d79ccee8SShengchen Kan {evex} adcw $1234, 291(%r8,%rax,4) 63*d79ccee8SShengchen Kan# CHECK: adcw $1234, 291(%r8,%rax,4), %dx 64*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0x81,0x94,0x80,0x23,0x01,0x00,0x00,0xd2,0x04] 65*d79ccee8SShengchen Kan adcw $1234, 291(%r8,%rax,4), %dx 66*d79ccee8SShengchen Kan# CHECK: {evex} adcl $123456, %ecx 67*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x81,0xd1,0x40,0xe2,0x01,0x00] 68*d79ccee8SShengchen Kan {evex} adcl $123456, %ecx 69*d79ccee8SShengchen Kan# CHECK: adcl $123456, %ecx, %edx 70*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x6c,0x18,0x81,0xd1,0x40,0xe2,0x01,0x00] 71*d79ccee8SShengchen Kan adcl $123456, %ecx, %edx 72*d79ccee8SShengchen Kan# CHECK: {evex} adcq $123456, %r9 73*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0x81,0xd1,0x40,0xe2,0x01,0x00] 74*d79ccee8SShengchen Kan {evex} adcq $123456, %r9 75*d79ccee8SShengchen Kan# CHECK: adcq $123456, %r9, %r15 76*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x84,0x18,0x81,0xd1,0x40,0xe2,0x01,0x00] 77*d79ccee8SShengchen Kan adcq $123456, %r9, %r15 78*d79ccee8SShengchen Kan# CHECK: {evex} adcl $123456, 291(%r8,%rax,4) 79*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x81,0x94,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00] 80*d79ccee8SShengchen Kan {evex} adcl $123456, 291(%r8,%rax,4) 81*d79ccee8SShengchen Kan# CHECK: adcl $123456, 291(%r8,%rax,4), %ecx 82*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x81,0x94,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00] 83*d79ccee8SShengchen Kan adcl $123456, 291(%r8,%rax,4), %ecx 84*d79ccee8SShengchen Kan# CHECK: {evex} adcq $123456, 291(%r8,%rax,4) 85*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0x81,0x94,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00] 86*d79ccee8SShengchen Kan {evex} adcq $123456, 291(%r8,%rax,4) 87*d79ccee8SShengchen Kan# CHECK: adcq $123456, 291(%r8,%rax,4), %r9 88*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0x81,0x94,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00] 89*d79ccee8SShengchen Kan adcq $123456, 291(%r8,%rax,4), %r9 90*d79ccee8SShengchen Kan# CHECK: {evex} adcb %bl, %cl 91*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x10,0xd9] 92*d79ccee8SShengchen Kan {evex} adcb %bl, %cl 93*d79ccee8SShengchen Kan# CHECK: adcb %bl, %cl, %r8b 94*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x3c,0x18,0x10,0xd9] 95*d79ccee8SShengchen Kan adcb %bl, %cl, %r8b 96*d79ccee8SShengchen Kan# CHECK: {evex} adcb %bl, 291(%r8,%rax,4) 97*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x10,0x9c,0x80,0x23,0x01,0x00,0x00] 98*d79ccee8SShengchen Kan {evex} adcb %bl, 291(%r8,%rax,4) 99*d79ccee8SShengchen Kan# CHECK: adcb %bl, 291(%r8,%rax,4), %cl 100*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x10,0x9c,0x80,0x23,0x01,0x00,0x00] 101*d79ccee8SShengchen Kan adcb %bl, 291(%r8,%rax,4), %cl 102*d79ccee8SShengchen Kan# CHECK: {evex} adcw %dx, %ax 103*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x11,0xd0] 104*d79ccee8SShengchen Kan {evex} adcw %dx, %ax 105*d79ccee8SShengchen Kan# CHECK: adcw %dx, %ax, %r9w 106*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x11,0xd0] 107*d79ccee8SShengchen Kan adcw %dx, %ax, %r9w 108*d79ccee8SShengchen Kan# CHECK: {evex} adcw %dx, 291(%r8,%rax,4) 109*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0x11,0x94,0x80,0x23,0x01,0x00,0x00] 110*d79ccee8SShengchen Kan {evex} adcw %dx, 291(%r8,%rax,4) 111*d79ccee8SShengchen Kan# CHECK: adcw %dx, 291(%r8,%rax,4), %ax 112*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x11,0x94,0x80,0x23,0x01,0x00,0x00] 113*d79ccee8SShengchen Kan adcw %dx, 291(%r8,%rax,4), %ax 114*d79ccee8SShengchen Kan# CHECK: {evex} adcl %ecx, %edx 115*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x11,0xca] 116*d79ccee8SShengchen Kan {evex} adcl %ecx, %edx 117*d79ccee8SShengchen Kan# CHECK: adcl %ecx, %edx, %r10d 118*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x11,0xca] 119*d79ccee8SShengchen Kan adcl %ecx, %edx, %r10d 120*d79ccee8SShengchen Kan# CHECK: {evex} adcl %ecx, 291(%r8,%rax,4) 121*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x11,0x8c,0x80,0x23,0x01,0x00,0x00] 122*d79ccee8SShengchen Kan {evex} adcl %ecx, 291(%r8,%rax,4) 123*d79ccee8SShengchen Kan# CHECK: adcl %ecx, 291(%r8,%rax,4), %edx 124*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x11,0x8c,0x80,0x23,0x01,0x00,0x00] 125*d79ccee8SShengchen Kan adcl %ecx, 291(%r8,%rax,4), %edx 126*d79ccee8SShengchen Kan# CHECK: {evex} adcq %r9, %r15 127*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x11,0xcf] 128*d79ccee8SShengchen Kan {evex} adcq %r9, %r15 129*d79ccee8SShengchen Kan# CHECK: adcq %r9, %r15, %r11 130*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x11,0xcf] 131*d79ccee8SShengchen Kan adcq %r9, %r15, %r11 132*d79ccee8SShengchen Kan# CHECK: {evex} adcq %r9, 291(%r8,%rax,4) 133*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x11,0x8c,0x80,0x23,0x01,0x00,0x00] 134*d79ccee8SShengchen Kan {evex} adcq %r9, 291(%r8,%rax,4) 135*d79ccee8SShengchen Kan# CHECK: adcq %r9, 291(%r8,%rax,4), %r15 136*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0x54,0x84,0x18,0x11,0x8c,0x80,0x23,0x01,0x00,0x00] 137*d79ccee8SShengchen Kan adcq %r9, 291(%r8,%rax,4), %r15 138*d79ccee8SShengchen Kan# CHECK: {evex} adcb 291(%r8,%rax,4), %bl 139*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x12,0x9c,0x80,0x23,0x01,0x00,0x00] 140*d79ccee8SShengchen Kan {evex} adcb 291(%r8,%rax,4), %bl 141*d79ccee8SShengchen Kan# CHECK: adcb 291(%r8,%rax,4), %bl, %cl 142*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x12,0x9c,0x80,0x23,0x01,0x00,0x00] 143*d79ccee8SShengchen Kan adcb 291(%r8,%rax,4), %bl, %cl 144*d79ccee8SShengchen Kan# CHECK: {evex} adcw 291(%r8,%rax,4), %dx 145*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0x13,0x94,0x80,0x23,0x01,0x00,0x00] 146*d79ccee8SShengchen Kan {evex} adcw 291(%r8,%rax,4), %dx 147*d79ccee8SShengchen Kan# CHECK: adcw 291(%r8,%rax,4), %dx, %ax 148*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x13,0x94,0x80,0x23,0x01,0x00,0x00] 149*d79ccee8SShengchen Kan adcw 291(%r8,%rax,4), %dx, %ax 150*d79ccee8SShengchen Kan# CHECK: {evex} adcl 291(%r8,%rax,4), %ecx 151*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x13,0x8c,0x80,0x23,0x01,0x00,0x00] 152*d79ccee8SShengchen Kan {evex} adcl 291(%r8,%rax,4), %ecx 153*d79ccee8SShengchen Kan# CHECK: adcl 291(%r8,%rax,4), %ecx, %edx 154*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x13,0x8c,0x80,0x23,0x01,0x00,0x00] 155*d79ccee8SShengchen Kan adcl 291(%r8,%rax,4), %ecx, %edx 156*d79ccee8SShengchen Kan# CHECK: {evex} adcq 291(%r8,%rax,4), %r9 157*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x13,0x8c,0x80,0x23,0x01,0x00,0x00] 158*d79ccee8SShengchen Kan {evex} adcq 291(%r8,%rax,4), %r9 159*d79ccee8SShengchen Kan# CHECK: adcq 291(%r8,%rax,4), %r9, %r15 160*d79ccee8SShengchen Kan# CHECK: encoding: [0x62,0x54,0x84,0x18,0x13,0x8c,0x80,0x23,0x01,0x00,0x00] 161*d79ccee8SShengchen Kan adcq 291(%r8,%rax,4), %r9, %r15 162