diff options
author | Roger Sayle <roger@eyesopen.com> | 2004-03-26 01:20:46 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2004-03-26 01:20:46 +0000 |
commit | 22e63bd346c056fb94086e0797eda465fbe7a7ac (patch) | |
tree | 7510169a1bc588abe4ab5952f12329311706b5b7 /gcc/fold-const.c | |
parent | 0066ef9ce4ea5377b154cdc10ef6626033ede8b8 (diff) | |
download | gcc-22e63bd346c056fb94086e0797eda465fbe7a7ac.tar.gz |
fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like BIT_IOR_EXPR...
* fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like
BIT_IOR_EXPR; A^B is nonnegative when A and B are nonnegative.
* gcc.dg/compare8.c: Add an additional test for XOR.
From-SVN: r79979
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r-- | gcc/fold-const.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c index e8c36f029ee..7fbbc8ec8b5 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -8722,6 +8722,7 @@ tree_expr_nonnegative_p (tree t) return tree_expr_nonnegative_p (TREE_OPERAND (t, 1)) || tree_expr_nonnegative_p (TREE_OPERAND (t, 0)); case BIT_IOR_EXPR: + case BIT_XOR_EXPR: return tree_expr_nonnegative_p (TREE_OPERAND (t, 0)) && tree_expr_nonnegative_p (TREE_OPERAND (t, 1)); |