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

Reply via email to