AK: Add an SSE2 specific implementation of sqrt(double)

This commit is contained in:
Hendiadyoin1 2022-04-08 17:13:11 +02:00 committed by Linus Groh
parent 6c41267dcf
commit d4fe02152a
Notes: sideshowbarker 2024-07-17 11:11:37 +09:00

View file

@ -130,6 +130,21 @@ constexpr float sqrt(float x)
return res;
}
# ifdef __SSE2__
template<>
constexpr double sqrt(double x)
{
if (is_constant_evaluated())
return __builtin_sqrt(x);
double res;
asm("sqrtsd %1, %0"
: "=x"(res)
: "x"(x));
return res;
}
# endif
template<>
constexpr float rsqrt(float x)
{