about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2014-01-29 07:51:41 -0800
committerH.J. Lu <hjl.tools@gmail.com>2014-01-29 11:19:05 -0800
commit409e00bd69b8d8dd74d7327085351d26769ea6fc (patch)
tree6b7decb7a12716086c2ad613cba1b7901e91d528
parent86e60666b66627d2eb788e970a59e5a470cd484c (diff)
downloadglibc-409e00bd69b8d8dd74d7327085351d26769ea6fc.tar.gz
glibc-409e00bd69b8d8dd74d7327085351d26769ea6fc.tar.xz
glibc-409e00bd69b8d8dd74d7327085351d26769ea6fc.zip
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.
-rw-r--r--ChangeLog6
-rw-r--r--NEWS3
-rw-r--r--sysdeps/x86/fpu/bits/mathinline.h4
3 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 038359f301..b54386f39e 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/charset.texi: Document MTASC-safety properties.
diff --git a/NEWS b/NEWS
index d47151603a..2827f200ba 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 acc82ca275..b4b28f30f1 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__ */