FPU Programmer’s Model
ARM DDI 0363E
Copyright © 2009 ARM Limited. All rights reserved.
12-10
ID013010
Non-Confidential, Unrestricted Access
12.4
Modes of operation
The FPU provides three modes of operation to accommodate a variety of applications:
•
Full-compliance mode
•
Flush-to-zero mode
•
Default NaN mode
12.4.1
Full-compliance mode
In full-compliance mode, the FPU processes all operations according to the IEEE 754 standard
in hardware.
12.4.2
Flush-to-zero mode
Setting the FZ bit, FPSCR[24], enables flush-to-zero mode. In this mode, the FPU treats all
subnormal input operands of arithmetic
CDP
operations as zeros in the operation. Exceptions that
result from a zero operand are signaled appropriately.
VABS
,
VNEG
, and
VMOV
are not considered
arithmetic
CDP
operations and are not affected by flush-to-zero mode. A result that is
tiny
, as
described in the IEEE 754 standard, for the destination precision is smaller in magnitude than
the minimum normal value
before rounding
and is replaced with a zero. The IDC flag,
FPSCR[7], indicates when an input flush occurs. The UFC flag, FPSCR[3], indicates when a
result flush occurs.
12.4.3
Default NaN mode
Setting the DN bit, FPSCR[25], enables default NaN mode. In this mode, the result of any
operation that involves an input NaN, or that generated a NaN result, returns the default NaN.
Propagation of the fraction bits is maintained only by
VABS
,
VNEG
, and
VMOV
operations. All other
CDP
operations ignore any information in the fraction bits of an input NaN.