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