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.22-255-gb868239


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  b8682397ab2db1aed7f25d0a0c7c81134a97c8c7 (commit)
      from  46f74e1deee549b41160d353ce0c8f7db555d36c (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=b8682397ab2db1aed7f25d0a0c7c81134a97c8c7

commit b8682397ab2db1aed7f25d0a0c7c81134a97c8c7
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Thu Sep 17 16:47:14 2015 +0000

    Reduce number of constants in __finite* (bug 15384).
    
    Bug 15384 notes that in __finite, two different constants are used
    that could be the same constant (the result only depends on the
    exponent of the floating-point representation), and that using the
    same constant is better for architectures where constants need loading
    from a constant pool.  This patch implements that change.
    
    Tested for x86_64, mips64 and powerpc.
    
    	[BZ #15384]
    	* sysdeps/ieee754/dbl-64/s_finite.c (FINITE): Use same constant as
    	bit-mask as in subtraction.
    	* sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c (__finite):
    	Likewise.
    	* sysdeps/ieee754/flt-32/s_finitef.c (FINITEF): Likewise.
    	* sysdeps/ieee754/ldbl-128/s_finitel.c (__finitel): Likewise.
    	* sysdeps/ieee754/ldbl-128ibm/s_finitel.c (__finitel): Likewise.

diff --git a/ChangeLog b/ChangeLog
index 5573096..eec2c82 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2015-09-17  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #15384]
+	* sysdeps/ieee754/dbl-64/s_finite.c (FINITE): Use same constant as
+	bit-mask as in subtraction.
+	* sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c (__finite):
+	Likewise.
+	* sysdeps/ieee754/flt-32/s_finitef.c (FINITEF): Likewise.
+	* sysdeps/ieee754/ldbl-128/s_finitel.c (__finitel): Likewise.
+	* sysdeps/ieee754/ldbl-128ibm/s_finitel.c (__finitel): Likewise.
+
 	[BZ #18951]
 	* sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r): Force
 	underflow exception for small results.
diff --git a/NEWS b/NEWS
index cb28186..46ad3fa 100644
--- a/NEWS
+++ b/NEWS
@@ -9,13 +9,13 @@ Version 2.23
 
 * The following bugs are resolved with this release:
 
-  2542, 2543, 2558, 2898, 4404, 6803, 14341, 14912, 15786, 15918, 16141,
-  16296, 16415, 16517, 16519, 16520, 16521, 16734, 16973, 16985, 17243,
-  17244, 17787, 17905, 18084, 18086, 18240, 18265, 18370, 18421, 18480,
-  18525, 18595, 18610, 18618, 18647, 18661, 18674, 18675, 18681, 18757,
-  18778, 18781, 18787, 18789, 18790, 18795, 18796, 18820, 18823, 18824,
-  18857, 18863, 18870, 18872, 18873, 18875, 18887, 18921, 18951, 18952,
-  18961, 18966, 18967, 18977.
+  2542, 2543, 2558, 2898, 4404, 6803, 14341, 14912, 15384, 15786, 15918,
+  16141, 16296, 16415, 16517, 16519, 16520, 16521, 16734, 16973, 16985,
+  17243, 17244, 17787, 17905, 18084, 18086, 18240, 18265, 18370, 18421,
+  18480, 18525, 18595, 18610, 18618, 18647, 18661, 18674, 18675, 18681,
+  18757, 18778, 18781, 18787, 18789, 18790, 18795, 18796, 18820, 18823,
+  18824, 18857, 18863, 18870, 18872, 18873, 18875, 18887, 18921, 18951,
+  18952, 18961, 18966, 18967, 18977.
 
 * The obsolete header <regexp.h> has been removed.  Programs that require
   this header must be updated to use <regex.h> instead.
diff --git a/sysdeps/ieee754/dbl-64/s_finite.c b/sysdeps/ieee754/dbl-64/s_finite.c
index 49986bb..2b0ed50 100644
--- a/sysdeps/ieee754/dbl-64/s_finite.c
+++ b/sysdeps/ieee754/dbl-64/s_finite.c
@@ -32,7 +32,7 @@ int FINITE(double x)
 {
   int32_t hx;
   GET_HIGH_WORD (hx, x);
-  return (int) ((u_int32_t) ((hx & 0x7fffffff) - 0x7ff00000) >> 31);
+  return (int) ((u_int32_t) ((hx & 0x7ff00000) - 0x7ff00000) >> 31);
 }
 hidden_def (__finite)
 weak_alias (__finite, finite)
diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c
index fcf2e6d..a155a5e 100644
--- a/sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c
+++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c
@@ -24,7 +24,7 @@ __finite(double x)
 {
   int64_t lx;
   EXTRACT_WORDS64(lx,x);
-  return (int)((uint64_t)((lx&INT64_C(0x7fffffffffffffff))-INT64_C(0x7ff0000000000000))>>63);
+  return (int)((uint64_t)((lx&INT64_C(0x7ff0000000000000))-INT64_C(0x7ff0000000000000))>>63);
 }
 hidden_def (__finite)
 weak_alias (__finite, finite)
diff --git a/sysdeps/ieee754/flt-32/s_finitef.c b/sysdeps/ieee754/flt-32/s_finitef.c
index 4ea270a..4c5b339 100644
--- a/sysdeps/ieee754/flt-32/s_finitef.c
+++ b/sysdeps/ieee754/flt-32/s_finitef.c
@@ -35,7 +35,7 @@ int FINITEF(float x)
 {
 	int32_t ix;
 	GET_FLOAT_WORD(ix,x);
-	return (int)((u_int32_t)((ix&0x7fffffff)-0x7f800000)>>31);
+	return (int)((u_int32_t)((ix&0x7f800000)-0x7f800000)>>31);
 }
 hidden_def (__finitef)
 weak_alias (__finitef, finitef)
diff --git a/sysdeps/ieee754/ldbl-128/s_finitel.c b/sysdeps/ieee754/ldbl-128/s_finitel.c
index f862a44..ea8a9ba 100644
--- a/sysdeps/ieee754/ldbl-128/s_finitel.c
+++ b/sysdeps/ieee754/ldbl-128/s_finitel.c
@@ -29,7 +29,7 @@ int __finitel(long double x)
 {
 	int64_t hx;
 	GET_LDOUBLE_MSW64(hx,x);
-	return (int)((u_int64_t)((hx&0x7fffffffffffffffLL)
+	return (int)((u_int64_t)((hx&0x7fff000000000000LL)
 				 -0x7fff000000000000LL)>>63);
 }
 hidden_def (__finitel)
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_finitel.c b/sysdeps/ieee754/ldbl-128ibm/s_finitel.c
index b562ce6..3b9e3de 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_finitel.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_finitel.c
@@ -34,7 +34,7 @@ ___finitel (long double x)
 
   xhi = ldbl_high (x);
   EXTRACT_WORDS64 (hx, xhi);
-  hx &= 0x7fffffffffffffffLL;
+  hx &= 0x7ff0000000000000LL;
   hx -= 0x7ff0000000000000LL;
   return hx >> 63;
 }

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

Summary of changes:
 ChangeLog                                     |    9 +++++++++
 NEWS                                          |   14 +++++++-------
 sysdeps/ieee754/dbl-64/s_finite.c             |    2 +-
 sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c |    2 +-
 sysdeps/ieee754/flt-32/s_finitef.c            |    2 +-
 sysdeps/ieee754/ldbl-128/s_finitel.c          |    2 +-
 sysdeps/ieee754/ldbl-128ibm/s_finitel.c       |    2 +-
 7 files changed, 21 insertions(+), 12 deletions(-)


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]