• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1.text
2
3
4.globl	sha256_block_data_order
5.type	sha256_block_data_order,@function
6.align	16
7sha256_block_data_order:
8.cfi_startproc
9	leaq	OPENSSL_ia32cap_P(%rip),%r11
10	movl	0(%r11),%r9d
11	movl	4(%r11),%r10d
12	movl	8(%r11),%r11d
13	testl	$536870912,%r11d
14	jnz	_shaext_shortcut
15	andl	$296,%r11d
16	cmpl	$296,%r11d
17	je	.Lavx2_shortcut
18	andl	$1073741824,%r9d
19	andl	$268435968,%r10d
20	orl	%r9d,%r10d
21	cmpl	$1342177792,%r10d
22	je	.Lavx_shortcut
23	testl	$512,%r10d
24	jnz	.Lssse3_shortcut
25	movq	%rsp,%rax
26.cfi_def_cfa_register	%rax
27	pushq	%rbx
28.cfi_offset	%rbx,-16
29	pushq	%rbp
30.cfi_offset	%rbp,-24
31	pushq	%r12
32.cfi_offset	%r12,-32
33	pushq	%r13
34.cfi_offset	%r13,-40
35	pushq	%r14
36.cfi_offset	%r14,-48
37	pushq	%r15
38.cfi_offset	%r15,-56
39	shlq	$4,%rdx
40	subq	$64+32,%rsp
41	leaq	(%rsi,%rdx,4),%rdx
42	andq	$-64,%rsp
43	movq	%rdi,64+0(%rsp)
44	movq	%rsi,64+8(%rsp)
45	movq	%rdx,64+16(%rsp)
46	movq	%rax,88(%rsp)
47.cfi_escape	0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
48.Lprologue:
49
50	movl	0(%rdi),%eax
51	movl	4(%rdi),%ebx
52	movl	8(%rdi),%ecx
53	movl	12(%rdi),%edx
54	movl	16(%rdi),%r8d
55	movl	20(%rdi),%r9d
56	movl	24(%rdi),%r10d
57	movl	28(%rdi),%r11d
58	jmp	.Lloop
59
60.align	16
61.Lloop:
62	movl	%ebx,%edi
63	leaq	K256(%rip),%rbp
64	xorl	%ecx,%edi
65	movl	0(%rsi),%r12d
66	movl	%r8d,%r13d
67	movl	%eax,%r14d
68	bswapl	%r12d
69	rorl	$14,%r13d
70	movl	%r9d,%r15d
71
72	xorl	%r8d,%r13d
73	rorl	$9,%r14d
74	xorl	%r10d,%r15d
75
76	movl	%r12d,0(%rsp)
77	xorl	%eax,%r14d
78	andl	%r8d,%r15d
79
80	rorl	$5,%r13d
81	addl	%r11d,%r12d
82	xorl	%r10d,%r15d
83
84	rorl	$11,%r14d
85	xorl	%r8d,%r13d
86	addl	%r15d,%r12d
87
88	movl	%eax,%r15d
89	addl	(%rbp),%r12d
90	xorl	%eax,%r14d
91
92	xorl	%ebx,%r15d
93	rorl	$6,%r13d
94	movl	%ebx,%r11d
95
96	andl	%r15d,%edi
97	rorl	$2,%r14d
98	addl	%r13d,%r12d
99
100	xorl	%edi,%r11d
101	addl	%r12d,%edx
102	addl	%r12d,%r11d
103
104	leaq	4(%rbp),%rbp
105	addl	%r14d,%r11d
106	movl	4(%rsi),%r12d
107	movl	%edx,%r13d
108	movl	%r11d,%r14d
109	bswapl	%r12d
110	rorl	$14,%r13d
111	movl	%r8d,%edi
112
113	xorl	%edx,%r13d
114	rorl	$9,%r14d
115	xorl	%r9d,%edi
116
117	movl	%r12d,4(%rsp)
118	xorl	%r11d,%r14d
119	andl	%edx,%edi
120
121	rorl	$5,%r13d
122	addl	%r10d,%r12d
123	xorl	%r9d,%edi
124
125	rorl	$11,%r14d
126	xorl	%edx,%r13d
127	addl	%edi,%r12d
128
129	movl	%r11d,%edi
130	addl	(%rbp),%r12d
131	xorl	%r11d,%r14d
132
133	xorl	%eax,%edi
134	rorl	$6,%r13d
135	movl	%eax,%r10d
136
137	andl	%edi,%r15d
138	rorl	$2,%r14d
139	addl	%r13d,%r12d
140
141	xorl	%r15d,%r10d
142	addl	%r12d,%ecx
143	addl	%r12d,%r10d
144
145	leaq	4(%rbp),%rbp
146	addl	%r14d,%r10d
147	movl	8(%rsi),%r12d
148	movl	%ecx,%r13d
149	movl	%r10d,%r14d
150	bswapl	%r12d
151	rorl	$14,%r13d
152	movl	%edx,%r15d
153
154	xorl	%ecx,%r13d
155	rorl	$9,%r14d
156	xorl	%r8d,%r15d
157
158	movl	%r12d,8(%rsp)
159	xorl	%r10d,%r14d
160	andl	%ecx,%r15d
161
162	rorl	$5,%r13d
163	addl	%r9d,%r12d
164	xorl	%r8d,%r15d
165
166	rorl	$11,%r14d
167	xorl	%ecx,%r13d
168	addl	%r15d,%r12d
169
170	movl	%r10d,%r15d
171	addl	(%rbp),%r12d
172	xorl	%r10d,%r14d
173
174	xorl	%r11d,%r15d
175	rorl	$6,%r13d
176	movl	%r11d,%r9d
177
178	andl	%r15d,%edi
179	rorl	$2,%r14d
180	addl	%r13d,%r12d
181
182	xorl	%edi,%r9d
183	addl	%r12d,%ebx
184	addl	%r12d,%r9d
185
186	leaq	4(%rbp),%rbp
187	addl	%r14d,%r9d
188	movl	12(%rsi),%r12d
189	movl	%ebx,%r13d
190	movl	%r9d,%r14d
191	bswapl	%r12d
192	rorl	$14,%r13d
193	movl	%ecx,%edi
194
195	xorl	%ebx,%r13d
196	rorl	$9,%r14d
197	xorl	%edx,%edi
198
199	movl	%r12d,12(%rsp)
200	xorl	%r9d,%r14d
201	andl	%ebx,%edi
202
203	rorl	$5,%r13d
204	addl	%r8d,%r12d
205	xorl	%edx,%edi
206
207	rorl	$11,%r14d
208	xorl	%ebx,%r13d
209	addl	%edi,%r12d
210
211	movl	%r9d,%edi
212	addl	(%rbp),%r12d
213	xorl	%r9d,%r14d
214
215	xorl	%r10d,%edi
216	rorl	$6,%r13d
217	movl	%r10d,%r8d
218
219	andl	%edi,%r15d
220	rorl	$2,%r14d
221	addl	%r13d,%r12d
222
223	xorl	%r15d,%r8d
224	addl	%r12d,%eax
225	addl	%r12d,%r8d
226
227	leaq	20(%rbp),%rbp
228	addl	%r14d,%r8d
229	movl	16(%rsi),%r12d
230	movl	%eax,%r13d
231	movl	%r8d,%r14d
232	bswapl	%r12d
233	rorl	$14,%r13d
234	movl	%ebx,%r15d
235
236	xorl	%eax,%r13d
237	rorl	$9,%r14d
238	xorl	%ecx,%r15d
239
240	movl	%r12d,16(%rsp)
241	xorl	%r8d,%r14d
242	andl	%eax,%r15d
243
244	rorl	$5,%r13d
245	addl	%edx,%r12d
246	xorl	%ecx,%r15d
247
248	rorl	$11,%r14d
249	xorl	%eax,%r13d
250	addl	%r15d,%r12d
251
252	movl	%r8d,%r15d
253	addl	(%rbp),%r12d
254	xorl	%r8d,%r14d
255
256	xorl	%r9d,%r15d
257	rorl	$6,%r13d
258	movl	%r9d,%edx
259
260	andl	%r15d,%edi
261	rorl	$2,%r14d
262	addl	%r13d,%r12d
263
264	xorl	%edi,%edx
265	addl	%r12d,%r11d
266	addl	%r12d,%edx
267
268	leaq	4(%rbp),%rbp
269	addl	%r14d,%edx
270	movl	20(%rsi),%r12d
271	movl	%r11d,%r13d
272	movl	%edx,%r14d
273	bswapl	%r12d
274	rorl	$14,%r13d
275	movl	%eax,%edi
276
277	xorl	%r11d,%r13d
278	rorl	$9,%r14d
279	xorl	%ebx,%edi
280
281	movl	%r12d,20(%rsp)
282	xorl	%edx,%r14d
283	andl	%r11d,%edi
284
285	rorl	$5,%r13d
286	addl	%ecx,%r12d
287	xorl	%ebx,%edi
288
289	rorl	$11,%r14d
290	xorl	%r11d,%r13d
291	addl	%edi,%r12d
292
293	movl	%edx,%edi
294	addl	(%rbp),%r12d
295	xorl	%edx,%r14d
296
297	xorl	%r8d,%edi
298	rorl	$6,%r13d
299	movl	%r8d,%ecx
300
301	andl	%edi,%r15d
302	rorl	$2,%r14d
303	addl	%r13d,%r12d
304
305	xorl	%r15d,%ecx
306	addl	%r12d,%r10d
307	addl	%r12d,%ecx
308
309	leaq	4(%rbp),%rbp
310	addl	%r14d,%ecx
311	movl	24(%rsi),%r12d
312	movl	%r10d,%r13d
313	movl	%ecx,%r14d
314	bswapl	%r12d
315	rorl	$14,%r13d
316	movl	%r11d,%r15d
317
318	xorl	%r10d,%r13d
319	rorl	$9,%r14d
320	xorl	%eax,%r15d
321
322	movl	%r12d,24(%rsp)
323	xorl	%ecx,%r14d
324	andl	%r10d,%r15d
325
326	rorl	$5,%r13d
327	addl	%ebx,%r12d
328	xorl	%eax,%r15d
329
330	rorl	$11,%r14d
331	xorl	%r10d,%r13d
332	addl	%r15d,%r12d
333
334	movl	%ecx,%r15d
335	addl	(%rbp),%r12d
336	xorl	%ecx,%r14d
337
338	xorl	%edx,%r15d
339	rorl	$6,%r13d
340	movl	%edx,%ebx
341
342	andl	%r15d,%edi
343	rorl	$2,%r14d
344	addl	%r13d,%r12d
345
346	xorl	%edi,%ebx
347	addl	%r12d,%r9d
348	addl	%r12d,%ebx
349
350	leaq	4(%rbp),%rbp
351	addl	%r14d,%ebx
352	movl	28(%rsi),%r12d
353	movl	%r9d,%r13d
354	movl	%ebx,%r14d
355	bswapl	%r12d
356	rorl	$14,%r13d
357	movl	%r10d,%edi
358
359	xorl	%r9d,%r13d
360	rorl	$9,%r14d
361	xorl	%r11d,%edi
362
363	movl	%r12d,28(%rsp)
364	xorl	%ebx,%r14d
365	andl	%r9d,%edi
366
367	rorl	$5,%r13d
368	addl	%eax,%r12d
369	xorl	%r11d,%edi
370
371	rorl	$11,%r14d
372	xorl	%r9d,%r13d
373	addl	%edi,%r12d
374
375	movl	%ebx,%edi
376	addl	(%rbp),%r12d
377	xorl	%ebx,%r14d
378
379	xorl	%ecx,%edi
380	rorl	$6,%r13d
381	movl	%ecx,%eax
382
383	andl	%edi,%r15d
384	rorl	$2,%r14d
385	addl	%r13d,%r12d
386
387	xorl	%r15d,%eax
388	addl	%r12d,%r8d
389	addl	%r12d,%eax
390
391	leaq	20(%rbp),%rbp
392	addl	%r14d,%eax
393	movl	32(%rsi),%r12d
394	movl	%r8d,%r13d
395	movl	%eax,%r14d
396	bswapl	%r12d
397	rorl	$14,%r13d
398	movl	%r9d,%r15d
399
400	xorl	%r8d,%r13d
401	rorl	$9,%r14d
402	xorl	%r10d,%r15d
403
404	movl	%r12d,32(%rsp)
405	xorl	%eax,%r14d
406	andl	%r8d,%r15d
407
408	rorl	$5,%r13d
409	addl	%r11d,%r12d
410	xorl	%r10d,%r15d
411
412	rorl	$11,%r14d
413	xorl	%r8d,%r13d
414	addl	%r15d,%r12d
415
416	movl	%eax,%r15d
417	addl	(%rbp),%r12d
418	xorl	%eax,%r14d
419
420	xorl	%ebx,%r15d
421	rorl	$6,%r13d
422	movl	%ebx,%r11d
423
424	andl	%r15d,%edi
425	rorl	$2,%r14d
426	addl	%r13d,%r12d
427
428	xorl	%edi,%r11d
429	addl	%r12d,%edx
430	addl	%r12d,%r11d
431
432	leaq	4(%rbp),%rbp
433	addl	%r14d,%r11d
434	movl	36(%rsi),%r12d
435	movl	%edx,%r13d
436	movl	%r11d,%r14d
437	bswapl	%r12d
438	rorl	$14,%r13d
439	movl	%r8d,%edi
440
441	xorl	%edx,%r13d
442	rorl	$9,%r14d
443	xorl	%r9d,%edi
444
445	movl	%r12d,36(%rsp)
446	xorl	%r11d,%r14d
447	andl	%edx,%edi
448
449	rorl	$5,%r13d
450	addl	%r10d,%r12d
451	xorl	%r9d,%edi
452
453	rorl	$11,%r14d
454	xorl	%edx,%r13d
455	addl	%edi,%r12d
456
457	movl	%r11d,%edi
458	addl	(%rbp),%r12d
459	xorl	%r11d,%r14d
460
461	xorl	%eax,%edi
462	rorl	$6,%r13d
463	movl	%eax,%r10d
464
465	andl	%edi,%r15d
466	rorl	$2,%r14d
467	addl	%r13d,%r12d
468
469	xorl	%r15d,%r10d
470	addl	%r12d,%ecx
471	addl	%r12d,%r10d
472
473	leaq	4(%rbp),%rbp
474	addl	%r14d,%r10d
475	movl	40(%rsi),%r12d
476	movl	%ecx,%r13d
477	movl	%r10d,%r14d
478	bswapl	%r12d
479	rorl	$14,%r13d
480	movl	%edx,%r15d
481
482	xorl	%ecx,%r13d
483	rorl	$9,%r14d
484	xorl	%r8d,%r15d
485
486	movl	%r12d,40(%rsp)
487	xorl	%r10d,%r14d
488	andl	%ecx,%r15d
489
490	rorl	$5,%r13d
491	addl	%r9d,%r12d
492	xorl	%r8d,%r15d
493
494	rorl	$11,%r14d
495	xorl	%ecx,%r13d
496	addl	%r15d,%r12d
497
498	movl	%r10d,%r15d
499	addl	(%rbp),%r12d
500	xorl	%r10d,%r14d
501
502	xorl	%r11d,%r15d
503	rorl	$6,%r13d
504	movl	%r11d,%r9d
505
506	andl	%r15d,%edi
507	rorl	$2,%r14d
508	addl	%r13d,%r12d
509
510	xorl	%edi,%r9d
511	addl	%r12d,%ebx
512	addl	%r12d,%r9d
513
514	leaq	4(%rbp),%rbp
515	addl	%r14d,%r9d
516	movl	44(%rsi),%r12d
517	movl	%ebx,%r13d
518	movl	%r9d,%r14d
519	bswapl	%r12d
520	rorl	$14,%r13d
521	movl	%ecx,%edi
522
523	xorl	%ebx,%r13d
524	rorl	$9,%r14d
525	xorl	%edx,%edi
526
527	movl	%r12d,44(%rsp)
528	xorl	%r9d,%r14d
529	andl	%ebx,%edi
530
531	rorl	$5,%r13d
532	addl	%r8d,%r12d
533	xorl	%edx,%edi
534
535	rorl	$11,%r14d
536	xorl	%ebx,%r13d
537	addl	%edi,%r12d
538
539	movl	%r9d,%edi
540	addl	(%rbp),%r12d
541	xorl	%r9d,%r14d
542
543	xorl	%r10d,%edi
544	rorl	$6,%r13d
545	movl	%r10d,%r8d
546
547	andl	%edi,%r15d
548	rorl	$2,%r14d
549	addl	%r13d,%r12d
550
551	xorl	%r15d,%r8d
552	addl	%r12d,%eax
553	addl	%r12d,%r8d
554
555	leaq	20(%rbp),%rbp
556	addl	%r14d,%r8d
557	movl	48(%rsi),%r12d
558	movl	%eax,%r13d
559	movl	%r8d,%r14d
560	bswapl	%r12d
561	rorl	$14,%r13d
562	movl	%ebx,%r15d
563
564	xorl	%eax,%r13d
565	rorl	$9,%r14d
566	xorl	%ecx,%r15d
567
568	movl	%r12d,48(%rsp)
569	xorl	%r8d,%r14d
570	andl	%eax,%r15d
571
572	rorl	$5,%r13d
573	addl	%edx,%r12d
574	xorl	%ecx,%r15d
575
576	rorl	$11,%r14d
577	xorl	%eax,%r13d
578	addl	%r15d,%r12d
579
580	movl	%r8d,%r15d
581	addl	(%rbp),%r12d
582	xorl	%r8d,%r14d
583
584	xorl	%r9d,%r15d
585	rorl	$6,%r13d
586	movl	%r9d,%edx
587
588	andl	%r15d,%edi
589	rorl	$2,%r14d
590	addl	%r13d,%r12d
591
592	xorl	%edi,%edx
593	addl	%r12d,%r11d
594	addl	%r12d,%edx
595
596	leaq	4(%rbp),%rbp
597	addl	%r14d,%edx
598	movl	52(%rsi),%r12d
599	movl	%r11d,%r13d
600	movl	%edx,%r14d
601	bswapl	%r12d
602	rorl	$14,%r13d
603	movl	%eax,%edi
604
605	xorl	%r11d,%r13d
606	rorl	$9,%r14d
607	xorl	%ebx,%edi
608
609	movl	%r12d,52(%rsp)
610	xorl	%edx,%r14d
611	andl	%r11d,%edi
612
613	rorl	$5,%r13d
614	addl	%ecx,%r12d
615	xorl	%ebx,%edi
616
617	rorl	$11,%r14d
618	xorl	%r11d,%r13d
619	addl	%edi,%r12d
620
621	movl	%edx,%edi
622	addl	(%rbp),%r12d
623	xorl	%edx,%r14d
624
625	xorl	%r8d,%edi
626	rorl	$6,%r13d
627	movl	%r8d,%ecx
628
629	andl	%edi,%r15d
630	rorl	$2,%r14d
631	addl	%r13d,%r12d
632
633	xorl	%r15d,%ecx
634	addl	%r12d,%r10d
635	addl	%r12d,%ecx
636
637	leaq	4(%rbp),%rbp
638	addl	%r14d,%ecx
639	movl	56(%rsi),%r12d
640	movl	%r10d,%r13d
641	movl	%ecx,%r14d
642	bswapl	%r12d
643	rorl	$14,%r13d
644	movl	%r11d,%r15d
645
646	xorl	%r10d,%r13d
647	rorl	$9,%r14d
648	xorl	%eax,%r15d
649
650	movl	%r12d,56(%rsp)
651	xorl	%ecx,%r14d
652	andl	%r10d,%r15d
653
654	rorl	$5,%r13d
655	addl	%ebx,%r12d
656	xorl	%eax,%r15d
657
658	rorl	$11,%r14d
659	xorl	%r10d,%r13d
660	addl	%r15d,%r12d
661
662	movl	%ecx,%r15d
663	addl	(%rbp),%r12d
664	xorl	%ecx,%r14d
665
666	xorl	%edx,%r15d
667	rorl	$6,%r13d
668	movl	%edx,%ebx
669
670	andl	%r15d,%edi
671	rorl	$2,%r14d
672	addl	%r13d,%r12d
673
674	xorl	%edi,%ebx
675	addl	%r12d,%r9d
676	addl	%r12d,%ebx
677
678	leaq	4(%rbp),%rbp
679	addl	%r14d,%ebx
680	movl	60(%rsi),%r12d
681	movl	%r9d,%r13d
682	movl	%ebx,%r14d
683	bswapl	%r12d
684	rorl	$14,%r13d
685	movl	%r10d,%edi
686
687	xorl	%r9d,%r13d
688	rorl	$9,%r14d
689	xorl	%r11d,%edi
690
691	movl	%r12d,60(%rsp)
692	xorl	%ebx,%r14d
693	andl	%r9d,%edi
694
695	rorl	$5,%r13d
696	addl	%eax,%r12d
697	xorl	%r11d,%edi
698
699	rorl	$11,%r14d
700	xorl	%r9d,%r13d
701	addl	%edi,%r12d
702
703	movl	%ebx,%edi
704	addl	(%rbp),%r12d
705	xorl	%ebx,%r14d
706
707	xorl	%ecx,%edi
708	rorl	$6,%r13d
709	movl	%ecx,%eax
710
711	andl	%edi,%r15d
712	rorl	$2,%r14d
713	addl	%r13d,%r12d
714
715	xorl	%r15d,%eax
716	addl	%r12d,%r8d
717	addl	%r12d,%eax
718
719	leaq	20(%rbp),%rbp
720	jmp	.Lrounds_16_xx
721.align	16
722.Lrounds_16_xx:
723	movl	4(%rsp),%r13d
724	movl	56(%rsp),%r15d
725
726	movl	%r13d,%r12d
727	rorl	$11,%r13d
728	addl	%r14d,%eax
729	movl	%r15d,%r14d
730	rorl	$2,%r15d
731
732	xorl	%r12d,%r13d
733	shrl	$3,%r12d
734	rorl	$7,%r13d
735	xorl	%r14d,%r15d
736	shrl	$10,%r14d
737
738	rorl	$17,%r15d
739	xorl	%r13d,%r12d
740	xorl	%r14d,%r15d
741	addl	36(%rsp),%r12d
742
743	addl	0(%rsp),%r12d
744	movl	%r8d,%r13d
745	addl	%r15d,%r12d
746	movl	%eax,%r14d
747	rorl	$14,%r13d
748	movl	%r9d,%r15d
749
750	xorl	%r8d,%r13d
751	rorl	$9,%r14d
752	xorl	%r10d,%r15d
753
754	movl	%r12d,0(%rsp)
755	xorl	%eax,%r14d
756	andl	%r8d,%r15d
757
758	rorl	$5,%r13d
759	addl	%r11d,%r12d
760	xorl	%r10d,%r15d
761
762	rorl	$11,%r14d
763	xorl	%r8d,%r13d
764	addl	%r15d,%r12d
765
766	movl	%eax,%r15d
767	addl	(%rbp),%r12d
768	xorl	%eax,%r14d
769
770	xorl	%ebx,%r15d
771	rorl	$6,%r13d
772	movl	%ebx,%r11d
773
774	andl	%r15d,%edi
775	rorl	$2,%r14d
776	addl	%r13d,%r12d
777
778	xorl	%edi,%r11d
779	addl	%r12d,%edx
780	addl	%r12d,%r11d
781
782	leaq	4(%rbp),%rbp
783	movl	8(%rsp),%r13d
784	movl	60(%rsp),%edi
785
786	movl	%r13d,%r12d
787	rorl	$11,%r13d
788	addl	%r14d,%r11d
789	movl	%edi,%r14d
790	rorl	$2,%edi
791
792	xorl	%r12d,%r13d
793	shrl	$3,%r12d
794	rorl	$7,%r13d
795	xorl	%r14d,%edi
796	shrl	$10,%r14d
797
798	rorl	$17,%edi
799	xorl	%r13d,%r12d
800	xorl	%r14d,%edi
801	addl	40(%rsp),%r12d
802
803	addl	4(%rsp),%r12d
804	movl	%edx,%r13d
805	addl	%edi,%r12d
806	movl	%r11d,%r14d
807	rorl	$14,%r13d
808	movl	%r8d,%edi
809
810	xorl	%edx,%r13d
811	rorl	$9,%r14d
812	xorl	%r9d,%edi
813
814	movl	%r12d,4(%rsp)
815	xorl	%r11d,%r14d
816	andl	%edx,%edi
817
818	rorl	$5,%r13d
819	addl	%r10d,%r12d
820	xorl	%r9d,%edi
821
822	rorl	$11,%r14d
823	xorl	%edx,%r13d
824	addl	%edi,%r12d
825
826	movl	%r11d,%edi
827	addl	(%rbp),%r12d
828	xorl	%r11d,%r14d
829
830	xorl	%eax,%edi
831	rorl	$6,%r13d
832	movl	%eax,%r10d
833
834	andl	%edi,%r15d
835	rorl	$2,%r14d
836	addl	%r13d,%r12d
837
838	xorl	%r15d,%r10d
839	addl	%r12d,%ecx
840	addl	%r12d,%r10d
841
842	leaq	4(%rbp),%rbp
843	movl	12(%rsp),%r13d
844	movl	0(%rsp),%r15d
845
846	movl	%r13d,%r12d
847	rorl	$11,%r13d
848	addl	%r14d,%r10d
849	movl	%r15d,%r14d
850	rorl	$2,%r15d
851
852	xorl	%r12d,%r13d
853	shrl	$3,%r12d
854	rorl	$7,%r13d
855	xorl	%r14d,%r15d
856	shrl	$10,%r14d
857
858	rorl	$17,%r15d
859	xorl	%r13d,%r12d
860	xorl	%r14d,%r15d
861	addl	44(%rsp),%r12d
862
863	addl	8(%rsp),%r12d
864	movl	%ecx,%r13d
865	addl	%r15d,%r12d
866	movl	%r10d,%r14d
867	rorl	$14,%r13d
868	movl	%edx,%r15d
869
870	xorl	%ecx,%r13d
871	rorl	$9,%r14d
872	xorl	%r8d,%r15d
873
874	movl	%r12d,8(%rsp)
875	xorl	%r10d,%r14d
876	andl	%ecx,%r15d
877
878	rorl	$5,%r13d
879	addl	%r9d,%r12d
880	xorl	%r8d,%r15d
881
882	rorl	$11,%r14d
883	xorl	%ecx,%r13d
884	addl	%r15d,%r12d
885
886	movl	%r10d,%r15d
887	addl	(%rbp),%r12d
888	xorl	%r10d,%r14d
889
890	xorl	%r11d,%r15d
891	rorl	$6,%r13d
892	movl	%r11d,%r9d
893
894	andl	%r15d,%edi
895	rorl	$2,%r14d
896	addl	%r13d,%r12d
897
898	xorl	%edi,%r9d
899	addl	%r12d,%ebx
900	addl	%r12d,%r9d
901
902	leaq	4(%rbp),%rbp
903	movl	16(%rsp),%r13d
904	movl	4(%rsp),%edi
905
906	movl	%r13d,%r12d
907	rorl	$11,%r13d
908	addl	%r14d,%r9d
909	movl	%edi,%r14d
910	rorl	$2,%edi
911
912	xorl	%r12d,%r13d
913	shrl	$3,%r12d
914	rorl	$7,%r13d
915	xorl	%r14d,%edi
916	shrl	$10,%r14d
917
918	rorl	$17,%edi
919	xorl	%r13d,%r12d
920	xorl	%r14d,%edi
921	addl	48(%rsp),%r12d
922
923	addl	12(%rsp),%r12d
924	movl	%ebx,%r13d
925	addl	%edi,%r12d
926	movl	%r9d,%r14d
927	rorl	$14,%r13d
928	movl	%ecx,%edi
929
930	xorl	%ebx,%r13d
931	rorl	$9,%r14d
932	xorl	%edx,%edi
933
934	movl	%r12d,12(%rsp)
935	xorl	%r9d,%r14d
936	andl	%ebx,%edi
937
938	rorl	$5,%r13d
939	addl	%r8d,%r12d
940	xorl	%edx,%edi
941
942	rorl	$11,%r14d
943	xorl	%ebx,%r13d
944	addl	%edi,%r12d
945
946	movl	%r9d,%edi
947	addl	(%rbp),%r12d
948	xorl	%r9d,%r14d
949
950	xorl	%r10d,%edi
951	rorl	$6,%r13d
952	movl	%r10d,%r8d
953
954	andl	%edi,%r15d
955	rorl	$2,%r14d
956	addl	%r13d,%r12d
957
958	xorl	%r15d,%r8d
959	addl	%r12d,%eax
960	addl	%r12d,%r8d
961
962	leaq	20(%rbp),%rbp
963	movl	20(%rsp),%r13d
964	movl	8(%rsp),%r15d
965
966	movl	%r13d,%r12d
967	rorl	$11,%r13d
968	addl	%r14d,%r8d
969	movl	%r15d,%r14d
970	rorl	$2,%r15d
971
972	xorl	%r12d,%r13d
973	shrl	$3,%r12d
974	rorl	$7,%r13d
975	xorl	%r14d,%r15d
976	shrl	$10,%r14d
977
978	rorl	$17,%r15d
979	xorl	%r13d,%r12d
980	xorl	%r14d,%r15d
981	addl	52(%rsp),%r12d
982
983	addl	16(%rsp),%r12d
984	movl	%eax,%r13d
985	addl	%r15d,%r12d
986	movl	%r8d,%r14d
987	rorl	$14,%r13d
988	movl	%ebx,%r15d
989
990	xorl	%eax,%r13d
991	rorl	$9,%r14d
992	xorl	%ecx,%r15d
993
994	movl	%r12d,16(%rsp)
995	xorl	%r8d,%r14d
996	andl	%eax,%r15d
997
998	rorl	$5,%r13d
999	addl	%edx,%r12d
1000	xorl	%ecx,%r15d
1001
1002	rorl	$11,%r14d
1003	xorl	%eax,%r13d
1004	addl	%r15d,%r12d
1005
1006	movl	%r8d,%r15d
1007	addl	(%rbp),%r12d
1008	xorl	%r8d,%r14d
1009
1010	xorl	%r9d,%r15d
1011	rorl	$6,%r13d
1012	movl	%r9d,%edx
1013
1014	andl	%r15d,%edi
1015	rorl	$2,%r14d
1016	addl	%r13d,%r12d
1017
1018	xorl	%edi,%edx
1019	addl	%r12d,%r11d
1020	addl	%r12d,%edx
1021
1022	leaq	4(%rbp),%rbp
1023	movl	24(%rsp),%r13d
1024	movl	12(%rsp),%edi
1025
1026	movl	%r13d,%r12d
1027	rorl	$11,%r13d
1028	addl	%r14d,%edx
1029	movl	%edi,%r14d
1030	rorl	$2,%edi
1031
1032	xorl	%r12d,%r13d
1033	shrl	$3,%r12d
1034	rorl	$7,%r13d
1035	xorl	%r14d,%edi
1036	shrl	$10,%r14d
1037
1038	rorl	$17,%edi
1039	xorl	%r13d,%r12d
1040	xorl	%r14d,%edi
1041	addl	56(%rsp),%r12d
1042
1043	addl	20(%rsp),%r12d
1044	movl	%r11d,%r13d
1045	addl	%edi,%r12d
1046	movl	%edx,%r14d
1047	rorl	$14,%r13d
1048	movl	%eax,%edi
1049
1050	xorl	%r11d,%r13d
1051	rorl	$9,%r14d
1052	xorl	%ebx,%edi
1053
1054	movl	%r12d,20(%rsp)
1055	xorl	%edx,%r14d
1056	andl	%r11d,%edi
1057
1058	rorl	$5,%r13d
1059	addl	%ecx,%r12d
1060	xorl	%ebx,%edi
1061
1062	rorl	$11,%r14d
1063	xorl	%r11d,%r13d
1064	addl	%edi,%r12d
1065
1066	movl	%edx,%edi
1067	addl	(%rbp),%r12d
1068	xorl	%edx,%r14d
1069
1070	xorl	%r8d,%edi
1071	rorl	$6,%r13d
1072	movl	%r8d,%ecx
1073
1074	andl	%edi,%r15d
1075	rorl	$2,%r14d
1076	addl	%r13d,%r12d
1077
1078	xorl	%r15d,%ecx
1079	addl	%r12d,%r10d
1080	addl	%r12d,%ecx
1081
1082	leaq	4(%rbp),%rbp
1083	movl	28(%rsp),%r13d
1084	movl	16(%rsp),%r15d
1085
1086	movl	%r13d,%r12d
1087	rorl	$11,%r13d
1088	addl	%r14d,%ecx
1089	movl	%r15d,%r14d
1090	rorl	$2,%r15d
1091
1092	xorl	%r12d,%r13d
1093	shrl	$3,%r12d
1094	rorl	$7,%r13d
1095	xorl	%r14d,%r15d
1096	shrl	$10,%r14d
1097
1098	rorl	$17,%r15d
1099	xorl	%r13d,%r12d
1100	xorl	%r14d,%r15d
1101	addl	60(%rsp),%r12d
1102
1103	addl	24(%rsp),%r12d
1104	movl	%r10d,%r13d
1105	addl	%r15d,%r12d
1106	movl	%ecx,%r14d
1107	rorl	$14,%r13d
1108	movl	%r11d,%r15d
1109
1110	xorl	%r10d,%r13d
1111	rorl	$9,%r14d
1112	xorl	%eax,%r15d
1113
1114	movl	%r12d,24(%rsp)
1115	xorl	%ecx,%r14d
1116	andl	%r10d,%r15d
1117
1118	rorl	$5,%r13d
1119	addl	%ebx,%r12d
1120	xorl	%eax,%r15d
1121
1122	rorl	$11,%r14d
1123	xorl	%r10d,%r13d
1124	addl	%r15d,%r12d
1125
1126	movl	%ecx,%r15d
1127	addl	(%rbp),%r12d
1128	xorl	%ecx,%r14d
1129
1130	xorl	%edx,%r15d
1131	rorl	$6,%r13d
1132	movl	%edx,%ebx
1133
1134	andl	%r15d,%edi
1135	rorl	$2,%r14d
1136	addl	%r13d,%r12d
1137
1138	xorl	%edi,%ebx
1139	addl	%r12d,%r9d
1140	addl	%r12d,%ebx
1141
1142	leaq	4(%rbp),%rbp
1143	movl	32(%rsp),%r13d
1144	movl	20(%rsp),%edi
1145
1146	movl	%r13d,%r12d
1147	rorl	$11,%r13d
1148	addl	%r14d,%ebx
1149	movl	%edi,%r14d
1150	rorl	$2,%edi
1151
1152	xorl	%r12d,%r13d
1153	shrl	$3,%r12d
1154	rorl	$7,%r13d
1155	xorl	%r14d,%edi
1156	shrl	$10,%r14d
1157
1158	rorl	$17,%edi
1159	xorl	%r13d,%r12d
1160	xorl	%r14d,%edi
1161	addl	0(%rsp),%r12d
1162
1163	addl	28(%rsp),%r12d
1164	movl	%r9d,%r13d
1165	addl	%edi,%r12d
1166	movl	%ebx,%r14d
1167	rorl	$14,%r13d
1168	movl	%r10d,%edi
1169
1170	xorl	%r9d,%r13d
1171	rorl	$9,%r14d
1172	xorl	%r11d,%edi
1173
1174	movl	%r12d,28(%rsp)
1175	xorl	%ebx,%r14d
1176	andl	%r9d,%edi
1177
1178	rorl	$5,%r13d
1179	addl	%eax,%r12d
1180	xorl	%r11d,%edi
1181
1182	rorl	$11,%r14d
1183	xorl	%r9d,%r13d
1184	addl	%edi,%r12d
1185
1186	movl	%ebx,%edi
1187	addl	(%rbp),%r12d
1188	xorl	%ebx,%r14d
1189
1190	xorl	%ecx,%edi
1191	rorl	$6,%r13d
1192	movl	%ecx,%eax
1193
1194	andl	%edi,%r15d
1195	rorl	$2,%r14d
1196	addl	%r13d,%r12d
1197
1198	xorl	%r15d,%eax
1199	addl	%r12d,%r8d
1200	addl	%r12d,%eax
1201
1202	leaq	20(%rbp),%rbp
1203	movl	36(%rsp),%r13d
1204	movl	24(%rsp),%r15d
1205
1206	movl	%r13d,%r12d
1207	rorl	$11,%r13d
1208	addl	%r14d,%eax
1209	movl	%r15d,%r14d
1210	rorl	$2,%r15d
1211
1212	xorl	%r12d,%r13d
1213	shrl	$3,%r12d
1214	rorl	$7,%r13d
1215	xorl	%r14d,%r15d
1216	shrl	$10,%r14d
1217
1218	rorl	$17,%r15d
1219	xorl	%r13d,%r12d
1220	xorl	%r14d,%r15d
1221	addl	4(%rsp),%r12d
1222
1223	addl	32(%rsp),%r12d
1224	movl	%r8d,%r13d
1225	addl	%r15d,%r12d
1226	movl	%eax,%r14d
1227	rorl	$14,%r13d
1228	movl	%r9d,%r15d
1229
1230	xorl	%r8d,%r13d
1231	rorl	$9,%r14d
1232	xorl	%r10d,%r15d
1233
1234	movl	%r12d,32(%rsp)
1235	xorl	%eax,%r14d
1236	andl	%r8d,%r15d
1237
1238	rorl	$5,%r13d
1239	addl	%r11d,%r12d
1240	xorl	%r10d,%r15d
1241
1242	rorl	$11,%r14d
1243	xorl	%r8d,%r13d
1244	addl	%r15d,%r12d
1245
1246	movl	%eax,%r15d
1247	addl	(%rbp),%r12d
1248	xorl	%eax,%r14d
1249
1250	xorl	%ebx,%r15d
1251	rorl	$6,%r13d
1252	movl	%ebx,%r11d
1253
1254	andl	%r15d,%edi
1255	rorl	$2,%r14d
1256	addl	%r13d,%r12d
1257
1258	xorl	%edi,%r11d
1259	addl	%r12d,%edx
1260	addl	%r12d,%r11d
1261
1262	leaq	4(%rbp),%rbp
1263	movl	40(%rsp),%r13d
1264	movl	28(%rsp),%edi
1265
1266	movl	%r13d,%r12d
1267	rorl	$11,%r13d
1268	addl	%r14d,%r11d
1269	movl	%edi,%r14d
1270	rorl	$2,%edi
1271
1272	xorl	%r12d,%r13d
1273	shrl	$3,%r12d
1274	rorl	$7,%r13d
1275	xorl	%r14d,%edi
1276	shrl	$10,%r14d
1277
1278	rorl	$17,%edi
1279	xorl	%r13d,%r12d
1280	xorl	%r14d,%edi
1281	addl	8(%rsp),%r12d
1282
1283	addl	36(%rsp),%r12d
1284	movl	%edx,%r13d
1285	addl	%edi,%r12d
1286	movl	%r11d,%r14d
1287	rorl	$14,%r13d
1288	movl	%r8d,%edi
1289
1290	xorl	%edx,%r13d
1291	rorl	$9,%r14d
1292	xorl	%r9d,%edi
1293
1294	movl	%r12d,36(%rsp)
1295	xorl	%r11d,%r14d
1296	andl	%edx,%edi
1297
1298	rorl	$5,%r13d
1299	addl	%r10d,%r12d
1300	xorl	%r9d,%edi
1301
1302	rorl	$11,%r14d
1303	xorl	%edx,%r13d
1304	addl	%edi,%r12d
1305
1306	movl	%r11d,%edi
1307	addl	(%rbp),%r12d
1308	xorl	%r11d,%r14d
1309
1310	xorl	%eax,%edi
1311	rorl	$6,%r13d
1312	movl	%eax,%r10d
1313
1314	andl	%edi,%r15d
1315	rorl	$2,%r14d
1316	addl	%r13d,%r12d
1317
1318	xorl	%r15d,%r10d
1319	addl	%r12d,%ecx
1320	addl	%r12d,%r10d
1321
1322	leaq	4(%rbp),%rbp
1323	movl	44(%rsp),%r13d
1324	movl	32(%rsp),%r15d
1325
1326	movl	%r13d,%r12d
1327	rorl	$11,%r13d
1328	addl	%r14d,%r10d
1329	movl	%r15d,%r14d
1330	rorl	$2,%r15d
1331
1332	xorl	%r12d,%r13d
1333	shrl	$3,%r12d
1334	rorl	$7,%r13d
1335	xorl	%r14d,%r15d
1336	shrl	$10,%r14d
1337
1338	rorl	$17,%r15d
1339	xorl	%r13d,%r12d
1340	xorl	%r14d,%r15d
1341	addl	12(%rsp),%r12d
1342
1343	addl	40(%rsp),%r12d
1344	movl	%ecx,%r13d
1345	addl	%r15d,%r12d
1346	movl	%r10d,%r14d
1347	rorl	$14,%r13d
1348	movl	%edx,%r15d
1349
1350	xorl	%ecx,%r13d
1351	rorl	$9,%r14d
1352	xorl	%r8d,%r15d
1353
1354	movl	%r12d,40(%rsp)
1355	xorl	%r10d,%r14d
1356	andl	%ecx,%r15d
1357
1358	rorl	$5,%r13d
1359	addl	%r9d,%r12d
1360	xorl	%r8d,%r15d
1361
1362	rorl	$11,%r14d
1363	xorl	%ecx,%r13d
1364	addl	%r15d,%r12d
1365
1366	movl	%r10d,%r15d
1367	addl	(%rbp),%r12d
1368	xorl	%r10d,%r14d
1369
1370	xorl	%r11d,%r15d
1371	rorl	$6,%r13d
1372	movl	%r11d,%r9d
1373
1374	andl	%r15d,%edi
1375	rorl	$2,%r14d
1376	addl	%r13d,%r12d
1377
1378	xorl	%edi,%r9d
1379	addl	%r12d,%ebx
1380	addl	%r12d,%r9d
1381
1382	leaq	4(%rbp),%rbp
1383	movl	48(%rsp),%r13d
1384	movl	36(%rsp),%edi
1385
1386	movl	%r13d,%r12d
1387	rorl	$11,%r13d
1388	addl	%r14d,%r9d
1389	movl	%edi,%r14d
1390	rorl	$2,%edi
1391
1392	xorl	%r12d,%r13d
1393	shrl	$3,%r12d
1394	rorl	$7,%r13d
1395	xorl	%r14d,%edi
1396	shrl	$10,%r14d
1397
1398	rorl	$17,%edi
1399	xorl	%r13d,%r12d
1400	xorl	%r14d,%edi
1401	addl	16(%rsp),%r12d
1402
1403	addl	44(%rsp),%r12d
1404	movl	%ebx,%r13d
1405	addl	%edi,%r12d
1406	movl	%r9d,%r14d
1407	rorl	$14,%r13d
1408	movl	%ecx,%edi
1409
1410	xorl	%ebx,%r13d
1411	rorl	$9,%r14d
1412	xorl	%edx,%edi
1413
1414	movl	%r12d,44(%rsp)
1415	xorl	%r9d,%r14d
1416	andl	%ebx,%edi
1417
1418	rorl	$5,%r13d
1419	addl	%r8d,%r12d
1420	xorl	%edx,%edi
1421
1422	rorl	$11,%r14d
1423	xorl	%ebx,%r13d
1424	addl	%edi,%r12d
1425
1426	movl	%r9d,%edi
1427	addl	(%rbp),%r12d
1428	xorl	%r9d,%r14d
1429
1430	xorl	%r10d,%edi
1431	rorl	$6,%r13d
1432	movl	%r10d,%r8d
1433
1434	andl	%edi,%r15d
1435	rorl	$2,%r14d
1436	addl	%r13d,%r12d
1437
1438	xorl	%r15d,%r8d
1439	addl	%r12d,%eax
1440	addl	%r12d,%r8d
1441
1442	leaq	20(%rbp),%rbp
1443	movl	52(%rsp),%r13d
1444	movl	40(%rsp),%r15d
1445
1446	movl	%r13d,%r12d
1447	rorl	$11,%r13d
1448	addl	%r14d,%r8d
1449	movl	%r15d,%r14d
1450	rorl	$2,%r15d
1451
1452	xorl	%r12d,%r13d
1453	shrl	$3,%r12d
1454	rorl	$7,%r13d
1455	xorl	%r14d,%r15d
1456	shrl	$10,%r14d
1457
1458	rorl	$17,%r15d
1459	xorl	%r13d,%r12d
1460	xorl	%r14d,%r15d
1461	addl	20(%rsp),%r12d
1462
1463	addl	48(%rsp),%r12d
1464	movl	%eax,%r13d
1465	addl	%r15d,%r12d
1466	movl	%r8d,%r14d
1467	rorl	$14,%r13d
1468	movl	%ebx,%r15d
1469
1470	xorl	%eax,%r13d
1471	rorl	$9,%r14d
1472	xorl	%ecx,%r15d
1473
1474	movl	%r12d,48(%rsp)
1475	xorl	%r8d,%r14d
1476	andl	%eax,%r15d
1477
1478	rorl	$5,%r13d
1479	addl	%edx,%r12d
1480	xorl	%ecx,%r15d
1481
1482	rorl	$11,%r14d
1483	xorl	%eax,%r13d
1484	addl	%r15d,%r12d
1485
1486	movl	%r8d,%r15d
1487	addl	(%rbp),%r12d
1488	xorl	%r8d,%r14d
1489
1490	xorl	%r9d,%r15d
1491	rorl	$6,%r13d
1492	movl	%r9d,%edx
1493
1494	andl	%r15d,%edi
1495	rorl	$2,%r14d
1496	addl	%r13d,%r12d
1497
1498	xorl	%edi,%edx
1499	addl	%r12d,%r11d
1500	addl	%r12d,%edx
1501
1502	leaq	4(%rbp),%rbp
1503	movl	56(%rsp),%r13d
1504	movl	44(%rsp),%edi
1505
1506	movl	%r13d,%r12d
1507	rorl	$11,%r13d
1508	addl	%r14d,%edx
1509	movl	%edi,%r14d
1510	rorl	$2,%edi
1511
1512	xorl	%r12d,%r13d
1513	shrl	$3,%r12d
1514	rorl	$7,%r13d
1515	xorl	%r14d,%edi
1516	shrl	$10,%r14d
1517
1518	rorl	$17,%edi
1519	xorl	%r13d,%r12d
1520	xorl	%r14d,%edi
1521	addl	24(%rsp),%r12d
1522
1523	addl	52(%rsp),%r12d
1524	movl	%r11d,%r13d
1525	addl	%edi,%r12d
1526	movl	%edx,%r14d
1527	rorl	$14,%r13d
1528	movl	%eax,%edi
1529
1530	xorl	%r11d,%r13d
1531	rorl	$9,%r14d
1532	xorl	%ebx,%edi
1533
1534	movl	%r12d,52(%rsp)
1535	xorl	%edx,%r14d
1536	andl	%r11d,%edi
1537
1538	rorl	$5,%r13d
1539	addl	%ecx,%r12d
1540	xorl	%ebx,%edi
1541
1542	rorl	$11,%r14d
1543	xorl	%r11d,%r13d
1544	addl	%edi,%r12d
1545
1546	movl	%edx,%edi
1547	addl	(%rbp),%r12d
1548	xorl	%edx,%r14d
1549
1550	xorl	%r8d,%edi
1551	rorl	$6,%r13d
1552	movl	%r8d,%ecx
1553
1554	andl	%edi,%r15d
1555	rorl	$2,%r14d
1556	addl	%r13d,%r12d
1557
1558	xorl	%r15d,%ecx
1559	addl	%r12d,%r10d
1560	addl	%r12d,%ecx
1561
1562	leaq	4(%rbp),%rbp
1563	movl	60(%rsp),%r13d
1564	movl	48(%rsp),%r15d
1565
1566	movl	%r13d,%r12d
1567	rorl	$11,%r13d
1568	addl	%r14d,%ecx
1569	movl	%r15d,%r14d
1570	rorl	$2,%r15d
1571
1572	xorl	%r12d,%r13d
1573	shrl	$3,%r12d
1574	rorl	$7,%r13d
1575	xorl	%r14d,%r15d
1576	shrl	$10,%r14d
1577
1578	rorl	$17,%r15d
1579	xorl	%r13d,%r12d
1580	xorl	%r14d,%r15d
1581	addl	28(%rsp),%r12d
1582
1583	addl	56(%rsp),%r12d
1584	movl	%r10d,%r13d
1585	addl	%r15d,%r12d
1586	movl	%ecx,%r14d
1587	rorl	$14,%r13d
1588	movl	%r11d,%r15d
1589
1590	xorl	%r10d,%r13d
1591	rorl	$9,%r14d
1592	xorl	%eax,%r15d
1593
1594	movl	%r12d,56(%rsp)
1595	xorl	%ecx,%r14d
1596	andl	%r10d,%r15d
1597
1598	rorl	$5,%r13d
1599	addl	%ebx,%r12d
1600	xorl	%eax,%r15d
1601
1602	rorl	$11,%r14d
1603	xorl	%r10d,%r13d
1604	addl	%r15d,%r12d
1605
1606	movl	%ecx,%r15d
1607	addl	(%rbp),%r12d
1608	xorl	%ecx,%r14d
1609
1610	xorl	%edx,%r15d
1611	rorl	$6,%r13d
1612	movl	%edx,%ebx
1613
1614	andl	%r15d,%edi
1615	rorl	$2,%r14d
1616	addl	%r13d,%r12d
1617
1618	xorl	%edi,%ebx
1619	addl	%r12d,%r9d
1620	addl	%r12d,%ebx
1621
1622	leaq	4(%rbp),%rbp
1623	movl	0(%rsp),%r13d
1624	movl	52(%rsp),%edi
1625
1626	movl	%r13d,%r12d
1627	rorl	$11,%r13d
1628	addl	%r14d,%ebx
1629	movl	%edi,%r14d
1630	rorl	$2,%edi
1631
1632	xorl	%r12d,%r13d
1633	shrl	$3,%r12d
1634	rorl	$7,%r13d
1635	xorl	%r14d,%edi
1636	shrl	$10,%r14d
1637
1638	rorl	$17,%edi
1639	xorl	%r13d,%r12d
1640	xorl	%r14d,%edi
1641	addl	32(%rsp),%r12d
1642
1643	addl	60(%rsp),%r12d
1644	movl	%r9d,%r13d
1645	addl	%edi,%r12d
1646	movl	%ebx,%r14d
1647	rorl	$14,%r13d
1648	movl	%r10d,%edi
1649
1650	xorl	%r9d,%r13d
1651	rorl	$9,%r14d
1652	xorl	%r11d,%edi
1653
1654	movl	%r12d,60(%rsp)
1655	xorl	%ebx,%r14d
1656	andl	%r9d,%edi
1657
1658	rorl	$5,%r13d
1659	addl	%eax,%r12d
1660	xorl	%r11d,%edi
1661
1662	rorl	$11,%r14d
1663	xorl	%r9d,%r13d
1664	addl	%edi,%r12d
1665
1666	movl	%ebx,%edi
1667	addl	(%rbp),%r12d
1668	xorl	%ebx,%r14d
1669
1670	xorl	%ecx,%edi
1671	rorl	$6,%r13d
1672	movl	%ecx,%eax
1673
1674	andl	%edi,%r15d
1675	rorl	$2,%r14d
1676	addl	%r13d,%r12d
1677
1678	xorl	%r15d,%eax
1679	addl	%r12d,%r8d
1680	addl	%r12d,%eax
1681
1682	leaq	20(%rbp),%rbp
1683	cmpb	$0,3(%rbp)
1684	jnz	.Lrounds_16_xx
1685
1686	movq	64+0(%rsp),%rdi
1687	addl	%r14d,%eax
1688	leaq	64(%rsi),%rsi
1689
1690	addl	0(%rdi),%eax
1691	addl	4(%rdi),%ebx
1692	addl	8(%rdi),%ecx
1693	addl	12(%rdi),%edx
1694	addl	16(%rdi),%r8d
1695	addl	20(%rdi),%r9d
1696	addl	24(%rdi),%r10d
1697	addl	28(%rdi),%r11d
1698
1699	cmpq	64+16(%rsp),%rsi
1700
1701	movl	%eax,0(%rdi)
1702	movl	%ebx,4(%rdi)
1703	movl	%ecx,8(%rdi)
1704	movl	%edx,12(%rdi)
1705	movl	%r8d,16(%rdi)
1706	movl	%r9d,20(%rdi)
1707	movl	%r10d,24(%rdi)
1708	movl	%r11d,28(%rdi)
1709	jb	.Lloop
1710
1711	movq	88(%rsp),%rsi
1712.cfi_def_cfa	%rsi,8
1713	movq	-48(%rsi),%r15
1714.cfi_restore	%r15
1715	movq	-40(%rsi),%r14
1716.cfi_restore	%r14
1717	movq	-32(%rsi),%r13
1718.cfi_restore	%r13
1719	movq	-24(%rsi),%r12
1720.cfi_restore	%r12
1721	movq	-16(%rsi),%rbp
1722.cfi_restore	%rbp
1723	movq	-8(%rsi),%rbx
1724.cfi_restore	%rbx
1725	leaq	(%rsi),%rsp
1726.cfi_def_cfa_register	%rsp
1727.Lepilogue:
1728	.byte	0xf3,0xc3
1729.cfi_endproc
1730.size	sha256_block_data_order,.-sha256_block_data_order
1731.align	64
1732.type	K256,@object
1733K256:
1734.long	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1735.long	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1736.long	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1737.long	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1738.long	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1739.long	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1740.long	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1741.long	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1742.long	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1743.long	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1744.long	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1745.long	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1746.long	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1747.long	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1748.long	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1749.long	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1750.long	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1751.long	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1752.long	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1753.long	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1754.long	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1755.long	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1756.long	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1757.long	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1758.long	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1759.long	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1760.long	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1761.long	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1762.long	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1763.long	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1764.long	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1765.long	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1766
1767.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1768.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1769.long	0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1770.long	0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1771.long	0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1772.long	0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1773.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
1774.type	sha256_block_data_order_shaext,@function
1775.align	64
1776sha256_block_data_order_shaext:
1777_shaext_shortcut:
1778.cfi_startproc
1779	leaq	K256+128(%rip),%rcx
1780	movdqu	(%rdi),%xmm1
1781	movdqu	16(%rdi),%xmm2
1782	movdqa	512-128(%rcx),%xmm7
1783
1784	pshufd	$0x1b,%xmm1,%xmm0
1785	pshufd	$0xb1,%xmm1,%xmm1
1786	pshufd	$0x1b,%xmm2,%xmm2
1787	movdqa	%xmm7,%xmm8
1788.byte	102,15,58,15,202,8
1789	punpcklqdq	%xmm0,%xmm2
1790	jmp	.Loop_shaext
1791
1792.align	16
1793.Loop_shaext:
1794	movdqu	(%rsi),%xmm3
1795	movdqu	16(%rsi),%xmm4
1796	movdqu	32(%rsi),%xmm5
1797.byte	102,15,56,0,223
1798	movdqu	48(%rsi),%xmm6
1799
1800	movdqa	0-128(%rcx),%xmm0
1801	paddd	%xmm3,%xmm0
1802.byte	102,15,56,0,231
1803	movdqa	%xmm2,%xmm10
1804.byte	15,56,203,209
1805	pshufd	$0x0e,%xmm0,%xmm0
1806	nop
1807	movdqa	%xmm1,%xmm9
1808.byte	15,56,203,202
1809
1810	movdqa	32-128(%rcx),%xmm0
1811	paddd	%xmm4,%xmm0
1812.byte	102,15,56,0,239
1813.byte	15,56,203,209
1814	pshufd	$0x0e,%xmm0,%xmm0
1815	leaq	64(%rsi),%rsi
1816.byte	15,56,204,220
1817.byte	15,56,203,202
1818
1819	movdqa	64-128(%rcx),%xmm0
1820	paddd	%xmm5,%xmm0
1821.byte	102,15,56,0,247
1822.byte	15,56,203,209
1823	pshufd	$0x0e,%xmm0,%xmm0
1824	movdqa	%xmm6,%xmm7
1825.byte	102,15,58,15,253,4
1826	nop
1827	paddd	%xmm7,%xmm3
1828.byte	15,56,204,229
1829.byte	15,56,203,202
1830
1831	movdqa	96-128(%rcx),%xmm0
1832	paddd	%xmm6,%xmm0
1833.byte	15,56,205,222
1834.byte	15,56,203,209
1835	pshufd	$0x0e,%xmm0,%xmm0
1836	movdqa	%xmm3,%xmm7
1837.byte	102,15,58,15,254,4
1838	nop
1839	paddd	%xmm7,%xmm4
1840.byte	15,56,204,238
1841.byte	15,56,203,202
1842	movdqa	128-128(%rcx),%xmm0
1843	paddd	%xmm3,%xmm0
1844.byte	15,56,205,227
1845.byte	15,56,203,209
1846	pshufd	$0x0e,%xmm0,%xmm0
1847	movdqa	%xmm4,%xmm7
1848.byte	102,15,58,15,251,4
1849	nop
1850	paddd	%xmm7,%xmm5
1851.byte	15,56,204,243
1852.byte	15,56,203,202
1853	movdqa	160-128(%rcx),%xmm0
1854	paddd	%xmm4,%xmm0
1855.byte	15,56,205,236
1856.byte	15,56,203,209
1857	pshufd	$0x0e,%xmm0,%xmm0
1858	movdqa	%xmm5,%xmm7
1859.byte	102,15,58,15,252,4
1860	nop
1861	paddd	%xmm7,%xmm6
1862.byte	15,56,204,220
1863.byte	15,56,203,202
1864	movdqa	192-128(%rcx),%xmm0
1865	paddd	%xmm5,%xmm0
1866.byte	15,56,205,245
1867.byte	15,56,203,209
1868	pshufd	$0x0e,%xmm0,%xmm0
1869	movdqa	%xmm6,%xmm7
1870.byte	102,15,58,15,253,4
1871	nop
1872	paddd	%xmm7,%xmm3
1873.byte	15,56,204,229
1874.byte	15,56,203,202
1875	movdqa	224-128(%rcx),%xmm0
1876	paddd	%xmm6,%xmm0
1877.byte	15,56,205,222
1878.byte	15,56,203,209
1879	pshufd	$0x0e,%xmm0,%xmm0
1880	movdqa	%xmm3,%xmm7
1881.byte	102,15,58,15,254,4
1882	nop
1883	paddd	%xmm7,%xmm4
1884.byte	15,56,204,238
1885.byte	15,56,203,202
1886	movdqa	256-128(%rcx),%xmm0
1887	paddd	%xmm3,%xmm0
1888.byte	15,56,205,227
1889.byte	15,56,203,209
1890	pshufd	$0x0e,%xmm0,%xmm0
1891	movdqa	%xmm4,%xmm7
1892.byte	102,15,58,15,251,4
1893	nop
1894	paddd	%xmm7,%xmm5
1895.byte	15,56,204,243
1896.byte	15,56,203,202
1897	movdqa	288-128(%rcx),%xmm0
1898	paddd	%xmm4,%xmm0
1899.byte	15,56,205,236
1900.byte	15,56,203,209
1901	pshufd	$0x0e,%xmm0,%xmm0
1902	movdqa	%xmm5,%xmm7
1903.byte	102,15,58,15,252,4
1904	nop
1905	paddd	%xmm7,%xmm6
1906.byte	15,56,204,220
1907.byte	15,56,203,202
1908	movdqa	320-128(%rcx),%xmm0
1909	paddd	%xmm5,%xmm0
1910.byte	15,56,205,245
1911.byte	15,56,203,209
1912	pshufd	$0x0e,%xmm0,%xmm0
1913	movdqa	%xmm6,%xmm7
1914.byte	102,15,58,15,253,4
1915	nop
1916	paddd	%xmm7,%xmm3
1917.byte	15,56,204,229
1918.byte	15,56,203,202
1919	movdqa	352-128(%rcx),%xmm0
1920	paddd	%xmm6,%xmm0
1921.byte	15,56,205,222
1922.byte	15,56,203,209
1923	pshufd	$0x0e,%xmm0,%xmm0
1924	movdqa	%xmm3,%xmm7
1925.byte	102,15,58,15,254,4
1926	nop
1927	paddd	%xmm7,%xmm4
1928.byte	15,56,204,238
1929.byte	15,56,203,202
1930	movdqa	384-128(%rcx),%xmm0
1931	paddd	%xmm3,%xmm0
1932.byte	15,56,205,227
1933.byte	15,56,203,209
1934	pshufd	$0x0e,%xmm0,%xmm0
1935	movdqa	%xmm4,%xmm7
1936.byte	102,15,58,15,251,4
1937	nop
1938	paddd	%xmm7,%xmm5
1939.byte	15,56,204,243
1940.byte	15,56,203,202
1941	movdqa	416-128(%rcx),%xmm0
1942	paddd	%xmm4,%xmm0
1943.byte	15,56,205,236
1944.byte	15,56,203,209
1945	pshufd	$0x0e,%xmm0,%xmm0
1946	movdqa	%xmm5,%xmm7
1947.byte	102,15,58,15,252,4
1948.byte	15,56,203,202
1949	paddd	%xmm7,%xmm6
1950
1951	movdqa	448-128(%rcx),%xmm0
1952	paddd	%xmm5,%xmm0
1953.byte	15,56,203,209
1954	pshufd	$0x0e,%xmm0,%xmm0
1955.byte	15,56,205,245
1956	movdqa	%xmm8,%xmm7
1957.byte	15,56,203,202
1958
1959	movdqa	480-128(%rcx),%xmm0
1960	paddd	%xmm6,%xmm0
1961	nop
1962.byte	15,56,203,209
1963	pshufd	$0x0e,%xmm0,%xmm0
1964	decq	%rdx
1965	nop
1966.byte	15,56,203,202
1967
1968	paddd	%xmm10,%xmm2
1969	paddd	%xmm9,%xmm1
1970	jnz	.Loop_shaext
1971
1972	pshufd	$0xb1,%xmm2,%xmm2
1973	pshufd	$0x1b,%xmm1,%xmm7
1974	pshufd	$0xb1,%xmm1,%xmm1
1975	punpckhqdq	%xmm2,%xmm1
1976.byte	102,15,58,15,215,8
1977
1978	movdqu	%xmm1,(%rdi)
1979	movdqu	%xmm2,16(%rdi)
1980	.byte	0xf3,0xc3
1981.cfi_endproc
1982.size	sha256_block_data_order_shaext,.-sha256_block_data_order_shaext
1983.type	sha256_block_data_order_ssse3,@function
1984.align	64
1985sha256_block_data_order_ssse3:
1986.cfi_startproc
1987.Lssse3_shortcut:
1988	movq	%rsp,%rax
1989.cfi_def_cfa_register	%rax
1990	pushq	%rbx
1991.cfi_offset	%rbx,-16
1992	pushq	%rbp
1993.cfi_offset	%rbp,-24
1994	pushq	%r12
1995.cfi_offset	%r12,-32
1996	pushq	%r13
1997.cfi_offset	%r13,-40
1998	pushq	%r14
1999.cfi_offset	%r14,-48
2000	pushq	%r15
2001.cfi_offset	%r15,-56
2002	shlq	$4,%rdx
2003	subq	$96,%rsp
2004	leaq	(%rsi,%rdx,4),%rdx
2005	andq	$-64,%rsp
2006	movq	%rdi,64+0(%rsp)
2007	movq	%rsi,64+8(%rsp)
2008	movq	%rdx,64+16(%rsp)
2009	movq	%rax,88(%rsp)
2010.cfi_escape	0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
2011.Lprologue_ssse3:
2012
2013	movl	0(%rdi),%eax
2014	movl	4(%rdi),%ebx
2015	movl	8(%rdi),%ecx
2016	movl	12(%rdi),%edx
2017	movl	16(%rdi),%r8d
2018	movl	20(%rdi),%r9d
2019	movl	24(%rdi),%r10d
2020	movl	28(%rdi),%r11d
2021
2022
2023	jmp	.Lloop_ssse3
2024.align	16
2025.Lloop_ssse3:
2026	movdqa	K256+512(%rip),%xmm7
2027	movdqu	0(%rsi),%xmm0
2028	movdqu	16(%rsi),%xmm1
2029	movdqu	32(%rsi),%xmm2
2030.byte	102,15,56,0,199
2031	movdqu	48(%rsi),%xmm3
2032	leaq	K256(%rip),%rbp
2033.byte	102,15,56,0,207
2034	movdqa	0(%rbp),%xmm4
2035	movdqa	32(%rbp),%xmm5
2036.byte	102,15,56,0,215
2037	paddd	%xmm0,%xmm4
2038	movdqa	64(%rbp),%xmm6
2039.byte	102,15,56,0,223
2040	movdqa	96(%rbp),%xmm7
2041	paddd	%xmm1,%xmm5
2042	paddd	%xmm2,%xmm6
2043	paddd	%xmm3,%xmm7
2044	movdqa	%xmm4,0(%rsp)
2045	movl	%eax,%r14d
2046	movdqa	%xmm5,16(%rsp)
2047	movl	%ebx,%edi
2048	movdqa	%xmm6,32(%rsp)
2049	xorl	%ecx,%edi
2050	movdqa	%xmm7,48(%rsp)
2051	movl	%r8d,%r13d
2052	jmp	.Lssse3_00_47
2053
2054.align	16
2055.Lssse3_00_47:
2056	subq	$-128,%rbp
2057	rorl	$14,%r13d
2058	movdqa	%xmm1,%xmm4
2059	movl	%r14d,%eax
2060	movl	%r9d,%r12d
2061	movdqa	%xmm3,%xmm7
2062	rorl	$9,%r14d
2063	xorl	%r8d,%r13d
2064	xorl	%r10d,%r12d
2065	rorl	$5,%r13d
2066	xorl	%eax,%r14d
2067.byte	102,15,58,15,224,4
2068	andl	%r8d,%r12d
2069	xorl	%r8d,%r13d
2070.byte	102,15,58,15,250,4
2071	addl	0(%rsp),%r11d
2072	movl	%eax,%r15d
2073	xorl	%r10d,%r12d
2074	rorl	$11,%r14d
2075	movdqa	%xmm4,%xmm5
2076	xorl	%ebx,%r15d
2077	addl	%r12d,%r11d
2078	movdqa	%xmm4,%xmm6
2079	rorl	$6,%r13d
2080	andl	%r15d,%edi
2081	psrld	$3,%xmm4
2082	xorl	%eax,%r14d
2083	addl	%r13d,%r11d
2084	xorl	%ebx,%edi
2085	paddd	%xmm7,%xmm0
2086	rorl	$2,%r14d
2087	addl	%r11d,%edx
2088	psrld	$7,%xmm6
2089	addl	%edi,%r11d
2090	movl	%edx,%r13d
2091	pshufd	$250,%xmm3,%xmm7
2092	addl	%r11d,%r14d
2093	rorl	$14,%r13d
2094	pslld	$14,%xmm5
2095	movl	%r14d,%r11d
2096	movl	%r8d,%r12d
2097	pxor	%xmm6,%xmm4
2098	rorl	$9,%r14d
2099	xorl	%edx,%r13d
2100	xorl	%r9d,%r12d
2101	rorl	$5,%r13d
2102	psrld	$11,%xmm6
2103	xorl	%r11d,%r14d
2104	pxor	%xmm5,%xmm4
2105	andl	%edx,%r12d
2106	xorl	%edx,%r13d
2107	pslld	$11,%xmm5
2108	addl	4(%rsp),%r10d
2109	movl	%r11d,%edi
2110	pxor	%xmm6,%xmm4
2111	xorl	%r9d,%r12d
2112	rorl	$11,%r14d
2113	movdqa	%xmm7,%xmm6
2114	xorl	%eax,%edi
2115	addl	%r12d,%r10d
2116	pxor	%xmm5,%xmm4
2117	rorl	$6,%r13d
2118	andl	%edi,%r15d
2119	xorl	%r11d,%r14d
2120	psrld	$10,%xmm7
2121	addl	%r13d,%r10d
2122	xorl	%eax,%r15d
2123	paddd	%xmm4,%xmm0
2124	rorl	$2,%r14d
2125	addl	%r10d,%ecx
2126	psrlq	$17,%xmm6
2127	addl	%r15d,%r10d
2128	movl	%ecx,%r13d
2129	addl	%r10d,%r14d
2130	pxor	%xmm6,%xmm7
2131	rorl	$14,%r13d
2132	movl	%r14d,%r10d
2133	movl	%edx,%r12d
2134	rorl	$9,%r14d
2135	psrlq	$2,%xmm6
2136	xorl	%ecx,%r13d
2137	xorl	%r8d,%r12d
2138	pxor	%xmm6,%xmm7
2139	rorl	$5,%r13d
2140	xorl	%r10d,%r14d
2141	andl	%ecx,%r12d
2142	pshufd	$128,%xmm7,%xmm7
2143	xorl	%ecx,%r13d
2144	addl	8(%rsp),%r9d
2145	movl	%r10d,%r15d
2146	psrldq	$8,%xmm7
2147	xorl	%r8d,%r12d
2148	rorl	$11,%r14d
2149	xorl	%r11d,%r15d
2150	addl	%r12d,%r9d
2151	rorl	$6,%r13d
2152	paddd	%xmm7,%xmm0
2153	andl	%r15d,%edi
2154	xorl	%r10d,%r14d
2155	addl	%r13d,%r9d
2156	pshufd	$80,%xmm0,%xmm7
2157	xorl	%r11d,%edi
2158	rorl	$2,%r14d
2159	addl	%r9d,%ebx
2160	movdqa	%xmm7,%xmm6
2161	addl	%edi,%r9d
2162	movl	%ebx,%r13d
2163	psrld	$10,%xmm7
2164	addl	%r9d,%r14d
2165	rorl	$14,%r13d
2166	psrlq	$17,%xmm6
2167	movl	%r14d,%r9d
2168	movl	%ecx,%r12d
2169	pxor	%xmm6,%xmm7
2170	rorl	$9,%r14d
2171	xorl	%ebx,%r13d
2172	xorl	%edx,%r12d
2173	rorl	$5,%r13d
2174	xorl	%r9d,%r14d
2175	psrlq	$2,%xmm6
2176	andl	%ebx,%r12d
2177	xorl	%ebx,%r13d
2178	addl	12(%rsp),%r8d
2179	pxor	%xmm6,%xmm7
2180	movl	%r9d,%edi
2181	xorl	%edx,%r12d
2182	rorl	$11,%r14d
2183	pshufd	$8,%xmm7,%xmm7
2184	xorl	%r10d,%edi
2185	addl	%r12d,%r8d
2186	movdqa	0(%rbp),%xmm6
2187	rorl	$6,%r13d
2188	andl	%edi,%r15d
2189	pslldq	$8,%xmm7
2190	xorl	%r9d,%r14d
2191	addl	%r13d,%r8d
2192	xorl	%r10d,%r15d
2193	paddd	%xmm7,%xmm0
2194	rorl	$2,%r14d
2195	addl	%r8d,%eax
2196	addl	%r15d,%r8d
2197	paddd	%xmm0,%xmm6
2198	movl	%eax,%r13d
2199	addl	%r8d,%r14d
2200	movdqa	%xmm6,0(%rsp)
2201	rorl	$14,%r13d
2202	movdqa	%xmm2,%xmm4
2203	movl	%r14d,%r8d
2204	movl	%ebx,%r12d
2205	movdqa	%xmm0,%xmm7
2206	rorl	$9,%r14d
2207	xorl	%eax,%r13d
2208	xorl	%ecx,%r12d
2209	rorl	$5,%r13d
2210	xorl	%r8d,%r14d
2211.byte	102,15,58,15,225,4
2212	andl	%eax,%r12d
2213	xorl	%eax,%r13d
2214.byte	102,15,58,15,251,4
2215	addl	16(%rsp),%edx
2216	movl	%r8d,%r15d
2217	xorl	%ecx,%r12d
2218	rorl	$11,%r14d
2219	movdqa	%xmm4,%xmm5
2220	xorl	%r9d,%r15d
2221	addl	%r12d,%edx
2222	movdqa	%xmm4,%xmm6
2223	rorl	$6,%r13d
2224	andl	%r15d,%edi
2225	psrld	$3,%xmm4
2226	xorl	%r8d,%r14d
2227	addl	%r13d,%edx
2228	xorl	%r9d,%edi
2229	paddd	%xmm7,%xmm1
2230	rorl	$2,%r14d
2231	addl	%edx,%r11d
2232	psrld	$7,%xmm6
2233	addl	%edi,%edx
2234	movl	%r11d,%r13d
2235	pshufd	$250,%xmm0,%xmm7
2236	addl	%edx,%r14d
2237	rorl	$14,%r13d
2238	pslld	$14,%xmm5
2239	movl	%r14d,%edx
2240	movl	%eax,%r12d
2241	pxor	%xmm6,%xmm4
2242	rorl	$9,%r14d
2243	xorl	%r11d,%r13d
2244	xorl	%ebx,%r12d
2245	rorl	$5,%r13d
2246	psrld	$11,%xmm6
2247	xorl	%edx,%r14d
2248	pxor	%xmm5,%xmm4
2249	andl	%r11d,%r12d
2250	xorl	%r11d,%r13d
2251	pslld	$11,%xmm5
2252	addl	20(%rsp),%ecx
2253	movl	%edx,%edi
2254	pxor	%xmm6,%xmm4
2255	xorl	%ebx,%r12d
2256	rorl	$11,%r14d
2257	movdqa	%xmm7,%xmm6
2258	xorl	%r8d,%edi
2259	addl	%r12d,%ecx
2260	pxor	%xmm5,%xmm4
2261	rorl	$6,%r13d
2262	andl	%edi,%r15d
2263	xorl	%edx,%r14d
2264	psrld	$10,%xmm7
2265	addl	%r13d,%ecx
2266	xorl	%r8d,%r15d
2267	paddd	%xmm4,%xmm1
2268	rorl	$2,%r14d
2269	addl	%ecx,%r10d
2270	psrlq	$17,%xmm6
2271	addl	%r15d,%ecx
2272	movl	%r10d,%r13d
2273	addl	%ecx,%r14d
2274	pxor	%xmm6,%xmm7
2275	rorl	$14,%r13d
2276	movl	%r14d,%ecx
2277	movl	%r11d,%r12d
2278	rorl	$9,%r14d
2279	psrlq	$2,%xmm6
2280	xorl	%r10d,%r13d
2281	xorl	%eax,%r12d
2282	pxor	%xmm6,%xmm7
2283	rorl	$5,%r13d
2284	xorl	%ecx,%r14d
2285	andl	%r10d,%r12d
2286	pshufd	$128,%xmm7,%xmm7
2287	xorl	%r10d,%r13d
2288	addl	24(%rsp),%ebx
2289	movl	%ecx,%r15d
2290	psrldq	$8,%xmm7
2291	xorl	%eax,%r12d
2292	rorl	$11,%r14d
2293	xorl	%edx,%r15d
2294	addl	%r12d,%ebx
2295	rorl	$6,%r13d
2296	paddd	%xmm7,%xmm1
2297	andl	%r15d,%edi
2298	xorl	%ecx,%r14d
2299	addl	%r13d,%ebx
2300	pshufd	$80,%xmm1,%xmm7
2301	xorl	%edx,%edi
2302	rorl	$2,%r14d
2303	addl	%ebx,%r9d
2304	movdqa	%xmm7,%xmm6
2305	addl	%edi,%ebx
2306	movl	%r9d,%r13d
2307	psrld	$10,%xmm7
2308	addl	%ebx,%r14d
2309	rorl	$14,%r13d
2310	psrlq	$17,%xmm6
2311	movl	%r14d,%ebx
2312	movl	%r10d,%r12d
2313	pxor	%xmm6,%xmm7
2314	rorl	$9,%r14d
2315	xorl	%r9d,%r13d
2316	xorl	%r11d,%r12d
2317	rorl	$5,%r13d
2318	xorl	%ebx,%r14d
2319	psrlq	$2,%xmm6
2320	andl	%r9d,%r12d
2321	xorl	%r9d,%r13d
2322	addl	28(%rsp),%eax
2323	pxor	%xmm6,%xmm7
2324	movl	%ebx,%edi
2325	xorl	%r11d,%r12d
2326	rorl	$11,%r14d
2327	pshufd	$8,%xmm7,%xmm7
2328	xorl	%ecx,%edi
2329	addl	%r12d,%eax
2330	movdqa	32(%rbp),%xmm6
2331	rorl	$6,%r13d
2332	andl	%edi,%r15d
2333	pslldq	$8,%xmm7
2334	xorl	%ebx,%r14d
2335	addl	%r13d,%eax
2336	xorl	%ecx,%r15d
2337	paddd	%xmm7,%xmm1
2338	rorl	$2,%r14d
2339	addl	%eax,%r8d
2340	addl	%r15d,%eax
2341	paddd	%xmm1,%xmm6
2342	movl	%r8d,%r13d
2343	addl	%eax,%r14d
2344	movdqa	%xmm6,16(%rsp)
2345	rorl	$14,%r13d
2346	movdqa	%xmm3,%xmm4
2347	movl	%r14d,%eax
2348	movl	%r9d,%r12d
2349	movdqa	%xmm1,%xmm7
2350	rorl	$9,%r14d
2351	xorl	%r8d,%r13d
2352	xorl	%r10d,%r12d
2353	rorl	$5,%r13d
2354	xorl	%eax,%r14d
2355.byte	102,15,58,15,226,4
2356	andl	%r8d,%r12d
2357	xorl	%r8d,%r13d
2358.byte	102,15,58,15,248,4
2359	addl	32(%rsp),%r11d
2360	movl	%eax,%r15d
2361	xorl	%r10d,%r12d
2362	rorl	$11,%r14d
2363	movdqa	%xmm4,%xmm5
2364	xorl	%ebx,%r15d
2365	addl	%r12d,%r11d
2366	movdqa	%xmm4,%xmm6
2367	rorl	$6,%r13d
2368	andl	%r15d,%edi
2369	psrld	$3,%xmm4
2370	xorl	%eax,%r14d
2371	addl	%r13d,%r11d
2372	xorl	%ebx,%edi
2373	paddd	%xmm7,%xmm2
2374	rorl	$2,%r14d
2375	addl	%r11d,%edx
2376	psrld	$7,%xmm6
2377	addl	%edi,%r11d
2378	movl	%edx,%r13d
2379	pshufd	$250,%xmm1,%xmm7
2380	addl	%r11d,%r14d
2381	rorl	$14,%r13d
2382	pslld	$14,%xmm5
2383	movl	%r14d,%r11d
2384	movl	%r8d,%r12d
2385	pxor	%xmm6,%xmm4
2386	rorl	$9,%r14d
2387	xorl	%edx,%r13d
2388	xorl	%r9d,%r12d
2389	rorl	$5,%r13d
2390	psrld	$11,%xmm6
2391	xorl	%r11d,%r14d
2392	pxor	%xmm5,%xmm4
2393	andl	%edx,%r12d
2394	xorl	%edx,%r13d
2395	pslld	$11,%xmm5
2396	addl	36(%rsp),%r10d
2397	movl	%r11d,%edi
2398	pxor	%xmm6,%xmm4
2399	xorl	%r9d,%r12d
2400	rorl	$11,%r14d
2401	movdqa	%xmm7,%xmm6
2402	xorl	%eax,%edi
2403	addl	%r12d,%r10d
2404	pxor	%xmm5,%xmm4
2405	rorl	$6,%r13d
2406	andl	%edi,%r15d
2407	xorl	%r11d,%r14d
2408	psrld	$10,%xmm7
2409	addl	%r13d,%r10d
2410	xorl	%eax,%r15d
2411	paddd	%xmm4,%xmm2
2412	rorl	$2,%r14d
2413	addl	%r10d,%ecx
2414	psrlq	$17,%xmm6
2415	addl	%r15d,%r10d
2416	movl	%ecx,%r13d
2417	addl	%r10d,%r14d
2418	pxor	%xmm6,%xmm7
2419	rorl	$14,%r13d
2420	movl	%r14d,%r10d
2421	movl	%edx,%r12d
2422	rorl	$9,%r14d
2423	psrlq	$2,%xmm6
2424	xorl	%ecx,%r13d
2425	xorl	%r8d,%r12d
2426	pxor	%xmm6,%xmm7
2427	rorl	$5,%r13d
2428	xorl	%r10d,%r14d
2429	andl	%ecx,%r12d
2430	pshufd	$128,%xmm7,%xmm7
2431	xorl	%ecx,%r13d
2432	addl	40(%rsp),%r9d
2433	movl	%r10d,%r15d
2434	psrldq	$8,%xmm7
2435	xorl	%r8d,%r12d
2436	rorl	$11,%r14d
2437	xorl	%r11d,%r15d
2438	addl	%r12d,%r9d
2439	rorl	$6,%r13d
2440	paddd	%xmm7,%xmm2
2441	andl	%r15d,%edi
2442	xorl	%r10d,%r14d
2443	addl	%r13d,%r9d
2444	pshufd	$80,%xmm2,%xmm7
2445	xorl	%r11d,%edi
2446	rorl	$2,%r14d
2447	addl	%r9d,%ebx
2448	movdqa	%xmm7,%xmm6
2449	addl	%edi,%r9d
2450	movl	%ebx,%r13d
2451	psrld	$10,%xmm7
2452	addl	%r9d,%r14d
2453	rorl	$14,%r13d
2454	psrlq	$17,%xmm6
2455	movl	%r14d,%r9d
2456	movl	%ecx,%r12d
2457	pxor	%xmm6,%xmm7
2458	rorl	$9,%r14d
2459	xorl	%ebx,%r13d
2460	xorl	%edx,%r12d
2461	rorl	$5,%r13d
2462	xorl	%r9d,%r14d
2463	psrlq	$2,%xmm6
2464	andl	%ebx,%r12d
2465	xorl	%ebx,%r13d
2466	addl	44(%rsp),%r8d
2467	pxor	%xmm6,%xmm7
2468	movl	%r9d,%edi
2469	xorl	%edx,%r12d
2470	rorl	$11,%r14d
2471	pshufd	$8,%xmm7,%xmm7
2472	xorl	%r10d,%edi
2473	addl	%r12d,%r8d
2474	movdqa	64(%rbp),%xmm6
2475	rorl	$6,%r13d
2476	andl	%edi,%r15d
2477	pslldq	$8,%xmm7
2478	xorl	%r9d,%r14d
2479	addl	%r13d,%r8d
2480	xorl	%r10d,%r15d
2481	paddd	%xmm7,%xmm2
2482	rorl	$2,%r14d
2483	addl	%r8d,%eax
2484	addl	%r15d,%r8d
2485	paddd	%xmm2,%xmm6
2486	movl	%eax,%r13d
2487	addl	%r8d,%r14d
2488	movdqa	%xmm6,32(%rsp)
2489	rorl	$14,%r13d
2490	movdqa	%xmm0,%xmm4
2491	movl	%r14d,%r8d
2492	movl	%ebx,%r12d
2493	movdqa	%xmm2,%xmm7
2494	rorl	$9,%r14d
2495	xorl	%eax,%r13d
2496	xorl	%ecx,%r12d
2497	rorl	$5,%r13d
2498	xorl	%r8d,%r14d
2499.byte	102,15,58,15,227,4
2500	andl	%eax,%r12d
2501	xorl	%eax,%r13d
2502.byte	102,15,58,15,249,4
2503	addl	48(%rsp),%edx
2504	movl	%r8d,%r15d
2505	xorl	%ecx,%r12d
2506	rorl	$11,%r14d
2507	movdqa	%xmm4,%xmm5
2508	xorl	%r9d,%r15d
2509	addl	%r12d,%edx
2510	movdqa	%xmm4,%xmm6
2511	rorl	$6,%r13d
2512	andl	%r15d,%edi
2513	psrld	$3,%xmm4
2514	xorl	%r8d,%r14d
2515	addl	%r13d,%edx
2516	xorl	%r9d,%edi
2517	paddd	%xmm7,%xmm3
2518	rorl	$2,%r14d
2519	addl	%edx,%r11d
2520	psrld	$7,%xmm6
2521	addl	%edi,%edx
2522	movl	%r11d,%r13d
2523	pshufd	$250,%xmm2,%xmm7
2524	addl	%edx,%r14d
2525	rorl	$14,%r13d
2526	pslld	$14,%xmm5
2527	movl	%r14d,%edx
2528	movl	%eax,%r12d
2529	pxor	%xmm6,%xmm4
2530	rorl	$9,%r14d
2531	xorl	%r11d,%r13d
2532	xorl	%ebx,%r12d
2533	rorl	$5,%r13d
2534	psrld	$11,%xmm6
2535	xorl	%edx,%r14d
2536	pxor	%xmm5,%xmm4
2537	andl	%r11d,%r12d
2538	xorl	%r11d,%r13d
2539	pslld	$11,%xmm5
2540	addl	52(%rsp),%ecx
2541	movl	%edx,%edi
2542	pxor	%xmm6,%xmm4
2543	xorl	%ebx,%r12d
2544	rorl	$11,%r14d
2545	movdqa	%xmm7,%xmm6
2546	xorl	%r8d,%edi
2547	addl	%r12d,%ecx
2548	pxor	%xmm5,%xmm4
2549	rorl	$6,%r13d
2550	andl	%edi,%r15d
2551	xorl	%edx,%r14d
2552	psrld	$10,%xmm7
2553	addl	%r13d,%ecx
2554	xorl	%r8d,%r15d
2555	paddd	%xmm4,%xmm3
2556	rorl	$2,%r14d
2557	addl	%ecx,%r10d
2558	psrlq	$17,%xmm6
2559	addl	%r15d,%ecx
2560	movl	%r10d,%r13d
2561	addl	%ecx,%r14d
2562	pxor	%xmm6,%xmm7
2563	rorl	$14,%r13d
2564	movl	%r14d,%ecx
2565	movl	%r11d,%r12d
2566	rorl	$9,%r14d
2567	psrlq	$2,%xmm6
2568	xorl	%r10d,%r13d
2569	xorl	%eax,%r12d
2570	pxor	%xmm6,%xmm7
2571	rorl	$5,%r13d
2572	xorl	%ecx,%r14d
2573	andl	%r10d,%r12d
2574	pshufd	$128,%xmm7,%xmm7
2575	xorl	%r10d,%r13d
2576	addl	56(%rsp),%ebx
2577	movl	%ecx,%r15d
2578	psrldq	$8,%xmm7
2579	xorl	%eax,%r12d
2580	rorl	$11,%r14d
2581	xorl	%edx,%r15d
2582	addl	%r12d,%ebx
2583	rorl	$6,%r13d
2584	paddd	%xmm7,%xmm3
2585	andl	%r15d,%edi
2586	xorl	%ecx,%r14d
2587	addl	%r13d,%ebx
2588	pshufd	$80,%xmm3,%xmm7
2589	xorl	%edx,%edi
2590	rorl	$2,%r14d
2591	addl	%ebx,%r9d
2592	movdqa	%xmm7,%xmm6
2593	addl	%edi,%ebx
2594	movl	%r9d,%r13d
2595	psrld	$10,%xmm7
2596	addl	%ebx,%r14d
2597	rorl	$14,%r13d
2598	psrlq	$17,%xmm6
2599	movl	%r14d,%ebx
2600	movl	%r10d,%r12d
2601	pxor	%xmm6,%xmm7
2602	rorl	$9,%r14d
2603	xorl	%r9d,%r13d
2604	xorl	%r11d,%r12d
2605	rorl	$5,%r13d
2606	xorl	%ebx,%r14d
2607	psrlq	$2,%xmm6
2608	andl	%r9d,%r12d
2609	xorl	%r9d,%r13d
2610	addl	60(%rsp),%eax
2611	pxor	%xmm6,%xmm7
2612	movl	%ebx,%edi
2613	xorl	%r11d,%r12d
2614	rorl	$11,%r14d
2615	pshufd	$8,%xmm7,%xmm7
2616	xorl	%ecx,%edi
2617	addl	%r12d,%eax
2618	movdqa	96(%rbp),%xmm6
2619	rorl	$6,%r13d
2620	andl	%edi,%r15d
2621	pslldq	$8,%xmm7
2622	xorl	%ebx,%r14d
2623	addl	%r13d,%eax
2624	xorl	%ecx,%r15d
2625	paddd	%xmm7,%xmm3
2626	rorl	$2,%r14d
2627	addl	%eax,%r8d
2628	addl	%r15d,%eax
2629	paddd	%xmm3,%xmm6
2630	movl	%r8d,%r13d
2631	addl	%eax,%r14d
2632	movdqa	%xmm6,48(%rsp)
2633	cmpb	$0,131(%rbp)
2634	jne	.Lssse3_00_47
2635	rorl	$14,%r13d
2636	movl	%r14d,%eax
2637	movl	%r9d,%r12d
2638	rorl	$9,%r14d
2639	xorl	%r8d,%r13d
2640	xorl	%r10d,%r12d
2641	rorl	$5,%r13d
2642	xorl	%eax,%r14d
2643	andl	%r8d,%r12d
2644	xorl	%r8d,%r13d
2645	addl	0(%rsp),%r11d
2646	movl	%eax,%r15d
2647	xorl	%r10d,%r12d
2648	rorl	$11,%r14d
2649	xorl	%ebx,%r15d
2650	addl	%r12d,%r11d
2651	rorl	$6,%r13d
2652	andl	%r15d,%edi
2653	xorl	%eax,%r14d
2654	addl	%r13d,%r11d
2655	xorl	%ebx,%edi
2656	rorl	$2,%r14d
2657	addl	%r11d,%edx
2658	addl	%edi,%r11d
2659	movl	%edx,%r13d
2660	addl	%r11d,%r14d
2661	rorl	$14,%r13d
2662	movl	%r14d,%r11d
2663	movl	%r8d,%r12d
2664	rorl	$9,%r14d
2665	xorl	%edx,%r13d
2666	xorl	%r9d,%r12d
2667	rorl	$5,%r13d
2668	xorl	%r11d,%r14d
2669	andl	%edx,%r12d
2670	xorl	%edx,%r13d
2671	addl	4(%rsp),%r10d
2672	movl	%r11d,%edi
2673	xorl	%r9d,%r12d
2674	rorl	$11,%r14d
2675	xorl	%eax,%edi
2676	addl	%r12d,%r10d
2677	rorl	$6,%r13d
2678	andl	%edi,%r15d
2679	xorl	%r11d,%r14d
2680	addl	%r13d,%r10d
2681	xorl	%eax,%r15d
2682	rorl	$2,%r14d
2683	addl	%r10d,%ecx
2684	addl	%r15d,%r10d
2685	movl	%ecx,%r13d
2686	addl	%r10d,%r14d
2687	rorl	$14,%r13d
2688	movl	%r14d,%r10d
2689	movl	%edx,%r12d
2690	rorl	$9,%r14d
2691	xorl	%ecx,%r13d
2692	xorl	%r8d,%r12d
2693	rorl	$5,%r13d
2694	xorl	%r10d,%r14d
2695	andl	%ecx,%r12d
2696	xorl	%ecx,%r13d
2697	addl	8(%rsp),%r9d
2698	movl	%r10d,%r15d
2699	xorl	%r8d,%r12d
2700	rorl	$11,%r14d
2701	xorl	%r11d,%r15d
2702	addl	%r12d,%r9d
2703	rorl	$6,%r13d
2704	andl	%r15d,%edi
2705	xorl	%r10d,%r14d
2706	addl	%r13d,%r9d
2707	xorl	%r11d,%edi
2708	rorl	$2,%r14d
2709	addl	%r9d,%ebx
2710	addl	%edi,%r9d
2711	movl	%ebx,%r13d
2712	addl	%r9d,%r14d
2713	rorl	$14,%r13d
2714	movl	%r14d,%r9d
2715	movl	%ecx,%r12d
2716	rorl	$9,%r14d
2717	xorl	%ebx,%r13d
2718	xorl	%edx,%r12d
2719	rorl	$5,%r13d
2720	xorl	%r9d,%r14d
2721	andl	%ebx,%r12d
2722	xorl	%ebx,%r13d
2723	addl	12(%rsp),%r8d
2724	movl	%r9d,%edi
2725	xorl	%edx,%r12d
2726	rorl	$11,%r14d
2727	xorl	%r10d,%edi
2728	addl	%r12d,%r8d
2729	rorl	$6,%r13d
2730	andl	%edi,%r15d
2731	xorl	%r9d,%r14d
2732	addl	%r13d,%r8d
2733	xorl	%r10d,%r15d
2734	rorl	$2,%r14d
2735	addl	%r8d,%eax
2736	addl	%r15d,%r8d
2737	movl	%eax,%r13d
2738	addl	%r8d,%r14d
2739	rorl	$14,%r13d
2740	movl	%r14d,%r8d
2741	movl	%ebx,%r12d
2742	rorl	$9,%r14d
2743	xorl	%eax,%r13d
2744	xorl	%ecx,%r12d
2745	rorl	$5,%r13d
2746	xorl	%r8d,%r14d
2747	andl	%eax,%r12d
2748	xorl	%eax,%r13d
2749	addl	16(%rsp),%edx
2750	movl	%r8d,%r15d
2751	xorl	%ecx,%r12d
2752	rorl	$11,%r14d
2753	xorl	%r9d,%r15d
2754	addl	%r12d,%edx
2755	rorl	$6,%r13d
2756	andl	%r15d,%edi
2757	xorl	%r8d,%r14d
2758	addl	%r13d,%edx
2759	xorl	%r9d,%edi
2760	rorl	$2,%r14d
2761	addl	%edx,%r11d
2762	addl	%edi,%edx
2763	movl	%r11d,%r13d
2764	addl	%edx,%r14d
2765	rorl	$14,%r13d
2766	movl	%r14d,%edx
2767	movl	%eax,%r12d
2768	rorl	$9,%r14d
2769	xorl	%r11d,%r13d
2770	xorl	%ebx,%r12d
2771	rorl	$5,%r13d
2772	xorl	%edx,%r14d
2773	andl	%r11d,%r12d
2774	xorl	%r11d,%r13d
2775	addl	20(%rsp),%ecx
2776	movl	%edx,%edi
2777	xorl	%ebx,%r12d
2778	rorl	$11,%r14d
2779	xorl	%r8d,%edi
2780	addl	%r12d,%ecx
2781	rorl	$6,%r13d
2782	andl	%edi,%r15d
2783	xorl	%edx,%r14d
2784	addl	%r13d,%ecx
2785	xorl	%r8d,%r15d
2786	rorl	$2,%r14d
2787	addl	%ecx,%r10d
2788	addl	%r15d,%ecx
2789	movl	%r10d,%r13d
2790	addl	%ecx,%r14d
2791	rorl	$14,%r13d
2792	movl	%r14d,%ecx
2793	movl	%r11d,%r12d
2794	rorl	$9,%r14d
2795	xorl	%r10d,%r13d
2796	xorl	%eax,%r12d
2797	rorl	$5,%r13d
2798	xorl	%ecx,%r14d
2799	andl	%r10d,%r12d
2800	xorl	%r10d,%r13d
2801	addl	24(%rsp),%ebx
2802	movl	%ecx,%r15d
2803	xorl	%eax,%r12d
2804	rorl	$11,%r14d
2805	xorl	%edx,%r15d
2806	addl	%r12d,%ebx
2807	rorl	$6,%r13d
2808	andl	%r15d,%edi
2809	xorl	%ecx,%r14d
2810	addl	%r13d,%ebx
2811	xorl	%edx,%edi
2812	rorl	$2,%r14d
2813	addl	%ebx,%r9d
2814	addl	%edi,%ebx
2815	movl	%r9d,%r13d
2816	addl	%ebx,%r14d
2817	rorl	$14,%r13d
2818	movl	%r14d,%ebx
2819	movl	%r10d,%r12d
2820	rorl	$9,%r14d
2821	xorl	%r9d,%r13d
2822	xorl	%r11d,%r12d
2823	rorl	$5,%r13d
2824	xorl	%ebx,%r14d
2825	andl	%r9d,%r12d
2826	xorl	%r9d,%r13d
2827	addl	28(%rsp),%eax
2828	movl	%ebx,%edi
2829	xorl	%r11d,%r12d
2830	rorl	$11,%r14d
2831	xorl	%ecx,%edi
2832	addl	%r12d,%eax
2833	rorl	$6,%r13d
2834	andl	%edi,%r15d
2835	xorl	%ebx,%r14d
2836	addl	%r13d,%eax
2837	xorl	%ecx,%r15d
2838	rorl	$2,%r14d
2839	addl	%eax,%r8d
2840	addl	%r15d,%eax
2841	movl	%r8d,%r13d
2842	addl	%eax,%r14d
2843	rorl	$14,%r13d
2844	movl	%r14d,%eax
2845	movl	%r9d,%r12d
2846	rorl	$9,%r14d
2847	xorl	%r8d,%r13d
2848	xorl	%r10d,%r12d
2849	rorl	$5,%r13d
2850	xorl	%eax,%r14d
2851	andl	%r8d,%r12d
2852	xorl	%r8d,%r13d
2853	addl	32(%rsp),%r11d
2854	movl	%eax,%r15d
2855	xorl	%r10d,%r12d
2856	rorl	$11,%r14d
2857	xorl	%ebx,%r15d
2858	addl	%r12d,%r11d
2859	rorl	$6,%r13d
2860	andl	%r15d,%edi
2861	xorl	%eax,%r14d
2862	addl	%r13d,%r11d
2863	xorl	%ebx,%edi
2864	rorl	$2,%r14d
2865	addl	%r11d,%edx
2866	addl	%edi,%r11d
2867	movl	%edx,%r13d
2868	addl	%r11d,%r14d
2869	rorl	$14,%r13d
2870	movl	%r14d,%r11d
2871	movl	%r8d,%r12d
2872	rorl	$9,%r14d
2873	xorl	%edx,%r13d
2874	xorl	%r9d,%r12d
2875	rorl	$5,%r13d
2876	xorl	%r11d,%r14d
2877	andl	%edx,%r12d
2878	xorl	%edx,%r13d
2879	addl	36(%rsp),%r10d
2880	movl	%r11d,%edi
2881	xorl	%r9d,%r12d
2882	rorl	$11,%r14d
2883	xorl	%eax,%edi
2884	addl	%r12d,%r10d
2885	rorl	$6,%r13d
2886	andl	%edi,%r15d
2887	xorl	%r11d,%r14d
2888	addl	%r13d,%r10d
2889	xorl	%eax,%r15d
2890	rorl	$2,%r14d
2891	addl	%r10d,%ecx
2892	addl	%r15d,%r10d
2893	movl	%ecx,%r13d
2894	addl	%r10d,%r14d
2895	rorl	$14,%r13d
2896	movl	%r14d,%r10d
2897	movl	%edx,%r12d
2898	rorl	$9,%r14d
2899	xorl	%ecx,%r13d
2900	xorl	%r8d,%r12d
2901	rorl	$5,%r13d
2902	xorl	%r10d,%r14d
2903	andl	%ecx,%r12d
2904	xorl	%ecx,%r13d
2905	addl	40(%rsp),%r9d
2906	movl	%r10d,%r15d
2907	xorl	%r8d,%r12d
2908	rorl	$11,%r14d
2909	xorl	%r11d,%r15d
2910	addl	%r12d,%r9d
2911	rorl	$6,%r13d
2912	andl	%r15d,%edi
2913	xorl	%r10d,%r14d
2914	addl	%r13d,%r9d
2915	xorl	%r11d,%edi
2916	rorl	$2,%r14d
2917	addl	%r9d,%ebx
2918	addl	%edi,%r9d
2919	movl	%ebx,%r13d
2920	addl	%r9d,%r14d
2921	rorl	$14,%r13d
2922	movl	%r14d,%r9d
2923	movl	%ecx,%r12d
2924	rorl	$9,%r14d
2925	xorl	%ebx,%r13d
2926	xorl	%edx,%r12d
2927	rorl	$5,%r13d
2928	xorl	%r9d,%r14d
2929	andl	%ebx,%r12d
2930	xorl	%ebx,%r13d
2931	addl	44(%rsp),%r8d
2932	movl	%r9d,%edi
2933	xorl	%edx,%r12d
2934	rorl	$11,%r14d
2935	xorl	%r10d,%edi
2936	addl	%r12d,%r8d
2937	rorl	$6,%r13d
2938	andl	%edi,%r15d
2939	xorl	%r9d,%r14d
2940	addl	%r13d,%r8d
2941	xorl	%r10d,%r15d
2942	rorl	$2,%r14d
2943	addl	%r8d,%eax
2944	addl	%r15d,%r8d
2945	movl	%eax,%r13d
2946	addl	%r8d,%r14d
2947	rorl	$14,%r13d
2948	movl	%r14d,%r8d
2949	movl	%ebx,%r12d
2950	rorl	$9,%r14d
2951	xorl	%eax,%r13d
2952	xorl	%ecx,%r12d
2953	rorl	$5,%r13d
2954	xorl	%r8d,%r14d
2955	andl	%eax,%r12d
2956	xorl	%eax,%r13d
2957	addl	48(%rsp),%edx
2958	movl	%r8d,%r15d
2959	xorl	%ecx,%r12d
2960	rorl	$11,%r14d
2961	xorl	%r9d,%r15d
2962	addl	%r12d,%edx
2963	rorl	$6,%r13d
2964	andl	%r15d,%edi
2965	xorl	%r8d,%r14d
2966	addl	%r13d,%edx
2967	xorl	%r9d,%edi
2968	rorl	$2,%r14d
2969	addl	%edx,%r11d
2970	addl	%edi,%edx
2971	movl	%r11d,%r13d
2972	addl	%edx,%r14d
2973	rorl	$14,%r13d
2974	movl	%r14d,%edx
2975	movl	%eax,%r12d
2976	rorl	$9,%r14d
2977	xorl	%r11d,%r13d
2978	xorl	%ebx,%r12d
2979	rorl	$5,%r13d
2980	xorl	%edx,%r14d
2981	andl	%r11d,%r12d
2982	xorl	%r11d,%r13d
2983	addl	52(%rsp),%ecx
2984	movl	%edx,%edi
2985	xorl	%ebx,%r12d
2986	rorl	$11,%r14d
2987	xorl	%r8d,%edi
2988	addl	%r12d,%ecx
2989	rorl	$6,%r13d
2990	andl	%edi,%r15d
2991	xorl	%edx,%r14d
2992	addl	%r13d,%ecx
2993	xorl	%r8d,%r15d
2994	rorl	$2,%r14d
2995	addl	%ecx,%r10d
2996	addl	%r15d,%ecx
2997	movl	%r10d,%r13d
2998	addl	%ecx,%r14d
2999	rorl	$14,%r13d
3000	movl	%r14d,%ecx
3001	movl	%r11d,%r12d
3002	rorl	$9,%r14d
3003	xorl	%r10d,%r13d
3004	xorl	%eax,%r12d
3005	rorl	$5,%r13d
3006	xorl	%ecx,%r14d
3007	andl	%r10d,%r12d
3008	xorl	%r10d,%r13d
3009	addl	56(%rsp),%ebx
3010	movl	%ecx,%r15d
3011	xorl	%eax,%r12d
3012	rorl	$11,%r14d
3013	xorl	%edx,%r15d
3014	addl	%r12d,%ebx
3015	rorl	$6,%r13d
3016	andl	%r15d,%edi
3017	xorl	%ecx,%r14d
3018	addl	%r13d,%ebx
3019	xorl	%edx,%edi
3020	rorl	$2,%r14d
3021	addl	%ebx,%r9d
3022	addl	%edi,%ebx
3023	movl	%r9d,%r13d
3024	addl	%ebx,%r14d
3025	rorl	$14,%r13d
3026	movl	%r14d,%ebx
3027	movl	%r10d,%r12d
3028	rorl	$9,%r14d
3029	xorl	%r9d,%r13d
3030	xorl	%r11d,%r12d
3031	rorl	$5,%r13d
3032	xorl	%ebx,%r14d
3033	andl	%r9d,%r12d
3034	xorl	%r9d,%r13d
3035	addl	60(%rsp),%eax
3036	movl	%ebx,%edi
3037	xorl	%r11d,%r12d
3038	rorl	$11,%r14d
3039	xorl	%ecx,%edi
3040	addl	%r12d,%eax
3041	rorl	$6,%r13d
3042	andl	%edi,%r15d
3043	xorl	%ebx,%r14d
3044	addl	%r13d,%eax
3045	xorl	%ecx,%r15d
3046	rorl	$2,%r14d
3047	addl	%eax,%r8d
3048	addl	%r15d,%eax
3049	movl	%r8d,%r13d
3050	addl	%eax,%r14d
3051	movq	64+0(%rsp),%rdi
3052	movl	%r14d,%eax
3053
3054	addl	0(%rdi),%eax
3055	leaq	64(%rsi),%rsi
3056	addl	4(%rdi),%ebx
3057	addl	8(%rdi),%ecx
3058	addl	12(%rdi),%edx
3059	addl	16(%rdi),%r8d
3060	addl	20(%rdi),%r9d
3061	addl	24(%rdi),%r10d
3062	addl	28(%rdi),%r11d
3063
3064	cmpq	64+16(%rsp),%rsi
3065
3066	movl	%eax,0(%rdi)
3067	movl	%ebx,4(%rdi)
3068	movl	%ecx,8(%rdi)
3069	movl	%edx,12(%rdi)
3070	movl	%r8d,16(%rdi)
3071	movl	%r9d,20(%rdi)
3072	movl	%r10d,24(%rdi)
3073	movl	%r11d,28(%rdi)
3074	jb	.Lloop_ssse3
3075
3076	movq	88(%rsp),%rsi
3077.cfi_def_cfa	%rsi,8
3078	movq	-48(%rsi),%r15
3079.cfi_restore	%r15
3080	movq	-40(%rsi),%r14
3081.cfi_restore	%r14
3082	movq	-32(%rsi),%r13
3083.cfi_restore	%r13
3084	movq	-24(%rsi),%r12
3085.cfi_restore	%r12
3086	movq	-16(%rsi),%rbp
3087.cfi_restore	%rbp
3088	movq	-8(%rsi),%rbx
3089.cfi_restore	%rbx
3090	leaq	(%rsi),%rsp
3091.cfi_def_cfa_register	%rsp
3092.Lepilogue_ssse3:
3093	.byte	0xf3,0xc3
3094.cfi_endproc
3095.size	sha256_block_data_order_ssse3,.-sha256_block_data_order_ssse3
3096.type	sha256_block_data_order_avx,@function
3097.align	64
3098sha256_block_data_order_avx:
3099.cfi_startproc
3100.Lavx_shortcut:
3101	movq	%rsp,%rax
3102.cfi_def_cfa_register	%rax
3103	pushq	%rbx
3104.cfi_offset	%rbx,-16
3105	pushq	%rbp
3106.cfi_offset	%rbp,-24
3107	pushq	%r12
3108.cfi_offset	%r12,-32
3109	pushq	%r13
3110.cfi_offset	%r13,-40
3111	pushq	%r14
3112.cfi_offset	%r14,-48
3113	pushq	%r15
3114.cfi_offset	%r15,-56
3115	shlq	$4,%rdx
3116	subq	$96,%rsp
3117	leaq	(%rsi,%rdx,4),%rdx
3118	andq	$-64,%rsp
3119	movq	%rdi,64+0(%rsp)
3120	movq	%rsi,64+8(%rsp)
3121	movq	%rdx,64+16(%rsp)
3122	movq	%rax,88(%rsp)
3123.cfi_escape	0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
3124.Lprologue_avx:
3125
3126	vzeroupper
3127	movl	0(%rdi),%eax
3128	movl	4(%rdi),%ebx
3129	movl	8(%rdi),%ecx
3130	movl	12(%rdi),%edx
3131	movl	16(%rdi),%r8d
3132	movl	20(%rdi),%r9d
3133	movl	24(%rdi),%r10d
3134	movl	28(%rdi),%r11d
3135	vmovdqa	K256+512+32(%rip),%xmm8
3136	vmovdqa	K256+512+64(%rip),%xmm9
3137	jmp	.Lloop_avx
3138.align	16
3139.Lloop_avx:
3140	vmovdqa	K256+512(%rip),%xmm7
3141	vmovdqu	0(%rsi),%xmm0
3142	vmovdqu	16(%rsi),%xmm1
3143	vmovdqu	32(%rsi),%xmm2
3144	vmovdqu	48(%rsi),%xmm3
3145	vpshufb	%xmm7,%xmm0,%xmm0
3146	leaq	K256(%rip),%rbp
3147	vpshufb	%xmm7,%xmm1,%xmm1
3148	vpshufb	%xmm7,%xmm2,%xmm2
3149	vpaddd	0(%rbp),%xmm0,%xmm4
3150	vpshufb	%xmm7,%xmm3,%xmm3
3151	vpaddd	32(%rbp),%xmm1,%xmm5
3152	vpaddd	64(%rbp),%xmm2,%xmm6
3153	vpaddd	96(%rbp),%xmm3,%xmm7
3154	vmovdqa	%xmm4,0(%rsp)
3155	movl	%eax,%r14d
3156	vmovdqa	%xmm5,16(%rsp)
3157	movl	%ebx,%edi
3158	vmovdqa	%xmm6,32(%rsp)
3159	xorl	%ecx,%edi
3160	vmovdqa	%xmm7,48(%rsp)
3161	movl	%r8d,%r13d
3162	jmp	.Lavx_00_47
3163
3164.align	16
3165.Lavx_00_47:
3166	subq	$-128,%rbp
3167	vpalignr	$4,%xmm0,%xmm1,%xmm4
3168	shrdl	$14,%r13d,%r13d
3169	movl	%r14d,%eax
3170	movl	%r9d,%r12d
3171	vpalignr	$4,%xmm2,%xmm3,%xmm7
3172	shrdl	$9,%r14d,%r14d
3173	xorl	%r8d,%r13d
3174	xorl	%r10d,%r12d
3175	vpsrld	$7,%xmm4,%xmm6
3176	shrdl	$5,%r13d,%r13d
3177	xorl	%eax,%r14d
3178	andl	%r8d,%r12d
3179	vpaddd	%xmm7,%xmm0,%xmm0
3180	xorl	%r8d,%r13d
3181	addl	0(%rsp),%r11d
3182	movl	%eax,%r15d
3183	vpsrld	$3,%xmm4,%xmm7
3184	xorl	%r10d,%r12d
3185	shrdl	$11,%r14d,%r14d
3186	xorl	%ebx,%r15d
3187	vpslld	$14,%xmm4,%xmm5
3188	addl	%r12d,%r11d
3189	shrdl	$6,%r13d,%r13d
3190	andl	%r15d,%edi
3191	vpxor	%xmm6,%xmm7,%xmm4
3192	xorl	%eax,%r14d
3193	addl	%r13d,%r11d
3194	xorl	%ebx,%edi
3195	vpshufd	$250,%xmm3,%xmm7
3196	shrdl	$2,%r14d,%r14d
3197	addl	%r11d,%edx
3198	addl	%edi,%r11d
3199	vpsrld	$11,%xmm6,%xmm6
3200	movl	%edx,%r13d
3201	addl	%r11d,%r14d
3202	shrdl	$14,%r13d,%r13d
3203	vpxor	%xmm5,%xmm4,%xmm4
3204	movl	%r14d,%r11d
3205	movl	%r8d,%r12d
3206	shrdl	$9,%r14d,%r14d
3207	vpslld	$11,%xmm5,%xmm5
3208	xorl	%edx,%r13d
3209	xorl	%r9d,%r12d
3210	shrdl	$5,%r13d,%r13d
3211	vpxor	%xmm6,%xmm4,%xmm4
3212	xorl	%r11d,%r14d
3213	andl	%edx,%r12d
3214	xorl	%edx,%r13d
3215	vpsrld	$10,%xmm7,%xmm6
3216	addl	4(%rsp),%r10d
3217	movl	%r11d,%edi
3218	xorl	%r9d,%r12d
3219	vpxor	%xmm5,%xmm4,%xmm4
3220	shrdl	$11,%r14d,%r14d
3221	xorl	%eax,%edi
3222	addl	%r12d,%r10d
3223	vpsrlq	$17,%xmm7,%xmm7
3224	shrdl	$6,%r13d,%r13d
3225	andl	%edi,%r15d
3226	xorl	%r11d,%r14d
3227	vpaddd	%xmm4,%xmm0,%xmm0
3228	addl	%r13d,%r10d
3229	xorl	%eax,%r15d
3230	shrdl	$2,%r14d,%r14d
3231	vpxor	%xmm7,%xmm6,%xmm6
3232	addl	%r10d,%ecx
3233	addl	%r15d,%r10d
3234	movl	%ecx,%r13d
3235	vpsrlq	$2,%xmm7,%xmm7
3236	addl	%r10d,%r14d
3237	shrdl	$14,%r13d,%r13d
3238	movl	%r14d,%r10d
3239	vpxor	%xmm7,%xmm6,%xmm6
3240	movl	%edx,%r12d
3241	shrdl	$9,%r14d,%r14d
3242	xorl	%ecx,%r13d
3243	vpshufb	%xmm8,%xmm6,%xmm6
3244	xorl	%r8d,%r12d
3245	shrdl	$5,%r13d,%r13d
3246	xorl	%r10d,%r14d
3247	vpaddd	%xmm6,%xmm0,%xmm0
3248	andl	%ecx,%r12d
3249	xorl	%ecx,%r13d
3250	addl	8(%rsp),%r9d
3251	vpshufd	$80,%xmm0,%xmm7
3252	movl	%r10d,%r15d
3253	xorl	%r8d,%r12d
3254	shrdl	$11,%r14d,%r14d
3255	vpsrld	$10,%xmm7,%xmm6
3256	xorl	%r11d,%r15d
3257	addl	%r12d,%r9d
3258	shrdl	$6,%r13d,%r13d
3259	vpsrlq	$17,%xmm7,%xmm7
3260	andl	%r15d,%edi
3261	xorl	%r10d,%r14d
3262	addl	%r13d,%r9d
3263	vpxor	%xmm7,%xmm6,%xmm6
3264	xorl	%r11d,%edi
3265	shrdl	$2,%r14d,%r14d
3266	addl	%r9d,%ebx
3267	vpsrlq	$2,%xmm7,%xmm7
3268	addl	%edi,%r9d
3269	movl	%ebx,%r13d
3270	addl	%r9d,%r14d
3271	vpxor	%xmm7,%xmm6,%xmm6
3272	shrdl	$14,%r13d,%r13d
3273	movl	%r14d,%r9d
3274	movl	%ecx,%r12d
3275	vpshufb	%xmm9,%xmm6,%xmm6
3276	shrdl	$9,%r14d,%r14d
3277	xorl	%ebx,%r13d
3278	xorl	%edx,%r12d
3279	vpaddd	%xmm6,%xmm0,%xmm0
3280	shrdl	$5,%r13d,%r13d
3281	xorl	%r9d,%r14d
3282	andl	%ebx,%r12d
3283	vpaddd	0(%rbp),%xmm0,%xmm6
3284	xorl	%ebx,%r13d
3285	addl	12(%rsp),%r8d
3286	movl	%r9d,%edi
3287	xorl	%edx,%r12d
3288	shrdl	$11,%r14d,%r14d
3289	xorl	%r10d,%edi
3290	addl	%r12d,%r8d
3291	shrdl	$6,%r13d,%r13d
3292	andl	%edi,%r15d
3293	xorl	%r9d,%r14d
3294	addl	%r13d,%r8d
3295	xorl	%r10d,%r15d
3296	shrdl	$2,%r14d,%r14d
3297	addl	%r8d,%eax
3298	addl	%r15d,%r8d
3299	movl	%eax,%r13d
3300	addl	%r8d,%r14d
3301	vmovdqa	%xmm6,0(%rsp)
3302	vpalignr	$4,%xmm1,%xmm2,%xmm4
3303	shrdl	$14,%r13d,%r13d
3304	movl	%r14d,%r8d
3305	movl	%ebx,%r12d
3306	vpalignr	$4,%xmm3,%xmm0,%xmm7
3307	shrdl	$9,%r14d,%r14d
3308	xorl	%eax,%r13d
3309	xorl	%ecx,%r12d
3310	vpsrld	$7,%xmm4,%xmm6
3311	shrdl	$5,%r13d,%r13d
3312	xorl	%r8d,%r14d
3313	andl	%eax,%r12d
3314	vpaddd	%xmm7,%xmm1,%xmm1
3315	xorl	%eax,%r13d
3316	addl	16(%rsp),%edx
3317	movl	%r8d,%r15d
3318	vpsrld	$3,%xmm4,%xmm7
3319	xorl	%ecx,%r12d
3320	shrdl	$11,%r14d,%r14d
3321	xorl	%r9d,%r15d
3322	vpslld	$14,%xmm4,%xmm5
3323	addl	%r12d,%edx
3324	shrdl	$6,%r13d,%r13d
3325	andl	%r15d,%edi
3326	vpxor	%xmm6,%xmm7,%xmm4
3327	xorl	%r8d,%r14d
3328	addl	%r13d,%edx
3329	xorl	%r9d,%edi
3330	vpshufd	$250,%xmm0,%xmm7
3331	shrdl	$2,%r14d,%r14d
3332	addl	%edx,%r11d
3333	addl	%edi,%edx
3334	vpsrld	$11,%xmm6,%xmm6
3335	movl	%r11d,%r13d
3336	addl	%edx,%r14d
3337	shrdl	$14,%r13d,%r13d
3338	vpxor	%xmm5,%xmm4,%xmm4
3339	movl	%r14d,%edx
3340	movl	%eax,%r12d
3341	shrdl	$9,%r14d,%r14d
3342	vpslld	$11,%xmm5,%xmm5
3343	xorl	%r11d,%r13d
3344	xorl	%ebx,%r12d
3345	shrdl	$5,%r13d,%r13d
3346	vpxor	%xmm6,%xmm4,%xmm4
3347	xorl	%edx,%r14d
3348	andl	%r11d,%r12d
3349	xorl	%r11d,%r13d
3350	vpsrld	$10,%xmm7,%xmm6
3351	addl	20(%rsp),%ecx
3352	movl	%edx,%edi
3353	xorl	%ebx,%r12d
3354	vpxor	%xmm5,%xmm4,%xmm4
3355	shrdl	$11,%r14d,%r14d
3356	xorl	%r8d,%edi
3357	addl	%r12d,%ecx
3358	vpsrlq	$17,%xmm7,%xmm7
3359	shrdl	$6,%r13d,%r13d
3360	andl	%edi,%r15d
3361	xorl	%edx,%r14d
3362	vpaddd	%xmm4,%xmm1,%xmm1
3363	addl	%r13d,%ecx
3364	xorl	%r8d,%r15d
3365	shrdl	$2,%r14d,%r14d
3366	vpxor	%xmm7,%xmm6,%xmm6
3367	addl	%ecx,%r10d
3368	addl	%r15d,%ecx
3369	movl	%r10d,%r13d
3370	vpsrlq	$2,%xmm7,%xmm7
3371	addl	%ecx,%r14d
3372	shrdl	$14,%r13d,%r13d
3373	movl	%r14d,%ecx
3374	vpxor	%xmm7,%xmm6,%xmm6
3375	movl	%r11d,%r12d
3376	shrdl	$9,%r14d,%r14d
3377	xorl	%r10d,%r13d
3378	vpshufb	%xmm8,%xmm6,%xmm6
3379	xorl	%eax,%r12d
3380	shrdl	$5,%r13d,%r13d
3381	xorl	%ecx,%r14d
3382	vpaddd	%xmm6,%xmm1,%xmm1
3383	andl	%r10d,%r12d
3384	xorl	%r10d,%r13d
3385	addl	24(%rsp),%ebx
3386	vpshufd	$80,%xmm1,%xmm7
3387	movl	%ecx,%r15d
3388	xorl	%eax,%r12d
3389	shrdl	$11,%r14d,%r14d
3390	vpsrld	$10,%xmm7,%xmm6
3391	xorl	%edx,%r15d
3392	addl	%r12d,%ebx
3393	shrdl	$6,%r13d,%r13d
3394	vpsrlq	$17,%xmm7,%xmm7
3395	andl	%r15d,%edi
3396	xorl	%ecx,%r14d
3397	addl	%r13d,%ebx
3398	vpxor	%xmm7,%xmm6,%xmm6
3399	xorl	%edx,%edi
3400	shrdl	$2,%r14d,%r14d
3401	addl	%ebx,%r9d
3402	vpsrlq	$2,%xmm7,%xmm7
3403	addl	%edi,%ebx
3404	movl	%r9d,%r13d
3405	addl	%ebx,%r14d
3406	vpxor	%xmm7,%xmm6,%xmm6
3407	shrdl	$14,%r13d,%r13d
3408	movl	%r14d,%ebx
3409	movl	%r10d,%r12d
3410	vpshufb	%xmm9,%xmm6,%xmm6
3411	shrdl	$9,%r14d,%r14d
3412	xorl	%r9d,%r13d
3413	xorl	%r11d,%r12d
3414	vpaddd	%xmm6,%xmm1,%xmm1
3415	shrdl	$5,%r13d,%r13d
3416	xorl	%ebx,%r14d
3417	andl	%r9d,%r12d
3418	vpaddd	32(%rbp),%xmm1,%xmm6
3419	xorl	%r9d,%r13d
3420	addl	28(%rsp),%eax
3421	movl	%ebx,%edi
3422	xorl	%r11d,%r12d
3423	shrdl	$11,%r14d,%r14d
3424	xorl	%ecx,%edi
3425	addl	%r12d,%eax
3426	shrdl	$6,%r13d,%r13d
3427	andl	%edi,%r15d
3428	xorl	%ebx,%r14d
3429	addl	%r13d,%eax
3430	xorl	%ecx,%r15d
3431	shrdl	$2,%r14d,%r14d
3432	addl	%eax,%r8d
3433	addl	%r15d,%eax
3434	movl	%r8d,%r13d
3435	addl	%eax,%r14d
3436	vmovdqa	%xmm6,16(%rsp)
3437	vpalignr	$4,%xmm2,%xmm3,%xmm4
3438	shrdl	$14,%r13d,%r13d
3439	movl	%r14d,%eax
3440	movl	%r9d,%r12d
3441	vpalignr	$4,%xmm0,%xmm1,%xmm7
3442	shrdl	$9,%r14d,%r14d
3443	xorl	%r8d,%r13d
3444	xorl	%r10d,%r12d
3445	vpsrld	$7,%xmm4,%xmm6
3446	shrdl	$5,%r13d,%r13d
3447	xorl	%eax,%r14d
3448	andl	%r8d,%r12d
3449	vpaddd	%xmm7,%xmm2,%xmm2
3450	xorl	%r8d,%r13d
3451	addl	32(%rsp),%r11d
3452	movl	%eax,%r15d
3453	vpsrld	$3,%xmm4,%xmm7
3454	xorl	%r10d,%r12d
3455	shrdl	$11,%r14d,%r14d
3456	xorl	%ebx,%r15d
3457	vpslld	$14,%xmm4,%xmm5
3458	addl	%r12d,%r11d
3459	shrdl	$6,%r13d,%r13d
3460	andl	%r15d,%edi
3461	vpxor	%xmm6,%xmm7,%xmm4
3462	xorl	%eax,%r14d
3463	addl	%r13d,%r11d
3464	xorl	%ebx,%edi
3465	vpshufd	$250,%xmm1,%xmm7
3466	shrdl	$2,%r14d,%r14d
3467	addl	%r11d,%edx
3468	addl	%edi,%r11d
3469	vpsrld	$11,%xmm6,%xmm6
3470	movl	%edx,%r13d
3471	addl	%r11d,%r14d
3472	shrdl	$14,%r13d,%r13d
3473	vpxor	%xmm5,%xmm4,%xmm4
3474	movl	%r14d,%r11d
3475	movl	%r8d,%r12d
3476	shrdl	$9,%r14d,%r14d
3477	vpslld	$11,%xmm5,%xmm5
3478	xorl	%edx,%r13d
3479	xorl	%r9d,%r12d
3480	shrdl	$5,%r13d,%r13d
3481	vpxor	%xmm6,%xmm4,%xmm4
3482	xorl	%r11d,%r14d
3483	andl	%edx,%r12d
3484	xorl	%edx,%r13d
3485	vpsrld	$10,%xmm7,%xmm6
3486	addl	36(%rsp),%r10d
3487	movl	%r11d,%edi
3488	xorl	%r9d,%r12d
3489	vpxor	%xmm5,%xmm4,%xmm4
3490	shrdl	$11,%r14d,%r14d
3491	xorl	%eax,%edi
3492	addl	%r12d,%r10d
3493	vpsrlq	$17,%xmm7,%xmm7
3494	shrdl	$6,%r13d,%r13d
3495	andl	%edi,%r15d
3496	xorl	%r11d,%r14d
3497	vpaddd	%xmm4,%xmm2,%xmm2
3498	addl	%r13d,%r10d
3499	xorl	%eax,%r15d
3500	shrdl	$2,%r14d,%r14d
3501	vpxor	%xmm7,%xmm6,%xmm6
3502	addl	%r10d,%ecx
3503	addl	%r15d,%r10d
3504	movl	%ecx,%r13d
3505	vpsrlq	$2,%xmm7,%xmm7
3506	addl	%r10d,%r14d
3507	shrdl	$14,%r13d,%r13d
3508	movl	%r14d,%r10d
3509	vpxor	%xmm7,%xmm6,%xmm6
3510	movl	%edx,%r12d
3511	shrdl	$9,%r14d,%r14d
3512	xorl	%ecx,%r13d
3513	vpshufb	%xmm8,%xmm6,%xmm6
3514	xorl	%r8d,%r12d
3515	shrdl	$5,%r13d,%r13d
3516	xorl	%r10d,%r14d
3517	vpaddd	%xmm6,%xmm2,%xmm2
3518	andl	%ecx,%r12d
3519	xorl	%ecx,%r13d
3520	addl	40(%rsp),%r9d
3521	vpshufd	$80,%xmm2,%xmm7
3522	movl	%r10d,%r15d
3523	xorl	%r8d,%r12d
3524	shrdl	$11,%r14d,%r14d
3525	vpsrld	$10,%xmm7,%xmm6
3526	xorl	%r11d,%r15d
3527	addl	%r12d,%r9d
3528	shrdl	$6,%r13d,%r13d
3529	vpsrlq	$17,%xmm7,%xmm7
3530	andl	%r15d,%edi
3531	xorl	%r10d,%r14d
3532	addl	%r13d,%r9d
3533	vpxor	%xmm7,%xmm6,%xmm6
3534	xorl	%r11d,%edi
3535	shrdl	$2,%r14d,%r14d
3536	addl	%r9d,%ebx
3537	vpsrlq	$2,%xmm7,%xmm7
3538	addl	%edi,%r9d
3539	movl	%ebx,%r13d
3540	addl	%r9d,%r14d
3541	vpxor	%xmm7,%xmm6,%xmm6
3542	shrdl	$14,%r13d,%r13d
3543	movl	%r14d,%r9d
3544	movl	%ecx,%r12d
3545	vpshufb	%xmm9,%xmm6,%xmm6
3546	shrdl	$9,%r14d,%r14d
3547	xorl	%ebx,%r13d
3548	xorl	%edx,%r12d
3549	vpaddd	%xmm6,%xmm2,%xmm2
3550	shrdl	$5,%r13d,%r13d
3551	xorl	%r9d,%r14d
3552	andl	%ebx,%r12d
3553	vpaddd	64(%rbp),%xmm2,%xmm6
3554	xorl	%ebx,%r13d
3555	addl	44(%rsp),%r8d
3556	movl	%r9d,%edi
3557	xorl	%edx,%r12d
3558	shrdl	$11,%r14d,%r14d
3559	xorl	%r10d,%edi
3560	addl	%r12d,%r8d
3561	shrdl	$6,%r13d,%r13d
3562	andl	%edi,%r15d
3563	xorl	%r9d,%r14d
3564	addl	%r13d,%r8d
3565	xorl	%r10d,%r15d
3566	shrdl	$2,%r14d,%r14d
3567	addl	%r8d,%eax
3568	addl	%r15d,%r8d
3569	movl	%eax,%r13d
3570	addl	%r8d,%r14d
3571	vmovdqa	%xmm6,32(%rsp)
3572	vpalignr	$4,%xmm3,%xmm0,%xmm4
3573	shrdl	$14,%r13d,%r13d
3574	movl	%r14d,%r8d
3575	movl	%ebx,%r12d
3576	vpalignr	$4,%xmm1,%xmm2,%xmm7
3577	shrdl	$9,%r14d,%r14d
3578	xorl	%eax,%r13d
3579	xorl	%ecx,%r12d
3580	vpsrld	$7,%xmm4,%xmm6
3581	shrdl	$5,%r13d,%r13d
3582	xorl	%r8d,%r14d
3583	andl	%eax,%r12d
3584	vpaddd	%xmm7,%xmm3,%xmm3
3585	xorl	%eax,%r13d
3586	addl	48(%rsp),%edx
3587	movl	%r8d,%r15d
3588	vpsrld	$3,%xmm4,%xmm7
3589	xorl	%ecx,%r12d
3590	shrdl	$11,%r14d,%r14d
3591	xorl	%r9d,%r15d
3592	vpslld	$14,%xmm4,%xmm5
3593	addl	%r12d,%edx
3594	shrdl	$6,%r13d,%r13d
3595	andl	%r15d,%edi
3596	vpxor	%xmm6,%xmm7,%xmm4
3597	xorl	%r8d,%r14d
3598	addl	%r13d,%edx
3599	xorl	%r9d,%edi
3600	vpshufd	$250,%xmm2,%xmm7
3601	shrdl	$2,%r14d,%r14d
3602	addl	%edx,%r11d
3603	addl	%edi,%edx
3604	vpsrld	$11,%xmm6,%xmm6
3605	movl	%r11d,%r13d
3606	addl	%edx,%r14d
3607	shrdl	$14,%r13d,%r13d
3608	vpxor	%xmm5,%xmm4,%xmm4
3609	movl	%r14d,%edx
3610	movl	%eax,%r12d
3611	shrdl	$9,%r14d,%r14d
3612	vpslld	$11,%xmm5,%xmm5
3613	xorl	%r11d,%r13d
3614	xorl	%ebx,%r12d
3615	shrdl	$5,%r13d,%r13d
3616	vpxor	%xmm6,%xmm4,%xmm4
3617	xorl	%edx,%r14d
3618	andl	%r11d,%r12d
3619	xorl	%r11d,%r13d
3620	vpsrld	$10,%xmm7,%xmm6
3621	addl	52(%rsp),%ecx
3622	movl	%edx,%edi
3623	xorl	%ebx,%r12d
3624	vpxor	%xmm5,%xmm4,%xmm4
3625	shrdl	$11,%r14d,%r14d
3626	xorl	%r8d,%edi
3627	addl	%r12d,%ecx
3628	vpsrlq	$17,%xmm7,%xmm7
3629	shrdl	$6,%r13d,%r13d
3630	andl	%edi,%r15d
3631	xorl	%edx,%r14d
3632	vpaddd	%xmm4,%xmm3,%xmm3
3633	addl	%r13d,%ecx
3634	xorl	%r8d,%r15d
3635	shrdl	$2,%r14d,%r14d
3636	vpxor	%xmm7,%xmm6,%xmm6
3637	addl	%ecx,%r10d
3638	addl	%r15d,%ecx
3639	movl	%r10d,%r13d
3640	vpsrlq	$2,%xmm7,%xmm7
3641	addl	%ecx,%r14d
3642	shrdl	$14,%r13d,%r13d
3643	movl	%r14d,%ecx
3644	vpxor	%xmm7,%xmm6,%xmm6
3645	movl	%r11d,%r12d
3646	shrdl	$9,%r14d,%r14d
3647	xorl	%r10d,%r13d
3648	vpshufb	%xmm8,%xmm6,%xmm6
3649	xorl	%eax,%r12d
3650	shrdl	$5,%r13d,%r13d
3651	xorl	%ecx,%r14d
3652	vpaddd	%xmm6,%xmm3,%xmm3
3653	andl	%r10d,%r12d
3654	xorl	%r10d,%r13d
3655	addl	56(%rsp),%ebx
3656	vpshufd	$80,%xmm3,%xmm7
3657	movl	%ecx,%r15d
3658	xorl	%eax,%r12d
3659	shrdl	$11,%r14d,%r14d
3660	vpsrld	$10,%xmm7,%xmm6
3661	xorl	%edx,%r15d
3662	addl	%r12d,%ebx
3663	shrdl	$6,%r13d,%r13d
3664	vpsrlq	$17,%xmm7,%xmm7
3665	andl	%r15d,%edi
3666	xorl	%ecx,%r14d
3667	addl	%r13d,%ebx
3668	vpxor	%xmm7,%xmm6,%xmm6
3669	xorl	%edx,%edi
3670	shrdl	$2,%r14d,%r14d
3671	addl	%ebx,%r9d
3672	vpsrlq	$2,%xmm7,%xmm7
3673	addl	%edi,%ebx
3674	movl	%r9d,%r13d
3675	addl	%ebx,%r14d
3676	vpxor	%xmm7,%xmm6,%xmm6
3677	shrdl	$14,%r13d,%r13d
3678	movl	%r14d,%ebx
3679	movl	%r10d,%r12d
3680	vpshufb	%xmm9,%xmm6,%xmm6
3681	shrdl	$9,%r14d,%r14d
3682	xorl	%r9d,%r13d
3683	xorl	%r11d,%r12d
3684	vpaddd	%xmm6,%xmm3,%xmm3
3685	shrdl	$5,%r13d,%r13d
3686	xorl	%ebx,%r14d
3687	andl	%r9d,%r12d
3688	vpaddd	96(%rbp),%xmm3,%xmm6
3689	xorl	%r9d,%r13d
3690	addl	60(%rsp),%eax
3691	movl	%ebx,%edi
3692	xorl	%r11d,%r12d
3693	shrdl	$11,%r14d,%r14d
3694	xorl	%ecx,%edi
3695	addl	%r12d,%eax
3696	shrdl	$6,%r13d,%r13d
3697	andl	%edi,%r15d
3698	xorl	%ebx,%r14d
3699	addl	%r13d,%eax
3700	xorl	%ecx,%r15d
3701	shrdl	$2,%r14d,%r14d
3702	addl	%eax,%r8d
3703	addl	%r15d,%eax
3704	movl	%r8d,%r13d
3705	addl	%eax,%r14d
3706	vmovdqa	%xmm6,48(%rsp)
3707	cmpb	$0,131(%rbp)
3708	jne	.Lavx_00_47
3709	shrdl	$14,%r13d,%r13d
3710	movl	%r14d,%eax
3711	movl	%r9d,%r12d
3712	shrdl	$9,%r14d,%r14d
3713	xorl	%r8d,%r13d
3714	xorl	%r10d,%r12d
3715	shrdl	$5,%r13d,%r13d
3716	xorl	%eax,%r14d
3717	andl	%r8d,%r12d
3718	xorl	%r8d,%r13d
3719	addl	0(%rsp),%r11d
3720	movl	%eax,%r15d
3721	xorl	%r10d,%r12d
3722	shrdl	$11,%r14d,%r14d
3723	xorl	%ebx,%r15d
3724	addl	%r12d,%r11d
3725	shrdl	$6,%r13d,%r13d
3726	andl	%r15d,%edi
3727	xorl	%eax,%r14d
3728	addl	%r13d,%r11d
3729	xorl	%ebx,%edi
3730	shrdl	$2,%r14d,%r14d
3731	addl	%r11d,%edx
3732	addl	%edi,%r11d
3733	movl	%edx,%r13d
3734	addl	%r11d,%r14d
3735	shrdl	$14,%r13d,%r13d
3736	movl	%r14d,%r11d
3737	movl	%r8d,%r12d
3738	shrdl	$9,%r14d,%r14d
3739	xorl	%edx,%r13d
3740	xorl	%r9d,%r12d
3741	shrdl	$5,%r13d,%r13d
3742	xorl	%r11d,%r14d
3743	andl	%edx,%r12d
3744	xorl	%edx,%r13d
3745	addl	4(%rsp),%r10d
3746	movl	%r11d,%edi
3747	xorl	%r9d,%r12d
3748	shrdl	$11,%r14d,%r14d
3749	xorl	%eax,%edi
3750	addl	%r12d,%r10d
3751	shrdl	$6,%r13d,%r13d
3752	andl	%edi,%r15d
3753	xorl	%r11d,%r14d
3754	addl	%r13d,%r10d
3755	xorl	%eax,%r15d
3756	shrdl	$2,%r14d,%r14d
3757	addl	%r10d,%ecx
3758	addl	%r15d,%r10d
3759	movl	%ecx,%r13d
3760	addl	%r10d,%r14d
3761	shrdl	$14,%r13d,%r13d
3762	movl	%r14d,%r10d
3763	movl	%edx,%r12d
3764	shrdl	$9,%r14d,%r14d
3765	xorl	%ecx,%r13d
3766	xorl	%r8d,%r12d
3767	shrdl	$5,%r13d,%r13d
3768	xorl	%r10d,%r14d
3769	andl	%ecx,%r12d
3770	xorl	%ecx,%r13d
3771	addl	8(%rsp),%r9d
3772	movl	%r10d,%r15d
3773	xorl	%r8d,%r12d
3774	shrdl	$11,%r14d,%r14d
3775	xorl	%r11d,%r15d
3776	addl	%r12d,%r9d
3777	shrdl	$6,%r13d,%r13d
3778	andl	%r15d,%edi
3779	xorl	%r10d,%r14d
3780	addl	%r13d,%r9d
3781	xorl	%r11d,%edi
3782	shrdl	$2,%r14d,%r14d
3783	addl	%r9d,%ebx
3784	addl	%edi,%r9d
3785	movl	%ebx,%r13d
3786	addl	%r9d,%r14d
3787	shrdl	$14,%r13d,%r13d
3788	movl	%r14d,%r9d
3789	movl	%ecx,%r12d
3790	shrdl	$9,%r14d,%r14d
3791	xorl	%ebx,%r13d
3792	xorl	%edx,%r12d
3793	shrdl	$5,%r13d,%r13d
3794	xorl	%r9d,%r14d
3795	andl	%ebx,%r12d
3796	xorl	%ebx,%r13d
3797	addl	12(%rsp),%r8d
3798	movl	%r9d,%edi
3799	xorl	%edx,%r12d
3800	shrdl	$11,%r14d,%r14d
3801	xorl	%r10d,%edi
3802	addl	%r12d,%r8d
3803	shrdl	$6,%r13d,%r13d
3804	andl	%edi,%r15d
3805	xorl	%r9d,%r14d
3806	addl	%r13d,%r8d
3807	xorl	%r10d,%r15d
3808	shrdl	$2,%r14d,%r14d
3809	addl	%r8d,%eax
3810	addl	%r15d,%r8d
3811	movl	%eax,%r13d
3812	addl	%r8d,%r14d
3813	shrdl	$14,%r13d,%r13d
3814	movl	%r14d,%r8d
3815	movl	%ebx,%r12d
3816	shrdl	$9,%r14d,%r14d
3817	xorl	%eax,%r13d
3818	xorl	%ecx,%r12d
3819	shrdl	$5,%r13d,%r13d
3820	xorl	%r8d,%r14d
3821	andl	%eax,%r12d
3822	xorl	%eax,%r13d
3823	addl	16(%rsp),%edx
3824	movl	%r8d,%r15d
3825	xorl	%ecx,%r12d
3826	shrdl	$11,%r14d,%r14d
3827	xorl	%r9d,%r15d
3828	addl	%r12d,%edx
3829	shrdl	$6,%r13d,%r13d
3830	andl	%r15d,%edi
3831	xorl	%r8d,%r14d
3832	addl	%r13d,%edx
3833	xorl	%r9d,%edi
3834	shrdl	$2,%r14d,%r14d
3835	addl	%edx,%r11d
3836	addl	%edi,%edx
3837	movl	%r11d,%r13d
3838	addl	%edx,%r14d
3839	shrdl	$14,%r13d,%r13d
3840	movl	%r14d,%edx
3841	movl	%eax,%r12d
3842	shrdl	$9,%r14d,%r14d
3843	xorl	%r11d,%r13d
3844	xorl	%ebx,%r12d
3845	shrdl	$5,%r13d,%r13d
3846	xorl	%edx,%r14d
3847	andl	%r11d,%r12d
3848	xorl	%r11d,%r13d
3849	addl	20(%rsp),%ecx
3850	movl	%edx,%edi
3851	xorl	%ebx,%r12d
3852	shrdl	$11,%r14d,%r14d
3853	xorl	%r8d,%edi
3854	addl	%r12d,%ecx
3855	shrdl	$6,%r13d,%r13d
3856	andl	%edi,%r15d
3857	xorl	%edx,%r14d
3858	addl	%r13d,%ecx
3859	xorl	%r8d,%r15d
3860	shrdl	$2,%r14d,%r14d
3861	addl	%ecx,%r10d
3862	addl	%r15d,%ecx
3863	movl	%r10d,%r13d
3864	addl	%ecx,%r14d
3865	shrdl	$14,%r13d,%r13d
3866	movl	%r14d,%ecx
3867	movl	%r11d,%r12d
3868	shrdl	$9,%r14d,%r14d
3869	xorl	%r10d,%r13d
3870	xorl	%eax,%r12d
3871	shrdl	$5,%r13d,%r13d
3872	xorl	%ecx,%r14d
3873	andl	%r10d,%r12d
3874	xorl	%r10d,%r13d
3875	addl	24(%rsp),%ebx
3876	movl	%ecx,%r15d
3877	xorl	%eax,%r12d
3878	shrdl	$11,%r14d,%r14d
3879	xorl	%edx,%r15d
3880	addl	%r12d,%ebx
3881	shrdl	$6,%r13d,%r13d
3882	andl	%r15d,%edi
3883	xorl	%ecx,%r14d
3884	addl	%r13d,%ebx
3885	xorl	%edx,%edi
3886	shrdl	$2,%r14d,%r14d
3887	addl	%ebx,%r9d
3888	addl	%edi,%ebx
3889	movl	%r9d,%r13d
3890	addl	%ebx,%r14d
3891	shrdl	$14,%r13d,%r13d
3892	movl	%r14d,%ebx
3893	movl	%r10d,%r12d
3894	shrdl	$9,%r14d,%r14d
3895	xorl	%r9d,%r13d
3896	xorl	%r11d,%r12d
3897	shrdl	$5,%r13d,%r13d
3898	xorl	%ebx,%r14d
3899	andl	%r9d,%r12d
3900	xorl	%r9d,%r13d
3901	addl	28(%rsp),%eax
3902	movl	%ebx,%edi
3903	xorl	%r11d,%r12d
3904	shrdl	$11,%r14d,%r14d
3905	xorl	%ecx,%edi
3906	addl	%r12d,%eax
3907	shrdl	$6,%r13d,%r13d
3908	andl	%edi,%r15d
3909	xorl	%ebx,%r14d
3910	addl	%r13d,%eax
3911	xorl	%ecx,%r15d
3912	shrdl	$2,%r14d,%r14d
3913	addl	%eax,%r8d
3914	addl	%r15d,%eax
3915	movl	%r8d,%r13d
3916	addl	%eax,%r14d
3917	shrdl	$14,%r13d,%r13d
3918	movl	%r14d,%eax
3919	movl	%r9d,%r12d
3920	shrdl	$9,%r14d,%r14d
3921	xorl	%r8d,%r13d
3922	xorl	%r10d,%r12d
3923	shrdl	$5,%r13d,%r13d
3924	xorl	%eax,%r14d
3925	andl	%r8d,%r12d
3926	xorl	%r8d,%r13d
3927	addl	32(%rsp),%r11d
3928	movl	%eax,%r15d
3929	xorl	%r10d,%r12d
3930	shrdl	$11,%r14d,%r14d
3931	xorl	%ebx,%r15d
3932	addl	%r12d,%r11d
3933	shrdl	$6,%r13d,%r13d
3934	andl	%r15d,%edi
3935	xorl	%eax,%r14d
3936	addl	%r13d,%r11d
3937	xorl	%ebx,%edi
3938	shrdl	$2,%r14d,%r14d
3939	addl	%r11d,%edx
3940	addl	%edi,%r11d
3941	movl	%edx,%r13d
3942	addl	%r11d,%r14d
3943	shrdl	$14,%r13d,%r13d
3944	movl	%r14d,%r11d
3945	movl	%r8d,%r12d
3946	shrdl	$9,%r14d,%r14d
3947	xorl	%edx,%r13d
3948	xorl	%r9d,%r12d
3949	shrdl	$5,%r13d,%r13d
3950	xorl	%r11d,%r14d
3951	andl	%edx,%r12d
3952	xorl	%edx,%r13d
3953	addl	36(%rsp),%r10d
3954	movl	%r11d,%edi
3955	xorl	%r9d,%r12d
3956	shrdl	$11,%r14d,%r14d
3957	xorl	%eax,%edi
3958	addl	%r12d,%r10d
3959	shrdl	$6,%r13d,%r13d
3960	andl	%edi,%r15d
3961	xorl	%r11d,%r14d
3962	addl	%r13d,%r10d
3963	xorl	%eax,%r15d
3964	shrdl	$2,%r14d,%r14d
3965	addl	%r10d,%ecx
3966	addl	%r15d,%r10d
3967	movl	%ecx,%r13d
3968	addl	%r10d,%r14d
3969	shrdl	$14,%r13d,%r13d
3970	movl	%r14d,%r10d
3971	movl	%edx,%r12d
3972	shrdl	$9,%r14d,%r14d
3973	xorl	%ecx,%r13d
3974	xorl	%r8d,%r12d
3975	shrdl	$5,%r13d,%r13d
3976	xorl	%r10d,%r14d
3977	andl	%ecx,%r12d
3978	xorl	%ecx,%r13d
3979	addl	40(%rsp),%r9d
3980	movl	%r10d,%r15d
3981	xorl	%r8d,%r12d
3982	shrdl	$11,%r14d,%r14d
3983	xorl	%r11d,%r15d
3984	addl	%r12d,%r9d
3985	shrdl	$6,%r13d,%r13d
3986	andl	%r15d,%edi
3987	xorl	%r10d,%r14d
3988	addl	%r13d,%r9d
3989	xorl	%r11d,%edi
3990	shrdl	$2,%r14d,%r14d
3991	addl	%r9d,%ebx
3992	addl	%edi,%r9d
3993	movl	%ebx,%r13d
3994	addl	%r9d,%r14d
3995	shrdl	$14,%r13d,%r13d
3996	movl	%r14d,%r9d
3997	movl	%ecx,%r12d
3998	shrdl	$9,%r14d,%r14d
3999	xorl	%ebx,%r13d
4000	xorl	%edx,%r12d
4001	shrdl	$5,%r13d,%r13d
4002	xorl	%r9d,%r14d
4003	andl	%ebx,%r12d
4004	xorl	%ebx,%r13d
4005	addl	44(%rsp),%r8d
4006	movl	%r9d,%edi
4007	xorl	%edx,%r12d
4008	shrdl	$11,%r14d,%r14d
4009	xorl	%r10d,%edi
4010	addl	%r12d,%r8d
4011	shrdl	$6,%r13d,%r13d
4012	andl	%edi,%r15d
4013	xorl	%r9d,%r14d
4014	addl	%r13d,%r8d
4015	xorl	%r10d,%r15d
4016	shrdl	$2,%r14d,%r14d
4017	addl	%r8d,%eax
4018	addl	%r15d,%r8d
4019	movl	%eax,%r13d
4020	addl	%r8d,%r14d
4021	shrdl	$14,%r13d,%r13d
4022	movl	%r14d,%r8d
4023	movl	%ebx,%r12d
4024	shrdl	$9,%r14d,%r14d
4025	xorl	%eax,%r13d
4026	xorl	%ecx,%r12d
4027	shrdl	$5,%r13d,%r13d
4028	xorl	%r8d,%r14d
4029	andl	%eax,%r12d
4030	xorl	%eax,%r13d
4031	addl	48(%rsp),%edx
4032	movl	%r8d,%r15d
4033	xorl	%ecx,%r12d
4034	shrdl	$11,%r14d,%r14d
4035	xorl	%r9d,%r15d
4036	addl	%r12d,%edx
4037	shrdl	$6,%r13d,%r13d
4038	andl	%r15d,%edi
4039	xorl	%r8d,%r14d
4040	addl	%r13d,%edx
4041	xorl	%r9d,%edi
4042	shrdl	$2,%r14d,%r14d
4043	addl	%edx,%r11d
4044	addl	%edi,%edx
4045	movl	%r11d,%r13d
4046	addl	%edx,%r14d
4047	shrdl	$14,%r13d,%r13d
4048	movl	%r14d,%edx
4049	movl	%eax,%r12d
4050	shrdl	$9,%r14d,%r14d
4051	xorl	%r11d,%r13d
4052	xorl	%ebx,%r12d
4053	shrdl	$5,%r13d,%r13d
4054	xorl	%edx,%r14d
4055	andl	%r11d,%r12d
4056	xorl	%r11d,%r13d
4057	addl	52(%rsp),%ecx
4058	movl	%edx,%edi
4059	xorl	%ebx,%r12d
4060	shrdl	$11,%r14d,%r14d
4061	xorl	%r8d,%edi
4062	addl	%r12d,%ecx
4063	shrdl	$6,%r13d,%r13d
4064	andl	%edi,%r15d
4065	xorl	%edx,%r14d
4066	addl	%r13d,%ecx
4067	xorl	%r8d,%r15d
4068	shrdl	$2,%r14d,%r14d
4069	addl	%ecx,%r10d
4070	addl	%r15d,%ecx
4071	movl	%r10d,%r13d
4072	addl	%ecx,%r14d
4073	shrdl	$14,%r13d,%r13d
4074	movl	%r14d,%ecx
4075	movl	%r11d,%r12d
4076	shrdl	$9,%r14d,%r14d
4077	xorl	%r10d,%r13d
4078	xorl	%eax,%r12d
4079	shrdl	$5,%r13d,%r13d
4080	xorl	%ecx,%r14d
4081	andl	%r10d,%r12d
4082	xorl	%r10d,%r13d
4083	addl	56(%rsp),%ebx
4084	movl	%ecx,%r15d
4085	xorl	%eax,%r12d
4086	shrdl	$11,%r14d,%r14d
4087	xorl	%edx,%r15d
4088	addl	%r12d,%ebx
4089	shrdl	$6,%r13d,%r13d
4090	andl	%r15d,%edi
4091	xorl	%ecx,%r14d
4092	addl	%r13d,%ebx
4093	xorl	%edx,%edi
4094	shrdl	$2,%r14d,%r14d
4095	addl	%ebx,%r9d
4096	addl	%edi,%ebx
4097	movl	%r9d,%r13d
4098	addl	%ebx,%r14d
4099	shrdl	$14,%r13d,%r13d
4100	movl	%r14d,%ebx
4101	movl	%r10d,%r12d
4102	shrdl	$9,%r14d,%r14d
4103	xorl	%r9d,%r13d
4104	xorl	%r11d,%r12d
4105	shrdl	$5,%r13d,%r13d
4106	xorl	%ebx,%r14d
4107	andl	%r9d,%r12d
4108	xorl	%r9d,%r13d
4109	addl	60(%rsp),%eax
4110	movl	%ebx,%edi
4111	xorl	%r11d,%r12d
4112	shrdl	$11,%r14d,%r14d
4113	xorl	%ecx,%edi
4114	addl	%r12d,%eax
4115	shrdl	$6,%r13d,%r13d
4116	andl	%edi,%r15d
4117	xorl	%ebx,%r14d
4118	addl	%r13d,%eax
4119	xorl	%ecx,%r15d
4120	shrdl	$2,%r14d,%r14d
4121	addl	%eax,%r8d
4122	addl	%r15d,%eax
4123	movl	%r8d,%r13d
4124	addl	%eax,%r14d
4125	movq	64+0(%rsp),%rdi
4126	movl	%r14d,%eax
4127
4128	addl	0(%rdi),%eax
4129	leaq	64(%rsi),%rsi
4130	addl	4(%rdi),%ebx
4131	addl	8(%rdi),%ecx
4132	addl	12(%rdi),%edx
4133	addl	16(%rdi),%r8d
4134	addl	20(%rdi),%r9d
4135	addl	24(%rdi),%r10d
4136	addl	28(%rdi),%r11d
4137
4138	cmpq	64+16(%rsp),%rsi
4139
4140	movl	%eax,0(%rdi)
4141	movl	%ebx,4(%rdi)
4142	movl	%ecx,8(%rdi)
4143	movl	%edx,12(%rdi)
4144	movl	%r8d,16(%rdi)
4145	movl	%r9d,20(%rdi)
4146	movl	%r10d,24(%rdi)
4147	movl	%r11d,28(%rdi)
4148	jb	.Lloop_avx
4149
4150	movq	88(%rsp),%rsi
4151.cfi_def_cfa	%rsi,8
4152	vzeroupper
4153	movq	-48(%rsi),%r15
4154.cfi_restore	%r15
4155	movq	-40(%rsi),%r14
4156.cfi_restore	%r14
4157	movq	-32(%rsi),%r13
4158.cfi_restore	%r13
4159	movq	-24(%rsi),%r12
4160.cfi_restore	%r12
4161	movq	-16(%rsi),%rbp
4162.cfi_restore	%rbp
4163	movq	-8(%rsi),%rbx
4164.cfi_restore	%rbx
4165	leaq	(%rsi),%rsp
4166.cfi_def_cfa_register	%rsp
4167.Lepilogue_avx:
4168	.byte	0xf3,0xc3
4169.cfi_endproc
4170.size	sha256_block_data_order_avx,.-sha256_block_data_order_avx
4171.type	sha256_block_data_order_avx2,@function
4172.align	64
4173sha256_block_data_order_avx2:
4174.cfi_startproc
4175.Lavx2_shortcut:
4176	movq	%rsp,%rax
4177.cfi_def_cfa_register	%rax
4178	pushq	%rbx
4179.cfi_offset	%rbx,-16
4180	pushq	%rbp
4181.cfi_offset	%rbp,-24
4182	pushq	%r12
4183.cfi_offset	%r12,-32
4184	pushq	%r13
4185.cfi_offset	%r13,-40
4186	pushq	%r14
4187.cfi_offset	%r14,-48
4188	pushq	%r15
4189.cfi_offset	%r15,-56
4190	subq	$544,%rsp
4191	shlq	$4,%rdx
4192	andq	$-1024,%rsp
4193	leaq	(%rsi,%rdx,4),%rdx
4194	addq	$448,%rsp
4195	movq	%rdi,64+0(%rsp)
4196	movq	%rsi,64+8(%rsp)
4197	movq	%rdx,64+16(%rsp)
4198	movq	%rax,88(%rsp)
4199.cfi_escape	0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
4200.Lprologue_avx2:
4201
4202	vzeroupper
4203	subq	$-64,%rsi
4204	movl	0(%rdi),%eax
4205	movq	%rsi,%r12
4206	movl	4(%rdi),%ebx
4207	cmpq	%rdx,%rsi
4208	movl	8(%rdi),%ecx
4209	cmoveq	%rsp,%r12
4210	movl	12(%rdi),%edx
4211	movl	16(%rdi),%r8d
4212	movl	20(%rdi),%r9d
4213	movl	24(%rdi),%r10d
4214	movl	28(%rdi),%r11d
4215	vmovdqa	K256+512+32(%rip),%ymm8
4216	vmovdqa	K256+512+64(%rip),%ymm9
4217	jmp	.Loop_avx2
4218.align	16
4219.Loop_avx2:
4220	vmovdqa	K256+512(%rip),%ymm7
4221	vmovdqu	-64+0(%rsi),%xmm0
4222	vmovdqu	-64+16(%rsi),%xmm1
4223	vmovdqu	-64+32(%rsi),%xmm2
4224	vmovdqu	-64+48(%rsi),%xmm3
4225
4226	vinserti128	$1,(%r12),%ymm0,%ymm0
4227	vinserti128	$1,16(%r12),%ymm1,%ymm1
4228	vpshufb	%ymm7,%ymm0,%ymm0
4229	vinserti128	$1,32(%r12),%ymm2,%ymm2
4230	vpshufb	%ymm7,%ymm1,%ymm1
4231	vinserti128	$1,48(%r12),%ymm3,%ymm3
4232
4233	leaq	K256(%rip),%rbp
4234	vpshufb	%ymm7,%ymm2,%ymm2
4235	vpaddd	0(%rbp),%ymm0,%ymm4
4236	vpshufb	%ymm7,%ymm3,%ymm3
4237	vpaddd	32(%rbp),%ymm1,%ymm5
4238	vpaddd	64(%rbp),%ymm2,%ymm6
4239	vpaddd	96(%rbp),%ymm3,%ymm7
4240	vmovdqa	%ymm4,0(%rsp)
4241	xorl	%r14d,%r14d
4242	vmovdqa	%ymm5,32(%rsp)
4243
4244	movq	88(%rsp),%rdi
4245.cfi_def_cfa	%rdi,8
4246	leaq	-64(%rsp),%rsp
4247
4248
4249
4250	movq	%rdi,-8(%rsp)
4251.cfi_escape	0x0f,0x05,0x77,0x78,0x06,0x23,0x08
4252	movl	%ebx,%edi
4253	vmovdqa	%ymm6,0(%rsp)
4254	xorl	%ecx,%edi
4255	vmovdqa	%ymm7,32(%rsp)
4256	movl	%r9d,%r12d
4257	subq	$-32*4,%rbp
4258	jmp	.Lavx2_00_47
4259
4260.align	16
4261.Lavx2_00_47:
4262	leaq	-64(%rsp),%rsp
4263.cfi_escape	0x0f,0x05,0x77,0x38,0x06,0x23,0x08
4264
4265	pushq	64-8(%rsp)
4266.cfi_escape	0x0f,0x05,0x77,0x00,0x06,0x23,0x08
4267	leaq	8(%rsp),%rsp
4268.cfi_escape	0x0f,0x05,0x77,0x78,0x06,0x23,0x08
4269	vpalignr	$4,%ymm0,%ymm1,%ymm4
4270	addl	0+128(%rsp),%r11d
4271	andl	%r8d,%r12d
4272	rorxl	$25,%r8d,%r13d
4273	vpalignr	$4,%ymm2,%ymm3,%ymm7
4274	rorxl	$11,%r8d,%r15d
4275	leal	(%rax,%r14,1),%eax
4276	leal	(%r11,%r12,1),%r11d
4277	vpsrld	$7,%ymm4,%ymm6
4278	andnl	%r10d,%r8d,%r12d
4279	xorl	%r15d,%r13d
4280	rorxl	$6,%r8d,%r14d
4281	vpaddd	%ymm7,%ymm0,%ymm0
4282	leal	(%r11,%r12,1),%r11d
4283	xorl	%r14d,%r13d
4284	movl	%eax,%r15d
4285	vpsrld	$3,%ymm4,%ymm7
4286	rorxl	$22,%eax,%r12d
4287	leal	(%r11,%r13,1),%r11d
4288	xorl	%ebx,%r15d
4289	vpslld	$14,%ymm4,%ymm5
4290	rorxl	$13,%eax,%r14d
4291	rorxl	$2,%eax,%r13d
4292	leal	(%rdx,%r11,1),%edx
4293	vpxor	%ymm6,%ymm7,%ymm4
4294	andl	%r15d,%edi
4295	xorl	%r12d,%r14d
4296	xorl	%ebx,%edi
4297	vpshufd	$250,%ymm3,%ymm7
4298	xorl	%r13d,%r14d
4299	leal	(%r11,%rdi,1),%r11d
4300	movl	%r8d,%r12d
4301	vpsrld	$11,%ymm6,%ymm6
4302	addl	4+128(%rsp),%r10d
4303	andl	%edx,%r12d
4304	rorxl	$25,%edx,%r13d
4305	vpxor	%ymm5,%ymm4,%ymm4
4306	rorxl	$11,%edx,%edi
4307	leal	(%r11,%r14,1),%r11d
4308	leal	(%r10,%r12,1),%r10d
4309	vpslld	$11,%ymm5,%ymm5
4310	andnl	%r9d,%edx,%r12d
4311	xorl	%edi,%r13d
4312	rorxl	$6,%edx,%r14d
4313	vpxor	%ymm6,%ymm4,%ymm4
4314	leal	(%r10,%r12,1),%r10d
4315	xorl	%r14d,%r13d
4316	movl	%r11d,%edi
4317	vpsrld	$10,%ymm7,%ymm6
4318	rorxl	$22,%r11d,%r12d
4319	leal	(%r10,%r13,1),%r10d
4320	xorl	%eax,%edi
4321	vpxor	%ymm5,%ymm4,%ymm4
4322	rorxl	$13,%r11d,%r14d
4323	rorxl	$2,%r11d,%r13d
4324	leal	(%rcx,%r10,1),%ecx
4325	vpsrlq	$17,%ymm7,%ymm7
4326	andl	%edi,%r15d
4327	xorl	%r12d,%r14d
4328	xorl	%eax,%r15d
4329	vpaddd	%ymm4,%ymm0,%ymm0
4330	xorl	%r13d,%r14d
4331	leal	(%r10,%r15,1),%r10d
4332	movl	%edx,%r12d
4333	vpxor	%ymm7,%ymm6,%ymm6
4334	addl	8+128(%rsp),%r9d
4335	andl	%ecx,%r12d
4336	rorxl	$25,%ecx,%r13d
4337	vpsrlq	$2,%ymm7,%ymm7
4338	rorxl	$11,%ecx,%r15d
4339	leal	(%r10,%r14,1),%r10d
4340	leal	(%r9,%r12,1),%r9d
4341	vpxor	%ymm7,%ymm6,%ymm6
4342	andnl	%r8d,%ecx,%r12d
4343	xorl	%r15d,%r13d
4344	rorxl	$6,%ecx,%r14d
4345	vpshufb	%ymm8,%ymm6,%ymm6
4346	leal	(%r9,%r12,1),%r9d
4347	xorl	%r14d,%r13d
4348	movl	%r10d,%r15d
4349	vpaddd	%ymm6,%ymm0,%ymm0
4350	rorxl	$22,%r10d,%r12d
4351	leal	(%r9,%r13,1),%r9d
4352	xorl	%r11d,%r15d
4353	vpshufd	$80,%ymm0,%ymm7
4354	rorxl	$13,%r10d,%r14d
4355	rorxl	$2,%r10d,%r13d
4356	leal	(%rbx,%r9,1),%ebx
4357	vpsrld	$10,%ymm7,%ymm6
4358	andl	%r15d,%edi
4359	xorl	%r12d,%r14d
4360	xorl	%r11d,%edi
4361	vpsrlq	$17,%ymm7,%ymm7
4362	xorl	%r13d,%r14d
4363	leal	(%r9,%rdi,1),%r9d
4364	movl	%ecx,%r12d
4365	vpxor	%ymm7,%ymm6,%ymm6
4366	addl	12+128(%rsp),%r8d
4367	andl	%ebx,%r12d
4368	rorxl	$25,%ebx,%r13d
4369	vpsrlq	$2,%ymm7,%ymm7
4370	rorxl	$11,%ebx,%edi
4371	leal	(%r9,%r14,1),%r9d
4372	leal	(%r8,%r12,1),%r8d
4373	vpxor	%ymm7,%ymm6,%ymm6
4374	andnl	%edx,%ebx,%r12d
4375	xorl	%edi,%r13d
4376	rorxl	$6,%ebx,%r14d
4377	vpshufb	%ymm9,%ymm6,%ymm6
4378	leal	(%r8,%r12,1),%r8d
4379	xorl	%r14d,%r13d
4380	movl	%r9d,%edi
4381	vpaddd	%ymm6,%ymm0,%ymm0
4382	rorxl	$22,%r9d,%r12d
4383	leal	(%r8,%r13,1),%r8d
4384	xorl	%r10d,%edi
4385	vpaddd	0(%rbp),%ymm0,%ymm6
4386	rorxl	$13,%r9d,%r14d
4387	rorxl	$2,%r9d,%r13d
4388	leal	(%rax,%r8,1),%eax
4389	andl	%edi,%r15d
4390	xorl	%r12d,%r14d
4391	xorl	%r10d,%r15d
4392	xorl	%r13d,%r14d
4393	leal	(%r8,%r15,1),%r8d
4394	movl	%ebx,%r12d
4395	vmovdqa	%ymm6,0(%rsp)
4396	vpalignr	$4,%ymm1,%ymm2,%ymm4
4397	addl	32+128(%rsp),%edx
4398	andl	%eax,%r12d
4399	rorxl	$25,%eax,%r13d
4400	vpalignr	$4,%ymm3,%ymm0,%ymm7
4401	rorxl	$11,%eax,%r15d
4402	leal	(%r8,%r14,1),%r8d
4403	leal	(%rdx,%r12,1),%edx
4404	vpsrld	$7,%ymm4,%ymm6
4405	andnl	%ecx,%eax,%r12d
4406	xorl	%r15d,%r13d
4407	rorxl	$6,%eax,%r14d
4408	vpaddd	%ymm7,%ymm1,%ymm1
4409	leal	(%rdx,%r12,1),%edx
4410	xorl	%r14d,%r13d
4411	movl	%r8d,%r15d
4412	vpsrld	$3,%ymm4,%ymm7
4413	rorxl	$22,%r8d,%r12d
4414	leal	(%rdx,%r13,1),%edx
4415	xorl	%r9d,%r15d
4416	vpslld	$14,%ymm4,%ymm5
4417	rorxl	$13,%r8d,%r14d
4418	rorxl	$2,%r8d,%r13d
4419	leal	(%r11,%rdx,1),%r11d
4420	vpxor	%ymm6,%ymm7,%ymm4
4421	andl	%r15d,%edi
4422	xorl	%r12d,%r14d
4423	xorl	%r9d,%edi
4424	vpshufd	$250,%ymm0,%ymm7
4425	xorl	%r13d,%r14d
4426	leal	(%rdx,%rdi,1),%edx
4427	movl	%eax,%r12d
4428	vpsrld	$11,%ymm6,%ymm6
4429	addl	36+128(%rsp),%ecx
4430	andl	%r11d,%r12d
4431	rorxl	$25,%r11d,%r13d
4432	vpxor	%ymm5,%ymm4,%ymm4
4433	rorxl	$11,%r11d,%edi
4434	leal	(%rdx,%r14,1),%edx
4435	leal	(%rcx,%r12,1),%ecx
4436	vpslld	$11,%ymm5,%ymm5
4437	andnl	%ebx,%r11d,%r12d
4438	xorl	%edi,%r13d
4439	rorxl	$6,%r11d,%r14d
4440	vpxor	%ymm6,%ymm4,%ymm4
4441	leal	(%rcx,%r12,1),%ecx
4442	xorl	%r14d,%r13d
4443	movl	%edx,%edi
4444	vpsrld	$10,%ymm7,%ymm6
4445	rorxl	$22,%edx,%r12d
4446	leal	(%rcx,%r13,1),%ecx
4447	xorl	%r8d,%edi
4448	vpxor	%ymm5,%ymm4,%ymm4
4449	rorxl	$13,%edx,%r14d
4450	rorxl	$2,%edx,%r13d
4451	leal	(%r10,%rcx,1),%r10d
4452	vpsrlq	$17,%ymm7,%ymm7
4453	andl	%edi,%r15d
4454	xorl	%r12d,%r14d
4455	xorl	%r8d,%r15d
4456	vpaddd	%ymm4,%ymm1,%ymm1
4457	xorl	%r13d,%r14d
4458	leal	(%rcx,%r15,1),%ecx
4459	movl	%r11d,%r12d
4460	vpxor	%ymm7,%ymm6,%ymm6
4461	addl	40+128(%rsp),%ebx
4462	andl	%r10d,%r12d
4463	rorxl	$25,%r10d,%r13d
4464	vpsrlq	$2,%ymm7,%ymm7
4465	rorxl	$11,%r10d,%r15d
4466	leal	(%rcx,%r14,1),%ecx
4467	leal	(%rbx,%r12,1),%ebx
4468	vpxor	%ymm7,%ymm6,%ymm6
4469	andnl	%eax,%r10d,%r12d
4470	xorl	%r15d,%r13d
4471	rorxl	$6,%r10d,%r14d
4472	vpshufb	%ymm8,%ymm6,%ymm6
4473	leal	(%rbx,%r12,1),%ebx
4474	xorl	%r14d,%r13d
4475	movl	%ecx,%r15d
4476	vpaddd	%ymm6,%ymm1,%ymm1
4477	rorxl	$22,%ecx,%r12d
4478	leal	(%rbx,%r13,1),%ebx
4479	xorl	%edx,%r15d
4480	vpshufd	$80,%ymm1,%ymm7
4481	rorxl	$13,%ecx,%r14d
4482	rorxl	$2,%ecx,%r13d
4483	leal	(%r9,%rbx,1),%r9d
4484	vpsrld	$10,%ymm7,%ymm6
4485	andl	%r15d,%edi
4486	xorl	%r12d,%r14d
4487	xorl	%edx,%edi
4488	vpsrlq	$17,%ymm7,%ymm7
4489	xorl	%r13d,%r14d
4490	leal	(%rbx,%rdi,1),%ebx
4491	movl	%r10d,%r12d
4492	vpxor	%ymm7,%ymm6,%ymm6
4493	addl	44+128(%rsp),%eax
4494	andl	%r9d,%r12d
4495	rorxl	$25,%r9d,%r13d
4496	vpsrlq	$2,%ymm7,%ymm7
4497	rorxl	$11,%r9d,%edi
4498	leal	(%rbx,%r14,1),%ebx
4499	leal	(%rax,%r12,1),%eax
4500	vpxor	%ymm7,%ymm6,%ymm6
4501	andnl	%r11d,%r9d,%r12d
4502	xorl	%edi,%r13d
4503	rorxl	$6,%r9d,%r14d
4504	vpshufb	%ymm9,%ymm6,%ymm6
4505	leal	(%rax,%r12,1),%eax
4506	xorl	%r14d,%r13d
4507	movl	%ebx,%edi
4508	vpaddd	%ymm6,%ymm1,%ymm1
4509	rorxl	$22,%ebx,%r12d
4510	leal	(%rax,%r13,1),%eax
4511	xorl	%ecx,%edi
4512	vpaddd	32(%rbp),%ymm1,%ymm6
4513	rorxl	$13,%ebx,%r14d
4514	rorxl	$2,%ebx,%r13d
4515	leal	(%r8,%rax,1),%r8d
4516	andl	%edi,%r15d
4517	xorl	%r12d,%r14d
4518	xorl	%ecx,%r15d
4519	xorl	%r13d,%r14d
4520	leal	(%rax,%r15,1),%eax
4521	movl	%r9d,%r12d
4522	vmovdqa	%ymm6,32(%rsp)
4523	leaq	-64(%rsp),%rsp
4524.cfi_escape	0x0f,0x05,0x77,0x38,0x06,0x23,0x08
4525
4526	pushq	64-8(%rsp)
4527.cfi_escape	0x0f,0x05,0x77,0x00,0x06,0x23,0x08
4528	leaq	8(%rsp),%rsp
4529.cfi_escape	0x0f,0x05,0x77,0x78,0x06,0x23,0x08
4530	vpalignr	$4,%ymm2,%ymm3,%ymm4
4531	addl	0+128(%rsp),%r11d
4532	andl	%r8d,%r12d
4533	rorxl	$25,%r8d,%r13d
4534	vpalignr	$4,%ymm0,%ymm1,%ymm7
4535	rorxl	$11,%r8d,%r15d
4536	leal	(%rax,%r14,1),%eax
4537	leal	(%r11,%r12,1),%r11d
4538	vpsrld	$7,%ymm4,%ymm6
4539	andnl	%r10d,%r8d,%r12d
4540	xorl	%r15d,%r13d
4541	rorxl	$6,%r8d,%r14d
4542	vpaddd	%ymm7,%ymm2,%ymm2
4543	leal	(%r11,%r12,1),%r11d
4544	xorl	%r14d,%r13d
4545	movl	%eax,%r15d
4546	vpsrld	$3,%ymm4,%ymm7
4547	rorxl	$22,%eax,%r12d
4548	leal	(%r11,%r13,1),%r11d
4549	xorl	%ebx,%r15d
4550	vpslld	$14,%ymm4,%ymm5
4551	rorxl	$13,%eax,%r14d
4552	rorxl	$2,%eax,%r13d
4553	leal	(%rdx,%r11,1),%edx
4554	vpxor	%ymm6,%ymm7,%ymm4
4555	andl	%r15d,%edi
4556	xorl	%r12d,%r14d
4557	xorl	%ebx,%edi
4558	vpshufd	$250,%ymm1,%ymm7
4559	xorl	%r13d,%r14d
4560	leal	(%r11,%rdi,1),%r11d
4561	movl	%r8d,%r12d
4562	vpsrld	$11,%ymm6,%ymm6
4563	addl	4+128(%rsp),%r10d
4564	andl	%edx,%r12d
4565	rorxl	$25,%edx,%r13d
4566	vpxor	%ymm5,%ymm4,%ymm4
4567	rorxl	$11,%edx,%edi
4568	leal	(%r11,%r14,1),%r11d
4569	leal	(%r10,%r12,1),%r10d
4570	vpslld	$11,%ymm5,%ymm5
4571	andnl	%r9d,%edx,%r12d
4572	xorl	%edi,%r13d
4573	rorxl	$6,%edx,%r14d
4574	vpxor	%ymm6,%ymm4,%ymm4
4575	leal	(%r10,%r12,1),%r10d
4576	xorl	%r14d,%r13d
4577	movl	%r11d,%edi
4578	vpsrld	$10,%ymm7,%ymm6
4579	rorxl	$22,%r11d,%r12d
4580	leal	(%r10,%r13,1),%r10d
4581	xorl	%eax,%edi
4582	vpxor	%ymm5,%ymm4,%ymm4
4583	rorxl	$13,%r11d,%r14d
4584	rorxl	$2,%r11d,%r13d
4585	leal	(%rcx,%r10,1),%ecx
4586	vpsrlq	$17,%ymm7,%ymm7
4587	andl	%edi,%r15d
4588	xorl	%r12d,%r14d
4589	xorl	%eax,%r15d
4590	vpaddd	%ymm4,%ymm2,%ymm2
4591	xorl	%r13d,%r14d
4592	leal	(%r10,%r15,1),%r10d
4593	movl	%edx,%r12d
4594	vpxor	%ymm7,%ymm6,%ymm6
4595	addl	8+128(%rsp),%r9d
4596	andl	%ecx,%r12d
4597	rorxl	$25,%ecx,%r13d
4598	vpsrlq	$2,%ymm7,%ymm7
4599	rorxl	$11,%ecx,%r15d
4600	leal	(%r10,%r14,1),%r10d
4601	leal	(%r9,%r12,1),%r9d
4602	vpxor	%ymm7,%ymm6,%ymm6
4603	andnl	%r8d,%ecx,%r12d
4604	xorl	%r15d,%r13d
4605	rorxl	$6,%ecx,%r14d
4606	vpshufb	%ymm8,%ymm6,%ymm6
4607	leal	(%r9,%r12,1),%r9d
4608	xorl	%r14d,%r13d
4609	movl	%r10d,%r15d
4610	vpaddd	%ymm6,%ymm2,%ymm2
4611	rorxl	$22,%r10d,%r12d
4612	leal	(%r9,%r13,1),%r9d
4613	xorl	%r11d,%r15d
4614	vpshufd	$80,%ymm2,%ymm7
4615	rorxl	$13,%r10d,%r14d
4616	rorxl	$2,%r10d,%r13d
4617	leal	(%rbx,%r9,1),%ebx
4618	vpsrld	$10,%ymm7,%ymm6
4619	andl	%r15d,%edi
4620	xorl	%r12d,%r14d
4621	xorl	%r11d,%edi
4622	vpsrlq	$17,%ymm7,%ymm7
4623	xorl	%r13d,%r14d
4624	leal	(%r9,%rdi,1),%r9d
4625	movl	%ecx,%r12d
4626	vpxor	%ymm7,%ymm6,%ymm6
4627	addl	12+128(%rsp),%r8d
4628	andl	%ebx,%r12d
4629	rorxl	$25,%ebx,%r13d
4630	vpsrlq	$2,%ymm7,%ymm7
4631	rorxl	$11,%ebx,%edi
4632	leal	(%r9,%r14,1),%r9d
4633	leal	(%r8,%r12,1),%r8d
4634	vpxor	%ymm7,%ymm6,%ymm6
4635	andnl	%edx,%ebx,%r12d
4636	xorl	%edi,%r13d
4637	rorxl	$6,%ebx,%r14d
4638	vpshufb	%ymm9,%ymm6,%ymm6
4639	leal	(%r8,%r12,1),%r8d
4640	xorl	%r14d,%r13d
4641	movl	%r9d,%edi
4642	vpaddd	%ymm6,%ymm2,%ymm2
4643	rorxl	$22,%r9d,%r12d
4644	leal	(%r8,%r13,1),%r8d
4645	xorl	%r10d,%edi
4646	vpaddd	64(%rbp),%ymm2,%ymm6
4647	rorxl	$13,%r9d,%r14d
4648	rorxl	$2,%r9d,%r13d
4649	leal	(%rax,%r8,1),%eax
4650	andl	%edi,%r15d
4651	xorl	%r12d,%r14d
4652	xorl	%r10d,%r15d
4653	xorl	%r13d,%r14d
4654	leal	(%r8,%r15,1),%r8d
4655	movl	%ebx,%r12d
4656	vmovdqa	%ymm6,0(%rsp)
4657	vpalignr	$4,%ymm3,%ymm0,%ymm4
4658	addl	32+128(%rsp),%edx
4659	andl	%eax,%r12d
4660	rorxl	$25,%eax,%r13d
4661	vpalignr	$4,%ymm1,%ymm2,%ymm7
4662	rorxl	$11,%eax,%r15d
4663	leal	(%r8,%r14,1),%r8d
4664	leal	(%rdx,%r12,1),%edx
4665	vpsrld	$7,%ymm4,%ymm6
4666	andnl	%ecx,%eax,%r12d
4667	xorl	%r15d,%r13d
4668	rorxl	$6,%eax,%r14d
4669	vpaddd	%ymm7,%ymm3,%ymm3
4670	leal	(%rdx,%r12,1),%edx
4671	xorl	%r14d,%r13d
4672	movl	%r8d,%r15d
4673	vpsrld	$3,%ymm4,%ymm7
4674	rorxl	$22,%r8d,%r12d
4675	leal	(%rdx,%r13,1),%edx
4676	xorl	%r9d,%r15d
4677	vpslld	$14,%ymm4,%ymm5
4678	rorxl	$13,%r8d,%r14d
4679	rorxl	$2,%r8d,%r13d
4680	leal	(%r11,%rdx,1),%r11d
4681	vpxor	%ymm6,%ymm7,%ymm4
4682	andl	%r15d,%edi
4683	xorl	%r12d,%r14d
4684	xorl	%r9d,%edi
4685	vpshufd	$250,%ymm2,%ymm7
4686	xorl	%r13d,%r14d
4687	leal	(%rdx,%rdi,1),%edx
4688	movl	%eax,%r12d
4689	vpsrld	$11,%ymm6,%ymm6
4690	addl	36+128(%rsp),%ecx
4691	andl	%r11d,%r12d
4692	rorxl	$25,%r11d,%r13d
4693	vpxor	%ymm5,%ymm4,%ymm4
4694	rorxl	$11,%r11d,%edi
4695	leal	(%rdx,%r14,1),%edx
4696	leal	(%rcx,%r12,1),%ecx
4697	vpslld	$11,%ymm5,%ymm5
4698	andnl	%ebx,%r11d,%r12d
4699	xorl	%edi,%r13d
4700	rorxl	$6,%r11d,%r14d
4701	vpxor	%ymm6,%ymm4,%ymm4
4702	leal	(%rcx,%r12,1),%ecx
4703	xorl	%r14d,%r13d
4704	movl	%edx,%edi
4705	vpsrld	$10,%ymm7,%ymm6
4706	rorxl	$22,%edx,%r12d
4707	leal	(%rcx,%r13,1),%ecx
4708	xorl	%r8d,%edi
4709	vpxor	%ymm5,%ymm4,%ymm4
4710	rorxl	$13,%edx,%r14d
4711	rorxl	$2,%edx,%r13d
4712	leal	(%r10,%rcx,1),%r10d
4713	vpsrlq	$17,%ymm7,%ymm7
4714	andl	%edi,%r15d
4715	xorl	%r12d,%r14d
4716	xorl	%r8d,%r15d
4717	vpaddd	%ymm4,%ymm3,%ymm3
4718	xorl	%r13d,%r14d
4719	leal	(%rcx,%r15,1),%ecx
4720	movl	%r11d,%r12d
4721	vpxor	%ymm7,%ymm6,%ymm6
4722	addl	40+128(%rsp),%ebx
4723	andl	%r10d,%r12d
4724	rorxl	$25,%r10d,%r13d
4725	vpsrlq	$2,%ymm7,%ymm7
4726	rorxl	$11,%r10d,%r15d
4727	leal	(%rcx,%r14,1),%ecx
4728	leal	(%rbx,%r12,1),%ebx
4729	vpxor	%ymm7,%ymm6,%ymm6
4730	andnl	%eax,%r10d,%r12d
4731	xorl	%r15d,%r13d
4732	rorxl	$6,%r10d,%r14d
4733	vpshufb	%ymm8,%ymm6,%ymm6
4734	leal	(%rbx,%r12,1),%ebx
4735	xorl	%r14d,%r13d
4736	movl	%ecx,%r15d
4737	vpaddd	%ymm6,%ymm3,%ymm3
4738	rorxl	$22,%ecx,%r12d
4739	leal	(%rbx,%r13,1),%ebx
4740	xorl	%edx,%r15d
4741	vpshufd	$80,%ymm3,%ymm7
4742	rorxl	$13,%ecx,%r14d
4743	rorxl	$2,%ecx,%r13d
4744	leal	(%r9,%rbx,1),%r9d
4745	vpsrld	$10,%ymm7,%ymm6
4746	andl	%r15d,%edi
4747	xorl	%r12d,%r14d
4748	xorl	%edx,%edi
4749	vpsrlq	$17,%ymm7,%ymm7
4750	xorl	%r13d,%r14d
4751	leal	(%rbx,%rdi,1),%ebx
4752	movl	%r10d,%r12d
4753	vpxor	%ymm7,%ymm6,%ymm6
4754	addl	44+128(%rsp),%eax
4755	andl	%r9d,%r12d
4756	rorxl	$25,%r9d,%r13d
4757	vpsrlq	$2,%ymm7,%ymm7
4758	rorxl	$11,%r9d,%edi
4759	leal	(%rbx,%r14,1),%ebx
4760	leal	(%rax,%r12,1),%eax
4761	vpxor	%ymm7,%ymm6,%ymm6
4762	andnl	%r11d,%r9d,%r12d
4763	xorl	%edi,%r13d
4764	rorxl	$6,%r9d,%r14d
4765	vpshufb	%ymm9,%ymm6,%ymm6
4766	leal	(%rax,%r12,1),%eax
4767	xorl	%r14d,%r13d
4768	movl	%ebx,%edi
4769	vpaddd	%ymm6,%ymm3,%ymm3
4770	rorxl	$22,%ebx,%r12d
4771	leal	(%rax,%r13,1),%eax
4772	xorl	%ecx,%edi
4773	vpaddd	96(%rbp),%ymm3,%ymm6
4774	rorxl	$13,%ebx,%r14d
4775	rorxl	$2,%ebx,%r13d
4776	leal	(%r8,%rax,1),%r8d
4777	andl	%edi,%r15d
4778	xorl	%r12d,%r14d
4779	xorl	%ecx,%r15d
4780	xorl	%r13d,%r14d
4781	leal	(%rax,%r15,1),%eax
4782	movl	%r9d,%r12d
4783	vmovdqa	%ymm6,32(%rsp)
4784	leaq	128(%rbp),%rbp
4785	cmpb	$0,3(%rbp)
4786	jne	.Lavx2_00_47
4787	addl	0+64(%rsp),%r11d
4788	andl	%r8d,%r12d
4789	rorxl	$25,%r8d,%r13d
4790	rorxl	$11,%r8d,%r15d
4791	leal	(%rax,%r14,1),%eax
4792	leal	(%r11,%r12,1),%r11d
4793	andnl	%r10d,%r8d,%r12d
4794	xorl	%r15d,%r13d
4795	rorxl	$6,%r8d,%r14d
4796	leal	(%r11,%r12,1),%r11d
4797	xorl	%r14d,%r13d
4798	movl	%eax,%r15d
4799	rorxl	$22,%eax,%r12d
4800	leal	(%r11,%r13,1),%r11d
4801	xorl	%ebx,%r15d
4802	rorxl	$13,%eax,%r14d
4803	rorxl	$2,%eax,%r13d
4804	leal	(%rdx,%r11,1),%edx
4805	andl	%r15d,%edi
4806	xorl	%r12d,%r14d
4807	xorl	%ebx,%edi
4808	xorl	%r13d,%r14d
4809	leal	(%r11,%rdi,1),%r11d
4810	movl	%r8d,%r12d
4811	addl	4+64(%rsp),%r10d
4812	andl	%edx,%r12d
4813	rorxl	$25,%edx,%r13d
4814	rorxl	$11,%edx,%edi
4815	leal	(%r11,%r14,1),%r11d
4816	leal	(%r10,%r12,1),%r10d
4817	andnl	%r9d,%edx,%r12d
4818	xorl	%edi,%r13d
4819	rorxl	$6,%edx,%r14d
4820	leal	(%r10,%r12,1),%r10d
4821	xorl	%r14d,%r13d
4822	movl	%r11d,%edi
4823	rorxl	$22,%r11d,%r12d
4824	leal	(%r10,%r13,1),%r10d
4825	xorl	%eax,%edi
4826	rorxl	$13,%r11d,%r14d
4827	rorxl	$2,%r11d,%r13d
4828	leal	(%rcx,%r10,1),%ecx
4829	andl	%edi,%r15d
4830	xorl	%r12d,%r14d
4831	xorl	%eax,%r15d
4832	xorl	%r13d,%r14d
4833	leal	(%r10,%r15,1),%r10d
4834	movl	%edx,%r12d
4835	addl	8+64(%rsp),%r9d
4836	andl	%ecx,%r12d
4837	rorxl	$25,%ecx,%r13d
4838	rorxl	$11,%ecx,%r15d
4839	leal	(%r10,%r14,1),%r10d
4840	leal	(%r9,%r12,1),%r9d
4841	andnl	%r8d,%ecx,%r12d
4842	xorl	%r15d,%r13d
4843	rorxl	$6,%ecx,%r14d
4844	leal	(%r9,%r12,1),%r9d
4845	xorl	%r14d,%r13d
4846	movl	%r10d,%r15d
4847	rorxl	$22,%r10d,%r12d
4848	leal	(%r9,%r13,1),%r9d
4849	xorl	%r11d,%r15d
4850	rorxl	$13,%r10d,%r14d
4851	rorxl	$2,%r10d,%r13d
4852	leal	(%rbx,%r9,1),%ebx
4853	andl	%r15d,%edi
4854	xorl	%r12d,%r14d
4855	xorl	%r11d,%edi
4856	xorl	%r13d,%r14d
4857	leal	(%r9,%rdi,1),%r9d
4858	movl	%ecx,%r12d
4859	addl	12+64(%rsp),%r8d
4860	andl	%ebx,%r12d
4861	rorxl	$25,%ebx,%r13d
4862	rorxl	$11,%ebx,%edi
4863	leal	(%r9,%r14,1),%r9d
4864	leal	(%r8,%r12,1),%r8d
4865	andnl	%edx,%ebx,%r12d
4866	xorl	%edi,%r13d
4867	rorxl	$6,%ebx,%r14d
4868	leal	(%r8,%r12,1),%r8d
4869	xorl	%r14d,%r13d
4870	movl	%r9d,%edi
4871	rorxl	$22,%r9d,%r12d
4872	leal	(%r8,%r13,1),%r8d
4873	xorl	%r10d,%edi
4874	rorxl	$13,%r9d,%r14d
4875	rorxl	$2,%r9d,%r13d
4876	leal	(%rax,%r8,1),%eax
4877	andl	%edi,%r15d
4878	xorl	%r12d,%r14d
4879	xorl	%r10d,%r15d
4880	xorl	%r13d,%r14d
4881	leal	(%r8,%r15,1),%r8d
4882	movl	%ebx,%r12d
4883	addl	32+64(%rsp),%edx
4884	andl	%eax,%r12d
4885	rorxl	$25,%eax,%r13d
4886	rorxl	$11,%eax,%r15d
4887	leal	(%r8,%r14,1),%r8d
4888	leal	(%rdx,%r12,1),%edx
4889	andnl	%ecx,%eax,%r12d
4890	xorl	%r15d,%r13d
4891	rorxl	$6,%eax,%r14d
4892	leal	(%rdx,%r12,1),%edx
4893	xorl	%r14d,%r13d
4894	movl	%r8d,%r15d
4895	rorxl	$22,%r8d,%r12d
4896	leal	(%rdx,%r13,1),%edx
4897	xorl	%r9d,%r15d
4898	rorxl	$13,%r8d,%r14d
4899	rorxl	$2,%r8d,%r13d
4900	leal	(%r11,%rdx,1),%r11d
4901	andl	%r15d,%edi
4902	xorl	%r12d,%r14d
4903	xorl	%r9d,%edi
4904	xorl	%r13d,%r14d
4905	leal	(%rdx,%rdi,1),%edx
4906	movl	%eax,%r12d
4907	addl	36+64(%rsp),%ecx
4908	andl	%r11d,%r12d
4909	rorxl	$25,%r11d,%r13d
4910	rorxl	$11,%r11d,%edi
4911	leal	(%rdx,%r14,1),%edx
4912	leal	(%rcx,%r12,1),%ecx
4913	andnl	%ebx,%r11d,%r12d
4914	xorl	%edi,%r13d
4915	rorxl	$6,%r11d,%r14d
4916	leal	(%rcx,%r12,1),%ecx
4917	xorl	%r14d,%r13d
4918	movl	%edx,%edi
4919	rorxl	$22,%edx,%r12d
4920	leal	(%rcx,%r13,1),%ecx
4921	xorl	%r8d,%edi
4922	rorxl	$13,%edx,%r14d
4923	rorxl	$2,%edx,%r13d
4924	leal	(%r10,%rcx,1),%r10d
4925	andl	%edi,%r15d
4926	xorl	%r12d,%r14d
4927	xorl	%r8d,%r15d
4928	xorl	%r13d,%r14d
4929	leal	(%rcx,%r15,1),%ecx
4930	movl	%r11d,%r12d
4931	addl	40+64(%rsp),%ebx
4932	andl	%r10d,%r12d
4933	rorxl	$25,%r10d,%r13d
4934	rorxl	$11,%r10d,%r15d
4935	leal	(%rcx,%r14,1),%ecx
4936	leal	(%rbx,%r12,1),%ebx
4937	andnl	%eax,%r10d,%r12d
4938	xorl	%r15d,%r13d
4939	rorxl	$6,%r10d,%r14d
4940	leal	(%rbx,%r12,1),%ebx
4941	xorl	%r14d,%r13d
4942	movl	%ecx,%r15d
4943	rorxl	$22,%ecx,%r12d
4944	leal	(%rbx,%r13,1),%ebx
4945	xorl	%edx,%r15d
4946	rorxl	$13,%ecx,%r14d
4947	rorxl	$2,%ecx,%r13d
4948	leal	(%r9,%rbx,1),%r9d
4949	andl	%r15d,%edi
4950	xorl	%r12d,%r14d
4951	xorl	%edx,%edi
4952	xorl	%r13d,%r14d
4953	leal	(%rbx,%rdi,1),%ebx
4954	movl	%r10d,%r12d
4955	addl	44+64(%rsp),%eax
4956	andl	%r9d,%r12d
4957	rorxl	$25,%r9d,%r13d
4958	rorxl	$11,%r9d,%edi
4959	leal	(%rbx,%r14,1),%ebx
4960	leal	(%rax,%r12,1),%eax
4961	andnl	%r11d,%r9d,%r12d
4962	xorl	%edi,%r13d
4963	rorxl	$6,%r9d,%r14d
4964	leal	(%rax,%r12,1),%eax
4965	xorl	%r14d,%r13d
4966	movl	%ebx,%edi
4967	rorxl	$22,%ebx,%r12d
4968	leal	(%rax,%r13,1),%eax
4969	xorl	%ecx,%edi
4970	rorxl	$13,%ebx,%r14d
4971	rorxl	$2,%ebx,%r13d
4972	leal	(%r8,%rax,1),%r8d
4973	andl	%edi,%r15d
4974	xorl	%r12d,%r14d
4975	xorl	%ecx,%r15d
4976	xorl	%r13d,%r14d
4977	leal	(%rax,%r15,1),%eax
4978	movl	%r9d,%r12d
4979	addl	0(%rsp),%r11d
4980	andl	%r8d,%r12d
4981	rorxl	$25,%r8d,%r13d
4982	rorxl	$11,%r8d,%r15d
4983	leal	(%rax,%r14,1),%eax
4984	leal	(%r11,%r12,1),%r11d
4985	andnl	%r10d,%r8d,%r12d
4986	xorl	%r15d,%r13d
4987	rorxl	$6,%r8d,%r14d
4988	leal	(%r11,%r12,1),%r11d
4989	xorl	%r14d,%r13d
4990	movl	%eax,%r15d
4991	rorxl	$22,%eax,%r12d
4992	leal	(%r11,%r13,1),%r11d
4993	xorl	%ebx,%r15d
4994	rorxl	$13,%eax,%r14d
4995	rorxl	$2,%eax,%r13d
4996	leal	(%rdx,%r11,1),%edx
4997	andl	%r15d,%edi
4998	xorl	%r12d,%r14d
4999	xorl	%ebx,%edi
5000	xorl	%r13d,%r14d
5001	leal	(%r11,%rdi,1),%r11d
5002	movl	%r8d,%r12d
5003	addl	4(%rsp),%r10d
5004	andl	%edx,%r12d
5005	rorxl	$25,%edx,%r13d
5006	rorxl	$11,%edx,%edi
5007	leal	(%r11,%r14,1),%r11d
5008	leal	(%r10,%r12,1),%r10d
5009	andnl	%r9d,%edx,%r12d
5010	xorl	%edi,%r13d
5011	rorxl	$6,%edx,%r14d
5012	leal	(%r10,%r12,1),%r10d
5013	xorl	%r14d,%r13d
5014	movl	%r11d,%edi
5015	rorxl	$22,%r11d,%r12d
5016	leal	(%r10,%r13,1),%r10d
5017	xorl	%eax,%edi
5018	rorxl	$13,%r11d,%r14d
5019	rorxl	$2,%r11d,%r13d
5020	leal	(%rcx,%r10,1),%ecx
5021	andl	%edi,%r15d
5022	xorl	%r12d,%r14d
5023	xorl	%eax,%r15d
5024	xorl	%r13d,%r14d
5025	leal	(%r10,%r15,1),%r10d
5026	movl	%edx,%r12d
5027	addl	8(%rsp),%r9d
5028	andl	%ecx,%r12d
5029	rorxl	$25,%ecx,%r13d
5030	rorxl	$11,%ecx,%r15d
5031	leal	(%r10,%r14,1),%r10d
5032	leal	(%r9,%r12,1),%r9d
5033	andnl	%r8d,%ecx,%r12d
5034	xorl	%r15d,%r13d
5035	rorxl	$6,%ecx,%r14d
5036	leal	(%r9,%r12,1),%r9d
5037	xorl	%r14d,%r13d
5038	movl	%r10d,%r15d
5039	rorxl	$22,%r10d,%r12d
5040	leal	(%r9,%r13,1),%r9d
5041	xorl	%r11d,%r15d
5042	rorxl	$13,%r10d,%r14d
5043	rorxl	$2,%r10d,%r13d
5044	leal	(%rbx,%r9,1),%ebx
5045	andl	%r15d,%edi
5046	xorl	%r12d,%r14d
5047	xorl	%r11d,%edi
5048	xorl	%r13d,%r14d
5049	leal	(%r9,%rdi,1),%r9d
5050	movl	%ecx,%r12d
5051	addl	12(%rsp),%r8d
5052	andl	%ebx,%r12d
5053	rorxl	$25,%ebx,%r13d
5054	rorxl	$11,%ebx,%edi
5055	leal	(%r9,%r14,1),%r9d
5056	leal	(%r8,%r12,1),%r8d
5057	andnl	%edx,%ebx,%r12d
5058	xorl	%edi,%r13d
5059	rorxl	$6,%ebx,%r14d
5060	leal	(%r8,%r12,1),%r8d
5061	xorl	%r14d,%r13d
5062	movl	%r9d,%edi
5063	rorxl	$22,%r9d,%r12d
5064	leal	(%r8,%r13,1),%r8d
5065	xorl	%r10d,%edi
5066	rorxl	$13,%r9d,%r14d
5067	rorxl	$2,%r9d,%r13d
5068	leal	(%rax,%r8,1),%eax
5069	andl	%edi,%r15d
5070	xorl	%r12d,%r14d
5071	xorl	%r10d,%r15d
5072	xorl	%r13d,%r14d
5073	leal	(%r8,%r15,1),%r8d
5074	movl	%ebx,%r12d
5075	addl	32(%rsp),%edx
5076	andl	%eax,%r12d
5077	rorxl	$25,%eax,%r13d
5078	rorxl	$11,%eax,%r15d
5079	leal	(%r8,%r14,1),%r8d
5080	leal	(%rdx,%r12,1),%edx
5081	andnl	%ecx,%eax,%r12d
5082	xorl	%r15d,%r13d
5083	rorxl	$6,%eax,%r14d
5084	leal	(%rdx,%r12,1),%edx
5085	xorl	%r14d,%r13d
5086	movl	%r8d,%r15d
5087	rorxl	$22,%r8d,%r12d
5088	leal	(%rdx,%r13,1),%edx
5089	xorl	%r9d,%r15d
5090	rorxl	$13,%r8d,%r14d
5091	rorxl	$2,%r8d,%r13d
5092	leal	(%r11,%rdx,1),%r11d
5093	andl	%r15d,%edi
5094	xorl	%r12d,%r14d
5095	xorl	%r9d,%edi
5096	xorl	%r13d,%r14d
5097	leal	(%rdx,%rdi,1),%edx
5098	movl	%eax,%r12d
5099	addl	36(%rsp),%ecx
5100	andl	%r11d,%r12d
5101	rorxl	$25,%r11d,%r13d
5102	rorxl	$11,%r11d,%edi
5103	leal	(%rdx,%r14,1),%edx
5104	leal	(%rcx,%r12,1),%ecx
5105	andnl	%ebx,%r11d,%r12d
5106	xorl	%edi,%r13d
5107	rorxl	$6,%r11d,%r14d
5108	leal	(%rcx,%r12,1),%ecx
5109	xorl	%r14d,%r13d
5110	movl	%edx,%edi
5111	rorxl	$22,%edx,%r12d
5112	leal	(%rcx,%r13,1),%ecx
5113	xorl	%r8d,%edi
5114	rorxl	$13,%edx,%r14d
5115	rorxl	$2,%edx,%r13d
5116	leal	(%r10,%rcx,1),%r10d
5117	andl	%edi,%r15d
5118	xorl	%r12d,%r14d
5119	xorl	%r8d,%r15d
5120	xorl	%r13d,%r14d
5121	leal	(%rcx,%r15,1),%ecx
5122	movl	%r11d,%r12d
5123	addl	40(%rsp),%ebx
5124	andl	%r10d,%r12d
5125	rorxl	$25,%r10d,%r13d
5126	rorxl	$11,%r10d,%r15d
5127	leal	(%rcx,%r14,1),%ecx
5128	leal	(%rbx,%r12,1),%ebx
5129	andnl	%eax,%r10d,%r12d
5130	xorl	%r15d,%r13d
5131	rorxl	$6,%r10d,%r14d
5132	leal	(%rbx,%r12,1),%ebx
5133	xorl	%r14d,%r13d
5134	movl	%ecx,%r15d
5135	rorxl	$22,%ecx,%r12d
5136	leal	(%rbx,%r13,1),%ebx
5137	xorl	%edx,%r15d
5138	rorxl	$13,%ecx,%r14d
5139	rorxl	$2,%ecx,%r13d
5140	leal	(%r9,%rbx,1),%r9d
5141	andl	%r15d,%edi
5142	xorl	%r12d,%r14d
5143	xorl	%edx,%edi
5144	xorl	%r13d,%r14d
5145	leal	(%rbx,%rdi,1),%ebx
5146	movl	%r10d,%r12d
5147	addl	44(%rsp),%eax
5148	andl	%r9d,%r12d
5149	rorxl	$25,%r9d,%r13d
5150	rorxl	$11,%r9d,%edi
5151	leal	(%rbx,%r14,1),%ebx
5152	leal	(%rax,%r12,1),%eax
5153	andnl	%r11d,%r9d,%r12d
5154	xorl	%edi,%r13d
5155	rorxl	$6,%r9d,%r14d
5156	leal	(%rax,%r12,1),%eax
5157	xorl	%r14d,%r13d
5158	movl	%ebx,%edi
5159	rorxl	$22,%ebx,%r12d
5160	leal	(%rax,%r13,1),%eax
5161	xorl	%ecx,%edi
5162	rorxl	$13,%ebx,%r14d
5163	rorxl	$2,%ebx,%r13d
5164	leal	(%r8,%rax,1),%r8d
5165	andl	%edi,%r15d
5166	xorl	%r12d,%r14d
5167	xorl	%ecx,%r15d
5168	xorl	%r13d,%r14d
5169	leal	(%rax,%r15,1),%eax
5170	movl	%r9d,%r12d
5171	movq	512(%rsp),%rdi
5172	addl	%r14d,%eax
5173
5174	leaq	448(%rsp),%rbp
5175
5176	addl	0(%rdi),%eax
5177	addl	4(%rdi),%ebx
5178	addl	8(%rdi),%ecx
5179	addl	12(%rdi),%edx
5180	addl	16(%rdi),%r8d
5181	addl	20(%rdi),%r9d
5182	addl	24(%rdi),%r10d
5183	addl	28(%rdi),%r11d
5184
5185	movl	%eax,0(%rdi)
5186	movl	%ebx,4(%rdi)
5187	movl	%ecx,8(%rdi)
5188	movl	%edx,12(%rdi)
5189	movl	%r8d,16(%rdi)
5190	movl	%r9d,20(%rdi)
5191	movl	%r10d,24(%rdi)
5192	movl	%r11d,28(%rdi)
5193
5194	cmpq	80(%rbp),%rsi
5195	je	.Ldone_avx2
5196
5197	xorl	%r14d,%r14d
5198	movl	%ebx,%edi
5199	xorl	%ecx,%edi
5200	movl	%r9d,%r12d
5201	jmp	.Lower_avx2
5202.align	16
5203.Lower_avx2:
5204	addl	0+16(%rbp),%r11d
5205	andl	%r8d,%r12d
5206	rorxl	$25,%r8d,%r13d
5207	rorxl	$11,%r8d,%r15d
5208	leal	(%rax,%r14,1),%eax
5209	leal	(%r11,%r12,1),%r11d
5210	andnl	%r10d,%r8d,%r12d
5211	xorl	%r15d,%r13d
5212	rorxl	$6,%r8d,%r14d
5213	leal	(%r11,%r12,1),%r11d
5214	xorl	%r14d,%r13d
5215	movl	%eax,%r15d
5216	rorxl	$22,%eax,%r12d
5217	leal	(%r11,%r13,1),%r11d
5218	xorl	%ebx,%r15d
5219	rorxl	$13,%eax,%r14d
5220	rorxl	$2,%eax,%r13d
5221	leal	(%rdx,%r11,1),%edx
5222	andl	%r15d,%edi
5223	xorl	%r12d,%r14d
5224	xorl	%ebx,%edi
5225	xorl	%r13d,%r14d
5226	leal	(%r11,%rdi,1),%r11d
5227	movl	%r8d,%r12d
5228	addl	4+16(%rbp),%r10d
5229	andl	%edx,%r12d
5230	rorxl	$25,%edx,%r13d
5231	rorxl	$11,%edx,%edi
5232	leal	(%r11,%r14,1),%r11d
5233	leal	(%r10,%r12,1),%r10d
5234	andnl	%r9d,%edx,%r12d
5235	xorl	%edi,%r13d
5236	rorxl	$6,%edx,%r14d
5237	leal	(%r10,%r12,1),%r10d
5238	xorl	%r14d,%r13d
5239	movl	%r11d,%edi
5240	rorxl	$22,%r11d,%r12d
5241	leal	(%r10,%r13,1),%r10d
5242	xorl	%eax,%edi
5243	rorxl	$13,%r11d,%r14d
5244	rorxl	$2,%r11d,%r13d
5245	leal	(%rcx,%r10,1),%ecx
5246	andl	%edi,%r15d
5247	xorl	%r12d,%r14d
5248	xorl	%eax,%r15d
5249	xorl	%r13d,%r14d
5250	leal	(%r10,%r15,1),%r10d
5251	movl	%edx,%r12d
5252	addl	8+16(%rbp),%r9d
5253	andl	%ecx,%r12d
5254	rorxl	$25,%ecx,%r13d
5255	rorxl	$11,%ecx,%r15d
5256	leal	(%r10,%r14,1),%r10d
5257	leal	(%r9,%r12,1),%r9d
5258	andnl	%r8d,%ecx,%r12d
5259	xorl	%r15d,%r13d
5260	rorxl	$6,%ecx,%r14d
5261	leal	(%r9,%r12,1),%r9d
5262	xorl	%r14d,%r13d
5263	movl	%r10d,%r15d
5264	rorxl	$22,%r10d,%r12d
5265	leal	(%r9,%r13,1),%r9d
5266	xorl	%r11d,%r15d
5267	rorxl	$13,%r10d,%r14d
5268	rorxl	$2,%r10d,%r13d
5269	leal	(%rbx,%r9,1),%ebx
5270	andl	%r15d,%edi
5271	xorl	%r12d,%r14d
5272	xorl	%r11d,%edi
5273	xorl	%r13d,%r14d
5274	leal	(%r9,%rdi,1),%r9d
5275	movl	%ecx,%r12d
5276	addl	12+16(%rbp),%r8d
5277	andl	%ebx,%r12d
5278	rorxl	$25,%ebx,%r13d
5279	rorxl	$11,%ebx,%edi
5280	leal	(%r9,%r14,1),%r9d
5281	leal	(%r8,%r12,1),%r8d
5282	andnl	%edx,%ebx,%r12d
5283	xorl	%edi,%r13d
5284	rorxl	$6,%ebx,%r14d
5285	leal	(%r8,%r12,1),%r8d
5286	xorl	%r14d,%r13d
5287	movl	%r9d,%edi
5288	rorxl	$22,%r9d,%r12d
5289	leal	(%r8,%r13,1),%r8d
5290	xorl	%r10d,%edi
5291	rorxl	$13,%r9d,%r14d
5292	rorxl	$2,%r9d,%r13d
5293	leal	(%rax,%r8,1),%eax
5294	andl	%edi,%r15d
5295	xorl	%r12d,%r14d
5296	xorl	%r10d,%r15d
5297	xorl	%r13d,%r14d
5298	leal	(%r8,%r15,1),%r8d
5299	movl	%ebx,%r12d
5300	addl	32+16(%rbp),%edx
5301	andl	%eax,%r12d
5302	rorxl	$25,%eax,%r13d
5303	rorxl	$11,%eax,%r15d
5304	leal	(%r8,%r14,1),%r8d
5305	leal	(%rdx,%r12,1),%edx
5306	andnl	%ecx,%eax,%r12d
5307	xorl	%r15d,%r13d
5308	rorxl	$6,%eax,%r14d
5309	leal	(%rdx,%r12,1),%edx
5310	xorl	%r14d,%r13d
5311	movl	%r8d,%r15d
5312	rorxl	$22,%r8d,%r12d
5313	leal	(%rdx,%r13,1),%edx
5314	xorl	%r9d,%r15d
5315	rorxl	$13,%r8d,%r14d
5316	rorxl	$2,%r8d,%r13d
5317	leal	(%r11,%rdx,1),%r11d
5318	andl	%r15d,%edi
5319	xorl	%r12d,%r14d
5320	xorl	%r9d,%edi
5321	xorl	%r13d,%r14d
5322	leal	(%rdx,%rdi,1),%edx
5323	movl	%eax,%r12d
5324	addl	36+16(%rbp),%ecx
5325	andl	%r11d,%r12d
5326	rorxl	$25,%r11d,%r13d
5327	rorxl	$11,%r11d,%edi
5328	leal	(%rdx,%r14,1),%edx
5329	leal	(%rcx,%r12,1),%ecx
5330	andnl	%ebx,%r11d,%r12d
5331	xorl	%edi,%r13d
5332	rorxl	$6,%r11d,%r14d
5333	leal	(%rcx,%r12,1),%ecx
5334	xorl	%r14d,%r13d
5335	movl	%edx,%edi
5336	rorxl	$22,%edx,%r12d
5337	leal	(%rcx,%r13,1),%ecx
5338	xorl	%r8d,%edi
5339	rorxl	$13,%edx,%r14d
5340	rorxl	$2,%edx,%r13d
5341	leal	(%r10,%rcx,1),%r10d
5342	andl	%edi,%r15d
5343	xorl	%r12d,%r14d
5344	xorl	%r8d,%r15d
5345	xorl	%r13d,%r14d
5346	leal	(%rcx,%r15,1),%ecx
5347	movl	%r11d,%r12d
5348	addl	40+16(%rbp),%ebx
5349	andl	%r10d,%r12d
5350	rorxl	$25,%r10d,%r13d
5351	rorxl	$11,%r10d,%r15d
5352	leal	(%rcx,%r14,1),%ecx
5353	leal	(%rbx,%r12,1),%ebx
5354	andnl	%eax,%r10d,%r12d
5355	xorl	%r15d,%r13d
5356	rorxl	$6,%r10d,%r14d
5357	leal	(%rbx,%r12,1),%ebx
5358	xorl	%r14d,%r13d
5359	movl	%ecx,%r15d
5360	rorxl	$22,%ecx,%r12d
5361	leal	(%rbx,%r13,1),%ebx
5362	xorl	%edx,%r15d
5363	rorxl	$13,%ecx,%r14d
5364	rorxl	$2,%ecx,%r13d
5365	leal	(%r9,%rbx,1),%r9d
5366	andl	%r15d,%edi
5367	xorl	%r12d,%r14d
5368	xorl	%edx,%edi
5369	xorl	%r13d,%r14d
5370	leal	(%rbx,%rdi,1),%ebx
5371	movl	%r10d,%r12d
5372	addl	44+16(%rbp),%eax
5373	andl	%r9d,%r12d
5374	rorxl	$25,%r9d,%r13d
5375	rorxl	$11,%r9d,%edi
5376	leal	(%rbx,%r14,1),%ebx
5377	leal	(%rax,%r12,1),%eax
5378	andnl	%r11d,%r9d,%r12d
5379	xorl	%edi,%r13d
5380	rorxl	$6,%r9d,%r14d
5381	leal	(%rax,%r12,1),%eax
5382	xorl	%r14d,%r13d
5383	movl	%ebx,%edi
5384	rorxl	$22,%ebx,%r12d
5385	leal	(%rax,%r13,1),%eax
5386	xorl	%ecx,%edi
5387	rorxl	$13,%ebx,%r14d
5388	rorxl	$2,%ebx,%r13d
5389	leal	(%r8,%rax,1),%r8d
5390	andl	%edi,%r15d
5391	xorl	%r12d,%r14d
5392	xorl	%ecx,%r15d
5393	xorl	%r13d,%r14d
5394	leal	(%rax,%r15,1),%eax
5395	movl	%r9d,%r12d
5396	leaq	-64(%rbp),%rbp
5397	cmpq	%rsp,%rbp
5398	jae	.Lower_avx2
5399
5400	movq	512(%rsp),%rdi
5401	addl	%r14d,%eax
5402
5403	leaq	448(%rsp),%rsp
5404
5405.cfi_escape	0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
5406
5407	addl	0(%rdi),%eax
5408	addl	4(%rdi),%ebx
5409	addl	8(%rdi),%ecx
5410	addl	12(%rdi),%edx
5411	addl	16(%rdi),%r8d
5412	addl	20(%rdi),%r9d
5413	leaq	128(%rsi),%rsi
5414	addl	24(%rdi),%r10d
5415	movq	%rsi,%r12
5416	addl	28(%rdi),%r11d
5417	cmpq	64+16(%rsp),%rsi
5418
5419	movl	%eax,0(%rdi)
5420	cmoveq	%rsp,%r12
5421	movl	%ebx,4(%rdi)
5422	movl	%ecx,8(%rdi)
5423	movl	%edx,12(%rdi)
5424	movl	%r8d,16(%rdi)
5425	movl	%r9d,20(%rdi)
5426	movl	%r10d,24(%rdi)
5427	movl	%r11d,28(%rdi)
5428
5429	jbe	.Loop_avx2
5430	leaq	(%rsp),%rbp
5431
5432
5433.cfi_escape	0x0f,0x06,0x76,0xd8,0x00,0x06,0x23,0x08
5434
5435.Ldone_avx2:
5436	movq	88(%rbp),%rsi
5437.cfi_def_cfa	%rsi,8
5438	vzeroupper
5439	movq	-48(%rsi),%r15
5440.cfi_restore	%r15
5441	movq	-40(%rsi),%r14
5442.cfi_restore	%r14
5443	movq	-32(%rsi),%r13
5444.cfi_restore	%r13
5445	movq	-24(%rsi),%r12
5446.cfi_restore	%r12
5447	movq	-16(%rsi),%rbp
5448.cfi_restore	%rbp
5449	movq	-8(%rsi),%rbx
5450.cfi_restore	%rbx
5451	leaq	(%rsi),%rsp
5452.cfi_def_cfa_register	%rsp
5453.Lepilogue_avx2:
5454	.byte	0xf3,0xc3
5455.cfi_endproc
5456.size	sha256_block_data_order_avx2,.-sha256_block_data_order_avx2
5457