-
Bug
-
Resolution: Fixed
-
P3
-
17, 20, 21
-
b25
-
x86_64
With appended Test.java run like this:
./java -Xcomp -XX:CompileCommand=compileonly,Test::test -XX:+TraceLoopOpts -XX:+UseVectorCmov -XX:+UseCMoveUnconditionally -XX:+TraceSuperWord -XX:MaxVectorSize=32 -XX:+TraceNewVectors Test.java
I get:
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/emanuel/Documents/fork7-jdk/open/src/hotspot/share/opto/node.hpp:392), pid=21814, tid=21831
# assert(i < _max) failed: oob: i=1, _max=1
#
# JRE version: Java(TM) SE Runtime Environment (21.0) (slowdebug build 21-internal-LTS-2023-04-17-1039212.emanuel...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (slowdebug 21-internal-LTS-2023-04-17-1039212.emanuel..., compiled mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x416445] Node::in(unsigned int) const+0x41
Note: the body of the loop can contain the equals check, or non-equals - it fails for both:
dataFc[i] = (dataFa[i] == dataFb[i]) ? dataFa[i] : dataFb[i];
dataFc[i] = (dataFa[i] != dataFb[i]) ? dataFa[i] : dataFb[i];
My guess is that something is wrong with the "EQ/NEQ tests (cmpOpUCF2)" in x86.
- duplicates
-
JDK-8306088 C2 Superword: verify consistency of packset and my_pack
-
- Closed
-
- relates to
-
JDK-8313345 SuperWord fails due to CMove without matching Bool pack
-
- Resolved
-
-
JDK-8306922 IR verification fails because IR dump is chopped up
-
- Resolved
-
-
JDK-8308841 C2 SuperWord: implement vectorization of integer CMove
-
- Open
-
-
JDK-8285973 x86_64: Improve fp comparison and cmove for eq/ne
-
- Resolved
-
-
JDK-8289422 Fix and re-enable vector conditional move
-
- Resolved
-
-
JDK-8304720 SuperWord::schedule should rebuild C2-graph from SuperWord dependency-graph
-
- Resolved
-
-
JDK-8313720 C2 SuperWord: wrong result with -XX:+UseVectorCmov -XX:+UseCMoveUnconditionally
-
- Resolved
-
-
JDK-8309268 C2: "assert(in_bb(n)) failed: must be" after JDK-8306302
-
- Closed
-