xref: /freebsd/sys/crypto/openssl/i386/sha512-586.S (revision 22cf89c938886d14f5796fc49f9f020c23ea8eaf)
1/* Do not modify. This file is auto-generated from sha512-586.pl. */
2#ifdef PIC
3.text
4.globl	sha512_block_data_order
5.type	sha512_block_data_order,@function
6.align	16
7sha512_block_data_order:
8.L_sha512_block_data_order_begin:
9	#ifdef __CET__
10
11.byte	243,15,30,251
12	#endif
13
14	pushl	%ebp
15	pushl	%ebx
16	pushl	%esi
17	pushl	%edi
18	movl	20(%esp),%esi
19	movl	24(%esp),%edi
20	movl	28(%esp),%eax
21	movl	%esp,%ebx
22	call	.L000pic_point
23.L000pic_point:
24	popl	%ebp
25	leal	.L001K512-.L000pic_point(%ebp),%ebp
26	subl	$16,%esp
27	andl	$-64,%esp
28	shll	$7,%eax
29	addl	%edi,%eax
30	movl	%esi,(%esp)
31	movl	%edi,4(%esp)
32	movl	%eax,8(%esp)
33	movl	%ebx,12(%esp)
34	leal	OPENSSL_ia32cap_P-.L001K512(%ebp),%edx
35	movl	(%edx),%ecx
36	testl	$67108864,%ecx
37	jz	.L002loop_x86
38	movl	4(%edx),%edx
39	movq	(%esi),%mm0
40	andl	$16777216,%ecx
41	movq	8(%esi),%mm1
42	andl	$512,%edx
43	movq	16(%esi),%mm2
44	orl	%edx,%ecx
45	movq	24(%esi),%mm3
46	movq	32(%esi),%mm4
47	movq	40(%esi),%mm5
48	movq	48(%esi),%mm6
49	movq	56(%esi),%mm7
50	cmpl	$16777728,%ecx
51	je	.L003SSSE3
52	subl	$80,%esp
53	jmp	.L004loop_sse2
54.align	16
55.L004loop_sse2:
56	movq	%mm1,8(%esp)
57	movq	%mm2,16(%esp)
58	movq	%mm3,24(%esp)
59	movq	%mm5,40(%esp)
60	movq	%mm6,48(%esp)
61	pxor	%mm1,%mm2
62	movq	%mm7,56(%esp)
63	movq	%mm0,%mm3
64	movl	(%edi),%eax
65	movl	4(%edi),%ebx
66	addl	$8,%edi
67	movl	$15,%edx
68	bswap	%eax
69	bswap	%ebx
70	jmp	.L00500_14_sse2
71.align	16
72.L00500_14_sse2:
73	movd	%eax,%mm1
74	movl	(%edi),%eax
75	movd	%ebx,%mm7
76	movl	4(%edi),%ebx
77	addl	$8,%edi
78	bswap	%eax
79	bswap	%ebx
80	punpckldq	%mm1,%mm7
81	movq	%mm4,%mm1
82	pxor	%mm6,%mm5
83	psrlq	$14,%mm1
84	movq	%mm4,32(%esp)
85	pand	%mm4,%mm5
86	psllq	$23,%mm4
87	movq	%mm3,%mm0
88	movq	%mm7,72(%esp)
89	movq	%mm1,%mm3
90	psrlq	$4,%mm1
91	pxor	%mm6,%mm5
92	pxor	%mm4,%mm3
93	psllq	$23,%mm4
94	pxor	%mm1,%mm3
95	movq	%mm0,(%esp)
96	paddq	%mm5,%mm7
97	pxor	%mm4,%mm3
98	psrlq	$23,%mm1
99	paddq	56(%esp),%mm7
100	pxor	%mm1,%mm3
101	psllq	$4,%mm4
102	paddq	(%ebp),%mm7
103	pxor	%mm4,%mm3
104	movq	24(%esp),%mm4
105	paddq	%mm7,%mm3
106	movq	%mm0,%mm5
107	psrlq	$28,%mm5
108	paddq	%mm3,%mm4
109	movq	%mm0,%mm6
110	movq	%mm5,%mm7
111	psllq	$25,%mm6
112	movq	8(%esp),%mm1
113	psrlq	$6,%mm5
114	pxor	%mm6,%mm7
115	subl	$8,%esp
116	psllq	$5,%mm6
117	pxor	%mm5,%mm7
118	pxor	%mm1,%mm0
119	psrlq	$5,%mm5
120	pxor	%mm6,%mm7
121	pand	%mm0,%mm2
122	psllq	$6,%mm6
123	pxor	%mm5,%mm7
124	pxor	%mm1,%mm2
125	pxor	%mm7,%mm6
126	movq	40(%esp),%mm5
127	paddq	%mm2,%mm3
128	movq	%mm0,%mm2
129	addl	$8,%ebp
130	paddq	%mm6,%mm3
131	movq	48(%esp),%mm6
132	decl	%edx
133	jnz	.L00500_14_sse2
134	movd	%eax,%mm1
135	movd	%ebx,%mm7
136	punpckldq	%mm1,%mm7
137	movq	%mm4,%mm1
138	pxor	%mm6,%mm5
139	psrlq	$14,%mm1
140	movq	%mm4,32(%esp)
141	pand	%mm4,%mm5
142	psllq	$23,%mm4
143	movq	%mm3,%mm0
144	movq	%mm7,72(%esp)
145	movq	%mm1,%mm3
146	psrlq	$4,%mm1
147	pxor	%mm6,%mm5
148	pxor	%mm4,%mm3
149	psllq	$23,%mm4
150	pxor	%mm1,%mm3
151	movq	%mm0,(%esp)
152	paddq	%mm5,%mm7
153	pxor	%mm4,%mm3
154	psrlq	$23,%mm1
155	paddq	56(%esp),%mm7
156	pxor	%mm1,%mm3
157	psllq	$4,%mm4
158	paddq	(%ebp),%mm7
159	pxor	%mm4,%mm3
160	movq	24(%esp),%mm4
161	paddq	%mm7,%mm3
162	movq	%mm0,%mm5
163	psrlq	$28,%mm5
164	paddq	%mm3,%mm4
165	movq	%mm0,%mm6
166	movq	%mm5,%mm7
167	psllq	$25,%mm6
168	movq	8(%esp),%mm1
169	psrlq	$6,%mm5
170	pxor	%mm6,%mm7
171	subl	$8,%esp
172	psllq	$5,%mm6
173	pxor	%mm5,%mm7
174	pxor	%mm1,%mm0
175	psrlq	$5,%mm5
176	pxor	%mm6,%mm7
177	pand	%mm0,%mm2
178	psllq	$6,%mm6
179	pxor	%mm5,%mm7
180	pxor	%mm1,%mm2
181	pxor	%mm7,%mm6
182	movq	192(%esp),%mm7
183	paddq	%mm2,%mm3
184	movq	%mm0,%mm2
185	addl	$8,%ebp
186	paddq	%mm6,%mm3
187	pxor	%mm0,%mm0
188	movl	$32,%edx
189	jmp	.L00616_79_sse2
190.align	16
191.L00616_79_sse2:
192	movq	88(%esp),%mm5
193	movq	%mm7,%mm1
194	psrlq	$1,%mm7
195	movq	%mm5,%mm6
196	psrlq	$6,%mm5
197	psllq	$56,%mm1
198	paddq	%mm3,%mm0
199	movq	%mm7,%mm3
200	psrlq	$6,%mm7
201	pxor	%mm1,%mm3
202	psllq	$7,%mm1
203	pxor	%mm7,%mm3
204	psrlq	$1,%mm7
205	pxor	%mm1,%mm3
206	movq	%mm5,%mm1
207	psrlq	$13,%mm5
208	pxor	%mm3,%mm7
209	psllq	$3,%mm6
210	pxor	%mm5,%mm1
211	paddq	200(%esp),%mm7
212	pxor	%mm6,%mm1
213	psrlq	$42,%mm5
214	paddq	128(%esp),%mm7
215	pxor	%mm5,%mm1
216	psllq	$42,%mm6
217	movq	40(%esp),%mm5
218	pxor	%mm6,%mm1
219	movq	48(%esp),%mm6
220	paddq	%mm1,%mm7
221	movq	%mm4,%mm1
222	pxor	%mm6,%mm5
223	psrlq	$14,%mm1
224	movq	%mm4,32(%esp)
225	pand	%mm4,%mm5
226	psllq	$23,%mm4
227	movq	%mm7,72(%esp)
228	movq	%mm1,%mm3
229	psrlq	$4,%mm1
230	pxor	%mm6,%mm5
231	pxor	%mm4,%mm3
232	psllq	$23,%mm4
233	pxor	%mm1,%mm3
234	movq	%mm0,(%esp)
235	paddq	%mm5,%mm7
236	pxor	%mm4,%mm3
237	psrlq	$23,%mm1
238	paddq	56(%esp),%mm7
239	pxor	%mm1,%mm3
240	psllq	$4,%mm4
241	paddq	(%ebp),%mm7
242	pxor	%mm4,%mm3
243	movq	24(%esp),%mm4
244	paddq	%mm7,%mm3
245	movq	%mm0,%mm5
246	psrlq	$28,%mm5
247	paddq	%mm3,%mm4
248	movq	%mm0,%mm6
249	movq	%mm5,%mm7
250	psllq	$25,%mm6
251	movq	8(%esp),%mm1
252	psrlq	$6,%mm5
253	pxor	%mm6,%mm7
254	subl	$8,%esp
255	psllq	$5,%mm6
256	pxor	%mm5,%mm7
257	pxor	%mm1,%mm0
258	psrlq	$5,%mm5
259	pxor	%mm6,%mm7
260	pand	%mm0,%mm2
261	psllq	$6,%mm6
262	pxor	%mm5,%mm7
263	pxor	%mm1,%mm2
264	pxor	%mm7,%mm6
265	movq	192(%esp),%mm7
266	paddq	%mm6,%mm2
267	addl	$8,%ebp
268	movq	88(%esp),%mm5
269	movq	%mm7,%mm1
270	psrlq	$1,%mm7
271	movq	%mm5,%mm6
272	psrlq	$6,%mm5
273	psllq	$56,%mm1
274	paddq	%mm3,%mm2
275	movq	%mm7,%mm3
276	psrlq	$6,%mm7
277	pxor	%mm1,%mm3
278	psllq	$7,%mm1
279	pxor	%mm7,%mm3
280	psrlq	$1,%mm7
281	pxor	%mm1,%mm3
282	movq	%mm5,%mm1
283	psrlq	$13,%mm5
284	pxor	%mm3,%mm7
285	psllq	$3,%mm6
286	pxor	%mm5,%mm1
287	paddq	200(%esp),%mm7
288	pxor	%mm6,%mm1
289	psrlq	$42,%mm5
290	paddq	128(%esp),%mm7
291	pxor	%mm5,%mm1
292	psllq	$42,%mm6
293	movq	40(%esp),%mm5
294	pxor	%mm6,%mm1
295	movq	48(%esp),%mm6
296	paddq	%mm1,%mm7
297	movq	%mm4,%mm1
298	pxor	%mm6,%mm5
299	psrlq	$14,%mm1
300	movq	%mm4,32(%esp)
301	pand	%mm4,%mm5
302	psllq	$23,%mm4
303	movq	%mm7,72(%esp)
304	movq	%mm1,%mm3
305	psrlq	$4,%mm1
306	pxor	%mm6,%mm5
307	pxor	%mm4,%mm3
308	psllq	$23,%mm4
309	pxor	%mm1,%mm3
310	movq	%mm2,(%esp)
311	paddq	%mm5,%mm7
312	pxor	%mm4,%mm3
313	psrlq	$23,%mm1
314	paddq	56(%esp),%mm7
315	pxor	%mm1,%mm3
316	psllq	$4,%mm4
317	paddq	(%ebp),%mm7
318	pxor	%mm4,%mm3
319	movq	24(%esp),%mm4
320	paddq	%mm7,%mm3
321	movq	%mm2,%mm5
322	psrlq	$28,%mm5
323	paddq	%mm3,%mm4
324	movq	%mm2,%mm6
325	movq	%mm5,%mm7
326	psllq	$25,%mm6
327	movq	8(%esp),%mm1
328	psrlq	$6,%mm5
329	pxor	%mm6,%mm7
330	subl	$8,%esp
331	psllq	$5,%mm6
332	pxor	%mm5,%mm7
333	pxor	%mm1,%mm2
334	psrlq	$5,%mm5
335	pxor	%mm6,%mm7
336	pand	%mm2,%mm0
337	psllq	$6,%mm6
338	pxor	%mm5,%mm7
339	pxor	%mm1,%mm0
340	pxor	%mm7,%mm6
341	movq	192(%esp),%mm7
342	paddq	%mm6,%mm0
343	addl	$8,%ebp
344	decl	%edx
345	jnz	.L00616_79_sse2
346	paddq	%mm3,%mm0
347	movq	8(%esp),%mm1
348	movq	24(%esp),%mm3
349	movq	40(%esp),%mm5
350	movq	48(%esp),%mm6
351	movq	56(%esp),%mm7
352	pxor	%mm1,%mm2
353	paddq	(%esi),%mm0
354	paddq	8(%esi),%mm1
355	paddq	16(%esi),%mm2
356	paddq	24(%esi),%mm3
357	paddq	32(%esi),%mm4
358	paddq	40(%esi),%mm5
359	paddq	48(%esi),%mm6
360	paddq	56(%esi),%mm7
361	movl	$640,%eax
362	movq	%mm0,(%esi)
363	movq	%mm1,8(%esi)
364	movq	%mm2,16(%esi)
365	movq	%mm3,24(%esi)
366	movq	%mm4,32(%esi)
367	movq	%mm5,40(%esi)
368	movq	%mm6,48(%esi)
369	movq	%mm7,56(%esi)
370	leal	(%esp,%eax,1),%esp
371	subl	%eax,%ebp
372	cmpl	88(%esp),%edi
373	jb	.L004loop_sse2
374	movl	92(%esp),%esp
375	emms
376	popl	%edi
377	popl	%esi
378	popl	%ebx
379	popl	%ebp
380	ret
381.align	32
382.L003SSSE3:
383	leal	-64(%esp),%edx
384	subl	$256,%esp
385	movdqa	640(%ebp),%xmm1
386	movdqu	(%edi),%xmm0
387.byte	102,15,56,0,193
388	movdqa	(%ebp),%xmm3
389	movdqa	%xmm1,%xmm2
390	movdqu	16(%edi),%xmm1
391	paddq	%xmm0,%xmm3
392.byte	102,15,56,0,202
393	movdqa	%xmm3,-128(%edx)
394	movdqa	16(%ebp),%xmm4
395	movdqa	%xmm2,%xmm3
396	movdqu	32(%edi),%xmm2
397	paddq	%xmm1,%xmm4
398.byte	102,15,56,0,211
399	movdqa	%xmm4,-112(%edx)
400	movdqa	32(%ebp),%xmm5
401	movdqa	%xmm3,%xmm4
402	movdqu	48(%edi),%xmm3
403	paddq	%xmm2,%xmm5
404.byte	102,15,56,0,220
405	movdqa	%xmm5,-96(%edx)
406	movdqa	48(%ebp),%xmm6
407	movdqa	%xmm4,%xmm5
408	movdqu	64(%edi),%xmm4
409	paddq	%xmm3,%xmm6
410.byte	102,15,56,0,229
411	movdqa	%xmm6,-80(%edx)
412	movdqa	64(%ebp),%xmm7
413	movdqa	%xmm5,%xmm6
414	movdqu	80(%edi),%xmm5
415	paddq	%xmm4,%xmm7
416.byte	102,15,56,0,238
417	movdqa	%xmm7,-64(%edx)
418	movdqa	%xmm0,(%edx)
419	movdqa	80(%ebp),%xmm0
420	movdqa	%xmm6,%xmm7
421	movdqu	96(%edi),%xmm6
422	paddq	%xmm5,%xmm0
423.byte	102,15,56,0,247
424	movdqa	%xmm0,-48(%edx)
425	movdqa	%xmm1,16(%edx)
426	movdqa	96(%ebp),%xmm1
427	movdqa	%xmm7,%xmm0
428	movdqu	112(%edi),%xmm7
429	paddq	%xmm6,%xmm1
430.byte	102,15,56,0,248
431	movdqa	%xmm1,-32(%edx)
432	movdqa	%xmm2,32(%edx)
433	movdqa	112(%ebp),%xmm2
434	movdqa	(%edx),%xmm0
435	paddq	%xmm7,%xmm2
436	movdqa	%xmm2,-16(%edx)
437	nop
438.align	32
439.L007loop_ssse3:
440	movdqa	16(%edx),%xmm2
441	movdqa	%xmm3,48(%edx)
442	leal	128(%ebp),%ebp
443	movq	%mm1,8(%esp)
444	movl	%edi,%ebx
445	movq	%mm2,16(%esp)
446	leal	128(%edi),%edi
447	movq	%mm3,24(%esp)
448	cmpl	%eax,%edi
449	movq	%mm5,40(%esp)
450	cmovbl	%edi,%ebx
451	movq	%mm6,48(%esp)
452	movl	$4,%ecx
453	pxor	%mm1,%mm2
454	movq	%mm7,56(%esp)
455	pxor	%mm3,%mm3
456	jmp	.L00800_47_ssse3
457.align	32
458.L00800_47_ssse3:
459	movdqa	%xmm5,%xmm3
460	movdqa	%xmm2,%xmm1
461.byte	102,15,58,15,208,8
462	movdqa	%xmm4,(%edx)
463.byte	102,15,58,15,220,8
464	movdqa	%xmm2,%xmm4
465	psrlq	$7,%xmm2
466	paddq	%xmm3,%xmm0
467	movdqa	%xmm4,%xmm3
468	psrlq	$1,%xmm4
469	psllq	$56,%xmm3
470	pxor	%xmm4,%xmm2
471	psrlq	$7,%xmm4
472	pxor	%xmm3,%xmm2
473	psllq	$7,%xmm3
474	pxor	%xmm4,%xmm2
475	movdqa	%xmm7,%xmm4
476	pxor	%xmm3,%xmm2
477	movdqa	%xmm7,%xmm3
478	psrlq	$6,%xmm4
479	paddq	%xmm2,%xmm0
480	movdqa	%xmm7,%xmm2
481	psrlq	$19,%xmm3
482	psllq	$3,%xmm2
483	pxor	%xmm3,%xmm4
484	psrlq	$42,%xmm3
485	pxor	%xmm2,%xmm4
486	psllq	$42,%xmm2
487	pxor	%xmm3,%xmm4
488	movdqa	32(%edx),%xmm3
489	pxor	%xmm2,%xmm4
490	movdqa	(%ebp),%xmm2
491	movq	%mm4,%mm1
492	paddq	%xmm4,%xmm0
493	movq	-128(%edx),%mm7
494	pxor	%mm6,%mm5
495	psrlq	$14,%mm1
496	movq	%mm4,32(%esp)
497	paddq	%xmm0,%xmm2
498	pand	%mm4,%mm5
499	psllq	$23,%mm4
500	paddq	%mm3,%mm0
501	movq	%mm1,%mm3
502	psrlq	$4,%mm1
503	pxor	%mm6,%mm5
504	pxor	%mm4,%mm3
505	psllq	$23,%mm4
506	pxor	%mm1,%mm3
507	movq	%mm0,(%esp)
508	paddq	%mm5,%mm7
509	pxor	%mm4,%mm3
510	psrlq	$23,%mm1
511	paddq	56(%esp),%mm7
512	pxor	%mm1,%mm3
513	psllq	$4,%mm4
514	pxor	%mm4,%mm3
515	movq	24(%esp),%mm4
516	paddq	%mm7,%mm3
517	movq	%mm0,%mm5
518	psrlq	$28,%mm5
519	paddq	%mm3,%mm4
520	movq	%mm0,%mm6
521	movq	%mm5,%mm7
522	psllq	$25,%mm6
523	movq	8(%esp),%mm1
524	psrlq	$6,%mm5
525	pxor	%mm6,%mm7
526	psllq	$5,%mm6
527	pxor	%mm5,%mm7
528	pxor	%mm1,%mm0
529	psrlq	$5,%mm5
530	pxor	%mm6,%mm7
531	pand	%mm0,%mm2
532	psllq	$6,%mm6
533	pxor	%mm5,%mm7
534	pxor	%mm1,%mm2
535	pxor	%mm7,%mm6
536	movq	32(%esp),%mm5
537	paddq	%mm6,%mm2
538	movq	40(%esp),%mm6
539	movq	%mm4,%mm1
540	movq	-120(%edx),%mm7
541	pxor	%mm6,%mm5
542	psrlq	$14,%mm1
543	movq	%mm4,24(%esp)
544	pand	%mm4,%mm5
545	psllq	$23,%mm4
546	paddq	%mm3,%mm2
547	movq	%mm1,%mm3
548	psrlq	$4,%mm1
549	pxor	%mm6,%mm5
550	pxor	%mm4,%mm3
551	psllq	$23,%mm4
552	pxor	%mm1,%mm3
553	movq	%mm2,56(%esp)
554	paddq	%mm5,%mm7
555	pxor	%mm4,%mm3
556	psrlq	$23,%mm1
557	paddq	48(%esp),%mm7
558	pxor	%mm1,%mm3
559	psllq	$4,%mm4
560	pxor	%mm4,%mm3
561	movq	16(%esp),%mm4
562	paddq	%mm7,%mm3
563	movq	%mm2,%mm5
564	psrlq	$28,%mm5
565	paddq	%mm3,%mm4
566	movq	%mm2,%mm6
567	movq	%mm5,%mm7
568	psllq	$25,%mm6
569	movq	(%esp),%mm1
570	psrlq	$6,%mm5
571	pxor	%mm6,%mm7
572	psllq	$5,%mm6
573	pxor	%mm5,%mm7
574	pxor	%mm1,%mm2
575	psrlq	$5,%mm5
576	pxor	%mm6,%mm7
577	pand	%mm2,%mm0
578	psllq	$6,%mm6
579	pxor	%mm5,%mm7
580	pxor	%mm1,%mm0
581	pxor	%mm7,%mm6
582	movq	24(%esp),%mm5
583	paddq	%mm6,%mm0
584	movq	32(%esp),%mm6
585	movdqa	%xmm2,-128(%edx)
586	movdqa	%xmm6,%xmm4
587	movdqa	%xmm3,%xmm2
588.byte	102,15,58,15,217,8
589	movdqa	%xmm5,16(%edx)
590.byte	102,15,58,15,229,8
591	movdqa	%xmm3,%xmm5
592	psrlq	$7,%xmm3
593	paddq	%xmm4,%xmm1
594	movdqa	%xmm5,%xmm4
595	psrlq	$1,%xmm5
596	psllq	$56,%xmm4
597	pxor	%xmm5,%xmm3
598	psrlq	$7,%xmm5
599	pxor	%xmm4,%xmm3
600	psllq	$7,%xmm4
601	pxor	%xmm5,%xmm3
602	movdqa	%xmm0,%xmm5
603	pxor	%xmm4,%xmm3
604	movdqa	%xmm0,%xmm4
605	psrlq	$6,%xmm5
606	paddq	%xmm3,%xmm1
607	movdqa	%xmm0,%xmm3
608	psrlq	$19,%xmm4
609	psllq	$3,%xmm3
610	pxor	%xmm4,%xmm5
611	psrlq	$42,%xmm4
612	pxor	%xmm3,%xmm5
613	psllq	$42,%xmm3
614	pxor	%xmm4,%xmm5
615	movdqa	48(%edx),%xmm4
616	pxor	%xmm3,%xmm5
617	movdqa	16(%ebp),%xmm3
618	movq	%mm4,%mm1
619	paddq	%xmm5,%xmm1
620	movq	-112(%edx),%mm7
621	pxor	%mm6,%mm5
622	psrlq	$14,%mm1
623	movq	%mm4,16(%esp)
624	paddq	%xmm1,%xmm3
625	pand	%mm4,%mm5
626	psllq	$23,%mm4
627	paddq	%mm3,%mm0
628	movq	%mm1,%mm3
629	psrlq	$4,%mm1
630	pxor	%mm6,%mm5
631	pxor	%mm4,%mm3
632	psllq	$23,%mm4
633	pxor	%mm1,%mm3
634	movq	%mm0,48(%esp)
635	paddq	%mm5,%mm7
636	pxor	%mm4,%mm3
637	psrlq	$23,%mm1
638	paddq	40(%esp),%mm7
639	pxor	%mm1,%mm3
640	psllq	$4,%mm4
641	pxor	%mm4,%mm3
642	movq	8(%esp),%mm4
643	paddq	%mm7,%mm3
644	movq	%mm0,%mm5
645	psrlq	$28,%mm5
646	paddq	%mm3,%mm4
647	movq	%mm0,%mm6
648	movq	%mm5,%mm7
649	psllq	$25,%mm6
650	movq	56(%esp),%mm1
651	psrlq	$6,%mm5
652	pxor	%mm6,%mm7
653	psllq	$5,%mm6
654	pxor	%mm5,%mm7
655	pxor	%mm1,%mm0
656	psrlq	$5,%mm5
657	pxor	%mm6,%mm7
658	pand	%mm0,%mm2
659	psllq	$6,%mm6
660	pxor	%mm5,%mm7
661	pxor	%mm1,%mm2
662	pxor	%mm7,%mm6
663	movq	16(%esp),%mm5
664	paddq	%mm6,%mm2
665	movq	24(%esp),%mm6
666	movq	%mm4,%mm1
667	movq	-104(%edx),%mm7
668	pxor	%mm6,%mm5
669	psrlq	$14,%mm1
670	movq	%mm4,8(%esp)
671	pand	%mm4,%mm5
672	psllq	$23,%mm4
673	paddq	%mm3,%mm2
674	movq	%mm1,%mm3
675	psrlq	$4,%mm1
676	pxor	%mm6,%mm5
677	pxor	%mm4,%mm3
678	psllq	$23,%mm4
679	pxor	%mm1,%mm3
680	movq	%mm2,40(%esp)
681	paddq	%mm5,%mm7
682	pxor	%mm4,%mm3
683	psrlq	$23,%mm1
684	paddq	32(%esp),%mm7
685	pxor	%mm1,%mm3
686	psllq	$4,%mm4
687	pxor	%mm4,%mm3
688	movq	(%esp),%mm4
689	paddq	%mm7,%mm3
690	movq	%mm2,%mm5
691	psrlq	$28,%mm5
692	paddq	%mm3,%mm4
693	movq	%mm2,%mm6
694	movq	%mm5,%mm7
695	psllq	$25,%mm6
696	movq	48(%esp),%mm1
697	psrlq	$6,%mm5
698	pxor	%mm6,%mm7
699	psllq	$5,%mm6
700	pxor	%mm5,%mm7
701	pxor	%mm1,%mm2
702	psrlq	$5,%mm5
703	pxor	%mm6,%mm7
704	pand	%mm2,%mm0
705	psllq	$6,%mm6
706	pxor	%mm5,%mm7
707	pxor	%mm1,%mm0
708	pxor	%mm7,%mm6
709	movq	8(%esp),%mm5
710	paddq	%mm6,%mm0
711	movq	16(%esp),%mm6
712	movdqa	%xmm3,-112(%edx)
713	movdqa	%xmm7,%xmm5
714	movdqa	%xmm4,%xmm3
715.byte	102,15,58,15,226,8
716	movdqa	%xmm6,32(%edx)
717.byte	102,15,58,15,238,8
718	movdqa	%xmm4,%xmm6
719	psrlq	$7,%xmm4
720	paddq	%xmm5,%xmm2
721	movdqa	%xmm6,%xmm5
722	psrlq	$1,%xmm6
723	psllq	$56,%xmm5
724	pxor	%xmm6,%xmm4
725	psrlq	$7,%xmm6
726	pxor	%xmm5,%xmm4
727	psllq	$7,%xmm5
728	pxor	%xmm6,%xmm4
729	movdqa	%xmm1,%xmm6
730	pxor	%xmm5,%xmm4
731	movdqa	%xmm1,%xmm5
732	psrlq	$6,%xmm6
733	paddq	%xmm4,%xmm2
734	movdqa	%xmm1,%xmm4
735	psrlq	$19,%xmm5
736	psllq	$3,%xmm4
737	pxor	%xmm5,%xmm6
738	psrlq	$42,%xmm5
739	pxor	%xmm4,%xmm6
740	psllq	$42,%xmm4
741	pxor	%xmm5,%xmm6
742	movdqa	(%edx),%xmm5
743	pxor	%xmm4,%xmm6
744	movdqa	32(%ebp),%xmm4
745	movq	%mm4,%mm1
746	paddq	%xmm6,%xmm2
747	movq	-96(%edx),%mm7
748	pxor	%mm6,%mm5
749	psrlq	$14,%mm1
750	movq	%mm4,(%esp)
751	paddq	%xmm2,%xmm4
752	pand	%mm4,%mm5
753	psllq	$23,%mm4
754	paddq	%mm3,%mm0
755	movq	%mm1,%mm3
756	psrlq	$4,%mm1
757	pxor	%mm6,%mm5
758	pxor	%mm4,%mm3
759	psllq	$23,%mm4
760	pxor	%mm1,%mm3
761	movq	%mm0,32(%esp)
762	paddq	%mm5,%mm7
763	pxor	%mm4,%mm3
764	psrlq	$23,%mm1
765	paddq	24(%esp),%mm7
766	pxor	%mm1,%mm3
767	psllq	$4,%mm4
768	pxor	%mm4,%mm3
769	movq	56(%esp),%mm4
770	paddq	%mm7,%mm3
771	movq	%mm0,%mm5
772	psrlq	$28,%mm5
773	paddq	%mm3,%mm4
774	movq	%mm0,%mm6
775	movq	%mm5,%mm7
776	psllq	$25,%mm6
777	movq	40(%esp),%mm1
778	psrlq	$6,%mm5
779	pxor	%mm6,%mm7
780	psllq	$5,%mm6
781	pxor	%mm5,%mm7
782	pxor	%mm1,%mm0
783	psrlq	$5,%mm5
784	pxor	%mm6,%mm7
785	pand	%mm0,%mm2
786	psllq	$6,%mm6
787	pxor	%mm5,%mm7
788	pxor	%mm1,%mm2
789	pxor	%mm7,%mm6
790	movq	(%esp),%mm5
791	paddq	%mm6,%mm2
792	movq	8(%esp),%mm6
793	movq	%mm4,%mm1
794	movq	-88(%edx),%mm7
795	pxor	%mm6,%mm5
796	psrlq	$14,%mm1
797	movq	%mm4,56(%esp)
798	pand	%mm4,%mm5
799	psllq	$23,%mm4
800	paddq	%mm3,%mm2
801	movq	%mm1,%mm3
802	psrlq	$4,%mm1
803	pxor	%mm6,%mm5
804	pxor	%mm4,%mm3
805	psllq	$23,%mm4
806	pxor	%mm1,%mm3
807	movq	%mm2,24(%esp)
808	paddq	%mm5,%mm7
809	pxor	%mm4,%mm3
810	psrlq	$23,%mm1
811	paddq	16(%esp),%mm7
812	pxor	%mm1,%mm3
813	psllq	$4,%mm4
814	pxor	%mm4,%mm3
815	movq	48(%esp),%mm4
816	paddq	%mm7,%mm3
817	movq	%mm2,%mm5
818	psrlq	$28,%mm5
819	paddq	%mm3,%mm4
820	movq	%mm2,%mm6
821	movq	%mm5,%mm7
822	psllq	$25,%mm6
823	movq	32(%esp),%mm1
824	psrlq	$6,%mm5
825	pxor	%mm6,%mm7
826	psllq	$5,%mm6
827	pxor	%mm5,%mm7
828	pxor	%mm1,%mm2
829	psrlq	$5,%mm5
830	pxor	%mm6,%mm7
831	pand	%mm2,%mm0
832	psllq	$6,%mm6
833	pxor	%mm5,%mm7
834	pxor	%mm1,%mm0
835	pxor	%mm7,%mm6
836	movq	56(%esp),%mm5
837	paddq	%mm6,%mm0
838	movq	(%esp),%mm6
839	movdqa	%xmm4,-96(%edx)
840	movdqa	%xmm0,%xmm6
841	movdqa	%xmm5,%xmm4
842.byte	102,15,58,15,235,8
843	movdqa	%xmm7,48(%edx)
844.byte	102,15,58,15,247,8
845	movdqa	%xmm5,%xmm7
846	psrlq	$7,%xmm5
847	paddq	%xmm6,%xmm3
848	movdqa	%xmm7,%xmm6
849	psrlq	$1,%xmm7
850	psllq	$56,%xmm6
851	pxor	%xmm7,%xmm5
852	psrlq	$7,%xmm7
853	pxor	%xmm6,%xmm5
854	psllq	$7,%xmm6
855	pxor	%xmm7,%xmm5
856	movdqa	%xmm2,%xmm7
857	pxor	%xmm6,%xmm5
858	movdqa	%xmm2,%xmm6
859	psrlq	$6,%xmm7
860	paddq	%xmm5,%xmm3
861	movdqa	%xmm2,%xmm5
862	psrlq	$19,%xmm6
863	psllq	$3,%xmm5
864	pxor	%xmm6,%xmm7
865	psrlq	$42,%xmm6
866	pxor	%xmm5,%xmm7
867	psllq	$42,%xmm5
868	pxor	%xmm6,%xmm7
869	movdqa	16(%edx),%xmm6
870	pxor	%xmm5,%xmm7
871	movdqa	48(%ebp),%xmm5
872	movq	%mm4,%mm1
873	paddq	%xmm7,%xmm3
874	movq	-80(%edx),%mm7
875	pxor	%mm6,%mm5
876	psrlq	$14,%mm1
877	movq	%mm4,48(%esp)
878	paddq	%xmm3,%xmm5
879	pand	%mm4,%mm5
880	psllq	$23,%mm4
881	paddq	%mm3,%mm0
882	movq	%mm1,%mm3
883	psrlq	$4,%mm1
884	pxor	%mm6,%mm5
885	pxor	%mm4,%mm3
886	psllq	$23,%mm4
887	pxor	%mm1,%mm3
888	movq	%mm0,16(%esp)
889	paddq	%mm5,%mm7
890	pxor	%mm4,%mm3
891	psrlq	$23,%mm1
892	paddq	8(%esp),%mm7
893	pxor	%mm1,%mm3
894	psllq	$4,%mm4
895	pxor	%mm4,%mm3
896	movq	40(%esp),%mm4
897	paddq	%mm7,%mm3
898	movq	%mm0,%mm5
899	psrlq	$28,%mm5
900	paddq	%mm3,%mm4
901	movq	%mm0,%mm6
902	movq	%mm5,%mm7
903	psllq	$25,%mm6
904	movq	24(%esp),%mm1
905	psrlq	$6,%mm5
906	pxor	%mm6,%mm7
907	psllq	$5,%mm6
908	pxor	%mm5,%mm7
909	pxor	%mm1,%mm0
910	psrlq	$5,%mm5
911	pxor	%mm6,%mm7
912	pand	%mm0,%mm2
913	psllq	$6,%mm6
914	pxor	%mm5,%mm7
915	pxor	%mm1,%mm2
916	pxor	%mm7,%mm6
917	movq	48(%esp),%mm5
918	paddq	%mm6,%mm2
919	movq	56(%esp),%mm6
920	movq	%mm4,%mm1
921	movq	-72(%edx),%mm7
922	pxor	%mm6,%mm5
923	psrlq	$14,%mm1
924	movq	%mm4,40(%esp)
925	pand	%mm4,%mm5
926	psllq	$23,%mm4
927	paddq	%mm3,%mm2
928	movq	%mm1,%mm3
929	psrlq	$4,%mm1
930	pxor	%mm6,%mm5
931	pxor	%mm4,%mm3
932	psllq	$23,%mm4
933	pxor	%mm1,%mm3
934	movq	%mm2,8(%esp)
935	paddq	%mm5,%mm7
936	pxor	%mm4,%mm3
937	psrlq	$23,%mm1
938	paddq	(%esp),%mm7
939	pxor	%mm1,%mm3
940	psllq	$4,%mm4
941	pxor	%mm4,%mm3
942	movq	32(%esp),%mm4
943	paddq	%mm7,%mm3
944	movq	%mm2,%mm5
945	psrlq	$28,%mm5
946	paddq	%mm3,%mm4
947	movq	%mm2,%mm6
948	movq	%mm5,%mm7
949	psllq	$25,%mm6
950	movq	16(%esp),%mm1
951	psrlq	$6,%mm5
952	pxor	%mm6,%mm7
953	psllq	$5,%mm6
954	pxor	%mm5,%mm7
955	pxor	%mm1,%mm2
956	psrlq	$5,%mm5
957	pxor	%mm6,%mm7
958	pand	%mm2,%mm0
959	psllq	$6,%mm6
960	pxor	%mm5,%mm7
961	pxor	%mm1,%mm0
962	pxor	%mm7,%mm6
963	movq	40(%esp),%mm5
964	paddq	%mm6,%mm0
965	movq	48(%esp),%mm6
966	movdqa	%xmm5,-80(%edx)
967	movdqa	%xmm1,%xmm7
968	movdqa	%xmm6,%xmm5
969.byte	102,15,58,15,244,8
970	movdqa	%xmm0,(%edx)
971.byte	102,15,58,15,248,8
972	movdqa	%xmm6,%xmm0
973	psrlq	$7,%xmm6
974	paddq	%xmm7,%xmm4
975	movdqa	%xmm0,%xmm7
976	psrlq	$1,%xmm0
977	psllq	$56,%xmm7
978	pxor	%xmm0,%xmm6
979	psrlq	$7,%xmm0
980	pxor	%xmm7,%xmm6
981	psllq	$7,%xmm7
982	pxor	%xmm0,%xmm6
983	movdqa	%xmm3,%xmm0
984	pxor	%xmm7,%xmm6
985	movdqa	%xmm3,%xmm7
986	psrlq	$6,%xmm0
987	paddq	%xmm6,%xmm4
988	movdqa	%xmm3,%xmm6
989	psrlq	$19,%xmm7
990	psllq	$3,%xmm6
991	pxor	%xmm7,%xmm0
992	psrlq	$42,%xmm7
993	pxor	%xmm6,%xmm0
994	psllq	$42,%xmm6
995	pxor	%xmm7,%xmm0
996	movdqa	32(%edx),%xmm7
997	pxor	%xmm6,%xmm0
998	movdqa	64(%ebp),%xmm6
999	movq	%mm4,%mm1
1000	paddq	%xmm0,%xmm4
1001	movq	-64(%edx),%mm7
1002	pxor	%mm6,%mm5
1003	psrlq	$14,%mm1
1004	movq	%mm4,32(%esp)
1005	paddq	%xmm4,%xmm6
1006	pand	%mm4,%mm5
1007	psllq	$23,%mm4
1008	paddq	%mm3,%mm0
1009	movq	%mm1,%mm3
1010	psrlq	$4,%mm1
1011	pxor	%mm6,%mm5
1012	pxor	%mm4,%mm3
1013	psllq	$23,%mm4
1014	pxor	%mm1,%mm3
1015	movq	%mm0,(%esp)
1016	paddq	%mm5,%mm7
1017	pxor	%mm4,%mm3
1018	psrlq	$23,%mm1
1019	paddq	56(%esp),%mm7
1020	pxor	%mm1,%mm3
1021	psllq	$4,%mm4
1022	pxor	%mm4,%mm3
1023	movq	24(%esp),%mm4
1024	paddq	%mm7,%mm3
1025	movq	%mm0,%mm5
1026	psrlq	$28,%mm5
1027	paddq	%mm3,%mm4
1028	movq	%mm0,%mm6
1029	movq	%mm5,%mm7
1030	psllq	$25,%mm6
1031	movq	8(%esp),%mm1
1032	psrlq	$6,%mm5
1033	pxor	%mm6,%mm7
1034	psllq	$5,%mm6
1035	pxor	%mm5,%mm7
1036	pxor	%mm1,%mm0
1037	psrlq	$5,%mm5
1038	pxor	%mm6,%mm7
1039	pand	%mm0,%mm2
1040	psllq	$6,%mm6
1041	pxor	%mm5,%mm7
1042	pxor	%mm1,%mm2
1043	pxor	%mm7,%mm6
1044	movq	32(%esp),%mm5
1045	paddq	%mm6,%mm2
1046	movq	40(%esp),%mm6
1047	movq	%mm4,%mm1
1048	movq	-56(%edx),%mm7
1049	pxor	%mm6,%mm5
1050	psrlq	$14,%mm1
1051	movq	%mm4,24(%esp)
1052	pand	%mm4,%mm5
1053	psllq	$23,%mm4
1054	paddq	%mm3,%mm2
1055	movq	%mm1,%mm3
1056	psrlq	$4,%mm1
1057	pxor	%mm6,%mm5
1058	pxor	%mm4,%mm3
1059	psllq	$23,%mm4
1060	pxor	%mm1,%mm3
1061	movq	%mm2,56(%esp)
1062	paddq	%mm5,%mm7
1063	pxor	%mm4,%mm3
1064	psrlq	$23,%mm1
1065	paddq	48(%esp),%mm7
1066	pxor	%mm1,%mm3
1067	psllq	$4,%mm4
1068	pxor	%mm4,%mm3
1069	movq	16(%esp),%mm4
1070	paddq	%mm7,%mm3
1071	movq	%mm2,%mm5
1072	psrlq	$28,%mm5
1073	paddq	%mm3,%mm4
1074	movq	%mm2,%mm6
1075	movq	%mm5,%mm7
1076	psllq	$25,%mm6
1077	movq	(%esp),%mm1
1078	psrlq	$6,%mm5
1079	pxor	%mm6,%mm7
1080	psllq	$5,%mm6
1081	pxor	%mm5,%mm7
1082	pxor	%mm1,%mm2
1083	psrlq	$5,%mm5
1084	pxor	%mm6,%mm7
1085	pand	%mm2,%mm0
1086	psllq	$6,%mm6
1087	pxor	%mm5,%mm7
1088	pxor	%mm1,%mm0
1089	pxor	%mm7,%mm6
1090	movq	24(%esp),%mm5
1091	paddq	%mm6,%mm0
1092	movq	32(%esp),%mm6
1093	movdqa	%xmm6,-64(%edx)
1094	movdqa	%xmm2,%xmm0
1095	movdqa	%xmm7,%xmm6
1096.byte	102,15,58,15,253,8
1097	movdqa	%xmm1,16(%edx)
1098.byte	102,15,58,15,193,8
1099	movdqa	%xmm7,%xmm1
1100	psrlq	$7,%xmm7
1101	paddq	%xmm0,%xmm5
1102	movdqa	%xmm1,%xmm0
1103	psrlq	$1,%xmm1
1104	psllq	$56,%xmm0
1105	pxor	%xmm1,%xmm7
1106	psrlq	$7,%xmm1
1107	pxor	%xmm0,%xmm7
1108	psllq	$7,%xmm0
1109	pxor	%xmm1,%xmm7
1110	movdqa	%xmm4,%xmm1
1111	pxor	%xmm0,%xmm7
1112	movdqa	%xmm4,%xmm0
1113	psrlq	$6,%xmm1
1114	paddq	%xmm7,%xmm5
1115	movdqa	%xmm4,%xmm7
1116	psrlq	$19,%xmm0
1117	psllq	$3,%xmm7
1118	pxor	%xmm0,%xmm1
1119	psrlq	$42,%xmm0
1120	pxor	%xmm7,%xmm1
1121	psllq	$42,%xmm7
1122	pxor	%xmm0,%xmm1
1123	movdqa	48(%edx),%xmm0
1124	pxor	%xmm7,%xmm1
1125	movdqa	80(%ebp),%xmm7
1126	movq	%mm4,%mm1
1127	paddq	%xmm1,%xmm5
1128	movq	-48(%edx),%mm7
1129	pxor	%mm6,%mm5
1130	psrlq	$14,%mm1
1131	movq	%mm4,16(%esp)
1132	paddq	%xmm5,%xmm7
1133	pand	%mm4,%mm5
1134	psllq	$23,%mm4
1135	paddq	%mm3,%mm0
1136	movq	%mm1,%mm3
1137	psrlq	$4,%mm1
1138	pxor	%mm6,%mm5
1139	pxor	%mm4,%mm3
1140	psllq	$23,%mm4
1141	pxor	%mm1,%mm3
1142	movq	%mm0,48(%esp)
1143	paddq	%mm5,%mm7
1144	pxor	%mm4,%mm3
1145	psrlq	$23,%mm1
1146	paddq	40(%esp),%mm7
1147	pxor	%mm1,%mm3
1148	psllq	$4,%mm4
1149	pxor	%mm4,%mm3
1150	movq	8(%esp),%mm4
1151	paddq	%mm7,%mm3
1152	movq	%mm0,%mm5
1153	psrlq	$28,%mm5
1154	paddq	%mm3,%mm4
1155	movq	%mm0,%mm6
1156	movq	%mm5,%mm7
1157	psllq	$25,%mm6
1158	movq	56(%esp),%mm1
1159	psrlq	$6,%mm5
1160	pxor	%mm6,%mm7
1161	psllq	$5,%mm6
1162	pxor	%mm5,%mm7
1163	pxor	%mm1,%mm0
1164	psrlq	$5,%mm5
1165	pxor	%mm6,%mm7
1166	pand	%mm0,%mm2
1167	psllq	$6,%mm6
1168	pxor	%mm5,%mm7
1169	pxor	%mm1,%mm2
1170	pxor	%mm7,%mm6
1171	movq	16(%esp),%mm5
1172	paddq	%mm6,%mm2
1173	movq	24(%esp),%mm6
1174	movq	%mm4,%mm1
1175	movq	-40(%edx),%mm7
1176	pxor	%mm6,%mm5
1177	psrlq	$14,%mm1
1178	movq	%mm4,8(%esp)
1179	pand	%mm4,%mm5
1180	psllq	$23,%mm4
1181	paddq	%mm3,%mm2
1182	movq	%mm1,%mm3
1183	psrlq	$4,%mm1
1184	pxor	%mm6,%mm5
1185	pxor	%mm4,%mm3
1186	psllq	$23,%mm4
1187	pxor	%mm1,%mm3
1188	movq	%mm2,40(%esp)
1189	paddq	%mm5,%mm7
1190	pxor	%mm4,%mm3
1191	psrlq	$23,%mm1
1192	paddq	32(%esp),%mm7
1193	pxor	%mm1,%mm3
1194	psllq	$4,%mm4
1195	pxor	%mm4,%mm3
1196	movq	(%esp),%mm4
1197	paddq	%mm7,%mm3
1198	movq	%mm2,%mm5
1199	psrlq	$28,%mm5
1200	paddq	%mm3,%mm4
1201	movq	%mm2,%mm6
1202	movq	%mm5,%mm7
1203	psllq	$25,%mm6
1204	movq	48(%esp),%mm1
1205	psrlq	$6,%mm5
1206	pxor	%mm6,%mm7
1207	psllq	$5,%mm6
1208	pxor	%mm5,%mm7
1209	pxor	%mm1,%mm2
1210	psrlq	$5,%mm5
1211	pxor	%mm6,%mm7
1212	pand	%mm2,%mm0
1213	psllq	$6,%mm6
1214	pxor	%mm5,%mm7
1215	pxor	%mm1,%mm0
1216	pxor	%mm7,%mm6
1217	movq	8(%esp),%mm5
1218	paddq	%mm6,%mm0
1219	movq	16(%esp),%mm6
1220	movdqa	%xmm7,-48(%edx)
1221	movdqa	%xmm3,%xmm1
1222	movdqa	%xmm0,%xmm7
1223.byte	102,15,58,15,198,8
1224	movdqa	%xmm2,32(%edx)
1225.byte	102,15,58,15,202,8
1226	movdqa	%xmm0,%xmm2
1227	psrlq	$7,%xmm0
1228	paddq	%xmm1,%xmm6
1229	movdqa	%xmm2,%xmm1
1230	psrlq	$1,%xmm2
1231	psllq	$56,%xmm1
1232	pxor	%xmm2,%xmm0
1233	psrlq	$7,%xmm2
1234	pxor	%xmm1,%xmm0
1235	psllq	$7,%xmm1
1236	pxor	%xmm2,%xmm0
1237	movdqa	%xmm5,%xmm2
1238	pxor	%xmm1,%xmm0
1239	movdqa	%xmm5,%xmm1
1240	psrlq	$6,%xmm2
1241	paddq	%xmm0,%xmm6
1242	movdqa	%xmm5,%xmm0
1243	psrlq	$19,%xmm1
1244	psllq	$3,%xmm0
1245	pxor	%xmm1,%xmm2
1246	psrlq	$42,%xmm1
1247	pxor	%xmm0,%xmm2
1248	psllq	$42,%xmm0
1249	pxor	%xmm1,%xmm2
1250	movdqa	(%edx),%xmm1
1251	pxor	%xmm0,%xmm2
1252	movdqa	96(%ebp),%xmm0
1253	movq	%mm4,%mm1
1254	paddq	%xmm2,%xmm6
1255	movq	-32(%edx),%mm7
1256	pxor	%mm6,%mm5
1257	psrlq	$14,%mm1
1258	movq	%mm4,(%esp)
1259	paddq	%xmm6,%xmm0
1260	pand	%mm4,%mm5
1261	psllq	$23,%mm4
1262	paddq	%mm3,%mm0
1263	movq	%mm1,%mm3
1264	psrlq	$4,%mm1
1265	pxor	%mm6,%mm5
1266	pxor	%mm4,%mm3
1267	psllq	$23,%mm4
1268	pxor	%mm1,%mm3
1269	movq	%mm0,32(%esp)
1270	paddq	%mm5,%mm7
1271	pxor	%mm4,%mm3
1272	psrlq	$23,%mm1
1273	paddq	24(%esp),%mm7
1274	pxor	%mm1,%mm3
1275	psllq	$4,%mm4
1276	pxor	%mm4,%mm3
1277	movq	56(%esp),%mm4
1278	paddq	%mm7,%mm3
1279	movq	%mm0,%mm5
1280	psrlq	$28,%mm5
1281	paddq	%mm3,%mm4
1282	movq	%mm0,%mm6
1283	movq	%mm5,%mm7
1284	psllq	$25,%mm6
1285	movq	40(%esp),%mm1
1286	psrlq	$6,%mm5
1287	pxor	%mm6,%mm7
1288	psllq	$5,%mm6
1289	pxor	%mm5,%mm7
1290	pxor	%mm1,%mm0
1291	psrlq	$5,%mm5
1292	pxor	%mm6,%mm7
1293	pand	%mm0,%mm2
1294	psllq	$6,%mm6
1295	pxor	%mm5,%mm7
1296	pxor	%mm1,%mm2
1297	pxor	%mm7,%mm6
1298	movq	(%esp),%mm5
1299	paddq	%mm6,%mm2
1300	movq	8(%esp),%mm6
1301	movq	%mm4,%mm1
1302	movq	-24(%edx),%mm7
1303	pxor	%mm6,%mm5
1304	psrlq	$14,%mm1
1305	movq	%mm4,56(%esp)
1306	pand	%mm4,%mm5
1307	psllq	$23,%mm4
1308	paddq	%mm3,%mm2
1309	movq	%mm1,%mm3
1310	psrlq	$4,%mm1
1311	pxor	%mm6,%mm5
1312	pxor	%mm4,%mm3
1313	psllq	$23,%mm4
1314	pxor	%mm1,%mm3
1315	movq	%mm2,24(%esp)
1316	paddq	%mm5,%mm7
1317	pxor	%mm4,%mm3
1318	psrlq	$23,%mm1
1319	paddq	16(%esp),%mm7
1320	pxor	%mm1,%mm3
1321	psllq	$4,%mm4
1322	pxor	%mm4,%mm3
1323	movq	48(%esp),%mm4
1324	paddq	%mm7,%mm3
1325	movq	%mm2,%mm5
1326	psrlq	$28,%mm5
1327	paddq	%mm3,%mm4
1328	movq	%mm2,%mm6
1329	movq	%mm5,%mm7
1330	psllq	$25,%mm6
1331	movq	32(%esp),%mm1
1332	psrlq	$6,%mm5
1333	pxor	%mm6,%mm7
1334	psllq	$5,%mm6
1335	pxor	%mm5,%mm7
1336	pxor	%mm1,%mm2
1337	psrlq	$5,%mm5
1338	pxor	%mm6,%mm7
1339	pand	%mm2,%mm0
1340	psllq	$6,%mm6
1341	pxor	%mm5,%mm7
1342	pxor	%mm1,%mm0
1343	pxor	%mm7,%mm6
1344	movq	56(%esp),%mm5
1345	paddq	%mm6,%mm0
1346	movq	(%esp),%mm6
1347	movdqa	%xmm0,-32(%edx)
1348	movdqa	%xmm4,%xmm2
1349	movdqa	%xmm1,%xmm0
1350.byte	102,15,58,15,207,8
1351	movdqa	%xmm3,48(%edx)
1352.byte	102,15,58,15,211,8
1353	movdqa	%xmm1,%xmm3
1354	psrlq	$7,%xmm1
1355	paddq	%xmm2,%xmm7
1356	movdqa	%xmm3,%xmm2
1357	psrlq	$1,%xmm3
1358	psllq	$56,%xmm2
1359	pxor	%xmm3,%xmm1
1360	psrlq	$7,%xmm3
1361	pxor	%xmm2,%xmm1
1362	psllq	$7,%xmm2
1363	pxor	%xmm3,%xmm1
1364	movdqa	%xmm6,%xmm3
1365	pxor	%xmm2,%xmm1
1366	movdqa	%xmm6,%xmm2
1367	psrlq	$6,%xmm3
1368	paddq	%xmm1,%xmm7
1369	movdqa	%xmm6,%xmm1
1370	psrlq	$19,%xmm2
1371	psllq	$3,%xmm1
1372	pxor	%xmm2,%xmm3
1373	psrlq	$42,%xmm2
1374	pxor	%xmm1,%xmm3
1375	psllq	$42,%xmm1
1376	pxor	%xmm2,%xmm3
1377	movdqa	16(%edx),%xmm2
1378	pxor	%xmm1,%xmm3
1379	movdqa	112(%ebp),%xmm1
1380	movq	%mm4,%mm1
1381	paddq	%xmm3,%xmm7
1382	movq	-16(%edx),%mm7
1383	pxor	%mm6,%mm5
1384	psrlq	$14,%mm1
1385	movq	%mm4,48(%esp)
1386	paddq	%xmm7,%xmm1
1387	pand	%mm4,%mm5
1388	psllq	$23,%mm4
1389	paddq	%mm3,%mm0
1390	movq	%mm1,%mm3
1391	psrlq	$4,%mm1
1392	pxor	%mm6,%mm5
1393	pxor	%mm4,%mm3
1394	psllq	$23,%mm4
1395	pxor	%mm1,%mm3
1396	movq	%mm0,16(%esp)
1397	paddq	%mm5,%mm7
1398	pxor	%mm4,%mm3
1399	psrlq	$23,%mm1
1400	paddq	8(%esp),%mm7
1401	pxor	%mm1,%mm3
1402	psllq	$4,%mm4
1403	pxor	%mm4,%mm3
1404	movq	40(%esp),%mm4
1405	paddq	%mm7,%mm3
1406	movq	%mm0,%mm5
1407	psrlq	$28,%mm5
1408	paddq	%mm3,%mm4
1409	movq	%mm0,%mm6
1410	movq	%mm5,%mm7
1411	psllq	$25,%mm6
1412	movq	24(%esp),%mm1
1413	psrlq	$6,%mm5
1414	pxor	%mm6,%mm7
1415	psllq	$5,%mm6
1416	pxor	%mm5,%mm7
1417	pxor	%mm1,%mm0
1418	psrlq	$5,%mm5
1419	pxor	%mm6,%mm7
1420	pand	%mm0,%mm2
1421	psllq	$6,%mm6
1422	pxor	%mm5,%mm7
1423	pxor	%mm1,%mm2
1424	pxor	%mm7,%mm6
1425	movq	48(%esp),%mm5
1426	paddq	%mm6,%mm2
1427	movq	56(%esp),%mm6
1428	movq	%mm4,%mm1
1429	movq	-8(%edx),%mm7
1430	pxor	%mm6,%mm5
1431	psrlq	$14,%mm1
1432	movq	%mm4,40(%esp)
1433	pand	%mm4,%mm5
1434	psllq	$23,%mm4
1435	paddq	%mm3,%mm2
1436	movq	%mm1,%mm3
1437	psrlq	$4,%mm1
1438	pxor	%mm6,%mm5
1439	pxor	%mm4,%mm3
1440	psllq	$23,%mm4
1441	pxor	%mm1,%mm3
1442	movq	%mm2,8(%esp)
1443	paddq	%mm5,%mm7
1444	pxor	%mm4,%mm3
1445	psrlq	$23,%mm1
1446	paddq	(%esp),%mm7
1447	pxor	%mm1,%mm3
1448	psllq	$4,%mm4
1449	pxor	%mm4,%mm3
1450	movq	32(%esp),%mm4
1451	paddq	%mm7,%mm3
1452	movq	%mm2,%mm5
1453	psrlq	$28,%mm5
1454	paddq	%mm3,%mm4
1455	movq	%mm2,%mm6
1456	movq	%mm5,%mm7
1457	psllq	$25,%mm6
1458	movq	16(%esp),%mm1
1459	psrlq	$6,%mm5
1460	pxor	%mm6,%mm7
1461	psllq	$5,%mm6
1462	pxor	%mm5,%mm7
1463	pxor	%mm1,%mm2
1464	psrlq	$5,%mm5
1465	pxor	%mm6,%mm7
1466	pand	%mm2,%mm0
1467	psllq	$6,%mm6
1468	pxor	%mm5,%mm7
1469	pxor	%mm1,%mm0
1470	pxor	%mm7,%mm6
1471	movq	40(%esp),%mm5
1472	paddq	%mm6,%mm0
1473	movq	48(%esp),%mm6
1474	movdqa	%xmm1,-16(%edx)
1475	leal	128(%ebp),%ebp
1476	decl	%ecx
1477	jnz	.L00800_47_ssse3
1478	movdqa	(%ebp),%xmm1
1479	leal	-640(%ebp),%ebp
1480	movdqu	(%ebx),%xmm0
1481.byte	102,15,56,0,193
1482	movdqa	(%ebp),%xmm3
1483	movdqa	%xmm1,%xmm2
1484	movdqu	16(%ebx),%xmm1
1485	paddq	%xmm0,%xmm3
1486.byte	102,15,56,0,202
1487	movq	%mm4,%mm1
1488	movq	-128(%edx),%mm7
1489	pxor	%mm6,%mm5
1490	psrlq	$14,%mm1
1491	movq	%mm4,32(%esp)
1492	pand	%mm4,%mm5
1493	psllq	$23,%mm4
1494	paddq	%mm3,%mm0
1495	movq	%mm1,%mm3
1496	psrlq	$4,%mm1
1497	pxor	%mm6,%mm5
1498	pxor	%mm4,%mm3
1499	psllq	$23,%mm4
1500	pxor	%mm1,%mm3
1501	movq	%mm0,(%esp)
1502	paddq	%mm5,%mm7
1503	pxor	%mm4,%mm3
1504	psrlq	$23,%mm1
1505	paddq	56(%esp),%mm7
1506	pxor	%mm1,%mm3
1507	psllq	$4,%mm4
1508	pxor	%mm4,%mm3
1509	movq	24(%esp),%mm4
1510	paddq	%mm7,%mm3
1511	movq	%mm0,%mm5
1512	psrlq	$28,%mm5
1513	paddq	%mm3,%mm4
1514	movq	%mm0,%mm6
1515	movq	%mm5,%mm7
1516	psllq	$25,%mm6
1517	movq	8(%esp),%mm1
1518	psrlq	$6,%mm5
1519	pxor	%mm6,%mm7
1520	psllq	$5,%mm6
1521	pxor	%mm5,%mm7
1522	pxor	%mm1,%mm0
1523	psrlq	$5,%mm5
1524	pxor	%mm6,%mm7
1525	pand	%mm0,%mm2
1526	psllq	$6,%mm6
1527	pxor	%mm5,%mm7
1528	pxor	%mm1,%mm2
1529	pxor	%mm7,%mm6
1530	movq	32(%esp),%mm5
1531	paddq	%mm6,%mm2
1532	movq	40(%esp),%mm6
1533	movq	%mm4,%mm1
1534	movq	-120(%edx),%mm7
1535	pxor	%mm6,%mm5
1536	psrlq	$14,%mm1
1537	movq	%mm4,24(%esp)
1538	pand	%mm4,%mm5
1539	psllq	$23,%mm4
1540	paddq	%mm3,%mm2
1541	movq	%mm1,%mm3
1542	psrlq	$4,%mm1
1543	pxor	%mm6,%mm5
1544	pxor	%mm4,%mm3
1545	psllq	$23,%mm4
1546	pxor	%mm1,%mm3
1547	movq	%mm2,56(%esp)
1548	paddq	%mm5,%mm7
1549	pxor	%mm4,%mm3
1550	psrlq	$23,%mm1
1551	paddq	48(%esp),%mm7
1552	pxor	%mm1,%mm3
1553	psllq	$4,%mm4
1554	pxor	%mm4,%mm3
1555	movq	16(%esp),%mm4
1556	paddq	%mm7,%mm3
1557	movq	%mm2,%mm5
1558	psrlq	$28,%mm5
1559	paddq	%mm3,%mm4
1560	movq	%mm2,%mm6
1561	movq	%mm5,%mm7
1562	psllq	$25,%mm6
1563	movq	(%esp),%mm1
1564	psrlq	$6,%mm5
1565	pxor	%mm6,%mm7
1566	psllq	$5,%mm6
1567	pxor	%mm5,%mm7
1568	pxor	%mm1,%mm2
1569	psrlq	$5,%mm5
1570	pxor	%mm6,%mm7
1571	pand	%mm2,%mm0
1572	psllq	$6,%mm6
1573	pxor	%mm5,%mm7
1574	pxor	%mm1,%mm0
1575	pxor	%mm7,%mm6
1576	movq	24(%esp),%mm5
1577	paddq	%mm6,%mm0
1578	movq	32(%esp),%mm6
1579	movdqa	%xmm3,-128(%edx)
1580	movdqa	16(%ebp),%xmm4
1581	movdqa	%xmm2,%xmm3
1582	movdqu	32(%ebx),%xmm2
1583	paddq	%xmm1,%xmm4
1584.byte	102,15,56,0,211
1585	movq	%mm4,%mm1
1586	movq	-112(%edx),%mm7
1587	pxor	%mm6,%mm5
1588	psrlq	$14,%mm1
1589	movq	%mm4,16(%esp)
1590	pand	%mm4,%mm5
1591	psllq	$23,%mm4
1592	paddq	%mm3,%mm0
1593	movq	%mm1,%mm3
1594	psrlq	$4,%mm1
1595	pxor	%mm6,%mm5
1596	pxor	%mm4,%mm3
1597	psllq	$23,%mm4
1598	pxor	%mm1,%mm3
1599	movq	%mm0,48(%esp)
1600	paddq	%mm5,%mm7
1601	pxor	%mm4,%mm3
1602	psrlq	$23,%mm1
1603	paddq	40(%esp),%mm7
1604	pxor	%mm1,%mm3
1605	psllq	$4,%mm4
1606	pxor	%mm4,%mm3
1607	movq	8(%esp),%mm4
1608	paddq	%mm7,%mm3
1609	movq	%mm0,%mm5
1610	psrlq	$28,%mm5
1611	paddq	%mm3,%mm4
1612	movq	%mm0,%mm6
1613	movq	%mm5,%mm7
1614	psllq	$25,%mm6
1615	movq	56(%esp),%mm1
1616	psrlq	$6,%mm5
1617	pxor	%mm6,%mm7
1618	psllq	$5,%mm6
1619	pxor	%mm5,%mm7
1620	pxor	%mm1,%mm0
1621	psrlq	$5,%mm5
1622	pxor	%mm6,%mm7
1623	pand	%mm0,%mm2
1624	psllq	$6,%mm6
1625	pxor	%mm5,%mm7
1626	pxor	%mm1,%mm2
1627	pxor	%mm7,%mm6
1628	movq	16(%esp),%mm5
1629	paddq	%mm6,%mm2
1630	movq	24(%esp),%mm6
1631	movq	%mm4,%mm1
1632	movq	-104(%edx),%mm7
1633	pxor	%mm6,%mm5
1634	psrlq	$14,%mm1
1635	movq	%mm4,8(%esp)
1636	pand	%mm4,%mm5
1637	psllq	$23,%mm4
1638	paddq	%mm3,%mm2
1639	movq	%mm1,%mm3
1640	psrlq	$4,%mm1
1641	pxor	%mm6,%mm5
1642	pxor	%mm4,%mm3
1643	psllq	$23,%mm4
1644	pxor	%mm1,%mm3
1645	movq	%mm2,40(%esp)
1646	paddq	%mm5,%mm7
1647	pxor	%mm4,%mm3
1648	psrlq	$23,%mm1
1649	paddq	32(%esp),%mm7
1650	pxor	%mm1,%mm3
1651	psllq	$4,%mm4
1652	pxor	%mm4,%mm3
1653	movq	(%esp),%mm4
1654	paddq	%mm7,%mm3
1655	movq	%mm2,%mm5
1656	psrlq	$28,%mm5
1657	paddq	%mm3,%mm4
1658	movq	%mm2,%mm6
1659	movq	%mm5,%mm7
1660	psllq	$25,%mm6
1661	movq	48(%esp),%mm1
1662	psrlq	$6,%mm5
1663	pxor	%mm6,%mm7
1664	psllq	$5,%mm6
1665	pxor	%mm5,%mm7
1666	pxor	%mm1,%mm2
1667	psrlq	$5,%mm5
1668	pxor	%mm6,%mm7
1669	pand	%mm2,%mm0
1670	psllq	$6,%mm6
1671	pxor	%mm5,%mm7
1672	pxor	%mm1,%mm0
1673	pxor	%mm7,%mm6
1674	movq	8(%esp),%mm5
1675	paddq	%mm6,%mm0
1676	movq	16(%esp),%mm6
1677	movdqa	%xmm4,-112(%edx)
1678	movdqa	32(%ebp),%xmm5
1679	movdqa	%xmm3,%xmm4
1680	movdqu	48(%ebx),%xmm3
1681	paddq	%xmm2,%xmm5
1682.byte	102,15,56,0,220
1683	movq	%mm4,%mm1
1684	movq	-96(%edx),%mm7
1685	pxor	%mm6,%mm5
1686	psrlq	$14,%mm1
1687	movq	%mm4,(%esp)
1688	pand	%mm4,%mm5
1689	psllq	$23,%mm4
1690	paddq	%mm3,%mm0
1691	movq	%mm1,%mm3
1692	psrlq	$4,%mm1
1693	pxor	%mm6,%mm5
1694	pxor	%mm4,%mm3
1695	psllq	$23,%mm4
1696	pxor	%mm1,%mm3
1697	movq	%mm0,32(%esp)
1698	paddq	%mm5,%mm7
1699	pxor	%mm4,%mm3
1700	psrlq	$23,%mm1
1701	paddq	24(%esp),%mm7
1702	pxor	%mm1,%mm3
1703	psllq	$4,%mm4
1704	pxor	%mm4,%mm3
1705	movq	56(%esp),%mm4
1706	paddq	%mm7,%mm3
1707	movq	%mm0,%mm5
1708	psrlq	$28,%mm5
1709	paddq	%mm3,%mm4
1710	movq	%mm0,%mm6
1711	movq	%mm5,%mm7
1712	psllq	$25,%mm6
1713	movq	40(%esp),%mm1
1714	psrlq	$6,%mm5
1715	pxor	%mm6,%mm7
1716	psllq	$5,%mm6
1717	pxor	%mm5,%mm7
1718	pxor	%mm1,%mm0
1719	psrlq	$5,%mm5
1720	pxor	%mm6,%mm7
1721	pand	%mm0,%mm2
1722	psllq	$6,%mm6
1723	pxor	%mm5,%mm7
1724	pxor	%mm1,%mm2
1725	pxor	%mm7,%mm6
1726	movq	(%esp),%mm5
1727	paddq	%mm6,%mm2
1728	movq	8(%esp),%mm6
1729	movq	%mm4,%mm1
1730	movq	-88(%edx),%mm7
1731	pxor	%mm6,%mm5
1732	psrlq	$14,%mm1
1733	movq	%mm4,56(%esp)
1734	pand	%mm4,%mm5
1735	psllq	$23,%mm4
1736	paddq	%mm3,%mm2
1737	movq	%mm1,%mm3
1738	psrlq	$4,%mm1
1739	pxor	%mm6,%mm5
1740	pxor	%mm4,%mm3
1741	psllq	$23,%mm4
1742	pxor	%mm1,%mm3
1743	movq	%mm2,24(%esp)
1744	paddq	%mm5,%mm7
1745	pxor	%mm4,%mm3
1746	psrlq	$23,%mm1
1747	paddq	16(%esp),%mm7
1748	pxor	%mm1,%mm3
1749	psllq	$4,%mm4
1750	pxor	%mm4,%mm3
1751	movq	48(%esp),%mm4
1752	paddq	%mm7,%mm3
1753	movq	%mm2,%mm5
1754	psrlq	$28,%mm5
1755	paddq	%mm3,%mm4
1756	movq	%mm2,%mm6
1757	movq	%mm5,%mm7
1758	psllq	$25,%mm6
1759	movq	32(%esp),%mm1
1760	psrlq	$6,%mm5
1761	pxor	%mm6,%mm7
1762	psllq	$5,%mm6
1763	pxor	%mm5,%mm7
1764	pxor	%mm1,%mm2
1765	psrlq	$5,%mm5
1766	pxor	%mm6,%mm7
1767	pand	%mm2,%mm0
1768	psllq	$6,%mm6
1769	pxor	%mm5,%mm7
1770	pxor	%mm1,%mm0
1771	pxor	%mm7,%mm6
1772	movq	56(%esp),%mm5
1773	paddq	%mm6,%mm0
1774	movq	(%esp),%mm6
1775	movdqa	%xmm5,-96(%edx)
1776	movdqa	48(%ebp),%xmm6
1777	movdqa	%xmm4,%xmm5
1778	movdqu	64(%ebx),%xmm4
1779	paddq	%xmm3,%xmm6
1780.byte	102,15,56,0,229
1781	movq	%mm4,%mm1
1782	movq	-80(%edx),%mm7
1783	pxor	%mm6,%mm5
1784	psrlq	$14,%mm1
1785	movq	%mm4,48(%esp)
1786	pand	%mm4,%mm5
1787	psllq	$23,%mm4
1788	paddq	%mm3,%mm0
1789	movq	%mm1,%mm3
1790	psrlq	$4,%mm1
1791	pxor	%mm6,%mm5
1792	pxor	%mm4,%mm3
1793	psllq	$23,%mm4
1794	pxor	%mm1,%mm3
1795	movq	%mm0,16(%esp)
1796	paddq	%mm5,%mm7
1797	pxor	%mm4,%mm3
1798	psrlq	$23,%mm1
1799	paddq	8(%esp),%mm7
1800	pxor	%mm1,%mm3
1801	psllq	$4,%mm4
1802	pxor	%mm4,%mm3
1803	movq	40(%esp),%mm4
1804	paddq	%mm7,%mm3
1805	movq	%mm0,%mm5
1806	psrlq	$28,%mm5
1807	paddq	%mm3,%mm4
1808	movq	%mm0,%mm6
1809	movq	%mm5,%mm7
1810	psllq	$25,%mm6
1811	movq	24(%esp),%mm1
1812	psrlq	$6,%mm5
1813	pxor	%mm6,%mm7
1814	psllq	$5,%mm6
1815	pxor	%mm5,%mm7
1816	pxor	%mm1,%mm0
1817	psrlq	$5,%mm5
1818	pxor	%mm6,%mm7
1819	pand	%mm0,%mm2
1820	psllq	$6,%mm6
1821	pxor	%mm5,%mm7
1822	pxor	%mm1,%mm2
1823	pxor	%mm7,%mm6
1824	movq	48(%esp),%mm5
1825	paddq	%mm6,%mm2
1826	movq	56(%esp),%mm6
1827	movq	%mm4,%mm1
1828	movq	-72(%edx),%mm7
1829	pxor	%mm6,%mm5
1830	psrlq	$14,%mm1
1831	movq	%mm4,40(%esp)
1832	pand	%mm4,%mm5
1833	psllq	$23,%mm4
1834	paddq	%mm3,%mm2
1835	movq	%mm1,%mm3
1836	psrlq	$4,%mm1
1837	pxor	%mm6,%mm5
1838	pxor	%mm4,%mm3
1839	psllq	$23,%mm4
1840	pxor	%mm1,%mm3
1841	movq	%mm2,8(%esp)
1842	paddq	%mm5,%mm7
1843	pxor	%mm4,%mm3
1844	psrlq	$23,%mm1
1845	paddq	(%esp),%mm7
1846	pxor	%mm1,%mm3
1847	psllq	$4,%mm4
1848	pxor	%mm4,%mm3
1849	movq	32(%esp),%mm4
1850	paddq	%mm7,%mm3
1851	movq	%mm2,%mm5
1852	psrlq	$28,%mm5
1853	paddq	%mm3,%mm4
1854	movq	%mm2,%mm6
1855	movq	%mm5,%mm7
1856	psllq	$25,%mm6
1857	movq	16(%esp),%mm1
1858	psrlq	$6,%mm5
1859	pxor	%mm6,%mm7
1860	psllq	$5,%mm6
1861	pxor	%mm5,%mm7
1862	pxor	%mm1,%mm2
1863	psrlq	$5,%mm5
1864	pxor	%mm6,%mm7
1865	pand	%mm2,%mm0
1866	psllq	$6,%mm6
1867	pxor	%mm5,%mm7
1868	pxor	%mm1,%mm0
1869	pxor	%mm7,%mm6
1870	movq	40(%esp),%mm5
1871	paddq	%mm6,%mm0
1872	movq	48(%esp),%mm6
1873	movdqa	%xmm6,-80(%edx)
1874	movdqa	64(%ebp),%xmm7
1875	movdqa	%xmm5,%xmm6
1876	movdqu	80(%ebx),%xmm5
1877	paddq	%xmm4,%xmm7
1878.byte	102,15,56,0,238
1879	movq	%mm4,%mm1
1880	movq	-64(%edx),%mm7
1881	pxor	%mm6,%mm5
1882	psrlq	$14,%mm1
1883	movq	%mm4,32(%esp)
1884	pand	%mm4,%mm5
1885	psllq	$23,%mm4
1886	paddq	%mm3,%mm0
1887	movq	%mm1,%mm3
1888	psrlq	$4,%mm1
1889	pxor	%mm6,%mm5
1890	pxor	%mm4,%mm3
1891	psllq	$23,%mm4
1892	pxor	%mm1,%mm3
1893	movq	%mm0,(%esp)
1894	paddq	%mm5,%mm7
1895	pxor	%mm4,%mm3
1896	psrlq	$23,%mm1
1897	paddq	56(%esp),%mm7
1898	pxor	%mm1,%mm3
1899	psllq	$4,%mm4
1900	pxor	%mm4,%mm3
1901	movq	24(%esp),%mm4
1902	paddq	%mm7,%mm3
1903	movq	%mm0,%mm5
1904	psrlq	$28,%mm5
1905	paddq	%mm3,%mm4
1906	movq	%mm0,%mm6
1907	movq	%mm5,%mm7
1908	psllq	$25,%mm6
1909	movq	8(%esp),%mm1
1910	psrlq	$6,%mm5
1911	pxor	%mm6,%mm7
1912	psllq	$5,%mm6
1913	pxor	%mm5,%mm7
1914	pxor	%mm1,%mm0
1915	psrlq	$5,%mm5
1916	pxor	%mm6,%mm7
1917	pand	%mm0,%mm2
1918	psllq	$6,%mm6
1919	pxor	%mm5,%mm7
1920	pxor	%mm1,%mm2
1921	pxor	%mm7,%mm6
1922	movq	32(%esp),%mm5
1923	paddq	%mm6,%mm2
1924	movq	40(%esp),%mm6
1925	movq	%mm4,%mm1
1926	movq	-56(%edx),%mm7
1927	pxor	%mm6,%mm5
1928	psrlq	$14,%mm1
1929	movq	%mm4,24(%esp)
1930	pand	%mm4,%mm5
1931	psllq	$23,%mm4
1932	paddq	%mm3,%mm2
1933	movq	%mm1,%mm3
1934	psrlq	$4,%mm1
1935	pxor	%mm6,%mm5
1936	pxor	%mm4,%mm3
1937	psllq	$23,%mm4
1938	pxor	%mm1,%mm3
1939	movq	%mm2,56(%esp)
1940	paddq	%mm5,%mm7
1941	pxor	%mm4,%mm3
1942	psrlq	$23,%mm1
1943	paddq	48(%esp),%mm7
1944	pxor	%mm1,%mm3
1945	psllq	$4,%mm4
1946	pxor	%mm4,%mm3
1947	movq	16(%esp),%mm4
1948	paddq	%mm7,%mm3
1949	movq	%mm2,%mm5
1950	psrlq	$28,%mm5
1951	paddq	%mm3,%mm4
1952	movq	%mm2,%mm6
1953	movq	%mm5,%mm7
1954	psllq	$25,%mm6
1955	movq	(%esp),%mm1
1956	psrlq	$6,%mm5
1957	pxor	%mm6,%mm7
1958	psllq	$5,%mm6
1959	pxor	%mm5,%mm7
1960	pxor	%mm1,%mm2
1961	psrlq	$5,%mm5
1962	pxor	%mm6,%mm7
1963	pand	%mm2,%mm0
1964	psllq	$6,%mm6
1965	pxor	%mm5,%mm7
1966	pxor	%mm1,%mm0
1967	pxor	%mm7,%mm6
1968	movq	24(%esp),%mm5
1969	paddq	%mm6,%mm0
1970	movq	32(%esp),%mm6
1971	movdqa	%xmm7,-64(%edx)
1972	movdqa	%xmm0,(%edx)
1973	movdqa	80(%ebp),%xmm0
1974	movdqa	%xmm6,%xmm7
1975	movdqu	96(%ebx),%xmm6
1976	paddq	%xmm5,%xmm0
1977.byte	102,15,56,0,247
1978	movq	%mm4,%mm1
1979	movq	-48(%edx),%mm7
1980	pxor	%mm6,%mm5
1981	psrlq	$14,%mm1
1982	movq	%mm4,16(%esp)
1983	pand	%mm4,%mm5
1984	psllq	$23,%mm4
1985	paddq	%mm3,%mm0
1986	movq	%mm1,%mm3
1987	psrlq	$4,%mm1
1988	pxor	%mm6,%mm5
1989	pxor	%mm4,%mm3
1990	psllq	$23,%mm4
1991	pxor	%mm1,%mm3
1992	movq	%mm0,48(%esp)
1993	paddq	%mm5,%mm7
1994	pxor	%mm4,%mm3
1995	psrlq	$23,%mm1
1996	paddq	40(%esp),%mm7
1997	pxor	%mm1,%mm3
1998	psllq	$4,%mm4
1999	pxor	%mm4,%mm3
2000	movq	8(%esp),%mm4
2001	paddq	%mm7,%mm3
2002	movq	%mm0,%mm5
2003	psrlq	$28,%mm5
2004	paddq	%mm3,%mm4
2005	movq	%mm0,%mm6
2006	movq	%mm5,%mm7
2007	psllq	$25,%mm6
2008	movq	56(%esp),%mm1
2009	psrlq	$6,%mm5
2010	pxor	%mm6,%mm7
2011	psllq	$5,%mm6
2012	pxor	%mm5,%mm7
2013	pxor	%mm1,%mm0
2014	psrlq	$5,%mm5
2015	pxor	%mm6,%mm7
2016	pand	%mm0,%mm2
2017	psllq	$6,%mm6
2018	pxor	%mm5,%mm7
2019	pxor	%mm1,%mm2
2020	pxor	%mm7,%mm6
2021	movq	16(%esp),%mm5
2022	paddq	%mm6,%mm2
2023	movq	24(%esp),%mm6
2024	movq	%mm4,%mm1
2025	movq	-40(%edx),%mm7
2026	pxor	%mm6,%mm5
2027	psrlq	$14,%mm1
2028	movq	%mm4,8(%esp)
2029	pand	%mm4,%mm5
2030	psllq	$23,%mm4
2031	paddq	%mm3,%mm2
2032	movq	%mm1,%mm3
2033	psrlq	$4,%mm1
2034	pxor	%mm6,%mm5
2035	pxor	%mm4,%mm3
2036	psllq	$23,%mm4
2037	pxor	%mm1,%mm3
2038	movq	%mm2,40(%esp)
2039	paddq	%mm5,%mm7
2040	pxor	%mm4,%mm3
2041	psrlq	$23,%mm1
2042	paddq	32(%esp),%mm7
2043	pxor	%mm1,%mm3
2044	psllq	$4,%mm4
2045	pxor	%mm4,%mm3
2046	movq	(%esp),%mm4
2047	paddq	%mm7,%mm3
2048	movq	%mm2,%mm5
2049	psrlq	$28,%mm5
2050	paddq	%mm3,%mm4
2051	movq	%mm2,%mm6
2052	movq	%mm5,%mm7
2053	psllq	$25,%mm6
2054	movq	48(%esp),%mm1
2055	psrlq	$6,%mm5
2056	pxor	%mm6,%mm7
2057	psllq	$5,%mm6
2058	pxor	%mm5,%mm7
2059	pxor	%mm1,%mm2
2060	psrlq	$5,%mm5
2061	pxor	%mm6,%mm7
2062	pand	%mm2,%mm0
2063	psllq	$6,%mm6
2064	pxor	%mm5,%mm7
2065	pxor	%mm1,%mm0
2066	pxor	%mm7,%mm6
2067	movq	8(%esp),%mm5
2068	paddq	%mm6,%mm0
2069	movq	16(%esp),%mm6
2070	movdqa	%xmm0,-48(%edx)
2071	movdqa	%xmm1,16(%edx)
2072	movdqa	96(%ebp),%xmm1
2073	movdqa	%xmm7,%xmm0
2074	movdqu	112(%ebx),%xmm7
2075	paddq	%xmm6,%xmm1
2076.byte	102,15,56,0,248
2077	movq	%mm4,%mm1
2078	movq	-32(%edx),%mm7
2079	pxor	%mm6,%mm5
2080	psrlq	$14,%mm1
2081	movq	%mm4,(%esp)
2082	pand	%mm4,%mm5
2083	psllq	$23,%mm4
2084	paddq	%mm3,%mm0
2085	movq	%mm1,%mm3
2086	psrlq	$4,%mm1
2087	pxor	%mm6,%mm5
2088	pxor	%mm4,%mm3
2089	psllq	$23,%mm4
2090	pxor	%mm1,%mm3
2091	movq	%mm0,32(%esp)
2092	paddq	%mm5,%mm7
2093	pxor	%mm4,%mm3
2094	psrlq	$23,%mm1
2095	paddq	24(%esp),%mm7
2096	pxor	%mm1,%mm3
2097	psllq	$4,%mm4
2098	pxor	%mm4,%mm3
2099	movq	56(%esp),%mm4
2100	paddq	%mm7,%mm3
2101	movq	%mm0,%mm5
2102	psrlq	$28,%mm5
2103	paddq	%mm3,%mm4
2104	movq	%mm0,%mm6
2105	movq	%mm5,%mm7
2106	psllq	$25,%mm6
2107	movq	40(%esp),%mm1
2108	psrlq	$6,%mm5
2109	pxor	%mm6,%mm7
2110	psllq	$5,%mm6
2111	pxor	%mm5,%mm7
2112	pxor	%mm1,%mm0
2113	psrlq	$5,%mm5
2114	pxor	%mm6,%mm7
2115	pand	%mm0,%mm2
2116	psllq	$6,%mm6
2117	pxor	%mm5,%mm7
2118	pxor	%mm1,%mm2
2119	pxor	%mm7,%mm6
2120	movq	(%esp),%mm5
2121	paddq	%mm6,%mm2
2122	movq	8(%esp),%mm6
2123	movq	%mm4,%mm1
2124	movq	-24(%edx),%mm7
2125	pxor	%mm6,%mm5
2126	psrlq	$14,%mm1
2127	movq	%mm4,56(%esp)
2128	pand	%mm4,%mm5
2129	psllq	$23,%mm4
2130	paddq	%mm3,%mm2
2131	movq	%mm1,%mm3
2132	psrlq	$4,%mm1
2133	pxor	%mm6,%mm5
2134	pxor	%mm4,%mm3
2135	psllq	$23,%mm4
2136	pxor	%mm1,%mm3
2137	movq	%mm2,24(%esp)
2138	paddq	%mm5,%mm7
2139	pxor	%mm4,%mm3
2140	psrlq	$23,%mm1
2141	paddq	16(%esp),%mm7
2142	pxor	%mm1,%mm3
2143	psllq	$4,%mm4
2144	pxor	%mm4,%mm3
2145	movq	48(%esp),%mm4
2146	paddq	%mm7,%mm3
2147	movq	%mm2,%mm5
2148	psrlq	$28,%mm5
2149	paddq	%mm3,%mm4
2150	movq	%mm2,%mm6
2151	movq	%mm5,%mm7
2152	psllq	$25,%mm6
2153	movq	32(%esp),%mm1
2154	psrlq	$6,%mm5
2155	pxor	%mm6,%mm7
2156	psllq	$5,%mm6
2157	pxor	%mm5,%mm7
2158	pxor	%mm1,%mm2
2159	psrlq	$5,%mm5
2160	pxor	%mm6,%mm7
2161	pand	%mm2,%mm0
2162	psllq	$6,%mm6
2163	pxor	%mm5,%mm7
2164	pxor	%mm1,%mm0
2165	pxor	%mm7,%mm6
2166	movq	56(%esp),%mm5
2167	paddq	%mm6,%mm0
2168	movq	(%esp),%mm6
2169	movdqa	%xmm1,-32(%edx)
2170	movdqa	%xmm2,32(%edx)
2171	movdqa	112(%ebp),%xmm2
2172	movdqa	(%edx),%xmm0
2173	paddq	%xmm7,%xmm2
2174	movq	%mm4,%mm1
2175	movq	-16(%edx),%mm7
2176	pxor	%mm6,%mm5
2177	psrlq	$14,%mm1
2178	movq	%mm4,48(%esp)
2179	pand	%mm4,%mm5
2180	psllq	$23,%mm4
2181	paddq	%mm3,%mm0
2182	movq	%mm1,%mm3
2183	psrlq	$4,%mm1
2184	pxor	%mm6,%mm5
2185	pxor	%mm4,%mm3
2186	psllq	$23,%mm4
2187	pxor	%mm1,%mm3
2188	movq	%mm0,16(%esp)
2189	paddq	%mm5,%mm7
2190	pxor	%mm4,%mm3
2191	psrlq	$23,%mm1
2192	paddq	8(%esp),%mm7
2193	pxor	%mm1,%mm3
2194	psllq	$4,%mm4
2195	pxor	%mm4,%mm3
2196	movq	40(%esp),%mm4
2197	paddq	%mm7,%mm3
2198	movq	%mm0,%mm5
2199	psrlq	$28,%mm5
2200	paddq	%mm3,%mm4
2201	movq	%mm0,%mm6
2202	movq	%mm5,%mm7
2203	psllq	$25,%mm6
2204	movq	24(%esp),%mm1
2205	psrlq	$6,%mm5
2206	pxor	%mm6,%mm7
2207	psllq	$5,%mm6
2208	pxor	%mm5,%mm7
2209	pxor	%mm1,%mm0
2210	psrlq	$5,%mm5
2211	pxor	%mm6,%mm7
2212	pand	%mm0,%mm2
2213	psllq	$6,%mm6
2214	pxor	%mm5,%mm7
2215	pxor	%mm1,%mm2
2216	pxor	%mm7,%mm6
2217	movq	48(%esp),%mm5
2218	paddq	%mm6,%mm2
2219	movq	56(%esp),%mm6
2220	movq	%mm4,%mm1
2221	movq	-8(%edx),%mm7
2222	pxor	%mm6,%mm5
2223	psrlq	$14,%mm1
2224	movq	%mm4,40(%esp)
2225	pand	%mm4,%mm5
2226	psllq	$23,%mm4
2227	paddq	%mm3,%mm2
2228	movq	%mm1,%mm3
2229	psrlq	$4,%mm1
2230	pxor	%mm6,%mm5
2231	pxor	%mm4,%mm3
2232	psllq	$23,%mm4
2233	pxor	%mm1,%mm3
2234	movq	%mm2,8(%esp)
2235	paddq	%mm5,%mm7
2236	pxor	%mm4,%mm3
2237	psrlq	$23,%mm1
2238	paddq	(%esp),%mm7
2239	pxor	%mm1,%mm3
2240	psllq	$4,%mm4
2241	pxor	%mm4,%mm3
2242	movq	32(%esp),%mm4
2243	paddq	%mm7,%mm3
2244	movq	%mm2,%mm5
2245	psrlq	$28,%mm5
2246	paddq	%mm3,%mm4
2247	movq	%mm2,%mm6
2248	movq	%mm5,%mm7
2249	psllq	$25,%mm6
2250	movq	16(%esp),%mm1
2251	psrlq	$6,%mm5
2252	pxor	%mm6,%mm7
2253	psllq	$5,%mm6
2254	pxor	%mm5,%mm7
2255	pxor	%mm1,%mm2
2256	psrlq	$5,%mm5
2257	pxor	%mm6,%mm7
2258	pand	%mm2,%mm0
2259	psllq	$6,%mm6
2260	pxor	%mm5,%mm7
2261	pxor	%mm1,%mm0
2262	pxor	%mm7,%mm6
2263	movq	40(%esp),%mm5
2264	paddq	%mm6,%mm0
2265	movq	48(%esp),%mm6
2266	movdqa	%xmm2,-16(%edx)
2267	movq	8(%esp),%mm1
2268	paddq	%mm3,%mm0
2269	movq	24(%esp),%mm3
2270	movq	56(%esp),%mm7
2271	pxor	%mm1,%mm2
2272	paddq	(%esi),%mm0
2273	paddq	8(%esi),%mm1
2274	paddq	16(%esi),%mm2
2275	paddq	24(%esi),%mm3
2276	paddq	32(%esi),%mm4
2277	paddq	40(%esi),%mm5
2278	paddq	48(%esi),%mm6
2279	paddq	56(%esi),%mm7
2280	movq	%mm0,(%esi)
2281	movq	%mm1,8(%esi)
2282	movq	%mm2,16(%esi)
2283	movq	%mm3,24(%esi)
2284	movq	%mm4,32(%esi)
2285	movq	%mm5,40(%esi)
2286	movq	%mm6,48(%esi)
2287	movq	%mm7,56(%esi)
2288	cmpl	%eax,%edi
2289	jb	.L007loop_ssse3
2290	movl	76(%edx),%esp
2291	emms
2292	popl	%edi
2293	popl	%esi
2294	popl	%ebx
2295	popl	%ebp
2296	ret
2297.align	16
2298.L002loop_x86:
2299	movl	(%edi),%eax
2300	movl	4(%edi),%ebx
2301	movl	8(%edi),%ecx
2302	movl	12(%edi),%edx
2303	bswap	%eax
2304	bswap	%ebx
2305	bswap	%ecx
2306	bswap	%edx
2307	pushl	%eax
2308	pushl	%ebx
2309	pushl	%ecx
2310	pushl	%edx
2311	movl	16(%edi),%eax
2312	movl	20(%edi),%ebx
2313	movl	24(%edi),%ecx
2314	movl	28(%edi),%edx
2315	bswap	%eax
2316	bswap	%ebx
2317	bswap	%ecx
2318	bswap	%edx
2319	pushl	%eax
2320	pushl	%ebx
2321	pushl	%ecx
2322	pushl	%edx
2323	movl	32(%edi),%eax
2324	movl	36(%edi),%ebx
2325	movl	40(%edi),%ecx
2326	movl	44(%edi),%edx
2327	bswap	%eax
2328	bswap	%ebx
2329	bswap	%ecx
2330	bswap	%edx
2331	pushl	%eax
2332	pushl	%ebx
2333	pushl	%ecx
2334	pushl	%edx
2335	movl	48(%edi),%eax
2336	movl	52(%edi),%ebx
2337	movl	56(%edi),%ecx
2338	movl	60(%edi),%edx
2339	bswap	%eax
2340	bswap	%ebx
2341	bswap	%ecx
2342	bswap	%edx
2343	pushl	%eax
2344	pushl	%ebx
2345	pushl	%ecx
2346	pushl	%edx
2347	movl	64(%edi),%eax
2348	movl	68(%edi),%ebx
2349	movl	72(%edi),%ecx
2350	movl	76(%edi),%edx
2351	bswap	%eax
2352	bswap	%ebx
2353	bswap	%ecx
2354	bswap	%edx
2355	pushl	%eax
2356	pushl	%ebx
2357	pushl	%ecx
2358	pushl	%edx
2359	movl	80(%edi),%eax
2360	movl	84(%edi),%ebx
2361	movl	88(%edi),%ecx
2362	movl	92(%edi),%edx
2363	bswap	%eax
2364	bswap	%ebx
2365	bswap	%ecx
2366	bswap	%edx
2367	pushl	%eax
2368	pushl	%ebx
2369	pushl	%ecx
2370	pushl	%edx
2371	movl	96(%edi),%eax
2372	movl	100(%edi),%ebx
2373	movl	104(%edi),%ecx
2374	movl	108(%edi),%edx
2375	bswap	%eax
2376	bswap	%ebx
2377	bswap	%ecx
2378	bswap	%edx
2379	pushl	%eax
2380	pushl	%ebx
2381	pushl	%ecx
2382	pushl	%edx
2383	movl	112(%edi),%eax
2384	movl	116(%edi),%ebx
2385	movl	120(%edi),%ecx
2386	movl	124(%edi),%edx
2387	bswap	%eax
2388	bswap	%ebx
2389	bswap	%ecx
2390	bswap	%edx
2391	pushl	%eax
2392	pushl	%ebx
2393	pushl	%ecx
2394	pushl	%edx
2395	addl	$128,%edi
2396	subl	$72,%esp
2397	movl	%edi,204(%esp)
2398	leal	8(%esp),%edi
2399	movl	$16,%ecx
2400.long	2784229001
2401.align	16
2402.L00900_15_x86:
2403	movl	40(%esp),%ecx
2404	movl	44(%esp),%edx
2405	movl	%ecx,%esi
2406	shrl	$9,%ecx
2407	movl	%edx,%edi
2408	shrl	$9,%edx
2409	movl	%ecx,%ebx
2410	shll	$14,%esi
2411	movl	%edx,%eax
2412	shll	$14,%edi
2413	xorl	%esi,%ebx
2414	shrl	$5,%ecx
2415	xorl	%edi,%eax
2416	shrl	$5,%edx
2417	xorl	%ecx,%eax
2418	shll	$4,%esi
2419	xorl	%edx,%ebx
2420	shll	$4,%edi
2421	xorl	%esi,%ebx
2422	shrl	$4,%ecx
2423	xorl	%edi,%eax
2424	shrl	$4,%edx
2425	xorl	%ecx,%eax
2426	shll	$5,%esi
2427	xorl	%edx,%ebx
2428	shll	$5,%edi
2429	xorl	%esi,%eax
2430	xorl	%edi,%ebx
2431	movl	48(%esp),%ecx
2432	movl	52(%esp),%edx
2433	movl	56(%esp),%esi
2434	movl	60(%esp),%edi
2435	addl	64(%esp),%eax
2436	adcl	68(%esp),%ebx
2437	xorl	%esi,%ecx
2438	xorl	%edi,%edx
2439	andl	40(%esp),%ecx
2440	andl	44(%esp),%edx
2441	addl	192(%esp),%eax
2442	adcl	196(%esp),%ebx
2443	xorl	%esi,%ecx
2444	xorl	%edi,%edx
2445	movl	(%ebp),%esi
2446	movl	4(%ebp),%edi
2447	addl	%ecx,%eax
2448	adcl	%edx,%ebx
2449	movl	32(%esp),%ecx
2450	movl	36(%esp),%edx
2451	addl	%esi,%eax
2452	adcl	%edi,%ebx
2453	movl	%eax,(%esp)
2454	movl	%ebx,4(%esp)
2455	addl	%ecx,%eax
2456	adcl	%edx,%ebx
2457	movl	8(%esp),%ecx
2458	movl	12(%esp),%edx
2459	movl	%eax,32(%esp)
2460	movl	%ebx,36(%esp)
2461	movl	%ecx,%esi
2462	shrl	$2,%ecx
2463	movl	%edx,%edi
2464	shrl	$2,%edx
2465	movl	%ecx,%ebx
2466	shll	$4,%esi
2467	movl	%edx,%eax
2468	shll	$4,%edi
2469	xorl	%esi,%ebx
2470	shrl	$5,%ecx
2471	xorl	%edi,%eax
2472	shrl	$5,%edx
2473	xorl	%ecx,%ebx
2474	shll	$21,%esi
2475	xorl	%edx,%eax
2476	shll	$21,%edi
2477	xorl	%esi,%eax
2478	shrl	$21,%ecx
2479	xorl	%edi,%ebx
2480	shrl	$21,%edx
2481	xorl	%ecx,%eax
2482	shll	$5,%esi
2483	xorl	%edx,%ebx
2484	shll	$5,%edi
2485	xorl	%esi,%eax
2486	xorl	%edi,%ebx
2487	movl	8(%esp),%ecx
2488	movl	12(%esp),%edx
2489	movl	16(%esp),%esi
2490	movl	20(%esp),%edi
2491	addl	(%esp),%eax
2492	adcl	4(%esp),%ebx
2493	orl	%esi,%ecx
2494	orl	%edi,%edx
2495	andl	24(%esp),%ecx
2496	andl	28(%esp),%edx
2497	andl	8(%esp),%esi
2498	andl	12(%esp),%edi
2499	orl	%esi,%ecx
2500	orl	%edi,%edx
2501	addl	%ecx,%eax
2502	adcl	%edx,%ebx
2503	movl	%eax,(%esp)
2504	movl	%ebx,4(%esp)
2505	movb	(%ebp),%dl
2506	subl	$8,%esp
2507	leal	8(%ebp),%ebp
2508	cmpb	$148,%dl
2509	jne	.L00900_15_x86
2510.align	16
2511.L01016_79_x86:
2512	movl	312(%esp),%ecx
2513	movl	316(%esp),%edx
2514	movl	%ecx,%esi
2515	shrl	$1,%ecx
2516	movl	%edx,%edi
2517	shrl	$1,%edx
2518	movl	%ecx,%eax
2519	shll	$24,%esi
2520	movl	%edx,%ebx
2521	shll	$24,%edi
2522	xorl	%esi,%ebx
2523	shrl	$6,%ecx
2524	xorl	%edi,%eax
2525	shrl	$6,%edx
2526	xorl	%ecx,%eax
2527	shll	$7,%esi
2528	xorl	%edx,%ebx
2529	shll	$1,%edi
2530	xorl	%esi,%ebx
2531	shrl	$1,%ecx
2532	xorl	%edi,%eax
2533	shrl	$1,%edx
2534	xorl	%ecx,%eax
2535	shll	$6,%edi
2536	xorl	%edx,%ebx
2537	xorl	%edi,%eax
2538	movl	%eax,(%esp)
2539	movl	%ebx,4(%esp)
2540	movl	208(%esp),%ecx
2541	movl	212(%esp),%edx
2542	movl	%ecx,%esi
2543	shrl	$6,%ecx
2544	movl	%edx,%edi
2545	shrl	$6,%edx
2546	movl	%ecx,%eax
2547	shll	$3,%esi
2548	movl	%edx,%ebx
2549	shll	$3,%edi
2550	xorl	%esi,%eax
2551	shrl	$13,%ecx
2552	xorl	%edi,%ebx
2553	shrl	$13,%edx
2554	xorl	%ecx,%eax
2555	shll	$10,%esi
2556	xorl	%edx,%ebx
2557	shll	$10,%edi
2558	xorl	%esi,%ebx
2559	shrl	$10,%ecx
2560	xorl	%edi,%eax
2561	shrl	$10,%edx
2562	xorl	%ecx,%ebx
2563	shll	$13,%edi
2564	xorl	%edx,%eax
2565	xorl	%edi,%eax
2566	movl	320(%esp),%ecx
2567	movl	324(%esp),%edx
2568	addl	(%esp),%eax
2569	adcl	4(%esp),%ebx
2570	movl	248(%esp),%esi
2571	movl	252(%esp),%edi
2572	addl	%ecx,%eax
2573	adcl	%edx,%ebx
2574	addl	%esi,%eax
2575	adcl	%edi,%ebx
2576	movl	%eax,192(%esp)
2577	movl	%ebx,196(%esp)
2578	movl	40(%esp),%ecx
2579	movl	44(%esp),%edx
2580	movl	%ecx,%esi
2581	shrl	$9,%ecx
2582	movl	%edx,%edi
2583	shrl	$9,%edx
2584	movl	%ecx,%ebx
2585	shll	$14,%esi
2586	movl	%edx,%eax
2587	shll	$14,%edi
2588	xorl	%esi,%ebx
2589	shrl	$5,%ecx
2590	xorl	%edi,%eax
2591	shrl	$5,%edx
2592	xorl	%ecx,%eax
2593	shll	$4,%esi
2594	xorl	%edx,%ebx
2595	shll	$4,%edi
2596	xorl	%esi,%ebx
2597	shrl	$4,%ecx
2598	xorl	%edi,%eax
2599	shrl	$4,%edx
2600	xorl	%ecx,%eax
2601	shll	$5,%esi
2602	xorl	%edx,%ebx
2603	shll	$5,%edi
2604	xorl	%esi,%eax
2605	xorl	%edi,%ebx
2606	movl	48(%esp),%ecx
2607	movl	52(%esp),%edx
2608	movl	56(%esp),%esi
2609	movl	60(%esp),%edi
2610	addl	64(%esp),%eax
2611	adcl	68(%esp),%ebx
2612	xorl	%esi,%ecx
2613	xorl	%edi,%edx
2614	andl	40(%esp),%ecx
2615	andl	44(%esp),%edx
2616	addl	192(%esp),%eax
2617	adcl	196(%esp),%ebx
2618	xorl	%esi,%ecx
2619	xorl	%edi,%edx
2620	movl	(%ebp),%esi
2621	movl	4(%ebp),%edi
2622	addl	%ecx,%eax
2623	adcl	%edx,%ebx
2624	movl	32(%esp),%ecx
2625	movl	36(%esp),%edx
2626	addl	%esi,%eax
2627	adcl	%edi,%ebx
2628	movl	%eax,(%esp)
2629	movl	%ebx,4(%esp)
2630	addl	%ecx,%eax
2631	adcl	%edx,%ebx
2632	movl	8(%esp),%ecx
2633	movl	12(%esp),%edx
2634	movl	%eax,32(%esp)
2635	movl	%ebx,36(%esp)
2636	movl	%ecx,%esi
2637	shrl	$2,%ecx
2638	movl	%edx,%edi
2639	shrl	$2,%edx
2640	movl	%ecx,%ebx
2641	shll	$4,%esi
2642	movl	%edx,%eax
2643	shll	$4,%edi
2644	xorl	%esi,%ebx
2645	shrl	$5,%ecx
2646	xorl	%edi,%eax
2647	shrl	$5,%edx
2648	xorl	%ecx,%ebx
2649	shll	$21,%esi
2650	xorl	%edx,%eax
2651	shll	$21,%edi
2652	xorl	%esi,%eax
2653	shrl	$21,%ecx
2654	xorl	%edi,%ebx
2655	shrl	$21,%edx
2656	xorl	%ecx,%eax
2657	shll	$5,%esi
2658	xorl	%edx,%ebx
2659	shll	$5,%edi
2660	xorl	%esi,%eax
2661	xorl	%edi,%ebx
2662	movl	8(%esp),%ecx
2663	movl	12(%esp),%edx
2664	movl	16(%esp),%esi
2665	movl	20(%esp),%edi
2666	addl	(%esp),%eax
2667	adcl	4(%esp),%ebx
2668	orl	%esi,%ecx
2669	orl	%edi,%edx
2670	andl	24(%esp),%ecx
2671	andl	28(%esp),%edx
2672	andl	8(%esp),%esi
2673	andl	12(%esp),%edi
2674	orl	%esi,%ecx
2675	orl	%edi,%edx
2676	addl	%ecx,%eax
2677	adcl	%edx,%ebx
2678	movl	%eax,(%esp)
2679	movl	%ebx,4(%esp)
2680	movb	(%ebp),%dl
2681	subl	$8,%esp
2682	leal	8(%ebp),%ebp
2683	cmpb	$23,%dl
2684	jne	.L01016_79_x86
2685	movl	840(%esp),%esi
2686	movl	844(%esp),%edi
2687	movl	(%esi),%eax
2688	movl	4(%esi),%ebx
2689	movl	8(%esi),%ecx
2690	movl	12(%esi),%edx
2691	addl	8(%esp),%eax
2692	adcl	12(%esp),%ebx
2693	movl	%eax,(%esi)
2694	movl	%ebx,4(%esi)
2695	addl	16(%esp),%ecx
2696	adcl	20(%esp),%edx
2697	movl	%ecx,8(%esi)
2698	movl	%edx,12(%esi)
2699	movl	16(%esi),%eax
2700	movl	20(%esi),%ebx
2701	movl	24(%esi),%ecx
2702	movl	28(%esi),%edx
2703	addl	24(%esp),%eax
2704	adcl	28(%esp),%ebx
2705	movl	%eax,16(%esi)
2706	movl	%ebx,20(%esi)
2707	addl	32(%esp),%ecx
2708	adcl	36(%esp),%edx
2709	movl	%ecx,24(%esi)
2710	movl	%edx,28(%esi)
2711	movl	32(%esi),%eax
2712	movl	36(%esi),%ebx
2713	movl	40(%esi),%ecx
2714	movl	44(%esi),%edx
2715	addl	40(%esp),%eax
2716	adcl	44(%esp),%ebx
2717	movl	%eax,32(%esi)
2718	movl	%ebx,36(%esi)
2719	addl	48(%esp),%ecx
2720	adcl	52(%esp),%edx
2721	movl	%ecx,40(%esi)
2722	movl	%edx,44(%esi)
2723	movl	48(%esi),%eax
2724	movl	52(%esi),%ebx
2725	movl	56(%esi),%ecx
2726	movl	60(%esi),%edx
2727	addl	56(%esp),%eax
2728	adcl	60(%esp),%ebx
2729	movl	%eax,48(%esi)
2730	movl	%ebx,52(%esi)
2731	addl	64(%esp),%ecx
2732	adcl	68(%esp),%edx
2733	movl	%ecx,56(%esi)
2734	movl	%edx,60(%esi)
2735	addl	$840,%esp
2736	subl	$640,%ebp
2737	cmpl	8(%esp),%edi
2738	jb	.L002loop_x86
2739	movl	12(%esp),%esp
2740	popl	%edi
2741	popl	%esi
2742	popl	%ebx
2743	popl	%ebp
2744	ret
2745.align	64
2746.L001K512:
2747.long	3609767458,1116352408
2748.long	602891725,1899447441
2749.long	3964484399,3049323471
2750.long	2173295548,3921009573
2751.long	4081628472,961987163
2752.long	3053834265,1508970993
2753.long	2937671579,2453635748
2754.long	3664609560,2870763221
2755.long	2734883394,3624381080
2756.long	1164996542,310598401
2757.long	1323610764,607225278
2758.long	3590304994,1426881987
2759.long	4068182383,1925078388
2760.long	991336113,2162078206
2761.long	633803317,2614888103
2762.long	3479774868,3248222580
2763.long	2666613458,3835390401
2764.long	944711139,4022224774
2765.long	2341262773,264347078
2766.long	2007800933,604807628
2767.long	1495990901,770255983
2768.long	1856431235,1249150122
2769.long	3175218132,1555081692
2770.long	2198950837,1996064986
2771.long	3999719339,2554220882
2772.long	766784016,2821834349
2773.long	2566594879,2952996808
2774.long	3203337956,3210313671
2775.long	1034457026,3336571891
2776.long	2466948901,3584528711
2777.long	3758326383,113926993
2778.long	168717936,338241895
2779.long	1188179964,666307205
2780.long	1546045734,773529912
2781.long	1522805485,1294757372
2782.long	2643833823,1396182291
2783.long	2343527390,1695183700
2784.long	1014477480,1986661051
2785.long	1206759142,2177026350
2786.long	344077627,2456956037
2787.long	1290863460,2730485921
2788.long	3158454273,2820302411
2789.long	3505952657,3259730800
2790.long	106217008,3345764771
2791.long	3606008344,3516065817
2792.long	1432725776,3600352804
2793.long	1467031594,4094571909
2794.long	851169720,275423344
2795.long	3100823752,430227734
2796.long	1363258195,506948616
2797.long	3750685593,659060556
2798.long	3785050280,883997877
2799.long	3318307427,958139571
2800.long	3812723403,1322822218
2801.long	2003034995,1537002063
2802.long	3602036899,1747873779
2803.long	1575990012,1955562222
2804.long	1125592928,2024104815
2805.long	2716904306,2227730452
2806.long	442776044,2361852424
2807.long	593698344,2428436474
2808.long	3733110249,2756734187
2809.long	2999351573,3204031479
2810.long	3815920427,3329325298
2811.long	3928383900,3391569614
2812.long	566280711,3515267271
2813.long	3454069534,3940187606
2814.long	4000239992,4118630271
2815.long	1914138554,116418474
2816.long	2731055270,174292421
2817.long	3203993006,289380356
2818.long	320620315,460393269
2819.long	587496836,685471733
2820.long	1086792851,852142971
2821.long	365543100,1017036298
2822.long	2618297676,1126000580
2823.long	3409855158,1288033470
2824.long	4234509866,1501505948
2825.long	987167468,1607167915
2826.long	1246189591,1816402316
2827.long	67438087,66051
2828.long	202182159,134810123
2829.size	sha512_block_data_order,.-.L_sha512_block_data_order_begin
2830.byte	83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97
2831.byte	110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
2832.byte	67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
2833.byte	112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
2834.byte	62,0
2835.comm	OPENSSL_ia32cap_P,16,4
2836
2837	.section ".note.gnu.property", "a"
2838	.p2align 2
2839	.long 1f - 0f
2840	.long 4f - 1f
2841	.long 5
28420:
2843	.asciz "GNU"
28441:
2845	.p2align 2
2846	.long 0xc0000002
2847	.long 3f - 2f
28482:
2849	.long 3
28503:
2851	.p2align 2
28524:
2853#else
2854.text
2855.globl	sha512_block_data_order
2856.type	sha512_block_data_order,@function
2857.align	16
2858sha512_block_data_order:
2859.L_sha512_block_data_order_begin:
2860	#ifdef __CET__
2861
2862.byte	243,15,30,251
2863	#endif
2864
2865	pushl	%ebp
2866	pushl	%ebx
2867	pushl	%esi
2868	pushl	%edi
2869	movl	20(%esp),%esi
2870	movl	24(%esp),%edi
2871	movl	28(%esp),%eax
2872	movl	%esp,%ebx
2873	call	.L000pic_point
2874.L000pic_point:
2875	popl	%ebp
2876	leal	.L001K512-.L000pic_point(%ebp),%ebp
2877	subl	$16,%esp
2878	andl	$-64,%esp
2879	shll	$7,%eax
2880	addl	%edi,%eax
2881	movl	%esi,(%esp)
2882	movl	%edi,4(%esp)
2883	movl	%eax,8(%esp)
2884	movl	%ebx,12(%esp)
2885	leal	OPENSSL_ia32cap_P,%edx
2886	movl	(%edx),%ecx
2887	testl	$67108864,%ecx
2888	jz	.L002loop_x86
2889	movl	4(%edx),%edx
2890	movq	(%esi),%mm0
2891	andl	$16777216,%ecx
2892	movq	8(%esi),%mm1
2893	andl	$512,%edx
2894	movq	16(%esi),%mm2
2895	orl	%edx,%ecx
2896	movq	24(%esi),%mm3
2897	movq	32(%esi),%mm4
2898	movq	40(%esi),%mm5
2899	movq	48(%esi),%mm6
2900	movq	56(%esi),%mm7
2901	cmpl	$16777728,%ecx
2902	je	.L003SSSE3
2903	subl	$80,%esp
2904	jmp	.L004loop_sse2
2905.align	16
2906.L004loop_sse2:
2907	movq	%mm1,8(%esp)
2908	movq	%mm2,16(%esp)
2909	movq	%mm3,24(%esp)
2910	movq	%mm5,40(%esp)
2911	movq	%mm6,48(%esp)
2912	pxor	%mm1,%mm2
2913	movq	%mm7,56(%esp)
2914	movq	%mm0,%mm3
2915	movl	(%edi),%eax
2916	movl	4(%edi),%ebx
2917	addl	$8,%edi
2918	movl	$15,%edx
2919	bswap	%eax
2920	bswap	%ebx
2921	jmp	.L00500_14_sse2
2922.align	16
2923.L00500_14_sse2:
2924	movd	%eax,%mm1
2925	movl	(%edi),%eax
2926	movd	%ebx,%mm7
2927	movl	4(%edi),%ebx
2928	addl	$8,%edi
2929	bswap	%eax
2930	bswap	%ebx
2931	punpckldq	%mm1,%mm7
2932	movq	%mm4,%mm1
2933	pxor	%mm6,%mm5
2934	psrlq	$14,%mm1
2935	movq	%mm4,32(%esp)
2936	pand	%mm4,%mm5
2937	psllq	$23,%mm4
2938	movq	%mm3,%mm0
2939	movq	%mm7,72(%esp)
2940	movq	%mm1,%mm3
2941	psrlq	$4,%mm1
2942	pxor	%mm6,%mm5
2943	pxor	%mm4,%mm3
2944	psllq	$23,%mm4
2945	pxor	%mm1,%mm3
2946	movq	%mm0,(%esp)
2947	paddq	%mm5,%mm7
2948	pxor	%mm4,%mm3
2949	psrlq	$23,%mm1
2950	paddq	56(%esp),%mm7
2951	pxor	%mm1,%mm3
2952	psllq	$4,%mm4
2953	paddq	(%ebp),%mm7
2954	pxor	%mm4,%mm3
2955	movq	24(%esp),%mm4
2956	paddq	%mm7,%mm3
2957	movq	%mm0,%mm5
2958	psrlq	$28,%mm5
2959	paddq	%mm3,%mm4
2960	movq	%mm0,%mm6
2961	movq	%mm5,%mm7
2962	psllq	$25,%mm6
2963	movq	8(%esp),%mm1
2964	psrlq	$6,%mm5
2965	pxor	%mm6,%mm7
2966	subl	$8,%esp
2967	psllq	$5,%mm6
2968	pxor	%mm5,%mm7
2969	pxor	%mm1,%mm0
2970	psrlq	$5,%mm5
2971	pxor	%mm6,%mm7
2972	pand	%mm0,%mm2
2973	psllq	$6,%mm6
2974	pxor	%mm5,%mm7
2975	pxor	%mm1,%mm2
2976	pxor	%mm7,%mm6
2977	movq	40(%esp),%mm5
2978	paddq	%mm2,%mm3
2979	movq	%mm0,%mm2
2980	addl	$8,%ebp
2981	paddq	%mm6,%mm3
2982	movq	48(%esp),%mm6
2983	decl	%edx
2984	jnz	.L00500_14_sse2
2985	movd	%eax,%mm1
2986	movd	%ebx,%mm7
2987	punpckldq	%mm1,%mm7
2988	movq	%mm4,%mm1
2989	pxor	%mm6,%mm5
2990	psrlq	$14,%mm1
2991	movq	%mm4,32(%esp)
2992	pand	%mm4,%mm5
2993	psllq	$23,%mm4
2994	movq	%mm3,%mm0
2995	movq	%mm7,72(%esp)
2996	movq	%mm1,%mm3
2997	psrlq	$4,%mm1
2998	pxor	%mm6,%mm5
2999	pxor	%mm4,%mm3
3000	psllq	$23,%mm4
3001	pxor	%mm1,%mm3
3002	movq	%mm0,(%esp)
3003	paddq	%mm5,%mm7
3004	pxor	%mm4,%mm3
3005	psrlq	$23,%mm1
3006	paddq	56(%esp),%mm7
3007	pxor	%mm1,%mm3
3008	psllq	$4,%mm4
3009	paddq	(%ebp),%mm7
3010	pxor	%mm4,%mm3
3011	movq	24(%esp),%mm4
3012	paddq	%mm7,%mm3
3013	movq	%mm0,%mm5
3014	psrlq	$28,%mm5
3015	paddq	%mm3,%mm4
3016	movq	%mm0,%mm6
3017	movq	%mm5,%mm7
3018	psllq	$25,%mm6
3019	movq	8(%esp),%mm1
3020	psrlq	$6,%mm5
3021	pxor	%mm6,%mm7
3022	subl	$8,%esp
3023	psllq	$5,%mm6
3024	pxor	%mm5,%mm7
3025	pxor	%mm1,%mm0
3026	psrlq	$5,%mm5
3027	pxor	%mm6,%mm7
3028	pand	%mm0,%mm2
3029	psllq	$6,%mm6
3030	pxor	%mm5,%mm7
3031	pxor	%mm1,%mm2
3032	pxor	%mm7,%mm6
3033	movq	192(%esp),%mm7
3034	paddq	%mm2,%mm3
3035	movq	%mm0,%mm2
3036	addl	$8,%ebp
3037	paddq	%mm6,%mm3
3038	pxor	%mm0,%mm0
3039	movl	$32,%edx
3040	jmp	.L00616_79_sse2
3041.align	16
3042.L00616_79_sse2:
3043	movq	88(%esp),%mm5
3044	movq	%mm7,%mm1
3045	psrlq	$1,%mm7
3046	movq	%mm5,%mm6
3047	psrlq	$6,%mm5
3048	psllq	$56,%mm1
3049	paddq	%mm3,%mm0
3050	movq	%mm7,%mm3
3051	psrlq	$6,%mm7
3052	pxor	%mm1,%mm3
3053	psllq	$7,%mm1
3054	pxor	%mm7,%mm3
3055	psrlq	$1,%mm7
3056	pxor	%mm1,%mm3
3057	movq	%mm5,%mm1
3058	psrlq	$13,%mm5
3059	pxor	%mm3,%mm7
3060	psllq	$3,%mm6
3061	pxor	%mm5,%mm1
3062	paddq	200(%esp),%mm7
3063	pxor	%mm6,%mm1
3064	psrlq	$42,%mm5
3065	paddq	128(%esp),%mm7
3066	pxor	%mm5,%mm1
3067	psllq	$42,%mm6
3068	movq	40(%esp),%mm5
3069	pxor	%mm6,%mm1
3070	movq	48(%esp),%mm6
3071	paddq	%mm1,%mm7
3072	movq	%mm4,%mm1
3073	pxor	%mm6,%mm5
3074	psrlq	$14,%mm1
3075	movq	%mm4,32(%esp)
3076	pand	%mm4,%mm5
3077	psllq	$23,%mm4
3078	movq	%mm7,72(%esp)
3079	movq	%mm1,%mm3
3080	psrlq	$4,%mm1
3081	pxor	%mm6,%mm5
3082	pxor	%mm4,%mm3
3083	psllq	$23,%mm4
3084	pxor	%mm1,%mm3
3085	movq	%mm0,(%esp)
3086	paddq	%mm5,%mm7
3087	pxor	%mm4,%mm3
3088	psrlq	$23,%mm1
3089	paddq	56(%esp),%mm7
3090	pxor	%mm1,%mm3
3091	psllq	$4,%mm4
3092	paddq	(%ebp),%mm7
3093	pxor	%mm4,%mm3
3094	movq	24(%esp),%mm4
3095	paddq	%mm7,%mm3
3096	movq	%mm0,%mm5
3097	psrlq	$28,%mm5
3098	paddq	%mm3,%mm4
3099	movq	%mm0,%mm6
3100	movq	%mm5,%mm7
3101	psllq	$25,%mm6
3102	movq	8(%esp),%mm1
3103	psrlq	$6,%mm5
3104	pxor	%mm6,%mm7
3105	subl	$8,%esp
3106	psllq	$5,%mm6
3107	pxor	%mm5,%mm7
3108	pxor	%mm1,%mm0
3109	psrlq	$5,%mm5
3110	pxor	%mm6,%mm7
3111	pand	%mm0,%mm2
3112	psllq	$6,%mm6
3113	pxor	%mm5,%mm7
3114	pxor	%mm1,%mm2
3115	pxor	%mm7,%mm6
3116	movq	192(%esp),%mm7
3117	paddq	%mm6,%mm2
3118	addl	$8,%ebp
3119	movq	88(%esp),%mm5
3120	movq	%mm7,%mm1
3121	psrlq	$1,%mm7
3122	movq	%mm5,%mm6
3123	psrlq	$6,%mm5
3124	psllq	$56,%mm1
3125	paddq	%mm3,%mm2
3126	movq	%mm7,%mm3
3127	psrlq	$6,%mm7
3128	pxor	%mm1,%mm3
3129	psllq	$7,%mm1
3130	pxor	%mm7,%mm3
3131	psrlq	$1,%mm7
3132	pxor	%mm1,%mm3
3133	movq	%mm5,%mm1
3134	psrlq	$13,%mm5
3135	pxor	%mm3,%mm7
3136	psllq	$3,%mm6
3137	pxor	%mm5,%mm1
3138	paddq	200(%esp),%mm7
3139	pxor	%mm6,%mm1
3140	psrlq	$42,%mm5
3141	paddq	128(%esp),%mm7
3142	pxor	%mm5,%mm1
3143	psllq	$42,%mm6
3144	movq	40(%esp),%mm5
3145	pxor	%mm6,%mm1
3146	movq	48(%esp),%mm6
3147	paddq	%mm1,%mm7
3148	movq	%mm4,%mm1
3149	pxor	%mm6,%mm5
3150	psrlq	$14,%mm1
3151	movq	%mm4,32(%esp)
3152	pand	%mm4,%mm5
3153	psllq	$23,%mm4
3154	movq	%mm7,72(%esp)
3155	movq	%mm1,%mm3
3156	psrlq	$4,%mm1
3157	pxor	%mm6,%mm5
3158	pxor	%mm4,%mm3
3159	psllq	$23,%mm4
3160	pxor	%mm1,%mm3
3161	movq	%mm2,(%esp)
3162	paddq	%mm5,%mm7
3163	pxor	%mm4,%mm3
3164	psrlq	$23,%mm1
3165	paddq	56(%esp),%mm7
3166	pxor	%mm1,%mm3
3167	psllq	$4,%mm4
3168	paddq	(%ebp),%mm7
3169	pxor	%mm4,%mm3
3170	movq	24(%esp),%mm4
3171	paddq	%mm7,%mm3
3172	movq	%mm2,%mm5
3173	psrlq	$28,%mm5
3174	paddq	%mm3,%mm4
3175	movq	%mm2,%mm6
3176	movq	%mm5,%mm7
3177	psllq	$25,%mm6
3178	movq	8(%esp),%mm1
3179	psrlq	$6,%mm5
3180	pxor	%mm6,%mm7
3181	subl	$8,%esp
3182	psllq	$5,%mm6
3183	pxor	%mm5,%mm7
3184	pxor	%mm1,%mm2
3185	psrlq	$5,%mm5
3186	pxor	%mm6,%mm7
3187	pand	%mm2,%mm0
3188	psllq	$6,%mm6
3189	pxor	%mm5,%mm7
3190	pxor	%mm1,%mm0
3191	pxor	%mm7,%mm6
3192	movq	192(%esp),%mm7
3193	paddq	%mm6,%mm0
3194	addl	$8,%ebp
3195	decl	%edx
3196	jnz	.L00616_79_sse2
3197	paddq	%mm3,%mm0
3198	movq	8(%esp),%mm1
3199	movq	24(%esp),%mm3
3200	movq	40(%esp),%mm5
3201	movq	48(%esp),%mm6
3202	movq	56(%esp),%mm7
3203	pxor	%mm1,%mm2
3204	paddq	(%esi),%mm0
3205	paddq	8(%esi),%mm1
3206	paddq	16(%esi),%mm2
3207	paddq	24(%esi),%mm3
3208	paddq	32(%esi),%mm4
3209	paddq	40(%esi),%mm5
3210	paddq	48(%esi),%mm6
3211	paddq	56(%esi),%mm7
3212	movl	$640,%eax
3213	movq	%mm0,(%esi)
3214	movq	%mm1,8(%esi)
3215	movq	%mm2,16(%esi)
3216	movq	%mm3,24(%esi)
3217	movq	%mm4,32(%esi)
3218	movq	%mm5,40(%esi)
3219	movq	%mm6,48(%esi)
3220	movq	%mm7,56(%esi)
3221	leal	(%esp,%eax,1),%esp
3222	subl	%eax,%ebp
3223	cmpl	88(%esp),%edi
3224	jb	.L004loop_sse2
3225	movl	92(%esp),%esp
3226	emms
3227	popl	%edi
3228	popl	%esi
3229	popl	%ebx
3230	popl	%ebp
3231	ret
3232.align	32
3233.L003SSSE3:
3234	leal	-64(%esp),%edx
3235	subl	$256,%esp
3236	movdqa	640(%ebp),%xmm1
3237	movdqu	(%edi),%xmm0
3238.byte	102,15,56,0,193
3239	movdqa	(%ebp),%xmm3
3240	movdqa	%xmm1,%xmm2
3241	movdqu	16(%edi),%xmm1
3242	paddq	%xmm0,%xmm3
3243.byte	102,15,56,0,202
3244	movdqa	%xmm3,-128(%edx)
3245	movdqa	16(%ebp),%xmm4
3246	movdqa	%xmm2,%xmm3
3247	movdqu	32(%edi),%xmm2
3248	paddq	%xmm1,%xmm4
3249.byte	102,15,56,0,211
3250	movdqa	%xmm4,-112(%edx)
3251	movdqa	32(%ebp),%xmm5
3252	movdqa	%xmm3,%xmm4
3253	movdqu	48(%edi),%xmm3
3254	paddq	%xmm2,%xmm5
3255.byte	102,15,56,0,220
3256	movdqa	%xmm5,-96(%edx)
3257	movdqa	48(%ebp),%xmm6
3258	movdqa	%xmm4,%xmm5
3259	movdqu	64(%edi),%xmm4
3260	paddq	%xmm3,%xmm6
3261.byte	102,15,56,0,229
3262	movdqa	%xmm6,-80(%edx)
3263	movdqa	64(%ebp),%xmm7
3264	movdqa	%xmm5,%xmm6
3265	movdqu	80(%edi),%xmm5
3266	paddq	%xmm4,%xmm7
3267.byte	102,15,56,0,238
3268	movdqa	%xmm7,-64(%edx)
3269	movdqa	%xmm0,(%edx)
3270	movdqa	80(%ebp),%xmm0
3271	movdqa	%xmm6,%xmm7
3272	movdqu	96(%edi),%xmm6
3273	paddq	%xmm5,%xmm0
3274.byte	102,15,56,0,247
3275	movdqa	%xmm0,-48(%edx)
3276	movdqa	%xmm1,16(%edx)
3277	movdqa	96(%ebp),%xmm1
3278	movdqa	%xmm7,%xmm0
3279	movdqu	112(%edi),%xmm7
3280	paddq	%xmm6,%xmm1
3281.byte	102,15,56,0,248
3282	movdqa	%xmm1,-32(%edx)
3283	movdqa	%xmm2,32(%edx)
3284	movdqa	112(%ebp),%xmm2
3285	movdqa	(%edx),%xmm0
3286	paddq	%xmm7,%xmm2
3287	movdqa	%xmm2,-16(%edx)
3288	nop
3289.align	32
3290.L007loop_ssse3:
3291	movdqa	16(%edx),%xmm2
3292	movdqa	%xmm3,48(%edx)
3293	leal	128(%ebp),%ebp
3294	movq	%mm1,8(%esp)
3295	movl	%edi,%ebx
3296	movq	%mm2,16(%esp)
3297	leal	128(%edi),%edi
3298	movq	%mm3,24(%esp)
3299	cmpl	%eax,%edi
3300	movq	%mm5,40(%esp)
3301	cmovbl	%edi,%ebx
3302	movq	%mm6,48(%esp)
3303	movl	$4,%ecx
3304	pxor	%mm1,%mm2
3305	movq	%mm7,56(%esp)
3306	pxor	%mm3,%mm3
3307	jmp	.L00800_47_ssse3
3308.align	32
3309.L00800_47_ssse3:
3310	movdqa	%xmm5,%xmm3
3311	movdqa	%xmm2,%xmm1
3312.byte	102,15,58,15,208,8
3313	movdqa	%xmm4,(%edx)
3314.byte	102,15,58,15,220,8
3315	movdqa	%xmm2,%xmm4
3316	psrlq	$7,%xmm2
3317	paddq	%xmm3,%xmm0
3318	movdqa	%xmm4,%xmm3
3319	psrlq	$1,%xmm4
3320	psllq	$56,%xmm3
3321	pxor	%xmm4,%xmm2
3322	psrlq	$7,%xmm4
3323	pxor	%xmm3,%xmm2
3324	psllq	$7,%xmm3
3325	pxor	%xmm4,%xmm2
3326	movdqa	%xmm7,%xmm4
3327	pxor	%xmm3,%xmm2
3328	movdqa	%xmm7,%xmm3
3329	psrlq	$6,%xmm4
3330	paddq	%xmm2,%xmm0
3331	movdqa	%xmm7,%xmm2
3332	psrlq	$19,%xmm3
3333	psllq	$3,%xmm2
3334	pxor	%xmm3,%xmm4
3335	psrlq	$42,%xmm3
3336	pxor	%xmm2,%xmm4
3337	psllq	$42,%xmm2
3338	pxor	%xmm3,%xmm4
3339	movdqa	32(%edx),%xmm3
3340	pxor	%xmm2,%xmm4
3341	movdqa	(%ebp),%xmm2
3342	movq	%mm4,%mm1
3343	paddq	%xmm4,%xmm0
3344	movq	-128(%edx),%mm7
3345	pxor	%mm6,%mm5
3346	psrlq	$14,%mm1
3347	movq	%mm4,32(%esp)
3348	paddq	%xmm0,%xmm2
3349	pand	%mm4,%mm5
3350	psllq	$23,%mm4
3351	paddq	%mm3,%mm0
3352	movq	%mm1,%mm3
3353	psrlq	$4,%mm1
3354	pxor	%mm6,%mm5
3355	pxor	%mm4,%mm3
3356	psllq	$23,%mm4
3357	pxor	%mm1,%mm3
3358	movq	%mm0,(%esp)
3359	paddq	%mm5,%mm7
3360	pxor	%mm4,%mm3
3361	psrlq	$23,%mm1
3362	paddq	56(%esp),%mm7
3363	pxor	%mm1,%mm3
3364	psllq	$4,%mm4
3365	pxor	%mm4,%mm3
3366	movq	24(%esp),%mm4
3367	paddq	%mm7,%mm3
3368	movq	%mm0,%mm5
3369	psrlq	$28,%mm5
3370	paddq	%mm3,%mm4
3371	movq	%mm0,%mm6
3372	movq	%mm5,%mm7
3373	psllq	$25,%mm6
3374	movq	8(%esp),%mm1
3375	psrlq	$6,%mm5
3376	pxor	%mm6,%mm7
3377	psllq	$5,%mm6
3378	pxor	%mm5,%mm7
3379	pxor	%mm1,%mm0
3380	psrlq	$5,%mm5
3381	pxor	%mm6,%mm7
3382	pand	%mm0,%mm2
3383	psllq	$6,%mm6
3384	pxor	%mm5,%mm7
3385	pxor	%mm1,%mm2
3386	pxor	%mm7,%mm6
3387	movq	32(%esp),%mm5
3388	paddq	%mm6,%mm2
3389	movq	40(%esp),%mm6
3390	movq	%mm4,%mm1
3391	movq	-120(%edx),%mm7
3392	pxor	%mm6,%mm5
3393	psrlq	$14,%mm1
3394	movq	%mm4,24(%esp)
3395	pand	%mm4,%mm5
3396	psllq	$23,%mm4
3397	paddq	%mm3,%mm2
3398	movq	%mm1,%mm3
3399	psrlq	$4,%mm1
3400	pxor	%mm6,%mm5
3401	pxor	%mm4,%mm3
3402	psllq	$23,%mm4
3403	pxor	%mm1,%mm3
3404	movq	%mm2,56(%esp)
3405	paddq	%mm5,%mm7
3406	pxor	%mm4,%mm3
3407	psrlq	$23,%mm1
3408	paddq	48(%esp),%mm7
3409	pxor	%mm1,%mm3
3410	psllq	$4,%mm4
3411	pxor	%mm4,%mm3
3412	movq	16(%esp),%mm4
3413	paddq	%mm7,%mm3
3414	movq	%mm2,%mm5
3415	psrlq	$28,%mm5
3416	paddq	%mm3,%mm4
3417	movq	%mm2,%mm6
3418	movq	%mm5,%mm7
3419	psllq	$25,%mm6
3420	movq	(%esp),%mm1
3421	psrlq	$6,%mm5
3422	pxor	%mm6,%mm7
3423	psllq	$5,%mm6
3424	pxor	%mm5,%mm7
3425	pxor	%mm1,%mm2
3426	psrlq	$5,%mm5
3427	pxor	%mm6,%mm7
3428	pand	%mm2,%mm0
3429	psllq	$6,%mm6
3430	pxor	%mm5,%mm7
3431	pxor	%mm1,%mm0
3432	pxor	%mm7,%mm6
3433	movq	24(%esp),%mm5
3434	paddq	%mm6,%mm0
3435	movq	32(%esp),%mm6
3436	movdqa	%xmm2,-128(%edx)
3437	movdqa	%xmm6,%xmm4
3438	movdqa	%xmm3,%xmm2
3439.byte	102,15,58,15,217,8
3440	movdqa	%xmm5,16(%edx)
3441.byte	102,15,58,15,229,8
3442	movdqa	%xmm3,%xmm5
3443	psrlq	$7,%xmm3
3444	paddq	%xmm4,%xmm1
3445	movdqa	%xmm5,%xmm4
3446	psrlq	$1,%xmm5
3447	psllq	$56,%xmm4
3448	pxor	%xmm5,%xmm3
3449	psrlq	$7,%xmm5
3450	pxor	%xmm4,%xmm3
3451	psllq	$7,%xmm4
3452	pxor	%xmm5,%xmm3
3453	movdqa	%xmm0,%xmm5
3454	pxor	%xmm4,%xmm3
3455	movdqa	%xmm0,%xmm4
3456	psrlq	$6,%xmm5
3457	paddq	%xmm3,%xmm1
3458	movdqa	%xmm0,%xmm3
3459	psrlq	$19,%xmm4
3460	psllq	$3,%xmm3
3461	pxor	%xmm4,%xmm5
3462	psrlq	$42,%xmm4
3463	pxor	%xmm3,%xmm5
3464	psllq	$42,%xmm3
3465	pxor	%xmm4,%xmm5
3466	movdqa	48(%edx),%xmm4
3467	pxor	%xmm3,%xmm5
3468	movdqa	16(%ebp),%xmm3
3469	movq	%mm4,%mm1
3470	paddq	%xmm5,%xmm1
3471	movq	-112(%edx),%mm7
3472	pxor	%mm6,%mm5
3473	psrlq	$14,%mm1
3474	movq	%mm4,16(%esp)
3475	paddq	%xmm1,%xmm3
3476	pand	%mm4,%mm5
3477	psllq	$23,%mm4
3478	paddq	%mm3,%mm0
3479	movq	%mm1,%mm3
3480	psrlq	$4,%mm1
3481	pxor	%mm6,%mm5
3482	pxor	%mm4,%mm3
3483	psllq	$23,%mm4
3484	pxor	%mm1,%mm3
3485	movq	%mm0,48(%esp)
3486	paddq	%mm5,%mm7
3487	pxor	%mm4,%mm3
3488	psrlq	$23,%mm1
3489	paddq	40(%esp),%mm7
3490	pxor	%mm1,%mm3
3491	psllq	$4,%mm4
3492	pxor	%mm4,%mm3
3493	movq	8(%esp),%mm4
3494	paddq	%mm7,%mm3
3495	movq	%mm0,%mm5
3496	psrlq	$28,%mm5
3497	paddq	%mm3,%mm4
3498	movq	%mm0,%mm6
3499	movq	%mm5,%mm7
3500	psllq	$25,%mm6
3501	movq	56(%esp),%mm1
3502	psrlq	$6,%mm5
3503	pxor	%mm6,%mm7
3504	psllq	$5,%mm6
3505	pxor	%mm5,%mm7
3506	pxor	%mm1,%mm0
3507	psrlq	$5,%mm5
3508	pxor	%mm6,%mm7
3509	pand	%mm0,%mm2
3510	psllq	$6,%mm6
3511	pxor	%mm5,%mm7
3512	pxor	%mm1,%mm2
3513	pxor	%mm7,%mm6
3514	movq	16(%esp),%mm5
3515	paddq	%mm6,%mm2
3516	movq	24(%esp),%mm6
3517	movq	%mm4,%mm1
3518	movq	-104(%edx),%mm7
3519	pxor	%mm6,%mm5
3520	psrlq	$14,%mm1
3521	movq	%mm4,8(%esp)
3522	pand	%mm4,%mm5
3523	psllq	$23,%mm4
3524	paddq	%mm3,%mm2
3525	movq	%mm1,%mm3
3526	psrlq	$4,%mm1
3527	pxor	%mm6,%mm5
3528	pxor	%mm4,%mm3
3529	psllq	$23,%mm4
3530	pxor	%mm1,%mm3
3531	movq	%mm2,40(%esp)
3532	paddq	%mm5,%mm7
3533	pxor	%mm4,%mm3
3534	psrlq	$23,%mm1
3535	paddq	32(%esp),%mm7
3536	pxor	%mm1,%mm3
3537	psllq	$4,%mm4
3538	pxor	%mm4,%mm3
3539	movq	(%esp),%mm4
3540	paddq	%mm7,%mm3
3541	movq	%mm2,%mm5
3542	psrlq	$28,%mm5
3543	paddq	%mm3,%mm4
3544	movq	%mm2,%mm6
3545	movq	%mm5,%mm7
3546	psllq	$25,%mm6
3547	movq	48(%esp),%mm1
3548	psrlq	$6,%mm5
3549	pxor	%mm6,%mm7
3550	psllq	$5,%mm6
3551	pxor	%mm5,%mm7
3552	pxor	%mm1,%mm2
3553	psrlq	$5,%mm5
3554	pxor	%mm6,%mm7
3555	pand	%mm2,%mm0
3556	psllq	$6,%mm6
3557	pxor	%mm5,%mm7
3558	pxor	%mm1,%mm0
3559	pxor	%mm7,%mm6
3560	movq	8(%esp),%mm5
3561	paddq	%mm6,%mm0
3562	movq	16(%esp),%mm6
3563	movdqa	%xmm3,-112(%edx)
3564	movdqa	%xmm7,%xmm5
3565	movdqa	%xmm4,%xmm3
3566.byte	102,15,58,15,226,8
3567	movdqa	%xmm6,32(%edx)
3568.byte	102,15,58,15,238,8
3569	movdqa	%xmm4,%xmm6
3570	psrlq	$7,%xmm4
3571	paddq	%xmm5,%xmm2
3572	movdqa	%xmm6,%xmm5
3573	psrlq	$1,%xmm6
3574	psllq	$56,%xmm5
3575	pxor	%xmm6,%xmm4
3576	psrlq	$7,%xmm6
3577	pxor	%xmm5,%xmm4
3578	psllq	$7,%xmm5
3579	pxor	%xmm6,%xmm4
3580	movdqa	%xmm1,%xmm6
3581	pxor	%xmm5,%xmm4
3582	movdqa	%xmm1,%xmm5
3583	psrlq	$6,%xmm6
3584	paddq	%xmm4,%xmm2
3585	movdqa	%xmm1,%xmm4
3586	psrlq	$19,%xmm5
3587	psllq	$3,%xmm4
3588	pxor	%xmm5,%xmm6
3589	psrlq	$42,%xmm5
3590	pxor	%xmm4,%xmm6
3591	psllq	$42,%xmm4
3592	pxor	%xmm5,%xmm6
3593	movdqa	(%edx),%xmm5
3594	pxor	%xmm4,%xmm6
3595	movdqa	32(%ebp),%xmm4
3596	movq	%mm4,%mm1
3597	paddq	%xmm6,%xmm2
3598	movq	-96(%edx),%mm7
3599	pxor	%mm6,%mm5
3600	psrlq	$14,%mm1
3601	movq	%mm4,(%esp)
3602	paddq	%xmm2,%xmm4
3603	pand	%mm4,%mm5
3604	psllq	$23,%mm4
3605	paddq	%mm3,%mm0
3606	movq	%mm1,%mm3
3607	psrlq	$4,%mm1
3608	pxor	%mm6,%mm5
3609	pxor	%mm4,%mm3
3610	psllq	$23,%mm4
3611	pxor	%mm1,%mm3
3612	movq	%mm0,32(%esp)
3613	paddq	%mm5,%mm7
3614	pxor	%mm4,%mm3
3615	psrlq	$23,%mm1
3616	paddq	24(%esp),%mm7
3617	pxor	%mm1,%mm3
3618	psllq	$4,%mm4
3619	pxor	%mm4,%mm3
3620	movq	56(%esp),%mm4
3621	paddq	%mm7,%mm3
3622	movq	%mm0,%mm5
3623	psrlq	$28,%mm5
3624	paddq	%mm3,%mm4
3625	movq	%mm0,%mm6
3626	movq	%mm5,%mm7
3627	psllq	$25,%mm6
3628	movq	40(%esp),%mm1
3629	psrlq	$6,%mm5
3630	pxor	%mm6,%mm7
3631	psllq	$5,%mm6
3632	pxor	%mm5,%mm7
3633	pxor	%mm1,%mm0
3634	psrlq	$5,%mm5
3635	pxor	%mm6,%mm7
3636	pand	%mm0,%mm2
3637	psllq	$6,%mm6
3638	pxor	%mm5,%mm7
3639	pxor	%mm1,%mm2
3640	pxor	%mm7,%mm6
3641	movq	(%esp),%mm5
3642	paddq	%mm6,%mm2
3643	movq	8(%esp),%mm6
3644	movq	%mm4,%mm1
3645	movq	-88(%edx),%mm7
3646	pxor	%mm6,%mm5
3647	psrlq	$14,%mm1
3648	movq	%mm4,56(%esp)
3649	pand	%mm4,%mm5
3650	psllq	$23,%mm4
3651	paddq	%mm3,%mm2
3652	movq	%mm1,%mm3
3653	psrlq	$4,%mm1
3654	pxor	%mm6,%mm5
3655	pxor	%mm4,%mm3
3656	psllq	$23,%mm4
3657	pxor	%mm1,%mm3
3658	movq	%mm2,24(%esp)
3659	paddq	%mm5,%mm7
3660	pxor	%mm4,%mm3
3661	psrlq	$23,%mm1
3662	paddq	16(%esp),%mm7
3663	pxor	%mm1,%mm3
3664	psllq	$4,%mm4
3665	pxor	%mm4,%mm3
3666	movq	48(%esp),%mm4
3667	paddq	%mm7,%mm3
3668	movq	%mm2,%mm5
3669	psrlq	$28,%mm5
3670	paddq	%mm3,%mm4
3671	movq	%mm2,%mm6
3672	movq	%mm5,%mm7
3673	psllq	$25,%mm6
3674	movq	32(%esp),%mm1
3675	psrlq	$6,%mm5
3676	pxor	%mm6,%mm7
3677	psllq	$5,%mm6
3678	pxor	%mm5,%mm7
3679	pxor	%mm1,%mm2
3680	psrlq	$5,%mm5
3681	pxor	%mm6,%mm7
3682	pand	%mm2,%mm0
3683	psllq	$6,%mm6
3684	pxor	%mm5,%mm7
3685	pxor	%mm1,%mm0
3686	pxor	%mm7,%mm6
3687	movq	56(%esp),%mm5
3688	paddq	%mm6,%mm0
3689	movq	(%esp),%mm6
3690	movdqa	%xmm4,-96(%edx)
3691	movdqa	%xmm0,%xmm6
3692	movdqa	%xmm5,%xmm4
3693.byte	102,15,58,15,235,8
3694	movdqa	%xmm7,48(%edx)
3695.byte	102,15,58,15,247,8
3696	movdqa	%xmm5,%xmm7
3697	psrlq	$7,%xmm5
3698	paddq	%xmm6,%xmm3
3699	movdqa	%xmm7,%xmm6
3700	psrlq	$1,%xmm7
3701	psllq	$56,%xmm6
3702	pxor	%xmm7,%xmm5
3703	psrlq	$7,%xmm7
3704	pxor	%xmm6,%xmm5
3705	psllq	$7,%xmm6
3706	pxor	%xmm7,%xmm5
3707	movdqa	%xmm2,%xmm7
3708	pxor	%xmm6,%xmm5
3709	movdqa	%xmm2,%xmm6
3710	psrlq	$6,%xmm7
3711	paddq	%xmm5,%xmm3
3712	movdqa	%xmm2,%xmm5
3713	psrlq	$19,%xmm6
3714	psllq	$3,%xmm5
3715	pxor	%xmm6,%xmm7
3716	psrlq	$42,%xmm6
3717	pxor	%xmm5,%xmm7
3718	psllq	$42,%xmm5
3719	pxor	%xmm6,%xmm7
3720	movdqa	16(%edx),%xmm6
3721	pxor	%xmm5,%xmm7
3722	movdqa	48(%ebp),%xmm5
3723	movq	%mm4,%mm1
3724	paddq	%xmm7,%xmm3
3725	movq	-80(%edx),%mm7
3726	pxor	%mm6,%mm5
3727	psrlq	$14,%mm1
3728	movq	%mm4,48(%esp)
3729	paddq	%xmm3,%xmm5
3730	pand	%mm4,%mm5
3731	psllq	$23,%mm4
3732	paddq	%mm3,%mm0
3733	movq	%mm1,%mm3
3734	psrlq	$4,%mm1
3735	pxor	%mm6,%mm5
3736	pxor	%mm4,%mm3
3737	psllq	$23,%mm4
3738	pxor	%mm1,%mm3
3739	movq	%mm0,16(%esp)
3740	paddq	%mm5,%mm7
3741	pxor	%mm4,%mm3
3742	psrlq	$23,%mm1
3743	paddq	8(%esp),%mm7
3744	pxor	%mm1,%mm3
3745	psllq	$4,%mm4
3746	pxor	%mm4,%mm3
3747	movq	40(%esp),%mm4
3748	paddq	%mm7,%mm3
3749	movq	%mm0,%mm5
3750	psrlq	$28,%mm5
3751	paddq	%mm3,%mm4
3752	movq	%mm0,%mm6
3753	movq	%mm5,%mm7
3754	psllq	$25,%mm6
3755	movq	24(%esp),%mm1
3756	psrlq	$6,%mm5
3757	pxor	%mm6,%mm7
3758	psllq	$5,%mm6
3759	pxor	%mm5,%mm7
3760	pxor	%mm1,%mm0
3761	psrlq	$5,%mm5
3762	pxor	%mm6,%mm7
3763	pand	%mm0,%mm2
3764	psllq	$6,%mm6
3765	pxor	%mm5,%mm7
3766	pxor	%mm1,%mm2
3767	pxor	%mm7,%mm6
3768	movq	48(%esp),%mm5
3769	paddq	%mm6,%mm2
3770	movq	56(%esp),%mm6
3771	movq	%mm4,%mm1
3772	movq	-72(%edx),%mm7
3773	pxor	%mm6,%mm5
3774	psrlq	$14,%mm1
3775	movq	%mm4,40(%esp)
3776	pand	%mm4,%mm5
3777	psllq	$23,%mm4
3778	paddq	%mm3,%mm2
3779	movq	%mm1,%mm3
3780	psrlq	$4,%mm1
3781	pxor	%mm6,%mm5
3782	pxor	%mm4,%mm3
3783	psllq	$23,%mm4
3784	pxor	%mm1,%mm3
3785	movq	%mm2,8(%esp)
3786	paddq	%mm5,%mm7
3787	pxor	%mm4,%mm3
3788	psrlq	$23,%mm1
3789	paddq	(%esp),%mm7
3790	pxor	%mm1,%mm3
3791	psllq	$4,%mm4
3792	pxor	%mm4,%mm3
3793	movq	32(%esp),%mm4
3794	paddq	%mm7,%mm3
3795	movq	%mm2,%mm5
3796	psrlq	$28,%mm5
3797	paddq	%mm3,%mm4
3798	movq	%mm2,%mm6
3799	movq	%mm5,%mm7
3800	psllq	$25,%mm6
3801	movq	16(%esp),%mm1
3802	psrlq	$6,%mm5
3803	pxor	%mm6,%mm7
3804	psllq	$5,%mm6
3805	pxor	%mm5,%mm7
3806	pxor	%mm1,%mm2
3807	psrlq	$5,%mm5
3808	pxor	%mm6,%mm7
3809	pand	%mm2,%mm0
3810	psllq	$6,%mm6
3811	pxor	%mm5,%mm7
3812	pxor	%mm1,%mm0
3813	pxor	%mm7,%mm6
3814	movq	40(%esp),%mm5
3815	paddq	%mm6,%mm0
3816	movq	48(%esp),%mm6
3817	movdqa	%xmm5,-80(%edx)
3818	movdqa	%xmm1,%xmm7
3819	movdqa	%xmm6,%xmm5
3820.byte	102,15,58,15,244,8
3821	movdqa	%xmm0,(%edx)
3822.byte	102,15,58,15,248,8
3823	movdqa	%xmm6,%xmm0
3824	psrlq	$7,%xmm6
3825	paddq	%xmm7,%xmm4
3826	movdqa	%xmm0,%xmm7
3827	psrlq	$1,%xmm0
3828	psllq	$56,%xmm7
3829	pxor	%xmm0,%xmm6
3830	psrlq	$7,%xmm0
3831	pxor	%xmm7,%xmm6
3832	psllq	$7,%xmm7
3833	pxor	%xmm0,%xmm6
3834	movdqa	%xmm3,%xmm0
3835	pxor	%xmm7,%xmm6
3836	movdqa	%xmm3,%xmm7
3837	psrlq	$6,%xmm0
3838	paddq	%xmm6,%xmm4
3839	movdqa	%xmm3,%xmm6
3840	psrlq	$19,%xmm7
3841	psllq	$3,%xmm6
3842	pxor	%xmm7,%xmm0
3843	psrlq	$42,%xmm7
3844	pxor	%xmm6,%xmm0
3845	psllq	$42,%xmm6
3846	pxor	%xmm7,%xmm0
3847	movdqa	32(%edx),%xmm7
3848	pxor	%xmm6,%xmm0
3849	movdqa	64(%ebp),%xmm6
3850	movq	%mm4,%mm1
3851	paddq	%xmm0,%xmm4
3852	movq	-64(%edx),%mm7
3853	pxor	%mm6,%mm5
3854	psrlq	$14,%mm1
3855	movq	%mm4,32(%esp)
3856	paddq	%xmm4,%xmm6
3857	pand	%mm4,%mm5
3858	psllq	$23,%mm4
3859	paddq	%mm3,%mm0
3860	movq	%mm1,%mm3
3861	psrlq	$4,%mm1
3862	pxor	%mm6,%mm5
3863	pxor	%mm4,%mm3
3864	psllq	$23,%mm4
3865	pxor	%mm1,%mm3
3866	movq	%mm0,(%esp)
3867	paddq	%mm5,%mm7
3868	pxor	%mm4,%mm3
3869	psrlq	$23,%mm1
3870	paddq	56(%esp),%mm7
3871	pxor	%mm1,%mm3
3872	psllq	$4,%mm4
3873	pxor	%mm4,%mm3
3874	movq	24(%esp),%mm4
3875	paddq	%mm7,%mm3
3876	movq	%mm0,%mm5
3877	psrlq	$28,%mm5
3878	paddq	%mm3,%mm4
3879	movq	%mm0,%mm6
3880	movq	%mm5,%mm7
3881	psllq	$25,%mm6
3882	movq	8(%esp),%mm1
3883	psrlq	$6,%mm5
3884	pxor	%mm6,%mm7
3885	psllq	$5,%mm6
3886	pxor	%mm5,%mm7
3887	pxor	%mm1,%mm0
3888	psrlq	$5,%mm5
3889	pxor	%mm6,%mm7
3890	pand	%mm0,%mm2
3891	psllq	$6,%mm6
3892	pxor	%mm5,%mm7
3893	pxor	%mm1,%mm2
3894	pxor	%mm7,%mm6
3895	movq	32(%esp),%mm5
3896	paddq	%mm6,%mm2
3897	movq	40(%esp),%mm6
3898	movq	%mm4,%mm1
3899	movq	-56(%edx),%mm7
3900	pxor	%mm6,%mm5
3901	psrlq	$14,%mm1
3902	movq	%mm4,24(%esp)
3903	pand	%mm4,%mm5
3904	psllq	$23,%mm4
3905	paddq	%mm3,%mm2
3906	movq	%mm1,%mm3
3907	psrlq	$4,%mm1
3908	pxor	%mm6,%mm5
3909	pxor	%mm4,%mm3
3910	psllq	$23,%mm4
3911	pxor	%mm1,%mm3
3912	movq	%mm2,56(%esp)
3913	paddq	%mm5,%mm7
3914	pxor	%mm4,%mm3
3915	psrlq	$23,%mm1
3916	paddq	48(%esp),%mm7
3917	pxor	%mm1,%mm3
3918	psllq	$4,%mm4
3919	pxor	%mm4,%mm3
3920	movq	16(%esp),%mm4
3921	paddq	%mm7,%mm3
3922	movq	%mm2,%mm5
3923	psrlq	$28,%mm5
3924	paddq	%mm3,%mm4
3925	movq	%mm2,%mm6
3926	movq	%mm5,%mm7
3927	psllq	$25,%mm6
3928	movq	(%esp),%mm1
3929	psrlq	$6,%mm5
3930	pxor	%mm6,%mm7
3931	psllq	$5,%mm6
3932	pxor	%mm5,%mm7
3933	pxor	%mm1,%mm2
3934	psrlq	$5,%mm5
3935	pxor	%mm6,%mm7
3936	pand	%mm2,%mm0
3937	psllq	$6,%mm6
3938	pxor	%mm5,%mm7
3939	pxor	%mm1,%mm0
3940	pxor	%mm7,%mm6
3941	movq	24(%esp),%mm5
3942	paddq	%mm6,%mm0
3943	movq	32(%esp),%mm6
3944	movdqa	%xmm6,-64(%edx)
3945	movdqa	%xmm2,%xmm0
3946	movdqa	%xmm7,%xmm6
3947.byte	102,15,58,15,253,8
3948	movdqa	%xmm1,16(%edx)
3949.byte	102,15,58,15,193,8
3950	movdqa	%xmm7,%xmm1
3951	psrlq	$7,%xmm7
3952	paddq	%xmm0,%xmm5
3953	movdqa	%xmm1,%xmm0
3954	psrlq	$1,%xmm1
3955	psllq	$56,%xmm0
3956	pxor	%xmm1,%xmm7
3957	psrlq	$7,%xmm1
3958	pxor	%xmm0,%xmm7
3959	psllq	$7,%xmm0
3960	pxor	%xmm1,%xmm7
3961	movdqa	%xmm4,%xmm1
3962	pxor	%xmm0,%xmm7
3963	movdqa	%xmm4,%xmm0
3964	psrlq	$6,%xmm1
3965	paddq	%xmm7,%xmm5
3966	movdqa	%xmm4,%xmm7
3967	psrlq	$19,%xmm0
3968	psllq	$3,%xmm7
3969	pxor	%xmm0,%xmm1
3970	psrlq	$42,%xmm0
3971	pxor	%xmm7,%xmm1
3972	psllq	$42,%xmm7
3973	pxor	%xmm0,%xmm1
3974	movdqa	48(%edx),%xmm0
3975	pxor	%xmm7,%xmm1
3976	movdqa	80(%ebp),%xmm7
3977	movq	%mm4,%mm1
3978	paddq	%xmm1,%xmm5
3979	movq	-48(%edx),%mm7
3980	pxor	%mm6,%mm5
3981	psrlq	$14,%mm1
3982	movq	%mm4,16(%esp)
3983	paddq	%xmm5,%xmm7
3984	pand	%mm4,%mm5
3985	psllq	$23,%mm4
3986	paddq	%mm3,%mm0
3987	movq	%mm1,%mm3
3988	psrlq	$4,%mm1
3989	pxor	%mm6,%mm5
3990	pxor	%mm4,%mm3
3991	psllq	$23,%mm4
3992	pxor	%mm1,%mm3
3993	movq	%mm0,48(%esp)
3994	paddq	%mm5,%mm7
3995	pxor	%mm4,%mm3
3996	psrlq	$23,%mm1
3997	paddq	40(%esp),%mm7
3998	pxor	%mm1,%mm3
3999	psllq	$4,%mm4
4000	pxor	%mm4,%mm3
4001	movq	8(%esp),%mm4
4002	paddq	%mm7,%mm3
4003	movq	%mm0,%mm5
4004	psrlq	$28,%mm5
4005	paddq	%mm3,%mm4
4006	movq	%mm0,%mm6
4007	movq	%mm5,%mm7
4008	psllq	$25,%mm6
4009	movq	56(%esp),%mm1
4010	psrlq	$6,%mm5
4011	pxor	%mm6,%mm7
4012	psllq	$5,%mm6
4013	pxor	%mm5,%mm7
4014	pxor	%mm1,%mm0
4015	psrlq	$5,%mm5
4016	pxor	%mm6,%mm7
4017	pand	%mm0,%mm2
4018	psllq	$6,%mm6
4019	pxor	%mm5,%mm7
4020	pxor	%mm1,%mm2
4021	pxor	%mm7,%mm6
4022	movq	16(%esp),%mm5
4023	paddq	%mm6,%mm2
4024	movq	24(%esp),%mm6
4025	movq	%mm4,%mm1
4026	movq	-40(%edx),%mm7
4027	pxor	%mm6,%mm5
4028	psrlq	$14,%mm1
4029	movq	%mm4,8(%esp)
4030	pand	%mm4,%mm5
4031	psllq	$23,%mm4
4032	paddq	%mm3,%mm2
4033	movq	%mm1,%mm3
4034	psrlq	$4,%mm1
4035	pxor	%mm6,%mm5
4036	pxor	%mm4,%mm3
4037	psllq	$23,%mm4
4038	pxor	%mm1,%mm3
4039	movq	%mm2,40(%esp)
4040	paddq	%mm5,%mm7
4041	pxor	%mm4,%mm3
4042	psrlq	$23,%mm1
4043	paddq	32(%esp),%mm7
4044	pxor	%mm1,%mm3
4045	psllq	$4,%mm4
4046	pxor	%mm4,%mm3
4047	movq	(%esp),%mm4
4048	paddq	%mm7,%mm3
4049	movq	%mm2,%mm5
4050	psrlq	$28,%mm5
4051	paddq	%mm3,%mm4
4052	movq	%mm2,%mm6
4053	movq	%mm5,%mm7
4054	psllq	$25,%mm6
4055	movq	48(%esp),%mm1
4056	psrlq	$6,%mm5
4057	pxor	%mm6,%mm7
4058	psllq	$5,%mm6
4059	pxor	%mm5,%mm7
4060	pxor	%mm1,%mm2
4061	psrlq	$5,%mm5
4062	pxor	%mm6,%mm7
4063	pand	%mm2,%mm0
4064	psllq	$6,%mm6
4065	pxor	%mm5,%mm7
4066	pxor	%mm1,%mm0
4067	pxor	%mm7,%mm6
4068	movq	8(%esp),%mm5
4069	paddq	%mm6,%mm0
4070	movq	16(%esp),%mm6
4071	movdqa	%xmm7,-48(%edx)
4072	movdqa	%xmm3,%xmm1
4073	movdqa	%xmm0,%xmm7
4074.byte	102,15,58,15,198,8
4075	movdqa	%xmm2,32(%edx)
4076.byte	102,15,58,15,202,8
4077	movdqa	%xmm0,%xmm2
4078	psrlq	$7,%xmm0
4079	paddq	%xmm1,%xmm6
4080	movdqa	%xmm2,%xmm1
4081	psrlq	$1,%xmm2
4082	psllq	$56,%xmm1
4083	pxor	%xmm2,%xmm0
4084	psrlq	$7,%xmm2
4085	pxor	%xmm1,%xmm0
4086	psllq	$7,%xmm1
4087	pxor	%xmm2,%xmm0
4088	movdqa	%xmm5,%xmm2
4089	pxor	%xmm1,%xmm0
4090	movdqa	%xmm5,%xmm1
4091	psrlq	$6,%xmm2
4092	paddq	%xmm0,%xmm6
4093	movdqa	%xmm5,%xmm0
4094	psrlq	$19,%xmm1
4095	psllq	$3,%xmm0
4096	pxor	%xmm1,%xmm2
4097	psrlq	$42,%xmm1
4098	pxor	%xmm0,%xmm2
4099	psllq	$42,%xmm0
4100	pxor	%xmm1,%xmm2
4101	movdqa	(%edx),%xmm1
4102	pxor	%xmm0,%xmm2
4103	movdqa	96(%ebp),%xmm0
4104	movq	%mm4,%mm1
4105	paddq	%xmm2,%xmm6
4106	movq	-32(%edx),%mm7
4107	pxor	%mm6,%mm5
4108	psrlq	$14,%mm1
4109	movq	%mm4,(%esp)
4110	paddq	%xmm6,%xmm0
4111	pand	%mm4,%mm5
4112	psllq	$23,%mm4
4113	paddq	%mm3,%mm0
4114	movq	%mm1,%mm3
4115	psrlq	$4,%mm1
4116	pxor	%mm6,%mm5
4117	pxor	%mm4,%mm3
4118	psllq	$23,%mm4
4119	pxor	%mm1,%mm3
4120	movq	%mm0,32(%esp)
4121	paddq	%mm5,%mm7
4122	pxor	%mm4,%mm3
4123	psrlq	$23,%mm1
4124	paddq	24(%esp),%mm7
4125	pxor	%mm1,%mm3
4126	psllq	$4,%mm4
4127	pxor	%mm4,%mm3
4128	movq	56(%esp),%mm4
4129	paddq	%mm7,%mm3
4130	movq	%mm0,%mm5
4131	psrlq	$28,%mm5
4132	paddq	%mm3,%mm4
4133	movq	%mm0,%mm6
4134	movq	%mm5,%mm7
4135	psllq	$25,%mm6
4136	movq	40(%esp),%mm1
4137	psrlq	$6,%mm5
4138	pxor	%mm6,%mm7
4139	psllq	$5,%mm6
4140	pxor	%mm5,%mm7
4141	pxor	%mm1,%mm0
4142	psrlq	$5,%mm5
4143	pxor	%mm6,%mm7
4144	pand	%mm0,%mm2
4145	psllq	$6,%mm6
4146	pxor	%mm5,%mm7
4147	pxor	%mm1,%mm2
4148	pxor	%mm7,%mm6
4149	movq	(%esp),%mm5
4150	paddq	%mm6,%mm2
4151	movq	8(%esp),%mm6
4152	movq	%mm4,%mm1
4153	movq	-24(%edx),%mm7
4154	pxor	%mm6,%mm5
4155	psrlq	$14,%mm1
4156	movq	%mm4,56(%esp)
4157	pand	%mm4,%mm5
4158	psllq	$23,%mm4
4159	paddq	%mm3,%mm2
4160	movq	%mm1,%mm3
4161	psrlq	$4,%mm1
4162	pxor	%mm6,%mm5
4163	pxor	%mm4,%mm3
4164	psllq	$23,%mm4
4165	pxor	%mm1,%mm3
4166	movq	%mm2,24(%esp)
4167	paddq	%mm5,%mm7
4168	pxor	%mm4,%mm3
4169	psrlq	$23,%mm1
4170	paddq	16(%esp),%mm7
4171	pxor	%mm1,%mm3
4172	psllq	$4,%mm4
4173	pxor	%mm4,%mm3
4174	movq	48(%esp),%mm4
4175	paddq	%mm7,%mm3
4176	movq	%mm2,%mm5
4177	psrlq	$28,%mm5
4178	paddq	%mm3,%mm4
4179	movq	%mm2,%mm6
4180	movq	%mm5,%mm7
4181	psllq	$25,%mm6
4182	movq	32(%esp),%mm1
4183	psrlq	$6,%mm5
4184	pxor	%mm6,%mm7
4185	psllq	$5,%mm6
4186	pxor	%mm5,%mm7
4187	pxor	%mm1,%mm2
4188	psrlq	$5,%mm5
4189	pxor	%mm6,%mm7
4190	pand	%mm2,%mm0
4191	psllq	$6,%mm6
4192	pxor	%mm5,%mm7
4193	pxor	%mm1,%mm0
4194	pxor	%mm7,%mm6
4195	movq	56(%esp),%mm5
4196	paddq	%mm6,%mm0
4197	movq	(%esp),%mm6
4198	movdqa	%xmm0,-32(%edx)
4199	movdqa	%xmm4,%xmm2
4200	movdqa	%xmm1,%xmm0
4201.byte	102,15,58,15,207,8
4202	movdqa	%xmm3,48(%edx)
4203.byte	102,15,58,15,211,8
4204	movdqa	%xmm1,%xmm3
4205	psrlq	$7,%xmm1
4206	paddq	%xmm2,%xmm7
4207	movdqa	%xmm3,%xmm2
4208	psrlq	$1,%xmm3
4209	psllq	$56,%xmm2
4210	pxor	%xmm3,%xmm1
4211	psrlq	$7,%xmm3
4212	pxor	%xmm2,%xmm1
4213	psllq	$7,%xmm2
4214	pxor	%xmm3,%xmm1
4215	movdqa	%xmm6,%xmm3
4216	pxor	%xmm2,%xmm1
4217	movdqa	%xmm6,%xmm2
4218	psrlq	$6,%xmm3
4219	paddq	%xmm1,%xmm7
4220	movdqa	%xmm6,%xmm1
4221	psrlq	$19,%xmm2
4222	psllq	$3,%xmm1
4223	pxor	%xmm2,%xmm3
4224	psrlq	$42,%xmm2
4225	pxor	%xmm1,%xmm3
4226	psllq	$42,%xmm1
4227	pxor	%xmm2,%xmm3
4228	movdqa	16(%edx),%xmm2
4229	pxor	%xmm1,%xmm3
4230	movdqa	112(%ebp),%xmm1
4231	movq	%mm4,%mm1
4232	paddq	%xmm3,%xmm7
4233	movq	-16(%edx),%mm7
4234	pxor	%mm6,%mm5
4235	psrlq	$14,%mm1
4236	movq	%mm4,48(%esp)
4237	paddq	%xmm7,%xmm1
4238	pand	%mm4,%mm5
4239	psllq	$23,%mm4
4240	paddq	%mm3,%mm0
4241	movq	%mm1,%mm3
4242	psrlq	$4,%mm1
4243	pxor	%mm6,%mm5
4244	pxor	%mm4,%mm3
4245	psllq	$23,%mm4
4246	pxor	%mm1,%mm3
4247	movq	%mm0,16(%esp)
4248	paddq	%mm5,%mm7
4249	pxor	%mm4,%mm3
4250	psrlq	$23,%mm1
4251	paddq	8(%esp),%mm7
4252	pxor	%mm1,%mm3
4253	psllq	$4,%mm4
4254	pxor	%mm4,%mm3
4255	movq	40(%esp),%mm4
4256	paddq	%mm7,%mm3
4257	movq	%mm0,%mm5
4258	psrlq	$28,%mm5
4259	paddq	%mm3,%mm4
4260	movq	%mm0,%mm6
4261	movq	%mm5,%mm7
4262	psllq	$25,%mm6
4263	movq	24(%esp),%mm1
4264	psrlq	$6,%mm5
4265	pxor	%mm6,%mm7
4266	psllq	$5,%mm6
4267	pxor	%mm5,%mm7
4268	pxor	%mm1,%mm0
4269	psrlq	$5,%mm5
4270	pxor	%mm6,%mm7
4271	pand	%mm0,%mm2
4272	psllq	$6,%mm6
4273	pxor	%mm5,%mm7
4274	pxor	%mm1,%mm2
4275	pxor	%mm7,%mm6
4276	movq	48(%esp),%mm5
4277	paddq	%mm6,%mm2
4278	movq	56(%esp),%mm6
4279	movq	%mm4,%mm1
4280	movq	-8(%edx),%mm7
4281	pxor	%mm6,%mm5
4282	psrlq	$14,%mm1
4283	movq	%mm4,40(%esp)
4284	pand	%mm4,%mm5
4285	psllq	$23,%mm4
4286	paddq	%mm3,%mm2
4287	movq	%mm1,%mm3
4288	psrlq	$4,%mm1
4289	pxor	%mm6,%mm5
4290	pxor	%mm4,%mm3
4291	psllq	$23,%mm4
4292	pxor	%mm1,%mm3
4293	movq	%mm2,8(%esp)
4294	paddq	%mm5,%mm7
4295	pxor	%mm4,%mm3
4296	psrlq	$23,%mm1
4297	paddq	(%esp),%mm7
4298	pxor	%mm1,%mm3
4299	psllq	$4,%mm4
4300	pxor	%mm4,%mm3
4301	movq	32(%esp),%mm4
4302	paddq	%mm7,%mm3
4303	movq	%mm2,%mm5
4304	psrlq	$28,%mm5
4305	paddq	%mm3,%mm4
4306	movq	%mm2,%mm6
4307	movq	%mm5,%mm7
4308	psllq	$25,%mm6
4309	movq	16(%esp),%mm1
4310	psrlq	$6,%mm5
4311	pxor	%mm6,%mm7
4312	psllq	$5,%mm6
4313	pxor	%mm5,%mm7
4314	pxor	%mm1,%mm2
4315	psrlq	$5,%mm5
4316	pxor	%mm6,%mm7
4317	pand	%mm2,%mm0
4318	psllq	$6,%mm6
4319	pxor	%mm5,%mm7
4320	pxor	%mm1,%mm0
4321	pxor	%mm7,%mm6
4322	movq	40(%esp),%mm5
4323	paddq	%mm6,%mm0
4324	movq	48(%esp),%mm6
4325	movdqa	%xmm1,-16(%edx)
4326	leal	128(%ebp),%ebp
4327	decl	%ecx
4328	jnz	.L00800_47_ssse3
4329	movdqa	(%ebp),%xmm1
4330	leal	-640(%ebp),%ebp
4331	movdqu	(%ebx),%xmm0
4332.byte	102,15,56,0,193
4333	movdqa	(%ebp),%xmm3
4334	movdqa	%xmm1,%xmm2
4335	movdqu	16(%ebx),%xmm1
4336	paddq	%xmm0,%xmm3
4337.byte	102,15,56,0,202
4338	movq	%mm4,%mm1
4339	movq	-128(%edx),%mm7
4340	pxor	%mm6,%mm5
4341	psrlq	$14,%mm1
4342	movq	%mm4,32(%esp)
4343	pand	%mm4,%mm5
4344	psllq	$23,%mm4
4345	paddq	%mm3,%mm0
4346	movq	%mm1,%mm3
4347	psrlq	$4,%mm1
4348	pxor	%mm6,%mm5
4349	pxor	%mm4,%mm3
4350	psllq	$23,%mm4
4351	pxor	%mm1,%mm3
4352	movq	%mm0,(%esp)
4353	paddq	%mm5,%mm7
4354	pxor	%mm4,%mm3
4355	psrlq	$23,%mm1
4356	paddq	56(%esp),%mm7
4357	pxor	%mm1,%mm3
4358	psllq	$4,%mm4
4359	pxor	%mm4,%mm3
4360	movq	24(%esp),%mm4
4361	paddq	%mm7,%mm3
4362	movq	%mm0,%mm5
4363	psrlq	$28,%mm5
4364	paddq	%mm3,%mm4
4365	movq	%mm0,%mm6
4366	movq	%mm5,%mm7
4367	psllq	$25,%mm6
4368	movq	8(%esp),%mm1
4369	psrlq	$6,%mm5
4370	pxor	%mm6,%mm7
4371	psllq	$5,%mm6
4372	pxor	%mm5,%mm7
4373	pxor	%mm1,%mm0
4374	psrlq	$5,%mm5
4375	pxor	%mm6,%mm7
4376	pand	%mm0,%mm2
4377	psllq	$6,%mm6
4378	pxor	%mm5,%mm7
4379	pxor	%mm1,%mm2
4380	pxor	%mm7,%mm6
4381	movq	32(%esp),%mm5
4382	paddq	%mm6,%mm2
4383	movq	40(%esp),%mm6
4384	movq	%mm4,%mm1
4385	movq	-120(%edx),%mm7
4386	pxor	%mm6,%mm5
4387	psrlq	$14,%mm1
4388	movq	%mm4,24(%esp)
4389	pand	%mm4,%mm5
4390	psllq	$23,%mm4
4391	paddq	%mm3,%mm2
4392	movq	%mm1,%mm3
4393	psrlq	$4,%mm1
4394	pxor	%mm6,%mm5
4395	pxor	%mm4,%mm3
4396	psllq	$23,%mm4
4397	pxor	%mm1,%mm3
4398	movq	%mm2,56(%esp)
4399	paddq	%mm5,%mm7
4400	pxor	%mm4,%mm3
4401	psrlq	$23,%mm1
4402	paddq	48(%esp),%mm7
4403	pxor	%mm1,%mm3
4404	psllq	$4,%mm4
4405	pxor	%mm4,%mm3
4406	movq	16(%esp),%mm4
4407	paddq	%mm7,%mm3
4408	movq	%mm2,%mm5
4409	psrlq	$28,%mm5
4410	paddq	%mm3,%mm4
4411	movq	%mm2,%mm6
4412	movq	%mm5,%mm7
4413	psllq	$25,%mm6
4414	movq	(%esp),%mm1
4415	psrlq	$6,%mm5
4416	pxor	%mm6,%mm7
4417	psllq	$5,%mm6
4418	pxor	%mm5,%mm7
4419	pxor	%mm1,%mm2
4420	psrlq	$5,%mm5
4421	pxor	%mm6,%mm7
4422	pand	%mm2,%mm0
4423	psllq	$6,%mm6
4424	pxor	%mm5,%mm7
4425	pxor	%mm1,%mm0
4426	pxor	%mm7,%mm6
4427	movq	24(%esp),%mm5
4428	paddq	%mm6,%mm0
4429	movq	32(%esp),%mm6
4430	movdqa	%xmm3,-128(%edx)
4431	movdqa	16(%ebp),%xmm4
4432	movdqa	%xmm2,%xmm3
4433	movdqu	32(%ebx),%xmm2
4434	paddq	%xmm1,%xmm4
4435.byte	102,15,56,0,211
4436	movq	%mm4,%mm1
4437	movq	-112(%edx),%mm7
4438	pxor	%mm6,%mm5
4439	psrlq	$14,%mm1
4440	movq	%mm4,16(%esp)
4441	pand	%mm4,%mm5
4442	psllq	$23,%mm4
4443	paddq	%mm3,%mm0
4444	movq	%mm1,%mm3
4445	psrlq	$4,%mm1
4446	pxor	%mm6,%mm5
4447	pxor	%mm4,%mm3
4448	psllq	$23,%mm4
4449	pxor	%mm1,%mm3
4450	movq	%mm0,48(%esp)
4451	paddq	%mm5,%mm7
4452	pxor	%mm4,%mm3
4453	psrlq	$23,%mm1
4454	paddq	40(%esp),%mm7
4455	pxor	%mm1,%mm3
4456	psllq	$4,%mm4
4457	pxor	%mm4,%mm3
4458	movq	8(%esp),%mm4
4459	paddq	%mm7,%mm3
4460	movq	%mm0,%mm5
4461	psrlq	$28,%mm5
4462	paddq	%mm3,%mm4
4463	movq	%mm0,%mm6
4464	movq	%mm5,%mm7
4465	psllq	$25,%mm6
4466	movq	56(%esp),%mm1
4467	psrlq	$6,%mm5
4468	pxor	%mm6,%mm7
4469	psllq	$5,%mm6
4470	pxor	%mm5,%mm7
4471	pxor	%mm1,%mm0
4472	psrlq	$5,%mm5
4473	pxor	%mm6,%mm7
4474	pand	%mm0,%mm2
4475	psllq	$6,%mm6
4476	pxor	%mm5,%mm7
4477	pxor	%mm1,%mm2
4478	pxor	%mm7,%mm6
4479	movq	16(%esp),%mm5
4480	paddq	%mm6,%mm2
4481	movq	24(%esp),%mm6
4482	movq	%mm4,%mm1
4483	movq	-104(%edx),%mm7
4484	pxor	%mm6,%mm5
4485	psrlq	$14,%mm1
4486	movq	%mm4,8(%esp)
4487	pand	%mm4,%mm5
4488	psllq	$23,%mm4
4489	paddq	%mm3,%mm2
4490	movq	%mm1,%mm3
4491	psrlq	$4,%mm1
4492	pxor	%mm6,%mm5
4493	pxor	%mm4,%mm3
4494	psllq	$23,%mm4
4495	pxor	%mm1,%mm3
4496	movq	%mm2,40(%esp)
4497	paddq	%mm5,%mm7
4498	pxor	%mm4,%mm3
4499	psrlq	$23,%mm1
4500	paddq	32(%esp),%mm7
4501	pxor	%mm1,%mm3
4502	psllq	$4,%mm4
4503	pxor	%mm4,%mm3
4504	movq	(%esp),%mm4
4505	paddq	%mm7,%mm3
4506	movq	%mm2,%mm5
4507	psrlq	$28,%mm5
4508	paddq	%mm3,%mm4
4509	movq	%mm2,%mm6
4510	movq	%mm5,%mm7
4511	psllq	$25,%mm6
4512	movq	48(%esp),%mm1
4513	psrlq	$6,%mm5
4514	pxor	%mm6,%mm7
4515	psllq	$5,%mm6
4516	pxor	%mm5,%mm7
4517	pxor	%mm1,%mm2
4518	psrlq	$5,%mm5
4519	pxor	%mm6,%mm7
4520	pand	%mm2,%mm0
4521	psllq	$6,%mm6
4522	pxor	%mm5,%mm7
4523	pxor	%mm1,%mm0
4524	pxor	%mm7,%mm6
4525	movq	8(%esp),%mm5
4526	paddq	%mm6,%mm0
4527	movq	16(%esp),%mm6
4528	movdqa	%xmm4,-112(%edx)
4529	movdqa	32(%ebp),%xmm5
4530	movdqa	%xmm3,%xmm4
4531	movdqu	48(%ebx),%xmm3
4532	paddq	%xmm2,%xmm5
4533.byte	102,15,56,0,220
4534	movq	%mm4,%mm1
4535	movq	-96(%edx),%mm7
4536	pxor	%mm6,%mm5
4537	psrlq	$14,%mm1
4538	movq	%mm4,(%esp)
4539	pand	%mm4,%mm5
4540	psllq	$23,%mm4
4541	paddq	%mm3,%mm0
4542	movq	%mm1,%mm3
4543	psrlq	$4,%mm1
4544	pxor	%mm6,%mm5
4545	pxor	%mm4,%mm3
4546	psllq	$23,%mm4
4547	pxor	%mm1,%mm3
4548	movq	%mm0,32(%esp)
4549	paddq	%mm5,%mm7
4550	pxor	%mm4,%mm3
4551	psrlq	$23,%mm1
4552	paddq	24(%esp),%mm7
4553	pxor	%mm1,%mm3
4554	psllq	$4,%mm4
4555	pxor	%mm4,%mm3
4556	movq	56(%esp),%mm4
4557	paddq	%mm7,%mm3
4558	movq	%mm0,%mm5
4559	psrlq	$28,%mm5
4560	paddq	%mm3,%mm4
4561	movq	%mm0,%mm6
4562	movq	%mm5,%mm7
4563	psllq	$25,%mm6
4564	movq	40(%esp),%mm1
4565	psrlq	$6,%mm5
4566	pxor	%mm6,%mm7
4567	psllq	$5,%mm6
4568	pxor	%mm5,%mm7
4569	pxor	%mm1,%mm0
4570	psrlq	$5,%mm5
4571	pxor	%mm6,%mm7
4572	pand	%mm0,%mm2
4573	psllq	$6,%mm6
4574	pxor	%mm5,%mm7
4575	pxor	%mm1,%mm2
4576	pxor	%mm7,%mm6
4577	movq	(%esp),%mm5
4578	paddq	%mm6,%mm2
4579	movq	8(%esp),%mm6
4580	movq	%mm4,%mm1
4581	movq	-88(%edx),%mm7
4582	pxor	%mm6,%mm5
4583	psrlq	$14,%mm1
4584	movq	%mm4,56(%esp)
4585	pand	%mm4,%mm5
4586	psllq	$23,%mm4
4587	paddq	%mm3,%mm2
4588	movq	%mm1,%mm3
4589	psrlq	$4,%mm1
4590	pxor	%mm6,%mm5
4591	pxor	%mm4,%mm3
4592	psllq	$23,%mm4
4593	pxor	%mm1,%mm3
4594	movq	%mm2,24(%esp)
4595	paddq	%mm5,%mm7
4596	pxor	%mm4,%mm3
4597	psrlq	$23,%mm1
4598	paddq	16(%esp),%mm7
4599	pxor	%mm1,%mm3
4600	psllq	$4,%mm4
4601	pxor	%mm4,%mm3
4602	movq	48(%esp),%mm4
4603	paddq	%mm7,%mm3
4604	movq	%mm2,%mm5
4605	psrlq	$28,%mm5
4606	paddq	%mm3,%mm4
4607	movq	%mm2,%mm6
4608	movq	%mm5,%mm7
4609	psllq	$25,%mm6
4610	movq	32(%esp),%mm1
4611	psrlq	$6,%mm5
4612	pxor	%mm6,%mm7
4613	psllq	$5,%mm6
4614	pxor	%mm5,%mm7
4615	pxor	%mm1,%mm2
4616	psrlq	$5,%mm5
4617	pxor	%mm6,%mm7
4618	pand	%mm2,%mm0
4619	psllq	$6,%mm6
4620	pxor	%mm5,%mm7
4621	pxor	%mm1,%mm0
4622	pxor	%mm7,%mm6
4623	movq	56(%esp),%mm5
4624	paddq	%mm6,%mm0
4625	movq	(%esp),%mm6
4626	movdqa	%xmm5,-96(%edx)
4627	movdqa	48(%ebp),%xmm6
4628	movdqa	%xmm4,%xmm5
4629	movdqu	64(%ebx),%xmm4
4630	paddq	%xmm3,%xmm6
4631.byte	102,15,56,0,229
4632	movq	%mm4,%mm1
4633	movq	-80(%edx),%mm7
4634	pxor	%mm6,%mm5
4635	psrlq	$14,%mm1
4636	movq	%mm4,48(%esp)
4637	pand	%mm4,%mm5
4638	psllq	$23,%mm4
4639	paddq	%mm3,%mm0
4640	movq	%mm1,%mm3
4641	psrlq	$4,%mm1
4642	pxor	%mm6,%mm5
4643	pxor	%mm4,%mm3
4644	psllq	$23,%mm4
4645	pxor	%mm1,%mm3
4646	movq	%mm0,16(%esp)
4647	paddq	%mm5,%mm7
4648	pxor	%mm4,%mm3
4649	psrlq	$23,%mm1
4650	paddq	8(%esp),%mm7
4651	pxor	%mm1,%mm3
4652	psllq	$4,%mm4
4653	pxor	%mm4,%mm3
4654	movq	40(%esp),%mm4
4655	paddq	%mm7,%mm3
4656	movq	%mm0,%mm5
4657	psrlq	$28,%mm5
4658	paddq	%mm3,%mm4
4659	movq	%mm0,%mm6
4660	movq	%mm5,%mm7
4661	psllq	$25,%mm6
4662	movq	24(%esp),%mm1
4663	psrlq	$6,%mm5
4664	pxor	%mm6,%mm7
4665	psllq	$5,%mm6
4666	pxor	%mm5,%mm7
4667	pxor	%mm1,%mm0
4668	psrlq	$5,%mm5
4669	pxor	%mm6,%mm7
4670	pand	%mm0,%mm2
4671	psllq	$6,%mm6
4672	pxor	%mm5,%mm7
4673	pxor	%mm1,%mm2
4674	pxor	%mm7,%mm6
4675	movq	48(%esp),%mm5
4676	paddq	%mm6,%mm2
4677	movq	56(%esp),%mm6
4678	movq	%mm4,%mm1
4679	movq	-72(%edx),%mm7
4680	pxor	%mm6,%mm5
4681	psrlq	$14,%mm1
4682	movq	%mm4,40(%esp)
4683	pand	%mm4,%mm5
4684	psllq	$23,%mm4
4685	paddq	%mm3,%mm2
4686	movq	%mm1,%mm3
4687	psrlq	$4,%mm1
4688	pxor	%mm6,%mm5
4689	pxor	%mm4,%mm3
4690	psllq	$23,%mm4
4691	pxor	%mm1,%mm3
4692	movq	%mm2,8(%esp)
4693	paddq	%mm5,%mm7
4694	pxor	%mm4,%mm3
4695	psrlq	$23,%mm1
4696	paddq	(%esp),%mm7
4697	pxor	%mm1,%mm3
4698	psllq	$4,%mm4
4699	pxor	%mm4,%mm3
4700	movq	32(%esp),%mm4
4701	paddq	%mm7,%mm3
4702	movq	%mm2,%mm5
4703	psrlq	$28,%mm5
4704	paddq	%mm3,%mm4
4705	movq	%mm2,%mm6
4706	movq	%mm5,%mm7
4707	psllq	$25,%mm6
4708	movq	16(%esp),%mm1
4709	psrlq	$6,%mm5
4710	pxor	%mm6,%mm7
4711	psllq	$5,%mm6
4712	pxor	%mm5,%mm7
4713	pxor	%mm1,%mm2
4714	psrlq	$5,%mm5
4715	pxor	%mm6,%mm7
4716	pand	%mm2,%mm0
4717	psllq	$6,%mm6
4718	pxor	%mm5,%mm7
4719	pxor	%mm1,%mm0
4720	pxor	%mm7,%mm6
4721	movq	40(%esp),%mm5
4722	paddq	%mm6,%mm0
4723	movq	48(%esp),%mm6
4724	movdqa	%xmm6,-80(%edx)
4725	movdqa	64(%ebp),%xmm7
4726	movdqa	%xmm5,%xmm6
4727	movdqu	80(%ebx),%xmm5
4728	paddq	%xmm4,%xmm7
4729.byte	102,15,56,0,238
4730	movq	%mm4,%mm1
4731	movq	-64(%edx),%mm7
4732	pxor	%mm6,%mm5
4733	psrlq	$14,%mm1
4734	movq	%mm4,32(%esp)
4735	pand	%mm4,%mm5
4736	psllq	$23,%mm4
4737	paddq	%mm3,%mm0
4738	movq	%mm1,%mm3
4739	psrlq	$4,%mm1
4740	pxor	%mm6,%mm5
4741	pxor	%mm4,%mm3
4742	psllq	$23,%mm4
4743	pxor	%mm1,%mm3
4744	movq	%mm0,(%esp)
4745	paddq	%mm5,%mm7
4746	pxor	%mm4,%mm3
4747	psrlq	$23,%mm1
4748	paddq	56(%esp),%mm7
4749	pxor	%mm1,%mm3
4750	psllq	$4,%mm4
4751	pxor	%mm4,%mm3
4752	movq	24(%esp),%mm4
4753	paddq	%mm7,%mm3
4754	movq	%mm0,%mm5
4755	psrlq	$28,%mm5
4756	paddq	%mm3,%mm4
4757	movq	%mm0,%mm6
4758	movq	%mm5,%mm7
4759	psllq	$25,%mm6
4760	movq	8(%esp),%mm1
4761	psrlq	$6,%mm5
4762	pxor	%mm6,%mm7
4763	psllq	$5,%mm6
4764	pxor	%mm5,%mm7
4765	pxor	%mm1,%mm0
4766	psrlq	$5,%mm5
4767	pxor	%mm6,%mm7
4768	pand	%mm0,%mm2
4769	psllq	$6,%mm6
4770	pxor	%mm5,%mm7
4771	pxor	%mm1,%mm2
4772	pxor	%mm7,%mm6
4773	movq	32(%esp),%mm5
4774	paddq	%mm6,%mm2
4775	movq	40(%esp),%mm6
4776	movq	%mm4,%mm1
4777	movq	-56(%edx),%mm7
4778	pxor	%mm6,%mm5
4779	psrlq	$14,%mm1
4780	movq	%mm4,24(%esp)
4781	pand	%mm4,%mm5
4782	psllq	$23,%mm4
4783	paddq	%mm3,%mm2
4784	movq	%mm1,%mm3
4785	psrlq	$4,%mm1
4786	pxor	%mm6,%mm5
4787	pxor	%mm4,%mm3
4788	psllq	$23,%mm4
4789	pxor	%mm1,%mm3
4790	movq	%mm2,56(%esp)
4791	paddq	%mm5,%mm7
4792	pxor	%mm4,%mm3
4793	psrlq	$23,%mm1
4794	paddq	48(%esp),%mm7
4795	pxor	%mm1,%mm3
4796	psllq	$4,%mm4
4797	pxor	%mm4,%mm3
4798	movq	16(%esp),%mm4
4799	paddq	%mm7,%mm3
4800	movq	%mm2,%mm5
4801	psrlq	$28,%mm5
4802	paddq	%mm3,%mm4
4803	movq	%mm2,%mm6
4804	movq	%mm5,%mm7
4805	psllq	$25,%mm6
4806	movq	(%esp),%mm1
4807	psrlq	$6,%mm5
4808	pxor	%mm6,%mm7
4809	psllq	$5,%mm6
4810	pxor	%mm5,%mm7
4811	pxor	%mm1,%mm2
4812	psrlq	$5,%mm5
4813	pxor	%mm6,%mm7
4814	pand	%mm2,%mm0
4815	psllq	$6,%mm6
4816	pxor	%mm5,%mm7
4817	pxor	%mm1,%mm0
4818	pxor	%mm7,%mm6
4819	movq	24(%esp),%mm5
4820	paddq	%mm6,%mm0
4821	movq	32(%esp),%mm6
4822	movdqa	%xmm7,-64(%edx)
4823	movdqa	%xmm0,(%edx)
4824	movdqa	80(%ebp),%xmm0
4825	movdqa	%xmm6,%xmm7
4826	movdqu	96(%ebx),%xmm6
4827	paddq	%xmm5,%xmm0
4828.byte	102,15,56,0,247
4829	movq	%mm4,%mm1
4830	movq	-48(%edx),%mm7
4831	pxor	%mm6,%mm5
4832	psrlq	$14,%mm1
4833	movq	%mm4,16(%esp)
4834	pand	%mm4,%mm5
4835	psllq	$23,%mm4
4836	paddq	%mm3,%mm0
4837	movq	%mm1,%mm3
4838	psrlq	$4,%mm1
4839	pxor	%mm6,%mm5
4840	pxor	%mm4,%mm3
4841	psllq	$23,%mm4
4842	pxor	%mm1,%mm3
4843	movq	%mm0,48(%esp)
4844	paddq	%mm5,%mm7
4845	pxor	%mm4,%mm3
4846	psrlq	$23,%mm1
4847	paddq	40(%esp),%mm7
4848	pxor	%mm1,%mm3
4849	psllq	$4,%mm4
4850	pxor	%mm4,%mm3
4851	movq	8(%esp),%mm4
4852	paddq	%mm7,%mm3
4853	movq	%mm0,%mm5
4854	psrlq	$28,%mm5
4855	paddq	%mm3,%mm4
4856	movq	%mm0,%mm6
4857	movq	%mm5,%mm7
4858	psllq	$25,%mm6
4859	movq	56(%esp),%mm1
4860	psrlq	$6,%mm5
4861	pxor	%mm6,%mm7
4862	psllq	$5,%mm6
4863	pxor	%mm5,%mm7
4864	pxor	%mm1,%mm0
4865	psrlq	$5,%mm5
4866	pxor	%mm6,%mm7
4867	pand	%mm0,%mm2
4868	psllq	$6,%mm6
4869	pxor	%mm5,%mm7
4870	pxor	%mm1,%mm2
4871	pxor	%mm7,%mm6
4872	movq	16(%esp),%mm5
4873	paddq	%mm6,%mm2
4874	movq	24(%esp),%mm6
4875	movq	%mm4,%mm1
4876	movq	-40(%edx),%mm7
4877	pxor	%mm6,%mm5
4878	psrlq	$14,%mm1
4879	movq	%mm4,8(%esp)
4880	pand	%mm4,%mm5
4881	psllq	$23,%mm4
4882	paddq	%mm3,%mm2
4883	movq	%mm1,%mm3
4884	psrlq	$4,%mm1
4885	pxor	%mm6,%mm5
4886	pxor	%mm4,%mm3
4887	psllq	$23,%mm4
4888	pxor	%mm1,%mm3
4889	movq	%mm2,40(%esp)
4890	paddq	%mm5,%mm7
4891	pxor	%mm4,%mm3
4892	psrlq	$23,%mm1
4893	paddq	32(%esp),%mm7
4894	pxor	%mm1,%mm3
4895	psllq	$4,%mm4
4896	pxor	%mm4,%mm3
4897	movq	(%esp),%mm4
4898	paddq	%mm7,%mm3
4899	movq	%mm2,%mm5
4900	psrlq	$28,%mm5
4901	paddq	%mm3,%mm4
4902	movq	%mm2,%mm6
4903	movq	%mm5,%mm7
4904	psllq	$25,%mm6
4905	movq	48(%esp),%mm1
4906	psrlq	$6,%mm5
4907	pxor	%mm6,%mm7
4908	psllq	$5,%mm6
4909	pxor	%mm5,%mm7
4910	pxor	%mm1,%mm2
4911	psrlq	$5,%mm5
4912	pxor	%mm6,%mm7
4913	pand	%mm2,%mm0
4914	psllq	$6,%mm6
4915	pxor	%mm5,%mm7
4916	pxor	%mm1,%mm0
4917	pxor	%mm7,%mm6
4918	movq	8(%esp),%mm5
4919	paddq	%mm6,%mm0
4920	movq	16(%esp),%mm6
4921	movdqa	%xmm0,-48(%edx)
4922	movdqa	%xmm1,16(%edx)
4923	movdqa	96(%ebp),%xmm1
4924	movdqa	%xmm7,%xmm0
4925	movdqu	112(%ebx),%xmm7
4926	paddq	%xmm6,%xmm1
4927.byte	102,15,56,0,248
4928	movq	%mm4,%mm1
4929	movq	-32(%edx),%mm7
4930	pxor	%mm6,%mm5
4931	psrlq	$14,%mm1
4932	movq	%mm4,(%esp)
4933	pand	%mm4,%mm5
4934	psllq	$23,%mm4
4935	paddq	%mm3,%mm0
4936	movq	%mm1,%mm3
4937	psrlq	$4,%mm1
4938	pxor	%mm6,%mm5
4939	pxor	%mm4,%mm3
4940	psllq	$23,%mm4
4941	pxor	%mm1,%mm3
4942	movq	%mm0,32(%esp)
4943	paddq	%mm5,%mm7
4944	pxor	%mm4,%mm3
4945	psrlq	$23,%mm1
4946	paddq	24(%esp),%mm7
4947	pxor	%mm1,%mm3
4948	psllq	$4,%mm4
4949	pxor	%mm4,%mm3
4950	movq	56(%esp),%mm4
4951	paddq	%mm7,%mm3
4952	movq	%mm0,%mm5
4953	psrlq	$28,%mm5
4954	paddq	%mm3,%mm4
4955	movq	%mm0,%mm6
4956	movq	%mm5,%mm7
4957	psllq	$25,%mm6
4958	movq	40(%esp),%mm1
4959	psrlq	$6,%mm5
4960	pxor	%mm6,%mm7
4961	psllq	$5,%mm6
4962	pxor	%mm5,%mm7
4963	pxor	%mm1,%mm0
4964	psrlq	$5,%mm5
4965	pxor	%mm6,%mm7
4966	pand	%mm0,%mm2
4967	psllq	$6,%mm6
4968	pxor	%mm5,%mm7
4969	pxor	%mm1,%mm2
4970	pxor	%mm7,%mm6
4971	movq	(%esp),%mm5
4972	paddq	%mm6,%mm2
4973	movq	8(%esp),%mm6
4974	movq	%mm4,%mm1
4975	movq	-24(%edx),%mm7
4976	pxor	%mm6,%mm5
4977	psrlq	$14,%mm1
4978	movq	%mm4,56(%esp)
4979	pand	%mm4,%mm5
4980	psllq	$23,%mm4
4981	paddq	%mm3,%mm2
4982	movq	%mm1,%mm3
4983	psrlq	$4,%mm1
4984	pxor	%mm6,%mm5
4985	pxor	%mm4,%mm3
4986	psllq	$23,%mm4
4987	pxor	%mm1,%mm3
4988	movq	%mm2,24(%esp)
4989	paddq	%mm5,%mm7
4990	pxor	%mm4,%mm3
4991	psrlq	$23,%mm1
4992	paddq	16(%esp),%mm7
4993	pxor	%mm1,%mm3
4994	psllq	$4,%mm4
4995	pxor	%mm4,%mm3
4996	movq	48(%esp),%mm4
4997	paddq	%mm7,%mm3
4998	movq	%mm2,%mm5
4999	psrlq	$28,%mm5
5000	paddq	%mm3,%mm4
5001	movq	%mm2,%mm6
5002	movq	%mm5,%mm7
5003	psllq	$25,%mm6
5004	movq	32(%esp),%mm1
5005	psrlq	$6,%mm5
5006	pxor	%mm6,%mm7
5007	psllq	$5,%mm6
5008	pxor	%mm5,%mm7
5009	pxor	%mm1,%mm2
5010	psrlq	$5,%mm5
5011	pxor	%mm6,%mm7
5012	pand	%mm2,%mm0
5013	psllq	$6,%mm6
5014	pxor	%mm5,%mm7
5015	pxor	%mm1,%mm0
5016	pxor	%mm7,%mm6
5017	movq	56(%esp),%mm5
5018	paddq	%mm6,%mm0
5019	movq	(%esp),%mm6
5020	movdqa	%xmm1,-32(%edx)
5021	movdqa	%xmm2,32(%edx)
5022	movdqa	112(%ebp),%xmm2
5023	movdqa	(%edx),%xmm0
5024	paddq	%xmm7,%xmm2
5025	movq	%mm4,%mm1
5026	movq	-16(%edx),%mm7
5027	pxor	%mm6,%mm5
5028	psrlq	$14,%mm1
5029	movq	%mm4,48(%esp)
5030	pand	%mm4,%mm5
5031	psllq	$23,%mm4
5032	paddq	%mm3,%mm0
5033	movq	%mm1,%mm3
5034	psrlq	$4,%mm1
5035	pxor	%mm6,%mm5
5036	pxor	%mm4,%mm3
5037	psllq	$23,%mm4
5038	pxor	%mm1,%mm3
5039	movq	%mm0,16(%esp)
5040	paddq	%mm5,%mm7
5041	pxor	%mm4,%mm3
5042	psrlq	$23,%mm1
5043	paddq	8(%esp),%mm7
5044	pxor	%mm1,%mm3
5045	psllq	$4,%mm4
5046	pxor	%mm4,%mm3
5047	movq	40(%esp),%mm4
5048	paddq	%mm7,%mm3
5049	movq	%mm0,%mm5
5050	psrlq	$28,%mm5
5051	paddq	%mm3,%mm4
5052	movq	%mm0,%mm6
5053	movq	%mm5,%mm7
5054	psllq	$25,%mm6
5055	movq	24(%esp),%mm1
5056	psrlq	$6,%mm5
5057	pxor	%mm6,%mm7
5058	psllq	$5,%mm6
5059	pxor	%mm5,%mm7
5060	pxor	%mm1,%mm0
5061	psrlq	$5,%mm5
5062	pxor	%mm6,%mm7
5063	pand	%mm0,%mm2
5064	psllq	$6,%mm6
5065	pxor	%mm5,%mm7
5066	pxor	%mm1,%mm2
5067	pxor	%mm7,%mm6
5068	movq	48(%esp),%mm5
5069	paddq	%mm6,%mm2
5070	movq	56(%esp),%mm6
5071	movq	%mm4,%mm1
5072	movq	-8(%edx),%mm7
5073	pxor	%mm6,%mm5
5074	psrlq	$14,%mm1
5075	movq	%mm4,40(%esp)
5076	pand	%mm4,%mm5
5077	psllq	$23,%mm4
5078	paddq	%mm3,%mm2
5079	movq	%mm1,%mm3
5080	psrlq	$4,%mm1
5081	pxor	%mm6,%mm5
5082	pxor	%mm4,%mm3
5083	psllq	$23,%mm4
5084	pxor	%mm1,%mm3
5085	movq	%mm2,8(%esp)
5086	paddq	%mm5,%mm7
5087	pxor	%mm4,%mm3
5088	psrlq	$23,%mm1
5089	paddq	(%esp),%mm7
5090	pxor	%mm1,%mm3
5091	psllq	$4,%mm4
5092	pxor	%mm4,%mm3
5093	movq	32(%esp),%mm4
5094	paddq	%mm7,%mm3
5095	movq	%mm2,%mm5
5096	psrlq	$28,%mm5
5097	paddq	%mm3,%mm4
5098	movq	%mm2,%mm6
5099	movq	%mm5,%mm7
5100	psllq	$25,%mm6
5101	movq	16(%esp),%mm1
5102	psrlq	$6,%mm5
5103	pxor	%mm6,%mm7
5104	psllq	$5,%mm6
5105	pxor	%mm5,%mm7
5106	pxor	%mm1,%mm2
5107	psrlq	$5,%mm5
5108	pxor	%mm6,%mm7
5109	pand	%mm2,%mm0
5110	psllq	$6,%mm6
5111	pxor	%mm5,%mm7
5112	pxor	%mm1,%mm0
5113	pxor	%mm7,%mm6
5114	movq	40(%esp),%mm5
5115	paddq	%mm6,%mm0
5116	movq	48(%esp),%mm6
5117	movdqa	%xmm2,-16(%edx)
5118	movq	8(%esp),%mm1
5119	paddq	%mm3,%mm0
5120	movq	24(%esp),%mm3
5121	movq	56(%esp),%mm7
5122	pxor	%mm1,%mm2
5123	paddq	(%esi),%mm0
5124	paddq	8(%esi),%mm1
5125	paddq	16(%esi),%mm2
5126	paddq	24(%esi),%mm3
5127	paddq	32(%esi),%mm4
5128	paddq	40(%esi),%mm5
5129	paddq	48(%esi),%mm6
5130	paddq	56(%esi),%mm7
5131	movq	%mm0,(%esi)
5132	movq	%mm1,8(%esi)
5133	movq	%mm2,16(%esi)
5134	movq	%mm3,24(%esi)
5135	movq	%mm4,32(%esi)
5136	movq	%mm5,40(%esi)
5137	movq	%mm6,48(%esi)
5138	movq	%mm7,56(%esi)
5139	cmpl	%eax,%edi
5140	jb	.L007loop_ssse3
5141	movl	76(%edx),%esp
5142	emms
5143	popl	%edi
5144	popl	%esi
5145	popl	%ebx
5146	popl	%ebp
5147	ret
5148.align	16
5149.L002loop_x86:
5150	movl	(%edi),%eax
5151	movl	4(%edi),%ebx
5152	movl	8(%edi),%ecx
5153	movl	12(%edi),%edx
5154	bswap	%eax
5155	bswap	%ebx
5156	bswap	%ecx
5157	bswap	%edx
5158	pushl	%eax
5159	pushl	%ebx
5160	pushl	%ecx
5161	pushl	%edx
5162	movl	16(%edi),%eax
5163	movl	20(%edi),%ebx
5164	movl	24(%edi),%ecx
5165	movl	28(%edi),%edx
5166	bswap	%eax
5167	bswap	%ebx
5168	bswap	%ecx
5169	bswap	%edx
5170	pushl	%eax
5171	pushl	%ebx
5172	pushl	%ecx
5173	pushl	%edx
5174	movl	32(%edi),%eax
5175	movl	36(%edi),%ebx
5176	movl	40(%edi),%ecx
5177	movl	44(%edi),%edx
5178	bswap	%eax
5179	bswap	%ebx
5180	bswap	%ecx
5181	bswap	%edx
5182	pushl	%eax
5183	pushl	%ebx
5184	pushl	%ecx
5185	pushl	%edx
5186	movl	48(%edi),%eax
5187	movl	52(%edi),%ebx
5188	movl	56(%edi),%ecx
5189	movl	60(%edi),%edx
5190	bswap	%eax
5191	bswap	%ebx
5192	bswap	%ecx
5193	bswap	%edx
5194	pushl	%eax
5195	pushl	%ebx
5196	pushl	%ecx
5197	pushl	%edx
5198	movl	64(%edi),%eax
5199	movl	68(%edi),%ebx
5200	movl	72(%edi),%ecx
5201	movl	76(%edi),%edx
5202	bswap	%eax
5203	bswap	%ebx
5204	bswap	%ecx
5205	bswap	%edx
5206	pushl	%eax
5207	pushl	%ebx
5208	pushl	%ecx
5209	pushl	%edx
5210	movl	80(%edi),%eax
5211	movl	84(%edi),%ebx
5212	movl	88(%edi),%ecx
5213	movl	92(%edi),%edx
5214	bswap	%eax
5215	bswap	%ebx
5216	bswap	%ecx
5217	bswap	%edx
5218	pushl	%eax
5219	pushl	%ebx
5220	pushl	%ecx
5221	pushl	%edx
5222	movl	96(%edi),%eax
5223	movl	100(%edi),%ebx
5224	movl	104(%edi),%ecx
5225	movl	108(%edi),%edx
5226	bswap	%eax
5227	bswap	%ebx
5228	bswap	%ecx
5229	bswap	%edx
5230	pushl	%eax
5231	pushl	%ebx
5232	pushl	%ecx
5233	pushl	%edx
5234	movl	112(%edi),%eax
5235	movl	116(%edi),%ebx
5236	movl	120(%edi),%ecx
5237	movl	124(%edi),%edx
5238	bswap	%eax
5239	bswap	%ebx
5240	bswap	%ecx
5241	bswap	%edx
5242	pushl	%eax
5243	pushl	%ebx
5244	pushl	%ecx
5245	pushl	%edx
5246	addl	$128,%edi
5247	subl	$72,%esp
5248	movl	%edi,204(%esp)
5249	leal	8(%esp),%edi
5250	movl	$16,%ecx
5251.long	2784229001
5252.align	16
5253.L00900_15_x86:
5254	movl	40(%esp),%ecx
5255	movl	44(%esp),%edx
5256	movl	%ecx,%esi
5257	shrl	$9,%ecx
5258	movl	%edx,%edi
5259	shrl	$9,%edx
5260	movl	%ecx,%ebx
5261	shll	$14,%esi
5262	movl	%edx,%eax
5263	shll	$14,%edi
5264	xorl	%esi,%ebx
5265	shrl	$5,%ecx
5266	xorl	%edi,%eax
5267	shrl	$5,%edx
5268	xorl	%ecx,%eax
5269	shll	$4,%esi
5270	xorl	%edx,%ebx
5271	shll	$4,%edi
5272	xorl	%esi,%ebx
5273	shrl	$4,%ecx
5274	xorl	%edi,%eax
5275	shrl	$4,%edx
5276	xorl	%ecx,%eax
5277	shll	$5,%esi
5278	xorl	%edx,%ebx
5279	shll	$5,%edi
5280	xorl	%esi,%eax
5281	xorl	%edi,%ebx
5282	movl	48(%esp),%ecx
5283	movl	52(%esp),%edx
5284	movl	56(%esp),%esi
5285	movl	60(%esp),%edi
5286	addl	64(%esp),%eax
5287	adcl	68(%esp),%ebx
5288	xorl	%esi,%ecx
5289	xorl	%edi,%edx
5290	andl	40(%esp),%ecx
5291	andl	44(%esp),%edx
5292	addl	192(%esp),%eax
5293	adcl	196(%esp),%ebx
5294	xorl	%esi,%ecx
5295	xorl	%edi,%edx
5296	movl	(%ebp),%esi
5297	movl	4(%ebp),%edi
5298	addl	%ecx,%eax
5299	adcl	%edx,%ebx
5300	movl	32(%esp),%ecx
5301	movl	36(%esp),%edx
5302	addl	%esi,%eax
5303	adcl	%edi,%ebx
5304	movl	%eax,(%esp)
5305	movl	%ebx,4(%esp)
5306	addl	%ecx,%eax
5307	adcl	%edx,%ebx
5308	movl	8(%esp),%ecx
5309	movl	12(%esp),%edx
5310	movl	%eax,32(%esp)
5311	movl	%ebx,36(%esp)
5312	movl	%ecx,%esi
5313	shrl	$2,%ecx
5314	movl	%edx,%edi
5315	shrl	$2,%edx
5316	movl	%ecx,%ebx
5317	shll	$4,%esi
5318	movl	%edx,%eax
5319	shll	$4,%edi
5320	xorl	%esi,%ebx
5321	shrl	$5,%ecx
5322	xorl	%edi,%eax
5323	shrl	$5,%edx
5324	xorl	%ecx,%ebx
5325	shll	$21,%esi
5326	xorl	%edx,%eax
5327	shll	$21,%edi
5328	xorl	%esi,%eax
5329	shrl	$21,%ecx
5330	xorl	%edi,%ebx
5331	shrl	$21,%edx
5332	xorl	%ecx,%eax
5333	shll	$5,%esi
5334	xorl	%edx,%ebx
5335	shll	$5,%edi
5336	xorl	%esi,%eax
5337	xorl	%edi,%ebx
5338	movl	8(%esp),%ecx
5339	movl	12(%esp),%edx
5340	movl	16(%esp),%esi
5341	movl	20(%esp),%edi
5342	addl	(%esp),%eax
5343	adcl	4(%esp),%ebx
5344	orl	%esi,%ecx
5345	orl	%edi,%edx
5346	andl	24(%esp),%ecx
5347	andl	28(%esp),%edx
5348	andl	8(%esp),%esi
5349	andl	12(%esp),%edi
5350	orl	%esi,%ecx
5351	orl	%edi,%edx
5352	addl	%ecx,%eax
5353	adcl	%edx,%ebx
5354	movl	%eax,(%esp)
5355	movl	%ebx,4(%esp)
5356	movb	(%ebp),%dl
5357	subl	$8,%esp
5358	leal	8(%ebp),%ebp
5359	cmpb	$148,%dl
5360	jne	.L00900_15_x86
5361.align	16
5362.L01016_79_x86:
5363	movl	312(%esp),%ecx
5364	movl	316(%esp),%edx
5365	movl	%ecx,%esi
5366	shrl	$1,%ecx
5367	movl	%edx,%edi
5368	shrl	$1,%edx
5369	movl	%ecx,%eax
5370	shll	$24,%esi
5371	movl	%edx,%ebx
5372	shll	$24,%edi
5373	xorl	%esi,%ebx
5374	shrl	$6,%ecx
5375	xorl	%edi,%eax
5376	shrl	$6,%edx
5377	xorl	%ecx,%eax
5378	shll	$7,%esi
5379	xorl	%edx,%ebx
5380	shll	$1,%edi
5381	xorl	%esi,%ebx
5382	shrl	$1,%ecx
5383	xorl	%edi,%eax
5384	shrl	$1,%edx
5385	xorl	%ecx,%eax
5386	shll	$6,%edi
5387	xorl	%edx,%ebx
5388	xorl	%edi,%eax
5389	movl	%eax,(%esp)
5390	movl	%ebx,4(%esp)
5391	movl	208(%esp),%ecx
5392	movl	212(%esp),%edx
5393	movl	%ecx,%esi
5394	shrl	$6,%ecx
5395	movl	%edx,%edi
5396	shrl	$6,%edx
5397	movl	%ecx,%eax
5398	shll	$3,%esi
5399	movl	%edx,%ebx
5400	shll	$3,%edi
5401	xorl	%esi,%eax
5402	shrl	$13,%ecx
5403	xorl	%edi,%ebx
5404	shrl	$13,%edx
5405	xorl	%ecx,%eax
5406	shll	$10,%esi
5407	xorl	%edx,%ebx
5408	shll	$10,%edi
5409	xorl	%esi,%ebx
5410	shrl	$10,%ecx
5411	xorl	%edi,%eax
5412	shrl	$10,%edx
5413	xorl	%ecx,%ebx
5414	shll	$13,%edi
5415	xorl	%edx,%eax
5416	xorl	%edi,%eax
5417	movl	320(%esp),%ecx
5418	movl	324(%esp),%edx
5419	addl	(%esp),%eax
5420	adcl	4(%esp),%ebx
5421	movl	248(%esp),%esi
5422	movl	252(%esp),%edi
5423	addl	%ecx,%eax
5424	adcl	%edx,%ebx
5425	addl	%esi,%eax
5426	adcl	%edi,%ebx
5427	movl	%eax,192(%esp)
5428	movl	%ebx,196(%esp)
5429	movl	40(%esp),%ecx
5430	movl	44(%esp),%edx
5431	movl	%ecx,%esi
5432	shrl	$9,%ecx
5433	movl	%edx,%edi
5434	shrl	$9,%edx
5435	movl	%ecx,%ebx
5436	shll	$14,%esi
5437	movl	%edx,%eax
5438	shll	$14,%edi
5439	xorl	%esi,%ebx
5440	shrl	$5,%ecx
5441	xorl	%edi,%eax
5442	shrl	$5,%edx
5443	xorl	%ecx,%eax
5444	shll	$4,%esi
5445	xorl	%edx,%ebx
5446	shll	$4,%edi
5447	xorl	%esi,%ebx
5448	shrl	$4,%ecx
5449	xorl	%edi,%eax
5450	shrl	$4,%edx
5451	xorl	%ecx,%eax
5452	shll	$5,%esi
5453	xorl	%edx,%ebx
5454	shll	$5,%edi
5455	xorl	%esi,%eax
5456	xorl	%edi,%ebx
5457	movl	48(%esp),%ecx
5458	movl	52(%esp),%edx
5459	movl	56(%esp),%esi
5460	movl	60(%esp),%edi
5461	addl	64(%esp),%eax
5462	adcl	68(%esp),%ebx
5463	xorl	%esi,%ecx
5464	xorl	%edi,%edx
5465	andl	40(%esp),%ecx
5466	andl	44(%esp),%edx
5467	addl	192(%esp),%eax
5468	adcl	196(%esp),%ebx
5469	xorl	%esi,%ecx
5470	xorl	%edi,%edx
5471	movl	(%ebp),%esi
5472	movl	4(%ebp),%edi
5473	addl	%ecx,%eax
5474	adcl	%edx,%ebx
5475	movl	32(%esp),%ecx
5476	movl	36(%esp),%edx
5477	addl	%esi,%eax
5478	adcl	%edi,%ebx
5479	movl	%eax,(%esp)
5480	movl	%ebx,4(%esp)
5481	addl	%ecx,%eax
5482	adcl	%edx,%ebx
5483	movl	8(%esp),%ecx
5484	movl	12(%esp),%edx
5485	movl	%eax,32(%esp)
5486	movl	%ebx,36(%esp)
5487	movl	%ecx,%esi
5488	shrl	$2,%ecx
5489	movl	%edx,%edi
5490	shrl	$2,%edx
5491	movl	%ecx,%ebx
5492	shll	$4,%esi
5493	movl	%edx,%eax
5494	shll	$4,%edi
5495	xorl	%esi,%ebx
5496	shrl	$5,%ecx
5497	xorl	%edi,%eax
5498	shrl	$5,%edx
5499	xorl	%ecx,%ebx
5500	shll	$21,%esi
5501	xorl	%edx,%eax
5502	shll	$21,%edi
5503	xorl	%esi,%eax
5504	shrl	$21,%ecx
5505	xorl	%edi,%ebx
5506	shrl	$21,%edx
5507	xorl	%ecx,%eax
5508	shll	$5,%esi
5509	xorl	%edx,%ebx
5510	shll	$5,%edi
5511	xorl	%esi,%eax
5512	xorl	%edi,%ebx
5513	movl	8(%esp),%ecx
5514	movl	12(%esp),%edx
5515	movl	16(%esp),%esi
5516	movl	20(%esp),%edi
5517	addl	(%esp),%eax
5518	adcl	4(%esp),%ebx
5519	orl	%esi,%ecx
5520	orl	%edi,%edx
5521	andl	24(%esp),%ecx
5522	andl	28(%esp),%edx
5523	andl	8(%esp),%esi
5524	andl	12(%esp),%edi
5525	orl	%esi,%ecx
5526	orl	%edi,%edx
5527	addl	%ecx,%eax
5528	adcl	%edx,%ebx
5529	movl	%eax,(%esp)
5530	movl	%ebx,4(%esp)
5531	movb	(%ebp),%dl
5532	subl	$8,%esp
5533	leal	8(%ebp),%ebp
5534	cmpb	$23,%dl
5535	jne	.L01016_79_x86
5536	movl	840(%esp),%esi
5537	movl	844(%esp),%edi
5538	movl	(%esi),%eax
5539	movl	4(%esi),%ebx
5540	movl	8(%esi),%ecx
5541	movl	12(%esi),%edx
5542	addl	8(%esp),%eax
5543	adcl	12(%esp),%ebx
5544	movl	%eax,(%esi)
5545	movl	%ebx,4(%esi)
5546	addl	16(%esp),%ecx
5547	adcl	20(%esp),%edx
5548	movl	%ecx,8(%esi)
5549	movl	%edx,12(%esi)
5550	movl	16(%esi),%eax
5551	movl	20(%esi),%ebx
5552	movl	24(%esi),%ecx
5553	movl	28(%esi),%edx
5554	addl	24(%esp),%eax
5555	adcl	28(%esp),%ebx
5556	movl	%eax,16(%esi)
5557	movl	%ebx,20(%esi)
5558	addl	32(%esp),%ecx
5559	adcl	36(%esp),%edx
5560	movl	%ecx,24(%esi)
5561	movl	%edx,28(%esi)
5562	movl	32(%esi),%eax
5563	movl	36(%esi),%ebx
5564	movl	40(%esi),%ecx
5565	movl	44(%esi),%edx
5566	addl	40(%esp),%eax
5567	adcl	44(%esp),%ebx
5568	movl	%eax,32(%esi)
5569	movl	%ebx,36(%esi)
5570	addl	48(%esp),%ecx
5571	adcl	52(%esp),%edx
5572	movl	%ecx,40(%esi)
5573	movl	%edx,44(%esi)
5574	movl	48(%esi),%eax
5575	movl	52(%esi),%ebx
5576	movl	56(%esi),%ecx
5577	movl	60(%esi),%edx
5578	addl	56(%esp),%eax
5579	adcl	60(%esp),%ebx
5580	movl	%eax,48(%esi)
5581	movl	%ebx,52(%esi)
5582	addl	64(%esp),%ecx
5583	adcl	68(%esp),%edx
5584	movl	%ecx,56(%esi)
5585	movl	%edx,60(%esi)
5586	addl	$840,%esp
5587	subl	$640,%ebp
5588	cmpl	8(%esp),%edi
5589	jb	.L002loop_x86
5590	movl	12(%esp),%esp
5591	popl	%edi
5592	popl	%esi
5593	popl	%ebx
5594	popl	%ebp
5595	ret
5596.align	64
5597.L001K512:
5598.long	3609767458,1116352408
5599.long	602891725,1899447441
5600.long	3964484399,3049323471
5601.long	2173295548,3921009573
5602.long	4081628472,961987163
5603.long	3053834265,1508970993
5604.long	2937671579,2453635748
5605.long	3664609560,2870763221
5606.long	2734883394,3624381080
5607.long	1164996542,310598401
5608.long	1323610764,607225278
5609.long	3590304994,1426881987
5610.long	4068182383,1925078388
5611.long	991336113,2162078206
5612.long	633803317,2614888103
5613.long	3479774868,3248222580
5614.long	2666613458,3835390401
5615.long	944711139,4022224774
5616.long	2341262773,264347078
5617.long	2007800933,604807628
5618.long	1495990901,770255983
5619.long	1856431235,1249150122
5620.long	3175218132,1555081692
5621.long	2198950837,1996064986
5622.long	3999719339,2554220882
5623.long	766784016,2821834349
5624.long	2566594879,2952996808
5625.long	3203337956,3210313671
5626.long	1034457026,3336571891
5627.long	2466948901,3584528711
5628.long	3758326383,113926993
5629.long	168717936,338241895
5630.long	1188179964,666307205
5631.long	1546045734,773529912
5632.long	1522805485,1294757372
5633.long	2643833823,1396182291
5634.long	2343527390,1695183700
5635.long	1014477480,1986661051
5636.long	1206759142,2177026350
5637.long	344077627,2456956037
5638.long	1290863460,2730485921
5639.long	3158454273,2820302411
5640.long	3505952657,3259730800
5641.long	106217008,3345764771
5642.long	3606008344,3516065817
5643.long	1432725776,3600352804
5644.long	1467031594,4094571909
5645.long	851169720,275423344
5646.long	3100823752,430227734
5647.long	1363258195,506948616
5648.long	3750685593,659060556
5649.long	3785050280,883997877
5650.long	3318307427,958139571
5651.long	3812723403,1322822218
5652.long	2003034995,1537002063
5653.long	3602036899,1747873779
5654.long	1575990012,1955562222
5655.long	1125592928,2024104815
5656.long	2716904306,2227730452
5657.long	442776044,2361852424
5658.long	593698344,2428436474
5659.long	3733110249,2756734187
5660.long	2999351573,3204031479
5661.long	3815920427,3329325298
5662.long	3928383900,3391569614
5663.long	566280711,3515267271
5664.long	3454069534,3940187606
5665.long	4000239992,4118630271
5666.long	1914138554,116418474
5667.long	2731055270,174292421
5668.long	3203993006,289380356
5669.long	320620315,460393269
5670.long	587496836,685471733
5671.long	1086792851,852142971
5672.long	365543100,1017036298
5673.long	2618297676,1126000580
5674.long	3409855158,1288033470
5675.long	4234509866,1501505948
5676.long	987167468,1607167915
5677.long	1246189591,1816402316
5678.long	67438087,66051
5679.long	202182159,134810123
5680.size	sha512_block_data_order,.-.L_sha512_block_data_order_begin
5681.byte	83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97
5682.byte	110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
5683.byte	67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
5684.byte	112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
5685.byte	62,0
5686.comm	OPENSSL_ia32cap_P,16,4
5687
5688	.section ".note.gnu.property", "a"
5689	.p2align 2
5690	.long 1f - 0f
5691	.long 4f - 1f
5692	.long 5
56930:
5694	.asciz "GNU"
56951:
5696	.p2align 2
5697	.long 0xc0000002
5698	.long 3f - 2f
56992:
5700	.long 3
57013:
5702	.p2align 2
57034:
5704#endif
5705