blob: 8c5d46cad0e9d5b1940750085d132f46c6f3f313 [file] [log] [blame]
# source file to test assembly of MIPS DSP ASE for MIPS32 instructions
.set noreorder
.set nomacro
.set noat
.text
text_label:
addq.ph $0,$1,$2
addq_s.ph $1,$2,$3
addq_s.w $2,$3,$4
addu.qb $3,$4,$5
addu_s.qb $4,$5,$6
subq.ph $5,$6,$7
subq_s.ph $6,$7,$8
subq_s.w $7,$8,$9
subu.qb $8,$9,$10
subu_s.qb $9,$10,$11
addsc $10,$11,$12
addwc $11,$12,$13
modsub $12,$13,$14
raddu.w.qb $13,$14
absq_s.ph $14,$15
absq_s.w $15,$16
precrq.qb.ph $16,$17,$18
precrq.ph.w $17,$18,$19
precrq_rs.ph.w $18,$19,$20
precrqu_s.qb.ph $19,$20,$21
preceq.w.phl $20,$21
preceq.w.phr $21,$22
precequ.ph.qbl $22,$23
precequ.ph.qbr $23,$24
precequ.ph.qbla $24,$25
precequ.ph.qbra $25,$26
preceu.ph.qbl $26,$27
preceu.ph.qbr $27,$28
preceu.ph.qbla $28,$29
preceu.ph.qbra $29,$30
shll.qb $30,$31,0
shll.qb $30,$31,7
shllv.qb $31,$0,$1
shll.ph $0,$1,0
shll.ph $0,$1,15
shllv.ph $1,$2,$3
shll_s.ph $2,$3,0
shll_s.ph $2,$3,15
shllv_s.ph $3,$4,$5
shll_s.w $4,$5,0
shll_s.w $4,$5,31
shllv_s.w $5,$6,$7
shrl.qb $6,$7,0
shrl.qb $6,$7,7
shrlv.qb $7,$8,$9
shra.ph $8,$9,0
shra.ph $8,$9,15
shrav.ph $9,$10,$11
shra_r.ph $10,$11,0
shra_r.ph $10,$11,15
shrav_r.ph $11,$12,$13
shra_r.w $12,$13,0
shra_r.w $12,$13,31
shrav_r.w $13,$14,$15
muleu_s.ph.qbl $14,$15,$16
muleu_s.ph.qbr $15,$16,$17
mulq_rs.ph $16,$17,$18
muleq_s.w.phl $17,$18,$19
muleq_s.w.phr $18,$19,$20
dpau.h.qbl $ac0,$19,$20
dpau.h.qbr $ac1,$20,$21
dpsu.h.qbl $ac2,$21,$22
dpsu.h.qbr $ac3,$22,$23
dpaq_s.w.ph $ac0,$23,$24
dpsq_s.w.ph $ac1,$24,$25
mulsaq_s.w.ph $ac2,$25,$26
dpaq_sa.l.w $ac3,$26,$27
dpsq_sa.l.w $ac0,$27,$28
maq_s.w.phl $ac1,$28,$29
maq_s.w.phr $ac2,$29,$30
maq_sa.w.phl $ac3,$30,$31
maq_sa.w.phr $ac0,$31,$0
bitrev $0,$1
insv $1,$2
repl.qb $2,0
repl.qb $2,255
replv.qb $3,$4
repl.ph $4,-512
repl.ph $4,511
replv.ph $5,$6
cmpu.eq.qb $6,$7
cmpu.lt.qb $7,$8
cmpu.le.qb $8,$9
cmpgu.eq.qb $9,$10,$11
cmpgu.lt.qb $10,$11,$12
cmpgu.le.qb $11,$12,$13
cmp.eq.ph $12,$13
cmp.lt.ph $13,$14
cmp.le.ph $14,$15
pick.qb $15,$16,$17
pick.ph $16,$17,$18
packrl.ph $17,$18,$19
extr.w $18,$ac1,0
extr.w $18,$ac1,31
extr_r.w $19,$ac2,0
extr_r.w $19,$ac2,31
extr_rs.w $20,$ac3,0
extr_rs.w $20,$ac3,31
extr_s.h $21,$ac0,0
extr_s.h $21,$ac0,31
extrv_s.h $22,$ac1,$23
extrv.w $23,$ac2,$24
extrv_r.w $24,$ac3,$25
extrv_rs.w $25,$ac0,$26
extp $26,$ac1,0
extp $26,$ac1,31
extpv $27,$ac2,$28
extpdp $28,$ac3,0
extpdp $28,$ac3,31
extpdpv $29,$ac0,$30
shilo $ac1,-32
shilo $ac1,31
shilov $ac2,$30
mthlip $31,$ac3
mfhi $0,$ac0
mflo $1,$ac1
mthi $2,$ac2
mtlo $3,$ac3
wrdsp $4,0
wrdsp $4,63
wrdsp $5
rddsp $6,0
rddsp $6,63
rddsp $7
lbux $8,$9($10)
lhx $9,$10($11)
lwx $10,$11($12)
bposge32 text_label
nop
# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
.space 8