https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212

--- Comment #414 from Oleg Endo <olegendo at gcc dot gnu.org> ---
(In reply to Kazumoto Kojima from comment #410)
> Created attachment 59432 [details]
> a trial patch for c#404
> 
> It's difficult to see what is going on, because the test case is too huge. 
> Looking at the postmortem debug, it seems that reload failed with f - r reg
> move generated by LRA, perhaps in starvation of registers including fpu regs
> and fpul.  That case might require reloading with memories which isn't
> handled by the current movsf logic for LRA.
> 
> The patch falls back to movsf_ie for f - r moves when lra_in_progress is
> true.
> Tested with c/c++ testsuite on devel/sh-lra.

I've merged this patch into commit "SH: Try to workaround fp-reg related move
insns pt.2" and added the reduced test case from comment #413.

It looks like the two commits "SH: Try to workaround fp-reg related ..." should
be squashed.  Will do that in the next iteration.

Updated branch: https://github.com/olegendo/gcc/tree/devel/sh-lra

Reply via email to