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