diff options
author | Richard Henderson <rth@cygnus.com> | 2000-01-25 18:06:21 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-01-25 18:06:21 -0800 |
commit | 7913f3d028aaa490bb6cad8817f1d0ba25d5970e (patch) | |
tree | c6229116cfdf9e594c081b7617483b79b2816773 /gcc/rtl.def | |
parent | 78340c9f9f483059136fd427139050754e210bf4 (diff) | |
download | gcc-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.def | 4 |
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. */ |