On Fri, Oct 14, 2016 at 11:00 PM, Segher Boessenkool <seg...@kernel.crashing.org> wrote: > All out-of-line register save routines need LR, so we cannot wrap the > LR component if there are out-of-line saves. This didn't show up for > testing on Linux because none of the tests there use out-of-line FPR > saves without also using out-of-line GPR saves, which we did handle. > > This patch fixes it, and also cleans up code a little. > > Is this okay for trunk? > > > Segher > > > 2016-10-15 Segher Boessenkool <seg...@kernel.crashing.org> > > * config/rs6000/rs6000.c (rs6000_get_separate_components): Do not > make LR a separately shrink-wrapped component if savres_strategy > contains any of {SAVE,REST}_INLINE_{GPRS,FPRS,VRS}. Do not wrap > GPRs if {SAVE,REST}_INLINE_GPRS. Do not disallow all wrapping > when {SAVE,REST}_INLINE_GPRS.
This is okay. Maybe rs6000 always should prefer inline save-restore when SWS is enabled, except for optimize_size? Thanks, David