about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--sysdeps/ieee754/ldbl-96/s_copysignl.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/sysdeps/ieee754/ldbl-96/s_copysignl.c b/sysdeps/ieee754/ldbl-96/s_copysignl.c
index 5a30fcc6d0..ad7539113f 100644
--- a/sysdeps/ieee754/ldbl-96/s_copysignl.c
+++ b/sysdeps/ieee754/ldbl-96/s_copysignl.c
@@ -24,15 +24,11 @@ static char rcsid[] = "$NetBSD: $";
 
 #define NO_MATH_REDIRECT
 #include <math.h>
-#include <math_private.h>
 #include <libm-alias-ldouble.h>
 
-long double __copysignl(long double x, long double y)
+long double
+__copysignl (long double x, long double y)
 {
-	uint32_t es1,es2;
-	GET_LDOUBLE_EXP(es1,x);
-	GET_LDOUBLE_EXP(es2,y);
-	SET_LDOUBLE_EXP(x,(es1&0x7fff)|(es2&0x8000));
-        return x;
+  return __builtin_copysignl (x, y);
 }
 libm_alias_ldouble (__copysign, copysign)