2 * ====================================================
3 * Copyright (C) 1998, 2002 by Red Hat Inc. All rights reserved.
5 * Permission to use, copy, modify, and distribute this
6 * software is freely granted, provided that this notice
8 * ====================================================
14 SOTYPE_FUNCTION(memmove)
53 /* check for destructive overlap (src < dst && dst < src + length) */
62 /* IF: destructive overlap, must copy backwards */
68 #ifndef __OPTIMIZE_SIZE__
74 /* move trailing bytes in reverse until destination address is long word aligned */
94 /* move bytes in reverse, a long word at a time */
107 #endif /* !__OPTIMIZE_SIZE__ */
109 /* handle any remaining bytes not on a long word boundary */
121 /* ELSE: no destructive overlap so we copy forwards */
125 #ifndef __OPTIMIZE_SIZE__
130 /* move any preceding bytes until destination address is long word aligned */
145 /* move bytes a long word at a time */
156 #endif /* !__OPTIMIZE_SIZE__ */
158 /* handle any remaining bytes */