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