linux/arch/arm64
Ard Biesheuvel 2e5d2f33d1 crypto: arm64/aes-blk - improve XTS mask handling
The Crypto Extension instantiation of the aes-modes.S collection of
skciphers uses only 15 NEON registers for the round key array, whereas
the pure NEON flavor uses 16 NEON registers for the AES S-box.

This means we have a spare register available that we can use to hold
the XTS mask vector, removing the need to reload it at every iteration
of the inner loop.

Since the pure NEON version does not permit this optimization, tweak
the macros so we can factor out this functionality. Also, replace the
literal load with a short sequence to compose the mask vector.

On Cortex-A53, this results in a ~4% speedup.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2018-09-21 13:24:50 +08:00
..
boot ARM: SoC: late updates 2018-08-25 14:12:36 -07:00
configs crypto: arm64/crc32 - remove PMULL based CRC32 driver 2018-09-04 11:37:04 +08:00
crypto crypto: arm64/aes-blk - improve XTS mask handling 2018-09-21 13:24:50 +08:00
include arm64: tlb: Provide forward declaration of tlb_flush() before including tlb.h 2018-08-23 18:34:57 -07:00
kernel KVM/arm updates for 4.19 2018-08-22 14:07:56 +02:00
kvm KVM/arm updates for 4.19 2018-08-22 14:07:56 +02:00
lib locking/atomics/arm64: Replace our atomic/lock bitop implementations with asm-generic 2018-06-21 12:52:12 +02:00
mm Merge branch 'akpm' (patches from Andrew) 2018-08-17 16:49:31 -07:00
net bpf, arm64: save 4 bytes in prologue when ebpf insns came from cbpf 2018-05-14 19:11:45 -07:00
xen arm64: mm: Add additional parameter to uaccess_ttbr0_disable 2018-01-17 13:57:49 +01:00
Kconfig arm64: mm: always enable CONFIG_HOLES_IN_ZONE 2018-08-31 11:06:45 +01:00
Kconfig.debug Kconfig: consolidate the "Kernel hacking" menu 2018-08-02 08:06:48 +09:00
Kconfig.platforms ARM: SoC: late updates 2018-08-25 14:12:36 -07:00
Makefile kbuild: rename LDFLAGS to KBUILD_LDFLAGS 2018-08-24 08:22:08 +09:00