https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113912
--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by H.J. Lu <[email protected]>: https://gcc.gnu.org/g:853eb57759967335a7ea872e6a0721034db6fabd commit r14-9058-g853eb57759967335a7ea872e6a0721034db6fabd Author: H.J. Lu <[email protected]> Date: Tue Feb 13 13:32:44 2024 -0800 x86-64: Generate push2/pop2 only if the incoming stack is 16-byte aligned Since push2/pop2 requires 16-byte stack alignment, don't generate them if the incoming stack isn't 16-byte aligned. gcc/ PR target/113912 * config/i386/i386.cc (ix86_can_use_push2pop2): New. (ix86_pro_and_epilogue_can_use_push2pop2): Use it. (ix86_emit_save_regs): Don't generate push2 if ix86_can_use_push2pop2 return false. (ix86_expand_epilogue): Don't generate pop2 if ix86_can_use_push2pop2 return false. gcc/testsuite/ PR target/113912 * gcc.target/i386/apx-push2pop2-2.c: New test.
