This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports 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: [PATCH] Optimize MIPS memcpy


On 12/09/2012, at 3:17 AM, Steve Ellcey wrote:

> 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.

What testing was done for this patch, does it pass glibc testsuite?

I have a benchmark that exercises various string and mem* routines failing with it.

Thank you,

--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics


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