RFR: 8370863: VectorAPI: Optimize the VectorMaskCast chain in specific patterns [v9]

Eric Fang erfang at openjdk.org
Mon Feb 2 08:48:27 UTC 2026


On Mon, 2 Feb 2026 08:17:51 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

>> Eric Fang has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Add clearer comments to VectorMaskCastIdentityTest.java
>
> test/hotspot/jtreg/compiler/vectorapi/VectorStoreMaskIdentityTest.java line 288:
> 
>> 286:     @IR(counts = { IRNode.VECTOR_LOAD_MASK, "= 0",
>> 287:                    IRNode.VECTOR_STORE_MASK, "= 0",
>> 288:                    IRNode.VECTOR_MASK_CAST, "= 0" },
> 
> Can we also check `IRNode.LOAD_VECTOR` to make sure these APIs are intrinsified successfully, and the nodes are eliminated by `VectorStoreMask::Identity()` ? Because if these APIs are not intrinsified due to some reasons, above IRs do not exist as well.

Yeah I agree that if this api is not intrinsified, the expected IRs will not be generated either. I can add this IR check; it's trival, but:

The reason I didn't check this IR before was because I thought it was a separate issue. We should write separate tests to check under what circumstances the relevant APIs are or aren't intrinsified.

A large portion of the Vector API involves the `LoadVector` IR. If we need to check whether the called Vector API is successfully intrinsified for these kinds of optimizations, then our IR check chain will become longer and longer.

WDYT?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28313#discussion_r2753221382


More information about the core-libs-dev mailing list