diff options
author | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2013-12-12 12:43:08 +0200 |
---|---|---|
committer | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2013-12-13 00:13:11 +0200 |
commit | 69a6d0f9562fcd26112a589318c13de66ce1700e (patch) | |
tree | 506b17266d73785bcfdf5462e986994ce769eeca /cipher/Makefile.am | |
parent | e1a3931263e67aacec3c0bfcaa86c7d1441d5c6a (diff) | |
download | libgcrypt-69a6d0f9562fcd26112a589318c13de66ce1700e.tar.gz |
SHA-512: Add SSSE3 implementation for x86-64
* cipher/Makefile.am: Add 'sha512-ssse3-amd64.S'.
* cipher/sha512-ssse3-amd64.S: New.
* cipher/sha512.c (USE_SSSE3): New.
(SHA512_CONTEXT) [USE_SSSE3]: Add 'use_ssse3'.
(sha512_init, sha384_init) [USE_SSSE3]: Initialize 'use_ssse3'.
[USE_SSSE3] (_gcry_sha512_transform_amd64_ssse3): New.
(transform) [USE_SSSE3]: Call SSSE3 implementation.
* configure.ac (sha512): Add 'sha512-ssse3-amd64.lo'.
--
Patch adds fast SSSE3 implementation of SHA-512 by Intel Corporation. The
assembly source is licensed under 3-clause BSD license, thus compatible
with LGPL2.1+. Original source can be accessed at:
http://www.intel.com/p/en_US/embedded/hwsw/technology/packet-processing#docs
Implementation is described in white paper
"Fast SHA512 Implementations on IntelĀ® Architecture Processors"
http://www.intel.com/content/www/us/en/intelligent-systems/intel-technology/fast-sha512-implementations-ia-processors-paper.html
Benchmarks:
cpu Old New Diff
Intel i5-4570 10.11 c/B 7.56 c/B 1.33x
Intel i5-2450M 14.11 c/B 10.53 c/B 1.33x
Intel Core2 T8100 11.92 c/B 10.22 c/B 1.16x
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Diffstat (limited to 'cipher/Makefile.am')
-rw-r--r-- | cipher/Makefile.am | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cipher/Makefile.am b/cipher/Makefile.am index 34f74e2a..88c288a2 100644 --- a/cipher/Makefile.am +++ b/cipher/Makefile.am @@ -79,7 +79,7 @@ seed.c \ serpent.c serpent-sse2-amd64.S serpent-avx2-amd64.S \ sha1.c \ sha256.c sha256-ssse3-amd64.S \ -sha512.c sha512-armv7-neon.S \ +sha512.c sha512-ssse3-amd64.S sha512-armv7-neon.S \ stribog.c \ tiger.c \ whirlpool.c \ |