https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91981
--- Comment #2 from Segher Boessenkool <segher at gcc dot gnu.org> --- I didn't have an x86 C++ compiler handy, so I tried on powerpc. This isn't a big problem there, since we do separate shrink-wrapping by default on powerpc; disabling that makes this pretty bad here, too. Shrink-wrapping does not change the generated code, it just inserts the prologue/epilogue at some better place(s). Have a look at what the RTL was at shrink-wrap time? It looks like something else change things later.