From: Richard Henderson <rth@twiddle.net>
To: libc-ports@sourceware.org
Subject: [PATCH 7/7] alpha: Always handle inexact in rint implementations
Date: Fri, 15 Jun 2012 19:28:00 -0000 [thread overview]
Message-ID: <1339788037-29519-8-git-send-email-rth@twiddle.net> (raw)
In-Reply-To: <1339788037-29519-1-git-send-email-rth@twiddle.net>
---
ChangeLog.alpha | 30 ++++++++++++++++++++++++++++++
sysdeps/alpha/fpu/s_rint.c | 9 ++-------
sysdeps/alpha/fpu/s_rintf.c | 6 +-----
3 files changed, 33 insertions(+), 12 deletions(-)
diff --git a/ChangeLog.alpha b/ChangeLog.alpha
index 824083c..5ec3634 100644
--- a/ChangeLog.alpha
+++ b/ChangeLog.alpha
@@ -1,3 +1,33 @@
+2012-06-15 Richard Henderson <rth@twiddle.net>
+
+ * sysdeps/alpha/fpu/s_rint.c (__rint): Handle inexact regardless
+ of -mieee-with-inexact.
+ * sysdeps/alpha/fpu/s_rintf.c (__rintf): Likewise.
+
+ [BZ #13848]
+ * sysdeps/alpha/fpu/s_nearbyint.c (__nearbyint): Fix corner cases
+ similar to BZ#5350.
+ * sysdeps/alpha/fpu/s_nearbyintf.c (__nearbyintf): Likewise.
+
+ * sysdeps/alpha/fpu/s_copysign.c (__copysign): Use builtin.
+ * sysdeps/alpha/fpu/s_copysignf.c (__copysignf): Use builtin.
+
+ * sysdeps/unix/sysv/linux/alpha/bits/resource.h (RLIMIT_RTTIME): New.
+ (prlimit, prlimit64): New declarations.
+ * sysdeps/unix/sysv/linux/alpha/bits/shm.h (SHM_EXEC): New.
+ * sysdeps/unix/sysv/linux/alpha/bits/stat.h: Use only __USE_ATFILE
+ to protect UTIME_NOW and UTIME_OMIT.
+
+ * sysdeps/alpha/fpu/cfloat-compat.h: Remove __GNUC_PREREQ check.
+ * sysdeps/alpha/fpu/s_fabs.c (__fabs): Likewise.
+ * sysdeps/alpha/fpu/s_fabsf.c (__fabsf): Likewise.
+ * sysdeps/unix/sysv/linux/alpha/sysconf.c (implver): Remove.
+ (amask): Remove.
+ (__sysconf): Use builtins directly.
+
+ * sysdeps/alpha/bits/mathdef.h (float_t): Define as float
+ regardless of __GNUC__.
+
2012-06-06 Richard Henderson <rth@twiddle.net>
* sysdeps/alpha/strncmp.S: Bound count to LONG_MAX at startup.
diff --git a/sysdeps/alpha/fpu/s_rint.c b/sysdeps/alpha/fpu/s_rint.c
index b58ef81..6ddcc13 100644
--- a/sysdeps/alpha/fpu/s_rint.c
+++ b/sysdeps/alpha/fpu/s_rint.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson.
@@ -26,12 +26,7 @@ __rint (double x)
if (isless (fabs (x), 9007199254740992.0)) /* 1 << DBL_MANT_DIG */
{
double tmp1, new_x;
- __asm (
-#ifdef _IEEE_FP_INEXACT
- "cvttq/svid %2,%1\n\t"
-#else
- "cvttq/svd %2,%1\n\t"
-#endif
+ __asm ("cvttq/svid %2,%1\n\t"
"cvtqt/d %1,%0\n\t"
: "=f"(new_x), "=&f"(tmp1)
: "f"(x));
diff --git a/sysdeps/alpha/fpu/s_rintf.c b/sysdeps/alpha/fpu/s_rintf.c
index b17bf8c..226e77e 100644
--- a/sysdeps/alpha/fpu/s_rintf.c
+++ b/sysdeps/alpha/fpu/s_rintf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson.
@@ -32,11 +32,7 @@ __rintf (float x)
float tmp1, tmp2, new_x;
__asm ("cvtst/s %3,%2\n\t"
-#ifdef _IEEE_FP_INEXACT
"cvttq/svid %2,%1\n\t"
-#else
- "cvttq/svd %2,%1\n\t"
-#endif
"cvtqt/d %1,%0\n\t"
: "=f"(new_x), "=&f"(tmp1), "=&f"(tmp2)
: "f"(x));
--
1.7.7.6
prev parent reply other threads:[~2012-06-15 19:28 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-15 19:20 [PATCH 0/7] Fixes for alpha problems Joseph noticed Richard Henderson
2012-06-15 19:21 ` [PATCH 5/7] alpha: Use builtins for copysign Richard Henderson
2012-06-15 19:21 ` [PATCH 4/7] alpha: Fix protection on UTIME_NOW Richard Henderson
2012-06-15 19:21 ` [PATCH 1/7] alpha: Fix float_t in bits/mathdef.h Richard Henderson
2012-06-15 19:21 ` [PATCH 3/7] alpha: Add missing definitions in resource.h, shm.h Richard Henderson
2012-06-15 19:21 ` [PATCH 2/7] alpha: Remove some __GNUC_PREREQs that are too old Richard Henderson
2012-06-15 19:27 ` [PATCH 6/7] [BZ #13848] alpha: Fix s_nearbyint implementation Richard Henderson
2012-06-15 19:28 ` Richard Henderson [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1339788037-29519-8-git-send-email-rth@twiddle.net \
--to=rth@twiddle.net \
--cc=libc-ports@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).