diff options
author | 2015-10-10 22:38:55 +0200 | |
---|---|---|
committer | 2015-10-10 22:38:55 +0200 | |
commit | 6163db814ca35aa452db962861ef04cdc6ca41ef (patch) | |
tree | 2039c8655389da1137d3202ec08e2c39cb2e5c3e | |
parent | 6536b4bad71de912f240c6fffa6fd29e5b7b4bbc (diff) |
bug #1085: workaround gcc default ABI issue
-rwxr-xr-x | Eigen/src/Core/arch/SSE/PacketMath.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Eigen/src/Core/arch/SSE/PacketMath.h b/Eigen/src/Core/arch/SSE/PacketMath.h index 2e0a807bf..3c30b2cf0 100755 --- a/Eigen/src/Core/arch/SSE/PacketMath.h +++ b/Eigen/src/Core/arch/SSE/PacketMath.h @@ -545,11 +545,11 @@ template<> EIGEN_STRONG_INLINE double predux<Packet2d>(const Packet2d& a) { retu template<> EIGEN_STRONG_INLINE float predux<Packet4f>(const Packet4f& a) { Packet4f tmp = _mm_add_ps(a, _mm_movehl_ps(a,a)); - return pfirst(_mm_add_ss(tmp, _mm_shuffle_ps(tmp,tmp, 1))); + return pfirst<Packet4f>(_mm_add_ss(tmp, _mm_shuffle_ps(tmp,tmp, 1))); } template<> EIGEN_STRONG_INLINE double predux<Packet2d>(const Packet2d& a) { - return pfirst(_mm_add_sd(a, _mm_unpackhi_pd(a,a))); + return pfirst<Packet2d>(_mm_add_sd(a, _mm_unpackhi_pd(a,a))); } template<> EIGEN_STRONG_INLINE Packet4f preduxp<Packet4f>(const Packet4f* vecs) @@ -581,7 +581,7 @@ template<> EIGEN_STRONG_INLINE Packet4i preduxp<Packet4i>(const Packet4i* vecs) template<> EIGEN_STRONG_INLINE int predux<Packet4i>(const Packet4i& a) { Packet4i tmp0 = _mm_hadd_epi32(a,a); - return pfirst(_mm_hadd_epi32(tmp0,tmp0)); + return pfirst<Packet4i>(_mm_hadd_epi32(tmp0,tmp0)); } #else template<> EIGEN_STRONG_INLINE int predux<Packet4i>(const Packet4i& a) |