aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2015-02-17 16:27:20 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2015-02-17 16:27:20 +0100
commit159fb181c222afb3634006f0a620dd5b5419e924 (patch)
tree2f5a666f605cf10050171721a2754f00dd8505c5 /Eigen
parent91ab2489dde3f274a2ff65741e7bda89a5487cb0 (diff)
Disable __m128* wrappers when compiling with AVX and -fabi-version=4
Diffstat (limited to 'Eigen')
-rwxr-xr-xEigen/src/Core/arch/SSE/PacketMath.h5
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
{