• Home
  • Raw
  • Download

Lines Matching +full:sub +full:- +full:block

1 /* SPDX-License-Identifier: GPL-2.0 */
95 sub %g1, 8, %g1
100 sub %g1, 16, %g1
105 sub %g1, 24, %g1
110 sub %g1, 32, %g1
115 sub %g1, 40, %g1
120 sub %g1, 48, %g1
125 sub %g1, 56, %g1
134 sub %i4, 8, %i4
172 save %sp, -SAVE_AMOUNT, %sp
184 /* 2 blocks (128 bytes) is the minimum we can do the block
186 * once in the block copy loop. At worst we'll need to align
187 * the destination to a 64-byte boundary which can chew up
188 * to (64 - 1) bytes from the length before we perform the
189 * block copy loop.
199 * The block copy loops will use %i4/%i5,%g2/%g3 as
206 /* Align destination on 64-byte boundary. */
207 andcc %o0, (64 - 1), %i4
209 sub %i4, 64, %i4
210 sub %g0, %i4, %i4 ! bytes to align dst
211 sub %i2, %i4, %i2
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
241 sub %i1, %i4, %i1
243 /* Neither 8-byte nor 16-byte aligned, shift and mask. */
248 sub %i5, GLOBAL_SPARE, %i5
331 10: /* Destination is 64-byte aligned, source was only 8-byte
362 50: /* Destination is 64-byte aligned, and source is 16-byte
396 sub %o0, %i1, %i3
403 sub %o0, %i1, %i3
412 sub %i1, 0x08, %i1
421 sub %i2, 0x8, %i2
428 sub %i2, 0x4, %i2
440 sub %g1, 0x8, %g1
442 sub %g0, %g1, %g1
443 sub %i2, %g1, %i2
464 sub %i3, %g1, %i3
482 sub %o0, %i1, %i3
488 sub %o0, %i1, %i3
510 .size FUNC_NAME, .-FUNC_NAME