------- Comment #9 from dje at gcc dot gnu dot org 2006-04-25 16:09 ------- By the way, while Andrew and my patch does produce correct code, it reverts to the original behavior of the constant propagating into the AND between life2 and lreg, not between life1 and combine. Somehow combine is able to form the AND with the wrong constant that does not match the pattern but cannot form the AND with the correct, sign-extended constant.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27282