http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49847
--- Comment #26 from Jeffrey A. Law <law at redhat dot com> --- I'd pondered the emit-the-condition twice, one marked as NOTHROW and it may ultimately be the best short term solution. I just don't have enough background on the original change which resulted in this problem to evaluate if other solutions might be viable. FWIW, at one time we did (or considered) a vaguely similar trick to deal with reloads of float point condition codes. IIRC, the target had multiple FP condition code registers, so we wanted to use pseudos and allocate them like any other register. Of course that leads to the potential problem that you can run out and may need to spill them, but the only way to set the hard registers was by doing comparisons, so reloading them after spilling was, umm, nontrivial. Not sure what ever happened with that. FWIW, this potentially affects the m68k, vax, v850, pdp11, h8300, cris, avr and cr16. Of those, I think only the m68k has an FPU, so the impact may be very very small right now.