Update files for OpenSSL-1.0.1g import.
[dragonfly.git] / secure / lib / libcrypto / asm / sha512-x86_64.s
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