1# RUN: llvm-mc -triple x86_64 -disassemble %s | FileCheck %s --check-prefix=ATT 2# RUN: llvm-mc -triple x86_64 -disassemble -output-asm-variant=1 %s | FileCheck %s --check-prefix=INTEL 3 4# ATT: {evex} sbbb $123, %bl 5# INTEL: {evex} sbb bl, 123 60x62,0xf4,0x7c,0x08,0x80,0xdb,0x7b 7 8# ATT: sbbb $123, %bl, %cl 9# INTEL: sbb cl, bl, 123 100x62,0xf4,0x74,0x18,0x80,0xdb,0x7b 11 12# ATT: {evex} sbbw $123, %dx 13# INTEL: {evex} sbb dx, 123 140x62,0xf4,0x7d,0x08,0x83,0xda,0x7b 15 16# ATT: sbbw $123, %dx, %ax 17# INTEL: sbb ax, dx, 123 180x62,0xf4,0x7d,0x18,0x83,0xda,0x7b 19 20# ATT: {evex} sbbl $123, %ecx 21# INTEL: {evex} sbb ecx, 123 220x62,0xf4,0x7c,0x08,0x83,0xd9,0x7b 23 24# ATT: sbbl $123, %ecx, %edx 25# INTEL: sbb edx, ecx, 123 260x62,0xf4,0x6c,0x18,0x83,0xd9,0x7b 27 28# ATT: {evex} sbbq $123, %r9 29# INTEL: {evex} sbb r9, 123 300x62,0xd4,0xfc,0x08,0x83,0xd9,0x7b 31 32# ATT: sbbq $123, %r9, %r15 33# INTEL: sbb r15, r9, 123 340x62,0xd4,0x84,0x18,0x83,0xd9,0x7b 35 36# ATT: {evex} sbbb $123, 291(%r8,%rax,4) 37# INTEL: {evex} sbb byte ptr [r8 + 4*rax + 291], 123 380x62,0xd4,0x7c,0x08,0x80,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b 39 40# ATT: sbbb $123, 291(%r8,%rax,4), %bl 41# INTEL: sbb bl, byte ptr [r8 + 4*rax + 291], 123 420x62,0xd4,0x64,0x18,0x80,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b 43 44# ATT: {evex} sbbw $123, 291(%r8,%rax,4) 45# INTEL: {evex} sbb word ptr [r8 + 4*rax + 291], 123 460x62,0xd4,0x7d,0x08,0x83,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b 47 48# ATT: sbbw $123, 291(%r8,%rax,4), %dx 49# INTEL: sbb dx, word ptr [r8 + 4*rax + 291], 123 500x62,0xd4,0x6d,0x18,0x83,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b 51 52# ATT: {evex} sbbl $123, 291(%r8,%rax,4) 53# INTEL: {evex} sbb dword ptr [r8 + 4*rax + 291], 123 540x62,0xd4,0x7c,0x08,0x83,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b 55 56# ATT: sbbl $123, 291(%r8,%rax,4), %ecx 57# INTEL: sbb ecx, dword ptr [r8 + 4*rax + 291], 123 580x62,0xd4,0x74,0x18,0x83,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b 59 60# ATT: {evex} sbbq $123, 291(%r8,%rax,4) 61# INTEL: {evex} sbb qword ptr [r8 + 4*rax + 291], 123 620x62,0xd4,0xfc,0x08,0x83,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b 63 64# ATT: sbbq $123, 291(%r8,%rax,4), %r9 65# INTEL: sbb r9, qword ptr [r8 + 4*rax + 291], 123 660x62,0xd4,0xb4,0x18,0x83,0x9c,0x80,0x23,0x01,0x00,0x00,0x7b 67 68# ATT: {evex} sbbw $1234, %dx 69# INTEL: {evex} sbb dx, 1234 700x62,0xf4,0x7d,0x08,0x81,0xda,0xd2,0x04 71 72# ATT: sbbw $1234, %dx, %ax 73# INTEL: sbb ax, dx, 1234 740x62,0xf4,0x7d,0x18,0x81,0xda,0xd2,0x04 75 76# ATT: {evex} sbbw $1234, 291(%r8,%rax,4) 77# INTEL: {evex} sbb word ptr [r8 + 4*rax + 291], 1234 780x62,0xd4,0x7d,0x08,0x81,0x9c,0x80,0x23,0x01,0x00,0x00,0xd2,0x04 79 80# ATT: sbbw $1234, 291(%r8,%rax,4), %dx 81# INTEL: sbb dx, word ptr [r8 + 4*rax + 291], 1234 820x62,0xd4,0x6d,0x18,0x81,0x9c,0x80,0x23,0x01,0x00,0x00,0xd2,0x04 83 84# ATT: {evex} sbbl $123456, %ecx 85# INTEL: {evex} sbb ecx, 123456 860x62,0xf4,0x7c,0x08,0x81,0xd9,0x40,0xe2,0x01,0x00 87 88# ATT: sbbl $123456, %ecx, %edx 89# INTEL: sbb edx, ecx, 123456 900x62,0xf4,0x6c,0x18,0x81,0xd9,0x40,0xe2,0x01,0x00 91 92# ATT: {evex} sbbq $123456, %r9 93# INTEL: {evex} sbb r9, 123456 940x62,0xd4,0xfc,0x08,0x81,0xd9,0x40,0xe2,0x01,0x00 95 96# ATT: sbbq $123456, %r9, %r15 97# INTEL: sbb r15, r9, 123456 980x62,0xd4,0x84,0x18,0x81,0xd9,0x40,0xe2,0x01,0x00 99 100# ATT: {evex} sbbl $123456, 291(%r8,%rax,4) 101# INTEL: {evex} sbb dword ptr [r8 + 4*rax + 291], 123456 1020x62,0xd4,0x7c,0x08,0x81,0x9c,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00 103 104# ATT: sbbl $123456, 291(%r8,%rax,4), %ecx 105# INTEL: sbb ecx, dword ptr [r8 + 4*rax + 291], 123456 1060x62,0xd4,0x74,0x18,0x81,0x9c,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00 107 108# ATT: {evex} sbbq $123456, 291(%r8,%rax,4) 109# INTEL: {evex} sbb qword ptr [r8 + 4*rax + 291], 123456 1100x62,0xd4,0xfc,0x08,0x81,0x9c,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00 111 112# ATT: sbbq $123456, 291(%r8,%rax,4), %r9 113# INTEL: sbb r9, qword ptr [r8 + 4*rax + 291], 123456 1140x62,0xd4,0xb4,0x18,0x81,0x9c,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00 115 116# ATT: {evex} sbbb %bl, %cl 117# INTEL: {evex} sbb cl, bl 1180x62,0xf4,0x7c,0x08,0x18,0xd9 119 120# ATT: sbbb %bl, %cl, %r8b 121# INTEL: sbb r8b, cl, bl 1220x62,0xf4,0x3c,0x18,0x18,0xd9 123 124# ATT: {evex} sbbb %bl, 291(%r8,%rax,4) 125# INTEL: {evex} sbb byte ptr [r8 + 4*rax + 291], bl 1260x62,0xd4,0x7c,0x08,0x18,0x9c,0x80,0x23,0x01,0x00,0x00 127 128# ATT: sbbb %bl, 291(%r8,%rax,4), %cl 129# INTEL: sbb cl, byte ptr [r8 + 4*rax + 291], bl 1300x62,0xd4,0x74,0x18,0x18,0x9c,0x80,0x23,0x01,0x00,0x00 131 132# ATT: {evex} sbbw %dx, %ax 133# INTEL: {evex} sbb ax, dx 1340x62,0xf4,0x7d,0x08,0x19,0xd0 135 136# ATT: sbbw %dx, %ax, %r9w 137# INTEL: sbb r9w, ax, dx 1380x62,0xf4,0x35,0x18,0x19,0xd0 139 140# ATT: {evex} sbbw %dx, 291(%r8,%rax,4) 141# INTEL: {evex} sbb word ptr [r8 + 4*rax + 291], dx 1420x62,0xd4,0x7d,0x08,0x19,0x94,0x80,0x23,0x01,0x00,0x00 143 144# ATT: sbbw %dx, 291(%r8,%rax,4), %ax 145# INTEL: sbb ax, word ptr [r8 + 4*rax + 291], dx 1460x62,0xd4,0x7d,0x18,0x19,0x94,0x80,0x23,0x01,0x00,0x00 147 148# ATT: {evex} sbbl %ecx, %edx 149# INTEL: {evex} sbb edx, ecx 1500x62,0xf4,0x7c,0x08,0x19,0xca 151 152# ATT: sbbl %ecx, %edx, %r10d 153# INTEL: sbb r10d, edx, ecx 1540x62,0xf4,0x2c,0x18,0x19,0xca 155 156# ATT: {evex} sbbl %ecx, 291(%r8,%rax,4) 157# INTEL: {evex} sbb dword ptr [r8 + 4*rax + 291], ecx 1580x62,0xd4,0x7c,0x08,0x19,0x8c,0x80,0x23,0x01,0x00,0x00 159 160# ATT: sbbl %ecx, 291(%r8,%rax,4), %edx 161# INTEL: sbb edx, dword ptr [r8 + 4*rax + 291], ecx 1620x62,0xd4,0x6c,0x18,0x19,0x8c,0x80,0x23,0x01,0x00,0x00 163 164# ATT: {evex} sbbq %r9, %r15 165# INTEL: {evex} sbb r15, r9 1660x62,0x54,0xfc,0x08,0x19,0xcf 167 168# ATT: sbbq %r9, %r15, %r11 169# INTEL: sbb r11, r15, r9 1700x62,0x54,0xa4,0x18,0x19,0xcf 171 172# ATT: {evex} sbbq %r9, 291(%r8,%rax,4) 173# INTEL: {evex} sbb qword ptr [r8 + 4*rax + 291], r9 1740x62,0x54,0xfc,0x08,0x19,0x8c,0x80,0x23,0x01,0x00,0x00 175 176# ATT: sbbq %r9, 291(%r8,%rax,4), %r15 177# INTEL: sbb r15, qword ptr [r8 + 4*rax + 291], r9 1780x62,0x54,0x84,0x18,0x19,0x8c,0x80,0x23,0x01,0x00,0x00 179 180# ATT: {evex} sbbb 291(%r8,%rax,4), %bl 181# INTEL: {evex} sbb bl, byte ptr [r8 + 4*rax + 291] 1820x62,0xd4,0x7c,0x08,0x1a,0x9c,0x80,0x23,0x01,0x00,0x00 183 184# ATT: sbbb 291(%r8,%rax,4), %bl, %cl 185# INTEL: sbb cl, bl, byte ptr [r8 + 4*rax + 291] 1860x62,0xd4,0x74,0x18,0x1a,0x9c,0x80,0x23,0x01,0x00,0x00 187 188# ATT: {evex} sbbw 291(%r8,%rax,4), %dx 189# INTEL: {evex} sbb dx, word ptr [r8 + 4*rax + 291] 1900x62,0xd4,0x7d,0x08,0x1b,0x94,0x80,0x23,0x01,0x00,0x00 191 192# ATT: sbbw 291(%r8,%rax,4), %dx, %ax 193# INTEL: sbb ax, dx, word ptr [r8 + 4*rax + 291] 1940x62,0xd4,0x7d,0x18,0x1b,0x94,0x80,0x23,0x01,0x00,0x00 195 196# ATT: {evex} sbbl 291(%r8,%rax,4), %ecx 197# INTEL: {evex} sbb ecx, dword ptr [r8 + 4*rax + 291] 1980x62,0xd4,0x7c,0x08,0x1b,0x8c,0x80,0x23,0x01,0x00,0x00 199 200# ATT: sbbl 291(%r8,%rax,4), %ecx, %edx 201# INTEL: sbb edx, ecx, dword ptr [r8 + 4*rax + 291] 2020x62,0xd4,0x6c,0x18,0x1b,0x8c,0x80,0x23,0x01,0x00,0x00 203 204# ATT: {evex} sbbq 291(%r8,%rax,4), %r9 205# INTEL: {evex} sbb r9, qword ptr [r8 + 4*rax + 291] 2060x62,0x54,0xfc,0x08,0x1b,0x8c,0x80,0x23,0x01,0x00,0x00 207 208# ATT: sbbq 291(%r8,%rax,4), %r9, %r15 209# INTEL: sbb r15, r9, qword ptr [r8 + 4*rax + 291] 2100x62,0x54,0x84,0x18,0x1b,0x8c,0x80,0x23,0x01,0x00,0x00 211