xref: /minix3/crypto/external/bsd/openssl/lib/libcrypto/arch/i386/rc5-586.S (revision ebfedea0ce5bbe81e252ddf32d732e40fb633fae)
1*ebfedea0SLionel Sambuc#include <machine/asm.h>
2*ebfedea0SLionel Sambuc.text
3*ebfedea0SLionel Sambuc.globl	RC5_32_encrypt
4*ebfedea0SLionel Sambuc.type	RC5_32_encrypt,@function
5*ebfedea0SLionel Sambuc.align	16
6*ebfedea0SLionel SambucRC5_32_encrypt:
7*ebfedea0SLionel Sambuc.L_RC5_32_encrypt_begin:
8*ebfedea0SLionel Sambuc
9*ebfedea0SLionel Sambuc	pushl	%ebp
10*ebfedea0SLionel Sambuc	pushl	%esi
11*ebfedea0SLionel Sambuc	pushl	%edi
12*ebfedea0SLionel Sambuc	movl	16(%esp),%edx
13*ebfedea0SLionel Sambuc	movl	20(%esp),%ebp
14*ebfedea0SLionel Sambuc
15*ebfedea0SLionel Sambuc	movl	(%edx),%edi
16*ebfedea0SLionel Sambuc	movl	4(%edx),%esi
17*ebfedea0SLionel Sambuc	pushl	%ebx
18*ebfedea0SLionel Sambuc	movl	(%ebp),%ebx
19*ebfedea0SLionel Sambuc	addl	4(%ebp),%edi
20*ebfedea0SLionel Sambuc	addl	8(%ebp),%esi
21*ebfedea0SLionel Sambuc	xorl	%esi,%edi
22*ebfedea0SLionel Sambuc	movl	12(%ebp),%eax
23*ebfedea0SLionel Sambuc	movl	%esi,%ecx
24*ebfedea0SLionel Sambuc	roll	%cl,%edi
25*ebfedea0SLionel Sambuc	addl	%eax,%edi
26*ebfedea0SLionel Sambuc	xorl	%edi,%esi
27*ebfedea0SLionel Sambuc	movl	16(%ebp),%eax
28*ebfedea0SLionel Sambuc	movl	%edi,%ecx
29*ebfedea0SLionel Sambuc	roll	%cl,%esi
30*ebfedea0SLionel Sambuc	addl	%eax,%esi
31*ebfedea0SLionel Sambuc	xorl	%esi,%edi
32*ebfedea0SLionel Sambuc	movl	20(%ebp),%eax
33*ebfedea0SLionel Sambuc	movl	%esi,%ecx
34*ebfedea0SLionel Sambuc	roll	%cl,%edi
35*ebfedea0SLionel Sambuc	addl	%eax,%edi
36*ebfedea0SLionel Sambuc	xorl	%edi,%esi
37*ebfedea0SLionel Sambuc	movl	24(%ebp),%eax
38*ebfedea0SLionel Sambuc	movl	%edi,%ecx
39*ebfedea0SLionel Sambuc	roll	%cl,%esi
40*ebfedea0SLionel Sambuc	addl	%eax,%esi
41*ebfedea0SLionel Sambuc	xorl	%esi,%edi
42*ebfedea0SLionel Sambuc	movl	28(%ebp),%eax
43*ebfedea0SLionel Sambuc	movl	%esi,%ecx
44*ebfedea0SLionel Sambuc	roll	%cl,%edi
45*ebfedea0SLionel Sambuc	addl	%eax,%edi
46*ebfedea0SLionel Sambuc	xorl	%edi,%esi
47*ebfedea0SLionel Sambuc	movl	32(%ebp),%eax
48*ebfedea0SLionel Sambuc	movl	%edi,%ecx
49*ebfedea0SLionel Sambuc	roll	%cl,%esi
50*ebfedea0SLionel Sambuc	addl	%eax,%esi
51*ebfedea0SLionel Sambuc	xorl	%esi,%edi
52*ebfedea0SLionel Sambuc	movl	36(%ebp),%eax
53*ebfedea0SLionel Sambuc	movl	%esi,%ecx
54*ebfedea0SLionel Sambuc	roll	%cl,%edi
55*ebfedea0SLionel Sambuc	addl	%eax,%edi
56*ebfedea0SLionel Sambuc	xorl	%edi,%esi
57*ebfedea0SLionel Sambuc	movl	40(%ebp),%eax
58*ebfedea0SLionel Sambuc	movl	%edi,%ecx
59*ebfedea0SLionel Sambuc	roll	%cl,%esi
60*ebfedea0SLionel Sambuc	addl	%eax,%esi
61*ebfedea0SLionel Sambuc	xorl	%esi,%edi
62*ebfedea0SLionel Sambuc	movl	44(%ebp),%eax
63*ebfedea0SLionel Sambuc	movl	%esi,%ecx
64*ebfedea0SLionel Sambuc	roll	%cl,%edi
65*ebfedea0SLionel Sambuc	addl	%eax,%edi
66*ebfedea0SLionel Sambuc	xorl	%edi,%esi
67*ebfedea0SLionel Sambuc	movl	48(%ebp),%eax
68*ebfedea0SLionel Sambuc	movl	%edi,%ecx
69*ebfedea0SLionel Sambuc	roll	%cl,%esi
70*ebfedea0SLionel Sambuc	addl	%eax,%esi
71*ebfedea0SLionel Sambuc	xorl	%esi,%edi
72*ebfedea0SLionel Sambuc	movl	52(%ebp),%eax
73*ebfedea0SLionel Sambuc	movl	%esi,%ecx
74*ebfedea0SLionel Sambuc	roll	%cl,%edi
75*ebfedea0SLionel Sambuc	addl	%eax,%edi
76*ebfedea0SLionel Sambuc	xorl	%edi,%esi
77*ebfedea0SLionel Sambuc	movl	56(%ebp),%eax
78*ebfedea0SLionel Sambuc	movl	%edi,%ecx
79*ebfedea0SLionel Sambuc	roll	%cl,%esi
80*ebfedea0SLionel Sambuc	addl	%eax,%esi
81*ebfedea0SLionel Sambuc	xorl	%esi,%edi
82*ebfedea0SLionel Sambuc	movl	60(%ebp),%eax
83*ebfedea0SLionel Sambuc	movl	%esi,%ecx
84*ebfedea0SLionel Sambuc	roll	%cl,%edi
85*ebfedea0SLionel Sambuc	addl	%eax,%edi
86*ebfedea0SLionel Sambuc	xorl	%edi,%esi
87*ebfedea0SLionel Sambuc	movl	64(%ebp),%eax
88*ebfedea0SLionel Sambuc	movl	%edi,%ecx
89*ebfedea0SLionel Sambuc	roll	%cl,%esi
90*ebfedea0SLionel Sambuc	addl	%eax,%esi
91*ebfedea0SLionel Sambuc	xorl	%esi,%edi
92*ebfedea0SLionel Sambuc	movl	68(%ebp),%eax
93*ebfedea0SLionel Sambuc	movl	%esi,%ecx
94*ebfedea0SLionel Sambuc	roll	%cl,%edi
95*ebfedea0SLionel Sambuc	addl	%eax,%edi
96*ebfedea0SLionel Sambuc	xorl	%edi,%esi
97*ebfedea0SLionel Sambuc	movl	72(%ebp),%eax
98*ebfedea0SLionel Sambuc	movl	%edi,%ecx
99*ebfedea0SLionel Sambuc	roll	%cl,%esi
100*ebfedea0SLionel Sambuc	addl	%eax,%esi
101*ebfedea0SLionel Sambuc	cmpl	$8,%ebx
102*ebfedea0SLionel Sambuc	je	.L000rc5_exit
103*ebfedea0SLionel Sambuc	xorl	%esi,%edi
104*ebfedea0SLionel Sambuc	movl	76(%ebp),%eax
105*ebfedea0SLionel Sambuc	movl	%esi,%ecx
106*ebfedea0SLionel Sambuc	roll	%cl,%edi
107*ebfedea0SLionel Sambuc	addl	%eax,%edi
108*ebfedea0SLionel Sambuc	xorl	%edi,%esi
109*ebfedea0SLionel Sambuc	movl	80(%ebp),%eax
110*ebfedea0SLionel Sambuc	movl	%edi,%ecx
111*ebfedea0SLionel Sambuc	roll	%cl,%esi
112*ebfedea0SLionel Sambuc	addl	%eax,%esi
113*ebfedea0SLionel Sambuc	xorl	%esi,%edi
114*ebfedea0SLionel Sambuc	movl	84(%ebp),%eax
115*ebfedea0SLionel Sambuc	movl	%esi,%ecx
116*ebfedea0SLionel Sambuc	roll	%cl,%edi
117*ebfedea0SLionel Sambuc	addl	%eax,%edi
118*ebfedea0SLionel Sambuc	xorl	%edi,%esi
119*ebfedea0SLionel Sambuc	movl	88(%ebp),%eax
120*ebfedea0SLionel Sambuc	movl	%edi,%ecx
121*ebfedea0SLionel Sambuc	roll	%cl,%esi
122*ebfedea0SLionel Sambuc	addl	%eax,%esi
123*ebfedea0SLionel Sambuc	xorl	%esi,%edi
124*ebfedea0SLionel Sambuc	movl	92(%ebp),%eax
125*ebfedea0SLionel Sambuc	movl	%esi,%ecx
126*ebfedea0SLionel Sambuc	roll	%cl,%edi
127*ebfedea0SLionel Sambuc	addl	%eax,%edi
128*ebfedea0SLionel Sambuc	xorl	%edi,%esi
129*ebfedea0SLionel Sambuc	movl	96(%ebp),%eax
130*ebfedea0SLionel Sambuc	movl	%edi,%ecx
131*ebfedea0SLionel Sambuc	roll	%cl,%esi
132*ebfedea0SLionel Sambuc	addl	%eax,%esi
133*ebfedea0SLionel Sambuc	xorl	%esi,%edi
134*ebfedea0SLionel Sambuc	movl	100(%ebp),%eax
135*ebfedea0SLionel Sambuc	movl	%esi,%ecx
136*ebfedea0SLionel Sambuc	roll	%cl,%edi
137*ebfedea0SLionel Sambuc	addl	%eax,%edi
138*ebfedea0SLionel Sambuc	xorl	%edi,%esi
139*ebfedea0SLionel Sambuc	movl	104(%ebp),%eax
140*ebfedea0SLionel Sambuc	movl	%edi,%ecx
141*ebfedea0SLionel Sambuc	roll	%cl,%esi
142*ebfedea0SLionel Sambuc	addl	%eax,%esi
143*ebfedea0SLionel Sambuc	cmpl	$12,%ebx
144*ebfedea0SLionel Sambuc	je	.L000rc5_exit
145*ebfedea0SLionel Sambuc	xorl	%esi,%edi
146*ebfedea0SLionel Sambuc	movl	108(%ebp),%eax
147*ebfedea0SLionel Sambuc	movl	%esi,%ecx
148*ebfedea0SLionel Sambuc	roll	%cl,%edi
149*ebfedea0SLionel Sambuc	addl	%eax,%edi
150*ebfedea0SLionel Sambuc	xorl	%edi,%esi
151*ebfedea0SLionel Sambuc	movl	112(%ebp),%eax
152*ebfedea0SLionel Sambuc	movl	%edi,%ecx
153*ebfedea0SLionel Sambuc	roll	%cl,%esi
154*ebfedea0SLionel Sambuc	addl	%eax,%esi
155*ebfedea0SLionel Sambuc	xorl	%esi,%edi
156*ebfedea0SLionel Sambuc	movl	116(%ebp),%eax
157*ebfedea0SLionel Sambuc	movl	%esi,%ecx
158*ebfedea0SLionel Sambuc	roll	%cl,%edi
159*ebfedea0SLionel Sambuc	addl	%eax,%edi
160*ebfedea0SLionel Sambuc	xorl	%edi,%esi
161*ebfedea0SLionel Sambuc	movl	120(%ebp),%eax
162*ebfedea0SLionel Sambuc	movl	%edi,%ecx
163*ebfedea0SLionel Sambuc	roll	%cl,%esi
164*ebfedea0SLionel Sambuc	addl	%eax,%esi
165*ebfedea0SLionel Sambuc	xorl	%esi,%edi
166*ebfedea0SLionel Sambuc	movl	124(%ebp),%eax
167*ebfedea0SLionel Sambuc	movl	%esi,%ecx
168*ebfedea0SLionel Sambuc	roll	%cl,%edi
169*ebfedea0SLionel Sambuc	addl	%eax,%edi
170*ebfedea0SLionel Sambuc	xorl	%edi,%esi
171*ebfedea0SLionel Sambuc	movl	128(%ebp),%eax
172*ebfedea0SLionel Sambuc	movl	%edi,%ecx
173*ebfedea0SLionel Sambuc	roll	%cl,%esi
174*ebfedea0SLionel Sambuc	addl	%eax,%esi
175*ebfedea0SLionel Sambuc	xorl	%esi,%edi
176*ebfedea0SLionel Sambuc	movl	132(%ebp),%eax
177*ebfedea0SLionel Sambuc	movl	%esi,%ecx
178*ebfedea0SLionel Sambuc	roll	%cl,%edi
179*ebfedea0SLionel Sambuc	addl	%eax,%edi
180*ebfedea0SLionel Sambuc	xorl	%edi,%esi
181*ebfedea0SLionel Sambuc	movl	136(%ebp),%eax
182*ebfedea0SLionel Sambuc	movl	%edi,%ecx
183*ebfedea0SLionel Sambuc	roll	%cl,%esi
184*ebfedea0SLionel Sambuc	addl	%eax,%esi
185*ebfedea0SLionel Sambuc.L000rc5_exit:
186*ebfedea0SLionel Sambuc	movl	%edi,(%edx)
187*ebfedea0SLionel Sambuc	movl	%esi,4(%edx)
188*ebfedea0SLionel Sambuc	popl	%ebx
189*ebfedea0SLionel Sambuc	popl	%edi
190*ebfedea0SLionel Sambuc	popl	%esi
191*ebfedea0SLionel Sambuc	popl	%ebp
192*ebfedea0SLionel Sambuc	ret
193*ebfedea0SLionel Sambuc.size	RC5_32_encrypt,.-.L_RC5_32_encrypt_begin
194*ebfedea0SLionel Sambuc.globl	RC5_32_decrypt
195*ebfedea0SLionel Sambuc.type	RC5_32_decrypt,@function
196*ebfedea0SLionel Sambuc.align	16
197*ebfedea0SLionel SambucRC5_32_decrypt:
198*ebfedea0SLionel Sambuc.L_RC5_32_decrypt_begin:
199*ebfedea0SLionel Sambuc
200*ebfedea0SLionel Sambuc	pushl	%ebp
201*ebfedea0SLionel Sambuc	pushl	%esi
202*ebfedea0SLionel Sambuc	pushl	%edi
203*ebfedea0SLionel Sambuc	movl	16(%esp),%edx
204*ebfedea0SLionel Sambuc	movl	20(%esp),%ebp
205*ebfedea0SLionel Sambuc
206*ebfedea0SLionel Sambuc	movl	(%edx),%edi
207*ebfedea0SLionel Sambuc	movl	4(%edx),%esi
208*ebfedea0SLionel Sambuc	pushl	%ebx
209*ebfedea0SLionel Sambuc	movl	(%ebp),%ebx
210*ebfedea0SLionel Sambuc	cmpl	$12,%ebx
211*ebfedea0SLionel Sambuc	je	.L001rc5_dec_12
212*ebfedea0SLionel Sambuc	cmpl	$8,%ebx
213*ebfedea0SLionel Sambuc	je	.L002rc5_dec_8
214*ebfedea0SLionel Sambuc	movl	136(%ebp),%eax
215*ebfedea0SLionel Sambuc	subl	%eax,%esi
216*ebfedea0SLionel Sambuc	movl	%edi,%ecx
217*ebfedea0SLionel Sambuc	rorl	%cl,%esi
218*ebfedea0SLionel Sambuc	xorl	%edi,%esi
219*ebfedea0SLionel Sambuc	movl	132(%ebp),%eax
220*ebfedea0SLionel Sambuc	subl	%eax,%edi
221*ebfedea0SLionel Sambuc	movl	%esi,%ecx
222*ebfedea0SLionel Sambuc	rorl	%cl,%edi
223*ebfedea0SLionel Sambuc	xorl	%esi,%edi
224*ebfedea0SLionel Sambuc	movl	128(%ebp),%eax
225*ebfedea0SLionel Sambuc	subl	%eax,%esi
226*ebfedea0SLionel Sambuc	movl	%edi,%ecx
227*ebfedea0SLionel Sambuc	rorl	%cl,%esi
228*ebfedea0SLionel Sambuc	xorl	%edi,%esi
229*ebfedea0SLionel Sambuc	movl	124(%ebp),%eax
230*ebfedea0SLionel Sambuc	subl	%eax,%edi
231*ebfedea0SLionel Sambuc	movl	%esi,%ecx
232*ebfedea0SLionel Sambuc	rorl	%cl,%edi
233*ebfedea0SLionel Sambuc	xorl	%esi,%edi
234*ebfedea0SLionel Sambuc	movl	120(%ebp),%eax
235*ebfedea0SLionel Sambuc	subl	%eax,%esi
236*ebfedea0SLionel Sambuc	movl	%edi,%ecx
237*ebfedea0SLionel Sambuc	rorl	%cl,%esi
238*ebfedea0SLionel Sambuc	xorl	%edi,%esi
239*ebfedea0SLionel Sambuc	movl	116(%ebp),%eax
240*ebfedea0SLionel Sambuc	subl	%eax,%edi
241*ebfedea0SLionel Sambuc	movl	%esi,%ecx
242*ebfedea0SLionel Sambuc	rorl	%cl,%edi
243*ebfedea0SLionel Sambuc	xorl	%esi,%edi
244*ebfedea0SLionel Sambuc	movl	112(%ebp),%eax
245*ebfedea0SLionel Sambuc	subl	%eax,%esi
246*ebfedea0SLionel Sambuc	movl	%edi,%ecx
247*ebfedea0SLionel Sambuc	rorl	%cl,%esi
248*ebfedea0SLionel Sambuc	xorl	%edi,%esi
249*ebfedea0SLionel Sambuc	movl	108(%ebp),%eax
250*ebfedea0SLionel Sambuc	subl	%eax,%edi
251*ebfedea0SLionel Sambuc	movl	%esi,%ecx
252*ebfedea0SLionel Sambuc	rorl	%cl,%edi
253*ebfedea0SLionel Sambuc	xorl	%esi,%edi
254*ebfedea0SLionel Sambuc.L001rc5_dec_12:
255*ebfedea0SLionel Sambuc	movl	104(%ebp),%eax
256*ebfedea0SLionel Sambuc	subl	%eax,%esi
257*ebfedea0SLionel Sambuc	movl	%edi,%ecx
258*ebfedea0SLionel Sambuc	rorl	%cl,%esi
259*ebfedea0SLionel Sambuc	xorl	%edi,%esi
260*ebfedea0SLionel Sambuc	movl	100(%ebp),%eax
261*ebfedea0SLionel Sambuc	subl	%eax,%edi
262*ebfedea0SLionel Sambuc	movl	%esi,%ecx
263*ebfedea0SLionel Sambuc	rorl	%cl,%edi
264*ebfedea0SLionel Sambuc	xorl	%esi,%edi
265*ebfedea0SLionel Sambuc	movl	96(%ebp),%eax
266*ebfedea0SLionel Sambuc	subl	%eax,%esi
267*ebfedea0SLionel Sambuc	movl	%edi,%ecx
268*ebfedea0SLionel Sambuc	rorl	%cl,%esi
269*ebfedea0SLionel Sambuc	xorl	%edi,%esi
270*ebfedea0SLionel Sambuc	movl	92(%ebp),%eax
271*ebfedea0SLionel Sambuc	subl	%eax,%edi
272*ebfedea0SLionel Sambuc	movl	%esi,%ecx
273*ebfedea0SLionel Sambuc	rorl	%cl,%edi
274*ebfedea0SLionel Sambuc	xorl	%esi,%edi
275*ebfedea0SLionel Sambuc	movl	88(%ebp),%eax
276*ebfedea0SLionel Sambuc	subl	%eax,%esi
277*ebfedea0SLionel Sambuc	movl	%edi,%ecx
278*ebfedea0SLionel Sambuc	rorl	%cl,%esi
279*ebfedea0SLionel Sambuc	xorl	%edi,%esi
280*ebfedea0SLionel Sambuc	movl	84(%ebp),%eax
281*ebfedea0SLionel Sambuc	subl	%eax,%edi
282*ebfedea0SLionel Sambuc	movl	%esi,%ecx
283*ebfedea0SLionel Sambuc	rorl	%cl,%edi
284*ebfedea0SLionel Sambuc	xorl	%esi,%edi
285*ebfedea0SLionel Sambuc	movl	80(%ebp),%eax
286*ebfedea0SLionel Sambuc	subl	%eax,%esi
287*ebfedea0SLionel Sambuc	movl	%edi,%ecx
288*ebfedea0SLionel Sambuc	rorl	%cl,%esi
289*ebfedea0SLionel Sambuc	xorl	%edi,%esi
290*ebfedea0SLionel Sambuc	movl	76(%ebp),%eax
291*ebfedea0SLionel Sambuc	subl	%eax,%edi
292*ebfedea0SLionel Sambuc	movl	%esi,%ecx
293*ebfedea0SLionel Sambuc	rorl	%cl,%edi
294*ebfedea0SLionel Sambuc	xorl	%esi,%edi
295*ebfedea0SLionel Sambuc.L002rc5_dec_8:
296*ebfedea0SLionel Sambuc	movl	72(%ebp),%eax
297*ebfedea0SLionel Sambuc	subl	%eax,%esi
298*ebfedea0SLionel Sambuc	movl	%edi,%ecx
299*ebfedea0SLionel Sambuc	rorl	%cl,%esi
300*ebfedea0SLionel Sambuc	xorl	%edi,%esi
301*ebfedea0SLionel Sambuc	movl	68(%ebp),%eax
302*ebfedea0SLionel Sambuc	subl	%eax,%edi
303*ebfedea0SLionel Sambuc	movl	%esi,%ecx
304*ebfedea0SLionel Sambuc	rorl	%cl,%edi
305*ebfedea0SLionel Sambuc	xorl	%esi,%edi
306*ebfedea0SLionel Sambuc	movl	64(%ebp),%eax
307*ebfedea0SLionel Sambuc	subl	%eax,%esi
308*ebfedea0SLionel Sambuc	movl	%edi,%ecx
309*ebfedea0SLionel Sambuc	rorl	%cl,%esi
310*ebfedea0SLionel Sambuc	xorl	%edi,%esi
311*ebfedea0SLionel Sambuc	movl	60(%ebp),%eax
312*ebfedea0SLionel Sambuc	subl	%eax,%edi
313*ebfedea0SLionel Sambuc	movl	%esi,%ecx
314*ebfedea0SLionel Sambuc	rorl	%cl,%edi
315*ebfedea0SLionel Sambuc	xorl	%esi,%edi
316*ebfedea0SLionel Sambuc	movl	56(%ebp),%eax
317*ebfedea0SLionel Sambuc	subl	%eax,%esi
318*ebfedea0SLionel Sambuc	movl	%edi,%ecx
319*ebfedea0SLionel Sambuc	rorl	%cl,%esi
320*ebfedea0SLionel Sambuc	xorl	%edi,%esi
321*ebfedea0SLionel Sambuc	movl	52(%ebp),%eax
322*ebfedea0SLionel Sambuc	subl	%eax,%edi
323*ebfedea0SLionel Sambuc	movl	%esi,%ecx
324*ebfedea0SLionel Sambuc	rorl	%cl,%edi
325*ebfedea0SLionel Sambuc	xorl	%esi,%edi
326*ebfedea0SLionel Sambuc	movl	48(%ebp),%eax
327*ebfedea0SLionel Sambuc	subl	%eax,%esi
328*ebfedea0SLionel Sambuc	movl	%edi,%ecx
329*ebfedea0SLionel Sambuc	rorl	%cl,%esi
330*ebfedea0SLionel Sambuc	xorl	%edi,%esi
331*ebfedea0SLionel Sambuc	movl	44(%ebp),%eax
332*ebfedea0SLionel Sambuc	subl	%eax,%edi
333*ebfedea0SLionel Sambuc	movl	%esi,%ecx
334*ebfedea0SLionel Sambuc	rorl	%cl,%edi
335*ebfedea0SLionel Sambuc	xorl	%esi,%edi
336*ebfedea0SLionel Sambuc	movl	40(%ebp),%eax
337*ebfedea0SLionel Sambuc	subl	%eax,%esi
338*ebfedea0SLionel Sambuc	movl	%edi,%ecx
339*ebfedea0SLionel Sambuc	rorl	%cl,%esi
340*ebfedea0SLionel Sambuc	xorl	%edi,%esi
341*ebfedea0SLionel Sambuc	movl	36(%ebp),%eax
342*ebfedea0SLionel Sambuc	subl	%eax,%edi
343*ebfedea0SLionel Sambuc	movl	%esi,%ecx
344*ebfedea0SLionel Sambuc	rorl	%cl,%edi
345*ebfedea0SLionel Sambuc	xorl	%esi,%edi
346*ebfedea0SLionel Sambuc	movl	32(%ebp),%eax
347*ebfedea0SLionel Sambuc	subl	%eax,%esi
348*ebfedea0SLionel Sambuc	movl	%edi,%ecx
349*ebfedea0SLionel Sambuc	rorl	%cl,%esi
350*ebfedea0SLionel Sambuc	xorl	%edi,%esi
351*ebfedea0SLionel Sambuc	movl	28(%ebp),%eax
352*ebfedea0SLionel Sambuc	subl	%eax,%edi
353*ebfedea0SLionel Sambuc	movl	%esi,%ecx
354*ebfedea0SLionel Sambuc	rorl	%cl,%edi
355*ebfedea0SLionel Sambuc	xorl	%esi,%edi
356*ebfedea0SLionel Sambuc	movl	24(%ebp),%eax
357*ebfedea0SLionel Sambuc	subl	%eax,%esi
358*ebfedea0SLionel Sambuc	movl	%edi,%ecx
359*ebfedea0SLionel Sambuc	rorl	%cl,%esi
360*ebfedea0SLionel Sambuc	xorl	%edi,%esi
361*ebfedea0SLionel Sambuc	movl	20(%ebp),%eax
362*ebfedea0SLionel Sambuc	subl	%eax,%edi
363*ebfedea0SLionel Sambuc	movl	%esi,%ecx
364*ebfedea0SLionel Sambuc	rorl	%cl,%edi
365*ebfedea0SLionel Sambuc	xorl	%esi,%edi
366*ebfedea0SLionel Sambuc	movl	16(%ebp),%eax
367*ebfedea0SLionel Sambuc	subl	%eax,%esi
368*ebfedea0SLionel Sambuc	movl	%edi,%ecx
369*ebfedea0SLionel Sambuc	rorl	%cl,%esi
370*ebfedea0SLionel Sambuc	xorl	%edi,%esi
371*ebfedea0SLionel Sambuc	movl	12(%ebp),%eax
372*ebfedea0SLionel Sambuc	subl	%eax,%edi
373*ebfedea0SLionel Sambuc	movl	%esi,%ecx
374*ebfedea0SLionel Sambuc	rorl	%cl,%edi
375*ebfedea0SLionel Sambuc	xorl	%esi,%edi
376*ebfedea0SLionel Sambuc	subl	8(%ebp),%esi
377*ebfedea0SLionel Sambuc	subl	4(%ebp),%edi
378*ebfedea0SLionel Sambuc.L003rc5_exit:
379*ebfedea0SLionel Sambuc	movl	%edi,(%edx)
380*ebfedea0SLionel Sambuc	movl	%esi,4(%edx)
381*ebfedea0SLionel Sambuc	popl	%ebx
382*ebfedea0SLionel Sambuc	popl	%edi
383*ebfedea0SLionel Sambuc	popl	%esi
384*ebfedea0SLionel Sambuc	popl	%ebp
385*ebfedea0SLionel Sambuc	ret
386*ebfedea0SLionel Sambuc.size	RC5_32_decrypt,.-.L_RC5_32_decrypt_begin
387*ebfedea0SLionel Sambuc.globl	RC5_32_cbc_encrypt
388*ebfedea0SLionel Sambuc.type	RC5_32_cbc_encrypt,@function
389*ebfedea0SLionel Sambuc.align	16
390*ebfedea0SLionel SambucRC5_32_cbc_encrypt:
391*ebfedea0SLionel Sambuc.L_RC5_32_cbc_encrypt_begin:
392*ebfedea0SLionel Sambuc
393*ebfedea0SLionel Sambuc	pushl	%ebp
394*ebfedea0SLionel Sambuc	pushl	%ebx
395*ebfedea0SLionel Sambuc	pushl	%esi
396*ebfedea0SLionel Sambuc	pushl	%edi
397*ebfedea0SLionel Sambuc	movl	28(%esp),%ebp
398*ebfedea0SLionel Sambuc
399*ebfedea0SLionel Sambuc	movl	36(%esp),%ebx
400*ebfedea0SLionel Sambuc	movl	(%ebx),%esi
401*ebfedea0SLionel Sambuc	movl	4(%ebx),%edi
402*ebfedea0SLionel Sambuc	pushl	%edi
403*ebfedea0SLionel Sambuc	pushl	%esi
404*ebfedea0SLionel Sambuc	pushl	%edi
405*ebfedea0SLionel Sambuc	pushl	%esi
406*ebfedea0SLionel Sambuc	movl	%esp,%ebx
407*ebfedea0SLionel Sambuc	movl	36(%esp),%esi
408*ebfedea0SLionel Sambuc	movl	40(%esp),%edi
409*ebfedea0SLionel Sambuc
410*ebfedea0SLionel Sambuc	movl	56(%esp),%ecx
411*ebfedea0SLionel Sambuc
412*ebfedea0SLionel Sambuc	movl	48(%esp),%eax
413*ebfedea0SLionel Sambuc	pushl	%eax
414*ebfedea0SLionel Sambuc	pushl	%ebx
415*ebfedea0SLionel Sambuc	cmpl	$0,%ecx
416*ebfedea0SLionel Sambuc	jz	.L004decrypt
417*ebfedea0SLionel Sambuc	andl	$4294967288,%ebp
418*ebfedea0SLionel Sambuc	movl	8(%esp),%eax
419*ebfedea0SLionel Sambuc	movl	12(%esp),%ebx
420*ebfedea0SLionel Sambuc	jz	.L005encrypt_finish
421*ebfedea0SLionel Sambuc.L006encrypt_loop:
422*ebfedea0SLionel Sambuc	movl	(%esi),%ecx
423*ebfedea0SLionel Sambuc	movl	4(%esi),%edx
424*ebfedea0SLionel Sambuc	xorl	%ecx,%eax
425*ebfedea0SLionel Sambuc	xorl	%edx,%ebx
426*ebfedea0SLionel Sambuc	movl	%eax,8(%esp)
427*ebfedea0SLionel Sambuc	movl	%ebx,12(%esp)
428*ebfedea0SLionel Sambuc	call	.L_RC5_32_encrypt_begin
429*ebfedea0SLionel Sambuc	movl	8(%esp),%eax
430*ebfedea0SLionel Sambuc	movl	12(%esp),%ebx
431*ebfedea0SLionel Sambuc	movl	%eax,(%edi)
432*ebfedea0SLionel Sambuc	movl	%ebx,4(%edi)
433*ebfedea0SLionel Sambuc	addl	$8,%esi
434*ebfedea0SLionel Sambuc	addl	$8,%edi
435*ebfedea0SLionel Sambuc	subl	$8,%ebp
436*ebfedea0SLionel Sambuc	jnz	.L006encrypt_loop
437*ebfedea0SLionel Sambuc.L005encrypt_finish:
438*ebfedea0SLionel Sambuc	movl	52(%esp),%ebp
439*ebfedea0SLionel Sambuc	andl	$7,%ebp
440*ebfedea0SLionel Sambuc	jz	.L007finish
441*ebfedea0SLionel Sambuc	call	.L008PIC_point
442*ebfedea0SLionel Sambuc.L008PIC_point:
443*ebfedea0SLionel Sambuc	popl	%edx
444*ebfedea0SLionel Sambuc	leal	.L009cbc_enc_jmp_table-.L008PIC_point(%edx),%ecx
445*ebfedea0SLionel Sambuc	movl	(%ecx,%ebp,4),%ebp
446*ebfedea0SLionel Sambuc	addl	%edx,%ebp
447*ebfedea0SLionel Sambuc	xorl	%ecx,%ecx
448*ebfedea0SLionel Sambuc	xorl	%edx,%edx
449*ebfedea0SLionel Sambuc	jmp	*%ebp
450*ebfedea0SLionel Sambuc.L010ej7:
451*ebfedea0SLionel Sambuc	movb	6(%esi),%dh
452*ebfedea0SLionel Sambuc	shll	$8,%edx
453*ebfedea0SLionel Sambuc.L011ej6:
454*ebfedea0SLionel Sambuc	movb	5(%esi),%dh
455*ebfedea0SLionel Sambuc.L012ej5:
456*ebfedea0SLionel Sambuc	movb	4(%esi),%dl
457*ebfedea0SLionel Sambuc.L013ej4:
458*ebfedea0SLionel Sambuc	movl	(%esi),%ecx
459*ebfedea0SLionel Sambuc	jmp	.L014ejend
460*ebfedea0SLionel Sambuc.L015ej3:
461*ebfedea0SLionel Sambuc	movb	2(%esi),%ch
462*ebfedea0SLionel Sambuc	shll	$8,%ecx
463*ebfedea0SLionel Sambuc.L016ej2:
464*ebfedea0SLionel Sambuc	movb	1(%esi),%ch
465*ebfedea0SLionel Sambuc.L017ej1:
466*ebfedea0SLionel Sambuc	movb	(%esi),%cl
467*ebfedea0SLionel Sambuc.L014ejend:
468*ebfedea0SLionel Sambuc	xorl	%ecx,%eax
469*ebfedea0SLionel Sambuc	xorl	%edx,%ebx
470*ebfedea0SLionel Sambuc	movl	%eax,8(%esp)
471*ebfedea0SLionel Sambuc	movl	%ebx,12(%esp)
472*ebfedea0SLionel Sambuc	call	.L_RC5_32_encrypt_begin
473*ebfedea0SLionel Sambuc	movl	8(%esp),%eax
474*ebfedea0SLionel Sambuc	movl	12(%esp),%ebx
475*ebfedea0SLionel Sambuc	movl	%eax,(%edi)
476*ebfedea0SLionel Sambuc	movl	%ebx,4(%edi)
477*ebfedea0SLionel Sambuc	jmp	.L007finish
478*ebfedea0SLionel Sambuc.L004decrypt:
479*ebfedea0SLionel Sambuc	andl	$4294967288,%ebp
480*ebfedea0SLionel Sambuc	movl	16(%esp),%eax
481*ebfedea0SLionel Sambuc	movl	20(%esp),%ebx
482*ebfedea0SLionel Sambuc	jz	.L018decrypt_finish
483*ebfedea0SLionel Sambuc.L019decrypt_loop:
484*ebfedea0SLionel Sambuc	movl	(%esi),%eax
485*ebfedea0SLionel Sambuc	movl	4(%esi),%ebx
486*ebfedea0SLionel Sambuc	movl	%eax,8(%esp)
487*ebfedea0SLionel Sambuc	movl	%ebx,12(%esp)
488*ebfedea0SLionel Sambuc	call	.L_RC5_32_decrypt_begin
489*ebfedea0SLionel Sambuc	movl	8(%esp),%eax
490*ebfedea0SLionel Sambuc	movl	12(%esp),%ebx
491*ebfedea0SLionel Sambuc	movl	16(%esp),%ecx
492*ebfedea0SLionel Sambuc	movl	20(%esp),%edx
493*ebfedea0SLionel Sambuc	xorl	%eax,%ecx
494*ebfedea0SLionel Sambuc	xorl	%ebx,%edx
495*ebfedea0SLionel Sambuc	movl	(%esi),%eax
496*ebfedea0SLionel Sambuc	movl	4(%esi),%ebx
497*ebfedea0SLionel Sambuc	movl	%ecx,(%edi)
498*ebfedea0SLionel Sambuc	movl	%edx,4(%edi)
499*ebfedea0SLionel Sambuc	movl	%eax,16(%esp)
500*ebfedea0SLionel Sambuc	movl	%ebx,20(%esp)
501*ebfedea0SLionel Sambuc	addl	$8,%esi
502*ebfedea0SLionel Sambuc	addl	$8,%edi
503*ebfedea0SLionel Sambuc	subl	$8,%ebp
504*ebfedea0SLionel Sambuc	jnz	.L019decrypt_loop
505*ebfedea0SLionel Sambuc.L018decrypt_finish:
506*ebfedea0SLionel Sambuc	movl	52(%esp),%ebp
507*ebfedea0SLionel Sambuc	andl	$7,%ebp
508*ebfedea0SLionel Sambuc	jz	.L007finish
509*ebfedea0SLionel Sambuc	movl	(%esi),%eax
510*ebfedea0SLionel Sambuc	movl	4(%esi),%ebx
511*ebfedea0SLionel Sambuc	movl	%eax,8(%esp)
512*ebfedea0SLionel Sambuc	movl	%ebx,12(%esp)
513*ebfedea0SLionel Sambuc	call	.L_RC5_32_decrypt_begin
514*ebfedea0SLionel Sambuc	movl	8(%esp),%eax
515*ebfedea0SLionel Sambuc	movl	12(%esp),%ebx
516*ebfedea0SLionel Sambuc	movl	16(%esp),%ecx
517*ebfedea0SLionel Sambuc	movl	20(%esp),%edx
518*ebfedea0SLionel Sambuc	xorl	%eax,%ecx
519*ebfedea0SLionel Sambuc	xorl	%ebx,%edx
520*ebfedea0SLionel Sambuc	movl	(%esi),%eax
521*ebfedea0SLionel Sambuc	movl	4(%esi),%ebx
522*ebfedea0SLionel Sambuc.L020dj7:
523*ebfedea0SLionel Sambuc	rorl	$16,%edx
524*ebfedea0SLionel Sambuc	movb	%dl,6(%edi)
525*ebfedea0SLionel Sambuc	shrl	$16,%edx
526*ebfedea0SLionel Sambuc.L021dj6:
527*ebfedea0SLionel Sambuc	movb	%dh,5(%edi)
528*ebfedea0SLionel Sambuc.L022dj5:
529*ebfedea0SLionel Sambuc	movb	%dl,4(%edi)
530*ebfedea0SLionel Sambuc.L023dj4:
531*ebfedea0SLionel Sambuc	movl	%ecx,(%edi)
532*ebfedea0SLionel Sambuc	jmp	.L024djend
533*ebfedea0SLionel Sambuc.L025dj3:
534*ebfedea0SLionel Sambuc	rorl	$16,%ecx
535*ebfedea0SLionel Sambuc	movb	%cl,2(%edi)
536*ebfedea0SLionel Sambuc	shll	$16,%ecx
537*ebfedea0SLionel Sambuc.L026dj2:
538*ebfedea0SLionel Sambuc	movb	%ch,1(%esi)
539*ebfedea0SLionel Sambuc.L027dj1:
540*ebfedea0SLionel Sambuc	movb	%cl,(%esi)
541*ebfedea0SLionel Sambuc.L024djend:
542*ebfedea0SLionel Sambuc	jmp	.L007finish
543*ebfedea0SLionel Sambuc.L007finish:
544*ebfedea0SLionel Sambuc	movl	60(%esp),%ecx
545*ebfedea0SLionel Sambuc	addl	$24,%esp
546*ebfedea0SLionel Sambuc	movl	%eax,(%ecx)
547*ebfedea0SLionel Sambuc	movl	%ebx,4(%ecx)
548*ebfedea0SLionel Sambuc	popl	%edi
549*ebfedea0SLionel Sambuc	popl	%esi
550*ebfedea0SLionel Sambuc	popl	%ebx
551*ebfedea0SLionel Sambuc	popl	%ebp
552*ebfedea0SLionel Sambuc	ret
553*ebfedea0SLionel Sambuc.align	64
554*ebfedea0SLionel Sambuc.L009cbc_enc_jmp_table:
555*ebfedea0SLionel Sambuc.long	0
556*ebfedea0SLionel Sambuc.long	.L017ej1-.L008PIC_point
557*ebfedea0SLionel Sambuc.long	.L016ej2-.L008PIC_point
558*ebfedea0SLionel Sambuc.long	.L015ej3-.L008PIC_point
559*ebfedea0SLionel Sambuc.long	.L013ej4-.L008PIC_point
560*ebfedea0SLionel Sambuc.long	.L012ej5-.L008PIC_point
561*ebfedea0SLionel Sambuc.long	.L011ej6-.L008PIC_point
562*ebfedea0SLionel Sambuc.long	.L010ej7-.L008PIC_point
563*ebfedea0SLionel Sambuc.align	64
564*ebfedea0SLionel Sambuc.size	RC5_32_cbc_encrypt,.-.L_RC5_32_cbc_encrypt_begin
565