-
Bug
-
Resolution: Unresolved
-
P4
-
26
-
aarch64
According the AD file, partial cases where `vector_length_in_bytes > 8` of the vector API `selectFrom` are not supported on the AArch64 SVE2 platform.
```
case Op_SelectFromTwoVector:
// The "tbl" instruction for two vector table is supported only in Neon and SVE2. Return
// false if vector length > 16B but supported SVE version < 2.
// For vector length of 16B, generate SVE2 "tbl" instruction if SVE2 is supported, else
// generate Neon "tbl" instruction to select from two vectors.
// This operation is disabled for doubles and longs on machines with SVE < 2 and instead
// the default VectorRearrange + VectorBlend is generated because the performance of the default
// implementation was better than or equal to the implementation for SelectFromTwoVector.
if (UseSVE < 2 && (type2aelembytes(bt) == 8 || length_in_bytes > 16)) {
return false;
}
// Because the SVE2 "tbl" instruction is unpredicated and partial operations cannot be generated
// using masks, we disable this operation on machines where length_in_bytes < MaxVectorSize
// on that machine with the only exception of 8B vector length. This is because at the time of
// writing this, there is no SVE2 machine available with length_in_bytes > 8 and
// length_in_bytes < MaxVectorSize to test this operation on (for example - there isn't an
// SVE2 machine available with MaxVectorSize = 32 to test a case with length_in_bytes = 16).
if (UseSVE == 2 && length_in_bytes > 8 && length_in_bytes < MaxVectorSize) {
return false;
}
break;
```
But the test `TestSelectFromTwoVectorOp.java` didn't rule out these cases, leading to test failures on sve2 platforms where `MaxVectorSize > 16`.
Error logs:
```
[2025-09-03T08:05:59.812Z] STDERR:
[2025-09-03T08:05:59.812Z] WARNING: Using incubator modules: jdk.incubator.vector
[2025-09-03T08:05:59.812Z]
[2025-09-03T08:05:59.812Z] Command Line:
[2025-09-03T08:05:59.812Z] /tmp/ci-scripts/build-fastdebug/images/jdk/bin/java -DReproduce=true -cp /tmp/ci-scripts/jtwork_rerun/hotspot/classes/compiler/vectorapi/TestSelectFromTwoVectorOp.d:/tmp/ci-scripts/jdk-src/test/hotspot/jtreg/compiler/vectorapi:/tmp/ci-scripts/jtwork_rerun/hotspot/classes/test/lib:/tmp/ci-scripts/jdk-src/test/lib:/tmp/ci-scripts/jtwork_rerun/hotspot/classes:/tmp/ci-scripts/jdk-src/test/hotspot/jtreg:/usr/local/lib/jtreg/jtreg-7.5.2+1/lib/jtreg.jar -Djava.library.path=/tmp/ci-scripts/build-fastdebug/images/test/hotspot/jtreg/native -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -server -ea -esa -Xmx768m -Djdk.incubator.vector.test.loop-iterations=500 -Djdk.test.lib.artifacts.jcstress-tests-all=/usr/local/lib/jcstress-tests-all-0.17-snapshot-20240328.jar -Dir.framework.server.port=36179 --add-modules=jdk.incubator.vector -XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions -XX:+LogCompilation -XX:CompilerDirectivesFile=test-vm-compile-commands-pid-307630.log -XX:CompilerDirectivesLimit=221 -XX:-OmitStackTraceInFastThrow -DShouldDoIRVerification=true -XX:-BackgroundCompilation -XX:CompileCommand=quiet compiler.lib.ir_framework.test.TestVM compiler.vectorapi.TestSelectFromTwoVectorOp
[2025-09-03T08:05:59.813Z]
[2025-09-03T08:05:59.813Z] One or more @IR rules failed:
[2025-09-03T08:05:59.813Z]
[2025-09-03T08:05:59.813Z] Failed IR Rules (12) of Methods (12)
[2025-09-03T08:05:59.813Z] ------------------------------------
[2025-09-03T08:05:59.813Z] 1) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Byte128()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.813Z] * @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VB#_", "_@16", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=16"}, applyIfCPUFeature={"asimd", "true"}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.813Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.813Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.813Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<B,16>)"
[2025-09-03T08:05:59.813Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.813Z] - No nodes matched!
[2025-09-03T08:05:59.813Z]
[2025-09-03T08:05:59.813Z] 2) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Byte256()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.813Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VB#_", "_@32", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=32"}, applyIfCPUFeature={"sve2", "true"}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.813Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.813Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.813Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<B,32>)"
[2025-09-03T08:05:59.813Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.813Z] - No nodes matched!
[2025-09-03T08:05:59.813Z]
[2025-09-03T08:05:59.813Z] 3) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Double128()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.813Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sve2", "true", "avx512vl", "true"}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VD#_", "_@2", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=16"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.814Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.814Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.814Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<D,2>)"
[2025-09-03T08:05:59.814Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.814Z] - No nodes matched!
[2025-09-03T08:05:59.814Z]
[2025-09-03T08:05:59.814Z] 4) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Double256()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.814Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sve2", "true", "avx512vl", "true"}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VD#_", "_@4", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=32"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.814Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.814Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.814Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<D,4>)"
[2025-09-03T08:05:59.814Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.814Z] - No nodes matched!
[2025-09-03T08:05:59.814Z]
[2025-09-03T08:05:59.814Z] 5) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Float128()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.814Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sve2", "true", "avx512vl", "true"}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VF#_", "_@4", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=16"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.814Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.814Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.814Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<F,4>)"
[2025-09-03T08:05:59.814Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.814Z] - No nodes matched!
[2025-09-03T08:05:59.814Z]
[2025-09-03T08:05:59.814Z] 6) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Float256()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.814Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sve2", "true", "avx512vl", "true"}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VF#_", "_@8", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=32"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.814Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.814Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.814Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<F,8>)"
[2025-09-03T08:05:59.815Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.815Z] - No nodes matched!
[2025-09-03T08:05:59.815Z]
[2025-09-03T08:05:59.815Z] 7) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Int128()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.815Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sve2", "true", "avx512vl", "true"}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VI#_", "_@4", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=16"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.815Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.815Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.815Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<I,4>)"
[2025-09-03T08:05:59.815Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.815Z] - No nodes matched!
[2025-09-03T08:05:59.815Z]
[2025-09-03T08:05:59.815Z] 8) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Int256()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.815Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sve2", "true", "avx512vl", "true"}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VI#_", "_@8", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=32"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.815Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.815Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.815Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<I,8>)"
[2025-09-03T08:05:59.815Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.815Z] - No nodes matched!
[2025-09-03T08:05:59.815Z]
[2025-09-03T08:05:59.815Z] 9) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Long128()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.815Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sve2", "true", "avx512vl", "true"}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VL#_", "_@2", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=16"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.815Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.815Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.815Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<J,2>)"
[2025-09-03T08:05:59.815Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.815Z] - No nodes matched!
[2025-09-03T08:05:59.815Z]
[2025-09-03T08:05:59.815Z] 10) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Long256()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.816Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sve2", "true", "avx512vl", "true"}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VL#_", "_@4", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=32"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.816Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.816Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.816Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<J,4>)"
[2025-09-03T08:05:59.816Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.816Z] - No nodes matched!
[2025-09-03T08:05:59.816Z]
[2025-09-03T08:05:59.816Z] 11) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Short128()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.816Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VS#_", "_@8", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=16"}, applyIfCPUFeature={"sve2", "true"}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.816Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.816Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.816Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<S,8>)"
[2025-09-03T08:05:59.816Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.816Z] - No nodes matched!
[2025-09-03T08:05:59.816Z]
[2025-09-03T08:05:59.816Z] 12) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Short256()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.816Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VS#_", "_@16", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=32"}, applyIfCPUFeature={"sve2", "true"}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.816Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.816Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.816Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<S,16>)"
[2025-09-03T08:05:59.816Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.816Z] - No nodes matched!
[2025-09-03T08:05:59.816Z]
[2025-09-03T08:05:59.816Z] >>> Check stdout for compilation output of the failed methods
[2025-09-03T08:05:59.816Z]
[2025-09-03T08:05:59.816Z]
[2025-09-03T08:05:59.816Z] #############################################################
[2025-09-03T08:05:59.816Z] - To only run the failed tests use -DTest, -DExclude,
[2025-09-03T08:05:59.817Z] and/or -DScenarios.
[2025-09-03T08:05:59.817Z] - To also get the standard output of the test VM run with
[2025-09-03T08:05:59.817Z] -DReportStdout=true or for even more fine-grained logging
[2025-09-03T08:05:59.817Z] use -DVerbose=true.
[2025-09-03T08:05:59.817Z] #############################################################
[2025-09-03T08:05:59.817Z]
[2025-09-03T08:05:59.817Z]
[2025-09-03T08:05:59.817Z] compiler.lib.ir_framework.driver.irmatching.IRViolationException: There were one or multiple IR rule failures. Please check stderr for more information.
[2025-09-03T08:05:59.817Z] at compiler.lib.ir_framework.driver.irmatching.IRMatcher.reportFailures(IRMatcher.java:61)
[2025-09-03T08:05:59.817Z] at compiler.lib.ir_framework.driver.irmatching.IRMatcher.match(IRMatcher.java:49)
[2025-09-03T08:05:59.817Z] at compiler.lib.ir_framework.TestFramework.runTestVM(TestFramework.java:882)
[2025-09-03T08:05:59.817Z] at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:834)
[2025-09-03T08:05:59.817Z] at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:426)
[2025-09-03T08:05:59.817Z] at compiler.lib.ir_framework.TestFramework.runWithFlags(TestFramework.java:257)
[2025-09-03T08:05:59.817Z] at compiler.vectorapi.TestSelectFromTwoVectorOp.main(TestSelectFromTwoVectorOp.java:484)
[2025-09-03T08:05:59.817Z] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
[2025-09-03T08:05:59.817Z] at java.base/java.lang.reflect.Method.invoke(Method.java:565)
[2025-09-03T08:05:59.817Z] at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
[2025-09-03T08:05:59.817Z] at java.base/java.lang.Thread.run(Thread.java:1474)
[2025-09-03T08:05:59.817Z]
[2025-09-03T08:05:59.817Z] JavaTest Message: Test threw exception: compiler.lib.ir_framework.driver.irmatching.IRViolationException: There were one or multiple IR rule failures. Please check stderr for more information.
[2025-09-03T08:05:59.817Z] JavaTest Message: shutting down test
[2025-09-03T08:05:59.817Z]
[2025-09-03T08:05:59.817Z] STATUS:Failed.`main' threw exception: compiler.lib.ir_framework.driver.irmatching.IRViolationException: There were one or multiple IR rule failures. Please check stderr for more information.
[2025-09-03T08:05:59.817Z] rerun:
[2025-09-03T08:05:59.817Z] cd /tmp/ci-scripts/jtwork_rerun/hotspot/scratch && \
[2025-09-03T08:05:59.817Z] HOME=/home/bot \
[2025-09-03T08:05:59.817Z] PATH=/bin:/usr/bin:/usr/sbin \
[2025-09-03T08:05:59.817Z] CLASSPATH=/tmp/ci-scripts/jtwork_rerun/hotspot/classes/compiler/vectorapi/TestSelectFromTwoVectorOp.d:/tmp/ci-scripts/jdk-src/test/hotspot/jtreg/compiler/vectorapi:/tmp/ci-scripts/jtwork_rerun/hotspot/classes/test/lib:/tmp/ci-scripts/jdk-src/test/lib:/tmp/ci-scripts/jtwork_rerun/hotspot/classes:/tmp/ci-scripts/jdk-src/test/hotspot/jtreg:/usr/local/lib/jtreg/jtreg-7.5.2+1/lib/jtreg.jar \
[2025-09-03T08:05:59.817Z] /tmp/ci-scripts/build-fastdebug/images/jdk/bin/java \
[2025-09-03T08:05:59.817Z] -Dtest.vm.opts='-server -ea -esa -Xmx768m -Djdk.incubator.vector.test.loop-iterations=500 -Djdk.test.lib.artifacts.jcstress-tests-all=/usr/local/lib/jcstress-tests-all-0.17-snapshot-20240328.jar' \
[2025-09-03T08:05:59.818Z] -Dtest.tool.vm.opts='-J-server -J-ea -J-esa -J-Xmx768m -J-Djdk.incubator.vector.test.loop-iterations=500 -J-Djdk.test.lib.artifacts.jcstress-tests-all=/usr/local/lib/jcstress-tests-all-0.17-snapshot-20240328.jar' \
[2025-09-03T08:05:59.818Z] -Dtest.compiler.opts= \
[2025-09-03T08:05:59.818Z] -Dtest.java.opts= \
[2025-09-03T08:05:59.818Z] -Dtest.jdk=/tmp/ci-scripts/build-fastdebug/images/jdk \
[2025-09-03T08:05:59.818Z] -Dcompile.jdk=/tmp/ci-scripts/build-fastdebug/images/jdk \
[2025-09-03T08:05:59.818Z] -Dtest.timeout.factor=16.0 \
[2025-09-03T08:05:59.818Z] -Dtest.nativepath=/tmp/ci-scripts/build-fastdebug/images/test/hotspot/jtreg/native \
[2025-09-03T08:05:59.818Z] -Dtest.root=/tmp/ci-scripts/jdk-src/test/hotspot/jtreg \
[2025-09-03T08:05:59.818Z] -Dtest.name=compiler/vectorapi/TestSelectFromTwoVectorOp.java \
[2025-09-03T08:05:59.818Z] -Dtest.verbose=Verbose[p=BRIEF,f=FULL,e=BRIEF,t=false,m=false] \
[2025-09-03T08:05:59.818Z] -Dtest.file=/tmp/ci-scripts/jdk-src/test/hotspot/jtreg/compiler/vectorapi/TestSelectFromTwoVectorOp.java \
[2025-09-03T08:05:59.818Z] -Dtest.main.class=compiler.vectorapi.TestSelectFromTwoVectorOp \
[2025-09-03T08:05:59.818Z] -Dtest.src=/tmp/ci-scripts/jdk-src/test/hotspot/jtreg/compiler/vectorapi \
[2025-09-03T08:05:59.818Z] -Dtest.src.path=/tmp/ci-scripts/jdk-src/test/hotspot/jtreg/compiler/vectorapi:/tmp/ci-scripts/jdk-src/test/lib:/tmp/ci-scripts/jdk-src/test/hotspot/jtreg \
[2025-09-03T08:05:59.818Z] -Dtest.classes=/tmp/ci-scripts/jtwork_rerun/hotspot/classes/compiler/vectorapi/TestSelectFromTwoVectorOp.d \
[2025-09-03T08:05:59.818Z] -Dtest.class.path=/tmp/ci-scripts/jtwork_rerun/hotspot/classes/compiler/vectorapi/TestSelectFromTwoVectorOp.d:/tmp/ci-scripts/jtwork_rerun/hotspot/classes/test/lib:/tmp/ci-scripts/jtwork_rerun/hotspot/classes \
[2025-09-03T08:05:59.818Z] -Dtest.class.path.prefix=/tmp/ci-scripts/jtwork_rerun/hotspot/classes/compiler/vectorapi/TestSelectFromTwoVectorOp.d:/tmp/ci-scripts/jdk-src/test/hotspot/jtreg/compiler/vectorapi:/tmp/ci-scripts/jtwork_rerun/hotspot/classes/test/lib:/tmp/ci-scripts/jtwork_rerun/hotspot/classes \
[2025-09-03T08:05:59.818Z] -Dtest.modules=jdk.incubator.vector \
[2025-09-03T08:05:59.818Z] --add-modules jdk.incubator.vector \
[2025-09-03T08:05:59.818Z] -server \
[2025-09-03T08:05:59.818Z] -ea \
[2025-09-03T08:05:59.818Z] -esa \
[2025-09-03T08:05:59.818Z] -Xmx768m \
[2025-09-03T08:05:59.818Z] -Djdk.incubator.vector.test.loop-iterations=500 \
[2025-09-03T08:05:59.818Z] -Djdk.test.lib.artifacts.jcstress-tests-all=/usr/local/lib/jcstress-tests-all-0.17-snapshot-20240328.jar \
[2025-09-03T08:05:59.818Z] -Djava.library.path=/tmp/ci-scripts/build-fastdebug/images/test/hotspot/jtreg/native \
[2025-09-03T08:05:59.818Z] com.sun.javatest.regtest.agent.MainWrapper /tmp/ci-scripts/jtwork_rerun/hotspot/compiler/vectorapi/TestSelectFromTwoVectorOp.d/driver.0.jta
[2025-09-03T08:05:59.818Z]
[2025-09-03T08:05:59.819Z] TEST RESULT: Failed. Execution failed: `main' threw exception: compiler.lib.ir_framework.driver.irmatching.IRViolationException: There were one or multiple IR rule failures. Please check stderr for more information.
```
```
case Op_SelectFromTwoVector:
// The "tbl" instruction for two vector table is supported only in Neon and SVE2. Return
// false if vector length > 16B but supported SVE version < 2.
// For vector length of 16B, generate SVE2 "tbl" instruction if SVE2 is supported, else
// generate Neon "tbl" instruction to select from two vectors.
// This operation is disabled for doubles and longs on machines with SVE < 2 and instead
// the default VectorRearrange + VectorBlend is generated because the performance of the default
// implementation was better than or equal to the implementation for SelectFromTwoVector.
if (UseSVE < 2 && (type2aelembytes(bt) == 8 || length_in_bytes > 16)) {
return false;
}
// Because the SVE2 "tbl" instruction is unpredicated and partial operations cannot be generated
// using masks, we disable this operation on machines where length_in_bytes < MaxVectorSize
// on that machine with the only exception of 8B vector length. This is because at the time of
// writing this, there is no SVE2 machine available with length_in_bytes > 8 and
// length_in_bytes < MaxVectorSize to test this operation on (for example - there isn't an
// SVE2 machine available with MaxVectorSize = 32 to test a case with length_in_bytes = 16).
if (UseSVE == 2 && length_in_bytes > 8 && length_in_bytes < MaxVectorSize) {
return false;
}
break;
```
But the test `TestSelectFromTwoVectorOp.java` didn't rule out these cases, leading to test failures on sve2 platforms where `MaxVectorSize > 16`.
Error logs:
```
[2025-09-03T08:05:59.812Z] STDERR:
[2025-09-03T08:05:59.812Z] WARNING: Using incubator modules: jdk.incubator.vector
[2025-09-03T08:05:59.812Z]
[2025-09-03T08:05:59.812Z] Command Line:
[2025-09-03T08:05:59.812Z] /tmp/ci-scripts/build-fastdebug/images/jdk/bin/java -DReproduce=true -cp /tmp/ci-scripts/jtwork_rerun/hotspot/classes/compiler/vectorapi/TestSelectFromTwoVectorOp.d:/tmp/ci-scripts/jdk-src/test/hotspot/jtreg/compiler/vectorapi:/tmp/ci-scripts/jtwork_rerun/hotspot/classes/test/lib:/tmp/ci-scripts/jdk-src/test/lib:/tmp/ci-scripts/jtwork_rerun/hotspot/classes:/tmp/ci-scripts/jdk-src/test/hotspot/jtreg:/usr/local/lib/jtreg/jtreg-7.5.2+1/lib/jtreg.jar -Djava.library.path=/tmp/ci-scripts/build-fastdebug/images/test/hotspot/jtreg/native -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -server -ea -esa -Xmx768m -Djdk.incubator.vector.test.loop-iterations=500 -Djdk.test.lib.artifacts.jcstress-tests-all=/usr/local/lib/jcstress-tests-all-0.17-snapshot-20240328.jar -Dir.framework.server.port=36179 --add-modules=jdk.incubator.vector -XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions -XX:+LogCompilation -XX:CompilerDirectivesFile=test-vm-compile-commands-pid-307630.log -XX:CompilerDirectivesLimit=221 -XX:-OmitStackTraceInFastThrow -DShouldDoIRVerification=true -XX:-BackgroundCompilation -XX:CompileCommand=quiet compiler.lib.ir_framework.test.TestVM compiler.vectorapi.TestSelectFromTwoVectorOp
[2025-09-03T08:05:59.813Z]
[2025-09-03T08:05:59.813Z] One or more @IR rules failed:
[2025-09-03T08:05:59.813Z]
[2025-09-03T08:05:59.813Z] Failed IR Rules (12) of Methods (12)
[2025-09-03T08:05:59.813Z] ------------------------------------
[2025-09-03T08:05:59.813Z] 1) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Byte128()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.813Z] * @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VB#_", "_@16", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=16"}, applyIfCPUFeature={"asimd", "true"}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.813Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.813Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.813Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<B,16>)"
[2025-09-03T08:05:59.813Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.813Z] - No nodes matched!
[2025-09-03T08:05:59.813Z]
[2025-09-03T08:05:59.813Z] 2) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Byte256()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.813Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VB#_", "_@32", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=32"}, applyIfCPUFeature={"sve2", "true"}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.813Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.813Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.813Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<B,32>)"
[2025-09-03T08:05:59.813Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.813Z] - No nodes matched!
[2025-09-03T08:05:59.813Z]
[2025-09-03T08:05:59.813Z] 3) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Double128()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.813Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sve2", "true", "avx512vl", "true"}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VD#_", "_@2", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=16"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.814Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.814Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.814Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<D,2>)"
[2025-09-03T08:05:59.814Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.814Z] - No nodes matched!
[2025-09-03T08:05:59.814Z]
[2025-09-03T08:05:59.814Z] 4) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Double256()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.814Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sve2", "true", "avx512vl", "true"}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VD#_", "_@4", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=32"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.814Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.814Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.814Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<D,4>)"
[2025-09-03T08:05:59.814Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.814Z] - No nodes matched!
[2025-09-03T08:05:59.814Z]
[2025-09-03T08:05:59.814Z] 5) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Float128()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.814Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sve2", "true", "avx512vl", "true"}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VF#_", "_@4", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=16"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.814Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.814Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.814Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<F,4>)"
[2025-09-03T08:05:59.814Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.814Z] - No nodes matched!
[2025-09-03T08:05:59.814Z]
[2025-09-03T08:05:59.814Z] 6) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Float256()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.814Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sve2", "true", "avx512vl", "true"}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VF#_", "_@8", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=32"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.814Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.814Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.814Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<F,8>)"
[2025-09-03T08:05:59.815Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.815Z] - No nodes matched!
[2025-09-03T08:05:59.815Z]
[2025-09-03T08:05:59.815Z] 7) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Int128()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.815Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sve2", "true", "avx512vl", "true"}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VI#_", "_@4", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=16"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.815Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.815Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.815Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<I,4>)"
[2025-09-03T08:05:59.815Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.815Z] - No nodes matched!
[2025-09-03T08:05:59.815Z]
[2025-09-03T08:05:59.815Z] 8) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Int256()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.815Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sve2", "true", "avx512vl", "true"}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VI#_", "_@8", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=32"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.815Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.815Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.815Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<I,8>)"
[2025-09-03T08:05:59.815Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.815Z] - No nodes matched!
[2025-09-03T08:05:59.815Z]
[2025-09-03T08:05:59.815Z] 9) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Long128()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.815Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sve2", "true", "avx512vl", "true"}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VL#_", "_@2", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=16"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.815Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.815Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.815Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<J,2>)"
[2025-09-03T08:05:59.815Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.815Z] - No nodes matched!
[2025-09-03T08:05:59.815Z]
[2025-09-03T08:05:59.815Z] 10) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Long256()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.816Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sve2", "true", "avx512vl", "true"}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VL#_", "_@4", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=32"}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.816Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.816Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.816Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<J,4>)"
[2025-09-03T08:05:59.816Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.816Z] - No nodes matched!
[2025-09-03T08:05:59.816Z]
[2025-09-03T08:05:59.816Z] 11) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Short128()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.816Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VS#_", "_@8", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=16"}, applyIfCPUFeature={"sve2", "true"}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.816Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.816Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.816Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<S,8>)"
[2025-09-03T08:05:59.816Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.816Z] - No nodes matched!
[2025-09-03T08:05:59.816Z]
[2025-09-03T08:05:59.816Z] 12) Method "public static void compiler.vectorapi.TestSelectFromTwoVectorOp.selectFromTwoVector_Short256()" - [Failed IR rules: 1]:
[2025-09-03T08:05:59.816Z] * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#V#SELECT_FROM_TWO_VECTOR_VS#_", "_@16", ">0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={"MaxVectorSize", ">=32"}, applyIfCPUFeature={"sve2", "true"}, applyIfAnd={}, applyIfNot={})"
[2025-09-03T08:05:59.816Z] > Phase "PrintIdeal":
[2025-09-03T08:05:59.816Z] - counts: Graph contains wrong number of nodes:
[2025-09-03T08:05:59.816Z] * Constraint 1: "(\d+(\s){2}(SelectFromTwoVector.*)+(\s){2}===.*vector[A-Za-z]<S,16>)"
[2025-09-03T08:05:59.816Z] - Failed comparison: [found] 0 > 0 [given]
[2025-09-03T08:05:59.816Z] - No nodes matched!
[2025-09-03T08:05:59.816Z]
[2025-09-03T08:05:59.816Z] >>> Check stdout for compilation output of the failed methods
[2025-09-03T08:05:59.816Z]
[2025-09-03T08:05:59.816Z]
[2025-09-03T08:05:59.816Z] #############################################################
[2025-09-03T08:05:59.816Z] - To only run the failed tests use -DTest, -DExclude,
[2025-09-03T08:05:59.817Z] and/or -DScenarios.
[2025-09-03T08:05:59.817Z] - To also get the standard output of the test VM run with
[2025-09-03T08:05:59.817Z] -DReportStdout=true or for even more fine-grained logging
[2025-09-03T08:05:59.817Z] use -DVerbose=true.
[2025-09-03T08:05:59.817Z] #############################################################
[2025-09-03T08:05:59.817Z]
[2025-09-03T08:05:59.817Z]
[2025-09-03T08:05:59.817Z] compiler.lib.ir_framework.driver.irmatching.IRViolationException: There were one or multiple IR rule failures. Please check stderr for more information.
[2025-09-03T08:05:59.817Z] at compiler.lib.ir_framework.driver.irmatching.IRMatcher.reportFailures(IRMatcher.java:61)
[2025-09-03T08:05:59.817Z] at compiler.lib.ir_framework.driver.irmatching.IRMatcher.match(IRMatcher.java:49)
[2025-09-03T08:05:59.817Z] at compiler.lib.ir_framework.TestFramework.runTestVM(TestFramework.java:882)
[2025-09-03T08:05:59.817Z] at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:834)
[2025-09-03T08:05:59.817Z] at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:426)
[2025-09-03T08:05:59.817Z] at compiler.lib.ir_framework.TestFramework.runWithFlags(TestFramework.java:257)
[2025-09-03T08:05:59.817Z] at compiler.vectorapi.TestSelectFromTwoVectorOp.main(TestSelectFromTwoVectorOp.java:484)
[2025-09-03T08:05:59.817Z] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
[2025-09-03T08:05:59.817Z] at java.base/java.lang.reflect.Method.invoke(Method.java:565)
[2025-09-03T08:05:59.817Z] at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
[2025-09-03T08:05:59.817Z] at java.base/java.lang.Thread.run(Thread.java:1474)
[2025-09-03T08:05:59.817Z]
[2025-09-03T08:05:59.817Z] JavaTest Message: Test threw exception: compiler.lib.ir_framework.driver.irmatching.IRViolationException: There were one or multiple IR rule failures. Please check stderr for more information.
[2025-09-03T08:05:59.817Z] JavaTest Message: shutting down test
[2025-09-03T08:05:59.817Z]
[2025-09-03T08:05:59.817Z] STATUS:Failed.`main' threw exception: compiler.lib.ir_framework.driver.irmatching.IRViolationException: There were one or multiple IR rule failures. Please check stderr for more information.
[2025-09-03T08:05:59.817Z] rerun:
[2025-09-03T08:05:59.817Z] cd /tmp/ci-scripts/jtwork_rerun/hotspot/scratch && \
[2025-09-03T08:05:59.817Z] HOME=/home/bot \
[2025-09-03T08:05:59.817Z] PATH=/bin:/usr/bin:/usr/sbin \
[2025-09-03T08:05:59.817Z] CLASSPATH=/tmp/ci-scripts/jtwork_rerun/hotspot/classes/compiler/vectorapi/TestSelectFromTwoVectorOp.d:/tmp/ci-scripts/jdk-src/test/hotspot/jtreg/compiler/vectorapi:/tmp/ci-scripts/jtwork_rerun/hotspot/classes/test/lib:/tmp/ci-scripts/jdk-src/test/lib:/tmp/ci-scripts/jtwork_rerun/hotspot/classes:/tmp/ci-scripts/jdk-src/test/hotspot/jtreg:/usr/local/lib/jtreg/jtreg-7.5.2+1/lib/jtreg.jar \
[2025-09-03T08:05:59.817Z] /tmp/ci-scripts/build-fastdebug/images/jdk/bin/java \
[2025-09-03T08:05:59.817Z] -Dtest.vm.opts='-server -ea -esa -Xmx768m -Djdk.incubator.vector.test.loop-iterations=500 -Djdk.test.lib.artifacts.jcstress-tests-all=/usr/local/lib/jcstress-tests-all-0.17-snapshot-20240328.jar' \
[2025-09-03T08:05:59.818Z] -Dtest.tool.vm.opts='-J-server -J-ea -J-esa -J-Xmx768m -J-Djdk.incubator.vector.test.loop-iterations=500 -J-Djdk.test.lib.artifacts.jcstress-tests-all=/usr/local/lib/jcstress-tests-all-0.17-snapshot-20240328.jar' \
[2025-09-03T08:05:59.818Z] -Dtest.compiler.opts= \
[2025-09-03T08:05:59.818Z] -Dtest.java.opts= \
[2025-09-03T08:05:59.818Z] -Dtest.jdk=/tmp/ci-scripts/build-fastdebug/images/jdk \
[2025-09-03T08:05:59.818Z] -Dcompile.jdk=/tmp/ci-scripts/build-fastdebug/images/jdk \
[2025-09-03T08:05:59.818Z] -Dtest.timeout.factor=16.0 \
[2025-09-03T08:05:59.818Z] -Dtest.nativepath=/tmp/ci-scripts/build-fastdebug/images/test/hotspot/jtreg/native \
[2025-09-03T08:05:59.818Z] -Dtest.root=/tmp/ci-scripts/jdk-src/test/hotspot/jtreg \
[2025-09-03T08:05:59.818Z] -Dtest.name=compiler/vectorapi/TestSelectFromTwoVectorOp.java \
[2025-09-03T08:05:59.818Z] -Dtest.verbose=Verbose[p=BRIEF,f=FULL,e=BRIEF,t=false,m=false] \
[2025-09-03T08:05:59.818Z] -Dtest.file=/tmp/ci-scripts/jdk-src/test/hotspot/jtreg/compiler/vectorapi/TestSelectFromTwoVectorOp.java \
[2025-09-03T08:05:59.818Z] -Dtest.main.class=compiler.vectorapi.TestSelectFromTwoVectorOp \
[2025-09-03T08:05:59.818Z] -Dtest.src=/tmp/ci-scripts/jdk-src/test/hotspot/jtreg/compiler/vectorapi \
[2025-09-03T08:05:59.818Z] -Dtest.src.path=/tmp/ci-scripts/jdk-src/test/hotspot/jtreg/compiler/vectorapi:/tmp/ci-scripts/jdk-src/test/lib:/tmp/ci-scripts/jdk-src/test/hotspot/jtreg \
[2025-09-03T08:05:59.818Z] -Dtest.classes=/tmp/ci-scripts/jtwork_rerun/hotspot/classes/compiler/vectorapi/TestSelectFromTwoVectorOp.d \
[2025-09-03T08:05:59.818Z] -Dtest.class.path=/tmp/ci-scripts/jtwork_rerun/hotspot/classes/compiler/vectorapi/TestSelectFromTwoVectorOp.d:/tmp/ci-scripts/jtwork_rerun/hotspot/classes/test/lib:/tmp/ci-scripts/jtwork_rerun/hotspot/classes \
[2025-09-03T08:05:59.818Z] -Dtest.class.path.prefix=/tmp/ci-scripts/jtwork_rerun/hotspot/classes/compiler/vectorapi/TestSelectFromTwoVectorOp.d:/tmp/ci-scripts/jdk-src/test/hotspot/jtreg/compiler/vectorapi:/tmp/ci-scripts/jtwork_rerun/hotspot/classes/test/lib:/tmp/ci-scripts/jtwork_rerun/hotspot/classes \
[2025-09-03T08:05:59.818Z] -Dtest.modules=jdk.incubator.vector \
[2025-09-03T08:05:59.818Z] --add-modules jdk.incubator.vector \
[2025-09-03T08:05:59.818Z] -server \
[2025-09-03T08:05:59.818Z] -ea \
[2025-09-03T08:05:59.818Z] -esa \
[2025-09-03T08:05:59.818Z] -Xmx768m \
[2025-09-03T08:05:59.818Z] -Djdk.incubator.vector.test.loop-iterations=500 \
[2025-09-03T08:05:59.818Z] -Djdk.test.lib.artifacts.jcstress-tests-all=/usr/local/lib/jcstress-tests-all-0.17-snapshot-20240328.jar \
[2025-09-03T08:05:59.818Z] -Djava.library.path=/tmp/ci-scripts/build-fastdebug/images/test/hotspot/jtreg/native \
[2025-09-03T08:05:59.818Z] com.sun.javatest.regtest.agent.MainWrapper /tmp/ci-scripts/jtwork_rerun/hotspot/compiler/vectorapi/TestSelectFromTwoVectorOp.d/driver.0.jta
[2025-09-03T08:05:59.818Z]
[2025-09-03T08:05:59.819Z] TEST RESULT: Failed. Execution failed: `main' threw exception: compiler.lib.ir_framework.driver.irmatching.IRViolationException: There were one or multiple IR rule failures. Please check stderr for more information.
```
- caused by
-
JDK-8348868 AArch64: Add backend support for SelectFromTwoVector
-
- Resolved
-
- links to
-
Review(master) openjdk/jdk/27723