[15] RFR(M): 8245512: CRC32 optimization using AVX512 instructions

Vladimir Kozlov vladimir.kozlov at oracle.com
Mon Jun 1 21:36:20 UTC 2020


Hi Shravya,

Why you put new CRC32 avx512 code into macroAssembler_x86_aes.cpp file?
This file is used only for AES intrinsic code - nothing else should be there.

If you think CRC32 code is too large for macroAssembler_x86.cpp I would suggest to move all CRC32 code, old and new, 
into new macroAssembler_x86_crc32.cpp file.

I see that you want to implement new code only for 64 bit which is fine and you guarded it correctly wiht #ifrdef _LP64. 
But you forgot guard in stubGenerator_x86_64.cpp which will cause build failure for 32-bit.

It is difficult to judge the implementation code. I hope you ran all tests for it.

Thanks,
Vladimir

On 5/20/20 4:01 PM, Rukmannagari, Shravya wrote:
> Hi All,
> 
> We would like to contribute optimizations for CRC32 algorithm for upcoming Intel x86_64 platforms.
> 
> 
> 
> Contributors:
> 
> Shravya Rukmannagari(shravya.rukmannagari at intel.com)
> 
> Greg B Tucker(greg.b.tucker at intel.com)
> 
> 
> 
> I have tested the patch to confirm correctness and performance. The patch also passes compiler/jtreg tests.
> 
> 
> 
> Please take a look and let me know if you have any questions or comments.
> 
> 
> 
> Bug Id: https://bugs.openjdk.java.net/browse/JDK-8245512
> 
> https://cr.openjdk.java.net/~srukmannagar/CRC32/webrev.01/
> 
> 
> 
> Regards,
> 
> Shravya Rukmannagari
> 


More information about the hotspot-compiler-dev mailing list