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