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