]> git.ipfire.org Git - thirdparty/gcc.git/commit
x86-64: Use push2/pop2 only if the incoming stack is 16-byte aligned
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 13 Feb 2024 19:58:00 +0000 (11:58 -0800)
committerH.J. Lu <(no_default)>
Tue, 13 Feb 2024 20:05:09 +0000 (12:05 -0800)
commitab71fd7ac7a2307723117c796e7ae4d7e9711058
tree18ae9818bbeb672b83a412a70e2f9e96354f0f18
parenta5d34b60c949e85aa3e213872fbc42f4eee7457b
x86-64: Use push2/pop2 only if the incoming stack is 16-byte aligned

Since push2/pop2 requires 16-byte stack alignment, don't use them if the
incoming stack isn't 16-byte aligned.

gcc/

PR target/113876
* config/i386/i386.cc (ix86_pro_and_epilogue_can_use_push2pop2):
Return false if the incoming stack isn't 16-byte aligned.

gcc/testsuite/

PR target/113876
* gcc.target/i386/pr113876.c: New test.
gcc/config/i386/i386.cc
gcc/testsuite/gcc.target/i386/pr113876.c [new file with mode: 0644]