Stack alignment (source code)

= Stack alignment

<Stack alignment> constrains the <stack pointer> to a multiple of a specified byte boundary. <AAPCS32> requires word alignment generally and eight-byte alignment at public interfaces. Saving four 32-bit words preserves eight-byte alignment; saving three would change it by four bytes and may require padding before another call. Frame size and the alignment of local objects must be considered together.<Procedure Call Standard for the Arm Architecture by ARM Limited>[Base standard, universal and public-interface stack constraints]{ref}