1 #if defined(__i386__) 2 .file "src/crypto/md5/asm/md5-586.S" 3 .text 4 .globl md5_block_asm_data_order 5 .hidden md5_block_asm_data_order 6 .type md5_block_asm_data_order,@function 7 .align 16 8 md5_block_asm_data_order: 9 .L_md5_block_asm_data_order_begin: 10 pushl %esi 11 pushl %edi 12 movl 12(%esp),%edi 13 movl 16(%esp),%esi 14 movl 20(%esp),%ecx 15 pushl %ebp 16 shll $6,%ecx 17 pushl %ebx 18 addl %esi,%ecx 19 subl $64,%ecx 20 movl (%edi),%eax 21 pushl %ecx 22 movl 4(%edi),%ebx 23 movl 8(%edi),%ecx 24 movl 12(%edi),%edx 25 .L000start: 26 27 28 movl %ecx,%edi 29 movl (%esi),%ebp 30 31 xorl %edx,%edi 32 andl %ebx,%edi 33 leal 3614090360(%eax,%ebp,1),%eax 34 xorl %edx,%edi 35 addl %edi,%eax 36 movl %ebx,%edi 37 roll $7,%eax 38 movl 4(%esi),%ebp 39 addl %ebx,%eax 40 41 xorl %ecx,%edi 42 andl %eax,%edi 43 leal 3905402710(%edx,%ebp,1),%edx 44 xorl %ecx,%edi 45 addl %edi,%edx 46 movl %eax,%edi 47 roll $12,%edx 48 movl 8(%esi),%ebp 49 addl %eax,%edx 50 51 xorl %ebx,%edi 52 andl %edx,%edi 53 leal 606105819(%ecx,%ebp,1),%ecx 54 xorl %ebx,%edi 55 addl %edi,%ecx 56 movl %edx,%edi 57 roll $17,%ecx 58 movl 12(%esi),%ebp 59 addl %edx,%ecx 60 61 xorl %eax,%edi 62 andl %ecx,%edi 63 leal 3250441966(%ebx,%ebp,1),%ebx 64 xorl %eax,%edi 65 addl %edi,%ebx 66 movl %ecx,%edi 67 roll $22,%ebx 68 movl 16(%esi),%ebp 69 addl %ecx,%ebx 70 71 xorl %edx,%edi 72 andl %ebx,%edi 73 leal 4118548399(%eax,%ebp,1),%eax 74 xorl %edx,%edi 75 addl %edi,%eax 76 movl %ebx,%edi 77 roll $7,%eax 78 movl 20(%esi),%ebp 79 addl %ebx,%eax 80 81 xorl %ecx,%edi 82 andl %eax,%edi 83 leal 1200080426(%edx,%ebp,1),%edx 84 xorl %ecx,%edi 85 addl %edi,%edx 86 movl %eax,%edi 87 roll $12,%edx 88 movl 24(%esi),%ebp 89 addl %eax,%edx 90 91 xorl %ebx,%edi 92 andl %edx,%edi 93 leal 2821735955(%ecx,%ebp,1),%ecx 94 xorl %ebx,%edi 95 addl %edi,%ecx 96 movl %edx,%edi 97 roll $17,%ecx 98 movl 28(%esi),%ebp 99 addl %edx,%ecx 100 101 xorl %eax,%edi 102 andl %ecx,%edi 103 leal 4249261313(%ebx,%ebp,1),%ebx 104 xorl %eax,%edi 105 addl %edi,%ebx 106 movl %ecx,%edi 107 roll $22,%ebx 108 movl 32(%esi),%ebp 109 addl %ecx,%ebx 110 111 xorl %edx,%edi 112 andl %ebx,%edi 113 leal 1770035416(%eax,%ebp,1),%eax 114 xorl %edx,%edi 115 addl %edi,%eax 116 movl %ebx,%edi 117 roll $7,%eax 118 movl 36(%esi),%ebp 119 addl %ebx,%eax 120 121 xorl %ecx,%edi 122 andl %eax,%edi 123 leal 2336552879(%edx,%ebp,1),%edx 124 xorl %ecx,%edi 125 addl %edi,%edx 126 movl %eax,%edi 127 roll $12,%edx 128 movl 40(%esi),%ebp 129 addl %eax,%edx 130 131 xorl %ebx,%edi 132 andl %edx,%edi 133 leal 4294925233(%ecx,%ebp,1),%ecx 134 xorl %ebx,%edi 135 addl %edi,%ecx 136 movl %edx,%edi 137 roll $17,%ecx 138 movl 44(%esi),%ebp 139 addl %edx,%ecx 140 141 xorl %eax,%edi 142 andl %ecx,%edi 143 leal 2304563134(%ebx,%ebp,1),%ebx 144 xorl %eax,%edi 145 addl %edi,%ebx 146 movl %ecx,%edi 147 roll $22,%ebx 148 movl 48(%esi),%ebp 149 addl %ecx,%ebx 150 151 xorl %edx,%edi 152 andl %ebx,%edi 153 leal 1804603682(%eax,%ebp,1),%eax 154 xorl %edx,%edi 155 addl %edi,%eax 156 movl %ebx,%edi 157 roll $7,%eax 158 movl 52(%esi),%ebp 159 addl %ebx,%eax 160 161 xorl %ecx,%edi 162 andl %eax,%edi 163 leal 4254626195(%edx,%ebp,1),%edx 164 xorl %ecx,%edi 165 addl %edi,%edx 166 movl %eax,%edi 167 roll $12,%edx 168 movl 56(%esi),%ebp 169 addl %eax,%edx 170 171 xorl %ebx,%edi 172 andl %edx,%edi 173 leal 2792965006(%ecx,%ebp,1),%ecx 174 xorl %ebx,%edi 175 addl %edi,%ecx 176 movl %edx,%edi 177 roll $17,%ecx 178 movl 60(%esi),%ebp 179 addl %edx,%ecx 180 181 xorl %eax,%edi 182 andl %ecx,%edi 183 leal 1236535329(%ebx,%ebp,1),%ebx 184 xorl %eax,%edi 185 addl %edi,%ebx 186 movl %ecx,%edi 187 roll $22,%ebx 188 movl 4(%esi),%ebp 189 addl %ecx,%ebx 190 191 192 193 leal 4129170786(%eax,%ebp,1),%eax 194 xorl %ebx,%edi 195 andl %edx,%edi 196 movl 24(%esi),%ebp 197 xorl %ecx,%edi 198 addl %edi,%eax 199 movl %ebx,%edi 200 roll $5,%eax 201 addl %ebx,%eax 202 203 leal 3225465664(%edx,%ebp,1),%edx 204 xorl %eax,%edi 205 andl %ecx,%edi 206 movl 44(%esi),%ebp 207 xorl %ebx,%edi 208 addl %edi,%edx 209 movl %eax,%edi 210 roll $9,%edx 211 addl %eax,%edx 212 213 leal 643717713(%ecx,%ebp,1),%ecx 214 xorl %edx,%edi 215 andl %ebx,%edi 216 movl (%esi),%ebp 217 xorl %eax,%edi 218 addl %edi,%ecx 219 movl %edx,%edi 220 roll $14,%ecx 221 addl %edx,%ecx 222 223 leal 3921069994(%ebx,%ebp,1),%ebx 224 xorl %ecx,%edi 225 andl %eax,%edi 226 movl 20(%esi),%ebp 227 xorl %edx,%edi 228 addl %edi,%ebx 229 movl %ecx,%edi 230 roll $20,%ebx 231 addl %ecx,%ebx 232 233 leal 3593408605(%eax,%ebp,1),%eax 234 xorl %ebx,%edi 235 andl %edx,%edi 236 movl 40(%esi),%ebp 237 xorl %ecx,%edi 238 addl %edi,%eax 239 movl %ebx,%edi 240 roll $5,%eax 241 addl %ebx,%eax 242 243 leal 38016083(%edx,%ebp,1),%edx 244 xorl %eax,%edi 245 andl %ecx,%edi 246 movl 60(%esi),%ebp 247 xorl %ebx,%edi 248 addl %edi,%edx 249 movl %eax,%edi 250 roll $9,%edx 251 addl %eax,%edx 252 253 leal 3634488961(%ecx,%ebp,1),%ecx 254 xorl %edx,%edi 255 andl %ebx,%edi 256 movl 16(%esi),%ebp 257 xorl %eax,%edi 258 addl %edi,%ecx 259 movl %edx,%edi 260 roll $14,%ecx 261 addl %edx,%ecx 262 263 leal 3889429448(%ebx,%ebp,1),%ebx 264 xorl %ecx,%edi 265 andl %eax,%edi 266 movl 36(%esi),%ebp 267 xorl %edx,%edi 268 addl %edi,%ebx 269 movl %ecx,%edi 270 roll $20,%ebx 271 addl %ecx,%ebx 272 273 leal 568446438(%eax,%ebp,1),%eax 274 xorl %ebx,%edi 275 andl %edx,%edi 276 movl 56(%esi),%ebp 277 xorl %ecx,%edi 278 addl %edi,%eax 279 movl %ebx,%edi 280 roll $5,%eax 281 addl %ebx,%eax 282 283 leal 3275163606(%edx,%ebp,1),%edx 284 xorl %eax,%edi 285 andl %ecx,%edi 286 movl 12(%esi),%ebp 287 xorl %ebx,%edi 288 addl %edi,%edx 289 movl %eax,%edi 290 roll $9,%edx 291 addl %eax,%edx 292 293 leal 4107603335(%ecx,%ebp,1),%ecx 294 xorl %edx,%edi 295 andl %ebx,%edi 296 movl 32(%esi),%ebp 297 xorl %eax,%edi 298 addl %edi,%ecx 299 movl %edx,%edi 300 roll $14,%ecx 301 addl %edx,%ecx 302 303 leal 1163531501(%ebx,%ebp,1),%ebx 304 xorl %ecx,%edi 305 andl %eax,%edi 306 movl 52(%esi),%ebp 307 xorl %edx,%edi 308 addl %edi,%ebx 309 movl %ecx,%edi 310 roll $20,%ebx 311 addl %ecx,%ebx 312 313 leal 2850285829(%eax,%ebp,1),%eax 314 xorl %ebx,%edi 315 andl %edx,%edi 316 movl 8(%esi),%ebp 317 xorl %ecx,%edi 318 addl %edi,%eax 319 movl %ebx,%edi 320 roll $5,%eax 321 addl %ebx,%eax 322 323 leal 4243563512(%edx,%ebp,1),%edx 324 xorl %eax,%edi 325 andl %ecx,%edi 326 movl 28(%esi),%ebp 327 xorl %ebx,%edi 328 addl %edi,%edx 329 movl %eax,%edi 330 roll $9,%edx 331 addl %eax,%edx 332 333 leal 1735328473(%ecx,%ebp,1),%ecx 334 xorl %edx,%edi 335 andl %ebx,%edi 336 movl 48(%esi),%ebp 337 xorl %eax,%edi 338 addl %edi,%ecx 339 movl %edx,%edi 340 roll $14,%ecx 341 addl %edx,%ecx 342 343 leal 2368359562(%ebx,%ebp,1),%ebx 344 xorl %ecx,%edi 345 andl %eax,%edi 346 movl 20(%esi),%ebp 347 xorl %edx,%edi 348 addl %edi,%ebx 349 movl %ecx,%edi 350 roll $20,%ebx 351 addl %ecx,%ebx 352 353 354 355 xorl %edx,%edi 356 xorl %ebx,%edi 357 leal 4294588738(%eax,%ebp,1),%eax 358 addl %edi,%eax 359 roll $4,%eax 360 movl 32(%esi),%ebp 361 movl %ebx,%edi 362 363 leal 2272392833(%edx,%ebp,1),%edx 364 addl %ebx,%eax 365 xorl %ecx,%edi 366 xorl %eax,%edi 367 movl 44(%esi),%ebp 368 addl %edi,%edx 369 movl %eax,%edi 370 roll $11,%edx 371 addl %eax,%edx 372 373 xorl %ebx,%edi 374 xorl %edx,%edi 375 leal 1839030562(%ecx,%ebp,1),%ecx 376 addl %edi,%ecx 377 roll $16,%ecx 378 movl 56(%esi),%ebp 379 movl %edx,%edi 380 381 leal 4259657740(%ebx,%ebp,1),%ebx 382 addl %edx,%ecx 383 xorl %eax,%edi 384 xorl %ecx,%edi 385 movl 4(%esi),%ebp 386 addl %edi,%ebx 387 movl %ecx,%edi 388 roll $23,%ebx 389 addl %ecx,%ebx 390 391 xorl %edx,%edi 392 xorl %ebx,%edi 393 leal 2763975236(%eax,%ebp,1),%eax 394 addl %edi,%eax 395 roll $4,%eax 396 movl 16(%esi),%ebp 397 movl %ebx,%edi 398 399 leal 1272893353(%edx,%ebp,1),%edx 400 addl %ebx,%eax 401 xorl %ecx,%edi 402 xorl %eax,%edi 403 movl 28(%esi),%ebp 404 addl %edi,%edx 405 movl %eax,%edi 406 roll $11,%edx 407 addl %eax,%edx 408 409 xorl %ebx,%edi 410 xorl %edx,%edi 411 leal 4139469664(%ecx,%ebp,1),%ecx 412 addl %edi,%ecx 413 roll $16,%ecx 414 movl 40(%esi),%ebp 415 movl %edx,%edi 416 417 leal 3200236656(%ebx,%ebp,1),%ebx 418 addl %edx,%ecx 419 xorl %eax,%edi 420 xorl %ecx,%edi 421 movl 52(%esi),%ebp 422 addl %edi,%ebx 423 movl %ecx,%edi 424 roll $23,%ebx 425 addl %ecx,%ebx 426 427 xorl %edx,%edi 428 xorl %ebx,%edi 429 leal 681279174(%eax,%ebp,1),%eax 430 addl %edi,%eax 431 roll $4,%eax 432 movl (%esi),%ebp 433 movl %ebx,%edi 434 435 leal 3936430074(%edx,%ebp,1),%edx 436 addl %ebx,%eax 437 xorl %ecx,%edi 438 xorl %eax,%edi 439 movl 12(%esi),%ebp 440 addl %edi,%edx 441 movl %eax,%edi 442 roll $11,%edx 443 addl %eax,%edx 444 445 xorl %ebx,%edi 446 xorl %edx,%edi 447 leal 3572445317(%ecx,%ebp,1),%ecx 448 addl %edi,%ecx 449 roll $16,%ecx 450 movl 24(%esi),%ebp 451 movl %edx,%edi 452 453 leal 76029189(%ebx,%ebp,1),%ebx 454 addl %edx,%ecx 455 xorl %eax,%edi 456 xorl %ecx,%edi 457 movl 36(%esi),%ebp 458 addl %edi,%ebx 459 movl %ecx,%edi 460 roll $23,%ebx 461 addl %ecx,%ebx 462 463 xorl %edx,%edi 464 xorl %ebx,%edi 465 leal 3654602809(%eax,%ebp,1),%eax 466 addl %edi,%eax 467 roll $4,%eax 468 movl 48(%esi),%ebp 469 movl %ebx,%edi 470 471 leal 3873151461(%edx,%ebp,1),%edx 472 addl %ebx,%eax 473 xorl %ecx,%edi 474 xorl %eax,%edi 475 movl 60(%esi),%ebp 476 addl %edi,%edx 477 movl %eax,%edi 478 roll $11,%edx 479 addl %eax,%edx 480 481 xorl %ebx,%edi 482 xorl %edx,%edi 483 leal 530742520(%ecx,%ebp,1),%ecx 484 addl %edi,%ecx 485 roll $16,%ecx 486 movl 8(%esi),%ebp 487 movl %edx,%edi 488 489 leal 3299628645(%ebx,%ebp,1),%ebx 490 addl %edx,%ecx 491 xorl %eax,%edi 492 xorl %ecx,%edi 493 movl (%esi),%ebp 494 addl %edi,%ebx 495 movl $-1,%edi 496 roll $23,%ebx 497 addl %ecx,%ebx 498 499 500 501 xorl %edx,%edi 502 orl %ebx,%edi 503 leal 4096336452(%eax,%ebp,1),%eax 504 xorl %ecx,%edi 505 movl 28(%esi),%ebp 506 addl %edi,%eax 507 movl $-1,%edi 508 roll $6,%eax 509 xorl %ecx,%edi 510 addl %ebx,%eax 511 512 orl %eax,%edi 513 leal 1126891415(%edx,%ebp,1),%edx 514 xorl %ebx,%edi 515 movl 56(%esi),%ebp 516 addl %edi,%edx 517 movl $-1,%edi 518 roll $10,%edx 519 xorl %ebx,%edi 520 addl %eax,%edx 521 522 orl %edx,%edi 523 leal 2878612391(%ecx,%ebp,1),%ecx 524 xorl %eax,%edi 525 movl 20(%esi),%ebp 526 addl %edi,%ecx 527 movl $-1,%edi 528 roll $15,%ecx 529 xorl %eax,%edi 530 addl %edx,%ecx 531 532 orl %ecx,%edi 533 leal 4237533241(%ebx,%ebp,1),%ebx 534 xorl %edx,%edi 535 movl 48(%esi),%ebp 536 addl %edi,%ebx 537 movl $-1,%edi 538 roll $21,%ebx 539 xorl %edx,%edi 540 addl %ecx,%ebx 541 542 orl %ebx,%edi 543 leal 1700485571(%eax,%ebp,1),%eax 544 xorl %ecx,%edi 545 movl 12(%esi),%ebp 546 addl %edi,%eax 547 movl $-1,%edi 548 roll $6,%eax 549 xorl %ecx,%edi 550 addl %ebx,%eax 551 552 orl %eax,%edi 553 leal 2399980690(%edx,%ebp,1),%edx 554 xorl %ebx,%edi 555 movl 40(%esi),%ebp 556 addl %edi,%edx 557 movl $-1,%edi 558 roll $10,%edx 559 xorl %ebx,%edi 560 addl %eax,%edx 561 562 orl %edx,%edi 563 leal 4293915773(%ecx,%ebp,1),%ecx 564 xorl %eax,%edi 565 movl 4(%esi),%ebp 566 addl %edi,%ecx 567 movl $-1,%edi 568 roll $15,%ecx 569 xorl %eax,%edi 570 addl %edx,%ecx 571 572 orl %ecx,%edi 573 leal 2240044497(%ebx,%ebp,1),%ebx 574 xorl %edx,%edi 575 movl 32(%esi),%ebp 576 addl %edi,%ebx 577 movl $-1,%edi 578 roll $21,%ebx 579 xorl %edx,%edi 580 addl %ecx,%ebx 581 582 orl %ebx,%edi 583 leal 1873313359(%eax,%ebp,1),%eax 584 xorl %ecx,%edi 585 movl 60(%esi),%ebp 586 addl %edi,%eax 587 movl $-1,%edi 588 roll $6,%eax 589 xorl %ecx,%edi 590 addl %ebx,%eax 591 592 orl %eax,%edi 593 leal 4264355552(%edx,%ebp,1),%edx 594 xorl %ebx,%edi 595 movl 24(%esi),%ebp 596 addl %edi,%edx 597 movl $-1,%edi 598 roll $10,%edx 599 xorl %ebx,%edi 600 addl %eax,%edx 601 602 orl %edx,%edi 603 leal 2734768916(%ecx,%ebp,1),%ecx 604 xorl %eax,%edi 605 movl 52(%esi),%ebp 606 addl %edi,%ecx 607 movl $-1,%edi 608 roll $15,%ecx 609 xorl %eax,%edi 610 addl %edx,%ecx 611 612 orl %ecx,%edi 613 leal 1309151649(%ebx,%ebp,1),%ebx 614 xorl %edx,%edi 615 movl 16(%esi),%ebp 616 addl %edi,%ebx 617 movl $-1,%edi 618 roll $21,%ebx 619 xorl %edx,%edi 620 addl %ecx,%ebx 621 622 orl %ebx,%edi 623 leal 4149444226(%eax,%ebp,1),%eax 624 xorl %ecx,%edi 625 movl 44(%esi),%ebp 626 addl %edi,%eax 627 movl $-1,%edi 628 roll $6,%eax 629 xorl %ecx,%edi 630 addl %ebx,%eax 631 632 orl %eax,%edi 633 leal 3174756917(%edx,%ebp,1),%edx 634 xorl %ebx,%edi 635 movl 8(%esi),%ebp 636 addl %edi,%edx 637 movl $-1,%edi 638 roll $10,%edx 639 xorl %ebx,%edi 640 addl %eax,%edx 641 642 orl %edx,%edi 643 leal 718787259(%ecx,%ebp,1),%ecx 644 xorl %eax,%edi 645 movl 36(%esi),%ebp 646 addl %edi,%ecx 647 movl $-1,%edi 648 roll $15,%ecx 649 xorl %eax,%edi 650 addl %edx,%ecx 651 652 orl %ecx,%edi 653 leal 3951481745(%ebx,%ebp,1),%ebx 654 xorl %edx,%edi 655 movl 24(%esp),%ebp 656 addl %edi,%ebx 657 addl $64,%esi 658 roll $21,%ebx 659 movl (%ebp),%edi 660 addl %ecx,%ebx 661 addl %edi,%eax 662 movl 4(%ebp),%edi 663 addl %edi,%ebx 664 movl 8(%ebp),%edi 665 addl %edi,%ecx 666 movl 12(%ebp),%edi 667 addl %edi,%edx 668 movl %eax,(%ebp) 669 movl %ebx,4(%ebp) 670 movl (%esp),%edi 671 movl %ecx,8(%ebp) 672 movl %edx,12(%ebp) 673 cmpl %esi,%edi 674 jae .L000start 675 popl %eax 676 popl %ebx 677 popl %ebp 678 popl %edi 679 popl %esi 680 ret 681 .size md5_block_asm_data_order,.-.L_md5_block_asm_data_order_begin 682 #endif 683