caller-saved
A register a called function is free to overwrite; if the caller still needs the value, the caller must save it before the call.
Caller-saved (volatile, call-clobbered) registers may be changed by any call; on x86-64 Linux and macOS rax, rcx, rdx, rsi, rdi, r8-r11; on 64-bit Windows rax, rcx, rdx, r8-r11; on ARM64 x0-x17 (and x18 where the OS does not reserve it); on RISC-V ra, t0-t6, a0-a7.
Examples
On x86-64 System V, any call may change
rax,rcx,rdx,rsi,rdiandr8tor11.