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