mirror of git://sourceware.org/git/glibc.git
Use libm_alias_float for i386.
Continuing the preparation for additional _FloatN / _FloatNx function aliases, this patch makes i386 libm function implementations use libm_alias_float (or libm_alias_float_other in cases where the main symbol name is defined with versioned_symbol) to define function aliases. Tested with build-many-glibcs.py for all its i386 configurations that installed stripped shared libraries are unchanged by the patch, as well as running the full glibc testsuite for i686. * sysdeps/i386/fpu/s_asinhf.S: Include <libm-alias-float.h>. (asinhf): Define using libm_alias_float. * sysdeps/i386/fpu/s_atanf.S: Include <libm-alias-float.h>. (atanf): Define using libm_alias_float. * sysdeps/i386/fpu/s_cbrtf.S: Include <libm-alias-float.h>. (cbrtf): Define using libm_alias_float. * sysdeps/i386/fpu/s_ceilf.S: Include <libm-alias-float.h>. (ceilf): Define using libm_alias_float. * sysdeps/i386/fpu/s_copysignf.S: Include <libm-alias-float.h>. (copysignf): Define using libm_alias_float. * sysdeps/i386/fpu/s_expm1f.S: Include <libm-alias-float.h>. (expm1f): Define using libm_alias_float. * sysdeps/i386/fpu/s_fabsf.S: Include <libm-alias-float.h>. (fabsf): Define using libm_alias_float. * sysdeps/i386/fpu/s_floorf.S: Include <libm-alias-float.h>. (floorf): Define using libm_alias_float. * sysdeps/i386/fpu/s_fmaxf.S: Include <libm-alias-float.h>. (fmaxf): Define using libm_alias_float. * sysdeps/i386/fpu/s_fminf.S: Include <libm-alias-float.h>. (fminf): Define using libm_alias_float. * sysdeps/i386/fpu/s_frexpf.S: Include <libm-alias-float.h>. (frexpf): Define using libm_alias_float. * sysdeps/i386/fpu/s_llrintf.S: Include <libm-alias-float.h>. (llrintf): Define using libm_alias_float. * sysdeps/i386/fpu/s_logbf.S: Include <libm-alias-float.h>. (logbf): Define using libm_alias_float. * sysdeps/i386/fpu/s_lrintf.S: Include <libm-alias-float.h>. (lrintf): Define using libm_alias_float. * sysdeps/i386/fpu/s_nearbyintf.S: Include <libm-alias-float.h>. (nearbyintf): Define using libm_alias_float. * sysdeps/i386/fpu/s_remquof.S: Include <libm-alias-float.h>. (remquof): Define using libm_alias_float. * sysdeps/i386/fpu/s_rintf.S: Include <libm-alias-float.h>. (rintf): Define using libm_alias_float. * sysdeps/i386/fpu/s_truncf.S: Include <libm-alias-float.h>. (truncf): Define using libm_alias_float. * sysdeps/i386/i686/fpu/multiarch/e_exp2f.c: Include <libm-alias-float.h>. (exp2f): Define using libm_alias_float, or libm_alias_float_other if [SHARED]. * sysdeps/i386/i686/fpu/multiarch/e_expf.c: Include <libm-alias-float.h>. (expf): Define using libm_alias_float, or libm_alias_float_other if [SHARED]. * sysdeps/i386/i686/fpu/multiarch/e_log2f.c: Include <libm-alias-float.h>. (log2f): Define using libm_alias_float, or libm_alias_float_other if [SHARED]. * sysdeps/i386/i686/fpu/multiarch/e_logf.c: Include <libm-alias-float.h>. (logf): Define using libm_alias_float, or libm_alias_float_other if [SHARED]. * sysdeps/i386/i686/fpu/multiarch/e_powf.c: Include <libm-alias-float.h>. (powf): Define using libm_alias_float, or libm_alias_float_other if [SHARED]. * sysdeps/i386/i686/fpu/multiarch/s_cosf.c: Include <libm-alias-float.h>. (cosf): Define using libm_alias_float. * sysdeps/i386/i686/fpu/multiarch/s_sincosf.c: Include <libm-alias-float.h>. (sincosf): Define using libm_alias_float. * sysdeps/i386/i686/fpu/multiarch/s_sinf.c: Include <libm-alias-float.h>. (sinf): Define using libm_alias_float. * sysdeps/i386/i686/fpu/s_fmaxf.S: Include <libm-alias-float.h>. (fmaxf): Define using libm_alias_float. * sysdeps/i386/i686/fpu/s_fminf.S: Include <libm-alias-float.h>. (fminf): Define using libm_alias_float. * sysdeps/i386/i686/multiarch/s_fmaf.c: Include <libm-alias-float.h>. (fmaf): Define using libm_alias_float.
This commit is contained in:
parent
bc4e8f9b49
commit
e4602cba2f
73
ChangeLog
73
ChangeLog
|
@ -1,5 +1,78 @@
|
|||
2017-11-28 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* sysdeps/i386/fpu/s_asinhf.S: Include <libm-alias-float.h>.
|
||||
(asinhf): Define using libm_alias_float.
|
||||
* sysdeps/i386/fpu/s_atanf.S: Include <libm-alias-float.h>.
|
||||
(atanf): Define using libm_alias_float.
|
||||
* sysdeps/i386/fpu/s_cbrtf.S: Include <libm-alias-float.h>.
|
||||
(cbrtf): Define using libm_alias_float.
|
||||
* sysdeps/i386/fpu/s_ceilf.S: Include <libm-alias-float.h>.
|
||||
(ceilf): Define using libm_alias_float.
|
||||
* sysdeps/i386/fpu/s_copysignf.S: Include <libm-alias-float.h>.
|
||||
(copysignf): Define using libm_alias_float.
|
||||
* sysdeps/i386/fpu/s_expm1f.S: Include <libm-alias-float.h>.
|
||||
(expm1f): Define using libm_alias_float.
|
||||
* sysdeps/i386/fpu/s_fabsf.S: Include <libm-alias-float.h>.
|
||||
(fabsf): Define using libm_alias_float.
|
||||
* sysdeps/i386/fpu/s_floorf.S: Include <libm-alias-float.h>.
|
||||
(floorf): Define using libm_alias_float.
|
||||
* sysdeps/i386/fpu/s_fmaxf.S: Include <libm-alias-float.h>.
|
||||
(fmaxf): Define using libm_alias_float.
|
||||
* sysdeps/i386/fpu/s_fminf.S: Include <libm-alias-float.h>.
|
||||
(fminf): Define using libm_alias_float.
|
||||
* sysdeps/i386/fpu/s_frexpf.S: Include <libm-alias-float.h>.
|
||||
(frexpf): Define using libm_alias_float.
|
||||
* sysdeps/i386/fpu/s_llrintf.S: Include <libm-alias-float.h>.
|
||||
(llrintf): Define using libm_alias_float.
|
||||
* sysdeps/i386/fpu/s_logbf.S: Include <libm-alias-float.h>.
|
||||
(logbf): Define using libm_alias_float.
|
||||
* sysdeps/i386/fpu/s_lrintf.S: Include <libm-alias-float.h>.
|
||||
(lrintf): Define using libm_alias_float.
|
||||
* sysdeps/i386/fpu/s_nearbyintf.S: Include <libm-alias-float.h>.
|
||||
(nearbyintf): Define using libm_alias_float.
|
||||
* sysdeps/i386/fpu/s_remquof.S: Include <libm-alias-float.h>.
|
||||
(remquof): Define using libm_alias_float.
|
||||
* sysdeps/i386/fpu/s_rintf.S: Include <libm-alias-float.h>.
|
||||
(rintf): Define using libm_alias_float.
|
||||
* sysdeps/i386/fpu/s_truncf.S: Include <libm-alias-float.h>.
|
||||
(truncf): Define using libm_alias_float.
|
||||
* sysdeps/i386/i686/fpu/multiarch/e_exp2f.c: Include
|
||||
<libm-alias-float.h>.
|
||||
(exp2f): Define using libm_alias_float, or libm_alias_float_other
|
||||
if [SHARED].
|
||||
* sysdeps/i386/i686/fpu/multiarch/e_expf.c: Include
|
||||
<libm-alias-float.h>.
|
||||
(expf): Define using libm_alias_float, or libm_alias_float_other
|
||||
if [SHARED].
|
||||
* sysdeps/i386/i686/fpu/multiarch/e_log2f.c: Include
|
||||
<libm-alias-float.h>.
|
||||
(log2f): Define using libm_alias_float, or libm_alias_float_other
|
||||
if [SHARED].
|
||||
* sysdeps/i386/i686/fpu/multiarch/e_logf.c: Include
|
||||
<libm-alias-float.h>.
|
||||
(logf): Define using libm_alias_float, or libm_alias_float_other
|
||||
if [SHARED].
|
||||
* sysdeps/i386/i686/fpu/multiarch/e_powf.c: Include
|
||||
<libm-alias-float.h>.
|
||||
(powf): Define using libm_alias_float, or libm_alias_float_other
|
||||
if [SHARED].
|
||||
* sysdeps/i386/i686/fpu/multiarch/s_cosf.c: Include
|
||||
<libm-alias-float.h>.
|
||||
(cosf): Define using libm_alias_float.
|
||||
* sysdeps/i386/i686/fpu/multiarch/s_sincosf.c: Include
|
||||
<libm-alias-float.h>.
|
||||
(sincosf): Define using libm_alias_float.
|
||||
* sysdeps/i386/i686/fpu/multiarch/s_sinf.c: Include
|
||||
<libm-alias-float.h>.
|
||||
(sinf): Define using libm_alias_float.
|
||||
* sysdeps/i386/i686/fpu/s_fmaxf.S: Include <libm-alias-float.h>.
|
||||
(fmaxf): Define using libm_alias_float.
|
||||
* sysdeps/i386/i686/fpu/s_fminf.S: Include <libm-alias-float.h>.
|
||||
(fminf): Define using libm_alias_float.
|
||||
* sysdeps/i386/i686/multiarch/s_fmaf.c: Include
|
||||
<libm-alias-float.h>.
|
||||
(fmaf): Define using libm_alias_float.
|
||||
|
||||
* sysdeps/i386/fpu/s_asinh.S: Include <libm-alias-double.h>.
|
||||
(asinh): Define using libm_alias_double.
|
||||
* sysdeps/i386/fpu/s_atan.S: Include <libm-alias-double.h>.
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <machine/asm.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
.section .rodata
|
||||
|
||||
|
@ -136,4 +137,4 @@ ENTRY(__asinhf)
|
|||
fchs
|
||||
4: ret
|
||||
END(__asinhf)
|
||||
weak_alias (__asinhf, asinhf)
|
||||
libm_alias_float (__asinh, asinh)
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
#include <machine/asm.h>
|
||||
#include <i386-math-asm.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
RCSID("$NetBSD: s_atanf.S,v 1.3 1995/05/08 23:51:33 jtc Exp $")
|
||||
|
||||
|
@ -27,4 +28,4 @@ ENTRY(__atanf)
|
|||
FLT_CHECK_FORCE_UFLOW
|
||||
ret
|
||||
END (__atanf)
|
||||
weak_alias (__atanf, atanf)
|
||||
libm_alias_float (__atan, atan)
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <machine/asm.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
.section .rodata
|
||||
|
||||
|
@ -174,4 +175,4 @@ ENTRY(__cbrtf)
|
|||
1: flds 4(%esp)
|
||||
ret
|
||||
END(__cbrtf)
|
||||
weak_alias (__cbrtf, cbrtf)
|
||||
libm_alias_float (__cbrt, cbrt)
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
RCSID("$NetBSD: s_ceilf.S,v 1.3 1995/05/08 23:52:44 jtc Exp $")
|
||||
|
||||
|
@ -31,4 +32,4 @@ ENTRY(__ceilf)
|
|||
cfi_adjust_cfa_offset (-32)
|
||||
ret
|
||||
END (__ceilf)
|
||||
weak_alias (__ceilf, ceilf)
|
||||
libm_alias_float (__ceil, ceil)
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
RCSID("$NetBSD: s_copysignf.S,v 1.3 1995/05/08 23:53:25 jtc Exp $")
|
||||
|
||||
|
@ -17,4 +18,4 @@ ENTRY(__copysignf)
|
|||
flds 4(%esp)
|
||||
ret
|
||||
END (__copysignf)
|
||||
weak_alias (__copysignf, copysignf)
|
||||
libm_alias_float (__copysign, copysign)
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include <sysdep.h>
|
||||
#include <machine/asm.h>
|
||||
#include <i386-math-asm.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
.section .rodata
|
||||
|
||||
|
@ -110,4 +111,4 @@ ENTRY(__expm1f)
|
|||
fldl MO(minus1) // Set result to -1.0.
|
||||
3: ret
|
||||
END(__expm1f)
|
||||
weak_alias (__expm1f, expm1f)
|
||||
libm_alias_float (__expm1, expm1)
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include <sysdep.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
.text
|
||||
ENTRY(__fabsf)
|
||||
|
@ -6,4 +7,4 @@ ENTRY(__fabsf)
|
|||
fabs
|
||||
ret
|
||||
END(__fabsf)
|
||||
weak_alias (__fabsf, fabsf)
|
||||
libm_alias_float (__fabs, fabs)
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
RCSID("$NetBSD: s_floorf.S,v 1.3 1995/05/09 00:04:32 jtc Exp $")
|
||||
|
||||
|
@ -31,4 +32,4 @@ ENTRY(__floorf)
|
|||
cfi_adjust_cfa_offset (-32)
|
||||
ret
|
||||
END (__floorf)
|
||||
weak_alias (__floorf, floorf)
|
||||
libm_alias_float (__floor, floor)
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
.text
|
||||
ENTRY(__fmaxf)
|
||||
|
@ -40,4 +41,4 @@ ENTRY(__fmaxf)
|
|||
|
||||
ret
|
||||
END(__fmaxf)
|
||||
weak_alias (__fmaxf, fmaxf)
|
||||
libm_alias_float (__fmax, fmax)
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
.text
|
||||
ENTRY(__fminf)
|
||||
|
@ -40,4 +41,4 @@ ENTRY(__fminf)
|
|||
|
||||
ret
|
||||
END(__fminf)
|
||||
weak_alias (__fminf, fminf)
|
||||
libm_alias_float (__fmin, fmin)
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <machine/asm.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
.section .rodata
|
||||
|
||||
|
@ -77,4 +78,4 @@ ENTRY (__frexpf)
|
|||
|
||||
ret
|
||||
END (__frexpf)
|
||||
weak_alias (__frexpf, frexpf)
|
||||
libm_alias_float (__frexp, frexp)
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
.text
|
||||
ENTRY(__llrintf)
|
||||
|
@ -33,4 +34,4 @@ ENTRY(__llrintf)
|
|||
cfi_adjust_cfa_offset (-4)
|
||||
ret
|
||||
END(__llrintf)
|
||||
weak_alias (__llrintf, llrintf)
|
||||
libm_alias_float (__llrint, llrint)
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
RCSID("$NetBSD: s_logbf.S,v 1.3 1995/05/09 00:15:12 jtc Exp $")
|
||||
|
||||
|
@ -13,4 +14,4 @@ ENTRY(__logbf)
|
|||
fstp %st
|
||||
ret
|
||||
END (__logbf)
|
||||
weak_alias (__logbf, logbf)
|
||||
libm_alias_float (__logb, logb)
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
.text
|
||||
ENTRY(__lrintf)
|
||||
|
@ -31,4 +32,4 @@ ENTRY(__lrintf)
|
|||
cfi_adjust_cfa_offset (-4)
|
||||
ret
|
||||
END(__lrintf)
|
||||
weak_alias (__lrintf, lrintf)
|
||||
libm_alias_float (__lrint, lrint)
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
/* Adapted for use as nearbyint by Ulrich Drepper <drepper@cygnus.com>. */
|
||||
|
||||
#include <machine/asm.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
ENTRY(__nearbyintf)
|
||||
flds 4(%esp)
|
||||
|
@ -17,4 +18,4 @@ ENTRY(__nearbyintf)
|
|||
cfi_adjust_cfa_offset (-32)
|
||||
ret
|
||||
END (__nearbyintf)
|
||||
weak_alias (__nearbyintf, nearbyintf)
|
||||
libm_alias_float (__nearbyint, nearbyint)
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
#define PARMS 4 /* no space for saved regs */
|
||||
#define DVDND PARMS
|
||||
|
@ -42,4 +43,4 @@ ENTRY (__remquof)
|
|||
|
||||
ret
|
||||
END (__remquof)
|
||||
weak_alias (__remquof, remquof)
|
||||
libm_alias_float (__remquo, remquo)
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
RCSID("$NetBSD: s_rintf.S,v 1.3 1995/05/09 00:17:22 jtc Exp $")
|
||||
|
||||
|
@ -12,4 +13,4 @@ ENTRY(__rintf)
|
|||
frndint
|
||||
ret
|
||||
END (__rintf)
|
||||
weak_alias (__rintf, rintf)
|
||||
libm_alias_float (__rint, rint)
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <machine/asm.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
ENTRY(__truncf)
|
||||
flds 4(%esp)
|
||||
|
@ -34,4 +35,4 @@ ENTRY(__truncf)
|
|||
cfi_adjust_cfa_offset (-32)
|
||||
ret
|
||||
END(__truncf)
|
||||
weak_alias (__truncf, truncf)
|
||||
libm_alias_float (__trunc, trunc)
|
||||
|
|
|
@ -23,11 +23,13 @@ extern float __redirect_exp2f (float);
|
|||
|
||||
libc_ifunc_redirected (__redirect_exp2f, __exp2f, IFUNC_SELECTOR ());
|
||||
|
||||
#include <libm-alias-float.h>
|
||||
#ifdef SHARED
|
||||
# include <shlib-compat.h>
|
||||
versioned_symbol (libm, __exp2f, exp2f, GLIBC_2_27);
|
||||
libm_alias_float_other (__exp2, exp2)
|
||||
#else
|
||||
weak_alias (__exp2f, exp2f)
|
||||
libm_alias_float (__exp2, exp2)
|
||||
#endif
|
||||
|
||||
strong_alias (__exp2f, __ieee754_exp2f)
|
||||
|
|
|
@ -23,14 +23,16 @@ extern float __redirect_expf (float);
|
|||
|
||||
libc_ifunc_redirected (__redirect_expf, __expf, IFUNC_SELECTOR ());
|
||||
|
||||
#include <libm-alias-float.h>
|
||||
#ifdef SHARED
|
||||
__hidden_ver1 (__expf_ia32, __GI___expf, __redirect_expf)
|
||||
__attribute__ ((visibility ("hidden")));
|
||||
|
||||
# include <shlib-compat.h>
|
||||
versioned_symbol (libm, __expf, expf, GLIBC_2_27);
|
||||
libm_alias_float_other (__exp, exp)
|
||||
#else
|
||||
weak_alias (__expf, expf)
|
||||
libm_alias_float (__exp, exp)
|
||||
#endif
|
||||
|
||||
strong_alias (__expf, __ieee754_expf)
|
||||
|
|
|
@ -23,14 +23,16 @@ extern float __redirect_log2f (float);
|
|||
|
||||
libc_ifunc_redirected (__redirect_log2f, __log2f, IFUNC_SELECTOR ());
|
||||
|
||||
#include <libm-alias-float.h>
|
||||
#ifdef SHARED
|
||||
__hidden_ver1 (__log2f_ia32, __GI___log2f, __redirect_log2f)
|
||||
__attribute__ ((visibility ("hidden")));
|
||||
|
||||
# include <shlib-compat.h>
|
||||
versioned_symbol (libm, __log2f, log2f, GLIBC_2_27);
|
||||
libm_alias_float_other (__log2, log2)
|
||||
#else
|
||||
weak_alias (__log2f, log2f)
|
||||
libm_alias_float (__log2, log2)
|
||||
#endif
|
||||
|
||||
strong_alias (__log2f, __ieee754_log2f)
|
||||
|
|
|
@ -23,14 +23,16 @@ extern float __redirect_logf (float);
|
|||
|
||||
libc_ifunc_redirected (__redirect_logf, __logf, IFUNC_SELECTOR ());
|
||||
|
||||
#include <libm-alias-float.h>
|
||||
#ifdef SHARED
|
||||
__hidden_ver1 (__logf_ia32, __GI___logf, __redirect_logf)
|
||||
__attribute__ ((visibility ("hidden")));
|
||||
|
||||
# include <shlib-compat.h>
|
||||
versioned_symbol (libm, __logf, logf, GLIBC_2_27);
|
||||
libm_alias_float_other (__log, log)
|
||||
#else
|
||||
weak_alias (__logf, logf)
|
||||
libm_alias_float (__log, log)
|
||||
#endif
|
||||
|
||||
strong_alias (__logf, __ieee754_logf)
|
||||
|
|
|
@ -26,14 +26,16 @@
|
|||
|
||||
libc_ifunc_redirected (__redirect_powf, __powf, IFUNC_SELECTOR ());
|
||||
|
||||
#include <libm-alias-float.h>
|
||||
#ifdef SHARED
|
||||
__hidden_ver1 (__powf_ia32, __GI___powf, __redirect_powf)
|
||||
__attribute__ ((visibility ("hidden")));
|
||||
|
||||
# include <shlib-compat.h>
|
||||
versioned_symbol (libm, __powf, powf, GLIBC_2_27);
|
||||
libm_alias_float_other (__pow, pow)
|
||||
#else
|
||||
weak_alias (__powf, powf)
|
||||
libm_alias_float (__pow, pow)
|
||||
#endif
|
||||
|
||||
strong_alias (__powf, __ieee754_powf)
|
||||
|
|
|
@ -17,13 +17,14 @@
|
|||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <init-arch.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
extern float __cosf_sse2 (float);
|
||||
extern float __cosf_ia32 (float);
|
||||
float __cosf (float);
|
||||
|
||||
libm_ifunc (__cosf, HAS_CPU_FEATURE (SSE2) ? __cosf_sse2 : __cosf_ia32);
|
||||
weak_alias (__cosf, cosf);
|
||||
libm_alias_float (__cos, cos);
|
||||
|
||||
#define COSF __cosf_ia32
|
||||
#include <sysdeps/ieee754/flt-32/s_cosf.c>
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <init-arch.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
extern void __sincosf_sse2 (float, float *, float *);
|
||||
extern void __sincosf_ia32 (float, float *, float *);
|
||||
|
@ -24,7 +25,7 @@ void __sincosf (float, float *, float *);
|
|||
|
||||
libm_ifunc (__sincosf,
|
||||
HAS_CPU_FEATURE (SSE2) ? __sincosf_sse2 : __sincosf_ia32);
|
||||
weak_alias (__sincosf, sincosf);
|
||||
libm_alias_float (__sincos, sincos);
|
||||
|
||||
#define SINCOSF __sincosf_ia32
|
||||
#include <sysdeps/ieee754/flt-32/s_sincosf.c>
|
||||
|
|
|
@ -17,12 +17,13 @@
|
|||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <init-arch.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
extern float __sinf_sse2 (float);
|
||||
extern float __sinf_ia32 (float);
|
||||
float __sinf (float);
|
||||
|
||||
libm_ifunc (__sinf, HAS_CPU_FEATURE (SSE2) ? __sinf_sse2 : __sinf_ia32);
|
||||
weak_alias (__sinf, sinf);
|
||||
libm_alias_float (__sin, sin);
|
||||
#define SINF __sinf_ia32
|
||||
#include <sysdeps/ieee754/flt-32/s_sinf.c>
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
.text
|
||||
ENTRY(__fmaxf)
|
||||
|
@ -36,4 +37,4 @@ ENTRY(__fmaxf)
|
|||
|
||||
ret
|
||||
END(__fmaxf)
|
||||
weak_alias (__fmaxf, fmaxf)
|
||||
libm_alias_float (__fmax, fmax)
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
.text
|
||||
ENTRY(__fminf)
|
||||
|
@ -34,4 +35,4 @@ ENTRY(__fminf)
|
|||
|
||||
ret
|
||||
END(__fminf)
|
||||
weak_alias (__fminf, fminf)
|
||||
libm_alias_float (__fmin, fmin)
|
||||
|
|
|
@ -21,13 +21,14 @@
|
|||
|
||||
#include <math.h>
|
||||
#include <init-arch.h>
|
||||
#include <libm-alias-float.h>
|
||||
|
||||
extern float __fmaf_ia32 (float x, float y, float z) attribute_hidden;
|
||||
extern float __fmaf_fma (float x, float y, float z) attribute_hidden;
|
||||
|
||||
libm_ifunc (__fmaf,
|
||||
HAS_ARCH_FEATURE (FMA_Usable) ? __fmaf_fma : __fmaf_ia32);
|
||||
weak_alias (__fmaf, fmaf)
|
||||
libm_alias_float (__fma, fma)
|
||||
|
||||
#define __fmaf __fmaf_ia32
|
||||
|
||||
|
|
Loading…
Reference in New Issue