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