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