crypto: arm64/aes-ccm - Replace bytewise tail handling with NEON permute
authorArd Biesheuvel <ardb@kernel.org>
Thu, 18 Jan 2024 17:06:33 +0000 (18:06 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 26 Jan 2024 08:39:32 +0000 (16:39 +0800)
commitc131098d6d9c5d0a580456f527dedefaf61acb7b
tree3590363572688ec2f298335fd677c25102e16e8d
parent97c4c10dafcd0d8c19bf01743df4b75dbdc484d7
crypto: arm64/aes-ccm - Replace bytewise tail handling with NEON permute

Implement the CCM tail handling using a single sequence that uses
permute vectors and overlapping loads and stores, rather than going over
the tail byte by byte in a loop, and using scalar operations. This is
more efficient, even though the measured speedup is only around 1-2% on
the CPUs I have tried.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/arm64/crypto/aes-ce-ccm-core.S