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