162 lines · plain
1# RUN: llvm-mc -triple x86_64 -show-encoding %s | FileCheck %s2# RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR3 4# ERROR-COUNT-52: error:5# ERROR-NOT: error:6# CHECK: {evex} adcb $123, %bl7# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x80,0xd3,0x7b]8 {evex} adcb $123, %bl9# CHECK: adcb $123, %bl, %cl10# CHECK: encoding: [0x62,0xf4,0x74,0x18,0x80,0xd3,0x7b]11 adcb $123, %bl, %cl12# CHECK: {evex} adcw $123, %dx13# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x83,0xd2,0x7b]14 {evex} adcw $123, %dx15# CHECK: adcw $123, %dx, %ax16# CHECK: encoding: [0x62,0xf4,0x7d,0x18,0x83,0xd2,0x7b]17 adcw $123, %dx, %ax18# CHECK: {evex} adcl $123, %ecx19# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x83,0xd1,0x7b]20 {evex} adcl $123, %ecx21# CHECK: adcl $123, %ecx, %edx22# CHECK: encoding: [0x62,0xf4,0x6c,0x18,0x83,0xd1,0x7b]23 adcl $123, %ecx, %edx24# CHECK: {evex} adcq $123, %r925# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0x83,0xd1,0x7b]26 {evex} adcq $123, %r927# CHECK: adcq $123, %r9, %r1528# CHECK: encoding: [0x62,0xd4,0x84,0x18,0x83,0xd1,0x7b]29 adcq $123, %r9, %r1530# 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), %bl34# CHECK: encoding: [0x62,0xd4,0x64,0x18,0x80,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]35 adcb $123, 291(%r8,%rax,4), %bl36# 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), %dx40# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0x83,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]41 adcw $123, 291(%r8,%rax,4), %dx42# 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), %ecx46# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x83,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]47 adcl $123, 291(%r8,%rax,4), %ecx48# 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), %r952# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0x83,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]53 adcq $123, 291(%r8,%rax,4), %r954# CHECK: {evex} adcw $1234, %dx55# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x81,0xd2,0xd2,0x04]56 {evex} adcw $1234, %dx57# CHECK: adcw $1234, %dx, %ax58# CHECK: encoding: [0x62,0xf4,0x7d,0x18,0x81,0xd2,0xd2,0x04]59 adcw $1234, %dx, %ax60# 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), %dx64# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0x81,0x94,0x80,0x23,0x01,0x00,0x00,0xd2,0x04]65 adcw $1234, 291(%r8,%rax,4), %dx66# CHECK: {evex} adcl $123456, %ecx67# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x81,0xd1,0x40,0xe2,0x01,0x00]68 {evex} adcl $123456, %ecx69# CHECK: adcl $123456, %ecx, %edx70# CHECK: encoding: [0x62,0xf4,0x6c,0x18,0x81,0xd1,0x40,0xe2,0x01,0x00]71 adcl $123456, %ecx, %edx72# CHECK: {evex} adcq $123456, %r973# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0x81,0xd1,0x40,0xe2,0x01,0x00]74 {evex} adcq $123456, %r975# CHECK: adcq $123456, %r9, %r1576# CHECK: encoding: [0x62,0xd4,0x84,0x18,0x81,0xd1,0x40,0xe2,0x01,0x00]77 adcq $123456, %r9, %r1578# 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), %ecx82# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x81,0x94,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00]83 adcl $123456, 291(%r8,%rax,4), %ecx84# 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), %r988# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0x81,0x94,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00]89 adcq $123456, 291(%r8,%rax,4), %r990# CHECK: {evex} adcb %bl, %cl91# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x10,0xd9]92 {evex} adcb %bl, %cl93# CHECK: adcb %bl, %cl, %r8b94# CHECK: encoding: [0x62,0xf4,0x3c,0x18,0x10,0xd9]95 adcb %bl, %cl, %r8b96# 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), %cl100# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x10,0x9c,0x80,0x23,0x01,0x00,0x00]101 adcb %bl, 291(%r8,%rax,4), %cl102# CHECK: {evex} adcw %dx, %ax103# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x11,0xd0]104 {evex} adcw %dx, %ax105# CHECK: adcw %dx, %ax, %r9w106# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x11,0xd0]107 adcw %dx, %ax, %r9w108# 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), %ax112# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x11,0x94,0x80,0x23,0x01,0x00,0x00]113 adcw %dx, 291(%r8,%rax,4), %ax114# CHECK: {evex} adcl %ecx, %edx115# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x11,0xca]116 {evex} adcl %ecx, %edx117# CHECK: adcl %ecx, %edx, %r10d118# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x11,0xca]119 adcl %ecx, %edx, %r10d120# 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), %edx124# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x11,0x8c,0x80,0x23,0x01,0x00,0x00]125 adcl %ecx, 291(%r8,%rax,4), %edx126# CHECK: {evex} adcq %r9, %r15127# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x11,0xcf]128 {evex} adcq %r9, %r15129# CHECK: adcq %r9, %r15, %r11130# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x11,0xcf]131 adcq %r9, %r15, %r11132# 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), %r15136# CHECK: encoding: [0x62,0x54,0x84,0x18,0x11,0x8c,0x80,0x23,0x01,0x00,0x00]137 adcq %r9, 291(%r8,%rax,4), %r15138# CHECK: {evex} adcb 291(%r8,%rax,4), %bl139# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x12,0x9c,0x80,0x23,0x01,0x00,0x00]140 {evex} adcb 291(%r8,%rax,4), %bl141# CHECK: adcb 291(%r8,%rax,4), %bl, %cl142# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x12,0x9c,0x80,0x23,0x01,0x00,0x00]143 adcb 291(%r8,%rax,4), %bl, %cl144# CHECK: {evex} adcw 291(%r8,%rax,4), %dx145# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0x13,0x94,0x80,0x23,0x01,0x00,0x00]146 {evex} adcw 291(%r8,%rax,4), %dx147# CHECK: adcw 291(%r8,%rax,4), %dx, %ax148# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x13,0x94,0x80,0x23,0x01,0x00,0x00]149 adcw 291(%r8,%rax,4), %dx, %ax150# CHECK: {evex} adcl 291(%r8,%rax,4), %ecx151# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x13,0x8c,0x80,0x23,0x01,0x00,0x00]152 {evex} adcl 291(%r8,%rax,4), %ecx153# CHECK: adcl 291(%r8,%rax,4), %ecx, %edx154# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x13,0x8c,0x80,0x23,0x01,0x00,0x00]155 adcl 291(%r8,%rax,4), %ecx, %edx156# CHECK: {evex} adcq 291(%r8,%rax,4), %r9157# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x13,0x8c,0x80,0x23,0x01,0x00,0x00]158 {evex} adcq 291(%r8,%rax,4), %r9159# CHECK: adcq 291(%r8,%rax,4), %r9, %r15160# CHECK: encoding: [0x62,0x54,0x84,0x18,0x13,0x8c,0x80,0x23,0x01,0x00,0x00]161 adcq 291(%r8,%rax,4), %r9, %r15162