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