aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1997-01-03 11:13:19 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1997-01-03 11:13:19 -0500
commit35d9eabb9dfc334f2a96e3f2dbcc8a9bdebc9970 (patch)
treec1ad3899cff25226a75fc071ecc32553ed293473 /gcc
parentb685dbaebcd1ac317b3095f251d6a55ad055fd27 (diff)
downloadgcc-35d9eabb9dfc334f2a96e3f2dbcc8a9bdebc9970.zip
gcc-35d9eabb9dfc334f2a96e3f2dbcc8a9bdebc9970.tar.gz
gcc-35d9eabb9dfc334f2a96e3f2dbcc8a9bdebc9970.tar.bz2
(rtx_equal_for_thread_p): Return 0 for floating-point.
From-SVN: r13361
Diffstat (limited to 'gcc')
-rw-r--r--gcc/jump.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index 5353c58..1d2b3cb 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -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')