Lines Matching refs:o1

64 	sub	%o1, %o0, %o3		! src - dst
65 andcc %o1, 7, %o4 ! dword aligned ?
70 andcc %o1, 1, %g0 ! need to copy byte ?
72 sub %g0, %o1, %g1 ! %g1<2:0> = # of unaligned bytes
118 sllx %o4, 32, %o1 ! spread magic1
120 or %o4, %o1, %o4 ! to all 64 bits
133 ldx [%o2 + %o3], %o1 ! src dword
135 andn %o5, %o1, %g1 ! ~dword & 0x8080808080808080
136 sub %o1, %o4, %g4 ! dword - 0x0101010101010101
139 stx %o1, [%o2 - 8] ! store word to dst (address pre-incremented)
144 srlx %o1, 56, %o3 ! %o3<7:0> = first byte
145 andcc %o1, %o4, %g0 ! first byte zero?
149 srlx %o1, 48, %o3 ! %o3<7:0> = second byte
150 andcc %o1, %o4, %g0 ! second byte zero?
154 srlx %o1, 40, %o3 ! %o3<7:0> = third byte
155 andcc %o1, %o4, %g0 ! third byte zero?
159 srlx %o1, 32, %o3 ! %o3<7:0> = fourth byte
160 andcc %o1, %o4, %g0 ! fourth byte zero?
164 srlx %o1, 24, %o3 ! %o3<7:0> = fifth byte
165 andcc %o1, %o4, %g0 ! fifth byte zero?
169 srlx %o1, 16, %o3 ! %o3<7:0> = sixth byte
170 andcc %o1, %o4, %g0 ! sixth byte zero?
174 andcc %o1, %o4, %g0 ! seventh byte zero?
175 srlx %o1, 8, %o3 ! %o3<7:0> = seventh byte
178 stb %o1, [%o2 - 1] ! store eigth byte
185 ldx [%o2 + %o3], %o1 ! x = src[]
187 andn %o5, %o1, %g1 ! ~x & 0x8080808080808080
188 sub %o1, %o4, %g4 ! x - 0x0101010101010101
191 srlx %o1, 56, %g1 ! %g1<7:0> = first byte; word aligned now
193 srlx %o1, 24, %g1 ! %g1<31:0> = bytes 2, 3, 4, 5
195 srlx %o1, 8, %g1 ! %g1<15:0> = bytes 6, 7
198 stb %o1, [%o2 - 1] ! store eigth byte
204 ldx [%o2 + %o3], %o1 ! x = src[]
206 andn %o5, %o1, %g1 ! ~x & 0x8080808080808080
207 sub %o1, %o4, %g4 ! x - 0x0101010101010101
210 srlx %o1, 56, %g1 ! %g1<7:0> = first byte; word aligned now
212 srlx %o1, 40, %g1 ! %g1<15:0> = bytes 2, 3
214 srlx %o1, 8, %g1 ! %g1<31:0> = bytes 4, 5, 6, 7
217 stb %o1, [%o2 - 1] ! store eigth byte
223 ldx [%o2 + %o3], %o1 ! x = src[]
225 andn %o5, %o1, %g1 ! ~x & 0x8080808080808080
226 sub %o1, %o4, %g4 ! x - 0x0101010101010101
229 srlx %o1, 48, %g1 ! get first and second byte
231 srlx %o1, 16, %g1 ! %g1<31:0> = bytes 3, 4, 5, 6
234 sth %o1, [%o2 - 2] ! store seventh and eigth byte
237 ldx [%o2 + %o3], %o1 ! x = src[]
240 andn %o5, %o1, %g1 ! ~x & 0x0x8080808080808080
241 sub %o1, %o4, %g4 ! x - 0x0101010101010101
244 srlx %o1, 32, %g1 ! get bytes 1,2,3,4
247 stw %o1, [%o2 - 4] ! store bytes 5,6,7,8