This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.28.9000-130-gf29b6f1


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  f29b6f17e4e80de9761479c7d377b765095baa67 (commit)
      from  e44acb20633ab079da00ff0b29d7a5fe624525bc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=f29b6f17e4e80de9761479c7d377b765095baa67

commit f29b6f17e4e80de9761479c7d377b765095baa67
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Fri Sep 14 13:10:39 2018 +0000

    Use rint functions not __rint functions in glibc libm.
    
    Continuing the move to use, within libm, public names for libm
    functions that can be inlined as built-in functions on many
    architectures, this patch moves calls to __rint functions to call the
    corresponding rint names instead, with asm redirection to __rint when
    the calls are not inlined.  The x86_64 math_private.h is removed as no
    longer useful after this patch.
    
    This patch is relative to a tree with my floor patch
    <https://sourceware.org/ml/libc-alpha/2018-09/msg00148.html> applied,
    and much the same considerations arise regarding possibly replacing an
    IFUNC call with a direct inline expansion.
    
    Tested for x86_64, and with build-many-glibcs.py.
    
    	* include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ &&
    	__FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (rint): Redirect
    	using MATH_REDIRECT.
    	* sysdeps/aarch64/fpu/s_rint.c: Define NO_MATH_REDIRECT before
    	header inclusion.
    	* sysdeps/aarch64/fpu/s_rintf.c: Likewise.
    	* sysdeps/alpha/fpu/s_rint.c: Likewise.
    	* sysdeps/alpha/fpu/s_rintf.c: Likewise.
    	* sysdeps/i386/fpu/s_rintl.c: Likewise.
    	* sysdeps/ieee754/dbl-64/s_rint.c: Likewise.
    	* sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c: Likewise.
    	* sysdeps/ieee754/float128/s_rintf128.c: Likewise.
    	* sysdeps/ieee754/flt-32/s_rintf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_rintl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm/s_rintl.c: Likewise.
    	* sysdeps/m68k/coldfire/fpu/s_rint.c: Likewise.
    	* sysdeps/m68k/coldfire/fpu/s_rintf.c: Likewise.
    	* sysdeps/m68k/m680x0/fpu/s_rint.c: Likewise.
    	* sysdeps/m68k/m680x0/fpu/s_rintf.c: Likewise.
    	* sysdeps/m68k/m680x0/fpu/s_rintl.c: Likewise.
    	* sysdeps/powerpc/fpu/s_rint.c: Likewise.
    	* sysdeps/powerpc/fpu/s_rintf.c: Likewise.
    	* sysdeps/riscv/rv64/rvd/s_rint.c: Likewise.
    	* sysdeps/riscv/rvf/s_rintf.c: Likewise.
    	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.c: Likewise.
    	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.c: Likewise.
    	* sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c: Likewise.
    	* sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c: Likewise.
    	* sysdeps/x86_64/fpu/multiarch/s_rint.c: Likewise.
    	* sysdeps/x86_64/fpu/multiarch/s_rintf.c: Likewise.
    	* sysdeps/x86_64/fpu/math_private.h: Remove file.
    	* math/e_scalb.c (invalid_fn): Use rint functions instead of
    	__rint variants.
    	* math/e_scalbf.c (invalid_fn): Likewise.
    	* math/e_scalbl.c (invalid_fn): Likewise.
    	* sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r):
    	Likewise.
    	* sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r):
    	Likewise.
    	* sysdeps/ieee754/k_standard.c (__kernel_standard): Likewise.
    	* sysdeps/ieee754/k_standardl.c (__kernel_standard_l): Likewise.
    	* sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gammal_r):
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (__ieee754_gammal_r):
    	Likewise.
    	* sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r):
    	Likewise.
    	* sysdeps/powerpc/powerpc32/fpu/s_llrint.c (__llrint): Likewise.
    	* sysdeps/powerpc/powerpc32/fpu/s_llrintf.c (__llrintf): Likewise.

