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