-
Bug
-
Resolution: Fixed
-
P3
-
19
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8311707 | 17.0.9 | Fei Yang | P3 | Resolved | Fixed | b01 |
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
- backported by
-
JDK-8311707 riscv: jdk/incubator/vector/*VectorTests failing
- Resolved
- relates to
-
JDK-8284960 Integration of JEP 426: Vector API (Fourth Incubator)
- Resolved
- links to
-
Commit openjdk/jdk17u-dev/966fc82d
-
Commit openjdk/jdk/5ad6286b
-
Review openjdk/jdk17u-dev/1427
-
Review openjdk/jdk/9079
-
Review openjdk/riscv-port-jdk17u/11
(2 links to)