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

Cache object: a2eb1c2839569da224286faa6545e55a


[ 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.