Home
last modified time | relevance | path

Searched refs:g0 (Results 1 – 25 of 31) sorted by relevance

12

/picolibc-latest/newlib/libc/machine/i960/
Dsetjmp.S47 st g1, 0x58(g0) /* save fp of caller*/
49 stq g8, 0x40(g0) /* save g8-g11*/
50 st g12, 0x50(g0) /* save g12*/
51 st g14, 0x54(g0) /* save g14*/
54 stq g4, (g0) /* save pfp, sp, rip, r3 */
56 stq g4, 0x10(g0) /* save r4-r7 */
58 stq g4, 0x20(g0) /* save r8-r11 */
60 stq g4, 0x30(g0) /* save r12-r15 */
62 mov 0, g0 /* return 0 */
75 ld 0x58(g0), pfp /* get fp of caller of setjmp */
[all …]
Dmemcmp.S95 addo g0,g2,g2 # calculate byte addr of byte after last in src1
98 cmpo g0,g2
99 ld (g0), g5 # fetch word of source_1
102 addo 4,g0,g0 # post-increment source_1 byte ptr
107 subo 4,g0,g0 # back up src1 pointer
113 addo 1,g0,g0
114 cmpobl g0,g2,.Lcloop # quit if max_bytes is exhausted
117 mov 0,g0
124 mov 1,g0
126 .neg: subi 1,0,g0
Dstrncmp.S94 addo g2,g0,g2
96 cmpo g0,g2 # are max_bytes exhausted?
97 ld (g0), g5 # fetch word of source_1
100 addo 4,g0,g0 # post-increment source_1 ptr
106 .Lcloop.a: subo 4,g0,g0 # adjust max_byte counter
115 addo 1,g0,g0 # is max_bytes exhausted?
116 cmpobl g0,g2,.Lcloop # if not, loop. if so, Lexit (equality)
119 mov 0,g0
124 mov 1,g0
127 .neg: subi 1,0,g0
Dmemchr_ca.S98 addo g0,g2,g2 # compute ending address from start and len
99 and g0,3,g6 # extract byte offset of src
100 notand g0,3,g0 # extract word addr of start of src
102 ld (g0),g4 # fetch word containing at least first byte
119 lda 4(g0),g0 # pre-increment src word pointer
121 ld (g0),g4 # fetch next word of src
123 cmpoble.t g0,g2,Lsearch_for_word_with_char # branch if not null
126 mov 0,g0 # char not found. Return null
128 bx (g13) # g0 = addr of char in src (or null); g14 = 0
133 subo 4,g0,g0 # back up the byte pointer
[all …]
Dstrchr.S87 ld (g0),g4 # fetch first word
95 addo 4,g0,g0 # post-increment src pointer
101 ld (g0),g4 # fetch next word of src
104 addo 4,g0,g0 # post-increment src pointer
108 mov 0,g0 # char not found. Return null
110 bx (g13) # g0 = addr of char in src (or null); g14 = 0
115 subo 5,g0,g0 # back up the byte pointer
119 addo 1,g0,g0 # bump src byte ptr
Dmemccpy_ca.S99 notand g0,3,g4 # extract word addr of start of dest
105 cmpobe.t g0,g4,Lcase_1_setup # branch if dest word aligned
125 stob MSW,(g0) # store the byte in dest
127 lda 1(g0),g0 # post-increment dest ptr
132 cmpobne.t g1,g0,Lcase_3_cloop_at_start # branch if reached word boundary
155 st g1,(g0) # store 4 bytes to dest
156 addo 4,g0,g0 # post-increment dest ptr
170 st g1,(g0) # store 4 bytes to dest
171 addo 4,g0,g0 # post-increment dest ptr
175 subo 4,g0,g0 # store is pre-incrementing; back up dest addr
[all …]
Dstrchr_ca.S100 notand g0,3,g5 # extract word addr of start of src
102 and g0,3,g6 # extract byte offset of src
105 lda 4(g5),g0 # post-increment src word pointer
118 ld (g0),g4 # fetch next word of src
121 lda 4(g0),g0 # post-increment src word pointer
125 mov 0,g0 # char not found. Return null
127 bx (g13) # g0 = addr of char in src (or null); g14 = 0
132 subo 5,g0,g0 # back up the byte pointer
139 lda 1(g0),g0 # bump src byte ptr
Dstrncmp_ca.S115 notand g0,3,SRC1 # extract word addr of start of src1
120 cmpo g0,SRC1 # check alignment of src1
129 shlo 3,g0,g14 # compute shift count for src1
136 mov LSW,g0
139 cmpo SRC2,g0 # compare src1 and src2 words
146 scanbyte 0,g0 # check for null byte in src1 word
148 mov LSW,g0 # extract word of src1
159 shlo 3,g0,g14 # compute shift count for src1
169 mov LSW,g0
172 cmpo SRC2,g0 # compare src1 and src2 words
[all …]
Dmemccpy.S111 st g4, (g0) # store word to dest
112 addo 4, g0, g0 # post-increment dest pointer
128 stob g7,(g0) # store the byte
129 addo 1, g0, g0
137 mov 0, g0
140 bx (g13) # g0 = dest array address; g14 = 0
Dstrcmp.S89 ld (g0), g5 # fetch first word of source_1
94 addo 4,g0,g0 # post-increment source_1 byte ptr
101 ld (g0), g5 # fetch ahead next word of source_1
111 mov 0,g0 # return equality
116 mov 1,g0
118 .neg: subi 1,0,g0
Dmemcmp_ca.S115 subo 1,g0,SRC1
118 notand g0,3,SRC1 # extract word addr of start of src1
126 shlo 3,g0,g14 # compute shift count for src1
135 mov LSW,g0 # at least src2 is word aligned
140 cmpo SRC2,g0 # compare src1 and src2 words
148 eshro g14,g4,g0 # extract word of src1
155 mov LSW,g0 # restore extracted src1 word
164 and g0,g1,LSW # extract next char of src1
175 lda 0,g0 # return zero, indicating equality
186 mov 1,g0
[all …]
Dmemchr.S100 addo 4,g0,g6 # post-increment src word pointer
102 ld (g0),g4 # fetch first word
117 mov 0,g0 # char not found. Return null
118 bx (g13) # g0 = addr of char in src (or null); g14 = 0
124 and g5,g7,g0 # extract byte
125 cmpo g1,g0 # is it char?
129 subo 5,g6,g0 # back up the byte pointer
Dstrcmp_ca.S116 notand g0,3,g2 # extract word addr of start of src1
119 cmpo g0,g2 # check alignment of src1
145 lda 0,g0 # prepare to return zero, indicating equality
158 shlo 3,g0,g14 # compute shift count for src1
183 lda 0,g0 # prepare to return zero, indicating equality
201 and SRC1,g1,g0 # extract next char of src1
202 cmpobne.f g0,g3,.diff # check for equality
203 cmpo 0,g0 # check for null byte
214 bx (g13) # g0 = 0 (src1 == src2)
222 mov 1,g0
[all …]
Dstrdup.S59 mov g0,r3 # Keep a copy of the original string addr
61 addo 1,g0,g0 # Add one byte for the null byte at end
63 cmpo 0,g0
Dstrrchr.S93 ld (g0),g4 # fetch first word
101 addo 4,g0,g2 # post-increment src pointer
102 mov 1,g0 # prepare to return null pointer
114 subo 4,g2,g0 # save addr of byte after word with char
125 mov g2,g0 # save addr of byte after char
132 subo 1,g0,g0 # move pointer to that byte (or nullify)
135 bx (g13) # g0 = addr of char in src (or null); g14 = 0
Dstrlen.S88 ldl (g0),g4 # fetch first two words
89 addo 8,g0,g2 # post-increment src word pointer
114 subo g0,g2,g0 # calculate string length
115 bx (g13) # g0 = addr of src; g14 = 0
Dmemcpy.S111 cmpo g0,g1 # does start of dest overlap end of src?
114 concmpo g3,g0
115 addo g2, g0, g6
119 mov g0, g5
141 bx (g13) # g0 = dest array address; g14 = 0
153 cmpobe g6, g0, Lexit # quit if no more bytes to move
159 cmpobne g6, g0, Lcloop.a # quit if no more bytes to move
Dstrpbrk.S81 ldob (g0),g7 # fetch next character of string
92 addo 1,g0,g0 # check next character of string
96 mov 0,g0 # return null if brkset char not found in string
Dstrcspn.S71 lda (g0),g3 # copy string pointer
91 subo g0,g3,g0 # compute string length
Dstrlen_ca.S92 notand g0,3,g2 # extract word addr of start of src
94 and g0,3,g7 # extract byte offset of src
143 subo g0,g2,g0 # calculate string length
144 bx (g13) # g0 = addr of src; g14 = 0
Dstrcpy.S122 ldl (g0),g4 # fetch first two words
123 addo 8,g0,g2 # post-increment src word pointer
154 mov g0, g5
177 bx (g6) # g0 = dest string address; g14 = 0
Dmemset.S76 notand g0,7,g3 # test for non-aligned dest_ptr
79 lda (g0),g6 # preserve dest_ptr for return
82 cmpo g3,g0 # is dest longword aligned
Dmemcpy_ca.S118 cmpo g0,g1 # if dest starts earlier than src ...
122 concmpo g5,g0 # ... or if dest starts after end of src ...
127 notand g0,3,g4 # extract word addr of start of dest
132 cmpo g0,g4 # check alignment of dest
138 lda (g0),g1 # copy dest byte ptr
201 bx (g13) # g0 = addr of dest; g14 = 0
207 cmpo g0,g4 # check alignment of dest
216 cmpo g0,g1 # < indicates first word of dest has more bytes
219 lda (g0),g1
236 addo g2,g0,g1 # compute addr of byte after end of dest
[all …]
Dstrncat.S98 mov g0, g5
136 bx (g6) # g0 = dest string address; g14 = 0
152 bx (g6) # g0 = dest string address; g14 = 0
Dstrncpy_ca.S118 notand g0,3,g4 # extract word addr of start of dest
123 cmpo g0,g4 # check alignment of dest
162 bx (g13) # g0 = addr of dest; g14 = 0
197 lda (g0),g1 # copy dest byte ptr
265 cmpo g0,g4 # check alignment of dest
277 cmpo g0,g1 # < indicates first word of dest has more bytes
281 lda (g0),g1

12