aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2001-01-07 14:45:33 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2001-01-07 13:45:33 +0000
commitb34878a37be4bd942b0460be0e5f9b3c8cbe0b17 (patch)
tree66670355a53f26a7a08ae9ce8c0d1692fa530a98 /gcc
parent1f36a2ddaac4e1f25258c5c6bbd08f6341549d60 (diff)
downloadgcc-b34878a37be4bd942b0460be0e5f9b3c8cbe0b17.zip
gcc-b34878a37be4bd942b0460be0e5f9b3c8cbe0b17.tar.gz
gcc-b34878a37be4bd942b0460be0e5f9b3c8cbe0b17.tar.bz2
* jump.c (comparison_dominates_p): Support unordered compares.
From-SVN: r38776
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/jump.c22
2 files changed, 23 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 14df383..2749261 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Sun Jan 7 14:44:19 MET 2001 Jan Hubicka <jh@suse.cz>
+
+ * jump.c (comparison_dominates_p): Support unordered compares.
+
Sun Jan 7 14:39:07 MET 2001 Jan Hubicka <jh@suse.cz>
* simplify-rtx.c (simplify_relational_operation): Always simplify
diff --git a/gcc/jump.c b/gcc/jump.c
index 032172d..2dae0e5 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -2004,19 +2004,34 @@ comparison_dominates_p (code1, code2)
switch (code1)
{
+ case UNEQ:
+ if (code2 == UNLE || code2 == UNGE)
+ return 1;
+ break;
+
case EQ:
if (code2 == LE || code2 == LEU || code2 == GE || code2 == GEU
|| code2 == ORDERED)
return 1;
break;
+ case UNLT:
+ if (code2 == UNLE || code2 == NE)
+ return 1;
+ break;
+
case LT:
- if (code2 == LE || code2 == NE || code2 == ORDERED)
+ if (code2 == LE || code2 == NE || code2 == ORDERED || code2 == LTGT)
+ return 1;
+ break;
+
+ case UNGT:
+ if (code2 == UNGE || code2 == NE)
return 1;
break;
case GT:
- if (code2 == GE || code2 == NE || code2 == ORDERED)
+ if (code2 == GE || code2 == NE || code2 == ORDERED || code2 == LTGT)
return 1;
break;
@@ -2042,7 +2057,8 @@ comparison_dominates_p (code1, code2)
break;
case UNORDERED:
- if (code2 == NE)
+ if (code2 == NE || code2 == UNEQ || code2 == UNLE || code2 == UNLT
+ || code2 == UNGE || code2 == UNGT)
return 1;
break;