# RUN: llvm-mc --disassemble %s -triple=mips-unknown-linux -mattr=dsp | FileCheck %s
0x7c 0x02 0x0a 0x52 # CHECK: absq_s.ph $1, $2
0x7c 0x06 0x2c 0x52 # CHECK: absq_s.w $5, $6
0x7d 0x09 0x3a 0x90 # CHECK: addq.ph $7, $8, $9
0x7d 0x6c 0x53 0x90 # CHECK: addq_s.ph $10, $11, $12
0x7d 0xcf 0x6d 0x90 # CHECK: addq_s.w $13, $14, $15
0x7f 0xbe 0xe4 0x10 # CHECK: addsc $gp, $sp, $fp
0x7c 0xe8 0x30 0x10 # CHECK: addu.qb $6, $7, $8
0x7d 0x4b 0x49 0x10 # CHECK: addu_s.qb $9, $10, $11
0x7d 0xae 0x64 0x50 # CHECK: addwc $12, $13, $14
0x7c 0x1a 0xce 0xd2 # CHECK: bitrev $25, $26
0x04 0x1c 0x14 0x9b # CHECK: bposge32 21104
0x7f 0x7c 0x02 0x11 # CHECK: cmp.eq.ph $27, $gp
0x7f 0xbe 0x02 0x51 # CHECK: cmp.lt.ph $sp, $fp
0x7f 0xe1 0x02 0x91 # CHECK: cmp.le.ph $ra, $1
0x7d 0x8d 0x59 0x11 # CHECK: cmpgu.eq.qb $11, $12, $13
0x7d 0xf0 0x71 0x51 # CHECK: cmpgu.lt.qb $14, $15, $16
0x7e 0x53 0x89 0x91 # CHECK: cmpgu.le.qb $17, $18, $19
0x7e 0x95 0x00 0x11 # CHECK: cmpu.eq.qb $20, $21
0x7e 0xd7 0x00 0x51 # CHECK: cmpu.lt.qb $22, $23
0x7f 0x19 0x00 0x91 # CHECK: cmpu.le.qb $24, $25
0x7c 0x22 0x09 0x30 # CHECK: dpaq_s.w.ph $ac1, $1, $2
0x7c 0x64 0x13 0x30 # CHECK: dpaq_sa.l.w $ac2, $3, $4
0x7d 0x2a 0x08 0xf0 # CHECK: dpau.h.qbl $ac1, $9, $10
0x7d 0x6c 0x09 0xf0 # CHECK: dpau.h.qbr $ac1, $11, $12
0x7e 0x32 0x01 0x70 # CHECK: dpsq_s.w.ph $ac0, $17, $18
0x7e 0x74 0x0b 0x70 # CHECK: dpsq_sa.l.w $ac1, $19, $20
0x7c 0xa6 0x02 0xf0 # CHECK: dpsu.h.qbl $ac0, $5, $6
0x7c 0xe8 0x0b 0xf0 # CHECK: dpsu.h.qbr $ac1, $7, $8
0x7f 0xe1 0x00 0xb8 # CHECK: extp $1, $ac0, 31
0x7c 0x02 0x0a 0xb8 # CHECK: extpdp $2, $ac1, 0
0x7c 0x83 0x12 0xf8 # CHECK: extpdpv $3, $ac2, $4
0x7c 0xc5 0x18 0xf8 # CHECK: extpv $5, $ac3, $6
0x7f 0xe7 0x00 0x38 # CHECK: extr.w $7, $ac0, 31
0x7d 0xe8 0x09 0x38 # CHECK: extr_r.w $8, $ac1, 15
0x7c 0xe9 0x11 0xb8 # CHECK: extr_rs.w $9, $ac2, 7
0x7c 0x6a 0x1b 0xb8 # CHECK: extr_s.h $10, $ac3, 3
0x7d 0x8b 0x00 0x78 # CHECK: extrv.w $11, $ac0, $12
0x7d 0xcd 0x09 0x78 # CHECK: extrv_r.w $13, $ac1, $14
0x7e 0x0f 0x11 0xf8 # CHECK: extrv_rs.w $15, $ac2, $16
0x7e 0x51 0x1b 0xf8 # CHECK: extrv_s.h $17, $ac3, $18
0x7e 0x93 0x00 0x0c # CHECK: insv $19, $20
0x7f 0x54 0x51 0x8a # CHECK: lbux $10, $20($26)
0x7f 0x75 0x59 0x0a # CHECK: lhx $11, $21($27)
0x7f 0x96 0x60 0x0a # CHECK: lwx $12, $22($gp)
0x70 0xc7 0x08 0x00 # CHECK: madd $ac1, $6, $7
0x71 0x09 0x08 0x01 # CHECK: maddu $ac1, $8, $9
0x70 0xc7 0x00 0x00 # CHECK: madd $6, $7
0x71 0x09 0x00 0x01 # CHECK: maddu $8, $9
0x7c 0x64 0x15 0x30 # CHECK: maq_s.w.phl $ac2, $3, $4
0x7c 0xa6 0x1c 0x30 # CHECK: maq_sa.w.phl $ac3, $5, $6
0x7c 0xe8 0x05 0xb0 # CHECK: maq_s.w.phr $ac0, $7, $8
0x7d 0x2a 0x0c 0xb0 # CHECK: maq_sa.w.phr $ac1, $9, $10
0x00 0x20 0x70 0x10 # CHECK: mfhi $14, $ac1
0x00 0x20 0x78 0x12 # CHECK: mflo $15, $ac1
0x00 0x00 0x70 0x10 # CHECK: mfhi $14
0x00 0x00 0x78 0x12 # CHECK: mflo $15
0x7d 0x8d 0x5c 0x90 # CHECK: modsub $11, $12, $13
0x71 0x4b 0x18 0x04 # CHECK: msub $ac3, $10, $11
0x71 0x8d 0x10 0x05 # CHECK: msubu $ac2, $12, $13
0x71 0x4b 0x00 0x04 # CHECK: msub $10, $11
0x71 0x8d 0x00 0x05 # CHECK: msubu $12, $13
0x02 0x00 0x18 0x11 # CHECK: mthi $16, $ac3
0x02 0x00 0x00 0x11 # CHECK: mthi $16
0x7d 0xc0 0x17 0xf8 # CHECK: mthlip $14, $ac2
0x02 0x20 0x10 0x13 # CHECK: mtlo $17, $ac2
0x02 0x20 0x00 0x13 # CHECK: mtlo $17
0x7e 0xd7 0xaf 0x10 # CHECK: muleq_s.w.phl $21, $22, $23
0x7f 0x3a 0xc7 0x50 # CHECK: muleq_s.w.phr $24, $25, $26
0x7f 0x9d 0xd9 0x90 # CHECK: muleu_s.ph.qbl $27, $gp, $sp
0x7f 0xe1 0xf1 0xd0 # CHECK: muleu_s.ph.qbr $fp, $ra, $1
0x7c 0x64 0x17 0xd0 # CHECK: mulq_rs.ph $2, $3, $4
0x7e 0x11 0x01 0xb0 # CHECK: mulsaq_s.w.ph $ac0, $16, $17
0x00 0x43 0x18 0x18 # CHECK: mult $ac3, $2, $3
0x00 0x85 0x10 0x19 # CHECK: multu $ac2, $4, $5
0x00 0x43 0x00 0x18 # CHECK: mult $2, $3
0x00 0x85 0x00 0x19 # CHECK: multu $4, $5
0x7e 0x74 0x93 0x91 # CHECK: packrl.ph $18, $19, $20
0x7d 0xe3 0x3a 0xd1 # CHECK: pick.ph $7, $15, $3
0x7c 0x88 0x10 0xd1 # CHECK: pick.qb $2, $4, $8
0x7c 0x15 0xa3 0x12 # CHECK: preceq.w.phl $20, $21
0x7c 0x16 0xab 0x52 # CHECK: preceq.w.phr $21, $22
0x7c 0x17 0xb1 0x12 # CHECK: precequ.ph.qbl $22, $23
0x7c 0x19 0xc1 0x92 # CHECK: precequ.ph.qbla $24, $25
0x7c 0x18 0xb9 0x52 # CHECK: precequ.ph.qbr $23, $24
0x7c 0x1a 0xc9 0xd2 # CHECK: precequ.ph.qbra $25, $26
0x7c 0x1b 0xd7 0x12 # CHECK: preceu.ph.qbl $26, $27
0x7c 0x1d 0xe7 0x92 # CHECK: preceu.ph.qbla $gp, $sp
0x7c 0x1c 0xdf 0x52 # CHECK: preceu.ph.qbr $27, $gp
0x7c 0x1e 0xef 0xd2 # CHECK: preceu.ph.qbra $sp, $fp
0x7e 0x53 0x8d 0x11 # CHECK: precrq.ph.w $17, $18, $19
0x7e 0x32 0x83 0x11 # CHECK: precrq.qb.ph $16, $17, $18
0x7e 0x95 0x9b 0xd1 # CHECK: precrqu_s.qb.ph $19, $20, $21
0x7e 0x74 0x95 0x51 # CHECK: precrq_rs.ph.w $18, $19, $20
0x7c 0x40 0x0d 0x10 # CHECK: raddu.w.qb $1, $2
0x7d 0x00 0x2c 0xb8 # CHECK: rddsp $5, 256
0x7c 0x0c 0x12 0x92 # CHECK: repl.ph $2, 12
0x7c 0x55 0x08 0x92 # CHECK: repl.qb $1, 85
0x7c 0x02 0x0a 0xd2 # CHECK: replv.ph $1, $2
0x7c 0x02 0x08 0xd2 # CHECK: replv.qb $1, $2
0x7d 0x00 0x0e 0xb8 # CHECK: shilo $ac1, 16
0x7c 0x40 0x0e 0xf8 # CHECK: shilov $ac1, $2
0x7c 0x62 0x0a 0x13 # CHECK: shll.ph $1, $2, 3
0x7c 0x62 0x0b 0x13 # CHECK: shll_s.ph $1, $2, 3
0x7c 0x62 0x08 0x13 # CHECK: shll.qb $1, $2, 3
0x7c 0x62 0x0a 0x93 # CHECK: shllv.ph $1, $2, $3
0x7c 0x62 0x0b 0x93 # CHECK: shllv_s.ph $1, $2, $3
0x7c 0x62 0x08 0x93 # CHECK: shllv.qb $1, $2, $3
0x7c 0x62 0x0d 0x93 # CHECK: shllv_s.w $1, $2, $3
0x7c 0x62 0x0d 0x13 # CHECK: shll_s.w $1, $2, 3
0x7c 0x22 0x2a 0x53 # CHECK: shra.ph $5, $2, 1
0x7c 0x22 0x2b 0x53 # CHECK: shra_r.ph $5, $2, 1
0x7c 0x62 0x0a 0xd3 # CHECK: shrav.ph $1, $2, $3
0x7c 0x62 0x0b 0xd3 # CHECK: shrav_r.ph $1, $2, $3
0x7c 0x62 0x0d 0xd3 # CHECK: shrav_r.w $1, $2, $3
0x7c 0x22 0x0d 0x53 # CHECK: shra_r.w $1, $2, 1
0x7c 0x42 0x08 0x53 # CHECK: shrl.qb $1, $2, 2
0x7c 0x62 0x08 0xd3 # CHECK: shrlv.qb $1, $2, $3
0x7c 0x43 0x0a 0xd0 # CHECK: subq.ph $1, $2, $3
0x7c 0x43 0x0b 0xd0 # CHECK: subq_s.ph $1, $2, $3
0x7c 0x43 0x0d 0xd0 # CHECK: subq_s.w $1, $2, $3
0x7c 0x43 0x08 0x50 # CHECK: subu.qb $1, $2, $3
0x7c 0x43 0x09 0x50 # CHECK: subu_s.qb $1, $2, $3
0x7c 0x20 0x04 0xf8 # CHECK: wrdsp $1, 0