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