Found this while writing regression tests for JDK-8310190.
Reporduce like this:
java -Xcomp -XX:-TieredCompilation -XX:CompileCommand=compileonly,Test2::test -XX:CompileCommand=printcompilation,Test2::test* -XX:+TraceNewVectors -XX:+TraceSuperWord -XX:+TraceLoopOpts -XX:LoopUnrollLimit=10000 Test2.java
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/oracle-work/jdk-fork7/open/src/hotspot/share/opto/phaseX.cpp:1004), pid=590714, tid=590727
# assert(false) failed: infinite loop in PhaseIterGVN::optimize
#
# JRE version: Java(TM) SE Runtime Environment (22.0) (fastdebug build 22-internal-2023-07-19-1629373.emanuel...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 22-internal-2023-07-19-1629373.emanuel..., compiled mode, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x150505b] PhaseIterGVN::dump_infinite_loop_info(Node*, char const*) [clone .part.0]+0x2b
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E" (or dumping to /oracle-work/jdk-fork7/build/linux-x64-slowdebug/jdk/bin/core.590714)
#
# An error report file with more information is saved as:
# /oracle-work/jdk-fork7/build/linux-x64-slowdebug/jdk/bin/hs_err_pid590714.log
#
# Compiler replay data is saved as:
# /oracle-work/jdk-fork7/build/linux-x64-slowdebug/jdk/bin/replay_pid590714.log