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

[glibc] 01/01: Replace debian/patches/alpha/submitted-trunc.diff by debian/patches/alpha/submitted-math-fixes.diff containing additional math fixes.



This is an automated email from the git hooks/post-receive script.

aurel32 pushed a commit to branch glibc-2.24
in repository glibc.

commit f9d0b8e1fbb18c3d198bf836da72f33dd59fcef3
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Sun Jul 10 13:48:07 2016 +0200

    Replace debian/patches/alpha/submitted-trunc.diff by debian/patches/alpha/submitted-math-fixes.diff containing additional math fixes.
---
 debian/changelog                               |   3 +
 debian/patches/alpha/submitted-math-fixes.diff | 173 +++++++++++++++++++++++++
 debian/patches/alpha/submitted-trunc.diff      |  45 -------
 debian/patches/series                          |   2 +-
 4 files changed, 177 insertions(+), 46 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 3e1c407..1b07a2d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -20,6 +20,9 @@ glibc (2.23.90+20160507.87523e9-2) UNRELEASED; urgency=medium
     mostly due to the fsid_t type, and which are not regressions.
   * testsuite-xfail-debian.mk: Update x32 testsuite results, no actual
     regression.
+  * Replace debian/patches/alpha/submitted-trunc.diff by
+    debian/patches/alpha/submitted-math-fixes.diff containing additional
+    math fixes.
 
  -- Aurelien Jarno <aurel32@debian.org>  Tue, 05 Jul 2016 20:50:17 +0200
 
