mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 13:00:06 +00:00
Use libm_alias_double for remaining powerpc functions.
Continuing the preparation for additional _FloatN / _FloatNx function aliases, this patch makes the remaining double powerpc functions use libm_alias_double to define function aliases (with consequent removal of the need for local compat symbol handling). Previous cleanups avoid this patch changing installed stripped shared libraries for any build-many-glibcs.py configuration (there are still some functions in this patch for which the order of double and float aliases changes within an individual source file, but in this case this doesn't result in changes to the final library). Tested with build-many-glibcs.py that installed stripped shared libraries are unchanged for all its hard-float powerpc configurations. * sysdeps/powerpc/power7/fpu/s_logb.c: Include <libm-alias-double.h>. (logb): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Include <libm-alias-double.h>. (copysign): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/fpu/s_llrint.c: Include <libm-alias-double.h>. (llrint): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/fpu/s_llround.c: Include <libm-alias-double.h>. (llround): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/fpu/s_lrint.S: Include <libm-alias-double.h>. (lrint): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/fpu/s_lround.S: Include <libm-alias-double.h>. (lround): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c: Include <libm-alias-double.h>. (copysign): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint.c: Include <libm-alias-double.h>. (llrint): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround.c: Include <libm-alias-double.h>. (llround): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c: Include <libm-alias-double.h>. (logb): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint.c: Include <libm-alias-double.h>. (lrint): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround.c: Include <libm-alias-double.h>. (lround): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S: Include <libm-alias-double.h>. (llrint): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S: Include <libm-alias-double.h>. (llround): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S: Include <libm-alias-double.h>. (llround): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S: Include <libm-alias-double.h>. (lround): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: Include <libm-alias-double.h>. (copysign): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S: Include <libm-alias-double.h>. (llrint): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S: Include <libm-alias-double.h>. (llround): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S: Include <libm-alias-double.h>. (lrint): Define using libm_alias_double. * sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S: Include <libm-alias-double.h>. (lround): Define using libm_alias_double. * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: Include <libm-alias-double.h>. (copysign): Define using libm_alias_double. * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c: Include <libm-alias-double.h>. (llrint): Define using libm_alias_double. (lrint): Likewise. * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c: Include <libm-alias-double.h>. (llround): Define using libm_alias_double. (lround): Likewise. * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c: Include <libm-alias-double.h>. (logb): Define using libm_alias_double. * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Include <libm-alias-double.h>. (copysign): Define using libm_alias_double. * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Include <libm-alias-double.h>. (llrint): Define using libm_alias_double. (lrint): Likewise. * sysdeps/powerpc/powerpc64/fpu/s_llround.S: Include <libm-alias-double.h>. (llround): Define using libm_alias_double. (lround): Likewise. * sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S: Include <libm-alias-double.h>. (llround): Define using libm_alias_double. (lround): Likewise. * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Include <libm-alias-double.h>. (copysign): Define using libm_alias_double. * sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S: Include <libm-alias-double.h>. (llrint): Define using libm_alias_double. (lrint): Likewise. * sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S: Include <libm-alias-double.h>. (llround): Define using libm_alias_double. (lround): Likewise. * sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S: Include <libm-alias-double.h>. (llrint): Define using libm_alias_double. (lrint): Likewise. * sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S: Include <libm-alias-double.h>. (llround): Define using libm_alias_double. (lround): Likewise.
This commit is contained in:
parent
0ddde474db
commit
d17542d235
114
ChangeLog
114
ChangeLog
@ -1,3 +1,117 @@
|
||||
2017-12-02 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* sysdeps/powerpc/power7/fpu/s_logb.c: Include
|
||||
<libm-alias-double.h>.
|
||||
(logb): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(copysign): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/fpu/s_llrint.c: Include
|
||||
<libm-alias-double.h>.
|
||||
(llrint): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/fpu/s_llround.c: Include
|
||||
<libm-alias-double.h>.
|
||||
(llround): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/fpu/s_lrint.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(lrint): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/fpu/s_lround.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(lround): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c:
|
||||
Include <libm-alias-double.h>.
|
||||
(copysign): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint.c:
|
||||
Include <libm-alias-double.h>.
|
||||
(llrint): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround.c:
|
||||
Include <libm-alias-double.h>.
|
||||
(llround): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c: Include
|
||||
<libm-alias-double.h>.
|
||||
(logb): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint.c:
|
||||
Include <libm-alias-double.h>.
|
||||
(lrint): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround.c:
|
||||
Include <libm-alias-double.h>.
|
||||
(lround): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(llrint): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(llround): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(llround): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(lround): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(copysign): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(llrint): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(llround): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(lrint): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(lround): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: Include
|
||||
<libm-alias-double.h>.
|
||||
(copysign): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c: Include
|
||||
<libm-alias-double.h>.
|
||||
(llrint): Define using libm_alias_double.
|
||||
(lrint): Likewise.
|
||||
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c: Include
|
||||
<libm-alias-double.h>.
|
||||
(llround): Define using libm_alias_double.
|
||||
(lround): Likewise.
|
||||
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c: Include
|
||||
<libm-alias-double.h>.
|
||||
(logb): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(copysign): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(llrint): Define using libm_alias_double.
|
||||
(lrint): Likewise.
|
||||
* sysdeps/powerpc/powerpc64/fpu/s_llround.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(llround): Define using libm_alias_double.
|
||||
(lround): Likewise.
|
||||
* sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(llround): Define using libm_alias_double.
|
||||
(lround): Likewise.
|
||||
* sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(copysign): Define using libm_alias_double.
|
||||
* sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(llrint): Define using libm_alias_double.
|
||||
(lrint): Likewise.
|
||||
* sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(llround): Define using libm_alias_double.
|
||||
(lround): Likewise.
|
||||
* sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(llrint): Define using libm_alias_double.
|
||||
(lrint): Likewise.
|
||||
* sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S: Include
|
||||
<libm-alias-double.h>.
|
||||
(llround): Define using libm_alias_double.
|
||||
(lround): Likewise.
|
||||
|
||||
2017-12-01 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c
|
||||
|
@ -17,6 +17,7 @@
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
/* This implementation avoids FP to INT conversions by using VSX
|
||||
bitwise instructions over FP values. */
|
||||
@ -68,12 +69,4 @@ __logb (double x)
|
||||
/* Test to avoid logb_downward (0.0) == -0.0. */
|
||||
return ret == -0.0 ? 0.0 : ret;
|
||||
}
|
||||
weak_alias (__logb, logb)
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__logb, __logbl)
|
||||
weak_alias (__logb, logbl)
|
||||
#endif
|
||||
|
||||
#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
|
||||
compat_symbol (libm, __logb, logbl, GLIBC_2_0);
|
||||
#endif
|
||||
libm_alias_double (__logb, logb)
|
||||
|
@ -21,6 +21,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
ENTRY(__copysign)
|
||||
/* double [f1] copysign (double [f1] x, double [f2] y);
|
||||
@ -40,20 +41,12 @@ L(0): fnabs fp1,fp1
|
||||
blr
|
||||
END (__copysign)
|
||||
|
||||
weak_alias (__copysign,copysign)
|
||||
libm_alias_double (__copysign, copysign)
|
||||
|
||||
/* It turns out that it's safe to use this code even for single-precision. */
|
||||
weak_alias (__copysign,copysignf)
|
||||
strong_alias(__copysign,__copysignf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
weak_alias (__copysign,copysignl)
|
||||
strong_alias(__copysign,__copysignl)
|
||||
#endif
|
||||
#if IS_IN (libm)
|
||||
# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
|
||||
compat_symbol (libm, __copysign, copysignl, GLIBC_2_0)
|
||||
# endif
|
||||
#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
|
||||
#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
|
||||
compat_symbol (libc, __copysign, copysignl, GLIBC_2_0)
|
||||
#endif
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <math_private.h>
|
||||
#include <stdint.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
long long int
|
||||
__llrint (double x)
|
||||
@ -53,11 +54,4 @@ __llrint (double x)
|
||||
return (long long int) (long int) rx << 32;
|
||||
}
|
||||
}
|
||||
weak_alias (__llrint, llrint)
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__llrint, __llrintl)
|
||||
weak_alias (__llrint, llrintl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llrint, llrintl, GLIBC_2_1);
|
||||
#endif
|
||||
libm_alias_double (__llrint, llrint)
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <math_private.h>
|
||||
#include <stdint.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
/* Round to the nearest integer, with values exactly on a 0.5 boundary
|
||||
rounded away from zero, regardless of the current rounding mode.
|
||||
@ -80,11 +81,4 @@ __llround (double x)
|
||||
}
|
||||
return xr;
|
||||
}
|
||||
weak_alias (__llround, llround)
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__llround, __llroundl)
|
||||
weak_alias (__llround, llroundl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llround, llroundl, GLIBC_2_1);
|
||||
#endif
|
||||
libm_alias_double (__llround, llround)
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
/* long int[r3] __lrint (double x[fp1]) */
|
||||
ENTRY (__lrint)
|
||||
@ -32,15 +33,7 @@ ENTRY (__lrint)
|
||||
blr
|
||||
END (__lrint)
|
||||
|
||||
weak_alias (__lrint, lrint)
|
||||
libm_alias_double (__lrint, lrint)
|
||||
|
||||
strong_alias (__lrint, __lrintf)
|
||||
weak_alias (__lrint, lrintf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__lrint, __lrintl)
|
||||
weak_alias (__lrint, lrintl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __lrint, lrintl, GLIBC_2_1)
|
||||
#endif
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
.section .rodata.cst4,"aM",@progbits,4
|
||||
.align 2
|
||||
@ -115,15 +116,7 @@ ENTRY (__lround)
|
||||
b .Lconvert
|
||||
END (__lround)
|
||||
|
||||
weak_alias (__lround, lround)
|
||||
libm_alias_double (__lround, lround)
|
||||
|
||||
strong_alias (__lround, __lroundf)
|
||||
weak_alias (__lround, lroundf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
weak_alias (__lround, lroundl)
|
||||
strong_alias (__lround, __lroundl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __lround, lroundl, GLIBC_2_1)
|
||||
#endif
|
||||
|
@ -25,6 +25,7 @@
|
||||
#undef __copysign
|
||||
#include <shlib-compat.h>
|
||||
#include "init-arch.h"
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
extern __typeof (__redirect_copysign) __copysign_ppc32 attribute_hidden;
|
||||
extern __typeof (__redirect_copysign) __copysign_power6 attribute_hidden;
|
||||
@ -36,16 +37,8 @@ libc_ifunc (__libm_copysign,
|
||||
: __copysign_ppc32);
|
||||
|
||||
strong_alias (__libm_copysign, __copysign)
|
||||
weak_alias (__copysign, copysign)
|
||||
libm_alias_double (__copysign, copysign)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
weak_alias (__copysign,copysignl)
|
||||
strong_alias(__copysign,__copysignl)
|
||||
#endif
|
||||
#if IS_IN (libm)
|
||||
# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
|
||||
compat_symbol (libm, __copysign, copysignl, GLIBC_2_0);
|
||||
# endif
|
||||
#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
|
||||
#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
|
||||
compat_symbol (libc, __copysign, copysignl, GLIBC_2_0);
|
||||
#endif
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <shlib-compat.h>
|
||||
#include "init-arch.h"
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
extern __typeof (__llrint) __llrint_ppc32 attribute_hidden;
|
||||
extern __typeof (__llrint) __llrint_power6 attribute_hidden;
|
||||
@ -29,12 +30,4 @@ libc_ifunc (__llrint,
|
||||
? __llrint_power6
|
||||
: __llrint_ppc32);
|
||||
|
||||
weak_alias (__llrint, llrint)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__llrint, __llrintl)
|
||||
weak_alias (__llrint, llrintl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llrint, llrintl, GLIBC_2_1);
|
||||
#endif
|
||||
libm_alias_double (__llrint, llrint)
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <shlib-compat.h>
|
||||
#include "init-arch.h"
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
extern __typeof (__llround) __llround_ppc32 attribute_hidden;
|
||||
extern __typeof (__llround) __llround_power5plus attribute_hidden;
|
||||
@ -32,12 +33,4 @@ libc_ifunc (__llround,
|
||||
? __llround_power5plus
|
||||
: __llround_ppc32);
|
||||
|
||||
weak_alias (__llround, llround)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__llround, __llroundl)
|
||||
weak_alias (__llround, llroundl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llround, llroundl, GLIBC_2_1);
|
||||
#endif
|
||||
libm_alias_double (__llround, llround)
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <shlib-compat.h>
|
||||
#include "init-arch.h"
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
extern __typeof (__logb) __logb_ppc32 attribute_hidden;
|
||||
extern __typeof (__logb) __logb_power7 attribute_hidden;
|
||||
@ -29,13 +30,4 @@ libc_ifunc (__logb,
|
||||
? __logb_power7
|
||||
: __logb_ppc32);
|
||||
|
||||
weak_alias (__logb, logb)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__logb, __logbl)
|
||||
weak_alias (__logb, logbl)
|
||||
#endif
|
||||
|
||||
#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
|
||||
compat_symbol (libm, __logb, logbl, GLIBC_2_0);
|
||||
#endif
|
||||
libm_alias_double (__logb, logb)
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <shlib-compat.h>
|
||||
#include "init-arch.h"
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
extern __typeof (__lrint) __lrint_ppc32 attribute_hidden;
|
||||
extern __typeof (__lrint) __lrint_power6x attribute_hidden;
|
||||
@ -29,12 +30,4 @@ libc_ifunc (__lrint,
|
||||
__lrint_power6x
|
||||
: __lrint_ppc32);
|
||||
|
||||
weak_alias (__lrint, lrint)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
weak_alias (__lrint, lrintl)
|
||||
strong_alias (__lrint, __lrintl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __lrint, lrintl, GLIBC_2_1);
|
||||
#endif
|
||||
libm_alias_double (__lrint, lrint)
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <shlib-compat.h>
|
||||
#include "init-arch.h"
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
extern __typeof (__lround) __lround_ppc32 attribute_hidden;
|
||||
extern __typeof (__lround) __lround_power5plus attribute_hidden;
|
||||
@ -32,12 +33,4 @@ libc_ifunc (__lround,
|
||||
__lround_power5plus
|
||||
: __lround_ppc32);
|
||||
|
||||
weak_alias (__lround, lround)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
weak_alias (__lround, lroundl)
|
||||
strong_alias (__lround, __lroundl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __lround, lroundl, GLIBC_2_1);
|
||||
#endif
|
||||
libm_alias_double (__lround, lround)
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
/* long long int[r3, r4] __llrint (double x[fp1]) */
|
||||
ENTRY (__llrint)
|
||||
@ -35,12 +36,4 @@ ENTRY (__llrint)
|
||||
blr
|
||||
END (__llrint)
|
||||
|
||||
weak_alias (__llrint, llrint)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__llrint, __llrintl)
|
||||
weak_alias (__llrint, llrintl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llrint, llrintl, GLIBC_2_1)
|
||||
#endif
|
||||
libm_alias_double (__llrint, llrint)
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
.section .rodata.cst8,"aM",@progbits,8
|
||||
.align 3
|
||||
@ -92,15 +93,7 @@ ENTRY (__llround)
|
||||
b .Lconvert
|
||||
END (__llround)
|
||||
|
||||
weak_alias (__llround, llround)
|
||||
libm_alias_double (__llround, llround)
|
||||
|
||||
strong_alias (__llround, __llroundf)
|
||||
weak_alias (__llround, llroundf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
weak_alias (__llround, llroundl)
|
||||
strong_alias (__llround, __llroundl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llround, llroundl, GLIBC_2_1)
|
||||
#endif
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
/* long [r3] llround (float x [fp1])
|
||||
IEEE 1003.1 lround function. IEEE specifies "round to the nearest
|
||||
@ -45,15 +46,7 @@ ENTRY (__llround)
|
||||
blr
|
||||
END (__llround)
|
||||
|
||||
weak_alias (__llround, llround)
|
||||
libm_alias_double (__llround, llround)
|
||||
|
||||
strong_alias (__llround, __llroundf)
|
||||
weak_alias (__llround, llroundf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
weak_alias (__llround, llroundl)
|
||||
strong_alias (__llround, __llroundl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llround, llroundl, GLIBC_2_1)
|
||||
#endif
|
||||
|
@ -17,6 +17,7 @@
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
/* long [r3] lround (float x [fp1])
|
||||
IEEE 1003.1 lround function. IEEE specifies "round to the nearest
|
||||
@ -43,15 +44,7 @@ ENTRY (__lround)
|
||||
blr
|
||||
END (__lround)
|
||||
|
||||
weak_alias (__lround, lround)
|
||||
libm_alias_double (__lround, lround)
|
||||
|
||||
strong_alias (__lround, __lroundf)
|
||||
weak_alias (__lround, lroundf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
weak_alias (__lround, lroundl)
|
||||
strong_alias (__lround, __lroundl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __lround, lroundl, GLIBC_2_1)
|
||||
#endif
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
/* double [f1] copysign (double [f1] x, double [f2] y);
|
||||
copysign(x,y) returns a value with the magnitude of x and
|
||||
@ -34,7 +35,7 @@ EALIGN (__copysign, 4, 0)
|
||||
END (__copysign)
|
||||
|
||||
hidden_def (__copysign)
|
||||
weak_alias (__copysign, copysign)
|
||||
libm_alias_double (__copysign, copysign)
|
||||
|
||||
/* It turns out that the 'double' version will also always work for
|
||||
single-precision. */
|
||||
@ -42,17 +43,6 @@ strong_alias (__copysign, __copysignf)
|
||||
hidden_def (__copysignf)
|
||||
weak_alias (__copysignf, copysignf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__copysign, __copysignl)
|
||||
weak_alias (__copysign, copysignl)
|
||||
#endif
|
||||
|
||||
#if IS_IN (libm)
|
||||
# if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
|
||||
compat_symbol (libm, copysign, copysignl, GLIBC_2_0)
|
||||
# endif
|
||||
#else
|
||||
# if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
|
||||
#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
|
||||
compat_symbol (libc, copysign, copysignl, GLIBC_2_0);
|
||||
# endif
|
||||
#endif
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
/* long long int[r3, r4] __llrint (double x[fp1]) */
|
||||
ENTRY (__llrint)
|
||||
@ -35,12 +36,4 @@ ENTRY (__llrint)
|
||||
blr
|
||||
END (__llrint)
|
||||
|
||||
weak_alias (__llrint, llrint)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__llrint, __llrintl)
|
||||
weak_alias (__llrint, llrintl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llrint, llrintl, GLIBC_2_1)
|
||||
#endif
|
||||
libm_alias_double (__llrint, llrint)
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
/* long [r3] llround (float x [fp1])
|
||||
IEEE 1003.1 lround function. IEEE specifies "round to the nearest
|
||||
@ -45,15 +46,7 @@ ENTRY (__llround)
|
||||
blr
|
||||
END (__llround)
|
||||
|
||||
weak_alias (__llround, llround)
|
||||
libm_alias_double (__llround, llround)
|
||||
|
||||
strong_alias (__llround, __llroundf)
|
||||
weak_alias (__llround, llroundf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
weak_alias (__llround, llroundl)
|
||||
strong_alias (__llround, __llroundl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llround, llroundl, GLIBC_2_1)
|
||||
#endif
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
.machine "power6"
|
||||
/* long int[r3] __lrint (double x[fp1]) */
|
||||
@ -27,15 +28,7 @@ ENTRY (__lrint)
|
||||
blr
|
||||
END (__lrint)
|
||||
|
||||
weak_alias (__lrint, lrint)
|
||||
libm_alias_double (__lrint, lrint)
|
||||
|
||||
strong_alias (__lrint, __lrintf)
|
||||
weak_alias (__lrint, lrintf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__lrint, __lrintl)
|
||||
weak_alias (__lrint, lrintl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __lrint, lrintl, GLIBC_2_1)
|
||||
#endif
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
/* long [r3] lround (float x [fp1])
|
||||
IEEE 1003.1 lround function. IEEE specifies "round to the nearest
|
||||
@ -37,15 +38,7 @@ ENTRY (__lround)
|
||||
blr
|
||||
END (__lround)
|
||||
|
||||
weak_alias (__lround, lround)
|
||||
libm_alias_double (__lround, lround)
|
||||
|
||||
strong_alias (__lround, __lroundf)
|
||||
weak_alias (__lround, lroundf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
weak_alias (__lround, lroundl)
|
||||
strong_alias (__lround, __lroundl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __lround, lroundl, GLIBC_2_1)
|
||||
#endif
|
||||
|
@ -25,6 +25,7 @@
|
||||
#undef __copysign
|
||||
#include <shlib-compat.h>
|
||||
#include "init-arch.h"
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
extern __typeof (__redirect_copysign) __copysign_ppc64 attribute_hidden;
|
||||
extern __typeof (__redirect_copysign) __copysign_power6 attribute_hidden;
|
||||
@ -36,16 +37,8 @@ libc_ifunc (__libm_copysign,
|
||||
: __copysign_ppc64);
|
||||
|
||||
strong_alias (__libm_copysign, __copysign)
|
||||
weak_alias (__copysign, copysign)
|
||||
libm_alias_double (__copysign, copysign)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
weak_alias (__copysign,copysignl)
|
||||
strong_alias(__copysign,__copysignl)
|
||||
#endif
|
||||
#if IS_IN (libm)
|
||||
# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
|
||||
compat_symbol (libm, __copysign, copysignl, GLIBC_2_0);
|
||||
# endif
|
||||
#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
|
||||
#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
|
||||
compat_symbol (libc, __copysign, copysignl, GLIBC_2_0);
|
||||
#endif
|
||||
|
@ -27,6 +27,7 @@
|
||||
#undef __lrint
|
||||
#include <shlib-compat.h>
|
||||
#include "init-arch.h"
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
extern __typeof (__llrint) __llrint_ppc64 attribute_hidden;
|
||||
extern __typeof (__llrint) __llrint_power6x attribute_hidden;
|
||||
@ -39,22 +40,8 @@ libc_ifunc (__llrint,
|
||||
? __llrint_power6x
|
||||
: __llrint_ppc64);
|
||||
|
||||
weak_alias (__llrint, llrint)
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__llrint, __llrintl)
|
||||
weak_alias (__llrint, llrintl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llrint, llrintl, GLIBC_2_1);
|
||||
#endif
|
||||
libm_alias_double (__llrint, llrint)
|
||||
|
||||
/* long has the same width as long long on PowerPC64. */
|
||||
strong_alias (__llrint, __lrint)
|
||||
weak_alias (__lrint, lrint)
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__lrint, __lrintl)
|
||||
weak_alias (__lrint, lrintl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __lrint, lrintl, GLIBC_2_1);
|
||||
#endif
|
||||
libm_alias_double (__lrint, lrint)
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <shlib-compat.h>
|
||||
#include "init-arch.h"
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
extern __typeof (__llround) __llround_ppc64 attribute_hidden;
|
||||
extern __typeof (__llround) __llround_power5plus attribute_hidden;
|
||||
@ -38,25 +39,10 @@ libc_ifunc (__llround,
|
||||
? __llround_power5plus
|
||||
: __llround_ppc64);
|
||||
|
||||
weak_alias (__llround, llround)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
weak_alias (__llround, llroundl)
|
||||
strong_alias (__llround, __llroundl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llround, llroundl, GLIBC_2_1);
|
||||
#endif
|
||||
libm_alias_double (__llround, llround)
|
||||
|
||||
/* long has the same width as long long on PPC64. */
|
||||
#undef lround
|
||||
#undef __lround
|
||||
strong_alias (__llround, __lround)
|
||||
weak_alias (__llround, lround)
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__llround, __llroundl)
|
||||
weak_alias (__llround, llroundl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __lround, lroundl, GLIBC_2_1);
|
||||
#endif
|
||||
libm_alias_double (__lround, lround)
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <shlib-compat.h>
|
||||
#include "init-arch.h"
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
extern __typeof (__logb) __logb_ppc64 attribute_hidden;
|
||||
extern __typeof (__logb) __logb_power7 attribute_hidden;
|
||||
@ -29,13 +30,4 @@ libc_ifunc (__logb,
|
||||
? __logb_power7
|
||||
: __logb_ppc64);
|
||||
|
||||
weak_alias (__logb, logb)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__logb, __logbl)
|
||||
weak_alias (__logb, logbl)
|
||||
#endif
|
||||
|
||||
#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
|
||||
compat_symbol (libm, __logb, logbl, GLIBC_2_0);
|
||||
#endif
|
||||
libm_alias_double (__logb, logb)
|
||||
|
@ -21,6 +21,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
ENTRY_TOCLESS (__copysign)
|
||||
CALL_MCOUNT 0
|
||||
@ -40,20 +41,12 @@ L(0): fnabs fp1,fp1
|
||||
blr
|
||||
END (__copysign)
|
||||
|
||||
weak_alias (__copysign,copysign)
|
||||
libm_alias_double (__copysign, copysign)
|
||||
|
||||
/* It turns out that it's safe to use this code even for single-precision. */
|
||||
weak_alias (__copysign,copysignf)
|
||||
strong_alias(__copysign,__copysignf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
weak_alias (__copysign,copysignl)
|
||||
strong_alias(__copysign,__copysignl)
|
||||
#endif
|
||||
#if IS_IN (libm)
|
||||
# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
|
||||
compat_symbol (libm, __copysign, copysignl, GLIBC_2_0)
|
||||
# endif
|
||||
#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
|
||||
#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
|
||||
compat_symbol (libc, __copysign, copysignl, GLIBC_2_0)
|
||||
#endif
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
/* long long int[r3] __llrint (double x[fp1]) */
|
||||
ENTRY_TOCLESS (__llrint)
|
||||
@ -32,8 +33,8 @@ ENTRY_TOCLESS (__llrint)
|
||||
END (__llrint)
|
||||
|
||||
strong_alias (__llrint, __lrint)
|
||||
weak_alias (__llrint, llrint)
|
||||
weak_alias (__lrint, lrint)
|
||||
libm_alias_double (__llrint, llrint)
|
||||
libm_alias_double (__lrint, lrint)
|
||||
/* The double version also works for single-precision as both float and
|
||||
double parameters are passed in 64bit FPRs and both versions are expected
|
||||
to return [long] long type. */
|
||||
@ -41,14 +42,3 @@ strong_alias (__llrint, __llrintf)
|
||||
weak_alias (__llrint, llrintf)
|
||||
strong_alias (__lrint, __lrintf)
|
||||
weak_alias (__lrint, lrintf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__llrint, __llrintl)
|
||||
weak_alias (__llrint, llrintl)
|
||||
strong_alias (__lrint, __lrintl)
|
||||
weak_alias (__lrint, lrintl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llrint, llrintl, GLIBC_2_1)
|
||||
compat_symbol (libm, __lrint, lrintl, GLIBC_2_1)
|
||||
#endif
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
.section ".toc","aw"
|
||||
.LC0: /* 2^52 */
|
||||
@ -81,16 +82,5 @@ ENTRY (__llround)
|
||||
END (__llround)
|
||||
|
||||
strong_alias (__llround, __lround)
|
||||
weak_alias (__llround, llround)
|
||||
weak_alias (__lround, lround)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
weak_alias (__llround, llroundl)
|
||||
strong_alias (__llround, __llroundl)
|
||||
weak_alias (__lround, lroundl)
|
||||
strong_alias (__lround, __lroundl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llround, llroundl, GLIBC_2_1)
|
||||
compat_symbol (libm, __lround, lroundl, GLIBC_2_1)
|
||||
#endif
|
||||
libm_alias_double (__llround, llround)
|
||||
libm_alias_double (__lround, lround)
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
/* long long [r3] llround (float x [fp1])
|
||||
IEEE 1003.1 llround function. IEEE specifies "round to the nearest
|
||||
@ -43,8 +44,8 @@ ENTRY_TOCLESS (__llround, 4)
|
||||
END (__llround)
|
||||
|
||||
strong_alias (__llround, __lround)
|
||||
weak_alias (__llround, llround)
|
||||
weak_alias (__lround, lround)
|
||||
libm_alias_double (__llround, llround)
|
||||
libm_alias_double (__lround, lround)
|
||||
/* The double version also works for single-precision as both float and
|
||||
double parameters are passed in 64bit FPRs and both versions are expected
|
||||
to return [long] long type. */
|
||||
@ -52,14 +53,3 @@ strong_alias (__llround, __llroundf)
|
||||
weak_alias (__llround, llroundf)
|
||||
strong_alias (__lround, __lroundf)
|
||||
weak_alias (__lround, lroundf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
weak_alias (__llround, llroundl)
|
||||
strong_alias (__llround, __llroundl)
|
||||
weak_alias (__lround, lroundl)
|
||||
strong_alias (__lround, __lroundl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llround, llroundl, GLIBC_2_1)
|
||||
compat_symbol (libm, __lround, lroundl, GLIBC_2_1)
|
||||
#endif
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
/* double [f1] copysign (double [f1] x, double [f2] y);
|
||||
copysign(x,y) returns a value with the magnitude of x and
|
||||
@ -34,7 +35,7 @@ ENTRY_TOCLESS (__copysign, 4)
|
||||
END (__copysign)
|
||||
|
||||
hidden_def (__copysign)
|
||||
weak_alias (__copysign, copysign)
|
||||
libm_alias_double (__copysign, copysign)
|
||||
|
||||
/* It turns out that the 'double' version will also always work for
|
||||
single-precision. */
|
||||
@ -42,17 +43,6 @@ strong_alias (__copysign, __copysignf)
|
||||
hidden_def (__copysignf)
|
||||
weak_alias (__copysignf, copysignf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__copysign, __copysignl)
|
||||
weak_alias (__copysign, copysignl)
|
||||
#endif
|
||||
|
||||
#if IS_IN (libm)
|
||||
# if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
|
||||
compat_symbol (libm, copysign, copysignl, GLIBC_2_0)
|
||||
# endif
|
||||
#else
|
||||
# if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
|
||||
#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
|
||||
compat_symbol (libc, copysign, copysignl, GLIBC_2_0);
|
||||
# endif
|
||||
#endif
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
.machine "power6"
|
||||
/* long long int[r3] __llrint (double x[fp1]) */
|
||||
@ -29,8 +30,8 @@ ENTRY_TOCLESS (__llrint)
|
||||
END (__llrint)
|
||||
|
||||
strong_alias (__llrint, __lrint)
|
||||
weak_alias (__llrint, llrint)
|
||||
weak_alias (__lrint, lrint)
|
||||
libm_alias_double (__llrint, llrint)
|
||||
libm_alias_double (__lrint, lrint)
|
||||
/* The double version also works for single-precision as both float and
|
||||
double parameters are passed in 64bit FPRs and both versions are expected
|
||||
to return [long] long type. */
|
||||
@ -38,14 +39,3 @@ strong_alias (__llrint, __llrintf)
|
||||
weak_alias (__llrint, llrintf)
|
||||
strong_alias (__lrint, __lrintf)
|
||||
weak_alias (__lrint, lrintf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__llrint, __llrintl)
|
||||
weak_alias (__llrint, llrintl)
|
||||
strong_alias (__lrint, __lrintl)
|
||||
weak_alias (__lrint, lrintl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llrint, llrintl, GLIBC_2_1)
|
||||
compat_symbol (libm, __lrint, lrintl, GLIBC_2_1)
|
||||
#endif
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
/* long long [r3] llround (float x [fp1])
|
||||
IEEE 1003.1 llround function. IEEE specifies "round to the nearest
|
||||
@ -39,8 +40,8 @@ ENTRY_TOCLESS (__llround)
|
||||
END (__llround)
|
||||
|
||||
strong_alias (__llround, __lround)
|
||||
weak_alias (__llround, llround)
|
||||
weak_alias (__lround, lround)
|
||||
libm_alias_double (__llround, llround)
|
||||
libm_alias_double (__lround, lround)
|
||||
/* The double version also works for single-precision as both float and
|
||||
double parameters are passed in 64bit FPRs and both versions are expected
|
||||
to return [long] long type. */
|
||||
@ -48,14 +49,3 @@ strong_alias (__llround, __llroundf)
|
||||
weak_alias (__llround, llroundf)
|
||||
strong_alias (__lround, __lroundf)
|
||||
weak_alias (__lround, lroundf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
weak_alias (__llround, llroundl)
|
||||
strong_alias (__llround, __llroundl)
|
||||
weak_alias (__lround, lroundl)
|
||||
strong_alias (__lround, __lroundl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llround, llroundl, GLIBC_2_1)
|
||||
compat_symbol (libm, __lround, lroundl, GLIBC_2_1)
|
||||
#endif
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
#define MFVSRD_R3_V1 .long 0x7c230066 /* mfvsrd r3,vs1 */
|
||||
|
||||
@ -30,8 +31,8 @@ ENTRY_TOCLESS (__llrint)
|
||||
END (__llrint)
|
||||
|
||||
strong_alias (__llrint, __lrint)
|
||||
weak_alias (__llrint, llrint)
|
||||
weak_alias (__lrint, lrint)
|
||||
libm_alias_double (__llrint, llrint)
|
||||
libm_alias_double (__lrint, lrint)
|
||||
/* The double version also works for single-precision as both float and
|
||||
double parameters are passed in 64bit FPRs and both versions are expected
|
||||
to return [long] long type. */
|
||||
@ -39,14 +40,3 @@ strong_alias (__llrint, __llrintf)
|
||||
weak_alias (__llrint, llrintf)
|
||||
strong_alias (__lrint, __lrintf)
|
||||
weak_alias (__lrint, lrintf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__llrint, __llrintl)
|
||||
weak_alias (__llrint, llrintl)
|
||||
strong_alias (__lrint, __lrintl)
|
||||
weak_alias (__lrint, lrintl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llrint, llrintl, GLIBC_2_1)
|
||||
compat_symbol (libm, __lrint, lrintl, GLIBC_2_1)
|
||||
#endif
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include <sysdep.h>
|
||||
#include <endian.h>
|
||||
#include <math_ldbl_opt.h>
|
||||
#include <libm-alias-double.h>
|
||||
|
||||
#define MFVSRD_R3_V1 .long 0x7c230066 /* mfvsrd r3,vs1 */
|
||||
|
||||
@ -33,8 +34,8 @@ ENTRY_TOCLESS (__llround)
|
||||
END (__llround)
|
||||
|
||||
strong_alias (__llround, __lround)
|
||||
weak_alias (__llround, llround)
|
||||
weak_alias (__lround, lround)
|
||||
libm_alias_double (__llround, llround)
|
||||
libm_alias_double (__lround, lround)
|
||||
/* The double version also works for single-precision as both float and
|
||||
double parameters are passed in 64bit FPRs and both versions are expected
|
||||
to return [long] long type. */
|
||||
@ -42,14 +43,3 @@ strong_alias (__llround, __llroundf)
|
||||
weak_alias (__llround, llroundf)
|
||||
strong_alias (__lround, __lroundf)
|
||||
weak_alias (__lround, lroundf)
|
||||
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
weak_alias (__llround, llroundl)
|
||||
strong_alias (__llround, __llroundl)
|
||||
weak_alias (__lround, lroundl)
|
||||
strong_alias (__lround, __lroundl)
|
||||
#endif
|
||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
||||
compat_symbol (libm, __llround, llroundl, GLIBC_2_1)
|
||||
compat_symbol (libm, __lround, lroundl, GLIBC_2_1)
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user