*** empty log message ***
authorRichard Stallman <rms@gnu.org>
Sat, 11 Jul 1992 22:23:31 +0000 (22:23 +0000)
committerRichard Stallman <rms@gnu.org>
Sat, 11 Jul 1992 22:23:31 +0000 (22:23 +0000)
From-SVN: r1560

gcc/cse.c

index a47e691a54d87b6d2617cc117585ef6d8cb39a30..5b98cb82a4c21c0c0d4cd344b22754df9da0a5a0 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -3736,9 +3736,14 @@ simplify_binary_operation (code, mode, op0, op1)
        case DIV:
          if (op1 == CONST1_RTX (mode))
            return op0;
-         else if (op0 == CONST0_RTX (mode)
-                  && ! side_effects_p (op1))
+
+         /* In IEEE floating point, 0/x is not always 0.  */
+         if ((TARGET_FLOAT_FORMAT != IEEE_FLOAT_FORMAT
+              || GET_MODE_CLASS (mode) == MODE_INT)
+             && op0 == CONST0_RTX (mode)
+             && ! side_effects_p (op1))
            return op0;
+
 #if 0 /* Turned off till an expert says this is a safe thing to do.  */
 #if ! defined (REAL_IS_NOT_DOUBLE) || defined (REAL_ARITHMETIC)
          /* Change division by a constant into multiplication.  */