ec: Add PPC64 vector assembly version of p521 field operations
authorAmitay Isaacs <amitay@ozlabs.org>
Tue, 13 Oct 2020 09:11:40 +0000 (05:11 -0400)
committerPauli <pauli@openssl.org>
Sat, 29 May 2021 06:07:15 +0000 (16:07 +1000)
commit30691da1ba465f3cff5d865187fbf5c5244448eb
tree5f6411cf88386caa2f26051e8e6a6f9554024c4d
parent1036749883ccf38ed11afe424d69708cfdca99f3
ec: Add PPC64 vector assembly version of p521 field operations

Only field multiplication and squaring (but not reduction) show a
significant improvement.  This is enabled on Power ISA >= 3.0.

On a Power 9 CPU an average 10% performance improvement is seen (ECHDE:
14%, ECDSA sign: 6%, ECDSA verify 10%), compared to existing code.

On an upcoming Power 10 CPU we see an average performance improvement
of 26% (ECHDE: 38%, ECDSA sign: 16%, ECDSA verify 25%), compared to
existing code.

Signed-off-by: Amitay Isaacs <amitay@ozlabs.org>
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15401)
crypto/ec/asm/ecp_nistp521-ppc64.pl [new file with mode: 0755]
crypto/ec/build.info
crypto/ec/ecp_nistp521.c
providers/fips-sources.checksums
providers/fips.checksum
providers/fips.module.sources