Home | History | Annotate | Download | only in asm
      1 .file	"crypto/bn/asm/co-586.s"
      2 .text
      3 .globl	bn_mul_comba8
      4 .type	bn_mul_comba8,@function
      5 .align	16
      6 bn_mul_comba8:
      7 .L_bn_mul_comba8_begin:
      8 	pushl	%esi
      9 	movl	12(%esp),%esi
     10 	pushl	%edi
     11 	movl	20(%esp),%edi
     12 	pushl	%ebp
     13 	pushl	%ebx
     14 	xorl	%ebx,%ebx
     15 	movl	(%esi),%eax
     16 	xorl	%ecx,%ecx
     17 	movl	(%edi),%edx
     18 
     19 	xorl	%ebp,%ebp
     20 
     21 	mull	%edx
     22 	addl	%eax,%ebx
     23 	movl	20(%esp),%eax
     24 	adcl	%edx,%ecx
     25 	movl	(%edi),%edx
     26 	adcl	$0,%ebp
     27 	movl	%ebx,(%eax)
     28 	movl	4(%esi),%eax
     29 
     30 
     31 	xorl	%ebx,%ebx
     32 
     33 	mull	%edx
     34 	addl	%eax,%ecx
     35 	movl	(%esi),%eax
     36 	adcl	%edx,%ebp
     37 	movl	4(%edi),%edx
     38 	adcl	$0,%ebx
     39 
     40 	mull	%edx
     41 	addl	%eax,%ecx
     42 	movl	20(%esp),%eax
     43 	adcl	%edx,%ebp
     44 	movl	(%edi),%edx
     45 	adcl	$0,%ebx
     46 	movl	%ecx,4(%eax)
     47 	movl	8(%esi),%eax
     48 
     49 
     50 	xorl	%ecx,%ecx
     51 
     52 	mull	%edx
     53 	addl	%eax,%ebp
     54 	movl	4(%esi),%eax
     55 	adcl	%edx,%ebx
     56 	movl	4(%edi),%edx
     57 	adcl	$0,%ecx
     58 
     59 	mull	%edx
     60 	addl	%eax,%ebp
     61 	movl	(%esi),%eax
     62 	adcl	%edx,%ebx
     63 	movl	8(%edi),%edx
     64 	adcl	$0,%ecx
     65 
     66 	mull	%edx
     67 	addl	%eax,%ebp
     68 	movl	20(%esp),%eax
     69 	adcl	%edx,%ebx
     70 	movl	(%edi),%edx
     71 	adcl	$0,%ecx
     72 	movl	%ebp,8(%eax)
     73 	movl	12(%esi),%eax
     74 
     75 
     76 	xorl	%ebp,%ebp
     77 
     78 	mull	%edx
     79 	addl	%eax,%ebx
     80 	movl	8(%esi),%eax
     81 	adcl	%edx,%ecx
     82 	movl	4(%edi),%edx
     83 	adcl	$0,%ebp
     84 
     85 	mull	%edx
     86 	addl	%eax,%ebx
     87 	movl	4(%esi),%eax
     88 	adcl	%edx,%ecx
     89 	movl	8(%edi),%edx
     90 	adcl	$0,%ebp
     91 
     92 	mull	%edx
     93 	addl	%eax,%ebx
     94 	movl	(%esi),%eax
     95 	adcl	%edx,%ecx
     96 	movl	12(%edi),%edx
     97 	adcl	$0,%ebp
     98 
     99 	mull	%edx
    100 	addl	%eax,%ebx
    101 	movl	20(%esp),%eax
    102 	adcl	%edx,%ecx
    103 	movl	(%edi),%edx
    104 	adcl	$0,%ebp
    105 	movl	%ebx,12(%eax)
    106 	movl	16(%esi),%eax
    107 
    108 
    109 	xorl	%ebx,%ebx
    110 
    111 	mull	%edx
    112 	addl	%eax,%ecx
    113 	movl	12(%esi),%eax
    114 	adcl	%edx,%ebp
    115 	movl	4(%edi),%edx
    116 	adcl	$0,%ebx
    117 
    118 	mull	%edx
    119 	addl	%eax,%ecx
    120 	movl	8(%esi),%eax
    121 	adcl	%edx,%ebp
    122 	movl	8(%edi),%edx
    123 	adcl	$0,%ebx
    124 
    125 	mull	%edx
    126 	addl	%eax,%ecx
    127 	movl	4(%esi),%eax
    128 	adcl	%edx,%ebp
    129 	movl	12(%edi),%edx
    130 	adcl	$0,%ebx
    131 
    132 	mull	%edx
    133 	addl	%eax,%ecx
    134 	movl	(%esi),%eax
    135 	adcl	%edx,%ebp
    136 	movl	16(%edi),%edx
    137 	adcl	$0,%ebx
    138 
    139 	mull	%edx
    140 	addl	%eax,%ecx
    141 	movl	20(%esp),%eax
    142 	adcl	%edx,%ebp
    143 	movl	(%edi),%edx
    144 	adcl	$0,%ebx
    145 	movl	%ecx,16(%eax)
    146 	movl	20(%esi),%eax
    147 
    148 
    149 	xorl	%ecx,%ecx
    150 
    151 	mull	%edx
    152 	addl	%eax,%ebp
    153 	movl	16(%esi),%eax
    154 	adcl	%edx,%ebx
    155 	movl	4(%edi),%edx
    156 	adcl	$0,%ecx
    157 
    158 	mull	%edx
    159 	addl	%eax,%ebp
    160 	movl	12(%esi),%eax
    161 	adcl	%edx,%ebx
    162 	movl	8(%edi),%edx
    163 	adcl	$0,%ecx
    164 
    165 	mull	%edx
    166 	addl	%eax,%ebp
    167 	movl	8(%esi),%eax
    168 	adcl	%edx,%ebx
    169 	movl	12(%edi),%edx
    170 	adcl	$0,%ecx
    171 
    172 	mull	%edx
    173 	addl	%eax,%ebp
    174 	movl	4(%esi),%eax
    175 	adcl	%edx,%ebx
    176 	movl	16(%edi),%edx
    177 	adcl	$0,%ecx
    178 
    179 	mull	%edx
    180 	addl	%eax,%ebp
    181 	movl	(%esi),%eax
    182 	adcl	%edx,%ebx
    183 	movl	20(%edi),%edx
    184 	adcl	$0,%ecx
    185 
    186 	mull	%edx
    187 	addl	%eax,%ebp
    188 	movl	20(%esp),%eax
    189 	adcl	%edx,%ebx
    190 	movl	(%edi),%edx
    191 	adcl	$0,%ecx
    192 	movl	%ebp,20(%eax)
    193 	movl	24(%esi),%eax
    194 
    195 
    196 	xorl	%ebp,%ebp
    197 
    198 	mull	%edx
    199 	addl	%eax,%ebx
    200 	movl	20(%esi),%eax
    201 	adcl	%edx,%ecx
    202 	movl	4(%edi),%edx
    203 	adcl	$0,%ebp
    204 
    205 	mull	%edx
    206 	addl	%eax,%ebx
    207 	movl	16(%esi),%eax
    208 	adcl	%edx,%ecx
    209 	movl	8(%edi),%edx
    210 	adcl	$0,%ebp
    211 
    212 	mull	%edx
    213 	addl	%eax,%ebx
    214 	movl	12(%esi),%eax
    215 	adcl	%edx,%ecx
    216 	movl	12(%edi),%edx
    217 	adcl	$0,%ebp
    218 
    219 	mull	%edx
    220 	addl	%eax,%ebx
    221 	movl	8(%esi),%eax
    222 	adcl	%edx,%ecx
    223 	movl	16(%edi),%edx
    224 	adcl	$0,%ebp
    225 
    226 	mull	%edx
    227 	addl	%eax,%ebx
    228 	movl	4(%esi),%eax
    229 	adcl	%edx,%ecx
    230 	movl	20(%edi),%edx
    231 	adcl	$0,%ebp
    232 
    233 	mull	%edx
    234 	addl	%eax,%ebx
    235 	movl	(%esi),%eax
    236 	adcl	%edx,%ecx
    237 	movl	24(%edi),%edx
    238 	adcl	$0,%ebp
    239 
    240 	mull	%edx
    241 	addl	%eax,%ebx
    242 	movl	20(%esp),%eax
    243 	adcl	%edx,%ecx
    244 	movl	(%edi),%edx
    245 	adcl	$0,%ebp
    246 	movl	%ebx,24(%eax)
    247 	movl	28(%esi),%eax
    248 
    249 
    250 	xorl	%ebx,%ebx
    251 
    252 	mull	%edx
    253 	addl	%eax,%ecx
    254 	movl	24(%esi),%eax
    255 	adcl	%edx,%ebp
    256 	movl	4(%edi),%edx
    257 	adcl	$0,%ebx
    258 
    259 	mull	%edx
    260 	addl	%eax,%ecx
    261 	movl	20(%esi),%eax
    262 	adcl	%edx,%ebp
    263 	movl	8(%edi),%edx
    264 	adcl	$0,%ebx
    265 
    266 	mull	%edx
    267 	addl	%eax,%ecx
    268 	movl	16(%esi),%eax
    269 	adcl	%edx,%ebp
    270 	movl	12(%edi),%edx
    271 	adcl	$0,%ebx
    272 
    273 	mull	%edx
    274 	addl	%eax,%ecx
    275 	movl	12(%esi),%eax
    276 	adcl	%edx,%ebp
    277 	movl	16(%edi),%edx
    278 	adcl	$0,%ebx
    279 
    280 	mull	%edx
    281 	addl	%eax,%ecx
    282 	movl	8(%esi),%eax
    283 	adcl	%edx,%ebp
    284 	movl	20(%edi),%edx
    285 	adcl	$0,%ebx
    286 
    287 	mull	%edx
    288 	addl	%eax,%ecx
    289 	movl	4(%esi),%eax
    290 	adcl	%edx,%ebp
    291 	movl	24(%edi),%edx
    292 	adcl	$0,%ebx
    293 
    294 	mull	%edx
    295 	addl	%eax,%ecx
    296 	movl	(%esi),%eax
    297 	adcl	%edx,%ebp
    298 	movl	28(%edi),%edx
    299 	adcl	$0,%ebx
    300 
    301 	mull	%edx
    302 	addl	%eax,%ecx
    303 	movl	20(%esp),%eax
    304 	adcl	%edx,%ebp
    305 	movl	4(%edi),%edx
    306 	adcl	$0,%ebx
    307 	movl	%ecx,28(%eax)
    308 	movl	28(%esi),%eax
    309 
    310 
    311 	xorl	%ecx,%ecx
    312 
    313 	mull	%edx
    314 	addl	%eax,%ebp
    315 	movl	24(%esi),%eax
    316 	adcl	%edx,%ebx
    317 	movl	8(%edi),%edx
    318 	adcl	$0,%ecx
    319 
    320 	mull	%edx
    321 	addl	%eax,%ebp
    322 	movl	20(%esi),%eax
    323 	adcl	%edx,%ebx
    324 	movl	12(%edi),%edx
    325 	adcl	$0,%ecx
    326 
    327 	mull	%edx
    328 	addl	%eax,%ebp
    329 	movl	16(%esi),%eax
    330 	adcl	%edx,%ebx
    331 	movl	16(%edi),%edx
    332 	adcl	$0,%ecx
    333 
    334 	mull	%edx
    335 	addl	%eax,%ebp
    336 	movl	12(%esi),%eax
    337 	adcl	%edx,%ebx
    338 	movl	20(%edi),%edx
    339 	adcl	$0,%ecx
    340 
    341 	mull	%edx
    342 	addl	%eax,%ebp
    343 	movl	8(%esi),%eax
    344 	adcl	%edx,%ebx
    345 	movl	24(%edi),%edx
    346 	adcl	$0,%ecx
    347 
    348 	mull	%edx
    349 	addl	%eax,%ebp
    350 	movl	4(%esi),%eax
    351 	adcl	%edx,%ebx
    352 	movl	28(%edi),%edx
    353 	adcl	$0,%ecx
    354 
    355 	mull	%edx
    356 	addl	%eax,%ebp
    357 	movl	20(%esp),%eax
    358 	adcl	%edx,%ebx
    359 	movl	8(%edi),%edx
    360 	adcl	$0,%ecx
    361 	movl	%ebp,32(%eax)
    362 	movl	28(%esi),%eax
    363 
    364 
    365 	xorl	%ebp,%ebp
    366 
    367 	mull	%edx
    368 	addl	%eax,%ebx
    369 	movl	24(%esi),%eax
    370 	adcl	%edx,%ecx
    371 	movl	12(%edi),%edx
    372 	adcl	$0,%ebp
    373 
    374 	mull	%edx
    375 	addl	%eax,%ebx
    376 	movl	20(%esi),%eax
    377 	adcl	%edx,%ecx
    378 	movl	16(%edi),%edx
    379 	adcl	$0,%ebp
    380 
    381 	mull	%edx
    382 	addl	%eax,%ebx
    383 	movl	16(%esi),%eax
    384 	adcl	%edx,%ecx
    385 	movl	20(%edi),%edx
    386 	adcl	$0,%ebp
    387 
    388 	mull	%edx
    389 	addl	%eax,%ebx
    390 	movl	12(%esi),%eax
    391 	adcl	%edx,%ecx
    392 	movl	24(%edi),%edx
    393 	adcl	$0,%ebp
    394 
    395 	mull	%edx
    396 	addl	%eax,%ebx
    397 	movl	8(%esi),%eax
    398 	adcl	%edx,%ecx
    399 	movl	28(%edi),%edx
    400 	adcl	$0,%ebp
    401 
    402 	mull	%edx
    403 	addl	%eax,%ebx
    404 	movl	20(%esp),%eax
    405 	adcl	%edx,%ecx
    406 	movl	12(%edi),%edx
    407 	adcl	$0,%ebp
    408 	movl	%ebx,36(%eax)
    409 	movl	28(%esi),%eax
    410 
    411 
    412 	xorl	%ebx,%ebx
    413 
    414 	mull	%edx
    415 	addl	%eax,%ecx
    416 	movl	24(%esi),%eax
    417 	adcl	%edx,%ebp
    418 	movl	16(%edi),%edx
    419 	adcl	$0,%ebx
    420 
    421 	mull	%edx
    422 	addl	%eax,%ecx
    423 	movl	20(%esi),%eax
    424 	adcl	%edx,%ebp
    425 	movl	20(%edi),%edx
    426 	adcl	$0,%ebx
    427 
    428 	mull	%edx
    429 	addl	%eax,%ecx
    430 	movl	16(%esi),%eax
    431 	adcl	%edx,%ebp
    432 	movl	24(%edi),%edx
    433 	adcl	$0,%ebx
    434 
    435 	mull	%edx
    436 	addl	%eax,%ecx
    437 	movl	12(%esi),%eax
    438 	adcl	%edx,%ebp
    439 	movl	28(%edi),%edx
    440 	adcl	$0,%ebx
    441 
    442 	mull	%edx
    443 	addl	%eax,%ecx
    444 	movl	20(%esp),%eax
    445 	adcl	%edx,%ebp
    446 	movl	16(%edi),%edx
    447 	adcl	$0,%ebx
    448 	movl	%ecx,40(%eax)
    449 	movl	28(%esi),%eax
    450 
    451 
    452 	xorl	%ecx,%ecx
    453 
    454 	mull	%edx
    455 	addl	%eax,%ebp
    456 	movl	24(%esi),%eax
    457 	adcl	%edx,%ebx
    458 	movl	20(%edi),%edx
    459 	adcl	$0,%ecx
    460 
    461 	mull	%edx
    462 	addl	%eax,%ebp
    463 	movl	20(%esi),%eax
    464 	adcl	%edx,%ebx
    465 	movl	24(%edi),%edx
    466 	adcl	$0,%ecx
    467 
    468 	mull	%edx
    469 	addl	%eax,%ebp
    470 	movl	16(%esi),%eax
    471 	adcl	%edx,%ebx
    472 	movl	28(%edi),%edx
    473 	adcl	$0,%ecx
    474 
    475 	mull	%edx
    476 	addl	%eax,%ebp
    477 	movl	20(%esp),%eax
    478 	adcl	%edx,%ebx
    479 	movl	20(%edi),%edx
    480 	adcl	$0,%ecx
    481 	movl	%ebp,44(%eax)
    482 	movl	28(%esi),%eax
    483 
    484 
    485 	xorl	%ebp,%ebp
    486 
    487 	mull	%edx
    488 	addl	%eax,%ebx
    489 	movl	24(%esi),%eax
    490 	adcl	%edx,%ecx
    491 	movl	24(%edi),%edx
    492 	adcl	$0,%ebp
    493 
    494 	mull	%edx
    495 	addl	%eax,%ebx
    496 	movl	20(%esi),%eax
    497 	adcl	%edx,%ecx
    498 	movl	28(%edi),%edx
    499 	adcl	$0,%ebp
    500 
    501 	mull	%edx
    502 	addl	%eax,%ebx
    503 	movl	20(%esp),%eax
    504 	adcl	%edx,%ecx
    505 	movl	24(%edi),%edx
    506 	adcl	$0,%ebp
    507 	movl	%ebx,48(%eax)
    508 	movl	28(%esi),%eax
    509 
    510 
    511 	xorl	%ebx,%ebx
    512 
    513 	mull	%edx
    514 	addl	%eax,%ecx
    515 	movl	24(%esi),%eax
    516 	adcl	%edx,%ebp
    517 	movl	28(%edi),%edx
    518 	adcl	$0,%ebx
    519 
    520 	mull	%edx
    521 	addl	%eax,%ecx
    522 	movl	20(%esp),%eax
    523 	adcl	%edx,%ebp
    524 	movl	28(%edi),%edx
    525 	adcl	$0,%ebx
    526 	movl	%ecx,52(%eax)
    527 	movl	28(%esi),%eax
    528 
    529 
    530 	xorl	%ecx,%ecx
    531 
    532 	mull	%edx
    533 	addl	%eax,%ebp
    534 	movl	20(%esp),%eax
    535 	adcl	%edx,%ebx
    536 	adcl	$0,%ecx
    537 	movl	%ebp,56(%eax)
    538 
    539 
    540 	movl	%ebx,60(%eax)
    541 	popl	%ebx
    542 	popl	%ebp
    543 	popl	%edi
    544 	popl	%esi
    545 	ret
    546 .size	bn_mul_comba8,.-.L_bn_mul_comba8_begin
    547 .globl	bn_mul_comba4
    548 .type	bn_mul_comba4,@function
    549 .align	16
    550 bn_mul_comba4:
    551 .L_bn_mul_comba4_begin:
    552 	pushl	%esi
    553 	movl	12(%esp),%esi
    554 	pushl	%edi
    555 	movl	20(%esp),%edi
    556 	pushl	%ebp
    557 	pushl	%ebx
    558 	xorl	%ebx,%ebx
    559 	movl	(%esi),%eax
    560 	xorl	%ecx,%ecx
    561 	movl	(%edi),%edx
    562 
    563 	xorl	%ebp,%ebp
    564 
    565 	mull	%edx
    566 	addl	%eax,%ebx
    567 	movl	20(%esp),%eax
    568 	adcl	%edx,%ecx
    569 	movl	(%edi),%edx
    570 	adcl	$0,%ebp
    571 	movl	%ebx,(%eax)
    572 	movl	4(%esi),%eax
    573 
    574 
    575 	xorl	%ebx,%ebx
    576 
    577 	mull	%edx
    578 	addl	%eax,%ecx
    579 	movl	(%esi),%eax
    580 	adcl	%edx,%ebp
    581 	movl	4(%edi),%edx
    582 	adcl	$0,%ebx
    583 
    584 	mull	%edx
    585 	addl	%eax,%ecx
    586 	movl	20(%esp),%eax
    587 	adcl	%edx,%ebp
    588 	movl	(%edi),%edx
    589 	adcl	$0,%ebx
    590 	movl	%ecx,4(%eax)
    591 	movl	8(%esi),%eax
    592 
    593 
    594 	xorl	%ecx,%ecx
    595 
    596 	mull	%edx
    597 	addl	%eax,%ebp
    598 	movl	4(%esi),%eax
    599 	adcl	%edx,%ebx
    600 	movl	4(%edi),%edx
    601 	adcl	$0,%ecx
    602 
    603 	mull	%edx
    604 	addl	%eax,%ebp
    605 	movl	(%esi),%eax
    606 	adcl	%edx,%ebx
    607 	movl	8(%edi),%edx
    608 	adcl	$0,%ecx
    609 
    610 	mull	%edx
    611 	addl	%eax,%ebp
    612 	movl	20(%esp),%eax
    613 	adcl	%edx,%ebx
    614 	movl	(%edi),%edx
    615 	adcl	$0,%ecx
    616 	movl	%ebp,8(%eax)
    617 	movl	12(%esi),%eax
    618 
    619 
    620 	xorl	%ebp,%ebp
    621 
    622 	mull	%edx
    623 	addl	%eax,%ebx
    624 	movl	8(%esi),%eax
    625 	adcl	%edx,%ecx
    626 	movl	4(%edi),%edx
    627 	adcl	$0,%ebp
    628 
    629 	mull	%edx
    630 	addl	%eax,%ebx
    631 	movl	4(%esi),%eax
    632 	adcl	%edx,%ecx
    633 	movl	8(%edi),%edx
    634 	adcl	$0,%ebp
    635 
    636 	mull	%edx
    637 	addl	%eax,%ebx
    638 	movl	(%esi),%eax
    639 	adcl	%edx,%ecx
    640 	movl	12(%edi),%edx
    641 	adcl	$0,%ebp
    642 
    643 	mull	%edx
    644 	addl	%eax,%ebx
    645 	movl	20(%esp),%eax
    646 	adcl	%edx,%ecx
    647 	movl	4(%edi),%edx
    648 	adcl	$0,%ebp
    649 	movl	%ebx,12(%eax)
    650 	movl	12(%esi),%eax
    651 
    652 
    653 	xorl	%ebx,%ebx
    654 
    655 	mull	%edx
    656 	addl	%eax,%ecx
    657 	movl	8(%esi),%eax
    658 	adcl	%edx,%ebp
    659 	movl	8(%edi),%edx
    660 	adcl	$0,%ebx
    661 
    662 	mull	%edx
    663 	addl	%eax,%ecx
    664 	movl	4(%esi),%eax
    665 	adcl	%edx,%ebp
    666 	movl	12(%edi),%edx
    667 	adcl	$0,%ebx
    668 
    669 	mull	%edx
    670 	addl	%eax,%ecx
    671 	movl	20(%esp),%eax
    672 	adcl	%edx,%ebp
    673 	movl	8(%edi),%edx
    674 	adcl	$0,%ebx
    675 	movl	%ecx,16(%eax)
    676 	movl	12(%esi),%eax
    677 
    678 
    679 	xorl	%ecx,%ecx
    680 
    681 	mull	%edx
    682 	addl	%eax,%ebp
    683 	movl	8(%esi),%eax
    684 	adcl	%edx,%ebx
    685 	movl	12(%edi),%edx
    686 	adcl	$0,%ecx
    687 
    688 	mull	%edx
    689 	addl	%eax,%ebp
    690 	movl	20(%esp),%eax
    691 	adcl	%edx,%ebx
    692 	movl	12(%edi),%edx
    693 	adcl	$0,%ecx
    694 	movl	%ebp,20(%eax)
    695 	movl	12(%esi),%eax
    696 
    697 
    698 	xorl	%ebp,%ebp
    699 
    700 	mull	%edx
    701 	addl	%eax,%ebx
    702 	movl	20(%esp),%eax
    703 	adcl	%edx,%ecx
    704 	adcl	$0,%ebp
    705 	movl	%ebx,24(%eax)
    706 
    707 
    708 	movl	%ecx,28(%eax)
    709 	popl	%ebx
    710 	popl	%ebp
    711 	popl	%edi
    712 	popl	%esi
    713 	ret
    714 .size	bn_mul_comba4,.-.L_bn_mul_comba4_begin
    715 .globl	bn_sqr_comba8
    716 .type	bn_sqr_comba8,@function
    717 .align	16
    718 bn_sqr_comba8:
    719 .L_bn_sqr_comba8_begin:
    720 	pushl	%esi
    721 	pushl	%edi
    722 	pushl	%ebp
    723 	pushl	%ebx
    724 	movl	20(%esp),%edi
    725 	movl	24(%esp),%esi
    726 	xorl	%ebx,%ebx
    727 	xorl	%ecx,%ecx
    728 	movl	(%esi),%eax
    729 
    730 	xorl	%ebp,%ebp
    731 
    732 	mull	%eax
    733 	addl	%eax,%ebx
    734 	adcl	%edx,%ecx
    735 	movl	(%esi),%edx
    736 	adcl	$0,%ebp
    737 	movl	%ebx,(%edi)
    738 	movl	4(%esi),%eax
    739 
    740 
    741 	xorl	%ebx,%ebx
    742 
    743 	mull	%edx
    744 	addl	%eax,%eax
    745 	adcl	%edx,%edx
    746 	adcl	$0,%ebx
    747 	addl	%eax,%ecx
    748 	adcl	%edx,%ebp
    749 	movl	8(%esi),%eax
    750 	adcl	$0,%ebx
    751 	movl	%ecx,4(%edi)
    752 	movl	(%esi),%edx
    753 
    754 
    755 	xorl	%ecx,%ecx
    756 
    757 	mull	%edx
    758 	addl	%eax,%eax
    759 	adcl	%edx,%edx
    760 	adcl	$0,%ecx
    761 	addl	%eax,%ebp
    762 	adcl	%edx,%ebx
    763 	movl	4(%esi),%eax
    764 	adcl	$0,%ecx
    765 
    766 	mull	%eax
    767 	addl	%eax,%ebp
    768 	adcl	%edx,%ebx
    769 	movl	(%esi),%edx
    770 	adcl	$0,%ecx
    771 	movl	%ebp,8(%edi)
    772 	movl	12(%esi),%eax
    773 
    774 
    775 	xorl	%ebp,%ebp
    776 
    777 	mull	%edx
    778 	addl	%eax,%eax
    779 	adcl	%edx,%edx
    780 	adcl	$0,%ebp
    781 	addl	%eax,%ebx
    782 	adcl	%edx,%ecx
    783 	movl	8(%esi),%eax
    784 	adcl	$0,%ebp
    785 	movl	4(%esi),%edx
    786 
    787 	mull	%edx
    788 	addl	%eax,%eax
    789 	adcl	%edx,%edx
    790 	adcl	$0,%ebp
    791 	addl	%eax,%ebx
    792 	adcl	%edx,%ecx
    793 	movl	16(%esi),%eax
    794 	adcl	$0,%ebp
    795 	movl	%ebx,12(%edi)
    796 	movl	(%esi),%edx
    797 
    798 
    799 	xorl	%ebx,%ebx
    800 
    801 	mull	%edx
    802 	addl	%eax,%eax
    803 	adcl	%edx,%edx
    804 	adcl	$0,%ebx
    805 	addl	%eax,%ecx
    806 	adcl	%edx,%ebp
    807 	movl	12(%esi),%eax
    808 	adcl	$0,%ebx
    809 	movl	4(%esi),%edx
    810 
    811 	mull	%edx
    812 	addl	%eax,%eax
    813 	adcl	%edx,%edx
    814 	adcl	$0,%ebx
    815 	addl	%eax,%ecx
    816 	adcl	%edx,%ebp
    817 	movl	8(%esi),%eax
    818 	adcl	$0,%ebx
    819 
    820 	mull	%eax
    821 	addl	%eax,%ecx
    822 	adcl	%edx,%ebp
    823 	movl	(%esi),%edx
    824 	adcl	$0,%ebx
    825 	movl	%ecx,16(%edi)
    826 	movl	20(%esi),%eax
    827 
    828 
    829 	xorl	%ecx,%ecx
    830 
    831 	mull	%edx
    832 	addl	%eax,%eax
    833 	adcl	%edx,%edx
    834 	adcl	$0,%ecx
    835 	addl	%eax,%ebp
    836 	adcl	%edx,%ebx
    837 	movl	16(%esi),%eax
    838 	adcl	$0,%ecx
    839 	movl	4(%esi),%edx
    840 
    841 	mull	%edx
    842 	addl	%eax,%eax
    843 	adcl	%edx,%edx
    844 	adcl	$0,%ecx
    845 	addl	%eax,%ebp
    846 	adcl	%edx,%ebx
    847 	movl	12(%esi),%eax
    848 	adcl	$0,%ecx
    849 	movl	8(%esi),%edx
    850 
    851 	mull	%edx
    852 	addl	%eax,%eax
    853 	adcl	%edx,%edx
    854 	adcl	$0,%ecx
    855 	addl	%eax,%ebp
    856 	adcl	%edx,%ebx
    857 	movl	24(%esi),%eax
    858 	adcl	$0,%ecx
    859 	movl	%ebp,20(%edi)
    860 	movl	(%esi),%edx
    861 
    862 
    863 	xorl	%ebp,%ebp
    864 
    865 	mull	%edx
    866 	addl	%eax,%eax
    867 	adcl	%edx,%edx
    868 	adcl	$0,%ebp
    869 	addl	%eax,%ebx
    870 	adcl	%edx,%ecx
    871 	movl	20(%esi),%eax
    872 	adcl	$0,%ebp
    873 	movl	4(%esi),%edx
    874 
    875 	mull	%edx
    876 	addl	%eax,%eax
    877 	adcl	%edx,%edx
    878 	adcl	$0,%ebp
    879 	addl	%eax,%ebx
    880 	adcl	%edx,%ecx
    881 	movl	16(%esi),%eax
    882 	adcl	$0,%ebp
    883 	movl	8(%esi),%edx
    884 
    885 	mull	%edx
    886 	addl	%eax,%eax
    887 	adcl	%edx,%edx
    888 	adcl	$0,%ebp
    889 	addl	%eax,%ebx
    890 	adcl	%edx,%ecx
    891 	movl	12(%esi),%eax
    892 	adcl	$0,%ebp
    893 
    894 	mull	%eax
    895 	addl	%eax,%ebx
    896 	adcl	%edx,%ecx
    897 	movl	(%esi),%edx
    898 	adcl	$0,%ebp
    899 	movl	%ebx,24(%edi)
    900 	movl	28(%esi),%eax
    901 
    902 
    903 	xorl	%ebx,%ebx
    904 
    905 	mull	%edx
    906 	addl	%eax,%eax
    907 	adcl	%edx,%edx
    908 	adcl	$0,%ebx
    909 	addl	%eax,%ecx
    910 	adcl	%edx,%ebp
    911 	movl	24(%esi),%eax
    912 	adcl	$0,%ebx
    913 	movl	4(%esi),%edx
    914 
    915 	mull	%edx
    916 	addl	%eax,%eax
    917 	adcl	%edx,%edx
    918 	adcl	$0,%ebx
    919 	addl	%eax,%ecx
    920 	adcl	%edx,%ebp
    921 	movl	20(%esi),%eax
    922 	adcl	$0,%ebx
    923 	movl	8(%esi),%edx
    924 
    925 	mull	%edx
    926 	addl	%eax,%eax
    927 	adcl	%edx,%edx
    928 	adcl	$0,%ebx
    929 	addl	%eax,%ecx
    930 	adcl	%edx,%ebp
    931 	movl	16(%esi),%eax
    932 	adcl	$0,%ebx
    933 	movl	12(%esi),%edx
    934 
    935 	mull	%edx
    936 	addl	%eax,%eax
    937 	adcl	%edx,%edx
    938 	adcl	$0,%ebx
    939 	addl	%eax,%ecx
    940 	adcl	%edx,%ebp
    941 	movl	28(%esi),%eax
    942 	adcl	$0,%ebx
    943 	movl	%ecx,28(%edi)
    944 	movl	4(%esi),%edx
    945 
    946 
    947 	xorl	%ecx,%ecx
    948 
    949 	mull	%edx
    950 	addl	%eax,%eax
    951 	adcl	%edx,%edx
    952 	adcl	$0,%ecx
    953 	addl	%eax,%ebp
    954 	adcl	%edx,%ebx
    955 	movl	24(%esi),%eax
    956 	adcl	$0,%ecx
    957 	movl	8(%esi),%edx
    958 
    959 	mull	%edx
    960 	addl	%eax,%eax
    961 	adcl	%edx,%edx
    962 	adcl	$0,%ecx
    963 	addl	%eax,%ebp
    964 	adcl	%edx,%ebx
    965 	movl	20(%esi),%eax
    966 	adcl	$0,%ecx
    967 	movl	12(%esi),%edx
    968 
    969 	mull	%edx
    970 	addl	%eax,%eax
    971 	adcl	%edx,%edx
    972 	adcl	$0,%ecx
    973 	addl	%eax,%ebp
    974 	adcl	%edx,%ebx
    975 	movl	16(%esi),%eax
    976 	adcl	$0,%ecx
    977 
    978 	mull	%eax
    979 	addl	%eax,%ebp
    980 	adcl	%edx,%ebx
    981 	movl	8(%esi),%edx
    982 	adcl	$0,%ecx
    983 	movl	%ebp,32(%edi)
    984 	movl	28(%esi),%eax
    985 
    986 
    987 	xorl	%ebp,%ebp
    988 
    989 	mull	%edx
    990 	addl	%eax,%eax
    991 	adcl	%edx,%edx
    992 	adcl	$0,%ebp
    993 	addl	%eax,%ebx
    994 	adcl	%edx,%ecx
    995 	movl	24(%esi),%eax
    996 	adcl	$0,%ebp
    997 	movl	12(%esi),%edx
    998 
    999 	mull	%edx
   1000 	addl	%eax,%eax
   1001 	adcl	%edx,%edx
   1002 	adcl	$0,%ebp
   1003 	addl	%eax,%ebx
   1004 	adcl	%edx,%ecx
   1005 	movl	20(%esi),%eax
   1006 	adcl	$0,%ebp
   1007 	movl	16(%esi),%edx
   1008 
   1009 	mull	%edx
   1010 	addl	%eax,%eax
   1011 	adcl	%edx,%edx
   1012 	adcl	$0,%ebp
   1013 	addl	%eax,%ebx
   1014 	adcl	%edx,%ecx
   1015 	movl	28(%esi),%eax
   1016 	adcl	$0,%ebp
   1017 	movl	%ebx,36(%edi)
   1018 	movl	12(%esi),%edx
   1019 
   1020 
   1021 	xorl	%ebx,%ebx
   1022 
   1023 	mull	%edx
   1024 	addl	%eax,%eax
   1025 	adcl	%edx,%edx
   1026 	adcl	$0,%ebx
   1027 	addl	%eax,%ecx
   1028 	adcl	%edx,%ebp
   1029 	movl	24(%esi),%eax
   1030 	adcl	$0,%ebx
   1031 	movl	16(%esi),%edx
   1032 
   1033 	mull	%edx
   1034 	addl	%eax,%eax
   1035 	adcl	%edx,%edx
   1036 	adcl	$0,%ebx
   1037 	addl	%eax,%ecx
   1038 	adcl	%edx,%ebp
   1039 	movl	20(%esi),%eax
   1040 	adcl	$0,%ebx
   1041 
   1042 	mull	%eax
   1043 	addl	%eax,%ecx
   1044 	adcl	%edx,%ebp
   1045 	movl	16(%esi),%edx
   1046 	adcl	$0,%ebx
   1047 	movl	%ecx,40(%edi)
   1048 	movl	28(%esi),%eax
   1049 
   1050 
   1051 	xorl	%ecx,%ecx
   1052 
   1053 	mull	%edx
   1054 	addl	%eax,%eax
   1055 	adcl	%edx,%edx
   1056 	adcl	$0,%ecx
   1057 	addl	%eax,%ebp
   1058 	adcl	%edx,%ebx
   1059 	movl	24(%esi),%eax
   1060 	adcl	$0,%ecx
   1061 	movl	20(%esi),%edx
   1062 
   1063 	mull	%edx
   1064 	addl	%eax,%eax
   1065 	adcl	%edx,%edx
   1066 	adcl	$0,%ecx
   1067 	addl	%eax,%ebp
   1068 	adcl	%edx,%ebx
   1069 	movl	28(%esi),%eax
   1070 	adcl	$0,%ecx
   1071 	movl	%ebp,44(%edi)
   1072 	movl	20(%esi),%edx
   1073 
   1074 
   1075 	xorl	%ebp,%ebp
   1076 
   1077 	mull	%edx
   1078 	addl	%eax,%eax
   1079 	adcl	%edx,%edx
   1080 	adcl	$0,%ebp
   1081 	addl	%eax,%ebx
   1082 	adcl	%edx,%ecx
   1083 	movl	24(%esi),%eax
   1084 	adcl	$0,%ebp
   1085 
   1086 	mull	%eax
   1087 	addl	%eax,%ebx
   1088 	adcl	%edx,%ecx
   1089 	movl	24(%esi),%edx
   1090 	adcl	$0,%ebp
   1091 	movl	%ebx,48(%edi)
   1092 	movl	28(%esi),%eax
   1093 
   1094 
   1095 	xorl	%ebx,%ebx
   1096 
   1097 	mull	%edx
   1098 	addl	%eax,%eax
   1099 	adcl	%edx,%edx
   1100 	adcl	$0,%ebx
   1101 	addl	%eax,%ecx
   1102 	adcl	%edx,%ebp
   1103 	movl	28(%esi),%eax
   1104 	adcl	$0,%ebx
   1105 	movl	%ecx,52(%edi)
   1106 
   1107 
   1108 	xorl	%ecx,%ecx
   1109 
   1110 	mull	%eax
   1111 	addl	%eax,%ebp
   1112 	adcl	%edx,%ebx
   1113 	adcl	$0,%ecx
   1114 	movl	%ebp,56(%edi)
   1115 
   1116 	movl	%ebx,60(%edi)
   1117 	popl	%ebx
   1118 	popl	%ebp
   1119 	popl	%edi
   1120 	popl	%esi
   1121 	ret
   1122 .size	bn_sqr_comba8,.-.L_bn_sqr_comba8_begin
   1123 .globl	bn_sqr_comba4
   1124 .type	bn_sqr_comba4,@function
   1125 .align	16
   1126 bn_sqr_comba4:
   1127 .L_bn_sqr_comba4_begin:
   1128 	pushl	%esi
   1129 	pushl	%edi
   1130 	pushl	%ebp
   1131 	pushl	%ebx
   1132 	movl	20(%esp),%edi
   1133 	movl	24(%esp),%esi
   1134 	xorl	%ebx,%ebx
   1135 	xorl	%ecx,%ecx
   1136 	movl	(%esi),%eax
   1137 
   1138 	xorl	%ebp,%ebp
   1139 
   1140 	mull	%eax
   1141 	addl	%eax,%ebx
   1142 	adcl	%edx,%ecx
   1143 	movl	(%esi),%edx
   1144 	adcl	$0,%ebp
   1145 	movl	%ebx,(%edi)
   1146 	movl	4(%esi),%eax
   1147 
   1148 
   1149 	xorl	%ebx,%ebx
   1150 
   1151 	mull	%edx
   1152 	addl	%eax,%eax
   1153 	adcl	%edx,%edx
   1154 	adcl	$0,%ebx
   1155 	addl	%eax,%ecx
   1156 	adcl	%edx,%ebp
   1157 	movl	8(%esi),%eax
   1158 	adcl	$0,%ebx
   1159 	movl	%ecx,4(%edi)
   1160 	movl	(%esi),%edx
   1161 
   1162 
   1163 	xorl	%ecx,%ecx
   1164 
   1165 	mull	%edx
   1166 	addl	%eax,%eax
   1167 	adcl	%edx,%edx
   1168 	adcl	$0,%ecx
   1169 	addl	%eax,%ebp
   1170 	adcl	%edx,%ebx
   1171 	movl	4(%esi),%eax
   1172 	adcl	$0,%ecx
   1173 
   1174 	mull	%eax
   1175 	addl	%eax,%ebp
   1176 	adcl	%edx,%ebx
   1177 	movl	(%esi),%edx
   1178 	adcl	$0,%ecx
   1179 	movl	%ebp,8(%edi)
   1180 	movl	12(%esi),%eax
   1181 
   1182 
   1183 	xorl	%ebp,%ebp
   1184 
   1185 	mull	%edx
   1186 	addl	%eax,%eax
   1187 	adcl	%edx,%edx
   1188 	adcl	$0,%ebp
   1189 	addl	%eax,%ebx
   1190 	adcl	%edx,%ecx
   1191 	movl	8(%esi),%eax
   1192 	adcl	$0,%ebp
   1193 	movl	4(%esi),%edx
   1194 
   1195 	mull	%edx
   1196 	addl	%eax,%eax
   1197 	adcl	%edx,%edx
   1198 	adcl	$0,%ebp
   1199 	addl	%eax,%ebx
   1200 	adcl	%edx,%ecx
   1201 	movl	12(%esi),%eax
   1202 	adcl	$0,%ebp
   1203 	movl	%ebx,12(%edi)
   1204 	movl	4(%esi),%edx
   1205 
   1206 
   1207 	xorl	%ebx,%ebx
   1208 
   1209 	mull	%edx
   1210 	addl	%eax,%eax
   1211 	adcl	%edx,%edx
   1212 	adcl	$0,%ebx
   1213 	addl	%eax,%ecx
   1214 	adcl	%edx,%ebp
   1215 	movl	8(%esi),%eax
   1216 	adcl	$0,%ebx
   1217 
   1218 	mull	%eax
   1219 	addl	%eax,%ecx
   1220 	adcl	%edx,%ebp
   1221 	movl	8(%esi),%edx
   1222 	adcl	$0,%ebx
   1223 	movl	%ecx,16(%edi)
   1224 	movl	12(%esi),%eax
   1225 
   1226 
   1227 	xorl	%ecx,%ecx
   1228 
   1229 	mull	%edx
   1230 	addl	%eax,%eax
   1231 	adcl	%edx,%edx
   1232 	adcl	$0,%ecx
   1233 	addl	%eax,%ebp
   1234 	adcl	%edx,%ebx
   1235 	movl	12(%esi),%eax
   1236 	adcl	$0,%ecx
   1237 	movl	%ebp,20(%edi)
   1238 
   1239 
   1240 	xorl	%ebp,%ebp
   1241 
   1242 	mull	%eax
   1243 	addl	%eax,%ebx
   1244 	adcl	%edx,%ecx
   1245 	adcl	$0,%ebp
   1246 	movl	%ebx,24(%edi)
   1247 
   1248 	movl	%ecx,28(%edi)
   1249 	popl	%ebx
   1250 	popl	%ebp
   1251 	popl	%edi
   1252 	popl	%esi
   1253 	ret
   1254 .size	bn_sqr_comba4,.-.L_bn_sqr_comba4_begin
   1255