RFR: 8257772: Vectorizing clear memory operation using AVX-512 masked operations [v4]

Jatin Bhateja jbhateja at openjdk.java.net
Mon Dec 14 05:00:21 UTC 2020


On Thu, 10 Dec 2020 07:43:36 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:

>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   8257772: Changing the default value for UseXMMForObjInit and UseFastStosb flags.
>
> src/hotspot/cpu/x86/macroAssembler_x86.cpp line 4937:
> 
>> 4935:   // base - start address, qword aligned.
>> 4936:   Label L_zero_64_bytes, L_loop, L_sloop, L_tail, L_end;
>> 4937:   bool use64byteVector = MaxVectorSize == 64 && AVX3Threshold == 0;
> 
> The comment for `AVX3Threshold` says:
>   "Minimum array size in bytes to use AVX512 intrinsics"
>   "for copy, inflate and fill. When this value is set as zero"
>   "compare operations can also use AVX512 intrinsics.")
> 
> Should we mention clear memory there as well?

Hi Nils, comments already cover "fill", clear memory is semantically equivalent to fill by zero.

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

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


More information about the hotspot-compiler-dev mailing list