Lines Matching +full:0 +full:- +full:9 +full:a +full:- +full:f

35  * computes a partial checksum, e.g. for TCP/UDP fragments
46 * is aligned on either a 2-byte or 4-byte boundary. We get at
47 * least a twofold speedup on 486 and Pentium if it is 4-byte aligned.
48 * Fortunately, it is easy to convert 2-byte alignment to 4-byte
53 bt/s 2f ! Jump if alignment is ok.
54 mov r4, r7 ! Keep a copy to check for alignment
57 bt 21f ! Jump if alignment is boundary of 2bytes.
61 add #-1, r5
62 bt 9f
65 addc r0, r6 ! t=0 from previous tst
73 bt 2f
75 ! buf is 2 byte aligned (len could be 0)
76 add #-2, r5 ! Alignment uses up two bytes.
78 bt/s 1f ! Jump if we had at least two bytes.
80 bra 6f
86 bf 2f
89 ! buf is 4 byte aligned (len could be 0)
91 mov #-5, r0
94 bt/s 4f ! if it's =0, go to 4f
118 ! here, we know r1==0
122 and #0x1c, r0
124 bt 6f
128 mov #0, r2
137 addc r1, r6 ! r1==0 here, so it means add carry-bit
143 bt 9f ! if it's =0 go to 9f
146 bf 7f
150 bt/s 8f
162 mov #0, r0
164 9:
168 bt 10f
187 * thus we can call a custom exception handler for all access types.
189 * FIXME: could someone double-check whether I haven't mixed up some SRC and
196 .section __ex_table, "a"; \
197 .long 9999b, 6001f ; \
202 .section __ex_table, "a"; \
203 .long 9999b, 6002f ; \
217 mov.l r5,@-r15
218 mov.l r6,@-r15
225 bf 3f ! Different alignments, use slow version
227 bf 3f ! If not, do it the slow way
231 bt 2f ! Jump if alignment is ok.
232 add #-2,r6 ! Alignment uses up two bytes.
234 bt/s 1f
237 bra 4f
245 bt 4f
269 mov #0,r0
274 bt 7f
275 bra 5f
278 ! src and dest equally aligned, but to a two byte boundary.
279 ! Handle first two bytes as a special case
287 mov #0,r0
291 mov #-5,r0
294 bt/s 2f
330 mov #0,r0
334 mov #0x1c,r0
337 bf/s 4f
349 mov #0,r0
355 bf 7f
358 bf 5f
364 bt/s 6f
376 mov #0,r0
386 mov #-EFAULT,r1
389 ! zero the complete destination - computing the rest
393 mov #0,r7
398 mov.l 8000f,r0
406 mov #-EFAULT,r1
408 mov.l 8001f,r0