RFR: 8292898: [vectorapi] Unify vector mask cast operation [v4]
Xiaohong Gong
xgong at openjdk.org
Tue Sep 27 02:15:26 UTC 2022
On Mon, 26 Sep 2022 20:04:32 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
>> Xiaohong Gong has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Add assertion to the elem num for mast cast
>
> src/hotspot/cpu/x86/x86.ad line 8429:
>
>> 8427:
>> 8428: instruct vmaskcast_avx1_32B_expand(vec dst, vec src, vec xtmp1, vec xtmp2) %{
>> 8429: predicate(UseAVX == 1 && Matcher::vector_length_in_bytes(n) == 32 &&
>
> Limitation related to VectorLoadMask https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/x86/x86.ad#L1852 will prevent exercising this pattern.
Thanks for pointing out this limitation! So the original `VectorCast` pattern also has the similar issue, right? Further thinking about this limitation, since almost all the mask generation/using API will check the `VectorLoadMask`, this rule may not be useful. But keeping it is fine to me in case `VectorMaskCast` is used for other cases or the limitation is relaxed in future. WDYT?
-------------
PR: https://git.openjdk.org/jdk/pull/10192
More information about the hotspot-compiler-dev
mailing list