Lines Matching refs:word
40 ! word aligned, we check a for the search char a byte at a time
41 ! until we've reached a word boundary. Once this has happened
43 ! is checked a word at a time
51 andcc %o0, 3, %o4 ! str word aligned ?
52 bz,a .prepword2 ! yup, prepare for word-wise search
53 sll %o1, 8, %g1 ! start spreading findchar across word
61 bz .prepword ! yup, prepare for word-wise search
69 bz .prepword ! yup, prepare for word-wise search
86 or %o1, %g1, %o1 ! of a word <--------+
90 lduw [%o0], %o2 ! src word
91 andn %o5, %o2, %o3 ! ~word & 0x80808080
92 sub %o2, %o4, %g1 ! word = (word - 0x01010101)
93 andcc %o3, %g1, %g0 ! ((word - 0x01010101) & ~word & 0x80808080)
95 xor %o2, %o1, %g1 ! tword = word ^ findchar
102 ! here we know "word" contains the searched character, but no null
104 ! "tword" has null bytes where "word" had findchar. Examine "tword"
124 ! Here we know that "word" contains a null byte indicating the
125 ! end of the string. However, "word" might also contain findchar
126 ! "tword" (in %g1) has null bytes where "word" had findchar. So
127 ! check both "tword" and "word"
159 bz .straligned ! str is word aligned
171 ! check to see if we're half word aligned, which it better than
172 ! not being aligned at all. Search the first half of the word
173 ! if we are, and then search by whole word.
192 lduw [%o0], %o1 ! src word
193 andn %o5, %o1, %o3 ! ~word & 0x80808080
194 sub %o1, %o4, %g1 ! word = (word - 0x01010101)
195 andcc %o3, %g1, %g0 ! ((word - 0x01010101) & ~word & 0x80808080)