Hi! On Tue, May 02, 2023 at 02:18:43PM +0100, Roger Sayle wrote: > On 02 May 2023 13:40, Paul Koning wrote: > > > On May 1, 2023, at 7:37 PM, Roger Sayle <ro...@nextmovesoftware.com> > > wrote: > > > The shiftsi.cc regression on xstormy16 is fixed by adding > > > -fno-split-wide-types. > > > In fact, if all the regression tests pass, I'd suggest that > > > flag_split_wide-types = false should be the default on xstormy16 now > > > that we've moved to LRA. And if this works for xstormy16, it might be > > > useful to other targets for the LRA transition; it's a difference in > > > behaviour between reload and LRA that could potentially affect > > > multiple targets. > > > > Is there documentation for that flag? > > Yes, see the section -fsplit-wide-types in > https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html > > Interestingly, there's a recent-ish blog describing how > -fno-split-wide-types > reduces executable size on AVR: > https://ufj.ddns.net/blog/marlin/2019/01/07/reducing-marlin-binary-size.html > and its interaction with (AVR) register allocation is seen in PR > middle-end/35860.
But what causes the problem? Is something missing somewhere, or do we get too high register pressure? There also is -fsplit-wide-types-early, which might help. In principle it always is good to describe a machine model as close as possible to what the machine actually does. What gets in the way here? Segher