fflags
Floating-Point Accrued Exceptions
The accrued exception flags indicate the exception conditions that have arisen on any floating-point arithmetic instruction since the field was last reset by software.
The base RISC-V ISA does not support generating a trap on the setting of a floating-point exception flag.
As allowed by the standard, we do not support traps on floating-point exceptions in the F extension, but instead require explicit checks of the flags in software. We considered adding branches controlled directly by the contents of the floating-point accrued exception flags, but ultimately chose to omit these instructions to keep the ISA simple.
Software write
This CSR may store a value that is different from what software attempts to write.
When a software write occurs (e.g., through csrrw), the following determines the written value:
NV = CSR[fcsr].NV = csr_value.NV; return csr_value.NV; DZ = CSR[fcsr].DZ = csr_value.DZ; return csr_value.DZ; OF = CSR[fcsr].OF = csr_value.OF; return csr_value.OF; UF = CSR[fcsr].UF = csr_value.UF; return csr_value.UF; NX = CSR[fcsr].NX = csr_value.NX; return csr_value.NX;