Lines Matching +full:byte +full:- +full:len
8 * of the Xtensa link-time HAL, and those files may differ per
11 * could lose the special functionality for accessing user-space
24 * size_t __xtensa_copy_user (void *dst, const void *src, size_t len);
37 * This code tries to use fall-through braches for the common
64 # a2/ dst, a3/ src, a4/ len
66 mov a11, a4 # preserve original len for error case
75 __ssa8 a3 # set shift amount from byte offset
77 movi a2, 0 # return success for len==0
84 .Ldst1mod2: # dst is only byte aligned
85 bltui a4, 7, .Lbytecopy # do short copies byte by byte
87 # copy 1 byte
92 addi a4, a4, -1
95 .Ldst2mod4: # dst 16-bit aligned
97 bltui a4, 6, .Lbytecopy # do short copies byte by byte
104 addi a4, a4, -2
108 * Byte by byte copy
111 .byte 0 # 1 mod 4 alignment for LOOPNEZ
129 movi a2, 0 # return success for len bytes copied
133 * Destination and source are word-aligned.
135 # copy 16 bytes per iteration for word-aligned dst and word-aligned src
137 .byte 0 # (0 mod 4 alignment for LBEG)
185 # copy 1 byte
189 movi a2, 0 # return success for len bytes copied
197 .byte 0 # 1 mod 4 alignement for LOOPNEZ
200 # copy 16 bytes per iteration for word-aligned dst and unaligned src
262 # copy 1 byte
266 movi a2, 0 # return success for len bytes copied
274 /* a2 = original dst; a5 = current dst; a11= original len
275 * bytes_copied = a5 - a2
276 * retval = bytes_not_copied = original len - bytes_copied
277 * retval = a11 - (a5 - a2)
282 sub a2, a5, a2 /* a2 <-- bytes copied */
283 sub a2, a11, a2 /* a2 <-- bytes not copied */