# RUN: llvm-mc --disassemble %s -triple=mips-unknown-linux -mcpu=mips32r6 -mattr=micromips -mattr=+dsp | FileCheck %s
0x00 0x64 0x11 0x3c # CHECK: absq_s.ph $3, $4
0x00 0x64 0x21 0x3c # CHECK: absq_s.w $3, $4
0x00 0xa4 0x18 0xcd # CHECK: addu.qb $3, $4, $5
0x00 0xa4 0x1c 0xcd # CHECK: addu_s.qb $3, $4, $5
0x00 0xa4 0x1b 0x85 # CHECK: addsc $3, $4, $5
0x00 0xa4 0x1b 0xc5 # CHECK: addwc $3, $4, $5
0x00 0xa4 0x18 0x0d # CHECK: addq.ph $3, $4, $5
0x00 0xa4 0x1c 0x0d # CHECK: addq_s.ph $3, $4, $5
0x00 0xa4 0x1b 0x05 # CHECK: addq_s.w $3, $4, $5
0x00 0x65 0x42 0xbc # CHECK: dpaq_s.w.ph $ac1, $5, $3
0x00 0x64 0x92 0xbc # CHECK: dpaq_sa.l.w $ac2, $4, $3
0x00 0x83 0x60 0xbc # CHECK: dpau.h.qbl $ac1, $3, $4
0x02 0xb4 0xb0 0xbc # CHECK: dpau.h.qbr $ac2, $20, $21
0x00 0x06 0x66 0x7c # CHECK: extp $zero, $ac1, 6
0x00 0x42 0x76 0x7c # CHECK: extpdp $2, $ac1, 2
0x00 0x88 0xb8 0xbc # CHECK: extpdpv $4, $ac2, $8
0x01 0xe7 0xe8 0xbc # CHECK: extpv $15, $ac3, $7
0x03 0x7f 0xce 0x7c # CHECK: extr.w $27, $ac3, 31
0x01 0x98 0x1e 0x7c # CHECK: extr_r.w $12, $ac0, 24
0x03 0x69 0xee 0x7c # CHECK: extr_rs.w $27, $ac3, 9
0x00 0x61 0xbe 0x7c # CHECK: extr_s.h $3, $ac2, 1
0x00 0xa6 0x0e 0xbc # CHECK: extrv.w $5, $ac0, $6
0x01 0x43 0x1e 0xbc # CHECK: extrv_r.w $10, $ac0, $3
0x01 0xf4 0x6e 0xbc # CHECK: extrv_rs.w $15, $ac1, $20
0x01 0x10 0xbe 0xbc # CHECK: extrv_s.h $8, $ac2, $16
0x00 0x64 0x41 0x3c # CHECK: insv $3, $4
0x00 0xe6 0x4a 0xbc # CHECK: madd $ac1, $6, $7
0x01 0x28 0x1a 0xbc # CHECK: maddu $ac0, $8, $9
0x01 0x6a 0xea 0xbc # CHECK: msub $ac3, $10, $11
0x01 0xac 0xba 0xbc # CHECK: msubu $ac2, $12, $13
0x00 0x62 0xcc 0xbc # CHECK: mult $ac3, $2, $3
0x00 0xa4 0x9c 0xbc # CHECK: multu $ac2, $4, $5
0x00 0xa4 0x19 0xad # CHECK: packrl.ph $3, $4, $5
0x00 0xa4 0x1a 0x2d # CHECK: pick.ph $3, $4, $5
0x00 0xa4 0x19 0xed # CHECK: pick.qb $3, $4, $5
0x00 0x22 0x51 0x3c # CHECK: preceq.w.phl $1, $2
0x00 0x64 0x61 0x3c # CHECK: preceq.w.phr $3, $4
0x00 0xa6 0x71 0x3c # CHECK: precequ.ph.qbl $5, $6
0x00 0xe8 0x73 0x3c # CHECK: precequ.ph.qbla $7, $8
0x01 0x2a 0x91 0x3c # CHECK: precequ.ph.qbr $9, $10
0x01 0x6c 0x93 0x3c # CHECK: precequ.ph.qbra $11, $12
0x01 0xae 0xb1 0x3c # CHECK: preceu.ph.qbl $13, $14
0x01 0xf0 0xb3 0x3c # CHECK: preceu.ph.qbla $15, $16
0x02 0x32 0xd1 0x3c # CHECK: preceu.ph.qbr $17, $18
0x02 0x74 0xd3 0x3c # CHECK: preceu.ph.qbra $19, $20
0x01 0x49 0x40 0xed # CHECK: precrq.ph.w $8, $9, $10
0x01 0xac 0x58 0xad # CHECK: precrq.qb.ph $11, $12, $13
0x02 0x0f 0x71 0x6d # CHECK: precrqu_s.qb.ph $14, $15, $16
0x02 0x72 0x89 0x2d # CHECK: precrq_rs.ph.w $17, $18, $19
0x00 0x03 0x40 0x1d # CHECK: shilo $ac1, 3
0x00 0x05 0x52 0x7c # CHECK: shilov $ac1, $5
0x00 0x64 0x53 0xb5 # CHECK: shll.ph $3, $4, 5
0x00 0x64 0x5b 0xb5 # CHECK: shll_s.ph $3, $4, 5
0x00 0x64 0xa8 0x7c # CHECK: shll.qb $3, $4, 5
0x00 0x85 0x18 0x0e # CHECK: shllv.ph $3, $4, $5
0x00 0x85 0x1c 0x0e # CHECK: shllv_s.ph $3, $4, $5
0x00 0x85 0x1b 0x95 # CHECK: shllv.qb $3, $4, $5
0x00 0x85 0x1b 0xd5 # CHECK: shllv_s.w $3, $4, $5
0x00 0x64 0x2b 0xf5 # CHECK: shll_s.w $3, $4, 5
0x00 0x64 0x53 0x35 # CHECK: shra.ph $3, $4, 5
0x00 0x64 0x57 0x35 # CHECK: shra_r.ph $3, $4, 5
0x00 0x85 0x19 0x8d # CHECK: shrav.ph $3, $4, $5
0x00 0x85 0x1d 0x8d # CHECK: shrav_r.ph $3, $4, $5
0x00 0x85 0x1a 0xd5 # CHECK: shrav_r.w $3, $4, $5
0x00 0x64 0x2a 0xf5 # CHECK: shra_r.w $3, $4, 5
0x00 0x64 0xb8 0x7c # CHECK: shrl.qb $3, $4, 5
0x00 0x85 0x1b 0x55 # CHECK: shrlv.qb $3, $4, $5
0x00 0xa4 0x1a 0x0d # CHECK: subq.ph $3, $4, $5
0x00 0xa4 0x1e 0x0d # CHECK: subq_s.ph $3, $4, $5
0x00 0xa4 0x1b 0x45 # CHECK: subq_s.w $3, $4, $5
0x00 0xa4 0x1a 0xcd # CHECK: subu.qb $3, $4, $5
0x00 0xa4 0x1e 0xcd # CHECK: subu_s.qb $3, $4, $5
0x00 0xc4 0x46 0xbc # CHECK: dpsq_s.w.ph $ac1, $4, $6
0x00 0xc4 0x56 0xbc # CHECK: dpsq_sa.l.w $ac1, $4, $6
0x00 0xc4 0x64 0xbc # CHECK: dpsu.h.qbl $ac1, $4, $6
0x00 0xc4 0x74 0xbc # CHECK: dpsu.h.qbr $ac1, $4, $6
0x00 0x62 0x08 0x25 # CHECK: muleq_s.w.phl $1, $2, $3
0x00 0x62 0x08 0x65 # CHECK: muleq_s.w.phr $1, $2, $3
0x00 0x62 0x08 0x95 # CHECK: muleu_s.ph.qbl $1, $2, $3
0x00 0x62 0x08 0xd5 # CHECK: muleu_s.ph.qbr $1, $2, $3
0x00,0x62,0x09,0x15 # CHECK: mulq_rs.ph $1, $2, $3
0x00 0x43 0x0a 0x25 # CHECK: lbux $1, $2($3)
0x00 0x43 0x09 0x65 # CHECK: lhx $1, $2($3)
0x00 0x43 0x09 0xa5 # CHECK: lwx $1, $2($3)
0x00 0x62 0x5a 0x7c # CHECK: maq_s.w.phl $ac1, $2, $3
0x00 0x62 0x7a 0x7c # CHECK: maq_sa.w.phl $ac1, $2, $3
0x00 0x62 0x4a 0x7c # CHECK: maq_s.w.phr $ac1, $2, $3
0x00 0x62 0x6a 0x7c # CHECK: maq_sa.w.phr $ac1, $2, $3
0x00 0x02 0x40 0x7c # CHECK: mfhi $2, $ac1
0x00 0x01 0x50 0x7c # CHECK: mflo $1, $ac1
0x00 0x01 0x60 0x7c # CHECK: mthi $1, $ac1
0x00 0x01 0x70 0x7c # CHECK: mtlo $1, $ac1
0x00 0x22 0xf1 0x3c # CHECK: raddu.w.qb $1, $2
0x00 0x20 0x86 0x7c # CHECK: rddsp $1, 2
0x02 0x00 0x08 0x3d # CHECK: repl.ph $1, 512
0x00 0x30 0x05 0xfc # CHECK: repl.qb $1, 128
0x00 0x22 0x03 0x3c # CHECK: replv.ph $1, $2
0x00 0x22 0x13 0x3c # CHECK: replv.qb $1, $2
0x00 0x01 0x82 0x7c # CHECK: mthlip $1, $ac2
0x00 0xa7 0xd6 0x7c # CHECK: wrdsp $5
0x00 0xa0 0x96 0x7c # CHECK: wrdsp $5, 2
0x00 0xc5 0x22 0x95 # CHECK: modsub $4, $5, $6
0x00 0x43 0x3c 0xbc # CHECK: mulsaq_s.w.ph $ac0, $3, $2
0x00 0x43 0x31 0x3c # CHECK: bitrev $2, $3
0x00 0x62 0x00 0x05 # CHECK: cmp.eq.ph $2, $3
0x00 0x62 0x00 0x85 # CHECK: cmp.le.ph $2, $3
0x00 0x62 0x00 0x45 # CHECK: cmp.lt.ph $2, $3
0x58 0x62 0x08 0xc5 # CHECK: cmpgu.eq.qb $1, $2, $3
0x58 0x62 0x09 0x05 # CHECK: cmpgu.lt.qb $1, $2, $3
0x58 0x62 0x09 0x45 # CHECK: cmpgu.le.qb $1, $2, $3
0x00 0x41 0x02 0x45 # CHECK: cmpu.eq.qb $1, $2
0x00 0x41 0x02 0x85 # CHECK: cmpu.lt.qb $1, $2
0x00 0x41 0x02 0xc5 # CHECK: cmpu.le.qb $1, $2