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