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