| |
|
CALLEE |
| REGISTER |
USAGE |
SAVE |
| %rsp |
Stack pointer |
YES |
| %rbx |
optional base pointer |
YES |
| %rbp |
optional frame pointer |
YES |
| %rax |
integer return val |
NO |
| %rdi |
1st int arg |
NO |
| %rsi |
2nd int arg |
NO |
| %rdx |
3rd int arg |
NO |
| %rcx |
4th int arg |
NO |
| %r8 |
5th int arg |
NO |
| %r9 |
6th int arg |
NO |
| %r10 |
used to pass static chain pointer |
NO |
| %r11 |
scratch reg |
NO |
| %r12-15 |
callee-saved regs |
YES |
| %xmm0-1 |
pass & return fp args |
NO |
| %xmm2-7 |
pass fp args |
NO |
| %xmm8-15 |
scratch regs |
NO |
| %mmx0-7 |
scratch regs, aliased to fp stack |
NO |
| %st |
returns long double args |
NO |
| |
aliased with mmx regs |
|
| %st1-7 |
scratch regs, aliased with mmx |
NO |
|