https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66697
H.J. Lu <hjl.tools at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hjl.tools at gmail dot com --- Comment #20 from H.J. Lu <hjl.tools at gmail dot com> --- (In reply to Uroš Bizjak from comment #19) > (In reply to Justas L from comment #18) > > Out of curiosity, what could it be that makes -mincoming-stack-boundary=3 > > successfully deal with rogue code while -mstackrealign fails at that? > > Shouldn't -mstackrealign do the same job without being told what the outside > > stack alignment is, or am I misunderstanding it? > > -mstackrealign conditionally generates realignment prologue, depending on > presence of insns that require 128bit alignment. It looks that heuristics is > not yet fully reliable on x86_64. Bugreports welcome! -mstackrealign works correctly as designed on x86-64. The issue is MIN_STACK_BOUNDARY. When MIN_STACK_BOUNDARY is 128, you don't need to realign the stack if you only need 128-bit stack alignment.