https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212
--- Comment #131 from Kazumoto Kojima <kkojima at gcc dot gnu.org> --- Created attachment 58832 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=58832&action=edit a patch to fix broken_move for -mlra BTW, I fould an oversite when adding movsf_ie_ra insn_and_split too. There is an ICE for __powisf2 with -O2 -mlra durring libgcc build. With -mlra, movsf expander might generate constant load with registers instead of scratches. broken_move assumed a scratch only when handles fldi0/1. * config/sh/sh.cc (broken_move): Take movsf_ie_ra into account for fldi cases.