From: Eric Botcazou Date: Mon, 27 Jan 2003 17:25:14 +0000 (+0100) Subject: combine.c (nonzero_bits): Revert 2003-01-25 change. X-Git-Tag: releases/gcc-3.2.2~76 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d561050a52913d8d0c7d9631672d2400957e9e56;p=thirdparty%2Fgcc.git combine.c (nonzero_bits): Revert 2003-01-25 change. * combine.c (nonzero_bits): Revert 2003-01-25 change. (num_sign_bit_copies): Likewise. From-SVN: r61891 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0730c2b98ac1..b1d3ec2d347b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-01-25 Eric Botcazou + + * combine.c (nonzero_bits): Revert 2003-01-25 change. + (num_sign_bit_copies): Likewise. + 2003-01-27 Volker Reichelt * doc/passes.texi: Fix typo. diff --git a/gcc/combine.c b/gcc/combine.c index 50c04b1abf57..5e8ad1ac3a28 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -8305,13 +8305,12 @@ nonzero_bits (x, mode) #if defined (WORD_REGISTER_OPERATIONS) && defined (LOAD_EXTEND_OP) /* If this is a typical RISC machine, we only have to worry about the way loads are extended. */ - if ((LOAD_EXTEND_OP (GET_MODE (SUBREG_REG (x))) == SIGN_EXTEND - ? (((nonzero - & (((unsigned HOST_WIDE_INT) 1 - << (GET_MODE_BITSIZE (GET_MODE (SUBREG_REG (x))) - 1)))) - != 0)) - : LOAD_EXTEND_OP (GET_MODE (SUBREG_REG (x))) != ZERO_EXTEND) - || GET_CODE (SUBREG_REG (x)) != MEM) + if (LOAD_EXTEND_OP (GET_MODE (SUBREG_REG (x))) == SIGN_EXTEND + ? (((nonzero + & (((unsigned HOST_WIDE_INT) 1 + << (GET_MODE_BITSIZE (GET_MODE (SUBREG_REG (x))) - 1)))) + != 0)) + : LOAD_EXTEND_OP (GET_MODE (SUBREG_REG (x))) != ZERO_EXTEND) #endif { /* On many CISC machines, accessing an object in a wider mode @@ -8534,8 +8533,7 @@ num_sign_bit_copies (x, mode) if ((GET_MODE_SIZE (GET_MODE (x)) > GET_MODE_SIZE (GET_MODE (SUBREG_REG (x)))) - && LOAD_EXTEND_OP (GET_MODE (SUBREG_REG (x))) == SIGN_EXTEND - && GET_CODE (SUBREG_REG (x)) == MEM) + && LOAD_EXTEND_OP (GET_MODE (SUBREG_REG (x))) == SIGN_EXTEND) return num_sign_bit_copies (SUBREG_REG (x), mode); #endif #endif