http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50427
--- Comment #1 from Peter A. Bigot <bigotp at acm dot org> 2011-09-16 10:25:31 UTC --- Created attachment 25302 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25302 Potential fix for problem As far as I can tell, IRA misses this because it doesn't detect that the back end has generated RTL with pre-assigned general-purpose hard registers. Whether this technique is valid or not, it is also used in the avr backend for the same purpose (preparing to call a support routine that does not follow the standard ABI), though in that case the use is deeper in a parallel insn. The attached patch appears to fix the problem in my situation. I'd appreciate any comments and suggestions if there's a better solution.