232 lines · plain
1# RUN: llvm-mc -triple x86_64 -show-encoding %s | FileCheck %s2 3## MRMDestMem4 5# CHECK: vextractf32x4 $1, %zmm0, (%r16,%r17)6# CHECK: encoding: [0x62,0xfb,0x79,0x48,0x19,0x04,0x08,0x01]7 vextractf32x4 $1, %zmm0, (%r16,%r17)8 9# CHECK: addq %r16, 123(%r17), %r1810# CHECK: encoding: [0x62,0xec,0xec,0x10,0x01,0x41,0x7b]11 addq %r16, 123(%r17), %r1812 13## MRMDestMemCC14 15# CHECK: cfcmovbq %r16, 123(%r17,%r18,4)16# CHECK: encoding: [0x62,0xec,0xf8,0x0c,0x42,0x44,0x91,0x7b]17 cfcmovbq %r16, 123(%r17,%r18,4)18 19## MRMSrcMem20 21# CHECK: vbroadcasti32x4 (%r16,%r17), %zmm022# CHECK: encoding: [0x62,0xfa,0x79,0x48,0x5a,0x04,0x08]23 vbroadcasti32x4 (%r16,%r17), %zmm024 25# CHECK: subq 123(%r16), %r17, %r1826# CHECK: encoding: [0x62,0xec,0xec,0x10,0x2b,0x48,0x7b]27 subq 123(%r16), %r17, %r1828 29## MRMSrcMemCC30 31# CHECK: cfcmovbq 123(%r16,%r17,4), %r1832# CHECK: encoding: [0x62,0xec,0xf8,0x08,0x42,0x54,0x88,0x7b]33 cfcmovbq 123(%r16,%r17,4), %r1834 35# CHECK: cfcmovbq 123(%r16,%r17,4), %r18, %r1936# CHECK: encoding: [0x62,0xec,0xe0,0x14,0x42,0x54,0x88,0x7b]37 cfcmovbq 123(%r16,%r17,4), %r18, %r1938 39## MRM0m40 41# CHECK: vprorq $0, (%r16,%r17), %zmm042# CHECK: encoding: [0x62,0xf9,0xf9,0x48,0x72,0x04,0x08,0x00]43 vprorq $0, (%r16,%r17), %zmm044 45# CHECK: addq $127, 123(%r16), %r1746# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x40,0x7b,0x7f]47 addq $127, 123(%r16), %r1748 49## MRM1m50 51# CHECK: vprolq $0, (%r16,%r17), %zmm052# CHECK: encoding: [0x62,0xf9,0xf9,0x48,0x72,0x0c,0x08,0x00]53 vprolq $0, (%r16,%r17), %zmm054 55# CHECK: orq $127, 123(%r16), %r1756# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x48,0x7b,0x7f]57 orq $127, 123(%r16), %r1758 59## MRM2m60 61# CHECK: vpsrlq $0, (%r16,%r17), %zmm062# CHECK: encoding: [0x62,0xf9,0xf9,0x48,0x73,0x14,0x08,0x00]63 vpsrlq $0, (%r16,%r17), %zmm064 65# CHECK: adcq $127, 123(%r16), %r1766# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x50,0x7b,0x7f]67 adcq $127, 123(%r16), %r1768 69## MRM3m70 71# CHECK: vpsrldq $0, (%r16,%r17), %zmm072# CHECK: encoding: [0x62,0xf9,0x79,0x48,0x73,0x1c,0x08,0x00]73 vpsrldq $0, (%r16,%r17), %zmm074 75# CHECK: sbbq $127, 123(%r16), %r1776# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x58,0x7b,0x7f]77 sbbq $127, 123(%r16), %r1778 79## MRM4m80 81# CHECK: vpsraq $0, (%r16,%r17), %zmm082# CHECK: encoding: [0x62,0xf9,0xf9,0x48,0x72,0x24,0x08,0x00]83 vpsraq $0, (%r16,%r17), %zmm084 85# CHECK: andq $127, 123(%r16), %r1786# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x60,0x7b,0x7f]87 andq $127, 123(%r16), %r1788 89## MRM5m90 91# CHECK: vscatterpf0dps (%r16,%zmm0) {%k1}92# CHECK: encoding: [0x62,0xfa,0x7d,0x49,0xc6,0x2c,0x00]93 vscatterpf0dps (%r16,%zmm0) {%k1}94 95# CHECK: subq $127, 123(%r16), %r1796# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x68,0x7b,0x7f]97 subq $127, 123(%r16), %r1798 99## MRM6m100 101# CHECK: vpsllq $0, (%r16,%r17), %zmm0102# CHECK: encoding: [0x62,0xf9,0xf9,0x48,0x73,0x34,0x08,0x00]103 vpsllq $0, (%r16,%r17), %zmm0104 105# CHECK: xorq $127, 123(%r16), %r17106# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0x70,0x7b,0x7f]107 xorq $127, 123(%r16), %r17108 109## MRM7m110 111# CHECK: vpslldq $0, (%r16,%r17), %zmm0112# CHECK: encoding: [0x62,0xf9,0x79,0x48,0x73,0x3c,0x08,0x00]113 vpslldq $0, (%r16,%r17), %zmm0114 115# CHECK: sarq $123, 291(%r16,%r17), %r18116# CHECK: encoding: [0x62,0xfc,0xe8,0x10,0xc1,0xbc,0x08,0x23,0x01,0x00,0x00,0x7b]117 sarq $123, 291(%r16,%r17), %r18118 119## MRMDestMem4VOp3CC120 121# CHECK: cmpbexadd %r18d, %r22d, 291(%r28,%r29,4)122# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe6,0xb4,0xac,0x23,0x01,0x00,0x00]123 cmpbexadd %r18d, %r22d, 291(%r28,%r29,4)124 125## MRMSrcMem4VOp3126 127# CHECK: bzhiq %r19, 291(%r28,%r29,4), %r23128# CHECK: encoding: [0x62,0x8a,0xe0,0x00,0xf5,0xbc,0xac,0x23,0x01,0x00,0x00]129 bzhiq %r19, 291(%r28,%r29,4), %r23130 131## MRMDestReg132 133# CHECK: vextractps $1, %xmm16, %r16d134# CHECK: encoding: [0x62,0xeb,0x7d,0x08,0x17,0xc0,0x01]135 vextractps $1, %xmm16, %r16d136 137# CHECK: {nf} addq %r16, %r17138# CHECK: encoding: [0x62,0xec,0xfc,0x0c,0x01,0xc1]139 {nf} addq %r16, %r17140 141## MRMDestRegCC142 143# CHECK: cfcmovbq %r16, %r17144# CHECK: encoding: [0x62,0xec,0xfc,0x0c,0x42,0xc1]145 cfcmovbq %r16, %r17146 147## MRMSrcReg148 149# CHECK: mulxq %r16, %r17, %r18150# CHECK: encoding: [0x62,0xea,0xf7,0x00,0xf6,0xd0]151 mulxq %r16, %r17, %r18152 153## MRMSrcRegCC154 155# CHECK: cfcmovbq %r16, %r17, %r18156# CHECK: encoding: [0x62,0xec,0xec,0x14,0x42,0xc8]157 cfcmovbq %r16, %r17, %r18158 159## MRMSrcReg4VOp3160 161# CHECK: bzhiq %r19, %r23, %r27162# CHECK: encoding: [0x62,0x6a,0xe4,0x00,0xf5,0xdf]163 bzhiq %r19, %r23, %r27164 165## MRM0r166 167# CHECK: addq $127, %r16, %r17168# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xc0,0x7f]169 addq $127, %r16, %r17170 171## MRM1r172 173# CHECK: orq $127, %r16, %r17174# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xc8,0x7f]175 orq $127, %r16, %r17176 177## MRM2r178 179# CHECK: adcq $127, %r16, %r17180# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xd0,0x7f]181 adcq $127, %r16, %r17182 183## MRM3r184 185# CHECK: sbbq $127, %r16, %r17186# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xd8,0x7f]187 sbbq $127, %r16, %r17188 189## MRM4r190 191# CHECK: andq $127, %r16, %r17192# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xe0,0x7f]193 andq $127, %r16, %r17194 195## MRM5r196 197# CHECK: subq $127, %r16, %r17198# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xe8,0x7f]199 subq $127, %r16, %r17200 201## MRM6r202 203# CHECK: xorq $127, %r16, %r17204# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0x83,0xf0,0x7f]205 xorq $127, %r16, %r17206 207## MRM7r208 209# CHECK: sarq $123, %r16, %r17210# CHECK: encoding: [0x62,0xfc,0xf4,0x10,0xc1,0xf8,0x7b]211 sarq $123, %r16, %r17212 213## MRMXrCC214# CHECK: setzuo %r16b215# CHECK: encoding: [0x62,0xfc,0x7f,0x18,0x40,0xc0]216 setzuo %r16b217 218## MRMXmCC219# CHECK: setzuo (%r16,%r17)220# CHECK: encoding: [0x62,0xfc,0x7b,0x18,0x40,0x04,0x08]221 setzuo (%r16,%r17)222 223## NoCD8224 225# CHECK: {nf} negq 123(%r16)226# CHECK: encoding: [0x62,0xfc,0xfc,0x0c,0xf7,0x58,0x7b]227 {nf} negq 123(%r16)228 229# CHECK: {evex} notq 123(%r16)230# CHECK: encoding: [0x62,0xfc,0xfc,0x08,0xf7,0x50,0x7b]231 {evex} notq 123(%r16)232