Commit d6c0d377 by Jeff Law

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
parent b4cb4994
...@@ -1983,7 +1983,6 @@ print_operand (file, x, code) ...@@ -1983,7 +1983,6 @@ print_operand (file, x, code)
} }
return; return;
case 'N': /* Condition, (N)egated */ case 'N': /* Condition, (N)egated */
case 'Y':
switch (GET_CODE (x)) switch (GET_CODE (x))
{ {
case EQ: case EQ:
...@@ -2012,6 +2011,29 @@ print_operand (file, x, code) ...@@ -2012,6 +2011,29 @@ print_operand (file, x, code)
abort (); abort ();
} }
return; 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. */ case 'S': /* Condition, operands are (S)wapped. */
switch (GET_CODE (x)) switch (GET_CODE (x))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment