1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
6 /* If dst and src are 4 byte aligned, copy 8 bytes at a time.
7 If the src is 4, but not 8 byte aligned, we first read 4 bytes to get
8 it 8 byte aligned. Thus, we can do a little read-ahead, without
9 dereferencing a cache line that we should not touch.
10 Note that short and long instructions have been scheduled to avoid
12 The beq_s to r3z could be made unaligned & long to avoid a stall
13 there, but the it is not likely to be taken often, and it
14 would also be likey to cost an unaligned mispredict at the next call. */
16 #include <linux/linkage.h>
25 bbit0.d r1,2,loop_start
48 #ifdef __LITTLE_ENDIAN__