[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