openssl/crypto/ec
Amitay Isaacs 30691da1ba 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)
2021-05-29 16:07:15 +10:00
..
asm ec: Add PPC64 vector assembly version of p521 field operations 2021-05-29 16:07:15 +10:00
curve448 Use <> for #include openssl/xxx 2021-05-27 09:56:41 +10:00
build.info ec: Add PPC64 vector assembly version of p521 field operations 2021-05-29 16:07:15 +10:00
curve25519.c
ec2_oct.c Replace some of the ERR_clear_error() calls with mark calls 2021-05-13 19:26:06 +02:00
ec2_smpl.c
ec_ameth.c Use <> for #include openssl/xxx 2021-05-27 09:56:41 +10:00
ec_asn1.c
ec_backend.c
ec_check.c
ec_curve.c
ec_cvt.c
ec_deprecated.c
ec_err.c err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
ec_key.c
ec_kmeth.c
ec_lib.c
ec_local.h
ec_mult.c
ec_oct.c
ec_pmeth.c
ec_print.c
ecdh_kdf.c
ecdh_ossl.c
ecdsa_ossl.c
ecdsa_sign.c
ecdsa_vrf.c
eck_prn.c
ecp_mont.c
ecp_nist.c
ecp_nistp224.c Rework and make DEBUG macros consistent. 2021-05-28 10:04:31 +02:00
ecp_nistp256.c Rework and make DEBUG macros consistent. 2021-05-28 10:04:31 +02:00
ecp_nistp521.c ec: Add PPC64 vector assembly version of p521 field operations 2021-05-29 16:07:15 +10:00
ecp_nistputil.c
ecp_nistz256_table.c
ecp_nistz256.c
ecp_oct.c Replace some of the ERR_clear_error() calls with mark calls 2021-05-13 19:26:06 +02:00
ecp_s390x_nistp.c
ecp_smpl.c
ecx_backend.c
ecx_backend.h
ecx_key.c
ecx_meth.c Modify EVP_PKEY_ASN1_METHOD's export_to function to take an importer 2021-05-20 12:57:22 +01:00
ecx_s390x.c