qemu/tests/tcg/mips/mips32-dsp
Petar Jovanovic 29851ee7c8 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
that expose incorrectness in the previous implementation.

Signed-off-by: Petar Jovanovic <petar.jovanovic@imgtec.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2013-05-03 11:50:49 +02:00
..
absq_s_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
absq_s_w.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
addq_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
addq_s_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
addq_s_w.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
addsc.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
addu_qb.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
addu_s_qb.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
addwc.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
bitrev.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
bposge32.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
cmp_eq_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
cmp_le_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
cmp_lt_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
cmpgu_eq_qb.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
cmpgu_le_qb.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
cmpgu_lt_qb.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
cmpu_eq_qb.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
cmpu_le_qb.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
cmpu_lt_qb.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
dpaq_s_w_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
dpaq_sa_l_w.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
dpau_h_qbl.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
dpau_h_qbr.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
dpsq_s_w_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
dpsq_sa_l_w.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
dpsu_h_qbl.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
dpsu_h_qbr.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
extp.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
extpdp.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
extpdpv.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
extpv.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
extr_r_w.c target-mips: fix rndrashift_short_acc and code for EXTR_ instructions 2013-03-17 01:06:34 +01:00
extr_rs_w.c target-mips: fix rndrashift_short_acc and code for EXTR_ instructions 2013-03-17 01:06:34 +01:00
extr_s_h.c target-mips: Fix for helpers for EXTR_* instructions 2013-01-01 11:11:38 +01:00
extr_w.c target-mips: fix rndrashift_short_acc and code for EXTR_ instructions 2013-03-17 01:06:34 +01:00
extrv_r_w.c target-mips: Fix for helpers for EXTR_* instructions 2013-01-01 11:11:38 +01:00
extrv_rs_w.c target-mips: Fix for helpers for EXTR_* instructions 2013-01-01 11:11:38 +01:00
extrv_s_h.c target-mips: Fix for helpers for EXTR_* instructions 2013-01-01 11:11:38 +01:00
extrv_w.c target-mips: Fix for helpers for EXTR_* instructions 2013-01-01 11:11:38 +01:00
insv.c target-mips: Fix incorrect code and test for INSV 2012-12-06 08:10:50 +01:00
lbux.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
lhx.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
lwx.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
madd.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
maddu.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
main.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
Makefile target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
maq_s_w_phl.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
maq_s_w_phr.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
maq_sa_w_phl.c target-mips: fix mipsdsp_mul_q15_q15 and tests for MAQ_SA_W_PHL/PHR 2013-04-15 16:07:57 +02:00
maq_sa_w_phr.c target-mips: fix mipsdsp_mul_q15_q15 and tests for MAQ_SA_W_PHL/PHR 2013-04-15 16:07:57 +02:00
mfhi.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
mflo.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
modsub.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
msub.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
msubu.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
mthi.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
mthlip.c target-mips: fix incorrect test for MTHLIP 2013-01-31 23:42:04 +01:00
mtlo.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
muleq_s_w_phl.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
muleq_s_w_phr.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
muleu_s_ph_qbl.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
muleu_s_ph_qbr.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
mulq_rs_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
mult.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
multu.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
packrl_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
pick_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
pick_qb.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
preceq_w_phl.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
preceq_w_phr.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
precequ_ph_qbl.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
precequ_ph_qbla.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
precequ_ph_qbr.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
precequ_ph_qbra.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
preceu_ph_qbl.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
preceu_ph_qbla.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
preceu_ph_qbr.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
preceu_ph_qbra.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
precrq_ph_w.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
precrq_qb_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
precrq_rs_ph_w.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
precrqu_s_qb_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
raddu_w_qb.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
rddsp.c target-mips: Fix incorrect reads and writes to DSPControl register 2013-01-01 11:10:47 +01:00
repl_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
repl_qb.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
replv_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
replv_qb.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
shilo.c target-mips: Fix incorrect shift for SHILO and SHILOV 2012-12-06 08:12:14 +01:00
shilov.c target-mips: Fix incorrect shift for SHILO and SHILOV 2012-12-06 08:12:14 +01:00
shll_ph.c target-mips: fix calculation of overflow for SHLL.PH and SHLL.QB 2013-05-03 11:50:49 +02:00
shll_qb.c target-mips: fix calculation of overflow for SHLL.PH and SHLL.QB 2013-05-03 11:50:49 +02:00
shll_s_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
shll_s_w.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
shllv_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
shllv_qb.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
shllv_s_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
shllv_s_w.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
shra_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
shra_r_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
shra_r_w.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
shrav_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
shrav_r_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
shrav_r_w.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
shrl_qb.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
shrlv_qb.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
subq_ph.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
subq_s_ph.c target-mips: fix DSP overflow macro and affected routines 2013-03-04 18:15:34 +01:00
subq_s_w.c target-mips: fix DSP overflow macro and affected routines 2013-03-04 18:15:34 +01:00
subu_qb.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
subu_s_qb.c target-mips: Add ASE DSP testcases 2012-10-31 21:37:21 +01:00
wrdsp.c target-mips: Fix incorrect reads and writes to DSPControl register 2013-01-01 11:10:47 +01:00