Use MBEDTLS_HAVE_NEON_INTRINSICS instead of __ARM_NEON

Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
diff --git a/library/aesce.c b/library/aesce.c
index 8b42b03..21ec47d 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 <arm_neon.h>
-#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 c080af0..fd2aecb 100644
--- a/library/common.h
+++ b/library/common.h
@@ -187,7 +187,7 @@
 {
     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 20d5188..da6ec18 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 <arm_neon.h>
-#   else
+#   if !defined(MBEDTLS_HAVE_NEON_INTRINSICS)
 #       error "Target does not support NEON instructions"
 #   endif
 
@@ -110,12 +108,7 @@
 #      include <signal.h>
 #    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 <arm64_neon.h>
-#  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 23e8745..0e99914 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 <arm_neon.h>
-#   else
+#   if !defined(MBEDTLS_HAVE_NEON_INTRINSICS)
 #       error "Target does not support NEON instructions"
 #   endif
 /*