diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 073aadb9150..275b1627692 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -21,6 +21,9 @@ Mon Jul 6 22:09:32 1998 Ian Lance Taylor 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 diff --git a/gcc/combine.c b/gcc/combine.c index a299fb098ec..155585b9f1c 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