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