This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCHv2] powerpc: strcasestr optmization for power8
- From: "Tulio Magno Quites Machado Filho" <tuliom at linux dot vnet dot ibm dot com>
- To: Rajalakshmi Srinivasaraghavan <raji at linux dot vnet dot ibm dot com>, libc-alpha at sourceware dot org
- Cc:
- Date: Mon, 18 Apr 2016 18:27:11 -0300
- Subject: Re: [PATCHv2] powerpc: strcasestr optmization for power8
- Authentication-results: sourceware.org; auth=none
- References: <1459937731-21341-1-git-send-email-raji at linux dot vnet dot ibm dot com>
Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com> writes:
> This patch optimizes strcasestr function for power >= 8 systems. The average
> improvement of this optimization is ~40% and compares 16 bytes at a time
> using vector instructions. This patch is tested on powerpc64 and powerpc64le.
>
> 2016-04-16 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>
>
> * sysdeps/powerpc/locale-defines.sym: Add new macros.
> * sysdeps/powerpc/powerpc64/multiarch/Makefile: Add strcasestr().
Please, mention which variable you changed, e.g.:
* sysdeps/powerpc/powerpc64/multiarch/Makefile (sysdep_routines):
Add strcasestr().
> * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Likewise.
> * sysdeps/powerpc/powerpc64/multiarch/strcasestr-power8.S: New file.
> * sysdeps/powerpc/powerpc64/multiarch/strcasestr-ppc64.c: New file.
> * sysdeps/powerpc/powerpc64/multiarch/strcasestr.c: New file.
> * sysdeps/powerpc/powerpc64/power8/Makefile: New file.
Likewise
> diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcasestr-power8.S b/sysdeps/powerpc/powerpc64/multiarch/strcasestr-power8.S
>...
> +/* The following definitions are used in strcasestr optimization. */
> +
> +/* strlen is used to calculate len of r4. */
> +#define STRLEN __strlen_power7
We can now move this to power8.
> diff --git a/sysdeps/powerpc/powerpc64/power8/strcasestr.S b/sysdeps/powerpc/powerpc64/power8/strcasestr.S
> new file mode 100644
> index 0000000..d270d4c
> ...
> + std r28, -32(r1) /* Save callers register r28. */
> + std r27, -40(r1) /* Save callers register r27. */
This should have tabs ------^
It also appears in other lines of this file.
LGTM.
--
Tulio Magno