* Use __floor not floor in sinf [committed]
@ 2017-12-04 16:59 Joseph Myers
0 siblings, 0 replies; only message in thread
From: Joseph Myers @ 2017-12-04 16:59 UTC (permalink / raw)
To: libc-alpha
The new sinf implementation introduced localplt failures for all
platforms where the compiler did not inline the calls to floor
(converted to trunc by machine-independent optimizations). This patch
changes the calls to use __floor as normal in libm.
We can't use the public function names floor / floorf / floorl /
floorf128 in libm code in the absence of appropriate asms to redirect
floor/trunc calls, if not inlined, to use the internal names instead
(while avoiding breaking code building the floor functions themselves)
- while having such asms and then calling the public functions
unconditionally would be desirable for optimization (few architectures
have __floor inlines in math_private.h, and once the built-in function
is used you don't need them), using __floor is the minimum safe fix
for the present test regressions.
Tested with build-many-glibcs.py that this fixes the localplt test
failure for arm-linux-gnueabi. Committed.
2017-12-04 Joseph Myers <joseph@codesourcery.com>
* sysdeps/ieee754/flt-32/s_sinf.c (SINF_FUNC): Use __floor instead
of floor.
diff --git a/sysdeps/ieee754/flt-32/s_sinf.c b/sysdeps/ieee754/flt-32/s_sinf.c
index f03dba4..40d3d19 100644
--- a/sysdeps/ieee754/flt-32/s_sinf.c
+++ b/sysdeps/ieee754/flt-32/s_sinf.c
@@ -177,8 +177,8 @@ SINF_FUNC (float x)
{
if (abstheta < 0x1p+23) /* |x| < 2^23. */
{
- unsigned long int n = floor (abstheta * inv_PI_4) + 1.0;
- double x = floor (n / 2.0);
+ unsigned long int n = __floor (abstheta * inv_PI_4) + 1.0;
+ double x = __floor (n / 2.0);
theta = x * PI_2_lo + (x * PI_2_hi + abstheta);
/* Argument reduction needed. */
return reduced (theta, n, signbit);
--
Joseph S. Myers
joseph@codesourcery.com
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2017-12-04 16:59 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-04 16:59 Use __floor not floor in sinf [committed] Joseph Myers
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).