From 60c1deb4e402d7fa4a703374b7fe1ee6a74a2839 Mon Sep 17 00:00:00 2001 From: Oliver James Date: Wed, 25 Sep 2024 15:37:57 +0100 Subject: [PATCH] DSP: Simplify processor definitions and add Windows Arm support --- modules/juce_dsp/juce_dsp.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/modules/juce_dsp/juce_dsp.h b/modules/juce_dsp/juce_dsp.h index 4570827018..0031cdd2fd 100644 --- a/modules/juce_dsp/juce_dsp.h +++ b/modules/juce_dsp/juce_dsp.h @@ -67,7 +67,7 @@ #include #include -#if defined (_M_X64) || defined (__amd64__) || defined (__SSE2__) || (defined (_M_IX86_FP) && _M_IX86_FP == 2) +#if JUCE_INTEL #if defined (_M_X64) || defined (__amd64__) #ifndef __SSE2__ @@ -83,15 +83,17 @@ #include #endif -// it's ok to check for _M_ARM below as this is only defined on Windows for Arm 32-bit -// which has a minimum requirement of armv7, which supports neon. -#elif defined (__ARM_NEON__) || defined (__ARM_NEON) || defined (__arm64__) || defined (__aarch64__) || defined (_M_ARM) || defined (_M_ARM64) +#elif JUCE_ARM #ifndef JUCE_USE_SIMD #define JUCE_USE_SIMD 1 #endif - #include + #if JUCE_64BIT && JUCE_WINDOWS + #include + #else + #include + #endif #else @@ -234,7 +236,7 @@ namespace util #include "native/juce_SIMDNativeOps_fallback.h" // include the correct native file for this build target CPU - #if defined (__i386__) || defined (__amd64__) || defined (_M_X64) || defined (_X86_) || defined (_M_IX86) + #if JUCE_INTEL #ifdef __AVX2__ #include "native/juce_SIMDNativeOps_avx.h" #else