diff --git a/debian/patches/alpha/submitted-math-fixes.diff b/debian/patches/alpha/submitted-math-fixes.diff
new file mode 100644
index 0000000..ef7247a
--- /dev/null
+++ b/debian/patches/alpha/submitted-math-fixes.diff
@@ -0,0 +1,173 @@
+2016-07-10  Aurelien Jarno  <aurelien@aurel32.net>
+
+	* sysdeps/alpha/fpu/s_ceil.c (__ceil): Add argument with itself
+	when it is a NaN.
+	[_IEEE_FP_INEXACT] Remove.
+	* sysdeps/alpha/fpu/s_ceilf.c (__ceilf): Likewise.
+	* sysdeps/alpha/fpu/s_floor.c (__floor): Add argument with itself
+	when it is a NaN.
+	[_IEEE_FP_INEXACT] Remove.
+	* sysdeps/alpha/fpu/s_floorf.c (__floorf): Likewise.
+	* sysdeps/alpha/fpu/s_rint.c (__rint): Add argument with itself
+	when it is a NaN.
+	* sysdeps/alpha/fpu/s_rintf.c (__rintf): Likewise.
+	* sysdeps/alpha/fpu/s_trunc.c (__trunc): Return the input value
+	when its absolute value is greater than 0x1.0p52.
+	[_IEEE_FP_INEXACT] Remove.
+	* sysdeps/alpha/fpu/s_truncf.c (__truncf): Return the input value
+	when its absolute value is greater than 0x1.0p23.
+	[_IEEE_FP_INEXACT] Remove.
+
+--- a/sysdeps/alpha/fpu/s_ceil.c
++++ b/sysdeps/alpha/fpu/s_ceil.c
+@@ -26,17 +26,16 @@
+ double
+ __ceil (double x)
+ {
++  if (isnan (x))
++    return x + x;
++
+   if (isless (fabs (x), 9007199254740992.0))	/* 1 << DBL_MANT_DIG */
+     {
+       double tmp1, new_x;
+ 
+       new_x = -x;
+       __asm (
+-#ifdef _IEEE_FP_INEXACT
+-	     "cvttq/svim %2,%1\n\t"
+-#else
+ 	     "cvttq/svm %2,%1\n\t"
+-#endif
+ 	     "cvtqt/m %1,%0\n\t"
+ 	     : "=f"(new_x), "=&f"(tmp1)
+ 	     : "f"(new_x));
+--- a/sysdeps/alpha/fpu/s_ceilf.c
++++ b/sysdeps/alpha/fpu/s_ceilf.c
+@@ -25,6 +25,9 @@
+ float
+ __ceilf (float x)
+ {
++  if (isnanf (x))
++    return x + x;
++
+   if (isless (fabsf (x), 16777216.0f))	/* 1 << FLT_MANT_DIG */
+     {
+       /* Note that Alpha S_Floating is stored in registers in a
+@@ -36,11 +39,7 @@ __ceilf (float x)
+ 
+       new_x = -x;
+       __asm ("cvtst/s %3,%2\n\t"
+-#ifdef _IEEE_FP_INEXACT
+-	     "cvttq/svim %2,%1\n\t"
+-#else
+ 	     "cvttq/svm %2,%1\n\t"
+-#endif
+ 	     "cvtqt/m %1,%0\n\t"
+ 	     : "=f"(new_x), "=&f"(tmp1), "=&f"(tmp2)
+ 	     : "f"(new_x));
+--- a/sysdeps/alpha/fpu/s_floor.c
++++ b/sysdeps/alpha/fpu/s_floor.c
+@@ -27,16 +27,15 @@
+ double
+ __floor (double x)
+ {
++  if (isnan (x))
++    return x + x;
++
+   if (isless (fabs (x), 9007199254740992.0))	/* 1 << DBL_MANT_DIG */
+     {
+       double tmp1, new_x;
+ 
+       __asm (
+-#ifdef _IEEE_FP_INEXACT
+-	     "cvttq/svim %2,%1\n\t"
+-#else
+ 	     "cvttq/svm %2,%1\n\t"
+-#endif
+ 	     "cvtqt/m %1,%0\n\t"
+ 	     : "=f"(new_x), "=&f"(tmp1)
+ 	     : "f"(x));
+--- a/sysdeps/alpha/fpu/s_floorf.c
++++ b/sysdeps/alpha/fpu/s_floorf.c
+@@ -26,6 +26,9 @@
+ float
+ __floorf (float x)
+ {
++  if (isnanf (x))
++    return x + x;
++
+   if (isless (fabsf (x), 16777216.0f))	/* 1 << FLT_MANT_DIG */
+     {
+       /* Note that Alpha S_Floating is stored in registers in a
+@@ -36,11 +39,7 @@ __floorf (float x)
+       float tmp1, tmp2, new_x;
+ 
+       __asm ("cvtst/s %3,%2\n\t"
+-#ifdef _IEEE_FP_INEXACT
+-	     "cvttq/svim %2,%1\n\t"
+-#else
+ 	     "cvttq/svm %2,%1\n\t"
+-#endif
+ 	     "cvtqt/m %1,%0\n\t"
+ 	     : "=f"(new_x), "=&f"(tmp1), "=&f"(tmp2)
+ 	     : "f"(x));
+--- a/sysdeps/alpha/fpu/s_rint.c
++++ b/sysdeps/alpha/fpu/s_rint.c
+@@ -23,6 +23,9 @@
+ double
+ __rint (double x)
+ {
++  if (isnan (x))
++    return x + x;
++
+   if (isless (fabs (x), 9007199254740992.0))	/* 1 << DBL_MANT_DIG */
+     {
+       double tmp1, new_x;
+--- a/sysdeps/alpha/fpu/s_rintf.c
++++ b/sysdeps/alpha/fpu/s_rintf.c
+@@ -22,6 +22,9 @@
+ float
+ __rintf (float x)
+ {
++  if (isnanf (x))
++    return x + x;
++
+   if (isless (fabsf (x), 16777216.0f))	/* 1 << FLT_MANT_DIG */
+     {
+       /* Note that Alpha S_Floating is stored in registers in a
+--- 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 (isgreaterequal (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 (isgreaterequal (fabsf (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/alpha/submitted-trunc.diff b/debian/patches/alpha/submitted-trunc.diff
deleted file mode 100644
index 7e54c40..0000000
--- a/debian/patches/alpha/submitted-trunc.diff
+++ /dev/null
@@ -1,45 +0,0 @@
-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 e6abc36..214ff94 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -37,7 +37,7 @@ alpha/local-string-functions.diff
 alpha/submitted-fegetenv-namespace.diff
 alpha/submitted-termios_h.diff
 alpha/submitted-fts64.diff
-alpha/submitted-trunc.diff
+alpha/submitted-math-fixes.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: