/picolibc-latest/newlib/libc/machine/i960/ |
D | strlen_ca.S | 92 notand g0,3,g2 # extract word addr of start of src 95 ld (g2),g5 # fetch word containing at least first byte 97 lda 4(g2),g2 # post-increment src word pointer 99 chkbit 2,g2 # are we on an even word boundary or an odd one? 111 ld (g2),g5 # load odd word 112 lda 4(g2),g2 # post-increment src word pointer 121 ldl (g2),g4 # fetch next pair of word of src 124 lda 8(g2),g2 # post-increment src word pointer 127 subo 4,g2,g2 # back up the byte pointer 130 subo 9,g2,g2 # back up the byte pointer [all …]
|
D | strrchr.S | 96 shlo 8,g1,g2 # broadcast the char to four bytes 97 or g1,g2,g2 98 shlo 16,g2,g5 99 or g2,g5,g3 101 addo 4,g0,g2 # post-increment src pointer 108 ld (g2),g4 # fetch next word of src 111 addo 4,g2,g2 # post-increment src pointer 114 subo 4,g2,g0 # save addr of byte after word with char 118 subo 4,g2,g2 # move src pointer back to word with null 120 addo 1,g2,g2 # advance src pointer to byte after current [all …]
|
D | strlen.S | 89 addo 8,g0,g2 # post-increment src word pointer 98 ldl (g2),g4 # fetch next pair of word of src 99 addo 8,g2,g2 # post-increment src word pointer 102 subo 4,g2,g2 # back up the byte pointer 105 subo 9,g2,g2 # back up the byte pointer 109 addo 1,g2,g2 # bump src byte ptr 114 subo g0,g2,g0 # calculate string length
|
D | memset.S | 74 cmpo 7,g2 # are there fewer than seven characters to move? 90 subo 1,g2,g2 # decrement len 94 cmpobge.f 7,g2,Lcloop 102 cmpo 15,g2 # Do we have to store more longwords? 104 subo 8,g2,g2 # Decrement len 109 cmpobge.t 0,g2,Lexit 112 cmpo 1,g2 # Is len exhausted? 114 subo 1,g2,g2 # Decrement len
|
D | strcpy.S | 123 addo 8,g0,g2 # post-increment src word pointer 131 ldl (g2),g4 # fetch next pair of word of src 132 addo 8,g2,g2 # post-increment src word pointer 135 subo 4,g2,g2 # back up the byte pointer 138 subo 9,g2,g5 # back up the byte pointer 156 ld (g1), g2 # fetch first word of source 161 scanbyte 0, g2 # does source word contain null byte? 162 mov g2, g4 # save a copy of the source word 164 ld (g1), g2 # pre-fetch next word of source
|
D | memcmp_ca.S | 121 cmpibge.f 0,g2,Lequal_exit # return equality if number bytes 0 144 subi 4,g2,g2 # decrement maximum byte count 146 cmpi 0,g2 156 subo 4,g2,g2 # make up for later re-incrementing 169 subi 1,g2,g2 # decrement character counter 181 addo 4,g2,g2 # to make up for extra decrement in loop 185 cmpibge.f 0,g2,Lequal_exit # branch if difference is beyond max_bytes 189 cmpibge.f 0,g2,Lequal_exit # branch if difference is beyond max_bytes 205 addi g14,g2,g2 # compute new max_bytes too
|
D | strchr_ca.S | 94 shlo 8,g1,g2 # broadcast the char to four bytes 95 or g1,g2,g2 96 shlo 16,g2,g4 98 or g4,g2,g3 148 lda 0xf0f0f0f0,g2 # make first comparison mask for char=-1 case. 149 or g5,g2,g2 150 and g4,g2,g4 # make unimportant bytes of first word 0x0f
|
D | strcpy_ca.S | 148 lda (g4),g2 # set dest byte ptr to 1st byte of word w/ null 156 lda 1(g2),g2 # move dest byte ptr to next byte 191 lda (LSW),g2 # keep a copy of the src word 196 st g2,(g4) # store word in dest string 202 rotate 8,g2,g2 # move next byte into position for extraction 203 and g5,g2,g14 # extract next char 205 and g5,g2,g14 # extract next char 206 shro 8,g2,g2 # move next byte into position for extraction 233 stob g14,(g2) # store the byte in dest 234 lda 1(g2),g2 # post-increment dest ptr [all …]
|
D | strcspn.S | 76 addo 1,g1,g2 # g2 will be the charset ptr 81 ldob (g2),g5 # fetch next charset char 82 addo 1,g2,g2 # bump charset ptr
|
D | strpbrk.S | 80 addo 1,g1,g2 # g2 will be the brkset ptr 86 ldob (g2),g5 # fetch next brkset char 87 addo 1,g2,g2 # bump brkset ptr
|
D | strcmp_ca.S | 116 notand g0,3,g2 # extract word addr of start of src1 119 cmpo g0,g2 # check alignment of src1 121 ld (g2),LSW # fetch word with at least first byte of src1 123 ld 4(g2),MSW # fetch second word of src1 129 lda 8(g2),g2 # advance src1 word addr 138 ld (g2),MSW # pre-fetch next msw of src1 139 addo 4,g2,g2 # post-increment src1 addr 163 lda 8(g2),g2 # advance src1 word addr 176 ld (g2),MSW # pre-fetch next msw of src1 177 addo 4,g2,g2 # post-increment src1 addr
|
D | memcpy_ca.S | 117 cmpibge.f 0,g2,Lquick_exit # Lexit if number of bytes to move is <= zero. 120 addo g2,g1,g5 # compute addr of byte after last byte of src 144 cmpdeci 0,g2,g2 # is max_bytes exhausted? 162 cmpi g2,4 # less than four bytes to move? 168 subi 4,g2,g2 # decrease max_byte count by the 4 bytes moved 174 subi 4,g2,g2 # decrease max_byte count by the 4 bytes moved 179 cmpi g2,4 # check for fewer than four bytes to move 184 cmpibe.f 0,g2,Lexit_code # Lexit if max_bytes is exhausted 190 subi 1,g2,g2 192 cmpi 0,g2 [all …]
|
D | memcmp.S | 94 cmpibge 0,g2,Lequal_exit # quit if max_bytes <= 0 95 addo g0,g2,g2 # calculate byte addr of byte after last in src1 98 cmpo g0,g2 114 cmpobl g0,g2,.Lcloop # quit if max_bytes is exhausted
|
D | strchr.S | 90 shlo 8,g1,g2 # broadcast the char to four bytes 91 or g1,g2,g2 92 shlo 16,g2,g5 93 or g2,g5,g3
|
D | strncmp.S | 93 cmpibge 0,g2,Lequal_exit # Lexit early if max_bytes <= 0 94 addo g2,g0,g2 96 cmpo g0,g2 # are max_bytes exhausted? 116 cmpobl g0,g2,.Lcloop # if not, loop. if so, Lexit (equality)
|
D | strncmp_ca.S | 117 cmpibge.f 0,g2,Lequal_exit # return equality if number of bytes to 149 subi 4,g2,g2 # decrement maximum byte count 151 cmpibl.t 0,g2,Lwloop2 # branch if max_bytes not reached yet 186 subi 4,g2,g2 # decrement maximum byte count 188 cmpibl.t 0,g2,Lwloop # branch if max_bytes not reached yet 210 subi 1,g2,g2 # decrement character counter 227 cmpibge.f 0,g2,Lequal_exit # branch if difference is beyond max_bytes 231 cmpibge.f 0,g2,Lequal_exit # branch if difference is beyond max_bytes 248 addi g14,g2,g2 # compute new max_bytes too
|
D | strncpy_ca.S | 115 cmpibge.f 0,g2,Lexit_code # Lexit if number of bytes to move is <= zero. 130 cmpi g2,4 # check for fewer than four bytes to move 136 subi 4,g2,g2 # decrease max_byte count by the 4 bytes moved 149 cmpdeci 0,g2,g2 # is max_bytes exhausted? 188 cmpi g2,4 # check for fewer than four bytes to move 191 subo 4,g2,g2 # decrease max_byte count by the 4 bytes moved 203 cmpdeci 0,g2,g2 # is max_bytes exhausted? 235 cmpi g2,4 # less than four bytes to move? 241 subi 4,g2,g2 # decrease max_byte count by the 4 bytes moved 251 cmpi g2,4 # less than four bytes to move? [all …]
|
D | memccpy.S | 102 and g5,g2,g2 # extract only char 103 shlo 8,g2,g6 104 or g2,g6,g6 127 cmpo g7,g2
|
D | memchr.S | 99 cmpibge 0,g2,Lnot_found # do nothing if max_bytes <= 0 101 addo g2,g6,g2 # compute ending address from start and len 114 cmpobge g2,g6,Lsearch_for_word_with_char # branch if max_bytes > 3 123 cmpobe.f g6,g2,Lnot_found # quit if max_bytes exhausted
|
D | strncpy.S | 102 cmpibge 0,g2,Lexit # quit early if max_bytes <= 0 106 addo g1, g2, g6 107 addo g2, g5, g2 123 cmpo g2, g5 # max_bytes <= 0 ? 147 subo 8,g2,g6 # adjust max_byte counter
|
D | strncat.S | 97 cmpibge 0, g2, Lno_operation # Lexit early if max_bytes <= 0 115 cmpo 4, g2 # max_bytes < 4 ? 122 subo 4, g2, g2 # reduce max_byte counter 144 cmpdeco 0,g2,g2 # max_byte == 0?
|
D | strncat_ca.S | 115 cmpibge.f 0,g2,Lexit_code # Lexit if number of bytes to move is <= zero. 151 cmpi g2,4 # check for fewer than four bytes to move 158 subi 4,g2,g2 # decrease max_byte count by the 4 bytes moved 165 cmpdeci 0,g2,g2 # is max_bytes exhausted? 231 cmpdeci 0,g2,g2 # is max_bytes exhausted? 260 cmpi g2,4 # less than four bytes to move? 268 subi 4,g2,g2 # decrease max_byte count by the 4 bytes moved 281 cmpi g2,4 # less than four bytes to move? 289 subi 4,g2,g2 # decrease max_byte count by the 4 bytes moved
|
D | memchr_ca.S | 97 cmpibge.f 0,g2,Lnot_found # do nothing if max_bytes <= 0 98 addo g0,g2,g2 # compute ending address from start and len 123 cmpoble.t g0,g2,Lsearch_for_word_with_char # branch if not null 135 cmpobe.f g0,g2,Lnot_found # quit if max_bytes exhausted
|
D | strcmp.S | 97 mov g5,g2 # save a copy of the source_1 word 99 cmpo g2,g3 # are the source words the same? 104 .Lcloop: and g4,g2,g5 # extract and compare individual bytes
|
D | memccpy_ca.S | 101 shlo 24,g2,g2 # reduce char to single byte 126 cmpo g4,g2 137 shro 8,g2,g4 138 or g4,g2,g1 176 shro 8,g2,g4 177 or g4,g2,MSW 202 cmpo g4,g2
|