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