This is the mail archive of the libc-alpha@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]

[PATCH] Disable x87 inline functions for SSE2 math


When i386 and x86-64 mathinline.h was merged into a single mathinline.h,
"gcc -m32" enables x87 inline functions on x86-64 even when -mfpmath=sse
and SSE2 is enabled.  It is a regression on x86-64.  We should check
__SSE2_MATH__ instead of __x86_64__ when disabling x87 inline functions.
Tested on i686 and x86-64.  OK to install?

Thanks.

H.J.
---
 ChangeLog                         | 6 ++++++
 NEWS                              | 3 ++-
 sysdeps/x86/fpu/bits/mathinline.h | 4 ++--
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 5f5b4cd..57a06fa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-01-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #16510]
+	* sysdeps/x86/fpu/bits/mathinline.h: Check __SSE2_MATH__ instead
+	of __x86_64__ when disabling x87 inline functions.
+
 2014-01-29  Alexandre Oliva <aoliva@redhat.com>
 
 	* manual/crypt.texi: Document MTASC-safety properties.
diff --git a/NEWS b/NEWS
index d471516..2827f20 100644
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,8 @@ Version 2.19
   16151, 16153, 16167, 16169, 16172, 16195, 16214, 16245, 16271, 16274,
   16283, 16289, 16293, 16314, 16316, 16330, 16337, 16338, 16356, 16365,
   16366, 16369, 16372, 16375, 16379, 16384, 16385, 16386, 16387, 16390,
-  16394, 16400, 16407, 16408, 16414, 16430, 16431, 16453, 16474, 16506.
+  16394, 16400, 16407, 16408, 16414, 16430, 16431, 16453, 16474, 16506,
+  16510
 
 * Slovenian translations for glibc messages have been contributed by the
   Translation Project's Slovenian team of translators.
diff --git a/sysdeps/x86/fpu/bits/mathinline.h b/sysdeps/x86/fpu/bits/mathinline.h
index acc82ca..b4b28f3 100644
--- a/sysdeps/x86/fpu/bits/mathinline.h
+++ b/sysdeps/x86/fpu/bits/mathinline.h
@@ -384,7 +384,7 @@ __END_NAMESPACE_C99
 # endif
 #endif
 
-#ifndef __x86_64__
+#ifndef __SSE2_MATH__
 # if ((!defined __NO_MATH_INLINES || defined __LIBC_INTERNAL_MATH_INLINES) \
      && defined __OPTIMIZE__)
 
@@ -970,4 +970,4 @@ __inline_mathcode2 (__ieee754_atan2, __y, __x,
 		    return __value;)
 # endif
 
-#endif /* !__x86_64__ */
+#endif /* !__SSE2_MATH__ */
-- 
1.8.5.3


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