From: Jeff Law Date: Sun, 21 Feb 1993 18:04:36 +0000 (-0700) Subject: pa.c (print_operand, case 'Y'): Output comparison operators which right result when... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d6c0d37780931a82f979aee0844eced3d97abdad;p=gcc.git pa.c (print_operand, case 'Y'): Output comparison operators which right result when... * pa.c (print_operand, case 'Y'): Output comparison operators which right result when one or more of the operands is a NaN. From-SVN: r3508 --- diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 71d1896cb64..9d7c5c19c70 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -1983,7 +1983,6 @@ print_operand (file, x, code) } return; case 'N': /* Condition, (N)egated */ - case 'Y': switch (GET_CODE (x)) { case EQ: @@ -2012,6 +2011,29 @@ print_operand (file, x, code) abort (); } return; + /* For floating point comparisons. Need special conditions to deal + with NaNs properly. */ + case 'Y': + switch (GET_CODE (x)) + { + case EQ: + fprintf (file, "!="); break; + case NE: + fprintf (file, "="); break; + case GT: + fprintf (file, "!>"); break; + case GE: + fprintf (file, "!>="); break; + case LT: + fprintf (file, "!<"); break; + case LE: + fprintf (file, "!<="); break; + default: + printf ("Can't grok '%c' operator:\n", code); + debug_rtx (x); + abort (); + } + return; case 'S': /* Condition, operands are (S)wapped. */ switch (GET_CODE (x)) {