232 lines · plain
1# RUN: llvm-mc -triple x86_64 -show-encoding -x86-asm-syntax=intel -output-asm-variant=1 %s | FileCheck %s2 3## MRMDestMem4 5# CHECK: vextractf32x4 xmmword ptr [r16 + r17], zmm0, 16# CHECK: encoding: [0x62,0xfb,0x79,0x48,0x19,0x04,0x08,0x01]7 vextractf32x4 xmmword ptr [r16 + r17], zmm0, 18 9# CHECK: add r18, qword ptr [r17 + 123], r1610# CHECK: encoding: [0x62,0xec,0xec,0x10,0x01,0x41,0x7b]11 add r18, qword ptr [r17 + 123], r1612 13## MRMDestMemCC14 15# CHECK: cfcmovb qword ptr [r17 + 4*r18 + 123], r1616# CHECK: encoding: [0x62,0xec,0xf8,0x0c,0x42,0x44,0x91,0x7b]17 cfcmovb qword ptr [r17 + 4*r18 + 123], r1618 19## MRMSrcMem20 21# CHECK: vbroadcasti32x4 zmm0, xmmword ptr [r16 + r17]22# CHECK: encoding: [0x62,0xfa,0x79,0x48,0x5a,0x04,0x08]23 vbroadcasti32x4 zmm0, xmmword ptr [r16 + r17]24 25# CHECK: sub r18, r17, qword ptr [r16 + 123]26# CHECK: encoding: [0x62,0xec,0xec,0x10,0x2b,0x48,0x7b]27 sub r18, r17, qword ptr [r16 + 123]28 29## MRMSrcMemCC30 31# CHECK: cfcmovb r18, qword ptr [r16 + 4*r17 + 123]32# CHECK: encoding: [0x62,0xec,0xf8,0x08,0x42,0x54,0x88,0x7b]33 cfcmovb r18, qword ptr [r16 + 4*r17 + 123]34 35# CHECK: cfcmovb r19, r18, qword ptr [r16 + 4*r17 + 123]36# CHECK: encoding: [0x62,0xec,0xe0,0x14,0x42,0x54,0x88,0x7b]37 cfcmovb r19, r18, qword ptr [r16 + 4*r17 + 123]38 39## MRM0m40 41# CHECK: vprorq zmm0, zmmword ptr [r16 + r17], 042# CHECK: encoding: [0x62,0xf9,0xf9,0x48,0x72,0x04,0x08,0x00]43 vprorq zmm0, zmmword ptr [r16 + r17], 044 45# CHECK: add r17, qword ptr [r16 + 123], 12746# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x40,0x7b,0x7f]47 add r17, qword ptr [r16 + 123], 12748 49## MRM1m50 51# CHECK: vprolq zmm0, zmmword ptr [r16 + r17], 052# CHECK: encoding: [0x62,0xf9,0xf9,0x48,0x72,0x0c,0x08,0x00]53 vprolq zmm0, zmmword ptr [r16 + r17], 054 55# CHECK: or r17, qword ptr [r16 + 123], 12756# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x48,0x7b,0x7f]57 or r17, qword ptr [r16 + 123], 12758 59## MRM2m60 61# CHECK: vpsrlq zmm0, zmmword ptr [r16 + r17], 062# CHECK: encoding: [0x62,0xf9,0xf9,0x48,0x73,0x14,0x08,0x00]63 vpsrlq zmm0, zmmword ptr [r16 + r17], 064 65# CHECK: adc r17, qword ptr [r16 + 123], 12766# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x50,0x7b,0x7f]67 adc r17, qword ptr [r16 + 123], 12768 69## MRM3m70 71# CHECK: vpsrldq zmm0, zmmword ptr [r16 + r17], 072# CHECK: encoding: [0x62,0xf9,0x79,0x48,0x73,0x1c,0x08,0x00]73 vpsrldq zmm0, zmmword ptr [r16 + r17], 074 75# CHECK: sbb r17, qword ptr [r16 + 123], 12776# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x58,0x7b,0x7f]77 sbb r17, qword ptr [r16 + 123], 12778 79## MRM4m80 81# CHECK: vpsraq zmm0, zmmword ptr [r16 + r17], 082# CHECK: encoding: [0x62,0xf9,0xf9,0x48,0x72,0x24,0x08,0x00]83 vpsraq zmm0, zmmword ptr [r16 + r17], 084 85# CHECK: and r17, qword ptr [r16 + 123], 12786# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x60,0x7b,0x7f]87 and r17, qword ptr [r16 + 123], 12788 89## MRM5m90## AsmParser is buggy for this KNC instruction91# C;HECK: vscatterpf0dps {k1}, zmmword ptr [r16 + zmm0]92# C;HECK: encoding: [0x62,0xfa,0x7d,0x49,0xc6,0x2c,0x00]93# vscatterpf0dps {k1}, zmmword ptr [r16 + zmm0]94 95# CHECK: sub r17, qword ptr [r16 + 123], 12796# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x68,0x7b,0x7f]97 sub r17, qword ptr [r16 + 123], 12798 99## MRM6m100 101# CHECK: vpsllq zmm0, zmmword ptr [r16 + r17], 0102# CHECK: encoding: [0x62,0xf9,0xf9,0x48,0x73,0x34,0x08,0x00]103 vpsllq zmm0, zmmword ptr [r16 + r17], 0104 105# CHECK: xor r17, qword ptr [r16 + 123], 127106# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x70,0x7b,0x7f]107 xor r17, qword ptr [r16 + 123], 127108 109## MRM7m110 111# CHECK: vpslldq zmm0, zmmword ptr [r16 + r17], 0112# CHECK: encoding: [0x62,0xf9,0x79,0x48,0x73,0x3c,0x08,0x00]113 vpslldq zmm0, zmmword ptr [r16 + r17], 0114 115# CHECK: sar r18, qword ptr [r16 + r17 + 291], 123116# CHECK: encoding: [0x62,0xfc,0xe8,0x10,0xc1,0xbc,0x08,0x23,0x01,0x00,0x00,0x7b]117 sar r18, qword ptr [r16 + r17 + 291], 123118 119## MRMDestMem4VOp3CC120 121# CHECK: cmpbexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d122# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe6,0xb4,0xac,0x23,0x01,0x00,0x00]123 cmpbexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d124 125## MRMSrcMem4VOp3126 127# CHECK: bzhi r23, qword ptr [r28 + 4*r29 + 291], r19128# CHECK: encoding: [0x62,0x8a,0xe0,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00]129 bzhi r23, qword ptr [r28 + 4*r29 + 291], r19130 131## MRMDestReg132 133# CHECK: vextractps r16d, xmm16, 1134# CHECK: encoding: [0x62,0xeb,0x7d,0x08,0x17,0xc0,0x01]135 vextractps r16d, xmm16, 1136 137# CHECK: {nf} add r17, r16138# CHECK: encoding: [0x62,0xec,0xfc,0x0c,0x01,0xc1]139 {nf} add r17, r16140 141## MRMDestRegCC142 143# CHECK: cfcmovb r17, r16144# CHECK: encoding: [0x62,0xec,0xfc,0x0c,0x42,0xc1]145 cfcmovb r17, r16146 147## MRMSrcReg148 149# CHECK: mulx r18, r17, r16150# CHECK: encoding: [0x62,0xea,0xf7,0x00,0xf6,0xd0]151 mulx r18, r17, r16152 153## MRMSrcRegCC154 155# CHECK: cfcmovb r18, r17, r16156# CHECK: encoding: [0x62,0xec,0xec,0x14,0x42,0xc8]157 cfcmovb r18, r17, r16158 159## MRMSrcReg4VOp3160 161# CHECK: bzhi r27, r23, r19162# CHECK: encoding: [0x62,0x6a,0xe4,0x00,0xf5,0xdf]163 bzhi r27, r23, r19164 165## MRM0r166 167# CHECK: add r17, r16, 127168# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xc0,0x7f]169 add r17, r16, 127170 171## MRM1r172 173# CHECK: or r17, r16, 127174# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xc8,0x7f]175 or r17, r16, 127176 177## MRM2r178 179# CHECK: adc r17, r16, 127180# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xd0,0x7f]181 adc r17, r16, 127182 183## MRM3r184 185# CHECK: sbb r17, r16, 127186# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xd8,0x7f]187 sbb r17, r16, 127188 189## MRM4r190 191# CHECK: and r17, r16, 127192# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xe0,0x7f]193 and r17, r16, 127194 195## MRM5r196 197# CHECK: sub r17, r16, 127198# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xe8,0x7f]199 sub r17, r16, 127200 201## MRM6r202 203# CHECK: xor r17, r16, 127204# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xf0,0x7f]205 xor r17, r16, 127206 207## MRM7r208 209# CHECK: sar r17, r16, 123210# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0xc1,0xf8,0x7b]211 sar r17, r16, 123212 213## MRMXrCC214# CHECK: setzuo r16b215# CHECK: encoding: [0x62,0xfc,0x7f,0x18,0x40,0xc0]216 setzuo r16b217 218## MRMXmCC219# CHECK: setzuo byte ptr [r16 + r17]220# CHECK: encoding: [0x62,0xfc,0x7b,0x18,0x40,0x04,0x08]221 setzuo byte ptr [r16 + r17]222 223## NoCD8224 225# CHECK: {nf} neg qword ptr [r16 + 123]226# CHECK: encoding: [0x62,0xfc,0xfc,0x0c,0xf7,0x58,0x7b]227 {nf} neg qword ptr [r16 + 123]228 229# CHECK: {evex} not qword ptr [r16 + 123]230# CHECK: encoding: [0x62,0xfc,0xfc,0x08,0xf7,0x50,0x7b]231 {evex} not qword ptr [r16 + 123]232