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