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