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)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 2 Aug 2014 07:51:50 +0000 (08:51 +0100)
commitc8611d712ad01289a0b6a83cc93bba3a1ef4e990
treef3988ae6af0e0719fe501cbe3f040c41a917f345
parent604682551aa511e00e57706ad5d9fcf955ee0323
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