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