Home | History | Annotate | Download | only in asm
      1 .text
      2 
      3 .globl	sha512_block_data_order
      4 .type	sha512_block_data_order,@function
      5 .align	16
      6 sha512_block_data_order:
      7 	pushq	%rbx
      8 	pushq	%rbp
      9 	pushq	%r12
     10 	pushq	%r13
     11 	pushq	%r14
     12 	pushq	%r15
     13 	movq	%rsp,%r11
     14 	shlq	$4,%rdx
     15 	subq	$128+32,%rsp
     16 	leaq	(%rsi,%rdx,8),%rdx
     17 	andq	$-64,%rsp
     18 	movq	%rdi,128+0(%rsp)
     19 	movq	%rsi,128+8(%rsp)
     20 	movq	%rdx,128+16(%rsp)
     21 	movq	%r11,128+24(%rsp)
     22 .Lprologue:
     23 
     24 	leaq	K512(%rip),%rbp
     25 
     26 	movq	0(%rdi),%rax
     27 	movq	8(%rdi),%rbx
     28 	movq	16(%rdi),%rcx
     29 	movq	24(%rdi),%rdx
     30 	movq	32(%rdi),%r8
     31 	movq	40(%rdi),%r9
     32 	movq	48(%rdi),%r10
     33 	movq	56(%rdi),%r11
     34 	jmp	.Lloop
     35 
     36 .align	16
     37 .Lloop:
     38 	xorq	%rdi,%rdi
     39 	movq	0(%rsi),%r12
     40 	movq	%r8,%r13
     41 	movq	%rax,%r14
     42 	bswapq	%r12
     43 	rorq	$23,%r13
     44 	movq	%r9,%r15
     45 	movq	%r12,0(%rsp)
     46 
     47 	rorq	$5,%r14
     48 	xorq	%r8,%r13
     49 	xorq	%r10,%r15
     50 
     51 	rorq	$4,%r13
     52 	addq	%r11,%r12
     53 	xorq	%rax,%r14
     54 
     55 	addq	(%rbp,%rdi,8),%r12
     56 	andq	%r8,%r15
     57 	movq	%rbx,%r11
     58 
     59 	rorq	$6,%r14
     60 	xorq	%r8,%r13
     61 	xorq	%r10,%r15
     62 
     63 	xorq	%rcx,%r11
     64 	xorq	%rax,%r14
     65 	addq	%r15,%r12
     66 	movq	%rbx,%r15
     67 
     68 	rorq	$14,%r13
     69 	andq	%rax,%r11
     70 	andq	%rcx,%r15
     71 
     72 	rorq	$28,%r14
     73 	addq	%r13,%r12
     74 	addq	%r15,%r11
     75 
     76 	addq	%r12,%rdx
     77 	addq	%r12,%r11
     78 	leaq	1(%rdi),%rdi
     79 	addq	%r14,%r11
     80 
     81 	movq	8(%rsi),%r12
     82 	movq	%rdx,%r13
     83 	movq	%r11,%r14
     84 	bswapq	%r12
     85 	rorq	$23,%r13
     86 	movq	%r8,%r15
     87 	movq	%r12,8(%rsp)
     88 
     89 	rorq	$5,%r14
     90 	xorq	%rdx,%r13
     91 	xorq	%r9,%r15
     92 
     93 	rorq	$4,%r13
     94 	addq	%r10,%r12
     95 	xorq	%r11,%r14
     96 
     97 	addq	(%rbp,%rdi,8),%r12
     98 	andq	%rdx,%r15
     99 	movq	%rax,%r10
    100 
    101 	rorq	$6,%r14
    102 	xorq	%rdx,%r13
    103 	xorq	%r9,%r15
    104 
    105 	xorq	%rbx,%r10
    106 	xorq	%r11,%r14
    107 	addq	%r15,%r12
    108 	movq	%rax,%r15
    109 
    110 	rorq	$14,%r13
    111 	andq	%r11,%r10
    112 	andq	%rbx,%r15
    113 
    114 	rorq	$28,%r14
    115 	addq	%r13,%r12
    116 	addq	%r15,%r10
    117 
    118 	addq	%r12,%rcx
    119 	addq	%r12,%r10
    120 	leaq	1(%rdi),%rdi
    121 	addq	%r14,%r10
    122 
    123 	movq	16(%rsi),%r12
    124 	movq	%rcx,%r13
    125 	movq	%r10,%r14
    126 	bswapq	%r12
    127 	rorq	$23,%r13
    128 	movq	%rdx,%r15
    129 	movq	%r12,16(%rsp)
    130 
    131 	rorq	$5,%r14
    132 	xorq	%rcx,%r13
    133 	xorq	%r8,%r15
    134 
    135 	rorq	$4,%r13
    136 	addq	%r9,%r12
    137 	xorq	%r10,%r14
    138 
    139 	addq	(%rbp,%rdi,8),%r12
    140 	andq	%rcx,%r15
    141 	movq	%r11,%r9
    142 
    143 	rorq	$6,%r14
    144 	xorq	%rcx,%r13
    145 	xorq	%r8,%r15
    146 
    147 	xorq	%rax,%r9
    148 	xorq	%r10,%r14
    149 	addq	%r15,%r12
    150 	movq	%r11,%r15
    151 
    152 	rorq	$14,%r13
    153 	andq	%r10,%r9
    154 	andq	%rax,%r15
    155 
    156 	rorq	$28,%r14
    157 	addq	%r13,%r12
    158 	addq	%r15,%r9
    159 
    160 	addq	%r12,%rbx
    161 	addq	%r12,%r9
    162 	leaq	1(%rdi),%rdi
    163 	addq	%r14,%r9
    164 
    165 	movq	24(%rsi),%r12
    166 	movq	%rbx,%r13
    167 	movq	%r9,%r14
    168 	bswapq	%r12
    169 	rorq	$23,%r13
    170 	movq	%rcx,%r15
    171 	movq	%r12,24(%rsp)
    172 
    173 	rorq	$5,%r14
    174 	xorq	%rbx,%r13
    175 	xorq	%rdx,%r15
    176 
    177 	rorq	$4,%r13
    178 	addq	%r8,%r12
    179 	xorq	%r9,%r14
    180 
    181 	addq	(%rbp,%rdi,8),%r12
    182 	andq	%rbx,%r15
    183 	movq	%r10,%r8
    184 
    185 	rorq	$6,%r14
    186 	xorq	%rbx,%r13
    187 	xorq	%rdx,%r15
    188 
    189 	xorq	%r11,%r8
    190 	xorq	%r9,%r14
    191 	addq	%r15,%r12
    192 	movq	%r10,%r15
    193 
    194 	rorq	$14,%r13
    195 	andq	%r9,%r8
    196 	andq	%r11,%r15
    197 
    198 	rorq	$28,%r14
    199 	addq	%r13,%r12
    200 	addq	%r15,%r8
    201 
    202 	addq	%r12,%rax
    203 	addq	%r12,%r8
    204 	leaq	1(%rdi),%rdi
    205 	addq	%r14,%r8
    206 
    207 	movq	32(%rsi),%r12
    208 	movq	%rax,%r13
    209 	movq	%r8,%r14
    210 	bswapq	%r12
    211 	rorq	$23,%r13
    212 	movq	%rbx,%r15
    213 	movq	%r12,32(%rsp)
    214 
    215 	rorq	$5,%r14
    216 	xorq	%rax,%r13
    217 	xorq	%rcx,%r15
    218 
    219 	rorq	$4,%r13
    220 	addq	%rdx,%r12
    221 	xorq	%r8,%r14
    222 
    223 	addq	(%rbp,%rdi,8),%r12
    224 	andq	%rax,%r15
    225 	movq	%r9,%rdx
    226 
    227 	rorq	$6,%r14
    228 	xorq	%rax,%r13
    229 	xorq	%rcx,%r15
    230 
    231 	xorq	%r10,%rdx
    232 	xorq	%r8,%r14
    233 	addq	%r15,%r12
    234 	movq	%r9,%r15
    235 
    236 	rorq	$14,%r13
    237 	andq	%r8,%rdx
    238 	andq	%r10,%r15
    239 
    240 	rorq	$28,%r14
    241 	addq	%r13,%r12
    242 	addq	%r15,%rdx
    243 
    244 	addq	%r12,%r11
    245 	addq	%r12,%rdx
    246 	leaq	1(%rdi),%rdi
    247 	addq	%r14,%rdx
    248 
    249 	movq	40(%rsi),%r12
    250 	movq	%r11,%r13
    251 	movq	%rdx,%r14
    252 	bswapq	%r12
    253 	rorq	$23,%r13
    254 	movq	%rax,%r15
    255 	movq	%r12,40(%rsp)
    256 
    257 	rorq	$5,%r14
    258 	xorq	%r11,%r13
    259 	xorq	%rbx,%r15
    260 
    261 	rorq	$4,%r13
    262 	addq	%rcx,%r12
    263 	xorq	%rdx,%r14
    264 
    265 	addq	(%rbp,%rdi,8),%r12
    266 	andq	%r11,%r15
    267 	movq	%r8,%rcx
    268 
    269 	rorq	$6,%r14
    270 	xorq	%r11,%r13
    271 	xorq	%rbx,%r15
    272 
    273 	xorq	%r9,%rcx
    274 	xorq	%rdx,%r14
    275 	addq	%r15,%r12
    276 	movq	%r8,%r15
    277 
    278 	rorq	$14,%r13
    279 	andq	%rdx,%rcx
    280 	andq	%r9,%r15
    281 
    282 	rorq	$28,%r14
    283 	addq	%r13,%r12
    284 	addq	%r15,%rcx
    285 
    286 	addq	%r12,%r10
    287 	addq	%r12,%rcx
    288 	leaq	1(%rdi),%rdi
    289 	addq	%r14,%rcx
    290 
    291 	movq	48(%rsi),%r12
    292 	movq	%r10,%r13
    293 	movq	%rcx,%r14
    294 	bswapq	%r12
    295 	rorq	$23,%r13
    296 	movq	%r11,%r15
    297 	movq	%r12,48(%rsp)
    298 
    299 	rorq	$5,%r14
    300 	xorq	%r10,%r13
    301 	xorq	%rax,%r15
    302 
    303 	rorq	$4,%r13
    304 	addq	%rbx,%r12
    305 	xorq	%rcx,%r14
    306 
    307 	addq	(%rbp,%rdi,8),%r12
    308 	andq	%r10,%r15
    309 	movq	%rdx,%rbx
    310 
    311 	rorq	$6,%r14
    312 	xorq	%r10,%r13
    313 	xorq	%rax,%r15
    314 
    315 	xorq	%r8,%rbx
    316 	xorq	%rcx,%r14
    317 	addq	%r15,%r12
    318 	movq	%rdx,%r15
    319 
    320 	rorq	$14,%r13
    321 	andq	%rcx,%rbx
    322 	andq	%r8,%r15
    323 
    324 	rorq	$28,%r14
    325 	addq	%r13,%r12
    326 	addq	%r15,%rbx
    327 
    328 	addq	%r12,%r9
    329 	addq	%r12,%rbx
    330 	leaq	1(%rdi),%rdi
    331 	addq	%r14,%rbx
    332 
    333 	movq	56(%rsi),%r12
    334 	movq	%r9,%r13
    335 	movq	%rbx,%r14
    336 	bswapq	%r12
    337 	rorq	$23,%r13
    338 	movq	%r10,%r15
    339 	movq	%r12,56(%rsp)
    340 
    341 	rorq	$5,%r14
    342 	xorq	%r9,%r13
    343 	xorq	%r11,%r15
    344 
    345 	rorq	$4,%r13
    346 	addq	%rax,%r12
    347 	xorq	%rbx,%r14
    348 
    349 	addq	(%rbp,%rdi,8),%r12
    350 	andq	%r9,%r15
    351 	movq	%rcx,%rax
    352 
    353 	rorq	$6,%r14
    354 	xorq	%r9,%r13
    355 	xorq	%r11,%r15
    356 
    357 	xorq	%rdx,%rax
    358 	xorq	%rbx,%r14
    359 	addq	%r15,%r12
    360 	movq	%rcx,%r15
    361 
    362 	rorq	$14,%r13
    363 	andq	%rbx,%rax
    364 	andq	%rdx,%r15
    365 
    366 	rorq	$28,%r14
    367 	addq	%r13,%r12
    368 	addq	%r15,%rax
    369 
    370 	addq	%r12,%r8
    371 	addq	%r12,%rax
    372 	leaq	1(%rdi),%rdi
    373 	addq	%r14,%rax
    374 
    375 	movq	64(%rsi),%r12
    376 	movq	%r8,%r13
    377 	movq	%rax,%r14
    378 	bswapq	%r12
    379 	rorq	$23,%r13
    380 	movq	%r9,%r15
    381 	movq	%r12,64(%rsp)
    382 
    383 	rorq	$5,%r14
    384 	xorq	%r8,%r13
    385 	xorq	%r10,%r15
    386 
    387 	rorq	$4,%r13
    388 	addq	%r11,%r12
    389 	xorq	%rax,%r14
    390 
    391 	addq	(%rbp,%rdi,8),%r12
    392 	andq	%r8,%r15
    393 	movq	%rbx,%r11
    394 
    395 	rorq	$6,%r14
    396 	xorq	%r8,%r13
    397 	xorq	%r10,%r15
    398 
    399 	xorq	%rcx,%r11
    400 	xorq	%rax,%r14
    401 	addq	%r15,%r12
    402 	movq	%rbx,%r15
    403 
    404 	rorq	$14,%r13
    405 	andq	%rax,%r11
    406 	andq	%rcx,%r15
    407 
    408 	rorq	$28,%r14
    409 	addq	%r13,%r12
    410 	addq	%r15,%r11
    411 
    412 	addq	%r12,%rdx
    413 	addq	%r12,%r11
    414 	leaq	1(%rdi),%rdi
    415 	addq	%r14,%r11
    416 
    417 	movq	72(%rsi),%r12
    418 	movq	%rdx,%r13
    419 	movq	%r11,%r14
    420 	bswapq	%r12
    421 	rorq	$23,%r13
    422 	movq	%r8,%r15
    423 	movq	%r12,72(%rsp)
    424 
    425 	rorq	$5,%r14
    426 	xorq	%rdx,%r13
    427 	xorq	%r9,%r15
    428 
    429 	rorq	$4,%r13
    430 	addq	%r10,%r12
    431 	xorq	%r11,%r14
    432 
    433 	addq	(%rbp,%rdi,8),%r12
    434 	andq	%rdx,%r15
    435 	movq	%rax,%r10
    436 
    437 	rorq	$6,%r14
    438 	xorq	%rdx,%r13
    439 	xorq	%r9,%r15
    440 
    441 	xorq	%rbx,%r10
    442 	xorq	%r11,%r14
    443 	addq	%r15,%r12
    444 	movq	%rax,%r15
    445 
    446 	rorq	$14,%r13
    447 	andq	%r11,%r10
    448 	andq	%rbx,%r15
    449 
    450 	rorq	$28,%r14
    451 	addq	%r13,%r12
    452 	addq	%r15,%r10
    453 
    454 	addq	%r12,%rcx
    455 	addq	%r12,%r10
    456 	leaq	1(%rdi),%rdi
    457 	addq	%r14,%r10
    458 
    459 	movq	80(%rsi),%r12
    460 	movq	%rcx,%r13
    461 	movq	%r10,%r14
    462 	bswapq	%r12
    463 	rorq	$23,%r13
    464 	movq	%rdx,%r15
    465 	movq	%r12,80(%rsp)
    466 
    467 	rorq	$5,%r14
    468 	xorq	%rcx,%r13
    469 	xorq	%r8,%r15
    470 
    471 	rorq	$4,%r13
    472 	addq	%r9,%r12
    473 	xorq	%r10,%r14
    474 
    475 	addq	(%rbp,%rdi,8),%r12
    476 	andq	%rcx,%r15
    477 	movq	%r11,%r9
    478 
    479 	rorq	$6,%r14
    480 	xorq	%rcx,%r13
    481 	xorq	%r8,%r15
    482 
    483 	xorq	%rax,%r9
    484 	xorq	%r10,%r14
    485 	addq	%r15,%r12
    486 	movq	%r11,%r15
    487 
    488 	rorq	$14,%r13
    489 	andq	%r10,%r9
    490 	andq	%rax,%r15
    491 
    492 	rorq	$28,%r14
    493 	addq	%r13,%r12
    494 	addq	%r15,%r9
    495 
    496 	addq	%r12,%rbx
    497 	addq	%r12,%r9
    498 	leaq	1(%rdi),%rdi
    499 	addq	%r14,%r9
    500 
    501 	movq	88(%rsi),%r12
    502 	movq	%rbx,%r13
    503 	movq	%r9,%r14
    504 	bswapq	%r12
    505 	rorq	$23,%r13
    506 	movq	%rcx,%r15
    507 	movq	%r12,88(%rsp)
    508 
    509 	rorq	$5,%r14
    510 	xorq	%rbx,%r13
    511 	xorq	%rdx,%r15
    512 
    513 	rorq	$4,%r13
    514 	addq	%r8,%r12
    515 	xorq	%r9,%r14
    516 
    517 	addq	(%rbp,%rdi,8),%r12
    518 	andq	%rbx,%r15
    519 	movq	%r10,%r8
    520 
    521 	rorq	$6,%r14
    522 	xorq	%rbx,%r13
    523 	xorq	%rdx,%r15
    524 
    525 	xorq	%r11,%r8
    526 	xorq	%r9,%r14
    527 	addq	%r15,%r12
    528 	movq	%r10,%r15
    529 
    530 	rorq	$14,%r13
    531 	andq	%r9,%r8
    532 	andq	%r11,%r15
    533 
    534 	rorq	$28,%r14
    535 	addq	%r13,%r12
    536 	addq	%r15,%r8
    537 
    538 	addq	%r12,%rax
    539 	addq	%r12,%r8
    540 	leaq	1(%rdi),%rdi
    541 	addq	%r14,%r8
    542 
    543 	movq	96(%rsi),%r12
    544 	movq	%rax,%r13
    545 	movq	%r8,%r14
    546 	bswapq	%r12
    547 	rorq	$23,%r13
    548 	movq	%rbx,%r15
    549 	movq	%r12,96(%rsp)
    550 
    551 	rorq	$5,%r14
    552 	xorq	%rax,%r13
    553 	xorq	%rcx,%r15
    554 
    555 	rorq	$4,%r13
    556 	addq	%rdx,%r12
    557 	xorq	%r8,%r14
    558 
    559 	addq	(%rbp,%rdi,8),%r12
    560 	andq	%rax,%r15
    561 	movq	%r9,%rdx
    562 
    563 	rorq	$6,%r14
    564 	xorq	%rax,%r13
    565 	xorq	%rcx,%r15
    566 
    567 	xorq	%r10,%rdx
    568 	xorq	%r8,%r14
    569 	addq	%r15,%r12
    570 	movq	%r9,%r15
    571 
    572 	rorq	$14,%r13
    573 	andq	%r8,%rdx
    574 	andq	%r10,%r15
    575 
    576 	rorq	$28,%r14
    577 	addq	%r13,%r12
    578 	addq	%r15,%rdx
    579 
    580 	addq	%r12,%r11
    581 	addq	%r12,%rdx
    582 	leaq	1(%rdi),%rdi
    583 	addq	%r14,%rdx
    584 
    585 	movq	104(%rsi),%r12
    586 	movq	%r11,%r13
    587 	movq	%rdx,%r14
    588 	bswapq	%r12
    589 	rorq	$23,%r13
    590 	movq	%rax,%r15
    591 	movq	%r12,104(%rsp)
    592 
    593 	rorq	$5,%r14
    594 	xorq	%r11,%r13
    595 	xorq	%rbx,%r15
    596 
    597 	rorq	$4,%r13
    598 	addq	%rcx,%r12
    599 	xorq	%rdx,%r14
    600 
    601 	addq	(%rbp,%rdi,8),%r12
    602 	andq	%r11,%r15
    603 	movq	%r8,%rcx
    604 
    605 	rorq	$6,%r14
    606 	xorq	%r11,%r13
    607 	xorq	%rbx,%r15
    608 
    609 	xorq	%r9,%rcx
    610 	xorq	%rdx,%r14
    611 	addq	%r15,%r12
    612 	movq	%r8,%r15
    613 
    614 	rorq	$14,%r13
    615 	andq	%rdx,%rcx
    616 	andq	%r9,%r15
    617 
    618 	rorq	$28,%r14
    619 	addq	%r13,%r12
    620 	addq	%r15,%rcx
    621 
    622 	addq	%r12,%r10
    623 	addq	%r12,%rcx
    624 	leaq	1(%rdi),%rdi
    625 	addq	%r14,%rcx
    626 
    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 	movq	%r12,112(%rsp)
    634 
    635 	rorq	$5,%r14
    636 	xorq	%r10,%r13
    637 	xorq	%rax,%r15
    638 
    639 	rorq	$4,%r13
    640 	addq	%rbx,%r12
    641 	xorq	%rcx,%r14
    642 
    643 	addq	(%rbp,%rdi,8),%r12
    644 	andq	%r10,%r15
    645 	movq	%rdx,%rbx
    646 
    647 	rorq	$6,%r14
    648 	xorq	%r10,%r13
    649 	xorq	%rax,%r15
    650 
    651 	xorq	%r8,%rbx
    652 	xorq	%rcx,%r14
    653 	addq	%r15,%r12
    654 	movq	%rdx,%r15
    655 
    656 	rorq	$14,%r13
    657 	andq	%rcx,%rbx
    658 	andq	%r8,%r15
    659 
    660 	rorq	$28,%r14
    661 	addq	%r13,%r12
    662 	addq	%r15,%rbx
    663 
    664 	addq	%r12,%r9
    665 	addq	%r12,%rbx
    666 	leaq	1(%rdi),%rdi
    667 	addq	%r14,%rbx
    668 
    669 	movq	120(%rsi),%r12
    670 	movq	%r9,%r13
    671 	movq	%rbx,%r14
    672 	bswapq	%r12
    673 	rorq	$23,%r13
    674 	movq	%r10,%r15
    675 	movq	%r12,120(%rsp)
    676 
    677 	rorq	$5,%r14
    678 	xorq	%r9,%r13
    679 	xorq	%r11,%r15
    680 
    681 	rorq	$4,%r13
    682 	addq	%rax,%r12
    683 	xorq	%rbx,%r14
    684 
    685 	addq	(%rbp,%rdi,8),%r12
    686 	andq	%r9,%r15
    687 	movq	%rcx,%rax
    688 
    689 	rorq	$6,%r14
    690 	xorq	%r9,%r13
    691 	xorq	%r11,%r15
    692 
    693 	xorq	%rdx,%rax
    694 	xorq	%rbx,%r14
    695 	addq	%r15,%r12
    696 	movq	%rcx,%r15
    697 
    698 	rorq	$14,%r13
    699 	andq	%rbx,%rax
    700 	andq	%rdx,%r15
    701 
    702 	rorq	$28,%r14
    703 	addq	%r13,%r12
    704 	addq	%r15,%rax
    705 
    706 	addq	%r12,%r8
    707 	addq	%r12,%rax
    708 	leaq	1(%rdi),%rdi
    709 	addq	%r14,%rax
    710 
    711 	jmp	.Lrounds_16_xx
    712 .align	16
    713 .Lrounds_16_xx:
    714 	movq	8(%rsp),%r13
    715 	movq	112(%rsp),%r14
    716 	movq	%r13,%r12
    717 	movq	%r14,%r15
    718 
    719 	rorq	$7,%r12
    720 	xorq	%r13,%r12
    721 	shrq	$7,%r13
    722 
    723 	rorq	$1,%r12
    724 	xorq	%r12,%r13
    725 	movq	72(%rsp),%r12
    726 
    727 	rorq	$42,%r15
    728 	xorq	%r14,%r15
    729 	shrq	$6,%r14
    730 
    731 	rorq	$19,%r15
    732 	addq	%r13,%r12
    733 	xorq	%r15,%r14
    734 
    735 	addq	0(%rsp),%r12
    736 	movq	%r8,%r13
    737 	addq	%r14,%r12
    738 	movq	%rax,%r14
    739 	rorq	$23,%r13
    740 	movq	%r9,%r15
    741 	movq	%r12,0(%rsp)
    742 
    743 	rorq	$5,%r14
    744 	xorq	%r8,%r13
    745 	xorq	%r10,%r15
    746 
    747 	rorq	$4,%r13
    748 	addq	%r11,%r12
    749 	xorq	%rax,%r14
    750 
    751 	addq	(%rbp,%rdi,8),%r12
    752 	andq	%r8,%r15
    753 	movq	%rbx,%r11
    754 
    755 	rorq	$6,%r14
    756 	xorq	%r8,%r13
    757 	xorq	%r10,%r15
    758 
    759 	xorq	%rcx,%r11
    760 	xorq	%rax,%r14
    761 	addq	%r15,%r12
    762 	movq	%rbx,%r15
    763 
    764 	rorq	$14,%r13
    765 	andq	%rax,%r11
    766 	andq	%rcx,%r15
    767 
    768 	rorq	$28,%r14
    769 	addq	%r13,%r12
    770 	addq	%r15,%r11
    771 
    772 	addq	%r12,%rdx
    773 	addq	%r12,%r11
    774 	leaq	1(%rdi),%rdi
    775 	addq	%r14,%r11
    776 
    777 	movq	16(%rsp),%r13
    778 	movq	120(%rsp),%r14
    779 	movq	%r13,%r12
    780 	movq	%r14,%r15
    781 
    782 	rorq	$7,%r12
    783 	xorq	%r13,%r12
    784 	shrq	$7,%r13
    785 
    786 	rorq	$1,%r12
    787 	xorq	%r12,%r13
    788 	movq	80(%rsp),%r12
    789 
    790 	rorq	$42,%r15
    791 	xorq	%r14,%r15
    792 	shrq	$6,%r14
    793 
    794 	rorq	$19,%r15
    795 	addq	%r13,%r12
    796 	xorq	%r15,%r14
    797 
    798 	addq	8(%rsp),%r12
    799 	movq	%rdx,%r13
    800 	addq	%r14,%r12
    801 	movq	%r11,%r14
    802 	rorq	$23,%r13
    803 	movq	%r8,%r15
    804 	movq	%r12,8(%rsp)
    805 
    806 	rorq	$5,%r14
    807 	xorq	%rdx,%r13
    808 	xorq	%r9,%r15
    809 
    810 	rorq	$4,%r13
    811 	addq	%r10,%r12
    812 	xorq	%r11,%r14
    813 
    814 	addq	(%rbp,%rdi,8),%r12
    815 	andq	%rdx,%r15
    816 	movq	%rax,%r10
    817 
    818 	rorq	$6,%r14
    819 	xorq	%rdx,%r13
    820 	xorq	%r9,%r15
    821 
    822 	xorq	%rbx,%r10
    823 	xorq	%r11,%r14
    824 	addq	%r15,%r12
    825 	movq	%rax,%r15
    826 
    827 	rorq	$14,%r13
    828 	andq	%r11,%r10
    829 	andq	%rbx,%r15
    830 
    831 	rorq	$28,%r14
    832 	addq	%r13,%r12
    833 	addq	%r15,%r10
    834 
    835 	addq	%r12,%rcx
    836 	addq	%r12,%r10
    837 	leaq	1(%rdi),%rdi
    838 	addq	%r14,%r10
    839 
    840 	movq	24(%rsp),%r13
    841 	movq	0(%rsp),%r14
    842 	movq	%r13,%r12
    843 	movq	%r14,%r15
    844 
    845 	rorq	$7,%r12
    846 	xorq	%r13,%r12
    847 	shrq	$7,%r13
    848 
    849 	rorq	$1,%r12
    850 	xorq	%r12,%r13
    851 	movq	88(%rsp),%r12
    852 
    853 	rorq	$42,%r15
    854 	xorq	%r14,%r15
    855 	shrq	$6,%r14
    856 
    857 	rorq	$19,%r15
    858 	addq	%r13,%r12
    859 	xorq	%r15,%r14
    860 
    861 	addq	16(%rsp),%r12
    862 	movq	%rcx,%r13
    863 	addq	%r14,%r12
    864 	movq	%r10,%r14
    865 	rorq	$23,%r13
    866 	movq	%rdx,%r15
    867 	movq	%r12,16(%rsp)
    868 
    869 	rorq	$5,%r14
    870 	xorq	%rcx,%r13
    871 	xorq	%r8,%r15
    872 
    873 	rorq	$4,%r13
    874 	addq	%r9,%r12
    875 	xorq	%r10,%r14
    876 
    877 	addq	(%rbp,%rdi,8),%r12
    878 	andq	%rcx,%r15
    879 	movq	%r11,%r9
    880 
    881 	rorq	$6,%r14
    882 	xorq	%rcx,%r13
    883 	xorq	%r8,%r15
    884 
    885 	xorq	%rax,%r9
    886 	xorq	%r10,%r14
    887 	addq	%r15,%r12
    888 	movq	%r11,%r15
    889 
    890 	rorq	$14,%r13
    891 	andq	%r10,%r9
    892 	andq	%rax,%r15
    893 
    894 	rorq	$28,%r14
    895 	addq	%r13,%r12
    896 	addq	%r15,%r9
    897 
    898 	addq	%r12,%rbx
    899 	addq	%r12,%r9
    900 	leaq	1(%rdi),%rdi
    901 	addq	%r14,%r9
    902 
    903 	movq	32(%rsp),%r13
    904 	movq	8(%rsp),%r14
    905 	movq	%r13,%r12
    906 	movq	%r14,%r15
    907 
    908 	rorq	$7,%r12
    909 	xorq	%r13,%r12
    910 	shrq	$7,%r13
    911 
    912 	rorq	$1,%r12
    913 	xorq	%r12,%r13
    914 	movq	96(%rsp),%r12
    915 
    916 	rorq	$42,%r15
    917 	xorq	%r14,%r15
    918 	shrq	$6,%r14
    919 
    920 	rorq	$19,%r15
    921 	addq	%r13,%r12
    922 	xorq	%r15,%r14
    923 
    924 	addq	24(%rsp),%r12
    925 	movq	%rbx,%r13
    926 	addq	%r14,%r12
    927 	movq	%r9,%r14
    928 	rorq	$23,%r13
    929 	movq	%rcx,%r15
    930 	movq	%r12,24(%rsp)
    931 
    932 	rorq	$5,%r14
    933 	xorq	%rbx,%r13
    934 	xorq	%rdx,%r15
    935 
    936 	rorq	$4,%r13
    937 	addq	%r8,%r12
    938 	xorq	%r9,%r14
    939 
    940 	addq	(%rbp,%rdi,8),%r12
    941 	andq	%rbx,%r15
    942 	movq	%r10,%r8
    943 
    944 	rorq	$6,%r14
    945 	xorq	%rbx,%r13
    946 	xorq	%rdx,%r15
    947 
    948 	xorq	%r11,%r8
    949 	xorq	%r9,%r14
    950 	addq	%r15,%r12
    951 	movq	%r10,%r15
    952 
    953 	rorq	$14,%r13
    954 	andq	%r9,%r8
    955 	andq	%r11,%r15
    956 
    957 	rorq	$28,%r14
    958 	addq	%r13,%r12
    959 	addq	%r15,%r8
    960 
    961 	addq	%r12,%rax
    962 	addq	%r12,%r8
    963 	leaq	1(%rdi),%rdi
    964 	addq	%r14,%r8
    965 
    966 	movq	40(%rsp),%r13
    967 	movq	16(%rsp),%r14
    968 	movq	%r13,%r12
    969 	movq	%r14,%r15
    970 
    971 	rorq	$7,%r12
    972 	xorq	%r13,%r12
    973 	shrq	$7,%r13
    974 
    975 	rorq	$1,%r12
    976 	xorq	%r12,%r13
    977 	movq	104(%rsp),%r12
    978 
    979 	rorq	$42,%r15
    980 	xorq	%r14,%r15
    981 	shrq	$6,%r14
    982 
    983 	rorq	$19,%r15
    984 	addq	%r13,%r12
    985 	xorq	%r15,%r14
    986 
    987 	addq	32(%rsp),%r12
    988 	movq	%rax,%r13
    989 	addq	%r14,%r12
    990 	movq	%r8,%r14
    991 	rorq	$23,%r13
    992 	movq	%rbx,%r15
    993 	movq	%r12,32(%rsp)
    994 
    995 	rorq	$5,%r14
    996 	xorq	%rax,%r13
    997 	xorq	%rcx,%r15
    998 
    999 	rorq	$4,%r13
   1000 	addq	%rdx,%r12
   1001 	xorq	%r8,%r14
   1002 
   1003 	addq	(%rbp,%rdi,8),%r12
   1004 	andq	%rax,%r15
   1005 	movq	%r9,%rdx
   1006 
   1007 	rorq	$6,%r14
   1008 	xorq	%rax,%r13
   1009 	xorq	%rcx,%r15
   1010 
   1011 	xorq	%r10,%rdx
   1012 	xorq	%r8,%r14
   1013 	addq	%r15,%r12
   1014 	movq	%r9,%r15
   1015 
   1016 	rorq	$14,%r13
   1017 	andq	%r8,%rdx
   1018 	andq	%r10,%r15
   1019 
   1020 	rorq	$28,%r14
   1021 	addq	%r13,%r12
   1022 	addq	%r15,%rdx
   1023 
   1024 	addq	%r12,%r11
   1025 	addq	%r12,%rdx
   1026 	leaq	1(%rdi),%rdi
   1027 	addq	%r14,%rdx
   1028 
   1029 	movq	48(%rsp),%r13
   1030 	movq	24(%rsp),%r14
   1031 	movq	%r13,%r12
   1032 	movq	%r14,%r15
   1033 
   1034 	rorq	$7,%r12
   1035 	xorq	%r13,%r12
   1036 	shrq	$7,%r13
   1037 
   1038 	rorq	$1,%r12
   1039 	xorq	%r12,%r13
   1040 	movq	112(%rsp),%r12
   1041 
   1042 	rorq	$42,%r15
   1043 	xorq	%r14,%r15
   1044 	shrq	$6,%r14
   1045 
   1046 	rorq	$19,%r15
   1047 	addq	%r13,%r12
   1048 	xorq	%r15,%r14
   1049 
   1050 	addq	40(%rsp),%r12
   1051 	movq	%r11,%r13
   1052 	addq	%r14,%r12
   1053 	movq	%rdx,%r14
   1054 	rorq	$23,%r13
   1055 	movq	%rax,%r15
   1056 	movq	%r12,40(%rsp)
   1057 
   1058 	rorq	$5,%r14
   1059 	xorq	%r11,%r13
   1060 	xorq	%rbx,%r15
   1061 
   1062 	rorq	$4,%r13
   1063 	addq	%rcx,%r12
   1064 	xorq	%rdx,%r14
   1065 
   1066 	addq	(%rbp,%rdi,8),%r12
   1067 	andq	%r11,%r15
   1068 	movq	%r8,%rcx
   1069 
   1070 	rorq	$6,%r14
   1071 	xorq	%r11,%r13
   1072 	xorq	%rbx,%r15
   1073 
   1074 	xorq	%r9,%rcx
   1075 	xorq	%rdx,%r14
   1076 	addq	%r15,%r12
   1077 	movq	%r8,%r15
   1078 
   1079 	rorq	$14,%r13
   1080 	andq	%rdx,%rcx
   1081 	andq	%r9,%r15
   1082 
   1083 	rorq	$28,%r14
   1084 	addq	%r13,%r12
   1085 	addq	%r15,%rcx
   1086 
   1087 	addq	%r12,%r10
   1088 	addq	%r12,%rcx
   1089 	leaq	1(%rdi),%rdi
   1090 	addq	%r14,%rcx
   1091 
   1092 	movq	56(%rsp),%r13
   1093 	movq	32(%rsp),%r14
   1094 	movq	%r13,%r12
   1095 	movq	%r14,%r15
   1096 
   1097 	rorq	$7,%r12
   1098 	xorq	%r13,%r12
   1099 	shrq	$7,%r13
   1100 
   1101 	rorq	$1,%r12
   1102 	xorq	%r12,%r13
   1103 	movq	120(%rsp),%r12
   1104 
   1105 	rorq	$42,%r15
   1106 	xorq	%r14,%r15
   1107 	shrq	$6,%r14
   1108 
   1109 	rorq	$19,%r15
   1110 	addq	%r13,%r12
   1111 	xorq	%r15,%r14
   1112 
   1113 	addq	48(%rsp),%r12
   1114 	movq	%r10,%r13
   1115 	addq	%r14,%r12
   1116 	movq	%rcx,%r14
   1117 	rorq	$23,%r13
   1118 	movq	%r11,%r15
   1119 	movq	%r12,48(%rsp)
   1120 
   1121 	rorq	$5,%r14
   1122 	xorq	%r10,%r13
   1123 	xorq	%rax,%r15
   1124 
   1125 	rorq	$4,%r13
   1126 	addq	%rbx,%r12
   1127 	xorq	%rcx,%r14
   1128 
   1129 	addq	(%rbp,%rdi,8),%r12
   1130 	andq	%r10,%r15
   1131 	movq	%rdx,%rbx
   1132 
   1133 	rorq	$6,%r14
   1134 	xorq	%r10,%r13
   1135 	xorq	%rax,%r15
   1136 
   1137 	xorq	%r8,%rbx
   1138 	xorq	%rcx,%r14
   1139 	addq	%r15,%r12
   1140 	movq	%rdx,%r15
   1141 
   1142 	rorq	$14,%r13
   1143 	andq	%rcx,%rbx
   1144 	andq	%r8,%r15
   1145 
   1146 	rorq	$28,%r14
   1147 	addq	%r13,%r12
   1148 	addq	%r15,%rbx
   1149 
   1150 	addq	%r12,%r9
   1151 	addq	%r12,%rbx
   1152 	leaq	1(%rdi),%rdi
   1153 	addq	%r14,%rbx
   1154 
   1155 	movq	64(%rsp),%r13
   1156 	movq	40(%rsp),%r14
   1157 	movq	%r13,%r12
   1158 	movq	%r14,%r15
   1159 
   1160 	rorq	$7,%r12
   1161 	xorq	%r13,%r12
   1162 	shrq	$7,%r13
   1163 
   1164 	rorq	$1,%r12
   1165 	xorq	%r12,%r13
   1166 	movq	0(%rsp),%r12
   1167 
   1168 	rorq	$42,%r15
   1169 	xorq	%r14,%r15
   1170 	shrq	$6,%r14
   1171 
   1172 	rorq	$19,%r15
   1173 	addq	%r13,%r12
   1174 	xorq	%r15,%r14
   1175 
   1176 	addq	56(%rsp),%r12
   1177 	movq	%r9,%r13
   1178 	addq	%r14,%r12
   1179 	movq	%rbx,%r14
   1180 	rorq	$23,%r13
   1181 	movq	%r10,%r15
   1182 	movq	%r12,56(%rsp)
   1183 
   1184 	rorq	$5,%r14
   1185 	xorq	%r9,%r13
   1186 	xorq	%r11,%r15
   1187 
   1188 	rorq	$4,%r13
   1189 	addq	%rax,%r12
   1190 	xorq	%rbx,%r14
   1191 
   1192 	addq	(%rbp,%rdi,8),%r12
   1193 	andq	%r9,%r15
   1194 	movq	%rcx,%rax
   1195 
   1196 	rorq	$6,%r14
   1197 	xorq	%r9,%r13
   1198 	xorq	%r11,%r15
   1199 
   1200 	xorq	%rdx,%rax
   1201 	xorq	%rbx,%r14
   1202 	addq	%r15,%r12
   1203 	movq	%rcx,%r15
   1204 
   1205 	rorq	$14,%r13
   1206 	andq	%rbx,%rax
   1207 	andq	%rdx,%r15
   1208 
   1209 	rorq	$28,%r14
   1210 	addq	%r13,%r12
   1211 	addq	%r15,%rax
   1212 
   1213 	addq	%r12,%r8
   1214 	addq	%r12,%rax
   1215 	leaq	1(%rdi),%rdi
   1216 	addq	%r14,%rax
   1217 
   1218 	movq	72(%rsp),%r13
   1219 	movq	48(%rsp),%r14
   1220 	movq	%r13,%r12
   1221 	movq	%r14,%r15
   1222 
   1223 	rorq	$7,%r12
   1224 	xorq	%r13,%r12
   1225 	shrq	$7,%r13
   1226 
   1227 	rorq	$1,%r12
   1228 	xorq	%r12,%r13
   1229 	movq	8(%rsp),%r12
   1230 
   1231 	rorq	$42,%r15
   1232 	xorq	%r14,%r15
   1233 	shrq	$6,%r14
   1234 
   1235 	rorq	$19,%r15
   1236 	addq	%r13,%r12
   1237 	xorq	%r15,%r14
   1238 
   1239 	addq	64(%rsp),%r12
   1240 	movq	%r8,%r13
   1241 	addq	%r14,%r12
   1242 	movq	%rax,%r14
   1243 	rorq	$23,%r13
   1244 	movq	%r9,%r15
   1245 	movq	%r12,64(%rsp)
   1246 
   1247 	rorq	$5,%r14
   1248 	xorq	%r8,%r13
   1249 	xorq	%r10,%r15
   1250 
   1251 	rorq	$4,%r13
   1252 	addq	%r11,%r12
   1253 	xorq	%rax,%r14
   1254 
   1255 	addq	(%rbp,%rdi,8),%r12
   1256 	andq	%r8,%r15
   1257 	movq	%rbx,%r11
   1258 
   1259 	rorq	$6,%r14
   1260 	xorq	%r8,%r13
   1261 	xorq	%r10,%r15
   1262 
   1263 	xorq	%rcx,%r11
   1264 	xorq	%rax,%r14
   1265 	addq	%r15,%r12
   1266 	movq	%rbx,%r15
   1267 
   1268 	rorq	$14,%r13
   1269 	andq	%rax,%r11
   1270 	andq	%rcx,%r15
   1271 
   1272 	rorq	$28,%r14
   1273 	addq	%r13,%r12
   1274 	addq	%r15,%r11
   1275 
   1276 	addq	%r12,%rdx
   1277 	addq	%r12,%r11
   1278 	leaq	1(%rdi),%rdi
   1279 	addq	%r14,%r11
   1280 
   1281 	movq	80(%rsp),%r13
   1282 	movq	56(%rsp),%r14
   1283 	movq	%r13,%r12
   1284 	movq	%r14,%r15
   1285 
   1286 	rorq	$7,%r12
   1287 	xorq	%r13,%r12
   1288 	shrq	$7,%r13
   1289 
   1290 	rorq	$1,%r12
   1291 	xorq	%r12,%r13
   1292 	movq	16(%rsp),%r12
   1293 
   1294 	rorq	$42,%r15
   1295 	xorq	%r14,%r15
   1296 	shrq	$6,%r14
   1297 
   1298 	rorq	$19,%r15
   1299 	addq	%r13,%r12
   1300 	xorq	%r15,%r14
   1301 
   1302 	addq	72(%rsp),%r12
   1303 	movq	%rdx,%r13
   1304 	addq	%r14,%r12
   1305 	movq	%r11,%r14
   1306 	rorq	$23,%r13
   1307 	movq	%r8,%r15
   1308 	movq	%r12,72(%rsp)
   1309 
   1310 	rorq	$5,%r14
   1311 	xorq	%rdx,%r13
   1312 	xorq	%r9,%r15
   1313 
   1314 	rorq	$4,%r13
   1315 	addq	%r10,%r12
   1316 	xorq	%r11,%r14
   1317 
   1318 	addq	(%rbp,%rdi,8),%r12
   1319 	andq	%rdx,%r15
   1320 	movq	%rax,%r10
   1321 
   1322 	rorq	$6,%r14
   1323 	xorq	%rdx,%r13
   1324 	xorq	%r9,%r15
   1325 
   1326 	xorq	%rbx,%r10
   1327 	xorq	%r11,%r14
   1328 	addq	%r15,%r12
   1329 	movq	%rax,%r15
   1330 
   1331 	rorq	$14,%r13
   1332 	andq	%r11,%r10
   1333 	andq	%rbx,%r15
   1334 
   1335 	rorq	$28,%r14
   1336 	addq	%r13,%r12
   1337 	addq	%r15,%r10
   1338 
   1339 	addq	%r12,%rcx
   1340 	addq	%r12,%r10
   1341 	leaq	1(%rdi),%rdi
   1342 	addq	%r14,%r10
   1343 
   1344 	movq	88(%rsp),%r13
   1345 	movq	64(%rsp),%r14
   1346 	movq	%r13,%r12
   1347 	movq	%r14,%r15
   1348 
   1349 	rorq	$7,%r12
   1350 	xorq	%r13,%r12
   1351 	shrq	$7,%r13
   1352 
   1353 	rorq	$1,%r12
   1354 	xorq	%r12,%r13
   1355 	movq	24(%rsp),%r12
   1356 
   1357 	rorq	$42,%r15
   1358 	xorq	%r14,%r15
   1359 	shrq	$6,%r14
   1360 
   1361 	rorq	$19,%r15
   1362 	addq	%r13,%r12
   1363 	xorq	%r15,%r14
   1364 
   1365 	addq	80(%rsp),%r12
   1366 	movq	%rcx,%r13
   1367 	addq	%r14,%r12
   1368 	movq	%r10,%r14
   1369 	rorq	$23,%r13
   1370 	movq	%rdx,%r15
   1371 	movq	%r12,80(%rsp)
   1372 
   1373 	rorq	$5,%r14
   1374 	xorq	%rcx,%r13
   1375 	xorq	%r8,%r15
   1376 
   1377 	rorq	$4,%r13
   1378 	addq	%r9,%r12
   1379 	xorq	%r10,%r14
   1380 
   1381 	addq	(%rbp,%rdi,8),%r12
   1382 	andq	%rcx,%r15
   1383 	movq	%r11,%r9
   1384 
   1385 	rorq	$6,%r14
   1386 	xorq	%rcx,%r13
   1387 	xorq	%r8,%r15
   1388 
   1389 	xorq	%rax,%r9
   1390 	xorq	%r10,%r14
   1391 	addq	%r15,%r12
   1392 	movq	%r11,%r15
   1393 
   1394 	rorq	$14,%r13
   1395 	andq	%r10,%r9
   1396 	andq	%rax,%r15
   1397 
   1398 	rorq	$28,%r14
   1399 	addq	%r13,%r12
   1400 	addq	%r15,%r9
   1401 
   1402 	addq	%r12,%rbx
   1403 	addq	%r12,%r9
   1404 	leaq	1(%rdi),%rdi
   1405 	addq	%r14,%r9
   1406 
   1407 	movq	96(%rsp),%r13
   1408 	movq	72(%rsp),%r14
   1409 	movq	%r13,%r12
   1410 	movq	%r14,%r15
   1411 
   1412 	rorq	$7,%r12
   1413 	xorq	%r13,%r12
   1414 	shrq	$7,%r13
   1415 
   1416 	rorq	$1,%r12
   1417 	xorq	%r12,%r13
   1418 	movq	32(%rsp),%r12
   1419 
   1420 	rorq	$42,%r15
   1421 	xorq	%r14,%r15
   1422 	shrq	$6,%r14
   1423 
   1424 	rorq	$19,%r15
   1425 	addq	%r13,%r12
   1426 	xorq	%r15,%r14
   1427 
   1428 	addq	88(%rsp),%r12
   1429 	movq	%rbx,%r13
   1430 	addq	%r14,%r12
   1431 	movq	%r9,%r14
   1432 	rorq	$23,%r13
   1433 	movq	%rcx,%r15
   1434 	movq	%r12,88(%rsp)
   1435 
   1436 	rorq	$5,%r14
   1437 	xorq	%rbx,%r13
   1438 	xorq	%rdx,%r15
   1439 
   1440 	rorq	$4,%r13
   1441 	addq	%r8,%r12
   1442 	xorq	%r9,%r14
   1443 
   1444 	addq	(%rbp,%rdi,8),%r12
   1445 	andq	%rbx,%r15
   1446 	movq	%r10,%r8
   1447 
   1448 	rorq	$6,%r14
   1449 	xorq	%rbx,%r13
   1450 	xorq	%rdx,%r15
   1451 
   1452 	xorq	%r11,%r8
   1453 	xorq	%r9,%r14
   1454 	addq	%r15,%r12
   1455 	movq	%r10,%r15
   1456 
   1457 	rorq	$14,%r13
   1458 	andq	%r9,%r8
   1459 	andq	%r11,%r15
   1460 
   1461 	rorq	$28,%r14
   1462 	addq	%r13,%r12
   1463 	addq	%r15,%r8
   1464 
   1465 	addq	%r12,%rax
   1466 	addq	%r12,%r8
   1467 	leaq	1(%rdi),%rdi
   1468 	addq	%r14,%r8
   1469 
   1470 	movq	104(%rsp),%r13
   1471 	movq	80(%rsp),%r14
   1472 	movq	%r13,%r12
   1473 	movq	%r14,%r15
   1474 
   1475 	rorq	$7,%r12
   1476 	xorq	%r13,%r12
   1477 	shrq	$7,%r13
   1478 
   1479 	rorq	$1,%r12
   1480 	xorq	%r12,%r13
   1481 	movq	40(%rsp),%r12
   1482 
   1483 	rorq	$42,%r15
   1484 	xorq	%r14,%r15
   1485 	shrq	$6,%r14
   1486 
   1487 	rorq	$19,%r15
   1488 	addq	%r13,%r12
   1489 	xorq	%r15,%r14
   1490 
   1491 	addq	96(%rsp),%r12
   1492 	movq	%rax,%r13
   1493 	addq	%r14,%r12
   1494 	movq	%r8,%r14
   1495 	rorq	$23,%r13
   1496 	movq	%rbx,%r15
   1497 	movq	%r12,96(%rsp)
   1498 
   1499 	rorq	$5,%r14
   1500 	xorq	%rax,%r13
   1501 	xorq	%rcx,%r15
   1502 
   1503 	rorq	$4,%r13
   1504 	addq	%rdx,%r12
   1505 	xorq	%r8,%r14
   1506 
   1507 	addq	(%rbp,%rdi,8),%r12
   1508 	andq	%rax,%r15
   1509 	movq	%r9,%rdx
   1510 
   1511 	rorq	$6,%r14
   1512 	xorq	%rax,%r13
   1513 	xorq	%rcx,%r15
   1514 
   1515 	xorq	%r10,%rdx
   1516 	xorq	%r8,%r14
   1517 	addq	%r15,%r12
   1518 	movq	%r9,%r15
   1519 
   1520 	rorq	$14,%r13
   1521 	andq	%r8,%rdx
   1522 	andq	%r10,%r15
   1523 
   1524 	rorq	$28,%r14
   1525 	addq	%r13,%r12
   1526 	addq	%r15,%rdx
   1527 
   1528 	addq	%r12,%r11
   1529 	addq	%r12,%rdx
   1530 	leaq	1(%rdi),%rdi
   1531 	addq	%r14,%rdx
   1532 
   1533 	movq	112(%rsp),%r13
   1534 	movq	88(%rsp),%r14
   1535 	movq	%r13,%r12
   1536 	movq	%r14,%r15
   1537 
   1538 	rorq	$7,%r12
   1539 	xorq	%r13,%r12
   1540 	shrq	$7,%r13
   1541 
   1542 	rorq	$1,%r12
   1543 	xorq	%r12,%r13
   1544 	movq	48(%rsp),%r12
   1545 
   1546 	rorq	$42,%r15
   1547 	xorq	%r14,%r15
   1548 	shrq	$6,%r14
   1549 
   1550 	rorq	$19,%r15
   1551 	addq	%r13,%r12
   1552 	xorq	%r15,%r14
   1553 
   1554 	addq	104(%rsp),%r12
   1555 	movq	%r11,%r13
   1556 	addq	%r14,%r12
   1557 	movq	%rdx,%r14
   1558 	rorq	$23,%r13
   1559 	movq	%rax,%r15
   1560 	movq	%r12,104(%rsp)
   1561 
   1562 	rorq	$5,%r14
   1563 	xorq	%r11,%r13
   1564 	xorq	%rbx,%r15
   1565 
   1566 	rorq	$4,%r13
   1567 	addq	%rcx,%r12
   1568 	xorq	%rdx,%r14
   1569 
   1570 	addq	(%rbp,%rdi,8),%r12
   1571 	andq	%r11,%r15
   1572 	movq	%r8,%rcx
   1573 
   1574 	rorq	$6,%r14
   1575 	xorq	%r11,%r13
   1576 	xorq	%rbx,%r15
   1577 
   1578 	xorq	%r9,%rcx
   1579 	xorq	%rdx,%r14
   1580 	addq	%r15,%r12
   1581 	movq	%r8,%r15
   1582 
   1583 	rorq	$14,%r13
   1584 	andq	%rdx,%rcx
   1585 	andq	%r9,%r15
   1586 
   1587 	rorq	$28,%r14
   1588 	addq	%r13,%r12
   1589 	addq	%r15,%rcx
   1590 
   1591 	addq	%r12,%r10
   1592 	addq	%r12,%rcx
   1593 	leaq	1(%rdi),%rdi
   1594 	addq	%r14,%rcx
   1595 
   1596 	movq	120(%rsp),%r13
   1597 	movq	96(%rsp),%r14
   1598 	movq	%r13,%r12
   1599 	movq	%r14,%r15
   1600 
   1601 	rorq	$7,%r12
   1602 	xorq	%r13,%r12
   1603 	shrq	$7,%r13
   1604 
   1605 	rorq	$1,%r12
   1606 	xorq	%r12,%r13
   1607 	movq	56(%rsp),%r12
   1608 
   1609 	rorq	$42,%r15
   1610 	xorq	%r14,%r15
   1611 	shrq	$6,%r14
   1612 
   1613 	rorq	$19,%r15
   1614 	addq	%r13,%r12
   1615 	xorq	%r15,%r14
   1616 
   1617 	addq	112(%rsp),%r12
   1618 	movq	%r10,%r13
   1619 	addq	%r14,%r12
   1620 	movq	%rcx,%r14
   1621 	rorq	$23,%r13
   1622 	movq	%r11,%r15
   1623 	movq	%r12,112(%rsp)
   1624 
   1625 	rorq	$5,%r14
   1626 	xorq	%r10,%r13
   1627 	xorq	%rax,%r15
   1628 
   1629 	rorq	$4,%r13
   1630 	addq	%rbx,%r12
   1631 	xorq	%rcx,%r14
   1632 
   1633 	addq	(%rbp,%rdi,8),%r12
   1634 	andq	%r10,%r15
   1635 	movq	%rdx,%rbx
   1636 
   1637 	rorq	$6,%r14
   1638 	xorq	%r10,%r13
   1639 	xorq	%rax,%r15
   1640 
   1641 	xorq	%r8,%rbx
   1642 	xorq	%rcx,%r14
   1643 	addq	%r15,%r12
   1644 	movq	%rdx,%r15
   1645 
   1646 	rorq	$14,%r13
   1647 	andq	%rcx,%rbx
   1648 	andq	%r8,%r15
   1649 
   1650 	rorq	$28,%r14
   1651 	addq	%r13,%r12
   1652 	addq	%r15,%rbx
   1653 
   1654 	addq	%r12,%r9
   1655 	addq	%r12,%rbx
   1656 	leaq	1(%rdi),%rdi
   1657 	addq	%r14,%rbx
   1658 
   1659 	movq	0(%rsp),%r13
   1660 	movq	104(%rsp),%r14
   1661 	movq	%r13,%r12
   1662 	movq	%r14,%r15
   1663 
   1664 	rorq	$7,%r12
   1665 	xorq	%r13,%r12
   1666 	shrq	$7,%r13
   1667 
   1668 	rorq	$1,%r12
   1669 	xorq	%r12,%r13
   1670 	movq	64(%rsp),%r12
   1671 
   1672 	rorq	$42,%r15
   1673 	xorq	%r14,%r15
   1674 	shrq	$6,%r14
   1675 
   1676 	rorq	$19,%r15
   1677 	addq	%r13,%r12
   1678 	xorq	%r15,%r14
   1679 
   1680 	addq	120(%rsp),%r12
   1681 	movq	%r9,%r13
   1682 	addq	%r14,%r12
   1683 	movq	%rbx,%r14
   1684 	rorq	$23,%r13
   1685 	movq	%r10,%r15
   1686 	movq	%r12,120(%rsp)
   1687 
   1688 	rorq	$5,%r14
   1689 	xorq	%r9,%r13
   1690 	xorq	%r11,%r15
   1691 
   1692 	rorq	$4,%r13
   1693 	addq	%rax,%r12
   1694 	xorq	%rbx,%r14
   1695 
   1696 	addq	(%rbp,%rdi,8),%r12
   1697 	andq	%r9,%r15
   1698 	movq	%rcx,%rax
   1699 
   1700 	rorq	$6,%r14
   1701 	xorq	%r9,%r13
   1702 	xorq	%r11,%r15
   1703 
   1704 	xorq	%rdx,%rax
   1705 	xorq	%rbx,%r14
   1706 	addq	%r15,%r12
   1707 	movq	%rcx,%r15
   1708 
   1709 	rorq	$14,%r13
   1710 	andq	%rbx,%rax
   1711 	andq	%rdx,%r15
   1712 
   1713 	rorq	$28,%r14
   1714 	addq	%r13,%r12
   1715 	addq	%r15,%rax
   1716 
   1717 	addq	%r12,%r8
   1718 	addq	%r12,%rax
   1719 	leaq	1(%rdi),%rdi
   1720 	addq	%r14,%rax
   1721 
   1722 	cmpq	$80,%rdi
   1723 	jb	.Lrounds_16_xx
   1724 
   1725 	movq	128+0(%rsp),%rdi
   1726 	leaq	128(%rsi),%rsi
   1727 
   1728 	addq	0(%rdi),%rax
   1729 	addq	8(%rdi),%rbx
   1730 	addq	16(%rdi),%rcx
   1731 	addq	24(%rdi),%rdx
   1732 	addq	32(%rdi),%r8
   1733 	addq	40(%rdi),%r9
   1734 	addq	48(%rdi),%r10
   1735 	addq	56(%rdi),%r11
   1736 
   1737 	cmpq	128+16(%rsp),%rsi
   1738 
   1739 	movq	%rax,0(%rdi)
   1740 	movq	%rbx,8(%rdi)
   1741 	movq	%rcx,16(%rdi)
   1742 	movq	%rdx,24(%rdi)
   1743 	movq	%r8,32(%rdi)
   1744 	movq	%r9,40(%rdi)
   1745 	movq	%r10,48(%rdi)
   1746 	movq	%r11,56(%rdi)
   1747 	jb	.Lloop
   1748 
   1749 	movq	128+24(%rsp),%rsi
   1750 	movq	(%rsi),%r15
   1751 	movq	8(%rsi),%r14
   1752 	movq	16(%rsi),%r13
   1753 	movq	24(%rsi),%r12
   1754 	movq	32(%rsi),%rbp
   1755 	movq	40(%rsi),%rbx
   1756 	leaq	48(%rsi),%rsp
   1757 .Lepilogue:
   1758 	.byte	0xf3,0xc3
   1759 .size	sha512_block_data_order,.-sha512_block_data_order
   1760 .align	64
   1761 .type	K512,@object
   1762 K512:
   1763 .quad	0x428a2f98d728ae22,0x7137449123ef65cd
   1764 .quad	0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
   1765 .quad	0x3956c25bf348b538,0x59f111f1b605d019
   1766 .quad	0x923f82a4af194f9b,0xab1c5ed5da6d8118
   1767 .quad	0xd807aa98a3030242,0x12835b0145706fbe
   1768 .quad	0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
   1769 .quad	0x72be5d74f27b896f,0x80deb1fe3b1696b1
   1770 .quad	0x9bdc06a725c71235,0xc19bf174cf692694
   1771 .quad	0xe49b69c19ef14ad2,0xefbe4786384f25e3
   1772 .quad	0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
   1773 .quad	0x2de92c6f592b0275,0x4a7484aa6ea6e483
   1774 .quad	0x5cb0a9dcbd41fbd4,0x76f988da831153b5
   1775 .quad	0x983e5152ee66dfab,0xa831c66d2db43210
   1776 .quad	0xb00327c898fb213f,0xbf597fc7beef0ee4
   1777 .quad	0xc6e00bf33da88fc2,0xd5a79147930aa725
   1778 .quad	0x06ca6351e003826f,0x142929670a0e6e70
   1779 .quad	0x27b70a8546d22ffc,0x2e1b21385c26c926
   1780 .quad	0x4d2c6dfc5ac42aed,0x53380d139d95b3df
   1781 .quad	0x650a73548baf63de,0x766a0abb3c77b2a8
   1782 .quad	0x81c2c92e47edaee6,0x92722c851482353b
   1783 .quad	0xa2bfe8a14cf10364,0xa81a664bbc423001
   1784 .quad	0xc24b8b70d0f89791,0xc76c51a30654be30
   1785 .quad	0xd192e819d6ef5218,0xd69906245565a910
   1786 .quad	0xf40e35855771202a,0x106aa07032bbd1b8
   1787 .quad	0x19a4c116b8d2d0c8,0x1e376c085141ab53
   1788 .quad	0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
   1789 .quad	0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
   1790 .quad	0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
   1791 .quad	0x748f82ee5defb2fc,0x78a5636f43172f60
   1792 .quad	0x84c87814a1f0ab72,0x8cc702081a6439ec
   1793 .quad	0x90befffa23631e28,0xa4506cebde82bde9
   1794 .quad	0xbef9a3f7b2c67915,0xc67178f2e372532b
   1795 .quad	0xca273eceea26619c,0xd186b8c721c0c207
   1796 .quad	0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
   1797 .quad	0x06f067aa72176fba,0x0a637dc5a2c898a6
   1798 .quad	0x113f9804bef90dae,0x1b710b35131c471b
   1799 .quad	0x28db77f523047d84,0x32caab7b40c72493
   1800 .quad	0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
   1801 .quad	0x4cc5d4becb3e42b6,0x597f299cfc657e2a
   1802 .quad	0x5fcb6fab3ad6faec,0x6c44198c4a475817
   1803