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: [PATCHv2] ARM: NEON optimized implementation of memcpy.


On Tuesday 14 July 2009 19:40:53 ext Joseph S. Myers wrote:
> We can't consider this patch while there isn't a copyright assignment or
> disclaimer on file at the FSF that covers it.

OK, I see the problem here.

> We also have a NEON memcpy at CodeSourcery (and performance improvements
> to non-NEON memcpy), as well as versions of some other string functions,
> adapted to glibc, that ARM recently contributed to newlib, but those are
> also waiting on copyright assignments from ARM.  I haven't compared the
> performance of the two implementations.

Do you have this code available for general public somewhere already? I can
benchmark your implementations of these functions and provide some feedback.

> Note that the __aeabi_memcpy* functions are not permitted to modify NEON
> registers that would normally be call-clobbered, and since glibc's
> implementation of __aeabi_memcpy* calls memcpy it needs adjusting to
> ensure the registers used in the NEON implementation are saved and
> restored as needed (we have the appropriate fixes in our version of the
> NEON memcpy support).

It looks like __aeabi_memcpy* may need a separate implementation anyway. Any
extra hops are bad for the performance. Though saving and restoring NEON
registers should not add too much overhead.

-- 
Best regards,
Siarhei Siamashka


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