OLD | NEW |
| (Empty) |
1 #if defined(__i386__) | |
2 .file "src/crypto/bn/asm/bn-586.S" | |
3 .text | |
4 .globl bn_mul_add_words | |
5 .hidden bn_mul_add_words | |
6 .type bn_mul_add_words,@function | |
7 .align 16 | |
8 bn_mul_add_words: | |
9 .L_bn_mul_add_words_begin: | |
10 call .L000PIC_me_up | |
11 .L000PIC_me_up: | |
12 popl %eax | |
13 leal OPENSSL_ia32cap_P-.L000PIC_me_up(%eax),%eax | |
14 btl $26,(%eax) | |
15 jnc .L001maw_non_sse2 | |
16 movl 4(%esp),%eax | |
17 movl 8(%esp),%edx | |
18 movl 12(%esp),%ecx | |
19 movd 16(%esp),%mm0 | |
20 pxor %mm1,%mm1 | |
21 jmp .L002maw_sse2_entry | |
22 .align 16 | |
23 .L003maw_sse2_unrolled: | |
24 movd (%eax),%mm3 | |
25 paddq %mm3,%mm1 | |
26 movd (%edx),%mm2 | |
27 pmuludq %mm0,%mm2 | |
28 movd 4(%edx),%mm4 | |
29 pmuludq %mm0,%mm4 | |
30 movd 8(%edx),%mm6 | |
31 pmuludq %mm0,%mm6 | |
32 movd 12(%edx),%mm7 | |
33 pmuludq %mm0,%mm7 | |
34 paddq %mm2,%mm1 | |
35 movd 4(%eax),%mm3 | |
36 paddq %mm4,%mm3 | |
37 movd 8(%eax),%mm5 | |
38 paddq %mm6,%mm5 | |
39 movd 12(%eax),%mm4 | |
40 paddq %mm4,%mm7 | |
41 movd %mm1,(%eax) | |
42 movd 16(%edx),%mm2 | |
43 pmuludq %mm0,%mm2 | |
44 psrlq $32,%mm1 | |
45 movd 20(%edx),%mm4 | |
46 pmuludq %mm0,%mm4 | |
47 paddq %mm3,%mm1 | |
48 movd 24(%edx),%mm6 | |
49 pmuludq %mm0,%mm6 | |
50 movd %mm1,4(%eax) | |
51 psrlq $32,%mm1 | |
52 movd 28(%edx),%mm3 | |
53 addl $32,%edx | |
54 pmuludq %mm0,%mm3 | |
55 paddq %mm5,%mm1 | |
56 movd 16(%eax),%mm5 | |
57 paddq %mm5,%mm2 | |
58 movd %mm1,8(%eax) | |
59 psrlq $32,%mm1 | |
60 paddq %mm7,%mm1 | |
61 movd 20(%eax),%mm5 | |
62 paddq %mm5,%mm4 | |
63 movd %mm1,12(%eax) | |
64 psrlq $32,%mm1 | |
65 paddq %mm2,%mm1 | |
66 movd 24(%eax),%mm5 | |
67 paddq %mm5,%mm6 | |
68 movd %mm1,16(%eax) | |
69 psrlq $32,%mm1 | |
70 paddq %mm4,%mm1 | |
71 movd 28(%eax),%mm5 | |
72 paddq %mm5,%mm3 | |
73 movd %mm1,20(%eax) | |
74 psrlq $32,%mm1 | |
75 paddq %mm6,%mm1 | |
76 movd %mm1,24(%eax) | |
77 psrlq $32,%mm1 | |
78 paddq %mm3,%mm1 | |
79 movd %mm1,28(%eax) | |
80 leal 32(%eax),%eax | |
81 psrlq $32,%mm1 | |
82 subl $8,%ecx | |
83 jz .L004maw_sse2_exit | |
84 .L002maw_sse2_entry: | |
85 testl $4294967288,%ecx | |
86 jnz .L003maw_sse2_unrolled | |
87 .align 4 | |
88 .L005maw_sse2_loop: | |
89 movd (%edx),%mm2 | |
90 movd (%eax),%mm3 | |
91 pmuludq %mm0,%mm2 | |
92 leal 4(%edx),%edx | |
93 paddq %mm3,%mm1 | |
94 paddq %mm2,%mm1 | |
95 movd %mm1,(%eax) | |
96 subl $1,%ecx | |
97 psrlq $32,%mm1 | |
98 leal 4(%eax),%eax | |
99 jnz .L005maw_sse2_loop | |
100 .L004maw_sse2_exit: | |
101 movd %mm1,%eax | |
102 emms | |
103 ret | |
104 .align 16 | |
105 .L001maw_non_sse2: | |
106 pushl %ebp | |
107 pushl %ebx | |
108 pushl %esi | |
109 pushl %edi | |
110 | |
111 xorl %esi,%esi | |
112 movl 20(%esp),%edi | |
113 movl 28(%esp),%ecx | |
114 movl 24(%esp),%ebx | |
115 andl $4294967288,%ecx | |
116 movl 32(%esp),%ebp | |
117 pushl %ecx | |
118 jz .L006maw_finish | |
119 .align 16 | |
120 .L007maw_loop: | |
121 | |
122 movl (%ebx),%eax | |
123 mull %ebp | |
124 addl %esi,%eax | |
125 adcl $0,%edx | |
126 addl (%edi),%eax | |
127 adcl $0,%edx | |
128 movl %eax,(%edi) | |
129 movl %edx,%esi | |
130 | |
131 movl 4(%ebx),%eax | |
132 mull %ebp | |
133 addl %esi,%eax | |
134 adcl $0,%edx | |
135 addl 4(%edi),%eax | |
136 adcl $0,%edx | |
137 movl %eax,4(%edi) | |
138 movl %edx,%esi | |
139 | |
140 movl 8(%ebx),%eax | |
141 mull %ebp | |
142 addl %esi,%eax | |
143 adcl $0,%edx | |
144 addl 8(%edi),%eax | |
145 adcl $0,%edx | |
146 movl %eax,8(%edi) | |
147 movl %edx,%esi | |
148 | |
149 movl 12(%ebx),%eax | |
150 mull %ebp | |
151 addl %esi,%eax | |
152 adcl $0,%edx | |
153 addl 12(%edi),%eax | |
154 adcl $0,%edx | |
155 movl %eax,12(%edi) | |
156 movl %edx,%esi | |
157 | |
158 movl 16(%ebx),%eax | |
159 mull %ebp | |
160 addl %esi,%eax | |
161 adcl $0,%edx | |
162 addl 16(%edi),%eax | |
163 adcl $0,%edx | |
164 movl %eax,16(%edi) | |
165 movl %edx,%esi | |
166 | |
167 movl 20(%ebx),%eax | |
168 mull %ebp | |
169 addl %esi,%eax | |
170 adcl $0,%edx | |
171 addl 20(%edi),%eax | |
172 adcl $0,%edx | |
173 movl %eax,20(%edi) | |
174 movl %edx,%esi | |
175 | |
176 movl 24(%ebx),%eax | |
177 mull %ebp | |
178 addl %esi,%eax | |
179 adcl $0,%edx | |
180 addl 24(%edi),%eax | |
181 adcl $0,%edx | |
182 movl %eax,24(%edi) | |
183 movl %edx,%esi | |
184 | |
185 movl 28(%ebx),%eax | |
186 mull %ebp | |
187 addl %esi,%eax | |
188 adcl $0,%edx | |
189 addl 28(%edi),%eax | |
190 adcl $0,%edx | |
191 movl %eax,28(%edi) | |
192 movl %edx,%esi | |
193 | |
194 subl $8,%ecx | |
195 leal 32(%ebx),%ebx | |
196 leal 32(%edi),%edi | |
197 jnz .L007maw_loop | |
198 .L006maw_finish: | |
199 movl 32(%esp),%ecx | |
200 andl $7,%ecx | |
201 jnz .L008maw_finish2 | |
202 jmp .L009maw_end | |
203 .L008maw_finish2: | |
204 | |
205 movl (%ebx),%eax | |
206 mull %ebp | |
207 addl %esi,%eax | |
208 adcl $0,%edx | |
209 addl (%edi),%eax | |
210 adcl $0,%edx | |
211 decl %ecx | |
212 movl %eax,(%edi) | |
213 movl %edx,%esi | |
214 jz .L009maw_end | |
215 | |
216 movl 4(%ebx),%eax | |
217 mull %ebp | |
218 addl %esi,%eax | |
219 adcl $0,%edx | |
220 addl 4(%edi),%eax | |
221 adcl $0,%edx | |
222 decl %ecx | |
223 movl %eax,4(%edi) | |
224 movl %edx,%esi | |
225 jz .L009maw_end | |
226 | |
227 movl 8(%ebx),%eax | |
228 mull %ebp | |
229 addl %esi,%eax | |
230 adcl $0,%edx | |
231 addl 8(%edi),%eax | |
232 adcl $0,%edx | |
233 decl %ecx | |
234 movl %eax,8(%edi) | |
235 movl %edx,%esi | |
236 jz .L009maw_end | |
237 | |
238 movl 12(%ebx),%eax | |
239 mull %ebp | |
240 addl %esi,%eax | |
241 adcl $0,%edx | |
242 addl 12(%edi),%eax | |
243 adcl $0,%edx | |
244 decl %ecx | |
245 movl %eax,12(%edi) | |
246 movl %edx,%esi | |
247 jz .L009maw_end | |
248 | |
249 movl 16(%ebx),%eax | |
250 mull %ebp | |
251 addl %esi,%eax | |
252 adcl $0,%edx | |
253 addl 16(%edi),%eax | |
254 adcl $0,%edx | |
255 decl %ecx | |
256 movl %eax,16(%edi) | |
257 movl %edx,%esi | |
258 jz .L009maw_end | |
259 | |
260 movl 20(%ebx),%eax | |
261 mull %ebp | |
262 addl %esi,%eax | |
263 adcl $0,%edx | |
264 addl 20(%edi),%eax | |
265 adcl $0,%edx | |
266 decl %ecx | |
267 movl %eax,20(%edi) | |
268 movl %edx,%esi | |
269 jz .L009maw_end | |
270 | |
271 movl 24(%ebx),%eax | |
272 mull %ebp | |
273 addl %esi,%eax | |
274 adcl $0,%edx | |
275 addl 24(%edi),%eax | |
276 adcl $0,%edx | |
277 movl %eax,24(%edi) | |
278 movl %edx,%esi | |
279 .L009maw_end: | |
280 movl %esi,%eax | |
281 popl %ecx | |
282 popl %edi | |
283 popl %esi | |
284 popl %ebx | |
285 popl %ebp | |
286 ret | |
287 .size bn_mul_add_words,.-.L_bn_mul_add_words_begin | |
288 .globl bn_mul_words | |
289 .hidden bn_mul_words | |
290 .type bn_mul_words,@function | |
291 .align 16 | |
292 bn_mul_words: | |
293 .L_bn_mul_words_begin: | |
294 call .L010PIC_me_up | |
295 .L010PIC_me_up: | |
296 popl %eax | |
297 leal OPENSSL_ia32cap_P-.L010PIC_me_up(%eax),%eax | |
298 btl $26,(%eax) | |
299 jnc .L011mw_non_sse2 | |
300 movl 4(%esp),%eax | |
301 movl 8(%esp),%edx | |
302 movl 12(%esp),%ecx | |
303 movd 16(%esp),%mm0 | |
304 pxor %mm1,%mm1 | |
305 .align 16 | |
306 .L012mw_sse2_loop: | |
307 movd (%edx),%mm2 | |
308 pmuludq %mm0,%mm2 | |
309 leal 4(%edx),%edx | |
310 paddq %mm2,%mm1 | |
311 movd %mm1,(%eax) | |
312 subl $1,%ecx | |
313 psrlq $32,%mm1 | |
314 leal 4(%eax),%eax | |
315 jnz .L012mw_sse2_loop | |
316 movd %mm1,%eax | |
317 emms | |
318 ret | |
319 .align 16 | |
320 .L011mw_non_sse2: | |
321 pushl %ebp | |
322 pushl %ebx | |
323 pushl %esi | |
324 pushl %edi | |
325 | |
326 xorl %esi,%esi | |
327 movl 20(%esp),%edi | |
328 movl 24(%esp),%ebx | |
329 movl 28(%esp),%ebp | |
330 movl 32(%esp),%ecx | |
331 andl $4294967288,%ebp | |
332 jz .L013mw_finish | |
333 .L014mw_loop: | |
334 | |
335 movl (%ebx),%eax | |
336 mull %ecx | |
337 addl %esi,%eax | |
338 adcl $0,%edx | |
339 movl %eax,(%edi) | |
340 movl %edx,%esi | |
341 | |
342 movl 4(%ebx),%eax | |
343 mull %ecx | |
344 addl %esi,%eax | |
345 adcl $0,%edx | |
346 movl %eax,4(%edi) | |
347 movl %edx,%esi | |
348 | |
349 movl 8(%ebx),%eax | |
350 mull %ecx | |
351 addl %esi,%eax | |
352 adcl $0,%edx | |
353 movl %eax,8(%edi) | |
354 movl %edx,%esi | |
355 | |
356 movl 12(%ebx),%eax | |
357 mull %ecx | |
358 addl %esi,%eax | |
359 adcl $0,%edx | |
360 movl %eax,12(%edi) | |
361 movl %edx,%esi | |
362 | |
363 movl 16(%ebx),%eax | |
364 mull %ecx | |
365 addl %esi,%eax | |
366 adcl $0,%edx | |
367 movl %eax,16(%edi) | |
368 movl %edx,%esi | |
369 | |
370 movl 20(%ebx),%eax | |
371 mull %ecx | |
372 addl %esi,%eax | |
373 adcl $0,%edx | |
374 movl %eax,20(%edi) | |
375 movl %edx,%esi | |
376 | |
377 movl 24(%ebx),%eax | |
378 mull %ecx | |
379 addl %esi,%eax | |
380 adcl $0,%edx | |
381 movl %eax,24(%edi) | |
382 movl %edx,%esi | |
383 | |
384 movl 28(%ebx),%eax | |
385 mull %ecx | |
386 addl %esi,%eax | |
387 adcl $0,%edx | |
388 movl %eax,28(%edi) | |
389 movl %edx,%esi | |
390 | |
391 addl $32,%ebx | |
392 addl $32,%edi | |
393 subl $8,%ebp | |
394 jz .L013mw_finish | |
395 jmp .L014mw_loop | |
396 .L013mw_finish: | |
397 movl 28(%esp),%ebp | |
398 andl $7,%ebp | |
399 jnz .L015mw_finish2 | |
400 jmp .L016mw_end | |
401 .L015mw_finish2: | |
402 | |
403 movl (%ebx),%eax | |
404 mull %ecx | |
405 addl %esi,%eax | |
406 adcl $0,%edx | |
407 movl %eax,(%edi) | |
408 movl %edx,%esi | |
409 decl %ebp | |
410 jz .L016mw_end | |
411 | |
412 movl 4(%ebx),%eax | |
413 mull %ecx | |
414 addl %esi,%eax | |
415 adcl $0,%edx | |
416 movl %eax,4(%edi) | |
417 movl %edx,%esi | |
418 decl %ebp | |
419 jz .L016mw_end | |
420 | |
421 movl 8(%ebx),%eax | |
422 mull %ecx | |
423 addl %esi,%eax | |
424 adcl $0,%edx | |
425 movl %eax,8(%edi) | |
426 movl %edx,%esi | |
427 decl %ebp | |
428 jz .L016mw_end | |
429 | |
430 movl 12(%ebx),%eax | |
431 mull %ecx | |
432 addl %esi,%eax | |
433 adcl $0,%edx | |
434 movl %eax,12(%edi) | |
435 movl %edx,%esi | |
436 decl %ebp | |
437 jz .L016mw_end | |
438 | |
439 movl 16(%ebx),%eax | |
440 mull %ecx | |
441 addl %esi,%eax | |
442 adcl $0,%edx | |
443 movl %eax,16(%edi) | |
444 movl %edx,%esi | |
445 decl %ebp | |
446 jz .L016mw_end | |
447 | |
448 movl 20(%ebx),%eax | |
449 mull %ecx | |
450 addl %esi,%eax | |
451 adcl $0,%edx | |
452 movl %eax,20(%edi) | |
453 movl %edx,%esi | |
454 decl %ebp | |
455 jz .L016mw_end | |
456 | |
457 movl 24(%ebx),%eax | |
458 mull %ecx | |
459 addl %esi,%eax | |
460 adcl $0,%edx | |
461 movl %eax,24(%edi) | |
462 movl %edx,%esi | |
463 .L016mw_end: | |
464 movl %esi,%eax | |
465 popl %edi | |
466 popl %esi | |
467 popl %ebx | |
468 popl %ebp | |
469 ret | |
470 .size bn_mul_words,.-.L_bn_mul_words_begin | |
471 .globl bn_sqr_words | |
472 .hidden bn_sqr_words | |
473 .type bn_sqr_words,@function | |
474 .align 16 | |
475 bn_sqr_words: | |
476 .L_bn_sqr_words_begin: | |
477 call .L017PIC_me_up | |
478 .L017PIC_me_up: | |
479 popl %eax | |
480 leal OPENSSL_ia32cap_P-.L017PIC_me_up(%eax),%eax | |
481 btl $26,(%eax) | |
482 jnc .L018sqr_non_sse2 | |
483 movl 4(%esp),%eax | |
484 movl 8(%esp),%edx | |
485 movl 12(%esp),%ecx | |
486 .align 16 | |
487 .L019sqr_sse2_loop: | |
488 movd (%edx),%mm0 | |
489 pmuludq %mm0,%mm0 | |
490 leal 4(%edx),%edx | |
491 movq %mm0,(%eax) | |
492 subl $1,%ecx | |
493 leal 8(%eax),%eax | |
494 jnz .L019sqr_sse2_loop | |
495 emms | |
496 ret | |
497 .align 16 | |
498 .L018sqr_non_sse2: | |
499 pushl %ebp | |
500 pushl %ebx | |
501 pushl %esi | |
502 pushl %edi | |
503 | |
504 movl 20(%esp),%esi | |
505 movl 24(%esp),%edi | |
506 movl 28(%esp),%ebx | |
507 andl $4294967288,%ebx | |
508 jz .L020sw_finish | |
509 .L021sw_loop: | |
510 | |
511 movl (%edi),%eax | |
512 mull %eax | |
513 movl %eax,(%esi) | |
514 movl %edx,4(%esi) | |
515 | |
516 movl 4(%edi),%eax | |
517 mull %eax | |
518 movl %eax,8(%esi) | |
519 movl %edx,12(%esi) | |
520 | |
521 movl 8(%edi),%eax | |
522 mull %eax | |
523 movl %eax,16(%esi) | |
524 movl %edx,20(%esi) | |
525 | |
526 movl 12(%edi),%eax | |
527 mull %eax | |
528 movl %eax,24(%esi) | |
529 movl %edx,28(%esi) | |
530 | |
531 movl 16(%edi),%eax | |
532 mull %eax | |
533 movl %eax,32(%esi) | |
534 movl %edx,36(%esi) | |
535 | |
536 movl 20(%edi),%eax | |
537 mull %eax | |
538 movl %eax,40(%esi) | |
539 movl %edx,44(%esi) | |
540 | |
541 movl 24(%edi),%eax | |
542 mull %eax | |
543 movl %eax,48(%esi) | |
544 movl %edx,52(%esi) | |
545 | |
546 movl 28(%edi),%eax | |
547 mull %eax | |
548 movl %eax,56(%esi) | |
549 movl %edx,60(%esi) | |
550 | |
551 addl $32,%edi | |
552 addl $64,%esi | |
553 subl $8,%ebx | |
554 jnz .L021sw_loop | |
555 .L020sw_finish: | |
556 movl 28(%esp),%ebx | |
557 andl $7,%ebx | |
558 jz .L022sw_end | |
559 | |
560 movl (%edi),%eax | |
561 mull %eax | |
562 movl %eax,(%esi) | |
563 decl %ebx | |
564 movl %edx,4(%esi) | |
565 jz .L022sw_end | |
566 | |
567 movl 4(%edi),%eax | |
568 mull %eax | |
569 movl %eax,8(%esi) | |
570 decl %ebx | |
571 movl %edx,12(%esi) | |
572 jz .L022sw_end | |
573 | |
574 movl 8(%edi),%eax | |
575 mull %eax | |
576 movl %eax,16(%esi) | |
577 decl %ebx | |
578 movl %edx,20(%esi) | |
579 jz .L022sw_end | |
580 | |
581 movl 12(%edi),%eax | |
582 mull %eax | |
583 movl %eax,24(%esi) | |
584 decl %ebx | |
585 movl %edx,28(%esi) | |
586 jz .L022sw_end | |
587 | |
588 movl 16(%edi),%eax | |
589 mull %eax | |
590 movl %eax,32(%esi) | |
591 decl %ebx | |
592 movl %edx,36(%esi) | |
593 jz .L022sw_end | |
594 | |
595 movl 20(%edi),%eax | |
596 mull %eax | |
597 movl %eax,40(%esi) | |
598 decl %ebx | |
599 movl %edx,44(%esi) | |
600 jz .L022sw_end | |
601 | |
602 movl 24(%edi),%eax | |
603 mull %eax | |
604 movl %eax,48(%esi) | |
605 movl %edx,52(%esi) | |
606 .L022sw_end: | |
607 popl %edi | |
608 popl %esi | |
609 popl %ebx | |
610 popl %ebp | |
611 ret | |
612 .size bn_sqr_words,.-.L_bn_sqr_words_begin | |
613 .globl bn_div_words | |
614 .hidden bn_div_words | |
615 .type bn_div_words,@function | |
616 .align 16 | |
617 bn_div_words: | |
618 .L_bn_div_words_begin: | |
619 movl 4(%esp),%edx | |
620 movl 8(%esp),%eax | |
621 movl 12(%esp),%ecx | |
622 divl %ecx | |
623 ret | |
624 .size bn_div_words,.-.L_bn_div_words_begin | |
625 .globl bn_add_words | |
626 .hidden bn_add_words | |
627 .type bn_add_words,@function | |
628 .align 16 | |
629 bn_add_words: | |
630 .L_bn_add_words_begin: | |
631 pushl %ebp | |
632 pushl %ebx | |
633 pushl %esi | |
634 pushl %edi | |
635 | |
636 movl 20(%esp),%ebx | |
637 movl 24(%esp),%esi | |
638 movl 28(%esp),%edi | |
639 movl 32(%esp),%ebp | |
640 xorl %eax,%eax | |
641 andl $4294967288,%ebp | |
642 jz .L023aw_finish | |
643 .L024aw_loop: | |
644 | |
645 movl (%esi),%ecx | |
646 movl (%edi),%edx | |
647 addl %eax,%ecx | |
648 movl $0,%eax | |
649 adcl %eax,%eax | |
650 addl %edx,%ecx | |
651 adcl $0,%eax | |
652 movl %ecx,(%ebx) | |
653 | |
654 movl 4(%esi),%ecx | |
655 movl 4(%edi),%edx | |
656 addl %eax,%ecx | |
657 movl $0,%eax | |
658 adcl %eax,%eax | |
659 addl %edx,%ecx | |
660 adcl $0,%eax | |
661 movl %ecx,4(%ebx) | |
662 | |
663 movl 8(%esi),%ecx | |
664 movl 8(%edi),%edx | |
665 addl %eax,%ecx | |
666 movl $0,%eax | |
667 adcl %eax,%eax | |
668 addl %edx,%ecx | |
669 adcl $0,%eax | |
670 movl %ecx,8(%ebx) | |
671 | |
672 movl 12(%esi),%ecx | |
673 movl 12(%edi),%edx | |
674 addl %eax,%ecx | |
675 movl $0,%eax | |
676 adcl %eax,%eax | |
677 addl %edx,%ecx | |
678 adcl $0,%eax | |
679 movl %ecx,12(%ebx) | |
680 | |
681 movl 16(%esi),%ecx | |
682 movl 16(%edi),%edx | |
683 addl %eax,%ecx | |
684 movl $0,%eax | |
685 adcl %eax,%eax | |
686 addl %edx,%ecx | |
687 adcl $0,%eax | |
688 movl %ecx,16(%ebx) | |
689 | |
690 movl 20(%esi),%ecx | |
691 movl 20(%edi),%edx | |
692 addl %eax,%ecx | |
693 movl $0,%eax | |
694 adcl %eax,%eax | |
695 addl %edx,%ecx | |
696 adcl $0,%eax | |
697 movl %ecx,20(%ebx) | |
698 | |
699 movl 24(%esi),%ecx | |
700 movl 24(%edi),%edx | |
701 addl %eax,%ecx | |
702 movl $0,%eax | |
703 adcl %eax,%eax | |
704 addl %edx,%ecx | |
705 adcl $0,%eax | |
706 movl %ecx,24(%ebx) | |
707 | |
708 movl 28(%esi),%ecx | |
709 movl 28(%edi),%edx | |
710 addl %eax,%ecx | |
711 movl $0,%eax | |
712 adcl %eax,%eax | |
713 addl %edx,%ecx | |
714 adcl $0,%eax | |
715 movl %ecx,28(%ebx) | |
716 | |
717 addl $32,%esi | |
718 addl $32,%edi | |
719 addl $32,%ebx | |
720 subl $8,%ebp | |
721 jnz .L024aw_loop | |
722 .L023aw_finish: | |
723 movl 32(%esp),%ebp | |
724 andl $7,%ebp | |
725 jz .L025aw_end | |
726 | |
727 movl (%esi),%ecx | |
728 movl (%edi),%edx | |
729 addl %eax,%ecx | |
730 movl $0,%eax | |
731 adcl %eax,%eax | |
732 addl %edx,%ecx | |
733 adcl $0,%eax | |
734 decl %ebp | |
735 movl %ecx,(%ebx) | |
736 jz .L025aw_end | |
737 | |
738 movl 4(%esi),%ecx | |
739 movl 4(%edi),%edx | |
740 addl %eax,%ecx | |
741 movl $0,%eax | |
742 adcl %eax,%eax | |
743 addl %edx,%ecx | |
744 adcl $0,%eax | |
745 decl %ebp | |
746 movl %ecx,4(%ebx) | |
747 jz .L025aw_end | |
748 | |
749 movl 8(%esi),%ecx | |
750 movl 8(%edi),%edx | |
751 addl %eax,%ecx | |
752 movl $0,%eax | |
753 adcl %eax,%eax | |
754 addl %edx,%ecx | |
755 adcl $0,%eax | |
756 decl %ebp | |
757 movl %ecx,8(%ebx) | |
758 jz .L025aw_end | |
759 | |
760 movl 12(%esi),%ecx | |
761 movl 12(%edi),%edx | |
762 addl %eax,%ecx | |
763 movl $0,%eax | |
764 adcl %eax,%eax | |
765 addl %edx,%ecx | |
766 adcl $0,%eax | |
767 decl %ebp | |
768 movl %ecx,12(%ebx) | |
769 jz .L025aw_end | |
770 | |
771 movl 16(%esi),%ecx | |
772 movl 16(%edi),%edx | |
773 addl %eax,%ecx | |
774 movl $0,%eax | |
775 adcl %eax,%eax | |
776 addl %edx,%ecx | |
777 adcl $0,%eax | |
778 decl %ebp | |
779 movl %ecx,16(%ebx) | |
780 jz .L025aw_end | |
781 | |
782 movl 20(%esi),%ecx | |
783 movl 20(%edi),%edx | |
784 addl %eax,%ecx | |
785 movl $0,%eax | |
786 adcl %eax,%eax | |
787 addl %edx,%ecx | |
788 adcl $0,%eax | |
789 decl %ebp | |
790 movl %ecx,20(%ebx) | |
791 jz .L025aw_end | |
792 | |
793 movl 24(%esi),%ecx | |
794 movl 24(%edi),%edx | |
795 addl %eax,%ecx | |
796 movl $0,%eax | |
797 adcl %eax,%eax | |
798 addl %edx,%ecx | |
799 adcl $0,%eax | |
800 movl %ecx,24(%ebx) | |
801 .L025aw_end: | |
802 popl %edi | |
803 popl %esi | |
804 popl %ebx | |
805 popl %ebp | |
806 ret | |
807 .size bn_add_words,.-.L_bn_add_words_begin | |
808 .globl bn_sub_words | |
809 .hidden bn_sub_words | |
810 .type bn_sub_words,@function | |
811 .align 16 | |
812 bn_sub_words: | |
813 .L_bn_sub_words_begin: | |
814 pushl %ebp | |
815 pushl %ebx | |
816 pushl %esi | |
817 pushl %edi | |
818 | |
819 movl 20(%esp),%ebx | |
820 movl 24(%esp),%esi | |
821 movl 28(%esp),%edi | |
822 movl 32(%esp),%ebp | |
823 xorl %eax,%eax | |
824 andl $4294967288,%ebp | |
825 jz .L026aw_finish | |
826 .L027aw_loop: | |
827 | |
828 movl (%esi),%ecx | |
829 movl (%edi),%edx | |
830 subl %eax,%ecx | |
831 movl $0,%eax | |
832 adcl %eax,%eax | |
833 subl %edx,%ecx | |
834 adcl $0,%eax | |
835 movl %ecx,(%ebx) | |
836 | |
837 movl 4(%esi),%ecx | |
838 movl 4(%edi),%edx | |
839 subl %eax,%ecx | |
840 movl $0,%eax | |
841 adcl %eax,%eax | |
842 subl %edx,%ecx | |
843 adcl $0,%eax | |
844 movl %ecx,4(%ebx) | |
845 | |
846 movl 8(%esi),%ecx | |
847 movl 8(%edi),%edx | |
848 subl %eax,%ecx | |
849 movl $0,%eax | |
850 adcl %eax,%eax | |
851 subl %edx,%ecx | |
852 adcl $0,%eax | |
853 movl %ecx,8(%ebx) | |
854 | |
855 movl 12(%esi),%ecx | |
856 movl 12(%edi),%edx | |
857 subl %eax,%ecx | |
858 movl $0,%eax | |
859 adcl %eax,%eax | |
860 subl %edx,%ecx | |
861 adcl $0,%eax | |
862 movl %ecx,12(%ebx) | |
863 | |
864 movl 16(%esi),%ecx | |
865 movl 16(%edi),%edx | |
866 subl %eax,%ecx | |
867 movl $0,%eax | |
868 adcl %eax,%eax | |
869 subl %edx,%ecx | |
870 adcl $0,%eax | |
871 movl %ecx,16(%ebx) | |
872 | |
873 movl 20(%esi),%ecx | |
874 movl 20(%edi),%edx | |
875 subl %eax,%ecx | |
876 movl $0,%eax | |
877 adcl %eax,%eax | |
878 subl %edx,%ecx | |
879 adcl $0,%eax | |
880 movl %ecx,20(%ebx) | |
881 | |
882 movl 24(%esi),%ecx | |
883 movl 24(%edi),%edx | |
884 subl %eax,%ecx | |
885 movl $0,%eax | |
886 adcl %eax,%eax | |
887 subl %edx,%ecx | |
888 adcl $0,%eax | |
889 movl %ecx,24(%ebx) | |
890 | |
891 movl 28(%esi),%ecx | |
892 movl 28(%edi),%edx | |
893 subl %eax,%ecx | |
894 movl $0,%eax | |
895 adcl %eax,%eax | |
896 subl %edx,%ecx | |
897 adcl $0,%eax | |
898 movl %ecx,28(%ebx) | |
899 | |
900 addl $32,%esi | |
901 addl $32,%edi | |
902 addl $32,%ebx | |
903 subl $8,%ebp | |
904 jnz .L027aw_loop | |
905 .L026aw_finish: | |
906 movl 32(%esp),%ebp | |
907 andl $7,%ebp | |
908 jz .L028aw_end | |
909 | |
910 movl (%esi),%ecx | |
911 movl (%edi),%edx | |
912 subl %eax,%ecx | |
913 movl $0,%eax | |
914 adcl %eax,%eax | |
915 subl %edx,%ecx | |
916 adcl $0,%eax | |
917 decl %ebp | |
918 movl %ecx,(%ebx) | |
919 jz .L028aw_end | |
920 | |
921 movl 4(%esi),%ecx | |
922 movl 4(%edi),%edx | |
923 subl %eax,%ecx | |
924 movl $0,%eax | |
925 adcl %eax,%eax | |
926 subl %edx,%ecx | |
927 adcl $0,%eax | |
928 decl %ebp | |
929 movl %ecx,4(%ebx) | |
930 jz .L028aw_end | |
931 | |
932 movl 8(%esi),%ecx | |
933 movl 8(%edi),%edx | |
934 subl %eax,%ecx | |
935 movl $0,%eax | |
936 adcl %eax,%eax | |
937 subl %edx,%ecx | |
938 adcl $0,%eax | |
939 decl %ebp | |
940 movl %ecx,8(%ebx) | |
941 jz .L028aw_end | |
942 | |
943 movl 12(%esi),%ecx | |
944 movl 12(%edi),%edx | |
945 subl %eax,%ecx | |
946 movl $0,%eax | |
947 adcl %eax,%eax | |
948 subl %edx,%ecx | |
949 adcl $0,%eax | |
950 decl %ebp | |
951 movl %ecx,12(%ebx) | |
952 jz .L028aw_end | |
953 | |
954 movl 16(%esi),%ecx | |
955 movl 16(%edi),%edx | |
956 subl %eax,%ecx | |
957 movl $0,%eax | |
958 adcl %eax,%eax | |
959 subl %edx,%ecx | |
960 adcl $0,%eax | |
961 decl %ebp | |
962 movl %ecx,16(%ebx) | |
963 jz .L028aw_end | |
964 | |
965 movl 20(%esi),%ecx | |
966 movl 20(%edi),%edx | |
967 subl %eax,%ecx | |
968 movl $0,%eax | |
969 adcl %eax,%eax | |
970 subl %edx,%ecx | |
971 adcl $0,%eax | |
972 decl %ebp | |
973 movl %ecx,20(%ebx) | |
974 jz .L028aw_end | |
975 | |
976 movl 24(%esi),%ecx | |
977 movl 24(%edi),%edx | |
978 subl %eax,%ecx | |
979 movl $0,%eax | |
980 adcl %eax,%eax | |
981 subl %edx,%ecx | |
982 adcl $0,%eax | |
983 movl %ecx,24(%ebx) | |
984 .L028aw_end: | |
985 popl %edi | |
986 popl %esi | |
987 popl %ebx | |
988 popl %ebp | |
989 ret | |
990 .size bn_sub_words,.-.L_bn_sub_words_begin | |
991 .globl bn_sub_part_words | |
992 .hidden bn_sub_part_words | |
993 .type bn_sub_part_words,@function | |
994 .align 16 | |
995 bn_sub_part_words: | |
996 .L_bn_sub_part_words_begin: | |
997 pushl %ebp | |
998 pushl %ebx | |
999 pushl %esi | |
1000 pushl %edi | |
1001 | |
1002 movl 20(%esp),%ebx | |
1003 movl 24(%esp),%esi | |
1004 movl 28(%esp),%edi | |
1005 movl 32(%esp),%ebp | |
1006 xorl %eax,%eax | |
1007 andl $4294967288,%ebp | |
1008 jz .L029aw_finish | |
1009 .L030aw_loop: | |
1010 | |
1011 movl (%esi),%ecx | |
1012 movl (%edi),%edx | |
1013 subl %eax,%ecx | |
1014 movl $0,%eax | |
1015 adcl %eax,%eax | |
1016 subl %edx,%ecx | |
1017 adcl $0,%eax | |
1018 movl %ecx,(%ebx) | |
1019 | |
1020 movl 4(%esi),%ecx | |
1021 movl 4(%edi),%edx | |
1022 subl %eax,%ecx | |
1023 movl $0,%eax | |
1024 adcl %eax,%eax | |
1025 subl %edx,%ecx | |
1026 adcl $0,%eax | |
1027 movl %ecx,4(%ebx) | |
1028 | |
1029 movl 8(%esi),%ecx | |
1030 movl 8(%edi),%edx | |
1031 subl %eax,%ecx | |
1032 movl $0,%eax | |
1033 adcl %eax,%eax | |
1034 subl %edx,%ecx | |
1035 adcl $0,%eax | |
1036 movl %ecx,8(%ebx) | |
1037 | |
1038 movl 12(%esi),%ecx | |
1039 movl 12(%edi),%edx | |
1040 subl %eax,%ecx | |
1041 movl $0,%eax | |
1042 adcl %eax,%eax | |
1043 subl %edx,%ecx | |
1044 adcl $0,%eax | |
1045 movl %ecx,12(%ebx) | |
1046 | |
1047 movl 16(%esi),%ecx | |
1048 movl 16(%edi),%edx | |
1049 subl %eax,%ecx | |
1050 movl $0,%eax | |
1051 adcl %eax,%eax | |
1052 subl %edx,%ecx | |
1053 adcl $0,%eax | |
1054 movl %ecx,16(%ebx) | |
1055 | |
1056 movl 20(%esi),%ecx | |
1057 movl 20(%edi),%edx | |
1058 subl %eax,%ecx | |
1059 movl $0,%eax | |
1060 adcl %eax,%eax | |
1061 subl %edx,%ecx | |
1062 adcl $0,%eax | |
1063 movl %ecx,20(%ebx) | |
1064 | |
1065 movl 24(%esi),%ecx | |
1066 movl 24(%edi),%edx | |
1067 subl %eax,%ecx | |
1068 movl $0,%eax | |
1069 adcl %eax,%eax | |
1070 subl %edx,%ecx | |
1071 adcl $0,%eax | |
1072 movl %ecx,24(%ebx) | |
1073 | |
1074 movl 28(%esi),%ecx | |
1075 movl 28(%edi),%edx | |
1076 subl %eax,%ecx | |
1077 movl $0,%eax | |
1078 adcl %eax,%eax | |
1079 subl %edx,%ecx | |
1080 adcl $0,%eax | |
1081 movl %ecx,28(%ebx) | |
1082 | |
1083 addl $32,%esi | |
1084 addl $32,%edi | |
1085 addl $32,%ebx | |
1086 subl $8,%ebp | |
1087 jnz .L030aw_loop | |
1088 .L029aw_finish: | |
1089 movl 32(%esp),%ebp | |
1090 andl $7,%ebp | |
1091 jz .L031aw_end | |
1092 | |
1093 movl (%esi),%ecx | |
1094 movl (%edi),%edx | |
1095 subl %eax,%ecx | |
1096 movl $0,%eax | |
1097 adcl %eax,%eax | |
1098 subl %edx,%ecx | |
1099 adcl $0,%eax | |
1100 movl %ecx,(%ebx) | |
1101 addl $4,%esi | |
1102 addl $4,%edi | |
1103 addl $4,%ebx | |
1104 decl %ebp | |
1105 jz .L031aw_end | |
1106 | |
1107 movl (%esi),%ecx | |
1108 movl (%edi),%edx | |
1109 subl %eax,%ecx | |
1110 movl $0,%eax | |
1111 adcl %eax,%eax | |
1112 subl %edx,%ecx | |
1113 adcl $0,%eax | |
1114 movl %ecx,(%ebx) | |
1115 addl $4,%esi | |
1116 addl $4,%edi | |
1117 addl $4,%ebx | |
1118 decl %ebp | |
1119 jz .L031aw_end | |
1120 | |
1121 movl (%esi),%ecx | |
1122 movl (%edi),%edx | |
1123 subl %eax,%ecx | |
1124 movl $0,%eax | |
1125 adcl %eax,%eax | |
1126 subl %edx,%ecx | |
1127 adcl $0,%eax | |
1128 movl %ecx,(%ebx) | |
1129 addl $4,%esi | |
1130 addl $4,%edi | |
1131 addl $4,%ebx | |
1132 decl %ebp | |
1133 jz .L031aw_end | |
1134 | |
1135 movl (%esi),%ecx | |
1136 movl (%edi),%edx | |
1137 subl %eax,%ecx | |
1138 movl $0,%eax | |
1139 adcl %eax,%eax | |
1140 subl %edx,%ecx | |
1141 adcl $0,%eax | |
1142 movl %ecx,(%ebx) | |
1143 addl $4,%esi | |
1144 addl $4,%edi | |
1145 addl $4,%ebx | |
1146 decl %ebp | |
1147 jz .L031aw_end | |
1148 | |
1149 movl (%esi),%ecx | |
1150 movl (%edi),%edx | |
1151 subl %eax,%ecx | |
1152 movl $0,%eax | |
1153 adcl %eax,%eax | |
1154 subl %edx,%ecx | |
1155 adcl $0,%eax | |
1156 movl %ecx,(%ebx) | |
1157 addl $4,%esi | |
1158 addl $4,%edi | |
1159 addl $4,%ebx | |
1160 decl %ebp | |
1161 jz .L031aw_end | |
1162 | |
1163 movl (%esi),%ecx | |
1164 movl (%edi),%edx | |
1165 subl %eax,%ecx | |
1166 movl $0,%eax | |
1167 adcl %eax,%eax | |
1168 subl %edx,%ecx | |
1169 adcl $0,%eax | |
1170 movl %ecx,(%ebx) | |
1171 addl $4,%esi | |
1172 addl $4,%edi | |
1173 addl $4,%ebx | |
1174 decl %ebp | |
1175 jz .L031aw_end | |
1176 | |
1177 movl (%esi),%ecx | |
1178 movl (%edi),%edx | |
1179 subl %eax,%ecx | |
1180 movl $0,%eax | |
1181 adcl %eax,%eax | |
1182 subl %edx,%ecx | |
1183 adcl $0,%eax | |
1184 movl %ecx,(%ebx) | |
1185 addl $4,%esi | |
1186 addl $4,%edi | |
1187 addl $4,%ebx | |
1188 .L031aw_end: | |
1189 cmpl $0,36(%esp) | |
1190 je .L032pw_end | |
1191 movl 36(%esp),%ebp | |
1192 cmpl $0,%ebp | |
1193 je .L032pw_end | |
1194 jge .L033pw_pos | |
1195 | |
1196 movl $0,%edx | |
1197 subl %ebp,%edx | |
1198 movl %edx,%ebp | |
1199 andl $4294967288,%ebp | |
1200 jz .L034pw_neg_finish | |
1201 .L035pw_neg_loop: | |
1202 | |
1203 movl $0,%ecx | |
1204 movl (%edi),%edx | |
1205 subl %eax,%ecx | |
1206 movl $0,%eax | |
1207 adcl %eax,%eax | |
1208 subl %edx,%ecx | |
1209 adcl $0,%eax | |
1210 movl %ecx,(%ebx) | |
1211 | |
1212 movl $0,%ecx | |
1213 movl 4(%edi),%edx | |
1214 subl %eax,%ecx | |
1215 movl $0,%eax | |
1216 adcl %eax,%eax | |
1217 subl %edx,%ecx | |
1218 adcl $0,%eax | |
1219 movl %ecx,4(%ebx) | |
1220 | |
1221 movl $0,%ecx | |
1222 movl 8(%edi),%edx | |
1223 subl %eax,%ecx | |
1224 movl $0,%eax | |
1225 adcl %eax,%eax | |
1226 subl %edx,%ecx | |
1227 adcl $0,%eax | |
1228 movl %ecx,8(%ebx) | |
1229 | |
1230 movl $0,%ecx | |
1231 movl 12(%edi),%edx | |
1232 subl %eax,%ecx | |
1233 movl $0,%eax | |
1234 adcl %eax,%eax | |
1235 subl %edx,%ecx | |
1236 adcl $0,%eax | |
1237 movl %ecx,12(%ebx) | |
1238 | |
1239 movl $0,%ecx | |
1240 movl 16(%edi),%edx | |
1241 subl %eax,%ecx | |
1242 movl $0,%eax | |
1243 adcl %eax,%eax | |
1244 subl %edx,%ecx | |
1245 adcl $0,%eax | |
1246 movl %ecx,16(%ebx) | |
1247 | |
1248 movl $0,%ecx | |
1249 movl 20(%edi),%edx | |
1250 subl %eax,%ecx | |
1251 movl $0,%eax | |
1252 adcl %eax,%eax | |
1253 subl %edx,%ecx | |
1254 adcl $0,%eax | |
1255 movl %ecx,20(%ebx) | |
1256 | |
1257 movl $0,%ecx | |
1258 movl 24(%edi),%edx | |
1259 subl %eax,%ecx | |
1260 movl $0,%eax | |
1261 adcl %eax,%eax | |
1262 subl %edx,%ecx | |
1263 adcl $0,%eax | |
1264 movl %ecx,24(%ebx) | |
1265 | |
1266 movl $0,%ecx | |
1267 movl 28(%edi),%edx | |
1268 subl %eax,%ecx | |
1269 movl $0,%eax | |
1270 adcl %eax,%eax | |
1271 subl %edx,%ecx | |
1272 adcl $0,%eax | |
1273 movl %ecx,28(%ebx) | |
1274 | |
1275 addl $32,%edi | |
1276 addl $32,%ebx | |
1277 subl $8,%ebp | |
1278 jnz .L035pw_neg_loop | |
1279 .L034pw_neg_finish: | |
1280 movl 36(%esp),%edx | |
1281 movl $0,%ebp | |
1282 subl %edx,%ebp | |
1283 andl $7,%ebp | |
1284 jz .L032pw_end | |
1285 | |
1286 movl $0,%ecx | |
1287 movl (%edi),%edx | |
1288 subl %eax,%ecx | |
1289 movl $0,%eax | |
1290 adcl %eax,%eax | |
1291 subl %edx,%ecx | |
1292 adcl $0,%eax | |
1293 decl %ebp | |
1294 movl %ecx,(%ebx) | |
1295 jz .L032pw_end | |
1296 | |
1297 movl $0,%ecx | |
1298 movl 4(%edi),%edx | |
1299 subl %eax,%ecx | |
1300 movl $0,%eax | |
1301 adcl %eax,%eax | |
1302 subl %edx,%ecx | |
1303 adcl $0,%eax | |
1304 decl %ebp | |
1305 movl %ecx,4(%ebx) | |
1306 jz .L032pw_end | |
1307 | |
1308 movl $0,%ecx | |
1309 movl 8(%edi),%edx | |
1310 subl %eax,%ecx | |
1311 movl $0,%eax | |
1312 adcl %eax,%eax | |
1313 subl %edx,%ecx | |
1314 adcl $0,%eax | |
1315 decl %ebp | |
1316 movl %ecx,8(%ebx) | |
1317 jz .L032pw_end | |
1318 | |
1319 movl $0,%ecx | |
1320 movl 12(%edi),%edx | |
1321 subl %eax,%ecx | |
1322 movl $0,%eax | |
1323 adcl %eax,%eax | |
1324 subl %edx,%ecx | |
1325 adcl $0,%eax | |
1326 decl %ebp | |
1327 movl %ecx,12(%ebx) | |
1328 jz .L032pw_end | |
1329 | |
1330 movl $0,%ecx | |
1331 movl 16(%edi),%edx | |
1332 subl %eax,%ecx | |
1333 movl $0,%eax | |
1334 adcl %eax,%eax | |
1335 subl %edx,%ecx | |
1336 adcl $0,%eax | |
1337 decl %ebp | |
1338 movl %ecx,16(%ebx) | |
1339 jz .L032pw_end | |
1340 | |
1341 movl $0,%ecx | |
1342 movl 20(%edi),%edx | |
1343 subl %eax,%ecx | |
1344 movl $0,%eax | |
1345 adcl %eax,%eax | |
1346 subl %edx,%ecx | |
1347 adcl $0,%eax | |
1348 decl %ebp | |
1349 movl %ecx,20(%ebx) | |
1350 jz .L032pw_end | |
1351 | |
1352 movl $0,%ecx | |
1353 movl 24(%edi),%edx | |
1354 subl %eax,%ecx | |
1355 movl $0,%eax | |
1356 adcl %eax,%eax | |
1357 subl %edx,%ecx | |
1358 adcl $0,%eax | |
1359 movl %ecx,24(%ebx) | |
1360 jmp .L032pw_end | |
1361 .L033pw_pos: | |
1362 andl $4294967288,%ebp | |
1363 jz .L036pw_pos_finish | |
1364 .L037pw_pos_loop: | |
1365 | |
1366 movl (%esi),%ecx | |
1367 subl %eax,%ecx | |
1368 movl %ecx,(%ebx) | |
1369 jnc .L038pw_nc0 | |
1370 | |
1371 movl 4(%esi),%ecx | |
1372 subl %eax,%ecx | |
1373 movl %ecx,4(%ebx) | |
1374 jnc .L039pw_nc1 | |
1375 | |
1376 movl 8(%esi),%ecx | |
1377 subl %eax,%ecx | |
1378 movl %ecx,8(%ebx) | |
1379 jnc .L040pw_nc2 | |
1380 | |
1381 movl 12(%esi),%ecx | |
1382 subl %eax,%ecx | |
1383 movl %ecx,12(%ebx) | |
1384 jnc .L041pw_nc3 | |
1385 | |
1386 movl 16(%esi),%ecx | |
1387 subl %eax,%ecx | |
1388 movl %ecx,16(%ebx) | |
1389 jnc .L042pw_nc4 | |
1390 | |
1391 movl 20(%esi),%ecx | |
1392 subl %eax,%ecx | |
1393 movl %ecx,20(%ebx) | |
1394 jnc .L043pw_nc5 | |
1395 | |
1396 movl 24(%esi),%ecx | |
1397 subl %eax,%ecx | |
1398 movl %ecx,24(%ebx) | |
1399 jnc .L044pw_nc6 | |
1400 | |
1401 movl 28(%esi),%ecx | |
1402 subl %eax,%ecx | |
1403 movl %ecx,28(%ebx) | |
1404 jnc .L045pw_nc7 | |
1405 | |
1406 addl $32,%esi | |
1407 addl $32,%ebx | |
1408 subl $8,%ebp | |
1409 jnz .L037pw_pos_loop | |
1410 .L036pw_pos_finish: | |
1411 movl 36(%esp),%ebp | |
1412 andl $7,%ebp | |
1413 jz .L032pw_end | |
1414 | |
1415 movl (%esi),%ecx | |
1416 subl %eax,%ecx | |
1417 movl %ecx,(%ebx) | |
1418 jnc .L046pw_tail_nc0 | |
1419 decl %ebp | |
1420 jz .L032pw_end | |
1421 | |
1422 movl 4(%esi),%ecx | |
1423 subl %eax,%ecx | |
1424 movl %ecx,4(%ebx) | |
1425 jnc .L047pw_tail_nc1 | |
1426 decl %ebp | |
1427 jz .L032pw_end | |
1428 | |
1429 movl 8(%esi),%ecx | |
1430 subl %eax,%ecx | |
1431 movl %ecx,8(%ebx) | |
1432 jnc .L048pw_tail_nc2 | |
1433 decl %ebp | |
1434 jz .L032pw_end | |
1435 | |
1436 movl 12(%esi),%ecx | |
1437 subl %eax,%ecx | |
1438 movl %ecx,12(%ebx) | |
1439 jnc .L049pw_tail_nc3 | |
1440 decl %ebp | |
1441 jz .L032pw_end | |
1442 | |
1443 movl 16(%esi),%ecx | |
1444 subl %eax,%ecx | |
1445 movl %ecx,16(%ebx) | |
1446 jnc .L050pw_tail_nc4 | |
1447 decl %ebp | |
1448 jz .L032pw_end | |
1449 | |
1450 movl 20(%esi),%ecx | |
1451 subl %eax,%ecx | |
1452 movl %ecx,20(%ebx) | |
1453 jnc .L051pw_tail_nc5 | |
1454 decl %ebp | |
1455 jz .L032pw_end | |
1456 | |
1457 movl 24(%esi),%ecx | |
1458 subl %eax,%ecx | |
1459 movl %ecx,24(%ebx) | |
1460 jnc .L052pw_tail_nc6 | |
1461 movl $1,%eax | |
1462 jmp .L032pw_end | |
1463 .L053pw_nc_loop: | |
1464 movl (%esi),%ecx | |
1465 movl %ecx,(%ebx) | |
1466 .L038pw_nc0: | |
1467 movl 4(%esi),%ecx | |
1468 movl %ecx,4(%ebx) | |
1469 .L039pw_nc1: | |
1470 movl 8(%esi),%ecx | |
1471 movl %ecx,8(%ebx) | |
1472 .L040pw_nc2: | |
1473 movl 12(%esi),%ecx | |
1474 movl %ecx,12(%ebx) | |
1475 .L041pw_nc3: | |
1476 movl 16(%esi),%ecx | |
1477 movl %ecx,16(%ebx) | |
1478 .L042pw_nc4: | |
1479 movl 20(%esi),%ecx | |
1480 movl %ecx,20(%ebx) | |
1481 .L043pw_nc5: | |
1482 movl 24(%esi),%ecx | |
1483 movl %ecx,24(%ebx) | |
1484 .L044pw_nc6: | |
1485 movl 28(%esi),%ecx | |
1486 movl %ecx,28(%ebx) | |
1487 .L045pw_nc7: | |
1488 | |
1489 addl $32,%esi | |
1490 addl $32,%ebx | |
1491 subl $8,%ebp | |
1492 jnz .L053pw_nc_loop | |
1493 movl 36(%esp),%ebp | |
1494 andl $7,%ebp | |
1495 jz .L054pw_nc_end | |
1496 movl (%esi),%ecx | |
1497 movl %ecx,(%ebx) | |
1498 .L046pw_tail_nc0: | |
1499 decl %ebp | |
1500 jz .L054pw_nc_end | |
1501 movl 4(%esi),%ecx | |
1502 movl %ecx,4(%ebx) | |
1503 .L047pw_tail_nc1: | |
1504 decl %ebp | |
1505 jz .L054pw_nc_end | |
1506 movl 8(%esi),%ecx | |
1507 movl %ecx,8(%ebx) | |
1508 .L048pw_tail_nc2: | |
1509 decl %ebp | |
1510 jz .L054pw_nc_end | |
1511 movl 12(%esi),%ecx | |
1512 movl %ecx,12(%ebx) | |
1513 .L049pw_tail_nc3: | |
1514 decl %ebp | |
1515 jz .L054pw_nc_end | |
1516 movl 16(%esi),%ecx | |
1517 movl %ecx,16(%ebx) | |
1518 .L050pw_tail_nc4: | |
1519 decl %ebp | |
1520 jz .L054pw_nc_end | |
1521 movl 20(%esi),%ecx | |
1522 movl %ecx,20(%ebx) | |
1523 .L051pw_tail_nc5: | |
1524 decl %ebp | |
1525 jz .L054pw_nc_end | |
1526 movl 24(%esi),%ecx | |
1527 movl %ecx,24(%ebx) | |
1528 .L052pw_tail_nc6: | |
1529 .L054pw_nc_end: | |
1530 movl $0,%eax | |
1531 .L032pw_end: | |
1532 popl %edi | |
1533 popl %esi | |
1534 popl %ebx | |
1535 popl %ebp | |
1536 ret | |
1537 .size bn_sub_part_words,.-.L_bn_sub_part_words_begin | |
1538 #endif | |
OLD | NEW |