[glibc] 01/01: debian/patches/alpha/submitted-trunc.diff: new patch to fix trunc and truncf results for big values on alpha.
This is an automated email from the git hooks/post-receive script.
aurel32 pushed a commit to branch sid
in repository glibc.
commit 9b788bdbc8023a73e4820dd16bdad277022d9bdd
Author: Aurelien Jarno <aurelien@aurel32.net>
Date: Sat Jul 2 16:52:40 2016 +0200
debian/patches/alpha/submitted-trunc.diff: new patch to fix trunc and truncf results for big values on alpha.
---
debian/changelog | 2 ++
debian/patches/alpha/submitted-trunc.diff | 45 +++++++++++++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 48 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index 6c9222f..0ec6ef5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,6 +12,8 @@ glibc (2.23-1) UNRELEASED; urgency=medium
* debian/testsuite-xfail-debian.mk: allow math/test-double-finite and
math/test-float-finite to fail on alpha, as this architecture do not
fully support IEEE flags.
+ * debian/patches/alpha/submitted-trunc.diff: new patch to fix trunc and
+ truncf results for big values on alpha.
[ Samuel Thibault ]
* patches/hurd-i386/tg-poll_errors_fixes.diff: Update from tg branch, fixes
diff --git a/debian/patches/alpha/submitted-trunc.diff b/debian/patches/alpha/submitted-trunc.diff
new file mode 100644
index 0000000..7e54c40
--- /dev/null
+++ b/debian/patches/alpha/submitted-trunc.diff
@@ -0,0 +1,45 @@
+2016-07-02 Aurelien Jarno <aurelien@aurel32.net>
+
+ * sysdeps/alpha/fpu/s_truncf.c (__truncf): Return the input value
+ when its absolute value is greater than 0x1.0p23.
+ [_IEEE_FP_INEXACT] Remove.
+ * sysdeps/alpha/fpu/s_trunc.c (__trunc): Return the input value
+ when its absolute value is greater than 0x1.0p52.
+ [_IEEE_FP_INEXACT] Remove.
+
+--- a/sysdeps/alpha/fpu/s_trunc.c
++++ b/sysdeps/alpha/fpu/s_trunc.c
+@@ -28,12 +28,11 @@ __trunc (double x)
+ double two52 = copysign (0x1.0p52, x);
+ double r, tmp;
+
++ if (!isnan(x) && fabs(x) >= 0x1.0p52)
++ return x;
++
+ __asm (
+-#ifdef _IEEE_FP_INEXACT
+- "addt/suic %2, %3, %1\n\tsubt/suic %1, %3, %0"
+-#else
+ "addt/suc %2, %3, %1\n\tsubt/suc %1, %3, %0"
+-#endif
+ : "=&f"(r), "=&f"(tmp)
+ : "f"(x), "f"(two52));
+
+--- a/sysdeps/alpha/fpu/s_truncf.c
++++ b/sysdeps/alpha/fpu/s_truncf.c
+@@ -27,12 +27,11 @@ __truncf (float x)
+ float two23 = copysignf (0x1.0p23, x);
+ float r, tmp;
+
++ if (!isnan(x) && fabs(x) >= 0x1.0p23)
++ return x;
++
+ __asm (
+-#ifdef _IEEE_FP_INEXACT
+- "adds/suic %2, %3, %1\n\tsubs/suic %1, %3, %0"
+-#else
+ "adds/suc %2, %3, %1\n\tsubs/suc %1, %3, %0"
+-#endif
+ : "=&f"(r), "=&f"(tmp)
+ : "f"(x), "f"(two23));
+
diff --git a/debian/patches/series b/debian/patches/series
index 30e9707..f783a71 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -40,6 +40,7 @@ alpha/local-string-functions.diff
alpha/submitted-fegetenv-namespace.diff
alpha/submitted-termios_h.diff
alpha/submitted-fts64.diff
+alpha/submitted-trunc.diff
amd64/local-blacklist-for-Intel-TSX.diff
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-glibc/glibc.git
Reply to: