Register Guide
RISC-V vcsr / vcsr Register: Vector Control/Status CSR
vcsr is the Vector Control/Status register (CSR 0x00F), providing unified single-CSR access to the vxrm (fixed-point rounding mode) and vxsat (fixed-point saturation flag) fields.
ABI name: vcsr; physical register: vcsr.
Save rule: Caller.
Read it through its psABI role first, then inspect how each instruction reads or writes it.
Physical Name vcsrABI Name vcsrSave Rule Caller
Role
Vector Control/Status CSR
Convention
Caller-saved
Remember This First
t* registers are caller-saved, so callees may overwrite them.
psABI Reference
ABI register
vcsr is the Vector Control/Status register (CSR 0x00F), providing unified single-CSR access to the vxrm (fixed-point rounding mode) and vxsat (fixed-point saturation flag) fields.
Preserved across calls: Caller
RISC-V psABI integer register conventionWhen 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 programaddi 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