RFR: JDK-8271567: AArch64: AES Galois CounterMode (GCM) interleaved implementation using vector instructions [v8]
Andrew Haley
aph at openjdk.java.net
Tue Sep 14 16:15:11 UTC 2021
On Tue, 14 Sep 2021 14:34:09 GMT, Andrew Haley <aph at openjdk.org> wrote:
>> src/hotspot/cpu/aarch64/macroAssembler_aarch64_aes.cpp line 604:
>>
>>> 602: // v4: high part of product
>>> 603: // v5: low part ...
>>> 604: //
>>
>> I'm not clear about this comment. The ghash generators have a stride of 7. Should this not mean the registers are replicated across v0 - v27 with v6, v13, v20 and v27 classified as unused registers.
>
> Well spotted.
> I suspect it would be hard to produce hand-crafted code that does significantly better when it comes to performance.
Probably not, especially because the design of `KenelGenerator` allows you to do pretty much anything. (In particular, the clones don't even have to compute the same function!) I hope we'd prefer maintainability to shaving off every clock cycle once we'd made encryption no longer the bottleneck.
-------------
PR: https://git.openjdk.java.net/jdk/pull/5390
More information about the hotspot-dev
mailing list