Lines Matching +full:3 +full:- +full:byte

8  *  Returns: -EFAULT if exception before terminator, N if the entire
56 movi a5, MASK0 # mask for byte 0
57 movi a6, MASK1 # mask for byte 1
58 movi a7, MASK2 # mask for byte 2
59 movi a8, MASK3 # mask for byte 3
60 bbsi.l a3, 0, .Lsrc1mod2 # if only 8-bit aligned
61 bbsi.l a3, 1, .Lsrc2mod4 # if only 16-bit aligned
62 .Lsrcaligned: # return here when src is word-aligned
64 movi a9, 3
69 EX(11f) l8ui a9, a3, 0 # get byte 0
71 EX(10f) s8i a9, a11, 0 # store byte 0
72 beqz a9, .Lret # if byte 0 is zero
74 addi a4, a4, -1 # decrement len
76 bbci.l a3, 1, .Lsrcaligned # if src is now word-aligned
79 EX(11f) l8ui a9, a3, 0 # get byte 0
80 /* 1-cycle interlock */
81 EX(10f) s8i a9, a11, 0 # store byte 0
82 beqz a9, .Lret # if byte 0 is zero
84 addi a4, a4, -1 # decrement len
86 EX(11f) l8ui a9, a3, 1 # get byte 0
88 EX(10f) s8i a9, a11, 0 # store byte 0
89 beqz a9, .Lret # if byte 0 is zero
91 addi a4, a4, -1 # decrement len
98 * dst is word-aligned, src is word-aligned
101 .byte 0 # (0 mod 4 alignment for LBEG)
113 bnone a9, a5, .Lz0 # if byte 0 is zero
114 bnone a9, a6, .Lz1 # if byte 1 is zero
115 bnone a9, a7, .Lz2 # if byte 2 is zero
117 bnone a9, a8, .Lz3 # if byte 3 is zero
129 bnone a9, a7, .Lz0 # if byte 2 is zero
130 bnone a9, a8, .Lz1 # if byte 3 is zero
132 bnone a9, a5, .Lz0 # if byte 0 is zero
133 bnone a9, a6, .Lz1 # if byte 1 is zero
142 beqz a9, .Lret # if byte is zero
143 addi a11, a11, 1-3 # advance dst ptr 1, but also cancel
144 # the effect of adding 3 in .Lz3 code
147 .Lz3: # byte 3 is zero
148 addi a11, a11, 3 # advance dst pointer
151 .Lz0: # byte 0 is zero
158 .Lz1: # byte 1 is zero
166 .Lz2: # byte 2 is zero
178 .byte 0 # (0 mod 4 alignment for LBEG)
181 * for now just use byte copy loop
209 /* For now, just return -EFAULT. Future implementations might
216 movi a2, -EFAULT