Use libm_alias_double for i386.
authorJoseph Myers <joseph@codesourcery.com>
Tue, 28 Nov 2017 18:15:44 +0000 (18:15 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 28 Nov 2017 18:15:44 +0000 (18:15 +0000)
Continuing the preparation for additional _FloatN / _FloatNx function
aliases, this patch makes i386 libm function implementations use
libm_alias_double 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_asinh.S: Include <libm-alias-double.h>.
(asinh): Define using libm_alias_double.
* sysdeps/i386/fpu/s_atan.S: Include <libm-alias-double.h>.
(atan): Define using libm_alias_double.
* sysdeps/i386/fpu/s_cbrt.S: Include <libm-alias-double.h>.
(cbrt): Define using libm_alias_double.
* sysdeps/i386/fpu/s_ceil.S: Include <libm-alias-double.h>.
(ceil): Define using libm_alias_double.
* sysdeps/i386/fpu/s_copysign.S: Include <libm-alias-double.h>.
(copysign): Define using libm_alias_double.
* sysdeps/i386/fpu/s_expm1.S: Include <libm-alias-double.h>.
(expm1): Define using libm_alias_double.
* sysdeps/i386/fpu/s_fabs.S: Include <libm-alias-double.h>.
(fabs): Define using libm_alias_double.
* sysdeps/i386/fpu/s_fdim.c: Include <libm-alias-double.h>.
(fdim): Define using libm_alias_double.
* sysdeps/i386/fpu/s_floor.S: Include <libm-alias-double.h>.
(floor): Define using libm_alias_double.
* sysdeps/i386/fpu/s_fmax.S: Include <libm-alias-double.h>.
(fmax): Define using libm_alias_double.
* sysdeps/i386/fpu/s_fmin.S: Include <libm-alias-double.h>.
(fmin): Define using libm_alias_double.
* sysdeps/i386/fpu/s_frexp.S: Include <libm-alias-double.h>.
(frexp): Define using libm_alias_double.
* sysdeps/i386/fpu/s_llrint.S: Include <libm-alias-double.h>.
(llrint): Define using libm_alias_double.
* sysdeps/i386/fpu/s_logb.S: Include <libm-alias-double.h>.
(logb): Define using libm_alias_double.
* sysdeps/i386/fpu/s_lrint.S: Include <libm-alias-double.h>.
(lrint): Define using libm_alias_double.
* sysdeps/i386/fpu/s_nearbyint.S: Include <libm-alias-double.h>.
(nearbyint): Define using libm_alias_double.
* sysdeps/i386/fpu/s_remquo.S: Include <libm-alias-double.h>.
(remquo): Define using libm_alias_double.
* sysdeps/i386/fpu/s_rint.S: Include <libm-alias-double.h>.
(rint): Define using libm_alias_double.
* sysdeps/i386/fpu/s_trunc.S: Include <libm-alias-double.h>.
(trunc): Define using libm_alias_double.
* sysdeps/i386/i686/fpu/s_fmax.S: Include <libm-alias-double.h>.
(fmax): Define using libm_alias_double.
* sysdeps/i386/i686/fpu/s_fmin.S: Include <libm-alias-double.h>.
(fmin): Define using libm_alias_double.
* sysdeps/i386/i686/multiarch/s_fma.c: Include <libm-alias-double.h>.
(fma): Define using libm_alias_double.

23 files changed:
ChangeLog
sysdeps/i386/fpu/s_asinh.S
sysdeps/i386/fpu/s_atan.S
sysdeps/i386/fpu/s_cbrt.S
sysdeps/i386/fpu/s_ceil.S
sysdeps/i386/fpu/s_copysign.S
sysdeps/i386/fpu/s_expm1.S
sysdeps/i386/fpu/s_fabs.S
sysdeps/i386/fpu/s_fdim.c
sysdeps/i386/fpu/s_floor.S
sysdeps/i386/fpu/s_fmax.S
sysdeps/i386/fpu/s_fmin.S
sysdeps/i386/fpu/s_frexp.S
sysdeps/i386/fpu/s_llrint.S
sysdeps/i386/fpu/s_logb.S
sysdeps/i386/fpu/s_lrint.S
sysdeps/i386/fpu/s_nearbyint.S
sysdeps/i386/fpu/s_remquo.S
sysdeps/i386/fpu/s_rint.S
sysdeps/i386/fpu/s_trunc.S
sysdeps/i386/i686/fpu/s_fmax.S
sysdeps/i386/i686/fpu/s_fmin.S
sysdeps/i386/i686/multiarch/s_fma.c

index 593811d..1403d0d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,50 @@
+2017-11-28  Joseph Myers  <joseph@codesourcery.com>
+
+       * 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>.
+       (atan): Define using libm_alias_double.
+       * sysdeps/i386/fpu/s_cbrt.S: Include <libm-alias-double.h>.
+       (cbrt): Define using libm_alias_double.
+       * sysdeps/i386/fpu/s_ceil.S: Include <libm-alias-double.h>.
+       (ceil): Define using libm_alias_double.
+       * sysdeps/i386/fpu/s_copysign.S: Include <libm-alias-double.h>.
+       (copysign): Define using libm_alias_double.
+       * sysdeps/i386/fpu/s_expm1.S: Include <libm-alias-double.h>.
+       (expm1): Define using libm_alias_double.
+       * sysdeps/i386/fpu/s_fabs.S: Include <libm-alias-double.h>.
+       (fabs): Define using libm_alias_double.
+       * sysdeps/i386/fpu/s_fdim.c: Include <libm-alias-double.h>.
+       (fdim): Define using libm_alias_double.
+       * sysdeps/i386/fpu/s_floor.S: Include <libm-alias-double.h>.
+       (floor): Define using libm_alias_double.
+       * sysdeps/i386/fpu/s_fmax.S: Include <libm-alias-double.h>.
+       (fmax): Define using libm_alias_double.
+       * sysdeps/i386/fpu/s_fmin.S: Include <libm-alias-double.h>.
+       (fmin): Define using libm_alias_double.
+       * sysdeps/i386/fpu/s_frexp.S: Include <libm-alias-double.h>.
+       (frexp): Define using libm_alias_double.
+       * sysdeps/i386/fpu/s_llrint.S: Include <libm-alias-double.h>.
+       (llrint): Define using libm_alias_double.
+       * sysdeps/i386/fpu/s_logb.S: Include <libm-alias-double.h>.
+       (logb): Define using libm_alias_double.
+       * sysdeps/i386/fpu/s_lrint.S: Include <libm-alias-double.h>.
+       (lrint): Define using libm_alias_double.
+       * sysdeps/i386/fpu/s_nearbyint.S: Include <libm-alias-double.h>.
+       (nearbyint): Define using libm_alias_double.
+       * sysdeps/i386/fpu/s_remquo.S: Include <libm-alias-double.h>.
+       (remquo): Define using libm_alias_double.
+       * sysdeps/i386/fpu/s_rint.S: Include <libm-alias-double.h>.
+       (rint): Define using libm_alias_double.
+       * sysdeps/i386/fpu/s_trunc.S: Include <libm-alias-double.h>.
+       (trunc): Define using libm_alias_double.
+       * sysdeps/i386/i686/fpu/s_fmax.S: Include <libm-alias-double.h>.
+       (fmax): Define using libm_alias_double.
+       * sysdeps/i386/i686/fpu/s_fmin.S: Include <libm-alias-double.h>.
+       (fmin): Define using libm_alias_double.
+       * sysdeps/i386/i686/multiarch/s_fma.c: Include <libm-alias-double.h>.
+       (fma): Define using libm_alias_double.
+
 2017-11-28  H.J. Lu  <hongjiu.lu@intel.com>
 
        [BZ #22370]
index 1a60f7d..85fe5a1 100644 (file)
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <machine/asm.h>
+#include <libm-alias-double.h>
 
        .section .rodata
 
@@ -136,4 +137,4 @@ ENTRY(__asinh)
        fchs
 4:     ret
 END(__asinh)
-weak_alias (__asinh, asinh)
+libm_alias_double (__asinh, asinh)
index 644de78..0102281 100644 (file)
@@ -5,6 +5,7 @@
 
 #include <machine/asm.h>
 #include <i386-math-asm.h>
+#include <libm-alias-double.h>
 
 RCSID("$NetBSD: s_atan.S,v 1.4 1995/05/08 23:50:41 jtc Exp $")
 
@@ -27,4 +28,4 @@ ENTRY(__atan)
        DBL_CHECK_FORCE_UFLOW
        ret
 END (__atan)
-weak_alias (__atan, atan)
+libm_alias_double (__atan, atan)
index 7f01659..5d8b5d2 100644 (file)
@@ -19,6 +19,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <machine/asm.h>
+#include <libm-alias-double.h>
 
         .section .rodata
 
@@ -197,4 +198,4 @@ ENTRY(__cbrt)
 1:     fldl    4(%esp)
        ret
 END(__cbrt)
-weak_alias (__cbrt, cbrt)
+libm_alias_double (__cbrt, cbrt)
index 1226bb2..9287ab0 100644 (file)
@@ -4,6 +4,7 @@
  */
 
 #include <machine/asm.h>
+#include <libm-alias-double.h>
 
 RCSID("$NetBSD: s_ceil.S,v 1.4 1995/05/08 23:52:13 jtc Exp $")
 
@@ -31,4 +32,4 @@ ENTRY(__ceil)
        cfi_adjust_cfa_offset (-32)
        ret
 END (__ceil)
-weak_alias (__ceil, ceil)
+libm_alias_double (__ceil, ceil)
index 2520a94..1434d40 100644 (file)
@@ -4,6 +4,7 @@
  */
 
 #include <machine/asm.h>
+#include <libm-alias-double.h>
 
 RCSID("$NetBSD: s_copysign.S,v 1.4 1995/05/08 23:53:02 jtc Exp $")
 
@@ -17,4 +18,4 @@ ENTRY(__copysign)
        fldl    4(%esp)
        ret
 END (__copysign)
-weak_alias (__copysign, copysign)
+libm_alias_double (__copysign, copysign)
index 59fded2..09a006f 100644 (file)
@@ -24,6 +24,7 @@
 #include <sysdep.h>
 #include <machine/asm.h>
 #include <i386-math-asm.h>
+#include <libm-alias-double.h>
 
        .section .rodata
 
@@ -110,4 +111,4 @@ ENTRY(__expm1)
        fldl    MO(minus1)      // Set result to -1.0.
 3:     ret
 END(__expm1)
-weak_alias (__expm1, expm1)
+libm_alias_double (__expm1, expm1)
index 23ae9dc..c623eb5 100644 (file)
@@ -1,4 +1,5 @@
 #include <sysdep.h>
+#include <libm-alias-double.h>
 
        .text
 ENTRY(__fabs)
@@ -6,4 +7,4 @@ ENTRY(__fabs)
        fabs
        ret
 END(__fabs)
-weak_alias (__fabs, fabs)
+libm_alias_double (__fabs, fabs)
index 6243c62..bb87398 100644 (file)
@@ -20,6 +20,7 @@
 #include <fpu_control.h>
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-double.h>
 
 double
 __fdim (double x, double y)
@@ -43,8 +44,4 @@ __fdim (double x, double y)
 
   return r;
 }
-weak_alias (__fdim, fdim)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__fdim, __fdiml)
-weak_alias (__fdim, fdiml)
-#endif
+libm_alias_double (__fdim, fdim)
index ed837da..f3cd66e 100644 (file)
@@ -4,6 +4,7 @@
  */
 
 #include <machine/asm.h>
