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