ARM: 8119/1: crypto: sha1: add ARM NEON implementation
authorJussi Kivilinna <jussi.kivilinna@iki.fi>
Tue, 29 Jul 2014 16:14:14 +0000 (17:14 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 2 Aug 2014 07:51:47 +0000 (08:51 +0100)
commit604682551aa511e00e57706ad5d9fcf955ee0323
treeed97c0b46b271b45dd02209482b7ea81d594728d
parent1f8673d31a999ed7e20d9f66fcdad39e39f6b276
ARM: 8119/1: crypto: sha1: add ARM NEON implementation

This patch adds ARM NEON assembly implementation of SHA-1 algorithm.

tcrypt benchmark results on Cortex-A8, sha1-arm-asm vs sha1-neon-asm:

block-size      bytes/update    old-vs-new
16              16              1.04x
64              16              1.02x
64              64              1.05x
256             16              1.03x
256             64              1.04x
256             256             1.30x
1024            16              1.03x
1024            256             1.36x
1024            1024            1.52x
2048            16              1.03x
2048            256             1.39x
2048            1024            1.55x
2048            2048            1.59x
4096            16              1.03x
4096            256             1.40x
4096            1024            1.57x
4096            4096            1.62x
8192            16              1.03x
8192            256             1.40x
8192            1024            1.58x
8192            4096            1.63x
8192            8192            1.63x

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/sha1-armv7-neon.S [new file with mode: 0644]
arch/arm/crypto/sha1_glue.c
arch/arm/crypto/sha1_neon_glue.c [new file with mode: 0644]
arch/arm/include/asm/crypto/sha1.h [new file with mode: 0644]
crypto/Kconfig