Lines Matching +full:64 +full:- +full:byte
1 /* SPDX-License-Identifier: GPL-2.0 */
24 #define SAVE_AMOUNT 64
166 .align 64
172 save %sp, -SAVE_AMOUNT, %sp
187 * the destination to a 64-byte boundary which can chew up
188 * to (64 - 1) bytes from the length before we perform the
191 cmp %i2, (2 * 64)
206 /* Align destination on 64-byte boundary. */
207 andcc %o0, (64 - 1), %i4
209 sub %i4, 64, %i4
219 /* If the source is on a 16-byte boundary we can do
220 * the direct block copy loop. If it is 8-byte aligned
221 * we can do the 16-byte loads offset by -8 bytes and the
224 * If the source is not even 8-byte aligned, we need to do
230 * contents. Since the loop works on 64-bytes of 64-byte
234 andcc %i1, (16 - 1), %i4
235 andn %i2, (64 - 1), %g1 ! block copy loop iterator
237 sub %i2, %g1, %i2 ! final sub-block copy bytes
243 /* Neither 8-byte nor 16-byte aligned, shift and mask. */
246 mov 64, %i5
252 mov 64, %i3
285 add %i1, 64, %i1
291 subcc %g1, 64, %g1
293 add %o0, 64, %o0
318 add %i1, 64, %i1
324 subcc %g1, 64, %g1
326 add %o0, 64, %o0
331 10: /* Destination is 64-byte aligned, source was only 8-byte
340 mov 64, %o1
352 add %i1, 64, %i1
355 subcc %g1, 64, %g1
357 add %o0, 64, %o0
362 50: /* Destination is 64-byte aligned, and source is 16-byte
368 mov 64, %o1
378 add %i1, 64, %i1
383 subcc %g1, 64, %g1
385 add %o0, 64, %o0
392 * over. If anything is left, we copy it one byte at a time.
400 .align 64
401 70: /* 16 < len <= 64 */
461 8: mov 64, %i3
484 .align 64
510 .size FUNC_NAME, .-FUNC_NAME