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.