diff options
author | Chris Demetriou <cgd@google.com> | 2003-04-16 00:52:08 +0000 |
---|---|---|
committer | Chris Demetriou <cgd@google.com> | 2003-04-16 00:52:08 +0000 |
commit | bcd0068ecfead0ef4cc2f9bd3247fed9909001c6 (patch) | |
tree | 164ff516d7ae3f779c76f17d916b13c5bea342e7 /sim/mips | |
parent | 060dc71d214a80f4efcb3133935f133c7898a982 (diff) | |
download | gdb-bcd0068ecfead0ef4cc2f9bd3247fed9909001c6.zip gdb-bcd0068ecfead0ef4cc2f9bd3247fed9909001c6.tar.gz gdb-bcd0068ecfead0ef4cc2f9bd3247fed9909001c6.tar.bz2 |
2003-04-15 Richard Sandiford <rsandifo@redhat.com>
* vr.igen (do_vr_mul_op): Zero-extend the low 32 bits of
unsigned operands.
Diffstat (limited to 'sim/mips')
-rw-r--r-- | sim/mips/ChangeLog | 5 | ||||
-rw-r--r-- | sim/mips/vr.igen | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog index 76c676c..1474f79 100644 --- a/sim/mips/ChangeLog +++ b/sim/mips/ChangeLog @@ -1,3 +1,8 @@ +2003-04-15 Richard Sandiford <rsandifo@redhat.com> + + * vr.igen (do_vr_mul_op): Zero-extend the low 32 bits of + unsigned operands. + 2003-02-27 Andrew Cagney <cagney@redhat.com> * interp.c (sim_open): diff --git a/sim/mips/vr.igen b/sim/mips/vr.igen index 0eb5f4d..742a85d 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) { |