+#include <libm-alias-double.h>
 
 RCSID("$NetBSD: s_floor.S,v 1.4 1995/05/09 00:01:59 jtc Exp $")
 
@@ -31,4 +32,4 @@ ENTRY(__floor)
        cfi_adjust_cfa_offset (-32)
        ret
 END (__floor)
-weak_alias (__floor, floor)
+libm_alias_double (__floor, floor)
index 218dcef..4e2e46c 100644 (file)
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-double.h>
 
        .text
 ENTRY(__fmax)
@@ -40,4 +41,4 @@ ENTRY(__fmax)
 
        ret
 END(__fmax)
-weak_alias (__fmax, fmax)
+libm_alias_double (__fmax, fmax)
index a5bb0e0..4be5938 100644 (file)
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-double.h>
 
        .text
 ENTRY(__fmin)
@@ -40,4 +41,4 @@ ENTRY(__fmin)
 
        ret
 END(__fmin)
-weak_alias (__fmin, fmin)
+libm_alias_double (__fmin, fmin)
index 104f733..1c1c76c 100644 (file)
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <machine/asm.h>
+#include <libm-alias-double.h>
 
        .section .rodata
 
@@ -80,4 +81,4 @@ ENTRY (__frexp)
 
        ret
 END (__frexp)
-weak_alias (__frexp, frexp)
+libm_alias_double (__frexp, frexp)
index a597183..13689e3 100644 (file)
@@ -19,6 +19,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-double.h>
 
        .text
 ENTRY(__llrint)
