From: cgd Date: Wed, 16 Apr 2003 00:52:08 +0000 (+0000) Subject: 2003-04-15 Richard Sandiford X-Git-Tag: cr-0x99~2339 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=2acf280d6168f2df7e93df05bb81c47fbad46bca;p=pf3gnuchains%2Fpf3gnuchains4x.git 2003-04-15 Richard Sandiford * vr.igen (do_vr_mul_op): Zero-extend the low 32 bits of unsigned operands. --- diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog index 76c676c6ed..1474f79829 100644 --- a/sim/mips/ChangeLog +++ b/sim/mips/ChangeLog @@ -1,3 +1,8 @@ +2003-04-15 Richard Sandiford + + * vr.igen (do_vr_mul_op): Zero-extend the low 32 bits of + unsigned operands. + 2003-02-27 Andrew Cagney * interp.c (sim_open): diff --git a/sim/mips/vr.igen b/sim/mips/vr.igen index 0eb5f4de2d..742a85d0ca 100644 --- a/sim/mips/vr.igen +++ b/sim/mips/vr.igen @@ -73,7 +73,9 @@ (long) CIA); TRACE_ALU_INPUT2 (x, y); - product = (unsigned_p ? x * y : EXTEND32 (x) * EXTEND32 (y)); + product = (unsigned_p + ? V8_4 (x, 1) * V8_4 (y, 1) + : EXTEND32 (x) * EXTEND32 (y)); result = (subtract_p ? lhs - product : lhs + product); if (saturate_p) {