aboutsummaryrefslogtreecommitdiff
path: root/c
diff options
context:
space:
mode:
authorJavier Blazquez <[email protected]>2024-04-06 17:30:49 -0700
committerJack O'Connor <[email protected]>2024-04-07 11:48:02 -0400
commit0816badf3ada3ec48e712dd4f4cbc2cd60828278 (patch)
treeeda61f37a5b208a415ad03f1e3d2d2656ba86028 /c
parent4ec3be8bfa6574fcd30619741390847ddc037d55 (diff)
fix Windows ARM64 build and detect ARM64EC as ARM64
Diffstat (limited to 'c')
-rw-r--r--c/blake3_dispatch.c5
-rw-r--r--c/blake3_impl.h4
2 files changed, 6 insertions, 3 deletions
diff --git a/c/blake3_dispatch.c b/c/blake3_dispatch.c
index af6c3da..c9abc13 100644
--- a/c/blake3_dispatch.c
+++ b/c/blake3_dispatch.c
@@ -4,9 +4,12 @@
#include "blake3_impl.h"
-#if defined(IS_X86)
#if defined(_MSC_VER)
#include <Windows.h>
+#endif
+
+#if defined(IS_X86)
+#if defined(_MSC_VER)
#include <intrin.h>
#elif defined(__GNUC__)
#include <immintrin.h>
diff --git a/c/blake3_impl.h b/c/blake3_impl.h
index beab5cf..98611c3 100644
--- a/c/blake3_impl.h
+++ b/c/blake3_impl.h
@@ -28,7 +28,7 @@ enum blake3_flags {
#define INLINE static inline __attribute__((always_inline))
#endif
-#if defined(__x86_64__) || defined(_M_X64)
+#if (defined(__x86_64__) || defined(_M_X64)) && !defined(_M_ARM64EC)
#define IS_X86
#define IS_X86_64
#endif
@@ -38,7 +38,7 @@ enum blake3_flags {
#define IS_X86_32
#endif
-#if defined(__aarch64__) || defined(_M_ARM64)
+#if defined(__aarch64__) || defined(_M_ARM64) || defined(_M_ARM64EC)
#define IS_AARCH64
#endif