[PATCH] Add versions of wcscpy, wcschr, wcsrchr for power6/power7.

Ryan S. Arnold ryan.arnold@gmail.com
Fri Jun 15 17:59:00 GMT 2012


On Wed, Jun 13, 2012 at 10:35 AM, Will Schmidt
<will_schmidt@vnet.ibm.com> wrote:
> Add versions of wcscpy, wcschr, wcsrchr for power6/power7.
>
> Initially based on the versions found in wcsmbs/* ; these files
> have been changed by hand unrolling, and adding some additional
> variables to allow some read-ahead to occur, which then relieves
> some of the wait-for-increment/wait-for-load/wait-for-compare-results
> pressure that was slowing down every iteration through the while-loop.
>
> For 64-bit Power7, These changes give an approx 20% throughput boost for
> the wcschr and wcsrchr functions; and approx 40% boost for the
> wcscpy function.  32-bit improvements appear to be slightly better
> with ~ %30 and ~ %45 respectively.  Results for Power6 closely match
> those for power7.
>
> Passed make check with no regressions.
>
> ---
>
> 2012-06-12  Will Schmidt  <will_schmidt@vnet.ibm.com>
>
>        * powerpc32/power6/wcschr.c: New file.
>        * powerpc32/power6/wcscpy.c: New file.
>        * powerpc32/power6/wcsrchr.c: New file.
>        * powerpc64/power6/wcschr.c: New file.
>        * powerpc64/power6/wcscpy.c: New file.
>        * powerpc64/power6/wcsrchr.c: New file.

Hey Will, thanks for the patch.  Can you file a bugzilla under
enhancement and target it for 2.17 so that we don't forget it?  We'll
address this once the 2.16 branch is baked.

Ryan



More information about the Libc-alpha mailing list