This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCHv2] powerpc: strcasestr optmization for power8


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]