2003-04-15 Richard Sandiford <rsandifo@redhat.com>
authorChris Demetriou <cgd@google.com>
Wed, 16 Apr 2003 00:52:08 +0000 (00:52 +0000)
committerChris Demetriou <cgd@google.com>
Wed, 16 Apr 2003 00:52:08 +0000 (00:52 +0000)
        * vr.igen (do_vr_mul_op): Zero-extend the low 32 bits of
        unsigned operands.

sim/mips/ChangeLog
sim/mips/vr.igen

index 76c676c6edef5d733ead0fea0ef6091ccd0c4d80..1474f798295e877c28d1a2848b746fcbdf1fc871 100644 (file)
@@ -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): 
index 0eb5f4de2d9df1a463e93a172a2e0675922070db..742a85d0ca8021b2e9d9b3581e8982eb67b0e3d2 100644 (file)
@@ -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)
     {