Lines Matching +full:mod +full:- +full:12 +full:b
8 * of the Xtensa link-time HAL, and those files may differ per
11 * could lose the special functionality for accessing user-space
31 * do 16B chunks with a loop, and then finish up with
32 * 8B, 4B, 2B, and 1B copies conditional on the length.
36 * copying 1B and 2B and then retest.
37 * This code tries to use fall-through braches for the common
73 bbsi.l a2, 0, .Ldst1mod2 # if dst is 1 mod 2
74 bbsi.l a2, 1, .Ldst2mod4 # if dst is 2 mod 4
76 srli a7, a4, 4 # number of loop iterations with 16B
97 addi a4, a4, -1
100 .Ldst2mod4: # dst 16-bit aligned
109 addi a4, a4, -2
116 .byte 0 # 1 mod 4 alignment for LOOPNEZ
117 # (0 mod 4 alignment for LBEG)
138 * Destination and source are word-aligned.
140 # copy 16 bytes per iteration for word-aligned dst and word-aligned src
141 .align 4 # 1 mod 4 alignment for LOOPNEZ
142 .byte 0 # (0 mod 4 alignment for LBEG)
149 add a8, a8, a3 # a8 = end of last 16B source chunk
157 EX(10f) l32i a7, a3, 12
160 EX(10f) s32i a7, a5, 12
202 .byte 0 # 1 mod 4 alignement for LOOPNEZ
203 # (0 mod 4 alignment for LBEG)
205 # copy 16 bytes per iteration for word-aligned dst and unaligned src
216 add a10, a10, a3 # a10 = end of last 16B source chunk
219 add a12, a12, a3 # a12 = end of last 16B source chunk
227 EX(10f) l32i a9, a3, 12
235 EX(10f) s32i a9, a5, 12
292 * bytes_copied = a5 - a2
293 * retval = bytes_not_copied = original len - bytes_copied
294 * retval = a11 - (a5 - a2)
299 sub a2, a5, a2 /* a2 <-- bytes copied */
300 sub a2, a11, a2 /* a2 <-- bytes not copied */