about summary refs log tree commit diff
path: root/sysdeps/ieee754/float128
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ieee754/float128')
-rw-r--r--sysdeps/ieee754/float128/float128_private.h5
-rw-r--r--sysdeps/ieee754/float128/s_f32sqrtf128.c6
-rw-r--r--sysdeps/ieee754/float128/s_f64sqrtf128.c10
-rw-r--r--sysdeps/ieee754/float128/s_f64xsqrtf128.c2
4 files changed, 23 insertions, 0 deletions
diff --git a/sysdeps/ieee754/float128/float128_private.h b/sysdeps/ieee754/float128/float128_private.h
index b6b6d3d5fd..13d1d63baf 100644
--- a/sysdeps/ieee754/float128/float128_private.h
+++ b/sysdeps/ieee754/float128/float128_private.h
@@ -138,6 +138,9 @@
 #define libm_alias_float_ldouble(func) libm_alias_float32_float128 (func)
 #undef libm_alias_double_ldouble
 #define libm_alias_double_ldouble(func) libm_alias_float64_float128 (func)
+#undef libm_alias_ldouble_narrow
+#define libm_alias_ldouble_narrow(from, to)	\
+  libm_alias_float128_narrow (from, to)
 
 #include <math-use-builtins.h>
 #undef USE_NEARBYINTL_BUILTIN
@@ -284,6 +287,8 @@
 #define __ddivl __f64divf128
 #define __fmull __f32mulf128
 #define __dmull __f64mulf128
+#define __fsqrtl __f32sqrtf128
+#define __dsqrtl __f64sqrtf128
 #define __fsubl __f32subf128
 #define __dsubl __f64subf128
 
diff --git a/sysdeps/ieee754/float128/s_f32sqrtf128.c b/sysdeps/ieee754/float128/s_f32sqrtf128.c
new file mode 100644
index 0000000000..74e91abd4d
--- /dev/null
+++ b/sysdeps/ieee754/float128/s_f32sqrtf128.c
@@ -0,0 +1,6 @@
+#define f32sqrtf64x __hide_f32sqrtf64x
+#define f32sqrtf128 __hide_f32sqrtf128
+#include <float128_private.h>
+#undef f32sqrtf64x
+#undef f32sqrtf128
+#include "../ldbl-128/s_fsqrtl.c"
diff --git a/sysdeps/ieee754/float128/s_f64sqrtf128.c b/sysdeps/ieee754/float128/s_f64sqrtf128.c
new file mode 100644
index 0000000000..8373879d42
--- /dev/null
+++ b/sysdeps/ieee754/float128/s_f64sqrtf128.c
@@ -0,0 +1,10 @@
+#define f32xsqrtf64x __hide_f32xsqrtf64x
+#define f32xsqrtf128 __hide_f32xsqrtf128
+#define f64sqrtf64x __hide_f64sqrtf64x
+#define f64sqrtf128 __hide_f64sqrtf128
+#include <float128_private.h>
+#undef f32xsqrtf64x
+#undef f32xsqrtf128
+#undef f64sqrtf64x
+#undef f64sqrtf128
+#include "../ldbl-128/s_dsqrtl.c"
diff --git a/sysdeps/ieee754/float128/s_f64xsqrtf128.c b/sysdeps/ieee754/float128/s_f64xsqrtf128.c
new file mode 100644
index 0000000000..383f92a94e
--- /dev/null
+++ b/sysdeps/ieee754/float128/s_f64xsqrtf128.c
@@ -0,0 +1,2 @@
+#include <float128_private.h>
+#include "../ldbl-128/s_f64xsqrtf128.c"