RFR: 8300208: Optimize Adler32 stub for AVX-512 targets. [v3]

Jatin Bhateja jbhateja at openjdk.org
Fri Jan 27 20:19:54 UTC 2023


On Fri, 27 Jan 2023 17:32:46 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:

>> src/hotspot/cpu/x86/stubGenerator_x86_64_adler.cpp line 155:
>> 
>>> 153:       __ vpaddd(yb, yb, ya, Assembler::AVX_512bit);
>>> 154:       __ addptr(data, CHUNKSIZE);
>>> 155:       __ cmpptr(data, end);
>> 
>> This still processes 16 bytes worth of data in one loop iteration as the AVX2 loop. Have you given thoughts on processing double the size with AVX3?
>
> Could be done something like below:
> [adler32.patch](https://github.com/openjdk/jdk/files/10521481/adler32.patch)

Yes, one level of unrolling will save loop overhead cost, I have incorporated this in the patch.

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

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


More information about the hotspot-compiler-dev mailing list