From 6b00f5a13579706a709d15ecbf474848b8d25710 Mon Sep 17 00:00:00 2001 From: Jerry Yu Date: Thu, 4 May 2023 16:30:21 +0800 Subject: [PATCH] Add guards for arm_neon.h See: https://arm-software.github.io/acle/main/acle.html#arm_neonh Signed-off-by: Jerry Yu --- library/aesce.c | 4 ++++ library/sha256.c | 8 +++++++- library/sha512.c | 6 +++++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/library/aesce.c b/library/aesce.c index b46a0e4d39..d939e4a69b 100644 --- a/library/aesce.c +++ b/library/aesce.c @@ -66,7 +66,11 @@ # endif #endif +#ifdef __ARM_NEON #include +#else +#error "Target does not support NEON instructions" +#endif #if !(defined(__ARM_FEATURE_CRYPTO) || defined(__ARM_FEATURE_AES)) || \ defined(MBEDTLS_ENABLE_ARM_CRYPTO_EXTENSIONS_COMPILER_FLAG) diff --git a/library/sha256.c b/library/sha256.c index ae1b35ca5e..104fa80983 100644 --- a/library/sha256.c +++ b/library/sha256.c @@ -62,7 +62,13 @@ defined(MBEDTLS_SHA256_USE_A64_CRYPTO_ONLY) /* *INDENT-OFF* */ -# include + +# ifdef __ARM_NEON +# include +# else +# error "Target does not support NEON instructions" +# endif + # if !defined(__ARM_FEATURE_CRYPTO) || defined(MBEDTLS_ENABLE_ARM_CRYPTO_EXTENSIONS_COMPILER_FLAG) # if defined(__clang__) # if __clang_major__ < 4 diff --git a/library/sha512.c b/library/sha512.c index fc7de749af..3b68801e5c 100644 --- a/library/sha512.c +++ b/library/sha512.c @@ -60,7 +60,11 @@ # if defined(MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT) || \ defined(MBEDTLS_SHA512_USE_A64_CRYPTO_ONLY) /* *INDENT-OFF* */ -# include +# ifdef __ARM_NEON +# include +# else +# error "Target does not support NEON instructions" +# endif /* * Best performance comes from most recent compilers, with intrinsics and -O3. * Must compile with -march=armv8.2-a+sha3, but we can't detect armv8.2-a, and