diff options
Diffstat (limited to 'sysdeps/powerpc')
-rw-r--r-- | sysdeps/powerpc/Makefile | 1 | ||||
-rw-r--r-- | sysdeps/powerpc/power6/wcschr.c | 96 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/power4/multiarch/Makefile | 5 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.c | 11 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-power6.c | 26 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-power7.c | 26 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-ppc32.c | 43 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/power4/multiarch/wcschr.c | 41 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/Makefile | 5 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c | 11 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/wcschr-power6.c | 19 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/wcschr-power7.c | 19 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/wcschr-ppc64.c | 18 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/wcschr.c | 43 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/power6/wcschr.c | 1 |
15 files changed, 3 insertions, 362 deletions
diff --git a/sysdeps/powerpc/Makefile b/sysdeps/powerpc/Makefile index ba137e4cad..35cf1c624b 100644 --- a/sysdeps/powerpc/Makefile +++ b/sysdeps/powerpc/Makefile @@ -49,4 +49,5 @@ endif ifeq ($(subdir),wcsmbs) CFLAGS-wcscpy.c += -DUNROLL_NTIMES=8 +CFLAGS-wcschr.c += -DUNROLL_NTIMES=8 endif diff --git a/sysdeps/powerpc/power6/wcschr.c b/sysdeps/powerpc/power6/wcschr.c deleted file mode 100644 index e3f93569dd..0000000000 --- a/sysdeps/powerpc/power6/wcschr.c +++ /dev/null @@ -1,96 +0,0 @@ -/* wcschr.c - Wide Character Search for POWER6+. - Copyright (C) 2012-2019 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; see the file COPYING.LIB. If - not, see <http://www.gnu.org/licenses/>. */ - -#include <wchar.h> - -#ifndef WCSCHR -# define WCSCHR __wcschr -# define DEFAULT_WCSCHR -#endif - -/* Find the first occurrence of WC in WCS. */ -wchar_t * -WCSCHR (const wchar_t *wcs, const wchar_t wc) -{ - const wchar_t *wcs2 = wcs + 1; - - if (*wcs == wc) - return (wchar_t *) wcs; - if (*wcs == L'\0') - return NULL; - - do - { - wcs += 2; - - if (*wcs2 == wc) - return (wchar_t *) wcs2; - if (*wcs2 == L'\0') - return NULL; - wcs2 += 2; - - if (*wcs == wc) - return (wchar_t *) wcs; - if (*wcs == L'\0') - return NULL; - wcs += 2; - - if (*wcs2 == wc) - return (wchar_t *) wcs2; - if (*wcs2 == L'\0') - return NULL; - wcs2 += 2; - - if (*wcs == wc) - return (wchar_t *) wcs; - if (*wcs == L'\0') - return NULL; - wcs += 2; - - if (*wcs2 == wc) - return (wchar_t *) wcs2; - if (*wcs2 == L'\0') - return NULL; - wcs2 += 2; - - if (*wcs == wc) - return (wchar_t *) wcs; - if (*wcs == L'\0') - return NULL; - wcs += 2; - - if (*wcs2 == wc) - return (wchar_t *) wcs2; - if (*wcs2 == L'\0') - return NULL; - wcs2 += 2; - - if (*wcs == wc) - return (wchar_t *) wcs; - } - while (*wcs != L'\0'); - - return NULL; -} -#ifdef DEFAULT_WCSCHR -libc_hidden_def (__wcschr) -weak_alias (__wcschr, wcschr) -libc_hidden_weak (wcschr) -#else -libc_hidden_def (wcschr) -#endif diff --git a/sysdeps/powerpc/powerpc32/power4/multiarch/Makefile b/sysdeps/powerpc/powerpc32/power4/multiarch/Makefile index f5141bc5b5..bb87c56b4d 100644 --- a/sysdeps/powerpc/powerpc32/power4/multiarch/Makefile +++ b/sysdeps/powerpc/powerpc32/power4/multiarch/Makefile @@ -17,11 +17,8 @@ CFLAGS-strncase_l-power7.c += -mcpu=power7 -funroll-loops endif ifeq ($(subdir),wcsmbs) -sysdep_routines += wcschr-power7 wcschr-power6 wcschr-ppc32 \ - wcsrchr-power7 wcsrchr-power6 wcsrchr-ppc32 +sysdep_routines += wcsrchr-power7 wcsrchr-power6 wcsrchr-ppc32 -CFLAGS-wcschr-power7.c += -mcpu=power7 -CFLAGS-wcschr-power6.c += -mcpu=power6 CFLAGS-wcsrchr-power7.c += -mcpu=power7 CFLAGS-wcsrchr-power6.c += -mcpu=power6 endif diff --git a/sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.c b/sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.c index ae581d62f8..7624c3d5f0 100644 --- a/sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.c +++ b/sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.c @@ -187,17 +187,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, IFUNC_IMPL_ADD (array, i, strchr, 1, __strchr_ppc)) - /* Support sysdeps/powerpc/powerpc32/power4/multiarch/wcschr.c. */ - IFUNC_IMPL (i, name, wcschr, - IFUNC_IMPL_ADD (array, i, wcschr, - hwcap & PPC_FEATURE_HAS_VSX, - __wcschr_power7) - IFUNC_IMPL_ADD (array, i, wcschr, - hwcap & PPC_FEATURE_ARCH_2_05, - __wcschr_power6) - IFUNC_IMPL_ADD (array, i, wcschr, 1, - __wcschr_ppc)) - /* Support sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr.c. */ IFUNC_IMPL (i, name, wcsrchr, IFUNC_IMPL_ADD (array, i, wcsrchr, diff --git a/sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-power6.c b/sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-power6.c deleted file mode 100644 index 516f0f8584..0000000000 --- a/sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-power6.c +++ /dev/null @@ -1,26 +0,0 @@ -/* wcschr.c - Wide Character Search for powerpc32/power6. - Copyright (C) 2013-2019 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; see the file COPYING.LIB. If - not, see <http://www.gnu.org/licenses/>. */ - -#include <wchar.h> - -#define WCSCHR __wcschr_power6 - -#undef libc_hidden_def -#define libc_hidden_def(name) - -#include <sysdeps/powerpc/power6/wcschr.c> diff --git a/sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-power7.c b/sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-power7.c deleted file mode 100644 index 5dc52659e8..0000000000 --- a/sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-power7.c +++ /dev/null @@ -1,26 +0,0 @@ -/* wcschr.c - Wide Character Search for powerpc32/power7. - Copyright (C) 2013-2019 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; see the file COPYING.LIB. If - not, see <http://www.gnu.org/licenses/>. */ - -#include <wchar.h> - -#define WCSCHR __wcschr_power7 - -#undef libc_hidden_def -#define libc_hidden_def(name) - -#include <sysdeps/powerpc/power6/wcschr.c> diff --git a/sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-ppc32.c b/sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-ppc32.c deleted file mode 100644 index 55873fbcf4..0000000000 --- a/sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-ppc32.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 2013-2019 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 <wchar.h> - -#if IS_IN (libc) -# undef libc_hidden_weak -# define libc_hidden_weak(name) - -# undef weak_alias -# undef libc_hidden_def - -# ifdef SHARED -# define libc_hidden_def(name) \ - __hidden_ver1 (__wcschr_ppc, __GI_wcschr, __wcschr_ppc); \ - strong_alias (__wcschr_ppc, __wcschr_ppc_1); \ - __hidden_ver1 (__wcschr_ppc_1, __GI___wcschr, __wcschr_ppc_1); -# define weak_alias(name,alias) -# else -# define weak_alias(name, alias) \ - _weak_alias(__wcschr_ppc, __wcschr) -# define libc_hidden_def(name) -# endif /* SHARED */ -#endif - -extern __typeof (wcschr) __wcschr_ppc; - -#define WCSCHR __wcschr_ppc -#include <wcsmbs/wcschr.c> diff --git a/sysdeps/powerpc/powerpc32/power4/multiarch/wcschr.c b/sysdeps/powerpc/powerpc32/power4/multiarch/wcschr.c deleted file mode 100644 index c8379a2dca..0000000000 --- a/sysdeps/powerpc/powerpc32/power4/multiarch/wcschr.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Multiple versions of wcschr - Copyright (C) 2013-2019 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/>. */ - -#if IS_IN (libc) -# define wcschr __redirect_wcschr -# include <wchar.h> -# include <shlib-compat.h> -# include "init-arch.h" - -extern __typeof (__redirect_wcschr) __wcschr_ppc attribute_hidden; -extern __typeof (__redirect_wcschr) __wcschr_power6 attribute_hidden; -extern __typeof (__redirect_wcschr) __wcschr_power7 attribute_hidden; - -extern __typeof (__redirect_wcschr) __libc_wcschr; - -libc_ifunc (__libc_wcschr, - (hwcap & PPC_FEATURE_HAS_VSX) - ? __wcschr_power7 : - (hwcap & PPC_FEATURE_ARCH_2_05) - ? __wcschr_power6 - : __wcschr_ppc); -#undef wcschr -weak_alias (__libc_wcschr, wcschr) -#else -#include <wcsmbs/wcschr.c> -#endif diff --git a/sysdeps/powerpc/powerpc64/multiarch/Makefile b/sysdeps/powerpc/powerpc64/multiarch/Makefile index 3913ef580e..c70f4a2b5a 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/Makefile +++ b/sysdeps/powerpc/powerpc64/multiarch/Makefile @@ -39,11 +39,8 @@ CFLAGS-strncase_l-power7.c += -mcpu=power7 -funroll-loops endif ifeq ($(subdir),wcsmbs) -sysdep_routines += wcschr-power7 wcschr-power6 wcschr-ppc64 \ - wcsrchr-power7 wcsrchr-power6 wcsrchr-ppc64 +sysdep_routines += wcsrchr-power7 wcsrchr-power6 wcsrchr-ppc64 -CFLAGS-wcschr-power7.c += -mcpu=power7 -CFLAGS-wcschr-power6.c += -mcpu=power6 CFLAGS-wcsrchr-power7.c += -mcpu=power7 CFLAGS-wcsrchr-power6.c += -mcpu=power6 endif diff --git a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c index 06d33d71e0..9b1e4d141d 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c +++ b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c @@ -261,17 +261,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, __strncasecmp_l_ppc)) /* Support sysdeps/powerpc/powerpc64/multiarch/wcschr.c. */ - IFUNC_IMPL (i, name, wcschr, - IFUNC_IMPL_ADD (array, i, wcschr, - hwcap & PPC_FEATURE_HAS_VSX, - __wcschr_power7) - IFUNC_IMPL_ADD (array, i, wcschr, - hwcap & PPC_FEATURE_ARCH_2_05, - __wcschr_power6) - IFUNC_IMPL_ADD (array, i, wcschr, 1, - __wcschr_ppc)) - - /* Support sysdeps/powerpc/powerpc64/multiarch/wcschr.c. */ IFUNC_IMPL (i, name, wcsrchr, IFUNC_IMPL_ADD (array, i, wcsrchr, hwcap & PPC_FEATURE_HAS_VSX, diff --git a/sysdeps/powerpc/powerpc64/multiarch/wcschr-power6.c b/sysdeps/powerpc/powerpc64/multiarch/wcschr-power6.c deleted file mode 100644 index 029608c512..0000000000 --- a/sysdeps/powerpc/powerpc64/multiarch/wcschr-power6.c +++ /dev/null @@ -1,19 +0,0 @@ -/* wcschr.c - Wide Character Search for powerpc64/power6. - Copyright (C) 2013-2019 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; see the file COPYING.LIB. If - not, see <http://www.gnu.org/licenses/>. */ - -#include <sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-power6.c> diff --git a/sysdeps/powerpc/powerpc64/multiarch/wcschr-power7.c b/sysdeps/powerpc/powerpc64/multiarch/wcschr-power7.c deleted file mode 100644 index 9b11103976..0000000000 --- a/sysdeps/powerpc/powerpc64/multiarch/wcschr-power7.c +++ /dev/null @@ -1,19 +0,0 @@ -/* wcschr.c - Wide Character Search for powerpc64/power7. - Copyright (C) 2013-2019 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; see the file COPYING.LIB. If - not, see <http://www.gnu.org/licenses/>. */ - -#include <sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-power7.c> diff --git a/sysdeps/powerpc/powerpc64/multiarch/wcschr-ppc64.c b/sysdeps/powerpc/powerpc64/multiarch/wcschr-ppc64.c deleted file mode 100644 index f956fc0aa2..0000000000 --- a/sysdeps/powerpc/powerpc64/multiarch/wcschr-ppc64.c +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright (C) 2013-2019 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 <sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-ppc32.c> diff --git a/sysdeps/powerpc/powerpc64/multiarch/wcschr.c b/sysdeps/powerpc/powerpc64/multiarch/wcschr.c deleted file mode 100644 index 0a279f0dd2..0000000000 --- a/sysdeps/powerpc/powerpc64/multiarch/wcschr.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Multiple versions of wcschr - Copyright (C) 2013-2019 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/>. */ - -#if IS_IN (libc) -# define wcschr __redirect_wcschr -# define __wcschr __redirect___wcschr -# include <wchar.h> -# include <shlib-compat.h> -# include "init-arch.h" - -extern __typeof (wcschr) __wcschr_ppc attribute_hidden; -extern __typeof (wcschr) __wcschr_power6 attribute_hidden; -extern __typeof (wcschr) __wcschr_power7 attribute_hidden; -# undef wcschr -# undef __wcschr - -libc_ifunc_redirected (__redirect___wcschr, __wcschr, - (hwcap & PPC_FEATURE_HAS_VSX) - ? __wcschr_power7 - : (hwcap & PPC_FEATURE_ARCH_2_05) - ? __wcschr_power6 - : __wcschr_ppc); -weak_alias (__wcschr, wcschr) -#else -#undef libc_hidden_def -#define libc_hidden_def(a) -#include <wcsmbs/wcschr.c> -#endif diff --git a/sysdeps/powerpc/powerpc64/power6/wcschr.c b/sysdeps/powerpc/powerpc64/power6/wcschr.c deleted file mode 100644 index ae04a130cc..0000000000 --- a/sysdeps/powerpc/powerpc64/power6/wcschr.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/powerpc/power6/wcschr.c> |