OSDN Git Service

(fold, case EQ_EXPR): Remove code that converts mod to unsigned mod;
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Jul 1993 00:26:20 +0000 (00:26 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Jul 1993 00:26:20 +0000 (00:26 +0000)
it isn't correct for negative operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4995 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/fold-const.c

index 5b9d851..5f23e98 100644 (file)
@@ -4203,6 +4203,10 @@ fold (expr)
                           arg1));
        }
 
+      /* It would be nice to do this since it generates better code.
+        Unfortunately, it doesn't produce the correct result if the
+        first operand is negative.  */
+#if 0
       /* If this is an NE or EQ comparison of zero against the result of a
         signed MOD operation, make the MOD operation unsigned since it
         is simpler and equivalent.  */
@@ -4221,6 +4225,7 @@ fold (expr)
 
          return build (code, type, newmod, convert (newtype, arg1));
        }
+#endif
 
       /* If this is an NE comparison of zero with an AND of one, remove the
         comparison since the AND will give the correct value.  */