Lines Matching +full:2 +full:f

29  * This function assumes 2- or 4-byte alignment.  Other alignments will fail!
35 bgeu sum, val, 99f ; \
44 * is aligned on either a 2-byte or 4-byte boundary.
47 extui a5, a2, 0, 2
48 bnez a5, 8f /* branch if 2-byte aligned */
53 loopgtz a5, 2f
55 beqz a5, 2f
80 2:
81 extui a5, a3, 2, 3 /* remaining 4-byte chunks */
83 loopgtz a5, 3f
85 beqz a5, 3f
86 slli a5, a5, 2
97 _bbci.l a3, 1, 5f /* remaining 2-byte chunk */
100 addi a2, a2, 2
102 _bbci.l a3, 0, 7f /* remaining 1-byte chunk */
112 /* uncommon case, buf is 2-byte aligned */
118 bnez a5, 8f /* branch if 1-byte aligned */
120 l16ui a6, a2, 0 /* common case, len >= 2 */
122 addi a2, a2, 2 /* adjust buf */
123 addi a3, a3, -2 /* adjust len */
131 srli a5, a3, 2 /* 4-byte chunks */
133 loopgtz a5, 2f
135 beqz a5, 2f
136 slli a5, a5, 2
156 2:
157 _bbci.l a3, 1, 3f /* remaining 2-byte chunk, still odd addr */
167 addi a2, a2, 2
204 extui a9, a10, 0, 2
205 beqz a9, 1f /* branch if both are 4-byte aligned */
206 bbsi.l a10, 0, 5f /* branch if one address is odd */
207 j 3f /* one address is 2-byte aligned */
209 /* _bbsi.l a10, 0, 5f */ /* branch if odd address */
210 /* _bbsi.l a10, 1, 3f */ /* branch if 2-byte-aligned address */
216 loopgtz a10, 2f
218 beqz a10, 2f
223 EX(10f) l32i a9, a2, 0
224 EX(10f) l32i a8, a2, 4
225 EX(10f) s32i a9, a3, 0
226 EX(10f) s32i a8, a3, 4
229 EX(10f) l32i a9, a2, 8
230 EX(10f) l32i a8, a2, 12
231 EX(10f) s32i a9, a3, 8
232 EX(10f) s32i a8, a3, 12
235 EX(10f) l32i a9, a2, 16
236 EX(10f) l32i a8, a2, 20
237 EX(10f) s32i a9, a3, 16
238 EX(10f) s32i a8, a3, 20
241 EX(10f) l32i a9, a2, 24
242 EX(10f) l32i a8, a2, 28
243 EX(10f) s32i a9, a3, 24
244 EX(10f) s32i a8, a3, 28
252 2:
253 extui a10, a4, 2, 3 /* remaining 4-byte chunks */
254 extui a4, a4, 0, 2 /* reset len for general-case, 2-byte chunks */
256 loopgtz a10, 3f
258 beqz a10, 3f
259 slli a10, a10, 2
263 EX(10f) l32i a9, a2, 0
264 EX(10f) s32i a9, a3, 0
275 one 2-byte chunk. (2) It branches to here from above if
276 either src or dst is 2-byte aligned, and we process all bytes
285 srli a10, a4, 1 /* 2-byte chunks */
287 loopgtz a10, 4f
289 beqz a10, 4f
291 add a10, a10, a2 /* a10 = end of last 2-byte src chunk */
294 EX(10f) l16ui a9, a2, 0
295 EX(10f) s16i a9, a3, 0
297 addi a2, a2, 2
298 addi a3, a3, 2
304 _bbci.l a4, 0, 8f /* 1-byte chunk */
305 EX(10f) l8ui a9, a2, 0
306 EX(10f) s8i a9, a3, 0
322 loopgtz a10, 6f
324 beqz a10, 6f
326 add a10, a10, a2 /* a10 = end of last odd-aligned, 2-byte src chunk */
329 EX(10f) l8ui a9, a2, 0
330 EX(10f) l8ui a8, a2, 1
331 EX(10f) s8i a9, a3, 0
332 EX(10f) s8i a8, a3, 1
340 addi a2, a2, 2
341 addi a3, a3, 2