diff --git a/ChangeLog b/ChangeLog
index b91461d..6f71e67 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,56 @@
 2018-09-14  Joseph Myers  <joseph@codesourcery.com>
 
 	* include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ &&
+	__FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (rint): Redirect
+	using MATH_REDIRECT.
+	* sysdeps/aarch64/fpu/s_rint.c: Define NO_MATH_REDIRECT before
+	header inclusion.
+	* sysdeps/aarch64/fpu/s_rintf.c: Likewise.
+	* sysdeps/alpha/fpu/s_rint.c: Likewise.
+	* sysdeps/alpha/fpu/s_rintf.c: Likewise.
+	* sysdeps/i386/fpu/s_rintl.c: Likewise.
+	* sysdeps/ieee754/dbl-64/s_rint.c: Likewise.
+	* sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c: Likewise.
+	* sysdeps/ieee754/float128/s_rintf128.c: Likewise.
+	* sysdeps/ieee754/flt-32/s_rintf.c: Likewise.
+	* sysdeps/ieee754/ldbl-128/s_rintl.c: Likewise.
+	* sysdeps/ieee754/ldbl-128ibm/s_rintl.c: Likewise.
+	* sysdeps/m68k/coldfire/fpu/s_rint.c: Likewise.
+	* sysdeps/m68k/coldfire/fpu/s_rintf.c: Likewise.
+	* sysdeps/m68k/m680x0/fpu/s_rint.c: Likewise.
+	* sysdeps/m68k/m680x0/fpu/s_rintf.c: Likewise.
+	* sysdeps/m68k/m680x0/fpu/s_rintl.c: Likewise.
+	* sysdeps/powerpc/fpu/s_rint.c: Likewise.
+	* sysdeps/powerpc/fpu/s_rintf.c: Likewise.
+	* sysdeps/riscv/rv64/rvd/s_rint.c: Likewise.
+	* sysdeps/riscv/rvf/s_rintf.c: Likewise.
+	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.c: Likewise.
+	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.c: Likewise.
+	* sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c: Likewise.
+	* sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c: Likewise.
+	* sysdeps/x86_64/fpu/multiarch/s_rint.c: Likewise.
+	* sysdeps/x86_64/fpu/multiarch/s_rintf.c: Likewise.
+	* sysdeps/x86_64/fpu/math_private.h: Remove file.
+	* math/e_scalb.c (invalid_fn): Use rint functions instead of
+	__rint variants.
+	* math/e_scalbf.c (invalid_fn): Likewise.
+	* math/e_scalbl.c (invalid_fn): Likewise.
+	* sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r):
+	Likewise.
+	* sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r):
+	Likewise.
+	* sysdeps/ieee754/k_standard.c (__kernel_standard): Likewise.
+	* sysdeps/ieee754/k_standardl.c (__kernel_standard_l): Likewise.
+	* sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gammal_r):
+	Likewise.
+	* sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (__ieee754_gammal_r):
+	Likewise.
+	* sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r):
+	Likewise.
+	* sysdeps/powerpc/powerpc32/fpu/s_llrint.c (__llrint): Likewise.
+	* sysdeps/powerpc/powerpc32/fpu/s_llrintf.c (__llrintf): Likewise.
+
+	* include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ &&
 	__FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (MATH_REDIRECT):
 	New macro.
 	[!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0)
diff --git a/include/math.h b/include/math.h
index eed9530..f93ecaf 100644
--- a/include/math.h
+++ b/include/math.h
@@ -102,6 +102,7 @@ fabsf128 (_Float128 x)
 #   define MATH_REDIRECT_UNARY_ARGS(TYPE) TYPE
 MATH_REDIRECT (sqrt, "__ieee754_", MATH_REDIRECT_UNARY_ARGS)
 MATH_REDIRECT (floor, "__", MATH_REDIRECT_UNARY_ARGS)
+MATH_REDIRECT (rint, "__", MATH_REDIRECT_UNARY_ARGS)
 #  endif
 # endif
 
