On Thu, Feb 07, 2013 at 07:36:09PM +0100, Petar Jovanovic wrote: > From: Petar Jovanovic <pet...@mips.com> > > Correct sign-propagation before multiplication in MULQ_W helper. > The change also fixes previously incorrect expected values in the > tests for MULQ_RS.W and MULQ_S.W. > > Signed-off-by: Petar Jovanovic <pet...@mips.com> > --- > target-mips/dsp_helper.c | 2 +- > tests/tcg/mips/mips32-dspr2/mulq_rs_w.c | 2 +- > tests/tcg/mips/mips32-dspr2/mulq_s_w.c | 2 +- > 3 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/target-mips/dsp_helper.c b/target-mips/dsp_helper.c > index 96cb044..c718707 100644 > --- a/target-mips/dsp_helper.c > +++ b/target-mips/dsp_helper.c > @@ -2689,7 +2689,7 @@ MAQ_SA_W(maq_sa_w_phr, 0); > target_ulong helper_##name(target_ulong rs, target_ulong rt, \ > CPUMIPSState *env) \ > { \ > - uint32_t rs_t, rt_t; \ > + int32_t rs_t, rt_t; \ > int32_t tempI; \ > int64_t tempL; \ > \ > diff --git a/tests/tcg/mips/mips32-dspr2/mulq_rs_w.c > b/tests/tcg/mips/mips32-dspr2/mulq_rs_w.c > index 669405f..7ba633b 100644 > --- a/tests/tcg/mips/mips32-dspr2/mulq_rs_w.c > +++ b/tests/tcg/mips/mips32-dspr2/mulq_rs_w.c > @@ -8,7 +8,7 @@ int main() > > rs = 0x80001234; > rt = 0x80004321; > - result = 0x80005555; > + result = 0x7FFFAAAB; > > __asm > ("mulq_rs.w %0, %1, %2\n\t" > diff --git a/tests/tcg/mips/mips32-dspr2/mulq_s_w.c > b/tests/tcg/mips/mips32-dspr2/mulq_s_w.c > index df148b7..9c2be06 100644 > --- a/tests/tcg/mips/mips32-dspr2/mulq_s_w.c > +++ b/tests/tcg/mips/mips32-dspr2/mulq_s_w.c > @@ -8,7 +8,7 @@ int main() > > rs = 0x80001234; > rt = 0x80004321; > - result = 0x80005555; > + result = 0x7FFFAAAB; > > __asm > ("mulq_s.w %0, %1, %2\n\t"
Thanks, applied. -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net