15

通常のレジスタをカバーする同様の投稿があります。NEONレジスタはどうですか。私が覚えている限りでは、レジスタの上半分または下半分のいずれかを関数呼び出し間で保持する必要があります。その情報はどこにも見つかりません、誰かがそれを明確にすることができますか?

ありがとう

AAPCSから、§5.1.1 コア レジスタ:

  • r0 ~ r3は、引数およびスクラッチ レジスタです。r0-r1は結果レジスタでもあります
  • r4-r8は呼び出し先保存レジスタです。
  • r9は callee-save レジスターである場合とそうでない場合があります (AAPCS の一部のバリアントでは、これは特殊レジスターです)。
  • r10-r11は呼び出し先保存レジスタです。
  • r12~r15は特殊レジスタ

AAPCSから、§5.1.2.1 VFP レジスタの使用規則 (VFP v2、v3、および Advanced 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 に答える