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


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

FreeBSD/Linux Kernel Cross Reference
sys/crypto/openssl/amd64/sha256-mb-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 sha256-mb-x86_64.pl. */
    3 .text   
    4 
    5 
    6 
    7 .globl  sha256_multi_block
    8 .type   sha256_multi_block,@function
    9 .align  32
   10 sha256_multi_block:
   11 .cfi_startproc  
   12         movq    OPENSSL_ia32cap_P+4(%rip),%rcx
   13         btq     $61,%rcx
   14         jc      _shaext_shortcut
   15         testl   $268435456,%ecx
   16         jnz     _avx_shortcut
   17         movq    %rsp,%rax
   18 .cfi_def_cfa_register   %rax
   19         pushq   %rbx
   20 .cfi_offset     %rbx,-16
   21         pushq   %rbp
   22 .cfi_offset     %rbp,-24
   23         subq    $288,%rsp
   24         andq    $-256,%rsp
   25         movq    %rax,272(%rsp)
   26 .cfi_escape     0x0f,0x06,0x77,0x90,0x02,0x06,0x23,0x08
   27 .Lbody:
   28         leaq    K256+128(%rip),%rbp
   29         leaq    256(%rsp),%rbx
   30         leaq    128(%rdi),%rdi
   31 
   32 .Loop_grande:
   33         movl    %edx,280(%rsp)
   34         xorl    %edx,%edx
   35         movq    0(%rsi),%r8
   36         movl    8(%rsi),%ecx
   37         cmpl    %edx,%ecx
   38         cmovgl  %ecx,%edx
   39         testl   %ecx,%ecx
   40         movl    %ecx,0(%rbx)
   41         cmovleq %rbp,%r8
   42         movq    16(%rsi),%r9
   43         movl    24(%rsi),%ecx
   44         cmpl    %edx,%ecx
   45         cmovgl  %ecx,%edx
   46         testl   %ecx,%ecx
   47         movl    %ecx,4(%rbx)
   48         cmovleq %rbp,%r9
   49         movq    32(%rsi),%r10
   50         movl    40(%rsi),%ecx
   51         cmpl    %edx,%ecx
   52         cmovgl  %ecx,%edx
   53         testl   %ecx,%ecx
   54         movl    %ecx,8(%rbx)
   55         cmovleq %rbp,%r10
   56         movq    48(%rsi),%r11
   57         movl    56(%rsi),%ecx
   58         cmpl    %edx,%ecx
   59         cmovgl  %ecx,%edx
   60         testl   %ecx,%ecx
   61         movl    %ecx,12(%rbx)
   62         cmovleq %rbp,%r11
   63         testl   %edx,%edx
   64         jz      .Ldone
   65 
   66         movdqu  0-128(%rdi),%xmm8
   67         leaq    128(%rsp),%rax
   68         movdqu  32-128(%rdi),%xmm9
   69         movdqu  64-128(%rdi),%xmm10
   70         movdqu  96-128(%rdi),%xmm11
   71         movdqu  128-128(%rdi),%xmm12
   72         movdqu  160-128(%rdi),%xmm13
   73         movdqu  192-128(%rdi),%xmm14
   74         movdqu  224-128(%rdi),%xmm15
   75         movdqu  .Lpbswap(%rip),%xmm6
   76         jmp     .Loop
   77 
   78 .align  32
   79 .Loop:
   80         movdqa  %xmm10,%xmm4
   81         pxor    %xmm9,%xmm4
   82         movd    0(%r8),%xmm5
   83         movd    0(%r9),%xmm0
   84         movd    0(%r10),%xmm1
   85         movd    0(%r11),%xmm2
   86         punpckldq       %xmm1,%xmm5
   87         punpckldq       %xmm2,%xmm0
   88         punpckldq       %xmm0,%xmm5
   89         movdqa  %xmm12,%xmm7
   90 .byte   102,15,56,0,238
   91         movdqa  %xmm12,%xmm2
   92 
   93         psrld   $6,%xmm7
   94         movdqa  %xmm12,%xmm1
   95         pslld   $7,%xmm2
   96         movdqa  %xmm5,0-128(%rax)
   97         paddd   %xmm15,%xmm5
   98 
   99         psrld   $11,%xmm1
  100         pxor    %xmm2,%xmm7
  101         pslld   $21-7,%xmm2
  102         paddd   -128(%rbp),%xmm5
  103         pxor    %xmm1,%xmm7
  104 
  105         psrld   $25-11,%xmm1
  106         movdqa  %xmm12,%xmm0
  107 
  108         pxor    %xmm2,%xmm7
  109         movdqa  %xmm12,%xmm3
  110         pslld   $26-21,%xmm2
  111         pandn   %xmm14,%xmm0
  112         pand    %xmm13,%xmm3
  113         pxor    %xmm1,%xmm7
  114 
  115 
  116         movdqa  %xmm8,%xmm1
  117         pxor    %xmm2,%xmm7
  118         movdqa  %xmm8,%xmm2
  119         psrld   $2,%xmm1
  120         paddd   %xmm7,%xmm5
  121         pxor    %xmm3,%xmm0
  122         movdqa  %xmm9,%xmm3
  123         movdqa  %xmm8,%xmm7
  124         pslld   $10,%xmm2
  125         pxor    %xmm8,%xmm3
  126 
  127 
  128         psrld   $13,%xmm7
  129         pxor    %xmm2,%xmm1
  130         paddd   %xmm0,%xmm5
  131         pslld   $19-10,%xmm2
  132         pand    %xmm3,%xmm4
  133         pxor    %xmm7,%xmm1
  134 
  135 
  136         psrld   $22-13,%xmm7
  137         pxor    %xmm2,%xmm1
  138         movdqa  %xmm9,%xmm15
  139         pslld   $30-19,%xmm2
  140         pxor    %xmm1,%xmm7
  141         pxor    %xmm4,%xmm15
  142         paddd   %xmm5,%xmm11
  143         pxor    %xmm2,%xmm7
  144 
  145         paddd   %xmm5,%xmm15
  146         paddd   %xmm7,%xmm15
  147         movd    4(%r8),%xmm5
  148         movd    4(%r9),%xmm0
  149         movd    4(%r10),%xmm1
  150         movd    4(%r11),%xmm2
  151         punpckldq       %xmm1,%xmm5
  152         punpckldq       %xmm2,%xmm0
  153         punpckldq       %xmm0,%xmm5
  154         movdqa  %xmm11,%xmm7
  155 
  156         movdqa  %xmm11,%xmm2
  157 .byte   102,15,56,0,238
  158         psrld   $6,%xmm7
  159         movdqa  %xmm11,%xmm1
  160         pslld   $7,%xmm2
  161         movdqa  %xmm5,16-128(%rax)
  162         paddd   %xmm14,%xmm5
  163 
  164         psrld   $11,%xmm1
  165         pxor    %xmm2,%xmm7
  166         pslld   $21-7,%xmm2
  167         paddd   -96(%rbp),%xmm5
  168         pxor    %xmm1,%xmm7
  169 
  170         psrld   $25-11,%xmm1
  171         movdqa  %xmm11,%xmm0
  172 
  173         pxor    %xmm2,%xmm7
  174         movdqa  %xmm11,%xmm4
  175         pslld   $26-21,%xmm2
  176         pandn   %xmm13,%xmm0
  177         pand    %xmm12,%xmm4
  178         pxor    %xmm1,%xmm7
  179 
  180 
  181         movdqa  %xmm15,%xmm1
  182         pxor    %xmm2,%xmm7
  183         movdqa  %xmm15,%xmm2
  184         psrld   $2,%xmm1
  185         paddd   %xmm7,%xmm5
  186         pxor    %xmm4,%xmm0
  187         movdqa  %xmm8,%xmm4
  188         movdqa  %xmm15,%xmm7
  189         pslld   $10,%xmm2
  190         pxor    %xmm15,%xmm4
  191 
  192 
  193         psrld   $13,%xmm7
  194         pxor    %xmm2,%xmm1
  195         paddd   %xmm0,%xmm5
  196         pslld   $19-10,%xmm2
  197         pand    %xmm4,%xmm3
  198         pxor    %xmm7,%xmm1
  199 
  200 
  201         psrld   $22-13,%xmm7
  202         pxor    %xmm2,%xmm1
  203         movdqa  %xmm8,%xmm14
  204         pslld   $30-19,%xmm2
  205         pxor    %xmm1,%xmm7
  206         pxor    %xmm3,%xmm14
  207         paddd   %xmm5,%xmm10
  208         pxor    %xmm2,%xmm7
  209 
  210         paddd   %xmm5,%xmm14
  211         paddd   %xmm7,%xmm14
  212         movd    8(%r8),%xmm5
  213         movd    8(%r9),%xmm0
  214         movd    8(%r10),%xmm1
  215         movd    8(%r11),%xmm2
  216         punpckldq       %xmm1,%xmm5
  217         punpckldq       %xmm2,%xmm0
  218         punpckldq       %xmm0,%xmm5
  219         movdqa  %xmm10,%xmm7
  220 .byte   102,15,56,0,238
  221         movdqa  %xmm10,%xmm2
  222 
  223         psrld   $6,%xmm7
  224         movdqa  %xmm10,%xmm1
  225         pslld   $7,%xmm2
  226         movdqa  %xmm5,32-128(%rax)
  227         paddd   %xmm13,%xmm5
  228 
  229         psrld   $11,%xmm1
  230         pxor    %xmm2,%xmm7
  231         pslld   $21-7,%xmm2
  232         paddd   -64(%rbp),%xmm5
  233         pxor    %xmm1,%xmm7
  234 
  235         psrld   $25-11,%xmm1
  236         movdqa  %xmm10,%xmm0
  237 
  238         pxor    %xmm2,%xmm7
  239         movdqa  %xmm10,%xmm3
  240         pslld   $26-21,%xmm2
  241         pandn   %xmm12,%xmm0
  242         pand    %xmm11,%xmm3
  243         pxor    %xmm1,%xmm7
  244 
  245 
  246         movdqa  %xmm14,%xmm1
  247         pxor    %xmm2,%xmm7
  248         movdqa  %xmm14,%xmm2
  249         psrld   $2,%xmm1
  250         paddd   %xmm7,%xmm5
  251         pxor    %xmm3,%xmm0
  252         movdqa  %xmm15,%xmm3
  253         movdqa  %xmm14,%xmm7
  254         pslld   $10,%xmm2
  255         pxor    %xmm14,%xmm3
  256 
  257 
  258         psrld   $13,%xmm7
  259         pxor    %xmm2,%xmm1
  260         paddd   %xmm0,%xmm5
  261         pslld   $19-10,%xmm2
  262         pand    %xmm3,%xmm4
  263         pxor    %xmm7,%xmm1
  264 
  265 
  266         psrld   $22-13,%xmm7
  267         pxor    %xmm2,%xmm1
  268         movdqa  %xmm15,%xmm13
  269         pslld   $30-19,%xmm2
  270         pxor    %xmm1,%xmm7
  271         pxor    %xmm4,%xmm13
  272         paddd   %xmm5,%xmm9
  273         pxor    %xmm2,%xmm7
  274 
  275         paddd   %xmm5,%xmm13
  276         paddd   %xmm7,%xmm13
  277         movd    12(%r8),%xmm5
  278         movd    12(%r9),%xmm0
  279         movd    12(%r10),%xmm1
  280         movd    12(%r11),%xmm2
  281         punpckldq       %xmm1,%xmm5
  282         punpckldq       %xmm2,%xmm0
  283         punpckldq       %xmm0,%xmm5
  284         movdqa  %xmm9,%xmm7
  285 
  286         movdqa  %xmm9,%xmm2
  287 .byte   102,15,56,0,238
  288         psrld   $6,%xmm7
  289         movdqa  %xmm9,%xmm1
  290         pslld   $7,%xmm2
  291         movdqa  %xmm5,48-128(%rax)
  292         paddd   %xmm12,%xmm5
  293 
  294         psrld   $11,%xmm1
  295         pxor    %xmm2,%xmm7
  296         pslld   $21-7,%xmm2
  297         paddd   -32(%rbp),%xmm5
  298         pxor    %xmm1,%xmm7
  299 
  300         psrld   $25-11,%xmm1
  301         movdqa  %xmm9,%xmm0
  302 
  303         pxor    %xmm2,%xmm7
  304         movdqa  %xmm9,%xmm4
  305         pslld   $26-21,%xmm2
  306         pandn   %xmm11,%xmm0
  307         pand    %xmm10,%xmm4
  308         pxor    %xmm1,%xmm7
  309 
  310 
  311         movdqa  %xmm13,%xmm1
  312         pxor    %xmm2,%xmm7
  313         movdqa  %xmm13,%xmm2
  314         psrld   $2,%xmm1
  315         paddd   %xmm7,%xmm5
  316         pxor    %xmm4,%xmm0
  317         movdqa  %xmm14,%xmm4
  318         movdqa  %xmm13,%xmm7
  319         pslld   $10,%xmm2
  320         pxor    %xmm13,%xmm4
  321 
  322 
  323         psrld   $13,%xmm7
  324         pxor    %xmm2,%xmm1
  325         paddd   %xmm0,%xmm5
  326         pslld   $19-10,%xmm2
  327         pand    %xmm4,%xmm3
  328         pxor    %xmm7,%xmm1
  329 
  330 
  331         psrld   $22-13,%xmm7
  332         pxor    %xmm2,%xmm1
  333         movdqa  %xmm14,%xmm12
  334         pslld   $30-19,%xmm2
  335         pxor    %xmm1,%xmm7
  336         pxor    %xmm3,%xmm12
  337         paddd   %xmm5,%xmm8
  338         pxor    %xmm2,%xmm7
  339 
  340         paddd   %xmm5,%xmm12
  341         paddd   %xmm7,%xmm12
  342         movd    16(%r8),%xmm5
  343         movd    16(%r9),%xmm0
  344         movd    16(%r10),%xmm1
  345         movd    16(%r11),%xmm2
  346         punpckldq       %xmm1,%xmm5
  347         punpckldq       %xmm2,%xmm0
  348         punpckldq       %xmm0,%xmm5
  349         movdqa  %xmm8,%xmm7
  350 .byte   102,15,56,0,238
  351         movdqa  %xmm8,%xmm2
  352 
  353         psrld   $6,%xmm7
  354         movdqa  %xmm8,%xmm1
  355         pslld   $7,%xmm2
  356         movdqa  %xmm5,64-128(%rax)
  357         paddd   %xmm11,%xmm5
  358 
  359         psrld   $11,%xmm1
  360         pxor    %xmm2,%xmm7
  361         pslld   $21-7,%xmm2
  362         paddd   0(%rbp),%xmm5
  363         pxor    %xmm1,%xmm7
  364 
  365         psrld   $25-11,%xmm1
  366         movdqa  %xmm8,%xmm0
  367 
  368         pxor    %xmm2,%xmm7
  369         movdqa  %xmm8,%xmm3
  370         pslld   $26-21,%xmm2
  371         pandn   %xmm10,%xmm0
  372         pand    %xmm9,%xmm3
  373         pxor    %xmm1,%xmm7
  374 
  375 
  376         movdqa  %xmm12,%xmm1
  377         pxor    %xmm2,%xmm7
  378         movdqa  %xmm12,%xmm2
  379         psrld   $2,%xmm1
  380         paddd   %xmm7,%xmm5
  381         pxor    %xmm3,%xmm0
  382         movdqa  %xmm13,%xmm3
  383         movdqa  %xmm12,%xmm7
  384         pslld   $10,%xmm2
  385         pxor    %xmm12,%xmm3
  386 
  387 
  388         psrld   $13,%xmm7
  389         pxor    %xmm2,%xmm1
  390         paddd   %xmm0,%xmm5
  391         pslld   $19-10,%xmm2
  392         pand    %xmm3,%xmm4
  393         pxor    %xmm7,%xmm1
  394 
  395 
  396         psrld   $22-13,%xmm7
  397         pxor    %xmm2,%xmm1
  398         movdqa  %xmm13,%xmm11
  399         pslld   $30-19,%xmm2
  400         pxor    %xmm1,%xmm7
  401         pxor    %xmm4,%xmm11
  402         paddd   %xmm5,%xmm15
  403         pxor    %xmm2,%xmm7
  404 
  405         paddd   %xmm5,%xmm11
  406         paddd   %xmm7,%xmm11
  407         movd    20(%r8),%xmm5
  408         movd    20(%r9),%xmm0
  409         movd    20(%r10),%xmm1
  410         movd    20(%r11),%xmm2
  411         punpckldq       %xmm1,%xmm5
  412         punpckldq       %xmm2,%xmm0
  413         punpckldq       %xmm0,%xmm5
  414         movdqa  %xmm15,%xmm7
  415 
  416         movdqa  %xmm15,%xmm2
  417 .byte   102,15,56,0,238
  418         psrld   $6,%xmm7
  419         movdqa  %xmm15,%xmm1
  420         pslld   $7,%xmm2
  421         movdqa  %xmm5,80-128(%rax)
  422         paddd   %xmm10,%xmm5
  423 
  424         psrld   $11,%xmm1
  425         pxor    %xmm2,%xmm7
  426         pslld   $21-7,%xmm2
  427         paddd   32(%rbp),%xmm5
  428         pxor    %xmm1,%xmm7
  429 
  430         psrld   $25-11,%xmm1
  431         movdqa  %xmm15,%xmm0
  432 
  433         pxor    %xmm2,%xmm7
  434         movdqa  %xmm15,%xmm4
  435         pslld   $26-21,%xmm2
  436         pandn   %xmm9,%xmm0
  437         pand    %xmm8,%xmm4
  438         pxor    %xmm1,%xmm7
  439 
  440 
  441         movdqa  %xmm11,%xmm1
  442         pxor    %xmm2,%xmm7
  443         movdqa  %xmm11,%xmm2
  444         psrld   $2,%xmm1
  445         paddd   %xmm7,%xmm5
  446         pxor    %xmm4,%xmm0
  447         movdqa  %xmm12,%xmm4
  448         movdqa  %xmm11,%xmm7
  449         pslld   $10,%xmm2
  450         pxor    %xmm11,%xmm4
  451 
  452 
  453         psrld   $13,%xmm7
  454         pxor    %xmm2,%xmm1
  455         paddd   %xmm0,%xmm5
  456         pslld   $19-10,%xmm2
  457         pand    %xmm4,%xmm3
  458         pxor    %xmm7,%xmm1
  459 
  460 
  461         psrld   $22-13,%xmm7
  462         pxor    %xmm2,%xmm1
  463         movdqa  %xmm12,%xmm10
  464         pslld   $30-19,%xmm2
  465         pxor    %xmm1,%xmm7
  466         pxor    %xmm3,%xmm10
  467         paddd   %xmm5,%xmm14
  468         pxor    %xmm2,%xmm7
  469 
  470         paddd   %xmm5,%xmm10
  471         paddd   %xmm7,%xmm10
  472         movd    24(%r8),%xmm5
  473         movd    24(%r9),%xmm0
  474         movd    24(%r10),%xmm1
  475         movd    24(%r11),%xmm2
  476         punpckldq       %xmm1,%xmm5
  477         punpckldq       %xmm2,%xmm0
  478         punpckldq       %xmm0,%xmm5
  479         movdqa  %xmm14,%xmm7
  480 .byte   102,15,56,0,238
  481         movdqa  %xmm14,%xmm2
  482 
  483         psrld   $6,%xmm7
  484         movdqa  %xmm14,%xmm1
  485         pslld   $7,%xmm2
  486         movdqa  %xmm5,96-128(%rax)
  487         paddd   %xmm9,%xmm5
  488 
  489         psrld   $11,%xmm1
  490         pxor    %xmm2,%xmm7
  491         pslld   $21-7,%xmm2
  492         paddd   64(%rbp),%xmm5
  493         pxor    %xmm1,%xmm7
  494 
  495         psrld   $25-11,%xmm1
  496         movdqa  %xmm14,%xmm0
  497 
  498         pxor    %xmm2,%xmm7
  499         movdqa  %xmm14,%xmm3
  500         pslld   $26-21,%xmm2
  501         pandn   %xmm8,%xmm0
  502         pand    %xmm15,%xmm3
  503         pxor    %xmm1,%xmm7
  504 
  505 
  506         movdqa  %xmm10,%xmm1
  507         pxor    %xmm2,%xmm7
  508         movdqa  %xmm10,%xmm2
  509         psrld   $2,%xmm1
  510         paddd   %xmm7,%xmm5
  511         pxor    %xmm3,%xmm0
  512         movdqa  %xmm11,%xmm3
  513         movdqa  %xmm10,%xmm7
  514         pslld   $10,%xmm2
  515         pxor    %xmm10,%xmm3
  516 
  517 
  518         psrld   $13,%xmm7
  519         pxor    %xmm2,%xmm1
  520         paddd   %xmm0,%xmm5
  521         pslld   $19-10,%xmm2
  522         pand    %xmm3,%xmm4
  523         pxor    %xmm7,%xmm1
  524 
  525 
  526         psrld   $22-13,%xmm7
  527         pxor    %xmm2,%xmm1
  528         movdqa  %xmm11,%xmm9
  529         pslld   $30-19,%xmm2
  530         pxor    %xmm1,%xmm7
  531         pxor    %xmm4,%xmm9
  532         paddd   %xmm5,%xmm13
  533         pxor    %xmm2,%xmm7
  534 
  535         paddd   %xmm5,%xmm9
  536         paddd   %xmm7,%xmm9
  537         movd    28(%r8),%xmm5
  538         movd    28(%r9),%xmm0
  539         movd    28(%r10),%xmm1
  540         movd    28(%r11),%xmm2
  541         punpckldq       %xmm1,%xmm5
  542         punpckldq       %xmm2,%xmm0
  543         punpckldq       %xmm0,%xmm5
  544         movdqa  %xmm13,%xmm7
  545 
  546         movdqa  %xmm13,%xmm2
  547 .byte   102,15,56,0,238
  548         psrld   $6,%xmm7
  549         movdqa  %xmm13,%xmm1
  550         pslld   $7,%xmm2
  551         movdqa  %xmm5,112-128(%rax)
  552         paddd   %xmm8,%xmm5
  553 
  554         psrld   $11,%xmm1
  555         pxor    %xmm2,%xmm7
  556         pslld   $21-7,%xmm2
  557         paddd   96(%rbp),%xmm5
  558         pxor    %xmm1,%xmm7
  559 
  560         psrld   $25-11,%xmm1
  561         movdqa  %xmm13,%xmm0
  562 
  563         pxor    %xmm2,%xmm7
  564         movdqa  %xmm13,%xmm4
  565         pslld   $26-21,%xmm2
  566         pandn   %xmm15,%xmm0
  567         pand    %xmm14,%xmm4
  568         pxor    %xmm1,%xmm7
  569 
  570 
  571         movdqa  %xmm9,%xmm1
  572         pxor    %xmm2,%xmm7
  573         movdqa  %xmm9,%xmm2
  574         psrld   $2,%xmm1
  575         paddd   %xmm7,%xmm5
  576         pxor    %xmm4,%xmm0
  577         movdqa  %xmm10,%xmm4
  578         movdqa  %xmm9,%xmm7
  579         pslld   $10,%xmm2
  580         pxor    %xmm9,%xmm4
  581 
  582 
  583         psrld   $13,%xmm7
  584         pxor    %xmm2,%xmm1
  585         paddd   %xmm0,%xmm5
  586         pslld   $19-10,%xmm2
  587         pand    %xmm4,%xmm3
  588         pxor    %xmm7,%xmm1
  589 
  590 
  591         psrld   $22-13,%xmm7
  592         pxor    %xmm2,%xmm1
  593         movdqa  %xmm10,%xmm8
  594         pslld   $30-19,%xmm2
  595         pxor    %xmm1,%xmm7
  596         pxor    %xmm3,%xmm8
  597         paddd   %xmm5,%xmm12
  598         pxor    %xmm2,%xmm7
  599 
  600         paddd   %xmm5,%xmm8
  601         paddd   %xmm7,%xmm8
  602         leaq    256(%rbp),%rbp
  603         movd    32(%r8),%xmm5
  604         movd    32(%r9),%xmm0
  605         movd    32(%r10),%xmm1
  606         movd    32(%r11),%xmm2
  607         punpckldq       %xmm1,%xmm5
  608         punpckldq       %xmm2,%xmm0
  609         punpckldq       %xmm0,%xmm5
  610         movdqa  %xmm12,%xmm7
  611 .byte   102,15,56,0,238
  612         movdqa  %xmm12,%xmm2
  613 
  614         psrld   $6,%xmm7
  615         movdqa  %xmm12,%xmm1
  616         pslld   $7,%xmm2
  617         movdqa  %xmm5,128-128(%rax)
  618         paddd   %xmm15,%xmm5
  619 
  620         psrld   $11,%xmm1
  621         pxor    %xmm2,%xmm7
  622         pslld   $21-7,%xmm2
  623         paddd   -128(%rbp),%xmm5
  624         pxor    %xmm1,%xmm7
  625 
  626         psrld   $25-11,%xmm1
  627         movdqa  %xmm12,%xmm0
  628 
  629         pxor    %xmm2,%xmm7
  630         movdqa  %xmm12,%xmm3
  631         pslld   $26-21,%xmm2
  632         pandn   %xmm14,%xmm0
  633         pand    %xmm13,%xmm3
  634         pxor    %xmm1,%xmm7
  635 
  636 
  637         movdqa  %xmm8,%xmm1
  638         pxor    %xmm2,%xmm7
  639         movdqa  %xmm8,%xmm2
  640         psrld   $2,%xmm1
  641         paddd   %xmm7,%xmm5
  642         pxor    %xmm3,%xmm0
  643         movdqa  %xmm9,%xmm3
  644         movdqa  %xmm8,%xmm7
  645         pslld   $10,%xmm2
  646         pxor    %xmm8,%xmm3
  647 
  648 
  649         psrld   $13,%xmm7
  650         pxor    %xmm2,%xmm1
  651         paddd   %xmm0,%xmm5
  652         pslld   $19-10,%xmm2
  653         pand    %xmm3,%xmm4
  654         pxor    %xmm7,%xmm1
  655 
  656 
  657         psrld   $22-13,%xmm7
  658         pxor    %xmm2,%xmm1
  659         movdqa  %xmm9,%xmm15
  660         pslld   $30-19,%xmm2
  661         pxor    %xmm1,%xmm7
  662         pxor    %xmm4,%xmm15
  663         paddd   %xmm5,%xmm11
  664         pxor    %xmm2,%xmm7
  665 
  666         paddd   %xmm5,%xmm15
  667         paddd   %xmm7,%xmm15
  668         movd    36(%r8),%xmm5
  669         movd    36(%r9),%xmm0
  670         movd    36(%r10),%xmm1
  671         movd    36(%r11),%xmm2
  672         punpckldq       %xmm1,%xmm5
  673         punpckldq       %xmm2,%xmm0
  674         punpckldq       %xmm0,%xmm5
  675         movdqa  %xmm11,%xmm7
  676 
  677         movdqa  %xmm11,%xmm2
  678 .byte   102,15,56,0,238
  679         psrld   $6,%xmm7
  680         movdqa  %xmm11,%xmm1
  681         pslld   $7,%xmm2
  682         movdqa  %xmm5,144-128(%rax)
  683         paddd   %xmm14,%xmm5
  684 
  685         psrld   $11,%xmm1
  686         pxor    %xmm2,%xmm7
  687         pslld   $21-7,%xmm2
  688         paddd   -96(%rbp),%xmm5
  689         pxor    %xmm1,%xmm7
  690 
  691         psrld   $25-11,%xmm1
  692         movdqa  %xmm11,%xmm0
  693 
  694         pxor    %xmm2,%xmm7
  695         movdqa  %xmm11,%xmm4
  696         pslld   $26-21,%xmm2
  697         pandn   %xmm13,%xmm0
  698         pand    %xmm12,%xmm4
  699         pxor    %xmm1,%xmm7
  700 
  701 
  702         movdqa  %xmm15,%xmm1
  703         pxor    %xmm2,%xmm7
  704         movdqa  %xmm15,%xmm2
  705         psrld   $2,%xmm1
  706         paddd   %xmm7,%xmm5
  707         pxor    %xmm4,%xmm0
  708         movdqa  %xmm8,%xmm4
  709         movdqa  %xmm15,%xmm7
  710         pslld   $10,%xmm2
  711         pxor    %xmm15,%xmm4
  712 
  713 
  714         psrld   $13,%xmm7
  715         pxor    %xmm2,%xmm1
  716         paddd   %xmm0,%xmm5
  717         pslld   $19-10,%xmm2
  718         pand    %xmm4,%xmm3
  719         pxor    %xmm7,%xmm1
  720 
  721 
  722         psrld   $22-13,%xmm7
  723         pxor    %xmm2,%xmm1
  724         movdqa  %xmm8,%xmm14
  725         pslld   $30-19,%xmm2
  726         pxor    %xmm1,%xmm7
  727         pxor    %xmm3,%xmm14
  728         paddd   %xmm5,%xmm10
  729         pxor    %xmm2,%xmm7
  730 
  731         paddd   %xmm5,%xmm14
  732         paddd   %xmm7,%xmm14
  733         movd    40(%r8),%xmm5
  734         movd    40(%r9),%xmm0
  735         movd    40(%r10),%xmm1
  736         movd    40(%r11),%xmm2
  737         punpckldq       %xmm1,%xmm5
  738         punpckldq       %xmm2,%xmm0
  739         punpckldq       %xmm0,%xmm5
  740         movdqa  %xmm10,%xmm7
  741 .byte   102,15,56,0,238
  742         movdqa  %xmm10,%xmm2
  743 
  744         psrld   $6,%xmm7
  745         movdqa  %xmm10,%xmm1
  746         pslld   $7,%xmm2
  747         movdqa  %xmm5,160-128(%rax)
  748         paddd   %xmm13,%xmm5
  749 
  750         psrld   $11,%xmm1
  751         pxor    %xmm2,%xmm7
  752         pslld   $21-7,%xmm2
  753         paddd   -64(%rbp),%xmm5
  754         pxor    %xmm1,%xmm7
  755 
  756         psrld   $25-11,%xmm1
  757         movdqa  %xmm10,%xmm0
  758 
  759         pxor    %xmm2,%xmm7
  760         movdqa  %xmm10,%xmm3
  761         pslld   $26-21,%xmm2
  762         pandn   %xmm12,%xmm0
  763         pand    %xmm11,%xmm3
  764         pxor    %xmm1,%xmm7
  765 
  766 
  767         movdqa  %xmm14,%xmm1
  768         pxor    %xmm2,%xmm7
  769         movdqa  %xmm14,%xmm2
  770         psrld   $2,%xmm1
  771         paddd   %xmm7,%xmm5
  772         pxor    %xmm3,%xmm0
  773         movdqa  %xmm15,%xmm3
  774         movdqa  %xmm14,%xmm7
  775         pslld   $10,%xmm2
  776         pxor    %xmm14,%xmm3
  777 
  778 
  779         psrld   $13,%xmm7
  780         pxor    %xmm2,%xmm1
  781         paddd   %xmm0,%xmm5
  782         pslld   $19-10,%xmm2
  783         pand    %xmm3,%xmm4
  784         pxor    %xmm7,%xmm1
  785 
  786 
  787         psrld   $22-13,%xmm7
  788         pxor    %xmm2,%xmm1
  789         movdqa  %xmm15,%xmm13
  790         pslld   $30-19,%xmm2
  791         pxor    %xmm1,%xmm7
  792         pxor    %xmm4,%xmm13
  793         paddd   %xmm5,%xmm9
  794         pxor    %xmm2,%xmm7
  795 
  796         paddd   %xmm5,%xmm13
  797         paddd   %xmm7,%xmm13
  798         movd    44(%r8),%xmm5
  799         movd    44(%r9),%xmm0
  800         movd    44(%r10),%xmm1
  801         movd    44(%r11),%xmm2
  802         punpckldq       %xmm1,%xmm5
  803         punpckldq       %xmm2,%xmm0
  804         punpckldq       %xmm0,%xmm5
  805         movdqa  %xmm9,%xmm7
  806 
  807         movdqa  %xmm9,%xmm2
  808 .byte   102,15,56,0,238
  809         psrld   $6,%xmm7
  810         movdqa  %xmm9,%xmm1
  811         pslld   $7,%xmm2
  812         movdqa  %xmm5,176-128(%rax)
  813         paddd   %xmm12,%xmm5
  814 
  815         psrld   $11,%xmm1
  816         pxor    %xmm2,%xmm7
  817         pslld   $21-7,%xmm2
  818         paddd   -32(%rbp),%xmm5
  819         pxor    %xmm1,%xmm7
  820 
  821         psrld   $25-11,%xmm1
  822         movdqa  %xmm9,%xmm0
  823 
  824         pxor    %xmm2,%xmm7
  825         movdqa  %xmm9,%xmm4
  826         pslld   $26-21,%xmm2
  827         pandn   %xmm11,%xmm0
  828         pand    %xmm10,%xmm4
  829         pxor    %xmm1,%xmm7
  830 
  831 
  832         movdqa  %xmm13,%xmm1
  833         pxor    %xmm2,%xmm7
  834         movdqa  %xmm13,%xmm2
  835         psrld   $2,%xmm1
  836         paddd   %xmm7,%xmm5
  837         pxor    %xmm4,%xmm0
  838         movdqa  %xmm14,%xmm4
  839         movdqa  %xmm13,%xmm7
  840         pslld   $10,%xmm2
  841         pxor    %xmm13,%xmm4
  842 
  843 
  844         psrld   $13,%xmm7
  845         pxor    %xmm2,%xmm1
  846         paddd   %xmm0,%xmm5
  847         pslld   $19-10,%xmm2
  848         pand    %xmm4,%xmm3
  849         pxor    %xmm7,%xmm1
  850 
  851 
  852         psrld   $22-13,%xmm7
  853         pxor    %xmm2,%xmm1
  854         movdqa  %xmm14,%xmm12
  855         pslld   $30-19,%xmm2
  856         pxor    %xmm1,%xmm7
  857         pxor    %xmm3,%xmm12
  858         paddd   %xmm5,%xmm8
  859         pxor    %xmm2,%xmm7
  860 
  861         paddd   %xmm5,%xmm12
  862         paddd   %xmm7,%xmm12
  863         movd    48(%r8),%xmm5
  864         movd    48(%r9),%xmm0
  865         movd    48(%r10),%xmm1
  866         movd    48(%r11),%xmm2
  867         punpckldq       %xmm1,%xmm5
  868         punpckldq       %xmm2,%xmm0
  869         punpckldq       %xmm0,%xmm5
  870         movdqa  %xmm8,%xmm7
  871 .byte   102,15,56,0,238
  872         movdqa  %xmm8,%xmm2
  873 
  874         psrld   $6,%xmm7
  875         movdqa  %xmm8,%xmm1
  876         pslld   $7,%xmm2
  877         movdqa  %xmm5,192-128(%rax)
  878         paddd   %xmm11,%xmm5
  879 
  880         psrld   $11,%xmm1
  881         pxor    %xmm2,%xmm7
  882         pslld   $21-7,%xmm2
  883         paddd   0(%rbp),%xmm5
  884         pxor    %xmm1,%xmm7
  885 
  886         psrld   $25-11,%xmm1
  887         movdqa  %xmm8,%xmm0
  888 
  889         pxor    %xmm2,%xmm7
  890         movdqa  %xmm8,%xmm3
  891         pslld   $26-21,%xmm2
  892         pandn   %xmm10,%xmm0
  893         pand    %xmm9,%xmm3
  894         pxor    %xmm1,%xmm7
  895 
  896 
  897         movdqa  %xmm12,%xmm1
  898         pxor    %xmm2,%xmm7
  899         movdqa  %xmm12,%xmm2
  900         psrld   $2,%xmm1
  901         paddd   %xmm7,%xmm5
  902         pxor    %xmm3,%xmm0
  903         movdqa  %xmm13,%xmm3
  904         movdqa  %xmm12,%xmm7
  905         pslld   $10,%xmm2
  906         pxor    %xmm12,%xmm3
  907 
  908 
  909         psrld   $13,%xmm7
  910         pxor    %xmm2,%xmm1
  911         paddd   %xmm0,%xmm5
  912         pslld   $19-10,%xmm2
  913         pand    %xmm3,%xmm4
  914         pxor    %xmm7,%xmm1
  915 
  916 
  917         psrld   $22-13,%xmm7
  918         pxor    %xmm2,%xmm1
  919         movdqa  %xmm13,%xmm11
  920         pslld   $30-19,%xmm2
  921         pxor    %xmm1,%xmm7
  922         pxor    %xmm4,%xmm11
  923         paddd   %xmm5,%xmm15
  924         pxor    %xmm2,%xmm7
  925 
  926         paddd   %xmm5,%xmm11
  927         paddd   %xmm7,%xmm11
  928         movd    52(%r8),%xmm5
  929         movd    52(%r9),%xmm0
  930         movd    52(%r10),%xmm1
  931         movd    52(%r11),%xmm2
  932         punpckldq       %xmm1,%xmm5
  933         punpckldq       %xmm2,%xmm0
  934         punpckldq       %xmm0,%xmm5
  935         movdqa  %xmm15,%xmm7
  936 
  937         movdqa  %xmm15,%xmm2
  938 .byte   102,15,56,0,238
  939         psrld   $6,%xmm7
  940         movdqa  %xmm15,%xmm1
  941         pslld   $7,%xmm2
  942         movdqa  %xmm5,208-128(%rax)
  943         paddd   %xmm10,%xmm5
  944 
  945         psrld   $11,%xmm1
  946         pxor    %xmm2,%xmm7
  947         pslld   $21-7,%xmm2
  948         paddd   32(%rbp),%xmm5
  949         pxor    %xmm1,%xmm7
  950 
  951         psrld   $25-11,%xmm1
  952         movdqa  %xmm15,%xmm0
  953 
  954         pxor    %xmm2,%xmm7
  955         movdqa  %xmm15,%xmm4
  956         pslld   $26-21,%xmm2
  957         pandn   %xmm9,%xmm0
  958         pand    %xmm8,%xmm4
  959         pxor    %xmm1,%xmm7
  960 
  961 
  962         movdqa  %xmm11,%xmm1
  963         pxor    %xmm2,%xmm7
  964         movdqa  %xmm11,%xmm2
  965         psrld   $2,%xmm1
  966         paddd   %xmm7,%xmm5
  967         pxor    %xmm4,%xmm0
  968         movdqa  %xmm12,%xmm4
  969         movdqa  %xmm11,%xmm7
  970         pslld   $10,%xmm2
  971         pxor    %xmm11,%xmm4
  972 
  973 
  974         psrld   $13,%xmm7
  975         pxor    %xmm2,%xmm1
  976         paddd   %xmm0,%xmm5
  977         pslld   $19-10,%xmm2
  978         pand    %xmm4,%xmm3
  979         pxor    %xmm7,%xmm1
  980 
  981 
  982         psrld   $22-13,%xmm7
  983         pxor    %xmm2,%xmm1
  984         movdqa  %xmm12,%xmm10
  985         pslld   $30-19,%xmm2
  986         pxor    %xmm1,%xmm7
  987         pxor    %xmm3,%xmm10
  988         paddd   %xmm5,%xmm14
  989         pxor    %xmm2,%xmm7
  990 
  991         paddd   %xmm5,%xmm10
  992         paddd   %xmm7,%xmm10
  993         movd    56(%r8),%xmm5
  994         movd    56(%r9),%xmm0
  995         movd    56(%r10),%xmm1
  996         movd    56(%r11),%xmm2
  997         punpckldq       %xmm1,%xmm5
  998         punpckldq       %xmm2,%xmm0
  999         punpckldq       %xmm0,%xmm5
 1000         movdqa  %xmm14,%xmm7
 1001 .byte   102,15,56,0,238
 1002         movdqa  %xmm14,%xmm2
 1003 
 1004         psrld   $6,%xmm7
 1005         movdqa  %xmm14,%xmm1
 1006         pslld   $7,%xmm2
 1007         movdqa  %xmm5,224-128(%rax)
 1008         paddd   %xmm9,%xmm5
 1009 
 1010         psrld   $11,%xmm1
 1011         pxor    %xmm2,%xmm7
 1012         pslld   $21-7,%xmm2
 1013         paddd   64(%rbp),%xmm5
 1014         pxor    %xmm1,%xmm7
 1015 
 1016         psrld   $25-11,%xmm1
 1017         movdqa  %xmm14,%xmm0
 1018 
 1019         pxor    %xmm2,%xmm7
 1020         movdqa  %xmm14,%xmm3
 1021         pslld   $26-21,%xmm2
 1022         pandn   %xmm8,%xmm0
 1023         pand    %xmm15,%xmm3
 1024         pxor    %xmm1,%xmm7
 1025 
 1026 
 1027         movdqa  %xmm10,%xmm1
 1028         pxor    %xmm2,%xmm7
 1029         movdqa  %xmm10,%xmm2
 1030         psrld   $2,%xmm1
 1031         paddd   %xmm7,%xmm5
 1032         pxor    %xmm3,%xmm0
 1033         movdqa  %xmm11,%xmm3
 1034         movdqa  %xmm10,%xmm7
 1035         pslld   $10,%xmm2
 1036         pxor    %xmm10,%xmm3
 1037 
 1038 
 1039         psrld   $13,%xmm7
 1040         pxor    %xmm2,%xmm1
 1041         paddd   %xmm0,%xmm5
 1042         pslld   $19-10,%xmm2
 1043         pand    %xmm3,%xmm4
 1044         pxor    %xmm7,%xmm1
 1045 
 1046 
 1047         psrld   $22-13,%xmm7
 1048         pxor    %xmm2,%xmm1
 1049         movdqa  %xmm11,%xmm9
 1050         pslld   $30-19,%xmm2
 1051         pxor    %xmm1,%xmm7
 1052         pxor    %xmm4,%xmm9
 1053         paddd   %xmm5,%xmm13
 1054         pxor    %xmm2,%xmm7
 1055 
 1056         paddd   %xmm5,%xmm9
 1057         paddd   %xmm7,%xmm9
 1058         movd    60(%r8),%xmm5
 1059         leaq    64(%r8),%r8
 1060         movd    60(%r9),%xmm0
 1061         leaq    64(%r9),%r9
 1062         movd    60(%r10),%xmm1
 1063         leaq    64(%r10),%r10
 1064         movd    60(%r11),%xmm2
 1065         leaq    64(%r11),%r11
 1066         punpckldq       %xmm1,%xmm5
 1067         punpckldq       %xmm2,%xmm0
 1068         punpckldq       %xmm0,%xmm5
 1069         movdqa  %xmm13,%xmm7
 1070 
 1071         movdqa  %xmm13,%xmm2
 1072 .byte   102,15,56,0,238
 1073         psrld   $6,%xmm7
 1074         movdqa  %xmm13,%xmm1
 1075         pslld   $7,%xmm2
 1076         movdqa  %xmm5,240-128(%rax)
 1077         paddd   %xmm8,%xmm5
 1078 
 1079         psrld   $11,%xmm1
 1080         pxor    %xmm2,%xmm7
 1081         pslld   $21-7,%xmm2
 1082         paddd   96(%rbp),%xmm5
 1083         pxor    %xmm1,%xmm7
 1084 
 1085         psrld   $25-11,%xmm1
 1086         movdqa  %xmm13,%xmm0
 1087         prefetcht0      63(%r8)
 1088         pxor    %xmm2,%xmm7
 1089         movdqa  %xmm13,%xmm4
 1090         pslld   $26-21,%xmm2
 1091         pandn   %xmm15,%xmm0
 1092         pand    %xmm14,%xmm4
 1093         pxor    %xmm1,%xmm7
 1094 
 1095         prefetcht0      63(%r9)
 1096         movdqa  %xmm9,%xmm1
 1097         pxor    %xmm2,%xmm7
 1098         movdqa  %xmm9,%xmm2
 1099         psrld   $2,%xmm1
 1100         paddd   %xmm7,%xmm5
 1101         pxor    %xmm4,%xmm0
 1102         movdqa  %xmm10,%xmm4
 1103         movdqa  %xmm9,%xmm7
 1104         pslld   $10,%xmm2
 1105         pxor    %xmm9,%xmm4
 1106 
 1107         prefetcht0      63(%r10)
 1108         psrld   $13,%xmm7
 1109         pxor    %xmm2,%xmm1
 1110         paddd   %xmm0,%xmm5
 1111         pslld   $19-10,%xmm2
 1112         pand    %xmm4,%xmm3
 1113         pxor    %xmm7,%xmm1
 1114 
 1115         prefetcht0      63(%r11)
 1116         psrld   $22-13,%xmm7
 1117         pxor    %xmm2,%xmm1
 1118         movdqa  %xmm10,%xmm8
 1119         pslld   $30-19,%xmm2
 1120         pxor    %xmm1,%xmm7
 1121         pxor    %xmm3,%xmm8
 1122         paddd   %xmm5,%xmm12
 1123         pxor    %xmm2,%xmm7
 1124 
 1125         paddd   %xmm5,%xmm8
 1126         paddd   %xmm7,%xmm8
 1127         leaq    256(%rbp),%rbp
 1128         movdqu  0-128(%rax),%xmm5
 1129         movl    $3,%ecx
 1130         jmp     .Loop_16_xx
 1131 .align  32
 1132 .Loop_16_xx:
 1133         movdqa  16-128(%rax),%xmm6
 1134         paddd   144-128(%rax),%xmm5
 1135 
 1136         movdqa  %xmm6,%xmm7
 1137         movdqa  %xmm6,%xmm1
 1138         psrld   $3,%xmm7
 1139         movdqa  %xmm6,%xmm2
 1140 
 1141         psrld   $7,%xmm1
 1142         movdqa  224-128(%rax),%xmm0
 1143         pslld   $14,%xmm2
 1144         pxor    %xmm1,%xmm7
 1145         psrld   $18-7,%xmm1
 1146         movdqa  %xmm0,%xmm3
 1147         pxor    %xmm2,%xmm7
 1148         pslld   $25-14,%xmm2
 1149         pxor    %xmm1,%xmm7
 1150         psrld   $10,%xmm0
 1151         movdqa  %xmm3,%xmm1
 1152 
 1153         psrld   $17,%xmm3
 1154         pxor    %xmm2,%xmm7
 1155         pslld   $13,%xmm1
 1156         paddd   %xmm7,%xmm5
 1157         pxor    %xmm3,%xmm0
 1158         psrld   $19-17,%xmm3
 1159         pxor    %xmm1,%xmm0
 1160         pslld   $15-13,%xmm1
 1161         pxor    %xmm3,%xmm0
 1162         pxor    %xmm1,%xmm0
 1163         paddd   %xmm0,%xmm5
 1164         movdqa  %xmm12,%xmm7
 1165 
 1166         movdqa  %xmm12,%xmm2
 1167 
 1168         psrld   $6,%xmm7
 1169         movdqa  %xmm12,%xmm1
 1170         pslld   $7,%xmm2
 1171         movdqa  %xmm5,0-128(%rax)
 1172         paddd   %xmm15,%xmm5
 1173 
 1174         psrld   $11,%xmm1
 1175         pxor    %xmm2,%xmm7
 1176         pslld   $21-7,%xmm2
 1177         paddd   -128(%rbp),%xmm5
 1178         pxor    %xmm1,%xmm7
 1179 
 1180         psrld   $25-11,%xmm1
 1181         movdqa  %xmm12,%xmm0
 1182 
 1183         pxor    %xmm2,%xmm7
 1184         movdqa  %xmm12,%xmm3
 1185         pslld   $26-21,%xmm2
 1186         pandn   %xmm14,%xmm0
 1187         pand    %xmm13,%xmm3
 1188         pxor    %xmm1,%xmm7
 1189 
 1190 
 1191         movdqa  %xmm8,%xmm1
 1192         pxor    %xmm2,%xmm7
 1193         movdqa  %xmm8,%xmm2
 1194         psrld   $2,%xmm1
 1195         paddd   %xmm7,%xmm5
 1196         pxor    %xmm3,%xmm0
 1197         movdqa  %xmm9,%xmm3
 1198         movdqa  %xmm8,%xmm7
 1199         pslld   $10,%xmm2
 1200         pxor    %xmm8,%xmm3
 1201 
 1202 
 1203         psrld   $13,%xmm7
 1204         pxor    %xmm2,%xmm1
 1205         paddd   %xmm0,%xmm5
 1206         pslld   $19-10,%xmm2
 1207         pand    %xmm3,%xmm4
 1208         pxor    %xmm7,%xmm1
 1209 
 1210 
 1211         psrld   $22-13,%xmm7
 1212         pxor    %xmm2,%xmm1
 1213         movdqa  %xmm9,%xmm15
 1214         pslld   $30-19,%xmm2
 1215         pxor    %xmm1,%xmm7
 1216         pxor    %xmm4,%xmm15
 1217         paddd   %xmm5,%xmm11
 1218         pxor    %xmm2,%xmm7
 1219 
 1220         paddd   %xmm5,%xmm15
 1221         paddd   %xmm7,%xmm15
 1222         movdqa  32-128(%rax),%xmm5
 1223         paddd   160-128(%rax),%xmm6
 1224 
 1225         movdqa  %xmm5,%xmm7
 1226         movdqa  %xmm5,%xmm1
 1227         psrld   $3,%xmm7
 1228         movdqa  %xmm5,%xmm2
 1229 
 1230         psrld   $7,%xmm1
 1231         movdqa  240-128(%rax),%xmm0
 1232         pslld   $14,%xmm2
 1233         pxor    %xmm1,%xmm7
 1234         psrld   $18-7,%xmm1
 1235         movdqa  %xmm0,%xmm4
 1236         pxor    %xmm2,%xmm7
 1237         pslld   $25-14,%xmm2
 1238         pxor    %xmm1,%xmm7
 1239         psrld   $10,%xmm0
 1240         movdqa  %xmm4,%xmm1
 1241 
 1242         psrld   $17,%xmm4
 1243         pxor    %xmm2,%xmm7
 1244         pslld   $13,%xmm1
 1245         paddd   %xmm7,%xmm6
 1246         pxor    %xmm4,%xmm0
 1247         psrld   $19-17,%xmm4
 1248         pxor    %xmm1,%xmm0
 1249         pslld   $15-13,%xmm1
 1250         pxor    %xmm4,%xmm0
 1251         pxor    %xmm1,%xmm0
 1252         paddd   %xmm0,%xmm6
 1253         movdqa  %xmm11,%xmm7
 1254 
 1255         movdqa  %xmm11,%xmm2
 1256 
 1257         psrld   $6,%xmm7
 1258         movdqa  %xmm11,%xmm1
 1259         pslld   $7,%xmm2
 1260         movdqa  %xmm6,16-128(%rax)
 1261         paddd   %xmm14,%xmm6
 1262 
 1263         psrld   $11,%xmm1
 1264         pxor    %xmm2,%xmm7
 1265         pslld   $21-7,%xmm2
 1266         paddd   -96(%rbp),%xmm6
 1267         pxor    %xmm1,%xmm7
 1268 
 1269         psrld   $25-11,%xmm1
 1270         movdqa  %xmm11,%xmm0
 1271 
 1272         pxor    %xmm2,%xmm7
 1273         movdqa  %xmm11,%xmm4
 1274         pslld   $26-21,%xmm2
 1275         pandn   %xmm13,%xmm0
 1276         pand    %xmm12,%xmm4
 1277         pxor    %xmm1,%xmm7
 1278 
 1279 
 1280         movdqa  %xmm15,%xmm1
 1281         pxor    %xmm2,%xmm7
 1282         movdqa  %xmm15,%xmm2
 1283         psrld   $2,%xmm1
 1284         paddd   %xmm7,%xmm6
 1285         pxor    %xmm4,%xmm0
 1286         movdqa  %xmm8,%xmm4
 1287         movdqa  %xmm15,%xmm7
 1288         pslld   $10,%xmm2
 1289         pxor    %xmm15,%xmm4
 1290 
 1291 
 1292         psrld   $13,%xmm7
 1293         pxor    %xmm2,%xmm1
 1294         paddd   %xmm0,%xmm6
 1295         pslld   $19-10,%xmm2
 1296         pand    %xmm4,%xmm3
 1297         pxor    %xmm7,%xmm1
 1298 
 1299 
 1300         psrld   $22-13,%xmm7
 1301         pxor    %xmm2,%xmm1
 1302         movdqa  %xmm8,%xmm14
 1303         pslld   $30-19,%xmm2
 1304         pxor    %xmm1,%xmm7
 1305         pxor    %xmm3,%xmm14
 1306         paddd   %xmm6,%xmm10
 1307         pxor    %xmm2,%xmm7
 1308 
 1309         paddd   %xmm6,%xmm14
 1310         paddd   %xmm7,%xmm14
 1311         movdqa  48-128(%rax),%xmm6
 1312         paddd   176-128(%rax),%xmm5
 1313 
 1314         movdqa  %xmm6,%xmm7
 1315         movdqa  %xmm6,%xmm1
 1316         psrld   $3,%xmm7
 1317         movdqa  %xmm6,%xmm2
 1318 
 1319         psrld   $7,%xmm1
 1320         movdqa  0-128(%rax),%xmm0
 1321         pslld   $14,%xmm2
 1322         pxor    %xmm1,%xmm7
 1323         psrld   $18-7,%xmm1
 1324         movdqa  %xmm0,%xmm3
 1325         pxor    %xmm2,%xmm7
 1326         pslld   $25-14,%xmm2
 1327         pxor    %xmm1,%xmm7
 1328         psrld   $10,%xmm0
 1329         movdqa  %xmm3,%xmm1
 1330 
 1331         psrld   $17,%xmm3
 1332         pxor    %xmm2,%xmm7
 1333         pslld   $13,%xmm1
 1334         paddd   %xmm7,%xmm5
 1335         pxor    %xmm3,%xmm0
 1336         psrld   $19-17,%xmm3
 1337         pxor    %xmm1,%xmm0
 1338         pslld   $15-13,%xmm1
 1339         pxor    %xmm3,%xmm0
 1340         pxor    %xmm1,%xmm0
 1341         paddd   %xmm0,%xmm5
 1342         movdqa  %xmm10,%xmm7
 1343 
 1344         movdqa  %xmm10,%xmm2
 1345 
 1346         psrld   $6,%xmm7
 1347         movdqa  %xmm10,%xmm1
 1348         pslld   $7,%xmm2
 1349         movdqa  %xmm5,32-128(%rax)
 1350         paddd   %xmm13,%xmm5
 1351 
 1352         psrld   $11,%xmm1
 1353         pxor    %xmm2,%xmm7
 1354         pslld   $21-7,%xmm2
 1355         paddd   -64(%rbp),%xmm5
 1356         pxor    %xmm1,%xmm7
 1357 
 1358         psrld   $25-11,%xmm1
 1359         movdqa  %xmm10,%xmm0
 1360 
 1361         pxor    %xmm2,%xmm7
 1362         movdqa  %xmm10,%xmm3
 1363         pslld   $26-21,%xmm2
 1364         pandn   %xmm12,%xmm0
 1365         pand    %xmm11,%xmm3
 1366         pxor    %xmm1,%xmm7
 1367 
 1368 
 1369         movdqa  %xmm14,%xmm1
 1370         pxor    %xmm2,%xmm7
 1371         movdqa  %xmm14,%xmm2
 1372         psrld   $2,%xmm1
 1373         paddd   %xmm7,%xmm5
 1374         pxor    %xmm3,%xmm0
 1375         movdqa  %xmm15,%xmm3
 1376         movdqa  %xmm14,%xmm7
 1377         pslld   $10,%xmm2
 1378         pxor    %xmm14,%xmm3
 1379 
 1380 
 1381         psrld   $13,%xmm7
 1382         pxor    %xmm2,%xmm1
 1383         paddd   %xmm0,%xmm5
 1384         pslld   $19-10,%xmm2
 1385         pand    %xmm3,%xmm4
 1386         pxor    %xmm7,%xmm1
 1387 
 1388 
 1389         psrld   $22-13,%xmm7
 1390         pxor    %xmm2,%xmm1
 1391         movdqa  %xmm15,%xmm13
 1392         pslld   $30-19,%xmm2
 1393         pxor    %xmm1,%xmm7
 1394         pxor    %xmm4,%xmm13
 1395         paddd   %xmm5,%xmm9
 1396         pxor    %xmm2,%xmm7
 1397 
 1398         paddd   %xmm5,%xmm13
 1399         paddd   %xmm7,%xmm13
 1400         movdqa  64-128(%rax),%xmm5
 1401         paddd   192-128(%rax),%xmm6
 1402 
 1403         movdqa  %xmm5,%xmm7
 1404         movdqa  %xmm5,%xmm1
 1405         psrld   $3,%xmm7
 1406         movdqa  %xmm5,%xmm2
 1407 
 1408         psrld   $7,%xmm1
 1409         movdqa  16-128(%rax),%xmm0
 1410         pslld   $14,%xmm2
 1411         pxor    %xmm1,%xmm7
 1412         psrld   $18-7,%xmm1
 1413         movdqa  %xmm0,%xmm4
 1414         pxor    %xmm2,%xmm7
 1415         pslld   $25-14,%xmm2
 1416         pxor    %xmm1,%xmm7
 1417         psrld   $10,%xmm0
 1418         movdqa  %xmm4,%xmm1
 1419 
 1420         psrld   $17,%xmm4
 1421         pxor    %xmm2,%xmm7
 1422         pslld   $13,%xmm1
 1423         paddd   %xmm7,%xmm6
 1424         pxor    %xmm4,%xmm0
 1425         psrld   $19-17,%xmm4
 1426         pxor    %xmm1,%xmm0
 1427         pslld   $15-13,%xmm1
 1428         pxor    %xmm4,%xmm0
 1429         pxor    %xmm1,%xmm0
 1430         paddd   %xmm0,%xmm6
 1431         movdqa  %xmm9,%xmm7
 1432 
 1433         movdqa  %xmm9,%xmm2
 1434 
 1435         psrld   $6,%xmm7
 1436         movdqa  %xmm9,%xmm1
 1437         pslld   $7,%xmm2
 1438         movdqa  %xmm6,48-128(%rax)
 1439         paddd   %xmm12,%xmm6
 1440 
 1441         psrld   $11,%xmm1
 1442         pxor    %xmm2,%xmm7
 1443         pslld   $21-7,%xmm2
 1444         paddd   -32(%rbp),%xmm6
 1445         pxor    %xmm1,%xmm7
 1446 
 1447         psrld   $25-11,%xmm1
 1448         movdqa  %xmm9,%xmm0
 1449 
 1450         pxor    %xmm2,%xmm7
 1451         movdqa  %xmm9,%xmm4
 1452         pslld   $26-21,%xmm2
 1453         pandn   %xmm11,%xmm0
 1454         pand    %xmm10,%xmm4
 1455         pxor    %xmm1,%xmm7
 1456 
 1457 
 1458         movdqa  %xmm13,%xmm1
 1459         pxor    %xmm2,%xmm7
 1460         movdqa  %xmm13,%xmm2
 1461         psrld   $2,%xmm1
 1462         paddd   %xmm7,%xmm6
 1463         pxor    %xmm4,%xmm0
 1464         movdqa  %xmm14,%xmm4
 1465         movdqa  %xmm13,%xmm7
 1466         pslld   $10,%xmm2
 1467         pxor    %xmm13,%xmm4
 1468 
 1469 
 1470         psrld   $13,%xmm7
 1471         pxor    %xmm2,%xmm1
 1472         paddd   %xmm0,%xmm6
 1473         pslld   $19-10,%xmm2
 1474         pand    %xmm4,%xmm3
 1475         pxor    %xmm7,%xmm1
 1476 
 1477 
 1478         psrld   $22-13,%xmm7
 1479         pxor    %xmm2,%xmm1
 1480         movdqa  %xmm14,%xmm12
 1481         pslld   $30-19,%xmm2
 1482         pxor    %xmm1,%xmm7
 1483         pxor    %xmm3,%xmm12
 1484         paddd   %xmm6,%xmm8
 1485         pxor    %xmm2,%xmm7
 1486 
 1487         paddd   %xmm6,%xmm12
 1488         paddd   %xmm7,%xmm12
 1489         movdqa  80-128(%rax),%xmm6
 1490         paddd   208-128(%rax),%xmm5
 1491 
 1492         movdqa  %xmm6,%xmm7
 1493         movdqa  %xmm6,%xmm1
 1494         psrld   $3,%xmm7
 1495         movdqa  %xmm6,%xmm2
 1496 
 1497         psrld   $7,%xmm1
 1498         movdqa  32-128(%rax),%xmm0
 1499         pslld   $14,%xmm2
 1500         pxor    %xmm1,%xmm7
 1501         psrld   $18-7,%xmm1
 1502         movdqa  %xmm0,%xmm3
 1503         pxor    %xmm2,%xmm7
 1504         pslld   $25-14,%xmm2
 1505         pxor    %xmm1,%xmm7
 1506         psrld   $10,%xmm0
 1507         movdqa  %xmm3,%xmm1
 1508 
 1509         psrld   $17,%xmm3
 1510         pxor    %xmm2,%xmm7
 1511         pslld   $13,%xmm1
 1512         paddd   %xmm7,%xmm5
 1513         pxor    %xmm3,%xmm0
 1514         psrld   $19-17,%xmm3
 1515         pxor    %xmm1,%xmm0
 1516         pslld   $15-13,%xmm1
 1517         pxor    %xmm3,%xmm0
 1518         pxor    %xmm1,%xmm0
 1519         paddd   %xmm0,%xmm5
 1520         movdqa  %xmm8,%xmm7
 1521 
 1522         movdqa  %xmm8,%xmm2
 1523 
 1524         psrld   $6,%xmm7
 1525         movdqa  %xmm8,%xmm1
 1526         pslld   $7,%xmm2
 1527         movdqa  %xmm5,64-128(%rax)
 1528         paddd   %xmm11,%xmm5
 1529 
 1530         psrld   $11,%xmm1
 1531         pxor    %xmm2,%xmm7
 1532         pslld   $21-7,%xmm2
 1533         paddd   0(%rbp),%xmm5
 1534         pxor    %xmm1,%xmm7
 1535 
 1536         psrld   $25-11,%xmm1
 1537         movdqa  %xmm8,%xmm0
 1538 
 1539         pxor    %xmm2,%xmm7
 1540         movdqa  %xmm8,%xmm3
 1541         pslld   $26-21,%xmm2
 1542         pandn   %xmm10,%xmm0
 1543         pand    %xmm9,%xmm3
 1544         pxor    %xmm1,%xmm7
 1545 
 1546 
 1547         movdqa  %xmm12,%xmm1
 1548         pxor    %xmm2,%xmm7
 1549         movdqa  %xmm12,%xmm2
 1550         psrld   $2,%xmm1
 1551         paddd   %xmm7,%xmm5
 1552         pxor    %xmm3,%xmm0
 1553         movdqa  %xmm13,%xmm3
 1554         movdqa  %xmm12,%xmm7
 1555         pslld   $10,%xmm2
 1556         pxor    %xmm12,%xmm3
 1557 
 1558 
 1559         psrld   $13,%xmm7
 1560         pxor    %xmm2,%xmm1
 1561         paddd   %xmm0,%xmm5
 1562         pslld   $19-10,%xmm2
 1563         pand    %xmm3,%xmm4
 1564         pxor    %xmm7,%xmm1
 1565 
 1566 
 1567         psrld   $22-13,%xmm7
 1568         pxor    %xmm2,%xmm1
 1569         movdqa  %xmm13,%xmm11
 1570         pslld   $30-19,%xmm2
 1571         pxor    %xmm1,%xmm7
 1572         pxor    %xmm4,%xmm11
 1573         paddd   %xmm5,%xmm15
 1574         pxor    %xmm2,%xmm7
 1575 
 1576         paddd   %xmm5,%xmm11
 1577         paddd   %xmm7,%xmm11
 1578         movdqa  96-128(%rax),%xmm5
 1579         paddd   224-128(%rax),%xmm6
 1580 
 1581         movdqa  %xmm5,%xmm7
 1582         movdqa  %xmm5,%xmm1
 1583         psrld   $3,%xmm7
 1584         movdqa  %xmm5,%xmm2
 1585 
 1586         psrld   $7,%xmm1
 1587         movdqa  48-128(%rax),%xmm0
 1588         pslld   $14,%xmm2
 1589         pxor    %xmm1,%xmm7
 1590         psrld   $18-7,%xmm1
 1591         movdqa  %xmm0,%xmm4
 1592         pxor    %xmm2,%xmm7
 1593         pslld   $25-14,%xmm2
 1594         pxor    %xmm1,%xmm7
 1595         psrld   $10,%xmm0
 1596         movdqa  %xmm4,%xmm1
 1597 
 1598         psrld   $17,%xmm4
 1599         pxor    %xmm2,%xmm7
 1600         pslld   $13,%xmm1
 1601         paddd   %xmm7,%xmm6
 1602         pxor    %xmm4,%xmm0
 1603         psrld   $19-17,%xmm4
 1604         pxor    %xmm1,%xmm0
 1605         pslld   $15-13,%xmm1
 1606         pxor    %xmm4,%xmm0
 1607         pxor    %xmm1,%xmm0
 1608         paddd   %xmm0,%xmm6
 1609         movdqa  %xmm15,%xmm7
 1610 
 1611         movdqa  %xmm15,%xmm2
 1612 
 1613         psrld   $6,%xmm7
 1614         movdqa  %xmm15,%xmm1
 1615         pslld   $7,%xmm2
 1616         movdqa  %xmm6,80-128(%rax)
 1617         paddd   %xmm10,%xmm6
 1618 
 1619         psrld   $11,%xmm1
 1620         pxor    %xmm2,%xmm7
 1621         pslld   $21-7,%xmm2
 1622         paddd   32(%rbp),%xmm6
 1623         pxor    %xmm1,%xmm7
 1624 
 1625         psrld   $25-11,%xmm1
 1626         movdqa  %xmm15,%xmm0
 1627 
 1628         pxor    %xmm2,%xmm7
 1629         movdqa  %xmm15,%xmm4
 1630         pslld   $26-21,%xmm2
 1631         pandn   %xmm9,%xmm0
 1632         pand    %xmm8,%xmm4
 1633         pxor    %xmm1,%xmm7
 1634 
 1635 
 1636         movdqa  %xmm11,%xmm1
 1637         pxor    %xmm2,%xmm7
 1638         movdqa  %xmm11,%xmm2
 1639         psrld   $2,%xmm1
 1640         paddd   %xmm7,%xmm6
 1641         pxor    %xmm4,%xmm0
 1642         movdqa  %xmm12,%xmm4
 1643         movdqa  %xmm11,%xmm7
 1644         pslld   $10,%xmm2
 1645         pxor    %xmm11,%xmm4
 1646 
 1647 
 1648         psrld   $13,%xmm7
 1649         pxor    %xmm2,%xmm1
 1650         paddd   %xmm0,%xmm6
 1651         pslld   $19-10,%xmm2
 1652         pand    %xmm4,%xmm3
 1653         pxor    %xmm7,%xmm1
 1654 
 1655 
 1656         psrld   $22-13,%xmm7
 1657         pxor    %xmm2,%xmm1
 1658         movdqa  %xmm12,%xmm10
 1659         pslld   $30-19,%xmm2
 1660         pxor    %xmm1,%xmm7
 1661         pxor    %xmm3,%xmm10
 1662         paddd   %xmm6,%xmm14
 1663         pxor    %xmm2,%xmm7
 1664 
 1665         paddd   %xmm6,%xmm10
 1666         paddd   %xmm7,%xmm10
 1667         movdqa  112-128(%rax),%xmm6
 1668         paddd   240-128(%rax),%xmm5
 1669 
 1670         movdqa  %xmm6,%xmm7
 1671         movdqa  %xmm6,%xmm1
 1672         psrld   $3,%xmm7
 1673         movdqa  %xmm6,%xmm2
 1674 
 1675         psrld   $7,%xmm1
 1676         movdqa  64-128(%rax),%xmm0
 1677         pslld   $14,%xmm2
 1678         pxor    %xmm1,%xmm7
 1679         psrld   $18-7,%xmm1
 1680         movdqa  %xmm0,%xmm3
 1681         pxor    %xmm2,%xmm7
 1682         pslld   $25-14,%xmm2
 1683         pxor    %xmm1,%xmm7
 1684         psrld   $10,%xmm0
 1685         movdqa  %xmm3,%xmm1
 1686 
 1687         psrld   $17,%xmm3
 1688         pxor    %xmm2,%xmm7
 1689         pslld   $13,%xmm1
 1690         paddd   %xmm7,%xmm5
 1691         pxor    %xmm3,%xmm0
 1692         psrld   $19-17,%xmm3
 1693         pxor    %xmm1,%xmm0
 1694         pslld   $15-13,%xmm1
 1695         pxor    %xmm3,%xmm0
 1696         pxor    %xmm1,%xmm0
 1697         paddd   %xmm0,%xmm5
 1698         movdqa  %xmm14,%xmm7
 1699 
 1700         movdqa  %xmm14,%xmm2
 1701 
 1702         psrld   $6,%xmm7
 1703         movdqa  %xmm14,%xmm1
 1704         pslld   $7,%xmm2
 1705         movdqa  %xmm5,96-128(%rax)
 1706         paddd   %xmm9,%xmm5
 1707 
 1708         psrld   $11,%xmm1
 1709         pxor    %xmm2,%xmm7
 1710         pslld   $21-7,%xmm2
 1711         paddd   64(%rbp),%xmm5
 1712         pxor    %xmm1,%xmm7
 1713 
 1714         psrld   $25-11,%xmm1
 1715         movdqa  %xmm14,%xmm0
 1716 
 1717         pxor    %xmm2,%xmm7
 1718         movdqa  %xmm14,%xmm3
 1719         pslld   $26-21,%xmm2
 1720         pandn   %xmm8,%xmm0
 1721         pand    %xmm15,%xmm3
 1722         pxor    %xmm1,%xmm7
 1723 
 1724 
 1725         movdqa  %xmm10,%xmm1
 1726         pxor    %xmm2,%xmm7
 1727         movdqa  %xmm10,%xmm2
 1728         psrld   $2,%xmm1
 1729         paddd   %xmm7,%xmm5
 1730         pxor    %xmm3,%xmm0
 1731         movdqa  %xmm11,%xmm3
 1732         movdqa  %xmm10,%xmm7
 1733         pslld   $10,%xmm2
 1734         pxor    %xmm10,%xmm3
 1735 
 1736 
 1737         psrld   $13,%xmm7
 1738         pxor    %xmm2,%xmm1
 1739         paddd   %xmm0,%xmm5
 1740         pslld   $19-10,%xmm2
 1741         pand    %xmm3,%xmm4
 1742         pxor    %xmm7,%xmm1
 1743 
 1744 
 1745         psrld   $22-13,%xmm7
 1746         pxor    %xmm2,%xmm1
 1747         movdqa  %xmm11,%xmm9
 1748         pslld   $30-19,%xmm2
 1749         pxor    %xmm1,%xmm7
 1750         pxor    %xmm4,%xmm9
 1751         paddd   %xmm5,%xmm13
 1752         pxor    %xmm2,%xmm7
 1753 
 1754         paddd   %xmm5,%xmm9
 1755         paddd   %xmm7,%xmm9
 1756         movdqa  128-128(%rax),%xmm5
 1757         paddd   0-128(%rax),%xmm6
 1758 
 1759         movdqa  %xmm5,%xmm7
 1760         movdqa  %xmm5,%xmm1
 1761         psrld   $3,%xmm7
 1762         movdqa  %xmm5,%xmm2
 1763 
 1764         psrld   $7,%xmm1
 1765         movdqa  80-128(%rax),%xmm0
 1766         pslld   $14,%xmm2
 1767         pxor    %xmm1,%xmm7
 1768         psrld   $18-7,%xmm1
 1769         movdqa  %xmm0,%xmm4
 1770         pxor    %xmm2,%xmm7
 1771         pslld   $25-14,%xmm2
 1772         pxor    %xmm1,%xmm7
 1773         psrld   $10,%xmm0
 1774         movdqa  %xmm4,%xmm1
 1775 
 1776         psrld   $17,%xmm4
 1777         pxor    %xmm2,%xmm7
 1778         pslld   $13,%xmm1
 1779         paddd   %xmm7,%xmm6
 1780         pxor    %xmm4,%xmm0
 1781         psrld   $19-17,%xmm4
 1782         pxor    %xmm1,%xmm0
 1783         pslld   $15-13,%xmm1
 1784         pxor    %xmm4,%xmm0
 1785         pxor    %xmm1,%xmm0
 1786         paddd   %xmm0,%xmm6
 1787         movdqa  %xmm13,%xmm7
 1788 
 1789         movdqa  %xmm13,%xmm2
 1790 
 1791         psrld   $6,%xmm7
 1792         movdqa  %xmm13,%xmm1
 1793         pslld   $7,%xmm2
 1794         movdqa  %xmm6,112-128(%rax)
 1795         paddd   %xmm8,%xmm6
 1796 
 1797         psrld   $11,%xmm1
 1798         pxor    %xmm2,%xmm7
 1799         pslld   $21-7,%xmm2
 1800         paddd   96(%rbp),%xmm6
 1801         pxor    %xmm1,%xmm7
 1802 
 1803         psrld   $25-11,%xmm1
 1804         movdqa  %xmm13,%xmm0
 1805 
 1806         pxor    %xmm2,%xmm7
 1807         movdqa  %xmm13,%xmm4
 1808         pslld   $26-21,%xmm2
 1809         pandn   %xmm15,%xmm0
 1810         pand    %xmm14,%xmm4
 1811         pxor    %xmm1,%xmm7
 1812 
 1813 
 1814         movdqa  %xmm9,%xmm1
 1815         pxor    %xmm2,%xmm7
 1816         movdqa  %xmm9,%xmm2
 1817         psrld   $2,%xmm1
 1818         paddd   %xmm7,%xmm6
 1819         pxor    %xmm4,%xmm0
 1820         movdqa  %xmm10,%xmm4
 1821         movdqa  %xmm9,%xmm7
 1822         pslld   $10,%xmm2
 1823         pxor    %xmm9,%xmm4
 1824 
 1825 
 1826         psrld   $13,%xmm7
 1827         pxor    %xmm2,%xmm1
 1828         paddd   %xmm0,%xmm6
 1829         pslld   $19-10,%xmm2
 1830         pand    %xmm4,%xmm3
 1831         pxor    %xmm7,%xmm1
 1832 
 1833 
 1834         psrld   $22-13,%xmm7
 1835         pxor    %xmm2,%xmm1
 1836         movdqa  %xmm10,%xmm8
 1837         pslld   $30-19,%xmm2
 1838         pxor    %xmm1,%xmm7
 1839         pxor    %xmm3,%xmm8
 1840         paddd   %xmm6,%xmm12
 1841         pxor    %xmm2,%xmm7
 1842 
 1843         paddd   %xmm6,%xmm8
 1844         paddd   %xmm7,%xmm8
 1845         leaq    256(%rbp),%rbp
 1846         movdqa  144-128(%rax),%xmm6
 1847         paddd   16-128(%rax),%xmm5
 1848 
 1849         movdqa  %xmm6,%xmm7
 1850         movdqa  %xmm6,%xmm1
 1851         psrld   $3,%xmm7
 1852         movdqa  %xmm6,%xmm2
 1853 
 1854         psrld   $7,%xmm1
 1855         movdqa  96-128(%rax),%xmm0
 1856         pslld   $14,%xmm2
 1857         pxor    %xmm1,%xmm7
 1858         psrld   $18-7,%xmm1
 1859         movdqa  %xmm0,%xmm3
 1860         pxor    %xmm2,%xmm7
 1861         pslld   $25-14,%xmm2
 1862         pxor    %xmm1,%xmm7
 1863         psrld   $10,%xmm0
 1864         movdqa  %xmm3,%xmm1
 1865 
 1866         psrld   $17,%xmm3
 1867         pxor    %xmm2,%xmm7
 1868         pslld   $13,%xmm1
 1869         paddd   %xmm7,%xmm5
 1870         pxor    %xmm3,%xmm0
 1871         psrld   $19-17,%xmm3
 1872         pxor    %xmm1,%xmm0
 1873         pslld   $15-13,%xmm1
 1874         pxor    %xmm3,%xmm0
 1875         pxor    %xmm1,%xmm0
 1876         paddd   %xmm0,%xmm5
 1877         movdqa  %xmm12,%xmm7
 1878 
 1879         movdqa  %xmm12,%xmm2
 1880 
 1881         psrld   $6,%xmm7
 1882         movdqa  %xmm12,%xmm1
 1883         pslld   $7,%xmm2
 1884         movdqa  %xmm5,128-128(%rax)
 1885         paddd   %xmm15,%xmm5
 1886 
 1887         psrld   $11,%xmm1
 1888         pxor    %xmm2,%xmm7
 1889         pslld   $21-7,%xmm2
 1890         paddd   -128(%rbp),%xmm5
 1891         pxor    %xmm1,%xmm7
 1892 
 1893         psrld   $25-11,%xmm1
 1894         movdqa  %xmm12,%xmm0
 1895 
 1896         pxor    %xmm2,%xmm7
 1897         movdqa  %xmm12,%xmm3
 1898         pslld   $26-21,%xmm2
 1899         pandn   %xmm14,%xmm0
 1900         pand    %xmm13,%xmm3
 1901         pxor    %xmm1,%xmm7
 1902 
 1903 
 1904         movdqa  %xmm8,%xmm1
 1905         pxor    %xmm2,%xmm7
 1906         movdqa  %xmm8,%xmm2
 1907         psrld   $2,%xmm1
 1908         paddd   %xmm7,%xmm5
 1909         pxor    %xmm3,%xmm0
 1910         movdqa  %xmm9,%xmm3
 1911         movdqa  %xmm8,%xmm7
 1912         pslld   $10,%xmm2
 1913         pxor    %xmm8,%xmm3
 1914 
 1915 
 1916         psrld   $13,%xmm7
 1917         pxor    %xmm2,%xmm1
 1918         paddd   %xmm0,%xmm5
 1919         pslld   $19-10,%xmm2
 1920         pand    %xmm3,%xmm4
 1921         pxor    %xmm7,%xmm1
 1922 
 1923 
 1924         psrld   $22-13,%xmm7
 1925         pxor    %xmm2,%xmm1
 1926         movdqa  %xmm9,%xmm15
 1927         pslld   $30-19,%xmm2
 1928         pxor    %xmm1,%xmm7
 1929         pxor    %xmm4,%xmm15
 1930         paddd   %xmm5,%xmm11
 1931         pxor    %xmm2,%xmm7
 1932 
 1933         paddd   %xmm5,%xmm15
 1934         paddd   %xmm7,%xmm15
 1935         movdqa  160-128(%rax),%xmm5
 1936         paddd   32-128(%rax),%xmm6
 1937 
 1938         movdqa  %xmm5,%xmm7
 1939         movdqa  %xmm5,%xmm1
 1940         psrld   $3,%xmm7
 1941         movdqa  %xmm5,%xmm2
 1942 
 1943         psrld   $7,%xmm1
 1944         movdqa  112-128(%rax),%xmm0
 1945         pslld   $14,%xmm2
 1946         pxor    %xmm1,%xmm7
 1947         psrld   $18-7,%xmm1
 1948         movdqa  %xmm0,%xmm4
 1949         pxor    %xmm2,%xmm7
 1950         pslld   $25-14,%xmm2
 1951         pxor    %xmm1,%xmm7
 1952         psrld   $10,%xmm0
 1953         movdqa  %xmm4,%xmm1
 1954 
 1955         psrld   $17,%xmm4
 1956         pxor    %xmm2,%xmm7
 1957         pslld   $13,%xmm1
 1958         paddd   %xmm7,%xmm6
 1959         pxor    %xmm4,%xmm0
 1960         psrld   $19-17,%xmm4
 1961         pxor    %xmm1,%xmm0
 1962         pslld   $15-13,%xmm1
 1963         pxor    %xmm4,%xmm0
 1964         pxor    %xmm1,%xmm0
 1965         paddd   %xmm0,%xmm6
 1966         movdqa  %xmm11,%xmm7
 1967 
 1968         movdqa  %xmm11,%xmm2
 1969 
 1970         psrld   $6,%xmm7
 1971         movdqa  %xmm11,%xmm1
 1972         pslld   $7,%xmm2
 1973         movdqa  %xmm6,144-128(%rax)
 1974         paddd   %xmm14,%xmm6
 1975 
 1976         psrld   $11,%xmm1
 1977         pxor    %xmm2,%xmm7
 1978         pslld   $21-7,%xmm2
 1979         paddd   -96(%rbp),%xmm6
 1980         pxor    %xmm1,%xmm7
 1981 
 1982         psrld   $25-11,%xmm1
 1983         movdqa  %xmm11,%xmm0
 1984 
 1985         pxor    %xmm2,%xmm7
 1986         movdqa  %xmm11,%xmm4
 1987         pslld   $26-21,%xmm2
 1988         pandn   %xmm13,%xmm0
 1989         pand    %xmm12,%xmm4
 1990         pxor    %xmm1,%xmm7
 1991 
 1992 
 1993         movdqa  %xmm15,%xmm1
 1994         pxor    %xmm2,%xmm7
 1995         movdqa  %xmm15,%xmm2
 1996         psrld   $2,%xmm1
 1997         paddd   %xmm7,%xmm6
 1998         pxor    %xmm4,%xmm0
 1999         movdqa  %xmm8,%xmm4
 2000         movdqa  %xmm15,%xmm7
 2001         pslld   $10,%xmm2
 2002         pxor    %xmm15,%xmm4
 2003 
 2004 
 2005         psrld   $13,%xmm7
 2006         pxor    %xmm2,%xmm1
 2007         paddd   %xmm0,%xmm6
 2008         pslld   $19-10,%xmm2
 2009         pand    %xmm4,%xmm3
 2010         pxor    %xmm7,%xmm1
 2011 
 2012 
 2013         psrld   $22-13,%xmm7
 2014         pxor    %xmm2,%xmm1
 2015         movdqa  %xmm8,%xmm14
 2016         pslld   $30-19,%xmm2
 2017         pxor    %xmm1,%xmm7
 2018         pxor    %xmm3,%xmm14
 2019         paddd   %xmm6,%xmm10
 2020         pxor    %xmm2,%xmm7
 2021 
 2022         paddd   %xmm6,%xmm14
 2023         paddd   %xmm7,%xmm14
 2024         movdqa  176-128(%rax),%xmm6
 2025         paddd   48-128(%rax),%xmm5
 2026 
 2027         movdqa  %xmm6,%xmm7
 2028         movdqa  %xmm6,%xmm1
 2029         psrld   $3,%xmm7
 2030         movdqa  %xmm6,%xmm2
 2031 
 2032         psrld   $7,%xmm1
 2033         movdqa  128-128(%rax),%xmm0
 2034         pslld   $14,%xmm2
 2035         pxor    %xmm1,%xmm7
 2036         psrld   $18-7,%xmm1
 2037         movdqa  %xmm0,%xmm3
 2038         pxor    %xmm2,%xmm7
 2039         pslld   $25-14,%xmm2
 2040         pxor    %xmm1,%xmm7
 2041         psrld   $10,%xmm0
 2042         movdqa  %xmm3,%xmm1
 2043 
 2044         psrld   $17,%xmm3
 2045         pxor    %xmm2,%xmm7
 2046         pslld   $13,%xmm1
 2047         paddd   %xmm7,%xmm5
 2048         pxor    %xmm3,%xmm0
 2049         psrld   $19-17,%xmm3
 2050         pxor    %xmm1,%xmm0
 2051         pslld   $15-13,%xmm1
 2052         pxor    %xmm3,%xmm0
 2053         pxor    %xmm1,%xmm0
 2054         paddd   %xmm0,%xmm5
 2055         movdqa  %xmm10,%xmm7
 2056 
 2057         movdqa  %xmm10,%xmm2
 2058 
 2059         psrld   $6,%xmm7
 2060         movdqa  %xmm10,%xmm1
 2061         pslld   $7,%xmm2
 2062         movdqa  %xmm5,160-128(%rax)
 2063         paddd   %xmm13,%xmm5
 2064 
 2065         psrld   $11,%xmm1
 2066         pxor    %xmm2,%xmm7
 2067         pslld   $21-7,%xmm2
 2068         paddd   -64(%rbp),%xmm5
 2069         pxor    %xmm1,%xmm7
 2070 
 2071         psrld   $25-11,%xmm1
 2072         movdqa  %xmm10,%xmm0
 2073 
 2074         pxor    %xmm2,%xmm7
 2075         movdqa  %xmm10,%xmm3
 2076         pslld   $26-21,%xmm2
 2077         pandn   %xmm12,%xmm0
 2078         pand    %xmm11,%xmm3
 2079         pxor    %xmm1,%xmm7
 2080 
 2081 
 2082         movdqa  %xmm14,%xmm1
 2083         pxor    %xmm2,%xmm7
 2084         movdqa  %xmm14,%xmm2
 2085         psrld   $2,%xmm1
 2086         paddd   %xmm7,%xmm5
 2087         pxor    %xmm3,%xmm0
 2088         movdqa  %xmm15,%xmm3
 2089         movdqa  %xmm14,%xmm7
 2090         pslld   $10,%xmm2
 2091         pxor    %xmm14,%xmm3
 2092 
 2093 
 2094         psrld   $13,%xmm7
 2095         pxor    %xmm2,%xmm1
 2096         paddd   %xmm0,%xmm5
 2097         pslld   $19-10,%xmm2
 2098         pand    %xmm3,%xmm4
 2099         pxor    %xmm7,%xmm1
 2100 
 2101 
 2102         psrld   $22-13,%xmm7
 2103         pxor    %xmm2,%xmm1
 2104         movdqa  %xmm15,%xmm13
 2105         pslld   $30-19,%xmm2
 2106         pxor    %xmm1,%xmm7
 2107         pxor    %xmm4,%xmm13
 2108         paddd   %xmm5,%xmm9
 2109         pxor    %xmm2,%xmm7
 2110 
 2111         paddd   %xmm5,%xmm13
 2112         paddd   %xmm7,%xmm13
 2113         movdqa  192-128(%rax),%xmm5
 2114         paddd   64-128(%rax),%xmm6
 2115 
 2116         movdqa  %xmm5,%xmm7
 2117         movdqa  %xmm5,%xmm1
 2118         psrld   $3,%xmm7
 2119         movdqa  %xmm5,%xmm2
 2120 
 2121         psrld   $7,%xmm1
 2122         movdqa  144-128(%rax),%xmm0
 2123         pslld   $14,%xmm2
 2124         pxor    %xmm1,%xmm7
 2125         psrld   $18-7,%xmm1
 2126         movdqa  %xmm0,%xmm4
 2127         pxor    %xmm2,%xmm7
 2128         pslld   $25-14,%xmm2
 2129         pxor    %xmm1,%xmm7
 2130         psrld   $10,%xmm0
 2131         movdqa  %xmm4,%xmm1
 2132 
 2133         psrld   $17,%xmm4
 2134         pxor    %xmm2,%xmm7
 2135         pslld   $13,%xmm1
 2136         paddd   %xmm7,%xmm6
 2137         pxor    %xmm4,%xmm0
 2138         psrld   $19-17,%xmm4
 2139         pxor    %xmm1,%xmm0
 2140         pslld   $15-13,%xmm1
 2141         pxor    %xmm4,%xmm0
 2142         pxor    %xmm1,%xmm0
 2143         paddd   %xmm0,%xmm6
 2144         movdqa  %xmm9,%xmm7
 2145 
 2146         movdqa  %xmm9,%xmm2
 2147 
 2148         psrld   $6,%xmm7
 2149         movdqa  %xmm9,%xmm1
 2150         pslld   $7,%xmm2
 2151         movdqa  %xmm6,176-128(%rax)
 2152         paddd   %xmm12,%xmm6
 2153 
 2154         psrld   $11,%xmm1
 2155         pxor    %xmm2,%xmm7
 2156         pslld   $21-7,%xmm2
 2157         paddd   -32(%rbp),%xmm6
 2158         pxor    %xmm1,%xmm7
 2159 
 2160         psrld   $25-11,%xmm1
 2161         movdqa  %xmm9,%xmm0
 2162 
 2163         pxor    %xmm2,%xmm7
 2164         movdqa  %xmm9,%xmm4
 2165         pslld   $26-21,%xmm2
 2166         pandn   %xmm11,%xmm0
 2167         pand    %xmm10,%xmm4
 2168         pxor    %xmm1,%xmm7
 2169 
 2170 
 2171         movdqa  %xmm13,%xmm1
 2172         pxor    %xmm2,%xmm7
 2173         movdqa  %xmm13,%xmm2
 2174         psrld   $2,%xmm1
 2175         paddd   %xmm7,%xmm6
 2176         pxor    %xmm4,%xmm0
 2177         movdqa  %xmm14,%xmm4
 2178         movdqa  %xmm13,%xmm7
 2179         pslld   $10,%xmm2
 2180         pxor    %xmm13,%xmm4
 2181 
 2182 
 2183         psrld   $13,%xmm7
 2184         pxor    %xmm2,%xmm1
 2185         paddd   %xmm0,%xmm6
 2186         pslld   $19-10,%xmm2
 2187         pand    %xmm4,%xmm3
 2188         pxor    %xmm7,%xmm1
 2189 
 2190 
 2191         psrld   $22-13,%xmm7
 2192         pxor    %xmm2,%xmm1
 2193         movdqa  %xmm14,%xmm12
 2194         pslld   $30-19,%xmm2
 2195         pxor    %xmm1,%xmm7
 2196         pxor    %xmm3,%xmm12
 2197         paddd   %xmm6,%xmm8
 2198         pxor    %xmm2,%xmm7
 2199 
 2200         paddd   %xmm6,%xmm12
 2201         paddd   %xmm7,%xmm12
 2202         movdqa  208-128(%rax),%xmm6
 2203         paddd   80-128(%rax),%xmm5
 2204 
 2205         movdqa  %xmm6,%xmm7
 2206         movdqa  %xmm6,%xmm1
 2207         psrld   $3,%xmm7
 2208         movdqa  %xmm6,%xmm2
 2209 
 2210         psrld   $7,%xmm1
 2211         movdqa  160-128(%rax),%xmm0
 2212         pslld   $14,%xmm2
 2213         pxor    %xmm1,%xmm7
 2214         psrld   $18-7,%xmm1
 2215         movdqa  %xmm0,%xmm3
 2216         pxor    %xmm2,%xmm7
 2217         pslld   $25-14,%xmm2
 2218         pxor    %xmm1,%xmm7
 2219         psrld   $10,%xmm0
 2220         movdqa  %xmm3,%xmm1
 2221 
 2222         psrld   $17,%xmm3
 2223         pxor    %xmm2,%xmm7
 2224         pslld   $13,%xmm1
 2225         paddd   %xmm7,%xmm5
 2226         pxor    %xmm3,%xmm0
 2227         psrld   $19-17,%xmm3
 2228         pxor    %xmm1,%xmm0
 2229         pslld   $15-13,%xmm1
 2230         pxor    %xmm3,%xmm0
 2231         pxor    %xmm1,%xmm0
 2232         paddd   %xmm0,%xmm5
 2233         movdqa  %xmm8,%xmm7
 2234 
 2235         movdqa  %xmm8,%xmm2
 2236 
 2237         psrld   $6,%xmm7
 2238         movdqa  %xmm8,%xmm1
 2239         pslld   $7,%xmm2
 2240         movdqa  %xmm5,192-128(%rax)
 2241         paddd   %xmm11,%xmm5
 2242 
 2243         psrld   $11,%xmm1
 2244         pxor    %xmm2,%xmm7
 2245         pslld   $21-7,%xmm2
 2246         paddd   0(%rbp),%xmm5
 2247         pxor    %xmm1,%xmm7
 2248 
 2249         psrld   $25-11,%xmm1
 2250         movdqa  %xmm8,%xmm0
 2251 
 2252         pxor    %xmm2,%xmm7
 2253         movdqa  %xmm8,%xmm3
 2254         pslld   $26-21,%xmm2
 2255         pandn   %xmm10,%xmm0
 2256         pand    %xmm9,%xmm3
 2257         pxor    %xmm1,%xmm7
 2258 
 2259 
 2260         movdqa  %xmm12,%xmm1
 2261         pxor    %xmm2,%xmm7
 2262         movdqa  %xmm12,%xmm2
 2263         psrld   $2,%xmm1
 2264         paddd   %xmm7,%xmm5
 2265         pxor    %xmm3,%xmm0
 2266         movdqa  %xmm13,%xmm3
 2267         movdqa  %xmm12,%xmm7
 2268         pslld   $10,%xmm2
 2269         pxor    %xmm12,%xmm3
 2270 
 2271 
 2272         psrld   $13,%xmm7
 2273         pxor    %xmm2,%xmm1
 2274         paddd   %xmm0,%xmm5
 2275         pslld   $19-10,%xmm2
 2276         pand    %xmm3,%xmm4
 2277         pxor    %xmm7,%xmm1
 2278 
 2279 
 2280         psrld   $22-13,%xmm7
 2281         pxor    %xmm2,%xmm1
 2282         movdqa  %xmm13,%xmm11
 2283         pslld   $30-19,%xmm2
 2284         pxor    %xmm1,%xmm7
 2285         pxor    %xmm4,%xmm11
 2286         paddd   %xmm5,%xmm15
 2287         pxor    %xmm2,%xmm7
 2288 
 2289         paddd   %xmm5,%xmm11
 2290         paddd   %xmm7,%xmm11
 2291         movdqa  224-128(%rax),%xmm5
 2292         paddd   96-128(%rax),%xmm6
 2293 
 2294         movdqa  %xmm5,%xmm7
 2295         movdqa  %xmm5,%xmm1
 2296         psrld   $3,%xmm7
 2297         movdqa  %xmm5,%xmm2
 2298 
 2299         psrld   $7,%xmm1
 2300         movdqa  176-128(%rax),%xmm0
 2301         pslld   $14,%xmm2
 2302         pxor    %xmm1,%xmm7
 2303         psrld   $18-7,%xmm1
 2304         movdqa  %xmm0,%xmm4
 2305         pxor    %xmm2,%xmm7
 2306         pslld   $25-14,%xmm2
 2307         pxor    %xmm1,%xmm7
 2308         psrld   $10,%xmm0
 2309         movdqa  %xmm4,%xmm1
 2310 
 2311         psrld   $17,%xmm4
 2312         pxor    %xmm2,%xmm7
 2313         pslld   $13,%xmm1
 2314         paddd   %xmm7,%xmm6
 2315         pxor    %xmm4,%xmm0
 2316         psrld   $19-17,%xmm4
 2317         pxor    %xmm1,%xmm0
 2318         pslld   $15-13,%xmm1
 2319         pxor    %xmm4,%xmm0
 2320         pxor    %xmm1,%xmm0
 2321         paddd   %xmm0,%xmm6
 2322         movdqa  %xmm15,%xmm7
 2323 
 2324         movdqa  %xmm15,%xmm2
 2325 
 2326         psrld   $6,%xmm7
 2327         movdqa  %xmm15,%xmm1
 2328         pslld   $7,%xmm2
 2329         movdqa  %xmm6,208-128(%rax)
 2330         paddd   %xmm10,%xmm6
 2331 
 2332         psrld   $11,%xmm1
 2333         pxor    %xmm2,%xmm7
 2334         pslld   $21-7,%xmm2
 2335         paddd   32(%rbp),%xmm6
 2336         pxor    %xmm1,%xmm7
 2337 
 2338         psrld   $25-11,%xmm1
 2339         movdqa  %xmm15,%xmm0
 2340 
 2341         pxor    %xmm2,%xmm7
 2342         movdqa  %xmm15,%xmm4
 2343         pslld   $26-21,%xmm2
 2344         pandn   %xmm9,%xmm0
 2345         pand    %xmm8,%xmm4
 2346         pxor    %xmm1,%xmm7
 2347 
 2348 
 2349         movdqa  %xmm11,%xmm1
 2350         pxor    %xmm2,%xmm7
 2351         movdqa  %xmm11,%xmm2
 2352         psrld   $2,%xmm1
 2353         paddd   %xmm7,%xmm6
 2354         pxor    %xmm4,%xmm0
 2355         movdqa  %xmm12,%xmm4
 2356         movdqa  %xmm11,%xmm7
 2357         pslld   $10,%xmm2
 2358         pxor    %xmm11,%xmm4
 2359 
 2360 
 2361         psrld   $13,%xmm7
 2362         pxor    %xmm2,%xmm1
 2363         paddd   %xmm0,%xmm6
 2364         pslld   $19-10,%xmm2
 2365         pand    %xmm4,%xmm3
 2366         pxor    %xmm7,%xmm1
 2367 
 2368 
 2369         psrld   $22-13,%xmm7
 2370         pxor    %xmm2,%xmm1
 2371         movdqa  %xmm12,%xmm10
 2372         pslld   $30-19,%xmm2
 2373         pxor    %xmm1,%xmm7
 2374         pxor    %xmm3,%xmm10
 2375         paddd   %xmm6,%xmm14
 2376         pxor    %xmm2,%xmm7
 2377 
 2378         paddd   %xmm6,%xmm10
 2379         paddd   %xmm7,%xmm10
 2380         movdqa  240-128(%rax),%xmm6
 2381         paddd   112-128(%rax),%xmm5
 2382 
 2383         movdqa  %xmm6,%xmm7
 2384         movdqa  %xmm6,%xmm1
 2385         psrld   $3,%xmm7
 2386         movdqa  %xmm6,%xmm2
 2387 
 2388         psrld   $7,%xmm1
 2389         movdqa  192-128(%rax),%xmm0
 2390         pslld   $14,%xmm2
 2391         pxor    %xmm1,%xmm7
 2392         psrld   $18-7,%xmm1
 2393         movdqa  %xmm0,%xmm3
 2394         pxor    %xmm2,%xmm7
 2395         pslld   $25-14,%xmm2
 2396         pxor    %xmm1,%xmm7
 2397         psrld   $10,%xmm0
 2398         movdqa  %xmm3,%xmm1
 2399 
 2400         psrld   $17,%xmm3
 2401         pxor    %xmm2,%xmm7
 2402         pslld   $13,%xmm1
 2403         paddd   %xmm7,%xmm5
 2404         pxor    %xmm3,%xmm0
 2405         psrld   $19-17,%xmm3
 2406         pxor    %xmm1,%xmm0
 2407         pslld   $15-13,%xmm1
 2408         pxor    %xmm3,%xmm0
 2409         pxor    %xmm1,%xmm0
 2410         paddd   %xmm0,%xmm5
 2411         movdqa  %xmm14,%xmm7
 2412 
 2413         movdqa  %xmm14,%xmm2
 2414 
 2415         psrld   $6,%xmm7
 2416         movdqa  %xmm14,%xmm1
 2417         pslld   $7,%xmm2
 2418         movdqa  %xmm5,224-128(%rax)
 2419         paddd   %xmm9,%xmm5
 2420 
 2421         psrld   $11,%xmm1
 2422         pxor    %xmm2,%xmm7
 2423         pslld   $21-7,%xmm2
 2424         paddd   64(%rbp),%xmm5
 2425         pxor    %xmm1,%xmm7
 2426 
 2427         psrld   $25-11,%xmm1
 2428         movdqa  %xmm14,%xmm0
 2429 
 2430         pxor    %xmm2,%xmm7
 2431         movdqa  %xmm14,%xmm3
 2432         pslld   $26-21,%xmm2
 2433         pandn   %xmm8,%xmm0
 2434         pand    %xmm15,%xmm3
 2435         pxor    %xmm1,%xmm7
 2436 
 2437 
 2438         movdqa  %xmm10,%xmm1
 2439         pxor    %xmm2,%xmm7
 2440         movdqa  %xmm10,%xmm2
 2441         psrld   $2,%xmm1
 2442         paddd   %xmm7,%xmm5
 2443         pxor    %xmm3,%xmm0
 2444         movdqa  %xmm11,%xmm3
 2445         movdqa  %xmm10,%xmm7
 2446         pslld   $10,%xmm2
 2447         pxor    %xmm10,%xmm3
 2448 
 2449 
 2450         psrld   $13,%xmm7
 2451         pxor    %xmm2,%xmm1
 2452         paddd   %xmm0,%xmm5
 2453         pslld   $19-10,%xmm2
 2454         pand    %xmm3,%xmm4
 2455         pxor    %xmm7,%xmm1
 2456 
 2457 
 2458         psrld   $22-13,%xmm7
 2459         pxor    %xmm2,%xmm1
 2460         movdqa  %xmm11,%xmm9
 2461         pslld   $30-19,%xmm2
 2462         pxor    %xmm1,%xmm7
 2463         pxor    %xmm4,%xmm9
 2464         paddd   %xmm5,%xmm13
 2465         pxor    %xmm2,%xmm7
 2466 
 2467         paddd   %xmm5,%xmm9
 2468         paddd   %xmm7,%xmm9
 2469         movdqa  0-128(%rax),%xmm5
 2470         paddd   128-128(%rax),%xmm6
 2471 
 2472         movdqa  %xmm5,%xmm7
 2473         movdqa  %xmm5,%xmm1
 2474         psrld   $3,%xmm7
 2475         movdqa  %xmm5,%xmm2
 2476 
 2477         psrld   $7,%xmm1
 2478         movdqa  208-128(%rax),%xmm0
 2479         pslld   $14,%xmm2
 2480         pxor    %xmm1,%xmm7
 2481         psrld   $18-7,%xmm1
 2482         movdqa  %xmm0,%xmm4
 2483         pxor    %xmm2,%xmm7
 2484         pslld   $25-14,%xmm2
 2485         pxor    %xmm1,%xmm7
 2486         psrld   $10,%xmm0
 2487         movdqa  %xmm4,%xmm1
 2488 
 2489         psrld   $17,%xmm4
 2490         pxor    %xmm2,%xmm7
 2491         pslld   $13,%xmm1
 2492         paddd   %xmm7,%xmm6
 2493         pxor    %xmm4,%xmm0
 2494         psrld   $19-17,%xmm4
 2495         pxor    %xmm1,%xmm0
 2496         pslld   $15-13,%xmm1
 2497         pxor    %xmm4,%xmm0
 2498         pxor    %xmm1,%xmm0
 2499         paddd   %xmm0,%xmm6
 2500         movdqa  %xmm13,%xmm7
 2501 
 2502         movdqa  %xmm13,%xmm2
 2503 
 2504         psrld   $6,%xmm7
 2505         movdqa  %xmm13,%xmm1
 2506         pslld   $7,%xmm2
 2507         movdqa  %xmm6,240-128(%rax)
 2508         paddd   %xmm8,%xmm6
 2509 
 2510         psrld   $11,%xmm1
 2511         pxor    %xmm2,%xmm7
 2512         pslld   $21-7,%xmm2
 2513         paddd   96(%rbp),%xmm6
 2514         pxor    %xmm1,%xmm7
 2515 
 2516         psrld   $25-11,%xmm1
 2517         movdqa  %xmm13,%xmm0
 2518 
 2519         pxor    %xmm2,%xmm7
 2520         movdqa  %xmm13,%xmm4
 2521         pslld   $26-21,%xmm2
 2522         pandn   %xmm15,%xmm0
 2523         pand    %xmm14,%xmm4
 2524         pxor    %xmm1,%xmm7
 2525 
 2526 
 2527         movdqa  %xmm9,%xmm1
 2528         pxor    %xmm2,%xmm7
 2529         movdqa  %xmm9,%xmm2
 2530         psrld   $2,%xmm1
 2531         paddd   %xmm7,%xmm6
 2532         pxor    %xmm4,%xmm0
 2533         movdqa  %xmm10,%xmm4
 2534         movdqa  %xmm9,%xmm7
 2535         pslld   $10,%xmm2
 2536         pxor    %xmm9,%xmm4
 2537 
 2538 
 2539         psrld   $13,%xmm7
 2540         pxor    %xmm2,%xmm1
 2541         paddd   %xmm0,%xmm6
 2542         pslld   $19-10,%xmm2
 2543         pand    %xmm4,%xmm3
 2544         pxor    %xmm7,%xmm1
 2545 
 2546 
 2547         psrld   $22-13,%xmm7
 2548         pxor    %xmm2,%xmm1
 2549         movdqa  %xmm10,%xmm8
 2550         pslld   $30-19,%xmm2
 2551         pxor    %xmm1,%xmm7
 2552         pxor    %xmm3,%xmm8
 2553         paddd   %xmm6,%xmm12
 2554         pxor    %xmm2,%xmm7
 2555 
 2556         paddd   %xmm6,%xmm8
 2557         paddd   %xmm7,%xmm8
 2558         leaq    256(%rbp),%rbp
 2559         decl    %ecx
 2560         jnz     .Loop_16_xx
 2561 
 2562         movl    $1,%ecx
 2563         leaq    K256+128(%rip),%rbp
 2564 
 2565         movdqa  (%rbx),%xmm7
 2566         cmpl    0(%rbx),%ecx
 2567         pxor    %xmm0,%xmm0
 2568         cmovgeq %rbp,%r8
 2569         cmpl    4(%rbx),%ecx
 2570         movdqa  %xmm7,%xmm6
 2571         cmovgeq %rbp,%r9
 2572         cmpl    8(%rbx),%ecx
 2573         pcmpgtd %xmm0,%xmm6
 2574         cmovgeq %rbp,%r10
 2575         cmpl    12(%rbx),%ecx
 2576         paddd   %xmm6,%xmm7
 2577         cmovgeq %rbp,%r11
 2578 
 2579         movdqu  0-128(%rdi),%xmm0
 2580         pand    %xmm6,%xmm8
 2581         movdqu  32-128(%rdi),%xmm1
 2582         pand    %xmm6,%xmm9
 2583         movdqu  64-128(%rdi),%xmm2
 2584         pand    %xmm6,%xmm10
 2585         movdqu  96-128(%rdi),%xmm5
 2586         pand    %xmm6,%xmm11
 2587         paddd   %xmm0,%xmm8
 2588         movdqu  128-128(%rdi),%xmm0
 2589         pand    %xmm6,%xmm12
 2590         paddd   %xmm1,%xmm9
 2591         movdqu  160-128(%rdi),%xmm1
 2592         pand    %xmm6,%xmm13
 2593         paddd   %xmm2,%xmm10
 2594         movdqu  192-128(%rdi),%xmm2
 2595         pand    %xmm6,%xmm14
 2596         paddd   %xmm5,%xmm11
 2597         movdqu  224-128(%rdi),%xmm5
 2598         pand    %xmm6,%xmm15
 2599         paddd   %xmm0,%xmm12
 2600         paddd   %xmm1,%xmm13
 2601         movdqu  %xmm8,0-128(%rdi)
 2602         paddd   %xmm2,%xmm14
 2603         movdqu  %xmm9,32-128(%rdi)
 2604         paddd   %xmm5,%xmm15
 2605         movdqu  %xmm10,64-128(%rdi)
 2606         movdqu  %xmm11,96-128(%rdi)
 2607         movdqu  %xmm12,128-128(%rdi)
 2608         movdqu  %xmm13,160-128(%rdi)
 2609         movdqu  %xmm14,192-128(%rdi)
 2610         movdqu  %xmm15,224-128(%rdi)
 2611 
 2612         movdqa  %xmm7,(%rbx)
 2613         movdqa  .Lpbswap(%rip),%xmm6
 2614         decl    %edx
 2615         jnz     .Loop
 2616 
 2617         movl    280(%rsp),%edx
 2618         leaq    16(%rdi),%rdi
 2619         leaq    64(%rsi),%rsi
 2620         decl    %edx
 2621         jnz     .Loop_grande
 2622 
 2623 .Ldone:
 2624         movq    272(%rsp),%rax
 2625 .cfi_def_cfa    %rax,8
 2626         movq    -16(%rax),%rbp
 2627 .cfi_restore    %rbp
 2628         movq    -8(%rax),%rbx
 2629 .cfi_restore    %rbx
 2630         leaq    (%rax),%rsp
 2631 .cfi_def_cfa_register   %rsp
 2632 .Lepilogue:
 2633         .byte   0xf3,0xc3
 2634 .cfi_endproc    
 2635 .size   sha256_multi_block,.-sha256_multi_block
 2636 .type   sha256_multi_block_shaext,@function
 2637 .align  32
 2638 sha256_multi_block_shaext:
 2639 .cfi_startproc  
 2640 _shaext_shortcut:
 2641         movq    %rsp,%rax
 2642 .cfi_def_cfa_register   %rax
 2643         pushq   %rbx
 2644 .cfi_offset     %rbx,-16
 2645         pushq   %rbp
 2646 .cfi_offset     %rbp,-24
 2647         subq    $288,%rsp
 2648         shll    $1,%edx
 2649         andq    $-256,%rsp
 2650         leaq    128(%rdi),%rdi
 2651         movq    %rax,272(%rsp)
 2652 .Lbody_shaext:
 2653         leaq    256(%rsp),%rbx
 2654         leaq    K256_shaext+128(%rip),%rbp
 2655 
 2656 .Loop_grande_shaext:
 2657         movl    %edx,280(%rsp)
 2658         xorl    %edx,%edx
 2659         movq    0(%rsi),%r8
 2660         movl    8(%rsi),%ecx
 2661         cmpl    %edx,%ecx
 2662         cmovgl  %ecx,%edx
 2663         testl   %ecx,%ecx
 2664         movl    %ecx,0(%rbx)
 2665         cmovleq %rsp,%r8
 2666         movq    16(%rsi),%r9
 2667         movl    24(%rsi),%ecx
 2668         cmpl    %edx,%ecx
 2669         cmovgl  %ecx,%edx
 2670         testl   %ecx,%ecx
 2671         movl    %ecx,4(%rbx)
 2672         cmovleq %rsp,%r9
 2673         testl   %edx,%edx
 2674         jz      .Ldone_shaext
 2675 
 2676         movq    0-128(%rdi),%xmm12
 2677         movq    32-128(%rdi),%xmm4
 2678         movq    64-128(%rdi),%xmm13
 2679         movq    96-128(%rdi),%xmm5
 2680         movq    128-128(%rdi),%xmm8
 2681         movq    160-128(%rdi),%xmm9
 2682         movq    192-128(%rdi),%xmm10
 2683         movq    224-128(%rdi),%xmm11
 2684 
 2685         punpckldq       %xmm4,%xmm12
 2686         punpckldq       %xmm5,%xmm13
 2687         punpckldq       %xmm9,%xmm8
 2688         punpckldq       %xmm11,%xmm10
 2689         movdqa  K256_shaext-16(%rip),%xmm3
 2690 
 2691         movdqa  %xmm12,%xmm14
 2692         movdqa  %xmm13,%xmm15
 2693         punpcklqdq      %xmm8,%xmm12
 2694         punpcklqdq      %xmm10,%xmm13
 2695         punpckhqdq      %xmm8,%xmm14
 2696         punpckhqdq      %xmm10,%xmm15
 2697 
 2698         pshufd  $27,%xmm12,%xmm12
 2699         pshufd  $27,%xmm13,%xmm13
 2700         pshufd  $27,%xmm14,%xmm14
 2701         pshufd  $27,%xmm15,%xmm15
 2702         jmp     .Loop_shaext
 2703 
 2704 .align  32
 2705 .Loop_shaext:
 2706         movdqu  0(%r8),%xmm4
 2707         movdqu  0(%r9),%xmm8
 2708         movdqu  16(%r8),%xmm5
 2709         movdqu  16(%r9),%xmm9
 2710         movdqu  32(%r8),%xmm6
 2711 .byte   102,15,56,0,227
 2712         movdqu  32(%r9),%xmm10
 2713 .byte   102,68,15,56,0,195
 2714         movdqu  48(%r8),%xmm7
 2715         leaq    64(%r8),%r8
 2716         movdqu  48(%r9),%xmm11
 2717         leaq    64(%r9),%r9
 2718 
 2719         movdqa  0-128(%rbp),%xmm0
 2720 .byte   102,15,56,0,235
 2721         paddd   %xmm4,%xmm0
 2722         pxor    %xmm12,%xmm4
 2723         movdqa  %xmm0,%xmm1
 2724         movdqa  0-128(%rbp),%xmm2
 2725 .byte   102,68,15,56,0,203
 2726         paddd   %xmm8,%xmm2
 2727         movdqa  %xmm13,80(%rsp)
 2728 .byte   69,15,56,203,236
 2729         pxor    %xmm14,%xmm8
 2730         movdqa  %xmm2,%xmm0
 2731         movdqa  %xmm15,112(%rsp)
 2732 .byte   69,15,56,203,254
 2733         pshufd  $0x0e,%xmm1,%xmm0
 2734         pxor    %xmm12,%xmm4
 2735         movdqa  %xmm12,64(%rsp)
 2736 .byte   69,15,56,203,229
 2737         pshufd  $0x0e,%xmm2,%xmm0
 2738         pxor    %xmm14,%xmm8
 2739         movdqa  %xmm14,96(%rsp)
 2740         movdqa  16-128(%rbp),%xmm1
 2741         paddd   %xmm5,%xmm1
 2742 .byte   102,15,56,0,243
 2743 .byte   69,15,56,203,247
 2744 
 2745         movdqa  %xmm1,%xmm0
 2746         movdqa  16-128(%rbp),%xmm2
 2747         paddd   %xmm9,%xmm2
 2748 .byte   69,15,56,203,236
 2749         movdqa  %xmm2,%xmm0
 2750         prefetcht0      127(%r8)
 2751 .byte   102,15,56,0,251
 2752 .byte   102,68,15,56,0,211
 2753         prefetcht0      127(%r9)
 2754 .byte   69,15,56,203,254
 2755         pshufd  $0x0e,%xmm1,%xmm0
 2756 .byte   102,68,15,56,0,219
 2757 .byte   15,56,204,229
 2758 .byte   69,15,56,203,229
 2759         pshufd  $0x0e,%xmm2,%xmm0
 2760         movdqa  32-128(%rbp),%xmm1
 2761         paddd   %xmm6,%xmm1
 2762 .byte   69,15,56,203,247
 2763 
 2764         movdqa  %xmm1,%xmm0
 2765         movdqa  32-128(%rbp),%xmm2
 2766         paddd   %xmm10,%xmm2
 2767 .byte   69,15,56,203,236
 2768 .byte   69,15,56,204,193
 2769         movdqa  %xmm2,%xmm0
 2770         movdqa  %xmm7,%xmm3
 2771 .byte   69,15,56,203,254
 2772         pshufd  $0x0e,%xmm1,%xmm0
 2773 .byte   102,15,58,15,222,4
 2774         paddd   %xmm3,%xmm4
 2775         movdqa  %xmm11,%xmm3
 2776 .byte   102,65,15,58,15,218,4
 2777 .byte   15,56,204,238
 2778 .byte   69,15,56,203,229
 2779         pshufd  $0x0e,%xmm2,%xmm0
 2780         movdqa  48-128(%rbp),%xmm1
 2781         paddd   %xmm7,%xmm1
 2782 .byte   69,15,56,203,247
 2783 .byte   69,15,56,204,202
 2784 
 2785         movdqa  %xmm1,%xmm0
 2786         movdqa  48-128(%rbp),%xmm2
 2787         paddd   %xmm3,%xmm8
 2788         paddd   %xmm11,%xmm2
 2789 .byte   15,56,205,231
 2790 .byte   69,15,56,203,236
 2791         movdqa  %xmm2,%xmm0
 2792         movdqa  %xmm4,%xmm3
 2793 .byte   102,15,58,15,223,4
 2794 .byte   69,15,56,203,254
 2795 .byte   69,15,56,205,195
 2796         pshufd  $0x0e,%xmm1,%xmm0
 2797         paddd   %xmm3,%xmm5
 2798         movdqa  %xmm8,%xmm3
 2799 .byte   102,65,15,58,15,219,4
 2800 .byte   15,56,204,247
 2801 .byte   69,15,56,203,229
 2802         pshufd  $0x0e,%xmm2,%xmm0
 2803         movdqa  64-128(%rbp),%xmm1
 2804         paddd   %xmm4,%xmm1
 2805 .byte   69,15,56,203,247
 2806 .byte   69,15,56,204,211
 2807         movdqa  %xmm1,%xmm0
 2808         movdqa  64-128(%rbp),%xmm2
 2809         paddd   %xmm3,%xmm9
 2810         paddd   %xmm8,%xmm2
 2811 .byte   15,56,205,236
 2812 .byte   69,15,56,203,236
 2813         movdqa  %xmm2,%xmm0
 2814         movdqa  %xmm5,%xmm3
 2815 .byte   102,15,58,15,220,4
 2816 .byte   69,15,56,203,254
 2817 .byte   69,15,56,205,200
 2818         pshufd  $0x0e,%xmm1,%xmm0
 2819         paddd   %xmm3,%xmm6
 2820         movdqa  %xmm9,%xmm3
 2821 .byte   102,65,15,58,15,216,4
 2822 .byte   15,56,204,252
 2823 .byte   69,15,56,203,229
 2824         pshufd  $0x0e,%xmm2,%xmm0
 2825         movdqa  80-128(%rbp),%xmm1
 2826         paddd   %xmm5,%xmm1
 2827 .byte   69,15,56,203,247
 2828 .byte   69,15,56,204,216
 2829         movdqa  %xmm1,%xmm0
 2830         movdqa  80-128(%rbp),%xmm2
 2831         paddd   %xmm3,%xmm10
 2832         paddd   %xmm9,%xmm2
 2833 .byte   15,56,205,245
 2834 .byte   69,15,56,203,236
 2835         movdqa  %xmm2,%xmm0
 2836         movdqa  %xmm6,%xmm3
 2837 .byte   102,15,58,15,221,4
 2838 .byte   69,15,56,203,254
 2839 .byte   69,15,56,205,209
 2840         pshufd  $0x0e,%xmm1,%xmm0
 2841         paddd   %xmm3,%xmm7
 2842         movdqa  %xmm10,%xmm3
 2843 .byte   102,65,15,58,15,217,4
 2844 .byte   15,56,204,229
 2845 .byte   69,15,56,203,229
 2846         pshufd  $0x0e,%xmm2,%xmm0
 2847         movdqa  96-128(%rbp),%xmm1
 2848         paddd   %xmm6,%xmm1
 2849 .byte   69,15,56,203,247
 2850 .byte   69,15,56,204,193
 2851         movdqa  %xmm1,%xmm0
 2852         movdqa  96-128(%rbp),%xmm2
 2853         paddd   %xmm3,%xmm11
 2854         paddd   %xmm10,%xmm2
 2855 .byte   15,56,205,254
 2856 .byte   69,15,56,203,236
 2857         movdqa  %xmm2,%xmm0
 2858         movdqa  %xmm7,%xmm3
 2859 .byte   102,15,58,15,222,4
 2860 .byte   69,15,56,203,254
 2861 .byte   69,15,56,205,218
 2862         pshufd  $0x0e,%xmm1,%xmm0
 2863         paddd   %xmm3,%xmm4
 2864         movdqa  %xmm11,%xmm3
 2865 .byte   102,65,15,58,15,218,4
 2866 .byte   15,56,204,238
 2867 .byte   69,15,56,203,229
 2868         pshufd  $0x0e,%xmm2,%xmm0
 2869         movdqa  112-128(%rbp),%xmm1
 2870         paddd   %xmm7,%xmm1
 2871 .byte   69,15,56,203,247
 2872 .byte   69,15,56,204,202
 2873         movdqa  %xmm1,%xmm0
 2874         movdqa  112-128(%rbp),%xmm2
 2875         paddd   %xmm3,%xmm8
 2876         paddd   %xmm11,%xmm2
 2877 .byte   15,56,205,231
 2878 .byte   69,15,56,203,236
 2879         movdqa  %xmm2,%xmm0
 2880         movdqa  %xmm4,%xmm3
 2881 .byte   102,15,58,15,223,4
 2882 .byte   69,15,56,203,254
 2883 .byte   69,15,56,205,195
 2884         pshufd  $0x0e,%xmm1,%xmm0
 2885         paddd   %xmm3,%xmm5
 2886         movdqa  %xmm8,%xmm3
 2887 .byte   102,65,15,58,15,219,4
 2888 .byte   15,56,204,247
 2889 .byte   69,15,56,203,229
 2890         pshufd  $0x0e,%xmm2,%xmm0
 2891         movdqa  128-128(%rbp),%xmm1
 2892         paddd   %xmm4,%xmm1
 2893 .byte   69,15,56,203,247
 2894 .byte   69,15,56,204,211
 2895         movdqa  %xmm1,%xmm0
 2896         movdqa  128-128(%rbp),%xmm2
 2897         paddd   %xmm3,%xmm9
 2898         paddd   %xmm8,%xmm2
 2899 .byte   15,56,205,236
 2900 .byte   69,15,56,203,236
 2901         movdqa  %xmm2,%xmm0
 2902         movdqa  %xmm5,%xmm3
 2903 .byte   102,15,58,15,220,4
 2904 .byte   69,15,56,203,254
 2905 .byte   69,15,56,205,200
 2906         pshufd  $0x0e,%xmm1,%xmm0
 2907         paddd   %xmm3,%xmm6
 2908         movdqa  %xmm9,%xmm3
 2909 .byte   102,65,15,58,15,216,4
 2910 .byte   15,56,204,252
 2911 .byte   69,15,56,203,229
 2912         pshufd  $0x0e,%xmm2,%xmm0
 2913         movdqa  144-128(%rbp),%xmm1
 2914         paddd   %xmm5,%xmm1
 2915 .byte   69,15,56,203,247
 2916 .byte   69,15,56,204,216
 2917         movdqa  %xmm1,%xmm0
 2918         movdqa  144-128(%rbp),%xmm2
 2919         paddd   %xmm3,%xmm10
 2920         paddd   %xmm9,%xmm2
 2921 .byte   15,56,205,245
 2922 .byte   69,15,56,203,236
 2923         movdqa  %xmm2,%xmm0
 2924         movdqa  %xmm6,%xmm3
 2925 .byte   102,15,58,15,221,4
 2926 .byte   69,15,56,203,254
 2927 .byte   69,15,56,205,209
 2928         pshufd  $0x0e,%xmm1,%xmm0
 2929         paddd   %xmm3,%xmm7
 2930         movdqa  %xmm10,%xmm3
 2931 .byte   102,65,15,58,15,217,4
 2932 .byte   15,56,204,229
 2933 .byte   69,15,56,203,229
 2934         pshufd  $0x0e,%xmm2,%xmm0
 2935         movdqa  160-128(%rbp),%xmm1
 2936         paddd   %xmm6,%xmm1
 2937 .byte   69,15,56,203,247
 2938 .byte   69,15,56,204,193
 2939         movdqa  %xmm1,%xmm0
 2940         movdqa  160-128(%rbp),%xmm2
 2941         paddd   %xmm3,%xmm11
 2942         paddd   %xmm10,%xmm2
 2943 .byte   15,56,205,254
 2944 .byte   69,15,56,203,236
 2945         movdqa  %xmm2,%xmm0
 2946         movdqa  %xmm7,%xmm3
 2947 .byte   102,15,58,15,222,4
 2948 .byte   69,15,56,203,254
 2949 .byte   69,15,56,205,218
 2950         pshufd  $0x0e,%xmm1,%xmm0
 2951         paddd   %xmm3,%xmm4
 2952         movdqa  %xmm11,%xmm3
 2953 .byte   102,65,15,58,15,218,4
 2954 .byte   15,56,204,238
 2955 .byte   69,15,56,203,229
 2956         pshufd  $0x0e,%xmm2,%xmm0
 2957         movdqa  176-128(%rbp),%xmm1
 2958         paddd   %xmm7,%xmm1
 2959 .byte   69,15,56,203,247
 2960 .byte   69,15,56,204,202
 2961         movdqa  %xmm1,%xmm0
 2962         movdqa  176-128(%rbp),%xmm2
 2963         paddd   %xmm3,%xmm8
 2964         paddd   %xmm11,%xmm2
 2965 .byte   15,56,205,231
 2966 .byte   69,15,56,203,236
 2967         movdqa  %xmm2,%xmm0
 2968         movdqa  %xmm4,%xmm3
 2969 .byte   102,15,58,15,223,4
 2970 .byte   69,15,56,203,254
 2971 .byte   69,15,56,205,195
 2972         pshufd  $0x0e,%xmm1,%xmm0
 2973         paddd   %xmm3,%xmm5
 2974         movdqa  %xmm8,%xmm3
 2975 .byte   102,65,15,58,15,219,4
 2976 .byte   15,56,204,247
 2977 .byte   69,15,56,203,229
 2978         pshufd  $0x0e,%xmm2,%xmm0
 2979         movdqa  192-128(%rbp),%xmm1
 2980         paddd   %xmm4,%xmm1
 2981 .byte   69,15,56,203,247
 2982 .byte   69,15,56,204,211
 2983         movdqa  %xmm1,%xmm0
 2984         movdqa  192-128(%rbp),%xmm2
 2985         paddd   %xmm3,%xmm9
 2986         paddd   %xmm8,%xmm2
 2987 .byte   15,56,205,236
 2988 .byte   69,15,56,203,236
 2989         movdqa  %xmm2,%xmm0
 2990         movdqa  %xmm5,%xmm3
 2991 .byte   102,15,58,15,220,4
 2992 .byte   69,15,56,203,254
 2993 .byte   69,15,56,205,200
 2994         pshufd  $0x0e,%xmm1,%xmm0
 2995         paddd   %xmm3,%xmm6
 2996         movdqa  %xmm9,%xmm3
 2997 .byte   102,65,15,58,15,216,4
 2998 .byte   15,56,204,252
 2999 .byte   69,15,56,203,229
 3000         pshufd  $0x0e,%xmm2,%xmm0
 3001         movdqa  208-128(%rbp),%xmm1
 3002         paddd   %xmm5,%xmm1
 3003 .byte   69,15,56,203,247
 3004 .byte   69,15,56,204,216
 3005         movdqa  %xmm1,%xmm0
 3006         movdqa  208-128(%rbp),%xmm2
 3007         paddd   %xmm3,%xmm10
 3008         paddd   %xmm9,%xmm2
 3009 .byte   15,56,205,245
 3010 .byte   69,15,56,203,236
 3011         movdqa  %xmm2,%xmm0
 3012         movdqa  %xmm6,%xmm3
 3013 .byte   102,15,58,15,221,4
 3014 .byte   69,15,56,203,254
 3015 .byte   69,15,56,205,209
 3016         pshufd  $0x0e,%xmm1,%xmm0
 3017         paddd   %xmm3,%xmm7
 3018         movdqa  %xmm10,%xmm3
 3019 .byte   102,65,15,58,15,217,4
 3020         nop
 3021 .byte   69,15,56,203,229
 3022         pshufd  $0x0e,%xmm2,%xmm0
 3023         movdqa  224-128(%rbp),%xmm1
 3024         paddd   %xmm6,%xmm1
 3025 .byte   69,15,56,203,247
 3026 
 3027         movdqa  %xmm1,%xmm0
 3028         movdqa  224-128(%rbp),%xmm2
 3029         paddd   %xmm3,%xmm11
 3030         paddd   %xmm10,%xmm2
 3031 .byte   15,56,205,254
 3032         nop
 3033 .byte   69,15,56,203,236
 3034         movdqa  %xmm2,%xmm0
 3035         movl    $1,%ecx
 3036         pxor    %xmm6,%xmm6
 3037 .byte   69,15,56,203,254
 3038 .byte   69,15,56,205,218
 3039         pshufd  $0x0e,%xmm1,%xmm0
 3040         movdqa  240-128(%rbp),%xmm1
 3041         paddd   %xmm7,%xmm1
 3042         movq    (%rbx),%xmm7
 3043         nop
 3044 .byte   69,15,56,203,229
 3045         pshufd  $0x0e,%xmm2,%xmm0
 3046         movdqa  240-128(%rbp),%xmm2
 3047         paddd   %xmm11,%xmm2
 3048 .byte   69,15,56,203,247
 3049 
 3050         movdqa  %xmm1,%xmm0
 3051         cmpl    0(%rbx),%ecx
 3052         cmovgeq %rsp,%r8
 3053         cmpl    4(%rbx),%ecx
 3054         cmovgeq %rsp,%r9
 3055         pshufd  $0x00,%xmm7,%xmm9
 3056 .byte   69,15,56,203,236
 3057         movdqa  %xmm2,%xmm0
 3058         pshufd  $0x55,%xmm7,%xmm10
 3059         movdqa  %xmm7,%xmm11
 3060 .byte   69,15,56,203,254
 3061         pshufd  $0x0e,%xmm1,%xmm0
 3062         pcmpgtd %xmm6,%xmm9
 3063         pcmpgtd %xmm6,%xmm10
 3064 .byte   69,15,56,203,229
 3065         pshufd  $0x0e,%xmm2,%xmm0
 3066         pcmpgtd %xmm6,%xmm11
 3067         movdqa  K256_shaext-16(%rip),%xmm3
 3068 .byte   69,15,56,203,247
 3069 
 3070         pand    %xmm9,%xmm13
 3071         pand    %xmm10,%xmm15
 3072         pand    %xmm9,%xmm12
 3073         pand    %xmm10,%xmm14
 3074         paddd   %xmm7,%xmm11
 3075 
 3076         paddd   80(%rsp),%xmm13
 3077         paddd   112(%rsp),%xmm15
 3078         paddd   64(%rsp),%xmm12
 3079         paddd   96(%rsp),%xmm14
 3080 
 3081         movq    %xmm11,(%rbx)
 3082         decl    %edx
 3083         jnz     .Loop_shaext
 3084 
 3085         movl    280(%rsp),%edx
 3086 
 3087         pshufd  $27,%xmm12,%xmm12
 3088         pshufd  $27,%xmm13,%xmm13
 3089         pshufd  $27,%xmm14,%xmm14
 3090         pshufd  $27,%xmm15,%xmm15
 3091 
 3092         movdqa  %xmm12,%xmm5
 3093         movdqa  %xmm13,%xmm6
 3094         punpckldq       %xmm14,%xmm12
 3095         punpckhdq       %xmm14,%xmm5
 3096         punpckldq       %xmm15,%xmm13
 3097         punpckhdq       %xmm15,%xmm6
 3098 
 3099         movq    %xmm12,0-128(%rdi)
 3100         psrldq  $8,%xmm12
 3101         movq    %xmm5,128-128(%rdi)
 3102         psrldq  $8,%xmm5
 3103         movq    %xmm12,32-128(%rdi)
 3104         movq    %xmm5,160-128(%rdi)
 3105 
 3106         movq    %xmm13,64-128(%rdi)
 3107         psrldq  $8,%xmm13
 3108         movq    %xmm6,192-128(%rdi)
 3109         psrldq  $8,%xmm6
 3110         movq    %xmm13,96-128(%rdi)
 3111         movq    %xmm6,224-128(%rdi)
 3112 
 3113         leaq    8(%rdi),%rdi
 3114         leaq    32(%rsi),%rsi
 3115         decl    %edx
 3116         jnz     .Loop_grande_shaext
 3117 
 3118 .Ldone_shaext:
 3119 
 3120         movq    -16(%rax),%rbp
 3121 .cfi_restore    %rbp
 3122         movq    -8(%rax),%rbx
 3123 .cfi_restore    %rbx
 3124         leaq    (%rax),%rsp
 3125 .cfi_def_cfa_register   %rsp
 3126 .Lepilogue_shaext:
 3127         .byte   0xf3,0xc3
 3128 .cfi_endproc    
 3129 .size   sha256_multi_block_shaext,.-sha256_multi_block_shaext
 3130 .type   sha256_multi_block_avx,@function
 3131 .align  32
 3132 sha256_multi_block_avx:
 3133 .cfi_startproc  
 3134 _avx_shortcut:
 3135         shrq    $32,%rcx
 3136         cmpl    $2,%edx
 3137         jb      .Lavx
 3138         testl   $32,%ecx
 3139         jnz     _avx2_shortcut
 3140         jmp     .Lavx
 3141 .align  32
 3142 .Lavx:
 3143         movq    %rsp,%rax
 3144 .cfi_def_cfa_register   %rax
 3145         pushq   %rbx
 3146 .cfi_offset     %rbx,-16
 3147         pushq   %rbp
 3148 .cfi_offset     %rbp,-24
 3149         subq    $288,%rsp
 3150         andq    $-256,%rsp
 3151         movq    %rax,272(%rsp)
 3152 .cfi_escape     0x0f,0x06,0x77,0x90,0x02,0x06,0x23,0x08
 3153 .Lbody_avx:
 3154         leaq    K256+128(%rip),%rbp
 3155         leaq    256(%rsp),%rbx
 3156         leaq    128(%rdi),%rdi
 3157 
 3158 .Loop_grande_avx:
 3159         movl    %edx,280(%rsp)
 3160         xorl    %edx,%edx
 3161         movq    0(%rsi),%r8
 3162         movl    8(%rsi),%ecx
 3163         cmpl    %edx,%ecx
 3164         cmovgl  %ecx,%edx
 3165         testl   %ecx,%ecx
 3166         movl    %ecx,0(%rbx)
 3167         cmovleq %rbp,%r8
 3168         movq    16(%rsi),%r9
 3169         movl    24(%rsi),%ecx
 3170         cmpl    %edx,%ecx
 3171         cmovgl  %ecx,%edx
 3172         testl   %ecx,%ecx
 3173         movl    %ecx,4(%rbx)
 3174         cmovleq %rbp,%r9
 3175         movq    32(%rsi),%r10
 3176         movl    40(%rsi),%ecx
 3177         cmpl    %edx,%ecx
 3178         cmovgl  %ecx,%edx
 3179         testl   %ecx,%ecx
 3180         movl    %ecx,8(%rbx)
 3181         cmovleq %rbp,%r10
 3182         movq    48(%rsi),%r11
 3183         movl    56(%rsi),%ecx
 3184         cmpl    %edx,%ecx
 3185         cmovgl  %ecx,%edx
 3186         testl   %ecx,%ecx
 3187         movl    %ecx,12(%rbx)
 3188         cmovleq %rbp,%r11
 3189         testl   %edx,%edx
 3190         jz      .Ldone_avx
 3191 
 3192         vmovdqu 0-128(%rdi),%xmm8
 3193         leaq    128(%rsp),%rax
 3194         vmovdqu 32-128(%rdi),%xmm9
 3195         vmovdqu 64-128(%rdi),%xmm10
 3196         vmovdqu 96-128(%rdi),%xmm11
 3197         vmovdqu 128-128(%rdi),%xmm12
 3198         vmovdqu 160-128(%rdi),%xmm13
 3199         vmovdqu 192-128(%rdi),%xmm14
 3200         vmovdqu 224-128(%rdi),%xmm15
 3201         vmovdqu .Lpbswap(%rip),%xmm6
 3202         jmp     .Loop_avx
 3203 
 3204 .align  32
 3205 .Loop_avx:
 3206         vpxor   %xmm9,%xmm10,%xmm4
 3207         vmovd   0(%r8),%xmm5
 3208         vmovd   0(%r9),%xmm0
 3209         vpinsrd $1,0(%r10),%xmm5,%xmm5
 3210         vpinsrd $1,0(%r11),%xmm0,%xmm0
 3211         vpunpckldq      %xmm0,%xmm5,%xmm5
 3212         vpshufb %xmm6,%xmm5,%xmm5
 3213         vpsrld  $6,%xmm12,%xmm7
 3214         vpslld  $26,%xmm12,%xmm2
 3215         vmovdqu %xmm5,0-128(%rax)
 3216         vpaddd  %xmm15,%xmm5,%xmm5
 3217 
 3218         vpsrld  $11,%xmm12,%xmm1
 3219         vpxor   %xmm2,%xmm7,%xmm7
 3220         vpslld  $21,%xmm12,%xmm2
 3221         vpaddd  -128(%rbp),%xmm5,%xmm5
 3222         vpxor   %xmm1,%xmm7,%xmm7
 3223 
 3224         vpsrld  $25,%xmm12,%xmm1
 3225         vpxor   %xmm2,%xmm7,%xmm7
 3226 
 3227         vpslld  $7,%xmm12,%xmm2
 3228         vpandn  %xmm14,%xmm12,%xmm0
 3229         vpand   %xmm13,%xmm12,%xmm3
 3230 
 3231         vpxor   %xmm1,%xmm7,%xmm7
 3232 
 3233         vpsrld  $2,%xmm8,%xmm15
 3234         vpxor   %xmm2,%xmm7,%xmm7
 3235 
 3236         vpslld  $30,%xmm8,%xmm1
 3237         vpxor   %xmm3,%xmm0,%xmm0
 3238         vpxor   %xmm8,%xmm9,%xmm3
 3239 
 3240         vpxor   %xmm1,%xmm15,%xmm15
 3241         vpaddd  %xmm7,%xmm5,%xmm5
 3242 
 3243         vpsrld  $13,%xmm8,%xmm1
 3244 
 3245         vpslld  $19,%xmm8,%xmm2
 3246         vpaddd  %xmm0,%xmm5,%xmm5
 3247         vpand   %xmm3,%xmm4,%xmm4
 3248 
 3249         vpxor   %xmm1,%xmm15,%xmm7
 3250 
 3251         vpsrld  $22,%xmm8,%xmm1
 3252         vpxor   %xmm2,%xmm7,%xmm7
 3253 
 3254         vpslld  $10,%xmm8,%xmm2
 3255         vpxor   %xmm4,%xmm9,%xmm15
 3256         vpaddd  %xmm5,%xmm11,%xmm11
 3257 
 3258         vpxor   %xmm1,%xmm7,%xmm7
 3259         vpxor   %xmm2,%xmm7,%xmm7
 3260 
 3261         vpaddd  %xmm5,%xmm15,%xmm15
 3262         vpaddd  %xmm7,%xmm15,%xmm15
 3263         vmovd   4(%r8),%xmm5
 3264         vmovd   4(%r9),%xmm0
 3265         vpinsrd $1,4(%r10),%xmm5,%xmm5
 3266         vpinsrd $1,4(%r11),%xmm0,%xmm0
 3267         vpunpckldq      %xmm0,%xmm5,%xmm5
 3268         vpshufb %xmm6,%xmm5,%xmm5
 3269         vpsrld  $6,%xmm11,%xmm7
 3270         vpslld  $26,%xmm11,%xmm2
 3271         vmovdqu %xmm5,16-128(%rax)
 3272         vpaddd  %xmm14,%xmm5,%xmm5
 3273 
 3274         vpsrld  $11,%xmm11,%xmm1
 3275         vpxor   %xmm2,%xmm7,%xmm7
 3276         vpslld  $21,%xmm11,%xmm2
 3277         vpaddd  -96(%rbp),%xmm5,%xmm5
 3278         vpxor   %xmm1,%xmm7,%xmm7
 3279 
 3280         vpsrld  $25,%xmm11,%xmm1
 3281         vpxor   %xmm2,%xmm7,%xmm7
 3282 
 3283         vpslld  $7,%xmm11,%xmm2
 3284         vpandn  %xmm13,%xmm11,%xmm0
 3285         vpand   %xmm12,%xmm11,%xmm4
 3286 
 3287         vpxor   %xmm1,%xmm7,%xmm7
 3288 
 3289         vpsrld  $2,%xmm15,%xmm14
 3290         vpxor   %xmm2,%xmm7,%xmm7
 3291 
 3292         vpslld  $30,%xmm15,%xmm1
 3293         vpxor   %xmm4,%xmm0,%xmm0
 3294         vpxor   %xmm15,%xmm8,%xmm4
 3295 
 3296         vpxor   %xmm1,%xmm14,%xmm14
 3297         vpaddd  %xmm7,%xmm5,%xmm5
 3298 
 3299         vpsrld  $13,%xmm15,%xmm1
 3300 
 3301         vpslld  $19,%xmm15,%xmm2
 3302         vpaddd  %xmm0,%xmm5,%xmm5
 3303         vpand   %xmm4,%xmm3,%xmm3
 3304 
 3305         vpxor   %xmm1,%xmm14,%xmm7
 3306 
 3307         vpsrld  $22,%xmm15,%xmm1
 3308         vpxor   %xmm2,%xmm7,%xmm7
 3309 
 3310         vpslld  $10,%xmm15,%xmm2
 3311         vpxor   %xmm3,%xmm8,%xmm14
 3312         vpaddd  %xmm5,%xmm10,%xmm10
 3313 
 3314         vpxor   %xmm1,%xmm7,%xmm7
 3315         vpxor   %xmm2,%xmm7,%xmm7
 3316 
 3317         vpaddd  %xmm5,%xmm14,%xmm14
 3318         vpaddd  %xmm7,%xmm14,%xmm14
 3319         vmovd   8(%r8),%xmm5
 3320         vmovd   8(%r9),%xmm0
 3321         vpinsrd $1,8(%r10),%xmm5,%xmm5
 3322         vpinsrd $1,8(%r11),%xmm0,%xmm0
 3323         vpunpckldq      %xmm0,%xmm5,%xmm5
 3324         vpshufb %xmm6,%xmm5,%xmm5
 3325         vpsrld  $6,%xmm10,%xmm7
 3326         vpslld  $26,%xmm10,%xmm2
 3327         vmovdqu %xmm5,32-128(%rax)
 3328         vpaddd  %xmm13,%xmm5,%xmm5
 3329 
 3330         vpsrld  $11,%xmm10,%xmm1
 3331         vpxor   %xmm2,%xmm7,%xmm7
 3332         vpslld  $21,%xmm10,%xmm2
 3333         vpaddd  -64(%rbp),%xmm5,%xmm5
 3334         vpxor   %xmm1,%xmm7,%xmm7
 3335 
 3336         vpsrld  $25,%xmm10,%xmm1
 3337         vpxor   %xmm2,%xmm7,%xmm7
 3338 
 3339         vpslld  $7,%xmm10,%xmm2
 3340         vpandn  %xmm12,%xmm10,%xmm0
 3341         vpand   %xmm11,%xmm10,%xmm3
 3342 
 3343         vpxor   %xmm1,%xmm7,%xmm7
 3344 
 3345         vpsrld  $2,%xmm14,%xmm13
 3346         vpxor   %xmm2,%xmm7,%xmm7
 3347 
 3348         vpslld  $30,%xmm14,%xmm1
 3349         vpxor   %xmm3,%xmm0,%xmm0
 3350         vpxor   %xmm14,%xmm15,%xmm3
 3351 
 3352         vpxor   %xmm1,%xmm13,%xmm13
 3353         vpaddd  %xmm7,%xmm5,%xmm5
 3354 
 3355         vpsrld  $13,%xmm14,%xmm1
 3356 
 3357         vpslld  $19,%xmm14,%xmm2
 3358         vpaddd  %xmm0,%xmm5,%xmm5
 3359         vpand   %xmm3,%xmm4,%xmm4
 3360 
 3361         vpxor   %xmm1,%xmm13,%xmm7
 3362 
 3363         vpsrld  $22,%xmm14,%xmm1
 3364         vpxor   %xmm2,%xmm7,%xmm7
 3365 
 3366         vpslld  $10,%xmm14,%xmm2
 3367         vpxor   %xmm4,%xmm15,%xmm13
 3368         vpaddd  %xmm5,%xmm9,%xmm9
 3369 
 3370         vpxor   %xmm1,%xmm7,%xmm7
 3371         vpxor   %xmm2,%xmm7,%xmm7
 3372 
 3373         vpaddd  %xmm5,%xmm13,%xmm13
 3374         vpaddd  %xmm7,%xmm13,%xmm13
 3375         vmovd   12(%r8),%xmm5
 3376         vmovd   12(%r9),%xmm0
 3377         vpinsrd $1,12(%r10),%xmm5,%xmm5
 3378         vpinsrd $1,12(%r11),%xmm0,%xmm0
 3379         vpunpckldq      %xmm0,%xmm5,%xmm5
 3380         vpshufb %xmm6,%xmm5,%xmm5
 3381         vpsrld  $6,%xmm9,%xmm7
 3382         vpslld  $26,%xmm9,%xmm2
 3383         vmovdqu %xmm5,48-128(%rax)
 3384         vpaddd  %xmm12,%xmm5,%xmm5
 3385 
 3386         vpsrld  $11,%xmm9,%xmm1
 3387         vpxor   %xmm2,%xmm7,%xmm7
 3388         vpslld  $21,%xmm9,%xmm2
 3389         vpaddd  -32(%rbp),%xmm5,%xmm5
 3390         vpxor   %xmm1,%xmm7,%xmm7
 3391 
 3392         vpsrld  $25,%xmm9,%xmm1
 3393         vpxor   %xmm2,%xmm7,%xmm7
 3394 
 3395         vpslld  $7,%xmm9,%xmm2
 3396         vpandn  %xmm11,%xmm9,%xmm0
 3397         vpand   %xmm10,%xmm9,%xmm4
 3398 
 3399         vpxor   %xmm1,%xmm7,%xmm7
 3400 
 3401         vpsrld  $2,%xmm13,%xmm12
 3402         vpxor   %xmm2,%xmm7,%xmm7
 3403 
 3404         vpslld  $30,%xmm13,%xmm1
 3405         vpxor   %xmm4,%xmm0,%xmm0
 3406         vpxor   %xmm13,%xmm14,%xmm4
 3407 
 3408         vpxor   %xmm1,%xmm12,%xmm12
 3409         vpaddd  %xmm7,%xmm5,%xmm5
 3410 
 3411         vpsrld  $13,%xmm13,%xmm1
 3412 
 3413         vpslld  $19,%xmm13,%xmm2
 3414         vpaddd  %xmm0,%xmm5,%xmm5
 3415         vpand   %xmm4,%xmm3,%xmm3
 3416 
 3417         vpxor   %xmm1,%xmm12,%xmm7
 3418 
 3419         vpsrld  $22,%xmm13,%xmm1
 3420         vpxor   %xmm2,%xmm7,%xmm7
 3421 
 3422         vpslld  $10,%xmm13,%xmm2
 3423         vpxor   %xmm3,%xmm14,%xmm12
 3424         vpaddd  %xmm5,%xmm8,%xmm8
 3425 
 3426         vpxor   %xmm1,%xmm7,%xmm7
 3427         vpxor   %xmm2,%xmm7,%xmm7
 3428 
 3429         vpaddd  %xmm5,%xmm12,%xmm12
 3430         vpaddd  %xmm7,%xmm12,%xmm12
 3431         vmovd   16(%r8),%xmm5
 3432         vmovd   16(%r9),%xmm0
 3433         vpinsrd $1,16(%r10),%xmm5,%xmm5
 3434         vpinsrd $1,16(%r11),%xmm0,%xmm0
 3435         vpunpckldq      %xmm0,%xmm5,%xmm5
 3436         vpshufb %xmm6,%xmm5,%xmm5
 3437         vpsrld  $6,%xmm8,%xmm7
 3438         vpslld  $26,%xmm8,%xmm2
 3439         vmovdqu %xmm5,64-128(%rax)
 3440         vpaddd  %xmm11,%xmm5,%xmm5
 3441 
 3442         vpsrld  $11,%xmm8,%xmm1
 3443         vpxor   %xmm2,%xmm7,%xmm7
 3444         vpslld  $21,%xmm8,%xmm2
 3445         vpaddd  0(%rbp),%xmm5,%xmm5
 3446         vpxor   %xmm1,%xmm7,%xmm7
 3447 
 3448         vpsrld  $25,%xmm8,%xmm1
 3449         vpxor   %xmm2,%xmm7,%xmm7
 3450 
 3451         vpslld  $7,%xmm8,%xmm2
 3452         vpandn  %xmm10,%xmm8,%xmm0
 3453         vpand   %xmm9,%xmm8,%xmm3
 3454 
 3455         vpxor   %xmm1,%xmm7,%xmm7
 3456 
 3457         vpsrld  $2,%xmm12,%xmm11
 3458         vpxor   %xmm2,%xmm7,%xmm7
 3459 
 3460         vpslld  $30,%xmm12,%xmm1
 3461         vpxor   %xmm3,%xmm0,%xmm0
 3462         vpxor   %xmm12,%xmm13,%xmm3
 3463 
 3464         vpxor   %xmm1,%xmm11,%xmm11
 3465         vpaddd  %xmm7,%xmm5,%xmm5
 3466 
 3467         vpsrld  $13,%xmm12,%xmm1
 3468 
 3469         vpslld  $19,%xmm12,%xmm2
 3470         vpaddd  %xmm0,%xmm5,%xmm5
 3471         vpand   %xmm3,%xmm4,%xmm4
 3472 
 3473         vpxor   %xmm1,%xmm11,%xmm7
 3474 
 3475         vpsrld  $22,%xmm12,%xmm1
 3476         vpxor   %xmm2,%xmm7,%xmm7
 3477 
 3478         vpslld  $10,%xmm12,%xmm2
 3479         vpxor   %xmm4,%xmm13,%xmm11
 3480         vpaddd  %xmm5,%xmm15,%xmm15
 3481 
 3482         vpxor   %xmm1,%xmm7,%xmm7
 3483         vpxor   %xmm2,%xmm7,%xmm7
 3484 
 3485         vpaddd  %xmm5,%xmm11,%xmm11
 3486         vpaddd  %xmm7,%xmm11,%xmm11
 3487         vmovd   20(%r8),%xmm5
 3488         vmovd   20(%r9),%xmm0
 3489         vpinsrd $1,20(%r10),%xmm5,%xmm5
 3490         vpinsrd $1,20(%r11),%xmm0,%xmm0
 3491         vpunpckldq      %xmm0,%xmm5,%xmm5
 3492         vpshufb %xmm6,%xmm5,%xmm5
 3493         vpsrld  $6,%xmm15,%xmm7
 3494         vpslld  $26,%xmm15,%xmm2
 3495         vmovdqu %xmm5,80-128(%rax)
 3496         vpaddd  %xmm10,%xmm5,%xmm5
 3497 
 3498         vpsrld  $11,%xmm15,%xmm1
 3499         vpxor   %xmm2,%xmm7,%xmm7
 3500         vpslld  $21,%xmm15,%xmm2
 3501         vpaddd  32(%rbp),%xmm5,%xmm5
 3502         vpxor   %xmm1,%xmm7,%xmm7
 3503 
 3504         vpsrld  $25,%xmm15,%xmm1
 3505         vpxor   %xmm2,%xmm7,%xmm7
 3506 
 3507         vpslld  $7,%xmm15,%xmm2
 3508         vpandn  %xmm9,%xmm15,%xmm0
 3509         vpand   %xmm8,%xmm15,%xmm4
 3510 
 3511         vpxor   %xmm1,%xmm7,%xmm7
 3512 
 3513         vpsrld  $2,%xmm11,%xmm10
 3514         vpxor   %xmm2,%xmm7,%xmm7
 3515 
 3516         vpslld  $30,%xmm11,%xmm1
 3517         vpxor   %xmm4,%xmm0,%xmm0
 3518         vpxor   %xmm11,%xmm12,%xmm4
 3519 
 3520         vpxor   %xmm1,%xmm10,%xmm10
 3521         vpaddd  %xmm7,%xmm5,%xmm5
 3522 
 3523         vpsrld  $13,%xmm11,%xmm1
 3524 
 3525         vpslld  $19,%xmm11,%xmm2
 3526         vpaddd  %xmm0,%xmm5,%xmm5
 3527         vpand   %xmm4,%xmm3,%xmm3
 3528 
 3529         vpxor   %xmm1,%xmm10,%xmm7
 3530 
 3531         vpsrld  $22,%xmm11,%xmm1
 3532         vpxor   %xmm2,%xmm7,%xmm7
 3533 
 3534         vpslld  $10,%xmm11,%xmm2
 3535         vpxor   %xmm3,%xmm12,%xmm10
 3536         vpaddd  %xmm5,%xmm14,%xmm14
 3537 
 3538         vpxor   %xmm1,%xmm7,%xmm7
 3539         vpxor   %xmm2,%xmm7,%xmm7
 3540 
 3541         vpaddd  %xmm5,%xmm10,%xmm10
 3542         vpaddd  %xmm7,%xmm10,%xmm10
 3543         vmovd   24(%r8),%xmm5
 3544         vmovd   24(%r9),%xmm0
 3545         vpinsrd $1,24(%r10),%xmm5,%xmm5
 3546         vpinsrd $1,24(%r11),%xmm0,%xmm0
 3547         vpunpckldq      %xmm0,%xmm5,%xmm5
 3548         vpshufb %xmm6,%xmm5,%xmm5
 3549         vpsrld  $6,%xmm14,%xmm7
 3550         vpslld  $26,%xmm14,%xmm2
 3551         vmovdqu %xmm5,96-128(%rax)
 3552         vpaddd  %xmm9,%xmm5,%xmm5
 3553 
 3554         vpsrld  $11,%xmm14,%xmm1
 3555         vpxor   %xmm2,%xmm7,%xmm7
 3556         vpslld  $21,%xmm14,%xmm2
 3557         vpaddd  64(%rbp),%xmm5,%xmm5
 3558         vpxor   %xmm1,%xmm7,%xmm7
 3559 
 3560         vpsrld  $25,%xmm14,%xmm1
 3561         vpxor   %xmm2,%xmm7,%xmm7
 3562 
 3563         vpslld  $7,%xmm14,%xmm2
 3564         vpandn  %xmm8,%xmm14,%xmm0
 3565         vpand   %xmm15,%xmm14,%xmm3
 3566 
 3567         vpxor   %xmm1,%xmm7,%xmm7
 3568 
 3569         vpsrld  $2,%xmm10,%xmm9
 3570         vpxor   %xmm2,%xmm7,%xmm7
 3571 
 3572         vpslld  $30,%xmm10,%xmm1
 3573         vpxor   %xmm3,%xmm0,%xmm0
 3574         vpxor   %xmm10,%xmm11,%xmm3
 3575 
 3576         vpxor   %xmm1,%xmm9,%xmm9
 3577         vpaddd  %xmm7,%xmm5,%xmm5
 3578 
 3579         vpsrld  $13,%xmm10,%xmm1
 3580 
 3581         vpslld  $19,%xmm10,%xmm2
 3582         vpaddd  %xmm0,%xmm5,%xmm5
 3583         vpand   %xmm3,%xmm4,%xmm4
 3584 
 3585         vpxor   %xmm1,%xmm9,%xmm7
 3586 
 3587         vpsrld  $22,%xmm10,%xmm1
 3588         vpxor   %xmm2,%xmm7,%xmm7
 3589 
 3590         vpslld  $10,%xmm10,%xmm2
 3591         vpxor   %xmm4,%xmm11,%xmm9
 3592         vpaddd  %xmm5,%xmm13,%xmm13
 3593 
 3594         vpxor   %xmm1,%xmm7,%xmm7
 3595         vpxor   %xmm2,%xmm7,%xmm7
 3596 
 3597         vpaddd  %xmm5,%xmm9,%xmm9
 3598         vpaddd  %xmm7,%xmm9,%xmm9
 3599         vmovd   28(%r8),%xmm5
 3600         vmovd   28(%r9),%xmm0
 3601         vpinsrd $1,28(%r10),%xmm5,%xmm5
 3602         vpinsrd $1,28(%r11),%xmm0,%xmm0
 3603         vpunpckldq      %xmm0,%xmm5,%xmm5
 3604         vpshufb %xmm6,%xmm5,%xmm5
 3605         vpsrld  $6,%xmm13,%xmm7
 3606         vpslld  $26,%xmm13,%xmm2
 3607         vmovdqu %xmm5,112-128(%rax)
 3608         vpaddd  %xmm8,%xmm5,%xmm5
 3609 
 3610         vpsrld  $11,%xmm13,%xmm1
 3611         vpxor   %xmm2,%xmm7,%xmm7
 3612         vpslld  $21,%xmm13,%xmm2
 3613         vpaddd  96(%rbp),%xmm5,%xmm5
 3614         vpxor   %xmm1,%xmm7,%xmm7
 3615 
 3616         vpsrld  $25,%xmm13,%xmm1
 3617         vpxor   %xmm2,%xmm7,%xmm7
 3618 
 3619         vpslld  $7,%xmm13,%xmm2
 3620         vpandn  %xmm15,%xmm13,%xmm0
 3621         vpand   %xmm14,%xmm13,%xmm4
 3622 
 3623         vpxor   %xmm1,%xmm7,%xmm7
 3624 
 3625         vpsrld  $2,%xmm9,%xmm8
 3626         vpxor   %xmm2,%xmm7,%xmm7
 3627 
 3628         vpslld  $30,%xmm9,%xmm1
 3629         vpxor   %xmm4,%xmm0,%xmm0
 3630         vpxor   %xmm9,%xmm10,%xmm4
 3631 
 3632         vpxor   %xmm1,%xmm8,%xmm8
 3633         vpaddd  %xmm7,%xmm5,%xmm5
 3634 
 3635         vpsrld  $13,%xmm9,%xmm1
 3636 
 3637         vpslld  $19,%xmm9,%xmm2
 3638         vpaddd  %xmm0,%xmm5,%xmm5
 3639         vpand   %xmm4,%xmm3,%xmm3
 3640 
 3641         vpxor   %xmm1,%xmm8,%xmm7
 3642 
 3643         vpsrld  $22,%xmm9,%xmm1
 3644         vpxor   %xmm2,%xmm7,%xmm7
 3645 
 3646         vpslld  $10,%xmm9,%xmm2
 3647         vpxor   %xmm3,%xmm10,%xmm8
 3648         vpaddd  %xmm5,%xmm12,%xmm12
 3649 
 3650         vpxor   %xmm1,%xmm7,%xmm7
 3651         vpxor   %xmm2,%xmm7,%xmm7
 3652 
 3653         vpaddd  %xmm5,%xmm8,%xmm8
 3654         vpaddd  %xmm7,%xmm8,%xmm8
 3655         addq    $256,%rbp
 3656         vmovd   32(%r8),%xmm5
 3657         vmovd   32(%r9),%xmm0
 3658         vpinsrd $1,32(%r10),%xmm5,%xmm5
 3659         vpinsrd $1,32(%r11),%xmm0,%xmm0
 3660         vpunpckldq      %xmm0,%xmm5,%xmm5
 3661         vpshufb %xmm6,%xmm5,%xmm5
 3662         vpsrld  $6,%xmm12,%xmm7
 3663         vpslld  $26,%xmm12,%xmm2
 3664         vmovdqu %xmm5,128-128(%rax)
 3665         vpaddd  %xmm15,%xmm5,%xmm5
 3666 
 3667         vpsrld  $11,%xmm12,%xmm1
 3668         vpxor   %xmm2,%xmm7,%xmm7
 3669         vpslld  $21,%xmm12,%xmm2
 3670         vpaddd  -128(%rbp),%xmm5,%xmm5
 3671         vpxor   %xmm1,%xmm7,%xmm7
 3672 
 3673         vpsrld  $25,%xmm12,%xmm1
 3674         vpxor   %xmm2,%xmm7,%xmm7
 3675 
 3676         vpslld  $7,%xmm12,%xmm2
 3677         vpandn  %xmm14,%xmm12,%xmm0
 3678         vpand   %xmm13,%xmm12,%xmm3
 3679 
 3680         vpxor   %xmm1,%xmm7,%xmm7
 3681 
 3682         vpsrld  $2,%xmm8,%xmm15
 3683         vpxor   %xmm2,%xmm7,%xmm7
 3684 
 3685         vpslld  $30,%xmm8,%xmm1
 3686         vpxor   %xmm3,%xmm0,%xmm0
 3687         vpxor   %xmm8,%xmm9,%xmm3
 3688 
 3689         vpxor   %xmm1,%xmm15,%xmm15
 3690         vpaddd  %xmm7,%xmm5,%xmm5
 3691 
 3692         vpsrld  $13,%xmm8,%xmm1
 3693 
 3694         vpslld  $19,%xmm8,%xmm2
 3695         vpaddd  %xmm0,%xmm5,%xmm5
 3696         vpand   %xmm3,%xmm4,%xmm4
 3697 
 3698         vpxor   %xmm1,%xmm15,%xmm7
 3699 
 3700         vpsrld  $22,%xmm8,%xmm1
 3701         vpxor   %xmm2,%xmm7,%xmm7
 3702 
 3703         vpslld  $10,%xmm8,%xmm2
 3704         vpxor   %xmm4,%xmm9,%xmm15
 3705         vpaddd  %xmm5,%xmm11,%xmm11
 3706 
 3707         vpxor   %xmm1,%xmm7,%xmm7
 3708         vpxor   %xmm2,%xmm7,%xmm7
 3709 
 3710         vpaddd  %xmm5,%xmm15,%xmm15
 3711         vpaddd  %xmm7,%xmm15,%xmm15
 3712         vmovd   36(%r8),%xmm5
 3713         vmovd   36(%r9),%xmm0
 3714         vpinsrd $1,36(%r10),%xmm5,%xmm5
 3715         vpinsrd $1,36(%r11),%xmm0,%xmm0
 3716         vpunpckldq      %xmm0,%xmm5,%xmm5
 3717         vpshufb %xmm6,%xmm5,%xmm5
 3718         vpsrld  $6,%xmm11,%xmm7
 3719         vpslld  $26,%xmm11,%xmm2
 3720         vmovdqu %xmm5,144-128(%rax)
 3721         vpaddd  %xmm14,%xmm5,%xmm5
 3722 
 3723         vpsrld  $11,%xmm11,%xmm1
 3724         vpxor   %xmm2,%xmm7,%xmm7
 3725         vpslld  $21,%xmm11,%xmm2
 3726         vpaddd  -96(%rbp),%xmm5,%xmm5
 3727         vpxor   %xmm1,%xmm7,%xmm7
 3728 
 3729         vpsrld  $25,%xmm11,%xmm1
 3730         vpxor   %xmm2,%xmm7,%xmm7
 3731 
 3732         vpslld  $7,%xmm11,%xmm2
 3733         vpandn  %xmm13,%xmm11,%xmm0
 3734         vpand   %xmm12,%xmm11,%xmm4
 3735 
 3736         vpxor   %xmm1,%xmm7,%xmm7
 3737 
 3738         vpsrld  $2,%xmm15,%xmm14
 3739         vpxor   %xmm2,%xmm7,%xmm7
 3740 
 3741         vpslld  $30,%xmm15,%xmm1
 3742         vpxor   %xmm4,%xmm0,%xmm0
 3743         vpxor   %xmm15,%xmm8,%xmm4
 3744 
 3745         vpxor   %xmm1,%xmm14,%xmm14
 3746         vpaddd  %xmm7,%xmm5,%xmm5
 3747 
 3748         vpsrld  $13,%xmm15,%xmm1
 3749 
 3750         vpslld  $19,%xmm15,%xmm2
 3751         vpaddd  %xmm0,%xmm5,%xmm5
 3752         vpand   %xmm4,%xmm3,%xmm3
 3753 
 3754         vpxor   %xmm1,%xmm14,%xmm7
 3755 
 3756         vpsrld  $22,%xmm15,%xmm1
 3757         vpxor   %xmm2,%xmm7,%xmm7
 3758 
 3759         vpslld  $10,%xmm15,%xmm2
 3760         vpxor   %xmm3,%xmm8,%xmm14
 3761         vpaddd  %xmm5,%xmm10,%xmm10
 3762 
 3763         vpxor   %xmm1,%xmm7,%xmm7
 3764         vpxor   %xmm2,%xmm7,%xmm7
 3765 
 3766         vpaddd  %xmm5,%xmm14,%xmm14
 3767         vpaddd  %xmm7,%xmm14,%xmm14
 3768         vmovd   40(%r8),%xmm5
 3769         vmovd   40(%r9),%xmm0
 3770         vpinsrd $1,40(%r10),%xmm5,%xmm5
 3771         vpinsrd $1,40(%r11),%xmm0,%xmm0
 3772         vpunpckldq      %xmm0,%xmm5,%xmm5
 3773         vpshufb %xmm6,%xmm5,%xmm5
 3774         vpsrld  $6,%xmm10,%xmm7
 3775         vpslld  $26,%xmm10,%xmm2
 3776         vmovdqu %xmm5,160-128(%rax)
 3777         vpaddd  %xmm13,%xmm5,%xmm5
 3778 
 3779         vpsrld  $11,%xmm10,%xmm1
 3780         vpxor   %xmm2,%xmm7,%xmm7
 3781         vpslld  $21,%xmm10,%xmm2
 3782         vpaddd  -64(%rbp),%xmm5,%xmm5
 3783         vpxor   %xmm1,%xmm7,%xmm7
 3784 
 3785         vpsrld  $25,%xmm10,%xmm1
 3786         vpxor   %xmm2,%xmm7,%xmm7
 3787 
 3788         vpslld  $7,%xmm10,%xmm2
 3789         vpandn  %xmm12,%xmm10,%xmm0
 3790         vpand   %xmm11,%xmm10,%xmm3
 3791 
 3792         vpxor   %xmm1,%xmm7,%xmm7
 3793 
 3794         vpsrld  $2,%xmm14,%xmm13
 3795         vpxor   %xmm2,%xmm7,%xmm7
 3796 
 3797         vpslld  $30,%xmm14,%xmm1
 3798         vpxor   %xmm3,%xmm0,%xmm0
 3799         vpxor   %xmm14,%xmm15,%xmm3
 3800 
 3801         vpxor   %xmm1,%xmm13,%xmm13
 3802         vpaddd  %xmm7,%xmm5,%xmm5
 3803 
 3804         vpsrld  $13,%xmm14,%xmm1
 3805 
 3806         vpslld  $19,%xmm14,%xmm2
 3807         vpaddd  %xmm0,%xmm5,%xmm5
 3808         vpand   %xmm3,%xmm4,%xmm4
 3809 
 3810         vpxor   %xmm1,%xmm13,%xmm7
 3811 
 3812         vpsrld  $22,%xmm14,%xmm1
 3813         vpxor   %xmm2,%xmm7,%xmm7
 3814 
 3815         vpslld  $10,%xmm14,%xmm2
 3816         vpxor   %xmm4,%xmm15,%xmm13
 3817         vpaddd  %xmm5,%xmm9,%xmm9
 3818 
 3819         vpxor   %xmm1,%xmm7,%xmm7
 3820         vpxor   %xmm2,%xmm7,%xmm7
 3821 
 3822         vpaddd  %xmm5,%xmm13,%xmm13
 3823         vpaddd  %xmm7,%xmm13,%xmm13
 3824         vmovd   44(%r8),%xmm5
 3825         vmovd   44(%r9),%xmm0
 3826         vpinsrd $1,44(%r10),%xmm5,%xmm5
 3827         vpinsrd $1,44(%r11),%xmm0,%xmm0
 3828         vpunpckldq      %xmm0,%xmm5,%xmm5
 3829         vpshufb %xmm6,%xmm5,%xmm5
 3830         vpsrld  $6,%xmm9,%xmm7
 3831         vpslld  $26,%xmm9,%xmm2
 3832         vmovdqu %xmm5,176-128(%rax)
 3833         vpaddd  %xmm12,%xmm5,%xmm5
 3834 
 3835         vpsrld  $11,%xmm9,%xmm1
 3836         vpxor   %xmm2,%xmm7,%xmm7
 3837         vpslld  $21,%xmm9,%xmm2
 3838         vpaddd  -32(%rbp),%xmm5,%xmm5
 3839         vpxor   %xmm1,%xmm7,%xmm7
 3840 
 3841         vpsrld  $25,%xmm9,%xmm1
 3842         vpxor   %xmm2,%xmm7,%xmm7
 3843 
 3844         vpslld  $7,%xmm9,%xmm2
 3845         vpandn  %xmm11,%xmm9,%xmm0
 3846         vpand   %xmm10,%xmm9,%xmm4
 3847 
 3848         vpxor   %xmm1,%xmm7,%xmm7
 3849 
 3850         vpsrld  $2,%xmm13,%xmm12
 3851         vpxor   %xmm2,%xmm7,%xmm7
 3852 
 3853         vpslld  $30,%xmm13,%xmm1
 3854         vpxor   %xmm4,%xmm0,%xmm0
 3855         vpxor   %xmm13,%xmm14,%xmm4
 3856 
 3857         vpxor   %xmm1,%xmm12,%xmm12
 3858         vpaddd  %xmm7,%xmm5,%xmm5
 3859 
 3860         vpsrld  $13,%xmm13,%xmm1
 3861 
 3862         vpslld  $19,%xmm13,%xmm2
 3863         vpaddd  %xmm0,%xmm5,%xmm5
 3864         vpand   %xmm4,%xmm3,%xmm3
 3865 
 3866         vpxor   %xmm1,%xmm12,%xmm7
 3867 
 3868         vpsrld  $22,%xmm13,%xmm1
 3869         vpxor   %xmm2,%xmm7,%xmm7
 3870 
 3871         vpslld  $10,%xmm13,%xmm2
 3872         vpxor   %xmm3,%xmm14,%xmm12
 3873         vpaddd  %xmm5,%xmm8,%xmm8
 3874 
 3875         vpxor   %xmm1,%xmm7,%xmm7
 3876         vpxor   %xmm2,%xmm7,%xmm7
 3877 
 3878         vpaddd  %xmm5,%xmm12,%xmm12
 3879         vpaddd  %xmm7,%xmm12,%xmm12
 3880         vmovd   48(%r8),%xmm5
 3881         vmovd   48(%r9),%xmm0
 3882         vpinsrd $1,48(%r10),%xmm5,%xmm5
 3883         vpinsrd $1,48(%r11),%xmm0,%xmm0
 3884         vpunpckldq      %xmm0,%xmm5,%xmm5
 3885         vpshufb %xmm6,%xmm5,%xmm5
 3886         vpsrld  $6,%xmm8,%xmm7
 3887         vpslld  $26,%xmm8,%xmm2
 3888         vmovdqu %xmm5,192-128(%rax)
 3889         vpaddd  %xmm11,%xmm5,%xmm5
 3890 
 3891         vpsrld  $11,%xmm8,%xmm1
 3892         vpxor   %xmm2,%xmm7,%xmm7
 3893         vpslld  $21,%xmm8,%xmm2
 3894         vpaddd  0(%rbp),%xmm5,%xmm5
 3895         vpxor   %xmm1,%xmm7,%xmm7
 3896 
 3897         vpsrld  $25,%xmm8,%xmm1
 3898         vpxor   %xmm2,%xmm7,%xmm7
 3899 
 3900         vpslld  $7,%xmm8,%xmm2
 3901         vpandn  %xmm10,%xmm8,%xmm0
 3902         vpand   %xmm9,%xmm8,%xmm3
 3903 
 3904         vpxor   %xmm1,%xmm7,%xmm7
 3905 
 3906         vpsrld  $2,%xmm12,%xmm11
 3907         vpxor   %xmm2,%xmm7,%xmm7
 3908 
 3909         vpslld  $30,%xmm12,%xmm1
 3910         vpxor   %xmm3,%xmm0,%xmm0
 3911         vpxor   %xmm12,%xmm13,%xmm3
 3912 
 3913         vpxor   %xmm1,%xmm11,%xmm11
 3914         vpaddd  %xmm7,%xmm5,%xmm5
 3915 
 3916         vpsrld  $13,%xmm12,%xmm1
 3917 
 3918         vpslld  $19,%xmm12,%xmm2
 3919         vpaddd  %xmm0,%xmm5,%xmm5
 3920         vpand   %xmm3,%xmm4,%xmm4
 3921 
 3922         vpxor   %xmm1,%xmm11,%xmm7
 3923 
 3924         vpsrld  $22,%xmm12,%xmm1
 3925         vpxor   %xmm2,%xmm7,%xmm7
 3926 
 3927         vpslld  $10,%xmm12,%xmm2
 3928         vpxor   %xmm4,%xmm13,%xmm11
 3929         vpaddd  %xmm5,%xmm15,%xmm15
 3930 
 3931         vpxor   %xmm1,%xmm7,%xmm7
 3932         vpxor   %xmm2,%xmm7,%xmm7
 3933 
 3934         vpaddd  %xmm5,%xmm11,%xmm11
 3935         vpaddd  %xmm7,%xmm11,%xmm11
 3936         vmovd   52(%r8),%xmm5
 3937         vmovd   52(%r9),%xmm0
 3938         vpinsrd $1,52(%r10),%xmm5,%xmm5
 3939         vpinsrd $1,52(%r11),%xmm0,%xmm0
 3940         vpunpckldq      %xmm0,%xmm5,%xmm5
 3941         vpshufb %xmm6,%xmm5,%xmm5
 3942         vpsrld  $6,%xmm15,%xmm7
 3943         vpslld  $26,%xmm15,%xmm2
 3944         vmovdqu %xmm5,208-128(%rax)
 3945         vpaddd  %xmm10,%xmm5,%xmm5
 3946 
 3947         vpsrld  $11,%xmm15,%xmm1
 3948         vpxor   %xmm2,%xmm7,%xmm7
 3949         vpslld  $21,%xmm15,%xmm2
 3950         vpaddd  32(%rbp),%xmm5,%xmm5
 3951         vpxor   %xmm1,%xmm7,%xmm7
 3952 
 3953         vpsrld  $25,%xmm15,%xmm1
 3954         vpxor   %xmm2,%xmm7,%xmm7
 3955 
 3956         vpslld  $7,%xmm15,%xmm2
 3957         vpandn  %xmm9,%xmm15,%xmm0
 3958         vpand   %xmm8,%xmm15,%xmm4
 3959 
 3960         vpxor   %xmm1,%xmm7,%xmm7
 3961 
 3962         vpsrld  $2,%xmm11,%xmm10
 3963         vpxor   %xmm2,%xmm7,%xmm7
 3964 
 3965         vpslld  $30,%xmm11,%xmm1
 3966         vpxor   %xmm4,%xmm0,%xmm0
 3967         vpxor   %xmm11,%xmm12,%xmm4
 3968 
 3969         vpxor   %xmm1,%xmm10,%xmm10
 3970         vpaddd  %xmm7,%xmm5,%xmm5
 3971 
 3972         vpsrld  $13,%xmm11,%xmm1
 3973 
 3974         vpslld  $19,%xmm11,%xmm2
 3975         vpaddd  %xmm0,%xmm5,%xmm5
 3976         vpand   %xmm4,%xmm3,%xmm3
 3977 
 3978         vpxor   %xmm1,%xmm10,%xmm7
 3979 
 3980         vpsrld  $22,%xmm11,%xmm1
 3981         vpxor   %xmm2,%xmm7,%xmm7
 3982 
 3983         vpslld  $10,%xmm11,%xmm2
 3984         vpxor   %xmm3,%xmm12,%xmm10
 3985         vpaddd  %xmm5,%xmm14,%xmm14
 3986 
 3987         vpxor   %xmm1,%xmm7,%xmm7
 3988         vpxor   %xmm2,%xmm7,%xmm7
 3989 
 3990         vpaddd  %xmm5,%xmm10,%xmm10
 3991         vpaddd  %xmm7,%xmm10,%xmm10
 3992         vmovd   56(%r8),%xmm5
 3993         vmovd   56(%r9),%xmm0
 3994         vpinsrd $1,56(%r10),%xmm5,%xmm5
 3995         vpinsrd $1,56(%r11),%xmm0,%xmm0
 3996         vpunpckldq      %xmm0,%xmm5,%xmm5
 3997         vpshufb %xmm6,%xmm5,%xmm5
 3998         vpsrld  $6,%xmm14,%xmm7
 3999         vpslld  $26,%xmm14,%xmm2
 4000         vmovdqu %xmm5,224-128(%rax)
 4001         vpaddd  %xmm9,%xmm5,%xmm5
 4002 
 4003         vpsrld  $11,%xmm14,%xmm1
 4004         vpxor   %xmm2,%xmm7,%xmm7
 4005         vpslld  $21,%xmm14,%xmm2
 4006         vpaddd  64(%rbp),%xmm5,%xmm5
 4007         vpxor   %xmm1,%xmm7,%xmm7
 4008 
 4009         vpsrld  $25,%xmm14,%xmm1
 4010         vpxor   %xmm2,%xmm7,%xmm7
 4011 
 4012         vpslld  $7,%xmm14,%xmm2
 4013         vpandn  %xmm8,%xmm14,%xmm0
 4014         vpand   %xmm15,%xmm14,%xmm3
 4015 
 4016         vpxor   %xmm1,%xmm7,%xmm7
 4017 
 4018         vpsrld  $2,%xmm10,%xmm9
 4019         vpxor   %xmm2,%xmm7,%xmm7
 4020 
 4021         vpslld  $30,%xmm10,%xmm1
 4022         vpxor   %xmm3,%xmm0,%xmm0
 4023         vpxor   %xmm10,%xmm11,%xmm3
 4024 
 4025         vpxor   %xmm1,%xmm9,%xmm9
 4026         vpaddd  %xmm7,%xmm5,%xmm5
 4027 
 4028         vpsrld  $13,%xmm10,%xmm1
 4029 
 4030         vpslld  $19,%xmm10,%xmm2
 4031         vpaddd  %xmm0,%xmm5,%xmm5
 4032         vpand   %xmm3,%xmm4,%xmm4
 4033 
 4034         vpxor   %xmm1,%xmm9,%xmm7
 4035 
 4036         vpsrld  $22,%xmm10,%xmm1
 4037         vpxor   %xmm2,%xmm7,%xmm7
 4038 
 4039         vpslld  $10,%xmm10,%xmm2
 4040         vpxor   %xmm4,%xmm11,%xmm9
 4041         vpaddd  %xmm5,%xmm13,%xmm13
 4042 
 4043         vpxor   %xmm1,%xmm7,%xmm7
 4044         vpxor   %xmm2,%xmm7,%xmm7
 4045 
 4046         vpaddd  %xmm5,%xmm9,%xmm9
 4047         vpaddd  %xmm7,%xmm9,%xmm9
 4048         vmovd   60(%r8),%xmm5
 4049         leaq    64(%r8),%r8
 4050         vmovd   60(%r9),%xmm0
 4051         leaq    64(%r9),%r9
 4052         vpinsrd $1,60(%r10),%xmm5,%xmm5
 4053         leaq    64(%r10),%r10
 4054         vpinsrd $1,60(%r11),%xmm0,%xmm0
 4055         leaq    64(%r11),%r11
 4056         vpunpckldq      %xmm0,%xmm5,%xmm5
 4057         vpshufb %xmm6,%xmm5,%xmm5
 4058         vpsrld  $6,%xmm13,%xmm7
 4059         vpslld  $26,%xmm13,%xmm2
 4060         vmovdqu %xmm5,240-128(%rax)
 4061         vpaddd  %xmm8,%xmm5,%xmm5
 4062 
 4063         vpsrld  $11,%xmm13,%xmm1
 4064         vpxor   %xmm2,%xmm7,%xmm7
 4065         vpslld  $21,%xmm13,%xmm2
 4066         vpaddd  96(%rbp),%xmm5,%xmm5
 4067         vpxor   %xmm1,%xmm7,%xmm7
 4068 
 4069         vpsrld  $25,%xmm13,%xmm1
 4070         vpxor   %xmm2,%xmm7,%xmm7
 4071         prefetcht0      63(%r8)
 4072         vpslld  $7,%xmm13,%xmm2
 4073         vpandn  %xmm15,%xmm13,%xmm0
 4074         vpand   %xmm14,%xmm13,%xmm4
 4075         prefetcht0      63(%r9)
 4076         vpxor   %xmm1,%xmm7,%xmm7
 4077 
 4078         vpsrld  $2,%xmm9,%xmm8
 4079         vpxor   %xmm2,%xmm7,%xmm7
 4080         prefetcht0      63(%r10)
 4081         vpslld  $30,%xmm9,%xmm1
 4082         vpxor   %xmm4,%xmm0,%xmm0
 4083         vpxor   %xmm9,%xmm10,%xmm4
 4084         prefetcht0      63(%r11)
 4085         vpxor   %xmm1,%xmm8,%xmm8
 4086         vpaddd  %xmm7,%xmm5,%xmm5
 4087 
 4088         vpsrld  $13,%xmm9,%xmm1
 4089 
 4090         vpslld  $19,%xmm9,%xmm2
 4091         vpaddd  %xmm0,%xmm5,%xmm5
 4092         vpand   %xmm4,%xmm3,%xmm3
 4093 
 4094         vpxor   %xmm1,%xmm8,%xmm7
 4095 
 4096         vpsrld  $22,%xmm9,%xmm1
 4097         vpxor   %xmm2,%xmm7,%xmm7
 4098 
 4099         vpslld  $10,%xmm9,%xmm2
 4100         vpxor   %xmm3,%xmm10,%xmm8
 4101         vpaddd  %xmm5,%xmm12,%xmm12
 4102 
 4103         vpxor   %xmm1,%xmm7,%xmm7
 4104         vpxor   %xmm2,%xmm7,%xmm7
 4105 
 4106         vpaddd  %xmm5,%xmm8,%xmm8
 4107         vpaddd  %xmm7,%xmm8,%xmm8
 4108         addq    $256,%rbp
 4109         vmovdqu 0-128(%rax),%xmm5
 4110         movl    $3,%ecx
 4111         jmp     .Loop_16_xx_avx
 4112 .align  32
 4113 .Loop_16_xx_avx:
 4114         vmovdqu 16-128(%rax),%xmm6
 4115         vpaddd  144-128(%rax),%xmm5,%xmm5
 4116 
 4117         vpsrld  $3,%xmm6,%xmm7
 4118         vpsrld  $7,%xmm6,%xmm1
 4119         vpslld  $25,%xmm6,%xmm2
 4120         vpxor   %xmm1,%xmm7,%xmm7
 4121         vpsrld  $18,%xmm6,%xmm1
 4122         vpxor   %xmm2,%xmm7,%xmm7
 4123         vpslld  $14,%xmm6,%xmm2
 4124         vmovdqu 224-128(%rax),%xmm0
 4125         vpsrld  $10,%xmm0,%xmm3
 4126 
 4127         vpxor   %xmm1,%xmm7,%xmm7
 4128         vpsrld  $17,%xmm0,%xmm1
 4129         vpxor   %xmm2,%xmm7,%xmm7
 4130         vpslld  $15,%xmm0,%xmm2
 4131         vpaddd  %xmm7,%xmm5,%xmm5
 4132         vpxor   %xmm1,%xmm3,%xmm7
 4133         vpsrld  $19,%xmm0,%xmm1
 4134         vpxor   %xmm2,%xmm7,%xmm7
 4135         vpslld  $13,%xmm0,%xmm2
 4136         vpxor   %xmm1,%xmm7,%xmm7
 4137         vpxor   %xmm2,%xmm7,%xmm7
 4138         vpaddd  %xmm7,%xmm5,%xmm5
 4139         vpsrld  $6,%xmm12,%xmm7
 4140         vpslld  $26,%xmm12,%xmm2
 4141         vmovdqu %xmm5,0-128(%rax)
 4142         vpaddd  %xmm15,%xmm5,%xmm5
 4143 
 4144         vpsrld  $11,%xmm12,%xmm1
 4145         vpxor   %xmm2,%xmm7,%xmm7
 4146         vpslld  $21,%xmm12,%xmm2
 4147         vpaddd  -128(%rbp),%xmm5,%xmm5
 4148         vpxor   %xmm1,%xmm7,%xmm7
 4149 
 4150         vpsrld  $25,%xmm12,%xmm1
 4151         vpxor   %xmm2,%xmm7,%xmm7
 4152 
 4153         vpslld  $7,%xmm12,%xmm2
 4154         vpandn  %xmm14,%xmm12,%xmm0
 4155         vpand   %xmm13,%xmm12,%xmm3
 4156 
 4157         vpxor   %xmm1,%xmm7,%xmm7
 4158 
 4159         vpsrld  $2,%xmm8,%xmm15
 4160         vpxor   %xmm2,%xmm7,%xmm7
 4161 
 4162         vpslld  $30,%xmm8,%xmm1
 4163         vpxor   %xmm3,%xmm0,%xmm0
 4164         vpxor   %xmm8,%xmm9,%xmm3
 4165 
 4166         vpxor   %xmm1,%xmm15,%xmm15
 4167         vpaddd  %xmm7,%xmm5,%xmm5
 4168 
 4169         vpsrld  $13,%xmm8,%xmm1
 4170 
 4171         vpslld  $19,%xmm8,%xmm2
 4172         vpaddd  %xmm0,%xmm5,%xmm5
 4173         vpand   %xmm3,%xmm4,%xmm4
 4174 
 4175         vpxor   %xmm1,%xmm15,%xmm7
 4176 
 4177         vpsrld  $22,%xmm8,%xmm1
 4178         vpxor   %xmm2,%xmm7,%xmm7
 4179 
 4180         vpslld  $10,%xmm8,%xmm2
 4181         vpxor   %xmm4,%xmm9,%xmm15
 4182         vpaddd  %xmm5,%xmm11,%xmm11
 4183 
 4184         vpxor   %xmm1,%xmm7,%xmm7
 4185         vpxor   %xmm2,%xmm7,%xmm7
 4186 
 4187         vpaddd  %xmm5,%xmm15,%xmm15
 4188         vpaddd  %xmm7,%xmm15,%xmm15
 4189         vmovdqu 32-128(%rax),%xmm5
 4190         vpaddd  160-128(%rax),%xmm6,%xmm6
 4191 
 4192         vpsrld  $3,%xmm5,%xmm7
 4193         vpsrld  $7,%xmm5,%xmm1
 4194         vpslld  $25,%xmm5,%xmm2
 4195         vpxor   %xmm1,%xmm7,%xmm7
 4196         vpsrld  $18,%xmm5,%xmm1
 4197         vpxor   %xmm2,%xmm7,%xmm7
 4198         vpslld  $14,%xmm5,%xmm2
 4199         vmovdqu 240-128(%rax),%xmm0
 4200         vpsrld  $10,%xmm0,%xmm4
 4201 
 4202         vpxor   %xmm1,%xmm7,%xmm7
 4203         vpsrld  $17,%xmm0,%xmm1
 4204         vpxor   %xmm2,%xmm7,%xmm7
 4205         vpslld  $15,%xmm0,%xmm2
 4206         vpaddd  %xmm7,%xmm6,%xmm6
 4207         vpxor   %xmm1,%xmm4,%xmm7
 4208         vpsrld  $19,%xmm0,%xmm1
 4209         vpxor   %xmm2,%xmm7,%xmm7
 4210         vpslld  $13,%xmm0,%xmm2
 4211         vpxor   %xmm1,%xmm7,%xmm7
 4212         vpxor   %xmm2,%xmm7,%xmm7
 4213         vpaddd  %xmm7,%xmm6,%xmm6
 4214         vpsrld  $6,%xmm11,%xmm7
 4215         vpslld  $26,%xmm11,%xmm2
 4216         vmovdqu %xmm6,16-128(%rax)
 4217         vpaddd  %xmm14,%xmm6,%xmm6
 4218 
 4219         vpsrld  $11,%xmm11,%xmm1
 4220         vpxor   %xmm2,%xmm7,%xmm7
 4221         vpslld  $21,%xmm11,%xmm2
 4222         vpaddd  -96(%rbp),%xmm6,%xmm6
 4223         vpxor   %xmm1,%xmm7,%xmm7
 4224 
 4225         vpsrld  $25,%xmm11,%xmm1
 4226         vpxor   %xmm2,%xmm7,%xmm7
 4227 
 4228         vpslld  $7,%xmm11,%xmm2
 4229         vpandn  %xmm13,%xmm11,%xmm0
 4230         vpand   %xmm12,%xmm11,%xmm4
 4231 
 4232         vpxor   %xmm1,%xmm7,%xmm7
 4233 
 4234         vpsrld  $2,%xmm15,%xmm14
 4235         vpxor   %xmm2,%xmm7,%xmm7
 4236 
 4237         vpslld  $30,%xmm15,%xmm1
 4238         vpxor   %xmm4,%xmm0,%xmm0
 4239         vpxor   %xmm15,%xmm8,%xmm4
 4240 
 4241         vpxor   %xmm1,%xmm14,%xmm14
 4242         vpaddd  %xmm7,%xmm6,%xmm6
 4243 
 4244         vpsrld  $13,%xmm15,%xmm1
 4245 
 4246         vpslld  $19,%xmm15,%xmm2
 4247         vpaddd  %xmm0,%xmm6,%xmm6
 4248         vpand   %xmm4,%xmm3,%xmm3
 4249 
 4250         vpxor   %xmm1,%xmm14,%xmm7
 4251 
 4252         vpsrld  $22,%xmm15,%xmm1
 4253         vpxor   %xmm2,%xmm7,%xmm7
 4254 
 4255         vpslld  $10,%xmm15,%xmm2
 4256         vpxor   %xmm3,%xmm8,%xmm14
 4257         vpaddd  %xmm6,%xmm10,%xmm10
 4258 
 4259         vpxor   %xmm1,%xmm7,%xmm7
 4260         vpxor   %xmm2,%xmm7,%xmm7
 4261 
 4262         vpaddd  %xmm6,%xmm14,%xmm14
 4263         vpaddd  %xmm7,%xmm14,%xmm14
 4264         vmovdqu 48-128(%rax),%xmm6
 4265         vpaddd  176-128(%rax),%xmm5,%xmm5
 4266 
 4267         vpsrld  $3,%xmm6,%xmm7
 4268         vpsrld  $7,%xmm6,%xmm1
 4269         vpslld  $25,%xmm6,%xmm2
 4270         vpxor   %xmm1,%xmm7,%xmm7
 4271         vpsrld  $18,%xmm6,%xmm1
 4272         vpxor   %xmm2,%xmm7,%xmm7
 4273         vpslld  $14,%xmm6,%xmm2
 4274         vmovdqu 0-128(%rax),%xmm0
 4275         vpsrld  $10,%xmm0,%xmm3
 4276 
 4277         vpxor   %xmm1,%xmm7,%xmm7
 4278         vpsrld  $17,%xmm0,%xmm1
 4279         vpxor   %xmm2,%xmm7,%xmm7
 4280         vpslld  $15,%xmm0,%xmm2
 4281         vpaddd  %xmm7,%xmm5,%xmm5
 4282         vpxor   %xmm1,%xmm3,%xmm7
 4283         vpsrld  $19,%xmm0,%xmm1
 4284         vpxor   %xmm2,%xmm7,%xmm7
 4285         vpslld  $13,%xmm0,%xmm2
 4286         vpxor   %xmm1,%xmm7,%xmm7
 4287         vpxor   %xmm2,%xmm7,%xmm7
 4288         vpaddd  %xmm7,%xmm5,%xmm5
 4289         vpsrld  $6,%xmm10,%xmm7
 4290         vpslld  $26,%xmm10,%xmm2
 4291         vmovdqu %xmm5,32-128(%rax)
 4292         vpaddd  %xmm13,%xmm5,%xmm5
 4293 
 4294         vpsrld  $11,%xmm10,%xmm1
 4295         vpxor   %xmm2,%xmm7,%xmm7
 4296         vpslld  $21,%xmm10,%xmm2
 4297         vpaddd  -64(%rbp),%xmm5,%xmm5
 4298         vpxor   %xmm1,%xmm7,%xmm7
 4299 
 4300         vpsrld  $25,%xmm10,%xmm1
 4301         vpxor   %xmm2,%xmm7,%xmm7
 4302 
 4303         vpslld  $7,%xmm10,%xmm2
 4304         vpandn  %xmm12,%xmm10,%xmm0
 4305         vpand   %xmm11,%xmm10,%xmm3
 4306 
 4307         vpxor   %xmm1,%xmm7,%xmm7
 4308 
 4309         vpsrld  $2,%xmm14,%xmm13
 4310         vpxor   %xmm2,%xmm7,%xmm7
 4311 
 4312         vpslld  $30,%xmm14,%xmm1
 4313         vpxor   %xmm3,%xmm0,%xmm0
 4314         vpxor   %xmm14,%xmm15,%xmm3
 4315 
 4316         vpxor   %xmm1,%xmm13,%xmm13
 4317         vpaddd  %xmm7,%xmm5,%xmm5
 4318 
 4319         vpsrld  $13,%xmm14,%xmm1
 4320 
 4321         vpslld  $19,%xmm14,%xmm2
 4322         vpaddd  %xmm0,%xmm5,%xmm5
 4323         vpand   %xmm3,%xmm4,%xmm4
 4324 
 4325         vpxor   %xmm1,%xmm13,%xmm7
 4326 
 4327         vpsrld  $22,%xmm14,%xmm1
 4328         vpxor   %xmm2,%xmm7,%xmm7
 4329 
 4330         vpslld  $10,%xmm14,%xmm2
 4331         vpxor   %xmm4,%xmm15,%xmm13
 4332         vpaddd  %xmm5,%xmm9,%xmm9
 4333 
 4334         vpxor   %xmm1,%xmm7,%xmm7
 4335         vpxor   %xmm2,%xmm7,%xmm7
 4336 
 4337         vpaddd  %xmm5,%xmm13,%xmm13
 4338         vpaddd  %xmm7,%xmm13,%xmm13
 4339         vmovdqu 64-128(%rax),%xmm5
 4340         vpaddd  192-128(%rax),%xmm6,%xmm6
 4341 
 4342         vpsrld  $3,%xmm5,%xmm7
 4343         vpsrld  $7,%xmm5,%xmm1
 4344         vpslld  $25,%xmm5,%xmm2
 4345         vpxor   %xmm1,%xmm7,%xmm7
 4346         vpsrld  $18,%xmm5,%xmm1
 4347         vpxor   %xmm2,%xmm7,%xmm7
 4348         vpslld  $14,%xmm5,%xmm2
 4349         vmovdqu 16-128(%rax),%xmm0
 4350         vpsrld  $10,%xmm0,%xmm4
 4351 
 4352         vpxor   %xmm1,%xmm7,%xmm7
 4353         vpsrld  $17,%xmm0,%xmm1
 4354         vpxor   %xmm2,%xmm7,%xmm7
 4355         vpslld  $15,%xmm0,%xmm2
 4356         vpaddd  %xmm7,%xmm6,%xmm6
 4357         vpxor   %xmm1,%xmm4,%xmm7
 4358         vpsrld  $19,%xmm0,%xmm1
 4359         vpxor   %xmm2,%xmm7,%xmm7
 4360         vpslld  $13,%xmm0,%xmm2
 4361         vpxor   %xmm1,%xmm7,%xmm7
 4362         vpxor   %xmm2,%xmm7,%xmm7
 4363         vpaddd  %xmm7,%xmm6,%xmm6
 4364         vpsrld  $6,%xmm9,%xmm7
 4365         vpslld  $26,%xmm9,%xmm2
 4366         vmovdqu %xmm6,48-128(%rax)
 4367         vpaddd  %xmm12,%xmm6,%xmm6
 4368 
 4369         vpsrld  $11,%xmm9,%xmm1
 4370         vpxor   %xmm2,%xmm7,%xmm7
 4371         vpslld  $21,%xmm9,%xmm2
 4372         vpaddd  -32(%rbp),%xmm6,%xmm6
 4373         vpxor   %xmm1,%xmm7,%xmm7
 4374 
 4375         vpsrld  $25,%xmm9,%xmm1
 4376         vpxor   %xmm2,%xmm7,%xmm7
 4377 
 4378         vpslld  $7,%xmm9,%xmm2
 4379         vpandn  %xmm11,%xmm9,%xmm0
 4380         vpand   %xmm10,%xmm9,%xmm4
 4381 
 4382         vpxor   %xmm1,%xmm7,%xmm7
 4383 
 4384         vpsrld  $2,%xmm13,%xmm12
 4385         vpxor   %xmm2,%xmm7,%xmm7
 4386 
 4387         vpslld  $30,%xmm13,%xmm1
 4388         vpxor   %xmm4,%xmm0,%xmm0
 4389         vpxor   %xmm13,%xmm14,%xmm4
 4390 
 4391         vpxor   %xmm1,%xmm12,%xmm12
 4392         vpaddd  %xmm7,%xmm6,%xmm6
 4393 
 4394         vpsrld  $13,%xmm13,%xmm1
 4395 
 4396         vpslld  $19,%xmm13,%xmm2
 4397         vpaddd  %xmm0,%xmm6,%xmm6
 4398         vpand   %xmm4,%xmm3,%xmm3
 4399 
 4400         vpxor   %xmm1,%xmm12,%xmm7
 4401 
 4402         vpsrld  $22,%xmm13,%xmm1
 4403         vpxor   %xmm2,%xmm7,%xmm7
 4404 
 4405         vpslld  $10,%xmm13,%xmm2
 4406         vpxor   %xmm3,%xmm14,%xmm12
 4407         vpaddd  %xmm6,%xmm8,%xmm8
 4408 
 4409         vpxor   %xmm1,%xmm7,%xmm7
 4410         vpxor   %xmm2,%xmm7,%xmm7
 4411 
 4412         vpaddd  %xmm6,%xmm12,%xmm12
 4413         vpaddd  %xmm7,%xmm12,%xmm12
 4414         vmovdqu 80-128(%rax),%xmm6
 4415         vpaddd  208-128(%rax),%xmm5,%xmm5
 4416 
 4417         vpsrld  $3,%xmm6,%xmm7
 4418         vpsrld  $7,%xmm6,%xmm1
 4419         vpslld  $25,%xmm6,%xmm2
 4420         vpxor   %xmm1,%xmm7,%xmm7
 4421         vpsrld  $18,%xmm6,%xmm1
 4422         vpxor   %xmm2,%xmm7,%xmm7
 4423         vpslld  $14,%xmm6,%xmm2
 4424         vmovdqu 32-128(%rax),%xmm0
 4425         vpsrld  $10,%xmm0,%xmm3
 4426 
 4427         vpxor   %xmm1,%xmm7,%xmm7
 4428         vpsrld  $17,%xmm0,%xmm1
 4429         vpxor   %xmm2,%xmm7,%xmm7
 4430         vpslld  $15,%xmm0,%xmm2
 4431         vpaddd  %xmm7,%xmm5,%xmm5
 4432         vpxor   %xmm1,%xmm3,%xmm7
 4433         vpsrld  $19,%xmm0,%xmm1
 4434         vpxor   %xmm2,%xmm7,%xmm7
 4435         vpslld  $13,%xmm0,%xmm2
 4436         vpxor   %xmm1,%xmm7,%xmm7
 4437         vpxor   %xmm2,%xmm7,%xmm7
 4438         vpaddd  %xmm7,%xmm5,%xmm5
 4439         vpsrld  $6,%xmm8,%xmm7
 4440         vpslld  $26,%xmm8,%xmm2
 4441         vmovdqu %xmm5,64-128(%rax)
 4442         vpaddd  %xmm11,%xmm5,%xmm5
 4443 
 4444         vpsrld  $11,%xmm8,%xmm1
 4445         vpxor   %xmm2,%xmm7,%xmm7
 4446         vpslld  $21,%xmm8,%xmm2
 4447         vpaddd  0(%rbp),%xmm5,%xmm5
 4448         vpxor   %xmm1,%xmm7,%xmm7
 4449 
 4450         vpsrld  $25,%xmm8,%xmm1
 4451         vpxor   %xmm2,%xmm7,%xmm7
 4452 
 4453         vpslld  $7,%xmm8,%xmm2
 4454         vpandn  %xmm10,%xmm8,%xmm0
 4455         vpand   %xmm9,%xmm8,%xmm3
 4456 
 4457         vpxor   %xmm1,%xmm7,%xmm7
 4458 
 4459         vpsrld  $2,%xmm12,%xmm11
 4460         vpxor   %xmm2,%xmm7,%xmm7
 4461 
 4462         vpslld  $30,%xmm12,%xmm1
 4463         vpxor   %xmm3,%xmm0,%xmm0
 4464         vpxor   %xmm12,%xmm13,%xmm3
 4465 
 4466         vpxor   %xmm1,%xmm11,%xmm11
 4467         vpaddd  %xmm7,%xmm5,%xmm5
 4468 
 4469         vpsrld  $13,%xmm12,%xmm1
 4470 
 4471         vpslld  $19,%xmm12,%xmm2
 4472         vpaddd  %xmm0,%xmm5,%xmm5
 4473         vpand   %xmm3,%xmm4,%xmm4
 4474 
 4475         vpxor   %xmm1,%xmm11,%xmm7
 4476 
 4477         vpsrld  $22,%xmm12,%xmm1
 4478         vpxor   %xmm2,%xmm7,%xmm7
 4479 
 4480         vpslld  $10,%xmm12,%xmm2
 4481         vpxor   %xmm4,%xmm13,%xmm11
 4482         vpaddd  %xmm5,%xmm15,%xmm15
 4483 
 4484         vpxor   %xmm1,%xmm7,%xmm7
 4485         vpxor   %xmm2,%xmm7,%xmm7
 4486 
 4487         vpaddd  %xmm5,%xmm11,%xmm11
 4488         vpaddd  %xmm7,%xmm11,%xmm11
 4489         vmovdqu 96-128(%rax),%xmm5
 4490         vpaddd  224-128(%rax),%xmm6,%xmm6
 4491 
 4492         vpsrld  $3,%xmm5,%xmm7
 4493         vpsrld  $7,%xmm5,%xmm1
 4494         vpslld  $25,%xmm5,%xmm2
 4495         vpxor   %xmm1,%xmm7,%xmm7
 4496         vpsrld  $18,%xmm5,%xmm1
 4497         vpxor   %xmm2,%xmm7,%xmm7
 4498         vpslld  $14,%xmm5,%xmm2
 4499         vmovdqu 48-128(%rax),%xmm0
 4500         vpsrld  $10,%xmm0,%xmm4
 4501 
 4502         vpxor   %xmm1,%xmm7,%xmm7
 4503         vpsrld  $17,%xmm0,%xmm1
 4504         vpxor   %xmm2,%xmm7,%xmm7
 4505         vpslld  $15,%xmm0,%xmm2
 4506         vpaddd  %xmm7,%xmm6,%xmm6
 4507         vpxor   %xmm1,%xmm4,%xmm7
 4508         vpsrld  $19,%xmm0,%xmm1
 4509         vpxor   %xmm2,%xmm7,%xmm7
 4510         vpslld  $13,%xmm0,%xmm2
 4511         vpxor   %xmm1,%xmm7,%xmm7
 4512         vpxor   %xmm2,%xmm7,%xmm7
 4513         vpaddd  %xmm7,%xmm6,%xmm6
 4514         vpsrld  $6,%xmm15,%xmm7
 4515         vpslld  $26,%xmm15,%xmm2
 4516         vmovdqu %xmm6,80-128(%rax)
 4517         vpaddd  %xmm10,%xmm6,%xmm6
 4518 
 4519         vpsrld  $11,%xmm15,%xmm1
 4520         vpxor   %xmm2,%xmm7,%xmm7
 4521         vpslld  $21,%xmm15,%xmm2
 4522         vpaddd  32(%rbp),%xmm6,%xmm6
 4523         vpxor   %xmm1,%xmm7,%xmm7
 4524 
 4525         vpsrld  $25,%xmm15,%xmm1
 4526         vpxor   %xmm2,%xmm7,%xmm7
 4527 
 4528         vpslld  $7,%xmm15,%xmm2
 4529         vpandn  %xmm9,%xmm15,%xmm0
 4530         vpand   %xmm8,%xmm15,%xmm4
 4531 
 4532         vpxor   %xmm1,%xmm7,%xmm7
 4533 
 4534         vpsrld  $2,%xmm11,%xmm10
 4535         vpxor   %xmm2,%xmm7,%xmm7
 4536 
 4537         vpslld  $30,%xmm11,%xmm1
 4538         vpxor   %xmm4,%xmm0,%xmm0
 4539         vpxor   %xmm11,%xmm12,%xmm4
 4540 
 4541         vpxor   %xmm1,%xmm10,%xmm10
 4542         vpaddd  %xmm7,%xmm6,%xmm6
 4543 
 4544         vpsrld  $13,%xmm11,%xmm1
 4545 
 4546         vpslld  $19,%xmm11,%xmm2
 4547         vpaddd  %xmm0,%xmm6,%xmm6
 4548         vpand   %xmm4,%xmm3,%xmm3
 4549 
 4550         vpxor   %xmm1,%xmm10,%xmm7
 4551 
 4552         vpsrld  $22,%xmm11,%xmm1
 4553         vpxor   %xmm2,%xmm7,%xmm7
 4554 
 4555         vpslld  $10,%xmm11,%xmm2
 4556         vpxor   %xmm3,%xmm12,%xmm10
 4557         vpaddd  %xmm6,%xmm14,%xmm14
 4558 
 4559         vpxor   %xmm1,%xmm7,%xmm7
 4560         vpxor   %xmm2,%xmm7,%xmm7
 4561 
 4562         vpaddd  %xmm6,%xmm10,%xmm10
 4563         vpaddd  %xmm7,%xmm10,%xmm10
 4564         vmovdqu 112-128(%rax),%xmm6
 4565         vpaddd  240-128(%rax),%xmm5,%xmm5
 4566 
 4567         vpsrld  $3,%xmm6,%xmm7
 4568         vpsrld  $7,%xmm6,%xmm1
 4569         vpslld  $25,%xmm6,%xmm2
 4570         vpxor   %xmm1,%xmm7,%xmm7
 4571         vpsrld  $18,%xmm6,%xmm1
 4572         vpxor   %xmm2,%xmm7,%xmm7
 4573         vpslld  $14,%xmm6,%xmm2
 4574         vmovdqu 64-128(%rax),%xmm0
 4575         vpsrld  $10,%xmm0,%xmm3
 4576 
 4577         vpxor   %xmm1,%xmm7,%xmm7
 4578         vpsrld  $17,%xmm0,%xmm1
 4579         vpxor   %xmm2,%xmm7,%xmm7
 4580         vpslld  $15,%xmm0,%xmm2
 4581         vpaddd  %xmm7,%xmm5,%xmm5
 4582         vpxor   %xmm1,%xmm3,%xmm7
 4583         vpsrld  $19,%xmm0,%xmm1
 4584         vpxor   %xmm2,%xmm7,%xmm7
 4585         vpslld  $13,%xmm0,%xmm2
 4586         vpxor   %xmm1,%xmm7,%xmm7
 4587         vpxor   %xmm2,%xmm7,%xmm7
 4588         vpaddd  %xmm7,%xmm5,%xmm5
 4589         vpsrld  $6,%xmm14,%xmm7
 4590         vpslld  $26,%xmm14,%xmm2
 4591         vmovdqu %xmm5,96-128(%rax)
 4592         vpaddd  %xmm9,%xmm5,%xmm5
 4593 
 4594         vpsrld  $11,%xmm14,%xmm1
 4595         vpxor   %xmm2,%xmm7,%xmm7
 4596         vpslld  $21,%xmm14,%xmm2
 4597         vpaddd  64(%rbp),%xmm5,%xmm5
 4598         vpxor   %xmm1,%xmm7,%xmm7
 4599 
 4600         vpsrld  $25,%xmm14,%xmm1
 4601         vpxor   %xmm2,%xmm7,%xmm7
 4602 
 4603         vpslld  $7,%xmm14,%xmm2
 4604         vpandn  %xmm8,%xmm14,%xmm0
 4605         vpand   %xmm15,%xmm14,%xmm3
 4606 
 4607         vpxor   %xmm1,%xmm7,%xmm7
 4608 
 4609         vpsrld  $2,%xmm10,%xmm9
 4610         vpxor   %xmm2,%xmm7,%xmm7
 4611 
 4612         vpslld  $30,%xmm10,%xmm1
 4613         vpxor   %xmm3,%xmm0,%xmm0
 4614         vpxor   %xmm10,%xmm11,%xmm3
 4615 
 4616         vpxor   %xmm1,%xmm9,%xmm9
 4617         vpaddd  %xmm7,%xmm5,%xmm5
 4618 
 4619         vpsrld  $13,%xmm10,%xmm1
 4620 
 4621         vpslld  $19,%xmm10,%xmm2
 4622         vpaddd  %xmm0,%xmm5,%xmm5
 4623         vpand   %xmm3,%xmm4,%xmm4
 4624 
 4625         vpxor   %xmm1,%xmm9,%xmm7
 4626 
 4627         vpsrld  $22,%xmm10,%xmm1
 4628         vpxor   %xmm2,%xmm7,%xmm7
 4629 
 4630         vpslld  $10,%xmm10,%xmm2
 4631         vpxor   %xmm4,%xmm11,%xmm9
 4632         vpaddd  %xmm5,%xmm13,%xmm13
 4633 
 4634         vpxor   %xmm1,%xmm7,%xmm7
 4635         vpxor   %xmm2,%xmm7,%xmm7
 4636 
 4637         vpaddd  %xmm5,%xmm9,%xmm9
 4638         vpaddd  %xmm7,%xmm9,%xmm9
 4639         vmovdqu 128-128(%rax),%xmm5
 4640         vpaddd  0-128(%rax),%xmm6,%xmm6
 4641 
 4642         vpsrld  $3,%xmm5,%xmm7
 4643         vpsrld  $7,%xmm5,%xmm1
 4644         vpslld  $25,%xmm5,%xmm2
 4645         vpxor   %xmm1,%xmm7,%xmm7
 4646         vpsrld  $18,%xmm5,%xmm1
 4647         vpxor   %xmm2,%xmm7,%xmm7
 4648         vpslld  $14,%xmm5,%xmm2
 4649         vmovdqu 80-128(%rax),%xmm0
 4650         vpsrld  $10,%xmm0,%xmm4
 4651 
 4652         vpxor   %xmm1,%xmm7,%xmm7
 4653         vpsrld  $17,%xmm0,%xmm1
 4654         vpxor   %xmm2,%xmm7,%xmm7
 4655         vpslld  $15,%xmm0,%xmm2
 4656         vpaddd  %xmm7,%xmm6,%xmm6
 4657         vpxor   %xmm1,%xmm4,%xmm7
 4658         vpsrld  $19,%xmm0,%xmm1
 4659         vpxor   %xmm2,%xmm7,%xmm7
 4660         vpslld  $13,%xmm0,%xmm2
 4661         vpxor   %xmm1,%xmm7,%xmm7
 4662         vpxor   %xmm2,%xmm7,%xmm7
 4663         vpaddd  %xmm7,%xmm6,%xmm6
 4664         vpsrld  $6,%xmm13,%xmm7
 4665         vpslld  $26,%xmm13,%xmm2
 4666         vmovdqu %xmm6,112-128(%rax)
 4667         vpaddd  %xmm8,%xmm6,%xmm6
 4668 
 4669         vpsrld  $11,%xmm13,%xmm1
 4670         vpxor   %xmm2,%xmm7,%xmm7
 4671         vpslld  $21,%xmm13,%xmm2
 4672         vpaddd  96(%rbp),%xmm6,%xmm6
 4673         vpxor   %xmm1,%xmm7,%xmm7
 4674 
 4675         vpsrld  $25,%xmm13,%xmm1
 4676         vpxor   %xmm2,%xmm7,%xmm7
 4677 
 4678         vpslld  $7,%xmm13,%xmm2
 4679         vpandn  %xmm15,%xmm13,%xmm0
 4680         vpand   %xmm14,%xmm13,%xmm4
 4681 
 4682         vpxor   %xmm1,%xmm7,%xmm7
 4683 
 4684         vpsrld  $2,%xmm9,%xmm8
 4685         vpxor   %xmm2,%xmm7,%xmm7
 4686 
 4687         vpslld  $30,%xmm9,%xmm1
 4688         vpxor   %xmm4,%xmm0,%xmm0
 4689         vpxor   %xmm9,%xmm10,%xmm4
 4690 
 4691         vpxor   %xmm1,%xmm8,%xmm8
 4692         vpaddd  %xmm7,%xmm6,%xmm6
 4693 
 4694         vpsrld  $13,%xmm9,%xmm1
 4695 
 4696         vpslld  $19,%xmm9,%xmm2
 4697         vpaddd  %xmm0,%xmm6,%xmm6
 4698         vpand   %xmm4,%xmm3,%xmm3
 4699 
 4700         vpxor   %xmm1,%xmm8,%xmm7
 4701 
 4702         vpsrld  $22,%xmm9,%xmm1
 4703         vpxor   %xmm2,%xmm7,%xmm7
 4704 
 4705         vpslld  $10,%xmm9,%xmm2
 4706         vpxor   %xmm3,%xmm10,%xmm8
 4707         vpaddd  %xmm6,%xmm12,%xmm12
 4708 
 4709         vpxor   %xmm1,%xmm7,%xmm7
 4710         vpxor   %xmm2,%xmm7,%xmm7
 4711 
 4712         vpaddd  %xmm6,%xmm8,%xmm8
 4713         vpaddd  %xmm7,%xmm8,%xmm8
 4714         addq    $256,%rbp
 4715         vmovdqu 144-128(%rax),%xmm6
 4716         vpaddd  16-128(%rax),%xmm5,%xmm5
 4717 
 4718         vpsrld  $3,%xmm6,%xmm7
 4719         vpsrld  $7,%xmm6,%xmm1
 4720         vpslld  $25,%xmm6,%xmm2
 4721         vpxor   %xmm1,%xmm7,%xmm7
 4722         vpsrld  $18,%xmm6,%xmm1
 4723         vpxor   %xmm2,%xmm7,%xmm7
 4724         vpslld  $14,%xmm6,%xmm2
 4725         vmovdqu 96-128(%rax),%xmm0
 4726         vpsrld  $10,%xmm0,%xmm3
 4727 
 4728         vpxor   %xmm1,%xmm7,%xmm7
 4729         vpsrld  $17,%xmm0,%xmm1
 4730         vpxor   %xmm2,%xmm7,%xmm7
 4731         vpslld  $15,%xmm0,%xmm2
 4732         vpaddd  %xmm7,%xmm5,%xmm5
 4733         vpxor   %xmm1,%xmm3,%xmm7
 4734         vpsrld  $19,%xmm0,%xmm1
 4735         vpxor   %xmm2,%xmm7,%xmm7
 4736         vpslld  $13,%xmm0,%xmm2
 4737         vpxor   %xmm1,%xmm7,%xmm7
 4738         vpxor   %xmm2,%xmm7,%xmm7
 4739         vpaddd  %xmm7,%xmm5,%xmm5
 4740         vpsrld  $6,%xmm12,%xmm7
 4741         vpslld  $26,%xmm12,%xmm2
 4742         vmovdqu %xmm5,128-128(%rax)
 4743         vpaddd  %xmm15,%xmm5,%xmm5
 4744 
 4745         vpsrld  $11,%xmm12,%xmm1
 4746         vpxor   %xmm2,%xmm7,%xmm7
 4747         vpslld  $21,%xmm12,%xmm2
 4748         vpaddd  -128(%rbp),%xmm5,%xmm5
 4749         vpxor   %xmm1,%xmm7,%xmm7
 4750 
 4751         vpsrld  $25,%xmm12,%xmm1
 4752         vpxor   %xmm2,%xmm7,%xmm7
 4753 
 4754         vpslld  $7,%xmm12,%xmm2
 4755         vpandn  %xmm14,%xmm12,%xmm0
 4756         vpand   %xmm13,%xmm12,%xmm3
 4757 
 4758         vpxor   %xmm1,%xmm7,%xmm7
 4759 
 4760         vpsrld  $2,%xmm8,%xmm15
 4761         vpxor   %xmm2,%xmm7,%xmm7
 4762 
 4763         vpslld  $30,%xmm8,%xmm1
 4764         vpxor   %xmm3,%xmm0,%xmm0
 4765         vpxor   %xmm8,%xmm9,%xmm3
 4766 
 4767         vpxor   %xmm1,%xmm15,%xmm15
 4768         vpaddd  %xmm7,%xmm5,%xmm5
 4769 
 4770         vpsrld  $13,%xmm8,%xmm1
 4771 
 4772         vpslld  $19,%xmm8,%xmm2
 4773         vpaddd  %xmm0,%xmm5,%xmm5
 4774         vpand   %xmm3,%xmm4,%xmm4
 4775 
 4776         vpxor   %xmm1,%xmm15,%xmm7
 4777 
 4778         vpsrld  $22,%xmm8,%xmm1
 4779         vpxor   %xmm2,%xmm7,%xmm7
 4780 
 4781         vpslld  $10,%xmm8,%xmm2
 4782         vpxor   %xmm4,%xmm9,%xmm15
 4783         vpaddd  %xmm5,%xmm11,%xmm11
 4784 
 4785         vpxor   %xmm1,%xmm7,%xmm7
 4786         vpxor   %xmm2,%xmm7,%xmm7
 4787 
 4788         vpaddd  %xmm5,%xmm15,%xmm15
 4789         vpaddd  %xmm7,%xmm15,%xmm15
 4790         vmovdqu 160-128(%rax),%xmm5
 4791         vpaddd  32-128(%rax),%xmm6,%xmm6
 4792 
 4793         vpsrld  $3,%xmm5,%xmm7
 4794         vpsrld  $7,%xmm5,%xmm1
 4795         vpslld  $25,%xmm5,%xmm2
 4796         vpxor   %xmm1,%xmm7,%xmm7
 4797         vpsrld  $18,%xmm5,%xmm1
 4798         vpxor   %xmm2,%xmm7,%xmm7
 4799         vpslld  $14,%xmm5,%xmm2
 4800         vmovdqu 112-128(%rax),%xmm0
 4801         vpsrld  $10,%xmm0,%xmm4
 4802 
 4803         vpxor   %xmm1,%xmm7,%xmm7
 4804         vpsrld  $17,%xmm0,%xmm1
 4805         vpxor   %xmm2,%xmm7,%xmm7
 4806         vpslld  $15,%xmm0,%xmm2
 4807         vpaddd  %xmm7,%xmm6,%xmm6
 4808         vpxor   %xmm1,%xmm4,%xmm7
 4809         vpsrld  $19,%xmm0,%xmm1
 4810         vpxor   %xmm2,%xmm7,%xmm7
 4811         vpslld  $13,%xmm0,%xmm2
 4812         vpxor   %xmm1,%xmm7,%xmm7
 4813         vpxor   %xmm2,%xmm7,%xmm7
 4814         vpaddd  %xmm7,%xmm6,%xmm6
 4815         vpsrld  $6,%xmm11,%xmm7
 4816         vpslld  $26,%xmm11,%xmm2
 4817         vmovdqu %xmm6,144-128(%rax)
 4818         vpaddd  %xmm14,%xmm6,%xmm6
 4819 
 4820         vpsrld  $11,%xmm11,%xmm1
 4821         vpxor   %xmm2,%xmm7,%xmm7
 4822         vpslld  $21,%xmm11,%xmm2
 4823         vpaddd  -96(%rbp),%xmm6,%xmm6
 4824         vpxor   %xmm1,%xmm7,%xmm7
 4825 
 4826         vpsrld  $25,%xmm11,%xmm1
 4827         vpxor   %xmm2,%xmm7,%xmm7
 4828 
 4829         vpslld  $7,%xmm11,%xmm2
 4830         vpandn  %xmm13,%xmm11,%xmm0
 4831         vpand   %xmm12,%xmm11,%xmm4
 4832 
 4833         vpxor   %xmm1,%xmm7,%xmm7
 4834 
 4835         vpsrld  $2,%xmm15,%xmm14
 4836         vpxor   %xmm2,%xmm7,%xmm7
 4837 
 4838         vpslld  $30,%xmm15,%xmm1
 4839         vpxor   %xmm4,%xmm0,%xmm0
 4840         vpxor   %xmm15,%xmm8,%xmm4
 4841 
 4842         vpxor   %xmm1,%xmm14,%xmm14
 4843         vpaddd  %xmm7,%xmm6,%xmm6
 4844 
 4845         vpsrld  $13,%xmm15,%xmm1
 4846 
 4847         vpslld  $19,%xmm15,%xmm2
 4848         vpaddd  %xmm0,%xmm6,%xmm6
 4849         vpand   %xmm4,%xmm3,%xmm3
 4850 
 4851         vpxor   %xmm1,%xmm14,%xmm7
 4852 
 4853         vpsrld  $22,%xmm15,%xmm1
 4854         vpxor   %xmm2,%xmm7,%xmm7
 4855 
 4856         vpslld  $10,%xmm15,%xmm2
 4857         vpxor   %xmm3,%xmm8,%xmm14
 4858         vpaddd  %xmm6,%xmm10,%xmm10
 4859 
 4860         vpxor   %xmm1,%xmm7,%xmm7
 4861         vpxor   %xmm2,%xmm7,%xmm7
 4862 
 4863         vpaddd  %xmm6,%xmm14,%xmm14
 4864         vpaddd  %xmm7,%xmm14,%xmm14
 4865         vmovdqu 176-128(%rax),%xmm6
 4866         vpaddd  48-128(%rax),%xmm5,%xmm5
 4867 
 4868         vpsrld  $3,%xmm6,%xmm7
 4869         vpsrld  $7,%xmm6,%xmm1
 4870         vpslld  $25,%xmm6,%xmm2
 4871         vpxor   %xmm1,%xmm7,%xmm7
 4872         vpsrld  $18,%xmm6,%xmm1
 4873         vpxor   %xmm2,%xmm7,%xmm7
 4874         vpslld  $14,%xmm6,%xmm2
 4875         vmovdqu 128-128(%rax),%xmm0
 4876         vpsrld  $10,%xmm0,%xmm3
 4877 
 4878         vpxor   %xmm1,%xmm7,%xmm7
 4879         vpsrld  $17,%xmm0,%xmm1
 4880         vpxor   %xmm2,%xmm7,%xmm7
 4881         vpslld  $15,%xmm0,%xmm2
 4882         vpaddd  %xmm7,%xmm5,%xmm5
 4883         vpxor   %xmm1,%xmm3,%xmm7
 4884         vpsrld  $19,%xmm0,%xmm1
 4885         vpxor   %xmm2,%xmm7,%xmm7
 4886         vpslld  $13,%xmm0,%xmm2
 4887         vpxor   %xmm1,%xmm7,%xmm7
 4888         vpxor   %xmm2,%xmm7,%xmm7
 4889         vpaddd  %xmm7,%xmm5,%xmm5
 4890         vpsrld  $6,%xmm10,%xmm7
 4891         vpslld  $26,%xmm10,%xmm2
 4892         vmovdqu %xmm5,160-128(%rax)
 4893         vpaddd  %xmm13,%xmm5,%xmm5
 4894 
 4895         vpsrld  $11,%xmm10,%xmm1
 4896         vpxor   %xmm2,%xmm7,%xmm7
 4897         vpslld  $21,%xmm10,%xmm2
 4898         vpaddd  -64(%rbp),%xmm5,%xmm5
 4899         vpxor   %xmm1,%xmm7,%xmm7
 4900 
 4901         vpsrld  $25,%xmm10,%xmm1
 4902         vpxor   %xmm2,%xmm7,%xmm7
 4903 
 4904         vpslld  $7,%xmm10,%xmm2
 4905         vpandn  %xmm12,%xmm10,%xmm0
 4906         vpand   %xmm11,%xmm10,%xmm3
 4907 
 4908         vpxor   %xmm1,%xmm7,%xmm7
 4909 
 4910         vpsrld  $2,%xmm14,%xmm13
 4911         vpxor   %xmm2,%xmm7,%xmm7
 4912 
 4913         vpslld  $30,%xmm14,%xmm1
 4914         vpxor   %xmm3,%xmm0,%xmm0
 4915         vpxor   %xmm14,%xmm15,%xmm3
 4916 
 4917         vpxor   %xmm1,%xmm13,%xmm13
 4918         vpaddd  %xmm7,%xmm5,%xmm5
 4919 
 4920         vpsrld  $13,%xmm14,%xmm1
 4921 
 4922         vpslld  $19,%xmm14,%xmm2
 4923         vpaddd  %xmm0,%xmm5,%xmm5
 4924         vpand   %xmm3,%xmm4,%xmm4
 4925 
 4926         vpxor   %xmm1,%xmm13,%xmm7
 4927 
 4928         vpsrld  $22,%xmm14,%xmm1
 4929         vpxor   %xmm2,%xmm7,%xmm7
 4930 
 4931         vpslld  $10,%xmm14,%xmm2
 4932         vpxor   %xmm4,%xmm15,%xmm13
 4933         vpaddd  %xmm5,%xmm9,%xmm9
 4934 
 4935         vpxor   %xmm1,%xmm7,%xmm7
 4936         vpxor   %xmm2,%xmm7,%xmm7
 4937 
 4938         vpaddd  %xmm5,%xmm13,%xmm13
 4939         vpaddd  %xmm7,%xmm13,%xmm13
 4940         vmovdqu 192-128(%rax),%xmm5
 4941         vpaddd  64-128(%rax),%xmm6,%xmm6
 4942 
 4943         vpsrld  $3,%xmm5,%xmm7
 4944         vpsrld  $7,%xmm5,%xmm1
 4945         vpslld  $25,%xmm5,%xmm2
 4946         vpxor   %xmm1,%xmm7,%xmm7
 4947         vpsrld  $18,%xmm5,%xmm1
 4948         vpxor   %xmm2,%xmm7,%xmm7
 4949         vpslld  $14,%xmm5,%xmm2
 4950         vmovdqu 144-128(%rax),%xmm0
 4951         vpsrld  $10,%xmm0,%xmm4
 4952 
 4953         vpxor   %xmm1,%xmm7,%xmm7
 4954         vpsrld  $17,%xmm0,%xmm1
 4955         vpxor   %xmm2,%xmm7,%xmm7
 4956         vpslld  $15,%xmm0,%xmm2
 4957         vpaddd  %xmm7,%xmm6,%xmm6
 4958         vpxor   %xmm1,%xmm4,%xmm7
 4959         vpsrld  $19,%xmm0,%xmm1
 4960         vpxor   %xmm2,%xmm7,%xmm7
 4961         vpslld  $13,%xmm0,%xmm2
 4962         vpxor   %xmm1,%xmm7,%xmm7
 4963         vpxor   %xmm2,%xmm7,%xmm7
 4964         vpaddd  %xmm7,%xmm6,%xmm6
 4965         vpsrld  $6,%xmm9,%xmm7
 4966         vpslld  $26,%xmm9,%xmm2
 4967         vmovdqu %xmm6,176-128(%rax)
 4968         vpaddd  %xmm12,%xmm6,%xmm6
 4969 
 4970         vpsrld  $11,%xmm9,%xmm1
 4971         vpxor   %xmm2,%xmm7,%xmm7
 4972         vpslld  $21,%xmm9,%xmm2
 4973         vpaddd  -32(%rbp),%xmm6,%xmm6
 4974         vpxor   %xmm1,%xmm7,%xmm7
 4975 
 4976         vpsrld  $25,%xmm9,%xmm1
 4977         vpxor   %xmm2,%xmm7,%xmm7
 4978 
 4979         vpslld  $7,%xmm9,%xmm2
 4980         vpandn  %xmm11,%xmm9,%xmm0
 4981         vpand   %xmm10,%xmm9,%xmm4
 4982 
 4983         vpxor   %xmm1,%xmm7,%xmm7
 4984 
 4985         vpsrld  $2,%xmm13,%xmm12
 4986         vpxor   %xmm2,%xmm7,%xmm7
 4987 
 4988         vpslld  $30,%xmm13,%xmm1
 4989         vpxor   %xmm4,%xmm0,%xmm0
 4990         vpxor   %xmm13,%xmm14,%xmm4
 4991 
 4992         vpxor   %xmm1,%xmm12,%xmm12
 4993         vpaddd  %xmm7,%xmm6,%xmm6
 4994 
 4995         vpsrld  $13,%xmm13,%xmm1
 4996 
 4997         vpslld  $19,%xmm13,%xmm2
 4998         vpaddd  %xmm0,%xmm6,%xmm6
 4999         vpand   %xmm4,%xmm3,%xmm3
 5000 
 5001         vpxor   %xmm1,%xmm12,%xmm7
 5002 
 5003         vpsrld  $22,%xmm13,%xmm1
 5004         vpxor   %xmm2,%xmm7,%xmm7
 5005 
 5006         vpslld  $10,%xmm13,%xmm2
 5007         vpxor   %xmm3,%xmm14,%xmm12
 5008         vpaddd  %xmm6,%xmm8,%xmm8
 5009 
 5010         vpxor   %xmm1,%xmm7,%xmm7
 5011         vpxor   %xmm2,%xmm7,%xmm7
 5012 
 5013         vpaddd  %xmm6,%xmm12,%xmm12
 5014         vpaddd  %xmm7,%xmm12,%xmm12
 5015         vmovdqu 208-128(%rax),%xmm6
 5016         vpaddd  80-128(%rax),%xmm5,%xmm5
 5017 
 5018         vpsrld  $3,%xmm6,%xmm7
 5019         vpsrld  $7,%xmm6,%xmm1
 5020         vpslld  $25,%xmm6,%xmm2
 5021         vpxor   %xmm1,%xmm7,%xmm7
 5022         vpsrld  $18,%xmm6,%xmm1
 5023         vpxor   %xmm2,%xmm7,%xmm7
 5024         vpslld  $14,%xmm6,%xmm2
 5025         vmovdqu 160-128(%rax),%xmm0
 5026         vpsrld  $10,%xmm0,%xmm3
 5027 
 5028         vpxor   %xmm1,%xmm7,%xmm7
 5029         vpsrld  $17,%xmm0,%xmm1
 5030         vpxor   %xmm2,%xmm7,%xmm7
 5031         vpslld  $15,%xmm0,%xmm2
 5032         vpaddd  %xmm7,%xmm5,%xmm5
 5033         vpxor   %xmm1,%xmm3,%xmm7
 5034         vpsrld  $19,%xmm0,%xmm1
 5035         vpxor   %xmm2,%xmm7,%xmm7
 5036         vpslld  $13,%xmm0,%xmm2
 5037         vpxor   %xmm1,%xmm7,%xmm7
 5038         vpxor   %xmm2,%xmm7,%xmm7
 5039         vpaddd  %xmm7,%xmm5,%xmm5
 5040         vpsrld  $6,%xmm8,%xmm7
 5041         vpslld  $26,%xmm8,%xmm2
 5042         vmovdqu %xmm5,192-128(%rax)
 5043         vpaddd  %xmm11,%xmm5,%xmm5
 5044 
 5045         vpsrld  $11,%xmm8,%xmm1
 5046         vpxor   %xmm2,%xmm7,%xmm7
 5047         vpslld  $21,%xmm8,%xmm2
 5048         vpaddd  0(%rbp),%xmm5,%xmm5
 5049         vpxor   %xmm1,%xmm7,%xmm7
 5050 
 5051         vpsrld  $25,%xmm8,%xmm1
 5052         vpxor   %xmm2,%xmm7,%xmm7
 5053 
 5054         vpslld  $7,%xmm8,%xmm2
 5055         vpandn  %xmm10,%xmm8,%xmm0
 5056         vpand   %xmm9,%xmm8,%xmm3
 5057 
 5058         vpxor   %xmm1,%xmm7,%xmm7
 5059 
 5060         vpsrld  $2,%xmm12,%xmm11
 5061         vpxor   %xmm2,%xmm7,%xmm7
 5062 
 5063         vpslld  $30,%xmm12,%xmm1
 5064         vpxor   %xmm3,%xmm0,%xmm0
 5065         vpxor   %xmm12,%xmm13,%xmm3
 5066 
 5067         vpxor   %xmm1,%xmm11,%xmm11
 5068         vpaddd  %xmm7,%xmm5,%xmm5
 5069 
 5070         vpsrld  $13,%xmm12,%xmm1
 5071 
 5072         vpslld  $19,%xmm12,%xmm2
 5073         vpaddd  %xmm0,%xmm5,%xmm5
 5074         vpand   %xmm3,%xmm4,%xmm4
 5075 
 5076         vpxor   %xmm1,%xmm11,%xmm7
 5077 
 5078         vpsrld  $22,%xmm12,%xmm1
 5079         vpxor   %xmm2,%xmm7,%xmm7
 5080 
 5081         vpslld  $10,%xmm12,%xmm2
 5082         vpxor   %xmm4,%xmm13,%xmm11
 5083         vpaddd  %xmm5,%xmm15,%xmm15
 5084 
 5085         vpxor   %xmm1,%xmm7,%xmm7
 5086         vpxor   %xmm2,%xmm7,%xmm7
 5087 
 5088         vpaddd  %xmm5,%xmm11,%xmm11
 5089         vpaddd  %xmm7,%xmm11,%xmm11
 5090         vmovdqu 224-128(%rax),%xmm5
 5091         vpaddd  96-128(%rax),%xmm6,%xmm6
 5092 
 5093         vpsrld  $3,%xmm5,%xmm7
 5094         vpsrld  $7,%xmm5,%xmm1
 5095         vpslld  $25,%xmm5,%xmm2
 5096         vpxor   %xmm1,%xmm7,%xmm7
 5097         vpsrld  $18,%xmm5,%xmm1
 5098         vpxor   %xmm2,%xmm7,%xmm7
 5099         vpslld  $14,%xmm5,%xmm2
 5100         vmovdqu 176-128(%rax),%xmm0
 5101         vpsrld  $10,%xmm0,%xmm4
 5102 
 5103         vpxor   %xmm1,%xmm7,%xmm7
 5104         vpsrld  $17,%xmm0,%xmm1
 5105         vpxor   %xmm2,%xmm7,%xmm7
 5106         vpslld  $15,%xmm0,%xmm2
 5107         vpaddd  %xmm7,%xmm6,%xmm6
 5108         vpxor   %xmm1,%xmm4,%xmm7
 5109         vpsrld  $19,%xmm0,%xmm1
 5110         vpxor   %xmm2,%xmm7,%xmm7
 5111         vpslld  $13,%xmm0,%xmm2
 5112         vpxor   %xmm1,%xmm7,%xmm7
 5113         vpxor   %xmm2,%xmm7,%xmm7
 5114         vpaddd  %xmm7,%xmm6,%xmm6
 5115         vpsrld  $6,%xmm15,%xmm7
 5116         vpslld  $26,%xmm15,%xmm2
 5117         vmovdqu %xmm6,208-128(%rax)
 5118         vpaddd  %xmm10,%xmm6,%xmm6
 5119 
 5120         vpsrld  $11,%xmm15,%xmm1
 5121         vpxor   %xmm2,%xmm7,%xmm7
 5122         vpslld  $21,%xmm15,%xmm2
 5123         vpaddd  32(%rbp),%xmm6,%xmm6
 5124         vpxor   %xmm1,%xmm7,%xmm7
 5125 
 5126         vpsrld  $25,%xmm15,%xmm1
 5127         vpxor   %xmm2,%xmm7,%xmm7
 5128 
 5129         vpslld  $7,%xmm15,%xmm2
 5130         vpandn  %xmm9,%xmm15,%xmm0
 5131         vpand   %xmm8,%xmm15,%xmm4
 5132 
 5133         vpxor   %xmm1,%xmm7,%xmm7
 5134 
 5135         vpsrld  $2,%xmm11,%xmm10
 5136         vpxor   %xmm2,%xmm7,%xmm7
 5137 
 5138         vpslld  $30,%xmm11,%xmm1
 5139         vpxor   %xmm4,%xmm0,%xmm0
 5140         vpxor   %xmm11,%xmm12,%xmm4
 5141 
 5142         vpxor   %xmm1,%xmm10,%xmm10
 5143         vpaddd  %xmm7,%xmm6,%xmm6
 5144 
 5145         vpsrld  $13,%xmm11,%xmm1
 5146 
 5147         vpslld  $19,%xmm11,%xmm2
 5148         vpaddd  %xmm0,%xmm6,%xmm6
 5149         vpand   %xmm4,%xmm3,%xmm3
 5150 
 5151         vpxor   %xmm1,%xmm10,%xmm7
 5152 
 5153         vpsrld  $22,%xmm11,%xmm1
 5154         vpxor   %xmm2,%xmm7,%xmm7
 5155 
 5156         vpslld  $10,%xmm11,%xmm2
 5157         vpxor   %xmm3,%xmm12,%xmm10
 5158         vpaddd  %xmm6,%xmm14,%xmm14
 5159 
 5160         vpxor   %xmm1,%xmm7,%xmm7
 5161         vpxor   %xmm2,%xmm7,%xmm7
 5162 
 5163         vpaddd  %xmm6,%xmm10,%xmm10
 5164         vpaddd  %xmm7,%xmm10,%xmm10
 5165         vmovdqu 240-128(%rax),%xmm6
 5166         vpaddd  112-128(%rax),%xmm5,%xmm5
 5167 
 5168         vpsrld  $3,%xmm6,%xmm7
 5169         vpsrld  $7,%xmm6,%xmm1
 5170         vpslld  $25,%xmm6,%xmm2
 5171         vpxor   %xmm1,%xmm7,%xmm7
 5172         vpsrld  $18,%xmm6,%xmm1
 5173         vpxor   %xmm2,%xmm7,%xmm7
 5174         vpslld  $14,%xmm6,%xmm2
 5175         vmovdqu 192-128(%rax),%xmm0
 5176         vpsrld  $10,%xmm0,%xmm3
 5177 
 5178         vpxor   %xmm1,%xmm7,%xmm7
 5179         vpsrld  $17,%xmm0,%xmm1
 5180         vpxor   %xmm2,%xmm7,%xmm7
 5181         vpslld  $15,%xmm0,%xmm2
 5182         vpaddd  %xmm7,%xmm5,%xmm5
 5183         vpxor   %xmm1,%xmm3,%xmm7
 5184         vpsrld  $19,%xmm0,%xmm1
 5185         vpxor   %xmm2,%xmm7,%xmm7
 5186         vpslld  $13,%xmm0,%xmm2
 5187         vpxor   %xmm1,%xmm7,%xmm7
 5188         vpxor   %xmm2,%xmm7,%xmm7
 5189         vpaddd  %xmm7,%xmm5,%xmm5
 5190         vpsrld  $6,%xmm14,%xmm7
 5191         vpslld  $26,%xmm14,%xmm2
 5192         vmovdqu %xmm5,224-128(%rax)
 5193         vpaddd  %xmm9,%xmm5,%xmm5
 5194 
 5195         vpsrld  $11,%xmm14,%xmm1
 5196         vpxor   %xmm2,%xmm7,%xmm7
 5197         vpslld  $21,%xmm14,%xmm2
 5198         vpaddd  64(%rbp),%xmm5,%xmm5
 5199         vpxor   %xmm1,%xmm7,%xmm7
 5200 
 5201         vpsrld  $25,%xmm14,%xmm1
 5202         vpxor   %xmm2,%xmm7,%xmm7
 5203 
 5204         vpslld  $7,%xmm14,%xmm2
 5205         vpandn  %xmm8,%xmm14,%xmm0
 5206         vpand   %xmm15,%xmm14,%xmm3
 5207 
 5208         vpxor   %xmm1,%xmm7,%xmm7
 5209 
 5210         vpsrld  $2,%xmm10,%xmm9
 5211         vpxor   %xmm2,%xmm7,%xmm7
 5212 
 5213         vpslld  $30,%xmm10,%xmm1
 5214         vpxor   %xmm3,%xmm0,%xmm0
 5215         vpxor   %xmm10,%xmm11,%xmm3
 5216 
 5217         vpxor   %xmm1,%xmm9,%xmm9
 5218         vpaddd  %xmm7,%xmm5,%xmm5
 5219 
 5220         vpsrld  $13,%xmm10,%xmm1
 5221 
 5222         vpslld  $19,%xmm10,%xmm2
 5223         vpaddd  %xmm0,%xmm5,%xmm5
 5224         vpand   %xmm3,%xmm4,%xmm4
 5225 
 5226         vpxor   %xmm1,%xmm9,%xmm7
 5227 
 5228         vpsrld  $22,%xmm10,%xmm1
 5229         vpxor   %xmm2,%xmm7,%xmm7
 5230 
 5231         vpslld  $10,%xmm10,%xmm2
 5232         vpxor   %xmm4,%xmm11,%xmm9
 5233         vpaddd  %xmm5,%xmm13,%xmm13
 5234 
 5235         vpxor   %xmm1,%xmm7,%xmm7
 5236         vpxor   %xmm2,%xmm7,%xmm7
 5237 
 5238         vpaddd  %xmm5,%xmm9,%xmm9
 5239         vpaddd  %xmm7,%xmm9,%xmm9
 5240         vmovdqu 0-128(%rax),%xmm5
 5241         vpaddd  128-128(%rax),%xmm6,%xmm6
 5242 
 5243         vpsrld  $3,%xmm5,%xmm7
 5244         vpsrld  $7,%xmm5,%xmm1
 5245         vpslld  $25,%xmm5,%xmm2
 5246         vpxor   %xmm1,%xmm7,%xmm7
 5247         vpsrld  $18,%xmm5,%xmm1
 5248         vpxor   %xmm2,%xmm7,%xmm7
 5249         vpslld  $14,%xmm5,%xmm2
 5250         vmovdqu 208-128(%rax),%xmm0
 5251         vpsrld  $10,%xmm0,%xmm4
 5252 
 5253         vpxor   %xmm1,%xmm7,%xmm7
 5254         vpsrld  $17,%xmm0,%xmm1
 5255         vpxor   %xmm2,%xmm7,%xmm7
 5256         vpslld  $15,%xmm0,%xmm2
 5257         vpaddd  %xmm7,%xmm6,%xmm6
 5258         vpxor   %xmm1,%xmm4,%xmm7
 5259         vpsrld  $19,%xmm0,%xmm1
 5260         vpxor   %xmm2,%xmm7,%xmm7
 5261         vpslld  $13,%xmm0,%xmm2
 5262         vpxor   %xmm1,%xmm7,%xmm7
 5263         vpxor   %xmm2,%xmm7,%xmm7
 5264         vpaddd  %xmm7,%xmm6,%xmm6
 5265         vpsrld  $6,%xmm13,%xmm7
 5266         vpslld  $26,%xmm13,%xmm2
 5267         vmovdqu %xmm6,240-128(%rax)
 5268         vpaddd  %xmm8,%xmm6,%xmm6
 5269 
 5270         vpsrld  $11,%xmm13,%xmm1
 5271         vpxor   %xmm2,%xmm7,%xmm7
 5272         vpslld  $21,%xmm13,%xmm2
 5273         vpaddd  96(%rbp),%xmm6,%xmm6
 5274         vpxor   %xmm1,%xmm7,%xmm7
 5275 
 5276         vpsrld  $25,%xmm13,%xmm1
 5277         vpxor   %xmm2,%xmm7,%xmm7
 5278 
 5279         vpslld  $7,%xmm13,%xmm2
 5280         vpandn  %xmm15,%xmm13,%xmm0
 5281         vpand   %xmm14,%xmm13,%xmm4
 5282 
 5283         vpxor   %xmm1,%xmm7,%xmm7
 5284 
 5285         vpsrld  $2,%xmm9,%xmm8
 5286         vpxor   %xmm2,%xmm7,%xmm7
 5287 
 5288         vpslld  $30,%xmm9,%xmm1
 5289         vpxor   %xmm4,%xmm0,%xmm0
 5290         vpxor   %xmm9,%xmm10,%xmm4
 5291 
 5292         vpxor   %xmm1,%xmm8,%xmm8
 5293         vpaddd  %xmm7,%xmm6,%xmm6
 5294 
 5295         vpsrld  $13,%xmm9,%xmm1
 5296 
 5297         vpslld  $19,%xmm9,%xmm2
 5298         vpaddd  %xmm0,%xmm6,%xmm6
 5299         vpand   %xmm4,%xmm3,%xmm3
 5300 
 5301         vpxor   %xmm1,%xmm8,%xmm7
 5302 
 5303         vpsrld  $22,%xmm9,%xmm1
 5304         vpxor   %xmm2,%xmm7,%xmm7
 5305 
 5306         vpslld  $10,%xmm9,%xmm2
 5307         vpxor   %xmm3,%xmm10,%xmm8
 5308         vpaddd  %xmm6,%xmm12,%xmm12
 5309 
 5310         vpxor   %xmm1,%xmm7,%xmm7
 5311         vpxor   %xmm2,%xmm7,%xmm7
 5312 
 5313         vpaddd  %xmm6,%xmm8,%xmm8
 5314         vpaddd  %xmm7,%xmm8,%xmm8
 5315         addq    $256,%rbp
 5316         decl    %ecx
 5317         jnz     .Loop_16_xx_avx
 5318 
 5319         movl    $1,%ecx
 5320         leaq    K256+128(%rip),%rbp
 5321         cmpl    0(%rbx),%ecx
 5322         cmovgeq %rbp,%r8
 5323         cmpl    4(%rbx),%ecx
 5324         cmovgeq %rbp,%r9
 5325         cmpl    8(%rbx),%ecx
 5326         cmovgeq %rbp,%r10
 5327         cmpl    12(%rbx),%ecx
 5328         cmovgeq %rbp,%r11
 5329         vmovdqa (%rbx),%xmm7
 5330         vpxor   %xmm0,%xmm0,%xmm0
 5331         vmovdqa %xmm7,%xmm6
 5332         vpcmpgtd        %xmm0,%xmm6,%xmm6
 5333         vpaddd  %xmm6,%xmm7,%xmm7
 5334 
 5335         vmovdqu 0-128(%rdi),%xmm0
 5336         vpand   %xmm6,%xmm8,%xmm8
 5337         vmovdqu 32-128(%rdi),%xmm1
 5338         vpand   %xmm6,%xmm9,%xmm9
 5339         vmovdqu 64-128(%rdi),%xmm2
 5340         vpand   %xmm6,%xmm10,%xmm10
 5341         vmovdqu 96-128(%rdi),%xmm5
 5342         vpand   %xmm6,%xmm11,%xmm11
 5343         vpaddd  %xmm0,%xmm8,%xmm8
 5344         vmovdqu 128-128(%rdi),%xmm0
 5345         vpand   %xmm6,%xmm12,%xmm12
 5346         vpaddd  %xmm1,%xmm9,%xmm9
 5347         vmovdqu 160-128(%rdi),%xmm1
 5348         vpand   %xmm6,%xmm13,%xmm13
 5349         vpaddd  %xmm2,%xmm10,%xmm10
 5350         vmovdqu 192-128(%rdi),%xmm2
 5351         vpand   %xmm6,%xmm14,%xmm14
 5352         vpaddd  %xmm5,%xmm11,%xmm11
 5353         vmovdqu 224-128(%rdi),%xmm5
 5354         vpand   %xmm6,%xmm15,%xmm15
 5355         vpaddd  %xmm0,%xmm12,%xmm12
 5356         vpaddd  %xmm1,%xmm13,%xmm13
 5357         vmovdqu %xmm8,0-128(%rdi)
 5358         vpaddd  %xmm2,%xmm14,%xmm14
 5359         vmovdqu %xmm9,32-128(%rdi)
 5360         vpaddd  %xmm5,%xmm15,%xmm15
 5361         vmovdqu %xmm10,64-128(%rdi)
 5362         vmovdqu %xmm11,96-128(%rdi)
 5363         vmovdqu %xmm12,128-128(%rdi)
 5364         vmovdqu %xmm13,160-128(%rdi)
 5365         vmovdqu %xmm14,192-128(%rdi)
 5366         vmovdqu %xmm15,224-128(%rdi)
 5367 
 5368         vmovdqu %xmm7,(%rbx)
 5369         vmovdqu .Lpbswap(%rip),%xmm6
 5370         decl    %edx
 5371         jnz     .Loop_avx
 5372 
 5373         movl    280(%rsp),%edx
 5374         leaq    16(%rdi),%rdi
 5375         leaq    64(%rsi),%rsi
 5376         decl    %edx
 5377         jnz     .Loop_grande_avx
 5378 
 5379 .Ldone_avx:
 5380         movq    272(%rsp),%rax
 5381 .cfi_def_cfa    %rax,8
 5382         vzeroupper
 5383         movq    -16(%rax),%rbp
 5384 .cfi_restore    %rbp
 5385         movq    -8(%rax),%rbx
 5386 .cfi_restore    %rbx
 5387         leaq    (%rax),%rsp
 5388 .cfi_def_cfa_register   %rsp
 5389 .Lepilogue_avx:
 5390         .byte   0xf3,0xc3
 5391 .cfi_endproc    
 5392 .size   sha256_multi_block_avx,.-sha256_multi_block_avx
 5393 .type   sha256_multi_block_avx2,@function
 5394 .align  32
 5395 sha256_multi_block_avx2:
 5396 .cfi_startproc  
 5397 _avx2_shortcut:
 5398         movq    %rsp,%rax
 5399 .cfi_def_cfa_register   %rax
 5400         pushq   %rbx
 5401 .cfi_offset     %rbx,-16
 5402         pushq   %rbp
 5403 .cfi_offset     %rbp,-24
 5404         pushq   %r12
 5405 .cfi_offset     %r12,-32
 5406         pushq   %r13
 5407 .cfi_offset     %r13,-40
 5408         pushq   %r14
 5409 .cfi_offset     %r14,-48
 5410         pushq   %r15
 5411 .cfi_offset     %r15,-56
 5412         subq    $576,%rsp
 5413         andq    $-256,%rsp
 5414         movq    %rax,544(%rsp)
 5415 .cfi_escape     0x0f,0x06,0x77,0xa0,0x04,0x06,0x23,0x08
 5416 .Lbody_avx2:
 5417         leaq    K256+128(%rip),%rbp
 5418         leaq    128(%rdi),%rdi
 5419 
 5420 .Loop_grande_avx2:
 5421         movl    %edx,552(%rsp)
 5422         xorl    %edx,%edx
 5423         leaq    512(%rsp),%rbx
 5424         movq    0(%rsi),%r12
 5425         movl    8(%rsi),%ecx
 5426         cmpl    %edx,%ecx
 5427         cmovgl  %ecx,%edx
 5428         testl   %ecx,%ecx
 5429         movl    %ecx,0(%rbx)
 5430         cmovleq %rbp,%r12
 5431         movq    16(%rsi),%r13
 5432         movl    24(%rsi),%ecx
 5433         cmpl    %edx,%ecx
 5434         cmovgl  %ecx,%edx
 5435         testl   %ecx,%ecx
 5436         movl    %ecx,4(%rbx)
 5437         cmovleq %rbp,%r13
 5438         movq    32(%rsi),%r14
 5439         movl    40(%rsi),%ecx
 5440         cmpl    %edx,%ecx
 5441         cmovgl  %ecx,%edx
 5442         testl   %ecx,%ecx
 5443         movl    %ecx,8(%rbx)
 5444         cmovleq %rbp,%r14
 5445         movq    48(%rsi),%r15
 5446         movl    56(%rsi),%ecx
 5447         cmpl    %edx,%ecx
 5448         cmovgl  %ecx,%edx
 5449         testl   %ecx,%ecx
 5450         movl    %ecx,12(%rbx)
 5451         cmovleq %rbp,%r15
 5452         movq    64(%rsi),%r8
 5453         movl    72(%rsi),%ecx
 5454         cmpl    %edx,%ecx
 5455         cmovgl  %ecx,%edx
 5456         testl   %ecx,%ecx
 5457         movl    %ecx,16(%rbx)
 5458         cmovleq %rbp,%r8
 5459         movq    80(%rsi),%r9
 5460         movl    88(%rsi),%ecx
 5461         cmpl    %edx,%ecx
 5462         cmovgl  %ecx,%edx
 5463         testl   %ecx,%ecx
 5464         movl    %ecx,20(%rbx)
 5465         cmovleq %rbp,%r9
 5466         movq    96(%rsi),%r10
 5467         movl    104(%rsi),%ecx
 5468         cmpl    %edx,%ecx
 5469         cmovgl  %ecx,%edx
 5470         testl   %ecx,%ecx
 5471         movl    %ecx,24(%rbx)
 5472         cmovleq %rbp,%r10
 5473         movq    112(%rsi),%r11
 5474         movl    120(%rsi),%ecx
 5475         cmpl    %edx,%ecx
 5476         cmovgl  %ecx,%edx
 5477         testl   %ecx,%ecx
 5478         movl    %ecx,28(%rbx)
 5479         cmovleq %rbp,%r11
 5480         vmovdqu 0-128(%rdi),%ymm8
 5481         leaq    128(%rsp),%rax
 5482         vmovdqu 32-128(%rdi),%ymm9
 5483         leaq    256+128(%rsp),%rbx
 5484         vmovdqu 64-128(%rdi),%ymm10
 5485         vmovdqu 96-128(%rdi),%ymm11
 5486         vmovdqu 128-128(%rdi),%ymm12
 5487         vmovdqu 160-128(%rdi),%ymm13
 5488         vmovdqu 192-128(%rdi),%ymm14
 5489         vmovdqu 224-128(%rdi),%ymm15
 5490         vmovdqu .Lpbswap(%rip),%ymm6
 5491         jmp     .Loop_avx2
 5492 
 5493 .align  32
 5494 .Loop_avx2:
 5495         vpxor   %ymm9,%ymm10,%ymm4
 5496         vmovd   0(%r12),%xmm5
 5497         vmovd   0(%r8),%xmm0
 5498         vmovd   0(%r13),%xmm1
 5499         vmovd   0(%r9),%xmm2
 5500         vpinsrd $1,0(%r14),%xmm5,%xmm5
 5501         vpinsrd $1,0(%r10),%xmm0,%xmm0
 5502         vpinsrd $1,0(%r15),%xmm1,%xmm1
 5503         vpunpckldq      %ymm1,%ymm5,%ymm5
 5504         vpinsrd $1,0(%r11),%xmm2,%xmm2
 5505         vpunpckldq      %ymm2,%ymm0,%ymm0
 5506         vinserti128     $1,%xmm0,%ymm5,%ymm5
 5507         vpshufb %ymm6,%ymm5,%ymm5
 5508         vpsrld  $6,%ymm12,%ymm7
 5509         vpslld  $26,%ymm12,%ymm2
 5510         vmovdqu %ymm5,0-128(%rax)
 5511         vpaddd  %ymm15,%ymm5,%ymm5
 5512 
 5513         vpsrld  $11,%ymm12,%ymm1
 5514         vpxor   %ymm2,%ymm7,%ymm7
 5515         vpslld  $21,%ymm12,%ymm2
 5516         vpaddd  -128(%rbp),%ymm5,%ymm5
 5517         vpxor   %ymm1,%ymm7,%ymm7
 5518 
 5519         vpsrld  $25,%ymm12,%ymm1
 5520         vpxor   %ymm2,%ymm7,%ymm7
 5521 
 5522         vpslld  $7,%ymm12,%ymm2
 5523         vpandn  %ymm14,%ymm12,%ymm0
 5524         vpand   %ymm13,%ymm12,%ymm3
 5525 
 5526         vpxor   %ymm1,%ymm7,%ymm7
 5527 
 5528         vpsrld  $2,%ymm8,%ymm15
 5529         vpxor   %ymm2,%ymm7,%ymm7
 5530 
 5531         vpslld  $30,%ymm8,%ymm1
 5532         vpxor   %ymm3,%ymm0,%ymm0
 5533         vpxor   %ymm8,%ymm9,%ymm3
 5534 
 5535         vpxor   %ymm1,%ymm15,%ymm15
 5536         vpaddd  %ymm7,%ymm5,%ymm5
 5537 
 5538         vpsrld  $13,%ymm8,%ymm1
 5539 
 5540         vpslld  $19,%ymm8,%ymm2
 5541         vpaddd  %ymm0,%ymm5,%ymm5
 5542         vpand   %ymm3,%ymm4,%ymm4
 5543 
 5544         vpxor   %ymm1,%ymm15,%ymm7
 5545 
 5546         vpsrld  $22,%ymm8,%ymm1
 5547         vpxor   %ymm2,%ymm7,%ymm7
 5548 
 5549         vpslld  $10,%ymm8,%ymm2
 5550         vpxor   %ymm4,%ymm9,%ymm15
 5551         vpaddd  %ymm5,%ymm11,%ymm11
 5552 
 5553         vpxor   %ymm1,%ymm7,%ymm7
 5554         vpxor   %ymm2,%ymm7,%ymm7
 5555 
 5556         vpaddd  %ymm5,%ymm15,%ymm15
 5557         vpaddd  %ymm7,%ymm15,%ymm15
 5558         vmovd   4(%r12),%xmm5
 5559         vmovd   4(%r8),%xmm0
 5560         vmovd   4(%r13),%xmm1
 5561         vmovd   4(%r9),%xmm2
 5562         vpinsrd $1,4(%r14),%xmm5,%xmm5
 5563         vpinsrd $1,4(%r10),%xmm0,%xmm0
 5564         vpinsrd $1,4(%r15),%xmm1,%xmm1
 5565         vpunpckldq      %ymm1,%ymm5,%ymm5
 5566         vpinsrd $1,4(%r11),%xmm2,%xmm2
 5567         vpunpckldq      %ymm2,%ymm0,%ymm0
 5568         vinserti128     $1,%xmm0,%ymm5,%ymm5
 5569         vpshufb %ymm6,%ymm5,%ymm5
 5570         vpsrld  $6,%ymm11,%ymm7
 5571         vpslld  $26,%ymm11,%ymm2
 5572         vmovdqu %ymm5,32-128(%rax)
 5573         vpaddd  %ymm14,%ymm5,%ymm5
 5574 
 5575         vpsrld  $11,%ymm11,%ymm1
 5576         vpxor   %ymm2,%ymm7,%ymm7
 5577         vpslld  $21,%ymm11,%ymm2
 5578         vpaddd  -96(%rbp),%ymm5,%ymm5
 5579         vpxor   %ymm1,%ymm7,%ymm7
 5580 
 5581         vpsrld  $25,%ymm11,%ymm1
 5582         vpxor   %ymm2,%ymm7,%ymm7
 5583 
 5584         vpslld  $7,%ymm11,%ymm2
 5585         vpandn  %ymm13,%ymm11,%ymm0
 5586         vpand   %ymm12,%ymm11,%ymm4
 5587 
 5588         vpxor   %ymm1,%ymm7,%ymm7
 5589 
 5590         vpsrld  $2,%ymm15,%ymm14
 5591         vpxor   %ymm2,%ymm7,%ymm7
 5592 
 5593         vpslld  $30,%ymm15,%ymm1
 5594         vpxor   %ymm4,%ymm0,%ymm0
 5595         vpxor   %ymm15,%ymm8,%ymm4
 5596 
 5597         vpxor   %ymm1,%ymm14,%ymm14
 5598         vpaddd  %ymm7,%ymm5,%ymm5
 5599 
 5600         vpsrld  $13,%ymm15,%ymm1
 5601 
 5602         vpslld  $19,%ymm15,%ymm2
 5603         vpaddd  %ymm0,%ymm5,%ymm5
 5604         vpand   %ymm4,%ymm3,%ymm3
 5605 
 5606         vpxor   %ymm1,%ymm14,%ymm7
 5607 
 5608         vpsrld  $22,%ymm15,%ymm1
 5609         vpxor   %ymm2,%ymm7,%ymm7
 5610 
 5611         vpslld  $10,%ymm15,%ymm2
 5612         vpxor   %ymm3,%ymm8,%ymm14
 5613         vpaddd  %ymm5,%ymm10,%ymm10
 5614 
 5615         vpxor   %ymm1,%ymm7,%ymm7
 5616         vpxor   %ymm2,%ymm7,%ymm7
 5617 
 5618         vpaddd  %ymm5,%ymm14,%ymm14
 5619         vpaddd  %ymm7,%ymm14,%ymm14
 5620         vmovd   8(%r12),%xmm5
 5621         vmovd   8(%r8),%xmm0
 5622         vmovd   8(%r13),%xmm1
 5623         vmovd   8(%r9),%xmm2
 5624         vpinsrd $1,8(%r14),%xmm5,%xmm5
 5625         vpinsrd $1,8(%r10),%xmm0,%xmm0
 5626         vpinsrd $1,8(%r15),%xmm1,%xmm1
 5627         vpunpckldq      %ymm1,%ymm5,%ymm5
 5628         vpinsrd $1,8(%r11),%xmm2,%xmm2
 5629         vpunpckldq      %ymm2,%ymm0,%ymm0
 5630         vinserti128     $1,%xmm0,%ymm5,%ymm5
 5631         vpshufb %ymm6,%ymm5,%ymm5
 5632         vpsrld  $6,%ymm10,%ymm7
 5633         vpslld  $26,%ymm10,%ymm2
 5634         vmovdqu %ymm5,64-128(%rax)
 5635         vpaddd  %ymm13,%ymm5,%ymm5
 5636 
 5637         vpsrld  $11,%ymm10,%ymm1
 5638         vpxor   %ymm2,%ymm7,%ymm7
 5639         vpslld  $21,%ymm10,%ymm2
 5640         vpaddd  -64(%rbp),%ymm5,%ymm5
 5641         vpxor   %ymm1,%ymm7,%ymm7
 5642 
 5643         vpsrld  $25,%ymm10,%ymm1
 5644         vpxor   %ymm2,%ymm7,%ymm7
 5645 
 5646         vpslld  $7,%ymm10,%ymm2
 5647         vpandn  %ymm12,%ymm10,%ymm0
 5648         vpand   %ymm11,%ymm10,%ymm3
 5649 
 5650         vpxor   %ymm1,%ymm7,%ymm7
 5651 
 5652         vpsrld  $2,%ymm14,%ymm13
 5653         vpxor   %ymm2,%ymm7,%ymm7
 5654 
 5655         vpslld  $30,%ymm14,%ymm1
 5656         vpxor   %ymm3,%ymm0,%ymm0
 5657         vpxor   %ymm14,%ymm15,%ymm3
 5658 
 5659         vpxor   %ymm1,%ymm13,%ymm13
 5660         vpaddd  %ymm7,%ymm5,%ymm5
 5661 
 5662         vpsrld  $13,%ymm14,%ymm1
 5663 
 5664         vpslld  $19,%ymm14,%ymm2
 5665         vpaddd  %ymm0,%ymm5,%ymm5
 5666         vpand   %ymm3,%ymm4,%ymm4
 5667 
 5668         vpxor   %ymm1,%ymm13,%ymm7
 5669 
 5670         vpsrld  $22,%ymm14,%ymm1
 5671         vpxor   %ymm2,%ymm7,%ymm7
 5672 
 5673         vpslld  $10,%ymm14,%ymm2
 5674         vpxor   %ymm4,%ymm15,%ymm13
 5675         vpaddd  %ymm5,%ymm9,%ymm9
 5676 
 5677         vpxor   %ymm1,%ymm7,%ymm7
 5678         vpxor   %ymm2,%ymm7,%ymm7
 5679 
 5680         vpaddd  %ymm5,%ymm13,%ymm13
 5681         vpaddd  %ymm7,%ymm13,%ymm13
 5682         vmovd   12(%r12),%xmm5
 5683         vmovd   12(%r8),%xmm0
 5684         vmovd   12(%r13),%xmm1
 5685         vmovd   12(%r9),%xmm2
 5686         vpinsrd $1,12(%r14),%xmm5,%xmm5
 5687         vpinsrd $1,12(%r10),%xmm0,%xmm0
 5688         vpinsrd $1,12(%r15),%xmm1,%xmm1
 5689         vpunpckldq      %ymm1,%ymm5,%ymm5
 5690         vpinsrd $1,12(%r11),%xmm2,%xmm2
 5691         vpunpckldq      %ymm2,%ymm0,%ymm0
 5692         vinserti128     $1,%xmm0,%ymm5,%ymm5
 5693         vpshufb %ymm6,%ymm5,%ymm5
 5694         vpsrld  $6,%ymm9,%ymm7
 5695         vpslld  $26,%ymm9,%ymm2
 5696         vmovdqu %ymm5,96-128(%rax)
 5697         vpaddd  %ymm12,%ymm5,%ymm5
 5698 
 5699         vpsrld  $11,%ymm9,%ymm1
 5700         vpxor   %ymm2,%ymm7,%ymm7
 5701         vpslld  $21,%ymm9,%ymm2
 5702         vpaddd  -32(%rbp),%ymm5,%ymm5
 5703         vpxor   %ymm1,%ymm7,%ymm7
 5704 
 5705         vpsrld  $25,%ymm9,%ymm1
 5706         vpxor   %ymm2,%ymm7,%ymm7
 5707 
 5708         vpslld  $7,%ymm9,%ymm2
 5709         vpandn  %ymm11,%ymm9,%ymm0
 5710         vpand   %ymm10,%ymm9,%ymm4
 5711 
 5712         vpxor   %ymm1,%ymm7,%ymm7
 5713 
 5714         vpsrld  $2,%ymm13,%ymm12
 5715         vpxor   %ymm2,%ymm7,%ymm7
 5716 
 5717         vpslld  $30,%ymm13,%ymm1
 5718         vpxor   %ymm4,%ymm0,%ymm0
 5719         vpxor   %ymm13,%ymm14,%ymm4
 5720 
 5721         vpxor   %ymm1,%ymm12,%ymm12
 5722         vpaddd  %ymm7,%ymm5,%ymm5
 5723 
 5724         vpsrld  $13,%ymm13,%ymm1
 5725 
 5726         vpslld  $19,%ymm13,%ymm2
 5727         vpaddd  %ymm0,%ymm5,%ymm5
 5728         vpand   %ymm4,%ymm3,%ymm3
 5729 
 5730         vpxor   %ymm1,%ymm12,%ymm7
 5731 
 5732         vpsrld  $22,%ymm13,%ymm1
 5733         vpxor   %ymm2,%ymm7,%ymm7
 5734 
 5735         vpslld  $10,%ymm13,%ymm2
 5736         vpxor   %ymm3,%ymm14,%ymm12
 5737         vpaddd  %ymm5,%ymm8,%ymm8
 5738 
 5739         vpxor   %ymm1,%ymm7,%ymm7
 5740         vpxor   %ymm2,%ymm7,%ymm7
 5741 
 5742         vpaddd  %ymm5,%ymm12,%ymm12
 5743         vpaddd  %ymm7,%ymm12,%ymm12
 5744         vmovd   16(%r12),%xmm5
 5745         vmovd   16(%r8),%xmm0
 5746         vmovd   16(%r13),%xmm1
 5747         vmovd   16(%r9),%xmm2
 5748         vpinsrd $1,16(%r14),%xmm5,%xmm5
 5749         vpinsrd $1,16(%r10),%xmm0,%xmm0
 5750         vpinsrd $1,16(%r15),%xmm1,%xmm1
 5751         vpunpckldq      %ymm1,%ymm5,%ymm5
 5752         vpinsrd $1,16(%r11),%xmm2,%xmm2
 5753         vpunpckldq      %ymm2,%ymm0,%ymm0
 5754         vinserti128     $1,%xmm0,%ymm5,%ymm5
 5755         vpshufb %ymm6,%ymm5,%ymm5
 5756         vpsrld  $6,%ymm8,%ymm7
 5757         vpslld  $26,%ymm8,%ymm2
 5758         vmovdqu %ymm5,128-128(%rax)
 5759         vpaddd  %ymm11,%ymm5,%ymm5
 5760 
 5761         vpsrld  $11,%ymm8,%ymm1
 5762         vpxor   %ymm2,%ymm7,%ymm7
 5763         vpslld  $21,%ymm8,%ymm2
 5764         vpaddd  0(%rbp),%ymm5,%ymm5
 5765         vpxor   %ymm1,%ymm7,%ymm7
 5766 
 5767         vpsrld  $25,%ymm8,%ymm1
 5768         vpxor   %ymm2,%ymm7,%ymm7
 5769 
 5770         vpslld  $7,%ymm8,%ymm2
 5771         vpandn  %ymm10,%ymm8,%ymm0
 5772         vpand   %ymm9,%ymm8,%ymm3
 5773 
 5774         vpxor   %ymm1,%ymm7,%ymm7
 5775 
 5776         vpsrld  $2,%ymm12,%ymm11
 5777         vpxor   %ymm2,%ymm7,%ymm7
 5778 
 5779         vpslld  $30,%ymm12,%ymm1
 5780         vpxor   %ymm3,%ymm0,%ymm0
 5781         vpxor   %ymm12,%ymm13,%ymm3
 5782 
 5783         vpxor   %ymm1,%ymm11,%ymm11
 5784         vpaddd  %ymm7,%ymm5,%ymm5
 5785 
 5786         vpsrld  $13,%ymm12,%ymm1
 5787 
 5788         vpslld  $19,%ymm12,%ymm2
 5789         vpaddd  %ymm0,%ymm5,%ymm5
 5790         vpand   %ymm3,%ymm4,%ymm4
 5791 
 5792         vpxor   %ymm1,%ymm11,%ymm7
 5793 
 5794         vpsrld  $22,%ymm12,%ymm1
 5795         vpxor   %ymm2,%ymm7,%ymm7
 5796 
 5797         vpslld  $10,%ymm12,%ymm2
 5798         vpxor   %ymm4,%ymm13,%ymm11
 5799         vpaddd  %ymm5,%ymm15,%ymm15
 5800 
 5801         vpxor   %ymm1,%ymm7,%ymm7
 5802         vpxor   %ymm2,%ymm7,%ymm7
 5803 
 5804         vpaddd  %ymm5,%ymm11,%ymm11
 5805         vpaddd  %ymm7,%ymm11,%ymm11
 5806         vmovd   20(%r12),%xmm5
 5807         vmovd   20(%r8),%xmm0
 5808         vmovd   20(%r13),%xmm1
 5809         vmovd   20(%r9),%xmm2
 5810         vpinsrd $1,20(%r14),%xmm5,%xmm5
 5811         vpinsrd $1,20(%r10),%xmm0,%xmm0
 5812         vpinsrd $1,20(%r15),%xmm1,%xmm1
 5813         vpunpckldq      %ymm1,%ymm5,%ymm5
 5814         vpinsrd $1,20(%r11),%xmm2,%xmm2
 5815         vpunpckldq      %ymm2,%ymm0,%ymm0
 5816         vinserti128     $1,%xmm0,%ymm5,%ymm5
 5817         vpshufb %ymm6,%ymm5,%ymm5
 5818         vpsrld  $6,%ymm15,%ymm7
 5819         vpslld  $26,%ymm15,%ymm2
 5820         vmovdqu %ymm5,160-128(%rax)
 5821         vpaddd  %ymm10,%ymm5,%ymm5
 5822 
 5823         vpsrld  $11,%ymm15,%ymm1
 5824         vpxor   %ymm2,%ymm7,%ymm7
 5825         vpslld  $21,%ymm15,%ymm2
 5826         vpaddd  32(%rbp),%ymm5,%ymm5
 5827         vpxor   %ymm1,%ymm7,%ymm7
 5828 
 5829         vpsrld  $25,%ymm15,%ymm1
 5830         vpxor   %ymm2,%ymm7,%ymm7
 5831 
 5832         vpslld  $7,%ymm15,%ymm2
 5833         vpandn  %ymm9,%ymm15,%ymm0
 5834         vpand   %ymm8,%ymm15,%ymm4
 5835 
 5836         vpxor   %ymm1,%ymm7,%ymm7
 5837 
 5838         vpsrld  $2,%ymm11,%ymm10
 5839         vpxor   %ymm2,%ymm7,%ymm7
 5840 
 5841         vpslld  $30,%ymm11,%ymm1
 5842         vpxor   %ymm4,%ymm0,%ymm0
 5843         vpxor   %ymm11,%ymm12,%ymm4
 5844 
 5845         vpxor   %ymm1,%ymm10,%ymm10
 5846         vpaddd  %ymm7,%ymm5,%ymm5
 5847 
 5848         vpsrld  $13,%ymm11,%ymm1
 5849 
 5850         vpslld  $19,%ymm11,%ymm2
 5851         vpaddd  %ymm0,%ymm5,%ymm5
 5852         vpand   %ymm4,%ymm3,%ymm3
 5853 
 5854         vpxor   %ymm1,%ymm10,%ymm7
 5855 
 5856         vpsrld  $22,%ymm11,%ymm1
 5857         vpxor   %ymm2,%ymm7,%ymm7
 5858 
 5859         vpslld  $10,%ymm11,%ymm2
 5860         vpxor   %ymm3,%ymm12,%ymm10
 5861         vpaddd  %ymm5,%ymm14,%ymm14
 5862 
 5863         vpxor   %ymm1,%ymm7,%ymm7
 5864         vpxor   %ymm2,%ymm7,%ymm7
 5865 
 5866         vpaddd  %ymm5,%ymm10,%ymm10
 5867         vpaddd  %ymm7,%ymm10,%ymm10
 5868         vmovd   24(%r12),%xmm5
 5869         vmovd   24(%r8),%xmm0
 5870         vmovd   24(%r13),%xmm1
 5871         vmovd   24(%r9),%xmm2
 5872         vpinsrd $1,24(%r14),%xmm5,%xmm5
 5873         vpinsrd $1,24(%r10),%xmm0,%xmm0
 5874         vpinsrd $1,24(%r15),%xmm1,%xmm1
 5875         vpunpckldq      %ymm1,%ymm5,%ymm5
 5876         vpinsrd $1,24(%r11),%xmm2,%xmm2
 5877         vpunpckldq      %ymm2,%ymm0,%ymm0
 5878         vinserti128     $1,%xmm0,%ymm5,%ymm5
 5879         vpshufb %ymm6,%ymm5,%ymm5
 5880         vpsrld  $6,%ymm14,%ymm7
 5881         vpslld  $26,%ymm14,%ymm2
 5882         vmovdqu %ymm5,192-128(%rax)
 5883         vpaddd  %ymm9,%ymm5,%ymm5
 5884 
 5885         vpsrld  $11,%ymm14,%ymm1
 5886         vpxor   %ymm2,%ymm7,%ymm7
 5887         vpslld  $21,%ymm14,%ymm2
 5888         vpaddd  64(%rbp),%ymm5,%ymm5
 5889         vpxor   %ymm1,%ymm7,%ymm7
 5890 
 5891         vpsrld  $25,%ymm14,%ymm1
 5892         vpxor   %ymm2,%ymm7,%ymm7
 5893 
 5894         vpslld  $7,%ymm14,%ymm2
 5895         vpandn  %ymm8,%ymm14,%ymm0
 5896         vpand   %ymm15,%ymm14,%ymm3
 5897 
 5898         vpxor   %ymm1,%ymm7,%ymm7
 5899 
 5900         vpsrld  $2,%ymm10,%ymm9
 5901         vpxor   %ymm2,%ymm7,%ymm7
 5902 
 5903         vpslld  $30,%ymm10,%ymm1
 5904         vpxor   %ymm3,%ymm0,%ymm0
 5905         vpxor   %ymm10,%ymm11,%ymm3
 5906 
 5907         vpxor   %ymm1,%ymm9,%ymm9
 5908         vpaddd  %ymm7,%ymm5,%ymm5
 5909 
 5910         vpsrld  $13,%ymm10,%ymm1
 5911 
 5912         vpslld  $19,%ymm10,%ymm2
 5913         vpaddd  %ymm0,%ymm5,%ymm5
 5914         vpand   %ymm3,%ymm4,%ymm4
 5915 
 5916         vpxor   %ymm1,%ymm9,%ymm7
 5917 
 5918         vpsrld  $22,%ymm10,%ymm1
 5919         vpxor   %ymm2,%ymm7,%ymm7
 5920 
 5921         vpslld  $10,%ymm10,%ymm2
 5922         vpxor   %ymm4,%ymm11,%ymm9
 5923         vpaddd  %ymm5,%ymm13,%ymm13
 5924 
 5925         vpxor   %ymm1,%ymm7,%ymm7
 5926         vpxor   %ymm2,%ymm7,%ymm7
 5927 
 5928         vpaddd  %ymm5,%ymm9,%ymm9
 5929         vpaddd  %ymm7,%ymm9,%ymm9
 5930         vmovd   28(%r12),%xmm5
 5931         vmovd   28(%r8),%xmm0
 5932         vmovd   28(%r13),%xmm1
 5933         vmovd   28(%r9),%xmm2
 5934         vpinsrd $1,28(%r14),%xmm5,%xmm5
 5935         vpinsrd $1,28(%r10),%xmm0,%xmm0
 5936         vpinsrd $1,28(%r15),%xmm1,%xmm1
 5937         vpunpckldq      %ymm1,%ymm5,%ymm5
 5938         vpinsrd $1,28(%r11),%xmm2,%xmm2
 5939         vpunpckldq      %ymm2,%ymm0,%ymm0
 5940         vinserti128     $1,%xmm0,%ymm5,%ymm5
 5941         vpshufb %ymm6,%ymm5,%ymm5
 5942         vpsrld  $6,%ymm13,%ymm7
 5943         vpslld  $26,%ymm13,%ymm2
 5944         vmovdqu %ymm5,224-128(%rax)
 5945         vpaddd  %ymm8,%ymm5,%ymm5
 5946 
 5947         vpsrld  $11,%ymm13,%ymm1
 5948         vpxor   %ymm2,%ymm7,%ymm7
 5949         vpslld  $21,%ymm13,%ymm2
 5950         vpaddd  96(%rbp),%ymm5,%ymm5
 5951         vpxor   %ymm1,%ymm7,%ymm7
 5952 
 5953         vpsrld  $25,%ymm13,%ymm1
 5954         vpxor   %ymm2,%ymm7,%ymm7
 5955 
 5956         vpslld  $7,%ymm13,%ymm2
 5957         vpandn  %ymm15,%ymm13,%ymm0
 5958         vpand   %ymm14,%ymm13,%ymm4
 5959 
 5960         vpxor   %ymm1,%ymm7,%ymm7
 5961 
 5962         vpsrld  $2,%ymm9,%ymm8
 5963         vpxor   %ymm2,%ymm7,%ymm7
 5964 
 5965         vpslld  $30,%ymm9,%ymm1
 5966         vpxor   %ymm4,%ymm0,%ymm0
 5967         vpxor   %ymm9,%ymm10,%ymm4
 5968 
 5969         vpxor   %ymm1,%ymm8,%ymm8
 5970         vpaddd  %ymm7,%ymm5,%ymm5
 5971 
 5972         vpsrld  $13,%ymm9,%ymm1
 5973 
 5974         vpslld  $19,%ymm9,%ymm2
 5975         vpaddd  %ymm0,%ymm5,%ymm5
 5976         vpand   %ymm4,%ymm3,%ymm3
 5977 
 5978         vpxor   %ymm1,%ymm8,%ymm7
 5979 
 5980         vpsrld  $22,%ymm9,%ymm1
 5981         vpxor   %ymm2,%ymm7,%ymm7
 5982 
 5983         vpslld  $10,%ymm9,%ymm2
 5984         vpxor   %ymm3,%ymm10,%ymm8
 5985         vpaddd  %ymm5,%ymm12,%ymm12
 5986 
 5987         vpxor   %ymm1,%ymm7,%ymm7
 5988         vpxor   %ymm2,%ymm7,%ymm7
 5989 
 5990         vpaddd  %ymm5,%ymm8,%ymm8
 5991         vpaddd  %ymm7,%ymm8,%ymm8
 5992         addq    $256,%rbp
 5993         vmovd   32(%r12),%xmm5
 5994         vmovd   32(%r8),%xmm0
 5995         vmovd   32(%r13),%xmm1
 5996         vmovd   32(%r9),%xmm2
 5997         vpinsrd $1,32(%r14),%xmm5,%xmm5
 5998         vpinsrd $1,32(%r10),%xmm0,%xmm0
 5999         vpinsrd $1,32(%r15),%xmm1,%xmm1
 6000         vpunpckldq      %ymm1,%ymm5,%ymm5
 6001         vpinsrd $1,32(%r11),%xmm2,%xmm2
 6002         vpunpckldq      %ymm2,%ymm0,%ymm0
 6003         vinserti128     $1,%xmm0,%ymm5,%ymm5
 6004         vpshufb %ymm6,%ymm5,%ymm5
 6005         vpsrld  $6,%ymm12,%ymm7
 6006         vpslld  $26,%ymm12,%ymm2
 6007         vmovdqu %ymm5,256-256-128(%rbx)
 6008         vpaddd  %ymm15,%ymm5,%ymm5
 6009 
 6010         vpsrld  $11,%ymm12,%ymm1
 6011         vpxor   %ymm2,%ymm7,%ymm7
 6012         vpslld  $21,%ymm12,%ymm2
 6013         vpaddd  -128(%rbp),%ymm5,%ymm5
 6014         vpxor   %ymm1,%ymm7,%ymm7
 6015 
 6016         vpsrld  $25,%ymm12,%ymm1
 6017         vpxor   %ymm2,%ymm7,%ymm7
 6018 
 6019         vpslld  $7,%ymm12,%ymm2
 6020         vpandn  %ymm14,%ymm12,%ymm0
 6021         vpand   %ymm13,%ymm12,%ymm3
 6022 
 6023         vpxor   %ymm1,%ymm7,%ymm7
 6024 
 6025         vpsrld  $2,%ymm8,%ymm15
 6026         vpxor   %ymm2,%ymm7,%ymm7
 6027 
 6028         vpslld  $30,%ymm8,%ymm1
 6029         vpxor   %ymm3,%ymm0,%ymm0
 6030         vpxor   %ymm8,%ymm9,%ymm3
 6031 
 6032         vpxor   %ymm1,%ymm15,%ymm15
 6033         vpaddd  %ymm7,%ymm5,%ymm5
 6034 
 6035         vpsrld  $13,%ymm8,%ymm1
 6036 
 6037         vpslld  $19,%ymm8,%ymm2
 6038         vpaddd  %ymm0,%ymm5,%ymm5
 6039         vpand   %ymm3,%ymm4,%ymm4
 6040 
 6041         vpxor   %ymm1,%ymm15,%ymm7
 6042 
 6043         vpsrld  $22,%ymm8,%ymm1
 6044         vpxor   %ymm2,%ymm7,%ymm7
 6045 
 6046         vpslld  $10,%ymm8,%ymm2
 6047         vpxor   %ymm4,%ymm9,%ymm15
 6048         vpaddd  %ymm5,%ymm11,%ymm11
 6049 
 6050         vpxor   %ymm1,%ymm7,%ymm7
 6051         vpxor   %ymm2,%ymm7,%ymm7
 6052 
 6053         vpaddd  %ymm5,%ymm15,%ymm15
 6054         vpaddd  %ymm7,%ymm15,%ymm15
 6055         vmovd   36(%r12),%xmm5
 6056         vmovd   36(%r8),%xmm0
 6057         vmovd   36(%r13),%xmm1
 6058         vmovd   36(%r9),%xmm2
 6059         vpinsrd $1,36(%r14),%xmm5,%xmm5
 6060         vpinsrd $1,36(%r10),%xmm0,%xmm0
 6061         vpinsrd $1,36(%r15),%xmm1,%xmm1
 6062         vpunpckldq      %ymm1,%ymm5,%ymm5
 6063         vpinsrd $1,36(%r11),%xmm2,%xmm2
 6064         vpunpckldq      %ymm2,%ymm0,%ymm0
 6065         vinserti128     $1,%xmm0,%ymm5,%ymm5
 6066         vpshufb %ymm6,%ymm5,%ymm5
 6067         vpsrld  $6,%ymm11,%ymm7
 6068         vpslld  $26,%ymm11,%ymm2
 6069         vmovdqu %ymm5,288-256-128(%rbx)
 6070         vpaddd  %ymm14,%ymm5,%ymm5
 6071 
 6072         vpsrld  $11,%ymm11,%ymm1
 6073         vpxor   %ymm2,%ymm7,%ymm7
 6074         vpslld  $21,%ymm11,%ymm2
 6075         vpaddd  -96(%rbp),%ymm5,%ymm5
 6076         vpxor   %ymm1,%ymm7,%ymm7
 6077 
 6078         vpsrld  $25,%ymm11,%ymm1
 6079         vpxor   %ymm2,%ymm7,%ymm7
 6080 
 6081         vpslld  $7,%ymm11,%ymm2
 6082         vpandn  %ymm13,%ymm11,%ymm0
 6083         vpand   %ymm12,%ymm11,%ymm4
 6084 
 6085         vpxor   %ymm1,%ymm7,%ymm7
 6086 
 6087         vpsrld  $2,%ymm15,%ymm14
 6088         vpxor   %ymm2,%ymm7,%ymm7
 6089 
 6090         vpslld  $30,%ymm15,%ymm1
 6091         vpxor   %ymm4,%ymm0,%ymm0
 6092         vpxor   %ymm15,%ymm8,%ymm4
 6093 
 6094         vpxor   %ymm1,%ymm14,%ymm14
 6095         vpaddd  %ymm7,%ymm5,%ymm5
 6096 
 6097         vpsrld  $13,%ymm15,%ymm1
 6098 
 6099         vpslld  $19,%ymm15,%ymm2
 6100         vpaddd  %ymm0,%ymm5,%ymm5
 6101         vpand   %ymm4,%ymm3,%ymm3
 6102 
 6103         vpxor   %ymm1,%ymm14,%ymm7
 6104 
 6105         vpsrld  $22,%ymm15,%ymm1
 6106         vpxor   %ymm2,%ymm7,%ymm7
 6107 
 6108         vpslld  $10,%ymm15,%ymm2
 6109         vpxor   %ymm3,%ymm8,%ymm14
 6110         vpaddd  %ymm5,%ymm10,%ymm10
 6111 
 6112         vpxor   %ymm1,%ymm7,%ymm7
 6113         vpxor   %ymm2,%ymm7,%ymm7
 6114 
 6115         vpaddd  %ymm5,%ymm14,%ymm14
 6116         vpaddd  %ymm7,%ymm14,%ymm14
 6117         vmovd   40(%r12),%xmm5
 6118         vmovd   40(%r8),%xmm0
 6119         vmovd   40(%r13),%xmm1
 6120         vmovd   40(%r9),%xmm2
 6121         vpinsrd $1,40(%r14),%xmm5,%xmm5
 6122         vpinsrd $1,40(%r10),%xmm0,%xmm0
 6123         vpinsrd $1,40(%r15),%xmm1,%xmm1
 6124         vpunpckldq      %ymm1,%ymm5,%ymm5
 6125         vpinsrd $1,40(%r11),%xmm2,%xmm2
 6126         vpunpckldq      %ymm2,%ymm0,%ymm0
 6127         vinserti128     $1,%xmm0,%ymm5,%ymm5
 6128         vpshufb %ymm6,%ymm5,%ymm5
 6129         vpsrld  $6,%ymm10,%ymm7
 6130         vpslld  $26,%ymm10,%ymm2
 6131         vmovdqu %ymm5,320-256-128(%rbx)
 6132         vpaddd  %ymm13,%ymm5,%ymm5
 6133 
 6134         vpsrld  $11,%ymm10,%ymm1
 6135         vpxor   %ymm2,%ymm7,%ymm7
 6136         vpslld  $21,%ymm10,%ymm2
 6137         vpaddd  -64(%rbp),%ymm5,%ymm5
 6138         vpxor   %ymm1,%ymm7,%ymm7
 6139 
 6140         vpsrld  $25,%ymm10,%ymm1
 6141         vpxor   %ymm2,%ymm7,%ymm7
 6142 
 6143         vpslld  $7,%ymm10,%ymm2
 6144         vpandn  %ymm12,%ymm10,%ymm0
 6145         vpand   %ymm11,%ymm10,%ymm3
 6146 
 6147         vpxor   %ymm1,%ymm7,%ymm7
 6148 
 6149         vpsrld  $2,%ymm14,%ymm13
 6150         vpxor   %ymm2,%ymm7,%ymm7
 6151 
 6152         vpslld  $30,%ymm14,%ymm1
 6153         vpxor   %ymm3,%ymm0,%ymm0
 6154         vpxor   %ymm14,%ymm15,%ymm3
 6155 
 6156         vpxor   %ymm1,%ymm13,%ymm13
 6157         vpaddd  %ymm7,%ymm5,%ymm5
 6158 
 6159         vpsrld  $13,%ymm14,%ymm1
 6160 
 6161         vpslld  $19,%ymm14,%ymm2
 6162         vpaddd  %ymm0,%ymm5,%ymm5
 6163         vpand   %ymm3,%ymm4,%ymm4
 6164 
 6165         vpxor   %ymm1,%ymm13,%ymm7
 6166 
 6167         vpsrld  $22,%ymm14,%ymm1
 6168         vpxor   %ymm2,%ymm7,%ymm7
 6169 
 6170         vpslld  $10,%ymm14,%ymm2
 6171         vpxor   %ymm4,%ymm15,%ymm13
 6172         vpaddd  %ymm5,%ymm9,%ymm9
 6173 
 6174         vpxor   %ymm1,%ymm7,%ymm7
 6175         vpxor   %ymm2,%ymm7,%ymm7
 6176 
 6177         vpaddd  %ymm5,%ymm13,%ymm13
 6178         vpaddd  %ymm7,%ymm13,%ymm13
 6179         vmovd   44(%r12),%xmm5
 6180         vmovd   44(%r8),%xmm0
 6181         vmovd   44(%r13),%xmm1
 6182         vmovd   44(%r9),%xmm2
 6183         vpinsrd $1,44(%r14),%xmm5,%xmm5
 6184         vpinsrd $1,44(%r10),%xmm0,%xmm0
 6185         vpinsrd $1,44(%r15),%xmm1,%xmm1
 6186         vpunpckldq      %ymm1,%ymm5,%ymm5
 6187         vpinsrd $1,44(%r11),%xmm2,%xmm2
 6188         vpunpckldq      %ymm2,%ymm0,%ymm0
 6189         vinserti128     $1,%xmm0,%ymm5,%ymm5
 6190         vpshufb %ymm6,%ymm5,%ymm5
 6191         vpsrld  $6,%ymm9,%ymm7
 6192         vpslld  $26,%ymm9,%ymm2
 6193         vmovdqu %ymm5,352-256-128(%rbx)
 6194         vpaddd  %ymm12,%ymm5,%ymm5
 6195 
 6196         vpsrld  $11,%ymm9,%ymm1
 6197         vpxor   %ymm2,%ymm7,%ymm7
 6198         vpslld  $21,%ymm9,%ymm2
 6199         vpaddd  -32(%rbp),%ymm5,%ymm5
 6200         vpxor   %ymm1,%ymm7,%ymm7
 6201 
 6202         vpsrld  $25,%ymm9,%ymm1
 6203         vpxor   %ymm2,%ymm7,%ymm7
 6204 
 6205         vpslld  $7,%ymm9,%ymm2
 6206         vpandn  %ymm11,%ymm9,%ymm0
 6207         vpand   %ymm10,%ymm9,%ymm4
 6208 
 6209         vpxor   %ymm1,%ymm7,%ymm7
 6210 
 6211         vpsrld  $2,%ymm13,%ymm12
 6212         vpxor   %ymm2,%ymm7,%ymm7
 6213 
 6214         vpslld  $30,%ymm13,%ymm1
 6215         vpxor   %ymm4,%ymm0,%ymm0
 6216         vpxor   %ymm13,%ymm14,%ymm4
 6217 
 6218         vpxor   %ymm1,%ymm12,%ymm12
 6219         vpaddd  %ymm7,%ymm5,%ymm5
 6220 
 6221         vpsrld  $13,%ymm13,%ymm1
 6222 
 6223         vpslld  $19,%ymm13,%ymm2
 6224         vpaddd  %ymm0,%ymm5,%ymm5
 6225         vpand   %ymm4,%ymm3,%ymm3
 6226 
 6227         vpxor   %ymm1,%ymm12,%ymm7
 6228 
 6229         vpsrld  $22,%ymm13,%ymm1
 6230         vpxor   %ymm2,%ymm7,%ymm7
 6231 
 6232         vpslld  $10,%ymm13,%ymm2
 6233         vpxor   %ymm3,%ymm14,%ymm12
 6234         vpaddd  %ymm5,%ymm8,%ymm8
 6235 
 6236         vpxor   %ymm1,%ymm7,%ymm7
 6237         vpxor   %ymm2,%ymm7,%ymm7
 6238 
 6239         vpaddd  %ymm5,%ymm12,%ymm12
 6240         vpaddd  %ymm7,%ymm12,%ymm12
 6241         vmovd   48(%r12),%xmm5
 6242         vmovd   48(%r8),%xmm0
 6243         vmovd   48(%r13),%xmm1
 6244         vmovd   48(%r9),%xmm2
 6245         vpinsrd $1,48(%r14),%xmm5,%xmm5
 6246         vpinsrd $1,48(%r10),%xmm0,%xmm0
 6247         vpinsrd $1,48(%r15),%xmm1,%xmm1
 6248         vpunpckldq      %ymm1,%ymm5,%ymm5
 6249         vpinsrd $1,48(%r11),%xmm2,%xmm2
 6250         vpunpckldq      %ymm2,%ymm0,%ymm0
 6251         vinserti128     $1,%xmm0,%ymm5,%ymm5
 6252         vpshufb %ymm6,%ymm5,%ymm5
 6253         vpsrld  $6,%ymm8,%ymm7
 6254         vpslld  $26,%ymm8,%ymm2
 6255         vmovdqu %ymm5,384-256-128(%rbx)
 6256         vpaddd  %ymm11,%ymm5,%ymm5
 6257 
 6258         vpsrld  $11,%ymm8,%ymm1
 6259         vpxor   %ymm2,%ymm7,%ymm7
 6260         vpslld  $21,%ymm8,%ymm2
 6261         vpaddd  0(%rbp),%ymm5,%ymm5
 6262         vpxor   %ymm1,%ymm7,%ymm7
 6263 
 6264         vpsrld  $25,%ymm8,%ymm1
 6265         vpxor   %ymm2,%ymm7,%ymm7
 6266 
 6267         vpslld  $7,%ymm8,%ymm2
 6268         vpandn  %ymm10,%ymm8,%ymm0
 6269         vpand   %ymm9,%ymm8,%ymm3
 6270 
 6271         vpxor   %ymm1,%ymm7,%ymm7
 6272 
 6273         vpsrld  $2,%ymm12,%ymm11
 6274         vpxor   %ymm2,%ymm7,%ymm7
 6275 
 6276         vpslld  $30,%ymm12,%ymm1
 6277         vpxor   %ymm3,%ymm0,%ymm0
 6278         vpxor   %ymm12,%ymm13,%ymm3
 6279 
 6280         vpxor   %ymm1,%ymm11,%ymm11
 6281         vpaddd  %ymm7,%ymm5,%ymm5
 6282 
 6283         vpsrld  $13,%ymm12,%ymm1
 6284 
 6285         vpslld  $19,%ymm12,%ymm2
 6286         vpaddd  %ymm0,%ymm5,%ymm5
 6287         vpand   %ymm3,%ymm4,%ymm4
 6288 
 6289         vpxor   %ymm1,%ymm11,%ymm7
 6290 
 6291         vpsrld  $22,%ymm12,%ymm1
 6292         vpxor   %ymm2,%ymm7,%ymm7
 6293 
 6294         vpslld  $10,%ymm12,%ymm2
 6295         vpxor   %ymm4,%ymm13,%ymm11
 6296         vpaddd  %ymm5,%ymm15,%ymm15
 6297 
 6298         vpxor   %ymm1,%ymm7,%ymm7
 6299         vpxor   %ymm2,%ymm7,%ymm7
 6300 
 6301         vpaddd  %ymm5,%ymm11,%ymm11
 6302         vpaddd  %ymm7,%ymm11,%ymm11
 6303         vmovd   52(%r12),%xmm5
 6304         vmovd   52(%r8),%xmm0
 6305         vmovd   52(%r13),%xmm1
 6306         vmovd   52(%r9),%xmm2
 6307         vpinsrd $1,52(%r14),%xmm5,%xmm5
 6308         vpinsrd $1,52(%r10),%xmm0,%xmm0
 6309         vpinsrd $1,52(%r15),%xmm1,%xmm1
 6310         vpunpckldq      %ymm1,%ymm5,%ymm5
 6311         vpinsrd $1,52(%r11),%xmm2,%xmm2
 6312         vpunpckldq      %ymm2,%ymm0,%ymm0
 6313         vinserti128     $1,%xmm0,%ymm5,%ymm5
 6314         vpshufb %ymm6,%ymm5,%ymm5
 6315         vpsrld  $6,%ymm15,%ymm7
 6316         vpslld  $26,%ymm15,%ymm2
 6317         vmovdqu %ymm5,416-256-128(%rbx)
 6318         vpaddd  %ymm10,%ymm5,%ymm5
 6319 
 6320         vpsrld  $11,%ymm15,%ymm1
 6321         vpxor   %ymm2,%ymm7,%ymm7
 6322         vpslld  $21,%ymm15,%ymm2
 6323         vpaddd  32(%rbp),%ymm5,%ymm5
 6324         vpxor   %ymm1,%ymm7,%ymm7
 6325 
 6326         vpsrld  $25,%ymm15,%ymm1
 6327         vpxor   %ymm2,%ymm7,%ymm7
 6328 
 6329         vpslld  $7,%ymm15,%ymm2
 6330         vpandn  %ymm9,%ymm15,%ymm0
 6331         vpand   %ymm8,%ymm15,%ymm4
 6332 
 6333         vpxor   %ymm1,%ymm7,%ymm7
 6334 
 6335         vpsrld  $2,%ymm11,%ymm10
 6336         vpxor   %ymm2,%ymm7,%ymm7
 6337 
 6338         vpslld  $30,%ymm11,%ymm1
 6339         vpxor   %ymm4,%ymm0,%ymm0
 6340         vpxor   %ymm11,%ymm12,%ymm4
 6341 
 6342         vpxor   %ymm1,%ymm10,%ymm10
 6343         vpaddd  %ymm7,%ymm5,%ymm5
 6344 
 6345         vpsrld  $13,%ymm11,%ymm1
 6346 
 6347         vpslld  $19,%ymm11,%ymm2
 6348         vpaddd  %ymm0,%ymm5,%ymm5
 6349         vpand   %ymm4,%ymm3,%ymm3
 6350 
 6351         vpxor   %ymm1,%ymm10,%ymm7
 6352 
 6353         vpsrld  $22,%ymm11,%ymm1
 6354         vpxor   %ymm2,%ymm7,%ymm7
 6355 
 6356         vpslld  $10,%ymm11,%ymm2
 6357         vpxor   %ymm3,%ymm12,%ymm10
 6358         vpaddd  %ymm5,%ymm14,%ymm14
 6359 
 6360         vpxor   %ymm1,%ymm7,%ymm7
 6361         vpxor   %ymm2,%ymm7,%ymm7
 6362 
 6363         vpaddd  %ymm5,%ymm10,%ymm10
 6364         vpaddd  %ymm7,%ymm10,%ymm10
 6365         vmovd   56(%r12),%xmm5
 6366         vmovd   56(%r8),%xmm0
 6367         vmovd   56(%r13),%xmm1
 6368         vmovd   56(%r9),%xmm2
 6369         vpinsrd $1,56(%r14),%xmm5,%xmm5
 6370         vpinsrd $1,56(%r10),%xmm0,%xmm0
 6371         vpinsrd $1,56(%r15),%xmm1,%xmm1
 6372         vpunpckldq      %ymm1,%ymm5,%ymm5
 6373         vpinsrd $1,56(%r11),%xmm2,%xmm2
 6374         vpunpckldq      %ymm2,%ymm0,%ymm0
 6375         vinserti128     $1,%xmm0,%ymm5,%ymm5
 6376         vpshufb %ymm6,%ymm5,%ymm5
 6377         vpsrld  $6,%ymm14,%ymm7
 6378         vpslld  $26,%ymm14,%ymm2
 6379         vmovdqu %ymm5,448-256-128(%rbx)
 6380         vpaddd  %ymm9,%ymm5,%ymm5
 6381 
 6382         vpsrld  $11,%ymm14,%ymm1
 6383         vpxor   %ymm2,%ymm7,%ymm7
 6384         vpslld  $21,%ymm14,%ymm2
 6385         vpaddd  64(%rbp),%ymm5,%ymm5
 6386         vpxor   %ymm1,%ymm7,%ymm7
 6387 
 6388         vpsrld  $25,%ymm14,%ymm1
 6389         vpxor   %ymm2,%ymm7,%ymm7
 6390 
 6391         vpslld  $7,%ymm14,%ymm2
 6392         vpandn  %ymm8,%ymm14,%ymm0
 6393         vpand   %ymm15,%ymm14,%ymm3
 6394 
 6395         vpxor   %ymm1,%ymm7,%ymm7
 6396 
 6397         vpsrld  $2,%ymm10,%ymm9
 6398         vpxor   %ymm2,%ymm7,%ymm7
 6399 
 6400         vpslld  $30,%ymm10,%ymm1
 6401         vpxor   %ymm3,%ymm0,%ymm0
 6402         vpxor   %ymm10,%ymm11,%ymm3
 6403 
 6404         vpxor   %ymm1,%ymm9,%ymm9
 6405         vpaddd  %ymm7,%ymm5,%ymm5
 6406 
 6407         vpsrld  $13,%ymm10,%ymm1
 6408 
 6409         vpslld  $19,%ymm10,%ymm2
 6410         vpaddd  %ymm0,%ymm5,%ymm5
 6411         vpand   %ymm3,%ymm4,%ymm4
 6412 
 6413         vpxor   %ymm1,%ymm9,%ymm7
 6414 
 6415         vpsrld  $22,%ymm10,%ymm1
 6416         vpxor   %ymm2,%ymm7,%ymm7
 6417 
 6418         vpslld  $10,%ymm10,%ymm2
 6419         vpxor   %ymm4,%ymm11,%ymm9
 6420         vpaddd  %ymm5,%ymm13,%ymm13
 6421 
 6422         vpxor   %ymm1,%ymm7,%ymm7
 6423         vpxor   %ymm2,%ymm7,%ymm7
 6424 
 6425         vpaddd  %ymm5,%ymm9,%ymm9
 6426         vpaddd  %ymm7,%ymm9,%ymm9
 6427         vmovd   60(%r12),%xmm5
 6428         leaq    64(%r12),%r12
 6429         vmovd   60(%r8),%xmm0
 6430         leaq    64(%r8),%r8
 6431         vmovd   60(%r13),%xmm1
 6432         leaq    64(%r13),%r13
 6433         vmovd   60(%r9),%xmm2
 6434         leaq    64(%r9),%r9
 6435         vpinsrd $1,60(%r14),%xmm5,%xmm5
 6436         leaq    64(%r14),%r14
 6437         vpinsrd $1,60(%r10),%xmm0,%xmm0
 6438         leaq    64(%r10),%r10
 6439         vpinsrd $1,60(%r15),%xmm1,%xmm1
 6440         leaq    64(%r15),%r15
 6441         vpunpckldq      %ymm1,%ymm5,%ymm5
 6442         vpinsrd $1,60(%r11),%xmm2,%xmm2
 6443         leaq    64(%r11),%r11
 6444         vpunpckldq      %ymm2,%ymm0,%ymm0
 6445         vinserti128     $1,%xmm0,%ymm5,%ymm5
 6446         vpshufb %ymm6,%ymm5,%ymm5
 6447         vpsrld  $6,%ymm13,%ymm7
 6448         vpslld  $26,%ymm13,%ymm2
 6449         vmovdqu %ymm5,480-256-128(%rbx)
 6450         vpaddd  %ymm8,%ymm5,%ymm5
 6451 
 6452         vpsrld  $11,%ymm13,%ymm1
 6453         vpxor   %ymm2,%ymm7,%ymm7
 6454         vpslld  $21,%ymm13,%ymm2
 6455         vpaddd  96(%rbp),%ymm5,%ymm5
 6456         vpxor   %ymm1,%ymm7,%ymm7
 6457 
 6458         vpsrld  $25,%ymm13,%ymm1
 6459         vpxor   %ymm2,%ymm7,%ymm7
 6460         prefetcht0      63(%r12)
 6461         vpslld  $7,%ymm13,%ymm2
 6462         vpandn  %ymm15,%ymm13,%ymm0
 6463         vpand   %ymm14,%ymm13,%ymm4
 6464         prefetcht0      63(%r13)
 6465         vpxor   %ymm1,%ymm7,%ymm7
 6466 
 6467         vpsrld  $2,%ymm9,%ymm8
 6468         vpxor   %ymm2,%ymm7,%ymm7
 6469         prefetcht0      63(%r14)
 6470         vpslld  $30,%ymm9,%ymm1
 6471         vpxor   %ymm4,%ymm0,%ymm0
 6472         vpxor   %ymm9,%ymm10,%ymm4
 6473         prefetcht0      63(%r15)
 6474         vpxor   %ymm1,%ymm8,%ymm8
 6475         vpaddd  %ymm7,%ymm5,%ymm5
 6476 
 6477         vpsrld  $13,%ymm9,%ymm1
 6478         prefetcht0      63(%r8)
 6479         vpslld  $19,%ymm9,%ymm2
 6480         vpaddd  %ymm0,%ymm5,%ymm5
 6481         vpand   %ymm4,%ymm3,%ymm3
 6482         prefetcht0      63(%r9)
 6483         vpxor   %ymm1,%ymm8,%ymm7
 6484 
 6485         vpsrld  $22,%ymm9,%ymm1
 6486         vpxor   %ymm2,%ymm7,%ymm7
 6487         prefetcht0      63(%r10)
 6488         vpslld  $10,%ymm9,%ymm2
 6489         vpxor   %ymm3,%ymm10,%ymm8
 6490         vpaddd  %ymm5,%ymm12,%ymm12
 6491         prefetcht0      63(%r11)
 6492         vpxor   %ymm1,%ymm7,%ymm7
 6493         vpxor   %ymm2,%ymm7,%ymm7
 6494 
 6495         vpaddd  %ymm5,%ymm8,%ymm8
 6496         vpaddd  %ymm7,%ymm8,%ymm8
 6497         addq    $256,%rbp
 6498         vmovdqu 0-128(%rax),%ymm5
 6499         movl    $3,%ecx
 6500         jmp     .Loop_16_xx_avx2
 6501 .align  32
 6502 .Loop_16_xx_avx2:
 6503         vmovdqu 32-128(%rax),%ymm6
 6504         vpaddd  288-256-128(%rbx),%ymm5,%ymm5
 6505 
 6506         vpsrld  $3,%ymm6,%ymm7
 6507         vpsrld  $7,%ymm6,%ymm1
 6508         vpslld  $25,%ymm6,%ymm2
 6509         vpxor   %ymm1,%ymm7,%ymm7
 6510         vpsrld  $18,%ymm6,%ymm1
 6511         vpxor   %ymm2,%ymm7,%ymm7
 6512         vpslld  $14,%ymm6,%ymm2
 6513         vmovdqu 448-256-128(%rbx),%ymm0
 6514         vpsrld  $10,%ymm0,%ymm3
 6515 
 6516         vpxor   %ymm1,%ymm7,%ymm7
 6517         vpsrld  $17,%ymm0,%ymm1
 6518         vpxor   %ymm2,%ymm7,%ymm7
 6519         vpslld  $15,%ymm0,%ymm2
 6520         vpaddd  %ymm7,%ymm5,%ymm5
 6521         vpxor   %ymm1,%ymm3,%ymm7
 6522         vpsrld  $19,%ymm0,%ymm1
 6523         vpxor   %ymm2,%ymm7,%ymm7
 6524         vpslld  $13,%ymm0,%ymm2
 6525         vpxor   %ymm1,%ymm7,%ymm7
 6526         vpxor   %ymm2,%ymm7,%ymm7
 6527         vpaddd  %ymm7,%ymm5,%ymm5
 6528         vpsrld  $6,%ymm12,%ymm7
 6529         vpslld  $26,%ymm12,%ymm2
 6530         vmovdqu %ymm5,0-128(%rax)
 6531         vpaddd  %ymm15,%ymm5,%ymm5
 6532 
 6533         vpsrld  $11,%ymm12,%ymm1
 6534         vpxor   %ymm2,%ymm7,%ymm7
 6535         vpslld  $21,%ymm12,%ymm2
 6536         vpaddd  -128(%rbp),%ymm5,%ymm5
 6537         vpxor   %ymm1,%ymm7,%ymm7
 6538 
 6539         vpsrld  $25,%ymm12,%ymm1
 6540         vpxor   %ymm2,%ymm7,%ymm7
 6541 
 6542         vpslld  $7,%ymm12,%ymm2
 6543         vpandn  %ymm14,%ymm12,%ymm0
 6544         vpand   %ymm13,%ymm12,%ymm3
 6545 
 6546         vpxor   %ymm1,%ymm7,%ymm7
 6547 
 6548         vpsrld  $2,%ymm8,%ymm15
 6549         vpxor   %ymm2,%ymm7,%ymm7
 6550 
 6551         vpslld  $30,%ymm8,%ymm1
 6552         vpxor   %ymm3,%ymm0,%ymm0
 6553         vpxor   %ymm8,%ymm9,%ymm3
 6554 
 6555         vpxor   %ymm1,%ymm15,%ymm15
 6556         vpaddd  %ymm7,%ymm5,%ymm5
 6557 
 6558         vpsrld  $13,%ymm8,%ymm1
 6559 
 6560         vpslld  $19,%ymm8,%ymm2
 6561         vpaddd  %ymm0,%ymm5,%ymm5
 6562         vpand   %ymm3,%ymm4,%ymm4
 6563 
 6564         vpxor   %ymm1,%ymm15,%ymm7
 6565 
 6566         vpsrld  $22,%ymm8,%ymm1
 6567         vpxor   %ymm2,%ymm7,%ymm7
 6568 
 6569         vpslld  $10,%ymm8,%ymm2
 6570         vpxor   %ymm4,%ymm9,%ymm15
 6571         vpaddd  %ymm5,%ymm11,%ymm11
 6572 
 6573         vpxor   %ymm1,%ymm7,%ymm7
 6574         vpxor   %ymm2,%ymm7,%ymm7
 6575 
 6576         vpaddd  %ymm5,%ymm15,%ymm15
 6577         vpaddd  %ymm7,%ymm15,%ymm15
 6578         vmovdqu 64-128(%rax),%ymm5
 6579         vpaddd  320-256-128(%rbx),%ymm6,%ymm6
 6580 
 6581         vpsrld  $3,%ymm5,%ymm7
 6582         vpsrld  $7,%ymm5,%ymm1
 6583         vpslld  $25,%ymm5,%ymm2
 6584         vpxor   %ymm1,%ymm7,%ymm7
 6585         vpsrld  $18,%ymm5,%ymm1
 6586         vpxor   %ymm2,%ymm7,%ymm7
 6587         vpslld  $14,%ymm5,%ymm2
 6588         vmovdqu 480-256-128(%rbx),%ymm0
 6589         vpsrld  $10,%ymm0,%ymm4
 6590 
 6591         vpxor   %ymm1,%ymm7,%ymm7
 6592         vpsrld  $17,%ymm0,%ymm1
 6593         vpxor   %ymm2,%ymm7,%ymm7
 6594         vpslld  $15,%ymm0,%ymm2
 6595         vpaddd  %ymm7,%ymm6,%ymm6
 6596         vpxor   %ymm1,%ymm4,%ymm7
 6597         vpsrld  $19,%ymm0,%ymm1
 6598         vpxor   %ymm2,%ymm7,%ymm7
 6599         vpslld  $13,%ymm0,%ymm2
 6600         vpxor   %ymm1,%ymm7,%ymm7
 6601         vpxor   %ymm2,%ymm7,%ymm7
 6602         vpaddd  %ymm7,%ymm6,%ymm6
 6603         vpsrld  $6,%ymm11,%ymm7
 6604         vpslld  $26,%ymm11,%ymm2
 6605         vmovdqu %ymm6,32-128(%rax)
 6606         vpaddd  %ymm14,%ymm6,%ymm6
 6607 
 6608         vpsrld  $11,%ymm11,%ymm1
 6609         vpxor   %ymm2,%ymm7,%ymm7
 6610         vpslld  $21,%ymm11,%ymm2
 6611         vpaddd  -96(%rbp),%ymm6,%ymm6
 6612         vpxor   %ymm1,%ymm7,%ymm7
 6613 
 6614         vpsrld  $25,%ymm11,%ymm1
 6615         vpxor   %ymm2,%ymm7,%ymm7
 6616 
 6617         vpslld  $7,%ymm11,%ymm2
 6618         vpandn  %ymm13,%ymm11,%ymm0
 6619         vpand   %ymm12,%ymm11,%ymm4
 6620 
 6621         vpxor   %ymm1,%ymm7,%ymm7
 6622 
 6623         vpsrld  $2,%ymm15,%ymm14
 6624         vpxor   %ymm2,%ymm7,%ymm7
 6625 
 6626         vpslld  $30,%ymm15,%ymm1
 6627         vpxor   %ymm4,%ymm0,%ymm0
 6628         vpxor   %ymm15,%ymm8,%ymm4
 6629 
 6630         vpxor   %ymm1,%ymm14,%ymm14
 6631         vpaddd  %ymm7,%ymm6,%ymm6
 6632 
 6633         vpsrld  $13,%ymm15,%ymm1
 6634 
 6635         vpslld  $19,%ymm15,%ymm2
 6636         vpaddd  %ymm0,%ymm6,%ymm6
 6637         vpand   %ymm4,%ymm3,%ymm3
 6638 
 6639         vpxor   %ymm1,%ymm14,%ymm7
 6640 
 6641         vpsrld  $22,%ymm15,%ymm1
 6642         vpxor   %ymm2,%ymm7,%ymm7
 6643 
 6644         vpslld  $10,%ymm15,%ymm2
 6645         vpxor   %ymm3,%ymm8,%ymm14
 6646         vpaddd  %ymm6,%ymm10,%ymm10
 6647 
 6648         vpxor   %ymm1,%ymm7,%ymm7
 6649         vpxor   %ymm2,%ymm7,%ymm7
 6650 
 6651         vpaddd  %ymm6,%ymm14,%ymm14
 6652         vpaddd  %ymm7,%ymm14,%ymm14
 6653         vmovdqu 96-128(%rax),%ymm6
 6654         vpaddd  352-256-128(%rbx),%ymm5,%ymm5
 6655 
 6656         vpsrld  $3,%ymm6,%ymm7
 6657         vpsrld  $7,%ymm6,%ymm1
 6658         vpslld  $25,%ymm6,%ymm2
 6659         vpxor   %ymm1,%ymm7,%ymm7
 6660         vpsrld  $18,%ymm6,%ymm1
 6661         vpxor   %ymm2,%ymm7,%ymm7
 6662         vpslld  $14,%ymm6,%ymm2
 6663         vmovdqu 0-128(%rax),%ymm0
 6664         vpsrld  $10,%ymm0,%ymm3
 6665 
 6666         vpxor   %ymm1,%ymm7,%ymm7
 6667         vpsrld  $17,%ymm0,%ymm1
 6668         vpxor   %ymm2,%ymm7,%ymm7
 6669         vpslld  $15,%ymm0,%ymm2
 6670         vpaddd  %ymm7,%ymm5,%ymm5
 6671         vpxor   %ymm1,%ymm3,%ymm7
 6672         vpsrld  $19,%ymm0,%ymm1
 6673         vpxor   %ymm2,%ymm7,%ymm7
 6674         vpslld  $13,%ymm0,%ymm2
 6675         vpxor   %ymm1,%ymm7,%ymm7
 6676         vpxor   %ymm2,%ymm7,%ymm7
 6677         vpaddd  %ymm7,%ymm5,%ymm5
 6678         vpsrld  $6,%ymm10,%ymm7
 6679         vpslld  $26,%ymm10,%ymm2
 6680         vmovdqu %ymm5,64-128(%rax)
 6681         vpaddd  %ymm13,%ymm5,%ymm5
 6682 
 6683         vpsrld  $11,%ymm10,%ymm1
 6684         vpxor   %ymm2,%ymm7,%ymm7
 6685         vpslld  $21,%ymm10,%ymm2
 6686         vpaddd  -64(%rbp),%ymm5,%ymm5
 6687         vpxor   %ymm1,%ymm7,%ymm7
 6688 
 6689         vpsrld  $25,%ymm10,%ymm1
 6690         vpxor   %ymm2,%ymm7,%ymm7
 6691 
 6692         vpslld  $7,%ymm10,%ymm2
 6693         vpandn  %ymm12,%ymm10,%ymm0
 6694         vpand   %ymm11,%ymm10,%ymm3
 6695 
 6696         vpxor   %ymm1,%ymm7,%ymm7
 6697 
 6698         vpsrld  $2,%ymm14,%ymm13
 6699         vpxor   %ymm2,%ymm7,%ymm7
 6700 
 6701         vpslld  $30,%ymm14,%ymm1
 6702         vpxor   %ymm3,%ymm0,%ymm0
 6703         vpxor   %ymm14,%ymm15,%ymm3
 6704 
 6705         vpxor   %ymm1,%ymm13,%ymm13
 6706         vpaddd  %ymm7,%ymm5,%ymm5
 6707 
 6708         vpsrld  $13,%ymm14,%ymm1
 6709 
 6710         vpslld  $19,%ymm14,%ymm2
 6711         vpaddd  %ymm0,%ymm5,%ymm5
 6712         vpand   %ymm3,%ymm4,%ymm4
 6713 
 6714         vpxor   %ymm1,%ymm13,%ymm7
 6715 
 6716         vpsrld  $22,%ymm14,%ymm1
 6717         vpxor   %ymm2,%ymm7,%ymm7
 6718 
 6719         vpslld  $10,%ymm14,%ymm2
 6720         vpxor   %ymm4,%ymm15,%ymm13
 6721         vpaddd  %ymm5,%ymm9,%ymm9
 6722 
 6723         vpxor   %ymm1,%ymm7,%ymm7
 6724         vpxor   %ymm2,%ymm7,%ymm7
 6725 
 6726         vpaddd  %ymm5,%ymm13,%ymm13
 6727         vpaddd  %ymm7,%ymm13,%ymm13
 6728         vmovdqu 128-128(%rax),%ymm5
 6729         vpaddd  384-256-128(%rbx),%ymm6,%ymm6
 6730 
 6731         vpsrld  $3,%ymm5,%ymm7
 6732         vpsrld  $7,%ymm5,%ymm1
 6733         vpslld  $25,%ymm5,%ymm2
 6734         vpxor   %ymm1,%ymm7,%ymm7
 6735         vpsrld  $18,%ymm5,%ymm1
 6736         vpxor   %ymm2,%ymm7,%ymm7
 6737         vpslld  $14,%ymm5,%ymm2
 6738         vmovdqu 32-128(%rax),%ymm0
 6739         vpsrld  $10,%ymm0,%ymm4
 6740 
 6741         vpxor   %ymm1,%ymm7,%ymm7
 6742         vpsrld  $17,%ymm0,%ymm1
 6743         vpxor   %ymm2,%ymm7,%ymm7
 6744         vpslld  $15,%ymm0,%ymm2
 6745         vpaddd  %ymm7,%ymm6,%ymm6
 6746         vpxor   %ymm1,%ymm4,%ymm7
 6747         vpsrld  $19,%ymm0,%ymm1
 6748         vpxor   %ymm2,%ymm7,%ymm7
 6749         vpslld  $13,%ymm0,%ymm2
 6750         vpxor   %ymm1,%ymm7,%ymm7
 6751         vpxor   %ymm2,%ymm7,%ymm7
 6752         vpaddd  %ymm7,%ymm6,%ymm6
 6753         vpsrld  $6,%ymm9,%ymm7
 6754         vpslld  $26,%ymm9,%ymm2
 6755         vmovdqu %ymm6,96-128(%rax)
 6756         vpaddd  %ymm12,%ymm6,%ymm6
 6757 
 6758         vpsrld  $11,%ymm9,%ymm1
 6759         vpxor   %ymm2,%ymm7,%ymm7
 6760         vpslld  $21,%ymm9,%ymm2
 6761         vpaddd  -32(%rbp),%ymm6,%ymm6
 6762         vpxor   %ymm1,%ymm7,%ymm7
 6763 
 6764         vpsrld  $25,%ymm9,%ymm1
 6765         vpxor   %ymm2,%ymm7,%ymm7
 6766 
 6767         vpslld  $7,%ymm9,%ymm2
 6768         vpandn  %ymm11,%ymm9,%ymm0
 6769         vpand   %ymm10,%ymm9,%ymm4
 6770 
 6771         vpxor   %ymm1,%ymm7,%ymm7
 6772 
 6773         vpsrld  $2,%ymm13,%ymm12
 6774         vpxor   %ymm2,%ymm7,%ymm7
 6775 
 6776         vpslld  $30,%ymm13,%ymm1
 6777         vpxor   %ymm4,%ymm0,%ymm0
 6778         vpxor   %ymm13,%ymm14,%ymm4
 6779 
 6780         vpxor   %ymm1,%ymm12,%ymm12
 6781         vpaddd  %ymm7,%ymm6,%ymm6
 6782 
 6783         vpsrld  $13,%ymm13,%ymm1
 6784 
 6785         vpslld  $19,%ymm13,%ymm2
 6786         vpaddd  %ymm0,%ymm6,%ymm6
 6787         vpand   %ymm4,%ymm3,%ymm3
 6788 
 6789         vpxor   %ymm1,%ymm12,%ymm7
 6790 
 6791         vpsrld  $22,%ymm13,%ymm1
 6792         vpxor   %ymm2,%ymm7,%ymm7
 6793 
 6794         vpslld  $10,%ymm13,%ymm2
 6795         vpxor   %ymm3,%ymm14,%ymm12
 6796         vpaddd  %ymm6,%ymm8,%ymm8
 6797 
 6798         vpxor   %ymm1,%ymm7,%ymm7
 6799         vpxor   %ymm2,%ymm7,%ymm7
 6800 
 6801         vpaddd  %ymm6,%ymm12,%ymm12
 6802         vpaddd  %ymm7,%ymm12,%ymm12
 6803         vmovdqu 160-128(%rax),%ymm6
 6804         vpaddd  416-256-128(%rbx),%ymm5,%ymm5
 6805 
 6806         vpsrld  $3,%ymm6,%ymm7
 6807         vpsrld  $7,%ymm6,%ymm1
 6808         vpslld  $25,%ymm6,%ymm2
 6809         vpxor   %ymm1,%ymm7,%ymm7
 6810         vpsrld  $18,%ymm6,%ymm1
 6811         vpxor   %ymm2,%ymm7,%ymm7
 6812         vpslld  $14,%ymm6,%ymm2
 6813         vmovdqu 64-128(%rax),%ymm0
 6814         vpsrld  $10,%ymm0,%ymm3
 6815 
 6816         vpxor   %ymm1,%ymm7,%ymm7
 6817         vpsrld  $17,%ymm0,%ymm1
 6818         vpxor   %ymm2,%ymm7,%ymm7
 6819         vpslld  $15,%ymm0,%ymm2
 6820         vpaddd  %ymm7,%ymm5,%ymm5
 6821         vpxor   %ymm1,%ymm3,%ymm7
 6822         vpsrld  $19,%ymm0,%ymm1
 6823         vpxor   %ymm2,%ymm7,%ymm7
 6824         vpslld  $13,%ymm0,%ymm2
 6825         vpxor   %ymm1,%ymm7,%ymm7
 6826         vpxor   %ymm2,%ymm7,%ymm7
 6827         vpaddd  %ymm7,%ymm5,%ymm5
 6828         vpsrld  $6,%ymm8,%ymm7
 6829         vpslld  $26,%ymm8,%ymm2
 6830         vmovdqu %ymm5,128-128(%rax)
 6831         vpaddd  %ymm11,%ymm5,%ymm5
 6832 
 6833         vpsrld  $11,%ymm8,%ymm1
 6834         vpxor   %ymm2,%ymm7,%ymm7
 6835         vpslld  $21,%ymm8,%ymm2
 6836         vpaddd  0(%rbp),%ymm5,%ymm5
 6837         vpxor   %ymm1,%ymm7,%ymm7
 6838 
 6839         vpsrld  $25,%ymm8,%ymm1
 6840         vpxor   %ymm2,%ymm7,%ymm7
 6841 
 6842         vpslld  $7,%ymm8,%ymm2
 6843         vpandn  %ymm10,%ymm8,%ymm0
 6844         vpand   %ymm9,%ymm8,%ymm3
 6845 
 6846         vpxor   %ymm1,%ymm7,%ymm7
 6847 
 6848         vpsrld  $2,%ymm12,%ymm11
 6849         vpxor   %ymm2,%ymm7,%ymm7
 6850 
 6851         vpslld  $30,%ymm12,%ymm1
 6852         vpxor   %ymm3,%ymm0,%ymm0
 6853         vpxor   %ymm12,%ymm13,%ymm3
 6854 
 6855         vpxor   %ymm1,%ymm11,%ymm11
 6856         vpaddd  %ymm7,%ymm5,%ymm5
 6857 
 6858         vpsrld  $13,%ymm12,%ymm1
 6859 
 6860         vpslld  $19,%ymm12,%ymm2
 6861         vpaddd  %ymm0,%ymm5,%ymm5
 6862         vpand   %ymm3,%ymm4,%ymm4
 6863 
 6864         vpxor   %ymm1,%ymm11,%ymm7
 6865 
 6866         vpsrld  $22,%ymm12,%ymm1
 6867         vpxor   %ymm2,%ymm7,%ymm7
 6868 
 6869         vpslld  $10,%ymm12,%ymm2
 6870         vpxor   %ymm4,%ymm13,%ymm11
 6871         vpaddd  %ymm5,%ymm15,%ymm15
 6872 
 6873         vpxor   %ymm1,%ymm7,%ymm7
 6874         vpxor   %ymm2,%ymm7,%ymm7
 6875 
 6876         vpaddd  %ymm5,%ymm11,%ymm11
 6877         vpaddd  %ymm7,%ymm11,%ymm11
 6878         vmovdqu 192-128(%rax),%ymm5
 6879         vpaddd  448-256-128(%rbx),%ymm6,%ymm6
 6880 
 6881         vpsrld  $3,%ymm5,%ymm7
 6882         vpsrld  $7,%ymm5,%ymm1
 6883         vpslld  $25,%ymm5,%ymm2
 6884         vpxor   %ymm1,%ymm7,%ymm7
 6885         vpsrld  $18,%ymm5,%ymm1
 6886         vpxor   %ymm2,%ymm7,%ymm7
 6887         vpslld  $14,%ymm5,%ymm2
 6888         vmovdqu 96-128(%rax),%ymm0
 6889         vpsrld  $10,%ymm0,%ymm4
 6890 
 6891         vpxor   %ymm1,%ymm7,%ymm7
 6892         vpsrld  $17,%ymm0,%ymm1
 6893         vpxor   %ymm2,%ymm7,%ymm7
 6894         vpslld  $15,%ymm0,%ymm2
 6895         vpaddd  %ymm7,%ymm6,%ymm6
 6896         vpxor   %ymm1,%ymm4,%ymm7
 6897         vpsrld  $19,%ymm0,%ymm1
 6898         vpxor   %ymm2,%ymm7,%ymm7
 6899         vpslld  $13,%ymm0,%ymm2
 6900         vpxor   %ymm1,%ymm7,%ymm7
 6901         vpxor   %ymm2,%ymm7,%ymm7
 6902         vpaddd  %ymm7,%ymm6,%ymm6
 6903         vpsrld  $6,%ymm15,%ymm7
 6904         vpslld  $26,%ymm15,%ymm2
 6905         vmovdqu %ymm6,160-128(%rax)
 6906         vpaddd  %ymm10,%ymm6,%ymm6
 6907 
 6908         vpsrld  $11,%ymm15,%ymm1
 6909         vpxor   %ymm2,%ymm7,%ymm7
 6910         vpslld  $21,%ymm15,%ymm2
 6911         vpaddd  32(%rbp),%ymm6,%ymm6
 6912         vpxor   %ymm1,%ymm7,%ymm7
 6913 
 6914         vpsrld  $25,%ymm15,%ymm1
 6915         vpxor   %ymm2,%ymm7,%ymm7
 6916 
 6917         vpslld  $7,%ymm15,%ymm2
 6918         vpandn  %ymm9,%ymm15,%ymm0
 6919         vpand   %ymm8,%ymm15,%ymm4
 6920 
 6921         vpxor   %ymm1,%ymm7,%ymm7
 6922 
 6923         vpsrld  $2,%ymm11,%ymm10
 6924         vpxor   %ymm2,%ymm7,%ymm7
 6925 
 6926         vpslld  $30,%ymm11,%ymm1
 6927         vpxor   %ymm4,%ymm0,%ymm0
 6928         vpxor   %ymm11,%ymm12,%ymm4
 6929 
 6930         vpxor   %ymm1,%ymm10,%ymm10
 6931         vpaddd  %ymm7,%ymm6,%ymm6
 6932 
 6933         vpsrld  $13,%ymm11,%ymm1
 6934 
 6935         vpslld  $19,%ymm11,%ymm2
 6936         vpaddd  %ymm0,%ymm6,%ymm6
 6937         vpand   %ymm4,%ymm3,%ymm3
 6938 
 6939         vpxor   %ymm1,%ymm10,%ymm7
 6940 
 6941         vpsrld  $22,%ymm11,%ymm1
 6942         vpxor   %ymm2,%ymm7,%ymm7
 6943 
 6944         vpslld  $10,%ymm11,%ymm2
 6945         vpxor   %ymm3,%ymm12,%ymm10
 6946         vpaddd  %ymm6,%ymm14,%ymm14
 6947 
 6948         vpxor   %ymm1,%ymm7,%ymm7
 6949         vpxor   %ymm2,%ymm7,%ymm7
 6950 
 6951         vpaddd  %ymm6,%ymm10,%ymm10
 6952         vpaddd  %ymm7,%ymm10,%ymm10
 6953         vmovdqu 224-128(%rax),%ymm6
 6954         vpaddd  480-256-128(%rbx),%ymm5,%ymm5
 6955 
 6956         vpsrld  $3,%ymm6,%ymm7
 6957         vpsrld  $7,%ymm6,%ymm1
 6958         vpslld  $25,%ymm6,%ymm2
 6959         vpxor   %ymm1,%ymm7,%ymm7
 6960         vpsrld  $18,%ymm6,%ymm1
 6961         vpxor   %ymm2,%ymm7,%ymm7
 6962         vpslld  $14,%ymm6,%ymm2
 6963         vmovdqu 128-128(%rax),%ymm0
 6964         vpsrld  $10,%ymm0,%ymm3
 6965 
 6966         vpxor   %ymm1,%ymm7,%ymm7
 6967         vpsrld  $17,%ymm0,%ymm1
 6968         vpxor   %ymm2,%ymm7,%ymm7
 6969         vpslld  $15,%ymm0,%ymm2
 6970         vpaddd  %ymm7,%ymm5,%ymm5
 6971         vpxor   %ymm1,%ymm3,%ymm7
 6972         vpsrld  $19,%ymm0,%ymm1
 6973         vpxor   %ymm2,%ymm7,%ymm7
 6974         vpslld  $13,%ymm0,%ymm2
 6975         vpxor   %ymm1,%ymm7,%ymm7
 6976         vpxor   %ymm2,%ymm7,%ymm7
 6977         vpaddd  %ymm7,%ymm5,%ymm5
 6978         vpsrld  $6,%ymm14,%ymm7
 6979         vpslld  $26,%ymm14,%ymm2
 6980         vmovdqu %ymm5,192-128(%rax)
 6981         vpaddd  %ymm9,%ymm5,%ymm5
 6982 
 6983         vpsrld  $11,%ymm14,%ymm1
 6984         vpxor   %ymm2,%ymm7,%ymm7
 6985         vpslld  $21,%ymm14,%ymm2
 6986         vpaddd  64(%rbp),%ymm5,%ymm5
 6987         vpxor   %ymm1,%ymm7,%ymm7
 6988 
 6989         vpsrld  $25,%ymm14,%ymm1
 6990         vpxor   %ymm2,%ymm7,%ymm7
 6991 
 6992         vpslld  $7,%ymm14,%ymm2
 6993         vpandn  %ymm8,%ymm14,%ymm0
 6994         vpand   %ymm15,%ymm14,%ymm3
 6995 
 6996         vpxor   %ymm1,%ymm7,%ymm7
 6997 
 6998         vpsrld  $2,%ymm10,%ymm9
 6999         vpxor   %ymm2,%ymm7,%ymm7
 7000 
 7001         vpslld  $30,%ymm10,%ymm1
 7002         vpxor   %ymm3,%ymm0,%ymm0
 7003         vpxor   %ymm10,%ymm11,%ymm3
 7004 
 7005         vpxor   %ymm1,%ymm9,%ymm9
 7006         vpaddd  %ymm7,%ymm5,%ymm5
 7007 
 7008         vpsrld  $13,%ymm10,%ymm1
 7009 
 7010         vpslld  $19,%ymm10,%ymm2
 7011         vpaddd  %ymm0,%ymm5,%ymm5
 7012         vpand   %ymm3,%ymm4,%ymm4
 7013 
 7014         vpxor   %ymm1,%ymm9,%ymm7
 7015 
 7016         vpsrld  $22,%ymm10,%ymm1
 7017         vpxor   %ymm2,%ymm7,%ymm7
 7018 
 7019         vpslld  $10,%ymm10,%ymm2
 7020         vpxor   %ymm4,%ymm11,%ymm9
 7021         vpaddd  %ymm5,%ymm13,%ymm13
 7022 
 7023         vpxor   %ymm1,%ymm7,%ymm7
 7024         vpxor   %ymm2,%ymm7,%ymm7
 7025 
 7026         vpaddd  %ymm5,%ymm9,%ymm9
 7027         vpaddd  %ymm7,%ymm9,%ymm9
 7028         vmovdqu 256-256-128(%rbx),%ymm5
 7029         vpaddd  0-128(%rax),%ymm6,%ymm6
 7030 
 7031         vpsrld  $3,%ymm5,%ymm7
 7032         vpsrld  $7,%ymm5,%ymm1
 7033         vpslld  $25,%ymm5,%ymm2
 7034         vpxor   %ymm1,%ymm7,%ymm7
 7035         vpsrld  $18,%ymm5,%ymm1
 7036         vpxor   %ymm2,%ymm7,%ymm7
 7037         vpslld  $14,%ymm5,%ymm2
 7038         vmovdqu 160-128(%rax),%ymm0
 7039         vpsrld  $10,%ymm0,%ymm4
 7040 
 7041         vpxor   %ymm1,%ymm7,%ymm7
 7042         vpsrld  $17,%ymm0,%ymm1
 7043         vpxor   %ymm2,%ymm7,%ymm7
 7044         vpslld  $15,%ymm0,%ymm2
 7045         vpaddd  %ymm7,%ymm6,%ymm6
 7046         vpxor   %ymm1,%ymm4,%ymm7
 7047         vpsrld  $19,%ymm0,%ymm1
 7048         vpxor   %ymm2,%ymm7,%ymm7
 7049         vpslld  $13,%ymm0,%ymm2
 7050         vpxor   %ymm1,%ymm7,%ymm7
 7051         vpxor   %ymm2,%ymm7,%ymm7
 7052         vpaddd  %ymm7,%ymm6,%ymm6
 7053         vpsrld  $6,%ymm13,%ymm7
 7054         vpslld  $26,%ymm13,%ymm2
 7055         vmovdqu %ymm6,224-128(%rax)
 7056         vpaddd  %ymm8,%ymm6,%ymm6
 7057 
 7058         vpsrld  $11,%ymm13,%ymm1
 7059         vpxor   %ymm2,%ymm7,%ymm7
 7060         vpslld  $21,%ymm13,%ymm2
 7061         vpaddd  96(%rbp),%ymm6,%ymm6
 7062         vpxor   %ymm1,%ymm7,%ymm7
 7063 
 7064         vpsrld  $25,%ymm13,%ymm1
 7065         vpxor   %ymm2,%ymm7,%ymm7
 7066 
 7067         vpslld  $7,%ymm13,%ymm2
 7068         vpandn  %ymm15,%ymm13,%ymm0
 7069         vpand   %ymm14,%ymm13,%ymm4
 7070 
 7071         vpxor   %ymm1,%ymm7,%ymm7
 7072 
 7073         vpsrld  $2,%ymm9,%ymm8
 7074         vpxor   %ymm2,%ymm7,%ymm7
 7075 
 7076         vpslld  $30,%ymm9,%ymm1
 7077         vpxor   %ymm4,%ymm0,%ymm0
 7078         vpxor   %ymm9,%ymm10,%ymm4
 7079 
 7080         vpxor   %ymm1,%ymm8,%ymm8
 7081         vpaddd  %ymm7,%ymm6,%ymm6
 7082 
 7083         vpsrld  $13,%ymm9,%ymm1
 7084 
 7085         vpslld  $19,%ymm9,%ymm2
 7086         vpaddd  %ymm0,%ymm6,%ymm6
 7087         vpand   %ymm4,%ymm3,%ymm3
 7088 
 7089         vpxor   %ymm1,%ymm8,%ymm7
 7090 
 7091         vpsrld  $22,%ymm9,%ymm1
 7092         vpxor   %ymm2,%ymm7,%ymm7
 7093 
 7094         vpslld  $10,%ymm9,%ymm2
 7095         vpxor   %ymm3,%ymm10,%ymm8
 7096         vpaddd  %ymm6,%ymm12,%ymm12
 7097 
 7098         vpxor   %ymm1,%ymm7,%ymm7
 7099         vpxor   %ymm2,%ymm7,%ymm7
 7100 
 7101         vpaddd  %ymm6,%ymm8,%ymm8
 7102         vpaddd  %ymm7,%ymm8,%ymm8
 7103         addq    $256,%rbp
 7104         vmovdqu 288-256-128(%rbx),%ymm6
 7105         vpaddd  32-128(%rax),%ymm5,%ymm5
 7106 
 7107         vpsrld  $3,%ymm6,%ymm7
 7108         vpsrld  $7,%ymm6,%ymm1
 7109         vpslld  $25,%ymm6,%ymm2
 7110         vpxor   %ymm1,%ymm7,%ymm7
 7111         vpsrld  $18,%ymm6,%ymm1
 7112         vpxor   %ymm2,%ymm7,%ymm7
 7113         vpslld  $14,%ymm6,%ymm2
 7114         vmovdqu 192-128(%rax),%ymm0
 7115         vpsrld  $10,%ymm0,%ymm3
 7116 
 7117         vpxor   %ymm1,%ymm7,%ymm7
 7118         vpsrld  $17,%ymm0,%ymm1
 7119         vpxor   %ymm2,%ymm7,%ymm7
 7120         vpslld  $15,%ymm0,%ymm2
 7121         vpaddd  %ymm7,%ymm5,%ymm5
 7122         vpxor   %ymm1,%ymm3,%ymm7
 7123         vpsrld  $19,%ymm0,%ymm1
 7124         vpxor   %ymm2,%ymm7,%ymm7
 7125         vpslld  $13,%ymm0,%ymm2
 7126         vpxor   %ymm1,%ymm7,%ymm7
 7127         vpxor   %ymm2,%ymm7,%ymm7
 7128         vpaddd  %ymm7,%ymm5,%ymm5
 7129         vpsrld  $6,%ymm12,%ymm7
 7130         vpslld  $26,%ymm12,%ymm2
 7131         vmovdqu %ymm5,256-256-128(%rbx)
 7132         vpaddd  %ymm15,%ymm5,%ymm5
 7133 
 7134         vpsrld  $11,%ymm12,%ymm1
 7135         vpxor   %ymm2,%ymm7,%ymm7
 7136         vpslld  $21,%ymm12,%ymm2
 7137         vpaddd  -128(%rbp),%ymm5,%ymm5
 7138         vpxor   %ymm1,%ymm7,%ymm7
 7139 
 7140         vpsrld  $25,%ymm12,%ymm1
 7141         vpxor   %ymm2,%ymm7,%ymm7
 7142 
 7143         vpslld  $7,%ymm12,%ymm2
 7144         vpandn  %ymm14,%ymm12,%ymm0
 7145         vpand   %ymm13,%ymm12,%ymm3
 7146 
 7147         vpxor   %ymm1,%ymm7,%ymm7
 7148 
 7149         vpsrld  $2,%ymm8,%ymm15
 7150         vpxor   %ymm2,%ymm7,%ymm7
 7151 
 7152         vpslld  $30,%ymm8,%ymm1
 7153         vpxor   %ymm3,%ymm0,%ymm0
 7154         vpxor   %ymm8,%ymm9,%ymm3
 7155 
 7156         vpxor   %ymm1,%ymm15,%ymm15
 7157         vpaddd  %ymm7,%ymm5,%ymm5
 7158 
 7159         vpsrld  $13,%ymm8,%ymm1
 7160 
 7161         vpslld  $19,%ymm8,%ymm2
 7162         vpaddd  %ymm0,%ymm5,%ymm5
 7163         vpand   %ymm3,%ymm4,%ymm4
 7164 
 7165         vpxor   %ymm1,%ymm15,%ymm7
 7166 
 7167         vpsrld  $22,%ymm8,%ymm1
 7168         vpxor   %ymm2,%ymm7,%ymm7
 7169 
 7170         vpslld  $10,%ymm8,%ymm2
 7171         vpxor   %ymm4,%ymm9,%ymm15
 7172         vpaddd  %ymm5,%ymm11,%ymm11
 7173 
 7174         vpxor   %ymm1,%ymm7,%ymm7
 7175         vpxor   %ymm2,%ymm7,%ymm7
 7176 
 7177         vpaddd  %ymm5,%ymm15,%ymm15
 7178         vpaddd  %ymm7,%ymm15,%ymm15
 7179         vmovdqu 320-256-128(%rbx),%ymm5
 7180         vpaddd  64-128(%rax),%ymm6,%ymm6
 7181 
 7182         vpsrld  $3,%ymm5,%ymm7
 7183         vpsrld  $7,%ymm5,%ymm1
 7184         vpslld  $25,%ymm5,%ymm2
 7185         vpxor   %ymm1,%ymm7,%ymm7
 7186         vpsrld  $18,%ymm5,%ymm1
 7187         vpxor   %ymm2,%ymm7,%ymm7
 7188         vpslld  $14,%ymm5,%ymm2
 7189         vmovdqu 224-128(%rax),%ymm0
 7190         vpsrld  $10,%ymm0,%ymm4
 7191 
 7192         vpxor   %ymm1,%ymm7,%ymm7
 7193         vpsrld  $17,%ymm0,%ymm1
 7194         vpxor   %ymm2,%ymm7,%ymm7
 7195         vpslld  $15,%ymm0,%ymm2
 7196         vpaddd  %ymm7,%ymm6,%ymm6
 7197         vpxor   %ymm1,%ymm4,%ymm7
 7198         vpsrld  $19,%ymm0,%ymm1
 7199         vpxor   %ymm2,%ymm7,%ymm7
 7200         vpslld  $13,%ymm0,%ymm2
 7201         vpxor   %ymm1,%ymm7,%ymm7
 7202         vpxor   %ymm2,%ymm7,%ymm7
 7203         vpaddd  %ymm7,%ymm6,%ymm6
 7204         vpsrld  $6,%ymm11,%ymm7
 7205         vpslld  $26,%ymm11,%ymm2
 7206         vmovdqu %ymm6,288-256-128(%rbx)
 7207         vpaddd  %ymm14,%ymm6,%ymm6
 7208 
 7209         vpsrld  $11,%ymm11,%ymm1
 7210         vpxor   %ymm2,%ymm7,%ymm7
 7211         vpslld  $21,%ymm11,%ymm2
 7212         vpaddd  -96(%rbp),%ymm6,%ymm6
 7213         vpxor   %ymm1,%ymm7,%ymm7
 7214 
 7215         vpsrld  $25,%ymm11,%ymm1
 7216         vpxor   %ymm2,%ymm7,%ymm7
 7217 
 7218         vpslld  $7,%ymm11,%ymm2
 7219         vpandn  %ymm13,%ymm11,%ymm0
 7220         vpand   %ymm12,%ymm11,%ymm4
 7221 
 7222         vpxor   %ymm1,%ymm7,%ymm7
 7223 
 7224         vpsrld  $2,%ymm15,%ymm14
 7225         vpxor   %ymm2,%ymm7,%ymm7
 7226 
 7227         vpslld  $30,%ymm15,%ymm1
 7228         vpxor   %ymm4,%ymm0,%ymm0
 7229         vpxor   %ymm15,%ymm8,%ymm4
 7230 
 7231         vpxor   %ymm1,%ymm14,%ymm14
 7232         vpaddd  %ymm7,%ymm6,%ymm6
 7233 
 7234         vpsrld  $13,%ymm15,%ymm1
 7235 
 7236         vpslld  $19,%ymm15,%ymm2
 7237         vpaddd  %ymm0,%ymm6,%ymm6
 7238         vpand   %ymm4,%ymm3,%ymm3
 7239 
 7240         vpxor   %ymm1,%ymm14,%ymm7
 7241 
 7242         vpsrld  $22,%ymm15,%ymm1
 7243         vpxor   %ymm2,%ymm7,%ymm7
 7244 
 7245         vpslld  $10,%ymm15,%ymm2
 7246         vpxor   %ymm3,%ymm8,%ymm14
 7247         vpaddd  %ymm6,%ymm10,%ymm10
 7248 
 7249         vpxor   %ymm1,%ymm7,%ymm7
 7250         vpxor   %ymm2,%ymm7,%ymm7
 7251 
 7252         vpaddd  %ymm6,%ymm14,%ymm14
 7253         vpaddd  %ymm7,%ymm14,%ymm14
 7254         vmovdqu 352-256-128(%rbx),%ymm6
 7255         vpaddd  96-128(%rax),%ymm5,%ymm5
 7256 
 7257         vpsrld  $3,%ymm6,%ymm7
 7258         vpsrld  $7,%ymm6,%ymm1
 7259         vpslld  $25,%ymm6,%ymm2
 7260         vpxor   %ymm1,%ymm7,%ymm7
 7261         vpsrld  $18,%ymm6,%ymm1
 7262         vpxor   %ymm2,%ymm7,%ymm7
 7263         vpslld  $14,%ymm6,%ymm2
 7264         vmovdqu 256-256-128(%rbx),%ymm0
 7265         vpsrld  $10,%ymm0,%ymm3
 7266 
 7267         vpxor   %ymm1,%ymm7,%ymm7
 7268         vpsrld  $17,%ymm0,%ymm1
 7269         vpxor   %ymm2,%ymm7,%ymm7
 7270         vpslld  $15,%ymm0,%ymm2
 7271         vpaddd  %ymm7,%ymm5,%ymm5
 7272         vpxor   %ymm1,%ymm3,%ymm7
 7273         vpsrld  $19,%ymm0,%ymm1
 7274         vpxor   %ymm2,%ymm7,%ymm7
 7275         vpslld  $13,%ymm0,%ymm2
 7276         vpxor   %ymm1,%ymm7,%ymm7
 7277         vpxor   %ymm2,%ymm7,%ymm7
 7278         vpaddd  %ymm7,%ymm5,%ymm5
 7279         vpsrld  $6,%ymm10,%ymm7
 7280         vpslld  $26,%ymm10,%ymm2
 7281         vmovdqu %ymm5,320-256-128(%rbx)
 7282         vpaddd  %ymm13,%ymm5,%ymm5
 7283 
 7284         vpsrld  $11,%ymm10,%ymm1
 7285         vpxor   %ymm2,%ymm7,%ymm7
 7286         vpslld  $21,%ymm10,%ymm2
 7287         vpaddd  -64(%rbp),%ymm5,%ymm5
 7288         vpxor   %ymm1,%ymm7,%ymm7
 7289 
 7290         vpsrld  $25,%ymm10,%ymm1
 7291         vpxor   %ymm2,%ymm7,%ymm7
 7292 
 7293         vpslld  $7,%ymm10,%ymm2
 7294         vpandn  %ymm12,%ymm10,%ymm0
 7295         vpand   %ymm11,%ymm10,%ymm3
 7296 
 7297         vpxor   %ymm1,%ymm7,%ymm7
 7298 
 7299         vpsrld  $2,%ymm14,%ymm13
 7300         vpxor   %ymm2,%ymm7,%ymm7
 7301 
 7302         vpslld  $30,%ymm14,%ymm1
 7303         vpxor   %ymm3,%ymm0,%ymm0
 7304         vpxor   %ymm14,%ymm15,%ymm3
 7305 
 7306         vpxor   %ymm1,%ymm13,%ymm13
 7307         vpaddd  %ymm7,%ymm5,%ymm5
 7308 
 7309         vpsrld  $13,%ymm14,%ymm1
 7310 
 7311         vpslld  $19,%ymm14,%ymm2
 7312         vpaddd  %ymm0,%ymm5,%ymm5
 7313         vpand   %ymm3,%ymm4,%ymm4
 7314 
 7315         vpxor   %ymm1,%ymm13,%ymm7
 7316 
 7317         vpsrld  $22,%ymm14,%ymm1
 7318         vpxor   %ymm2,%ymm7,%ymm7
 7319 
 7320         vpslld  $10,%ymm14,%ymm2
 7321         vpxor   %ymm4,%ymm15,%ymm13
 7322         vpaddd  %ymm5,%ymm9,%ymm9
 7323 
 7324         vpxor   %ymm1,%ymm7,%ymm7
 7325         vpxor   %ymm2,%ymm7,%ymm7
 7326 
 7327         vpaddd  %ymm5,%ymm13,%ymm13
 7328         vpaddd  %ymm7,%ymm13,%ymm13
 7329         vmovdqu 384-256-128(%rbx),%ymm5
 7330         vpaddd  128-128(%rax),%ymm6,%ymm6
 7331 
 7332         vpsrld  $3,%ymm5,%ymm7
 7333         vpsrld  $7,%ymm5,%ymm1
 7334         vpslld  $25,%ymm5,%ymm2
 7335         vpxor   %ymm1,%ymm7,%ymm7
 7336         vpsrld  $18,%ymm5,%ymm1
 7337         vpxor   %ymm2,%ymm7,%ymm7
 7338         vpslld  $14,%ymm5,%ymm2
 7339         vmovdqu 288-256-128(%rbx),%ymm0
 7340         vpsrld  $10,%ymm0,%ymm4
 7341 
 7342         vpxor   %ymm1,%ymm7,%ymm7
 7343         vpsrld  $17,%ymm0,%ymm1
 7344         vpxor   %ymm2,%ymm7,%ymm7
 7345         vpslld  $15,%ymm0,%ymm2
 7346         vpaddd  %ymm7,%ymm6,%ymm6
 7347         vpxor   %ymm1,%ymm4,%ymm7
 7348         vpsrld  $19,%ymm0,%ymm1
 7349         vpxor   %ymm2,%ymm7,%ymm7
 7350         vpslld  $13,%ymm0,%ymm2
 7351         vpxor   %ymm1,%ymm7,%ymm7
 7352         vpxor   %ymm2,%ymm7,%ymm7
 7353         vpaddd  %ymm7,%ymm6,%ymm6
 7354         vpsrld  $6,%ymm9,%ymm7
 7355         vpslld  $26,%ymm9,%ymm2
 7356         vmovdqu %ymm6,352-256-128(%rbx)
 7357         vpaddd  %ymm12,%ymm6,%ymm6
 7358 
 7359         vpsrld  $11,%ymm9,%ymm1
 7360         vpxor   %ymm2,%ymm7,%ymm7
 7361         vpslld  $21,%ymm9,%ymm2
 7362         vpaddd  -32(%rbp),%ymm6,%ymm6
 7363         vpxor   %ymm1,%ymm7,%ymm7
 7364 
 7365         vpsrld  $25,%ymm9,%ymm1
 7366         vpxor   %ymm2,%ymm7,%ymm7
 7367 
 7368         vpslld  $7,%ymm9,%ymm2
 7369         vpandn  %ymm11,%ymm9,%ymm0
 7370         vpand   %ymm10,%ymm9,%ymm4
 7371 
 7372         vpxor   %ymm1,%ymm7,%ymm7
 7373 
 7374         vpsrld  $2,%ymm13,%ymm12
 7375         vpxor   %ymm2,%ymm7,%ymm7
 7376 
 7377         vpslld  $30,%ymm13,%ymm1
 7378         vpxor   %ymm4,%ymm0,%ymm0
 7379         vpxor   %ymm13,%ymm14,%ymm4
 7380 
 7381         vpxor   %ymm1,%ymm12,%ymm12
 7382         vpaddd  %ymm7,%ymm6,%ymm6
 7383 
 7384         vpsrld  $13,%ymm13,%ymm1
 7385 
 7386         vpslld  $19,%ymm13,%ymm2
 7387         vpaddd  %ymm0,%ymm6,%ymm6
 7388         vpand   %ymm4,%ymm3,%ymm3
 7389 
 7390         vpxor   %ymm1,%ymm12,%ymm7
 7391 
 7392         vpsrld  $22,%ymm13,%ymm1
 7393         vpxor   %ymm2,%ymm7,%ymm7
 7394 
 7395         vpslld  $10,%ymm13,%ymm2
 7396         vpxor   %ymm3,%ymm14,%ymm12
 7397         vpaddd  %ymm6,%ymm8,%ymm8
 7398 
 7399         vpxor   %ymm1,%ymm7,%ymm7
 7400         vpxor   %ymm2,%ymm7,%ymm7
 7401 
 7402         vpaddd  %ymm6,%ymm12,%ymm12
 7403         vpaddd  %ymm7,%ymm12,%ymm12
 7404         vmovdqu 416-256-128(%rbx),%ymm6
 7405         vpaddd  160-128(%rax),%ymm5,%ymm5
 7406 
 7407         vpsrld  $3,%ymm6,%ymm7
 7408         vpsrld  $7,%ymm6,%ymm1
 7409         vpslld  $25,%ymm6,%ymm2
 7410         vpxor   %ymm1,%ymm7,%ymm7
 7411         vpsrld  $18,%ymm6,%ymm1
 7412         vpxor   %ymm2,%ymm7,%ymm7
 7413         vpslld  $14,%ymm6,%ymm2
 7414         vmovdqu 320-256-128(%rbx),%ymm0
 7415         vpsrld  $10,%ymm0,%ymm3
 7416 
 7417         vpxor   %ymm1,%ymm7,%ymm7
 7418         vpsrld  $17,%ymm0,%ymm1
 7419         vpxor   %ymm2,%ymm7,%ymm7
 7420         vpslld  $15,%ymm0,%ymm2
 7421         vpaddd  %ymm7,%ymm5,%ymm5
 7422         vpxor   %ymm1,%ymm3,%ymm7
 7423         vpsrld  $19,%ymm0,%ymm1
 7424         vpxor   %ymm2,%ymm7,%ymm7
 7425         vpslld  $13,%ymm0,%ymm2
 7426         vpxor   %ymm1,%ymm7,%ymm7
 7427         vpxor   %ymm2,%ymm7,%ymm7
 7428         vpaddd  %ymm7,%ymm5,%ymm5
 7429         vpsrld  $6,%ymm8,%ymm7
 7430         vpslld  $26,%ymm8,%ymm2
 7431         vmovdqu %ymm5,384-256-128(%rbx)
 7432         vpaddd  %ymm11,%ymm5,%ymm5
 7433 
 7434         vpsrld  $11,%ymm8,%ymm1
 7435         vpxor   %ymm2,%ymm7,%ymm7
 7436         vpslld  $21,%ymm8,%ymm2
 7437         vpaddd  0(%rbp),%ymm5,%ymm5
 7438         vpxor   %ymm1,%ymm7,%ymm7
 7439 
 7440         vpsrld  $25,%ymm8,%ymm1
 7441         vpxor   %ymm2,%ymm7,%ymm7
 7442 
 7443         vpslld  $7,%ymm8,%ymm2
 7444         vpandn  %ymm10,%ymm8,%ymm0
 7445         vpand   %ymm9,%ymm8,%ymm3
 7446 
 7447         vpxor   %ymm1,%ymm7,%ymm7
 7448 
 7449         vpsrld  $2,%ymm12,%ymm11
 7450         vpxor   %ymm2,%ymm7,%ymm7
 7451 
 7452         vpslld  $30,%ymm12,%ymm1
 7453         vpxor   %ymm3,%ymm0,%ymm0
 7454         vpxor   %ymm12,%ymm13,%ymm3
 7455 
 7456         vpxor   %ymm1,%ymm11,%ymm11
 7457         vpaddd  %ymm7,%ymm5,%ymm5
 7458 
 7459         vpsrld  $13,%ymm12,%ymm1
 7460 
 7461         vpslld  $19,%ymm12,%ymm2
 7462         vpaddd  %ymm0,%ymm5,%ymm5
 7463         vpand   %ymm3,%ymm4,%ymm4
 7464 
 7465         vpxor   %ymm1,%ymm11,%ymm7
 7466 
 7467         vpsrld  $22,%ymm12,%ymm1
 7468         vpxor   %ymm2,%ymm7,%ymm7
 7469 
 7470         vpslld  $10,%ymm12,%ymm2
 7471         vpxor   %ymm4,%ymm13,%ymm11
 7472         vpaddd  %ymm5,%ymm15,%ymm15
 7473 
 7474         vpxor   %ymm1,%ymm7,%ymm7
 7475         vpxor   %ymm2,%ymm7,%ymm7
 7476 
 7477         vpaddd  %ymm5,%ymm11,%ymm11
 7478         vpaddd  %ymm7,%ymm11,%ymm11
 7479         vmovdqu 448-256-128(%rbx),%ymm5
 7480         vpaddd  192-128(%rax),%ymm6,%ymm6
 7481 
 7482         vpsrld  $3,%ymm5,%ymm7
 7483         vpsrld  $7,%ymm5,%ymm1
 7484         vpslld  $25,%ymm5,%ymm2
 7485         vpxor   %ymm1,%ymm7,%ymm7
 7486         vpsrld  $18,%ymm5,%ymm1
 7487         vpxor   %ymm2,%ymm7,%ymm7
 7488         vpslld  $14,%ymm5,%ymm2
 7489         vmovdqu 352-256-128(%rbx),%ymm0
 7490         vpsrld  $10,%ymm0,%ymm4
 7491 
 7492         vpxor   %ymm1,%ymm7,%ymm7
 7493         vpsrld  $17,%ymm0,%ymm1
 7494         vpxor   %ymm2,%ymm7,%ymm7
 7495         vpslld  $15,%ymm0,%ymm2
 7496         vpaddd  %ymm7,%ymm6,%ymm6
 7497         vpxor   %ymm1,%ymm4,%ymm7
 7498         vpsrld  $19,%ymm0,%ymm1
 7499         vpxor   %ymm2,%ymm7,%ymm7
 7500         vpslld  $13,%ymm0,%ymm2
 7501         vpxor   %ymm1,%ymm7,%ymm7
 7502         vpxor   %ymm2,%ymm7,%ymm7
 7503         vpaddd  %ymm7,%ymm6,%ymm6
 7504         vpsrld  $6,%ymm15,%ymm7
 7505         vpslld  $26,%ymm15,%ymm2
 7506         vmovdqu %ymm6,416-256-128(%rbx)
 7507         vpaddd  %ymm10,%ymm6,%ymm6
 7508 
 7509         vpsrld  $11,%ymm15,%ymm1
 7510         vpxor   %ymm2,%ymm7,%ymm7
 7511         vpslld  $21,%ymm15,%ymm2
 7512         vpaddd  32(%rbp),%ymm6,%ymm6
 7513         vpxor   %ymm1,%ymm7,%ymm7
 7514 
 7515         vpsrld  $25,%ymm15,%ymm1
 7516         vpxor   %ymm2,%ymm7,%ymm7
 7517 
 7518         vpslld  $7,%ymm15,%ymm2
 7519         vpandn  %ymm9,%ymm15,%ymm0
 7520         vpand   %ymm8,%ymm15,%ymm4
 7521 
 7522         vpxor   %ymm1,%ymm7,%ymm7
 7523 
 7524         vpsrld  $2,%ymm11,%ymm10
 7525         vpxor   %ymm2,%ymm7,%ymm7
 7526 
 7527         vpslld  $30,%ymm11,%ymm1
 7528         vpxor   %ymm4,%ymm0,%ymm0
 7529         vpxor   %ymm11,%ymm12,%ymm4
 7530 
 7531         vpxor   %ymm1,%ymm10,%ymm10
 7532         vpaddd  %ymm7,%ymm6,%ymm6
 7533 
 7534         vpsrld  $13,%ymm11,%ymm1
 7535 
 7536         vpslld  $19,%ymm11,%ymm2
 7537         vpaddd  %ymm0,%ymm6,%ymm6
 7538         vpand   %ymm4,%ymm3,%ymm3
 7539 
 7540         vpxor   %ymm1,%ymm10,%ymm7
 7541 
 7542         vpsrld  $22,%ymm11,%ymm1
 7543         vpxor   %ymm2,%ymm7,%ymm7
 7544 
 7545         vpslld  $10,%ymm11,%ymm2
 7546         vpxor   %ymm3,%ymm12,%ymm10
 7547         vpaddd  %ymm6,%ymm14,%ymm14
 7548 
 7549         vpxor   %ymm1,%ymm7,%ymm7
 7550         vpxor   %ymm2,%ymm7,%ymm7
 7551 
 7552         vpaddd  %ymm6,%ymm10,%ymm10
 7553         vpaddd  %ymm7,%ymm10,%ymm10
 7554         vmovdqu 480-256-128(%rbx),%ymm6
 7555         vpaddd  224-128(%rax),%ymm5,%ymm5
 7556 
 7557         vpsrld  $3,%ymm6,%ymm7
 7558         vpsrld  $7,%ymm6,%ymm1
 7559         vpslld  $25,%ymm6,%ymm2
 7560         vpxor   %ymm1,%ymm7,%ymm7
 7561         vpsrld  $18,%ymm6,%ymm1
 7562         vpxor   %ymm2,%ymm7,%ymm7
 7563         vpslld  $14,%ymm6,%ymm2
 7564         vmovdqu 384-256-128(%rbx),%ymm0
 7565         vpsrld  $10,%ymm0,%ymm3
 7566 
 7567         vpxor   %ymm1,%ymm7,%ymm7
 7568         vpsrld  $17,%ymm0,%ymm1
 7569         vpxor   %ymm2,%ymm7,%ymm7
 7570         vpslld  $15,%ymm0,%ymm2
 7571         vpaddd  %ymm7,%ymm5,%ymm5
 7572         vpxor   %ymm1,%ymm3,%ymm7
 7573         vpsrld  $19,%ymm0,%ymm1
 7574         vpxor   %ymm2,%ymm7,%ymm7
 7575         vpslld  $13,%ymm0,%ymm2
 7576         vpxor   %ymm1,%ymm7,%ymm7
 7577         vpxor   %ymm2,%ymm7,%ymm7
 7578         vpaddd  %ymm7,%ymm5,%ymm5
 7579         vpsrld  $6,%ymm14,%ymm7
 7580         vpslld  $26,%ymm14,%ymm2
 7581         vmovdqu %ymm5,448-256-128(%rbx)
 7582         vpaddd  %ymm9,%ymm5,%ymm5
 7583 
 7584         vpsrld  $11,%ymm14,%ymm1
 7585         vpxor   %ymm2,%ymm7,%ymm7
 7586         vpslld  $21,%ymm14,%ymm2
 7587         vpaddd  64(%rbp),%ymm5,%ymm5
 7588         vpxor   %ymm1,%ymm7,%ymm7
 7589 
 7590         vpsrld  $25,%ymm14,%ymm1
 7591         vpxor   %ymm2,%ymm7,%ymm7
 7592 
 7593         vpslld  $7,%ymm14,%ymm2
 7594         vpandn  %ymm8,%ymm14,%ymm0
 7595         vpand   %ymm15,%ymm14,%ymm3
 7596 
 7597         vpxor   %ymm1,%ymm7,%ymm7
 7598 
 7599         vpsrld  $2,%ymm10,%ymm9
 7600         vpxor   %ymm2,%ymm7,%ymm7
 7601 
 7602         vpslld  $30,%ymm10,%ymm1
 7603         vpxor   %ymm3,%ymm0,%ymm0
 7604         vpxor   %ymm10,%ymm11,%ymm3
 7605 
 7606         vpxor   %ymm1,%ymm9,%ymm9
 7607         vpaddd  %ymm7,%ymm5,%ymm5
 7608 
 7609         vpsrld  $13,%ymm10,%ymm1
 7610 
 7611         vpslld  $19,%ymm10,%ymm2
 7612         vpaddd  %ymm0,%ymm5,%ymm5
 7613         vpand   %ymm3,%ymm4,%ymm4
 7614 
 7615         vpxor   %ymm1,%ymm9,%ymm7
 7616 
 7617         vpsrld  $22,%ymm10,%ymm1
 7618         vpxor   %ymm2,%ymm7,%ymm7
 7619 
 7620         vpslld  $10,%ymm10,%ymm2
 7621         vpxor   %ymm4,%ymm11,%ymm9
 7622         vpaddd  %ymm5,%ymm13,%ymm13
 7623 
 7624         vpxor   %ymm1,%ymm7,%ymm7
 7625         vpxor   %ymm2,%ymm7,%ymm7
 7626 
 7627         vpaddd  %ymm5,%ymm9,%ymm9
 7628         vpaddd  %ymm7,%ymm9,%ymm9
 7629         vmovdqu 0-128(%rax),%ymm5
 7630         vpaddd  256-256-128(%rbx),%ymm6,%ymm6
 7631 
 7632         vpsrld  $3,%ymm5,%ymm7
 7633         vpsrld  $7,%ymm5,%ymm1
 7634         vpslld  $25,%ymm5,%ymm2
 7635         vpxor   %ymm1,%ymm7,%ymm7
 7636         vpsrld  $18,%ymm5,%ymm1
 7637         vpxor   %ymm2,%ymm7,%ymm7
 7638         vpslld  $14,%ymm5,%ymm2
 7639         vmovdqu 416-256-128(%rbx),%ymm0
 7640         vpsrld  $10,%ymm0,%ymm4
 7641 
 7642         vpxor   %ymm1,%ymm7,%ymm7
 7643         vpsrld  $17,%ymm0,%ymm1
 7644         vpxor   %ymm2,%ymm7,%ymm7
 7645         vpslld  $15,%ymm0,%ymm2
 7646         vpaddd  %ymm7,%ymm6,%ymm6
 7647         vpxor   %ymm1,%ymm4,%ymm7
 7648         vpsrld  $19,%ymm0,%ymm1
 7649         vpxor   %ymm2,%ymm7,%ymm7
 7650         vpslld  $13,%ymm0,%ymm2
 7651         vpxor   %ymm1,%ymm7,%ymm7
 7652         vpxor   %ymm2,%ymm7,%ymm7
 7653         vpaddd  %ymm7,%ymm6,%ymm6
 7654         vpsrld  $6,%ymm13,%ymm7
 7655         vpslld  $26,%ymm13,%ymm2
 7656         vmovdqu %ymm6,480-256-128(%rbx)
 7657         vpaddd  %ymm8,%ymm6,%ymm6
 7658 
 7659         vpsrld  $11,%ymm13,%ymm1
 7660         vpxor   %ymm2,%ymm7,%ymm7
 7661         vpslld  $21,%ymm13,%ymm2
 7662         vpaddd  96(%rbp),%ymm6,%ymm6
 7663         vpxor   %ymm1,%ymm7,%ymm7
 7664 
 7665         vpsrld  $25,%ymm13,%ymm1
 7666         vpxor   %ymm2,%ymm7,%ymm7
 7667 
 7668         vpslld  $7,%ymm13,%ymm2
 7669         vpandn  %ymm15,%ymm13,%ymm0
 7670         vpand   %ymm14,%ymm13,%ymm4
 7671 
 7672         vpxor   %ymm1,%ymm7,%ymm7
 7673 
 7674         vpsrld  $2,%ymm9,%ymm8
 7675         vpxor   %ymm2,%ymm7,%ymm7
 7676 
 7677         vpslld  $30,%ymm9,%ymm1
 7678         vpxor   %ymm4,%ymm0,%ymm0
 7679         vpxor   %ymm9,%ymm10,%ymm4
 7680 
 7681         vpxor   %ymm1,%ymm8,%ymm8
 7682         vpaddd  %ymm7,%ymm6,%ymm6
 7683 
 7684         vpsrld  $13,%ymm9,%ymm1
 7685 
 7686         vpslld  $19,%ymm9,%ymm2
 7687         vpaddd  %ymm0,%ymm6,%ymm6
 7688         vpand   %ymm4,%ymm3,%ymm3
 7689 
 7690         vpxor   %ymm1,%ymm8,%ymm7
 7691 
 7692         vpsrld  $22,%ymm9,%ymm1
 7693         vpxor   %ymm2,%ymm7,%ymm7
 7694 
 7695         vpslld  $10,%ymm9,%ymm2
 7696         vpxor   %ymm3,%ymm10,%ymm8
 7697         vpaddd  %ymm6,%ymm12,%ymm12
 7698 
 7699         vpxor   %ymm1,%ymm7,%ymm7
 7700         vpxor   %ymm2,%ymm7,%ymm7
 7701 
 7702         vpaddd  %ymm6,%ymm8,%ymm8
 7703         vpaddd  %ymm7,%ymm8,%ymm8
 7704         addq    $256,%rbp
 7705         decl    %ecx
 7706         jnz     .Loop_16_xx_avx2
 7707 
 7708         movl    $1,%ecx
 7709         leaq    512(%rsp),%rbx
 7710         leaq    K256+128(%rip),%rbp
 7711         cmpl    0(%rbx),%ecx
 7712         cmovgeq %rbp,%r12
 7713         cmpl    4(%rbx),%ecx
 7714         cmovgeq %rbp,%r13
 7715         cmpl    8(%rbx),%ecx
 7716         cmovgeq %rbp,%r14
 7717         cmpl    12(%rbx),%ecx
 7718         cmovgeq %rbp,%r15
 7719         cmpl    16(%rbx),%ecx
 7720         cmovgeq %rbp,%r8
 7721         cmpl    20(%rbx),%ecx
 7722         cmovgeq %rbp,%r9
 7723         cmpl    24(%rbx),%ecx
 7724         cmovgeq %rbp,%r10
 7725         cmpl    28(%rbx),%ecx
 7726         cmovgeq %rbp,%r11
 7727         vmovdqa (%rbx),%ymm7
 7728         vpxor   %ymm0,%ymm0,%ymm0
 7729         vmovdqa %ymm7,%ymm6
 7730         vpcmpgtd        %ymm0,%ymm6,%ymm6
 7731         vpaddd  %ymm6,%ymm7,%ymm7
 7732 
 7733         vmovdqu 0-128(%rdi),%ymm0
 7734         vpand   %ymm6,%ymm8,%ymm8
 7735         vmovdqu 32-128(%rdi),%ymm1
 7736         vpand   %ymm6,%ymm9,%ymm9
 7737         vmovdqu 64-128(%rdi),%ymm2
 7738         vpand   %ymm6,%ymm10,%ymm10
 7739         vmovdqu 96-128(%rdi),%ymm5
 7740         vpand   %ymm6,%ymm11,%ymm11
 7741         vpaddd  %ymm0,%ymm8,%ymm8
 7742         vmovdqu 128-128(%rdi),%ymm0
 7743         vpand   %ymm6,%ymm12,%ymm12
 7744         vpaddd  %ymm1,%ymm9,%ymm9
 7745         vmovdqu 160-128(%rdi),%ymm1
 7746         vpand   %ymm6,%ymm13,%ymm13
 7747         vpaddd  %ymm2,%ymm10,%ymm10
 7748         vmovdqu 192-128(%rdi),%ymm2
 7749         vpand   %ymm6,%ymm14,%ymm14
 7750         vpaddd  %ymm5,%ymm11,%ymm11
 7751         vmovdqu 224-128(%rdi),%ymm5
 7752         vpand   %ymm6,%ymm15,%ymm15
 7753         vpaddd  %ymm0,%ymm12,%ymm12
 7754         vpaddd  %ymm1,%ymm13,%ymm13
 7755         vmovdqu %ymm8,0-128(%rdi)
 7756         vpaddd  %ymm2,%ymm14,%ymm14
 7757         vmovdqu %ymm9,32-128(%rdi)
 7758         vpaddd  %ymm5,%ymm15,%ymm15
 7759         vmovdqu %ymm10,64-128(%rdi)
 7760         vmovdqu %ymm11,96-128(%rdi)
 7761         vmovdqu %ymm12,128-128(%rdi)
 7762         vmovdqu %ymm13,160-128(%rdi)
 7763         vmovdqu %ymm14,192-128(%rdi)
 7764         vmovdqu %ymm15,224-128(%rdi)
 7765 
 7766         vmovdqu %ymm7,(%rbx)
 7767         leaq    256+128(%rsp),%rbx
 7768         vmovdqu .Lpbswap(%rip),%ymm6
 7769         decl    %edx
 7770         jnz     .Loop_avx2
 7771 
 7772 
 7773 
 7774 
 7775 
 7776 
 7777 
 7778 .Ldone_avx2:
 7779         movq    544(%rsp),%rax
 7780 .cfi_def_cfa    %rax,8
 7781         vzeroupper
 7782         movq    -48(%rax),%r15
 7783 .cfi_restore    %r15
 7784         movq    -40(%rax),%r14
 7785 .cfi_restore    %r14
 7786         movq    -32(%rax),%r13
 7787 .cfi_restore    %r13
 7788         movq    -24(%rax),%r12
 7789 .cfi_restore    %r12
 7790         movq    -16(%rax),%rbp
 7791 .cfi_restore    %rbp
 7792         movq    -8(%rax),%rbx
 7793 .cfi_restore    %rbx
 7794         leaq    (%rax),%rsp
 7795 .cfi_def_cfa_register   %rsp
 7796 .Lepilogue_avx2:
 7797         .byte   0xf3,0xc3
 7798 .cfi_endproc    
 7799 .size   sha256_multi_block_avx2,.-sha256_multi_block_avx2
 7800 .align  256
 7801 K256:
 7802 .long   1116352408,1116352408,1116352408,1116352408
 7803 .long   1116352408,1116352408,1116352408,1116352408
 7804 .long   1899447441,1899447441,1899447441,1899447441
 7805 .long   1899447441,1899447441,1899447441,1899447441
 7806 .long   3049323471,3049323471,3049323471,3049323471
 7807 .long   3049323471,3049323471,3049323471,3049323471
 7808 .long   3921009573,3921009573,3921009573,3921009573
 7809 .long   3921009573,3921009573,3921009573,3921009573
 7810 .long   961987163,961987163,961987163,961987163
 7811 .long   961987163,961987163,961987163,961987163
 7812 .long   1508970993,1508970993,1508970993,1508970993
 7813 .long   1508970993,1508970993,1508970993,1508970993
 7814 .long   2453635748,2453635748,2453635748,2453635748
 7815 .long   2453635748,2453635748,2453635748,2453635748
 7816 .long   2870763221,2870763221,2870763221,2870763221
 7817 .long   2870763221,2870763221,2870763221,2870763221
 7818 .long   3624381080,3624381080,3624381080,3624381080
 7819 .long   3624381080,3624381080,3624381080,3624381080
 7820 .long   310598401,310598401,310598401,310598401
 7821 .long   310598401,310598401,310598401,310598401
 7822 .long   607225278,607225278,607225278,607225278
 7823 .long   607225278,607225278,607225278,607225278
 7824 .long   1426881987,1426881987,1426881987,1426881987
 7825 .long   1426881987,1426881987,1426881987,1426881987
 7826 .long   1925078388,1925078388,1925078388,1925078388
 7827 .long   1925078388,1925078388,1925078388,1925078388
 7828 .long   2162078206,2162078206,2162078206,2162078206
 7829 .long   2162078206,2162078206,2162078206,2162078206
 7830 .long   2614888103,2614888103,2614888103,2614888103
 7831 .long   2614888103,2614888103,2614888103,2614888103
 7832 .long   3248222580,3248222580,3248222580,3248222580
 7833 .long   3248222580,3248222580,3248222580,3248222580
 7834 .long   3835390401,3835390401,3835390401,3835390401
 7835 .long   3835390401,3835390401,3835390401,3835390401
 7836 .long   4022224774,4022224774,4022224774,4022224774
 7837 .long   4022224774,4022224774,4022224774,4022224774
 7838 .long   264347078,264347078,264347078,264347078
 7839 .long   264347078,264347078,264347078,264347078
 7840 .long   604807628,604807628,604807628,604807628
 7841 .long   604807628,604807628,604807628,604807628
 7842 .long   770255983,770255983,770255983,770255983
 7843 .long   770255983,770255983,770255983,770255983
 7844 .long   1249150122,1249150122,1249150122,1249150122
 7845 .long   1249150122,1249150122,1249150122,1249150122
 7846 .long   1555081692,1555081692,1555081692,1555081692
 7847 .long   1555081692,1555081692,1555081692,1555081692
 7848 .long   1996064986,1996064986,1996064986,1996064986
 7849 .long   1996064986,1996064986,1996064986,1996064986
 7850 .long   2554220882,2554220882,2554220882,2554220882
 7851 .long   2554220882,2554220882,2554220882,2554220882
 7852 .long   2821834349,2821834349,2821834349,2821834349
 7853 .long   2821834349,2821834349,2821834349,2821834349
 7854 .long   2952996808,2952996808,2952996808,2952996808
 7855 .long   2952996808,2952996808,2952996808,2952996808
 7856 .long   3210313671,3210313671,3210313671,3210313671
 7857 .long   3210313671,3210313671,3210313671,3210313671
 7858 .long   3336571891,3336571891,3336571891,3336571891
 7859 .long   3336571891,3336571891,3336571891,3336571891
 7860 .long   3584528711,3584528711,3584528711,3584528711
 7861 .long   3584528711,3584528711,3584528711,3584528711
 7862 .long   113926993,113926993,113926993,113926993
 7863 .long   113926993,113926993,113926993,113926993
 7864 .long   338241895,338241895,338241895,338241895
 7865 .long   338241895,338241895,338241895,338241895
 7866 .long   666307205,666307205,666307205,666307205
 7867 .long   666307205,666307205,666307205,666307205
 7868 .long   773529912,773529912,773529912,773529912
 7869 .long   773529912,773529912,773529912,773529912
 7870 .long   1294757372,1294757372,1294757372,1294757372
 7871 .long   1294757372,1294757372,1294757372,1294757372
 7872 .long   1396182291,1396182291,1396182291,1396182291
 7873 .long   1396182291,1396182291,1396182291,1396182291
 7874 .long   1695183700,1695183700,1695183700,1695183700
 7875 .long   1695183700,1695183700,1695183700,1695183700
 7876 .long   1986661051,1986661051,1986661051,1986661051
 7877 .long   1986661051,1986661051,1986661051,1986661051
 7878 .long   2177026350,2177026350,2177026350,2177026350
 7879 .long   2177026350,2177026350,2177026350,2177026350
 7880 .long   2456956037,2456956037,2456956037,2456956037
 7881 .long   2456956037,2456956037,2456956037,2456956037
 7882 .long   2730485921,2730485921,2730485921,2730485921
 7883 .long   2730485921,2730485921,2730485921,2730485921
 7884 .long   2820302411,2820302411,2820302411,2820302411
 7885 .long   2820302411,2820302411,2820302411,2820302411
 7886 .long   3259730800,3259730800,3259730800,3259730800
 7887 .long   3259730800,3259730800,3259730800,3259730800
 7888 .long   3345764771,3345764771,3345764771,3345764771
 7889 .long   3345764771,3345764771,3345764771,3345764771
 7890 .long   3516065817,3516065817,3516065817,3516065817
 7891 .long   3516065817,3516065817,3516065817,3516065817
 7892 .long   3600352804,3600352804,3600352804,3600352804
 7893 .long   3600352804,3600352804,3600352804,3600352804
 7894 .long   4094571909,4094571909,4094571909,4094571909
 7895 .long   4094571909,4094571909,4094571909,4094571909
 7896 .long   275423344,275423344,275423344,275423344
 7897 .long   275423344,275423344,275423344,275423344
 7898 .long   430227734,430227734,430227734,430227734
 7899 .long   430227734,430227734,430227734,430227734
 7900 .long   506948616,506948616,506948616,506948616
 7901 .long   506948616,506948616,506948616,506948616
 7902 .long   659060556,659060556,659060556,659060556
 7903 .long   659060556,659060556,659060556,659060556
 7904 .long   883997877,883997877,883997877,883997877
 7905 .long   883997877,883997877,883997877,883997877
 7906 .long   958139571,958139571,958139571,958139571
 7907 .long   958139571,958139571,958139571,958139571
 7908 .long   1322822218,1322822218,1322822218,1322822218
 7909 .long   1322822218,1322822218,1322822218,1322822218
 7910 .long   1537002063,1537002063,1537002063,1537002063
 7911 .long   1537002063,1537002063,1537002063,1537002063
 7912 .long   1747873779,1747873779,1747873779,1747873779
 7913 .long   1747873779,1747873779,1747873779,1747873779
 7914 .long   1955562222,1955562222,1955562222,1955562222
 7915 .long   1955562222,1955562222,1955562222,1955562222
 7916 .long   2024104815,2024104815,2024104815,2024104815
 7917 .long   2024104815,2024104815,2024104815,2024104815
 7918 .long   2227730452,2227730452,2227730452,2227730452
 7919 .long   2227730452,2227730452,2227730452,2227730452
 7920 .long   2361852424,2361852424,2361852424,2361852424
 7921 .long   2361852424,2361852424,2361852424,2361852424
 7922 .long   2428436474,2428436474,2428436474,2428436474
 7923 .long   2428436474,2428436474,2428436474,2428436474
 7924 .long   2756734187,2756734187,2756734187,2756734187
 7925 .long   2756734187,2756734187,2756734187,2756734187
 7926 .long   3204031479,3204031479,3204031479,3204031479
 7927 .long   3204031479,3204031479,3204031479,3204031479
 7928 .long   3329325298,3329325298,3329325298,3329325298
 7929 .long   3329325298,3329325298,3329325298,3329325298
 7930 .Lpbswap:
 7931 .long   0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
 7932 .long   0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
 7933 K256_shaext:
 7934 .long   0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
 7935 .long   0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
 7936 .long   0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
 7937 .long   0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
 7938 .long   0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
 7939 .long   0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
 7940 .long   0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
 7941 .long   0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
 7942 .long   0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
 7943 .long   0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
 7944 .long   0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
 7945 .long   0xd192e819,0xd6990624,0xf40e3585,0x106aa070
 7946 .long   0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
 7947 .long   0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
 7948 .long   0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
 7949 .long   0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
 7950 .byte   83,72,65,50,53,54,32,109,117,108,116,105,45,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

Cache object: 8011216a24c187ff2929568b165b6d5b


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