@@ -0,0 +1,7 @@
+#include <math.h>
+
+long double sqrtl(long double x)
+{
+ __asm__ ("fsqrt" : "+t"(x));
+ return x;
+}
@@ -1,5 +0,0 @@
-.global sqrtl
-.type sqrtl,@function
-sqrtl: fldt 4(%esp)
- fsqrt
- ret
+double sqrt(double x)
+ __asm__ ("sqrtsd %1, %0" : "=x"(x) : "x"(x));
@@ -1,4 +0,0 @@
-.global sqrt
-.type sqrt,@function
-sqrt: sqrtsd %xmm0, %xmm0
+float sqrtf(float x)
+ __asm__ ("sqrtss %1, %0" : "=x"(x) : "x"(x));
-.global sqrtf
-.type sqrtf,@function
-sqrtf: sqrtss %xmm0, %xmm0
-sqrtl: fldt 8(%rsp)