sha1-x86_64.S revision 305153
1/* $FreeBSD: stable/11/secure/lib/libcrypto/amd64/sha1-x86_64.S 305153 2016-08-31 20:33:59Z jkim $ */ 2/* Do not modify. This file is auto-generated from sha1-x86_64.pl. */ 3.text 4 5 6.globl sha1_block_data_order 7.type sha1_block_data_order,@function 8.align 16 9sha1_block_data_order: 10 movl OPENSSL_ia32cap_P+0(%rip),%r9d 11 movl OPENSSL_ia32cap_P+4(%rip),%r8d 12 movl OPENSSL_ia32cap_P+8(%rip),%r10d 13 testl $512,%r8d 14 jz .Lialu 15 testl $536870912,%r10d 16 jnz _shaext_shortcut 17 andl $296,%r10d 18 cmpl $296,%r10d 19 je _avx2_shortcut 20 andl $268435456,%r8d 21 andl $1073741824,%r9d 22 orl %r9d,%r8d 23 cmpl $1342177280,%r8d 24 je _avx_shortcut 25 jmp _ssse3_shortcut 26 27.align 16 28.Lialu: 29 movq %rsp,%rax 30 pushq %rbx 31 pushq %rbp 32 pushq %r12 33 pushq %r13 34 pushq %r14 35 movq %rdi,%r8 36 subq $72,%rsp 37 movq %rsi,%r9 38 andq $-64,%rsp 39 movq %rdx,%r10 40 movq %rax,64(%rsp) 41.Lprologue: 42 43 movl 0(%r8),%esi 44 movl 4(%r8),%edi 45 movl 8(%r8),%r11d 46 movl 12(%r8),%r12d 47 movl 16(%r8),%r13d 48 jmp .Lloop 49 50.align 16 51.Lloop: 52 movl 0(%r9),%edx 53 bswapl %edx 54 movl 4(%r9),%ebp 55 movl %r12d,%eax 56 movl %edx,0(%rsp) 57 movl %esi,%ecx 58 bswapl %ebp 59 xorl %r11d,%eax 60 roll $5,%ecx 61 andl %edi,%eax 62 leal 1518500249(%rdx,%r13,1),%r13d 63 addl %ecx,%r13d 64 xorl %r12d,%eax 65 roll $30,%edi 66 addl %eax,%r13d 67 movl 8(%r9),%r14d 68 movl %r11d,%eax 69 movl %ebp,4(%rsp) 70 movl %r13d,%ecx 71 bswapl %r14d 72 xorl %edi,%eax 73 roll $5,%ecx 74 andl %esi,%eax 75 leal 1518500249(%rbp,%r12,1),%r12d 76 addl %ecx,%r12d 77 xorl %r11d,%eax 78 roll $30,%esi 79 addl %eax,%r12d 80 movl 12(%r9),%edx 81 movl %edi,%eax 82 movl %r14d,8(%rsp) 83 movl %r12d,%ecx 84 bswapl %edx 85 xorl %esi,%eax 86 roll $5,%ecx 87 andl %r13d,%eax 88 leal 1518500249(%r14,%r11,1),%r11d 89 addl %ecx,%r11d 90 xorl %edi,%eax 91 roll $30,%r13d 92 addl %eax,%r11d 93 movl 16(%r9),%ebp 94 movl %esi,%eax 95 movl %edx,12(%rsp) 96 movl %r11d,%ecx 97 bswapl %ebp 98 xorl %r13d,%eax 99 roll $5,%ecx 100 andl %r12d,%eax 101 leal 1518500249(%rdx,%rdi,1),%edi 102 addl %ecx,%edi 103 xorl %esi,%eax 104 roll $30,%r12d 105 addl %eax,%edi 106 movl 20(%r9),%r14d 107 movl %r13d,%eax 108 movl %ebp,16(%rsp) 109 movl %edi,%ecx 110 bswapl %r14d 111 xorl %r12d,%eax 112 roll $5,%ecx 113 andl %r11d,%eax 114 leal 1518500249(%rbp,%rsi,1),%esi 115 addl %ecx,%esi 116 xorl %r13d,%eax 117 roll $30,%r11d 118 addl %eax,%esi 119 movl 24(%r9),%edx 120 movl %r12d,%eax 121 movl %r14d,20(%rsp) 122 movl %esi,%ecx 123 bswapl %edx 124 xorl %r11d,%eax 125 roll $5,%ecx 126 andl %edi,%eax 127 leal 1518500249(%r14,%r13,1),%r13d 128 addl %ecx,%r13d 129 xorl %r12d,%eax 130 roll $30,%edi 131 addl %eax,%r13d 132 movl 28(%r9),%ebp 133 movl %r11d,%eax 134 movl %edx,24(%rsp) 135 movl %r13d,%ecx 136 bswapl %ebp 137 xorl %edi,%eax 138 roll $5,%ecx 139 andl %esi,%eax 140 leal 1518500249(%rdx,%r12,1),%r12d 141 addl %ecx,%r12d 142 xorl %r11d,%eax 143 roll $30,%esi 144 addl %eax,%r12d 145 movl 32(%r9),%r14d 146 movl %edi,%eax 147 movl %ebp,28(%rsp) 148 movl %r12d,%ecx 149 bswapl %r14d 150 xorl %esi,%eax 151 roll $5,%ecx 152 andl %r13d,%eax 153 leal 1518500249(%rbp,%r11,1),%r11d 154 addl %ecx,%r11d 155 xorl %edi,%eax 156 roll $30,%r13d 157 addl %eax,%r11d 158 movl 36(%r9),%edx 159 movl %esi,%eax 160 movl %r14d,32(%rsp) 161 movl %r11d,%ecx 162 bswapl %edx 163 xorl %r13d,%eax 164 roll $5,%ecx 165 andl %r12d,%eax 166 leal 1518500249(%r14,%rdi,1),%edi 167 addl %ecx,%edi 168 xorl %esi,%eax 169 roll $30,%r12d 170 addl %eax,%edi 171 movl 40(%r9),%ebp 172 movl %r13d,%eax 173 movl %edx,36(%rsp) 174 movl %edi,%ecx 175 bswapl %ebp 176 xorl %r12d,%eax 177 roll $5,%ecx 178 andl %r11d,%eax 179 leal 1518500249(%rdx,%rsi,1),%esi 180 addl %ecx,%esi 181 xorl %r13d,%eax 182 roll $30,%r11d 183 addl %eax,%esi 184 movl 44(%r9),%r14d 185 movl %r12d,%eax 186 movl %ebp,40(%rsp) 187 movl %esi,%ecx 188 bswapl %r14d 189 xorl %r11d,%eax 190 roll $5,%ecx 191 andl %edi,%eax 192 leal 1518500249(%rbp,%r13,1),%r13d 193 addl %ecx,%r13d 194 xorl %r12d,%eax 195 roll $30,%edi 196 addl %eax,%r13d 197 movl 48(%r9),%edx 198 movl %r11d,%eax 199 movl %r14d,44(%rsp) 200 movl %r13d,%ecx 201 bswapl %edx 202 xorl %edi,%eax 203 roll $5,%ecx 204 andl %esi,%eax 205 leal 1518500249(%r14,%r12,1),%r12d 206 addl %ecx,%r12d 207 xorl %r11d,%eax 208 roll $30,%esi 209 addl %eax,%r12d 210 movl 52(%r9),%ebp 211 movl %edi,%eax 212 movl %edx,48(%rsp) 213 movl %r12d,%ecx 214 bswapl %ebp 215 xorl %esi,%eax 216 roll $5,%ecx 217 andl %r13d,%eax 218 leal 1518500249(%rdx,%r11,1),%r11d 219 addl %ecx,%r11d 220 xorl %edi,%eax 221 roll $30,%r13d 222 addl %eax,%r11d 223 movl 56(%r9),%r14d 224 movl %esi,%eax 225 movl %ebp,52(%rsp) 226 movl %r11d,%ecx 227 bswapl %r14d 228 xorl %r13d,%eax 229 roll $5,%ecx 230 andl %r12d,%eax 231 leal 1518500249(%rbp,%rdi,1),%edi 232 addl %ecx,%edi 233 xorl %esi,%eax 234 roll $30,%r12d 235 addl %eax,%edi 236 movl 60(%r9),%edx 237 movl %r13d,%eax 238 movl %r14d,56(%rsp) 239 movl %edi,%ecx 240 bswapl %edx 241 xorl %r12d,%eax 242 roll $5,%ecx 243 andl %r11d,%eax 244 leal 1518500249(%r14,%rsi,1),%esi 245 addl %ecx,%esi 246 xorl %r13d,%eax 247 roll $30,%r11d 248 addl %eax,%esi 249 xorl 0(%rsp),%ebp 250 movl %r12d,%eax 251 movl %edx,60(%rsp) 252 movl %esi,%ecx 253 xorl 8(%rsp),%ebp 254 xorl %r11d,%eax 255 roll $5,%ecx 256 xorl 32(%rsp),%ebp 257 andl %edi,%eax 258 leal 1518500249(%rdx,%r13,1),%r13d 259 roll $30,%edi 260 xorl %r12d,%eax 261 addl %ecx,%r13d 262 roll $1,%ebp 263 addl %eax,%r13d 264 xorl 4(%rsp),%r14d 265 movl %r11d,%eax 266 movl %ebp,0(%rsp) 267 movl %r13d,%ecx 268 xorl 12(%rsp),%r14d 269 xorl %edi,%eax 270 roll $5,%ecx 271 xorl 36(%rsp),%r14d 272 andl %esi,%eax 273 leal 1518500249(%rbp,%r12,1),%r12d 274 roll $30,%esi 275 xorl %r11d,%eax 276 addl %ecx,%r12d 277 roll $1,%r14d 278 addl %eax,%r12d 279 xorl 8(%rsp),%edx 280 movl %edi,%eax 281 movl %r14d,4(%rsp) 282 movl %r12d,%ecx 283 xorl 16(%rsp),%edx 284 xorl %esi,%eax 285 roll $5,%ecx 286 xorl 40(%rsp),%edx 287 andl %r13d,%eax 288 leal 1518500249(%r14,%r11,1),%r11d 289 roll $30,%r13d 290 xorl %edi,%eax 291 addl %ecx,%r11d 292 roll $1,%edx 293 addl %eax,%r11d 294 xorl 12(%rsp),%ebp 295 movl %esi,%eax 296 movl %edx,8(%rsp) 297 movl %r11d,%ecx 298 xorl 20(%rsp),%ebp 299 xorl %r13d,%eax 300 roll $5,%ecx 301 xorl 44(%rsp),%ebp 302 andl %r12d,%eax 303 leal 1518500249(%rdx,%rdi,1),%edi 304 roll $30,%r12d 305 xorl %esi,%eax 306 addl %ecx,%edi 307 roll $1,%ebp 308 addl %eax,%edi 309 xorl 16(%rsp),%r14d 310 movl %r13d,%eax 311 movl %ebp,12(%rsp) 312 movl %edi,%ecx 313 xorl 24(%rsp),%r14d 314 xorl %r12d,%eax 315 roll $5,%ecx 316 xorl 48(%rsp),%r14d 317 andl %r11d,%eax 318 leal 1518500249(%rbp,%rsi,1),%esi 319 roll $30,%r11d 320 xorl %r13d,%eax 321 addl %ecx,%esi 322 roll $1,%r14d 323 addl %eax,%esi 324 xorl 20(%rsp),%edx 325 movl %edi,%eax 326 movl %r14d,16(%rsp) 327 movl %esi,%ecx 328 xorl 28(%rsp),%edx 329 xorl %r12d,%eax 330 roll $5,%ecx 331 xorl 52(%rsp),%edx 332 leal 1859775393(%r14,%r13,1),%r13d 333 xorl %r11d,%eax 334 addl %ecx,%r13d 335 roll $30,%edi 336 addl %eax,%r13d 337 roll $1,%edx 338 xorl 24(%rsp),%ebp 339 movl %esi,%eax 340 movl %edx,20(%rsp) 341 movl %r13d,%ecx 342 xorl 32(%rsp),%ebp 343 xorl %r11d,%eax 344 roll $5,%ecx 345 xorl 56(%rsp),%ebp 346 leal 1859775393(%rdx,%r12,1),%r12d 347 xorl %edi,%eax 348 addl %ecx,%r12d 349 roll $30,%esi 350 addl %eax,%r12d 351 roll $1,%ebp 352 xorl 28(%rsp),%r14d 353 movl %r13d,%eax 354 movl %ebp,24(%rsp) 355 movl %r12d,%ecx 356 xorl 36(%rsp),%r14d 357 xorl %edi,%eax 358 roll $5,%ecx 359 xorl 60(%rsp),%r14d 360 leal 1859775393(%rbp,%r11,1),%r11d 361 xorl %esi,%eax 362 addl %ecx,%r11d 363 roll $30,%r13d 364 addl %eax,%r11d 365 roll $1,%r14d 366 xorl 32(%rsp),%edx 367 movl %r12d,%eax 368 movl %r14d,28(%rsp) 369 movl %r11d,%ecx 370 xorl 40(%rsp),%edx 371 xorl %esi,%eax 372 roll $5,%ecx 373 xorl 0(%rsp),%edx 374 leal 1859775393(%r14,%rdi,1),%edi 375 xorl %r13d,%eax 376 addl %ecx,%edi 377 roll $30,%r12d 378 addl %eax,%edi 379 roll $1,%edx 380 xorl 36(%rsp),%ebp 381 movl %r11d,%eax 382 movl %edx,32(%rsp) 383 movl %edi,%ecx 384 xorl 44(%rsp),%ebp 385 xorl %r13d,%eax 386 roll $5,%ecx 387 xorl 4(%rsp),%ebp 388 leal 1859775393(%rdx,%rsi,1),%esi 389 xorl %r12d,%eax 390 addl %ecx,%esi 391 roll $30,%r11d 392 addl %eax,%esi 393 roll $1,%ebp 394 xorl 40(%rsp),%r14d 395 movl %edi,%eax 396 movl %ebp,36(%rsp) 397 movl %esi,%ecx 398 xorl 48(%rsp),%r14d 399 xorl %r12d,%eax 400 roll $5,%ecx 401 xorl 8(%rsp),%r14d 402 leal 1859775393(%rbp,%r13,1),%r13d 403 xorl %r11d,%eax 404 addl %ecx,%r13d 405 roll $30,%edi 406 addl %eax,%r13d 407 roll $1,%r14d 408 xorl 44(%rsp),%edx 409 movl %esi,%eax 410 movl %r14d,40(%rsp) 411 movl %r13d,%ecx 412 xorl 52(%rsp),%edx 413 xorl %r11d,%eax 414 roll $5,%ecx 415 xorl 12(%rsp),%edx 416 leal 1859775393(%r14,%r12,1),%r12d 417 xorl %edi,%eax 418 addl %ecx,%r12d 419 roll $30,%esi 420 addl %eax,%r12d 421 roll $1,%edx 422 xorl 48(%rsp),%ebp 423 movl %r13d,%eax 424 movl %edx,44(%rsp) 425 movl %r12d,%ecx 426 xorl 56(%rsp),%ebp 427 xorl %edi,%eax 428 roll $5,%ecx 429 xorl 16(%rsp),%ebp 430 leal 1859775393(%rdx,%r11,1),%r11d 431 xorl %esi,%eax 432 addl %ecx,%r11d 433 roll $30,%r13d 434 addl %eax,%r11d 435 roll $1,%ebp 436 xorl 52(%rsp),%r14d 437 movl %r12d,%eax 438 movl %ebp,48(%rsp) 439 movl %r11d,%ecx 440 xorl 60(%rsp),%r14d 441 xorl %esi,%eax 442 roll $5,%ecx 443 xorl 20(%rsp),%r14d 444 leal 1859775393(%rbp,%rdi,1),%edi 445 xorl %r13d,%eax 446 addl %ecx,%edi 447 roll $30,%r12d 448 addl %eax,%edi 449 roll $1,%r14d 450 xorl 56(%rsp),%edx 451 movl %r11d,%eax 452 movl %r14d,52(%rsp) 453 movl %edi,%ecx 454 xorl 0(%rsp),%edx 455 xorl %r13d,%eax 456 roll $5,%ecx 457 xorl 24(%rsp),%edx 458 leal 1859775393(%r14,%rsi,1),%esi 459 xorl %r12d,%eax 460 addl %ecx,%esi 461 roll $30,%r11d 462 addl %eax,%esi 463 roll $1,%edx 464 xorl 60(%rsp),%ebp 465 movl %edi,%eax 466 movl %edx,56(%rsp) 467 movl %esi,%ecx 468 xorl 4(%rsp),%ebp 469 xorl %r12d,%eax 470 roll $5,%ecx 471 xorl 28(%rsp),%ebp 472 leal 1859775393(%rdx,%r13,1),%r13d 473 xorl %r11d,%eax 474 addl %ecx,%r13d 475 roll $30,%edi 476 addl %eax,%r13d 477 roll $1,%ebp 478 xorl 0(%rsp),%r14d 479 movl %esi,%eax 480 movl %ebp,60(%rsp) 481 movl %r13d,%ecx 482 xorl 8(%rsp),%r14d 483 xorl %r11d,%eax 484 roll $5,%ecx 485 xorl 32(%rsp),%r14d 486 leal 1859775393(%rbp,%r12,1),%r12d 487 xorl %edi,%eax 488 addl %ecx,%r12d 489 roll $30,%esi 490 addl %eax,%r12d 491 roll $1,%r14d 492 xorl 4(%rsp),%edx 493 movl %r13d,%eax 494 movl %r14d,0(%rsp) 495 movl %r12d,%ecx 496 xorl 12(%rsp),%edx 497 xorl %edi,%eax 498 roll $5,%ecx 499 xorl 36(%rsp),%edx 500 leal 1859775393(%r14,%r11,1),%r11d 501 xorl %esi,%eax 502 addl %ecx,%r11d 503 roll $30,%r13d 504 addl %eax,%r11d 505 roll $1,%edx 506 xorl 8(%rsp),%ebp 507 movl %r12d,%eax 508 movl %edx,4(%rsp) 509 movl %r11d,%ecx 510 xorl 16(%rsp),%ebp 511 xorl %esi,%eax 512 roll $5,%ecx 513 xorl 40(%rsp),%ebp 514 leal 1859775393(%rdx,%rdi,1),%edi 515 xorl %r13d,%eax 516 addl %ecx,%edi 517 roll $30,%r12d 518 addl %eax,%edi 519 roll $1,%ebp 520 xorl 12(%rsp),%r14d 521 movl %r11d,%eax 522 movl %ebp,8(%rsp) 523 movl %edi,%ecx 524 xorl 20(%rsp),%r14d 525 xorl %r13d,%eax 526 roll $5,%ecx 527 xorl 44(%rsp),%r14d 528 leal 1859775393(%rbp,%rsi,1),%esi 529 xorl %r12d,%eax 530 addl %ecx,%esi 531 roll $30,%r11d 532 addl %eax,%esi 533 roll $1,%r14d 534 xorl 16(%rsp),%edx 535 movl %edi,%eax 536 movl %r14d,12(%rsp) 537 movl %esi,%ecx 538 xorl 24(%rsp),%edx 539 xorl %r12d,%eax 540 roll $5,%ecx 541 xorl 48(%rsp),%edx 542 leal 1859775393(%r14,%r13,1),%r13d 543 xorl %r11d,%eax 544 addl %ecx,%r13d 545 roll $30,%edi 546 addl %eax,%r13d 547 roll $1,%edx 548 xorl 20(%rsp),%ebp 549 movl %esi,%eax 550 movl %edx,16(%rsp) 551 movl %r13d,%ecx 552 xorl 28(%rsp),%ebp 553 xorl %r11d,%eax 554 roll $5,%ecx 555 xorl 52(%rsp),%ebp 556 leal 1859775393(%rdx,%r12,1),%r12d 557 xorl %edi,%eax 558 addl %ecx,%r12d 559 roll $30,%esi 560 addl %eax,%r12d 561 roll $1,%ebp 562 xorl 24(%rsp),%r14d 563 movl %r13d,%eax 564 movl %ebp,20(%rsp) 565 movl %r12d,%ecx 566 xorl 32(%rsp),%r14d 567 xorl %edi,%eax 568 roll $5,%ecx 569 xorl 56(%rsp),%r14d 570 leal 1859775393(%rbp,%r11,1),%r11d 571 xorl %esi,%eax 572 addl %ecx,%r11d 573 roll $30,%r13d 574 addl %eax,%r11d 575 roll $1,%r14d 576 xorl 28(%rsp),%edx 577 movl %r12d,%eax 578 movl %r14d,24(%rsp) 579 movl %r11d,%ecx 580 xorl 36(%rsp),%edx 581 xorl %esi,%eax 582 roll $5,%ecx 583 xorl 60(%rsp),%edx 584 leal 1859775393(%r14,%rdi,1),%edi 585 xorl %r13d,%eax 586 addl %ecx,%edi 587 roll $30,%r12d 588 addl %eax,%edi 589 roll $1,%edx 590 xorl 32(%rsp),%ebp 591 movl %r11d,%eax 592 movl %edx,28(%rsp) 593 movl %edi,%ecx 594 xorl 40(%rsp),%ebp 595 xorl %r13d,%eax 596 roll $5,%ecx 597 xorl 0(%rsp),%ebp 598 leal 1859775393(%rdx,%rsi,1),%esi 599 xorl %r12d,%eax 600 addl %ecx,%esi 601 roll $30,%r11d 602 addl %eax,%esi 603 roll $1,%ebp 604 xorl 36(%rsp),%r14d 605 movl %r12d,%eax 606 movl %ebp,32(%rsp) 607 movl %r12d,%ebx 608 xorl 44(%rsp),%r14d 609 andl %r11d,%eax 610 movl %esi,%ecx 611 xorl 4(%rsp),%r14d 612 leal -1894007588(%rbp,%r13,1),%r13d 613 xorl %r11d,%ebx 614 roll $5,%ecx 615 addl %eax,%r13d 616 roll $1,%r14d 617 andl %edi,%ebx 618 addl %ecx,%r13d 619 roll $30,%edi 620 addl %ebx,%r13d 621 xorl 40(%rsp),%edx 622 movl %r11d,%eax 623 movl %r14d,36(%rsp) 624 movl %r11d,%ebx 625 xorl 48(%rsp),%edx 626 andl %edi,%eax 627 movl %r13d,%ecx 628 xorl 8(%rsp),%edx 629 leal -1894007588(%r14,%r12,1),%r12d 630 xorl %edi,%ebx 631 roll $5,%ecx 632 addl %eax,%r12d 633 roll $1,%edx 634 andl %esi,%ebx 635 addl %ecx,%r12d 636 roll $30,%esi 637 addl %ebx,%r12d 638 xorl 44(%rsp),%ebp 639 movl %edi,%eax 640 movl %edx,40(%rsp) 641 movl %edi,%ebx 642 xorl 52(%rsp),%ebp 643 andl %esi,%eax 644 movl %r12d,%ecx 645 xorl 12(%rsp),%ebp 646 leal -1894007588(%rdx,%r11,1),%r11d 647 xorl %esi,%ebx 648 roll $5,%ecx 649 addl %eax,%r11d 650 roll $1,%ebp 651 andl %r13d,%ebx 652 addl %ecx,%r11d 653 roll $30,%r13d 654 addl %ebx,%r11d 655 xorl 48(%rsp),%r14d 656 movl %esi,%eax 657 movl %ebp,44(%rsp) 658 movl %esi,%ebx 659 xorl 56(%rsp),%r14d 660 andl %r13d,%eax 661 movl %r11d,%ecx 662 xorl 16(%rsp),%r14d 663 leal -1894007588(%rbp,%rdi,1),%edi 664 xorl %r13d,%ebx 665 roll $5,%ecx 666 addl %eax,%edi 667 roll $1,%r14d 668 andl %r12d,%ebx 669 addl %ecx,%edi 670 roll $30,%r12d 671 addl %ebx,%edi 672 xorl 52(%rsp),%edx 673 movl %r13d,%eax 674 movl %r14d,48(%rsp) 675 movl %r13d,%ebx 676 xorl 60(%rsp),%edx 677 andl %r12d,%eax 678 movl %edi,%ecx 679 xorl 20(%rsp),%edx 680 leal -1894007588(%r14,%rsi,1),%esi 681 xorl %r12d,%ebx 682 roll $5,%ecx 683 addl %eax,%esi 684 roll $1,%edx 685 andl %r11d,%ebx 686 addl %ecx,%esi 687 roll $30,%r11d 688 addl %ebx,%esi 689 xorl 56(%rsp),%ebp 690 movl %r12d,%eax 691 movl %edx,52(%rsp) 692 movl %r12d,%ebx 693 xorl 0(%rsp),%ebp 694 andl %r11d,%eax 695 movl %esi,%ecx 696 xorl 24(%rsp),%ebp 697 leal -1894007588(%rdx,%r13,1),%r13d 698 xorl %r11d,%ebx 699 roll $5,%ecx 700 addl %eax,%r13d 701 roll $1,%ebp 702 andl %edi,%ebx 703 addl %ecx,%r13d 704 roll $30,%edi 705 addl %ebx,%r13d 706 xorl 60(%rsp),%r14d 707 movl %r11d,%eax 708 movl %ebp,56(%rsp) 709 movl %r11d,%ebx 710 xorl 4(%rsp),%r14d 711 andl %edi,%eax 712 movl %r13d,%ecx 713 xorl 28(%rsp),%r14d 714 leal -1894007588(%rbp,%r12,1),%r12d 715 xorl %edi,%ebx 716 roll $5,%ecx 717 addl %eax,%r12d 718 roll $1,%r14d 719 andl %esi,%ebx 720 addl %ecx,%r12d 721 roll $30,%esi 722 addl %ebx,%r12d 723 xorl 0(%rsp),%edx 724 movl %edi,%eax 725 movl %r14d,60(%rsp) 726 movl %edi,%ebx 727 xorl 8(%rsp),%edx 728 andl %esi,%eax 729 movl %r12d,%ecx 730 xorl 32(%rsp),%edx 731 leal -1894007588(%r14,%r11,1),%r11d 732 xorl %esi,%ebx 733 roll $5,%ecx 734 addl %eax,%r11d 735 roll $1,%edx 736 andl %r13d,%ebx 737 addl %ecx,%r11d 738 roll $30,%r13d 739 addl %ebx,%r11d 740 xorl 4(%rsp),%ebp 741 movl %esi,%eax 742 movl %edx,0(%rsp) 743 movl %esi,%ebx 744 xorl 12(%rsp),%ebp 745 andl %r13d,%eax 746 movl %r11d,%ecx 747 xorl 36(%rsp),%ebp 748 leal -1894007588(%rdx,%rdi,1),%edi 749 xorl %r13d,%ebx 750 roll $5,%ecx 751 addl %eax,%edi 752 roll $1,%ebp 753 andl %r12d,%ebx 754 addl %ecx,%edi 755 roll $30,%r12d 756 addl %ebx,%edi 757 xorl 8(%rsp),%r14d 758 movl %r13d,%eax 759 movl %ebp,4(%rsp) 760 movl %r13d,%ebx 761 xorl 16(%rsp),%r14d 762 andl %r12d,%eax 763 movl %edi,%ecx 764 xorl 40(%rsp),%r14d 765 leal -1894007588(%rbp,%rsi,1),%esi 766 xorl %r12d,%ebx 767 roll $5,%ecx 768 addl %eax,%esi 769 roll $1,%r14d 770 andl %r11d,%ebx 771 addl %ecx,%esi 772 roll $30,%r11d 773 addl %ebx,%esi 774 xorl 12(%rsp),%edx 775 movl %r12d,%eax 776 movl %r14d,8(%rsp) 777 movl %r12d,%ebx 778 xorl 20(%rsp),%edx 779 andl %r11d,%eax 780 movl %esi,%ecx 781 xorl 44(%rsp),%edx 782 leal -1894007588(%r14,%r13,1),%r13d 783 xorl %r11d,%ebx 784 roll $5,%ecx 785 addl %eax,%r13d 786 roll $1,%edx 787 andl %edi,%ebx 788 addl %ecx,%r13d 789 roll $30,%edi 790 addl %ebx,%r13d 791 xorl 16(%rsp),%ebp 792 movl %r11d,%eax 793 movl %edx,12(%rsp) 794 movl %r11d,%ebx 795 xorl 24(%rsp),%ebp 796 andl %edi,%eax 797 movl %r13d,%ecx 798 xorl 48(%rsp),%ebp 799 leal -1894007588(%rdx,%r12,1),%r12d 800 xorl %edi,%ebx 801 roll $5,%ecx 802 addl %eax,%r12d 803 roll $1,%ebp 804 andl %esi,%ebx 805 addl %ecx,%r12d 806 roll $30,%esi 807 addl %ebx,%r12d 808 xorl 20(%rsp),%r14d 809 movl %edi,%eax 810 movl %ebp,16(%rsp) 811 movl %edi,%ebx 812 xorl 28(%rsp),%r14d 813 andl %esi,%eax 814 movl %r12d,%ecx 815 xorl 52(%rsp),%r14d 816 leal -1894007588(%rbp,%r11,1),%r11d 817 xorl %esi,%ebx 818 roll $5,%ecx 819 addl %eax,%r11d 820 roll $1,%r14d 821 andl %r13d,%ebx 822 addl %ecx,%r11d 823 roll $30,%r13d 824 addl %ebx,%r11d 825 xorl 24(%rsp),%edx 826 movl %esi,%eax 827 movl %r14d,20(%rsp) 828 movl %esi,%ebx 829 xorl 32(%rsp),%edx 830 andl %r13d,%eax 831 movl %r11d,%ecx 832 xorl 56(%rsp),%edx 833 leal -1894007588(%r14,%rdi,1),%edi 834 xorl %r13d,%ebx 835 roll $5,%ecx 836 addl %eax,%edi 837 roll $1,%edx 838 andl %r12d,%ebx 839 addl %ecx,%edi 840 roll $30,%r12d 841 addl %ebx,%edi 842 xorl 28(%rsp),%ebp 843 movl %r13d,%eax 844 movl %edx,24(%rsp) 845 movl %r13d,%ebx 846 xorl 36(%rsp),%ebp 847 andl %r12d,%eax 848 movl %edi,%ecx 849 xorl 60(%rsp),%ebp 850 leal -1894007588(%rdx,%rsi,1),%esi 851 xorl %r12d,%ebx 852 roll $5,%ecx 853 addl %eax,%esi 854 roll $1,%ebp 855 andl %r11d,%ebx 856 addl %ecx,%esi 857 roll $30,%r11d 858 addl %ebx,%esi 859 xorl 32(%rsp),%r14d 860 movl %r12d,%eax 861 movl %ebp,28(%rsp) 862 movl %r12d,%ebx 863 xorl 40(%rsp),%r14d 864 andl %r11d,%eax 865 movl %esi,%ecx 866 xorl 0(%rsp),%r14d 867 leal -1894007588(%rbp,%r13,1),%r13d 868 xorl %r11d,%ebx 869 roll $5,%ecx 870 addl %eax,%r13d 871 roll $1,%r14d 872 andl %edi,%ebx 873 addl %ecx,%r13d 874 roll $30,%edi 875 addl %ebx,%r13d 876 xorl 36(%rsp),%edx 877 movl %r11d,%eax 878 movl %r14d,32(%rsp) 879 movl %r11d,%ebx 880 xorl 44(%rsp),%edx 881 andl %edi,%eax 882 movl %r13d,%ecx 883 xorl 4(%rsp),%edx 884 leal -1894007588(%r14,%r12,1),%r12d 885 xorl %edi,%ebx 886 roll $5,%ecx 887 addl %eax,%r12d 888 roll $1,%edx 889 andl %esi,%ebx 890 addl %ecx,%r12d 891 roll $30,%esi 892 addl %ebx,%r12d 893 xorl 40(%rsp),%ebp 894 movl %edi,%eax 895 movl %edx,36(%rsp) 896 movl %edi,%ebx 897 xorl 48(%rsp),%ebp 898 andl %esi,%eax 899 movl %r12d,%ecx 900 xorl 8(%rsp),%ebp 901 leal -1894007588(%rdx,%r11,1),%r11d 902 xorl %esi,%ebx 903 roll $5,%ecx 904 addl %eax,%r11d 905 roll $1,%ebp 906 andl %r13d,%ebx 907 addl %ecx,%r11d 908 roll $30,%r13d 909 addl %ebx,%r11d 910 xorl 44(%rsp),%r14d 911 movl %esi,%eax 912 movl %ebp,40(%rsp) 913 movl %esi,%ebx 914 xorl 52(%rsp),%r14d 915 andl %r13d,%eax 916 movl %r11d,%ecx 917 xorl 12(%rsp),%r14d 918 leal -1894007588(%rbp,%rdi,1),%edi 919 xorl %r13d,%ebx 920 roll $5,%ecx 921 addl %eax,%edi 922 roll $1,%r14d 923 andl %r12d,%ebx 924 addl %ecx,%edi 925 roll $30,%r12d 926 addl %ebx,%edi 927 xorl 48(%rsp),%edx 928 movl %r13d,%eax 929 movl %r14d,44(%rsp) 930 movl %r13d,%ebx 931 xorl 56(%rsp),%edx 932 andl %r12d,%eax 933 movl %edi,%ecx 934 xorl 16(%rsp),%edx 935 leal -1894007588(%r14,%rsi,1),%esi 936 xorl %r12d,%ebx 937 roll $5,%ecx 938 addl %eax,%esi 939 roll $1,%edx 940 andl %r11d,%ebx 941 addl %ecx,%esi 942 roll $30,%r11d 943 addl %ebx,%esi 944 xorl 52(%rsp),%ebp 945 movl %edi,%eax 946 movl %edx,48(%rsp) 947 movl %esi,%ecx 948 xorl 60(%rsp),%ebp 949 xorl %r12d,%eax 950 roll $5,%ecx 951 xorl 20(%rsp),%ebp 952 leal -899497514(%rdx,%r13,1),%r13d 953 xorl %r11d,%eax 954 addl %ecx,%r13d 955 roll $30,%edi 956 addl %eax,%r13d 957 roll $1,%ebp 958 xorl 56(%rsp),%r14d 959 movl %esi,%eax 960 movl %ebp,52(%rsp) 961 movl %r13d,%ecx 962 xorl 0(%rsp),%r14d 963 xorl %r11d,%eax 964 roll $5,%ecx 965 xorl 24(%rsp),%r14d 966 leal -899497514(%rbp,%r12,1),%r12d 967 xorl %edi,%eax 968 addl %ecx,%r12d 969 roll $30,%esi 970 addl %eax,%r12d 971 roll $1,%r14d 972 xorl 60(%rsp),%edx 973 movl %r13d,%eax 974 movl %r14d,56(%rsp) 975 movl %r12d,%ecx 976 xorl 4(%rsp),%edx 977 xorl %edi,%eax 978 roll $5,%ecx 979 xorl 28(%rsp),%edx 980 leal -899497514(%r14,%r11,1),%r11d 981 xorl %esi,%eax 982 addl %ecx,%r11d 983 roll $30,%r13d 984 addl %eax,%r11d 985 roll $1,%edx 986 xorl 0(%rsp),%ebp 987 movl %r12d,%eax 988 movl %edx,60(%rsp) 989 movl %r11d,%ecx 990 xorl 8(%rsp),%ebp 991 xorl %esi,%eax 992 roll $5,%ecx 993 xorl 32(%rsp),%ebp 994 leal -899497514(%rdx,%rdi,1),%edi 995 xorl %r13d,%eax 996 addl %ecx,%edi 997 roll $30,%r12d 998 addl %eax,%edi 999 roll $1,%ebp 1000 xorl 4(%rsp),%r14d 1001 movl %r11d,%eax 1002 movl %ebp,0(%rsp) 1003 movl %edi,%ecx 1004 xorl 12(%rsp),%r14d 1005 xorl %r13d,%eax 1006 roll $5,%ecx 1007 xorl 36(%rsp),%r14d 1008 leal -899497514(%rbp,%rsi,1),%esi 1009 xorl %r12d,%eax 1010 addl %ecx,%esi 1011 roll $30,%r11d 1012 addl %eax,%esi 1013 roll $1,%r14d 1014 xorl 8(%rsp),%edx 1015 movl %edi,%eax 1016 movl %r14d,4(%rsp) 1017 movl %esi,%ecx 1018 xorl 16(%rsp),%edx 1019 xorl %r12d,%eax 1020 roll $5,%ecx 1021 xorl 40(%rsp),%edx 1022 leal -899497514(%r14,%r13,1),%r13d 1023 xorl %r11d,%eax 1024 addl %ecx,%r13d 1025 roll $30,%edi 1026 addl %eax,%r13d 1027 roll $1,%edx 1028 xorl 12(%rsp),%ebp 1029 movl %esi,%eax 1030 movl %edx,8(%rsp) 1031 movl %r13d,%ecx 1032 xorl 20(%rsp),%ebp 1033 xorl %r11d,%eax 1034 roll $5,%ecx 1035 xorl 44(%rsp),%ebp 1036 leal -899497514(%rdx,%r12,1),%r12d 1037 xorl %edi,%eax 1038 addl %ecx,%r12d 1039 roll $30,%esi 1040 addl %eax,%r12d 1041 roll $1,%ebp 1042 xorl 16(%rsp),%r14d 1043 movl %r13d,%eax 1044 movl %ebp,12(%rsp) 1045 movl %r12d,%ecx 1046 xorl 24(%rsp),%r14d 1047 xorl %edi,%eax 1048 roll $5,%ecx 1049 xorl 48(%rsp),%r14d 1050 leal -899497514(%rbp,%r11,1),%r11d 1051 xorl %esi,%eax 1052 addl %ecx,%r11d 1053 roll $30,%r13d 1054 addl %eax,%r11d 1055 roll $1,%r14d 1056 xorl 20(%rsp),%edx 1057 movl %r12d,%eax 1058 movl %r14d,16(%rsp) 1059 movl %r11d,%ecx 1060 xorl 28(%rsp),%edx 1061 xorl %esi,%eax 1062 roll $5,%ecx 1063 xorl 52(%rsp),%edx 1064 leal -899497514(%r14,%rdi,1),%edi 1065 xorl %r13d,%eax 1066 addl %ecx,%edi 1067 roll $30,%r12d 1068 addl %eax,%edi 1069 roll $1,%edx 1070 xorl 24(%rsp),%ebp 1071 movl %r11d,%eax 1072 movl %edx,20(%rsp) 1073 movl %edi,%ecx 1074 xorl 32(%rsp),%ebp 1075 xorl %r13d,%eax 1076 roll $5,%ecx 1077 xorl 56(%rsp),%ebp 1078 leal -899497514(%rdx,%rsi,1),%esi 1079 xorl %r12d,%eax 1080 addl %ecx,%esi 1081 roll $30,%r11d 1082 addl %eax,%esi 1083 roll $1,%ebp 1084 xorl 28(%rsp),%r14d 1085 movl %edi,%eax 1086 movl %ebp,24(%rsp) 1087 movl %esi,%ecx 1088 xorl 36(%rsp),%r14d 1089 xorl %r12d,%eax 1090 roll $5,%ecx 1091 xorl 60(%rsp),%r14d 1092 leal -899497514(%rbp,%r13,1),%r13d 1093 xorl %r11d,%eax 1094 addl %ecx,%r13d 1095 roll $30,%edi 1096 addl %eax,%r13d 1097 roll $1,%r14d 1098 xorl 32(%rsp),%edx 1099 movl %esi,%eax 1100 movl %r14d,28(%rsp) 1101 movl %r13d,%ecx 1102 xorl 40(%rsp),%edx 1103 xorl %r11d,%eax 1104 roll $5,%ecx 1105 xorl 0(%rsp),%edx 1106 leal -899497514(%r14,%r12,1),%r12d 1107 xorl %edi,%eax 1108 addl %ecx,%r12d 1109 roll $30,%esi 1110 addl %eax,%r12d 1111 roll $1,%edx 1112 xorl 36(%rsp),%ebp 1113 movl %r13d,%eax 1114 1115 movl %r12d,%ecx 1116 xorl 44(%rsp),%ebp 1117 xorl %edi,%eax 1118 roll $5,%ecx 1119 xorl 4(%rsp),%ebp 1120 leal -899497514(%rdx,%r11,1),%r11d 1121 xorl %esi,%eax 1122 addl %ecx,%r11d 1123 roll $30,%r13d 1124 addl %eax,%r11d 1125 roll $1,%ebp 1126 xorl 40(%rsp),%r14d 1127 movl %r12d,%eax 1128 1129 movl %r11d,%ecx 1130 xorl 48(%rsp),%r14d 1131 xorl %esi,%eax 1132 roll $5,%ecx 1133 xorl 8(%rsp),%r14d 1134 leal -899497514(%rbp,%rdi,1),%edi 1135 xorl %r13d,%eax 1136 addl %ecx,%edi 1137 roll $30,%r12d 1138 addl %eax,%edi 1139 roll $1,%r14d 1140 xorl 44(%rsp),%edx 1141 movl %r11d,%eax 1142 1143 movl %edi,%ecx 1144 xorl 52(%rsp),%edx 1145 xorl %r13d,%eax 1146 roll $5,%ecx 1147 xorl 12(%rsp),%edx 1148 leal -899497514(%r14,%rsi,1),%esi 1149 xorl %r12d,%eax 1150 addl %ecx,%esi 1151 roll $30,%r11d 1152 addl %eax,%esi 1153 roll $1,%edx 1154 xorl 48(%rsp),%ebp 1155 movl %edi,%eax 1156 1157 movl %esi,%ecx 1158 xorl 56(%rsp),%ebp 1159 xorl %r12d,%eax 1160 roll $5,%ecx 1161 xorl 16(%rsp),%ebp 1162 leal -899497514(%rdx,%r13,1),%r13d 1163 xorl %r11d,%eax 1164 addl %ecx,%r13d 1165 roll $30,%edi 1166 addl %eax,%r13d 1167 roll $1,%ebp 1168 xorl 52(%rsp),%r14d 1169 movl %esi,%eax 1170 1171 movl %r13d,%ecx 1172 xorl 60(%rsp),%r14d 1173 xorl %r11d,%eax 1174 roll $5,%ecx 1175 xorl 20(%rsp),%r14d 1176 leal -899497514(%rbp,%r12,1),%r12d 1177 xorl %edi,%eax 1178 addl %ecx,%r12d 1179 roll $30,%esi 1180 addl %eax,%r12d 1181 roll $1,%r14d 1182 xorl 56(%rsp),%edx 1183 movl %r13d,%eax 1184 1185 movl %r12d,%ecx 1186 xorl 0(%rsp),%edx 1187 xorl %edi,%eax 1188 roll $5,%ecx 1189 xorl 24(%rsp),%edx 1190 leal -899497514(%r14,%r11,1),%r11d 1191 xorl %esi,%eax 1192 addl %ecx,%r11d 1193 roll $30,%r13d 1194 addl %eax,%r11d 1195 roll $1,%edx 1196 xorl 60(%rsp),%ebp 1197 movl %r12d,%eax 1198 1199 movl %r11d,%ecx 1200 xorl 4(%rsp),%ebp 1201 xorl %esi,%eax 1202 roll $5,%ecx 1203 xorl 28(%rsp),%ebp 1204 leal -899497514(%rdx,%rdi,1),%edi 1205 xorl %r13d,%eax 1206 addl %ecx,%edi 1207 roll $30,%r12d 1208 addl %eax,%edi 1209 roll $1,%ebp 1210 movl %r11d,%eax 1211 movl %edi,%ecx 1212 xorl %r13d,%eax 1213 leal -899497514(%rbp,%rsi,1),%esi 1214 roll $5,%ecx 1215 xorl %r12d,%eax 1216 addl %ecx,%esi 1217 roll $30,%r11d 1218 addl %eax,%esi 1219 addl 0(%r8),%esi 1220 addl 4(%r8),%edi 1221 addl 8(%r8),%r11d 1222 addl 12(%r8),%r12d 1223 addl 16(%r8),%r13d 1224 movl %esi,0(%r8) 1225 movl %edi,4(%r8) 1226 movl %r11d,8(%r8) 1227 movl %r12d,12(%r8) 1228 movl %r13d,16(%r8) 1229 1230 subq $1,%r10 1231 leaq 64(%r9),%r9 1232 jnz .Lloop 1233 1234 movq 64(%rsp),%rsi 1235 movq -40(%rsi),%r14 1236 movq -32(%rsi),%r13 1237 movq -24(%rsi),%r12 1238 movq -16(%rsi),%rbp 1239 movq -8(%rsi),%rbx 1240 leaq (%rsi),%rsp 1241.Lepilogue: 1242 .byte 0xf3,0xc3 1243.size sha1_block_data_order,.-sha1_block_data_order 1244.type sha1_block_data_order_shaext,@function 1245.align 32 1246sha1_block_data_order_shaext: 1247_shaext_shortcut: 1248 movdqu (%rdi),%xmm0 1249 movd 16(%rdi),%xmm1 1250 movdqa K_XX_XX+160(%rip),%xmm3 1251 1252 movdqu (%rsi),%xmm4 1253 pshufd $27,%xmm0,%xmm0 1254 movdqu 16(%rsi),%xmm5 1255 pshufd $27,%xmm1,%xmm1 1256 movdqu 32(%rsi),%xmm6 1257.byte 102,15,56,0,227 1258 movdqu 48(%rsi),%xmm7 1259.byte 102,15,56,0,235 1260.byte 102,15,56,0,243 1261 movdqa %xmm1,%xmm9 1262.byte 102,15,56,0,251 1263 jmp .Loop_shaext 1264 1265.align 16 1266.Loop_shaext: 1267 decq %rdx 1268 leaq 64(%rsi),%rax 1269 paddd %xmm4,%xmm1 1270 cmovneq %rax,%rsi 1271 movdqa %xmm0,%xmm8 1272.byte 15,56,201,229 1273 movdqa %xmm0,%xmm2 1274.byte 15,58,204,193,0 1275.byte 15,56,200,213 1276 pxor %xmm6,%xmm4 1277.byte 15,56,201,238 1278.byte 15,56,202,231 1279 1280 movdqa %xmm0,%xmm1 1281.byte 15,58,204,194,0 1282.byte 15,56,200,206 1283 pxor %xmm7,%xmm5 1284.byte 15,56,202,236 1285.byte 15,56,201,247 1286 movdqa %xmm0,%xmm2 1287.byte 15,58,204,193,0 1288.byte 15,56,200,215 1289 pxor %xmm4,%xmm6 1290.byte 15,56,201,252 1291.byte 15,56,202,245 1292 1293 movdqa %xmm0,%xmm1 1294.byte 15,58,204,194,0 1295.byte 15,56,200,204 1296 pxor %xmm5,%xmm7 1297.byte 15,56,202,254 1298.byte 15,56,201,229 1299 movdqa %xmm0,%xmm2 1300.byte 15,58,204,193,0 1301.byte 15,56,200,213 1302 pxor %xmm6,%xmm4 1303.byte 15,56,201,238 1304.byte 15,56,202,231 1305 1306 movdqa %xmm0,%xmm1 1307.byte 15,58,204,194,1 1308.byte 15,56,200,206 1309 pxor %xmm7,%xmm5 1310.byte 15,56,202,236 1311.byte 15,56,201,247 1312 movdqa %xmm0,%xmm2 1313.byte 15,58,204,193,1 1314.byte 15,56,200,215 1315 pxor %xmm4,%xmm6 1316.byte 15,56,201,252 1317.byte 15,56,202,245 1318 1319 movdqa %xmm0,%xmm1 1320.byte 15,58,204,194,1 1321.byte 15,56,200,204 1322 pxor %xmm5,%xmm7 1323.byte 15,56,202,254 1324.byte 15,56,201,229 1325 movdqa %xmm0,%xmm2 1326.byte 15,58,204,193,1 1327.byte 15,56,200,213 1328 pxor %xmm6,%xmm4 1329.byte 15,56,201,238 1330.byte 15,56,202,231 1331 1332 movdqa %xmm0,%xmm1 1333.byte 15,58,204,194,1 1334.byte 15,56,200,206 1335 pxor %xmm7,%xmm5 1336.byte 15,56,202,236 1337.byte 15,56,201,247 1338 movdqa %xmm0,%xmm2 1339.byte 15,58,204,193,2 1340.byte 15,56,200,215 1341 pxor %xmm4,%xmm6 1342.byte 15,56,201,252 1343.byte 15,56,202,245 1344 1345 movdqa %xmm0,%xmm1 1346.byte 15,58,204,194,2 1347.byte 15,56,200,204 1348 pxor %xmm5,%xmm7 1349.byte 15,56,202,254 1350.byte 15,56,201,229 1351 movdqa %xmm0,%xmm2 1352.byte 15,58,204,193,2 1353.byte 15,56,200,213 1354 pxor %xmm6,%xmm4 1355.byte 15,56,201,238 1356.byte 15,56,202,231 1357 1358 movdqa %xmm0,%xmm1 1359.byte 15,58,204,194,2 1360.byte 15,56,200,206 1361 pxor %xmm7,%xmm5 1362.byte 15,56,202,236 1363.byte 15,56,201,247 1364 movdqa %xmm0,%xmm2 1365.byte 15,58,204,193,2 1366.byte 15,56,200,215 1367 pxor %xmm4,%xmm6 1368.byte 15,56,201,252 1369.byte 15,56,202,245 1370 1371 movdqa %xmm0,%xmm1 1372.byte 15,58,204,194,3 1373.byte 15,56,200,204 1374 pxor %xmm5,%xmm7 1375.byte 15,56,202,254 1376 movdqu (%rsi),%xmm4 1377 movdqa %xmm0,%xmm2 1378.byte 15,58,204,193,3 1379.byte 15,56,200,213 1380 movdqu 16(%rsi),%xmm5 1381.byte 102,15,56,0,227 1382 1383 movdqa %xmm0,%xmm1 1384.byte 15,58,204,194,3 1385.byte 15,56,200,206 1386 movdqu 32(%rsi),%xmm6 1387.byte 102,15,56,0,235 1388 1389 movdqa %xmm0,%xmm2 1390.byte 15,58,204,193,3 1391.byte 15,56,200,215 1392 movdqu 48(%rsi),%xmm7 1393.byte 102,15,56,0,243 1394 1395 movdqa %xmm0,%xmm1 1396.byte 15,58,204,194,3 1397.byte 65,15,56,200,201 1398.byte 102,15,56,0,251 1399 1400 paddd %xmm8,%xmm0 1401 movdqa %xmm1,%xmm9 1402 1403 jnz .Loop_shaext 1404 1405 pshufd $27,%xmm0,%xmm0 1406 pshufd $27,%xmm1,%xmm1 1407 movdqu %xmm0,(%rdi) 1408 movd %xmm1,16(%rdi) 1409 .byte 0xf3,0xc3 1410.size sha1_block_data_order_shaext,.-sha1_block_data_order_shaext 1411.type sha1_block_data_order_ssse3,@function 1412.align 16 1413sha1_block_data_order_ssse3: 1414_ssse3_shortcut: 1415 movq %rsp,%rax 1416 pushq %rbx 1417 pushq %rbp 1418 pushq %r12 1419 pushq %r13 1420 pushq %r14 1421 leaq -64(%rsp),%rsp 1422 movq %rax,%r14 1423 andq $-64,%rsp 1424 movq %rdi,%r8 1425 movq %rsi,%r9 1426 movq %rdx,%r10 1427 1428 shlq $6,%r10 1429 addq %r9,%r10 1430 leaq K_XX_XX+64(%rip),%r11 1431 1432 movl 0(%r8),%eax 1433 movl 4(%r8),%ebx 1434 movl 8(%r8),%ecx 1435 movl 12(%r8),%edx 1436 movl %ebx,%esi 1437 movl 16(%r8),%ebp 1438 movl %ecx,%edi 1439 xorl %edx,%edi 1440 andl %edi,%esi 1441 1442 movdqa 64(%r11),%xmm6 1443 movdqa -64(%r11),%xmm9 1444 movdqu 0(%r9),%xmm0 1445 movdqu 16(%r9),%xmm1 1446 movdqu 32(%r9),%xmm2 1447 movdqu 48(%r9),%xmm3 1448.byte 102,15,56,0,198 1449.byte 102,15,56,0,206 1450.byte 102,15,56,0,214 1451 addq $64,%r9 1452 paddd %xmm9,%xmm0 1453.byte 102,15,56,0,222 1454 paddd %xmm9,%xmm1 1455 paddd %xmm9,%xmm2 1456 movdqa %xmm0,0(%rsp) 1457 psubd %xmm9,%xmm0 1458 movdqa %xmm1,16(%rsp) 1459 psubd %xmm9,%xmm1 1460 movdqa %xmm2,32(%rsp) 1461 psubd %xmm9,%xmm2 1462 jmp .Loop_ssse3 1463.align 16 1464.Loop_ssse3: 1465 rorl $2,%ebx 1466 pshufd $238,%xmm0,%xmm4 1467 xorl %edx,%esi 1468 movdqa %xmm3,%xmm8 1469 paddd %xmm3,%xmm9 1470 movl %eax,%edi 1471 addl 0(%rsp),%ebp 1472 punpcklqdq %xmm1,%xmm4 1473 xorl %ecx,%ebx 1474 roll $5,%eax 1475 addl %esi,%ebp 1476 psrldq $4,%xmm8 1477 andl %ebx,%edi 1478 xorl %ecx,%ebx 1479 pxor %xmm0,%xmm4 1480 addl %eax,%ebp 1481 rorl $7,%eax 1482 pxor %xmm2,%xmm8 1483 xorl %ecx,%edi 1484 movl %ebp,%esi 1485 addl 4(%rsp),%edx 1486 pxor %xmm8,%xmm4 1487 xorl %ebx,%eax 1488 roll $5,%ebp 1489 movdqa %xmm9,48(%rsp) 1490 addl %edi,%edx 1491 andl %eax,%esi 1492 movdqa %xmm4,%xmm10 1493 xorl %ebx,%eax 1494 addl %ebp,%edx 1495 rorl $7,%ebp 1496 movdqa %xmm4,%xmm8 1497 xorl %ebx,%esi 1498 pslldq $12,%xmm10 1499 paddd %xmm4,%xmm4 1500 movl %edx,%edi 1501 addl 8(%rsp),%ecx 1502 psrld $31,%xmm8 1503 xorl %eax,%ebp 1504 roll $5,%edx 1505 addl %esi,%ecx 1506 movdqa %xmm10,%xmm9 1507 andl %ebp,%edi 1508 xorl %eax,%ebp 1509 psrld $30,%xmm10 1510 addl %edx,%ecx 1511 rorl $7,%edx 1512 por %xmm8,%xmm4 1513 xorl %eax,%edi 1514 movl %ecx,%esi 1515 addl 12(%rsp),%ebx 1516 pslld $2,%xmm9 1517 pxor %xmm10,%xmm4 1518 xorl %ebp,%edx 1519 movdqa -64(%r11),%xmm10 1520 roll $5,%ecx 1521 addl %edi,%ebx 1522 andl %edx,%esi 1523 pxor %xmm9,%xmm4 1524 xorl %ebp,%edx 1525 addl %ecx,%ebx 1526 rorl $7,%ecx 1527 pshufd $238,%xmm1,%xmm5 1528 xorl %ebp,%esi 1529 movdqa %xmm4,%xmm9 1530 paddd %xmm4,%xmm10 1531 movl %ebx,%edi 1532 addl 16(%rsp),%eax 1533 punpcklqdq %xmm2,%xmm5 1534 xorl %edx,%ecx 1535 roll $5,%ebx 1536 addl %esi,%eax 1537 psrldq $4,%xmm9 1538 andl %ecx,%edi 1539 xorl %edx,%ecx 1540 pxor %xmm1,%xmm5 1541 addl %ebx,%eax 1542 rorl $7,%ebx 1543 pxor %xmm3,%xmm9 1544 xorl %edx,%edi 1545 movl %eax,%esi 1546 addl 20(%rsp),%ebp 1547 pxor %xmm9,%xmm5 1548 xorl %ecx,%ebx 1549 roll $5,%eax 1550 movdqa %xmm10,0(%rsp) 1551 addl %edi,%ebp 1552 andl %ebx,%esi 1553 movdqa %xmm5,%xmm8 1554 xorl %ecx,%ebx 1555 addl %eax,%ebp 1556 rorl $7,%eax 1557 movdqa %xmm5,%xmm9 1558 xorl %ecx,%esi 1559 pslldq $12,%xmm8 1560 paddd %xmm5,%xmm5 1561 movl %ebp,%edi 1562 addl 24(%rsp),%edx 1563 psrld $31,%xmm9 1564 xorl %ebx,%eax 1565 roll $5,%ebp 1566 addl %esi,%edx 1567 movdqa %xmm8,%xmm10 1568 andl %eax,%edi 1569 xorl %ebx,%eax 1570 psrld $30,%xmm8 1571 addl %ebp,%edx 1572 rorl $7,%ebp 1573 por %xmm9,%xmm5 1574 xorl %ebx,%edi 1575 movl %edx,%esi 1576 addl 28(%rsp),%ecx 1577 pslld $2,%xmm10 1578 pxor %xmm8,%xmm5 1579 xorl %eax,%ebp 1580 movdqa -32(%r11),%xmm8 1581 roll $5,%edx 1582 addl %edi,%ecx 1583 andl %ebp,%esi 1584 pxor %xmm10,%xmm5 1585 xorl %eax,%ebp 1586 addl %edx,%ecx 1587 rorl $7,%edx 1588 pshufd $238,%xmm2,%xmm6 1589 xorl %eax,%esi 1590 movdqa %xmm5,%xmm10 1591 paddd %xmm5,%xmm8 1592 movl %ecx,%edi 1593 addl 32(%rsp),%ebx 1594 punpcklqdq %xmm3,%xmm6 1595 xorl %ebp,%edx 1596 roll $5,%ecx 1597 addl %esi,%ebx 1598 psrldq $4,%xmm10 1599 andl %edx,%edi 1600 xorl %ebp,%edx 1601 pxor %xmm2,%xmm6 1602 addl %ecx,%ebx 1603 rorl $7,%ecx 1604 pxor %xmm4,%xmm10 1605 xorl %ebp,%edi 1606 movl %ebx,%esi 1607 addl 36(%rsp),%eax 1608 pxor %xmm10,%xmm6 1609 xorl %edx,%ecx 1610 roll $5,%ebx 1611 movdqa %xmm8,16(%rsp) 1612 addl %edi,%eax 1613 andl %ecx,%esi 1614 movdqa %xmm6,%xmm9 1615 xorl %edx,%ecx 1616 addl %ebx,%eax 1617 rorl $7,%ebx 1618 movdqa %xmm6,%xmm10 1619 xorl %edx,%esi 1620 pslldq $12,%xmm9 1621 paddd %xmm6,%xmm6 1622 movl %eax,%edi 1623 addl 40(%rsp),%ebp 1624 psrld $31,%xmm10 1625 xorl %ecx,%ebx 1626 roll $5,%eax 1627 addl %esi,%ebp 1628 movdqa %xmm9,%xmm8 1629 andl %ebx,%edi 1630 xorl %ecx,%ebx 1631 psrld $30,%xmm9 1632 addl %eax,%ebp 1633 rorl $7,%eax 1634 por %xmm10,%xmm6 1635 xorl %ecx,%edi 1636 movl %ebp,%esi 1637 addl 44(%rsp),%edx 1638 pslld $2,%xmm8 1639 pxor %xmm9,%xmm6 1640 xorl %ebx,%eax 1641 movdqa -32(%r11),%xmm9 1642 roll $5,%ebp 1643 addl %edi,%edx 1644 andl %eax,%esi 1645 pxor %xmm8,%xmm6 1646 xorl %ebx,%eax 1647 addl %ebp,%edx 1648 rorl $7,%ebp 1649 pshufd $238,%xmm3,%xmm7 1650 xorl %ebx,%esi 1651 movdqa %xmm6,%xmm8 1652 paddd %xmm6,%xmm9 1653 movl %edx,%edi 1654 addl 48(%rsp),%ecx 1655 punpcklqdq %xmm4,%xmm7 1656 xorl %eax,%ebp 1657 roll $5,%edx 1658 addl %esi,%ecx 1659 psrldq $4,%xmm8 1660 andl %ebp,%edi 1661 xorl %eax,%ebp 1662 pxor %xmm3,%xmm7 1663 addl %edx,%ecx 1664 rorl $7,%edx 1665 pxor %xmm5,%xmm8 1666 xorl %eax,%edi 1667 movl %ecx,%esi 1668 addl 52(%rsp),%ebx 1669 pxor %xmm8,%xmm7 1670 xorl %ebp,%edx 1671 roll $5,%ecx 1672 movdqa %xmm9,32(%rsp) 1673 addl %edi,%ebx 1674 andl %edx,%esi 1675 movdqa %xmm7,%xmm10 1676 xorl %ebp,%edx 1677 addl %ecx,%ebx 1678 rorl $7,%ecx 1679 movdqa %xmm7,%xmm8 1680 xorl %ebp,%esi 1681 pslldq $12,%xmm10 1682 paddd %xmm7,%xmm7 1683 movl %ebx,%edi 1684 addl 56(%rsp),%eax 1685 psrld $31,%xmm8 1686 xorl %edx,%ecx 1687 roll $5,%ebx 1688 addl %esi,%eax 1689 movdqa %xmm10,%xmm9 1690 andl %ecx,%edi 1691 xorl %edx,%ecx 1692 psrld $30,%xmm10 1693 addl %ebx,%eax 1694 rorl $7,%ebx 1695 por %xmm8,%xmm7 1696 xorl %edx,%edi 1697 movl %eax,%esi 1698 addl 60(%rsp),%ebp 1699 pslld $2,%xmm9 1700 pxor %xmm10,%xmm7 1701 xorl %ecx,%ebx 1702 movdqa -32(%r11),%xmm10 1703 roll $5,%eax 1704 addl %edi,%ebp 1705 andl %ebx,%esi 1706 pxor %xmm9,%xmm7 1707 pshufd $238,%xmm6,%xmm9 1708 xorl %ecx,%ebx 1709 addl %eax,%ebp 1710 rorl $7,%eax 1711 pxor %xmm4,%xmm0 1712 xorl %ecx,%esi 1713 movl %ebp,%edi 1714 addl 0(%rsp),%edx 1715 punpcklqdq %xmm7,%xmm9 1716 xorl %ebx,%eax 1717 roll $5,%ebp 1718 pxor %xmm1,%xmm0 1719 addl %esi,%edx 1720 andl %eax,%edi 1721 movdqa %xmm10,%xmm8 1722 xorl %ebx,%eax 1723 paddd %xmm7,%xmm10 1724 addl %ebp,%edx 1725 pxor %xmm9,%xmm0 1726 rorl $7,%ebp 1727 xorl %ebx,%edi 1728 movl %edx,%esi 1729 addl 4(%rsp),%ecx 1730 movdqa %xmm0,%xmm9 1731 xorl %eax,%ebp 1732 roll $5,%edx 1733 movdqa %xmm10,48(%rsp) 1734 addl %edi,%ecx 1735 andl %ebp,%esi 1736 xorl %eax,%ebp 1737 pslld $2,%xmm0 1738 addl %edx,%ecx 1739 rorl $7,%edx 1740 psrld $30,%xmm9 1741 xorl %eax,%esi 1742 movl %ecx,%edi 1743 addl 8(%rsp),%ebx 1744 por %xmm9,%xmm0 1745 xorl %ebp,%edx 1746 roll $5,%ecx 1747 pshufd $238,%xmm7,%xmm10 1748 addl %esi,%ebx 1749 andl %edx,%edi 1750 xorl %ebp,%edx 1751 addl %ecx,%ebx 1752 addl 12(%rsp),%eax 1753 xorl %ebp,%edi 1754 movl %ebx,%esi 1755 roll $5,%ebx 1756 addl %edi,%eax 1757 xorl %edx,%esi 1758 rorl $7,%ecx 1759 addl %ebx,%eax 1760 pxor %xmm5,%xmm1 1761 addl 16(%rsp),%ebp 1762 xorl %ecx,%esi 1763 punpcklqdq %xmm0,%xmm10 1764 movl %eax,%edi 1765 roll $5,%eax 1766 pxor %xmm2,%xmm1 1767 addl %esi,%ebp 1768 xorl %ecx,%edi 1769 movdqa %xmm8,%xmm9 1770 rorl $7,%ebx 1771 paddd %xmm0,%xmm8 1772 addl %eax,%ebp 1773 pxor %xmm10,%xmm1 1774 addl 20(%rsp),%edx 1775 xorl %ebx,%edi 1776 movl %ebp,%esi 1777 roll $5,%ebp 1778 movdqa %xmm1,%xmm10 1779 addl %edi,%edx 1780 xorl %ebx,%esi 1781 movdqa %xmm8,0(%rsp) 1782 rorl $7,%eax 1783 addl %ebp,%edx 1784 addl 24(%rsp),%ecx 1785 pslld $2,%xmm1 1786 xorl %eax,%esi 1787 movl %edx,%edi 1788 psrld $30,%xmm10 1789 roll $5,%edx 1790 addl %esi,%ecx 1791 xorl %eax,%edi 1792 rorl $7,%ebp 1793 por %xmm10,%xmm1 1794 addl %edx,%ecx 1795 addl 28(%rsp),%ebx 1796 pshufd $238,%xmm0,%xmm8 1797 xorl %ebp,%edi 1798 movl %ecx,%esi 1799 roll $5,%ecx 1800 addl %edi,%ebx 1801 xorl %ebp,%esi 1802 rorl $7,%edx 1803 addl %ecx,%ebx 1804 pxor %xmm6,%xmm2 1805 addl 32(%rsp),%eax 1806 xorl %edx,%esi 1807 punpcklqdq %xmm1,%xmm8 1808 movl %ebx,%edi 1809 roll $5,%ebx 1810 pxor %xmm3,%xmm2 1811 addl %esi,%eax 1812 xorl %edx,%edi 1813 movdqa 0(%r11),%xmm10 1814 rorl $7,%ecx 1815 paddd %xmm1,%xmm9 1816 addl %ebx,%eax 1817 pxor %xmm8,%xmm2 1818 addl 36(%rsp),%ebp 1819 xorl %ecx,%edi 1820 movl %eax,%esi 1821 roll $5,%eax 1822 movdqa %xmm2,%xmm8 1823 addl %edi,%ebp 1824 xorl %ecx,%esi 1825 movdqa %xmm9,16(%rsp) 1826 rorl $7,%ebx 1827 addl %eax,%ebp 1828 addl 40(%rsp),%edx 1829 pslld $2,%xmm2 1830 xorl %ebx,%esi 1831 movl %ebp,%edi 1832 psrld $30,%xmm8 1833 roll $5,%ebp 1834 addl %esi,%edx 1835 xorl %ebx,%edi 1836 rorl $7,%eax 1837 por %xmm8,%xmm2 1838 addl %ebp,%edx 1839 addl 44(%rsp),%ecx 1840 pshufd $238,%xmm1,%xmm9 1841 xorl %eax,%edi 1842 movl %edx,%esi 1843 roll $5,%edx 1844 addl %edi,%ecx 1845 xorl %eax,%esi 1846 rorl $7,%ebp 1847 addl %edx,%ecx 1848 pxor %xmm7,%xmm3 1849 addl 48(%rsp),%ebx 1850 xorl %ebp,%esi 1851 punpcklqdq %xmm2,%xmm9 1852 movl %ecx,%edi 1853 roll $5,%ecx 1854 pxor %xmm4,%xmm3 1855 addl %esi,%ebx 1856 xorl %ebp,%edi 1857 movdqa %xmm10,%xmm8 1858 rorl $7,%edx 1859 paddd %xmm2,%xmm10 1860 addl %ecx,%ebx 1861 pxor %xmm9,%xmm3 1862 addl 52(%rsp),%eax 1863 xorl %edx,%edi 1864 movl %ebx,%esi 1865 roll $5,%ebx 1866 movdqa %xmm3,%xmm9 1867 addl %edi,%eax 1868 xorl %edx,%esi 1869 movdqa %xmm10,32(%rsp) 1870 rorl $7,%ecx 1871 addl %ebx,%eax 1872 addl 56(%rsp),%ebp 1873 pslld $2,%xmm3 1874 xorl %ecx,%esi 1875 movl %eax,%edi 1876 psrld $30,%xmm9 1877 roll $5,%eax 1878 addl %esi,%ebp 1879 xorl %ecx,%edi 1880 rorl $7,%ebx 1881 por %xmm9,%xmm3 1882 addl %eax,%ebp 1883 addl 60(%rsp),%edx 1884 pshufd $238,%xmm2,%xmm10 1885 xorl %ebx,%edi 1886 movl %ebp,%esi 1887 roll $5,%ebp 1888 addl %edi,%edx 1889 xorl %ebx,%esi 1890 rorl $7,%eax 1891 addl %ebp,%edx 1892 pxor %xmm0,%xmm4 1893 addl 0(%rsp),%ecx 1894 xorl %eax,%esi 1895 punpcklqdq %xmm3,%xmm10 1896 movl %edx,%edi 1897 roll $5,%edx 1898 pxor %xmm5,%xmm4 1899 addl %esi,%ecx 1900 xorl %eax,%edi 1901 movdqa %xmm8,%xmm9 1902 rorl $7,%ebp 1903 paddd %xmm3,%xmm8 1904 addl %edx,%ecx 1905 pxor %xmm10,%xmm4 1906 addl 4(%rsp),%ebx 1907 xorl %ebp,%edi 1908 movl %ecx,%esi 1909 roll $5,%ecx 1910 movdqa %xmm4,%xmm10 1911 addl %edi,%ebx 1912 xorl %ebp,%esi 1913 movdqa %xmm8,48(%rsp) 1914 rorl $7,%edx 1915 addl %ecx,%ebx 1916 addl 8(%rsp),%eax 1917 pslld $2,%xmm4 1918 xorl %edx,%esi 1919 movl %ebx,%edi 1920 psrld $30,%xmm10 1921 roll $5,%ebx 1922 addl %esi,%eax 1923 xorl %edx,%edi 1924 rorl $7,%ecx 1925 por %xmm10,%xmm4 1926 addl %ebx,%eax 1927 addl 12(%rsp),%ebp 1928 pshufd $238,%xmm3,%xmm8 1929 xorl %ecx,%edi 1930 movl %eax,%esi 1931 roll $5,%eax 1932 addl %edi,%ebp 1933 xorl %ecx,%esi 1934 rorl $7,%ebx 1935 addl %eax,%ebp 1936 pxor %xmm1,%xmm5 1937 addl 16(%rsp),%edx 1938 xorl %ebx,%esi 1939 punpcklqdq %xmm4,%xmm8 1940 movl %ebp,%edi 1941 roll $5,%ebp 1942 pxor %xmm6,%xmm5 1943 addl %esi,%edx 1944 xorl %ebx,%edi 1945 movdqa %xmm9,%xmm10 1946 rorl $7,%eax 1947 paddd %xmm4,%xmm9 1948 addl %ebp,%edx 1949 pxor %xmm8,%xmm5 1950 addl 20(%rsp),%ecx 1951 xorl %eax,%edi 1952 movl %edx,%esi 1953 roll $5,%edx 1954 movdqa %xmm5,%xmm8 1955 addl %edi,%ecx 1956 xorl %eax,%esi 1957 movdqa %xmm9,0(%rsp) 1958 rorl $7,%ebp 1959 addl %edx,%ecx 1960 addl 24(%rsp),%ebx 1961 pslld $2,%xmm5 1962 xorl %ebp,%esi 1963 movl %ecx,%edi 1964 psrld $30,%xmm8 1965 roll $5,%ecx 1966 addl %esi,%ebx 1967 xorl %ebp,%edi 1968 rorl $7,%edx 1969 por %xmm8,%xmm5 1970 addl %ecx,%ebx 1971 addl 28(%rsp),%eax 1972 pshufd $238,%xmm4,%xmm9 1973 rorl $7,%ecx 1974 movl %ebx,%esi 1975 xorl %edx,%edi 1976 roll $5,%ebx 1977 addl %edi,%eax 1978 xorl %ecx,%esi 1979 xorl %edx,%ecx 1980 addl %ebx,%eax 1981 pxor %xmm2,%xmm6 1982 addl 32(%rsp),%ebp 1983 andl %ecx,%esi 1984 xorl %edx,%ecx 1985 rorl $7,%ebx 1986 punpcklqdq %xmm5,%xmm9 1987 movl %eax,%edi 1988 xorl %ecx,%esi 1989 pxor %xmm7,%xmm6 1990 roll $5,%eax 1991 addl %esi,%ebp 1992 movdqa %xmm10,%xmm8 1993 xorl %ebx,%edi 1994 paddd %xmm5,%xmm10 1995 xorl %ecx,%ebx 1996 pxor %xmm9,%xmm6 1997 addl %eax,%ebp 1998 addl 36(%rsp),%edx 1999 andl %ebx,%edi 2000 xorl %ecx,%ebx 2001 rorl $7,%eax 2002 movdqa %xmm6,%xmm9 2003 movl %ebp,%esi 2004 xorl %ebx,%edi 2005 movdqa %xmm10,16(%rsp) 2006 roll $5,%ebp 2007 addl %edi,%edx 2008 xorl %eax,%esi 2009 pslld $2,%xmm6 2010 xorl %ebx,%eax 2011 addl %ebp,%edx 2012 psrld $30,%xmm9 2013 addl 40(%rsp),%ecx 2014 andl %eax,%esi 2015 xorl %ebx,%eax 2016 por %xmm9,%xmm6 2017 rorl $7,%ebp 2018 movl %edx,%edi 2019 xorl %eax,%esi 2020 roll $5,%edx 2021 pshufd $238,%xmm5,%xmm10 2022 addl %esi,%ecx 2023 xorl %ebp,%edi 2024 xorl %eax,%ebp 2025 addl %edx,%ecx 2026 addl 44(%rsp),%ebx 2027 andl %ebp,%edi 2028 xorl %eax,%ebp 2029 rorl $7,%edx 2030 movl %ecx,%esi 2031 xorl %ebp,%edi 2032 roll $5,%ecx 2033 addl %edi,%ebx 2034 xorl %edx,%esi 2035 xorl %ebp,%edx 2036 addl %ecx,%ebx 2037 pxor %xmm3,%xmm7 2038 addl 48(%rsp),%eax 2039 andl %edx,%esi 2040 xorl %ebp,%edx 2041 rorl $7,%ecx 2042 punpcklqdq %xmm6,%xmm10 2043 movl %ebx,%edi 2044 xorl %edx,%esi 2045 pxor %xmm0,%xmm7 2046 roll $5,%ebx 2047 addl %esi,%eax 2048 movdqa 32(%r11),%xmm9 2049 xorl %ecx,%edi 2050 paddd %xmm6,%xmm8 2051 xorl %edx,%ecx 2052 pxor %xmm10,%xmm7 2053 addl %ebx,%eax 2054 addl 52(%rsp),%ebp 2055 andl %ecx,%edi 2056 xorl %edx,%ecx 2057 rorl $7,%ebx 2058 movdqa %xmm7,%xmm10 2059 movl %eax,%esi 2060 xorl %ecx,%edi 2061 movdqa %xmm8,32(%rsp) 2062 roll $5,%eax 2063 addl %edi,%ebp 2064 xorl %ebx,%esi 2065 pslld $2,%xmm7 2066 xorl %ecx,%ebx 2067 addl %eax,%ebp 2068 psrld $30,%xmm10 2069 addl 56(%rsp),%edx 2070 andl %ebx,%esi 2071 xorl %ecx,%ebx 2072 por %xmm10,%xmm7 2073 rorl $7,%eax 2074 movl %ebp,%edi 2075 xorl %ebx,%esi 2076 roll $5,%ebp 2077 pshufd $238,%xmm6,%xmm8 2078 addl %esi,%edx 2079 xorl %eax,%edi 2080 xorl %ebx,%eax 2081 addl %ebp,%edx 2082 addl 60(%rsp),%ecx 2083 andl %eax,%edi 2084 xorl %ebx,%eax 2085 rorl $7,%ebp 2086 movl %edx,%esi 2087 xorl %eax,%edi 2088 roll $5,%edx 2089 addl %edi,%ecx 2090 xorl %ebp,%esi 2091 xorl %eax,%ebp 2092 addl %edx,%ecx 2093 pxor %xmm4,%xmm0 2094 addl 0(%rsp),%ebx 2095 andl %ebp,%esi 2096 xorl %eax,%ebp 2097 rorl $7,%edx 2098 punpcklqdq %xmm7,%xmm8 2099 movl %ecx,%edi 2100 xorl %ebp,%esi 2101 pxor %xmm1,%xmm0 2102 roll $5,%ecx 2103 addl %esi,%ebx 2104 movdqa %xmm9,%xmm10 2105 xorl %edx,%edi 2106 paddd %xmm7,%xmm9 2107 xorl %ebp,%edx 2108 pxor %xmm8,%xmm0 2109 addl %ecx,%ebx 2110 addl 4(%rsp),%eax 2111 andl %edx,%edi 2112 xorl %ebp,%edx 2113 rorl $7,%ecx 2114 movdqa %xmm0,%xmm8 2115 movl %ebx,%esi 2116 xorl %edx,%edi 2117 movdqa %xmm9,48(%rsp) 2118 roll $5,%ebx 2119 addl %edi,%eax 2120 xorl %ecx,%esi 2121 pslld $2,%xmm0 2122 xorl %edx,%ecx 2123 addl %ebx,%eax 2124 psrld $30,%xmm8 2125 addl 8(%rsp),%ebp 2126 andl %ecx,%esi 2127 xorl %edx,%ecx 2128 por %xmm8,%xmm0 2129 rorl $7,%ebx 2130 movl %eax,%edi 2131 xorl %ecx,%esi 2132 roll $5,%eax 2133 pshufd $238,%xmm7,%xmm9 2134 addl %esi,%ebp 2135 xorl %ebx,%edi 2136 xorl %ecx,%ebx 2137 addl %eax,%ebp 2138 addl 12(%rsp),%edx 2139 andl %ebx,%edi 2140 xorl %ecx,%ebx 2141 rorl $7,%eax 2142 movl %ebp,%esi 2143 xorl %ebx,%edi 2144 roll $5,%ebp 2145 addl %edi,%edx 2146 xorl %eax,%esi 2147 xorl %ebx,%eax 2148 addl %ebp,%edx 2149 pxor %xmm5,%xmm1 2150 addl 16(%rsp),%ecx 2151 andl %eax,%esi 2152 xorl %ebx,%eax 2153 rorl $7,%ebp 2154 punpcklqdq %xmm0,%xmm9 2155 movl %edx,%edi 2156 xorl %eax,%esi 2157 pxor %xmm2,%xmm1 2158 roll $5,%edx 2159 addl %esi,%ecx 2160 movdqa %xmm10,%xmm8 2161 xorl %ebp,%edi 2162 paddd %xmm0,%xmm10 2163 xorl %eax,%ebp 2164 pxor %xmm9,%xmm1 2165 addl %edx,%ecx 2166 addl 20(%rsp),%ebx 2167 andl %ebp,%edi 2168 xorl %eax,%ebp 2169 rorl $7,%edx 2170 movdqa %xmm1,%xmm9 2171 movl %ecx,%esi 2172 xorl %ebp,%edi 2173 movdqa %xmm10,0(%rsp) 2174 roll $5,%ecx 2175 addl %edi,%ebx 2176 xorl %edx,%esi 2177 pslld $2,%xmm1 2178 xorl %ebp,%edx 2179 addl %ecx,%ebx 2180 psrld $30,%xmm9 2181 addl 24(%rsp),%eax 2182 andl %edx,%esi 2183 xorl %ebp,%edx 2184 por %xmm9,%xmm1 2185 rorl $7,%ecx 2186 movl %ebx,%edi 2187 xorl %edx,%esi 2188 roll $5,%ebx 2189 pshufd $238,%xmm0,%xmm10 2190 addl %esi,%eax 2191 xorl %ecx,%edi 2192 xorl %edx,%ecx 2193 addl %ebx,%eax 2194 addl 28(%rsp),%ebp 2195 andl %ecx,%edi 2196 xorl %edx,%ecx 2197 rorl $7,%ebx 2198 movl %eax,%esi 2199 xorl %ecx,%edi 2200 roll $5,%eax 2201 addl %edi,%ebp 2202 xorl %ebx,%esi 2203 xorl %ecx,%ebx 2204 addl %eax,%ebp 2205 pxor %xmm6,%xmm2 2206 addl 32(%rsp),%edx 2207 andl %ebx,%esi 2208 xorl %ecx,%ebx 2209 rorl $7,%eax 2210 punpcklqdq %xmm1,%xmm10 2211 movl %ebp,%edi 2212 xorl %ebx,%esi 2213 pxor %xmm3,%xmm2 2214 roll $5,%ebp 2215 addl %esi,%edx 2216 movdqa %xmm8,%xmm9 2217 xorl %eax,%edi 2218 paddd %xmm1,%xmm8 2219 xorl %ebx,%eax 2220 pxor %xmm10,%xmm2 2221 addl %ebp,%edx 2222 addl 36(%rsp),%ecx 2223 andl %eax,%edi 2224 xorl %ebx,%eax 2225 rorl $7,%ebp 2226 movdqa %xmm2,%xmm10 2227 movl %edx,%esi 2228 xorl %eax,%edi 2229 movdqa %xmm8,16(%rsp) 2230 roll $5,%edx 2231 addl %edi,%ecx 2232 xorl %ebp,%esi 2233 pslld $2,%xmm2 2234 xorl %eax,%ebp 2235 addl %edx,%ecx 2236 psrld $30,%xmm10 2237 addl 40(%rsp),%ebx 2238 andl %ebp,%esi 2239 xorl %eax,%ebp 2240 por %xmm10,%xmm2 2241 rorl $7,%edx 2242 movl %ecx,%edi 2243 xorl %ebp,%esi 2244 roll $5,%ecx 2245 pshufd $238,%xmm1,%xmm8 2246 addl %esi,%ebx 2247 xorl %edx,%edi 2248 xorl %ebp,%edx 2249 addl %ecx,%ebx 2250 addl 44(%rsp),%eax 2251 andl %edx,%edi 2252 xorl %ebp,%edx 2253 rorl $7,%ecx 2254 movl %ebx,%esi 2255 xorl %edx,%edi 2256 roll $5,%ebx 2257 addl %edi,%eax 2258 xorl %edx,%esi 2259 addl %ebx,%eax 2260 pxor %xmm7,%xmm3 2261 addl 48(%rsp),%ebp 2262 xorl %ecx,%esi 2263 punpcklqdq %xmm2,%xmm8 2264 movl %eax,%edi 2265 roll $5,%eax 2266 pxor %xmm4,%xmm3 2267 addl %esi,%ebp 2268 xorl %ecx,%edi 2269 movdqa %xmm9,%xmm10 2270 rorl $7,%ebx 2271 paddd %xmm2,%xmm9 2272 addl %eax,%ebp 2273 pxor %xmm8,%xmm3 2274 addl 52(%rsp),%edx 2275 xorl %ebx,%edi 2276 movl %ebp,%esi 2277 roll $5,%ebp 2278 movdqa %xmm3,%xmm8 2279 addl %edi,%edx 2280 xorl %ebx,%esi 2281 movdqa %xmm9,32(%rsp) 2282 rorl $7,%eax 2283 addl %ebp,%edx 2284 addl 56(%rsp),%ecx 2285 pslld $2,%xmm3 2286 xorl %eax,%esi 2287 movl %edx,%edi 2288 psrld $30,%xmm8 2289 roll $5,%edx 2290 addl %esi,%ecx 2291 xorl %eax,%edi 2292 rorl $7,%ebp 2293 por %xmm8,%xmm3 2294 addl %edx,%ecx 2295 addl 60(%rsp),%ebx 2296 xorl %ebp,%edi 2297 movl %ecx,%esi 2298 roll $5,%ecx 2299 addl %edi,%ebx 2300 xorl %ebp,%esi 2301 rorl $7,%edx 2302 addl %ecx,%ebx 2303 addl 0(%rsp),%eax 2304 xorl %edx,%esi 2305 movl %ebx,%edi 2306 roll $5,%ebx 2307 paddd %xmm3,%xmm10 2308 addl %esi,%eax 2309 xorl %edx,%edi 2310 movdqa %xmm10,48(%rsp) 2311 rorl $7,%ecx 2312 addl %ebx,%eax 2313 addl 4(%rsp),%ebp 2314 xorl %ecx,%edi 2315 movl %eax,%esi 2316 roll $5,%eax 2317 addl %edi,%ebp 2318 xorl %ecx,%esi 2319 rorl $7,%ebx 2320 addl %eax,%ebp 2321 addl 8(%rsp),%edx 2322 xorl %ebx,%esi 2323 movl %ebp,%edi 2324 roll $5,%ebp 2325 addl %esi,%edx 2326 xorl %ebx,%edi 2327 rorl $7,%eax 2328 addl %ebp,%edx 2329 addl 12(%rsp),%ecx 2330 xorl %eax,%edi 2331 movl %edx,%esi 2332 roll $5,%edx 2333 addl %edi,%ecx 2334 xorl %eax,%esi 2335 rorl $7,%ebp 2336 addl %edx,%ecx 2337 cmpq %r10,%r9 2338 je .Ldone_ssse3 2339 movdqa 64(%r11),%xmm6 2340 movdqa -64(%r11),%xmm9 2341 movdqu 0(%r9),%xmm0 2342 movdqu 16(%r9),%xmm1 2343 movdqu 32(%r9),%xmm2 2344 movdqu 48(%r9),%xmm3 2345.byte 102,15,56,0,198 2346 addq $64,%r9 2347 addl 16(%rsp),%ebx 2348 xorl %ebp,%esi 2349 movl %ecx,%edi 2350.byte 102,15,56,0,206 2351 roll $5,%ecx 2352 addl %esi,%ebx 2353 xorl %ebp,%edi 2354 rorl $7,%edx 2355 paddd %xmm9,%xmm0 2356 addl %ecx,%ebx 2357 addl 20(%rsp),%eax 2358 xorl %edx,%edi 2359 movl %ebx,%esi 2360 movdqa %xmm0,0(%rsp) 2361 roll $5,%ebx 2362 addl %edi,%eax 2363 xorl %edx,%esi 2364 rorl $7,%ecx 2365 psubd %xmm9,%xmm0 2366 addl %ebx,%eax 2367 addl 24(%rsp),%ebp 2368 xorl %ecx,%esi 2369 movl %eax,%edi 2370 roll $5,%eax 2371 addl %esi,%ebp 2372 xorl %ecx,%edi 2373 rorl $7,%ebx 2374 addl %eax,%ebp 2375 addl 28(%rsp),%edx 2376 xorl %ebx,%edi 2377 movl %ebp,%esi 2378 roll $5,%ebp 2379 addl %edi,%edx 2380 xorl %ebx,%esi 2381 rorl $7,%eax 2382 addl %ebp,%edx 2383 addl 32(%rsp),%ecx 2384 xorl %eax,%esi 2385 movl %edx,%edi 2386.byte 102,15,56,0,214 2387 roll $5,%edx 2388 addl %esi,%ecx 2389 xorl %eax,%edi 2390 rorl $7,%ebp 2391 paddd %xmm9,%xmm1 2392 addl %edx,%ecx 2393 addl 36(%rsp),%ebx 2394 xorl %ebp,%edi 2395 movl %ecx,%esi 2396 movdqa %xmm1,16(%rsp) 2397 roll $5,%ecx 2398 addl %edi,%ebx 2399 xorl %ebp,%esi 2400 rorl $7,%edx 2401 psubd %xmm9,%xmm1 2402 addl %ecx,%ebx 2403 addl 40(%rsp),%eax 2404 xorl %edx,%esi 2405 movl %ebx,%edi 2406 roll $5,%ebx 2407 addl %esi,%eax 2408 xorl %edx,%edi 2409 rorl $7,%ecx 2410 addl %ebx,%eax 2411 addl 44(%rsp),%ebp 2412 xorl %ecx,%edi 2413 movl %eax,%esi 2414 roll $5,%eax 2415 addl %edi,%ebp 2416 xorl %ecx,%esi 2417 rorl $7,%ebx 2418 addl %eax,%ebp 2419 addl 48(%rsp),%edx 2420 xorl %ebx,%esi 2421 movl %ebp,%edi 2422.byte 102,15,56,0,222 2423 roll $5,%ebp 2424 addl %esi,%edx 2425 xorl %ebx,%edi 2426 rorl $7,%eax 2427 paddd %xmm9,%xmm2 2428 addl %ebp,%edx 2429 addl 52(%rsp),%ecx 2430 xorl %eax,%edi 2431 movl %edx,%esi 2432 movdqa %xmm2,32(%rsp) 2433 roll $5,%edx 2434 addl %edi,%ecx 2435 xorl %eax,%esi 2436 rorl $7,%ebp 2437 psubd %xmm9,%xmm2 2438 addl %edx,%ecx 2439 addl 56(%rsp),%ebx 2440 xorl %ebp,%esi 2441 movl %ecx,%edi 2442 roll $5,%ecx 2443 addl %esi,%ebx 2444 xorl %ebp,%edi 2445 rorl $7,%edx 2446 addl %ecx,%ebx 2447 addl 60(%rsp),%eax 2448 xorl %edx,%edi 2449 movl %ebx,%esi 2450 roll $5,%ebx 2451 addl %edi,%eax 2452 rorl $7,%ecx 2453 addl %ebx,%eax 2454 addl 0(%r8),%eax 2455 addl 4(%r8),%esi 2456 addl 8(%r8),%ecx 2457 addl 12(%r8),%edx 2458 movl %eax,0(%r8) 2459 addl 16(%r8),%ebp 2460 movl %esi,4(%r8) 2461 movl %esi,%ebx 2462 movl %ecx,8(%r8) 2463 movl %ecx,%edi 2464 movl %edx,12(%r8) 2465 xorl %edx,%edi 2466 movl %ebp,16(%r8) 2467 andl %edi,%esi 2468 jmp .Loop_ssse3 2469 2470.align 16 2471.Ldone_ssse3: 2472 addl 16(%rsp),%ebx 2473 xorl %ebp,%esi 2474 movl %ecx,%edi 2475 roll $5,%ecx 2476 addl %esi,%ebx 2477 xorl %ebp,%edi 2478 rorl $7,%edx 2479 addl %ecx,%ebx 2480 addl 20(%rsp),%eax 2481 xorl %edx,%edi 2482 movl %ebx,%esi 2483 roll $5,%ebx 2484 addl %edi,%eax 2485 xorl %edx,%esi 2486 rorl $7,%ecx 2487 addl %ebx,%eax 2488 addl 24(%rsp),%ebp 2489 xorl %ecx,%esi 2490 movl %eax,%edi 2491 roll $5,%eax 2492 addl %esi,%ebp 2493 xorl %ecx,%edi 2494 rorl $7,%ebx 2495 addl %eax,%ebp 2496 addl 28(%rsp),%edx 2497 xorl %ebx,%edi 2498 movl %ebp,%esi 2499 roll $5,%ebp 2500 addl %edi,%edx 2501 xorl %ebx,%esi 2502 rorl $7,%eax 2503 addl %ebp,%edx 2504 addl 32(%rsp),%ecx 2505 xorl %eax,%esi 2506 movl %edx,%edi 2507 roll $5,%edx 2508 addl %esi,%ecx 2509 xorl %eax,%edi 2510 rorl $7,%ebp 2511 addl %edx,%ecx 2512 addl 36(%rsp),%ebx 2513 xorl %ebp,%edi 2514 movl %ecx,%esi 2515 roll $5,%ecx 2516 addl %edi,%ebx 2517 xorl %ebp,%esi 2518 rorl $7,%edx 2519 addl %ecx,%ebx 2520 addl 40(%rsp),%eax 2521 xorl %edx,%esi 2522 movl %ebx,%edi 2523 roll $5,%ebx 2524 addl %esi,%eax 2525 xorl %edx,%edi 2526 rorl $7,%ecx 2527 addl %ebx,%eax 2528 addl 44(%rsp),%ebp 2529 xorl %ecx,%edi 2530 movl %eax,%esi 2531 roll $5,%eax 2532 addl %edi,%ebp 2533 xorl %ecx,%esi 2534 rorl $7,%ebx 2535 addl %eax,%ebp 2536 addl 48(%rsp),%edx 2537 xorl %ebx,%esi 2538 movl %ebp,%edi 2539 roll $5,%ebp 2540 addl %esi,%edx 2541 xorl %ebx,%edi 2542 rorl $7,%eax 2543 addl %ebp,%edx 2544 addl 52(%rsp),%ecx 2545 xorl %eax,%edi 2546 movl %edx,%esi 2547 roll $5,%edx 2548 addl %edi,%ecx 2549 xorl %eax,%esi 2550 rorl $7,%ebp 2551 addl %edx,%ecx 2552 addl 56(%rsp),%ebx 2553 xorl %ebp,%esi 2554 movl %ecx,%edi 2555 roll $5,%ecx 2556 addl %esi,%ebx 2557 xorl %ebp,%edi 2558 rorl $7,%edx 2559 addl %ecx,%ebx 2560 addl 60(%rsp),%eax 2561 xorl %edx,%edi 2562 movl %ebx,%esi 2563 roll $5,%ebx 2564 addl %edi,%eax 2565 rorl $7,%ecx 2566 addl %ebx,%eax 2567 addl 0(%r8),%eax 2568 addl 4(%r8),%esi 2569 addl 8(%r8),%ecx 2570 movl %eax,0(%r8) 2571 addl 12(%r8),%edx 2572 movl %esi,4(%r8) 2573 addl 16(%r8),%ebp 2574 movl %ecx,8(%r8) 2575 movl %edx,12(%r8) 2576 movl %ebp,16(%r8) 2577 leaq (%r14),%rsi 2578 movq -40(%rsi),%r14 2579 movq -32(%rsi),%r13 2580 movq -24(%rsi),%r12 2581 movq -16(%rsi),%rbp 2582 movq -8(%rsi),%rbx 2583 leaq (%rsi),%rsp 2584.Lepilogue_ssse3: 2585 .byte 0xf3,0xc3 2586.size sha1_block_data_order_ssse3,.-sha1_block_data_order_ssse3 2587.type sha1_block_data_order_avx,@function 2588.align 16 2589sha1_block_data_order_avx: 2590_avx_shortcut: 2591 movq %rsp,%rax 2592 pushq %rbx 2593 pushq %rbp 2594 pushq %r12 2595 pushq %r13 2596 pushq %r14 2597 leaq -64(%rsp),%rsp 2598 vzeroupper 2599 movq %rax,%r14 2600 andq $-64,%rsp 2601 movq %rdi,%r8 2602 movq %rsi,%r9 2603 movq %rdx,%r10 2604 2605 shlq $6,%r10 2606 addq %r9,%r10 2607 leaq K_XX_XX+64(%rip),%r11 2608 2609 movl 0(%r8),%eax 2610 movl 4(%r8),%ebx 2611 movl 8(%r8),%ecx 2612 movl 12(%r8),%edx 2613 movl %ebx,%esi 2614 movl 16(%r8),%ebp 2615 movl %ecx,%edi 2616 xorl %edx,%edi 2617 andl %edi,%esi 2618 2619 vmovdqa 64(%r11),%xmm6 2620 vmovdqa -64(%r11),%xmm11 2621 vmovdqu 0(%r9),%xmm0 2622 vmovdqu 16(%r9),%xmm1 2623 vmovdqu 32(%r9),%xmm2 2624 vmovdqu 48(%r9),%xmm3 2625 vpshufb %xmm6,%xmm0,%xmm0 2626 addq $64,%r9 2627 vpshufb %xmm6,%xmm1,%xmm1 2628 vpshufb %xmm6,%xmm2,%xmm2 2629 vpshufb %xmm6,%xmm3,%xmm3 2630 vpaddd %xmm11,%xmm0,%xmm4 2631 vpaddd %xmm11,%xmm1,%xmm5 2632 vpaddd %xmm11,%xmm2,%xmm6 2633 vmovdqa %xmm4,0(%rsp) 2634 vmovdqa %xmm5,16(%rsp) 2635 vmovdqa %xmm6,32(%rsp) 2636 jmp .Loop_avx 2637.align 16 2638.Loop_avx: 2639 shrdl $2,%ebx,%ebx 2640 xorl %edx,%esi 2641 vpalignr $8,%xmm0,%xmm1,%xmm4 2642 movl %eax,%edi 2643 addl 0(%rsp),%ebp 2644 vpaddd %xmm3,%xmm11,%xmm9 2645 xorl %ecx,%ebx 2646 shldl $5,%eax,%eax 2647 vpsrldq $4,%xmm3,%xmm8 2648 addl %esi,%ebp 2649 andl %ebx,%edi 2650 vpxor %xmm0,%xmm4,%xmm4 2651 xorl %ecx,%ebx 2652 addl %eax,%ebp 2653 vpxor %xmm2,%xmm8,%xmm8 2654 shrdl $7,%eax,%eax 2655 xorl %ecx,%edi 2656 movl %ebp,%esi 2657 addl 4(%rsp),%edx 2658 vpxor %xmm8,%xmm4,%xmm4 2659 xorl %ebx,%eax 2660 shldl $5,%ebp,%ebp 2661 vmovdqa %xmm9,48(%rsp) 2662 addl %edi,%edx 2663 andl %eax,%esi 2664 vpsrld $31,%xmm4,%xmm8 2665 xorl %ebx,%eax 2666 addl %ebp,%edx 2667 shrdl $7,%ebp,%ebp 2668 xorl %ebx,%esi 2669 vpslldq $12,%xmm4,%xmm10 2670 vpaddd %xmm4,%xmm4,%xmm4 2671 movl %edx,%edi 2672 addl 8(%rsp),%ecx 2673 xorl %eax,%ebp 2674 shldl $5,%edx,%edx 2675 vpsrld $30,%xmm10,%xmm9 2676 vpor %xmm8,%xmm4,%xmm4 2677 addl %esi,%ecx 2678 andl %ebp,%edi 2679 xorl %eax,%ebp 2680 addl %edx,%ecx 2681 vpslld $2,%xmm10,%xmm10 2682 vpxor %xmm9,%xmm4,%xmm4 2683 shrdl $7,%edx,%edx 2684 xorl %eax,%edi 2685 movl %ecx,%esi 2686 addl 12(%rsp),%ebx 2687 vpxor %xmm10,%xmm4,%xmm4 2688 xorl %ebp,%edx 2689 shldl $5,%ecx,%ecx 2690 addl %edi,%ebx 2691 andl %edx,%esi 2692 xorl %ebp,%edx 2693 addl %ecx,%ebx 2694 shrdl $7,%ecx,%ecx 2695 xorl %ebp,%esi 2696 vpalignr $8,%xmm1,%xmm2,%xmm5 2697 movl %ebx,%edi 2698 addl 16(%rsp),%eax 2699 vpaddd %xmm4,%xmm11,%xmm9 2700 xorl %edx,%ecx 2701 shldl $5,%ebx,%ebx 2702 vpsrldq $4,%xmm4,%xmm8 2703 addl %esi,%eax 2704 andl %ecx,%edi 2705 vpxor %xmm1,%xmm5,%xmm5 2706 xorl %edx,%ecx 2707 addl %ebx,%eax 2708 vpxor %xmm3,%xmm8,%xmm8 2709 shrdl $7,%ebx,%ebx 2710 xorl %edx,%edi 2711 movl %eax,%esi 2712 addl 20(%rsp),%ebp 2713 vpxor %xmm8,%xmm5,%xmm5 2714 xorl %ecx,%ebx 2715 shldl $5,%eax,%eax 2716 vmovdqa %xmm9,0(%rsp) 2717 addl %edi,%ebp 2718 andl %ebx,%esi 2719 vpsrld $31,%xmm5,%xmm8 2720 xorl %ecx,%ebx 2721 addl %eax,%ebp 2722 shrdl $7,%eax,%eax 2723 xorl %ecx,%esi 2724 vpslldq $12,%xmm5,%xmm10 2725 vpaddd %xmm5,%xmm5,%xmm5 2726 movl %ebp,%edi 2727 addl 24(%rsp),%edx 2728 xorl %ebx,%eax 2729 shldl $5,%ebp,%ebp 2730 vpsrld $30,%xmm10,%xmm9 2731 vpor %xmm8,%xmm5,%xmm5 2732 addl %esi,%edx 2733 andl %eax,%edi 2734 xorl %ebx,%eax 2735 addl %ebp,%edx 2736 vpslld $2,%xmm10,%xmm10 2737 vpxor %xmm9,%xmm5,%xmm5 2738 shrdl $7,%ebp,%ebp 2739 xorl %ebx,%edi 2740 movl %edx,%esi 2741 addl 28(%rsp),%ecx 2742 vpxor %xmm10,%xmm5,%xmm5 2743 xorl %eax,%ebp 2744 shldl $5,%edx,%edx 2745 vmovdqa -32(%r11),%xmm11 2746 addl %edi,%ecx 2747 andl %ebp,%esi 2748 xorl %eax,%ebp 2749 addl %edx,%ecx 2750 shrdl $7,%edx,%edx 2751 xorl %eax,%esi 2752 vpalignr $8,%xmm2,%xmm3,%xmm6 2753 movl %ecx,%edi 2754 addl 32(%rsp),%ebx 2755 vpaddd %xmm5,%xmm11,%xmm9 2756 xorl %ebp,%edx 2757 shldl $5,%ecx,%ecx 2758 vpsrldq $4,%xmm5,%xmm8 2759 addl %esi,%ebx 2760 andl %edx,%edi 2761 vpxor %xmm2,%xmm6,%xmm6 2762 xorl %ebp,%edx 2763 addl %ecx,%ebx 2764 vpxor %xmm4,%xmm8,%xmm8 2765 shrdl $7,%ecx,%ecx 2766 xorl %ebp,%edi 2767 movl %ebx,%esi 2768 addl 36(%rsp),%eax 2769 vpxor %xmm8,%xmm6,%xmm6 2770 xorl %edx,%ecx 2771 shldl $5,%ebx,%ebx 2772 vmovdqa %xmm9,16(%rsp) 2773 addl %edi,%eax 2774 andl %ecx,%esi 2775 vpsrld $31,%xmm6,%xmm8 2776 xorl %edx,%ecx 2777 addl %ebx,%eax 2778 shrdl $7,%ebx,%ebx 2779 xorl %edx,%esi 2780 vpslldq $12,%xmm6,%xmm10 2781 vpaddd %xmm6,%xmm6,%xmm6 2782 movl %eax,%edi 2783 addl 40(%rsp),%ebp 2784 xorl %ecx,%ebx 2785 shldl $5,%eax,%eax 2786 vpsrld $30,%xmm10,%xmm9 2787 vpor %xmm8,%xmm6,%xmm6 2788 addl %esi,%ebp 2789 andl %ebx,%edi 2790 xorl %ecx,%ebx 2791 addl %eax,%ebp 2792 vpslld $2,%xmm10,%xmm10 2793 vpxor %xmm9,%xmm6,%xmm6 2794 shrdl $7,%eax,%eax 2795 xorl %ecx,%edi 2796 movl %ebp,%esi 2797 addl 44(%rsp),%edx 2798 vpxor %xmm10,%xmm6,%xmm6 2799 xorl %ebx,%eax 2800 shldl $5,%ebp,%ebp 2801 addl %edi,%edx 2802 andl %eax,%esi 2803 xorl %ebx,%eax 2804 addl %ebp,%edx 2805 shrdl $7,%ebp,%ebp 2806 xorl %ebx,%esi 2807 vpalignr $8,%xmm3,%xmm4,%xmm7 2808 movl %edx,%edi 2809 addl 48(%rsp),%ecx 2810 vpaddd %xmm6,%xmm11,%xmm9 2811 xorl %eax,%ebp 2812 shldl $5,%edx,%edx 2813 vpsrldq $4,%xmm6,%xmm8 2814 addl %esi,%ecx 2815 andl %ebp,%edi 2816 vpxor %xmm3,%xmm7,%xmm7 2817 xorl %eax,%ebp 2818 addl %edx,%ecx 2819 vpxor %xmm5,%xmm8,%xmm8 2820 shrdl $7,%edx,%edx 2821 xorl %eax,%edi 2822 movl %ecx,%esi 2823 addl 52(%rsp),%ebx 2824 vpxor %xmm8,%xmm7,%xmm7 2825 xorl %ebp,%edx 2826 shldl $5,%ecx,%ecx 2827 vmovdqa %xmm9,32(%rsp) 2828 addl %edi,%ebx 2829 andl %edx,%esi 2830 vpsrld $31,%xmm7,%xmm8 2831 xorl %ebp,%edx 2832 addl %ecx,%ebx 2833 shrdl $7,%ecx,%ecx 2834 xorl %ebp,%esi 2835 vpslldq $12,%xmm7,%xmm10 2836 vpaddd %xmm7,%xmm7,%xmm7 2837 movl %ebx,%edi 2838 addl 56(%rsp),%eax 2839 xorl %edx,%ecx 2840 shldl $5,%ebx,%ebx 2841 vpsrld $30,%xmm10,%xmm9 2842 vpor %xmm8,%xmm7,%xmm7 2843 addl %esi,%eax 2844 andl %ecx,%edi 2845 xorl %edx,%ecx 2846 addl %ebx,%eax 2847 vpslld $2,%xmm10,%xmm10 2848 vpxor %xmm9,%xmm7,%xmm7 2849 shrdl $7,%ebx,%ebx 2850 xorl %edx,%edi 2851 movl %eax,%esi 2852 addl 60(%rsp),%ebp 2853 vpxor %xmm10,%xmm7,%xmm7 2854 xorl %ecx,%ebx 2855 shldl $5,%eax,%eax 2856 addl %edi,%ebp 2857 andl %ebx,%esi 2858 xorl %ecx,%ebx 2859 addl %eax,%ebp 2860 vpalignr $8,%xmm6,%xmm7,%xmm8 2861 vpxor %xmm4,%xmm0,%xmm0 2862 shrdl $7,%eax,%eax 2863 xorl %ecx,%esi 2864 movl %ebp,%edi 2865 addl 0(%rsp),%edx 2866 vpxor %xmm1,%xmm0,%xmm0 2867 xorl %ebx,%eax 2868 shldl $5,%ebp,%ebp 2869 vpaddd %xmm7,%xmm11,%xmm9 2870 addl %esi,%edx 2871 andl %eax,%edi 2872 vpxor %xmm8,%xmm0,%xmm0 2873 xorl %ebx,%eax 2874 addl %ebp,%edx 2875 shrdl $7,%ebp,%ebp 2876 xorl %ebx,%edi 2877 vpsrld $30,%xmm0,%xmm8 2878 vmovdqa %xmm9,48(%rsp) 2879 movl %edx,%esi 2880 addl 4(%rsp),%ecx 2881 xorl %eax,%ebp 2882 shldl $5,%edx,%edx 2883 vpslld $2,%xmm0,%xmm0 2884 addl %edi,%ecx 2885 andl %ebp,%esi 2886 xorl %eax,%ebp 2887 addl %edx,%ecx 2888 shrdl $7,%edx,%edx 2889 xorl %eax,%esi 2890 movl %ecx,%edi 2891 addl 8(%rsp),%ebx 2892 vpor %xmm8,%xmm0,%xmm0 2893 xorl %ebp,%edx 2894 shldl $5,%ecx,%ecx 2895 addl %esi,%ebx 2896 andl %edx,%edi 2897 xorl %ebp,%edx 2898 addl %ecx,%ebx 2899 addl 12(%rsp),%eax 2900 xorl %ebp,%edi 2901 movl %ebx,%esi 2902 shldl $5,%ebx,%ebx 2903 addl %edi,%eax 2904 xorl %edx,%esi 2905 shrdl $7,%ecx,%ecx 2906 addl %ebx,%eax 2907 vpalignr $8,%xmm7,%xmm0,%xmm8 2908 vpxor %xmm5,%xmm1,%xmm1 2909 addl 16(%rsp),%ebp 2910 xorl %ecx,%esi 2911 movl %eax,%edi 2912 shldl $5,%eax,%eax 2913 vpxor %xmm2,%xmm1,%xmm1 2914 addl %esi,%ebp 2915 xorl %ecx,%edi 2916 vpaddd %xmm0,%xmm11,%xmm9 2917 shrdl $7,%ebx,%ebx 2918 addl %eax,%ebp 2919 vpxor %xmm8,%xmm1,%xmm1 2920 addl 20(%rsp),%edx 2921 xorl %ebx,%edi 2922 movl %ebp,%esi 2923 shldl $5,%ebp,%ebp 2924 vpsrld $30,%xmm1,%xmm8 2925 vmovdqa %xmm9,0(%rsp) 2926 addl %edi,%edx 2927 xorl %ebx,%esi 2928 shrdl $7,%eax,%eax 2929 addl %ebp,%edx 2930 vpslld $2,%xmm1,%xmm1 2931 addl 24(%rsp),%ecx 2932 xorl %eax,%esi 2933 movl %edx,%edi 2934 shldl $5,%edx,%edx 2935 addl %esi,%ecx 2936 xorl %eax,%edi 2937 shrdl $7,%ebp,%ebp 2938 addl %edx,%ecx 2939 vpor %xmm8,%xmm1,%xmm1 2940 addl 28(%rsp),%ebx 2941 xorl %ebp,%edi 2942 movl %ecx,%esi 2943 shldl $5,%ecx,%ecx 2944 addl %edi,%ebx 2945 xorl %ebp,%esi 2946 shrdl $7,%edx,%edx 2947 addl %ecx,%ebx 2948 vpalignr $8,%xmm0,%xmm1,%xmm8 2949 vpxor %xmm6,%xmm2,%xmm2 2950 addl 32(%rsp),%eax 2951 xorl %edx,%esi 2952 movl %ebx,%edi 2953 shldl $5,%ebx,%ebx 2954 vpxor %xmm3,%xmm2,%xmm2 2955 addl %esi,%eax 2956 xorl %edx,%edi 2957 vpaddd %xmm1,%xmm11,%xmm9 2958 vmovdqa 0(%r11),%xmm11 2959 shrdl $7,%ecx,%ecx 2960 addl %ebx,%eax 2961 vpxor %xmm8,%xmm2,%xmm2 2962 addl 36(%rsp),%ebp 2963 xorl %ecx,%edi 2964 movl %eax,%esi 2965 shldl $5,%eax,%eax 2966 vpsrld $30,%xmm2,%xmm8 2967 vmovdqa %xmm9,16(%rsp) 2968 addl %edi,%ebp 2969 xorl %ecx,%esi 2970 shrdl $7,%ebx,%ebx 2971 addl %eax,%ebp 2972 vpslld $2,%xmm2,%xmm2 2973 addl 40(%rsp),%edx 2974 xorl %ebx,%esi 2975 movl %ebp,%edi 2976 shldl $5,%ebp,%ebp 2977 addl %esi,%edx 2978 xorl %ebx,%edi 2979 shrdl $7,%eax,%eax 2980 addl %ebp,%edx 2981 vpor %xmm8,%xmm2,%xmm2 2982 addl 44(%rsp),%ecx 2983 xorl %eax,%edi 2984 movl %edx,%esi 2985 shldl $5,%edx,%edx 2986 addl %edi,%ecx 2987 xorl %eax,%esi 2988 shrdl $7,%ebp,%ebp 2989 addl %edx,%ecx 2990 vpalignr $8,%xmm1,%xmm2,%xmm8 2991 vpxor %xmm7,%xmm3,%xmm3 2992 addl 48(%rsp),%ebx 2993 xorl %ebp,%esi 2994 movl %ecx,%edi 2995 shldl $5,%ecx,%ecx 2996 vpxor %xmm4,%xmm3,%xmm3 2997 addl %esi,%ebx 2998 xorl %ebp,%edi 2999 vpaddd %xmm2,%xmm11,%xmm9 3000 shrdl $7,%edx,%edx 3001 addl %ecx,%ebx 3002 vpxor %xmm8,%xmm3,%xmm3 3003 addl 52(%rsp),%eax 3004 xorl %edx,%edi 3005 movl %ebx,%esi 3006 shldl $5,%ebx,%ebx 3007 vpsrld $30,%xmm3,%xmm8 3008 vmovdqa %xmm9,32(%rsp) 3009 addl %edi,%eax 3010 xorl %edx,%esi 3011 shrdl $7,%ecx,%ecx 3012 addl %ebx,%eax 3013 vpslld $2,%xmm3,%xmm3 3014 addl 56(%rsp),%ebp 3015 xorl %ecx,%esi 3016 movl %eax,%edi 3017 shldl $5,%eax,%eax 3018 addl %esi,%ebp 3019 xorl %ecx,%edi 3020 shrdl $7,%ebx,%ebx 3021 addl %eax,%ebp 3022 vpor %xmm8,%xmm3,%xmm3 3023 addl 60(%rsp),%edx 3024 xorl %ebx,%edi 3025 movl %ebp,%esi 3026 shldl $5,%ebp,%ebp 3027 addl %edi,%edx 3028 xorl %ebx,%esi 3029 shrdl $7,%eax,%eax 3030 addl %ebp,%edx 3031 vpalignr $8,%xmm2,%xmm3,%xmm8 3032 vpxor %xmm0,%xmm4,%xmm4 3033 addl 0(%rsp),%ecx 3034 xorl %eax,%esi 3035 movl %edx,%edi 3036 shldl $5,%edx,%edx 3037 vpxor %xmm5,%xmm4,%xmm4 3038 addl %esi,%ecx 3039 xorl %eax,%edi 3040 vpaddd %xmm3,%xmm11,%xmm9 3041 shrdl $7,%ebp,%ebp 3042 addl %edx,%ecx 3043 vpxor %xmm8,%xmm4,%xmm4 3044 addl 4(%rsp),%ebx 3045 xorl %ebp,%edi 3046 movl %ecx,%esi 3047 shldl $5,%ecx,%ecx 3048 vpsrld $30,%xmm4,%xmm8 3049 vmovdqa %xmm9,48(%rsp) 3050 addl %edi,%ebx 3051 xorl %ebp,%esi 3052 shrdl $7,%edx,%edx 3053 addl %ecx,%ebx 3054 vpslld $2,%xmm4,%xmm4 3055 addl 8(%rsp),%eax 3056 xorl %edx,%esi 3057 movl %ebx,%edi 3058 shldl $5,%ebx,%ebx 3059 addl %esi,%eax 3060 xorl %edx,%edi 3061 shrdl $7,%ecx,%ecx 3062 addl %ebx,%eax 3063 vpor %xmm8,%xmm4,%xmm4 3064 addl 12(%rsp),%ebp 3065 xorl %ecx,%edi 3066 movl %eax,%esi 3067 shldl $5,%eax,%eax 3068 addl %edi,%ebp 3069 xorl %ecx,%esi 3070 shrdl $7,%ebx,%ebx 3071 addl %eax,%ebp 3072 vpalignr $8,%xmm3,%xmm4,%xmm8 3073 vpxor %xmm1,%xmm5,%xmm5 3074 addl 16(%rsp),%edx 3075 xorl %ebx,%esi 3076 movl %ebp,%edi 3077 shldl $5,%ebp,%ebp 3078 vpxor %xmm6,%xmm5,%xmm5 3079 addl %esi,%edx 3080 xorl %ebx,%edi 3081 vpaddd %xmm4,%xmm11,%xmm9 3082 shrdl $7,%eax,%eax 3083 addl %ebp,%edx 3084 vpxor %xmm8,%xmm5,%xmm5 3085 addl 20(%rsp),%ecx 3086 xorl %eax,%edi 3087 movl %edx,%esi 3088 shldl $5,%edx,%edx 3089 vpsrld $30,%xmm5,%xmm8 3090 vmovdqa %xmm9,0(%rsp) 3091 addl %edi,%ecx 3092 xorl %eax,%esi 3093 shrdl $7,%ebp,%ebp 3094 addl %edx,%ecx 3095 vpslld $2,%xmm5,%xmm5 3096 addl 24(%rsp),%ebx 3097 xorl %ebp,%esi 3098 movl %ecx,%edi 3099 shldl $5,%ecx,%ecx 3100 addl %esi,%ebx 3101 xorl %ebp,%edi 3102 shrdl $7,%edx,%edx 3103 addl %ecx,%ebx 3104 vpor %xmm8,%xmm5,%xmm5 3105 addl 28(%rsp),%eax 3106 shrdl $7,%ecx,%ecx 3107 movl %ebx,%esi 3108 xorl %edx,%edi 3109 shldl $5,%ebx,%ebx 3110 addl %edi,%eax 3111 xorl %ecx,%esi 3112 xorl %edx,%ecx 3113 addl %ebx,%eax 3114 vpalignr $8,%xmm4,%xmm5,%xmm8 3115 vpxor %xmm2,%xmm6,%xmm6 3116 addl 32(%rsp),%ebp 3117 andl %ecx,%esi 3118 xorl %edx,%ecx 3119 shrdl $7,%ebx,%ebx 3120 vpxor %xmm7,%xmm6,%xmm6 3121 movl %eax,%edi 3122 xorl %ecx,%esi 3123 vpaddd %xmm5,%xmm11,%xmm9 3124 shldl $5,%eax,%eax 3125 addl %esi,%ebp 3126 vpxor %xmm8,%xmm6,%xmm6 3127 xorl %ebx,%edi 3128 xorl %ecx,%ebx 3129 addl %eax,%ebp 3130 addl 36(%rsp),%edx 3131 vpsrld $30,%xmm6,%xmm8 3132 vmovdqa %xmm9,16(%rsp) 3133 andl %ebx,%edi 3134 xorl %ecx,%ebx 3135 shrdl $7,%eax,%eax 3136 movl %ebp,%esi 3137 vpslld $2,%xmm6,%xmm6 3138 xorl %ebx,%edi 3139 shldl $5,%ebp,%ebp 3140 addl %edi,%edx 3141 xorl %eax,%esi 3142 xorl %ebx,%eax 3143 addl %ebp,%edx 3144 addl 40(%rsp),%ecx 3145 andl %eax,%esi 3146 vpor %xmm8,%xmm6,%xmm6 3147 xorl %ebx,%eax 3148 shrdl $7,%ebp,%ebp 3149 movl %edx,%edi 3150 xorl %eax,%esi 3151 shldl $5,%edx,%edx 3152 addl %esi,%ecx 3153 xorl %ebp,%edi 3154 xorl %eax,%ebp 3155 addl %edx,%ecx 3156 addl 44(%rsp),%ebx 3157 andl %ebp,%edi 3158 xorl %eax,%ebp 3159 shrdl $7,%edx,%edx 3160 movl %ecx,%esi 3161 xorl %ebp,%edi 3162 shldl $5,%ecx,%ecx 3163 addl %edi,%ebx 3164 xorl %edx,%esi 3165 xorl %ebp,%edx 3166 addl %ecx,%ebx 3167 vpalignr $8,%xmm5,%xmm6,%xmm8 3168 vpxor %xmm3,%xmm7,%xmm7 3169 addl 48(%rsp),%eax 3170 andl %edx,%esi 3171 xorl %ebp,%edx 3172 shrdl $7,%ecx,%ecx 3173 vpxor %xmm0,%xmm7,%xmm7 3174 movl %ebx,%edi 3175 xorl %edx,%esi 3176 vpaddd %xmm6,%xmm11,%xmm9 3177 vmovdqa 32(%r11),%xmm11 3178 shldl $5,%ebx,%ebx 3179 addl %esi,%eax 3180 vpxor %xmm8,%xmm7,%xmm7 3181 xorl %ecx,%edi 3182 xorl %edx,%ecx 3183 addl %ebx,%eax 3184 addl 52(%rsp),%ebp 3185 vpsrld $30,%xmm7,%xmm8 3186 vmovdqa %xmm9,32(%rsp) 3187 andl %ecx,%edi 3188 xorl %edx,%ecx 3189 shrdl $7,%ebx,%ebx 3190 movl %eax,%esi 3191 vpslld $2,%xmm7,%xmm7 3192 xorl %ecx,%edi 3193 shldl $5,%eax,%eax 3194 addl %edi,%ebp 3195 xorl %ebx,%esi 3196 xorl %ecx,%ebx 3197 addl %eax,%ebp 3198 addl 56(%rsp),%edx 3199 andl %ebx,%esi 3200 vpor %xmm8,%xmm7,%xmm7 3201 xorl %ecx,%ebx 3202 shrdl $7,%eax,%eax 3203 movl %ebp,%edi 3204 xorl %ebx,%esi 3205 shldl $5,%ebp,%ebp 3206 addl %esi,%edx 3207 xorl %eax,%edi 3208 xorl %ebx,%eax 3209 addl %ebp,%edx 3210 addl 60(%rsp),%ecx 3211 andl %eax,%edi 3212 xorl %ebx,%eax 3213 shrdl $7,%ebp,%ebp 3214 movl %edx,%esi 3215 xorl %eax,%edi 3216 shldl $5,%edx,%edx 3217 addl %edi,%ecx 3218 xorl %ebp,%esi 3219 xorl %eax,%ebp 3220 addl %edx,%ecx 3221 vpalignr $8,%xmm6,%xmm7,%xmm8 3222 vpxor %xmm4,%xmm0,%xmm0 3223 addl 0(%rsp),%ebx 3224 andl %ebp,%esi 3225 xorl %eax,%ebp 3226 shrdl $7,%edx,%edx 3227 vpxor %xmm1,%xmm0,%xmm0 3228 movl %ecx,%edi 3229 xorl %ebp,%esi 3230 vpaddd %xmm7,%xmm11,%xmm9 3231 shldl $5,%ecx,%ecx 3232 addl %esi,%ebx 3233 vpxor %xmm8,%xmm0,%xmm0 3234 xorl %edx,%edi 3235 xorl %ebp,%edx 3236 addl %ecx,%ebx 3237 addl 4(%rsp),%eax 3238 vpsrld $30,%xmm0,%xmm8 3239 vmovdqa %xmm9,48(%rsp) 3240 andl %edx,%edi 3241 xorl %ebp,%edx 3242 shrdl $7,%ecx,%ecx 3243 movl %ebx,%esi 3244 vpslld $2,%xmm0,%xmm0 3245 xorl %edx,%edi 3246 shldl $5,%ebx,%ebx 3247 addl %edi,%eax 3248 xorl %ecx,%esi 3249 xorl %edx,%ecx 3250 addl %ebx,%eax 3251 addl 8(%rsp),%ebp 3252 andl %ecx,%esi 3253 vpor %xmm8,%xmm0,%xmm0 3254 xorl %edx,%ecx 3255 shrdl $7,%ebx,%ebx 3256 movl %eax,%edi 3257 xorl %ecx,%esi 3258 shldl $5,%eax,%eax 3259 addl %esi,%ebp 3260 xorl %ebx,%edi 3261 xorl %ecx,%ebx 3262 addl %eax,%ebp 3263 addl 12(%rsp),%edx 3264 andl %ebx,%edi 3265 xorl %ecx,%ebx 3266 shrdl $7,%eax,%eax 3267 movl %ebp,%esi 3268 xorl %ebx,%edi 3269 shldl $5,%ebp,%ebp 3270 addl %edi,%edx 3271 xorl %eax,%esi 3272 xorl %ebx,%eax 3273 addl %ebp,%edx 3274 vpalignr $8,%xmm7,%xmm0,%xmm8 3275 vpxor %xmm5,%xmm1,%xmm1 3276 addl 16(%rsp),%ecx 3277 andl %eax,%esi 3278 xorl %ebx,%eax 3279 shrdl $7,%ebp,%ebp 3280 vpxor %xmm2,%xmm1,%xmm1 3281 movl %edx,%edi 3282 xorl %eax,%esi 3283 vpaddd %xmm0,%xmm11,%xmm9 3284 shldl $5,%edx,%edx 3285 addl %esi,%ecx 3286 vpxor %xmm8,%xmm1,%xmm1 3287 xorl %ebp,%edi 3288 xorl %eax,%ebp 3289 addl %edx,%ecx 3290 addl 20(%rsp),%ebx 3291 vpsrld $30,%xmm1,%xmm8 3292 vmovdqa %xmm9,0(%rsp) 3293 andl %ebp,%edi 3294 xorl %eax,%ebp 3295 shrdl $7,%edx,%edx 3296 movl %ecx,%esi 3297 vpslld $2,%xmm1,%xmm1 3298 xorl %ebp,%edi 3299 shldl $5,%ecx,%ecx 3300 addl %edi,%ebx 3301 xorl %edx,%esi 3302 xorl %ebp,%edx 3303 addl %ecx,%ebx 3304 addl 24(%rsp),%eax 3305 andl %edx,%esi 3306 vpor %xmm8,%xmm1,%xmm1 3307 xorl %ebp,%edx 3308 shrdl $7,%ecx,%ecx 3309 movl %ebx,%edi 3310 xorl %edx,%esi 3311 shldl $5,%ebx,%ebx 3312 addl %esi,%eax 3313 xorl %ecx,%edi 3314 xorl %edx,%ecx 3315 addl %ebx,%eax 3316 addl 28(%rsp),%ebp 3317 andl %ecx,%edi 3318 xorl %edx,%ecx 3319 shrdl $7,%ebx,%ebx 3320 movl %eax,%esi 3321 xorl %ecx,%edi 3322 shldl $5,%eax,%eax 3323 addl %edi,%ebp 3324 xorl %ebx,%esi 3325 xorl %ecx,%ebx 3326 addl %eax,%ebp 3327 vpalignr $8,%xmm0,%xmm1,%xmm8 3328 vpxor %xmm6,%xmm2,%xmm2 3329 addl 32(%rsp),%edx 3330 andl %ebx,%esi 3331 xorl %ecx,%ebx 3332 shrdl $7,%eax,%eax 3333 vpxor %xmm3,%xmm2,%xmm2 3334 movl %ebp,%edi 3335 xorl %ebx,%esi 3336 vpaddd %xmm1,%xmm11,%xmm9 3337 shldl $5,%ebp,%ebp 3338 addl %esi,%edx 3339 vpxor %xmm8,%xmm2,%xmm2 3340 xorl %eax,%edi 3341 xorl %ebx,%eax 3342 addl %ebp,%edx 3343 addl 36(%rsp),%ecx 3344 vpsrld $30,%xmm2,%xmm8 3345 vmovdqa %xmm9,16(%rsp) 3346 andl %eax,%edi 3347 xorl %ebx,%eax 3348 shrdl $7,%ebp,%ebp 3349 movl %edx,%esi 3350 vpslld $2,%xmm2,%xmm2 3351 xorl %eax,%edi 3352 shldl $5,%edx,%edx 3353 addl %edi,%ecx 3354 xorl %ebp,%esi 3355 xorl %eax,%ebp 3356 addl %edx,%ecx 3357 addl 40(%rsp),%ebx 3358 andl %ebp,%esi 3359 vpor %xmm8,%xmm2,%xmm2 3360 xorl %eax,%ebp 3361 shrdl $7,%edx,%edx 3362 movl %ecx,%edi 3363 xorl %ebp,%esi 3364 shldl $5,%ecx,%ecx 3365 addl %esi,%ebx 3366 xorl %edx,%edi 3367 xorl %ebp,%edx 3368 addl %ecx,%ebx 3369 addl 44(%rsp),%eax 3370 andl %edx,%edi 3371 xorl %ebp,%edx 3372 shrdl $7,%ecx,%ecx 3373 movl %ebx,%esi 3374 xorl %edx,%edi 3375 shldl $5,%ebx,%ebx 3376 addl %edi,%eax 3377 xorl %edx,%esi 3378 addl %ebx,%eax 3379 vpalignr $8,%xmm1,%xmm2,%xmm8 3380 vpxor %xmm7,%xmm3,%xmm3 3381 addl 48(%rsp),%ebp 3382 xorl %ecx,%esi 3383 movl %eax,%edi 3384 shldl $5,%eax,%eax 3385 vpxor %xmm4,%xmm3,%xmm3 3386 addl %esi,%ebp 3387 xorl %ecx,%edi 3388 vpaddd %xmm2,%xmm11,%xmm9 3389 shrdl $7,%ebx,%ebx 3390 addl %eax,%ebp 3391 vpxor %xmm8,%xmm3,%xmm3 3392 addl 52(%rsp),%edx 3393 xorl %ebx,%edi 3394 movl %ebp,%esi 3395 shldl $5,%ebp,%ebp 3396 vpsrld $30,%xmm3,%xmm8 3397 vmovdqa %xmm9,32(%rsp) 3398 addl %edi,%edx 3399 xorl %ebx,%esi 3400 shrdl $7,%eax,%eax 3401 addl %ebp,%edx 3402 vpslld $2,%xmm3,%xmm3 3403 addl 56(%rsp),%ecx 3404 xorl %eax,%esi 3405 movl %edx,%edi 3406 shldl $5,%edx,%edx 3407 addl %esi,%ecx 3408 xorl %eax,%edi 3409 shrdl $7,%ebp,%ebp 3410 addl %edx,%ecx 3411 vpor %xmm8,%xmm3,%xmm3 3412 addl 60(%rsp),%ebx 3413 xorl %ebp,%edi 3414 movl %ecx,%esi 3415 shldl $5,%ecx,%ecx 3416 addl %edi,%ebx 3417 xorl %ebp,%esi 3418 shrdl $7,%edx,%edx 3419 addl %ecx,%ebx 3420 addl 0(%rsp),%eax 3421 vpaddd %xmm3,%xmm11,%xmm9 3422 xorl %edx,%esi 3423 movl %ebx,%edi 3424 shldl $5,%ebx,%ebx 3425 addl %esi,%eax 3426 vmovdqa %xmm9,48(%rsp) 3427 xorl %edx,%edi 3428 shrdl $7,%ecx,%ecx 3429 addl %ebx,%eax 3430 addl 4(%rsp),%ebp 3431 xorl %ecx,%edi 3432 movl %eax,%esi 3433 shldl $5,%eax,%eax 3434 addl %edi,%ebp 3435 xorl %ecx,%esi 3436 shrdl $7,%ebx,%ebx 3437 addl %eax,%ebp 3438 addl 8(%rsp),%edx 3439 xorl %ebx,%esi 3440 movl %ebp,%edi 3441 shldl $5,%ebp,%ebp 3442 addl %esi,%edx 3443 xorl %ebx,%edi 3444 shrdl $7,%eax,%eax 3445 addl %ebp,%edx 3446 addl 12(%rsp),%ecx 3447 xorl %eax,%edi 3448 movl %edx,%esi 3449 shldl $5,%edx,%edx 3450 addl %edi,%ecx 3451 xorl %eax,%esi 3452 shrdl $7,%ebp,%ebp 3453 addl %edx,%ecx 3454 cmpq %r10,%r9 3455 je .Ldone_avx 3456 vmovdqa 64(%r11),%xmm6 3457 vmovdqa -64(%r11),%xmm11 3458 vmovdqu 0(%r9),%xmm0 3459 vmovdqu 16(%r9),%xmm1 3460 vmovdqu 32(%r9),%xmm2 3461 vmovdqu 48(%r9),%xmm3 3462 vpshufb %xmm6,%xmm0,%xmm0 3463 addq $64,%r9 3464 addl 16(%rsp),%ebx 3465 xorl %ebp,%esi 3466 vpshufb %xmm6,%xmm1,%xmm1 3467 movl %ecx,%edi 3468 shldl $5,%ecx,%ecx 3469 vpaddd %xmm11,%xmm0,%xmm4 3470 addl %esi,%ebx 3471 xorl %ebp,%edi 3472 shrdl $7,%edx,%edx 3473 addl %ecx,%ebx 3474 vmovdqa %xmm4,0(%rsp) 3475 addl 20(%rsp),%eax 3476 xorl %edx,%edi 3477 movl %ebx,%esi 3478 shldl $5,%ebx,%ebx 3479 addl %edi,%eax 3480 xorl %edx,%esi 3481 shrdl $7,%ecx,%ecx 3482 addl %ebx,%eax 3483 addl 24(%rsp),%ebp 3484 xorl %ecx,%esi 3485 movl %eax,%edi 3486 shldl $5,%eax,%eax 3487 addl %esi,%ebp 3488 xorl %ecx,%edi 3489 shrdl $7,%ebx,%ebx 3490 addl %eax,%ebp 3491 addl 28(%rsp),%edx 3492 xorl %ebx,%edi 3493 movl %ebp,%esi 3494 shldl $5,%ebp,%ebp 3495 addl %edi,%edx 3496 xorl %ebx,%esi 3497 shrdl $7,%eax,%eax 3498 addl %ebp,%edx 3499 addl 32(%rsp),%ecx 3500 xorl %eax,%esi 3501 vpshufb %xmm6,%xmm2,%xmm2 3502 movl %edx,%edi 3503 shldl $5,%edx,%edx 3504 vpaddd %xmm11,%xmm1,%xmm5 3505 addl %esi,%ecx 3506 xorl %eax,%edi 3507 shrdl $7,%ebp,%ebp 3508 addl %edx,%ecx 3509 vmovdqa %xmm5,16(%rsp) 3510 addl 36(%rsp),%ebx 3511 xorl %ebp,%edi 3512 movl %ecx,%esi 3513 shldl $5,%ecx,%ecx 3514 addl %edi,%ebx 3515 xorl %ebp,%esi 3516 shrdl $7,%edx,%edx 3517 addl %ecx,%ebx 3518 addl 40(%rsp),%eax 3519 xorl %edx,%esi 3520 movl %ebx,%edi 3521 shldl $5,%ebx,%ebx 3522 addl %esi,%eax 3523 xorl %edx,%edi 3524 shrdl $7,%ecx,%ecx 3525 addl %ebx,%eax 3526 addl 44(%rsp),%ebp 3527 xorl %ecx,%edi 3528 movl %eax,%esi 3529 shldl $5,%eax,%eax 3530 addl %edi,%ebp 3531 xorl %ecx,%esi 3532 shrdl $7,%ebx,%ebx 3533 addl %eax,%ebp 3534 addl 48(%rsp),%edx 3535 xorl %ebx,%esi 3536 vpshufb %xmm6,%xmm3,%xmm3 3537 movl %ebp,%edi 3538 shldl $5,%ebp,%ebp 3539 vpaddd %xmm11,%xmm2,%xmm6 3540 addl %esi,%edx 3541 xorl %ebx,%edi 3542 shrdl $7,%eax,%eax 3543 addl %ebp,%edx 3544 vmovdqa %xmm6,32(%rsp) 3545 addl 52(%rsp),%ecx 3546 xorl %eax,%edi 3547 movl %edx,%esi 3548 shldl $5,%edx,%edx 3549 addl %edi,%ecx 3550 xorl %eax,%esi 3551 shrdl $7,%ebp,%ebp 3552 addl %edx,%ecx 3553 addl 56(%rsp),%ebx 3554 xorl %ebp,%esi 3555 movl %ecx,%edi 3556 shldl $5,%ecx,%ecx 3557 addl %esi,%ebx 3558 xorl %ebp,%edi 3559 shrdl $7,%edx,%edx 3560 addl %ecx,%ebx 3561 addl 60(%rsp),%eax 3562 xorl %edx,%edi 3563 movl %ebx,%esi 3564 shldl $5,%ebx,%ebx 3565 addl %edi,%eax 3566 shrdl $7,%ecx,%ecx 3567 addl %ebx,%eax 3568 addl 0(%r8),%eax 3569 addl 4(%r8),%esi 3570 addl 8(%r8),%ecx 3571 addl 12(%r8),%edx 3572 movl %eax,0(%r8) 3573 addl 16(%r8),%ebp 3574 movl %esi,4(%r8) 3575 movl %esi,%ebx 3576 movl %ecx,8(%r8) 3577 movl %ecx,%edi 3578 movl %edx,12(%r8) 3579 xorl %edx,%edi 3580 movl %ebp,16(%r8) 3581 andl %edi,%esi 3582 jmp .Loop_avx 3583 3584.align 16 3585.Ldone_avx: 3586 addl 16(%rsp),%ebx 3587 xorl %ebp,%esi 3588 movl %ecx,%edi 3589 shldl $5,%ecx,%ecx 3590 addl %esi,%ebx 3591 xorl %ebp,%edi 3592 shrdl $7,%edx,%edx 3593 addl %ecx,%ebx 3594 addl 20(%rsp),%eax 3595 xorl %edx,%edi 3596 movl %ebx,%esi 3597 shldl $5,%ebx,%ebx 3598 addl %edi,%eax 3599 xorl %edx,%esi 3600 shrdl $7,%ecx,%ecx 3601 addl %ebx,%eax 3602 addl 24(%rsp),%ebp 3603 xorl %ecx,%esi 3604 movl %eax,%edi 3605 shldl $5,%eax,%eax 3606 addl %esi,%ebp 3607 xorl %ecx,%edi 3608 shrdl $7,%ebx,%ebx 3609 addl %eax,%ebp 3610 addl 28(%rsp),%edx 3611 xorl %ebx,%edi 3612 movl %ebp,%esi 3613 shldl $5,%ebp,%ebp 3614 addl %edi,%edx 3615 xorl %ebx,%esi 3616 shrdl $7,%eax,%eax 3617 addl %ebp,%edx 3618 addl 32(%rsp),%ecx 3619 xorl %eax,%esi 3620 movl %edx,%edi 3621 shldl $5,%edx,%edx 3622 addl %esi,%ecx 3623 xorl %eax,%edi 3624 shrdl $7,%ebp,%ebp 3625 addl %edx,%ecx 3626 addl 36(%rsp),%ebx 3627 xorl %ebp,%edi 3628 movl %ecx,%esi 3629 shldl $5,%ecx,%ecx 3630 addl %edi,%ebx 3631 xorl %ebp,%esi 3632 shrdl $7,%edx,%edx 3633 addl %ecx,%ebx 3634 addl 40(%rsp),%eax 3635 xorl %edx,%esi 3636 movl %ebx,%edi 3637 shldl $5,%ebx,%ebx 3638 addl %esi,%eax 3639 xorl %edx,%edi 3640 shrdl $7,%ecx,%ecx 3641 addl %ebx,%eax 3642 addl 44(%rsp),%ebp 3643 xorl %ecx,%edi 3644 movl %eax,%esi 3645 shldl $5,%eax,%eax 3646 addl %edi,%ebp 3647 xorl %ecx,%esi 3648 shrdl $7,%ebx,%ebx 3649 addl %eax,%ebp 3650 addl 48(%rsp),%edx 3651 xorl %ebx,%esi 3652 movl %ebp,%edi 3653 shldl $5,%ebp,%ebp 3654 addl %esi,%edx 3655 xorl %ebx,%edi 3656 shrdl $7,%eax,%eax 3657 addl %ebp,%edx 3658 addl 52(%rsp),%ecx 3659 xorl %eax,%edi 3660 movl %edx,%esi 3661 shldl $5,%edx,%edx 3662 addl %edi,%ecx 3663 xorl %eax,%esi 3664 shrdl $7,%ebp,%ebp 3665 addl %edx,%ecx 3666 addl 56(%rsp),%ebx 3667 xorl %ebp,%esi 3668 movl %ecx,%edi 3669 shldl $5,%ecx,%ecx 3670 addl %esi,%ebx 3671 xorl %ebp,%edi 3672 shrdl $7,%edx,%edx 3673 addl %ecx,%ebx 3674 addl 60(%rsp),%eax 3675 xorl %edx,%edi 3676 movl %ebx,%esi 3677 shldl $5,%ebx,%ebx 3678 addl %edi,%eax 3679 shrdl $7,%ecx,%ecx 3680 addl %ebx,%eax 3681 vzeroupper 3682 3683 addl 0(%r8),%eax 3684 addl 4(%r8),%esi 3685 addl 8(%r8),%ecx 3686 movl %eax,0(%r8) 3687 addl 12(%r8),%edx 3688 movl %esi,4(%r8) 3689 addl 16(%r8),%ebp 3690 movl %ecx,8(%r8) 3691 movl %edx,12(%r8) 3692 movl %ebp,16(%r8) 3693 leaq (%r14),%rsi 3694 movq -40(%rsi),%r14 3695 movq -32(%rsi),%r13 3696 movq -24(%rsi),%r12 3697 movq -16(%rsi),%rbp 3698 movq -8(%rsi),%rbx 3699 leaq (%rsi),%rsp 3700.Lepilogue_avx: 3701 .byte 0xf3,0xc3 3702.size sha1_block_data_order_avx,.-sha1_block_data_order_avx 3703.type sha1_block_data_order_avx2,@function 3704.align 16 3705sha1_block_data_order_avx2: 3706_avx2_shortcut: 3707 movq %rsp,%rax 3708 pushq %rbx 3709 pushq %rbp 3710 pushq %r12 3711 pushq %r13 3712 pushq %r14 3713 vzeroupper 3714 movq %rax,%r14 3715 movq %rdi,%r8 3716 movq %rsi,%r9 3717 movq %rdx,%r10 3718 3719 leaq -640(%rsp),%rsp 3720 shlq $6,%r10 3721 leaq 64(%r9),%r13 3722 andq $-128,%rsp 3723 addq %r9,%r10 3724 leaq K_XX_XX+64(%rip),%r11 3725 3726 movl 0(%r8),%eax 3727 cmpq %r10,%r13 3728 cmovaeq %r9,%r13 3729 movl 4(%r8),%ebp 3730 movl 8(%r8),%ecx 3731 movl 12(%r8),%edx 3732 movl 16(%r8),%esi 3733 vmovdqu 64(%r11),%ymm6 3734 3735 vmovdqu (%r9),%xmm0 3736 vmovdqu 16(%r9),%xmm1 3737 vmovdqu 32(%r9),%xmm2 3738 vmovdqu 48(%r9),%xmm3 3739 leaq 64(%r9),%r9 3740 vinserti128 $1,(%r13),%ymm0,%ymm0 3741 vinserti128 $1,16(%r13),%ymm1,%ymm1 3742 vpshufb %ymm6,%ymm0,%ymm0 3743 vinserti128 $1,32(%r13),%ymm2,%ymm2 3744 vpshufb %ymm6,%ymm1,%ymm1 3745 vinserti128 $1,48(%r13),%ymm3,%ymm3 3746 vpshufb %ymm6,%ymm2,%ymm2 3747 vmovdqu -64(%r11),%ymm11 3748 vpshufb %ymm6,%ymm3,%ymm3 3749 3750 vpaddd %ymm11,%ymm0,%ymm4 3751 vpaddd %ymm11,%ymm1,%ymm5 3752 vmovdqu %ymm4,0(%rsp) 3753 vpaddd %ymm11,%ymm2,%ymm6 3754 vmovdqu %ymm5,32(%rsp) 3755 vpaddd %ymm11,%ymm3,%ymm7 3756 vmovdqu %ymm6,64(%rsp) 3757 vmovdqu %ymm7,96(%rsp) 3758 vpalignr $8,%ymm0,%ymm1,%ymm4 3759 vpsrldq $4,%ymm3,%ymm8 3760 vpxor %ymm0,%ymm4,%ymm4 3761 vpxor %ymm2,%ymm8,%ymm8 3762 vpxor %ymm8,%ymm4,%ymm4 3763 vpsrld $31,%ymm4,%ymm8 3764 vpslldq $12,%ymm4,%ymm10 3765 vpaddd %ymm4,%ymm4,%ymm4 3766 vpsrld $30,%ymm10,%ymm9 3767 vpor %ymm8,%ymm4,%ymm4 3768 vpslld $2,%ymm10,%ymm10 3769 vpxor %ymm9,%ymm4,%ymm4 3770 vpxor %ymm10,%ymm4,%ymm4 3771 vpaddd %ymm11,%ymm4,%ymm9 3772 vmovdqu %ymm9,128(%rsp) 3773 vpalignr $8,%ymm1,%ymm2,%ymm5 3774 vpsrldq $4,%ymm4,%ymm8 3775 vpxor %ymm1,%ymm5,%ymm5 3776 vpxor %ymm3,%ymm8,%ymm8 3777 vpxor %ymm8,%ymm5,%ymm5 3778 vpsrld $31,%ymm5,%ymm8 3779 vmovdqu -32(%r11),%ymm11 3780 vpslldq $12,%ymm5,%ymm10 3781 vpaddd %ymm5,%ymm5,%ymm5 3782 vpsrld $30,%ymm10,%ymm9 3783 vpor %ymm8,%ymm5,%ymm5 3784 vpslld $2,%ymm10,%ymm10 3785 vpxor %ymm9,%ymm5,%ymm5 3786 vpxor %ymm10,%ymm5,%ymm5 3787 vpaddd %ymm11,%ymm5,%ymm9 3788 vmovdqu %ymm9,160(%rsp) 3789 vpalignr $8,%ymm2,%ymm3,%ymm6 3790 vpsrldq $4,%ymm5,%ymm8 3791 vpxor %ymm2,%ymm6,%ymm6 3792 vpxor %ymm4,%ymm8,%ymm8 3793 vpxor %ymm8,%ymm6,%ymm6 3794 vpsrld $31,%ymm6,%ymm8 3795 vpslldq $12,%ymm6,%ymm10 3796 vpaddd %ymm6,%ymm6,%ymm6 3797 vpsrld $30,%ymm10,%ymm9 3798 vpor %ymm8,%ymm6,%ymm6 3799 vpslld $2,%ymm10,%ymm10 3800 vpxor %ymm9,%ymm6,%ymm6 3801 vpxor %ymm10,%ymm6,%ymm6 3802 vpaddd %ymm11,%ymm6,%ymm9 3803 vmovdqu %ymm9,192(%rsp) 3804 vpalignr $8,%ymm3,%ymm4,%ymm7 3805 vpsrldq $4,%ymm6,%ymm8 3806 vpxor %ymm3,%ymm7,%ymm7 3807 vpxor %ymm5,%ymm8,%ymm8 3808 vpxor %ymm8,%ymm7,%ymm7 3809 vpsrld $31,%ymm7,%ymm8 3810 vpslldq $12,%ymm7,%ymm10 3811 vpaddd %ymm7,%ymm7,%ymm7 3812 vpsrld $30,%ymm10,%ymm9 3813 vpor %ymm8,%ymm7,%ymm7 3814 vpslld $2,%ymm10,%ymm10 3815 vpxor %ymm9,%ymm7,%ymm7 3816 vpxor %ymm10,%ymm7,%ymm7 3817 vpaddd %ymm11,%ymm7,%ymm9 3818 vmovdqu %ymm9,224(%rsp) 3819 leaq 128(%rsp),%r13 3820 jmp .Loop_avx2 3821.align 32 3822.Loop_avx2: 3823 rorxl $2,%ebp,%ebx 3824 andnl %edx,%ebp,%edi 3825 andl %ecx,%ebp 3826 xorl %edi,%ebp 3827 jmp .Lalign32_1 3828.align 32 3829.Lalign32_1: 3830 vpalignr $8,%ymm6,%ymm7,%ymm8 3831 vpxor %ymm4,%ymm0,%ymm0 3832 addl -128(%r13),%esi 3833 andnl %ecx,%eax,%edi 3834 vpxor %ymm1,%ymm0,%ymm0 3835 addl %ebp,%esi 3836 rorxl $27,%eax,%r12d 3837 rorxl $2,%eax,%ebp 3838 vpxor %ymm8,%ymm0,%ymm0 3839 andl %ebx,%eax 3840 addl %r12d,%esi 3841 xorl %edi,%eax 3842 vpsrld $30,%ymm0,%ymm8 3843 vpslld $2,%ymm0,%ymm0 3844 addl -124(%r13),%edx 3845 andnl %ebx,%esi,%edi 3846 addl %eax,%edx 3847 rorxl $27,%esi,%r12d 3848 rorxl $2,%esi,%eax 3849 andl %ebp,%esi 3850 vpor %ymm8,%ymm0,%ymm0 3851 addl %r12d,%edx 3852 xorl %edi,%esi 3853 addl -120(%r13),%ecx 3854 andnl %ebp,%edx,%edi 3855 vpaddd %ymm11,%ymm0,%ymm9 3856 addl %esi,%ecx 3857 rorxl $27,%edx,%r12d 3858 rorxl $2,%edx,%esi 3859 andl %eax,%edx 3860 vmovdqu %ymm9,256(%rsp) 3861 addl %r12d,%ecx 3862 xorl %edi,%edx 3863 addl -116(%r13),%ebx 3864 andnl %eax,%ecx,%edi 3865 addl %edx,%ebx 3866 rorxl $27,%ecx,%r12d 3867 rorxl $2,%ecx,%edx 3868 andl %esi,%ecx 3869 addl %r12d,%ebx 3870 xorl %edi,%ecx 3871 addl -96(%r13),%ebp 3872 andnl %esi,%ebx,%edi 3873 addl %ecx,%ebp 3874 rorxl $27,%ebx,%r12d 3875 rorxl $2,%ebx,%ecx 3876 andl %edx,%ebx 3877 addl %r12d,%ebp 3878 xorl %edi,%ebx 3879 vpalignr $8,%ymm7,%ymm0,%ymm8 3880 vpxor %ymm5,%ymm1,%ymm1 3881 addl -92(%r13),%eax 3882 andnl %edx,%ebp,%edi 3883 vpxor %ymm2,%ymm1,%ymm1 3884 addl %ebx,%eax 3885 rorxl $27,%ebp,%r12d 3886 rorxl $2,%ebp,%ebx 3887 vpxor %ymm8,%ymm1,%ymm1 3888 andl %ecx,%ebp 3889 addl %r12d,%eax 3890 xorl %edi,%ebp 3891 vpsrld $30,%ymm1,%ymm8 3892 vpslld $2,%ymm1,%ymm1 3893 addl -88(%r13),%esi 3894 andnl %ecx,%eax,%edi 3895 addl %ebp,%esi 3896 rorxl $27,%eax,%r12d 3897 rorxl $2,%eax,%ebp 3898 andl %ebx,%eax 3899 vpor %ymm8,%ymm1,%ymm1 3900 addl %r12d,%esi 3901 xorl %edi,%eax 3902 addl -84(%r13),%edx 3903 andnl %ebx,%esi,%edi 3904 vpaddd %ymm11,%ymm1,%ymm9 3905 addl %eax,%edx 3906 rorxl $27,%esi,%r12d 3907 rorxl $2,%esi,%eax 3908 andl %ebp,%esi 3909 vmovdqu %ymm9,288(%rsp) 3910 addl %r12d,%edx 3911 xorl %edi,%esi 3912 addl -64(%r13),%ecx 3913 andnl %ebp,%edx,%edi 3914 addl %esi,%ecx 3915 rorxl $27,%edx,%r12d 3916 rorxl $2,%edx,%esi 3917 andl %eax,%edx 3918 addl %r12d,%ecx 3919 xorl %edi,%edx 3920 addl -60(%r13),%ebx 3921 andnl %eax,%ecx,%edi 3922 addl %edx,%ebx 3923 rorxl $27,%ecx,%r12d 3924 rorxl $2,%ecx,%edx 3925 andl %esi,%ecx 3926 addl %r12d,%ebx 3927 xorl %edi,%ecx 3928 vpalignr $8,%ymm0,%ymm1,%ymm8 3929 vpxor %ymm6,%ymm2,%ymm2 3930 addl -56(%r13),%ebp 3931 andnl %esi,%ebx,%edi 3932 vpxor %ymm3,%ymm2,%ymm2 3933 vmovdqu 0(%r11),%ymm11 3934 addl %ecx,%ebp 3935 rorxl $27,%ebx,%r12d 3936 rorxl $2,%ebx,%ecx 3937 vpxor %ymm8,%ymm2,%ymm2 3938 andl %edx,%ebx 3939 addl %r12d,%ebp 3940 xorl %edi,%ebx 3941 vpsrld $30,%ymm2,%ymm8 3942 vpslld $2,%ymm2,%ymm2 3943 addl -52(%r13),%eax 3944 andnl %edx,%ebp,%edi 3945 addl %ebx,%eax 3946 rorxl $27,%ebp,%r12d 3947 rorxl $2,%ebp,%ebx 3948 andl %ecx,%ebp 3949 vpor %ymm8,%ymm2,%ymm2 3950 addl %r12d,%eax 3951 xorl %edi,%ebp 3952 addl -32(%r13),%esi 3953 andnl %ecx,%eax,%edi 3954 vpaddd %ymm11,%ymm2,%ymm9 3955 addl %ebp,%esi 3956 rorxl $27,%eax,%r12d 3957 rorxl $2,%eax,%ebp 3958 andl %ebx,%eax 3959 vmovdqu %ymm9,320(%rsp) 3960 addl %r12d,%esi 3961 xorl %edi,%eax 3962 addl -28(%r13),%edx 3963 andnl %ebx,%esi,%edi 3964 addl %eax,%edx 3965 rorxl $27,%esi,%r12d 3966 rorxl $2,%esi,%eax 3967 andl %ebp,%esi 3968 addl %r12d,%edx 3969 xorl %edi,%esi 3970 addl -24(%r13),%ecx 3971 andnl %ebp,%edx,%edi 3972 addl %esi,%ecx 3973 rorxl $27,%edx,%r12d 3974 rorxl $2,%edx,%esi 3975 andl %eax,%edx 3976 addl %r12d,%ecx 3977 xorl %edi,%edx 3978 vpalignr $8,%ymm1,%ymm2,%ymm8 3979 vpxor %ymm7,%ymm3,%ymm3 3980 addl -20(%r13),%ebx 3981 andnl %eax,%ecx,%edi 3982 vpxor %ymm4,%ymm3,%ymm3 3983 addl %edx,%ebx 3984 rorxl $27,%ecx,%r12d 3985 rorxl $2,%ecx,%edx 3986 vpxor %ymm8,%ymm3,%ymm3 3987 andl %esi,%ecx 3988 addl %r12d,%ebx 3989 xorl %edi,%ecx 3990 vpsrld $30,%ymm3,%ymm8 3991 vpslld $2,%ymm3,%ymm3 3992 addl 0(%r13),%ebp 3993 andnl %esi,%ebx,%edi 3994 addl %ecx,%ebp 3995 rorxl $27,%ebx,%r12d 3996 rorxl $2,%ebx,%ecx 3997 andl %edx,%ebx 3998 vpor %ymm8,%ymm3,%ymm3 3999 addl %r12d,%ebp 4000 xorl %edi,%ebx 4001 addl 4(%r13),%eax 4002 andnl %edx,%ebp,%edi 4003 vpaddd %ymm11,%ymm3,%ymm9 4004 addl %ebx,%eax 4005 rorxl $27,%ebp,%r12d 4006 rorxl $2,%ebp,%ebx 4007 andl %ecx,%ebp 4008 vmovdqu %ymm9,352(%rsp) 4009 addl %r12d,%eax 4010 xorl %edi,%ebp 4011 addl 8(%r13),%esi 4012 andnl %ecx,%eax,%edi 4013 addl %ebp,%esi 4014 rorxl $27,%eax,%r12d 4015 rorxl $2,%eax,%ebp 4016 andl %ebx,%eax 4017 addl %r12d,%esi 4018 xorl %edi,%eax 4019 addl 12(%r13),%edx 4020 leal (%rdx,%rax,1),%edx 4021 rorxl $27,%esi,%r12d 4022 rorxl $2,%esi,%eax 4023 xorl %ebp,%esi 4024 addl %r12d,%edx 4025 xorl %ebx,%esi 4026 vpalignr $8,%ymm2,%ymm3,%ymm8 4027 vpxor %ymm0,%ymm4,%ymm4 4028 addl 32(%r13),%ecx 4029 leal (%rcx,%rsi,1),%ecx 4030 vpxor %ymm5,%ymm4,%ymm4 4031 rorxl $27,%edx,%r12d 4032 rorxl $2,%edx,%esi 4033 xorl %eax,%edx 4034 vpxor %ymm8,%ymm4,%ymm4 4035 addl %r12d,%ecx 4036 xorl %ebp,%edx 4037 addl 36(%r13),%ebx 4038 vpsrld $30,%ymm4,%ymm8 4039 vpslld $2,%ymm4,%ymm4 4040 leal (%rbx,%rdx,1),%ebx 4041 rorxl $27,%ecx,%r12d 4042 rorxl $2,%ecx,%edx 4043 xorl %esi,%ecx 4044 addl %r12d,%ebx 4045 xorl %eax,%ecx 4046 vpor %ymm8,%ymm4,%ymm4 4047 addl 40(%r13),%ebp 4048 leal (%rcx,%rbp,1),%ebp 4049 rorxl $27,%ebx,%r12d 4050 rorxl $2,%ebx,%ecx 4051 vpaddd %ymm11,%ymm4,%ymm9 4052 xorl %edx,%ebx 4053 addl %r12d,%ebp 4054 xorl %esi,%ebx 4055 addl 44(%r13),%eax 4056 vmovdqu %ymm9,384(%rsp) 4057 leal (%rax,%rbx,1),%eax 4058 rorxl $27,%ebp,%r12d 4059 rorxl $2,%ebp,%ebx 4060 xorl %ecx,%ebp 4061 addl %r12d,%eax 4062 xorl %edx,%ebp 4063 addl 64(%r13),%esi 4064 leal (%rsi,%rbp,1),%esi 4065 rorxl $27,%eax,%r12d 4066 rorxl $2,%eax,%ebp 4067 xorl %ebx,%eax 4068 addl %r12d,%esi 4069 xorl %ecx,%eax 4070 vpalignr $8,%ymm3,%ymm4,%ymm8 4071 vpxor %ymm1,%ymm5,%ymm5 4072 addl 68(%r13),%edx 4073 leal (%rdx,%rax,1),%edx 4074 vpxor %ymm6,%ymm5,%ymm5 4075 rorxl $27,%esi,%r12d 4076 rorxl $2,%esi,%eax 4077 xorl %ebp,%esi 4078 vpxor %ymm8,%ymm5,%ymm5 4079 addl %r12d,%edx 4080 xorl %ebx,%esi 4081 addl 72(%r13),%ecx 4082 vpsrld $30,%ymm5,%ymm8 4083 vpslld $2,%ymm5,%ymm5 4084 leal (%rcx,%rsi,1),%ecx 4085 rorxl $27,%edx,%r12d 4086 rorxl $2,%edx,%esi 4087 xorl %eax,%edx 4088 addl %r12d,%ecx 4089 xorl %ebp,%edx 4090 vpor %ymm8,%ymm5,%ymm5 4091 addl 76(%r13),%ebx 4092 leal (%rbx,%rdx,1),%ebx 4093 rorxl $27,%ecx,%r12d 4094 rorxl $2,%ecx,%edx 4095 vpaddd %ymm11,%ymm5,%ymm9 4096 xorl %esi,%ecx 4097 addl %r12d,%ebx 4098 xorl %eax,%ecx 4099 addl 96(%r13),%ebp 4100 vmovdqu %ymm9,416(%rsp) 4101 leal (%rcx,%rbp,1),%ebp 4102 rorxl $27,%ebx,%r12d 4103 rorxl $2,%ebx,%ecx 4104 xorl %edx,%ebx 4105 addl %r12d,%ebp 4106 xorl %esi,%ebx 4107 addl 100(%r13),%eax 4108 leal (%rax,%rbx,1),%eax 4109 rorxl $27,%ebp,%r12d 4110 rorxl $2,%ebp,%ebx 4111 xorl %ecx,%ebp 4112 addl %r12d,%eax 4113 xorl %edx,%ebp 4114 vpalignr $8,%ymm4,%ymm5,%ymm8 4115 vpxor %ymm2,%ymm6,%ymm6 4116 addl 104(%r13),%esi 4117 leal (%rsi,%rbp,1),%esi 4118 vpxor %ymm7,%ymm6,%ymm6 4119 rorxl $27,%eax,%r12d 4120 rorxl $2,%eax,%ebp 4121 xorl %ebx,%eax 4122 vpxor %ymm8,%ymm6,%ymm6 4123 addl %r12d,%esi 4124 xorl %ecx,%eax 4125 addl 108(%r13),%edx 4126 leaq 256(%r13),%r13 4127 vpsrld $30,%ymm6,%ymm8 4128 vpslld $2,%ymm6,%ymm6 4129 leal (%rdx,%rax,1),%edx 4130 rorxl $27,%esi,%r12d 4131 rorxl $2,%esi,%eax 4132 xorl %ebp,%esi 4133 addl %r12d,%edx 4134 xorl %ebx,%esi 4135 vpor %ymm8,%ymm6,%ymm6 4136 addl -128(%r13),%ecx 4137 leal (%rcx,%rsi,1),%ecx 4138 rorxl $27,%edx,%r12d 4139 rorxl $2,%edx,%esi 4140 vpaddd %ymm11,%ymm6,%ymm9 4141 xorl %eax,%edx 4142 addl %r12d,%ecx 4143 xorl %ebp,%edx 4144 addl -124(%r13),%ebx 4145 vmovdqu %ymm9,448(%rsp) 4146 leal (%rbx,%rdx,1),%ebx 4147 rorxl $27,%ecx,%r12d 4148 rorxl $2,%ecx,%edx 4149 xorl %esi,%ecx 4150 addl %r12d,%ebx 4151 xorl %eax,%ecx 4152 addl -120(%r13),%ebp 4153 leal (%rcx,%rbp,1),%ebp 4154 rorxl $27,%ebx,%r12d 4155 rorxl $2,%ebx,%ecx 4156 xorl %edx,%ebx 4157 addl %r12d,%ebp 4158 xorl %esi,%ebx 4159 vpalignr $8,%ymm5,%ymm6,%ymm8 4160 vpxor %ymm3,%ymm7,%ymm7 4161 addl -116(%r13),%eax 4162 leal (%rax,%rbx,1),%eax 4163 vpxor %ymm0,%ymm7,%ymm7 4164 vmovdqu 32(%r11),%ymm11 4165 rorxl $27,%ebp,%r12d 4166 rorxl $2,%ebp,%ebx 4167 xorl %ecx,%ebp 4168 vpxor %ymm8,%ymm7,%ymm7 4169 addl %r12d,%eax 4170 xorl %edx,%ebp 4171 addl -96(%r13),%esi 4172 vpsrld $30,%ymm7,%ymm8 4173 vpslld $2,%ymm7,%ymm7 4174 leal (%rsi,%rbp,1),%esi 4175 rorxl $27,%eax,%r12d 4176 rorxl $2,%eax,%ebp 4177 xorl %ebx,%eax 4178 addl %r12d,%esi 4179 xorl %ecx,%eax 4180 vpor %ymm8,%ymm7,%ymm7 4181 addl -92(%r13),%edx 4182 leal (%rdx,%rax,1),%edx 4183 rorxl $27,%esi,%r12d 4184 rorxl $2,%esi,%eax 4185 vpaddd %ymm11,%ymm7,%ymm9 4186 xorl %ebp,%esi 4187 addl %r12d,%edx 4188 xorl %ebx,%esi 4189 addl -88(%r13),%ecx 4190 vmovdqu %ymm9,480(%rsp) 4191 leal (%rcx,%rsi,1),%ecx 4192 rorxl $27,%edx,%r12d 4193 rorxl $2,%edx,%esi 4194 xorl %eax,%edx 4195 addl %r12d,%ecx 4196 xorl %ebp,%edx 4197 addl -84(%r13),%ebx 4198 movl %esi,%edi 4199 xorl %eax,%edi 4200 leal (%rbx,%rdx,1),%ebx 4201 rorxl $27,%ecx,%r12d 4202 rorxl $2,%ecx,%edx 4203 xorl %esi,%ecx 4204 addl %r12d,%ebx 4205 andl %edi,%ecx 4206 jmp .Lalign32_2 4207.align 32 4208.Lalign32_2: 4209 vpalignr $8,%ymm6,%ymm7,%ymm8 4210 vpxor %ymm4,%ymm0,%ymm0 4211 addl -64(%r13),%ebp 4212 xorl %esi,%ecx 4213 vpxor %ymm1,%ymm0,%ymm0 4214 movl %edx,%edi 4215 xorl %esi,%edi 4216 leal (%rcx,%rbp,1),%ebp 4217 vpxor %ymm8,%ymm0,%ymm0 4218 rorxl $27,%ebx,%r12d 4219 rorxl $2,%ebx,%ecx 4220 xorl %edx,%ebx 4221 vpsrld $30,%ymm0,%ymm8 4222 vpslld $2,%ymm0,%ymm0 4223 addl %r12d,%ebp 4224 andl %edi,%ebx 4225 addl -60(%r13),%eax 4226 xorl %edx,%ebx 4227 movl %ecx,%edi 4228 xorl %edx,%edi 4229 vpor %ymm8,%ymm0,%ymm0 4230 leal (%rax,%rbx,1),%eax 4231 rorxl $27,%ebp,%r12d 4232 rorxl $2,%ebp,%ebx 4233 xorl %ecx,%ebp 4234 vpaddd %ymm11,%ymm0,%ymm9 4235 addl %r12d,%eax 4236 andl %edi,%ebp 4237 addl -56(%r13),%esi 4238 xorl %ecx,%ebp 4239 vmovdqu %ymm9,512(%rsp) 4240 movl %ebx,%edi 4241 xorl %ecx,%edi 4242 leal (%rsi,%rbp,1),%esi 4243 rorxl $27,%eax,%r12d 4244 rorxl $2,%eax,%ebp 4245 xorl %ebx,%eax 4246 addl %r12d,%esi 4247 andl %edi,%eax 4248 addl -52(%r13),%edx 4249 xorl %ebx,%eax 4250 movl %ebp,%edi 4251 xorl %ebx,%edi 4252 leal (%rdx,%rax,1),%edx 4253 rorxl $27,%esi,%r12d 4254 rorxl $2,%esi,%eax 4255 xorl %ebp,%esi 4256 addl %r12d,%edx 4257 andl %edi,%esi 4258 addl -32(%r13),%ecx 4259 xorl %ebp,%esi 4260 movl %eax,%edi 4261 xorl %ebp,%edi 4262 leal (%rcx,%rsi,1),%ecx 4263 rorxl $27,%edx,%r12d 4264 rorxl $2,%edx,%esi 4265 xorl %eax,%edx 4266 addl %r12d,%ecx 4267 andl %edi,%edx 4268 vpalignr $8,%ymm7,%ymm0,%ymm8 4269 vpxor %ymm5,%ymm1,%ymm1 4270 addl -28(%r13),%ebx 4271 xorl %eax,%edx 4272 vpxor %ymm2,%ymm1,%ymm1 4273 movl %esi,%edi 4274 xorl %eax,%edi 4275 leal (%rbx,%rdx,1),%ebx 4276 vpxor %ymm8,%ymm1,%ymm1 4277 rorxl $27,%ecx,%r12d 4278 rorxl $2,%ecx,%edx 4279 xorl %esi,%ecx 4280 vpsrld $30,%ymm1,%ymm8 4281 vpslld $2,%ymm1,%ymm1 4282 addl %r12d,%ebx 4283 andl %edi,%ecx 4284 addl -24(%r13),%ebp 4285 xorl %esi,%ecx 4286 movl %edx,%edi 4287 xorl %esi,%edi 4288 vpor %ymm8,%ymm1,%ymm1 4289 leal (%rcx,%rbp,1),%ebp 4290 rorxl $27,%ebx,%r12d 4291 rorxl $2,%ebx,%ecx 4292 xorl %edx,%ebx 4293 vpaddd %ymm11,%ymm1,%ymm9 4294 addl %r12d,%ebp 4295 andl %edi,%ebx 4296 addl -20(%r13),%eax 4297 xorl %edx,%ebx 4298 vmovdqu %ymm9,544(%rsp) 4299 movl %ecx,%edi 4300 xorl %edx,%edi 4301 leal (%rax,%rbx,1),%eax 4302 rorxl $27,%ebp,%r12d 4303 rorxl $2,%ebp,%ebx 4304 xorl %ecx,%ebp 4305 addl %r12d,%eax 4306 andl %edi,%ebp 4307 addl 0(%r13),%esi 4308 xorl %ecx,%ebp 4309 movl %ebx,%edi 4310 xorl %ecx,%edi 4311 leal (%rsi,%rbp,1),%esi 4312 rorxl $27,%eax,%r12d 4313 rorxl $2,%eax,%ebp 4314 xorl %ebx,%eax 4315 addl %r12d,%esi 4316 andl %edi,%eax 4317 addl 4(%r13),%edx 4318 xorl %ebx,%eax 4319 movl %ebp,%edi 4320 xorl %ebx,%edi 4321 leal (%rdx,%rax,1),%edx 4322 rorxl $27,%esi,%r12d 4323 rorxl $2,%esi,%eax 4324 xorl %ebp,%esi 4325 addl %r12d,%edx 4326 andl %edi,%esi 4327 vpalignr $8,%ymm0,%ymm1,%ymm8 4328 vpxor %ymm6,%ymm2,%ymm2 4329 addl 8(%r13),%ecx 4330 xorl %ebp,%esi 4331 vpxor %ymm3,%ymm2,%ymm2 4332 movl %eax,%edi 4333 xorl %ebp,%edi 4334 leal (%rcx,%rsi,1),%ecx 4335 vpxor %ymm8,%ymm2,%ymm2 4336 rorxl $27,%edx,%r12d 4337 rorxl $2,%edx,%esi 4338 xorl %eax,%edx 4339 vpsrld $30,%ymm2,%ymm8 4340 vpslld $2,%ymm2,%ymm2 4341 addl %r12d,%ecx 4342 andl %edi,%edx 4343 addl 12(%r13),%ebx 4344 xorl %eax,%edx 4345 movl %esi,%edi 4346 xorl %eax,%edi 4347 vpor %ymm8,%ymm2,%ymm2 4348 leal (%rbx,%rdx,1),%ebx 4349 rorxl $27,%ecx,%r12d 4350 rorxl $2,%ecx,%edx 4351 xorl %esi,%ecx 4352 vpaddd %ymm11,%ymm2,%ymm9 4353 addl %r12d,%ebx 4354 andl %edi,%ecx 4355 addl 32(%r13),%ebp 4356 xorl %esi,%ecx 4357 vmovdqu %ymm9,576(%rsp) 4358 movl %edx,%edi 4359 xorl %esi,%edi 4360 leal (%rcx,%rbp,1),%ebp 4361 rorxl $27,%ebx,%r12d 4362 rorxl $2,%ebx,%ecx 4363 xorl %edx,%ebx 4364 addl %r12d,%ebp 4365 andl %edi,%ebx 4366 addl 36(%r13),%eax 4367 xorl %edx,%ebx 4368 movl %ecx,%edi 4369 xorl %edx,%edi 4370 leal (%rax,%rbx,1),%eax 4371 rorxl $27,%ebp,%r12d 4372 rorxl $2,%ebp,%ebx 4373 xorl %ecx,%ebp 4374 addl %r12d,%eax 4375 andl %edi,%ebp 4376 addl 40(%r13),%esi 4377 xorl %ecx,%ebp 4378 movl %ebx,%edi 4379 xorl %ecx,%edi 4380 leal (%rsi,%rbp,1),%esi 4381 rorxl $27,%eax,%r12d 4382 rorxl $2,%eax,%ebp 4383 xorl %ebx,%eax 4384 addl %r12d,%esi 4385 andl %edi,%eax 4386 vpalignr $8,%ymm1,%ymm2,%ymm8 4387 vpxor %ymm7,%ymm3,%ymm3 4388 addl 44(%r13),%edx 4389 xorl %ebx,%eax 4390 vpxor %ymm4,%ymm3,%ymm3 4391 movl %ebp,%edi 4392 xorl %ebx,%edi 4393 leal (%rdx,%rax,1),%edx 4394 vpxor %ymm8,%ymm3,%ymm3 4395 rorxl $27,%esi,%r12d 4396 rorxl $2,%esi,%eax 4397 xorl %ebp,%esi 4398 vpsrld $30,%ymm3,%ymm8 4399 vpslld $2,%ymm3,%ymm3 4400 addl %r12d,%edx 4401 andl %edi,%esi 4402 addl 64(%r13),%ecx 4403 xorl %ebp,%esi 4404 movl %eax,%edi 4405 xorl %ebp,%edi 4406 vpor %ymm8,%ymm3,%ymm3 4407 leal (%rcx,%rsi,1),%ecx 4408 rorxl $27,%edx,%r12d 4409 rorxl $2,%edx,%esi 4410 xorl %eax,%edx 4411 vpaddd %ymm11,%ymm3,%ymm9 4412 addl %r12d,%ecx 4413 andl %edi,%edx 4414 addl 68(%r13),%ebx 4415 xorl %eax,%edx 4416 vmovdqu %ymm9,608(%rsp) 4417 movl %esi,%edi 4418 xorl %eax,%edi 4419 leal (%rbx,%rdx,1),%ebx 4420 rorxl $27,%ecx,%r12d 4421 rorxl $2,%ecx,%edx 4422 xorl %esi,%ecx 4423 addl %r12d,%ebx 4424 andl %edi,%ecx 4425 addl 72(%r13),%ebp 4426 xorl %esi,%ecx 4427 movl %edx,%edi 4428 xorl %esi,%edi 4429 leal (%rcx,%rbp,1),%ebp 4430 rorxl $27,%ebx,%r12d 4431 rorxl $2,%ebx,%ecx 4432 xorl %edx,%ebx 4433 addl %r12d,%ebp 4434 andl %edi,%ebx 4435 addl 76(%r13),%eax 4436 xorl %edx,%ebx 4437 leal (%rax,%rbx,1),%eax 4438 rorxl $27,%ebp,%r12d 4439 rorxl $2,%ebp,%ebx 4440 xorl %ecx,%ebp 4441 addl %r12d,%eax 4442 xorl %edx,%ebp 4443 addl 96(%r13),%esi 4444 leal (%rsi,%rbp,1),%esi 4445 rorxl $27,%eax,%r12d 4446 rorxl $2,%eax,%ebp 4447 xorl %ebx,%eax 4448 addl %r12d,%esi 4449 xorl %ecx,%eax 4450 addl 100(%r13),%edx 4451 leal (%rdx,%rax,1),%edx 4452 rorxl $27,%esi,%r12d 4453 rorxl $2,%esi,%eax 4454 xorl %ebp,%esi 4455 addl %r12d,%edx 4456 xorl %ebx,%esi 4457 addl 104(%r13),%ecx 4458 leal (%rcx,%rsi,1),%ecx 4459 rorxl $27,%edx,%r12d 4460 rorxl $2,%edx,%esi 4461 xorl %eax,%edx 4462 addl %r12d,%ecx 4463 xorl %ebp,%edx 4464 addl 108(%r13),%ebx 4465 leaq 256(%r13),%r13 4466 leal (%rbx,%rdx,1),%ebx 4467 rorxl $27,%ecx,%r12d 4468 rorxl $2,%ecx,%edx 4469 xorl %esi,%ecx 4470 addl %r12d,%ebx 4471 xorl %eax,%ecx 4472 addl -128(%r13),%ebp 4473 leal (%rcx,%rbp,1),%ebp 4474 rorxl $27,%ebx,%r12d 4475 rorxl $2,%ebx,%ecx 4476 xorl %edx,%ebx 4477 addl %r12d,%ebp 4478 xorl %esi,%ebx 4479 addl -124(%r13),%eax 4480 leal (%rax,%rbx,1),%eax 4481 rorxl $27,%ebp,%r12d 4482 rorxl $2,%ebp,%ebx 4483 xorl %ecx,%ebp 4484 addl %r12d,%eax 4485 xorl %edx,%ebp 4486 addl -120(%r13),%esi 4487 leal (%rsi,%rbp,1),%esi 4488 rorxl $27,%eax,%r12d 4489 rorxl $2,%eax,%ebp 4490 xorl %ebx,%eax 4491 addl %r12d,%esi 4492 xorl %ecx,%eax 4493 addl -116(%r13),%edx 4494 leal (%rdx,%rax,1),%edx 4495 rorxl $27,%esi,%r12d 4496 rorxl $2,%esi,%eax 4497 xorl %ebp,%esi 4498 addl %r12d,%edx 4499 xorl %ebx,%esi 4500 addl -96(%r13),%ecx 4501 leal (%rcx,%rsi,1),%ecx 4502 rorxl $27,%edx,%r12d 4503 rorxl $2,%edx,%esi 4504 xorl %eax,%edx 4505 addl %r12d,%ecx 4506 xorl %ebp,%edx 4507 addl -92(%r13),%ebx 4508 leal (%rbx,%rdx,1),%ebx 4509 rorxl $27,%ecx,%r12d 4510 rorxl $2,%ecx,%edx 4511 xorl %esi,%ecx 4512 addl %r12d,%ebx 4513 xorl %eax,%ecx 4514 addl -88(%r13),%ebp 4515 leal (%rcx,%rbp,1),%ebp 4516 rorxl $27,%ebx,%r12d 4517 rorxl $2,%ebx,%ecx 4518 xorl %edx,%ebx 4519 addl %r12d,%ebp 4520 xorl %esi,%ebx 4521 addl -84(%r13),%eax 4522 leal (%rax,%rbx,1),%eax 4523 rorxl $27,%ebp,%r12d 4524 rorxl $2,%ebp,%ebx 4525 xorl %ecx,%ebp 4526 addl %r12d,%eax 4527 xorl %edx,%ebp 4528 addl -64(%r13),%esi 4529 leal (%rsi,%rbp,1),%esi 4530 rorxl $27,%eax,%r12d 4531 rorxl $2,%eax,%ebp 4532 xorl %ebx,%eax 4533 addl %r12d,%esi 4534 xorl %ecx,%eax 4535 addl -60(%r13),%edx 4536 leal (%rdx,%rax,1),%edx 4537 rorxl $27,%esi,%r12d 4538 rorxl $2,%esi,%eax 4539 xorl %ebp,%esi 4540 addl %r12d,%edx 4541 xorl %ebx,%esi 4542 addl -56(%r13),%ecx 4543 leal (%rcx,%rsi,1),%ecx 4544 rorxl $27,%edx,%r12d 4545 rorxl $2,%edx,%esi 4546 xorl %eax,%edx 4547 addl %r12d,%ecx 4548 xorl %ebp,%edx 4549 addl -52(%r13),%ebx 4550 leal (%rbx,%rdx,1),%ebx 4551 rorxl $27,%ecx,%r12d 4552 rorxl $2,%ecx,%edx 4553 xorl %esi,%ecx 4554 addl %r12d,%ebx 4555 xorl %eax,%ecx 4556 addl -32(%r13),%ebp 4557 leal (%rcx,%rbp,1),%ebp 4558 rorxl $27,%ebx,%r12d 4559 rorxl $2,%ebx,%ecx 4560 xorl %edx,%ebx 4561 addl %r12d,%ebp 4562 xorl %esi,%ebx 4563 addl -28(%r13),%eax 4564 leal (%rax,%rbx,1),%eax 4565 rorxl $27,%ebp,%r12d 4566 rorxl $2,%ebp,%ebx 4567 xorl %ecx,%ebp 4568 addl %r12d,%eax 4569 xorl %edx,%ebp 4570 addl -24(%r13),%esi 4571 leal (%rsi,%rbp,1),%esi 4572 rorxl $27,%eax,%r12d 4573 rorxl $2,%eax,%ebp 4574 xorl %ebx,%eax 4575 addl %r12d,%esi 4576 xorl %ecx,%eax 4577 addl -20(%r13),%edx 4578 leal (%rdx,%rax,1),%edx 4579 rorxl $27,%esi,%r12d 4580 addl %r12d,%edx 4581 leaq 128(%r9),%r13 4582 leaq 128(%r9),%rdi 4583 cmpq %r10,%r13 4584 cmovaeq %r9,%r13 4585 4586 4587 addl 0(%r8),%edx 4588 addl 4(%r8),%esi 4589 addl 8(%r8),%ebp 4590 movl %edx,0(%r8) 4591 addl 12(%r8),%ebx 4592 movl %esi,4(%r8) 4593 movl %edx,%eax 4594 addl 16(%r8),%ecx 4595 movl %ebp,%r12d 4596 movl %ebp,8(%r8) 4597 movl %ebx,%edx 4598 4599 movl %ebx,12(%r8) 4600 movl %esi,%ebp 4601 movl %ecx,16(%r8) 4602 4603 movl %ecx,%esi 4604 movl %r12d,%ecx 4605 4606 4607 cmpq %r10,%r9 4608 je .Ldone_avx2 4609 vmovdqu 64(%r11),%ymm6 4610 cmpq %r10,%rdi 4611 ja .Last_avx2 4612 4613 vmovdqu -64(%rdi),%xmm0 4614 vmovdqu -48(%rdi),%xmm1 4615 vmovdqu -32(%rdi),%xmm2 4616 vmovdqu -16(%rdi),%xmm3 4617 vinserti128 $1,0(%r13),%ymm0,%ymm0 4618 vinserti128 $1,16(%r13),%ymm1,%ymm1 4619 vinserti128 $1,32(%r13),%ymm2,%ymm2 4620 vinserti128 $1,48(%r13),%ymm3,%ymm3 4621 jmp .Last_avx2 4622 4623.align 32 4624.Last_avx2: 4625 leaq 128+16(%rsp),%r13 4626 rorxl $2,%ebp,%ebx 4627 andnl %edx,%ebp,%edi 4628 andl %ecx,%ebp 4629 xorl %edi,%ebp 4630 subq $-128,%r9 4631 addl -128(%r13),%esi 4632 andnl %ecx,%eax,%edi 4633 addl %ebp,%esi 4634 rorxl $27,%eax,%r12d 4635 rorxl $2,%eax,%ebp 4636 andl %ebx,%eax 4637 addl %r12d,%esi 4638 xorl %edi,%eax 4639 addl -124(%r13),%edx 4640 andnl %ebx,%esi,%edi 4641 addl %eax,%edx 4642 rorxl $27,%esi,%r12d 4643 rorxl $2,%esi,%eax 4644 andl %ebp,%esi 4645 addl %r12d,%edx 4646 xorl %edi,%esi 4647 addl -120(%r13),%ecx 4648 andnl %ebp,%edx,%edi 4649 addl %esi,%ecx 4650 rorxl $27,%edx,%r12d 4651 rorxl $2,%edx,%esi 4652 andl %eax,%edx 4653 addl %r12d,%ecx 4654 xorl %edi,%edx 4655 addl -116(%r13),%ebx 4656 andnl %eax,%ecx,%edi 4657 addl %edx,%ebx 4658 rorxl $27,%ecx,%r12d 4659 rorxl $2,%ecx,%edx 4660 andl %esi,%ecx 4661 addl %r12d,%ebx 4662 xorl %edi,%ecx 4663 addl -96(%r13),%ebp 4664 andnl %esi,%ebx,%edi 4665 addl %ecx,%ebp 4666 rorxl $27,%ebx,%r12d 4667 rorxl $2,%ebx,%ecx 4668 andl %edx,%ebx 4669 addl %r12d,%ebp 4670 xorl %edi,%ebx 4671 addl -92(%r13),%eax 4672 andnl %edx,%ebp,%edi 4673 addl %ebx,%eax 4674 rorxl $27,%ebp,%r12d 4675 rorxl $2,%ebp,%ebx 4676 andl %ecx,%ebp 4677 addl %r12d,%eax 4678 xorl %edi,%ebp 4679 addl -88(%r13),%esi 4680 andnl %ecx,%eax,%edi 4681 addl %ebp,%esi 4682 rorxl $27,%eax,%r12d 4683 rorxl $2,%eax,%ebp 4684 andl %ebx,%eax 4685 addl %r12d,%esi 4686 xorl %edi,%eax 4687 addl -84(%r13),%edx 4688 andnl %ebx,%esi,%edi 4689 addl %eax,%edx 4690 rorxl $27,%esi,%r12d 4691 rorxl $2,%esi,%eax 4692 andl %ebp,%esi 4693 addl %r12d,%edx 4694 xorl %edi,%esi 4695 addl -64(%r13),%ecx 4696 andnl %ebp,%edx,%edi 4697 addl %esi,%ecx 4698 rorxl $27,%edx,%r12d 4699 rorxl $2,%edx,%esi 4700 andl %eax,%edx 4701 addl %r12d,%ecx 4702 xorl %edi,%edx 4703 addl -60(%r13),%ebx 4704 andnl %eax,%ecx,%edi 4705 addl %edx,%ebx 4706 rorxl $27,%ecx,%r12d 4707 rorxl $2,%ecx,%edx 4708 andl %esi,%ecx 4709 addl %r12d,%ebx 4710 xorl %edi,%ecx 4711 addl -56(%r13),%ebp 4712 andnl %esi,%ebx,%edi 4713 addl %ecx,%ebp 4714 rorxl $27,%ebx,%r12d 4715 rorxl $2,%ebx,%ecx 4716 andl %edx,%ebx 4717 addl %r12d,%ebp 4718 xorl %edi,%ebx 4719 addl -52(%r13),%eax 4720 andnl %edx,%ebp,%edi 4721 addl %ebx,%eax 4722 rorxl $27,%ebp,%r12d 4723 rorxl $2,%ebp,%ebx 4724 andl %ecx,%ebp 4725 addl %r12d,%eax 4726 xorl %edi,%ebp 4727 addl -32(%r13),%esi 4728 andnl %ecx,%eax,%edi 4729 addl %ebp,%esi 4730 rorxl $27,%eax,%r12d 4731 rorxl $2,%eax,%ebp 4732 andl %ebx,%eax 4733 addl %r12d,%esi 4734 xorl %edi,%eax 4735 addl -28(%r13),%edx 4736 andnl %ebx,%esi,%edi 4737 addl %eax,%edx 4738 rorxl $27,%esi,%r12d 4739 rorxl $2,%esi,%eax 4740 andl %ebp,%esi 4741 addl %r12d,%edx 4742 xorl %edi,%esi 4743 addl -24(%r13),%ecx 4744 andnl %ebp,%edx,%edi 4745 addl %esi,%ecx 4746 rorxl $27,%edx,%r12d 4747 rorxl $2,%edx,%esi 4748 andl %eax,%edx 4749 addl %r12d,%ecx 4750 xorl %edi,%edx 4751 addl -20(%r13),%ebx 4752 andnl %eax,%ecx,%edi 4753 addl %edx,%ebx 4754 rorxl $27,%ecx,%r12d 4755 rorxl $2,%ecx,%edx 4756 andl %esi,%ecx 4757 addl %r12d,%ebx 4758 xorl %edi,%ecx 4759 addl 0(%r13),%ebp 4760 andnl %esi,%ebx,%edi 4761 addl %ecx,%ebp 4762 rorxl $27,%ebx,%r12d 4763 rorxl $2,%ebx,%ecx 4764 andl %edx,%ebx 4765 addl %r12d,%ebp 4766 xorl %edi,%ebx 4767 addl 4(%r13),%eax 4768 andnl %edx,%ebp,%edi 4769 addl %ebx,%eax 4770 rorxl $27,%ebp,%r12d 4771 rorxl $2,%ebp,%ebx 4772 andl %ecx,%ebp 4773 addl %r12d,%eax 4774 xorl %edi,%ebp 4775 addl 8(%r13),%esi 4776 andnl %ecx,%eax,%edi 4777 addl %ebp,%esi 4778 rorxl $27,%eax,%r12d 4779 rorxl $2,%eax,%ebp 4780 andl %ebx,%eax 4781 addl %r12d,%esi 4782 xorl %edi,%eax 4783 addl 12(%r13),%edx 4784 leal (%rdx,%rax,1),%edx 4785 rorxl $27,%esi,%r12d 4786 rorxl $2,%esi,%eax 4787 xorl %ebp,%esi 4788 addl %r12d,%edx 4789 xorl %ebx,%esi 4790 addl 32(%r13),%ecx 4791 leal (%rcx,%rsi,1),%ecx 4792 rorxl $27,%edx,%r12d 4793 rorxl $2,%edx,%esi 4794 xorl %eax,%edx 4795 addl %r12d,%ecx 4796 xorl %ebp,%edx 4797 addl 36(%r13),%ebx 4798 leal (%rbx,%rdx,1),%ebx 4799 rorxl $27,%ecx,%r12d 4800 rorxl $2,%ecx,%edx 4801 xorl %esi,%ecx 4802 addl %r12d,%ebx 4803 xorl %eax,%ecx 4804 addl 40(%r13),%ebp 4805 leal (%rcx,%rbp,1),%ebp 4806 rorxl $27,%ebx,%r12d 4807 rorxl $2,%ebx,%ecx 4808 xorl %edx,%ebx 4809 addl %r12d,%ebp 4810 xorl %esi,%ebx 4811 addl 44(%r13),%eax 4812 leal (%rax,%rbx,1),%eax 4813 rorxl $27,%ebp,%r12d 4814 rorxl $2,%ebp,%ebx 4815 xorl %ecx,%ebp 4816 addl %r12d,%eax 4817 xorl %edx,%ebp 4818 addl 64(%r13),%esi 4819 leal (%rsi,%rbp,1),%esi 4820 rorxl $27,%eax,%r12d 4821 rorxl $2,%eax,%ebp 4822 xorl %ebx,%eax 4823 addl %r12d,%esi 4824 xorl %ecx,%eax 4825 vmovdqu -64(%r11),%ymm11 4826 vpshufb %ymm6,%ymm0,%ymm0 4827 addl 68(%r13),%edx 4828 leal (%rdx,%rax,1),%edx 4829 rorxl $27,%esi,%r12d 4830 rorxl $2,%esi,%eax 4831 xorl %ebp,%esi 4832 addl %r12d,%edx 4833 xorl %ebx,%esi 4834 addl 72(%r13),%ecx 4835 leal (%rcx,%rsi,1),%ecx 4836 rorxl $27,%edx,%r12d 4837 rorxl $2,%edx,%esi 4838 xorl %eax,%edx 4839 addl %r12d,%ecx 4840 xorl %ebp,%edx 4841 addl 76(%r13),%ebx 4842 leal (%rbx,%rdx,1),%ebx 4843 rorxl $27,%ecx,%r12d 4844 rorxl $2,%ecx,%edx 4845 xorl %esi,%ecx 4846 addl %r12d,%ebx 4847 xorl %eax,%ecx 4848 addl 96(%r13),%ebp 4849 leal (%rcx,%rbp,1),%ebp 4850 rorxl $27,%ebx,%r12d 4851 rorxl $2,%ebx,%ecx 4852 xorl %edx,%ebx 4853 addl %r12d,%ebp 4854 xorl %esi,%ebx 4855 addl 100(%r13),%eax 4856 leal (%rax,%rbx,1),%eax 4857 rorxl $27,%ebp,%r12d 4858 rorxl $2,%ebp,%ebx 4859 xorl %ecx,%ebp 4860 addl %r12d,%eax 4861 xorl %edx,%ebp 4862 vpshufb %ymm6,%ymm1,%ymm1 4863 vpaddd %ymm11,%ymm0,%ymm8 4864 addl 104(%r13),%esi 4865 leal (%rsi,%rbp,1),%esi 4866 rorxl $27,%eax,%r12d 4867 rorxl $2,%eax,%ebp 4868 xorl %ebx,%eax 4869 addl %r12d,%esi 4870 xorl %ecx,%eax 4871 addl 108(%r13),%edx 4872 leaq 256(%r13),%r13 4873 leal (%rdx,%rax,1),%edx 4874 rorxl $27,%esi,%r12d 4875 rorxl $2,%esi,%eax 4876 xorl %ebp,%esi 4877 addl %r12d,%edx 4878 xorl %ebx,%esi 4879 addl -128(%r13),%ecx 4880 leal (%rcx,%rsi,1),%ecx 4881 rorxl $27,%edx,%r12d 4882 rorxl $2,%edx,%esi 4883 xorl %eax,%edx 4884 addl %r12d,%ecx 4885 xorl %ebp,%edx 4886 addl -124(%r13),%ebx 4887 leal (%rbx,%rdx,1),%ebx 4888 rorxl $27,%ecx,%r12d 4889 rorxl $2,%ecx,%edx 4890 xorl %esi,%ecx 4891 addl %r12d,%ebx 4892 xorl %eax,%ecx 4893 addl -120(%r13),%ebp 4894 leal (%rcx,%rbp,1),%ebp 4895 rorxl $27,%ebx,%r12d 4896 rorxl $2,%ebx,%ecx 4897 xorl %edx,%ebx 4898 addl %r12d,%ebp 4899 xorl %esi,%ebx 4900 vmovdqu %ymm8,0(%rsp) 4901 vpshufb %ymm6,%ymm2,%ymm2 4902 vpaddd %ymm11,%ymm1,%ymm9 4903 addl -116(%r13),%eax 4904 leal (%rax,%rbx,1),%eax 4905 rorxl $27,%ebp,%r12d 4906 rorxl $2,%ebp,%ebx 4907 xorl %ecx,%ebp 4908 addl %r12d,%eax 4909 xorl %edx,%ebp 4910 addl -96(%r13),%esi 4911 leal (%rsi,%rbp,1),%esi 4912 rorxl $27,%eax,%r12d 4913 rorxl $2,%eax,%ebp 4914 xorl %ebx,%eax 4915 addl %r12d,%esi 4916 xorl %ecx,%eax 4917 addl -92(%r13),%edx 4918 leal (%rdx,%rax,1),%edx 4919 rorxl $27,%esi,%r12d 4920 rorxl $2,%esi,%eax 4921 xorl %ebp,%esi 4922 addl %r12d,%edx 4923 xorl %ebx,%esi 4924 addl -88(%r13),%ecx 4925 leal (%rcx,%rsi,1),%ecx 4926 rorxl $27,%edx,%r12d 4927 rorxl $2,%edx,%esi 4928 xorl %eax,%edx 4929 addl %r12d,%ecx 4930 xorl %ebp,%edx 4931 addl -84(%r13),%ebx 4932 movl %esi,%edi 4933 xorl %eax,%edi 4934 leal (%rbx,%rdx,1),%ebx 4935 rorxl $27,%ecx,%r12d 4936 rorxl $2,%ecx,%edx 4937 xorl %esi,%ecx 4938 addl %r12d,%ebx 4939 andl %edi,%ecx 4940 vmovdqu %ymm9,32(%rsp) 4941 vpshufb %ymm6,%ymm3,%ymm3 4942 vpaddd %ymm11,%ymm2,%ymm6 4943 addl -64(%r13),%ebp 4944 xorl %esi,%ecx 4945 movl %edx,%edi 4946 xorl %esi,%edi 4947 leal (%rcx,%rbp,1),%ebp 4948 rorxl $27,%ebx,%r12d 4949 rorxl $2,%ebx,%ecx 4950 xorl %edx,%ebx 4951 addl %r12d,%ebp 4952 andl %edi,%ebx 4953 addl -60(%r13),%eax 4954 xorl %edx,%ebx 4955 movl %ecx,%edi 4956 xorl %edx,%edi 4957 leal (%rax,%rbx,1),%eax 4958 rorxl $27,%ebp,%r12d 4959 rorxl $2,%ebp,%ebx 4960 xorl %ecx,%ebp 4961 addl %r12d,%eax 4962 andl %edi,%ebp 4963 addl -56(%r13),%esi 4964 xorl %ecx,%ebp 4965 movl %ebx,%edi 4966 xorl %ecx,%edi 4967 leal (%rsi,%rbp,1),%esi 4968 rorxl $27,%eax,%r12d 4969 rorxl $2,%eax,%ebp 4970 xorl %ebx,%eax 4971 addl %r12d,%esi 4972 andl %edi,%eax 4973 addl -52(%r13),%edx 4974 xorl %ebx,%eax 4975 movl %ebp,%edi 4976 xorl %ebx,%edi 4977 leal (%rdx,%rax,1),%edx 4978 rorxl $27,%esi,%r12d 4979 rorxl $2,%esi,%eax 4980 xorl %ebp,%esi 4981 addl %r12d,%edx 4982 andl %edi,%esi 4983 addl -32(%r13),%ecx 4984 xorl %ebp,%esi 4985 movl %eax,%edi 4986 xorl %ebp,%edi 4987 leal (%rcx,%rsi,1),%ecx 4988 rorxl $27,%edx,%r12d 4989 rorxl $2,%edx,%esi 4990 xorl %eax,%edx 4991 addl %r12d,%ecx 4992 andl %edi,%edx 4993 jmp .Lalign32_3 4994.align 32 4995.Lalign32_3: 4996 vmovdqu %ymm6,64(%rsp) 4997 vpaddd %ymm11,%ymm3,%ymm7 4998 addl -28(%r13),%ebx 4999 xorl %eax,%edx 5000 movl %esi,%edi 5001 xorl %eax,%edi 5002 leal (%rbx,%rdx,1),%ebx 5003 rorxl $27,%ecx,%r12d 5004 rorxl $2,%ecx,%edx 5005 xorl %esi,%ecx 5006 addl %r12d,%ebx 5007 andl %edi,%ecx 5008 addl -24(%r13),%ebp 5009 xorl %esi,%ecx 5010 movl %edx,%edi 5011 xorl %esi,%edi 5012 leal (%rcx,%rbp,1),%ebp 5013 rorxl $27,%ebx,%r12d 5014 rorxl $2,%ebx,%ecx 5015 xorl %edx,%ebx 5016 addl %r12d,%ebp 5017 andl %edi,%ebx 5018 addl -20(%r13),%eax 5019 xorl %edx,%ebx 5020 movl %ecx,%edi 5021 xorl %edx,%edi 5022 leal (%rax,%rbx,1),%eax 5023 rorxl $27,%ebp,%r12d 5024 rorxl $2,%ebp,%ebx 5025 xorl %ecx,%ebp 5026 addl %r12d,%eax 5027 andl %edi,%ebp 5028 addl 0(%r13),%esi 5029 xorl %ecx,%ebp 5030 movl %ebx,%edi 5031 xorl %ecx,%edi 5032 leal (%rsi,%rbp,1),%esi 5033 rorxl $27,%eax,%r12d 5034 rorxl $2,%eax,%ebp 5035 xorl %ebx,%eax 5036 addl %r12d,%esi 5037 andl %edi,%eax 5038 addl 4(%r13),%edx 5039 xorl %ebx,%eax 5040 movl %ebp,%edi 5041 xorl %ebx,%edi 5042 leal (%rdx,%rax,1),%edx 5043 rorxl $27,%esi,%r12d 5044 rorxl $2,%esi,%eax 5045 xorl %ebp,%esi 5046 addl %r12d,%edx 5047 andl %edi,%esi 5048 vmovdqu %ymm7,96(%rsp) 5049 addl 8(%r13),%ecx 5050 xorl %ebp,%esi 5051 movl %eax,%edi 5052 xorl %ebp,%edi 5053 leal (%rcx,%rsi,1),%ecx 5054 rorxl $27,%edx,%r12d 5055 rorxl $2,%edx,%esi 5056 xorl %eax,%edx 5057 addl %r12d,%ecx 5058 andl %edi,%edx 5059 addl 12(%r13),%ebx 5060 xorl %eax,%edx 5061 movl %esi,%edi 5062 xorl %eax,%edi 5063 leal (%rbx,%rdx,1),%ebx 5064 rorxl $27,%ecx,%r12d 5065 rorxl $2,%ecx,%edx 5066 xorl %esi,%ecx 5067 addl %r12d,%ebx 5068 andl %edi,%ecx 5069 addl 32(%r13),%ebp 5070 xorl %esi,%ecx 5071 movl %edx,%edi 5072 xorl %esi,%edi 5073 leal (%rcx,%rbp,1),%ebp 5074 rorxl $27,%ebx,%r12d 5075 rorxl $2,%ebx,%ecx 5076 xorl %edx,%ebx 5077 addl %r12d,%ebp 5078 andl %edi,%ebx 5079 addl 36(%r13),%eax 5080 xorl %edx,%ebx 5081 movl %ecx,%edi 5082 xorl %edx,%edi 5083 leal (%rax,%rbx,1),%eax 5084 rorxl $27,%ebp,%r12d 5085 rorxl $2,%ebp,%ebx 5086 xorl %ecx,%ebp 5087 addl %r12d,%eax 5088 andl %edi,%ebp 5089 addl 40(%r13),%esi 5090 xorl %ecx,%ebp 5091 movl %ebx,%edi 5092 xorl %ecx,%edi 5093 leal (%rsi,%rbp,1),%esi 5094 rorxl $27,%eax,%r12d 5095 rorxl $2,%eax,%ebp 5096 xorl %ebx,%eax 5097 addl %r12d,%esi 5098 andl %edi,%eax 5099 vpalignr $8,%ymm0,%ymm1,%ymm4 5100 addl 44(%r13),%edx 5101 xorl %ebx,%eax 5102 movl %ebp,%edi 5103 xorl %ebx,%edi 5104 vpsrldq $4,%ymm3,%ymm8 5105 leal (%rdx,%rax,1),%edx 5106 rorxl $27,%esi,%r12d 5107 rorxl $2,%esi,%eax 5108 vpxor %ymm0,%ymm4,%ymm4 5109 vpxor %ymm2,%ymm8,%ymm8 5110 xorl %ebp,%esi 5111 addl %r12d,%edx 5112 vpxor %ymm8,%ymm4,%ymm4 5113 andl %edi,%esi 5114 addl 64(%r13),%ecx 5115 xorl %ebp,%esi 5116 movl %eax,%edi 5117 vpsrld $31,%ymm4,%ymm8 5118 xorl %ebp,%edi 5119 leal (%rcx,%rsi,1),%ecx 5120 rorxl $27,%edx,%r12d 5121 vpslldq $12,%ymm4,%ymm10 5122 vpaddd %ymm4,%ymm4,%ymm4 5123 rorxl $2,%edx,%esi 5124 xorl %eax,%edx 5125 vpsrld $30,%ymm10,%ymm9 5126 vpor %ymm8,%ymm4,%ymm4 5127 addl %r12d,%ecx 5128 andl %edi,%edx 5129 vpslld $2,%ymm10,%ymm10 5130 vpxor %ymm9,%ymm4,%ymm4 5131 addl 68(%r13),%ebx 5132 xorl %eax,%edx 5133 vpxor %ymm10,%ymm4,%ymm4 5134 movl %esi,%edi 5135 xorl %eax,%edi 5136 leal (%rbx,%rdx,1),%ebx 5137 vpaddd %ymm11,%ymm4,%ymm9 5138 rorxl $27,%ecx,%r12d 5139 rorxl $2,%ecx,%edx 5140 xorl %esi,%ecx 5141 vmovdqu %ymm9,128(%rsp) 5142 addl %r12d,%ebx 5143 andl %edi,%ecx 5144 addl 72(%r13),%ebp 5145 xorl %esi,%ecx 5146 movl %edx,%edi 5147 xorl %esi,%edi 5148 leal (%rcx,%rbp,1),%ebp 5149 rorxl $27,%ebx,%r12d 5150 rorxl $2,%ebx,%ecx 5151 xorl %edx,%ebx 5152 addl %r12d,%ebp 5153 andl %edi,%ebx 5154 addl 76(%r13),%eax 5155 xorl %edx,%ebx 5156 leal (%rax,%rbx,1),%eax 5157 rorxl $27,%ebp,%r12d 5158 rorxl $2,%ebp,%ebx 5159 xorl %ecx,%ebp 5160 addl %r12d,%eax 5161 xorl %edx,%ebp 5162 vpalignr $8,%ymm1,%ymm2,%ymm5 5163 addl 96(%r13),%esi 5164 leal (%rsi,%rbp,1),%esi 5165 rorxl $27,%eax,%r12d 5166 rorxl $2,%eax,%ebp 5167 vpsrldq $4,%ymm4,%ymm8 5168 xorl %ebx,%eax 5169 addl %r12d,%esi 5170 xorl %ecx,%eax 5171 vpxor %ymm1,%ymm5,%ymm5 5172 vpxor %ymm3,%ymm8,%ymm8 5173 addl 100(%r13),%edx 5174 leal (%rdx,%rax,1),%edx 5175 vpxor %ymm8,%ymm5,%ymm5 5176 rorxl $27,%esi,%r12d 5177 rorxl $2,%esi,%eax 5178 xorl %ebp,%esi 5179 addl %r12d,%edx 5180 vpsrld $31,%ymm5,%ymm8 5181 vmovdqu -32(%r11),%ymm11 5182 xorl %ebx,%esi 5183 addl 104(%r13),%ecx 5184 leal (%rcx,%rsi,1),%ecx 5185 vpslldq $12,%ymm5,%ymm10 5186 vpaddd %ymm5,%ymm5,%ymm5 5187 rorxl $27,%edx,%r12d 5188 rorxl $2,%edx,%esi 5189 vpsrld $30,%ymm10,%ymm9 5190 vpor %ymm8,%ymm5,%ymm5 5191 xorl %eax,%edx 5192 addl %r12d,%ecx 5193 vpslld $2,%ymm10,%ymm10 5194 vpxor %ymm9,%ymm5,%ymm5 5195 xorl %ebp,%edx 5196 addl 108(%r13),%ebx 5197 leaq 256(%r13),%r13 5198 vpxor %ymm10,%ymm5,%ymm5 5199 leal (%rbx,%rdx,1),%ebx 5200 rorxl $27,%ecx,%r12d 5201 rorxl $2,%ecx,%edx 5202 vpaddd %ymm11,%ymm5,%ymm9 5203 xorl %esi,%ecx 5204 addl %r12d,%ebx 5205 xorl %eax,%ecx 5206 vmovdqu %ymm9,160(%rsp) 5207 addl -128(%r13),%ebp 5208 leal (%rcx,%rbp,1),%ebp 5209 rorxl $27,%ebx,%r12d 5210 rorxl $2,%ebx,%ecx 5211 xorl %edx,%ebx 5212 addl %r12d,%ebp 5213 xorl %esi,%ebx 5214 vpalignr $8,%ymm2,%ymm3,%ymm6 5215 addl -124(%r13),%eax 5216 leal (%rax,%rbx,1),%eax 5217 rorxl $27,%ebp,%r12d 5218 rorxl $2,%ebp,%ebx 5219 vpsrldq $4,%ymm5,%ymm8 5220 xorl %ecx,%ebp 5221 addl %r12d,%eax 5222 xorl %edx,%ebp 5223 vpxor %ymm2,%ymm6,%ymm6 5224 vpxor %ymm4,%ymm8,%ymm8 5225 addl -120(%r13),%esi 5226 leal (%rsi,%rbp,1),%esi 5227 vpxor %ymm8,%ymm6,%ymm6 5228 rorxl $27,%eax,%r12d 5229 rorxl $2,%eax,%ebp 5230 xorl %ebx,%eax 5231 addl %r12d,%esi 5232 vpsrld $31,%ymm6,%ymm8 5233 xorl %ecx,%eax 5234 addl -116(%r13),%edx 5235 leal (%rdx,%rax,1),%edx 5236 vpslldq $12,%ymm6,%ymm10 5237 vpaddd %ymm6,%ymm6,%ymm6 5238 rorxl $27,%esi,%r12d 5239 rorxl $2,%esi,%eax 5240 vpsrld $30,%ymm10,%ymm9 5241 vpor %ymm8,%ymm6,%ymm6 5242 xorl %ebp,%esi 5243 addl %r12d,%edx 5244 vpslld $2,%ymm10,%ymm10 5245 vpxor %ymm9,%ymm6,%ymm6 5246 xorl %ebx,%esi 5247 addl -96(%r13),%ecx 5248 vpxor %ymm10,%ymm6,%ymm6 5249 leal (%rcx,%rsi,1),%ecx 5250 rorxl $27,%edx,%r12d 5251 rorxl $2,%edx,%esi 5252 vpaddd %ymm11,%ymm6,%ymm9 5253 xorl %eax,%edx 5254 addl %r12d,%ecx 5255 xorl %ebp,%edx 5256 vmovdqu %ymm9,192(%rsp) 5257 addl -92(%r13),%ebx 5258 leal (%rbx,%rdx,1),%ebx 5259 rorxl $27,%ecx,%r12d 5260 rorxl $2,%ecx,%edx 5261 xorl %esi,%ecx 5262 addl %r12d,%ebx 5263 xorl %eax,%ecx 5264 vpalignr $8,%ymm3,%ymm4,%ymm7 5265 addl -88(%r13),%ebp 5266 leal (%rcx,%rbp,1),%ebp 5267 rorxl $27,%ebx,%r12d 5268 rorxl $2,%ebx,%ecx 5269 vpsrldq $4,%ymm6,%ymm8 5270 xorl %edx,%ebx 5271 addl %r12d,%ebp 5272 xorl %esi,%ebx 5273 vpxor %ymm3,%ymm7,%ymm7 5274 vpxor %ymm5,%ymm8,%ymm8 5275 addl -84(%r13),%eax 5276 leal (%rax,%rbx,1),%eax 5277 vpxor %ymm8,%ymm7,%ymm7 5278 rorxl $27,%ebp,%r12d 5279 rorxl $2,%ebp,%ebx 5280 xorl %ecx,%ebp 5281 addl %r12d,%eax 5282 vpsrld $31,%ymm7,%ymm8 5283 xorl %edx,%ebp 5284 addl -64(%r13),%esi 5285 leal (%rsi,%rbp,1),%esi 5286 vpslldq $12,%ymm7,%ymm10 5287 vpaddd %ymm7,%ymm7,%ymm7 5288 rorxl $27,%eax,%r12d 5289 rorxl $2,%eax,%ebp 5290 vpsrld $30,%ymm10,%ymm9 5291 vpor %ymm8,%ymm7,%ymm7 5292 xorl %ebx,%eax 5293 addl %r12d,%esi 5294 vpslld $2,%ymm10,%ymm10 5295 vpxor %ymm9,%ymm7,%ymm7 5296 xorl %ecx,%eax 5297 addl -60(%r13),%edx 5298 vpxor %ymm10,%ymm7,%ymm7 5299 leal (%rdx,%rax,1),%edx 5300 rorxl $27,%esi,%r12d 5301 rorxl $2,%esi,%eax 5302 vpaddd %ymm11,%ymm7,%ymm9 5303 xorl %ebp,%esi 5304 addl %r12d,%edx 5305 xorl %ebx,%esi 5306 vmovdqu %ymm9,224(%rsp) 5307 addl -56(%r13),%ecx 5308 leal (%rcx,%rsi,1),%ecx 5309 rorxl $27,%edx,%r12d 5310 rorxl $2,%edx,%esi 5311 xorl %eax,%edx 5312 addl %r12d,%ecx 5313 xorl %ebp,%edx 5314 addl -52(%r13),%ebx 5315 leal (%rbx,%rdx,1),%ebx 5316 rorxl $27,%ecx,%r12d 5317 rorxl $2,%ecx,%edx 5318 xorl %esi,%ecx 5319 addl %r12d,%ebx 5320 xorl %eax,%ecx 5321 addl -32(%r13),%ebp 5322 leal (%rcx,%rbp,1),%ebp 5323 rorxl $27,%ebx,%r12d 5324 rorxl $2,%ebx,%ecx 5325 xorl %edx,%ebx 5326 addl %r12d,%ebp 5327 xorl %esi,%ebx 5328 addl -28(%r13),%eax 5329 leal (%rax,%rbx,1),%eax 5330 rorxl $27,%ebp,%r12d 5331 rorxl $2,%ebp,%ebx 5332 xorl %ecx,%ebp 5333 addl %r12d,%eax 5334 xorl %edx,%ebp 5335 addl -24(%r13),%esi 5336 leal (%rsi,%rbp,1),%esi 5337 rorxl $27,%eax,%r12d 5338 rorxl $2,%eax,%ebp 5339 xorl %ebx,%eax 5340 addl %r12d,%esi 5341 xorl %ecx,%eax 5342 addl -20(%r13),%edx 5343 leal (%rdx,%rax,1),%edx 5344 rorxl $27,%esi,%r12d 5345 addl %r12d,%edx 5346 leaq 128(%rsp),%r13 5347 5348 5349 addl 0(%r8),%edx 5350 addl 4(%r8),%esi 5351 addl 8(%r8),%ebp 5352 movl %edx,0(%r8) 5353 addl 12(%r8),%ebx 5354 movl %esi,4(%r8) 5355 movl %edx,%eax 5356 addl 16(%r8),%ecx 5357 movl %ebp,%r12d 5358 movl %ebp,8(%r8) 5359 movl %ebx,%edx 5360 5361 movl %ebx,12(%r8) 5362 movl %esi,%ebp 5363 movl %ecx,16(%r8) 5364 5365 movl %ecx,%esi 5366 movl %r12d,%ecx 5367 5368 5369 cmpq %r10,%r9 5370 jbe .Loop_avx2 5371 5372.Ldone_avx2: 5373 vzeroupper 5374 leaq (%r14),%rsi 5375 movq -40(%rsi),%r14 5376 movq -32(%rsi),%r13 5377 movq -24(%rsi),%r12 5378 movq -16(%rsi),%rbp 5379 movq -8(%rsi),%rbx 5380 leaq (%rsi),%rsp 5381.Lepilogue_avx2: 5382 .byte 0xf3,0xc3 5383.size sha1_block_data_order_avx2,.-sha1_block_data_order_avx2 5384.align 64 5385K_XX_XX: 5386.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 5387.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 5388.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 5389.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 5390.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc 5391.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc 5392.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 5393.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 5394.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f 5395.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f 5396.byte 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0 5397.byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 5398.align 64 5399