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