From b52dde860963c794b12d14b0a9c5848bca7ba51e Mon Sep 17 00:00:00 2001 From: Jussi Kivilinna Date: Tue, 5 Nov 2019 22:06:39 +0200 Subject: Add i386/SSSE3 implementation of SHA512 * LICENSES: Add 'sha512-ssse3-i386.c'. * configure.ac: Add 'sha512-ssse3-i386.lo'. * cipher/Makefile.am: Add 'sha512-ssse3-i386.c'. * cipher/sha512-ssse3-i386.c: New. * cipher/sha512.c (USE_SSSE3_I386, _gcry_sha512_transform_i386_ssse3) (do_sha512_transform_i386_ssse3): New. (_gcry_sha512_transform_arm) [USE_SSSE3_I386]: Use i386/SSSE3 transform function if supported by CPU. -- Benchmark on AMD Ryzen 7 3700X: Before: | nanosecs/byte mebibytes/sec cycles/byte auto Mhz SHA512 | 12.58 ns/B 75.79 MiB/s 55.06 c/B 4375 After (~4.5x faster): | nanosecs/byte mebibytes/sec cycles/byte auto Mhz SHA512 | 2.78 ns/B 343.3 MiB/s 12.09 c/B 4351 Signed-off-by: Jussi Kivilinna --- LICENSES | 1 + 1 file changed, 1 insertion(+) (limited to 'LICENSES') diff --git a/LICENSES b/LICENSES index f6733a69..31f8eae8 100644 --- a/LICENSES +++ b/LICENSES @@ -18,6 +18,7 @@ with any binary distributions derived from the GNU C Library. - cipher/sha512-avx-amd64.S - cipher/sha512-avx2-bmi2-amd64.S - cipher/sha512-ssse3-amd64.S + - cipher/sha512-ssse3-i386.c #+begin_quote Copyright (c) 2012, Intel Corporation -- cgit v1.2.1