RFR: 8370863: VectorAPI: Optimize the VectorMaskCast chain in specific patterns [v9]
Xiaohong Gong
xgong at openjdk.org
Mon Feb 2 09:04:32 UTC 2026
On Mon, 2 Feb 2026 08:45:53 GMT, Eric Fang <erfang at openjdk.org> wrote:
>> 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?
The main concern/difference is that all the vector IRs are zero count here. I'd like to guarantee that the optimizations do take effects without any regressions.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/28313#discussion_r2753284295
More information about the core-libs-dev
mailing list