Register Guide

RISC-V fflags / fflags Register: Floating-point accrued exception flags

fflags is the floating-point accrued exception flags register, recording NV, DZ, OF, UF, NX exception flags from FP operations.

ABI name: fflags; physical register: fflags.
Save rule: Saved by software when context requires.
Read it through its psABI role first, then inspect how each instruction reads or writes it.
Physical Name fflagsABI Name fflagsSave Rule Saved by software when context requires
Role
Floating-point accrued exception flags
Convention
Architectural state / CSR semantics
Remember This First
t* registers are caller-saved, so callees may overwrite them.
psABI Reference

ABI register

fflags is the floating-point accrued exception flags register, recording NV, DZ, OF, UF, NX exception flags from FP operations.

Preserved across calls: Saved by software when context requires
RISC-V psABI integer register convention

When It Fits Best

  • - Hold short-lived temporary computation results.
  • - Use them for local computations that do not need to survive calls.
  • - Use them as caller-managed scratch registers.

When Not To Use It This Way

  • - Do not keep values in t* across a call unless you save them yourself first.
  • - Do not expect callees to restore t* for you.

What Happens Around A Call

1

t* registers are caller-saved, so callees may overwrite them.

2

If the caller still needs a t* value after a call, it must save it in advance.

Protect Temporary Values Before A Call

Examples explain the rule, not a complete program
addi t0, a0, 1
# If t0 is needed after the call, save it to an ABI-valid location first
call foo
# restore t0 from that saved location after the call returns