387 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# ATT: {evex} rolb $123, %bl5# INTEL: {evex} rol bl, 12360x62,0xf4,0x7c,0x08,0xc0,0xc3,0x7b7 8# ATT: {nf} rolb $123, %bl9# INTEL: {nf} rol bl, 123100x62,0xf4,0x7c,0x0c,0xc0,0xc3,0x7b11 12# ATT: rolb $123, %bl, %bl13# INTEL: rol bl, bl, 123140x62,0xf4,0x64,0x18,0xc0,0xc3,0x7b15 16# ATT: {nf} rolb $123, %bl, %bl17# INTEL: {nf} rol bl, bl, 123180x62,0xf4,0x64,0x1c,0xc0,0xc3,0x7b19 20# ATT: {evex} rolw $123, %dx21# INTEL: {evex} rol dx, 123220x62,0xf4,0x7d,0x08,0xc1,0xc2,0x7b23 24# ATT: {nf} rolw $123, %dx25# INTEL: {nf} rol dx, 123260x62,0xf4,0x7d,0x0c,0xc1,0xc2,0x7b27 28# ATT: rolw $123, %dx, %dx29# INTEL: rol dx, dx, 123300x62,0xf4,0x6d,0x18,0xc1,0xc2,0x7b31 32# ATT: {nf} rolw $123, %dx, %dx33# INTEL: {nf} rol dx, dx, 123340x62,0xf4,0x6d,0x1c,0xc1,0xc2,0x7b35 36# ATT: {evex} roll $123, %ecx37# INTEL: {evex} rol ecx, 123380x62,0xf4,0x7c,0x08,0xc1,0xc1,0x7b39 40# ATT: {nf} roll $123, %ecx41# INTEL: {nf} rol ecx, 123420x62,0xf4,0x7c,0x0c,0xc1,0xc1,0x7b43 44# ATT: roll $123, %ecx, %ecx45# INTEL: rol ecx, ecx, 123460x62,0xf4,0x74,0x18,0xc1,0xc1,0x7b47 48# ATT: {nf} roll $123, %ecx, %ecx49# INTEL: {nf} rol ecx, ecx, 123500x62,0xf4,0x74,0x1c,0xc1,0xc1,0x7b51 52# ATT: {evex} rolq $123, %r953# INTEL: {evex} rol r9, 123540x62,0xd4,0xfc,0x08,0xc1,0xc1,0x7b55 56# ATT: {nf} rolq $123, %r957# INTEL: {nf} rol r9, 123580x62,0xd4,0xfc,0x0c,0xc1,0xc1,0x7b59 60# ATT: rolq $123, %r9, %r961# INTEL: rol r9, r9, 123620x62,0xd4,0xb4,0x18,0xc1,0xc1,0x7b63 64# ATT: {nf} rolq $123, %r9, %r965# INTEL: {nf} rol r9, r9, 123660x62,0xd4,0xb4,0x1c,0xc1,0xc1,0x7b67 68# ATT: {evex} rolb $123, 291(%r8,%rax,4)69# INTEL: {evex} rol byte ptr [r8 + 4*rax + 291], 123700x62,0xd4,0x7c,0x08,0xc0,0x84,0x80,0x23,0x01,0x00,0x00,0x7b71 72# ATT: {nf} rolb $123, 291(%r8,%rax,4)73# INTEL: {nf} rol byte ptr [r8 + 4*rax + 291], 123740x62,0xd4,0x7c,0x0c,0xc0,0x84,0x80,0x23,0x01,0x00,0x00,0x7b75 76# ATT: rolb $123, 291(%r8,%rax,4), %bl77# INTEL: rol bl, byte ptr [r8 + 4*rax + 291], 123780x62,0xd4,0x64,0x18,0xc0,0x84,0x80,0x23,0x01,0x00,0x00,0x7b79 80# ATT: {nf} rolb $123, 291(%r8,%rax,4), %bl81# INTEL: {nf} rol bl, byte ptr [r8 + 4*rax + 291], 123820x62,0xd4,0x64,0x1c,0xc0,0x84,0x80,0x23,0x01,0x00,0x00,0x7b83 84# ATT: {evex} rolw $123, 291(%r8,%rax,4)85# INTEL: {evex} rol word ptr [r8 + 4*rax + 291], 123860x62,0xd4,0x7d,0x08,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b87 88# ATT: {nf} rolw $123, 291(%r8,%rax,4)89# INTEL: {nf} rol word ptr [r8 + 4*rax + 291], 123900x62,0xd4,0x7d,0x0c,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b91 92# ATT: rolw $123, 291(%r8,%rax,4), %dx93# INTEL: rol dx, word ptr [r8 + 4*rax + 291], 123940x62,0xd4,0x6d,0x18,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b95 96# ATT: {nf} rolw $123, 291(%r8,%rax,4), %dx97# INTEL: {nf} rol dx, word ptr [r8 + 4*rax + 291], 123980x62,0xd4,0x6d,0x1c,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b99 100# ATT: {evex} roll $123, 291(%r8,%rax,4)101# INTEL: {evex} rol dword ptr [r8 + 4*rax + 291], 1231020x62,0xd4,0x7c,0x08,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b103 104# ATT: {nf} roll $123, 291(%r8,%rax,4)105# INTEL: {nf} rol dword ptr [r8 + 4*rax + 291], 1231060x62,0xd4,0x7c,0x0c,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b107 108# ATT: roll $123, 291(%r8,%rax,4), %ecx109# INTEL: rol ecx, dword ptr [r8 + 4*rax + 291], 1231100x62,0xd4,0x74,0x18,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b111 112# ATT: {nf} roll $123, 291(%r8,%rax,4), %ecx113# INTEL: {nf} rol ecx, dword ptr [r8 + 4*rax + 291], 1231140x62,0xd4,0x74,0x1c,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b115 116# ATT: {evex} rolq $123, 291(%r8,%rax,4)117# INTEL: {evex} rol qword ptr [r8 + 4*rax + 291], 1231180x62,0xd4,0xfc,0x08,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b119 120# ATT: {nf} rolq $123, 291(%r8,%rax,4)121# INTEL: {nf} rol qword ptr [r8 + 4*rax + 291], 1231220x62,0xd4,0xfc,0x0c,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b123 124# ATT: rolq $123, 291(%r8,%rax,4), %r9125# INTEL: rol r9, qword ptr [r8 + 4*rax + 291], 1231260x62,0xd4,0xb4,0x18,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b127 128# ATT: {nf} rolq $123, 291(%r8,%rax,4), %r9129# INTEL: {nf} rol r9, qword ptr [r8 + 4*rax + 291], 1231300x62,0xd4,0xb4,0x1c,0xc1,0x84,0x80,0x23,0x01,0x00,0x00,0x7b131 132# ATT: {evex} rolb %bl133# INTEL: {evex} rol bl1340x62,0xf4,0x7c,0x08,0xd0,0xc3135 136# ATT: {nf} rolb %bl137# INTEL: {nf} rol bl1380x62,0xf4,0x7c,0x0c,0xd0,0xc3139 140# ATT: rolb %bl, %bl141# INTEL: rol bl, bl1420x62,0xf4,0x64,0x18,0xd0,0xc3143 144# ATT: {nf} rolb %bl, %bl145# INTEL: {nf} rol bl, bl1460x62,0xf4,0x64,0x1c,0xd0,0xc3147 148# ATT: {evex} rolb %cl, %bl149# INTEL: {evex} rol bl, cl1500x62,0xf4,0x7c,0x08,0xd2,0xc3151 152# ATT: {nf} rolb %cl, %bl153# INTEL: {nf} rol bl, cl1540x62,0xf4,0x7c,0x0c,0xd2,0xc3155 156# ATT: rolb %cl, %bl, %bl157# INTEL: rol bl, bl, cl1580x62,0xf4,0x64,0x18,0xd2,0xc3159 160# ATT: {nf} rolb %cl, %bl, %bl161# INTEL: {nf} rol bl, bl, cl1620x62,0xf4,0x64,0x1c,0xd2,0xc3163 164# ATT: {evex} rolw %cl, %dx165# INTEL: {evex} rol dx, cl1660x62,0xf4,0x7d,0x08,0xd3,0xc2167 168# ATT: {nf} rolw %cl, %dx169# INTEL: {nf} rol dx, cl1700x62,0xf4,0x7d,0x0c,0xd3,0xc2171 172# ATT: rolw %cl, %dx, %dx173# INTEL: rol dx, dx, cl1740x62,0xf4,0x6d,0x18,0xd3,0xc2175 176# ATT: {nf} rolw %cl, %dx, %dx177# INTEL: {nf} rol dx, dx, cl1780x62,0xf4,0x6d,0x1c,0xd3,0xc2179 180# ATT: {evex} roll %cl, %ecx181# INTEL: {evex} rol ecx, cl1820x62,0xf4,0x7c,0x08,0xd3,0xc1183 184# ATT: {nf} roll %cl, %ecx185# INTEL: {nf} rol ecx, cl1860x62,0xf4,0x7c,0x0c,0xd3,0xc1187 188# ATT: roll %cl, %ecx, %ecx189# INTEL: rol ecx, ecx, cl1900x62,0xf4,0x74,0x18,0xd3,0xc1191 192# ATT: {nf} roll %cl, %ecx, %ecx193# INTEL: {nf} rol ecx, ecx, cl1940x62,0xf4,0x74,0x1c,0xd3,0xc1195 196# ATT: {evex} rolq %cl, %r9197# INTEL: {evex} rol r9, cl1980x62,0xd4,0xfc,0x08,0xd3,0xc1199 200# ATT: {nf} rolq %cl, %r9201# INTEL: {nf} rol r9, cl2020x62,0xd4,0xfc,0x0c,0xd3,0xc1203 204# ATT: rolq %cl, %r9, %r9205# INTEL: rol r9, r9, cl2060x62,0xd4,0xb4,0x18,0xd3,0xc1207 208# ATT: {nf} rolq %cl, %r9, %r9209# INTEL: {nf} rol r9, r9, cl2100x62,0xd4,0xb4,0x1c,0xd3,0xc1211 212# ATT: {evex} rolb %cl, 291(%r8,%rax,4)213# INTEL: {evex} rol byte ptr [r8 + 4*rax + 291], cl2140x62,0xd4,0x7c,0x08,0xd2,0x84,0x80,0x23,0x01,0x00,0x00215 216# ATT: {nf} rolb %cl, 291(%r8,%rax,4)217# INTEL: {nf} rol byte ptr [r8 + 4*rax + 291], cl2180x62,0xd4,0x7c,0x0c,0xd2,0x84,0x80,0x23,0x01,0x00,0x00219 220# ATT: rolb %cl, 291(%r8,%rax,4), %bl221# INTEL: rol bl, byte ptr [r8 + 4*rax + 291], cl2220x62,0xd4,0x64,0x18,0xd2,0x84,0x80,0x23,0x01,0x00,0x00223 224# ATT: {nf} rolb %cl, 291(%r8,%rax,4), %bl225# INTEL: {nf} rol bl, byte ptr [r8 + 4*rax + 291], cl2260x62,0xd4,0x64,0x1c,0xd2,0x84,0x80,0x23,0x01,0x00,0x00227 228# ATT: {evex} rolw %cl, 291(%r8,%rax,4)229# INTEL: {evex} rol word ptr [r8 + 4*rax + 291], cl2300x62,0xd4,0x7d,0x08,0xd3,0x84,0x80,0x23,0x01,0x00,0x00231 232# ATT: {nf} rolw %cl, 291(%r8,%rax,4)233# INTEL: {nf} rol word ptr [r8 + 4*rax + 291], cl2340x62,0xd4,0x7d,0x0c,0xd3,0x84,0x80,0x23,0x01,0x00,0x00235 236# ATT: rolw %cl, 291(%r8,%rax,4), %dx237# INTEL: rol dx, word ptr [r8 + 4*rax + 291], cl2380x62,0xd4,0x6d,0x18,0xd3,0x84,0x80,0x23,0x01,0x00,0x00239 240# ATT: {nf} rolw %cl, 291(%r8,%rax,4), %dx241# INTEL: {nf} rol dx, word ptr [r8 + 4*rax + 291], cl2420x62,0xd4,0x6d,0x1c,0xd3,0x84,0x80,0x23,0x01,0x00,0x00243 244# ATT: {evex} roll %cl, 291(%r8,%rax,4)245# INTEL: {evex} rol dword ptr [r8 + 4*rax + 291], cl2460x62,0xd4,0x7c,0x08,0xd3,0x84,0x80,0x23,0x01,0x00,0x00247 248# ATT: {nf} roll %cl, 291(%r8,%rax,4)249# INTEL: {nf} rol dword ptr [r8 + 4*rax + 291], cl2500x62,0xd4,0x7c,0x0c,0xd3,0x84,0x80,0x23,0x01,0x00,0x00251 252# ATT: roll %cl, 291(%r8,%rax,4), %ecx253# INTEL: rol ecx, dword ptr [r8 + 4*rax + 291], cl2540x62,0xd4,0x74,0x18,0xd3,0x84,0x80,0x23,0x01,0x00,0x00255 256# ATT: {nf} roll %cl, 291(%r8,%rax,4), %ecx257# INTEL: {nf} rol ecx, dword ptr [r8 + 4*rax + 291], cl2580x62,0xd4,0x74,0x1c,0xd3,0x84,0x80,0x23,0x01,0x00,0x00259 260# ATT: {evex} rolq %cl, 291(%r8,%rax,4)261# INTEL: {evex} rol qword ptr [r8 + 4*rax + 291], cl2620x62,0xd4,0xfc,0x08,0xd3,0x84,0x80,0x23,0x01,0x00,0x00263 264# ATT: {nf} rolq %cl, 291(%r8,%rax,4)265# INTEL: {nf} rol qword ptr [r8 + 4*rax + 291], cl2660x62,0xd4,0xfc,0x0c,0xd3,0x84,0x80,0x23,0x01,0x00,0x00267 268# ATT: rolq %cl, 291(%r8,%rax,4), %r9269# INTEL: rol r9, qword ptr [r8 + 4*rax + 291], cl2700x62,0xd4,0xb4,0x18,0xd3,0x84,0x80,0x23,0x01,0x00,0x00271 272# ATT: {nf} rolq %cl, 291(%r8,%rax,4), %r9273# INTEL: {nf} rol r9, qword ptr [r8 + 4*rax + 291], cl2740x62,0xd4,0xb4,0x1c,0xd3,0x84,0x80,0x23,0x01,0x00,0x00275 276# ATT: {evex} rolw %dx277# INTEL: {evex} rol dx2780x62,0xf4,0x7d,0x08,0xd1,0xc2279 280# ATT: {nf} rolw %dx281# INTEL: {nf} rol dx2820x62,0xf4,0x7d,0x0c,0xd1,0xc2283 284# ATT: rolw %dx, %dx285# INTEL: rol dx, dx2860x62,0xf4,0x6d,0x18,0xd1,0xc2287 288# ATT: {nf} rolw %dx, %dx289# INTEL: {nf} rol dx, dx2900x62,0xf4,0x6d,0x1c,0xd1,0xc2291 292# ATT: {evex} roll %ecx293# INTEL: {evex} rol ecx2940x62,0xf4,0x7c,0x08,0xd1,0xc1295 296# ATT: {nf} roll %ecx297# INTEL: {nf} rol ecx2980x62,0xf4,0x7c,0x0c,0xd1,0xc1299 300# ATT: roll %ecx, %ecx301# INTEL: rol ecx, ecx3020x62,0xf4,0x74,0x18,0xd1,0xc1303 304# ATT: {nf} roll %ecx, %ecx305# INTEL: {nf} rol ecx, ecx3060x62,0xf4,0x74,0x1c,0xd1,0xc1307 308# ATT: {evex} rolq %r9309# INTEL: {evex} rol r93100x62,0xd4,0xfc,0x08,0xd1,0xc1311 312# ATT: {nf} rolq %r9313# INTEL: {nf} rol r93140x62,0xd4,0xfc,0x0c,0xd1,0xc1315 316# ATT: rolq %r9, %r9317# INTEL: rol r9, r93180x62,0xd4,0xb4,0x18,0xd1,0xc1319 320# ATT: {nf} rolq %r9, %r9321# INTEL: {nf} rol r9, r93220x62,0xd4,0xb4,0x1c,0xd1,0xc1323 324# ATT: {evex} rolb 291(%r8,%rax,4)325# INTEL: {evex} rol byte ptr [r8 + 4*rax + 291]3260x62,0xd4,0x7c,0x08,0xd0,0x84,0x80,0x23,0x01,0x00,0x00327 328# ATT: {nf} rolb 291(%r8,%rax,4)329# INTEL: {nf} rol byte ptr [r8 + 4*rax + 291]3300x62,0xd4,0x7c,0x0c,0xd0,0x84,0x80,0x23,0x01,0x00,0x00331 332# ATT: rolb 291(%r8,%rax,4), %bl333# INTEL: rol bl, byte ptr [r8 + 4*rax + 291]3340x62,0xd4,0x64,0x18,0xd0,0x84,0x80,0x23,0x01,0x00,0x00335 336# ATT: {nf} rolb 291(%r8,%rax,4), %bl337# INTEL: {nf} rol bl, byte ptr [r8 + 4*rax + 291]3380x62,0xd4,0x64,0x1c,0xd0,0x84,0x80,0x23,0x01,0x00,0x00339 340# ATT: {evex} rolw 291(%r8,%rax,4)341# INTEL: {evex} rol word ptr [r8 + 4*rax + 291]3420x62,0xd4,0x7d,0x08,0xd1,0x84,0x80,0x23,0x01,0x00,0x00343 344# ATT: {nf} rolw 291(%r8,%rax,4)345# INTEL: {nf} rol word ptr [r8 + 4*rax + 291]3460x62,0xd4,0x7d,0x0c,0xd1,0x84,0x80,0x23,0x01,0x00,0x00347 348# ATT: rolw 291(%r8,%rax,4), %dx349# INTEL: rol dx, word ptr [r8 + 4*rax + 291]3500x62,0xd4,0x6d,0x18,0xd1,0x84,0x80,0x23,0x01,0x00,0x00351 352# ATT: {nf} rolw 291(%r8,%rax,4), %dx353# INTEL: {nf} rol dx, word ptr [r8 + 4*rax + 291]3540x62,0xd4,0x6d,0x1c,0xd1,0x84,0x80,0x23,0x01,0x00,0x00355 356# ATT: {evex} roll 291(%r8,%rax,4)357# INTEL: {evex} rol dword ptr [r8 + 4*rax + 291]3580x62,0xd4,0x7c,0x08,0xd1,0x84,0x80,0x23,0x01,0x00,0x00359 360# ATT: {nf} roll 291(%r8,%rax,4)361# INTEL: {nf} rol dword ptr [r8 + 4*rax + 291]3620x62,0xd4,0x7c,0x0c,0xd1,0x84,0x80,0x23,0x01,0x00,0x00363 364# ATT: roll 291(%r8,%rax,4), %ecx365# INTEL: rol ecx, dword ptr [r8 + 4*rax + 291]3660x62,0xd4,0x74,0x18,0xd1,0x84,0x80,0x23,0x01,0x00,0x00367 368# ATT: {nf} roll 291(%r8,%rax,4), %ecx369# INTEL: {nf} rol ecx, dword ptr [r8 + 4*rax + 291]3700x62,0xd4,0x74,0x1c,0xd1,0x84,0x80,0x23,0x01,0x00,0x00371 372# ATT: {evex} rolq 291(%r8,%rax,4)373# INTEL: {evex} rol qword ptr [r8 + 4*rax + 291]3740x62,0xd4,0xfc,0x08,0xd1,0x84,0x80,0x23,0x01,0x00,0x00375 376# ATT: {nf} rolq 291(%r8,%rax,4)377# INTEL: {nf} rol qword ptr [r8 + 4*rax + 291]3780x62,0xd4,0xfc,0x0c,0xd1,0x84,0x80,0x23,0x01,0x00,0x00379 380# ATT: rolq 291(%r8,%rax,4), %r9381# INTEL: rol r9, qword ptr [r8 + 4*rax + 291]3820x62,0xd4,0xb4,0x18,0xd1,0x84,0x80,0x23,0x01,0x00,0x00383 384# ATT: {nf} rolq 291(%r8,%rax,4), %r9385# INTEL: {nf} rol r9, qword ptr [r8 + 4*rax + 291]3860x62,0xd4,0xb4,0x1c,0xd1,0x84,0x80,0x23,0x01,0x00,0x00387