]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Disable x87 inline functions for SSE2 math
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 29 Jan 2014 15:51:41 +0000 (07:51 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 29 Jan 2014 21:03:31 +0000 (13:03 -0800)
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.

(cherry picked from commit 409e00bd69b8d8dd74d7327085351d26769ea6fc)

Conflicts:
ChangeLog
NEWS
sysdeps/x86/fpu/bits/mathinline.h

ChangeLog
NEWS
sysdeps/x86/fpu/bits/mathinline.h

index d823b1100c1b4551b00a7bd9f9b4ee02e4ce3c6c..fa1ebb4601557855c9798d5344e737492a52460a 100644 (file)
--- 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-04  Maxim Kuvyrkov  <maxim@kugelworks.com>
            Ondřej Bílka  <neleai@seznam.cz>
 
diff --git a/NEWS b/NEWS
index 2c5fb07f7bccf08d28d8b9b53f0933aa249c8979..cf43b990f8b6e30179247035c6d6c0f5449a9742 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,7 +9,8 @@ Version 2.16.1
 
 * The following bugs are resolved with this release:
 
-  6530, 14195, 14459, 14476, 14562, 14621, 14648, 14756, 14831, 15073
+  6530, 14195, 14459, 14476, 14562, 14621, 14648, 14756, 14831, 15073,
+  16510.
 
 Version 2.16
 
index 6446b1d8755f162883c5e549ec3ec364f3475938..aba0b77cdc6683bafd9ae622daf276559db52880 100644 (file)
@@ -1,5 +1,5 @@
 /* Inline math functions for i387 and SSE.
-   Copyright (C) 1995-2012 Free Software Foundation, Inc.
+   Copyright (C) 1995-2014 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -382,7 +382,7 @@ __END_NAMESPACE_C99
 # endif
 #endif
 
-#ifndef __x86_64__
+#ifndef __SSE2_MATH__
 # if ((!defined __NO_MATH_INLINES || defined __LIBC_INTERNAL_MATH_INLINES) \
      && defined __OPTIMIZE__)
 
@@ -965,4 +965,4 @@ __inline_mathcode2 (__ieee754_atan2, __y, __x,
                    return __value;)
 # endif
 
-#endif /* !__x86_64__ */
+#endif /* !__SSE2_MATH__ */