Registers have the following content when control returns to the
point of call; all other floating point registers are undefined:
- R0
- Undefined.
- R1
- Undefined.
- R2 to R13
- Must be restored to entry values. This is done by EDCEPIL and EDCPRLG.
- R14
- Return address.
- R15
- Return value for integer types (long int, short int,
char) and pointer types. Otherwise set to 0.
- FP0
- Returns value for float or double parameters.
- FP0
- Returns value if long double is passed.
- FP2
- Returns value if long double is passed.
Note: When in FLOAT(AFP) mode the callee
must save and restore FPR's 8 through 15.