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 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


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