Lines Matching +full:2 +full:- +full:4

2 @ SPDX-License-Identifier: GPL-2.0
7 @ Public License version 2 as published by the Free Software Foundation.
23 @ Size/performance trade-off
28 @ armv4-small 392/+29% 1958/+64% 2250/+96%
29 @ armv4-compact 740/+89% 1552/+26% 1840/+22%
30 @ armv4-large 1420/+92% 1307/+19% 1370/+34%[***]
31 @ full unroll ~5100/+260% ~1260/+4% ~1300/+5%
42 @ i-cache availability, branch penalties, etc.
49 @ [***] which is also ~35% better than compiler generated code. Dual-
55 @ Rescheduling for dual-issue pipeline resulted in 13% improvement on
61 @ Profiler-assisted and platform-specific optimization resulted in 10%
68 .align 2
70 stmdb sp!,{r4-r12,lr}
76 sub sp,sp,#15*4
82 ldrb r10,[r1,#2]
85 add r7,r8,r7,ror#2 @ E+=K_00_19
86 ldrb r12,[r1],#4
93 ldr r9,[r1],#4 @ handles unaligned
94 add r7,r8,r7,ror#2 @ E+=K_00_19
101 and r10,r4,r10,ror#2
103 eor r10,r10,r6,ror#2 @ F_00_19(B,C,D)
104 str r9,[r14,#-4]!
107 ldrb r10,[r1,#2]
110 add r6,r8,r6,ror#2 @ E+=K_00_19
111 ldrb r12,[r1],#4
118 ldr r9,[r1],#4 @ handles unaligned
119 add r6,r8,r6,ror#2 @ E+=K_00_19
126 and r10,r3,r10,ror#2
128 eor r10,r10,r5,ror#2 @ F_00_19(B,C,D)
129 str r9,[r14,#-4]!
132 ldrb r10,[r1,#2]
135 add r5,r8,r5,ror#2 @ E+=K_00_19
136 ldrb r12,[r1],#4
143 ldr r9,[r1],#4 @ handles unaligned
144 add r5,r8,r5,ror#2 @ E+=K_00_19
151 and r10,r7,r10,ror#2
153 eor r10,r10,r4,ror#2 @ F_00_19(B,C,D)
154 str r9,[r14,#-4]!
157 ldrb r10,[r1,#2]
160 add r4,r8,r4,ror#2 @ E+=K_00_19
161 ldrb r12,[r1],#4
168 ldr r9,[r1],#4 @ handles unaligned
169 add r4,r8,r4,ror#2 @ E+=K_00_19
176 and r10,r6,r10,ror#2
178 eor r10,r10,r3,ror#2 @ F_00_19(B,C,D)
179 str r9,[r14,#-4]!
182 ldrb r10,[r1,#2]
185 add r3,r8,r3,ror#2 @ E+=K_00_19
186 ldrb r12,[r1],#4
193 ldr r9,[r1],#4 @ handles unaligned
194 add r3,r8,r3,ror#2 @ E+=K_00_19
201 and r10,r5,r10,ror#2
203 eor r10,r10,r7,ror#2 @ F_00_19(B,C,D)
204 str r9,[r14,#-4]!
207 bne .L_00_15 @ [((11+4)*5+2)*3]
208 sub sp,sp,#25*4
210 ldrb r10,[r1,#2]
213 add r7,r8,r7,ror#2 @ E+=K_00_19
214 ldrb r12,[r1],#4
221 ldr r9,[r1],#4 @ handles unaligned
222 add r7,r8,r7,ror#2 @ E+=K_00_19
229 and r10,r4,r10,ror#2
231 eor r10,r10,r6,ror#2 @ F_00_19(B,C,D)
232 str r9,[r14,#-4]!
234 ldr r9,[r14,#15*4]
235 ldr r10,[r14,#13*4]
236 ldr r11,[r14,#7*4]
237 add r6,r8,r6,ror#2 @ E+=K_xx_xx
238 ldr r12,[r14,#2*4]
245 str r9,[r14,#-4]!
246 and r10,r3,r10,ror#2 @ F_xx_xx
249 eor r10,r10,r5,ror#2 @ F_00_19(B,C,D)
251 ldr r9,[r14,#15*4]
252 ldr r10,[r14,#13*4]
253 ldr r11,[r14,#7*4]
254 add r5,r8,r5,ror#2 @ E+=K_xx_xx
255 ldr r12,[r14,#2*4]
262 str r9,[r14,#-4]!
263 and r10,r7,r10,ror#2 @ F_xx_xx
266 eor r10,r10,r4,ror#2 @ F_00_19(B,C,D)
268 ldr r9,[r14,#15*4]
269 ldr r10,[r14,#13*4]
270 ldr r11,[r14,#7*4]
271 add r4,r8,r4,ror#2 @ E+=K_xx_xx
272 ldr r12,[r14,#2*4]
279 str r9,[r14,#-4]!
280 and r10,r6,r10,ror#2 @ F_xx_xx
283 eor r10,r10,r3,ror#2 @ F_00_19(B,C,D)
285 ldr r9,[r14,#15*4]
286 ldr r10,[r14,#13*4]
287 ldr r11,[r14,#7*4]
288 add r3,r8,r3,ror#2 @ E+=K_xx_xx
289 ldr r12,[r14,#2*4]
296 str r9,[r14,#-4]!
297 and r10,r5,r10,ror#2 @ F_xx_xx
300 eor r10,r10,r7,ror#2 @ F_00_19(B,C,D)
303 ldr r8,.LK_20_39 @ [+15+16*4]
306 ldr r9,[r14,#15*4]
307 ldr r10,[r14,#13*4]
308 ldr r11,[r14,#7*4]
309 add r7,r8,r7,ror#2 @ E+=K_xx_xx
310 ldr r12,[r14,#2*4]
317 str r9,[r14,#-4]!
318 eor r10,r4,r10,ror#2 @ F_xx_xx
322 ldr r9,[r14,#15*4]
323 ldr r10,[r14,#13*4]
324 ldr r11,[r14,#7*4]
325 add r6,r8,r6,ror#2 @ E+=K_xx_xx
326 ldr r12,[r14,#2*4]
333 str r9,[r14,#-4]!
334 eor r10,r3,r10,ror#2 @ F_xx_xx
338 ldr r9,[r14,#15*4]
339 ldr r10,[r14,#13*4]
340 ldr r11,[r14,#7*4]
341 add r5,r8,r5,ror#2 @ E+=K_xx_xx
342 ldr r12,[r14,#2*4]
349 str r9,[r14,#-4]!
350 eor r10,r7,r10,ror#2 @ F_xx_xx
354 ldr r9,[r14,#15*4]
355 ldr r10,[r14,#13*4]
356 ldr r11,[r14,#7*4]
357 add r4,r8,r4,ror#2 @ E+=K_xx_xx
358 ldr r12,[r14,#2*4]
365 str r9,[r14,#-4]!
366 eor r10,r6,r10,ror#2 @ F_xx_xx
370 ldr r9,[r14,#15*4]
371 ldr r10,[r14,#13*4]
372 ldr r11,[r14,#7*4]
373 add r3,r8,r3,ror#2 @ E+=K_xx_xx
374 ldr r12,[r14,#2*4]
381 str r9,[r14,#-4]!
382 eor r10,r5,r10,ror#2 @ F_xx_xx
389 bne .L_20_39_or_60_79 @ [+((12+3)*5+2)*4]
390 bcs .L_done @ [+((12+3)*5+2)*4], spare 300 bytes
393 sub sp,sp,#20*4 @ [+2]
395 ldr r9,[r14,#15*4]
396 ldr r10,[r14,#13*4]
397 ldr r11,[r14,#7*4]
398 add r7,r8,r7,ror#2 @ E+=K_xx_xx
399 ldr r12,[r14,#2*4]
406 str r9,[r14,#-4]!
407 and r10,r4,r10,ror#2 @ F_xx_xx
411 add r7,r7,r11,ror#2
412 ldr r9,[r14,#15*4]
413 ldr r10,[r14,#13*4]
414 ldr r11,[r14,#7*4]
415 add r6,r8,r6,ror#2 @ E+=K_xx_xx
416 ldr r12,[r14,#2*4]
423 str r9,[r14,#-4]!
424 and r10,r3,r10,ror#2 @ F_xx_xx
428 add r6,r6,r11,ror#2
429 ldr r9,[r14,#15*4]
430 ldr r10,[r14,#13*4]
431 ldr r11,[r14,#7*4]
432 add r5,r8,r5,ror#2 @ E+=K_xx_xx
433 ldr r12,[r14,#2*4]
440 str r9,[r14,#-4]!
441 and r10,r7,r10,ror#2 @ F_xx_xx
445 add r5,r5,r11,ror#2
446 ldr r9,[r14,#15*4]
447 ldr r10,[r14,#13*4]
448 ldr r11,[r14,#7*4]
449 add r4,r8,r4,ror#2 @ E+=K_xx_xx
450 ldr r12,[r14,#2*4]
457 str r9,[r14,#-4]!
458 and r10,r6,r10,ror#2 @ F_xx_xx
462 add r4,r4,r11,ror#2
463 ldr r9,[r14,#15*4]
464 ldr r10,[r14,#13*4]
465 ldr r11,[r14,#7*4]
466 add r3,r8,r3,ror#2 @ E+=K_xx_xx
467 ldr r12,[r14,#2*4]
474 str r9,[r14,#-4]!
475 and r10,r5,r10,ror#2 @ F_xx_xx
479 add r3,r3,r11,ror#2
481 bne .L_40_59 @ [+((12+5)*5+2)*4]
484 sub sp,sp,#20*4
486 b .L_20_39_or_60_79 @ [+4], spare 300 bytes
488 add sp,sp,#80*4 @ "deallocate" stack frame
492 add r5,r10,r5,ror#2
493 add r6,r11,r6,ror#2
494 add r7,r12,r7,ror#2
499 ldmia sp!,{r4-r12,pc}
500 .align 2
507 .align 2