re PR rtl-optimization/25600 (unsigned>>31?-1:0 should be optimized to int>>31)
authorRoger Sayle <roger@eyesopen.com>
Sat, 18 Feb 2006 05:22:46 +0000 (05:22 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Sat, 18 Feb 2006 05:22:46 +0000 (05:22 +0000)
commit8305d7868da2a057825734b31113455ef97d9a76
tree4d37d7702bbfbd33a364527a6c3b6ba57cad4e0a
parente097f8873d8389995b81b2794f7ec718064fb8b6
re PR rtl-optimization/25600 (unsigned>>31?-1:0  should be optimized to int>>31)

PR middle-end/25600
* fold-const.c (fold_binary): Fold (X >> C) != 0 into X < 0 when
C is one less than the width of X (and related transformations).
* simplify_rtx.c (simplify_unary_operation_1): Transform
(neg (lt x 0)) into either (ashiftrt X C) or (lshiftrt X C)
depending on STORE_FLAG_VALUE, were C is one less then the
width of X.

From-SVN: r111226
gcc/ChangeLog
gcc/fold-const.c
gcc/simplify-rtx.c