Floating-Point Registers

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.