285 lines · plain
1# RUN: llvm-mc -triple x86_64 -show-encoding -x86-asm-syntax=intel -output-asm-variant=1 %s | FileCheck %s2 3# CHECK: {evex} shr bl, 1234# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xc0,0xeb,0x7b]5 {evex} shr bl, 1236# CHECK: {nf} shr bl, 1237# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xc0,0xeb,0x7b]8 {nf} shr bl, 1239# CHECK: shr bl, bl, 12310# CHECK: encoding: [0x62,0xf4,0x64,0x18,0xc0,0xeb,0x7b]11 shr bl, bl, 12312# CHECK: {nf} shr bl, bl, 12313# CHECK: encoding: [0x62,0xf4,0x64,0x1c,0xc0,0xeb,0x7b]14 {nf} shr bl, bl, 12315# CHECK: {evex} shr dx, 12316# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xc1,0xea,0x7b]17 {evex} shr dx, 12318# CHECK: {nf} shr dx, 12319# CHECK: encoding: [0x62,0xf4,0x7d,0x0c,0xc1,0xea,0x7b]20 {nf} shr dx, 12321# CHECK: shr dx, dx, 12322# CHECK: encoding: [0x62,0xf4,0x6d,0x18,0xc1,0xea,0x7b]23 shr dx, dx, 12324# CHECK: {nf} shr dx, dx, 12325# CHECK: encoding: [0x62,0xf4,0x6d,0x1c,0xc1,0xea,0x7b]26 {nf} shr dx, dx, 12327# CHECK: {evex} shr ecx, 12328# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xc1,0xe9,0x7b]29 {evex} shr ecx, 12330# CHECK: {nf} shr ecx, 12331# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xc1,0xe9,0x7b]32 {nf} shr ecx, 12333# CHECK: shr ecx, ecx, 12334# CHECK: encoding: [0x62,0xf4,0x74,0x18,0xc1,0xe9,0x7b]35 shr ecx, ecx, 12336# CHECK: {nf} shr ecx, ecx, 12337# CHECK: encoding: [0x62,0xf4,0x74,0x1c,0xc1,0xe9,0x7b]38 {nf} shr ecx, ecx, 12339# CHECK: {evex} shr r9, 12340# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xc1,0xe9,0x7b]41 {evex} shr r9, 12342# CHECK: {nf} shr r9, 12343# CHECK: encoding: [0x62,0xd4,0xfc,0x0c,0xc1,0xe9,0x7b]44 {nf} shr r9, 12345# CHECK: shr r9, r9, 12346# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xc1,0xe9,0x7b]47 shr r9, r9, 12348# CHECK: {nf} shr r9, r9, 12349# CHECK: encoding: [0x62,0xd4,0xb4,0x1c,0xc1,0xe9,0x7b]50 {nf} shr r9, r9, 12351# CHECK: {evex} shr byte ptr [r8 + 4*rax + 291], 12352# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xc0,0xac,0x80,0x23,0x01,0x00,0x00,0x7b]53 {evex} shr byte ptr [r8 + 4*rax + 291], 12354# CHECK: {nf} shr byte ptr [r8 + 4*rax + 291], 12355# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xc0,0xac,0x80,0x23,0x01,0x00,0x00,0x7b]56 {nf} shr byte ptr [r8 + 4*rax + 291], 12357# CHECK: shr bl, byte ptr [r8 + 4*rax + 291], 12358# CHECK: encoding: [0x62,0xd4,0x64,0x18,0xc0,0xac,0x80,0x23,0x01,0x00,0x00,0x7b]59 shr bl, byte ptr [r8 + 4*rax + 291], 12360# CHECK: {nf} shr bl, byte ptr [r8 + 4*rax + 291], 12361# CHECK: encoding: [0x62,0xd4,0x64,0x1c,0xc0,0xac,0x80,0x23,0x01,0x00,0x00,0x7b]62 {nf} shr bl, byte ptr [r8 + 4*rax + 291], 12363# CHECK: {evex} shr word ptr [r8 + 4*rax + 291], 12364# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0xc1,0xac,0x80,0x23,0x01,0x00,0x00,0x7b]65 {evex} shr word ptr [r8 + 4*rax + 291], 12366# CHECK: {nf} shr word ptr [r8 + 4*rax + 291], 12367# CHECK: encoding: [0x62,0xd4,0x7d,0x0c,0xc1,0xac,0x80,0x23,0x01,0x00,0x00,0x7b]68 {nf} shr word ptr [r8 + 4*rax + 291], 12369# CHECK: shr dx, word ptr [r8 + 4*rax + 291], 12370# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0xc1,0xac,0x80,0x23,0x01,0x00,0x00,0x7b]71 shr dx, word ptr [r8 + 4*rax + 291], 12372# CHECK: {nf} shr dx, word ptr [r8 + 4*rax + 291], 12373# CHECK: encoding: [0x62,0xd4,0x6d,0x1c,0xc1,0xac,0x80,0x23,0x01,0x00,0x00,0x7b]74 {nf} shr dx, word ptr [r8 + 4*rax + 291], 12375# CHECK: {evex} shr dword ptr [r8 + 4*rax + 291], 12376# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xc1,0xac,0x80,0x23,0x01,0x00,0x00,0x7b]77 {evex} shr dword ptr [r8 + 4*rax + 291], 12378# CHECK: {nf} shr dword ptr [r8 + 4*rax + 291], 12379# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xc1,0xac,0x80,0x23,0x01,0x00,0x00,0x7b]80 {nf} shr dword ptr [r8 + 4*rax + 291], 12381# CHECK: shr ecx, dword ptr [r8 + 4*rax + 291], 12382# CHECK: encoding: [0x62,0xd4,0x74,0x18,0xc1,0xac,0x80,0x23,0x01,0x00,0x00,0x7b]83 shr ecx, dword ptr [r8 + 4*rax + 291], 12384# CHECK: {nf} shr ecx, dword ptr [r8 + 4*rax + 291], 12385# CHECK: encoding: [0x62,0xd4,0x74,0x1c,0xc1,0xac,0x80,0x23,0x01,0x00,0x00,0x7b]86 {nf} shr ecx, dword ptr [r8 + 4*rax + 291], 12387# CHECK: {evex} shr qword ptr [r8 + 4*rax + 291], 12388# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xc1,0xac,0x80,0x23,0x01,0x00,0x00,0x7b]89 {evex} shr qword ptr [r8 + 4*rax + 291], 12390# CHECK: {nf} shr qword ptr [r8 + 4*rax + 291], 12391# CHECK: encoding: [0x62,0xd4,0xfc,0x0c,0xc1,0xac,0x80,0x23,0x01,0x00,0x00,0x7b]92 {nf} shr qword ptr [r8 + 4*rax + 291], 12393# CHECK: shr r9, qword ptr [r8 + 4*rax + 291], 12394# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xc1,0xac,0x80,0x23,0x01,0x00,0x00,0x7b]95 shr r9, qword ptr [r8 + 4*rax + 291], 12396# CHECK: {nf} shr r9, qword ptr [r8 + 4*rax + 291], 12397# CHECK: encoding: [0x62,0xd4,0xb4,0x1c,0xc1,0xac,0x80,0x23,0x01,0x00,0x00,0x7b]98 {nf} shr r9, qword ptr [r8 + 4*rax + 291], 12399# CHECK: {evex} shr bl100# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xd0,0xeb]101 {evex} shr bl102# CHECK: {nf} shr bl103# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xd0,0xeb]104 {nf} shr bl105# CHECK: {evex} shr bl, cl106# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xd2,0xeb]107 {evex} shr bl, cl108# CHECK: {nf} shr bl, cl109# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xd2,0xeb]110 {nf} shr bl, cl111# CHECK: shr bl, bl, cl112# CHECK: encoding: [0x62,0xf4,0x64,0x18,0xd2,0xeb]113 shr bl, bl, cl114# CHECK: {nf} shr bl, bl, cl115# CHECK: encoding: [0x62,0xf4,0x64,0x1c,0xd2,0xeb]116 {nf} shr bl, bl, cl117# CHECK: {evex} shr dx, cl118# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xd3,0xea]119 {evex} shr dx, cl120# CHECK: {nf} shr dx, cl121# CHECK: encoding: [0x62,0xf4,0x7d,0x0c,0xd3,0xea]122 {nf} shr dx, cl123# CHECK: shr dx, dx, cl124# CHECK: encoding: [0x62,0xf4,0x6d,0x18,0xd3,0xea]125 shr dx, dx, cl126# CHECK: {nf} shr dx, dx, cl127# CHECK: encoding: [0x62,0xf4,0x6d,0x1c,0xd3,0xea]128 {nf} shr dx, dx, cl129# CHECK: {evex} shr ecx, cl130# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xd3,0xe9]131 {evex} shr ecx, cl132# CHECK: {nf} shr ecx, cl133# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xd3,0xe9]134 {nf} shr ecx, cl135# CHECK: shr ecx, ecx, cl136# CHECK: encoding: [0x62,0xf4,0x74,0x18,0xd3,0xe9]137 shr ecx, ecx, cl138# CHECK: {nf} shr ecx, ecx, cl139# CHECK: encoding: [0x62,0xf4,0x74,0x1c,0xd3,0xe9]140 {nf} shr ecx, ecx, cl141# CHECK: {evex} shr r9, cl142# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xd3,0xe9]143 {evex} shr r9, cl144# CHECK: {nf} shr r9, cl145# CHECK: encoding: [0x62,0xd4,0xfc,0x0c,0xd3,0xe9]146 {nf} shr r9, cl147# CHECK: shr r9, r9, cl148# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xd3,0xe9]149 shr r9, r9, cl150# CHECK: {nf} shr r9, r9, cl151# CHECK: encoding: [0x62,0xd4,0xb4,0x1c,0xd3,0xe9]152 {nf} shr r9, r9, cl153# CHECK: {evex} shr byte ptr [r8 + 4*rax + 291], cl154# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xd2,0xac,0x80,0x23,0x01,0x00,0x00]155 {evex} shr byte ptr [r8 + 4*rax + 291], cl156# CHECK: {nf} shr byte ptr [r8 + 4*rax + 291], cl157# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xd2,0xac,0x80,0x23,0x01,0x00,0x00]158 {nf} shr byte ptr [r8 + 4*rax + 291], cl159# CHECK: shr bl, byte ptr [r8 + 4*rax + 291], cl160# CHECK: encoding: [0x62,0xd4,0x64,0x18,0xd2,0xac,0x80,0x23,0x01,0x00,0x00]161 shr bl, byte ptr [r8 + 4*rax + 291], cl162# CHECK: {nf} shr bl, byte ptr [r8 + 4*rax + 291], cl163# CHECK: encoding: [0x62,0xd4,0x64,0x1c,0xd2,0xac,0x80,0x23,0x01,0x00,0x00]164 {nf} shr bl, byte ptr [r8 + 4*rax + 291], cl165# CHECK: {evex} shr word ptr [r8 + 4*rax + 291], cl166# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0xd3,0xac,0x80,0x23,0x01,0x00,0x00]167 {evex} shr word ptr [r8 + 4*rax + 291], cl168# CHECK: {nf} shr word ptr [r8 + 4*rax + 291], cl169# CHECK: encoding: [0x62,0xd4,0x7d,0x0c,0xd3,0xac,0x80,0x23,0x01,0x00,0x00]170 {nf} shr word ptr [r8 + 4*rax + 291], cl171# CHECK: shr dx, word ptr [r8 + 4*rax + 291], cl172# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0xd3,0xac,0x80,0x23,0x01,0x00,0x00]173 shr dx, word ptr [r8 + 4*rax + 291], cl174# CHECK: {nf} shr dx, word ptr [r8 + 4*rax + 291], cl175# CHECK: encoding: [0x62,0xd4,0x6d,0x1c,0xd3,0xac,0x80,0x23,0x01,0x00,0x00]176 {nf} shr dx, word ptr [r8 + 4*rax + 291], cl177# CHECK: {evex} shr dword ptr [r8 + 4*rax + 291], cl178# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xd3,0xac,0x80,0x23,0x01,0x00,0x00]179 {evex} shr dword ptr [r8 + 4*rax + 291], cl180# CHECK: {nf} shr dword ptr [r8 + 4*rax + 291], cl181# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xd3,0xac,0x80,0x23,0x01,0x00,0x00]182 {nf} shr dword ptr [r8 + 4*rax + 291], cl183# CHECK: shr ecx, dword ptr [r8 + 4*rax + 291], cl184# CHECK: encoding: [0x62,0xd4,0x74,0x18,0xd3,0xac,0x80,0x23,0x01,0x00,0x00]185 shr ecx, dword ptr [r8 + 4*rax + 291], cl186# CHECK: {nf} shr ecx, dword ptr [r8 + 4*rax + 291], cl187# CHECK: encoding: [0x62,0xd4,0x74,0x1c,0xd3,0xac,0x80,0x23,0x01,0x00,0x00]188 {nf} shr ecx, dword ptr [r8 + 4*rax + 291], cl189# CHECK: {evex} shr qword ptr [r8 + 4*rax + 291], cl190# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xd3,0xac,0x80,0x23,0x01,0x00,0x00]191 {evex} shr qword ptr [r8 + 4*rax + 291], cl192# CHECK: {nf} shr qword ptr [r8 + 4*rax + 291], cl193# CHECK: encoding: [0x62,0xd4,0xfc,0x0c,0xd3,0xac,0x80,0x23,0x01,0x00,0x00]194 {nf} shr qword ptr [r8 + 4*rax + 291], cl195# CHECK: shr r9, qword ptr [r8 + 4*rax + 291], cl196# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xd3,0xac,0x80,0x23,0x01,0x00,0x00]197 shr r9, qword ptr [r8 + 4*rax + 291], cl198# CHECK: {nf} shr r9, qword ptr [r8 + 4*rax + 291], cl199# CHECK: encoding: [0x62,0xd4,0xb4,0x1c,0xd3,0xac,0x80,0x23,0x01,0x00,0x00]200 {nf} shr r9, qword ptr [r8 + 4*rax + 291], cl201# CHECK: {evex} shr dx202# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xd1,0xea]203 {evex} shr dx204# CHECK: {nf} shr dx205# CHECK: encoding: [0x62,0xf4,0x7d,0x0c,0xd1,0xea]206 {nf} shr dx207# CHECK: shr dx, dx208# CHECK: encoding: [0x62,0xf4,0x6d,0x18,0xd1,0xea]209 shr dx, dx210# CHECK: {nf} shr dx, dx211# CHECK: encoding: [0x62,0xf4,0x6d,0x1c,0xd1,0xea]212 {nf} shr dx, dx213# CHECK: {evex} shr ecx214# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xd1,0xe9]215 {evex} shr ecx216# CHECK: {nf} shr ecx217# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xd1,0xe9]218 {nf} shr ecx219# CHECK: shr ecx, ecx220# CHECK: encoding: [0x62,0xf4,0x74,0x18,0xd1,0xe9]221 shr ecx, ecx222# CHECK: {nf} shr ecx, ecx223# CHECK: encoding: [0x62,0xf4,0x74,0x1c,0xd1,0xe9]224 {nf} shr ecx, ecx225# CHECK: {evex} shr r9226# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xd1,0xe9]227 {evex} shr r9228# CHECK: {nf} shr r9229# CHECK: encoding: [0x62,0xd4,0xfc,0x0c,0xd1,0xe9]230 {nf} shr r9231# CHECK: shr r9, r9232# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xd1,0xe9]233 shr r9, r9234# CHECK: {nf} shr r9, r9235# CHECK: encoding: [0x62,0xd4,0xb4,0x1c,0xd1,0xe9]236 {nf} shr r9, r9237# CHECK: {evex} shr byte ptr [r8 + 4*rax + 291]238# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xd0,0xac,0x80,0x23,0x01,0x00,0x00]239 {evex} shr byte ptr [r8 + 4*rax + 291]240# CHECK: {nf} shr byte ptr [r8 + 4*rax + 291]241# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xd0,0xac,0x80,0x23,0x01,0x00,0x00]242 {nf} shr byte ptr [r8 + 4*rax + 291]243# CHECK: shr bl, byte ptr [r8 + 4*rax + 291]244# CHECK: encoding: [0x62,0xd4,0x64,0x18,0xd0,0xac,0x80,0x23,0x01,0x00,0x00]245 shr bl, byte ptr [r8 + 4*rax + 291]246# CHECK: {nf} shr bl, byte ptr [r8 + 4*rax + 291]247# CHECK: encoding: [0x62,0xd4,0x64,0x1c,0xd0,0xac,0x80,0x23,0x01,0x00,0x00]248 {nf} shr bl, byte ptr [r8 + 4*rax + 291]249# CHECK: {evex} shr word ptr [r8 + 4*rax + 291]250# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0xd1,0xac,0x80,0x23,0x01,0x00,0x00]251 {evex} shr word ptr [r8 + 4*rax + 291]252# CHECK: {nf} shr word ptr [r8 + 4*rax + 291]253# CHECK: encoding: [0x62,0xd4,0x7d,0x0c,0xd1,0xac,0x80,0x23,0x01,0x00,0x00]254 {nf} shr word ptr [r8 + 4*rax + 291]255# CHECK: shr dx, word ptr [r8 + 4*rax + 291]256# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0xd1,0xac,0x80,0x23,0x01,0x00,0x00]257 shr dx, word ptr [r8 + 4*rax + 291]258# CHECK: {nf} shr dx, word ptr [r8 + 4*rax + 291]259# CHECK: encoding: [0x62,0xd4,0x6d,0x1c,0xd1,0xac,0x80,0x23,0x01,0x00,0x00]260 {nf} shr dx, word ptr [r8 + 4*rax + 291]261# CHECK: {evex} shr dword ptr [r8 + 4*rax + 291]262# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xd1,0xac,0x80,0x23,0x01,0x00,0x00]263 {evex} shr dword ptr [r8 + 4*rax + 291]264# CHECK: {nf} shr dword ptr [r8 + 4*rax + 291]265# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xd1,0xac,0x80,0x23,0x01,0x00,0x00]266 {nf} shr dword ptr [r8 + 4*rax + 291]267# CHECK: shr ecx, dword ptr [r8 + 4*rax + 291]268# CHECK: encoding: [0x62,0xd4,0x74,0x18,0xd1,0xac,0x80,0x23,0x01,0x00,0x00]269 shr ecx, dword ptr [r8 + 4*rax + 291]270# CHECK: {nf} shr ecx, dword ptr [r8 + 4*rax + 291]271# CHECK: encoding: [0x62,0xd4,0x74,0x1c,0xd1,0xac,0x80,0x23,0x01,0x00,0x00]272 {nf} shr ecx, dword ptr [r8 + 4*rax + 291]273# CHECK: {evex} shr qword ptr [r8 + 4*rax + 291]274# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xd1,0xac,0x80,0x23,0x01,0x00,0x00]275 {evex} shr qword ptr [r8 + 4*rax + 291]276# CHECK: {nf} shr qword ptr [r8 + 4*rax + 291]277# CHECK: encoding: [0x62,0xd4,0xfc,0x0c,0xd1,0xac,0x80,0x23,0x01,0x00,0x00]278 {nf} shr qword ptr [r8 + 4*rax + 291]279# CHECK: shr r9, qword ptr [r8 + 4*rax + 291]280# CHECK: encoding: [0x62,0xd4,0xb4,0x18,0xd1,0xac,0x80,0x23,0x01,0x00,0x00]281 shr r9, qword ptr [r8 + 4*rax + 291]282# CHECK: {nf} shr r9, qword ptr [r8 + 4*rax + 291]283# CHECK: encoding: [0x62,0xd4,0xb4,0x1c,0xd1,0xac,0x80,0x23,0x01,0x00,0x00]284 {nf} shr r9, qword ptr [r8 + 4*rax + 291]285