RFR: JDK-8271567: AArch64: AES Galois CounterMode (GCM) interleaved implementation using vector instructions
Nick Gasson
nick.gasson at arm.com
Fri Sep 10 07:37:46 UTC 2021
On 07/09/21 22:36 pm, Andrew Haley wrote:
>
> A generator takes the form of a subclass of `KernelGenerator`. The
> core idea is that the programmer defines the base case of the
> intrinsic and a method to generate a clone of it, shifted to a
> different set of registers. `KernelGenerator` will then generate
> several interleaved copies of the function, with each one using a
> different set of registers.
>
> The subclass must implement three methods: `length()`, which is the
> number of instruction bundles in the intrinsic, `generate(int n)`
> which emits the nth instruction bundle in the intrinsic, and `next()`
> which takes an instance of the generator and returns a version of it,
> shifted to a new set of registers.
>
Can you include this explanation in the code somewhere? Perhaps as a
comment above KernelGenerator. I like the idea but the generate()
method is a bit opaque without this.
--
Thanks,
Nick
More information about the hotspot-dev
mailing list