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