FPSR
32-bitFloating pointFloating-point status and control: the record of what has already happened. Each exception bit here is cumulative, meaning it records that the condition occurred at some point since it was last cleared, rather than the state of the most recent result.
N, Z, C and V are AArch32 state only. In AArch64 the corresponding flags live in PSTATE and are reached through NZCV.
Field layout
Current value hover a field to locate it
Fields
| Bits | Field | Bits | Value | Description |
|---|---|---|---|---|
| 31:28 | — | 4 | Not assigned to a documented field. Values written here are reserved and should be treated as read-as-zero unless the architecture says otherwise. | |
| 27 | QC[27] | 1 | 0x0 | Cumulative saturation, Advanced SIMD only. Set when a saturating instruction clamped its result rather than overflowing. |
| 26:8 | — | 19 | Not assigned to a documented field. Values written here are reserved and should be treated as read-as-zero unless the architecture says otherwise. | |
| 7 | IDC[7] | 1 | 0x0 | Input denormal. Set when a denormal operand was seen while FPCR.IDE was clear. |
| 6:5 | — | 2 | Not assigned to a documented field. Values written here are reserved and should be treated as read-as-zero unless the architecture says otherwise. | |
| 4 | IXC[4] | 1 | 0x0 | Inexact. Set when a result was not exact, that is, when rounding lost precision. |
| 3 | UFC[3] | 1 | 0x0 | Underflow. Set when a result was too small to be represented, allowing for rounding. |
| 2 | OFC[2] | 1 | 0x0 | Overflow. Set when the magnitude of a result exceeded the largest finite number of its format. |
| 1 | DZC[1] | 1 | 0x0 | Divide by zero. |
| 0 | IOC[0] | 1 | 0x0 | Invalid operation, for example square root of a negative number or infinity times zero. |