https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212
--- Comment #132 from Kazumoto Kojima <kkojima at gcc dot gnu.org> --- Created attachment 58833 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=58833&action=edit a patch to fix a reload issue in movsf with LRA Another ICEs with LRA can be found for some conner cases. The first one has a one-liner testcase. It makes never ending reload sequence which ends up with an ICE with -O2 -mlra. float foo (float a) { return (__builtin_isinf (a)) ? __builtin_huge_valf () : a; } A trial is: * config/sh/sh.md (movsf): Use movsf_ie instead of movsf_ie_ra for simple reg-reg move.