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 Sunday 05 July 2009 18:29:20 ext Phil Blundell wrote:
> On Sun, 2009-07-05 at 18:21 +0300, Siarhei Siamashka wrote:
> > +#ifdef __ARM_NEON__
> > + .text
> > + .fpu neon
> > [...]
> > + bx lr
> > +END(memcpy)
> > +libc_hidden_builtin_def (memcpy)
> > +
> > +#else
> > +
>
> It looks like you've wrapped more-or-less the whole contents of the
> existing memcpy.S in the __ARM_NEON__ ifdef. If that's the case then
> maybe it'd be better to put this code in a new file, say
> sysdeps/arm/neon/memcpy.S or some such.
The tricky part would be to change the build system, so that NEON optimized
version could be selected and not conflict with the memcpy for older ARM
cores. I'm currently a bit puzzled about how to do this in a sane way. Maybe
turn memcpy.S into just a small file, which would be responsible for including
various memcpy implementations, based on cpu type related gcc predefined
macros?
On the other hand, even with this NEON implementation added to the same
memcpy.S file, the number of lines in it still looks manageable.
--
Best regards,
Siarhei Siamashka