aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/arch/AVX
diff options
context:
space:
mode:
authorGravatar guoqiangqi <425418567@qq.com>2020-11-04 09:21:39 +0800
committerGravatar guoqiangqi <425418567@qq.com>2020-11-04 09:21:39 +0800
commit82fe059f35faa6c562757c13db8f30b10b66f866 (patch)
tree3b0d65bf9e9e3fca53b817691cca4d2afded796d /Eigen/src/Core/arch/AVX
parent9d11e2c03e50c59e880db96f0f871c49fe3aef3e (diff)
Fix issue2045 which get a error case _mm256_set_m128d op not supported by gcc 7.x
Diffstat (limited to 'Eigen/src/Core/arch/AVX')
-rw-r--r--Eigen/src/Core/arch/AVX/PacketMath.h3
1 files changed, 2 insertions, 1 deletions
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<Packet4d>(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<Packet4d>(static_cast<uint64_t>(~0x7ff0000000000000ull));