openssl/crypto
fangming.fang 1064616012 Optimize RSA on armv8
Add Neon path for RSA on armv8, this optimisation targets to A72
and N1 that are ones of important cores of infrastructure. Other
platforms are not impacted.

A72
                        old		new             improved
rsa  512 sign		9828.6		9738.7		-1%
rsa  512 verify		121497.2	122367.7	1%
rsa 1024 sign		1818		1816.9		0%
rsa 1024 verify		37175.6		37161.3		0%
rsa 2048 sign		267.3		267.4		0%
rsa 2048 verify		10127.6		10119.6		0%
rsa 3072 sign		86.8		87		0%
rsa 3072 verify		4604.2		4956.2		8%
rsa 4096 sign		38.3		38.5		1%
rsa 4096 verify		2619.8		2972.1		13%
rsa 7680 sign		5		7		40%
rsa 7680 verify		756	     	929.4		23%
rsa 15360 sign		0.8	     	1		25%
rsa 15360 verify	190.4	 	246		29%

N1
                        old		new             improved
rsa  512 sign		12599.2		12596.7		0%
rsa  512 verify		148636.1	148656.2	0%
rsa 1024 sign		2150.6		2148.9		0%
rsa 1024 verify		42353.5		42265.2		0%
rsa 2048 sign		305.5		305.3		0%
rsa 2048 verify		11209.7		11205.2		0%
rsa 3072 sign		97.8		98.2		0%
rsa 3072 verify		5061.3		5990.7		18%
rsa 4096 sign		42.8		43		0%
rsa 4096 verify		2867.6		3509.8		22%
rsa 7680 sign		5.5		8.4		53%
rsa 7680 verify		823.5		1058.3		29%
rsa 15360 sign		0.9		1.1		22%
rsa 15360 verify	207		273.9		32%

