xref: /aosp_15_r20/external/musl/src/math/x86_64/fabs.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1 #include <math.h>
2 
fabs(double x)3 double fabs(double x)
4 {
5 	double t;
6 	__asm__ ("pcmpeqd %0, %0" : "=x"(t));          // t = ~0
7 	__asm__ ("psrlq   $1, %0" : "+x"(t));          // t >>= 1
8 	__asm__ ("andps   %1, %0" : "+x"(x) : "x"(t)); // x &= t
9 	return x;
10 }
11