(resending due to size bounce) On 23 March 2015 at 14:50, Sami Tolvanen <samitolvanen@xxxxxxxxxx> wrote: > Add Andy Polyakov's optimized assembly and NEON implementations for > SHA-256/224. > > The sha256-armv4.pl script for generating the assembly code is from > OpenSSL commit 2ecd32a1f8f0643ae7b38f59bbaf9f0d6ef326fe. > > Compared to sha256-generic these implementations have the following > tcrypt speed improvements on Motorola Nexus 6 (Snapdragon 805): > > bs b/u sha256-neon sha256-asm > 16 16 x1.32 x1.19 > 64 16 x1.27 x1.15 > 64 64 x1.36 x1.20 > 256 16 x1.22 x1.11 > 256 64 x1.36 x1.19 > 256 256 x1.59 x1.23 > 1024 16 x1.21 x1.10 > 1024 256 x1.65 x1.23 > 1024 1024 x1.76 x1.25 > 2048 16 x1.21 x1.10 > 2048 256 x1.66 x1.23 > 2048 1024 x1.78 x1.25 > 2048 2048 x1.79 x1.25 > 4096 16 x1.20 x1.09 > 4096 256 x1.66 x1.23 > 4096 1024 x1.79 x1.26 > 4096 4096 x1.82 x1.26 > 8192 16 x1.20 x1.09 > 8192 256 x1.67 x1.23 > 8192 1024 x1.80 x1.26 > 8192 4096 x1.85 x1.28 > 8192 8192 x1.85 x1.27 > > Where bs refers to block size and b/u to bytes per update. > > Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx> > Cc: Andy Polyakov <appro@xxxxxxxxxxx> > This builds fine and passes the tcrypt.ko tests in ARM and Thumb2 and even in big-endian (ARM) mode, so Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Nice work! Ard. > --- > Changes since v1: > Rebased to Herbert's cryptodev tree > Include sha256-armv4.pl and use it to generate sha256-core.S > Add integer-only assembly version as sha256-asm > Add support for SHA-224 to the glue code > Change priority for sha256/224-ce to 300 > > --- > arch/arm/crypto/Kconfig | 7 > arch/arm/crypto/Makefile | 8 > arch/arm/crypto/sha2-ce-glue.c | 4 > arch/arm/crypto/sha256-armv4.pl | 713 ++++++ > arch/arm/crypto/sha256-core.S_shipped | 2775 ++++++++++++++++++++++++ > arch/arm/crypto/sha256_glue.c | 246 ++ > arch/arm/crypto/sha256_glue.h | 23 > arch/arm/crypto/sha256_neon_glue.c | 172 + > 8 files changed, 3945 insertions(+), 3 deletions(-) > -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html