@@ -33,4 +34,4 @@ ENTRY(__llrint)
        cfi_adjust_cfa_offset (-4)
        ret
 END(__llrint)
-weak_alias (__llrint, llrint)
+libm_alias_double (__llrint, llrint)
index f78c091..d4b3a47 100644 (file)
@@ -4,6 +4,7 @@
  */
 
 #include <machine/asm.h>
+#include <libm-alias-double.h>
 
 RCSID("$NetBSD: s_logb.S,v 1.4 1995/05/09 00:14:30 jtc Exp $")
 
@@ -13,4 +14,4 @@ ENTRY(__logb)
        fstp    %st
        ret
 END (__logb)
-weak_alias (__logb, logb)
+libm_alias_double (__logb, logb)
index 79a374b..dea7c12 100644 (file)
@@ -19,6 +19,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-double.h>
 
        .text
 ENTRY(__lrint)
@@ -31,4 +32,4 @@ ENTRY(__lrint)
        cfi_adjust_cfa_offset (-4)
        ret
 END(__lrint)
-weak_alias (__lrint, lrint)
+libm_alias_double (__lrint, lrint)
index f7b79b6..11fb61b 100644 (file)
@@ -5,6 +5,7 @@
 /* Adapted for use as nearbyint by Ulrich Drepper <drepper@cygnus.com>.  */
 
 #include <machine/asm.h>
