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: cmovbw %dx, %ax, %r9w5# INTEL: cmovb r9w, ax, dx60x62,0xf4,0x35,0x18,0x42,0xc27 8# ATT: cmovbl %ecx, %edx, %r10d9# INTEL: cmovb r10d, edx, ecx100x62,0xf4,0x2c,0x18,0x42,0xd111 12# ATT: cmovbq %r9, %r15, %r1113# INTEL: cmovb r11, r15, r9140x62,0x54,0xa4,0x18,0x42,0xf915 16# ATT: cmovbw 123(%r8,%rax,4), %dx, %ax17# INTEL: cmovb ax, dx, word ptr [r8 + 4*rax + 123]180x62,0xd4,0x7d,0x18,0x42,0x54,0x80,0x7b19 20# ATT: cmovbl 123(%r8,%rax,4), %ecx, %edx21# INTEL: cmovb edx, ecx, dword ptr [r8 + 4*rax + 123]220x62,0xd4,0x6c,0x18,0x42,0x4c,0x80,0x7b23 24# ATT: cmovbq 123(%r8,%rax,4), %r9, %r1525# INTEL: cmovb r15, r9, qword ptr [r8 + 4*rax + 123]260x62,0x54,0x84,0x18,0x42,0x4c,0x80,0x7b27 28# ATT: cmovbew %dx, %ax, %r9w29# INTEL: cmovbe r9w, ax, dx300x62,0xf4,0x35,0x18,0x46,0xc231 32# ATT: cmovbel %ecx, %edx, %r10d33# INTEL: cmovbe r10d, edx, ecx340x62,0xf4,0x2c,0x18,0x46,0xd135 36# ATT: cmovbeq %r9, %r15, %r1137# INTEL: cmovbe r11, r15, r9380x62,0x54,0xa4,0x18,0x46,0xf939 40# ATT: cmovbew 123(%r8,%rax,4), %dx, %ax41# INTEL: cmovbe ax, dx, word ptr [r8 + 4*rax + 123]420x62,0xd4,0x7d,0x18,0x46,0x54,0x80,0x7b43 44# ATT: cmovbel 123(%r8,%rax,4), %ecx, %edx45# INTEL: cmovbe edx, ecx, dword ptr [r8 + 4*rax + 123]460x62,0xd4,0x6c,0x18,0x46,0x4c,0x80,0x7b47 48# ATT: cmovbeq 123(%r8,%rax,4), %r9, %r1549# INTEL: cmovbe r15, r9, qword ptr [r8 + 4*rax + 123]500x62,0x54,0x84,0x18,0x46,0x4c,0x80,0x7b51 52# ATT: cmovlw %dx, %ax, %r9w53# INTEL: cmovl r9w, ax, dx540x62,0xf4,0x35,0x18,0x4c,0xc255 56# ATT: cmovll %ecx, %edx, %r10d57# INTEL: cmovl r10d, edx, ecx580x62,0xf4,0x2c,0x18,0x4c,0xd159 60# ATT: cmovlq %r9, %r15, %r1161# INTEL: cmovl r11, r15, r9620x62,0x54,0xa4,0x18,0x4c,0xf963 64# ATT: cmovlw 123(%r8,%rax,4), %dx, %ax65# INTEL: cmovl ax, dx, word ptr [r8 + 4*rax + 123]660x62,0xd4,0x7d,0x18,0x4c,0x54,0x80,0x7b67 68# ATT: cmovll 123(%r8,%rax,4), %ecx, %edx69# INTEL: cmovl edx, ecx, dword ptr [r8 + 4*rax + 123]700x62,0xd4,0x6c,0x18,0x4c,0x4c,0x80,0x7b71 72# ATT: cmovlq 123(%r8,%rax,4), %r9, %r1573# INTEL: cmovl r15, r9, qword ptr [r8 + 4*rax + 123]740x62,0x54,0x84,0x18,0x4c,0x4c,0x80,0x7b75 76# ATT: cmovlew %dx, %ax, %r9w77# INTEL: cmovle r9w, ax, dx780x62,0xf4,0x35,0x18,0x4e,0xc279 80# ATT: cmovlel %ecx, %edx, %r10d81# INTEL: cmovle r10d, edx, ecx820x62,0xf4,0x2c,0x18,0x4e,0xd183 84# ATT: cmovleq %r9, %r15, %r1185# INTEL: cmovle r11, r15, r9860x62,0x54,0xa4,0x18,0x4e,0xf987 88# ATT: cmovlew 123(%r8,%rax,4), %dx, %ax89# INTEL: cmovle ax, dx, word ptr [r8 + 4*rax + 123]900x62,0xd4,0x7d,0x18,0x4e,0x54,0x80,0x7b91 92# ATT: cmovlel 123(%r8,%rax,4), %ecx, %edx93# INTEL: cmovle edx, ecx, dword ptr [r8 + 4*rax + 123]940x62,0xd4,0x6c,0x18,0x4e,0x4c,0x80,0x7b95 96# ATT: cmovleq 123(%r8,%rax,4), %r9, %r1597# INTEL: cmovle r15, r9, qword ptr [r8 + 4*rax + 123]980x62,0x54,0x84,0x18,0x4e,0x4c,0x80,0x7b99 100# ATT: cmovaew %dx, %ax, %r9w101# INTEL: cmovae r9w, ax, dx1020x62,0xf4,0x35,0x18,0x43,0xc2103 104# ATT: cmovael %ecx, %edx, %r10d105# INTEL: cmovae r10d, edx, ecx1060x62,0xf4,0x2c,0x18,0x43,0xd1107 108# ATT: cmovaeq %r9, %r15, %r11109# INTEL: cmovae r11, r15, r91100x62,0x54,0xa4,0x18,0x43,0xf9111 112# ATT: cmovaew 123(%r8,%rax,4), %dx, %ax113# INTEL: cmovae ax, dx, word ptr [r8 + 4*rax + 123]1140x62,0xd4,0x7d,0x18,0x43,0x54,0x80,0x7b115 116# ATT: cmovael 123(%r8,%rax,4), %ecx, %edx117# INTEL: cmovae edx, ecx, dword ptr [r8 + 4*rax + 123]1180x62,0xd4,0x6c,0x18,0x43,0x4c,0x80,0x7b119 120# ATT: cmovaeq 123(%r8,%rax,4), %r9, %r15121# INTEL: cmovae r15, r9, qword ptr [r8 + 4*rax + 123]1220x62,0x54,0x84,0x18,0x43,0x4c,0x80,0x7b123 124# ATT: cmovaw %dx, %ax, %r9w125# INTEL: cmova r9w, ax, dx1260x62,0xf4,0x35,0x18,0x47,0xc2127 128# ATT: cmoval %ecx, %edx, %r10d129# INTEL: cmova r10d, edx, ecx1300x62,0xf4,0x2c,0x18,0x47,0xd1131 132# ATT: cmovaq %r9, %r15, %r11133# INTEL: cmova r11, r15, r91340x62,0x54,0xa4,0x18,0x47,0xf9135 136# ATT: cmovaw 123(%r8,%rax,4), %dx, %ax137# INTEL: cmova ax, dx, word ptr [r8 + 4*rax + 123]1380x62,0xd4,0x7d,0x18,0x47,0x54,0x80,0x7b139 140# ATT: cmoval 123(%r8,%rax,4), %ecx, %edx141# INTEL: cmova edx, ecx, dword ptr [r8 + 4*rax + 123]1420x62,0xd4,0x6c,0x18,0x47,0x4c,0x80,0x7b143 144# ATT: cmovaq 123(%r8,%rax,4), %r9, %r15145# INTEL: cmova r15, r9, qword ptr [r8 + 4*rax + 123]1460x62,0x54,0x84,0x18,0x47,0x4c,0x80,0x7b147 148# ATT: cmovgew %dx, %ax, %r9w149# INTEL: cmovge r9w, ax, dx1500x62,0xf4,0x35,0x18,0x4d,0xc2151 152# ATT: cmovgel %ecx, %edx, %r10d153# INTEL: cmovge r10d, edx, ecx1540x62,0xf4,0x2c,0x18,0x4d,0xd1155 156# ATT: cmovgeq %r9, %r15, %r11157# INTEL: cmovge r11, r15, r91580x62,0x54,0xa4,0x18,0x4d,0xf9159 160# ATT: cmovgew 123(%r8,%rax,4), %dx, %ax161# INTEL: cmovge ax, dx, word ptr [r8 + 4*rax + 123]1620x62,0xd4,0x7d,0x18,0x4d,0x54,0x80,0x7b163 164# ATT: cmovgel 123(%r8,%rax,4), %ecx, %edx165# INTEL: cmovge edx, ecx, dword ptr [r8 + 4*rax + 123]1660x62,0xd4,0x6c,0x18,0x4d,0x4c,0x80,0x7b167 168# ATT: cmovgeq 123(%r8,%rax,4), %r9, %r15169# INTEL: cmovge r15, r9, qword ptr [r8 + 4*rax + 123]1700x62,0x54,0x84,0x18,0x4d,0x4c,0x80,0x7b171 172# ATT: cmovgw %dx, %ax, %r9w173# INTEL: cmovg r9w, ax, dx1740x62,0xf4,0x35,0x18,0x4f,0xc2175 176# ATT: cmovgl %ecx, %edx, %r10d177# INTEL: cmovg r10d, edx, ecx1780x62,0xf4,0x2c,0x18,0x4f,0xd1179 180# ATT: cmovgq %r9, %r15, %r11181# INTEL: cmovg r11, r15, r91820x62,0x54,0xa4,0x18,0x4f,0xf9183 184# ATT: cmovgw 123(%r8,%rax,4), %dx, %ax185# INTEL: cmovg ax, dx, word ptr [r8 + 4*rax + 123]1860x62,0xd4,0x7d,0x18,0x4f,0x54,0x80,0x7b187 188# ATT: cmovgl 123(%r8,%rax,4), %ecx, %edx189# INTEL: cmovg edx, ecx, dword ptr [r8 + 4*rax + 123]1900x62,0xd4,0x6c,0x18,0x4f,0x4c,0x80,0x7b191 192# ATT: cmovgq 123(%r8,%rax,4), %r9, %r15193# INTEL: cmovg r15, r9, qword ptr [r8 + 4*rax + 123]1940x62,0x54,0x84,0x18,0x4f,0x4c,0x80,0x7b195 196# ATT: cmovnow %dx, %ax, %r9w197# INTEL: cmovno r9w, ax, dx1980x62,0xf4,0x35,0x18,0x41,0xc2199 200# ATT: cmovnol %ecx, %edx, %r10d201# INTEL: cmovno r10d, edx, ecx2020x62,0xf4,0x2c,0x18,0x41,0xd1203 204# ATT: cmovnoq %r9, %r15, %r11205# INTEL: cmovno r11, r15, r92060x62,0x54,0xa4,0x18,0x41,0xf9207 208# ATT: cmovnow 123(%r8,%rax,4), %dx, %ax209# INTEL: cmovno ax, dx, word ptr [r8 + 4*rax + 123]2100x62,0xd4,0x7d,0x18,0x41,0x54,0x80,0x7b211 212# ATT: cmovnol 123(%r8,%rax,4), %ecx, %edx213# INTEL: cmovno edx, ecx, dword ptr [r8 + 4*rax + 123]2140x62,0xd4,0x6c,0x18,0x41,0x4c,0x80,0x7b215 216# ATT: cmovnoq 123(%r8,%rax,4), %r9, %r15217# INTEL: cmovno r15, r9, qword ptr [r8 + 4*rax + 123]2180x62,0x54,0x84,0x18,0x41,0x4c,0x80,0x7b219 220# ATT: cmovnpw %dx, %ax, %r9w221# INTEL: cmovnp r9w, ax, dx2220x62,0xf4,0x35,0x18,0x4b,0xc2223 224# ATT: cmovnpl %ecx, %edx, %r10d225# INTEL: cmovnp r10d, edx, ecx2260x62,0xf4,0x2c,0x18,0x4b,0xd1227 228# ATT: cmovnpq %r9, %r15, %r11229# INTEL: cmovnp r11, r15, r92300x62,0x54,0xa4,0x18,0x4b,0xf9231 232# ATT: cmovnpw 123(%r8,%rax,4), %dx, %ax233# INTEL: cmovnp ax, dx, word ptr [r8 + 4*rax + 123]2340x62,0xd4,0x7d,0x18,0x4b,0x54,0x80,0x7b235 236# ATT: cmovnpl 123(%r8,%rax,4), %ecx, %edx237# INTEL: cmovnp edx, ecx, dword ptr [r8 + 4*rax + 123]2380x62,0xd4,0x6c,0x18,0x4b,0x4c,0x80,0x7b239 240# ATT: cmovnpq 123(%r8,%rax,4), %r9, %r15241# INTEL: cmovnp r15, r9, qword ptr [r8 + 4*rax + 123]2420x62,0x54,0x84,0x18,0x4b,0x4c,0x80,0x7b243 244# ATT: cmovnsw %dx, %ax, %r9w245# INTEL: cmovns r9w, ax, dx2460x62,0xf4,0x35,0x18,0x49,0xc2247 248# ATT: cmovnsl %ecx, %edx, %r10d249# INTEL: cmovns r10d, edx, ecx2500x62,0xf4,0x2c,0x18,0x49,0xd1251 252# ATT: cmovnsq %r9, %r15, %r11253# INTEL: cmovns r11, r15, r92540x62,0x54,0xa4,0x18,0x49,0xf9255 256# ATT: cmovnsw 123(%r8,%rax,4), %dx, %ax257# INTEL: cmovns ax, dx, word ptr [r8 + 4*rax + 123]2580x62,0xd4,0x7d,0x18,0x49,0x54,0x80,0x7b259 260# ATT: cmovnsl 123(%r8,%rax,4), %ecx, %edx261# INTEL: cmovns edx, ecx, dword ptr [r8 + 4*rax + 123]2620x62,0xd4,0x6c,0x18,0x49,0x4c,0x80,0x7b263 264# ATT: cmovnsq 123(%r8,%rax,4), %r9, %r15265# INTEL: cmovns r15, r9, qword ptr [r8 + 4*rax + 123]2660x62,0x54,0x84,0x18,0x49,0x4c,0x80,0x7b267 268# ATT: cmovnew %dx, %ax, %r9w269# INTEL: cmovne r9w, ax, dx2700x62,0xf4,0x35,0x18,0x45,0xc2271 272# ATT: cmovnel %ecx, %edx, %r10d273# INTEL: cmovne r10d, edx, ecx2740x62,0xf4,0x2c,0x18,0x45,0xd1275 276# ATT: cmovneq %r9, %r15, %r11277# INTEL: cmovne r11, r15, r92780x62,0x54,0xa4,0x18,0x45,0xf9279 280# ATT: cmovnew 123(%r8,%rax,4), %dx, %ax281# INTEL: cmovne ax, dx, word ptr [r8 + 4*rax + 123]2820x62,0xd4,0x7d,0x18,0x45,0x54,0x80,0x7b283 284# ATT: cmovnel 123(%r8,%rax,4), %ecx, %edx285# INTEL: cmovne edx, ecx, dword ptr [r8 + 4*rax + 123]2860x62,0xd4,0x6c,0x18,0x45,0x4c,0x80,0x7b287 288# ATT: cmovneq 123(%r8,%rax,4), %r9, %r15289# INTEL: cmovne r15, r9, qword ptr [r8 + 4*rax + 123]2900x62,0x54,0x84,0x18,0x45,0x4c,0x80,0x7b291 292# ATT: cmovow %dx, %ax, %r9w293# INTEL: cmovo r9w, ax, dx2940x62,0xf4,0x35,0x18,0x40,0xc2295 296# ATT: cmovol %ecx, %edx, %r10d297# INTEL: cmovo r10d, edx, ecx2980x62,0xf4,0x2c,0x18,0x40,0xd1299 300# ATT: cmovoq %r9, %r15, %r11301# INTEL: cmovo r11, r15, r93020x62,0x54,0xa4,0x18,0x40,0xf9303 304# ATT: cmovow 123(%r8,%rax,4), %dx, %ax305# INTEL: cmovo ax, dx, word ptr [r8 + 4*rax + 123]3060x62,0xd4,0x7d,0x18,0x40,0x54,0x80,0x7b307 308# ATT: cmovol 123(%r8,%rax,4), %ecx, %edx309# INTEL: cmovo edx, ecx, dword ptr [r8 + 4*rax + 123]3100x62,0xd4,0x6c,0x18,0x40,0x4c,0x80,0x7b311 312# ATT: cmovoq 123(%r8,%rax,4), %r9, %r15313# INTEL: cmovo r15, r9, qword ptr [r8 + 4*rax + 123]3140x62,0x54,0x84,0x18,0x40,0x4c,0x80,0x7b315 316# ATT: cmovpw %dx, %ax, %r9w317# INTEL: cmovp r9w, ax, dx3180x62,0xf4,0x35,0x18,0x4a,0xc2319 320# ATT: cmovpl %ecx, %edx, %r10d321# INTEL: cmovp r10d, edx, ecx3220x62,0xf4,0x2c,0x18,0x4a,0xd1323 324# ATT: cmovpq %r9, %r15, %r11325# INTEL: cmovp r11, r15, r93260x62,0x54,0xa4,0x18,0x4a,0xf9327 328# ATT: cmovpw 123(%r8,%rax,4), %dx, %ax329# INTEL: cmovp ax, dx, word ptr [r8 + 4*rax + 123]3300x62,0xd4,0x7d,0x18,0x4a,0x54,0x80,0x7b331 332# ATT: cmovpl 123(%r8,%rax,4), %ecx, %edx333# INTEL: cmovp edx, ecx, dword ptr [r8 + 4*rax + 123]3340x62,0xd4,0x6c,0x18,0x4a,0x4c,0x80,0x7b335 336# ATT: cmovpq 123(%r8,%rax,4), %r9, %r15337# INTEL: cmovp r15, r9, qword ptr [r8 + 4*rax + 123]3380x62,0x54,0x84,0x18,0x4a,0x4c,0x80,0x7b339 340# ATT: cmovsw %dx, %ax, %r9w341# INTEL: cmovs r9w, ax, dx3420x62,0xf4,0x35,0x18,0x48,0xc2343 344# ATT: cmovsl %ecx, %edx, %r10d345# INTEL: cmovs r10d, edx, ecx3460x62,0xf4,0x2c,0x18,0x48,0xd1347 348# ATT: cmovsq %r9, %r15, %r11349# INTEL: cmovs r11, r15, r93500x62,0x54,0xa4,0x18,0x48,0xf9351 352# ATT: cmovsw 123(%r8,%rax,4), %dx, %ax353# INTEL: cmovs ax, dx, word ptr [r8 + 4*rax + 123]3540x62,0xd4,0x7d,0x18,0x48,0x54,0x80,0x7b355 356# ATT: cmovsl 123(%r8,%rax,4), %ecx, %edx357# INTEL: cmovs edx, ecx, dword ptr [r8 + 4*rax + 123]3580x62,0xd4,0x6c,0x18,0x48,0x4c,0x80,0x7b359 360# ATT: cmovsq 123(%r8,%rax,4), %r9, %r15361# INTEL: cmovs r15, r9, qword ptr [r8 + 4*rax + 123]3620x62,0x54,0x84,0x18,0x48,0x4c,0x80,0x7b363 364# ATT: cmovew %dx, %ax, %r9w365# INTEL: cmove r9w, ax, dx3660x62,0xf4,0x35,0x18,0x44,0xc2367 368# ATT: cmovel %ecx, %edx, %r10d369# INTEL: cmove r10d, edx, ecx3700x62,0xf4,0x2c,0x18,0x44,0xd1371 372# ATT: cmoveq %r9, %r15, %r11373# INTEL: cmove r11, r15, r93740x62,0x54,0xa4,0x18,0x44,0xf9375 376# ATT: cmovew 123(%r8,%rax,4), %dx, %ax377# INTEL: cmove ax, dx, word ptr [r8 + 4*rax + 123]3780x62,0xd4,0x7d,0x18,0x44,0x54,0x80,0x7b379 380# ATT: cmovel 123(%r8,%rax,4), %ecx, %edx381# INTEL: cmove edx, ecx, dword ptr [r8 + 4*rax + 123]3820x62,0xd4,0x6c,0x18,0x44,0x4c,0x80,0x7b383 384# ATT: cmoveq 123(%r8,%rax,4), %r9, %r15385# INTEL: cmove r15, r9, qword ptr [r8 + 4*rax + 123]3860x62,0x54,0x84,0x18,0x44,0x4c,0x80,0x7b387