tp / x4 可以当普通临时寄存器吗?
不应该。psABI 将它标记为不可分配,普通过程不应修改。
tp 是 psABI 中的 thread pointer,并被标记为不可分配寄存器。普通过程不应修改 tp;标准 ABI 这样规定,是因为信号处理器等运行环境可能依赖它的值。
tp 在 psABI 中标记为不可分配寄存器。普通过程不应修改它,因为信号处理器、运行时或平台约定可能依赖该值。
tp / x4 是 psABI 标记的不可分配寄存器。普通过程不应修改它;它不是普通 caller-saved 或 callee-saved 寄存器选择。
psABI 将 tp 标记为不可分配寄存器。
psABI 明确普通过程不应修改 tp,因为信号处理器可能依赖它。
它不是 caller-saved 或 callee-saved 的普通选择题,而是不要分配给普通代码使用。
# 不要在普通函数中借用 tp
# 具体线程模型和 TLS 访问形式取决于目标 ABI/工具链
# 临时计算请使用 t0-t6 或按调用约定保存其他寄存器不应该。psABI 将它标记为不可分配,普通过程不应修改。
都不是普通意义上的 caller/callee 选择;它是不可分配寄存器,普通代码不应借用。