[PATCH] PPC64 memcpy

Jakub Jelinek jakub@redhat.com
Wed Mar 19 09:16:00 GMT 2003


On Tue, Mar 18, 2003 at 09:31:42PM -0600, Steve Munroe wrote:
> 
> Paul MacKerras writes:
> 
> > > +    cmpldi cr1,5,31
> > > +    neg   0,3
> >
> > etc...
> >
> > Any particular reason why you used the bare register numbers instead
> > of the 'r' names (e.g. r0, r3, etc.)?
> 
> Because the original was generated -S via inline asm in powerpc64/memcopy.h
> and generic/memcpy.c. The problem is that memcopy.h macros are shared
> between memmove.c and memcpy.c and my optimization for memcpy does not
> allow overlapping fields which is requires for memmove.

FYI there are tons of broken apps out there which use memcpy where memmove
is required. I had to avoid using alphaev6 memcpy.S in the past because
the number of application bugs was too high.
Maybe #ifndef NDEBUG we could check memcpy arguments and abort if they
overlap.

	Jakub



More information about the Libc-alpha mailing list