diff options
author | XiaokangQian <xiaokang.qian@arm.com> | 2022-05-18 02:27:55 +0000 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2022-11-21 10:49:52 +0100 |
commit | 2e7f6ca65d49b9321431192f916667e29651c851 (patch) | |
tree | b1c94679a107bcfbc896cf7550518bf5ac7191cc /crypto/armcap.c | |
parent | d295e4b1da6d223242eb43bfae10479616c5236d (diff) |
Apply the AES-GCM unroll8 optimization patch to Neoverse N2
The loop unrolling and use of EOR3 can improve N2 performance
by up to 32%
Signed-off-by: XiaokangQian <xiaokang.qian@arm.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18350)
(cherry picked from commit 9224a407f9bb4c2af087ecf6e691c9027b594ec0)
Diffstat (limited to 'crypto/armcap.c')
-rw-r--r-- | crypto/armcap.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/armcap.c b/crypto/armcap.c index e68435a369..0aa11baed4 100644 --- a/crypto/armcap.c +++ b/crypto/armcap.c @@ -375,7 +375,8 @@ void OPENSSL_cpuid_setup(void) (OPENSSL_armcap_P & ARMV7_NEON)) { OPENSSL_armv8_rsa_neonized = 1; } - if ((MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V1)) && + if ((MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V1) || + MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_N2)) && (OPENSSL_armcap_P & ARMV8_SHA3)) OPENSSL_armcap_P |= ARMV8_UNROLL8_EOR3; # endif |