https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111107
--- Comment #44 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > Right, sorry, I should clarify—I can see what the *actual* effect of > -mstackrealign / __force_align_arg_pointer__ is. I'm confused at what its > *intended* effect is. "Align to 16 bytes, but only if we need 16-byte > alignment, and do nothing if we need 8-byte alignment" seems very odd and > not intended. Yes, it was invented to support SSE instructions that require strict 16-byte alignment of memory references.