0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Function Calling Convention (AArch64)

Last updated at Posted at 2016-12-15

今回はAArch64の関数呼び出しにおける規約のメモ書き。

汎用レジスタ(整数型?)

x0-x7

引数/戻り値

x8

戻り値が構造体等の場合に使用される?

x9-X15

一時的なレジスタ?
Callee Saveなレジスタでなさそうなので、呼び出される側で元の値を保持する必要はない(と思われ)。

x16-x27

よく分かりません。

x18

プラットフォーム依存っぽい。TLSとか?

x19-x28

Callee Saveなレジスタなので、呼び出し側の値を保持する必要がある。おそらく呼び出される側が関数の処理の先頭でpush、終わりにpopしないといけない。

SIMDレジスタ(浮動小数点型も含む?)

v0-v7

引数/戻り値

d8-d15

Callee Saveなレジスタ。

v16-v31

Callee Saveなレジスタではなさそう。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?