sha/asm/keccak1600-armv8.pl: fix return value buglet and ...
authorAndy Polyakov <appro@openssl.org>
Fri, 8 Sep 2017 09:50:57 +0000 (11:50 +0200)
committerAndy Polyakov <appro@openssl.org>
Sat, 9 Sep 2017 17:09:36 +0000 (19:09 +0200)
commit236dd4633942d62777c44be630a06bc50603f659
treec69c8dc0fdf5aa8f75b6897736f5dc0e880b9875
parentf1b97da1fd90cf3935eafedc8df0d0165cb75f2f
sha/asm/keccak1600-armv8.pl: fix return value buglet and ...

... script data load.

On related note an attempt was made to merge rotations with logical
operations. I mean as we know, ARM ISA has merged rotate-n-logical
instructions which can be used here. And they were used to improve
keccak1600-armv4 performance. But not here. Even though this approach
resulted in improvement on Cortex-A53 proportional to reduction of
amount of instructions, ~8%, it didn't exactly worked out on
non-Cortex cores. Presumably because they break merged instructions
to separate μ-ops, which results in higher *operations* count. X-Gene
and Denver went ~20% slower and Apple A7 - 40%. The optimization was
therefore dismissed.

Reviewed-by: Rich Salz <rsalz@openssl.org>
crypto/sha/asm/keccak1600-armv8.pl