about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-03-14 18:26:03 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-03-14 18:26:03 +0000
commitf9555d73121bd12f6fd50545868e6a33096b8164 (patch)
tree41f07746548ee5dbdbf66d479d399ddedc7869d5 /ChangeLog
parentd46f84de745db8f3f06a37048261f4e5ceacf0a3 (diff)
downloadglibc-f9555d73121bd12f6fd50545868e6a33096b8164.tar.gz
glibc-f9555d73121bd12f6fd50545868e6a33096b8164.tar.xz
glibc-f9555d73121bd12f6fd50545868e6a33096b8164.zip
Remove old-GCC parts of x86 bits/mathinline.h.
In accordance with the general principle of preferring to let the
compiler optimize function calls based on their standard semantics
rather than putting inline definitions of such functions in installed
headers, this patch removes various such inline definitions in the x86
bits/mathinline.h that were already disabled for GCC 3.5 or later and
so were only used with very old compilers (for which good optimization
is particularly unimportant); along with those inlines, a definition
of __M_SQRT2, which was only used in such inline functions, is also
removed.  This is similar to an early step in removing the string.h
inlines; I intend to follow up with further removals of
bits/mathinline.h inline definitions in appropriate logical groups
(with GCC bugs filed in cases where GCC doesn't already support
corresponding optimizations).

Tested for x86_64 and x86.

	* sysdeps/x86/fpu/bits/mathinline.h [!__GNUC_PREREQ (3, 4)]
	(lrintf): Remove definitions used only with old GCC.
	[!__GNUC_PREREQ (3, 4)] (lrint): Likewise.
	[!__GNUC_PREREQ (3, 4)] (llrintf): Likewise.
	[!__GNUC_PREREQ (3, 4)] (llrint): Likewise.
	[!__GNUC_PREREQ (3, 4)] (fmaxf): Likewise.
	[!__GNUC_PREREQ (3, 4)] (fmax): Likewise.
	[!__GNUC_PREREQ (3, 4)] (fminf): Likewise.
	[!__GNUC_PREREQ (3, 4)] (fmin): Likewise.
	[!__GNUC_PREREQ (3, 4)] (rint): Likewise.
	[!__GNUC_PREREQ (3, 4)] (rintf): Likewise.
	[!__GNUC_PREREQ (3, 4)] (nearbyint): Likewise.
	[!__GNUC_PREREQ (3, 4)] (nearbyintf): Likewise.
	[!__GNUC_PREREQ (3, 4)] (ceil): Likewise.
	[!__GNUC_PREREQ (3, 4)] (ceilf): Likewise.
	[!__GNUC_PREREQ (3, 4)] (floor): Likewise.
	[!__GNUC_PREREQ (3, 4)] (floorf): Likewise.
	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (tan): Likewise.
	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (fmod): Likewise.
	[__FAST_MATH__ && !__GNUC_PREREQ (3, 4)] (sin): Likewise.
	[__FAST_MATH__ && !__GNUC_PREREQ (3, 4)] (cos): Likewise.
	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (log10): Likewise.
	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (asin): Likewise.
	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (acos): Likewise.
	[__FAST_MATH__ && !__GNUC_PREREQ (3, 4)] (atan): Likewise.
	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (log1p): Likewise.
	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (logb): Likewise.
	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (log2): Likewise.
	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (drem): Likewise.
	[__FAST_MATH__] (__M_SQRT2): Remove macro.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog33
1 files changed, 33 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 3523cfdb6c..a54848bcab 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,36 @@
+2018-03-14  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/x86/fpu/bits/mathinline.h [!__GNUC_PREREQ (3, 4)]
+	(lrintf): Remove definitions used only with old GCC.
+	[!__GNUC_PREREQ (3, 4)] (lrint): Likewise.
+	[!__GNUC_PREREQ (3, 4)] (llrintf): Likewise.
+	[!__GNUC_PREREQ (3, 4)] (llrint): Likewise.
+	[!__GNUC_PREREQ (3, 4)] (fmaxf): Likewise.
+	[!__GNUC_PREREQ (3, 4)] (fmax): Likewise.
+	[!__GNUC_PREREQ (3, 4)] (fminf): Likewise.
+	[!__GNUC_PREREQ (3, 4)] (fmin): Likewise.
+	[!__GNUC_PREREQ (3, 4)] (rint): Likewise.
+	[!__GNUC_PREREQ (3, 4)] (rintf): Likewise.
+	[!__GNUC_PREREQ (3, 4)] (nearbyint): Likewise.
+	[!__GNUC_PREREQ (3, 4)] (nearbyintf): Likewise.
+	[!__GNUC_PREREQ (3, 4)] (ceil): Likewise.
+	[!__GNUC_PREREQ (3, 4)] (ceilf): Likewise.
+	[!__GNUC_PREREQ (3, 4)] (floor): Likewise.
+	[!__GNUC_PREREQ (3, 4)] (floorf): Likewise.
+	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (tan): Likewise.
+	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (fmod): Likewise.
+	[__FAST_MATH__ && !__GNUC_PREREQ (3, 4)] (sin): Likewise.
+	[__FAST_MATH__ && !__GNUC_PREREQ (3, 4)] (cos): Likewise.
+	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (log10): Likewise.
+	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (asin): Likewise.
+	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (acos): Likewise.
+	[__FAST_MATH__ && !__GNUC_PREREQ (3, 4)] (atan): Likewise.
+	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (log1p): Likewise.
+	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (logb): Likewise.
+	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (log2): Likewise.
+	[__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (drem): Likewise.
+	[__FAST_MATH__] (__M_SQRT2): Remove macro.
+
 2018-03-14  Siddhesh Poyarekar  <siddhesh@sourceware.org>
 
 	* sysdeps/aarch64/strncmp.S (strncmp): Use a separate shift