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.

Reply via email to