diff options
Diffstat (limited to 'sysdeps/sparc/sparc64/fpu')
71 files changed, 0 insertions, 2007 deletions
diff --git a/sysdeps/sparc/sparc64/fpu/e_sqrtl.c b/sysdeps/sparc/sparc64/fpu/e_sqrtl.c deleted file mode 100644 index c540d05841..0000000000 --- a/sysdeps/sparc/sparc64/fpu/e_sqrtl.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Long double square root, sparc64 version. - Copyright (C) 2000-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Jakub Jelinek <jakub@redhat.com>, 2000. - - 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/>. */ - -#include <math.h> - -extern void _Qp_sqrt(long double *, const long double *); - -long double -__ieee754_sqrtl (long double x) -{ - long double ret; - _Qp_sqrt (&ret, &x); - return ret; -} -strong_alias (__ieee754_sqrtl, __sqrtl_finite) diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/Makefile b/sysdeps/sparc/sparc64/fpu/multiarch/Makefile deleted file mode 100644 index 03a271dfa4..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -ifeq ($(subdir),math) -ifeq ($(have-as-vis3),yes) -libm-sysdep_routines += m_signbitf-vis3 m_signbit-vis3 m_finitef-vis3 \ - m_finite-vis3 m_isinff-vis3 m_isinf-vis3 \ - m_isnanf-vis3 m_isnan-vis3 s_lrintf-vis3 \ - s_lrint-vis3 s_rintf-vis3 s_rint-vis3 \ - s_fmaf-vis3 s_fma-vis3 \ - s_nearbyint-vis3 s_nearbyintf-vis3 \ - s_ceilf-vis3 s_ceil-vis3 s_floorf-vis3 \ - s_floor-vis3 s_truncf-vis3 s_trunc-vis3 -sysdep_routines += s_signbitf-vis3 s_signbit-vis3 s_finitef-vis3 \ - s_finite-vis3 s_isinff-vis3 s_isinf-vis3 \ - s_isnanf-vis3 s_isnan-vis3 - -CFLAGS-s_ceilf-vis3.c += -Wa,-Av9d -mvis3 -CFLAGS-s_ceil-vis3.c += -Wa,-Av9d -mvis3 -CFLAGS-s_floorf-vis3.c += -Wa,-Av9d -mvis3 -CFLAGS-s_floor-vis3.c += -Wa,-Av9d -mvis3 -CFLAGS-s_truncf-vis3.c += -Wa,-Av9d -mvis3 -CFLAGS-s_trunc-vis3.c += -Wa,-Av9d -mvis3 -endif -endif diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis3.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis3.c deleted file mode 100644 index fa9c5d33ea..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis3.c +++ /dev/null @@ -1,23 +0,0 @@ -/* ceil function, sparc64 vis3 version. - Copyright (C) 2016-2017 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 - 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/>. */ - -#include <math.h> - -#define __ceil __ceil_vis3 - -#include <sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c> diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.c deleted file mode 100644 index efa05e94df..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.c +++ /dev/null @@ -1,32 +0,0 @@ -/* ceil function, sparc64 version. - Copyright (C) 2016-2017 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 - 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/>. */ - -#ifdef HAVE_AS_VIS3_SUPPORT -# include <sparc-ifunc.h> -# include <math.h> - -extern double __ceil_vis3 (double); -extern double __ceil_generic (double); - -sparc_libm_ifunc(__ceil, hwcap & HWCAP_SPARC_VIS3 ? __ceil_vis3 : __ceil_generic); -weak_alias (__ceil, ceil) - -# define __ceil __ceil_generic -#endif - -#include <sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c> diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis3.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis3.c deleted file mode 100644 index 1d918de7af..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis3.c +++ /dev/null @@ -1,23 +0,0 @@ -/* Float ceil function, sparc64 vis3 version. - Copyright (C) 2016-2017 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 - 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/>. */ - -#include <math.h> - -#define __ceilf __ceilf_vis3 - -#include <sysdeps/ieee754/flt-32/s_ceilf.c> diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c deleted file mode 100644 index 62ada7fd2a..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Float ceil function, sparc64 version. - Copyright (C) 2016-2017 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 - 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/>. */ - -#ifdef HAVE_AS_VIS3_SUPPORT -# include <sparc-ifunc.h> -# include <math.h> - -extern float __ceilf_vis3 (float); -extern float __ceilf_generic (float); - -sparc_libm_ifunc(__ceilf, hwcap & HWCAP_SPARC_VIS3 ? __ceilf_vis3 : __ceilf_generic); -weak_alias (__ceilf, ceilf) - -# define __ceilf __ceilf_generic -#endif - -#include <sysdeps/ieee754/flt-32/s_ceilf.c> diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_finite-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_finite-vis3.S deleted file mode 100644 index 0e2b5f6b00..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_finite-vis3.S +++ /dev/null @@ -1,28 +0,0 @@ -/* finite(). sparc64 vis3 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__finite_vis3) - fabsd %f0, %f0 - movstouw %f0, %o0 - sethi %hi(0x7ff00000), %o2 - sub %o0, %o2, %o0 - retl - srl %o0, 31, %o0 -END (__finite_vis3) diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S deleted file mode 100644 index 78406a62b1..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S +++ /dev/null @@ -1,15 +0,0 @@ -#include <sparc-ifunc.h> - -SPARC_ASM_VIS3_IFUNC(finite) - -hidden_def (__finite) -weak_alias (__finite, finite) - -# undef weak_alias -# define weak_alias(a, b) -# undef hidden_def -# define hidden_def(a) - -#define __finite __finite_generic - -#include "../s_finite.S" diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_finitef-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_finitef-vis3.S deleted file mode 100644 index 59e17bc75c..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_finitef-vis3.S +++ /dev/null @@ -1,28 +0,0 @@ -/* finitef(). sparc64 vis3 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__finitef_vis3) - fabss %f1, %f0 - movstouw %f0, %o0 - sethi %hi(0x7f800000), %o2 - sub %o0, %o2, %o0 - retl - srl %o0, 31, %o0 -END (__finitef_vis3) diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_finitef.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_finitef.S deleted file mode 100644 index cafd41fd92..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_finitef.S +++ /dev/null @@ -1,15 +0,0 @@ -#include <sparc-ifunc.h> - -SPARC_ASM_VIS3_IFUNC(finitef) - -hidden_def (__finitef) -weak_alias (__finitef, finitef) - -# undef weak_alias -# define weak_alias(a, b) -# undef hidden_def -# define hidden_def(a) - -#define __finitef __finitef_generic - -#include "../s_finitef.S" diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis3.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis3.c deleted file mode 100644 index 04f6183664..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis3.c +++ /dev/null @@ -1,23 +0,0 @@ -/* floor function, sparc64 vis3 version. - Copyright (C) 2016-2017 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 - 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/>. */ - -#include <math.h> - -#define __floor __floor_vis3 - -#include <sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c> diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_floor.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_floor.c deleted file mode 100644 index d097f68866..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_floor.c +++ /dev/null @@ -1,32 +0,0 @@ -/* floor function, sparc64 version. - Copyright (C) 2016-2017 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 - 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/>. */ - -#ifdef HAVE_AS_VIS3_SUPPORT -# include <sparc-ifunc.h> -# include <math.h> - -extern double __floor_vis3 (double); -extern double __floor_generic (double); - -sparc_libm_ifunc(__floor, hwcap & HWCAP_SPARC_VIS3 ? __floor_vis3 : __floor_generic); -weak_alias (__floor, floor) - -# define __floor __floor_generic -#endif - -#include <sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c> diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis3.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis3.c deleted file mode 100644 index 0ff49e6802..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis3.c +++ /dev/null @@ -1,23 +0,0 @@ -/* Float floor function, sparc64 vis3 version. - Copyright (C) 2016-2017 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 - 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/>. */ - -#include <math.h> - -#define __floorf __floorf_vis3 - -#include <sysdeps/ieee754/flt-32/s_floorf.c> diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c deleted file mode 100644 index 2a6c710349..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Float floor function, sparc64 version. - Copyright (C) 2016-2017 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 - 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/>. */ - -#ifdef HAVE_AS_VIS3_SUPPORT -# include <sparc-ifunc.h> -# include <math.h> - -extern float __floorf_vis3 (float); -extern float __floorf_generic (float); - -sparc_libm_ifunc(__floorf, hwcap & HWCAP_SPARC_VIS3 ? __floorf_vis3 : __floorf_generic); -weak_alias (__floorf, floorf) - -# define __floorf __floorf_generic -#endif - -#include <sysdeps/ieee754/flt-32/s_floorf.c> diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_fma-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_fma-vis3.S deleted file mode 100644 index 343ce37de9..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_fma-vis3.S +++ /dev/null @@ -1,25 +0,0 @@ -/* fma function, sparc64 vis3 version. - Copyright (C) 2012-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller <davem@davemloft.net>, 2012. - - 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/>. */ - -#include <sysdep.h> - -ENTRY (__fma_vis3) - retl - fmaddd %f0, %f2, %f4, %f0 -END (__fma_vis3) diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_fma.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_fma.c deleted file mode 100644 index 3f2f1622c8..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_fma.c +++ /dev/null @@ -1,14 +0,0 @@ -#ifdef HAVE_AS_VIS3_SUPPORT -# include <sparc-ifunc.h> -# include <math.h> - -extern double __fma_vis3 (double, double, double); -extern double __fma_generic (double, double, double); - -sparc_libm_ifunc(__fma, hwcap & HWCAP_SPARC_FMAF ? __fma_vis3 : __fma_generic); -weak_alias (__fma, fma) - -# define __fma __fma_generic -#endif - -#include <sysdeps/ieee754/dbl-64/s_fma.c> diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf-vis3.S deleted file mode 100644 index c2fa72a211..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf-vis3.S +++ /dev/null @@ -1,25 +0,0 @@ -/* fmaf function, sparc64 vis3 version. - Copyright (C) 2012-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller <davem@davemloft.net>, 2012. - - 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/>. */ - -#include <sysdep.h> - -ENTRY (__fmaf_vis3) - retl - fmadds %f1, %f3, %f5, %f0 -END (__fmaf_vis3) diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c deleted file mode 100644 index 7a273a3b13..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c +++ /dev/null @@ -1,14 +0,0 @@ -#ifdef HAVE_AS_VIS3_SUPPORT -# include <sparc-ifunc.h> -# include <math.h> - -extern float __fmaf_vis3 (float, float, float); -extern float __fmaf_generic (float, float, float); - -sparc_libm_ifunc(__fmaf, hwcap & HWCAP_SPARC_FMAF ? __fmaf_vis3 : __fmaf_generic); -weak_alias (__fmaf, fmaf) - -# define __fmaf __fmaf_generic -#endif - -#include <sysdeps/ieee754/dbl-64/s_fmaf.c> diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_isinf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_isinf-vis3.S deleted file mode 100644 index 54ff556eb8..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_isinf-vis3.S +++ /dev/null @@ -1,31 +0,0 @@ -/* isinf(). sparc64 vis3 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__isinf_vis3) - movdtox %f0, %g1 - sethi %hi(0x7ff00000), %o2 - sllx %o2, 32, %o2 - sllx %g1, 1, %o4 - srlx %o4, 1, %o5 - srax %g1, 62, %o0 - xor %o5, %o2, %o3 - retl - movrne %o3, %g0, %o0 -END (__isinf_vis3) diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_isinf.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_isinf.S deleted file mode 100644 index ed9b62640d..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_isinf.S +++ /dev/null @@ -1,15 +0,0 @@ -#include <sparc-ifunc.h> - -SPARC_ASM_VIS3_IFUNC(isinf) - -hidden_def (__isinf) -weak_alias (__isinf, isinf) - -# undef weak_alias -# define weak_alias(a, b) -# undef hidden_def -# define hidden_def(a) - -#define __isinf __isinf_generic - -#include "../s_isinf.S" diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_isinff-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_isinff-vis3.S deleted file mode 100644 index 853bfc64e4..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_isinff-vis3.S +++ /dev/null @@ -1,30 +0,0 @@ -/* isinff(). sparc64 vis3 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__isinff_vis3) - movstouw %f1, %g1 - sethi %hi(0x7f800000), %o2 - sll %g1, 1, %o4 - srl %o4, 1, %o5 - sra %g1, 30, %o0 - xor %o5, %o2, %o3 - retl - movrne %o3, %g0, %o0 -END (__isinff_vis3) diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_isinff.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_isinff.S deleted file mode 100644 index 04517398f8..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_isinff.S +++ /dev/null @@ -1,15 +0,0 @@ -#include <sparc-ifunc.h> - -SPARC_ASM_VIS3_IFUNC(isinff) - -hidden_def (__isinff) -weak_alias (__isinff, isinff) - -# undef weak_alias -# define weak_alias(a, b) -# undef hidden_def -# define hidden_def(a) - -#define __isinff __isinff_generic - -#include "../s_isinff.S" diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_isnan-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_isnan-vis3.S deleted file mode 100644 index 6dbb8dee2c..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_isnan-vis3.S +++ /dev/null @@ -1,30 +0,0 @@ -/* isnan(). sparc64 vis3 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__isnan_vis3) - movdtox %f0, %o0 - sethi %hi(0x7ff00000), %g1 - sllx %g1, 32, %g1 - sllx %o0, 1, %o0 - srlx %o0, 1, %o0 - sub %g1, %o0, %o0 - retl - srlx %o0, 63, %o0 -END (__isnan_vis3) diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_isnan.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_isnan.S deleted file mode 100644 index 40e985a5d4..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_isnan.S +++ /dev/null @@ -1,15 +0,0 @@ -#include <sparc-ifunc.h> - -SPARC_ASM_VIS3_IFUNC(isnan) - -hidden_def (__isnan) -weak_alias (__isnan, isnan) - -# undef weak_alias -# define weak_alias(a, b) -# undef hidden_def -# define hidden_def(a) - -#define __isnan __isnan_generic - -#include "../s_isnan.S" diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf-vis3.S deleted file mode 100644 index 46fbf6de9f..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf-vis3.S +++ /dev/null @@ -1,29 +0,0 @@ -/* isnanf(). sparc64 vis3 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__isnanf_vis3) - movstouw %f1, %o0 - sethi %hi(0x7f800000), %g1 - sll %o0, 1, %o0 - srl %o0, 1, %o0 - sub %g1, %o0, %o0 - retl - srl %o0, 31, %o0 -END (__isnanf_vis3) diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf.S deleted file mode 100644 index 6b53b69d2e..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf.S +++ /dev/null @@ -1,15 +0,0 @@ -#include <sparc-ifunc.h> - -SPARC_ASM_VIS3_IFUNC(isnanf) - -hidden_def (__isnanf) -weak_alias (__isnanf, isnanf) - -# undef weak_alias -# define weak_alias(a, b) -# undef hidden_def -# define hidden_def(a) - -#define __isnanf __isnanf_generic - -#include "../s_isnanf.S" diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_lrint-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_lrint-vis3.S deleted file mode 100644 index 87895371dd..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_lrint-vis3.S +++ /dev/null @@ -1,52 +0,0 @@ -/* lrint(), sparc64 vis3 version. - Copyright (C) 2012-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller <davem@davemloft.net>, 2012. - - 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/>. */ - -#include <sysdep.h> - - /* VIS instructions are used to facilitate the formation of - easier constants, and the propagation of the sign bit. */ - -#define TWO_FIFTYTWO 0x43300000 /* 2**52 */ - -#define ZERO %f10 /* 0.0 */ -#define SIGN_BIT %f12 /* -0.0 */ - -ENTRY (__lrint_vis3) - sethi %hi(TWO_FIFTYTWO), %o2 - sllx %o2, 32, %o2 - fzero ZERO - - fnegd ZERO, SIGN_BIT - movxtod %o2, %f16 - fabsd %f0, %f14 - - fcmpd %fcc3, %f14, %f16 - - fmovduge %fcc3, ZERO, %f16 - fand %f0, SIGN_BIT, SIGN_BIT - - for %f16, SIGN_BIT, %f16 - faddd %f0, %f16, %f6 - fsubd %f6, %f16, %f0 - fabsd %f0, %f0 - for %f0, SIGN_BIT, %f0 - fdtox %f0, %f4 - retl - movdtox %f4, %o0 -END (__lrint_vis3) diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.S deleted file mode 100644 index 94af8f028c..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.S +++ /dev/null @@ -1,17 +0,0 @@ -#include <sparc-ifunc.h> - -SPARC_ASM_VIS3_IFUNC(lrint) - -weak_alias (__lrint, lrint) - -strong_alias (__lrint, __llrint) -weak_alias (__llrint, llrint) - -# undef weak_alias -# define weak_alias(a, b) -# undef strong_alias -# define strong_alias(a, b) - -#define __lrint __lrint_generic - -#include "../s_lrint.S" diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf-vis3.S deleted file mode 100644 index 3ef005d433..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf-vis3.S +++ /dev/null @@ -1,51 +0,0 @@ -/* lrintf(), sparc64 vis3 version. - Copyright (C) 2012-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller <davem@davemloft.net>, 2012. - - 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/>. */ - -#include <sysdep.h> - - /* VIS instructions are used to facilitate the formation of - easier constants, and the propagation of the sign bit. */ - -#define TWO_TWENTYTHREE 0x4b000000 /* 2**23 */ - -#define ZERO %f10 /* 0.0 */ -#define SIGN_BIT %f12 /* -0.0 */ - -ENTRY (__lrintf_vis3) - sethi %hi(TWO_TWENTYTHREE), %o2 - fzeros ZERO - - fnegs ZERO, SIGN_BIT - movwtos %o2, %f16 - fabss %f1, %f14 - - fcmps %fcc3, %f14, %f16 - - fmovsuge %fcc3, ZERO, %f16 - fands %f1, SIGN_BIT, SIGN_BIT - - fors %f16, SIGN_BIT, %f16 - fadds %f1, %f16, %f5 - fsubs %f5, %f16, %f0 - fabss %f0, %f0 - fors %f0, SIGN_BIT, %f0 - fstox %f0, %f4 - retl - movdtox %f4, %o0 -END (__lrintf_vis3) diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.S deleted file mode 100644 index e6ea4061c3..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.S +++ /dev/null @@ -1,17 +0,0 @@ -#include <sparc-ifunc.h> - -SPARC_ASM_VIS3_IFUNC(lrintf) - -weak_alias (__lrintf, lrintf) - -strong_alias (__lrintf, __llrintf) -weak_alias (__llrintf, llrintf) - -# undef weak_alias -# define weak_alias(a, b) -# undef strong_alias -# define strong_alias(a, b) - -#define __lrintf __lrintf_generic - -#include "../s_lrintf.S" diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint-vis3.S deleted file mode 100644 index 67e570a800..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint-vis3.S +++ /dev/null @@ -1,62 +0,0 @@ -/* Round float to int floating-point values without generating - an inexact exception, sparc64 vis3 version. - - Copyright (C) 2013-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller <davem@davemloft.net>, 2013. - - 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/>. */ - -#include <sysdep.h> - - /* We pop constants into the FPU registers using the incoming - argument stack slots, since this avoid having to use any PIC - references. We also thus avoid having to allocate a register - window. - - VIS instructions are used to facilitate the formation of - easier constants, and the propagation of the sign bit. */ - -#define TWO_FIFTYTWO 0x43300000 /* 2**52 */ - -#define ZERO %f10 /* 0.0 */ -#define SIGN_BIT %f12 /* -0.0 */ - -ENTRY (__nearbyint_vis3) - fcmpd %fcc3, %f0, %f0 /* Check for sNaN */ - stx %fsr, [%sp + STACK_BIAS + 144] - sethi %hi(TWO_FIFTYTWO), %o2 - sllx %o2, 32, %o2 - ldx [%sp + STACK_BIAS + 144], %o4 - sethi %hi(0xf8003e0), %o5 - fzero ZERO - or %o5, %lo(0xf8003e0), %o5 - fnegd ZERO, SIGN_BIT - andn %o4, %o5, %o4 - movxtod %o2, %f16 - stx %o4, [%sp + STACK_BIAS + 136] - ldx [%sp + STACK_BIAS + 136], %fsr - fabsd %f0, %f14 - fcmpd %fcc3, %f14, %f16 - fmovduge %fcc3, ZERO, %f16 - fand %f0, SIGN_BIT, SIGN_BIT - for %f16, SIGN_BIT, %f16 - faddd %f0, %f16, %f6 - fsubd %f6, %f16, %f0 - fabsd %f0, %f0 - for %f0, SIGN_BIT, %f0 - retl - ldx [%sp + STACK_BIAS + 144], %fsr -END (__nearbyint_vis3) diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint.S deleted file mode 100644 index bb75ab3606..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint.S +++ /dev/null @@ -1,12 +0,0 @@ -#include <sparc-ifunc.h> - -SPARC_ASM_VIS3_IFUNC(nearbyint) - -weak_alias (__nearbyint, nearbyint) - -# undef weak_alias -# define weak_alias(a, b) - -#define __nearbyint __nearbyint_generic - -#include "../s_nearbyint.S" diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf-vis3.S deleted file mode 100644 index 208af37d0d..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf-vis3.S +++ /dev/null @@ -1,61 +0,0 @@ -/* Round float to int floating-point values without generating - an inexact exception, sparc64 vis3 version. - - Copyright (C) 2013-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller <davem@davemloft.net>, 2013. - - 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/>. */ - -#include <sysdep.h> - - /* We pop constants into the FPU registers using the incoming - argument stack slots, since this avoid having to use any PIC - references. We also thus avoid having to allocate a register - window. - - VIS instructions are used to facilitate the formation of - easier constants, and the propagation of the sign bit. */ - -#define TWO_TWENTYTHREE 0x4b000000 /* 2**23 */ - -#define ZERO %f10 /* 0.0 */ -#define SIGN_BIT %f12 /* -0.0 */ - -ENTRY (__nearbyintf_vis3) - fcmps %fcc3, %f1, %f1 /* Check for sNaN */ - stx %fsr, [%sp + STACK_BIAS + 144] - sethi %hi(0xf8003e0), %o5 - sethi %hi(TWO_TWENTYTHREE), %o2 - ldx [%sp + STACK_BIAS + 144], %o4 - or %o5, %lo(0xf8003e0), %o5 - fzeros ZERO - andn %o4, %o5, %o4 - fnegs ZERO, SIGN_BIT - movwtos %o2, %f16 - stx %o4, [%sp + STACK_BIAS + 136] - ldx [%sp + STACK_BIAS + 136], %fsr - fabss %f1, %f14 - fcmps %fcc3, %f14, %f16 - fmovsuge %fcc3, ZERO, %f16 - fands %f1, SIGN_BIT, SIGN_BIT - fors %f16, SIGN_BIT, %f16 - fadds %f1, %f16, %f5 - fsubs %f5, %f16, %f0 - fabss %f0, %f0 - fors %f0, SIGN_BIT, %f0 - retl - ldx [%sp + STACK_BIAS + 144], %fsr -END (__nearbyintf_vis3) diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.S deleted file mode 100644 index 95100c1bfc..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.S +++ /dev/null @@ -1,12 +0,0 @@ -#include <sparc-ifunc.h> - -SPARC_ASM_VIS3_IFUNC(nearbyintf) - -weak_alias (__nearbyintf, nearbyintf) - -# undef weak_alias -# define weak_alias(a, b) - -#define __nearbyintf __nearbyintf_generic - -#include "../s_nearbyintf.S" diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_rint-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_rint-vis3.S deleted file mode 100644 index 495a02222e..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_rint-vis3.S +++ /dev/null @@ -1,50 +0,0 @@ -/* Round float to int floating-point values, sparc64 vis3 version. - Copyright (C) 2012-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller <davem@davemloft.net>, 2012. - - 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/>. */ - -#include <sysdep.h> - - /* VIS instructions are used to facilitate the formation of - easier constants, and the propagation of the sign bit. */ - -#define TWO_FIFTYTWO 0x43300000 /* 2**52 */ - -#define ZERO %f10 /* 0.0 */ -#define SIGN_BIT %f12 /* -0.0 */ - -ENTRY (__rint_vis3) - sethi %hi(TWO_FIFTYTWO), %o2 - sllx %o2, 32, %o2 - fzero ZERO - - fnegd ZERO, SIGN_BIT - movxtod %o2, %f16 - fabsd %f0, %f14 - - fcmpd %fcc3, %f14, %f16 - - fmovduge %fcc3, ZERO, %f16 - fand %f0, SIGN_BIT, SIGN_BIT - - for %f16, SIGN_BIT, %f16 - faddd %f0, %f16, %f6 - fsubd %f6, %f16, %f0 - fabsd %f0, %f0 - retl - for %f0, SIGN_BIT, %f0 -END (__rint_vis3) diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_rint.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_rint.S deleted file mode 100644 index cc980eb8c7..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_rint.S +++ /dev/null @@ -1,12 +0,0 @@ -#include <sparc-ifunc.h> - -SPARC_ASM_VIS3_IFUNC(rint) - -weak_alias (__rint, rint) - -# undef weak_alias -# define weak_alias(a, b) - -#define __rint __rint_generic - -#include "../s_rint.S" diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf-vis3.S deleted file mode 100644 index 521c0b21ec..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf-vis3.S +++ /dev/null @@ -1,49 +0,0 @@ -/* Round float to int floating-point values, sparc64 vis3 version. - Copyright (C) 2012-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller <davem@davemloft.net>, 2012. - - 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/>. */ - -#include <sysdep.h> - - /* VIS instructions are used to facilitate the formation of - easier constants, and the propagation of the sign bit. */ - -#define TWO_TWENTYTHREE 0x4b000000 /* 2**23 */ - -#define ZERO %f10 /* 0.0 */ -#define SIGN_BIT %f12 /* -0.0 */ - -ENTRY (__rintf_vis3) - sethi %hi(TWO_TWENTYTHREE), %o2 - fzeros ZERO - - fnegs ZERO, SIGN_BIT - movwtos %o2, %f16 - fabss %f1, %f14 - - fcmps %fcc3, %f14, %f16 - - fmovsuge %fcc3, ZERO, %f16 - fands %f1, SIGN_BIT, SIGN_BIT - - fors %f16, SIGN_BIT, %f16 - fadds %f1, %f16, %f5 - fsubs %f5, %f16, %f0 - fabss %f0, %f0 - retl - fors %f0, SIGN_BIT, %f0 -END (__rintf_vis3) diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.S deleted file mode 100644 index 38fd936086..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.S +++ /dev/null @@ -1,12 +0,0 @@ -#include <sparc-ifunc.h> - -SPARC_ASM_VIS3_IFUNC(rintf) - -weak_alias (__rintf, rintf) - -# undef weak_alias -# define weak_alias(a, b) - -#define __rintf __rintf_generic - -#include "../s_rintf.S" diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit-vis3.S deleted file mode 100644 index bce7c9795a..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit-vis3.S +++ /dev/null @@ -1,25 +0,0 @@ -/* signbit(). sparc64 vis3 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__signbit_vis3) - movdtox %f0, %o0 - retl - srlx %o0, 63, %o0 -END (__signbit_vis3) diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S deleted file mode 100644 index b8ff64a547..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S +++ /dev/null @@ -1,20 +0,0 @@ -#include <sparc-ifunc.h> - -SPARC_ASM_VIS3_IFUNC(signbit) - -/* On 64-bit the double version will also always work for - long-double-precision since in both cases the word with the - sign bit in it is passed always in register %f0. */ -strong_alias (__signbit, __signbitl) -hidden_def (__signbitl) - -# undef weak_alias -# define weak_alias(a, b) -# undef strong_alias -# define strong_alias(a, b) -# undef hidden_def -# define hidden_def(a) - -#define __signbit __signbit_generic - -#include "../s_signbit.S" diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf-vis3.S deleted file mode 100644 index 7833e725e6..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf-vis3.S +++ /dev/null @@ -1,25 +0,0 @@ -/* signbitf(). sparc64 vis3 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__signbitf_vis3) - movstouw %f1, %o0 - retl - srl %o0, 31, %o0 -END (__signbitf_vis3) diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.S deleted file mode 100644 index d57e999b90..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.S +++ /dev/null @@ -1,10 +0,0 @@ -#include <sparc-ifunc.h> - -SPARC_ASM_VIS3_IFUNC(signbitf) - -# undef weak_alias -# define weak_alias(a, b) - -#define __signbitf __signbitf_generic - -#include "../s_signbitf.S" diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_trunc-vis3.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_trunc-vis3.c deleted file mode 100644 index 38ee29a8d3..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_trunc-vis3.c +++ /dev/null @@ -1,23 +0,0 @@ -/* trunc function, sparc64 vis3 version. - Copyright (C) 2016-2017 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 - 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/>. */ - -#include <math.h> - -#define __trunc __trunc_vis3 - -#include <sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c> diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_trunc.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_trunc.c deleted file mode 100644 index dc67f423f1..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_trunc.c +++ /dev/null @@ -1,32 +0,0 @@ -/* trunc function, sparc64 version. - Copyright (C) 2016-2017 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 - 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/>. */ - -#ifdef HAVE_AS_VIS3_SUPPORT -# include <sparc-ifunc.h> -# include <math.h> - -extern double __trunc_vis3 (double); -extern double __trunc_generic (double); - -sparc_libm_ifunc(__trunc, hwcap & HWCAP_SPARC_VIS3 ? __trunc_vis3 : __trunc_generic); -weak_alias (__trunc, trunc) - -# define __trunc __trunc_generic -#endif - -#include <sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c> diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_truncf-vis3.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_truncf-vis3.c deleted file mode 100644 index 302aa56047..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_truncf-vis3.c +++ /dev/null @@ -1,23 +0,0 @@ -/* Float trunc function, sparc64 vis3 version. - Copyright (C) 2016-2017 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 - 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/>. */ - -#include <math.h> - -#define __truncf __truncf_vis3 - -#include <sysdeps/ieee754/flt-32/s_truncf.c> diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c deleted file mode 100644 index 980a313ae1..0000000000 --- a/sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Float trunc function, sparc64 version. - Copyright (C) 2016-2017 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 - 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/>. */ - -#ifdef HAVE_AS_VIS3_SUPPORT -# include <sparc-ifunc.h> -# include <math.h> - -extern float __truncf_vis3 (float); -extern float __truncf_generic (float); - -sparc_libm_ifunc(__truncf, hwcap & HWCAP_SPARC_VIS3 ? __truncf_vis3 : __truncf_generic); -weak_alias (__truncf, truncf) - -# define __truncf __truncf_generic -#endif - -#include <sysdeps/ieee754/flt-32/s_truncf.c> diff --git a/sysdeps/sparc/sparc64/fpu/s_copysign.S b/sysdeps/sparc/sparc64/fpu/s_copysign.S deleted file mode 100644 index e50d8cd246..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_copysign.S +++ /dev/null @@ -1,30 +0,0 @@ -/* copysign function, sparc64 version. - Copyright (C) 2012-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller <davem@davemloft.net>, 2012. - - 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/>. */ - -#include <sysdep.h> - -ENTRY (__copysign) - fzeros %f7 - fnegs %f7, %f7 - fands %f2, %f7, %f9 - fandnot2s %f0, %f7, %f0 - retl - fors %f0, %f9, %f0 -END (__copysign) -weak_alias (__copysign, copysign) \ No newline at end of file diff --git a/sysdeps/sparc/sparc64/fpu/s_copysignf.S b/sysdeps/sparc/sparc64/fpu/s_copysignf.S deleted file mode 100644 index 2f24217274..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_copysignf.S +++ /dev/null @@ -1,30 +0,0 @@ -/* float copysign function, sparc64 version. - Copyright (C) 2012-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller <davem@davemloft.net>, 2012. - - 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/>. */ - -#include <sysdep.h> - -ENTRY (__copysignf) - fzeros %f7 - fnegs %f7, %f7 - fands %f3, %f7, %f9 - fandnot2s %f1, %f7, %f1 - retl - fors %f1, %f9, %f0 -END (__copysignf) -weak_alias (__copysignf, copysignf) \ No newline at end of file diff --git a/sysdeps/sparc/sparc64/fpu/s_fabs.c b/sysdeps/sparc/sparc64/fpu/s_fabs.c deleted file mode 100644 index db5ecf2162..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_fabs.c +++ /dev/null @@ -1,5 +0,0 @@ -double __fabs (double x) -{ - return __builtin_fabs (x); -} -weak_alias (__fabs, fabs) diff --git a/sysdeps/sparc/sparc64/fpu/s_fabsf.c b/sysdeps/sparc/sparc64/fpu/s_fabsf.c deleted file mode 100644 index 8a218e4942..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_fabsf.c +++ /dev/null @@ -1,5 +0,0 @@ -float __fabsf (float x) -{ - return __builtin_fabsf (x); -} -weak_alias (__fabsf, fabsf) diff --git a/sysdeps/sparc/sparc64/fpu/s_fabsl.c b/sysdeps/sparc/sparc64/fpu/s_fabsl.c deleted file mode 100644 index 67e9f47071..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_fabsl.c +++ /dev/null @@ -1,5 +0,0 @@ -long double __fabsl (long double x) -{ - return __builtin_fabsl (x); -} -weak_alias (__fabsl, fabsl) diff --git a/sysdeps/sparc/sparc64/fpu/s_finite.S b/sysdeps/sparc/sparc64/fpu/s_finite.S deleted file mode 100644 index 28ee074c1d..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_finite.S +++ /dev/null @@ -1,31 +0,0 @@ -/* finite(). sparc64 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__finite) - fabsd %f0, %f0 - st %f0, [%sp + STACK_BIAS + 128] - sethi %hi(0x7ff00000), %o2 - ld [%sp + STACK_BIAS + 128], %o0 - sub %o0, %o2, %o0 - retl - srl %o0, 31, %o0 -END (__finite) -hidden_def (__finite) -weak_alias (__finite, finite) diff --git a/sysdeps/sparc/sparc64/fpu/s_finitef.S b/sysdeps/sparc/sparc64/fpu/s_finitef.S deleted file mode 100644 index f3edca3c57..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_finitef.S +++ /dev/null @@ -1,31 +0,0 @@ -/* finitef(). sparc64 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__finitef) - fabss %f1, %f0 - st %f0, [%sp + STACK_BIAS + 128] - sethi %hi(0x7f800000), %o2 - ld [%sp + STACK_BIAS + 128], %o0 - sub %o0, %o2, %o0 - retl - srl %o0, 31, %o0 -END (__finitef) -hidden_def (__finitef) -weak_alias (__finitef, finitef) diff --git a/sysdeps/sparc/sparc64/fpu/s_fma.c b/sysdeps/sparc/sparc64/fpu/s_fma.c deleted file mode 100644 index 8f62605870..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_fma.c +++ /dev/null @@ -1,2 +0,0 @@ -/* Always use dbl-64 version because long double is emulated in software. */ -#include <sysdeps/ieee754/dbl-64/s_fma.c> diff --git a/sysdeps/sparc/sparc64/fpu/s_isinf.S b/sysdeps/sparc/sparc64/fpu/s_isinf.S deleted file mode 100644 index b333a99f54..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_isinf.S +++ /dev/null @@ -1,34 +0,0 @@ -/* isinf(). sparc64 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__isinf) - std %f0, [%sp + STACK_BIAS + 128] - sethi %hi(0x7ff00000), %o2 - ldx [%sp + STACK_BIAS + 128], %g1 - sllx %o2, 32, %o2 - sllx %g1, 1, %o4 - srlx %o4, 1, %o5 - srax %g1, 62, %o0 - xor %o5, %o2, %o3 - retl - movrne %o3, %g0, %o0 -END (__isinf) -hidden_def (__isinf) -weak_alias (__isinf, isinf) diff --git a/sysdeps/sparc/sparc64/fpu/s_isinff.S b/sysdeps/sparc/sparc64/fpu/s_isinff.S deleted file mode 100644 index a5ecf15a9f..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_isinff.S +++ /dev/null @@ -1,33 +0,0 @@ -/* isinff(). sparc64 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__isinff) - st %f1, [%sp + STACK_BIAS + 128] - sethi %hi(0x7f800000), %o2 - lduw [%sp + STACK_BIAS + 128], %g1 - sll %g1, 1, %o4 - srl %o4, 1, %o5 - sra %g1, 30, %o0 - xor %o5, %o2, %o3 - retl - movrne %o3, %g0, %o0 -END (__isinff) -hidden_def (__isinff) -weak_alias (__isinff, isinff) diff --git a/sysdeps/sparc/sparc64/fpu/s_isnan.S b/sysdeps/sparc/sparc64/fpu/s_isnan.S deleted file mode 100644 index 21084ce379..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_isnan.S +++ /dev/null @@ -1,33 +0,0 @@ -/* isnan(). sparc64 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__isnan) - std %f0, [%sp + STACK_BIAS + 128] - sethi %hi(0x7ff00000), %g1 - ldx [%sp + STACK_BIAS + 128], %o0 - sllx %g1, 32, %g1 - sllx %o0, 1, %o0 - srlx %o0, 1, %o0 - sub %g1, %o0, %o0 - retl - srlx %o0, 63, %o0 -END (__isnan) -hidden_def (__isnan) -weak_alias (__isnan, isnan) diff --git a/sysdeps/sparc/sparc64/fpu/s_isnanf.S b/sysdeps/sparc/sparc64/fpu/s_isnanf.S deleted file mode 100644 index a012f42746..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_isnanf.S +++ /dev/null @@ -1,32 +0,0 @@ -/* isnanf(). sparc64 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__isnanf) - st %f1, [%sp + STACK_BIAS + 128] - sethi %hi(0x7f800000), %g1 - lduw [%sp + STACK_BIAS + 128], %o0 - sll %o0, 1, %o0 - srl %o0, 1, %o0 - sub %g1, %o0, %o0 - retl - srl %o0, 31, %o0 -END (__isnanf) -hidden_def (__isnanf) -weak_alias (__isnanf, isnanf) diff --git a/sysdeps/sparc/sparc64/fpu/s_llrint.S b/sysdeps/sparc/sparc64/fpu/s_llrint.S deleted file mode 100644 index 7c8e941b77..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_llrint.S +++ /dev/null @@ -1 +0,0 @@ -/* llrint is implemented in s_lrint.S */ diff --git a/sysdeps/sparc/sparc64/fpu/s_llrintf.S b/sysdeps/sparc/sparc64/fpu/s_llrintf.S deleted file mode 100644 index abab3b9a2b..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_llrintf.S +++ /dev/null @@ -1 +0,0 @@ -/* llrintf is implemented in s_lrint.S */ diff --git a/sysdeps/sparc/sparc64/fpu/s_lrint.S b/sysdeps/sparc/sparc64/fpu/s_lrint.S deleted file mode 100644 index 0a3162f947..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_lrint.S +++ /dev/null @@ -1,63 +0,0 @@ -/* lrint(), sparc64 version. - Copyright (C) 2012-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller <davem@davemloft.net>, 2012. - - 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/>. */ - -#include <sysdep.h> - - /* We pop constants into the FPU registers using the incoming - argument stack slots, since this avoid having to use any PIC - references. We also thus avoid having to allocate a register - window. - - VIS instructions are used to facilitate the formation of - easier constants, and the propagation of the sign bit. */ - -#define TWO_FIFTYTWO 0x43300000 /* 2**52 */ - -#define ZERO %f10 /* 0.0 */ -#define SIGN_BIT %f12 /* -0.0 */ - -ENTRY (__lrint) - sethi %hi(TWO_FIFTYTWO), %o2 - sllx %o2, 32, %o2 - fzero ZERO - - fnegd ZERO, SIGN_BIT - stx %o2, [%sp + STACK_BIAS + 128] - fabsd %f0, %f14 - - ldd [%sp + STACK_BIAS + 128], %f16 - fcmpd %fcc3, %f14, %f16 - - fmovduge %fcc3, ZERO, %f16 - fand %f0, SIGN_BIT, SIGN_BIT - - for %f16, SIGN_BIT, %f16 - faddd %f0, %f16, %f6 - fsubd %f6, %f16, %f0 - fabsd %f0, %f0 - for %f0, SIGN_BIT, %f0 - fdtox %f0, %f4 - std %f4, [%sp + STACK_BIAS + 128] - retl - ldx [%sp + STACK_BIAS + 128], %o0 -END (__lrint) -weak_alias (__lrint, lrint) - -strong_alias (__lrint, __llrint) -weak_alias (__llrint, llrint) diff --git a/sysdeps/sparc/sparc64/fpu/s_lrintf.S b/sysdeps/sparc/sparc64/fpu/s_lrintf.S deleted file mode 100644 index 5f2405ad9e..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_lrintf.S +++ /dev/null @@ -1,62 +0,0 @@ -/* lrintf(), sparc64 version. - Copyright (C) 2012-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller <davem@davemloft.net>, 2012. - - 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/>. */ - -#include <sysdep.h> - - /* We pop constants into the FPU registers using the incoming - argument stack slots, since this avoid having to use any PIC - references. We also thus avoid having to allocate a register - window. - - VIS instructions are used to facilitate the formation of - easier constants, and the propagation of the sign bit. */ - -#define TWO_TWENTYTHREE 0x4b000000 /* 2**23 */ - -#define ZERO %f10 /* 0.0 */ -#define SIGN_BIT %f12 /* -0.0 */ - -ENTRY (__lrintf) - sethi %hi(TWO_TWENTYTHREE), %o2 - fzeros ZERO - - fnegs ZERO, SIGN_BIT - st %o2, [%sp + STACK_BIAS + 128] - fabss %f1, %f14 - - ld [%sp + STACK_BIAS + 128], %f16 - fcmps %fcc3, %f14, %f16 - - fmovsuge %fcc3, ZERO, %f16 - fands %f1, SIGN_BIT, SIGN_BIT - - fors %f16, SIGN_BIT, %f16 - fadds %f1, %f16, %f5 - fsubs %f5, %f16, %f0 - fabss %f0, %f0 - fors %f0, SIGN_BIT, %f0 - fstox %f0, %f4 - std %f4, [%sp + STACK_BIAS + 128] - retl - ldx [%sp + STACK_BIAS + 128], %o0 -END (__lrintf) -weak_alias (__lrintf, lrintf) - -strong_alias (__lrintf, __llrintf) -weak_alias (__llrintf, llrintf) diff --git a/sysdeps/sparc/sparc64/fpu/s_nearbyint.S b/sysdeps/sparc/sparc64/fpu/s_nearbyint.S deleted file mode 100644 index 05ed2bce40..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_nearbyint.S +++ /dev/null @@ -1,64 +0,0 @@ -/* Round float to int floating-point values without generating - an inexact exception, sparc64 version. - - Copyright (C) 2013-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller <davem@davemloft.net>, 2013. - - 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/>. */ - -#include <sysdep.h> - - /* We pop constants into the FPU registers using the incoming - argument stack slots, since this avoid having to use any PIC - references. We also thus avoid having to allocate a register - window. - - VIS instructions are used to facilitate the formation of - easier constants, and the propagation of the sign bit. */ - -#define TWO_FIFTYTWO 0x43300000 /* 2**52 */ - -#define ZERO %f10 /* 0.0 */ -#define SIGN_BIT %f12 /* -0.0 */ - -ENTRY (__nearbyint) - fcmpd %fcc3, %f0, %f0 /* Check for sNaN */ - stx %fsr, [%sp + STACK_BIAS + 144] - sethi %hi(TWO_FIFTYTWO), %o2 - sllx %o2, 32, %o2 - ldx [%sp + STACK_BIAS + 144], %o4 - sethi %hi(0xf8003e0), %o5 - fzero ZERO - or %o5, %lo(0xf8003e0), %o5 - fnegd ZERO, SIGN_BIT - andn %o4, %o5, %o4 - stx %o2, [%sp + STACK_BIAS + 128] - stx %o4, [%sp + STACK_BIAS + 136] - ldx [%sp + STACK_BIAS + 136], %fsr - fabsd %f0, %f14 - ldd [%sp + STACK_BIAS + 128], %f16 - fcmpd %fcc3, %f14, %f16 - fmovduge %fcc3, ZERO, %f16 - fand %f0, SIGN_BIT, SIGN_BIT - for %f16, SIGN_BIT, %f16 - faddd %f0, %f16, %f6 - fsubd %f6, %f16, %f0 - fabsd %f0, %f0 - for %f0, SIGN_BIT, %f0 - retl - ldx [%sp + STACK_BIAS + 144], %fsr -END (__nearbyint) -weak_alias (__nearbyint, nearbyint) diff --git a/sysdeps/sparc/sparc64/fpu/s_nearbyintf.S b/sysdeps/sparc/sparc64/fpu/s_nearbyintf.S deleted file mode 100644 index 55e3639a87..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_nearbyintf.S +++ /dev/null @@ -1,63 +0,0 @@ -/* Round float to int floating-point values without generating - an inexact exception, sparc64 version. - - Copyright (C) 2013-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller <davem@davemloft.net>, 2013. - - 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/>. */ - -#include <sysdep.h> - - /* We pop constants into the FPU registers using the incoming - argument stack slots, since this avoid having to use any PIC - references. We also thus avoid having to allocate a register - window. - - VIS instructions are used to facilitate the formation of - easier constants, and the propagation of the sign bit. */ - -#define TWO_TWENTYTHREE 0x4b000000 /* 2**23 */ - -#define ZERO %f10 /* 0.0 */ -#define SIGN_BIT %f12 /* -0.0 */ - -ENTRY (__nearbyintf) - fcmps %fcc3, %f1, %f1 /* Check for sNaN */ - stx %fsr, [%sp + STACK_BIAS + 144] - sethi %hi(0xf8003e0), %o5 - sethi %hi(TWO_TWENTYTHREE), %o2 - ldx [%sp + STACK_BIAS + 144], %o4 - or %o5, %lo(0xf8003e0), %o5 - fzeros ZERO - andn %o4, %o5, %o4 - fnegs ZERO, SIGN_BIT - st %o2, [%sp + STACK_BIAS + 128] - stx %o4, [%sp + STACK_BIAS + 136] - ldx [%sp + STACK_BIAS + 136], %fsr - fabss %f1, %f14 - ld [%sp + STACK_BIAS + 128], %f16 - fcmps %fcc3, %f14, %f16 - fmovsuge %fcc3, ZERO, %f16 - fands %f1, SIGN_BIT, SIGN_BIT - fors %f16, SIGN_BIT, %f16 - fadds %f1, %f16, %f5 - fsubs %f5, %f16, %f0 - fabss %f0, %f0 - fors %f0, SIGN_BIT, %f0 - retl - ldx [%sp + STACK_BIAS + 144], %fsr -END (__nearbyintf) -weak_alias (__nearbyintf, nearbyintf) diff --git a/sysdeps/sparc/sparc64/fpu/s_rint.S b/sysdeps/sparc/sparc64/fpu/s_rint.S deleted file mode 100644 index 8d0134c90c..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_rint.S +++ /dev/null @@ -1,57 +0,0 @@ -/* Round float to int floating-point values, sparc64 version. - Copyright (C) 2012-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller <davem@davemloft.net>, 2012. - - 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/>. */ - -#include <sysdep.h> - - /* We pop constants into the FPU registers using the incoming - argument stack slots, since this avoid having to use any PIC - references. We also thus avoid having to allocate a register - window. - - VIS instructions are used to facilitate the formation of - easier constants, and the propagation of the sign bit. */ - -#define TWO_FIFTYTWO 0x43300000 /* 2**52 */ - -#define ZERO %f10 /* 0.0 */ -#define SIGN_BIT %f12 /* -0.0 */ - -ENTRY (__rint) - sethi %hi(TWO_FIFTYTWO), %o2 - sllx %o2, 32, %o2 - fzero ZERO - - fnegd ZERO, SIGN_BIT - stx %o2, [%sp + STACK_BIAS + 128] - fabsd %f0, %f14 - - ldd [%sp + STACK_BIAS + 128], %f16 - fcmpd %fcc3, %f14, %f16 - - fmovduge %fcc3, ZERO, %f16 - fand %f0, SIGN_BIT, SIGN_BIT - - for %f16, SIGN_BIT, %f16 - faddd %f0, %f16, %f6 - fsubd %f6, %f16, %f0 - fabsd %f0, %f0 - retl - for %f0, SIGN_BIT, %f0 -END (__rint) -weak_alias (__rint, rint) diff --git a/sysdeps/sparc/sparc64/fpu/s_rintf.S b/sysdeps/sparc/sparc64/fpu/s_rintf.S deleted file mode 100644 index a2f9261382..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_rintf.S +++ /dev/null @@ -1,56 +0,0 @@ -/* Round float to int floating-point values, sparc64 version. - Copyright (C) 2012-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller <davem@davemloft.net>, 2012. - - 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/>. */ - -#include <sysdep.h> - - /* We pop constants into the FPU registers using the incoming - argument stack slots, since this avoid having to use any PIC - references. We also thus avoid having to allocate a register - window. - - VIS instructions are used to facilitate the formation of - easier constants, and the propagation of the sign bit. */ - -#define TWO_TWENTYTHREE 0x4b000000 /* 2**23 */ - -#define ZERO %f10 /* 0.0 */ -#define SIGN_BIT %f12 /* -0.0 */ - -ENTRY (__rintf) - sethi %hi(TWO_TWENTYTHREE), %o2 - fzeros ZERO - - fnegs ZERO, SIGN_BIT - st %o2, [%sp + STACK_BIAS + 128] - fabss %f1, %f14 - - ld [%sp + STACK_BIAS + 128], %f16 - fcmps %fcc3, %f14, %f16 - - fmovsuge %fcc3, ZERO, %f16 - fands %f1, SIGN_BIT, SIGN_BIT - - fors %f16, SIGN_BIT, %f16 - fadds %f1, %f16, %f5 - fsubs %f5, %f16, %f0 - fabss %f0, %f0 - retl - fors %f0, SIGN_BIT, %f0 -END (__rintf) -weak_alias (__rintf, rintf) diff --git a/sysdeps/sparc/sparc64/fpu/s_signbit.S b/sysdeps/sparc/sparc64/fpu/s_signbit.S deleted file mode 100644 index 979917b5d0..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_signbit.S +++ /dev/null @@ -1,32 +0,0 @@ -/* signbit(). sparc64 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__signbit) - st %f0, [%sp + STACK_BIAS + 128] - ld [%sp + STACK_BIAS + 128], %o0 - retl - srl %o0, 31, %o0 -END (__signbit) - -/* On 64-bit the double version will also always work for - long-double-precision since in both cases the word with the - sign bit in it is passed always in register %f0. */ -strong_alias (__signbit, __signbitl) -hidden_def (__signbitl) diff --git a/sysdeps/sparc/sparc64/fpu/s_signbitf.S b/sysdeps/sparc/sparc64/fpu/s_signbitf.S deleted file mode 100644 index cb96983868..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_signbitf.S +++ /dev/null @@ -1,26 +0,0 @@ -/* signbitf(). sparc64 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__signbitf) - st %f1, [%sp + STACK_BIAS + 128] - ld [%sp + STACK_BIAS + 128], %o0 - retl - srl %o0, 31, %o0 -END (__signbitf) diff --git a/sysdeps/sparc/sparc64/fpu/s_signbitl.S b/sysdeps/sparc/sparc64/fpu/s_signbitl.S deleted file mode 100644 index f5e5fb9253..0000000000 --- a/sysdeps/sparc/sparc64/fpu/s_signbitl.S +++ /dev/null @@ -1 +0,0 @@ -/* signbitl is implemented in s_signbit.S */ diff --git a/sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S b/sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S deleted file mode 100644 index de95e52e8e..0000000000 --- a/sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S +++ /dev/null @@ -1,48 +0,0 @@ -/* sqrt function. sparc64 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__sqrt) - fzero %f8 - fcmpd %fcc2, %f0, %f8 - fbl,pn %fcc2, 1f - nop -8: retl - fsqrtd %f0, %f0 -1: -#ifdef SHARED - SETUP_PIC_REG_LEAF(o5, g1) - sethi %gdop_hix22(_LIB_VERSION), %g1 - xor %g1, %gdop_lox10(_LIB_VERSION), %g1 - ldx [%o5 + %g1], %g1, %gdop(_LIB_VERSION) -#else - sethi %hi(_LIB_VERSION), %g1 - or %g1, %lo(_LIB_VERSION), %g1 -#endif - ld [%g1], %g1 - cmp %g1, -1 - be,pt %icc, 8b - fmovd %f0, %f2 - mov 26, %o2 - mov %o7, %g1 - call __kernel_standard - mov %g1, %o7 -END (__sqrt) - -weak_alias (__sqrt, sqrt) diff --git a/sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S b/sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S deleted file mode 100644 index 0c253fe43a..0000000000 --- a/sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S +++ /dev/null @@ -1,48 +0,0 @@ -/* sqrtf function. sparc64 version. - Copyright (C) 2012-2017 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 - 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/>. */ - -#include <sysdep.h> - -ENTRY (__sqrtf) - fzeros %f8 - fcmps %fcc2, %f1, %f8 - fbl,pn %fcc2, 1f - nop -8: retl - fsqrts %f1, %f0 -1: -#ifdef SHARED - SETUP_PIC_REG_LEAF(o5, g1) - sethi %gdop_hix22(_LIB_VERSION), %g1 - xor %g1, %gdop_lox10(_LIB_VERSION), %g1 - ldx [%o5 + %g1], %g1, %gdop(_LIB_VERSION) -#else - sethi %hi(_LIB_VERSION), %g1 - or %g1, %lo(_LIB_VERSION), %g1 -#endif - ld [%g1], %g1 - cmp %g1, -1 - be,pt %icc, 8b - fmovs %f1, %f3 - mov 126, %o2 - mov %o7, %g1 - call __kernel_standard_f - mov %g1, %o7 -END (__sqrtf) - -weak_alias (__sqrtf, sqrtf) |