浏览代码

Also accept __ARM_NEON

The Clang used in the Android SDK, at least, defines both __ARM_NEON__
and __ARM_NEON for ARMv7, but only the latter for AArch64.

This change switches each use of __ARM_NEON__ to accept either.

Change-Id: I3b5d5badc9ff0210888fd456e9329dc53a2b9b09
Reviewed-on: https://boringssl-review.googlesource.com/c/33104
Commit-Queue: Adam Langley <alangley@gmail.com>
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
kris/onging/CECPQ3_patch15
Adam Langley 6 年前
committed by CQ bot account: commit-bot@chromium.org
父节点
当前提交
2745ef9082
共有 2 个文件被更改,包括 5 次插入3 次删除
  1. +2
    -1
      crypto/crypto.c
  2. +3
    -2
      include/openssl/cpu.h

+ 2
- 1
crypto/crypto.c 查看文件

@@ -82,7 +82,8 @@ HIDDEN unsigned long OPENSSL_ppc64le_hwcap2 = 0;
#if defined(OPENSSL_STATIC_ARMCAP)

HIDDEN uint32_t OPENSSL_armcap_P =
#if defined(OPENSSL_STATIC_ARMCAP_NEON) || defined(__ARM_NEON__)
#if defined(OPENSSL_STATIC_ARMCAP_NEON) || \
(defined(__ARM_NEON__) || defined(__ARM_NEON))
ARMV7_NEON |
#endif
#if defined(OPENSSL_STATIC_ARMCAP_AES) || defined(__ARM_FEATURE_CRYPTO)


+ 3
- 2
include/openssl/cpu.h 查看文件

@@ -125,7 +125,7 @@ OPENSSL_INLINE int CRYPTO_is_NEON_capable(void) {
// hand-written NEON assembly. For now, continue to apply the workaround even
// when the compiler is instructed to freely emit NEON code. See
// https://crbug.com/341598 and https://crbug.com/606629.
#if defined(__ARM_NEON__) && !defined(OPENSSL_ARM)
#if (defined(__ARM_NEON__) || defined(__ARM_NEON)) && !defined(OPENSSL_ARM)
return 1;
#else
return CRYPTO_is_NEON_capable_at_runtime();
@@ -153,7 +153,8 @@ int CRYPTO_is_ARMv8_PMULL_capable(void);
#else

OPENSSL_INLINE int CRYPTO_is_NEON_capable(void) {
#if defined(OPENSSL_STATIC_ARMCAP_NEON) || defined(__ARM_NEON__)
#if defined(OPENSSL_STATIC_ARMCAP_NEON) || \
(defined(__ARM_NEON__) || defined(__ARM_NEON))
return 1;
#else
return 0;


正在加载...
取消
保存