From 82fe059f35faa6c562757c13db8f30b10b66f866 Mon Sep 17 00:00:00 2001 From: guoqiangqi <425418567@qq.com> Date: Wed, 4 Nov 2020 09:21:39 +0800 Subject: Fix issue2045 which get a error case _mm256_set_m128d op not supported by gcc 7.x --- Eigen/src/Core/arch/AVX/PacketMath.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Eigen/src/Core/arch/AVX') diff --git a/Eigen/src/Core/arch/AVX/PacketMath.h b/Eigen/src/Core/arch/AVX/PacketMath.h index ae4c4aaaa..ae111c671 100644 --- a/Eigen/src/Core/arch/AVX/PacketMath.h +++ b/Eigen/src/Core/arch/AVX/PacketMath.h @@ -707,7 +707,8 @@ template<> EIGEN_STRONG_INLINE Packet4d pfrexp(const Packet4d& a, Pack #endif Packet2d exponent_lo = _mm_cvtepi32_pd(vec4i_swizzle1(lo, 0, 2, 1, 3)); Packet2d exponent_hi = _mm_cvtepi32_pd(vec4i_swizzle1(hi, 0, 2, 1, 3)); - exponent = _mm256_set_m128d(exponent_hi, exponent_lo); + exponent = _mm256_insertf128_pd(exponent, exponent_lo, 0); + exponent = _mm256_insertf128_pd(exponent, exponent_hi, 1); #endif // EIGEN_VECTORIZE_AVX512DQ exponent = psub(exponent, cst_1022d); const Packet4d cst_mant_mask = pset1frombits(static_cast(~0x7ff0000000000000ull)); -- cgit v1.2.3