mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-10 05:03:06 +03:00
Use libm_alias_double for sparc.
Continuing the preparation for additional _FloatN / _FloatNx function aliases, this patch makes sparc libm function implementations use libm_alias_double to define function aliases (with consequent simplification where compat symbol handling is now done by those macros rather than locally in architecture-specific code). Tested with build-many-glibcs.py for all its sparc configurations that installed stripped shared libraries are unchanged by the patch. * sysdeps/sparc/sparc32/fpu/s_copysign.S: Include <libm-alias-double.h>. (copysign): Define using libm_alias_double. * sysdeps/sparc/sparc32/fpu/s_fabs.S: Include <libm-alias-double.h>. (fabs): Define using libm_alias_double. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S: Include <libm-alias-double.h>. (copysign): Define using libm_alias_double. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S: Include <libm-alias-double.h>. (fabs): Define using libm_alias_double. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c: Include <libm-alias-double.h>. (fdim): Define using libm_alias_double. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c: Include <libm-alias-double.h>. (fma): Define using libm_alias_double. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S: Include <libm-alias-double.h>. (llrint): Define using libm_alias_double. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint.S: Include <libm-alias-double.h>. (nearbyint): Define using libm_alias_double. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S: Include <libm-alias-double.h>. (rint): Define using libm_alias_double. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fabs.S: Include <libm-alias-double.h>. (fabs): Define using libm_alias_double. * sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S: Include <libm-alias-double.h>. (llrint): Define using libm_alias_double. * sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyint.S: Include <libm-alias-double.h>. (nearbyint): Define using libm_alias_double. * sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S: Include <libm-alias-double.h>. (rint): Define using libm_alias_double. * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.c: Include <libm-alias-double.h>. (ceil): Define using libm_alias_double. * sysdeps/sparc/sparc64/fpu/multiarch/s_floor.c: Include <libm-alias-double.h>. (floor): Define using libm_alias_double. * sysdeps/sparc/sparc64/fpu/multiarch/s_fma.c: Include <libm-alias-double.h>. (fma): Define using libm_alias_double. * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.c: Include <libm-alias-double.h>. (lrint): Define using libm_alias_double. (llrint): Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint.c: Include <libm-alias-double.h>. (nearbyint): Define using libm_alias_double. * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c: Include <libm-alias-double.h>. (rint): Define using libm_alias_double. * sysdeps/sparc/sparc64/fpu/multiarch/s_trunc.c: Include <libm-alias-double.h>. (trunc): Define using libm_alias_double. * sysdeps/sparc/sparc64/fpu/s_copysign.S: Include <libm-alias-double.h>. (copysign): Define using libm_alias_double. * sysdeps/sparc/sparc64/fpu/s_fabs.c: Include <libm-alias-double.h>. (fabs): Define using libm_alias_double. * sysdeps/sparc/sparc64/fpu/s_lrint.S: Include <libm-alias-double.h>. (lrint): Define using libm_alias_double. (llrint): Likewise. * sysdeps/sparc/sparc64/fpu/s_nearbyint.S: Include <libm-alias-double.h>. (nearbyint): Define using libm_alias_double. * sysdeps/sparc/sparc64/fpu/s_rint.S: Include <libm-alias-double.h>. (rint): Define using libm_alias_double.
This commit is contained in:
78
ChangeLog
78
ChangeLog
@@ -1,5 +1,83 @@
|
|||||||
2017-11-29 Joseph Myers <joseph@codesourcery.com>
|
2017-11-29 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* sysdeps/sparc/sparc32/fpu/s_copysign.S: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(copysign): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc32/fpu/s_fabs.S: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(fabs): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S:
|
||||||
|
Include <libm-alias-double.h>.
|
||||||
|
(copysign): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(fabs): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(fdim): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(fma): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(llrint): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint.S:
|
||||||
|
Include <libm-alias-double.h>.
|
||||||
|
(nearbyint): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(rint): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc32/sparcv9/fpu/s_fabs.S: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(fabs): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(llrint): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyint.S: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(nearbyint): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(rint): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.c: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(ceil): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc64/fpu/multiarch/s_floor.c: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(floor): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc64/fpu/multiarch/s_fma.c: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(fma): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.c: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(lrint): Define using libm_alias_double.
|
||||||
|
(llrint): Likewise.
|
||||||
|
* sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint.c: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(nearbyint): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(rint): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc64/fpu/multiarch/s_trunc.c: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(trunc): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc64/fpu/s_copysign.S: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(copysign): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc64/fpu/s_fabs.c: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(fabs): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc64/fpu/s_lrint.S: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(lrint): Define using libm_alias_double.
|
||||||
|
(llrint): Likewise.
|
||||||
|
* sysdeps/sparc/sparc64/fpu/s_nearbyint.S: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(nearbyint): Define using libm_alias_double.
|
||||||
|
* sysdeps/sparc/sparc64/fpu/s_rint.S: Include
|
||||||
|
<libm-alias-double.h>.
|
||||||
|
(rint): Define using libm_alias_double.
|
||||||
|
|
||||||
[BZ #22229]
|
[BZ #22229]
|
||||||
* sysdeps/sparc/sparc32/sparcv9/fpu/s_fabs.S: Include
|
* sysdeps/sparc/sparc32/sparcv9/fpu/s_fabs.S: Include
|
||||||
<math_ldbl_opt.h>.
|
<math_ldbl_opt.h>.
|
||||||
|
@@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <math_ldbl_opt.h>
|
#include <math_ldbl_opt.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
ENTRY (__copysign)
|
ENTRY (__copysign)
|
||||||
sethi %hi(0x80000000), %g1
|
sethi %hi(0x80000000), %g1
|
||||||
@@ -29,10 +30,7 @@ ENTRY (__copysign)
|
|||||||
retl
|
retl
|
||||||
ldd [%sp + 72], %f0
|
ldd [%sp + 72], %f0
|
||||||
END (__copysign)
|
END (__copysign)
|
||||||
weak_alias (__copysign, copysign)
|
libm_alias_double (__copysign, copysign)
|
||||||
#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
|
|
||||||
compat_symbol (libm, __copysign, copysignl, GLIBC_2_0);
|
|
||||||
#endif
|
|
||||||
#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
|
#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
|
||||||
compat_symbol (libc, __copysign, copysignl, GLIBC_2_0);
|
compat_symbol (libc, __copysign, copysignl, GLIBC_2_0);
|
||||||
#endif
|
#endif
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <math_ldbl_opt.h>
|
#include <math_ldbl_opt.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
ENTRY (__fabs)
|
ENTRY (__fabs)
|
||||||
st %o0, [%sp+72]
|
st %o0, [%sp+72]
|
||||||
@@ -26,7 +27,4 @@ ENTRY (__fabs)
|
|||||||
retl
|
retl
|
||||||
fabss %f0, %f0
|
fabss %f0, %f0
|
||||||
END (__fabs)
|
END (__fabs)
|
||||||
weak_alias (__fabs, fabs)
|
libm_alias_double (__fabs, fabs)
|
||||||
#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
|
|
||||||
compat_symbol (libm, __fabs, fabsl, GLIBC_2_0);
|
|
||||||
#endif
|
|
||||||
|
@@ -1,12 +1,10 @@
|
|||||||
#include <sparc-ifunc.h>
|
#include <sparc-ifunc.h>
|
||||||
#include <math_ldbl_opt.h>
|
#include <math_ldbl_opt.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
SPARC_ASM_VIS3_IFUNC(copysign)
|
SPARC_ASM_VIS3_IFUNC(copysign)
|
||||||
|
|
||||||
weak_alias (__copysign, copysign)
|
libm_alias_double (__copysign, copysign)
|
||||||
#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
|
|
||||||
compat_symbol (libm, __copysign, copysignl, GLIBC_2_0);
|
|
||||||
#endif
|
|
||||||
#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
|
#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
|
||||||
compat_symbol (libc, __copysign, copysignl, GLIBC_2_0);
|
compat_symbol (libc, __copysign, copysignl, GLIBC_2_0);
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,12 +1,10 @@
|
|||||||
#include <sparc-ifunc.h>
|
#include <sparc-ifunc.h>
|
||||||
#include <math_ldbl_opt.h>
|
#include <math_ldbl_opt.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
SPARC_ASM_VIS3_IFUNC(fabs)
|
SPARC_ASM_VIS3_IFUNC(fabs)
|
||||||
|
|
||||||
weak_alias (__fabs, fabs)
|
libm_alias_double (__fabs, fabs)
|
||||||
#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
|
|
||||||
compat_symbol (libm, __fabs, fabsl, GLIBC_2_0);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
# undef weak_alias
|
# undef weak_alias
|
||||||
# define weak_alias(a, b)
|
# define weak_alias(a, b)
|
||||||
|
@@ -20,12 +20,10 @@
|
|||||||
#include <first-versions.h>
|
#include <first-versions.h>
|
||||||
#include <sparc-ifunc.h>
|
#include <sparc-ifunc.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
extern double __fdim_vis3 (double, double);
|
extern double __fdim_vis3 (double, double);
|
||||||
extern double __fdim_generic (double, double);
|
extern double __fdim_generic (double, double);
|
||||||
|
|
||||||
sparc_libm_ifunc(__fdim, hwcap & HWCAP_SPARC_VIS3 ? __fdim_vis3 : __fdim_generic);
|
sparc_libm_ifunc(__fdim, hwcap & HWCAP_SPARC_VIS3 ? __fdim_vis3 : __fdim_generic);
|
||||||
weak_alias (__fdim, fdim)
|
libm_alias_double (__fdim, fdim)
|
||||||
#if LONG_DOUBLE_COMPAT (libm, FIRST_VERSION_libm_fdiml)
|
|
||||||
compat_symbol (libm, __fdim, fdiml, FIRST_VERSION_libm_fdiml);
|
|
||||||
#endif
|
|
||||||
|
@@ -1,12 +1,10 @@
|
|||||||
#include <sparc-ifunc.h>
|
#include <sparc-ifunc.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <math_ldbl_opt.h>
|
#include <math_ldbl_opt.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
extern double __fma_vis3 (double, double, double);
|
extern double __fma_vis3 (double, double, double);
|
||||||
extern double __fma_generic (double, double, double);
|
extern double __fma_generic (double, double, double);
|
||||||
|
|
||||||
sparc_libm_ifunc(__fma, hwcap & HWCAP_SPARC_FMAF ? __fma_vis3 : __fma_generic);
|
sparc_libm_ifunc(__fma, hwcap & HWCAP_SPARC_FMAF ? __fma_vis3 : __fma_generic);
|
||||||
weak_alias (__fma, fma)
|
libm_alias_double (__fma, fma)
|
||||||
#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)
|
|
||||||
compat_symbol (libm, __fma, fmal, GLIBC_2_1);
|
|
||||||
#endif
|
|
||||||
|
@@ -1,17 +1,14 @@
|
|||||||
#include <sparc-ifunc.h>
|
#include <sparc-ifunc.h>
|
||||||
#include <math_ldbl_opt.h>
|
#include <math_ldbl_opt.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
SPARC_ASM_VIS3_IFUNC(llrint)
|
SPARC_ASM_VIS3_IFUNC(llrint)
|
||||||
|
|
||||||
weak_alias (__llrint, llrint)
|
libm_alias_double (__llrint, llrint)
|
||||||
|
|
||||||
strong_alias (__llrint, __lllrint)
|
strong_alias (__llrint, __lllrint)
|
||||||
weak_alias (__lllrint, lllrint)
|
weak_alias (__lllrint, lllrint)
|
||||||
|
|
||||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
|
||||||
compat_symbol (libm, __llrint, llrintl, GLIBC_2_1)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
# undef weak_alias
|
# undef weak_alias
|
||||||
# define weak_alias(a, b)
|
# define weak_alias(a, b)
|
||||||
# undef strong_alias
|
# undef strong_alias
|
||||||
|
@@ -1,13 +1,10 @@
|
|||||||
#include <sparc-ifunc.h>
|
#include <sparc-ifunc.h>
|
||||||
#include <math_ldbl_opt.h>
|
#include <math_ldbl_opt.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
SPARC_ASM_VIS3_IFUNC(nearbyint)
|
SPARC_ASM_VIS3_IFUNC(nearbyint)
|
||||||
|
|
||||||
weak_alias (__nearbyint, nearbyint)
|
libm_alias_double (__nearbyint, nearbyint)
|
||||||
|
|
||||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
|
||||||
compat_symbol (libm, __nearbyint, nearbyintl, GLIBC_2_1)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
# undef weak_alias
|
# undef weak_alias
|
||||||
# define weak_alias(a, b)
|
# define weak_alias(a, b)
|
||||||
|
@@ -1,13 +1,10 @@
|
|||||||
#include <sparc-ifunc.h>
|
#include <sparc-ifunc.h>
|
||||||
#include <math_ldbl_opt.h>
|
#include <math_ldbl_opt.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
SPARC_ASM_VIS3_IFUNC(rint)
|
SPARC_ASM_VIS3_IFUNC(rint)
|
||||||
|
|
||||||
weak_alias (__rint, rint)
|
libm_alias_double (__rint, rint)
|
||||||
|
|
||||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
|
|
||||||
compat_symbol (libm, __rint, rintl, GLIBC_2_0)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
# undef weak_alias
|
# undef weak_alias
|
||||||
# define weak_alias(a, b)
|
# define weak_alias(a, b)
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <math_ldbl_opt.h>
|
#include <math_ldbl_opt.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
ENTRY (__fabs)
|
ENTRY (__fabs)
|
||||||
st %o0, [%sp+72]
|
st %o0, [%sp+72]
|
||||||
@@ -26,7 +27,4 @@ ENTRY (__fabs)
|
|||||||
retl
|
retl
|
||||||
fabsd %f0, %f0
|
fabsd %f0, %f0
|
||||||
END (__fabs)
|
END (__fabs)
|
||||||
weak_alias (__fabs, fabs)
|
libm_alias_double (__fabs, fabs)
|
||||||
#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
|
|
||||||
compat_symbol (libm, __fabs, fabsl, GLIBC_2_0);
|
|
||||||
#endif
|
|
||||||
|
@@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <math_ldbl_opt.h>
|
#include <math_ldbl_opt.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
/* We pop constants into the FPU registers using the incoming
|
/* We pop constants into the FPU registers using the incoming
|
||||||
argument stack slots, since this avoid having to use any PIC
|
argument stack slots, since this avoid having to use any PIC
|
||||||
@@ -65,8 +66,4 @@ ENTRY (__llrint)
|
|||||||
retl
|
retl
|
||||||
ldd [%sp + 72], %o0
|
ldd [%sp + 72], %o0
|
||||||
END (__llrint)
|
END (__llrint)
|
||||||
weak_alias (__llrint, llrint)
|
libm_alias_double (__llrint, llrint)
|
||||||
|
|
||||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
|
||||||
compat_symbol (libm, __llrint, llrintl, GLIBC_2_1)
|
|
||||||
#endif
|
|
||||||
|
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <math_ldbl_opt.h>
|
#include <math_ldbl_opt.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
/* We pop constants into the FPU registers using the incoming
|
/* We pop constants into the FPU registers using the incoming
|
||||||
argument stack slots, since this avoid having to use any PIC
|
argument stack slots, since this avoid having to use any PIC
|
||||||
@@ -66,8 +67,4 @@ ENTRY (__nearbyint)
|
|||||||
retl
|
retl
|
||||||
ld [%sp + 88], %fsr
|
ld [%sp + 88], %fsr
|
||||||
END (__nearbyint)
|
END (__nearbyint)
|
||||||
weak_alias (__nearbyint, nearbyint)
|
libm_alias_double (__nearbyint, nearbyint)
|
||||||
|
|
||||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
|
|
||||||
compat_symbol (libm, __nearbyint, nearbyintl, GLIBC_2_1)
|
|
||||||
#endif
|
|
||||||
|
@@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <math_ldbl_opt.h>
|
#include <math_ldbl_opt.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
/* We pop constants into the FPU registers using the incoming
|
/* We pop constants into the FPU registers using the incoming
|
||||||
argument stack slots, since this avoid having to use any PIC
|
argument stack slots, since this avoid having to use any PIC
|
||||||
@@ -62,8 +63,4 @@ ENTRY (__rint)
|
|||||||
retl
|
retl
|
||||||
for %f0, SIGN_BIT, %f0
|
for %f0, SIGN_BIT, %f0
|
||||||
END (__rint)
|
END (__rint)
|
||||||
weak_alias (__rint, rint)
|
libm_alias_double (__rint, rint)
|
||||||
|
|
||||||
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
|
|
||||||
compat_symbol (libm, __rint, rintl, GLIBC_2_0)
|
|
||||||
#endif
|
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include <sparc-ifunc.h>
|
#include <sparc-ifunc.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
extern __typeof (ceil) __ceil_vis3 attribute_hidden;
|
extern __typeof (ceil) __ceil_vis3 attribute_hidden;
|
||||||
extern __typeof (ceil) __ceil_generic attribute_hidden;
|
extern __typeof (ceil) __ceil_generic attribute_hidden;
|
||||||
@@ -26,4 +27,4 @@ sparc_libm_ifunc (__ceil,
|
|||||||
hwcap & HWCAP_SPARC_VIS3
|
hwcap & HWCAP_SPARC_VIS3
|
||||||
? __ceil_vis3
|
? __ceil_vis3
|
||||||
: __ceil_generic)
|
: __ceil_generic)
|
||||||
weak_alias (__ceil, ceil)
|
libm_alias_double (__ceil, ceil)
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include <sparc-ifunc.h>
|
#include <sparc-ifunc.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
extern __typeof (floor) __floor_vis3 attribute_hidden;
|
extern __typeof (floor) __floor_vis3 attribute_hidden;
|
||||||
extern __typeof (floor) __floor_generic attribute_hidden;
|
extern __typeof (floor) __floor_generic attribute_hidden;
|
||||||
@@ -26,4 +27,4 @@ sparc_libm_ifunc (__floor,
|
|||||||
hwcap & HWCAP_SPARC_VIS3
|
hwcap & HWCAP_SPARC_VIS3
|
||||||
? __floor_vis3
|
? __floor_vis3
|
||||||
: __floor_generic);
|
: __floor_generic);
|
||||||
weak_alias (__floor, floor)
|
libm_alias_double (__floor, floor)
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
#include <sparc-ifunc.h>
|
#include <sparc-ifunc.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
extern __typeof (fma) __fma_vis3 attribute_hidden;
|
extern __typeof (fma) __fma_vis3 attribute_hidden;
|
||||||
extern __typeof (fma) __fma_generic attribute_hidden;
|
extern __typeof (fma) __fma_generic attribute_hidden;
|
||||||
@@ -8,4 +9,4 @@ sparc_libm_ifunc (__fma,
|
|||||||
hwcap & HWCAP_SPARC_FMAF
|
hwcap & HWCAP_SPARC_FMAF
|
||||||
? __fma_vis3
|
? __fma_vis3
|
||||||
: __fma_generic);
|
: __fma_generic);
|
||||||
weak_alias (__fma, fma)
|
libm_alias_double (__fma, fma)
|
||||||
|
@@ -26,6 +26,7 @@
|
|||||||
#undef __lrint
|
#undef __lrint
|
||||||
#undef __llrint
|
#undef __llrint
|
||||||
#include <sparc-ifunc.h>
|
#include <sparc-ifunc.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
extern __typeof (__redirect_lrint) __lrint_vis3 attribute_hidden;
|
extern __typeof (__redirect_lrint) __lrint_vis3 attribute_hidden;
|
||||||
extern __typeof (__redirect_lrint) __lrint_generic attribute_hidden;
|
extern __typeof (__redirect_lrint) __lrint_generic attribute_hidden;
|
||||||
@@ -34,6 +35,6 @@ sparc_libm_ifunc_redirected (__redirect_lrint, __lrint,
|
|||||||
hwcap & HWCAP_SPARC_VIS3
|
hwcap & HWCAP_SPARC_VIS3
|
||||||
? __lrint_vis3
|
? __lrint_vis3
|
||||||
: __lrint_generic);
|
: __lrint_generic);
|
||||||
weak_alias (__lrint, lrint)
|
libm_alias_double (__lrint, lrint)
|
||||||
strong_alias (__lrint, __llrint)
|
strong_alias (__lrint, __llrint)
|
||||||
weak_alias (__llrint, llrint)
|
libm_alias_double (__llrint, llrint)
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <sparc-ifunc.h>
|
#include <sparc-ifunc.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
extern __typeof (nearbyint) __nearbyint_vis3 attribute_hidden;
|
extern __typeof (nearbyint) __nearbyint_vis3 attribute_hidden;
|
||||||
extern __typeof (nearbyint) __nearbyint_generic attribute_hidden;
|
extern __typeof (nearbyint) __nearbyint_generic attribute_hidden;
|
||||||
@@ -26,4 +27,4 @@ sparc_libm_ifunc (__nearbyint,
|
|||||||
hwcap & HWCAP_SPARC_VIS3
|
hwcap & HWCAP_SPARC_VIS3
|
||||||
? __nearbyint_vis3
|
? __nearbyint_vis3
|
||||||
: __nearbyint_generic);
|
: __nearbyint_generic);
|
||||||
weak_alias (__nearbyint, nearbyint)
|
libm_alias_double (__nearbyint, nearbyint)
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <sparc-ifunc.h>
|
#include <sparc-ifunc.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
extern __typeof (rint) __rint_vis3 attribute_hidden;
|
extern __typeof (rint) __rint_vis3 attribute_hidden;
|
||||||
extern __typeof (rint) __rint_generic attribute_hidden;
|
extern __typeof (rint) __rint_generic attribute_hidden;
|
||||||
@@ -26,4 +27,4 @@ sparc_libm_ifunc (__rint,
|
|||||||
hwcap & HWCAP_SPARC_VIS3
|
hwcap & HWCAP_SPARC_VIS3
|
||||||
? __rint_vis3
|
? __rint_vis3
|
||||||
: __rint_generic);
|
: __rint_generic);
|
||||||
weak_alias (__rint, rint)
|
libm_alias_double (__rint, rint)
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include <sparc-ifunc.h>
|
#include <sparc-ifunc.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
extern __typeof (trunc) __trunc_vis3 attribute_hidden;
|
extern __typeof (trunc) __trunc_vis3 attribute_hidden;
|
||||||
extern __typeof (trunc) __trunc_generic attribute_hidden;
|
extern __typeof (trunc) __trunc_generic attribute_hidden;
|
||||||
@@ -26,4 +27,4 @@ sparc_libm_ifunc (__trunc,
|
|||||||
hwcap & HWCAP_SPARC_VIS3
|
hwcap & HWCAP_SPARC_VIS3
|
||||||
? __trunc_vis3
|
? __trunc_vis3
|
||||||
: __trunc_generic);
|
: __trunc_generic);
|
||||||
weak_alias (__trunc, trunc)
|
libm_alias_double (__trunc, trunc)
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
<http://www.gnu.org/licenses/>. */
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
ENTRY (__copysign)
|
ENTRY (__copysign)
|
||||||
fzeros %f7
|
fzeros %f7
|
||||||
@@ -27,4 +28,4 @@ ENTRY (__copysign)
|
|||||||
retl
|
retl
|
||||||
fors %f0, %f9, %f0
|
fors %f0, %f9, %f0
|
||||||
END (__copysign)
|
END (__copysign)
|
||||||
weak_alias (__copysign, copysign)
|
libm_alias_double (__copysign, copysign)
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
double __fabs (double x)
|
double __fabs (double x)
|
||||||
{
|
{
|
||||||
return __builtin_fabs (x);
|
return __builtin_fabs (x);
|
||||||
}
|
}
|
||||||
weak_alias (__fabs, fabs)
|
libm_alias_double (__fabs, fabs)
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
<http://www.gnu.org/licenses/>. */
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
/* We pop constants into the FPU registers using the incoming
|
/* We pop constants into the FPU registers using the incoming
|
||||||
argument stack slots, since this avoid having to use any PIC
|
argument stack slots, since this avoid having to use any PIC
|
||||||
@@ -57,7 +58,7 @@ ENTRY (__lrint)
|
|||||||
retl
|
retl
|
||||||
ldx [%sp + STACK_BIAS + 128], %o0
|
ldx [%sp + STACK_BIAS + 128], %o0
|
||||||
END (__lrint)
|
END (__lrint)
|
||||||
weak_alias (__lrint, lrint)
|
libm_alias_double (__lrint, lrint)
|
||||||
|
|
||||||
strong_alias (__lrint, __llrint)
|
strong_alias (__lrint, __llrint)
|
||||||
weak_alias (__llrint, llrint)
|
libm_alias_double (__llrint, llrint)
|
||||||
|
@@ -20,6 +20,7 @@
|
|||||||
<http://www.gnu.org/licenses/>. */
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
/* We pop constants into the FPU registers using the incoming
|
/* We pop constants into the FPU registers using the incoming
|
||||||
argument stack slots, since this avoid having to use any PIC
|
argument stack slots, since this avoid having to use any PIC
|
||||||
@@ -61,4 +62,4 @@ ENTRY (__nearbyint)
|
|||||||
retl
|
retl
|
||||||
ldx [%sp + STACK_BIAS + 144], %fsr
|
ldx [%sp + STACK_BIAS + 144], %fsr
|
||||||
END (__nearbyint)
|
END (__nearbyint)
|
||||||
weak_alias (__nearbyint, nearbyint)
|
libm_alias_double (__nearbyint, nearbyint)
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
<http://www.gnu.org/licenses/>. */
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
|
#include <libm-alias-double.h>
|
||||||
|
|
||||||
/* We pop constants into the FPU registers using the incoming
|
/* We pop constants into the FPU registers using the incoming
|
||||||
argument stack slots, since this avoid having to use any PIC
|
argument stack slots, since this avoid having to use any PIC
|
||||||
@@ -54,4 +55,4 @@ ENTRY (__rint)
|
|||||||
retl
|
retl
|
||||||
for %f0, SIGN_BIT, %f0
|
for %f0, SIGN_BIT, %f0
|
||||||
END (__rint)
|
END (__rint)
|
||||||
weak_alias (__rint, rint)
|
libm_alias_double (__rint, rint)
|
||||||
|
Reference in New Issue
Block a user