This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: PowerPC LE memcpy
- From: Adhemerval Zanella <azanella at linux dot vnet dot ibm dot com>
- To: libc-alpha at sourceware dot org
- Date: Mon, 26 Aug 2013 08:54:08 -0300
- Subject: Re: PowerPC LE memcpy
- Authentication-results: sourceware.org; auth=none
- References: <20130809052507 dot GN3294 at bubble dot grove dot modra dot org>
Hi Alan,
This patch is ok, thanks. I tried the power7 optimized memcpy implementation
from kernel and adjusted to use on glibc. Using the benchtest/bench-memcpy
implementation with some modification to accumulate total time spent in each
call (instead of just use the best timing), I noticed GLIBC implementation
with your cleanings is slight faster for the sizes considered in the
benchmark (<496 bytes).
On 09-08-2013 02:25, Alan Modra wrote:
> LIttle-endian support for memcpy. I spent some time cleaning up the
> 64-bit power7 memcpy, in order to avoid the extra alignment traps
> power7 takes for little-endian. It probably would have been better
> to copy the linux kernel version of memcpy.
>
> * sysdeps/powerpc/powerpc32/power4/memcpy.S: Add little endian support.
> * sysdeps/powerpc/powerpc32/power6/memcpy.S: Likewise.
> * sysdeps/powerpc/powerpc32/power7/memcpy.S: Likewise.
> * sysdeps/powerpc/powerpc32/power7/mempcpy.S: Likewise.
> * sysdeps/powerpc/powerpc64/memcpy.S: Likewise.
> * sysdeps/powerpc/powerpc64/power4/memcpy.S: Likewise.
> * sysdeps/powerpc/powerpc64/power6/memcpy.S: Likewise.
> * sysdeps/powerpc/powerpc64/power7/memcpy.S: Likewise.
> * sysdeps/powerpc/powerpc64/power7/mempcpy.S: Likewise. Make better
> use of regs. Use power7 mtocrf. Tidy function tails.