http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57819
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 30457 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30457&action=edit gcc49-pr57819-2.patch Alternative that touches only i386 backend. In theory I think the simplify-rtx.c and combine.c changes are good and desirable, perhaps even with what I've tried first - that (zero_extend:SI (subreg:QI (and:DI (reg:DI) (const_int 63)) 0)) would be folded into (subreg:SI (and:DI (reg:DI) (const_int 63)) 0) But perhaps many backends will be surprised by that change and will need tweaks here and there. So any preferences here? I can bootstrap/regtest both patches...