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

--- Comment #3 from jcmvbkbc at gcc dot gnu.org ---
(In reply to rsand...@gcc.gnu.org from comment #2)
> What code should GCC generate if it wants to move the given
> MEM into an FP register?  The two main options are:
> 
> (1) reload the literal address into a temporary register.
>     This can be done by using "define_memory_constraint"
>     instead of "define_constraint" to define "U".

I've tried that, it doesn't change anything for me. I've also tried doing this
change to the "T" constraint and to both of them. Nothing.

> (2) load into a general-purpose register and then move the
>     general-purpose register to an FP register.  This can
>     be done using the TARGET_SECONDARY_RELOAD hook.

There's already TARGET_SECONDARY_RELOAD hook for xtensa which seems to do
exactly this. But it's not called from the reload and later passes for literal
loads into FPU registers.

Reply via email to