summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--adv_simd.h3
-rw-r--r--blake2b_simd.cpp3
-rw-r--r--blake2s_simd.cpp3
-rw-r--r--chacha_simd.cpp3
-rw-r--r--crc_simd.cpp3
-rw-r--r--gcm_simd.cpp3
-rw-r--r--lea_simd.cpp7
-rw-r--r--neon_simd.cpp5
-rw-r--r--rijndael_simd.cpp5
-rw-r--r--sha_simd.cpp3
-rw-r--r--simon128_simd.cpp5
-rw-r--r--simon64_simd.cpp5
-rw-r--r--speck128_simd.cpp5
-rw-r--r--speck64_simd.cpp5
14 files changed, 40 insertions, 18 deletions
diff --git a/adv_simd.h b/adv_simd.h
index effb48f9..517f0c29 100644
--- a/adv_simd.h
+++ b/adv_simd.h
@@ -49,7 +49,8 @@
#include "misc.h"
#include "stdcpp.h"
-#if (CRYPTOPP_ARM_NEON_AVAILABLE)
+// C1189: error: This header is specific to ARM targets
+#if (CRYPTOPP_ARM_NEON_AVAILABLE) && !defined(_M_ARM64)
# include <arm_neon.h>
#endif
diff --git a/blake2b_simd.cpp b/blake2b_simd.cpp
index ca5aa054..932be73b 100644
--- a/blake2b_simd.cpp
+++ b/blake2b_simd.cpp
@@ -38,7 +38,8 @@
# include <smmintrin.h>
#endif
-#if (CRYPTOPP_ARM_NEON_AVAILABLE)
+// C1189: error: This header is specific to ARM targets
+#if (CRYPTOPP_ARM_NEON_AVAILABLE) && !defined(_M_ARM64)
# include <arm_neon.h>
#endif
diff --git a/blake2s_simd.cpp b/blake2s_simd.cpp
index dece4ec5..327e15d6 100644
--- a/blake2s_simd.cpp
+++ b/blake2s_simd.cpp
@@ -49,7 +49,8 @@
# include <smmintrin.h>
#endif
-#if (CRYPTOPP_ARM_NEON_AVAILABLE)
+// C1189: error: This header is specific to ARM targets
+#if (CRYPTOPP_ARM_NEON_AVAILABLE) && !defined(_M_ARM64)
# include <arm_neon.h>
#endif
diff --git a/chacha_simd.cpp b/chacha_simd.cpp
index 615a0a55..90f7f6e5 100644
--- a/chacha_simd.cpp
+++ b/chacha_simd.cpp
@@ -48,7 +48,8 @@
# include <ammintrin.h>
#endif
-#if (CRYPTOPP_ARM_NEON_AVAILABLE)
+// C1189: error: This header is specific to ARM targets
+#if (CRYPTOPP_ARM_NEON_AVAILABLE) && !defined(_M_ARM64)
# include <arm_neon.h>
#endif
diff --git a/crc_simd.cpp b/crc_simd.cpp
index 4699953a..771dabfd 100644
--- a/crc_simd.cpp
+++ b/crc_simd.cpp
@@ -14,7 +14,8 @@
# include <nmmintrin.h>
#endif
-#if (CRYPTOPP_ARM_NEON_AVAILABLE)
+// C1189: error: This header is specific to ARM targets
+#if (CRYPTOPP_ARM_NEON_AVAILABLE) && !defined(_M_ARM64)
# include <arm_neon.h>
#endif
diff --git a/gcm_simd.cpp b/gcm_simd.cpp
index 8d81c839..f4cb243d 100644
--- a/gcm_simd.cpp
+++ b/gcm_simd.cpp
@@ -29,7 +29,8 @@
# include <wmmintrin.h>
#endif
-#if (CRYPTOPP_ARM_NEON_AVAILABLE)
+// C1189: error: This header is specific to ARM targets
+#if (CRYPTOPP_ARM_NEON_AVAILABLE) && !defined(_M_ARM64)
# include <arm_neon.h>
#endif
diff --git a/lea_simd.cpp b/lea_simd.cpp
index 060b6468..b4180e34 100644
--- a/lea_simd.cpp
+++ b/lea_simd.cpp
@@ -31,13 +31,14 @@
# include <immintrin.h>
#endif
+// C1189: error: This header is specific to ARM targets
#if (CRYPTOPP_ARM_NEON_AVAILABLE)
# include "adv_simd.h"
-# include <arm_neon.h>
+# ifndef _M_ARM64
+# include <arm_neon.h>
+# endif
#endif
-// Can't use CRYPTOPP_ARM_XXX_AVAILABLE because too many
-// compilers don't follow ACLE conventions for the include.
#if (CRYPTOPP_ARM_ACLE_AVAILABLE)
# include <stdint.h>
# include <arm_acle.h>
diff --git a/neon_simd.cpp b/neon_simd.cpp
index 1a77260b..aec3e5ef 100644
--- a/neon_simd.cpp
+++ b/neon_simd.cpp
@@ -11,12 +11,11 @@
#include "config.h"
#include "stdcpp.h"
-#if (CRYPTOPP_ARM_NEON_AVAILABLE)
+// C1189: error: This header is specific to ARM targets
+#if (CRYPTOPP_ARM_NEON_AVAILABLE) && !defined(_M_ARM64)
# include <arm_neon.h>
#endif
-// Can't use CRYPTOPP_ARM_XXX_AVAILABLE because too many
-// compilers don't follow ACLE conventions for the include.
#if (CRYPTOPP_ARM_ACLE_AVAILABLE)
# include <stdint.h>
# include <arm_acle.h>
diff --git a/rijndael_simd.cpp b/rijndael_simd.cpp
index bd7bbe53..227b3fb5 100644
--- a/rijndael_simd.cpp
+++ b/rijndael_simd.cpp
@@ -30,9 +30,12 @@
# include <wmmintrin.h>
#endif
+// C1189: error: This header is specific to ARM targets
#if (CRYPTOPP_ARM_NEON_AVAILABLE)
# include "adv_simd.h"
-# include <arm_neon.h>
+# ifndef _M_ARM64
+# include <arm_neon.h>
+# endif
#endif
#if (CRYPTOPP_ARM_ACLE_AVAILABLE)
diff --git a/sha_simd.cpp b/sha_simd.cpp
index 3fd9df72..7184f3e1 100644
--- a/sha_simd.cpp
+++ b/sha_simd.cpp
@@ -23,7 +23,8 @@
# include <immintrin.h>
#endif
-#if (CRYPTOPP_ARM_NEON_AVAILABLE)
+// C1189: error: This header is specific to ARM targets
+#if (CRYPTOPP_ARM_NEON_AVAILABLE) && !defined(_M_ARM64)
# include <arm_neon.h>
#endif
diff --git a/simon128_simd.cpp b/simon128_simd.cpp
index 29a9b1bc..af9e6e97 100644
--- a/simon128_simd.cpp
+++ b/simon128_simd.cpp
@@ -31,9 +31,12 @@
# include <immintrin.h>
#endif
+// C1189: error: This header is specific to ARM targets
#if (CRYPTOPP_ARM_NEON_AVAILABLE)
# include "adv_simd.h"
-# include <arm_neon.h>
+# ifndef _M_ARM64
+# include <arm_neon.h>
+# endif
#endif
// Can't use CRYPTOPP_ARM_XXX_AVAILABLE because too many
diff --git a/simon64_simd.cpp b/simon64_simd.cpp
index 33ceab1c..233203d5 100644
--- a/simon64_simd.cpp
+++ b/simon64_simd.cpp
@@ -35,9 +35,12 @@
# include <immintrin.h>
#endif
+// C1189: error: This header is specific to ARM targets
#if (CRYPTOPP_ARM_NEON_AVAILABLE)
# include "adv_simd.h"
-# include <arm_neon.h>
+# ifndef _M_ARM64
+# include <arm_neon.h>
+# endif
#endif
// Can't use CRYPTOPP_ARM_XXX_AVAILABLE because too many
diff --git a/speck128_simd.cpp b/speck128_simd.cpp
index 2db2a1bb..3b748c8f 100644
--- a/speck128_simd.cpp
+++ b/speck128_simd.cpp
@@ -31,9 +31,12 @@
# include <immintrin.h>
#endif
+// C1189: error: This header is specific to ARM targets
#if (CRYPTOPP_ARM_NEON_AVAILABLE)
# include "adv_simd.h"
-# include <arm_neon.h>
+# ifndef _M_ARM64
+# include <arm_neon.h>
+# endif
#endif
// Can't use CRYPTOPP_ARM_XXX_AVAILABLE because too many
diff --git a/speck64_simd.cpp b/speck64_simd.cpp
index f8aa0ca8..cfcf7335 100644
--- a/speck64_simd.cpp
+++ b/speck64_simd.cpp
@@ -35,9 +35,12 @@
# include <immintrin.h>
#endif
+// C1189: error: This header is specific to ARM targets
#if (CRYPTOPP_ARM_NEON_AVAILABLE)
# include "adv_simd.h"
-# include <arm_neon.h>
+# ifndef _M_ARM64
+# include <arm_neon.h>
+# endif
#endif
// Can't use CRYPTOPP_ARM_XXX_AVAILABLE because too many