http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45966
--- Comment #1 from Bernd Schmidt <bernds at gcc dot gnu.org> 2010-10-11 13:55:03 UTC --- Over here the replacement isn't happening due to costs: Successfully matched this instruction: (set (reg:SI 155) (and:SI (reg:SI 0 r0 [ p ]) (const_int 4095 [0xfff]))) rejecting combination of insns 2, 6, 7 and 8 original costs 4 + 4 + 4 + 8 = 20 replacement costs 12 + 12 = 24 What's your exact cc1 command line?