This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
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