On Fri, 10 Apr 2026 02:36:53 GMT, Quan Anh Mai <[email protected]> wrote:

> 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.

Main problem here is that these operators were not marked as VO_NOFP,  
For Double/FloatVector FORBID_OPCODE_KIND is VO_NOFP,  and java implementation 
of lanewiseTemplate explicitly checks for forbidden operation before making 
call to intrinsic entry i.e. VectorSupport.binaryOp
https://github.com/openjdk/jdk/blob/master/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java#L807

VectorOperators.opCode is forced inlined and after constant folding will always 
throws an exception if an operation is forbidden for a given VectorType, this 
is the control path which gets compiled
https://github.com/openjdk/jdk/blob/master/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorOperators.java#L856

> 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?

We were getting crashes for each invocation of test with different shift family 
operator and that was the intent, with fix test passes.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/30642#issuecomment-4221248550
PR Review Comment: https://git.openjdk.org/jdk/pull/30642#discussion_r3062395125

Reply via email to