1 # RUN: llvm-mc --disassemble %s -triple=mips-unknown-linux -mcpu=mips32r6 -mattr=micromips -mattr=+dspr2 | FileCheck %s 2 3 0x00 0x64 0x11 0x3c # CHECK: absq_s.ph $3, $4 4 0x00 0x64 0x01 0x3c # CHECK: absq_s.qb $3, $4 5 0x00 0x64 0x21 0x3c # CHECK: absq_s.w $3, $4 6 0x00 0xa4 0x19 0x0d # CHECK: addu.ph $3, $4, $5 7 0x00 0xa4 0x18 0xcd # CHECK: addu.qb $3, $4, $5 8 0x00 0xa4 0x1d 0x0d # CHECK: addu_s.ph $3, $4, $5 9 0x00 0xa4 0x1c 0xcd # CHECK: addu_s.qb $3, $4, $5 10 0x00 0xa4 0x19 0x4d # CHECK: adduh.qb $3, $4, $5 11 0x00 0xa4 0x1d 0x4d # CHECK: adduh_r.qb $3, $4, $5 12 0x00 0xa4 0x1b 0x85 # CHECK: addsc $3, $4, $5 13 0x00 0xa4 0x1b 0xc5 # CHECK: addwc $3, $4, $5 14 0x00 0xa4 0x18 0x0d # CHECK: addq.ph $3, $4, $5 15 0x00 0xa4 0x1c 0x0d # CHECK: addq_s.ph $3, $4, $5 16 0x00 0xa4 0x1b 0x05 # CHECK: addq_s.w $3, $4, $5 17 0x00 0xa4 0x18 0x4d # CHECK: addqh.ph $3, $4, $5 18 0x00 0xa4 0x18 0x8d # CHECK: addqh.w $3, $4, $5 19 0x00 0xa4 0x1c 0x4d # CHECK: addqh_r.ph $3, $4, $5 20 0x00 0xa4 0x1c 0x8d # CHECK: addqh_r.w $3, $4, $5 21 0x00 0x43 0x00 0xbc # CHECK: dpa.w.ph $ac0, $3, $2 22 0x00 0x65 0x42 0xbc # CHECK: dpaq_s.w.ph $ac1, $5, $3 23 0x00 0x64 0x92 0xbc # CHECK: dpaq_sa.l.w $ac2, $4, $3 24 0x00 0xec 0xe2 0xbc # CHECK: dpaqx_s.w.ph $ac3, $12, $7 25 0x00 0xc5 0x32 0xbc # CHECK: dpaqx_sa.w.ph $ac0, $5, $6 26 0x00 0x83 0x60 0xbc # CHECK: dpau.h.qbl $ac1, $3, $4 27 0x02 0xb4 0xb0 0xbc # CHECK: dpau.h.qbr $ac2, $20, $21 28 0x00 0x22 0xd0 0xbc # CHECK: dpax.w.ph $ac3, $2, $1 29 0x00 0x06 0x66 0x7c # CHECK: extp $zero, $ac1, 6 30 0x00 0x42 0x76 0x7c # CHECK: extpdp $2, $ac1, 2 31 0x00 0x88 0xb8 0xbc # CHECK: extpdpv $4, $ac2, $8 32 0x01 0xe7 0xe8 0xbc # CHECK: extpv $15, $ac3, $7 33 0x03 0x7f 0xce 0x7c # CHECK: extr.w $27, $ac3, 31 34 0x01 0x98 0x1e 0x7c # CHECK: extr_r.w $12, $ac0, 24 35 0x03 0x69 0xee 0x7c # CHECK: extr_rs.w $27, $ac3, 9 36 0x00 0x61 0xbe 0x7c # CHECK: extr_s.h $3, $ac2, 1 37 0x00 0xa6 0x0e 0xbc # CHECK: extrv.w $5, $ac0, $6 38 0x01 0x43 0x1e 0xbc # CHECK: extrv_r.w $10, $ac0, $3 39 0x01 0xf4 0x6e 0xbc # CHECK: extrv_rs.w $15, $ac1, $20 40 0x01 0x10 0xbe 0xbc # CHECK: extrv_s.h $8, $ac2, $16 41 0x00 0x64 0x41 0x3c # CHECK: insv $3, $4 42 0x00 0xe6 0x4a 0xbc # CHECK: madd $ac1, $6, $7 43 0x01 0x28 0x1a 0xbc # CHECK: maddu $ac0, $8, $9 44 0x01 0x6a 0xea 0xbc # CHECK: msub $ac3, $10, $11 45 0x01 0xac 0xba 0xbc # CHECK: msubu $ac2, $12, $13 46 0x00 0x62 0xcc 0xbc # CHECK: mult $ac3, $2, $3 47 0x00 0xa4 0x9c 0xbc # CHECK: multu $ac2, $4, $5 48 0x00 0xa4 0x19 0xad # CHECK: packrl.ph $3, $4, $5 49 0x00 0xa4 0x1a 0x2d # CHECK: pick.ph $3, $4, $5 50 0x00 0xa4 0x19 0xed # CHECK: pick.qb $3, $4, $5 51 0x00 0x22 0x51 0x3c # CHECK: preceq.w.phl $1, $2 52 0x00 0x64 0x61 0x3c # CHECK: preceq.w.phr $3, $4 53 0x00 0xa6 0x71 0x3c # CHECK: precequ.ph.qbl $5, $6 54 0x00 0xe8 0x73 0x3c # CHECK: precequ.ph.qbla $7, $8 55 0x01 0x2a 0x91 0x3c # CHECK: precequ.ph.qbr $9, $10 56 0x01 0x6c 0x93 0x3c # CHECK: precequ.ph.qbra $11, $12 57 0x01 0xae 0xb1 0x3c # CHECK: preceu.ph.qbl $13, $14 58 0x01 0xf0 0xb3 0x3c # CHECK: preceu.ph.qbla $15, $16 59 0x02 0x32 0xd1 0x3c # CHECK: preceu.ph.qbr $17, $18 60 0x02 0x74 0xd3 0x3c # CHECK: preceu.ph.qbra $19, $20 61 0x00 0x62 0x08 0x6d # CHECK: precr.qb.ph $1, $2, $3 62 0x00 0x85 0x0b 0xcd # CHECK: precr_sra.ph.w $4, $5, 1 63 0x00 0xc7 0x17 0xcd # CHECK: precr_sra_r.ph.w $6, $7, 2 64 0x01 0x49 0x40 0xed # CHECK: precrq.ph.w $8, $9, $10 65 0x01 0xac 0x58 0xad # CHECK: precrq.qb.ph $11, $12, $13 66 0x02 0x0f 0x71 0x6d # CHECK: precrqu_s.qb.ph $14, $15, $16 67 0x02 0x72 0x89 0x2d # CHECK: precrq_rs.ph.w $17, $18, $19 68 0x00 0x03 0x40 0x1d # CHECK: shilo $ac1, 3 69 0x00 0x05 0x52 0x7c # CHECK: shilov $ac1, $5 70 0x00 0x64 0x53 0xb5 # CHECK: shll.ph $3, $4, 5 71 0x00 0x64 0x5b 0xb5 # CHECK: shll_s.ph $3, $4, 5 72 0x00 0x64 0xa8 0x7c # CHECK: shll.qb $3, $4, 5 73 0x00 0x85 0x18 0x0e # CHECK: shllv.ph $3, $4, $5 74 0x00 0x85 0x1c 0x0e # CHECK: shllv_s.ph $3, $4, $5 75 0x00 0x85 0x1b 0x95 # CHECK: shllv.qb $3, $4, $5 76 0x00 0x85 0x1b 0xd5 # CHECK: shllv_s.w $3, $4, $5 77 0x00 0x64 0x2b 0xf5 # CHECK: shll_s.w $3, $4, 5 78 0x00 0x64 0x53 0x35 # CHECK: shra.ph $3, $4, 5 79 0x00 0x64 0xa1 0xfc # CHECK: shra.qb $3, $4, 5 80 0x00 0x64 0x57 0x35 # CHECK: shra_r.ph $3, $4, 5 81 0x00 0x64 0xb1 0xfc # CHECK: shra_r.qb $3, $4, 5 82 0x00 0x85 0x19 0x8d # CHECK: shrav.ph $3, $4, $5 83 0x00 0x85 0x19 0xcd # CHECK: shrav.qb $3, $4, $5 84 0x00 0x85 0x1d 0x8d # CHECK: shrav_r.ph $3, $4, $5 85 0x00 0x85 0x1d 0xcd # CHECK: shrav_r.qb $3, $4, $5 86 0x00 0x85 0x1a 0xd5 # CHECK: shrav_r.w $3, $4, $5 87 0x00 0x64 0x2a 0xf5 # CHECK: shra_r.w $3, $4, 5 88 0x00 0x64 0x53 0xfc # CHECK: shrl.ph $3, $4, 5 89 0x00 0x64 0xb8 0x7c # CHECK: shrl.qb $3, $4, 5 90 0x00 0x85 0x1b 0x15 # CHECK: shrlv.ph $3, $4, $5 91 0x00 0x85 0x1b 0x55 # CHECK: shrlv.qb $3, $4, $5 92 0x00 0xa4 0x1a 0x0d # CHECK: subq.ph $3, $4, $5 93 0x00 0xa4 0x1e 0x0d # CHECK: subq_s.ph $3, $4, $5 94 0x00 0xa4 0x1b 0x45 # CHECK: subq_s.w $3, $4, $5 95 0x00 0xa4 0x1a 0x4d # CHECK: subqh.ph $3, $4, $5 96 0x00 0xa4 0x1e 0x4d # CHECK: subqh_r.ph $3, $4, $5 97 0x00 0xa4 0x1a 0x8d # CHECK: subqh.w $3, $4, $5 98 0x00 0xa4 0x1e 0x8d # CHECK: subqh_r.w $3, $4, $5 99 0x00 0xa4 0x1b 0x0d # CHECK: subu.ph $3, $4, $5 100 0x00 0xa4 0x1f 0x0d # CHECK: subu_s.ph $3, $4, $5 101 0x00 0xa4 0x1a 0xcd # CHECK: subu.qb $3, $4, $5 102 0x00 0xa4 0x1e 0xcd # CHECK: subu_s.qb $3, $4, $5 103 0x00 0xa4 0x1b 0x4d # CHECK: subuh.qb $3, $4, $5 104 0x00 0xa4 0x1f 0x4d # CHECK: subuh_r.qb $3, $4, $5 105 0x00 0xc4 0x46 0xbc # CHECK: dpsq_s.w.ph $ac1, $4, $6 106 0x00 0xc4 0x56 0xbc # CHECK: dpsq_sa.l.w $ac1, $4, $6 107 0x00 0xc4 0x64 0xbc # CHECK: dpsu.h.qbl $ac1, $4, $6 108 0x00 0xc4 0x74 0xbc # CHECK: dpsu.h.qbr $ac1, $4, $6 109 0x00 0xc4 0x44 0xbc # CHECK: dps.w.ph $ac1, $4, $6 110 0x00 0xc4 0x66 0xbc # CHECK: dpsqx_s.w.ph $ac1, $4, $6 111 0x00 0xc4 0x76 0xbc # CHECK: dpsqx_sa.w.ph $ac1, $4, $6 112 0x00 0xc4 0x54 0xbc # CHECK: dpsx.w.ph $ac1, $4, $6 113 0x00 0x62 0x08 0x2d # CHECK: mul.ph $1, $2, $3 114 0x00 0x62 0x0c 0x2d # CHECK: mul_s.ph $1, $2, $3 115 0x00 0x62 0x09 0x95 # CHECK: mulq_rs.w $1, $2, $3 116 0x00 0x62 0x09 0x55 # CHECK: mulq_s.ph $1, $2, $3 117 0x00 0x62 0x09 0xd5 # CHECK: mulq_s.w $1, $2, $3 118 0x00 0x62 0x08 0x25 # CHECK: muleq_s.w.phl $1, $2, $3 119 0x00 0x62 0x08 0x65 # CHECK: muleq_s.w.phr $1, $2, $3 120 0x00 0x62 0x08 0x95 # CHECK: muleu_s.ph.qbl $1, $2, $3 121 0x00 0x62 0x08 0xd5 # CHECK: muleu_s.ph.qbr $1, $2, $3 122 0x00,0x62,0x09,0x15 # CHECK: mulq_rs.ph $1, $2, $3 123 0x00 0x22 0x1a 0x55 # CHECK: prepend $1, $2, 3 124 0x00 0xa7 0xd6 0x7c # CHECK: wrdsp $5 125 0x00 0xa0 0x96 0x7c # CHECK: wrdsp $5, 2 126 0x00 0x64 0x2a 0x15 # CHECK: append $3, $4, 5 127 0x00 0x43 0x2c 0xbc # CHECK: mulsa.w.ph $ac0, $3, $2 128 0x00 0x43 0xc8 0xbc # CHECK: balign $2, $3, 3 129 0x00 0x43 0x31 0x3c # CHECK: bitrev $2, $3 130 0x00 0x62 0x00 0x05 # CHECK: cmp.eq.ph $2, $3 131 0x00 0x62 0x00 0x85 # CHECK: cmp.le.ph $2, $3 132 0x00 0x62 0x00 0x45 # CHECK: cmp.lt.ph $2, $3 133 0x00 0x62 0x09 0x85 # CHECK: cmpgdu.eq.qb $1, $2, $3 134 0x00 0x62 0x09 0xc5 # CHECK: cmpgdu.lt.qb $1, $2, $3 135 0x00 0x62 0x0a 0x05 # CHECK: cmpgdu.le.qb $1, $2, $3 136 0x58 0x62 0x08 0xc5 # CHECK: cmpgu.eq.qb $1, $2, $3 137 0x58 0x62 0x09 0x05 # CHECK: cmpgu.lt.qb $1, $2, $3 138 0x58 0x62 0x09 0x45 # CHECK: cmpgu.le.qb $1, $2, $3 139 0x00 0x41 0x02 0x45 # CHECK: cmpu.eq.qb $1, $2 140 0x00 0x41 0x02 0x85 # CHECK: cmpu.lt.qb $1, $2 141 0x00 0x41 0x02 0xc5 # CHECK: cmpu.le.qb $1, $2 142