diff options
author | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2014-05-21 08:30:30 +0300 |
---|---|---|
committer | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2014-05-21 08:30:33 +0300 |
commit | beb901575f0d6cd6a0a27506ebea9a725754d0cc (patch) | |
tree | b485c1abbed1d420d91c52a34d3de5370ea38f1d /cipher/sha512-armv7-neon.S | |
parent | 994c758d8f5471c7e9c38c2834742cca2502d35f (diff) | |
download | libgcrypt-beb901575f0d6cd6a0a27506ebea9a725754d0cc.tar.gz |
sha512: fix ARM/NEON implementation
* cipher/sha512-armv7-neon.S
(_gcry_sha512_transform_armv7_neon): Byte-swap RW67q and RW1011q
correctly in multi-block loop.
* tests/basic.c (check_digests): Add large test vector for SHA512.
--
Patch fixes bug introduced to multi-block processing by commit df629ba53a6,
"Improve performance of SHA-512/ARM/NEON implementation". Patch also adds
multi-block test vector for SHA-512.
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Diffstat (limited to 'cipher/sha512-armv7-neon.S')
-rw-r--r-- | cipher/sha512-armv7-neon.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cipher/sha512-armv7-neon.S b/cipher/sha512-armv7-neon.S index bb2cbb4a..a9d12724 100644 --- a/cipher/sha512-armv7-neon.S +++ b/cipher/sha512-armv7-neon.S @@ -361,8 +361,8 @@ _gcry_sha512_transform_armv7_neon: rounds2_64_79(RE, RF, RG, RH, RA, RB, RC, RD, RW12, RW13, vadd_rg_RT0, RE, vadd_rg_RT1, RE); rounds2_64_79(RC, RD, RE, RF, RG, RH, RA, RB, RW14, RW15, vadd_rg_RT0, RC, vadd_rg_RT1, RC); #ifdef __ARMEL__ - vrev64.8 RW67q, RW67q; vrev64.8 RW89q, RW89q; + vrev64.8 RW1011q, RW1011q; #endif vld1.64 {RW12-RW15}, [%r1]!; vadd_rg_RT0(RA); |