]> sourceware.org Git - glibc.git/commitdiff
Make dbl-64 atan and tan into weak aliases.
authorJoseph Myers <joseph@codesourcery.com>
Mon, 2 Oct 2017 20:20:52 +0000 (20:20 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Mon, 2 Oct 2017 20:20:52 +0000 (20:20 +0000)
This patch converts the dbl-64 implementations of atan and tan into
weak aliases of __atan and __tan, in preparation for making them use
libm_alias_double.  Consequent changes are made to the x86_64
multiarch versions wrapping round them (with the dbl-64 functions,
like other such functions, being made not to define their aliases at
all if __atan or __tan are defined as macros by an including file).

Tested for x86_64, and with build-many-glibcs.py.

* sysdeps/ieee754/dbl-64/s_atan.c (atan): Rename to __atan and
define as weak alias of __atan.  Do not define any aliases if
[__atan].
[NO_LONG_DOUBLE] (__atanl): Define as strong alias of __atan.
[NO_LONG_DOUBLE] (atanl): Define as weak alias of __atanl.
* sysdeps/ieee754/dbl-64/s_tan.c (tan): Rename to __tan and define
as weak alias of __tan.  Do not define any aliases if [__tan].
[NO_LONG_DOUBLE] (__tanl): Define as strong alias of __tan.
[NO_LONG_DOUBLE] (tanl): Define as weak alias of __tanl.
* sysdeps/x86_64/fpu/multiarch/s_atan-avx.c (atan): Rename to
__atan.
* sysdeps/x86_64/fpu/multiarch/s_atan-fma.c (atan): Likewise.
* sysdeps/x86_64/fpu/multiarch/s_atan-fma4.c (atan): Likewise.
* sysdeps/x86_64/fpu/multiarch/s_atan.c (atan): Rename to __atan
and define as weak alias of __atan.
* sysdeps/x86_64/fpu/multiarch/s_tan-avx.c (tan): Rename to
__atan.
* sysdeps/x86_64/fpu/multiarch/s_tan-fma.c (tan): Likewise.
* sysdeps/x86_64/fpu/multiarch/s_tan-fma4.c (tan): Likewise.
* sysdeps/x86_64/fpu/multiarch/s_tan.c (tan): Rename to __tan and
define as weak alias of __tan.

ChangeLog
sysdeps/ieee754/dbl-64/s_atan.c
sysdeps/ieee754/dbl-64/s_tan.c
sysdeps/x86_64/fpu/multiarch/s_atan-avx.c
sysdeps/x86_64/fpu/multiarch/s_atan-fma.c
sysdeps/x86_64/fpu/multiarch/s_atan-fma4.c
sysdeps/x86_64/fpu/multiarch/s_atan.c
sysdeps/x86_64/fpu/multiarch/s_tan-avx.c
sysdeps/x86_64/fpu/multiarch/s_tan-fma.c
sysdeps/x86_64/fpu/multiarch/s_tan-fma4.c
sysdeps/x86_64/fpu/multiarch/s_tan.c

index a4eede143740263f76bbc6ea2e62be2522aa3100..ebe1641cb375549f5d21ce20ff5f9bd2e4002503 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2017-10-02  Joseph Myers  <joseph@codesourcery.com>
+
+       * sysdeps/ieee754/dbl-64/s_atan.c (atan): Rename to __atan and
+       define as weak alias of __atan.  Do not define any aliases if
+       [__atan].
+       [NO_LONG_DOUBLE] (__atanl): Define as strong alias of __atan.
+       [NO_LONG_DOUBLE] (atanl): Define as weak alias of __atanl.
+       * sysdeps/ieee754/dbl-64/s_tan.c (tan): Rename to __tan and define
+       as weak alias of __tan.  Do not define any aliases if [__tan].
+       [NO_LONG_DOUBLE] (__tanl): Define as strong alias of __tan.
+       [NO_LONG_DOUBLE] (tanl): Define as weak alias of __tanl.
+       * sysdeps/x86_64/fpu/multiarch/s_atan-avx.c (atan): Rename to
+       __atan.
+       * sysdeps/x86_64/fpu/multiarch/s_atan-fma.c (atan): Likewise.
+       * sysdeps/x86_64/fpu/multiarch/s_atan-fma4.c (atan): Likewise.
+       * sysdeps/x86_64/fpu/multiarch/s_atan.c (atan): Rename to __atan
+       and define as weak alias of __atan.
+       * sysdeps/x86_64/fpu/multiarch/s_tan-avx.c (tan): Rename to
+       __atan.
+       * sysdeps/x86_64/fpu/multiarch/s_tan-fma.c (tan): Likewise.
+       * sysdeps/x86_64/fpu/multiarch/s_tan-fma4.c (tan): Likewise.
+       * sysdeps/x86_64/fpu/multiarch/s_tan.c (tan): Rename to __tan and
+       define as weak alias of __tan.
+
 2017-10-02  Szabolcs Nagy  <szabolcs.nagy@arm.com>
 
        * math/w_lgamma.c: New file.
index 3641a35ce11007e25ef52118b574436eaa5397e5..fdc3bf7e258a6e4c39cd6568295abbc86199325d 100644 (file)
@@ -61,7 +61,7 @@ __signArctan (double x, double y)
 /* An ultimate atan() routine. Given an IEEE double machine number x,    */
 /* routine computes the correctly rounded (to nearest) value of atan(x). */
 double
-atan (double x)
+__atan (double x)
 {
   double cor, s1, ss1, s2, ss2, t1, t2, t3, t7, t8, t9, t10, u, u2, u3,
         v, vv, w, ww, y, yy, z, zz;
@@ -323,6 +323,10 @@ atanMp (double x, const int pr[])
   return y1;                   /*if impossible to do exact computing */
 }
 
-#ifdef NO_LONG_DOUBLE
-weak_alias (atan, atanl)
+#ifndef __atan
+weak_alias (__atan, atan)
+# ifdef NO_LONG_DOUBLE
+strong_alias (__atan, __atanl)
+weak_alias (__atanl, atanl)
+# endif
 #endif
index b2a8681a6dfdae57cae5bf75eba82b3a43d1d281..feec8262376e837814acf624cdac7acfd9142c61 100644 (file)
@@ -53,7 +53,7 @@ void __mptan (double, mp_no *, int);
 
 double
 SECTION
-tan (double x)
+__tan (double x)
 {
 #include "utan.h"
 #include "utan.tbl"
@@ -843,6 +843,10 @@ tanMp (double x)
   return y;
 }
 
-#ifdef NO_LONG_DOUBLE
-weak_alias (tan, tanl)
+#ifndef __tan
+weak_alias (__tan, tan)
+# ifdef NO_LONG_DOUBLE
+strong_alias (__tan, __tanl)
+weak_alias (__tanl, tanl)
+# endif
 #endif
index b5cb9c3a75b72af947f3cbb5167f4f3e5a45eb6a..41816bfe6c4918ea9ccc4e8cff6dbaa23199dfad 100644 (file)
@@ -1,4 +1,4 @@
-#define atan __atan_avx
+#define __atan __atan_avx
 #define __add __add_avx
 #define __dbl_mp __dbl_mp_avx
 #define __mul __mul_avx
index bedb3f20533aad38ef705dd6573690cb86e1e106..363e32bcbdbf2126eb702ee51ec4a63b8a8e414f 100644 (file)
@@ -1,4 +1,4 @@
-#define atan __atan_fma
+#define __atan __atan_fma
 #define __add __add_fma
 #define __dbl_mp __dbl_mp_fma
 #define __mpatan __mpatan_fma
index 9e83e6cdaba505e4fd1877ba99a48ced3bcc486d..ad8d3af579f8dd6eb93af3e4cbe6a3650d4da65b 100644 (file)
@@ -1,4 +1,4 @@
-#define atan __atan_fma4
+#define __atan __atan_fma4
 #define __add __add_fma4
 #define __dbl_mp __dbl_mp_fma4
 #define __mpatan __mpatan_fma4
index f81919cbbef05819cde670cf05690752c3c6e770..5d864dd4f0822fc3076ced7c21c3c5bff7721cb8 100644 (file)
@@ -21,7 +21,8 @@ extern double __redirect_atan (double);
 #define SYMBOL_NAME atan
 #include "ifunc-avx-fma4.h"
 
-libc_ifunc_redirected (__redirect_atan, atan, IFUNC_SELECTOR ());
+libc_ifunc_redirected (__redirect_atan, __atan, IFUNC_SELECTOR ());
+weak_alias (__atan, atan)
 
-#define atan __atan_sse2
+#define __atan __atan_sse2
 #include <sysdeps/ieee754/dbl-64/s_atan.c>
index 53de5d3c98d3d46d6f6294c036855d9cc93e029a..5ee29a9a063c4aadcbf3a3cc4824374865cb7ac8 100644 (file)
@@ -1,4 +1,4 @@
-#define tan __tan_avx
+#define __tan __tan_avx
 #define __dbl_mp __dbl_mp_avx
 #define __sub __sub_avx
 #define SECTION __attribute__ ((section (".text.avx")))
index c85f8bceed4a7f3a515112e081f9b9dc9846119f..1a1b9d24900f9f9963e12f9d5f477ffdb4c7492b 100644 (file)
@@ -1,4 +1,4 @@
-#define tan __tan_fma
+#define __tan __tan_fma
 #define __dbl_mp __dbl_mp_fma
 #define __mpranred __mpranred_fma
 #define __mptan __mptan_fma
index a805440b46152d89db20728244b7ce93909de36c..e4e9f6cb858ebf21a7a6748f5f3db67b862dd275 100644 (file)
@@ -1,4 +1,4 @@
-#define tan __tan_fma4
+#define __tan __tan_fma4
 #define __dbl_mp __dbl_mp_fma4
 #define __mpranred __mpranred_fma4
 #define __mptan __mptan_fma4
index 96a73811f3f5c59736ca0305a427d6dfab5ffc38..86377a87665c100f36f3c0f54aa1e63ca9a93690 100644 (file)
@@ -21,7 +21,8 @@ extern double __redirect_tan (double);
 #define SYMBOL_NAME tan
 #include "ifunc-avx-fma4.h"
 
-libc_ifunc_redirected (__redirect_tan, tan, IFUNC_SELECTOR ());
+libc_ifunc_redirected (__redirect_tan, __tan, IFUNC_SELECTOR ());
+weak_alias (__tan, tan)
 
-#define tan __tan_sse2
+#define __tan __tan_sse2
 #include <sysdeps/ieee754/dbl-64/s_tan.c>
This page took 0.080582 seconds and 5 git commands to generate.