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
commitad00d41b47e6c86f4da61b9812b81cd4cd74be64 (patch)
tree3f20acb0fb221fbb5731eeed29c55970e149d79f /crypto/aegis128-core.c
parent02685906d3afa4f7c72d86cf99242e3b08078865 (diff)
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