RFR: 8292898: [vectorapi] Unify vector mask cast operation [v2]
Quan Anh Mai
duke at openjdk.org
Fri Sep 23 07:38:18 UTC 2022
On Thu, 15 Sep 2022 12:16:38 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
>> Xiaohong Gong has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains one commit:
>>
>> 8292898: [vectorapi] Unify vector mask cast operation
>
> src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp line 4630:
>
>> 4628: } else {
>> 4629: vpmovsxbw(dst, src, vlen_enc);
>> 4630: }
>
> if int/short == 2 and target == AVX512BW: VPMOVSXBW looks incorrect, expectation is to wide cast each 16 bit lane to 32 bit and not 8 bit to 16 bit.
A mask element of type short can only be 0x0000 or 0xFFFF, in those cases both `vpmovsxbw` and `vpmovsxwd` transform it to 0x00000000 and 0xFFFFFFFF, respectively. The same logic applies to the below circumstances.
-------------
PR: https://git.openjdk.org/jdk/pull/10192
More information about the hotspot-compiler-dev
mailing list