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 76c676c..1474f79 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 0eb5f4d..742a85d 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)
     {