On Thu, 9 Apr 2026 07:08:21 GMT, Jatin Bhateja <[email protected]> wrote:
> 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 We cannot rely on the code being unreached to ensure that the compiler does not crash, while the compiler often ignores unreached code paths, it is not a certainty. > We were getting crashes for each invocation of test with different shift > family operator and that was the intent, with fix test passes. I don't know what this has to do with spawning multiple test processes instead of running all the tests in one process. ------------- PR Comment: https://git.openjdk.org/jdk/pull/30642#issuecomment-4221415590
