fabsf.c raw

   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  }
  11