Integrated: 8287970: riscv: jdk/incubator/vector/*VectorTests failing

Feilong Jiang fjiang at openjdk.java.net
Wed Jun 8 12:42:34 UTC 2022


On Wed, 8 Jun 2022 06:06:08 GMT, Feilong Jiang <fjiang at openjdk.org> wrote:

> [JDK-8284960](https://bugs.openjdk.org/browse/JDK-8284960) added a new vector operation VectorOperations.BIT_COUNT, which needs the support of PopCountV*. The following tests failed when enabling `UseRVV`:
> 
> jdk/incubator/vector/Byte256VectorTests.java
> jdk/incubator/vector/ByteMaxVectorTests.java
> jdk/incubator/vector/Int256VectorTests.java
> jdk/incubator/vector/IntMaxVectorTests.java
> jdk/incubator/vector/Short256VectorTests.java
> jdk/incubator/vector/ShortMaxVectorTests.java
> 
> Tests are failing with "assert(n_type->isa_vect() == __null || lrg._is_vector || ireg == Op_RegD || ireg == Op_RegL || ireg == Op_RegVectMask) failed: vector must be in vector registers" because C2 instruct "vpopcountI" stores the result into a general-purpose register (GPR) instead of a vector register.
> 
> Currently, riscv vector extension `vpopc.m` instruction counts the number of mask elements of the active elements of the vector source mask register that has the value 1 and writes the result to a scalar x register. [1] `PopCountV*` needs to write back the pop counting results to vector registers, there is no single instruction in rvv that can satisfy the requirement.  So we decide to remove the vpopcountI instruct for now.
> 
> [1]: https://github.com/riscv/riscv-v-spec/releases/download/v1.0/riscv-v-spec-1.0.pdf
> 
> Additional Tests:
> - [x] jdk/incubator/vector (release with UseRVV on QEMU)
> - [x] hotspot:tier1 (release with UseRVV on QEMU without new failure)

This pull request has now been integrated.

Changeset: 5ad6286b
Author:    Feilong Jiang <fjiang at openjdk.org>
Committer: Fei Yang <fyang at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/5ad6286b73889e47f40d0051a96ef91137faa25c
Stats:     14 lines in 1 file changed: 2 ins; 12 del; 0 mod

8287970: riscv: jdk/incubator/vector/*VectorTests failing

Reviewed-by: kvn, fyang, dlong, yadongwang

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

PR: https://git.openjdk.java.net/jdk/pull/9079


More information about the hotspot-compiler-dev mailing list