The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/crypto/openssl/amd64/aesni-sha1-x86_64.S

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

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

Cache object: cf081d0db9d3ce494b0960e616bbdd70


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.