ARM: 8120/1: crypto: sha512: add ARM NEON implementation
authorJussi Kivilinna <jussi.kivilinna@iki.fi>
Tue, 29 Jul 2014 16:15:24 +0000 (17:15 +0100)
committerIliyan Malchev <malchev@google.com>
Fri, 2 Jan 2015 20:37:04 +0000 (12:37 -0800)
commit2b996fa96e94dbf6c787fce1ec150b1146f80718
tree9713054fbb843776cfea4dbd84cae1adcab3136a
parent67aa286333a3153849aef30160b174bad8f92987
ARM: 8120/1: crypto: sha512: add ARM NEON implementation

This patch adds ARM NEON assembly implementation of SHA-512 and SHA-384
algorithms.

tcrypt benchmark results on Cortex-A8, sha512-generic vs sha512-neon-asm:

block-size      bytes/update    old-vs-new
16              16              2.99x
64              16              2.67x
64              64              3.00x
256             16              2.64x
256             64              3.06x
256             256             3.33x
1024            16              2.53x
1024            256             3.39x
1024            1024            3.52x
2048            16              2.50x
2048            256             3.41x
2048            1024            3.54x
2048            2048            3.57x
4096            16              2.49x
4096            256             3.42x
4096            1024            3.56x
4096            4096            3.59x
8192            16              2.48x
8192            256             3.42x
8192            1024            3.56x
8192            4096            3.60x
8192            8192            3.60x

Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/crypto/Makefile
arch/arm/crypto/sha512-armv7-neon.S [new file with mode: 0644]
arch/arm/crypto/sha512_neon_glue.c [new file with mode: 0644]
crypto/Kconfig