CALLEE | ||
REGISTER | USAGE | SAVE |
Integer Registers | ||
r01 | Used in prolog/epilog | NO |
r1 | Stack pointer | YES |
r2 | TOC pointer (reserved) | YES |
r3-r4 | 1/2 para and return | NO |
r5-r10 | 3-8th integer para | NO |
r11-r12 | Func linkage regs | NO |
r12 | Used by global linkage | NO |
r13 | Small data area ptr reg | NO |
r14-30 | Global int registers | YES |
r31 | Global/environment ptr | YES |
Floating Point Registers | ||
f0 | Scratch reg | NO |
f1 | 1st para / return | NO |
f2-8 | 2-8th fp para | NO |
f9-f13 | Scratch reg | NO |
f14-f31 | Global fp regs | YES |
Special Registers | ||
CR0-CR7 | Condition reg fields, each 4 bits wide | 2, 3, 4 : YES |
LR | Link register | YES |
CTR | Count register | NO |
XER | Fixed pt exception | NO |
FPSCR | fp status & ctrl | NO |
Clint Whaley 2012-07-10