On Sun, May 17, 2015 at 10:54 PM, Alan Modra <amo...@gmail.com> wrote: > This patch changes rs6000_stack_info to keep save areas offsets even > when not used. I need lr_save_offset valid for split-stack, and it > seemed reasonable to treat the other offsets the same. Not zeroing > the offsets requires just one change in code that uses them, the > use_backchain_to_restore_sp expression in rs6000_emit_epilogue, not > counting the debug_stack_info changes. > > * config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets > when not saving registers. > (debug_stack_info): Adjust to omit printing unused offsets, > as before. > (rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp > expression.
I think that the vrsave_save_offset change may break saving of callee-saved VRs. See PR 55276. Additional points for converting the testcase into one that can be included in the GCC testsuite. Thanks, David