about summary refs log tree commit diff
path: root/sysdeps/sparc
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/sparc')
-rw-r--r--sysdeps/sparc/sparc64/Implies1
-rw-r--r--sysdeps/sparc/sparc64/Makefile32
-rw-r--r--sysdeps/sparc/sparc64/Versions6
-rw-r--r--sysdeps/sparc/sparc64/qp_add.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_add.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_cmp.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_cmp.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_cmpe.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_div.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_div.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_dtoq.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_feq.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_feq.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_fge.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_fge.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_fgt.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_fgt.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_fle.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_fle.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_flt.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_flt.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_fne.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_fne.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_itoq.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_itoq.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_mul.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_mul.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_neg.S (renamed from sysdeps/sparc/sparc64/soft-fp/qp_neg.S)0
-rw-r--r--sysdeps/sparc/sparc64/qp_qtod.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_qtod.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_qtoi.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_qtos.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_qtos.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_qtoui.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_qtoux.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_qtox.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_qtox.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_sqrt.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_stoq.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_stoq.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_sub.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_sub.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_uitoq.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_util.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_util.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_uxtoq.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c)0
-rw-r--r--sysdeps/sparc/sparc64/qp_xtoq.c (renamed from sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c)0
-rw-r--r--sysdeps/sparc/sparc64/sfp-machine.h (renamed from sysdeps/sparc/sparc64/soft-fp/sfp-machine.h)0
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/Makefile33
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/Versions8
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c79
34 files changed, 38 insertions, 121 deletions
diff --git a/sysdeps/sparc/sparc64/Implies b/sysdeps/sparc/sparc64/Implies
index 7abc50efcc..fe5eccd855 100644
--- a/sysdeps/sparc/sparc64/Implies
+++ b/sysdeps/sparc/sparc64/Implies
@@ -4,4 +4,3 @@ ieee754/ldbl-128
 ieee754/dbl-64/wordsize-64
 ieee754/dbl-64
 ieee754/flt-32
-sparc/sparc64/soft-fp
diff --git a/sysdeps/sparc/sparc64/Makefile b/sysdeps/sparc/sparc64/Makefile
index 0963a559a7..16b760539e 100644
--- a/sysdeps/sparc/sparc64/Makefile
+++ b/sysdeps/sparc/sparc64/Makefile
@@ -1,3 +1,23 @@
+#  Makefile for SPARC 64-bit.
+#  Copyright (C) 1997-2018 Free Software Foundation, Inc.
+#  This file is part of the GNU C Library.
+#  Contributed by Jakub Jelinek (jj@ultra.linux.cz).
+#
+
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# The GNU C Library 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
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, see
+# <http://www.gnu.org/licenses/>.
+
 sysdep-CFLAGS += -Wa,-Av9a -mvis
 
 ifeq ($(subdir),string)
@@ -17,3 +37,15 @@ endif
 ifeq ($(subdir),nptl)
 libpthread-routines += cpu_relax
 endif
+
+ifeq ($(subdir),soft-fp)
+sparc64-quad-routines := qp_add qp_cmp qp_cmpe qp_div qp_dtoq qp_feq qp_fge \
+	qp_fgt qp_fle qp_flt qp_fne qp_itoq qp_mul qp_neg qp_qtod qp_qtoi   \
+	qp_qtos qp_qtoui qp_qtoux qp_qtox qp_sqrt qp_stoq qp_sub qp_uitoq   \
+	qp_uxtoq qp_xtoq qp_util
+sysdep_routines += $(sparc64-quad-routines)
+endif
+
+ifeq ($(subdir),math)
+CPPFLAGS += -I../soft-fp/
+endif
diff --git a/sysdeps/sparc/sparc64/Versions b/sysdeps/sparc/sparc64/Versions
index 4cef7bcc71..b2661ede85 100644
--- a/sysdeps/sparc/sparc64/Versions
+++ b/sysdeps/sparc/sparc64/Versions
@@ -4,6 +4,12 @@ libc {
     __align_cpy_1; __align_cpy_2; __align_cpy_4;
     __align_cpy_8; __align_cpy_16;
   }
