On Mon, 24 Jun 2019 at 09:38, Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> wrote: > > Provide an accelerated implementation of aegis128 by wiring up the > SIMD hooks in the generic driver to an implementation based on NEON > intrinsics, which can be compiled to both ARM and arm64 code. > > This results in a performance of 2.2 cycles per byte on Cortex-A53, > which is a performance increase of ~11x compared to the generic > code. > > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> > --- > crypto/Kconfig | 5 + > crypto/Makefile | 12 ++ > crypto/aegis128-neon-inner.c | 142 ++++++++++++++++++++ > crypto/aegis128-neon.c | 43 ++++++ > 4 files changed, 202 insertions(+) > ... > diff --git a/crypto/Makefile b/crypto/Makefile > index 266a4cdbb9e2..f4a55cfb7f17 100644 > --- a/crypto/Makefile > +++ b/crypto/Makefile > @@ -92,6 +92,18 @@ obj-$(CONFIG_CRYPTO_GCM) += gcm.o > obj-$(CONFIG_CRYPTO_CCM) += ccm.o > obj-$(CONFIG_CRYPTO_CHACHA20POLY1305) += chacha20poly1305.o > obj-$(CONFIG_CRYPTO_AEGIS128) += aegis128.o > +aegis128-y := aegis128.o > + This doesn't actually work when building a module. I'll have to rename the .c file so that the module that combines the objects can retain its name