[PATCH] Optimize MIPS memcpy

Steve Ellcey sellcey@mips.com
Tue Sep 11 15:18:00 GMT 2012


On Tue, 2012-09-11 at 16:34 +1200, Maxim Kuvyrkov wrote:
 
> > 2012-09-06  Steve Ellcey  <sellcey@mips.com>
> > 
> > 	* sysdeps/mips/memcpy.S: Add prefetching and more unrolling, make
> > 	it work in 32 or 64 bit modes.
> > 	* sysdeps/mips/mips64/memcpy.S: Remove.
> 
> This fails to build for me at least for N32 ABI.
> 
> ../ports/sysdeps/mips/memcpy.S: Assembler messages:
> ../ports/sysdeps/mips/memcpy.S:272: Error: Illegal operands `lw t4,((4)*4)($5)'
> ../ports/sysdeps/mips/memcpy.S:273: Error: Illegal operands `lw t5,((5)*4)($5)'
> 
> I guess the extra parenthesis screw up assembler syntax.
> 
> --
> Maxim Kuvyrkov
> CodeSourcery / Mentor Graphics

It is not the parenthesis, it is the use of t4, t5, t6, and t7 instead
of ta0, ta1, ta2, and ta3.  I use the t[4567] for 32 bit mode but I
guess I want to use ta[0123] for N32 ABI mode as well as for the 64 bit
mode.  Here is a new version with this change and with a fixed copyright
notice.

Steve Ellcey
sellcey@mips.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: memcpy.patch
Type: text/x-patch
Size: 22793 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-ports/attachments/20120911/0ef813c1/attachment.bin>


More information about the Libc-ports mailing list