+  GLIBC_2.2 {
+    _Qp_add; _Qp_cmp; _Qp_cmpe; _Qp_div; _Qp_dtoq; _Qp_feq; _Qp_fge; _Qp_fgt;
+    _Qp_fle; _Qp_flt; _Qp_fne; _Qp_itoq; _Qp_mul; _Qp_neg; _Qp_qtod; _Qp_qtoi;
+    _Qp_qtos; _Qp_qtoui; _Qp_qtoux; _Qp_qtox; _Qp_sqrt; _Qp_stoq; _Qp_sub;
+    _Qp_uitoq; _Qp_uxtoq; _Qp_xtoq;
+  }
 }
 libm {
   GLIBC_2.1 {
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_add.c b/sysdeps/sparc/sparc64/qp_add.c
index aa9262f40e..aa9262f40e 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_add.c
+++ b/sysdeps/sparc/sparc64/qp_add.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_cmp.c b/sysdeps/sparc/sparc64/qp_cmp.c
index 0f97e94cf1..0f97e94cf1 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_cmp.c
+++ b/sysdeps/sparc/sparc64/qp_cmp.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c b/sysdeps/sparc/sparc64/qp_cmpe.c
index 8ff9d400d6..8ff9d400d6 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c
+++ b/sysdeps/sparc/sparc64/qp_cmpe.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_div.c b/sysdeps/sparc/sparc64/qp_div.c
index 11a5571368..11a5571368 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_div.c
+++ b/sysdeps/sparc/sparc64/qp_div.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c b/sysdeps/sparc/sparc64/qp_dtoq.c
index a53040559d..a53040559d 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c
+++ b/sysdeps/sparc/sparc64/qp_dtoq.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_feq.c b/sysdeps/sparc/sparc64/qp_feq.c
index 19d44a3612..19d44a3612 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_feq.c
+++ b/sysdeps/sparc/sparc64/qp_feq.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fge.c b/sysdeps/sparc/sparc64/qp_fge.c
index 1c652f7a3a..1c652f7a3a 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_fge.c
+++ b/sysdeps/sparc/sparc64/qp_fge.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fgt.c b/sysdeps/sparc/sparc64/qp_fgt.c
index 203ad06525..203ad06525 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_fgt.c
+++ b/sysdeps/sparc/sparc64/qp_fgt.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fle.c b/sysdeps/sparc/sparc64/qp_fle.c
index e6b188038d..e6b188038d 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_fle.c
+++ b/sysdeps/sparc/sparc64/qp_fle.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_flt.c b/sysdeps/sparc/sparc64/qp_flt.c
index 64cd908f5c..64cd908f5c 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_flt.c
+++ b/sysdeps/sparc/sparc64/qp_flt.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fne.c b/sysdeps/sparc/sparc64/qp_fne.c
index 2b859d8bb2..2b859d8bb2 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_fne.c
+++ b/sysdeps/sparc/sparc64/qp_fne.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_itoq.c b/sysdeps/sparc/sparc64/qp_itoq.c
index 626eef7602..626eef7602 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_itoq.c
+++ b/sysdeps/sparc/sparc64/qp_itoq.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_mul.c b/sysdeps/sparc/sparc64/qp_mul.c
index 20583ea026..20583ea026 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_mul.c
+++ b/sysdeps/sparc/sparc64/qp_mul.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_neg.S b/sysdeps/sparc/sparc64/qp_neg.S
index 7671a0ef49..7671a0ef49 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_neg.S
+++ b/sysdeps/sparc/sparc64/qp_neg.S
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtod.c b/sysdeps/sparc/sparc64/qp_qtod.c
index c0f0e5370e..c0f0e5370e 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtod.c
+++ b/sysdeps/sparc/sparc64/qp_qtod.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c b/sysdeps/sparc/sparc64/qp_qtoi.c
index ca511e9fe5..ca511e9fe5 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c
+++ b/sysdeps/sparc/sparc64/qp_qtoi.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtos.c b/sysdeps/sparc/sparc64/qp_qtos.c
index f78e15aca3..f78e15aca3 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtos.c
+++ b/sysdeps/sparc/sparc64/qp_qtos.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c b/sysdeps/sparc/sparc64/qp_qtoui.c
index 3822dbd469..3822dbd469 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c
+++ b/sysdeps/sparc/sparc64/qp_qtoui.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c b/sysdeps/sparc/sparc64/qp_qtoux.c
index d51192a17c..d51192a17c 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c
+++ b/sysdeps/sparc/sparc64/qp_qtoux.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c b/sysdeps/sparc/sparc64/qp_qtox.c
index 50f1057a9b..50f1057a9b 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c
+++ b/sysdeps/sparc/sparc64/qp_qtox.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c b/sysdeps/sparc/sparc64/qp_sqrt.c
index 1b986392cb..1b986392cb 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c
+++ b/sysdeps/sparc/sparc64/qp_sqrt.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_stoq.c b/sysdeps/sparc/sparc64/qp_stoq.c
index 88e5620b63..88e5620b63 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_stoq.c
+++ b/sysdeps/sparc/sparc64/qp_stoq.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_sub.c b/sysdeps/sparc/sparc64/qp_sub.c
index e400c63d33..e400c63d33 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_sub.c
+++ b/sysdeps/sparc/sparc64/qp_sub.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c b/sysdeps/sparc/sparc64/qp_uitoq.c
index 0d43555c82..0d43555c82 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c
+++ b/sysdeps/sparc/sparc64/qp_uitoq.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_util.c b/sysdeps/sparc/sparc64/qp_util.c
index fc9edf2153..fc9edf2153 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_util.c
+++ b/sysdeps/sparc/sparc64/qp_util.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c b/sysdeps/sparc/sparc64/qp_uxtoq.c
index ed2a8985d6..ed2a8985d6 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c
+++ b/sysdeps/sparc/sparc64/qp_uxtoq.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c b/sysdeps/sparc/sparc64/qp_xtoq.c
index fe3e8e764d..fe3e8e764d 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c
+++ b/sysdeps/sparc/sparc64/qp_xtoq.c
diff --git a/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h b/sysdeps/sparc/sparc64/sfp-machine.h
index 333f1988f3..333f1988f3 100644
--- a/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h
+++ b/sysdeps/sparc/sparc64/sfp-machine.h
diff --git a/sysdeps/sparc/sparc64/soft-fp/Makefile b/sysdeps/sparc/sparc64/soft-fp/Makefile
deleted file mode 100644
index e785b8ccbd..0000000000
--- a/sysdeps/sparc/sparc64/soft-fp/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-#  Software floating-point emulation.
-#  Makefile for SPARC v9 ABI mandated long double utility
-#  functions (_Qp_*).
-#  Copyright (C) 1999-2018 Free Software Foundation, Inc.
-#  This file is part of the GNU C Library.
-#  Contributed by Jakub Jelinek (jj@ultra.linux.cz).
-#
-
-# The GNU C Library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-
-# The GNU C Library 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
-# Lesser General Public License for more details.
-
-# You should have received a copy of the GNU Lesser General Public
-# License along with the GNU C Library; if not, see
-# <http://www.gnu.org/licenses/>.
-
-ifeq ($(subdir),soft-fp)
-sparc64-quad-routines := qp_add qp_cmp qp_cmpe qp_div qp_dtoq qp_feq qp_fge \
-	qp_fgt qp_fle qp_flt qp_fne qp_itoq qp_mul qp_neg qp_qtod qp_qtoi   \
-	qp_qtos qp_qtoui qp_qtoux qp_qtox qp_sqrt qp_stoq qp_sub qp_uitoq   \
-	qp_uxtoq qp_xtoq qp_util
-sysdep_routines += $(sparc64-quad-routines)
-endif
-
-ifeq ($(subdir),math)
-CPPFLAGS += -I../soft-fp/
-endif
diff --git a/sysdeps/sparc/sparc64/soft-fp/Versions b/sysdeps/sparc/sparc64/soft-fp/Versions
deleted file mode 100644
index 9e89c3c3ef..0000000000
--- a/sysdeps/sparc/sparc64/soft-fp/Versions
+++ /dev/null
@@ -1,8 +0,0 @@
-libc {
-  GLIBC_2.2 {
-    _Qp_add; _Qp_cmp; _Qp_cmpe; _Qp_div; _Qp_dtoq; _Qp_feq; _Qp_fge; _Qp_fgt;
-    _Qp_fle; _Qp_flt; _Qp_fne; _Qp_itoq; _Qp_mul; _Qp_neg; _Qp_qtod; _Qp_qtoi;
-    _Qp_qtos; _Qp_qtoui; _Qp_qtoux; _Qp_qtox; _Qp_sqrt; _Qp_stoq; _Qp_sub;
-    _Qp_uitoq; _Qp_uxtoq; _Qp_xtoq;
-  }
-}
diff --git a/sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c b/sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c
deleted file mode 100644
index 5e78940760..0000000000
--- a/sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Software floating-point emulation.
-   ilogbl(x, exp)
-   Copyright (C) 1999-2018 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Jakub Jelinek (jj@ultra.linux.cz).
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* ilogbl(long double x)
- * return the binary exponent of non-zero x
- * ilogbl(0) = 0x80000001
- * ilogbl(inf/NaN) = 0x7fffffff (no signal is raised)
- */
-
-#include "soft-fp.h"
-#include "quad.h"
-#include <math.h>
-
-int __ieee754_ilogbl (long double x)
-{
-  FP_DECL_EX;
-  FP_DECL_Q(X);
-
-/*
-  FP_UNPACK_Q(X, x);
-  switch (X_c)
-    {
-    case FP_CLS_ZERO:
-      return FP_ILOGB0;
-    case FP_CLS_NAN:
-    case FP_CLS_INF:
-      return FP_ILOGBNAN;
-    default:
-      return X_e;
-    }
- */
-  FP_UNPACK_RAW_Q(X, x);
-  switch (X_e)
-    {
-    default:
-      return X_e - _FP_EXPBIAS_Q;
-    case 0:
-#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
-      if (_FP_FRAC_ZEROP_4(X))
-	return FP_ILOGB0;
-      else
-	{
-	  _FP_I_TYPE shift;
-	  _FP_FRAC_CLZ_4(shift, X);
-	  shift -= _FP_FRACXBITS_Q;
-	  return X_e - _FP_EXPBIAS_Q - 1 + shift;
-	}
-#else
-      if (_FP_FRAC_ZEROP_2(X))
-	return FP_ILOGB0;
-      else
-	{
-	  _FP_I_TYPE shift;
-	  _FP_FRAC_CLZ_2(shift, X);
-	  shift -= _FP_FRACXBITS_Q;
-	  return X_e - _FP_EXPBIAS_Q - 1 + shift;
-	}
-#endif
-    case _FP_EXPBIAS_Q:
-      return FP_ILOGBNAN;
-    }
-}