diff --git a/math/e_scalb.c b/math/e_scalb.c
index 96c3579..7f795c4 100644
--- a/math/e_scalb.c
+++ b/math/e_scalb.c
@@ -24,7 +24,7 @@ static double
 __attribute__ ((noinline))
 invalid_fn (double x, double fn)
 {
-  if (__rint (fn) != fn)
+  if (rint (fn) != fn)
     return (fn - fn) / (fn - fn);
   else if (fn > 65000.0)
     return __scalbn (x, 65000);
diff --git a/math/e_scalbf.c b/math/e_scalbf.c
index 23b38a9..aa08b9a 100644
--- a/math/e_scalbf.c
+++ b/math/e_scalbf.c
@@ -24,7 +24,7 @@ static float
 __attribute__ ((noinline))
 invalid_fn (float x, float fn)
 {
-  if (__rintf (fn) != fn)
+  if (rintf (fn) != fn)
     return (fn - fn) / (fn - fn);
   else if (fn > 65000.0f)
     return __scalbnf (x, 65000);
diff --git a/math/e_scalbl.c b/math/e_scalbl.c
index a677d06..f0c0bce 100644
--- a/math/e_scalbl.c
+++ b/math/e_scalbl.c
@@ -24,7 +24,7 @@ static long double
 __attribute__ ((noinline))
 invalid_fn (long double x, long double fn)
 {
-  if (__rintl (fn) != fn)
+  if (rintl (fn) != fn)
     return (fn - fn) / (fn - fn);
   else if (fn > 65000.0L)
     return __scalbnl (x, 65000);
diff --git a/sysdeps/aarch64/fpu/s_rint.c b/sysdeps/aarch64/fpu/s_rint.c
index eb4232a..ec7d63d 100644
--- a/sysdeps/aarch64/fpu/s_rint.c
+++ b/sysdeps/aarch64/fpu/s_rint.c
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <libm-alias-double.h>
 
diff --git a/sysdeps/aarch64/fpu/s_rintf.c b/sysdeps/aarch64/fpu/s_rintf.c
index 9ebfcb4..96fb57b 100644
--- a/sysdeps/aarch64/fpu/s_rintf.c
+++ b/sysdeps/aarch64/fpu/s_rintf.c
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <libm-alias-float.h>
 
diff --git a/sysdeps/alpha/fpu/s_rint.c b/sysdeps/alpha/fpu/s_rint.c
index d3bcf18..0f4a746 100644
--- a/sysdeps/alpha/fpu/s_rint.c
+++ b/sysdeps/alpha/fpu/s_rint.c
@@ -16,6 +16,7 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <math_ldbl_opt.h>
 #include <libm-alias-double.h>
diff --git a/sysdeps/alpha/fpu/s_rintf.c b/sysdeps/alpha/fpu/s_rintf.c
index 0cc912d..f8bf5e4 100644
--- a/sysdeps/alpha/fpu/s_rintf.c
+++ b/sysdeps/alpha/fpu/s_rintf.c
@@ -16,6 +16,7 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <libm-alias-float.h>
 
diff --git a/sysdeps/i386/fpu/s_rintl.c b/sysdeps/i386/fpu/s_rintl.c
index 5900435..6946f61 100644
--- a/sysdeps/i386/fpu/s_rintl.c
+++ b/sysdeps/i386/fpu/s_rintl.c
@@ -4,6 +4,7 @@
  * Public domain.
  */
 
+#define NO_MATH_REDIRECT
 #include <libm-alias-ldouble.h>
 #include <math_private.h>
 
diff --git a/sysdeps/ieee754/dbl-64/e_gamma_r.c b/sysdeps/ieee754/dbl-64/e_gamma_r.c
index e7b6dfe..9f7af6f 100644
--- a/sysdeps/ieee754/dbl-64/e_gamma_r.c
+++ b/sysdeps/ieee754/dbl-64/e_gamma_r.c
@@ -129,7 +129,7 @@ __ieee754_gamma_r (double x, int *signgamp)
       return 1.0 / x;
     }
   if (__builtin_expect (hx < 0, 0)
-      && (uint32_t) hx < 0xfff00000 && __rint (x) == x)
+      && (uint32_t) hx < 0xfff00000 && rint (x) == x)
     {
       /* Return value for integer x < 0 is NaN with invalid exception.  */
       *signgamp = 0;
diff --git a/sysdeps/ieee754/dbl-64/s_rint.c b/sysdeps/ieee754/dbl-64/s_rint.c
index cb0f5ca..dd01a84 100644
--- a/sysdeps/ieee754/dbl-64/s_rint.c
+++ b/sysdeps/ieee754/dbl-64/s_rint.c
@@ -20,6 +20,7 @@
  *	Inexact flag raised if x not equal to rint(x).
  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <math_private.h>
 #include <libm-alias-double.h>
diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c
index 622e479..378b73a 100644
--- a/sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c
+++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c
@@ -19,6 +19,7 @@
  *	Inexact flag raised if x not equal to rint(x).
  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <math_private.h>
 #include <libm-alias-double.h>
diff --git a/sysdeps/ieee754/float128/s_rintf128.c b/sysdeps/ieee754/float128/s_rintf128.c
index 2adb95f..73c5377 100644
--- a/sysdeps/ieee754/float128/s_rintf128.c
+++ b/sysdeps/ieee754/float128/s_rintf128.c
@@ -1,2 +1,3 @@
+#define NO_MATH_REDIRECT
 #include <float128_private.h>
 #include "../ldbl-128/s_rintl.c"
diff --git a/sysdeps/ieee754/flt-32/e_gammaf_r.c b/sysdeps/ieee754/flt-32/e_gammaf_r.c
index ddc268e..28da9c4 100644
--- a/sysdeps/ieee754/flt-32/e_gammaf_r.c
+++ b/sysdeps/ieee754/flt-32/e_gammaf_r.c
@@ -121,7 +121,7 @@ __ieee754_gammaf_r (float x, int *signgamp)
       return 1.0 / x;
     }
   if (__builtin_expect (hx < 0, 0)
-      && (uint32_t) hx < 0xff800000 && __rintf (x) == x)
+      && (uint32_t) hx < 0xff800000 && rintf (x) == x)
     {
       /* Return value for integer x < 0 is NaN with invalid exception.  */
       *signgamp = 0;
diff --git a/sysdeps/ieee754/flt-32/s_rintf.c b/sysdeps/ieee754/flt-32/s_rintf.c
index db6f260..0306dc2 100644
--- a/sysdeps/ieee754/flt-32/s_rintf.c
+++ b/sysdeps/ieee754/flt-32/s_rintf.c
@@ -13,6 +13,7 @@
  * ====================================================
  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <math_private.h>
 #include <libm-alias-float.h>
diff --git a/sysdeps/ieee754/k_standard.c b/sysdeps/ieee754/k_standard.c
index f74f9c7..f71a837 100644
--- a/sysdeps/ieee754/k_standard.c
+++ b/sysdeps/ieee754/k_standard.c
@@ -471,11 +471,11 @@ __kernel_standard(double x, double y, int type)
 		if (_LIB_VERSION == _SVID_) {
 		  exc.retval = HUGE;
 		  y *= 0.5;
-		  if(x<zero&&__rint(y)!=y) exc.retval = -HUGE;
+		  if(x<zero&&rint(y)!=y) exc.retval = -HUGE;
 		} else {
 		  exc.retval = HUGE_VAL;
 		  y *= 0.5;
-		  if(x<zero&&__rint(y)!=y) exc.retval = -HUGE_VAL;
+		  if(x<zero&&rint(y)!=y) exc.retval = -HUGE_VAL;
 		}
 		if (_LIB_VERSION == _POSIX_)
 		  __set_errno (ERANGE);
@@ -491,7 +491,7 @@ __kernel_standard(double x, double y, int type)
 		exc.name = CSTR ("pow");
 		exc.retval =  zero;
 		y *= 0.5;
-		if (x < zero && __rint (y) != y)
+		if (x < zero && rint (y) != y)
 		  exc.retval = -zero;
 		if (_LIB_VERSION == _POSIX_)
 		  __set_errno (ERANGE);
diff --git a/sysdeps/ieee754/k_standardl.c b/sysdeps/ieee754/k_standardl.c
index 58abc22..618abb2 100644
--- a/sysdeps/ieee754/k_standardl.c
+++ b/sysdeps/ieee754/k_standardl.c
@@ -73,14 +73,14 @@ __kernel_standard_l (long double x, long double y, int type)
 	{
 	  exc.retval = HUGE;
 	  y *= 0.5;
-	  if (x < zero && __rintl (y) != y)
+	  if (x < zero && rintl (y) != y)
 	    exc.retval = -HUGE;
 	}
       else
 	{
 	  exc.retval = HUGE_VAL;
 	  y *= 0.5;
-	  if (x < zero && __rintl (y) != y)
+	  if (x < zero && rintl (y) != y)
 	    exc.retval = -HUGE_VAL;
 	}
       if (_LIB_VERSION == _POSIX_)
@@ -97,7 +97,7 @@ __kernel_standard_l (long double x, long double y, int type)
       exc.name = (char *) "powl";
       exc.retval = zero;
       y *= 0.5;
-      if (x < zero && __rintl (y) != y)
+      if (x < zero && rintl (y) != y)
 	exc.retval = -zero;
       if (_LIB_VERSION == _POSIX_)
 	__set_errno (ERANGE);
diff --git a/sysdeps/ieee754/ldbl-128/e_gammal_r.c b/sysdeps/ieee754/ldbl-128/e_gammal_r.c
index bf3c81c..9fd0dc0 100644
--- a/sysdeps/ieee754/ldbl-128/e_gammal_r.c
+++ b/sysdeps/ieee754/ldbl-128/e_gammal_r.c
@@ -136,7 +136,7 @@ __ieee754_gammal_r (_Float128 x, int *signgamp)
       *signgamp = 0;
       return 1.0 / x;
     }
