Jeff Law <jeffreya...@gmail.com> writes: > On 2/7/25 5:59 AM, Andrew Waterman wrote: >> This patch runs counter to the ABI spec, which states that vxrm is not >> preserved across calls and is volatile upon function entry [1]. vxrm >> does not play the same role as frm plays in the calling convention. >> (I won't get into the rationale in this email, but the rationale isn't >> especially important: we should follow the ABI.) >> >> [1] >> https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/3a79e936eec5491078b1133ac943f91ef5fd75fd/riscv-cc.adoc?plain=1#L119-L120 > Pan's patch doesn't change the basic property that VXRM has no known > state at function entry or upon return from a function call.
I think it will. global_regs[X] means that X is defined on entry, defined on exit, and can be changed by calls. If the register is call-clobbered/volatile/caller-saved, then I agree with Andrew that this doesn't look like the right fix. Thanks, Richard