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