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

--- Comment #330 from Oleg Endo <olegendo at gcc dot gnu.org> ---
(In reply to Kazumoto Kojima from comment #325)
> 
> Our movsf logic for LRA doesn't handle these well.  If these reg from/to
> subreg of SImode move is splitted with fpul, it will cause some very bad
> code or ICE.

I just re-checked PR 116709 ... a known issue from before, where it would ferry
values unnecessarily through FPUL. I think there's also a chance for that to
happen without LRA, but not usually.

Maybe FPUL should be hidden from register allocation.... anyway its use is
always limited to hold some intermediate value.  I don't think it ever holds
values over a longer live range. (similar story/issue as gp-reg R0)

Reply via email to