mirror of
https://gitlab.com/libeigen/eigen.git
synced 2024-12-21 07:19:46 +08:00
Disable AVX on broken xcode versions. See PR 748.
Patch adapted from Hans Johnson's PR 748.
This commit is contained in:
parent
0ed0338593
commit
71aa53dd6d
@ -212,7 +212,6 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if !(defined(EIGEN_DONT_VECTORIZE) || defined(EIGEN_GPUCC))
|
#if !(defined(EIGEN_DONT_VECTORIZE) || defined(EIGEN_GPUCC))
|
||||||
|
|
||||||
#if defined (EIGEN_SSE2_ON_NON_MSVC_BUT_NOT_OLD_GCC) || defined(EIGEN_SSE2_ON_MSVC_2008_OR_LATER)
|
#if defined (EIGEN_SSE2_ON_NON_MSVC_BUT_NOT_OLD_GCC) || defined(EIGEN_SSE2_ON_MSVC_2008_OR_LATER)
|
||||||
@ -284,6 +283,38 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Disable AVX support on broken xcode versions
|
||||||
|
#if defined(__apple_build_version__) && (__apple_build_version__ == 11000033 ) && ( __MAC_OS_X_VERSION_MIN_REQUIRED == 101500 )
|
||||||
|
// A nasty bug in the clang compiler shipped with xcode in a common compilation situation
|
||||||
|
// when XCode 11.0 and Mac deployment target macOS 10.15 is https://trac.macports.org/ticket/58776#no1
|
||||||
|
#ifdef EIGEN_VECTORIZE_AVX
|
||||||
|
#undef EIGEN_VECTORIZE_AVX
|
||||||
|
#warning "Disabling AVX support: clang compiler shipped with XCode 11.[012] generates broken assembly with -macosx-version-min=10.15 and AVX enabled. "
|
||||||
|
#ifdef EIGEN_VECTORIZE_AVX2
|
||||||
|
#undef EIGEN_VECTORIZE_AVX2
|
||||||
|
#endif
|
||||||
|
#ifdef EIGEN_VECTORIZE_FMA
|
||||||
|
#undef EIGEN_VECTORIZE_FMA
|
||||||
|
#endif
|
||||||
|
#ifdef EIGEN_VECTORIZE_AVX512
|
||||||
|
#undef EIGEN_VECTORIZE_AVX512
|
||||||
|
#endif
|
||||||
|
#ifdef EIGEN_VECTORIZE_AVX512DQ
|
||||||
|
#undef EIGEN_VECTORIZE_AVX512DQ
|
||||||
|
#endif
|
||||||
|
#ifdef EIGEN_VECTORIZE_AVX512ER
|
||||||
|
#undef EIGEN_VECTORIZE_AVX512ER
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
// NOTE: Confirmed test failures in XCode 11.0, and XCode 11.2 with -macosx-version-min=10.15 and AVX
|
||||||
|
// NOTE using -macosx-version-min=10.15 with Xcode 11.0 results in runtime segmentation faults in many tests, 11.2 produce core dumps in 3 tests
|
||||||
|
// NOTE using -macosx-version-min=10.14 produces functioning and passing tests in all cases
|
||||||
|
// NOTE __clang_version__ "11.0.0 (clang-1100.0.33.8)" XCode 11.0 <- Produces many segfault and core dumping tests
|
||||||
|
// with -macosx-version-min=10.15 and AVX
|
||||||
|
// NOTE __clang_version__ "11.0.0 (clang-1100.0.33.12)" XCode 11.2 <- Produces 3 core dumping tests with
|
||||||
|
// -macosx-version-min=10.15 and AVX
|
||||||
|
#endif
|
||||||
|
|
||||||
// include files
|
// include files
|
||||||
|
|
||||||
// This extern "C" works around a MINGW-w64 compilation issue
|
// This extern "C" works around a MINGW-w64 compilation issue
|
||||||
|
Loading…
Reference in New Issue
Block a user