Lines Matching refs:o1

65 	sub	%o1, %o0, %o3		! src - dst
66 andcc %o1, 3, %o4 ! src word aligned ?
72 ldub [%o2 + %o3], %o1 ! src[0]
73 tst %o1 ! byte zero?
74 stb %o1, [%o2] ! store first byte
81 lduh [%o2 + %o3], %o1 ! src[]
82 srl %o1, 8, %o4 ! %o4<7:0> = first byte
86 andcc %o1, 0xff, %g0 ! second byte zero ?
88 stb %o1, [%o2 + 1] ! store second byte
95 andcc %o2, 3, %o1 ! destination word aligned?
100 lduw [%o2 + %o3], %o1 ! src word
102 andn %o5, %o1, %g1 ! ~word & 0x80808080
103 sub %o1, %o4, %o1 ! word - 0x01010101
104 andcc %o1, %g1, %g0 ! ((word - 0x01010101) & ~word & 0x80808080)
105 add %o1, %o4, %o1 ! restore word
107 st %o1, [%o2 - 4] ! store word to dst (address pre-incremented)
111 srl %o1, 24, %o3 ! %o3<7:0> = first byte
112 andcc %o1, %o4, %g0 ! first byte zero?
116 srl %o1, 16, %o3 ! %o3<7:0> = second byte
117 andcc %o1, %o5, %g0 ! second byte zero?
121 andcc %o1, %o4, %g0 ! third byte zero?
122 srl %o1, 8, %o3 ! %o3<7:0> = third byte
125 stb %o1, [%o2 - 1] ! store fourth byte
132 cmp %o1, 2 ! dst half word aligned?
134 lduw [%o2 + %o3], %o1 ! src word
137 lduw [%o2 + %o3], %o1 ! src word
139 sub %o1, %o4, %g1 ! x - 0x01010101
140 andn %g1, %o1, %g1 ! (x - 0x01010101) & ~x
143 srl %o1, 24, %g1 ! %g1<7:0> = first byte
145 srl %o1, 8, %g1 ! %g1<15:0> = byte 2, 3
148 stb %o1, [%o2 - 1] ! store fourth byte
151 lduw [%o2 + %o3], %o1 ! src word
154 sub %o1, %o4, %g1 ! x - 0x01010101
155 andn %g1, %o1, %g1 ! (x - 0x01010101) & ~x
158 srl %o1, 16, %g1 ! get first and second byte
161 sth %o1, [%o2 - 2] ! store third and fourth byte