Alpha systems have 32 floating-point registers. Each register is 64 bits wide. Each register can hold one 32-bit single-precision value or one 64-bit double-precision value.
The floating-point registers have the names $f0 to $f31.
Note You must include the leading dollar sign ($) whenever you specify a register.
Floating-point register $f31 always contains the value 0.0. All other floating-point registers can be used interchangeably.
The Alpha floating-point register assignments are as follows:
Register Name | Use |
$f0 | Used to hold floating-point type function results. In a standard call that returns a complex floating-point result, this register is used to return the real part of the result. |
$f1 | Used to hold floating-point type function results. In a standard call that returns a complex floating-point result, this register is used to return the imaginary part of the result. |
$f2-$f9 | Saved registers. Preserved across procedure calls. |
$f10-$f15 | Temporary registers used for expression evaluation. Not preserved across procedure calls. |
$f16-$f21 | Used to pass the first six single- or double-precision actual arguments. Not preserved across procedure calls. |
$f22-$f30 | Temporary registers used for expression evaluations. Not preserved across procedure calls. |
$f31 | Always has the value 0.0. |