aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/x86_64
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-10-17 20:30:52 -0400
committerUlrich Drepper <drepper@gmail.com>2011-10-17 20:30:52 -0400
commit228a984d543439308632ade9a77a171c88c11afc (patch)
tree855545724b77f1ba104bb5536eed737367b13fcf /sysdeps/x86_64
parentc8553a6a6f6fdb20950e5e6b62bfa7e21350449c (diff)
downloadglibc-228a984d543439308632ade9a77a171c88c11afc.tar
glibc-228a984d543439308632ade9a77a171c88c11afc.tar.gz
glibc-228a984d543439308632ade9a77a171c88c11afc.tar.bz2
glibc-228a984d543439308632ade9a77a171c88c11afc.zip
Relax asm requirements for recently added x86-64 math interfaces
Diffstat (limited to 'sysdeps/x86_64')
-rw-r--r--sysdeps/x86_64/fpu/bits/mathinline.h12
-rw-r--r--sysdeps/x86_64/fpu/math_private.h8
2 files changed, 10 insertions, 10 deletions
diff --git a/sysdeps/x86_64/fpu/bits/mathinline.h b/sysdeps/x86_64/fpu/bits/mathinline.h
index 721f6e4731..6221958773 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 a66616b7a5..6cff8b3161 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