OLD | NEW |
1 #if defined(__i386__) | 1 #if defined(__i386__) |
2 .file» "src/crypto/bn/asm/x86.S" | 2 .file» "src/crypto/bn/asm/co-586.S" |
3 .text | 3 .text |
4 .globl bn_mul_add_words | 4 .globl _bn_mul_comba8 |
5 .type bn_mul_add_words,@function | 5 .align 4 |
6 .align 16 | 6 _bn_mul_comba8: |
7 bn_mul_add_words: | 7 L_bn_mul_comba8_begin: |
8 .L_bn_mul_add_words_begin: | |
9 pushl %ebp | |
10 pushl %ebx | |
11 pushl %esi | |
12 pushl %edi | |
13 | |
14 xorl %esi,%esi | |
15 movl 20(%esp),%edi | |
16 movl 28(%esp),%ecx | |
17 movl 24(%esp),%ebx | |
18 andl $4294967288,%ecx | |
19 movl 32(%esp),%ebp | |
20 pushl %ecx | |
21 jz .L000maw_finish | |
22 .L001maw_loop: | |
23 movl %ecx,(%esp) | |
24 | |
25 movl (%ebx),%eax | |
26 mull %ebp | |
27 addl %esi,%eax | |
28 movl (%edi),%esi | |
29 adcl $0,%edx | |
30 addl %esi,%eax | |
31 adcl $0,%edx | |
32 movl %eax,(%edi) | |
33 movl %edx,%esi | |
34 | |
35 movl 4(%ebx),%eax | |
36 mull %ebp | |
37 addl %esi,%eax | |
38 movl 4(%edi),%esi | |
39 adcl $0,%edx | |
40 addl %esi,%eax | |
41 adcl $0,%edx | |
42 movl %eax,4(%edi) | |
43 movl %edx,%esi | |
44 | |
45 movl 8(%ebx),%eax | |
46 mull %ebp | |
47 addl %esi,%eax | |
48 movl 8(%edi),%esi | |
49 adcl $0,%edx | |
50 addl %esi,%eax | |
51 adcl $0,%edx | |
52 movl %eax,8(%edi) | |
53 movl %edx,%esi | |
54 | |
55 movl 12(%ebx),%eax | |
56 mull %ebp | |
57 addl %esi,%eax | |
58 movl 12(%edi),%esi | |
59 adcl $0,%edx | |
60 addl %esi,%eax | |
61 adcl $0,%edx | |
62 movl %eax,12(%edi) | |
63 movl %edx,%esi | |
64 | |
65 movl 16(%ebx),%eax | |
66 mull %ebp | |
67 addl %esi,%eax | |
68 movl 16(%edi),%esi | |
69 adcl $0,%edx | |
70 addl %esi,%eax | |
71 adcl $0,%edx | |
72 movl %eax,16(%edi) | |
73 movl %edx,%esi | |
74 | |
75 movl 20(%ebx),%eax | |
76 mull %ebp | |
77 addl %esi,%eax | |
78 movl 20(%edi),%esi | |
79 adcl $0,%edx | |
80 addl %esi,%eax | |
81 adcl $0,%edx | |
82 movl %eax,20(%edi) | |
83 movl %edx,%esi | |
84 | |
85 movl 24(%ebx),%eax | |
86 mull %ebp | |
87 addl %esi,%eax | |
88 movl 24(%edi),%esi | |
89 adcl $0,%edx | |
90 addl %esi,%eax | |
91 adcl $0,%edx | |
92 movl %eax,24(%edi) | |
93 movl %edx,%esi | |
94 | |
95 movl 28(%ebx),%eax | |
96 mull %ebp | |
97 addl %esi,%eax | |
98 movl 28(%edi),%esi | |
99 adcl $0,%edx | |
100 addl %esi,%eax | |
101 adcl $0,%edx | |
102 movl %eax,28(%edi) | |
103 movl %edx,%esi | |
104 | |
105 movl (%esp),%ecx | |
106 addl $32,%ebx | |
107 addl $32,%edi | |
108 subl $8,%ecx | |
109 jnz .L001maw_loop | |
110 .L000maw_finish: | |
111 movl 32(%esp),%ecx | |
112 andl $7,%ecx | |
113 jnz .L002maw_finish2 | |
114 jmp .L003maw_end | |
115 .L002maw_finish2: | |
116 | |
117 movl (%ebx),%eax | |
118 mull %ebp | |
119 addl %esi,%eax | |
120 movl (%edi),%esi | |
121 adcl $0,%edx | |
122 addl %esi,%eax | |
123 adcl $0,%edx | |
124 decl %ecx | |
125 movl %eax,(%edi) | |
126 movl %edx,%esi | |
127 jz .L003maw_end | |
128 | |
129 movl 4(%ebx),%eax | |
130 mull %ebp | |
131 addl %esi,%eax | |
132 movl 4(%edi),%esi | |
133 adcl $0,%edx | |
134 addl %esi,%eax | |
135 adcl $0,%edx | |
136 decl %ecx | |
137 movl %eax,4(%edi) | |
138 movl %edx,%esi | |
139 jz .L003maw_end | |
140 | |
141 movl 8(%ebx),%eax | |
142 mull %ebp | |
143 addl %esi,%eax | |
144 movl 8(%edi),%esi | |
145 adcl $0,%edx | |
146 addl %esi,%eax | |
147 adcl $0,%edx | |
148 decl %ecx | |
149 movl %eax,8(%edi) | |
150 movl %edx,%esi | |
151 jz .L003maw_end | |
152 | |
153 movl 12(%ebx),%eax | |
154 mull %ebp | |
155 addl %esi,%eax | |
156 movl 12(%edi),%esi | |
157 adcl $0,%edx | |
158 addl %esi,%eax | |
159 adcl $0,%edx | |
160 decl %ecx | |
161 movl %eax,12(%edi) | |
162 movl %edx,%esi | |
163 jz .L003maw_end | |
164 | |
165 movl 16(%ebx),%eax | |
166 mull %ebp | |
167 addl %esi,%eax | |
168 movl 16(%edi),%esi | |
169 adcl $0,%edx | |
170 addl %esi,%eax | |
171 adcl $0,%edx | |
172 decl %ecx | |
173 movl %eax,16(%edi) | |
174 movl %edx,%esi | |
175 jz .L003maw_end | |
176 | |
177 movl 20(%ebx),%eax | |
178 mull %ebp | |
179 addl %esi,%eax | |
180 movl 20(%edi),%esi | |
181 adcl $0,%edx | |
182 addl %esi,%eax | |
183 adcl $0,%edx | |
184 decl %ecx | |
185 movl %eax,20(%edi) | |
186 movl %edx,%esi | |
187 jz .L003maw_end | |
188 | |
189 movl 24(%ebx),%eax | |
190 mull %ebp | |
191 addl %esi,%eax | |
192 movl 24(%edi),%esi | |
193 adcl $0,%edx | |
194 addl %esi,%eax | |
195 adcl $0,%edx | |
196 movl %eax,24(%edi) | |
197 movl %edx,%esi | |
198 .L003maw_end: | |
199 movl %esi,%eax | |
200 popl %ecx | |
201 popl %edi | |
202 popl %esi | |
203 popl %ebx | |
204 popl %ebp | |
205 ret | |
206 .size bn_mul_add_words,.-.L_bn_mul_add_words_begin | |
207 .globl bn_mul_words | |
208 .type bn_mul_words,@function | |
209 .align 16 | |
210 bn_mul_words: | |
211 .L_bn_mul_words_begin: | |
212 pushl %ebp | |
213 pushl %ebx | |
214 pushl %esi | |
215 pushl %edi | |
216 | |
217 xorl %esi,%esi | |
218 movl 20(%esp),%edi | |
219 movl 24(%esp),%ebx | |
220 movl 28(%esp),%ebp | |
221 movl 32(%esp),%ecx | |
222 andl $4294967288,%ebp | |
223 jz .L004mw_finish | |
224 .L005mw_loop: | |
225 | |
226 movl (%ebx),%eax | |
227 mull %ecx | |
228 addl %esi,%eax | |
229 adcl $0,%edx | |
230 movl %eax,(%edi) | |
231 movl %edx,%esi | |
232 | |
233 movl 4(%ebx),%eax | |
234 mull %ecx | |
235 addl %esi,%eax | |
236 adcl $0,%edx | |
237 movl %eax,4(%edi) | |
238 movl %edx,%esi | |
239 | |
240 movl 8(%ebx),%eax | |
241 mull %ecx | |
242 addl %esi,%eax | |
243 adcl $0,%edx | |
244 movl %eax,8(%edi) | |
245 movl %edx,%esi | |
246 | |
247 movl 12(%ebx),%eax | |
248 mull %ecx | |
249 addl %esi,%eax | |
250 adcl $0,%edx | |
251 movl %eax,12(%edi) | |
252 movl %edx,%esi | |
253 | |
254 movl 16(%ebx),%eax | |
255 mull %ecx | |
256 addl %esi,%eax | |
257 adcl $0,%edx | |
258 movl %eax,16(%edi) | |
259 movl %edx,%esi | |
260 | |
261 movl 20(%ebx),%eax | |
262 mull %ecx | |
263 addl %esi,%eax | |
264 adcl $0,%edx | |
265 movl %eax,20(%edi) | |
266 movl %edx,%esi | |
267 | |
268 movl 24(%ebx),%eax | |
269 mull %ecx | |
270 addl %esi,%eax | |
271 adcl $0,%edx | |
272 movl %eax,24(%edi) | |
273 movl %edx,%esi | |
274 | |
275 movl 28(%ebx),%eax | |
276 mull %ecx | |
277 addl %esi,%eax | |
278 adcl $0,%edx | |
279 movl %eax,28(%edi) | |
280 movl %edx,%esi | |
281 | |
282 addl $32,%ebx | |
283 addl $32,%edi | |
284 subl $8,%ebp | |
285 jz .L004mw_finish | |
286 jmp .L005mw_loop | |
287 .L004mw_finish: | |
288 movl 28(%esp),%ebp | |
289 andl $7,%ebp | |
290 jnz .L006mw_finish2 | |
291 jmp .L007mw_end | |
292 .L006mw_finish2: | |
293 | |
294 movl (%ebx),%eax | |
295 mull %ecx | |
296 addl %esi,%eax | |
297 adcl $0,%edx | |
298 movl %eax,(%edi) | |
299 movl %edx,%esi | |
300 decl %ebp | |
301 jz .L007mw_end | |
302 | |
303 movl 4(%ebx),%eax | |
304 mull %ecx | |
305 addl %esi,%eax | |
306 adcl $0,%edx | |
307 movl %eax,4(%edi) | |
308 movl %edx,%esi | |
309 decl %ebp | |
310 jz .L007mw_end | |
311 | |
312 movl 8(%ebx),%eax | |
313 mull %ecx | |
314 addl %esi,%eax | |
315 adcl $0,%edx | |
316 movl %eax,8(%edi) | |
317 movl %edx,%esi | |
318 decl %ebp | |
319 jz .L007mw_end | |
320 | |
321 movl 12(%ebx),%eax | |
322 mull %ecx | |
323 addl %esi,%eax | |
324 adcl $0,%edx | |
325 movl %eax,12(%edi) | |
326 movl %edx,%esi | |
327 decl %ebp | |
328 jz .L007mw_end | |
329 | |
330 movl 16(%ebx),%eax | |
331 mull %ecx | |
332 addl %esi,%eax | |
333 adcl $0,%edx | |
334 movl %eax,16(%edi) | |
335 movl %edx,%esi | |
336 decl %ebp | |
337 jz .L007mw_end | |
338 | |
339 movl 20(%ebx),%eax | |
340 mull %ecx | |
341 addl %esi,%eax | |
342 adcl $0,%edx | |
343 movl %eax,20(%edi) | |
344 movl %edx,%esi | |
345 decl %ebp | |
346 jz .L007mw_end | |
347 | |
348 movl 24(%ebx),%eax | |
349 mull %ecx | |
350 addl %esi,%eax | |
351 adcl $0,%edx | |
352 movl %eax,24(%edi) | |
353 movl %edx,%esi | |
354 .L007mw_end: | |
355 movl %esi,%eax | |
356 popl %edi | |
357 popl %esi | |
358 popl %ebx | |
359 popl %ebp | |
360 ret | |
361 .size bn_mul_words,.-.L_bn_mul_words_begin | |
362 .globl bn_sqr_words | |
363 .type bn_sqr_words,@function | |
364 .align 16 | |
365 bn_sqr_words: | |
366 .L_bn_sqr_words_begin: | |
367 pushl %ebp | |
368 pushl %ebx | |
369 pushl %esi | |
370 pushl %edi | |
371 | |
372 movl 20(%esp),%esi | |
373 movl 24(%esp),%edi | |
374 movl 28(%esp),%ebx | |
375 andl $4294967288,%ebx | |
376 jz .L008sw_finish | |
377 .L009sw_loop: | |
378 | |
379 movl (%edi),%eax | |
380 mull %eax | |
381 movl %eax,(%esi) | |
382 movl %edx,4(%esi) | |
383 | |
384 movl 4(%edi),%eax | |
385 mull %eax | |
386 movl %eax,8(%esi) | |
387 movl %edx,12(%esi) | |
388 | |
389 movl 8(%edi),%eax | |
390 mull %eax | |
391 movl %eax,16(%esi) | |
392 movl %edx,20(%esi) | |
393 | |
394 movl 12(%edi),%eax | |
395 mull %eax | |
396 movl %eax,24(%esi) | |
397 movl %edx,28(%esi) | |
398 | |
399 movl 16(%edi),%eax | |
400 mull %eax | |
401 movl %eax,32(%esi) | |
402 movl %edx,36(%esi) | |
403 | |
404 movl 20(%edi),%eax | |
405 mull %eax | |
406 movl %eax,40(%esi) | |
407 movl %edx,44(%esi) | |
408 | |
409 movl 24(%edi),%eax | |
410 mull %eax | |
411 movl %eax,48(%esi) | |
412 movl %edx,52(%esi) | |
413 | |
414 movl 28(%edi),%eax | |
415 mull %eax | |
416 movl %eax,56(%esi) | |
417 movl %edx,60(%esi) | |
418 | |
419 addl $32,%edi | |
420 addl $64,%esi | |
421 subl $8,%ebx | |
422 jnz .L009sw_loop | |
423 .L008sw_finish: | |
424 movl 28(%esp),%ebx | |
425 andl $7,%ebx | |
426 jz .L010sw_end | |
427 | |
428 movl (%edi),%eax | |
429 mull %eax | |
430 movl %eax,(%esi) | |
431 decl %ebx | |
432 movl %edx,4(%esi) | |
433 jz .L010sw_end | |
434 | |
435 movl 4(%edi),%eax | |
436 mull %eax | |
437 movl %eax,8(%esi) | |
438 decl %ebx | |
439 movl %edx,12(%esi) | |
440 jz .L010sw_end | |
441 | |
442 movl 8(%edi),%eax | |
443 mull %eax | |
444 movl %eax,16(%esi) | |
445 decl %ebx | |
446 movl %edx,20(%esi) | |
447 jz .L010sw_end | |
448 | |
449 movl 12(%edi),%eax | |
450 mull %eax | |
451 movl %eax,24(%esi) | |
452 decl %ebx | |
453 movl %edx,28(%esi) | |
454 jz .L010sw_end | |
455 | |
456 movl 16(%edi),%eax | |
457 mull %eax | |
458 movl %eax,32(%esi) | |
459 decl %ebx | |
460 movl %edx,36(%esi) | |
461 jz .L010sw_end | |
462 | |
463 movl 20(%edi),%eax | |
464 mull %eax | |
465 movl %eax,40(%esi) | |
466 decl %ebx | |
467 movl %edx,44(%esi) | |
468 jz .L010sw_end | |
469 | |
470 movl 24(%edi),%eax | |
471 mull %eax | |
472 movl %eax,48(%esi) | |
473 movl %edx,52(%esi) | |
474 .L010sw_end: | |
475 popl %edi | |
476 popl %esi | |
477 popl %ebx | |
478 popl %ebp | |
479 ret | |
480 .size bn_sqr_words,.-.L_bn_sqr_words_begin | |
481 .globl bn_div_words | |
482 .type bn_div_words,@function | |
483 .align 16 | |
484 bn_div_words: | |
485 .L_bn_div_words_begin: | |
486 pushl %ebp | |
487 pushl %ebx | |
488 pushl %esi | |
489 pushl %edi | |
490 movl 20(%esp),%edx | |
491 movl 24(%esp),%eax | |
492 movl 28(%esp),%ebx | |
493 divl %ebx | |
494 popl %edi | |
495 popl %esi | |
496 popl %ebx | |
497 popl %ebp | |
498 ret | |
499 .size bn_div_words,.-.L_bn_div_words_begin | |
500 .globl bn_add_words | |
501 .type bn_add_words,@function | |
502 .align 16 | |
503 bn_add_words: | |
504 .L_bn_add_words_begin: | |
505 pushl %ebp | |
506 pushl %ebx | |
507 pushl %esi | |
508 pushl %edi | |
509 | |
510 movl 20(%esp),%ebx | |
511 movl 24(%esp),%esi | |
512 movl 28(%esp),%edi | |
513 movl 32(%esp),%ebp | |
514 xorl %eax,%eax | |
515 andl $4294967288,%ebp | |
516 jz .L011aw_finish | |
517 .L012aw_loop: | |
518 | |
519 movl (%esi),%ecx | |
520 movl (%edi),%edx | |
521 addl %eax,%ecx | |
522 movl $0,%eax | |
523 adcl %eax,%eax | |
524 addl %edx,%ecx | |
525 adcl $0,%eax | |
526 movl %ecx,(%ebx) | |
527 | |
528 movl 4(%esi),%ecx | |
529 movl 4(%edi),%edx | |
530 addl %eax,%ecx | |
531 movl $0,%eax | |
532 adcl %eax,%eax | |
533 addl %edx,%ecx | |
534 adcl $0,%eax | |
535 movl %ecx,4(%ebx) | |
536 | |
537 movl 8(%esi),%ecx | |
538 movl 8(%edi),%edx | |
539 addl %eax,%ecx | |
540 movl $0,%eax | |
541 adcl %eax,%eax | |
542 addl %edx,%ecx | |
543 adcl $0,%eax | |
544 movl %ecx,8(%ebx) | |
545 | |
546 movl 12(%esi),%ecx | |
547 movl 12(%edi),%edx | |
548 addl %eax,%ecx | |
549 movl $0,%eax | |
550 adcl %eax,%eax | |
551 addl %edx,%ecx | |
552 adcl $0,%eax | |
553 movl %ecx,12(%ebx) | |
554 | |
555 movl 16(%esi),%ecx | |
556 movl 16(%edi),%edx | |
557 addl %eax,%ecx | |
558 movl $0,%eax | |
559 adcl %eax,%eax | |
560 addl %edx,%ecx | |
561 adcl $0,%eax | |
562 movl %ecx,16(%ebx) | |
563 | |
564 movl 20(%esi),%ecx | |
565 movl 20(%edi),%edx | |
566 addl %eax,%ecx | |
567 movl $0,%eax | |
568 adcl %eax,%eax | |
569 addl %edx,%ecx | |
570 adcl $0,%eax | |
571 movl %ecx,20(%ebx) | |
572 | |
573 movl 24(%esi),%ecx | |
574 movl 24(%edi),%edx | |
575 addl %eax,%ecx | |
576 movl $0,%eax | |
577 adcl %eax,%eax | |
578 addl %edx,%ecx | |
579 adcl $0,%eax | |
580 movl %ecx,24(%ebx) | |
581 | |
582 movl 28(%esi),%ecx | |
583 movl 28(%edi),%edx | |
584 addl %eax,%ecx | |
585 movl $0,%eax | |
586 adcl %eax,%eax | |
587 addl %edx,%ecx | |
588 adcl $0,%eax | |
589 movl %ecx,28(%ebx) | |
590 | |
591 addl $32,%esi | |
592 addl $32,%edi | |
593 addl $32,%ebx | |
594 subl $8,%ebp | |
595 jnz .L012aw_loop | |
596 .L011aw_finish: | |
597 movl 32(%esp),%ebp | |
598 andl $7,%ebp | |
599 jz .L013aw_end | |
600 | |
601 movl (%esi),%ecx | |
602 movl (%edi),%edx | |
603 addl %eax,%ecx | |
604 movl $0,%eax | |
605 adcl %eax,%eax | |
606 addl %edx,%ecx | |
607 adcl $0,%eax | |
608 decl %ebp | |
609 movl %ecx,(%ebx) | |
610 jz .L013aw_end | |
611 | |
612 movl 4(%esi),%ecx | |
613 movl 4(%edi),%edx | |
614 addl %eax,%ecx | |
615 movl $0,%eax | |
616 adcl %eax,%eax | |
617 addl %edx,%ecx | |
618 adcl $0,%eax | |
619 decl %ebp | |
620 movl %ecx,4(%ebx) | |
621 jz .L013aw_end | |
622 | |
623 movl 8(%esi),%ecx | |
624 movl 8(%edi),%edx | |
625 addl %eax,%ecx | |
626 movl $0,%eax | |
627 adcl %eax,%eax | |
628 addl %edx,%ecx | |
629 adcl $0,%eax | |
630 decl %ebp | |
631 movl %ecx,8(%ebx) | |
632 jz .L013aw_end | |
633 | |
634 movl 12(%esi),%ecx | |
635 movl 12(%edi),%edx | |
636 addl %eax,%ecx | |
637 movl $0,%eax | |
638 adcl %eax,%eax | |
639 addl %edx,%ecx | |
640 adcl $0,%eax | |
641 decl %ebp | |
642 movl %ecx,12(%ebx) | |
643 jz .L013aw_end | |
644 | |
645 movl 16(%esi),%ecx | |
646 movl 16(%edi),%edx | |
647 addl %eax,%ecx | |
648 movl $0,%eax | |
649 adcl %eax,%eax | |
650 addl %edx,%ecx | |
651 adcl $0,%eax | |
652 decl %ebp | |
653 movl %ecx,16(%ebx) | |
654 jz .L013aw_end | |
655 | |
656 movl 20(%esi),%ecx | |
657 movl 20(%edi),%edx | |
658 addl %eax,%ecx | |
659 movl $0,%eax | |
660 adcl %eax,%eax | |
661 addl %edx,%ecx | |
662 adcl $0,%eax | |
663 decl %ebp | |
664 movl %ecx,20(%ebx) | |
665 jz .L013aw_end | |
666 | |
667 movl 24(%esi),%ecx | |
668 movl 24(%edi),%edx | |
669 addl %eax,%ecx | |
670 movl $0,%eax | |
671 adcl %eax,%eax | |
672 addl %edx,%ecx | |
673 adcl $0,%eax | |
674 movl %ecx,24(%ebx) | |
675 .L013aw_end: | |
676 popl %edi | |
677 popl %esi | |
678 popl %ebx | |
679 popl %ebp | |
680 ret | |
681 .size bn_add_words,.-.L_bn_add_words_begin | |
682 .globl bn_sub_words | |
683 .type bn_sub_words,@function | |
684 .align 16 | |
685 bn_sub_words: | |
686 .L_bn_sub_words_begin: | |
687 pushl %ebp | |
688 pushl %ebx | |
689 pushl %esi | |
690 pushl %edi | |
691 | |
692 movl 20(%esp),%ebx | |
693 movl 24(%esp),%esi | |
694 movl 28(%esp),%edi | |
695 movl 32(%esp),%ebp | |
696 xorl %eax,%eax | |
697 andl $4294967288,%ebp | |
698 jz .L014aw_finish | |
699 .L015aw_loop: | |
700 | |
701 movl (%esi),%ecx | |
702 movl (%edi),%edx | |
703 subl %eax,%ecx | |
704 movl $0,%eax | |
705 adcl %eax,%eax | |
706 subl %edx,%ecx | |
707 adcl $0,%eax | |
708 movl %ecx,(%ebx) | |
709 | |
710 movl 4(%esi),%ecx | |
711 movl 4(%edi),%edx | |
712 subl %eax,%ecx | |
713 movl $0,%eax | |
714 adcl %eax,%eax | |
715 subl %edx,%ecx | |
716 adcl $0,%eax | |
717 movl %ecx,4(%ebx) | |
718 | |
719 movl 8(%esi),%ecx | |
720 movl 8(%edi),%edx | |
721 subl %eax,%ecx | |
722 movl $0,%eax | |
723 adcl %eax,%eax | |
724 subl %edx,%ecx | |
725 adcl $0,%eax | |
726 movl %ecx,8(%ebx) | |
727 | |
728 movl 12(%esi),%ecx | |
729 movl 12(%edi),%edx | |
730 subl %eax,%ecx | |
731 movl $0,%eax | |
732 adcl %eax,%eax | |
733 subl %edx,%ecx | |
734 adcl $0,%eax | |
735 movl %ecx,12(%ebx) | |
736 | |
737 movl 16(%esi),%ecx | |
738 movl 16(%edi),%edx | |
739 subl %eax,%ecx | |
740 movl $0,%eax | |
741 adcl %eax,%eax | |
742 subl %edx,%ecx | |
743 adcl $0,%eax | |
744 movl %ecx,16(%ebx) | |
745 | |
746 movl 20(%esi),%ecx | |
747 movl 20(%edi),%edx | |
748 subl %eax,%ecx | |
749 movl $0,%eax | |
750 adcl %eax,%eax | |
751 subl %edx,%ecx | |
752 adcl $0,%eax | |
753 movl %ecx,20(%ebx) | |
754 | |
755 movl 24(%esi),%ecx | |
756 movl 24(%edi),%edx | |
757 subl %eax,%ecx | |
758 movl $0,%eax | |
759 adcl %eax,%eax | |
760 subl %edx,%ecx | |
761 adcl $0,%eax | |
762 movl %ecx,24(%ebx) | |
763 | |
764 movl 28(%esi),%ecx | |
765 movl 28(%edi),%edx | |
766 subl %eax,%ecx | |
767 movl $0,%eax | |
768 adcl %eax,%eax | |
769 subl %edx,%ecx | |
770 adcl $0,%eax | |
771 movl %ecx,28(%ebx) | |
772 | |
773 addl $32,%esi | |
774 addl $32,%edi | |
775 addl $32,%ebx | |
776 subl $8,%ebp | |
777 jnz .L015aw_loop | |
778 .L014aw_finish: | |
779 movl 32(%esp),%ebp | |
780 andl $7,%ebp | |
781 jz .L016aw_end | |
782 | |
783 movl (%esi),%ecx | |
784 movl (%edi),%edx | |
785 subl %eax,%ecx | |
786 movl $0,%eax | |
787 adcl %eax,%eax | |
788 subl %edx,%ecx | |
789 adcl $0,%eax | |
790 decl %ebp | |
791 movl %ecx,(%ebx) | |
792 jz .L016aw_end | |
793 | |
794 movl 4(%esi),%ecx | |
795 movl 4(%edi),%edx | |
796 subl %eax,%ecx | |
797 movl $0,%eax | |
798 adcl %eax,%eax | |
799 subl %edx,%ecx | |
800 adcl $0,%eax | |
801 decl %ebp | |
802 movl %ecx,4(%ebx) | |
803 jz .L016aw_end | |
804 | |
805 movl 8(%esi),%ecx | |
806 movl 8(%edi),%edx | |
807 subl %eax,%ecx | |
808 movl $0,%eax | |
809 adcl %eax,%eax | |
810 subl %edx,%ecx | |
811 adcl $0,%eax | |
812 decl %ebp | |
813 movl %ecx,8(%ebx) | |
814 jz .L016aw_end | |
815 | |
816 movl 12(%esi),%ecx | |
817 movl 12(%edi),%edx | |
818 subl %eax,%ecx | |
819 movl $0,%eax | |
820 adcl %eax,%eax | |
821 subl %edx,%ecx | |
822 adcl $0,%eax | |
823 decl %ebp | |
824 movl %ecx,12(%ebx) | |
825 jz .L016aw_end | |
826 | |
827 movl 16(%esi),%ecx | |
828 movl 16(%edi),%edx | |
829 subl %eax,%ecx | |
830 movl $0,%eax | |
831 adcl %eax,%eax | |
832 subl %edx,%ecx | |
833 adcl $0,%eax | |
834 decl %ebp | |
835 movl %ecx,16(%ebx) | |
836 jz .L016aw_end | |
837 | |
838 movl 20(%esi),%ecx | |
839 movl 20(%edi),%edx | |
840 subl %eax,%ecx | |
841 movl $0,%eax | |
842 adcl %eax,%eax | |
843 subl %edx,%ecx | |
844 adcl $0,%eax | |
845 decl %ebp | |
846 movl %ecx,20(%ebx) | |
847 jz .L016aw_end | |
848 | |
849 movl 24(%esi),%ecx | |
850 movl 24(%edi),%edx | |
851 subl %eax,%ecx | |
852 movl $0,%eax | |
853 adcl %eax,%eax | |
854 subl %edx,%ecx | |
855 adcl $0,%eax | |
856 movl %ecx,24(%ebx) | |
857 .L016aw_end: | |
858 popl %edi | |
859 popl %esi | |
860 popl %ebx | |
861 popl %ebp | |
862 ret | |
863 .size bn_sub_words,.-.L_bn_sub_words_begin | |
864 .globl bn_mul_comba8 | |
865 .type bn_mul_comba8,@function | |
866 .align 16 | |
867 bn_mul_comba8: | |
868 .L_bn_mul_comba8_begin: | |
869 pushl %esi | 8 pushl %esi |
870 movl 12(%esp),%esi | 9 movl 12(%esp),%esi |
871 pushl %edi | 10 pushl %edi |
872 movl 20(%esp),%edi | 11 movl 20(%esp),%edi |
873 pushl %ebp | 12 pushl %ebp |
874 pushl %ebx | 13 pushl %ebx |
875 xorl %ebx,%ebx | 14 xorl %ebx,%ebx |
876 movl (%esi),%eax | 15 movl (%esi),%eax |
877 xorl %ecx,%ecx | 16 xorl %ecx,%ecx |
878 movl (%edi),%edx | 17 movl (%edi),%edx |
879 | 18 » # ################## Calculate word 0 |
880 xorl %ebp,%ebp | 19 xorl %ebp,%ebp |
881 | 20 » # mul a[0]*b[0] |
882 mull %edx | 21 mull %edx |
883 addl %eax,%ebx | 22 addl %eax,%ebx |
884 movl 20(%esp),%eax | 23 movl 20(%esp),%eax |
885 adcl %edx,%ecx | 24 adcl %edx,%ecx |
886 movl (%edi),%edx | 25 movl (%edi),%edx |
887 adcl $0,%ebp | 26 adcl $0,%ebp |
888 movl %ebx,(%eax) | 27 movl %ebx,(%eax) |
889 movl 4(%esi),%eax | 28 movl 4(%esi),%eax |
890 | 29 » # saved r[0] |
891 | 30 » # ################## Calculate word 1 |
892 xorl %ebx,%ebx | 31 xorl %ebx,%ebx |
893 | 32 » # mul a[1]*b[0] |
894 mull %edx | 33 mull %edx |
895 addl %eax,%ecx | 34 addl %eax,%ecx |
896 movl (%esi),%eax | 35 movl (%esi),%eax |
897 adcl %edx,%ebp | 36 adcl %edx,%ebp |
898 movl 4(%edi),%edx | 37 movl 4(%edi),%edx |
899 adcl $0,%ebx | 38 adcl $0,%ebx |
900 | 39 » # mul a[0]*b[1] |
901 mull %edx | 40 mull %edx |
902 addl %eax,%ecx | 41 addl %eax,%ecx |
903 movl 20(%esp),%eax | 42 movl 20(%esp),%eax |
904 adcl %edx,%ebp | 43 adcl %edx,%ebp |
905 movl (%edi),%edx | 44 movl (%edi),%edx |
906 adcl $0,%ebx | 45 adcl $0,%ebx |
907 movl %ecx,4(%eax) | 46 movl %ecx,4(%eax) |
908 movl 8(%esi),%eax | 47 movl 8(%esi),%eax |
909 | 48 » # saved r[1] |
910 | 49 » # ################## Calculate word 2 |
911 xorl %ecx,%ecx | 50 xorl %ecx,%ecx |
912 | 51 » # mul a[2]*b[0] |
913 mull %edx | 52 mull %edx |
914 addl %eax,%ebp | 53 addl %eax,%ebp |
915 movl 4(%esi),%eax | 54 movl 4(%esi),%eax |
916 adcl %edx,%ebx | 55 adcl %edx,%ebx |
917 movl 4(%edi),%edx | 56 movl 4(%edi),%edx |
918 adcl $0,%ecx | 57 adcl $0,%ecx |
919 | 58 » # mul a[1]*b[1] |
920 mull %edx | 59 mull %edx |
921 addl %eax,%ebp | 60 addl %eax,%ebp |
922 movl (%esi),%eax | 61 movl (%esi),%eax |
923 adcl %edx,%ebx | 62 adcl %edx,%ebx |
924 movl 8(%edi),%edx | 63 movl 8(%edi),%edx |
925 adcl $0,%ecx | 64 adcl $0,%ecx |
926 | 65 » # mul a[0]*b[2] |
927 mull %edx | 66 mull %edx |
928 addl %eax,%ebp | 67 addl %eax,%ebp |
929 movl 20(%esp),%eax | 68 movl 20(%esp),%eax |
930 adcl %edx,%ebx | 69 adcl %edx,%ebx |
931 movl (%edi),%edx | 70 movl (%edi),%edx |
932 adcl $0,%ecx | 71 adcl $0,%ecx |
933 movl %ebp,8(%eax) | 72 movl %ebp,8(%eax) |
934 movl 12(%esi),%eax | 73 movl 12(%esi),%eax |
935 | 74 » # saved r[2] |
936 | 75 » # ################## Calculate word 3 |
937 xorl %ebp,%ebp | 76 xorl %ebp,%ebp |
938 | 77 » # mul a[3]*b[0] |
939 mull %edx | 78 mull %edx |
940 addl %eax,%ebx | 79 addl %eax,%ebx |
941 movl 8(%esi),%eax | 80 movl 8(%esi),%eax |
942 adcl %edx,%ecx | 81 adcl %edx,%ecx |
943 movl 4(%edi),%edx | 82 movl 4(%edi),%edx |
944 adcl $0,%ebp | 83 adcl $0,%ebp |
945 | 84 » # mul a[2]*b[1] |
946 mull %edx | 85 mull %edx |
947 addl %eax,%ebx | 86 addl %eax,%ebx |
948 movl 4(%esi),%eax | 87 movl 4(%esi),%eax |
949 adcl %edx,%ecx | 88 adcl %edx,%ecx |
950 movl 8(%edi),%edx | 89 movl 8(%edi),%edx |
951 adcl $0,%ebp | 90 adcl $0,%ebp |
952 | 91 » # mul a[1]*b[2] |
953 mull %edx | 92 mull %edx |
954 addl %eax,%ebx | 93 addl %eax,%ebx |
955 movl (%esi),%eax | 94 movl (%esi),%eax |
956 adcl %edx,%ecx | 95 adcl %edx,%ecx |
957 movl 12(%edi),%edx | 96 movl 12(%edi),%edx |
958 adcl $0,%ebp | 97 adcl $0,%ebp |
959 | 98 » # mul a[0]*b[3] |
960 mull %edx | 99 mull %edx |
961 addl %eax,%ebx | 100 addl %eax,%ebx |
962 movl 20(%esp),%eax | 101 movl 20(%esp),%eax |
963 adcl %edx,%ecx | 102 adcl %edx,%ecx |
964 movl (%edi),%edx | 103 movl (%edi),%edx |
965 adcl $0,%ebp | 104 adcl $0,%ebp |
966 movl %ebx,12(%eax) | 105 movl %ebx,12(%eax) |
967 movl 16(%esi),%eax | 106 movl 16(%esi),%eax |
968 | 107 » # saved r[3] |
969 | 108 » # ################## Calculate word 4 |
970 xorl %ebx,%ebx | 109 xorl %ebx,%ebx |
971 | 110 » # mul a[4]*b[0] |
972 mull %edx | 111 mull %edx |
973 addl %eax,%ecx | 112 addl %eax,%ecx |
974 movl 12(%esi),%eax | 113 movl 12(%esi),%eax |
975 adcl %edx,%ebp | 114 adcl %edx,%ebp |
976 movl 4(%edi),%edx | 115 movl 4(%edi),%edx |
977 adcl $0,%ebx | 116 adcl $0,%ebx |
978 | 117 » # mul a[3]*b[1] |
979 mull %edx | 118 mull %edx |
980 addl %eax,%ecx | 119 addl %eax,%ecx |
981 movl 8(%esi),%eax | 120 movl 8(%esi),%eax |
982 adcl %edx,%ebp | 121 adcl %edx,%ebp |
983 movl 8(%edi),%edx | 122 movl 8(%edi),%edx |
984 adcl $0,%ebx | 123 adcl $0,%ebx |
985 | 124 » # mul a[2]*b[2] |
986 mull %edx | 125 mull %edx |
987 addl %eax,%ecx | 126 addl %eax,%ecx |
988 movl 4(%esi),%eax | 127 movl 4(%esi),%eax |
989 adcl %edx,%ebp | 128 adcl %edx,%ebp |
990 movl 12(%edi),%edx | 129 movl 12(%edi),%edx |
991 adcl $0,%ebx | 130 adcl $0,%ebx |
992 | 131 » # mul a[1]*b[3] |
993 mull %edx | 132 mull %edx |
994 addl %eax,%ecx | 133 addl %eax,%ecx |
995 movl (%esi),%eax | 134 movl (%esi),%eax |
996 adcl %edx,%ebp | 135 adcl %edx,%ebp |
997 movl 16(%edi),%edx | 136 movl 16(%edi),%edx |
998 adcl $0,%ebx | 137 adcl $0,%ebx |
999 | 138 » # mul a[0]*b[4] |
1000 mull %edx | 139 mull %edx |
1001 addl %eax,%ecx | 140 addl %eax,%ecx |
1002 movl 20(%esp),%eax | 141 movl 20(%esp),%eax |
1003 adcl %edx,%ebp | 142 adcl %edx,%ebp |
1004 movl (%edi),%edx | 143 movl (%edi),%edx |
1005 adcl $0,%ebx | 144 adcl $0,%ebx |
1006 movl %ecx,16(%eax) | 145 movl %ecx,16(%eax) |
1007 movl 20(%esi),%eax | 146 movl 20(%esi),%eax |
1008 | 147 » # saved r[4] |
1009 | 148 » # ################## Calculate word 5 |
1010 xorl %ecx,%ecx | 149 xorl %ecx,%ecx |
1011 | 150 » # mul a[5]*b[0] |
1012 mull %edx | 151 mull %edx |
1013 addl %eax,%ebp | 152 addl %eax,%ebp |
1014 movl 16(%esi),%eax | 153 movl 16(%esi),%eax |
1015 adcl %edx,%ebx | 154 adcl %edx,%ebx |
1016 movl 4(%edi),%edx | 155 movl 4(%edi),%edx |
1017 adcl $0,%ecx | 156 adcl $0,%ecx |
1018 | 157 » # mul a[4]*b[1] |
1019 mull %edx | 158 mull %edx |
1020 addl %eax,%ebp | 159 addl %eax,%ebp |
1021 movl 12(%esi),%eax | 160 movl 12(%esi),%eax |
1022 adcl %edx,%ebx | 161 adcl %edx,%ebx |
1023 movl 8(%edi),%edx | 162 movl 8(%edi),%edx |
1024 adcl $0,%ecx | 163 adcl $0,%ecx |
1025 | 164 » # mul a[3]*b[2] |
1026 mull %edx | 165 mull %edx |
1027 addl %eax,%ebp | 166 addl %eax,%ebp |
1028 movl 8(%esi),%eax | 167 movl 8(%esi),%eax |
1029 adcl %edx,%ebx | 168 adcl %edx,%ebx |
1030 movl 12(%edi),%edx | 169 movl 12(%edi),%edx |
1031 adcl $0,%ecx | 170 adcl $0,%ecx |
1032 | 171 » # mul a[2]*b[3] |
1033 mull %edx | 172 mull %edx |
1034 addl %eax,%ebp | 173 addl %eax,%ebp |
1035 movl 4(%esi),%eax | 174 movl 4(%esi),%eax |
1036 adcl %edx,%ebx | 175 adcl %edx,%ebx |
1037 movl 16(%edi),%edx | 176 movl 16(%edi),%edx |
1038 adcl $0,%ecx | 177 adcl $0,%ecx |
1039 | 178 » # mul a[1]*b[4] |
1040 mull %edx | 179 mull %edx |
1041 addl %eax,%ebp | 180 addl %eax,%ebp |
1042 movl (%esi),%eax | 181 movl (%esi),%eax |
1043 adcl %edx,%ebx | 182 adcl %edx,%ebx |
1044 movl 20(%edi),%edx | 183 movl 20(%edi),%edx |
1045 adcl $0,%ecx | 184 adcl $0,%ecx |
1046 | 185 » # mul a[0]*b[5] |
1047 mull %edx | 186 mull %edx |
1048 addl %eax,%ebp | 187 addl %eax,%ebp |
1049 movl 20(%esp),%eax | 188 movl 20(%esp),%eax |
1050 adcl %edx,%ebx | 189 adcl %edx,%ebx |
1051 movl (%edi),%edx | 190 movl (%edi),%edx |
1052 adcl $0,%ecx | 191 adcl $0,%ecx |
1053 movl %ebp,20(%eax) | 192 movl %ebp,20(%eax) |
1054 movl 24(%esi),%eax | 193 movl 24(%esi),%eax |
1055 | 194 » # saved r[5] |
1056 | 195 » # ################## Calculate word 6 |
1057 xorl %ebp,%ebp | 196 xorl %ebp,%ebp |
1058 | 197 » # mul a[6]*b[0] |
1059 mull %edx | 198 mull %edx |
1060 addl %eax,%ebx | 199 addl %eax,%ebx |
1061 movl 20(%esi),%eax | 200 movl 20(%esi),%eax |
1062 adcl %edx,%ecx | 201 adcl %edx,%ecx |
1063 movl 4(%edi),%edx | 202 movl 4(%edi),%edx |
1064 adcl $0,%ebp | 203 adcl $0,%ebp |
1065 | 204 » # mul a[5]*b[1] |
1066 mull %edx | 205 mull %edx |
1067 addl %eax,%ebx | 206 addl %eax,%ebx |
1068 movl 16(%esi),%eax | 207 movl 16(%esi),%eax |
1069 adcl %edx,%ecx | 208 adcl %edx,%ecx |
1070 movl 8(%edi),%edx | 209 movl 8(%edi),%edx |
1071 adcl $0,%ebp | 210 adcl $0,%ebp |
1072 | 211 » # mul a[4]*b[2] |
1073 mull %edx | 212 mull %edx |
1074 addl %eax,%ebx | 213 addl %eax,%ebx |
1075 movl 12(%esi),%eax | 214 movl 12(%esi),%eax |
1076 adcl %edx,%ecx | 215 adcl %edx,%ecx |
1077 movl 12(%edi),%edx | 216 movl 12(%edi),%edx |
1078 adcl $0,%ebp | 217 adcl $0,%ebp |
1079 | 218 » # mul a[3]*b[3] |
1080 mull %edx | 219 mull %edx |
1081 addl %eax,%ebx | 220 addl %eax,%ebx |
1082 movl 8(%esi),%eax | 221 movl 8(%esi),%eax |
1083 adcl %edx,%ecx | 222 adcl %edx,%ecx |
1084 movl 16(%edi),%edx | 223 movl 16(%edi),%edx |
1085 adcl $0,%ebp | 224 adcl $0,%ebp |
1086 | 225 » # mul a[2]*b[4] |
1087 mull %edx | 226 mull %edx |
1088 addl %eax,%ebx | 227 addl %eax,%ebx |
1089 movl 4(%esi),%eax | 228 movl 4(%esi),%eax |
1090 adcl %edx,%ecx | 229 adcl %edx,%ecx |
1091 movl 20(%edi),%edx | 230 movl 20(%edi),%edx |
1092 adcl $0,%ebp | 231 adcl $0,%ebp |
1093 | 232 » # mul a[1]*b[5] |
1094 mull %edx | 233 mull %edx |
1095 addl %eax,%ebx | 234 addl %eax,%ebx |
1096 movl (%esi),%eax | 235 movl (%esi),%eax |
1097 adcl %edx,%ecx | 236 adcl %edx,%ecx |
1098 movl 24(%edi),%edx | 237 movl 24(%edi),%edx |
1099 adcl $0,%ebp | 238 adcl $0,%ebp |
1100 | 239 » # mul a[0]*b[6] |
1101 mull %edx | 240 mull %edx |
1102 addl %eax,%ebx | 241 addl %eax,%ebx |
1103 movl 20(%esp),%eax | 242 movl 20(%esp),%eax |
1104 adcl %edx,%ecx | 243 adcl %edx,%ecx |
1105 movl (%edi),%edx | 244 movl (%edi),%edx |
1106 adcl $0,%ebp | 245 adcl $0,%ebp |
1107 movl %ebx,24(%eax) | 246 movl %ebx,24(%eax) |
1108 movl 28(%esi),%eax | 247 movl 28(%esi),%eax |
1109 | 248 » # saved r[6] |
1110 | 249 » # ################## Calculate word 7 |
1111 xorl %ebx,%ebx | 250 xorl %ebx,%ebx |
1112 | 251 » # mul a[7]*b[0] |
1113 mull %edx | 252 mull %edx |
1114 addl %eax,%ecx | 253 addl %eax,%ecx |
1115 movl 24(%esi),%eax | 254 movl 24(%esi),%eax |
1116 adcl %edx,%ebp | 255 adcl %edx,%ebp |
1117 movl 4(%edi),%edx | 256 movl 4(%edi),%edx |
1118 adcl $0,%ebx | 257 adcl $0,%ebx |
1119 | 258 » # mul a[6]*b[1] |
1120 mull %edx | 259 mull %edx |
1121 addl %eax,%ecx | 260 addl %eax,%ecx |
1122 movl 20(%esi),%eax | 261 movl 20(%esi),%eax |
1123 adcl %edx,%ebp | 262 adcl %edx,%ebp |
1124 movl 8(%edi),%edx | 263 movl 8(%edi),%edx |
1125 adcl $0,%ebx | 264 adcl $0,%ebx |
1126 | 265 » # mul a[5]*b[2] |
1127 mull %edx | 266 mull %edx |
1128 addl %eax,%ecx | 267 addl %eax,%ecx |
1129 movl 16(%esi),%eax | 268 movl 16(%esi),%eax |
1130 adcl %edx,%ebp | 269 adcl %edx,%ebp |
1131 movl 12(%edi),%edx | 270 movl 12(%edi),%edx |
1132 adcl $0,%ebx | 271 adcl $0,%ebx |
1133 | 272 » # mul a[4]*b[3] |
1134 mull %edx | 273 mull %edx |
1135 addl %eax,%ecx | 274 addl %eax,%ecx |
1136 movl 12(%esi),%eax | 275 movl 12(%esi),%eax |
1137 adcl %edx,%ebp | 276 adcl %edx,%ebp |
1138 movl 16(%edi),%edx | 277 movl 16(%edi),%edx |
1139 adcl $0,%ebx | 278 adcl $0,%ebx |
1140 | 279 » # mul a[3]*b[4] |
1141 mull %edx | 280 mull %edx |
1142 addl %eax,%ecx | 281 addl %eax,%ecx |
1143 movl 8(%esi),%eax | 282 movl 8(%esi),%eax |
1144 adcl %edx,%ebp | 283 adcl %edx,%ebp |
1145 movl 20(%edi),%edx | 284 movl 20(%edi),%edx |
1146 adcl $0,%ebx | 285 adcl $0,%ebx |
1147 | 286 » # mul a[2]*b[5] |
1148 mull %edx | 287 mull %edx |
1149 addl %eax,%ecx | 288 addl %eax,%ecx |
1150 movl 4(%esi),%eax | 289 movl 4(%esi),%eax |
1151 adcl %edx,%ebp | 290 adcl %edx,%ebp |
1152 movl 24(%edi),%edx | 291 movl 24(%edi),%edx |
1153 adcl $0,%ebx | 292 adcl $0,%ebx |
1154 | 293 » # mul a[1]*b[6] |
1155 mull %edx | 294 mull %edx |
1156 addl %eax,%ecx | 295 addl %eax,%ecx |
1157 movl (%esi),%eax | 296 movl (%esi),%eax |
1158 adcl %edx,%ebp | 297 adcl %edx,%ebp |
1159 movl 28(%edi),%edx | 298 movl 28(%edi),%edx |
1160 adcl $0,%ebx | 299 adcl $0,%ebx |
1161 | 300 » # mul a[0]*b[7] |
1162 mull %edx | 301 mull %edx |
1163 addl %eax,%ecx | 302 addl %eax,%ecx |
1164 movl 20(%esp),%eax | 303 movl 20(%esp),%eax |
1165 adcl %edx,%ebp | 304 adcl %edx,%ebp |
1166 movl 4(%edi),%edx | 305 movl 4(%edi),%edx |
1167 adcl $0,%ebx | 306 adcl $0,%ebx |
1168 movl %ecx,28(%eax) | 307 movl %ecx,28(%eax) |
1169 movl 28(%esi),%eax | 308 movl 28(%esi),%eax |
1170 | 309 » # saved r[7] |
1171 | 310 » # ################## Calculate word 8 |
1172 xorl %ecx,%ecx | 311 xorl %ecx,%ecx |
1173 | 312 » # mul a[7]*b[1] |
1174 mull %edx | 313 mull %edx |
1175 addl %eax,%ebp | 314 addl %eax,%ebp |
1176 movl 24(%esi),%eax | 315 movl 24(%esi),%eax |
1177 adcl %edx,%ebx | 316 adcl %edx,%ebx |
1178 movl 8(%edi),%edx | 317 movl 8(%edi),%edx |
1179 adcl $0,%ecx | 318 adcl $0,%ecx |
1180 | 319 » # mul a[6]*b[2] |
1181 mull %edx | 320 mull %edx |
1182 addl %eax,%ebp | 321 addl %eax,%ebp |
1183 movl 20(%esi),%eax | 322 movl 20(%esi),%eax |
1184 adcl %edx,%ebx | 323 adcl %edx,%ebx |
1185 movl 12(%edi),%edx | 324 movl 12(%edi),%edx |
1186 adcl $0,%ecx | 325 adcl $0,%ecx |
1187 | 326 » # mul a[5]*b[3] |
1188 mull %edx | 327 mull %edx |
1189 addl %eax,%ebp | 328 addl %eax,%ebp |
1190 movl 16(%esi),%eax | 329 movl 16(%esi),%eax |
1191 adcl %edx,%ebx | 330 adcl %edx,%ebx |
1192 movl 16(%edi),%edx | 331 movl 16(%edi),%edx |
1193 adcl $0,%ecx | 332 adcl $0,%ecx |
1194 | 333 » # mul a[4]*b[4] |
1195 mull %edx | 334 mull %edx |
1196 addl %eax,%ebp | 335 addl %eax,%ebp |
1197 movl 12(%esi),%eax | 336 movl 12(%esi),%eax |
1198 adcl %edx,%ebx | 337 adcl %edx,%ebx |
1199 movl 20(%edi),%edx | 338 movl 20(%edi),%edx |
1200 adcl $0,%ecx | 339 adcl $0,%ecx |
1201 | 340 » # mul a[3]*b[5] |
1202 mull %edx | 341 mull %edx |
1203 addl %eax,%ebp | 342 addl %eax,%ebp |
1204 movl 8(%esi),%eax | 343 movl 8(%esi),%eax |
1205 adcl %edx,%ebx | 344 adcl %edx,%ebx |
1206 movl 24(%edi),%edx | 345 movl 24(%edi),%edx |
1207 adcl $0,%ecx | 346 adcl $0,%ecx |
1208 | 347 » # mul a[2]*b[6] |
1209 mull %edx | 348 mull %edx |
1210 addl %eax,%ebp | 349 addl %eax,%ebp |
1211 movl 4(%esi),%eax | 350 movl 4(%esi),%eax |
1212 adcl %edx,%ebx | 351 adcl %edx,%ebx |
1213 movl 28(%edi),%edx | 352 movl 28(%edi),%edx |
1214 adcl $0,%ecx | 353 adcl $0,%ecx |
1215 | 354 » # mul a[1]*b[7] |
1216 mull %edx | 355 mull %edx |
1217 addl %eax,%ebp | 356 addl %eax,%ebp |
1218 movl 20(%esp),%eax | 357 movl 20(%esp),%eax |
1219 adcl %edx,%ebx | 358 adcl %edx,%ebx |
1220 movl 8(%edi),%edx | 359 movl 8(%edi),%edx |
1221 adcl $0,%ecx | 360 adcl $0,%ecx |
1222 movl %ebp,32(%eax) | 361 movl %ebp,32(%eax) |
1223 movl 28(%esi),%eax | 362 movl 28(%esi),%eax |
1224 | 363 » # saved r[8] |
1225 | 364 » # ################## Calculate word 9 |
1226 xorl %ebp,%ebp | 365 xorl %ebp,%ebp |
1227 | 366 » # mul a[7]*b[2] |
1228 mull %edx | 367 mull %edx |
1229 addl %eax,%ebx | 368 addl %eax,%ebx |
1230 movl 24(%esi),%eax | 369 movl 24(%esi),%eax |
1231 adcl %edx,%ecx | 370 adcl %edx,%ecx |
1232 movl 12(%edi),%edx | 371 movl 12(%edi),%edx |
1233 adcl $0,%ebp | 372 adcl $0,%ebp |
1234 | 373 » # mul a[6]*b[3] |
1235 mull %edx | 374 mull %edx |
1236 addl %eax,%ebx | 375 addl %eax,%ebx |
1237 movl 20(%esi),%eax | 376 movl 20(%esi),%eax |
1238 adcl %edx,%ecx | 377 adcl %edx,%ecx |
1239 movl 16(%edi),%edx | 378 movl 16(%edi),%edx |
1240 adcl $0,%ebp | 379 adcl $0,%ebp |
1241 | 380 » # mul a[5]*b[4] |
1242 mull %edx | 381 mull %edx |
1243 addl %eax,%ebx | 382 addl %eax,%ebx |
1244 movl 16(%esi),%eax | 383 movl 16(%esi),%eax |
1245 adcl %edx,%ecx | 384 adcl %edx,%ecx |
1246 movl 20(%edi),%edx | 385 movl 20(%edi),%edx |
1247 adcl $0,%ebp | 386 adcl $0,%ebp |
1248 | 387 » # mul a[4]*b[5] |
1249 mull %edx | 388 mull %edx |
1250 addl %eax,%ebx | 389 addl %eax,%ebx |
1251 movl 12(%esi),%eax | 390 movl 12(%esi),%eax |
1252 adcl %edx,%ecx | 391 adcl %edx,%ecx |
1253 movl 24(%edi),%edx | 392 movl 24(%edi),%edx |
1254 adcl $0,%ebp | 393 adcl $0,%ebp |
1255 | 394 » # mul a[3]*b[6] |
1256 mull %edx | 395 mull %edx |
1257 addl %eax,%ebx | 396 addl %eax,%ebx |
1258 movl 8(%esi),%eax | 397 movl 8(%esi),%eax |
1259 adcl %edx,%ecx | 398 adcl %edx,%ecx |
1260 movl 28(%edi),%edx | 399 movl 28(%edi),%edx |
1261 adcl $0,%ebp | 400 adcl $0,%ebp |
1262 | 401 » # mul a[2]*b[7] |
1263 mull %edx | 402 mull %edx |
1264 addl %eax,%ebx | 403 addl %eax,%ebx |
1265 movl 20(%esp),%eax | 404 movl 20(%esp),%eax |
1266 adcl %edx,%ecx | 405 adcl %edx,%ecx |
1267 movl 12(%edi),%edx | 406 movl 12(%edi),%edx |
1268 adcl $0,%ebp | 407 adcl $0,%ebp |
1269 movl %ebx,36(%eax) | 408 movl %ebx,36(%eax) |
1270 movl 28(%esi),%eax | 409 movl 28(%esi),%eax |
1271 | 410 » # saved r[9] |
1272 | 411 » # ################## Calculate word 10 |
1273 xorl %ebx,%ebx | 412 xorl %ebx,%ebx |
1274 | 413 » # mul a[7]*b[3] |
1275 mull %edx | 414 mull %edx |
1276 addl %eax,%ecx | 415 addl %eax,%ecx |
1277 movl 24(%esi),%eax | 416 movl 24(%esi),%eax |
1278 adcl %edx,%ebp | 417 adcl %edx,%ebp |
1279 movl 16(%edi),%edx | 418 movl 16(%edi),%edx |
1280 adcl $0,%ebx | 419 adcl $0,%ebx |
1281 | 420 » # mul a[6]*b[4] |
1282 mull %edx | 421 mull %edx |
1283 addl %eax,%ecx | 422 addl %eax,%ecx |
1284 movl 20(%esi),%eax | 423 movl 20(%esi),%eax |
1285 adcl %edx,%ebp | 424 adcl %edx,%ebp |
1286 movl 20(%edi),%edx | 425 movl 20(%edi),%edx |
1287 adcl $0,%ebx | 426 adcl $0,%ebx |
1288 | 427 » # mul a[5]*b[5] |
1289 mull %edx | 428 mull %edx |
1290 addl %eax,%ecx | 429 addl %eax,%ecx |
1291 movl 16(%esi),%eax | 430 movl 16(%esi),%eax |
1292 adcl %edx,%ebp | 431 adcl %edx,%ebp |
1293 movl 24(%edi),%edx | 432 movl 24(%edi),%edx |
1294 adcl $0,%ebx | 433 adcl $0,%ebx |
1295 | 434 » # mul a[4]*b[6] |
1296 mull %edx | 435 mull %edx |
1297 addl %eax,%ecx | 436 addl %eax,%ecx |
1298 movl 12(%esi),%eax | 437 movl 12(%esi),%eax |
1299 adcl %edx,%ebp | 438 adcl %edx,%ebp |
1300 movl 28(%edi),%edx | 439 movl 28(%edi),%edx |
1301 adcl $0,%ebx | 440 adcl $0,%ebx |
1302 | 441 » # mul a[3]*b[7] |
1303 mull %edx | 442 mull %edx |
1304 addl %eax,%ecx | 443 addl %eax,%ecx |
1305 movl 20(%esp),%eax | 444 movl 20(%esp),%eax |
1306 adcl %edx,%ebp | 445 adcl %edx,%ebp |
1307 movl 16(%edi),%edx | 446 movl 16(%edi),%edx |
1308 adcl $0,%ebx | 447 adcl $0,%ebx |
1309 movl %ecx,40(%eax) | 448 movl %ecx,40(%eax) |
1310 movl 28(%esi),%eax | 449 movl 28(%esi),%eax |
1311 | 450 » # saved r[10] |
1312 | 451 » # ################## Calculate word 11 |
1313 xorl %ecx,%ecx | 452 xorl %ecx,%ecx |
1314 | 453 » # mul a[7]*b[4] |
1315 mull %edx | 454 mull %edx |
1316 addl %eax,%ebp | 455 addl %eax,%ebp |
1317 movl 24(%esi),%eax | 456 movl 24(%esi),%eax |
1318 adcl %edx,%ebx | 457 adcl %edx,%ebx |
1319 movl 20(%edi),%edx | 458 movl 20(%edi),%edx |
1320 adcl $0,%ecx | 459 adcl $0,%ecx |
1321 | 460 » # mul a[6]*b[5] |
1322 mull %edx | 461 mull %edx |
1323 addl %eax,%ebp | 462 addl %eax,%ebp |
1324 movl 20(%esi),%eax | 463 movl 20(%esi),%eax |
1325 adcl %edx,%ebx | 464 adcl %edx,%ebx |
1326 movl 24(%edi),%edx | 465 movl 24(%edi),%edx |
1327 adcl $0,%ecx | 466 adcl $0,%ecx |
1328 | 467 » # mul a[5]*b[6] |
1329 mull %edx | 468 mull %edx |
1330 addl %eax,%ebp | 469 addl %eax,%ebp |
1331 movl 16(%esi),%eax | 470 movl 16(%esi),%eax |
1332 adcl %edx,%ebx | 471 adcl %edx,%ebx |
1333 movl 28(%edi),%edx | 472 movl 28(%edi),%edx |
1334 adcl $0,%ecx | 473 adcl $0,%ecx |
1335 | 474 » # mul a[4]*b[7] |
1336 mull %edx | 475 mull %edx |
1337 addl %eax,%ebp | 476 addl %eax,%ebp |
1338 movl 20(%esp),%eax | 477 movl 20(%esp),%eax |
1339 adcl %edx,%ebx | 478 adcl %edx,%ebx |
1340 movl 20(%edi),%edx | 479 movl 20(%edi),%edx |
1341 adcl $0,%ecx | 480 adcl $0,%ecx |
1342 movl %ebp,44(%eax) | 481 movl %ebp,44(%eax) |
1343 movl 28(%esi),%eax | 482 movl 28(%esi),%eax |
1344 | 483 » # saved r[11] |
1345 | 484 » # ################## Calculate word 12 |
1346 xorl %ebp,%ebp | 485 xorl %ebp,%ebp |
1347 | 486 » # mul a[7]*b[5] |
1348 mull %edx | 487 mull %edx |
1349 addl %eax,%ebx | 488 addl %eax,%ebx |
1350 movl 24(%esi),%eax | 489 movl 24(%esi),%eax |
1351 adcl %edx,%ecx | 490 adcl %edx,%ecx |
1352 movl 24(%edi),%edx | 491 movl 24(%edi),%edx |
1353 adcl $0,%ebp | 492 adcl $0,%ebp |
1354 | 493 » # mul a[6]*b[6] |
1355 mull %edx | 494 mull %edx |
1356 addl %eax,%ebx | 495 addl %eax,%ebx |
1357 movl 20(%esi),%eax | 496 movl 20(%esi),%eax |
1358 adcl %edx,%ecx | 497 adcl %edx,%ecx |
1359 movl 28(%edi),%edx | 498 movl 28(%edi),%edx |
1360 adcl $0,%ebp | 499 adcl $0,%ebp |
1361 | 500 » # mul a[5]*b[7] |
1362 mull %edx | 501 mull %edx |
1363 addl %eax,%ebx | 502 addl %eax,%ebx |
1364 movl 20(%esp),%eax | 503 movl 20(%esp),%eax |
1365 adcl %edx,%ecx | 504 adcl %edx,%ecx |
1366 movl 24(%edi),%edx | 505 movl 24(%edi),%edx |
1367 adcl $0,%ebp | 506 adcl $0,%ebp |
1368 movl %ebx,48(%eax) | 507 movl %ebx,48(%eax) |
1369 movl 28(%esi),%eax | 508 movl 28(%esi),%eax |
1370 | 509 » # saved r[12] |
1371 | 510 » # ################## Calculate word 13 |
1372 xorl %ebx,%ebx | 511 xorl %ebx,%ebx |
1373 | 512 » # mul a[7]*b[6] |
1374 mull %edx | 513 mull %edx |
1375 addl %eax,%ecx | 514 addl %eax,%ecx |
1376 movl 24(%esi),%eax | 515 movl 24(%esi),%eax |
1377 adcl %edx,%ebp | 516 adcl %edx,%ebp |
1378 movl 28(%edi),%edx | 517 movl 28(%edi),%edx |
1379 adcl $0,%ebx | 518 adcl $0,%ebx |
1380 | 519 » # mul a[6]*b[7] |
1381 mull %edx | 520 mull %edx |
1382 addl %eax,%ecx | 521 addl %eax,%ecx |
1383 movl 20(%esp),%eax | 522 movl 20(%esp),%eax |
1384 adcl %edx,%ebp | 523 adcl %edx,%ebp |
1385 movl 28(%edi),%edx | 524 movl 28(%edi),%edx |
1386 adcl $0,%ebx | 525 adcl $0,%ebx |
1387 movl %ecx,52(%eax) | 526 movl %ecx,52(%eax) |
1388 movl 28(%esi),%eax | 527 movl 28(%esi),%eax |
1389 | 528 » # saved r[13] |
1390 | 529 » # ################## Calculate word 14 |
1391 xorl %ecx,%ecx | 530 xorl %ecx,%ecx |
1392 | 531 » # mul a[7]*b[7] |
1393 mull %edx | 532 mull %edx |
1394 addl %eax,%ebp | 533 addl %eax,%ebp |
1395 movl 20(%esp),%eax | 534 movl 20(%esp),%eax |
1396 adcl %edx,%ebx | 535 adcl %edx,%ebx |
1397 adcl $0,%ecx | 536 adcl $0,%ecx |
1398 movl %ebp,56(%eax) | 537 movl %ebp,56(%eax) |
1399 | 538 » # saved r[14] |
1400 | 539 » # save r[15] |
1401 movl %ebx,60(%eax) | 540 movl %ebx,60(%eax) |
1402 popl %ebx | 541 popl %ebx |
1403 popl %ebp | 542 popl %ebp |
1404 popl %edi | 543 popl %edi |
1405 popl %esi | 544 popl %esi |
1406 ret | 545 ret |
1407 .size» bn_mul_comba8,.-.L_bn_mul_comba8_begin | 546 .globl» _bn_mul_comba4 |
1408 .globl» bn_mul_comba4 | 547 .align» 4 |
1409 .type» bn_mul_comba4,@function | 548 _bn_mul_comba4: |
1410 .align» 16 | 549 L_bn_mul_comba4_begin: |
1411 bn_mul_comba4: | |
1412 .L_bn_mul_comba4_begin: | |
1413 pushl %esi | 550 pushl %esi |
1414 movl 12(%esp),%esi | 551 movl 12(%esp),%esi |
1415 pushl %edi | 552 pushl %edi |
1416 movl 20(%esp),%edi | 553 movl 20(%esp),%edi |
1417 pushl %ebp | 554 pushl %ebp |
1418 pushl %ebx | 555 pushl %ebx |
1419 xorl %ebx,%ebx | 556 xorl %ebx,%ebx |
1420 movl (%esi),%eax | 557 movl (%esi),%eax |
1421 xorl %ecx,%ecx | 558 xorl %ecx,%ecx |
1422 movl (%edi),%edx | 559 movl (%edi),%edx |
1423 | 560 » # ################## Calculate word 0 |
1424 xorl %ebp,%ebp | 561 xorl %ebp,%ebp |
1425 | 562 » # mul a[0]*b[0] |
1426 mull %edx | 563 mull %edx |
1427 addl %eax,%ebx | 564 addl %eax,%ebx |
1428 movl 20(%esp),%eax | 565 movl 20(%esp),%eax |
1429 adcl %edx,%ecx | 566 adcl %edx,%ecx |
1430 movl (%edi),%edx | 567 movl (%edi),%edx |
1431 adcl $0,%ebp | 568 adcl $0,%ebp |
1432 movl %ebx,(%eax) | 569 movl %ebx,(%eax) |
1433 movl 4(%esi),%eax | 570 movl 4(%esi),%eax |
1434 | 571 » # saved r[0] |
1435 | 572 » # ################## Calculate word 1 |
1436 xorl %ebx,%ebx | 573 xorl %ebx,%ebx |
1437 | 574 » # mul a[1]*b[0] |
1438 mull %edx | 575 mull %edx |
1439 addl %eax,%ecx | 576 addl %eax,%ecx |
1440 movl (%esi),%eax | 577 movl (%esi),%eax |
1441 adcl %edx,%ebp | 578 adcl %edx,%ebp |
1442 movl 4(%edi),%edx | 579 movl 4(%edi),%edx |
1443 adcl $0,%ebx | 580 adcl $0,%ebx |
1444 | 581 » # mul a[0]*b[1] |
1445 mull %edx | 582 mull %edx |
1446 addl %eax,%ecx | 583 addl %eax,%ecx |
1447 movl 20(%esp),%eax | 584 movl 20(%esp),%eax |
1448 adcl %edx,%ebp | 585 adcl %edx,%ebp |
1449 movl (%edi),%edx | 586 movl (%edi),%edx |
1450 adcl $0,%ebx | 587 adcl $0,%ebx |
1451 movl %ecx,4(%eax) | 588 movl %ecx,4(%eax) |
1452 movl 8(%esi),%eax | 589 movl 8(%esi),%eax |
1453 | 590 » # saved r[1] |
1454 | 591 » # ################## Calculate word 2 |
1455 xorl %ecx,%ecx | 592 xorl %ecx,%ecx |
1456 | 593 » # mul a[2]*b[0] |
1457 mull %edx | 594 mull %edx |
1458 addl %eax,%ebp | 595 addl %eax,%ebp |
1459 movl 4(%esi),%eax | 596 movl 4(%esi),%eax |
1460 adcl %edx,%ebx | 597 adcl %edx,%ebx |
1461 movl 4(%edi),%edx | 598 movl 4(%edi),%edx |
1462 adcl $0,%ecx | 599 adcl $0,%ecx |
1463 | 600 » # mul a[1]*b[1] |
1464 mull %edx | 601 mull %edx |
1465 addl %eax,%ebp | 602 addl %eax,%ebp |
1466 movl (%esi),%eax | 603 movl (%esi),%eax |
1467 adcl %edx,%ebx | 604 adcl %edx,%ebx |
1468 movl 8(%edi),%edx | 605 movl 8(%edi),%edx |
1469 adcl $0,%ecx | 606 adcl $0,%ecx |
1470 | 607 » # mul a[0]*b[2] |
1471 mull %edx | 608 mull %edx |
1472 addl %eax,%ebp | 609 addl %eax,%ebp |
1473 movl 20(%esp),%eax | 610 movl 20(%esp),%eax |
1474 adcl %edx,%ebx | 611 adcl %edx,%ebx |
1475 movl (%edi),%edx | 612 movl (%edi),%edx |
1476 adcl $0,%ecx | 613 adcl $0,%ecx |
1477 movl %ebp,8(%eax) | 614 movl %ebp,8(%eax) |
1478 movl 12(%esi),%eax | 615 movl 12(%esi),%eax |
1479 | 616 » # saved r[2] |
1480 | 617 » # ################## Calculate word 3 |
1481 xorl %ebp,%ebp | 618 xorl %ebp,%ebp |
1482 | 619 » # mul a[3]*b[0] |
1483 mull %edx | 620 mull %edx |
1484 addl %eax,%ebx | 621 addl %eax,%ebx |
1485 movl 8(%esi),%eax | 622 movl 8(%esi),%eax |
1486 adcl %edx,%ecx | 623 adcl %edx,%ecx |
1487 movl 4(%edi),%edx | 624 movl 4(%edi),%edx |
1488 adcl $0,%ebp | 625 adcl $0,%ebp |
1489 | 626 » # mul a[2]*b[1] |
1490 mull %edx | 627 mull %edx |
1491 addl %eax,%ebx | 628 addl %eax,%ebx |
1492 movl 4(%esi),%eax | 629 movl 4(%esi),%eax |
1493 adcl %edx,%ecx | 630 adcl %edx,%ecx |
1494 movl 8(%edi),%edx | 631 movl 8(%edi),%edx |
1495 adcl $0,%ebp | 632 adcl $0,%ebp |
1496 | 633 » # mul a[1]*b[2] |
1497 mull %edx | 634 mull %edx |
1498 addl %eax,%ebx | 635 addl %eax,%ebx |
1499 movl (%esi),%eax | 636 movl (%esi),%eax |
1500 adcl %edx,%ecx | 637 adcl %edx,%ecx |
1501 movl 12(%edi),%edx | 638 movl 12(%edi),%edx |
1502 adcl $0,%ebp | 639 adcl $0,%ebp |
1503 | 640 » # mul a[0]*b[3] |
1504 mull %edx | 641 mull %edx |
1505 addl %eax,%ebx | 642 addl %eax,%ebx |
1506 movl 20(%esp),%eax | 643 movl 20(%esp),%eax |
1507 adcl %edx,%ecx | 644 adcl %edx,%ecx |
1508 movl 4(%edi),%edx | 645 movl 4(%edi),%edx |
1509 adcl $0,%ebp | 646 adcl $0,%ebp |
1510 movl %ebx,12(%eax) | 647 movl %ebx,12(%eax) |
1511 movl 12(%esi),%eax | 648 movl 12(%esi),%eax |
1512 | 649 » # saved r[3] |
1513 | 650 » # ################## Calculate word 4 |
1514 xorl %ebx,%ebx | 651 xorl %ebx,%ebx |
1515 | 652 » # mul a[3]*b[1] |
1516 mull %edx | 653 mull %edx |
1517 addl %eax,%ecx | 654 addl %eax,%ecx |
1518 movl 8(%esi),%eax | 655 movl 8(%esi),%eax |
1519 adcl %edx,%ebp | 656 adcl %edx,%ebp |
1520 movl 8(%edi),%edx | 657 movl 8(%edi),%edx |
1521 adcl $0,%ebx | 658 adcl $0,%ebx |
1522 | 659 » # mul a[2]*b[2] |
1523 mull %edx | 660 mull %edx |
1524 addl %eax,%ecx | 661 addl %eax,%ecx |
1525 movl 4(%esi),%eax | 662 movl 4(%esi),%eax |
1526 adcl %edx,%ebp | 663 adcl %edx,%ebp |
1527 movl 12(%edi),%edx | 664 movl 12(%edi),%edx |
1528 adcl $0,%ebx | 665 adcl $0,%ebx |
1529 | 666 » # mul a[1]*b[3] |
1530 mull %edx | 667 mull %edx |
1531 addl %eax,%ecx | 668 addl %eax,%ecx |
1532 movl 20(%esp),%eax | 669 movl 20(%esp),%eax |
1533 adcl %edx,%ebp | 670 adcl %edx,%ebp |
1534 movl 8(%edi),%edx | 671 movl 8(%edi),%edx |
1535 adcl $0,%ebx | 672 adcl $0,%ebx |
1536 movl %ecx,16(%eax) | 673 movl %ecx,16(%eax) |
1537 movl 12(%esi),%eax | 674 movl 12(%esi),%eax |
1538 | 675 » # saved r[4] |
1539 | 676 » # ################## Calculate word 5 |
1540 xorl %ecx,%ecx | 677 xorl %ecx,%ecx |
1541 | 678 » # mul a[3]*b[2] |
1542 mull %edx | 679 mull %edx |
1543 addl %eax,%ebp | 680 addl %eax,%ebp |
1544 movl 8(%esi),%eax | 681 movl 8(%esi),%eax |
1545 adcl %edx,%ebx | 682 adcl %edx,%ebx |
1546 movl 12(%edi),%edx | 683 movl 12(%edi),%edx |
1547 adcl $0,%ecx | 684 adcl $0,%ecx |
1548 | 685 » # mul a[2]*b[3] |
1549 mull %edx | 686 mull %edx |
1550 addl %eax,%ebp | 687 addl %eax,%ebp |
1551 movl 20(%esp),%eax | 688 movl 20(%esp),%eax |
1552 adcl %edx,%ebx | 689 adcl %edx,%ebx |
1553 movl 12(%edi),%edx | 690 movl 12(%edi),%edx |
1554 adcl $0,%ecx | 691 adcl $0,%ecx |
1555 movl %ebp,20(%eax) | 692 movl %ebp,20(%eax) |
1556 movl 12(%esi),%eax | 693 movl 12(%esi),%eax |
1557 | 694 » # saved r[5] |
1558 | 695 » # ################## Calculate word 6 |
1559 xorl %ebp,%ebp | 696 xorl %ebp,%ebp |
1560 | 697 » # mul a[3]*b[3] |
1561 mull %edx | 698 mull %edx |
1562 addl %eax,%ebx | 699 addl %eax,%ebx |
1563 movl 20(%esp),%eax | 700 movl 20(%esp),%eax |
1564 adcl %edx,%ecx | 701 adcl %edx,%ecx |
1565 adcl $0,%ebp | 702 adcl $0,%ebp |
1566 movl %ebx,24(%eax) | 703 movl %ebx,24(%eax) |
1567 | 704 » # saved r[6] |
1568 | 705 » # save r[7] |
1569 movl %ecx,28(%eax) | 706 movl %ecx,28(%eax) |
1570 popl %ebx | 707 popl %ebx |
1571 popl %ebp | 708 popl %ebp |
1572 popl %edi | 709 popl %edi |
1573 popl %esi | 710 popl %esi |
1574 ret | 711 ret |
1575 .size» bn_mul_comba4,.-.L_bn_mul_comba4_begin | 712 .globl» _bn_sqr_comba8 |
1576 .globl» bn_sqr_comba8 | 713 .align» 4 |
1577 .type» bn_sqr_comba8,@function | 714 _bn_sqr_comba8: |
1578 .align» 16 | 715 L_bn_sqr_comba8_begin: |
1579 bn_sqr_comba8: | |
1580 .L_bn_sqr_comba8_begin: | |
1581 pushl %esi | 716 pushl %esi |
1582 pushl %edi | 717 pushl %edi |
1583 pushl %ebp | 718 pushl %ebp |
1584 pushl %ebx | 719 pushl %ebx |
1585 movl 20(%esp),%edi | 720 movl 20(%esp),%edi |
1586 movl 24(%esp),%esi | 721 movl 24(%esp),%esi |
1587 xorl %ebx,%ebx | 722 xorl %ebx,%ebx |
1588 xorl %ecx,%ecx | 723 xorl %ecx,%ecx |
1589 movl (%esi),%eax | 724 movl (%esi),%eax |
1590 | 725 » # ############### Calculate word 0 |
1591 xorl %ebp,%ebp | 726 xorl %ebp,%ebp |
1592 | 727 » # sqr a[0]*a[0] |
1593 mull %eax | 728 mull %eax |
1594 addl %eax,%ebx | 729 addl %eax,%ebx |
1595 adcl %edx,%ecx | 730 adcl %edx,%ecx |
1596 movl (%esi),%edx | 731 movl (%esi),%edx |
1597 adcl $0,%ebp | 732 adcl $0,%ebp |
1598 movl %ebx,(%edi) | 733 movl %ebx,(%edi) |
1599 movl 4(%esi),%eax | 734 movl 4(%esi),%eax |
1600 | 735 » # saved r[0] |
1601 | 736 » # ############### Calculate word 1 |
1602 xorl %ebx,%ebx | 737 xorl %ebx,%ebx |
1603 | 738 » # sqr a[1]*a[0] |
1604 mull %edx | 739 mull %edx |
1605 addl %eax,%eax | 740 addl %eax,%eax |
1606 adcl %edx,%edx | 741 adcl %edx,%edx |
1607 adcl $0,%ebx | 742 adcl $0,%ebx |
1608 addl %eax,%ecx | 743 addl %eax,%ecx |
1609 adcl %edx,%ebp | 744 adcl %edx,%ebp |
1610 movl 8(%esi),%eax | 745 movl 8(%esi),%eax |
1611 adcl $0,%ebx | 746 adcl $0,%ebx |
1612 movl %ecx,4(%edi) | 747 movl %ecx,4(%edi) |
1613 movl (%esi),%edx | 748 movl (%esi),%edx |
1614 | 749 » # saved r[1] |
1615 | 750 » # ############### Calculate word 2 |
1616 xorl %ecx,%ecx | 751 xorl %ecx,%ecx |
1617 | 752 » # sqr a[2]*a[0] |
1618 mull %edx | 753 mull %edx |
1619 addl %eax,%eax | 754 addl %eax,%eax |
1620 adcl %edx,%edx | 755 adcl %edx,%edx |
1621 adcl $0,%ecx | 756 adcl $0,%ecx |
1622 addl %eax,%ebp | 757 addl %eax,%ebp |
1623 adcl %edx,%ebx | 758 adcl %edx,%ebx |
1624 movl 4(%esi),%eax | 759 movl 4(%esi),%eax |
1625 adcl $0,%ecx | 760 adcl $0,%ecx |
1626 | 761 » # sqr a[1]*a[1] |
1627 mull %eax | 762 mull %eax |
1628 addl %eax,%ebp | 763 addl %eax,%ebp |
1629 adcl %edx,%ebx | 764 adcl %edx,%ebx |
1630 movl (%esi),%edx | 765 movl (%esi),%edx |
1631 adcl $0,%ecx | 766 adcl $0,%ecx |
1632 movl %ebp,8(%edi) | 767 movl %ebp,8(%edi) |
1633 movl 12(%esi),%eax | 768 movl 12(%esi),%eax |
1634 | 769 » # saved r[2] |
1635 | 770 » # ############### Calculate word 3 |
1636 xorl %ebp,%ebp | 771 xorl %ebp,%ebp |
1637 | 772 » # sqr a[3]*a[0] |
1638 mull %edx | 773 mull %edx |
1639 addl %eax,%eax | 774 addl %eax,%eax |
1640 adcl %edx,%edx | 775 adcl %edx,%edx |
1641 adcl $0,%ebp | 776 adcl $0,%ebp |
1642 addl %eax,%ebx | 777 addl %eax,%ebx |
1643 adcl %edx,%ecx | 778 adcl %edx,%ecx |
1644 movl 8(%esi),%eax | 779 movl 8(%esi),%eax |
1645 adcl $0,%ebp | 780 adcl $0,%ebp |
1646 movl 4(%esi),%edx | 781 movl 4(%esi),%edx |
1647 | 782 » # sqr a[2]*a[1] |
1648 mull %edx | 783 mull %edx |
1649 addl %eax,%eax | 784 addl %eax,%eax |
1650 adcl %edx,%edx | 785 adcl %edx,%edx |
1651 adcl $0,%ebp | 786 adcl $0,%ebp |
1652 addl %eax,%ebx | 787 addl %eax,%ebx |
1653 adcl %edx,%ecx | 788 adcl %edx,%ecx |
1654 movl 16(%esi),%eax | 789 movl 16(%esi),%eax |
1655 adcl $0,%ebp | 790 adcl $0,%ebp |
1656 movl %ebx,12(%edi) | 791 movl %ebx,12(%edi) |
1657 movl (%esi),%edx | 792 movl (%esi),%edx |
1658 | 793 » # saved r[3] |
1659 | 794 » # ############### Calculate word 4 |
1660 xorl %ebx,%ebx | 795 xorl %ebx,%ebx |
1661 | 796 » # sqr a[4]*a[0] |
1662 mull %edx | 797 mull %edx |
1663 addl %eax,%eax | 798 addl %eax,%eax |
1664 adcl %edx,%edx | 799 adcl %edx,%edx |
1665 adcl $0,%ebx | 800 adcl $0,%ebx |
1666 addl %eax,%ecx | 801 addl %eax,%ecx |
1667 adcl %edx,%ebp | 802 adcl %edx,%ebp |
1668 movl 12(%esi),%eax | 803 movl 12(%esi),%eax |
1669 adcl $0,%ebx | 804 adcl $0,%ebx |
1670 movl 4(%esi),%edx | 805 movl 4(%esi),%edx |
1671 | 806 » # sqr a[3]*a[1] |
1672 mull %edx | 807 mull %edx |
1673 addl %eax,%eax | 808 addl %eax,%eax |
1674 adcl %edx,%edx | 809 adcl %edx,%edx |
1675 adcl $0,%ebx | 810 adcl $0,%ebx |
1676 addl %eax,%ecx | 811 addl %eax,%ecx |
1677 adcl %edx,%ebp | 812 adcl %edx,%ebp |
1678 movl 8(%esi),%eax | 813 movl 8(%esi),%eax |
1679 adcl $0,%ebx | 814 adcl $0,%ebx |
1680 | 815 » # sqr a[2]*a[2] |
1681 mull %eax | 816 mull %eax |
1682 addl %eax,%ecx | 817 addl %eax,%ecx |
1683 adcl %edx,%ebp | 818 adcl %edx,%ebp |
1684 movl (%esi),%edx | 819 movl (%esi),%edx |
1685 adcl $0,%ebx | 820 adcl $0,%ebx |
1686 movl %ecx,16(%edi) | 821 movl %ecx,16(%edi) |
1687 movl 20(%esi),%eax | 822 movl 20(%esi),%eax |
1688 | 823 » # saved r[4] |
1689 | 824 » # ############### Calculate word 5 |
1690 xorl %ecx,%ecx | 825 xorl %ecx,%ecx |
1691 | 826 » # sqr a[5]*a[0] |
1692 mull %edx | 827 mull %edx |
1693 addl %eax,%eax | 828 addl %eax,%eax |
1694 adcl %edx,%edx | 829 adcl %edx,%edx |
1695 adcl $0,%ecx | 830 adcl $0,%ecx |
1696 addl %eax,%ebp | 831 addl %eax,%ebp |
1697 adcl %edx,%ebx | 832 adcl %edx,%ebx |
1698 movl 16(%esi),%eax | 833 movl 16(%esi),%eax |
1699 adcl $0,%ecx | 834 adcl $0,%ecx |
1700 movl 4(%esi),%edx | 835 movl 4(%esi),%edx |
1701 | 836 » # sqr a[4]*a[1] |
1702 mull %edx | 837 mull %edx |
1703 addl %eax,%eax | 838 addl %eax,%eax |
1704 adcl %edx,%edx | 839 adcl %edx,%edx |
1705 adcl $0,%ecx | 840 adcl $0,%ecx |
1706 addl %eax,%ebp | 841 addl %eax,%ebp |
1707 adcl %edx,%ebx | 842 adcl %edx,%ebx |
1708 movl 12(%esi),%eax | 843 movl 12(%esi),%eax |
1709 adcl $0,%ecx | 844 adcl $0,%ecx |
1710 movl 8(%esi),%edx | 845 movl 8(%esi),%edx |
1711 | 846 » # sqr a[3]*a[2] |
1712 mull %edx | 847 mull %edx |
1713 addl %eax,%eax | 848 addl %eax,%eax |
1714 adcl %edx,%edx | 849 adcl %edx,%edx |
1715 adcl $0,%ecx | 850 adcl $0,%ecx |
1716 addl %eax,%ebp | 851 addl %eax,%ebp |
1717 adcl %edx,%ebx | 852 adcl %edx,%ebx |
1718 movl 24(%esi),%eax | 853 movl 24(%esi),%eax |
1719 adcl $0,%ecx | 854 adcl $0,%ecx |
1720 movl %ebp,20(%edi) | 855 movl %ebp,20(%edi) |
1721 movl (%esi),%edx | 856 movl (%esi),%edx |
1722 | 857 » # saved r[5] |
1723 | 858 » # ############### Calculate word 6 |
1724 xorl %ebp,%ebp | 859 xorl %ebp,%ebp |
1725 | 860 » # sqr a[6]*a[0] |
1726 mull %edx | 861 mull %edx |
1727 addl %eax,%eax | 862 addl %eax,%eax |
1728 adcl %edx,%edx | 863 adcl %edx,%edx |
1729 adcl $0,%ebp | 864 adcl $0,%ebp |
1730 addl %eax,%ebx | 865 addl %eax,%ebx |
1731 adcl %edx,%ecx | 866 adcl %edx,%ecx |
1732 movl 20(%esi),%eax | 867 movl 20(%esi),%eax |
1733 adcl $0,%ebp | 868 adcl $0,%ebp |
1734 movl 4(%esi),%edx | 869 movl 4(%esi),%edx |
1735 | 870 » # sqr a[5]*a[1] |
1736 mull %edx | 871 mull %edx |
1737 addl %eax,%eax | 872 addl %eax,%eax |
1738 adcl %edx,%edx | 873 adcl %edx,%edx |
1739 adcl $0,%ebp | 874 adcl $0,%ebp |
1740 addl %eax,%ebx | 875 addl %eax,%ebx |
1741 adcl %edx,%ecx | 876 adcl %edx,%ecx |
1742 movl 16(%esi),%eax | 877 movl 16(%esi),%eax |
1743 adcl $0,%ebp | 878 adcl $0,%ebp |
1744 movl 8(%esi),%edx | 879 movl 8(%esi),%edx |
1745 | 880 » # sqr a[4]*a[2] |
1746 mull %edx | 881 mull %edx |
1747 addl %eax,%eax | 882 addl %eax,%eax |
1748 adcl %edx,%edx | 883 adcl %edx,%edx |
1749 adcl $0,%ebp | 884 adcl $0,%ebp |
1750 addl %eax,%ebx | 885 addl %eax,%ebx |
1751 adcl %edx,%ecx | 886 adcl %edx,%ecx |
1752 movl 12(%esi),%eax | 887 movl 12(%esi),%eax |
1753 adcl $0,%ebp | 888 adcl $0,%ebp |
1754 | 889 » # sqr a[3]*a[3] |
1755 mull %eax | 890 mull %eax |
1756 addl %eax,%ebx | 891 addl %eax,%ebx |
1757 adcl %edx,%ecx | 892 adcl %edx,%ecx |
1758 movl (%esi),%edx | 893 movl (%esi),%edx |
1759 adcl $0,%ebp | 894 adcl $0,%ebp |
1760 movl %ebx,24(%edi) | 895 movl %ebx,24(%edi) |
1761 movl 28(%esi),%eax | 896 movl 28(%esi),%eax |
1762 | 897 » # saved r[6] |
1763 | 898 » # ############### Calculate word 7 |
1764 xorl %ebx,%ebx | 899 xorl %ebx,%ebx |
1765 | 900 » # sqr a[7]*a[0] |
1766 mull %edx | 901 mull %edx |
1767 addl %eax,%eax | 902 addl %eax,%eax |
1768 adcl %edx,%edx | 903 adcl %edx,%edx |
1769 adcl $0,%ebx | 904 adcl $0,%ebx |
1770 addl %eax,%ecx | 905 addl %eax,%ecx |
1771 adcl %edx,%ebp | 906 adcl %edx,%ebp |
1772 movl 24(%esi),%eax | 907 movl 24(%esi),%eax |
1773 adcl $0,%ebx | 908 adcl $0,%ebx |
1774 movl 4(%esi),%edx | 909 movl 4(%esi),%edx |
1775 | 910 » # sqr a[6]*a[1] |
1776 mull %edx | 911 mull %edx |
1777 addl %eax,%eax | 912 addl %eax,%eax |
1778 adcl %edx,%edx | 913 adcl %edx,%edx |
1779 adcl $0,%ebx | 914 adcl $0,%ebx |
1780 addl %eax,%ecx | 915 addl %eax,%ecx |
1781 adcl %edx,%ebp | 916 adcl %edx,%ebp |
1782 movl 20(%esi),%eax | 917 movl 20(%esi),%eax |
1783 adcl $0,%ebx | 918 adcl $0,%ebx |
1784 movl 8(%esi),%edx | 919 movl 8(%esi),%edx |
1785 | 920 » # sqr a[5]*a[2] |
1786 mull %edx | 921 mull %edx |
1787 addl %eax,%eax | 922 addl %eax,%eax |
1788 adcl %edx,%edx | 923 adcl %edx,%edx |
1789 adcl $0,%ebx | 924 adcl $0,%ebx |
1790 addl %eax,%ecx | 925 addl %eax,%ecx |
1791 adcl %edx,%ebp | 926 adcl %edx,%ebp |
1792 movl 16(%esi),%eax | 927 movl 16(%esi),%eax |
1793 adcl $0,%ebx | 928 adcl $0,%ebx |
1794 movl 12(%esi),%edx | 929 movl 12(%esi),%edx |
1795 | 930 » # sqr a[4]*a[3] |
1796 mull %edx | 931 mull %edx |
1797 addl %eax,%eax | 932 addl %eax,%eax |
1798 adcl %edx,%edx | 933 adcl %edx,%edx |
1799 adcl $0,%ebx | 934 adcl $0,%ebx |
1800 addl %eax,%ecx | 935 addl %eax,%ecx |
1801 adcl %edx,%ebp | 936 adcl %edx,%ebp |
1802 movl 28(%esi),%eax | 937 movl 28(%esi),%eax |
1803 adcl $0,%ebx | 938 adcl $0,%ebx |
1804 movl %ecx,28(%edi) | 939 movl %ecx,28(%edi) |
1805 movl 4(%esi),%edx | 940 movl 4(%esi),%edx |
1806 | 941 » # saved r[7] |
1807 | 942 » # ############### Calculate word 8 |
1808 xorl %ecx,%ecx | 943 xorl %ecx,%ecx |
1809 | 944 » # sqr a[7]*a[1] |
1810 mull %edx | 945 mull %edx |
1811 addl %eax,%eax | 946 addl %eax,%eax |
1812 adcl %edx,%edx | 947 adcl %edx,%edx |
1813 adcl $0,%ecx | 948 adcl $0,%ecx |
1814 addl %eax,%ebp | 949 addl %eax,%ebp |
1815 adcl %edx,%ebx | 950 adcl %edx,%ebx |
1816 movl 24(%esi),%eax | 951 movl 24(%esi),%eax |
1817 adcl $0,%ecx | 952 adcl $0,%ecx |
1818 movl 8(%esi),%edx | 953 movl 8(%esi),%edx |
1819 | 954 » # sqr a[6]*a[2] |
1820 mull %edx | 955 mull %edx |
1821 addl %eax,%eax | 956 addl %eax,%eax |
1822 adcl %edx,%edx | 957 adcl %edx,%edx |
1823 adcl $0,%ecx | 958 adcl $0,%ecx |
1824 addl %eax,%ebp | 959 addl %eax,%ebp |
1825 adcl %edx,%ebx | 960 adcl %edx,%ebx |
1826 movl 20(%esi),%eax | 961 movl 20(%esi),%eax |
1827 adcl $0,%ecx | 962 adcl $0,%ecx |
1828 movl 12(%esi),%edx | 963 movl 12(%esi),%edx |
1829 | 964 » # sqr a[5]*a[3] |
1830 mull %edx | 965 mull %edx |
1831 addl %eax,%eax | 966 addl %eax,%eax |
1832 adcl %edx,%edx | 967 adcl %edx,%edx |
1833 adcl $0,%ecx | 968 adcl $0,%ecx |
1834 addl %eax,%ebp | 969 addl %eax,%ebp |
1835 adcl %edx,%ebx | 970 adcl %edx,%ebx |
1836 movl 16(%esi),%eax | 971 movl 16(%esi),%eax |
1837 adcl $0,%ecx | 972 adcl $0,%ecx |
1838 | 973 » # sqr a[4]*a[4] |
1839 mull %eax | 974 mull %eax |
1840 addl %eax,%ebp | 975 addl %eax,%ebp |
1841 adcl %edx,%ebx | 976 adcl %edx,%ebx |
1842 movl 8(%esi),%edx | 977 movl 8(%esi),%edx |
1843 adcl $0,%ecx | 978 adcl $0,%ecx |
1844 movl %ebp,32(%edi) | 979 movl %ebp,32(%edi) |
1845 movl 28(%esi),%eax | 980 movl 28(%esi),%eax |
1846 | 981 » # saved r[8] |
1847 | 982 » # ############### Calculate word 9 |
1848 xorl %ebp,%ebp | 983 xorl %ebp,%ebp |
1849 | 984 » # sqr a[7]*a[2] |
1850 mull %edx | 985 mull %edx |
1851 addl %eax,%eax | 986 addl %eax,%eax |
1852 adcl %edx,%edx | 987 adcl %edx,%edx |
1853 adcl $0,%ebp | 988 adcl $0,%ebp |
1854 addl %eax,%ebx | 989 addl %eax,%ebx |
1855 adcl %edx,%ecx | 990 adcl %edx,%ecx |
1856 movl 24(%esi),%eax | 991 movl 24(%esi),%eax |
1857 adcl $0,%ebp | 992 adcl $0,%ebp |
1858 movl 12(%esi),%edx | 993 movl 12(%esi),%edx |
1859 | 994 » # sqr a[6]*a[3] |
1860 mull %edx | 995 mull %edx |
1861 addl %eax,%eax | 996 addl %eax,%eax |
1862 adcl %edx,%edx | 997 adcl %edx,%edx |
1863 adcl $0,%ebp | 998 adcl $0,%ebp |
1864 addl %eax,%ebx | 999 addl %eax,%ebx |
1865 adcl %edx,%ecx | 1000 adcl %edx,%ecx |
1866 movl 20(%esi),%eax | 1001 movl 20(%esi),%eax |
1867 adcl $0,%ebp | 1002 adcl $0,%ebp |
1868 movl 16(%esi),%edx | 1003 movl 16(%esi),%edx |
1869 | 1004 » # sqr a[5]*a[4] |
1870 mull %edx | 1005 mull %edx |
1871 addl %eax,%eax | 1006 addl %eax,%eax |
1872 adcl %edx,%edx | 1007 adcl %edx,%edx |
1873 adcl $0,%ebp | 1008 adcl $0,%ebp |
1874 addl %eax,%ebx | 1009 addl %eax,%ebx |
1875 adcl %edx,%ecx | 1010 adcl %edx,%ecx |
1876 movl 28(%esi),%eax | 1011 movl 28(%esi),%eax |
1877 adcl $0,%ebp | 1012 adcl $0,%ebp |
1878 movl %ebx,36(%edi) | 1013 movl %ebx,36(%edi) |
1879 movl 12(%esi),%edx | 1014 movl 12(%esi),%edx |
1880 | 1015 » # saved r[9] |
1881 | 1016 » # ############### Calculate word 10 |
1882 xorl %ebx,%ebx | 1017 xorl %ebx,%ebx |
1883 | 1018 » # sqr a[7]*a[3] |
1884 mull %edx | 1019 mull %edx |
1885 addl %eax,%eax | 1020 addl %eax,%eax |
1886 adcl %edx,%edx | 1021 adcl %edx,%edx |
1887 adcl $0,%ebx | 1022 adcl $0,%ebx |
1888 addl %eax,%ecx | 1023 addl %eax,%ecx |
1889 adcl %edx,%ebp | 1024 adcl %edx,%ebp |
1890 movl 24(%esi),%eax | 1025 movl 24(%esi),%eax |
1891 adcl $0,%ebx | 1026 adcl $0,%ebx |
1892 movl 16(%esi),%edx | 1027 movl 16(%esi),%edx |
1893 | 1028 » # sqr a[6]*a[4] |
1894 mull %edx | 1029 mull %edx |
1895 addl %eax,%eax | 1030 addl %eax,%eax |
1896 adcl %edx,%edx | 1031 adcl %edx,%edx |
1897 adcl $0,%ebx | 1032 adcl $0,%ebx |
1898 addl %eax,%ecx | 1033 addl %eax,%ecx |
1899 adcl %edx,%ebp | 1034 adcl %edx,%ebp |
1900 movl 20(%esi),%eax | 1035 movl 20(%esi),%eax |
1901 adcl $0,%ebx | 1036 adcl $0,%ebx |
1902 | 1037 » # sqr a[5]*a[5] |
1903 mull %eax | 1038 mull %eax |
1904 addl %eax,%ecx | 1039 addl %eax,%ecx |
1905 adcl %edx,%ebp | 1040 adcl %edx,%ebp |
1906 movl 16(%esi),%edx | 1041 movl 16(%esi),%edx |
1907 adcl $0,%ebx | 1042 adcl $0,%ebx |
1908 movl %ecx,40(%edi) | 1043 movl %ecx,40(%edi) |
1909 movl 28(%esi),%eax | 1044 movl 28(%esi),%eax |
1910 | 1045 » # saved r[10] |
1911 | 1046 » # ############### Calculate word 11 |
1912 xorl %ecx,%ecx | 1047 xorl %ecx,%ecx |
1913 | 1048 » # sqr a[7]*a[4] |
1914 mull %edx | 1049 mull %edx |
1915 addl %eax,%eax | 1050 addl %eax,%eax |
1916 adcl %edx,%edx | 1051 adcl %edx,%edx |
1917 adcl $0,%ecx | 1052 adcl $0,%ecx |
1918 addl %eax,%ebp | 1053 addl %eax,%ebp |
1919 adcl %edx,%ebx | 1054 adcl %edx,%ebx |
1920 movl 24(%esi),%eax | 1055 movl 24(%esi),%eax |
1921 adcl $0,%ecx | 1056 adcl $0,%ecx |
1922 movl 20(%esi),%edx | 1057 movl 20(%esi),%edx |
1923 | 1058 » # sqr a[6]*a[5] |
1924 mull %edx | 1059 mull %edx |
1925 addl %eax,%eax | 1060 addl %eax,%eax |
1926 adcl %edx,%edx | 1061 adcl %edx,%edx |
1927 adcl $0,%ecx | 1062 adcl $0,%ecx |
1928 addl %eax,%ebp | 1063 addl %eax,%ebp |
1929 adcl %edx,%ebx | 1064 adcl %edx,%ebx |
1930 movl 28(%esi),%eax | 1065 movl 28(%esi),%eax |
1931 adcl $0,%ecx | 1066 adcl $0,%ecx |
1932 movl %ebp,44(%edi) | 1067 movl %ebp,44(%edi) |
1933 movl 20(%esi),%edx | 1068 movl 20(%esi),%edx |
1934 | 1069 » # saved r[11] |
1935 | 1070 » # ############### Calculate word 12 |
1936 xorl %ebp,%ebp | 1071 xorl %ebp,%ebp |
1937 | 1072 » # sqr a[7]*a[5] |
1938 mull %edx | 1073 mull %edx |
1939 addl %eax,%eax | 1074 addl %eax,%eax |
1940 adcl %edx,%edx | 1075 adcl %edx,%edx |
1941 adcl $0,%ebp | 1076 adcl $0,%ebp |
1942 addl %eax,%ebx | 1077 addl %eax,%ebx |
1943 adcl %edx,%ecx | 1078 adcl %edx,%ecx |
1944 movl 24(%esi),%eax | 1079 movl 24(%esi),%eax |
1945 adcl $0,%ebp | 1080 adcl $0,%ebp |
1946 | 1081 » # sqr a[6]*a[6] |
1947 mull %eax | 1082 mull %eax |
1948 addl %eax,%ebx | 1083 addl %eax,%ebx |
1949 adcl %edx,%ecx | 1084 adcl %edx,%ecx |
1950 movl 24(%esi),%edx | 1085 movl 24(%esi),%edx |
1951 adcl $0,%ebp | 1086 adcl $0,%ebp |
1952 movl %ebx,48(%edi) | 1087 movl %ebx,48(%edi) |
1953 movl 28(%esi),%eax | 1088 movl 28(%esi),%eax |
1954 | 1089 » # saved r[12] |
1955 | 1090 » # ############### Calculate word 13 |
1956 xorl %ebx,%ebx | 1091 xorl %ebx,%ebx |
1957 | 1092 » # sqr a[7]*a[6] |
1958 mull %edx | 1093 mull %edx |
1959 addl %eax,%eax | 1094 addl %eax,%eax |
1960 adcl %edx,%edx | 1095 adcl %edx,%edx |
1961 adcl $0,%ebx | 1096 adcl $0,%ebx |
1962 addl %eax,%ecx | 1097 addl %eax,%ecx |
1963 adcl %edx,%ebp | 1098 adcl %edx,%ebp |
1964 movl 28(%esi),%eax | 1099 movl 28(%esi),%eax |
1965 adcl $0,%ebx | 1100 adcl $0,%ebx |
1966 movl %ecx,52(%edi) | 1101 movl %ecx,52(%edi) |
1967 | 1102 » # saved r[13] |
1968 | 1103 » # ############### Calculate word 14 |
1969 xorl %ecx,%ecx | 1104 xorl %ecx,%ecx |
1970 | 1105 » # sqr a[7]*a[7] |
1971 mull %eax | 1106 mull %eax |
1972 addl %eax,%ebp | 1107 addl %eax,%ebp |
1973 adcl %edx,%ebx | 1108 adcl %edx,%ebx |
1974 adcl $0,%ecx | 1109 adcl $0,%ecx |
1975 movl %ebp,56(%edi) | 1110 movl %ebp,56(%edi) |
1976 | 1111 » # saved r[14] |
1977 movl %ebx,60(%edi) | 1112 movl %ebx,60(%edi) |
1978 popl %ebx | 1113 popl %ebx |
1979 popl %ebp | 1114 popl %ebp |
1980 popl %edi | 1115 popl %edi |
1981 popl %esi | 1116 popl %esi |
1982 ret | 1117 ret |
1983 .size» bn_sqr_comba8,.-.L_bn_sqr_comba8_begin | 1118 .globl» _bn_sqr_comba4 |
1984 .globl» bn_sqr_comba4 | 1119 .align» 4 |
1985 .type» bn_sqr_comba4,@function | 1120 _bn_sqr_comba4: |
1986 .align» 16 | 1121 L_bn_sqr_comba4_begin: |
1987 bn_sqr_comba4: | |
1988 .L_bn_sqr_comba4_begin: | |
1989 pushl %esi | 1122 pushl %esi |
1990 pushl %edi | 1123 pushl %edi |
1991 pushl %ebp | 1124 pushl %ebp |
1992 pushl %ebx | 1125 pushl %ebx |
1993 movl 20(%esp),%edi | 1126 movl 20(%esp),%edi |
1994 movl 24(%esp),%esi | 1127 movl 24(%esp),%esi |
1995 xorl %ebx,%ebx | 1128 xorl %ebx,%ebx |
1996 xorl %ecx,%ecx | 1129 xorl %ecx,%ecx |
1997 movl (%esi),%eax | 1130 movl (%esi),%eax |
1998 | 1131 » # ############### Calculate word 0 |
1999 xorl %ebp,%ebp | 1132 xorl %ebp,%ebp |
2000 | 1133 » # sqr a[0]*a[0] |
2001 mull %eax | 1134 mull %eax |
2002 addl %eax,%ebx | 1135 addl %eax,%ebx |
2003 adcl %edx,%ecx | 1136 adcl %edx,%ecx |
2004 movl (%esi),%edx | 1137 movl (%esi),%edx |
2005 adcl $0,%ebp | 1138 adcl $0,%ebp |
2006 movl %ebx,(%edi) | 1139 movl %ebx,(%edi) |
2007 movl 4(%esi),%eax | 1140 movl 4(%esi),%eax |
2008 | 1141 » # saved r[0] |
2009 | 1142 » # ############### Calculate word 1 |
2010 xorl %ebx,%ebx | 1143 xorl %ebx,%ebx |
2011 | 1144 » # sqr a[1]*a[0] |
2012 mull %edx | 1145 mull %edx |
2013 addl %eax,%eax | 1146 addl %eax,%eax |
2014 adcl %edx,%edx | 1147 adcl %edx,%edx |
2015 adcl $0,%ebx | 1148 adcl $0,%ebx |
2016 addl %eax,%ecx | 1149 addl %eax,%ecx |
2017 adcl %edx,%ebp | 1150 adcl %edx,%ebp |
2018 movl 8(%esi),%eax | 1151 movl 8(%esi),%eax |
2019 adcl $0,%ebx | 1152 adcl $0,%ebx |
2020 movl %ecx,4(%edi) | 1153 movl %ecx,4(%edi) |
2021 movl (%esi),%edx | 1154 movl (%esi),%edx |
2022 | 1155 » # saved r[1] |
2023 | 1156 » # ############### Calculate word 2 |
2024 xorl %ecx,%ecx | 1157 xorl %ecx,%ecx |
2025 | 1158 » # sqr a[2]*a[0] |
2026 mull %edx | 1159 mull %edx |
2027 addl %eax,%eax | 1160 addl %eax,%eax |
2028 adcl %edx,%edx | 1161 adcl %edx,%edx |
2029 adcl $0,%ecx | 1162 adcl $0,%ecx |
2030 addl %eax,%ebp | 1163 addl %eax,%ebp |
2031 adcl %edx,%ebx | 1164 adcl %edx,%ebx |
2032 movl 4(%esi),%eax | 1165 movl 4(%esi),%eax |
2033 adcl $0,%ecx | 1166 adcl $0,%ecx |
2034 | 1167 » # sqr a[1]*a[1] |
2035 mull %eax | 1168 mull %eax |
2036 addl %eax,%ebp | 1169 addl %eax,%ebp |
2037 adcl %edx,%ebx | 1170 adcl %edx,%ebx |
2038 movl (%esi),%edx | 1171 movl (%esi),%edx |
2039 adcl $0,%ecx | 1172 adcl $0,%ecx |
2040 movl %ebp,8(%edi) | 1173 movl %ebp,8(%edi) |
2041 movl 12(%esi),%eax | 1174 movl 12(%esi),%eax |
2042 | 1175 » # saved r[2] |
2043 | 1176 » # ############### Calculate word 3 |
2044 xorl %ebp,%ebp | 1177 xorl %ebp,%ebp |
2045 | 1178 » # sqr a[3]*a[0] |
2046 mull %edx | 1179 mull %edx |
2047 addl %eax,%eax | 1180 addl %eax,%eax |
2048 adcl %edx,%edx | 1181 adcl %edx,%edx |
2049 adcl $0,%ebp | 1182 adcl $0,%ebp |
2050 addl %eax,%ebx | 1183 addl %eax,%ebx |
2051 adcl %edx,%ecx | 1184 adcl %edx,%ecx |
2052 movl 8(%esi),%eax | 1185 movl 8(%esi),%eax |
2053 adcl $0,%ebp | 1186 adcl $0,%ebp |
2054 movl 4(%esi),%edx | 1187 movl 4(%esi),%edx |
2055 | 1188 » # sqr a[2]*a[1] |
2056 mull %edx | 1189 mull %edx |
2057 addl %eax,%eax | 1190 addl %eax,%eax |
2058 adcl %edx,%edx | 1191 adcl %edx,%edx |
2059 adcl $0,%ebp | 1192 adcl $0,%ebp |
2060 addl %eax,%ebx | 1193 addl %eax,%ebx |
2061 adcl %edx,%ecx | 1194 adcl %edx,%ecx |
2062 movl 12(%esi),%eax | 1195 movl 12(%esi),%eax |
2063 adcl $0,%ebp | 1196 adcl $0,%ebp |
2064 movl %ebx,12(%edi) | 1197 movl %ebx,12(%edi) |
2065 movl 4(%esi),%edx | 1198 movl 4(%esi),%edx |
2066 | 1199 » # saved r[3] |
2067 | 1200 » # ############### Calculate word 4 |
2068 xorl %ebx,%ebx | 1201 xorl %ebx,%ebx |
2069 | 1202 » # sqr a[3]*a[1] |
2070 mull %edx | 1203 mull %edx |
2071 addl %eax,%eax | 1204 addl %eax,%eax |
2072 adcl %edx,%edx | 1205 adcl %edx,%edx |
2073 adcl $0,%ebx | 1206 adcl $0,%ebx |
2074 addl %eax,%ecx | 1207 addl %eax,%ecx |
2075 adcl %edx,%ebp | 1208 adcl %edx,%ebp |
2076 movl 8(%esi),%eax | 1209 movl 8(%esi),%eax |
2077 adcl $0,%ebx | 1210 adcl $0,%ebx |
2078 | 1211 » # sqr a[2]*a[2] |
2079 mull %eax | 1212 mull %eax |
2080 addl %eax,%ecx | 1213 addl %eax,%ecx |
2081 adcl %edx,%ebp | 1214 adcl %edx,%ebp |
2082 movl 8(%esi),%edx | 1215 movl 8(%esi),%edx |
2083 adcl $0,%ebx | 1216 adcl $0,%ebx |
2084 movl %ecx,16(%edi) | 1217 movl %ecx,16(%edi) |
2085 movl 12(%esi),%eax | 1218 movl 12(%esi),%eax |
2086 | 1219 » # saved r[4] |
2087 | 1220 » # ############### Calculate word 5 |
2088 xorl %ecx,%ecx | 1221 xorl %ecx,%ecx |
2089 | 1222 » # sqr a[3]*a[2] |
2090 mull %edx | 1223 mull %edx |
2091 addl %eax,%eax | 1224 addl %eax,%eax |
2092 adcl %edx,%edx | 1225 adcl %edx,%edx |
2093 adcl $0,%ecx | 1226 adcl $0,%ecx |
2094 addl %eax,%ebp | 1227 addl %eax,%ebp |
2095 adcl %edx,%ebx | 1228 adcl %edx,%ebx |
2096 movl 12(%esi),%eax | 1229 movl 12(%esi),%eax |
2097 adcl $0,%ecx | 1230 adcl $0,%ecx |
2098 movl %ebp,20(%edi) | 1231 movl %ebp,20(%edi) |
2099 | 1232 » # saved r[5] |
2100 | 1233 » # ############### Calculate word 6 |
2101 xorl %ebp,%ebp | 1234 xorl %ebp,%ebp |
2102 | 1235 » # sqr a[3]*a[3] |
2103 mull %eax | 1236 mull %eax |
2104 addl %eax,%ebx | 1237 addl %eax,%ebx |
2105 adcl %edx,%ecx | 1238 adcl %edx,%ecx |
2106 adcl $0,%ebp | 1239 adcl $0,%ebp |
2107 movl %ebx,24(%edi) | 1240 movl %ebx,24(%edi) |
2108 | 1241 » # saved r[6] |
2109 movl %ecx,28(%edi) | 1242 movl %ecx,28(%edi) |
2110 popl %ebx | 1243 popl %ebx |
2111 popl %ebp | 1244 popl %ebp |
2112 popl %edi | 1245 popl %edi |
2113 popl %esi | 1246 popl %esi |
2114 ret | 1247 ret |
2115 .size bn_sqr_comba4,.-.L_bn_sqr_comba4_begin | |
2116 #endif | 1248 #endif |
OLD | NEW |