alpha.c (alpha_emit_xfloating_compare): Use CCmode instead of COMPARE for the EQUIV...
authorRichard Henderson <rth@redhat.com>
Sun, 15 Jul 2001 15:56:46 +0000 (08:56 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Sun, 15 Jul 2001 15:56:46 +0000 (08:56 -0700)
        * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
        instead of COMPARE for the EQUIV expression.

From-SVN: r44024

gcc/ChangeLog
gcc/config/alpha/alpha.c

index 90761024ad095dbe61349ea0de2c7182471b75a8..4ff9680953e7fd6a21da31bd5fd31f287ef8ded2 100644 (file)
@@ -1,3 +1,8 @@
+2001-07-15  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
+       instead of COMPARE for the EQUIV expression.
+
 2001-07-15  Richard Henderson  <rth@redhat.com>
 
        * flow.c (redirect_edge_and_branch_force): Initialize
index 12bd57700495e7afb2abf2009c480f6ef1d2e66e..bab97c267189f5db6af21c025d75d1204b0b1c6c 100644 (file)
@@ -2406,10 +2406,10 @@ alpha_emit_xfloating_compare (code, op0, op1)
   operands[1] = op1;
   out = gen_reg_rtx (DImode);
 
-  /* ??? Strange equiv cause what's actually returned is -1,0,1, not a
-     proper boolean value.  */
-  alpha_emit_xfloating_libcall (func, out, operands, 2, 
-                               gen_rtx_COMPARE (TFmode, op0, op1));
+  /* ??? Strange mode for equiv because what's actually returned
+     is -1,0,1, not a proper boolean value.  */
+  alpha_emit_xfloating_libcall (func, out, operands, 2,
+                               gen_rtx_fmt_ee (code, CCmode, op0, op1));
 
   return out;
 }