RFR: 8361836: RISC-V: Relax min vector length to 32-bit for short vectors [v2]

Feilong Jiang fjiang at openjdk.org
Mon Jul 14 12:21:46 UTC 2025


On Thu, 10 Jul 2025 09:26:53 GMT, Dingli Zhang <dzhang at openjdk.org> wrote:

>> Follow up [JDK-8359419](https://bugs.openjdk.org/browse/JDK-8359419), RVV supports all vector type conversion APIs in the Vector API.
>> So we only need to relax the length limit of the short type to achieve a significant improvement in JMH performance for converting between short and wider types.
>> 
>> ### Test
>> qemu-system UseRVV:
>> * [x]  Run jdk_vector (fastdebug)
>> * [x]  Run compiler/vectorapi (fastdebug)
>> 
>> ### Performance
>> Following shows the performance improvement of relative VectorAPI JMHs on k1 (256-bit RVV):
>> 
>> 
>> Benchmark                                             (SIZE)   Mode   Units   Before     After    Gain
>> VectorFPtoIntCastOperations.microDouble128ToShort128     512  thrpt  ops/ms   52.280   840.112   16.07
>> VectorFPtoIntCastOperations.microDouble128ToShort128    1024  thrpt  ops/ms   28.156   429.322   15.25
>> VectorFPtoIntCastOperations.microFloat64ToShort64        512  thrpt  ops/ms   14.242   479.509   33.67
>> VectorFPtoIntCastOperations.microFloat64ToShort64       1024  thrpt  ops/ms    6.906   242.690   35.14
>> 
>> PS: `VectorFPtoIntCastOperations.microFloat64ToShort64` is added by [JDK-8359419](https://bugs.openjdk.org/browse/JDK-8359419).
>
> Dingli Zhang has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Adjust the position of comment

src/hotspot/cpu/riscv/riscv.ad line 1999:

> 1997:   } else if (bt == T_SHORT) {
> 1998:     // To support vector type conversions between short and wider types.
> 1999:     size = 2;

Should we add some `assert` or `guarantee` for uncovered types?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26239#discussion_r2204758147


More information about the hotspot-compiler-dev mailing list