From e5075818720b781f7da518311bfa0f9f3cf33572 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Mon, 26 Jul 1993 20:26:20 -0400 Subject: [PATCH] (fold, case EQ_EXPR): Remove code that converts mod to unsigned mod; it isn't correct for negative operands. From-SVN: r4995 --- gcc/fold-const.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 5b9d8511cbe..5f23e98ff95 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -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. */ -- 2.30.2