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} sbbb $123, %bl7# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x80,0xdb,0x7b]8 {evex} sbbb $123, %bl9# CHECK: sbbb $123, %bl, %cl10# CHECK: encoding: [0x62,0xf4,0x74,0x18,0x80,0xdb,0x7b]11 sbbb $123, %bl, %cl12# CHECK: {evex} sbbw $123, %dx13# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x83,0xda,0x7b]14 {evex} sbbw $123, %dx15# CHECK: sbbw $123, %dx, %ax16# CHECK: encoding: [0x62,0xf4,0x7d,0x18,0x83,0xda,0x7b]17 sbbw $123, %dx, %ax18# CHECK: {evex} sbbl $123, %ecx19# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x83,0xd9,0x7b]20 {evex} sbbl $123, %ecx21# CHECK: sbbl $123, %ecx, %edx22# CHECK: encoding: [0x62,0xf4,0x6c,0x18,0x83,0xd9,0x7b]23 sbbl $123, %ecx, %edx24# CHECK: {evex} sbbq $123, %r925# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0x83,0xd9,0x7b]26 {evex} sbbq $123, %r927# CHECK: sbbq $123, %r9, %r1528# CHECK: encoding: [0x62,0xd4,0x84,0x18,0x83,0xd9,0x7b]29 sbbq $123, %r9, %r1530# CHECK: {evex} sbbb $123, 291(%r8,%rax,4)31# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x80,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b]32 {evex} sbbb $123, 291(%r8,%rax,4)33# CHECK: sbbb $123, 291(%r8,%rax,4), %bl34# CHECK: encoding: [0x62,0xd4,0x64,0x18,0x80,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b]35 sbbb $123, 291(%r8,%rax,4), %bl36# CHECK: {evex} sbbw $123, 291(%r8,%rax,4)37# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0x83,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b]38 {evex} sbbw $123, 291(%r8,%rax,4)39# CHECK: sbbw $123, 291(%r8,%rax,4), %dx40# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0x83,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b]41 sbbw $123, 291(%r8,%rax,4), %dx42# CHECK: {evex} sbbl $123, 291(%r8,%rax,4)43# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x83,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b]44 {evex} sbbl $123, 291(%r8,%rax,4)45# CHECK: sbbl $123, 291(%r8,%rax,4), %ecx46# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x83,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b]47 sbbl $123, 291(%r8,%rax,4), %ecx48# CHECK: {evex} sbbq $123, 291(%r8,%rax,4)49# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0x83,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b]50 {evex} sbbq $123, 291(%r8,%rax,4)51# CHECK: sbbq $123, 291(%r8,%rax,4), %r952# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0x83,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b]53 sbbq $123, 291(%r8,%rax,4), %r954# CHECK: {evex} sbbw $1234, %dx55# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x81,0xda,0xd2,0x04]56 {evex} sbbw $1234, %dx57# CHECK: sbbw $1234, %dx, %ax58# CHECK: encoding: [0x62,0xf4,0x7d,0x18,0x81,0xda,0xd2,0x04]59 sbbw $1234, %dx, %ax60# CHECK: {evex} sbbw $1234, 291(%r8,%rax,4)61# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0x81,0x9c,0x80,0x23,0x01,0x00,0x00,0xd2,0x04]62 {evex} sbbw $1234, 291(%r8,%rax,4)63# CHECK: sbbw $1234, 291(%r8,%rax,4), %dx64# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0x81,0x9c,0x80,0x23,0x01,0x00,0x00,0xd2,0x04]65 sbbw $1234, 291(%r8,%rax,4), %dx66# CHECK: {evex} sbbl $123456, %ecx67# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x81,0xd9,0x40,0xe2,0x01,0x00]68 {evex} sbbl $123456, %ecx69# CHECK: sbbl $123456, %ecx, %edx70# CHECK: encoding: [0x62,0xf4,0x6c,0x18,0x81,0xd9,0x40,0xe2,0x01,0x00]71 sbbl $123456, %ecx, %edx72# CHECK: {evex} sbbq $123456, %r973# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0x81,0xd9,0x40,0xe2,0x01,0x00]74 {evex} sbbq $123456, %r975# CHECK: sbbq $123456, %r9, %r1576# CHECK: encoding: [0x62,0xd4,0x84,0x18,0x81,0xd9,0x40,0xe2,0x01,0x00]77 sbbq $123456, %r9, %r1578# CHECK: {evex} sbbl $123456, 291(%r8,%rax,4)79# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x81,0x9c,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00]80 {evex} sbbl $123456, 291(%r8,%rax,4)81# CHECK: sbbl $123456, 291(%r8,%rax,4), %ecx82# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x81,0x9c,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00]83 sbbl $123456, 291(%r8,%rax,4), %ecx84# CHECK: {evex} sbbq $123456, 291(%r8,%rax,4)85# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0x81,0x9c,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00]86 {evex} sbbq $123456, 291(%r8,%rax,4)87# CHECK: sbbq $123456, 291(%r8,%rax,4), %r988# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0x81,0x9c,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00]89 sbbq $123456, 291(%r8,%rax,4), %r990# CHECK: {evex} sbbb %bl, %cl91# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x18,0xd9]92 {evex} sbbb %bl, %cl93# CHECK: sbbb %bl, %cl, %r8b94# CHECK: encoding: [0x62,0xf4,0x3c,0x18,0x18,0xd9]95 sbbb %bl, %cl, %r8b96# CHECK: {evex} sbbb %bl, 291(%r8,%rax,4)97# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x18,0x9c,0x80,0x23,0x01,0x00,0x00]98 {evex} sbbb %bl, 291(%r8,%rax,4)99# CHECK: sbbb %bl, 291(%r8,%rax,4), %cl100# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x18,0x9c,0x80,0x23,0x01,0x00,0x00]101 sbbb %bl, 291(%r8,%rax,4), %cl102# CHECK: {evex} sbbw %dx, %ax103# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x19,0xd0]104 {evex} sbbw %dx, %ax105# CHECK: sbbw %dx, %ax, %r9w106# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x19,0xd0]107 sbbw %dx, %ax, %r9w108# CHECK: {evex} sbbw %dx, 291(%r8,%rax,4)109# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0x19,0x94,0x80,0x23,0x01,0x00,0x00]110 {evex} sbbw %dx, 291(%r8,%rax,4)111# CHECK: sbbw %dx, 291(%r8,%rax,4), %ax112# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x19,0x94,0x80,0x23,0x01,0x00,0x00]113 sbbw %dx, 291(%r8,%rax,4), %ax114# CHECK: {evex} sbbl %ecx, %edx115# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x19,0xca]116 {evex} sbbl %ecx, %edx117# CHECK: sbbl %ecx, %edx, %r10d118# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x19,0xca]119 sbbl %ecx, %edx, %r10d120# CHECK: {evex} sbbl %ecx, 291(%r8,%rax,4)121# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x19,0x8c,0x80,0x23,0x01,0x00,0x00]122 {evex} sbbl %ecx, 291(%r8,%rax,4)123# CHECK: sbbl %ecx, 291(%r8,%rax,4), %edx124# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x19,0x8c,0x80,0x23,0x01,0x00,0x00]125 sbbl %ecx, 291(%r8,%rax,4), %edx126# CHECK: {evex} sbbq %r9, %r15127# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x19,0xcf]128 {evex} sbbq %r9, %r15129# CHECK: sbbq %r9, %r15, %r11130# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x19,0xcf]131 sbbq %r9, %r15, %r11132# CHECK: {evex} sbbq %r9, 291(%r8,%rax,4)133# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x19,0x8c,0x80,0x23,0x01,0x00,0x00]134 {evex} sbbq %r9, 291(%r8,%rax,4)135# CHECK: sbbq %r9, 291(%r8,%rax,4), %r15136# CHECK: encoding: [0x62,0x54,0x84,0x18,0x19,0x8c,0x80,0x23,0x01,0x00,0x00]137 sbbq %r9, 291(%r8,%rax,4), %r15138# CHECK: {evex} sbbb 291(%r8,%rax,4), %bl139# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x1a,0x9c,0x80,0x23,0x01,0x00,0x00]140 {evex} sbbb 291(%r8,%rax,4), %bl141# CHECK: sbbb 291(%r8,%rax,4), %bl, %cl142# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x1a,0x9c,0x80,0x23,0x01,0x00,0x00]143 sbbb 291(%r8,%rax,4), %bl, %cl144# CHECK: {evex} sbbw 291(%r8,%rax,4), %dx145# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0x1b,0x94,0x80,0x23,0x01,0x00,0x00]146 {evex} sbbw 291(%r8,%rax,4), %dx147# CHECK: sbbw 291(%r8,%rax,4), %dx, %ax148# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x1b,0x94,0x80,0x23,0x01,0x00,0x00]149 sbbw 291(%r8,%rax,4), %dx, %ax150# CHECK: {evex} sbbl 291(%r8,%rax,4), %ecx151# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x1b,0x8c,0x80,0x23,0x01,0x00,0x00]152 {evex} sbbl 291(%r8,%rax,4), %ecx153# CHECK: sbbl 291(%r8,%rax,4), %ecx, %edx154# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x1b,0x8c,0x80,0x23,0x01,0x00,0x00]155 sbbl 291(%r8,%rax,4), %ecx, %edx156# CHECK: {evex} sbbq 291(%r8,%rax,4), %r9157# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x1b,0x8c,0x80,0x23,0x01,0x00,0x00]158 {evex} sbbq 291(%r8,%rax,4), %r9159# CHECK: sbbq 291(%r8,%rax,4), %r9, %r15160# CHECK: encoding: [0x62,0x54,0x84,0x18,0x1b,0x8c,0x80,0x23,0x01,0x00,0x00]161 sbbq 291(%r8,%rax,4), %r9, %r15162