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


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

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

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

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

Cache object: e2096102ac835e46b1a1b783e2fc4905


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