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	jmp	_ssse3_shortcut
16
17.p2align	4
18L$ialu:
19	movq	%rsp,%rax
20	pushq	%rbx
21	pushq	%rbp
22	pushq	%r12
23	pushq	%r13
24	pushq	%r14
25	movq	%rdi,%r8
26	subq	$72,%rsp
27	movq	%rsi,%r9
28	andq	$-64,%rsp
29	movq	%rdx,%r10
30	movq	%rax,64(%rsp)
31L$prologue:
32
33	movl	0(%r8),%esi
34	movl	4(%r8),%edi
35	movl	8(%r8),%r11d
36	movl	12(%r8),%r12d
37	movl	16(%r8),%r13d
38	jmp	L$loop
39
40.p2align	4
41L$loop:
42	movl	0(%r9),%edx
43	bswapl	%edx
44	movl	4(%r9),%ebp
45	movl	%r12d,%eax
46	movl	%edx,0(%rsp)
47	movl	%esi,%ecx
48	bswapl	%ebp
49	xorl	%r11d,%eax
50	roll	$5,%ecx
51	andl	%edi,%eax
52	leal	1518500249(%rdx,%r13,1),%r13d
53	addl	%ecx,%r13d
54	xorl	%r12d,%eax
55	roll	$30,%edi
56	addl	%eax,%r13d
57	movl	8(%r9),%r14d
58	movl	%r11d,%eax
59	movl	%ebp,4(%rsp)
60	movl	%r13d,%ecx
61	bswapl	%r14d
62	xorl	%edi,%eax
63	roll	$5,%ecx
64	andl	%esi,%eax
65	leal	1518500249(%rbp,%r12,1),%r12d
66	addl	%ecx,%r12d
67	xorl	%r11d,%eax
68	roll	$30,%esi
69	addl	%eax,%r12d
70	movl	12(%r9),%edx
71	movl	%edi,%eax
72	movl	%r14d,8(%rsp)
73	movl	%r12d,%ecx
74	bswapl	%edx
75	xorl	%esi,%eax
76	roll	$5,%ecx
77	andl	%r13d,%eax
78	leal	1518500249(%r14,%r11,1),%r11d
79	addl	%ecx,%r11d
80	xorl	%edi,%eax
81	roll	$30,%r13d
82	addl	%eax,%r11d
83	movl	16(%r9),%ebp
84	movl	%esi,%eax
85	movl	%edx,12(%rsp)
86	movl	%r11d,%ecx
87	bswapl	%ebp
88	xorl	%r13d,%eax
89	roll	$5,%ecx
90	andl	%r12d,%eax
91	leal	1518500249(%rdx,%rdi,1),%edi
92	addl	%ecx,%edi
93	xorl	%esi,%eax
94	roll	$30,%r12d
95	addl	%eax,%edi
96	movl	20(%r9),%r14d
97	movl	%r13d,%eax
98	movl	%ebp,16(%rsp)
99	movl	%edi,%ecx
100	bswapl	%r14d
101	xorl	%r12d,%eax
102	roll	$5,%ecx
103	andl	%r11d,%eax
104	leal	1518500249(%rbp,%rsi,1),%esi
105	addl	%ecx,%esi
106	xorl	%r13d,%eax
107	roll	$30,%r11d
108	addl	%eax,%esi
109	movl	24(%r9),%edx
110	movl	%r12d,%eax
111	movl	%r14d,20(%rsp)
112	movl	%esi,%ecx
113	bswapl	%edx
114	xorl	%r11d,%eax
115	roll	$5,%ecx
116	andl	%edi,%eax
117	leal	1518500249(%r14,%r13,1),%r13d
118	addl	%ecx,%r13d
119	xorl	%r12d,%eax
120	roll	$30,%edi
121	addl	%eax,%r13d
122	movl	28(%r9),%ebp
123	movl	%r11d,%eax
124	movl	%edx,24(%rsp)
125	movl	%r13d,%ecx
126	bswapl	%ebp
127	xorl	%edi,%eax
128	roll	$5,%ecx
129	andl	%esi,%eax
130	leal	1518500249(%rdx,%r12,1),%r12d
131	addl	%ecx,%r12d
132	xorl	%r11d,%eax
133	roll	$30,%esi
134	addl	%eax,%r12d
135	movl	32(%r9),%r14d
136	movl	%edi,%eax
137	movl	%ebp,28(%rsp)
138	movl	%r12d,%ecx
139	bswapl	%r14d
140	xorl	%esi,%eax
141	roll	$5,%ecx
142	andl	%r13d,%eax
143	leal	1518500249(%rbp,%r11,1),%r11d
144	addl	%ecx,%r11d
145	xorl	%edi,%eax
146	roll	$30,%r13d
147	addl	%eax,%r11d
148	movl	36(%r9),%edx
149	movl	%esi,%eax
150	movl	%r14d,32(%rsp)
151	movl	%r11d,%ecx
152	bswapl	%edx
153	xorl	%r13d,%eax
154	roll	$5,%ecx
155	andl	%r12d,%eax
156	leal	1518500249(%r14,%rdi,1),%edi
157	addl	%ecx,%edi
158	xorl	%esi,%eax
159	roll	$30,%r12d
160	addl	%eax,%edi
161	movl	40(%r9),%ebp
162	movl	%r13d,%eax
163	movl	%edx,36(%rsp)
164	movl	%edi,%ecx
165	bswapl	%ebp
166	xorl	%r12d,%eax
167	roll	$5,%ecx
168	andl	%r11d,%eax
169	leal	1518500249(%rdx,%rsi,1),%esi
170	addl	%ecx,%esi
171	xorl	%r13d,%eax
172	roll	$30,%r11d
173	addl	%eax,%esi
174	movl	44(%r9),%r14d
175	movl	%r12d,%eax
176	movl	%ebp,40(%rsp)
177	movl	%esi,%ecx
178	bswapl	%r14d
179	xorl	%r11d,%eax
180	roll	$5,%ecx
181	andl	%edi,%eax
182	leal	1518500249(%rbp,%r13,1),%r13d
183	addl	%ecx,%r13d
184	xorl	%r12d,%eax
185	roll	$30,%edi
186	addl	%eax,%r13d
187	movl	48(%r9),%edx
188	movl	%r11d,%eax
189	movl	%r14d,44(%rsp)
190	movl	%r13d,%ecx
191	bswapl	%edx
192	xorl	%edi,%eax
193	roll	$5,%ecx
194	andl	%esi,%eax
195	leal	1518500249(%r14,%r12,1),%r12d
196	addl	%ecx,%r12d
197	xorl	%r11d,%eax
198	roll	$30,%esi
199	addl	%eax,%r12d
200	movl	52(%r9),%ebp
201	movl	%edi,%eax
202	movl	%edx,48(%rsp)
203	movl	%r12d,%ecx
204	bswapl	%ebp
205	xorl	%esi,%eax
206	roll	$5,%ecx
207	andl	%r13d,%eax
208	leal	1518500249(%rdx,%r11,1),%r11d
209	addl	%ecx,%r11d
210	xorl	%edi,%eax
211	roll	$30,%r13d
212	addl	%eax,%r11d
213	movl	56(%r9),%r14d
214	movl	%esi,%eax
215	movl	%ebp,52(%rsp)
216	movl	%r11d,%ecx
217	bswapl	%r14d
218	xorl	%r13d,%eax
219	roll	$5,%ecx
220	andl	%r12d,%eax
221	leal	1518500249(%rbp,%rdi,1),%edi
222	addl	%ecx,%edi
223	xorl	%esi,%eax
224	roll	$30,%r12d
225	addl	%eax,%edi
226	movl	60(%r9),%edx
227	movl	%r13d,%eax
228	movl	%r14d,56(%rsp)
229	movl	%edi,%ecx
230	bswapl	%edx
231	xorl	%r12d,%eax
232	roll	$5,%ecx
233	andl	%r11d,%eax
234	leal	1518500249(%r14,%rsi,1),%esi
235	addl	%ecx,%esi
236	xorl	%r13d,%eax
237	roll	$30,%r11d
238	addl	%eax,%esi
239	xorl	0(%rsp),%ebp
240	movl	%r12d,%eax
241	movl	%edx,60(%rsp)
242	movl	%esi,%ecx
243	xorl	8(%rsp),%ebp
244	xorl	%r11d,%eax
245	roll	$5,%ecx
246	xorl	32(%rsp),%ebp
247	andl	%edi,%eax
248	leal	1518500249(%rdx,%r13,1),%r13d
249	roll	$30,%edi
250	xorl	%r12d,%eax
251	addl	%ecx,%r13d
252	roll	$1,%ebp
253	addl	%eax,%r13d
254	xorl	4(%rsp),%r14d
255	movl	%r11d,%eax
256	movl	%ebp,0(%rsp)
257	movl	%r13d,%ecx
258	xorl	12(%rsp),%r14d
259	xorl	%edi,%eax
260	roll	$5,%ecx
261	xorl	36(%rsp),%r14d
262	andl	%esi,%eax
263	leal	1518500249(%rbp,%r12,1),%r12d
264	roll	$30,%esi
265	xorl	%r11d,%eax
266	addl	%ecx,%r12d
267	roll	$1,%r14d
268	addl	%eax,%r12d
269	xorl	8(%rsp),%edx
270	movl	%edi,%eax
271	movl	%r14d,4(%rsp)
272	movl	%r12d,%ecx
273	xorl	16(%rsp),%edx
274	xorl	%esi,%eax
275	roll	$5,%ecx
276	xorl	40(%rsp),%edx
277	andl	%r13d,%eax
278	leal	1518500249(%r14,%r11,1),%r11d
279	roll	$30,%r13d
280	xorl	%edi,%eax
281	addl	%ecx,%r11d
282	roll	$1,%edx
283	addl	%eax,%r11d
284	xorl	12(%rsp),%ebp
285	movl	%esi,%eax
286	movl	%edx,8(%rsp)
287	movl	%r11d,%ecx
288	xorl	20(%rsp),%ebp
289	xorl	%r13d,%eax
290	roll	$5,%ecx
291	xorl	44(%rsp),%ebp
292	andl	%r12d,%eax
293	leal	1518500249(%rdx,%rdi,1),%edi
294	roll	$30,%r12d
295	xorl	%esi,%eax
296	addl	%ecx,%edi
297	roll	$1,%ebp
298	addl	%eax,%edi
299	xorl	16(%rsp),%r14d
300	movl	%r13d,%eax
301	movl	%ebp,12(%rsp)
302	movl	%edi,%ecx
303	xorl	24(%rsp),%r14d
304	xorl	%r12d,%eax
305	roll	$5,%ecx
306	xorl	48(%rsp),%r14d
307	andl	%r11d,%eax
308	leal	1518500249(%rbp,%rsi,1),%esi
309	roll	$30,%r11d
310	xorl	%r13d,%eax
311	addl	%ecx,%esi
312	roll	$1,%r14d
313	addl	%eax,%esi
314	xorl	20(%rsp),%edx
315	movl	%edi,%eax
316	movl	%r14d,16(%rsp)
317	movl	%esi,%ecx
318	xorl	28(%rsp),%edx
319	xorl	%r12d,%eax
320	roll	$5,%ecx
321	xorl	52(%rsp),%edx
322	leal	1859775393(%r14,%r13,1),%r13d
323	xorl	%r11d,%eax
324	addl	%ecx,%r13d
325	roll	$30,%edi
326	addl	%eax,%r13d
327	roll	$1,%edx
328	xorl	24(%rsp),%ebp
329	movl	%esi,%eax
330	movl	%edx,20(%rsp)
331	movl	%r13d,%ecx
332	xorl	32(%rsp),%ebp
333	xorl	%r11d,%eax
334	roll	$5,%ecx
335	xorl	56(%rsp),%ebp
336	leal	1859775393(%rdx,%r12,1),%r12d
337	xorl	%edi,%eax
338	addl	%ecx,%r12d
339	roll	$30,%esi
340	addl	%eax,%r12d
341	roll	$1,%ebp
342	xorl	28(%rsp),%r14d
343	movl	%r13d,%eax
344	movl	%ebp,24(%rsp)
345	movl	%r12d,%ecx
346	xorl	36(%rsp),%r14d
347	xorl	%edi,%eax
348	roll	$5,%ecx
349	xorl	60(%rsp),%r14d
350	leal	1859775393(%rbp,%r11,1),%r11d
351	xorl	%esi,%eax
352	addl	%ecx,%r11d
353	roll	$30,%r13d
354	addl	%eax,%r11d
355	roll	$1,%r14d
356	xorl	32(%rsp),%edx
357	movl	%r12d,%eax
358	movl	%r14d,28(%rsp)
359	movl	%r11d,%ecx
360	xorl	40(%rsp),%edx
361	xorl	%esi,%eax
362	roll	$5,%ecx
363	xorl	0(%rsp),%edx
364	leal	1859775393(%r14,%rdi,1),%edi
365	xorl	%r13d,%eax
366	addl	%ecx,%edi
367	roll	$30,%r12d
368	addl	%eax,%edi
369	roll	$1,%edx
370	xorl	36(%rsp),%ebp
371	movl	%r11d,%eax
372	movl	%edx,32(%rsp)
373	movl	%edi,%ecx
374	xorl	44(%rsp),%ebp
375	xorl	%r13d,%eax
376	roll	$5,%ecx
377	xorl	4(%rsp),%ebp
378	leal	1859775393(%rdx,%rsi,1),%esi
379	xorl	%r12d,%eax
380	addl	%ecx,%esi
381	roll	$30,%r11d
382	addl	%eax,%esi
383	roll	$1,%ebp
384	xorl	40(%rsp),%r14d
385	movl	%edi,%eax
386	movl	%ebp,36(%rsp)
387	movl	%esi,%ecx
388	xorl	48(%rsp),%r14d
389	xorl	%r12d,%eax
390	roll	$5,%ecx
391	xorl	8(%rsp),%r14d
392	leal	1859775393(%rbp,%r13,1),%r13d
393	xorl	%r11d,%eax
394	addl	%ecx,%r13d
395	roll	$30,%edi
396	addl	%eax,%r13d
397	roll	$1,%r14d
398	xorl	44(%rsp),%edx
399	movl	%esi,%eax
400	movl	%r14d,40(%rsp)
401	movl	%r13d,%ecx
402	xorl	52(%rsp),%edx
403	xorl	%r11d,%eax
404	roll	$5,%ecx
405	xorl	12(%rsp),%edx
406	leal	1859775393(%r14,%r12,1),%r12d
407	xorl	%edi,%eax
408	addl	%ecx,%r12d
409	roll	$30,%esi
410	addl	%eax,%r12d
411	roll	$1,%edx
412	xorl	48(%rsp),%ebp
413	movl	%r13d,%eax
414	movl	%edx,44(%rsp)
415	movl	%r12d,%ecx
416	xorl	56(%rsp),%ebp
417	xorl	%edi,%eax
418	roll	$5,%ecx
419	xorl	16(%rsp),%ebp
420	leal	1859775393(%rdx,%r11,1),%r11d
421	xorl	%esi,%eax
422	addl	%ecx,%r11d
423	roll	$30,%r13d
424	addl	%eax,%r11d
425	roll	$1,%ebp
426	xorl	52(%rsp),%r14d
427	movl	%r12d,%eax
428	movl	%ebp,48(%rsp)
429	movl	%r11d,%ecx
430	xorl	60(%rsp),%r14d
431	xorl	%esi,%eax
432	roll	$5,%ecx
433	xorl	20(%rsp),%r14d
434	leal	1859775393(%rbp,%rdi,1),%edi
435	xorl	%r13d,%eax
436	addl	%ecx,%edi
437	roll	$30,%r12d
438	addl	%eax,%edi
439	roll	$1,%r14d
440	xorl	56(%rsp),%edx
441	movl	%r11d,%eax
442	movl	%r14d,52(%rsp)
443	movl	%edi,%ecx
444	xorl	0(%rsp),%edx
445	xorl	%r13d,%eax
446	roll	$5,%ecx
447	xorl	24(%rsp),%edx
448	leal	1859775393(%r14,%rsi,1),%esi
449	xorl	%r12d,%eax
450	addl	%ecx,%esi
451	roll	$30,%r11d
452	addl	%eax,%esi
453	roll	$1,%edx
454	xorl	60(%rsp),%ebp
455	movl	%edi,%eax
456	movl	%edx,56(%rsp)
457	movl	%esi,%ecx
458	xorl	4(%rsp),%ebp
459	xorl	%r12d,%eax
460	roll	$5,%ecx
461	xorl	28(%rsp),%ebp
462	leal	1859775393(%rdx,%r13,1),%r13d
463	xorl	%r11d,%eax
464	addl	%ecx,%r13d
465	roll	$30,%edi
466	addl	%eax,%r13d
467	roll	$1,%ebp
468	xorl	0(%rsp),%r14d
469	movl	%esi,%eax
470	movl	%ebp,60(%rsp)
471	movl	%r13d,%ecx
472	xorl	8(%rsp),%r14d
473	xorl	%r11d,%eax
474	roll	$5,%ecx
475	xorl	32(%rsp),%r14d
476	leal	1859775393(%rbp,%r12,1),%r12d
477	xorl	%edi,%eax
478	addl	%ecx,%r12d
479	roll	$30,%esi
480	addl	%eax,%r12d
481	roll	$1,%r14d
482	xorl	4(%rsp),%edx
483	movl	%r13d,%eax
484	movl	%r14d,0(%rsp)
485	movl	%r12d,%ecx
486	xorl	12(%rsp),%edx
487	xorl	%edi,%eax
488	roll	$5,%ecx
489	xorl	36(%rsp),%edx
490	leal	1859775393(%r14,%r11,1),%r11d
491	xorl	%esi,%eax
492	addl	%ecx,%r11d
493	roll	$30,%r13d
494	addl	%eax,%r11d
495	roll	$1,%edx
496	xorl	8(%rsp),%ebp
497	movl	%r12d,%eax
498	movl	%edx,4(%rsp)
499	movl	%r11d,%ecx
500	xorl	16(%rsp),%ebp
501	xorl	%esi,%eax
502	roll	$5,%ecx
503	xorl	40(%rsp),%ebp
504	leal	1859775393(%rdx,%rdi,1),%edi
505	xorl	%r13d,%eax
506	addl	%ecx,%edi
507	roll	$30,%r12d
508	addl	%eax,%edi
509	roll	$1,%ebp
510	xorl	12(%rsp),%r14d
511	movl	%r11d,%eax
512	movl	%ebp,8(%rsp)
513	movl	%edi,%ecx
514	xorl	20(%rsp),%r14d
515	xorl	%r13d,%eax
516	roll	$5,%ecx
517	xorl	44(%rsp),%r14d
518	leal	1859775393(%rbp,%rsi,1),%esi
519	xorl	%r12d,%eax
520	addl	%ecx,%esi
521	roll	$30,%r11d
522	addl	%eax,%esi
523	roll	$1,%r14d
524	xorl	16(%rsp),%edx
525	movl	%edi,%eax
526	movl	%r14d,12(%rsp)
527	movl	%esi,%ecx
528	xorl	24(%rsp),%edx
529	xorl	%r12d,%eax
530	roll	$5,%ecx
531	xorl	48(%rsp),%edx
532	leal	1859775393(%r14,%r13,1),%r13d
533	xorl	%r11d,%eax
534	addl	%ecx,%r13d
535	roll	$30,%edi
536	addl	%eax,%r13d
537	roll	$1,%edx
538	xorl	20(%rsp),%ebp
539	movl	%esi,%eax
540	movl	%edx,16(%rsp)
541	movl	%r13d,%ecx
542	xorl	28(%rsp),%ebp
543	xorl	%r11d,%eax
544	roll	$5,%ecx
545	xorl	52(%rsp),%ebp
546	leal	1859775393(%rdx,%r12,1),%r12d
547	xorl	%edi,%eax
548	addl	%ecx,%r12d
549	roll	$30,%esi
550	addl	%eax,%r12d
551	roll	$1,%ebp
552	xorl	24(%rsp),%r14d
553	movl	%r13d,%eax
554	movl	%ebp,20(%rsp)
555	movl	%r12d,%ecx
556	xorl	32(%rsp),%r14d
557	xorl	%edi,%eax
558	roll	$5,%ecx
559	xorl	56(%rsp),%r14d
560	leal	1859775393(%rbp,%r11,1),%r11d
561	xorl	%esi,%eax
562	addl	%ecx,%r11d
563	roll	$30,%r13d
564	addl	%eax,%r11d
565	roll	$1,%r14d
566	xorl	28(%rsp),%edx
567	movl	%r12d,%eax
568	movl	%r14d,24(%rsp)
569	movl	%r11d,%ecx
570	xorl	36(%rsp),%edx
571	xorl	%esi,%eax
572	roll	$5,%ecx
573	xorl	60(%rsp),%edx
574	leal	1859775393(%r14,%rdi,1),%edi
575	xorl	%r13d,%eax
576	addl	%ecx,%edi
577	roll	$30,%r12d
578	addl	%eax,%edi
579	roll	$1,%edx
580	xorl	32(%rsp),%ebp
581	movl	%r11d,%eax
582	movl	%edx,28(%rsp)
583	movl	%edi,%ecx
584	xorl	40(%rsp),%ebp
585	xorl	%r13d,%eax
586	roll	$5,%ecx
587	xorl	0(%rsp),%ebp
588	leal	1859775393(%rdx,%rsi,1),%esi
589	xorl	%r12d,%eax
590	addl	%ecx,%esi
591	roll	$30,%r11d
592	addl	%eax,%esi
593	roll	$1,%ebp
594	xorl	36(%rsp),%r14d
595	movl	%r12d,%eax
596	movl	%ebp,32(%rsp)
597	movl	%r12d,%ebx
598	xorl	44(%rsp),%r14d
599	andl	%r11d,%eax
600	movl	%esi,%ecx
601	xorl	4(%rsp),%r14d
602	leal	-1894007588(%rbp,%r13,1),%r13d
603	xorl	%r11d,%ebx
604	roll	$5,%ecx
605	addl	%eax,%r13d
606	roll	$1,%r14d
607	andl	%edi,%ebx
608	addl	%ecx,%r13d
609	roll	$30,%edi
610	addl	%ebx,%r13d
611	xorl	40(%rsp),%edx
612	movl	%r11d,%eax
613	movl	%r14d,36(%rsp)
614	movl	%r11d,%ebx
615	xorl	48(%rsp),%edx
616	andl	%edi,%eax
617	movl	%r13d,%ecx
618	xorl	8(%rsp),%edx
619	leal	-1894007588(%r14,%r12,1),%r12d
620	xorl	%edi,%ebx
621	roll	$5,%ecx
622	addl	%eax,%r12d
623	roll	$1,%edx
624	andl	%esi,%ebx
625	addl	%ecx,%r12d
626	roll	$30,%esi
627	addl	%ebx,%r12d
628	xorl	44(%rsp),%ebp
629	movl	%edi,%eax
630	movl	%edx,40(%rsp)
631	movl	%edi,%ebx
632	xorl	52(%rsp),%ebp
633	andl	%esi,%eax
634	movl	%r12d,%ecx
635	xorl	12(%rsp),%ebp
636	leal	-1894007588(%rdx,%r11,1),%r11d
637	xorl	%esi,%ebx
638	roll	$5,%ecx
639	addl	%eax,%r11d
640	roll	$1,%ebp
641	andl	%r13d,%ebx
642	addl	%ecx,%r11d
643	roll	$30,%r13d
644	addl	%ebx,%r11d
645	xorl	48(%rsp),%r14d
646	movl	%esi,%eax
647	movl	%ebp,44(%rsp)
648	movl	%esi,%ebx
649	xorl	56(%rsp),%r14d
650	andl	%r13d,%eax
651	movl	%r11d,%ecx
652	xorl	16(%rsp),%r14d
653	leal	-1894007588(%rbp,%rdi,1),%edi
654	xorl	%r13d,%ebx
655	roll	$5,%ecx
656	addl	%eax,%edi
657	roll	$1,%r14d
658	andl	%r12d,%ebx
659	addl	%ecx,%edi
660	roll	$30,%r12d
661	addl	%ebx,%edi
662	xorl	52(%rsp),%edx
663	movl	%r13d,%eax
664	movl	%r14d,48(%rsp)
665	movl	%r13d,%ebx
666	xorl	60(%rsp),%edx
667	andl	%r12d,%eax
668	movl	%edi,%ecx
669	xorl	20(%rsp),%edx
670	leal	-1894007588(%r14,%rsi,1),%esi
671	xorl	%r12d,%ebx
672	roll	$5,%ecx
673	addl	%eax,%esi
674	roll	$1,%edx
675	andl	%r11d,%ebx
676	addl	%ecx,%esi
677	roll	$30,%r11d
678	addl	%ebx,%esi
679	xorl	56(%rsp),%ebp
680	movl	%r12d,%eax
681	movl	%edx,52(%rsp)
682	movl	%r12d,%ebx
683	xorl	0(%rsp),%ebp
684	andl	%r11d,%eax
685	movl	%esi,%ecx
686	xorl	24(%rsp),%ebp
687	leal	-1894007588(%rdx,%r13,1),%r13d
688	xorl	%r11d,%ebx
689	roll	$5,%ecx
690	addl	%eax,%r13d
691	roll	$1,%ebp
692	andl	%edi,%ebx
693	addl	%ecx,%r13d
694	roll	$30,%edi
695	addl	%ebx,%r13d
696	xorl	60(%rsp),%r14d
697	movl	%r11d,%eax
698	movl	%ebp,56(%rsp)
699	movl	%r11d,%ebx
700	xorl	4(%rsp),%r14d
701	andl	%edi,%eax
702	movl	%r13d,%ecx
703	xorl	28(%rsp),%r14d
704	leal	-1894007588(%rbp,%r12,1),%r12d
705	xorl	%edi,%ebx
706	roll	$5,%ecx
707	addl	%eax,%r12d
708	roll	$1,%r14d
709	andl	%esi,%ebx
710	addl	%ecx,%r12d
711	roll	$30,%esi
712	addl	%ebx,%r12d
713	xorl	0(%rsp),%edx
714	movl	%edi,%eax
715	movl	%r14d,60(%rsp)
716	movl	%edi,%ebx
717	xorl	8(%rsp),%edx
718	andl	%esi,%eax
719	movl	%r12d,%ecx
720	xorl	32(%rsp),%edx
721	leal	-1894007588(%r14,%r11,1),%r11d
722	xorl	%esi,%ebx
723	roll	$5,%ecx
724	addl	%eax,%r11d
725	roll	$1,%edx
726	andl	%r13d,%ebx
727	addl	%ecx,%r11d
728	roll	$30,%r13d
729	addl	%ebx,%r11d
730	xorl	4(%rsp),%ebp
731	movl	%esi,%eax
732	movl	%edx,0(%rsp)
733	movl	%esi,%ebx
734	xorl	12(%rsp),%ebp
735	andl	%r13d,%eax
736	movl	%r11d,%ecx
737	xorl	36(%rsp),%ebp
738	leal	-1894007588(%rdx,%rdi,1),%edi
739	xorl	%r13d,%ebx
740	roll	$5,%ecx
741	addl	%eax,%edi
742	roll	$1,%ebp
743	andl	%r12d,%ebx
744	addl	%ecx,%edi
745	roll	$30,%r12d
746	addl	%ebx,%edi
747	xorl	8(%rsp),%r14d
748	movl	%r13d,%eax
749	movl	%ebp,4(%rsp)
750	movl	%r13d,%ebx
751	xorl	16(%rsp),%r14d
752	andl	%r12d,%eax
753	movl	%edi,%ecx
754	xorl	40(%rsp),%r14d
755	leal	-1894007588(%rbp,%rsi,1),%esi
756	xorl	%r12d,%ebx
757	roll	$5,%ecx
758	addl	%eax,%esi
759	roll	$1,%r14d
760	andl	%r11d,%ebx
761	addl	%ecx,%esi
762	roll	$30,%r11d
763	addl	%ebx,%esi
764	xorl	12(%rsp),%edx
765	movl	%r12d,%eax
766	movl	%r14d,8(%rsp)
767	movl	%r12d,%ebx
768	xorl	20(%rsp),%edx
769	andl	%r11d,%eax
770	movl	%esi,%ecx
771	xorl	44(%rsp),%edx
772	leal	-1894007588(%r14,%r13,1),%r13d
773	xorl	%r11d,%ebx
774	roll	$5,%ecx
775	addl	%eax,%r13d
776	roll	$1,%edx
777	andl	%edi,%ebx
778	addl	%ecx,%r13d
779	roll	$30,%edi
780	addl	%ebx,%r13d
781	xorl	16(%rsp),%ebp
782	movl	%r11d,%eax
783	movl	%edx,12(%rsp)
784	movl	%r11d,%ebx
785	xorl	24(%rsp),%ebp
786	andl	%edi,%eax
787	movl	%r13d,%ecx
788	xorl	48(%rsp),%ebp
789	leal	-1894007588(%rdx,%r12,1),%r12d
790	xorl	%edi,%ebx
791	roll	$5,%ecx
792	addl	%eax,%r12d
793	roll	$1,%ebp
794	andl	%esi,%ebx
795	addl	%ecx,%r12d
796	roll	$30,%esi
797	addl	%ebx,%r12d
798	xorl	20(%rsp),%r14d
799	movl	%edi,%eax
800	movl	%ebp,16(%rsp)
801	movl	%edi,%ebx
802	xorl	28(%rsp),%r14d
803	andl	%esi,%eax
804	movl	%r12d,%ecx
805	xorl	52(%rsp),%r14d
806	leal	-1894007588(%rbp,%r11,1),%r11d
807	xorl	%esi,%ebx
808	roll	$5,%ecx
809	addl	%eax,%r11d
810	roll	$1,%r14d
811	andl	%r13d,%ebx
812	addl	%ecx,%r11d
813	roll	$30,%r13d
814	addl	%ebx,%r11d
815	xorl	24(%rsp),%edx
816	movl	%esi,%eax
817	movl	%r14d,20(%rsp)
818	movl	%esi,%ebx
819	xorl	32(%rsp),%edx
820	andl	%r13d,%eax
821	movl	%r11d,%ecx
822	xorl	56(%rsp),%edx
823	leal	-1894007588(%r14,%rdi,1),%edi
824	xorl	%r13d,%ebx
825	roll	$5,%ecx
826	addl	%eax,%edi
827	roll	$1,%edx
828	andl	%r12d,%ebx
829	addl	%ecx,%edi
830	roll	$30,%r12d
831	addl	%ebx,%edi
832	xorl	28(%rsp),%ebp
833	movl	%r13d,%eax
834	movl	%edx,24(%rsp)
835	movl	%r13d,%ebx
836	xorl	36(%rsp),%ebp
837	andl	%r12d,%eax
838	movl	%edi,%ecx
839	xorl	60(%rsp),%ebp
840	leal	-1894007588(%rdx,%rsi,1),%esi
841	xorl	%r12d,%ebx
842	roll	$5,%ecx
843	addl	%eax,%esi
844	roll	$1,%ebp
845	andl	%r11d,%ebx
846	addl	%ecx,%esi
847	roll	$30,%r11d
848	addl	%ebx,%esi
849	xorl	32(%rsp),%r14d
850	movl	%r12d,%eax
851	movl	%ebp,28(%rsp)
852	movl	%r12d,%ebx
853	xorl	40(%rsp),%r14d
854	andl	%r11d,%eax
855	movl	%esi,%ecx
856	xorl	0(%rsp),%r14d
857	leal	-1894007588(%rbp,%r13,1),%r13d
858	xorl	%r11d,%ebx
859	roll	$5,%ecx
860	addl	%eax,%r13d
861	roll	$1,%r14d
862	andl	%edi,%ebx
863	addl	%ecx,%r13d
864	roll	$30,%edi
865	addl	%ebx,%r13d
866	xorl	36(%rsp),%edx
867	movl	%r11d,%eax
868	movl	%r14d,32(%rsp)
869	movl	%r11d,%ebx
870	xorl	44(%rsp),%edx
871	andl	%edi,%eax
872	movl	%r13d,%ecx
873	xorl	4(%rsp),%edx
874	leal	-1894007588(%r14,%r12,1),%r12d
875	xorl	%edi,%ebx
876	roll	$5,%ecx
877	addl	%eax,%r12d
878	roll	$1,%edx
879	andl	%esi,%ebx
880	addl	%ecx,%r12d
881	roll	$30,%esi
882	addl	%ebx,%r12d
883	xorl	40(%rsp),%ebp
884	movl	%edi,%eax
885	movl	%edx,36(%rsp)
886	movl	%edi,%ebx
887	xorl	48(%rsp),%ebp
888	andl	%esi,%eax
889	movl	%r12d,%ecx
890	xorl	8(%rsp),%ebp
891	leal	-1894007588(%rdx,%r11,1),%r11d
892	xorl	%esi,%ebx
893	roll	$5,%ecx
894	addl	%eax,%r11d
895	roll	$1,%ebp
896	andl	%r13d,%ebx
897	addl	%ecx,%r11d
898	roll	$30,%r13d
899	addl	%ebx,%r11d
900	xorl	44(%rsp),%r14d
901	movl	%esi,%eax
902	movl	%ebp,40(%rsp)
903	movl	%esi,%ebx
904	xorl	52(%rsp),%r14d
905	andl	%r13d,%eax
906	movl	%r11d,%ecx
907	xorl	12(%rsp),%r14d
908	leal	-1894007588(%rbp,%rdi,1),%edi
909	xorl	%r13d,%ebx
910	roll	$5,%ecx
911	addl	%eax,%edi
912	roll	$1,%r14d
913	andl	%r12d,%ebx
914	addl	%ecx,%edi
915	roll	$30,%r12d
916	addl	%ebx,%edi
917	xorl	48(%rsp),%edx
918	movl	%r13d,%eax
919	movl	%r14d,44(%rsp)
920	movl	%r13d,%ebx
921	xorl	56(%rsp),%edx
922	andl	%r12d,%eax
923	movl	%edi,%ecx
924	xorl	16(%rsp),%edx
925	leal	-1894007588(%r14,%rsi,1),%esi
926	xorl	%r12d,%ebx
927	roll	$5,%ecx
928	addl	%eax,%esi
929	roll	$1,%edx
930	andl	%r11d,%ebx
931	addl	%ecx,%esi
932	roll	$30,%r11d
933	addl	%ebx,%esi
934	xorl	52(%rsp),%ebp
935	movl	%edi,%eax
936	movl	%edx,48(%rsp)
937	movl	%esi,%ecx
938	xorl	60(%rsp),%ebp
939	xorl	%r12d,%eax
940	roll	$5,%ecx
941	xorl	20(%rsp),%ebp
942	leal	-899497514(%rdx,%r13,1),%r13d
943	xorl	%r11d,%eax
944	addl	%ecx,%r13d
945	roll	$30,%edi
946	addl	%eax,%r13d
947	roll	$1,%ebp
948	xorl	56(%rsp),%r14d
949	movl	%esi,%eax
950	movl	%ebp,52(%rsp)
951	movl	%r13d,%ecx
952	xorl	0(%rsp),%r14d
953	xorl	%r11d,%eax
954	roll	$5,%ecx
955	xorl	24(%rsp),%r14d
956	leal	-899497514(%rbp,%r12,1),%r12d
957	xorl	%edi,%eax
958	addl	%ecx,%r12d
959	roll	$30,%esi
960	addl	%eax,%r12d
961	roll	$1,%r14d
962	xorl	60(%rsp),%edx
963	movl	%r13d,%eax
964	movl	%r14d,56(%rsp)
965	movl	%r12d,%ecx
966	xorl	4(%rsp),%edx
967	xorl	%edi,%eax
968	roll	$5,%ecx
969	xorl	28(%rsp),%edx
970	leal	-899497514(%r14,%r11,1),%r11d
971	xorl	%esi,%eax
972	addl	%ecx,%r11d
973	roll	$30,%r13d
974	addl	%eax,%r11d
975	roll	$1,%edx
976	xorl	0(%rsp),%ebp
977	movl	%r12d,%eax
978	movl	%edx,60(%rsp)
979	movl	%r11d,%ecx
980	xorl	8(%rsp),%ebp
981	xorl	%esi,%eax
982	roll	$5,%ecx
983	xorl	32(%rsp),%ebp
984	leal	-899497514(%rdx,%rdi,1),%edi
985	xorl	%r13d,%eax
986	addl	%ecx,%edi
987	roll	$30,%r12d
988	addl	%eax,%edi
989	roll	$1,%ebp
990	xorl	4(%rsp),%r14d
991	movl	%r11d,%eax
992	movl	%ebp,0(%rsp)
993	movl	%edi,%ecx
994	xorl	12(%rsp),%r14d
995	xorl	%r13d,%eax
996	roll	$5,%ecx
997	xorl	36(%rsp),%r14d
998	leal	-899497514(%rbp,%rsi,1),%esi
999	xorl	%r12d,%eax
1000	addl	%ecx,%esi
1001	roll	$30,%r11d
1002	addl	%eax,%esi
1003	roll	$1,%r14d
1004	xorl	8(%rsp),%edx
1005	movl	%edi,%eax
1006	movl	%r14d,4(%rsp)
1007	movl	%esi,%ecx
1008	xorl	16(%rsp),%edx
1009	xorl	%r12d,%eax
1010	roll	$5,%ecx
1011	xorl	40(%rsp),%edx
1012	leal	-899497514(%r14,%r13,1),%r13d
1013	xorl	%r11d,%eax
1014	addl	%ecx,%r13d
1015	roll	$30,%edi
1016	addl	%eax,%r13d
1017	roll	$1,%edx
1018	xorl	12(%rsp),%ebp
1019	movl	%esi,%eax
1020	movl	%edx,8(%rsp)
1021	movl	%r13d,%ecx
1022	xorl	20(%rsp),%ebp
1023	xorl	%r11d,%eax
1024	roll	$5,%ecx
1025	xorl	44(%rsp),%ebp
1026	leal	-899497514(%rdx,%r12,1),%r12d
1027	xorl	%edi,%eax
1028	addl	%ecx,%r12d
1029	roll	$30,%esi
1030	addl	%eax,%r12d
1031	roll	$1,%ebp
1032	xorl	16(%rsp),%r14d
1033	movl	%r13d,%eax
1034	movl	%ebp,12(%rsp)
1035	movl	%r12d,%ecx
1036	xorl	24(%rsp),%r14d
1037	xorl	%edi,%eax
1038	roll	$5,%ecx
1039	xorl	48(%rsp),%r14d
1040	leal	-899497514(%rbp,%r11,1),%r11d
1041	xorl	%esi,%eax
1042	addl	%ecx,%r11d
1043	roll	$30,%r13d
1044	addl	%eax,%r11d
1045	roll	$1,%r14d
1046	xorl	20(%rsp),%edx
1047	movl	%r12d,%eax
1048	movl	%r14d,16(%rsp)
1049	movl	%r11d,%ecx
1050	xorl	28(%rsp),%edx
1051	xorl	%esi,%eax
1052	roll	$5,%ecx
1053	xorl	52(%rsp),%edx
1054	leal	-899497514(%r14,%rdi,1),%edi
1055	xorl	%r13d,%eax
1056	addl	%ecx,%edi
1057	roll	$30,%r12d
1058	addl	%eax,%edi
1059	roll	$1,%edx
1060	xorl	24(%rsp),%ebp
1061	movl	%r11d,%eax
1062	movl	%edx,20(%rsp)
1063	movl	%edi,%ecx
1064	xorl	32(%rsp),%ebp
1065	xorl	%r13d,%eax
1066	roll	$5,%ecx
1067	xorl	56(%rsp),%ebp
1068	leal	-899497514(%rdx,%rsi,1),%esi
1069	xorl	%r12d,%eax
1070	addl	%ecx,%esi
1071	roll	$30,%r11d
1072	addl	%eax,%esi
1073	roll	$1,%ebp
1074	xorl	28(%rsp),%r14d
1075	movl	%edi,%eax
1076	movl	%ebp,24(%rsp)
1077	movl	%esi,%ecx
1078	xorl	36(%rsp),%r14d
1079	xorl	%r12d,%eax
1080	roll	$5,%ecx
1081	xorl	60(%rsp),%r14d
1082	leal	-899497514(%rbp,%r13,1),%r13d
1083	xorl	%r11d,%eax
1084	addl	%ecx,%r13d
1085	roll	$30,%edi
1086	addl	%eax,%r13d
1087	roll	$1,%r14d
1088	xorl	32(%rsp),%edx
1089	movl	%esi,%eax
1090	movl	%r14d,28(%rsp)
1091	movl	%r13d,%ecx
1092	xorl	40(%rsp),%edx
1093	xorl	%r11d,%eax
1094	roll	$5,%ecx
1095	xorl	0(%rsp),%edx
1096	leal	-899497514(%r14,%r12,1),%r12d
1097	xorl	%edi,%eax
1098	addl	%ecx,%r12d
1099	roll	$30,%esi
1100	addl	%eax,%r12d
1101	roll	$1,%edx
1102	xorl	36(%rsp),%ebp
1103	movl	%r13d,%eax
1104
1105	movl	%r12d,%ecx
1106	xorl	44(%rsp),%ebp
1107	xorl	%edi,%eax
1108	roll	$5,%ecx
1109	xorl	4(%rsp),%ebp
1110	leal	-899497514(%rdx,%r11,1),%r11d
1111	xorl	%esi,%eax
1112	addl	%ecx,%r11d
1113	roll	$30,%r13d
1114	addl	%eax,%r11d
1115	roll	$1,%ebp
1116	xorl	40(%rsp),%r14d
1117	movl	%r12d,%eax
1118
1119	movl	%r11d,%ecx
1120	xorl	48(%rsp),%r14d
1121	xorl	%esi,%eax
1122	roll	$5,%ecx
1123	xorl	8(%rsp),%r14d
1124	leal	-899497514(%rbp,%rdi,1),%edi
1125	xorl	%r13d,%eax
1126	addl	%ecx,%edi
1127	roll	$30,%r12d
1128	addl	%eax,%edi
1129	roll	$1,%r14d
1130	xorl	44(%rsp),%edx
1131	movl	%r11d,%eax
1132
1133	movl	%edi,%ecx
1134	xorl	52(%rsp),%edx
1135	xorl	%r13d,%eax
1136	roll	$5,%ecx
1137	xorl	12(%rsp),%edx
1138	leal	-899497514(%r14,%rsi,1),%esi
1139	xorl	%r12d,%eax
1140	addl	%ecx,%esi
1141	roll	$30,%r11d
1142	addl	%eax,%esi
1143	roll	$1,%edx
1144	xorl	48(%rsp),%ebp
1145	movl	%edi,%eax
1146
1147	movl	%esi,%ecx
1148	xorl	56(%rsp),%ebp
1149	xorl	%r12d,%eax
1150	roll	$5,%ecx
1151	xorl	16(%rsp),%ebp
1152	leal	-899497514(%rdx,%r13,1),%r13d
1153	xorl	%r11d,%eax
1154	addl	%ecx,%r13d
1155	roll	$30,%edi
1156	addl	%eax,%r13d
1157	roll	$1,%ebp
1158	xorl	52(%rsp),%r14d
1159	movl	%esi,%eax
1160
1161	movl	%r13d,%ecx
1162	xorl	60(%rsp),%r14d
1163	xorl	%r11d,%eax
1164	roll	$5,%ecx
1165	xorl	20(%rsp),%r14d
1166	leal	-899497514(%rbp,%r12,1),%r12d
1167	xorl	%edi,%eax
1168	addl	%ecx,%r12d
1169	roll	$30,%esi
1170	addl	%eax,%r12d
1171	roll	$1,%r14d
1172	xorl	56(%rsp),%edx
1173	movl	%r13d,%eax
1174
1175	movl	%r12d,%ecx
1176	xorl	0(%rsp),%edx
1177	xorl	%edi,%eax
1178	roll	$5,%ecx
1179	xorl	24(%rsp),%edx
1180	leal	-899497514(%r14,%r11,1),%r11d
1181	xorl	%esi,%eax
1182	addl	%ecx,%r11d
1183	roll	$30,%r13d
1184	addl	%eax,%r11d
1185	roll	$1,%edx
1186	xorl	60(%rsp),%ebp
1187	movl	%r12d,%eax
1188
1189	movl	%r11d,%ecx
1190	xorl	4(%rsp),%ebp
1191	xorl	%esi,%eax
1192	roll	$5,%ecx
1193	xorl	28(%rsp),%ebp
1194	leal	-899497514(%rdx,%rdi,1),%edi
1195	xorl	%r13d,%eax
1196	addl	%ecx,%edi
1197	roll	$30,%r12d
1198	addl	%eax,%edi
1199	roll	$1,%ebp
1200	movl	%r11d,%eax
1201	movl	%edi,%ecx
1202	xorl	%r13d,%eax
1203	leal	-899497514(%rbp,%rsi,1),%esi
1204	roll	$5,%ecx
1205	xorl	%r12d,%eax
1206	addl	%ecx,%esi
1207	roll	$30,%r11d
1208	addl	%eax,%esi
1209	addl	0(%r8),%esi
1210	addl	4(%r8),%edi
1211	addl	8(%r8),%r11d
1212	addl	12(%r8),%r12d
1213	addl	16(%r8),%r13d
1214	movl	%esi,0(%r8)
1215	movl	%edi,4(%r8)
1216	movl	%r11d,8(%r8)
1217	movl	%r12d,12(%r8)
1218	movl	%r13d,16(%r8)
1219
1220	subq	$1,%r10
1221	leaq	64(%r9),%r9
1222	jnz	L$loop
1223
1224	movq	64(%rsp),%rsi
1225	movq	-40(%rsi),%r14
1226	movq	-32(%rsi),%r13
1227	movq	-24(%rsi),%r12
1228	movq	-16(%rsi),%rbp
1229	movq	-8(%rsi),%rbx
1230	leaq	(%rsi),%rsp
1231L$epilogue:
1232	.byte	0xf3,0xc3
1233
1234
1235.p2align	4
1236sha1_block_data_order_ssse3:
1237_ssse3_shortcut:
1238	movq	%rsp,%rax
1239	pushq	%rbx
1240	pushq	%rbp
1241	pushq	%r12
1242	pushq	%r13
1243	pushq	%r14
1244	leaq	-64(%rsp),%rsp
1245	movq	%rax,%r14
1246	andq	$-64,%rsp
1247	movq	%rdi,%r8
1248	movq	%rsi,%r9
1249	movq	%rdx,%r10
1250
1251	shlq	$6,%r10
1252	addq	%r9,%r10
1253	leaq	K_XX_XX+64(%rip),%r11
1254
1255	movl	0(%r8),%eax
1256	movl	4(%r8),%ebx
1257	movl	8(%r8),%ecx
1258	movl	12(%r8),%edx
1259	movl	%ebx,%esi
1260	movl	16(%r8),%ebp
1261	movl	%ecx,%edi
1262	xorl	%edx,%edi
1263	andl	%edi,%esi
1264
1265	movdqa	64(%r11),%xmm6
1266	movdqa	-64(%r11),%xmm9
1267	movdqu	0(%r9),%xmm0
1268	movdqu	16(%r9),%xmm1
1269	movdqu	32(%r9),%xmm2
1270	movdqu	48(%r9),%xmm3
1271.byte	102,15,56,0,198
1272.byte	102,15,56,0,206
1273.byte	102,15,56,0,214
1274	addq	$64,%r9
1275	paddd	%xmm9,%xmm0
1276.byte	102,15,56,0,222
1277	paddd	%xmm9,%xmm1
1278	paddd	%xmm9,%xmm2
1279	movdqa	%xmm0,0(%rsp)
1280	psubd	%xmm9,%xmm0
1281	movdqa	%xmm1,16(%rsp)
1282	psubd	%xmm9,%xmm1
1283	movdqa	%xmm2,32(%rsp)
1284	psubd	%xmm9,%xmm2
1285	jmp	L$oop_ssse3
1286.p2align	4
1287L$oop_ssse3:
1288	rorl	$2,%ebx
1289	pshufd	$238,%xmm0,%xmm4
1290	xorl	%edx,%esi
1291	movdqa	%xmm3,%xmm8
1292	paddd	%xmm3,%xmm9
1293	movl	%eax,%edi
1294	addl	0(%rsp),%ebp
1295	punpcklqdq	%xmm1,%xmm4
1296	xorl	%ecx,%ebx
1297	roll	$5,%eax
1298	addl	%esi,%ebp
1299	psrldq	$4,%xmm8
1300	andl	%ebx,%edi
1301	xorl	%ecx,%ebx
1302	pxor	%xmm0,%xmm4
1303	addl	%eax,%ebp
1304	rorl	$7,%eax
1305	pxor	%xmm2,%xmm8
1306	xorl	%ecx,%edi
1307	movl	%ebp,%esi
1308	addl	4(%rsp),%edx
1309	pxor	%xmm8,%xmm4
1310	xorl	%ebx,%eax
1311	roll	$5,%ebp
1312	movdqa	%xmm9,48(%rsp)
1313	addl	%edi,%edx
1314	andl	%eax,%esi
1315	movdqa	%xmm4,%xmm10
1316	xorl	%ebx,%eax
1317	addl	%ebp,%edx
1318	rorl	$7,%ebp
1319	movdqa	%xmm4,%xmm8
1320	xorl	%ebx,%esi
1321	pslldq	$12,%xmm10
1322	paddd	%xmm4,%xmm4
1323	movl	%edx,%edi
1324	addl	8(%rsp),%ecx
1325	psrld	$31,%xmm8
1326	xorl	%eax,%ebp
1327	roll	$5,%edx
1328	addl	%esi,%ecx
1329	movdqa	%xmm10,%xmm9
1330	andl	%ebp,%edi
1331	xorl	%eax,%ebp
1332	psrld	$30,%xmm10
1333	addl	%edx,%ecx
1334	rorl	$7,%edx
1335	por	%xmm8,%xmm4
1336	xorl	%eax,%edi
1337	movl	%ecx,%esi
1338	addl	12(%rsp),%ebx
1339	pslld	$2,%xmm9
1340	pxor	%xmm10,%xmm4
1341	xorl	%ebp,%edx
1342	movdqa	-64(%r11),%xmm10
1343	roll	$5,%ecx
1344	addl	%edi,%ebx
1345	andl	%edx,%esi
1346	pxor	%xmm9,%xmm4
1347	xorl	%ebp,%edx
1348	addl	%ecx,%ebx
1349	rorl	$7,%ecx
1350	pshufd	$238,%xmm1,%xmm5
1351	xorl	%ebp,%esi
1352	movdqa	%xmm4,%xmm9
1353	paddd	%xmm4,%xmm10
1354	movl	%ebx,%edi
1355	addl	16(%rsp),%eax
1356	punpcklqdq	%xmm2,%xmm5
1357	xorl	%edx,%ecx
1358	roll	$5,%ebx
1359	addl	%esi,%eax
1360	psrldq	$4,%xmm9
1361	andl	%ecx,%edi
1362	xorl	%edx,%ecx
1363	pxor	%xmm1,%xmm5
1364	addl	%ebx,%eax
1365	rorl	$7,%ebx
1366	pxor	%xmm3,%xmm9
1367	xorl	%edx,%edi
1368	movl	%eax,%esi
1369	addl	20(%rsp),%ebp
1370	pxor	%xmm9,%xmm5
1371	xorl	%ecx,%ebx
1372	roll	$5,%eax
1373	movdqa	%xmm10,0(%rsp)
1374	addl	%edi,%ebp
1375	andl	%ebx,%esi
1376	movdqa	%xmm5,%xmm8
1377	xorl	%ecx,%ebx
1378	addl	%eax,%ebp
1379	rorl	$7,%eax
1380	movdqa	%xmm5,%xmm9
1381	xorl	%ecx,%esi
1382	pslldq	$12,%xmm8
1383	paddd	%xmm5,%xmm5
1384	movl	%ebp,%edi
1385	addl	24(%rsp),%edx
1386	psrld	$31,%xmm9
1387	xorl	%ebx,%eax
1388	roll	$5,%ebp
1389	addl	%esi,%edx
1390	movdqa	%xmm8,%xmm10
1391	andl	%eax,%edi
1392	xorl	%ebx,%eax
1393	psrld	$30,%xmm8
1394	addl	%ebp,%edx
1395	rorl	$7,%ebp
1396	por	%xmm9,%xmm5
1397	xorl	%ebx,%edi
1398	movl	%edx,%esi
1399	addl	28(%rsp),%ecx
1400	pslld	$2,%xmm10
1401	pxor	%xmm8,%xmm5
1402	xorl	%eax,%ebp
1403	movdqa	-32(%r11),%xmm8
1404	roll	$5,%edx
1405	addl	%edi,%ecx
1406	andl	%ebp,%esi
1407	pxor	%xmm10,%xmm5
1408	xorl	%eax,%ebp
1409	addl	%edx,%ecx
1410	rorl	$7,%edx
1411	pshufd	$238,%xmm2,%xmm6
1412	xorl	%eax,%esi
1413	movdqa	%xmm5,%xmm10
1414	paddd	%xmm5,%xmm8
1415	movl	%ecx,%edi
1416	addl	32(%rsp),%ebx
1417	punpcklqdq	%xmm3,%xmm6
1418	xorl	%ebp,%edx
1419	roll	$5,%ecx
1420	addl	%esi,%ebx
1421	psrldq	$4,%xmm10
1422	andl	%edx,%edi
1423	xorl	%ebp,%edx
1424	pxor	%xmm2,%xmm6
1425	addl	%ecx,%ebx
1426	rorl	$7,%ecx
1427	pxor	%xmm4,%xmm10
1428	xorl	%ebp,%edi
1429	movl	%ebx,%esi
1430	addl	36(%rsp),%eax
1431	pxor	%xmm10,%xmm6
1432	xorl	%edx,%ecx
1433	roll	$5,%ebx
1434	movdqa	%xmm8,16(%rsp)
1435	addl	%edi,%eax
1436	andl	%ecx,%esi
1437	movdqa	%xmm6,%xmm9
1438	xorl	%edx,%ecx
1439	addl	%ebx,%eax
1440	rorl	$7,%ebx
1441	movdqa	%xmm6,%xmm10
1442	xorl	%edx,%esi
1443	pslldq	$12,%xmm9
1444	paddd	%xmm6,%xmm6
1445	movl	%eax,%edi
1446	addl	40(%rsp),%ebp
1447	psrld	$31,%xmm10
1448	xorl	%ecx,%ebx
1449	roll	$5,%eax
1450	addl	%esi,%ebp
1451	movdqa	%xmm9,%xmm8
1452	andl	%ebx,%edi
1453	xorl	%ecx,%ebx
1454	psrld	$30,%xmm9
1455	addl	%eax,%ebp
1456	rorl	$7,%eax
1457	por	%xmm10,%xmm6
1458	xorl	%ecx,%edi
1459	movl	%ebp,%esi
1460	addl	44(%rsp),%edx
1461	pslld	$2,%xmm8
1462	pxor	%xmm9,%xmm6
1463	xorl	%ebx,%eax
1464	movdqa	-32(%r11),%xmm9
1465	roll	$5,%ebp
1466	addl	%edi,%edx
1467	andl	%eax,%esi
1468	pxor	%xmm8,%xmm6
1469	xorl	%ebx,%eax
1470	addl	%ebp,%edx
1471	rorl	$7,%ebp
1472	pshufd	$238,%xmm3,%xmm7
1473	xorl	%ebx,%esi
1474	movdqa	%xmm6,%xmm8
1475	paddd	%xmm6,%xmm9
1476	movl	%edx,%edi
1477	addl	48(%rsp),%ecx
1478	punpcklqdq	%xmm4,%xmm7
1479	xorl	%eax,%ebp
1480	roll	$5,%edx
1481	addl	%esi,%ecx
1482	psrldq	$4,%xmm8
1483	andl	%ebp,%edi
1484	xorl	%eax,%ebp
1485	pxor	%xmm3,%xmm7
1486	addl	%edx,%ecx
1487	rorl	$7,%edx
1488	pxor	%xmm5,%xmm8
1489	xorl	%eax,%edi
1490	movl	%ecx,%esi
1491	addl	52(%rsp),%ebx
1492	pxor	%xmm8,%xmm7
1493	xorl	%ebp,%edx
1494	roll	$5,%ecx
1495	movdqa	%xmm9,32(%rsp)
1496	addl	%edi,%ebx
1497	andl	%edx,%esi
1498	movdqa	%xmm7,%xmm10
1499	xorl	%ebp,%edx
1500	addl	%ecx,%ebx
1501	rorl	$7,%ecx
1502	movdqa	%xmm7,%xmm8
1503	xorl	%ebp,%esi
1504	pslldq	$12,%xmm10
1505	paddd	%xmm7,%xmm7
1506	movl	%ebx,%edi
1507	addl	56(%rsp),%eax
1508	psrld	$31,%xmm8
1509	xorl	%edx,%ecx
1510	roll	$5,%ebx
1511	addl	%esi,%eax
1512	movdqa	%xmm10,%xmm9
1513	andl	%ecx,%edi
1514	xorl	%edx,%ecx
1515	psrld	$30,%xmm10
1516	addl	%ebx,%eax
1517	rorl	$7,%ebx
1518	por	%xmm8,%xmm7
1519	xorl	%edx,%edi
1520	movl	%eax,%esi
1521	addl	60(%rsp),%ebp
1522	pslld	$2,%xmm9
1523	pxor	%xmm10,%xmm7
1524	xorl	%ecx,%ebx
1525	movdqa	-32(%r11),%xmm10
1526	roll	$5,%eax
1527	addl	%edi,%ebp
1528	andl	%ebx,%esi
1529	pxor	%xmm9,%xmm7
1530	pshufd	$238,%xmm6,%xmm9
1531	xorl	%ecx,%ebx
1532	addl	%eax,%ebp
1533	rorl	$7,%eax
1534	pxor	%xmm4,%xmm0
1535	xorl	%ecx,%esi
1536	movl	%ebp,%edi
1537	addl	0(%rsp),%edx
1538	punpcklqdq	%xmm7,%xmm9
1539	xorl	%ebx,%eax
1540	roll	$5,%ebp
1541	pxor	%xmm1,%xmm0
1542	addl	%esi,%edx
1543	andl	%eax,%edi
1544	movdqa	%xmm10,%xmm8
1545	xorl	%ebx,%eax
1546	paddd	%xmm7,%xmm10
1547	addl	%ebp,%edx
1548	pxor	%xmm9,%xmm0
1549	rorl	$7,%ebp
1550	xorl	%ebx,%edi
1551	movl	%edx,%esi
1552	addl	4(%rsp),%ecx
1553	movdqa	%xmm0,%xmm9
1554	xorl	%eax,%ebp
1555	roll	$5,%edx
1556	movdqa	%xmm10,48(%rsp)
1557	addl	%edi,%ecx
1558	andl	%ebp,%esi
1559	xorl	%eax,%ebp
1560	pslld	$2,%xmm0
1561	addl	%edx,%ecx
1562	rorl	$7,%edx
1563	psrld	$30,%xmm9
1564	xorl	%eax,%esi
1565	movl	%ecx,%edi
1566	addl	8(%rsp),%ebx
1567	por	%xmm9,%xmm0
1568	xorl	%ebp,%edx
1569	roll	$5,%ecx
1570	pshufd	$238,%xmm7,%xmm10
1571	addl	%esi,%ebx
1572	andl	%edx,%edi
1573	xorl	%ebp,%edx
1574	addl	%ecx,%ebx
1575	addl	12(%rsp),%eax
1576	xorl	%ebp,%edi
1577	movl	%ebx,%esi
1578	roll	$5,%ebx
1579	addl	%edi,%eax
1580	xorl	%edx,%esi
1581	rorl	$7,%ecx
1582	addl	%ebx,%eax
1583	pxor	%xmm5,%xmm1
1584	addl	16(%rsp),%ebp
1585	xorl	%ecx,%esi
1586	punpcklqdq	%xmm0,%xmm10
1587	movl	%eax,%edi
1588	roll	$5,%eax
1589	pxor	%xmm2,%xmm1
1590	addl	%esi,%ebp
1591	xorl	%ecx,%edi
1592	movdqa	%xmm8,%xmm9
1593	rorl	$7,%ebx
1594	paddd	%xmm0,%xmm8
1595	addl	%eax,%ebp
1596	pxor	%xmm10,%xmm1
1597	addl	20(%rsp),%edx
1598	xorl	%ebx,%edi
1599	movl	%ebp,%esi
1600	roll	$5,%ebp
1601	movdqa	%xmm1,%xmm10
1602	addl	%edi,%edx
1603	xorl	%ebx,%esi
1604	movdqa	%xmm8,0(%rsp)
1605	rorl	$7,%eax
1606	addl	%ebp,%edx
1607	addl	24(%rsp),%ecx
1608	pslld	$2,%xmm1
1609	xorl	%eax,%esi
1610	movl	%edx,%edi
1611	psrld	$30,%xmm10
1612	roll	$5,%edx
1613	addl	%esi,%ecx
1614	xorl	%eax,%edi
1615	rorl	$7,%ebp
1616	por	%xmm10,%xmm1
1617	addl	%edx,%ecx
1618	addl	28(%rsp),%ebx
1619	pshufd	$238,%xmm0,%xmm8
1620	xorl	%ebp,%edi
1621	movl	%ecx,%esi
1622	roll	$5,%ecx
1623	addl	%edi,%ebx
1624	xorl	%ebp,%esi
1625	rorl	$7,%edx
1626	addl	%ecx,%ebx
1627	pxor	%xmm6,%xmm2
1628	addl	32(%rsp),%eax
1629	xorl	%edx,%esi
1630	punpcklqdq	%xmm1,%xmm8
1631	movl	%ebx,%edi
1632	roll	$5,%ebx
1633	pxor	%xmm3,%xmm2
1634	addl	%esi,%eax
1635	xorl	%edx,%edi
1636	movdqa	0(%r11),%xmm10
1637	rorl	$7,%ecx
1638	paddd	%xmm1,%xmm9
1639	addl	%ebx,%eax
1640	pxor	%xmm8,%xmm2
1641	addl	36(%rsp),%ebp
1642	xorl	%ecx,%edi
1643	movl	%eax,%esi
1644	roll	$5,%eax
1645	movdqa	%xmm2,%xmm8
1646	addl	%edi,%ebp
1647	xorl	%ecx,%esi
1648	movdqa	%xmm9,16(%rsp)
1649	rorl	$7,%ebx
1650	addl	%eax,%ebp
1651	addl	40(%rsp),%edx
1652	pslld	$2,%xmm2
1653	xorl	%ebx,%esi
1654	movl	%ebp,%edi
1655	psrld	$30,%xmm8
1656	roll	$5,%ebp
1657	addl	%esi,%edx
1658	xorl	%ebx,%edi
1659	rorl	$7,%eax
1660	por	%xmm8,%xmm2
1661	addl	%ebp,%edx
1662	addl	44(%rsp),%ecx
1663	pshufd	$238,%xmm1,%xmm9
1664	xorl	%eax,%edi
1665	movl	%edx,%esi
1666	roll	$5,%edx
1667	addl	%edi,%ecx
1668	xorl	%eax,%esi
1669	rorl	$7,%ebp
1670	addl	%edx,%ecx
1671	pxor	%xmm7,%xmm3
1672	addl	48(%rsp),%ebx
1673	xorl	%ebp,%esi
1674	punpcklqdq	%xmm2,%xmm9
1675	movl	%ecx,%edi
1676	roll	$5,%ecx
1677	pxor	%xmm4,%xmm3
1678	addl	%esi,%ebx
1679	xorl	%ebp,%edi
1680	movdqa	%xmm10,%xmm8
1681	rorl	$7,%edx
1682	paddd	%xmm2,%xmm10
1683	addl	%ecx,%ebx
1684	pxor	%xmm9,%xmm3
1685	addl	52(%rsp),%eax
1686	xorl	%edx,%edi
1687	movl	%ebx,%esi
1688	roll	$5,%ebx
1689	movdqa	%xmm3,%xmm9
1690	addl	%edi,%eax
1691	xorl	%edx,%esi
1692	movdqa	%xmm10,32(%rsp)
1693	rorl	$7,%ecx
1694	addl	%ebx,%eax
1695	addl	56(%rsp),%ebp
1696	pslld	$2,%xmm3
1697	xorl	%ecx,%esi
1698	movl	%eax,%edi
1699	psrld	$30,%xmm9
1700	roll	$5,%eax
1701	addl	%esi,%ebp
1702	xorl	%ecx,%edi
1703	rorl	$7,%ebx
1704	por	%xmm9,%xmm3
1705	addl	%eax,%ebp
1706	addl	60(%rsp),%edx
1707	pshufd	$238,%xmm2,%xmm10
1708	xorl	%ebx,%edi
1709	movl	%ebp,%esi
1710	roll	$5,%ebp
1711	addl	%edi,%edx
1712	xorl	%ebx,%esi
1713	rorl	$7,%eax
1714	addl	%ebp,%edx
1715	pxor	%xmm0,%xmm4
1716	addl	0(%rsp),%ecx
1717	xorl	%eax,%esi
1718	punpcklqdq	%xmm3,%xmm10
1719	movl	%edx,%edi
1720	roll	$5,%edx
1721	pxor	%xmm5,%xmm4
1722	addl	%esi,%ecx
1723	xorl	%eax,%edi
1724	movdqa	%xmm8,%xmm9
1725	rorl	$7,%ebp
1726	paddd	%xmm3,%xmm8
1727	addl	%edx,%ecx
1728	pxor	%xmm10,%xmm4
1729	addl	4(%rsp),%ebx
1730	xorl	%ebp,%edi
1731	movl	%ecx,%esi
1732	roll	$5,%ecx
1733	movdqa	%xmm4,%xmm10
1734	addl	%edi,%ebx
1735	xorl	%ebp,%esi
1736	movdqa	%xmm8,48(%rsp)
1737	rorl	$7,%edx
1738	addl	%ecx,%ebx
1739	addl	8(%rsp),%eax
1740	pslld	$2,%xmm4
1741	xorl	%edx,%esi
1742	movl	%ebx,%edi
1743	psrld	$30,%xmm10
1744	roll	$5,%ebx
1745	addl	%esi,%eax
1746	xorl	%edx,%edi
1747	rorl	$7,%ecx
1748	por	%xmm10,%xmm4
1749	addl	%ebx,%eax
1750	addl	12(%rsp),%ebp
1751	pshufd	$238,%xmm3,%xmm8
1752	xorl	%ecx,%edi
1753	movl	%eax,%esi
1754	roll	$5,%eax
1755	addl	%edi,%ebp
1756	xorl	%ecx,%esi
1757	rorl	$7,%ebx
1758	addl	%eax,%ebp
1759	pxor	%xmm1,%xmm5
1760	addl	16(%rsp),%edx
1761	xorl	%ebx,%esi
1762	punpcklqdq	%xmm4,%xmm8
1763	movl	%ebp,%edi
1764	roll	$5,%ebp
1765	pxor	%xmm6,%xmm5
1766	addl	%esi,%edx
1767	xorl	%ebx,%edi
1768	movdqa	%xmm9,%xmm10
1769	rorl	$7,%eax
1770	paddd	%xmm4,%xmm9
1771	addl	%ebp,%edx
1772	pxor	%xmm8,%xmm5
1773	addl	20(%rsp),%ecx
1774	xorl	%eax,%edi
1775	movl	%edx,%esi
1776	roll	$5,%edx
1777	movdqa	%xmm5,%xmm8
1778	addl	%edi,%ecx
1779	xorl	%eax,%esi
1780	movdqa	%xmm9,0(%rsp)
1781	rorl	$7,%ebp
1782	addl	%edx,%ecx
1783	addl	24(%rsp),%ebx
1784	pslld	$2,%xmm5
1785	xorl	%ebp,%esi
1786	movl	%ecx,%edi
1787	psrld	$30,%xmm8
1788	roll	$5,%ecx
1789	addl	%esi,%ebx
1790	xorl	%ebp,%edi
1791	rorl	$7,%edx
1792	por	%xmm8,%xmm5
1793	addl	%ecx,%ebx
1794	addl	28(%rsp),%eax
1795	pshufd	$238,%xmm4,%xmm9
1796	rorl	$7,%ecx
1797	movl	%ebx,%esi
1798	xorl	%edx,%edi
1799	roll	$5,%ebx
1800	addl	%edi,%eax
1801	xorl	%ecx,%esi
1802	xorl	%edx,%ecx
1803	addl	%ebx,%eax
1804	pxor	%xmm2,%xmm6
1805	addl	32(%rsp),%ebp
1806	andl	%ecx,%esi
1807	xorl	%edx,%ecx
1808	rorl	$7,%ebx
1809	punpcklqdq	%xmm5,%xmm9
1810	movl	%eax,%edi
1811	xorl	%ecx,%esi
1812	pxor	%xmm7,%xmm6
1813	roll	$5,%eax
1814	addl	%esi,%ebp
1815	movdqa	%xmm10,%xmm8
1816	xorl	%ebx,%edi
1817	paddd	%xmm5,%xmm10
1818	xorl	%ecx,%ebx
1819	pxor	%xmm9,%xmm6
1820	addl	%eax,%ebp
1821	addl	36(%rsp),%edx
1822	andl	%ebx,%edi
1823	xorl	%ecx,%ebx
1824	rorl	$7,%eax
1825	movdqa	%xmm6,%xmm9
1826	movl	%ebp,%esi
1827	xorl	%ebx,%edi
1828	movdqa	%xmm10,16(%rsp)
1829	roll	$5,%ebp
1830	addl	%edi,%edx
1831	xorl	%eax,%esi
1832	pslld	$2,%xmm6
1833	xorl	%ebx,%eax
1834	addl	%ebp,%edx
1835	psrld	$30,%xmm9
1836	addl	40(%rsp),%ecx
1837	andl	%eax,%esi
1838	xorl	%ebx,%eax
1839	por	%xmm9,%xmm6
1840	rorl	$7,%ebp
1841	movl	%edx,%edi
1842	xorl	%eax,%esi
1843	roll	$5,%edx
1844	pshufd	$238,%xmm5,%xmm10
1845	addl	%esi,%ecx
1846	xorl	%ebp,%edi
1847	xorl	%eax,%ebp
1848	addl	%edx,%ecx
1849	addl	44(%rsp),%ebx
1850	andl	%ebp,%edi
1851	xorl	%eax,%ebp
1852	rorl	$7,%edx
1853	movl	%ecx,%esi
1854	xorl	%ebp,%edi
1855	roll	$5,%ecx
1856	addl	%edi,%ebx
1857	xorl	%edx,%esi
1858	xorl	%ebp,%edx
1859	addl	%ecx,%ebx
1860	pxor	%xmm3,%xmm7
1861	addl	48(%rsp),%eax
1862	andl	%edx,%esi
1863	xorl	%ebp,%edx
1864	rorl	$7,%ecx
1865	punpcklqdq	%xmm6,%xmm10
1866	movl	%ebx,%edi
1867	xorl	%edx,%esi
1868	pxor	%xmm0,%xmm7
1869	roll	$5,%ebx
1870	addl	%esi,%eax
1871	movdqa	32(%r11),%xmm9
1872	xorl	%ecx,%edi
1873	paddd	%xmm6,%xmm8
1874	xorl	%edx,%ecx
1875	pxor	%xmm10,%xmm7
1876	addl	%ebx,%eax
1877	addl	52(%rsp),%ebp
1878	andl	%ecx,%edi
1879	xorl	%edx,%ecx
1880	rorl	$7,%ebx
1881	movdqa	%xmm7,%xmm10
1882	movl	%eax,%esi
1883	xorl	%ecx,%edi
1884	movdqa	%xmm8,32(%rsp)
1885	roll	$5,%eax
1886	addl	%edi,%ebp
1887	xorl	%ebx,%esi
1888	pslld	$2,%xmm7
1889	xorl	%ecx,%ebx
1890	addl	%eax,%ebp
1891	psrld	$30,%xmm10
1892	addl	56(%rsp),%edx
1893	andl	%ebx,%esi
1894	xorl	%ecx,%ebx
1895	por	%xmm10,%xmm7
1896	rorl	$7,%eax
1897	movl	%ebp,%edi
1898	xorl	%ebx,%esi
1899	roll	$5,%ebp
1900	pshufd	$238,%xmm6,%xmm8
1901	addl	%esi,%edx
1902	xorl	%eax,%edi
1903	xorl	%ebx,%eax
1904	addl	%ebp,%edx
1905	addl	60(%rsp),%ecx
1906	andl	%eax,%edi
1907	xorl	%ebx,%eax
1908	rorl	$7,%ebp
1909	movl	%edx,%esi
1910	xorl	%eax,%edi
1911	roll	$5,%edx
1912	addl	%edi,%ecx
1913	xorl	%ebp,%esi
1914	xorl	%eax,%ebp
1915	addl	%edx,%ecx
1916	pxor	%xmm4,%xmm0
1917	addl	0(%rsp),%ebx
1918	andl	%ebp,%esi
1919	xorl	%eax,%ebp
1920	rorl	$7,%edx
1921	punpcklqdq	%xmm7,%xmm8
1922	movl	%ecx,%edi
1923	xorl	%ebp,%esi
1924	pxor	%xmm1,%xmm0
1925	roll	$5,%ecx
1926	addl	%esi,%ebx
1927	movdqa	%xmm9,%xmm10
1928	xorl	%edx,%edi
1929	paddd	%xmm7,%xmm9
1930	xorl	%ebp,%edx
1931	pxor	%xmm8,%xmm0
1932	addl	%ecx,%ebx
1933	addl	4(%rsp),%eax
1934	andl	%edx,%edi
1935	xorl	%ebp,%edx
1936	rorl	$7,%ecx
1937	movdqa	%xmm0,%xmm8
1938	movl	%ebx,%esi
1939	xorl	%edx,%edi
1940	movdqa	%xmm9,48(%rsp)
1941	roll	$5,%ebx
1942	addl	%edi,%eax
1943	xorl	%ecx,%esi
1944	pslld	$2,%xmm0
1945	xorl	%edx,%ecx
1946	addl	%ebx,%eax
1947	psrld	$30,%xmm8
1948	addl	8(%rsp),%ebp
1949	andl	%ecx,%esi
1950	xorl	%edx,%ecx
1951	por	%xmm8,%xmm0
1952	rorl	$7,%ebx
1953	movl	%eax,%edi
1954	xorl	%ecx,%esi
1955	roll	$5,%eax
1956	pshufd	$238,%xmm7,%xmm9
1957	addl	%esi,%ebp
1958	xorl	%ebx,%edi
1959	xorl	%ecx,%ebx
1960	addl	%eax,%ebp
1961	addl	12(%rsp),%edx
1962	andl	%ebx,%edi
1963	xorl	%ecx,%ebx
1964	rorl	$7,%eax
1965	movl	%ebp,%esi
1966	xorl	%ebx,%edi
1967	roll	$5,%ebp
1968	addl	%edi,%edx
1969	xorl	%eax,%esi
1970	xorl	%ebx,%eax
1971	addl	%ebp,%edx
1972	pxor	%xmm5,%xmm1
1973	addl	16(%rsp),%ecx
1974	andl	%eax,%esi
1975	xorl	%ebx,%eax
1976	rorl	$7,%ebp
1977	punpcklqdq	%xmm0,%xmm9
1978	movl	%edx,%edi
1979	xorl	%eax,%esi
1980	pxor	%xmm2,%xmm1
1981	roll	$5,%edx
1982	addl	%esi,%ecx
1983	movdqa	%xmm10,%xmm8
1984	xorl	%ebp,%edi
1985	paddd	%xmm0,%xmm10
1986	xorl	%eax,%ebp
1987	pxor	%xmm9,%xmm1
1988	addl	%edx,%ecx
1989	addl	20(%rsp),%ebx
1990	andl	%ebp,%edi
1991	xorl	%eax,%ebp
1992	rorl	$7,%edx
1993	movdqa	%xmm1,%xmm9
1994	movl	%ecx,%esi
1995	xorl	%ebp,%edi
1996	movdqa	%xmm10,0(%rsp)
1997	roll	$5,%ecx
1998	addl	%edi,%ebx
1999	xorl	%edx,%esi
2000	pslld	$2,%xmm1
2001	xorl	%ebp,%edx
2002	addl	%ecx,%ebx
2003	psrld	$30,%xmm9
2004	addl	24(%rsp),%eax
2005	andl	%edx,%esi
2006	xorl	%ebp,%edx
2007	por	%xmm9,%xmm1
2008	rorl	$7,%ecx
2009	movl	%ebx,%edi
2010	xorl	%edx,%esi
2011	roll	$5,%ebx
2012	pshufd	$238,%xmm0,%xmm10
2013	addl	%esi,%eax
2014	xorl	%ecx,%edi
2015	xorl	%edx,%ecx
2016	addl	%ebx,%eax
2017	addl	28(%rsp),%ebp
2018	andl	%ecx,%edi
2019	xorl	%edx,%ecx
2020	rorl	$7,%ebx
2021	movl	%eax,%esi
2022	xorl	%ecx,%edi
2023	roll	$5,%eax
2024	addl	%edi,%ebp
2025	xorl	%ebx,%esi
2026	xorl	%ecx,%ebx
2027	addl	%eax,%ebp
2028	pxor	%xmm6,%xmm2
2029	addl	32(%rsp),%edx
2030	andl	%ebx,%esi
2031	xorl	%ecx,%ebx
2032	rorl	$7,%eax
2033	punpcklqdq	%xmm1,%xmm10
2034	movl	%ebp,%edi
2035	xorl	%ebx,%esi
2036	pxor	%xmm3,%xmm2
2037	roll	$5,%ebp
2038	addl	%esi,%edx
2039	movdqa	%xmm8,%xmm9
2040	xorl	%eax,%edi
2041	paddd	%xmm1,%xmm8
2042	xorl	%ebx,%eax
2043	pxor	%xmm10,%xmm2
2044	addl	%ebp,%edx
2045	addl	36(%rsp),%ecx
2046	andl	%eax,%edi
2047	xorl	%ebx,%eax
2048	rorl	$7,%ebp
2049	movdqa	%xmm2,%xmm10
2050	movl	%edx,%esi
2051	xorl	%eax,%edi
2052	movdqa	%xmm8,16(%rsp)
2053	roll	$5,%edx
2054	addl	%edi,%ecx
2055	xorl	%ebp,%esi
2056	pslld	$2,%xmm2
2057	xorl	%eax,%ebp
2058	addl	%edx,%ecx
2059	psrld	$30,%xmm10
2060	addl	40(%rsp),%ebx
2061	andl	%ebp,%esi
2062	xorl	%eax,%ebp
2063	por	%xmm10,%xmm2
2064	rorl	$7,%edx
2065	movl	%ecx,%edi
2066	xorl	%ebp,%esi
2067	roll	$5,%ecx
2068	pshufd	$238,%xmm1,%xmm8
2069	addl	%esi,%ebx
2070	xorl	%edx,%edi
2071	xorl	%ebp,%edx
2072	addl	%ecx,%ebx
2073	addl	44(%rsp),%eax
2074	andl	%edx,%edi
2075	xorl	%ebp,%edx
2076	rorl	$7,%ecx
2077	movl	%ebx,%esi
2078	xorl	%edx,%edi
2079	roll	$5,%ebx
2080	addl	%edi,%eax
2081	xorl	%edx,%esi
2082	addl	%ebx,%eax
2083	pxor	%xmm7,%xmm3
2084	addl	48(%rsp),%ebp
2085	xorl	%ecx,%esi
2086	punpcklqdq	%xmm2,%xmm8
2087	movl	%eax,%edi
2088	roll	$5,%eax
2089	pxor	%xmm4,%xmm3
2090	addl	%esi,%ebp
2091	xorl	%ecx,%edi
2092	movdqa	%xmm9,%xmm10
2093	rorl	$7,%ebx
2094	paddd	%xmm2,%xmm9
2095	addl	%eax,%ebp
2096	pxor	%xmm8,%xmm3
2097	addl	52(%rsp),%edx
2098	xorl	%ebx,%edi
2099	movl	%ebp,%esi
2100	roll	$5,%ebp
2101	movdqa	%xmm3,%xmm8
2102	addl	%edi,%edx
2103	xorl	%ebx,%esi
2104	movdqa	%xmm9,32(%rsp)
2105	rorl	$7,%eax
2106	addl	%ebp,%edx
2107	addl	56(%rsp),%ecx
2108	pslld	$2,%xmm3
2109	xorl	%eax,%esi
2110	movl	%edx,%edi
2111	psrld	$30,%xmm8
2112	roll	$5,%edx
2113	addl	%esi,%ecx
2114	xorl	%eax,%edi
2115	rorl	$7,%ebp
2116	por	%xmm8,%xmm3
2117	addl	%edx,%ecx
2118	addl	60(%rsp),%ebx
2119	xorl	%ebp,%edi
2120	movl	%ecx,%esi
2121	roll	$5,%ecx
2122	addl	%edi,%ebx
2123	xorl	%ebp,%esi
2124	rorl	$7,%edx
2125	addl	%ecx,%ebx
2126	addl	0(%rsp),%eax
2127	xorl	%edx,%esi
2128	movl	%ebx,%edi
2129	roll	$5,%ebx
2130	paddd	%xmm3,%xmm10
2131	addl	%esi,%eax
2132	xorl	%edx,%edi
2133	movdqa	%xmm10,48(%rsp)
2134	rorl	$7,%ecx
2135	addl	%ebx,%eax
2136	addl	4(%rsp),%ebp
2137	xorl	%ecx,%edi
2138	movl	%eax,%esi
2139	roll	$5,%eax
2140	addl	%edi,%ebp
2141	xorl	%ecx,%esi
2142	rorl	$7,%ebx
2143	addl	%eax,%ebp
2144	addl	8(%rsp),%edx
2145	xorl	%ebx,%esi
2146	movl	%ebp,%edi
2147	roll	$5,%ebp
2148	addl	%esi,%edx
2149	xorl	%ebx,%edi
2150	rorl	$7,%eax
2151	addl	%ebp,%edx
2152	addl	12(%rsp),%ecx
2153	xorl	%eax,%edi
2154	movl	%edx,%esi
2155	roll	$5,%edx
2156	addl	%edi,%ecx
2157	xorl	%eax,%esi
2158	rorl	$7,%ebp
2159	addl	%edx,%ecx
2160	cmpq	%r10,%r9
2161	je	L$done_ssse3
2162	movdqa	64(%r11),%xmm6
2163	movdqa	-64(%r11),%xmm9
2164	movdqu	0(%r9),%xmm0
2165	movdqu	16(%r9),%xmm1
2166	movdqu	32(%r9),%xmm2
2167	movdqu	48(%r9),%xmm3
2168.byte	102,15,56,0,198
2169	addq	$64,%r9
2170	addl	16(%rsp),%ebx
2171	xorl	%ebp,%esi
2172	movl	%ecx,%edi
2173.byte	102,15,56,0,206
2174	roll	$5,%ecx
2175	addl	%esi,%ebx
2176	xorl	%ebp,%edi
2177	rorl	$7,%edx
2178	paddd	%xmm9,%xmm0
2179	addl	%ecx,%ebx
2180	addl	20(%rsp),%eax
2181	xorl	%edx,%edi
2182	movl	%ebx,%esi
2183	movdqa	%xmm0,0(%rsp)
2184	roll	$5,%ebx
2185	addl	%edi,%eax
2186	xorl	%edx,%esi
2187	rorl	$7,%ecx
2188	psubd	%xmm9,%xmm0
2189	addl	%ebx,%eax
2190	addl	24(%rsp),%ebp
2191	xorl	%ecx,%esi
2192	movl	%eax,%edi
2193	roll	$5,%eax
2194	addl	%esi,%ebp
2195	xorl	%ecx,%edi
2196	rorl	$7,%ebx
2197	addl	%eax,%ebp
2198	addl	28(%rsp),%edx
2199	xorl	%ebx,%edi
2200	movl	%ebp,%esi
2201	roll	$5,%ebp
2202	addl	%edi,%edx
2203	xorl	%ebx,%esi
2204	rorl	$7,%eax
2205	addl	%ebp,%edx
2206	addl	32(%rsp),%ecx
2207	xorl	%eax,%esi
2208	movl	%edx,%edi
2209.byte	102,15,56,0,214
2210	roll	$5,%edx
2211	addl	%esi,%ecx
2212	xorl	%eax,%edi
2213	rorl	$7,%ebp
2214	paddd	%xmm9,%xmm1
2215	addl	%edx,%ecx
2216	addl	36(%rsp),%ebx
2217	xorl	%ebp,%edi
2218	movl	%ecx,%esi
2219	movdqa	%xmm1,16(%rsp)
2220	roll	$5,%ecx
2221	addl	%edi,%ebx
2222	xorl	%ebp,%esi
2223	rorl	$7,%edx
2224	psubd	%xmm9,%xmm1
2225	addl	%ecx,%ebx
2226	addl	40(%rsp),%eax
2227	xorl	%edx,%esi
2228	movl	%ebx,%edi
2229	roll	$5,%ebx
2230	addl	%esi,%eax
2231	xorl	%edx,%edi
2232	rorl	$7,%ecx
2233	addl	%ebx,%eax
2234	addl	44(%rsp),%ebp
2235	xorl	%ecx,%edi
2236	movl	%eax,%esi
2237	roll	$5,%eax
2238	addl	%edi,%ebp
2239	xorl	%ecx,%esi
2240	rorl	$7,%ebx
2241	addl	%eax,%ebp
2242	addl	48(%rsp),%edx
2243	xorl	%ebx,%esi
2244	movl	%ebp,%edi
2245.byte	102,15,56,0,222
2246	roll	$5,%ebp
2247	addl	%esi,%edx
2248	xorl	%ebx,%edi
2249	rorl	$7,%eax
2250	paddd	%xmm9,%xmm2
2251	addl	%ebp,%edx
2252	addl	52(%rsp),%ecx
2253	xorl	%eax,%edi
2254	movl	%edx,%esi
2255	movdqa	%xmm2,32(%rsp)
2256	roll	$5,%edx
2257	addl	%edi,%ecx
2258	xorl	%eax,%esi
2259	rorl	$7,%ebp
2260	psubd	%xmm9,%xmm2
2261	addl	%edx,%ecx
2262	addl	56(%rsp),%ebx
2263	xorl	%ebp,%esi
2264	movl	%ecx,%edi
2265	roll	$5,%ecx
2266	addl	%esi,%ebx
2267	xorl	%ebp,%edi
2268	rorl	$7,%edx
2269	addl	%ecx,%ebx
2270	addl	60(%rsp),%eax
2271	xorl	%edx,%edi
2272	movl	%ebx,%esi
2273	roll	$5,%ebx
2274	addl	%edi,%eax
2275	rorl	$7,%ecx
2276	addl	%ebx,%eax
2277	addl	0(%r8),%eax
2278	addl	4(%r8),%esi
2279	addl	8(%r8),%ecx
2280	addl	12(%r8),%edx
2281	movl	%eax,0(%r8)
2282	addl	16(%r8),%ebp
2283	movl	%esi,4(%r8)
2284	movl	%esi,%ebx
2285	movl	%ecx,8(%r8)
2286	movl	%ecx,%edi
2287	movl	%edx,12(%r8)
2288	xorl	%edx,%edi
2289	movl	%ebp,16(%r8)
2290	andl	%edi,%esi
2291	jmp	L$oop_ssse3
2292
2293.p2align	4
2294L$done_ssse3:
2295	addl	16(%rsp),%ebx
2296	xorl	%ebp,%esi
2297	movl	%ecx,%edi
2298	roll	$5,%ecx
2299	addl	%esi,%ebx
2300	xorl	%ebp,%edi
2301	rorl	$7,%edx
2302	addl	%ecx,%ebx
2303	addl	20(%rsp),%eax
2304	xorl	%edx,%edi
2305	movl	%ebx,%esi
2306	roll	$5,%ebx
2307	addl	%edi,%eax
2308	xorl	%edx,%esi
2309	rorl	$7,%ecx
2310	addl	%ebx,%eax
2311	addl	24(%rsp),%ebp
2312	xorl	%ecx,%esi
2313	movl	%eax,%edi
2314	roll	$5,%eax
2315	addl	%esi,%ebp
2316	xorl	%ecx,%edi
2317	rorl	$7,%ebx
2318	addl	%eax,%ebp
2319	addl	28(%rsp),%edx
2320	xorl	%ebx,%edi
2321	movl	%ebp,%esi
2322	roll	$5,%ebp
2323	addl	%edi,%edx
2324	xorl	%ebx,%esi
2325	rorl	$7,%eax
2326	addl	%ebp,%edx
2327	addl	32(%rsp),%ecx
2328	xorl	%eax,%esi
2329	movl	%edx,%edi
2330	roll	$5,%edx
2331	addl	%esi,%ecx
2332	xorl	%eax,%edi
2333	rorl	$7,%ebp
2334	addl	%edx,%ecx
2335	addl	36(%rsp),%ebx
2336	xorl	%ebp,%edi
2337	movl	%ecx,%esi
2338	roll	$5,%ecx
2339	addl	%edi,%ebx
2340	xorl	%ebp,%esi
2341	rorl	$7,%edx
2342	addl	%ecx,%ebx
2343	addl	40(%rsp),%eax
2344	xorl	%edx,%esi
2345	movl	%ebx,%edi
2346	roll	$5,%ebx
2347	addl	%esi,%eax
2348	xorl	%edx,%edi
2349	rorl	$7,%ecx
2350	addl	%ebx,%eax
2351	addl	44(%rsp),%ebp
2352	xorl	%ecx,%edi
2353	movl	%eax,%esi
2354	roll	$5,%eax
2355	addl	%edi,%ebp
2356	xorl	%ecx,%esi
2357	rorl	$7,%ebx
2358	addl	%eax,%ebp
2359	addl	48(%rsp),%edx
2360	xorl	%ebx,%esi
2361	movl	%ebp,%edi
2362	roll	$5,%ebp
2363	addl	%esi,%edx
2364	xorl	%ebx,%edi
2365	rorl	$7,%eax
2366	addl	%ebp,%edx
2367	addl	52(%rsp),%ecx
2368	xorl	%eax,%edi
2369	movl	%edx,%esi
2370	roll	$5,%edx
2371	addl	%edi,%ecx
2372	xorl	%eax,%esi
2373	rorl	$7,%ebp
2374	addl	%edx,%ecx
2375	addl	56(%rsp),%ebx
2376	xorl	%ebp,%esi
2377	movl	%ecx,%edi
2378	roll	$5,%ecx
2379	addl	%esi,%ebx
2380	xorl	%ebp,%edi
2381	rorl	$7,%edx
2382	addl	%ecx,%ebx
2383	addl	60(%rsp),%eax
2384	xorl	%edx,%edi
2385	movl	%ebx,%esi
2386	roll	$5,%ebx
2387	addl	%edi,%eax
2388	rorl	$7,%ecx
2389	addl	%ebx,%eax
2390	addl	0(%r8),%eax
2391	addl	4(%r8),%esi
2392	addl	8(%r8),%ecx
2393	movl	%eax,0(%r8)
2394	addl	12(%r8),%edx
2395	movl	%esi,4(%r8)
2396	addl	16(%r8),%ebp
2397	movl	%ecx,8(%r8)
2398	movl	%edx,12(%r8)
2399	movl	%ebp,16(%r8)
2400	leaq	(%r14),%rsi
2401	movq	-40(%rsi),%r14
2402	movq	-32(%rsi),%r13
2403	movq	-24(%rsi),%r12
2404	movq	-16(%rsi),%rbp
2405	movq	-8(%rsi),%rbx
2406	leaq	(%rsi),%rsp
2407L$epilogue_ssse3:
2408	.byte	0xf3,0xc3
2409
2410.p2align	6
2411K_XX_XX:
2412.long	0x5a827999,0x5a827999,0x5a827999,0x5a827999
2413.long	0x5a827999,0x5a827999,0x5a827999,0x5a827999
2414.long	0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
2415.long	0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
2416.long	0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
2417.long	0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
2418.long	0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
2419.long	0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
2420.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
2421.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
2422.byte	0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
2423.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
2424.p2align	6
2425#endif
2426