RFR: 8373026: C2 SuperWord and Vector API: vector algorithms test and benchmark [v12]
Xiaohong Gong
xgong at openjdk.org
Mon Jan 26 03:41:03 UTC 2026
On Thu, 22 Jan 2026 02:24:03 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:
>> Emanuel Peter has updated the pull request incrementally with one additional commit since the last revision:
>>
>> updates for review
>
> I ran the new tests on my ARM NEON machine with `-XX:MaxVectorSize=8`, and following tests crashed with the same error:
>
> compiler/vectorization/TestVectorAlgorithms.java#noOptimizeFill
> compiler/vectorization/TestVectorAlgorithms.java#noSuperWord
> compiler/vectorization/TestVectorAlgorithms.java#vanilla
>
>
> Here is the log:
>
> Standard Output
> ---------------
> CompileCommand: inline *VectorAlgorithmsImpl*.* bool inline = true
> TestVM main() called - about to run tests in class compiler.vectorization.TestVectorAlgorithms
> For random generator using seed: 5121565769469166450
> To re-run test with same seed value please add "-Djdk.test.lib.random.seed=5121565769469166450" to command line.
> 300 Phi === 103 1050 302 [[ 399 299 ]] #rawptr:BotPTR !jvms: IntVector::lanewiseTemplate @ bci:154 (line 798) Int64Vector::lanewise @ bci:3 (line 278) Int64Vector::lanewise @ bci:3 (line 43) IntVector::lanewise @ bci:43 (line 944) IntVector::add @ bci:5 (line 1406) VectorAlgorithmsImpl::findMinIndexI_VectorAPI @ bci:96 (line 563)
> 300 Phi === 103 1050 302 [[ 399 299 ]] #rawptr:BotPTR !jvms: IntVector::lanewiseTemplate @ bci:154 (line 798) Int64Vector::lanewise @ bci:3 (line 278) Int64Vector::lanewise @ bci:3 (line 43) IntVector::lanewise @ bci:43 (line 944) IntVector::add @ bci:5 (line 1406) VectorAlgorithmsImpl::findMinIndexI_VectorAPI @ bci:96 (line 563)
> 98 safePoint === 101 0 401 0 0 99 905 402 403 404 282 0 0 0 0 908 909 912 [[ 100 575 675 ]] !jvms: VectorAlgorithmsImpl::findMinIndexI_VectorAPI @ bci:113 (line 558)
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> # Internal Error (jdk-src/src/hotspot/share/opto/buildOopMap.cpp:371), pid=145228, tid=145250
> # assert(false) failed: there should be an oop in OopMap instead of a live raw oop at safepoint
> #
> # JRE version: OpenJDK Runtime Environment (27.0) (fastdebug build 27-internal-git-362f4c7acc8)
> # Java VM: OpenJDK 64-Bit Server VM (fastdebug 27-internal-git-362f4c7acc8, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
> # Problematic frame:
> # V [libjvm.so+0x72ae50] OopFlow::build_oop_map(Node*, int, PhaseRegAlloc*, int*)+0xf80
> #
>
>
> And the VM options:
>
> -ea -esa -Xmx768m -XX:UseSVE=0 -XX:MaxVectorSize=8 --add-modules=jdk.incubator.vector -XX:CompileCommand=inline,*VectorAlgorithmsImpl*::* -XX:-BackgroundCompilation -XX:CompileCommand=quiet
>
> Could you please take a look? Thanks!
> @XiaohongGong The failure is of course unrelated, since we have no VM changes here. A bit scary that a random "demo benchmark" triggers a bug :/
>
> I could reproduce it as well, extracted a stand-alone test, and filed: https://bugs.openjdk.org/browse/JDK-8376189
>
> Thanks for reporting it @XiaohongGong !
Good to know, thanks for testing it. That’s weird to me as well; I’ll take a look when I have time.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28639#issuecomment-3797774486
More information about the hotspot-compiler-dev
mailing list