On Thu, Sep 15, 2016 at 03:27:52PM +0000, Wilco Dijkstra wrote: > That's best done GCC as a general optimization as currently mempcpy is not > handled efficiently (see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70140), > and it avoids having to repeat this for every C library out there... > > glibc/string/mempcpy.c: > > void * > MEMPCPY (void *dest, const void *src, size_t len) > { > return memcpy (dest, src, len) + len; > } > > And glibc/string/stpcpy.c: > > char * > STPCPY (char *dest, const char *src) > { > size_t len = strlen (src); > return memcpy (dest, src, len + 1) + len; > }
Those are the generic definitions, all targets that care about performance obviously should replace them with assembly code. Jakub