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