diff options
author | Jeff Law <law@gcc.gnu.org> | 1993-02-21 11:04:36 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1993-02-21 11:04:36 -0700 |
commit | d6c0d37780931a82f979aee0844eced3d97abdad (patch) | |
tree | b441d2b05867c192bd3eae9fb12b66ac75a691db /gcc | |
parent | b4cb49943ee3c40812b331b4a4e1055c5fb5ff25 (diff) | |
download | gcc-d6c0d37780931a82f979aee0844eced3d97abdad.zip gcc-d6c0d37780931a82f979aee0844eced3d97abdad.tar.gz gcc-d6c0d37780931a82f979aee0844eced3d97abdad.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/pa/pa.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 71d1896..9d7c5c1 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)) { |