Statistics
| Branch: | Revision:

root / tests / tcg / mips / mips32-dsp @ 0ba365f4

Name Size
Makefile 3.3 kB
absq_s_ph.c 441 Bytes
absq_s_w.c 604 Bytes
addq_ph.c 837 Bytes
addq_s_ph.c 1.2 kB
addq_s_w.c 726 Bytes
addsc.c 597 Bytes
addu_qb.c 675 Bytes
addu_s_qb.c 677 Bytes
addwc.c 971 Bytes
bitrev.c 267 Bytes
bposge32.c 732 Bytes
cmp_eq_ph.c 603 Bytes
cmp_le_ph.c 603 Bytes
cmp_lt_ph.c 603 Bytes
cmpgu_eq_qb.c 511 Bytes
cmpgu_le_qb.c 511 Bytes
cmpgu_lt_qb.c 511 Bytes
cmpu_eq_qb.c 633 Bytes
cmpu_le_qb.c 633 Bytes
cmpu_lt_qb.c 633 Bytes
dpaq_s_w_ph.c 705 Bytes
dpaq_sa_l_w.c 1.8 kB
dpau_h_qbl.c 559 Bytes
dpau_h_qbr.c 559 Bytes
dpsq_s_w_ph.c 978 Bytes
dpsq_sa_l_w.c 1.2 kB
dpsu_h_qbl.c 531 Bytes
dpsu_h_qbr.c 531 Bytes
extp.c 1.2 kB
extpdp.c 1.2 kB
extpdpv.c 919 Bytes
extpv.c 860 Bytes
extr_r_w.c 1.8 kB
extr_rs_w.c 2.3 kB
extr_s_h.c 1.7 kB
extr_w.c 1.8 kB
extrv_r_w.c 1.5 kB
extrv_rs_w.c 1.5 kB
extrv_s_h.c 1.8 kB
extrv_w.c 1.5 kB
insv.c 629 Bytes
lbux.c 398 Bytes
lhx.c 395 Bytes
lwx.c 395 Bytes
madd.c 574 Bytes
maddu.c 574 Bytes
main.c 63 Bytes
maq_s_w_phl.c 1.1 kB
maq_s_w_phr.c 1.1 kB
maq_sa_w_phl.c 1.2 kB
maq_sa_w_phr.c 1.2 kB
mfhi.c 302 Bytes
mflo.c 302 Bytes
modsub.c 512 Bytes
msub.c 612 Bytes
msubu.c 613 Bytes
mthi.c 302 Bytes
mthlip.c 1.2 kB
mtlo.c 302 Bytes
muleq_s_w_phl.c 758 Bytes
muleq_s_w_phr.c 741 Bytes
muleu_s_ph_qbl.c 440 Bytes
muleu_s_ph_qbr.c 436 Bytes
mulq_rs_ph.c 436 Bytes
mult.c 451 Bytes
multu.c 452 Bytes
packrl_ph.c 304 Bytes
pick_ph.c 889 Bytes
pick_qb.c 629 Bytes
preceq_w_phl.c 269 Bytes
preceq_w_phr.c 269 Bytes
precequ_ph_qbl.c 271 Bytes
precequ_ph_qbla.c 272 Bytes
precequ_ph_qbr.c 271 Bytes
precequ_ph_qbra.c 272 Bytes
preceu_ph_qbl.c 270 Bytes
preceu_ph_qbla.c 271 Bytes
preceu_ph_qbr.c 270 Bytes
preceu_ph_qbra.c 271 Bytes
precrq_ph_w.c 306 Bytes
precrq_qb_ph.c 307 Bytes
precrq_rs_ph_w.c 601 Bytes
precrqu_s_qb_ph.c 400 Bytes
raddu_w_qb.c 262 Bytes
rddsp.c 1.1 kB
repl_ph.c 341 Bytes
repl_qb.c 213 Bytes
replv_ph.c 264 Bytes
replv_qb.c 268 Bytes
shilo.c 799 Bytes
shilov.c 879 Bytes
shll_ph.c 1 kB
shll_qb.c 1 kB
shll_s_ph.c 416 Bytes
shll_s_w.c 1012 Bytes
shllv_ph.c 769 Bytes
shllv_qb.c 700 Bytes
shllv_s_ph.c 778 Bytes
shllv_s_w.c 777 Bytes
shra_ph.c 448 Bytes
shra_r_ph.c 452 Bytes
shra_r_w.c 449 Bytes
shrav_ph.c 506 Bytes
shrav_r_ph.c 510 Bytes
shrav_r_w.c 508 Bytes
shrl_qb.c 448 Bytes
shrlv_qb.c 506 Bytes
subq_ph.c 757 Bytes
subq_s_ph.c 1.1 kB
subq_s_w.c 1.4 kB
subu_qb.c 441 Bytes
subu_s_qb.c 443 Bytes
wrdsp.c 1.1 kB

