summaryrefslogtreecommitdiff
path: root/crypto/aegis128-core.c
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2020-11-17 14:32:12 +0100
committerHerbert Xu <herbert@gondor.apana.org.au>2020-11-27 17:13:39 +1100
commit71bbed437c533f08c19535abe2c1fe92cbdabc1c (patch)
tree94524ca2ec167dc63c4ce17245a6aa4add8d49d7 /crypto/aegis128-core.c
parentebe11b5625b5237d4560ab71c2d81b378049e3e8 (diff)
downloadlinux-crypto-71bbed437c533f08c19535abe2c1fe92cbdabc1c.tar.gz
linux-crypto-71bbed437c533f08c19535abe2c1fe92cbdabc1c.zip
crypto: aegis128/neon - optimize tail block handling
Avoid copying the tail block via a stack buffer if the total size exceeds a single AEGIS block. In this case, we can use overlapping loads and stores and NEON permutation instructions instead, which leads to a modest performance improvement on some cores (< 5%), and is slightly cleaner. Note that we still need to use a stack buffer if the entire input is smaller than 16 bytes, given that we cannot use 16 byte NEON loads and stores safely in this case. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Reviewed-by: Ondrej Mosnacek <omosnacek@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/aegis128-core.c')
0 files changed, 0 insertions, 0 deletions