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