15

有一个类似的帖子涵盖了常规寄存器。NEON 寄存器呢?据我记得,寄存器的上半部分或下半部分必须在函数调用中保留。我在任何地方都找不到该信息,有人可以澄清一下吗?

谢谢

AAPCS,§5.1.1 核心寄存器

  • r0-r3是参数和暂存寄存器;r0-r1也是结果寄存器
  • r4-r8是被调用者保存寄存器
  • r9可能是被调用者保存寄存器,也可能不是(在 AAPCS 的某些变体中,它是一个特殊寄存器)
  • r10-r11是被调用者保存寄存器
  • r12-r15是特殊寄存器

AAPCS,§5.1.2.1 VFP 寄存器使用约定(VFP v2、v3 和高级 SIMD 扩展)

  • s16–s31 (d8–d15, q4–q7)必须保留
  • s0–s15 (d0–d7, q0–q3)d16–d31 (q8–q15)不需要保留
4

1 回答 1

13

来自AAPCS,§5.1.2.1

  • s16–s31 (d8–d15, q4–q7)必须保留
  • s0–s15 (d0–d7, q0–q3)d16–d31 (q8–q15)不需要保留
于 2011-03-13T09:10:19.390 回答