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