Is t6 / x31 preserved across calls?
No. t0-t6 are temporary registers and are not preserved across calls.
Temporary register 6 (x31). In the standard RISC-V psABI calling convention, t6 is a temporary register and is not preserved across calls.
The psABI marks t0-t6 as temporary registers. They are not callee-saved; callers must save any value that needs to survive a call.
psABI Table 1 names x31 t6, a temporary register not preserved across calls.
t6 is a standard-psABI temporary register and is not preserved across calls.
Contents not specified as return values or callee-saved are unspecified on procedure exit.
This rule applies to the standard calling convention.
# t6: temporary register, not preserved across calls
# Scope: standard psABI calling conventionNo. t0-t6 are temporary registers and are not preserved across calls.