This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.27.9000-544-g2b44520
- From: nsz at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 2 Jul 2018 08:29:43 -0000
- Subject: 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