x86-64 呼び出し規約(概略)
Microsoft x64
引数
型 | 第1 | 第2 | 第3 | 第4 |
---|---|---|---|---|
整数・ポインタ | RCX | RDX | R8 | R9 |
浮動小数点 | XMM0 | XMM1 | XMM2 | XMM3 |
- レジスタだけでは引数が不足する場合、スタックを使用する。
戻り値
整数型・ポインタ型はRAXを、浮動小数点型はXMM0を使用して返される。
System V AMD64 ABI
引数
型 | 第1 | 第2 | 第3 | 第4 |
---|---|---|---|---|
整数・ポインタ | RDI | RSI | RDX | RCX |
浮動小数点 | XMM0 | XMM1 | XMM2 | XMM3 |
型 | 第5 | 第6 | 第7 | 第8 |
---|---|---|---|---|
整数・ポインタ | R8 | R9 | ||
浮動小数点 | XMM4 | XMM5 | XMM6 | XMM7 |
戻り値
RAXを使用して返される。
アライメント
x86-64では16バイトにアラインされる。