1// This file is generated from a similarly-named Perl script in the BoringSSL
2// source tree. Do not edit by hand.
3
4#include <ring-core/asm_base.h>
5
6#if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86_64) && defined(__ELF__)
7.text
8
9.extern	OPENSSL_ia32cap_P
10.hidden OPENSSL_ia32cap_P
11.globl	sha256_block_data_order
12.hidden sha256_block_data_order
13.type	sha256_block_data_order,@function
14.align	16
15sha256_block_data_order:
16.cfi_startproc
17_CET_ENDBR
18	leaq	OPENSSL_ia32cap_P(%rip),%r11
19	movl	0(%r11),%r9d
20	movl	4(%r11),%r10d
21	movl	8(%r11),%r11d
22	testl	$536870912,%r11d
23	jnz	.Lshaext_shortcut
24	andl	$1073741824,%r9d
25	andl	$268435968,%r10d
26	orl	%r9d,%r10d
27	cmpl	$1342177792,%r10d
28	je	.Lavx_shortcut
29	testl	$512,%r10d
30	jnz	.Lssse3_shortcut
31	movq	%rsp,%rax
32.cfi_def_cfa_register	%rax
33	pushq	%rbx
34.cfi_offset	%rbx,-16
35	pushq	%rbp
36.cfi_offset	%rbp,-24
37	pushq	%r12
38.cfi_offset	%r12,-32
39	pushq	%r13
40.cfi_offset	%r13,-40
41	pushq	%r14
42.cfi_offset	%r14,-48
43	pushq	%r15
44.cfi_offset	%r15,-56
45	shlq	$4,%rdx
46	subq	$64+32,%rsp
47	leaq	(%rsi,%rdx,4),%rdx
48	andq	$-64,%rsp
49	movq	%rdi,64+0(%rsp)
50	movq	%rsi,64+8(%rsp)
51	movq	%rdx,64+16(%rsp)
52	movq	%rax,88(%rsp)
53.cfi_escape	0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
54.Lprologue:
55
56	movl	0(%rdi),%eax
57	movl	4(%rdi),%ebx
58	movl	8(%rdi),%ecx
59	movl	12(%rdi),%edx
60	movl	16(%rdi),%r8d
61	movl	20(%rdi),%r9d
62	movl	24(%rdi),%r10d
63	movl	28(%rdi),%r11d
64	jmp	.Lloop
65
66.align	16
67.Lloop:
68	movl	%ebx,%edi
69	leaq	K256(%rip),%rbp
70	xorl	%ecx,%edi
71	movl	0(%rsi),%r12d
72	movl	%r8d,%r13d
73	movl	%eax,%r14d
74	bswapl	%r12d
75	rorl	$14,%r13d
76	movl	%r9d,%r15d
77
78	xorl	%r8d,%r13d
79	rorl	$9,%r14d
80	xorl	%r10d,%r15d
81
82	movl	%r12d,0(%rsp)
83	xorl	%eax,%r14d
84	andl	%r8d,%r15d
85
86	rorl	$5,%r13d
87	addl	%r11d,%r12d
88	xorl	%r10d,%r15d
89
90	rorl	$11,%r14d
91	xorl	%r8d,%r13d
92	addl	%r15d,%r12d
93
94	movl	%eax,%r15d
95	addl	(%rbp),%r12d
96	xorl	%eax,%r14d
97
98	xorl	%ebx,%r15d
99	rorl	$6,%r13d
100	movl	%ebx,%r11d
101
102	andl	%r15d,%edi
103	rorl	$2,%r14d
104	addl	%r13d,%r12d
105
106	xorl	%edi,%r11d
107	addl	%r12d,%edx
108	addl	%r12d,%r11d
109
110	leaq	4(%rbp),%rbp
111	addl	%r14d,%r11d
112	movl	4(%rsi),%r12d
113	movl	%edx,%r13d
114	movl	%r11d,%r14d
115	bswapl	%r12d
116	rorl	$14,%r13d
117	movl	%r8d,%edi
118
119	xorl	%edx,%r13d
120	rorl	$9,%r14d
121	xorl	%r9d,%edi
122
123	movl	%r12d,4(%rsp)
124	xorl	%r11d,%r14d
125	andl	%edx,%edi
126
127	rorl	$5,%r13d
128	addl	%r10d,%r12d
129	xorl	%r9d,%edi
130
131	rorl	$11,%r14d
132	xorl	%edx,%r13d
133	addl	%edi,%r12d
134
135	movl	%r11d,%edi
136	addl	(%rbp),%r12d
137	xorl	%r11d,%r14d
138
139	xorl	%eax,%edi
140	rorl	$6,%r13d
141	movl	%eax,%r10d
142
143	andl	%edi,%r15d
144	rorl	$2,%r14d
145	addl	%r13d,%r12d
146
147	xorl	%r15d,%r10d
148	addl	%r12d,%ecx
149	addl	%r12d,%r10d
150
151	leaq	4(%rbp),%rbp
152	addl	%r14d,%r10d
153	movl	8(%rsi),%r12d
154	movl	%ecx,%r13d
155	movl	%r10d,%r14d
156	bswapl	%r12d
157	rorl	$14,%r13d
158	movl	%edx,%r15d
159
160	xorl	%ecx,%r13d
161	rorl	$9,%r14d
162	xorl	%r8d,%r15d
163
164	movl	%r12d,8(%rsp)
165	xorl	%r10d,%r14d
166	andl	%ecx,%r15d
167
168	rorl	$5,%r13d
169	addl	%r9d,%r12d
170	xorl	%r8d,%r15d
171
172	rorl	$11,%r14d
173	xorl	%ecx,%r13d
174	addl	%r15d,%r12d
175
176	movl	%r10d,%r15d
177	addl	(%rbp),%r12d
178	xorl	%r10d,%r14d
179
180	xorl	%r11d,%r15d
181	rorl	$6,%r13d
182	movl	%r11d,%r9d
183
184	andl	%r15d,%edi
185	rorl	$2,%r14d
186	addl	%r13d,%r12d
187
188	xorl	%edi,%r9d
189	addl	%r12d,%ebx
190	addl	%r12d,%r9d
191
192	leaq	4(%rbp),%rbp
193	addl	%r14d,%r9d
194	movl	12(%rsi),%r12d
195	movl	%ebx,%r13d
196	movl	%r9d,%r14d
197	bswapl	%r12d
198	rorl	$14,%r13d
199	movl	%ecx,%edi
200
201	xorl	%ebx,%r13d
202	rorl	$9,%r14d
203	xorl	%edx,%edi
204
205	movl	%r12d,12(%rsp)
206	xorl	%r9d,%r14d
207	andl	%ebx,%edi
208
209	rorl	$5,%r13d
210	addl	%r8d,%r12d
211	xorl	%edx,%edi
212
213	rorl	$11,%r14d
214	xorl	%ebx,%r13d
215	addl	%edi,%r12d
216
217	movl	%r9d,%edi
218	addl	(%rbp),%r12d
219	xorl	%r9d,%r14d
220
221	xorl	%r10d,%edi
222	rorl	$6,%r13d
223	movl	%r10d,%r8d
224
225	andl	%edi,%r15d
226	rorl	$2,%r14d
227	addl	%r13d,%r12d
228
229	xorl	%r15d,%r8d
230	addl	%r12d,%eax
231	addl	%r12d,%r8d
232
233	leaq	20(%rbp),%rbp
234	addl	%r14d,%r8d
235	movl	16(%rsi),%r12d
236	movl	%eax,%r13d
237	movl	%r8d,%r14d
238	bswapl	%r12d
239	rorl	$14,%r13d
240	movl	%ebx,%r15d
241
242	xorl	%eax,%r13d
243	rorl	$9,%r14d
244	xorl	%ecx,%r15d
245
246	movl	%r12d,16(%rsp)
247	xorl	%r8d,%r14d
248	andl	%eax,%r15d
249
250	rorl	$5,%r13d
251	addl	%edx,%r12d
252	xorl	%ecx,%r15d
253
254	rorl	$11,%r14d
255	xorl	%eax,%r13d
256	addl	%r15d,%r12d
257
258	movl	%r8d,%r15d
259	addl	(%rbp),%r12d
260	xorl	%r8d,%r14d
261
262	xorl	%r9d,%r15d
263	rorl	$6,%r13d
264	movl	%r9d,%edx
265
266	andl	%r15d,%edi
267	rorl	$2,%r14d
268	addl	%r13d,%r12d
269
270	xorl	%edi,%edx
271	addl	%r12d,%r11d
272	addl	%r12d,%edx
273
274	leaq	4(%rbp),%rbp
275	addl	%r14d,%edx
276	movl	20(%rsi),%r12d
277	movl	%r11d,%r13d
278	movl	%edx,%r14d
279	bswapl	%r12d
280	rorl	$14,%r13d
281	movl	%eax,%edi
282
283	xorl	%r11d,%r13d
284	rorl	$9,%r14d
285	xorl	%ebx,%edi
286
287	movl	%r12d,20(%rsp)
288	xorl	%edx,%r14d
289	andl	%r11d,%edi
290
291	rorl	$5,%r13d
292	addl	%ecx,%r12d
293	xorl	%ebx,%edi
294
295	rorl	$11,%r14d
296	xorl	%r11d,%r13d
297	addl	%edi,%r12d
298
299	movl	%edx,%edi
300	addl	(%rbp),%r12d
301	xorl	%edx,%r14d
302
303	xorl	%r8d,%edi
304	rorl	$6,%r13d
305	movl	%r8d,%ecx
306
307	andl	%edi,%r15d
308	rorl	$2,%r14d
309	addl	%r13d,%r12d
310
311	xorl	%r15d,%ecx
312	addl	%r12d,%r10d
313	addl	%r12d,%ecx
314
315	leaq	4(%rbp),%rbp
316	addl	%r14d,%ecx
317	movl	24(%rsi),%r12d
318	movl	%r10d,%r13d
319	movl	%ecx,%r14d
320	bswapl	%r12d
321	rorl	$14,%r13d
322	movl	%r11d,%r15d
323
324	xorl	%r10d,%r13d
325	rorl	$9,%r14d
326	xorl	%eax,%r15d
327
328	movl	%r12d,24(%rsp)
329	xorl	%ecx,%r14d
330	andl	%r10d,%r15d
331
332	rorl	$5,%r13d
333	addl	%ebx,%r12d
334	xorl	%eax,%r15d
335
336	rorl	$11,%r14d
337	xorl	%r10d,%r13d
338	addl	%r15d,%r12d
339
340	movl	%ecx,%r15d
341	addl	(%rbp),%r12d
342	xorl	%ecx,%r14d
343
344	xorl	%edx,%r15d
345	rorl	$6,%r13d
346	movl	%edx,%ebx
347
348	andl	%r15d,%edi
349	rorl	$2,%r14d
350	addl	%r13d,%r12d
351
352	xorl	%edi,%ebx
353	addl	%r12d,%r9d
354	addl	%r12d,%ebx
355
356	leaq	4(%rbp),%rbp
357	addl	%r14d,%ebx
358	movl	28(%rsi),%r12d
359	movl	%r9d,%r13d
360	movl	%ebx,%r14d
361	bswapl	%r12d
362	rorl	$14,%r13d
363	movl	%r10d,%edi
364
365	xorl	%r9d,%r13d
366	rorl	$9,%r14d
367	xorl	%r11d,%edi
368
369	movl	%r12d,28(%rsp)
370	xorl	%ebx,%r14d
371	andl	%r9d,%edi
372
373	rorl	$5,%r13d
374	addl	%eax,%r12d
375	xorl	%r11d,%edi
376
377	rorl	$11,%r14d
378	xorl	%r9d,%r13d
379	addl	%edi,%r12d
380
381	movl	%ebx,%edi
382	addl	(%rbp),%r12d
383	xorl	%ebx,%r14d
384
385	xorl	%ecx,%edi
386	rorl	$6,%r13d
387	movl	%ecx,%eax
388
389	andl	%edi,%r15d
390	rorl	$2,%r14d
391	addl	%r13d,%r12d
392
393	xorl	%r15d,%eax
394	addl	%r12d,%r8d
395	addl	%r12d,%eax
396
397	leaq	20(%rbp),%rbp
398	addl	%r14d,%eax
399	movl	32(%rsi),%r12d
400	movl	%r8d,%r13d
401	movl	%eax,%r14d
402	bswapl	%r12d
403	rorl	$14,%r13d
404	movl	%r9d,%r15d
405
406	xorl	%r8d,%r13d
407	rorl	$9,%r14d
408	xorl	%r10d,%r15d
409
410	movl	%r12d,32(%rsp)
411	xorl	%eax,%r14d
412	andl	%r8d,%r15d
413
414	rorl	$5,%r13d
415	addl	%r11d,%r12d
416	xorl	%r10d,%r15d
417
418	rorl	$11,%r14d
419	xorl	%r8d,%r13d
420	addl	%r15d,%r12d
421
422	movl	%eax,%r15d
423	addl	(%rbp),%r12d
424	xorl	%eax,%r14d
425
426	xorl	%ebx,%r15d
427	rorl	$6,%r13d
428	movl	%ebx,%r11d
429
430	andl	%r15d,%edi
431	rorl	$2,%r14d
432	addl	%r13d,%r12d
433
434	xorl	%edi,%r11d
435	addl	%r12d,%edx
436	addl	%r12d,%r11d
437
438	leaq	4(%rbp),%rbp
439	addl	%r14d,%r11d
440	movl	36(%rsi),%r12d
441	movl	%edx,%r13d
442	movl	%r11d,%r14d
443	bswapl	%r12d
444	rorl	$14,%r13d
445	movl	%r8d,%edi
446
447	xorl	%edx,%r13d
448	rorl	$9,%r14d
449	xorl	%r9d,%edi
450
451	movl	%r12d,36(%rsp)
452	xorl	%r11d,%r14d
453	andl	%edx,%edi
454
455	rorl	$5,%r13d
456	addl	%r10d,%r12d
457	xorl	%r9d,%edi
458
459	rorl	$11,%r14d
460	xorl	%edx,%r13d
461	addl	%edi,%r12d
462
463	movl	%r11d,%edi
464	addl	(%rbp),%r12d
465	xorl	%r11d,%r14d
466
467	xorl	%eax,%edi
468	rorl	$6,%r13d
469	movl	%eax,%r10d
470
471	andl	%edi,%r15d
472	rorl	$2,%r14d
473	addl	%r13d,%r12d
474
475	xorl	%r15d,%r10d
476	addl	%r12d,%ecx
477	addl	%r12d,%r10d
478
479	leaq	4(%rbp),%rbp
480	addl	%r14d,%r10d
481	movl	40(%rsi),%r12d
482	movl	%ecx,%r13d
483	movl	%r10d,%r14d
484	bswapl	%r12d
485	rorl	$14,%r13d
486	movl	%edx,%r15d
487
488	xorl	%ecx,%r13d
489	rorl	$9,%r14d
490	xorl	%r8d,%r15d
491
492	movl	%r12d,40(%rsp)
493	xorl	%r10d,%r14d
494	andl	%ecx,%r15d
495
496	rorl	$5,%r13d
497	addl	%r9d,%r12d
498	xorl	%r8d,%r15d
499
500	rorl	$11,%r14d
501	xorl	%ecx,%r13d
502	addl	%r15d,%r12d
503
504	movl	%r10d,%r15d
505	addl	(%rbp),%r12d
506	xorl	%r10d,%r14d
507
508	xorl	%r11d,%r15d
509	rorl	$6,%r13d
510	movl	%r11d,%r9d
511
512	andl	%r15d,%edi
513	rorl	$2,%r14d
514	addl	%r13d,%r12d
515
516	xorl	%edi,%r9d
517	addl	%r12d,%ebx
518	addl	%r12d,%r9d
519
520	leaq	4(%rbp),%rbp
521	addl	%r14d,%r9d
522	movl	44(%rsi),%r12d
523	movl	%ebx,%r13d
524	movl	%r9d,%r14d
525	bswapl	%r12d
526	rorl	$14,%r13d
527	movl	%ecx,%edi
528
529	xorl	%ebx,%r13d
530	rorl	$9,%r14d
531	xorl	%edx,%edi
532
533	movl	%r12d,44(%rsp)
534	xorl	%r9d,%r14d
535	andl	%ebx,%edi
536
537	rorl	$5,%r13d
538	addl	%r8d,%r12d
539	xorl	%edx,%edi
540
541	rorl	$11,%r14d
542	xorl	%ebx,%r13d
543	addl	%edi,%r12d
544
545	movl	%r9d,%edi
546	addl	(%rbp),%r12d
547	xorl	%r9d,%r14d
548
549	xorl	%r10d,%edi
550	rorl	$6,%r13d
551	movl	%r10d,%r8d
552
553	andl	%edi,%r15d
554	rorl	$2,%r14d
555	addl	%r13d,%r12d
556
557	xorl	%r15d,%r8d
558	addl	%r12d,%eax
559	addl	%r12d,%r8d
560
561	leaq	20(%rbp),%rbp
562	addl	%r14d,%r8d
563	movl	48(%rsi),%r12d
564	movl	%eax,%r13d
565	movl	%r8d,%r14d
566	bswapl	%r12d
567	rorl	$14,%r13d
568	movl	%ebx,%r15d
569
570	xorl	%eax,%r13d
571	rorl	$9,%r14d
572	xorl	%ecx,%r15d
573
574	movl	%r12d,48(%rsp)
575	xorl	%r8d,%r14d
576	andl	%eax,%r15d
577
578	rorl	$5,%r13d
579	addl	%edx,%r12d
580	xorl	%ecx,%r15d
581
582	rorl	$11,%r14d
583	xorl	%eax,%r13d
584	addl	%r15d,%r12d
585
586	movl	%r8d,%r15d
587	addl	(%rbp),%r12d
588	xorl	%r8d,%r14d
589
590	xorl	%r9d,%r15d
591	rorl	$6,%r13d
592	movl	%r9d,%edx
593
594	andl	%r15d,%edi
595	rorl	$2,%r14d
596	addl	%r13d,%r12d
597
598	xorl	%edi,%edx
599	addl	%r12d,%r11d
600	addl	%r12d,%edx
601
602	leaq	4(%rbp),%rbp
603	addl	%r14d,%edx
604	movl	52(%rsi),%r12d
605	movl	%r11d,%r13d
606	movl	%edx,%r14d
607	bswapl	%r12d
608	rorl	$14,%r13d
609	movl	%eax,%edi
610
611	xorl	%r11d,%r13d
612	rorl	$9,%r14d
613	xorl	%ebx,%edi
614
615	movl	%r12d,52(%rsp)
616	xorl	%edx,%r14d
617	andl	%r11d,%edi
618
619	rorl	$5,%r13d
620	addl	%ecx,%r12d
621	xorl	%ebx,%edi
622
623	rorl	$11,%r14d
624	xorl	%r11d,%r13d
625	addl	%edi,%r12d
626
627	movl	%edx,%edi
628	addl	(%rbp),%r12d
629	xorl	%edx,%r14d
630
631	xorl	%r8d,%edi
632	rorl	$6,%r13d
633	movl	%r8d,%ecx
634
635	andl	%edi,%r15d
636	rorl	$2,%r14d
637	addl	%r13d,%r12d
638
639	xorl	%r15d,%ecx
640	addl	%r12d,%r10d
641	addl	%r12d,%ecx
642
643	leaq	4(%rbp),%rbp
644	addl	%r14d,%ecx
645	movl	56(%rsi),%r12d
646	movl	%r10d,%r13d
647	movl	%ecx,%r14d
648	bswapl	%r12d
649	rorl	$14,%r13d
650	movl	%r11d,%r15d
651
652	xorl	%r10d,%r13d
653	rorl	$9,%r14d
654	xorl	%eax,%r15d
655
656	movl	%r12d,56(%rsp)
657	xorl	%ecx,%r14d
658	andl	%r10d,%r15d
659
660	rorl	$5,%r13d
661	addl	%ebx,%r12d
662	xorl	%eax,%r15d
663
664	rorl	$11,%r14d
665	xorl	%r10d,%r13d
666	addl	%r15d,%r12d
667
668	movl	%ecx,%r15d
669	addl	(%rbp),%r12d
670	xorl	%ecx,%r14d
671
672	xorl	%edx,%r15d
673	rorl	$6,%r13d
674	movl	%edx,%ebx
675
676	andl	%r15d,%edi
677	rorl	$2,%r14d
678	addl	%r13d,%r12d
679
680	xorl	%edi,%ebx
681	addl	%r12d,%r9d
682	addl	%r12d,%ebx
683
684	leaq	4(%rbp),%rbp
685	addl	%r14d,%ebx
686	movl	60(%rsi),%r12d
687	movl	%r9d,%r13d
688	movl	%ebx,%r14d
689	bswapl	%r12d
690	rorl	$14,%r13d
691	movl	%r10d,%edi
692
693	xorl	%r9d,%r13d
694	rorl	$9,%r14d
695	xorl	%r11d,%edi
696
697	movl	%r12d,60(%rsp)
698	xorl	%ebx,%r14d
699	andl	%r9d,%edi
700
701	rorl	$5,%r13d
702	addl	%eax,%r12d
703	xorl	%r11d,%edi
704
705	rorl	$11,%r14d
706	xorl	%r9d,%r13d
707	addl	%edi,%r12d
708
709	movl	%ebx,%edi
710	addl	(%rbp),%r12d
711	xorl	%ebx,%r14d
712
713	xorl	%ecx,%edi
714	rorl	$6,%r13d
715	movl	%ecx,%eax
716
717	andl	%edi,%r15d
718	rorl	$2,%r14d
719	addl	%r13d,%r12d
720
721	xorl	%r15d,%eax
722	addl	%r12d,%r8d
723	addl	%r12d,%eax
724
725	leaq	20(%rbp),%rbp
726	jmp	.Lrounds_16_xx
727.align	16
728.Lrounds_16_xx:
729	movl	4(%rsp),%r13d
730	movl	56(%rsp),%r15d
731
732	movl	%r13d,%r12d
733	rorl	$11,%r13d
734	addl	%r14d,%eax
735	movl	%r15d,%r14d
736	rorl	$2,%r15d
737
738	xorl	%r12d,%r13d
739	shrl	$3,%r12d
740	rorl	$7,%r13d
741	xorl	%r14d,%r15d
742	shrl	$10,%r14d
743
744	rorl	$17,%r15d
745	xorl	%r13d,%r12d
746	xorl	%r14d,%r15d
747	addl	36(%rsp),%r12d
748
749	addl	0(%rsp),%r12d
750	movl	%r8d,%r13d
751	addl	%r15d,%r12d
752	movl	%eax,%r14d
753	rorl	$14,%r13d
754	movl	%r9d,%r15d
755
756	xorl	%r8d,%r13d
757	rorl	$9,%r14d
758	xorl	%r10d,%r15d
759
760	movl	%r12d,0(%rsp)
761	xorl	%eax,%r14d
762	andl	%r8d,%r15d
763
764	rorl	$5,%r13d
765	addl	%r11d,%r12d
766	xorl	%r10d,%r15d
767
768	rorl	$11,%r14d
769	xorl	%r8d,%r13d
770	addl	%r15d,%r12d
771
772	movl	%eax,%r15d
773	addl	(%rbp),%r12d
774	xorl	%eax,%r14d
775
776	xorl	%ebx,%r15d
777	rorl	$6,%r13d
778	movl	%ebx,%r11d
779
780	andl	%r15d,%edi
781	rorl	$2,%r14d
782	addl	%r13d,%r12d
783
784	xorl	%edi,%r11d
785	addl	%r12d,%edx
786	addl	%r12d,%r11d
787
788	leaq	4(%rbp),%rbp
789	movl	8(%rsp),%r13d
790	movl	60(%rsp),%edi
791
792	movl	%r13d,%r12d
793	rorl	$11,%r13d
794	addl	%r14d,%r11d
795	movl	%edi,%r14d
796	rorl	$2,%edi
797
798	xorl	%r12d,%r13d
799	shrl	$3,%r12d
800	rorl	$7,%r13d
801	xorl	%r14d,%edi
802	shrl	$10,%r14d
803
804	rorl	$17,%edi
805	xorl	%r13d,%r12d
806	xorl	%r14d,%edi
807	addl	40(%rsp),%r12d
808
809	addl	4(%rsp),%r12d
810	movl	%edx,%r13d
811	addl	%edi,%r12d
812	movl	%r11d,%r14d
813	rorl	$14,%r13d
814	movl	%r8d,%edi
815
816	xorl	%edx,%r13d
817	rorl	$9,%r14d
818	xorl	%r9d,%edi
819
820	movl	%r12d,4(%rsp)
821	xorl	%r11d,%r14d
822	andl	%edx,%edi
823
824	rorl	$5,%r13d
825	addl	%r10d,%r12d
826	xorl	%r9d,%edi
827
828	rorl	$11,%r14d
829	xorl	%edx,%r13d
830	addl	%edi,%r12d
831
832	movl	%r11d,%edi
833	addl	(%rbp),%r12d
834	xorl	%r11d,%r14d
835
836	xorl	%eax,%edi
837	rorl	$6,%r13d
838	movl	%eax,%r10d
839
840	andl	%edi,%r15d
841	rorl	$2,%r14d
842	addl	%r13d,%r12d
843
844	xorl	%r15d,%r10d
845	addl	%r12d,%ecx
846	addl	%r12d,%r10d
847
848	leaq	4(%rbp),%rbp
849	movl	12(%rsp),%r13d
850	movl	0(%rsp),%r15d
851
852	movl	%r13d,%r12d
853	rorl	$11,%r13d
854	addl	%r14d,%r10d
855	movl	%r15d,%r14d
856	rorl	$2,%r15d
857
858	xorl	%r12d,%r13d
859	shrl	$3,%r12d
860	rorl	$7,%r13d
861	xorl	%r14d,%r15d
862	shrl	$10,%r14d
863
864	rorl	$17,%r15d
865	xorl	%r13d,%r12d
866	xorl	%r14d,%r15d
867	addl	44(%rsp),%r12d
868
869	addl	8(%rsp),%r12d
870	movl	%ecx,%r13d
871	addl	%r15d,%r12d
872	movl	%r10d,%r14d
873	rorl	$14,%r13d
874	movl	%edx,%r15d
875
876	xorl	%ecx,%r13d
877	rorl	$9,%r14d
878	xorl	%r8d,%r15d
879
880	movl	%r12d,8(%rsp)
881	xorl	%r10d,%r14d
882	andl	%ecx,%r15d
883
884	rorl	$5,%r13d
885	addl	%r9d,%r12d
886	xorl	%r8d,%r15d
887
888	rorl	$11,%r14d
889	xorl	%ecx,%r13d
890	addl	%r15d,%r12d
891
892	movl	%r10d,%r15d
893	addl	(%rbp),%r12d
894	xorl	%r10d,%r14d
895
896	xorl	%r11d,%r15d
897	rorl	$6,%r13d
898	movl	%r11d,%r9d
899
900	andl	%r15d,%edi
901	rorl	$2,%r14d
902	addl	%r13d,%r12d
903
904	xorl	%edi,%r9d
905	addl	%r12d,%ebx
906	addl	%r12d,%r9d
907
908	leaq	4(%rbp),%rbp
909	movl	16(%rsp),%r13d
910	movl	4(%rsp),%edi
911
912	movl	%r13d,%r12d
913	rorl	$11,%r13d
914	addl	%r14d,%r9d
915	movl	%edi,%r14d
916	rorl	$2,%edi
917
918	xorl	%r12d,%r13d
919	shrl	$3,%r12d
920	rorl	$7,%r13d
921	xorl	%r14d,%edi
922	shrl	$10,%r14d
923
924	rorl	$17,%edi
925	xorl	%r13d,%r12d
926	xorl	%r14d,%edi
927	addl	48(%rsp),%r12d
928
929	addl	12(%rsp),%r12d
930	movl	%ebx,%r13d
931	addl	%edi,%r12d
932	movl	%r9d,%r14d
933	rorl	$14,%r13d
934	movl	%ecx,%edi
935
936	xorl	%ebx,%r13d
937	rorl	$9,%r14d
938	xorl	%edx,%edi
939
940	movl	%r12d,12(%rsp)
941	xorl	%r9d,%r14d
942	andl	%ebx,%edi
943
944	rorl	$5,%r13d
945	addl	%r8d,%r12d
946	xorl	%edx,%edi
947
948	rorl	$11,%r14d
949	xorl	%ebx,%r13d
950	addl	%edi,%r12d
951
952	movl	%r9d,%edi
953	addl	(%rbp),%r12d
954	xorl	%r9d,%r14d
955
956	xorl	%r10d,%edi
957	rorl	$6,%r13d
958	movl	%r10d,%r8d
959
960	andl	%edi,%r15d
961	rorl	$2,%r14d
962	addl	%r13d,%r12d
963
964	xorl	%r15d,%r8d
965	addl	%r12d,%eax
966	addl	%r12d,%r8d
967
968	leaq	20(%rbp),%rbp
969	movl	20(%rsp),%r13d
970	movl	8(%rsp),%r15d
971
972	movl	%r13d,%r12d
973	rorl	$11,%r13d
974	addl	%r14d,%r8d
975	movl	%r15d,%r14d
976	rorl	$2,%r15d
977
978	xorl	%r12d,%r13d
979	shrl	$3,%r12d
980	rorl	$7,%r13d
981	xorl	%r14d,%r15d
982	shrl	$10,%r14d
983
984	rorl	$17,%r15d
985	xorl	%r13d,%r12d
986	xorl	%r14d,%r15d
987	addl	52(%rsp),%r12d
988
989	addl	16(%rsp),%r12d
990	movl	%eax,%r13d
991	addl	%r15d,%r12d
992	movl	%r8d,%r14d
993	rorl	$14,%r13d
994	movl	%ebx,%r15d
995
996	xorl	%eax,%r13d
997	rorl	$9,%r14d
998	xorl	%ecx,%r15d
999
1000	movl	%r12d,16(%rsp)
1001	xorl	%r8d,%r14d
1002	andl	%eax,%r15d
1003
1004	rorl	$5,%r13d
1005	addl	%edx,%r12d
1006	xorl	%ecx,%r15d
1007
1008	rorl	$11,%r14d
1009	xorl	%eax,%r13d
1010	addl	%r15d,%r12d
1011
1012	movl	%r8d,%r15d
1013	addl	(%rbp),%r12d
1014	xorl	%r8d,%r14d
1015
1016	xorl	%r9d,%r15d
1017	rorl	$6,%r13d
1018	movl	%r9d,%edx
1019
1020	andl	%r15d,%edi
1021	rorl	$2,%r14d
1022	addl	%r13d,%r12d
1023
1024	xorl	%edi,%edx
1025	addl	%r12d,%r11d
1026	addl	%r12d,%edx
1027
1028	leaq	4(%rbp),%rbp
1029	movl	24(%rsp),%r13d
1030	movl	12(%rsp),%edi
1031
1032	movl	%r13d,%r12d
1033	rorl	$11,%r13d
1034	addl	%r14d,%edx
1035	movl	%edi,%r14d
1036	rorl	$2,%edi
1037
1038	xorl	%r12d,%r13d
1039	shrl	$3,%r12d
1040	rorl	$7,%r13d
1041	xorl	%r14d,%edi
1042	shrl	$10,%r14d
1043
1044	rorl	$17,%edi
1045	xorl	%r13d,%r12d
1046	xorl	%r14d,%edi
1047	addl	56(%rsp),%r12d
1048
1049	addl	20(%rsp),%r12d
1050	movl	%r11d,%r13d
1051	addl	%edi,%r12d
1052	movl	%edx,%r14d
1053	rorl	$14,%r13d
1054	movl	%eax,%edi
1055
1056	xorl	%r11d,%r13d
1057	rorl	$9,%r14d
1058	xorl	%ebx,%edi
1059
1060	movl	%r12d,20(%rsp)
1061	xorl	%edx,%r14d
1062	andl	%r11d,%edi
1063
1064	rorl	$5,%r13d
1065	addl	%ecx,%r12d
1066	xorl	%ebx,%edi
1067
1068	rorl	$11,%r14d
1069	xorl	%r11d,%r13d
1070	addl	%edi,%r12d
1071
1072	movl	%edx,%edi
1073	addl	(%rbp),%r12d
1074	xorl	%edx,%r14d
1075
1076	xorl	%r8d,%edi
1077	rorl	$6,%r13d
1078	movl	%r8d,%ecx
1079
1080	andl	%edi,%r15d
1081	rorl	$2,%r14d
1082	addl	%r13d,%r12d
1083
1084	xorl	%r15d,%ecx
1085	addl	%r12d,%r10d
1086	addl	%r12d,%ecx
1087
1088	leaq	4(%rbp),%rbp
1089	movl	28(%rsp),%r13d
1090	movl	16(%rsp),%r15d
1091
1092	movl	%r13d,%r12d
1093	rorl	$11,%r13d
1094	addl	%r14d,%ecx
1095	movl	%r15d,%r14d
1096	rorl	$2,%r15d
1097
1098	xorl	%r12d,%r13d
1099	shrl	$3,%r12d
1100	rorl	$7,%r13d
1101	xorl	%r14d,%r15d
1102	shrl	$10,%r14d
1103
1104	rorl	$17,%r15d
1105	xorl	%r13d,%r12d
1106	xorl	%r14d,%r15d
1107	addl	60(%rsp),%r12d
1108
1109	addl	24(%rsp),%r12d
1110	movl	%r10d,%r13d
1111	addl	%r15d,%r12d
1112	movl	%ecx,%r14d
1113	rorl	$14,%r13d
1114	movl	%r11d,%r15d
1115
1116	xorl	%r10d,%r13d
1117	rorl	$9,%r14d
1118	xorl	%eax,%r15d
1119
1120	movl	%r12d,24(%rsp)
1121	xorl	%ecx,%r14d
1122	andl	%r10d,%r15d
1123
1124	rorl	$5,%r13d
1125	addl	%ebx,%r12d
1126	xorl	%eax,%r15d
1127
1128	rorl	$11,%r14d
1129	xorl	%r10d,%r13d
1130	addl	%r15d,%r12d
1131
1132	movl	%ecx,%r15d
1133	addl	(%rbp),%r12d
1134	xorl	%ecx,%r14d
1135
1136	xorl	%edx,%r15d
1137	rorl	$6,%r13d
1138	movl	%edx,%ebx
1139
1140	andl	%r15d,%edi
1141	rorl	$2,%r14d
1142	addl	%r13d,%r12d
1143
1144	xorl	%edi,%ebx
1145	addl	%r12d,%r9d
1146	addl	%r12d,%ebx
1147
1148	leaq	4(%rbp),%rbp
1149	movl	32(%rsp),%r13d
1150	movl	20(%rsp),%edi
1151
1152	movl	%r13d,%r12d
1153	rorl	$11,%r13d
1154	addl	%r14d,%ebx
1155	movl	%edi,%r14d
1156	rorl	$2,%edi
1157
1158	xorl	%r12d,%r13d
1159	shrl	$3,%r12d
1160	rorl	$7,%r13d
1161	xorl	%r14d,%edi
1162	shrl	$10,%r14d
1163
1164	rorl	$17,%edi
1165	xorl	%r13d,%r12d
1166	xorl	%r14d,%edi
1167	addl	0(%rsp),%r12d
1168
1169	addl	28(%rsp),%r12d
1170	movl	%r9d,%r13d
1171	addl	%edi,%r12d
1172	movl	%ebx,%r14d
1173	rorl	$14,%r13d
1174	movl	%r10d,%edi
1175
1176	xorl	%r9d,%r13d
1177	rorl	$9,%r14d
1178	xorl	%r11d,%edi
1179
1180	movl	%r12d,28(%rsp)
1181	xorl	%ebx,%r14d
1182	andl	%r9d,%edi
1183
1184	rorl	$5,%r13d
1185	addl	%eax,%r12d
1186	xorl	%r11d,%edi
1187
1188	rorl	$11,%r14d
1189	xorl	%r9d,%r13d
1190	addl	%edi,%r12d
1191
1192	movl	%ebx,%edi
1193	addl	(%rbp),%r12d
1194	xorl	%ebx,%r14d
1195
1196	xorl	%ecx,%edi
1197	rorl	$6,%r13d
1198	movl	%ecx,%eax
1199
1200	andl	%edi,%r15d
1201	rorl	$2,%r14d
1202	addl	%r13d,%r12d
1203
1204	xorl	%r15d,%eax
1205	addl	%r12d,%r8d
1206	addl	%r12d,%eax
1207
1208	leaq	20(%rbp),%rbp
1209	movl	36(%rsp),%r13d
1210	movl	24(%rsp),%r15d
1211
1212	movl	%r13d,%r12d
1213	rorl	$11,%r13d
1214	addl	%r14d,%eax
1215	movl	%r15d,%r14d
1216	rorl	$2,%r15d
1217
1218	xorl	%r12d,%r13d
1219	shrl	$3,%r12d
1220	rorl	$7,%r13d
1221	xorl	%r14d,%r15d
1222	shrl	$10,%r14d
1223
1224	rorl	$17,%r15d
1225	xorl	%r13d,%r12d
1226	xorl	%r14d,%r15d
1227	addl	4(%rsp),%r12d
1228
1229	addl	32(%rsp),%r12d
1230	movl	%r8d,%r13d
1231	addl	%r15d,%r12d
1232	movl	%eax,%r14d
1233	rorl	$14,%r13d
1234	movl	%r9d,%r15d
1235
1236	xorl	%r8d,%r13d
1237	rorl	$9,%r14d
1238	xorl	%r10d,%r15d
1239
1240	movl	%r12d,32(%rsp)
1241	xorl	%eax,%r14d
1242	andl	%r8d,%r15d
1243
1244	rorl	$5,%r13d
1245	addl	%r11d,%r12d
1246	xorl	%r10d,%r15d
1247
1248	rorl	$11,%r14d
1249	xorl	%r8d,%r13d
1250	addl	%r15d,%r12d
1251
1252	movl	%eax,%r15d
1253	addl	(%rbp),%r12d
1254	xorl	%eax,%r14d
1255
1256	xorl	%ebx,%r15d
1257	rorl	$6,%r13d
1258	movl	%ebx,%r11d
1259
1260	andl	%r15d,%edi
1261	rorl	$2,%r14d
1262	addl	%r13d,%r12d
1263
1264	xorl	%edi,%r11d
1265	addl	%r12d,%edx
1266	addl	%r12d,%r11d
1267
1268	leaq	4(%rbp),%rbp
1269	movl	40(%rsp),%r13d
1270	movl	28(%rsp),%edi
1271
1272	movl	%r13d,%r12d
1273	rorl	$11,%r13d
1274	addl	%r14d,%r11d
1275	movl	%edi,%r14d
1276	rorl	$2,%edi
1277
1278	xorl	%r12d,%r13d
1279	shrl	$3,%r12d
1280	rorl	$7,%r13d
1281	xorl	%r14d,%edi
1282	shrl	$10,%r14d
1283
1284	rorl	$17,%edi
1285	xorl	%r13d,%r12d
1286	xorl	%r14d,%edi
1287	addl	8(%rsp),%r12d
1288
1289	addl	36(%rsp),%r12d
1290	movl	%edx,%r13d
1291	addl	%edi,%r12d
1292	movl	%r11d,%r14d
1293	rorl	$14,%r13d
1294	movl	%r8d,%edi
1295
1296	xorl	%edx,%r13d
1297	rorl	$9,%r14d
1298	xorl	%r9d,%edi
1299
1300	movl	%r12d,36(%rsp)
1301	xorl	%r11d,%r14d
1302	andl	%edx,%edi
1303
1304	rorl	$5,%r13d
1305	addl	%r10d,%r12d
1306	xorl	%r9d,%edi
1307
1308	rorl	$11,%r14d
1309	xorl	%edx,%r13d
1310	addl	%edi,%r12d
1311
1312	movl	%r11d,%edi
1313	addl	(%rbp),%r12d
1314	xorl	%r11d,%r14d
1315
1316	xorl	%eax,%edi
1317	rorl	$6,%r13d
1318	movl	%eax,%r10d
1319
1320	andl	%edi,%r15d
1321	rorl	$2,%r14d
1322	addl	%r13d,%r12d
1323
1324	xorl	%r15d,%r10d
1325	addl	%r12d,%ecx
1326	addl	%r12d,%r10d
1327
1328	leaq	4(%rbp),%rbp
1329	movl	44(%rsp),%r13d
1330	movl	32(%rsp),%r15d
1331
1332	movl	%r13d,%r12d
1333	rorl	$11,%r13d
1334	addl	%r14d,%r10d
1335	movl	%r15d,%r14d
1336	rorl	$2,%r15d
1337
1338	xorl	%r12d,%r13d
1339	shrl	$3,%r12d
1340	rorl	$7,%r13d
1341	xorl	%r14d,%r15d
1342	shrl	$10,%r14d
1343
1344	rorl	$17,%r15d
1345	xorl	%r13d,%r12d
1346	xorl	%r14d,%r15d
1347	addl	12(%rsp),%r12d
1348
1349	addl	40(%rsp),%r12d
1350	movl	%ecx,%r13d
1351	addl	%r15d,%r12d
1352	movl	%r10d,%r14d
1353	rorl	$14,%r13d
1354	movl	%edx,%r15d
1355
1356	xorl	%ecx,%r13d
1357	rorl	$9,%r14d
1358	xorl	%r8d,%r15d
1359
1360	movl	%r12d,40(%rsp)
1361	xorl	%r10d,%r14d
1362	andl	%ecx,%r15d
1363
1364	rorl	$5,%r13d
1365	addl	%r9d,%r12d
1366	xorl	%r8d,%r15d
1367
1368	rorl	$11,%r14d
1369	xorl	%ecx,%r13d
1370	addl	%r15d,%r12d
1371
1372	movl	%r10d,%r15d
1373	addl	(%rbp),%r12d
1374	xorl	%r10d,%r14d
1375
1376	xorl	%r11d,%r15d
1377	rorl	$6,%r13d
1378	movl	%r11d,%r9d
1379
1380	andl	%r15d,%edi
1381	rorl	$2,%r14d
1382	addl	%r13d,%r12d
1383
1384	xorl	%edi,%r9d
1385	addl	%r12d,%ebx
1386	addl	%r12d,%r9d
1387
1388	leaq	4(%rbp),%rbp
1389	movl	48(%rsp),%r13d
1390	movl	36(%rsp),%edi
1391
1392	movl	%r13d,%r12d
1393	rorl	$11,%r13d
1394	addl	%r14d,%r9d
1395	movl	%edi,%r14d
1396	rorl	$2,%edi
1397
1398	xorl	%r12d,%r13d
1399	shrl	$3,%r12d
1400	rorl	$7,%r13d
1401	xorl	%r14d,%edi
1402	shrl	$10,%r14d
1403
1404	rorl	$17,%edi
1405	xorl	%r13d,%r12d
1406	xorl	%r14d,%edi
1407	addl	16(%rsp),%r12d
1408
1409	addl	44(%rsp),%r12d
1410	movl	%ebx,%r13d
1411	addl	%edi,%r12d
1412	movl	%r9d,%r14d
1413	rorl	$14,%r13d
1414	movl	%ecx,%edi
1415
1416	xorl	%ebx,%r13d
1417	rorl	$9,%r14d
1418	xorl	%edx,%edi
1419
1420	movl	%r12d,44(%rsp)
1421	xorl	%r9d,%r14d
1422	andl	%ebx,%edi
1423
1424	rorl	$5,%r13d
1425	addl	%r8d,%r12d
1426	xorl	%edx,%edi
1427
1428	rorl	$11,%r14d
1429	xorl	%ebx,%r13d
1430	addl	%edi,%r12d
1431
1432	movl	%r9d,%edi
1433	addl	(%rbp),%r12d
1434	xorl	%r9d,%r14d
1435
1436	xorl	%r10d,%edi
1437	rorl	$6,%r13d
1438	movl	%r10d,%r8d
1439
1440	andl	%edi,%r15d
1441	rorl	$2,%r14d
1442	addl	%r13d,%r12d
1443
1444	xorl	%r15d,%r8d
1445	addl	%r12d,%eax
1446	addl	%r12d,%r8d
1447
1448	leaq	20(%rbp),%rbp
1449	movl	52(%rsp),%r13d
1450	movl	40(%rsp),%r15d
1451
1452	movl	%r13d,%r12d
1453	rorl	$11,%r13d
1454	addl	%r14d,%r8d
1455	movl	%r15d,%r14d
1456	rorl	$2,%r15d
1457
1458	xorl	%r12d,%r13d
1459	shrl	$3,%r12d
1460	rorl	$7,%r13d
1461	xorl	%r14d,%r15d
1462	shrl	$10,%r14d
1463
1464	rorl	$17,%r15d
1465	xorl	%r13d,%r12d
1466	xorl	%r14d,%r15d
1467	addl	20(%rsp),%r12d
1468
1469	addl	48(%rsp),%r12d
1470	movl	%eax,%r13d
1471	addl	%r15d,%r12d
1472	movl	%r8d,%r14d
1473	rorl	$14,%r13d
1474	movl	%ebx,%r15d
1475
1476	xorl	%eax,%r13d
1477	rorl	$9,%r14d
1478	xorl	%ecx,%r15d
1479
1480	movl	%r12d,48(%rsp)
1481	xorl	%r8d,%r14d
1482	andl	%eax,%r15d
1483
1484	rorl	$5,%r13d
1485	addl	%edx,%r12d
1486	xorl	%ecx,%r15d
1487
1488	rorl	$11,%r14d
1489	xorl	%eax,%r13d
1490	addl	%r15d,%r12d
1491
1492	movl	%r8d,%r15d
1493	addl	(%rbp),%r12d
1494	xorl	%r8d,%r14d
1495
1496	xorl	%r9d,%r15d
1497	rorl	$6,%r13d
1498	movl	%r9d,%edx
1499
1500	andl	%r15d,%edi
1501	rorl	$2,%r14d
1502	addl	%r13d,%r12d
1503
1504	xorl	%edi,%edx
1505	addl	%r12d,%r11d
1506	addl	%r12d,%edx
1507
1508	leaq	4(%rbp),%rbp
1509	movl	56(%rsp),%r13d
1510	movl	44(%rsp),%edi
1511
1512	movl	%r13d,%r12d
1513	rorl	$11,%r13d
1514	addl	%r14d,%edx
1515	movl	%edi,%r14d
1516	rorl	$2,%edi
1517
1518	xorl	%r12d,%r13d
1519	shrl	$3,%r12d
1520	rorl	$7,%r13d
1521	xorl	%r14d,%edi
1522	shrl	$10,%r14d
1523
1524	rorl	$17,%edi
1525	xorl	%r13d,%r12d
1526	xorl	%r14d,%edi
1527	addl	24(%rsp),%r12d
1528
1529	addl	52(%rsp),%r12d
1530	movl	%r11d,%r13d
1531	addl	%edi,%r12d
1532	movl	%edx,%r14d
1533	rorl	$14,%r13d
1534	movl	%eax,%edi
1535
1536	xorl	%r11d,%r13d
1537	rorl	$9,%r14d
1538	xorl	%ebx,%edi
1539
1540	movl	%r12d,52(%rsp)
1541	xorl	%edx,%r14d
1542	andl	%r11d,%edi
1543
1544	rorl	$5,%r13d
1545	addl	%ecx,%r12d
1546	xorl	%ebx,%edi
1547
1548	rorl	$11,%r14d
1549	xorl	%r11d,%r13d
1550	addl	%edi,%r12d
1551
1552	movl	%edx,%edi
1553	addl	(%rbp),%r12d
1554	xorl	%edx,%r14d
1555
1556	xorl	%r8d,%edi
1557	rorl	$6,%r13d
1558	movl	%r8d,%ecx
1559
1560	andl	%edi,%r15d
1561	rorl	$2,%r14d
1562	addl	%r13d,%r12d
1563
1564	xorl	%r15d,%ecx
1565	addl	%r12d,%r10d
1566	addl	%r12d,%ecx
1567
1568	leaq	4(%rbp),%rbp
1569	movl	60(%rsp),%r13d
1570	movl	48(%rsp),%r15d
1571
1572	movl	%r13d,%r12d
1573	rorl	$11,%r13d
1574	addl	%r14d,%ecx
1575	movl	%r15d,%r14d
1576	rorl	$2,%r15d
1577
1578	xorl	%r12d,%r13d
1579	shrl	$3,%r12d
1580	rorl	$7,%r13d
1581	xorl	%r14d,%r15d
1582	shrl	$10,%r14d
1583
1584	rorl	$17,%r15d
1585	xorl	%r13d,%r12d
1586	xorl	%r14d,%r15d
1587	addl	28(%rsp),%r12d
1588
1589	addl	56(%rsp),%r12d
1590	movl	%r10d,%r13d
1591	addl	%r15d,%r12d
1592	movl	%ecx,%r14d
1593	rorl	$14,%r13d
1594	movl	%r11d,%r15d
1595
1596	xorl	%r10d,%r13d
1597	rorl	$9,%r14d
1598	xorl	%eax,%r15d
1599
1600	movl	%r12d,56(%rsp)
1601	xorl	%ecx,%r14d
1602	andl	%r10d,%r15d
1603
1604	rorl	$5,%r13d
1605	addl	%ebx,%r12d
1606	xorl	%eax,%r15d
1607
1608	rorl	$11,%r14d
1609	xorl	%r10d,%r13d
1610	addl	%r15d,%r12d
1611
1612	movl	%ecx,%r15d
1613	addl	(%rbp),%r12d
1614	xorl	%ecx,%r14d
1615
1616	xorl	%edx,%r15d
1617	rorl	$6,%r13d
1618	movl	%edx,%ebx
1619
1620	andl	%r15d,%edi
1621	rorl	$2,%r14d
1622	addl	%r13d,%r12d
1623
1624	xorl	%edi,%ebx
1625	addl	%r12d,%r9d
1626	addl	%r12d,%ebx
1627
1628	leaq	4(%rbp),%rbp
1629	movl	0(%rsp),%r13d
1630	movl	52(%rsp),%edi
1631
1632	movl	%r13d,%r12d
1633	rorl	$11,%r13d
1634	addl	%r14d,%ebx
1635	movl	%edi,%r14d
1636	rorl	$2,%edi
1637
1638	xorl	%r12d,%r13d
1639	shrl	$3,%r12d
1640	rorl	$7,%r13d
1641	xorl	%r14d,%edi
1642	shrl	$10,%r14d
1643
1644	rorl	$17,%edi
1645	xorl	%r13d,%r12d
1646	xorl	%r14d,%edi
1647	addl	32(%rsp),%r12d
1648
1649	addl	60(%rsp),%r12d
1650	movl	%r9d,%r13d
1651	addl	%edi,%r12d
1652	movl	%ebx,%r14d
1653	rorl	$14,%r13d
1654	movl	%r10d,%edi
1655
1656	xorl	%r9d,%r13d
1657	rorl	$9,%r14d
1658	xorl	%r11d,%edi
1659
1660	movl	%r12d,60(%rsp)
1661	xorl	%ebx,%r14d
1662	andl	%r9d,%edi
1663
1664	rorl	$5,%r13d
1665	addl	%eax,%r12d
1666	xorl	%r11d,%edi
1667
1668	rorl	$11,%r14d
1669	xorl	%r9d,%r13d
1670	addl	%edi,%r12d
1671
1672	movl	%ebx,%edi
1673	addl	(%rbp),%r12d
1674	xorl	%ebx,%r14d
1675
1676	xorl	%ecx,%edi
1677	rorl	$6,%r13d
1678	movl	%ecx,%eax
1679
1680	andl	%edi,%r15d
1681	rorl	$2,%r14d
1682	addl	%r13d,%r12d
1683
1684	xorl	%r15d,%eax
1685	addl	%r12d,%r8d
1686	addl	%r12d,%eax
1687
1688	leaq	20(%rbp),%rbp
1689	cmpb	$0,3(%rbp)
1690	jnz	.Lrounds_16_xx
1691
1692	movq	64+0(%rsp),%rdi
1693	addl	%r14d,%eax
1694	leaq	64(%rsi),%rsi
1695
1696	addl	0(%rdi),%eax
1697	addl	4(%rdi),%ebx
1698	addl	8(%rdi),%ecx
1699	addl	12(%rdi),%edx
1700	addl	16(%rdi),%r8d
1701	addl	20(%rdi),%r9d
1702	addl	24(%rdi),%r10d
1703	addl	28(%rdi),%r11d
1704
1705	cmpq	64+16(%rsp),%rsi
1706
1707	movl	%eax,0(%rdi)
1708	movl	%ebx,4(%rdi)
1709	movl	%ecx,8(%rdi)
1710	movl	%edx,12(%rdi)
1711	movl	%r8d,16(%rdi)
1712	movl	%r9d,20(%rdi)
1713	movl	%r10d,24(%rdi)
1714	movl	%r11d,28(%rdi)
1715	jb	.Lloop
1716
1717	movq	88(%rsp),%rsi
1718.cfi_def_cfa	%rsi,8
1719	movq	-48(%rsi),%r15
1720.cfi_restore	%r15
1721	movq	-40(%rsi),%r14
1722.cfi_restore	%r14
1723	movq	-32(%rsi),%r13
1724.cfi_restore	%r13
1725	movq	-24(%rsi),%r12
1726.cfi_restore	%r12
1727	movq	-16(%rsi),%rbp
1728.cfi_restore	%rbp
1729	movq	-8(%rsi),%rbx
1730.cfi_restore	%rbx
1731	leaq	(%rsi),%rsp
1732.cfi_def_cfa_register	%rsp
1733.Lepilogue:
1734	ret
1735.cfi_endproc
1736.size	sha256_block_data_order,.-sha256_block_data_order
1737.section	.rodata
1738.align	64
1739.type	K256,@object
1740K256:
1741.long	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1742.long	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1743.long	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1744.long	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1745.long	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1746.long	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1747.long	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1748.long	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1749.long	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1750.long	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1751.long	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1752.long	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1753.long	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1754.long	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1755.long	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1756.long	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1757.long	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1758.long	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1759.long	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1760.long	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1761.long	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1762.long	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1763.long	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1764.long	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1765.long	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1766.long	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1767.long	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1768.long	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1769.long	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1770.long	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1771.long	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1772.long	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1773
1774.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1775.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1776.long	0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1777.long	0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1778.long	0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1779.long	0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1780.byte	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
1781.text
1782.type	sha256_block_data_order_shaext,@function
1783.align	64
1784sha256_block_data_order_shaext:
1785.cfi_startproc
1786.Lshaext_shortcut:
1787	leaq	K256+128(%rip),%rcx
1788	movdqu	(%rdi),%xmm1
1789	movdqu	16(%rdi),%xmm2
1790	movdqa	512-128(%rcx),%xmm7
1791
1792	pshufd	$0x1b,%xmm1,%xmm0
1793	pshufd	$0xb1,%xmm1,%xmm1
1794	pshufd	$0x1b,%xmm2,%xmm2
1795	movdqa	%xmm7,%xmm8
1796.byte	102,15,58,15,202,8
1797	punpcklqdq	%xmm0,%xmm2
1798	jmp	.Loop_shaext
1799
1800.align	16
1801.Loop_shaext:
1802	movdqu	(%rsi),%xmm3
1803	movdqu	16(%rsi),%xmm4
1804	movdqu	32(%rsi),%xmm5
1805.byte	102,15,56,0,223
1806	movdqu	48(%rsi),%xmm6
1807
1808	movdqa	0-128(%rcx),%xmm0
1809	paddd	%xmm3,%xmm0
1810.byte	102,15,56,0,231
1811	movdqa	%xmm2,%xmm10
1812.byte	15,56,203,209
1813	pshufd	$0x0e,%xmm0,%xmm0
1814	nop
1815	movdqa	%xmm1,%xmm9
1816.byte	15,56,203,202
1817
1818	movdqa	32-128(%rcx),%xmm0
1819	paddd	%xmm4,%xmm0
1820.byte	102,15,56,0,239
1821.byte	15,56,203,209
1822	pshufd	$0x0e,%xmm0,%xmm0
1823	leaq	64(%rsi),%rsi
1824.byte	15,56,204,220
1825.byte	15,56,203,202
1826
1827	movdqa	64-128(%rcx),%xmm0
1828	paddd	%xmm5,%xmm0
1829.byte	102,15,56,0,247
1830.byte	15,56,203,209
1831	pshufd	$0x0e,%xmm0,%xmm0
1832	movdqa	%xmm6,%xmm7
1833.byte	102,15,58,15,253,4
1834	nop
1835	paddd	%xmm7,%xmm3
1836.byte	15,56,204,229
1837.byte	15,56,203,202
1838
1839	movdqa	96-128(%rcx),%xmm0
1840	paddd	%xmm6,%xmm0
1841.byte	15,56,205,222
1842.byte	15,56,203,209
1843	pshufd	$0x0e,%xmm0,%xmm0
1844	movdqa	%xmm3,%xmm7
1845.byte	102,15,58,15,254,4
1846	nop
1847	paddd	%xmm7,%xmm4
1848.byte	15,56,204,238
1849.byte	15,56,203,202
1850	movdqa	128-128(%rcx),%xmm0
1851	paddd	%xmm3,%xmm0
1852.byte	15,56,205,227
1853.byte	15,56,203,209
1854	pshufd	$0x0e,%xmm0,%xmm0
1855	movdqa	%xmm4,%xmm7
1856.byte	102,15,58,15,251,4
1857	nop
1858	paddd	%xmm7,%xmm5
1859.byte	15,56,204,243
1860.byte	15,56,203,202
1861	movdqa	160-128(%rcx),%xmm0
1862	paddd	%xmm4,%xmm0
1863.byte	15,56,205,236
1864.byte	15,56,203,209
1865	pshufd	$0x0e,%xmm0,%xmm0
1866	movdqa	%xmm5,%xmm7
1867.byte	102,15,58,15,252,4
1868	nop
1869	paddd	%xmm7,%xmm6
1870.byte	15,56,204,220
1871.byte	15,56,203,202
1872	movdqa	192-128(%rcx),%xmm0
1873	paddd	%xmm5,%xmm0
1874.byte	15,56,205,245
1875.byte	15,56,203,209
1876	pshufd	$0x0e,%xmm0,%xmm0
1877	movdqa	%xmm6,%xmm7
1878.byte	102,15,58,15,253,4
1879	nop
1880	paddd	%xmm7,%xmm3
1881.byte	15,56,204,229
1882.byte	15,56,203,202
1883	movdqa	224-128(%rcx),%xmm0
1884	paddd	%xmm6,%xmm0
1885.byte	15,56,205,222
1886.byte	15,56,203,209
1887	pshufd	$0x0e,%xmm0,%xmm0
1888	movdqa	%xmm3,%xmm7
1889.byte	102,15,58,15,254,4
1890	nop
1891	paddd	%xmm7,%xmm4
1892.byte	15,56,204,238
1893.byte	15,56,203,202
1894	movdqa	256-128(%rcx),%xmm0
1895	paddd	%xmm3,%xmm0
1896.byte	15,56,205,227
1897.byte	15,56,203,209
1898	pshufd	$0x0e,%xmm0,%xmm0
1899	movdqa	%xmm4,%xmm7
1900.byte	102,15,58,15,251,4
1901	nop
1902	paddd	%xmm7,%xmm5
1903.byte	15,56,204,243
1904.byte	15,56,203,202
1905	movdqa	288-128(%rcx),%xmm0
1906	paddd	%xmm4,%xmm0
1907.byte	15,56,205,236
1908.byte	15,56,203,209
1909	pshufd	$0x0e,%xmm0,%xmm0
1910	movdqa	%xmm5,%xmm7
1911.byte	102,15,58,15,252,4
1912	nop
1913	paddd	%xmm7,%xmm6
1914.byte	15,56,204,220
1915.byte	15,56,203,202
1916	movdqa	320-128(%rcx),%xmm0
1917	paddd	%xmm5,%xmm0
1918.byte	15,56,205,245
1919.byte	15,56,203,209
1920	pshufd	$0x0e,%xmm0,%xmm0
1921	movdqa	%xmm6,%xmm7
1922.byte	102,15,58,15,253,4
1923	nop
1924	paddd	%xmm7,%xmm3
1925.byte	15,56,204,229
1926.byte	15,56,203,202
1927	movdqa	352-128(%rcx),%xmm0
1928	paddd	%xmm6,%xmm0
1929.byte	15,56,205,222
1930.byte	15,56,203,209
1931	pshufd	$0x0e,%xmm0,%xmm0
1932	movdqa	%xmm3,%xmm7
1933.byte	102,15,58,15,254,4
1934	nop
1935	paddd	%xmm7,%xmm4
1936.byte	15,56,204,238
1937.byte	15,56,203,202
1938	movdqa	384-128(%rcx),%xmm0
1939	paddd	%xmm3,%xmm0
1940.byte	15,56,205,227
1941.byte	15,56,203,209
1942	pshufd	$0x0e,%xmm0,%xmm0
1943	movdqa	%xmm4,%xmm7
1944.byte	102,15,58,15,251,4
1945	nop
1946	paddd	%xmm7,%xmm5
1947.byte	15,56,204,243
1948.byte	15,56,203,202
1949	movdqa	416-128(%rcx),%xmm0
1950	paddd	%xmm4,%xmm0
1951.byte	15,56,205,236
1952.byte	15,56,203,209
1953	pshufd	$0x0e,%xmm0,%xmm0
1954	movdqa	%xmm5,%xmm7
1955.byte	102,15,58,15,252,4
1956.byte	15,56,203,202
1957	paddd	%xmm7,%xmm6
1958
1959	movdqa	448-128(%rcx),%xmm0
1960	paddd	%xmm5,%xmm0
1961.byte	15,56,203,209
1962	pshufd	$0x0e,%xmm0,%xmm0
1963.byte	15,56,205,245
1964	movdqa	%xmm8,%xmm7
1965.byte	15,56,203,202
1966
1967	movdqa	480-128(%rcx),%xmm0
1968	paddd	%xmm6,%xmm0
1969	nop
1970.byte	15,56,203,209
1971	pshufd	$0x0e,%xmm0,%xmm0
1972	decq	%rdx
1973	nop
1974.byte	15,56,203,202
1975
1976	paddd	%xmm10,%xmm2
1977	paddd	%xmm9,%xmm1
1978	jnz	.Loop_shaext
1979
1980	pshufd	$0xb1,%xmm2,%xmm2
1981	pshufd	$0x1b,%xmm1,%xmm7
1982	pshufd	$0xb1,%xmm1,%xmm1
1983	punpckhqdq	%xmm2,%xmm1
1984.byte	102,15,58,15,215,8
1985
1986	movdqu	%xmm1,(%rdi)
1987	movdqu	%xmm2,16(%rdi)
1988	ret
1989.cfi_endproc
1990.size	sha256_block_data_order_shaext,.-sha256_block_data_order_shaext
1991.type	sha256_block_data_order_ssse3,@function
1992.align	64
1993sha256_block_data_order_ssse3:
1994.cfi_startproc
1995.Lssse3_shortcut:
1996	movq	%rsp,%rax
1997.cfi_def_cfa_register	%rax
1998	pushq	%rbx
1999.cfi_offset	%rbx,-16
2000	pushq	%rbp
2001.cfi_offset	%rbp,-24
2002	pushq	%r12
2003.cfi_offset	%r12,-32
2004	pushq	%r13
2005.cfi_offset	%r13,-40
2006	pushq	%r14
2007.cfi_offset	%r14,-48
2008	pushq	%r15
2009.cfi_offset	%r15,-56
2010	shlq	$4,%rdx
2011	subq	$96,%rsp
2012	leaq	(%rsi,%rdx,4),%rdx
2013	andq	$-64,%rsp
2014	movq	%rdi,64+0(%rsp)
2015	movq	%rsi,64+8(%rsp)
2016	movq	%rdx,64+16(%rsp)
2017	movq	%rax,88(%rsp)
2018.cfi_escape	0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
2019.Lprologue_ssse3:
2020
2021	movl	0(%rdi),%eax
2022	movl	4(%rdi),%ebx
2023	movl	8(%rdi),%ecx
2024	movl	12(%rdi),%edx
2025	movl	16(%rdi),%r8d
2026	movl	20(%rdi),%r9d
2027	movl	24(%rdi),%r10d
2028	movl	28(%rdi),%r11d
2029
2030
2031	jmp	.Lloop_ssse3
2032.align	16
2033.Lloop_ssse3:
2034	movdqa	K256+512(%rip),%xmm7
2035	movdqu	0(%rsi),%xmm0
2036	movdqu	16(%rsi),%xmm1
2037	movdqu	32(%rsi),%xmm2
2038.byte	102,15,56,0,199
2039	movdqu	48(%rsi),%xmm3
2040	leaq	K256(%rip),%rbp
2041.byte	102,15,56,0,207
2042	movdqa	0(%rbp),%xmm4
2043	movdqa	32(%rbp),%xmm5
2044.byte	102,15,56,0,215
2045	paddd	%xmm0,%xmm4
2046	movdqa	64(%rbp),%xmm6
2047.byte	102,15,56,0,223
2048	movdqa	96(%rbp),%xmm7
2049	paddd	%xmm1,%xmm5
2050	paddd	%xmm2,%xmm6
2051	paddd	%xmm3,%xmm7
2052	movdqa	%xmm4,0(%rsp)
2053	movl	%eax,%r14d
2054	movdqa	%xmm5,16(%rsp)
2055	movl	%ebx,%edi
2056	movdqa	%xmm6,32(%rsp)
2057	xorl	%ecx,%edi
2058	movdqa	%xmm7,48(%rsp)
2059	movl	%r8d,%r13d
2060	jmp	.Lssse3_00_47
2061
2062.align	16
2063.Lssse3_00_47:
2064	subq	$-128,%rbp
2065	rorl	$14,%r13d
2066	movdqa	%xmm1,%xmm4
2067	movl	%r14d,%eax
2068	movl	%r9d,%r12d
2069	movdqa	%xmm3,%xmm7
2070	rorl	$9,%r14d
2071	xorl	%r8d,%r13d
2072	xorl	%r10d,%r12d
2073	rorl	$5,%r13d
2074	xorl	%eax,%r14d
2075.byte	102,15,58,15,224,4
2076	andl	%r8d,%r12d
2077	xorl	%r8d,%r13d
2078.byte	102,15,58,15,250,4
2079	addl	0(%rsp),%r11d
2080	movl	%eax,%r15d
2081	xorl	%r10d,%r12d
2082	rorl	$11,%r14d
2083	movdqa	%xmm4,%xmm5
2084	xorl	%ebx,%r15d
2085	addl	%r12d,%r11d
2086	movdqa	%xmm4,%xmm6
2087	rorl	$6,%r13d
2088	andl	%r15d,%edi
2089	psrld	$3,%xmm4
2090	xorl	%eax,%r14d
2091	addl	%r13d,%r11d
2092	xorl	%ebx,%edi
2093	paddd	%xmm7,%xmm0
2094	rorl	$2,%r14d
2095	addl	%r11d,%edx
2096	psrld	$7,%xmm6
2097	addl	%edi,%r11d
2098	movl	%edx,%r13d
2099	pshufd	$250,%xmm3,%xmm7
2100	addl	%r11d,%r14d
2101	rorl	$14,%r13d
2102	pslld	$14,%xmm5
2103	movl	%r14d,%r11d
2104	movl	%r8d,%r12d
2105	pxor	%xmm6,%xmm4
2106	rorl	$9,%r14d
2107	xorl	%edx,%r13d
2108	xorl	%r9d,%r12d
2109	rorl	$5,%r13d
2110	psrld	$11,%xmm6
2111	xorl	%r11d,%r14d
2112	pxor	%xmm5,%xmm4
2113	andl	%edx,%r12d
2114	xorl	%edx,%r13d
2115	pslld	$11,%xmm5
2116	addl	4(%rsp),%r10d
2117	movl	%r11d,%edi
2118	pxor	%xmm6,%xmm4
2119	xorl	%r9d,%r12d
2120	rorl	$11,%r14d
2121	movdqa	%xmm7,%xmm6
2122	xorl	%eax,%edi
2123	addl	%r12d,%r10d
2124	pxor	%xmm5,%xmm4
2125	rorl	$6,%r13d
2126	andl	%edi,%r15d
2127	xorl	%r11d,%r14d
2128	psrld	$10,%xmm7
2129	addl	%r13d,%r10d
2130	xorl	%eax,%r15d
2131	paddd	%xmm4,%xmm0
2132	rorl	$2,%r14d
2133	addl	%r10d,%ecx
2134	psrlq	$17,%xmm6
2135	addl	%r15d,%r10d
2136	movl	%ecx,%r13d
2137	addl	%r10d,%r14d
2138	pxor	%xmm6,%xmm7
2139	rorl	$14,%r13d
2140	movl	%r14d,%r10d
2141	movl	%edx,%r12d
2142	rorl	$9,%r14d
2143	psrlq	$2,%xmm6
2144	xorl	%ecx,%r13d
2145	xorl	%r8d,%r12d
2146	pxor	%xmm6,%xmm7
2147	rorl	$5,%r13d
2148	xorl	%r10d,%r14d
2149	andl	%ecx,%r12d
2150	pshufd	$128,%xmm7,%xmm7
2151	xorl	%ecx,%r13d
2152	addl	8(%rsp),%r9d
2153	movl	%r10d,%r15d
2154	psrldq	$8,%xmm7
2155	xorl	%r8d,%r12d
2156	rorl	$11,%r14d
2157	xorl	%r11d,%r15d
2158	addl	%r12d,%r9d
2159	rorl	$6,%r13d
2160	paddd	%xmm7,%xmm0
2161	andl	%r15d,%edi
2162	xorl	%r10d,%r14d
2163	addl	%r13d,%r9d
2164	pshufd	$80,%xmm0,%xmm7
2165	xorl	%r11d,%edi
2166	rorl	$2,%r14d
2167	addl	%r9d,%ebx
2168	movdqa	%xmm7,%xmm6
2169	addl	%edi,%r9d
2170	movl	%ebx,%r13d
2171	psrld	$10,%xmm7
2172	addl	%r9d,%r14d
2173	rorl	$14,%r13d
2174	psrlq	$17,%xmm6
2175	movl	%r14d,%r9d
2176	movl	%ecx,%r12d
2177	pxor	%xmm6,%xmm7
2178	rorl	$9,%r14d
2179	xorl	%ebx,%r13d
2180	xorl	%edx,%r12d
2181	rorl	$5,%r13d
2182	xorl	%r9d,%r14d
2183	psrlq	$2,%xmm6
2184	andl	%ebx,%r12d
2185	xorl	%ebx,%r13d
2186	addl	12(%rsp),%r8d
2187	pxor	%xmm6,%xmm7
2188	movl	%r9d,%edi
2189	xorl	%edx,%r12d
2190	rorl	$11,%r14d
2191	pshufd	$8,%xmm7,%xmm7
2192	xorl	%r10d,%edi
2193	addl	%r12d,%r8d
2194	movdqa	0(%rbp),%xmm6
2195	rorl	$6,%r13d
2196	andl	%edi,%r15d
2197	pslldq	$8,%xmm7
2198	xorl	%r9d,%r14d
2199	addl	%r13d,%r8d
2200	xorl	%r10d,%r15d
2201	paddd	%xmm7,%xmm0
2202	rorl	$2,%r14d
2203	addl	%r8d,%eax
2204	addl	%r15d,%r8d
2205	paddd	%xmm0,%xmm6
2206	movl	%eax,%r13d
2207	addl	%r8d,%r14d
2208	movdqa	%xmm6,0(%rsp)
2209	rorl	$14,%r13d
2210	movdqa	%xmm2,%xmm4
2211	movl	%r14d,%r8d
2212	movl	%ebx,%r12d
2213	movdqa	%xmm0,%xmm7
2214	rorl	$9,%r14d
2215	xorl	%eax,%r13d
2216	xorl	%ecx,%r12d
2217	rorl	$5,%r13d
2218	xorl	%r8d,%r14d
2219.byte	102,15,58,15,225,4
2220	andl	%eax,%r12d
2221	xorl	%eax,%r13d
2222.byte	102,15,58,15,251,4
2223	addl	16(%rsp),%edx
2224	movl	%r8d,%r15d
2225	xorl	%ecx,%r12d
2226	rorl	$11,%r14d
2227	movdqa	%xmm4,%xmm5
2228	xorl	%r9d,%r15d
2229	addl	%r12d,%edx
2230	movdqa	%xmm4,%xmm6
2231	rorl	$6,%r13d
2232	andl	%r15d,%edi
2233	psrld	$3,%xmm4
2234	xorl	%r8d,%r14d
2235	addl	%r13d,%edx
2236	xorl	%r9d,%edi
2237	paddd	%xmm7,%xmm1
2238	rorl	$2,%r14d
2239	addl	%edx,%r11d
2240	psrld	$7,%xmm6
2241	addl	%edi,%edx
2242	movl	%r11d,%r13d
2243	pshufd	$250,%xmm0,%xmm7
2244	addl	%edx,%r14d
2245	rorl	$14,%r13d
2246	pslld	$14,%xmm5
2247	movl	%r14d,%edx
2248	movl	%eax,%r12d
2249	pxor	%xmm6,%xmm4
2250	rorl	$9,%r14d
2251	xorl	%r11d,%r13d
2252	xorl	%ebx,%r12d
2253	rorl	$5,%r13d
2254	psrld	$11,%xmm6
2255	xorl	%edx,%r14d
2256	pxor	%xmm5,%xmm4
2257	andl	%r11d,%r12d
2258	xorl	%r11d,%r13d
2259	pslld	$11,%xmm5
2260	addl	20(%rsp),%ecx
2261	movl	%edx,%edi
2262	pxor	%xmm6,%xmm4
2263	xorl	%ebx,%r12d
2264	rorl	$11,%r14d
2265	movdqa	%xmm7,%xmm6
2266	xorl	%r8d,%edi
2267	addl	%r12d,%ecx
2268	pxor	%xmm5,%xmm4
2269	rorl	$6,%r13d
2270	andl	%edi,%r15d
2271	xorl	%edx,%r14d
2272	psrld	$10,%xmm7
2273	addl	%r13d,%ecx
2274	xorl	%r8d,%r15d
2275	paddd	%xmm4,%xmm1
2276	rorl	$2,%r14d
2277	addl	%ecx,%r10d
2278	psrlq	$17,%xmm6
2279	addl	%r15d,%ecx
2280	movl	%r10d,%r13d
2281	addl	%ecx,%r14d
2282	pxor	%xmm6,%xmm7
2283	rorl	$14,%r13d
2284	movl	%r14d,%ecx
2285	movl	%r11d,%r12d
2286	rorl	$9,%r14d
2287	psrlq	$2,%xmm6
2288	xorl	%r10d,%r13d
2289	xorl	%eax,%r12d
2290	pxor	%xmm6,%xmm7
2291	rorl	$5,%r13d
2292	xorl	%ecx,%r14d
2293	andl	%r10d,%r12d
2294	pshufd	$128,%xmm7,%xmm7
2295	xorl	%r10d,%r13d
2296	addl	24(%rsp),%ebx
2297	movl	%ecx,%r15d
2298	psrldq	$8,%xmm7
2299	xorl	%eax,%r12d
2300	rorl	$11,%r14d
2301	xorl	%edx,%r15d
2302	addl	%r12d,%ebx
2303	rorl	$6,%r13d
2304	paddd	%xmm7,%xmm1
2305	andl	%r15d,%edi
2306	xorl	%ecx,%r14d
2307	addl	%r13d,%ebx
2308	pshufd	$80,%xmm1,%xmm7
2309	xorl	%edx,%edi
2310	rorl	$2,%r14d
2311	addl	%ebx,%r9d
2312	movdqa	%xmm7,%xmm6
2313	addl	%edi,%ebx
2314	movl	%r9d,%r13d
2315	psrld	$10,%xmm7
2316	addl	%ebx,%r14d
2317	rorl	$14,%r13d
2318	psrlq	$17,%xmm6
2319	movl	%r14d,%ebx
2320	movl	%r10d,%r12d
2321	pxor	%xmm6,%xmm7
2322	rorl	$9,%r14d
2323	xorl	%r9d,%r13d
2324	xorl	%r11d,%r12d
2325	rorl	$5,%r13d
2326	xorl	%ebx,%r14d
2327	psrlq	$2,%xmm6
2328	andl	%r9d,%r12d
2329	xorl	%r9d,%r13d
2330	addl	28(%rsp),%eax
2331	pxor	%xmm6,%xmm7
2332	movl	%ebx,%edi
2333	xorl	%r11d,%r12d
2334	rorl	$11,%r14d
2335	pshufd	$8,%xmm7,%xmm7
2336	xorl	%ecx,%edi
2337	addl	%r12d,%eax
2338	movdqa	32(%rbp),%xmm6
2339	rorl	$6,%r13d
2340	andl	%edi,%r15d
2341	pslldq	$8,%xmm7
2342	xorl	%ebx,%r14d
2343	addl	%r13d,%eax
2344	xorl	%ecx,%r15d
2345	paddd	%xmm7,%xmm1
2346	rorl	$2,%r14d
2347	addl	%eax,%r8d
2348	addl	%r15d,%eax
2349	paddd	%xmm1,%xmm6
2350	movl	%r8d,%r13d
2351	addl	%eax,%r14d
2352	movdqa	%xmm6,16(%rsp)
2353	rorl	$14,%r13d
2354	movdqa	%xmm3,%xmm4
2355	movl	%r14d,%eax
2356	movl	%r9d,%r12d
2357	movdqa	%xmm1,%xmm7
2358	rorl	$9,%r14d
2359	xorl	%r8d,%r13d
2360	xorl	%r10d,%r12d
2361	rorl	$5,%r13d
2362	xorl	%eax,%r14d
2363.byte	102,15,58,15,226,4
2364	andl	%r8d,%r12d
2365	xorl	%r8d,%r13d
2366.byte	102,15,58,15,248,4
2367	addl	32(%rsp),%r11d
2368	movl	%eax,%r15d
2369	xorl	%r10d,%r12d
2370	rorl	$11,%r14d
2371	movdqa	%xmm4,%xmm5
2372	xorl	%ebx,%r15d
2373	addl	%r12d,%r11d
2374	movdqa	%xmm4,%xmm6
2375	rorl	$6,%r13d
2376	andl	%r15d,%edi
2377	psrld	$3,%xmm4
2378	xorl	%eax,%r14d
2379	addl	%r13d,%r11d
2380	xorl	%ebx,%edi
2381	paddd	%xmm7,%xmm2
2382	rorl	$2,%r14d
2383	addl	%r11d,%edx
2384	psrld	$7,%xmm6
2385	addl	%edi,%r11d
2386	movl	%edx,%r13d
2387	pshufd	$250,%xmm1,%xmm7
2388	addl	%r11d,%r14d
2389	rorl	$14,%r13d
2390	pslld	$14,%xmm5
2391	movl	%r14d,%r11d
2392	movl	%r8d,%r12d
2393	pxor	%xmm6,%xmm4
2394	rorl	$9,%r14d
2395	xorl	%edx,%r13d
2396	xorl	%r9d,%r12d
2397	rorl	$5,%r13d
2398	psrld	$11,%xmm6
2399	xorl	%r11d,%r14d
2400	pxor	%xmm5,%xmm4
2401	andl	%edx,%r12d
2402	xorl	%edx,%r13d
2403	pslld	$11,%xmm5
2404	addl	36(%rsp),%r10d
2405	movl	%r11d,%edi
2406	pxor	%xmm6,%xmm4
2407	xorl	%r9d,%r12d
2408	rorl	$11,%r14d
2409	movdqa	%xmm7,%xmm6
2410	xorl	%eax,%edi
2411	addl	%r12d,%r10d
2412	pxor	%xmm5,%xmm4
2413	rorl	$6,%r13d
2414	andl	%edi,%r15d
2415	xorl	%r11d,%r14d
2416	psrld	$10,%xmm7
2417	addl	%r13d,%r10d
2418	xorl	%eax,%r15d
2419	paddd	%xmm4,%xmm2
2420	rorl	$2,%r14d
2421	addl	%r10d,%ecx
2422	psrlq	$17,%xmm6
2423	addl	%r15d,%r10d
2424	movl	%ecx,%r13d
2425	addl	%r10d,%r14d
2426	pxor	%xmm6,%xmm7
2427	rorl	$14,%r13d
2428	movl	%r14d,%r10d
2429	movl	%edx,%r12d
2430	rorl	$9,%r14d
2431	psrlq	$2,%xmm6
2432	xorl	%ecx,%r13d
2433	xorl	%r8d,%r12d
2434	pxor	%xmm6,%xmm7
2435	rorl	$5,%r13d
2436	xorl	%r10d,%r14d
2437	andl	%ecx,%r12d
2438	pshufd	$128,%xmm7,%xmm7
2439	xorl	%ecx,%r13d
2440	addl	40(%rsp),%r9d
2441	movl	%r10d,%r15d
2442	psrldq	$8,%xmm7
2443	xorl	%r8d,%r12d
2444	rorl	$11,%r14d
2445	xorl	%r11d,%r15d
2446	addl	%r12d,%r9d
2447	rorl	$6,%r13d
2448	paddd	%xmm7,%xmm2
2449	andl	%r15d,%edi
2450	xorl	%r10d,%r14d
2451	addl	%r13d,%r9d
2452	pshufd	$80,%xmm2,%xmm7
2453	xorl	%r11d,%edi
2454	rorl	$2,%r14d
2455	addl	%r9d,%ebx
2456	movdqa	%xmm7,%xmm6
2457	addl	%edi,%r9d
2458	movl	%ebx,%r13d
2459	psrld	$10,%xmm7
2460	addl	%r9d,%r14d
2461	rorl	$14,%r13d
2462	psrlq	$17,%xmm6
2463	movl	%r14d,%r9d
2464	movl	%ecx,%r12d
2465	pxor	%xmm6,%xmm7
2466	rorl	$9,%r14d
2467	xorl	%ebx,%r13d
2468	xorl	%edx,%r12d
2469	rorl	$5,%r13d
2470	xorl	%r9d,%r14d
2471	psrlq	$2,%xmm6
2472	andl	%ebx,%r12d
2473	xorl	%ebx,%r13d
2474	addl	44(%rsp),%r8d
2475	pxor	%xmm6,%xmm7
2476	movl	%r9d,%edi
2477	xorl	%edx,%r12d
2478	rorl	$11,%r14d
2479	pshufd	$8,%xmm7,%xmm7
2480	xorl	%r10d,%edi
2481	addl	%r12d,%r8d
2482	movdqa	64(%rbp),%xmm6
2483	rorl	$6,%r13d
2484	andl	%edi,%r15d
2485	pslldq	$8,%xmm7
2486	xorl	%r9d,%r14d
2487	addl	%r13d,%r8d
2488	xorl	%r10d,%r15d
2489	paddd	%xmm7,%xmm2
2490	rorl	$2,%r14d
2491	addl	%r8d,%eax
2492	addl	%r15d,%r8d
2493	paddd	%xmm2,%xmm6
2494	movl	%eax,%r13d
2495	addl	%r8d,%r14d
2496	movdqa	%xmm6,32(%rsp)
2497	rorl	$14,%r13d
2498	movdqa	%xmm0,%xmm4
2499	movl	%r14d,%r8d
2500	movl	%ebx,%r12d
2501	movdqa	%xmm2,%xmm7
2502	rorl	$9,%r14d
2503	xorl	%eax,%r13d
2504	xorl	%ecx,%r12d
2505	rorl	$5,%r13d
2506	xorl	%r8d,%r14d
2507.byte	102,15,58,15,227,4
2508	andl	%eax,%r12d
2509	xorl	%eax,%r13d
2510.byte	102,15,58,15,249,4
2511	addl	48(%rsp),%edx
2512	movl	%r8d,%r15d
2513	xorl	%ecx,%r12d
2514	rorl	$11,%r14d
2515	movdqa	%xmm4,%xmm5
2516	xorl	%r9d,%r15d
2517	addl	%r12d,%edx
2518	movdqa	%xmm4,%xmm6
2519	rorl	$6,%r13d
2520	andl	%r15d,%edi
2521	psrld	$3,%xmm4
2522	xorl	%r8d,%r14d
2523	addl	%r13d,%edx
2524	xorl	%r9d,%edi
2525	paddd	%xmm7,%xmm3
2526	rorl	$2,%r14d
2527	addl	%edx,%r11d
2528	psrld	$7,%xmm6
2529	addl	%edi,%edx
2530	movl	%r11d,%r13d
2531	pshufd	$250,%xmm2,%xmm7
2532	addl	%edx,%r14d
2533	rorl	$14,%r13d
2534	pslld	$14,%xmm5
2535	movl	%r14d,%edx
2536	movl	%eax,%r12d
2537	pxor	%xmm6,%xmm4
2538	rorl	$9,%r14d
2539	xorl	%r11d,%r13d
2540	xorl	%ebx,%r12d
2541	rorl	$5,%r13d
2542	psrld	$11,%xmm6
2543	xorl	%edx,%r14d
2544	pxor	%xmm5,%xmm4
2545	andl	%r11d,%r12d
2546	xorl	%r11d,%r13d
2547	pslld	$11,%xmm5
2548	addl	52(%rsp),%ecx
2549	movl	%edx,%edi
2550	pxor	%xmm6,%xmm4
2551	xorl	%ebx,%r12d
2552	rorl	$11,%r14d
2553	movdqa	%xmm7,%xmm6
2554	xorl	%r8d,%edi
2555	addl	%r12d,%ecx
2556	pxor	%xmm5,%xmm4
2557	rorl	$6,%r13d
2558	andl	%edi,%r15d
2559	xorl	%edx,%r14d
2560	psrld	$10,%xmm7
2561	addl	%r13d,%ecx
2562	xorl	%r8d,%r15d
2563	paddd	%xmm4,%xmm3
2564	rorl	$2,%r14d
2565	addl	%ecx,%r10d
2566	psrlq	$17,%xmm6
2567	addl	%r15d,%ecx
2568	movl	%r10d,%r13d
2569	addl	%ecx,%r14d
2570	pxor	%xmm6,%xmm7
2571	rorl	$14,%r13d
2572	movl	%r14d,%ecx
2573	movl	%r11d,%r12d
2574	rorl	$9,%r14d
2575	psrlq	$2,%xmm6
2576	xorl	%r10d,%r13d
2577	xorl	%eax,%r12d
2578	pxor	%xmm6,%xmm7
2579	rorl	$5,%r13d
2580	xorl	%ecx,%r14d
2581	andl	%r10d,%r12d
2582	pshufd	$128,%xmm7,%xmm7
2583	xorl	%r10d,%r13d
2584	addl	56(%rsp),%ebx
2585	movl	%ecx,%r15d
2586	psrldq	$8,%xmm7
2587	xorl	%eax,%r12d
2588	rorl	$11,%r14d
2589	xorl	%edx,%r15d
2590	addl	%r12d,%ebx
2591	rorl	$6,%r13d
2592	paddd	%xmm7,%xmm3
2593	andl	%r15d,%edi
2594	xorl	%ecx,%r14d
2595	addl	%r13d,%ebx
2596	pshufd	$80,%xmm3,%xmm7
2597	xorl	%edx,%edi
2598	rorl	$2,%r14d
2599	addl	%ebx,%r9d
2600	movdqa	%xmm7,%xmm6
2601	addl	%edi,%ebx
2602	movl	%r9d,%r13d
2603	psrld	$10,%xmm7
2604	addl	%ebx,%r14d
2605	rorl	$14,%r13d
2606	psrlq	$17,%xmm6
2607	movl	%r14d,%ebx
2608	movl	%r10d,%r12d
2609	pxor	%xmm6,%xmm7
2610	rorl	$9,%r14d
2611	xorl	%r9d,%r13d
2612	xorl	%r11d,%r12d
2613	rorl	$5,%r13d
2614	xorl	%ebx,%r14d
2615	psrlq	$2,%xmm6
2616	andl	%r9d,%r12d
2617	xorl	%r9d,%r13d
2618	addl	60(%rsp),%eax
2619	pxor	%xmm6,%xmm7
2620	movl	%ebx,%edi
2621	xorl	%r11d,%r12d
2622	rorl	$11,%r14d
2623	pshufd	$8,%xmm7,%xmm7
2624	xorl	%ecx,%edi
2625	addl	%r12d,%eax
2626	movdqa	96(%rbp),%xmm6
2627	rorl	$6,%r13d
2628	andl	%edi,%r15d
2629	pslldq	$8,%xmm7
2630	xorl	%ebx,%r14d
2631	addl	%r13d,%eax
2632	xorl	%ecx,%r15d
2633	paddd	%xmm7,%xmm3
2634	rorl	$2,%r14d
2635	addl	%eax,%r8d
2636	addl	%r15d,%eax
2637	paddd	%xmm3,%xmm6
2638	movl	%r8d,%r13d
2639	addl	%eax,%r14d
2640	movdqa	%xmm6,48(%rsp)
2641	cmpb	$0,131(%rbp)
2642	jne	.Lssse3_00_47
2643	rorl	$14,%r13d
2644	movl	%r14d,%eax
2645	movl	%r9d,%r12d
2646	rorl	$9,%r14d
2647	xorl	%r8d,%r13d
2648	xorl	%r10d,%r12d
2649	rorl	$5,%r13d
2650	xorl	%eax,%r14d
2651	andl	%r8d,%r12d
2652	xorl	%r8d,%r13d
2653	addl	0(%rsp),%r11d
2654	movl	%eax,%r15d
2655	xorl	%r10d,%r12d
2656	rorl	$11,%r14d
2657	xorl	%ebx,%r15d
2658	addl	%r12d,%r11d
2659	rorl	$6,%r13d
2660	andl	%r15d,%edi
2661	xorl	%eax,%r14d
2662	addl	%r13d,%r11d
2663	xorl	%ebx,%edi
2664	rorl	$2,%r14d
2665	addl	%r11d,%edx
2666	addl	%edi,%r11d
2667	movl	%edx,%r13d
2668	addl	%r11d,%r14d
2669	rorl	$14,%r13d
2670	movl	%r14d,%r11d
2671	movl	%r8d,%r12d
2672	rorl	$9,%r14d
2673	xorl	%edx,%r13d
2674	xorl	%r9d,%r12d
2675	rorl	$5,%r13d
2676	xorl	%r11d,%r14d
2677	andl	%edx,%r12d
2678	xorl	%edx,%r13d
2679	addl	4(%rsp),%r10d
2680	movl	%r11d,%edi
2681	xorl	%r9d,%r12d
2682	rorl	$11,%r14d
2683	xorl	%eax,%edi
2684	addl	%r12d,%r10d
2685	rorl	$6,%r13d
2686	andl	%edi,%r15d
2687	xorl	%r11d,%r14d
2688	addl	%r13d,%r10d
2689	xorl	%eax,%r15d
2690	rorl	$2,%r14d
2691	addl	%r10d,%ecx
2692	addl	%r15d,%r10d
2693	movl	%ecx,%r13d
2694	addl	%r10d,%r14d
2695	rorl	$14,%r13d
2696	movl	%r14d,%r10d
2697	movl	%edx,%r12d
2698	rorl	$9,%r14d
2699	xorl	%ecx,%r13d
2700	xorl	%r8d,%r12d
2701	rorl	$5,%r13d
2702	xorl	%r10d,%r14d
2703	andl	%ecx,%r12d
2704	xorl	%ecx,%r13d
2705	addl	8(%rsp),%r9d
2706	movl	%r10d,%r15d
2707	xorl	%r8d,%r12d
2708	rorl	$11,%r14d
2709	xorl	%r11d,%r15d
2710	addl	%r12d,%r9d
2711	rorl	$6,%r13d
2712	andl	%r15d,%edi
2713	xorl	%r10d,%r14d
2714	addl	%r13d,%r9d
2715	xorl	%r11d,%edi
2716	rorl	$2,%r14d
2717	addl	%r9d,%ebx
2718	addl	%edi,%r9d
2719	movl	%ebx,%r13d
2720	addl	%r9d,%r14d
2721	rorl	$14,%r13d
2722	movl	%r14d,%r9d
2723	movl	%ecx,%r12d
2724	rorl	$9,%r14d
2725	xorl	%ebx,%r13d
2726	xorl	%edx,%r12d
2727	rorl	$5,%r13d
2728	xorl	%r9d,%r14d
2729	andl	%ebx,%r12d
2730	xorl	%ebx,%r13d
2731	addl	12(%rsp),%r8d
2732	movl	%r9d,%edi
2733	xorl	%edx,%r12d
2734	rorl	$11,%r14d
2735	xorl	%r10d,%edi
2736	addl	%r12d,%r8d
2737	rorl	$6,%r13d
2738	andl	%edi,%r15d
2739	xorl	%r9d,%r14d
2740	addl	%r13d,%r8d
2741	xorl	%r10d,%r15d
2742	rorl	$2,%r14d
2743	addl	%r8d,%eax
2744	addl	%r15d,%r8d
2745	movl	%eax,%r13d
2746	addl	%r8d,%r14d
2747	rorl	$14,%r13d
2748	movl	%r14d,%r8d
2749	movl	%ebx,%r12d
2750	rorl	$9,%r14d
2751	xorl	%eax,%r13d
2752	xorl	%ecx,%r12d
2753	rorl	$5,%r13d
2754	xorl	%r8d,%r14d
2755	andl	%eax,%r12d
2756	xorl	%eax,%r13d
2757	addl	16(%rsp),%edx
2758	movl	%r8d,%r15d
2759	xorl	%ecx,%r12d
2760	rorl	$11,%r14d
2761	xorl	%r9d,%r15d
2762	addl	%r12d,%edx
2763	rorl	$6,%r13d
2764	andl	%r15d,%edi
2765	xorl	%r8d,%r14d
2766	addl	%r13d,%edx
2767	xorl	%r9d,%edi
2768	rorl	$2,%r14d
2769	addl	%edx,%r11d
2770	addl	%edi,%edx
2771	movl	%r11d,%r13d
2772	addl	%edx,%r14d
2773	rorl	$14,%r13d
2774	movl	%r14d,%edx
2775	movl	%eax,%r12d
2776	rorl	$9,%r14d
2777	xorl	%r11d,%r13d
2778	xorl	%ebx,%r12d
2779	rorl	$5,%r13d
2780	xorl	%edx,%r14d
2781	andl	%r11d,%r12d
2782	xorl	%r11d,%r13d
2783	addl	20(%rsp),%ecx
2784	movl	%edx,%edi
2785	xorl	%ebx,%r12d
2786	rorl	$11,%r14d
2787	xorl	%r8d,%edi
2788	addl	%r12d,%ecx
2789	rorl	$6,%r13d
2790	andl	%edi,%r15d
2791	xorl	%edx,%r14d
2792	addl	%r13d,%ecx
2793	xorl	%r8d,%r15d
2794	rorl	$2,%r14d
2795	addl	%ecx,%r10d
2796	addl	%r15d,%ecx
2797	movl	%r10d,%r13d
2798	addl	%ecx,%r14d
2799	rorl	$14,%r13d
2800	movl	%r14d,%ecx
2801	movl	%r11d,%r12d
2802	rorl	$9,%r14d
2803	xorl	%r10d,%r13d
2804	xorl	%eax,%r12d
2805	rorl	$5,%r13d
2806	xorl	%ecx,%r14d
2807	andl	%r10d,%r12d
2808	xorl	%r10d,%r13d
2809	addl	24(%rsp),%ebx
2810	movl	%ecx,%r15d
2811	xorl	%eax,%r12d
2812	rorl	$11,%r14d
2813	xorl	%edx,%r15d
2814	addl	%r12d,%ebx
2815	rorl	$6,%r13d
2816	andl	%r15d,%edi
2817	xorl	%ecx,%r14d
2818	addl	%r13d,%ebx
2819	xorl	%edx,%edi
2820	rorl	$2,%r14d
2821	addl	%ebx,%r9d
2822	addl	%edi,%ebx
2823	movl	%r9d,%r13d
2824	addl	%ebx,%r14d
2825	rorl	$14,%r13d
2826	movl	%r14d,%ebx
2827	movl	%r10d,%r12d
2828	rorl	$9,%r14d
2829	xorl	%r9d,%r13d
2830	xorl	%r11d,%r12d
2831	rorl	$5,%r13d
2832	xorl	%ebx,%r14d
2833	andl	%r9d,%r12d
2834	xorl	%r9d,%r13d
2835	addl	28(%rsp),%eax
2836	movl	%ebx,%edi
2837	xorl	%r11d,%r12d
2838	rorl	$11,%r14d
2839	xorl	%ecx,%edi
2840	addl	%r12d,%eax
2841	rorl	$6,%r13d
2842	andl	%edi,%r15d
2843	xorl	%ebx,%r14d
2844	addl	%r13d,%eax
2845	xorl	%ecx,%r15d
2846	rorl	$2,%r14d
2847	addl	%eax,%r8d
2848	addl	%r15d,%eax
2849	movl	%r8d,%r13d
2850	addl	%eax,%r14d
2851	rorl	$14,%r13d
2852	movl	%r14d,%eax
2853	movl	%r9d,%r12d
2854	rorl	$9,%r14d
2855	xorl	%r8d,%r13d
2856	xorl	%r10d,%r12d
2857	rorl	$5,%r13d
2858	xorl	%eax,%r14d
2859	andl	%r8d,%r12d
2860	xorl	%r8d,%r13d
2861	addl	32(%rsp),%r11d
2862	movl	%eax,%r15d
2863	xorl	%r10d,%r12d
2864	rorl	$11,%r14d
2865	xorl	%ebx,%r15d
2866	addl	%r12d,%r11d
2867	rorl	$6,%r13d
2868	andl	%r15d,%edi
2869	xorl	%eax,%r14d
2870	addl	%r13d,%r11d
2871	xorl	%ebx,%edi
2872	rorl	$2,%r14d
2873	addl	%r11d,%edx
2874	addl	%edi,%r11d
2875	movl	%edx,%r13d
2876	addl	%r11d,%r14d
2877	rorl	$14,%r13d
2878	movl	%r14d,%r11d
2879	movl	%r8d,%r12d
2880	rorl	$9,%r14d
2881	xorl	%edx,%r13d
2882	xorl	%r9d,%r12d
2883	rorl	$5,%r13d
2884	xorl	%r11d,%r14d
2885	andl	%edx,%r12d
2886	xorl	%edx,%r13d
2887	addl	36(%rsp),%r10d
2888	movl	%r11d,%edi
2889	xorl	%r9d,%r12d
2890	rorl	$11,%r14d
2891	xorl	%eax,%edi
2892	addl	%r12d,%r10d
2893	rorl	$6,%r13d
2894	andl	%edi,%r15d
2895	xorl	%r11d,%r14d
2896	addl	%r13d,%r10d
2897	xorl	%eax,%r15d
2898	rorl	$2,%r14d
2899	addl	%r10d,%ecx
2900	addl	%r15d,%r10d
2901	movl	%ecx,%r13d
2902	addl	%r10d,%r14d
2903	rorl	$14,%r13d
2904	movl	%r14d,%r10d
2905	movl	%edx,%r12d
2906	rorl	$9,%r14d
2907	xorl	%ecx,%r13d
2908	xorl	%r8d,%r12d
2909	rorl	$5,%r13d
2910	xorl	%r10d,%r14d
2911	andl	%ecx,%r12d
2912	xorl	%ecx,%r13d
2913	addl	40(%rsp),%r9d
2914	movl	%r10d,%r15d
2915	xorl	%r8d,%r12d
2916	rorl	$11,%r14d
2917	xorl	%r11d,%r15d
2918	addl	%r12d,%r9d
2919	rorl	$6,%r13d
2920	andl	%r15d,%edi
2921	xorl	%r10d,%r14d
2922	addl	%r13d,%r9d
2923	xorl	%r11d,%edi
2924	rorl	$2,%r14d
2925	addl	%r9d,%ebx
2926	addl	%edi,%r9d
2927	movl	%ebx,%r13d
2928	addl	%r9d,%r14d
2929	rorl	$14,%r13d
2930	movl	%r14d,%r9d
2931	movl	%ecx,%r12d
2932	rorl	$9,%r14d
2933	xorl	%ebx,%r13d
2934	xorl	%edx,%r12d
2935	rorl	$5,%r13d
2936	xorl	%r9d,%r14d
2937	andl	%ebx,%r12d
2938	xorl	%ebx,%r13d
2939	addl	44(%rsp),%r8d
2940	movl	%r9d,%edi
2941	xorl	%edx,%r12d
2942	rorl	$11,%r14d
2943	xorl	%r10d,%edi
2944	addl	%r12d,%r8d
2945	rorl	$6,%r13d
2946	andl	%edi,%r15d
2947	xorl	%r9d,%r14d
2948	addl	%r13d,%r8d
2949	xorl	%r10d,%r15d
2950	rorl	$2,%r14d
2951	addl	%r8d,%eax
2952	addl	%r15d,%r8d
2953	movl	%eax,%r13d
2954	addl	%r8d,%r14d
2955	rorl	$14,%r13d
2956	movl	%r14d,%r8d
2957	movl	%ebx,%r12d
2958	rorl	$9,%r14d
2959	xorl	%eax,%r13d
2960	xorl	%ecx,%r12d
2961	rorl	$5,%r13d
2962	xorl	%r8d,%r14d
2963	andl	%eax,%r12d
2964	xorl	%eax,%r13d
2965	addl	48(%rsp),%edx
2966	movl	%r8d,%r15d
2967	xorl	%ecx,%r12d
2968	rorl	$11,%r14d
2969	xorl	%r9d,%r15d
2970	addl	%r12d,%edx
2971	rorl	$6,%r13d
2972	andl	%r15d,%edi
2973	xorl	%r8d,%r14d
2974	addl	%r13d,%edx
2975	xorl	%r9d,%edi
2976	rorl	$2,%r14d
2977	addl	%edx,%r11d
2978	addl	%edi,%edx
2979	movl	%r11d,%r13d
2980	addl	%edx,%r14d
2981	rorl	$14,%r13d
2982	movl	%r14d,%edx
2983	movl	%eax,%r12d
2984	rorl	$9,%r14d
2985	xorl	%r11d,%r13d
2986	xorl	%ebx,%r12d
2987	rorl	$5,%r13d
2988	xorl	%edx,%r14d
2989	andl	%r11d,%r12d
2990	xorl	%r11d,%r13d
2991	addl	52(%rsp),%ecx
2992	movl	%edx,%edi
2993	xorl	%ebx,%r12d
2994	rorl	$11,%r14d
2995	xorl	%r8d,%edi
2996	addl	%r12d,%ecx
2997	rorl	$6,%r13d
2998	andl	%edi,%r15d
2999	xorl	%edx,%r14d
3000	addl	%r13d,%ecx
3001	xorl	%r8d,%r15d
3002	rorl	$2,%r14d
3003	addl	%ecx,%r10d
3004	addl	%r15d,%ecx
3005	movl	%r10d,%r13d
3006	addl	%ecx,%r14d
3007	rorl	$14,%r13d
3008	movl	%r14d,%ecx
3009	movl	%r11d,%r12d
3010	rorl	$9,%r14d
3011	xorl	%r10d,%r13d
3012	xorl	%eax,%r12d
3013	rorl	$5,%r13d
3014	xorl	%ecx,%r14d
3015	andl	%r10d,%r12d
3016	xorl	%r10d,%r13d
3017	addl	56(%rsp),%ebx
3018	movl	%ecx,%r15d
3019	xorl	%eax,%r12d
3020	rorl	$11,%r14d
3021	xorl	%edx,%r15d
3022	addl	%r12d,%ebx
3023	rorl	$6,%r13d
3024	andl	%r15d,%edi
3025	xorl	%ecx,%r14d
3026	addl	%r13d,%ebx
3027	xorl	%edx,%edi
3028	rorl	$2,%r14d
3029	addl	%ebx,%r9d
3030	addl	%edi,%ebx
3031	movl	%r9d,%r13d
3032	addl	%ebx,%r14d
3033	rorl	$14,%r13d
3034	movl	%r14d,%ebx
3035	movl	%r10d,%r12d
3036	rorl	$9,%r14d
3037	xorl	%r9d,%r13d
3038	xorl	%r11d,%r12d
3039	rorl	$5,%r13d
3040	xorl	%ebx,%r14d
3041	andl	%r9d,%r12d
3042	xorl	%r9d,%r13d
3043	addl	60(%rsp),%eax
3044	movl	%ebx,%edi
3045	xorl	%r11d,%r12d
3046	rorl	$11,%r14d
3047	xorl	%ecx,%edi
3048	addl	%r12d,%eax
3049	rorl	$6,%r13d
3050	andl	%edi,%r15d
3051	xorl	%ebx,%r14d
3052	addl	%r13d,%eax
3053	xorl	%ecx,%r15d
3054	rorl	$2,%r14d
3055	addl	%eax,%r8d
3056	addl	%r15d,%eax
3057	movl	%r8d,%r13d
3058	addl	%eax,%r14d
3059	movq	64+0(%rsp),%rdi
3060	movl	%r14d,%eax
3061
3062	addl	0(%rdi),%eax
3063	leaq	64(%rsi),%rsi
3064	addl	4(%rdi),%ebx
3065	addl	8(%rdi),%ecx
3066	addl	12(%rdi),%edx
3067	addl	16(%rdi),%r8d
3068	addl	20(%rdi),%r9d
3069	addl	24(%rdi),%r10d
3070	addl	28(%rdi),%r11d
3071
3072	cmpq	64+16(%rsp),%rsi
3073
3074	movl	%eax,0(%rdi)
3075	movl	%ebx,4(%rdi)
3076	movl	%ecx,8(%rdi)
3077	movl	%edx,12(%rdi)
3078	movl	%r8d,16(%rdi)
3079	movl	%r9d,20(%rdi)
3080	movl	%r10d,24(%rdi)
3081	movl	%r11d,28(%rdi)
3082	jb	.Lloop_ssse3
3083
3084	movq	88(%rsp),%rsi
3085.cfi_def_cfa	%rsi,8
3086	movq	-48(%rsi),%r15
3087.cfi_restore	%r15
3088	movq	-40(%rsi),%r14
3089.cfi_restore	%r14
3090	movq	-32(%rsi),%r13
3091.cfi_restore	%r13
3092	movq	-24(%rsi),%r12
3093.cfi_restore	%r12
3094	movq	-16(%rsi),%rbp
3095.cfi_restore	%rbp
3096	movq	-8(%rsi),%rbx
3097.cfi_restore	%rbx
3098	leaq	(%rsi),%rsp
3099.cfi_def_cfa_register	%rsp
3100.Lepilogue_ssse3:
3101	ret
3102.cfi_endproc
3103.size	sha256_block_data_order_ssse3,.-sha256_block_data_order_ssse3
3104.type	sha256_block_data_order_avx,@function
3105.align	64
3106sha256_block_data_order_avx:
3107.cfi_startproc
3108.Lavx_shortcut:
3109	movq	%rsp,%rax
3110.cfi_def_cfa_register	%rax
3111	pushq	%rbx
3112.cfi_offset	%rbx,-16
3113	pushq	%rbp
3114.cfi_offset	%rbp,-24
3115	pushq	%r12
3116.cfi_offset	%r12,-32
3117	pushq	%r13
3118.cfi_offset	%r13,-40
3119	pushq	%r14
3120.cfi_offset	%r14,-48
3121	pushq	%r15
3122.cfi_offset	%r15,-56
3123	shlq	$4,%rdx
3124	subq	$96,%rsp
3125	leaq	(%rsi,%rdx,4),%rdx
3126	andq	$-64,%rsp
3127	movq	%rdi,64+0(%rsp)
3128	movq	%rsi,64+8(%rsp)
3129	movq	%rdx,64+16(%rsp)
3130	movq	%rax,88(%rsp)
3131.cfi_escape	0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
3132.Lprologue_avx:
3133
3134	vzeroupper
3135	movl	0(%rdi),%eax
3136	movl	4(%rdi),%ebx
3137	movl	8(%rdi),%ecx
3138	movl	12(%rdi),%edx
3139	movl	16(%rdi),%r8d
3140	movl	20(%rdi),%r9d
3141	movl	24(%rdi),%r10d
3142	movl	28(%rdi),%r11d
3143	vmovdqa	K256+512+32(%rip),%xmm8
3144	vmovdqa	K256+512+64(%rip),%xmm9
3145	jmp	.Lloop_avx
3146.align	16
3147.Lloop_avx:
3148	vmovdqa	K256+512(%rip),%xmm7
3149	vmovdqu	0(%rsi),%xmm0
3150	vmovdqu	16(%rsi),%xmm1
3151	vmovdqu	32(%rsi),%xmm2
3152	vmovdqu	48(%rsi),%xmm3
3153	vpshufb	%xmm7,%xmm0,%xmm0
3154	leaq	K256(%rip),%rbp
3155	vpshufb	%xmm7,%xmm1,%xmm1
3156	vpshufb	%xmm7,%xmm2,%xmm2
3157	vpaddd	0(%rbp),%xmm0,%xmm4
3158	vpshufb	%xmm7,%xmm3,%xmm3
3159	vpaddd	32(%rbp),%xmm1,%xmm5
3160	vpaddd	64(%rbp),%xmm2,%xmm6
3161	vpaddd	96(%rbp),%xmm3,%xmm7
3162	vmovdqa	%xmm4,0(%rsp)
3163	movl	%eax,%r14d
3164	vmovdqa	%xmm5,16(%rsp)
3165	movl	%ebx,%edi
3166	vmovdqa	%xmm6,32(%rsp)
3167	xorl	%ecx,%edi
3168	vmovdqa	%xmm7,48(%rsp)
3169	movl	%r8d,%r13d
3170	jmp	.Lavx_00_47
3171
3172.align	16
3173.Lavx_00_47:
3174	subq	$-128,%rbp
3175	vpalignr	$4,%xmm0,%xmm1,%xmm4
3176	shrdl	$14,%r13d,%r13d
3177	movl	%r14d,%eax
3178	movl	%r9d,%r12d
3179	vpalignr	$4,%xmm2,%xmm3,%xmm7
3180	shrdl	$9,%r14d,%r14d
3181	xorl	%r8d,%r13d
3182	xorl	%r10d,%r12d
3183	vpsrld	$7,%xmm4,%xmm6
3184	shrdl	$5,%r13d,%r13d
3185	xorl	%eax,%r14d
3186	andl	%r8d,%r12d
3187	vpaddd	%xmm7,%xmm0,%xmm0
3188	xorl	%r8d,%r13d
3189	addl	0(%rsp),%r11d
3190	movl	%eax,%r15d
3191	vpsrld	$3,%xmm4,%xmm7
3192	xorl	%r10d,%r12d
3193	shrdl	$11,%r14d,%r14d
3194	xorl	%ebx,%r15d
3195	vpslld	$14,%xmm4,%xmm5
3196	addl	%r12d,%r11d
3197	shrdl	$6,%r13d,%r13d
3198	andl	%r15d,%edi
3199	vpxor	%xmm6,%xmm7,%xmm4
3200	xorl	%eax,%r14d
3201	addl	%r13d,%r11d
3202	xorl	%ebx,%edi
3203	vpshufd	$250,%xmm3,%xmm7
3204	shrdl	$2,%r14d,%r14d
3205	addl	%r11d,%edx
3206	addl	%edi,%r11d
3207	vpsrld	$11,%xmm6,%xmm6
3208	movl	%edx,%r13d
3209	addl	%r11d,%r14d
3210	shrdl	$14,%r13d,%r13d
3211	vpxor	%xmm5,%xmm4,%xmm4
3212	movl	%r14d,%r11d
3213	movl	%r8d,%r12d
3214	shrdl	$9,%r14d,%r14d
3215	vpslld	$11,%xmm5,%xmm5
3216	xorl	%edx,%r13d
3217	xorl	%r9d,%r12d
3218	shrdl	$5,%r13d,%r13d
3219	vpxor	%xmm6,%xmm4,%xmm4
3220	xorl	%r11d,%r14d
3221	andl	%edx,%r12d
3222	xorl	%edx,%r13d
3223	vpsrld	$10,%xmm7,%xmm6
3224	addl	4(%rsp),%r10d
3225	movl	%r11d,%edi
3226	xorl	%r9d,%r12d
3227	vpxor	%xmm5,%xmm4,%xmm4
3228	shrdl	$11,%r14d,%r14d
3229	xorl	%eax,%edi
3230	addl	%r12d,%r10d
3231	vpsrlq	$17,%xmm7,%xmm7
3232	shrdl	$6,%r13d,%r13d
3233	andl	%edi,%r15d
3234	xorl	%r11d,%r14d
3235	vpaddd	%xmm4,%xmm0,%xmm0
3236	addl	%r13d,%r10d
3237	xorl	%eax,%r15d
3238	shrdl	$2,%r14d,%r14d
3239	vpxor	%xmm7,%xmm6,%xmm6
3240	addl	%r10d,%ecx
3241	addl	%r15d,%r10d
3242	movl	%ecx,%r13d
3243	vpsrlq	$2,%xmm7,%xmm7
3244	addl	%r10d,%r14d
3245	shrdl	$14,%r13d,%r13d
3246	movl	%r14d,%r10d
3247	vpxor	%xmm7,%xmm6,%xmm6
3248	movl	%edx,%r12d
3249	shrdl	$9,%r14d,%r14d
3250	xorl	%ecx,%r13d
3251	vpshufb	%xmm8,%xmm6,%xmm6
3252	xorl	%r8d,%r12d
3253	shrdl	$5,%r13d,%r13d
3254	xorl	%r10d,%r14d
3255	vpaddd	%xmm6,%xmm0,%xmm0
3256	andl	%ecx,%r12d
3257	xorl	%ecx,%r13d
3258	addl	8(%rsp),%r9d
3259	vpshufd	$80,%xmm0,%xmm7
3260	movl	%r10d,%r15d
3261	xorl	%r8d,%r12d
3262	shrdl	$11,%r14d,%r14d
3263	vpsrld	$10,%xmm7,%xmm6
3264	xorl	%r11d,%r15d
3265	addl	%r12d,%r9d
3266	shrdl	$6,%r13d,%r13d
3267	vpsrlq	$17,%xmm7,%xmm7
3268	andl	%r15d,%edi
3269	xorl	%r10d,%r14d
3270	addl	%r13d,%r9d
3271	vpxor	%xmm7,%xmm6,%xmm6
3272	xorl	%r11d,%edi
3273	shrdl	$2,%r14d,%r14d
3274	addl	%r9d,%ebx
3275	vpsrlq	$2,%xmm7,%xmm7
3276	addl	%edi,%r9d
3277	movl	%ebx,%r13d
3278	addl	%r9d,%r14d
3279	vpxor	%xmm7,%xmm6,%xmm6
3280	shrdl	$14,%r13d,%r13d
3281	movl	%r14d,%r9d
3282	movl	%ecx,%r12d
3283	vpshufb	%xmm9,%xmm6,%xmm6
3284	shrdl	$9,%r14d,%r14d
3285	xorl	%ebx,%r13d
3286	xorl	%edx,%r12d
3287	vpaddd	%xmm6,%xmm0,%xmm0
3288	shrdl	$5,%r13d,%r13d
3289	xorl	%r9d,%r14d
3290	andl	%ebx,%r12d
3291	vpaddd	0(%rbp),%xmm0,%xmm6
3292	xorl	%ebx,%r13d
3293	addl	12(%rsp),%r8d
3294	movl	%r9d,%edi
3295	xorl	%edx,%r12d
3296	shrdl	$11,%r14d,%r14d
3297	xorl	%r10d,%edi
3298	addl	%r12d,%r8d
3299	shrdl	$6,%r13d,%r13d
3300	andl	%edi,%r15d
3301	xorl	%r9d,%r14d
3302	addl	%r13d,%r8d
3303	xorl	%r10d,%r15d
3304	shrdl	$2,%r14d,%r14d
3305	addl	%r8d,%eax
3306	addl	%r15d,%r8d
3307	movl	%eax,%r13d
3308	addl	%r8d,%r14d
3309	vmovdqa	%xmm6,0(%rsp)
3310	vpalignr	$4,%xmm1,%xmm2,%xmm4
3311	shrdl	$14,%r13d,%r13d
3312	movl	%r14d,%r8d
3313	movl	%ebx,%r12d
3314	vpalignr	$4,%xmm3,%xmm0,%xmm7
3315	shrdl	$9,%r14d,%r14d
3316	xorl	%eax,%r13d
3317	xorl	%ecx,%r12d
3318	vpsrld	$7,%xmm4,%xmm6
3319	shrdl	$5,%r13d,%r13d
3320	xorl	%r8d,%r14d
3321	andl	%eax,%r12d
3322	vpaddd	%xmm7,%xmm1,%xmm1
3323	xorl	%eax,%r13d
3324	addl	16(%rsp),%edx
3325	movl	%r8d,%r15d
3326	vpsrld	$3,%xmm4,%xmm7
3327	xorl	%ecx,%r12d
3328	shrdl	$11,%r14d,%r14d
3329	xorl	%r9d,%r15d
3330	vpslld	$14,%xmm4,%xmm5
3331	addl	%r12d,%edx
3332	shrdl	$6,%r13d,%r13d
3333	andl	%r15d,%edi
3334	vpxor	%xmm6,%xmm7,%xmm4
3335	xorl	%r8d,%r14d
3336	addl	%r13d,%edx
3337	xorl	%r9d,%edi
3338	vpshufd	$250,%xmm0,%xmm7
3339	shrdl	$2,%r14d,%r14d
3340	addl	%edx,%r11d
3341	addl	%edi,%edx
3342	vpsrld	$11,%xmm6,%xmm6
3343	movl	%r11d,%r13d
3344	addl	%edx,%r14d
3345	shrdl	$14,%r13d,%r13d
3346	vpxor	%xmm5,%xmm4,%xmm4
3347	movl	%r14d,%edx
3348	movl	%eax,%r12d
3349	shrdl	$9,%r14d,%r14d
3350	vpslld	$11,%xmm5,%xmm5
3351	xorl	%r11d,%r13d
3352	xorl	%ebx,%r12d
3353	shrdl	$5,%r13d,%r13d
3354	vpxor	%xmm6,%xmm4,%xmm4
3355	xorl	%edx,%r14d
3356	andl	%r11d,%r12d
3357	xorl	%r11d,%r13d
3358	vpsrld	$10,%xmm7,%xmm6
3359	addl	20(%rsp),%ecx
3360	movl	%edx,%edi
3361	xorl	%ebx,%r12d
3362	vpxor	%xmm5,%xmm4,%xmm4
3363	shrdl	$11,%r14d,%r14d
3364	xorl	%r8d,%edi
3365	addl	%r12d,%ecx
3366	vpsrlq	$17,%xmm7,%xmm7
3367	shrdl	$6,%r13d,%r13d
3368	andl	%edi,%r15d
3369	xorl	%edx,%r14d
3370	vpaddd	%xmm4,%xmm1,%xmm1
3371	addl	%r13d,%ecx
3372	xorl	%r8d,%r15d
3373	shrdl	$2,%r14d,%r14d
3374	vpxor	%xmm7,%xmm6,%xmm6
3375	addl	%ecx,%r10d
3376	addl	%r15d,%ecx
3377	movl	%r10d,%r13d
3378	vpsrlq	$2,%xmm7,%xmm7
3379	addl	%ecx,%r14d
3380	shrdl	$14,%r13d,%r13d
3381	movl	%r14d,%ecx
3382	vpxor	%xmm7,%xmm6,%xmm6
3383	movl	%r11d,%r12d
3384	shrdl	$9,%r14d,%r14d
3385	xorl	%r10d,%r13d
3386	vpshufb	%xmm8,%xmm6,%xmm6
3387	xorl	%eax,%r12d
3388	shrdl	$5,%r13d,%r13d
3389	xorl	%ecx,%r14d
3390	vpaddd	%xmm6,%xmm1,%xmm1
3391	andl	%r10d,%r12d
3392	xorl	%r10d,%r13d
3393	addl	24(%rsp),%ebx
3394	vpshufd	$80,%xmm1,%xmm7
3395	movl	%ecx,%r15d
3396	xorl	%eax,%r12d
3397	shrdl	$11,%r14d,%r14d
3398	vpsrld	$10,%xmm7,%xmm6
3399	xorl	%edx,%r15d
3400	addl	%r12d,%ebx
3401	shrdl	$6,%r13d,%r13d
3402	vpsrlq	$17,%xmm7,%xmm7
3403	andl	%r15d,%edi
3404	xorl	%ecx,%r14d
3405	addl	%r13d,%ebx
3406	vpxor	%xmm7,%xmm6,%xmm6
3407	xorl	%edx,%edi
3408	shrdl	$2,%r14d,%r14d
3409	addl	%ebx,%r9d
3410	vpsrlq	$2,%xmm7,%xmm7
3411	addl	%edi,%ebx
3412	movl	%r9d,%r13d
3413	addl	%ebx,%r14d
3414	vpxor	%xmm7,%xmm6,%xmm6
3415	shrdl	$14,%r13d,%r13d
3416	movl	%r14d,%ebx
3417	movl	%r10d,%r12d
3418	vpshufb	%xmm9,%xmm6,%xmm6
3419	shrdl	$9,%r14d,%r14d
3420	xorl	%r9d,%r13d
3421	xorl	%r11d,%r12d
3422	vpaddd	%xmm6,%xmm1,%xmm1
3423	shrdl	$5,%r13d,%r13d
3424	xorl	%ebx,%r14d
3425	andl	%r9d,%r12d
3426	vpaddd	32(%rbp),%xmm1,%xmm6
3427	xorl	%r9d,%r13d
3428	addl	28(%rsp),%eax
3429	movl	%ebx,%edi
3430	xorl	%r11d,%r12d
3431	shrdl	$11,%r14d,%r14d
3432	xorl	%ecx,%edi
3433	addl	%r12d,%eax
3434	shrdl	$6,%r13d,%r13d
3435	andl	%edi,%r15d
3436	xorl	%ebx,%r14d
3437	addl	%r13d,%eax
3438	xorl	%ecx,%r15d
3439	shrdl	$2,%r14d,%r14d
3440	addl	%eax,%r8d
3441	addl	%r15d,%eax
3442	movl	%r8d,%r13d
3443	addl	%eax,%r14d
3444	vmovdqa	%xmm6,16(%rsp)
3445	vpalignr	$4,%xmm2,%xmm3,%xmm4
3446	shrdl	$14,%r13d,%r13d
3447	movl	%r14d,%eax
3448	movl	%r9d,%r12d
3449	vpalignr	$4,%xmm0,%xmm1,%xmm7
3450	shrdl	$9,%r14d,%r14d
3451	xorl	%r8d,%r13d
3452	xorl	%r10d,%r12d
3453	vpsrld	$7,%xmm4,%xmm6
3454	shrdl	$5,%r13d,%r13d
3455	xorl	%eax,%r14d
3456	andl	%r8d,%r12d
3457	vpaddd	%xmm7,%xmm2,%xmm2
3458	xorl	%r8d,%r13d
3459	addl	32(%rsp),%r11d
3460	movl	%eax,%r15d
3461	vpsrld	$3,%xmm4,%xmm7
3462	xorl	%r10d,%r12d
3463	shrdl	$11,%r14d,%r14d
3464	xorl	%ebx,%r15d
3465	vpslld	$14,%xmm4,%xmm5
3466	addl	%r12d,%r11d
3467	shrdl	$6,%r13d,%r13d
3468	andl	%r15d,%edi
3469	vpxor	%xmm6,%xmm7,%xmm4
3470	xorl	%eax,%r14d
3471	addl	%r13d,%r11d
3472	xorl	%ebx,%edi
3473	vpshufd	$250,%xmm1,%xmm7
3474	shrdl	$2,%r14d,%r14d
3475	addl	%r11d,%edx
3476	addl	%edi,%r11d
3477	vpsrld	$11,%xmm6,%xmm6
3478	movl	%edx,%r13d
3479	addl	%r11d,%r14d
3480	shrdl	$14,%r13d,%r13d
3481	vpxor	%xmm5,%xmm4,%xmm4
3482	movl	%r14d,%r11d
3483	movl	%r8d,%r12d
3484	shrdl	$9,%r14d,%r14d
3485	vpslld	$11,%xmm5,%xmm5
3486	xorl	%edx,%r13d
3487	xorl	%r9d,%r12d
3488	shrdl	$5,%r13d,%r13d
3489	vpxor	%xmm6,%xmm4,%xmm4
3490	xorl	%r11d,%r14d
3491	andl	%edx,%r12d
3492	xorl	%edx,%r13d
3493	vpsrld	$10,%xmm7,%xmm6
3494	addl	36(%rsp),%r10d
3495	movl	%r11d,%edi
3496	xorl	%r9d,%r12d
3497	vpxor	%xmm5,%xmm4,%xmm4
3498	shrdl	$11,%r14d,%r14d
3499	xorl	%eax,%edi
3500	addl	%r12d,%r10d
3501	vpsrlq	$17,%xmm7,%xmm7
3502	shrdl	$6,%r13d,%r13d
3503	andl	%edi,%r15d
3504	xorl	%r11d,%r14d
3505	vpaddd	%xmm4,%xmm2,%xmm2
3506	addl	%r13d,%r10d
3507	xorl	%eax,%r15d
3508	shrdl	$2,%r14d,%r14d
3509	vpxor	%xmm7,%xmm6,%xmm6
3510	addl	%r10d,%ecx
3511	addl	%r15d,%r10d
3512	movl	%ecx,%r13d
3513	vpsrlq	$2,%xmm7,%xmm7
3514	addl	%r10d,%r14d
3515	shrdl	$14,%r13d,%r13d
3516	movl	%r14d,%r10d
3517	vpxor	%xmm7,%xmm6,%xmm6
3518	movl	%edx,%r12d
3519	shrdl	$9,%r14d,%r14d
3520	xorl	%ecx,%r13d
3521	vpshufb	%xmm8,%xmm6,%xmm6
3522	xorl	%r8d,%r12d
3523	shrdl	$5,%r13d,%r13d
3524	xorl	%r10d,%r14d
3525	vpaddd	%xmm6,%xmm2,%xmm2
3526	andl	%ecx,%r12d
3527	xorl	%ecx,%r13d
3528	addl	40(%rsp),%r9d
3529	vpshufd	$80,%xmm2,%xmm7
3530	movl	%r10d,%r15d
3531	xorl	%r8d,%r12d
3532	shrdl	$11,%r14d,%r14d
3533	vpsrld	$10,%xmm7,%xmm6
3534	xorl	%r11d,%r15d
3535	addl	%r12d,%r9d
3536	shrdl	$6,%r13d,%r13d
3537	vpsrlq	$17,%xmm7,%xmm7
3538	andl	%r15d,%edi
3539	xorl	%r10d,%r14d
3540	addl	%r13d,%r9d
3541	vpxor	%xmm7,%xmm6,%xmm6
3542	xorl	%r11d,%edi
3543	shrdl	$2,%r14d,%r14d
3544	addl	%r9d,%ebx
3545	vpsrlq	$2,%xmm7,%xmm7
3546	addl	%edi,%r9d
3547	movl	%ebx,%r13d
3548	addl	%r9d,%r14d
3549	vpxor	%xmm7,%xmm6,%xmm6
3550	shrdl	$14,%r13d,%r13d
3551	movl	%r14d,%r9d
3552	movl	%ecx,%r12d
3553	vpshufb	%xmm9,%xmm6,%xmm6
3554	shrdl	$9,%r14d,%r14d
3555	xorl	%ebx,%r13d
3556	xorl	%edx,%r12d
3557	vpaddd	%xmm6,%xmm2,%xmm2
3558	shrdl	$5,%r13d,%r13d
3559	xorl	%r9d,%r14d
3560	andl	%ebx,%r12d
3561	vpaddd	64(%rbp),%xmm2,%xmm6
3562	xorl	%ebx,%r13d
3563	addl	44(%rsp),%r8d
3564	movl	%r9d,%edi
3565	xorl	%edx,%r12d
3566	shrdl	$11,%r14d,%r14d
3567	xorl	%r10d,%edi
3568	addl	%r12d,%r8d
3569	shrdl	$6,%r13d,%r13d
3570	andl	%edi,%r15d
3571	xorl	%r9d,%r14d
3572	addl	%r13d,%r8d
3573	xorl	%r10d,%r15d
3574	shrdl	$2,%r14d,%r14d
3575	addl	%r8d,%eax
3576	addl	%r15d,%r8d
3577	movl	%eax,%r13d
3578	addl	%r8d,%r14d
3579	vmovdqa	%xmm6,32(%rsp)
3580	vpalignr	$4,%xmm3,%xmm0,%xmm4
3581	shrdl	$14,%r13d,%r13d
3582	movl	%r14d,%r8d
3583	movl	%ebx,%r12d
3584	vpalignr	$4,%xmm1,%xmm2,%xmm7
3585	shrdl	$9,%r14d,%r14d
3586	xorl	%eax,%r13d
3587	xorl	%ecx,%r12d
3588	vpsrld	$7,%xmm4,%xmm6
3589	shrdl	$5,%r13d,%r13d
3590	xorl	%r8d,%r14d
3591	andl	%eax,%r12d
3592	vpaddd	%xmm7,%xmm3,%xmm3
3593	xorl	%eax,%r13d
3594	addl	48(%rsp),%edx
3595	movl	%r8d,%r15d
3596	vpsrld	$3,%xmm4,%xmm7
3597	xorl	%ecx,%r12d
3598	shrdl	$11,%r14d,%r14d
3599	xorl	%r9d,%r15d
3600	vpslld	$14,%xmm4,%xmm5
3601	addl	%r12d,%edx
3602	shrdl	$6,%r13d,%r13d
3603	andl	%r15d,%edi
3604	vpxor	%xmm6,%xmm7,%xmm4
3605	xorl	%r8d,%r14d
3606	addl	%r13d,%edx
3607	xorl	%r9d,%edi
3608	vpshufd	$250,%xmm2,%xmm7
3609	shrdl	$2,%r14d,%r14d
3610	addl	%edx,%r11d
3611	addl	%edi,%edx
3612	vpsrld	$11,%xmm6,%xmm6
3613	movl	%r11d,%r13d
3614	addl	%edx,%r14d
3615	shrdl	$14,%r13d,%r13d
3616	vpxor	%xmm5,%xmm4,%xmm4
3617	movl	%r14d,%edx
3618	movl	%eax,%r12d
3619	shrdl	$9,%r14d,%r14d
3620	vpslld	$11,%xmm5,%xmm5
3621	xorl	%r11d,%r13d
3622	xorl	%ebx,%r12d
3623	shrdl	$5,%r13d,%r13d
3624	vpxor	%xmm6,%xmm4,%xmm4
3625	xorl	%edx,%r14d
3626	andl	%r11d,%r12d
3627	xorl	%r11d,%r13d
3628	vpsrld	$10,%xmm7,%xmm6
3629	addl	52(%rsp),%ecx
3630	movl	%edx,%edi
3631	xorl	%ebx,%r12d
3632	vpxor	%xmm5,%xmm4,%xmm4
3633	shrdl	$11,%r14d,%r14d
3634	xorl	%r8d,%edi
3635	addl	%r12d,%ecx
3636	vpsrlq	$17,%xmm7,%xmm7
3637	shrdl	$6,%r13d,%r13d
3638	andl	%edi,%r15d
3639	xorl	%edx,%r14d
3640	vpaddd	%xmm4,%xmm3,%xmm3
3641	addl	%r13d,%ecx
3642	xorl	%r8d,%r15d
3643	shrdl	$2,%r14d,%r14d
3644	vpxor	%xmm7,%xmm6,%xmm6
3645	addl	%ecx,%r10d
3646	addl	%r15d,%ecx
3647	movl	%r10d,%r13d
3648	vpsrlq	$2,%xmm7,%xmm7
3649	addl	%ecx,%r14d
3650	shrdl	$14,%r13d,%r13d
3651	movl	%r14d,%ecx
3652	vpxor	%xmm7,%xmm6,%xmm6
3653	movl	%r11d,%r12d
3654	shrdl	$9,%r14d,%r14d
3655	xorl	%r10d,%r13d
3656	vpshufb	%xmm8,%xmm6,%xmm6
3657	xorl	%eax,%r12d
3658	shrdl	$5,%r13d,%r13d
3659	xorl	%ecx,%r14d
3660	vpaddd	%xmm6,%xmm3,%xmm3
3661	andl	%r10d,%r12d
3662	xorl	%r10d,%r13d
3663	addl	56(%rsp),%ebx
3664	vpshufd	$80,%xmm3,%xmm7
3665	movl	%ecx,%r15d
3666	xorl	%eax,%r12d
3667	shrdl	$11,%r14d,%r14d
3668	vpsrld	$10,%xmm7,%xmm6
3669	xorl	%edx,%r15d
3670	addl	%r12d,%ebx
3671	shrdl	$6,%r13d,%r13d
3672	vpsrlq	$17,%xmm7,%xmm7
3673	andl	%r15d,%edi
3674	xorl	%ecx,%r14d
3675	addl	%r13d,%ebx
3676	vpxor	%xmm7,%xmm6,%xmm6
3677	xorl	%edx,%edi
3678	shrdl	$2,%r14d,%r14d
3679	addl	%ebx,%r9d
3680	vpsrlq	$2,%xmm7,%xmm7
3681	addl	%edi,%ebx
3682	movl	%r9d,%r13d
3683	addl	%ebx,%r14d
3684	vpxor	%xmm7,%xmm6,%xmm6
3685	shrdl	$14,%r13d,%r13d
3686	movl	%r14d,%ebx
3687	movl	%r10d,%r12d
3688	vpshufb	%xmm9,%xmm6,%xmm6
3689	shrdl	$9,%r14d,%r14d
3690	xorl	%r9d,%r13d
3691	xorl	%r11d,%r12d
3692	vpaddd	%xmm6,%xmm3,%xmm3
3693	shrdl	$5,%r13d,%r13d
3694	xorl	%ebx,%r14d
3695	andl	%r9d,%r12d
3696	vpaddd	96(%rbp),%xmm3,%xmm6
3697	xorl	%r9d,%r13d
3698	addl	60(%rsp),%eax
3699	movl	%ebx,%edi
3700	xorl	%r11d,%r12d
3701	shrdl	$11,%r14d,%r14d
3702	xorl	%ecx,%edi
3703	addl	%r12d,%eax
3704	shrdl	$6,%r13d,%r13d
3705	andl	%edi,%r15d
3706	xorl	%ebx,%r14d
3707	addl	%r13d,%eax
3708	xorl	%ecx,%r15d
3709	shrdl	$2,%r14d,%r14d
3710	addl	%eax,%r8d
3711	addl	%r15d,%eax
3712	movl	%r8d,%r13d
3713	addl	%eax,%r14d
3714	vmovdqa	%xmm6,48(%rsp)
3715	cmpb	$0,131(%rbp)
3716	jne	.Lavx_00_47
3717	shrdl	$14,%r13d,%r13d
3718	movl	%r14d,%eax
3719	movl	%r9d,%r12d
3720	shrdl	$9,%r14d,%r14d
3721	xorl	%r8d,%r13d
3722	xorl	%r10d,%r12d
3723	shrdl	$5,%r13d,%r13d
3724	xorl	%eax,%r14d
3725	andl	%r8d,%r12d
3726	xorl	%r8d,%r13d
3727	addl	0(%rsp),%r11d
3728	movl	%eax,%r15d
3729	xorl	%r10d,%r12d
3730	shrdl	$11,%r14d,%r14d
3731	xorl	%ebx,%r15d
3732	addl	%r12d,%r11d
3733	shrdl	$6,%r13d,%r13d
3734	andl	%r15d,%edi
3735	xorl	%eax,%r14d
3736	addl	%r13d,%r11d
3737	xorl	%ebx,%edi
3738	shrdl	$2,%r14d,%r14d
3739	addl	%r11d,%edx
3740	addl	%edi,%r11d
3741	movl	%edx,%r13d
3742	addl	%r11d,%r14d
3743	shrdl	$14,%r13d,%r13d
3744	movl	%r14d,%r11d
3745	movl	%r8d,%r12d
3746	shrdl	$9,%r14d,%r14d
3747	xorl	%edx,%r13d
3748	xorl	%r9d,%r12d
3749	shrdl	$5,%r13d,%r13d
3750	xorl	%r11d,%r14d
3751	andl	%edx,%r12d
3752	xorl	%edx,%r13d
3753	addl	4(%rsp),%r10d
3754	movl	%r11d,%edi
3755	xorl	%r9d,%r12d
3756	shrdl	$11,%r14d,%r14d
3757	xorl	%eax,%edi
3758	addl	%r12d,%r10d
3759	shrdl	$6,%r13d,%r13d
3760	andl	%edi,%r15d
3761	xorl	%r11d,%r14d
3762	addl	%r13d,%r10d
3763	xorl	%eax,%r15d
3764	shrdl	$2,%r14d,%r14d
3765	addl	%r10d,%ecx
3766	addl	%r15d,%r10d
3767	movl	%ecx,%r13d
3768	addl	%r10d,%r14d
3769	shrdl	$14,%r13d,%r13d
3770	movl	%r14d,%r10d
3771	movl	%edx,%r12d
3772	shrdl	$9,%r14d,%r14d
3773	xorl	%ecx,%r13d
3774	xorl	%r8d,%r12d
3775	shrdl	$5,%r13d,%r13d
3776	xorl	%r10d,%r14d
3777	andl	%ecx,%r12d
3778	xorl	%ecx,%r13d
3779	addl	8(%rsp),%r9d
3780	movl	%r10d,%r15d
3781	xorl	%r8d,%r12d
3782	shrdl	$11,%r14d,%r14d
3783	xorl	%r11d,%r15d
3784	addl	%r12d,%r9d
3785	shrdl	$6,%r13d,%r13d
3786	andl	%r15d,%edi
3787	xorl	%r10d,%r14d
3788	addl	%r13d,%r9d
3789	xorl	%r11d,%edi
3790	shrdl	$2,%r14d,%r14d
3791	addl	%r9d,%ebx
3792	addl	%edi,%r9d
3793	movl	%ebx,%r13d
3794	addl	%r9d,%r14d
3795	shrdl	$14,%r13d,%r13d
3796	movl	%r14d,%r9d
3797	movl	%ecx,%r12d
3798	shrdl	$9,%r14d,%r14d
3799	xorl	%ebx,%r13d
3800	xorl	%edx,%r12d
3801	shrdl	$5,%r13d,%r13d
3802	xorl	%r9d,%r14d
3803	andl	%ebx,%r12d
3804	xorl	%ebx,%r13d
3805	addl	12(%rsp),%r8d
3806	movl	%r9d,%edi
3807	xorl	%edx,%r12d
3808	shrdl	$11,%r14d,%r14d
3809	xorl	%r10d,%edi
3810	addl	%r12d,%r8d
3811	shrdl	$6,%r13d,%r13d
3812	andl	%edi,%r15d
3813	xorl	%r9d,%r14d
3814	addl	%r13d,%r8d
3815	xorl	%r10d,%r15d
3816	shrdl	$2,%r14d,%r14d
3817	addl	%r8d,%eax
3818	addl	%r15d,%r8d
3819	movl	%eax,%r13d
3820	addl	%r8d,%r14d
3821	shrdl	$14,%r13d,%r13d
3822	movl	%r14d,%r8d
3823	movl	%ebx,%r12d
3824	shrdl	$9,%r14d,%r14d
3825	xorl	%eax,%r13d
3826	xorl	%ecx,%r12d
3827	shrdl	$5,%r13d,%r13d
3828	xorl	%r8d,%r14d
3829	andl	%eax,%r12d
3830	xorl	%eax,%r13d
3831	addl	16(%rsp),%edx
3832	movl	%r8d,%r15d
3833	xorl	%ecx,%r12d
3834	shrdl	$11,%r14d,%r14d
3835	xorl	%r9d,%r15d
3836	addl	%r12d,%edx
3837	shrdl	$6,%r13d,%r13d
3838	andl	%r15d,%edi
3839	xorl	%r8d,%r14d
3840	addl	%r13d,%edx
3841	xorl	%r9d,%edi
3842	shrdl	$2,%r14d,%r14d
3843	addl	%edx,%r11d
3844	addl	%edi,%edx
3845	movl	%r11d,%r13d
3846	addl	%edx,%r14d
3847	shrdl	$14,%r13d,%r13d
3848	movl	%r14d,%edx
3849	movl	%eax,%r12d
3850	shrdl	$9,%r14d,%r14d
3851	xorl	%r11d,%r13d
3852	xorl	%ebx,%r12d
3853	shrdl	$5,%r13d,%r13d
3854	xorl	%edx,%r14d
3855	andl	%r11d,%r12d
3856	xorl	%r11d,%r13d
3857	addl	20(%rsp),%ecx
3858	movl	%edx,%edi
3859	xorl	%ebx,%r12d
3860	shrdl	$11,%r14d,%r14d
3861	xorl	%r8d,%edi
3862	addl	%r12d,%ecx
3863	shrdl	$6,%r13d,%r13d
3864	andl	%edi,%r15d
3865	xorl	%edx,%r14d
3866	addl	%r13d,%ecx
3867	xorl	%r8d,%r15d
3868	shrdl	$2,%r14d,%r14d
3869	addl	%ecx,%r10d
3870	addl	%r15d,%ecx
3871	movl	%r10d,%r13d
3872	addl	%ecx,%r14d
3873	shrdl	$14,%r13d,%r13d
3874	movl	%r14d,%ecx
3875	movl	%r11d,%r12d
3876	shrdl	$9,%r14d,%r14d
3877	xorl	%r10d,%r13d
3878	xorl	%eax,%r12d
3879	shrdl	$5,%r13d,%r13d
3880	xorl	%ecx,%r14d
3881	andl	%r10d,%r12d
3882	xorl	%r10d,%r13d
3883	addl	24(%rsp),%ebx
3884	movl	%ecx,%r15d
3885	xorl	%eax,%r12d
3886	shrdl	$11,%r14d,%r14d
3887	xorl	%edx,%r15d
3888	addl	%r12d,%ebx
3889	shrdl	$6,%r13d,%r13d
3890	andl	%r15d,%edi
3891	xorl	%ecx,%r14d
3892	addl	%r13d,%ebx
3893	xorl	%edx,%edi
3894	shrdl	$2,%r14d,%r14d
3895	addl	%ebx,%r9d
3896	addl	%edi,%ebx
3897	movl	%r9d,%r13d
3898	addl	%ebx,%r14d
3899	shrdl	$14,%r13d,%r13d
3900	movl	%r14d,%ebx
3901	movl	%r10d,%r12d
3902	shrdl	$9,%r14d,%r14d
3903	xorl	%r9d,%r13d
3904	xorl	%r11d,%r12d
3905	shrdl	$5,%r13d,%r13d
3906	xorl	%ebx,%r14d
3907	andl	%r9d,%r12d
3908	xorl	%r9d,%r13d
3909	addl	28(%rsp),%eax
3910	movl	%ebx,%edi
3911	xorl	%r11d,%r12d
3912	shrdl	$11,%r14d,%r14d
3913	xorl	%ecx,%edi
3914	addl	%r12d,%eax
3915	shrdl	$6,%r13d,%r13d
3916	andl	%edi,%r15d
3917	xorl	%ebx,%r14d
3918	addl	%r13d,%eax
3919	xorl	%ecx,%r15d
3920	shrdl	$2,%r14d,%r14d
3921	addl	%eax,%r8d
3922	addl	%r15d,%eax
3923	movl	%r8d,%r13d
3924	addl	%eax,%r14d
3925	shrdl	$14,%r13d,%r13d
3926	movl	%r14d,%eax
3927	movl	%r9d,%r12d
3928	shrdl	$9,%r14d,%r14d
3929	xorl	%r8d,%r13d
3930	xorl	%r10d,%r12d
3931	shrdl	$5,%r13d,%r13d
3932	xorl	%eax,%r14d
3933	andl	%r8d,%r12d
3934	xorl	%r8d,%r13d
3935	addl	32(%rsp),%r11d
3936	movl	%eax,%r15d
3937	xorl	%r10d,%r12d
3938	shrdl	$11,%r14d,%r14d
3939	xorl	%ebx,%r15d
3940	addl	%r12d,%r11d
3941	shrdl	$6,%r13d,%r13d
3942	andl	%r15d,%edi
3943	xorl	%eax,%r14d
3944	addl	%r13d,%r11d
3945	xorl	%ebx,%edi
3946	shrdl	$2,%r14d,%r14d
3947	addl	%r11d,%edx
3948	addl	%edi,%r11d
3949	movl	%edx,%r13d
3950	addl	%r11d,%r14d
3951	shrdl	$14,%r13d,%r13d
3952	movl	%r14d,%r11d
3953	movl	%r8d,%r12d
3954	shrdl	$9,%r14d,%r14d
3955	xorl	%edx,%r13d
3956	xorl	%r9d,%r12d
3957	shrdl	$5,%r13d,%r13d
3958	xorl	%r11d,%r14d
3959	andl	%edx,%r12d
3960	xorl	%edx,%r13d
3961	addl	36(%rsp),%r10d
3962	movl	%r11d,%edi
3963	xorl	%r9d,%r12d
3964	shrdl	$11,%r14d,%r14d
3965	xorl	%eax,%edi
3966	addl	%r12d,%r10d
3967	shrdl	$6,%r13d,%r13d
3968	andl	%edi,%r15d
3969	xorl	%r11d,%r14d
3970	addl	%r13d,%r10d
3971	xorl	%eax,%r15d
3972	shrdl	$2,%r14d,%r14d
3973	addl	%r10d,%ecx
3974	addl	%r15d,%r10d
3975	movl	%ecx,%r13d
3976	addl	%r10d,%r14d
3977	shrdl	$14,%r13d,%r13d
3978	movl	%r14d,%r10d
3979	movl	%edx,%r12d
3980	shrdl	$9,%r14d,%r14d
3981	xorl	%ecx,%r13d
3982	xorl	%r8d,%r12d
3983	shrdl	$5,%r13d,%r13d
3984	xorl	%r10d,%r14d
3985	andl	%ecx,%r12d
3986	xorl	%ecx,%r13d
3987	addl	40(%rsp),%r9d
3988	movl	%r10d,%r15d
3989	xorl	%r8d,%r12d
3990	shrdl	$11,%r14d,%r14d
3991	xorl	%r11d,%r15d
3992	addl	%r12d,%r9d
3993	shrdl	$6,%r13d,%r13d
3994	andl	%r15d,%edi
3995	xorl	%r10d,%r14d
3996	addl	%r13d,%r9d
3997	xorl	%r11d,%edi
3998	shrdl	$2,%r14d,%r14d
3999	addl	%r9d,%ebx
4000	addl	%edi,%r9d
4001	movl	%ebx,%r13d
4002	addl	%r9d,%r14d
4003	shrdl	$14,%r13d,%r13d
4004	movl	%r14d,%r9d
4005	movl	%ecx,%r12d
4006	shrdl	$9,%r14d,%r14d
4007	xorl	%ebx,%r13d
4008	xorl	%edx,%r12d
4009	shrdl	$5,%r13d,%r13d
4010	xorl	%r9d,%r14d
4011	andl	%ebx,%r12d
4012	xorl	%ebx,%r13d
4013	addl	44(%rsp),%r8d
4014	movl	%r9d,%edi
4015	xorl	%edx,%r12d
4016	shrdl	$11,%r14d,%r14d
4017	xorl	%r10d,%edi
4018	addl	%r12d,%r8d
4019	shrdl	$6,%r13d,%r13d
4020	andl	%edi,%r15d
4021	xorl	%r9d,%r14d
4022	addl	%r13d,%r8d
4023	xorl	%r10d,%r15d
4024	shrdl	$2,%r14d,%r14d
4025	addl	%r8d,%eax
4026	addl	%r15d,%r8d
4027	movl	%eax,%r13d
4028	addl	%r8d,%r14d
4029	shrdl	$14,%r13d,%r13d
4030	movl	%r14d,%r8d
4031	movl	%ebx,%r12d
4032	shrdl	$9,%r14d,%r14d
4033	xorl	%eax,%r13d
4034	xorl	%ecx,%r12d
4035	shrdl	$5,%r13d,%r13d
4036	xorl	%r8d,%r14d
4037	andl	%eax,%r12d
4038	xorl	%eax,%r13d
4039	addl	48(%rsp),%edx
4040	movl	%r8d,%r15d
4041	xorl	%ecx,%r12d
4042	shrdl	$11,%r14d,%r14d
4043	xorl	%r9d,%r15d
4044	addl	%r12d,%edx
4045	shrdl	$6,%r13d,%r13d
4046	andl	%r15d,%edi
4047	xorl	%r8d,%r14d
4048	addl	%r13d,%edx
4049	xorl	%r9d,%edi
4050	shrdl	$2,%r14d,%r14d
4051	addl	%edx,%r11d
4052	addl	%edi,%edx
4053	movl	%r11d,%r13d
4054	addl	%edx,%r14d
4055	shrdl	$14,%r13d,%r13d
4056	movl	%r14d,%edx
4057	movl	%eax,%r12d
4058	shrdl	$9,%r14d,%r14d
4059	xorl	%r11d,%r13d
4060	xorl	%ebx,%r12d
4061	shrdl	$5,%r13d,%r13d
4062	xorl	%edx,%r14d
4063	andl	%r11d,%r12d
4064	xorl	%r11d,%r13d
4065	addl	52(%rsp),%ecx
4066	movl	%edx,%edi
4067	xorl	%ebx,%r12d
4068	shrdl	$11,%r14d,%r14d
4069	xorl	%r8d,%edi
4070	addl	%r12d,%ecx
4071	shrdl	$6,%r13d,%r13d
4072	andl	%edi,%r15d
4073	xorl	%edx,%r14d
4074	addl	%r13d,%ecx
4075	xorl	%r8d,%r15d
4076	shrdl	$2,%r14d,%r14d
4077	addl	%ecx,%r10d
4078	addl	%r15d,%ecx
4079	movl	%r10d,%r13d
4080	addl	%ecx,%r14d
4081	shrdl	$14,%r13d,%r13d
4082	movl	%r14d,%ecx
4083	movl	%r11d,%r12d
4084	shrdl	$9,%r14d,%r14d
4085	xorl	%r10d,%r13d
4086	xorl	%eax,%r12d
4087	shrdl	$5,%r13d,%r13d
4088	xorl	%ecx,%r14d
4089	andl	%r10d,%r12d
4090	xorl	%r10d,%r13d
4091	addl	56(%rsp),%ebx
4092	movl	%ecx,%r15d
4093	xorl	%eax,%r12d
4094	shrdl	$11,%r14d,%r14d
4095	xorl	%edx,%r15d
4096	addl	%r12d,%ebx
4097	shrdl	$6,%r13d,%r13d
4098	andl	%r15d,%edi
4099	xorl	%ecx,%r14d
4100	addl	%r13d,%ebx
4101	xorl	%edx,%edi
4102	shrdl	$2,%r14d,%r14d
4103	addl	%ebx,%r9d
4104	addl	%edi,%ebx
4105	movl	%r9d,%r13d
4106	addl	%ebx,%r14d
4107	shrdl	$14,%r13d,%r13d
4108	movl	%r14d,%ebx
4109	movl	%r10d,%r12d
4110	shrdl	$9,%r14d,%r14d
4111	xorl	%r9d,%r13d
4112	xorl	%r11d,%r12d
4113	shrdl	$5,%r13d,%r13d
4114	xorl	%ebx,%r14d
4115	andl	%r9d,%r12d
4116	xorl	%r9d,%r13d
4117	addl	60(%rsp),%eax
4118	movl	%ebx,%edi
4119	xorl	%r11d,%r12d
4120	shrdl	$11,%r14d,%r14d
4121	xorl	%ecx,%edi
4122	addl	%r12d,%eax
4123	shrdl	$6,%r13d,%r13d
4124	andl	%edi,%r15d
4125	xorl	%ebx,%r14d
4126	addl	%r13d,%eax
4127	xorl	%ecx,%r15d
4128	shrdl	$2,%r14d,%r14d
4129	addl	%eax,%r8d
4130	addl	%r15d,%eax
4131	movl	%r8d,%r13d
4132	addl	%eax,%r14d
4133	movq	64+0(%rsp),%rdi
4134	movl	%r14d,%eax
4135
4136	addl	0(%rdi),%eax
4137	leaq	64(%rsi),%rsi
4138	addl	4(%rdi),%ebx
4139	addl	8(%rdi),%ecx
4140	addl	12(%rdi),%edx
4141	addl	16(%rdi),%r8d
4142	addl	20(%rdi),%r9d
4143	addl	24(%rdi),%r10d
4144	addl	28(%rdi),%r11d
4145
4146	cmpq	64+16(%rsp),%rsi
4147
4148	movl	%eax,0(%rdi)
4149	movl	%ebx,4(%rdi)
4150	movl	%ecx,8(%rdi)
4151	movl	%edx,12(%rdi)
4152	movl	%r8d,16(%rdi)
4153	movl	%r9d,20(%rdi)
4154	movl	%r10d,24(%rdi)
4155	movl	%r11d,28(%rdi)
4156	jb	.Lloop_avx
4157
4158	movq	88(%rsp),%rsi
4159.cfi_def_cfa	%rsi,8
4160	vzeroupper
4161	movq	-48(%rsi),%r15
4162.cfi_restore	%r15
4163	movq	-40(%rsi),%r14
4164.cfi_restore	%r14
4165	movq	-32(%rsi),%r13
4166.cfi_restore	%r13
4167	movq	-24(%rsi),%r12
4168.cfi_restore	%r12
4169	movq	-16(%rsi),%rbp
4170.cfi_restore	%rbp
4171	movq	-8(%rsi),%rbx
4172.cfi_restore	%rbx
4173	leaq	(%rsi),%rsp
4174.cfi_def_cfa_register	%rsp
4175.Lepilogue_avx:
4176	ret
4177.cfi_endproc
4178.size	sha256_block_data_order_avx,.-sha256_block_data_order_avx
4179#endif
4180