[PATCH] D37312: Add documentation for force_align_arg_pointer function attribute
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 31 11:33:41 PDT 2017
aaron.ballman added inline comments.
================
Comment at: include/clang/Basic/AttrDocs.td:2812
+Legacy x86 code uses 4-byte stack alignment. Newer aligned SSE instructions
+(like 'movaps') that work with stack require operands to be 16-byte aligned.
+This attribute realigns stack in the function prologue to make sure the stack
----------------
work with stack -> work with the stack
================
Comment at: include/clang/Basic/AttrDocs.td:2813
+(like 'movaps') that work with stack require operands to be 16-byte aligned.
+This attribute realigns stack in the function prologue to make sure the stack
+can be used with SSE instructions.
----------------
realigns stack -> realigns the stack
================
Comment at: include/clang/Basic/AttrDocs.td:2817
+Note that the x86_64 ABI forces 16-byte stack alignment at the call site.
+Because of this, 'force_align_arg_pointer' is not needed at x86_64 except rare
+cases when caller does not align the stack correctly (e.g. flow jumps from i386
----------------
at x86_64 except rare cases when caller -> on x86_64, except in rare cases where the caller
https://reviews.llvm.org/D37312
More information about the cfe-commits
mailing list