RFR: 8292898: [vectorapi] Unify vector mask cast operation [v4]
Xiaohong Gong
xgong at openjdk.org
Wed Sep 28 03:35:32 UTC 2022
On Mon, 26 Sep 2022 20:21:05 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
>
> common IR changes looks good to me, few more comments related to x86 backend implementation
Hi @jatin-bhateja , the new commit addresses all the comments from your side. Please help to take a look whether it's ok for you. Thanks a lot!
> src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp line 4642:
>
>> 4640: case 2: {
>> 4641: if (vlen_enc == AVX_512bit) {
>> 4642: if (VM_Version::supports_avx512bw()) {
>
> Please elaborate for which mask cast src/dst species do you expect this code to be executed. AVX512 masks are propagated using opmask registers.
The new change removed this code path.
> src/hotspot/cpu/x86/x86.ad line 8439:
>
>> 8437: BasicType src_bt = Matcher::vector_element_basic_type(this, $src);
>> 8438: BasicType dst_bt = Matcher::vector_element_basic_type(this);
>> 8439: __ vector_mask_cast($dst$$XMMRegister, $src$$XMMRegister, $xtmp1$$XMMRegister,
>
> renaming macro-assembly routine will make the intent more clear vector_mask_cast32B, same goes for below shrink casting pattern.
The new commit has removed this changes.
-------------
PR: https://git.openjdk.org/jdk/pull/10192
More information about the hotspot-compiler-dev
mailing list