Lines Matching refs:o1
208 cmp %o1, %o0 ! if from address is >= to use forward copy
210 sub %o0, %o1, %o4 ! get difference of two addresses
213 add %o1, %o2, %o5 ! get to end of source space
251 ldx [%o5], %o1 ! load first 8 bytes
252 srlx %o1, %g5, %o1
256 or %o1, %o3, %o3 ! align data
260 srlx %o0, %g5, %o1 ! move extra byte for the next use
306 sub %o1, %o0, %o1 ! %o1 gets the difference
308 ldub [%o1+%o0], %o4 ! load one byte
313 add %o1, %o0, %o1 ! restore %o1
315 andcc %o1, 7, %o5
317 prefetch [%o1 + (1 * BLOCK_SIZE)], #one_read
323 prefetch [%o1 + (2 * BLOCK_SIZE)], #one_read
344 ldx [%o1], %o4
345 add %o1, 8, %o1 ! increment src ptr
352 prefetch [%o1 + (3 * BLOCK_SIZE)], #one_read
356 andcc %o1, 0x20, %o3
359 andcc %o1, 0x10, %o3
362 andcc %o1, 0x08, %o3
364 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
368 andcc %o1, 0x08, %o3
370 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
374 andcc %o1, 0x10, %o3
377 andcc %o1, 0x08, %o3
379 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
383 andcc %o1, 0x08, %o3
385 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
389 ldd [%o1], %d0
390 add %o1, 8, %o1
397 ldda [%o1]%asi,%d16 ! block load
407 prefetch [%o1 + (5 * BLOCK_SIZE)], #one_read
411 ldda [%o1+64]%asi,%d16
419 add %o1, 128, %o1 ! increment src
424 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
433 ldd [%o1], %d0
434 ldd [%o1+8], %d2
435 add %o1, 16, %o1
443 ldda [%o1]%asi,%d16 ! block load
453 prefetch [%o1 + (5 * BLOCK_SIZE)], #one_read
457 ldda [%o1+64]%asi,%d16
464 add %o1, 128, %o1 ! increment src
470 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
480 ldd [%o1], %d0
481 ldd [%o1+8], %d2
482 ldd [%o1+16], %d4
483 add %o1, 24, %o1
491 ldda [%o1]%asi,%d16 ! block load
501 prefetch [%o1 + (5 * BLOCK_SIZE)], #one_read
505 ldda [%o1+64]%asi,%d16
511 add %o1, 128, %o1 ! increment src
518 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
529 ldd [%o1], %d0
530 ldd [%o1+8], %d2
531 ldd [%o1+16],%d4
532 ldd [%o1+24],%d6
533 add %o1, 32, %o1
540 ldda [%o1]%asi,%d16 ! block load
550 prefetch [%o1 + (5 * BLOCK_SIZE)], #one_read
554 ldda [%o1+64]%asi,%d16
559 add %o1, 128, %o1 ! increment src
567 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
579 ldd [%o1], %d0
580 ldd [%o1+8], %d2
581 ldd [%o1+16], %d4
582 ldd [%o1+24], %d6
583 ldd [%o1+32], %d8
584 add %o1, 40, %o1
592 ldda [%o1]%asi,%d16 ! block load
602 prefetch [%o1 + (5 * BLOCK_SIZE)], #one_read
606 ldda [%o1+64]%asi,%d16
610 add %o1, 128, %o1 ! increment src
619 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
632 ldd [%o1], %d0
633 ldd [%o1+8], %d2
634 ldd [%o1+16], %d4
635 ldd [%o1+24], %d6
636 ldd [%o1+32], %d8
637 ldd [%o1+40], %d10
638 add %o1, 48, %o1
646 ldda [%o1]%asi,%d16 ! block load
656 prefetch [%o1 + (5 * BLOCK_SIZE)], #one_read
660 ldda [%o1+64]%asi,%d16
663 add %o1, 128, %o1 ! increment src
673 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
687 ldd [%o1], %d0
688 ldd [%o1+8], %d2
689 ldd [%o1+16], %d4
690 ldd [%o1+24], %d6
691 ldd [%o1+32], %d8
692 ldd [%o1+40], %d10
693 ldd [%o1+48], %d12
694 add %o1, 56, %o1
702 ldda [%o1]%asi,%d16 ! block load
712 prefetch [%o1 + (5 * BLOCK_SIZE)], #one_read
716 ldda [%o1+64]%asi,%d16
718 add %o1, 128, %o1 ! increment src
729 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
748 ldda [%o1]%asi,%d0
750 prefetch [%o1 + (5 * BLOCK_SIZE)], #one_read
754 ldda [%o1+64]%asi,%d0
755 add %o1, 128, %o1 ! increment src
759 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
778 or %o0, %o1, %o4 ! prepare alignment check
783 andcc %o1, 0x3, %o5 ! is src word aligned
788 .s1algn:ldub [%o1], %o3 ! move 1 or 3 bytes to align it
789 inc 1, %o1
797 .s2algn:lduh [%o1], %o3 ! know src is 2 byte aligned
798 inc 2, %o1
1699 andn %o1, 0x7, %o4 ! %o4 has long word aligned src address
1703 alignaddr %o1, %g0, %g0 ! generate %gsr
1704 add %o1, %o5, %o1 ! advance %o1 to after blocks
1746 andcc %o1, 0x1, %o5
1749 andcc %o1, 2, %o5 ! check for half word alignment
1754 ld [%o1], %o4 ! load 4 bytes
1756 ld [%o1+4], %o4 ! load 4 bytes
1757 add %o1, 8, %o1 ! increase src ptr by 8
1767 lduh [%o1], %o4 ! load 2 bytes
1769 lduw [%o1+2], %o4
1772 lduh [%o1+6], %o4
1775 add %o1, 8, %o1
1784 sub %o0, %o1, %o0 ! share pointer advance
1786 ldub [%o1], %o4
1788 lduh [%o1+1], %o4
1791 lduh [%o1+3], %o4
1794 lduh [%o1+5], %o4
1797 ldub [%o1+7], %o4
1799 stx %o5, [%o0+%o1]
1802 add %o1, 8, %o1
1803 add %o0,%o1, %o0 ! restore pointer
2083 andn %o1, 0x7, %o4 ! %o4 has long word aligned src address
2084 add %o1, %o5, %o1 ! advance %o1 to after multiple of 8
2116 subcc %o1, %o0, %o3
2121 andcc %o1, 3, %o5 ! is src word aligned
2126 .s1algn:ldub [%o1], %o3 ! move 1 or 3 bytes to align it
2127 inc 1, %o1
2135 .s2algn:lduh [%o1], %o3 ! know src is 2 byte alinged
2136 inc 2, %o1