http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45051
--- Comment #8 from Hans-Peter Nilsson <hp at gcc dot gnu.org> 2010-12-23 01:56:08 UTC --- (In reply to comment #7) > (insn 3163 3161 3164 107 rectmm.c:1041 (set (reg:SI 1 r1) > (plus:SI (reg:SI 1 r1) > (const_int 280 [0x118]))) 4 {*arm_addsi3} (nil)) > I think the issue might be that reg_mentioned_p() considers output registers > to > have been "mentioned", whereas the refers_to_regno_p() does not consider an > output register to have been "referred to". But r1 is an input as well as an output , i.e. "referred to", so insn 3163 should have matched without your patch. I'm missing analysis on why that didn't happen. Nevertheless, I'm testing r162418 with your patch. Also, you should open a separate PR for the regression you see, not just reuse this one. Use the depends-on features for the dependency.