pulehui wrote:

> The `r1` would be zero extended, while to be ABI conformant it has to be sign 
> extended, as for RV64 the 31-st bit should be the same as upper 32 bits. The 
> fact that decision to zero or sign extend the argument depends on the 
> architecture means that this extension has to be done at JIT time (meaning 
> that BTF is mandatory) or be a part of kfunc.

Thanks for the clarification. riscv64 will do sign-extension both for int and 
uint. For uint, zero-extension is required, but after my investigation, it will 
be handled in the callee.

https://github.com/llvm/llvm-project/pull/84874
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to