aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-03-28 10:52:43 -0800
committerRichard Henderson <rth@gcc.gnu.org>2002-03-28 10:52:43 -0800
commitb8de5050cbe9d296cee16332684b2eb31c277fd6 (patch)
tree83e2591ec6db4aa0ee2b00033360f3b627aa6e69 /gcc
parent619708cce29db738d1926514d92c07b24f689b22 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/config/alpha/alpha.c30
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