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