1*3e49d379Sriastradh /* $NetBSD: fabs.c,v 1.3 2018/11/08 16:31:46 riastradh Exp $ */ 2d48f1466Sross 3d48f1466Sross #include <math.h> 4d48f1466Sross __strong_alias(fabsl,fabs)5*3e49d379Sriastradh__strong_alias(fabsl, fabs) 6*3e49d379Sriastradh 7d48f1466Sross double 8d48f1466Sross fabs(double x) 9d48f1466Sross { 10d48f1466Sross #ifdef _SOFT_FLOAT 11d48f1466Sross if (x < 0) 12d48f1466Sross x = -x; 13d48f1466Sross #else 14d48f1466Sross __asm volatile("fabs %0,%1" : "=f"(x) : "f"(x)); 15d48f1466Sross #endif 16d48f1466Sross return (x); 17d48f1466Sross } 18