+2017-11-29 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/x86_64/fpu/multiarch/s_atan.c: Include
+ <libm-alias-double.h>.
+ (atan): Define using libm_alias_double.
+ * sysdeps/x86_64/fpu/multiarch/s_ceil.c: Include
+ <libm-alias-double.h>.
+ (ceil): Define using libm_alias_double.
+ * sysdeps/x86_64/fpu/multiarch/s_floor.c: Include
+ <libm-alias-double.h>.
+ (floor): Define using libm_alias_double.
+ * sysdeps/x86_64/fpu/multiarch/s_fma.c: Include
+ <libm-alias-double.h>.
+ (fma): Define using libm_alias_double.
+ * sysdeps/x86_64/fpu/multiarch/s_nearbyint.c: Include
+ <libm-alias-double.h>.
+ (nearbyint): Define using libm_alias_double.
+ * sysdeps/x86_64/fpu/multiarch/s_rint.c: Include
+ <libm-alias-double.h>.
+ (rint): Define using libm_alias_double.
+ * sysdeps/x86_64/fpu/multiarch/s_sin.c: Include
+ <libm-alias-double.h>.
+ (sin): Define using libm_alias_double.
+ (cos): Likewise.
+ * sysdeps/x86_64/fpu/multiarch/s_tan.c: Include
+ <libm-alias-double.h>.
+ (tan): Define using libm_alias_double.
+ * sysdeps/x86_64/fpu/multiarch/s_trunc.c: Include
+ <libm-alias-double.h>.
+ (trunc): Define using libm_alias_double.
+ * sysdeps/x86_64/fpu/s_copysign.S: Include <libm-alias-double.h>.
+ (copysign): Define using libm_alias_double.
+ * sysdeps/x86_64/fpu/s_fabs.c: Include <libm-alias-double.h>.
+ (fabs): Define using libm_alias_double.
+ * sysdeps/x86_64/fpu/s_fmax.S: Include <libm-alias-double.h>.
+ (fmax): Define using libm_alias_double.
+ * sysdeps/x86_64/fpu/s_fmin.S: Include <libm-alias-double.h>.
+ (fmin): Define using libm_alias_double.
+ * sysdeps/x86_64/fpu/s_llrint.S: Include <libm-alias-double.h>.
+ (llrint): Define using libm_alias_double.
+ [!__ILP32__] (lrint): Likewise.
+ * sysdeps/x86_64/x32/fpu/s_lrint.S: Include <libm-alias-double.h>.
+ (lrint): Define using libm_alias_double.
+
2017-11-29 Adhemerval Zanella <adhemerval.zanella@linaro.org>
* sysdeps/sparc/sparc64/fpu/multiarch/Makefile
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-double.h>
+
extern double __redirect_atan (double);
#define SYMBOL_NAME atan
#include "ifunc-avx-fma4.h"
libc_ifunc_redirected (__redirect_atan, __atan, IFUNC_SELECTOR ());
-weak_alias (__atan, atan)
+libm_alias_double (__atan, atan)
#define __atan __atan_sse2
#include <sysdeps/ieee754/dbl-64/s_atan.c>
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-double.h>
+
#define ceil __redirect_ceil
#define __ceil __redirect___ceil
#include <math.h>
#include "ifunc-sse4_1.h"
libc_ifunc_redirected (__redirect_ceil, __ceil, IFUNC_SELECTOR ());
-weak_alias (__ceil, ceil)
+libm_alias_double (__ceil, ceil)
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-double.h>
+
#define floor __redirect_floor
#define __floor __redirect___floor
#include <math.h>
#include "ifunc-sse4_1.h"
libc_ifunc_redirected (__redirect_floor, __floor, IFUNC_SELECTOR ());
-weak_alias (__floor, floor)
+libm_alias_double (__floor, floor)
#include <config.h>
#include <math.h>
#include <init-arch.h>
+#include <libm-alias-double.h>
extern double __fma_sse2 (double x, double y, double z) attribute_hidden;
libm_ifunc (__fma, HAS_ARCH_FEATURE (FMA_Usable)
? __fma_fma3 : (HAS_ARCH_FEATURE (FMA4_Usable)
? __fma_fma4 : __fma_sse2));
-weak_alias (__fma, fma)
+libm_alias_double (__fma, fma)
#define __fma __fma_sse2
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-double.h>
+
#define nearbyint __redirect_nearbyint
#define __nearbyint __redirect___nearbyint
#include <math.h>
libc_ifunc_redirected (__redirect_nearbyint, __nearbyint,
IFUNC_SELECTOR ());
-weak_alias (__nearbyint, nearbyint)
+libm_alias_double (__nearbyint, nearbyint)
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-double.h>
+
#define rint __redirect_rint
#define __rint __redirect___rint
#include <math.h>
#include "ifunc-sse4_1.h"
libc_ifunc_redirected (__redirect_rint, __rint, IFUNC_SELECTOR ());
-weak_alias (__rint, rint)
+libm_alias_double (__rint, rint)
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-double.h>
+
extern double __redirect_sin (double);
extern double __redirect_cos (double);
#include "ifunc-avx-fma4.h"
libc_ifunc_redirected (__redirect_sin, __sin, IFUNC_SELECTOR ());
-weak_alias (__sin, sin)
+libm_alias_double (__sin, sin)
#undef SYMBOL_NAME
#define SYMBOL_NAME cos
#include "ifunc-avx-fma4.h"
libc_ifunc_redirected (__redirect_cos, __cos, IFUNC_SELECTOR ());
-weak_alias (__cos, cos)
+libm_alias_double (__cos, cos)
#define __cos __cos_sse2
#define __sin __sin_sse2
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-double.h>
+
extern double __redirect_tan (double);
#define SYMBOL_NAME tan
#include "ifunc-avx-fma4.h"
libc_ifunc_redirected (__redirect_tan, __tan, IFUNC_SELECTOR ());
-weak_alias (__tan, tan)
+libm_alias_double (__tan, tan)
#define __tan __tan_sse2
#include <sysdeps/ieee754/dbl-64/s_tan.c>
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-double.h>
+
#define trunc __redirect_trunc
#define __trunc __redirect___trunc
#include <math.h>
#include "ifunc-sse4_1.h"
libc_ifunc_redirected (__redirect_trunc, __trunc, IFUNC_SELECTOR ());
-weak_alias (__trunc, trunc)
+libm_alias_double (__trunc, trunc)
<http://www.gnu.org/licenses/>. */
#include <machine/asm.h>
+#include <libm-alias-double.h>
.section .rodata.cst16,"aM",@progbits,16
ret
END (__copysign)
-weak_alias (__copysign, copysign)
+libm_alias_double (__copysign, copysign)
<http://www.gnu.org/licenses/>. */
#include <math.h>
+#include <libm-alias-double.h>
double
__fabs (double x)
{
return __builtin_fabs (x);
}
-weak_alias (__fabs, fabs)
+libm_alias_double (__fabs, fabs)
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <libm-alias-double.h>
.text
ENTRY(__fmax)
2: ret
END(__fmax)
-weak_alias (__fmax, fmax)
+libm_alias_double (__fmax, fmax)
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <libm-alias-double.h>
.text
ENTRY(__fmin)
2: ret
END(__fmin)
-weak_alias (__fmin, fmin)
+libm_alias_double (__fmin, fmin)
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <libm-alias-double.h>
.text
ENTRY(__llrint)
cvtsd2si %xmm0,%rax
ret
END(__llrint)
-weak_alias (__llrint, llrint)
+libm_alias_double (__llrint, llrint)
#ifndef __ILP32__
strong_alias (__llrint, __lrint)
-weak_alias (__llrint, lrint)
+libm_alias_double (__llrint, lrint)
#endif
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <libm-alias-double.h>
.text
ENTRY(__lrint)
cvtsd2si %xmm0,%eax
ret
END(__lrint)
-weak_alias (__lrint, lrint)
+libm_alias_double (__lrint, lrint)