math: move x87-family rint functions to C with inline asm
[musl] / src / math / x86_64 / fabsf.c
1 #include <math.h>
2
3 float fabsf(float x)
4 {
5         float t;
6         __asm__ ("pcmpeqd %0, %0" : "=x"(t));          // t = ~0
7         __asm__ ("psrld   $1, %0" : "+x"(t));          // t >>= 1
8         __asm__ ("andps   %1, %0" : "+x"(x) : "x"(t)); // x &= t
9         return x;
10 }