xref: /minix3/crypto/external/bsd/openssl/lib/libcrypto/arch/i386/sha512-586.S (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1ebfedea0SLionel Sambuc#include <machine/asm.h>
2ebfedea0SLionel Sambuc.text
3ebfedea0SLionel Sambuc.globl	sha512_block_data_order
4ebfedea0SLionel Sambuc.type	sha512_block_data_order,@function
5ebfedea0SLionel Sambuc.align	16
6ebfedea0SLionel Sambucsha512_block_data_order:
7ebfedea0SLionel Sambuc.L_sha512_block_data_order_begin:
8ebfedea0SLionel Sambuc	pushl	%ebp
9ebfedea0SLionel Sambuc	pushl	%ebx
10ebfedea0SLionel Sambuc	pushl	%esi
11ebfedea0SLionel Sambuc	pushl	%edi
12ebfedea0SLionel Sambuc	movl	20(%esp),%esi
13ebfedea0SLionel Sambuc	movl	24(%esp),%edi
14ebfedea0SLionel Sambuc	movl	28(%esp),%eax
15ebfedea0SLionel Sambuc	movl	%esp,%ebx
16ebfedea0SLionel Sambuc	call	.L000pic_point
17ebfedea0SLionel Sambuc.L000pic_point:
18ebfedea0SLionel Sambuc	popl	%ebp
19ebfedea0SLionel Sambuc	leal	.L001K512-.L000pic_point(%ebp),%ebp
20ebfedea0SLionel Sambuc	subl	$16,%esp
21ebfedea0SLionel Sambuc	andl	$-64,%esp
22ebfedea0SLionel Sambuc	shll	$7,%eax
23ebfedea0SLionel Sambuc	addl	%edi,%eax
24ebfedea0SLionel Sambuc	movl	%esi,(%esp)
25ebfedea0SLionel Sambuc	movl	%edi,4(%esp)
26ebfedea0SLionel Sambuc	movl	%eax,8(%esp)
27ebfedea0SLionel Sambuc	movl	%ebx,12(%esp)
28*0a6a1f1dSLionel Sambuc	leal	_GLOBAL_OFFSET_TABLE_+[.-.L001K512](%ebp),%edx
29*0a6a1f1dSLionel Sambuc	movl	OPENSSL_ia32cap_P@GOT(%edx),%edx
30*0a6a1f1dSLionel Sambuc	btl	$26,(%edx)
31*0a6a1f1dSLionel Sambuc	jnc	.L002loop_x86
32*0a6a1f1dSLionel Sambuc	movq	(%esi),%mm0
33*0a6a1f1dSLionel Sambuc	movq	8(%esi),%mm1
34*0a6a1f1dSLionel Sambuc	movq	16(%esi),%mm2
35*0a6a1f1dSLionel Sambuc	movq	24(%esi),%mm3
36*0a6a1f1dSLionel Sambuc	movq	32(%esi),%mm4
37*0a6a1f1dSLionel Sambuc	movq	40(%esi),%mm5
38*0a6a1f1dSLionel Sambuc	movq	48(%esi),%mm6
39*0a6a1f1dSLionel Sambuc	movq	56(%esi),%mm7
40*0a6a1f1dSLionel Sambuc	subl	$80,%esp
41*0a6a1f1dSLionel Sambuc.align	16
42*0a6a1f1dSLionel Sambuc.L003loop_sse2:
43*0a6a1f1dSLionel Sambuc	movq	%mm1,8(%esp)
44*0a6a1f1dSLionel Sambuc	movq	%mm2,16(%esp)
45*0a6a1f1dSLionel Sambuc	movq	%mm3,24(%esp)
46*0a6a1f1dSLionel Sambuc	movq	%mm5,40(%esp)
47*0a6a1f1dSLionel Sambuc	movq	%mm6,48(%esp)
48*0a6a1f1dSLionel Sambuc	movq	%mm7,56(%esp)
49*0a6a1f1dSLionel Sambuc	movl	(%edi),%ecx
50*0a6a1f1dSLionel Sambuc	movl	4(%edi),%edx
51*0a6a1f1dSLionel Sambuc	addl	$8,%edi
52*0a6a1f1dSLionel Sambuc	bswap	%ecx
53*0a6a1f1dSLionel Sambuc	bswap	%edx
54*0a6a1f1dSLionel Sambuc	movl	%ecx,76(%esp)
55*0a6a1f1dSLionel Sambuc	movl	%edx,72(%esp)
56*0a6a1f1dSLionel Sambuc.align	16
57*0a6a1f1dSLionel Sambuc.L00400_14_sse2:
58*0a6a1f1dSLionel Sambuc	movl	(%edi),%eax
59*0a6a1f1dSLionel Sambuc	movl	4(%edi),%ebx
60*0a6a1f1dSLionel Sambuc	addl	$8,%edi
61*0a6a1f1dSLionel Sambuc	bswap	%eax
62*0a6a1f1dSLionel Sambuc	bswap	%ebx
63*0a6a1f1dSLionel Sambuc	movl	%eax,68(%esp)
64*0a6a1f1dSLionel Sambuc	movl	%ebx,64(%esp)
65*0a6a1f1dSLionel Sambuc	movq	40(%esp),%mm5
66*0a6a1f1dSLionel Sambuc	movq	48(%esp),%mm6
67*0a6a1f1dSLionel Sambuc	movq	56(%esp),%mm7
68*0a6a1f1dSLionel Sambuc	movq	%mm4,%mm1
69*0a6a1f1dSLionel Sambuc	movq	%mm4,%mm2
70*0a6a1f1dSLionel Sambuc	psrlq	$14,%mm1
71*0a6a1f1dSLionel Sambuc	movq	%mm4,32(%esp)
72*0a6a1f1dSLionel Sambuc	psllq	$23,%mm2
73*0a6a1f1dSLionel Sambuc	movq	%mm1,%mm3
74*0a6a1f1dSLionel Sambuc	psrlq	$4,%mm1
75*0a6a1f1dSLionel Sambuc	pxor	%mm2,%mm3
76*0a6a1f1dSLionel Sambuc	psllq	$23,%mm2
77*0a6a1f1dSLionel Sambuc	pxor	%mm1,%mm3
78*0a6a1f1dSLionel Sambuc	psrlq	$23,%mm1
79*0a6a1f1dSLionel Sambuc	pxor	%mm2,%mm3
80*0a6a1f1dSLionel Sambuc	psllq	$4,%mm2
81*0a6a1f1dSLionel Sambuc	pxor	%mm1,%mm3
82*0a6a1f1dSLionel Sambuc	paddq	(%ebp),%mm7
83*0a6a1f1dSLionel Sambuc	pxor	%mm2,%mm3
84*0a6a1f1dSLionel Sambuc	pxor	%mm6,%mm5
85*0a6a1f1dSLionel Sambuc	movq	8(%esp),%mm1
86*0a6a1f1dSLionel Sambuc	pand	%mm4,%mm5
87*0a6a1f1dSLionel Sambuc	movq	16(%esp),%mm2
88*0a6a1f1dSLionel Sambuc	pxor	%mm6,%mm5
89*0a6a1f1dSLionel Sambuc	movq	24(%esp),%mm4
90*0a6a1f1dSLionel Sambuc	paddq	%mm5,%mm3
91*0a6a1f1dSLionel Sambuc	movq	%mm0,(%esp)
92*0a6a1f1dSLionel Sambuc	paddq	%mm7,%mm3
93*0a6a1f1dSLionel Sambuc	movq	%mm0,%mm5
94*0a6a1f1dSLionel Sambuc	movq	%mm0,%mm6
95*0a6a1f1dSLionel Sambuc	paddq	72(%esp),%mm3
96*0a6a1f1dSLionel Sambuc	psrlq	$28,%mm5
97*0a6a1f1dSLionel Sambuc	paddq	%mm3,%mm4
98*0a6a1f1dSLionel Sambuc	psllq	$25,%mm6
99*0a6a1f1dSLionel Sambuc	movq	%mm5,%mm7
100*0a6a1f1dSLionel Sambuc	psrlq	$6,%mm5
101*0a6a1f1dSLionel Sambuc	pxor	%mm6,%mm7
102*0a6a1f1dSLionel Sambuc	psllq	$5,%mm6
103*0a6a1f1dSLionel Sambuc	pxor	%mm5,%mm7
104*0a6a1f1dSLionel Sambuc	psrlq	$5,%mm5
105*0a6a1f1dSLionel Sambuc	pxor	%mm6,%mm7
106*0a6a1f1dSLionel Sambuc	psllq	$6,%mm6
107*0a6a1f1dSLionel Sambuc	pxor	%mm5,%mm7
108*0a6a1f1dSLionel Sambuc	subl	$8,%esp
109*0a6a1f1dSLionel Sambuc	pxor	%mm6,%mm7
110*0a6a1f1dSLionel Sambuc	movq	%mm0,%mm5
111*0a6a1f1dSLionel Sambuc	por	%mm2,%mm0
112*0a6a1f1dSLionel Sambuc	pand	%mm2,%mm5
113*0a6a1f1dSLionel Sambuc	pand	%mm1,%mm0
114*0a6a1f1dSLionel Sambuc	por	%mm0,%mm5
115*0a6a1f1dSLionel Sambuc	paddq	%mm5,%mm7
116*0a6a1f1dSLionel Sambuc	movq	%mm3,%mm0
117*0a6a1f1dSLionel Sambuc	movb	(%ebp),%dl
118*0a6a1f1dSLionel Sambuc	paddq	%mm7,%mm0
119*0a6a1f1dSLionel Sambuc	addl	$8,%ebp
120*0a6a1f1dSLionel Sambuc	cmpb	$53,%dl
121*0a6a1f1dSLionel Sambuc	jne	.L00400_14_sse2
122*0a6a1f1dSLionel Sambuc	movq	40(%esp),%mm5
123*0a6a1f1dSLionel Sambuc	movq	48(%esp),%mm6
124*0a6a1f1dSLionel Sambuc	movq	56(%esp),%mm7
125*0a6a1f1dSLionel Sambuc	movq	%mm4,%mm1
126*0a6a1f1dSLionel Sambuc	movq	%mm4,%mm2
127*0a6a1f1dSLionel Sambuc	psrlq	$14,%mm1
128*0a6a1f1dSLionel Sambuc	movq	%mm4,32(%esp)
129*0a6a1f1dSLionel Sambuc	psllq	$23,%mm2
130*0a6a1f1dSLionel Sambuc	movq	%mm1,%mm3
131*0a6a1f1dSLionel Sambuc	psrlq	$4,%mm1
132*0a6a1f1dSLionel Sambuc	pxor	%mm2,%mm3
133*0a6a1f1dSLionel Sambuc	psllq	$23,%mm2
134*0a6a1f1dSLionel Sambuc	pxor	%mm1,%mm3
135*0a6a1f1dSLionel Sambuc	psrlq	$23,%mm1
136*0a6a1f1dSLionel Sambuc	pxor	%mm2,%mm3
137*0a6a1f1dSLionel Sambuc	psllq	$4,%mm2
138*0a6a1f1dSLionel Sambuc	pxor	%mm1,%mm3
139*0a6a1f1dSLionel Sambuc	paddq	(%ebp),%mm7
140*0a6a1f1dSLionel Sambuc	pxor	%mm2,%mm3
141*0a6a1f1dSLionel Sambuc	pxor	%mm6,%mm5
142*0a6a1f1dSLionel Sambuc	movq	8(%esp),%mm1
143*0a6a1f1dSLionel Sambuc	pand	%mm4,%mm5
144*0a6a1f1dSLionel Sambuc	movq	16(%esp),%mm2
145*0a6a1f1dSLionel Sambuc	pxor	%mm6,%mm5
146*0a6a1f1dSLionel Sambuc	movq	24(%esp),%mm4
147*0a6a1f1dSLionel Sambuc	paddq	%mm5,%mm3
148*0a6a1f1dSLionel Sambuc	movq	%mm0,(%esp)
149*0a6a1f1dSLionel Sambuc	paddq	%mm7,%mm3
150*0a6a1f1dSLionel Sambuc	movq	%mm0,%mm5
151*0a6a1f1dSLionel Sambuc	movq	%mm0,%mm6
152*0a6a1f1dSLionel Sambuc	paddq	72(%esp),%mm3
153*0a6a1f1dSLionel Sambuc	psrlq	$28,%mm5
154*0a6a1f1dSLionel Sambuc	paddq	%mm3,%mm4
155*0a6a1f1dSLionel Sambuc	psllq	$25,%mm6
156*0a6a1f1dSLionel Sambuc	movq	%mm5,%mm7
157*0a6a1f1dSLionel Sambuc	psrlq	$6,%mm5
158*0a6a1f1dSLionel Sambuc	pxor	%mm6,%mm7
159*0a6a1f1dSLionel Sambuc	psllq	$5,%mm6
160*0a6a1f1dSLionel Sambuc	pxor	%mm5,%mm7
161*0a6a1f1dSLionel Sambuc	psrlq	$5,%mm5
162*0a6a1f1dSLionel Sambuc	pxor	%mm6,%mm7
163*0a6a1f1dSLionel Sambuc	psllq	$6,%mm6
164*0a6a1f1dSLionel Sambuc	pxor	%mm5,%mm7
165*0a6a1f1dSLionel Sambuc	subl	$8,%esp
166*0a6a1f1dSLionel Sambuc	pxor	%mm6,%mm7
167*0a6a1f1dSLionel Sambuc	movq	%mm0,%mm5
168*0a6a1f1dSLionel Sambuc	por	%mm2,%mm0
169*0a6a1f1dSLionel Sambuc	movq	88(%esp),%mm6
170*0a6a1f1dSLionel Sambuc	pand	%mm2,%mm5
171*0a6a1f1dSLionel Sambuc	pand	%mm1,%mm0
172*0a6a1f1dSLionel Sambuc	movq	192(%esp),%mm2
173*0a6a1f1dSLionel Sambuc	por	%mm0,%mm5
174*0a6a1f1dSLionel Sambuc	paddq	%mm5,%mm7
175*0a6a1f1dSLionel Sambuc	movq	%mm3,%mm0
176*0a6a1f1dSLionel Sambuc	movb	(%ebp),%dl
177*0a6a1f1dSLionel Sambuc	paddq	%mm7,%mm0
178*0a6a1f1dSLionel Sambuc	addl	$8,%ebp
179*0a6a1f1dSLionel Sambuc.align	16
180*0a6a1f1dSLionel Sambuc.L00516_79_sse2:
181*0a6a1f1dSLionel Sambuc	movq	%mm2,%mm1
182*0a6a1f1dSLionel Sambuc	psrlq	$1,%mm2
183*0a6a1f1dSLionel Sambuc	movq	%mm6,%mm7
184*0a6a1f1dSLionel Sambuc	psrlq	$6,%mm6
185*0a6a1f1dSLionel Sambuc	movq	%mm2,%mm3
186*0a6a1f1dSLionel Sambuc	psrlq	$6,%mm2
187*0a6a1f1dSLionel Sambuc	movq	%mm6,%mm5
188*0a6a1f1dSLionel Sambuc	psrlq	$13,%mm6
189*0a6a1f1dSLionel Sambuc	pxor	%mm2,%mm3
190*0a6a1f1dSLionel Sambuc	psrlq	$1,%mm2
191*0a6a1f1dSLionel Sambuc	pxor	%mm6,%mm5
192*0a6a1f1dSLionel Sambuc	psrlq	$42,%mm6
193*0a6a1f1dSLionel Sambuc	pxor	%mm2,%mm3
194*0a6a1f1dSLionel Sambuc	movq	200(%esp),%mm2
195*0a6a1f1dSLionel Sambuc	psllq	$56,%mm1
196*0a6a1f1dSLionel Sambuc	pxor	%mm6,%mm5
197*0a6a1f1dSLionel Sambuc	psllq	$3,%mm7
198*0a6a1f1dSLionel Sambuc	pxor	%mm1,%mm3
199*0a6a1f1dSLionel Sambuc	paddq	128(%esp),%mm2
200*0a6a1f1dSLionel Sambuc	psllq	$7,%mm1
201*0a6a1f1dSLionel Sambuc	pxor	%mm7,%mm5
202*0a6a1f1dSLionel Sambuc	psllq	$42,%mm7
203*0a6a1f1dSLionel Sambuc	pxor	%mm1,%mm3
204*0a6a1f1dSLionel Sambuc	pxor	%mm7,%mm5
205*0a6a1f1dSLionel Sambuc	paddq	%mm5,%mm3
206*0a6a1f1dSLionel Sambuc	paddq	%mm2,%mm3
207*0a6a1f1dSLionel Sambuc	movq	%mm3,72(%esp)
208*0a6a1f1dSLionel Sambuc	movq	40(%esp),%mm5
209*0a6a1f1dSLionel Sambuc	movq	48(%esp),%mm6
210*0a6a1f1dSLionel Sambuc	movq	56(%esp),%mm7
211*0a6a1f1dSLionel Sambuc	movq	%mm4,%mm1
212*0a6a1f1dSLionel Sambuc	movq	%mm4,%mm2
213*0a6a1f1dSLionel Sambuc	psrlq	$14,%mm1
214*0a6a1f1dSLionel Sambuc	movq	%mm4,32(%esp)
215*0a6a1f1dSLionel Sambuc	psllq	$23,%mm2
216*0a6a1f1dSLionel Sambuc	movq	%mm1,%mm3
217*0a6a1f1dSLionel Sambuc	psrlq	$4,%mm1
218*0a6a1f1dSLionel Sambuc	pxor	%mm2,%mm3
219*0a6a1f1dSLionel Sambuc	psllq	$23,%mm2
220*0a6a1f1dSLionel Sambuc	pxor	%mm1,%mm3
221*0a6a1f1dSLionel Sambuc	psrlq	$23,%mm1
222*0a6a1f1dSLionel Sambuc	pxor	%mm2,%mm3
223*0a6a1f1dSLionel Sambuc	psllq	$4,%mm2
224*0a6a1f1dSLionel Sambuc	pxor	%mm1,%mm3
225*0a6a1f1dSLionel Sambuc	paddq	(%ebp),%mm7
226*0a6a1f1dSLionel Sambuc	pxor	%mm2,%mm3
227*0a6a1f1dSLionel Sambuc	pxor	%mm6,%mm5
228*0a6a1f1dSLionel Sambuc	movq	8(%esp),%mm1
229*0a6a1f1dSLionel Sambuc	pand	%mm4,%mm5
230*0a6a1f1dSLionel Sambuc	movq	16(%esp),%mm2
231*0a6a1f1dSLionel Sambuc	pxor	%mm6,%mm5
232*0a6a1f1dSLionel Sambuc	movq	24(%esp),%mm4
233*0a6a1f1dSLionel Sambuc	paddq	%mm5,%mm3
234*0a6a1f1dSLionel Sambuc	movq	%mm0,(%esp)
235*0a6a1f1dSLionel Sambuc	paddq	%mm7,%mm3
236*0a6a1f1dSLionel Sambuc	movq	%mm0,%mm5
237*0a6a1f1dSLionel Sambuc	movq	%mm0,%mm6
238*0a6a1f1dSLionel Sambuc	paddq	72(%esp),%mm3
239*0a6a1f1dSLionel Sambuc	psrlq	$28,%mm5
240*0a6a1f1dSLionel Sambuc	paddq	%mm3,%mm4
241*0a6a1f1dSLionel Sambuc	psllq	$25,%mm6
242*0a6a1f1dSLionel Sambuc	movq	%mm5,%mm7
243*0a6a1f1dSLionel Sambuc	psrlq	$6,%mm5
244*0a6a1f1dSLionel Sambuc	pxor	%mm6,%mm7
245*0a6a1f1dSLionel Sambuc	psllq	$5,%mm6
246*0a6a1f1dSLionel Sambuc	pxor	%mm5,%mm7
247*0a6a1f1dSLionel Sambuc	psrlq	$5,%mm5
248*0a6a1f1dSLionel Sambuc	pxor	%mm6,%mm7
249*0a6a1f1dSLionel Sambuc	psllq	$6,%mm6
250*0a6a1f1dSLionel Sambuc	pxor	%mm5,%mm7
251*0a6a1f1dSLionel Sambuc	subl	$8,%esp
252*0a6a1f1dSLionel Sambuc	pxor	%mm6,%mm7
253*0a6a1f1dSLionel Sambuc	movq	%mm0,%mm5
254*0a6a1f1dSLionel Sambuc	por	%mm2,%mm0
255*0a6a1f1dSLionel Sambuc	movq	88(%esp),%mm6
256*0a6a1f1dSLionel Sambuc	pand	%mm2,%mm5
257*0a6a1f1dSLionel Sambuc	pand	%mm1,%mm0
258*0a6a1f1dSLionel Sambuc	movq	192(%esp),%mm2
259*0a6a1f1dSLionel Sambuc	por	%mm0,%mm5
260*0a6a1f1dSLionel Sambuc	paddq	%mm5,%mm7
261*0a6a1f1dSLionel Sambuc	movq	%mm3,%mm0
262*0a6a1f1dSLionel Sambuc	movb	(%ebp),%dl
263*0a6a1f1dSLionel Sambuc	paddq	%mm7,%mm0
264*0a6a1f1dSLionel Sambuc	addl	$8,%ebp
265*0a6a1f1dSLionel Sambuc	cmpb	$23,%dl
266*0a6a1f1dSLionel Sambuc	jne	.L00516_79_sse2
267*0a6a1f1dSLionel Sambuc	movq	8(%esp),%mm1
268*0a6a1f1dSLionel Sambuc	movq	16(%esp),%mm2
269*0a6a1f1dSLionel Sambuc	movq	24(%esp),%mm3
270*0a6a1f1dSLionel Sambuc	movq	40(%esp),%mm5
271*0a6a1f1dSLionel Sambuc	movq	48(%esp),%mm6
272*0a6a1f1dSLionel Sambuc	movq	56(%esp),%mm7
273*0a6a1f1dSLionel Sambuc	paddq	(%esi),%mm0
274*0a6a1f1dSLionel Sambuc	paddq	8(%esi),%mm1
275*0a6a1f1dSLionel Sambuc	paddq	16(%esi),%mm2
276*0a6a1f1dSLionel Sambuc	paddq	24(%esi),%mm3
277*0a6a1f1dSLionel Sambuc	paddq	32(%esi),%mm4
278*0a6a1f1dSLionel Sambuc	paddq	40(%esi),%mm5
279*0a6a1f1dSLionel Sambuc	paddq	48(%esi),%mm6
280*0a6a1f1dSLionel Sambuc	paddq	56(%esi),%mm7
281*0a6a1f1dSLionel Sambuc	movq	%mm0,(%esi)
282*0a6a1f1dSLionel Sambuc	movq	%mm1,8(%esi)
283*0a6a1f1dSLionel Sambuc	movq	%mm2,16(%esi)
284*0a6a1f1dSLionel Sambuc	movq	%mm3,24(%esi)
285*0a6a1f1dSLionel Sambuc	movq	%mm4,32(%esi)
286*0a6a1f1dSLionel Sambuc	movq	%mm5,40(%esi)
287*0a6a1f1dSLionel Sambuc	movq	%mm6,48(%esi)
288*0a6a1f1dSLionel Sambuc	movq	%mm7,56(%esi)
289*0a6a1f1dSLionel Sambuc	addl	$640,%esp
290*0a6a1f1dSLionel Sambuc	subl	$640,%ebp
291*0a6a1f1dSLionel Sambuc	cmpl	88(%esp),%edi
292*0a6a1f1dSLionel Sambuc	jb	.L003loop_sse2
293*0a6a1f1dSLionel Sambuc	emms
294*0a6a1f1dSLionel Sambuc	movl	92(%esp),%esp
295*0a6a1f1dSLionel Sambuc	popl	%edi
296*0a6a1f1dSLionel Sambuc	popl	%esi
297*0a6a1f1dSLionel Sambuc	popl	%ebx
298*0a6a1f1dSLionel Sambuc	popl	%ebp
299*0a6a1f1dSLionel Sambuc	ret
300ebfedea0SLionel Sambuc.align	16
301ebfedea0SLionel Sambuc.L002loop_x86:
302ebfedea0SLionel Sambuc	movl	(%edi),%eax
303ebfedea0SLionel Sambuc	movl	4(%edi),%ebx
304ebfedea0SLionel Sambuc	movl	8(%edi),%ecx
305ebfedea0SLionel Sambuc	movl	12(%edi),%edx
306ebfedea0SLionel Sambuc	bswap	%eax
307ebfedea0SLionel Sambuc	bswap	%ebx
308ebfedea0SLionel Sambuc	bswap	%ecx
309ebfedea0SLionel Sambuc	bswap	%edx
310ebfedea0SLionel Sambuc	pushl	%eax
311ebfedea0SLionel Sambuc	pushl	%ebx
312ebfedea0SLionel Sambuc	pushl	%ecx
313ebfedea0SLionel Sambuc	pushl	%edx
314ebfedea0SLionel Sambuc	movl	16(%edi),%eax
315ebfedea0SLionel Sambuc	movl	20(%edi),%ebx
316ebfedea0SLionel Sambuc	movl	24(%edi),%ecx
317ebfedea0SLionel Sambuc	movl	28(%edi),%edx
318ebfedea0SLionel Sambuc	bswap	%eax
319ebfedea0SLionel Sambuc	bswap	%ebx
320ebfedea0SLionel Sambuc	bswap	%ecx
321ebfedea0SLionel Sambuc	bswap	%edx
322ebfedea0SLionel Sambuc	pushl	%eax
323ebfedea0SLionel Sambuc	pushl	%ebx
324ebfedea0SLionel Sambuc	pushl	%ecx
325ebfedea0SLionel Sambuc	pushl	%edx
326ebfedea0SLionel Sambuc	movl	32(%edi),%eax
327ebfedea0SLionel Sambuc	movl	36(%edi),%ebx
328ebfedea0SLionel Sambuc	movl	40(%edi),%ecx
329ebfedea0SLionel Sambuc	movl	44(%edi),%edx
330ebfedea0SLionel Sambuc	bswap	%eax
331ebfedea0SLionel Sambuc	bswap	%ebx
332ebfedea0SLionel Sambuc	bswap	%ecx
333ebfedea0SLionel Sambuc	bswap	%edx
334ebfedea0SLionel Sambuc	pushl	%eax
335ebfedea0SLionel Sambuc	pushl	%ebx
336ebfedea0SLionel Sambuc	pushl	%ecx
337ebfedea0SLionel Sambuc	pushl	%edx
338ebfedea0SLionel Sambuc	movl	48(%edi),%eax
339ebfedea0SLionel Sambuc	movl	52(%edi),%ebx
340ebfedea0SLionel Sambuc	movl	56(%edi),%ecx
341ebfedea0SLionel Sambuc	movl	60(%edi),%edx
342ebfedea0SLionel Sambuc	bswap	%eax
343ebfedea0SLionel Sambuc	bswap	%ebx
344ebfedea0SLionel Sambuc	bswap	%ecx
345ebfedea0SLionel Sambuc	bswap	%edx
346ebfedea0SLionel Sambuc	pushl	%eax
347ebfedea0SLionel Sambuc	pushl	%ebx
348ebfedea0SLionel Sambuc	pushl	%ecx
349ebfedea0SLionel Sambuc	pushl	%edx
350ebfedea0SLionel Sambuc	movl	64(%edi),%eax
351ebfedea0SLionel Sambuc	movl	68(%edi),%ebx
352ebfedea0SLionel Sambuc	movl	72(%edi),%ecx
353ebfedea0SLionel Sambuc	movl	76(%edi),%edx
354ebfedea0SLionel Sambuc	bswap	%eax
355ebfedea0SLionel Sambuc	bswap	%ebx
356ebfedea0SLionel Sambuc	bswap	%ecx
357ebfedea0SLionel Sambuc	bswap	%edx
358ebfedea0SLionel Sambuc	pushl	%eax
359ebfedea0SLionel Sambuc	pushl	%ebx
360ebfedea0SLionel Sambuc	pushl	%ecx
361ebfedea0SLionel Sambuc	pushl	%edx
362ebfedea0SLionel Sambuc	movl	80(%edi),%eax
363ebfedea0SLionel Sambuc	movl	84(%edi),%ebx
364ebfedea0SLionel Sambuc	movl	88(%edi),%ecx
365ebfedea0SLionel Sambuc	movl	92(%edi),%edx
366ebfedea0SLionel Sambuc	bswap	%eax
367ebfedea0SLionel Sambuc	bswap	%ebx
368ebfedea0SLionel Sambuc	bswap	%ecx
369ebfedea0SLionel Sambuc	bswap	%edx
370ebfedea0SLionel Sambuc	pushl	%eax
371ebfedea0SLionel Sambuc	pushl	%ebx
372ebfedea0SLionel Sambuc	pushl	%ecx
373ebfedea0SLionel Sambuc	pushl	%edx
374ebfedea0SLionel Sambuc	movl	96(%edi),%eax
375ebfedea0SLionel Sambuc	movl	100(%edi),%ebx
376ebfedea0SLionel Sambuc	movl	104(%edi),%ecx
377ebfedea0SLionel Sambuc	movl	108(%edi),%edx
378ebfedea0SLionel Sambuc	bswap	%eax
379ebfedea0SLionel Sambuc	bswap	%ebx
380ebfedea0SLionel Sambuc	bswap	%ecx
381ebfedea0SLionel Sambuc	bswap	%edx
382ebfedea0SLionel Sambuc	pushl	%eax
383ebfedea0SLionel Sambuc	pushl	%ebx
384ebfedea0SLionel Sambuc	pushl	%ecx
385ebfedea0SLionel Sambuc	pushl	%edx
386ebfedea0SLionel Sambuc	movl	112(%edi),%eax
387ebfedea0SLionel Sambuc	movl	116(%edi),%ebx
388ebfedea0SLionel Sambuc	movl	120(%edi),%ecx
389ebfedea0SLionel Sambuc	movl	124(%edi),%edx
390ebfedea0SLionel Sambuc	bswap	%eax
391ebfedea0SLionel Sambuc	bswap	%ebx
392ebfedea0SLionel Sambuc	bswap	%ecx
393ebfedea0SLionel Sambuc	bswap	%edx
394ebfedea0SLionel Sambuc	pushl	%eax
395ebfedea0SLionel Sambuc	pushl	%ebx
396ebfedea0SLionel Sambuc	pushl	%ecx
397ebfedea0SLionel Sambuc	pushl	%edx
398ebfedea0SLionel Sambuc	addl	$128,%edi
399ebfedea0SLionel Sambuc	subl	$72,%esp
400ebfedea0SLionel Sambuc	movl	%edi,204(%esp)
401ebfedea0SLionel Sambuc	leal	8(%esp),%edi
402ebfedea0SLionel Sambuc	movl	$16,%ecx
403ebfedea0SLionel Sambuc.long	2784229001
404ebfedea0SLionel Sambuc.align	16
405*0a6a1f1dSLionel Sambuc.L00600_15_x86:
406ebfedea0SLionel Sambuc	movl	40(%esp),%ecx
407ebfedea0SLionel Sambuc	movl	44(%esp),%edx
408ebfedea0SLionel Sambuc	movl	%ecx,%esi
409ebfedea0SLionel Sambuc	shrl	$9,%ecx
410ebfedea0SLionel Sambuc	movl	%edx,%edi
411ebfedea0SLionel Sambuc	shrl	$9,%edx
412ebfedea0SLionel Sambuc	movl	%ecx,%ebx
413ebfedea0SLionel Sambuc	shll	$14,%esi
414ebfedea0SLionel Sambuc	movl	%edx,%eax
415ebfedea0SLionel Sambuc	shll	$14,%edi
416ebfedea0SLionel Sambuc	xorl	%esi,%ebx
417ebfedea0SLionel Sambuc	shrl	$5,%ecx
418ebfedea0SLionel Sambuc	xorl	%edi,%eax
419ebfedea0SLionel Sambuc	shrl	$5,%edx
420ebfedea0SLionel Sambuc	xorl	%ecx,%eax
421ebfedea0SLionel Sambuc	shll	$4,%esi
422ebfedea0SLionel Sambuc	xorl	%edx,%ebx
423ebfedea0SLionel Sambuc	shll	$4,%edi
424ebfedea0SLionel Sambuc	xorl	%esi,%ebx
425ebfedea0SLionel Sambuc	shrl	$4,%ecx
426ebfedea0SLionel Sambuc	xorl	%edi,%eax
427ebfedea0SLionel Sambuc	shrl	$4,%edx
428ebfedea0SLionel Sambuc	xorl	%ecx,%eax
429ebfedea0SLionel Sambuc	shll	$5,%esi
430ebfedea0SLionel Sambuc	xorl	%edx,%ebx
431ebfedea0SLionel Sambuc	shll	$5,%edi
432ebfedea0SLionel Sambuc	xorl	%esi,%eax
433ebfedea0SLionel Sambuc	xorl	%edi,%ebx
434ebfedea0SLionel Sambuc	movl	48(%esp),%ecx
435ebfedea0SLionel Sambuc	movl	52(%esp),%edx
436ebfedea0SLionel Sambuc	movl	56(%esp),%esi
437ebfedea0SLionel Sambuc	movl	60(%esp),%edi
438ebfedea0SLionel Sambuc	addl	64(%esp),%eax
439ebfedea0SLionel Sambuc	adcl	68(%esp),%ebx
440ebfedea0SLionel Sambuc	xorl	%esi,%ecx
441ebfedea0SLionel Sambuc	xorl	%edi,%edx
442ebfedea0SLionel Sambuc	andl	40(%esp),%ecx
443ebfedea0SLionel Sambuc	andl	44(%esp),%edx
444ebfedea0SLionel Sambuc	addl	192(%esp),%eax
445ebfedea0SLionel Sambuc	adcl	196(%esp),%ebx
446ebfedea0SLionel Sambuc	xorl	%esi,%ecx
447ebfedea0SLionel Sambuc	xorl	%edi,%edx
448ebfedea0SLionel Sambuc	movl	(%ebp),%esi
449ebfedea0SLionel Sambuc	movl	4(%ebp),%edi
450ebfedea0SLionel Sambuc	addl	%ecx,%eax
451ebfedea0SLionel Sambuc	adcl	%edx,%ebx
452ebfedea0SLionel Sambuc	movl	32(%esp),%ecx
453ebfedea0SLionel Sambuc	movl	36(%esp),%edx
454ebfedea0SLionel Sambuc	addl	%esi,%eax
455ebfedea0SLionel Sambuc	adcl	%edi,%ebx
456ebfedea0SLionel Sambuc	movl	%eax,(%esp)
457ebfedea0SLionel Sambuc	movl	%ebx,4(%esp)
458ebfedea0SLionel Sambuc	addl	%ecx,%eax
459ebfedea0SLionel Sambuc	adcl	%edx,%ebx
460ebfedea0SLionel Sambuc	movl	8(%esp),%ecx
461ebfedea0SLionel Sambuc	movl	12(%esp),%edx
462ebfedea0SLionel Sambuc	movl	%eax,32(%esp)
463ebfedea0SLionel Sambuc	movl	%ebx,36(%esp)
464ebfedea0SLionel Sambuc	movl	%ecx,%esi
465ebfedea0SLionel Sambuc	shrl	$2,%ecx
466ebfedea0SLionel Sambuc	movl	%edx,%edi
467ebfedea0SLionel Sambuc	shrl	$2,%edx
468ebfedea0SLionel Sambuc	movl	%ecx,%ebx
469ebfedea0SLionel Sambuc	shll	$4,%esi
470ebfedea0SLionel Sambuc	movl	%edx,%eax
471ebfedea0SLionel Sambuc	shll	$4,%edi
472ebfedea0SLionel Sambuc	xorl	%esi,%ebx
473ebfedea0SLionel Sambuc	shrl	$5,%ecx
474ebfedea0SLionel Sambuc	xorl	%edi,%eax
475ebfedea0SLionel Sambuc	shrl	$5,%edx
476ebfedea0SLionel Sambuc	xorl	%ecx,%ebx
477ebfedea0SLionel Sambuc	shll	$21,%esi
478ebfedea0SLionel Sambuc	xorl	%edx,%eax
479ebfedea0SLionel Sambuc	shll	$21,%edi
480ebfedea0SLionel Sambuc	xorl	%esi,%eax
481ebfedea0SLionel Sambuc	shrl	$21,%ecx
482ebfedea0SLionel Sambuc	xorl	%edi,%ebx
483ebfedea0SLionel Sambuc	shrl	$21,%edx
484ebfedea0SLionel Sambuc	xorl	%ecx,%eax
485ebfedea0SLionel Sambuc	shll	$5,%esi
486ebfedea0SLionel Sambuc	xorl	%edx,%ebx
487ebfedea0SLionel Sambuc	shll	$5,%edi
488ebfedea0SLionel Sambuc	xorl	%esi,%eax
489ebfedea0SLionel Sambuc	xorl	%edi,%ebx
490ebfedea0SLionel Sambuc	movl	8(%esp),%ecx
491ebfedea0SLionel Sambuc	movl	12(%esp),%edx
492ebfedea0SLionel Sambuc	movl	16(%esp),%esi
493ebfedea0SLionel Sambuc	movl	20(%esp),%edi
494ebfedea0SLionel Sambuc	addl	(%esp),%eax
495ebfedea0SLionel Sambuc	adcl	4(%esp),%ebx
496ebfedea0SLionel Sambuc	orl	%esi,%ecx
497ebfedea0SLionel Sambuc	orl	%edi,%edx
498ebfedea0SLionel Sambuc	andl	24(%esp),%ecx
499ebfedea0SLionel Sambuc	andl	28(%esp),%edx
500ebfedea0SLionel Sambuc	andl	8(%esp),%esi
501ebfedea0SLionel Sambuc	andl	12(%esp),%edi
502ebfedea0SLionel Sambuc	orl	%esi,%ecx
503ebfedea0SLionel Sambuc	orl	%edi,%edx
504ebfedea0SLionel Sambuc	addl	%ecx,%eax
505ebfedea0SLionel Sambuc	adcl	%edx,%ebx
506ebfedea0SLionel Sambuc	movl	%eax,(%esp)
507ebfedea0SLionel Sambuc	movl	%ebx,4(%esp)
508ebfedea0SLionel Sambuc	movb	(%ebp),%dl
509ebfedea0SLionel Sambuc	subl	$8,%esp
510ebfedea0SLionel Sambuc	leal	8(%ebp),%ebp
511ebfedea0SLionel Sambuc	cmpb	$148,%dl
512*0a6a1f1dSLionel Sambuc	jne	.L00600_15_x86
513ebfedea0SLionel Sambuc.align	16
514*0a6a1f1dSLionel Sambuc.L00716_79_x86:
515ebfedea0SLionel Sambuc	movl	312(%esp),%ecx
516ebfedea0SLionel Sambuc	movl	316(%esp),%edx
517ebfedea0SLionel Sambuc	movl	%ecx,%esi
518ebfedea0SLionel Sambuc	shrl	$1,%ecx
519ebfedea0SLionel Sambuc	movl	%edx,%edi
520ebfedea0SLionel Sambuc	shrl	$1,%edx
521ebfedea0SLionel Sambuc	movl	%ecx,%eax
522ebfedea0SLionel Sambuc	shll	$24,%esi
523ebfedea0SLionel Sambuc	movl	%edx,%ebx
524ebfedea0SLionel Sambuc	shll	$24,%edi
525ebfedea0SLionel Sambuc	xorl	%esi,%ebx
526ebfedea0SLionel Sambuc	shrl	$6,%ecx
527ebfedea0SLionel Sambuc	xorl	%edi,%eax
528ebfedea0SLionel Sambuc	shrl	$6,%edx
529ebfedea0SLionel Sambuc	xorl	%ecx,%eax
530ebfedea0SLionel Sambuc	shll	$7,%esi
531ebfedea0SLionel Sambuc	xorl	%edx,%ebx
532ebfedea0SLionel Sambuc	shll	$1,%edi
533ebfedea0SLionel Sambuc	xorl	%esi,%ebx
534ebfedea0SLionel Sambuc	shrl	$1,%ecx
535ebfedea0SLionel Sambuc	xorl	%edi,%eax
536ebfedea0SLionel Sambuc	shrl	$1,%edx
537ebfedea0SLionel Sambuc	xorl	%ecx,%eax
538ebfedea0SLionel Sambuc	shll	$6,%edi
539ebfedea0SLionel Sambuc	xorl	%edx,%ebx
540ebfedea0SLionel Sambuc	xorl	%edi,%eax
541ebfedea0SLionel Sambuc	movl	%eax,(%esp)
542ebfedea0SLionel Sambuc	movl	%ebx,4(%esp)
543ebfedea0SLionel Sambuc	movl	208(%esp),%ecx
544ebfedea0SLionel Sambuc	movl	212(%esp),%edx
545ebfedea0SLionel Sambuc	movl	%ecx,%esi
546ebfedea0SLionel Sambuc	shrl	$6,%ecx
547ebfedea0SLionel Sambuc	movl	%edx,%edi
548ebfedea0SLionel Sambuc	shrl	$6,%edx
549ebfedea0SLionel Sambuc	movl	%ecx,%eax
550ebfedea0SLionel Sambuc	shll	$3,%esi
551ebfedea0SLionel Sambuc	movl	%edx,%ebx
552ebfedea0SLionel Sambuc	shll	$3,%edi
553ebfedea0SLionel Sambuc	xorl	%esi,%eax
554ebfedea0SLionel Sambuc	shrl	$13,%ecx
555ebfedea0SLionel Sambuc	xorl	%edi,%ebx
556ebfedea0SLionel Sambuc	shrl	$13,%edx
557ebfedea0SLionel Sambuc	xorl	%ecx,%eax
558ebfedea0SLionel Sambuc	shll	$10,%esi
559ebfedea0SLionel Sambuc	xorl	%edx,%ebx
560ebfedea0SLionel Sambuc	shll	$10,%edi
561ebfedea0SLionel Sambuc	xorl	%esi,%ebx
562ebfedea0SLionel Sambuc	shrl	$10,%ecx
563ebfedea0SLionel Sambuc	xorl	%edi,%eax
564ebfedea0SLionel Sambuc	shrl	$10,%edx
565ebfedea0SLionel Sambuc	xorl	%ecx,%ebx
566ebfedea0SLionel Sambuc	shll	$13,%edi
567ebfedea0SLionel Sambuc	xorl	%edx,%eax
568ebfedea0SLionel Sambuc	xorl	%edi,%eax
569ebfedea0SLionel Sambuc	movl	320(%esp),%ecx
570ebfedea0SLionel Sambuc	movl	324(%esp),%edx
571ebfedea0SLionel Sambuc	addl	(%esp),%eax
572ebfedea0SLionel Sambuc	adcl	4(%esp),%ebx
573ebfedea0SLionel Sambuc	movl	248(%esp),%esi
574ebfedea0SLionel Sambuc	movl	252(%esp),%edi
575ebfedea0SLionel Sambuc	addl	%ecx,%eax
576ebfedea0SLionel Sambuc	adcl	%edx,%ebx
577ebfedea0SLionel Sambuc	addl	%esi,%eax
578ebfedea0SLionel Sambuc	adcl	%edi,%ebx
579ebfedea0SLionel Sambuc	movl	%eax,192(%esp)
580ebfedea0SLionel Sambuc	movl	%ebx,196(%esp)
581ebfedea0SLionel Sambuc	movl	40(%esp),%ecx
582ebfedea0SLionel Sambuc	movl	44(%esp),%edx
583ebfedea0SLionel Sambuc	movl	%ecx,%esi
584ebfedea0SLionel Sambuc	shrl	$9,%ecx
585ebfedea0SLionel Sambuc	movl	%edx,%edi
586ebfedea0SLionel Sambuc	shrl	$9,%edx
587ebfedea0SLionel Sambuc	movl	%ecx,%ebx
588ebfedea0SLionel Sambuc	shll	$14,%esi
589ebfedea0SLionel Sambuc	movl	%edx,%eax
590ebfedea0SLionel Sambuc	shll	$14,%edi
591ebfedea0SLionel Sambuc	xorl	%esi,%ebx
592ebfedea0SLionel Sambuc	shrl	$5,%ecx
593ebfedea0SLionel Sambuc	xorl	%edi,%eax
594ebfedea0SLionel Sambuc	shrl	$5,%edx
595ebfedea0SLionel Sambuc	xorl	%ecx,%eax
596ebfedea0SLionel Sambuc	shll	$4,%esi
597ebfedea0SLionel Sambuc	xorl	%edx,%ebx
598ebfedea0SLionel Sambuc	shll	$4,%edi
599ebfedea0SLionel Sambuc	xorl	%esi,%ebx
600ebfedea0SLionel Sambuc	shrl	$4,%ecx
601ebfedea0SLionel Sambuc	xorl	%edi,%eax
602ebfedea0SLionel Sambuc	shrl	$4,%edx
603ebfedea0SLionel Sambuc	xorl	%ecx,%eax
604ebfedea0SLionel Sambuc	shll	$5,%esi
605ebfedea0SLionel Sambuc	xorl	%edx,%ebx
606ebfedea0SLionel Sambuc	shll	$5,%edi
607ebfedea0SLionel Sambuc	xorl	%esi,%eax
608ebfedea0SLionel Sambuc	xorl	%edi,%ebx
609ebfedea0SLionel Sambuc	movl	48(%esp),%ecx
610ebfedea0SLionel Sambuc	movl	52(%esp),%edx
611ebfedea0SLionel Sambuc	movl	56(%esp),%esi
612ebfedea0SLionel Sambuc	movl	60(%esp),%edi
613ebfedea0SLionel Sambuc	addl	64(%esp),%eax
614ebfedea0SLionel Sambuc	adcl	68(%esp),%ebx
615ebfedea0SLionel Sambuc	xorl	%esi,%ecx
616ebfedea0SLionel Sambuc	xorl	%edi,%edx
617ebfedea0SLionel Sambuc	andl	40(%esp),%ecx
618ebfedea0SLionel Sambuc	andl	44(%esp),%edx
619ebfedea0SLionel Sambuc	addl	192(%esp),%eax
620ebfedea0SLionel Sambuc	adcl	196(%esp),%ebx
621ebfedea0SLionel Sambuc	xorl	%esi,%ecx
622ebfedea0SLionel Sambuc	xorl	%edi,%edx
623ebfedea0SLionel Sambuc	movl	(%ebp),%esi
624ebfedea0SLionel Sambuc	movl	4(%ebp),%edi
625ebfedea0SLionel Sambuc	addl	%ecx,%eax
626ebfedea0SLionel Sambuc	adcl	%edx,%ebx
627ebfedea0SLionel Sambuc	movl	32(%esp),%ecx
628ebfedea0SLionel Sambuc	movl	36(%esp),%edx
629ebfedea0SLionel Sambuc	addl	%esi,%eax
630ebfedea0SLionel Sambuc	adcl	%edi,%ebx
631ebfedea0SLionel Sambuc	movl	%eax,(%esp)
632ebfedea0SLionel Sambuc	movl	%ebx,4(%esp)
633ebfedea0SLionel Sambuc	addl	%ecx,%eax
634ebfedea0SLionel Sambuc	adcl	%edx,%ebx
635ebfedea0SLionel Sambuc	movl	8(%esp),%ecx
636ebfedea0SLionel Sambuc	movl	12(%esp),%edx
637ebfedea0SLionel Sambuc	movl	%eax,32(%esp)
638ebfedea0SLionel Sambuc	movl	%ebx,36(%esp)
639ebfedea0SLionel Sambuc	movl	%ecx,%esi
640ebfedea0SLionel Sambuc	shrl	$2,%ecx
641ebfedea0SLionel Sambuc	movl	%edx,%edi
642ebfedea0SLionel Sambuc	shrl	$2,%edx
643ebfedea0SLionel Sambuc	movl	%ecx,%ebx
644ebfedea0SLionel Sambuc	shll	$4,%esi
645ebfedea0SLionel Sambuc	movl	%edx,%eax
646ebfedea0SLionel Sambuc	shll	$4,%edi
647ebfedea0SLionel Sambuc	xorl	%esi,%ebx
648ebfedea0SLionel Sambuc	shrl	$5,%ecx
649ebfedea0SLionel Sambuc	xorl	%edi,%eax
650ebfedea0SLionel Sambuc	shrl	$5,%edx
651ebfedea0SLionel Sambuc	xorl	%ecx,%ebx
652ebfedea0SLionel Sambuc	shll	$21,%esi
653ebfedea0SLionel Sambuc	xorl	%edx,%eax
654ebfedea0SLionel Sambuc	shll	$21,%edi
655ebfedea0SLionel Sambuc	xorl	%esi,%eax
656ebfedea0SLionel Sambuc	shrl	$21,%ecx
657ebfedea0SLionel Sambuc	xorl	%edi,%ebx
658ebfedea0SLionel Sambuc	shrl	$21,%edx
659ebfedea0SLionel Sambuc	xorl	%ecx,%eax
660ebfedea0SLionel Sambuc	shll	$5,%esi
661ebfedea0SLionel Sambuc	xorl	%edx,%ebx
662ebfedea0SLionel Sambuc	shll	$5,%edi
663ebfedea0SLionel Sambuc	xorl	%esi,%eax
664ebfedea0SLionel Sambuc	xorl	%edi,%ebx
665ebfedea0SLionel Sambuc	movl	8(%esp),%ecx
666ebfedea0SLionel Sambuc	movl	12(%esp),%edx
667ebfedea0SLionel Sambuc	movl	16(%esp),%esi
668ebfedea0SLionel Sambuc	movl	20(%esp),%edi
669ebfedea0SLionel Sambuc	addl	(%esp),%eax
670ebfedea0SLionel Sambuc	adcl	4(%esp),%ebx
671ebfedea0SLionel Sambuc	orl	%esi,%ecx
672ebfedea0SLionel Sambuc	orl	%edi,%edx
673ebfedea0SLionel Sambuc	andl	24(%esp),%ecx
674ebfedea0SLionel Sambuc	andl	28(%esp),%edx
675ebfedea0SLionel Sambuc	andl	8(%esp),%esi
676ebfedea0SLionel Sambuc	andl	12(%esp),%edi
677ebfedea0SLionel Sambuc	orl	%esi,%ecx
678ebfedea0SLionel Sambuc	orl	%edi,%edx
679ebfedea0SLionel Sambuc	addl	%ecx,%eax
680ebfedea0SLionel Sambuc	adcl	%edx,%ebx
681ebfedea0SLionel Sambuc	movl	%eax,(%esp)
682ebfedea0SLionel Sambuc	movl	%ebx,4(%esp)
683ebfedea0SLionel Sambuc	movb	(%ebp),%dl
684ebfedea0SLionel Sambuc	subl	$8,%esp
685ebfedea0SLionel Sambuc	leal	8(%ebp),%ebp
686ebfedea0SLionel Sambuc	cmpb	$23,%dl
687*0a6a1f1dSLionel Sambuc	jne	.L00716_79_x86
688ebfedea0SLionel Sambuc	movl	840(%esp),%esi
689ebfedea0SLionel Sambuc	movl	844(%esp),%edi
690ebfedea0SLionel Sambuc	movl	(%esi),%eax
691ebfedea0SLionel Sambuc	movl	4(%esi),%ebx
692ebfedea0SLionel Sambuc	movl	8(%esi),%ecx
693ebfedea0SLionel Sambuc	movl	12(%esi),%edx
694ebfedea0SLionel Sambuc	addl	8(%esp),%eax
695ebfedea0SLionel Sambuc	adcl	12(%esp),%ebx
696ebfedea0SLionel Sambuc	movl	%eax,(%esi)
697ebfedea0SLionel Sambuc	movl	%ebx,4(%esi)
698ebfedea0SLionel Sambuc	addl	16(%esp),%ecx
699ebfedea0SLionel Sambuc	adcl	20(%esp),%edx
700ebfedea0SLionel Sambuc	movl	%ecx,8(%esi)
701ebfedea0SLionel Sambuc	movl	%edx,12(%esi)
702ebfedea0SLionel Sambuc	movl	16(%esi),%eax
703ebfedea0SLionel Sambuc	movl	20(%esi),%ebx
704ebfedea0SLionel Sambuc	movl	24(%esi),%ecx
705ebfedea0SLionel Sambuc	movl	28(%esi),%edx
706ebfedea0SLionel Sambuc	addl	24(%esp),%eax
707ebfedea0SLionel Sambuc	adcl	28(%esp),%ebx
708ebfedea0SLionel Sambuc	movl	%eax,16(%esi)
709ebfedea0SLionel Sambuc	movl	%ebx,20(%esi)
710ebfedea0SLionel Sambuc	addl	32(%esp),%ecx
711ebfedea0SLionel Sambuc	adcl	36(%esp),%edx
712ebfedea0SLionel Sambuc	movl	%ecx,24(%esi)
713ebfedea0SLionel Sambuc	movl	%edx,28(%esi)
714ebfedea0SLionel Sambuc	movl	32(%esi),%eax
715ebfedea0SLionel Sambuc	movl	36(%esi),%ebx
716ebfedea0SLionel Sambuc	movl	40(%esi),%ecx
717ebfedea0SLionel Sambuc	movl	44(%esi),%edx
718ebfedea0SLionel Sambuc	addl	40(%esp),%eax
719ebfedea0SLionel Sambuc	adcl	44(%esp),%ebx
720ebfedea0SLionel Sambuc	movl	%eax,32(%esi)
721ebfedea0SLionel Sambuc	movl	%ebx,36(%esi)
722ebfedea0SLionel Sambuc	addl	48(%esp),%ecx
723ebfedea0SLionel Sambuc	adcl	52(%esp),%edx
724ebfedea0SLionel Sambuc	movl	%ecx,40(%esi)
725ebfedea0SLionel Sambuc	movl	%edx,44(%esi)
726ebfedea0SLionel Sambuc	movl	48(%esi),%eax
727ebfedea0SLionel Sambuc	movl	52(%esi),%ebx
728ebfedea0SLionel Sambuc	movl	56(%esi),%ecx
729ebfedea0SLionel Sambuc	movl	60(%esi),%edx
730ebfedea0SLionel Sambuc	addl	56(%esp),%eax
731ebfedea0SLionel Sambuc	adcl	60(%esp),%ebx
732ebfedea0SLionel Sambuc	movl	%eax,48(%esi)
733ebfedea0SLionel Sambuc	movl	%ebx,52(%esi)
734ebfedea0SLionel Sambuc	addl	64(%esp),%ecx
735ebfedea0SLionel Sambuc	adcl	68(%esp),%edx
736ebfedea0SLionel Sambuc	movl	%ecx,56(%esi)
737ebfedea0SLionel Sambuc	movl	%edx,60(%esi)
738ebfedea0SLionel Sambuc	addl	$840,%esp
739ebfedea0SLionel Sambuc	subl	$640,%ebp
740ebfedea0SLionel Sambuc	cmpl	8(%esp),%edi
741ebfedea0SLionel Sambuc	jb	.L002loop_x86
742ebfedea0SLionel Sambuc	movl	12(%esp),%esp
743ebfedea0SLionel Sambuc	popl	%edi
744ebfedea0SLionel Sambuc	popl	%esi
745ebfedea0SLionel Sambuc	popl	%ebx
746ebfedea0SLionel Sambuc	popl	%ebp
747ebfedea0SLionel Sambuc	ret
748ebfedea0SLionel Sambuc.align	64
749ebfedea0SLionel Sambuc.L001K512:
750ebfedea0SLionel Sambuc.long	3609767458,1116352408
751ebfedea0SLionel Sambuc.long	602891725,1899447441
752ebfedea0SLionel Sambuc.long	3964484399,3049323471
753ebfedea0SLionel Sambuc.long	2173295548,3921009573
754ebfedea0SLionel Sambuc.long	4081628472,961987163
755ebfedea0SLionel Sambuc.long	3053834265,1508970993
756ebfedea0SLionel Sambuc.long	2937671579,2453635748
757ebfedea0SLionel Sambuc.long	3664609560,2870763221
758ebfedea0SLionel Sambuc.long	2734883394,3624381080
759ebfedea0SLionel Sambuc.long	1164996542,310598401
760ebfedea0SLionel Sambuc.long	1323610764,607225278
761ebfedea0SLionel Sambuc.long	3590304994,1426881987
762ebfedea0SLionel Sambuc.long	4068182383,1925078388
763ebfedea0SLionel Sambuc.long	991336113,2162078206
764ebfedea0SLionel Sambuc.long	633803317,2614888103
765ebfedea0SLionel Sambuc.long	3479774868,3248222580
766ebfedea0SLionel Sambuc.long	2666613458,3835390401
767ebfedea0SLionel Sambuc.long	944711139,4022224774
768ebfedea0SLionel Sambuc.long	2341262773,264347078
769ebfedea0SLionel Sambuc.long	2007800933,604807628
770ebfedea0SLionel Sambuc.long	1495990901,770255983
771ebfedea0SLionel Sambuc.long	1856431235,1249150122
772ebfedea0SLionel Sambuc.long	3175218132,1555081692
773ebfedea0SLionel Sambuc.long	2198950837,1996064986
774ebfedea0SLionel Sambuc.long	3999719339,2554220882
775ebfedea0SLionel Sambuc.long	766784016,2821834349
776ebfedea0SLionel Sambuc.long	2566594879,2952996808
777ebfedea0SLionel Sambuc.long	3203337956,3210313671
778ebfedea0SLionel Sambuc.long	1034457026,3336571891
779ebfedea0SLionel Sambuc.long	2466948901,3584528711
780ebfedea0SLionel Sambuc.long	3758326383,113926993
781ebfedea0SLionel Sambuc.long	168717936,338241895
782ebfedea0SLionel Sambuc.long	1188179964,666307205
783ebfedea0SLionel Sambuc.long	1546045734,773529912
784ebfedea0SLionel Sambuc.long	1522805485,1294757372
785ebfedea0SLionel Sambuc.long	2643833823,1396182291
786ebfedea0SLionel Sambuc.long	2343527390,1695183700
787ebfedea0SLionel Sambuc.long	1014477480,1986661051
788ebfedea0SLionel Sambuc.long	1206759142,2177026350
789ebfedea0SLionel Sambuc.long	344077627,2456956037
790ebfedea0SLionel Sambuc.long	1290863460,2730485921
791ebfedea0SLionel Sambuc.long	3158454273,2820302411
792ebfedea0SLionel Sambuc.long	3505952657,3259730800
793ebfedea0SLionel Sambuc.long	106217008,3345764771
794ebfedea0SLionel Sambuc.long	3606008344,3516065817
795ebfedea0SLionel Sambuc.long	1432725776,3600352804
796ebfedea0SLionel Sambuc.long	1467031594,4094571909
797ebfedea0SLionel Sambuc.long	851169720,275423344
798ebfedea0SLionel Sambuc.long	3100823752,430227734
799ebfedea0SLionel Sambuc.long	1363258195,506948616
800ebfedea0SLionel Sambuc.long	3750685593,659060556
801ebfedea0SLionel Sambuc.long	3785050280,883997877
802ebfedea0SLionel Sambuc.long	3318307427,958139571
803ebfedea0SLionel Sambuc.long	3812723403,1322822218
804ebfedea0SLionel Sambuc.long	2003034995,1537002063
805ebfedea0SLionel Sambuc.long	3602036899,1747873779
806ebfedea0SLionel Sambuc.long	1575990012,1955562222
807ebfedea0SLionel Sambuc.long	1125592928,2024104815
808ebfedea0SLionel Sambuc.long	2716904306,2227730452
809ebfedea0SLionel Sambuc.long	442776044,2361852424
810ebfedea0SLionel Sambuc.long	593698344,2428436474
811ebfedea0SLionel Sambuc.long	3733110249,2756734187
812ebfedea0SLionel Sambuc.long	2999351573,3204031479
813ebfedea0SLionel Sambuc.long	3815920427,3329325298
814ebfedea0SLionel Sambuc.long	3928383900,3391569614
815ebfedea0SLionel Sambuc.long	566280711,3515267271
816ebfedea0SLionel Sambuc.long	3454069534,3940187606
817ebfedea0SLionel Sambuc.long	4000239992,4118630271
818ebfedea0SLionel Sambuc.long	1914138554,116418474
819ebfedea0SLionel Sambuc.long	2731055270,174292421
820ebfedea0SLionel Sambuc.long	3203993006,289380356
821ebfedea0SLionel Sambuc.long	320620315,460393269
822ebfedea0SLionel Sambuc.long	587496836,685471733
823ebfedea0SLionel Sambuc.long	1086792851,852142971
824ebfedea0SLionel Sambuc.long	365543100,1017036298
825ebfedea0SLionel Sambuc.long	2618297676,1126000580
826ebfedea0SLionel Sambuc.long	3409855158,1288033470
827ebfedea0SLionel Sambuc.long	4234509866,1501505948
828ebfedea0SLionel Sambuc.long	987167468,1607167915
829ebfedea0SLionel Sambuc.long	1246189591,1816402316
830ebfedea0SLionel Sambuc.size	sha512_block_data_order,.-.L_sha512_block_data_order_begin
831ebfedea0SLionel Sambuc.byte	83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97
832ebfedea0SLionel Sambuc.byte	110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
833ebfedea0SLionel Sambuc.byte	67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
834ebfedea0SLionel Sambuc.byte	112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
835ebfedea0SLionel Sambuc.byte	62,0
836*0a6a1f1dSLionel Sambuc.comm	OPENSSL_ia32cap_P,8,4
837