openssl/crypto
Andrey Matyukov c781eb1c63 Dual 1024-bit exponentiation optimization for Intel IceLake CPU
with AVX512_IFMA + AVX512_VL instructions, primarily for RSA CRT private key
operations. It uses 256-bit registers to avoid CPU frequency scaling issues.
The performance speedup for RSA2k signature on ICL is ~2x.

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13750)
2021-03-22 09:48:00 +00:00
..
aes remove unused initialisations 2020-12-03 11:22:06 +10:00
aria Add ossl_aria symbols 2021-03-18 17:52:37 +10:00
asn1 ASN1: Reset the content dump flag after dumping 2021-03-21 12:29:06 +01:00
async async: coverity 1446224 - dereference after null check 2021-03-20 10:18:32 +10:00
bf
bio Fix DER reading from stdin for BIO_f_readbuffer 2021-03-22 09:07:36 +10:00
bn Dual 1024-bit exponentiation optimization for Intel IceLake CPU 2021-03-22 09:48:00 +00:00
buffer Update copyright year 2020-11-26 14:18:57 +00:00
camellia
cast Fix logic error for building x86 CAST assembly 2020-06-14 12:35:34 -07:00
chacha Fix aarch64 static linking into shared libraries (see issue #10842 and pull request #11464) 2020-10-22 12:16:49 +10:00
cmac Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
cmp Add ossl_ x509 symbols 2021-03-18 17:52:38 +10:00
cms Rename CMS_si_check_attributes to ossl_cms_si_check_attributes 2021-03-18 17:52:38 +10:00
comp Add ossl_ conf symbols 2021-03-18 17:52:37 +10:00
conf Add ossl_ conf symbols 2021-03-18 17:52:37 +10:00
crmf Update copyright year 2021-03-11 13:27:36 +00:00
ct Add ossl_v3 symbols 2021-03-18 17:52:37 +10:00
des Update copyright year 2021-01-28 13:54:57 +01:00
dh PROV: Add type specific PKCS#8 decoding to the DER->key decoders 2021-03-19 16:46:39 +01:00
dsa PROV: Add type specific PKCS#8 decoding to the DER->key decoders 2021-03-19 16:46:39 +01:00
dso Update copyright year 2020-11-26 14:18:57 +00:00
ec PROV: Add type specific PKCS#8 decoding to the DER->key decoders 2021-03-19 16:46:39 +01:00
encode_decode decoder: fix Coverity 1473236 & 1473386: resource leaks 2021-03-20 10:08:00 +10:00
engine Always check CRYPTO_LOCK_{read,write}_lock 2021-03-14 15:33:34 +10:00
err PROV: Add type specific MSBLOB and PVK decoding for the MS->key decoders 2021-03-19 16:46:39 +01:00
ess Add ossl_ x509 symbols 2021-03-18 17:52:38 +10:00
evp evp: fix coverity 1473380: copy into fixed size buffer 2021-03-21 11:13:39 +10:00
ffc Fix DSA EVP_PKEY_param_check() when defaults are used for param generation. 2021-03-15 09:01:51 +10:00
hmac Delete unused PKEY MAC files 2020-08-29 17:40:11 +10:00
http Fix windows build compiler issue. 2021-03-19 17:08:33 +10:00
idea
kdf
lhash Add ossl_lhash symbols 2021-03-18 17:52:38 +10:00
md2
md4
md5 Update copyright year 2020-11-26 14:18:57 +00:00
mdc2
modes modes: fix coverity 1449860: overlapping memory copy 2021-03-18 21:14:56 +10:00
objects Add ossl_lhash symbols 2021-03-18 17:52:38 +10:00
ocsp Add ossl_v3 symbols 2021-03-18 17:52:37 +10:00
pem PROV: Add type specific MSBLOB and PVK decoding for the MS->key decoders 2021-03-19 16:46:39 +01:00
perlasm Fix many MarkDown issues in {NOTES*,README*,HACKING,LICENSE}.md files 2020-07-05 11:29:43 +02:00
pkcs7 Add ossl_ x509 symbols 2021-03-18 17:52:38 +10:00
pkcs12 Update copyright year 2021-03-11 13:27:36 +00:00
poly1305 crypto/poly1305/asm: fix armv8 pointer authentication 2020-10-29 17:17:21 +01:00
property property: default queries create the property values. 2021-03-16 09:19:20 +10:00
rand Add ossl_rand symbols 2021-03-18 17:52:37 +10:00
rc2
rc4 rename md5_block_asm_data_order to ossl_md5_block_asm_data_order 2020-11-19 07:38:58 +10:00
rc5
ripemd Diverse build.info: Adjust paths 2020-09-10 09:50:56 +02:00
rsa Dual 1024-bit exponentiation optimization for Intel IceLake CPU 2021-03-22 09:48:00 +00:00
seed
sha Update copyright year 2020-11-26 14:18:57 +00: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 ossl_ symbols for sm3 and sm4 2021-03-18 17:52:37 +10:00
sm4 Add ossl_ symbols for sm3 and sm4 2021-03-18 17:52:37 +10:00
srp Add ossl_bn_group symbols 2021-03-18 17:52:37 +10:00
stack Update copyright year 2021-02-18 15:05:17 +00:00
store Add ossl_ x509 symbols 2021-03-18 17:52:38 +10:00
ts Add ossl_asn1 symbols 2021-03-18 17:52:37 +10:00
txt_db
ui Always check CRYPTO_LOCK_{read,write}_lock 2021-03-14 15:33:34 +10:00
whrlpool Update copyright year 2021-03-11 13:27:36 +00:00
x509 x509: coverity 1472673 & 1472693 - dereference after null checks 2021-03-20 10:18:32 +10: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 Update copyright year 2021-01-28 13:54:57 +01:00
armv4cpuid.pl
asn1_dsa.c Add ossl_encode symbols 2021-03-18 17:52:37 +10:00
bsearch.c
build.info Fix no-threads 2020-12-14 10:45:27 +10:00
c64xpluscpuid.pl
context.c Fix external symbols for crypto_* 2021-03-18 17:35:10 +10:00
core_algorithm.c rename ossl_provider_forall_loaded to ossl_provider_doall_activated 2021-03-12 09:14:00 +10:00
core_fetch.c Update copyright year 2021-01-28 13:54:57 +01:00
core_namemap.c Add ossl_lhash symbols 2021-03-18 17:52:38 +10:00
cpt_err.c openssl_hexstr2buf_sep(): Prevent misleading 'malloc failure' errors on short input 2020-12-10 15:19:55 +01:00
cryptlib.c Update copyright year 2021-03-11 13:27:36 +00:00
ctype.c Add ossl_asn1 symbols 2021-03-18 17:52:37 +10:00
cversion.c
der_writer.c der: _ossl prefix DER functions 2020-10-01 11:25:12 +10:00
dllmain.c
ebcdic.c
ex_data.c Fix external symbols for crypto_* 2021-03-18 17:35:10 +10:00
getenv.c Update copyright year 2020-10-15 14:10:06 +01:00
ia64cpuid.S
info.c Print CPUINFO also for s390 processors 2020-06-22 02:35:01 +02:00
init.c Add ossl_ conf symbols 2021-03-18 17:52:37 +10: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 Always check CRYPTO_LOCK_{read,write}_lock 2021-03-14 15:33:34 +10: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 Fix misc external ossl_ symbols. 2021-03-18 17:52:37 +10:00
o_time.c Update copyright year 2021-03-11 13:27:36 +00:00
packet.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
param_build_set.c Update copyright year 2021-03-11 13:27:36 +00:00
param_build.c Update copyright year 2021-03-11 13:27:36 +00:00
params_from_text.c params: clean up TODO 2021-03-17 10:33:45 +10:00
params.c Update copyright year 2021-03-11 13:27:36 +00:00
pariscid.pl
passphrase.c CORE: Fix small bug in passphrase caching 2020-09-03 17:48:32 +02:00
ppc_arch.h
ppccap.c crypto/ppccap.c: Remove useless TODO 3.0 2021-03-04 14:15:01 +01:00
ppccpuid.pl
provider_conf.c Update copyright year 2021-03-11 13:27:36 +00:00
provider_core.c Ensure we deregister thread handlers even after a failed init 2021-03-18 12:00:42 +00:00
provider_local.h Add ossl_provider symbols 2021-03-18 17:52:38 +10:00
provider_predefined.c Add ossl_provider symbols 2021-03-18 17:52:38 +10:00
provider.c rename ossl_provider_forall_loaded to ossl_provider_doall_activated 2021-03-12 09:14:00 +10:00
punycode.c Update copyright year 2020-10-15 14:10:06 +01:00
README-sparse_array.md Fix many MarkDown issues in {NOTES*,README*,HACKING,LICENSE}.md files 2020-07-05 11:29:43 +02:00
s390x_arch.h
s390xcap.c
s390xcpuid.pl
self_test_core.c Rename OPENSSL_CTX prefix to OSSL_LIB_CTX 2020-10-15 11:59:53 +01:00
sparc_arch.h
sparccpuid.S
sparcv9cap.c
sparse_array.c Add ossl_sa symbols 2021-03-18 17:52:37 +10:00
threads_lib.c Fix no-threads 2020-12-14 10:45:27 +10:00
threads_none.c Always check CRYPTO_LOCK_{read,write}_lock 2021-03-14 15:33:34 +10: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 Always check CRYPTO_LOCK_{read,write}_lock 2021-03-14 15:33:34 +10:00
uid.c
vms_rms.h
x86_64cpuid.pl Dual 1024-bit exponentiation optimization for Intel IceLake CPU 2021-03-22 09:48:00 +00:00
x86cpuid.pl