RFR: 8292898: [vectorapi] Unify vector mask cast operation [v4]

Quan Anh Mai qamai at openjdk.org
Tue Sep 27 04:13:18 UTC 2022


On Tue, 27 Sep 2022 02:21:38 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

>> src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp line 4626:
>> 
>>> 4624:     switch (dst_bt_size / src_bt_size) {
>>> 4625:       case 2: {
>>> 4626:         if (vlen_enc == AVX_512bit && !VM_Version::supports_avx512bw()) {
>> 
>> Ideal type for a valid mask casting involving 512 bit species should be TypeVectMask, thus this code may never get executed since mask will be propagated using opmask register.
>
> @merykitty , please take a look at this comment. Yes, I know that the mask use a different register for AVX-512. But I'm not quite familiar with the avx512 feature (i.e. `avx512bw`). Thanks a lot!

I agree that 512-bit masks are matched to mask registers. However, other mask operations, such as `VectorMaskCmp` or `VectorTest` still have rules for 512-bit vector-register masks. Do you think we should remove these rules also? Thanks.

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

PR: https://git.openjdk.org/jdk/pull/10192


More information about the hotspot-compiler-dev mailing list