CONTENTS | PREV | NEXT

 The FPU: An Overview 

The FPU of the PowerPC knows two sorts of numbers: Single Precision 32 Bit Numbers
and Double Precision 64 Bit Numbers.

Single Precision: +-1.2*10^-38 to +-3.4 * 10^38
Double Precision: +-2.2*10^-308 to +-1.8 * 10^308

The FPU conforms in both Precisions to the IEEE 754 Standard.

Single Precision Values can be converted automatically to Double Precision Values,
but Double Precision to Single Precision Conversion has to be done manually.

Double Precision Calculations take Singles and Doubles as Parameter, the result is
Double. Single Precision Calculations only take Singles as Parameter, the Result is
Single.

The FPU has 32 64 Bit registers, known as f0-f31.

Floating Point Parameters of Subfunctions can be given in f1-f13, return values in
f1-f4. f14-f31 have to be restored, if the subfunction changes them.

A Special case concerning FPU Operations are the "Not-A-Numbers". The "Not-A-Numbers
cause problems with a lot of calculation-commands, so it is adviced, that you make
security-checks, if you do not want CPU-Exceptions to happen. As default, the FPU
Exceptions are switched off in WarpOS, though, so Exceptions cannot happen.
For Compare commands, there are two versions: One that causes an Exception, and
one that sets a special "unordered" Bit in the Condition Field used.