This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, master, updated. glibc-2.14-384-g228a984
- From: drepper at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 18 Oct 2011 00:31:40 -0000
- Subject: 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