Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / third_party / boringssl / mac-x86_64 / crypto / sha / sha256-x86_64.S
blobda02d4c2dc952a21979b4827ee4ab22447962111
1 #if defined(__x86_64__)
2 .text   
5 .globl  _sha256_block_data_order
6 .private_extern _sha256_block_data_order
8 .p2align        4
9 _sha256_block_data_order:
10         leaq    _OPENSSL_ia32cap_P(%rip),%r11
11         movl    0(%r11),%r9d
12         movl    4(%r11),%r10d
13         movl    8(%r11),%r11d
14         testl   $512,%r10d
15         jnz     L$ssse3_shortcut
16         pushq   %rbx
17         pushq   %rbp
18         pushq   %r12
19         pushq   %r13
20         pushq   %r14
21         pushq   %r15
22         movq    %rsp,%r11
23         shlq    $4,%rdx
24         subq    $64+32,%rsp
25         leaq    (%rsi,%rdx,4),%rdx
26         andq    $-64,%rsp
27         movq    %rdi,64+0(%rsp)
28         movq    %rsi,64+8(%rsp)
29         movq    %rdx,64+16(%rsp)
30         movq    %r11,64+24(%rsp)
31 L$prologue:
33         movl    0(%rdi),%eax
34         movl    4(%rdi),%ebx
35         movl    8(%rdi),%ecx
36         movl    12(%rdi),%edx
37         movl    16(%rdi),%r8d
38         movl    20(%rdi),%r9d
39         movl    24(%rdi),%r10d
40         movl    28(%rdi),%r11d
41         jmp     L$loop
43 .p2align        4
44 L$loop:
45         movl    %ebx,%edi
46         leaq    K256(%rip),%rbp
47         xorl    %ecx,%edi
48         movl    0(%rsi),%r12d
49         movl    %r8d,%r13d
50         movl    %eax,%r14d
51         bswapl  %r12d
52         rorl    $14,%r13d
53         movl    %r9d,%r15d
55         xorl    %r8d,%r13d
56         rorl    $9,%r14d
57         xorl    %r10d,%r15d
59         movl    %r12d,0(%rsp)
60         xorl    %eax,%r14d
61         andl    %r8d,%r15d
63         rorl    $5,%r13d
64         addl    %r11d,%r12d
65         xorl    %r10d,%r15d
67         rorl    $11,%r14d
68         xorl    %r8d,%r13d
69         addl    %r15d,%r12d
71         movl    %eax,%r15d
72         addl    (%rbp),%r12d
73         xorl    %eax,%r14d
75         xorl    %ebx,%r15d
76         rorl    $6,%r13d
77         movl    %ebx,%r11d
79         andl    %r15d,%edi
80         rorl    $2,%r14d
81         addl    %r13d,%r12d
83         xorl    %edi,%r11d
84         addl    %r12d,%edx
85         addl    %r12d,%r11d
87         leaq    4(%rbp),%rbp
88         addl    %r14d,%r11d
89         movl    4(%rsi),%r12d
90         movl    %edx,%r13d
91         movl    %r11d,%r14d
92         bswapl  %r12d
93         rorl    $14,%r13d
94         movl    %r8d,%edi
96         xorl    %edx,%r13d
97         rorl    $9,%r14d
98         xorl    %r9d,%edi
100         movl    %r12d,4(%rsp)
101         xorl    %r11d,%r14d
102         andl    %edx,%edi
104         rorl    $5,%r13d
105         addl    %r10d,%r12d
106         xorl    %r9d,%edi
108         rorl    $11,%r14d
109         xorl    %edx,%r13d
110         addl    %edi,%r12d
112         movl    %r11d,%edi
113         addl    (%rbp),%r12d
114         xorl    %r11d,%r14d
116         xorl    %eax,%edi
117         rorl    $6,%r13d
118         movl    %eax,%r10d
120         andl    %edi,%r15d
121         rorl    $2,%r14d
122         addl    %r13d,%r12d
124         xorl    %r15d,%r10d
125         addl    %r12d,%ecx
126         addl    %r12d,%r10d
128         leaq    4(%rbp),%rbp
129         addl    %r14d,%r10d
130         movl    8(%rsi),%r12d
131         movl    %ecx,%r13d
132         movl    %r10d,%r14d
133         bswapl  %r12d
134         rorl    $14,%r13d
135         movl    %edx,%r15d
137         xorl    %ecx,%r13d
138         rorl    $9,%r14d
139         xorl    %r8d,%r15d
141         movl    %r12d,8(%rsp)
142         xorl    %r10d,%r14d
143         andl    %ecx,%r15d
145         rorl    $5,%r13d
146         addl    %r9d,%r12d
147         xorl    %r8d,%r15d
149         rorl    $11,%r14d
150         xorl    %ecx,%r13d
151         addl    %r15d,%r12d
153         movl    %r10d,%r15d
154         addl    (%rbp),%r12d
155         xorl    %r10d,%r14d
157         xorl    %r11d,%r15d
158         rorl    $6,%r13d
159         movl    %r11d,%r9d
161         andl    %r15d,%edi
162         rorl    $2,%r14d
163         addl    %r13d,%r12d
165         xorl    %edi,%r9d
166         addl    %r12d,%ebx
167         addl    %r12d,%r9d
169         leaq    4(%rbp),%rbp
170         addl    %r14d,%r9d
171         movl    12(%rsi),%r12d
172         movl    %ebx,%r13d
173         movl    %r9d,%r14d
174         bswapl  %r12d
175         rorl    $14,%r13d
176         movl    %ecx,%edi
178         xorl    %ebx,%r13d
179         rorl    $9,%r14d
180         xorl    %edx,%edi
182         movl    %r12d,12(%rsp)
183         xorl    %r9d,%r14d
184         andl    %ebx,%edi
186         rorl    $5,%r13d
187         addl    %r8d,%r12d
188         xorl    %edx,%edi
190         rorl    $11,%r14d
191         xorl    %ebx,%r13d
192         addl    %edi,%r12d
194         movl    %r9d,%edi
195         addl    (%rbp),%r12d
196         xorl    %r9d,%r14d
198         xorl    %r10d,%edi
199         rorl    $6,%r13d
200         movl    %r10d,%r8d
202         andl    %edi,%r15d
203         rorl    $2,%r14d
204         addl    %r13d,%r12d
206         xorl    %r15d,%r8d
207         addl    %r12d,%eax
208         addl    %r12d,%r8d
210         leaq    20(%rbp),%rbp
211         addl    %r14d,%r8d
212         movl    16(%rsi),%r12d
213         movl    %eax,%r13d
214         movl    %r8d,%r14d
215         bswapl  %r12d
216         rorl    $14,%r13d
217         movl    %ebx,%r15d
219         xorl    %eax,%r13d
220         rorl    $9,%r14d
221         xorl    %ecx,%r15d
223         movl    %r12d,16(%rsp)
224         xorl    %r8d,%r14d
225         andl    %eax,%r15d
227         rorl    $5,%r13d
228         addl    %edx,%r12d
229         xorl    %ecx,%r15d
231         rorl    $11,%r14d
232         xorl    %eax,%r13d
233         addl    %r15d,%r12d
235         movl    %r8d,%r15d
236         addl    (%rbp),%r12d
237         xorl    %r8d,%r14d
239         xorl    %r9d,%r15d
240         rorl    $6,%r13d
241         movl    %r9d,%edx
243         andl    %r15d,%edi
244         rorl    $2,%r14d
245         addl    %r13d,%r12d
247         xorl    %edi,%edx
248         addl    %r12d,%r11d
249         addl    %r12d,%edx
251         leaq    4(%rbp),%rbp
252         addl    %r14d,%edx
253         movl    20(%rsi),%r12d
254         movl    %r11d,%r13d
255         movl    %edx,%r14d
256         bswapl  %r12d
257         rorl    $14,%r13d
258         movl    %eax,%edi
260         xorl    %r11d,%r13d
261         rorl    $9,%r14d
262         xorl    %ebx,%edi
264         movl    %r12d,20(%rsp)
265         xorl    %edx,%r14d
266         andl    %r11d,%edi
268         rorl    $5,%r13d
269         addl    %ecx,%r12d
270         xorl    %ebx,%edi
272         rorl    $11,%r14d
273         xorl    %r11d,%r13d
274         addl    %edi,%r12d
276         movl    %edx,%edi
277         addl    (%rbp),%r12d
278         xorl    %edx,%r14d
280         xorl    %r8d,%edi
281         rorl    $6,%r13d
282         movl    %r8d,%ecx
284         andl    %edi,%r15d
285         rorl    $2,%r14d
286         addl    %r13d,%r12d
288         xorl    %r15d,%ecx
289         addl    %r12d,%r10d
290         addl    %r12d,%ecx
292         leaq    4(%rbp),%rbp
293         addl    %r14d,%ecx
294         movl    24(%rsi),%r12d
295         movl    %r10d,%r13d
296         movl    %ecx,%r14d
297         bswapl  %r12d
298         rorl    $14,%r13d
299         movl    %r11d,%r15d
301         xorl    %r10d,%r13d
302         rorl    $9,%r14d
303         xorl    %eax,%r15d
305         movl    %r12d,24(%rsp)
306         xorl    %ecx,%r14d
307         andl    %r10d,%r15d
309         rorl    $5,%r13d
310         addl    %ebx,%r12d
311         xorl    %eax,%r15d
313         rorl    $11,%r14d
314         xorl    %r10d,%r13d
315         addl    %r15d,%r12d
317         movl    %ecx,%r15d
318         addl    (%rbp),%r12d
319         xorl    %ecx,%r14d
321         xorl    %edx,%r15d
322         rorl    $6,%r13d
323         movl    %edx,%ebx
325         andl    %r15d,%edi
326         rorl    $2,%r14d
327         addl    %r13d,%r12d
329         xorl    %edi,%ebx
330         addl    %r12d,%r9d
331         addl    %r12d,%ebx
333         leaq    4(%rbp),%rbp
334         addl    %r14d,%ebx
335         movl    28(%rsi),%r12d
336         movl    %r9d,%r13d
337         movl    %ebx,%r14d
338         bswapl  %r12d
339         rorl    $14,%r13d
340         movl    %r10d,%edi
342         xorl    %r9d,%r13d
343         rorl    $9,%r14d
344         xorl    %r11d,%edi
346         movl    %r12d,28(%rsp)
347         xorl    %ebx,%r14d
348         andl    %r9d,%edi
350         rorl    $5,%r13d
351         addl    %eax,%r12d
352         xorl    %r11d,%edi
354         rorl    $11,%r14d
355         xorl    %r9d,%r13d
356         addl    %edi,%r12d
358         movl    %ebx,%edi
359         addl    (%rbp),%r12d
360         xorl    %ebx,%r14d
362         xorl    %ecx,%edi
363         rorl    $6,%r13d
364         movl    %ecx,%eax
366         andl    %edi,%r15d
367         rorl    $2,%r14d
368         addl    %r13d,%r12d
370         xorl    %r15d,%eax
371         addl    %r12d,%r8d
372         addl    %r12d,%eax
374         leaq    20(%rbp),%rbp
375         addl    %r14d,%eax
376         movl    32(%rsi),%r12d
377         movl    %r8d,%r13d
378         movl    %eax,%r14d
379         bswapl  %r12d
380         rorl    $14,%r13d
381         movl    %r9d,%r15d
383         xorl    %r8d,%r13d
384         rorl    $9,%r14d
385         xorl    %r10d,%r15d
387         movl    %r12d,32(%rsp)
388         xorl    %eax,%r14d
389         andl    %r8d,%r15d
391         rorl    $5,%r13d
392         addl    %r11d,%r12d
393         xorl    %r10d,%r15d
395         rorl    $11,%r14d
396         xorl    %r8d,%r13d
397         addl    %r15d,%r12d
399         movl    %eax,%r15d
400         addl    (%rbp),%r12d
401         xorl    %eax,%r14d
403         xorl    %ebx,%r15d
404         rorl    $6,%r13d
405         movl    %ebx,%r11d
407         andl    %r15d,%edi
408         rorl    $2,%r14d
409         addl    %r13d,%r12d
411         xorl    %edi,%r11d
412         addl    %r12d,%edx
413         addl    %r12d,%r11d
415         leaq    4(%rbp),%rbp
416         addl    %r14d,%r11d
417         movl    36(%rsi),%r12d
418         movl    %edx,%r13d
419         movl    %r11d,%r14d
420         bswapl  %r12d
421         rorl    $14,%r13d
422         movl    %r8d,%edi
424         xorl    %edx,%r13d
425         rorl    $9,%r14d
426         xorl    %r9d,%edi
428         movl    %r12d,36(%rsp)
429         xorl    %r11d,%r14d
430         andl    %edx,%edi
432         rorl    $5,%r13d
433         addl    %r10d,%r12d
434         xorl    %r9d,%edi
436         rorl    $11,%r14d
437         xorl    %edx,%r13d
438         addl    %edi,%r12d
440         movl    %r11d,%edi
441         addl    (%rbp),%r12d
442         xorl    %r11d,%r14d
444         xorl    %eax,%edi
445         rorl    $6,%r13d
446         movl    %eax,%r10d
448         andl    %edi,%r15d
449         rorl    $2,%r14d
450         addl    %r13d,%r12d
452         xorl    %r15d,%r10d
453         addl    %r12d,%ecx
454         addl    %r12d,%r10d
456         leaq    4(%rbp),%rbp
457         addl    %r14d,%r10d
458         movl    40(%rsi),%r12d
459         movl    %ecx,%r13d
460         movl    %r10d,%r14d
461         bswapl  %r12d
462         rorl    $14,%r13d
463         movl    %edx,%r15d
465         xorl    %ecx,%r13d
466         rorl    $9,%r14d
467         xorl    %r8d,%r15d
469         movl    %r12d,40(%rsp)
470         xorl    %r10d,%r14d
471         andl    %ecx,%r15d
473         rorl    $5,%r13d
474         addl    %r9d,%r12d
475         xorl    %r8d,%r15d
477         rorl    $11,%r14d
478         xorl    %ecx,%r13d
479         addl    %r15d,%r12d
481         movl    %r10d,%r15d
482         addl    (%rbp),%r12d
483         xorl    %r10d,%r14d
485         xorl    %r11d,%r15d
486         rorl    $6,%r13d
487         movl    %r11d,%r9d
489         andl    %r15d,%edi
490         rorl    $2,%r14d
491         addl    %r13d,%r12d
493         xorl    %edi,%r9d
494         addl    %r12d,%ebx
495         addl    %r12d,%r9d
497         leaq    4(%rbp),%rbp
498         addl    %r14d,%r9d
499         movl    44(%rsi),%r12d
500         movl    %ebx,%r13d
501         movl    %r9d,%r14d
502         bswapl  %r12d
503         rorl    $14,%r13d
504         movl    %ecx,%edi
506         xorl    %ebx,%r13d
507         rorl    $9,%r14d
508         xorl    %edx,%edi
510         movl    %r12d,44(%rsp)
511         xorl    %r9d,%r14d
512         andl    %ebx,%edi
514         rorl    $5,%r13d
515         addl    %r8d,%r12d
516         xorl    %edx,%edi
518         rorl    $11,%r14d
519         xorl    %ebx,%r13d
520         addl    %edi,%r12d
522         movl    %r9d,%edi
523         addl    (%rbp),%r12d
524         xorl    %r9d,%r14d
526         xorl    %r10d,%edi
527         rorl    $6,%r13d
528         movl    %r10d,%r8d
530         andl    %edi,%r15d
531         rorl    $2,%r14d
532         addl    %r13d,%r12d
534         xorl    %r15d,%r8d
535         addl    %r12d,%eax
536         addl    %r12d,%r8d
538         leaq    20(%rbp),%rbp
539         addl    %r14d,%r8d
540         movl    48(%rsi),%r12d
541         movl    %eax,%r13d
542         movl    %r8d,%r14d
543         bswapl  %r12d
544         rorl    $14,%r13d
545         movl    %ebx,%r15d
547         xorl    %eax,%r13d
548         rorl    $9,%r14d
549         xorl    %ecx,%r15d
551         movl    %r12d,48(%rsp)
552         xorl    %r8d,%r14d
553         andl    %eax,%r15d
555         rorl    $5,%r13d
556         addl    %edx,%r12d
557         xorl    %ecx,%r15d
559         rorl    $11,%r14d
560         xorl    %eax,%r13d
561         addl    %r15d,%r12d
563         movl    %r8d,%r15d
564         addl    (%rbp),%r12d
565         xorl    %r8d,%r14d
567         xorl    %r9d,%r15d
568         rorl    $6,%r13d
569         movl    %r9d,%edx
571         andl    %r15d,%edi
572         rorl    $2,%r14d
573         addl    %r13d,%r12d
575         xorl    %edi,%edx
576         addl    %r12d,%r11d
577         addl    %r12d,%edx
579         leaq    4(%rbp),%rbp
580         addl    %r14d,%edx
581         movl    52(%rsi),%r12d
582         movl    %r11d,%r13d
583         movl    %edx,%r14d
584         bswapl  %r12d
585         rorl    $14,%r13d
586         movl    %eax,%edi
588         xorl    %r11d,%r13d
589         rorl    $9,%r14d
590         xorl    %ebx,%edi
592         movl    %r12d,52(%rsp)
593         xorl    %edx,%r14d
594         andl    %r11d,%edi
596         rorl    $5,%r13d
597         addl    %ecx,%r12d
598         xorl    %ebx,%edi
600         rorl    $11,%r14d
601         xorl    %r11d,%r13d
602         addl    %edi,%r12d
604         movl    %edx,%edi
605         addl    (%rbp),%r12d
606         xorl    %edx,%r14d
608         xorl    %r8d,%edi
609         rorl    $6,%r13d
610         movl    %r8d,%ecx
612         andl    %edi,%r15d
613         rorl    $2,%r14d
614         addl    %r13d,%r12d
616         xorl    %r15d,%ecx
617         addl    %r12d,%r10d
618         addl    %r12d,%ecx
620         leaq    4(%rbp),%rbp
621         addl    %r14d,%ecx
622         movl    56(%rsi),%r12d
623         movl    %r10d,%r13d
624         movl    %ecx,%r14d
625         bswapl  %r12d
626         rorl    $14,%r13d
627         movl    %r11d,%r15d
629         xorl    %r10d,%r13d
630         rorl    $9,%r14d
631         xorl    %eax,%r15d
633         movl    %r12d,56(%rsp)
634         xorl    %ecx,%r14d
635         andl    %r10d,%r15d
637         rorl    $5,%r13d
638         addl    %ebx,%r12d
639         xorl    %eax,%r15d
641         rorl    $11,%r14d
642         xorl    %r10d,%r13d
643         addl    %r15d,%r12d
645         movl    %ecx,%r15d
646         addl    (%rbp),%r12d
647         xorl    %ecx,%r14d
649         xorl    %edx,%r15d
650         rorl    $6,%r13d
651         movl    %edx,%ebx
653         andl    %r15d,%edi
654         rorl    $2,%r14d
655         addl    %r13d,%r12d
657         xorl    %edi,%ebx
658         addl    %r12d,%r9d
659         addl    %r12d,%ebx
661         leaq    4(%rbp),%rbp
662         addl    %r14d,%ebx
663         movl    60(%rsi),%r12d
664         movl    %r9d,%r13d
665         movl    %ebx,%r14d
666         bswapl  %r12d
667         rorl    $14,%r13d
668         movl    %r10d,%edi
670         xorl    %r9d,%r13d
671         rorl    $9,%r14d
672         xorl    %r11d,%edi
674         movl    %r12d,60(%rsp)
675         xorl    %ebx,%r14d
676         andl    %r9d,%edi
678         rorl    $5,%r13d
679         addl    %eax,%r12d
680         xorl    %r11d,%edi
682         rorl    $11,%r14d
683         xorl    %r9d,%r13d
684         addl    %edi,%r12d
686         movl    %ebx,%edi
687         addl    (%rbp),%r12d
688         xorl    %ebx,%r14d
690         xorl    %ecx,%edi
691         rorl    $6,%r13d
692         movl    %ecx,%eax
694         andl    %edi,%r15d
695         rorl    $2,%r14d
696         addl    %r13d,%r12d
698         xorl    %r15d,%eax
699         addl    %r12d,%r8d
700         addl    %r12d,%eax
702         leaq    20(%rbp),%rbp
703         jmp     L$rounds_16_xx
704 .p2align        4
705 L$rounds_16_xx:
706         movl    4(%rsp),%r13d
707         movl    56(%rsp),%r15d
709         movl    %r13d,%r12d
710         rorl    $11,%r13d
711         addl    %r14d,%eax
712         movl    %r15d,%r14d
713         rorl    $2,%r15d
715         xorl    %r12d,%r13d
716         shrl    $3,%r12d
717         rorl    $7,%r13d
718         xorl    %r14d,%r15d
719         shrl    $10,%r14d
721         rorl    $17,%r15d
722         xorl    %r13d,%r12d
723         xorl    %r14d,%r15d
724         addl    36(%rsp),%r12d
726         addl    0(%rsp),%r12d
727         movl    %r8d,%r13d
728         addl    %r15d,%r12d
729         movl    %eax,%r14d
730         rorl    $14,%r13d
731         movl    %r9d,%r15d
733         xorl    %r8d,%r13d
734         rorl    $9,%r14d
735         xorl    %r10d,%r15d
737         movl    %r12d,0(%rsp)
738         xorl    %eax,%r14d
739         andl    %r8d,%r15d
741         rorl    $5,%r13d
742         addl    %r11d,%r12d
743         xorl    %r10d,%r15d
745         rorl    $11,%r14d
746         xorl    %r8d,%r13d
747         addl    %r15d,%r12d
749         movl    %eax,%r15d
750         addl    (%rbp),%r12d
751         xorl    %eax,%r14d
753         xorl    %ebx,%r15d
754         rorl    $6,%r13d
755         movl    %ebx,%r11d
757         andl    %r15d,%edi
758         rorl    $2,%r14d
759         addl    %r13d,%r12d
761         xorl    %edi,%r11d
762         addl    %r12d,%edx
763         addl    %r12d,%r11d
765         leaq    4(%rbp),%rbp
766         movl    8(%rsp),%r13d
767         movl    60(%rsp),%edi
769         movl    %r13d,%r12d
770         rorl    $11,%r13d
771         addl    %r14d,%r11d
772         movl    %edi,%r14d
773         rorl    $2,%edi
775         xorl    %r12d,%r13d
776         shrl    $3,%r12d
777         rorl    $7,%r13d
778         xorl    %r14d,%edi
779         shrl    $10,%r14d
781         rorl    $17,%edi
782         xorl    %r13d,%r12d
783         xorl    %r14d,%edi
784         addl    40(%rsp),%r12d
786         addl    4(%rsp),%r12d
787         movl    %edx,%r13d
788         addl    %edi,%r12d
789         movl    %r11d,%r14d
790         rorl    $14,%r13d
791         movl    %r8d,%edi
793         xorl    %edx,%r13d
794         rorl    $9,%r14d
795         xorl    %r9d,%edi
797         movl    %r12d,4(%rsp)
798         xorl    %r11d,%r14d
799         andl    %edx,%edi
801         rorl    $5,%r13d
802         addl    %r10d,%r12d
803         xorl    %r9d,%edi
805         rorl    $11,%r14d
806         xorl    %edx,%r13d
807         addl    %edi,%r12d
809         movl    %r11d,%edi
810         addl    (%rbp),%r12d
811         xorl    %r11d,%r14d
813         xorl    %eax,%edi
814         rorl    $6,%r13d
815         movl    %eax,%r10d
817         andl    %edi,%r15d
818         rorl    $2,%r14d
819         addl    %r13d,%r12d
821         xorl    %r15d,%r10d
822         addl    %r12d,%ecx
823         addl    %r12d,%r10d
825         leaq    4(%rbp),%rbp
826         movl    12(%rsp),%r13d
827         movl    0(%rsp),%r15d
829         movl    %r13d,%r12d
830         rorl    $11,%r13d
831         addl    %r14d,%r10d
832         movl    %r15d,%r14d
833         rorl    $2,%r15d
835         xorl    %r12d,%r13d
836         shrl    $3,%r12d
837         rorl    $7,%r13d
838         xorl    %r14d,%r15d
839         shrl    $10,%r14d
841         rorl    $17,%r15d
842         xorl    %r13d,%r12d
843         xorl    %r14d,%r15d
844         addl    44(%rsp),%r12d
846         addl    8(%rsp),%r12d
847         movl    %ecx,%r13d
848         addl    %r15d,%r12d
849         movl    %r10d,%r14d
850         rorl    $14,%r13d
851         movl    %edx,%r15d
853         xorl    %ecx,%r13d
854         rorl    $9,%r14d
855         xorl    %r8d,%r15d
857         movl    %r12d,8(%rsp)
858         xorl    %r10d,%r14d
859         andl    %ecx,%r15d
861         rorl    $5,%r13d
862         addl    %r9d,%r12d
863         xorl    %r8d,%r15d
865         rorl    $11,%r14d
866         xorl    %ecx,%r13d
867         addl    %r15d,%r12d
869         movl    %r10d,%r15d
870         addl    (%rbp),%r12d
871         xorl    %r10d,%r14d
873         xorl    %r11d,%r15d
874         rorl    $6,%r13d
875         movl    %r11d,%r9d
877         andl    %r15d,%edi
878         rorl    $2,%r14d
879         addl    %r13d,%r12d
881         xorl    %edi,%r9d
882         addl    %r12d,%ebx
883         addl    %r12d,%r9d
885         leaq    4(%rbp),%rbp
886         movl    16(%rsp),%r13d
887         movl    4(%rsp),%edi
889         movl    %r13d,%r12d
890         rorl    $11,%r13d
891         addl    %r14d,%r9d
892         movl    %edi,%r14d
893         rorl    $2,%edi
895         xorl    %r12d,%r13d
896         shrl    $3,%r12d
897         rorl    $7,%r13d
898         xorl    %r14d,%edi
899         shrl    $10,%r14d
901         rorl    $17,%edi
902         xorl    %r13d,%r12d
903         xorl    %r14d,%edi
904         addl    48(%rsp),%r12d
906         addl    12(%rsp),%r12d
907         movl    %ebx,%r13d
908         addl    %edi,%r12d
909         movl    %r9d,%r14d
910         rorl    $14,%r13d
911         movl    %ecx,%edi
913         xorl    %ebx,%r13d
914         rorl    $9,%r14d
915         xorl    %edx,%edi
917         movl    %r12d,12(%rsp)
918         xorl    %r9d,%r14d
919         andl    %ebx,%edi
921         rorl    $5,%r13d
922         addl    %r8d,%r12d
923         xorl    %edx,%edi
925         rorl    $11,%r14d
926         xorl    %ebx,%r13d
927         addl    %edi,%r12d
929         movl    %r9d,%edi
930         addl    (%rbp),%r12d
931         xorl    %r9d,%r14d
933         xorl    %r10d,%edi
934         rorl    $6,%r13d
935         movl    %r10d,%r8d
937         andl    %edi,%r15d
938         rorl    $2,%r14d
939         addl    %r13d,%r12d
941         xorl    %r15d,%r8d
942         addl    %r12d,%eax
943         addl    %r12d,%r8d
945         leaq    20(%rbp),%rbp
946         movl    20(%rsp),%r13d
947         movl    8(%rsp),%r15d
949         movl    %r13d,%r12d
950         rorl    $11,%r13d
951         addl    %r14d,%r8d
952         movl    %r15d,%r14d
953         rorl    $2,%r15d
955         xorl    %r12d,%r13d
956         shrl    $3,%r12d
957         rorl    $7,%r13d
958         xorl    %r14d,%r15d
959         shrl    $10,%r14d
961         rorl    $17,%r15d
962         xorl    %r13d,%r12d
963         xorl    %r14d,%r15d
964         addl    52(%rsp),%r12d
966         addl    16(%rsp),%r12d
967         movl    %eax,%r13d
968         addl    %r15d,%r12d
969         movl    %r8d,%r14d
970         rorl    $14,%r13d
971         movl    %ebx,%r15d
973         xorl    %eax,%r13d
974         rorl    $9,%r14d
975         xorl    %ecx,%r15d
977         movl    %r12d,16(%rsp)
978         xorl    %r8d,%r14d
979         andl    %eax,%r15d
981         rorl    $5,%r13d
982         addl    %edx,%r12d
983         xorl    %ecx,%r15d
985         rorl    $11,%r14d
986         xorl    %eax,%r13d
987         addl    %r15d,%r12d
989         movl    %r8d,%r15d
990         addl    (%rbp),%r12d
991         xorl    %r8d,%r14d
993         xorl    %r9d,%r15d
994         rorl    $6,%r13d
995         movl    %r9d,%edx
997         andl    %r15d,%edi
998         rorl    $2,%r14d
999         addl    %r13d,%r12d
1001         xorl    %edi,%edx
1002         addl    %r12d,%r11d
1003         addl    %r12d,%edx
1005         leaq    4(%rbp),%rbp
1006         movl    24(%rsp),%r13d
1007         movl    12(%rsp),%edi
1009         movl    %r13d,%r12d
1010         rorl    $11,%r13d
1011         addl    %r14d,%edx
1012         movl    %edi,%r14d
1013         rorl    $2,%edi
1015         xorl    %r12d,%r13d
1016         shrl    $3,%r12d
1017         rorl    $7,%r13d
1018         xorl    %r14d,%edi
1019         shrl    $10,%r14d
1021         rorl    $17,%edi
1022         xorl    %r13d,%r12d
1023         xorl    %r14d,%edi
1024         addl    56(%rsp),%r12d
1026         addl    20(%rsp),%r12d
1027         movl    %r11d,%r13d
1028         addl    %edi,%r12d
1029         movl    %edx,%r14d
1030         rorl    $14,%r13d
1031         movl    %eax,%edi
1033         xorl    %r11d,%r13d
1034         rorl    $9,%r14d
1035         xorl    %ebx,%edi
1037         movl    %r12d,20(%rsp)
1038         xorl    %edx,%r14d
1039         andl    %r11d,%edi
1041         rorl    $5,%r13d
1042         addl    %ecx,%r12d
1043         xorl    %ebx,%edi
1045         rorl    $11,%r14d
1046         xorl    %r11d,%r13d
1047         addl    %edi,%r12d
1049         movl    %edx,%edi
1050         addl    (%rbp),%r12d
1051         xorl    %edx,%r14d
1053         xorl    %r8d,%edi
1054         rorl    $6,%r13d
1055         movl    %r8d,%ecx
1057         andl    %edi,%r15d
1058         rorl    $2,%r14d
1059         addl    %r13d,%r12d
1061         xorl    %r15d,%ecx
1062         addl    %r12d,%r10d
1063         addl    %r12d,%ecx
1065         leaq    4(%rbp),%rbp
1066         movl    28(%rsp),%r13d
1067         movl    16(%rsp),%r15d
1069         movl    %r13d,%r12d
1070         rorl    $11,%r13d
1071         addl    %r14d,%ecx
1072         movl    %r15d,%r14d
1073         rorl    $2,%r15d
1075         xorl    %r12d,%r13d
1076         shrl    $3,%r12d
1077         rorl    $7,%r13d
1078         xorl    %r14d,%r15d
1079         shrl    $10,%r14d
1081         rorl    $17,%r15d
1082         xorl    %r13d,%r12d
1083         xorl    %r14d,%r15d
1084         addl    60(%rsp),%r12d
1086         addl    24(%rsp),%r12d
1087         movl    %r10d,%r13d
1088         addl    %r15d,%r12d
1089         movl    %ecx,%r14d
1090         rorl    $14,%r13d
1091         movl    %r11d,%r15d
1093         xorl    %r10d,%r13d
1094         rorl    $9,%r14d
1095         xorl    %eax,%r15d
1097         movl    %r12d,24(%rsp)
1098         xorl    %ecx,%r14d
1099         andl    %r10d,%r15d
1101         rorl    $5,%r13d
1102         addl    %ebx,%r12d
1103         xorl    %eax,%r15d
1105         rorl    $11,%r14d
1106         xorl    %r10d,%r13d
1107         addl    %r15d,%r12d
1109         movl    %ecx,%r15d
1110         addl    (%rbp),%r12d
1111         xorl    %ecx,%r14d
1113         xorl    %edx,%r15d
1114         rorl    $6,%r13d
1115         movl    %edx,%ebx
1117         andl    %r15d,%edi
1118         rorl    $2,%r14d
1119         addl    %r13d,%r12d
1121         xorl    %edi,%ebx
1122         addl    %r12d,%r9d
1123         addl    %r12d,%ebx
1125         leaq    4(%rbp),%rbp
1126         movl    32(%rsp),%r13d
1127         movl    20(%rsp),%edi
1129         movl    %r13d,%r12d
1130         rorl    $11,%r13d
1131         addl    %r14d,%ebx
1132         movl    %edi,%r14d
1133         rorl    $2,%edi
1135         xorl    %r12d,%r13d
1136         shrl    $3,%r12d
1137         rorl    $7,%r13d
1138         xorl    %r14d,%edi
1139         shrl    $10,%r14d
1141         rorl    $17,%edi
1142         xorl    %r13d,%r12d
1143         xorl    %r14d,%edi
1144         addl    0(%rsp),%r12d
1146         addl    28(%rsp),%r12d
1147         movl    %r9d,%r13d
1148         addl    %edi,%r12d
1149         movl    %ebx,%r14d
1150         rorl    $14,%r13d
1151         movl    %r10d,%edi
1153         xorl    %r9d,%r13d
1154         rorl    $9,%r14d
1155         xorl    %r11d,%edi
1157         movl    %r12d,28(%rsp)
1158         xorl    %ebx,%r14d
1159         andl    %r9d,%edi
1161         rorl    $5,%r13d
1162         addl    %eax,%r12d
1163         xorl    %r11d,%edi
1165         rorl    $11,%r14d
1166         xorl    %r9d,%r13d
1167         addl    %edi,%r12d
1169         movl    %ebx,%edi
1170         addl    (%rbp),%r12d
1171         xorl    %ebx,%r14d
1173         xorl    %ecx,%edi
1174         rorl    $6,%r13d
1175         movl    %ecx,%eax
1177         andl    %edi,%r15d
1178         rorl    $2,%r14d
1179         addl    %r13d,%r12d
1181         xorl    %r15d,%eax
1182         addl    %r12d,%r8d
1183         addl    %r12d,%eax
1185         leaq    20(%rbp),%rbp
1186         movl    36(%rsp),%r13d
1187         movl    24(%rsp),%r15d
1189         movl    %r13d,%r12d
1190         rorl    $11,%r13d
1191         addl    %r14d,%eax
1192         movl    %r15d,%r14d
1193         rorl    $2,%r15d
1195         xorl    %r12d,%r13d
1196         shrl    $3,%r12d
1197         rorl    $7,%r13d
1198         xorl    %r14d,%r15d
1199         shrl    $10,%r14d
1201         rorl    $17,%r15d
1202         xorl    %r13d,%r12d
1203         xorl    %r14d,%r15d
1204         addl    4(%rsp),%r12d
1206         addl    32(%rsp),%r12d
1207         movl    %r8d,%r13d
1208         addl    %r15d,%r12d
1209         movl    %eax,%r14d
1210         rorl    $14,%r13d
1211         movl    %r9d,%r15d
1213         xorl    %r8d,%r13d
1214         rorl    $9,%r14d
1215         xorl    %r10d,%r15d
1217         movl    %r12d,32(%rsp)
1218         xorl    %eax,%r14d
1219         andl    %r8d,%r15d
1221         rorl    $5,%r13d
1222         addl    %r11d,%r12d
1223         xorl    %r10d,%r15d
1225         rorl    $11,%r14d
1226         xorl    %r8d,%r13d
1227         addl    %r15d,%r12d
1229         movl    %eax,%r15d
1230         addl    (%rbp),%r12d
1231         xorl    %eax,%r14d
1233         xorl    %ebx,%r15d
1234         rorl    $6,%r13d
1235         movl    %ebx,%r11d
1237         andl    %r15d,%edi
1238         rorl    $2,%r14d
1239         addl    %r13d,%r12d
1241         xorl    %edi,%r11d
1242         addl    %r12d,%edx
1243         addl    %r12d,%r11d
1245         leaq    4(%rbp),%rbp
1246         movl    40(%rsp),%r13d
1247         movl    28(%rsp),%edi
1249         movl    %r13d,%r12d
1250         rorl    $11,%r13d
1251         addl    %r14d,%r11d
1252         movl    %edi,%r14d
1253         rorl    $2,%edi
1255         xorl    %r12d,%r13d
1256         shrl    $3,%r12d
1257         rorl    $7,%r13d
1258         xorl    %r14d,%edi
1259         shrl    $10,%r14d
1261         rorl    $17,%edi
1262         xorl    %r13d,%r12d
1263         xorl    %r14d,%edi
1264         addl    8(%rsp),%r12d
1266         addl    36(%rsp),%r12d
1267         movl    %edx,%r13d
1268         addl    %edi,%r12d
1269         movl    %r11d,%r14d
1270         rorl    $14,%r13d
1271         movl    %r8d,%edi
1273         xorl    %edx,%r13d
1274         rorl    $9,%r14d
1275         xorl    %r9d,%edi
1277         movl    %r12d,36(%rsp)
1278         xorl    %r11d,%r14d
1279         andl    %edx,%edi
1281         rorl    $5,%r13d
1282         addl    %r10d,%r12d
1283         xorl    %r9d,%edi
1285         rorl    $11,%r14d
1286         xorl    %edx,%r13d
1287         addl    %edi,%r12d
1289         movl    %r11d,%edi
1290         addl    (%rbp),%r12d
1291         xorl    %r11d,%r14d
1293         xorl    %eax,%edi
1294         rorl    $6,%r13d
1295         movl    %eax,%r10d
1297         andl    %edi,%r15d
1298         rorl    $2,%r14d
1299         addl    %r13d,%r12d
1301         xorl    %r15d,%r10d
1302         addl    %r12d,%ecx
1303         addl    %r12d,%r10d
1305         leaq    4(%rbp),%rbp
1306         movl    44(%rsp),%r13d
1307         movl    32(%rsp),%r15d
1309         movl    %r13d,%r12d
1310         rorl    $11,%r13d
1311         addl    %r14d,%r10d
1312         movl    %r15d,%r14d
1313         rorl    $2,%r15d
1315         xorl    %r12d,%r13d
1316         shrl    $3,%r12d
1317         rorl    $7,%r13d
1318         xorl    %r14d,%r15d
1319         shrl    $10,%r14d
1321         rorl    $17,%r15d
1322         xorl    %r13d,%r12d
1323         xorl    %r14d,%r15d
1324         addl    12(%rsp),%r12d
1326         addl    40(%rsp),%r12d
1327         movl    %ecx,%r13d
1328         addl    %r15d,%r12d
1329         movl    %r10d,%r14d
1330         rorl    $14,%r13d
1331         movl    %edx,%r15d
1333         xorl    %ecx,%r13d
1334         rorl    $9,%r14d
1335         xorl    %r8d,%r15d
1337         movl    %r12d,40(%rsp)
1338         xorl    %r10d,%r14d
1339         andl    %ecx,%r15d
1341         rorl    $5,%r13d
1342         addl    %r9d,%r12d
1343         xorl    %r8d,%r15d
1345         rorl    $11,%r14d
1346         xorl    %ecx,%r13d
1347         addl    %r15d,%r12d
1349         movl    %r10d,%r15d
1350         addl    (%rbp),%r12d
1351         xorl    %r10d,%r14d
1353         xorl    %r11d,%r15d
1354         rorl    $6,%r13d
1355         movl    %r11d,%r9d
1357         andl    %r15d,%edi
1358         rorl    $2,%r14d
1359         addl    %r13d,%r12d
1361         xorl    %edi,%r9d
1362         addl    %r12d,%ebx
1363         addl    %r12d,%r9d
1365         leaq    4(%rbp),%rbp
1366         movl    48(%rsp),%r13d
1367         movl    36(%rsp),%edi
1369         movl    %r13d,%r12d
1370         rorl    $11,%r13d
1371         addl    %r14d,%r9d
1372         movl    %edi,%r14d
1373         rorl    $2,%edi
1375         xorl    %r12d,%r13d
1376         shrl    $3,%r12d
1377         rorl    $7,%r13d
1378         xorl    %r14d,%edi
1379         shrl    $10,%r14d
1381         rorl    $17,%edi
1382         xorl    %r13d,%r12d
1383         xorl    %r14d,%edi
1384         addl    16(%rsp),%r12d
1386         addl    44(%rsp),%r12d
1387         movl    %ebx,%r13d
1388         addl    %edi,%r12d
1389         movl    %r9d,%r14d
1390         rorl    $14,%r13d
1391         movl    %ecx,%edi
1393         xorl    %ebx,%r13d
1394         rorl    $9,%r14d
1395         xorl    %edx,%edi
1397         movl    %r12d,44(%rsp)
1398         xorl    %r9d,%r14d
1399         andl    %ebx,%edi
1401         rorl    $5,%r13d
1402         addl    %r8d,%r12d
1403         xorl    %edx,%edi
1405         rorl    $11,%r14d
1406         xorl    %ebx,%r13d
1407         addl    %edi,%r12d
1409         movl    %r9d,%edi
1410         addl    (%rbp),%r12d
1411         xorl    %r9d,%r14d
1413         xorl    %r10d,%edi
1414         rorl    $6,%r13d
1415         movl    %r10d,%r8d
1417         andl    %edi,%r15d
1418         rorl    $2,%r14d
1419         addl    %r13d,%r12d
1421         xorl    %r15d,%r8d
1422         addl    %r12d,%eax
1423         addl    %r12d,%r8d
1425         leaq    20(%rbp),%rbp
1426         movl    52(%rsp),%r13d
1427         movl    40(%rsp),%r15d
1429         movl    %r13d,%r12d
1430         rorl    $11,%r13d
1431         addl    %r14d,%r8d
1432         movl    %r15d,%r14d
1433         rorl    $2,%r15d
1435         xorl    %r12d,%r13d
1436         shrl    $3,%r12d
1437         rorl    $7,%r13d
1438         xorl    %r14d,%r15d
1439         shrl    $10,%r14d
1441         rorl    $17,%r15d
1442         xorl    %r13d,%r12d
1443         xorl    %r14d,%r15d
1444         addl    20(%rsp),%r12d
1446         addl    48(%rsp),%r12d
1447         movl    %eax,%r13d
1448         addl    %r15d,%r12d
1449         movl    %r8d,%r14d
1450         rorl    $14,%r13d
1451         movl    %ebx,%r15d
1453         xorl    %eax,%r13d
1454         rorl    $9,%r14d
1455         xorl    %ecx,%r15d
1457         movl    %r12d,48(%rsp)
1458         xorl    %r8d,%r14d
1459         andl    %eax,%r15d
1461         rorl    $5,%r13d
1462         addl    %edx,%r12d
1463         xorl    %ecx,%r15d
1465         rorl    $11,%r14d
1466         xorl    %eax,%r13d
1467         addl    %r15d,%r12d
1469         movl    %r8d,%r15d
1470         addl    (%rbp),%r12d
1471         xorl    %r8d,%r14d
1473         xorl    %r9d,%r15d
1474         rorl    $6,%r13d
1475         movl    %r9d,%edx
1477         andl    %r15d,%edi
1478         rorl    $2,%r14d
1479         addl    %r13d,%r12d
1481         xorl    %edi,%edx
1482         addl    %r12d,%r11d
1483         addl    %r12d,%edx
1485         leaq    4(%rbp),%rbp
1486         movl    56(%rsp),%r13d
1487         movl    44(%rsp),%edi
1489         movl    %r13d,%r12d
1490         rorl    $11,%r13d
1491         addl    %r14d,%edx
1492         movl    %edi,%r14d
1493         rorl    $2,%edi
1495         xorl    %r12d,%r13d
1496         shrl    $3,%r12d
1497         rorl    $7,%r13d
1498         xorl    %r14d,%edi
1499         shrl    $10,%r14d
1501         rorl    $17,%edi
1502         xorl    %r13d,%r12d
1503         xorl    %r14d,%edi
1504         addl    24(%rsp),%r12d
1506         addl    52(%rsp),%r12d
1507         movl    %r11d,%r13d
1508         addl    %edi,%r12d
1509         movl    %edx,%r14d
1510         rorl    $14,%r13d
1511         movl    %eax,%edi
1513         xorl    %r11d,%r13d
1514         rorl    $9,%r14d
1515         xorl    %ebx,%edi
1517         movl    %r12d,52(%rsp)
1518         xorl    %edx,%r14d
1519         andl    %r11d,%edi
1521         rorl    $5,%r13d
1522         addl    %ecx,%r12d
1523         xorl    %ebx,%edi
1525         rorl    $11,%r14d
1526         xorl    %r11d,%r13d
1527         addl    %edi,%r12d
1529         movl    %edx,%edi
1530         addl    (%rbp),%r12d
1531         xorl    %edx,%r14d
1533         xorl    %r8d,%edi
1534         rorl    $6,%r13d
1535         movl    %r8d,%ecx
1537         andl    %edi,%r15d
1538         rorl    $2,%r14d
1539         addl    %r13d,%r12d
1541         xorl    %r15d,%ecx
1542         addl    %r12d,%r10d
1543         addl    %r12d,%ecx
1545         leaq    4(%rbp),%rbp
1546         movl    60(%rsp),%r13d
1547         movl    48(%rsp),%r15d
1549         movl    %r13d,%r12d
1550         rorl    $11,%r13d
1551         addl    %r14d,%ecx
1552         movl    %r15d,%r14d
1553         rorl    $2,%r15d
1555         xorl    %r12d,%r13d
1556         shrl    $3,%r12d
1557         rorl    $7,%r13d
1558         xorl    %r14d,%r15d
1559         shrl    $10,%r14d
1561         rorl    $17,%r15d
1562         xorl    %r13d,%r12d
1563         xorl    %r14d,%r15d
1564         addl    28(%rsp),%r12d
1566         addl    56(%rsp),%r12d
1567         movl    %r10d,%r13d
1568         addl    %r15d,%r12d
1569         movl    %ecx,%r14d
1570         rorl    $14,%r13d
1571         movl    %r11d,%r15d
1573         xorl    %r10d,%r13d
1574         rorl    $9,%r14d
1575         xorl    %eax,%r15d
1577         movl    %r12d,56(%rsp)
1578         xorl    %ecx,%r14d
1579         andl    %r10d,%r15d
1581         rorl    $5,%r13d
1582         addl    %ebx,%r12d
1583         xorl    %eax,%r15d
1585         rorl    $11,%r14d
1586         xorl    %r10d,%r13d
1587         addl    %r15d,%r12d
1589         movl    %ecx,%r15d
1590         addl    (%rbp),%r12d
1591         xorl    %ecx,%r14d
1593         xorl    %edx,%r15d
1594         rorl    $6,%r13d
1595         movl    %edx,%ebx
1597         andl    %r15d,%edi
1598         rorl    $2,%r14d
1599         addl    %r13d,%r12d
1601         xorl    %edi,%ebx
1602         addl    %r12d,%r9d
1603         addl    %r12d,%ebx
1605         leaq    4(%rbp),%rbp
1606         movl    0(%rsp),%r13d
1607         movl    52(%rsp),%edi
1609         movl    %r13d,%r12d
1610         rorl    $11,%r13d
1611         addl    %r14d,%ebx
1612         movl    %edi,%r14d
1613         rorl    $2,%edi
1615         xorl    %r12d,%r13d
1616         shrl    $3,%r12d
1617         rorl    $7,%r13d
1618         xorl    %r14d,%edi
1619         shrl    $10,%r14d
1621         rorl    $17,%edi
1622         xorl    %r13d,%r12d
1623         xorl    %r14d,%edi
1624         addl    32(%rsp),%r12d
1626         addl    60(%rsp),%r12d
1627         movl    %r9d,%r13d
1628         addl    %edi,%r12d
1629         movl    %ebx,%r14d
1630         rorl    $14,%r13d
1631         movl    %r10d,%edi
1633         xorl    %r9d,%r13d
1634         rorl    $9,%r14d
1635         xorl    %r11d,%edi
1637         movl    %r12d,60(%rsp)
1638         xorl    %ebx,%r14d
1639         andl    %r9d,%edi
1641         rorl    $5,%r13d
1642         addl    %eax,%r12d
1643         xorl    %r11d,%edi
1645         rorl    $11,%r14d
1646         xorl    %r9d,%r13d
1647         addl    %edi,%r12d
1649         movl    %ebx,%edi
1650         addl    (%rbp),%r12d
1651         xorl    %ebx,%r14d
1653         xorl    %ecx,%edi
1654         rorl    $6,%r13d
1655         movl    %ecx,%eax
1657         andl    %edi,%r15d
1658         rorl    $2,%r14d
1659         addl    %r13d,%r12d
1661         xorl    %r15d,%eax
1662         addl    %r12d,%r8d
1663         addl    %r12d,%eax
1665         leaq    20(%rbp),%rbp
1666         cmpb    $0,3(%rbp)
1667         jnz     L$rounds_16_xx
1669         movq    64+0(%rsp),%rdi
1670         addl    %r14d,%eax
1671         leaq    64(%rsi),%rsi
1673         addl    0(%rdi),%eax
1674         addl    4(%rdi),%ebx
1675         addl    8(%rdi),%ecx
1676         addl    12(%rdi),%edx
1677         addl    16(%rdi),%r8d
1678         addl    20(%rdi),%r9d
1679         addl    24(%rdi),%r10d
1680         addl    28(%rdi),%r11d
1682         cmpq    64+16(%rsp),%rsi
1684         movl    %eax,0(%rdi)
1685         movl    %ebx,4(%rdi)
1686         movl    %ecx,8(%rdi)
1687         movl    %edx,12(%rdi)
1688         movl    %r8d,16(%rdi)
1689         movl    %r9d,20(%rdi)
1690         movl    %r10d,24(%rdi)
1691         movl    %r11d,28(%rdi)
1692         jb      L$loop
1694         movq    64+24(%rsp),%rsi
1695         movq    (%rsi),%r15
1696         movq    8(%rsi),%r14
1697         movq    16(%rsi),%r13
1698         movq    24(%rsi),%r12
1699         movq    32(%rsi),%rbp
1700         movq    40(%rsi),%rbx
1701         leaq    48(%rsi),%rsp
1702 L$epilogue:
1703         .byte   0xf3,0xc3
1705 .p2align        6
1707 K256:
1708 .long   0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1709 .long   0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1710 .long   0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1711 .long   0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1712 .long   0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1713 .long   0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1714 .long   0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1715 .long   0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1716 .long   0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1717 .long   0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1718 .long   0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1719 .long   0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1720 .long   0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1721 .long   0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1722 .long   0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1723 .long   0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1724 .long   0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1725 .long   0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1726 .long   0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1727 .long   0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1728 .long   0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1729 .long   0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1730 .long   0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1731 .long   0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1732 .long   0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1733 .long   0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1734 .long   0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1735 .long   0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1736 .long   0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1737 .long   0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1738 .long   0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1739 .long   0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1741 .long   0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1742 .long   0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1743 .long   0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1744 .long   0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1745 .long   0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1746 .long   0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1747 .byte   83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
1749 .p2align        6
1750 sha256_block_data_order_ssse3:
1751 L$ssse3_shortcut:
1752         pushq   %rbx
1753         pushq   %rbp
1754         pushq   %r12
1755         pushq   %r13
1756         pushq   %r14
1757         pushq   %r15
1758         movq    %rsp,%r11
1759         shlq    $4,%rdx
1760         subq    $96,%rsp
1761         leaq    (%rsi,%rdx,4),%rdx
1762         andq    $-64,%rsp
1763         movq    %rdi,64+0(%rsp)
1764         movq    %rsi,64+8(%rsp)
1765         movq    %rdx,64+16(%rsp)
1766         movq    %r11,64+24(%rsp)
1767 L$prologue_ssse3:
1769         movl    0(%rdi),%eax
1770         movl    4(%rdi),%ebx
1771         movl    8(%rdi),%ecx
1772         movl    12(%rdi),%edx
1773         movl    16(%rdi),%r8d
1774         movl    20(%rdi),%r9d
1775         movl    24(%rdi),%r10d
1776         movl    28(%rdi),%r11d
1779         jmp     L$loop_ssse3
1780 .p2align        4
1781 L$loop_ssse3:
1782         movdqa  K256+512(%rip),%xmm7
1783         movdqu  0(%rsi),%xmm0
1784         movdqu  16(%rsi),%xmm1
1785         movdqu  32(%rsi),%xmm2
1786 .byte   102,15,56,0,199
1787         movdqu  48(%rsi),%xmm3
1788         leaq    K256(%rip),%rbp
1789 .byte   102,15,56,0,207
1790         movdqa  0(%rbp),%xmm4
1791         movdqa  32(%rbp),%xmm5
1792 .byte   102,15,56,0,215
1793         paddd   %xmm0,%xmm4
1794         movdqa  64(%rbp),%xmm6
1795 .byte   102,15,56,0,223
1796         movdqa  96(%rbp),%xmm7
1797         paddd   %xmm1,%xmm5
1798         paddd   %xmm2,%xmm6
1799         paddd   %xmm3,%xmm7
1800         movdqa  %xmm4,0(%rsp)
1801         movl    %eax,%r14d
1802         movdqa  %xmm5,16(%rsp)
1803         movl    %ebx,%edi
1804         movdqa  %xmm6,32(%rsp)
1805         xorl    %ecx,%edi
1806         movdqa  %xmm7,48(%rsp)
1807         movl    %r8d,%r13d
1808         jmp     L$ssse3_00_47
1810 .p2align        4
1811 L$ssse3_00_47:
1812         subq    $-128,%rbp
1813         rorl    $14,%r13d
1814         movdqa  %xmm1,%xmm4
1815         movl    %r14d,%eax
1816         movl    %r9d,%r12d
1817         movdqa  %xmm3,%xmm7
1818         rorl    $9,%r14d
1819         xorl    %r8d,%r13d
1820         xorl    %r10d,%r12d
1821         rorl    $5,%r13d
1822         xorl    %eax,%r14d
1823 .byte   102,15,58,15,224,4
1824         andl    %r8d,%r12d
1825         xorl    %r8d,%r13d
1826 .byte   102,15,58,15,250,4
1827         addl    0(%rsp),%r11d
1828         movl    %eax,%r15d
1829         xorl    %r10d,%r12d
1830         rorl    $11,%r14d
1831         movdqa  %xmm4,%xmm5
1832         xorl    %ebx,%r15d
1833         addl    %r12d,%r11d
1834         movdqa  %xmm4,%xmm6
1835         rorl    $6,%r13d
1836         andl    %r15d,%edi
1837         psrld   $3,%xmm4
1838         xorl    %eax,%r14d
1839         addl    %r13d,%r11d
1840         xorl    %ebx,%edi
1841         paddd   %xmm7,%xmm0
1842         rorl    $2,%r14d
1843         addl    %r11d,%edx
1844         psrld   $7,%xmm6
1845         addl    %edi,%r11d
1846         movl    %edx,%r13d
1847         pshufd  $250,%xmm3,%xmm7
1848         addl    %r11d,%r14d
1849         rorl    $14,%r13d
1850         pslld   $14,%xmm5
1851         movl    %r14d,%r11d
1852         movl    %r8d,%r12d
1853         pxor    %xmm6,%xmm4
1854         rorl    $9,%r14d
1855         xorl    %edx,%r13d
1856         xorl    %r9d,%r12d
1857         rorl    $5,%r13d
1858         psrld   $11,%xmm6
1859         xorl    %r11d,%r14d
1860         pxor    %xmm5,%xmm4
1861         andl    %edx,%r12d
1862         xorl    %edx,%r13d
1863         pslld   $11,%xmm5
1864         addl    4(%rsp),%r10d
1865         movl    %r11d,%edi
1866         pxor    %xmm6,%xmm4
1867         xorl    %r9d,%r12d
1868         rorl    $11,%r14d
1869         movdqa  %xmm7,%xmm6
1870         xorl    %eax,%edi
1871         addl    %r12d,%r10d
1872         pxor    %xmm5,%xmm4
1873         rorl    $6,%r13d
1874         andl    %edi,%r15d
1875         xorl    %r11d,%r14d
1876         psrld   $10,%xmm7
1877         addl    %r13d,%r10d
1878         xorl    %eax,%r15d
1879         paddd   %xmm4,%xmm0
1880         rorl    $2,%r14d
1881         addl    %r10d,%ecx
1882         psrlq   $17,%xmm6
1883         addl    %r15d,%r10d
1884         movl    %ecx,%r13d
1885         addl    %r10d,%r14d
1886         pxor    %xmm6,%xmm7
1887         rorl    $14,%r13d
1888         movl    %r14d,%r10d
1889         movl    %edx,%r12d
1890         rorl    $9,%r14d
1891         psrlq   $2,%xmm6
1892         xorl    %ecx,%r13d
1893         xorl    %r8d,%r12d
1894         pxor    %xmm6,%xmm7
1895         rorl    $5,%r13d
1896         xorl    %r10d,%r14d
1897         andl    %ecx,%r12d
1898         pshufd  $128,%xmm7,%xmm7
1899         xorl    %ecx,%r13d
1900         addl    8(%rsp),%r9d
1901         movl    %r10d,%r15d
1902         psrldq  $8,%xmm7
1903         xorl    %r8d,%r12d
1904         rorl    $11,%r14d
1905         xorl    %r11d,%r15d
1906         addl    %r12d,%r9d
1907         rorl    $6,%r13d
1908         paddd   %xmm7,%xmm0
1909         andl    %r15d,%edi
1910         xorl    %r10d,%r14d
1911         addl    %r13d,%r9d
1912         pshufd  $80,%xmm0,%xmm7
1913         xorl    %r11d,%edi
1914         rorl    $2,%r14d
1915         addl    %r9d,%ebx
1916         movdqa  %xmm7,%xmm6
1917         addl    %edi,%r9d
1918         movl    %ebx,%r13d
1919         psrld   $10,%xmm7
1920         addl    %r9d,%r14d
1921         rorl    $14,%r13d
1922         psrlq   $17,%xmm6
1923         movl    %r14d,%r9d
1924         movl    %ecx,%r12d
1925         pxor    %xmm6,%xmm7
1926         rorl    $9,%r14d
1927         xorl    %ebx,%r13d
1928         xorl    %edx,%r12d
1929         rorl    $5,%r13d
1930         xorl    %r9d,%r14d
1931         psrlq   $2,%xmm6
1932         andl    %ebx,%r12d
1933         xorl    %ebx,%r13d
1934         addl    12(%rsp),%r8d
1935         pxor    %xmm6,%xmm7
1936         movl    %r9d,%edi
1937         xorl    %edx,%r12d
1938         rorl    $11,%r14d
1939         pshufd  $8,%xmm7,%xmm7
1940         xorl    %r10d,%edi
1941         addl    %r12d,%r8d
1942         movdqa  0(%rbp),%xmm6
1943         rorl    $6,%r13d
1944         andl    %edi,%r15d
1945         pslldq  $8,%xmm7
1946         xorl    %r9d,%r14d
1947         addl    %r13d,%r8d
1948         xorl    %r10d,%r15d
1949         paddd   %xmm7,%xmm0
1950         rorl    $2,%r14d
1951         addl    %r8d,%eax
1952         addl    %r15d,%r8d
1953         paddd   %xmm0,%xmm6
1954         movl    %eax,%r13d
1955         addl    %r8d,%r14d
1956         movdqa  %xmm6,0(%rsp)
1957         rorl    $14,%r13d
1958         movdqa  %xmm2,%xmm4
1959         movl    %r14d,%r8d
1960         movl    %ebx,%r12d
1961         movdqa  %xmm0,%xmm7
1962         rorl    $9,%r14d
1963         xorl    %eax,%r13d
1964         xorl    %ecx,%r12d
1965         rorl    $5,%r13d
1966         xorl    %r8d,%r14d
1967 .byte   102,15,58,15,225,4
1968         andl    %eax,%r12d
1969         xorl    %eax,%r13d
1970 .byte   102,15,58,15,251,4
1971         addl    16(%rsp),%edx
1972         movl    %r8d,%r15d
1973         xorl    %ecx,%r12d
1974         rorl    $11,%r14d
1975         movdqa  %xmm4,%xmm5
1976         xorl    %r9d,%r15d
1977         addl    %r12d,%edx
1978         movdqa  %xmm4,%xmm6
1979         rorl    $6,%r13d
1980         andl    %r15d,%edi
1981         psrld   $3,%xmm4
1982         xorl    %r8d,%r14d
1983         addl    %r13d,%edx
1984         xorl    %r9d,%edi
1985         paddd   %xmm7,%xmm1
1986         rorl    $2,%r14d
1987         addl    %edx,%r11d
1988         psrld   $7,%xmm6
1989         addl    %edi,%edx
1990         movl    %r11d,%r13d
1991         pshufd  $250,%xmm0,%xmm7
1992         addl    %edx,%r14d
1993         rorl    $14,%r13d
1994         pslld   $14,%xmm5
1995         movl    %r14d,%edx
1996         movl    %eax,%r12d
1997         pxor    %xmm6,%xmm4
1998         rorl    $9,%r14d
1999         xorl    %r11d,%r13d
2000         xorl    %ebx,%r12d
2001         rorl    $5,%r13d
2002         psrld   $11,%xmm6
2003         xorl    %edx,%r14d
2004         pxor    %xmm5,%xmm4
2005         andl    %r11d,%r12d
2006         xorl    %r11d,%r13d
2007         pslld   $11,%xmm5
2008         addl    20(%rsp),%ecx
2009         movl    %edx,%edi
2010         pxor    %xmm6,%xmm4
2011         xorl    %ebx,%r12d
2012         rorl    $11,%r14d
2013         movdqa  %xmm7,%xmm6
2014         xorl    %r8d,%edi
2015         addl    %r12d,%ecx
2016         pxor    %xmm5,%xmm4
2017         rorl    $6,%r13d
2018         andl    %edi,%r15d
2019         xorl    %edx,%r14d
2020         psrld   $10,%xmm7
2021         addl    %r13d,%ecx
2022         xorl    %r8d,%r15d
2023         paddd   %xmm4,%xmm1
2024         rorl    $2,%r14d
2025         addl    %ecx,%r10d
2026         psrlq   $17,%xmm6
2027         addl    %r15d,%ecx
2028         movl    %r10d,%r13d
2029         addl    %ecx,%r14d
2030         pxor    %xmm6,%xmm7
2031         rorl    $14,%r13d
2032         movl    %r14d,%ecx
2033         movl    %r11d,%r12d
2034         rorl    $9,%r14d
2035         psrlq   $2,%xmm6
2036         xorl    %r10d,%r13d
2037         xorl    %eax,%r12d
2038         pxor    %xmm6,%xmm7
2039         rorl    $5,%r13d
2040         xorl    %ecx,%r14d
2041         andl    %r10d,%r12d
2042         pshufd  $128,%xmm7,%xmm7
2043         xorl    %r10d,%r13d
2044         addl    24(%rsp),%ebx
2045         movl    %ecx,%r15d
2046         psrldq  $8,%xmm7
2047         xorl    %eax,%r12d
2048         rorl    $11,%r14d
2049         xorl    %edx,%r15d
2050         addl    %r12d,%ebx
2051         rorl    $6,%r13d
2052         paddd   %xmm7,%xmm1
2053         andl    %r15d,%edi
2054         xorl    %ecx,%r14d
2055         addl    %r13d,%ebx
2056         pshufd  $80,%xmm1,%xmm7
2057         xorl    %edx,%edi
2058         rorl    $2,%r14d
2059         addl    %ebx,%r9d
2060         movdqa  %xmm7,%xmm6
2061         addl    %edi,%ebx
2062         movl    %r9d,%r13d
2063         psrld   $10,%xmm7
2064         addl    %ebx,%r14d
2065         rorl    $14,%r13d
2066         psrlq   $17,%xmm6
2067         movl    %r14d,%ebx
2068         movl    %r10d,%r12d
2069         pxor    %xmm6,%xmm7
2070         rorl    $9,%r14d
2071         xorl    %r9d,%r13d
2072         xorl    %r11d,%r12d
2073         rorl    $5,%r13d
2074         xorl    %ebx,%r14d
2075         psrlq   $2,%xmm6
2076         andl    %r9d,%r12d
2077         xorl    %r9d,%r13d
2078         addl    28(%rsp),%eax
2079         pxor    %xmm6,%xmm7
2080         movl    %ebx,%edi
2081         xorl    %r11d,%r12d
2082         rorl    $11,%r14d
2083         pshufd  $8,%xmm7,%xmm7
2084         xorl    %ecx,%edi
2085         addl    %r12d,%eax
2086         movdqa  32(%rbp),%xmm6
2087         rorl    $6,%r13d
2088         andl    %edi,%r15d
2089         pslldq  $8,%xmm7
2090         xorl    %ebx,%r14d
2091         addl    %r13d,%eax
2092         xorl    %ecx,%r15d
2093         paddd   %xmm7,%xmm1
2094         rorl    $2,%r14d
2095         addl    %eax,%r8d
2096         addl    %r15d,%eax
2097         paddd   %xmm1,%xmm6
2098         movl    %r8d,%r13d
2099         addl    %eax,%r14d
2100         movdqa  %xmm6,16(%rsp)
2101         rorl    $14,%r13d
2102         movdqa  %xmm3,%xmm4
2103         movl    %r14d,%eax
2104         movl    %r9d,%r12d
2105         movdqa  %xmm1,%xmm7
2106         rorl    $9,%r14d
2107         xorl    %r8d,%r13d
2108         xorl    %r10d,%r12d
2109         rorl    $5,%r13d
2110         xorl    %eax,%r14d
2111 .byte   102,15,58,15,226,4
2112         andl    %r8d,%r12d
2113         xorl    %r8d,%r13d
2114 .byte   102,15,58,15,248,4
2115         addl    32(%rsp),%r11d
2116         movl    %eax,%r15d
2117         xorl    %r10d,%r12d
2118         rorl    $11,%r14d
2119         movdqa  %xmm4,%xmm5
2120         xorl    %ebx,%r15d
2121         addl    %r12d,%r11d
2122         movdqa  %xmm4,%xmm6
2123         rorl    $6,%r13d
2124         andl    %r15d,%edi
2125         psrld   $3,%xmm4
2126         xorl    %eax,%r14d
2127         addl    %r13d,%r11d
2128         xorl    %ebx,%edi
2129         paddd   %xmm7,%xmm2
2130         rorl    $2,%r14d
2131         addl    %r11d,%edx
2132         psrld   $7,%xmm6
2133         addl    %edi,%r11d
2134         movl    %edx,%r13d
2135         pshufd  $250,%xmm1,%xmm7
2136         addl    %r11d,%r14d
2137         rorl    $14,%r13d
2138         pslld   $14,%xmm5
2139         movl    %r14d,%r11d
2140         movl    %r8d,%r12d
2141         pxor    %xmm6,%xmm4
2142         rorl    $9,%r14d
2143         xorl    %edx,%r13d
2144         xorl    %r9d,%r12d
2145         rorl    $5,%r13d
2146         psrld   $11,%xmm6
2147         xorl    %r11d,%r14d
2148         pxor    %xmm5,%xmm4
2149         andl    %edx,%r12d
2150         xorl    %edx,%r13d
2151         pslld   $11,%xmm5
2152         addl    36(%rsp),%r10d
2153         movl    %r11d,%edi
2154         pxor    %xmm6,%xmm4
2155         xorl    %r9d,%r12d
2156         rorl    $11,%r14d
2157         movdqa  %xmm7,%xmm6
2158         xorl    %eax,%edi
2159         addl    %r12d,%r10d
2160         pxor    %xmm5,%xmm4
2161         rorl    $6,%r13d
2162         andl    %edi,%r15d
2163         xorl    %r11d,%r14d
2164         psrld   $10,%xmm7
2165         addl    %r13d,%r10d
2166         xorl    %eax,%r15d
2167         paddd   %xmm4,%xmm2
2168         rorl    $2,%r14d
2169         addl    %r10d,%ecx
2170         psrlq   $17,%xmm6
2171         addl    %r15d,%r10d
2172         movl    %ecx,%r13d
2173         addl    %r10d,%r14d
2174         pxor    %xmm6,%xmm7
2175         rorl    $14,%r13d
2176         movl    %r14d,%r10d
2177         movl    %edx,%r12d
2178         rorl    $9,%r14d
2179         psrlq   $2,%xmm6
2180         xorl    %ecx,%r13d
2181         xorl    %r8d,%r12d
2182         pxor    %xmm6,%xmm7
2183         rorl    $5,%r13d
2184         xorl    %r10d,%r14d
2185         andl    %ecx,%r12d
2186         pshufd  $128,%xmm7,%xmm7
2187         xorl    %ecx,%r13d
2188         addl    40(%rsp),%r9d
2189         movl    %r10d,%r15d
2190         psrldq  $8,%xmm7
2191         xorl    %r8d,%r12d
2192         rorl    $11,%r14d
2193         xorl    %r11d,%r15d
2194         addl    %r12d,%r9d
2195         rorl    $6,%r13d
2196         paddd   %xmm7,%xmm2
2197         andl    %r15d,%edi
2198         xorl    %r10d,%r14d
2199         addl    %r13d,%r9d
2200         pshufd  $80,%xmm2,%xmm7
2201         xorl    %r11d,%edi
2202         rorl    $2,%r14d
2203         addl    %r9d,%ebx
2204         movdqa  %xmm7,%xmm6
2205         addl    %edi,%r9d
2206         movl    %ebx,%r13d
2207         psrld   $10,%xmm7
2208         addl    %r9d,%r14d
2209         rorl    $14,%r13d
2210         psrlq   $17,%xmm6
2211         movl    %r14d,%r9d
2212         movl    %ecx,%r12d
2213         pxor    %xmm6,%xmm7
2214         rorl    $9,%r14d
2215         xorl    %ebx,%r13d
2216         xorl    %edx,%r12d
2217         rorl    $5,%r13d
2218         xorl    %r9d,%r14d
2219         psrlq   $2,%xmm6
2220         andl    %ebx,%r12d
2221         xorl    %ebx,%r13d
2222         addl    44(%rsp),%r8d
2223         pxor    %xmm6,%xmm7
2224         movl    %r9d,%edi
2225         xorl    %edx,%r12d
2226         rorl    $11,%r14d
2227         pshufd  $8,%xmm7,%xmm7
2228         xorl    %r10d,%edi
2229         addl    %r12d,%r8d
2230         movdqa  64(%rbp),%xmm6
2231         rorl    $6,%r13d
2232         andl    %edi,%r15d
2233         pslldq  $8,%xmm7
2234         xorl    %r9d,%r14d
2235         addl    %r13d,%r8d
2236         xorl    %r10d,%r15d
2237         paddd   %xmm7,%xmm2
2238         rorl    $2,%r14d
2239         addl    %r8d,%eax
2240         addl    %r15d,%r8d
2241         paddd   %xmm2,%xmm6
2242         movl    %eax,%r13d
2243         addl    %r8d,%r14d
2244         movdqa  %xmm6,32(%rsp)
2245         rorl    $14,%r13d
2246         movdqa  %xmm0,%xmm4
2247         movl    %r14d,%r8d
2248         movl    %ebx,%r12d
2249         movdqa  %xmm2,%xmm7
2250         rorl    $9,%r14d
2251         xorl    %eax,%r13d
2252         xorl    %ecx,%r12d
2253         rorl    $5,%r13d
2254         xorl    %r8d,%r14d
2255 .byte   102,15,58,15,227,4
2256         andl    %eax,%r12d
2257         xorl    %eax,%r13d
2258 .byte   102,15,58,15,249,4
2259         addl    48(%rsp),%edx
2260         movl    %r8d,%r15d
2261         xorl    %ecx,%r12d
2262         rorl    $11,%r14d
2263         movdqa  %xmm4,%xmm5
2264         xorl    %r9d,%r15d
2265         addl    %r12d,%edx
2266         movdqa  %xmm4,%xmm6
2267         rorl    $6,%r13d
2268         andl    %r15d,%edi
2269         psrld   $3,%xmm4
2270         xorl    %r8d,%r14d
2271         addl    %r13d,%edx
2272         xorl    %r9d,%edi
2273         paddd   %xmm7,%xmm3
2274         rorl    $2,%r14d
2275         addl    %edx,%r11d
2276         psrld   $7,%xmm6
2277         addl    %edi,%edx
2278         movl    %r11d,%r13d
2279         pshufd  $250,%xmm2,%xmm7
2280         addl    %edx,%r14d
2281         rorl    $14,%r13d
2282         pslld   $14,%xmm5
2283         movl    %r14d,%edx
2284         movl    %eax,%r12d
2285         pxor    %xmm6,%xmm4
2286         rorl    $9,%r14d
2287         xorl    %r11d,%r13d
2288         xorl    %ebx,%r12d
2289         rorl    $5,%r13d
2290         psrld   $11,%xmm6
2291         xorl    %edx,%r14d
2292         pxor    %xmm5,%xmm4
2293         andl    %r11d,%r12d
2294         xorl    %r11d,%r13d
2295         pslld   $11,%xmm5
2296         addl    52(%rsp),%ecx
2297         movl    %edx,%edi
2298         pxor    %xmm6,%xmm4
2299         xorl    %ebx,%r12d
2300         rorl    $11,%r14d
2301         movdqa  %xmm7,%xmm6
2302         xorl    %r8d,%edi
2303         addl    %r12d,%ecx
2304         pxor    %xmm5,%xmm4
2305         rorl    $6,%r13d
2306         andl    %edi,%r15d
2307         xorl    %edx,%r14d
2308         psrld   $10,%xmm7
2309         addl    %r13d,%ecx
2310         xorl    %r8d,%r15d
2311         paddd   %xmm4,%xmm3
2312         rorl    $2,%r14d
2313         addl    %ecx,%r10d
2314         psrlq   $17,%xmm6
2315         addl    %r15d,%ecx
2316         movl    %r10d,%r13d
2317         addl    %ecx,%r14d
2318         pxor    %xmm6,%xmm7
2319         rorl    $14,%r13d
2320         movl    %r14d,%ecx
2321         movl    %r11d,%r12d
2322         rorl    $9,%r14d
2323         psrlq   $2,%xmm6
2324         xorl    %r10d,%r13d
2325         xorl    %eax,%r12d
2326         pxor    %xmm6,%xmm7
2327         rorl    $5,%r13d
2328         xorl    %ecx,%r14d
2329         andl    %r10d,%r12d
2330         pshufd  $128,%xmm7,%xmm7
2331         xorl    %r10d,%r13d
2332         addl    56(%rsp),%ebx
2333         movl    %ecx,%r15d
2334         psrldq  $8,%xmm7
2335         xorl    %eax,%r12d
2336         rorl    $11,%r14d
2337         xorl    %edx,%r15d
2338         addl    %r12d,%ebx
2339         rorl    $6,%r13d
2340         paddd   %xmm7,%xmm3
2341         andl    %r15d,%edi
2342         xorl    %ecx,%r14d
2343         addl    %r13d,%ebx
2344         pshufd  $80,%xmm3,%xmm7
2345         xorl    %edx,%edi
2346         rorl    $2,%r14d
2347         addl    %ebx,%r9d
2348         movdqa  %xmm7,%xmm6
2349         addl    %edi,%ebx
2350         movl    %r9d,%r13d
2351         psrld   $10,%xmm7
2352         addl    %ebx,%r14d
2353         rorl    $14,%r13d
2354         psrlq   $17,%xmm6
2355         movl    %r14d,%ebx
2356         movl    %r10d,%r12d
2357         pxor    %xmm6,%xmm7
2358         rorl    $9,%r14d
2359         xorl    %r9d,%r13d
2360         xorl    %r11d,%r12d
2361         rorl    $5,%r13d
2362         xorl    %ebx,%r14d
2363         psrlq   $2,%xmm6
2364         andl    %r9d,%r12d
2365         xorl    %r9d,%r13d
2366         addl    60(%rsp),%eax
2367         pxor    %xmm6,%xmm7
2368         movl    %ebx,%edi
2369         xorl    %r11d,%r12d
2370         rorl    $11,%r14d
2371         pshufd  $8,%xmm7,%xmm7
2372         xorl    %ecx,%edi
2373         addl    %r12d,%eax
2374         movdqa  96(%rbp),%xmm6
2375         rorl    $6,%r13d
2376         andl    %edi,%r15d
2377         pslldq  $8,%xmm7
2378         xorl    %ebx,%r14d
2379         addl    %r13d,%eax
2380         xorl    %ecx,%r15d
2381         paddd   %xmm7,%xmm3
2382         rorl    $2,%r14d
2383         addl    %eax,%r8d
2384         addl    %r15d,%eax
2385         paddd   %xmm3,%xmm6
2386         movl    %r8d,%r13d
2387         addl    %eax,%r14d
2388         movdqa  %xmm6,48(%rsp)
2389         cmpb    $0,131(%rbp)
2390         jne     L$ssse3_00_47
2391         rorl    $14,%r13d
2392         movl    %r14d,%eax
2393         movl    %r9d,%r12d
2394         rorl    $9,%r14d
2395         xorl    %r8d,%r13d
2396         xorl    %r10d,%r12d
2397         rorl    $5,%r13d
2398         xorl    %eax,%r14d
2399         andl    %r8d,%r12d
2400         xorl    %r8d,%r13d
2401         addl    0(%rsp),%r11d
2402         movl    %eax,%r15d
2403         xorl    %r10d,%r12d
2404         rorl    $11,%r14d
2405         xorl    %ebx,%r15d
2406         addl    %r12d,%r11d
2407         rorl    $6,%r13d
2408         andl    %r15d,%edi
2409         xorl    %eax,%r14d
2410         addl    %r13d,%r11d
2411         xorl    %ebx,%edi
2412         rorl    $2,%r14d
2413         addl    %r11d,%edx
2414         addl    %edi,%r11d
2415         movl    %edx,%r13d
2416         addl    %r11d,%r14d
2417         rorl    $14,%r13d
2418         movl    %r14d,%r11d
2419         movl    %r8d,%r12d
2420         rorl    $9,%r14d
2421         xorl    %edx,%r13d
2422         xorl    %r9d,%r12d
2423         rorl    $5,%r13d
2424         xorl    %r11d,%r14d
2425         andl    %edx,%r12d
2426         xorl    %edx,%r13d
2427         addl    4(%rsp),%r10d
2428         movl    %r11d,%edi
2429         xorl    %r9d,%r12d
2430         rorl    $11,%r14d
2431         xorl    %eax,%edi
2432         addl    %r12d,%r10d
2433         rorl    $6,%r13d
2434         andl    %edi,%r15d
2435         xorl    %r11d,%r14d
2436         addl    %r13d,%r10d
2437         xorl    %eax,%r15d
2438         rorl    $2,%r14d
2439         addl    %r10d,%ecx
2440         addl    %r15d,%r10d
2441         movl    %ecx,%r13d
2442         addl    %r10d,%r14d
2443         rorl    $14,%r13d
2444         movl    %r14d,%r10d
2445         movl    %edx,%r12d
2446         rorl    $9,%r14d
2447         xorl    %ecx,%r13d
2448         xorl    %r8d,%r12d
2449         rorl    $5,%r13d
2450         xorl    %r10d,%r14d
2451         andl    %ecx,%r12d
2452         xorl    %ecx,%r13d
2453         addl    8(%rsp),%r9d
2454         movl    %r10d,%r15d
2455         xorl    %r8d,%r12d
2456         rorl    $11,%r14d
2457         xorl    %r11d,%r15d
2458         addl    %r12d,%r9d
2459         rorl    $6,%r13d
2460         andl    %r15d,%edi
2461         xorl    %r10d,%r14d
2462         addl    %r13d,%r9d
2463         xorl    %r11d,%edi
2464         rorl    $2,%r14d
2465         addl    %r9d,%ebx
2466         addl    %edi,%r9d
2467         movl    %ebx,%r13d
2468         addl    %r9d,%r14d
2469         rorl    $14,%r13d
2470         movl    %r14d,%r9d
2471         movl    %ecx,%r12d
2472         rorl    $9,%r14d
2473         xorl    %ebx,%r13d
2474         xorl    %edx,%r12d
2475         rorl    $5,%r13d
2476         xorl    %r9d,%r14d
2477         andl    %ebx,%r12d
2478         xorl    %ebx,%r13d
2479         addl    12(%rsp),%r8d
2480         movl    %r9d,%edi
2481         xorl    %edx,%r12d
2482         rorl    $11,%r14d
2483         xorl    %r10d,%edi
2484         addl    %r12d,%r8d
2485         rorl    $6,%r13d
2486         andl    %edi,%r15d
2487         xorl    %r9d,%r14d
2488         addl    %r13d,%r8d
2489         xorl    %r10d,%r15d
2490         rorl    $2,%r14d
2491         addl    %r8d,%eax
2492         addl    %r15d,%r8d
2493         movl    %eax,%r13d
2494         addl    %r8d,%r14d
2495         rorl    $14,%r13d
2496         movl    %r14d,%r8d
2497         movl    %ebx,%r12d
2498         rorl    $9,%r14d
2499         xorl    %eax,%r13d
2500         xorl    %ecx,%r12d
2501         rorl    $5,%r13d
2502         xorl    %r8d,%r14d
2503         andl    %eax,%r12d
2504         xorl    %eax,%r13d
2505         addl    16(%rsp),%edx
2506         movl    %r8d,%r15d
2507         xorl    %ecx,%r12d
2508         rorl    $11,%r14d
2509         xorl    %r9d,%r15d
2510         addl    %r12d,%edx
2511         rorl    $6,%r13d
2512         andl    %r15d,%edi
2513         xorl    %r8d,%r14d
2514         addl    %r13d,%edx
2515         xorl    %r9d,%edi
2516         rorl    $2,%r14d
2517         addl    %edx,%r11d
2518         addl    %edi,%edx
2519         movl    %r11d,%r13d
2520         addl    %edx,%r14d
2521         rorl    $14,%r13d
2522         movl    %r14d,%edx
2523         movl    %eax,%r12d
2524         rorl    $9,%r14d
2525         xorl    %r11d,%r13d
2526         xorl    %ebx,%r12d
2527         rorl    $5,%r13d
2528         xorl    %edx,%r14d
2529         andl    %r11d,%r12d
2530         xorl    %r11d,%r13d
2531         addl    20(%rsp),%ecx
2532         movl    %edx,%edi
2533         xorl    %ebx,%r12d
2534         rorl    $11,%r14d
2535         xorl    %r8d,%edi
2536         addl    %r12d,%ecx
2537         rorl    $6,%r13d
2538         andl    %edi,%r15d
2539         xorl    %edx,%r14d
2540         addl    %r13d,%ecx
2541         xorl    %r8d,%r15d
2542         rorl    $2,%r14d
2543         addl    %ecx,%r10d
2544         addl    %r15d,%ecx
2545         movl    %r10d,%r13d
2546         addl    %ecx,%r14d
2547         rorl    $14,%r13d
2548         movl    %r14d,%ecx
2549         movl    %r11d,%r12d
2550         rorl    $9,%r14d
2551         xorl    %r10d,%r13d
2552         xorl    %eax,%r12d
2553         rorl    $5,%r13d
2554         xorl    %ecx,%r14d
2555         andl    %r10d,%r12d
2556         xorl    %r10d,%r13d
2557         addl    24(%rsp),%ebx
2558         movl    %ecx,%r15d
2559         xorl    %eax,%r12d
2560         rorl    $11,%r14d
2561         xorl    %edx,%r15d
2562         addl    %r12d,%ebx
2563         rorl    $6,%r13d
2564         andl    %r15d,%edi
2565         xorl    %ecx,%r14d
2566         addl    %r13d,%ebx
2567         xorl    %edx,%edi
2568         rorl    $2,%r14d
2569         addl    %ebx,%r9d
2570         addl    %edi,%ebx
2571         movl    %r9d,%r13d
2572         addl    %ebx,%r14d
2573         rorl    $14,%r13d
2574         movl    %r14d,%ebx
2575         movl    %r10d,%r12d
2576         rorl    $9,%r14d
2577         xorl    %r9d,%r13d
2578         xorl    %r11d,%r12d
2579         rorl    $5,%r13d
2580         xorl    %ebx,%r14d
2581         andl    %r9d,%r12d
2582         xorl    %r9d,%r13d
2583         addl    28(%rsp),%eax
2584         movl    %ebx,%edi
2585         xorl    %r11d,%r12d
2586         rorl    $11,%r14d
2587         xorl    %ecx,%edi
2588         addl    %r12d,%eax
2589         rorl    $6,%r13d
2590         andl    %edi,%r15d
2591         xorl    %ebx,%r14d
2592         addl    %r13d,%eax
2593         xorl    %ecx,%r15d
2594         rorl    $2,%r14d
2595         addl    %eax,%r8d
2596         addl    %r15d,%eax
2597         movl    %r8d,%r13d
2598         addl    %eax,%r14d
2599         rorl    $14,%r13d
2600         movl    %r14d,%eax
2601         movl    %r9d,%r12d
2602         rorl    $9,%r14d
2603         xorl    %r8d,%r13d
2604         xorl    %r10d,%r12d
2605         rorl    $5,%r13d
2606         xorl    %eax,%r14d
2607         andl    %r8d,%r12d
2608         xorl    %r8d,%r13d
2609         addl    32(%rsp),%r11d
2610         movl    %eax,%r15d
2611         xorl    %r10d,%r12d
2612         rorl    $11,%r14d
2613         xorl    %ebx,%r15d
2614         addl    %r12d,%r11d
2615         rorl    $6,%r13d
2616         andl    %r15d,%edi
2617         xorl    %eax,%r14d
2618         addl    %r13d,%r11d
2619         xorl    %ebx,%edi
2620         rorl    $2,%r14d
2621         addl    %r11d,%edx
2622         addl    %edi,%r11d
2623         movl    %edx,%r13d
2624         addl    %r11d,%r14d
2625         rorl    $14,%r13d
2626         movl    %r14d,%r11d
2627         movl    %r8d,%r12d
2628         rorl    $9,%r14d
2629         xorl    %edx,%r13d
2630         xorl    %r9d,%r12d
2631         rorl    $5,%r13d
2632         xorl    %r11d,%r14d
2633         andl    %edx,%r12d
2634         xorl    %edx,%r13d
2635         addl    36(%rsp),%r10d
2636         movl    %r11d,%edi
2637         xorl    %r9d,%r12d
2638         rorl    $11,%r14d
2639         xorl    %eax,%edi
2640         addl    %r12d,%r10d
2641         rorl    $6,%r13d
2642         andl    %edi,%r15d
2643         xorl    %r11d,%r14d
2644         addl    %r13d,%r10d
2645         xorl    %eax,%r15d
2646         rorl    $2,%r14d
2647         addl    %r10d,%ecx
2648         addl    %r15d,%r10d
2649         movl    %ecx,%r13d
2650         addl    %r10d,%r14d
2651         rorl    $14,%r13d
2652         movl    %r14d,%r10d
2653         movl    %edx,%r12d
2654         rorl    $9,%r14d
2655         xorl    %ecx,%r13d
2656         xorl    %r8d,%r12d
2657         rorl    $5,%r13d
2658         xorl    %r10d,%r14d
2659         andl    %ecx,%r12d
2660         xorl    %ecx,%r13d
2661         addl    40(%rsp),%r9d
2662         movl    %r10d,%r15d
2663         xorl    %r8d,%r12d
2664         rorl    $11,%r14d
2665         xorl    %r11d,%r15d
2666         addl    %r12d,%r9d
2667         rorl    $6,%r13d
2668         andl    %r15d,%edi
2669         xorl    %r10d,%r14d
2670         addl    %r13d,%r9d
2671         xorl    %r11d,%edi
2672         rorl    $2,%r14d
2673         addl    %r9d,%ebx
2674         addl    %edi,%r9d
2675         movl    %ebx,%r13d
2676         addl    %r9d,%r14d
2677         rorl    $14,%r13d
2678         movl    %r14d,%r9d
2679         movl    %ecx,%r12d
2680         rorl    $9,%r14d
2681         xorl    %ebx,%r13d
2682         xorl    %edx,%r12d
2683         rorl    $5,%r13d
2684         xorl    %r9d,%r14d
2685         andl    %ebx,%r12d
2686         xorl    %ebx,%r13d
2687         addl    44(%rsp),%r8d
2688         movl    %r9d,%edi
2689         xorl    %edx,%r12d
2690         rorl    $11,%r14d
2691         xorl    %r10d,%edi
2692         addl    %r12d,%r8d
2693         rorl    $6,%r13d
2694         andl    %edi,%r15d
2695         xorl    %r9d,%r14d
2696         addl    %r13d,%r8d
2697         xorl    %r10d,%r15d
2698         rorl    $2,%r14d
2699         addl    %r8d,%eax
2700         addl    %r15d,%r8d
2701         movl    %eax,%r13d
2702         addl    %r8d,%r14d
2703         rorl    $14,%r13d
2704         movl    %r14d,%r8d
2705         movl    %ebx,%r12d
2706         rorl    $9,%r14d
2707         xorl    %eax,%r13d
2708         xorl    %ecx,%r12d
2709         rorl    $5,%r13d
2710         xorl    %r8d,%r14d
2711         andl    %eax,%r12d
2712         xorl    %eax,%r13d
2713         addl    48(%rsp),%edx
2714         movl    %r8d,%r15d
2715         xorl    %ecx,%r12d
2716         rorl    $11,%r14d
2717         xorl    %r9d,%r15d
2718         addl    %r12d,%edx
2719         rorl    $6,%r13d
2720         andl    %r15d,%edi
2721         xorl    %r8d,%r14d
2722         addl    %r13d,%edx
2723         xorl    %r9d,%edi
2724         rorl    $2,%r14d
2725         addl    %edx,%r11d
2726         addl    %edi,%edx
2727         movl    %r11d,%r13d
2728         addl    %edx,%r14d
2729         rorl    $14,%r13d
2730         movl    %r14d,%edx
2731         movl    %eax,%r12d
2732         rorl    $9,%r14d
2733         xorl    %r11d,%r13d
2734         xorl    %ebx,%r12d
2735         rorl    $5,%r13d
2736         xorl    %edx,%r14d
2737         andl    %r11d,%r12d
2738         xorl    %r11d,%r13d
2739         addl    52(%rsp),%ecx
2740         movl    %edx,%edi
2741         xorl    %ebx,%r12d
2742         rorl    $11,%r14d
2743         xorl    %r8d,%edi
2744         addl    %r12d,%ecx
2745         rorl    $6,%r13d
2746         andl    %edi,%r15d
2747         xorl    %edx,%r14d
2748         addl    %r13d,%ecx
2749         xorl    %r8d,%r15d
2750         rorl    $2,%r14d
2751         addl    %ecx,%r10d
2752         addl    %r15d,%ecx
2753         movl    %r10d,%r13d
2754         addl    %ecx,%r14d
2755         rorl    $14,%r13d
2756         movl    %r14d,%ecx
2757         movl    %r11d,%r12d
2758         rorl    $9,%r14d
2759         xorl    %r10d,%r13d
2760         xorl    %eax,%r12d
2761         rorl    $5,%r13d
2762         xorl    %ecx,%r14d
2763         andl    %r10d,%r12d
2764         xorl    %r10d,%r13d
2765         addl    56(%rsp),%ebx
2766         movl    %ecx,%r15d
2767         xorl    %eax,%r12d
2768         rorl    $11,%r14d
2769         xorl    %edx,%r15d
2770         addl    %r12d,%ebx
2771         rorl    $6,%r13d
2772         andl    %r15d,%edi
2773         xorl    %ecx,%r14d
2774         addl    %r13d,%ebx
2775         xorl    %edx,%edi
2776         rorl    $2,%r14d
2777         addl    %ebx,%r9d
2778         addl    %edi,%ebx
2779         movl    %r9d,%r13d
2780         addl    %ebx,%r14d
2781         rorl    $14,%r13d
2782         movl    %r14d,%ebx
2783         movl    %r10d,%r12d
2784         rorl    $9,%r14d
2785         xorl    %r9d,%r13d
2786         xorl    %r11d,%r12d
2787         rorl    $5,%r13d
2788         xorl    %ebx,%r14d
2789         andl    %r9d,%r12d
2790         xorl    %r9d,%r13d
2791         addl    60(%rsp),%eax
2792         movl    %ebx,%edi
2793         xorl    %r11d,%r12d
2794         rorl    $11,%r14d
2795         xorl    %ecx,%edi
2796         addl    %r12d,%eax
2797         rorl    $6,%r13d
2798         andl    %edi,%r15d
2799         xorl    %ebx,%r14d
2800         addl    %r13d,%eax
2801         xorl    %ecx,%r15d
2802         rorl    $2,%r14d
2803         addl    %eax,%r8d
2804         addl    %r15d,%eax
2805         movl    %r8d,%r13d
2806         addl    %eax,%r14d
2807         movq    64+0(%rsp),%rdi
2808         movl    %r14d,%eax
2810         addl    0(%rdi),%eax
2811         leaq    64(%rsi),%rsi
2812         addl    4(%rdi),%ebx
2813         addl    8(%rdi),%ecx
2814         addl    12(%rdi),%edx
2815         addl    16(%rdi),%r8d
2816         addl    20(%rdi),%r9d
2817         addl    24(%rdi),%r10d
2818         addl    28(%rdi),%r11d
2820         cmpq    64+16(%rsp),%rsi
2822         movl    %eax,0(%rdi)
2823         movl    %ebx,4(%rdi)
2824         movl    %ecx,8(%rdi)
2825         movl    %edx,12(%rdi)
2826         movl    %r8d,16(%rdi)
2827         movl    %r9d,20(%rdi)
2828         movl    %r10d,24(%rdi)
2829         movl    %r11d,28(%rdi)
2830         jb      L$loop_ssse3
2832         movq    64+24(%rsp),%rsi
2833         movq    (%rsi),%r15
2834         movq    8(%rsi),%r14
2835         movq    16(%rsi),%r13
2836         movq    24(%rsi),%r12
2837         movq    32(%rsi),%rbp
2838         movq    40(%rsi),%rbx
2839         leaq    48(%rsi),%rsp
2840 L$epilogue_ssse3:
2841         .byte   0xf3,0xc3
2843 #endif