This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] PowerPC: optimized strcspn for POWER7
- From: Steven Munroe <munroesj at linux dot vnet dot ibm dot comcom>
- To: Adhemerval Zanella <azanella at linux dot vnet dot ibm dot com>
- Cc: "GNU C. Library" <libc-alpha at sourceware dot org>
- Date: Thu, 20 Mar 2014 11:04:09 -0500
- Subject: Re: [PATCH] PowerPC: optimized strcspn for POWER7
- Authentication-results: sourceware.org; auth=none
- References: <531B8923 dot 3010907 at linux dot vnet dot ibm dot com>
- Reply-to: munroe at us dot ibm dot com
On Sat, 2014-03-08 at 18:18 -0300, Adhemerval Zanella wrote:
> I am resending this patch to keep track using the patchwork and with
> some corrections (string/strpbrk.c cleanup and the no need to align
> stack, since stack is already aligned to 16 bytes in PPC64 abi).
>
> This patch add a optimized strcspn for POWER7 by using a different
> algorithm than default implementation: it constructs a table based on
> the 'accept' argument and use this table to check for any occurance
> on the input string. The idea is similar as x86_64 uses.
> For PowerPC some tunings were added, such as unroll loops and align
> stack memory to table to 16 bytes (so VSX clean can ran without
> alignment issues).
>
> --
>
> 2014-03-08 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
>
> * string/strcspn.c (strcspn): Using macro to redefine symbol name.
> * sysdeps/powerpc/powerpc64/multiarch/Makefile: Add strcspn-power7
> and strcspn-ppc64 objects.
> * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
> (__libc_ifunc_impl_list): Add new strcspn optimized symbols.
> * sysdeps/powerpc/powerpc64/multiarch/strcspn-power7.S: New file:
> multiarch strcspn for POWER7.
> * sysdeps/powerpc/powerpc64/multiarch/strcspn-ppc64.c: New file:
> multiarch strcspn for PPC64.
> * sysdeps/powerpc/powerpc64/multiarch/strcspn.c: New file: strcspn
> ifunc selector.
> * sysdeps/powerpc/powerpc64/power7/strcspn.S: New file: optimited
> strcspn for POWER7.
>
> ---
Looks good.