summaryrefslogtreecommitdiff
path: root/cipher/sha512-armv7-neon.S
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@iki.fi>2014-05-21 08:30:30 +0300
committerJussi Kivilinna <jussi.kivilinna@iki.fi>2014-05-21 08:30:33 +0300
commitbeb901575f0d6cd6a0a27506ebea9a725754d0cc (patch)
treeb485c1abbed1d420d91c52a34d3de5370ea38f1d /cipher/sha512-armv7-neon.S
parent994c758d8f5471c7e9c38c2834742cca2502d35f (diff)
downloadlibgcrypt-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.S2
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);