Register usage for 32 bit Linux


    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