]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - secure/lib/libcrypto/i386/sha256-586.S
- Make libcrypto.so position independent on i386.
[FreeBSD/stable/10.git] / secure / lib / libcrypto / i386 / sha256-586.S
1 # $FreeBSD$
2 # Do not modify. This file is auto-generated from sha256-586.pl.
3 #ifdef PIC
4 .file   "sha256-586.S"
5 .text
6 .globl  sha256_block_data_order
7 .type   sha256_block_data_order,@function
8 .align  16
9 sha256_block_data_order:
10 .L_sha256_block_data_order_begin:
11         pushl   %ebp
12         pushl   %ebx
13         pushl   %esi
14         pushl   %edi
15         movl    20(%esp),%esi
16         movl    24(%esp),%edi
17         movl    28(%esp),%eax
18         movl    %esp,%ebx
19         call    .L000pic_point
20 .L000pic_point:
21         popl    %ebp
22         leal    .L001K256-.L000pic_point(%ebp),%ebp
23         subl    $16,%esp
24         andl    $-64,%esp
25         shll    $6,%eax
26         addl    %edi,%eax
27         movl    %esi,(%esp)
28         movl    %edi,4(%esp)
29         movl    %eax,8(%esp)
30         movl    %ebx,12(%esp)
31 .align  16
32 .L002loop:
33         movl    (%edi),%eax
34         movl    4(%edi),%ebx
35         movl    8(%edi),%ecx
36         movl    12(%edi),%edx
37         bswap   %eax
38         bswap   %ebx
39         bswap   %ecx
40         bswap   %edx
41         pushl   %eax
42         pushl   %ebx
43         pushl   %ecx
44         pushl   %edx
45         movl    16(%edi),%eax
46         movl    20(%edi),%ebx
47         movl    24(%edi),%ecx
48         movl    28(%edi),%edx
49         bswap   %eax
50         bswap   %ebx
51         bswap   %ecx
52         bswap   %edx
53         pushl   %eax
54         pushl   %ebx
55         pushl   %ecx
56         pushl   %edx
57         movl    32(%edi),%eax
58         movl    36(%edi),%ebx
59         movl    40(%edi),%ecx
60         movl    44(%edi),%edx
61         bswap   %eax
62         bswap   %ebx
63         bswap   %ecx
64         bswap   %edx
65         pushl   %eax
66         pushl   %ebx
67         pushl   %ecx
68         pushl   %edx
69         movl    48(%edi),%eax
70         movl    52(%edi),%ebx
71         movl    56(%edi),%ecx
72         movl    60(%edi),%edx
73         bswap   %eax
74         bswap   %ebx
75         bswap   %ecx
76         bswap   %edx
77         pushl   %eax
78         pushl   %ebx
79         pushl   %ecx
80         pushl   %edx
81         addl    $64,%edi
82         subl    $32,%esp
83         movl    %edi,100(%esp)
84         movl    (%esi),%eax
85         movl    4(%esi),%ebx
86         movl    8(%esi),%ecx
87         movl    12(%esi),%edi
88         movl    %ebx,4(%esp)
89         movl    %ecx,8(%esp)
90         movl    %edi,12(%esp)
91         movl    16(%esi),%edx
92         movl    20(%esi),%ebx
93         movl    24(%esi),%ecx
94         movl    28(%esi),%edi
95         movl    %ebx,20(%esp)
96         movl    %ecx,24(%esp)
97         movl    %edi,28(%esp)
98 .align  16
99 .L00300_15:
100         movl    92(%esp),%ebx
101         movl    %edx,%ecx
102         rorl    $14,%ecx
103         movl    20(%esp),%esi
104         xorl    %edx,%ecx
105         rorl    $5,%ecx
106         xorl    %edx,%ecx
107         rorl    $6,%ecx
108         movl    24(%esp),%edi
109         addl    %ecx,%ebx
110         xorl    %edi,%esi
111         movl    %edx,16(%esp)
112         movl    %eax,%ecx
113         andl    %edx,%esi
114         movl    12(%esp),%edx
115         xorl    %edi,%esi
116         movl    %eax,%edi
117         addl    %esi,%ebx
118         rorl    $9,%ecx
119         addl    28(%esp),%ebx
120         xorl    %eax,%ecx
121         rorl    $11,%ecx
122         movl    4(%esp),%esi
123         xorl    %eax,%ecx
124         rorl    $2,%ecx
125         addl    %ebx,%edx
126         movl    8(%esp),%edi
127         addl    %ecx,%ebx
128         movl    %eax,(%esp)
129         movl    %eax,%ecx
130         subl    $4,%esp
131         orl     %esi,%eax
132         andl    %esi,%ecx
133         andl    %edi,%eax
134         movl    (%ebp),%esi
135         orl     %ecx,%eax
136         addl    $4,%ebp
137         addl    %ebx,%eax
138         addl    %esi,%edx
139         addl    %esi,%eax
140         cmpl    $3248222580,%esi
141         jne     .L00300_15
142         movl    152(%esp),%ebx
143 .align  16
144 .L00416_63:
145         movl    %ebx,%esi
146         movl    100(%esp),%ecx
147         rorl    $11,%esi
148         movl    %ecx,%edi
149         xorl    %ebx,%esi
150         rorl    $7,%esi
151         shrl    $3,%ebx
152         rorl    $2,%edi
153         xorl    %esi,%ebx
154         xorl    %ecx,%edi
155         rorl    $17,%edi
156         shrl    $10,%ecx
157         addl    156(%esp),%ebx
158         xorl    %ecx,%edi
159         addl    120(%esp),%ebx
160         movl    %edx,%ecx
161         addl    %edi,%ebx
162         rorl    $14,%ecx
163         movl    20(%esp),%esi
164         xorl    %edx,%ecx
165         rorl    $5,%ecx
166         movl    %ebx,92(%esp)
167         xorl    %edx,%ecx
168         rorl    $6,%ecx
169         movl    24(%esp),%edi
170         addl    %ecx,%ebx
171         xorl    %edi,%esi
172         movl    %edx,16(%esp)
173         movl    %eax,%ecx
174         andl    %edx,%esi
175         movl    12(%esp),%edx
176         xorl    %edi,%esi
177         movl    %eax,%edi
178         addl    %esi,%ebx
179         rorl    $9,%ecx
180         addl    28(%esp),%ebx
181         xorl    %eax,%ecx
182         rorl    $11,%ecx
183         movl    4(%esp),%esi
184         xorl    %eax,%ecx
185         rorl    $2,%ecx
186         addl    %ebx,%edx
187         movl    8(%esp),%edi
188         addl    %ecx,%ebx
189         movl    %eax,(%esp)
190         movl    %eax,%ecx
191         subl    $4,%esp
192         orl     %esi,%eax
193         andl    %esi,%ecx
194         andl    %edi,%eax
195         movl    (%ebp),%esi
196         orl     %ecx,%eax
197         addl    $4,%ebp
198         addl    %ebx,%eax
199         movl    152(%esp),%ebx
200         addl    %esi,%edx
201         addl    %esi,%eax
202         cmpl    $3329325298,%esi
203         jne     .L00416_63
204         movl    352(%esp),%esi
205         movl    4(%esp),%ebx
206         movl    8(%esp),%ecx
207         movl    12(%esp),%edi
208         addl    (%esi),%eax
209         addl    4(%esi),%ebx
210         addl    8(%esi),%ecx
211         addl    12(%esi),%edi
212         movl    %eax,(%esi)
213         movl    %ebx,4(%esi)
214         movl    %ecx,8(%esi)
215         movl    %edi,12(%esi)
216         movl    20(%esp),%eax
217         movl    24(%esp),%ebx
218         movl    28(%esp),%ecx
219         movl    356(%esp),%edi
220         addl    16(%esi),%edx
221         addl    20(%esi),%eax
222         addl    24(%esi),%ebx
223         addl    28(%esi),%ecx
224         movl    %edx,16(%esi)
225         movl    %eax,20(%esi)
226         movl    %ebx,24(%esi)
227         movl    %ecx,28(%esi)
228         addl    $352,%esp
229         subl    $256,%ebp
230         cmpl    8(%esp),%edi
231         jb      .L002loop
232         movl    12(%esp),%esp
233         popl    %edi
234         popl    %esi
235         popl    %ebx
236         popl    %ebp
237         ret
238 .align  64
239 .L001K256:
240 .long   1116352408,1899447441,3049323471,3921009573
241 .long   961987163,1508970993,2453635748,2870763221
242 .long   3624381080,310598401,607225278,1426881987
243 .long   1925078388,2162078206,2614888103,3248222580
244 .long   3835390401,4022224774,264347078,604807628
245 .long   770255983,1249150122,1555081692,1996064986
246 .long   2554220882,2821834349,2952996808,3210313671
247 .long   3336571891,3584528711,113926993,338241895
248 .long   666307205,773529912,1294757372,1396182291
249 .long   1695183700,1986661051,2177026350,2456956037
250 .long   2730485921,2820302411,3259730800,3345764771
251 .long   3516065817,3600352804,4094571909,275423344
252 .long   430227734,506948616,659060556,883997877
253 .long   958139571,1322822218,1537002063,1747873779
254 .long   1955562222,2024104815,2227730452,2361852424
255 .long   2428436474,2756734187,3204031479,3329325298
256 .size   sha256_block_data_order,.-.L_sha256_block_data_order_begin
257 .byte   83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
258 .byte   110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
259 .byte   67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
260 .byte   112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
261 .byte   62,0
262 #else
263 .file   "sha256-586.S"
264 .text
265 .globl  sha256_block_data_order
266 .type   sha256_block_data_order,@function
267 .align  16
268 sha256_block_data_order:
269 .L_sha256_block_data_order_begin:
270         pushl   %ebp
271         pushl   %ebx
272         pushl   %esi
273         pushl   %edi
274         movl    20(%esp),%esi
275         movl    24(%esp),%edi
276         movl    28(%esp),%eax
277         movl    %esp,%ebx
278         call    .L000pic_point
279 .L000pic_point:
280         popl    %ebp
281         leal    .L001K256-.L000pic_point(%ebp),%ebp
282         subl    $16,%esp
283         andl    $-64,%esp
284         shll    $6,%eax
285         addl    %edi,%eax
286         movl    %esi,(%esp)
287         movl    %edi,4(%esp)
288         movl    %eax,8(%esp)
289         movl    %ebx,12(%esp)
290 .align  16
291 .L002loop:
292         movl    (%edi),%eax
293         movl    4(%edi),%ebx
294         movl    8(%edi),%ecx
295         movl    12(%edi),%edx
296         bswap   %eax
297         bswap   %ebx
298         bswap   %ecx
299         bswap   %edx
300         pushl   %eax
301         pushl   %ebx
302         pushl   %ecx
303         pushl   %edx
304         movl    16(%edi),%eax
305         movl    20(%edi),%ebx
306         movl    24(%edi),%ecx
307         movl    28(%edi),%edx
308         bswap   %eax
309         bswap   %ebx
310         bswap   %ecx
311         bswap   %edx
312         pushl   %eax
313         pushl   %ebx
314         pushl   %ecx
315         pushl   %edx
316         movl    32(%edi),%eax
317         movl    36(%edi),%ebx
318         movl    40(%edi),%ecx
319         movl    44(%edi),%edx
320         bswap   %eax
321         bswap   %ebx
322         bswap   %ecx
323         bswap   %edx
324         pushl   %eax
325         pushl   %ebx
326         pushl   %ecx
327         pushl   %edx
328         movl    48(%edi),%eax
329         movl    52(%edi),%ebx
330         movl    56(%edi),%ecx
331         movl    60(%edi),%edx
332         bswap   %eax
333         bswap   %ebx
334         bswap   %ecx
335         bswap   %edx
336         pushl   %eax
337         pushl   %ebx
338         pushl   %ecx
339         pushl   %edx
340         addl    $64,%edi
341         subl    $32,%esp
342         movl    %edi,100(%esp)
343         movl    (%esi),%eax
344         movl    4(%esi),%ebx
345         movl    8(%esi),%ecx
346         movl    12(%esi),%edi
347         movl    %ebx,4(%esp)
348         movl    %ecx,8(%esp)
349         movl    %edi,12(%esp)
350         movl    16(%esi),%edx
351         movl    20(%esi),%ebx
352         movl    24(%esi),%ecx
353         movl    28(%esi),%edi
354         movl    %ebx,20(%esp)
355         movl    %ecx,24(%esp)
356         movl    %edi,28(%esp)
357 .align  16
358 .L00300_15:
359         movl    92(%esp),%ebx
360         movl    %edx,%ecx
361         rorl    $14,%ecx
362         movl    20(%esp),%esi
363         xorl    %edx,%ecx
364         rorl    $5,%ecx
365         xorl    %edx,%ecx
366         rorl    $6,%ecx
367         movl    24(%esp),%edi
368         addl    %ecx,%ebx
369         xorl    %edi,%esi
370         movl    %edx,16(%esp)
371         movl    %eax,%ecx
372         andl    %edx,%esi
373         movl    12(%esp),%edx
374         xorl    %edi,%esi
375         movl    %eax,%edi
376         addl    %esi,%ebx
377         rorl    $9,%ecx
378         addl    28(%esp),%ebx
379         xorl    %eax,%ecx
380         rorl    $11,%ecx
381         movl    4(%esp),%esi
382         xorl    %eax,%ecx
383         rorl    $2,%ecx
384         addl    %ebx,%edx
385         movl    8(%esp),%edi
386         addl    %ecx,%ebx
387         movl    %eax,(%esp)
388         movl    %eax,%ecx
389         subl    $4,%esp
390         orl     %esi,%eax
391         andl    %esi,%ecx
392         andl    %edi,%eax
393         movl    (%ebp),%esi
394         orl     %ecx,%eax
395         addl    $4,%ebp
396         addl    %ebx,%eax
397         addl    %esi,%edx
398         addl    %esi,%eax
399         cmpl    $3248222580,%esi
400         jne     .L00300_15
401         movl    152(%esp),%ebx
402 .align  16
403 .L00416_63:
404         movl    %ebx,%esi
405         movl    100(%esp),%ecx
406         rorl    $11,%esi
407         movl    %ecx,%edi
408         xorl    %ebx,%esi
409         rorl    $7,%esi
410         shrl    $3,%ebx
411         rorl    $2,%edi
412         xorl    %esi,%ebx
413         xorl    %ecx,%edi
414         rorl    $17,%edi
415         shrl    $10,%ecx
416         addl    156(%esp),%ebx
417         xorl    %ecx,%edi
418         addl    120(%esp),%ebx
419         movl    %edx,%ecx
420         addl    %edi,%ebx
421         rorl    $14,%ecx
422         movl    20(%esp),%esi
423         xorl    %edx,%ecx
424         rorl    $5,%ecx
425         movl    %ebx,92(%esp)
426         xorl    %edx,%ecx
427         rorl    $6,%ecx
428         movl    24(%esp),%edi
429         addl    %ecx,%ebx
430         xorl    %edi,%esi
431         movl    %edx,16(%esp)
432         movl    %eax,%ecx
433         andl    %edx,%esi
434         movl    12(%esp),%edx
435         xorl    %edi,%esi
436         movl    %eax,%edi
437         addl    %esi,%ebx
438         rorl    $9,%ecx
439         addl    28(%esp),%ebx
440         xorl    %eax,%ecx
441         rorl    $11,%ecx
442         movl    4(%esp),%esi
443         xorl    %eax,%ecx
444         rorl    $2,%ecx
445         addl    %ebx,%edx
446         movl    8(%esp),%edi
447         addl    %ecx,%ebx
448         movl    %eax,(%esp)
449         movl    %eax,%ecx
450         subl    $4,%esp
451         orl     %esi,%eax
452         andl    %esi,%ecx
453         andl    %edi,%eax
454         movl    (%ebp),%esi
455         orl     %ecx,%eax
456         addl    $4,%ebp
457         addl    %ebx,%eax
458         movl    152(%esp),%ebx
459         addl    %esi,%edx
460         addl    %esi,%eax
461         cmpl    $3329325298,%esi
462         jne     .L00416_63
463         movl    352(%esp),%esi
464         movl    4(%esp),%ebx
465         movl    8(%esp),%ecx
466         movl    12(%esp),%edi
467         addl    (%esi),%eax
468         addl    4(%esi),%ebx
469         addl    8(%esi),%ecx
470         addl    12(%esi),%edi
471         movl    %eax,(%esi)
472         movl    %ebx,4(%esi)
473         movl    %ecx,8(%esi)
474         movl    %edi,12(%esi)
475         movl    20(%esp),%eax
476         movl    24(%esp),%ebx
477         movl    28(%esp),%ecx
478         movl    356(%esp),%edi
479         addl    16(%esi),%edx
480         addl    20(%esi),%eax
481         addl    24(%esi),%ebx
482         addl    28(%esi),%ecx
483         movl    %edx,16(%esi)
484         movl    %eax,20(%esi)
485         movl    %ebx,24(%esi)
486         movl    %ecx,28(%esi)
487         addl    $352,%esp
488         subl    $256,%ebp
489         cmpl    8(%esp),%edi
490         jb      .L002loop
491         movl    12(%esp),%esp
492         popl    %edi
493         popl    %esi
494         popl    %ebx
495         popl    %ebp
496         ret
497 .align  64
498 .L001K256:
499 .long   1116352408,1899447441,3049323471,3921009573
500 .long   961987163,1508970993,2453635748,2870763221
501 .long   3624381080,310598401,607225278,1426881987
502 .long   1925078388,2162078206,2614888103,3248222580
503 .long   3835390401,4022224774,264347078,604807628
504 .long   770255983,1249150122,1555081692,1996064986
505 .long   2554220882,2821834349,2952996808,3210313671
506 .long   3336571891,3584528711,113926993,338241895
507 .long   666307205,773529912,1294757372,1396182291
508 .long   1695183700,1986661051,2177026350,2456956037
509 .long   2730485921,2820302411,3259730800,3345764771
510 .long   3516065817,3600352804,4094571909,275423344
511 .long   430227734,506948616,659060556,883997877
512 .long   958139571,1322822218,1537002063,1747873779
513 .long   1955562222,2024104815,2227730452,2361852424
514 .long   2428436474,2756734187,3204031479,3329325298
515 .size   sha256_block_data_order,.-.L_sha256_block_data_order_begin
516 .byte   83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
517 .byte   110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
518 .byte   67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
519 .byte   112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
520 .byte   62,0
521 #endif