RFR: 8292898: [vectorapi] Unify vector mask cast operation [v4]
Jatin Bhateja
jbhateja at openjdk.org
Tue Sep 27 03:49:25 UTC 2022
On Tue, 27 Sep 2022 02:13:13 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:
>> 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?
Correct it's an existing limitation, but in general any newly added code should be reachable in some execution path of a valid testcase. WDYT ?
-------------
PR: https://git.openjdk.org/jdk/pull/10192
More information about the hotspot-compiler-dev
mailing list