2 * Copyright (C) 2004-2007 Atmel Corporation
4 * This file is subject to the terms and conditions of the GNU Lesser General
5 * Public License. See the file "COPYING.LIB" in the main directory of this
6 * archive for more details.
9 /* Don't use r12 as dst since we must return it unmodified */
16 .type memcpy, @function
21 /* If we have less than 32 bytes, don't do anything fancy */
48 1: /* Copy 32 bytes at a time */
57 /* Copy 16 more bytes if possible */
67 /* Do the remaining as byte copies */
78 /* Make src cacheline-aligned. r8 = (src & 31) */
86 /* If dst is word-aligned, we're ready to go */
93 /* src is aligned, but dst is not. Expect bad performance */
109 .size memcpy, . - memcpy
111 libc_hidden_def(memcpy)