Home GnuPG

Add ARM assembly implementation of SHA-512
8353884bc65cUnpublished

Unpublished Commit ยท Learn More

Not On Permanent Ref: This commit is not an ancestor of any permanent ref.

Description

Add ARM assembly implementation of SHA-512

* cipher/Makefile.am: Add 'sha512-arm.S'.
* cipher/sha512-arm.S: New.
* cipher/sha512.c (USE_ARM_ASM): New.
(_gcry_sha512_transform_arm): New.
(transform) [USE_ARM_ASM]: Use ARM assembly implementation instead of
generic.
* configure.ac: Add 'sha512-arm.lo'.

Benchmark on Cortex-A8 (armv6, 1008 Mhz):

Before:

               |  nanosecs/byte   mebibytes/sec   cycles/byte
SHA512         |     112.0 ns/B      8.52 MiB/s     112.9 c/B

After (3.3x faster):

               |  nanosecs/byte   mebibytes/sec   cycles/byte
SHA512         |     34.01 ns/B     28.04 MiB/s     34.28 c/B
  • Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>

Details

Provenance
jukiviliAuthored on Feb 8 2016, 7:13 PM
Parents
rCb8b336150495: tests: Add a test for Curve25519.
Branches
Unknown
Tags
Unknown

Event Timeline

Jussi Kivilinna <jussi.kivilinna@iki.fi> committed rC8353884bc65c: Add ARM assembly implementation of SHA-512 (authored by Jussi Kivilinna <jussi.kivilinna@iki.fi>).Feb 8 2016, 7:13 PM