447 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## add5 6# ATT: {evex} addb %r17b, %r16b7# INTEL: {evex} add r16b, r17b80x62,0xec,0x7c,0x08,0x02,0xc19 10# ATT: {evex} addw %r17w, %r16w11# INTEL: {evex} add r16w, r17w120x62,0xec,0x7d,0x08,0x03,0xc113 14# ATT: {evex} addl %r17d, %r16d15# INTEL: {evex} add r16d, r17d160x62,0xec,0x7c,0x08,0x03,0xc117 18# ATT: {evex} addq %r17, %r1619# INTEL: {evex} add r16, r17200x62,0xec,0xfc,0x08,0x03,0xc121 22# ATT: addb %r17b, %r16b, %r18b23# INTEL: add r18b, r16b, r17b240x62,0xec,0x6c,0x10,0x02,0xc125 26# ATT: addw %r17w, %r16w, %r18w27# INTEL: add r18w, r16w, r17w280x62,0xec,0x6d,0x10,0x03,0xc129 30# ATT: addl %r17d, %r16d, %r18d31# INTEL: add r18d, r16d, r17d320x62,0xec,0x6c,0x10,0x03,0xc133 34# ATT: addq %r17, %r16, %r1835# INTEL: add r18, r16, r17360x62,0xec,0xec,0x10,0x03,0xc137 38# ATT: {nf} addb %r17b, %r16b39# INTEL: {nf} add r16b, r17b400x62,0xec,0x7c,0x0c,0x02,0xc141 42# ATT: {nf} addw %r17w, %r16w43# INTEL: {nf} add r16w, r17w440x62,0xec,0x7d,0x0c,0x03,0xc145 46# ATT: {nf} addl %r17d, %r16d47# INTEL: {nf} add r16d, r17d480x62,0xec,0x7c,0x0c,0x03,0xc149 50# ATT: {nf} addq %r17, %r1651# INTEL: {nf} add r16, r17520x62,0xec,0xfc,0x0c,0x03,0xc153 54# ATT: {nf} addb %r17b, %r16b, %r18b55# INTEL: {nf} add r18b, r16b, r17b560x62,0xec,0x6c,0x14,0x02,0xc157 58# ATT: {nf} addw %r17w, %r16w, %r18w59# INTEL: {nf} add r18w, r16w, r17w600x62,0xec,0x6d,0x14,0x03,0xc161 62# ATT: {nf} addl %r17d, %r16d, %r18d63# INTEL: {nf} add r18d, r16d, r17d640x62,0xec,0x6c,0x14,0x03,0xc165 66# ATT: {nf} addq %r17, %r16, %r1867# INTEL: {nf} add r18, r16, r17680x62,0xec,0xec,0x14,0x03,0xc169 70## sub71 72# ATT: {evex} subb %r17b, %r16b73# INTEL: {evex} sub r16b, r17b740x62,0xec,0x7c,0x08,0x2a,0xc175 76# ATT: {evex} subw %r17w, %r16w77# INTEL: {evex} sub r16w, r17w780x62,0xec,0x7d,0x08,0x2b,0xc179 80# ATT: {evex} subl %r17d, %r16d81# INTEL: {evex} sub r16d, r17d820x62,0xec,0x7c,0x08,0x2b,0xc183 84# ATT: {evex} subq %r17, %r1685# INTEL: {evex} sub r16, r17860x62,0xec,0xfc,0x08,0x2b,0xc187 88# ATT: subb %r17b, %r16b, %r18b89# INTEL: sub r18b, r16b, r17b900x62,0xec,0x6c,0x10,0x2a,0xc191 92# ATT: subw %r17w, %r16w, %r18w93# INTEL: sub r18w, r16w, r17w940x62,0xec,0x6d,0x10,0x2b,0xc195 96# ATT: subl %r17d, %r16d, %r18d97# INTEL: sub r18d, r16d, r17d980x62,0xec,0x6c,0x10,0x2b,0xc199 100# ATT: subq %r17, %r16, %r18101# INTEL: sub r18, r16, r171020x62,0xec,0xec,0x10,0x2b,0xc1103 104# ATT: {nf} subb %r17b, %r16b105# INTEL: {nf} sub r16b, r17b1060x62,0xec,0x7c,0x0c,0x2a,0xc1107 108# ATT: {nf} subw %r17w, %r16w109# INTEL: {nf} sub r16w, r17w1100x62,0xec,0x7d,0x0c,0x2b,0xc1111 112# ATT: {nf} subl %r17d, %r16d113# INTEL: {nf} sub r16d, r17d1140x62,0xec,0x7c,0x0c,0x2b,0xc1115 116# ATT: {nf} subq %r17, %r16117# INTEL: {nf} sub r16, r171180x62,0xec,0xfc,0x0c,0x2b,0xc1119 120# ATT: {nf} subb %r17b, %r16b, %r18b121# INTEL: {nf} sub r18b, r16b, r17b1220x62,0xec,0x6c,0x14,0x2a,0xc1123 124# ATT: {nf} subw %r17w, %r16w, %r18w125# INTEL: {nf} sub r18w, r16w, r17w1260x62,0xec,0x6d,0x14,0x2b,0xc1127 128# ATT: {nf} subl %r17d, %r16d, %r18d129# INTEL: {nf} sub r18d, r16d, r17d1300x62,0xec,0x6c,0x14,0x2b,0xc1131 132# ATT: {nf} subq %r17, %r16, %r18133# INTEL: {nf} sub r18, r16, r171340x62,0xec,0xec,0x14,0x2b,0xc1135 136## and137 138# ATT: {evex} andb %r17b, %r16b139# INTEL: {evex} and r16b, r17b1400x62,0xec,0x7c,0x08,0x22,0xc1141 142# ATT: {evex} andw %r17w, %r16w143# INTEL: {evex} and r16w, r17w1440x62,0xec,0x7d,0x08,0x23,0xc1145 146# ATT: {evex} andl %r17d, %r16d147# INTEL: {evex} and r16d, r17d1480x62,0xec,0x7c,0x08,0x23,0xc1149 150# ATT: {evex} andq %r17, %r16151# INTEL: {evex} and r16, r171520x62,0xec,0xfc,0x08,0x23,0xc1153 154# ATT: andb %r17b, %r16b, %r18b155# INTEL: and r18b, r16b, r17b1560x62,0xec,0x6c,0x10,0x22,0xc1157 158# ATT: andw %r17w, %r16w, %r18w159# INTEL: and r18w, r16w, r17w1600x62,0xec,0x6d,0x10,0x23,0xc1161 162# ATT: andl %r17d, %r16d, %r18d163# INTEL: and r18d, r16d, r17d1640x62,0xec,0x6c,0x10,0x23,0xc1165 166# ATT: andq %r17, %r16, %r18167# INTEL: and r18, r16, r171680x62,0xec,0xec,0x10,0x23,0xc1169 170# ATT: {nf} andb %r17b, %r16b171# INTEL: {nf} and r16b, r17b1720x62,0xec,0x7c,0x0c,0x22,0xc1173 174# ATT: {nf} andw %r17w, %r16w175# INTEL: {nf} and r16w, r17w1760x62,0xec,0x7d,0x0c,0x23,0xc1177 178# ATT: {nf} andl %r17d, %r16d179# INTEL: {nf} and r16d, r17d1800x62,0xec,0x7c,0x0c,0x23,0xc1181 182# ATT: {nf} andq %r17, %r16183# INTEL: {nf} and r16, r171840x62,0xec,0xfc,0x0c,0x23,0xc1185 186# ATT: {nf} andb %r17b, %r16b, %r18b187# INTEL: {nf} and r18b, r16b, r17b1880x62,0xec,0x6c,0x14,0x22,0xc1189 190# ATT: {nf} andw %r17w, %r16w, %r18w191# INTEL: {nf} and r18w, r16w, r17w1920x62,0xec,0x6d,0x14,0x23,0xc1193 194# ATT: {nf} andl %r17d, %r16d, %r18d195# INTEL: {nf} and r18d, r16d, r17d1960x62,0xec,0x6c,0x14,0x23,0xc1197 198# ATT: {nf} andq %r17, %r16, %r18199# INTEL: {nf} and r18, r16, r172000x62,0xec,0xec,0x14,0x23,0xc1201 202## or203 204# ATT: {evex} orb %r17b, %r16b205# INTEL: {evex} or r16b, r17b2060x62,0xec,0x7c,0x08,0x0a,0xc1207 208# ATT: {evex} orw %r17w, %r16w209# INTEL: {evex} or r16w, r17w2100x62,0xec,0x7d,0x08,0x0b,0xc1211 212# ATT: {evex} orl %r17d, %r16d213# INTEL: {evex} or r16d, r17d2140x62,0xec,0x7c,0x08,0x0b,0xc1215 216# ATT: {evex} orq %r17, %r16217# INTEL: {evex} or r16, r172180x62,0xec,0xfc,0x08,0x0b,0xc1219 220# ATT: orb %r17b, %r16b, %r18b221# INTEL: or r18b, r16b, r17b2220x62,0xec,0x6c,0x10,0x0a,0xc1223 224# ATT: orw %r17w, %r16w, %r18w225# INTEL: or r18w, r16w, r17w2260x62,0xec,0x6d,0x10,0x0b,0xc1227 228# ATT: orl %r17d, %r16d, %r18d229# INTEL: or r18d, r16d, r17d2300x62,0xec,0x6c,0x10,0x0b,0xc1231 232# ATT: orq %r17, %r16, %r18233# INTEL: or r18, r16, r172340x62,0xec,0xec,0x10,0x0b,0xc1235 236# ATT: {nf} orb %r17b, %r16b237# INTEL: {nf} or r16b, r17b2380x62,0xec,0x7c,0x0c,0x0a,0xc1239 240# ATT: {nf} orw %r17w, %r16w241# INTEL: {nf} or r16w, r17w2420x62,0xec,0x7d,0x0c,0x0b,0xc1243 244# ATT: {nf} orl %r17d, %r16d245# INTEL: {nf} or r16d, r17d2460x62,0xec,0x7c,0x0c,0x0b,0xc1247 248# ATT: {nf} orq %r17, %r16249# INTEL: {nf} or r16, r172500x62,0xec,0xfc,0x0c,0x0b,0xc1251 252# ATT: {nf} orb %r17b, %r16b, %r18b253# INTEL: {nf} or r18b, r16b, r17b2540x62,0xec,0x6c,0x14,0x0a,0xc1255 256# ATT: {nf} orw %r17w, %r16w, %r18w257# INTEL: {nf} or r18w, r16w, r17w2580x62,0xec,0x6d,0x14,0x0b,0xc1259 260# ATT: {nf} orl %r17d, %r16d, %r18d261# INTEL: {nf} or r18d, r16d, r17d2620x62,0xec,0x6c,0x14,0x0b,0xc1263 264# ATT: {nf} orq %r17, %r16, %r18265# INTEL: {nf} or r18, r16, r172660x62,0xec,0xec,0x14,0x0b,0xc1267 268## xor269 270# ATT: {evex} xorb %r17b, %r16b271# INTEL: {evex} xor r16b, r17b2720x62,0xec,0x7c,0x08,0x32,0xc1273 274# ATT: {evex} xorw %r17w, %r16w275# INTEL: {evex} xor r16w, r17w2760x62,0xec,0x7d,0x08,0x33,0xc1277 278# ATT: {evex} xorl %r17d, %r16d279# INTEL: {evex} xor r16d, r17d2800x62,0xec,0x7c,0x08,0x33,0xc1281 282# ATT: {evex} xorq %r17, %r16283# INTEL: {evex} xor r16, r172840x62,0xec,0xfc,0x08,0x33,0xc1285 286# ATT: xorb %r17b, %r16b, %r18b287# INTEL: xor r18b, r16b, r17b2880x62,0xec,0x6c,0x10,0x32,0xc1289 290# ATT: xorw %r17w, %r16w, %r18w291# INTEL: xor r18w, r16w, r17w2920x62,0xec,0x6d,0x10,0x33,0xc1293 294# ATT: xorl %r17d, %r16d, %r18d295# INTEL: xor r18d, r16d, r17d2960x62,0xec,0x6c,0x10,0x33,0xc1297 298# ATT: xorq %r17, %r16, %r18299# INTEL: xor r18, r16, r173000x62,0xec,0xec,0x10,0x33,0xc1301 302# ATT: {nf} xorb %r17b, %r16b303# INTEL: {nf} xor r16b, r17b3040x62,0xec,0x7c,0x0c,0x32,0xc1305 306# ATT: {nf} xorw %r17w, %r16w307# INTEL: {nf} xor r16w, r17w3080x62,0xec,0x7d,0x0c,0x33,0xc1309 310# ATT: {nf} xorl %r17d, %r16d311# INTEL: {nf} xor r16d, r17d3120x62,0xec,0x7c,0x0c,0x33,0xc1313 314# ATT: {nf} xorq %r17, %r16315# INTEL: {nf} xor r16, r173160x62,0xec,0xfc,0x0c,0x33,0xc1317 318# ATT: {nf} xorb %r17b, %r16b, %r18b319# INTEL: {nf} xor r18b, r16b, r17b3200x62,0xec,0x6c,0x14,0x32,0xc1321 322# ATT: {nf} xorw %r17w, %r16w, %r18w323# INTEL: {nf} xor r18w, r16w, r17w3240x62,0xec,0x6d,0x14,0x33,0xc1325 326# ATT: {nf} xorl %r17d, %r16d, %r18d327# INTEL: {nf} xor r18d, r16d, r17d3280x62,0xec,0x6c,0x14,0x33,0xc1329 330# ATT: {nf} xorq %r17, %r16, %r18331# INTEL: {nf} xor r18, r16, r173320x62,0xec,0xec,0x14,0x33,0xc1333 334## adc335 336# ATT: {evex} adcb %r17b, %r16b337# INTEL: {evex} adc r16b, r17b3380x62,0xec,0x7c,0x08,0x12,0xc1339 340# ATT: {evex} adcw %r17w, %r16w341# INTEL: {evex} adc r16w, r17w3420x62,0xec,0x7d,0x08,0x13,0xc1343 344# ATT: {evex} adcl %r17d, %r16d345# INTEL: {evex} adc r16d, r17d3460x62,0xec,0x7c,0x08,0x13,0xc1347 348# ATT: {evex} adcq %r17, %r16349# INTEL: {evex} adc r16, r173500x62,0xec,0xfc,0x08,0x13,0xc1351 352# ATT: adcb %r17b, %r16b, %r18b353# INTEL: adc r18b, r16b, r17b3540x62,0xec,0x6c,0x10,0x12,0xc1355 356# ATT: adcw %r17w, %r16w, %r18w357# INTEL: adc r18w, r16w, r17w3580x62,0xec,0x6d,0x10,0x13,0xc1359 360# ATT: adcl %r17d, %r16d, %r18d361# INTEL: adc r18d, r16d, r17d3620x62,0xec,0x6c,0x10,0x13,0xc1363 364# ATT: adcq %r17, %r16, %r18365# INTEL: adc r18, r16, r173660x62,0xec,0xec,0x10,0x13,0xc1367 368## sbb369 370# ATT: {evex} sbbb %r17b, %r16b371# INTEL: {evex} sbb r16b, r17b3720x62,0xec,0x7c,0x08,0x1a,0xc1373 374# ATT: {evex} sbbw %r17w, %r16w375# INTEL: {evex} sbb r16w, r17w3760x62,0xec,0x7d,0x08,0x1b,0xc1377 378# ATT: {evex} sbbl %r17d, %r16d379# INTEL: {evex} sbb r16d, r17d3800x62,0xec,0x7c,0x08,0x1b,0xc1381 382# ATT: {evex} sbbq %r17, %r16383# INTEL: {evex} sbb r16, r173840x62,0xec,0xfc,0x08,0x1b,0xc1385 386# ATT: sbbb %r17b, %r16b, %r18b387# INTEL: sbb r18b, r16b, r17b3880x62,0xec,0x6c,0x10,0x1a,0xc1389 390# ATT: sbbw %r17w, %r16w, %r18w391# INTEL: sbb r18w, r16w, r17w3920x62,0xec,0x6d,0x10,0x1b,0xc1393 394# ATT: sbbl %r17d, %r16d, %r18d395# INTEL: sbb r18d, r16d, r17d3960x62,0xec,0x6c,0x10,0x1b,0xc1397 398# ATT: sbbq %r17, %r16, %r18399# INTEL: sbb r18, r16, r174000x62,0xec,0xec,0x10,0x1b,0xc1401 402## movbe403 404# ATT: movbew %r16w, %r17w405# INTEL: movbe r17w, r16w4060x62,0xec,0x7d,0x08,0x60,0xc8407 408# ATT: movbel %r16d, %r17d409# INTEL: movbe r17d, r16d4100x62,0xec,0x7c,0x08,0x60,0xc8411 412# ATT: movbeq %r16, %r17413# INTEL: movbe r17, r164140x62,0xec,0xfc,0x08,0x60,0xc8415 416## ccmp417 418# ATT: ccmpob {dfv=} %r16b, %r17b419# INTEL: ccmpo {dfv=} r17b, r16b4200x62,0xec,0x04,0x00,0x3a,0xc8421 422# ATT: ccmpow {dfv=} %r16w, %r17w423# INTEL: ccmpo {dfv=} r17w, r16w4240x62,0xec,0x05,0x00,0x3b,0xc8425 426# ATT: ccmpol {dfv=} %r16d, %r17d427# INTEL: ccmpo {dfv=} r17d, r16d4280x62,0xec,0x04,0x00,0x3b,0xc8429 430# ATT: ccmpoq {dfv=} %r16, %r17431# INTEL: ccmpo {dfv=} r17, r164320x62,0xec,0x84,0x00,0x3b,0xc8433 434## cfcmov435 436# ATT: cfcmovbew %r16w, %r17w437# INTEL: cfcmovbe r17w, r16w4380x62,0xec,0x7d,0x08,0x46,0xc8439 440# ATT: cfcmovbel %r16d, %r17d441# INTEL: cfcmovbe r17d, r16d4420x62,0xec,0x7c,0x08,0x46,0xc8443 444# ATT: cfcmovbeq %r16, %r17445# INTEL: cfcmovbe r17, r164460x62,0xec,0xfc,0x08,0x46,0xc8447