diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/combine.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fc7c2d0..3ff93d4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Thu Jul 2 01:53:32 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk> + + * combine.c (simplify_comparison): Apply SUBREG_REG to SUBREGs. + Wed Jul 1 23:06:03 1998 Richard Henderson <rth@cygnus.com> * i386.h (HARD_REGNO_MODE_OK): Kill spurrious test. diff --git a/gcc/combine.c b/gcc/combine.c index ea6bcb8..a0c7864 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -9471,10 +9471,10 @@ simplify_comparison (code, pop0, pop1) > GET_MODE_SIZE (GET_MODE (SUBREG_REG (inner_op0)))) && (GET_MODE (SUBREG_REG (inner_op0)) == GET_MODE (SUBREG_REG (inner_op1))) - && (GET_MODE_BITSIZE (GET_MODE (SUBREG_REG (op0))) + && (GET_MODE_BITSIZE (GET_MODE (SUBREG_REG (inner_op0))) <= HOST_BITS_PER_WIDE_INT) && (0 == ((~c0) & nonzero_bits (SUBREG_REG (inner_op0), - GET_MODE (SUBREG_REG (op0))))) + GET_MODE (SUBREG_REG (inner_op0))))) && (0 == ((~c1) & nonzero_bits (SUBREG_REG (inner_op1), GET_MODE (SUBREG_REG (inner_op1)))))) { |