diff --git a/src/lib/OpenEXR/ImfSimd.h b/src/lib/OpenEXR/ImfSimd.h index bfdaed7f34..9918c12173 100644 --- a/src/lib/OpenEXR/ImfSimd.h +++ b/src/lib/OpenEXR/ImfSimd.h @@ -47,6 +47,10 @@ # define IMF_HAVE_NEON #endif +#if defined(__aarch64__) +# define IMF_HAVE_NEON_AARCH64 1 +#endif + extern "C" { #ifdef IMF_HAVE_SSE2 #include diff --git a/src/lib/OpenEXR/ImfZip.cpp b/src/lib/OpenEXR/ImfZip.cpp index 98477ba594..92896eadf1 100644 --- a/src/lib/OpenEXR/ImfZip.cpp +++ b/src/lib/OpenEXR/ImfZip.cpp @@ -165,7 +165,7 @@ reconstruct_sse41 (char* buf, size_t outSize) #endif -#ifdef IMF_HAVE_NEON +#ifdef IMF_HAVE_NEON_AARCH64 void reconstruct_neon (char* buf, size_t outSize) @@ -265,7 +265,7 @@ interleave_sse2 (const char* source, size_t outSize, char* out) #endif -#ifdef IMF_HAVE_NEON +#ifdef IMF_HAVE_NEON_AARCH64 void interleave_neon (const char* source, size_t outSize, char* out) @@ -387,7 +387,7 @@ Zip::initializeFuncs () } #endif -#ifdef IMF_HAVE_NEON +#ifdef IMF_HAVE_NEON_AARCH64 reconstruct = reconstruct_neon; interleave = interleave_neon; #endif diff --git a/src/lib/OpenEXRCore/internal_zip.c b/src/lib/OpenEXRCore/internal_zip.c index e829e6d7ce..1374cab0d0 100644 --- a/src/lib/OpenEXRCore/internal_zip.c +++ b/src/lib/OpenEXRCore/internal_zip.c @@ -24,8 +24,8 @@ # define IMF_HAVE_SSE4_1 1 # include #endif -#if defined(__ARM_NEON) -# define IMF_HAVE_NEON 1 +#if defined(__aarch64__) +# define IMF_HAVE_NEON_AARCH64 1 # include #endif @@ -78,7 +78,7 @@ reconstruct (uint8_t* buf, uint64_t outSize) prev = d; } } -#elif defined(IMF_HAVE_NEON) +#elif defined(IMF_HAVE_NEON_AARCH64) static void reconstruct (uint8_t* buf, uint64_t outSize) { @@ -174,7 +174,7 @@ interleave (uint8_t* out, const uint8_t* source, uint64_t outSize) *(sOut++) = (i % 2 == 0) ? *(t1++) : *(t2++); } -#elif defined(IMF_HAVE_NEON) +#elif defined(IMF_HAVE_NEON_AARCH64) static void interleave (uint8_t* out, const uint8_t* source, uint64_t outSize) {