aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/combine.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 073aadb..275b162 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -21,6 +21,9 @@ Mon Jul 6 22:09:32 1998 Ian Lance Taylor <ian@cygnus.com>
Mon Jul 6 21:28:14 1998 Jeffrey A Law (law@cygnus.com)
+ * combine.c (expand_compound_operation): Fix thinko in code to optimize
+ (zero_extend:DI (subreg:SI (foo:DI) 0)) to foo:DI.
+
* Disable the following change from gcc2. Not appropriate for egcs:
Sun Jun 7 09:30:31 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
diff --git a/gcc/combine.c b/gcc/combine.c
index a299fb0..155585b 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -5203,7 +5203,7 @@ expand_compound_operation (x)
&& subreg_lowpart_p (XEXP (x, 0))
&& GET_MODE_BITSIZE (GET_MODE (x)) <= HOST_BITS_PER_WIDE_INT
&& (nonzero_bits (SUBREG_REG (XEXP (x, 0)), GET_MODE (x))
- & ~ GET_MODE_MASK (GET_MODE (SUBREG_REG (x)))) == 0)
+ & ~ GET_MODE_MASK (GET_MODE (XEXP (x, 0)))) == 0)
return SUBREG_REG (XEXP (x, 0));
/* (zero_extend:DI (truncate:SI foo:DI)) is just foo:DI when foo