diff --git a/library/aesce.c b/library/aesce.c index 8b42b034f..21ec47daa 100644 --- a/library/aesce.c +++ b/library/aesce.c @@ -26,7 +26,7 @@ * By defining the macros ourselves we gain access to those declarations without * requiring -march on the command line. * - * `arm_neon.h` could be included by any header file, so we put these defines + * `arm_neon.h` is included by common.h, so we put these defines * at the top of this file, before any includes. */ #define __ARM_FEATURE_CRYPTO 1 @@ -66,9 +66,7 @@ # endif #endif -#ifdef __ARM_NEON -#include -#else +#if !defined(MBEDTLS_HAVE_NEON_INTRINSICS) #error "Target does not support NEON instructions" #endif diff --git a/library/common.h b/library/common.h index c080af043..fd2aecb20 100644 --- a/library/common.h +++ b/library/common.h @@ -187,7 +187,7 @@ inline void mbedtls_xor(unsigned char *r, const unsigned char *a, const unsigned { size_t i = 0; #if defined(MBEDTLS_EFFICIENT_UNALIGNED_ACCESS) -#if defined(__ARM_NEON) +#if defined(MBEDTLS_HAVE_NEON_INTRINSICS) for (; (i + 16) <= n; i += 16) { uint8x16_t v1 = vld1q_u8(a + i); uint8x16_t v2 = vld1q_u8(b + i); diff --git a/library/sha256.c b/library/sha256.c index 20d5188b6..da6ec180c 100644 --- a/library/sha256.c +++ b/library/sha256.c @@ -31,7 +31,7 @@ * By defining the macros ourselves we gain access to those declarations without * requiring -march on the command line. * - * `arm_neon.h` could be included by any header file, so we put these defines + * `arm_neon.h` is included by common.h, so we put these defines * at the top of this file, before any includes. */ #define __ARM_FEATURE_CRYPTO 1 @@ -63,9 +63,7 @@ /* *INDENT-OFF* */ -# ifdef __ARM_NEON -# include -# else +# if !defined(MBEDTLS_HAVE_NEON_INTRINSICS) # error "Target does not support NEON instructions" # endif @@ -110,12 +108,7 @@ # include # endif # endif -#elif defined(_M_ARM64) || defined(_M_ARM64EC) -# if defined(MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT) || \ - defined(MBEDTLS_SHA256_USE_A64_CRYPTO_ONLY) -# include -# endif -#else +#elif !(defined(_M_ARM64) || defined(_M_ARM64EC)) # undef MBEDTLS_SHA256_USE_A64_CRYPTO_ONLY # undef MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT #endif diff --git a/library/sha512.c b/library/sha512.c index 23e8745a5..0e99914dd 100644 --- a/library/sha512.c +++ b/library/sha512.c @@ -31,7 +31,7 @@ * By defining the macros ourselves we gain access to those declarations without * requiring -march on the command line. * - * `arm_neon.h` could be included by any header file, so we put these defines + * `arm_neon.h` is included by common.h, so we put these defines * at the top of this file, before any includes. */ #define __ARM_FEATURE_SHA512 1 @@ -60,9 +60,7 @@ # if defined(MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT) || \ defined(MBEDTLS_SHA512_USE_A64_CRYPTO_ONLY) /* *INDENT-OFF* */ -# ifdef __ARM_NEON -# include -# else +# if !defined(MBEDTLS_HAVE_NEON_INTRINSICS) # error "Target does not support NEON instructions" # endif /*