ROL, ROR, LSHL, ASHR, LSHR in VectorOperators.java were declared with VO_SHIFT but missing VO_NOFP, allowing them to pass the opCode() guard on floating-point vectors (DoubleVector, FloatVector).
This bug fix patch adds VO_NOFP to all five declarations. As a result, C2 only compiles the hot code path comprising of opCode() check, sees the illegalOperation throw an exception, cold path comprising of VectorSupport.binaryOp intrinsic not compiled and thus flow never reaches vop2ideal() which generates a fatal error if shift class operation is performed over floating point type Please review and share your feedback. Best Regards, Jatin ------------- Commit messages: - 8381579: C2: "fatal error: LROTATE: double" when using VectorAPI Changes: https://git.openjdk.org/jdk/pull/30642/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=30642&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8381579 Stats: 168 lines in 2 files changed: 163 ins; 0 del; 5 mod Patch: https://git.openjdk.org/jdk/pull/30642.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/30642/head:pull/30642 PR: https://git.openjdk.org/jdk/pull/30642
