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