14
有一個覆蓋常規寄存器的similar post。 NEON註冊呢?據我記得,要麼在函數調用中保留寄存器的上半部分或下半部分。 我無法找到任何信息,有人可以澄清?ARM to C調用約定,NEON寄存器保存
感謝
從the AAPCS, §5.1.1 Core registers:
- R0-R3都是參數和臨時寄存器; R0-R1也是結果寄存器
- R4-R8都被調用者保存寄存器
- R9可能是一個被調用者保存寄存器(開AAPCS的一些變種它是一個特殊寄存器)
- R10-R11是被調用者保存寄存器
- R12-R15特殊寄存器
從the AAPCS, §5.1.2.1 VFP register usage conventions (VFP v2, v3 and the Advanced SIMD Extension):
- S16-S31(D8-D15,Q4-Q7)必須保留
- S0-S15(D0-D7,Q0-Q3)和D16-D31 (Q8-Q15)不需要保留
arm64的約定可以在http://stackoverflow.com/a/29603040/224671找到。 – kennytm 2016-06-18 13:30:02