This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.22-669-g0924537


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  09245377dac2c013155500ac0b3b05850813e3f8 (commit)
      from  82c9a4f85e8522bc9e578725075d5c0535940b32 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=09245377dac2c013155500ac0b3b05850813e3f8

commit 09245377dac2c013155500ac0b3b05850813e3f8
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Jan 15 05:22:59 2016 -0800

    Call math_opt_barrier inside if
    
    Since floating-point operation may trigger floating-point exceptions,
    we call math_opt_barrier inside if to prevent code motion.
    
    	[BZ #19465]
    	* sysdeps/ieee754/dbl-64/s_fma.c (__fma): Call math_opt_barrier
    	inside if.
    	* sysdeps/ieee754/ldbl-128/s_fmal.c (__fmal): Likewise.
    	* sysdeps/ieee754/ldbl-96/s_fma.c (__fma): Likewise.
    	* sysdeps/ieee754/ldbl-96/s_fmal.c (__fmal): Likewise.

diff --git a/ChangeLog b/ChangeLog
index c874d89..8e13d27 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2016-01-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #19465]
+	* sysdeps/ieee754/dbl-64/s_fma.c (__fma): Call math_opt_barrier
+	inside if.
+	* sysdeps/ieee754/ldbl-128/s_fmal.c (__fmal): Likewise.
+	* sysdeps/ieee754/ldbl-96/s_fma.c (__fma): Likewise.
+	* sysdeps/ieee754/ldbl-96/s_fmal.c (__fmal): Likewise.
+
 2016-01-14  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #19466]
diff --git a/sysdeps/ieee754/dbl-64/s_fma.c b/sysdeps/ieee754/dbl-64/s_fma.c
index bc3677d..a349243 100644
--- a/sysdeps/ieee754/dbl-64/s_fma.c
+++ b/sysdeps/ieee754/dbl-64/s_fma.c
@@ -175,7 +175,10 @@ __fma (double x, double y, double z)
 
   /* Ensure correct sign of exact 0 + 0.  */
   if (__glibc_unlikely ((x == 0 || y == 0) && z == 0))
-    return x * y + z;
+    {
+      x = math_opt_barrier (x);
+      return x * y + z;
+    }
 
   fenv_t env;
   libc_feholdexcept_setround (&env, FE_TONEAREST);
diff --git a/sysdeps/ieee754/ldbl-128/s_fmal.c b/sysdeps/ieee754/ldbl-128/s_fmal.c
index ac30027..728949c 100644
--- a/sysdeps/ieee754/ldbl-128/s_fmal.c
+++ b/sysdeps/ieee754/ldbl-128/s_fmal.c
@@ -179,7 +179,10 @@ __fmal (long double x, long double y, long double z)
 
   /* Ensure correct sign of exact 0 + 0.  */
   if (__glibc_unlikely ((x == 0 || y == 0) && z == 0))
-    return x * y + z;
+    {
+      x = math_opt_barrier (x);
+      return x * y + z;
+    }
 
   fenv_t env;
   feholdexcept (&env);
diff --git a/sysdeps/ieee754/ldbl-96/s_fma.c b/sysdeps/ieee754/ldbl-96/s_fma.c
index 5fbdda7..ab45bcf 100644
--- a/sysdeps/ieee754/ldbl-96/s_fma.c
+++ b/sysdeps/ieee754/ldbl-96/s_fma.c
@@ -41,7 +41,10 @@ __fma (double x, double y, double z)
 
   /* Ensure correct sign of exact 0 + 0.  */
   if (__glibc_unlikely ((x == 0 || y == 0) && z == 0))
-    return x * y + z;
+    {
+      x = math_opt_barrier (x);
+      return x * y + z;
+    }
 
   fenv_t env;
   feholdexcept (&env);
diff --git a/sysdeps/ieee754/ldbl-96/s_fmal.c b/sysdeps/ieee754/ldbl-96/s_fmal.c
index 57774cf..f1467fd 100644
--- a/sysdeps/ieee754/ldbl-96/s_fmal.c
+++ b/sysdeps/ieee754/ldbl-96/s_fmal.c
@@ -177,7 +177,10 @@ __fmal (long double x, long double y, long double z)
 
   /* Ensure correct sign of exact 0 + 0.  */
   if (__glibc_unlikely ((x == 0 || y == 0) && z == 0))
-    return x * y + z;
+    {
+      x = math_opt_barrier (x);
+      return x * y + z;
+    }
 
   fenv_t env;
   feholdexcept (&env);

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                         |    9 +++++++++
 sysdeps/ieee754/dbl-64/s_fma.c    |    5 ++++-
 sysdeps/ieee754/ldbl-128/s_fmal.c |    5 ++++-
 sysdeps/ieee754/ldbl-96/s_fma.c   |    5 ++++-
 sysdeps/ieee754/ldbl-96/s_fmal.c  |    5 ++++-
 5 files changed, 25 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]