diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2020-11-17 16:32:12 +0300 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2020-11-27 09:13:39 +0300 |
commit | ad00d41b47e6c86f4da61b9812b81cd4cd74be64 (patch) | |
tree | 3f20acb0fb221fbb5731eeed29c55970e149d79f /crypto/aegis128-neon.c | |
parent | 02685906d3afa4f7c72d86cf99242e3b08078865 (diff) | |
download | linux-ad00d41b47e6c86f4da61b9812b81cd4cd74be64.tar.xz |
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-neon.c')
0 files changed, 0 insertions, 0 deletions