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

--- Comment #375 from Oleg Endo <olegendo at gcc dot gnu.org> ---
(In reply to Kazumoto Kojima from comment #374)
> Created attachment 59286 [details]
> a patch for c#367
> 
> We use movsf_ie as a fall-back for for moving fp-reg from/to multiword
> subreg in 59190.  Looks this confuses LRA with the SI mode scratch
> constrained to "y".
> 
> The patch uses a new pattern instead of movsf_ie.  It's a mini movsf_ie in a
> sense but with the SFmode scratch.
> 
> Tested only with target libgcc/libstdc++v3 build and c testsuite.

I've updated my branch https://github.com/olegendo/gcc/commits/devel/sh-lra/

* Merged the patch from comment #374 into the commit "SH: Try to workaround
fp-reg related move insns pt.2".

* Tidied up the other patches on the stash a bit (add/fix commit messages, ..)

* The patch "SH: Tighten memory predicates and constraints" now seems to work
without LRA.  At least the testsuite on sh-sim for the common variants shows no
new failures.  My plan is to merge this commit into mainline soon, as a start.

Briefly confirmed that the previous problematic cases mentioned here still work
with it (will add them to the testsuite eventually).  Also confirmed that
sh-elf / newlib toolchain and target libs can build OK.  Testsuite results
pending.  Hope I didn't miss anything, please re-confirm if you have a chance.

Reply via email to