Lines Matching refs:byte

51 	! This is either by xword, word, halfword, or byte.  As this occurs, we
52 ! check for a zero-byte. If one is found, we branch to a method
53 ! which checks for the exact location of a zero-byte within a
72 andcc %l1, 0xff, %g0 ! end of src reached (null byte) ?
77 bz,pn %ncc, .forcenullunalign ! n == 0, force null byte, compute len
79 bnz,a %ncc, .alignsrc ! no, copy another byte
99 nop ! ensure loop is 16-byte aligned
100 nop ! ensure loop is 16-byte aligned
109 bz,a,pt %ncc, .storedword ! no zero byte if magic expression == 0
119 srlx %l1, 56, %g1 ! first byte
124 srlx %l1, 48, %g1 ! second byte
129 srlx %l1, 40, %g1 ! third byte
134 srlx %l1, 32, %g1 ! fourth byte
139 srlx %l1, 24, %g1 ! fifth byte
144 srlx %l1, 16, %g1 ! sixth byte
149 srlx %l1, 8, %g1 ! seventh byte
153 stb %l1, [%i2 + 1] ! store eigth byte
162 ! Store bytes until n == 0. If a null byte is encountered during
165 ! difference between the pointer past the last byte of src and the
173 srlx %l1, 56, %g1 ! first byte
178 bz .forcenull ! if n == 0, force null byte, compute len
179 srlx %l1, 48, %g1 ! second byte
185 bz .forcenull ! if n == 0, force null byte, compute len
186 srlx %l1, 40, %g1 ! third byte
192 bz .forcenull ! if n == 0, force null byte, compute strlen
193 srlx %l1, 32, %g1 ! fourth byte
199 bz .forcenull ! if n == 0, force null byte, compute strlen
200 srlx %l1, 24, %g1 ! fifth byte
206 bz .forcenull ! if n == 0, force null byte, compute strlen
207 srlx %l1, 16, %g1 ! sixth byte
213 bz .forcenull ! if n == 0, force null byte, compute strlen
214 srlx %l1, 8, %g1 ! seventh byte
220 bz .forcenull ! if n == 0, force null byte, compute strlen
224 stb %l1, [%i2] ! store eigth byte
226 ! we need to force a null byte in the last position of dst
230 stb %g0, [%i2] ! force string terminating null byte
233 ! %i3 points is current src ptr (8-byte aligned)
241 bz,a,pt %ncc, .searchword ! no null byte if expression is 0
244 mov 0xff, %i5 ! create byte mask for null byte scanning
245 sllx %i5, 56, %i5 ! mask for 1st byte = 0xff0000000000000000
247 andcc %l1, %i5, %g0 ! current byte zero?
248 srlx %i5, 8, %i5 ! byte mask for next byte
249 bnz,a %ncc, .searchbyte ! current byte != zero, continue search
256 nop ! align loop on 16-byte
267 srlx %l1, 56, %g1 ! %g1<7:0> = first byte; word aligned now
268 stb %g1, [%l0] ! store first byte
274 stb %l1, [%l0 + 7] ! store eigth byte
283 bnz,pn %ncc, .zerobyte ! x has zero byte, handle end cases
285 srlx %l1, 56, %g1 ! %g1<7:0> = first byte; half-word aligned now
286 stb %g1, [%l0] ! store first byte
292 stb %l1, [%l0 + 7] ! store eigth byte
301 bnz,pn %ncc, .zerobyte ! x has zero byte, handle end cases
309 nop ! align next loop to 16-byte boundary
310 nop ! align next loop to 16-byte boundary
319 bnz,pn %ncc, .zerobyte ! x has zero byte, handle end cases
330 ! here: %i3 points to current src byte
331 ! %i2 points one byte past end of dst
336 stb %g0, [%i2 - 1] ! force string terminating null byte
344 nop ! align loop to 16-byte boundary
350 ldub [%i3], %l1 ! load src byte
358 nop ! pad tp 16-byte boundary
359 nop ! pad tp 16-byte boundary