diff options
Diffstat (limited to 'sysdeps/sparc')
-rw-r--r-- | sysdeps/sparc/sparc64/Implies | 1 | ||||
-rw-r--r-- | sysdeps/sparc/sparc64/Makefile | 32 | ||||
-rw-r--r-- | sysdeps/sparc/sparc64/Versions | 6 | ||||
-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/Makefile | 33 | ||||
-rw-r--r-- | sysdeps/sparc/sparc64/soft-fp/Versions | 8 | ||||
-rw-r--r-- | sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c | 79 |
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; - } -} |