OSDN Git Service

crypto: arm64/aes-modes - get rid of literal load of addend vector
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Thu, 23 Aug 2018 16:48:45 +0000 (17:48 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Tue, 4 Sep 2018 03:37:04 +0000 (11:37 +0800)
commited6ed11830a9ded520db31a6e2b69b6b0a1eb0e2
treebdf6908d874286a1dbd80884fbb9bccad6990a4a
parent00227e3a1d0855e9777cf53c52b842503435e22b
crypto: arm64/aes-modes - get rid of literal load of addend vector

Replace the literal load of the addend vector with a sequence that
performs each add individually. This sequence is only 2 instructions
longer than the original, and 2% faster on Cortex-A53.

This is an improvement by itself, but also works around a Clang issue,
whose integrated assembler does not implement the GNU ARM asm syntax
completely, and does not support the =literal notation for FP registers
(more info at https://bugs.llvm.org/show_bug.cgi?id=38642)

Cc: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/arm64/crypto/aes-modes.S