mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-22 13:44:52 +08:00
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: r51519
This commit is contained in:
parent
619708cce2
commit
b8de5050cb
@ -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
|
||||
|
@ -2812,21 +2812,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
|
||||
|
Loading…
Reference in New Issue
Block a user