(rtx_equal_for_thread_p): Return 0 for floating-point.
authorRichard Kenner <kenner@gcc.gnu.org>
Fri, 3 Jan 1997 16:13:19 +0000 (11:13 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Fri, 3 Jan 1997 16:13:19 +0000 (11:13 -0500)
From-SVN: r13361

gcc/jump.c

index 5353c58fdccea0d2ac8a229faa021961fe67c021..1d2b3cb7f88039a30ac8883d2de20fa75208efc3 100644 (file)
@@ -1,5 +1,5 @@
 /* Optimize jump instructions, for GNU compiler.
-   Copyright (C) 1987, 88, 89, 91-95, 1996 Free Software Foundation, Inc.
+   Copyright (C) 1987, 88, 89, 91-96, 1997 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -4506,6 +4506,13 @@ rtx_equal_for_thread_p (x, y, yinsn)
   if (GET_MODE (x) != GET_MODE (y))
     return 0;
 
+  /* For floating-point, consider everything unequal.  This is a bit
+     pessimistic, but this pass would only rarely do anything for FP
+     anyway.  */
+  if (TARGET_FLOAT_FORMAT == IEEE_FLOAT_FORMAT
+      && FLOAT_MODE_P (GET_MODE (x)) && ! flag_fast_math)
+    return 0;
+
   /* For commutative operations, the RTX match if the operand match in any
      order.  Also handle the simple binary and unary cases without a loop.  */
   if (code == EQ || code == NE || GET_RTX_CLASS (code) == 'c')