diff options
| author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2017-01-11 19:41:52 +0300 |
|---|---|---|
| committer | Herbert Xu <herbert@gondor.apana.org.au> | 2017-01-12 19:26:49 +0300 |
| commit | bed593c0e852f5c1efd3ca4e984fd744c51cf6ee (patch) | |
| tree | c3ef5fd3b1f202288c63d037f1b0bf62ea26fd4f /scripts | |
| parent | 293614ce3eda94a3c9b38d5c18fdc06eb1397221 (diff) | |
| download | linux-bed593c0e852f5c1efd3ca4e984fd744c51cf6ee.tar.xz | |
crypto: arm64/aes - add scalar implementation
This adds a scalar implementation of AES, based on the precomputed tables
that are exposed by the generic AES code. Since rotates are cheap on arm64,
this implementation only uses the 4 core tables (of 1 KB each), and avoids
the prerotated ones, reducing the D-cache footprint by 75%.
On Cortex-A57, this code manages 13.0 cycles per byte, which is ~34% faster
than the generic C code. (Note that this is still >13x slower than the code
that uses the optional ARMv8 Crypto Extensions, which manages <1 cycles per
byte.)
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions
