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