On Tue, 24 Sep 2024 03:45:32 GMT, Fei Yang <fy...@openjdk.org> wrote:

>> Hamlin Li has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   refine comment
>
> src/hotspot/cpu/riscv/assembler_riscv.hpp line 51:
> 
>> 49:     n_int_register_parameters_c   = 8,   // x10, x11, ... x17 (c_rarg0, 
>> c_rarg1, ...)
>> 50:     n_float_register_parameters_c = 8,   // f10, f11, ... f17 (c_farg0, 
>> c_farg1, ... )
>> 51:     n_vector_register_parameters_c = 8,  // v8, v9, ... v15
> 
> I know vector registers are not used for passing arguments or return values 
> by the RISCV ABI for now. But I guess it might be better and consistent to 
> align with the numbering of integer and floating-point argument registers 
> (x10 - x17, f10 - f17)? That is v10 - v17.

Note in the RISC-V ELF psABI there is a convetion variant for v-regs.
If you add function attribute riscv_vector_cc it should be used for C/C++. (I 
never tested it)
v0 = first vector mask argument
v8-v23 = args/rets
v1-v7/v24-v31 = caller saved

https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-cc.adoc

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/21083#discussion_r1772630985

Reply via email to