237 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## MRMDestMem5 6# ATT: vextractf32x4 $1, %zmm0, (%r16,%r17)7# INTEL: vextractf32x4 xmmword ptr [r16 + r17], zmm0, 180x62,0xfb,0x79,0x48,0x19,0x04,0x08,0x019 10# ATT: addq %r16, 123(%r17), %r1811# INTEL: add r18, qword ptr [r17 + 123], r16120x62,0xec,0xec,0x10,0x01,0x41,0x7b13 14## MRMDestMemCC15 16# ATT: cfcmovbq %r16, 123(%r17,%r18,4)17# INTEL: cfcmovb qword ptr [r17 + 4*r18 + 123], r16180x62,0xec,0xf8,0x0c,0x42,0x44,0x91,0x7b19 20## MRMSrcMem21 22# ATT: vbroadcasti32x4 (%r16,%r17), %zmm023# INTEL: vbroadcasti32x4 zmm0, xmmword ptr [r16 + r17]240x62,0xfa,0x79,0x48,0x5a,0x04,0x0825 26# ATT: subq 123(%r16), %r17, %r1827# INTEL: sub r18, r17, qword ptr [r16 + 123]280x62,0xec,0xec,0x10,0x2b,0x48,0x7b29 30## MRMSrcMemCC31 32# ATT: cfcmovbq 123(%r16,%r17,4), %r1833# INTEL: cfcmovb r18, qword ptr [r16 + 4*r17 + 123]340x62,0xec,0xf8,0x08,0x42,0x54,0x88,0x7b35 36# ATT: cfcmovbq 123(%r16,%r17,4), %r18, %r1937# INTEL: cfcmovb r19, r18, qword ptr [r16 + 4*r17 + 123]380x62,0xec,0xe0,0x14,0x42,0x54,0x88,0x7b39 40## MRM0m41 42# ATT: vprorq $0, (%r16,%r17), %zmm043# INTEL: vprorq zmm0, zmmword ptr [r16 + r17], 0440x62,0xf9,0xf9,0x48,0x72,0x04,0x08,0x0045 46# ATT: addq $127, 123(%r16), %r1747# INTEL: add r17, qword ptr [r16 + 123], 127480x62,0xfc,0xf4,0x10,0x83,0x40,0x7b,0x7f49 50## MRM1m51 52# ATT: vprolq $0, (%r16,%r17), %zmm053# INTEL: vprolq zmm0, zmmword ptr [r16 + r17], 0540x62,0xf9,0xf9,0x48,0x72,0x0c,0x08,0x0055 56# ATT: orq $127, 123(%r16), %r1757# INTEL: or r17, qword ptr [r16 + 123], 127580x62,0xfc,0xf4,0x10,0x83,0x48,0x7b,0x7f59 60## MRM2m61 62# ATT: vpsrlq $0, (%r16,%r17), %zmm063# INTEL: vpsrlq zmm0, zmmword ptr [r16 + r17], 0640x62,0xf9,0xf9,0x48,0x73,0x14,0x08,0x0065 66# ATT: adcq $127, 123(%r16), %r1767# INTEL: adc r17, qword ptr [r16 + 123], 127680x62,0xfc,0xf4,0x10,0x83,0x50,0x7b,0x7f69 70## MRM3m71 72# ATT: vpsrldq $0, (%r16,%r17), %zmm073# INTEL: vpsrldq zmm0, zmmword ptr [r16 + r17], 0740x62,0xf9,0x79,0x48,0x73,0x1c,0x08,0x0075 76# ATT: sbbq $127, 123(%r16), %r1777# INTEL: sbb r17, qword ptr [r16 + 123], 127780x62,0xfc,0xf4,0x10,0x83,0x58,0x7b,0x7f79 80## MRM4m81 82# ATT: vpsraq $0, (%r16,%r17), %zmm083# INTEL: vpsraq zmm0, zmmword ptr [r16 + r17], 0840x62,0xf9,0xf9,0x48,0x72,0x24,0x08,0x0085 86# ATT: andq $127, 123(%r16), %r1787# INTEL: and r17, qword ptr [r16 + 123], 127880x62,0xfc,0xf4,0x10,0x83,0x60,0x7b,0x7f89 90## MRM5m91 92# ATT: vscatterpf0dps (%r16,%zmm0) {%k1}93# INTEL: vscatterpf0dps {k1}, dword ptr [r16 + zmm0]940x62,0xfa,0x7d,0x49,0xc6,0x2c,0x0095 96# ATT: subq $127, 123(%r16), %r1797# INTEL: sub r17, qword ptr [r16 + 123], 127980x62,0xfc,0xf4,0x10,0x83,0x68,0x7b,0x7f99 100## MRM6m101 102# ATT: vpsllq $0, (%r16,%r17), %zmm0103# INTEL: vpsllq zmm0, zmmword ptr [r16 + r17], 01040x62,0xf9,0xf9,0x48,0x73,0x34,0x08,0x00105 106# ATT: xorq $127, 123(%r16), %r17107# INTEL: xor r17, qword ptr [r16 + 123], 1271080x62,0xfc,0xf4,0x10,0x83,0x70,0x7b,0x7f109 110## MRM7m111 112# ATT: vpslldq $0, (%r16,%r17), %zmm0113# INTEL: vpslldq zmm0, zmmword ptr [r16 + r17], 01140x62,0xf9,0x79,0x48,0x73,0x3c,0x08,0x00115 116# ATT: sarq $123, 291(%r16,%r17), %r18117# INTEL: sar r18, qword ptr [r16 + r17 + 291], 1231180x62,0xfc,0xe8,0x10,0xc1,0xbc,0x08,0x23,0x01,0x00,0x00,0x7b119 120## MRMDestMem4VOp3CC121 122# ATT: cmpbexadd %r18d, %r22d, 291(%r28,%r29,4)123# INTEL: cmpbexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d1240x62,0x8a,0x69,0x00,0xe6,0xb4,0xac,0x23,0x01,0x00,0x00125 126## MRMSrcMem4VOp3127 128# ATT: bzhiq %r19, 291(%r28,%r29,4), %r23129# INTEL: bzhi r23, qword ptr [r28 + 4*r29 + 291], r191300x62,0x8a,0xe0,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00131 132## MRMDestReg133 134# ATT: vextractps $1, %xmm16, %r16d135# INTEL: vextractps r16d, xmm16, 11360x62,0xeb,0x7d,0x08,0x17,0xc0,0x01137 138# ATT: {nf} addq %r16, %r17139# INTEL: {nf} add r17, r161400x62,0xec,0xfc,0x0c,0x01,0xc1141 142## MRMDestRegCC143 144# ATT: cfcmovbq %r16, %r17145# INTEL: cfcmovb r17, r161460x62,0xec,0xfc,0x0c,0x42,0xc1147 148## MRMSrcReg149 150# ATT: mulxq %r16, %r17, %r18151# INTEL: mulx r18, r17, r161520x62,0xea,0xf7,0x00,0xf6,0xd0153 154## MRMSrcRegCC155 156# ATT: cfcmovbq %r16, %r17, %r18157# INTEL: cfcmovb r18, r17, r161580x62,0xec,0xec,0x14,0x42,0xc8159 160# ATT: cfcmovlq %r16, %r17, %r18161# INTEL: cfcmovl r18, r17, r161620x62,0xec,0xec,0x14,0x4c,0xc8163 164## MRMSrcReg4VOp3165 166# ATT: bzhiq %r19, %r23, %r27167# INTEL: bzhi r27, r23, r191680x62,0x6a,0xe4,0x00,0xf5,0xdf169 170## MRM0r171 172# ATT: addq $127, %r16, %r17173# INTEL: add r17, r16, 1271740x62,0xfc,0xf4,0x10,0x83,0xc0,0x7f175 176## MRM1r177 178# ATT: orq $127, %r16, %r17179# INTEL: or r17, r16, 1271800x62,0xfc,0xf4,0x10,0x83,0xc8,0x7f181 182## MRM2r183 184# ATT: adcq $127, %r16, %r17185# INTEL: adc r17, r16, 1271860x62,0xfc,0xf4,0x10,0x83,0xd0,0x7f187 188## MRM3r189 190# ATT: sbbq $127, %r16, %r17191# INTEL: sbb r17, r16, 1271920x62,0xfc,0xf4,0x10,0x83,0xd8,0x7f193 194## MRM4r195 196# ATT: andq $127, %r16, %r17197# INTEL: and r17, r16, 1271980x62,0xfc,0xf4,0x10,0x83,0xe0,0x7f199 200## MRM5r201 202# ATT: subq $127, %r16, %r17203# INTEL: sub r17, r16, 1272040x62,0xfc,0xf4,0x10,0x83,0xe8,0x7f205 206## MRM6r207 208# ATT: xorq $127, %r16, %r17209# INTEL: xor r17, r16, 1272100x62,0xfc,0xf4,0x10,0x83,0xf0,0x7f211 212## MRM7r213 214# ATT: sarq $123, %r16, %r17215# INTEL: sar r17, r16, 1232160x62,0xfc,0xf4,0x10,0xc1,0xf8,0x7b217 218## MRMXrCC219# ATT: setzuo %r16b220# INTEL: setzuo r16b2210x62,0xfc,0x7f,0x18,0x40,0xc0222 223## MRMXmCC224# ATT: setzuo (%r16,%r17)225# INTEL: setzuo byte ptr [r16 + r17]2260x62,0xfc,0x7b,0x18,0x40,0x04,0x08227 228## NoCD8229 230# ATT: {nf} negq 123(%r16)231# INTEL: {nf} neg qword ptr [r16 + 123]2320x62,0xfc,0xfc,0x0c,0xf7,0x58,0x7b233 234# ATT: {evex} notq 123(%r16)235# INTEL: {evex} not qword ptr [r16 + 123]2360x62,0xfc,0xfc,0x08,0xf7,0x50,0x7b237