2 * arch/ppc64/lib/memcpy.S
4 * Copyright (C) 2002 Paul Mackerras, IBM Corp.
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version
9 * 2 of the License, or (at your option) any later version.
11 #include <asm/processor.h>
12 #include <asm/ppc_asm.h>
18 neg r6,r3 # LS 3 bits = # bytes to 8-byte dest bdry
74 ld r9,0(r4) # 3+2n loads, 2+2n stores
83 # s1<< in r8, d0=(s0<<|s1>>) in r7, s3 in r0, s2 in r9, nix in r6 & r12
86 0: ld r0,0(r4) # 4+2n loads, 3+2n stores
101 # d0=(s0<<|s1>>) in r12, s1<< in r6, s2>> in r7, s2<< in r8, s3 in r9
131 mtcrf 0x01,r6 # put #bytes to 8B bdry into cr7