從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兼容性?