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)
committerIliyan Malchev <malchev@google.com>
Fri, 2 Jan 2015 20:37:02 +0000 (12:37 -0800)
commit67aa286333a3153849aef30160b174bad8f92987
treef8a9c27b025a042f63e9f950f9011bf95102edc2
parent8127ebfa1a6645cf7cb6e33efafbe7835bdb1d95
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