From: Richard Kenner Date: Sun, 31 Jan 1993 22:44:48 +0000 (-0500) Subject: (simplify_and_const_int): Never consider bits outside of MODE. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fc06d7aaee369e5d8847640c7fc2b16c98a0dc68;p=platform%2Fupstream%2Fgcc.git (simplify_and_const_int): Never consider bits outside of MODE. From-SVN: r3398 --- diff --git a/gcc/combine.c b/gcc/combine.c index 8be5a05..1bf0405 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -5899,8 +5899,11 @@ simplify_and_const_int (x, mode, varop, constop) if (GET_CODE (varop) == CONST_INT) return GEN_INT (constop & INTVAL (varop)); - /* See what bits may be nonzero in VAROP. */ - nonzero = nonzero_bits (varop, mode); + /* See what bits may be nonzero in VAROP. Unlike the general case of + a call to nonzero_bits, here we don't care about bits outside + MODE. */ + + nonzero = nonzero_bits (varop, mode) & GET_MODE_MASK (mode); /* Turn off all bits in the constant that are known to already be zero. Thus, if the AND isn't needed at all, we will have CONSTOP == NONZERO_BITS