Lines Matching refs:o4
431 sethi %hi(.sm_copyerr), %o4
432 or %o4, %lo(.sm_copyerr), %o4 ! .sm_copyerr is lofault value
438 stn %o4, [THREAD_REG + T_LOFAULT] ! set t_lofault
619 sethi %hi(.sm_copyerr), %o4
620 or %o4, %lo(.sm_copyerr), %o4 ! .sm_copyerr is lofault value
622 stn %o4, [THREAD_REG + T_LOFAULT] ! set t_lofault
647 ldx [%o0], %o4 ! move 32 bytes
649 stx %o4, [%o1]
650 ldx [%o0+8], %o4
651 stx %o4, [%o1+8]
652 ldx [%o0+16], %o4
654 stx %o4, [%o1+16]
655 ldx [%o0-8], %o4
658 stx %o4, [%o1-8]
664 ldx [%o0], %o4 ! move 8 bytes
669 stx %o4, [%o1-8]
688 ld [%o0], %o4 ! move 4 bytes
693 stw %o4, [%o1-4]
697 ldub [%o0], %o4 ! load one byte
699 stb %o4, [%o1] ! store one byte
700 ldub [%o0+1], %o4 ! load second byte
703 stb %o4, [%o1+1] ! store second byte
704 ldub [%o0+2], %o4 ! load third byte
706 stb %o4, [%o1+2] ! store third byte
714 ldub [%o0], %o4 ! read byte
716 stb %o4, [%o1] ! write byte
717 ldub [%o0+1], %o4 ! repeat for total of 4 bytes
719 stb %o4, [%o1+1]
720 ldub [%o0-2], %o4
722 stb %o4, [%o1-2]
723 ldub [%o0-1], %o4
725 stb %o4, [%o1-1]
742 ldub [%o0], %o4 ! move a word (src align unknown)
744 sll %o4, 24, %o4 ! position
746 or %o4, %o3, %o3 ! merge
747 ldub [%o0+2], %o4
748 sll %o4, 8, %o4 ! position
749 or %o4, %o3, %o3 ! merge
750 ldub [%o0+3], %o4
751 or %o4, %o3, %o4 ! merge
752 stw %o4,[%o1] ! store four bytes
771 ldub [%o0], %o4 ! move a byte
773 stb %o4, [%o1]
779 ldub [%o0], %o4 ! move a half-word (src align unknown)
781 sll %o4, 8, %o4 ! position
782 or %o4, %o3, %o4 ! merge
783 sth %o4, [%o1]
803 ld [%o0], %o4 ! move a block of 32 bytes
804 stw %o4, [%o1]
805 ld [%o0+4], %o4
806 stw %o4, [%o1+4]
807 ld [%o0+8], %o4
808 stw %o4, [%o1+8]
809 ld [%o0+12], %o4
810 stw %o4, [%o1+12]
811 ld [%o0+16], %o4
812 stw %o4, [%o1+16]
813 ld [%o0+20], %o4
815 stw %o4, [%o1+20]
816 ld [%o0+24], %o4
818 stw %o4, [%o1+24]
819 ld [%o0-4], %o4
822 stw %o4, [%o1-4]
828 ld [%o0], %o4 ! move a block of 8 bytes
830 stw %o4, [%o1]
832 ld [%o0-4], %o4
835 stw %o4, [%o1-4]
842 ld [%o0], %o4 ! move 4 bytes
847 stw %o4, [%o1-4]
858 lduh [%o0], %o4 ! move 32 bytes
860 sllx %o4, 48, %o4
862 or %o4, %o3, %o3
863 lduh [%o0+6], %o4
864 or %o4, %o3, %o4
865 stx %o4, [%o1]
867 lduh [%o0+8], %o4
869 sllx %o4, 48, %o4
871 or %o4, %o3, %o3
872 lduh [%o0+14], %o4
873 or %o4, %o3, %o4
874 stx %o4, [%o1+8]
876 lduh [%o0+16], %o4
878 sllx %o4, 48, %o4
880 or %o4, %o3, %o3
881 lduh [%o0+22], %o4
882 or %o4, %o3, %o4
883 stx %o4, [%o1+16]
888 lduh [%o0-8], %o4
890 sllx %o4, 48, %o4
892 or %o4, %o3, %o3
893 lduh [%o0-2], %o4
894 or %o3, %o4, %o4
896 stx %o4, [%o1-8]
903 lduh [%o0], %o4 ! move 16 bytes
906 sllx %o4, 48, %o4
908 or %o4, %o3, %o3
910 lduh [%o0+6], %o4
912 or %o4, %o3, %o4
914 stx %o4, [%o1-8]
921 lduh [%o0], %o4
922 sll %o4, 16, %o4
924 or %o3, %o4, %o4
929 stw %o4, [%o1-4]
942 ldub [%o0], %o4 ! load and store a block of 32 bytes
943 sllx %o4, 56, %o3
944 lduh [%o0+1], %o4
945 sllx %o4, 40, %o4
946 or %o4, %o3, %o3
947 lduw [%o0+3], %o4
948 sllx %o4, 8, %o4
949 or %o4, %o3, %o3
950 ldub [%o0+7], %o4
951 or %o4, %o3, %o4
952 stx %o4, [%o1]
954 ldub [%o0+8], %o4
955 sllx %o4, 56, %o3
956 lduh [%o0+9], %o4
957 sllx %o4, 40, %o4
958 or %o4, %o3, %o3
959 lduw [%o0+11], %o4
960 sllx %o4, 8, %o4
961 or %o4, %o3, %o3
962 ldub [%o0+15], %o4
963 or %o4, %o3, %o4
964 stx %o4, [%o1+8]
966 ldub [%o0+16], %o4
967 sllx %o4, 56, %o3
968 lduh [%o0+17], %o4
969 sllx %o4, 40, %o4
970 or %o4, %o3, %o3
971 lduw [%o0+19], %o4
972 sllx %o4, 8, %o4
973 or %o4, %o3, %o3
974 ldub [%o0+23], %o4
975 or %o4, %o3, %o4
976 stx %o4, [%o1+16]
981 ldub [%o0-8], %o4
982 sllx %o4, 56, %o3
983 lduh [%o0-7], %o4
984 sllx %o4, 40, %o4
985 or %o4, %o3, %o3
986 lduw [%o0-5], %o4
987 sllx %o4, 8, %o4
988 or %o4, %o3, %o3
989 ldub [%o0-1], %o4
990 or %o4, %o3, %o4
992 stx %o4, [%o1-8]
1000 ldub [%o0], %o4 ! load and store a block of 8 bytes
1002 sllx %o4, 56, %o3
1003 lduh [%o0+1], %o4
1004 sllx %o4, 40, %o4
1005 or %o4, %o3, %o3
1006 lduw [%o0+3], %o4
1008 sllx %o4, 8, %o4
1009 or %o4, %o3, %o3
1010 ldub [%o0+7], %o4
1012 or %o4, %o3, %o4
1014 stx %o4, [%o1-8]
1021 ldub [%o0], %o4 ! move 4 bytes
1022 sll %o4, 24, %o3
1023 lduh [%o0+1], %o4
1024 sll %o4, 8, %o4
1025 or %o4, %o3, %o3
1026 ldub [%o0+3], %o4
1027 or %o4, %o3, %o4
1032 stw %o4, [%o1-4]
1043 ldub [%o0], %o4 ! load and store a block of 32 bytes
1044 sllx %o4, 56, %o3
1045 lduw [%o0+1], %o4
1046 sllx %o4, 24, %o4
1047 or %o4, %o3, %o3
1048 lduh [%o0+5], %o4
1049 sllx %o4, 8, %o4
1050 or %o4, %o3, %o3
1051 ldub [%o0+7], %o4
1052 or %o4, %o3, %o4
1053 stx %o4, [%o1]
1055 ldub [%o0+8], %o4
1056 sllx %o4, 56, %o3
1057 lduw [%o0+9], %o4
1058 sllx %o4, 24, %o4
1059 or %o4, %o3, %o3
1060 lduh [%o0+13], %o4
1061 sllx %o4, 8, %o4
1062 or %o4, %o3, %o3
1063 ldub [%o0+15], %o4
1064 or %o4, %o3, %o4
1065 stx %o4, [%o1+8]
1067 ldub [%o0+16], %o4
1068 sllx %o4, 56, %o3
1069 lduw [%o0+17], %o4
1070 sllx %o4, 24, %o4
1071 or %o4, %o3, %o3
1072 lduh [%o0+21], %o4
1073 sllx %o4, 8, %o4
1074 or %o4, %o3, %o3
1075 ldub [%o0+23], %o4
1076 or %o4, %o3, %o4
1077 stx %o4, [%o1+16]
1082 ldub [%o0-8], %o4
1083 sllx %o4, 56, %o3
1084 lduw [%o0-7], %o4
1085 sllx %o4, 24, %o4
1086 or %o4, %o3, %o3
1087 lduh [%o0-3], %o4
1088 sllx %o4, 8, %o4
1089 or %o4, %o3, %o3
1090 ldub [%o0-1], %o4
1091 or %o4, %o3, %o4
1093 stx %o4, [%o1-8]
1100 ldub [%o0], %o4 ! load and store a block of 8 bytes
1101 sllx %o4, 56, %o3
1102 lduw [%o0+1], %o4
1103 sllx %o4, 24, %o4
1104 or %o4, %o3, %o3
1105 lduh [%o0+5], %o4
1106 sllx %o4, 8, %o4
1107 or %o4, %o3, %o3
1108 ldub [%o0+7], %o4
1109 or %o4, %o3, %o4
1110 stx %o4, [%o1]
1115 stx %o4, [%o1-8]
1191 andcc %o3, 8, %o4 ! odd long words to move?
1192 brz,pt %o4, .bc_al_to_16
1195 ldx [%i0], %o4
1198 stx %o4, [%i1-8]
1201 andcc %o3, 0x30, %o4 ! pair of long words to move?
1202 brz,pt %o4, .bc_al_to_64
1206 ldx [%i0], %o4
1207 stx %o4, [%i1]
1208 ldx [%i0+8], %o4
1210 stx %o4, [%i1+8]
1211 andcc %o3, 48, %o4
1212 brnz,pt %o4, .bc_al_mv_16
1530 ldx [%i0], %o4 ! move 32 bytes
1532 stx %o4, [%i1]
1533 ldx [%i0+8], %o4
1534 stx %o4, [%i1+8]
1535 ldx [%i0+16], %o4
1537 stx %o4, [%i1+16]
1538 ldx [%i0-8], %o4
1541 stx %o4, [%i1-8]
1547 ldx [%i0], %o4 ! move 8 bytes
1552 stx %o4, [%i1-8] !
1559 ld [%i0], %o4 ! move 4 bytes
1564 stw %o4, [%i1-4]
1570 ldub [%i0], %o4 ! move a byte
1572 stb %o4, [%i1]
1578 ldub [%i0], %o4 ! move a half-word (src align unknown)
1581 sll %o4, 8, %o4 ! position
1582 or %o4, %o3, %o4 ! merge
1583 sth %o4, [%i1]
1589 ldub [%i0], %o4 ! move a word (src align unknown)
1591 sll %o4, 24, %o4 ! position
1593 or %o4, %o3, %o3 ! merge
1594 ldub [%i0+2], %o4
1595 sll %o4, 8, %o4 ! position
1596 or %o4, %o3, %o3 ! merge
1597 ldub [%i0+3], %o4
1598 or %o4, %o3, %o4 ! merge
1599 stw %o4,[%i1] ! store four bytes
1614 andcc %i0, 0x1, %o4
1617 andcc %i0, 2, %o4 ! check for half word alignment
1622 ld [%i0], %o4 ! load 4 bytes
1623 stw %o4, [%i1] ! and store 4 bytes
1624 ld [%i0+4], %o4 ! load 4 bytes
1626 stw %o4, [%i1+4] ! and store 4 bytes
1635 lduh [%i0], %o4 ! load 2 bytes
1636 sllx %o4, 32, %i3 ! shift left
1637 lduw [%i0+2], %o4
1638 or %o4, %i3, %i3
1640 lduh [%i0+6], %o4
1641 or %o4, %i3, %i3
1654 ldub [%i0], %o4
1655 sllx %o4, 56, %i3
1656 lduh [%i0+1], %o4
1657 sllx %o4, 40, %o4
1658 or %o4, %i3, %i3
1659 lduh [%i0+3], %o4
1660 sllx %o4, 24, %o4
1661 or %o4, %i3, %i3
1662 lduh [%i0+5], %o4
1663 sllx %o4, 8, %o4
1664 or %o4, %i3, %i3
1665 ldub [%i0+7], %o4
1666 or %o4, %i3, %i3
1680 andn %i0, 0x3f, %o4 ! %o4 has block aligned src address
1681 prefetch [%o4 + (3 * CACHE_LINE)], #one_read
1692 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
1697 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
1704 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
1712 ldd [%o4+56], %d14
1714 add %o4, 64, %o4
1715 ldda [%o4]ASI_BLK_P, %d16
1729 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
1734 ldd [%o4+48], %d12
1735 ldd [%o4+56], %d14
1737 add %o4, 64, %o4
1738 ldda [%o4]ASI_BLK_P, %d16
1753 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
1758 ldd [%o4+40], %d10
1759 ldd [%o4+48], %d12
1760 ldd [%o4+56], %d14
1762 add %o4, 64, %o4
1763 ldda [%o4]ASI_BLK_P, %d16
1779 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
1784 ldd [%o4+32], %d8
1785 ldd [%o4+40], %d10
1786 ldd [%o4+48], %d12
1787 ldd [%o4+56], %d14
1789 add %o4, 64, %o4
1790 ldda [%o4]ASI_BLK_P, %d16
1807 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
1812 ldd [%o4+24], %d6
1813 ldd [%o4+32], %d8
1814 ldd [%o4+40], %d10
1815 ldd [%o4+48], %d12
1816 ldd [%o4+56], %d14
1818 add %o4, 64, %o4
1819 ldda [%o4]ASI_BLK_P, %d16
1837 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
1842 ldd [%o4+16], %d4
1843 ldd [%o4+24], %d6
1844 ldd [%o4+32], %d8
1845 ldd [%o4+40], %d10
1846 ldd [%o4+48], %d12
1847 ldd [%o4+56], %d14
1849 add %o4, 64, %o4
1850 ldda [%o4]ASI_BLK_P, %d16
1869 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
1874 ldd [%o4+8], %d2
1875 ldd [%o4+16], %d4
1876 ldd [%o4+24], %d6
1877 ldd [%o4+32], %d8
1878 ldd [%o4+40], %d10
1879 ldd [%o4+48], %d12
1880 ldd [%o4+56], %d14
1882 add %o4, 64, %o4
1883 ldda [%o4]ASI_BLK_P, %d16
1903 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
1908 ldda [%o4]ASI_BLK_P, %d0
1910 add %o4, 64, %o4
1911 ldda [%o4]ASI_BLK_P, %d16
1932 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
1944 andn %i0, 0x7, %o4 ! %o4 has long word aligned src address
1946 ldd [%o4], %d0 ! fetch partial word
1948 ldd [%o4+8], %d2
1949 add %o4, 8, %o4
1961 ldub [%i0], %o4
1962 sll %o4, 24, %o3
1963 ldub [%i0+1], %o4
1964 sll %o4, 16, %o4
1965 or %o4, %o3, %o3
1966 ldub [%i0+2], %o4
1967 sll %o4, 8, %o4
1968 or %o4, %o3, %o3
1969 ldub [%i0+3], %o4
1970 or %o4, %o3, %o3
1972 ldub [%i0+4], %o4
1973 sll %o4, 24, %o3
1974 ldub [%i0+5], %o4
1975 sll %o4, 16, %o4
1976 or %o4, %o3, %o3
1977 ldub [%i0+6], %o4
1978 sll %o4, 8, %o4
1979 or %o4, %o3, %o3
1980 ldub [%i0+7], %o4
1981 or %o4, %o3, %o3
1993 ldub [%i0+1], %o4
1994 sll %o4, 16, %o4 ! position
1995 or %o4, %o3, %o3 ! merge
1996 ldub [%i0+2], %o4
1997 sll %o4, 8, %o4 ! position
1998 or %o4, %o3, %o3 ! merge
2000 ldub [%i0+3], %o4
2002 or %o4, %o3, %o4 ! merge
2004 stw %o4, [%i1-4]
2011 ldub [%i0], %o4 ! load one byte
2013 stb %o4, [%i1] ! store one byte
2014 ldub [%i0+1], %o4 ! load second byte
2017 stb %o4, [%i1+1] ! store second byte
2018 ldub [%i0+2], %o4 ! load third byte
2019 stb %o4, [%i1+2] ! store third byte
2029 BLD_FP_FROMSTACK(%o4)
2442 xor %i0, %i1, %o4 ! xor from and to address
2443 btst 7, %o4 ! if lower three bits zero
2447 xor %i0, %i1, %o4 ! xor from and to address
2448 btst 3, %o4 ! if lower two bits zero
2609 ldx [%i0+%i1], %o4 ! read from address
2610 stx %o4, [%i1] ! write at destination address
2623 ld [%i0+%i1], %o4 ! read from address
2624 st %o4, [%i1] ! write at destination address
2649 stb %o4, [%i1] ! write to address
2654 ldub [%i0+%i1], %o4 ! read from address
2674 stb %o4, [%i1] ! write a byte
2680 ldub [%i0], %o4 ! read next byte
2868 * Place the address of the windowed fault handler into %o4.
3036 ldx [%o0], %o4 ! move 32 bytes
3038 stxa %o4, [%o1]%asi
3039 ldx [%o0+8], %o4
3040 stxa %o4, [%o1+8]%asi
3041 ldx [%o0+16], %o4
3043 stxa %o4, [%o1+16]%asi
3044 ldx [%o0-8], %o4
3047 stxa %o4, [%o1-8]%asi
3053 ldx [%o0], %o4 ! move 8 bytes
3058 stxa %o4, [%o1-8]%asi
3074 ld [%o0], %o4 ! move 4 bytes
3079 stwa %o4, [%o1-4]%asi
3083 ldub [%o0], %o4 ! load one byte
3085 stba %o4, [%o1]%asi ! store one byte
3086 ldub [%o0+1], %o4 ! load second byte
3089 stba %o4, [%o1+1]%asi ! store second byte
3090 ldub [%o0+2], %o4 ! load third byte
3092 stba %o4, [%o1+2]%asi ! store third byte
3098 ldub [%o0], %o4 ! read byte
3100 stba %o4, [%o1]%asi ! write byte
3101 ldub [%o0+1], %o4 ! repeat for total of 4 bytes
3103 stba %o4, [%o1+1]%asi
3104 ldub [%o0-2], %o4
3106 stba %o4, [%o1-2]%asi
3107 ldub [%o0-1], %o4
3109 stba %o4, [%o1-1]%asi
3125 ldub [%o0], %o4 ! move a word (src align unknown)
3127 sll %o4, 24, %o4 ! position
3129 or %o4, %o3, %o3 ! merge
3130 ldub [%o0+2], %o4
3131 sll %o4, 8, %o4 ! position
3132 or %o4, %o3, %o3 ! merge
3133 ldub [%o0+3], %o4
3134 or %o4, %o3, %o4 ! merge
3135 stwa %o4,[%o1]%asi ! store four bytes
3154 ldub [%o0], %o4 ! move a byte
3156 stba %o4, [%o1]%asi
3162 ldub [%o0], %o4 ! move a half-word (src align unknown)
3164 sll %o4, 8, %o4 ! position
3165 or %o4, %o3, %o4 ! merge
3166 stha %o4, [%o1]%asi
3186 ld [%o0], %o4 ! move a block of 32 bytes
3187 stwa %o4, [%o1]%asi
3188 ld [%o0+4], %o4
3189 stwa %o4, [%o1+4]%asi
3190 ld [%o0+8], %o4
3191 stwa %o4, [%o1+8]%asi
3192 ld [%o0+12], %o4
3193 stwa %o4, [%o1+12]%asi
3194 ld [%o0+16], %o4
3195 stwa %o4, [%o1+16]%asi
3196 ld [%o0+20], %o4
3198 stwa %o4, [%o1+20]%asi
3199 ld [%o0+24], %o4
3201 stwa %o4, [%o1+24]%asi
3202 ld [%o0-4], %o4
3205 stwa %o4, [%o1-4]%asi
3211 ld [%o0], %o4 ! move a block of 8 bytes
3213 stwa %o4, [%o1]%asi
3215 ld [%o0-4], %o4
3218 stwa %o4, [%o1-4]%asi
3225 ld [%o0], %o4 ! move 4 bytes
3230 stwa %o4, [%o1-4]%asi
3242 lduh [%o0], %o4 ! move 32 bytes
3245 sllx %o4, 48, %o4
3247 or %o4, %o3, %o3
3248 lduh [%o0+6], %o4
3249 or %o4, %o3, %o4
3250 stxa %o4, [%o1]%asi
3252 lduh [%o0+8], %o4
3254 sllx %o4, 48, %o4
3256 or %o4, %o3, %o3
3257 lduh [%o0+14], %o4
3258 or %o4, %o3, %o4
3259 stxa %o4, [%o1+8]%asi
3261 lduh [%o0+16], %o4
3263 sllx %o4, 48, %o4
3265 or %o4, %o3, %o3
3266 lduh [%o0+22], %o4
3267 or %o4, %o3, %o4
3268 stxa %o4, [%o1+16]%asi
3273 lduh [%o0-8], %o4
3275 sllx %o4, 48, %o4
3277 or %o4, %o3, %o3
3278 lduh [%o0-2], %o4
3279 or %o3, %o4, %o4
3281 stxa %o4, [%o1-8]%asi
3288 lduh [%o0], %o4 ! move 16 bytes
3291 sllx %o4, 48, %o4
3293 or %o4, %o3, %o3
3295 lduh [%o0+6], %o4
3297 or %o4, %o3, %o4
3299 stxa %o4, [%o1-8]%asi
3306 lduh [%o0], %o4
3307 sll %o4, 16, %o4
3309 or %o3, %o4, %o4
3314 stwa %o4, [%o1-4]%asi
3329 ldub [%o0], %o4 ! load and store a block of 32 bytes
3330 sllx %o4, 56, %o3
3331 lduh [%o0+1], %o4
3332 sllx %o4, 40, %o4
3333 or %o4, %o3, %o3
3334 lduw [%o0+3], %o4
3335 sllx %o4, 8, %o4
3336 or %o4, %o3, %o3
3337 ldub [%o0+7], %o4
3338 or %o4, %o3, %o4
3339 stxa %o4, [%o1]%asi
3341 ldub [%o0+8], %o4
3342 sllx %o4, 56, %o3
3343 lduh [%o0+9], %o4
3344 sllx %o4, 40, %o4
3345 or %o4, %o3, %o3
3346 lduw [%o0+11], %o4
3347 sllx %o4, 8, %o4
3348 or %o4, %o3, %o3
3349 ldub [%o0+15], %o4
3350 or %o4, %o3, %o4
3351 stxa %o4, [%o1+8]%asi
3353 ldub [%o0+16], %o4
3354 sllx %o4, 56, %o3
3355 lduh [%o0+17], %o4
3356 sllx %o4, 40, %o4
3357 or %o4, %o3, %o3
3358 lduw [%o0+19], %o4
3359 sllx %o4, 8, %o4
3360 or %o4, %o3, %o3
3361 ldub [%o0+23], %o4
3362 or %o4, %o3, %o4
3363 stxa %o4, [%o1+16]%asi
3368 ldub [%o0-8], %o4
3369 sllx %o4, 56, %o3
3370 lduh [%o0-7], %o4
3371 sllx %o4, 40, %o4
3372 or %o4, %o3, %o3
3373 lduw [%o0-5], %o4
3374 sllx %o4, 8, %o4
3375 or %o4, %o3, %o3
3376 ldub [%o0-1], %o4
3377 or %o4, %o3, %o4
3379 stxa %o4, [%o1-8]%asi
3387 ldub [%o0], %o4 ! load and store a block of 8 bytes
3389 sllx %o4, 56, %o3
3390 lduh [%o0+1], %o4
3391 sllx %o4, 40, %o4
3392 or %o4, %o3, %o3
3393 lduw [%o0+3], %o4
3395 sllx %o4, 8, %o4
3396 or %o4, %o3, %o3
3397 ldub [%o0+7], %o4
3399 or %o4, %o3, %o4
3401 stxa %o4, [%o1-8]%asi
3408 ldub [%o0], %o4 ! move 4 bytes
3409 sll %o4, 24, %o3
3410 lduh [%o0+1], %o4
3411 sll %o4, 8, %o4
3412 or %o4, %o3, %o3
3413 ldub [%o0+3], %o4
3414 or %o4, %o3, %o4
3419 stwa %o4, [%o1-4]%asi
3432 ldub [%o0], %o4 ! load and store a block of 32 bytes
3433 sllx %o4, 56, %o3
3434 lduw [%o0+1], %o4
3435 sllx %o4, 24, %o4
3436 or %o4, %o3, %o3
3437 lduh [%o0+5], %o4
3438 sllx %o4, 8, %o4
3439 or %o4, %o3, %o3
3440 ldub [%o0+7], %o4
3441 or %o4, %o3, %o4
3442 stxa %o4, [%o1]%asi
3444 ldub [%o0+8], %o4
3445 sllx %o4, 56, %o3
3446 lduw [%o0+9], %o4
3447 sllx %o4, 24, %o4
3448 or %o4, %o3, %o3
3449 lduh [%o0+13], %o4
3450 sllx %o4, 8, %o4
3451 or %o4, %o3, %o3
3452 ldub [%o0+15], %o4
3453 or %o4, %o3, %o4
3454 stxa %o4, [%o1+8]%asi
3456 ldub [%o0+16], %o4
3457 sllx %o4, 56, %o3
3458 lduw [%o0+17], %o4
3459 sllx %o4, 24, %o4
3460 or %o4, %o3, %o3
3461 lduh [%o0+21], %o4
3462 sllx %o4, 8, %o4
3463 or %o4, %o3, %o3
3464 ldub [%o0+23], %o4
3465 or %o4, %o3, %o4
3466 stxa %o4, [%o1+16]%asi
3471 ldub [%o0-8], %o4
3472 sllx %o4, 56, %o3
3473 lduw [%o0-7], %o4
3474 sllx %o4, 24, %o4
3475 or %o4, %o3, %o3
3476 lduh [%o0-3], %o4
3477 sllx %o4, 8, %o4
3478 or %o4, %o3, %o3
3479 ldub [%o0-1], %o4
3480 or %o4, %o3, %o4
3482 stxa %o4, [%o1-8]%asi
3489 ldub [%o0], %o4 ! load and store a block of 8 bytes
3490 sllx %o4, 56, %o3
3491 lduw [%o0+1], %o4
3492 sllx %o4, 24, %o4
3493 or %o4, %o3, %o3
3494 lduh [%o0+5], %o4
3495 sllx %o4, 8, %o4
3496 or %o4, %o3, %o3
3497 ldub [%o0+7], %o4
3498 or %o4, %o3, %o4
3499 stxa %o4, [%o1]%asi
3504 stxa %o4, [%o1-8]%asi
3559 andcc %o3, 8, %o4 ! odd long words to move?
3560 brz,pt %o4, .co_al_to_16
3563 ldx [%i0], %o4
3565 stxa %o4, [%i1]ASI_USER
3569 andcc %o3, 0x30, %o4 ! move to move?
3570 brz,pt %o4, .co_al_to_64
3574 ldx [%i0], %o4
3575 stxa %o4, [%i1]ASI_USER
3577 ldx [%i0-8], %o4
3579 stxa %o4, [%i1]ASI_USER
3580 andcc %o3, 0x30, %o4
3581 brnz,pt %o4, .co_al_mv_16
3898 ldx [%i0], %o4 ! move 32 bytes
3900 stxa %o4, [%i1]%asi
3901 ldx [%i0+8], %o4
3902 stxa %o4, [%i1+8]%asi
3903 ldx [%i0+16], %o4
3905 stxa %o4, [%i1+16]%asi
3906 ldx [%i0-8], %o4
3909 stxa %o4, [%i1-8]%asi
3915 ldx [%i0], %o4 ! move 8 bytes
3920 stxa %o4, [%i1-8]%asi
3927 ld [%i0], %o4 ! move 4 bytes
3932 stwa %o4, [%i1-4]%asi
3938 ldub [%i0], %o4 ! move a byte
3940 stba %o4, [%i1]ASI_USER
3946 ldub [%i0], %o4 ! move a half-word (src align unknown)
3949 sll %o4, 8, %o4 ! position
3950 or %o4, %o3, %o4 ! merge
3951 stha %o4, [%i1]ASI_USER
3958 ldub [%i0], %o4 ! move a word (src align unknown)
3960 sll %o4, 24, %o4 ! position
3962 or %o4, %o3, %o3 ! merge
3963 ldub [%i0+2], %o4
3964 sll %o4, 8, %o4 ! position
3965 or %o4, %o3, %o3 ! merge
3966 ldub [%i0+3], %o4
3967 or %o4, %o3, %o4 ! merge
3968 stwa %o4,[%i1]ASI_USER ! store four bytes
3983 andcc %i0, 0x1, %o4
3986 andcc %i0, 2, %o4 ! check for half word alignment
3991 ld [%i0], %o4 ! load 4 bytes
3992 stwa %o4, [%i1]%asi ! and store 4 bytes
3993 ld [%i0+4], %o4 ! load 4 bytes
3995 stwa %o4, [%i1+4]%asi ! and store 4 bytes
4004 lduh [%i0], %o4 ! load 2 bytes
4005 sllx %o4, 32, %i3 ! shift left
4006 lduw [%i0+2], %o4
4007 or %o4, %i3, %i3
4009 lduh [%i0+6], %o4
4010 or %o4, %i3, %i3
4023 ldub [%i0], %o4
4024 sllx %o4, 56, %i3
4025 lduh [%i0+1], %o4
4026 sllx %o4, 40, %o4
4027 or %o4, %i3, %i3
4028 lduh [%i0+3], %o4
4029 sllx %o4, 24, %o4
4030 or %o4, %i3, %i3
4031 lduh [%i0+5], %o4
4032 sllx %o4, 8, %o4
4033 or %o4, %i3, %i3
4034 ldub [%i0+7], %o4
4035 or %o4, %i3, %i3
4049 andn %i0, 0x3f, %o4 ! %o4 has block aligned src address
4050 prefetch [%o4 + (3 * CACHE_LINE)], #one_read
4061 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
4066 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
4073 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
4081 ldd [%o4+56], %d14
4083 add %o4, 64, %o4
4084 ldda [%o4]ASI_BLK_P, %d16
4098 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
4103 ldd [%o4+48], %d12
4104 ldd [%o4+56], %d14
4106 add %o4, 64, %o4
4107 ldda [%o4]ASI_BLK_P, %d16
4122 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
4127 ldd [%o4+40], %d10
4128 ldd [%o4+48], %d12
4129 ldd [%o4+56], %d14
4131 add %o4, 64, %o4
4132 ldda [%o4]ASI_BLK_P, %d16
4148 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
4153 ldd [%o4+32], %d8
4154 ldd [%o4+40], %d10
4155 ldd [%o4+48], %d12
4156 ldd [%o4+56], %d14
4158 add %o4, 64, %o4
4159 ldda [%o4]ASI_BLK_P, %d16
4176 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
4181 ldd [%o4+24], %d6
4182 ldd [%o4+32], %d8
4183 ldd [%o4+40], %d10
4184 ldd [%o4+48], %d12
4185 ldd [%o4+56], %d14
4187 add %o4, 64, %o4
4188 ldda [%o4]ASI_BLK_P, %d16
4206 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
4211 ldd [%o4+16], %d4
4212 ldd [%o4+24], %d6
4213 ldd [%o4+32], %d8
4214 ldd [%o4+40], %d10
4215 ldd [%o4+48], %d12
4216 ldd [%o4+56], %d14
4218 add %o4, 64, %o4
4219 ldda [%o4]ASI_BLK_P, %d16
4238 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
4243 ldd [%o4+8], %d2
4244 ldd [%o4+16], %d4
4245 ldd [%o4+24], %d6
4246 ldd [%o4+32], %d8
4247 ldd [%o4+40], %d10
4248 ldd [%o4+48], %d12
4249 ldd [%o4+56], %d14
4251 add %o4, 64, %o4
4252 ldda [%o4]ASI_BLK_P, %d16
4272 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
4277 ldda [%o4]ASI_BLK_P, %d0
4279 add %o4, 64, %o4
4280 ldda [%o4]ASI_BLK_P, %d16
4301 prefetch [%o4 + (4 * CACHE_LINE)], #one_read
4313 andn %i0, 0x7, %o4 ! %o4 has long word aligned src address
4315 ldd [%o4], %d0 ! fetch partial word
4317 ldd [%o4+8], %d2
4318 add %o4, 8, %o4
4330 ldub [%i0], %o4
4331 sll %o4, 24, %o3
4332 ldub [%i0+1], %o4
4333 sll %o4, 16, %o4
4334 or %o4, %o3, %o3
4335 ldub [%i0+2], %o4
4336 sll %o4, 8, %o4
4337 or %o4, %o3, %o3
4338 ldub [%i0+3], %o4
4339 or %o4, %o3, %o3
4341 ldub [%i0+4], %o4
4342 sll %o4, 24, %o3
4343 ldub [%i0+5], %o4
4344 sll %o4, 16, %o4
4345 or %o4, %o3, %o3
4346 ldub [%i0+6], %o4
4347 sll %o4, 8, %o4
4348 or %o4, %o3, %o3
4349 ldub [%i0+7], %o4
4350 or %o4, %o3, %o3
4362 ldub [%i0+1], %o4
4363 sll %o4, 16, %o4 ! position
4364 or %o4, %o3, %o3 ! merge
4365 ldub [%i0+2], %o4
4366 sll %o4, 8, %o4 ! position
4367 or %o4, %o3, %o3 ! merge
4369 ldub [%i0+3], %o4
4371 or %o4, %o3, %o4 ! merge
4373 stwa %o4, [%i1-4]%asi
4381 ldub [%i0], %o4 ! load one byte
4383 stba %o4, [%i1]%asi ! store one byte
4384 ldub [%i0+1], %o4 ! load second byte
4387 stba %o4, [%i1+1]%asi ! store second byte
4388 ldub [%i0+2], %o4 ! load third byte
4389 stba %o4, [%i1+2]%asi ! store third byte
4398 BLD_FP_FROMSTACK(%o4)
4406 ldn [THREAD_REG + T_COPYOPS], %o4
4407 brz %o4, 2f
4409 ldn [%o4 + CP_COPYOUT], %g2
4427 sethi %hi(copyio_fault), %o4
4428 or %o4, %lo(copyio_fault), %o4
4455 ldub [%o0 + %o3], %o4 ! load first byte
4466 stba %o4, [%o1 + %o3]ASI_USER
4469 ldub [%o0 + %o3], %o4
4485 ! %o4 is alternate lo_fault
4649 ldx [%o0 + %o3], %o4
4651 stxa %o4, [%o1 + %o3]ASI_USER
4664 ldub [%o0 + %o3], %o4 ! load next byte
4670 lduw [%o0 + %o3], %o4
4672 sta %o4, [%o1 + %o3]ASI_USER
4685 ldub [%o0 + %o3], %o4 ! load next byte
4692 lduh [%o0 + %o3], %o4
4694 stha %o4, [%o1 + %o3]ASI_USER
4705 ldub [%o0 + %o3], %o4
4706 stba %o4, [%o1 + %o3]ASI_USER
4718 stn %o4, [THREAD_REG + T_LOFAULT]
5090 ldn [THREAD_REG + T_COPYOPS], %o4
5091 brz %o4, 2f
5093 ldn [%o4 + CP_COPYOUT], %g2
5119 ldn [THREAD_REG + T_COPYOPS], %o4
5120 brz %o4, 2f
5122 ldn [%o4 + CP_XCOPYOUT], %g2
5142 sethi %hi(.little_err), %o4
5144 or %o4, %lo(.little_err), %o4
5146 stn %o4, [THREAD_REG + T_LOFAULT]
5151 sub %o2, 1, %o4
5152 add %o0, %o4, %o0 ! start w/last byte
5154 ldub [%o0+%o3], %o4
5156 1: stba %o4, [%o1+%o3]ASI_AIUSL
5160 ldub [%o0+%o3], %o4
5228 ldxa [%o0]%asi, %o4 ! move 32 bytes
5230 stx %o4, [%o1]
5231 ldxa [%o0+8]%asi, %o4
5232 stx %o4, [%o1+8]
5233 ldxa [%o0+16]%asi, %o4
5235 stx %o4, [%o1+16]
5236 ldxa [%o0-8]%asi, %o4
5239 stx %o4, [%o1-8]
5245 ldxa [%o0]%asi, %o4 ! move 8 bytes
5250 stx %o4, [%o1-8]
5266 lda [%o0]%asi, %o4 ! move 4 bytes
5271 stw %o4, [%o1-4]
5275 lduba [%o0]%asi, %o4 ! load one byte
5277 stb %o4, [%o1] ! store one byte
5278 lduba [%o0+1]%asi, %o4 ! load second byte
5281 stb %o4, [%o1+1] ! store second byte
5282 lduba [%o0+2]%asi, %o4 ! load third byte
5284 stb %o4, [%o1+2] ! store third byte
5290 lduba [%o0]%asi, %o4 ! read byte
5292 stb %o4, [%o1] ! write byte
5293 lduba [%o0+1]%asi, %o4 ! repeat for total of 4 bytes
5295 stb %o4, [%o1+1]
5296 lduba [%o0-2]%asi, %o4
5298 stb %o4, [%o1-2]
5299 lduba [%o0-1]%asi, %o4
5301 stb %o4, [%o1-1]
5317 lduba [%o0]%asi, %o4 ! move a word (src align unknown)
5319 sll %o4, 24, %o4 ! position
5321 or %o4, %o3, %o3 ! merge
5322 lduba [%o0+2]%asi, %o4
5323 sll %o4, 8, %o4 ! position
5324 or %o4, %o3, %o3 ! merge
5325 lduba [%o0+3]%asi, %o4
5326 or %o4, %o3, %o4 ! merge
5327 stw %o4,[%o1] ! store four bytes
5346 lduba [%o0]%asi, %o4 ! move a byte
5348 stb %o4, [%o1]
5354 lduba [%o0]%asi, %o4 ! move a half-word (src align unknown)
5356 sll %o4, 8, %o4 ! position
5357 or %o4, %o3, %o4 ! merge
5358 sth %o4, [%o1]
5378 lda [%o0]%asi, %o4 ! move a block of 32 bytes
5379 stw %o4, [%o1]
5380 lda [%o0+4]%asi, %o4
5381 stw %o4, [%o1+4]
5382 lda [%o0+8]%asi, %o4
5383 stw %o4, [%o1+8]
5384 lda [%o0+12]%asi, %o4
5385 stw %o4, [%o1+12]
5386 lda [%o0+16]%asi, %o4
5387 stw %o4, [%o1+16]
5388 lda [%o0+20]%asi, %o4
5390 stw %o4, [%o1+20]
5391 lda [%o0+24]%asi, %o4
5393 stw %o4, [%o1+24]
5394 lda [%o0-4]%asi, %o4
5397 stw %o4, [%o1-4]
5403 lda [%o0]%asi, %o4 ! move a block of 8 bytes
5405 stw %o4, [%o1]
5407 lda [%o0-4]%asi, %o4
5410 stw %o4, [%o1-4]
5417 lda [%o0]%asi, %o4 ! move 4 bytes
5422 stw %o4, [%o1-4]
5435 lduha [%o0]%asi, %o4 ! move 32 bytes
5437 sllx %o4, 48, %o4
5439 or %o4, %o3, %o3
5440 lduha [%o0+6]%asi, %o4
5441 or %o4, %o3, %o4
5442 stx %o4, [%o1]
5444 lduha [%o0+8]%asi, %o4
5446 sllx %o4, 48, %o4
5448 or %o4, %o3, %o3
5449 lduha [%o0+14]%asi, %o4
5450 or %o4, %o3, %o4
5451 stx %o4, [%o1+8]
5453 lduha [%o0+16]%asi, %o4
5455 sllx %o4, 48, %o4
5457 or %o4, %o3, %o3
5458 lduha [%o0+22]%asi, %o4
5459 or %o4, %o3, %o4
5460 stx %o4, [%o1+16]
5465 lduha [%o0-8]%asi, %o4
5467 sllx %o4, 48, %o4
5469 or %o4, %o3, %o3
5470 lduha [%o0-2]%asi, %o4
5471 or %o3, %o4, %o4
5473 stx %o4, [%o1-8]
5480 lduha [%o0]%asi, %o4 ! move 16 bytes
5483 sllx %o4, 48, %o4
5485 or %o4, %o3, %o3
5487 lduha [%o0+6]%asi, %o4
5489 or %o4, %o3, %o4
5491 stx %o4, [%o1-8]
5498 lduha [%o0]%asi, %o4
5499 sll %o4, 16, %o4
5501 or %o3, %o4, %o4
5506 stw %o4, [%o1-4]
5521 lduba [%o0]%asi, %o4 ! load and store a block of 32 bytes
5522 sllx %o4, 56, %o3
5523 lduha [%o0+1]%asi, %o4
5524 sllx %o4, 40, %o4
5525 or %o4, %o3, %o3
5526 lduwa [%o0+3]%asi, %o4
5527 sllx %o4, 8, %o4
5528 or %o4, %o3, %o3
5529 lduba [%o0+7]%asi, %o4
5530 or %o4, %o3, %o4
5531 stx %o4, [%o1]
5533 lduba [%o0+8]%asi, %o4
5534 sllx %o4, 56, %o3
5535 lduha [%o0+9]%asi, %o4
5536 sllx %o4, 40, %o4
5537 or %o4, %o3, %o3
5538 lduwa [%o0+11]%asi, %o4
5539 sllx %o4, 8, %o4
5540 or %o4, %o3, %o3
5541 lduba [%o0+15]%asi, %o4
5542 or %o4, %o3, %o4
5543 stx %o4, [%o1+8]
5545 lduba [%o0+16]%asi, %o4
5546 sllx %o4, 56, %o3
5547 lduha [%o0+17]%asi, %o4
5548 sllx %o4, 40, %o4
5549 or %o4, %o3, %o3
5550 lduwa [%o0+19]%asi, %o4
5551 sllx %o4, 8, %o4
5552 or %o4, %o3, %o3
5553 lduba [%o0+23]%asi, %o4
5554 or %o4, %o3, %o4
5555 stx %o4, [%o1+16]
5560 lduba [%o0-8]%asi, %o4
5561 sllx %o4, 56, %o3
5562 lduha [%o0-7]%asi, %o4
5563 sllx %o4, 40, %o4
5564 or %o4, %o3, %o3
5565 lduwa [%o0-5]%asi, %o4
5566 sllx %o4, 8, %o4
5567 or %o4, %o3, %o3
5568 lduba [%o0-1]%asi, %o4
5569 or %o4, %o3, %o4
5571 stx %o4, [%o1-8]
5579 lduba [%o0]%asi, %o4 ! load and store a block of 8 bytes
5581 sllx %o4, 56, %o3
5582 lduha [%o0+1]%asi, %o4
5583 sllx %o4, 40, %o4
5584 or %o4, %o3, %o3
5585 lduwa [%o0+3]%asi, %o4
5587 sllx %o4, 8, %o4
5588 or %o4, %o3, %o3
5589 lduba [%o0+7]%asi, %o4
5591 or %o4, %o3, %o4
5593 stx %o4, [%o1-8]
5600 lduba [%o0]%asi, %o4 ! move 4 bytes
5601 sll %o4, 24, %o3
5602 lduha [%o0+1]%asi, %o4
5603 sll %o4, 8, %o4
5604 or %o4, %o3, %o3
5605 lduba [%o0+3]%asi, %o4
5606 or %o4, %o3, %o4
5611 stw %o4, [%o1-4]
5624 lduba [%o0]%asi, %o4 ! load and store a block of 32 bytes
5625 sllx %o4, 56, %o3
5626 lduwa [%o0+1]%asi, %o4
5627 sllx %o4, 24, %o4
5628 or %o4, %o3, %o3
5629 lduha [%o0+5]%asi, %o4
5630 sllx %o4, 8, %o4
5631 or %o4, %o3, %o3
5632 lduba [%o0+7]%asi, %o4
5633 or %o4, %o3, %o4
5634 stx %o4, [%o1]
5636 lduba [%o0+8]%asi, %o4
5637 sllx %o4, 56, %o3
5638 lduwa [%o0+9]%asi, %o4
5639 sllx %o4, 24, %o4
5640 or %o4, %o3, %o3
5641 lduha [%o0+13]%asi, %o4
5642 sllx %o4, 8, %o4
5643 or %o4, %o3, %o3
5644 lduba [%o0+15]%asi, %o4
5645 or %o4, %o3, %o4
5646 stx %o4, [%o1+8]
5648 lduba [%o0+16]%asi, %o4
5649 sllx %o4, 56, %o3
5650 lduwa [%o0+17]%asi, %o4
5651 sllx %o4, 24, %o4
5652 or %o4, %o3, %o3
5653 lduha [%o0+21]%asi, %o4
5654 sllx %o4, 8, %o4
5655 or %o4, %o3, %o3
5656 lduba [%o0+23]%asi, %o4
5657 or %o4, %o3, %o4
5658 stx %o4, [%o1+16]
5663 lduba [%o0-8]%asi, %o4
5664 sllx %o4, 56, %o3
5665 lduwa [%o0-7]%asi, %o4
5666 sllx %o4, 24, %o4
5667 or %o4, %o3, %o3
5668 lduha [%o0-3]%asi, %o4
5669 sllx %o4, 8, %o4
5670 or %o4, %o3, %o3
5671 lduba [%o0-1]%asi, %o4
5672 or %o4, %o3, %o4
5674 stx %o4, [%o1-8]
5681 lduba [%o0]%asi, %o4 ! load and store a block of 8 bytes
5682 sllx %o4, 56, %o3
5683 lduwa [%o0+1]%asi, %o4
5684 sllx %o4, 24, %o4
5685 or %o4, %o3, %o3
5686 lduha [%o0+5]%asi, %o4
5687 sllx %o4, 8, %o4
5688 or %o4, %o3, %o3
5689 lduba [%o0+7]%asi, %o4
5690 or %o4, %o3, %o4
5691 stx %o4, [%o1]
5696 stx %o4, [%o1-8]
5754 andcc %o3, 8, %o4 ! odd long words to move?
5755 brz,pt %o4, .ci_al_to_16
5758 ldxa [%i0]%asi, %o4
5761 stx %o4, [%i1-8]
5764 andcc %o3, 0x30, %o4 ! pair of long words to move?
5765 brz,pt %o4, .ci_al_to_64
5769 ldxa [%i0]%asi, %o4
5770 stx %o4, [%i1]
5772 ldxa [%i0-8]%asi, %o4
5773 stx %o4, [%i1+8]
5774 andcc %o3, 0x30, %o4
5775 brnz,pt %o4, .ci_al_mv_16
6092 ldxa [%i0]%asi, %o4 ! move 32 bytes
6094 stx %o4, [%i1]
6095 ldxa [%i0+8]%asi, %o4
6096 stx %o4, [%i1+8]
6097 ldxa [%i0+16]%asi, %o4
6099 stx %o4, [%i1+16]
6100 ldxa [%i0-8]%asi, %o4
6103 stx %o4, [%i1-8]
6109 ldxa [%i0]%asi, %o4 ! move 8 bytes
6114 stx %o4, [%i1-8] !
6121 lda [%i0]%asi, %o4 ! move 4 bytes
6126 stw %o4, [%i1-4]
6132 lduba [%i0]%asi, %o4 ! move a byte
6134 stb %o4, [%i1]
6140 lduba [%i0]%asi, %o4 ! move a half-word (src align unknown)
6143 sll %o4, 8, %o4 ! position
6144 or %o4, %o3, %o4 ! merge
6145 sth %o4, [%i1]
6152 lduba [%i0]%asi, %o4 ! move a word (src align unknown)
6154 sll %o4, 24, %o4 ! position
6156 or %o4, %o3, %o3 ! merge
6157 lduba [%i0+2]%asi, %o4
6158 sll %o4, 8, %o4 ! position
6159 or %o4, %o3, %o3 ! merge
6160 lduba [%i0+3]%asi, %o4
6161 or %o4, %o3, %o4 ! merge
6162 stw %o4,[%i1] ! store four bytes
6177 andcc %i0, 0x1, %o4
6180 andcc %i0, 2, %o4 ! check for half word alignment
6185 lda [%i0]%asi, %o4 ! load 4 bytes
6186 stw %o4, [%i1] ! and store 4 bytes
6187 lda [%i0+4]%asi, %o4 ! load 4 bytes
6189 stw %o4, [%i1+4] ! and store 4 bytes
6198 lduha [%i0]%asi, %o4 ! load 2 bytes
6199 sllx %o4, 32, %i3 ! shift left
6200 lduwa [%i0+2]%asi, %o4
6201 or %o4, %i3, %i3
6203 lduha [%i0+6]%asi, %o4
6204 or %o4, %i3, %i3
6217 lduba [%i0]%asi, %o4
6218 sllx %o4, 56, %i3
6219 lduha [%i0+1]%asi, %o4
6220 sllx %o4, 40, %o4
6221 or %o4, %i3, %i3
6222 lduha [%i0+3]%asi, %o4
6223 sllx %o4, 24, %o4
6224 or %o4, %i3, %i3
6225 lduha [%i0+5]%asi, %o4
6226 sllx %o4, 8, %o4
6227 or %o4, %i3, %i3
6228 lduba [%i0+7]%asi, %o4
6229 or %o4, %i3, %i3
6243 andn %i0, 0x3f, %o4 ! %o4 has block aligned src address
6244 prefetcha [%o4 + (3 * CACHE_LINE)]%asi, #one_read
6255 prefetcha [%o4 + (4 * CACHE_LINE)]%asi, #one_read
6260 prefetcha [%o4 + (4 * CACHE_LINE)]%asi, #one_read
6267 prefetcha [%o4 + (4 * CACHE_LINE)]%asi, #one_read
6275 ldda [%o4+56]%asi, %d14
6277 add %o4, 64, %o4
6278 ldda [%o4]ASI_BLK_AIUS, %d16
6292 prefetcha [%o4 + (4 * CACHE_LINE)]%asi, #one_read
6297 ldda [%o4+48]%asi, %d12
6298 ldda [%o4+56]%asi, %d14
6300 add %o4, 64, %o4
6301 ldda [%o4]ASI_BLK_AIUS, %d16
6316 prefetcha [%o4 + (4 * CACHE_LINE)]%asi, #one_read
6321 ldda [%o4+40]%asi, %d10
6322 ldda [%o4+48]%asi, %d12
6323 ldda [%o4+56]%asi, %d14
6325 add %o4, 64, %o4
6326 ldda [%o4]ASI_BLK_AIUS, %d16
6342 prefetcha [%o4 + (4 * CACHE_LINE)]%asi, #one_read
6347 ldda [%o4+32]%asi, %d8
6348 ldda [%o4+40]%asi, %d10
6349 ldda [%o4+48]%asi, %d12
6350 ldda [%o4+56]%asi, %d14
6352 add %o4, 64, %o4
6353 ldda [%o4]ASI_BLK_AIUS, %d16
6370 prefetcha [%o4 + (4 * CACHE_LINE)]%asi, #one_read
6375 ldda [%o4+24]%asi, %d6
6376 ldda [%o4+32]%asi, %d8
6377 ldda [%o4+40]%asi, %d10
6378 ldda [%o4+48]%asi, %d12
6379 ldda [%o4+56]%asi, %d14
6381 add %o4, 64, %o4
6382 ldda [%o4]ASI_BLK_AIUS, %d16
6400 prefetcha [%o4 + (4 * CACHE_LINE)]%asi, #one_read
6405 ldda [%o4+16]%asi, %d4
6406 ldda [%o4+24]%asi, %d6
6407 ldda [%o4+32]%asi, %d8
6408 ldda [%o4+40]%asi, %d10
6409 ldda [%o4+48]%asi, %d12
6410 ldda [%o4+56]%asi, %d14
6412 add %o4, 64, %o4
6413 ldda [%o4]ASI_BLK_AIUS, %d16
6432 prefetcha [%o4 + (4 * CACHE_LINE)]%asi, #one_read
6437 ldda [%o4+8]%asi, %d2
6438 ldda [%o4+16]%asi, %d4
6439 ldda [%o4+24]%asi, %d6
6440 ldda [%o4+32]%asi, %d8
6441 ldda [%o4+40]%asi, %d10
6442 ldda [%o4+48]%asi, %d12
6443 ldda [%o4+56]%asi, %d14
6445 add %o4, 64, %o4
6446 ldda [%o4]ASI_BLK_AIUS, %d16
6466 prefetcha [%o4 + (4 * CACHE_LINE)]%asi, #one_read
6471 ldda [%o4]ASI_BLK_AIUS, %d0
6473 add %o4, 64, %o4
6474 ldda [%o4]ASI_BLK_AIUS, %d16
6495 prefetcha [%o4 + (4 * CACHE_LINE)]%asi, #one_read
6507 andn %i0, 0x7, %o4 ! %o4 has long word aligned src address
6509 ldda [%o4]%asi, %d0 ! fetch partial word
6511 ldda [%o4+8]%asi, %d2
6512 add %o4, 8, %o4
6524 lduba [%i0]%asi, %o4
6525 sll %o4, 24, %o3
6526 lduba [%i0+1]%asi, %o4
6527 sll %o4, 16, %o4
6528 or %o4, %o3, %o3
6529 lduba [%i0+2]%asi, %o4
6530 sll %o4, 8, %o4
6531 or %o4, %o3, %o3
6532 lduba [%i0+3]%asi, %o4
6533 or %o4, %o3, %o3
6535 lduba [%i0+4]%asi, %o4
6536 sll %o4, 24, %o3
6537 lduba [%i0+5]%asi, %o4
6538 sll %o4, 16, %o4
6539 or %o4, %o3, %o3
6540 lduba [%i0+6]%asi, %o4
6541 sll %o4, 8, %o4
6542 or %o4, %o3, %o3
6543 lduba [%i0+7]%asi, %o4
6544 or %o4, %o3, %o3
6556 lduba [%i0+1]%asi, %o4
6557 sll %o4, 16, %o4 ! position
6558 or %o4, %o3, %o3 ! merge
6559 lduba [%i0+2]%asi, %o4
6560 sll %o4, 8, %o4 ! position
6561 or %o4, %o3, %o3 ! merge
6563 lduba [%i0+3]%asi, %o4
6565 or %o4, %o3, %o4 ! merge
6567 stw %o4, [%i1-4]
6575 lduba [%i0]%asi, %o4 ! load one byte
6577 stb %o4, [%i1] ! store one byte
6578 lduba [%i0+1]%asi, %o4 ! load second byte
6581 stb %o4, [%i1+1] ! store second byte
6582 lduba [%i0+2]%asi, %o4 ! load third byte
6583 stb %o4, [%i1+2] ! store third byte
6592 BLD_FP_FROMSTACK(%o4)
6600 ldn [THREAD_REG + T_COPYOPS], %o4
6601 brz %o4, 2f
6603 ldn [%o4 + CP_COPYIN], %g2
6621 sethi %hi(copyio_fault), %o4
6622 or %o4, %lo(copyio_fault), %o4
6647 lduba [%o0 + %o3]ASI_USER, %o4
6658 stb %o4, [%o1 + %o3]
6661 lduba [%o0 + %o3]ASI_USER, %o4
6830 ldxa [%o0 + %o3]ASI_USER, %o4
6832 stx %o4, [%o1 + %o3]
6844 lduba [%o0 + %o3]ASI_USER, %o4
6850 lduwa [%o0 + %o3]ASI_USER, %o4
6852 st %o4, [%o1 + %o3]
6864 lduba [%o0 + %o3]ASI_USER, %o4
6871 lduha [%o0 + %o3]ASI_USER, %o4
6873 sth %o4, [%o1 + %o3]
6884 lduba [%o0 + %o3]ASI_USER, %o4
6885 stb %o4, [%o1 + %o3]
6897 stn %o4, [THREAD_REG + T_LOFAULT]
7274 ldn [THREAD_REG + T_COPYOPS], %o4
7275 brz %o4, 2f
7277 ldn [%o4 + CP_COPYIN], %g2
7302 ldn [THREAD_REG + T_COPYOPS], %o4
7303 brz %o4, 2f
7305 ldn [%o4 + CP_XCOPYIN], %g2
7325 sethi %hi(.little_err), %o4
7327 or %o4, %lo(.little_err), %o4
7329 stn %o4, [THREAD_REG + T_LOFAULT]
7334 sub %o2, 1, %o4
7335 add %o0, %o4, %o0 ! start w/last byte
7337 lduba [%o0+%o3]ASI_AIUSL, %o4
7339 1: stb %o4, [%o1+%o3]
7343 lduba [%o0+%o3]ASI_AIUSL, %o4
7571 ldxa [%o0]ASI_MEM, %o4
7578 stxa %o4, [%o1]ASI_MEM
7776 andn %o1, 0x3f, %o4 ! calc size of blocks in bytes
7778 cmp %o4, 0x100 ! 256 bytes or more
7820 sub %o4, 0x100, %o4
7821 cmp %o4, 0x100
7827 cmp %o4, 0x40
7841 subcc %o4, 0x40, %o4
7850 rd %asi, %o4
7852 cmp %o4, ASI_BLK_INIT_ST_QUAD_LDD_P