summaryrefslogtreecommitdiffstats
path: root/crypto/armcap.c
diff options
context:
space:
mode:
authorXiaokangQian <xiaokang.qian@arm.com>2022-05-18 02:27:55 +0000
committerTomas Mraz <tomas@openssl.org>2022-11-21 10:49:52 +0100
commit2e7f6ca65d49b9321431192f916667e29651c851 (patch)
treeb1c94679a107bcfbc896cf7550518bf5ac7191cc /crypto/armcap.c
parentd295e4b1da6d223242eb43bfae10479616c5236d (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.c3
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