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 Does it really solve the issue, recently we have [JDK-8374889](https://bugs.openjdk.org/browse/JDK-8374889). I think the compiler needs to properly handle illegal combinations, too. test/hotspot/jtreg/compiler/vectorapi/TestShiftOpOnFloatingVector.java line 153: > 151: } > 152: > 153: public static void main(String[] args) { This looks more like a core-libs test than a compiler test to me. In addition, is it necessary to spawn 5 test processes instead of using one to run all the configurations? ------------- PR Review: https://git.openjdk.org/jdk/pull/30642#pullrequestreview-4086772228 PR Review Comment: https://git.openjdk.org/jdk/pull/30642#discussion_r3061725990
