qemu/tests/tcg/mips/mips32-dsp
Petar Jovanovic 4877866ee4 target-mips: fix multiplication in mipsdsp_rndq15_mul_q15_q15
Multiplication of Q15 fractional halfword vectors was incorrect in the
previous implementation of mipsdsp_rndq15_mul_q15_q15. It failed to take
element signs into account. This change fixes it, and it adds a test case
for it.

The change also removes unnecessary cast in the function
mipsdsp_mul_q15_q15_overflowflag21().

Signed-off-by: Petar Jovanovic <petar.jovanovic@imgtec.com>
Reviewed-by: Richard Henderson  <rth@twiddle.net> 
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2013-07-28 18:26:36 +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: fix incorrect behaviour for EXTP 2013-05-17 19:29:40 +02:00
extpdp.c target-mips: fix EXTPDP and setting up pos field in the DSPControl reg 2013-05-19 15:10:51 +02: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 behaviour for INSV 2013-05-08 18:46:38 +02: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: fix multiplication in mipsdsp_rndq15_mul_q15_q15 2013-07-28 18:26:36 +02: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