fold-const.c (fold): Fix typo in COND_EXPR handling code.
authorMichael Tiemann <michael@impact.tiemann.org>
Sat, 19 Sep 1998 23:27:02 +0000 (23:27 +0000)
committerJeff Law <law@gcc.gnu.org>
Sat, 19 Sep 1998 23:27:02 +0000 (17:27 -0600)
        * fold-const.c (fold): Fix typo in COND_EXPR handling code.
        (invert_truthvalue): Enable truthvalue inversion for
        floating-point operands if -ffast-math.

From-SVN: r22488

gcc/ChangeLog
gcc/fold-const.c

index 65d67d5..ae27929 100644 (file)
@@ -1,3 +1,9 @@
+Sun Sep 20 00:22:23 1998  Michael Tiemann  <michael@impact.tiemann.org>
+
+       * fold-const.c (fold): Fix typo in COND_EXPR handling code.
+       (invert_truthvalue): Enable truthvalue inversion for
+       floating-point operands if -ffast-math.
+
 Sat Sep 19 23:58:07 1998  Melissa O'Neill <oneill@cs.sfu.ca>
                         
        * configure.in: Disable collect2 for nextstep.  Instead use
index 8a289a8..5eab656 100644 (file)
@@ -2230,7 +2230,7 @@ invert_truthvalue (arg)
   if (TREE_CODE_CLASS (code) == '<')
     {
       if (FLOAT_TYPE_P (TREE_TYPE (TREE_OPERAND (arg, 0)))
-         && code != NE_EXPR && code != EQ_EXPR)
+         && !flag_fast_math && code != NE_EXPR && code != EQ_EXPR)
        return build1 (TRUTH_NOT_EXPR, type, arg);
       else
        return build (invert_tree_comparison (code), type,
@@ -5824,7 +5824,8 @@ fold (expr)
              t = build (code, type, tem,
                         TREE_OPERAND (t, 2), TREE_OPERAND (t, 1));
              arg0 = tem;
-             arg1 = TREE_OPERAND (t, 2);
+             /* arg1 should be the first argument of the new T.  */
+             arg1 = TREE_OPERAND (t, 1);
              STRIP_NOPS (arg1);
            }
        }