Lines Matching refs:bytes
32 * For small 6 or fewer bytes stores, bytes will be stored.
34 * For less than 32 bytes stores, align the address on 4 byte boundary.
35 * Then store as many 4-byte chunks, followed by trailing bytes.
37 * For sizes greater than 32 bytes, align the address on 8 byte boundary.
39 * store 8-bytes chunks to align the address on 64 byte boundary
47 * ST_CHUNK cache lines (64 bytes each) before the main
51 * setting the other seven long words (56 bytes) of each
52 * cache line until fewer than ST_CHUNK*64 bytes remain.
57 * 64 bytes remain.
59 * Store as many 8-byte chunks, followed by trailing bytes.
70 * We only use BIS for memset of greater than MIN_LOOP bytes because a sequence
129 cmp %o2, 7 ! if small counts, just write bytes
134 or %o1, %o3, %o1 ! now o1 has 2 bytes of c
138 or %o1, %o3, %o1 ! now o1 has 4 bytes of c
141 or %o1, %o3, %o1 ! now o1 has 8 bytes of c
146 sub %o3, 8, %o3 ! -(bytes till long word aligned)
149 ! Set -(%o3) bytes till sp1 long word aligned
157 cmp %o2, 64 ! check if there are 64 bytes to set
163 sub %o3, 64, %o3 ! o3 is -(bytes till block aligned)
166 ! Store -(%o3) bytes till dst is block (64 byte) aligned.
177 andn %o2, 63, %o4 ! calculate size of blocks in bytes
179 and %o2, 63, %o3 ! %o3 = bytes left after blk stores.
182 cmp %o4, %g1 ! check there are enough bytes to set
221 ! If more than ST_CHUNK*64 bytes remain to set, continue
252 cmp %o4, MIN_ZERO ! check if enough bytes to set
287 cmp %o4, 64 ! check if 64 bytes to set
290 4: ! set final blocks of 64 bytes
308 and %o2, 7, %o2 ! calc bytes left after long words
340 ! Set the remaining bytes, if any