CustomizedGitHooks: yes
Change-Id: I01c732cc429d793c4eb5ffd27ccd30ff9cebf8af
Jira: SECLIB-540

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14761)
2021-05-09 23:15:07 +10:00
..
aes Drop libimplementations.a 2021-05-07 10:17:23 +02:00
aria Update copyright year 2021-04-08 13:04:41 +01:00
asn1 tasn_dec: use do/while around statement macros 2021-05-08 09:22:36 -07:00
async Update copyright year 2021-04-08 13:04:41 +01:00
bf
bio Update copyright year 2021-05-06 13:03:23 +01:00
bn Optimize RSA on armv8 2021-05-09 23:15:07 +10:00
buffer Update copyright year 2020-11-26 14:18:57 +00:00
camellia
cast
chacha
cmac Update copyright year 2021-04-22 14:38:44 +01:00
cmp Improve ossl_cmp_build_cert_chain(); publish it as X509_build_chain() 2021-04-20 10:47:24 +02:00
cms CMS ESS: Move four internal aux function to where they belong in crypto/cms 2021-04-28 14:10:47 +02:00
comp Add RUN_ONCE support to zlib init 2021-04-22 17:41:55 +02:00
conf Add .includedir pragma 2021-05-05 13:11:35 +02:00
crmf Add quick one-shot EVP_Q_mac() and deprecation compensation decls for MAC functions 2021-05-08 14:35:03 +02:00
ct Update copyright year 2021-04-08 13:04:41 +01:00
des Update copyright year 2021-01-28 13:54:57 +01:00
dh Fixes related to separation of DH and DHX types 2021-04-26 19:52:11 +02:00
dsa Update copyright year 2021-04-22 14:38:44 +01:00
dso Update copyright year 2020-11-26 14:18:57 +00:00
ec Avoid division by zero in hybrid point encoding 2021-05-09 14:52:53 +03:00
encode_decode Fix NULL dereference when ENCODER does not implement IMPORT_OBJECT 2021-05-06 17:03:41 +02:00
engine Update copyright year 2021-04-08 13:04:41 +01:00
err Remove all trace of FIPS_mode functions 2021-05-06 09:54:37 +10:00
ess Fix missing symbols in no-cms and no-ts build 2021-05-05 17:05:01 +02:00
evp Crypto: Add deprecation compatibility declarations for SHA* message digest functions 2021-05-08 14:41:36 +02:00
ffc Fixes related to separation of DH and DHX types 2021-04-26 19:52:11 +02:00
hmac Add quick one-shot EVP_Q_mac() and deprecation compensation decls for MAC functions 2021-05-08 14:35:03 +02:00
http HTTP client: Correct the use of optional proxy URL and its documentation 2021-05-04 18:27:57 +02:00
idea Update copyright year 2021-04-08 13:04:41 +01:00
kdf
lhash Update copyright year 2021-04-08 13:04:41 +01:00
md2
md4
md5 Remove unused code from the fips module 2021-05-08 20:44:41 +10:00
mdc2
modes Drop libimplementations.a 2021-05-07 10:17:23 +02:00
objects Update copyright year 2021-04-08 13:04:41 +01:00
ocsp Prefer fetch over legacy get_digestby/get_cipherby 2021-04-28 09:38:31 +02:00
pem Make the -inform option to be respected if possible 2021-05-06 11:43:32 +01:00
perlasm
pkcs7 Add library context and property query support into the PKCS12 API 2021-04-30 09:15:50 +10:00
pkcs12 Update copyright year 2021-05-06 13:03:23 +01:00
poly1305 Drop libimplementations.a 2021-05-07 10:17:23 +02:00
property provider: flush the store cache when providers are loaded/unloaded. 2021-05-07 23:53:18 +10:00
rand Update copyright year 2021-04-08 13:04:41 +01:00
rc2 Update copyright year 2021-05-06 13:03:23 +01:00
rc4 rename md5_block_asm_data_order to ossl_md5_block_asm_data_order 2020-11-19 07:38:58 +10:00
rc5
ripemd Drop libimplementations.a 2021-05-07 10:17:23 +02:00
rsa Detect low-level engine and app method based keys 2021-04-19 11:36:16 +02:00
seed
sha Crypto: Add deprecation compatibility declarations for SHA* message digest functions 2021-05-08 14:41:36 +02:00
siphash Fix a TODO(3.0) in the siphash code 2021-03-17 10:16:21 +10:00
sm2 Fix up issues found when running evp_extra_test with a non-default library context 2021-03-17 17:51:16 +10:00
sm3 Add "origin" field to EVP_CIPHER, EVP_MD 2021-04-18 10:03:07 +02:00
sm4 Update copyright year 2021-04-08 13:04:41 +01:00
srp srp: remove references to EVP_sha1() 2021-04-21 09:27:51 +10:00
stack Improve the implementation of X509_STORE_CTX_get1_issuer() 2021-04-28 11:19:34 +02:00
store Make the -inform option to be respected if possible 2021-05-06 11:43:32 +01:00
ts TS ESS: Move four internal aux function to where they belong in crypto/ts 2021-04-28 14:10:47 +02:00
txt_db
ui Update copyright year 2021-04-08 13:04:41 +01:00
whrlpool Drop libimplementations.a 2021-05-07 10:17:23 +02:00
x509 Update copyright year 2021-05-06 13:03:23 +01:00
alphacpuid.pl
arm64cpuid.pl Read MIDR_EL1 system register on aarch64 2020-12-09 16:17:17 +01:00
arm_arch.h Read MIDR_EL1 system register on aarch64 2020-12-09 16:17:17 +01:00
armcap.c Optimize RSA on armv8 2021-05-09 23:15:07 +10:00
armv4cpuid.pl
asn1_dsa.c Update copyright year 2021-04-08 13:04:41 +01:00
bsearch.c
build.info Drop libimplementations.a 2021-05-07 10:17:23 +02:00
c64xpluscpuid.pl
context.c Create libcrypto support for BIO_new_from_core_bio() 2021-05-04 12:00:21 +01:00
core_algorithm.c Add type_name member to provided methods and use it 2021-04-26 12:05:05 +02:00
core_fetch.c Update copyright year 2021-01-28 13:54:57 +01:00
core_namemap.c CORE: Rework the pre-population of the namemap 2021-04-30 11:15:00 +02:00
cpt_err.c Update copyright year 2021-05-06 13:03:23 +01:00
cpuid.c Refactor CPUID code 2021-04-02 16:39:13 +02:00
cryptlib.c Refactor CPUID code 2021-04-02 16:39:13 +02:00
ctype.c Update copyright year 2021-04-08 13:04:41 +01:00
cversion.c
der_writer.c
dllmain.c
ebcdic.c
ex_data.c Fix external symbols for crypto_* 2021-03-18 17:35:10 +10:00
getenv.c
ia64cpuid.S
info.c
init.c Add RUN_ONCE support to zlib init 2021-04-22 17:41:55 +02:00
initthread.c Convert a TODO(3.0) in OPENSSL_thread_stop_ex to a comment 2021-03-14 15:40:25 +10:00
LPdir_nyi.c
LPdir_unix.c
LPdir_vms.c
LPdir_win32.c
LPdir_win.c
LPdir_wince.c
mem_clr.c
mem_sec.c Update copyright year 2021-04-08 13:04:41 +01:00
mem.c
mips_arch.h
o_dir.c
o_fopen.c Update copyright year 2020-11-26 14:18:57 +00:00
o_init.c
o_str.c Update copyright year 2021-04-08 13:04:41 +01:00
o_time.c Update copyright year 2021-03-11 13:27:36 +00:00
packet.c
param_build_set.c Update copyright year 2021-03-11 13:27:36 +00:00
param_build.c Replace OSSL_PARAM_BLD_free_params() with OSSL_PARAM_free(). 2021-04-12 16:55:30 +10:00
params_dup.c params_dup: fix off by one error that allows array overreach. 2021-04-21 08:57:42 +10:00
params_from_text.c params: fix coverity 1473069: unchecked return values 2021-03-26 08:46:02 +10:00
params.c Fix potential NULL dereference in OSSL_PARAM_get_utf8_string() 2021-04-22 16:46:20 +02:00
pariscid.pl
passphrase.c
ppc_arch.h
ppccap.c bn: Add fixed length (n=6), unrolled PPC Montgomery Multiplication 2021-05-08 20:39:29 +10:00
ppccpuid.pl
provider_conf.c Store the list of activated providers in the libctx 2021-04-28 16:04:25 +01:00
provider_core.c provider: use a read lock when looking for a provider 2021-05-07 23:53:18 +10:00
provider_local.h Update copyright year 2021-04-08 13:04:41 +01:00
provider_predefined.c Update copyright year 2021-04-08 13:04:41 +01:00
provider.c rename ossl_provider_forall_loaded to ossl_provider_doall_activated 2021-03-12 09:14:00 +10:00
punycode.c
README-sparse_array.md
s390x_arch.h
s390xcap.c
s390xcpuid.pl
self_test_core.c
sparc_arch.h
sparccpuid.S
sparcv9cap.c
sparse_array.c Update copyright year 2021-04-08 13:04:41 +01:00
threads_lib.c Fix no-threads 2020-12-14 10:45:27 +10:00
threads_none.c Update copyright year 2021-04-08 13:04:41 +01:00
threads_pthread.c Always check CRYPTO_LOCK_{read,write}_lock 2021-03-14 15:33:34 +10:00
threads_win.c Always check CRYPTO_LOCK_{read,write}_lock 2021-03-14 15:33:34 +10:00
trace.c Update copyright year 2021-04-08 13:04:41 +01:00
uid.c
vms_rms.h
x86_64cpuid.pl Update copyright year 2021-04-08 13:04:41 +01:00
x86cpuid.pl