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
810 .w3cp: lduw [%o1], %o4
811 inc 4, %o1
819 sub %o1, %o0, %o1 ! %o1 gets the difference
822 lduw [%o1+%o0], %o4
829 sub %o1, 3, %o1 ! used one byte of last word read
840 sub %o1, %o0, %o1 ! %o1 gets the difference
843 lduw [%o1+%o0], %o4
850 sub %o1, 1, %o1 ! used three bytes of last word read
855 .w2cp: lduw [%o1], %o4
856 inc 4, %o1
863 sub %o1, %o0, %o1 ! %o1 gets the difference
866 lduw [%o1+%o0], %o4
873 sub %o1, 2, %o1 ! used two bytes of last word read
879 sub %o1, %o0, %o1 ! %o1 gets the difference
881 1: lduw [%o1+%o0], %o4 ! read from address
890 add %o1, %o0, %o1 ! restore %o1
899 ldub [%o1], %o3 ! read byte
902 ldub [%o1+1], %o3 ! repeat for total of 4 bytes
903 add %o1, 4, %o1 ! advance SRC by 4
905 ldub [%o1-2], %o3
908 ldub [%o1-1], %o3
915 ldub [%o1], %o3 ! load one byte
918 ldub [%o1+1], %o3 ! load second byte
922 ldub [%o1+2], %o3 ! load third byte
937 lduw [%o1], %o3 ! read word
941 add %o1, 8, %o1 ! update SRC
942 lduw [%o1-4], %o3 ! read word
951 lduw [%o1], %o3
952 add %o1, 4, %o1
961 ! %o4 contains or %o0, %o1; %o3 contains first four bytes of src
968 sub %o1, %o0, %o1 ! %o1 gets the difference
970 ldx [%o1+%o0], %o3
975 add %o1, %o0, %o1 ! restore %o1
981 lduw [%o1], %o3
982 add %o1, 4, %o1
996 lduw [%o1], %o3 ! read word
1001 ldub [%o1+4], %o3 ! load one byte
1004 ldub [%o1+5], %o3 ! load second byte
1008 ldub [%o1+6], %o3 ! load third byte
1022 sub %o1, %o0, %o1 ! %o1 gets the difference
1024 ldub [%o1+%o0], %o4 ! load one byte
1029 add %o1, %o0, %o1 ! restore %o1
1031 andcc %o1, 7, %o5
1033 prefetch [%o1 + (1 * BLOCK_SIZE)], #one_read
1039 prefetch [%o1 + (2 * BLOCK_SIZE)], #one_read
1048 prefetch [%o1 + (3 * BLOCK_SIZE)], #one_read ! into the l2 cache
1049 ldx [%o1], %o4 ! load
1052 ldx [%o1+8], %o3 ! a block of 64 bytes
1054 ldx [%o1+16], %o4
1056 ldx [%o1+24], %o3
1058 ldx [%o1+32], %o4 ! load
1060 ldx [%o1+40], %o3 ! a block of 64 bytes
1061 add %o1, 64, %o1 ! increase src ptr by 64
1063 ldx [%o1-16], %o4
1066 ldx [%o1-8], %o3
1073 ldx [%o1], %o4 ! load
1076 ldx [%o1+8], %o3 ! a block of 32 bytes
1077 add %o1, 32, %o1 ! increase src ptr by 32
1079 ldx [%o1-16], %o4
1082 ldx [%o1-8], %o3
1088 ldx [%o1], %o4 ! load and store 16 bytes
1089 add %o1, 16, %o1 ! increase src ptr by 16
1092 ldx [%o1-8], %o3 !
1101 ldx [%o1], %o4 ! load 8 bytes
1102 add %o1, 8, %o1 ! increase src ptr by 8
1114 andcc %o1, 0x3, %o5 ! test word alignment
1116 prefetch [%o1 + (2 * BLOCK_SIZE)], #one_read
1127 prefetch [%o1 + (3 * BLOCK_SIZE)], #one_read
1132 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
1134 ld [%o1], %o4 ! move a block of 32 bytes
1136 ld [%o1+4], %o3
1138 ld [%o1+8], %o4
1140 ld [%o1+12], %o3
1142 ld [%o1+16], %o4
1145 ld [%o1+20], %o3
1146 add %o1, 32, %o1 ! increase src ptr by 32
1148 ld [%o1-8], %o4
1151 ld [%o1-4], %o3
1162 ld [%o1], %o4 ! move a block of 16 bytes
1165 ld [%o1+4], %o3
1166 add %o1, 16, %o1 ! increase src ptr by 16
1168 ld [%o1-8], %o4
1171 ld [%o1-4], %o3
1178 ld [%o1], %o4 ! load 4 bytes
1181 add %o1, 8, %o1 ! increase src ptr by 8
1182 ld [%o1-4], %o3 ! load 4 bytes
1190 ld [%o1], %o4 ! load 4 bytes
1191 add %o1, 4, %o1 ! increase src ptr by 4
1214 ldx [%o1], %o4
1216 add %o1, 8, %o1 ! increment src ptr
1223 ldx [%o1], %o4
1226 add %o1, 16, %o1 ! increment src ptr
1227 ldx [%o1-8], %o4
1234 ldx [%o1], %o4
1237 ldx [%o1+8], %o4
1239 ldx [%o1+16], %o4
1241 add %o1, 32, %o1 ! increment src ptr
1242 ldx [%o1-8], %o4
1246 prefetch [%o1 + (3 * BLOCK_SIZE)], #one_read
1250 andcc %o1, 0x20, %o3
1253 andcc %o1, 0x10, %o3
1256 andcc %o1, 0x08, %o3
1258 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
1262 andcc %o1, 0x08, %o3
1264 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
1268 andcc %o1, 0x10, %o3
1271 andcc %o1, 0x08, %o3
1273 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
1277 andcc %o1, 0x08, %o3
1279 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
1283 ldd [%o1], %d0
1284 add %o1, 8, %o1
1291 ldda [%o1]%asi,%d16 ! block load
1302 prefetch [%o1 + (5 * BLOCK_SIZE)], #one_read
1306 ldda [%o1+64]%asi,%d16
1314 add %o1, 128, %o1 ! increment src
1320 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
1329 ldd [%o1], %d0
1330 ldd [%o1+8], %d2
1331 add %o1, 16, %o1
1339 ldda [%o1]%asi,%d16 ! block load
1350 prefetch [%o1 + (5 * BLOCK_SIZE)], #one_read
1354 ldda [%o1+64]%asi,%d16
1361 add %o1, 128, %o1 ! increment src
1368 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
1378 ldd [%o1], %d0
1379 ldd [%o1+8], %d2
1380 ldd [%o1+16], %d4
1381 add %o1, 24, %o1
1389 ldda [%o1]%asi,%d16 ! block load
1400 prefetch [%o1 + (5 * BLOCK_SIZE)], #one_read
1404 ldda [%o1+64]%asi,%d16
1410 add %o1, 128, %o1 ! increment src
1418 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
1429 ldd [%o1], %d0
1430 ldd [%o1+8], %d2
1431 ldd [%o1+16],%d4
1432 ldd [%o1+24],%d6
1433 add %o1, 32, %o1
1440 ldda [%o1]%asi,%d16 ! block load
1451 prefetch [%o1 + (5 * BLOCK_SIZE)], #one_read
1455 ldda [%o1+64]%asi,%d16
1460 add %o1, 128, %o1 ! increment src
1469 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
1481 ldd [%o1], %d0
1482 ldd [%o1+8], %d2
1483 ldd [%o1+16], %d4
1484 ldd [%o1+24], %d6
1485 ldd [%o1+32], %d8
1486 add %o1, 40, %o1
1494 ldda [%o1]%asi,%d16 ! block load
1505 prefetch [%o1 + (5 * BLOCK_SIZE)], #one_read
1509 ldda [%o1+64]%asi,%d16
1513 add %o1, 128, %o1 ! increment src
1523 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
1536 ldd [%o1], %d0
1537 ldd [%o1+8], %d2
1538 ldd [%o1+16], %d4
1539 ldd [%o1+24], %d6
1540 ldd [%o1+32], %d8
1541 ldd [%o1+40], %d10
1542 add %o1, 48, %o1
1550 ldda [%o1]%asi,%d16 ! block load
1561 prefetch [%o1 + (5 * BLOCK_SIZE)], #one_read
1565 ldda [%o1+64]%asi,%d16
1568 add %o1, 128, %o1 ! increment src
1579 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
1593 ldd [%o1], %d0
1594 ldd [%o1+8], %d2
1595 ldd [%o1+16], %d4
1596 ldd [%o1+24], %d6
1597 ldd [%o1+32], %d8
1598 ldd [%o1+40], %d10
1599 ldd [%o1+48], %d12
1600 add %o1, 56, %o1
1608 ldda [%o1]%asi,%d16 ! block load
1619 prefetch [%o1 + (5 * BLOCK_SIZE)], #one_read
1623 ldda [%o1+64]%asi,%d16
1625 add %o1, 128, %o1 ! increment src
1637 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
1656 ldda [%o1]%asi,%d0
1659 prefetch [%o1 + (5 * BLOCK_SIZE)], #one_read
1663 ldda [%o1+64]%asi,%d0
1664 add %o1, 128, %o1 ! increment src
1669 prefetch [%o1 + (4 * BLOCK_SIZE)], #one_read
1683 prefetch [%o1 + (3 * BLOCK_SIZE)], #one_read
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
1812 andn %o1, 0x3f, %o4 ! %o4 has block aligned src address
1814 alignaddr %o1, %g0, %g0 ! generate %gsr
1815 add %o1, %o5, %o1 ! advance %o1 to after blocks
1818 andcc %o1, 0x20, %o3
1821 andcc %o1, 0x10, %o3
1824 andcc %o1, 0x08, %o3
1830 andcc %o1, 0x08, %o3
1836 andcc %o1, 0x10, %o3
1839 andcc %o1, 0x08, %o3
1845 andcc %o1, 0x08, %o3
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
2148 .w3cp: lduw [%o1], %o4
2149 inc 4, %o1
2157 sub %o1, %g5, %o1 ! o1 gets the difference
2160 lduw [%o1+%g5], %o4
2167 sub %o1, 3, %o1 ! used one byte of last word read
2178 sub %o1, %g5, %o1 ! o1 gets the difference
2181 lduw [%o1+%g5], %o4
2188 sub %o1, 1, %o1 ! used three bytes of last word read
2193 .w2cp: lduw [%o1], %o4
2194 inc 4, %o1
2201 sub %o1, %g5, %o1 ! o1 gets the difference
2204 lduw [%o1+%g5], %o4
2211 sub %o1, 2, %o1 ! used two bytes of last word read
2217 sub %o1, %g5, %o1 ! o1 gets the difference
2219 1: lduw [%o1+%g5], %o4 ! read from address
2232 sub %o1, %g5, %o1 ! o1 gets the difference
2238 ldub [%o1+%g5], %o4 ! read from address