summaryrefslogtreecommitdiff
path: root/src/math/i386
diff options
context:
space:
mode:
authorAlexander Monakov <amonakov@ispras.ru>2020-01-06 19:35:57 +0300
committerRich Felker <dalias@aerifal.cx>2020-03-24 16:27:38 -0400
commit41b290ba397067a09525b6ac89b4040728349046 (patch)
treef640cffb9884e28d0ff62fe27825f53eb32c459a /src/math/i386
parentc24a9923863fc29af4a5249727fe800224fc3c44 (diff)
downloadmusl-41b290ba397067a09525b6ac89b4040728349046.tar.gz
math: move trivial x86-family sqrt functions to C with inline asm
Diffstat (limited to 'src/math/i386')
-rw-r--r--src/math/i386/sqrtl.c7
-rw-r--r--src/math/i386/sqrtl.s5
2 files changed, 7 insertions, 5 deletions
diff --git a/src/math/i386/sqrtl.c b/src/math/i386/sqrtl.c
new file mode 100644
index 00000000..864cfcc4
--- /dev/null
+++ b/src/math/i386/sqrtl.c
@@ -0,0 +1,7 @@
+#include <math.h>
+
+long double sqrtl(long double x)
+{
+ __asm__ ("fsqrt" : "+t"(x));
+ return x;
+}
diff --git a/src/math/i386/sqrtl.s b/src/math/i386/sqrtl.s
deleted file mode 100644
index e0d42616..00000000
--- a/src/math/i386/sqrtl.s
+++ /dev/null
@@ -1,5 +0,0 @@
-.global sqrtl
-.type sqrtl,@function
-sqrtl: fldt 4(%esp)
- fsqrt
- ret