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