summaryrefslogtreecommitdiffstats
path: root/crypto/ec/build.info
diff options
context:
space:
mode:
authorAmitay Isaacs <amitay@ozlabs.org>2020-10-13 05:11:40 -0400
committerPauli <pauli@openssl.org>2021-05-29 16:07:15 +1000
commit30691da1ba465f3cff5d865187fbf5c5244448eb (patch)
tree5f6411cf88386caa2f26051e8e6a6f9554024c4d /crypto/ec/build.info
parent1036749883ccf38ed11afe424d69708cfdca99f3 (diff)
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)
Diffstat (limited to 'crypto/ec/build.info')
-rw-r--r--crypto/ec/build.info5
1 files changed, 4 insertions, 1 deletions
diff --git a/crypto/ec/build.info b/crypto/ec/build.info
index bfd16b326f..f4314dd896 100644
--- a/crypto/ec/build.info
+++ b/crypto/ec/build.info
@@ -30,8 +30,9 @@ IF[{- !$disabled{asm} -}]
$ECASM_parisc20_64=
$ECASM_ppc32=
- $ECASM_ppc64=ecp_nistz256.c ecp_nistz256-ppc64.s x25519-ppc64.s
+ $ECASM_ppc64=ecp_nistz256.c ecp_nistz256-ppc64.s ecp_nistp521-ppc64.s x25519-ppc64.s
$ECDEF_ppc64=ECP_NISTZ256_ASM ECP_NISTP521_ASM X25519_ASM
+ INCLUDE[ecp_nistp521.o]=..
$ECASM_c64xplus=
@@ -86,5 +87,7 @@ GENERATE[ecp_nistz256-armv8.S]=asm/ecp_nistz256-armv8.pl
INCLUDE[ecp_nistz256-armv8.o]=..
GENERATE[ecp_nistz256-ppc64.s]=asm/ecp_nistz256-ppc64.pl
+GENERATE[ecp_nistp521-ppc64.s]=asm/ecp_nistp521-ppc64.pl
+
GENERATE[x25519-x86_64.s]=asm/x25519-x86_64.pl
GENERATE[x25519-ppc64.s]=asm/x25519-ppc64.pl