https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80938
--- Comment #4 from Segher Boessenkool <segher at gcc dot gnu.org> --- Author: segher Date: Wed Aug 9 21:08:33 2017 New Revision: 251005 URL: https://gcc.gnu.org/viewcvs?rev=251005&root=gcc&view=rev Log: rs6000: Use SAVE_MULTIPLE only if we restore what it saves (PR80938) We can have SAVE_MULTIPLE while we do not have REST_MULTIPLE. If the inline restore does not restore all registers, the CFI for the save and restore can conflict if things are shrink-wrapped. We could restore all registers that are saved (not ideal), or emit the CFI notes to say we did (which will work fine, but is also not so great); instead, let's not save the registers that are unused. PR target/80938 * config/rs6000/rs6000.c (rs6000_savres_strategy): Don't use SAVE_MULTIPLE if not all the registers that saves, should be saved. Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/rs6000.c