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