aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@apple.com>2003-05-03 23:12:41 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2003-05-03 23:12:41 +0000
commit8d90f9c0298713f74874d30bdf155597c33629ae (patch)
tree88d76dfd45b240a16f06c24396da4ecbd325e115
parent8882ac3a647747b3cd1a7010196b282419568932 (diff)
downloadgcc-8d90f9c0298713f74874d30bdf155597c33629ae.zip
gcc-8d90f9c0298713f74874d30bdf155597c33629ae.tar.gz
gcc-8d90f9c0298713f74874d30bdf155597c33629ae.tar.bz2
simplify-rtx.c (simplify_relational_operation): Add case for ! (fabs(x) < 0.0).
* simplify-rtx.c (simplify_relational_operation): Add case for ! (fabs(x) < 0.0). From-SVN: r66440
-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;
}