Latest revisions

# Date Author Comment
0ba365f4 05/19/2013 04:10 pm Petar Jovanovic

target-mips: fix EXTPDP and setting up pos field in the DSPControl reg

This change makes sure that modifications of pos field in the DSPControl
register do not trash other bits in the register. This bug can be triggered
with the additional test case in mips32-dsp/extpdp.c in this commit....

489ed4bb 05/17/2013 08:29 pm Petar Jovanovic

target-mips: fix incorrect behaviour for EXTP

The mask for EXTP instruction when size=31 has not been correctly
calculated.

The test (mips32-dsp/extp.c) has been extended to include the case that
triggers the issue.

Signed-off-by: Petar Jovanovic <>...

c0f5f9ce 05/08/2013 07:46 pm Petar Jovanovic

target-mips: fix incorrect behaviour for INSV

Corner case for INSV instruction when size=32 has not been correctly
implemented. The mask for size should be one bit wider, and preparing the
filter variable should be aware of this case too.

The test for INSV has been extended to include the case that triggers the...

29851ee7 05/03/2013 12:50 pm Petar Jovanovic

target-mips: fix calculation of overflow for SHLL.PH and SHLL.QB

This change corrects and simplifies how discard is calculated for shift
left logical vector instructions. It is used to detect overflow and set bit
22 in the DSPControl register.

The existing tests (shll_ph.c, shll_qb.c) are extended with the corner cases...

b1ca31d7 04/15/2013 05:07 pm Petar Jovanovic

target-mips: fix mipsdsp_mul_q15_q15 and tests for MAQ_SA_W_PHL/PHR

The operands for MAQ_SA_W.PHL/MAQ_SA_W.PHR must in specified format.
Otherwise, the results are unpredictable. Once the operands were corrected
in the tests (part of this change), a bug in mipsdsp_mul_q15_q15 became...

8b758d05 03/17/2013 02:06 am Petar Jovanovic

target-mips: fix rndrashift_short_acc and code for EXTR_ instructions

Fix for rndrashift_short_acc to set correct value to higher 64 bits.
This change also corrects conditions when bit 23 of the DSPControl register
is set.

The existing test files have been extended with several examples that...

20c334a7 03/04/2013 07:15 pm Petar Jovanovic

target-mips: fix DSP overflow macro and affected routines

The previous implementation incorrectly used same macro to detect overflow
for addition and subtraction. This patch makes distinction between these
two, and creates separate macros. The affected routines are changed...

e62a214c 02/01/2013 12:42 am Petar Jovanovic

target-mips: fix incorrect test for MTHLIP

The pos field in the DSPControl register is not correctly initialized.
Per documentation, the result of MTHLIP is unpredictable if the value of the
pos field before the execution is greater than 32.

Signed-off-by: Petar Jovanovic <>...

b8abbbe8 01/01/2013 12:11 pm Petar Jovanovic

target-mips: Fix for helpers for EXTR_* instructions

The change removes some unnecessary and incorrect code for EXTR_S.H.
Further, it corrects the mask for shift value in the EXTR_ instructions. It also
extends the existing tests so they trigger the issues corrected with the change....

eec8972a 01/01/2013 12:10 pm Petar Jovanovic

target-mips: Fix incorrect reads and writes to DSPControl register

Upper 4 bits of ccond (bits 31..28 ) of DSPControl register are not used in
the MIPS32 architecture. They are used in the MIPS64 architecture. For MIPS32
these bits must be written as zero, and return zero on read....

View revisions

Also available in: Atom