| |||
| Home > Programmers Model > Register descriptions > Floating-Point Status and Control Register | |||
The FPSCR characteristics are:
Provides User level control of the FPU.
There are no usage constraints.
Available in all FPU configurations.
See the register summary in Table 2.7.
Figure 2.4 shows the FPSCR bit assignments.
Table 2.10 shows the FPSCR bit assignments.
Table 2.10. FPSCR bit assignments
| Bits | Field | Function |
|---|---|---|
| [31] | N | Set to 1 if a comparison operation produces a less than result. |
| [30] | Z | Set to 1 if a comparison operation produces an equal result. |
| [29] | C | Set to 1 if a comparison operation produces an equal, greater than, or unordered result. |
| [28] | V | Set to 1 if a comparison operation produces an unordered result. |
| [27] | QC | Set to 1 if an Advanced SIMD integer operation has saturated since 0 was last written to this bit.[a] |
| [26] | AHP | Alternative Half-Precision control bit:
|
| [25] | DN | Default NaN mode control bit:
Advanced SIMD arithmetic always uses the Default NaN setting, regardless of the value of the DN bit. |
| [24] | FZ | Flush-to-zero mode control bit:
Advanced SIMD arithmetic always uses the Flush-to-zero setting, regardless of the value of the FZ bit. |
| [23:22] | RMode | Rounding Mode control field:
Advanced SIMD arithmetic always uses the Round to Nearest setting, regardless of the value of the RMode bits. |
| [21:20] | Stride | Stride control used for backwards compatibility with short vector operations. The Cortex-A9 NEON MPE ignores the value of this field. See the ARM Architecture Reference Manual. |
| [19] | - | UNK/SBZP. |
| [18:16] | Len | Vector length, used for backwards compatibility with short vector operation. If you set this field to a non-zero value, the VFP data-processing instructions generate exceptions. See the ARM Architecture Reference Manual. |
| [15:8] | - | UNK/SBZP. |
| [7] | IDC | Input Denormal cumulative exception flag.[a] |
| [6:5] | - | UNK/SBZP. |
| [4] | IXC | Inexact cumulative exception flag.[a] |
| [3] | UFC | Underflow cumulative exception flag.[a] |
| [2] | OFC | Overflow cumulative exception flag.[a] |
| [1] | DZC | Division by Zero cumulative exception flag.[a] |
| [0] | IOC | Invalid Operation cumulative exception flag.[a] |
[a] The exception flags, bit [27], bit [7], and bits [4:0] of the FPSCR are exported on the DEFLAGS output so they can be monitored externally to the processor, if required. | ||
You can access the FPSCR with the following VMSR instructions:
VMRS <Rd>, FPSCR ; Read Floating-Point Status and Control RegisterVMSR FPSCR, <Rt> ; Write Floating-Point Status and Control Register