From 33d7e138ca63b4091bba840c609a95cdcc56c10e Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Fri, 3 Feb 2017 17:48:39 -0800 Subject: sparc: Remove optimized math routines which cause testsuite failures. famx{,f}/fmin{,f} and 32-bit lrint cause math testsuite failures either because they generate incorrect results or they fail to signal the proper exceptions. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmax-vis3.S: Remove file. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmax.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaxf-vis3.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaxf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmin-vis3.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmin.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fminf-vis3.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fminf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/Makefile (libm-sysdep_routines): Update. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fmax.S: Remove file. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fmaxf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fmin.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fminf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_lrint.S: Likewise. * sysdeps/sparc/sparc64/fpu/s_fmax.S: Likewise. * sysdeps/sparc/sparc64/fpu/s_fmaxf.S: Likewise. * sysdeps/sparc/sparc64/fpu/s_fmin.S: Likewise. * sysdeps/sparc/sparc64/fpu/s_fminf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax-vis3.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf-vis3.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin-vis3.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf-vis3.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile (libm-sysdep_routines): Update. --- .../sparc/sparc32/sparcv9/fpu/multiarch/Makefile | 1 - .../sparc32/sparcv9/fpu/multiarch/s_fmax-vis3.S | 30 ---------------------- .../sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S | 19 -------------- .../sparc32/sparcv9/fpu/multiarch/s_fmaxf-vis3.S | 28 -------------------- .../sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf.S | 12 --------- .../sparc32/sparcv9/fpu/multiarch/s_fmin-vis3.S | 30 ---------------------- .../sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S | 19 -------------- .../sparc32/sparcv9/fpu/multiarch/s_fminf-vis3.S | 28 -------------------- .../sparc/sparc32/sparcv9/fpu/multiarch/s_fminf.S | 12 --------- 9 files changed, 179 deletions(-) delete mode 100644 sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax-vis3.S delete mode 100644 sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S delete mode 100644 sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf-vis3.S delete mode 100644 sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf.S delete mode 100644 sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin-vis3.S delete mode 100644 sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S delete mode 100644 sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf-vis3.S delete mode 100644 sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf.S (limited to 'sysdeps/sparc/sparc32/sparcv9/fpu/multiarch') diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile index c929f98764..322e300097 100644 --- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile +++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile @@ -4,7 +4,6 @@ libm-sysdep_routines += m_copysignf-vis3 m_copysign-vis3 s_fabs-vis3 \ s_fabsf-vis3 s_llrintf-vis3 s_llrint-vis3 \ s_rintf-vis3 s_rint-vis3 \ w_sqrt_compat-vis3 w_sqrtf_compat-vis3 \ - s_fminf-vis3 s_fmin-vis3 s_fmaxf-vis3 s_fmax-vis3 \ s_fmaf-vis3 s_fma-vis3 s_nearbyint-vis3 \ s_nearbyintf-vis3 s_fdimf-vis3 s_fdim-vis3 sysdep_routines += s_copysignf-vis3 s_copysign-vis3 diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax-vis3.S deleted file mode 100644 index 9ffc9e7968..0000000000 --- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax-vis3.S +++ /dev/null @@ -1,30 +0,0 @@ -/* fmax function, sparc32 vis3 version. - Copyright (C) 2012-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller , 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 - . */ - -#include - -ENTRY (__fmax_vis3) - movwtos %o0, %f0 - movwtos %o1, %f1 - movwtos %o2, %f2 - movwtos %o3, %f3 - flcmpd %fcc1, %f0, %f2 - retl - fmovdlg %fcc1, %f2, %f0 -END (__fmax_vis3) diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S deleted file mode 100644 index e996860485..0000000000 --- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S +++ /dev/null @@ -1,19 +0,0 @@ -#include -#include - -SPARC_ASM_VIS3_IFUNC(fmax) - -weak_alias (__fmax, fmax) - -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __fmax, fmaxl, GLIBC_2_1); -#endif - -# undef weak_alias -# define weak_alias(a, b) -# undef compat_symbol -# define compat_symbol(a, b, c, d) - -#define __fmax __fmax_generic - -#include "../s_fmax.S" diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf-vis3.S deleted file mode 100644 index 48a0da6d08..0000000000 --- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf-vis3.S +++ /dev/null @@ -1,28 +0,0 @@ -/* fmaxf function, sparc32 vis3 version. - Copyright (C) 2012-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller , 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 - . */ - -#include - -ENTRY (__fmaxf_vis3) - movwtos %o0, %f0 - movwtos %o1, %f1 - flcmps %fcc1, %f0, %f1 - retl - fmovslg %fcc1, %f1, %f0 -END (__fmaxf_vis3) diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf.S deleted file mode 100644 index daa91579c4..0000000000 --- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf.S +++ /dev/null @@ -1,12 +0,0 @@ -#include - -SPARC_ASM_VIS3_IFUNC(fmaxf) - -weak_alias (__fmaxf, fmaxf) - -# undef weak_alias -# define weak_alias(a, b) - -#define __fmaxf __fmaxf_generic - -#include "../s_fmaxf.S" diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin-vis3.S deleted file mode 100644 index 2e7b40edf5..0000000000 --- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin-vis3.S +++ /dev/null @@ -1,30 +0,0 @@ -/* fmin function, sparc32 vis3 version. - Copyright (C) 2012-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller , 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 - . */ - -#include - -ENTRY (__fmin_vis3) - movwtos %o0, %f0 - movwtos %o1, %f1 - movwtos %o2, %f2 - movwtos %o3, %f3 - flcmpd %fcc1, %f0, %f2 - retl - fmovdge %fcc1, %f2, %f0 -END (__fmin_vis3) diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S deleted file mode 100644 index b7ea51f475..0000000000 --- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S +++ /dev/null @@ -1,19 +0,0 @@ -#include -#include - -SPARC_ASM_VIS3_IFUNC(fmin) - -weak_alias (__fmin, fmin) - -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __fmin, fminl, GLIBC_2_1); -#endif - -# undef weak_alias -# define weak_alias(a, b) -# undef compat_symbol -# define compat_symbol(a, b, c, d) - -#define __fmin __fmin_generic - -#include "../s_fmin.S" diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf-vis3.S deleted file mode 100644 index bee4a2b056..0000000000 --- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf-vis3.S +++ /dev/null @@ -1,28 +0,0 @@ -/* fminf function, sparc32 vis3 version. - Copyright (C) 2012-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David S. Miller , 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 - . */ - -#include - -ENTRY (__fminf_vis3) - movwtos %o0, %f0 - movwtos %o1, %f1 - flcmps %fcc1, %f0, %f1 - retl - fmovsge %fcc1, %f1, %f0 -END (__fminf_vis3) diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf.S deleted file mode 100644 index c4690e1df9..0000000000 --- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf.S +++ /dev/null @@ -1,12 +0,0 @@ -#include - -SPARC_ASM_VIS3_IFUNC(fminf) - -weak_alias (__fminf, fminf) - -# undef weak_alias -# define weak_alias(a, b) - -#define __fminf __fminf_generic - -#include "../s_fminf.S" -- cgit 1.4.1