diff options
author | jkim <jkim@FreeBSD.org> | 2015-12-03 21:13:35 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2015-12-03 21:13:35 +0000 |
commit | 8d77ecefb78a0e7ec702cf614a78dd85de9395ee (patch) | |
tree | ade84397c16fe1b20cb2a441f603826e49c36cf2 /crypto/openssl/crypto/modes/asm/ghash-armv4.pl | |
parent | 5374819b03f4e6dcb332bf2729f9270e5d10b83a (diff) | |
parent | afd52a5fc90e70242dbb0e7d29987c976eb993e0 (diff) | |
download | FreeBSD-src-8d77ecefb78a0e7ec702cf614a78dd85de9395ee.zip FreeBSD-src-8d77ecefb78a0e7ec702cf614a78dd85de9395ee.tar.gz |
Merge OpenSSL 1.0.2e.
Diffstat (limited to 'crypto/openssl/crypto/modes/asm/ghash-armv4.pl')
-rwxr-xr-x | crypto/openssl/crypto/modes/asm/ghash-armv4.pl | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/crypto/openssl/crypto/modes/asm/ghash-armv4.pl b/crypto/openssl/crypto/modes/asm/ghash-armv4.pl index 77fbf34..8ccc963 100755 --- a/crypto/openssl/crypto/modes/asm/ghash-armv4.pl +++ b/crypto/openssl/crypto/modes/asm/ghash-armv4.pl @@ -45,7 +45,7 @@ # processes one byte in 8.45 cycles, A9 - in 10.2, Snapdragon S4 - # in 9.33. # -# Câmara, D.; Gouvêa, C. P. L.; López, J. & Dahab, R.: Fast Software +# Câmara, D.; Gouvêa, C. P. L.; López, J. & Dahab, R.: Fast Software # Polynomial Multiplication on ARM Processors using the NEON Engine. # # http://conradoplg.cryptoland.net/files/2010/12/mocrysen13.pdf @@ -126,6 +126,11 @@ $code=<<___; .text .code 32 +#ifdef __clang__ +#define ldrplb ldrbpl +#define ldrneb ldrbne +#endif + .type rem_4bit,%object .align 5 rem_4bit: @@ -432,12 +437,12 @@ gcm_ghash_neon: veor $IN,$Xl @ inp^=Xi .Lgmult_neon: ___ - &clmul64x64 ($Xl,$Hlo,"$IN#lo"); # H.lo·Xi.lo + &clmul64x64 ($Xl,$Hlo,"$IN#lo"); # H.lo·Xi.lo $code.=<<___; veor $IN#lo,$IN#lo,$IN#hi @ Karatsuba pre-processing ___ - &clmul64x64 ($Xm,$Hhl,"$IN#lo"); # (H.lo+H.hi)·(Xi.lo+Xi.hi) - &clmul64x64 ($Xh,$Hhi,"$IN#hi"); # H.hi·Xi.hi + &clmul64x64 ($Xm,$Hhl,"$IN#lo"); # (H.lo+H.hi)·(Xi.lo+Xi.hi) + &clmul64x64 ($Xh,$Hhi,"$IN#hi"); # H.hi·Xi.hi $code.=<<___; veor $Xm,$Xm,$Xl @ Karatsuba post-processing veor $Xm,$Xm,$Xh |