238 lines · plain
1# RUN: llvm-mc -triple x86_64 -show-encoding -x86-asm-syntax=intel -output-asm-variant=1 %s | FileCheck %s2 3## R bit4 5# CHECK: lea r16d, [rax]6# CHECK: encoding: [0xd5,0x40,0x8d,0x00]7 lea r16d, [rax]8 9# CHECK: lea r17d, [rax]10# CHECK: encoding: [0xd5,0x40,0x8d,0x08]11 lea r17d, [rax]12 13# CHECK: lea r18d, [rax]14# CHECK: encoding: [0xd5,0x40,0x8d,0x10]15 lea r18d, [rax]16 17# CHECK: lea r19d, [rax]18# CHECK: encoding: [0xd5,0x40,0x8d,0x18]19 lea r19d, [rax]20 21# CHECK: lea r20d, [rax]22# CHECK: encoding: [0xd5,0x40,0x8d,0x20]23 lea r20d, [rax]24 25# CHECK: lea r21d, [rax]26# CHECK: encoding: [0xd5,0x40,0x8d,0x28]27 lea r21d, [rax]28 29# CHECK: lea r22d, [rax]30# CHECK: encoding: [0xd5,0x40,0x8d,0x30]31 lea r22d, [rax]32 33# CHECK: lea r23d, [rax]34# CHECK: encoding: [0xd5,0x40,0x8d,0x38]35 lea r23d, [rax]36 37# CHECK: lea r24d, [rax]38# CHECK: encoding: [0xd5,0x44,0x8d,0x00]39 lea r24d, [rax]40 41# CHECK: lea r25d, [rax]42# CHECK: encoding: [0xd5,0x44,0x8d,0x08]43 lea r25d, [rax]44 45# CHECK: lea r26d, [rax]46# CHECK: encoding: [0xd5,0x44,0x8d,0x10]47 lea r26d, [rax]48 49# CHECK: lea r27d, [rax]50# CHECK: encoding: [0xd5,0x44,0x8d,0x18]51 lea r27d, [rax]52 53# CHECK: lea r28d, [rax]54# CHECK: encoding: [0xd5,0x44,0x8d,0x20]55 lea r28d, [rax]56 57# CHECK: lea r29d, [rax]58# CHECK: encoding: [0xd5,0x44,0x8d,0x28]59 lea r29d, [rax]60 61# CHECK: lea r30d, [rax]62# CHECK: encoding: [0xd5,0x44,0x8d,0x30]63 lea r30d, [rax]64 65# CHECK: lea r31d, [rax]66# CHECK: encoding: [0xd5,0x44,0x8d,0x38]67 lea r31d, [rax]68 69## X bit70 71# CHECK: lea eax, [1*r16]72# CHECK: encoding: [0xd5,0x20,0x8d,0x04,0x05,0x00,0x00,0x00,0x00]73 lea eax, [1*r16]74 75# CHECK: lea eax, [1*r17]76# CHECK: encoding: [0xd5,0x20,0x8d,0x04,0x0d,0x00,0x00,0x00,0x00]77 lea eax, [1*r17]78 79# CHECK: lea eax, [1*r18]80# CHECK: encoding: [0xd5,0x20,0x8d,0x04,0x15,0x00,0x00,0x00,0x00]81 lea eax, [1*r18]82 83# CHECK: lea eax, [1*r19]84# CHECK: encoding: [0xd5,0x20,0x8d,0x04,0x1d,0x00,0x00,0x00,0x00]85 lea eax, [1*r19]86 87# CHECK: lea eax, [1*r20]88# CHECK: encoding: [0xd5,0x20,0x8d,0x04,0x25,0x00,0x00,0x00,0x00]89 lea eax, [1*r20]90 91# CHECK: lea eax, [1*r21]92# CHECK: encoding: [0xd5,0x20,0x8d,0x04,0x2d,0x00,0x00,0x00,0x00]93 lea eax, [1*r21]94 95# CHECK: lea eax, [1*r22]96# CHECK: encoding: [0xd5,0x20,0x8d,0x04,0x35,0x00,0x00,0x00,0x00]97 lea eax, [1*r22]98 99# CHECK: lea eax, [1*r23]100# CHECK: encoding: [0xd5,0x20,0x8d,0x04,0x3d,0x00,0x00,0x00,0x00]101 lea eax, [1*r23]102 103# CHECK: lea eax, [1*r24]104# CHECK: encoding: [0xd5,0x22,0x8d,0x04,0x05,0x00,0x00,0x00,0x00]105 lea eax, [1*r24]106 107# CHECK: lea eax, [1*r25]108# CHECK: encoding: [0xd5,0x22,0x8d,0x04,0x0d,0x00,0x00,0x00,0x00]109 lea eax, [1*r25]110 111# CHECK: lea eax, [1*r26]112# CHECK: encoding: [0xd5,0x22,0x8d,0x04,0x15,0x00,0x00,0x00,0x00]113 lea eax, [1*r26]114 115# CHECK: lea eax, [1*r27]116# CHECK: encoding: [0xd5,0x22,0x8d,0x04,0x1d,0x00,0x00,0x00,0x00]117 lea eax, [1*r27]118 119# CHECK: lea eax, [1*r28]120# CHECK: encoding: [0xd5,0x22,0x8d,0x04,0x25,0x00,0x00,0x00,0x00]121 lea eax, [1*r28]122 123# CHECK: lea eax, [1*r29]124# CHECK: encoding: [0xd5,0x22,0x8d,0x04,0x2d,0x00,0x00,0x00,0x00]125 lea eax, [1*r29]126 127# CHECK: lea eax, [1*r30]128# CHECK: encoding: [0xd5,0x22,0x8d,0x04,0x35,0x00,0x00,0x00,0x00]129 lea eax, [1*r30]130 131# CHECK: lea eax, [1*r31]132# CHECK: encoding: [0xd5,0x22,0x8d,0x04,0x3d,0x00,0x00,0x00,0x00]133 lea eax, [1*r31]134 135## B bit136 137# CHECK: lea eax, [r16]138# CHECK: encoding: [0xd5,0x10,0x8d,0x00]139 lea eax, [r16]140 141# CHECK: lea eax, [r17]142# CHECK: encoding: [0xd5,0x10,0x8d,0x01]143 lea eax, [r17]144 145# CHECK: lea eax, [r18]146# CHECK: encoding: [0xd5,0x10,0x8d,0x02]147 lea eax, [r18]148 149# CHECK: lea eax, [r19]150# CHECK: encoding: [0xd5,0x10,0x8d,0x03]151 lea eax, [r19]152 153# CHECK: lea eax, [r20]154# CHECK: encoding: [0xd5,0x10,0x8d,0x04,0x24]155 lea eax, [r20]156 157# CHECK: lea eax, [r21]158# CHECK: encoding: [0xd5,0x10,0x8d,0x45,0x00]159 lea eax, [r21]160 161# CHECK: lea eax, [r22]162# CHECK: encoding: [0xd5,0x10,0x8d,0x06]163 lea eax, [r22]164 165# CHECK: lea eax, [r23]166# CHECK: encoding: [0xd5,0x10,0x8d,0x07]167 lea eax, [r23]168 169# CHECK: lea eax, [r24]170# CHECK: encoding: [0xd5,0x11,0x8d,0x00]171 lea eax, [r24]172 173# CHECK: lea eax, [r25]174# CHECK: encoding: [0xd5,0x11,0x8d,0x01]175 lea eax, [r25]176 177# CHECK: lea eax, [r26]178# CHECK: encoding: [0xd5,0x11,0x8d,0x02]179 lea eax, [r26]180 181# CHECK: lea eax, [r27]182# CHECK: encoding: [0xd5,0x11,0x8d,0x03]183 lea eax, [r27]184 185# CHECK: lea eax, [r28]186# CHECK: encoding: [0xd5,0x11,0x8d,0x04,0x24]187 lea eax, [r28]188 189# CHECK: lea eax, [r29]190# CHECK: encoding: [0xd5,0x11,0x8d,0x45,0x00]191 lea eax, [r29]192 193# CHECK: lea eax, [r30]194# CHECK: encoding: [0xd5,0x11,0x8d,0x06]195 lea eax, [r30]196 197# CHECK: lea eax, [r31]198# CHECK: encoding: [0xd5,0x11,0x8d,0x07]199 lea eax, [r31]200 201## SIB202 203# CHECK: lea eax, [r20 + 1]204# CHECK: encoding: [0xd5,0x10,0x8d,0x44,0x24,0x01]205 lea eax, [r20 + 1]206 207# CHECK: lea eax, [r28 + 1]208# CHECK: encoding: [0xd5,0x11,0x8d,0x44,0x24,0x01]209 lea eax, [r28 + 1]210 211# CHECK: lea eax, [r20 + 129]212# CHECK: encoding: [0xd5,0x10,0x8d,0x84,0x24,0x81,0x00,0x00,0x00]213 lea eax, [r20 + 129]214 215# CHECK: lea eax, [r28 + 129]216# CHECK: encoding: [0xd5,0x11,0x8d,0x84,0x24,0x81,0x00,0x00,0x00]217 lea eax, [r28 + 129]218 219## W bit220 221# CHECK: lea r16, [rax]222# CHECK: encoding: [0xd5,0x48,0x8d,0x00]223 lea r16, [rax]224 225# CHECK: lea rax, [r16]226# CHECK: encoding: [0xd5,0x18,0x8d,0x00]227 lea rax, [r16]228 229# CHECK: lea rax, [1*r16]230# CHECK: encoding: [0xd5,0x28,0x8d,0x04,0x05,0x00,0x00,0x00,0x00]231 lea rax, [1*r16]232 233## M bit234 235# CHECK: imul r16d, eax236# CHECK: encoding: [0xd5,0xc0,0xaf,0xc0]237 imul r16d, eax238