diff options
| author | Jonathan "Geenz" Goodman <geenz@lindenlab.com> | 2025-09-10 15:53:59 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-10 15:53:59 -0400 | 
| commit | 5b97823db6f7cec6569ef893499cf48f4a889e67 (patch) | |
| tree | 79f368f096ba2c72a98627671c713a0a8abf332f /indra/llmath/llsimdmath.h | |
| parent | 175400230869963df7a3f126122ace14456c56cb (diff) | |
| parent | dd1113ba2b62b24378e5b8ecfee0093474527c5a (diff) | |
Merge pull request #4636 from secondlife/project/mac_universal
Apple Silicon Support
Diffstat (limited to 'indra/llmath/llsimdmath.h')
| -rw-r--r-- | indra/llmath/llsimdmath.h | 14 | 
1 files changed, 12 insertions, 2 deletions
diff --git a/indra/llmath/llsimdmath.h b/indra/llmath/llsimdmath.h index 40953dc2e8..b27b034cf3 100644 --- a/indra/llmath/llsimdmath.h +++ b/indra/llmath/llsimdmath.h @@ -31,16 +31,26 @@  #error "Please include llmath.h before this file."  #endif -#if ( ( LL_DARWIN || LL_LINUX ) && !(__SSE2__) ) || ( LL_WINDOWS && ( _M_IX86_FP < 2 && ADDRESS_SIZE == 32 ) ) -#error SSE2 not enabled. LLVector4a and related class will not compile. +// the check for this error case must be split into multiple parts +// because some versions of VS complain about '__SSE2__' +#if ( ( LL_DARWIN || LL_LINUX ) ) +    #if !(__SSE2__) && !(__arm64__) && !(__aarch64__) +        #error SSE2 not enabled. LLVector4a and related class will not compile. +    #endif +#elif ( LL_WINDOWS && ( _M_IX86_FP < 2 && ADDRESS_SIZE == 32 ) ) +    #error SSE2 not enabled. LLVector4a and related class will not compile.  #endif  #if !LL_WINDOWS  #include <stdint.h>  #endif +#if defined(__arm64__) || defined(__aarch64__) +#include "sse2neon.h" +#else  #include <xmmintrin.h>  #include <emmintrin.h> +#endif  #include "llmemory.h"  #include "llsimdtypes.h"  | 
