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