Home
last modified time | relevance | path

Searched refs:aligned (Results 1 – 25 of 113) sorted by relevance

12345

/titanic_50/usr/src/lib/libbc/libc/crt/sparc/
H A Dmisalign.s89 lduh [%i0],%o0 ! short aligned case: 2 loads, 2 stores
91 ldub [%i0],%o0 ! byte aligned case: 4 loads, 4 stores
101 lduh [%i0+2],%o1 ! rest of short aligned case
122 be,a 1f ! long aligned case: 2 loads, no stores
126 be,a 2f ! short aligned case: 4 loads, 4 stores
149 lduh [%i0+2],%o1 ! rest of short aligned case
160 ld [%i0+4],%f1 ! rest of long aligned case
181 srl %o0,24,%o5 ! byte aligned case
190 sth %o4,[%o1] ! rest of short aligned case
209 be,a 1f ! short aligned case
[all …]
/titanic_50/usr/src/lib/libc/capabilities/sun4v/common/
H A Dmemset.s93 andcc %o5, 7, %o3 ! is sp1 aligned on a 8 byte bound
94 bz,pt %ncc, .blkalign ! already double aligned
95 sub %o3, 8, %o3 ! -(bytes till double aligned)
98 ! Set -(%o3) bytes till sp1 double aligned
104 ! Now sp1 is double aligned (sp1 is found in %o5)
112 andcc %o5, 63, %o3 ! is sp1 block aligned?
113 bz,pt %ncc, .blkwr ! now block aligned
114 sub %o3, 64, %o3 ! o3 is -(bytes till block aligned)
117 ! Store -(%o3) bytes till dst is block (64 byte) aligned.
119 ! Recall that dst is already double word aligned
[all …]
H A Dmemcpy.s225 andcc %g1, 7, %o3 ! %o3 has bytes till dst 8 bytes aligned
226 bz,a,pn %ncc, .dbbck ! if dst is not 8 byte aligned: align it
238 ! Now Destination is 8 byte aligned
241 bz,a,pn %ncc, .dbcopybc ! if src is aligned to fast mem move
292 ! Check to see if memmove is large aligned copy
301 andcc %o5, 7, %o5 ! bytes till DST 8 byte aligned
339 andcc %o0, 0x3f, %o3 ! %o3 == 0 means dst is 64 byte aligned
780 bz,pt %ncc, .smallword ! branch to word aligned case
783 andcc %o1, 0x3, %o5 ! is src word aligned
785 cmp %o5, 2 ! is src half-word aligned
[all …]
/titanic_50/usr/src/lib/libc/sparcv9/crt/
H A D__align_cpy_4.s64 and %o0, 7, %o3 ! Is target 8-byte aligned?
65 and %o1, 7, %o4 ! Is source 8-byte aligned?
68 mov %o0, %g1 ! 8-byte aligned.
69 brz,pt %o3, .both8 ! Both are 8-byte aligned.
72 ld [%o1], %o3 ! Neither is aligned, so do 4 bytes;
73 subcc %o2, 4, %o2 ! then both will be aligned.
81 ! aligned. Get and store 16 bytes at a time using ldx and stx.
84 .both8: ! Both source and target are aligned.
129 ! aligned. So, use ld and st instructions rather than trying to copy stuff
H A D__align_cpy_2.s47 andcc %o1, 6, %o5 ! is src 8-byte aligned
49 cmp %o5, 4 ! is src 4-byte aligned
51 cmp %o5, 6 ! src is 2-byte aligned
61 .s2algn:lduw [%o1], %o3 ! know src is 4-byte aligned
/titanic_50/usr/src/lib/libc/sparcv9/gen/
H A Dmemset.s93 .dalign: ! Set bytes until 8-byte aligned
94 btst 7, %o5 ! 8-byte aligned?
100 b .dalign ! go see if aligned yet
105 stx %o1, [%o5] ! write aligned 8 bytes
113 .walign: ! Set bytes until 4-byte aligned
H A Dstrcmp.s53 ! This strcmp implementation first determines whether s1 is aligned.
57 ! a different compare for non-aligned strings is used.
66 andcc %o0, 7, %o3 ! s1 sword-aligned ?
70 sub %o3, 8, %o3 ! number of bytes till s1 aligned
79 inccc %o3 ! s1 aligned yet?
84 andcc %o1, 7, %o3 ! s2 dword aligned ?
90 and %o1, -8, %o1 ! round s1 down to next aligned dword
105 ldx [%o1+8], %o0 ! next aligned word in s2
107 srlx %o0, %g4, %o3 ! bytes from aligned word from s2
H A Dstrlen.s52 ! null byte. To this end, we attempt to get our string aligned
63 andcc %o0, 3, %o4 ! is src word aligned
67 cmp %o4, 2 ! is src half-word aligned
74 cmp %o4, 3 ! src is byte aligned
108 .loop: ! this should be aligned to 32
H A Dstrcpy.s55 ! quantities until the source ptr is aligned at an extended
65 andcc %o1, 7, %o4 ! dword aligned ?
126 cmp %g4, 2 ! dst halfword aligned ?
128 andcc %o2, 7, %g0 ! dst word aligned ?
182 nop ! ensure following loop 16-byte aligned
191 srlx %o1, 56, %g1 ! %g1<7:0> = first byte; word aligned now
200 nop ! ensure following loop 16-byte aligned
201 nop ! ensure following loop 16-byte aligned
210 srlx %o1, 56, %g1 ! %g1<7:0> = first byte; word aligned now
219 nop ! ensure following loop 16-byte aligned
[all …]
H A Dascii_strcasecmp.s118 ! both strings a byte at a time until the source ptr is aligned to
130 andcc %i0, 3, %i3 ! s1 word-aligned ?
172 cmp %i3, 2 ! s1 aligned now?
194 ba .s1aligned4 ! s1 aligned now
195 andcc %i1, 3, %i3 ! s2 word-aligned ?
207 andcc %i1, 3, %i3 ! s2 word aligned ?
212 bz .word4 ! yup, s2 word-aligned
228 ! word aligned, if it is, we use word4 & cmp4
234 bz,a,pt %ncc, .doload ! null byte in previous aligned s2 word
235 lduw [%i1 + 4], %i0 ! load next aligned word from s2
[all …]
H A Dmemcmp.s63 andcc %o0, 3, %o3 ! is s1 aligned?
65 andcc %o1, 3, %o4 ! is s2 aligned?
96 andcc %o1, 3, %o4 ! delay slot, is s2 aligned?
142 .iss2: andn %o2, 3, %o3 ! count of aligned bytes
144 bz,pn %icc, .w4cmp ! if s2 word aligned, compare words
146 be,pn %icc, .w2cmp ! s2 half aligned
154 be,pt %icc, .w1cmp ! aligned to 1 or 3 bytes
H A Dmemcpy.s64 andcc %o1, 3, %o5 ! is src word aligned
66 cmp %o5, 2 ! is src half-word aligned
68 cmp %o5, 3 ! src is byte aligned
H A Dstrncpy.s61 ! performing small copies until it is aligned. Then, the string
72 andcc %o1, 7, %o4 ! dword aligned ?
75 sub %o4, 8, %o4 ! bytes until src aligned
85 addcc %o4, 1, %o4 ! src aligned now?
103 cmp %g1, 2 ! dst halfword aligned ?
105 andcc %g5, 7, %g0 ! dst word aligned ?
107 nop ! ensure loop is 16-byte aligned
157 bz,pn %ncc, .fillaligned ! dst already dword aligned
278 srlx %o1, 56, %g1 ! %g1<7:0> = first byte; word aligned now
296 srlx %o1, 56, %g1 ! %g1<7:0> = first byte; half-word aligned now
[all …]
/titanic_50/usr/src/lib/libc/i386/gen/
H A Dstrcat.s63 testl $3, %edi / if %edi not word aligned
81 testl $3, %edi / if %edi not word aligned
83 jmp .L2 / goto .L2 (%edi word aligned)
88 testl $3, %eax / if %eax not word aligned
114 testl $3, %eax / if %eax not word aligned
116 jmp .L5 / goto .L5 (%eax word aligned)
/titanic_50/usr/src/lib/libc/amd64/gen/
H A Dstrcat.s67 testq $7, %rdi / if %rdi not quadword aligned
85 testq $7, %rdi / if %rdi not quadword aligned
87 jmp .L2 / goto .L2 (%rdi quadword aligned)
91 testq $7, %rsi / if %rsi not quadword aligned
117 testq $7, %rsi / if %rsi not word aligned
119 jmp .L5 / goto .L5 (%rsi word aligned)
/titanic_50/usr/src/lib/libc/sparc/gen/
H A Dstrlen.s52 ! null byte. To this end, we attempt to get our string aligned
63 andcc %o0, 3, %o4 ! is src word aligned
67 cmp %o4, 2 ! is src half-word aligned
74 cmp %o4, 3 ! src is byte aligned
108 .loop: ! this should be aligned to 32
H A Dascii_strcasecmp.s118 ! both strings a byte at a time until the source ptr is aligned to
130 andcc %i0, 3, %i3 ! s1 word-aligned ?
172 cmp %i3, 2 ! s1 aligned now?
194 ba .s1aligned4 ! s1 aligned now
195 andcc %i1, 3, %i3 ! s2 word-aligned ?
207 andcc %i1, 3, %i3 ! s2 word aligned ?
212 bz .word4 ! yup, s2 word-aligned
228 ! word aligned, if it is, we use word4 & cmp4
234 bz,a .doload ! null byte in previous aligned s2 word
235 lduw [%i1 + 4], %i0 ! load next aligned word from s2
[all …]
H A Dmemcmp.s64 andcc %o0, 3, %o3 ! is s1 aligned?
66 andcc %o1, 3, %o4 ! is s2 aligned?
97 andcc %o1, 3, %o4 ! delay slot, is s2 aligned?
145 .iss2: andn %o2, 3, %o3 ! count of aligned bytes
147 bz .w4cmp ! if s2 word aligned, compare words
149 be .w2cmp ! s2 half aligned
157 be .w1cmp ! aligned to 1 or 3 bytes
H A Dstrcmp.s53 ! This strcmp implementation first determines whether s1 is aligned.
57 ! a different compare for non-aligned strings is used.
59 ! degree to which a string is mis-aligned.
H A Dmemcpy.s60 andcc %o1, 3, %o5 ! is src word aligned
62 cmp %o5, 2 ! is src half-word aligned
64 cmp %o5, 3 ! src is byte aligned
H A Dstrcpy.s55 ! if it is not aligned, attempts to copy bytes until it is.
66 andcc %o1, 3, %o4 ! src word aligned ?
70 cmp %o4, 2 ! src halfword aligned
95 andcc %o2, 3, %o1 ! destination word aligned?
132 cmp %o1, 2 ! dst half word aligned?
144 stb %g1, [%o2 - 4] ! store first byte; half-word aligned now
H A Dmemmove.s53 andcc %i1, 3, %i5 ! is src word aligned
55 cmp %i5, 2 ! is src half-word aligned
57 cmp %i5, 3 ! src is byte aligned
/titanic_50/usr/src/uts/sun4v/cpu/
H A Dgeneric_copy.s130 ! use aligned transfers where possible
142 ! use aligned reads and writes where possible
154 ! l4 number of bytes leftover after aligned transfers complete
159 btst 3, %i1 ! is destnation address aligned?
170 btst 3, %i0 ! is source aligned?
187 btst 3, %i1 ! is destination aligned?
202 andn %i2, 3, %i2 ! # of aligned bytes that can be moved
221 ! the source address is aligned and destination is not
232 btst 3, %i1 ! is destination aligned?
240 andn %i2, 3, %i2 ! # of aligned bytes that can be moved
[all …]
H A Dniagara_copy.s628 andcc %o1, 0x7, %o3 ! is dest long aligned
630 andcc %o1, 1, %o3 ! is dest byte aligned
632 ! Destination is long word aligned
734 .bc_al_d1f: ! dest is now half word aligned
737 .bc_al_d2f: ! dest is now word aligned
738 andcc %o1, 4, %o3 ! is dest longword aligned?
741 .bc_al_d4: ! dest is word aligned; src is unknown
759 ! dst is 8-byte aligned, src is not
786 andcc %o1, 4, %o3 ! is dest longword aligned?
1168 andcc %i1, 1, %o3 ! is dest byte aligned
[all …]
/titanic_50/usr/src/lib/libc/capabilities/sun4u/common/
H A Dmemcmp.s69 and %o0, 7, %o4 ! is s1 aligned on a 8 byte bound
89 bgu,a %ncc, .blkchk ! we should already be dbl aligned
170 bz,pn %ncc, .blalign ! now block aligned
172 neg %i3 ! bytes till block aligned
174 ! Compare %i3 bytes till dst is block (64 byte) aligned. use

12345