aes/asm/aesv8-armx.pl: optimize for Cortex-A5x.
authorAndy Polyakov <appro@openssl.org>
Tue, 3 Mar 2015 21:05:25 +0000 (22:05 +0100)
committerAndy Polyakov <appro@openssl.org>
Thu, 2 Apr 2015 07:51:24 +0000 (09:51 +0200)
commit5a27a20be3c67c2ba5f0258b563bcfe41b1befe1
tree3825c1a58b587cf282d4cd6f4fb697ea219dff3f
parent3d5bb773ecd78f75984fb096bb0be7808d3dc18d
aes/asm/aesv8-armx.pl: optimize for Cortex-A5x.

ARM has optimized Cortex-A5x pipeline to favour pairs of complementary
AES instructions. While modified code improves performance of post-r0p0
Cortex-A53 performance by >40% (for CBC decrypt and CTR), it hurts
original r0p0. We favour later revisions, because one can't prevent
future from coming. Improvement on post-r0p0 Cortex-A57 exceeds 50%,
while new code is not slower on r0p0, or Apple A7 for that matter.

[Update even SHA results for latest Cortex-A53.]

Reviewed-by: Richard Levitte <levitte@openssl.org>
(cherry picked from commit 94376cccb4ed5b376220bffe0739140ea9dad8c8)
crypto/aes/asm/aesv8-armx.pl
crypto/sha/asm/sha1-armv8.pl
crypto/sha/asm/sha512-armv8.pl