diff options
author | XiaokangQian <xiaokang.qian@arm.com> | 2022-05-18 02:27:55 +0000 |
---|---|---|
committer | Pauli <pauli@openssl.org> | 2022-05-23 11:05:51 +1000 |
commit | 9224a407f9bb4c2af087ecf6e691c9027b594ec0 (patch) | |
tree | f82608d1121600b4d0c5399a86892a08e1e0226f /crypto/armcap.c | |
parent | be4b2ed2fbae0efe8d4984d1bfefe5a8e3a45d02 (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)
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 bcd6b4052b..7e6cd8fe90 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 |