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