diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2014-01-29 07:51:41 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2014-01-29 11:57:31 -0800 |
commit | d680656b61891159d21a535f38219cf01d5edeea (patch) | |
tree | af58f837f55bda7c2c19223cd7464967259505ad | |
parent | c616775d2c6df31786b71b4e135fba90b4a63f89 (diff) | |
download | glibc-d680656b61891159d21a535f38219cf01d5edeea.tar.gz glibc-d680656b61891159d21a535f38219cf01d5edeea.tar.xz glibc-d680656b61891159d21a535f38219cf01d5edeea.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. (cherry picked from commit 409e00bd69b8d8dd74d7327085351d26769ea6fc) Conflicts: ChangeLog NEWS
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | sysdeps/x86/fpu/bits/mathinline.h | 6 |
3 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index 15ce0b6aa2..41f5d2eb89 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-20 H.J. Lu <hongjiu.lu@intel.com> [BZ #15605] diff --git a/NEWS b/NEWS index c914dadd53..a9920158c8 100644 --- a/NEWS +++ b/NEWS @@ -9,7 +9,7 @@ Version 2.18.1 * The following bugs are resolved with this release: - 15073, 15128, 15909, 15996, 16150, 16169, 16387. + 15073, 15128, 15909, 15996, 16150, 16169, 16387, 16510. Version 2.18 diff --git a/sysdeps/x86/fpu/bits/mathinline.h b/sysdeps/x86/fpu/bits/mathinline.h index fed64149fc..b4b28f30f1 100644 --- a/sysdeps/x86/fpu/bits/mathinline.h +++ b/sysdeps/x86/fpu/bits/mathinline.h @@ -1,5 +1,5 @@ /* Inline math functions for i387 and SSE. - Copyright (C) 1995-2013 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 @@ -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__ */ |