-  if (hx < 0 && (uint64_t) hx < 0xffff000000000000ULL && __rintl (x) == x)
+  if (hx < 0 && (uint64_t) hx < 0xffff000000000000ULL && rintl (x) == x)
     {
       /* Return value for integer x < 0 is NaN with invalid exception.  */
       *signgamp = 0;
diff --git a/sysdeps/ieee754/ldbl-128/s_rintl.c b/sysdeps/ieee754/ldbl-128/s_rintl.c
index 9e6637a..b6337e1 100644
--- a/sysdeps/ieee754/ldbl-128/s_rintl.c
+++ b/sysdeps/ieee754/ldbl-128/s_rintl.c
@@ -27,6 +27,7 @@ static char rcsid[] = "$NetBSD: $";
  *	Inexact flag raised if x not equal to rintl(x).
  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <math_private.h>
 #include <libm-alias-ldouble.h>
diff --git a/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c b/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c
index 5d36cf8..8906da4 100644
--- a/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c
+++ b/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c
@@ -136,7 +136,7 @@ __ieee754_gammal_r (long double x, int *signgamp)
       *signgamp = 0;
       return 1.0 / x;
     }
-  if (hx < 0 && (uint64_t) hx < 0xfff0000000000000ULL && __rintl (x) == x)
+  if (hx < 0 && (uint64_t) hx < 0xfff0000000000000ULL && rintl (x) == x)
     {
       /* Return value for integer x < 0 is NaN with invalid exception.  */
       *signgamp = 0;
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_rintl.c b/sysdeps/ieee754/ldbl-128ibm/s_rintl.c
index e356b63..6eafe16 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_rintl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_rintl.c
@@ -20,6 +20,7 @@
 /* This has been coded in assembler because GCC makes such a mess of it
    when it's coded in C.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <fenv.h>
 #include <math-barriers.h>
diff --git a/sysdeps/ieee754/ldbl-96/e_gammal_r.c b/sysdeps/ieee754/ldbl-96/e_gammal_r.c
index 8af9d7c..e88a137 100644
--- a/sysdeps/ieee754/ldbl-96/e_gammal_r.c
+++ b/sysdeps/ieee754/ldbl-96/e_gammal_r.c
@@ -141,7 +141,7 @@ __ieee754_gammal_r (long double x, int *signgamp)
       *signgamp = 0;
       return x + x;
     }
-  if (__builtin_expect ((es & 0x8000) != 0, 0) && __rintl (x) == x)
+  if (__builtin_expect ((es & 0x8000) != 0, 0) && rintl (x) == x)
     {
       /* Return value for integer x < 0 is NaN with invalid exception.  */
       *signgamp = 0;
diff --git a/sysdeps/m68k/coldfire/fpu/s_rint.c b/sysdeps/m68k/coldfire/fpu/s_rint.c
index a5bc4ad..fa03a03 100644
--- a/sysdeps/m68k/coldfire/fpu/s_rint.c
+++ b/sysdeps/m68k/coldfire/fpu/s_rint.c
@@ -15,6 +15,7 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <libm-alias-double.h>
 
 double
diff --git a/sysdeps/m68k/coldfire/fpu/s_rintf.c b/sysdeps/m68k/coldfire/fpu/s_rintf.c
index d68a3fd..e7ed3af 100644
--- a/sysdeps/m68k/coldfire/fpu/s_rintf.c
+++ b/sysdeps/m68k/coldfire/fpu/s_rintf.c
@@ -15,6 +15,7 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <libm-alias-float.h>
 
 float
diff --git a/sysdeps/m68k/m680x0/fpu/s_rint.c b/sysdeps/m68k/m680x0/fpu/s_rint.c
index fa092c0..cc88900 100644
--- a/sysdeps/m68k/m680x0/fpu/s_rint.c
+++ b/sysdeps/m68k/m680x0/fpu/s_rint.c
@@ -1,2 +1,3 @@
+#define NO_MATH_REDIRECT
 #include <math-type-macros-double.h>
 #include <s_rint_template.c>
diff --git a/sysdeps/m68k/m680x0/fpu/s_rintf.c b/sysdeps/m68k/m680x0/fpu/s_rintf.c
index 5cda19c..70d6be9 100644
--- a/sysdeps/m68k/m680x0/fpu/s_rintf.c
+++ b/sysdeps/m68k/m680x0/fpu/s_rintf.c
@@ -1,2 +1,3 @@
+#define NO_MATH_REDIRECT
 #include <math-type-macros-float.h>
 #include <s_rint_template.c>
diff --git a/sysdeps/m68k/m680x0/fpu/s_rintl.c b/sysdeps/m68k/m680x0/fpu/s_rintl.c
index df393ee..c649201 100644
--- a/sysdeps/m68k/m680x0/fpu/s_rintl.c
+++ b/sysdeps/m68k/m680x0/fpu/s_rintl.c
@@ -1,2 +1,3 @@
+#define NO_MATH_REDIRECT
 #include <math-type-macros-ldouble.h>
 #include <s_rint_template.c>
diff --git a/sysdeps/powerpc/fpu/s_rint.c b/sysdeps/powerpc/fpu/s_rint.c
index 7a0cefd..1a43817 100644
--- a/sysdeps/powerpc/fpu/s_rint.c
+++ b/sysdeps/powerpc/fpu/s_rint.c
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <libm-alias-double.h>
 
diff --git a/sysdeps/powerpc/fpu/s_rintf.c b/sysdeps/powerpc/fpu/s_rintf.c
index 8752834..18182b6 100644
--- a/sysdeps/powerpc/fpu/s_rintf.c
+++ b/sysdeps/powerpc/fpu/s_rintf.c
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <libm-alias-float.h>
 
diff --git a/sysdeps/powerpc/powerpc32/fpu/s_llrint.c b/sysdeps/powerpc/powerpc32/fpu/s_llrint.c
index 3704f9b..f667974 100644
--- a/sysdeps/powerpc/powerpc32/fpu/s_llrint.c
+++ b/sysdeps/powerpc/powerpc32/fpu/s_llrint.c
@@ -26,7 +26,7 @@
 long long int
 __llrint (double x)
 {
-  double rx = __rint (x);
+  double rx = rint (x);
   if (HAVE_PPC_FCTIDZ || rx != x)
     return (long long int) rx;
   else
diff --git a/sysdeps/powerpc/powerpc32/fpu/s_llrintf.c b/sysdeps/powerpc/powerpc32/fpu/s_llrintf.c
index c5e78fa..8079db4 100644
--- a/sysdeps/powerpc/powerpc32/fpu/s_llrintf.c
+++ b/sysdeps/powerpc/powerpc32/fpu/s_llrintf.c
@@ -24,7 +24,7 @@
 long long int
 __llrintf (float x)
 {
-  float rx = __rintf (x);
+  float rx = rintf (x);
   if (HAVE_PPC_FCTIDZ || rx != x)
     return (long long int) rx;
   else
diff --git a/sysdeps/riscv/rv64/rvd/s_rint.c b/sysdeps/riscv/rv64/rvd/s_rint.c
index ef2380e..6c383cc 100644
--- a/sysdeps/riscv/rv64/rvd/s_rint.c
+++ b/sysdeps/riscv/rv64/rvd/s_rint.c
@@ -16,6 +16,7 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <math_private.h>
 #include <libm-alias-double.h>
diff --git a/sysdeps/riscv/rvf/s_rintf.c b/sysdeps/riscv/rvf/s_rintf.c
index 2ec3877..00e347a 100644
--- a/sysdeps/riscv/rvf/s_rintf.c
+++ b/sysdeps/riscv/rvf/s_rintf.c
@@ -16,6 +16,7 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <math_private.h>
 #include <libm-alias-float.h>
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.c b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.c
index bba7228..9c0f9bf 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.c
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.c
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #define __rint __redirect_rint
 #include <math.h>
 #undef __rint
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.c b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.c
index 74c5e25..ca9c2de 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.c
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.c
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <sparc-ifunc.h>
 #include <libm-alias-float.h>
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c
index ae782b0..981f406 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <sparc-ifunc.h>
 #include <libm-alias-double.h>
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c
index e0265c4..b5c05b0 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <math.h>
 #include <sparc-ifunc.h>
 #include <libm-alias-float.h>
diff --git a/sysdeps/x86_64/fpu/math_private.h b/sysdeps/x86_64/fpu/math_private.h
deleted file mode 100644
index e5bf46f..0000000
--- a/sysdeps/x86_64/fpu/math_private.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef X86_64_MATH_PRIVATE_H
-#define X86_64_MATH_PRIVATE_H 1
-
-#include_next <math_private.h>
-
-#ifdef __SSE4_1__
-extern __always_inline double
-__rint (double d)
-{
-  double res;
-# if defined __AVX__ || defined SSE2AVX
-  asm ("vroundsd $4, %1, %0, %0" : "=x" (res) : "xm" (d));
-# else
-  asm ("roundsd $4, %1, %0" : "=x" (res) : "xm" (d));
-# endif
-  return res;
-}
-
-extern __always_inline float
-__rintf (float d)
-{
-  float res;
-# if defined __AVX__ || defined SSE2AVX
-  asm ("vroundss $4, %1, %0, %0" : "=x" (res) : "xm" (d));
-# else
-  asm ("roundss $4, %1, %0" : "=x" (res) : "xm" (d));
-# endif
-  return res;
-}
-#endif /* __SSE4_1__ */
-
-#endif /* X86_64_MATH_PRIVATE_H */
diff --git a/sysdeps/x86_64/fpu/multiarch/s_rint.c b/sysdeps/x86_64/fpu/multiarch/s_rint.c
index f1cb2fe..10c9ee4 100644
--- a/sysdeps/x86_64/fpu/multiarch/s_rint.c
+++ b/sysdeps/x86_64/fpu/multiarch/s_rint.c
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <libm-alias-double.h>
 
 #define rint __redirect_rint
diff --git a/sysdeps/x86_64/fpu/multiarch/s_rintf.c b/sysdeps/x86_64/fpu/multiarch/s_rintf.c
index 41323b3..5ef94a6 100644
--- a/sysdeps/x86_64/fpu/multiarch/s_rintf.c
+++ b/sysdeps/x86_64/fpu/multiarch/s_rintf.c
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define NO_MATH_REDIRECT
 #include <libm-alias-float.h>
 
 #define rintf __redirect_rintf

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   50 ++++++++++++++++++++
 include/math.h                                     |    1 +
 math/e_scalb.c                                     |    2 +-
 math/e_scalbf.c                                    |    2 +-
 math/e_scalbl.c                                    |    2 +-
 sysdeps/aarch64/fpu/s_rint.c                       |    1 +
 sysdeps/aarch64/fpu/s_rintf.c                      |    1 +
 sysdeps/alpha/fpu/s_rint.c                         |    1 +
 sysdeps/alpha/fpu/s_rintf.c                        |    1 +
 sysdeps/i386/fpu/s_rintl.c                         |    1 +
 sysdeps/ieee754/dbl-64/e_gamma_r.c                 |    2 +-
 sysdeps/ieee754/dbl-64/s_rint.c                    |    1 +
 sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c        |    1 +
 sysdeps/ieee754/float128/s_rintf128.c              |    1 +
 sysdeps/ieee754/flt-32/e_gammaf_r.c                |    2 +-
 sysdeps/ieee754/flt-32/s_rintf.c                   |    1 +
 sysdeps/ieee754/k_standard.c                       |    6 +-
 sysdeps/ieee754/k_standardl.c                      |    6 +-
 sysdeps/ieee754/ldbl-128/e_gammal_r.c              |    2 +-
 sysdeps/ieee754/ldbl-128/s_rintl.c                 |    1 +
 sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c           |    2 +-
 sysdeps/ieee754/ldbl-128ibm/s_rintl.c              |    1 +
 sysdeps/ieee754/ldbl-96/e_gammal_r.c               |    2 +-
 sysdeps/m68k/coldfire/fpu/s_rint.c                 |    1 +
 sysdeps/m68k/coldfire/fpu/s_rintf.c                |    1 +
 sysdeps/m68k/m680x0/fpu/s_rint.c                   |    1 +
 sysdeps/m68k/m680x0/fpu/s_rintf.c                  |    1 +
 sysdeps/m68k/m680x0/fpu/s_rintl.c                  |    1 +
 sysdeps/powerpc/fpu/s_rint.c                       |    1 +
 sysdeps/powerpc/fpu/s_rintf.c                      |    1 +
 sysdeps/powerpc/powerpc32/fpu/s_llrint.c           |    2 +-
 sysdeps/powerpc/powerpc32/fpu/s_llrintf.c          |    2 +-
 sysdeps/riscv/rv64/rvd/s_rint.c                    |    1 +
 sysdeps/riscv/rvf/s_rintf.c                        |    1 +
 .../sparc/sparc32/sparcv9/fpu/multiarch/s_rint.c   |    1 +
 .../sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.c  |    1 +
 sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c       |    1 +
 sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c      |    1 +
 sysdeps/x86_64/fpu/math_private.h                  |   32 -------------
 sysdeps/x86_64/fpu/multiarch/s_rint.c              |    1 +
 sysdeps/x86_64/fpu/multiarch/s_rintf.c             |    1 +
 41 files changed, 93 insertions(+), 48 deletions(-)
 delete mode 100644 sysdeps/x86_64/fpu/math_private.h


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]