*/
#include "adler32_neon.h"
#if defined(__ARM_NEON__) || defined(__ARM_NEON)
-#include <arm_neon.h>
+#ifdef _M_ARM64
+# include <arm64_neon.h>
+#else
+# include <arm_neon.h>
+#endif
#include "../../adler32_p.h"
static void NEON_accum32(uint32_t *s, const unsigned char *buf, size_t len) {
/* slide_neon.c -- Optimized hash table shifting for ARM with support for NEON instructions
- * Copyright (C) 2017 Mika T. Lindqvist
+ * Copyright (C) 2017-2020 Mika T. Lindqvist
*
* Authors:
* Mika T. Lindqvist <postmaster@raasu.org>
*/
#if defined(ARM_NEON_SLIDEHASH)
-#include <arm_neon.h>
+#ifdef _M_ARM64
+# include <arm64_neon.h>
+#else
+# include <arm_neon.h>
+#endif
#include "../../zbuild.h"
#include "../../deflate.h"
# endif
functable.slide_hash = &slide_hash_sse2;
#elif defined(ARM_NEON_SLIDEHASH)
+# ifndef ARM_NOCHECK_NEON
if (arm_cpu_has_neon)
+# endif
functable.slide_hash = &slide_hash_neon;
#endif
#ifdef X86_AVX2
cpu_check_features();
#if (defined(__ARM_NEON__) || defined(__ARM_NEON)) && defined(ARM_NEON_ADLER32)
+# ifndef ARM_NOCHECK_NEON
if (arm_cpu_has_neon)
+# endif
functable.adler32 = &adler32_neon;
#endif
}
#if defined(__ARM_NEON__) || defined(__ARM_NEON)
-#include <arm_neon.h>
+#ifdef _M_ARM64
+# include <arm64_neon.h>
+#else
+# include <arm_neon.h>
+#endif
typedef uint8x16_t inffast_chunk_t;
#define INFFAST_CHUNKSIZE sizeof(inffast_chunk_t)
#endif
SUFFIX = -ng
!endif
WFLAGS = $(WFLAGS) -DARM_ACLE_CRC_HASH -D__ARM_NEON__=1 -DARM_NEON_ADLER32 -DARM_NEON_SLIDEHASH -DARM_NOCHECK_NEON
-OBJS = $(OBJS) crc32_acle.obj insert_string_acle.obj slide_neon.obj .adler32_neon.obj
+OBJS = $(OBJS) crc32_acle.obj insert_string_acle.obj slide_neon.obj adler32_neon.obj
# targets
all: $(STATICLIB) $(SHAREDLIB) $(IMPLIB) \