RFR: 8267125: AES Galois CounterMode (GCM) interleaved implementation using AVX512 + VAES instructions [v7]

Anthony Scarpino ascarpino at openjdk.java.net
Fri Aug 6 19:56:33 UTC 2021


On Fri, 6 Aug 2021 19:44:05 GMT, Valerie Peng <valeriep at openjdk.org> wrote:

>> Smita Kamath has updated the pull request incrementally with five additional commits since the last revision:
>> 
>>  - Merge branch 'aes-gcm' of github.com:smita-kamath/jdk into aes-gcm
>>  - Updates, comment and variable cleanup
>>  - merge rest
>>  - merge
>>  - fixes and code comments
>
> src/java.base/share/classes/com/sun/crypto/provider/GaloisCounterMode.java line 87:
> 
>> 85:     private static final int MAX_BUF_SIZE = Integer.MAX_VALUE;
>> 86:     // data size when buffer is divided up to aid in intrinsics
>> 87:     private static final int TRIGGERLEN = 65536;  // 64k
> 
> With this interleaved impl, is this TRIGGERLEN still needed? The implGCMCrypt(byte[] in, int inOfs, int inLen,
>         byte[] ct, int ctOfs, byte[] out, int outOfs, GCTR gctr, GHASH ghash) method is intrinsified, would there be a difference in increasing the number of gctr/ghash calls inside an already intrinsified method?

Yes, they are two different intrinsics.  The new implGCMCrypt intrinsic is supported by newer processors so there is no guarantee that implGCMCrypt will run the intrinsic.

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

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


More information about the hotspot-compiler-dev mailing list