[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[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: