RFR: 8333652: RISC-V: compiler/vectorapi/VectorGatherMaskFoldingTest.java fails when using RVV
Gui Cao
gcao at openjdk.org
Mon Jun 10 08:07:12 UTC 2024
On Thu, 6 Jun 2024 05:31:57 GMT, Fei Yang <fyang at openjdk.org> wrote:
>> Hi, We are experiencing test failures in test/hotspot/jtreg/compiler/vectorapi/VectorGatherMaskFoldingTest.java on Banana Pi BPI-F3 board (has RVV1.0), see jbs issue for exception information.
>>
>> related C2 instruct:
>> https://github.com/openjdk/jdk/blob/326dbb1b139dd1ec1b8605339b91697cdf49da9a/src/hotspot/cpu/riscv/riscv_v.ad#L4805-L4811
>>
>> As rvv1.0 manual requirements for vector indexed loads[1]: `Vector unit-stride and constant-stride use the EEW/EMUL encoded in the instruction for the data values, while vector indexed loads and stores use the EEW/EMUL encoded in the instruction for the index values and the SEW/LMUL encoded in vtype for the data values.`
>> So in this case where a 64-bit vector index is used, we need to use the vluxei64_v (64-bit indexed load)
>>
>> ### Testing
>> - [x] Run VectorGatherMaskFoldingTest.java on Banana Pi BPI-F3 board (with RVV1.0)
>> - [x] test/jdk/jdk/incubator/vector on Banana Pi BPI-F3 board (with RVV1.0)
>> - [x] Run VectorGatherMaskFoldingTest.java on SOPHON SG2042 (without RVV1.0)
>>
>> [1] https://github.com/riscv/riscv-v-spec/blob/v1.0/v-spec.adoc#sec-vector-loadstore-width-encoding
>
> Looks reasonable.
@RealFYang : Thanks for the review.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/19564#issuecomment-2157613226
More information about the hotspot-compiler-dev
mailing list