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

Reply via email to