diff options
author | Gael Guennebaud <g.gael@free.fr> | 2015-02-17 16:27:20 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2015-02-17 16:27:20 +0100 |
commit | 159fb181c222afb3634006f0a620dd5b5419e924 (patch) | |
tree | 2f5a666f605cf10050171721a2754f00dd8505c5 /Eigen | |
parent | 91ab2489dde3f274a2ff65741e7bda89a5487cb0 (diff) |
Disable __m128* wrappers when compiling with AVX and -fabi-version=4
Diffstat (limited to 'Eigen')
-rwxr-xr-x | Eigen/src/Core/arch/SSE/PacketMath.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/Eigen/src/Core/arch/SSE/PacketMath.h b/Eigen/src/Core/arch/SSE/PacketMath.h index acbbd0869..b5a0ba2bc 100755 --- a/Eigen/src/Core/arch/SSE/PacketMath.h +++ b/Eigen/src/Core/arch/SSE/PacketMath.h @@ -28,13 +28,12 @@ namespace internal { #endif #endif -#if defined EIGEN_VECTORIZE_AVX && EIGEN_COMP_GNUC_STRICT +#if (defined EIGEN_VECTORIZE_AVX) && EIGEN_COMP_GNUC_STRICT && (__GXX_ABI_VERSION < 1004) // With GCC's default ABI version, a __m128 or __m256 are the same types and therefore we cannot // have overloads for both types without linking error. // One solution is to increase ABI version using -fabi-version=4 (or greater). -// To workaround this inconvenince, we rather wrap 128bit types into the following helper +// Otherwise, we workaround this inconvenience by wrapping 128bit types into the following helper // structure: -// TODO disable this wrapper if abi-versio>=4, but how to detect that without asking the user to define a macro? template<typename T> struct eigen_packet_wrapper { |