aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.def
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-01-25 18:06:21 -0800
committerRichard Henderson <rth@gcc.gnu.org>2000-01-25 18:06:21 -0800
commit7913f3d028aaa490bb6cad8817f1d0ba25d5970e (patch)
treec6229116cfdf9e594c081b7617483b79b2816773 /gcc/rtl.def
parent78340c9f9f483059136fd427139050754e210bf4 (diff)
downloadgcc-7913f3d028aaa490bb6cad8817f1d0ba25d5970e.zip
gcc-7913f3d028aaa490bb6cad8817f1d0ba25d5970e.tar.gz
gcc-7913f3d028aaa490bb6cad8817f1d0ba25d5970e.tar.bz2
tree.def (UNNE_EXPR): Remove.
* tree.def (UNNE_EXPR): Remove. * c-typeck.c (build_binary_op): Don't handle it. * expr.c (expand_expr, do_jump, do_store_flag): Likewise. * cp/typeck.c (build_binary_op_nodefault): Likewise. * rtl.def (UNNE): Remove. (LTGT): Add. * jump.c (reverse_condition): Update accordingly. (swap_condition): Likewise. (comparison_dominates_p): Handle unordered comparisons. (reverse_condition_maybe_unordered): New. * rtl.h (reverse_condition_maybe_unordered): Declare. * sparc.c (select_cc_mode): Update for UNNE/LTGT. (output_cbranch): Use reverse_condition_maybe_unordered and LTGT. * sparc.h (REVERSIBLE_CC_MODE): Always true. Update docs. * sparc.md (bltgt): New. From-SVN: r31624
Diffstat (limited to 'gcc/rtl.def')
-rw-r--r--gcc/rtl.def4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/rtl.def b/gcc/rtl.def
index 94b72b8..996a38e 100644
--- a/gcc/rtl.def
+++ b/gcc/rtl.def
@@ -742,13 +742,15 @@ DEF_RTL_EXPR(UNORDERED, "unordered", "ee", '<')
DEF_RTL_EXPR(ORDERED, "ordered", "ee", '<')
/* These are equivalent to unordered or ... */
-DEF_RTL_EXPR(UNNE, "unne", "ee", '<')
DEF_RTL_EXPR(UNEQ, "uneq", "ee", '<')
DEF_RTL_EXPR(UNGE, "unge", "ee", '<')
DEF_RTL_EXPR(UNGT, "ungt", "ee", '<')
DEF_RTL_EXPR(UNLE, "unle", "ee", '<')
DEF_RTL_EXPR(UNLT, "unlt", "ee", '<')
+/* This is an ordered NE, ie !UNEQ, ie false for NaN. */
+DEF_RTL_EXPR(LTGT, "ltgt", "ee", '<')
+
/* Represents the result of sign-extending the sole operand.
The machine modes of the operand and of the SIGN_EXTEND expression
determine how much sign-extension is going on. */