At least the following tests fail with JVM args "-XX:-TieredCompilation -XX:VerifyIterativeGVN=1110 -XX:+UnlockDiagnosticVMOptions -XX:+StressIncrementalInlining" with "Missed Ideal optimization" for VectorMaskToLong:
- compiler/vectorapi/VectorMaskToLongTest.java
- compiler/vectorapi/VectorCommutativeOperSharingTest.java
Example error output for compiler/vectorapi/VectorMaskToLongTest.java:
Missed Ideal optimization (can_reshape=false):
The node was replaced by Ideal.
Old node:
dist dump
---------------------------------------------
1 1450 VectorStoreMask === _ 1977 1360 [[ 1451 ]] #vectord<Z,8> !jvms: FloatMaxVector$FloatMaxMask::toLong @ bci:35 (line 734) VectorMaskToLongTest::testMaskAllToLong @ bci:66 (line 77) VectorMaskToLongTest::testMaskAllToLongFloat @ bci:3 (line 162)
0 1451 VectorMaskToLong === _ 1450 [[ 448 ]] #long !jvms: FloatMaxVector$FloatMaxMask::toLong @ bci:35 (line 734) VectorMaskToLongTest::testMaskAllToLong @ bci:66 (line 77) VectorMaskToLongTest::testMaskAllToLongFloat @ bci:3 (line 162)
The result after Ideal:
dist dump
---------------------------------------------
1 0 Root === 0 877 104 2160 203 2136 902 690 608 630 650 689 [[ 0 1 3 377 21 366 328 35 51 52 71 79 86 90 99 467 144 239 155 727 1360 1179 1116 1115 1113 789 1112 1106 938 1601 2238 2241 2246 2256 2269 2270 2271 2272 2274 ]]
0 2274 ConL === 0 [[ ]] #long:255 !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testMaskAllToLong @ bci:11 (line 69) VectorMaskToLongTest::testMaskAllToLongFloat @ bci:3 (line 162)
Missed Ideal optimization (can_reshape=true):
The node was replaced by Ideal.
Old node:
dist dump
---------------------------------------------
1 1450 VectorStoreMask === _ 1977 1360 [[ 1451 ]] #vectord<Z,8> !jvms: FloatMaxVector$FloatMaxMask::toLong @ bci:35 (line 734) VectorMaskToLongTest::testMaskAllToLong @ bci:66 (line 77) VectorMaskToLongTest::testMaskAllToLongFloat @ bci:3 (line 162)
0 1451 VectorMaskToLong === _ 1450 [[ 448 ]] #long !jvms: FloatMaxVector$FloatMaxMask::toLong @ bci:35 (line 734) VectorMaskToLongTest::testMaskAllToLong @ bci:66 (line 77) VectorMaskToLongTest::testMaskAllToLongFloat @ bci:3 (line 162)
The result after Ideal:
dist dump
---------------------------------------------
1 0 Root === 0 877 104 2160 203 2136 902 690 608 630 650 689 [[ 0 1 3 377 21 366 328 35 51 52 71 79 86 90 99 467 144 239 155 727 1360 1179 1116 1115 1113 789 1112 1106 938 1601 2238 2241 2246 2256 2269 2270 2271 2272 2274 2275 ]]
0 2275 ConL === 0 [[ ]] #long:255 !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testMaskAllToLong @ bci:11 (line 69) VectorMaskToLongTest::testMaskAllToLongFloat @ bci:3 (line 162)
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (src/hotspot/share/opto/phaseX.cpp:1117), pid=305792, tid=305816
# assert(!failure) failed: Missed optimization opportunity/broken graph in PhaseIterGVN
#
# JRE version: Java(TM) SE Runtime Environment (27.0+6) (fastdebug build 27-ea+6-453)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 27-ea+6-453, mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x18a1dba] PhaseIterGVN::verify_optimize()+0xd1a
- compiler/vectorapi/VectorMaskToLongTest.java
- compiler/vectorapi/VectorCommutativeOperSharingTest.java
Example error output for compiler/vectorapi/VectorMaskToLongTest.java:
Missed Ideal optimization (can_reshape=false):
The node was replaced by Ideal.
Old node:
dist dump
---------------------------------------------
1 1450 VectorStoreMask === _ 1977 1360 [[ 1451 ]] #vectord<Z,8> !jvms: FloatMaxVector$FloatMaxMask::toLong @ bci:35 (line 734) VectorMaskToLongTest::testMaskAllToLong @ bci:66 (line 77) VectorMaskToLongTest::testMaskAllToLongFloat @ bci:3 (line 162)
0 1451 VectorMaskToLong === _ 1450 [[ 448 ]] #long !jvms: FloatMaxVector$FloatMaxMask::toLong @ bci:35 (line 734) VectorMaskToLongTest::testMaskAllToLong @ bci:66 (line 77) VectorMaskToLongTest::testMaskAllToLongFloat @ bci:3 (line 162)
The result after Ideal:
dist dump
---------------------------------------------
1 0 Root === 0 877 104 2160 203 2136 902 690 608 630 650 689 [[ 0 1 3 377 21 366 328 35 51 52 71 79 86 90 99 467 144 239 155 727 1360 1179 1116 1115 1113 789 1112 1106 938 1601 2238 2241 2246 2256 2269 2270 2271 2272 2274 ]]
0 2274 ConL === 0 [[ ]] #long:255 !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testMaskAllToLong @ bci:11 (line 69) VectorMaskToLongTest::testMaskAllToLongFloat @ bci:3 (line 162)
Missed Ideal optimization (can_reshape=true):
The node was replaced by Ideal.
Old node:
dist dump
---------------------------------------------
1 1450 VectorStoreMask === _ 1977 1360 [[ 1451 ]] #vectord<Z,8> !jvms: FloatMaxVector$FloatMaxMask::toLong @ bci:35 (line 734) VectorMaskToLongTest::testMaskAllToLong @ bci:66 (line 77) VectorMaskToLongTest::testMaskAllToLongFloat @ bci:3 (line 162)
0 1451 VectorMaskToLong === _ 1450 [[ 448 ]] #long !jvms: FloatMaxVector$FloatMaxMask::toLong @ bci:35 (line 734) VectorMaskToLongTest::testMaskAllToLong @ bci:66 (line 77) VectorMaskToLongTest::testMaskAllToLongFloat @ bci:3 (line 162)
The result after Ideal:
dist dump
---------------------------------------------
1 0 Root === 0 877 104 2160 203 2136 902 690 608 630 650 689 [[ 0 1 3 377 21 366 328 35 51 52 71 79 86 90 99 467 144 239 155 727 1360 1179 1116 1115 1113 789 1112 1106 938 1601 2238 2241 2246 2256 2269 2270 2271 2272 2274 2275 ]]
0 2275 ConL === 0 [[ ]] #long:255 !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testMaskAllToLong @ bci:11 (line 69) VectorMaskToLongTest::testMaskAllToLongFloat @ bci:3 (line 162)
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (src/hotspot/share/opto/phaseX.cpp:1117), pid=305792, tid=305816
# assert(!failure) failed: Missed optimization opportunity/broken graph in PhaseIterGVN
#
# JRE version: Java(TM) SE Runtime Environment (27.0+6) (fastdebug build 27-ea+6-453)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 27-ea+6-453, mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x18a1dba] PhaseIterGVN::verify_optimize()+0xd1a
- relates to
-
JDK-8375633 C2: Missed Ideal optimization opportunity with ConvD2F/ConvF2HF and -XX:+StressIncrementalInlining
-
- Open
-
-
JDK-8375686 C2: Missed Ideal optimization opportunity with ConvF2HF and -XX:+StressIncrementalInlining
-
- Closed
-
-
JDK-8319879 Stress mode to randomize incremental inlining decision
-
- Resolved
-