Initial import of binutils 2.22 on the new vendor branch
[dragonfly.git] / secure / lib / libcrypto / asm / sha256-586.s
1 .file   "sha512-586.s"
2 .text
3 .globl  sha256_block_data_order
4 .type   sha256_block_data_order,@function
5 .align  16
6 sha256_block_data_order:
7 .L_sha256_block_data_order_begin:
8         pushl   %ebp
9         pushl   %ebx
10         pushl   %esi
11         pushl   %edi
12         movl    20(%esp),%esi
13         movl    24(%esp),%edi
14         movl    28(%esp),%eax
15         movl    %esp,%ebx
16         call    .L000pic_point
17 .L000pic_point:
18         popl    %ebp
19         leal    .L001K256-.L000pic_point(%ebp),%ebp
20         subl    $16,%esp
21         andl    $-64,%esp
22         shll    $6,%eax
23         addl    %edi,%eax
24         movl    %esi,(%esp)
25         movl    %edi,4(%esp)
26         movl    %eax,8(%esp)
27         movl    %ebx,12(%esp)
28 .align  16
29 .L002loop:
30         movl    (%edi),%eax
31         movl    4(%edi),%ebx
32         movl    8(%edi),%ecx
33         movl    12(%edi),%edx
34         bswap   %eax
35         bswap   %ebx
36         bswap   %ecx
37         bswap   %edx
38         pushl   %eax
39         pushl   %ebx
40         pushl   %ecx
41         pushl   %edx
42         movl    16(%edi),%eax
43         movl    20(%edi),%ebx
44         movl    24(%edi),%ecx
45         movl    28(%edi),%edx
46         bswap   %eax
47         bswap   %ebx
48         bswap   %ecx
49         bswap   %edx
50         pushl   %eax
51         pushl   %ebx
52         pushl   %ecx
53         pushl   %edx
54         movl    32(%edi),%eax
55         movl    36(%edi),%ebx
56         movl    40(%edi),%ecx
57         movl    44(%edi),%edx
58         bswap   %eax
59         bswap   %ebx
60         bswap   %ecx
61         bswap   %edx
62         pushl   %eax
63         pushl   %ebx
64         pushl   %ecx
65         pushl   %edx
66         movl    48(%edi),%eax
67         movl    52(%edi),%ebx
68         movl    56(%edi),%ecx
69         movl    60(%edi),%edx
70         bswap   %eax
71         bswap   %ebx
72         bswap   %ecx
73         bswap   %edx
74         pushl   %eax
75         pushl   %ebx
76         pushl   %ecx
77         pushl   %edx
78         addl    $64,%edi
79         subl    $32,%esp
80         movl    %edi,100(%esp)
81         movl    (%esi),%eax
82         movl    4(%esi),%ebx
83         movl    8(%esi),%ecx
84         movl    12(%esi),%edi
85         movl    %ebx,4(%esp)
86         movl    %ecx,8(%esp)
87         movl    %edi,12(%esp)
88         movl    16(%esi),%edx
89         movl    20(%esi),%ebx
90         movl    24(%esi),%ecx
91         movl    28(%esi),%edi
92         movl    %ebx,20(%esp)
93         movl    %ecx,24(%esp)
94         movl    %edi,28(%esp)
95 .align  16
96 .L00300_15:
97         movl    92(%esp),%ebx
98         movl    %edx,%ecx
99         rorl    $6,%ecx
100         movl    %edx,%edi
101         rorl    $11,%edi
102         movl    20(%esp),%esi
103         xorl    %edi,%ecx
104         rorl    $14,%edi
105         xorl    %edi,%ecx
106         movl    24(%esp),%edi
107         addl    %ecx,%ebx
108         movl    %edx,16(%esp)
109         xorl    %edi,%esi
110         movl    %eax,%ecx
111         andl    %edx,%esi
112         movl    12(%esp),%edx
113         xorl    %edi,%esi
114         movl    %eax,%edi
115         addl    %esi,%ebx
116         rorl    $2,%ecx
117         addl    28(%esp),%ebx
118         rorl    $13,%edi
119         movl    4(%esp),%esi
120         xorl    %edi,%ecx
121         rorl    $9,%edi
122         addl    %ebx,%edx
123         xorl    %edi,%ecx
124         movl    8(%esp),%edi
125         addl    %ecx,%ebx
126         movl    %eax,(%esp)
127         movl    %eax,%ecx
128         subl    $4,%esp
129         orl     %esi,%eax
130         andl    %esi,%ecx
131         andl    %edi,%eax
132         movl    (%ebp),%esi
133         orl     %ecx,%eax
134         addl    $4,%ebp
135         addl    %ebx,%eax
136         addl    %esi,%edx
137         addl    %esi,%eax
138         cmpl    $3248222580,%esi
139         jne     .L00300_15
140         movl    152(%esp),%ebx
141 .align  16
142 .L00416_63:
143         movl    %ebx,%esi
144         movl    100(%esp),%ecx
145         shrl    $3,%ebx
146         rorl    $7,%esi
147         xorl    %esi,%ebx
148         rorl    $11,%esi
149         movl    %ecx,%edi
150         xorl    %esi,%ebx
151         shrl    $10,%ecx
152         movl    156(%esp),%esi
153         rorl    $17,%edi
154         xorl    %edi,%ecx
155         rorl    $2,%edi
156         addl    %esi,%ebx
157         xorl    %ecx,%edi
158         addl    %edi,%ebx
159         movl    %edx,%ecx
160         addl    120(%esp),%ebx
161         rorl    $6,%ecx
162         movl    %edx,%edi
163         rorl    $11,%edi
164         movl    20(%esp),%esi
165         xorl    %edi,%ecx
166         rorl    $14,%edi
167         movl    %ebx,92(%esp)
168         xorl    %edi,%ecx
169         movl    24(%esp),%edi
170         addl    %ecx,%ebx
171         movl    %edx,16(%esp)
172         xorl    %edi,%esi
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    $2,%ecx
180         addl    28(%esp),%ebx
181         rorl    $13,%edi
182         movl    4(%esp),%esi
183         xorl    %edi,%ecx
184         rorl    $9,%edi
185         addl    %ebx,%edx
186         xorl    %edi,%ecx
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