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.27.9000-544-g2b44520


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  2b445206a1a450af0e6e66d78652e1ffd80685e2 (commit)
      from  2827ab990aefbb0e53374199b875d98f116d6390 (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=2b445206a1a450af0e6e66d78652e1ffd80685e2

commit 2b445206a1a450af0e6e66d78652e1ffd80685e2
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Wed Jun 13 15:07:21 2018 +0100

    Use uint32_t sign in single precision math error handling functions
    
    Ideally sign should be bool, but sometimes (e.g. in powf) it's more
    efficient to pass a non-zero value than 1 to indicate that the sign
    should be set.  The fixed size int is less ambigous than unsigned
    long.
    
    	* sysdeps/ieee754/flt-32/e_powf.c (__powf): Use uint32_t.
    	(exp2f_inline): Likewise.
    	* sysdeps/ieee754/flt-32/math_config.h (__math_oflowf): Likewise.
    	(__math_uflowf): Likewise.
    	(__math_may_uflowf): Likewise.
    	(__math_divzerof): Likewise.
    	(__math_invalidf): Likewise.
    	* sysdeps/ieee754/flt-32/math_errf.c (xflowf): Likewise.
    	(__math_oflowf): Likewise.
    	(__math_uflowf): Likewise.
    	(__math_may_uflowf): Likewise.
    	(__math_divzerof): Likewise.
    	(__math_invalidf): Likewise.

diff --git a/ChangeLog b/ChangeLog
index 3371a9b..5054985 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2018-07-02  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+	* sysdeps/ieee754/flt-32/e_powf.c (__powf): Use uint32_t.
+	(exp2f_inline): Likewise.
+	* sysdeps/ieee754/flt-32/math_config.h (__math_oflowf): Likewise.
+	(__math_uflowf): Likewise.
+	(__math_may_uflowf): Likewise.
+	(__math_divzerof): Likewise.
+	(__math_invalidf): Likewise.
+	* sysdeps/ieee754/flt-32/math_errf.c (xflowf): Likewise.
+	(__math_oflowf): Likewise.
+	(__math_uflowf): Likewise.
+	(__math_may_uflowf): Likewise.
+	(__math_divzerof): Likewise.
+	(__math_invalidf): Likewise.
+
 2018-06-29  DJ Delorie  <dj@redhat.com>
 	    Carlos O'Donell  <carlos@redhat.com>
 
diff --git a/sysdeps/ieee754/flt-32/e_powf.c b/sysdeps/ieee754/flt-32/e_powf.c
index 90661e2..ece83f0 100644
--- a/sysdeps/ieee754/flt-32/e_powf.c
+++ b/sysdeps/ieee754/flt-32/e_powf.c
@@ -84,7 +84,7 @@ log2_inline (uint32_t ix)
    (in case of fast toint intrinsics) or not.  The unscaled xd must be
    in [-1021,1023], sign_bias sets the sign of the result.  */
 static inline double_t
-exp2_inline (double_t xd, unsigned long sign_bias)
+exp2_inline (double_t xd, uint32_t sign_bias)
 {
   uint64_t ki, ski, t;
   /* double_t for better performance on targets with FLT_EVAL_METHOD==2.  */
@@ -143,7 +143,7 @@ zeroinfnan (uint32_t ix)
 float
 __powf (float x, float y)
 {
-  unsigned long sign_bias = 0;
+  uint32_t sign_bias = 0;
   uint32_t ix, iy;
 
   ix = asuint (x);
diff --git a/sysdeps/ieee754/flt-32/math_config.h b/sysdeps/ieee754/flt-32/math_config.h
index c4def9b..9c4ef30 100644
--- a/sysdeps/ieee754/flt-32/math_config.h
+++ b/sysdeps/ieee754/flt-32/math_config.h
@@ -102,10 +102,10 @@ issignalingf_inline (float x)
 
 #define NOINLINE __attribute__ ((noinline))
 
-attribute_hidden float __math_oflowf (unsigned long);
-attribute_hidden float __math_uflowf (unsigned long);
-attribute_hidden float __math_may_uflowf (unsigned long);
-attribute_hidden float __math_divzerof (unsigned long);
+attribute_hidden float __math_oflowf (uint32_t);
+attribute_hidden float __math_uflowf (uint32_t);
+attribute_hidden float __math_may_uflowf (uint32_t);
+attribute_hidden float __math_divzerof (uint32_t);
 attribute_hidden float __math_invalidf (float);
 
 /* Shared between expf, exp2f and powf.  */
diff --git a/sysdeps/ieee754/flt-32/math_errf.c b/sysdeps/ieee754/flt-32/math_errf.c
index 7d58c0b..5bc7ac6 100644
--- a/sysdeps/ieee754/flt-32/math_errf.c
+++ b/sysdeps/ieee754/flt-32/math_errf.c
@@ -33,14 +33,14 @@ with_errnof (float y, int e)
 
 /* NOINLINE prevents fenv semantics breaking optimizations.  */
 NOINLINE static float
-xflowf (unsigned long sign, float y)
+xflowf (uint32_t sign, float y)
 {
   y = (sign ? -y : y) * y;
   return with_errnof (y, ERANGE);
 }
 
 attribute_hidden float
-__math_uflowf (unsigned long sign)
+__math_uflowf (uint32_t sign)
 {
   return xflowf (sign, 0x1p-95f);
 }
@@ -49,20 +49,20 @@ __math_uflowf (unsigned long sign)
 /* Underflows to zero in some non-nearest rounding mode, setting errno
    is valid even if the result is non-zero, but in the subnormal range.  */
 attribute_hidden float
-__math_may_uflowf (unsigned long sign)
+__math_may_uflowf (uint32_t sign)
 {
   return xflowf (sign, 0x1.4p-75f);
 }
 #endif
 
 attribute_hidden float
-__math_oflowf (unsigned long sign)
+__math_oflowf (uint32_t sign)
 {
   return xflowf (sign, 0x1p97f);
 }
 
 attribute_hidden float
-__math_divzerof (unsigned long sign)
+__math_divzerof (uint32_t sign)
 {
   float y = 0;
   return with_errnof ((sign ? -1 : 1) / y, ERANGE);

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

Summary of changes:
 ChangeLog                            |   16 ++++++++++++++++
 sysdeps/ieee754/flt-32/e_powf.c      |    4 ++--
 sysdeps/ieee754/flt-32/math_config.h |    8 ++++----
 sysdeps/ieee754/flt-32/math_errf.c   |   10 +++++-----
 4 files changed, 27 insertions(+), 11 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]