239 lines · plain
1# RUN: llvm-mc -triple x86_64 -disassemble %s | FileCheck %s --check-prefix=ATT2# RUN: llvm-mc -triple x86_64 -disassemble -output-asm-variant=1 %s | FileCheck %s --check-prefix=INTEL3 4## R bit5 6# ATT: leal (%rax), %r16d7# INTEL: lea r16d, [rax]80xd5,0x40,0x8d,0x009 10# ATT: leal (%rax), %r17d11# INTEL: lea r17d, [rax]120xd5,0x40,0x8d,0x0813 14# ATT: leal (%rax), %r18d15# INTEL: lea r18d, [rax]160xd5,0x40,0x8d,0x1017 18# ATT: leal (%rax), %r19d19# INTEL: lea r19d, [rax]200xd5,0x40,0x8d,0x1821 22# ATT: leal (%rax), %r20d23# INTEL: lea r20d, [rax]240xd5,0x40,0x8d,0x2025 26# ATT: leal (%rax), %r21d27# INTEL: lea r21d, [rax]280xd5,0x40,0x8d,0x2829 30# ATT: leal (%rax), %r22d31# INTEL: lea r22d, [rax]320xd5,0x40,0x8d,0x3033 34# ATT: leal (%rax), %r23d35# INTEL: lea r23d, [rax]360xd5,0x40,0x8d,0x3837 38# ATT: leal (%rax), %r24d39# INTEL: lea r24d, [rax]400xd5,0x44,0x8d,0x0041 42# ATT: leal (%rax), %r25d43# INTEL: lea r25d, [rax]440xd5,0x44,0x8d,0x0845 46# ATT: leal (%rax), %r26d47# INTEL: lea r26d, [rax]480xd5,0x44,0x8d,0x1049 50# ATT: leal (%rax), %r27d51# INTEL: lea r27d, [rax]520xd5,0x44,0x8d,0x1853 54# ATT: leal (%rax), %r28d55# INTEL: lea r28d, [rax]560xd5,0x44,0x8d,0x2057 58# ATT: leal (%rax), %r29d59# INTEL: lea r29d, [rax]600xd5,0x44,0x8d,0x2861 62# ATT: leal (%rax), %r30d63# INTEL: lea r30d, [rax]640xd5,0x44,0x8d,0x3065 66# ATT: leal (%rax), %r31d67# INTEL: lea r31d, [rax]680xd5,0x44,0x8d,0x3869 70## X bit71 72# ATT: leal (,%r16), %eax73# INTEL: lea eax, [1*r16]740xd5,0x20,0x8d,0x04,0x05,0x00,0x00,0x00,0x0075 76# ATT: leal (,%r17), %eax77# INTEL: lea eax, [1*r17]780xd5,0x20,0x8d,0x04,0x0d,0x00,0x00,0x00,0x0079 80# ATT: leal (,%r18), %eax81# INTEL: lea eax, [1*r18]820xd5,0x20,0x8d,0x04,0x15,0x00,0x00,0x00,0x0083 84# ATT: leal (,%r19), %eax85# INTEL: lea eax, [1*r19]860xd5,0x20,0x8d,0x04,0x1d,0x00,0x00,0x00,0x0087 88# ATT: leal (,%r20), %eax89# INTEL: lea eax, [1*r20]900xd5,0x20,0x8d,0x04,0x25,0x00,0x00,0x00,0x0091 92# ATT: leal (,%r21), %eax93# INTEL: lea eax, [1*r21]940xd5,0x20,0x8d,0x04,0x2d,0x00,0x00,0x00,0x0095 96# ATT: leal (,%r22), %eax97# INTEL: lea eax, [1*r22]980xd5,0x20,0x8d,0x04,0x35,0x00,0x00,0x00,0x0099 100# ATT: leal (,%r23), %eax101# INTEL: lea eax, [1*r23]1020xd5,0x20,0x8d,0x04,0x3d,0x00,0x00,0x00,0x00103 104# ATT: leal (,%r24), %eax105# INTEL: lea eax, [1*r24]1060xd5,0x22,0x8d,0x04,0x05,0x00,0x00,0x00,0x00107 108# ATT: leal (,%r25), %eax109# INTEL: lea eax, [1*r25]1100xd5,0x22,0x8d,0x04,0x0d,0x00,0x00,0x00,0x00111 112# ATT: leal (,%r26), %eax113# INTEL: lea eax, [1*r26]1140xd5,0x22,0x8d,0x04,0x15,0x00,0x00,0x00,0x00115 116# ATT: leal (,%r27), %eax117# INTEL: lea eax, [1*r27]1180xd5,0x22,0x8d,0x04,0x1d,0x00,0x00,0x00,0x00119 120# ATT: leal (,%r28), %eax121# INTEL: lea eax, [1*r28]1220xd5,0x22,0x8d,0x04,0x25,0x00,0x00,0x00,0x00123 124# ATT: leal (,%r29), %eax125# INTEL: lea eax, [1*r29]1260xd5,0x22,0x8d,0x04,0x2d,0x00,0x00,0x00,0x00127 128# ATT: leal (,%r30), %eax129# INTEL: lea eax, [1*r30]1300xd5,0x22,0x8d,0x04,0x35,0x00,0x00,0x00,0x00131 132# ATT: leal (,%r31), %eax133# INTEL: lea eax, [1*r31]1340xd5,0x22,0x8d,0x04,0x3d,0x00,0x00,0x00,0x00135 136## B bit137 138# ATT: leal (%r16), %eax139# INTEL: lea eax, [r16]1400xd5,0x10,0x8d,0x00141 142# ATT: leal (%r17), %eax143# INTEL: lea eax, [r17]1440xd5,0x10,0x8d,0x01145 146# ATT: leal (%r18), %eax147# INTEL: lea eax, [r18]1480xd5,0x10,0x8d,0x02149 150# ATT: leal (%r19), %eax151# INTEL: lea eax, [r19]1520xd5,0x10,0x8d,0x03153 154# ATT: leal (%r20,%riz), %eax155# INTEL: lea eax, [r20 + riz]1560xd5,0x10,0x8d,0x04,0x24157 158# ATT: leal (%r21), %eax159# INTEL: lea eax, [r21]1600xd5,0x10,0x8d,0x45,0x00161 162# ATT: leal (%r22), %eax163# INTEL: lea eax, [r22]1640xd5,0x10,0x8d,0x06165 166# ATT: leal (%r23), %eax167# INTEL: lea eax, [r23]1680xd5,0x10,0x8d,0x07169 170# ATT: leal (%r24), %eax171# INTEL: lea eax, [r24]1720xd5,0x11,0x8d,0x00173 174# ATT: leal (%r25), %eax175# INTEL: lea eax, [r25]1760xd5,0x11,0x8d,0x01177 178# ATT: leal (%r26), %eax179# INTEL: lea eax, [r26]1800xd5,0x11,0x8d,0x02181 182# ATT: leal (%r27), %eax183# INTEL: lea eax, [r27]1840xd5,0x11,0x8d,0x03185 186# ATT: leal (%r28,%riz), %eax187# INTEL: lea eax, [r28 + riz]1880xd5,0x11,0x8d,0x04,0x24189 190# ATT: leal (%r29), %eax191# INTEL: lea eax, [r29]1920xd5,0x11,0x8d,0x45,0x00193 194# ATT: leal (%r30), %eax195# INTEL: lea eax, [r30]1960xd5,0x11,0x8d,0x06197 198# ATT: leal (%r31), %eax199# INTEL: lea eax, [r31]2000xd5,0x11,0x8d,0x07201 202## SIB203 204# ATT: leal 1(%r20,%riz), %eax205# INTEL: lea eax, [r20 + riz + 1]2060xd5,0x10,0x8d,0x44,0x24,0x01207 208# ATT: leal 1(%r28,%riz), %eax209# INTEL: lea eax, [r28 + riz + 1]2100xd5,0x11,0x8d,0x44,0x24,0x01211 212# ATT: leal 129(%r20,%riz), %eax213# INTEL: lea eax, [r20 + riz + 129]2140xd5,0x10,0x8d,0x84,0x24,0x81,0x00,0x00,0x00215 216# ATT: leal 129(%r28,%riz), %eax217# INTEL: lea eax, [r28 + riz + 129]2180xd5,0x11,0x8d,0x84,0x24,0x81,0x00,0x00,0x00219 220## W bit221 222# ATT: leaq (%rax), %r16223# INTEL: lea r16, [rax]2240xd5,0x48,0x8d,0x00225 226# ATT: leaq (%r16), %rax227# INTEL: lea rax, [r16]2280xd5,0x18,0x8d,0x00229 230# ATT: leaq (,%r16), %rax231# INTEL: lea rax, [1*r16]2320xd5,0x28,0x8d,0x04,0x05,0x00,0x00,0x00,0x00233 234## M bit235 236# ATT: imull %eax, %r16d237# INTEL: imul r16d, eax2380xd5,0xc0,0xaf,0xc0239