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.14-384-g228a984


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  228a984d543439308632ade9a77a171c88c11afc (commit)
      from  c8553a6a6f6fdb20950e5e6b62bfa7e21350449c (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://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=228a984d543439308632ade9a77a171c88c11afc

commit 228a984d543439308632ade9a77a171c88c11afc
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Mon Oct 17 20:30:52 2011 -0400

    Relax asm requirements for recently added x86-64 math interfaces

diff --git a/ChangeLog b/ChangeLog
index e66482f..081b414 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2011-10-17  Ulrich Drepper  <drepper@gmail.com>
 
+	* sysdeps/x86_64/fpu/math_private.h: Relax asm requirements for
+	recently added interfaces.
+	* sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
+
 	* sysdeps/x86_64/fpu/math_private.h: Add some parenthesis to be safe
 	about macro parameter expansion.
 
diff --git a/sysdeps/x86_64/fpu/bits/mathinline.h b/sysdeps/x86_64/fpu/bits/mathinline.h
index 721f6e4..6221958 100644
--- a/sysdeps/x86_64/fpu/bits/mathinline.h
+++ b/sysdeps/x86_64/fpu/bits/mathinline.h
@@ -156,14 +156,14 @@ __MATH_INLINE double
 __NTH (rint (double __x))
 {
   double __res;
-  __asm ("roundsd $4, %1, %0" : "=x" (__res) : "x" (__x));
+  __asm ("roundsd $4, %1, %0" : "=x" (__res) : "xm" (__x));
   return __res;
 }
 __MATH_INLINE float
 __NTH (rintf (float __x))
 {
   float __res;
-  __asm ("roundss $4, %1, %0" : "=x" (__res) : "x" (__x));
+  __asm ("roundss $4, %1, %0" : "=x" (__res) : "xm" (__x));
   return __res;
 }
 
@@ -176,7 +176,7 @@ __MATH_INLINE double
 __NTH (ceil (double __x))
 {
   double __res;
-  __asm ("roundsd $2, %1, %0" : "=x" (__res) : "x" (__x));
+  __asm ("roundsd $2, %1, %0" : "=x" (__res) : "xm" (__x));
   return __res;
 }
 __END_NAMESPACE_STD
@@ -186,7 +186,7 @@ __MATH_INLINE float
 __NTH (ceilf (float __x))
 {
   float __res;
-  __asm ("roundss $2, %1, %0" : "=x" (__res) : "x" (__x));
+  __asm ("roundss $2, %1, %0" : "=x" (__res) : "xm" (__x));
   return __res;
 }
 __END_NAMESPACE_C99
@@ -197,7 +197,7 @@ __MATH_INLINE double
 __NTH (floor (double __x))
 {
   double __res;
-  __asm ("roundsd $1, %1, %0" : "=x" (__res) : "x" (__x));
+  __asm ("roundsd $1, %1, %0" : "=x" (__res) : "xm" (__x));
   return __res;
 }
 __END_NAMESPACE_STD
@@ -207,7 +207,7 @@ __MATH_INLINE float
 __NTH (floorf (float __x))
 {
   float __res;
-  __asm ("roundss $1, %1, %0" : "=x" (__res) : "x" (__x));
+  __asm ("roundss $1, %1, %0" : "=x" (__res) : "xm" (__x));
   return __res;
 }
 __END_NAMESPACE_C99
diff --git a/sysdeps/x86_64/fpu/math_private.h b/sysdeps/x86_64/fpu/math_private.h
index a66616b..6cff8b3 100644
--- a/sysdeps/x86_64/fpu/math_private.h
+++ b/sysdeps/x86_64/fpu/math_private.h
@@ -95,26 +95,26 @@ do {								\
 # ifndef __rint
 #  define __rint(d) \
   ({ double __res; \
-    asm ("roundsd $4, %1, %0" : "=x" (__res) : "x" ((double) (d)));	      \
+    asm ("roundsd $4, %1, %0" : "=x" (__res) : "xm" ((double) (d)));	      \
      __res; })
 # endif
 # ifndef __rintf
 #  define __rintf(d) \
   ({ float __res; \
-    asm ("roundss $4, %1, %0" : "=x" (__res) : "x" ((float) (d)));	      \
+    asm ("roundss $4, %1, %0" : "=x" (__res) : "xm" ((float) (d)));	      \
      __res; })
 # endif
 
 # ifndef __floor
 #  define __floor(d) \
   ({ double __res; \
-    asm ("roundsd $1, %1, %0" : "=x" (__res) : "x" ((double) (d)));	      \
+    asm ("roundsd $1, %1, %0" : "=x" (__res) : "xm" ((double) (d)));	      \
      __res; })
 # endif
 # ifndef __floorf
 #  define __floorf(d) \
   ({ float __res; \
-    asm ("roundss $1, %1, %0" : "=x" (__res) : "x" ((float) (d)));	      \
+    asm ("roundss $1, %1, %0" : "=x" (__res) : "xm" ((float) (d)));	      \
      __res; })
 # endif
 #endif

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

Summary of changes:
 ChangeLog                            |    4 ++++
 sysdeps/x86_64/fpu/bits/mathinline.h |   12 ++++++------
 sysdeps/x86_64/fpu/math_private.h    |    8 ++++----
 3 files changed, 14 insertions(+), 10 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]