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
69 # a2/ dst, a3/ src, a4/ len
71 mov a11, a4 # preserve original len for error case
80 __ssa8 a3 # set shift amount from byte offset
82 movi a2, 0 # return success for len==0
89 .Ldst1mod2: # dst is only byte aligned
90 bltui a4, 7, .Lbytecopy # do short copies byte by byte
92 # copy 1 byte
97 addi a4, a4, -1
100 .Ldst2mod4: # dst 16-bit aligned
102 bltui a4, 6, .Lbytecopy # do short copies byte by byte
109 addi a4, a4, -2
113 * Byte by byte copy
116 .byte 0 # 1 mod 4 alignment for LOOPNEZ
134 movi a2, 0 # return success for len bytes copied
138 * Destination and source are word-aligned.
140 # copy 16 bytes per iteration for word-aligned dst and word-aligned src
142 .byte 0 # (0 mod 4 alignment for LBEG)
190 # copy 1 byte
194 movi a2, 0 # return success for len bytes copied
202 .byte 0 # 1 mod 4 alignement for LOOPNEZ
205 # copy 16 bytes per iteration for word-aligned dst and unaligned src
278 # copy 1 byte
282 movi a2, 0 # return success for len bytes copied
291 /* a2 = original dst; a5 = current dst; a11= original len
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 */