about summary refs log tree commit diff
path: root/src/math/powerpc/fabs.c
diff options
context:
space:
mode:
authorSzabolcs Nagy <nsz@port70.net>2018-09-20 23:14:11 +0000
committerRich Felker <dalias@aerifal.cx>2018-10-15 14:41:59 -0400
commit7c5f3bb955123ba65bbdedee0e4499ef78a5747c (patch)
treecb05a4518e85d56141d0e2e0ebb03ba312dfe470 /src/math/powerpc/fabs.c
parent1da534ada8a66424e0d23e94ab6750b689be6d64 (diff)
downloadmusl-7c5f3bb955123ba65bbdedee0e4499ef78a5747c.tar.gz
musl-7c5f3bb955123ba65bbdedee0e4499ef78a5747c.tar.xz
musl-7c5f3bb955123ba65bbdedee0e4499ef78a5747c.zip
powerpc: add single instruction fabs, fabsf, fma, fmaf, sqrt, sqrtf
These are only available on hard float target and sqrt is not available
in the base ISA, so further check is used.
Diffstat (limited to 'src/math/powerpc/fabs.c')
-rw-r--r--src/math/powerpc/fabs.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/math/powerpc/fabs.c b/src/math/powerpc/fabs.c
new file mode 100644
index 00000000..f6ec4433
--- /dev/null
+++ b/src/math/powerpc/fabs.c
@@ -0,0 +1,15 @@
+#include <math.h>
+
+#ifdef _SOFT_FLOAT
+
+#include "../fabs.c"
+
+#else
+
+double fabs(double x)
+{
+	__asm__ ("fabs %0, %1" : "=d"(x) : "d"(x));
+	return x;
+}
+
+#endif