On Tue, 17 Aug 2021 23:37:55 GMT, Smita Kamath <svkam...@openjdk.org> wrote:
>> I would like to submit AES-GCM optimization for x86_64 architectures >> supporting AVX3+VAES (Evex encoded AES). This optimization interleaves AES >> and GHASH operations. >> Performance gain of ~1.5x - 2x for message sizes 8k and above. > > Smita Kamath has updated the pull request incrementally with one additional > commit since the last revision: > > Moved declaration in vmStructs.cpp to other AESCrypt declarations src/hotspot/cpu/x86/stubGenerator_x86_64.cpp line 7712: > 7710: StubRoutines::x86::_counter_mask_addr = counter_mask_addr(); > 7711: StubRoutines::x86::_ghash_poly512_addr = > ghash_polynomial512_addr(); > 7712: StubRoutines::x86::_ghash_long_swap_mask_addr = > generate_ghash_long_swap_mask(); `_counter_mask_addr = counter_mask_addr()` and `_ghash_long_swap_mask_addr = generate_ghash_long_swap_mask()` are called by other intrinsics too. Which duplicates code in codeCache. They should be called only once when they are used. May be `counter_mask_addr()` and `generate_ghash_long_swap_mask()` method should check that addresses already recorded and return it. ------------- PR: https://git.openjdk.java.net/jdk/pull/4019