Only vectorize atan<double> for Altivec if VSX is available.

This commit is contained in:
Rasmus Munk Larsen 2022-10-03 22:06:58 +00:00
parent c475228b28
commit 1414a76fa9

View File

@ -60,12 +60,6 @@ Packet4f patan<Packet4f>(const Packet4f& _x)
return patan_float(_x); return patan_float(_x);
} }
template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Packet2d patan<Packet2d>(const Packet2d& _x)
{
return patan_double(_x);
}
#ifdef __VSX__ #ifdef __VSX__
#ifndef EIGEN_COMP_CLANG #ifndef EIGEN_COMP_CLANG
template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
@ -79,6 +73,12 @@ Packet2d prsqrt<Packet2d>(const Packet2d& x)
{ {
return vec_rsqrt(x); return vec_rsqrt(x);
} }
template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Packet2d patan<Packet2d>(const Packet2d& _x)
{
return patan_double(_x);
}
#endif #endif
template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS