Lines Matching +full:left +full:- +full:aligned

2 #include <asm-generic/export.h>
4 #include <asm/asm-extable.h>
25 * a0 - start of uncopied dst
26 * a1 - start of uncopied src
27 * a2 - size
28 * t0 - end of uncopied dst
40 * Copy first bytes until dst is aligned to word boundary.
41 * a0 - start of dst
42 * t1 - start of aligned dst
44 addi t1, a0, SZREG-1
45 andi t1, t1, ~(SZREG-1)
46 /* dst is already aligned, skip */
49 /* a5 - one byte for copying data */
54 bltu a0, t1, 1b /* t1 - start of aligned dst */
58 * Now dst is aligned.
59 * Use shift-copy if src is misaligned.
60 * Use word-copy if both src and dst are aligned because
61 * can not use shift-copy which do not require shifting
63 /* a1 - start of src */
64 andi a3, a1, SZREG-1
69 * Both src and dst are aligned, unrolled word copy
71 * a0 - start of aligned dst
72 * a1 - start of aligned src
73 * t0 - end of aligned dst
75 addi t0, t0, -(8*SZREG) /* not to over run */
104 * For misaligned copy we still perform aligned word copy, but
109 * a0 - start of aligned dst
110 * a1 - start of src
111 * a3 - a1 & mask:(SZREG-1)
112 * t0 - end of uncopied dst
113 * t1 - end of aligned dst
115 /* calculating aligned word boundary for dst */
116 andi t1, t0, ~(SZREG-1)
117 /* Converting unaligned src to aligned src */
118 andi a1, a1, ~(SZREG-1)
122 * t3 - prev shift
123 * t4 - current shift
135 * a0 - start of aligned dst
136 * a1 - start of aligned src
137 * t1 - end of aligned dst
155 * Byte copy anything left.
157 * a0 - start of remaining dst
158 * a1 - start of remaining src
159 * t0 - end of remaining dst
167 bltu a0, t0, 4b /* t0 - end of dst */
194 addi t0, a0, SZREG-1
195 andi t1, a3, ~(SZREG-1)
196 andi t0, t0, ~(SZREG-1)
199 * t0: lowest doubleword-aligned address in target region
200 * t1: highest doubleword-aligned address in target region