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

Cache object: 203c2e6bfaa8b57e56848d22400a44c6


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