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