alpha.c (alpha_emit_conditional_branch): TFmode NE comparison should be done vs !=0 not >0 return code.

* config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
        comparison should be done vs !=0 not >0 return code.  Tidy cases.

From-SVN: r51520
This commit is contained in:
Richard Henderson 2002-03-28 10:53:38 -08:00 committed by Richard Henderson
parent dc004e43e0
commit 66b43b5310
2 changed files with 24 additions and 11 deletions

View File

@ -1,3 +1,8 @@
2002-03-28 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
comparison should be done vs !=0 not >0 return code. Tidy cases.
2002-03-28 Richard Henderson <rth@redhat.com>
* c-decl.c (finish_function): New arg can_defer_p. Pass it

View File

@ -2805,21 +2805,29 @@ alpha_emit_conditional_branch (code)
1 true
Convert the compare against the raw return value. */
if (code == UNORDERED || code == ORDERED)
cmp_code = EQ;
else
cmp_code = code;
switch (code)
{
case UNORDERED:
cmp_code = EQ;
code = LT;
break;
case ORDERED:
cmp_code = EQ;
code = GE;
break;
case NE:
cmp_code = NE;
code = NE;
break;
default:
cmp_code = code;
code = GT;
break;
}
op0 = alpha_emit_xfloating_compare (cmp_code, op0, op1);
op1 = const0_rtx;
alpha_compare.fp_p = 0;
if (code == UNORDERED)
code = LT;
else if (code == ORDERED)
code = GE;
else
code = GT;
}
/* The general case: fold the comparison code to the types of compares