aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/expmed.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3d6e93e..a14e763 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-07-03 Geoff Keating <geoffk@cygnus.com>
+
+ * expmed.c (expand_mult_highpart): Use op1 instead of wide_op1 when
+ mode instead of wider_mode is being used.
+
2000-07-03 Jakub Jelinek <jakub@redhat.com>
* config/i386/i386.md (movstrictqi_xor): Use 'q' constraint instead
diff --git a/gcc/expmed.c b/gcc/expmed.c
index 883d33f..778e990 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -2785,7 +2785,7 @@ expand_mult_highpart (mode, op0, cnst1, target, unsignedp, max_cost)
{
mul_highpart_optab = unsignedp ? umul_highpart_optab : smul_highpart_optab;
target = expand_binop (mode, mul_highpart_optab,
- op0, wide_op1, target, unsignedp, OPTAB_DIRECT);
+ op0, op1, target, unsignedp, OPTAB_DIRECT);
if (target)
return target;
}
@@ -2796,7 +2796,7 @@ expand_mult_highpart (mode, op0, cnst1, target, unsignedp, max_cost)
{
mul_highpart_optab = unsignedp ? smul_highpart_optab : umul_highpart_optab;
target = expand_binop (mode, mul_highpart_optab,
- op0, wide_op1, target, unsignedp, OPTAB_DIRECT);
+ op0, op1, target, unsignedp, OPTAB_DIRECT);
if (target)
/* We used the wrong signedness. Adjust the result. */
return expand_mult_highpart_adjust (mode, target, op0,