diff options
author | Richard Henderson <rth@redhat.com> | 2002-03-28 10:52:43 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2002-03-28 10:52:43 -0800 |
commit | b8de5050cbe9d296cee16332684b2eb31c277fd6 (patch) | |
tree | 83e2591ec6db4aa0ee2b00033360f3b627aa6e69 /gcc | |
parent | 619708cce29db738d1926514d92c07b24f689b22 (diff) | |
download | gcc-b8de5050cbe9d296cee16332684b2eb31c277fd6.zip gcc-b8de5050cbe9d296cee16332684b2eb31c277fd6.tar.gz gcc-b8de5050cbe9d296cee16332684b2eb31c277fd6.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.c | 30 |
2 files changed, 24 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 288f510..b1094d7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 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 on to c_expand_body. * c-tree.h (finish_function): Update decl. diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 6893677..73baa89 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -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 |