This is the mail archive of the newlib@sourceware.org mailing list for the newlib 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 for faster memcpy on MIPS


On Wed, Jan 2, 2013 at 6:42 PM, Ellcey, Steve wrote:
>> From: Steven Bosscher
>> Sent: Saturday, December 22, 2012 10:55 AM
>> To: Ellcey, Steve
>> Cc:
>> Subject: Re: Patch for faster memcpy on MIPS
>
>> This breaks something for me.
>
>> Building cross-compilers from powerpc64 to mips worked before, but now
>> I get a lot of errors from the assembler:
>
>> /home/stevenb/lra_mipsisa64_autotester/cross/combined/newlib/libc/machine/mips/memcpy.S:389:
>> Error: Illegal operands `ld t4,((4)*8)($5)'
>> /home/stevenb/lra_mipsisa64_autotester/cross/combined/newlib/libc/machine/mips/memcpy.S:390:
>> Error: Illegal operands `ld t5,((5)*8)($5)'
>> etc. (60 errors in total)
>
> Steven,
> Sorry for not responding sooner but can you tell me what version of the assembler you are using to compile newlib?  It looks like the assembler does not understand the 64 bit load and store instructions.
> You can probably work around this by unsetting USE_DOUBLE in the memcpy.S source file but I would like to understand why your assembler is not accepting the sd/ld instructions.
> Steve Ellcey
>

Hi Steve,

This is a combined tree, so the assembler is binutils top-of-tree.

But according to apinski, the problem has something to do with this revision:

http://sourceware.org/git/?p=newlib.git;a=blobdiff;f=newlib/libc/machine/mips/machine/regdef.h;h=0164164b11369030514c2465b5f0e8cd5513fe1e;hp=3906de6f403e10d1a2280f159e8833dc92147be3;hb=cdfdfe5f2768eaccd8a9484039d041c4ca136e23;hpb=1328c8014bb312a60884c3868f8af7312e11af75

AFAIU, there's something with the register numbers not right for the case,

+#if _MIPS_SIM==_ABIN32 || _MIPS_SIM==_ABI64 || _MIPS_SIM==_ABIEABI

but my MIPS-foo is limited to knowing "MIPS" some kind of acronym :-)
So I've added apinski to the conversation.

Ciao!
Steven


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