Optimize predux<Packet8f> (AVX)

(grafted from 74637fa4e39afc0c6784588e9545b454bb5ea407
)
This commit is contained in:
Gael Guennebaud 2016-11-22 21:57:52 +01:00
parent 0eff51e2ed
commit d6b9bc1ccd

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)
{