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