From f82ed45d7f77838bc8cff4c0a4ff33e76bb18a35 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Thu, 28 Feb 2019 08:33:40 -0300 Subject: powerpc: Use generic wcsrchr optimization This patch removes the power6 wcsrchr optimization and uses generic implementation instead. Currently, both power6 and power7 IFUNC variant resulting binary are essentially the same and the generic implementation with unrolling loop set to 8 also results in similar performance. Checked on powerpc64-linux-gnu. * sysdeps/powerpc/Makefile [$(subdir) == wcsmbs] (CFLAGS-wcsrchr.c): New rule. * sysdeps/powerpc/power6/wcsrchr.c: Remove file. * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr-power6.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr-power7.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr-ppc32.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/wcsrchr-power6.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/wcsrchr-power7.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/wcsrchr-ppc64.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/wcsrchr.c: Likewise. * sysdeps/powerpc/powerpc64/power6/wcsrchr.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/Makefile [$(subdir) == wcsmbs] (sysdeps_routines): Remove wcsrchr-power6 and wcsrchr-power7. (CFLAGS-wcsrchr-power7.c, CFLAGS-wcsrchr-power6.c): Remove rule. * sysdeps/powerpc/powerpc64/multiarch/Makefile: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.c: Remove wcsrchr optimizations. * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Likewise. --- ChangeLog | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index c633bc581f..b00c783bcc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,29 @@ 2019-04-04 Adhemerval Zanella + * sysdeps/powerpc/Makefile [$(subdir) == wcsmbs] (CFLAGS-wcsrchr.c): + New rule. + * sysdeps/powerpc/power6/wcsrchr.c: Remove file. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr-power6.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr-power7.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr-ppc32.c: + Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr.c: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/wcsrchr-power6.c: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/wcsrchr-power7.c: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/wcsrchr-ppc64.c: Likewise. + * sysdeps/powerpc/powerpc64/multiarch/wcsrchr.c: Likewise. + * sysdeps/powerpc/powerpc64/power6/wcsrchr.c: Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/Makefile + [$(subdir) == wcsmbs] (sysdeps_routines): Remove wcsrchr-power6 and + wcsrchr-power7. + (CFLAGS-wcsrchr-power7.c, CFLAGS-wcsrchr-power6.c): Remove rule. + * sysdeps/powerpc/powerpc64/multiarch/Makefile: Likewise. + * sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.c: + Remove wcsrchr optimizations. + * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Likewise. + * wcsmbs/wcsrchr.c (WCSRCHR): Use loop_unroll.h to parametrize the loop unroll. -- cgit v1.2.3