RFR: 8266951: Partial in-lining for vectorized mismatch operation using AVX512 masked instructions [v7]

Jatin Bhateja jbhateja at openjdk.java.net
Mon May 31 15:18:59 UTC 2021


On Mon, 31 May 2021 07:44:16 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   8266951: Review comments resolution.
>
> src/hotspot/share/opto/library_call.cpp line 5254:
> 
>> 5252: 
>> 5253:       const TypeVect* vt = TypeVect::make(elem_bt, vec_len);
>> 5254:       Node* mask_gen = _gvn.transform(new VectorMaskGenNode(ConvI2L(length), TypeVect::VECTMASK, elem_bt));
> 
> Should `ConvI2X` be used here?

Partial in-lining is supported only for 64 bit targets so ConvI2X will boil down to ConvI2L.

> src/hotspot/share/opto/library_call.cpp line 5304:
> 
>> 5302:     set_result(fastcomp_result);
>> 5303:   }
>> 5304:   clear_upper_avx();
> 
> There was no `clear_upper_avx()` before. 
> Was it overlooked before or is it needed only for new code (when partial inlining takes place)?

This is added for newer code dealing with vectors.

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

PR: https://git.openjdk.java.net/jdk/pull/3999


More information about the hotspot-compiler-dev mailing list