Home
last modified time | relevance | path

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

12345

/illumos-gate/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)
119 ! Recall that dst is already double word aligned
126 ! Now sp1 is block aligned
[all …]
H A Dmemcpy.S238 ! Now Destination is 8 byte aligned
783 andcc %o1, 0x3, %o5 ! is src word aligned
785 cmp %o5, 2 ! is src half-word aligned
787 cmp %o5, 3 ! src is byte aligned
1752 ! Src is word aligned
1765 ! Src is half-word aligned
1782 ! Src is Byte aligned
1805 ! Destination is now block (64 byte aligned)
2121 andcc %o1, 3, %o5 ! is src word aligned
2123 cmp %o5, 2 ! is src half-word aligned
[all …]
/illumos-gate/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
/illumos-gate/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.S130 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
237 srl %i0, %l7, %i3 ! byte 1 from new 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 …]
/illumos-gate/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)
H A Dstrncat.S71 testq $7, %rdi / if %rdi not quadword aligned
89 testq $7, %rdi / if %rdi not quadword aligned
91 jmp .L2 / goto .L2 (%rdi quadword aligned)
96 testq $7, %rsi / if %rsi not quadword aligned
135 / %rsi not aligned
/illumos-gate/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)
/illumos-gate/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.S130 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
237 srl %i0, %l7, %i3 ! byte(s) from new 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
/illumos-gate/usr/src/uts/sun4v/cpu/
H A Dgeneric_copy.S110 ! use aligned transfers where possible
150 btst 3, %i0 ! is source aligned?
167 btst 3, %i1 ! is destination aligned?
212 btst 3, %i1 ! is destination aligned?
255 btst 3, %i0 ! is source aligned?
270 call .alignit ! copy bytes until aligned
274 ! i3 has aligned count returned by alignit
706 ! eight byte aligned copies end here.
882 ! Try aligned copies from here.
899 ! 8 byte aligned?
[all …]
H A Dniagara_copy.S1177 ! Dest is aligned on 16 bytes, src 8 byte aligned
1192 ! Dest is aligned on 64 bytes, src 8 byte aligned
1598 ! Src is word aligned, move bytes until dest 64 byte aligned
1611 ! Src is half-word aligned, move bytes until dest 64 byte aligned
1628 ! Src is Byte aligned, move bytes until dest 64 byte aligned
2113 ! 1B aligned
3516 ! Dest is aligned on 16 bytes, src 8 byte aligned
3532 ! Dest is aligned on 64 bytes, src 8 byte aligned
3938 ! Src is word aligned, move bytes until dest 64 byte aligned
3968 ! Src is Byte aligned, move bytes until dest 64 byte aligned
[all …]
/illumos-gate/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
/illumos-gate/usr/src/lib/libc/capabilities/sun4u-opl/common/
H A Dmemcpy.S149 ! are long word aligned
154 ! aligned data copying.
205 ! are not long word aligned
435 sub %o5, %o3, %o3 ! -(bytes till SRC aligned after DST aligned)
454 ! if src, dst not aligned
542 .medlword: ! long word aligned
790 ! %o0 I/O DST is 64-byte aligned
870 brz,a %o3, 3f ! is SRC double aligned?
880 andn %o5, 7, %o5 ! 8 byte aligned count
912 ! %o0 I/O DST is 64-byte aligned
[all …]

12345