aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2016-06-14 01:11:27 +0200
committerUros Bizjak <uros@gcc.gnu.org>2016-06-14 01:11:27 +0200
commit7d6aa9a605a0f8cb000fe6d9412b00fa76af33f3 (patch)
treeb0f1f69d6423cadc10006215a17ee7f6d81b519c /libgcc
parent385c7747b78f0e178666fb7f376d21389a3f0bb8 (diff)
downloadgcc-7d6aa9a605a0f8cb000fe6d9412b00fa76af33f3.zip
gcc-7d6aa9a605a0f8cb000fe6d9412b00fa76af33f3.tar.gz
gcc-7d6aa9a605a0f8cb000fe6d9412b00fa76af33f3.tar.bz2
* Partially revert my previous commit.
From-SVN: r237418
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog12
-rw-r--r--libgcc/config.host4
-rw-r--r--libgcc/config/i386/32/t-softfp3
-rw-r--r--libgcc/config/i386/32/tf-signs.c11
-rw-r--r--libgcc/config/i386/64/t-softfp2
-rw-r--r--libgcc/config/i386/64/tf-signs.c46
-rw-r--r--libgcc/config/i386/libgcc-glibc.ver8
-rw-r--r--libgcc/config/ia64/libgcc-glibc.ver4
-rw-r--r--libgcc/config/ia64/t-softfp3
-rw-r--r--libgcc/config/ia64/tf-signs.c15
10 files changed, 23 insertions, 85 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 557a041..19d6011 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,15 +1,3 @@
-2016-06-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config.host (i[34567]86-*-* | x86_64-*-*): Always include
- i386/${host_address}/t-softfp in tmake_file.
- * config/i386/32/t-softfp: Update comment for __builtin_copysignq.
- * config/i386/32/tf-signs.c: Add __signbittf2 fallback function.
- * config/i386/64/t-softfp: New file.
- * config/i386/64/tf-signs.c: Ditto.
- * config/i386/libgcc-bsd.ver: Add __signbittf2.
- * config/i386/libgcc-glibc.ver: Ditto.
- * config/i386/libgcc-sol2.ver: Ditto.
-
2016-06-05 Aaron Conole <aconole@redhat.com>
Nathan Sidwell <nathan@acm.org>
diff --git a/libgcc/config.host b/libgcc/config.host
index 0cd688d..7899216 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -1361,7 +1361,9 @@ i[34567]86-*-darwin* | x86_64-*-darwin* | \
i[34567]86-*-freebsd* | x86_64-*-freebsd* | \
i[34567]86-*-openbsd* | x86_64-*-openbsd*)
tmake_file="${tmake_file} t-softfp-tf"
- tmake_file="${tmake_file} i386/${host_address}/t-softfp"
+ if test "${host_address}" = 32; then
+ tmake_file="${tmake_file} i386/${host_address}/t-softfp"
+ fi
tmake_file="${tmake_file} i386/t-softfp t-softfp"
;;
esac
diff --git a/libgcc/config/i386/32/t-softfp b/libgcc/config/i386/32/t-softfp
index f27e7e6..a48a5b3 100644
--- a/libgcc/config/i386/32/t-softfp
+++ b/libgcc/config/i386/32/t-softfp
@@ -1,6 +1,5 @@
# Omit TImode functions
softfp_int_modes := si di
-# Provide fallbacks for __builtin_copysignq, __builtin_fabsq
-# and __builtin_signbitq.
+# Provide fallbacks for __builtin_copysignq and __builtin_fabsq.
LIB2ADD += $(srcdir)/config/i386/32/tf-signs.c
diff --git a/libgcc/config/i386/32/tf-signs.c b/libgcc/config/i386/32/tf-signs.c
index d74c86a..1e30626 100644
--- a/libgcc/config/i386/32/tf-signs.c
+++ b/libgcc/config/i386/32/tf-signs.c
@@ -37,7 +37,6 @@ union _FP_UNION_Q
__float128 __copysigntf3 (__float128, __float128);
__float128 __fabstf2 (__float128);
-int __signbittf2 (__float128);
__float128
__copysigntf3 (__float128 a, __float128 b)
@@ -61,13 +60,3 @@ __fabstf2 (__float128 a)
return A.flt;
}
-
-int
-__signbittf2 (__float128 a)
-{
- union _FP_UNION_Q A;
-
- A.flt = a;
-
- return A.bits.sign;
-}
diff --git a/libgcc/config/i386/64/t-softfp b/libgcc/config/i386/64/t-softfp
deleted file mode 100644
index f159f74..0000000
--- a/libgcc/config/i386/64/t-softfp
+++ /dev/null
@@ -1,2 +0,0 @@
-# Provide fallbacks for __builtin_signbitq
-LIB2ADD += $(srcdir)/config/i386/64/tf-signs.c
diff --git a/libgcc/config/i386/64/tf-signs.c b/libgcc/config/i386/64/tf-signs.c
deleted file mode 100644
index 29dfaef..0000000
--- a/libgcc/config/i386/64/tf-signs.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 2016 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-<http://www.gnu.org/licenses/>. */
-
-union _FP_UNION_Q
-{
- __float128 flt;
- struct
- {
- unsigned long long frac0 : 64;
- unsigned long long frac1 : 48;
- unsigned exp : 15;
- unsigned sign : 1;
- } bits __attribute__((packed));
-};
-
-int __signbittf3 (__float128);
-
-int
-__signbittf2 (__float128 a)
-{
- union _FP_UNION_Q A;
-
- A.flt = a;
-
- return A.bits.sign;
-}
diff --git a/libgcc/config/i386/libgcc-glibc.ver b/libgcc/config/i386/libgcc-glibc.ver
index 6f664dc..443f8d6 100644
--- a/libgcc/config/i386/libgcc-glibc.ver
+++ b/libgcc/config/i386/libgcc-glibc.ver
@@ -152,10 +152,6 @@ GCC_4.8.0 {
__cpu_model
__cpu_indicator_init
}
-
-GCC_7.0.0 {
- __signbittf2
-}
%else
GCC_4.4.0 {
__addtf3
@@ -197,8 +193,4 @@ GCC_4.8.0 {
__cpu_model
__cpu_indicator_init
}
-
-GCC_7.0.0 {
- __signbittf2
-}
%endif
diff --git a/libgcc/config/ia64/libgcc-glibc.ver b/libgcc/config/ia64/libgcc-glibc.ver
index 99efbf5..730ccc2 100644
--- a/libgcc/config/ia64/libgcc-glibc.ver
+++ b/libgcc/config/ia64/libgcc-glibc.ver
@@ -95,3 +95,7 @@ GCC_4.4.0 {
__trunctfxf2
__unordtf2
}
+
+GCC_7.0.0 {
+ __signbittf2
+}
diff --git a/libgcc/config/ia64/t-softfp b/libgcc/config/ia64/t-softfp
index 0ac35e7..96a65e8 100644
--- a/libgcc/config/ia64/t-softfp
+++ b/libgcc/config/ia64/t-softfp
@@ -1,4 +1,5 @@
-# Provide fallbacks for __builtin_copysignq and __builtin_fabsq.
+# Provide fallbacks for __builtin_copysignq, __builtin_fabsq
+# and __builtin_signbitq.
LIB2ADD += $(srcdir)/config/ia64/tf-signs.c
LIB2ADD += $(srcdir)/config/ia64/sfp-exceptions.c
diff --git a/libgcc/config/ia64/tf-signs.c b/libgcc/config/ia64/tf-signs.c
index 3ff3f6b..aacaed4 100644
--- a/libgcc/config/ia64/tf-signs.c
+++ b/libgcc/config/ia64/tf-signs.c
@@ -26,8 +26,8 @@ union _FP_UNION_Q
__float128 flt;
struct
{
- unsigned long frac1 : 64;
- unsigned long frac0 : 48;
+ unsigned long frac0 : 64;
+ unsigned long frac1 : 48;
unsigned exp : 15;
unsigned sign : 1;
} bits __attribute__((packed));
@@ -35,6 +35,7 @@ union _FP_UNION_Q
__float128 __copysigntf3 (__float128, __float128);
__float128 __fabstf2 (__float128);
+int __signbittf2 (__float128);
__float128
__copysigntf3 (__float128 a, __float128 b)
@@ -58,3 +59,13 @@ __fabstf2 (__float128 a)
return A.flt;
}
+
+int
+__signbittf2 (__float128 a)
+{
+ union _FP_UNION_Q A;
+
+ A.flt = a;
+
+ return A.bits.sign;
+}