aesni-sha1-x86_64.S revision 299966
1# $FreeBSD: stable/10/secure/lib/libcrypto/amd64/aesni-sha1-x86_64.S 299966 2016-05-16 19:30:27Z jkim $ 2# Do not modify. This file is auto-generated from aesni-sha1-x86_64.pl. 3.text 4 5 6.globl aesni_cbc_sha1_enc 7.type aesni_cbc_sha1_enc,@function 8.align 16 9aesni_cbc_sha1_enc: 10 11 movl OPENSSL_ia32cap_P+0(%rip),%r10d 12 movl OPENSSL_ia32cap_P+4(%rip),%r11d 13 andl $268435456,%r11d 14 andl $1073741824,%r10d 15 orl %r11d,%r10d 16 cmpl $1342177280,%r10d 17 je aesni_cbc_sha1_enc_avx 18 jmp aesni_cbc_sha1_enc_ssse3 19 .byte 0xf3,0xc3 20.size aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc 21.type aesni_cbc_sha1_enc_ssse3,@function 22.align 16 23aesni_cbc_sha1_enc_ssse3: 24 movq 8(%rsp),%r10 25 26 27 pushq %rbx 28 pushq %rbp 29 pushq %r12 30 pushq %r13 31 pushq %r14 32 pushq %r15 33 leaq -104(%rsp),%rsp 34 35 36 movq %rdi,%r12 37 movq %rsi,%r13 38 movq %rdx,%r14 39 movq %rcx,%r15 40 movdqu (%r8),%xmm11 41 movq %r8,88(%rsp) 42 shlq $6,%r14 43 subq %r12,%r13 44 movl 240(%r15),%r8d 45 addq %r10,%r14 46 47 leaq K_XX_XX(%rip),%r11 48 movl 0(%r9),%eax 49 movl 4(%r9),%ebx 50 movl 8(%r9),%ecx 51 movl 12(%r9),%edx 52 movl %ebx,%esi 53 movl 16(%r9),%ebp 54 55 movdqa 64(%r11),%xmm6 56 movdqa 0(%r11),%xmm9 57 movdqu 0(%r10),%xmm0 58 movdqu 16(%r10),%xmm1 59 movdqu 32(%r10),%xmm2 60 movdqu 48(%r10),%xmm3 61.byte 102,15,56,0,198 62 addq $64,%r10 63.byte 102,15,56,0,206 64.byte 102,15,56,0,214 65.byte 102,15,56,0,222 66 paddd %xmm9,%xmm0 67 paddd %xmm9,%xmm1 68 paddd %xmm9,%xmm2 69 movdqa %xmm0,0(%rsp) 70 psubd %xmm9,%xmm0 71 movdqa %xmm1,16(%rsp) 72 psubd %xmm9,%xmm1 73 movdqa %xmm2,32(%rsp) 74 psubd %xmm9,%xmm2 75 movups (%r15),%xmm13 76 movups 16(%r15),%xmm14 77 jmp .Loop_ssse3 78.align 16 79.Loop_ssse3: 80 movdqa %xmm1,%xmm4 81 addl 0(%rsp),%ebp 82 movups 0(%r12),%xmm12 83 xorps %xmm13,%xmm12 84 xorps %xmm12,%xmm11 85.byte 102,69,15,56,220,222 86 movups 32(%r15),%xmm15 87 xorl %edx,%ecx 88 movdqa %xmm3,%xmm8 89.byte 102,15,58,15,224,8 90 movl %eax,%edi 91 roll $5,%eax 92 paddd %xmm3,%xmm9 93 andl %ecx,%esi 94 xorl %edx,%ecx 95 psrldq $4,%xmm8 96 xorl %edx,%esi 97 addl %eax,%ebp 98 pxor %xmm0,%xmm4 99 rorl $2,%ebx 100 addl %esi,%ebp 101 pxor %xmm2,%xmm8 102 addl 4(%rsp),%edx 103 xorl %ecx,%ebx 104 movl %ebp,%esi 105 roll $5,%ebp 106 pxor %xmm8,%xmm4 107 andl %ebx,%edi 108 xorl %ecx,%ebx 109 movdqa %xmm9,48(%rsp) 110 xorl %ecx,%edi 111.byte 102,69,15,56,220,223 112 movups 48(%r15),%xmm14 113 addl %ebp,%edx 114 movdqa %xmm4,%xmm10 115 movdqa %xmm4,%xmm8 116 rorl $7,%eax 117 addl %edi,%edx 118 addl 8(%rsp),%ecx 119 xorl %ebx,%eax 120 pslldq $12,%xmm10 121 paddd %xmm4,%xmm4 122 movl %edx,%edi 123 roll $5,%edx 124 andl %eax,%esi 125 xorl %ebx,%eax 126 psrld $31,%xmm8 127 xorl %ebx,%esi 128 addl %edx,%ecx 129 movdqa %xmm10,%xmm9 130 rorl $7,%ebp 131 addl %esi,%ecx 132 psrld $30,%xmm10 133 por %xmm8,%xmm4 134 addl 12(%rsp),%ebx 135 xorl %eax,%ebp 136 movl %ecx,%esi 137 roll $5,%ecx 138.byte 102,69,15,56,220,222 139 movups 64(%r15),%xmm15 140 pslld $2,%xmm9 141 pxor %xmm10,%xmm4 142 andl %ebp,%edi 143 xorl %eax,%ebp 144 movdqa 0(%r11),%xmm10 145 xorl %eax,%edi 146 addl %ecx,%ebx 147 pxor %xmm9,%xmm4 148 rorl $7,%edx 149 addl %edi,%ebx 150 movdqa %xmm2,%xmm5 151 addl 16(%rsp),%eax 152 xorl %ebp,%edx 153 movdqa %xmm4,%xmm9 154.byte 102,15,58,15,233,8 155 movl %ebx,%edi 156 roll $5,%ebx 157 paddd %xmm4,%xmm10 158 andl %edx,%esi 159 xorl %ebp,%edx 160 psrldq $4,%xmm9 161 xorl %ebp,%esi 162 addl %ebx,%eax 163 pxor %xmm1,%xmm5 164 rorl $7,%ecx 165 addl %esi,%eax 166 pxor %xmm3,%xmm9 167 addl 20(%rsp),%ebp 168.byte 102,69,15,56,220,223 169 movups 80(%r15),%xmm14 170 xorl %edx,%ecx 171 movl %eax,%esi 172 roll $5,%eax 173 pxor %xmm9,%xmm5 174 andl %ecx,%edi 175 xorl %edx,%ecx 176 movdqa %xmm10,0(%rsp) 177 xorl %edx,%edi 178 addl %eax,%ebp 179 movdqa %xmm5,%xmm8 180 movdqa %xmm5,%xmm9 181 rorl $7,%ebx 182 addl %edi,%ebp 183 addl 24(%rsp),%edx 184 xorl %ecx,%ebx 185 pslldq $12,%xmm8 186 paddd %xmm5,%xmm5 187 movl %ebp,%edi 188 roll $5,%ebp 189 andl %ebx,%esi 190 xorl %ecx,%ebx 191 psrld $31,%xmm9 192 xorl %ecx,%esi 193.byte 102,69,15,56,220,222 194 movups 96(%r15),%xmm15 195 addl %ebp,%edx 196 movdqa %xmm8,%xmm10 197 rorl $7,%eax 198 addl %esi,%edx 199 psrld $30,%xmm8 200 por %xmm9,%xmm5 201 addl 28(%rsp),%ecx 202 xorl %ebx,%eax 203 movl %edx,%esi 204 roll $5,%edx 205 pslld $2,%xmm10 206 pxor %xmm8,%xmm5 207 andl %eax,%edi 208 xorl %ebx,%eax 209 movdqa 16(%r11),%xmm8 210 xorl %ebx,%edi 211 addl %edx,%ecx 212 pxor %xmm10,%xmm5 213 rorl $7,%ebp 214 addl %edi,%ecx 215 movdqa %xmm3,%xmm6 216 addl 32(%rsp),%ebx 217 xorl %eax,%ebp 218 movdqa %xmm5,%xmm10 219.byte 102,15,58,15,242,8 220 movl %ecx,%edi 221 roll $5,%ecx 222.byte 102,69,15,56,220,223 223 movups 112(%r15),%xmm14 224 paddd %xmm5,%xmm8 225 andl %ebp,%esi 226 xorl %eax,%ebp 227 psrldq $4,%xmm10 228 xorl %eax,%esi 229 addl %ecx,%ebx 230 pxor %xmm2,%xmm6 231 rorl $7,%edx 232 addl %esi,%ebx 233 pxor %xmm4,%xmm10 234 addl 36(%rsp),%eax 235 xorl %ebp,%edx 236 movl %ebx,%esi 237 roll $5,%ebx 238 pxor %xmm10,%xmm6 239 andl %edx,%edi 240 xorl %ebp,%edx 241 movdqa %xmm8,16(%rsp) 242 xorl %ebp,%edi 243 addl %ebx,%eax 244 movdqa %xmm6,%xmm9 245 movdqa %xmm6,%xmm10 246 rorl $7,%ecx 247 addl %edi,%eax 248 addl 40(%rsp),%ebp 249.byte 102,69,15,56,220,222 250 movups 128(%r15),%xmm15 251 xorl %edx,%ecx 252 pslldq $12,%xmm9 253 paddd %xmm6,%xmm6 254 movl %eax,%edi 255 roll $5,%eax 256 andl %ecx,%esi 257 xorl %edx,%ecx 258 psrld $31,%xmm10 259 xorl %edx,%esi 260 addl %eax,%ebp 261 movdqa %xmm9,%xmm8 262 rorl $7,%ebx 263 addl %esi,%ebp 264 psrld $30,%xmm9 265 por %xmm10,%xmm6 266 addl 44(%rsp),%edx 267 xorl %ecx,%ebx 268 movl %ebp,%esi 269 roll $5,%ebp 270 pslld $2,%xmm8 271 pxor %xmm9,%xmm6 272 andl %ebx,%edi 273 xorl %ecx,%ebx 274 movdqa 16(%r11),%xmm9 275 xorl %ecx,%edi 276.byte 102,69,15,56,220,223 277 movups 144(%r15),%xmm14 278 addl %ebp,%edx 279 pxor %xmm8,%xmm6 280 rorl $7,%eax 281 addl %edi,%edx 282 movdqa %xmm4,%xmm7 283 addl 48(%rsp),%ecx 284 xorl %ebx,%eax 285 movdqa %xmm6,%xmm8 286.byte 102,15,58,15,251,8 287 movl %edx,%edi 288 roll $5,%edx 289 paddd %xmm6,%xmm9 290 andl %eax,%esi 291 xorl %ebx,%eax 292 psrldq $4,%xmm8 293 xorl %ebx,%esi 294 addl %edx,%ecx 295 pxor %xmm3,%xmm7 296 rorl $7,%ebp 297 addl %esi,%ecx 298 pxor %xmm5,%xmm8 299 addl 52(%rsp),%ebx 300 xorl %eax,%ebp 301 movl %ecx,%esi 302 roll $5,%ecx 303.byte 102,69,15,56,220,222 304 movups 160(%r15),%xmm15 305 pxor %xmm8,%xmm7 306 andl %ebp,%edi 307 xorl %eax,%ebp 308 movdqa %xmm9,32(%rsp) 309 xorl %eax,%edi 310 addl %ecx,%ebx 311 movdqa %xmm7,%xmm10 312 movdqa %xmm7,%xmm8 313 rorl $7,%edx 314 addl %edi,%ebx 315 addl 56(%rsp),%eax 316 xorl %ebp,%edx 317 pslldq $12,%xmm10 318 paddd %xmm7,%xmm7 319 movl %ebx,%edi 320 roll $5,%ebx 321 andl %edx,%esi 322 xorl %ebp,%edx 323 psrld $31,%xmm8 324 xorl %ebp,%esi 325 addl %ebx,%eax 326 movdqa %xmm10,%xmm9 327 rorl $7,%ecx 328 addl %esi,%eax 329 psrld $30,%xmm10 330 por %xmm8,%xmm7 331 addl 60(%rsp),%ebp 332 cmpl $11,%r8d 333 jb .Laesenclast1 334 movups 176(%r15),%xmm14 335.byte 102,69,15,56,220,223 336 movups 192(%r15),%xmm15 337.byte 102,69,15,56,220,222 338 je .Laesenclast1 339 movups 208(%r15),%xmm14 340.byte 102,69,15,56,220,223 341 movups 224(%r15),%xmm15 342.byte 102,69,15,56,220,222 343.Laesenclast1: 344.byte 102,69,15,56,221,223 345 movups 16(%r15),%xmm14 346 xorl %edx,%ecx 347 movl %eax,%esi 348 roll $5,%eax 349 pslld $2,%xmm9 350 pxor %xmm10,%xmm7 351 andl %ecx,%edi 352 xorl %edx,%ecx 353 movdqa 16(%r11),%xmm10 354 xorl %edx,%edi 355 addl %eax,%ebp 356 pxor %xmm9,%xmm7 357 rorl $7,%ebx 358 addl %edi,%ebp 359 movdqa %xmm7,%xmm9 360 addl 0(%rsp),%edx 361 pxor %xmm4,%xmm0 362.byte 102,68,15,58,15,206,8 363 xorl %ecx,%ebx 364 movl %ebp,%edi 365 roll $5,%ebp 366 pxor %xmm1,%xmm0 367 andl %ebx,%esi 368 xorl %ecx,%ebx 369 movdqa %xmm10,%xmm8 370 paddd %xmm7,%xmm10 371 xorl %ecx,%esi 372 movups 16(%r12),%xmm12 373 xorps %xmm13,%xmm12 374 movups %xmm11,0(%r13,%r12,1) 375 xorps %xmm12,%xmm11 376.byte 102,69,15,56,220,222 377 movups 32(%r15),%xmm15 378 addl %ebp,%edx 379 pxor %xmm9,%xmm0 380 rorl $7,%eax 381 addl %esi,%edx 382 addl 4(%rsp),%ecx 383 xorl %ebx,%eax 384 movdqa %xmm0,%xmm9 385 movdqa %xmm10,48(%rsp) 386 movl %edx,%esi 387 roll $5,%edx 388 andl %eax,%edi 389 xorl %ebx,%eax 390 pslld $2,%xmm0 391 xorl %ebx,%edi 392 addl %edx,%ecx 393 psrld $30,%xmm9 394 rorl $7,%ebp 395 addl %edi,%ecx 396 addl 8(%rsp),%ebx 397 xorl %eax,%ebp 398 movl %ecx,%edi 399 roll $5,%ecx 400.byte 102,69,15,56,220,223 401 movups 48(%r15),%xmm14 402 por %xmm9,%xmm0 403 andl %ebp,%esi 404 xorl %eax,%ebp 405 movdqa %xmm0,%xmm10 406 xorl %eax,%esi 407 addl %ecx,%ebx 408 rorl $7,%edx 409 addl %esi,%ebx 410 addl 12(%rsp),%eax 411 xorl %ebp,%edx 412 movl %ebx,%esi 413 roll $5,%ebx 414 andl %edx,%edi 415 xorl %ebp,%edx 416 xorl %ebp,%edi 417 addl %ebx,%eax 418 rorl $7,%ecx 419 addl %edi,%eax 420 addl 16(%rsp),%ebp 421.byte 102,69,15,56,220,222 422 movups 64(%r15),%xmm15 423 pxor %xmm5,%xmm1 424.byte 102,68,15,58,15,215,8 425 xorl %edx,%esi 426 movl %eax,%edi 427 roll $5,%eax 428 pxor %xmm2,%xmm1 429 xorl %ecx,%esi 430 addl %eax,%ebp 431 movdqa %xmm8,%xmm9 432 paddd %xmm0,%xmm8 433 rorl $7,%ebx 434 addl %esi,%ebp 435 pxor %xmm10,%xmm1 436 addl 20(%rsp),%edx 437 xorl %ecx,%edi 438 movl %ebp,%esi 439 roll $5,%ebp 440 movdqa %xmm1,%xmm10 441 movdqa %xmm8,0(%rsp) 442 xorl %ebx,%edi 443 addl %ebp,%edx 444 rorl $7,%eax 445 addl %edi,%edx 446 pslld $2,%xmm1 447 addl 24(%rsp),%ecx 448 xorl %ebx,%esi 449 psrld $30,%xmm10 450 movl %edx,%edi 451 roll $5,%edx 452 xorl %eax,%esi 453.byte 102,69,15,56,220,223 454 movups 80(%r15),%xmm14 455 addl %edx,%ecx 456 rorl $7,%ebp 457 addl %esi,%ecx 458 por %xmm10,%xmm1 459 addl 28(%rsp),%ebx 460 xorl %eax,%edi 461 movdqa %xmm1,%xmm8 462 movl %ecx,%esi 463 roll $5,%ecx 464 xorl %ebp,%edi 465 addl %ecx,%ebx 466 rorl $7,%edx 467 addl %edi,%ebx 468 addl 32(%rsp),%eax 469 pxor %xmm6,%xmm2 470.byte 102,68,15,58,15,192,8 471 xorl %ebp,%esi 472 movl %ebx,%edi 473 roll $5,%ebx 474 pxor %xmm3,%xmm2 475 xorl %edx,%esi 476 addl %ebx,%eax 477 movdqa 32(%r11),%xmm10 478 paddd %xmm1,%xmm9 479 rorl $7,%ecx 480 addl %esi,%eax 481 pxor %xmm8,%xmm2 482 addl 36(%rsp),%ebp 483.byte 102,69,15,56,220,222 484 movups 96(%r15),%xmm15 485 xorl %edx,%edi 486 movl %eax,%esi 487 roll $5,%eax 488 movdqa %xmm2,%xmm8 489 movdqa %xmm9,16(%rsp) 490 xorl %ecx,%edi 491 addl %eax,%ebp 492 rorl $7,%ebx 493 addl %edi,%ebp 494 pslld $2,%xmm2 495 addl 40(%rsp),%edx 496 xorl %ecx,%esi 497 psrld $30,%xmm8 498 movl %ebp,%edi 499 roll $5,%ebp 500 xorl %ebx,%esi 501 addl %ebp,%edx 502 rorl $7,%eax 503 addl %esi,%edx 504 por %xmm8,%xmm2 505 addl 44(%rsp),%ecx 506 xorl %ebx,%edi 507 movdqa %xmm2,%xmm9 508 movl %edx,%esi 509 roll $5,%edx 510 xorl %eax,%edi 511.byte 102,69,15,56,220,223 512 movups 112(%r15),%xmm14 513 addl %edx,%ecx 514 rorl $7,%ebp 515 addl %edi,%ecx 516 addl 48(%rsp),%ebx 517 pxor %xmm7,%xmm3 518.byte 102,68,15,58,15,201,8 519 xorl %eax,%esi 520 movl %ecx,%edi 521 roll $5,%ecx 522 pxor %xmm4,%xmm3 523 xorl %ebp,%esi 524 addl %ecx,%ebx 525 movdqa %xmm10,%xmm8 526 paddd %xmm2,%xmm10 527 rorl $7,%edx 528 addl %esi,%ebx 529 pxor %xmm9,%xmm3 530 addl 52(%rsp),%eax 531 xorl %ebp,%edi 532 movl %ebx,%esi 533 roll $5,%ebx 534 movdqa %xmm3,%xmm9 535 movdqa %xmm10,32(%rsp) 536 xorl %edx,%edi 537 addl %ebx,%eax 538 rorl $7,%ecx 539 addl %edi,%eax 540 pslld $2,%xmm3 541 addl 56(%rsp),%ebp 542.byte 102,69,15,56,220,222 543 movups 128(%r15),%xmm15 544 xorl %edx,%esi 545 psrld $30,%xmm9 546 movl %eax,%edi 547 roll $5,%eax 548 xorl %ecx,%esi 549 addl %eax,%ebp 550 rorl $7,%ebx 551 addl %esi,%ebp 552 por %xmm9,%xmm3 553 addl 60(%rsp),%edx 554 xorl %ecx,%edi 555 movdqa %xmm3,%xmm10 556 movl %ebp,%esi 557 roll $5,%ebp 558 xorl %ebx,%edi 559 addl %ebp,%edx 560 rorl $7,%eax 561 addl %edi,%edx 562 addl 0(%rsp),%ecx 563 pxor %xmm0,%xmm4 564.byte 102,68,15,58,15,210,8 565 xorl %ebx,%esi 566 movl %edx,%edi 567 roll $5,%edx 568 pxor %xmm5,%xmm4 569 xorl %eax,%esi 570.byte 102,69,15,56,220,223 571 movups 144(%r15),%xmm14 572 addl %edx,%ecx 573 movdqa %xmm8,%xmm9 574 paddd %xmm3,%xmm8 575 rorl $7,%ebp 576 addl %esi,%ecx 577 pxor %xmm10,%xmm4 578 addl 4(%rsp),%ebx 579 xorl %eax,%edi 580 movl %ecx,%esi 581 roll $5,%ecx 582 movdqa %xmm4,%xmm10 583 movdqa %xmm8,48(%rsp) 584 xorl %ebp,%edi 585 addl %ecx,%ebx 586 rorl $7,%edx 587 addl %edi,%ebx 588 pslld $2,%xmm4 589 addl 8(%rsp),%eax 590 xorl %ebp,%esi 591 psrld $30,%xmm10 592 movl %ebx,%edi 593 roll $5,%ebx 594 xorl %edx,%esi 595 addl %ebx,%eax 596 rorl $7,%ecx 597 addl %esi,%eax 598 por %xmm10,%xmm4 599 addl 12(%rsp),%ebp 600.byte 102,69,15,56,220,222 601 movups 160(%r15),%xmm15 602 xorl %edx,%edi 603 movdqa %xmm4,%xmm8 604 movl %eax,%esi 605 roll $5,%eax 606 xorl %ecx,%edi 607 addl %eax,%ebp 608 rorl $7,%ebx 609 addl %edi,%ebp 610 addl 16(%rsp),%edx 611 pxor %xmm1,%xmm5 612.byte 102,68,15,58,15,195,8 613 xorl %ecx,%esi 614 movl %ebp,%edi 615 roll $5,%ebp 616 pxor %xmm6,%xmm5 617 xorl %ebx,%esi 618 addl %ebp,%edx 619 movdqa %xmm9,%xmm10 620 paddd %xmm4,%xmm9 621 rorl $7,%eax 622 addl %esi,%edx 623 pxor %xmm8,%xmm5 624 addl 20(%rsp),%ecx 625 xorl %ebx,%edi 626 movl %edx,%esi 627 roll $5,%edx 628 movdqa %xmm5,%xmm8 629 movdqa %xmm9,0(%rsp) 630 xorl %eax,%edi 631 cmpl $11,%r8d 632 jb .Laesenclast2 633 movups 176(%r15),%xmm14 634.byte 102,69,15,56,220,223 635 movups 192(%r15),%xmm15 636.byte 102,69,15,56,220,222 637 je .Laesenclast2 638 movups 208(%r15),%xmm14 639.byte 102,69,15,56,220,223 640 movups 224(%r15),%xmm15 641.byte 102,69,15,56,220,222 642.Laesenclast2: 643.byte 102,69,15,56,221,223 644 movups 16(%r15),%xmm14 645 addl %edx,%ecx 646 rorl $7,%ebp 647 addl %edi,%ecx 648 pslld $2,%xmm5 649 addl 24(%rsp),%ebx 650 xorl %eax,%esi 651 psrld $30,%xmm8 652 movl %ecx,%edi 653 roll $5,%ecx 654 xorl %ebp,%esi 655 addl %ecx,%ebx 656 rorl $7,%edx 657 addl %esi,%ebx 658 por %xmm8,%xmm5 659 addl 28(%rsp),%eax 660 xorl %ebp,%edi 661 movdqa %xmm5,%xmm9 662 movl %ebx,%esi 663 roll $5,%ebx 664 xorl %edx,%edi 665 addl %ebx,%eax 666 rorl $7,%ecx 667 addl %edi,%eax 668 movl %ecx,%edi 669 movups 32(%r12),%xmm12 670 xorps %xmm13,%xmm12 671 movups %xmm11,16(%r13,%r12,1) 672 xorps %xmm12,%xmm11 673.byte 102,69,15,56,220,222 674 movups 32(%r15),%xmm15 675 pxor %xmm2,%xmm6 676.byte 102,68,15,58,15,204,8 677 xorl %edx,%ecx 678 addl 32(%rsp),%ebp 679 andl %edx,%edi 680 pxor %xmm7,%xmm6 681 andl %ecx,%esi 682 rorl $7,%ebx 683 movdqa %xmm10,%xmm8 684 paddd %xmm5,%xmm10 685 addl %edi,%ebp 686 movl %eax,%edi 687 pxor %xmm9,%xmm6 688 roll $5,%eax 689 addl %esi,%ebp 690 xorl %edx,%ecx 691 addl %eax,%ebp 692 movdqa %xmm6,%xmm9 693 movdqa %xmm10,16(%rsp) 694 movl %ebx,%esi 695 xorl %ecx,%ebx 696 addl 36(%rsp),%edx 697 andl %ecx,%esi 698 pslld $2,%xmm6 699 andl %ebx,%edi 700 rorl $7,%eax 701 psrld $30,%xmm9 702 addl %esi,%edx 703 movl %ebp,%esi 704 roll $5,%ebp 705.byte 102,69,15,56,220,223 706 movups 48(%r15),%xmm14 707 addl %edi,%edx 708 xorl %ecx,%ebx 709 addl %ebp,%edx 710 por %xmm9,%xmm6 711 movl %eax,%edi 712 xorl %ebx,%eax 713 movdqa %xmm6,%xmm10 714 addl 40(%rsp),%ecx 715 andl %ebx,%edi 716 andl %eax,%esi 717 rorl $7,%ebp 718 addl %edi,%ecx 719 movl %edx,%edi 720 roll $5,%edx 721 addl %esi,%ecx 722 xorl %ebx,%eax 723 addl %edx,%ecx 724 movl %ebp,%esi 725 xorl %eax,%ebp 726 addl 44(%rsp),%ebx 727 andl %eax,%esi 728 andl %ebp,%edi 729.byte 102,69,15,56,220,222 730 movups 64(%r15),%xmm15 731 rorl $7,%edx 732 addl %esi,%ebx 733 movl %ecx,%esi 734 roll $5,%ecx 735 addl %edi,%ebx 736 xorl %eax,%ebp 737 addl %ecx,%ebx 738 movl %edx,%edi 739 pxor %xmm3,%xmm7 740.byte 102,68,15,58,15,213,8 741 xorl %ebp,%edx 742 addl 48(%rsp),%eax 743 andl %ebp,%edi 744 pxor %xmm0,%xmm7 745 andl %edx,%esi 746 rorl $7,%ecx 747 movdqa 48(%r11),%xmm9 748 paddd %xmm6,%xmm8 749 addl %edi,%eax 750 movl %ebx,%edi 751 pxor %xmm10,%xmm7 752 roll $5,%ebx 753 addl %esi,%eax 754 xorl %ebp,%edx 755 addl %ebx,%eax 756 movdqa %xmm7,%xmm10 757 movdqa %xmm8,32(%rsp) 758 movl %ecx,%esi 759.byte 102,69,15,56,220,223 760 movups 80(%r15),%xmm14 761 xorl %edx,%ecx 762 addl 52(%rsp),%ebp 763 andl %edx,%esi 764 pslld $2,%xmm7 765 andl %ecx,%edi 766 rorl $7,%ebx 767 psrld $30,%xmm10 768 addl %esi,%ebp 769 movl %eax,%esi 770 roll $5,%eax 771 addl %edi,%ebp 772 xorl %edx,%ecx 773 addl %eax,%ebp 774 por %xmm10,%xmm7 775 movl %ebx,%edi 776 xorl %ecx,%ebx 777 movdqa %xmm7,%xmm8 778 addl 56(%rsp),%edx 779 andl %ecx,%edi 780 andl %ebx,%esi 781 rorl $7,%eax 782 addl %edi,%edx 783 movl %ebp,%edi 784 roll $5,%ebp 785.byte 102,69,15,56,220,222 786 movups 96(%r15),%xmm15 787 addl %esi,%edx 788 xorl %ecx,%ebx 789 addl %ebp,%edx 790 movl %eax,%esi 791 xorl %ebx,%eax 792 addl 60(%rsp),%ecx 793 andl %ebx,%esi 794 andl %eax,%edi 795 rorl $7,%ebp 796 addl %esi,%ecx 797 movl %edx,%esi 798 roll $5,%edx 799 addl %edi,%ecx 800 xorl %ebx,%eax 801 addl %edx,%ecx 802 movl %ebp,%edi 803 pxor %xmm4,%xmm0 804.byte 102,68,15,58,15,198,8 805 xorl %eax,%ebp 806 addl 0(%rsp),%ebx 807 andl %eax,%edi 808 pxor %xmm1,%xmm0 809 andl %ebp,%esi 810.byte 102,69,15,56,220,223 811 movups 112(%r15),%xmm14 812 rorl $7,%edx 813 movdqa %xmm9,%xmm10 814 paddd %xmm7,%xmm9 815 addl %edi,%ebx 816 movl %ecx,%edi 817 pxor %xmm8,%xmm0 818 roll $5,%ecx 819 addl %esi,%ebx 820 xorl %eax,%ebp 821 addl %ecx,%ebx 822 movdqa %xmm0,%xmm8 823 movdqa %xmm9,48(%rsp) 824 movl %edx,%esi 825 xorl %ebp,%edx 826 addl 4(%rsp),%eax 827 andl %ebp,%esi 828 pslld $2,%xmm0 829 andl %edx,%edi 830 rorl $7,%ecx 831 psrld $30,%xmm8 832 addl %esi,%eax 833 movl %ebx,%esi 834 roll $5,%ebx 835 addl %edi,%eax 836 xorl %ebp,%edx 837 addl %ebx,%eax 838 por %xmm8,%xmm0 839 movl %ecx,%edi 840.byte 102,69,15,56,220,222 841 movups 128(%r15),%xmm15 842 xorl %edx,%ecx 843 movdqa %xmm0,%xmm9 844 addl 8(%rsp),%ebp 845 andl %edx,%edi 846 andl %ecx,%esi 847 rorl $7,%ebx 848 addl %edi,%ebp 849 movl %eax,%edi 850 roll $5,%eax 851 addl %esi,%ebp 852 xorl %edx,%ecx 853 addl %eax,%ebp 854 movl %ebx,%esi 855 xorl %ecx,%ebx 856 addl 12(%rsp),%edx 857 andl %ecx,%esi 858 andl %ebx,%edi 859 rorl $7,%eax 860 addl %esi,%edx 861 movl %ebp,%esi 862 roll $5,%ebp 863.byte 102,69,15,56,220,223 864 movups 144(%r15),%xmm14 865 addl %edi,%edx 866 xorl %ecx,%ebx 867 addl %ebp,%edx 868 movl %eax,%edi 869 pxor %xmm5,%xmm1 870.byte 102,68,15,58,15,207,8 871 xorl %ebx,%eax 872 addl 16(%rsp),%ecx 873 andl %ebx,%edi 874 pxor %xmm2,%xmm1 875 andl %eax,%esi 876 rorl $7,%ebp 877 movdqa %xmm10,%xmm8 878 paddd %xmm0,%xmm10 879 addl %edi,%ecx 880 movl %edx,%edi 881 pxor %xmm9,%xmm1 882 roll $5,%edx 883 addl %esi,%ecx 884 xorl %ebx,%eax 885 addl %edx,%ecx 886 movdqa %xmm1,%xmm9 887 movdqa %xmm10,0(%rsp) 888 movl %ebp,%esi 889 xorl %eax,%ebp 890 addl 20(%rsp),%ebx 891 andl %eax,%esi 892 pslld $2,%xmm1 893 andl %ebp,%edi 894.byte 102,69,15,56,220,222 895 movups 160(%r15),%xmm15 896 rorl $7,%edx 897 psrld $30,%xmm9 898 addl %esi,%ebx 899 movl %ecx,%esi 900 roll $5,%ecx 901 addl %edi,%ebx 902 xorl %eax,%ebp 903 addl %ecx,%ebx 904 por %xmm9,%xmm1 905 movl %edx,%edi 906 xorl %ebp,%edx 907 movdqa %xmm1,%xmm10 908 addl 24(%rsp),%eax 909 andl %ebp,%edi 910 andl %edx,%esi 911 rorl $7,%ecx 912 addl %edi,%eax 913 movl %ebx,%edi 914 roll $5,%ebx 915 addl %esi,%eax 916 xorl %ebp,%edx 917 addl %ebx,%eax 918 movl %ecx,%esi 919 cmpl $11,%r8d 920 jb .Laesenclast3 921 movups 176(%r15),%xmm14 922.byte 102,69,15,56,220,223 923 movups 192(%r15),%xmm15 924.byte 102,69,15,56,220,222 925 je .Laesenclast3 926 movups 208(%r15),%xmm14 927.byte 102,69,15,56,220,223 928 movups 224(%r15),%xmm15 929.byte 102,69,15,56,220,222 930.Laesenclast3: 931.byte 102,69,15,56,221,223 932 movups 16(%r15),%xmm14 933 xorl %edx,%ecx 934 addl 28(%rsp),%ebp 935 andl %edx,%esi 936 andl %ecx,%edi 937 rorl $7,%ebx 938 addl %esi,%ebp 939 movl %eax,%esi 940 roll $5,%eax 941 addl %edi,%ebp 942 xorl %edx,%ecx 943 addl %eax,%ebp 944 movl %ebx,%edi 945 pxor %xmm6,%xmm2 946.byte 102,68,15,58,15,208,8 947 xorl %ecx,%ebx 948 addl 32(%rsp),%edx 949 andl %ecx,%edi 950 pxor %xmm3,%xmm2 951 andl %ebx,%esi 952 rorl $7,%eax 953 movdqa %xmm8,%xmm9 954 paddd %xmm1,%xmm8 955 addl %edi,%edx 956 movl %ebp,%edi 957 pxor %xmm10,%xmm2 958 roll $5,%ebp 959 movups 48(%r12),%xmm12 960 xorps %xmm13,%xmm12 961 movups %xmm11,32(%r13,%r12,1) 962 xorps %xmm12,%xmm11 963.byte 102,69,15,56,220,222 964 movups 32(%r15),%xmm15 965 addl %esi,%edx 966 xorl %ecx,%ebx 967 addl %ebp,%edx 968 movdqa %xmm2,%xmm10 969 movdqa %xmm8,16(%rsp) 970 movl %eax,%esi 971 xorl %ebx,%eax 972 addl 36(%rsp),%ecx 973 andl %ebx,%esi 974 pslld $2,%xmm2 975 andl %eax,%edi 976 rorl $7,%ebp 977 psrld $30,%xmm10 978 addl %esi,%ecx 979 movl %edx,%esi 980 roll $5,%edx 981 addl %edi,%ecx 982 xorl %ebx,%eax 983 addl %edx,%ecx 984 por %xmm10,%xmm2 985 movl %ebp,%edi 986 xorl %eax,%ebp 987 movdqa %xmm2,%xmm8 988 addl 40(%rsp),%ebx 989 andl %eax,%edi 990 andl %ebp,%esi 991.byte 102,69,15,56,220,223 992 movups 48(%r15),%xmm14 993 rorl $7,%edx 994 addl %edi,%ebx 995 movl %ecx,%edi 996 roll $5,%ecx 997 addl %esi,%ebx 998 xorl %eax,%ebp 999 addl %ecx,%ebx 1000 movl %edx,%esi 1001 xorl %ebp,%edx 1002 addl 44(%rsp),%eax 1003 andl %ebp,%esi 1004 andl %edx,%edi 1005 rorl $7,%ecx 1006 addl %esi,%eax 1007 movl %ebx,%esi 1008 roll $5,%ebx 1009 addl %edi,%eax 1010 xorl %ebp,%edx 1011 addl %ebx,%eax 1012 addl 48(%rsp),%ebp 1013.byte 102,69,15,56,220,222 1014 movups 64(%r15),%xmm15 1015 pxor %xmm7,%xmm3 1016.byte 102,68,15,58,15,193,8 1017 xorl %edx,%esi 1018 movl %eax,%edi 1019 roll $5,%eax 1020 pxor %xmm4,%xmm3 1021 xorl %ecx,%esi 1022 addl %eax,%ebp 1023 movdqa %xmm9,%xmm10 1024 paddd %xmm2,%xmm9 1025 rorl $7,%ebx 1026 addl %esi,%ebp 1027 pxor %xmm8,%xmm3 1028 addl 52(%rsp),%edx 1029 xorl %ecx,%edi 1030 movl %ebp,%esi 1031 roll $5,%ebp 1032 movdqa %xmm3,%xmm8 1033 movdqa %xmm9,32(%rsp) 1034 xorl %ebx,%edi 1035 addl %ebp,%edx 1036 rorl $7,%eax 1037 addl %edi,%edx 1038 pslld $2,%xmm3 1039 addl 56(%rsp),%ecx 1040 xorl %ebx,%esi 1041 psrld $30,%xmm8 1042 movl %edx,%edi 1043 roll $5,%edx 1044 xorl %eax,%esi 1045.byte 102,69,15,56,220,223 1046 movups 80(%r15),%xmm14 1047 addl %edx,%ecx 1048 rorl $7,%ebp 1049 addl %esi,%ecx 1050 por %xmm8,%xmm3 1051 addl 60(%rsp),%ebx 1052 xorl %eax,%edi 1053 movl %ecx,%esi 1054 roll $5,%ecx 1055 xorl %ebp,%edi 1056 addl %ecx,%ebx 1057 rorl $7,%edx 1058 addl %edi,%ebx 1059 addl 0(%rsp),%eax 1060 paddd %xmm3,%xmm10 1061 xorl %ebp,%esi 1062 movl %ebx,%edi 1063 roll $5,%ebx 1064 xorl %edx,%esi 1065 movdqa %xmm10,48(%rsp) 1066 addl %ebx,%eax 1067 rorl $7,%ecx 1068 addl %esi,%eax 1069 addl 4(%rsp),%ebp 1070.byte 102,69,15,56,220,222 1071 movups 96(%r15),%xmm15 1072 xorl %edx,%edi 1073 movl %eax,%esi 1074 roll $5,%eax 1075 xorl %ecx,%edi 1076 addl %eax,%ebp 1077 rorl $7,%ebx 1078 addl %edi,%ebp 1079 addl 8(%rsp),%edx 1080 xorl %ecx,%esi 1081 movl %ebp,%edi 1082 roll $5,%ebp 1083 xorl %ebx,%esi 1084 addl %ebp,%edx 1085 rorl $7,%eax 1086 addl %esi,%edx 1087 addl 12(%rsp),%ecx 1088 xorl %ebx,%edi 1089 movl %edx,%esi 1090 roll $5,%edx 1091 xorl %eax,%edi 1092.byte 102,69,15,56,220,223 1093 movups 112(%r15),%xmm14 1094 addl %edx,%ecx 1095 rorl $7,%ebp 1096 addl %edi,%ecx 1097 cmpq %r14,%r10 1098 je .Ldone_ssse3 1099 movdqa 64(%r11),%xmm6 1100 movdqa 0(%r11),%xmm9 1101 movdqu 0(%r10),%xmm0 1102 movdqu 16(%r10),%xmm1 1103 movdqu 32(%r10),%xmm2 1104 movdqu 48(%r10),%xmm3 1105.byte 102,15,56,0,198 1106 addq $64,%r10 1107 addl 16(%rsp),%ebx 1108 xorl %eax,%esi 1109.byte 102,15,56,0,206 1110 movl %ecx,%edi 1111 roll $5,%ecx 1112 paddd %xmm9,%xmm0 1113 xorl %ebp,%esi 1114 addl %ecx,%ebx 1115 rorl $7,%edx 1116 addl %esi,%ebx 1117 movdqa %xmm0,0(%rsp) 1118 addl 20(%rsp),%eax 1119 xorl %ebp,%edi 1120 psubd %xmm9,%xmm0 1121 movl %ebx,%esi 1122 roll $5,%ebx 1123 xorl %edx,%edi 1124 addl %ebx,%eax 1125 rorl $7,%ecx 1126 addl %edi,%eax 1127 addl 24(%rsp),%ebp 1128.byte 102,69,15,56,220,222 1129 movups 128(%r15),%xmm15 1130 xorl %edx,%esi 1131 movl %eax,%edi 1132 roll $5,%eax 1133 xorl %ecx,%esi 1134 addl %eax,%ebp 1135 rorl $7,%ebx 1136 addl %esi,%ebp 1137 addl 28(%rsp),%edx 1138 xorl %ecx,%edi 1139 movl %ebp,%esi 1140 roll $5,%ebp 1141 xorl %ebx,%edi 1142 addl %ebp,%edx 1143 rorl $7,%eax 1144 addl %edi,%edx 1145 addl 32(%rsp),%ecx 1146 xorl %ebx,%esi 1147.byte 102,15,56,0,214 1148 movl %edx,%edi 1149 roll $5,%edx 1150 paddd %xmm9,%xmm1 1151 xorl %eax,%esi 1152.byte 102,69,15,56,220,223 1153 movups 144(%r15),%xmm14 1154 addl %edx,%ecx 1155 rorl $7,%ebp 1156 addl %esi,%ecx 1157 movdqa %xmm1,16(%rsp) 1158 addl 36(%rsp),%ebx 1159 xorl %eax,%edi 1160 psubd %xmm9,%xmm1 1161 movl %ecx,%esi 1162 roll $5,%ecx 1163 xorl %ebp,%edi 1164 addl %ecx,%ebx 1165 rorl $7,%edx 1166 addl %edi,%ebx 1167 addl 40(%rsp),%eax 1168 xorl %ebp,%esi 1169 movl %ebx,%edi 1170 roll $5,%ebx 1171 xorl %edx,%esi 1172 addl %ebx,%eax 1173 rorl $7,%ecx 1174 addl %esi,%eax 1175 addl 44(%rsp),%ebp 1176.byte 102,69,15,56,220,222 1177 movups 160(%r15),%xmm15 1178 xorl %edx,%edi 1179 movl %eax,%esi 1180 roll $5,%eax 1181 xorl %ecx,%edi 1182 addl %eax,%ebp 1183 rorl $7,%ebx 1184 addl %edi,%ebp 1185 addl 48(%rsp),%edx 1186 xorl %ecx,%esi 1187.byte 102,15,56,0,222 1188 movl %ebp,%edi 1189 roll $5,%ebp 1190 paddd %xmm9,%xmm2 1191 xorl %ebx,%esi 1192 addl %ebp,%edx 1193 rorl $7,%eax 1194 addl %esi,%edx 1195 movdqa %xmm2,32(%rsp) 1196 addl 52(%rsp),%ecx 1197 xorl %ebx,%edi 1198 psubd %xmm9,%xmm2 1199 movl %edx,%esi 1200 roll $5,%edx 1201 xorl %eax,%edi 1202 cmpl $11,%r8d 1203 jb .Laesenclast4 1204 movups 176(%r15),%xmm14 1205.byte 102,69,15,56,220,223 1206 movups 192(%r15),%xmm15 1207.byte 102,69,15,56,220,222 1208 je .Laesenclast4 1209 movups 208(%r15),%xmm14 1210.byte 102,69,15,56,220,223 1211 movups 224(%r15),%xmm15 1212.byte 102,69,15,56,220,222 1213.Laesenclast4: 1214.byte 102,69,15,56,221,223 1215 movups 16(%r15),%xmm14 1216 addl %edx,%ecx 1217 rorl $7,%ebp 1218 addl %edi,%ecx 1219 addl 56(%rsp),%ebx 1220 xorl %eax,%esi 1221 movl %ecx,%edi 1222 roll $5,%ecx 1223 xorl %ebp,%esi 1224 addl %ecx,%ebx 1225 rorl $7,%edx 1226 addl %esi,%ebx 1227 addl 60(%rsp),%eax 1228 xorl %ebp,%edi 1229 movl %ebx,%esi 1230 roll $5,%ebx 1231 xorl %edx,%edi 1232 addl %ebx,%eax 1233 rorl $7,%ecx 1234 addl %edi,%eax 1235 movups %xmm11,48(%r13,%r12,1) 1236 leaq 64(%r12),%r12 1237 1238 addl 0(%r9),%eax 1239 addl 4(%r9),%esi 1240 addl 8(%r9),%ecx 1241 addl 12(%r9),%edx 1242 movl %eax,0(%r9) 1243 addl 16(%r9),%ebp 1244 movl %esi,4(%r9) 1245 movl %esi,%ebx 1246 movl %ecx,8(%r9) 1247 movl %edx,12(%r9) 1248 movl %ebp,16(%r9) 1249 jmp .Loop_ssse3 1250 1251.align 16 1252.Ldone_ssse3: 1253 addl 16(%rsp),%ebx 1254 xorl %eax,%esi 1255 movl %ecx,%edi 1256 roll $5,%ecx 1257 xorl %ebp,%esi 1258 addl %ecx,%ebx 1259 rorl $7,%edx 1260 addl %esi,%ebx 1261 addl 20(%rsp),%eax 1262 xorl %ebp,%edi 1263 movl %ebx,%esi 1264 roll $5,%ebx 1265 xorl %edx,%edi 1266 addl %ebx,%eax 1267 rorl $7,%ecx 1268 addl %edi,%eax 1269 addl 24(%rsp),%ebp 1270.byte 102,69,15,56,220,222 1271 movups 128(%r15),%xmm15 1272 xorl %edx,%esi 1273 movl %eax,%edi 1274 roll $5,%eax 1275 xorl %ecx,%esi 1276 addl %eax,%ebp 1277 rorl $7,%ebx 1278 addl %esi,%ebp 1279 addl 28(%rsp),%edx 1280 xorl %ecx,%edi 1281 movl %ebp,%esi 1282 roll $5,%ebp 1283 xorl %ebx,%edi 1284 addl %ebp,%edx 1285 rorl $7,%eax 1286 addl %edi,%edx 1287 addl 32(%rsp),%ecx 1288 xorl %ebx,%esi 1289 movl %edx,%edi 1290 roll $5,%edx 1291 xorl %eax,%esi 1292.byte 102,69,15,56,220,223 1293 movups 144(%r15),%xmm14 1294 addl %edx,%ecx 1295 rorl $7,%ebp 1296 addl %esi,%ecx 1297 addl 36(%rsp),%ebx 1298 xorl %eax,%edi 1299 movl %ecx,%esi 1300 roll $5,%ecx 1301 xorl %ebp,%edi 1302 addl %ecx,%ebx 1303 rorl $7,%edx 1304 addl %edi,%ebx 1305 addl 40(%rsp),%eax 1306 xorl %ebp,%esi 1307 movl %ebx,%edi 1308 roll $5,%ebx 1309 xorl %edx,%esi 1310 addl %ebx,%eax 1311 rorl $7,%ecx 1312 addl %esi,%eax 1313 addl 44(%rsp),%ebp 1314.byte 102,69,15,56,220,222 1315 movups 160(%r15),%xmm15 1316 xorl %edx,%edi 1317 movl %eax,%esi 1318 roll $5,%eax 1319 xorl %ecx,%edi 1320 addl %eax,%ebp 1321 rorl $7,%ebx 1322 addl %edi,%ebp 1323 addl 48(%rsp),%edx 1324 xorl %ecx,%esi 1325 movl %ebp,%edi 1326 roll $5,%ebp 1327 xorl %ebx,%esi 1328 addl %ebp,%edx 1329 rorl $7,%eax 1330 addl %esi,%edx 1331 addl 52(%rsp),%ecx 1332 xorl %ebx,%edi 1333 movl %edx,%esi 1334 roll $5,%edx 1335 xorl %eax,%edi 1336 cmpl $11,%r8d 1337 jb .Laesenclast5 1338 movups 176(%r15),%xmm14 1339.byte 102,69,15,56,220,223 1340 movups 192(%r15),%xmm15 1341.byte 102,69,15,56,220,222 1342 je .Laesenclast5 1343 movups 208(%r15),%xmm14 1344.byte 102,69,15,56,220,223 1345 movups 224(%r15),%xmm15 1346.byte 102,69,15,56,220,222 1347.Laesenclast5: 1348.byte 102,69,15,56,221,223 1349 movups 16(%r15),%xmm14 1350 addl %edx,%ecx 1351 rorl $7,%ebp 1352 addl %edi,%ecx 1353 addl 56(%rsp),%ebx 1354 xorl %eax,%esi 1355 movl %ecx,%edi 1356 roll $5,%ecx 1357 xorl %ebp,%esi 1358 addl %ecx,%ebx 1359 rorl $7,%edx 1360 addl %esi,%ebx 1361 addl 60(%rsp),%eax 1362 xorl %ebp,%edi 1363 movl %ebx,%esi 1364 roll $5,%ebx 1365 xorl %edx,%edi 1366 addl %ebx,%eax 1367 rorl $7,%ecx 1368 addl %edi,%eax 1369 movups %xmm11,48(%r13,%r12,1) 1370 movq 88(%rsp),%r8 1371 1372 addl 0(%r9),%eax 1373 addl 4(%r9),%esi 1374 addl 8(%r9),%ecx 1375 movl %eax,0(%r9) 1376 addl 12(%r9),%edx 1377 movl %esi,4(%r9) 1378 addl 16(%r9),%ebp 1379 movl %ecx,8(%r9) 1380 movl %edx,12(%r9) 1381 movl %ebp,16(%r9) 1382 movups %xmm11,(%r8) 1383 leaq 104(%rsp),%rsi 1384 movq 0(%rsi),%r15 1385 movq 8(%rsi),%r14 1386 movq 16(%rsi),%r13 1387 movq 24(%rsi),%r12 1388 movq 32(%rsi),%rbp 1389 movq 40(%rsi),%rbx 1390 leaq 48(%rsi),%rsp 1391.Lepilogue_ssse3: 1392 .byte 0xf3,0xc3 1393.size aesni_cbc_sha1_enc_ssse3,.-aesni_cbc_sha1_enc_ssse3 1394.type aesni_cbc_sha1_enc_avx,@function 1395.align 16 1396aesni_cbc_sha1_enc_avx: 1397 movq 8(%rsp),%r10 1398 1399 1400 pushq %rbx 1401 pushq %rbp 1402 pushq %r12 1403 pushq %r13 1404 pushq %r14 1405 pushq %r15 1406 leaq -104(%rsp),%rsp 1407 1408 1409 vzeroall 1410 movq %rdi,%r12 1411 movq %rsi,%r13 1412 movq %rdx,%r14 1413 movq %rcx,%r15 1414 vmovdqu (%r8),%xmm11 1415 movq %r8,88(%rsp) 1416 shlq $6,%r14 1417 subq %r12,%r13 1418 movl 240(%r15),%r8d 1419 addq $112,%r15 1420 addq %r10,%r14 1421 1422 leaq K_XX_XX(%rip),%r11 1423 movl 0(%r9),%eax 1424 movl 4(%r9),%ebx 1425 movl 8(%r9),%ecx 1426 movl 12(%r9),%edx 1427 movl %ebx,%esi 1428 movl 16(%r9),%ebp 1429 1430 vmovdqa 64(%r11),%xmm6 1431 vmovdqa 0(%r11),%xmm9 1432 vmovdqu 0(%r10),%xmm0 1433 vmovdqu 16(%r10),%xmm1 1434 vmovdqu 32(%r10),%xmm2 1435 vmovdqu 48(%r10),%xmm3 1436 vpshufb %xmm6,%xmm0,%xmm0 1437 addq $64,%r10 1438 vpshufb %xmm6,%xmm1,%xmm1 1439 vpshufb %xmm6,%xmm2,%xmm2 1440 vpshufb %xmm6,%xmm3,%xmm3 1441 vpaddd %xmm9,%xmm0,%xmm4 1442 vpaddd %xmm9,%xmm1,%xmm5 1443 vpaddd %xmm9,%xmm2,%xmm6 1444 vmovdqa %xmm4,0(%rsp) 1445 vmovdqa %xmm5,16(%rsp) 1446 vmovdqa %xmm6,32(%rsp) 1447 vmovups -112(%r15),%xmm13 1448 vmovups 16-112(%r15),%xmm14 1449 jmp .Loop_avx 1450.align 16 1451.Loop_avx: 1452 addl 0(%rsp),%ebp 1453 vmovups 0(%r12),%xmm12 1454 vxorps %xmm13,%xmm12,%xmm12 1455 vxorps %xmm12,%xmm11,%xmm11 1456 vaesenc %xmm14,%xmm11,%xmm11 1457 vmovups -80(%r15),%xmm15 1458 xorl %edx,%ecx 1459 vpalignr $8,%xmm0,%xmm1,%xmm4 1460 movl %eax,%edi 1461 shldl $5,%eax,%eax 1462 vpaddd %xmm3,%xmm9,%xmm9 1463 andl %ecx,%esi 1464 xorl %edx,%ecx 1465 vpsrldq $4,%xmm3,%xmm8 1466 xorl %edx,%esi 1467 addl %eax,%ebp 1468 vpxor %xmm0,%xmm4,%xmm4 1469 shrdl $2,%ebx,%ebx 1470 addl %esi,%ebp 1471 vpxor %xmm2,%xmm8,%xmm8 1472 addl 4(%rsp),%edx 1473 xorl %ecx,%ebx 1474 movl %ebp,%esi 1475 shldl $5,%ebp,%ebp 1476 vpxor %xmm8,%xmm4,%xmm4 1477 andl %ebx,%edi 1478 xorl %ecx,%ebx 1479 vmovdqa %xmm9,48(%rsp) 1480 xorl %ecx,%edi 1481 vaesenc %xmm15,%xmm11,%xmm11 1482 vmovups -64(%r15),%xmm14 1483 addl %ebp,%edx 1484 vpsrld $31,%xmm4,%xmm8 1485 shrdl $7,%eax,%eax 1486 addl %edi,%edx 1487 addl 8(%rsp),%ecx 1488 xorl %ebx,%eax 1489 vpslldq $12,%xmm4,%xmm10 1490 vpaddd %xmm4,%xmm4,%xmm4 1491 movl %edx,%edi 1492 shldl $5,%edx,%edx 1493 andl %eax,%esi 1494 xorl %ebx,%eax 1495 vpsrld $30,%xmm10,%xmm9 1496 vpor %xmm8,%xmm4,%xmm4 1497 xorl %ebx,%esi 1498 addl %edx,%ecx 1499 shrdl $7,%ebp,%ebp 1500 addl %esi,%ecx 1501 vpslld $2,%xmm10,%xmm10 1502 vpxor %xmm9,%xmm4,%xmm4 1503 addl 12(%rsp),%ebx 1504 xorl %eax,%ebp 1505 movl %ecx,%esi 1506 shldl $5,%ecx,%ecx 1507 vaesenc %xmm14,%xmm11,%xmm11 1508 vmovups -48(%r15),%xmm15 1509 vpxor %xmm10,%xmm4,%xmm4 1510 andl %ebp,%edi 1511 xorl %eax,%ebp 1512 vmovdqa 0(%r11),%xmm10 1513 xorl %eax,%edi 1514 addl %ecx,%ebx 1515 shrdl $7,%edx,%edx 1516 addl %edi,%ebx 1517 addl 16(%rsp),%eax 1518 xorl %ebp,%edx 1519 vpalignr $8,%xmm1,%xmm2,%xmm5 1520 movl %ebx,%edi 1521 shldl $5,%ebx,%ebx 1522 vpaddd %xmm4,%xmm10,%xmm10 1523 andl %edx,%esi 1524 xorl %ebp,%edx 1525 vpsrldq $4,%xmm4,%xmm9 1526 xorl %ebp,%esi 1527 addl %ebx,%eax 1528 vpxor %xmm1,%xmm5,%xmm5 1529 shrdl $7,%ecx,%ecx 1530 addl %esi,%eax 1531 vpxor %xmm3,%xmm9,%xmm9 1532 addl 20(%rsp),%ebp 1533 vaesenc %xmm15,%xmm11,%xmm11 1534 vmovups -32(%r15),%xmm14 1535 xorl %edx,%ecx 1536 movl %eax,%esi 1537 shldl $5,%eax,%eax 1538 vpxor %xmm9,%xmm5,%xmm5 1539 andl %ecx,%edi 1540 xorl %edx,%ecx 1541 vmovdqa %xmm10,0(%rsp) 1542 xorl %edx,%edi 1543 addl %eax,%ebp 1544 vpsrld $31,%xmm5,%xmm9 1545 shrdl $7,%ebx,%ebx 1546 addl %edi,%ebp 1547 addl 24(%rsp),%edx 1548 xorl %ecx,%ebx 1549 vpslldq $12,%xmm5,%xmm8 1550 vpaddd %xmm5,%xmm5,%xmm5 1551 movl %ebp,%edi 1552 shldl $5,%ebp,%ebp 1553 andl %ebx,%esi 1554 xorl %ecx,%ebx 1555 vpsrld $30,%xmm8,%xmm10 1556 vpor %xmm9,%xmm5,%xmm5 1557 xorl %ecx,%esi 1558 vaesenc %xmm14,%xmm11,%xmm11 1559 vmovups -16(%r15),%xmm15 1560 addl %ebp,%edx 1561 shrdl $7,%eax,%eax 1562 addl %esi,%edx 1563 vpslld $2,%xmm8,%xmm8 1564 vpxor %xmm10,%xmm5,%xmm5 1565 addl 28(%rsp),%ecx 1566 xorl %ebx,%eax 1567 movl %edx,%esi 1568 shldl $5,%edx,%edx 1569 vpxor %xmm8,%xmm5,%xmm5 1570 andl %eax,%edi 1571 xorl %ebx,%eax 1572 vmovdqa 16(%r11),%xmm8 1573 xorl %ebx,%edi 1574 addl %edx,%ecx 1575 shrdl $7,%ebp,%ebp 1576 addl %edi,%ecx 1577 addl 32(%rsp),%ebx 1578 xorl %eax,%ebp 1579 vpalignr $8,%xmm2,%xmm3,%xmm6 1580 movl %ecx,%edi 1581 shldl $5,%ecx,%ecx 1582 vaesenc %xmm15,%xmm11,%xmm11 1583 vmovups 0(%r15),%xmm14 1584 vpaddd %xmm5,%xmm8,%xmm8 1585 andl %ebp,%esi 1586 xorl %eax,%ebp 1587 vpsrldq $4,%xmm5,%xmm10 1588 xorl %eax,%esi 1589 addl %ecx,%ebx 1590 vpxor %xmm2,%xmm6,%xmm6 1591 shrdl $7,%edx,%edx 1592 addl %esi,%ebx 1593 vpxor %xmm4,%xmm10,%xmm10 1594 addl 36(%rsp),%eax 1595 xorl %ebp,%edx 1596 movl %ebx,%esi 1597 shldl $5,%ebx,%ebx 1598 vpxor %xmm10,%xmm6,%xmm6 1599 andl %edx,%edi 1600 xorl %ebp,%edx 1601 vmovdqa %xmm8,16(%rsp) 1602 xorl %ebp,%edi 1603 addl %ebx,%eax 1604 vpsrld $31,%xmm6,%xmm10 1605 shrdl $7,%ecx,%ecx 1606 addl %edi,%eax 1607 addl 40(%rsp),%ebp 1608 vaesenc %xmm14,%xmm11,%xmm11 1609 vmovups 16(%r15),%xmm15 1610 xorl %edx,%ecx 1611 vpslldq $12,%xmm6,%xmm9 1612 vpaddd %xmm6,%xmm6,%xmm6 1613 movl %eax,%edi 1614 shldl $5,%eax,%eax 1615 andl %ecx,%esi 1616 xorl %edx,%ecx 1617 vpsrld $30,%xmm9,%xmm8 1618 vpor %xmm10,%xmm6,%xmm6 1619 xorl %edx,%esi 1620 addl %eax,%ebp 1621 shrdl $7,%ebx,%ebx 1622 addl %esi,%ebp 1623 vpslld $2,%xmm9,%xmm9 1624 vpxor %xmm8,%xmm6,%xmm6 1625 addl 44(%rsp),%edx 1626 xorl %ecx,%ebx 1627 movl %ebp,%esi 1628 shldl $5,%ebp,%ebp 1629 vpxor %xmm9,%xmm6,%xmm6 1630 andl %ebx,%edi 1631 xorl %ecx,%ebx 1632 vmovdqa 16(%r11),%xmm9 1633 xorl %ecx,%edi 1634 vaesenc %xmm15,%xmm11,%xmm11 1635 vmovups 32(%r15),%xmm14 1636 addl %ebp,%edx 1637 shrdl $7,%eax,%eax 1638 addl %edi,%edx 1639 addl 48(%rsp),%ecx 1640 xorl %ebx,%eax 1641 vpalignr $8,%xmm3,%xmm4,%xmm7 1642 movl %edx,%edi 1643 shldl $5,%edx,%edx 1644 vpaddd %xmm6,%xmm9,%xmm9 1645 andl %eax,%esi 1646 xorl %ebx,%eax 1647 vpsrldq $4,%xmm6,%xmm8 1648 xorl %ebx,%esi 1649 addl %edx,%ecx 1650 vpxor %xmm3,%xmm7,%xmm7 1651 shrdl $7,%ebp,%ebp 1652 addl %esi,%ecx 1653 vpxor %xmm5,%xmm8,%xmm8 1654 addl 52(%rsp),%ebx 1655 xorl %eax,%ebp 1656 movl %ecx,%esi 1657 shldl $5,%ecx,%ecx 1658 vaesenc %xmm14,%xmm11,%xmm11 1659 vmovups 48(%r15),%xmm15 1660 vpxor %xmm8,%xmm7,%xmm7 1661 andl %ebp,%edi 1662 xorl %eax,%ebp 1663 vmovdqa %xmm9,32(%rsp) 1664 xorl %eax,%edi 1665 addl %ecx,%ebx 1666 vpsrld $31,%xmm7,%xmm8 1667 shrdl $7,%edx,%edx 1668 addl %edi,%ebx 1669 addl 56(%rsp),%eax 1670 xorl %ebp,%edx 1671 vpslldq $12,%xmm7,%xmm10 1672 vpaddd %xmm7,%xmm7,%xmm7 1673 movl %ebx,%edi 1674 shldl $5,%ebx,%ebx 1675 andl %edx,%esi 1676 xorl %ebp,%edx 1677 vpsrld $30,%xmm10,%xmm9 1678 vpor %xmm8,%xmm7,%xmm7 1679 xorl %ebp,%esi 1680 addl %ebx,%eax 1681 shrdl $7,%ecx,%ecx 1682 addl %esi,%eax 1683 vpslld $2,%xmm10,%xmm10 1684 vpxor %xmm9,%xmm7,%xmm7 1685 addl 60(%rsp),%ebp 1686 cmpl $11,%r8d 1687 jb .Lvaesenclast1 1688 vaesenc %xmm15,%xmm11,%xmm11 1689 vmovups 64(%r15),%xmm14 1690 vaesenc %xmm14,%xmm11,%xmm11 1691 vmovups 80(%r15),%xmm15 1692 je .Lvaesenclast1 1693 vaesenc %xmm15,%xmm11,%xmm11 1694 vmovups 96(%r15),%xmm14 1695 vaesenc %xmm14,%xmm11,%xmm11 1696 vmovups 112(%r15),%xmm15 1697.Lvaesenclast1: 1698 vaesenclast %xmm15,%xmm11,%xmm11 1699 vmovups 16-112(%r15),%xmm14 1700 xorl %edx,%ecx 1701 movl %eax,%esi 1702 shldl $5,%eax,%eax 1703 vpxor %xmm10,%xmm7,%xmm7 1704 andl %ecx,%edi 1705 xorl %edx,%ecx 1706 vmovdqa 16(%r11),%xmm10 1707 xorl %edx,%edi 1708 addl %eax,%ebp 1709 shrdl $7,%ebx,%ebx 1710 addl %edi,%ebp 1711 vpalignr $8,%xmm6,%xmm7,%xmm9 1712 vpxor %xmm4,%xmm0,%xmm0 1713 addl 0(%rsp),%edx 1714 xorl %ecx,%ebx 1715 movl %ebp,%edi 1716 shldl $5,%ebp,%ebp 1717 vpxor %xmm1,%xmm0,%xmm0 1718 andl %ebx,%esi 1719 xorl %ecx,%ebx 1720 vmovdqa %xmm10,%xmm8 1721 vpaddd %xmm7,%xmm10,%xmm10 1722 xorl %ecx,%esi 1723 vmovups 16(%r12),%xmm12 1724 vxorps %xmm13,%xmm12,%xmm12 1725 vmovups %xmm11,0(%r13,%r12,1) 1726 vxorps %xmm12,%xmm11,%xmm11 1727 vaesenc %xmm14,%xmm11,%xmm11 1728 vmovups -80(%r15),%xmm15 1729 addl %ebp,%edx 1730 vpxor %xmm9,%xmm0,%xmm0 1731 shrdl $7,%eax,%eax 1732 addl %esi,%edx 1733 addl 4(%rsp),%ecx 1734 xorl %ebx,%eax 1735 vpsrld $30,%xmm0,%xmm9 1736 vmovdqa %xmm10,48(%rsp) 1737 movl %edx,%esi 1738 shldl $5,%edx,%edx 1739 andl %eax,%edi 1740 xorl %ebx,%eax 1741 vpslld $2,%xmm0,%xmm0 1742 xorl %ebx,%edi 1743 addl %edx,%ecx 1744 shrdl $7,%ebp,%ebp 1745 addl %edi,%ecx 1746 addl 8(%rsp),%ebx 1747 xorl %eax,%ebp 1748 movl %ecx,%edi 1749 shldl $5,%ecx,%ecx 1750 vaesenc %xmm15,%xmm11,%xmm11 1751 vmovups -64(%r15),%xmm14 1752 vpor %xmm9,%xmm0,%xmm0 1753 andl %ebp,%esi 1754 xorl %eax,%ebp 1755 vmovdqa %xmm0,%xmm10 1756 xorl %eax,%esi 1757 addl %ecx,%ebx 1758 shrdl $7,%edx,%edx 1759 addl %esi,%ebx 1760 addl 12(%rsp),%eax 1761 xorl %ebp,%edx 1762 movl %ebx,%esi 1763 shldl $5,%ebx,%ebx 1764 andl %edx,%edi 1765 xorl %ebp,%edx 1766 xorl %ebp,%edi 1767 addl %ebx,%eax 1768 shrdl $7,%ecx,%ecx 1769 addl %edi,%eax 1770 vpalignr $8,%xmm7,%xmm0,%xmm10 1771 vpxor %xmm5,%xmm1,%xmm1 1772 addl 16(%rsp),%ebp 1773 vaesenc %xmm14,%xmm11,%xmm11 1774 vmovups -48(%r15),%xmm15 1775 xorl %edx,%esi 1776 movl %eax,%edi 1777 shldl $5,%eax,%eax 1778 vpxor %xmm2,%xmm1,%xmm1 1779 xorl %ecx,%esi 1780 addl %eax,%ebp 1781 vmovdqa %xmm8,%xmm9 1782 vpaddd %xmm0,%xmm8,%xmm8 1783 shrdl $7,%ebx,%ebx 1784 addl %esi,%ebp 1785 vpxor %xmm10,%xmm1,%xmm1 1786 addl 20(%rsp),%edx 1787 xorl %ecx,%edi 1788 movl %ebp,%esi 1789 shldl $5,%ebp,%ebp 1790 vpsrld $30,%xmm1,%xmm10 1791 vmovdqa %xmm8,0(%rsp) 1792 xorl %ebx,%edi 1793 addl %ebp,%edx 1794 shrdl $7,%eax,%eax 1795 addl %edi,%edx 1796 vpslld $2,%xmm1,%xmm1 1797 addl 24(%rsp),%ecx 1798 xorl %ebx,%esi 1799 movl %edx,%edi 1800 shldl $5,%edx,%edx 1801 xorl %eax,%esi 1802 vaesenc %xmm15,%xmm11,%xmm11 1803 vmovups -32(%r15),%xmm14 1804 addl %edx,%ecx 1805 shrdl $7,%ebp,%ebp 1806 addl %esi,%ecx 1807 vpor %xmm10,%xmm1,%xmm1 1808 addl 28(%rsp),%ebx 1809 xorl %eax,%edi 1810 vmovdqa %xmm1,%xmm8 1811 movl %ecx,%esi 1812 shldl $5,%ecx,%ecx 1813 xorl %ebp,%edi 1814 addl %ecx,%ebx 1815 shrdl $7,%edx,%edx 1816 addl %edi,%ebx 1817 vpalignr $8,%xmm0,%xmm1,%xmm8 1818 vpxor %xmm6,%xmm2,%xmm2 1819 addl 32(%rsp),%eax 1820 xorl %ebp,%esi 1821 movl %ebx,%edi 1822 shldl $5,%ebx,%ebx 1823 vpxor %xmm3,%xmm2,%xmm2 1824 xorl %edx,%esi 1825 addl %ebx,%eax 1826 vmovdqa 32(%r11),%xmm10 1827 vpaddd %xmm1,%xmm9,%xmm9 1828 shrdl $7,%ecx,%ecx 1829 addl %esi,%eax 1830 vpxor %xmm8,%xmm2,%xmm2 1831 addl 36(%rsp),%ebp 1832 vaesenc %xmm14,%xmm11,%xmm11 1833 vmovups -16(%r15),%xmm15 1834 xorl %edx,%edi 1835 movl %eax,%esi 1836 shldl $5,%eax,%eax 1837 vpsrld $30,%xmm2,%xmm8 1838 vmovdqa %xmm9,16(%rsp) 1839 xorl %ecx,%edi 1840 addl %eax,%ebp 1841 shrdl $7,%ebx,%ebx 1842 addl %edi,%ebp 1843 vpslld $2,%xmm2,%xmm2 1844 addl 40(%rsp),%edx 1845 xorl %ecx,%esi 1846 movl %ebp,%edi 1847 shldl $5,%ebp,%ebp 1848 xorl %ebx,%esi 1849 addl %ebp,%edx 1850 shrdl $7,%eax,%eax 1851 addl %esi,%edx 1852 vpor %xmm8,%xmm2,%xmm2 1853 addl 44(%rsp),%ecx 1854 xorl %ebx,%edi 1855 vmovdqa %xmm2,%xmm9 1856 movl %edx,%esi 1857 shldl $5,%edx,%edx 1858 xorl %eax,%edi 1859 vaesenc %xmm15,%xmm11,%xmm11 1860 vmovups 0(%r15),%xmm14 1861 addl %edx,%ecx 1862 shrdl $7,%ebp,%ebp 1863 addl %edi,%ecx 1864 vpalignr $8,%xmm1,%xmm2,%xmm9 1865 vpxor %xmm7,%xmm3,%xmm3 1866 addl 48(%rsp),%ebx 1867 xorl %eax,%esi 1868 movl %ecx,%edi 1869 shldl $5,%ecx,%ecx 1870 vpxor %xmm4,%xmm3,%xmm3 1871 xorl %ebp,%esi 1872 addl %ecx,%ebx 1873 vmovdqa %xmm10,%xmm8 1874 vpaddd %xmm2,%xmm10,%xmm10 1875 shrdl $7,%edx,%edx 1876 addl %esi,%ebx 1877 vpxor %xmm9,%xmm3,%xmm3 1878 addl 52(%rsp),%eax 1879 xorl %ebp,%edi 1880 movl %ebx,%esi 1881 shldl $5,%ebx,%ebx 1882 vpsrld $30,%xmm3,%xmm9 1883 vmovdqa %xmm10,32(%rsp) 1884 xorl %edx,%edi 1885 addl %ebx,%eax 1886 shrdl $7,%ecx,%ecx 1887 addl %edi,%eax 1888 vpslld $2,%xmm3,%xmm3 1889 addl 56(%rsp),%ebp 1890 vaesenc %xmm14,%xmm11,%xmm11 1891 vmovups 16(%r15),%xmm15 1892 xorl %edx,%esi 1893 movl %eax,%edi 1894 shldl $5,%eax,%eax 1895 xorl %ecx,%esi 1896 addl %eax,%ebp 1897 shrdl $7,%ebx,%ebx 1898 addl %esi,%ebp 1899 vpor %xmm9,%xmm3,%xmm3 1900 addl 60(%rsp),%edx 1901 xorl %ecx,%edi 1902 vmovdqa %xmm3,%xmm10 1903 movl %ebp,%esi 1904 shldl $5,%ebp,%ebp 1905 xorl %ebx,%edi 1906 addl %ebp,%edx 1907 shrdl $7,%eax,%eax 1908 addl %edi,%edx 1909 vpalignr $8,%xmm2,%xmm3,%xmm10 1910 vpxor %xmm0,%xmm4,%xmm4 1911 addl 0(%rsp),%ecx 1912 xorl %ebx,%esi 1913 movl %edx,%edi 1914 shldl $5,%edx,%edx 1915 vpxor %xmm5,%xmm4,%xmm4 1916 xorl %eax,%esi 1917 vaesenc %xmm15,%xmm11,%xmm11 1918 vmovups 32(%r15),%xmm14 1919 addl %edx,%ecx 1920 vmovdqa %xmm8,%xmm9 1921 vpaddd %xmm3,%xmm8,%xmm8 1922 shrdl $7,%ebp,%ebp 1923 addl %esi,%ecx 1924 vpxor %xmm10,%xmm4,%xmm4 1925 addl 4(%rsp),%ebx 1926 xorl %eax,%edi 1927 movl %ecx,%esi 1928 shldl $5,%ecx,%ecx 1929 vpsrld $30,%xmm4,%xmm10 1930 vmovdqa %xmm8,48(%rsp) 1931 xorl %ebp,%edi 1932 addl %ecx,%ebx 1933 shrdl $7,%edx,%edx 1934 addl %edi,%ebx 1935 vpslld $2,%xmm4,%xmm4 1936 addl 8(%rsp),%eax 1937 xorl %ebp,%esi 1938 movl %ebx,%edi 1939 shldl $5,%ebx,%ebx 1940 xorl %edx,%esi 1941 addl %ebx,%eax 1942 shrdl $7,%ecx,%ecx 1943 addl %esi,%eax 1944 vpor %xmm10,%xmm4,%xmm4 1945 addl 12(%rsp),%ebp 1946 vaesenc %xmm14,%xmm11,%xmm11 1947 vmovups 48(%r15),%xmm15 1948 xorl %edx,%edi 1949 vmovdqa %xmm4,%xmm8 1950 movl %eax,%esi 1951 shldl $5,%eax,%eax 1952 xorl %ecx,%edi 1953 addl %eax,%ebp 1954 shrdl $7,%ebx,%ebx 1955 addl %edi,%ebp 1956 vpalignr $8,%xmm3,%xmm4,%xmm8 1957 vpxor %xmm1,%xmm5,%xmm5 1958 addl 16(%rsp),%edx 1959 xorl %ecx,%esi 1960 movl %ebp,%edi 1961 shldl $5,%ebp,%ebp 1962 vpxor %xmm6,%xmm5,%xmm5 1963 xorl %ebx,%esi 1964 addl %ebp,%edx 1965 vmovdqa %xmm9,%xmm10 1966 vpaddd %xmm4,%xmm9,%xmm9 1967 shrdl $7,%eax,%eax 1968 addl %esi,%edx 1969 vpxor %xmm8,%xmm5,%xmm5 1970 addl 20(%rsp),%ecx 1971 xorl %ebx,%edi 1972 movl %edx,%esi 1973 shldl $5,%edx,%edx 1974 vpsrld $30,%xmm5,%xmm8 1975 vmovdqa %xmm9,0(%rsp) 1976 xorl %eax,%edi 1977 cmpl $11,%r8d 1978 jb .Lvaesenclast2 1979 vaesenc %xmm15,%xmm11,%xmm11 1980 vmovups 64(%r15),%xmm14 1981 vaesenc %xmm14,%xmm11,%xmm11 1982 vmovups 80(%r15),%xmm15 1983 je .Lvaesenclast2 1984 vaesenc %xmm15,%xmm11,%xmm11 1985 vmovups 96(%r15),%xmm14 1986 vaesenc %xmm14,%xmm11,%xmm11 1987 vmovups 112(%r15),%xmm15 1988.Lvaesenclast2: 1989 vaesenclast %xmm15,%xmm11,%xmm11 1990 vmovups 16-112(%r15),%xmm14 1991 addl %edx,%ecx 1992 shrdl $7,%ebp,%ebp 1993 addl %edi,%ecx 1994 vpslld $2,%xmm5,%xmm5 1995 addl 24(%rsp),%ebx 1996 xorl %eax,%esi 1997 movl %ecx,%edi 1998 shldl $5,%ecx,%ecx 1999 xorl %ebp,%esi 2000 addl %ecx,%ebx 2001 shrdl $7,%edx,%edx 2002 addl %esi,%ebx 2003 vpor %xmm8,%xmm5,%xmm5 2004 addl 28(%rsp),%eax 2005 xorl %ebp,%edi 2006 vmovdqa %xmm5,%xmm9 2007 movl %ebx,%esi 2008 shldl $5,%ebx,%ebx 2009 xorl %edx,%edi 2010 addl %ebx,%eax 2011 shrdl $7,%ecx,%ecx 2012 addl %edi,%eax 2013 vpalignr $8,%xmm4,%xmm5,%xmm9 2014 vpxor %xmm2,%xmm6,%xmm6 2015 movl %ecx,%edi 2016 vmovups 32(%r12),%xmm12 2017 vxorps %xmm13,%xmm12,%xmm12 2018 vmovups %xmm11,16(%r13,%r12,1) 2019 vxorps %xmm12,%xmm11,%xmm11 2020 vaesenc %xmm14,%xmm11,%xmm11 2021 vmovups -80(%r15),%xmm15 2022 xorl %edx,%ecx 2023 addl 32(%rsp),%ebp 2024 andl %edx,%edi 2025 vpxor %xmm7,%xmm6,%xmm6 2026 andl %ecx,%esi 2027 shrdl $7,%ebx,%ebx 2028 vmovdqa %xmm10,%xmm8 2029 vpaddd %xmm5,%xmm10,%xmm10 2030 addl %edi,%ebp 2031 movl %eax,%edi 2032 vpxor %xmm9,%xmm6,%xmm6 2033 shldl $5,%eax,%eax 2034 addl %esi,%ebp 2035 xorl %edx,%ecx 2036 addl %eax,%ebp 2037 vpsrld $30,%xmm6,%xmm9 2038 vmovdqa %xmm10,16(%rsp) 2039 movl %ebx,%esi 2040 xorl %ecx,%ebx 2041 addl 36(%rsp),%edx 2042 andl %ecx,%esi 2043 vpslld $2,%xmm6,%xmm6 2044 andl %ebx,%edi 2045 shrdl $7,%eax,%eax 2046 addl %esi,%edx 2047 movl %ebp,%esi 2048 shldl $5,%ebp,%ebp 2049 vaesenc %xmm15,%xmm11,%xmm11 2050 vmovups -64(%r15),%xmm14 2051 addl %edi,%edx 2052 xorl %ecx,%ebx 2053 addl %ebp,%edx 2054 vpor %xmm9,%xmm6,%xmm6 2055 movl %eax,%edi 2056 xorl %ebx,%eax 2057 vmovdqa %xmm6,%xmm10 2058 addl 40(%rsp),%ecx 2059 andl %ebx,%edi 2060 andl %eax,%esi 2061 shrdl $7,%ebp,%ebp 2062 addl %edi,%ecx 2063 movl %edx,%edi 2064 shldl $5,%edx,%edx 2065 addl %esi,%ecx 2066 xorl %ebx,%eax 2067 addl %edx,%ecx 2068 movl %ebp,%esi 2069 xorl %eax,%ebp 2070 addl 44(%rsp),%ebx 2071 andl %eax,%esi 2072 andl %ebp,%edi 2073 vaesenc %xmm14,%xmm11,%xmm11 2074 vmovups -48(%r15),%xmm15 2075 shrdl $7,%edx,%edx 2076 addl %esi,%ebx 2077 movl %ecx,%esi 2078 shldl $5,%ecx,%ecx 2079 addl %edi,%ebx 2080 xorl %eax,%ebp 2081 addl %ecx,%ebx 2082 vpalignr $8,%xmm5,%xmm6,%xmm10 2083 vpxor %xmm3,%xmm7,%xmm7 2084 movl %edx,%edi 2085 xorl %ebp,%edx 2086 addl 48(%rsp),%eax 2087 andl %ebp,%edi 2088 vpxor %xmm0,%xmm7,%xmm7 2089 andl %edx,%esi 2090 shrdl $7,%ecx,%ecx 2091 vmovdqa 48(%r11),%xmm9 2092 vpaddd %xmm6,%xmm8,%xmm8 2093 addl %edi,%eax 2094 movl %ebx,%edi 2095 vpxor %xmm10,%xmm7,%xmm7 2096 shldl $5,%ebx,%ebx 2097 addl %esi,%eax 2098 xorl %ebp,%edx 2099 addl %ebx,%eax 2100 vpsrld $30,%xmm7,%xmm10 2101 vmovdqa %xmm8,32(%rsp) 2102 movl %ecx,%esi 2103 vaesenc %xmm15,%xmm11,%xmm11 2104 vmovups -32(%r15),%xmm14 2105 xorl %edx,%ecx 2106 addl 52(%rsp),%ebp 2107 andl %edx,%esi 2108 vpslld $2,%xmm7,%xmm7 2109 andl %ecx,%edi 2110 shrdl $7,%ebx,%ebx 2111 addl %esi,%ebp 2112 movl %eax,%esi 2113 shldl $5,%eax,%eax 2114 addl %edi,%ebp 2115 xorl %edx,%ecx 2116 addl %eax,%ebp 2117 vpor %xmm10,%xmm7,%xmm7 2118 movl %ebx,%edi 2119 xorl %ecx,%ebx 2120 vmovdqa %xmm7,%xmm8 2121 addl 56(%rsp),%edx 2122 andl %ecx,%edi 2123 andl %ebx,%esi 2124 shrdl $7,%eax,%eax 2125 addl %edi,%edx 2126 movl %ebp,%edi 2127 shldl $5,%ebp,%ebp 2128 vaesenc %xmm14,%xmm11,%xmm11 2129 vmovups -16(%r15),%xmm15 2130 addl %esi,%edx 2131 xorl %ecx,%ebx 2132 addl %ebp,%edx 2133 movl %eax,%esi 2134 xorl %ebx,%eax 2135 addl 60(%rsp),%ecx 2136 andl %ebx,%esi 2137 andl %eax,%edi 2138 shrdl $7,%ebp,%ebp 2139 addl %esi,%ecx 2140 movl %edx,%esi 2141 shldl $5,%edx,%edx 2142 addl %edi,%ecx 2143 xorl %ebx,%eax 2144 addl %edx,%ecx 2145 vpalignr $8,%xmm6,%xmm7,%xmm8 2146 vpxor %xmm4,%xmm0,%xmm0 2147 movl %ebp,%edi 2148 xorl %eax,%ebp 2149 addl 0(%rsp),%ebx 2150 andl %eax,%edi 2151 vpxor %xmm1,%xmm0,%xmm0 2152 andl %ebp,%esi 2153 vaesenc %xmm15,%xmm11,%xmm11 2154 vmovups 0(%r15),%xmm14 2155 shrdl $7,%edx,%edx 2156 vmovdqa %xmm9,%xmm10 2157 vpaddd %xmm7,%xmm9,%xmm9 2158 addl %edi,%ebx 2159 movl %ecx,%edi 2160 vpxor %xmm8,%xmm0,%xmm0 2161 shldl $5,%ecx,%ecx 2162 addl %esi,%ebx 2163 xorl %eax,%ebp 2164 addl %ecx,%ebx 2165 vpsrld $30,%xmm0,%xmm8 2166 vmovdqa %xmm9,48(%rsp) 2167 movl %edx,%esi 2168 xorl %ebp,%edx 2169 addl 4(%rsp),%eax 2170 andl %ebp,%esi 2171 vpslld $2,%xmm0,%xmm0 2172 andl %edx,%edi 2173 shrdl $7,%ecx,%ecx 2174 addl %esi,%eax 2175 movl %ebx,%esi 2176 shldl $5,%ebx,%ebx 2177 addl %edi,%eax 2178 xorl %ebp,%edx 2179 addl %ebx,%eax 2180 vpor %xmm8,%xmm0,%xmm0 2181 movl %ecx,%edi 2182 vaesenc %xmm14,%xmm11,%xmm11 2183 vmovups 16(%r15),%xmm15 2184 xorl %edx,%ecx 2185 vmovdqa %xmm0,%xmm9 2186 addl 8(%rsp),%ebp 2187 andl %edx,%edi 2188 andl %ecx,%esi 2189 shrdl $7,%ebx,%ebx 2190 addl %edi,%ebp 2191 movl %eax,%edi 2192 shldl $5,%eax,%eax 2193 addl %esi,%ebp 2194 xorl %edx,%ecx 2195 addl %eax,%ebp 2196 movl %ebx,%esi 2197 xorl %ecx,%ebx 2198 addl 12(%rsp),%edx 2199 andl %ecx,%esi 2200 andl %ebx,%edi 2201 shrdl $7,%eax,%eax 2202 addl %esi,%edx 2203 movl %ebp,%esi 2204 shldl $5,%ebp,%ebp 2205 vaesenc %xmm15,%xmm11,%xmm11 2206 vmovups 32(%r15),%xmm14 2207 addl %edi,%edx 2208 xorl %ecx,%ebx 2209 addl %ebp,%edx 2210 vpalignr $8,%xmm7,%xmm0,%xmm9 2211 vpxor %xmm5,%xmm1,%xmm1 2212 movl %eax,%edi 2213 xorl %ebx,%eax 2214 addl 16(%rsp),%ecx 2215 andl %ebx,%edi 2216 vpxor %xmm2,%xmm1,%xmm1 2217 andl %eax,%esi 2218 shrdl $7,%ebp,%ebp 2219 vmovdqa %xmm10,%xmm8 2220 vpaddd %xmm0,%xmm10,%xmm10 2221 addl %edi,%ecx 2222 movl %edx,%edi 2223 vpxor %xmm9,%xmm1,%xmm1 2224 shldl $5,%edx,%edx 2225 addl %esi,%ecx 2226 xorl %ebx,%eax 2227 addl %edx,%ecx 2228 vpsrld $30,%xmm1,%xmm9 2229 vmovdqa %xmm10,0(%rsp) 2230 movl %ebp,%esi 2231 xorl %eax,%ebp 2232 addl 20(%rsp),%ebx 2233 andl %eax,%esi 2234 vpslld $2,%xmm1,%xmm1 2235 andl %ebp,%edi 2236 vaesenc %xmm14,%xmm11,%xmm11 2237 vmovups 48(%r15),%xmm15 2238 shrdl $7,%edx,%edx 2239 addl %esi,%ebx 2240 movl %ecx,%esi 2241 shldl $5,%ecx,%ecx 2242 addl %edi,%ebx 2243 xorl %eax,%ebp 2244 addl %ecx,%ebx 2245 vpor %xmm9,%xmm1,%xmm1 2246 movl %edx,%edi 2247 xorl %ebp,%edx 2248 vmovdqa %xmm1,%xmm10 2249 addl 24(%rsp),%eax 2250 andl %ebp,%edi 2251 andl %edx,%esi 2252 shrdl $7,%ecx,%ecx 2253 addl %edi,%eax 2254 movl %ebx,%edi 2255 shldl $5,%ebx,%ebx 2256 addl %esi,%eax 2257 xorl %ebp,%edx 2258 addl %ebx,%eax 2259 movl %ecx,%esi 2260 cmpl $11,%r8d 2261 jb .Lvaesenclast3 2262 vaesenc %xmm15,%xmm11,%xmm11 2263 vmovups 64(%r15),%xmm14 2264 vaesenc %xmm14,%xmm11,%xmm11 2265 vmovups 80(%r15),%xmm15 2266 je .Lvaesenclast3 2267 vaesenc %xmm15,%xmm11,%xmm11 2268 vmovups 96(%r15),%xmm14 2269 vaesenc %xmm14,%xmm11,%xmm11 2270 vmovups 112(%r15),%xmm15 2271.Lvaesenclast3: 2272 vaesenclast %xmm15,%xmm11,%xmm11 2273 vmovups 16-112(%r15),%xmm14 2274 xorl %edx,%ecx 2275 addl 28(%rsp),%ebp 2276 andl %edx,%esi 2277 andl %ecx,%edi 2278 shrdl $7,%ebx,%ebx 2279 addl %esi,%ebp 2280 movl %eax,%esi 2281 shldl $5,%eax,%eax 2282 addl %edi,%ebp 2283 xorl %edx,%ecx 2284 addl %eax,%ebp 2285 vpalignr $8,%xmm0,%xmm1,%xmm10 2286 vpxor %xmm6,%xmm2,%xmm2 2287 movl %ebx,%edi 2288 xorl %ecx,%ebx 2289 addl 32(%rsp),%edx 2290 andl %ecx,%edi 2291 vpxor %xmm3,%xmm2,%xmm2 2292 andl %ebx,%esi 2293 shrdl $7,%eax,%eax 2294 vmovdqa %xmm8,%xmm9 2295 vpaddd %xmm1,%xmm8,%xmm8 2296 addl %edi,%edx 2297 movl %ebp,%edi 2298 vpxor %xmm10,%xmm2,%xmm2 2299 shldl $5,%ebp,%ebp 2300 vmovups 48(%r12),%xmm12 2301 vxorps %xmm13,%xmm12,%xmm12 2302 vmovups %xmm11,32(%r13,%r12,1) 2303 vxorps %xmm12,%xmm11,%xmm11 2304 vaesenc %xmm14,%xmm11,%xmm11 2305 vmovups -80(%r15),%xmm15 2306 addl %esi,%edx 2307 xorl %ecx,%ebx 2308 addl %ebp,%edx 2309 vpsrld $30,%xmm2,%xmm10 2310 vmovdqa %xmm8,16(%rsp) 2311 movl %eax,%esi 2312 xorl %ebx,%eax 2313 addl 36(%rsp),%ecx 2314 andl %ebx,%esi 2315 vpslld $2,%xmm2,%xmm2 2316 andl %eax,%edi 2317 shrdl $7,%ebp,%ebp 2318 addl %esi,%ecx 2319 movl %edx,%esi 2320 shldl $5,%edx,%edx 2321 addl %edi,%ecx 2322 xorl %ebx,%eax 2323 addl %edx,%ecx 2324 vpor %xmm10,%xmm2,%xmm2 2325 movl %ebp,%edi 2326 xorl %eax,%ebp 2327 vmovdqa %xmm2,%xmm8 2328 addl 40(%rsp),%ebx 2329 andl %eax,%edi 2330 andl %ebp,%esi 2331 vaesenc %xmm15,%xmm11,%xmm11 2332 vmovups -64(%r15),%xmm14 2333 shrdl $7,%edx,%edx 2334 addl %edi,%ebx 2335 movl %ecx,%edi 2336 shldl $5,%ecx,%ecx 2337 addl %esi,%ebx 2338 xorl %eax,%ebp 2339 addl %ecx,%ebx 2340 movl %edx,%esi 2341 xorl %ebp,%edx 2342 addl 44(%rsp),%eax 2343 andl %ebp,%esi 2344 andl %edx,%edi 2345 shrdl $7,%ecx,%ecx 2346 addl %esi,%eax 2347 movl %ebx,%esi 2348 shldl $5,%ebx,%ebx 2349 addl %edi,%eax 2350 xorl %ebp,%edx 2351 addl %ebx,%eax 2352 vpalignr $8,%xmm1,%xmm2,%xmm8 2353 vpxor %xmm7,%xmm3,%xmm3 2354 addl 48(%rsp),%ebp 2355 vaesenc %xmm14,%xmm11,%xmm11 2356 vmovups -48(%r15),%xmm15 2357 xorl %edx,%esi 2358 movl %eax,%edi 2359 shldl $5,%eax,%eax 2360 vpxor %xmm4,%xmm3,%xmm3 2361 xorl %ecx,%esi 2362 addl %eax,%ebp 2363 vmovdqa %xmm9,%xmm10 2364 vpaddd %xmm2,%xmm9,%xmm9 2365 shrdl $7,%ebx,%ebx 2366 addl %esi,%ebp 2367 vpxor %xmm8,%xmm3,%xmm3 2368 addl 52(%rsp),%edx 2369 xorl %ecx,%edi 2370 movl %ebp,%esi 2371 shldl $5,%ebp,%ebp 2372 vpsrld $30,%xmm3,%xmm8 2373 vmovdqa %xmm9,32(%rsp) 2374 xorl %ebx,%edi 2375 addl %ebp,%edx 2376 shrdl $7,%eax,%eax 2377 addl %edi,%edx 2378 vpslld $2,%xmm3,%xmm3 2379 addl 56(%rsp),%ecx 2380 xorl %ebx,%esi 2381 movl %edx,%edi 2382 shldl $5,%edx,%edx 2383 xorl %eax,%esi 2384 vaesenc %xmm15,%xmm11,%xmm11 2385 vmovups -32(%r15),%xmm14 2386 addl %edx,%ecx 2387 shrdl $7,%ebp,%ebp 2388 addl %esi,%ecx 2389 vpor %xmm8,%xmm3,%xmm3 2390 addl 60(%rsp),%ebx 2391 xorl %eax,%edi 2392 movl %ecx,%esi 2393 shldl $5,%ecx,%ecx 2394 xorl %ebp,%edi 2395 addl %ecx,%ebx 2396 shrdl $7,%edx,%edx 2397 addl %edi,%ebx 2398 addl 0(%rsp),%eax 2399 vpaddd %xmm3,%xmm10,%xmm10 2400 xorl %ebp,%esi 2401 movl %ebx,%edi 2402 shldl $5,%ebx,%ebx 2403 xorl %edx,%esi 2404 movdqa %xmm10,48(%rsp) 2405 addl %ebx,%eax 2406 shrdl $7,%ecx,%ecx 2407 addl %esi,%eax 2408 addl 4(%rsp),%ebp 2409 vaesenc %xmm14,%xmm11,%xmm11 2410 vmovups -16(%r15),%xmm15 2411 xorl %edx,%edi 2412 movl %eax,%esi 2413 shldl $5,%eax,%eax 2414 xorl %ecx,%edi 2415 addl %eax,%ebp 2416 shrdl $7,%ebx,%ebx 2417 addl %edi,%ebp 2418 addl 8(%rsp),%edx 2419 xorl %ecx,%esi 2420 movl %ebp,%edi 2421 shldl $5,%ebp,%ebp 2422 xorl %ebx,%esi 2423 addl %ebp,%edx 2424 shrdl $7,%eax,%eax 2425 addl %esi,%edx 2426 addl 12(%rsp),%ecx 2427 xorl %ebx,%edi 2428 movl %edx,%esi 2429 shldl $5,%edx,%edx 2430 xorl %eax,%edi 2431 vaesenc %xmm15,%xmm11,%xmm11 2432 vmovups 0(%r15),%xmm14 2433 addl %edx,%ecx 2434 shrdl $7,%ebp,%ebp 2435 addl %edi,%ecx 2436 cmpq %r14,%r10 2437 je .Ldone_avx 2438 vmovdqa 64(%r11),%xmm6 2439 vmovdqa 0(%r11),%xmm9 2440 vmovdqu 0(%r10),%xmm0 2441 vmovdqu 16(%r10),%xmm1 2442 vmovdqu 32(%r10),%xmm2 2443 vmovdqu 48(%r10),%xmm3 2444 vpshufb %xmm6,%xmm0,%xmm0 2445 addq $64,%r10 2446 addl 16(%rsp),%ebx 2447 xorl %eax,%esi 2448 vpshufb %xmm6,%xmm1,%xmm1 2449 movl %ecx,%edi 2450 shldl $5,%ecx,%ecx 2451 vpaddd %xmm9,%xmm0,%xmm4 2452 xorl %ebp,%esi 2453 addl %ecx,%ebx 2454 shrdl $7,%edx,%edx 2455 addl %esi,%ebx 2456 vmovdqa %xmm4,0(%rsp) 2457 addl 20(%rsp),%eax 2458 xorl %ebp,%edi 2459 movl %ebx,%esi 2460 shldl $5,%ebx,%ebx 2461 xorl %edx,%edi 2462 addl %ebx,%eax 2463 shrdl $7,%ecx,%ecx 2464 addl %edi,%eax 2465 addl 24(%rsp),%ebp 2466 vaesenc %xmm14,%xmm11,%xmm11 2467 vmovups 16(%r15),%xmm15 2468 xorl %edx,%esi 2469 movl %eax,%edi 2470 shldl $5,%eax,%eax 2471 xorl %ecx,%esi 2472 addl %eax,%ebp 2473 shrdl $7,%ebx,%ebx 2474 addl %esi,%ebp 2475 addl 28(%rsp),%edx 2476 xorl %ecx,%edi 2477 movl %ebp,%esi 2478 shldl $5,%ebp,%ebp 2479 xorl %ebx,%edi 2480 addl %ebp,%edx 2481 shrdl $7,%eax,%eax 2482 addl %edi,%edx 2483 addl 32(%rsp),%ecx 2484 xorl %ebx,%esi 2485 vpshufb %xmm6,%xmm2,%xmm2 2486 movl %edx,%edi 2487 shldl $5,%edx,%edx 2488 vpaddd %xmm9,%xmm1,%xmm5 2489 xorl %eax,%esi 2490 vaesenc %xmm15,%xmm11,%xmm11 2491 vmovups 32(%r15),%xmm14 2492 addl %edx,%ecx 2493 shrdl $7,%ebp,%ebp 2494 addl %esi,%ecx 2495 vmovdqa %xmm5,16(%rsp) 2496 addl 36(%rsp),%ebx 2497 xorl %eax,%edi 2498 movl %ecx,%esi 2499 shldl $5,%ecx,%ecx 2500 xorl %ebp,%edi 2501 addl %ecx,%ebx 2502 shrdl $7,%edx,%edx 2503 addl %edi,%ebx 2504 addl 40(%rsp),%eax 2505 xorl %ebp,%esi 2506 movl %ebx,%edi 2507 shldl $5,%ebx,%ebx 2508 xorl %edx,%esi 2509 addl %ebx,%eax 2510 shrdl $7,%ecx,%ecx 2511 addl %esi,%eax 2512 addl 44(%rsp),%ebp 2513 vaesenc %xmm14,%xmm11,%xmm11 2514 vmovups 48(%r15),%xmm15 2515 xorl %edx,%edi 2516 movl %eax,%esi 2517 shldl $5,%eax,%eax 2518 xorl %ecx,%edi 2519 addl %eax,%ebp 2520 shrdl $7,%ebx,%ebx 2521 addl %edi,%ebp 2522 addl 48(%rsp),%edx 2523 xorl %ecx,%esi 2524 vpshufb %xmm6,%xmm3,%xmm3 2525 movl %ebp,%edi 2526 shldl $5,%ebp,%ebp 2527 vpaddd %xmm9,%xmm2,%xmm6 2528 xorl %ebx,%esi 2529 addl %ebp,%edx 2530 shrdl $7,%eax,%eax 2531 addl %esi,%edx 2532 vmovdqa %xmm6,32(%rsp) 2533 addl 52(%rsp),%ecx 2534 xorl %ebx,%edi 2535 movl %edx,%esi 2536 shldl $5,%edx,%edx 2537 xorl %eax,%edi 2538 cmpl $11,%r8d 2539 jb .Lvaesenclast4 2540 vaesenc %xmm15,%xmm11,%xmm11 2541 vmovups 64(%r15),%xmm14 2542 vaesenc %xmm14,%xmm11,%xmm11 2543 vmovups 80(%r15),%xmm15 2544 je .Lvaesenclast4 2545 vaesenc %xmm15,%xmm11,%xmm11 2546 vmovups 96(%r15),%xmm14 2547 vaesenc %xmm14,%xmm11,%xmm11 2548 vmovups 112(%r15),%xmm15 2549.Lvaesenclast4: 2550 vaesenclast %xmm15,%xmm11,%xmm11 2551 vmovups 16-112(%r15),%xmm14 2552 addl %edx,%ecx 2553 shrdl $7,%ebp,%ebp 2554 addl %edi,%ecx 2555 addl 56(%rsp),%ebx 2556 xorl %eax,%esi 2557 movl %ecx,%edi 2558 shldl $5,%ecx,%ecx 2559 xorl %ebp,%esi 2560 addl %ecx,%ebx 2561 shrdl $7,%edx,%edx 2562 addl %esi,%ebx 2563 addl 60(%rsp),%eax 2564 xorl %ebp,%edi 2565 movl %ebx,%esi 2566 shldl $5,%ebx,%ebx 2567 xorl %edx,%edi 2568 addl %ebx,%eax 2569 shrdl $7,%ecx,%ecx 2570 addl %edi,%eax 2571 vmovups %xmm11,48(%r13,%r12,1) 2572 leaq 64(%r12),%r12 2573 2574 addl 0(%r9),%eax 2575 addl 4(%r9),%esi 2576 addl 8(%r9),%ecx 2577 addl 12(%r9),%edx 2578 movl %eax,0(%r9) 2579 addl 16(%r9),%ebp 2580 movl %esi,4(%r9) 2581 movl %esi,%ebx 2582 movl %ecx,8(%r9) 2583 movl %edx,12(%r9) 2584 movl %ebp,16(%r9) 2585 jmp .Loop_avx 2586 2587.align 16 2588.Ldone_avx: 2589 addl 16(%rsp),%ebx 2590 xorl %eax,%esi 2591 movl %ecx,%edi 2592 shldl $5,%ecx,%ecx 2593 xorl %ebp,%esi 2594 addl %ecx,%ebx 2595 shrdl $7,%edx,%edx 2596 addl %esi,%ebx 2597 addl 20(%rsp),%eax 2598 xorl %ebp,%edi 2599 movl %ebx,%esi 2600 shldl $5,%ebx,%ebx 2601 xorl %edx,%edi 2602 addl %ebx,%eax 2603 shrdl $7,%ecx,%ecx 2604 addl %edi,%eax 2605 addl 24(%rsp),%ebp 2606 vaesenc %xmm14,%xmm11,%xmm11 2607 vmovups 16(%r15),%xmm15 2608 xorl %edx,%esi 2609 movl %eax,%edi 2610 shldl $5,%eax,%eax 2611 xorl %ecx,%esi 2612 addl %eax,%ebp 2613 shrdl $7,%ebx,%ebx 2614 addl %esi,%ebp 2615 addl 28(%rsp),%edx 2616 xorl %ecx,%edi 2617 movl %ebp,%esi 2618 shldl $5,%ebp,%ebp 2619 xorl %ebx,%edi 2620 addl %ebp,%edx 2621 shrdl $7,%eax,%eax 2622 addl %edi,%edx 2623 addl 32(%rsp),%ecx 2624 xorl %ebx,%esi 2625 movl %edx,%edi 2626 shldl $5,%edx,%edx 2627 xorl %eax,%esi 2628 vaesenc %xmm15,%xmm11,%xmm11 2629 vmovups 32(%r15),%xmm14 2630 addl %edx,%ecx 2631 shrdl $7,%ebp,%ebp 2632 addl %esi,%ecx 2633 addl 36(%rsp),%ebx 2634 xorl %eax,%edi 2635 movl %ecx,%esi 2636 shldl $5,%ecx,%ecx 2637 xorl %ebp,%edi 2638 addl %ecx,%ebx 2639 shrdl $7,%edx,%edx 2640 addl %edi,%ebx 2641 addl 40(%rsp),%eax 2642 xorl %ebp,%esi 2643 movl %ebx,%edi 2644 shldl $5,%ebx,%ebx 2645 xorl %edx,%esi 2646 addl %ebx,%eax 2647 shrdl $7,%ecx,%ecx 2648 addl %esi,%eax 2649 addl 44(%rsp),%ebp 2650 vaesenc %xmm14,%xmm11,%xmm11 2651 vmovups 48(%r15),%xmm15 2652 xorl %edx,%edi 2653 movl %eax,%esi 2654 shldl $5,%eax,%eax 2655 xorl %ecx,%edi 2656 addl %eax,%ebp 2657 shrdl $7,%ebx,%ebx 2658 addl %edi,%ebp 2659 addl 48(%rsp),%edx 2660 xorl %ecx,%esi 2661 movl %ebp,%edi 2662 shldl $5,%ebp,%ebp 2663 xorl %ebx,%esi 2664 addl %ebp,%edx 2665 shrdl $7,%eax,%eax 2666 addl %esi,%edx 2667 addl 52(%rsp),%ecx 2668 xorl %ebx,%edi 2669 movl %edx,%esi 2670 shldl $5,%edx,%edx 2671 xorl %eax,%edi 2672 cmpl $11,%r8d 2673 jb .Lvaesenclast5 2674 vaesenc %xmm15,%xmm11,%xmm11 2675 vmovups 64(%r15),%xmm14 2676 vaesenc %xmm14,%xmm11,%xmm11 2677 vmovups 80(%r15),%xmm15 2678 je .Lvaesenclast5 2679 vaesenc %xmm15,%xmm11,%xmm11 2680 vmovups 96(%r15),%xmm14 2681 vaesenc %xmm14,%xmm11,%xmm11 2682 vmovups 112(%r15),%xmm15 2683.Lvaesenclast5: 2684 vaesenclast %xmm15,%xmm11,%xmm11 2685 vmovups 16-112(%r15),%xmm14 2686 addl %edx,%ecx 2687 shrdl $7,%ebp,%ebp 2688 addl %edi,%ecx 2689 addl 56(%rsp),%ebx 2690 xorl %eax,%esi 2691 movl %ecx,%edi 2692 shldl $5,%ecx,%ecx 2693 xorl %ebp,%esi 2694 addl %ecx,%ebx 2695 shrdl $7,%edx,%edx 2696 addl %esi,%ebx 2697 addl 60(%rsp),%eax 2698 xorl %ebp,%edi 2699 movl %ebx,%esi 2700 shldl $5,%ebx,%ebx 2701 xorl %edx,%edi 2702 addl %ebx,%eax 2703 shrdl $7,%ecx,%ecx 2704 addl %edi,%eax 2705 vmovups %xmm11,48(%r13,%r12,1) 2706 movq 88(%rsp),%r8 2707 2708 addl 0(%r9),%eax 2709 addl 4(%r9),%esi 2710 addl 8(%r9),%ecx 2711 movl %eax,0(%r9) 2712 addl 12(%r9),%edx 2713 movl %esi,4(%r9) 2714 addl 16(%r9),%ebp 2715 movl %ecx,8(%r9) 2716 movl %edx,12(%r9) 2717 movl %ebp,16(%r9) 2718 vmovups %xmm11,(%r8) 2719 vzeroall 2720 leaq 104(%rsp),%rsi 2721 movq 0(%rsi),%r15 2722 movq 8(%rsi),%r14 2723 movq 16(%rsi),%r13 2724 movq 24(%rsi),%r12 2725 movq 32(%rsi),%rbp 2726 movq 40(%rsi),%rbx 2727 leaq 48(%rsi),%rsp 2728.Lepilogue_avx: 2729 .byte 0xf3,0xc3 2730.size aesni_cbc_sha1_enc_avx,.-aesni_cbc_sha1_enc_avx 2731.align 64 2732K_XX_XX: 2733.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 2734.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 2735.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc 2736.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 2737.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f 2738 2739.byte 65,69,83,78,73,45,67,66,67,43,83,72,65,49,32,115,116,105,116,99,104,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 2740.align 64 2741