Lines Matching +full:address +full:- +full:aligned
2 #include <asm-generic/export.h>
4 #include <asm/asm-extable.h>
21 * Save the terminal address which will be used to compute the number
28 * a0 - start of uncopied dst
29 * a1 - start of uncopied src
30 * a2 - size
31 * t0 - end of uncopied dst
43 * Copy first bytes until dst is aligned to word boundary.
44 * a0 - start of dst
45 * t1 - start of aligned dst
47 addi t1, a0, SZREG-1
48 andi t1, t1, ~(SZREG-1)
49 /* dst is already aligned, skip */
52 /* a5 - one byte for copying data */
57 bltu a0, t1, 1b /* t1 - start of aligned dst */
61 * Now dst is aligned.
62 * Use shift-copy if src is misaligned.
63 * Use word-copy if both src and dst are aligned because
64 * can not use shift-copy which do not require shifting
66 /* a1 - start of src */
67 andi a3, a1, SZREG-1
72 * Both src and dst are aligned, unrolled word copy
74 * a0 - start of aligned dst
75 * a1 - start of aligned src
76 * t0 - end of aligned dst
78 addi t0, t0, -(8*SZREG) /* not to over run */
107 * For misaligned copy we still perform aligned word copy, but
112 * a0 - start of aligned dst
113 * a1 - start of src
114 * a3 - a1 & mask:(SZREG-1)
115 * t0 - end of uncopied dst
116 * t1 - end of aligned dst
118 /* calculating aligned word boundary for dst */
119 andi t1, t0, ~(SZREG-1)
120 /* Converting unaligned src to aligned src */
121 andi a1, a1, ~(SZREG-1)
125 * t3 - prev shift
126 * t4 - current shift
138 * a0 - start of aligned dst
139 * a1 - start of aligned src
140 * t1 - end of aligned dst
160 * a0 - start of remaining dst
161 * a1 - start of remaining src
162 * t0 - end of remaining dst
170 bltu a0, t0, 4b /* t0 - end of dst */
197 addi t0, a0, SZREG-1
198 andi t1, a3, ~(SZREG-1)
199 andi t0, t0, ~(SZREG-1)
201 * a3: terminal address of target region
202 * t0: lowest doubleword-aligned address in target region
203 * t1: highest doubleword-aligned address in target region