Lines Matching refs:a3
85 add a7, a3, a4 # a7 = end address for source
88 l8ui a6, a3, 0
89 addi a3, a3, 1
93 bne a3, a7, .Lnextbyte # continue loop if $a3:src != $a7:src_end
107 l8ui a6, a3, 0
108 addi a3, a3, 1
117 l8ui a6, a3, 0
118 l8ui a7, a3, 1
119 addi a3, a3, 2
132 # a2/ dst, a3/ src, a4/ len
141 _bany a3, a8, .Lsrcunaligned # then use shifting copy
151 add a8, a8, a3 # a8 = end of last 16B source chunk
154 l32i a6, a3, 0
155 l32i a7, a3, 4
157 l32i a6, a3, 8
159 l32i a7, a3, 12
161 addi a3, a3, 16
165 bne a3, a8, .Loop1 # continue loop if a3:src != a8:src_end
170 l32i a6, a3, 0
171 l32i a7, a3, 4
172 addi a3, a3, 8
183 l32i a6, a3, 0
184 addi a3, a3, 4
192 l16ui a6, a3, 0
193 addi a3, a3, 2
200 l8ui a6, a3, 0
212 ssa8 a3 # set shift amount from byte offset
218 and a11, a3, a8 # save unalignment offset for below
219 sub a3, a3, a11 # align a3
221 l32i a6, a3, 0 # load first word
227 add a10, a10, a3 # a10 = end of last 16B source chunk
230 l32i a7, a3, 4
231 l32i a8, a3, 8
234 l32i a9, a3, 12
237 l32i a6, a3, 16
240 addi a3, a3, 16
245 bne a3, a10, .Loop2 # continue loop if a3:src != a10:src_end
250 l32i a7, a3, 4
251 l32i a8, a3, 8
254 addi a3, a3, 8
262 l32i a7, a3, 4
263 addi a3, a3, 4
270 add a3, a3, a11 # readjust a3 with correct misalignment
277 l8ui a6, a3, 0
278 l8ui a7, a3, 1
279 addi a3, a3, 2
287 l8ui a6, a3, 0
300 # a2=src, a3=dst, a4=len
301 mov a5, a3
302 mov a3, a2
351 sub a7, a3, a4 # a7 = start address for source
354 addi a3, a3, -1
355 l8ui a6, a3, 0
359 bne a3, a7, .Lbacknextbyte # continue loop if
360 # $a3:src != $a7:src_start
374 addi a3, a3, -1
375 l8ui a6, a3, 0
384 addi a3, a3, -2
385 l8ui a6, a3, 0
386 l8ui a7, a3, 1
400 # a2/ dst, a3/ src, a4/ len
403 sub a6, a5, a3
407 add a3, a3, a4
415 _bany a3, a8, .Lbacksrcunaligned # then use shifting copy
425 sub a8, a3, a8 # a8 = start of first 16B source chunk
428 addi a3, a3, -16
429 l32i a7, a3, 12
430 l32i a6, a3, 8
433 l32i a7, a3, 4
435 l32i a6, a3, 0
439 bne a3, a8, .backLoop1 # continue loop if a3:src != a8:src_start
444 addi a3, a3, -8
445 l32i a6, a3, 0
446 l32i a7, a3, 4
457 addi a3, a3, -4
458 l32i a6, a3, 0
466 addi a3, a3, -2
467 l16ui a6, a3, 0
474 addi a3, a3, -1
475 l8ui a6, a3, 0
488 ssa8 a3 # set shift amount from byte offset
493 and a11, a3, a8 # save unalignment offset for below
494 sub a3, a3, a11 # align a3
496 l32i a6, a3, 0 # load first word
502 sub a10, a3, a10 # a10 = start of first 16B source chunk
505 addi a3, a3, -16
506 l32i a7, a3, 12
507 l32i a8, a3, 8
511 l32i a9, a3, 4
514 l32i a6, a3, 0
520 bne a3, a10, .backLoop2 # continue loop if a3:src != a10:src_start
525 addi a3, a3, -8
526 l32i a7, a3, 4
527 l32i a8, a3, 0
537 addi a3, a3, -4
538 l32i a7, a3, 0
545 add a3, a3, a11 # readjust a3 with correct misalignment
553 addi a3, a3, -2
554 l8ui a6, a3, 0
555 l8ui a7, a3, 1
563 addi a3, a3, -1
565 l8ui a6, a3, 0