Lines Matching refs:o1

77 	prefetch [%o1], N_READS_STRONG
79 cmp %o1, %o0 ! if from address is >= to use forward copy
81 sub %o0, %o1, %o4 ! get difference of two addresses
91 add %o1, %o2, %o1 ! get to end of source space
101 ldub [%o1-1], %o3 ! load last byte
103 sub %o1, 4, %o1
104 ldub [%o1+2], %o3 ! load 2nd from last byte
107 ldub [%o1+1], %o3 ! load 3rd from last byte
110 ldub [%o1], %o3 ! load 4th from last byte
117 dec %o1 ! decrement src address
118 ldub [%o1], %o3 ! read a byte
129 prefetch [%o1 - (4 * BLOCK_SIZE)], #one_read
135 dec %o1 ! decrement src address
136 ldub [%o1], %o3 ! read a byte
144 andcc %o1, 7, %g0 ! chk src long word alignment
162 ldx [%o1-8], %o4 ! load
163 prefetch [%o1 - (8 * BLOCK_SIZE)], #one_read
167 ldx [%o1-16], %o3 ! a block of 32 bytes
168 sub %o1, 32, %o1 ! decrease src ptr by 32
170 ldx [%o1+8], %o4
173 ldx [%o1], %o3
180 ldx [%o1-8], %o4 ! load and store 16 bytes
181 sub %o1, 16, %o1 ! decrease src ptr by 16
184 ldx [%o1], %o3 !
194 ldx [%o1-8], %o4 ! load 8 bytes
195 sub %o1, 8, %o1 ! decrease src ptr by 8
215 alignaddr %o1, %g0, %o5 ! align src
220 sub %o1, %o4, %o1 !
303 ldub [%o1-1], %o3 ! load last byte
305 sub %o1, 4, %o1
306 ldub [%o1+2], %o3 ! load 2nd from last byte
309 ldub [%o1+1], %o3 ! load 3rd from last byte
312 ldub [%o1], %o3 ! load 4th from last byte
316 dec %o1 ! decrement src address
317 ldub [%o1], %o3 ! read a byte
334 prefetch [%o1], N_READS_STRONG
341 or %o0, %o1, %o3 ! prepare alignment check
346 ldub [%o1], %o3 ! read byte
349 ldub [%o1+1], %o3 ! repeat for a total of 4 bytes
350 add %o1, 4, %o1 ! advance SRC by 4
352 ldub [%o1-2], %o3
355 ldub [%o1-1], %o3
364 ldub [%o1], %o3 ! load one byte
368 ldub [%o1+1], %o3 ! load second byte
372 ldub [%o1+2], %o3 ! load third byte
380 lduw [%o1], %o3 ! read word
384 add %o1, 8, %o1 ! update SRC
385 lduw [%o1-4], %o3 ! read word
395 lduw [%o1], %o3
396 add %o1, 4, %o1
408 lduw [%o1], %o3 ! read word
413 ldub [%o1+4], %o3 ! load one byte
416 ldub [%o1+5], %o3 ! load second byte
420 ldub [%o1+6], %o3 ! load third byte
427 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
430 neg %o1, %o3
441 ldub [%o1], %o4
443 inc %o1
448 ! Now DST is 8-byte aligned. o0, o1, o2 are current.
451 andcc %o1, 0x3, %g0 ! test alignment
452 prefetch [%o1 + (1 * BLOCK_SIZE)], #one_read
464 andcc %o1, 0x7, %g0 ! test word alignment
465 prefetch [%o1 + (2 * BLOCK_SIZE)], #one_read
470 prefetch [%o1 + (3 * BLOCK_SIZE)], #one_read
477 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
478 ld [%o1], %o4 ! load
482 ld [%o1+4], %o3 ! a block of 16 bytes
483 add %o1, 16, %o1 ! increase src ptr by 16
485 ld [%o1-8], %o4
488 ld [%o1-4], %o3
498 ld [%o1], %o4 ! load 4 bytes
501 add %o1, 8, %o1 ! increase src ptr by 8
502 ld [%o1-4], %o3 ! load 4 bytes
511 ld [%o1], %o4 ! load 4 bytes
513 add %o1, 4, %o1 ! increase src ptr by 4
521 ldub [%o1], %o3 ! load one byte
524 ldub [%o1+1], %o3 ! load second byte
528 ldub [%o1+2], %o3 ! load third byte
546 prefetch [%o1 + (3 * BLOCK_SIZE)], #one_read
553 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
554 ldx [%o1], %o4 ! load
558 ldx [%o1+8], %o3 ! a block of 32 bytes
559 add %o1, 32, %o1 ! increase src ptr by 32
561 ldx [%o1-16], %o4
564 ldx [%o1-8], %o3
571 ldx [%o1], %o4 ! load and store 16 bytes
572 add %o1, 16, %o1 ! increase src ptr by 16
575 ldx [%o1-8], %o3 !
585 ldx [%o1], %o4 ! load 8 bytes
586 add %o1, 8, %o1 ! increase src ptr by 8
599 prefetch [%o1 + (2 * BLOCK_SIZE)], #one_read
600 prefetch [%o1 + (3 * BLOCK_SIZE)], #one_read
604 add %o1, 8, %o1 ! prepare to round SRC upward
633 ! o1
636 ! o1
639 ! o1
642 alignaddr %o1, %g0, %o1 ! set GSR.ALIGN and align o1
654 ldd [%o1-8], %d0
656 add %o1, %o3, %o1 ! back up o1
658 ldda [%o1]ASI_FL8_P, %d2
659 inc %o1
660 andcc %o1, 7, %g0
671 ldd [%o1], %d2
674 add %o1, 8, %o1 ! update SRC
678 ldd [%o1], %d0
680 add %o1, 16, %o1 ! update SRC
684 ldd [%o1 - 8], %d2
699 sub %o1, 8, %o1
704 ! Currently, o1 is pointing to the next double-aligned byte in SRC
705 ! The 8 bytes starting at [o1-8] are available in d0
729 ldda [%o1]ASI_FL8_P, %d2
730 inc %o1
745 ldub [%o1], %o3
748 inc %o1
758 add %o1, %o3, %o1 ! Back up %o1
762 ldda [%o1]ASI_FL8_P, %d2
763 inc %o1
773 ldub [%o1], %o3
775 inc %o1
791 ! %o1 I/O 8-byte aligned (and we've set GSR.ALIGN)
792 ! %d0 I/O already loaded with SRC data from [%o1-8]
799 ! Recall that %o1 is further into SRC than %o0 is into DST
801 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
802 prefetch [%o1 + (8 * BLOCK_SIZE)], #one_read
807 prefetch [%o1 + (12 * BLOCK_SIZE)], #one_read
809 ldd [%o1], %f2
810 ldd [%o1 + 0x8], %f4
812 ldd [%o1 + 0x10], %f6
814 ldd [%o1 + 0x18], %f8
816 ldd [%o1 + 0x20], %f10
819 prefetch [%o1 + (16 * BLOCK_SIZE)], #one_read
820 ldd [%o1 + 0x28], %f12
823 ldd [%o1 + 0x30], %f14
825 ldd [%o1 + 0x38], %f0
827 add %o1, BLOCK_SIZE, %o1 ! update SRC
832 ldd [%o1], %f2
834 ldd [%o1 + 0x8], %f4
845 prefetch [%o1 + (24 * BLOCK_SIZE) + BLOCK_SIZE], #one_read
847 ldd [%o1 + 0x10], %f6
849 ldd [%o1 + 0x18], %f8
851 ldd [%o1 + 0x20], %f10
853 ldd [%o1 + 0x28], %f12
855 ldd [%o1 + 0x30], %f14
857 ldd [%o1 + 0x38], %f0
859 prefetch [%o1 + (18 * BLOCK_SIZE)], #one_read
863 add %o1, BLOCK_SIZE, %o1 ! update SRC
871 ldd [%o1], %f2
885 ldd [%o1 + 0x8], %f4
886 ldd [%o1 + 0x10], %f6
888 ldd [%o1 + 0x18], %f8
890 ldd [%o1 + 0x20], %f10
892 ldd [%o1 + 0x28], %f12
894 ldd [%o1 + 0x30], %f14
913 ! %o1 I/O 8-byte aligned (and we've set GSR.ALIGN)
914 ! %d0 I/O already loaded with SRC data from [%o1-8]
921 ! Recall that %o1 is further into SRC than %o0 is into DST
923 ldd [%o1], %f2
924 ldd [%o1 + 0x8], %f4
926 ldd [%o1 + 0x10], %f6
928 ldd [%o1 + 0x18], %f8
930 ldd [%o1 + 0x20], %f10
933 ldd [%o1 + 0x28], %f12
935 prefetch [%o1 + (16 * BLOCK_SIZE)], #one_read
937 ldd [%o1 + 0x30], %f14
939 ldd [%o1 + 0x38], %f0
940 prefetch [%o1 + (17 * BLOCK_SIZE)], #one_read
942 add %o1, BLOCK_SIZE, %o1 ! update SRC
951 ldd [%o1], %f2
953 ldd [%o1 + 0x8], %f4
957 ldd [%o1 + 0x10], %f6
959 ldd [%o1 + 0x18], %f8
961 ldd [%o1 + 0x20], %f10
963 ldd [%o1 + 0x28], %f12
965 ldd [%o1 + 0x30], %f14
966 prefetch [%o1 + (2 * BLOCK_SIZE)], #n_reads
968 ldd [%o1 + 0x38], %f0
970 prefetch [%o1 + (25 * BLOCK_SIZE)], #one_read
974 prefetch [%o1 + (18 * BLOCK_SIZE)], #one_read
976 add %o1, BLOCK_SIZE, %o1 ! update SRC
985 ldd [%o1], %f2
999 ldd [%o1 + 0x8], %f4
1000 ldd [%o1 + 0x10], %f6
1002 ldd [%o1 + 0x18], %f8
1004 ldd [%o1 + 0x20], %f10
1006 ldd [%o1 + 0x28], %f12
1008 ldd [%o1 + 0x30], %f14