diff options
Diffstat (limited to 'arch/arm/lib/csumpartialcopygeneric.S')
-rw-r--r-- | arch/arm/lib/csumpartialcopygeneric.S | 96 |
1 files changed, 48 insertions, 48 deletions
diff --git a/arch/arm/lib/csumpartialcopygeneric.S b/arch/arm/lib/csumpartialcopygeneric.S index d620a5f22a09..d6e742d24007 100644 --- a/arch/arm/lib/csumpartialcopygeneric.S +++ b/arch/arm/lib/csumpartialcopygeneric.S | |||
@@ -141,7 +141,7 @@ FN_ENTRY | |||
141 | tst len, #2 | 141 | tst len, #2 |
142 | mov r5, r4, get_byte_0 | 142 | mov r5, r4, get_byte_0 |
143 | beq .Lexit | 143 | beq .Lexit |
144 | adcs sum, sum, r4, push #16 | 144 | adcs sum, sum, r4, lspush #16 |
145 | strb r5, [dst], #1 | 145 | strb r5, [dst], #1 |
146 | mov r5, r4, get_byte_1 | 146 | mov r5, r4, get_byte_1 |
147 | strb r5, [dst], #1 | 147 | strb r5, [dst], #1 |
@@ -171,23 +171,23 @@ FN_ENTRY | |||
171 | cmp ip, #2 | 171 | cmp ip, #2 |
172 | beq .Lsrc2_aligned | 172 | beq .Lsrc2_aligned |
173 | bhi .Lsrc3_aligned | 173 | bhi .Lsrc3_aligned |
174 | mov r4, r5, pull #8 @ C = 0 | 174 | mov r4, r5, lspull #8 @ C = 0 |
175 | bics ip, len, #15 | 175 | bics ip, len, #15 |
176 | beq 2f | 176 | beq 2f |
177 | 1: load4l r5, r6, r7, r8 | 177 | 1: load4l r5, r6, r7, r8 |
178 | orr r4, r4, r5, push #24 | 178 | orr r4, r4, r5, lspush #24 |
179 | mov r5, r5, pull #8 | 179 | mov r5, r5, lspull #8 |
180 | orr r5, r5, r6, push #24 | 180 | orr r5, r5, r6, lspush #24 |
181 | mov r6, r6, pull #8 | 181 | mov r6, r6, lspull #8 |
182 | orr r6, r6, r7, push #24 | 182 | orr r6, r6, r7, lspush #24 |
183 | mov r7, r7, pull #8 | 183 | mov r7, r7, lspull #8 |
184 | orr r7, r7, r8, push #24 | 184 | orr r7, r7, r8, lspush #24 |
185 | stmia dst!, {r4, r5, r6, r7} | 185 | stmia dst!, {r4, r5, r6, r7} |
186 | adcs sum, sum, r4 | 186 | adcs sum, sum, r4 |
187 | adcs sum, sum, r5 | 187 | adcs sum, sum, r5 |
188 | adcs sum, sum, r6 | 188 | adcs sum, sum, r6 |
189 | adcs sum, sum, r7 | 189 | adcs sum, sum, r7 |
190 | mov r4, r8, pull #8 | 190 | mov r4, r8, lspull #8 |
191 | sub ip, ip, #16 | 191 | sub ip, ip, #16 |
192 | teq ip, #0 | 192 | teq ip, #0 |
193 | bne 1b | 193 | bne 1b |
@@ -196,50 +196,50 @@ FN_ENTRY | |||
196 | tst ip, #8 | 196 | tst ip, #8 |
197 | beq 3f | 197 | beq 3f |
198 | load2l r5, r6 | 198 | load2l r5, r6 |
199 | orr r4, r4, r5, push #24 | 199 | orr r4, r4, r5, lspush #24 |
200 | mov r5, r5, pull #8 | 200 | mov r5, r5, lspull #8 |
201 | orr r5, r5, r6, push #24 | 201 | orr r5, r5, r6, lspush #24 |
202 | stmia dst!, {r4, r5} | 202 | stmia dst!, {r4, r5} |
203 | adcs sum, sum, r4 | 203 | adcs sum, sum, r4 |
204 | adcs sum, sum, r5 | 204 | adcs sum, sum, r5 |
205 | mov r4, r6, pull #8 | 205 | mov r4, r6, lspull #8 |
206 | tst ip, #4 | 206 | tst ip, #4 |
207 | beq 4f | 207 | beq 4f |
208 | 3: load1l r5 | 208 | 3: load1l r5 |
209 | orr r4, r4, r5, push #24 | 209 | orr r4, r4, r5, lspush #24 |
210 | str r4, [dst], #4 | 210 | str r4, [dst], #4 |
211 | adcs sum, sum, r4 | 211 | adcs sum, sum, r4 |
212 | mov r4, r5, pull #8 | 212 | mov r4, r5, lspull #8 |
213 | 4: ands len, len, #3 | 213 | 4: ands len, len, #3 |
214 | beq .Ldone | 214 | beq .Ldone |
215 | mov r5, r4, get_byte_0 | 215 | mov r5, r4, get_byte_0 |
216 | tst len, #2 | 216 | tst len, #2 |
217 | beq .Lexit | 217 | beq .Lexit |
218 | adcs sum, sum, r4, push #16 | 218 | adcs sum, sum, r4, lspush #16 |
219 | strb r5, [dst], #1 | 219 | strb r5, [dst], #1 |
220 | mov r5, r4, get_byte_1 | 220 | mov r5, r4, get_byte_1 |
221 | strb r5, [dst], #1 | 221 | strb r5, [dst], #1 |
222 | mov r5, r4, get_byte_2 | 222 | mov r5, r4, get_byte_2 |
223 | b .Lexit | 223 | b .Lexit |
224 | 224 | ||
225 | .Lsrc2_aligned: mov r4, r5, pull #16 | 225 | .Lsrc2_aligned: mov r4, r5, lspull #16 |
226 | adds sum, sum, #0 | 226 | adds sum, sum, #0 |
227 | bics ip, len, #15 | 227 | bics ip, len, #15 |
228 | beq 2f | 228 | beq 2f |
229 | 1: load4l r5, r6, r7, r8 | 229 | 1: load4l r5, r6, r7, r8 |
230 | orr r4, r4, r5, push #16 | 230 | orr r4, r4, r5, lspush #16 |
231 | mov r5, r5, pull #16 | 231 | mov r5, r5, lspull #16 |
232 | orr r5, r5, r6, push #16 | 232 | orr r5, r5, r6, lspush #16 |
233 | mov r6, r6, pull #16 | 233 | mov r6, r6, lspull #16 |
234 | orr r6, r6, r7, push #16 | 234 | orr r6, r6, r7, lspush #16 |
235 | mov r7, r7, pull #16 | 235 | mov r7, r7, lspull #16 |
236 | orr r7, r7, r8, push #16 | 236 | orr r7, r7, r8, lspush #16 |
237 | stmia dst!, {r4, r5, r6, r7} | 237 | stmia dst!, {r4, r5, r6, r7} |
238 | adcs sum, sum, r4 | 238 | adcs sum, sum, r4 |
239 | adcs sum, sum, r5 | 239 | adcs sum, sum, r5 |
240 | adcs sum, sum, r6 | 240 | adcs sum, sum, r6 |
241 | adcs sum, sum, r7 | 241 | adcs sum, sum, r7 |
242 | mov r4, r8, pull #16 | 242 | mov r4, r8, lspull #16 |
243 | sub ip, ip, #16 | 243 | sub ip, ip, #16 |
244 | teq ip, #0 | 244 | teq ip, #0 |
245 | bne 1b | 245 | bne 1b |
@@ -248,20 +248,20 @@ FN_ENTRY | |||
248 | tst ip, #8 | 248 | tst ip, #8 |
249 | beq 3f | 249 | beq 3f |
250 | load2l r5, r6 | 250 | load2l r5, r6 |
251 | orr r4, r4, r5, push #16 | 251 | orr r4, r4, r5, lspush #16 |
252 | mov r5, r5, pull #16 | 252 | mov r5, r5, lspull #16 |
253 | orr r5, r5, r6, push #16 | 253 | orr r5, r5, r6, lspush #16 |
254 | stmia dst!, {r4, r5} | 254 | stmia dst!, {r4, r5} |
255 | adcs sum, sum, r4 | 255 | adcs sum, sum, r4 |
256 | adcs sum, sum, r5 | 256 | adcs sum, sum, r5 |
257 | mov r4, r6, pull #16 | 257 | mov r4, r6, lspull #16 |
258 | tst ip, #4 | 258 | tst ip, #4 |
259 | beq 4f | 259 | beq 4f |
260 | 3: load1l r5 | 260 | 3: load1l r5 |
261 | orr r4, r4, r5, push #16 | 261 | orr r4, r4, r5, lspush #16 |
262 | str r4, [dst], #4 | 262 | str r4, [dst], #4 |
263 | adcs sum, sum, r4 | 263 | adcs sum, sum, r4 |
264 | mov r4, r5, pull #16 | 264 | mov r4, r5, lspull #16 |
265 | 4: ands len, len, #3 | 265 | 4: ands len, len, #3 |
266 | beq .Ldone | 266 | beq .Ldone |
267 | mov r5, r4, get_byte_0 | 267 | mov r5, r4, get_byte_0 |
@@ -276,24 +276,24 @@ FN_ENTRY | |||
276 | load1b r5 | 276 | load1b r5 |
277 | b .Lexit | 277 | b .Lexit |
278 | 278 | ||
279 | .Lsrc3_aligned: mov r4, r5, pull #24 | 279 | .Lsrc3_aligned: mov r4, r5, lspull #24 |
280 | adds sum, sum, #0 | 280 | adds sum, sum, #0 |
281 | bics ip, len, #15 | 281 | bics ip, len, #15 |
282 | beq 2f | 282 | beq 2f |
283 | 1: load4l r5, r6, r7, r8 | 283 | 1: load4l r5, r6, r7, r8 |
284 | orr r4, r4, r5, push #8 | 284 | orr r4, r4, r5, lspush #8 |
285 | mov r5, r5, pull #24 | 285 | mov r5, r5, lspull #24 |
286 | orr r5, r5, r6, push #8 | 286 | orr r5, r5, r6, lspush #8 |
287 | mov r6, r6, pull #24 | 287 | mov r6, r6, lspull #24 |
288 | orr r6, r6, r7, push #8 | 288 | orr r6, r6, r7, lspush #8 |
289 | mov r7, r7, pull #24 | 289 | mov r7, r7, lspull #24 |
290 | orr r7, r7, r8, push #8 | 290 | orr r7, r7, r8, lspush #8 |
291 | stmia dst!, {r4, r5, r6, r7} | 291 | stmia dst!, {r4, r5, r6, r7} |
292 | adcs sum, sum, r4 | 292 | adcs sum, sum, r4 |
293 | adcs sum, sum, r5 | 293 | adcs sum, sum, r5 |
294 | adcs sum, sum, r6 | 294 | adcs sum, sum, r6 |
295 | adcs sum, sum, r7 | 295 | adcs sum, sum, r7 |
296 | mov r4, r8, pull #24 | 296 | mov r4, r8, lspull #24 |
297 | sub ip, ip, #16 | 297 | sub ip, ip, #16 |
298 | teq ip, #0 | 298 | teq ip, #0 |
299 | bne 1b | 299 | bne 1b |
@@ -302,20 +302,20 @@ FN_ENTRY | |||
302 | tst ip, #8 | 302 | tst ip, #8 |
303 | beq 3f | 303 | beq 3f |
304 | load2l r5, r6 | 304 | load2l r5, r6 |
305 | orr r4, r4, r5, push #8 | 305 | orr r4, r4, r5, lspush #8 |
306 | mov r5, r5, pull #24 | 306 | mov r5, r5, lspull #24 |
307 | orr r5, r5, r6, push #8 | 307 | orr r5, r5, r6, lspush #8 |
308 | stmia dst!, {r4, r5} | 308 | stmia dst!, {r4, r5} |
309 | adcs sum, sum, r4 | 309 | adcs sum, sum, r4 |
310 | adcs sum, sum, r5 | 310 | adcs sum, sum, r5 |
311 | mov r4, r6, pull #24 | 311 | mov r4, r6, lspull #24 |
312 | tst ip, #4 | 312 | tst ip, #4 |
313 | beq 4f | 313 | beq 4f |
314 | 3: load1l r5 | 314 | 3: load1l r5 |
315 | orr r4, r4, r5, push #8 | 315 | orr r4, r4, r5, lspush #8 |
316 | str r4, [dst], #4 | 316 | str r4, [dst], #4 |
317 | adcs sum, sum, r4 | 317 | adcs sum, sum, r4 |
318 | mov r4, r5, pull #24 | 318 | mov r4, r5, lspull #24 |
319 | 4: ands len, len, #3 | 319 | 4: ands len, len, #3 |
320 | beq .Ldone | 320 | beq .Ldone |
321 | mov r5, r4, get_byte_0 | 321 | mov r5, r4, get_byte_0 |
@@ -326,7 +326,7 @@ FN_ENTRY | |||
326 | load1l r4 | 326 | load1l r4 |
327 | mov r5, r4, get_byte_0 | 327 | mov r5, r4, get_byte_0 |
328 | strb r5, [dst], #1 | 328 | strb r5, [dst], #1 |
329 | adcs sum, sum, r4, push #24 | 329 | adcs sum, sum, r4, lspush #24 |
330 | mov r5, r4, get_byte_1 | 330 | mov r5, r4, get_byte_1 |
331 | b .Lexit | 331 | b .Lexit |
332 | FN_EXIT | 332 | FN_EXIT |