diff --git a/Eigen/src/Core/arch/SSE/Complex.h b/Eigen/src/Core/arch/SSE/Complex.h index 585630563..819d59364 100644 --- a/Eigen/src/Core/arch/SSE/Complex.h +++ b/Eigen/src/Core/arch/SSE/Complex.h @@ -308,7 +308,7 @@ template<> EIGEN_STRONG_INLINE std::complex ei_pfirst(const { EIGEN_ALIGN16 double res[2]; _mm_store_pd(res, a.v); - return *(std::complex*)res; + return std::complex(res[0],res[1]); } template<> EIGEN_STRONG_INLINE Packet1cd ei_preverse(const Packet1cd& a) { return a; }