aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/simplify-rtx.c13
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;
}