From c2a224648919acb27bc208dcc24797345e3a1353 Mon Sep 17 00:00:00 2001 From: Konstantinos Margaritis Date: Tue, 10 Oct 2017 13:38:32 -0400 Subject: [PATCH] fix predux_mul for z14/float --- Eigen/src/Core/arch/ZVector/PacketMath.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Eigen/src/Core/arch/ZVector/PacketMath.h b/Eigen/src/Core/arch/ZVector/PacketMath.h index a3294d3180..21612ba914 100755 --- a/Eigen/src/Core/arch/ZVector/PacketMath.h +++ b/Eigen/src/Core/arch/ZVector/PacketMath.h @@ -1115,7 +1115,9 @@ template<> EIGEN_STRONG_INLINE Packet4f preduxp(const Packet4f* vecs) // mul template<> EIGEN_STRONG_INLINE float predux_mul(const Packet4f& a) { - return pfirst(pmul(a, reinterpret_cast(vec_sld(reinterpret_cast(a), reinterpret_cast(a), 8)))); + Packet4f prod; + prod = pmul(a, vec_sld(a, a, 8)); + return pfirst(pmul(prod, vec_sld(prod, prod, 4))); } // min