]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Apply aes-gcm unroll8+eor3 optimization patch to Neoverse V2
authorXiaokang Qian <xiaokang.qian@arm.com>
Sun, 29 Jan 2023 06:22:43 +0000 (06:22 +0000)
committerTomas Mraz <tomas@openssl.org>
Wed, 8 Feb 2023 15:54:57 +0000 (16:54 +0100)
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20184)

crypto/arm_arch.h
crypto/armcap.c

index a77a7bacb5c1372828e9d1f2e2693e7f019bff6f..cc5cc5ba491ca5881031d34a725156c6a09a41e7 100644 (file)
@@ -104,6 +104,7 @@ extern unsigned int OPENSSL_armv8_rsa_neonized;
 # define ARM_CPU_PART_V1           0xD40
 # define ARM_CPU_PART_N2           0xD49
 # define HISI_CPU_PART_KP920       0xD01
+# define ARM_CPU_PART_V2           0xD4F
 
 # define MIDR_PARTNUM_SHIFT       4
 # define MIDR_PARTNUM_MASK        (0xfffU << MIDR_PARTNUM_SHIFT)
index 68f735baec63e98428c1ff6b50617b6744c3cca6..01b3b32534f2816bdb6751f0fccf1b7112177ba8 100644 (file)
@@ -400,7 +400,8 @@ void OPENSSL_cpuid_setup(void)
             OPENSSL_armv8_rsa_neonized = 1;
     }
     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)) &&
+         MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_N2) ||
+         MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V2)) &&
         (OPENSSL_armcap_P & ARMV8_SHA3))
         OPENSSL_armcap_P |= ARMV8_UNROLL8_EOR3;
 # endif