| * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * published by the Free Software Foundation. |
| /* If dst and src are 4 byte aligned, copy 8 bytes at a time. |
| If the src is 4, but not 8 byte aligned, we first read 4 bytes to get |
| it 8 byte aligned. Thus, we can do a little read-ahead, without |
| dereferencing a cache line that we should not touch. |
| Note that short and long instructions have been scheduled to avoid |
| The beq_s to r3z could be made unaligned & long to avoid a stall |
| there, but the it is not likely to be taken often, and it |
| would also be likey to cost an unaligned mispredict at the next call. */ |
| #include <linux/linkage.h> |