Finish refactoring of DomCodeToUsLayoutKeyboardCode().
[chromium-blink-merge.git] / third_party / boringssl / linux-x86 / crypto / sha / sha512-586.S
bloba9284000b35a06da9d101cdedf7586ba7a3f17f0
1 #if defined(__i386__)
2 .file   "sha512-586.S"
3 .text
4 .globl  sha512_block_data_order
5 .hidden sha512_block_data_order
6 .type   sha512_block_data_order,@function
7 .align  16
8 sha512_block_data_order:
9 .L_sha512_block_data_order_begin:
10         pushl   %ebp
11         pushl   %ebx
12         pushl   %esi
13         pushl   %edi
14         movl    20(%esp),%esi
15         movl    24(%esp),%edi
16         movl    28(%esp),%eax
17         movl    %esp,%ebx
18         call    .L000pic_point
19 .L000pic_point:
20         popl    %ebp
21         leal    .L001K512-.L000pic_point(%ebp),%ebp
22         subl    $16,%esp
23         andl    $-64,%esp
24         shll    $7,%eax
25         addl    %edi,%eax
26         movl    %esi,(%esp)
27         movl    %edi,4(%esp)
28         movl    %eax,8(%esp)
29         movl    %ebx,12(%esp)
30         leal    OPENSSL_ia32cap_P-.L001K512(%ebp),%edx
31         movl    (%edx),%ecx
32         testl   $67108864,%ecx
33         jz      .L002loop_x86
34         movl    4(%edx),%edx
35         movq    (%esi),%mm0
36         andl    $16777216,%ecx
37         movq    8(%esi),%mm1
38         andl    $512,%edx
39         movq    16(%esi),%mm2
40         orl     %edx,%ecx
41         movq    24(%esi),%mm3
42         movq    32(%esi),%mm4
43         movq    40(%esi),%mm5
44         movq    48(%esi),%mm6
45         movq    56(%esi),%mm7
46         cmpl    $16777728,%ecx
47         je      .L003SSSE3
48         subl    $80,%esp
49         jmp     .L004loop_sse2
50 .align  16
51 .L004loop_sse2:
52         movq    %mm1,8(%esp)
53         movq    %mm2,16(%esp)
54         movq    %mm3,24(%esp)
55         movq    %mm5,40(%esp)
56         movq    %mm6,48(%esp)
57         pxor    %mm1,%mm2
58         movq    %mm7,56(%esp)
59         movq    %mm0,%mm3
60         movl    (%edi),%eax
61         movl    4(%edi),%ebx
62         addl    $8,%edi
63         movl    $15,%edx
64         bswap   %eax
65         bswap   %ebx
66         jmp     .L00500_14_sse2
67 .align  16
68 .L00500_14_sse2:
69         movd    %eax,%mm1
70         movl    (%edi),%eax
71         movd    %ebx,%mm7
72         movl    4(%edi),%ebx
73         addl    $8,%edi
74         bswap   %eax
75         bswap   %ebx
76         punpckldq       %mm1,%mm7
77         movq    %mm4,%mm1
78         pxor    %mm6,%mm5
79         psrlq   $14,%mm1
80         movq    %mm4,32(%esp)
81         pand    %mm4,%mm5
82         psllq   $23,%mm4
83         movq    %mm3,%mm0
84         movq    %mm7,72(%esp)
85         movq    %mm1,%mm3
86         psrlq   $4,%mm1
87         pxor    %mm6,%mm5
88         pxor    %mm4,%mm3
89         psllq   $23,%mm4
90         pxor    %mm1,%mm3
91         movq    %mm0,(%esp)
92         paddq   %mm5,%mm7
93         pxor    %mm4,%mm3
94         psrlq   $23,%mm1
95         paddq   56(%esp),%mm7
96         pxor    %mm1,%mm3
97         psllq   $4,%mm4
98         paddq   (%ebp),%mm7
99         pxor    %mm4,%mm3
100         movq    24(%esp),%mm4
101         paddq   %mm7,%mm3
102         movq    %mm0,%mm5
103         psrlq   $28,%mm5
104         paddq   %mm3,%mm4
105         movq    %mm0,%mm6
106         movq    %mm5,%mm7
107         psllq   $25,%mm6
108         movq    8(%esp),%mm1
109         psrlq   $6,%mm5
110         pxor    %mm6,%mm7
111         subl    $8,%esp
112         psllq   $5,%mm6
113         pxor    %mm5,%mm7
114         pxor    %mm1,%mm0
115         psrlq   $5,%mm5
116         pxor    %mm6,%mm7
117         pand    %mm0,%mm2
118         psllq   $6,%mm6
119         pxor    %mm5,%mm7
120         pxor    %mm1,%mm2
121         pxor    %mm7,%mm6
122         movq    40(%esp),%mm5
123         paddq   %mm2,%mm3
124         movq    %mm0,%mm2
125         addl    $8,%ebp
126         paddq   %mm6,%mm3
127         movq    48(%esp),%mm6
128         decl    %edx
129         jnz     .L00500_14_sse2
130         movd    %eax,%mm1
131         movd    %ebx,%mm7
132         punpckldq       %mm1,%mm7
133         movq    %mm4,%mm1
134         pxor    %mm6,%mm5
135         psrlq   $14,%mm1
136         movq    %mm4,32(%esp)
137         pand    %mm4,%mm5
138         psllq   $23,%mm4
139         movq    %mm3,%mm0
140         movq    %mm7,72(%esp)
141         movq    %mm1,%mm3
142         psrlq   $4,%mm1
143         pxor    %mm6,%mm5
144         pxor    %mm4,%mm3
145         psllq   $23,%mm4
146         pxor    %mm1,%mm3
147         movq    %mm0,(%esp)
148         paddq   %mm5,%mm7
149         pxor    %mm4,%mm3
150         psrlq   $23,%mm1
151         paddq   56(%esp),%mm7
152         pxor    %mm1,%mm3
153         psllq   $4,%mm4
154         paddq   (%ebp),%mm7
155         pxor    %mm4,%mm3
156         movq    24(%esp),%mm4
157         paddq   %mm7,%mm3
158         movq    %mm0,%mm5
159         psrlq   $28,%mm5
160         paddq   %mm3,%mm4
161         movq    %mm0,%mm6
162         movq    %mm5,%mm7
163         psllq   $25,%mm6
164         movq    8(%esp),%mm1
165         psrlq   $6,%mm5
166         pxor    %mm6,%mm7
167         subl    $8,%esp
168         psllq   $5,%mm6
169         pxor    %mm5,%mm7
170         pxor    %mm1,%mm0
171         psrlq   $5,%mm5
172         pxor    %mm6,%mm7
173         pand    %mm0,%mm2
174         psllq   $6,%mm6
175         pxor    %mm5,%mm7
176         pxor    %mm1,%mm2
177         pxor    %mm7,%mm6
178         movq    192(%esp),%mm7
179         paddq   %mm2,%mm3
180         movq    %mm0,%mm2
181         addl    $8,%ebp
182         paddq   %mm6,%mm3
183         pxor    %mm0,%mm0
184         movl    $32,%edx
185         jmp     .L00616_79_sse2
186 .align  16
187 .L00616_79_sse2:
188         movq    88(%esp),%mm5
189         movq    %mm7,%mm1
190         psrlq   $1,%mm7
191         movq    %mm5,%mm6
192         psrlq   $6,%mm5
193         psllq   $56,%mm1
194         paddq   %mm3,%mm0
195         movq    %mm7,%mm3
196         psrlq   $6,%mm7
197         pxor    %mm1,%mm3
198         psllq   $7,%mm1
199         pxor    %mm7,%mm3
200         psrlq   $1,%mm7
201         pxor    %mm1,%mm3
202         movq    %mm5,%mm1
203         psrlq   $13,%mm5
204         pxor    %mm3,%mm7
205         psllq   $3,%mm6
206         pxor    %mm5,%mm1
207         paddq   200(%esp),%mm7
208         pxor    %mm6,%mm1
209         psrlq   $42,%mm5
210         paddq   128(%esp),%mm7
211         pxor    %mm5,%mm1
212         psllq   $42,%mm6
213         movq    40(%esp),%mm5
214         pxor    %mm6,%mm1
215         movq    48(%esp),%mm6
216         paddq   %mm1,%mm7
217         movq    %mm4,%mm1
218         pxor    %mm6,%mm5
219         psrlq   $14,%mm1
220         movq    %mm4,32(%esp)
221         pand    %mm4,%mm5
222         psllq   $23,%mm4
223         movq    %mm7,72(%esp)
224         movq    %mm1,%mm3
225         psrlq   $4,%mm1
226         pxor    %mm6,%mm5
227         pxor    %mm4,%mm3
228         psllq   $23,%mm4
229         pxor    %mm1,%mm3
230         movq    %mm0,(%esp)
231         paddq   %mm5,%mm7
232         pxor    %mm4,%mm3
233         psrlq   $23,%mm1
234         paddq   56(%esp),%mm7
235         pxor    %mm1,%mm3
236         psllq   $4,%mm4
237         paddq   (%ebp),%mm7
238         pxor    %mm4,%mm3
239         movq    24(%esp),%mm4
240         paddq   %mm7,%mm3
241         movq    %mm0,%mm5
242         psrlq   $28,%mm5
243         paddq   %mm3,%mm4
244         movq    %mm0,%mm6
245         movq    %mm5,%mm7
246         psllq   $25,%mm6
247         movq    8(%esp),%mm1
248         psrlq   $6,%mm5
249         pxor    %mm6,%mm7
250         subl    $8,%esp
251         psllq   $5,%mm6
252         pxor    %mm5,%mm7
253         pxor    %mm1,%mm0
254         psrlq   $5,%mm5
255         pxor    %mm6,%mm7
256         pand    %mm0,%mm2
257         psllq   $6,%mm6
258         pxor    %mm5,%mm7
259         pxor    %mm1,%mm2
260         pxor    %mm7,%mm6
261         movq    192(%esp),%mm7
262         paddq   %mm6,%mm2
263         addl    $8,%ebp
264         movq    88(%esp),%mm5
265         movq    %mm7,%mm1
266         psrlq   $1,%mm7
267         movq    %mm5,%mm6
268         psrlq   $6,%mm5
269         psllq   $56,%mm1
270         paddq   %mm3,%mm2
271         movq    %mm7,%mm3
272         psrlq   $6,%mm7
273         pxor    %mm1,%mm3
274         psllq   $7,%mm1
275         pxor    %mm7,%mm3
276         psrlq   $1,%mm7
277         pxor    %mm1,%mm3
278         movq    %mm5,%mm1
279         psrlq   $13,%mm5
280         pxor    %mm3,%mm7
281         psllq   $3,%mm6
282         pxor    %mm5,%mm1
283         paddq   200(%esp),%mm7
284         pxor    %mm6,%mm1
285         psrlq   $42,%mm5
286         paddq   128(%esp),%mm7
287         pxor    %mm5,%mm1
288         psllq   $42,%mm6
289         movq    40(%esp),%mm5
290         pxor    %mm6,%mm1
291         movq    48(%esp),%mm6
292         paddq   %mm1,%mm7
293         movq    %mm4,%mm1
294         pxor    %mm6,%mm5
295         psrlq   $14,%mm1
296         movq    %mm4,32(%esp)
297         pand    %mm4,%mm5
298         psllq   $23,%mm4
299         movq    %mm7,72(%esp)
300         movq    %mm1,%mm3
301         psrlq   $4,%mm1
302         pxor    %mm6,%mm5
303         pxor    %mm4,%mm3
304         psllq   $23,%mm4
305         pxor    %mm1,%mm3
306         movq    %mm2,(%esp)
307         paddq   %mm5,%mm7
308         pxor    %mm4,%mm3
309         psrlq   $23,%mm1
310         paddq   56(%esp),%mm7
311         pxor    %mm1,%mm3
312         psllq   $4,%mm4
313         paddq   (%ebp),%mm7
314         pxor    %mm4,%mm3
315         movq    24(%esp),%mm4
316         paddq   %mm7,%mm3
317         movq    %mm2,%mm5
318         psrlq   $28,%mm5
319         paddq   %mm3,%mm4
320         movq    %mm2,%mm6
321         movq    %mm5,%mm7
322         psllq   $25,%mm6
323         movq    8(%esp),%mm1
324         psrlq   $6,%mm5
325         pxor    %mm6,%mm7
326         subl    $8,%esp
327         psllq   $5,%mm6
328         pxor    %mm5,%mm7
329         pxor    %mm1,%mm2
330         psrlq   $5,%mm5
331         pxor    %mm6,%mm7
332         pand    %mm2,%mm0
333         psllq   $6,%mm6
334         pxor    %mm5,%mm7
335         pxor    %mm1,%mm0
336         pxor    %mm7,%mm6
337         movq    192(%esp),%mm7
338         paddq   %mm6,%mm0
339         addl    $8,%ebp
340         decl    %edx
341         jnz     .L00616_79_sse2
342         paddq   %mm3,%mm0
343         movq    8(%esp),%mm1
344         movq    24(%esp),%mm3
345         movq    40(%esp),%mm5
346         movq    48(%esp),%mm6
347         movq    56(%esp),%mm7
348         pxor    %mm1,%mm2
349         paddq   (%esi),%mm0
350         paddq   8(%esi),%mm1
351         paddq   16(%esi),%mm2
352         paddq   24(%esi),%mm3
353         paddq   32(%esi),%mm4
354         paddq   40(%esi),%mm5
355         paddq   48(%esi),%mm6
356         paddq   56(%esi),%mm7
357         movl    $640,%eax
358         movq    %mm0,(%esi)
359         movq    %mm1,8(%esi)
360         movq    %mm2,16(%esi)
361         movq    %mm3,24(%esi)
362         movq    %mm4,32(%esi)
363         movq    %mm5,40(%esi)
364         movq    %mm6,48(%esi)
365         movq    %mm7,56(%esi)
366         leal    (%esp,%eax,1),%esp
367         subl    %eax,%ebp
368         cmpl    88(%esp),%edi
369         jb      .L004loop_sse2
370         movl    92(%esp),%esp
371         emms
372         popl    %edi
373         popl    %esi
374         popl    %ebx
375         popl    %ebp
376         ret
377 .align  32
378 .L003SSSE3:
379         leal    -64(%esp),%edx
380         subl    $256,%esp
381         movdqa  640(%ebp),%xmm1
382         movdqu  (%edi),%xmm0
383 .byte   102,15,56,0,193
384         movdqa  (%ebp),%xmm3
385         movdqa  %xmm1,%xmm2
386         movdqu  16(%edi),%xmm1
387         paddq   %xmm0,%xmm3
388 .byte   102,15,56,0,202
389         movdqa  %xmm3,-128(%edx)
390         movdqa  16(%ebp),%xmm4
391         movdqa  %xmm2,%xmm3
392         movdqu  32(%edi),%xmm2
393         paddq   %xmm1,%xmm4
394 .byte   102,15,56,0,211
395         movdqa  %xmm4,-112(%edx)
396         movdqa  32(%ebp),%xmm5
397         movdqa  %xmm3,%xmm4
398         movdqu  48(%edi),%xmm3
399         paddq   %xmm2,%xmm5
400 .byte   102,15,56,0,220
401         movdqa  %xmm5,-96(%edx)
402         movdqa  48(%ebp),%xmm6
403         movdqa  %xmm4,%xmm5
404         movdqu  64(%edi),%xmm4
405         paddq   %xmm3,%xmm6
406 .byte   102,15,56,0,229
407         movdqa  %xmm6,-80(%edx)
408         movdqa  64(%ebp),%xmm7
409         movdqa  %xmm5,%xmm6
410         movdqu  80(%edi),%xmm5
411         paddq   %xmm4,%xmm7
412 .byte   102,15,56,0,238
413         movdqa  %xmm7,-64(%edx)
414         movdqa  %xmm0,(%edx)
415         movdqa  80(%ebp),%xmm0
416         movdqa  %xmm6,%xmm7
417         movdqu  96(%edi),%xmm6
418         paddq   %xmm5,%xmm0
419 .byte   102,15,56,0,247
420         movdqa  %xmm0,-48(%edx)
421         movdqa  %xmm1,16(%edx)
422         movdqa  96(%ebp),%xmm1
423         movdqa  %xmm7,%xmm0
424         movdqu  112(%edi),%xmm7
425         paddq   %xmm6,%xmm1
426 .byte   102,15,56,0,248
427         movdqa  %xmm1,-32(%edx)
428         movdqa  %xmm2,32(%edx)
429         movdqa  112(%ebp),%xmm2
430         movdqa  (%edx),%xmm0
431         paddq   %xmm7,%xmm2
432         movdqa  %xmm2,-16(%edx)
433         nop
434 .align  32
435 .L007loop_ssse3:
436         movdqa  16(%edx),%xmm2
437         movdqa  %xmm3,48(%edx)
438         leal    128(%ebp),%ebp
439         movq    %mm1,8(%esp)
440         movl    %edi,%ebx
441         movq    %mm2,16(%esp)
442         leal    128(%edi),%edi
443         movq    %mm3,24(%esp)
444         cmpl    %eax,%edi
445         movq    %mm5,40(%esp)
446         cmovbl  %edi,%ebx
447         movq    %mm6,48(%esp)
448         movl    $4,%ecx
449         pxor    %mm1,%mm2
450         movq    %mm7,56(%esp)
451         pxor    %mm3,%mm3
452         jmp     .L00800_47_ssse3
453 .align  32
454 .L00800_47_ssse3:
455         movdqa  %xmm5,%xmm3
456         movdqa  %xmm2,%xmm1
457 .byte   102,15,58,15,208,8
458         movdqa  %xmm4,(%edx)
459 .byte   102,15,58,15,220,8
460         movdqa  %xmm2,%xmm4
461         psrlq   $7,%xmm2
462         paddq   %xmm3,%xmm0
463         movdqa  %xmm4,%xmm3
464         psrlq   $1,%xmm4
465         psllq   $56,%xmm3
466         pxor    %xmm4,%xmm2
467         psrlq   $7,%xmm4
468         pxor    %xmm3,%xmm2
469         psllq   $7,%xmm3
470         pxor    %xmm4,%xmm2
471         movdqa  %xmm7,%xmm4
472         pxor    %xmm3,%xmm2
473         movdqa  %xmm7,%xmm3
474         psrlq   $6,%xmm4
475         paddq   %xmm2,%xmm0
476         movdqa  %xmm7,%xmm2
477         psrlq   $19,%xmm3
478         psllq   $3,%xmm2
479         pxor    %xmm3,%xmm4
480         psrlq   $42,%xmm3
481         pxor    %xmm2,%xmm4
482         psllq   $42,%xmm2
483         pxor    %xmm3,%xmm4
484         movdqa  32(%edx),%xmm3
485         pxor    %xmm2,%xmm4
486         movdqa  (%ebp),%xmm2
487         movq    %mm4,%mm1
488         paddq   %xmm4,%xmm0
489         movq    -128(%edx),%mm7
490         pxor    %mm6,%mm5
491         psrlq   $14,%mm1
492         movq    %mm4,32(%esp)
493         paddq   %xmm0,%xmm2
494         pand    %mm4,%mm5
495         psllq   $23,%mm4
496         paddq   %mm3,%mm0
497         movq    %mm1,%mm3
498         psrlq   $4,%mm1
499         pxor    %mm6,%mm5
500         pxor    %mm4,%mm3
501         psllq   $23,%mm4
502         pxor    %mm1,%mm3
503         movq    %mm0,(%esp)
504         paddq   %mm5,%mm7
505         pxor    %mm4,%mm3
506         psrlq   $23,%mm1
507         paddq   56(%esp),%mm7
508         pxor    %mm1,%mm3
509         psllq   $4,%mm4
510         pxor    %mm4,%mm3
511         movq    24(%esp),%mm4
512         paddq   %mm7,%mm3
513         movq    %mm0,%mm5
514         psrlq   $28,%mm5
515         paddq   %mm3,%mm4
516         movq    %mm0,%mm6
517         movq    %mm5,%mm7
518         psllq   $25,%mm6
519         movq    8(%esp),%mm1
520         psrlq   $6,%mm5
521         pxor    %mm6,%mm7
522         psllq   $5,%mm6
523         pxor    %mm5,%mm7
524         pxor    %mm1,%mm0
525         psrlq   $5,%mm5
526         pxor    %mm6,%mm7
527         pand    %mm0,%mm2
528         psllq   $6,%mm6
529         pxor    %mm5,%mm7
530         pxor    %mm1,%mm2
531         pxor    %mm7,%mm6
532         movq    32(%esp),%mm5
533         paddq   %mm6,%mm2
534         movq    40(%esp),%mm6
535         movq    %mm4,%mm1
536         movq    -120(%edx),%mm7
537         pxor    %mm6,%mm5
538         psrlq   $14,%mm1
539         movq    %mm4,24(%esp)
540         pand    %mm4,%mm5
541         psllq   $23,%mm4
542         paddq   %mm3,%mm2
543         movq    %mm1,%mm3
544         psrlq   $4,%mm1
545         pxor    %mm6,%mm5
546         pxor    %mm4,%mm3
547         psllq   $23,%mm4
548         pxor    %mm1,%mm3
549         movq    %mm2,56(%esp)
550         paddq   %mm5,%mm7
551         pxor    %mm4,%mm3
552         psrlq   $23,%mm1
553         paddq   48(%esp),%mm7
554         pxor    %mm1,%mm3
555         psllq   $4,%mm4
556         pxor    %mm4,%mm3
557         movq    16(%esp),%mm4
558         paddq   %mm7,%mm3
559         movq    %mm2,%mm5
560         psrlq   $28,%mm5
561         paddq   %mm3,%mm4
562         movq    %mm2,%mm6
563         movq    %mm5,%mm7
564         psllq   $25,%mm6
565         movq    (%esp),%mm1
566         psrlq   $6,%mm5
567         pxor    %mm6,%mm7
568         psllq   $5,%mm6
569         pxor    %mm5,%mm7
570         pxor    %mm1,%mm2
571         psrlq   $5,%mm5
572         pxor    %mm6,%mm7
573         pand    %mm2,%mm0
574         psllq   $6,%mm6
575         pxor    %mm5,%mm7
576         pxor    %mm1,%mm0
577         pxor    %mm7,%mm6
578         movq    24(%esp),%mm5
579         paddq   %mm6,%mm0
580         movq    32(%esp),%mm6
581         movdqa  %xmm2,-128(%edx)
582         movdqa  %xmm6,%xmm4
583         movdqa  %xmm3,%xmm2
584 .byte   102,15,58,15,217,8
585         movdqa  %xmm5,16(%edx)
586 .byte   102,15,58,15,229,8
587         movdqa  %xmm3,%xmm5
588         psrlq   $7,%xmm3
589         paddq   %xmm4,%xmm1
590         movdqa  %xmm5,%xmm4
591         psrlq   $1,%xmm5
592         psllq   $56,%xmm4
593         pxor    %xmm5,%xmm3
594         psrlq   $7,%xmm5
595         pxor    %xmm4,%xmm3
596         psllq   $7,%xmm4
597         pxor    %xmm5,%xmm3
598         movdqa  %xmm0,%xmm5
599         pxor    %xmm4,%xmm3
600         movdqa  %xmm0,%xmm4
601         psrlq   $6,%xmm5
602         paddq   %xmm3,%xmm1
603         movdqa  %xmm0,%xmm3
604         psrlq   $19,%xmm4
605         psllq   $3,%xmm3
606         pxor    %xmm4,%xmm5
607         psrlq   $42,%xmm4
608         pxor    %xmm3,%xmm5
609         psllq   $42,%xmm3
610         pxor    %xmm4,%xmm5
611         movdqa  48(%edx),%xmm4
612         pxor    %xmm3,%xmm5
613         movdqa  16(%ebp),%xmm3
614         movq    %mm4,%mm1
615         paddq   %xmm5,%xmm1
616         movq    -112(%edx),%mm7
617         pxor    %mm6,%mm5
618         psrlq   $14,%mm1
619         movq    %mm4,16(%esp)
620         paddq   %xmm1,%xmm3
621         pand    %mm4,%mm5
622         psllq   $23,%mm4
623         paddq   %mm3,%mm0
624         movq    %mm1,%mm3
625         psrlq   $4,%mm1
626         pxor    %mm6,%mm5
627         pxor    %mm4,%mm3
628         psllq   $23,%mm4
629         pxor    %mm1,%mm3
630         movq    %mm0,48(%esp)
631         paddq   %mm5,%mm7
632         pxor    %mm4,%mm3
633         psrlq   $23,%mm1
634         paddq   40(%esp),%mm7
635         pxor    %mm1,%mm3
636         psllq   $4,%mm4
637         pxor    %mm4,%mm3
638         movq    8(%esp),%mm4
639         paddq   %mm7,%mm3
640         movq    %mm0,%mm5
641         psrlq   $28,%mm5
642         paddq   %mm3,%mm4
643         movq    %mm0,%mm6
644         movq    %mm5,%mm7
645         psllq   $25,%mm6
646         movq    56(%esp),%mm1
647         psrlq   $6,%mm5
648         pxor    %mm6,%mm7
649         psllq   $5,%mm6
650         pxor    %mm5,%mm7
651         pxor    %mm1,%mm0
652         psrlq   $5,%mm5
653         pxor    %mm6,%mm7
654         pand    %mm0,%mm2
655         psllq   $6,%mm6
656         pxor    %mm5,%mm7
657         pxor    %mm1,%mm2
658         pxor    %mm7,%mm6
659         movq    16(%esp),%mm5
660         paddq   %mm6,%mm2
661         movq    24(%esp),%mm6
662         movq    %mm4,%mm1
663         movq    -104(%edx),%mm7
664         pxor    %mm6,%mm5
665         psrlq   $14,%mm1
666         movq    %mm4,8(%esp)
667         pand    %mm4,%mm5
668         psllq   $23,%mm4
669         paddq   %mm3,%mm2
670         movq    %mm1,%mm3
671         psrlq   $4,%mm1
672         pxor    %mm6,%mm5
673         pxor    %mm4,%mm3
674         psllq   $23,%mm4
675         pxor    %mm1,%mm3
676         movq    %mm2,40(%esp)
677         paddq   %mm5,%mm7
678         pxor    %mm4,%mm3
679         psrlq   $23,%mm1
680         paddq   32(%esp),%mm7
681         pxor    %mm1,%mm3
682         psllq   $4,%mm4
683         pxor    %mm4,%mm3
684         movq    (%esp),%mm4
685         paddq   %mm7,%mm3
686         movq    %mm2,%mm5
687         psrlq   $28,%mm5
688         paddq   %mm3,%mm4
689         movq    %mm2,%mm6
690         movq    %mm5,%mm7
691         psllq   $25,%mm6
692         movq    48(%esp),%mm1
693         psrlq   $6,%mm5
694         pxor    %mm6,%mm7
695         psllq   $5,%mm6
696         pxor    %mm5,%mm7
697         pxor    %mm1,%mm2
698         psrlq   $5,%mm5
699         pxor    %mm6,%mm7
700         pand    %mm2,%mm0
701         psllq   $6,%mm6
702         pxor    %mm5,%mm7
703         pxor    %mm1,%mm0
704         pxor    %mm7,%mm6
705         movq    8(%esp),%mm5
706         paddq   %mm6,%mm0
707         movq    16(%esp),%mm6
708         movdqa  %xmm3,-112(%edx)
709         movdqa  %xmm7,%xmm5
710         movdqa  %xmm4,%xmm3
711 .byte   102,15,58,15,226,8
712         movdqa  %xmm6,32(%edx)
713 .byte   102,15,58,15,238,8
714         movdqa  %xmm4,%xmm6
715         psrlq   $7,%xmm4
716         paddq   %xmm5,%xmm2
717         movdqa  %xmm6,%xmm5
718         psrlq   $1,%xmm6
719         psllq   $56,%xmm5
720         pxor    %xmm6,%xmm4
721         psrlq   $7,%xmm6
722         pxor    %xmm5,%xmm4
723         psllq   $7,%xmm5
724         pxor    %xmm6,%xmm4
725         movdqa  %xmm1,%xmm6
726         pxor    %xmm5,%xmm4
727         movdqa  %xmm1,%xmm5
728         psrlq   $6,%xmm6
729         paddq   %xmm4,%xmm2
730         movdqa  %xmm1,%xmm4
731         psrlq   $19,%xmm5
732         psllq   $3,%xmm4
733         pxor    %xmm5,%xmm6
734         psrlq   $42,%xmm5
735         pxor    %xmm4,%xmm6
736         psllq   $42,%xmm4
737         pxor    %xmm5,%xmm6
738         movdqa  (%edx),%xmm5
739         pxor    %xmm4,%xmm6
740         movdqa  32(%ebp),%xmm4
741         movq    %mm4,%mm1
742         paddq   %xmm6,%xmm2
743         movq    -96(%edx),%mm7
744         pxor    %mm6,%mm5
745         psrlq   $14,%mm1
746         movq    %mm4,(%esp)
747         paddq   %xmm2,%xmm4
748         pand    %mm4,%mm5
749         psllq   $23,%mm4
750         paddq   %mm3,%mm0
751         movq    %mm1,%mm3
752         psrlq   $4,%mm1
753         pxor    %mm6,%mm5
754         pxor    %mm4,%mm3
755         psllq   $23,%mm4
756         pxor    %mm1,%mm3
757         movq    %mm0,32(%esp)
758         paddq   %mm5,%mm7
759         pxor    %mm4,%mm3
760         psrlq   $23,%mm1
761         paddq   24(%esp),%mm7
762         pxor    %mm1,%mm3
763         psllq   $4,%mm4
764         pxor    %mm4,%mm3
765         movq    56(%esp),%mm4
766         paddq   %mm7,%mm3
767         movq    %mm0,%mm5
768         psrlq   $28,%mm5
769         paddq   %mm3,%mm4
770         movq    %mm0,%mm6
771         movq    %mm5,%mm7
772         psllq   $25,%mm6
773         movq    40(%esp),%mm1
774         psrlq   $6,%mm5
775         pxor    %mm6,%mm7
776         psllq   $5,%mm6
777         pxor    %mm5,%mm7
778         pxor    %mm1,%mm0
779         psrlq   $5,%mm5
780         pxor    %mm6,%mm7
781         pand    %mm0,%mm2
782         psllq   $6,%mm6
783         pxor    %mm5,%mm7
784         pxor    %mm1,%mm2
785         pxor    %mm7,%mm6
786         movq    (%esp),%mm5
787         paddq   %mm6,%mm2
788         movq    8(%esp),%mm6
789         movq    %mm4,%mm1
790         movq    -88(%edx),%mm7
791         pxor    %mm6,%mm5
792         psrlq   $14,%mm1
793         movq    %mm4,56(%esp)
794         pand    %mm4,%mm5
795         psllq   $23,%mm4
796         paddq   %mm3,%mm2
797         movq    %mm1,%mm3
798         psrlq   $4,%mm1
799         pxor    %mm6,%mm5
800         pxor    %mm4,%mm3
801         psllq   $23,%mm4
802         pxor    %mm1,%mm3
803         movq    %mm2,24(%esp)
804         paddq   %mm5,%mm7
805         pxor    %mm4,%mm3
806         psrlq   $23,%mm1
807         paddq   16(%esp),%mm7
808         pxor    %mm1,%mm3
809         psllq   $4,%mm4
810         pxor    %mm4,%mm3
811         movq    48(%esp),%mm4
812         paddq   %mm7,%mm3
813         movq    %mm2,%mm5
814         psrlq   $28,%mm5
815         paddq   %mm3,%mm4
816         movq    %mm2,%mm6
817         movq    %mm5,%mm7
818         psllq   $25,%mm6
819         movq    32(%esp),%mm1
820         psrlq   $6,%mm5
821         pxor    %mm6,%mm7
822         psllq   $5,%mm6
823         pxor    %mm5,%mm7
824         pxor    %mm1,%mm2
825         psrlq   $5,%mm5
826         pxor    %mm6,%mm7
827         pand    %mm2,%mm0
828         psllq   $6,%mm6
829         pxor    %mm5,%mm7
830         pxor    %mm1,%mm0
831         pxor    %mm7,%mm6
832         movq    56(%esp),%mm5
833         paddq   %mm6,%mm0
834         movq    (%esp),%mm6
835         movdqa  %xmm4,-96(%edx)
836         movdqa  %xmm0,%xmm6
837         movdqa  %xmm5,%xmm4
838 .byte   102,15,58,15,235,8
839         movdqa  %xmm7,48(%edx)
840 .byte   102,15,58,15,247,8
841         movdqa  %xmm5,%xmm7
842         psrlq   $7,%xmm5
843         paddq   %xmm6,%xmm3
844         movdqa  %xmm7,%xmm6
845         psrlq   $1,%xmm7
846         psllq   $56,%xmm6
847         pxor    %xmm7,%xmm5
848         psrlq   $7,%xmm7
849         pxor    %xmm6,%xmm5
850         psllq   $7,%xmm6
851         pxor    %xmm7,%xmm5
852         movdqa  %xmm2,%xmm7
853         pxor    %xmm6,%xmm5
854         movdqa  %xmm2,%xmm6
855         psrlq   $6,%xmm7
856         paddq   %xmm5,%xmm3
857         movdqa  %xmm2,%xmm5
858         psrlq   $19,%xmm6
859         psllq   $3,%xmm5
860         pxor    %xmm6,%xmm7
861         psrlq   $42,%xmm6
862         pxor    %xmm5,%xmm7
863         psllq   $42,%xmm5
864         pxor    %xmm6,%xmm7
865         movdqa  16(%edx),%xmm6
866         pxor    %xmm5,%xmm7
867         movdqa  48(%ebp),%xmm5
868         movq    %mm4,%mm1
869         paddq   %xmm7,%xmm3
870         movq    -80(%edx),%mm7
871         pxor    %mm6,%mm5
872         psrlq   $14,%mm1
873         movq    %mm4,48(%esp)
874         paddq   %xmm3,%xmm5
875         pand    %mm4,%mm5
876         psllq   $23,%mm4
877         paddq   %mm3,%mm0
878         movq    %mm1,%mm3
879         psrlq   $4,%mm1
880         pxor    %mm6,%mm5
881         pxor    %mm4,%mm3
882         psllq   $23,%mm4
883         pxor    %mm1,%mm3
884         movq    %mm0,16(%esp)
885         paddq   %mm5,%mm7
886         pxor    %mm4,%mm3
887         psrlq   $23,%mm1
888         paddq   8(%esp),%mm7
889         pxor    %mm1,%mm3
890         psllq   $4,%mm4
891         pxor    %mm4,%mm3
892         movq    40(%esp),%mm4
893         paddq   %mm7,%mm3
894         movq    %mm0,%mm5
895         psrlq   $28,%mm5
896         paddq   %mm3,%mm4
897         movq    %mm0,%mm6
898         movq    %mm5,%mm7
899         psllq   $25,%mm6
900         movq    24(%esp),%mm1
901         psrlq   $6,%mm5
902         pxor    %mm6,%mm7
903         psllq   $5,%mm6
904         pxor    %mm5,%mm7
905         pxor    %mm1,%mm0
906         psrlq   $5,%mm5
907         pxor    %mm6,%mm7
908         pand    %mm0,%mm2
909         psllq   $6,%mm6
910         pxor    %mm5,%mm7
911         pxor    %mm1,%mm2
912         pxor    %mm7,%mm6
913         movq    48(%esp),%mm5
914         paddq   %mm6,%mm2
915         movq    56(%esp),%mm6
916         movq    %mm4,%mm1
917         movq    -72(%edx),%mm7
918         pxor    %mm6,%mm5
919         psrlq   $14,%mm1
920         movq    %mm4,40(%esp)
921         pand    %mm4,%mm5
922         psllq   $23,%mm4
923         paddq   %mm3,%mm2
924         movq    %mm1,%mm3
925         psrlq   $4,%mm1
926         pxor    %mm6,%mm5
927         pxor    %mm4,%mm3
928         psllq   $23,%mm4
929         pxor    %mm1,%mm3
930         movq    %mm2,8(%esp)
931         paddq   %mm5,%mm7
932         pxor    %mm4,%mm3
933         psrlq   $23,%mm1
934         paddq   (%esp),%mm7
935         pxor    %mm1,%mm3
936         psllq   $4,%mm4
937         pxor    %mm4,%mm3
938         movq    32(%esp),%mm4
939         paddq   %mm7,%mm3
940         movq    %mm2,%mm5
941         psrlq   $28,%mm5
942         paddq   %mm3,%mm4
943         movq    %mm2,%mm6
944         movq    %mm5,%mm7
945         psllq   $25,%mm6
946         movq    16(%esp),%mm1
947         psrlq   $6,%mm5
948         pxor    %mm6,%mm7
949         psllq   $5,%mm6
950         pxor    %mm5,%mm7
951         pxor    %mm1,%mm2
952         psrlq   $5,%mm5
953         pxor    %mm6,%mm7
954         pand    %mm2,%mm0
955         psllq   $6,%mm6
956         pxor    %mm5,%mm7
957         pxor    %mm1,%mm0
958         pxor    %mm7,%mm6
959         movq    40(%esp),%mm5
960         paddq   %mm6,%mm0
961         movq    48(%esp),%mm6
962         movdqa  %xmm5,-80(%edx)
963         movdqa  %xmm1,%xmm7
964         movdqa  %xmm6,%xmm5
965 .byte   102,15,58,15,244,8
966         movdqa  %xmm0,(%edx)
967 .byte   102,15,58,15,248,8
968         movdqa  %xmm6,%xmm0
969         psrlq   $7,%xmm6
970         paddq   %xmm7,%xmm4
971         movdqa  %xmm0,%xmm7
972         psrlq   $1,%xmm0
973         psllq   $56,%xmm7
974         pxor    %xmm0,%xmm6
975         psrlq   $7,%xmm0
976         pxor    %xmm7,%xmm6
977         psllq   $7,%xmm7
978         pxor    %xmm0,%xmm6
979         movdqa  %xmm3,%xmm0
980         pxor    %xmm7,%xmm6
981         movdqa  %xmm3,%xmm7
982         psrlq   $6,%xmm0
983         paddq   %xmm6,%xmm4
984         movdqa  %xmm3,%xmm6
985         psrlq   $19,%xmm7
986         psllq   $3,%xmm6
987         pxor    %xmm7,%xmm0
988         psrlq   $42,%xmm7
989         pxor    %xmm6,%xmm0
990         psllq   $42,%xmm6
991         pxor    %xmm7,%xmm0
992         movdqa  32(%edx),%xmm7
993         pxor    %xmm6,%xmm0
994         movdqa  64(%ebp),%xmm6
995         movq    %mm4,%mm1
996         paddq   %xmm0,%xmm4
997         movq    -64(%edx),%mm7
998         pxor    %mm6,%mm5
999         psrlq   $14,%mm1
1000         movq    %mm4,32(%esp)
1001         paddq   %xmm4,%xmm6
1002         pand    %mm4,%mm5
1003         psllq   $23,%mm4
1004         paddq   %mm3,%mm0
1005         movq    %mm1,%mm3
1006         psrlq   $4,%mm1
1007         pxor    %mm6,%mm5
1008         pxor    %mm4,%mm3
1009         psllq   $23,%mm4
1010         pxor    %mm1,%mm3
1011         movq    %mm0,(%esp)
1012         paddq   %mm5,%mm7
1013         pxor    %mm4,%mm3
1014         psrlq   $23,%mm1
1015         paddq   56(%esp),%mm7
1016         pxor    %mm1,%mm3
1017         psllq   $4,%mm4
1018         pxor    %mm4,%mm3
1019         movq    24(%esp),%mm4
1020         paddq   %mm7,%mm3
1021         movq    %mm0,%mm5
1022         psrlq   $28,%mm5
1023         paddq   %mm3,%mm4
1024         movq    %mm0,%mm6
1025         movq    %mm5,%mm7
1026         psllq   $25,%mm6
1027         movq    8(%esp),%mm1
1028         psrlq   $6,%mm5
1029         pxor    %mm6,%mm7
1030         psllq   $5,%mm6
1031         pxor    %mm5,%mm7
1032         pxor    %mm1,%mm0
1033         psrlq   $5,%mm5
1034         pxor    %mm6,%mm7
1035         pand    %mm0,%mm2
1036         psllq   $6,%mm6
1037         pxor    %mm5,%mm7
1038         pxor    %mm1,%mm2
1039         pxor    %mm7,%mm6
1040         movq    32(%esp),%mm5
1041         paddq   %mm6,%mm2
1042         movq    40(%esp),%mm6
1043         movq    %mm4,%mm1
1044         movq    -56(%edx),%mm7
1045         pxor    %mm6,%mm5
1046         psrlq   $14,%mm1
1047         movq    %mm4,24(%esp)
1048         pand    %mm4,%mm5
1049         psllq   $23,%mm4
1050         paddq   %mm3,%mm2
1051         movq    %mm1,%mm3
1052         psrlq   $4,%mm1
1053         pxor    %mm6,%mm5
1054         pxor    %mm4,%mm3
1055         psllq   $23,%mm4
1056         pxor    %mm1,%mm3
1057         movq    %mm2,56(%esp)
1058         paddq   %mm5,%mm7
1059         pxor    %mm4,%mm3
1060         psrlq   $23,%mm1
1061         paddq   48(%esp),%mm7
1062         pxor    %mm1,%mm3
1063         psllq   $4,%mm4
1064         pxor    %mm4,%mm3
1065         movq    16(%esp),%mm4
1066         paddq   %mm7,%mm3
1067         movq    %mm2,%mm5
1068         psrlq   $28,%mm5
1069         paddq   %mm3,%mm4
1070         movq    %mm2,%mm6
1071         movq    %mm5,%mm7
1072         psllq   $25,%mm6
1073         movq    (%esp),%mm1
1074         psrlq   $6,%mm5
1075         pxor    %mm6,%mm7
1076         psllq   $5,%mm6
1077         pxor    %mm5,%mm7
1078         pxor    %mm1,%mm2
1079         psrlq   $5,%mm5
1080         pxor    %mm6,%mm7
1081         pand    %mm2,%mm0
1082         psllq   $6,%mm6
1083         pxor    %mm5,%mm7
1084         pxor    %mm1,%mm0
1085         pxor    %mm7,%mm6
1086         movq    24(%esp),%mm5
1087         paddq   %mm6,%mm0
1088         movq    32(%esp),%mm6
1089         movdqa  %xmm6,-64(%edx)
1090         movdqa  %xmm2,%xmm0
1091         movdqa  %xmm7,%xmm6
1092 .byte   102,15,58,15,253,8
1093         movdqa  %xmm1,16(%edx)
1094 .byte   102,15,58,15,193,8
1095         movdqa  %xmm7,%xmm1
1096         psrlq   $7,%xmm7
1097         paddq   %xmm0,%xmm5
1098         movdqa  %xmm1,%xmm0
1099         psrlq   $1,%xmm1
1100         psllq   $56,%xmm0
1101         pxor    %xmm1,%xmm7
1102         psrlq   $7,%xmm1
1103         pxor    %xmm0,%xmm7
1104         psllq   $7,%xmm0
1105         pxor    %xmm1,%xmm7
1106         movdqa  %xmm4,%xmm1
1107         pxor    %xmm0,%xmm7
1108         movdqa  %xmm4,%xmm0
1109         psrlq   $6,%xmm1
1110         paddq   %xmm7,%xmm5
1111         movdqa  %xmm4,%xmm7
1112         psrlq   $19,%xmm0
1113         psllq   $3,%xmm7
1114         pxor    %xmm0,%xmm1
1115         psrlq   $42,%xmm0
1116         pxor    %xmm7,%xmm1
1117         psllq   $42,%xmm7
1118         pxor    %xmm0,%xmm1
1119         movdqa  48(%edx),%xmm0
1120         pxor    %xmm7,%xmm1
1121         movdqa  80(%ebp),%xmm7
1122         movq    %mm4,%mm1
1123         paddq   %xmm1,%xmm5
1124         movq    -48(%edx),%mm7
1125         pxor    %mm6,%mm5
1126         psrlq   $14,%mm1
1127         movq    %mm4,16(%esp)
1128         paddq   %xmm5,%xmm7
1129         pand    %mm4,%mm5
1130         psllq   $23,%mm4
1131         paddq   %mm3,%mm0
1132         movq    %mm1,%mm3
1133         psrlq   $4,%mm1
1134         pxor    %mm6,%mm5
1135         pxor    %mm4,%mm3
1136         psllq   $23,%mm4
1137         pxor    %mm1,%mm3
1138         movq    %mm0,48(%esp)
1139         paddq   %mm5,%mm7
1140         pxor    %mm4,%mm3
1141         psrlq   $23,%mm1
1142         paddq   40(%esp),%mm7
1143         pxor    %mm1,%mm3
1144         psllq   $4,%mm4
1145         pxor    %mm4,%mm3
1146         movq    8(%esp),%mm4
1147         paddq   %mm7,%mm3
1148         movq    %mm0,%mm5
1149         psrlq   $28,%mm5
1150         paddq   %mm3,%mm4
1151         movq    %mm0,%mm6
1152         movq    %mm5,%mm7
1153         psllq   $25,%mm6
1154         movq    56(%esp),%mm1
1155         psrlq   $6,%mm5
1156         pxor    %mm6,%mm7
1157         psllq   $5,%mm6
1158         pxor    %mm5,%mm7
1159         pxor    %mm1,%mm0
1160         psrlq   $5,%mm5
1161         pxor    %mm6,%mm7
1162         pand    %mm0,%mm2
1163         psllq   $6,%mm6
1164         pxor    %mm5,%mm7
1165         pxor    %mm1,%mm2
1166         pxor    %mm7,%mm6
1167         movq    16(%esp),%mm5
1168         paddq   %mm6,%mm2
1169         movq    24(%esp),%mm6
1170         movq    %mm4,%mm1
1171         movq    -40(%edx),%mm7
1172         pxor    %mm6,%mm5
1173         psrlq   $14,%mm1
1174         movq    %mm4,8(%esp)
1175         pand    %mm4,%mm5
1176         psllq   $23,%mm4
1177         paddq   %mm3,%mm2
1178         movq    %mm1,%mm3
1179         psrlq   $4,%mm1
1180         pxor    %mm6,%mm5
1181         pxor    %mm4,%mm3
1182         psllq   $23,%mm4
1183         pxor    %mm1,%mm3
1184         movq    %mm2,40(%esp)
1185         paddq   %mm5,%mm7
1186         pxor    %mm4,%mm3
1187         psrlq   $23,%mm1
1188         paddq   32(%esp),%mm7
1189         pxor    %mm1,%mm3
1190         psllq   $4,%mm4
1191         pxor    %mm4,%mm3
1192         movq    (%esp),%mm4
1193         paddq   %mm7,%mm3
1194         movq    %mm2,%mm5
1195         psrlq   $28,%mm5
1196         paddq   %mm3,%mm4
1197         movq    %mm2,%mm6
1198         movq    %mm5,%mm7
1199         psllq   $25,%mm6
1200         movq    48(%esp),%mm1
1201         psrlq   $6,%mm5
1202         pxor    %mm6,%mm7
1203         psllq   $5,%mm6
1204         pxor    %mm5,%mm7
1205         pxor    %mm1,%mm2
1206         psrlq   $5,%mm5
1207         pxor    %mm6,%mm7
1208         pand    %mm2,%mm0
1209         psllq   $6,%mm6
1210         pxor    %mm5,%mm7
1211         pxor    %mm1,%mm0
1212         pxor    %mm7,%mm6
1213         movq    8(%esp),%mm5
1214         paddq   %mm6,%mm0
1215         movq    16(%esp),%mm6
1216         movdqa  %xmm7,-48(%edx)
1217         movdqa  %xmm3,%xmm1
1218         movdqa  %xmm0,%xmm7
1219 .byte   102,15,58,15,198,8
1220         movdqa  %xmm2,32(%edx)
1221 .byte   102,15,58,15,202,8
1222         movdqa  %xmm0,%xmm2
1223         psrlq   $7,%xmm0
1224         paddq   %xmm1,%xmm6
1225         movdqa  %xmm2,%xmm1
1226         psrlq   $1,%xmm2
1227         psllq   $56,%xmm1
1228         pxor    %xmm2,%xmm0
1229         psrlq   $7,%xmm2
1230         pxor    %xmm1,%xmm0
1231         psllq   $7,%xmm1
1232         pxor    %xmm2,%xmm0
1233         movdqa  %xmm5,%xmm2
1234         pxor    %xmm1,%xmm0
1235         movdqa  %xmm5,%xmm1
1236         psrlq   $6,%xmm2
1237         paddq   %xmm0,%xmm6
1238         movdqa  %xmm5,%xmm0
1239         psrlq   $19,%xmm1
1240         psllq   $3,%xmm0
1241         pxor    %xmm1,%xmm2
1242         psrlq   $42,%xmm1
1243         pxor    %xmm0,%xmm2
1244         psllq   $42,%xmm0
1245         pxor    %xmm1,%xmm2
1246         movdqa  (%edx),%xmm1
1247         pxor    %xmm0,%xmm2
1248         movdqa  96(%ebp),%xmm0
1249         movq    %mm4,%mm1
1250         paddq   %xmm2,%xmm6
1251         movq    -32(%edx),%mm7
1252         pxor    %mm6,%mm5
1253         psrlq   $14,%mm1
1254         movq    %mm4,(%esp)
1255         paddq   %xmm6,%xmm0
1256         pand    %mm4,%mm5
1257         psllq   $23,%mm4
1258         paddq   %mm3,%mm0
1259         movq    %mm1,%mm3
1260         psrlq   $4,%mm1
1261         pxor    %mm6,%mm5
1262         pxor    %mm4,%mm3
1263         psllq   $23,%mm4
1264         pxor    %mm1,%mm3
1265         movq    %mm0,32(%esp)
1266         paddq   %mm5,%mm7
1267         pxor    %mm4,%mm3
1268         psrlq   $23,%mm1
1269         paddq   24(%esp),%mm7
1270         pxor    %mm1,%mm3
1271         psllq   $4,%mm4
1272         pxor    %mm4,%mm3
1273         movq    56(%esp),%mm4
1274         paddq   %mm7,%mm3
1275         movq    %mm0,%mm5
1276         psrlq   $28,%mm5
1277         paddq   %mm3,%mm4
1278         movq    %mm0,%mm6
1279         movq    %mm5,%mm7
1280         psllq   $25,%mm6
1281         movq    40(%esp),%mm1
1282         psrlq   $6,%mm5
1283         pxor    %mm6,%mm7
1284         psllq   $5,%mm6
1285         pxor    %mm5,%mm7
1286         pxor    %mm1,%mm0
1287         psrlq   $5,%mm5
1288         pxor    %mm6,%mm7
1289         pand    %mm0,%mm2
1290         psllq   $6,%mm6
1291         pxor    %mm5,%mm7
1292         pxor    %mm1,%mm2
1293         pxor    %mm7,%mm6
1294         movq    (%esp),%mm5
1295         paddq   %mm6,%mm2
1296         movq    8(%esp),%mm6
1297         movq    %mm4,%mm1
1298         movq    -24(%edx),%mm7
1299         pxor    %mm6,%mm5
1300         psrlq   $14,%mm1
1301         movq    %mm4,56(%esp)
1302         pand    %mm4,%mm5
1303         psllq   $23,%mm4
1304         paddq   %mm3,%mm2
1305         movq    %mm1,%mm3
1306         psrlq   $4,%mm1
1307         pxor    %mm6,%mm5
1308         pxor    %mm4,%mm3
1309         psllq   $23,%mm4
1310         pxor    %mm1,%mm3
1311         movq    %mm2,24(%esp)
1312         paddq   %mm5,%mm7
1313         pxor    %mm4,%mm3
1314         psrlq   $23,%mm1
1315         paddq   16(%esp),%mm7
1316         pxor    %mm1,%mm3
1317         psllq   $4,%mm4
1318         pxor    %mm4,%mm3
1319         movq    48(%esp),%mm4
1320         paddq   %mm7,%mm3
1321         movq    %mm2,%mm5
1322         psrlq   $28,%mm5
1323         paddq   %mm3,%mm4
1324         movq    %mm2,%mm6
1325         movq    %mm5,%mm7
1326         psllq   $25,%mm6
1327         movq    32(%esp),%mm1
1328         psrlq   $6,%mm5
1329         pxor    %mm6,%mm7
1330         psllq   $5,%mm6
1331         pxor    %mm5,%mm7
1332         pxor    %mm1,%mm2
1333         psrlq   $5,%mm5
1334         pxor    %mm6,%mm7
1335         pand    %mm2,%mm0
1336         psllq   $6,%mm6
1337         pxor    %mm5,%mm7
1338         pxor    %mm1,%mm0
1339         pxor    %mm7,%mm6
1340         movq    56(%esp),%mm5
1341         paddq   %mm6,%mm0
1342         movq    (%esp),%mm6
1343         movdqa  %xmm0,-32(%edx)
1344         movdqa  %xmm4,%xmm2
1345         movdqa  %xmm1,%xmm0
1346 .byte   102,15,58,15,207,8
1347         movdqa  %xmm3,48(%edx)
1348 .byte   102,15,58,15,211,8
1349         movdqa  %xmm1,%xmm3
1350         psrlq   $7,%xmm1
1351         paddq   %xmm2,%xmm7
1352         movdqa  %xmm3,%xmm2
1353         psrlq   $1,%xmm3
1354         psllq   $56,%xmm2
1355         pxor    %xmm3,%xmm1
1356         psrlq   $7,%xmm3
1357         pxor    %xmm2,%xmm1
1358         psllq   $7,%xmm2
1359         pxor    %xmm3,%xmm1
1360         movdqa  %xmm6,%xmm3
1361         pxor    %xmm2,%xmm1
1362         movdqa  %xmm6,%xmm2
1363         psrlq   $6,%xmm3
1364         paddq   %xmm1,%xmm7
1365         movdqa  %xmm6,%xmm1
1366         psrlq   $19,%xmm2
1367         psllq   $3,%xmm1
1368         pxor    %xmm2,%xmm3
1369         psrlq   $42,%xmm2
1370         pxor    %xmm1,%xmm3
1371         psllq   $42,%xmm1
1372         pxor    %xmm2,%xmm3
1373         movdqa  16(%edx),%xmm2
1374         pxor    %xmm1,%xmm3
1375         movdqa  112(%ebp),%xmm1
1376         movq    %mm4,%mm1
1377         paddq   %xmm3,%xmm7
1378         movq    -16(%edx),%mm7
1379         pxor    %mm6,%mm5
1380         psrlq   $14,%mm1
1381         movq    %mm4,48(%esp)
1382         paddq   %xmm7,%xmm1
1383         pand    %mm4,%mm5
1384         psllq   $23,%mm4
1385         paddq   %mm3,%mm0
1386         movq    %mm1,%mm3
1387         psrlq   $4,%mm1
1388         pxor    %mm6,%mm5
1389         pxor    %mm4,%mm3
1390         psllq   $23,%mm4
1391         pxor    %mm1,%mm3
1392         movq    %mm0,16(%esp)
1393         paddq   %mm5,%mm7
1394         pxor    %mm4,%mm3
1395         psrlq   $23,%mm1
1396         paddq   8(%esp),%mm7
1397         pxor    %mm1,%mm3
1398         psllq   $4,%mm4
1399         pxor    %mm4,%mm3
1400         movq    40(%esp),%mm4
1401         paddq   %mm7,%mm3
1402         movq    %mm0,%mm5
1403         psrlq   $28,%mm5
1404         paddq   %mm3,%mm4
1405         movq    %mm0,%mm6
1406         movq    %mm5,%mm7
1407         psllq   $25,%mm6
1408         movq    24(%esp),%mm1
1409         psrlq   $6,%mm5
1410         pxor    %mm6,%mm7
1411         psllq   $5,%mm6
1412         pxor    %mm5,%mm7
1413         pxor    %mm1,%mm0
1414         psrlq   $5,%mm5
1415         pxor    %mm6,%mm7
1416         pand    %mm0,%mm2
1417         psllq   $6,%mm6
1418         pxor    %mm5,%mm7
1419         pxor    %mm1,%mm2
1420         pxor    %mm7,%mm6
1421         movq    48(%esp),%mm5
1422         paddq   %mm6,%mm2
1423         movq    56(%esp),%mm6
1424         movq    %mm4,%mm1
1425         movq    -8(%edx),%mm7
1426         pxor    %mm6,%mm5
1427         psrlq   $14,%mm1
1428         movq    %mm4,40(%esp)
1429         pand    %mm4,%mm5
1430         psllq   $23,%mm4
1431         paddq   %mm3,%mm2
1432         movq    %mm1,%mm3
1433         psrlq   $4,%mm1
1434         pxor    %mm6,%mm5
1435         pxor    %mm4,%mm3
1436         psllq   $23,%mm4
1437         pxor    %mm1,%mm3
1438         movq    %mm2,8(%esp)
1439         paddq   %mm5,%mm7
1440         pxor    %mm4,%mm3
1441         psrlq   $23,%mm1
1442         paddq   (%esp),%mm7
1443         pxor    %mm1,%mm3
1444         psllq   $4,%mm4
1445         pxor    %mm4,%mm3
1446         movq    32(%esp),%mm4
1447         paddq   %mm7,%mm3
1448         movq    %mm2,%mm5
1449         psrlq   $28,%mm5
1450         paddq   %mm3,%mm4
1451         movq    %mm2,%mm6
1452         movq    %mm5,%mm7
1453         psllq   $25,%mm6
1454         movq    16(%esp),%mm1
1455         psrlq   $6,%mm5
1456         pxor    %mm6,%mm7
1457         psllq   $5,%mm6
1458         pxor    %mm5,%mm7
1459         pxor    %mm1,%mm2
1460         psrlq   $5,%mm5
1461         pxor    %mm6,%mm7
1462         pand    %mm2,%mm0
1463         psllq   $6,%mm6
1464         pxor    %mm5,%mm7
1465         pxor    %mm1,%mm0
1466         pxor    %mm7,%mm6
1467         movq    40(%esp),%mm5
1468         paddq   %mm6,%mm0
1469         movq    48(%esp),%mm6
1470         movdqa  %xmm1,-16(%edx)
1471         leal    128(%ebp),%ebp
1472         decl    %ecx
1473         jnz     .L00800_47_ssse3
1474         movdqa  (%ebp),%xmm1
1475         leal    -640(%ebp),%ebp
1476         movdqu  (%ebx),%xmm0
1477 .byte   102,15,56,0,193
1478         movdqa  (%ebp),%xmm3
1479         movdqa  %xmm1,%xmm2
1480         movdqu  16(%ebx),%xmm1
1481         paddq   %xmm0,%xmm3
1482 .byte   102,15,56,0,202
1483         movq    %mm4,%mm1
1484         movq    -128(%edx),%mm7
1485         pxor    %mm6,%mm5
1486         psrlq   $14,%mm1
1487         movq    %mm4,32(%esp)
1488         pand    %mm4,%mm5
1489         psllq   $23,%mm4
1490         paddq   %mm3,%mm0
1491         movq    %mm1,%mm3
1492         psrlq   $4,%mm1
1493         pxor    %mm6,%mm5
1494         pxor    %mm4,%mm3
1495         psllq   $23,%mm4
1496         pxor    %mm1,%mm3
1497         movq    %mm0,(%esp)
1498         paddq   %mm5,%mm7
1499         pxor    %mm4,%mm3
1500         psrlq   $23,%mm1
1501         paddq   56(%esp),%mm7
1502         pxor    %mm1,%mm3
1503         psllq   $4,%mm4
1504         pxor    %mm4,%mm3
1505         movq    24(%esp),%mm4
1506         paddq   %mm7,%mm3
1507         movq    %mm0,%mm5
1508         psrlq   $28,%mm5
1509         paddq   %mm3,%mm4
1510         movq    %mm0,%mm6
1511         movq    %mm5,%mm7
1512         psllq   $25,%mm6
1513         movq    8(%esp),%mm1
1514         psrlq   $6,%mm5
1515         pxor    %mm6,%mm7
1516         psllq   $5,%mm6
1517         pxor    %mm5,%mm7
1518         pxor    %mm1,%mm0
1519         psrlq   $5,%mm5
1520         pxor    %mm6,%mm7
1521         pand    %mm0,%mm2
1522         psllq   $6,%mm6
1523         pxor    %mm5,%mm7
1524         pxor    %mm1,%mm2
1525         pxor    %mm7,%mm6
1526         movq    32(%esp),%mm5
1527         paddq   %mm6,%mm2
1528         movq    40(%esp),%mm6
1529         movq    %mm4,%mm1
1530         movq    -120(%edx),%mm7
1531         pxor    %mm6,%mm5
1532         psrlq   $14,%mm1
1533         movq    %mm4,24(%esp)
1534         pand    %mm4,%mm5
1535         psllq   $23,%mm4
1536         paddq   %mm3,%mm2
1537         movq    %mm1,%mm3
1538         psrlq   $4,%mm1
1539         pxor    %mm6,%mm5
1540         pxor    %mm4,%mm3
1541         psllq   $23,%mm4
1542         pxor    %mm1,%mm3
1543         movq    %mm2,56(%esp)
1544         paddq   %mm5,%mm7
1545         pxor    %mm4,%mm3
1546         psrlq   $23,%mm1
1547         paddq   48(%esp),%mm7
1548         pxor    %mm1,%mm3
1549         psllq   $4,%mm4
1550         pxor    %mm4,%mm3
1551         movq    16(%esp),%mm4
1552         paddq   %mm7,%mm3
1553         movq    %mm2,%mm5
1554         psrlq   $28,%mm5
1555         paddq   %mm3,%mm4
1556         movq    %mm2,%mm6
1557         movq    %mm5,%mm7
1558         psllq   $25,%mm6
1559         movq    (%esp),%mm1
1560         psrlq   $6,%mm5
1561         pxor    %mm6,%mm7
1562         psllq   $5,%mm6
1563         pxor    %mm5,%mm7
1564         pxor    %mm1,%mm2
1565         psrlq   $5,%mm5
1566         pxor    %mm6,%mm7
1567         pand    %mm2,%mm0
1568         psllq   $6,%mm6
1569         pxor    %mm5,%mm7
1570         pxor    %mm1,%mm0
1571         pxor    %mm7,%mm6
1572         movq    24(%esp),%mm5
1573         paddq   %mm6,%mm0
1574         movq    32(%esp),%mm6
1575         movdqa  %xmm3,-128(%edx)
1576         movdqa  16(%ebp),%xmm4
1577         movdqa  %xmm2,%xmm3
1578         movdqu  32(%ebx),%xmm2
1579         paddq   %xmm1,%xmm4
1580 .byte   102,15,56,0,211
1581         movq    %mm4,%mm1
1582         movq    -112(%edx),%mm7
1583         pxor    %mm6,%mm5
1584         psrlq   $14,%mm1
1585         movq    %mm4,16(%esp)
1586         pand    %mm4,%mm5
1587         psllq   $23,%mm4
1588         paddq   %mm3,%mm0
1589         movq    %mm1,%mm3
1590         psrlq   $4,%mm1
1591         pxor    %mm6,%mm5
1592         pxor    %mm4,%mm3
1593         psllq   $23,%mm4
1594         pxor    %mm1,%mm3
1595         movq    %mm0,48(%esp)
1596         paddq   %mm5,%mm7
1597         pxor    %mm4,%mm3
1598         psrlq   $23,%mm1
1599         paddq   40(%esp),%mm7
1600         pxor    %mm1,%mm3
1601         psllq   $4,%mm4
1602         pxor    %mm4,%mm3
1603         movq    8(%esp),%mm4
1604         paddq   %mm7,%mm3
1605         movq    %mm0,%mm5
1606         psrlq   $28,%mm5
1607         paddq   %mm3,%mm4
1608         movq    %mm0,%mm6
1609         movq    %mm5,%mm7
1610         psllq   $25,%mm6
1611         movq    56(%esp),%mm1
1612         psrlq   $6,%mm5
1613         pxor    %mm6,%mm7
1614         psllq   $5,%mm6
1615         pxor    %mm5,%mm7
1616         pxor    %mm1,%mm0
1617         psrlq   $5,%mm5
1618         pxor    %mm6,%mm7
1619         pand    %mm0,%mm2
1620         psllq   $6,%mm6
1621         pxor    %mm5,%mm7
1622         pxor    %mm1,%mm2
1623         pxor    %mm7,%mm6
1624         movq    16(%esp),%mm5
1625         paddq   %mm6,%mm2
1626         movq    24(%esp),%mm6
1627         movq    %mm4,%mm1
1628         movq    -104(%edx),%mm7
1629         pxor    %mm6,%mm5
1630         psrlq   $14,%mm1
1631         movq    %mm4,8(%esp)
1632         pand    %mm4,%mm5
1633         psllq   $23,%mm4
1634         paddq   %mm3,%mm2
1635         movq    %mm1,%mm3
1636         psrlq   $4,%mm1
1637         pxor    %mm6,%mm5
1638         pxor    %mm4,%mm3
1639         psllq   $23,%mm4
1640         pxor    %mm1,%mm3
1641         movq    %mm2,40(%esp)
1642         paddq   %mm5,%mm7
1643         pxor    %mm4,%mm3
1644         psrlq   $23,%mm1
1645         paddq   32(%esp),%mm7
1646         pxor    %mm1,%mm3
1647         psllq   $4,%mm4
1648         pxor    %mm4,%mm3
1649         movq    (%esp),%mm4
1650         paddq   %mm7,%mm3
1651         movq    %mm2,%mm5
1652         psrlq   $28,%mm5
1653         paddq   %mm3,%mm4
1654         movq    %mm2,%mm6
1655         movq    %mm5,%mm7
1656         psllq   $25,%mm6
1657         movq    48(%esp),%mm1
1658         psrlq   $6,%mm5
1659         pxor    %mm6,%mm7
1660         psllq   $5,%mm6
1661         pxor    %mm5,%mm7
1662         pxor    %mm1,%mm2
1663         psrlq   $5,%mm5
1664         pxor    %mm6,%mm7
1665         pand    %mm2,%mm0
1666         psllq   $6,%mm6
1667         pxor    %mm5,%mm7
1668         pxor    %mm1,%mm0
1669         pxor    %mm7,%mm6
1670         movq    8(%esp),%mm5
1671         paddq   %mm6,%mm0
1672         movq    16(%esp),%mm6
1673         movdqa  %xmm4,-112(%edx)
1674         movdqa  32(%ebp),%xmm5
1675         movdqa  %xmm3,%xmm4
1676         movdqu  48(%ebx),%xmm3
1677         paddq   %xmm2,%xmm5
1678 .byte   102,15,56,0,220
1679         movq    %mm4,%mm1
1680         movq    -96(%edx),%mm7
1681         pxor    %mm6,%mm5
1682         psrlq   $14,%mm1
1683         movq    %mm4,(%esp)
1684         pand    %mm4,%mm5
1685         psllq   $23,%mm4
1686         paddq   %mm3,%mm0
1687         movq    %mm1,%mm3
1688         psrlq   $4,%mm1
1689         pxor    %mm6,%mm5
1690         pxor    %mm4,%mm3
1691         psllq   $23,%mm4
1692         pxor    %mm1,%mm3
1693         movq    %mm0,32(%esp)
1694         paddq   %mm5,%mm7
1695         pxor    %mm4,%mm3
1696         psrlq   $23,%mm1
1697         paddq   24(%esp),%mm7
1698         pxor    %mm1,%mm3
1699         psllq   $4,%mm4
1700         pxor    %mm4,%mm3
1701         movq    56(%esp),%mm4
1702         paddq   %mm7,%mm3
1703         movq    %mm0,%mm5
1704         psrlq   $28,%mm5
1705         paddq   %mm3,%mm4
1706         movq    %mm0,%mm6
1707         movq    %mm5,%mm7
1708         psllq   $25,%mm6
1709         movq    40(%esp),%mm1
1710         psrlq   $6,%mm5
1711         pxor    %mm6,%mm7
1712         psllq   $5,%mm6
1713         pxor    %mm5,%mm7
1714         pxor    %mm1,%mm0
1715         psrlq   $5,%mm5
1716         pxor    %mm6,%mm7
1717         pand    %mm0,%mm2
1718         psllq   $6,%mm6
1719         pxor    %mm5,%mm7
1720         pxor    %mm1,%mm2
1721         pxor    %mm7,%mm6
1722         movq    (%esp),%mm5
1723         paddq   %mm6,%mm2
1724         movq    8(%esp),%mm6
1725         movq    %mm4,%mm1
1726         movq    -88(%edx),%mm7
1727         pxor    %mm6,%mm5
1728         psrlq   $14,%mm1
1729         movq    %mm4,56(%esp)
1730         pand    %mm4,%mm5
1731         psllq   $23,%mm4
1732         paddq   %mm3,%mm2
1733         movq    %mm1,%mm3
1734         psrlq   $4,%mm1
1735         pxor    %mm6,%mm5
1736         pxor    %mm4,%mm3
1737         psllq   $23,%mm4
1738         pxor    %mm1,%mm3
1739         movq    %mm2,24(%esp)
1740         paddq   %mm5,%mm7
1741         pxor    %mm4,%mm3
1742         psrlq   $23,%mm1
1743         paddq   16(%esp),%mm7
1744         pxor    %mm1,%mm3
1745         psllq   $4,%mm4
1746         pxor    %mm4,%mm3
1747         movq    48(%esp),%mm4
1748         paddq   %mm7,%mm3
1749         movq    %mm2,%mm5
1750         psrlq   $28,%mm5
1751         paddq   %mm3,%mm4
1752         movq    %mm2,%mm6
1753         movq    %mm5,%mm7
1754         psllq   $25,%mm6
1755         movq    32(%esp),%mm1
1756         psrlq   $6,%mm5
1757         pxor    %mm6,%mm7
1758         psllq   $5,%mm6
1759         pxor    %mm5,%mm7
1760         pxor    %mm1,%mm2
1761         psrlq   $5,%mm5
1762         pxor    %mm6,%mm7
1763         pand    %mm2,%mm0
1764         psllq   $6,%mm6
1765         pxor    %mm5,%mm7
1766         pxor    %mm1,%mm0
1767         pxor    %mm7,%mm6
1768         movq    56(%esp),%mm5
1769         paddq   %mm6,%mm0
1770         movq    (%esp),%mm6
1771         movdqa  %xmm5,-96(%edx)
1772         movdqa  48(%ebp),%xmm6
1773         movdqa  %xmm4,%xmm5
1774         movdqu  64(%ebx),%xmm4
1775         paddq   %xmm3,%xmm6
1776 .byte   102,15,56,0,229
1777         movq    %mm4,%mm1
1778         movq    -80(%edx),%mm7
1779         pxor    %mm6,%mm5
1780         psrlq   $14,%mm1
1781         movq    %mm4,48(%esp)
1782         pand    %mm4,%mm5
1783         psllq   $23,%mm4
1784         paddq   %mm3,%mm0
1785         movq    %mm1,%mm3
1786         psrlq   $4,%mm1
1787         pxor    %mm6,%mm5
1788         pxor    %mm4,%mm3
1789         psllq   $23,%mm4
1790         pxor    %mm1,%mm3
1791         movq    %mm0,16(%esp)
1792         paddq   %mm5,%mm7
1793         pxor    %mm4,%mm3
1794         psrlq   $23,%mm1
1795         paddq   8(%esp),%mm7
1796         pxor    %mm1,%mm3
1797         psllq   $4,%mm4
1798         pxor    %mm4,%mm3
1799         movq    40(%esp),%mm4
1800         paddq   %mm7,%mm3
1801         movq    %mm0,%mm5
1802         psrlq   $28,%mm5
1803         paddq   %mm3,%mm4
1804         movq    %mm0,%mm6
1805         movq    %mm5,%mm7
1806         psllq   $25,%mm6
1807         movq    24(%esp),%mm1
1808         psrlq   $6,%mm5
1809         pxor    %mm6,%mm7
1810         psllq   $5,%mm6
1811         pxor    %mm5,%mm7
1812         pxor    %mm1,%mm0
1813         psrlq   $5,%mm5
1814         pxor    %mm6,%mm7
1815         pand    %mm0,%mm2
1816         psllq   $6,%mm6
1817         pxor    %mm5,%mm7
1818         pxor    %mm1,%mm2
1819         pxor    %mm7,%mm6
1820         movq    48(%esp),%mm5
1821         paddq   %mm6,%mm2
1822         movq    56(%esp),%mm6
1823         movq    %mm4,%mm1
1824         movq    -72(%edx),%mm7
1825         pxor    %mm6,%mm5
1826         psrlq   $14,%mm1
1827         movq    %mm4,40(%esp)
1828         pand    %mm4,%mm5
1829         psllq   $23,%mm4
1830         paddq   %mm3,%mm2
1831         movq    %mm1,%mm3
1832         psrlq   $4,%mm1
1833         pxor    %mm6,%mm5
1834         pxor    %mm4,%mm3
1835         psllq   $23,%mm4
1836         pxor    %mm1,%mm3
1837         movq    %mm2,8(%esp)
1838         paddq   %mm5,%mm7
1839         pxor    %mm4,%mm3
1840         psrlq   $23,%mm1
1841         paddq   (%esp),%mm7
1842         pxor    %mm1,%mm3
1843         psllq   $4,%mm4
1844         pxor    %mm4,%mm3
1845         movq    32(%esp),%mm4
1846         paddq   %mm7,%mm3
1847         movq    %mm2,%mm5
1848         psrlq   $28,%mm5
1849         paddq   %mm3,%mm4
1850         movq    %mm2,%mm6
1851         movq    %mm5,%mm7
1852         psllq   $25,%mm6
1853         movq    16(%esp),%mm1
1854         psrlq   $6,%mm5
1855         pxor    %mm6,%mm7
1856         psllq   $5,%mm6
1857         pxor    %mm5,%mm7
1858         pxor    %mm1,%mm2
1859         psrlq   $5,%mm5
1860         pxor    %mm6,%mm7
1861         pand    %mm2,%mm0
1862         psllq   $6,%mm6
1863         pxor    %mm5,%mm7
1864         pxor    %mm1,%mm0
1865         pxor    %mm7,%mm6
1866         movq    40(%esp),%mm5
1867         paddq   %mm6,%mm0
1868         movq    48(%esp),%mm6
1869         movdqa  %xmm6,-80(%edx)
1870         movdqa  64(%ebp),%xmm7
1871         movdqa  %xmm5,%xmm6
1872         movdqu  80(%ebx),%xmm5
1873         paddq   %xmm4,%xmm7
1874 .byte   102,15,56,0,238
1875         movq    %mm4,%mm1
1876         movq    -64(%edx),%mm7
1877         pxor    %mm6,%mm5
1878         psrlq   $14,%mm1
1879         movq    %mm4,32(%esp)
1880         pand    %mm4,%mm5
1881         psllq   $23,%mm4
1882         paddq   %mm3,%mm0
1883         movq    %mm1,%mm3
1884         psrlq   $4,%mm1
1885         pxor    %mm6,%mm5
1886         pxor    %mm4,%mm3
1887         psllq   $23,%mm4
1888         pxor    %mm1,%mm3
1889         movq    %mm0,(%esp)
1890         paddq   %mm5,%mm7
1891         pxor    %mm4,%mm3
1892         psrlq   $23,%mm1
1893         paddq   56(%esp),%mm7
1894         pxor    %mm1,%mm3
1895         psllq   $4,%mm4
1896         pxor    %mm4,%mm3
1897         movq    24(%esp),%mm4
1898         paddq   %mm7,%mm3
1899         movq    %mm0,%mm5
1900         psrlq   $28,%mm5
1901         paddq   %mm3,%mm4
1902         movq    %mm0,%mm6
1903         movq    %mm5,%mm7
1904         psllq   $25,%mm6
1905         movq    8(%esp),%mm1
1906         psrlq   $6,%mm5
1907         pxor    %mm6,%mm7
1908         psllq   $5,%mm6
1909         pxor    %mm5,%mm7
1910         pxor    %mm1,%mm0
1911         psrlq   $5,%mm5
1912         pxor    %mm6,%mm7
1913         pand    %mm0,%mm2
1914         psllq   $6,%mm6
1915         pxor    %mm5,%mm7
1916         pxor    %mm1,%mm2
1917         pxor    %mm7,%mm6
1918         movq    32(%esp),%mm5
1919         paddq   %mm6,%mm2
1920         movq    40(%esp),%mm6
1921         movq    %mm4,%mm1
1922         movq    -56(%edx),%mm7
1923         pxor    %mm6,%mm5
1924         psrlq   $14,%mm1
1925         movq    %mm4,24(%esp)
1926         pand    %mm4,%mm5
1927         psllq   $23,%mm4
1928         paddq   %mm3,%mm2
1929         movq    %mm1,%mm3
1930         psrlq   $4,%mm1
1931         pxor    %mm6,%mm5
1932         pxor    %mm4,%mm3
1933         psllq   $23,%mm4
1934         pxor    %mm1,%mm3
1935         movq    %mm2,56(%esp)
1936         paddq   %mm5,%mm7
1937         pxor    %mm4,%mm3
1938         psrlq   $23,%mm1
1939         paddq   48(%esp),%mm7
1940         pxor    %mm1,%mm3
1941         psllq   $4,%mm4
1942         pxor    %mm4,%mm3
1943         movq    16(%esp),%mm4
1944         paddq   %mm7,%mm3
1945         movq    %mm2,%mm5
1946         psrlq   $28,%mm5
1947         paddq   %mm3,%mm4
1948         movq    %mm2,%mm6
1949         movq    %mm5,%mm7
1950         psllq   $25,%mm6
1951         movq    (%esp),%mm1
1952         psrlq   $6,%mm5
1953         pxor    %mm6,%mm7
1954         psllq   $5,%mm6
1955         pxor    %mm5,%mm7
1956         pxor    %mm1,%mm2
1957         psrlq   $5,%mm5
1958         pxor    %mm6,%mm7
1959         pand    %mm2,%mm0
1960         psllq   $6,%mm6
1961         pxor    %mm5,%mm7
1962         pxor    %mm1,%mm0
1963         pxor    %mm7,%mm6
1964         movq    24(%esp),%mm5
1965         paddq   %mm6,%mm0
1966         movq    32(%esp),%mm6
1967         movdqa  %xmm7,-64(%edx)
1968         movdqa  %xmm0,(%edx)
1969         movdqa  80(%ebp),%xmm0
1970         movdqa  %xmm6,%xmm7
1971         movdqu  96(%ebx),%xmm6
1972         paddq   %xmm5,%xmm0
1973 .byte   102,15,56,0,247
1974         movq    %mm4,%mm1
1975         movq    -48(%edx),%mm7
1976         pxor    %mm6,%mm5
1977         psrlq   $14,%mm1
1978         movq    %mm4,16(%esp)
1979         pand    %mm4,%mm5
1980         psllq   $23,%mm4
1981         paddq   %mm3,%mm0
1982         movq    %mm1,%mm3
1983         psrlq   $4,%mm1
1984         pxor    %mm6,%mm5
1985         pxor    %mm4,%mm3
1986         psllq   $23,%mm4
1987         pxor    %mm1,%mm3
1988         movq    %mm0,48(%esp)
1989         paddq   %mm5,%mm7
1990         pxor    %mm4,%mm3
1991         psrlq   $23,%mm1
1992         paddq   40(%esp),%mm7
1993         pxor    %mm1,%mm3
1994         psllq   $4,%mm4
1995         pxor    %mm4,%mm3
1996         movq    8(%esp),%mm4
1997         paddq   %mm7,%mm3
1998         movq    %mm0,%mm5
1999         psrlq   $28,%mm5
2000         paddq   %mm3,%mm4
2001         movq    %mm0,%mm6
2002         movq    %mm5,%mm7
2003         psllq   $25,%mm6
2004         movq    56(%esp),%mm1
2005         psrlq   $6,%mm5
2006         pxor    %mm6,%mm7
2007         psllq   $5,%mm6
2008         pxor    %mm5,%mm7
2009         pxor    %mm1,%mm0
2010         psrlq   $5,%mm5
2011         pxor    %mm6,%mm7
2012         pand    %mm0,%mm2
2013         psllq   $6,%mm6
2014         pxor    %mm5,%mm7
2015         pxor    %mm1,%mm2
2016         pxor    %mm7,%mm6
2017         movq    16(%esp),%mm5
2018         paddq   %mm6,%mm2
2019         movq    24(%esp),%mm6
2020         movq    %mm4,%mm1
2021         movq    -40(%edx),%mm7
2022         pxor    %mm6,%mm5
2023         psrlq   $14,%mm1
2024         movq    %mm4,8(%esp)
2025         pand    %mm4,%mm5
2026         psllq   $23,%mm4
2027         paddq   %mm3,%mm2
2028         movq    %mm1,%mm3
2029         psrlq   $4,%mm1
2030         pxor    %mm6,%mm5
2031         pxor    %mm4,%mm3
2032         psllq   $23,%mm4
2033         pxor    %mm1,%mm3
2034         movq    %mm2,40(%esp)
2035         paddq   %mm5,%mm7
2036         pxor    %mm4,%mm3
2037         psrlq   $23,%mm1
2038         paddq   32(%esp),%mm7
2039         pxor    %mm1,%mm3
2040         psllq   $4,%mm4
2041         pxor    %mm4,%mm3
2042         movq    (%esp),%mm4
2043         paddq   %mm7,%mm3
2044         movq    %mm2,%mm5
2045         psrlq   $28,%mm5
2046         paddq   %mm3,%mm4
2047         movq    %mm2,%mm6
2048         movq    %mm5,%mm7
2049         psllq   $25,%mm6
2050         movq    48(%esp),%mm1
2051         psrlq   $6,%mm5
2052         pxor    %mm6,%mm7
2053         psllq   $5,%mm6
2054         pxor    %mm5,%mm7
2055         pxor    %mm1,%mm2
2056         psrlq   $5,%mm5
2057         pxor    %mm6,%mm7
2058         pand    %mm2,%mm0
2059         psllq   $6,%mm6
2060         pxor    %mm5,%mm7
2061         pxor    %mm1,%mm0
2062         pxor    %mm7,%mm6
2063         movq    8(%esp),%mm5
2064         paddq   %mm6,%mm0
2065         movq    16(%esp),%mm6
2066         movdqa  %xmm0,-48(%edx)
2067         movdqa  %xmm1,16(%edx)
2068         movdqa  96(%ebp),%xmm1
2069         movdqa  %xmm7,%xmm0
2070         movdqu  112(%ebx),%xmm7
2071         paddq   %xmm6,%xmm1
2072 .byte   102,15,56,0,248
2073         movq    %mm4,%mm1
2074         movq    -32(%edx),%mm7
2075         pxor    %mm6,%mm5
2076         psrlq   $14,%mm1
2077         movq    %mm4,(%esp)
2078         pand    %mm4,%mm5
2079         psllq   $23,%mm4
2080         paddq   %mm3,%mm0
2081         movq    %mm1,%mm3
2082         psrlq   $4,%mm1
2083         pxor    %mm6,%mm5
2084         pxor    %mm4,%mm3
2085         psllq   $23,%mm4
2086         pxor    %mm1,%mm3
2087         movq    %mm0,32(%esp)
2088         paddq   %mm5,%mm7
2089         pxor    %mm4,%mm3
2090         psrlq   $23,%mm1
2091         paddq   24(%esp),%mm7
2092         pxor    %mm1,%mm3
2093         psllq   $4,%mm4
2094         pxor    %mm4,%mm3
2095         movq    56(%esp),%mm4
2096         paddq   %mm7,%mm3
2097         movq    %mm0,%mm5
2098         psrlq   $28,%mm5
2099         paddq   %mm3,%mm4
2100         movq    %mm0,%mm6
2101         movq    %mm5,%mm7
2102         psllq   $25,%mm6
2103         movq    40(%esp),%mm1
2104         psrlq   $6,%mm5
2105         pxor    %mm6,%mm7
2106         psllq   $5,%mm6
2107         pxor    %mm5,%mm7
2108         pxor    %mm1,%mm0
2109         psrlq   $5,%mm5
2110         pxor    %mm6,%mm7
2111         pand    %mm0,%mm2
2112         psllq   $6,%mm6
2113         pxor    %mm5,%mm7
2114         pxor    %mm1,%mm2
2115         pxor    %mm7,%mm6
2116         movq    (%esp),%mm5
2117         paddq   %mm6,%mm2
2118         movq    8(%esp),%mm6
2119         movq    %mm4,%mm1
2120         movq    -24(%edx),%mm7
2121         pxor    %mm6,%mm5
2122         psrlq   $14,%mm1
2123         movq    %mm4,56(%esp)
2124         pand    %mm4,%mm5
2125         psllq   $23,%mm4
2126         paddq   %mm3,%mm2
2127         movq    %mm1,%mm3
2128         psrlq   $4,%mm1
2129         pxor    %mm6,%mm5
2130         pxor    %mm4,%mm3
2131         psllq   $23,%mm4
2132         pxor    %mm1,%mm3
2133         movq    %mm2,24(%esp)
2134         paddq   %mm5,%mm7
2135         pxor    %mm4,%mm3
2136         psrlq   $23,%mm1
2137         paddq   16(%esp),%mm7
2138         pxor    %mm1,%mm3
2139         psllq   $4,%mm4
2140         pxor    %mm4,%mm3
2141         movq    48(%esp),%mm4
2142         paddq   %mm7,%mm3
2143         movq    %mm2,%mm5
2144         psrlq   $28,%mm5
2145         paddq   %mm3,%mm4
2146         movq    %mm2,%mm6
2147         movq    %mm5,%mm7
2148         psllq   $25,%mm6
2149         movq    32(%esp),%mm1
2150         psrlq   $6,%mm5
2151         pxor    %mm6,%mm7
2152         psllq   $5,%mm6
2153         pxor    %mm5,%mm7
2154         pxor    %mm1,%mm2
2155         psrlq   $5,%mm5
2156         pxor    %mm6,%mm7
2157         pand    %mm2,%mm0
2158         psllq   $6,%mm6
2159         pxor    %mm5,%mm7
2160         pxor    %mm1,%mm0
2161         pxor    %mm7,%mm6
2162         movq    56(%esp),%mm5
2163         paddq   %mm6,%mm0
2164         movq    (%esp),%mm6
2165         movdqa  %xmm1,-32(%edx)
2166         movdqa  %xmm2,32(%edx)
2167         movdqa  112(%ebp),%xmm2
2168         movdqa  (%edx),%xmm0
2169         paddq   %xmm7,%xmm2
2170         movq    %mm4,%mm1
2171         movq    -16(%edx),%mm7
2172         pxor    %mm6,%mm5
2173         psrlq   $14,%mm1
2174         movq    %mm4,48(%esp)
2175         pand    %mm4,%mm5
2176         psllq   $23,%mm4
2177         paddq   %mm3,%mm0
2178         movq    %mm1,%mm3
2179         psrlq   $4,%mm1
2180         pxor    %mm6,%mm5
2181         pxor    %mm4,%mm3
2182         psllq   $23,%mm4
2183         pxor    %mm1,%mm3
2184         movq    %mm0,16(%esp)
2185         paddq   %mm5,%mm7
2186         pxor    %mm4,%mm3
2187         psrlq   $23,%mm1
2188         paddq   8(%esp),%mm7
2189         pxor    %mm1,%mm3
2190         psllq   $4,%mm4
2191         pxor    %mm4,%mm3
2192         movq    40(%esp),%mm4
2193         paddq   %mm7,%mm3
2194         movq    %mm0,%mm5
2195         psrlq   $28,%mm5
2196         paddq   %mm3,%mm4
2197         movq    %mm0,%mm6
2198         movq    %mm5,%mm7
2199         psllq   $25,%mm6
2200         movq    24(%esp),%mm1
2201         psrlq   $6,%mm5
2202         pxor    %mm6,%mm7
2203         psllq   $5,%mm6
2204         pxor    %mm5,%mm7
2205         pxor    %mm1,%mm0
2206         psrlq   $5,%mm5
2207         pxor    %mm6,%mm7
2208         pand    %mm0,%mm2
2209         psllq   $6,%mm6
2210         pxor    %mm5,%mm7
2211         pxor    %mm1,%mm2
2212         pxor    %mm7,%mm6
2213         movq    48(%esp),%mm5
2214         paddq   %mm6,%mm2
2215         movq    56(%esp),%mm6
2216         movq    %mm4,%mm1
2217         movq    -8(%edx),%mm7
2218         pxor    %mm6,%mm5
2219         psrlq   $14,%mm1
2220         movq    %mm4,40(%esp)
2221         pand    %mm4,%mm5
2222         psllq   $23,%mm4
2223         paddq   %mm3,%mm2
2224         movq    %mm1,%mm3
2225         psrlq   $4,%mm1
2226         pxor    %mm6,%mm5
2227         pxor    %mm4,%mm3
2228         psllq   $23,%mm4
2229         pxor    %mm1,%mm3
2230         movq    %mm2,8(%esp)
2231         paddq   %mm5,%mm7
2232         pxor    %mm4,%mm3
2233         psrlq   $23,%mm1
2234         paddq   (%esp),%mm7
2235         pxor    %mm1,%mm3
2236         psllq   $4,%mm4
2237         pxor    %mm4,%mm3
2238         movq    32(%esp),%mm4
2239         paddq   %mm7,%mm3
2240         movq    %mm2,%mm5
2241         psrlq   $28,%mm5
2242         paddq   %mm3,%mm4
2243         movq    %mm2,%mm6
2244         movq    %mm5,%mm7
2245         psllq   $25,%mm6
2246         movq    16(%esp),%mm1
2247         psrlq   $6,%mm5
2248         pxor    %mm6,%mm7
2249         psllq   $5,%mm6
2250         pxor    %mm5,%mm7
2251         pxor    %mm1,%mm2
2252         psrlq   $5,%mm5
2253         pxor    %mm6,%mm7
2254         pand    %mm2,%mm0
2255         psllq   $6,%mm6
2256         pxor    %mm5,%mm7
2257         pxor    %mm1,%mm0
2258         pxor    %mm7,%mm6
2259         movq    40(%esp),%mm5
2260         paddq   %mm6,%mm0
2261         movq    48(%esp),%mm6
2262         movdqa  %xmm2,-16(%edx)
2263         movq    8(%esp),%mm1
2264         paddq   %mm3,%mm0
2265         movq    24(%esp),%mm3
2266         movq    56(%esp),%mm7
2267         pxor    %mm1,%mm2
2268         paddq   (%esi),%mm0
2269         paddq   8(%esi),%mm1
2270         paddq   16(%esi),%mm2
2271         paddq   24(%esi),%mm3
2272         paddq   32(%esi),%mm4
2273         paddq   40(%esi),%mm5
2274         paddq   48(%esi),%mm6
2275         paddq   56(%esi),%mm7
2276         movq    %mm0,(%esi)
2277         movq    %mm1,8(%esi)
2278         movq    %mm2,16(%esi)
2279         movq    %mm3,24(%esi)
2280         movq    %mm4,32(%esi)
2281         movq    %mm5,40(%esi)
2282         movq    %mm6,48(%esi)
2283         movq    %mm7,56(%esi)
2284         cmpl    %eax,%edi
2285         jb      .L007loop_ssse3
2286         movl    76(%edx),%esp
2287         emms
2288         popl    %edi
2289         popl    %esi
2290         popl    %ebx
2291         popl    %ebp
2292         ret
2293 .align  16
2294 .L002loop_x86:
2295         movl    (%edi),%eax
2296         movl    4(%edi),%ebx
2297         movl    8(%edi),%ecx
2298         movl    12(%edi),%edx
2299         bswap   %eax
2300         bswap   %ebx
2301         bswap   %ecx
2302         bswap   %edx
2303         pushl   %eax
2304         pushl   %ebx
2305         pushl   %ecx
2306         pushl   %edx
2307         movl    16(%edi),%eax
2308         movl    20(%edi),%ebx
2309         movl    24(%edi),%ecx
2310         movl    28(%edi),%edx
2311         bswap   %eax
2312         bswap   %ebx
2313         bswap   %ecx
2314         bswap   %edx
2315         pushl   %eax
2316         pushl   %ebx
2317         pushl   %ecx
2318         pushl   %edx
2319         movl    32(%edi),%eax
2320         movl    36(%edi),%ebx
2321         movl    40(%edi),%ecx
2322         movl    44(%edi),%edx
2323         bswap   %eax
2324         bswap   %ebx
2325         bswap   %ecx
2326         bswap   %edx
2327         pushl   %eax
2328         pushl   %ebx
2329         pushl   %ecx
2330         pushl   %edx
2331         movl    48(%edi),%eax
2332         movl    52(%edi),%ebx
2333         movl    56(%edi),%ecx
2334         movl    60(%edi),%edx
2335         bswap   %eax
2336         bswap   %ebx
2337         bswap   %ecx
2338         bswap   %edx
2339         pushl   %eax
2340         pushl   %ebx
2341         pushl   %ecx
2342         pushl   %edx
2343         movl    64(%edi),%eax
2344         movl    68(%edi),%ebx
2345         movl    72(%edi),%ecx
2346         movl    76(%edi),%edx
2347         bswap   %eax
2348         bswap   %ebx
2349         bswap   %ecx
2350         bswap   %edx
2351         pushl   %eax
2352         pushl   %ebx
2353         pushl   %ecx
2354         pushl   %edx
2355         movl    80(%edi),%eax
2356         movl    84(%edi),%ebx
2357         movl    88(%edi),%ecx
2358         movl    92(%edi),%edx
2359         bswap   %eax
2360         bswap   %ebx
2361         bswap   %ecx
2362         bswap   %edx
2363         pushl   %eax
2364         pushl   %ebx
2365         pushl   %ecx
2366         pushl   %edx
2367         movl    96(%edi),%eax
2368         movl    100(%edi),%ebx
2369         movl    104(%edi),%ecx
2370         movl    108(%edi),%edx
2371         bswap   %eax
2372         bswap   %ebx
2373         bswap   %ecx
2374         bswap   %edx
2375         pushl   %eax
2376         pushl   %ebx
2377         pushl   %ecx
2378         pushl   %edx
2379         movl    112(%edi),%eax
2380         movl    116(%edi),%ebx
2381         movl    120(%edi),%ecx
2382         movl    124(%edi),%edx
2383         bswap   %eax
2384         bswap   %ebx
2385         bswap   %ecx
2386         bswap   %edx
2387         pushl   %eax
2388         pushl   %ebx
2389         pushl   %ecx
2390         pushl   %edx
2391         addl    $128,%edi
2392         subl    $72,%esp
2393         movl    %edi,204(%esp)
2394         leal    8(%esp),%edi
2395         movl    $16,%ecx
2396 .long   2784229001
2397 .align  16
2398 .L00900_15_x86:
2399         movl    40(%esp),%ecx
2400         movl    44(%esp),%edx
2401         movl    %ecx,%esi
2402         shrl    $9,%ecx
2403         movl    %edx,%edi
2404         shrl    $9,%edx
2405         movl    %ecx,%ebx
2406         shll    $14,%esi
2407         movl    %edx,%eax
2408         shll    $14,%edi
2409         xorl    %esi,%ebx
2410         shrl    $5,%ecx
2411         xorl    %edi,%eax
2412         shrl    $5,%edx
2413         xorl    %ecx,%eax
2414         shll    $4,%esi
2415         xorl    %edx,%ebx
2416         shll    $4,%edi
2417         xorl    %esi,%ebx
2418         shrl    $4,%ecx
2419         xorl    %edi,%eax
2420         shrl    $4,%edx
2421         xorl    %ecx,%eax
2422         shll    $5,%esi
2423         xorl    %edx,%ebx
2424         shll    $5,%edi
2425         xorl    %esi,%eax
2426         xorl    %edi,%ebx
2427         movl    48(%esp),%ecx
2428         movl    52(%esp),%edx
2429         movl    56(%esp),%esi
2430         movl    60(%esp),%edi
2431         addl    64(%esp),%eax
2432         adcl    68(%esp),%ebx
2433         xorl    %esi,%ecx
2434         xorl    %edi,%edx
2435         andl    40(%esp),%ecx
2436         andl    44(%esp),%edx
2437         addl    192(%esp),%eax
2438         adcl    196(%esp),%ebx
2439         xorl    %esi,%ecx
2440         xorl    %edi,%edx
2441         movl    (%ebp),%esi
2442         movl    4(%ebp),%edi
2443         addl    %ecx,%eax
2444         adcl    %edx,%ebx
2445         movl    32(%esp),%ecx
2446         movl    36(%esp),%edx
2447         addl    %esi,%eax
2448         adcl    %edi,%ebx
2449         movl    %eax,(%esp)
2450         movl    %ebx,4(%esp)
2451         addl    %ecx,%eax
2452         adcl    %edx,%ebx
2453         movl    8(%esp),%ecx
2454         movl    12(%esp),%edx
2455         movl    %eax,32(%esp)
2456         movl    %ebx,36(%esp)
2457         movl    %ecx,%esi
2458         shrl    $2,%ecx
2459         movl    %edx,%edi
2460         shrl    $2,%edx
2461         movl    %ecx,%ebx
2462         shll    $4,%esi
2463         movl    %edx,%eax
2464         shll    $4,%edi
2465         xorl    %esi,%ebx
2466         shrl    $5,%ecx
2467         xorl    %edi,%eax
2468         shrl    $5,%edx
2469         xorl    %ecx,%ebx
2470         shll    $21,%esi
2471         xorl    %edx,%eax
2472         shll    $21,%edi
2473         xorl    %esi,%eax
2474         shrl    $21,%ecx
2475         xorl    %edi,%ebx
2476         shrl    $21,%edx
2477         xorl    %ecx,%eax
2478         shll    $5,%esi
2479         xorl    %edx,%ebx
2480         shll    $5,%edi
2481         xorl    %esi,%eax
2482         xorl    %edi,%ebx
2483         movl    8(%esp),%ecx
2484         movl    12(%esp),%edx
2485         movl    16(%esp),%esi
2486         movl    20(%esp),%edi
2487         addl    (%esp),%eax
2488         adcl    4(%esp),%ebx
2489         orl     %esi,%ecx
2490         orl     %edi,%edx
2491         andl    24(%esp),%ecx
2492         andl    28(%esp),%edx
2493         andl    8(%esp),%esi
2494         andl    12(%esp),%edi
2495         orl     %esi,%ecx
2496         orl     %edi,%edx
2497         addl    %ecx,%eax
2498         adcl    %edx,%ebx
2499         movl    %eax,(%esp)
2500         movl    %ebx,4(%esp)
2501         movb    (%ebp),%dl
2502         subl    $8,%esp
2503         leal    8(%ebp),%ebp
2504         cmpb    $148,%dl
2505         jne     .L00900_15_x86
2506 .align  16
2507 .L01016_79_x86:
2508         movl    312(%esp),%ecx
2509         movl    316(%esp),%edx
2510         movl    %ecx,%esi
2511         shrl    $1,%ecx
2512         movl    %edx,%edi
2513         shrl    $1,%edx
2514         movl    %ecx,%eax
2515         shll    $24,%esi
2516         movl    %edx,%ebx
2517         shll    $24,%edi
2518         xorl    %esi,%ebx
2519         shrl    $6,%ecx
2520         xorl    %edi,%eax
2521         shrl    $6,%edx
2522         xorl    %ecx,%eax
2523         shll    $7,%esi
2524         xorl    %edx,%ebx
2525         shll    $1,%edi
2526         xorl    %esi,%ebx
2527         shrl    $1,%ecx
2528         xorl    %edi,%eax
2529         shrl    $1,%edx
2530         xorl    %ecx,%eax
2531         shll    $6,%edi
2532         xorl    %edx,%ebx
2533         xorl    %edi,%eax
2534         movl    %eax,(%esp)
2535         movl    %ebx,4(%esp)
2536         movl    208(%esp),%ecx
2537         movl    212(%esp),%edx
2538         movl    %ecx,%esi
2539         shrl    $6,%ecx
2540         movl    %edx,%edi
2541         shrl    $6,%edx
2542         movl    %ecx,%eax
2543         shll    $3,%esi
2544         movl    %edx,%ebx
2545         shll    $3,%edi
2546         xorl    %esi,%eax
2547         shrl    $13,%ecx
2548         xorl    %edi,%ebx
2549         shrl    $13,%edx
2550         xorl    %ecx,%eax
2551         shll    $10,%esi
2552         xorl    %edx,%ebx
2553         shll    $10,%edi
2554         xorl    %esi,%ebx
2555         shrl    $10,%ecx
2556         xorl    %edi,%eax
2557         shrl    $10,%edx
2558         xorl    %ecx,%ebx
2559         shll    $13,%edi
2560         xorl    %edx,%eax
2561         xorl    %edi,%eax
2562         movl    320(%esp),%ecx
2563         movl    324(%esp),%edx
2564         addl    (%esp),%eax
2565         adcl    4(%esp),%ebx
2566         movl    248(%esp),%esi
2567         movl    252(%esp),%edi
2568         addl    %ecx,%eax
2569         adcl    %edx,%ebx
2570         addl    %esi,%eax
2571         adcl    %edi,%ebx
2572         movl    %eax,192(%esp)
2573         movl    %ebx,196(%esp)
2574         movl    40(%esp),%ecx
2575         movl    44(%esp),%edx
2576         movl    %ecx,%esi
2577         shrl    $9,%ecx
2578         movl    %edx,%edi
2579         shrl    $9,%edx
2580         movl    %ecx,%ebx
2581         shll    $14,%esi
2582         movl    %edx,%eax
2583         shll    $14,%edi
2584         xorl    %esi,%ebx
2585         shrl    $5,%ecx
2586         xorl    %edi,%eax
2587         shrl    $5,%edx
2588         xorl    %ecx,%eax
2589         shll    $4,%esi
2590         xorl    %edx,%ebx
2591         shll    $4,%edi
2592         xorl    %esi,%ebx
2593         shrl    $4,%ecx
2594         xorl    %edi,%eax
2595         shrl    $4,%edx
2596         xorl    %ecx,%eax
2597         shll    $5,%esi
2598         xorl    %edx,%ebx
2599         shll    $5,%edi
2600         xorl    %esi,%eax
2601         xorl    %edi,%ebx
2602         movl    48(%esp),%ecx
2603         movl    52(%esp),%edx
2604         movl    56(%esp),%esi
2605         movl    60(%esp),%edi
2606         addl    64(%esp),%eax
2607         adcl    68(%esp),%ebx
2608         xorl    %esi,%ecx
2609         xorl    %edi,%edx
2610         andl    40(%esp),%ecx
2611         andl    44(%esp),%edx
2612         addl    192(%esp),%eax
2613         adcl    196(%esp),%ebx
2614         xorl    %esi,%ecx
2615         xorl    %edi,%edx
2616         movl    (%ebp),%esi
2617         movl    4(%ebp),%edi
2618         addl    %ecx,%eax
2619         adcl    %edx,%ebx
2620         movl    32(%esp),%ecx
2621         movl    36(%esp),%edx
2622         addl    %esi,%eax
2623         adcl    %edi,%ebx
2624         movl    %eax,(%esp)
2625         movl    %ebx,4(%esp)
2626         addl    %ecx,%eax
2627         adcl    %edx,%ebx
2628         movl    8(%esp),%ecx
2629         movl    12(%esp),%edx
2630         movl    %eax,32(%esp)
2631         movl    %ebx,36(%esp)
2632         movl    %ecx,%esi
2633         shrl    $2,%ecx
2634         movl    %edx,%edi
2635         shrl    $2,%edx
2636         movl    %ecx,%ebx
2637         shll    $4,%esi
2638         movl    %edx,%eax
2639         shll    $4,%edi
2640         xorl    %esi,%ebx
2641         shrl    $5,%ecx
2642         xorl    %edi,%eax
2643         shrl    $5,%edx
2644         xorl    %ecx,%ebx
2645         shll    $21,%esi
2646         xorl    %edx,%eax
2647         shll    $21,%edi
2648         xorl    %esi,%eax
2649         shrl    $21,%ecx
2650         xorl    %edi,%ebx
2651         shrl    $21,%edx
2652         xorl    %ecx,%eax
2653         shll    $5,%esi
2654         xorl    %edx,%ebx
2655         shll    $5,%edi
2656         xorl    %esi,%eax
2657         xorl    %edi,%ebx
2658         movl    8(%esp),%ecx
2659         movl    12(%esp),%edx
2660         movl    16(%esp),%esi
2661         movl    20(%esp),%edi
2662         addl    (%esp),%eax
2663         adcl    4(%esp),%ebx
2664         orl     %esi,%ecx
2665         orl     %edi,%edx
2666         andl    24(%esp),%ecx
2667         andl    28(%esp),%edx
2668         andl    8(%esp),%esi
2669         andl    12(%esp),%edi
2670         orl     %esi,%ecx
2671         orl     %edi,%edx
2672         addl    %ecx,%eax
2673         adcl    %edx,%ebx
2674         movl    %eax,(%esp)
2675         movl    %ebx,4(%esp)
2676         movb    (%ebp),%dl
2677         subl    $8,%esp
2678         leal    8(%ebp),%ebp
2679         cmpb    $23,%dl
2680         jne     .L01016_79_x86
2681         movl    840(%esp),%esi
2682         movl    844(%esp),%edi
2683         movl    (%esi),%eax
2684         movl    4(%esi),%ebx
2685         movl    8(%esi),%ecx
2686         movl    12(%esi),%edx
2687         addl    8(%esp),%eax
2688         adcl    12(%esp),%ebx
2689         movl    %eax,(%esi)
2690         movl    %ebx,4(%esi)
2691         addl    16(%esp),%ecx
2692         adcl    20(%esp),%edx
2693         movl    %ecx,8(%esi)
2694         movl    %edx,12(%esi)
2695         movl    16(%esi),%eax
2696         movl    20(%esi),%ebx
2697         movl    24(%esi),%ecx
2698         movl    28(%esi),%edx
2699         addl    24(%esp),%eax
2700         adcl    28(%esp),%ebx
2701         movl    %eax,16(%esi)
2702         movl    %ebx,20(%esi)
2703         addl    32(%esp),%ecx
2704         adcl    36(%esp),%edx
2705         movl    %ecx,24(%esi)
2706         movl    %edx,28(%esi)
2707         movl    32(%esi),%eax
2708         movl    36(%esi),%ebx
2709         movl    40(%esi),%ecx
2710         movl    44(%esi),%edx
2711         addl    40(%esp),%eax
2712         adcl    44(%esp),%ebx
2713         movl    %eax,32(%esi)
2714         movl    %ebx,36(%esi)
2715         addl    48(%esp),%ecx
2716         adcl    52(%esp),%edx
2717         movl    %ecx,40(%esi)
2718         movl    %edx,44(%esi)
2719         movl    48(%esi),%eax
2720         movl    52(%esi),%ebx
2721         movl    56(%esi),%ecx
2722         movl    60(%esi),%edx
2723         addl    56(%esp),%eax
2724         adcl    60(%esp),%ebx
2725         movl    %eax,48(%esi)
2726         movl    %ebx,52(%esi)
2727         addl    64(%esp),%ecx
2728         adcl    68(%esp),%edx
2729         movl    %ecx,56(%esi)
2730         movl    %edx,60(%esi)
2731         addl    $840,%esp
2732         subl    $640,%ebp
2733         cmpl    8(%esp),%edi
2734         jb      .L002loop_x86
2735         movl    12(%esp),%esp
2736         popl    %edi
2737         popl    %esi
2738         popl    %ebx
2739         popl    %ebp
2740         ret
2741 .align  64
2742 .L001K512:
2743 .long   3609767458,1116352408
2744 .long   602891725,1899447441
2745 .long   3964484399,3049323471
2746 .long   2173295548,3921009573
2747 .long   4081628472,961987163
2748 .long   3053834265,1508970993
2749 .long   2937671579,2453635748
2750 .long   3664609560,2870763221
2751 .long   2734883394,3624381080
2752 .long   1164996542,310598401
2753 .long   1323610764,607225278
2754 .long   3590304994,1426881987
2755 .long   4068182383,1925078388
2756 .long   991336113,2162078206
2757 .long   633803317,2614888103
2758 .long   3479774868,3248222580
2759 .long   2666613458,3835390401
2760 .long   944711139,4022224774
2761 .long   2341262773,264347078
2762 .long   2007800933,604807628
2763 .long   1495990901,770255983
2764 .long   1856431235,1249150122
2765 .long   3175218132,1555081692
2766 .long   2198950837,1996064986
2767 .long   3999719339,2554220882
2768 .long   766784016,2821834349
2769 .long   2566594879,2952996808
2770 .long   3203337956,3210313671
2771 .long   1034457026,3336571891
2772 .long   2466948901,3584528711
2773 .long   3758326383,113926993
2774 .long   168717936,338241895
2775 .long   1188179964,666307205
2776 .long   1546045734,773529912
2777 .long   1522805485,1294757372
2778 .long   2643833823,1396182291
2779 .long   2343527390,1695183700
2780 .long   1014477480,1986661051
2781 .long   1206759142,2177026350
2782 .long   344077627,2456956037
2783 .long   1290863460,2730485921
2784 .long   3158454273,2820302411
2785 .long   3505952657,3259730800
2786 .long   106217008,3345764771
2787 .long   3606008344,3516065817
2788 .long   1432725776,3600352804
2789 .long   1467031594,4094571909
2790 .long   851169720,275423344
2791 .long   3100823752,430227734
2792 .long   1363258195,506948616
2793 .long   3750685593,659060556
2794 .long   3785050280,883997877
2795 .long   3318307427,958139571
2796 .long   3812723403,1322822218
2797 .long   2003034995,1537002063
2798 .long   3602036899,1747873779
2799 .long   1575990012,1955562222
2800 .long   1125592928,2024104815
2801 .long   2716904306,2227730452
2802 .long   442776044,2361852424
2803 .long   593698344,2428436474
2804 .long   3733110249,2756734187
2805 .long   2999351573,3204031479
2806 .long   3815920427,3329325298
2807 .long   3928383900,3391569614
2808 .long   566280711,3515267271
2809 .long   3454069534,3940187606
2810 .long   4000239992,4118630271
2811 .long   1914138554,116418474
2812 .long   2731055270,174292421
2813 .long   3203993006,289380356
2814 .long   320620315,460393269
2815 .long   587496836,685471733
2816 .long   1086792851,852142971
2817 .long   365543100,1017036298
2818 .long   2618297676,1126000580
2819 .long   3409855158,1288033470
2820 .long   4234509866,1501505948
2821 .long   987167468,1607167915
2822 .long   1246189591,1816402316
2823 .long   67438087,66051
2824 .long   202182159,134810123
2825 .size   sha512_block_data_order,.-.L_sha512_block_data_order_begin
2826 .byte   83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97
2827 .byte   110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
2828 .byte   67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
2829 .byte   112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
2830 .byte   62,0
2831 #endif