diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/simplify-rtx.c | 13 |
2 files changed, 17 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0401c86..c63385c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-05-03 Geoffrey Keating <geoffk@apple.com> + + * simplify-rtx.c (simplify_relational_operation): Add case for + ! (fabs(x) < 0.0). + 2003-05-03 Bruce Korb <bkorb@gnu.org> * gcc/fixinc/fixincl.tpl(dne): restore this to force merge conflicts diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index 92ee19a..e4af675 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -2381,10 +2381,21 @@ simplify_relational_operation (code, mode, op0, op1) tem = GET_CODE (trueop0) == FLOAT_EXTEND ? XEXP (trueop0, 0) : trueop0; if (GET_CODE (tem) == ABS) - return const1_rtx; + return const_true_rtx; } break; + case UNGE: + /* Optimize ! (abs(x) < 0.0). */ + if (trueop1 == CONST0_RTX (mode)) + { + tem = GET_CODE (trueop0) == FLOAT_EXTEND ? XEXP (trueop0, 0) + : trueop0; + if (GET_CODE (tem) == ABS) + return const_true_rtx; + } + break; + default: break; } |