+#include <libm-alias-double.h>
 
 ENTRY(__nearbyint)
        fldl    4(%esp)
@@ -17,4 +18,4 @@ ENTRY(__nearbyint)
        cfi_adjust_cfa_offset (-32)
        ret
 END (__nearbyint)
-weak_alias (__nearbyint, nearbyint)
+libm_alias_double (__nearbyint, nearbyint)
index 341285d..ac91172 100644 (file)
@@ -5,6 +5,7 @@
  */
 
 #include <machine/asm.h>
+#include <libm-alias-double.h>
 
 #define PARMS  4               /* no space for saved regs */
 #define DVDND  PARMS
@@ -42,4 +43,4 @@ ENTRY (__remquo)
 
        ret
 END (__remquo)
-weak_alias (__remquo, remquo)
+libm_alias_double (__remquo, remquo)
index be36c5f..b4ab019 100644 (file)
@@ -4,6 +4,7 @@
  */
 
 #include <machine/asm.h>
+#include <libm-alias-double.h>
 
 RCSID("$NetBSD: s_rint.S,v 1.4 1995/05/09 00:16:08 jtc Exp $")
 
@@ -12,4 +13,4 @@ ENTRY(__rint)
        frndint
        ret
 END (__rint)
-weak_alias (__rint, rint)
+libm_alias_double (__rint, rint)
index e9a850b..98b0fa1 100644 (file)
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <machine/asm.h>
+#include <libm-alias-double.h>
 
 ENTRY(__trunc)
        fldl    4(%esp)
@@ -34,4 +35,4 @@ ENTRY(__trunc)
        cfi_adjust_cfa_offset (-32)
        ret
 END(__trunc)
-weak_alias (__trunc, trunc)
+libm_alias_double (__trunc, trunc)
index ace8db9..0e25ca6 100644 (file)
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-double.h>
 
        .text
 ENTRY(__fmax)
@@ -36,4 +37,4 @@ ENTRY(__fmax)
 
        ret
 END(__fmax)
-weak_alias (__fmax, fmax)
+libm_alias_double (__fmax, fmax)
index 72d306f..5dd0276 100644 (file)
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-double.h>
 
        .text
 ENTRY(__fmin)
@@ -34,4 +35,4 @@ ENTRY(__fmin)
 
        ret
 END(__fmin)
-weak_alias (__fmin, fmin)
+libm_alias_double (__fmin, fmin)
index 411ebb2..d207a2f 100644 (file)
 
 #include <math.h>
 #include <init-arch.h>
+#include <libm-alias-double.h>
 
 extern double __fma_ia32 (double x, double y, double z) attribute_hidden;
 extern double __fma_fma (double x, double y, double z) attribute_hidden;
 
 libm_ifunc (__fma,
            HAS_ARCH_FEATURE (FMA_Usable) ? __fma_fma : __fma_ia32);
-weak_alias (__fma, fma)
+libm_alias_double (__fma, fma)
 
 #define __fma __fma_ia32