从GCC documentation解释force_align_arg_pointer功能属性
在Intel x86上,force_align_arg_pointer
属性可以被应用于个人函数定义,生成一个替代prologue
和epilogue
,重新调整所述runtime stack
。这支持将与4字节对齐的堆栈运行的传统代码与保留16字节堆栈的现代代码混合起来以用于SSE compatibility
。备选序言和结语比普通序言更慢更大,而备选序言则需要scratch register
;如果与regparm attribute
一起使用,这会降低可用寄存器的数量。 force_align_arg_pointer
属性与嵌套函数不兼容;这被认为是一个严重的错误。
具体而言,我想知道什么是序言,结尾和SSE兼容性?