OpenEXR/march-x86-64-v3.patch
Yaakov Selkowitz c2153a3c37 Fix build for x86-64-v3
Backport of https://github.com/AcademySoftwareFoundation/openexr/pull/1507

Also, run all tests on i686, ppc64le, and x86_64 (including -v3), as
previous failures on those architectures were fixed in 3.1.10.
2023-08-04 15:30:58 -04:00

27 lines
808 B
Diff

Backport of https://github.com/AcademySoftwareFoundation/openexr/pull/1507
diff --git a/src/lib/OpenEXRCore/internal_cpuid.h b/src/lib/OpenEXRCore/internal_cpuid.h
index edfee0b8..8a2573b8 100644
--- a/src/lib/OpenEXRCore/internal_cpuid.h
+++ b/src/lib/OpenEXRCore/internal_cpuid.h
@@ -39,14 +39,15 @@ check_for_x86_simd (int* f16c, int* avx, int* sse2)
*f16c = 0;
# endif
-#elif OPENEXR_ENABLE_X86_SIMD_CHECK
-
+#elif defined(__AVX__) && defined(__F16C__)
// shortcut if everything is turned on / compiled in
-# if defined(__AVX__) && defined(__F16C__)
*f16c = 1;
*avx = 1;
*sse2 = 1;
-# elif defined(_MSC_VER) && defined(_WIN32)
+
+#elif OPENEXR_ENABLE_X86_SIMD_CHECK
+
+# if defined(_MSC_VER) && defined(_WIN32)
int regs[4], osxsave;
__cpuid (regs, 0);