-
Bug
-
Resolution: Fixed
-
P4
-
25, 26
-
master
-
riscv
-
linux
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8362070 | 25.0.1 | Dingli Zhang | P4 | Resolved | Fixed | master |
After JDK-8355293 , compiler/vectorization/runner/BasicIntOpTest.java fails when using RVV without using zvbb.
The reason for the error is that PopCountVI on RISC-V requires zvbb, not just rvv.
Error log is as follows:
```
Failed IR Rules (1) of Methods (1)
----------------------------------
1) Method "public int[] compiler.vectorization.runner.BasicIntOpTest.vectorPopCount()" - [Failed IR rules: 1]:
* @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"asimd", "true", "avx2", "true", "rvv", "true"}, counts={"_#V#POPCOUNT_VI#_", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "PrintIdeal":
- counts: Graph contains wrong number of nodes:
* Constraint 1: "(\\d+(\\s){2}(PopCountVI.*)+(\\s){2}===.*vector[A-Za-z]<I,8>)"
- Failed comparison: [found] 0 > 0 [given]
- No nodes matched!
>>> Check stdout for compilation output of the failed methods
#############################################################
- To only run the failed tests use -DTest, -DExclude,
and/or -DScenarios.
- To also get the standard output of the test VM run with
-DReportStdout=true or for even more fine-grained logging
use -DVerbose=true.
#############################################################
compiler.lib.ir_framework.driver.irmatching.IRViolationException: There were one or multiple IR rule failures. Please check stderr for more information.
at compiler.lib.ir_framework.driver.irmatching.IRMatcher.reportFailures(IRMatcher.java:61)
at compiler.lib.ir_framework.driver.irmatching.IRMatcher.match(IRMatcher.java:49)
at compiler.lib.ir_framework.TestFramework.runTestVM(TestFramework.java:802)
at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:765)
at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:357)
at compiler.vectorization.runner.VectorizationTestRunner.run(VectorizationTestRunner.java:72)
at compiler.vectorization.runner.VectorizationTestRunner.main(VectorizationTestRunner.java:200)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
at java.base/java.lang.Thread.run(Thread.java:1474)
```
The reason for the error is that PopCountVI on RISC-V requires zvbb, not just rvv.
Error log is as follows:
```
Failed IR Rules (1) of Methods (1)
----------------------------------
1) Method "public int[] compiler.vectorization.runner.BasicIntOpTest.vectorPopCount()" - [Failed IR rules: 1]:
* @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"asimd", "true", "avx2", "true", "rvv", "true"}, counts={"_#V#POPCOUNT_VI#_", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "PrintIdeal":
- counts: Graph contains wrong number of nodes:
* Constraint 1: "(\\d+(\\s){2}(PopCountVI.*)+(\\s){2}===.*vector[A-Za-z]<I,8>)"
- Failed comparison: [found] 0 > 0 [given]
- No nodes matched!
>>> Check stdout for compilation output of the failed methods
#############################################################
- To only run the failed tests use -DTest, -DExclude,
and/or -DScenarios.
- To also get the standard output of the test VM run with
-DReportStdout=true or for even more fine-grained logging
use -DVerbose=true.
#############################################################
compiler.lib.ir_framework.driver.irmatching.IRViolationException: There were one or multiple IR rule failures. Please check stderr for more information.
at compiler.lib.ir_framework.driver.irmatching.IRMatcher.reportFailures(IRMatcher.java:61)
at compiler.lib.ir_framework.driver.irmatching.IRMatcher.match(IRMatcher.java:49)
at compiler.lib.ir_framework.TestFramework.runTestVM(TestFramework.java:802)
at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:765)
at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:357)
at compiler.vectorization.runner.VectorizationTestRunner.run(VectorizationTestRunner.java:72)
at compiler.vectorization.runner.VectorizationTestRunner.main(VectorizationTestRunner.java:200)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
at java.base/java.lang.Thread.run(Thread.java:1474)
```
- backported by
-
JDK-8362070 [TESTBUG] RISC-V: compiler/vectorization/runner/BasicIntOpTest.java fails with RVV but not Zvbb
-
- Resolved
-
- links to
-
Commit(master) openjdk/jdk25u/98bc22a9
-
Commit(master) openjdk/jdk/2e7e272d
-
Review(master) openjdk/jdk25u/17
-
Review(master) openjdk/jdk/26238