sha256-mb-x86_64.S revision 1.1
1#include <machine/asm.h> 2.text 3 4 5 6.globl sha256_multi_block 7.type sha256_multi_block,@function 8.align 32 9sha256_multi_block: 10 movq OPENSSL_ia32cap_P+4(%rip),%rcx 11 btq $61,%rcx 12 jc _shaext_shortcut 13 movq %rsp,%rax 14 pushq %rbx 15 pushq %rbp 16 subq $288,%rsp 17 andq $-256,%rsp 18 movq %rax,272(%rsp) 19.Lbody: 20 leaq K256+128(%rip),%rbp 21 leaq 256(%rsp),%rbx 22 leaq 128(%rdi),%rdi 23 24.Loop_grande: 25 movl %edx,280(%rsp) 26 xorl %edx,%edx 27 movq 0(%rsi),%r8 28 movl 8(%rsi),%ecx 29 cmpl %edx,%ecx 30 cmovgl %ecx,%edx 31 testl %ecx,%ecx 32 movl %ecx,0(%rbx) 33 cmovleq %rbp,%r8 34 movq 16(%rsi),%r9 35 movl 24(%rsi),%ecx 36 cmpl %edx,%ecx 37 cmovgl %ecx,%edx 38 testl %ecx,%ecx 39 movl %ecx,4(%rbx) 40 cmovleq %rbp,%r9 41 movq 32(%rsi),%r10 42 movl 40(%rsi),%ecx 43 cmpl %edx,%ecx 44 cmovgl %ecx,%edx 45 testl %ecx,%ecx 46 movl %ecx,8(%rbx) 47 cmovleq %rbp,%r10 48 movq 48(%rsi),%r11 49 movl 56(%rsi),%ecx 50 cmpl %edx,%ecx 51 cmovgl %ecx,%edx 52 testl %ecx,%ecx 53 movl %ecx,12(%rbx) 54 cmovleq %rbp,%r11 55 testl %edx,%edx 56 jz .Ldone 57 58 movdqu 0-128(%rdi),%xmm8 59 leaq 128(%rsp),%rax 60 movdqu 32-128(%rdi),%xmm9 61 movdqu 64-128(%rdi),%xmm10 62 movdqu 96-128(%rdi),%xmm11 63 movdqu 128-128(%rdi),%xmm12 64 movdqu 160-128(%rdi),%xmm13 65 movdqu 192-128(%rdi),%xmm14 66 movdqu 224-128(%rdi),%xmm15 67 movdqu .Lpbswap(%rip),%xmm6 68 jmp .Loop 69 70.align 32 71.Loop: 72 movdqa %xmm10,%xmm4 73 pxor %xmm9,%xmm4 74 movd 0(%r8),%xmm5 75 movd 0(%r9),%xmm0 76 movd 0(%r10),%xmm1 77 movd 0(%r11),%xmm2 78 punpckldq %xmm1,%xmm5 79 punpckldq %xmm2,%xmm0 80 punpckldq %xmm0,%xmm5 81 movdqa %xmm12,%xmm7 82.byte 102,15,56,0,238 83 movdqa %xmm12,%xmm2 84 85 psrld $6,%xmm7 86 movdqa %xmm12,%xmm1 87 pslld $7,%xmm2 88 movdqa %xmm5,0-128(%rax) 89 paddd %xmm15,%xmm5 90 91 psrld $11,%xmm1 92 pxor %xmm2,%xmm7 93 pslld $21-7,%xmm2 94 paddd -128(%rbp),%xmm5 95 pxor %xmm1,%xmm7 96 97 psrld $25-11,%xmm1 98 movdqa %xmm12,%xmm0 99 100 pxor %xmm2,%xmm7 101 movdqa %xmm12,%xmm3 102 pslld $26-21,%xmm2 103 pandn %xmm14,%xmm0 104 pand %xmm13,%xmm3 105 pxor %xmm1,%xmm7 106 107 108 movdqa %xmm8,%xmm1 109 pxor %xmm2,%xmm7 110 movdqa %xmm8,%xmm2 111 psrld $2,%xmm1 112 paddd %xmm7,%xmm5 113 pxor %xmm3,%xmm0 114 movdqa %xmm9,%xmm3 115 movdqa %xmm8,%xmm7 116 pslld $10,%xmm2 117 pxor %xmm8,%xmm3 118 119 120 psrld $13,%xmm7 121 pxor %xmm2,%xmm1 122 paddd %xmm0,%xmm5 123 pslld $19-10,%xmm2 124 pand %xmm3,%xmm4 125 pxor %xmm7,%xmm1 126 127 128 psrld $22-13,%xmm7 129 pxor %xmm2,%xmm1 130 movdqa %xmm9,%xmm15 131 pslld $30-19,%xmm2 132 pxor %xmm1,%xmm7 133 pxor %xmm4,%xmm15 134 paddd %xmm5,%xmm11 135 pxor %xmm2,%xmm7 136 137 paddd %xmm5,%xmm15 138 paddd %xmm7,%xmm15 139 movd 4(%r8),%xmm5 140 movd 4(%r9),%xmm0 141 movd 4(%r10),%xmm1 142 movd 4(%r11),%xmm2 143 punpckldq %xmm1,%xmm5 144 punpckldq %xmm2,%xmm0 145 punpckldq %xmm0,%xmm5 146 movdqa %xmm11,%xmm7 147 148 movdqa %xmm11,%xmm2 149.byte 102,15,56,0,238 150 psrld $6,%xmm7 151 movdqa %xmm11,%xmm1 152 pslld $7,%xmm2 153 movdqa %xmm5,16-128(%rax) 154 paddd %xmm14,%xmm5 155 156 psrld $11,%xmm1 157 pxor %xmm2,%xmm7 158 pslld $21-7,%xmm2 159 paddd -96(%rbp),%xmm5 160 pxor %xmm1,%xmm7 161 162 psrld $25-11,%xmm1 163 movdqa %xmm11,%xmm0 164 165 pxor %xmm2,%xmm7 166 movdqa %xmm11,%xmm4 167 pslld $26-21,%xmm2 168 pandn %xmm13,%xmm0 169 pand %xmm12,%xmm4 170 pxor %xmm1,%xmm7 171 172 173 movdqa %xmm15,%xmm1 174 pxor %xmm2,%xmm7 175 movdqa %xmm15,%xmm2 176 psrld $2,%xmm1 177 paddd %xmm7,%xmm5 178 pxor %xmm4,%xmm0 179 movdqa %xmm8,%xmm4 180 movdqa %xmm15,%xmm7 181 pslld $10,%xmm2 182 pxor %xmm15,%xmm4 183 184 185 psrld $13,%xmm7 186 pxor %xmm2,%xmm1 187 paddd %xmm0,%xmm5 188 pslld $19-10,%xmm2 189 pand %xmm4,%xmm3 190 pxor %xmm7,%xmm1 191 192 193 psrld $22-13,%xmm7 194 pxor %xmm2,%xmm1 195 movdqa %xmm8,%xmm14 196 pslld $30-19,%xmm2 197 pxor %xmm1,%xmm7 198 pxor %xmm3,%xmm14 199 paddd %xmm5,%xmm10 200 pxor %xmm2,%xmm7 201 202 paddd %xmm5,%xmm14 203 paddd %xmm7,%xmm14 204 movd 8(%r8),%xmm5 205 movd 8(%r9),%xmm0 206 movd 8(%r10),%xmm1 207 movd 8(%r11),%xmm2 208 punpckldq %xmm1,%xmm5 209 punpckldq %xmm2,%xmm0 210 punpckldq %xmm0,%xmm5 211 movdqa %xmm10,%xmm7 212.byte 102,15,56,0,238 213 movdqa %xmm10,%xmm2 214 215 psrld $6,%xmm7 216 movdqa %xmm10,%xmm1 217 pslld $7,%xmm2 218 movdqa %xmm5,32-128(%rax) 219 paddd %xmm13,%xmm5 220 221 psrld $11,%xmm1 222 pxor %xmm2,%xmm7 223 pslld $21-7,%xmm2 224 paddd -64(%rbp),%xmm5 225 pxor %xmm1,%xmm7 226 227 psrld $25-11,%xmm1 228 movdqa %xmm10,%xmm0 229 230 pxor %xmm2,%xmm7 231 movdqa %xmm10,%xmm3 232 pslld $26-21,%xmm2 233 pandn %xmm12,%xmm0 234 pand %xmm11,%xmm3 235 pxor %xmm1,%xmm7 236 237 238 movdqa %xmm14,%xmm1 239 pxor %xmm2,%xmm7 240 movdqa %xmm14,%xmm2 241 psrld $2,%xmm1 242 paddd %xmm7,%xmm5 243 pxor %xmm3,%xmm0 244 movdqa %xmm15,%xmm3 245 movdqa %xmm14,%xmm7 246 pslld $10,%xmm2 247 pxor %xmm14,%xmm3 248 249 250 psrld $13,%xmm7 251 pxor %xmm2,%xmm1 252 paddd %xmm0,%xmm5 253 pslld $19-10,%xmm2 254 pand %xmm3,%xmm4 255 pxor %xmm7,%xmm1 256 257 258 psrld $22-13,%xmm7 259 pxor %xmm2,%xmm1 260 movdqa %xmm15,%xmm13 261 pslld $30-19,%xmm2 262 pxor %xmm1,%xmm7 263 pxor %xmm4,%xmm13 264 paddd %xmm5,%xmm9 265 pxor %xmm2,%xmm7 266 267 paddd %xmm5,%xmm13 268 paddd %xmm7,%xmm13 269 movd 12(%r8),%xmm5 270 movd 12(%r9),%xmm0 271 movd 12(%r10),%xmm1 272 movd 12(%r11),%xmm2 273 punpckldq %xmm1,%xmm5 274 punpckldq %xmm2,%xmm0 275 punpckldq %xmm0,%xmm5 276 movdqa %xmm9,%xmm7 277 278 movdqa %xmm9,%xmm2 279.byte 102,15,56,0,238 280 psrld $6,%xmm7 281 movdqa %xmm9,%xmm1 282 pslld $7,%xmm2 283 movdqa %xmm5,48-128(%rax) 284 paddd %xmm12,%xmm5 285 286 psrld $11,%xmm1 287 pxor %xmm2,%xmm7 288 pslld $21-7,%xmm2 289 paddd -32(%rbp),%xmm5 290 pxor %xmm1,%xmm7 291 292 psrld $25-11,%xmm1 293 movdqa %xmm9,%xmm0 294 295 pxor %xmm2,%xmm7 296 movdqa %xmm9,%xmm4 297 pslld $26-21,%xmm2 298 pandn %xmm11,%xmm0 299 pand %xmm10,%xmm4 300 pxor %xmm1,%xmm7 301 302 303 movdqa %xmm13,%xmm1 304 pxor %xmm2,%xmm7 305 movdqa %xmm13,%xmm2 306 psrld $2,%xmm1 307 paddd %xmm7,%xmm5 308 pxor %xmm4,%xmm0 309 movdqa %xmm14,%xmm4 310 movdqa %xmm13,%xmm7 311 pslld $10,%xmm2 312 pxor %xmm13,%xmm4 313 314 315 psrld $13,%xmm7 316 pxor %xmm2,%xmm1 317 paddd %xmm0,%xmm5 318 pslld $19-10,%xmm2 319 pand %xmm4,%xmm3 320 pxor %xmm7,%xmm1 321 322 323 psrld $22-13,%xmm7 324 pxor %xmm2,%xmm1 325 movdqa %xmm14,%xmm12 326 pslld $30-19,%xmm2 327 pxor %xmm1,%xmm7 328 pxor %xmm3,%xmm12 329 paddd %xmm5,%xmm8 330 pxor %xmm2,%xmm7 331 332 paddd %xmm5,%xmm12 333 paddd %xmm7,%xmm12 334 movd 16(%r8),%xmm5 335 movd 16(%r9),%xmm0 336 movd 16(%r10),%xmm1 337 movd 16(%r11),%xmm2 338 punpckldq %xmm1,%xmm5 339 punpckldq %xmm2,%xmm0 340 punpckldq %xmm0,%xmm5 341 movdqa %xmm8,%xmm7 342.byte 102,15,56,0,238 343 movdqa %xmm8,%xmm2 344 345 psrld $6,%xmm7 346 movdqa %xmm8,%xmm1 347 pslld $7,%xmm2 348 movdqa %xmm5,64-128(%rax) 349 paddd %xmm11,%xmm5 350 351 psrld $11,%xmm1 352 pxor %xmm2,%xmm7 353 pslld $21-7,%xmm2 354 paddd 0(%rbp),%xmm5 355 pxor %xmm1,%xmm7 356 357 psrld $25-11,%xmm1 358 movdqa %xmm8,%xmm0 359 360 pxor %xmm2,%xmm7 361 movdqa %xmm8,%xmm3 362 pslld $26-21,%xmm2 363 pandn %xmm10,%xmm0 364 pand %xmm9,%xmm3 365 pxor %xmm1,%xmm7 366 367 368 movdqa %xmm12,%xmm1 369 pxor %xmm2,%xmm7 370 movdqa %xmm12,%xmm2 371 psrld $2,%xmm1 372 paddd %xmm7,%xmm5 373 pxor %xmm3,%xmm0 374 movdqa %xmm13,%xmm3 375 movdqa %xmm12,%xmm7 376 pslld $10,%xmm2 377 pxor %xmm12,%xmm3 378 379 380 psrld $13,%xmm7 381 pxor %xmm2,%xmm1 382 paddd %xmm0,%xmm5 383 pslld $19-10,%xmm2 384 pand %xmm3,%xmm4 385 pxor %xmm7,%xmm1 386 387 388 psrld $22-13,%xmm7 389 pxor %xmm2,%xmm1 390 movdqa %xmm13,%xmm11 391 pslld $30-19,%xmm2 392 pxor %xmm1,%xmm7 393 pxor %xmm4,%xmm11 394 paddd %xmm5,%xmm15 395 pxor %xmm2,%xmm7 396 397 paddd %xmm5,%xmm11 398 paddd %xmm7,%xmm11 399 movd 20(%r8),%xmm5 400 movd 20(%r9),%xmm0 401 movd 20(%r10),%xmm1 402 movd 20(%r11),%xmm2 403 punpckldq %xmm1,%xmm5 404 punpckldq %xmm2,%xmm0 405 punpckldq %xmm0,%xmm5 406 movdqa %xmm15,%xmm7 407 408 movdqa %xmm15,%xmm2 409.byte 102,15,56,0,238 410 psrld $6,%xmm7 411 movdqa %xmm15,%xmm1 412 pslld $7,%xmm2 413 movdqa %xmm5,80-128(%rax) 414 paddd %xmm10,%xmm5 415 416 psrld $11,%xmm1 417 pxor %xmm2,%xmm7 418 pslld $21-7,%xmm2 419 paddd 32(%rbp),%xmm5 420 pxor %xmm1,%xmm7 421 422 psrld $25-11,%xmm1 423 movdqa %xmm15,%xmm0 424 425 pxor %xmm2,%xmm7 426 movdqa %xmm15,%xmm4 427 pslld $26-21,%xmm2 428 pandn %xmm9,%xmm0 429 pand %xmm8,%xmm4 430 pxor %xmm1,%xmm7 431 432 433 movdqa %xmm11,%xmm1 434 pxor %xmm2,%xmm7 435 movdqa %xmm11,%xmm2 436 psrld $2,%xmm1 437 paddd %xmm7,%xmm5 438 pxor %xmm4,%xmm0 439 movdqa %xmm12,%xmm4 440 movdqa %xmm11,%xmm7 441 pslld $10,%xmm2 442 pxor %xmm11,%xmm4 443 444 445 psrld $13,%xmm7 446 pxor %xmm2,%xmm1 447 paddd %xmm0,%xmm5 448 pslld $19-10,%xmm2 449 pand %xmm4,%xmm3 450 pxor %xmm7,%xmm1 451 452 453 psrld $22-13,%xmm7 454 pxor %xmm2,%xmm1 455 movdqa %xmm12,%xmm10 456 pslld $30-19,%xmm2 457 pxor %xmm1,%xmm7 458 pxor %xmm3,%xmm10 459 paddd %xmm5,%xmm14 460 pxor %xmm2,%xmm7 461 462 paddd %xmm5,%xmm10 463 paddd %xmm7,%xmm10 464 movd 24(%r8),%xmm5 465 movd 24(%r9),%xmm0 466 movd 24(%r10),%xmm1 467 movd 24(%r11),%xmm2 468 punpckldq %xmm1,%xmm5 469 punpckldq %xmm2,%xmm0 470 punpckldq %xmm0,%xmm5 471 movdqa %xmm14,%xmm7 472.byte 102,15,56,0,238 473 movdqa %xmm14,%xmm2 474 475 psrld $6,%xmm7 476 movdqa %xmm14,%xmm1 477 pslld $7,%xmm2 478 movdqa %xmm5,96-128(%rax) 479 paddd %xmm9,%xmm5 480 481 psrld $11,%xmm1 482 pxor %xmm2,%xmm7 483 pslld $21-7,%xmm2 484 paddd 64(%rbp),%xmm5 485 pxor %xmm1,%xmm7 486 487 psrld $25-11,%xmm1 488 movdqa %xmm14,%xmm0 489 490 pxor %xmm2,%xmm7 491 movdqa %xmm14,%xmm3 492 pslld $26-21,%xmm2 493 pandn %xmm8,%xmm0 494 pand %xmm15,%xmm3 495 pxor %xmm1,%xmm7 496 497 498 movdqa %xmm10,%xmm1 499 pxor %xmm2,%xmm7 500 movdqa %xmm10,%xmm2 501 psrld $2,%xmm1 502 paddd %xmm7,%xmm5 503 pxor %xmm3,%xmm0 504 movdqa %xmm11,%xmm3 505 movdqa %xmm10,%xmm7 506 pslld $10,%xmm2 507 pxor %xmm10,%xmm3 508 509 510 psrld $13,%xmm7 511 pxor %xmm2,%xmm1 512 paddd %xmm0,%xmm5 513 pslld $19-10,%xmm2 514 pand %xmm3,%xmm4 515 pxor %xmm7,%xmm1 516 517 518 psrld $22-13,%xmm7 519 pxor %xmm2,%xmm1 520 movdqa %xmm11,%xmm9 521 pslld $30-19,%xmm2 522 pxor %xmm1,%xmm7 523 pxor %xmm4,%xmm9 524 paddd %xmm5,%xmm13 525 pxor %xmm2,%xmm7 526 527 paddd %xmm5,%xmm9 528 paddd %xmm7,%xmm9 529 movd 28(%r8),%xmm5 530 movd 28(%r9),%xmm0 531 movd 28(%r10),%xmm1 532 movd 28(%r11),%xmm2 533 punpckldq %xmm1,%xmm5 534 punpckldq %xmm2,%xmm0 535 punpckldq %xmm0,%xmm5 536 movdqa %xmm13,%xmm7 537 538 movdqa %xmm13,%xmm2 539.byte 102,15,56,0,238 540 psrld $6,%xmm7 541 movdqa %xmm13,%xmm1 542 pslld $7,%xmm2 543 movdqa %xmm5,112-128(%rax) 544 paddd %xmm8,%xmm5 545 546 psrld $11,%xmm1 547 pxor %xmm2,%xmm7 548 pslld $21-7,%xmm2 549 paddd 96(%rbp),%xmm5 550 pxor %xmm1,%xmm7 551 552 psrld $25-11,%xmm1 553 movdqa %xmm13,%xmm0 554 555 pxor %xmm2,%xmm7 556 movdqa %xmm13,%xmm4 557 pslld $26-21,%xmm2 558 pandn %xmm15,%xmm0 559 pand %xmm14,%xmm4 560 pxor %xmm1,%xmm7 561 562 563 movdqa %xmm9,%xmm1 564 pxor %xmm2,%xmm7 565 movdqa %xmm9,%xmm2 566 psrld $2,%xmm1 567 paddd %xmm7,%xmm5 568 pxor %xmm4,%xmm0 569 movdqa %xmm10,%xmm4 570 movdqa %xmm9,%xmm7 571 pslld $10,%xmm2 572 pxor %xmm9,%xmm4 573 574 575 psrld $13,%xmm7 576 pxor %xmm2,%xmm1 577 paddd %xmm0,%xmm5 578 pslld $19-10,%xmm2 579 pand %xmm4,%xmm3 580 pxor %xmm7,%xmm1 581 582 583 psrld $22-13,%xmm7 584 pxor %xmm2,%xmm1 585 movdqa %xmm10,%xmm8 586 pslld $30-19,%xmm2 587 pxor %xmm1,%xmm7 588 pxor %xmm3,%xmm8 589 paddd %xmm5,%xmm12 590 pxor %xmm2,%xmm7 591 592 paddd %xmm5,%xmm8 593 paddd %xmm7,%xmm8 594 leaq 256(%rbp),%rbp 595 movd 32(%r8),%xmm5 596 movd 32(%r9),%xmm0 597 movd 32(%r10),%xmm1 598 movd 32(%r11),%xmm2 599 punpckldq %xmm1,%xmm5 600 punpckldq %xmm2,%xmm0 601 punpckldq %xmm0,%xmm5 602 movdqa %xmm12,%xmm7 603.byte 102,15,56,0,238 604 movdqa %xmm12,%xmm2 605 606 psrld $6,%xmm7 607 movdqa %xmm12,%xmm1 608 pslld $7,%xmm2 609 movdqa %xmm5,128-128(%rax) 610 paddd %xmm15,%xmm5 611 612 psrld $11,%xmm1 613 pxor %xmm2,%xmm7 614 pslld $21-7,%xmm2 615 paddd -128(%rbp),%xmm5 616 pxor %xmm1,%xmm7 617 618 psrld $25-11,%xmm1 619 movdqa %xmm12,%xmm0 620 621 pxor %xmm2,%xmm7 622 movdqa %xmm12,%xmm3 623 pslld $26-21,%xmm2 624 pandn %xmm14,%xmm0 625 pand %xmm13,%xmm3 626 pxor %xmm1,%xmm7 627 628 629 movdqa %xmm8,%xmm1 630 pxor %xmm2,%xmm7 631 movdqa %xmm8,%xmm2 632 psrld $2,%xmm1 633 paddd %xmm7,%xmm5 634 pxor %xmm3,%xmm0 635 movdqa %xmm9,%xmm3 636 movdqa %xmm8,%xmm7 637 pslld $10,%xmm2 638 pxor %xmm8,%xmm3 639 640 641 psrld $13,%xmm7 642 pxor %xmm2,%xmm1 643 paddd %xmm0,%xmm5 644 pslld $19-10,%xmm2 645 pand %xmm3,%xmm4 646 pxor %xmm7,%xmm1 647 648 649 psrld $22-13,%xmm7 650 pxor %xmm2,%xmm1 651 movdqa %xmm9,%xmm15 652 pslld $30-19,%xmm2 653 pxor %xmm1,%xmm7 654 pxor %xmm4,%xmm15 655 paddd %xmm5,%xmm11 656 pxor %xmm2,%xmm7 657 658 paddd %xmm5,%xmm15 659 paddd %xmm7,%xmm15 660 movd 36(%r8),%xmm5 661 movd 36(%r9),%xmm0 662 movd 36(%r10),%xmm1 663 movd 36(%r11),%xmm2 664 punpckldq %xmm1,%xmm5 665 punpckldq %xmm2,%xmm0 666 punpckldq %xmm0,%xmm5 667 movdqa %xmm11,%xmm7 668 669 movdqa %xmm11,%xmm2 670.byte 102,15,56,0,238 671 psrld $6,%xmm7 672 movdqa %xmm11,%xmm1 673 pslld $7,%xmm2 674 movdqa %xmm5,144-128(%rax) 675 paddd %xmm14,%xmm5 676 677 psrld $11,%xmm1 678 pxor %xmm2,%xmm7 679 pslld $21-7,%xmm2 680 paddd -96(%rbp),%xmm5 681 pxor %xmm1,%xmm7 682 683 psrld $25-11,%xmm1 684 movdqa %xmm11,%xmm0 685 686 pxor %xmm2,%xmm7 687 movdqa %xmm11,%xmm4 688 pslld $26-21,%xmm2 689 pandn %xmm13,%xmm0 690 pand %xmm12,%xmm4 691 pxor %xmm1,%xmm7 692 693 694 movdqa %xmm15,%xmm1 695 pxor %xmm2,%xmm7 696 movdqa %xmm15,%xmm2 697 psrld $2,%xmm1 698 paddd %xmm7,%xmm5 699 pxor %xmm4,%xmm0 700 movdqa %xmm8,%xmm4 701 movdqa %xmm15,%xmm7 702 pslld $10,%xmm2 703 pxor %xmm15,%xmm4 704 705 706 psrld $13,%xmm7 707 pxor %xmm2,%xmm1 708 paddd %xmm0,%xmm5 709 pslld $19-10,%xmm2 710 pand %xmm4,%xmm3 711 pxor %xmm7,%xmm1 712 713 714 psrld $22-13,%xmm7 715 pxor %xmm2,%xmm1 716 movdqa %xmm8,%xmm14 717 pslld $30-19,%xmm2 718 pxor %xmm1,%xmm7 719 pxor %xmm3,%xmm14 720 paddd %xmm5,%xmm10 721 pxor %xmm2,%xmm7 722 723 paddd %xmm5,%xmm14 724 paddd %xmm7,%xmm14 725 movd 40(%r8),%xmm5 726 movd 40(%r9),%xmm0 727 movd 40(%r10),%xmm1 728 movd 40(%r11),%xmm2 729 punpckldq %xmm1,%xmm5 730 punpckldq %xmm2,%xmm0 731 punpckldq %xmm0,%xmm5 732 movdqa %xmm10,%xmm7 733.byte 102,15,56,0,238 734 movdqa %xmm10,%xmm2 735 736 psrld $6,%xmm7 737 movdqa %xmm10,%xmm1 738 pslld $7,%xmm2 739 movdqa %xmm5,160-128(%rax) 740 paddd %xmm13,%xmm5 741 742 psrld $11,%xmm1 743 pxor %xmm2,%xmm7 744 pslld $21-7,%xmm2 745 paddd -64(%rbp),%xmm5 746 pxor %xmm1,%xmm7 747 748 psrld $25-11,%xmm1 749 movdqa %xmm10,%xmm0 750 751 pxor %xmm2,%xmm7 752 movdqa %xmm10,%xmm3 753 pslld $26-21,%xmm2 754 pandn %xmm12,%xmm0 755 pand %xmm11,%xmm3 756 pxor %xmm1,%xmm7 757 758 759 movdqa %xmm14,%xmm1 760 pxor %xmm2,%xmm7 761 movdqa %xmm14,%xmm2 762 psrld $2,%xmm1 763 paddd %xmm7,%xmm5 764 pxor %xmm3,%xmm0 765 movdqa %xmm15,%xmm3 766 movdqa %xmm14,%xmm7 767 pslld $10,%xmm2 768 pxor %xmm14,%xmm3 769 770 771 psrld $13,%xmm7 772 pxor %xmm2,%xmm1 773 paddd %xmm0,%xmm5 774 pslld $19-10,%xmm2 775 pand %xmm3,%xmm4 776 pxor %xmm7,%xmm1 777 778 779 psrld $22-13,%xmm7 780 pxor %xmm2,%xmm1 781 movdqa %xmm15,%xmm13 782 pslld $30-19,%xmm2 783 pxor %xmm1,%xmm7 784 pxor %xmm4,%xmm13 785 paddd %xmm5,%xmm9 786 pxor %xmm2,%xmm7 787 788 paddd %xmm5,%xmm13 789 paddd %xmm7,%xmm13 790 movd 44(%r8),%xmm5 791 movd 44(%r9),%xmm0 792 movd 44(%r10),%xmm1 793 movd 44(%r11),%xmm2 794 punpckldq %xmm1,%xmm5 795 punpckldq %xmm2,%xmm0 796 punpckldq %xmm0,%xmm5 797 movdqa %xmm9,%xmm7 798 799 movdqa %xmm9,%xmm2 800.byte 102,15,56,0,238 801 psrld $6,%xmm7 802 movdqa %xmm9,%xmm1 803 pslld $7,%xmm2 804 movdqa %xmm5,176-128(%rax) 805 paddd %xmm12,%xmm5 806 807 psrld $11,%xmm1 808 pxor %xmm2,%xmm7 809 pslld $21-7,%xmm2 810 paddd -32(%rbp),%xmm5 811 pxor %xmm1,%xmm7 812 813 psrld $25-11,%xmm1 814 movdqa %xmm9,%xmm0 815 816 pxor %xmm2,%xmm7 817 movdqa %xmm9,%xmm4 818 pslld $26-21,%xmm2 819 pandn %xmm11,%xmm0 820 pand %xmm10,%xmm4 821 pxor %xmm1,%xmm7 822 823 824 movdqa %xmm13,%xmm1 825 pxor %xmm2,%xmm7 826 movdqa %xmm13,%xmm2 827 psrld $2,%xmm1 828 paddd %xmm7,%xmm5 829 pxor %xmm4,%xmm0 830 movdqa %xmm14,%xmm4 831 movdqa %xmm13,%xmm7 832 pslld $10,%xmm2 833 pxor %xmm13,%xmm4 834 835 836 psrld $13,%xmm7 837 pxor %xmm2,%xmm1 838 paddd %xmm0,%xmm5 839 pslld $19-10,%xmm2 840 pand %xmm4,%xmm3 841 pxor %xmm7,%xmm1 842 843 844 psrld $22-13,%xmm7 845 pxor %xmm2,%xmm1 846 movdqa %xmm14,%xmm12 847 pslld $30-19,%xmm2 848 pxor %xmm1,%xmm7 849 pxor %xmm3,%xmm12 850 paddd %xmm5,%xmm8 851 pxor %xmm2,%xmm7 852 853 paddd %xmm5,%xmm12 854 paddd %xmm7,%xmm12 855 movd 48(%r8),%xmm5 856 movd 48(%r9),%xmm0 857 movd 48(%r10),%xmm1 858 movd 48(%r11),%xmm2 859 punpckldq %xmm1,%xmm5 860 punpckldq %xmm2,%xmm0 861 punpckldq %xmm0,%xmm5 862 movdqa %xmm8,%xmm7 863.byte 102,15,56,0,238 864 movdqa %xmm8,%xmm2 865 866 psrld $6,%xmm7 867 movdqa %xmm8,%xmm1 868 pslld $7,%xmm2 869 movdqa %xmm5,192-128(%rax) 870 paddd %xmm11,%xmm5 871 872 psrld $11,%xmm1 873 pxor %xmm2,%xmm7 874 pslld $21-7,%xmm2 875 paddd 0(%rbp),%xmm5 876 pxor %xmm1,%xmm7 877 878 psrld $25-11,%xmm1 879 movdqa %xmm8,%xmm0 880 881 pxor %xmm2,%xmm7 882 movdqa %xmm8,%xmm3 883 pslld $26-21,%xmm2 884 pandn %xmm10,%xmm0 885 pand %xmm9,%xmm3 886 pxor %xmm1,%xmm7 887 888 889 movdqa %xmm12,%xmm1 890 pxor %xmm2,%xmm7 891 movdqa %xmm12,%xmm2 892 psrld $2,%xmm1 893 paddd %xmm7,%xmm5 894 pxor %xmm3,%xmm0 895 movdqa %xmm13,%xmm3 896 movdqa %xmm12,%xmm7 897 pslld $10,%xmm2 898 pxor %xmm12,%xmm3 899 900 901 psrld $13,%xmm7 902 pxor %xmm2,%xmm1 903 paddd %xmm0,%xmm5 904 pslld $19-10,%xmm2 905 pand %xmm3,%xmm4 906 pxor %xmm7,%xmm1 907 908 909 psrld $22-13,%xmm7 910 pxor %xmm2,%xmm1 911 movdqa %xmm13,%xmm11 912 pslld $30-19,%xmm2 913 pxor %xmm1,%xmm7 914 pxor %xmm4,%xmm11 915 paddd %xmm5,%xmm15 916 pxor %xmm2,%xmm7 917 918 paddd %xmm5,%xmm11 919 paddd %xmm7,%xmm11 920 movd 52(%r8),%xmm5 921 movd 52(%r9),%xmm0 922 movd 52(%r10),%xmm1 923 movd 52(%r11),%xmm2 924 punpckldq %xmm1,%xmm5 925 punpckldq %xmm2,%xmm0 926 punpckldq %xmm0,%xmm5 927 movdqa %xmm15,%xmm7 928 929 movdqa %xmm15,%xmm2 930.byte 102,15,56,0,238 931 psrld $6,%xmm7 932 movdqa %xmm15,%xmm1 933 pslld $7,%xmm2 934 movdqa %xmm5,208-128(%rax) 935 paddd %xmm10,%xmm5 936 937 psrld $11,%xmm1 938 pxor %xmm2,%xmm7 939 pslld $21-7,%xmm2 940 paddd 32(%rbp),%xmm5 941 pxor %xmm1,%xmm7 942 943 psrld $25-11,%xmm1 944 movdqa %xmm15,%xmm0 945 946 pxor %xmm2,%xmm7 947 movdqa %xmm15,%xmm4 948 pslld $26-21,%xmm2 949 pandn %xmm9,%xmm0 950 pand %xmm8,%xmm4 951 pxor %xmm1,%xmm7 952 953 954 movdqa %xmm11,%xmm1 955 pxor %xmm2,%xmm7 956 movdqa %xmm11,%xmm2 957 psrld $2,%xmm1 958 paddd %xmm7,%xmm5 959 pxor %xmm4,%xmm0 960 movdqa %xmm12,%xmm4 961 movdqa %xmm11,%xmm7 962 pslld $10,%xmm2 963 pxor %xmm11,%xmm4 964 965 966 psrld $13,%xmm7 967 pxor %xmm2,%xmm1 968 paddd %xmm0,%xmm5 969 pslld $19-10,%xmm2 970 pand %xmm4,%xmm3 971 pxor %xmm7,%xmm1 972 973 974 psrld $22-13,%xmm7 975 pxor %xmm2,%xmm1 976 movdqa %xmm12,%xmm10 977 pslld $30-19,%xmm2 978 pxor %xmm1,%xmm7 979 pxor %xmm3,%xmm10 980 paddd %xmm5,%xmm14 981 pxor %xmm2,%xmm7 982 983 paddd %xmm5,%xmm10 984 paddd %xmm7,%xmm10 985 movd 56(%r8),%xmm5 986 movd 56(%r9),%xmm0 987 movd 56(%r10),%xmm1 988 movd 56(%r11),%xmm2 989 punpckldq %xmm1,%xmm5 990 punpckldq %xmm2,%xmm0 991 punpckldq %xmm0,%xmm5 992 movdqa %xmm14,%xmm7 993.byte 102,15,56,0,238 994 movdqa %xmm14,%xmm2 995 996 psrld $6,%xmm7 997 movdqa %xmm14,%xmm1 998 pslld $7,%xmm2 999 movdqa %xmm5,224-128(%rax) 1000 paddd %xmm9,%xmm5 1001 1002 psrld $11,%xmm1 1003 pxor %xmm2,%xmm7 1004 pslld $21-7,%xmm2 1005 paddd 64(%rbp),%xmm5 1006 pxor %xmm1,%xmm7 1007 1008 psrld $25-11,%xmm1 1009 movdqa %xmm14,%xmm0 1010 1011 pxor %xmm2,%xmm7 1012 movdqa %xmm14,%xmm3 1013 pslld $26-21,%xmm2 1014 pandn %xmm8,%xmm0 1015 pand %xmm15,%xmm3 1016 pxor %xmm1,%xmm7 1017 1018 1019 movdqa %xmm10,%xmm1 1020 pxor %xmm2,%xmm7 1021 movdqa %xmm10,%xmm2 1022 psrld $2,%xmm1 1023 paddd %xmm7,%xmm5 1024 pxor %xmm3,%xmm0 1025 movdqa %xmm11,%xmm3 1026 movdqa %xmm10,%xmm7 1027 pslld $10,%xmm2 1028 pxor %xmm10,%xmm3 1029 1030 1031 psrld $13,%xmm7 1032 pxor %xmm2,%xmm1 1033 paddd %xmm0,%xmm5 1034 pslld $19-10,%xmm2 1035 pand %xmm3,%xmm4 1036 pxor %xmm7,%xmm1 1037 1038 1039 psrld $22-13,%xmm7 1040 pxor %xmm2,%xmm1 1041 movdqa %xmm11,%xmm9 1042 pslld $30-19,%xmm2 1043 pxor %xmm1,%xmm7 1044 pxor %xmm4,%xmm9 1045 paddd %xmm5,%xmm13 1046 pxor %xmm2,%xmm7 1047 1048 paddd %xmm5,%xmm9 1049 paddd %xmm7,%xmm9 1050 movd 60(%r8),%xmm5 1051 leaq 64(%r8),%r8 1052 movd 60(%r9),%xmm0 1053 leaq 64(%r9),%r9 1054 movd 60(%r10),%xmm1 1055 leaq 64(%r10),%r10 1056 movd 60(%r11),%xmm2 1057 leaq 64(%r11),%r11 1058 punpckldq %xmm1,%xmm5 1059 punpckldq %xmm2,%xmm0 1060 punpckldq %xmm0,%xmm5 1061 movdqa %xmm13,%xmm7 1062 1063 movdqa %xmm13,%xmm2 1064.byte 102,15,56,0,238 1065 psrld $6,%xmm7 1066 movdqa %xmm13,%xmm1 1067 pslld $7,%xmm2 1068 movdqa %xmm5,240-128(%rax) 1069 paddd %xmm8,%xmm5 1070 1071 psrld $11,%xmm1 1072 pxor %xmm2,%xmm7 1073 pslld $21-7,%xmm2 1074 paddd 96(%rbp),%xmm5 1075 pxor %xmm1,%xmm7 1076 1077 psrld $25-11,%xmm1 1078 movdqa %xmm13,%xmm0 1079 prefetcht0 63(%r8) 1080 pxor %xmm2,%xmm7 1081 movdqa %xmm13,%xmm4 1082 pslld $26-21,%xmm2 1083 pandn %xmm15,%xmm0 1084 pand %xmm14,%xmm4 1085 pxor %xmm1,%xmm7 1086 1087 prefetcht0 63(%r9) 1088 movdqa %xmm9,%xmm1 1089 pxor %xmm2,%xmm7 1090 movdqa %xmm9,%xmm2 1091 psrld $2,%xmm1 1092 paddd %xmm7,%xmm5 1093 pxor %xmm4,%xmm0 1094 movdqa %xmm10,%xmm4 1095 movdqa %xmm9,%xmm7 1096 pslld $10,%xmm2 1097 pxor %xmm9,%xmm4 1098 1099 prefetcht0 63(%r10) 1100 psrld $13,%xmm7 1101 pxor %xmm2,%xmm1 1102 paddd %xmm0,%xmm5 1103 pslld $19-10,%xmm2 1104 pand %xmm4,%xmm3 1105 pxor %xmm7,%xmm1 1106 1107 prefetcht0 63(%r11) 1108 psrld $22-13,%xmm7 1109 pxor %xmm2,%xmm1 1110 movdqa %xmm10,%xmm8 1111 pslld $30-19,%xmm2 1112 pxor %xmm1,%xmm7 1113 pxor %xmm3,%xmm8 1114 paddd %xmm5,%xmm12 1115 pxor %xmm2,%xmm7 1116 1117 paddd %xmm5,%xmm8 1118 paddd %xmm7,%xmm8 1119 leaq 256(%rbp),%rbp 1120 movdqu 0-128(%rax),%xmm5 1121 movl $3,%ecx 1122 jmp .Loop_16_xx 1123.align 32 1124.Loop_16_xx: 1125 movdqa 16-128(%rax),%xmm6 1126 paddd 144-128(%rax),%xmm5 1127 1128 movdqa %xmm6,%xmm7 1129 movdqa %xmm6,%xmm1 1130 psrld $3,%xmm7 1131 movdqa %xmm6,%xmm2 1132 1133 psrld $7,%xmm1 1134 movdqa 224-128(%rax),%xmm0 1135 pslld $14,%xmm2 1136 pxor %xmm1,%xmm7 1137 psrld $18-7,%xmm1 1138 movdqa %xmm0,%xmm3 1139 pxor %xmm2,%xmm7 1140 pslld $25-14,%xmm2 1141 pxor %xmm1,%xmm7 1142 psrld $10,%xmm0 1143 movdqa %xmm3,%xmm1 1144 1145 psrld $17,%xmm3 1146 pxor %xmm2,%xmm7 1147 pslld $13,%xmm1 1148 paddd %xmm7,%xmm5 1149 pxor %xmm3,%xmm0 1150 psrld $19-17,%xmm3 1151 pxor %xmm1,%xmm0 1152 pslld $15-13,%xmm1 1153 pxor %xmm3,%xmm0 1154 pxor %xmm1,%xmm0 1155 paddd %xmm0,%xmm5 1156 movdqa %xmm12,%xmm7 1157 1158 movdqa %xmm12,%xmm2 1159 1160 psrld $6,%xmm7 1161 movdqa %xmm12,%xmm1 1162 pslld $7,%xmm2 1163 movdqa %xmm5,0-128(%rax) 1164 paddd %xmm15,%xmm5 1165 1166 psrld $11,%xmm1 1167 pxor %xmm2,%xmm7 1168 pslld $21-7,%xmm2 1169 paddd -128(%rbp),%xmm5 1170 pxor %xmm1,%xmm7 1171 1172 psrld $25-11,%xmm1 1173 movdqa %xmm12,%xmm0 1174 1175 pxor %xmm2,%xmm7 1176 movdqa %xmm12,%xmm3 1177 pslld $26-21,%xmm2 1178 pandn %xmm14,%xmm0 1179 pand %xmm13,%xmm3 1180 pxor %xmm1,%xmm7 1181 1182 1183 movdqa %xmm8,%xmm1 1184 pxor %xmm2,%xmm7 1185 movdqa %xmm8,%xmm2 1186 psrld $2,%xmm1 1187 paddd %xmm7,%xmm5 1188 pxor %xmm3,%xmm0 1189 movdqa %xmm9,%xmm3 1190 movdqa %xmm8,%xmm7 1191 pslld $10,%xmm2 1192 pxor %xmm8,%xmm3 1193 1194 1195 psrld $13,%xmm7 1196 pxor %xmm2,%xmm1 1197 paddd %xmm0,%xmm5 1198 pslld $19-10,%xmm2 1199 pand %xmm3,%xmm4 1200 pxor %xmm7,%xmm1 1201 1202 1203 psrld $22-13,%xmm7 1204 pxor %xmm2,%xmm1 1205 movdqa %xmm9,%xmm15 1206 pslld $30-19,%xmm2 1207 pxor %xmm1,%xmm7 1208 pxor %xmm4,%xmm15 1209 paddd %xmm5,%xmm11 1210 pxor %xmm2,%xmm7 1211 1212 paddd %xmm5,%xmm15 1213 paddd %xmm7,%xmm15 1214 movdqa 32-128(%rax),%xmm5 1215 paddd 160-128(%rax),%xmm6 1216 1217 movdqa %xmm5,%xmm7 1218 movdqa %xmm5,%xmm1 1219 psrld $3,%xmm7 1220 movdqa %xmm5,%xmm2 1221 1222 psrld $7,%xmm1 1223 movdqa 240-128(%rax),%xmm0 1224 pslld $14,%xmm2 1225 pxor %xmm1,%xmm7 1226 psrld $18-7,%xmm1 1227 movdqa %xmm0,%xmm4 1228 pxor %xmm2,%xmm7 1229 pslld $25-14,%xmm2 1230 pxor %xmm1,%xmm7 1231 psrld $10,%xmm0 1232 movdqa %xmm4,%xmm1 1233 1234 psrld $17,%xmm4 1235 pxor %xmm2,%xmm7 1236 pslld $13,%xmm1 1237 paddd %xmm7,%xmm6 1238 pxor %xmm4,%xmm0 1239 psrld $19-17,%xmm4 1240 pxor %xmm1,%xmm0 1241 pslld $15-13,%xmm1 1242 pxor %xmm4,%xmm0 1243 pxor %xmm1,%xmm0 1244 paddd %xmm0,%xmm6 1245 movdqa %xmm11,%xmm7 1246 1247 movdqa %xmm11,%xmm2 1248 1249 psrld $6,%xmm7 1250 movdqa %xmm11,%xmm1 1251 pslld $7,%xmm2 1252 movdqa %xmm6,16-128(%rax) 1253 paddd %xmm14,%xmm6 1254 1255 psrld $11,%xmm1 1256 pxor %xmm2,%xmm7 1257 pslld $21-7,%xmm2 1258 paddd -96(%rbp),%xmm6 1259 pxor %xmm1,%xmm7 1260 1261 psrld $25-11,%xmm1 1262 movdqa %xmm11,%xmm0 1263 1264 pxor %xmm2,%xmm7 1265 movdqa %xmm11,%xmm4 1266 pslld $26-21,%xmm2 1267 pandn %xmm13,%xmm0 1268 pand %xmm12,%xmm4 1269 pxor %xmm1,%xmm7 1270 1271 1272 movdqa %xmm15,%xmm1 1273 pxor %xmm2,%xmm7 1274 movdqa %xmm15,%xmm2 1275 psrld $2,%xmm1 1276 paddd %xmm7,%xmm6 1277 pxor %xmm4,%xmm0 1278 movdqa %xmm8,%xmm4 1279 movdqa %xmm15,%xmm7 1280 pslld $10,%xmm2 1281 pxor %xmm15,%xmm4 1282 1283 1284 psrld $13,%xmm7 1285 pxor %xmm2,%xmm1 1286 paddd %xmm0,%xmm6 1287 pslld $19-10,%xmm2 1288 pand %xmm4,%xmm3 1289 pxor %xmm7,%xmm1 1290 1291 1292 psrld $22-13,%xmm7 1293 pxor %xmm2,%xmm1 1294 movdqa %xmm8,%xmm14 1295 pslld $30-19,%xmm2 1296 pxor %xmm1,%xmm7 1297 pxor %xmm3,%xmm14 1298 paddd %xmm6,%xmm10 1299 pxor %xmm2,%xmm7 1300 1301 paddd %xmm6,%xmm14 1302 paddd %xmm7,%xmm14 1303 movdqa 48-128(%rax),%xmm6 1304 paddd 176-128(%rax),%xmm5 1305 1306 movdqa %xmm6,%xmm7 1307 movdqa %xmm6,%xmm1 1308 psrld $3,%xmm7 1309 movdqa %xmm6,%xmm2 1310 1311 psrld $7,%xmm1 1312 movdqa 0-128(%rax),%xmm0 1313 pslld $14,%xmm2 1314 pxor %xmm1,%xmm7 1315 psrld $18-7,%xmm1 1316 movdqa %xmm0,%xmm3 1317 pxor %xmm2,%xmm7 1318 pslld $25-14,%xmm2 1319 pxor %xmm1,%xmm7 1320 psrld $10,%xmm0 1321 movdqa %xmm3,%xmm1 1322 1323 psrld $17,%xmm3 1324 pxor %xmm2,%xmm7 1325 pslld $13,%xmm1 1326 paddd %xmm7,%xmm5 1327 pxor %xmm3,%xmm0 1328 psrld $19-17,%xmm3 1329 pxor %xmm1,%xmm0 1330 pslld $15-13,%xmm1 1331 pxor %xmm3,%xmm0 1332 pxor %xmm1,%xmm0 1333 paddd %xmm0,%xmm5 1334 movdqa %xmm10,%xmm7 1335 1336 movdqa %xmm10,%xmm2 1337 1338 psrld $6,%xmm7 1339 movdqa %xmm10,%xmm1 1340 pslld $7,%xmm2 1341 movdqa %xmm5,32-128(%rax) 1342 paddd %xmm13,%xmm5 1343 1344 psrld $11,%xmm1 1345 pxor %xmm2,%xmm7 1346 pslld $21-7,%xmm2 1347 paddd -64(%rbp),%xmm5 1348 pxor %xmm1,%xmm7 1349 1350 psrld $25-11,%xmm1 1351 movdqa %xmm10,%xmm0 1352 1353 pxor %xmm2,%xmm7 1354 movdqa %xmm10,%xmm3 1355 pslld $26-21,%xmm2 1356 pandn %xmm12,%xmm0 1357 pand %xmm11,%xmm3 1358 pxor %xmm1,%xmm7 1359 1360 1361 movdqa %xmm14,%xmm1 1362 pxor %xmm2,%xmm7 1363 movdqa %xmm14,%xmm2 1364 psrld $2,%xmm1 1365 paddd %xmm7,%xmm5 1366 pxor %xmm3,%xmm0 1367 movdqa %xmm15,%xmm3 1368 movdqa %xmm14,%xmm7 1369 pslld $10,%xmm2 1370 pxor %xmm14,%xmm3 1371 1372 1373 psrld $13,%xmm7 1374 pxor %xmm2,%xmm1 1375 paddd %xmm0,%xmm5 1376 pslld $19-10,%xmm2 1377 pand %xmm3,%xmm4 1378 pxor %xmm7,%xmm1 1379 1380 1381 psrld $22-13,%xmm7 1382 pxor %xmm2,%xmm1 1383 movdqa %xmm15,%xmm13 1384 pslld $30-19,%xmm2 1385 pxor %xmm1,%xmm7 1386 pxor %xmm4,%xmm13 1387 paddd %xmm5,%xmm9 1388 pxor %xmm2,%xmm7 1389 1390 paddd %xmm5,%xmm13 1391 paddd %xmm7,%xmm13 1392 movdqa 64-128(%rax),%xmm5 1393 paddd 192-128(%rax),%xmm6 1394 1395 movdqa %xmm5,%xmm7 1396 movdqa %xmm5,%xmm1 1397 psrld $3,%xmm7 1398 movdqa %xmm5,%xmm2 1399 1400 psrld $7,%xmm1 1401 movdqa 16-128(%rax),%xmm0 1402 pslld $14,%xmm2 1403 pxor %xmm1,%xmm7 1404 psrld $18-7,%xmm1 1405 movdqa %xmm0,%xmm4 1406 pxor %xmm2,%xmm7 1407 pslld $25-14,%xmm2 1408 pxor %xmm1,%xmm7 1409 psrld $10,%xmm0 1410 movdqa %xmm4,%xmm1 1411 1412 psrld $17,%xmm4 1413 pxor %xmm2,%xmm7 1414 pslld $13,%xmm1 1415 paddd %xmm7,%xmm6 1416 pxor %xmm4,%xmm0 1417 psrld $19-17,%xmm4 1418 pxor %xmm1,%xmm0 1419 pslld $15-13,%xmm1 1420 pxor %xmm4,%xmm0 1421 pxor %xmm1,%xmm0 1422 paddd %xmm0,%xmm6 1423 movdqa %xmm9,%xmm7 1424 1425 movdqa %xmm9,%xmm2 1426 1427 psrld $6,%xmm7 1428 movdqa %xmm9,%xmm1 1429 pslld $7,%xmm2 1430 movdqa %xmm6,48-128(%rax) 1431 paddd %xmm12,%xmm6 1432 1433 psrld $11,%xmm1 1434 pxor %xmm2,%xmm7 1435 pslld $21-7,%xmm2 1436 paddd -32(%rbp),%xmm6 1437 pxor %xmm1,%xmm7 1438 1439 psrld $25-11,%xmm1 1440 movdqa %xmm9,%xmm0 1441 1442 pxor %xmm2,%xmm7 1443 movdqa %xmm9,%xmm4 1444 pslld $26-21,%xmm2 1445 pandn %xmm11,%xmm0 1446 pand %xmm10,%xmm4 1447 pxor %xmm1,%xmm7 1448 1449 1450 movdqa %xmm13,%xmm1 1451 pxor %xmm2,%xmm7 1452 movdqa %xmm13,%xmm2 1453 psrld $2,%xmm1 1454 paddd %xmm7,%xmm6 1455 pxor %xmm4,%xmm0 1456 movdqa %xmm14,%xmm4 1457 movdqa %xmm13,%xmm7 1458 pslld $10,%xmm2 1459 pxor %xmm13,%xmm4 1460 1461 1462 psrld $13,%xmm7 1463 pxor %xmm2,%xmm1 1464 paddd %xmm0,%xmm6 1465 pslld $19-10,%xmm2 1466 pand %xmm4,%xmm3 1467 pxor %xmm7,%xmm1 1468 1469 1470 psrld $22-13,%xmm7 1471 pxor %xmm2,%xmm1 1472 movdqa %xmm14,%xmm12 1473 pslld $30-19,%xmm2 1474 pxor %xmm1,%xmm7 1475 pxor %xmm3,%xmm12 1476 paddd %xmm6,%xmm8 1477 pxor %xmm2,%xmm7 1478 1479 paddd %xmm6,%xmm12 1480 paddd %xmm7,%xmm12 1481 movdqa 80-128(%rax),%xmm6 1482 paddd 208-128(%rax),%xmm5 1483 1484 movdqa %xmm6,%xmm7 1485 movdqa %xmm6,%xmm1 1486 psrld $3,%xmm7 1487 movdqa %xmm6,%xmm2 1488 1489 psrld $7,%xmm1 1490 movdqa 32-128(%rax),%xmm0 1491 pslld $14,%xmm2 1492 pxor %xmm1,%xmm7 1493 psrld $18-7,%xmm1 1494 movdqa %xmm0,%xmm3 1495 pxor %xmm2,%xmm7 1496 pslld $25-14,%xmm2 1497 pxor %xmm1,%xmm7 1498 psrld $10,%xmm0 1499 movdqa %xmm3,%xmm1 1500 1501 psrld $17,%xmm3 1502 pxor %xmm2,%xmm7 1503 pslld $13,%xmm1 1504 paddd %xmm7,%xmm5 1505 pxor %xmm3,%xmm0 1506 psrld $19-17,%xmm3 1507 pxor %xmm1,%xmm0 1508 pslld $15-13,%xmm1 1509 pxor %xmm3,%xmm0 1510 pxor %xmm1,%xmm0 1511 paddd %xmm0,%xmm5 1512 movdqa %xmm8,%xmm7 1513 1514 movdqa %xmm8,%xmm2 1515 1516 psrld $6,%xmm7 1517 movdqa %xmm8,%xmm1 1518 pslld $7,%xmm2 1519 movdqa %xmm5,64-128(%rax) 1520 paddd %xmm11,%xmm5 1521 1522 psrld $11,%xmm1 1523 pxor %xmm2,%xmm7 1524 pslld $21-7,%xmm2 1525 paddd 0(%rbp),%xmm5 1526 pxor %xmm1,%xmm7 1527 1528 psrld $25-11,%xmm1 1529 movdqa %xmm8,%xmm0 1530 1531 pxor %xmm2,%xmm7 1532 movdqa %xmm8,%xmm3 1533 pslld $26-21,%xmm2 1534 pandn %xmm10,%xmm0 1535 pand %xmm9,%xmm3 1536 pxor %xmm1,%xmm7 1537 1538 1539 movdqa %xmm12,%xmm1 1540 pxor %xmm2,%xmm7 1541 movdqa %xmm12,%xmm2 1542 psrld $2,%xmm1 1543 paddd %xmm7,%xmm5 1544 pxor %xmm3,%xmm0 1545 movdqa %xmm13,%xmm3 1546 movdqa %xmm12,%xmm7 1547 pslld $10,%xmm2 1548 pxor %xmm12,%xmm3 1549 1550 1551 psrld $13,%xmm7 1552 pxor %xmm2,%xmm1 1553 paddd %xmm0,%xmm5 1554 pslld $19-10,%xmm2 1555 pand %xmm3,%xmm4 1556 pxor %xmm7,%xmm1 1557 1558 1559 psrld $22-13,%xmm7 1560 pxor %xmm2,%xmm1 1561 movdqa %xmm13,%xmm11 1562 pslld $30-19,%xmm2 1563 pxor %xmm1,%xmm7 1564 pxor %xmm4,%xmm11 1565 paddd %xmm5,%xmm15 1566 pxor %xmm2,%xmm7 1567 1568 paddd %xmm5,%xmm11 1569 paddd %xmm7,%xmm11 1570 movdqa 96-128(%rax),%xmm5 1571 paddd 224-128(%rax),%xmm6 1572 1573 movdqa %xmm5,%xmm7 1574 movdqa %xmm5,%xmm1 1575 psrld $3,%xmm7 1576 movdqa %xmm5,%xmm2 1577 1578 psrld $7,%xmm1 1579 movdqa 48-128(%rax),%xmm0 1580 pslld $14,%xmm2 1581 pxor %xmm1,%xmm7 1582 psrld $18-7,%xmm1 1583 movdqa %xmm0,%xmm4 1584 pxor %xmm2,%xmm7 1585 pslld $25-14,%xmm2 1586 pxor %xmm1,%xmm7 1587 psrld $10,%xmm0 1588 movdqa %xmm4,%xmm1 1589 1590 psrld $17,%xmm4 1591 pxor %xmm2,%xmm7 1592 pslld $13,%xmm1 1593 paddd %xmm7,%xmm6 1594 pxor %xmm4,%xmm0 1595 psrld $19-17,%xmm4 1596 pxor %xmm1,%xmm0 1597 pslld $15-13,%xmm1 1598 pxor %xmm4,%xmm0 1599 pxor %xmm1,%xmm0 1600 paddd %xmm0,%xmm6 1601 movdqa %xmm15,%xmm7 1602 1603 movdqa %xmm15,%xmm2 1604 1605 psrld $6,%xmm7 1606 movdqa %xmm15,%xmm1 1607 pslld $7,%xmm2 1608 movdqa %xmm6,80-128(%rax) 1609 paddd %xmm10,%xmm6 1610 1611 psrld $11,%xmm1 1612 pxor %xmm2,%xmm7 1613 pslld $21-7,%xmm2 1614 paddd 32(%rbp),%xmm6 1615 pxor %xmm1,%xmm7 1616 1617 psrld $25-11,%xmm1 1618 movdqa %xmm15,%xmm0 1619 1620 pxor %xmm2,%xmm7 1621 movdqa %xmm15,%xmm4 1622 pslld $26-21,%xmm2 1623 pandn %xmm9,%xmm0 1624 pand %xmm8,%xmm4 1625 pxor %xmm1,%xmm7 1626 1627 1628 movdqa %xmm11,%xmm1 1629 pxor %xmm2,%xmm7 1630 movdqa %xmm11,%xmm2 1631 psrld $2,%xmm1 1632 paddd %xmm7,%xmm6 1633 pxor %xmm4,%xmm0 1634 movdqa %xmm12,%xmm4 1635 movdqa %xmm11,%xmm7 1636 pslld $10,%xmm2 1637 pxor %xmm11,%xmm4 1638 1639 1640 psrld $13,%xmm7 1641 pxor %xmm2,%xmm1 1642 paddd %xmm0,%xmm6 1643 pslld $19-10,%xmm2 1644 pand %xmm4,%xmm3 1645 pxor %xmm7,%xmm1 1646 1647 1648 psrld $22-13,%xmm7 1649 pxor %xmm2,%xmm1 1650 movdqa %xmm12,%xmm10 1651 pslld $30-19,%xmm2 1652 pxor %xmm1,%xmm7 1653 pxor %xmm3,%xmm10 1654 paddd %xmm6,%xmm14 1655 pxor %xmm2,%xmm7 1656 1657 paddd %xmm6,%xmm10 1658 paddd %xmm7,%xmm10 1659 movdqa 112-128(%rax),%xmm6 1660 paddd 240-128(%rax),%xmm5 1661 1662 movdqa %xmm6,%xmm7 1663 movdqa %xmm6,%xmm1 1664 psrld $3,%xmm7 1665 movdqa %xmm6,%xmm2 1666 1667 psrld $7,%xmm1 1668 movdqa 64-128(%rax),%xmm0 1669 pslld $14,%xmm2 1670 pxor %xmm1,%xmm7 1671 psrld $18-7,%xmm1 1672 movdqa %xmm0,%xmm3 1673 pxor %xmm2,%xmm7 1674 pslld $25-14,%xmm2 1675 pxor %xmm1,%xmm7 1676 psrld $10,%xmm0 1677 movdqa %xmm3,%xmm1 1678 1679 psrld $17,%xmm3 1680 pxor %xmm2,%xmm7 1681 pslld $13,%xmm1 1682 paddd %xmm7,%xmm5 1683 pxor %xmm3,%xmm0 1684 psrld $19-17,%xmm3 1685 pxor %xmm1,%xmm0 1686 pslld $15-13,%xmm1 1687 pxor %xmm3,%xmm0 1688 pxor %xmm1,%xmm0 1689 paddd %xmm0,%xmm5 1690 movdqa %xmm14,%xmm7 1691 1692 movdqa %xmm14,%xmm2 1693 1694 psrld $6,%xmm7 1695 movdqa %xmm14,%xmm1 1696 pslld $7,%xmm2 1697 movdqa %xmm5,96-128(%rax) 1698 paddd %xmm9,%xmm5 1699 1700 psrld $11,%xmm1 1701 pxor %xmm2,%xmm7 1702 pslld $21-7,%xmm2 1703 paddd 64(%rbp),%xmm5 1704 pxor %xmm1,%xmm7 1705 1706 psrld $25-11,%xmm1 1707 movdqa %xmm14,%xmm0 1708 1709 pxor %xmm2,%xmm7 1710 movdqa %xmm14,%xmm3 1711 pslld $26-21,%xmm2 1712 pandn %xmm8,%xmm0 1713 pand %xmm15,%xmm3 1714 pxor %xmm1,%xmm7 1715 1716 1717 movdqa %xmm10,%xmm1 1718 pxor %xmm2,%xmm7 1719 movdqa %xmm10,%xmm2 1720 psrld $2,%xmm1 1721 paddd %xmm7,%xmm5 1722 pxor %xmm3,%xmm0 1723 movdqa %xmm11,%xmm3 1724 movdqa %xmm10,%xmm7 1725 pslld $10,%xmm2 1726 pxor %xmm10,%xmm3 1727 1728 1729 psrld $13,%xmm7 1730 pxor %xmm2,%xmm1 1731 paddd %xmm0,%xmm5 1732 pslld $19-10,%xmm2 1733 pand %xmm3,%xmm4 1734 pxor %xmm7,%xmm1 1735 1736 1737 psrld $22-13,%xmm7 1738 pxor %xmm2,%xmm1 1739 movdqa %xmm11,%xmm9 1740 pslld $30-19,%xmm2 1741 pxor %xmm1,%xmm7 1742 pxor %xmm4,%xmm9 1743 paddd %xmm5,%xmm13 1744 pxor %xmm2,%xmm7 1745 1746 paddd %xmm5,%xmm9 1747 paddd %xmm7,%xmm9 1748 movdqa 128-128(%rax),%xmm5 1749 paddd 0-128(%rax),%xmm6 1750 1751 movdqa %xmm5,%xmm7 1752 movdqa %xmm5,%xmm1 1753 psrld $3,%xmm7 1754 movdqa %xmm5,%xmm2 1755 1756 psrld $7,%xmm1 1757 movdqa 80-128(%rax),%xmm0 1758 pslld $14,%xmm2 1759 pxor %xmm1,%xmm7 1760 psrld $18-7,%xmm1 1761 movdqa %xmm0,%xmm4 1762 pxor %xmm2,%xmm7 1763 pslld $25-14,%xmm2 1764 pxor %xmm1,%xmm7 1765 psrld $10,%xmm0 1766 movdqa %xmm4,%xmm1 1767 1768 psrld $17,%xmm4 1769 pxor %xmm2,%xmm7 1770 pslld $13,%xmm1 1771 paddd %xmm7,%xmm6 1772 pxor %xmm4,%xmm0 1773 psrld $19-17,%xmm4 1774 pxor %xmm1,%xmm0 1775 pslld $15-13,%xmm1 1776 pxor %xmm4,%xmm0 1777 pxor %xmm1,%xmm0 1778 paddd %xmm0,%xmm6 1779 movdqa %xmm13,%xmm7 1780 1781 movdqa %xmm13,%xmm2 1782 1783 psrld $6,%xmm7 1784 movdqa %xmm13,%xmm1 1785 pslld $7,%xmm2 1786 movdqa %xmm6,112-128(%rax) 1787 paddd %xmm8,%xmm6 1788 1789 psrld $11,%xmm1 1790 pxor %xmm2,%xmm7 1791 pslld $21-7,%xmm2 1792 paddd 96(%rbp),%xmm6 1793 pxor %xmm1,%xmm7 1794 1795 psrld $25-11,%xmm1 1796 movdqa %xmm13,%xmm0 1797 1798 pxor %xmm2,%xmm7 1799 movdqa %xmm13,%xmm4 1800 pslld $26-21,%xmm2 1801 pandn %xmm15,%xmm0 1802 pand %xmm14,%xmm4 1803 pxor %xmm1,%xmm7 1804 1805 1806 movdqa %xmm9,%xmm1 1807 pxor %xmm2,%xmm7 1808 movdqa %xmm9,%xmm2 1809 psrld $2,%xmm1 1810 paddd %xmm7,%xmm6 1811 pxor %xmm4,%xmm0 1812 movdqa %xmm10,%xmm4 1813 movdqa %xmm9,%xmm7 1814 pslld $10,%xmm2 1815 pxor %xmm9,%xmm4 1816 1817 1818 psrld $13,%xmm7 1819 pxor %xmm2,%xmm1 1820 paddd %xmm0,%xmm6 1821 pslld $19-10,%xmm2 1822 pand %xmm4,%xmm3 1823 pxor %xmm7,%xmm1 1824 1825 1826 psrld $22-13,%xmm7 1827 pxor %xmm2,%xmm1 1828 movdqa %xmm10,%xmm8 1829 pslld $30-19,%xmm2 1830 pxor %xmm1,%xmm7 1831 pxor %xmm3,%xmm8 1832 paddd %xmm6,%xmm12 1833 pxor %xmm2,%xmm7 1834 1835 paddd %xmm6,%xmm8 1836 paddd %xmm7,%xmm8 1837 leaq 256(%rbp),%rbp 1838 movdqa 144-128(%rax),%xmm6 1839 paddd 16-128(%rax),%xmm5 1840 1841 movdqa %xmm6,%xmm7 1842 movdqa %xmm6,%xmm1 1843 psrld $3,%xmm7 1844 movdqa %xmm6,%xmm2 1845 1846 psrld $7,%xmm1 1847 movdqa 96-128(%rax),%xmm0 1848 pslld $14,%xmm2 1849 pxor %xmm1,%xmm7 1850 psrld $18-7,%xmm1 1851 movdqa %xmm0,%xmm3 1852 pxor %xmm2,%xmm7 1853 pslld $25-14,%xmm2 1854 pxor %xmm1,%xmm7 1855 psrld $10,%xmm0 1856 movdqa %xmm3,%xmm1 1857 1858 psrld $17,%xmm3 1859 pxor %xmm2,%xmm7 1860 pslld $13,%xmm1 1861 paddd %xmm7,%xmm5 1862 pxor %xmm3,%xmm0 1863 psrld $19-17,%xmm3 1864 pxor %xmm1,%xmm0 1865 pslld $15-13,%xmm1 1866 pxor %xmm3,%xmm0 1867 pxor %xmm1,%xmm0 1868 paddd %xmm0,%xmm5 1869 movdqa %xmm12,%xmm7 1870 1871 movdqa %xmm12,%xmm2 1872 1873 psrld $6,%xmm7 1874 movdqa %xmm12,%xmm1 1875 pslld $7,%xmm2 1876 movdqa %xmm5,128-128(%rax) 1877 paddd %xmm15,%xmm5 1878 1879 psrld $11,%xmm1 1880 pxor %xmm2,%xmm7 1881 pslld $21-7,%xmm2 1882 paddd -128(%rbp),%xmm5 1883 pxor %xmm1,%xmm7 1884 1885 psrld $25-11,%xmm1 1886 movdqa %xmm12,%xmm0 1887 1888 pxor %xmm2,%xmm7 1889 movdqa %xmm12,%xmm3 1890 pslld $26-21,%xmm2 1891 pandn %xmm14,%xmm0 1892 pand %xmm13,%xmm3 1893 pxor %xmm1,%xmm7 1894 1895 1896 movdqa %xmm8,%xmm1 1897 pxor %xmm2,%xmm7 1898 movdqa %xmm8,%xmm2 1899 psrld $2,%xmm1 1900 paddd %xmm7,%xmm5 1901 pxor %xmm3,%xmm0 1902 movdqa %xmm9,%xmm3 1903 movdqa %xmm8,%xmm7 1904 pslld $10,%xmm2 1905 pxor %xmm8,%xmm3 1906 1907 1908 psrld $13,%xmm7 1909 pxor %xmm2,%xmm1 1910 paddd %xmm0,%xmm5 1911 pslld $19-10,%xmm2 1912 pand %xmm3,%xmm4 1913 pxor %xmm7,%xmm1 1914 1915 1916 psrld $22-13,%xmm7 1917 pxor %xmm2,%xmm1 1918 movdqa %xmm9,%xmm15 1919 pslld $30-19,%xmm2 1920 pxor %xmm1,%xmm7 1921 pxor %xmm4,%xmm15 1922 paddd %xmm5,%xmm11 1923 pxor %xmm2,%xmm7 1924 1925 paddd %xmm5,%xmm15 1926 paddd %xmm7,%xmm15 1927 movdqa 160-128(%rax),%xmm5 1928 paddd 32-128(%rax),%xmm6 1929 1930 movdqa %xmm5,%xmm7 1931 movdqa %xmm5,%xmm1 1932 psrld $3,%xmm7 1933 movdqa %xmm5,%xmm2 1934 1935 psrld $7,%xmm1 1936 movdqa 112-128(%rax),%xmm0 1937 pslld $14,%xmm2 1938 pxor %xmm1,%xmm7 1939 psrld $18-7,%xmm1 1940 movdqa %xmm0,%xmm4 1941 pxor %xmm2,%xmm7 1942 pslld $25-14,%xmm2 1943 pxor %xmm1,%xmm7 1944 psrld $10,%xmm0 1945 movdqa %xmm4,%xmm1 1946 1947 psrld $17,%xmm4 1948 pxor %xmm2,%xmm7 1949 pslld $13,%xmm1 1950 paddd %xmm7,%xmm6 1951 pxor %xmm4,%xmm0 1952 psrld $19-17,%xmm4 1953 pxor %xmm1,%xmm0 1954 pslld $15-13,%xmm1 1955 pxor %xmm4,%xmm0 1956 pxor %xmm1,%xmm0 1957 paddd %xmm0,%xmm6 1958 movdqa %xmm11,%xmm7 1959 1960 movdqa %xmm11,%xmm2 1961 1962 psrld $6,%xmm7 1963 movdqa %xmm11,%xmm1 1964 pslld $7,%xmm2 1965 movdqa %xmm6,144-128(%rax) 1966 paddd %xmm14,%xmm6 1967 1968 psrld $11,%xmm1 1969 pxor %xmm2,%xmm7 1970 pslld $21-7,%xmm2 1971 paddd -96(%rbp),%xmm6 1972 pxor %xmm1,%xmm7 1973 1974 psrld $25-11,%xmm1 1975 movdqa %xmm11,%xmm0 1976 1977 pxor %xmm2,%xmm7 1978 movdqa %xmm11,%xmm4 1979 pslld $26-21,%xmm2 1980 pandn %xmm13,%xmm0 1981 pand %xmm12,%xmm4 1982 pxor %xmm1,%xmm7 1983 1984 1985 movdqa %xmm15,%xmm1 1986 pxor %xmm2,%xmm7 1987 movdqa %xmm15,%xmm2 1988 psrld $2,%xmm1 1989 paddd %xmm7,%xmm6 1990 pxor %xmm4,%xmm0 1991 movdqa %xmm8,%xmm4 1992 movdqa %xmm15,%xmm7 1993 pslld $10,%xmm2 1994 pxor %xmm15,%xmm4 1995 1996 1997 psrld $13,%xmm7 1998 pxor %xmm2,%xmm1 1999 paddd %xmm0,%xmm6 2000 pslld $19-10,%xmm2 2001 pand %xmm4,%xmm3 2002 pxor %xmm7,%xmm1 2003 2004 2005 psrld $22-13,%xmm7 2006 pxor %xmm2,%xmm1 2007 movdqa %xmm8,%xmm14 2008 pslld $30-19,%xmm2 2009 pxor %xmm1,%xmm7 2010 pxor %xmm3,%xmm14 2011 paddd %xmm6,%xmm10 2012 pxor %xmm2,%xmm7 2013 2014 paddd %xmm6,%xmm14 2015 paddd %xmm7,%xmm14 2016 movdqa 176-128(%rax),%xmm6 2017 paddd 48-128(%rax),%xmm5 2018 2019 movdqa %xmm6,%xmm7 2020 movdqa %xmm6,%xmm1 2021 psrld $3,%xmm7 2022 movdqa %xmm6,%xmm2 2023 2024 psrld $7,%xmm1 2025 movdqa 128-128(%rax),%xmm0 2026 pslld $14,%xmm2 2027 pxor %xmm1,%xmm7 2028 psrld $18-7,%xmm1 2029 movdqa %xmm0,%xmm3 2030 pxor %xmm2,%xmm7 2031 pslld $25-14,%xmm2 2032 pxor %xmm1,%xmm7 2033 psrld $10,%xmm0 2034 movdqa %xmm3,%xmm1 2035 2036 psrld $17,%xmm3 2037 pxor %xmm2,%xmm7 2038 pslld $13,%xmm1 2039 paddd %xmm7,%xmm5 2040 pxor %xmm3,%xmm0 2041 psrld $19-17,%xmm3 2042 pxor %xmm1,%xmm0 2043 pslld $15-13,%xmm1 2044 pxor %xmm3,%xmm0 2045 pxor %xmm1,%xmm0 2046 paddd %xmm0,%xmm5 2047 movdqa %xmm10,%xmm7 2048 2049 movdqa %xmm10,%xmm2 2050 2051 psrld $6,%xmm7 2052 movdqa %xmm10,%xmm1 2053 pslld $7,%xmm2 2054 movdqa %xmm5,160-128(%rax) 2055 paddd %xmm13,%xmm5 2056 2057 psrld $11,%xmm1 2058 pxor %xmm2,%xmm7 2059 pslld $21-7,%xmm2 2060 paddd -64(%rbp),%xmm5 2061 pxor %xmm1,%xmm7 2062 2063 psrld $25-11,%xmm1 2064 movdqa %xmm10,%xmm0 2065 2066 pxor %xmm2,%xmm7 2067 movdqa %xmm10,%xmm3 2068 pslld $26-21,%xmm2 2069 pandn %xmm12,%xmm0 2070 pand %xmm11,%xmm3 2071 pxor %xmm1,%xmm7 2072 2073 2074 movdqa %xmm14,%xmm1 2075 pxor %xmm2,%xmm7 2076 movdqa %xmm14,%xmm2 2077 psrld $2,%xmm1 2078 paddd %xmm7,%xmm5 2079 pxor %xmm3,%xmm0 2080 movdqa %xmm15,%xmm3 2081 movdqa %xmm14,%xmm7 2082 pslld $10,%xmm2 2083 pxor %xmm14,%xmm3 2084 2085 2086 psrld $13,%xmm7 2087 pxor %xmm2,%xmm1 2088 paddd %xmm0,%xmm5 2089 pslld $19-10,%xmm2 2090 pand %xmm3,%xmm4 2091 pxor %xmm7,%xmm1 2092 2093 2094 psrld $22-13,%xmm7 2095 pxor %xmm2,%xmm1 2096 movdqa %xmm15,%xmm13 2097 pslld $30-19,%xmm2 2098 pxor %xmm1,%xmm7 2099 pxor %xmm4,%xmm13 2100 paddd %xmm5,%xmm9 2101 pxor %xmm2,%xmm7 2102 2103 paddd %xmm5,%xmm13 2104 paddd %xmm7,%xmm13 2105 movdqa 192-128(%rax),%xmm5 2106 paddd 64-128(%rax),%xmm6 2107 2108 movdqa %xmm5,%xmm7 2109 movdqa %xmm5,%xmm1 2110 psrld $3,%xmm7 2111 movdqa %xmm5,%xmm2 2112 2113 psrld $7,%xmm1 2114 movdqa 144-128(%rax),%xmm0 2115 pslld $14,%xmm2 2116 pxor %xmm1,%xmm7 2117 psrld $18-7,%xmm1 2118 movdqa %xmm0,%xmm4 2119 pxor %xmm2,%xmm7 2120 pslld $25-14,%xmm2 2121 pxor %xmm1,%xmm7 2122 psrld $10,%xmm0 2123 movdqa %xmm4,%xmm1 2124 2125 psrld $17,%xmm4 2126 pxor %xmm2,%xmm7 2127 pslld $13,%xmm1 2128 paddd %xmm7,%xmm6 2129 pxor %xmm4,%xmm0 2130 psrld $19-17,%xmm4 2131 pxor %xmm1,%xmm0 2132 pslld $15-13,%xmm1 2133 pxor %xmm4,%xmm0 2134 pxor %xmm1,%xmm0 2135 paddd %xmm0,%xmm6 2136 movdqa %xmm9,%xmm7 2137 2138 movdqa %xmm9,%xmm2 2139 2140 psrld $6,%xmm7 2141 movdqa %xmm9,%xmm1 2142 pslld $7,%xmm2 2143 movdqa %xmm6,176-128(%rax) 2144 paddd %xmm12,%xmm6 2145 2146 psrld $11,%xmm1 2147 pxor %xmm2,%xmm7 2148 pslld $21-7,%xmm2 2149 paddd -32(%rbp),%xmm6 2150 pxor %xmm1,%xmm7 2151 2152 psrld $25-11,%xmm1 2153 movdqa %xmm9,%xmm0 2154 2155 pxor %xmm2,%xmm7 2156 movdqa %xmm9,%xmm4 2157 pslld $26-21,%xmm2 2158 pandn %xmm11,%xmm0 2159 pand %xmm10,%xmm4 2160 pxor %xmm1,%xmm7 2161 2162 2163 movdqa %xmm13,%xmm1 2164 pxor %xmm2,%xmm7 2165 movdqa %xmm13,%xmm2 2166 psrld $2,%xmm1 2167 paddd %xmm7,%xmm6 2168 pxor %xmm4,%xmm0 2169 movdqa %xmm14,%xmm4 2170 movdqa %xmm13,%xmm7 2171 pslld $10,%xmm2 2172 pxor %xmm13,%xmm4 2173 2174 2175 psrld $13,%xmm7 2176 pxor %xmm2,%xmm1 2177 paddd %xmm0,%xmm6 2178 pslld $19-10,%xmm2 2179 pand %xmm4,%xmm3 2180 pxor %xmm7,%xmm1 2181 2182 2183 psrld $22-13,%xmm7 2184 pxor %xmm2,%xmm1 2185 movdqa %xmm14,%xmm12 2186 pslld $30-19,%xmm2 2187 pxor %xmm1,%xmm7 2188 pxor %xmm3,%xmm12 2189 paddd %xmm6,%xmm8 2190 pxor %xmm2,%xmm7 2191 2192 paddd %xmm6,%xmm12 2193 paddd %xmm7,%xmm12 2194 movdqa 208-128(%rax),%xmm6 2195 paddd 80-128(%rax),%xmm5 2196 2197 movdqa %xmm6,%xmm7 2198 movdqa %xmm6,%xmm1 2199 psrld $3,%xmm7 2200 movdqa %xmm6,%xmm2 2201 2202 psrld $7,%xmm1 2203 movdqa 160-128(%rax),%xmm0 2204 pslld $14,%xmm2 2205 pxor %xmm1,%xmm7 2206 psrld $18-7,%xmm1 2207 movdqa %xmm0,%xmm3 2208 pxor %xmm2,%xmm7 2209 pslld $25-14,%xmm2 2210 pxor %xmm1,%xmm7 2211 psrld $10,%xmm0 2212 movdqa %xmm3,%xmm1 2213 2214 psrld $17,%xmm3 2215 pxor %xmm2,%xmm7 2216 pslld $13,%xmm1 2217 paddd %xmm7,%xmm5 2218 pxor %xmm3,%xmm0 2219 psrld $19-17,%xmm3 2220 pxor %xmm1,%xmm0 2221 pslld $15-13,%xmm1 2222 pxor %xmm3,%xmm0 2223 pxor %xmm1,%xmm0 2224 paddd %xmm0,%xmm5 2225 movdqa %xmm8,%xmm7 2226 2227 movdqa %xmm8,%xmm2 2228 2229 psrld $6,%xmm7 2230 movdqa %xmm8,%xmm1 2231 pslld $7,%xmm2 2232 movdqa %xmm5,192-128(%rax) 2233 paddd %xmm11,%xmm5 2234 2235 psrld $11,%xmm1 2236 pxor %xmm2,%xmm7 2237 pslld $21-7,%xmm2 2238 paddd 0(%rbp),%xmm5 2239 pxor %xmm1,%xmm7 2240 2241 psrld $25-11,%xmm1 2242 movdqa %xmm8,%xmm0 2243 2244 pxor %xmm2,%xmm7 2245 movdqa %xmm8,%xmm3 2246 pslld $26-21,%xmm2 2247 pandn %xmm10,%xmm0 2248 pand %xmm9,%xmm3 2249 pxor %xmm1,%xmm7 2250 2251 2252 movdqa %xmm12,%xmm1 2253 pxor %xmm2,%xmm7 2254 movdqa %xmm12,%xmm2 2255 psrld $2,%xmm1 2256 paddd %xmm7,%xmm5 2257 pxor %xmm3,%xmm0 2258 movdqa %xmm13,%xmm3 2259 movdqa %xmm12,%xmm7 2260 pslld $10,%xmm2 2261 pxor %xmm12,%xmm3 2262 2263 2264 psrld $13,%xmm7 2265 pxor %xmm2,%xmm1 2266 paddd %xmm0,%xmm5 2267 pslld $19-10,%xmm2 2268 pand %xmm3,%xmm4 2269 pxor %xmm7,%xmm1 2270 2271 2272 psrld $22-13,%xmm7 2273 pxor %xmm2,%xmm1 2274 movdqa %xmm13,%xmm11 2275 pslld $30-19,%xmm2 2276 pxor %xmm1,%xmm7 2277 pxor %xmm4,%xmm11 2278 paddd %xmm5,%xmm15 2279 pxor %xmm2,%xmm7 2280 2281 paddd %xmm5,%xmm11 2282 paddd %xmm7,%xmm11 2283 movdqa 224-128(%rax),%xmm5 2284 paddd 96-128(%rax),%xmm6 2285 2286 movdqa %xmm5,%xmm7 2287 movdqa %xmm5,%xmm1 2288 psrld $3,%xmm7 2289 movdqa %xmm5,%xmm2 2290 2291 psrld $7,%xmm1 2292 movdqa 176-128(%rax),%xmm0 2293 pslld $14,%xmm2 2294 pxor %xmm1,%xmm7 2295 psrld $18-7,%xmm1 2296 movdqa %xmm0,%xmm4 2297 pxor %xmm2,%xmm7 2298 pslld $25-14,%xmm2 2299 pxor %xmm1,%xmm7 2300 psrld $10,%xmm0 2301 movdqa %xmm4,%xmm1 2302 2303 psrld $17,%xmm4 2304 pxor %xmm2,%xmm7 2305 pslld $13,%xmm1 2306 paddd %xmm7,%xmm6 2307 pxor %xmm4,%xmm0 2308 psrld $19-17,%xmm4 2309 pxor %xmm1,%xmm0 2310 pslld $15-13,%xmm1 2311 pxor %xmm4,%xmm0 2312 pxor %xmm1,%xmm0 2313 paddd %xmm0,%xmm6 2314 movdqa %xmm15,%xmm7 2315 2316 movdqa %xmm15,%xmm2 2317 2318 psrld $6,%xmm7 2319 movdqa %xmm15,%xmm1 2320 pslld $7,%xmm2 2321 movdqa %xmm6,208-128(%rax) 2322 paddd %xmm10,%xmm6 2323 2324 psrld $11,%xmm1 2325 pxor %xmm2,%xmm7 2326 pslld $21-7,%xmm2 2327 paddd 32(%rbp),%xmm6 2328 pxor %xmm1,%xmm7 2329 2330 psrld $25-11,%xmm1 2331 movdqa %xmm15,%xmm0 2332 2333 pxor %xmm2,%xmm7 2334 movdqa %xmm15,%xmm4 2335 pslld $26-21,%xmm2 2336 pandn %xmm9,%xmm0 2337 pand %xmm8,%xmm4 2338 pxor %xmm1,%xmm7 2339 2340 2341 movdqa %xmm11,%xmm1 2342 pxor %xmm2,%xmm7 2343 movdqa %xmm11,%xmm2 2344 psrld $2,%xmm1 2345 paddd %xmm7,%xmm6 2346 pxor %xmm4,%xmm0 2347 movdqa %xmm12,%xmm4 2348 movdqa %xmm11,%xmm7 2349 pslld $10,%xmm2 2350 pxor %xmm11,%xmm4 2351 2352 2353 psrld $13,%xmm7 2354 pxor %xmm2,%xmm1 2355 paddd %xmm0,%xmm6 2356 pslld $19-10,%xmm2 2357 pand %xmm4,%xmm3 2358 pxor %xmm7,%xmm1 2359 2360 2361 psrld $22-13,%xmm7 2362 pxor %xmm2,%xmm1 2363 movdqa %xmm12,%xmm10 2364 pslld $30-19,%xmm2 2365 pxor %xmm1,%xmm7 2366 pxor %xmm3,%xmm10 2367 paddd %xmm6,%xmm14 2368 pxor %xmm2,%xmm7 2369 2370 paddd %xmm6,%xmm10 2371 paddd %xmm7,%xmm10 2372 movdqa 240-128(%rax),%xmm6 2373 paddd 112-128(%rax),%xmm5 2374 2375 movdqa %xmm6,%xmm7 2376 movdqa %xmm6,%xmm1 2377 psrld $3,%xmm7 2378 movdqa %xmm6,%xmm2 2379 2380 psrld $7,%xmm1 2381 movdqa 192-128(%rax),%xmm0 2382 pslld $14,%xmm2 2383 pxor %xmm1,%xmm7 2384 psrld $18-7,%xmm1 2385 movdqa %xmm0,%xmm3 2386 pxor %xmm2,%xmm7 2387 pslld $25-14,%xmm2 2388 pxor %xmm1,%xmm7 2389 psrld $10,%xmm0 2390 movdqa %xmm3,%xmm1 2391 2392 psrld $17,%xmm3 2393 pxor %xmm2,%xmm7 2394 pslld $13,%xmm1 2395 paddd %xmm7,%xmm5 2396 pxor %xmm3,%xmm0 2397 psrld $19-17,%xmm3 2398 pxor %xmm1,%xmm0 2399 pslld $15-13,%xmm1 2400 pxor %xmm3,%xmm0 2401 pxor %xmm1,%xmm0 2402 paddd %xmm0,%xmm5 2403 movdqa %xmm14,%xmm7 2404 2405 movdqa %xmm14,%xmm2 2406 2407 psrld $6,%xmm7 2408 movdqa %xmm14,%xmm1 2409 pslld $7,%xmm2 2410 movdqa %xmm5,224-128(%rax) 2411 paddd %xmm9,%xmm5 2412 2413 psrld $11,%xmm1 2414 pxor %xmm2,%xmm7 2415 pslld $21-7,%xmm2 2416 paddd 64(%rbp),%xmm5 2417 pxor %xmm1,%xmm7 2418 2419 psrld $25-11,%xmm1 2420 movdqa %xmm14,%xmm0 2421 2422 pxor %xmm2,%xmm7 2423 movdqa %xmm14,%xmm3 2424 pslld $26-21,%xmm2 2425 pandn %xmm8,%xmm0 2426 pand %xmm15,%xmm3 2427 pxor %xmm1,%xmm7 2428 2429 2430 movdqa %xmm10,%xmm1 2431 pxor %xmm2,%xmm7 2432 movdqa %xmm10,%xmm2 2433 psrld $2,%xmm1 2434 paddd %xmm7,%xmm5 2435 pxor %xmm3,%xmm0 2436 movdqa %xmm11,%xmm3 2437 movdqa %xmm10,%xmm7 2438 pslld $10,%xmm2 2439 pxor %xmm10,%xmm3 2440 2441 2442 psrld $13,%xmm7 2443 pxor %xmm2,%xmm1 2444 paddd %xmm0,%xmm5 2445 pslld $19-10,%xmm2 2446 pand %xmm3,%xmm4 2447 pxor %xmm7,%xmm1 2448 2449 2450 psrld $22-13,%xmm7 2451 pxor %xmm2,%xmm1 2452 movdqa %xmm11,%xmm9 2453 pslld $30-19,%xmm2 2454 pxor %xmm1,%xmm7 2455 pxor %xmm4,%xmm9 2456 paddd %xmm5,%xmm13 2457 pxor %xmm2,%xmm7 2458 2459 paddd %xmm5,%xmm9 2460 paddd %xmm7,%xmm9 2461 movdqa 0-128(%rax),%xmm5 2462 paddd 128-128(%rax),%xmm6 2463 2464 movdqa %xmm5,%xmm7 2465 movdqa %xmm5,%xmm1 2466 psrld $3,%xmm7 2467 movdqa %xmm5,%xmm2 2468 2469 psrld $7,%xmm1 2470 movdqa 208-128(%rax),%xmm0 2471 pslld $14,%xmm2 2472 pxor %xmm1,%xmm7 2473 psrld $18-7,%xmm1 2474 movdqa %xmm0,%xmm4 2475 pxor %xmm2,%xmm7 2476 pslld $25-14,%xmm2 2477 pxor %xmm1,%xmm7 2478 psrld $10,%xmm0 2479 movdqa %xmm4,%xmm1 2480 2481 psrld $17,%xmm4 2482 pxor %xmm2,%xmm7 2483 pslld $13,%xmm1 2484 paddd %xmm7,%xmm6 2485 pxor %xmm4,%xmm0 2486 psrld $19-17,%xmm4 2487 pxor %xmm1,%xmm0 2488 pslld $15-13,%xmm1 2489 pxor %xmm4,%xmm0 2490 pxor %xmm1,%xmm0 2491 paddd %xmm0,%xmm6 2492 movdqa %xmm13,%xmm7 2493 2494 movdqa %xmm13,%xmm2 2495 2496 psrld $6,%xmm7 2497 movdqa %xmm13,%xmm1 2498 pslld $7,%xmm2 2499 movdqa %xmm6,240-128(%rax) 2500 paddd %xmm8,%xmm6 2501 2502 psrld $11,%xmm1 2503 pxor %xmm2,%xmm7 2504 pslld $21-7,%xmm2 2505 paddd 96(%rbp),%xmm6 2506 pxor %xmm1,%xmm7 2507 2508 psrld $25-11,%xmm1 2509 movdqa %xmm13,%xmm0 2510 2511 pxor %xmm2,%xmm7 2512 movdqa %xmm13,%xmm4 2513 pslld $26-21,%xmm2 2514 pandn %xmm15,%xmm0 2515 pand %xmm14,%xmm4 2516 pxor %xmm1,%xmm7 2517 2518 2519 movdqa %xmm9,%xmm1 2520 pxor %xmm2,%xmm7 2521 movdqa %xmm9,%xmm2 2522 psrld $2,%xmm1 2523 paddd %xmm7,%xmm6 2524 pxor %xmm4,%xmm0 2525 movdqa %xmm10,%xmm4 2526 movdqa %xmm9,%xmm7 2527 pslld $10,%xmm2 2528 pxor %xmm9,%xmm4 2529 2530 2531 psrld $13,%xmm7 2532 pxor %xmm2,%xmm1 2533 paddd %xmm0,%xmm6 2534 pslld $19-10,%xmm2 2535 pand %xmm4,%xmm3 2536 pxor %xmm7,%xmm1 2537 2538 2539 psrld $22-13,%xmm7 2540 pxor %xmm2,%xmm1 2541 movdqa %xmm10,%xmm8 2542 pslld $30-19,%xmm2 2543 pxor %xmm1,%xmm7 2544 pxor %xmm3,%xmm8 2545 paddd %xmm6,%xmm12 2546 pxor %xmm2,%xmm7 2547 2548 paddd %xmm6,%xmm8 2549 paddd %xmm7,%xmm8 2550 leaq 256(%rbp),%rbp 2551 decl %ecx 2552 jnz .Loop_16_xx 2553 2554 movl $1,%ecx 2555 leaq K256+128(%rip),%rbp 2556 2557 movdqa (%rbx),%xmm7 2558 cmpl 0(%rbx),%ecx 2559 pxor %xmm0,%xmm0 2560 cmovgeq %rbp,%r8 2561 cmpl 4(%rbx),%ecx 2562 movdqa %xmm7,%xmm6 2563 cmovgeq %rbp,%r9 2564 cmpl 8(%rbx),%ecx 2565 pcmpgtd %xmm0,%xmm6 2566 cmovgeq %rbp,%r10 2567 cmpl 12(%rbx),%ecx 2568 paddd %xmm6,%xmm7 2569 cmovgeq %rbp,%r11 2570 2571 movdqu 0-128(%rdi),%xmm0 2572 pand %xmm6,%xmm8 2573 movdqu 32-128(%rdi),%xmm1 2574 pand %xmm6,%xmm9 2575 movdqu 64-128(%rdi),%xmm2 2576 pand %xmm6,%xmm10 2577 movdqu 96-128(%rdi),%xmm5 2578 pand %xmm6,%xmm11 2579 paddd %xmm0,%xmm8 2580 movdqu 128-128(%rdi),%xmm0 2581 pand %xmm6,%xmm12 2582 paddd %xmm1,%xmm9 2583 movdqu 160-128(%rdi),%xmm1 2584 pand %xmm6,%xmm13 2585 paddd %xmm2,%xmm10 2586 movdqu 192-128(%rdi),%xmm2 2587 pand %xmm6,%xmm14 2588 paddd %xmm5,%xmm11 2589 movdqu 224-128(%rdi),%xmm5 2590 pand %xmm6,%xmm15 2591 paddd %xmm0,%xmm12 2592 paddd %xmm1,%xmm13 2593 movdqu %xmm8,0-128(%rdi) 2594 paddd %xmm2,%xmm14 2595 movdqu %xmm9,32-128(%rdi) 2596 paddd %xmm5,%xmm15 2597 movdqu %xmm10,64-128(%rdi) 2598 movdqu %xmm11,96-128(%rdi) 2599 movdqu %xmm12,128-128(%rdi) 2600 movdqu %xmm13,160-128(%rdi) 2601 movdqu %xmm14,192-128(%rdi) 2602 movdqu %xmm15,224-128(%rdi) 2603 2604 movdqa %xmm7,(%rbx) 2605 movdqa .Lpbswap(%rip),%xmm6 2606 decl %edx 2607 jnz .Loop 2608 2609 movl 280(%rsp),%edx 2610 leaq 16(%rdi),%rdi 2611 leaq 64(%rsi),%rsi 2612 decl %edx 2613 jnz .Loop_grande 2614 2615.Ldone: 2616 movq 272(%rsp),%rax 2617 movq -16(%rax),%rbp 2618 movq -8(%rax),%rbx 2619 leaq (%rax),%rsp 2620.Lepilogue: 2621 .byte 0xf3,0xc3 2622.size sha256_multi_block,.-sha256_multi_block 2623.type sha256_multi_block_shaext,@function 2624.align 32 2625sha256_multi_block_shaext: 2626_shaext_shortcut: 2627 movq %rsp,%rax 2628 pushq %rbx 2629 pushq %rbp 2630 subq $288,%rsp 2631 shll $1,%edx 2632 andq $-256,%rsp 2633 leaq 128(%rdi),%rdi 2634 movq %rax,272(%rsp) 2635.Lbody_shaext: 2636 leaq 256(%rsp),%rbx 2637 leaq K256_shaext+128(%rip),%rbp 2638 2639.Loop_grande_shaext: 2640 movl %edx,280(%rsp) 2641 xorl %edx,%edx 2642 movq 0(%rsi),%r8 2643 movl 8(%rsi),%ecx 2644 cmpl %edx,%ecx 2645 cmovgl %ecx,%edx 2646 testl %ecx,%ecx 2647 movl %ecx,0(%rbx) 2648 cmovleq %rsp,%r8 2649 movq 16(%rsi),%r9 2650 movl 24(%rsi),%ecx 2651 cmpl %edx,%ecx 2652 cmovgl %ecx,%edx 2653 testl %ecx,%ecx 2654 movl %ecx,4(%rbx) 2655 cmovleq %rsp,%r9 2656 testl %edx,%edx 2657 jz .Ldone_shaext 2658 2659 movq 0-128(%rdi),%xmm12 2660 movq 32-128(%rdi),%xmm4 2661 movq 64-128(%rdi),%xmm13 2662 movq 96-128(%rdi),%xmm5 2663 movq 128-128(%rdi),%xmm8 2664 movq 160-128(%rdi),%xmm9 2665 movq 192-128(%rdi),%xmm10 2666 movq 224-128(%rdi),%xmm11 2667 2668 punpckldq %xmm4,%xmm12 2669 punpckldq %xmm5,%xmm13 2670 punpckldq %xmm9,%xmm8 2671 punpckldq %xmm11,%xmm10 2672 movdqa K256_shaext-16(%rip),%xmm3 2673 2674 movdqa %xmm12,%xmm14 2675 movdqa %xmm13,%xmm15 2676 punpcklqdq %xmm8,%xmm12 2677 punpcklqdq %xmm10,%xmm13 2678 punpckhqdq %xmm8,%xmm14 2679 punpckhqdq %xmm10,%xmm15 2680 2681 pshufd $27,%xmm12,%xmm12 2682 pshufd $27,%xmm13,%xmm13 2683 pshufd $27,%xmm14,%xmm14 2684 pshufd $27,%xmm15,%xmm15 2685 jmp .Loop_shaext 2686 2687.align 32 2688.Loop_shaext: 2689 movdqu 0(%r8),%xmm4 2690 movdqu 0(%r9),%xmm8 2691 movdqu 16(%r8),%xmm5 2692 movdqu 16(%r9),%xmm9 2693 movdqu 32(%r8),%xmm6 2694.byte 102,15,56,0,227 2695 movdqu 32(%r9),%xmm10 2696.byte 102,68,15,56,0,195 2697 movdqu 48(%r8),%xmm7 2698 leaq 64(%r8),%r8 2699 movdqu 48(%r9),%xmm11 2700 leaq 64(%r9),%r9 2701 2702 movdqa 0-128(%rbp),%xmm0 2703.byte 102,15,56,0,235 2704 paddd %xmm4,%xmm0 2705 pxor %xmm12,%xmm4 2706 movdqa %xmm0,%xmm1 2707 movdqa 0-128(%rbp),%xmm2 2708.byte 102,68,15,56,0,203 2709 paddd %xmm8,%xmm2 2710 movdqa %xmm13,80(%rsp) 2711.byte 69,15,56,203,236 2712 pxor %xmm14,%xmm8 2713 movdqa %xmm2,%xmm0 2714 movdqa %xmm15,112(%rsp) 2715.byte 69,15,56,203,254 2716 pshufd $0x0e,%xmm1,%xmm0 2717 pxor %xmm12,%xmm4 2718 movdqa %xmm12,64(%rsp) 2719.byte 69,15,56,203,229 2720 pshufd $0x0e,%xmm2,%xmm0 2721 pxor %xmm14,%xmm8 2722 movdqa %xmm14,96(%rsp) 2723 movdqa 16-128(%rbp),%xmm1 2724 paddd %xmm5,%xmm1 2725.byte 102,15,56,0,243 2726.byte 69,15,56,203,247 2727 2728 movdqa %xmm1,%xmm0 2729 movdqa 16-128(%rbp),%xmm2 2730 paddd %xmm9,%xmm2 2731.byte 69,15,56,203,236 2732 movdqa %xmm2,%xmm0 2733 prefetcht0 127(%r8) 2734.byte 102,15,56,0,251 2735.byte 102,68,15,56,0,211 2736 prefetcht0 127(%r9) 2737.byte 69,15,56,203,254 2738 pshufd $0x0e,%xmm1,%xmm0 2739.byte 102,68,15,56,0,219 2740.byte 15,56,204,229 2741.byte 69,15,56,203,229 2742 pshufd $0x0e,%xmm2,%xmm0 2743 movdqa 32-128(%rbp),%xmm1 2744 paddd %xmm6,%xmm1 2745.byte 69,15,56,203,247 2746 2747 movdqa %xmm1,%xmm0 2748 movdqa 32-128(%rbp),%xmm2 2749 paddd %xmm10,%xmm2 2750.byte 69,15,56,203,236 2751.byte 69,15,56,204,193 2752 movdqa %xmm2,%xmm0 2753 movdqa %xmm7,%xmm3 2754.byte 69,15,56,203,254 2755 pshufd $0x0e,%xmm1,%xmm0 2756.byte 102,15,58,15,222,4 2757 paddd %xmm3,%xmm4 2758 movdqa %xmm11,%xmm3 2759.byte 102,65,15,58,15,218,4 2760.byte 15,56,204,238 2761.byte 69,15,56,203,229 2762 pshufd $0x0e,%xmm2,%xmm0 2763 movdqa 48-128(%rbp),%xmm1 2764 paddd %xmm7,%xmm1 2765.byte 69,15,56,203,247 2766.byte 69,15,56,204,202 2767 2768 movdqa %xmm1,%xmm0 2769 movdqa 48-128(%rbp),%xmm2 2770 paddd %xmm3,%xmm8 2771 paddd %xmm11,%xmm2 2772.byte 15,56,205,231 2773.byte 69,15,56,203,236 2774 movdqa %xmm2,%xmm0 2775 movdqa %xmm4,%xmm3 2776.byte 102,15,58,15,223,4 2777.byte 69,15,56,203,254 2778.byte 69,15,56,205,195 2779 pshufd $0x0e,%xmm1,%xmm0 2780 paddd %xmm3,%xmm5 2781 movdqa %xmm8,%xmm3 2782.byte 102,65,15,58,15,219,4 2783.byte 15,56,204,247 2784.byte 69,15,56,203,229 2785 pshufd $0x0e,%xmm2,%xmm0 2786 movdqa 64-128(%rbp),%xmm1 2787 paddd %xmm4,%xmm1 2788.byte 69,15,56,203,247 2789.byte 69,15,56,204,211 2790 movdqa %xmm1,%xmm0 2791 movdqa 64-128(%rbp),%xmm2 2792 paddd %xmm3,%xmm9 2793 paddd %xmm8,%xmm2 2794.byte 15,56,205,236 2795.byte 69,15,56,203,236 2796 movdqa %xmm2,%xmm0 2797 movdqa %xmm5,%xmm3 2798.byte 102,15,58,15,220,4 2799.byte 69,15,56,203,254 2800.byte 69,15,56,205,200 2801 pshufd $0x0e,%xmm1,%xmm0 2802 paddd %xmm3,%xmm6 2803 movdqa %xmm9,%xmm3 2804.byte 102,65,15,58,15,216,4 2805.byte 15,56,204,252 2806.byte 69,15,56,203,229 2807 pshufd $0x0e,%xmm2,%xmm0 2808 movdqa 80-128(%rbp),%xmm1 2809 paddd %xmm5,%xmm1 2810.byte 69,15,56,203,247 2811.byte 69,15,56,204,216 2812 movdqa %xmm1,%xmm0 2813 movdqa 80-128(%rbp),%xmm2 2814 paddd %xmm3,%xmm10 2815 paddd %xmm9,%xmm2 2816.byte 15,56,205,245 2817.byte 69,15,56,203,236 2818 movdqa %xmm2,%xmm0 2819 movdqa %xmm6,%xmm3 2820.byte 102,15,58,15,221,4 2821.byte 69,15,56,203,254 2822.byte 69,15,56,205,209 2823 pshufd $0x0e,%xmm1,%xmm0 2824 paddd %xmm3,%xmm7 2825 movdqa %xmm10,%xmm3 2826.byte 102,65,15,58,15,217,4 2827.byte 15,56,204,229 2828.byte 69,15,56,203,229 2829 pshufd $0x0e,%xmm2,%xmm0 2830 movdqa 96-128(%rbp),%xmm1 2831 paddd %xmm6,%xmm1 2832.byte 69,15,56,203,247 2833.byte 69,15,56,204,193 2834 movdqa %xmm1,%xmm0 2835 movdqa 96-128(%rbp),%xmm2 2836 paddd %xmm3,%xmm11 2837 paddd %xmm10,%xmm2 2838.byte 15,56,205,254 2839.byte 69,15,56,203,236 2840 movdqa %xmm2,%xmm0 2841 movdqa %xmm7,%xmm3 2842.byte 102,15,58,15,222,4 2843.byte 69,15,56,203,254 2844.byte 69,15,56,205,218 2845 pshufd $0x0e,%xmm1,%xmm0 2846 paddd %xmm3,%xmm4 2847 movdqa %xmm11,%xmm3 2848.byte 102,65,15,58,15,218,4 2849.byte 15,56,204,238 2850.byte 69,15,56,203,229 2851 pshufd $0x0e,%xmm2,%xmm0 2852 movdqa 112-128(%rbp),%xmm1 2853 paddd %xmm7,%xmm1 2854.byte 69,15,56,203,247 2855.byte 69,15,56,204,202 2856 movdqa %xmm1,%xmm0 2857 movdqa 112-128(%rbp),%xmm2 2858 paddd %xmm3,%xmm8 2859 paddd %xmm11,%xmm2 2860.byte 15,56,205,231 2861.byte 69,15,56,203,236 2862 movdqa %xmm2,%xmm0 2863 movdqa %xmm4,%xmm3 2864.byte 102,15,58,15,223,4 2865.byte 69,15,56,203,254 2866.byte 69,15,56,205,195 2867 pshufd $0x0e,%xmm1,%xmm0 2868 paddd %xmm3,%xmm5 2869 movdqa %xmm8,%xmm3 2870.byte 102,65,15,58,15,219,4 2871.byte 15,56,204,247 2872.byte 69,15,56,203,229 2873 pshufd $0x0e,%xmm2,%xmm0 2874 movdqa 128-128(%rbp),%xmm1 2875 paddd %xmm4,%xmm1 2876.byte 69,15,56,203,247 2877.byte 69,15,56,204,211 2878 movdqa %xmm1,%xmm0 2879 movdqa 128-128(%rbp),%xmm2 2880 paddd %xmm3,%xmm9 2881 paddd %xmm8,%xmm2 2882.byte 15,56,205,236 2883.byte 69,15,56,203,236 2884 movdqa %xmm2,%xmm0 2885 movdqa %xmm5,%xmm3 2886.byte 102,15,58,15,220,4 2887.byte 69,15,56,203,254 2888.byte 69,15,56,205,200 2889 pshufd $0x0e,%xmm1,%xmm0 2890 paddd %xmm3,%xmm6 2891 movdqa %xmm9,%xmm3 2892.byte 102,65,15,58,15,216,4 2893.byte 15,56,204,252 2894.byte 69,15,56,203,229 2895 pshufd $0x0e,%xmm2,%xmm0 2896 movdqa 144-128(%rbp),%xmm1 2897 paddd %xmm5,%xmm1 2898.byte 69,15,56,203,247 2899.byte 69,15,56,204,216 2900 movdqa %xmm1,%xmm0 2901 movdqa 144-128(%rbp),%xmm2 2902 paddd %xmm3,%xmm10 2903 paddd %xmm9,%xmm2 2904.byte 15,56,205,245 2905.byte 69,15,56,203,236 2906 movdqa %xmm2,%xmm0 2907 movdqa %xmm6,%xmm3 2908.byte 102,15,58,15,221,4 2909.byte 69,15,56,203,254 2910.byte 69,15,56,205,209 2911 pshufd $0x0e,%xmm1,%xmm0 2912 paddd %xmm3,%xmm7 2913 movdqa %xmm10,%xmm3 2914.byte 102,65,15,58,15,217,4 2915.byte 15,56,204,229 2916.byte 69,15,56,203,229 2917 pshufd $0x0e,%xmm2,%xmm0 2918 movdqa 160-128(%rbp),%xmm1 2919 paddd %xmm6,%xmm1 2920.byte 69,15,56,203,247 2921.byte 69,15,56,204,193 2922 movdqa %xmm1,%xmm0 2923 movdqa 160-128(%rbp),%xmm2 2924 paddd %xmm3,%xmm11 2925 paddd %xmm10,%xmm2 2926.byte 15,56,205,254 2927.byte 69,15,56,203,236 2928 movdqa %xmm2,%xmm0 2929 movdqa %xmm7,%xmm3 2930.byte 102,15,58,15,222,4 2931.byte 69,15,56,203,254 2932.byte 69,15,56,205,218 2933 pshufd $0x0e,%xmm1,%xmm0 2934 paddd %xmm3,%xmm4 2935 movdqa %xmm11,%xmm3 2936.byte 102,65,15,58,15,218,4 2937.byte 15,56,204,238 2938.byte 69,15,56,203,229 2939 pshufd $0x0e,%xmm2,%xmm0 2940 movdqa 176-128(%rbp),%xmm1 2941 paddd %xmm7,%xmm1 2942.byte 69,15,56,203,247 2943.byte 69,15,56,204,202 2944 movdqa %xmm1,%xmm0 2945 movdqa 176-128(%rbp),%xmm2 2946 paddd %xmm3,%xmm8 2947 paddd %xmm11,%xmm2 2948.byte 15,56,205,231 2949.byte 69,15,56,203,236 2950 movdqa %xmm2,%xmm0 2951 movdqa %xmm4,%xmm3 2952.byte 102,15,58,15,223,4 2953.byte 69,15,56,203,254 2954.byte 69,15,56,205,195 2955 pshufd $0x0e,%xmm1,%xmm0 2956 paddd %xmm3,%xmm5 2957 movdqa %xmm8,%xmm3 2958.byte 102,65,15,58,15,219,4 2959.byte 15,56,204,247 2960.byte 69,15,56,203,229 2961 pshufd $0x0e,%xmm2,%xmm0 2962 movdqa 192-128(%rbp),%xmm1 2963 paddd %xmm4,%xmm1 2964.byte 69,15,56,203,247 2965.byte 69,15,56,204,211 2966 movdqa %xmm1,%xmm0 2967 movdqa 192-128(%rbp),%xmm2 2968 paddd %xmm3,%xmm9 2969 paddd %xmm8,%xmm2 2970.byte 15,56,205,236 2971.byte 69,15,56,203,236 2972 movdqa %xmm2,%xmm0 2973 movdqa %xmm5,%xmm3 2974.byte 102,15,58,15,220,4 2975.byte 69,15,56,203,254 2976.byte 69,15,56,205,200 2977 pshufd $0x0e,%xmm1,%xmm0 2978 paddd %xmm3,%xmm6 2979 movdqa %xmm9,%xmm3 2980.byte 102,65,15,58,15,216,4 2981.byte 15,56,204,252 2982.byte 69,15,56,203,229 2983 pshufd $0x0e,%xmm2,%xmm0 2984 movdqa 208-128(%rbp),%xmm1 2985 paddd %xmm5,%xmm1 2986.byte 69,15,56,203,247 2987.byte 69,15,56,204,216 2988 movdqa %xmm1,%xmm0 2989 movdqa 208-128(%rbp),%xmm2 2990 paddd %xmm3,%xmm10 2991 paddd %xmm9,%xmm2 2992.byte 15,56,205,245 2993.byte 69,15,56,203,236 2994 movdqa %xmm2,%xmm0 2995 movdqa %xmm6,%xmm3 2996.byte 102,15,58,15,221,4 2997.byte 69,15,56,203,254 2998.byte 69,15,56,205,209 2999 pshufd $0x0e,%xmm1,%xmm0 3000 paddd %xmm3,%xmm7 3001 movdqa %xmm10,%xmm3 3002.byte 102,65,15,58,15,217,4 3003 nop 3004.byte 69,15,56,203,229 3005 pshufd $0x0e,%xmm2,%xmm0 3006 movdqa 224-128(%rbp),%xmm1 3007 paddd %xmm6,%xmm1 3008.byte 69,15,56,203,247 3009 3010 movdqa %xmm1,%xmm0 3011 movdqa 224-128(%rbp),%xmm2 3012 paddd %xmm3,%xmm11 3013 paddd %xmm10,%xmm2 3014.byte 15,56,205,254 3015 nop 3016.byte 69,15,56,203,236 3017 movdqa %xmm2,%xmm0 3018 movl $1,%ecx 3019 pxor %xmm6,%xmm6 3020.byte 69,15,56,203,254 3021.byte 69,15,56,205,218 3022 pshufd $0x0e,%xmm1,%xmm0 3023 movdqa 240-128(%rbp),%xmm1 3024 paddd %xmm7,%xmm1 3025 movq (%rbx),%xmm7 3026 nop 3027.byte 69,15,56,203,229 3028 pshufd $0x0e,%xmm2,%xmm0 3029 movdqa 240-128(%rbp),%xmm2 3030 paddd %xmm11,%xmm2 3031.byte 69,15,56,203,247 3032 3033 movdqa %xmm1,%xmm0 3034 cmpl 0(%rbx),%ecx 3035 cmovgeq %rsp,%r8 3036 cmpl 4(%rbx),%ecx 3037 cmovgeq %rsp,%r9 3038 pshufd $0x00,%xmm7,%xmm9 3039.byte 69,15,56,203,236 3040 movdqa %xmm2,%xmm0 3041 pshufd $0x55,%xmm7,%xmm10 3042 movdqa %xmm7,%xmm11 3043.byte 69,15,56,203,254 3044 pshufd $0x0e,%xmm1,%xmm0 3045 pcmpgtd %xmm6,%xmm9 3046 pcmpgtd %xmm6,%xmm10 3047.byte 69,15,56,203,229 3048 pshufd $0x0e,%xmm2,%xmm0 3049 pcmpgtd %xmm6,%xmm11 3050 movdqa K256_shaext-16(%rip),%xmm3 3051.byte 69,15,56,203,247 3052 3053 pand %xmm9,%xmm13 3054 pand %xmm10,%xmm15 3055 pand %xmm9,%xmm12 3056 pand %xmm10,%xmm14 3057 paddd %xmm7,%xmm11 3058 3059 paddd 80(%rsp),%xmm13 3060 paddd 112(%rsp),%xmm15 3061 paddd 64(%rsp),%xmm12 3062 paddd 96(%rsp),%xmm14 3063 3064 movq %xmm11,(%rbx) 3065 decl %edx 3066 jnz .Loop_shaext 3067 3068 movl 280(%rsp),%edx 3069 3070 pshufd $27,%xmm12,%xmm12 3071 pshufd $27,%xmm13,%xmm13 3072 pshufd $27,%xmm14,%xmm14 3073 pshufd $27,%xmm15,%xmm15 3074 3075 movdqa %xmm12,%xmm5 3076 movdqa %xmm13,%xmm6 3077 punpckldq %xmm14,%xmm12 3078 punpckhdq %xmm14,%xmm5 3079 punpckldq %xmm15,%xmm13 3080 punpckhdq %xmm15,%xmm6 3081 3082 movq %xmm12,0-128(%rdi) 3083 psrldq $8,%xmm12 3084 movq %xmm5,128-128(%rdi) 3085 psrldq $8,%xmm5 3086 movq %xmm12,32-128(%rdi) 3087 movq %xmm5,160-128(%rdi) 3088 3089 movq %xmm13,64-128(%rdi) 3090 psrldq $8,%xmm13 3091 movq %xmm6,192-128(%rdi) 3092 psrldq $8,%xmm6 3093 movq %xmm13,96-128(%rdi) 3094 movq %xmm6,224-128(%rdi) 3095 3096 leaq 8(%rdi),%rdi 3097 leaq 32(%rsi),%rsi 3098 decl %edx 3099 jnz .Loop_grande_shaext 3100 3101.Ldone_shaext: 3102 3103 movq -16(%rax),%rbp 3104 movq -8(%rax),%rbx 3105 leaq (%rax),%rsp 3106.Lepilogue_shaext: 3107 .byte 0xf3,0xc3 3108.size sha256_multi_block_shaext,.-sha256_multi_block_shaext 3109.align 256 3110K256: 3111.long 1116352408,1116352408,1116352408,1116352408 3112.long 1116352408,1116352408,1116352408,1116352408 3113.long 1899447441,1899447441,1899447441,1899447441 3114.long 1899447441,1899447441,1899447441,1899447441 3115.long 3049323471,3049323471,3049323471,3049323471 3116.long 3049323471,3049323471,3049323471,3049323471 3117.long 3921009573,3921009573,3921009573,3921009573 3118.long 3921009573,3921009573,3921009573,3921009573 3119.long 961987163,961987163,961987163,961987163 3120.long 961987163,961987163,961987163,961987163 3121.long 1508970993,1508970993,1508970993,1508970993 3122.long 1508970993,1508970993,1508970993,1508970993 3123.long 2453635748,2453635748,2453635748,2453635748 3124.long 2453635748,2453635748,2453635748,2453635748 3125.long 2870763221,2870763221,2870763221,2870763221 3126.long 2870763221,2870763221,2870763221,2870763221 3127.long 3624381080,3624381080,3624381080,3624381080 3128.long 3624381080,3624381080,3624381080,3624381080 3129.long 310598401,310598401,310598401,310598401 3130.long 310598401,310598401,310598401,310598401 3131.long 607225278,607225278,607225278,607225278 3132.long 607225278,607225278,607225278,607225278 3133.long 1426881987,1426881987,1426881987,1426881987 3134.long 1426881987,1426881987,1426881987,1426881987 3135.long 1925078388,1925078388,1925078388,1925078388 3136.long 1925078388,1925078388,1925078388,1925078388 3137.long 2162078206,2162078206,2162078206,2162078206 3138.long 2162078206,2162078206,2162078206,2162078206 3139.long 2614888103,2614888103,2614888103,2614888103 3140.long 2614888103,2614888103,2614888103,2614888103 3141.long 3248222580,3248222580,3248222580,3248222580 3142.long 3248222580,3248222580,3248222580,3248222580 3143.long 3835390401,3835390401,3835390401,3835390401 3144.long 3835390401,3835390401,3835390401,3835390401 3145.long 4022224774,4022224774,4022224774,4022224774 3146.long 4022224774,4022224774,4022224774,4022224774 3147.long 264347078,264347078,264347078,264347078 3148.long 264347078,264347078,264347078,264347078 3149.long 604807628,604807628,604807628,604807628 3150.long 604807628,604807628,604807628,604807628 3151.long 770255983,770255983,770255983,770255983 3152.long 770255983,770255983,770255983,770255983 3153.long 1249150122,1249150122,1249150122,1249150122 3154.long 1249150122,1249150122,1249150122,1249150122 3155.long 1555081692,1555081692,1555081692,1555081692 3156.long 1555081692,1555081692,1555081692,1555081692 3157.long 1996064986,1996064986,1996064986,1996064986 3158.long 1996064986,1996064986,1996064986,1996064986 3159.long 2554220882,2554220882,2554220882,2554220882 3160.long 2554220882,2554220882,2554220882,2554220882 3161.long 2821834349,2821834349,2821834349,2821834349 3162.long 2821834349,2821834349,2821834349,2821834349 3163.long 2952996808,2952996808,2952996808,2952996808 3164.long 2952996808,2952996808,2952996808,2952996808 3165.long 3210313671,3210313671,3210313671,3210313671 3166.long 3210313671,3210313671,3210313671,3210313671 3167.long 3336571891,3336571891,3336571891,3336571891 3168.long 3336571891,3336571891,3336571891,3336571891 3169.long 3584528711,3584528711,3584528711,3584528711 3170.long 3584528711,3584528711,3584528711,3584528711 3171.long 113926993,113926993,113926993,113926993 3172.long 113926993,113926993,113926993,113926993 3173.long 338241895,338241895,338241895,338241895 3174.long 338241895,338241895,338241895,338241895 3175.long 666307205,666307205,666307205,666307205 3176.long 666307205,666307205,666307205,666307205 3177.long 773529912,773529912,773529912,773529912 3178.long 773529912,773529912,773529912,773529912 3179.long 1294757372,1294757372,1294757372,1294757372 3180.long 1294757372,1294757372,1294757372,1294757372 3181.long 1396182291,1396182291,1396182291,1396182291 3182.long 1396182291,1396182291,1396182291,1396182291 3183.long 1695183700,1695183700,1695183700,1695183700 3184.long 1695183700,1695183700,1695183700,1695183700 3185.long 1986661051,1986661051,1986661051,1986661051 3186.long 1986661051,1986661051,1986661051,1986661051 3187.long 2177026350,2177026350,2177026350,2177026350 3188.long 2177026350,2177026350,2177026350,2177026350 3189.long 2456956037,2456956037,2456956037,2456956037 3190.long 2456956037,2456956037,2456956037,2456956037 3191.long 2730485921,2730485921,2730485921,2730485921 3192.long 2730485921,2730485921,2730485921,2730485921 3193.long 2820302411,2820302411,2820302411,2820302411 3194.long 2820302411,2820302411,2820302411,2820302411 3195.long 3259730800,3259730800,3259730800,3259730800 3196.long 3259730800,3259730800,3259730800,3259730800 3197.long 3345764771,3345764771,3345764771,3345764771 3198.long 3345764771,3345764771,3345764771,3345764771 3199.long 3516065817,3516065817,3516065817,3516065817 3200.long 3516065817,3516065817,3516065817,3516065817 3201.long 3600352804,3600352804,3600352804,3600352804 3202.long 3600352804,3600352804,3600352804,3600352804 3203.long 4094571909,4094571909,4094571909,4094571909 3204.long 4094571909,4094571909,4094571909,4094571909 3205.long 275423344,275423344,275423344,275423344 3206.long 275423344,275423344,275423344,275423344 3207.long 430227734,430227734,430227734,430227734 3208.long 430227734,430227734,430227734,430227734 3209.long 506948616,506948616,506948616,506948616 3210.long 506948616,506948616,506948616,506948616 3211.long 659060556,659060556,659060556,659060556 3212.long 659060556,659060556,659060556,659060556 3213.long 883997877,883997877,883997877,883997877 3214.long 883997877,883997877,883997877,883997877 3215.long 958139571,958139571,958139571,958139571 3216.long 958139571,958139571,958139571,958139571 3217.long 1322822218,1322822218,1322822218,1322822218 3218.long 1322822218,1322822218,1322822218,1322822218 3219.long 1537002063,1537002063,1537002063,1537002063 3220.long 1537002063,1537002063,1537002063,1537002063 3221.long 1747873779,1747873779,1747873779,1747873779 3222.long 1747873779,1747873779,1747873779,1747873779 3223.long 1955562222,1955562222,1955562222,1955562222 3224.long 1955562222,1955562222,1955562222,1955562222 3225.long 2024104815,2024104815,2024104815,2024104815 3226.long 2024104815,2024104815,2024104815,2024104815 3227.long 2227730452,2227730452,2227730452,2227730452 3228.long 2227730452,2227730452,2227730452,2227730452 3229.long 2361852424,2361852424,2361852424,2361852424 3230.long 2361852424,2361852424,2361852424,2361852424 3231.long 2428436474,2428436474,2428436474,2428436474 3232.long 2428436474,2428436474,2428436474,2428436474 3233.long 2756734187,2756734187,2756734187,2756734187 3234.long 2756734187,2756734187,2756734187,2756734187 3235.long 3204031479,3204031479,3204031479,3204031479 3236.long 3204031479,3204031479,3204031479,3204031479 3237.long 3329325298,3329325298,3329325298,3329325298 3238.long 3329325298,3329325298,3329325298,3329325298 3239.Lpbswap: 3240.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f 3241.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f 3242K256_shaext: 3243.long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 3244.long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 3245.long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 3246.long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 3247.long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc 3248.long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da 3249.long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 3250.long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 3251.long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 3252.long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 3253.long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 3254.long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 3255.long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 3256.long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 3257.long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 3258.long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 3259.byte 83,72,65,50,53,54,32,109,117,108,116,105,45,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 3260