diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/jump.c | 22 |
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 @@ -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; |