gp / x3 可以当普通临时寄存器吗?
不应该。psABI 将它标记为不可分配,标准 ABI 过程不应修改。
gp 是 psABI 中的 global pointer,并被标记为不可分配寄存器。标准 ABI 过程不应修改 gp,因为信号处理器可能依赖它的值。
gp 在 psABI 中标记为不可分配寄存器。过程不应修改它,因为信号处理器可能依赖该值。
gp / x3 是 psABI 标记的不可分配寄存器。标准 ABI 过程不应修改它;它不是普通 caller-saved 或 callee-saved 寄存器选择。
psABI 将 gp 标记为不可分配寄存器。
psABI 明确标准 ABI 过程不应修改 gp,因为信号处理器可能依赖它。
它不是 caller-saved 或 callee-saved 的普通选择题,而是不要分配给普通代码使用。
# 不要在标准 ABI 函数中借用 gp
# 如果平台 ABI 指定了 gp 用途,按平台 ABI 处理
# 临时计算请使用 t0-t6 或按调用约定保存其他寄存器不应该。psABI 将它标记为不可分配,标准 ABI 过程不应修改。
都不是普通意义上的 caller/callee 选择;它是不可分配寄存器,普通代码不应借用。