Optimize predux<Packet8f> (AVX)

This commit is contained in:
Gael Guennebaud 2016-11-22 21:57:52 +01:00
parent 178c084856
commit 74637fa4e3

View File

@ -395,9 +395,7 @@ template<> EIGEN_STRONG_INLINE Packet4d preduxp<Packet4d>(const Packet4d* vecs)
template<> EIGEN_STRONG_INLINE float predux<Packet8f>(const Packet8f& a)
{
Packet8f tmp0 = _mm256_hadd_ps(a,_mm256_permute2f128_ps(a,a,1));
tmp0 = _mm256_hadd_ps(tmp0,tmp0);
return pfirst(_mm256_hadd_ps(tmp0, tmp0));
return predux(_mm_add_ps(_mm256_castps256_ps128(a),_mm256_extractf128_ps(a,1)));
}
template<> EIGEN_STRONG_INLINE double predux<Packet4d>(const Packet4d& a)
{