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