]> www.infradead.org Git - users/jedix/linux-maple.git/commit
crypto: x86/aegis128 - optimize length block preparation using SSE4.1
authorEric Biggers <ebiggers@google.com>
Thu, 17 Oct 2024 00:00:46 +0000 (17:00 -0700)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 28 Oct 2024 10:33:10 +0000 (18:33 +0800)
commitaf2aff7caf8afb7abbe219a838d61b4c17d88a47
tree3ee4dbafe3db356c0f166a9d8d6ca4455c2aefb5
parent595bca25a632a83544d5509e4c92ed3de0a2db51
crypto: x86/aegis128 - optimize length block preparation using SSE4.1

Start using SSE4.1 instructions in the AES-NI AEGIS code, with the first
use case being preparing the length block in fewer instructions.

In practice this does not reduce the set of CPUs on which the code can
run, because all Intel and AMD CPUs with AES-NI also have SSE4.1.

Upgrade the existing SSE2 feature check to SSE4.1, though it seems this
check is not strictly necessary; the aesni-intel module has been getting
away with using SSE4.1 despite checking for AES-NI only.

Reviewed-by: Ondrej Mosnacek <omosnace@redhat.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/x86/crypto/Kconfig
arch/x86/crypto/aegis128-aesni-asm.S
arch/x86/crypto/aegis128-aesni-glue.c