Lines Matching refs:r4
21 * ip_fast_csum(r3=buf, r4=len) -- Optimized for IP header
30 addic. r4,r4,-2
32 mtctr r4
34 1: lwzu r4,4(r3)
35 adde r0,r0,r4
38 rldicl r4,r0,32,0 /* fold two 32-bit halves together */
39 add r0,r0,r4
49 * csum_tcpudp_magic(r3=saddr, r4=daddr, r5=len, r6=proto, r7=sum)
56 addc r0,r3,r4 /* add 4 32-bit words together */
59 rldicl r4,r0,32,0 /* fold 64 bit value */
60 add r0,r4,r0
75 * csum_partial(r3=buff, r4=len, r5=sum)
79 srdi. r6,r4,3 /* divide by 8 for doubleword count */
86 subi r4,r4,2
88 srdi. r6,r4,3 /* recompute number of doublewords */
94 andi. r4,r4,7 /* compute bytes left to sum after doublewords */
95 3: cmpwi 0,r4,4 /* is at least a full word left? */
99 subi r4,r4,4
101 4: cmpwi 0,r4,2 /* is at least a halfword left? */
105 subi r4,r4,2
107 5: cmpwi 0,r4,1 /* is at least a byte left? */
113 rldicl r4,r5,32,0 /* fold two 32-bit halves together */
114 add r3,r4,r5
129 * csum_partial_copy_generic(r3=src, r4=dst, r5=len, r6=sum, r7=src_err, r8=dst_err)
134 subi r4,r4,4
137 andi. r9,r4,2 /* Align dst to longword boundary */
142 91: sth r6,4(r4)
143 addi r4,r4,2
149 92: stwu r6,4(r4) /* be unnecessary to unroll this loop */
158 93: sth r6,4(r4)
159 addi r4,r4,2
164 94: stb r6,4(r4)
168 rldicl r4,r3,32,0 /* fold 64 bit value */
169 add r3,r4,r3
180 95: sth r6,4(r4)
181 addi r4,r4,2
188 96: stwu r6,4(r4)
196 addi r4,r4,3
197 97: stbu r6,1(r4)