From 657d141e82b111e6719f499677e035cb443df537 Mon Sep 17 00:00:00 2001 From: notaz Date: Fri, 7 Jul 2023 21:27:15 +0300 Subject: [PATCH] make: try a different way to detect 32bit neon --- Makefile.libretro | 2 +- include/arm_features.h | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Makefile.libretro b/Makefile.libretro index bd26d00f..cf8e0807 100644 --- a/Makefile.libretro +++ b/Makefile.libretro @@ -530,7 +530,7 @@ ARCH = $(ARCH_DETECTED) endif ifndef HAVE_NEON_ASM # asm for 32bit only -HAVE_NEON_ASM = $(shell $(CC) -E -dD $(CFLAGS) - < /dev/null 2> /dev/null | grep -q __ARM_NEON__ && echo 1 || echo 0) +HAVE_NEON_ASM = $(shell $(CC) -E -dD $(CFLAGS) include/arm_features.h | grep -q HAVE_NEON32 && echo 1 || echo 0) endif ifeq ($(NO_UNDEF_CHECK)$(shell ld -v 2> /dev/null | awk '{print $$1}'),GNU) MAIN_LDFLAGS += -Wl,--no-undefined diff --git a/include/arm_features.h b/include/arm_features.h index 7c82ff38..4f216a3c 100644 --- a/include/arm_features.h +++ b/include/arm_features.h @@ -47,7 +47,10 @@ #endif -/* no need for HAVE_NEON - GCC defines __ARM_NEON__ consistently */ +/* gcc defines __ARM_NEON__ consistently for 32bit, but apple clang defines it for 64bit also... */ +#if defined(HAVE_ARMV7) && defined(__ARM_NEON__) +#define HAVE_NEON32 +#endif /* global function/external symbol */ #ifndef __MACH__ -- 2.39.2