Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / third_party / boringssl / linux-x86_64 / crypto / sha / sha256-x86_64.S
blobf526de51ad09ac61b3f350d27b04a138cb3732f2
1 #if defined(__x86_64__)
2 .text   
4 .extern OPENSSL_ia32cap_P
5 .hidden OPENSSL_ia32cap_P
6 .globl  sha256_block_data_order
7 .hidden sha256_block_data_order
8 .type   sha256_block_data_order,@function
9 .align  16
10 sha256_block_data_order:
11         leaq    OPENSSL_ia32cap_P(%rip),%r11
12         movl    0(%r11),%r9d
13         movl    4(%r11),%r10d
14         movl    8(%r11),%r11d
15         testl   $512,%r10d
16         jnz     .Lssse3_shortcut
17         pushq   %rbx
18         pushq   %rbp
19         pushq   %r12
20         pushq   %r13
21         pushq   %r14
22         pushq   %r15
23         movq    %rsp,%r11
24         shlq    $4,%rdx
25         subq    $64+32,%rsp
26         leaq    (%rsi,%rdx,4),%rdx
27         andq    $-64,%rsp
28         movq    %rdi,64+0(%rsp)
29         movq    %rsi,64+8(%rsp)
30         movq    %rdx,64+16(%rsp)
31         movq    %r11,64+24(%rsp)
32 .Lprologue:
34         movl    0(%rdi),%eax
35         movl    4(%rdi),%ebx
36         movl    8(%rdi),%ecx
37         movl    12(%rdi),%edx
38         movl    16(%rdi),%r8d
39         movl    20(%rdi),%r9d
40         movl    24(%rdi),%r10d
41         movl    28(%rdi),%r11d
42         jmp     .Lloop
44 .align  16
45 .Lloop:
46         movl    %ebx,%edi
47         leaq    K256(%rip),%rbp
48         xorl    %ecx,%edi
49         movl    0(%rsi),%r12d
50         movl    %r8d,%r13d
51         movl    %eax,%r14d
52         bswapl  %r12d
53         rorl    $14,%r13d
54         movl    %r9d,%r15d
56         xorl    %r8d,%r13d
57         rorl    $9,%r14d
58         xorl    %r10d,%r15d
60         movl    %r12d,0(%rsp)
61         xorl    %eax,%r14d
62         andl    %r8d,%r15d
64         rorl    $5,%r13d
65         addl    %r11d,%r12d
66         xorl    %r10d,%r15d
68         rorl    $11,%r14d
69         xorl    %r8d,%r13d
70         addl    %r15d,%r12d
72         movl    %eax,%r15d
73         addl    (%rbp),%r12d
74         xorl    %eax,%r14d
76         xorl    %ebx,%r15d
77         rorl    $6,%r13d
78         movl    %ebx,%r11d
80         andl    %r15d,%edi
81         rorl    $2,%r14d
82         addl    %r13d,%r12d
84         xorl    %edi,%r11d
85         addl    %r12d,%edx
86         addl    %r12d,%r11d
88         leaq    4(%rbp),%rbp
89         addl    %r14d,%r11d
90         movl    4(%rsi),%r12d
91         movl    %edx,%r13d
92         movl    %r11d,%r14d
93         bswapl  %r12d
94         rorl    $14,%r13d
95         movl    %r8d,%edi
97         xorl    %edx,%r13d
98         rorl    $9,%r14d
99         xorl    %r9d,%edi
101         movl    %r12d,4(%rsp)
102         xorl    %r11d,%r14d
103         andl    %edx,%edi
105         rorl    $5,%r13d
106         addl    %r10d,%r12d
107         xorl    %r9d,%edi
109         rorl    $11,%r14d
110         xorl    %edx,%r13d
111         addl    %edi,%r12d
113         movl    %r11d,%edi
114         addl    (%rbp),%r12d
115         xorl    %r11d,%r14d
117         xorl    %eax,%edi
118         rorl    $6,%r13d
119         movl    %eax,%r10d
121         andl    %edi,%r15d
122         rorl    $2,%r14d
123         addl    %r13d,%r12d
125         xorl    %r15d,%r10d
126         addl    %r12d,%ecx
127         addl    %r12d,%r10d
129         leaq    4(%rbp),%rbp
130         addl    %r14d,%r10d
131         movl    8(%rsi),%r12d
132         movl    %ecx,%r13d
133         movl    %r10d,%r14d
134         bswapl  %r12d
135         rorl    $14,%r13d
136         movl    %edx,%r15d
138         xorl    %ecx,%r13d
139         rorl    $9,%r14d
140         xorl    %r8d,%r15d
142         movl    %r12d,8(%rsp)
143         xorl    %r10d,%r14d
144         andl    %ecx,%r15d
146         rorl    $5,%r13d
147         addl    %r9d,%r12d
148         xorl    %r8d,%r15d
150         rorl    $11,%r14d
151         xorl    %ecx,%r13d
152         addl    %r15d,%r12d
154         movl    %r10d,%r15d
155         addl    (%rbp),%r12d
156         xorl    %r10d,%r14d
158         xorl    %r11d,%r15d
159         rorl    $6,%r13d
160         movl    %r11d,%r9d
162         andl    %r15d,%edi
163         rorl    $2,%r14d
164         addl    %r13d,%r12d
166         xorl    %edi,%r9d
167         addl    %r12d,%ebx
168         addl    %r12d,%r9d
170         leaq    4(%rbp),%rbp
171         addl    %r14d,%r9d
172         movl    12(%rsi),%r12d
173         movl    %ebx,%r13d
174         movl    %r9d,%r14d
175         bswapl  %r12d
176         rorl    $14,%r13d
177         movl    %ecx,%edi
179         xorl    %ebx,%r13d
180         rorl    $9,%r14d
181         xorl    %edx,%edi
183         movl    %r12d,12(%rsp)
184         xorl    %r9d,%r14d
185         andl    %ebx,%edi
187         rorl    $5,%r13d
188         addl    %r8d,%r12d
189         xorl    %edx,%edi
191         rorl    $11,%r14d
192         xorl    %ebx,%r13d
193         addl    %edi,%r12d
195         movl    %r9d,%edi
196         addl    (%rbp),%r12d
197         xorl    %r9d,%r14d
199         xorl    %r10d,%edi
200         rorl    $6,%r13d
201         movl    %r10d,%r8d
203         andl    %edi,%r15d
204         rorl    $2,%r14d
205         addl    %r13d,%r12d
207         xorl    %r15d,%r8d
208         addl    %r12d,%eax
209         addl    %r12d,%r8d
211         leaq    20(%rbp),%rbp
212         addl    %r14d,%r8d
213         movl    16(%rsi),%r12d
214         movl    %eax,%r13d
215         movl    %r8d,%r14d
216         bswapl  %r12d
217         rorl    $14,%r13d
218         movl    %ebx,%r15d
220         xorl    %eax,%r13d
221         rorl    $9,%r14d
222         xorl    %ecx,%r15d
224         movl    %r12d,16(%rsp)
225         xorl    %r8d,%r14d
226         andl    %eax,%r15d
228         rorl    $5,%r13d
229         addl    %edx,%r12d
230         xorl    %ecx,%r15d
232         rorl    $11,%r14d
233         xorl    %eax,%r13d
234         addl    %r15d,%r12d
236         movl    %r8d,%r15d
237         addl    (%rbp),%r12d
238         xorl    %r8d,%r14d
240         xorl    %r9d,%r15d
241         rorl    $6,%r13d
242         movl    %r9d,%edx
244         andl    %r15d,%edi
245         rorl    $2,%r14d
246         addl    %r13d,%r12d
248         xorl    %edi,%edx
249         addl    %r12d,%r11d
250         addl    %r12d,%edx
252         leaq    4(%rbp),%rbp
253         addl    %r14d,%edx
254         movl    20(%rsi),%r12d
255         movl    %r11d,%r13d
256         movl    %edx,%r14d
257         bswapl  %r12d
258         rorl    $14,%r13d
259         movl    %eax,%edi
261         xorl    %r11d,%r13d
262         rorl    $9,%r14d
263         xorl    %ebx,%edi
265         movl    %r12d,20(%rsp)
266         xorl    %edx,%r14d
267         andl    %r11d,%edi
269         rorl    $5,%r13d
270         addl    %ecx,%r12d
271         xorl    %ebx,%edi
273         rorl    $11,%r14d
274         xorl    %r11d,%r13d
275         addl    %edi,%r12d
277         movl    %edx,%edi
278         addl    (%rbp),%r12d
279         xorl    %edx,%r14d
281         xorl    %r8d,%edi
282         rorl    $6,%r13d
283         movl    %r8d,%ecx
285         andl    %edi,%r15d
286         rorl    $2,%r14d
287         addl    %r13d,%r12d
289         xorl    %r15d,%ecx
290         addl    %r12d,%r10d
291         addl    %r12d,%ecx
293         leaq    4(%rbp),%rbp
294         addl    %r14d,%ecx
295         movl    24(%rsi),%r12d
296         movl    %r10d,%r13d
297         movl    %ecx,%r14d
298         bswapl  %r12d
299         rorl    $14,%r13d
300         movl    %r11d,%r15d
302         xorl    %r10d,%r13d
303         rorl    $9,%r14d
304         xorl    %eax,%r15d
306         movl    %r12d,24(%rsp)
307         xorl    %ecx,%r14d
308         andl    %r10d,%r15d
310         rorl    $5,%r13d
311         addl    %ebx,%r12d
312         xorl    %eax,%r15d
314         rorl    $11,%r14d
315         xorl    %r10d,%r13d
316         addl    %r15d,%r12d
318         movl    %ecx,%r15d
319         addl    (%rbp),%r12d
320         xorl    %ecx,%r14d
322         xorl    %edx,%r15d
323         rorl    $6,%r13d
324         movl    %edx,%ebx
326         andl    %r15d,%edi
327         rorl    $2,%r14d
328         addl    %r13d,%r12d
330         xorl    %edi,%ebx
331         addl    %r12d,%r9d
332         addl    %r12d,%ebx
334         leaq    4(%rbp),%rbp
335         addl    %r14d,%ebx
336         movl    28(%rsi),%r12d
337         movl    %r9d,%r13d
338         movl    %ebx,%r14d
339         bswapl  %r12d
340         rorl    $14,%r13d
341         movl    %r10d,%edi
343         xorl    %r9d,%r13d
344         rorl    $9,%r14d
345         xorl    %r11d,%edi
347         movl    %r12d,28(%rsp)
348         xorl    %ebx,%r14d
349         andl    %r9d,%edi
351         rorl    $5,%r13d
352         addl    %eax,%r12d
353         xorl    %r11d,%edi
355         rorl    $11,%r14d
356         xorl    %r9d,%r13d
357         addl    %edi,%r12d
359         movl    %ebx,%edi
360         addl    (%rbp),%r12d
361         xorl    %ebx,%r14d
363         xorl    %ecx,%edi
364         rorl    $6,%r13d
365         movl    %ecx,%eax
367         andl    %edi,%r15d
368         rorl    $2,%r14d
369         addl    %r13d,%r12d
371         xorl    %r15d,%eax
372         addl    %r12d,%r8d
373         addl    %r12d,%eax
375         leaq    20(%rbp),%rbp
376         addl    %r14d,%eax
377         movl    32(%rsi),%r12d
378         movl    %r8d,%r13d
379         movl    %eax,%r14d
380         bswapl  %r12d
381         rorl    $14,%r13d
382         movl    %r9d,%r15d
384         xorl    %r8d,%r13d
385         rorl    $9,%r14d
386         xorl    %r10d,%r15d
388         movl    %r12d,32(%rsp)
389         xorl    %eax,%r14d
390         andl    %r8d,%r15d
392         rorl    $5,%r13d
393         addl    %r11d,%r12d
394         xorl    %r10d,%r15d
396         rorl    $11,%r14d
397         xorl    %r8d,%r13d
398         addl    %r15d,%r12d
400         movl    %eax,%r15d
401         addl    (%rbp),%r12d
402         xorl    %eax,%r14d
404         xorl    %ebx,%r15d
405         rorl    $6,%r13d
406         movl    %ebx,%r11d
408         andl    %r15d,%edi
409         rorl    $2,%r14d
410         addl    %r13d,%r12d
412         xorl    %edi,%r11d
413         addl    %r12d,%edx
414         addl    %r12d,%r11d
416         leaq    4(%rbp),%rbp
417         addl    %r14d,%r11d
418         movl    36(%rsi),%r12d
419         movl    %edx,%r13d
420         movl    %r11d,%r14d
421         bswapl  %r12d
422         rorl    $14,%r13d
423         movl    %r8d,%edi
425         xorl    %edx,%r13d
426         rorl    $9,%r14d
427         xorl    %r9d,%edi
429         movl    %r12d,36(%rsp)
430         xorl    %r11d,%r14d
431         andl    %edx,%edi
433         rorl    $5,%r13d
434         addl    %r10d,%r12d
435         xorl    %r9d,%edi
437         rorl    $11,%r14d
438         xorl    %edx,%r13d
439         addl    %edi,%r12d
441         movl    %r11d,%edi
442         addl    (%rbp),%r12d
443         xorl    %r11d,%r14d
445         xorl    %eax,%edi
446         rorl    $6,%r13d
447         movl    %eax,%r10d
449         andl    %edi,%r15d
450         rorl    $2,%r14d
451         addl    %r13d,%r12d
453         xorl    %r15d,%r10d
454         addl    %r12d,%ecx
455         addl    %r12d,%r10d
457         leaq    4(%rbp),%rbp
458         addl    %r14d,%r10d
459         movl    40(%rsi),%r12d
460         movl    %ecx,%r13d
461         movl    %r10d,%r14d
462         bswapl  %r12d
463         rorl    $14,%r13d
464         movl    %edx,%r15d
466         xorl    %ecx,%r13d
467         rorl    $9,%r14d
468         xorl    %r8d,%r15d
470         movl    %r12d,40(%rsp)
471         xorl    %r10d,%r14d
472         andl    %ecx,%r15d
474         rorl    $5,%r13d
475         addl    %r9d,%r12d
476         xorl    %r8d,%r15d
478         rorl    $11,%r14d
479         xorl    %ecx,%r13d
480         addl    %r15d,%r12d
482         movl    %r10d,%r15d
483         addl    (%rbp),%r12d
484         xorl    %r10d,%r14d
486         xorl    %r11d,%r15d
487         rorl    $6,%r13d
488         movl    %r11d,%r9d
490         andl    %r15d,%edi
491         rorl    $2,%r14d
492         addl    %r13d,%r12d
494         xorl    %edi,%r9d
495         addl    %r12d,%ebx
496         addl    %r12d,%r9d
498         leaq    4(%rbp),%rbp
499         addl    %r14d,%r9d
500         movl    44(%rsi),%r12d
501         movl    %ebx,%r13d
502         movl    %r9d,%r14d
503         bswapl  %r12d
504         rorl    $14,%r13d
505         movl    %ecx,%edi
507         xorl    %ebx,%r13d
508         rorl    $9,%r14d
509         xorl    %edx,%edi
511         movl    %r12d,44(%rsp)
512         xorl    %r9d,%r14d
513         andl    %ebx,%edi
515         rorl    $5,%r13d
516         addl    %r8d,%r12d
517         xorl    %edx,%edi
519         rorl    $11,%r14d
520         xorl    %ebx,%r13d
521         addl    %edi,%r12d
523         movl    %r9d,%edi
524         addl    (%rbp),%r12d
525         xorl    %r9d,%r14d
527         xorl    %r10d,%edi
528         rorl    $6,%r13d
529         movl    %r10d,%r8d
531         andl    %edi,%r15d
532         rorl    $2,%r14d
533         addl    %r13d,%r12d
535         xorl    %r15d,%r8d
536         addl    %r12d,%eax
537         addl    %r12d,%r8d
539         leaq    20(%rbp),%rbp
540         addl    %r14d,%r8d
541         movl    48(%rsi),%r12d
542         movl    %eax,%r13d
543         movl    %r8d,%r14d
544         bswapl  %r12d
545         rorl    $14,%r13d
546         movl    %ebx,%r15d
548         xorl    %eax,%r13d
549         rorl    $9,%r14d
550         xorl    %ecx,%r15d
552         movl    %r12d,48(%rsp)
553         xorl    %r8d,%r14d
554         andl    %eax,%r15d
556         rorl    $5,%r13d
557         addl    %edx,%r12d
558         xorl    %ecx,%r15d
560         rorl    $11,%r14d
561         xorl    %eax,%r13d
562         addl    %r15d,%r12d
564         movl    %r8d,%r15d
565         addl    (%rbp),%r12d
566         xorl    %r8d,%r14d
568         xorl    %r9d,%r15d
569         rorl    $6,%r13d
570         movl    %r9d,%edx
572         andl    %r15d,%edi
573         rorl    $2,%r14d
574         addl    %r13d,%r12d
576         xorl    %edi,%edx
577         addl    %r12d,%r11d
578         addl    %r12d,%edx
580         leaq    4(%rbp),%rbp
581         addl    %r14d,%edx
582         movl    52(%rsi),%r12d
583         movl    %r11d,%r13d
584         movl    %edx,%r14d
585         bswapl  %r12d
586         rorl    $14,%r13d
587         movl    %eax,%edi
589         xorl    %r11d,%r13d
590         rorl    $9,%r14d
591         xorl    %ebx,%edi
593         movl    %r12d,52(%rsp)
594         xorl    %edx,%r14d
595         andl    %r11d,%edi
597         rorl    $5,%r13d
598         addl    %ecx,%r12d
599         xorl    %ebx,%edi
601         rorl    $11,%r14d
602         xorl    %r11d,%r13d
603         addl    %edi,%r12d
605         movl    %edx,%edi
606         addl    (%rbp),%r12d
607         xorl    %edx,%r14d
609         xorl    %r8d,%edi
610         rorl    $6,%r13d
611         movl    %r8d,%ecx
613         andl    %edi,%r15d
614         rorl    $2,%r14d
615         addl    %r13d,%r12d
617         xorl    %r15d,%ecx
618         addl    %r12d,%r10d
619         addl    %r12d,%ecx
621         leaq    4(%rbp),%rbp
622         addl    %r14d,%ecx
623         movl    56(%rsi),%r12d
624         movl    %r10d,%r13d
625         movl    %ecx,%r14d
626         bswapl  %r12d
627         rorl    $14,%r13d
628         movl    %r11d,%r15d
630         xorl    %r10d,%r13d
631         rorl    $9,%r14d
632         xorl    %eax,%r15d
634         movl    %r12d,56(%rsp)
635         xorl    %ecx,%r14d
636         andl    %r10d,%r15d
638         rorl    $5,%r13d
639         addl    %ebx,%r12d
640         xorl    %eax,%r15d
642         rorl    $11,%r14d
643         xorl    %r10d,%r13d
644         addl    %r15d,%r12d
646         movl    %ecx,%r15d
647         addl    (%rbp),%r12d
648         xorl    %ecx,%r14d
650         xorl    %edx,%r15d
651         rorl    $6,%r13d
652         movl    %edx,%ebx
654         andl    %r15d,%edi
655         rorl    $2,%r14d
656         addl    %r13d,%r12d
658         xorl    %edi,%ebx
659         addl    %r12d,%r9d
660         addl    %r12d,%ebx
662         leaq    4(%rbp),%rbp
663         addl    %r14d,%ebx
664         movl    60(%rsi),%r12d
665         movl    %r9d,%r13d
666         movl    %ebx,%r14d
667         bswapl  %r12d
668         rorl    $14,%r13d
669         movl    %r10d,%edi
671         xorl    %r9d,%r13d
672         rorl    $9,%r14d
673         xorl    %r11d,%edi
675         movl    %r12d,60(%rsp)
676         xorl    %ebx,%r14d
677         andl    %r9d,%edi
679         rorl    $5,%r13d
680         addl    %eax,%r12d
681         xorl    %r11d,%edi
683         rorl    $11,%r14d
684         xorl    %r9d,%r13d
685         addl    %edi,%r12d
687         movl    %ebx,%edi
688         addl    (%rbp),%r12d
689         xorl    %ebx,%r14d
691         xorl    %ecx,%edi
692         rorl    $6,%r13d
693         movl    %ecx,%eax
695         andl    %edi,%r15d
696         rorl    $2,%r14d
697         addl    %r13d,%r12d
699         xorl    %r15d,%eax
700         addl    %r12d,%r8d
701         addl    %r12d,%eax
703         leaq    20(%rbp),%rbp
704         jmp     .Lrounds_16_xx
705 .align  16
706 .Lrounds_16_xx:
707         movl    4(%rsp),%r13d
708         movl    56(%rsp),%r15d
710         movl    %r13d,%r12d
711         rorl    $11,%r13d
712         addl    %r14d,%eax
713         movl    %r15d,%r14d
714         rorl    $2,%r15d
716         xorl    %r12d,%r13d
717         shrl    $3,%r12d
718         rorl    $7,%r13d
719         xorl    %r14d,%r15d
720         shrl    $10,%r14d
722         rorl    $17,%r15d
723         xorl    %r13d,%r12d
724         xorl    %r14d,%r15d
725         addl    36(%rsp),%r12d
727         addl    0(%rsp),%r12d
728         movl    %r8d,%r13d
729         addl    %r15d,%r12d
730         movl    %eax,%r14d
731         rorl    $14,%r13d
732         movl    %r9d,%r15d
734         xorl    %r8d,%r13d
735         rorl    $9,%r14d
736         xorl    %r10d,%r15d
738         movl    %r12d,0(%rsp)
739         xorl    %eax,%r14d
740         andl    %r8d,%r15d
742         rorl    $5,%r13d
743         addl    %r11d,%r12d
744         xorl    %r10d,%r15d
746         rorl    $11,%r14d
747         xorl    %r8d,%r13d
748         addl    %r15d,%r12d
750         movl    %eax,%r15d
751         addl    (%rbp),%r12d
752         xorl    %eax,%r14d
754         xorl    %ebx,%r15d
755         rorl    $6,%r13d
756         movl    %ebx,%r11d
758         andl    %r15d,%edi
759         rorl    $2,%r14d
760         addl    %r13d,%r12d
762         xorl    %edi,%r11d
763         addl    %r12d,%edx
764         addl    %r12d,%r11d
766         leaq    4(%rbp),%rbp
767         movl    8(%rsp),%r13d
768         movl    60(%rsp),%edi
770         movl    %r13d,%r12d
771         rorl    $11,%r13d
772         addl    %r14d,%r11d
773         movl    %edi,%r14d
774         rorl    $2,%edi
776         xorl    %r12d,%r13d
777         shrl    $3,%r12d
778         rorl    $7,%r13d
779         xorl    %r14d,%edi
780         shrl    $10,%r14d
782         rorl    $17,%edi
783         xorl    %r13d,%r12d
784         xorl    %r14d,%edi
785         addl    40(%rsp),%r12d
787         addl    4(%rsp),%r12d
788         movl    %edx,%r13d
789         addl    %edi,%r12d
790         movl    %r11d,%r14d
791         rorl    $14,%r13d
792         movl    %r8d,%edi
794         xorl    %edx,%r13d
795         rorl    $9,%r14d
796         xorl    %r9d,%edi
798         movl    %r12d,4(%rsp)
799         xorl    %r11d,%r14d
800         andl    %edx,%edi
802         rorl    $5,%r13d
803         addl    %r10d,%r12d
804         xorl    %r9d,%edi
806         rorl    $11,%r14d
807         xorl    %edx,%r13d
808         addl    %edi,%r12d
810         movl    %r11d,%edi
811         addl    (%rbp),%r12d
812         xorl    %r11d,%r14d
814         xorl    %eax,%edi
815         rorl    $6,%r13d
816         movl    %eax,%r10d
818         andl    %edi,%r15d
819         rorl    $2,%r14d
820         addl    %r13d,%r12d
822         xorl    %r15d,%r10d
823         addl    %r12d,%ecx
824         addl    %r12d,%r10d
826         leaq    4(%rbp),%rbp
827         movl    12(%rsp),%r13d
828         movl    0(%rsp),%r15d
830         movl    %r13d,%r12d
831         rorl    $11,%r13d
832         addl    %r14d,%r10d
833         movl    %r15d,%r14d
834         rorl    $2,%r15d
836         xorl    %r12d,%r13d
837         shrl    $3,%r12d
838         rorl    $7,%r13d
839         xorl    %r14d,%r15d
840         shrl    $10,%r14d
842         rorl    $17,%r15d
843         xorl    %r13d,%r12d
844         xorl    %r14d,%r15d
845         addl    44(%rsp),%r12d
847         addl    8(%rsp),%r12d
848         movl    %ecx,%r13d
849         addl    %r15d,%r12d
850         movl    %r10d,%r14d
851         rorl    $14,%r13d
852         movl    %edx,%r15d
854         xorl    %ecx,%r13d
855         rorl    $9,%r14d
856         xorl    %r8d,%r15d
858         movl    %r12d,8(%rsp)
859         xorl    %r10d,%r14d
860         andl    %ecx,%r15d
862         rorl    $5,%r13d
863         addl    %r9d,%r12d
864         xorl    %r8d,%r15d
866         rorl    $11,%r14d
867         xorl    %ecx,%r13d
868         addl    %r15d,%r12d
870         movl    %r10d,%r15d
871         addl    (%rbp),%r12d
872         xorl    %r10d,%r14d
874         xorl    %r11d,%r15d
875         rorl    $6,%r13d
876         movl    %r11d,%r9d
878         andl    %r15d,%edi
879         rorl    $2,%r14d
880         addl    %r13d,%r12d
882         xorl    %edi,%r9d
883         addl    %r12d,%ebx
884         addl    %r12d,%r9d
886         leaq    4(%rbp),%rbp
887         movl    16(%rsp),%r13d
888         movl    4(%rsp),%edi
890         movl    %r13d,%r12d
891         rorl    $11,%r13d
892         addl    %r14d,%r9d
893         movl    %edi,%r14d
894         rorl    $2,%edi
896         xorl    %r12d,%r13d
897         shrl    $3,%r12d
898         rorl    $7,%r13d
899         xorl    %r14d,%edi
900         shrl    $10,%r14d
902         rorl    $17,%edi
903         xorl    %r13d,%r12d
904         xorl    %r14d,%edi
905         addl    48(%rsp),%r12d
907         addl    12(%rsp),%r12d
908         movl    %ebx,%r13d
909         addl    %edi,%r12d
910         movl    %r9d,%r14d
911         rorl    $14,%r13d
912         movl    %ecx,%edi
914         xorl    %ebx,%r13d
915         rorl    $9,%r14d
916         xorl    %edx,%edi
918         movl    %r12d,12(%rsp)
919         xorl    %r9d,%r14d
920         andl    %ebx,%edi
922         rorl    $5,%r13d
923         addl    %r8d,%r12d
924         xorl    %edx,%edi
926         rorl    $11,%r14d
927         xorl    %ebx,%r13d
928         addl    %edi,%r12d
930         movl    %r9d,%edi
931         addl    (%rbp),%r12d
932         xorl    %r9d,%r14d
934         xorl    %r10d,%edi
935         rorl    $6,%r13d
936         movl    %r10d,%r8d
938         andl    %edi,%r15d
939         rorl    $2,%r14d
940         addl    %r13d,%r12d
942         xorl    %r15d,%r8d
943         addl    %r12d,%eax
944         addl    %r12d,%r8d
946         leaq    20(%rbp),%rbp
947         movl    20(%rsp),%r13d
948         movl    8(%rsp),%r15d
950         movl    %r13d,%r12d
951         rorl    $11,%r13d
952         addl    %r14d,%r8d
953         movl    %r15d,%r14d
954         rorl    $2,%r15d
956         xorl    %r12d,%r13d
957         shrl    $3,%r12d
958         rorl    $7,%r13d
959         xorl    %r14d,%r15d
960         shrl    $10,%r14d
962         rorl    $17,%r15d
963         xorl    %r13d,%r12d
964         xorl    %r14d,%r15d
965         addl    52(%rsp),%r12d
967         addl    16(%rsp),%r12d
968         movl    %eax,%r13d
969         addl    %r15d,%r12d
970         movl    %r8d,%r14d
971         rorl    $14,%r13d
972         movl    %ebx,%r15d
974         xorl    %eax,%r13d
975         rorl    $9,%r14d
976         xorl    %ecx,%r15d
978         movl    %r12d,16(%rsp)
979         xorl    %r8d,%r14d
980         andl    %eax,%r15d
982         rorl    $5,%r13d
983         addl    %edx,%r12d
984         xorl    %ecx,%r15d
986         rorl    $11,%r14d
987         xorl    %eax,%r13d
988         addl    %r15d,%r12d
990         movl    %r8d,%r15d
991         addl    (%rbp),%r12d
992         xorl    %r8d,%r14d
994         xorl    %r9d,%r15d
995         rorl    $6,%r13d
996         movl    %r9d,%edx
998         andl    %r15d,%edi
999         rorl    $2,%r14d
1000         addl    %r13d,%r12d
1002         xorl    %edi,%edx
1003         addl    %r12d,%r11d
1004         addl    %r12d,%edx
1006         leaq    4(%rbp),%rbp
1007         movl    24(%rsp),%r13d
1008         movl    12(%rsp),%edi
1010         movl    %r13d,%r12d
1011         rorl    $11,%r13d
1012         addl    %r14d,%edx
1013         movl    %edi,%r14d
1014         rorl    $2,%edi
1016         xorl    %r12d,%r13d
1017         shrl    $3,%r12d
1018         rorl    $7,%r13d
1019         xorl    %r14d,%edi
1020         shrl    $10,%r14d
1022         rorl    $17,%edi
1023         xorl    %r13d,%r12d
1024         xorl    %r14d,%edi
1025         addl    56(%rsp),%r12d
1027         addl    20(%rsp),%r12d
1028         movl    %r11d,%r13d
1029         addl    %edi,%r12d
1030         movl    %edx,%r14d
1031         rorl    $14,%r13d
1032         movl    %eax,%edi
1034         xorl    %r11d,%r13d
1035         rorl    $9,%r14d
1036         xorl    %ebx,%edi
1038         movl    %r12d,20(%rsp)
1039         xorl    %edx,%r14d
1040         andl    %r11d,%edi
1042         rorl    $5,%r13d
1043         addl    %ecx,%r12d
1044         xorl    %ebx,%edi
1046         rorl    $11,%r14d
1047         xorl    %r11d,%r13d
1048         addl    %edi,%r12d
1050         movl    %edx,%edi
1051         addl    (%rbp),%r12d
1052         xorl    %edx,%r14d
1054         xorl    %r8d,%edi
1055         rorl    $6,%r13d
1056         movl    %r8d,%ecx
1058         andl    %edi,%r15d
1059         rorl    $2,%r14d
1060         addl    %r13d,%r12d
1062         xorl    %r15d,%ecx
1063         addl    %r12d,%r10d
1064         addl    %r12d,%ecx
1066         leaq    4(%rbp),%rbp
1067         movl    28(%rsp),%r13d
1068         movl    16(%rsp),%r15d
1070         movl    %r13d,%r12d
1071         rorl    $11,%r13d
1072         addl    %r14d,%ecx
1073         movl    %r15d,%r14d
1074         rorl    $2,%r15d
1076         xorl    %r12d,%r13d
1077         shrl    $3,%r12d
1078         rorl    $7,%r13d
1079         xorl    %r14d,%r15d
1080         shrl    $10,%r14d
1082         rorl    $17,%r15d
1083         xorl    %r13d,%r12d
1084         xorl    %r14d,%r15d
1085         addl    60(%rsp),%r12d
1087         addl    24(%rsp),%r12d
1088         movl    %r10d,%r13d
1089         addl    %r15d,%r12d
1090         movl    %ecx,%r14d
1091         rorl    $14,%r13d
1092         movl    %r11d,%r15d
1094         xorl    %r10d,%r13d
1095         rorl    $9,%r14d
1096         xorl    %eax,%r15d
1098         movl    %r12d,24(%rsp)
1099         xorl    %ecx,%r14d
1100         andl    %r10d,%r15d
1102         rorl    $5,%r13d
1103         addl    %ebx,%r12d
1104         xorl    %eax,%r15d
1106         rorl    $11,%r14d
1107         xorl    %r10d,%r13d
1108         addl    %r15d,%r12d
1110         movl    %ecx,%r15d
1111         addl    (%rbp),%r12d
1112         xorl    %ecx,%r14d
1114         xorl    %edx,%r15d
1115         rorl    $6,%r13d
1116         movl    %edx,%ebx
1118         andl    %r15d,%edi
1119         rorl    $2,%r14d
1120         addl    %r13d,%r12d
1122         xorl    %edi,%ebx
1123         addl    %r12d,%r9d
1124         addl    %r12d,%ebx
1126         leaq    4(%rbp),%rbp
1127         movl    32(%rsp),%r13d
1128         movl    20(%rsp),%edi
1130         movl    %r13d,%r12d
1131         rorl    $11,%r13d
1132         addl    %r14d,%ebx
1133         movl    %edi,%r14d
1134         rorl    $2,%edi
1136         xorl    %r12d,%r13d
1137         shrl    $3,%r12d
1138         rorl    $7,%r13d
1139         xorl    %r14d,%edi
1140         shrl    $10,%r14d
1142         rorl    $17,%edi
1143         xorl    %r13d,%r12d
1144         xorl    %r14d,%edi
1145         addl    0(%rsp),%r12d
1147         addl    28(%rsp),%r12d
1148         movl    %r9d,%r13d
1149         addl    %edi,%r12d
1150         movl    %ebx,%r14d
1151         rorl    $14,%r13d
1152         movl    %r10d,%edi
1154         xorl    %r9d,%r13d
1155         rorl    $9,%r14d
1156         xorl    %r11d,%edi
1158         movl    %r12d,28(%rsp)
1159         xorl    %ebx,%r14d
1160         andl    %r9d,%edi
1162         rorl    $5,%r13d
1163         addl    %eax,%r12d
1164         xorl    %r11d,%edi
1166         rorl    $11,%r14d
1167         xorl    %r9d,%r13d
1168         addl    %edi,%r12d
1170         movl    %ebx,%edi
1171         addl    (%rbp),%r12d
1172         xorl    %ebx,%r14d
1174         xorl    %ecx,%edi
1175         rorl    $6,%r13d
1176         movl    %ecx,%eax
1178         andl    %edi,%r15d
1179         rorl    $2,%r14d
1180         addl    %r13d,%r12d
1182         xorl    %r15d,%eax
1183         addl    %r12d,%r8d
1184         addl    %r12d,%eax
1186         leaq    20(%rbp),%rbp
1187         movl    36(%rsp),%r13d
1188         movl    24(%rsp),%r15d
1190         movl    %r13d,%r12d
1191         rorl    $11,%r13d
1192         addl    %r14d,%eax
1193         movl    %r15d,%r14d
1194         rorl    $2,%r15d
1196         xorl    %r12d,%r13d
1197         shrl    $3,%r12d
1198         rorl    $7,%r13d
1199         xorl    %r14d,%r15d
1200         shrl    $10,%r14d
1202         rorl    $17,%r15d
1203         xorl    %r13d,%r12d
1204         xorl    %r14d,%r15d
1205         addl    4(%rsp),%r12d
1207         addl    32(%rsp),%r12d
1208         movl    %r8d,%r13d
1209         addl    %r15d,%r12d
1210         movl    %eax,%r14d
1211         rorl    $14,%r13d
1212         movl    %r9d,%r15d
1214         xorl    %r8d,%r13d
1215         rorl    $9,%r14d
1216         xorl    %r10d,%r15d
1218         movl    %r12d,32(%rsp)
1219         xorl    %eax,%r14d
1220         andl    %r8d,%r15d
1222         rorl    $5,%r13d
1223         addl    %r11d,%r12d
1224         xorl    %r10d,%r15d
1226         rorl    $11,%r14d
1227         xorl    %r8d,%r13d
1228         addl    %r15d,%r12d
1230         movl    %eax,%r15d
1231         addl    (%rbp),%r12d
1232         xorl    %eax,%r14d
1234         xorl    %ebx,%r15d
1235         rorl    $6,%r13d
1236         movl    %ebx,%r11d
1238         andl    %r15d,%edi
1239         rorl    $2,%r14d
1240         addl    %r13d,%r12d
1242         xorl    %edi,%r11d
1243         addl    %r12d,%edx
1244         addl    %r12d,%r11d
1246         leaq    4(%rbp),%rbp
1247         movl    40(%rsp),%r13d
1248         movl    28(%rsp),%edi
1250         movl    %r13d,%r12d
1251         rorl    $11,%r13d
1252         addl    %r14d,%r11d
1253         movl    %edi,%r14d
1254         rorl    $2,%edi
1256         xorl    %r12d,%r13d
1257         shrl    $3,%r12d
1258         rorl    $7,%r13d
1259         xorl    %r14d,%edi
1260         shrl    $10,%r14d
1262         rorl    $17,%edi
1263         xorl    %r13d,%r12d
1264         xorl    %r14d,%edi
1265         addl    8(%rsp),%r12d
1267         addl    36(%rsp),%r12d
1268         movl    %edx,%r13d
1269         addl    %edi,%r12d
1270         movl    %r11d,%r14d
1271         rorl    $14,%r13d
1272         movl    %r8d,%edi
1274         xorl    %edx,%r13d
1275         rorl    $9,%r14d
1276         xorl    %r9d,%edi
1278         movl    %r12d,36(%rsp)
1279         xorl    %r11d,%r14d
1280         andl    %edx,%edi
1282         rorl    $5,%r13d
1283         addl    %r10d,%r12d
1284         xorl    %r9d,%edi
1286         rorl    $11,%r14d
1287         xorl    %edx,%r13d
1288         addl    %edi,%r12d
1290         movl    %r11d,%edi
1291         addl    (%rbp),%r12d
1292         xorl    %r11d,%r14d
1294         xorl    %eax,%edi
1295         rorl    $6,%r13d
1296         movl    %eax,%r10d
1298         andl    %edi,%r15d
1299         rorl    $2,%r14d
1300         addl    %r13d,%r12d
1302         xorl    %r15d,%r10d
1303         addl    %r12d,%ecx
1304         addl    %r12d,%r10d
1306         leaq    4(%rbp),%rbp
1307         movl    44(%rsp),%r13d
1308         movl    32(%rsp),%r15d
1310         movl    %r13d,%r12d
1311         rorl    $11,%r13d
1312         addl    %r14d,%r10d
1313         movl    %r15d,%r14d
1314         rorl    $2,%r15d
1316         xorl    %r12d,%r13d
1317         shrl    $3,%r12d
1318         rorl    $7,%r13d
1319         xorl    %r14d,%r15d
1320         shrl    $10,%r14d
1322         rorl    $17,%r15d
1323         xorl    %r13d,%r12d
1324         xorl    %r14d,%r15d
1325         addl    12(%rsp),%r12d
1327         addl    40(%rsp),%r12d
1328         movl    %ecx,%r13d
1329         addl    %r15d,%r12d
1330         movl    %r10d,%r14d
1331         rorl    $14,%r13d
1332         movl    %edx,%r15d
1334         xorl    %ecx,%r13d
1335         rorl    $9,%r14d
1336         xorl    %r8d,%r15d
1338         movl    %r12d,40(%rsp)
1339         xorl    %r10d,%r14d
1340         andl    %ecx,%r15d
1342         rorl    $5,%r13d
1343         addl    %r9d,%r12d
1344         xorl    %r8d,%r15d
1346         rorl    $11,%r14d
1347         xorl    %ecx,%r13d
1348         addl    %r15d,%r12d
1350         movl    %r10d,%r15d
1351         addl    (%rbp),%r12d
1352         xorl    %r10d,%r14d
1354         xorl    %r11d,%r15d
1355         rorl    $6,%r13d
1356         movl    %r11d,%r9d
1358         andl    %r15d,%edi
1359         rorl    $2,%r14d
1360         addl    %r13d,%r12d
1362         xorl    %edi,%r9d
1363         addl    %r12d,%ebx
1364         addl    %r12d,%r9d
1366         leaq    4(%rbp),%rbp
1367         movl    48(%rsp),%r13d
1368         movl    36(%rsp),%edi
1370         movl    %r13d,%r12d
1371         rorl    $11,%r13d
1372         addl    %r14d,%r9d
1373         movl    %edi,%r14d
1374         rorl    $2,%edi
1376         xorl    %r12d,%r13d
1377         shrl    $3,%r12d
1378         rorl    $7,%r13d
1379         xorl    %r14d,%edi
1380         shrl    $10,%r14d
1382         rorl    $17,%edi
1383         xorl    %r13d,%r12d
1384         xorl    %r14d,%edi
1385         addl    16(%rsp),%r12d
1387         addl    44(%rsp),%r12d
1388         movl    %ebx,%r13d
1389         addl    %edi,%r12d
1390         movl    %r9d,%r14d
1391         rorl    $14,%r13d
1392         movl    %ecx,%edi
1394         xorl    %ebx,%r13d
1395         rorl    $9,%r14d
1396         xorl    %edx,%edi
1398         movl    %r12d,44(%rsp)
1399         xorl    %r9d,%r14d
1400         andl    %ebx,%edi
1402         rorl    $5,%r13d
1403         addl    %r8d,%r12d
1404         xorl    %edx,%edi
1406         rorl    $11,%r14d
1407         xorl    %ebx,%r13d
1408         addl    %edi,%r12d
1410         movl    %r9d,%edi
1411         addl    (%rbp),%r12d
1412         xorl    %r9d,%r14d
1414         xorl    %r10d,%edi
1415         rorl    $6,%r13d
1416         movl    %r10d,%r8d
1418         andl    %edi,%r15d
1419         rorl    $2,%r14d
1420         addl    %r13d,%r12d
1422         xorl    %r15d,%r8d
1423         addl    %r12d,%eax
1424         addl    %r12d,%r8d
1426         leaq    20(%rbp),%rbp
1427         movl    52(%rsp),%r13d
1428         movl    40(%rsp),%r15d
1430         movl    %r13d,%r12d
1431         rorl    $11,%r13d
1432         addl    %r14d,%r8d
1433         movl    %r15d,%r14d
1434         rorl    $2,%r15d
1436         xorl    %r12d,%r13d
1437         shrl    $3,%r12d
1438         rorl    $7,%r13d
1439         xorl    %r14d,%r15d
1440         shrl    $10,%r14d
1442         rorl    $17,%r15d
1443         xorl    %r13d,%r12d
1444         xorl    %r14d,%r15d
1445         addl    20(%rsp),%r12d
1447         addl    48(%rsp),%r12d
1448         movl    %eax,%r13d
1449         addl    %r15d,%r12d
1450         movl    %r8d,%r14d
1451         rorl    $14,%r13d
1452         movl    %ebx,%r15d
1454         xorl    %eax,%r13d
1455         rorl    $9,%r14d
1456         xorl    %ecx,%r15d
1458         movl    %r12d,48(%rsp)
1459         xorl    %r8d,%r14d
1460         andl    %eax,%r15d
1462         rorl    $5,%r13d
1463         addl    %edx,%r12d
1464         xorl    %ecx,%r15d
1466         rorl    $11,%r14d
1467         xorl    %eax,%r13d
1468         addl    %r15d,%r12d
1470         movl    %r8d,%r15d
1471         addl    (%rbp),%r12d
1472         xorl    %r8d,%r14d
1474         xorl    %r9d,%r15d
1475         rorl    $6,%r13d
1476         movl    %r9d,%edx
1478         andl    %r15d,%edi
1479         rorl    $2,%r14d
1480         addl    %r13d,%r12d
1482         xorl    %edi,%edx
1483         addl    %r12d,%r11d
1484         addl    %r12d,%edx
1486         leaq    4(%rbp),%rbp
1487         movl    56(%rsp),%r13d
1488         movl    44(%rsp),%edi
1490         movl    %r13d,%r12d
1491         rorl    $11,%r13d
1492         addl    %r14d,%edx
1493         movl    %edi,%r14d
1494         rorl    $2,%edi
1496         xorl    %r12d,%r13d
1497         shrl    $3,%r12d
1498         rorl    $7,%r13d
1499         xorl    %r14d,%edi
1500         shrl    $10,%r14d
1502         rorl    $17,%edi
1503         xorl    %r13d,%r12d
1504         xorl    %r14d,%edi
1505         addl    24(%rsp),%r12d
1507         addl    52(%rsp),%r12d
1508         movl    %r11d,%r13d
1509         addl    %edi,%r12d
1510         movl    %edx,%r14d
1511         rorl    $14,%r13d
1512         movl    %eax,%edi
1514         xorl    %r11d,%r13d
1515         rorl    $9,%r14d
1516         xorl    %ebx,%edi
1518         movl    %r12d,52(%rsp)
1519         xorl    %edx,%r14d
1520         andl    %r11d,%edi
1522         rorl    $5,%r13d
1523         addl    %ecx,%r12d
1524         xorl    %ebx,%edi
1526         rorl    $11,%r14d
1527         xorl    %r11d,%r13d
1528         addl    %edi,%r12d
1530         movl    %edx,%edi
1531         addl    (%rbp),%r12d
1532         xorl    %edx,%r14d
1534         xorl    %r8d,%edi
1535         rorl    $6,%r13d
1536         movl    %r8d,%ecx
1538         andl    %edi,%r15d
1539         rorl    $2,%r14d
1540         addl    %r13d,%r12d
1542         xorl    %r15d,%ecx
1543         addl    %r12d,%r10d
1544         addl    %r12d,%ecx
1546         leaq    4(%rbp),%rbp
1547         movl    60(%rsp),%r13d
1548         movl    48(%rsp),%r15d
1550         movl    %r13d,%r12d
1551         rorl    $11,%r13d
1552         addl    %r14d,%ecx
1553         movl    %r15d,%r14d
1554         rorl    $2,%r15d
1556         xorl    %r12d,%r13d
1557         shrl    $3,%r12d
1558         rorl    $7,%r13d
1559         xorl    %r14d,%r15d
1560         shrl    $10,%r14d
1562         rorl    $17,%r15d
1563         xorl    %r13d,%r12d
1564         xorl    %r14d,%r15d
1565         addl    28(%rsp),%r12d
1567         addl    56(%rsp),%r12d
1568         movl    %r10d,%r13d
1569         addl    %r15d,%r12d
1570         movl    %ecx,%r14d
1571         rorl    $14,%r13d
1572         movl    %r11d,%r15d
1574         xorl    %r10d,%r13d
1575         rorl    $9,%r14d
1576         xorl    %eax,%r15d
1578         movl    %r12d,56(%rsp)
1579         xorl    %ecx,%r14d
1580         andl    %r10d,%r15d
1582         rorl    $5,%r13d
1583         addl    %ebx,%r12d
1584         xorl    %eax,%r15d
1586         rorl    $11,%r14d
1587         xorl    %r10d,%r13d
1588         addl    %r15d,%r12d
1590         movl    %ecx,%r15d
1591         addl    (%rbp),%r12d
1592         xorl    %ecx,%r14d
1594         xorl    %edx,%r15d
1595         rorl    $6,%r13d
1596         movl    %edx,%ebx
1598         andl    %r15d,%edi
1599         rorl    $2,%r14d
1600         addl    %r13d,%r12d
1602         xorl    %edi,%ebx
1603         addl    %r12d,%r9d
1604         addl    %r12d,%ebx
1606         leaq    4(%rbp),%rbp
1607         movl    0(%rsp),%r13d
1608         movl    52(%rsp),%edi
1610         movl    %r13d,%r12d
1611         rorl    $11,%r13d
1612         addl    %r14d,%ebx
1613         movl    %edi,%r14d
1614         rorl    $2,%edi
1616         xorl    %r12d,%r13d
1617         shrl    $3,%r12d
1618         rorl    $7,%r13d
1619         xorl    %r14d,%edi
1620         shrl    $10,%r14d
1622         rorl    $17,%edi
1623         xorl    %r13d,%r12d
1624         xorl    %r14d,%edi
1625         addl    32(%rsp),%r12d
1627         addl    60(%rsp),%r12d
1628         movl    %r9d,%r13d
1629         addl    %edi,%r12d
1630         movl    %ebx,%r14d
1631         rorl    $14,%r13d
1632         movl    %r10d,%edi
1634         xorl    %r9d,%r13d
1635         rorl    $9,%r14d
1636         xorl    %r11d,%edi
1638         movl    %r12d,60(%rsp)
1639         xorl    %ebx,%r14d
1640         andl    %r9d,%edi
1642         rorl    $5,%r13d
1643         addl    %eax,%r12d
1644         xorl    %r11d,%edi
1646         rorl    $11,%r14d
1647         xorl    %r9d,%r13d
1648         addl    %edi,%r12d
1650         movl    %ebx,%edi
1651         addl    (%rbp),%r12d
1652         xorl    %ebx,%r14d
1654         xorl    %ecx,%edi
1655         rorl    $6,%r13d
1656         movl    %ecx,%eax
1658         andl    %edi,%r15d
1659         rorl    $2,%r14d
1660         addl    %r13d,%r12d
1662         xorl    %r15d,%eax
1663         addl    %r12d,%r8d
1664         addl    %r12d,%eax
1666         leaq    20(%rbp),%rbp
1667         cmpb    $0,3(%rbp)
1668         jnz     .Lrounds_16_xx
1670         movq    64+0(%rsp),%rdi
1671         addl    %r14d,%eax
1672         leaq    64(%rsi),%rsi
1674         addl    0(%rdi),%eax
1675         addl    4(%rdi),%ebx
1676         addl    8(%rdi),%ecx
1677         addl    12(%rdi),%edx
1678         addl    16(%rdi),%r8d
1679         addl    20(%rdi),%r9d
1680         addl    24(%rdi),%r10d
1681         addl    28(%rdi),%r11d
1683         cmpq    64+16(%rsp),%rsi
1685         movl    %eax,0(%rdi)
1686         movl    %ebx,4(%rdi)
1687         movl    %ecx,8(%rdi)
1688         movl    %edx,12(%rdi)
1689         movl    %r8d,16(%rdi)
1690         movl    %r9d,20(%rdi)
1691         movl    %r10d,24(%rdi)
1692         movl    %r11d,28(%rdi)
1693         jb      .Lloop
1695         movq    64+24(%rsp),%rsi
1696         movq    (%rsi),%r15
1697         movq    8(%rsi),%r14
1698         movq    16(%rsi),%r13
1699         movq    24(%rsi),%r12
1700         movq    32(%rsi),%rbp
1701         movq    40(%rsi),%rbx
1702         leaq    48(%rsi),%rsp
1703 .Lepilogue:
1704         .byte   0xf3,0xc3
1705 .size   sha256_block_data_order,.-sha256_block_data_order
1706 .align  64
1707 .type   K256,@object
1708 K256:
1709 .long   0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1710 .long   0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1711 .long   0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1712 .long   0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1713 .long   0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1714 .long   0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1715 .long   0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1716 .long   0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1717 .long   0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1718 .long   0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1719 .long   0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1720 .long   0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1721 .long   0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1722 .long   0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1723 .long   0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1724 .long   0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1725 .long   0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1726 .long   0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1727 .long   0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1728 .long   0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1729 .long   0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1730 .long   0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1731 .long   0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1732 .long   0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1733 .long   0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1734 .long   0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1735 .long   0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1736 .long   0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1737 .long   0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1738 .long   0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1739 .long   0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1740 .long   0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1742 .long   0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1743 .long   0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1744 .long   0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1745 .long   0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1746 .long   0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1747 .long   0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1748 .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 .type   sha256_block_data_order_ssse3,@function
1750 .align  64
1751 sha256_block_data_order_ssse3:
1752 .Lssse3_shortcut:
1753         pushq   %rbx
1754         pushq   %rbp
1755         pushq   %r12
1756         pushq   %r13
1757         pushq   %r14
1758         pushq   %r15
1759         movq    %rsp,%r11
1760         shlq    $4,%rdx
1761         subq    $96,%rsp
1762         leaq    (%rsi,%rdx,4),%rdx
1763         andq    $-64,%rsp
1764         movq    %rdi,64+0(%rsp)
1765         movq    %rsi,64+8(%rsp)
1766         movq    %rdx,64+16(%rsp)
1767         movq    %r11,64+24(%rsp)
1768 .Lprologue_ssse3:
1770         movl    0(%rdi),%eax
1771         movl    4(%rdi),%ebx
1772         movl    8(%rdi),%ecx
1773         movl    12(%rdi),%edx
1774         movl    16(%rdi),%r8d
1775         movl    20(%rdi),%r9d
1776         movl    24(%rdi),%r10d
1777         movl    28(%rdi),%r11d
1780         jmp     .Lloop_ssse3
1781 .align  16
1782 .Lloop_ssse3:
1783         movdqa  K256+512(%rip),%xmm7
1784         movdqu  0(%rsi),%xmm0
1785         movdqu  16(%rsi),%xmm1
1786         movdqu  32(%rsi),%xmm2
1787 .byte   102,15,56,0,199
1788         movdqu  48(%rsi),%xmm3
1789         leaq    K256(%rip),%rbp
1790 .byte   102,15,56,0,207
1791         movdqa  0(%rbp),%xmm4
1792         movdqa  32(%rbp),%xmm5
1793 .byte   102,15,56,0,215
1794         paddd   %xmm0,%xmm4
1795         movdqa  64(%rbp),%xmm6
1796 .byte   102,15,56,0,223
1797         movdqa  96(%rbp),%xmm7
1798         paddd   %xmm1,%xmm5
1799         paddd   %xmm2,%xmm6
1800         paddd   %xmm3,%xmm7
1801         movdqa  %xmm4,0(%rsp)
1802         movl    %eax,%r14d
1803         movdqa  %xmm5,16(%rsp)
1804         movl    %ebx,%edi
1805         movdqa  %xmm6,32(%rsp)
1806         xorl    %ecx,%edi
1807         movdqa  %xmm7,48(%rsp)
1808         movl    %r8d,%r13d
1809         jmp     .Lssse3_00_47
1811 .align  16
1812 .Lssse3_00_47:
1813         subq    $-128,%rbp
1814         rorl    $14,%r13d
1815         movdqa  %xmm1,%xmm4
1816         movl    %r14d,%eax
1817         movl    %r9d,%r12d
1818         movdqa  %xmm3,%xmm7
1819         rorl    $9,%r14d
1820         xorl    %r8d,%r13d
1821         xorl    %r10d,%r12d
1822         rorl    $5,%r13d
1823         xorl    %eax,%r14d
1824 .byte   102,15,58,15,224,4
1825         andl    %r8d,%r12d
1826         xorl    %r8d,%r13d
1827 .byte   102,15,58,15,250,4
1828         addl    0(%rsp),%r11d
1829         movl    %eax,%r15d
1830         xorl    %r10d,%r12d
1831         rorl    $11,%r14d
1832         movdqa  %xmm4,%xmm5
1833         xorl    %ebx,%r15d
1834         addl    %r12d,%r11d
1835         movdqa  %xmm4,%xmm6
1836         rorl    $6,%r13d
1837         andl    %r15d,%edi
1838         psrld   $3,%xmm4
1839         xorl    %eax,%r14d
1840         addl    %r13d,%r11d
1841         xorl    %ebx,%edi
1842         paddd   %xmm7,%xmm0
1843         rorl    $2,%r14d
1844         addl    %r11d,%edx
1845         psrld   $7,%xmm6
1846         addl    %edi,%r11d
1847         movl    %edx,%r13d
1848         pshufd  $250,%xmm3,%xmm7
1849         addl    %r11d,%r14d
1850         rorl    $14,%r13d
1851         pslld   $14,%xmm5
1852         movl    %r14d,%r11d
1853         movl    %r8d,%r12d
1854         pxor    %xmm6,%xmm4
1855         rorl    $9,%r14d
1856         xorl    %edx,%r13d
1857         xorl    %r9d,%r12d
1858         rorl    $5,%r13d
1859         psrld   $11,%xmm6
1860         xorl    %r11d,%r14d
1861         pxor    %xmm5,%xmm4
1862         andl    %edx,%r12d
1863         xorl    %edx,%r13d
1864         pslld   $11,%xmm5
1865         addl    4(%rsp),%r10d
1866         movl    %r11d,%edi
1867         pxor    %xmm6,%xmm4
1868         xorl    %r9d,%r12d
1869         rorl    $11,%r14d
1870         movdqa  %xmm7,%xmm6
1871         xorl    %eax,%edi
1872         addl    %r12d,%r10d
1873         pxor    %xmm5,%xmm4
1874         rorl    $6,%r13d
1875         andl    %edi,%r15d
1876         xorl    %r11d,%r14d
1877         psrld   $10,%xmm7
1878         addl    %r13d,%r10d
1879         xorl    %eax,%r15d
1880         paddd   %xmm4,%xmm0
1881         rorl    $2,%r14d
1882         addl    %r10d,%ecx
1883         psrlq   $17,%xmm6
1884         addl    %r15d,%r10d
1885         movl    %ecx,%r13d
1886         addl    %r10d,%r14d
1887         pxor    %xmm6,%xmm7
1888         rorl    $14,%r13d
1889         movl    %r14d,%r10d
1890         movl    %edx,%r12d
1891         rorl    $9,%r14d
1892         psrlq   $2,%xmm6
1893         xorl    %ecx,%r13d
1894         xorl    %r8d,%r12d
1895         pxor    %xmm6,%xmm7
1896         rorl    $5,%r13d
1897         xorl    %r10d,%r14d
1898         andl    %ecx,%r12d
1899         pshufd  $128,%xmm7,%xmm7
1900         xorl    %ecx,%r13d
1901         addl    8(%rsp),%r9d
1902         movl    %r10d,%r15d
1903         psrldq  $8,%xmm7
1904         xorl    %r8d,%r12d
1905         rorl    $11,%r14d
1906         xorl    %r11d,%r15d
1907         addl    %r12d,%r9d
1908         rorl    $6,%r13d
1909         paddd   %xmm7,%xmm0
1910         andl    %r15d,%edi
1911         xorl    %r10d,%r14d
1912         addl    %r13d,%r9d
1913         pshufd  $80,%xmm0,%xmm7
1914         xorl    %r11d,%edi
1915         rorl    $2,%r14d
1916         addl    %r9d,%ebx
1917         movdqa  %xmm7,%xmm6
1918         addl    %edi,%r9d
1919         movl    %ebx,%r13d
1920         psrld   $10,%xmm7
1921         addl    %r9d,%r14d
1922         rorl    $14,%r13d
1923         psrlq   $17,%xmm6
1924         movl    %r14d,%r9d
1925         movl    %ecx,%r12d
1926         pxor    %xmm6,%xmm7
1927         rorl    $9,%r14d
1928         xorl    %ebx,%r13d
1929         xorl    %edx,%r12d
1930         rorl    $5,%r13d
1931         xorl    %r9d,%r14d
1932         psrlq   $2,%xmm6
1933         andl    %ebx,%r12d
1934         xorl    %ebx,%r13d
1935         addl    12(%rsp),%r8d
1936         pxor    %xmm6,%xmm7
1937         movl    %r9d,%edi
1938         xorl    %edx,%r12d
1939         rorl    $11,%r14d
1940         pshufd  $8,%xmm7,%xmm7
1941         xorl    %r10d,%edi
1942         addl    %r12d,%r8d
1943         movdqa  0(%rbp),%xmm6
1944         rorl    $6,%r13d
1945         andl    %edi,%r15d
1946         pslldq  $8,%xmm7
1947         xorl    %r9d,%r14d
1948         addl    %r13d,%r8d
1949         xorl    %r10d,%r15d
1950         paddd   %xmm7,%xmm0
1951         rorl    $2,%r14d
1952         addl    %r8d,%eax
1953         addl    %r15d,%r8d
1954         paddd   %xmm0,%xmm6
1955         movl    %eax,%r13d
1956         addl    %r8d,%r14d
1957         movdqa  %xmm6,0(%rsp)
1958         rorl    $14,%r13d
1959         movdqa  %xmm2,%xmm4
1960         movl    %r14d,%r8d
1961         movl    %ebx,%r12d
1962         movdqa  %xmm0,%xmm7
1963         rorl    $9,%r14d
1964         xorl    %eax,%r13d
1965         xorl    %ecx,%r12d
1966         rorl    $5,%r13d
1967         xorl    %r8d,%r14d
1968 .byte   102,15,58,15,225,4
1969         andl    %eax,%r12d
1970         xorl    %eax,%r13d
1971 .byte   102,15,58,15,251,4
1972         addl    16(%rsp),%edx
1973         movl    %r8d,%r15d
1974         xorl    %ecx,%r12d
1975         rorl    $11,%r14d
1976         movdqa  %xmm4,%xmm5
1977         xorl    %r9d,%r15d
1978         addl    %r12d,%edx
1979         movdqa  %xmm4,%xmm6
1980         rorl    $6,%r13d
1981         andl    %r15d,%edi
1982         psrld   $3,%xmm4
1983         xorl    %r8d,%r14d
1984         addl    %r13d,%edx
1985         xorl    %r9d,%edi
1986         paddd   %xmm7,%xmm1
1987         rorl    $2,%r14d
1988         addl    %edx,%r11d
1989         psrld   $7,%xmm6
1990         addl    %edi,%edx
1991         movl    %r11d,%r13d
1992         pshufd  $250,%xmm0,%xmm7
1993         addl    %edx,%r14d
1994         rorl    $14,%r13d
1995         pslld   $14,%xmm5
1996         movl    %r14d,%edx
1997         movl    %eax,%r12d
1998         pxor    %xmm6,%xmm4
1999         rorl    $9,%r14d
2000         xorl    %r11d,%r13d
2001         xorl    %ebx,%r12d
2002         rorl    $5,%r13d
2003         psrld   $11,%xmm6
2004         xorl    %edx,%r14d
2005         pxor    %xmm5,%xmm4
2006         andl    %r11d,%r12d
2007         xorl    %r11d,%r13d
2008         pslld   $11,%xmm5
2009         addl    20(%rsp),%ecx
2010         movl    %edx,%edi
2011         pxor    %xmm6,%xmm4
2012         xorl    %ebx,%r12d
2013         rorl    $11,%r14d
2014         movdqa  %xmm7,%xmm6
2015         xorl    %r8d,%edi
2016         addl    %r12d,%ecx
2017         pxor    %xmm5,%xmm4
2018         rorl    $6,%r13d
2019         andl    %edi,%r15d
2020         xorl    %edx,%r14d
2021         psrld   $10,%xmm7
2022         addl    %r13d,%ecx
2023         xorl    %r8d,%r15d
2024         paddd   %xmm4,%xmm1
2025         rorl    $2,%r14d
2026         addl    %ecx,%r10d
2027         psrlq   $17,%xmm6
2028         addl    %r15d,%ecx
2029         movl    %r10d,%r13d
2030         addl    %ecx,%r14d
2031         pxor    %xmm6,%xmm7
2032         rorl    $14,%r13d
2033         movl    %r14d,%ecx
2034         movl    %r11d,%r12d
2035         rorl    $9,%r14d
2036         psrlq   $2,%xmm6
2037         xorl    %r10d,%r13d
2038         xorl    %eax,%r12d
2039         pxor    %xmm6,%xmm7
2040         rorl    $5,%r13d
2041         xorl    %ecx,%r14d
2042         andl    %r10d,%r12d
2043         pshufd  $128,%xmm7,%xmm7
2044         xorl    %r10d,%r13d
2045         addl    24(%rsp),%ebx
2046         movl    %ecx,%r15d
2047         psrldq  $8,%xmm7
2048         xorl    %eax,%r12d
2049         rorl    $11,%r14d
2050         xorl    %edx,%r15d
2051         addl    %r12d,%ebx
2052         rorl    $6,%r13d
2053         paddd   %xmm7,%xmm1
2054         andl    %r15d,%edi
2055         xorl    %ecx,%r14d
2056         addl    %r13d,%ebx
2057         pshufd  $80,%xmm1,%xmm7
2058         xorl    %edx,%edi
2059         rorl    $2,%r14d
2060         addl    %ebx,%r9d
2061         movdqa  %xmm7,%xmm6
2062         addl    %edi,%ebx
2063         movl    %r9d,%r13d
2064         psrld   $10,%xmm7
2065         addl    %ebx,%r14d
2066         rorl    $14,%r13d
2067         psrlq   $17,%xmm6
2068         movl    %r14d,%ebx
2069         movl    %r10d,%r12d
2070         pxor    %xmm6,%xmm7
2071         rorl    $9,%r14d
2072         xorl    %r9d,%r13d
2073         xorl    %r11d,%r12d
2074         rorl    $5,%r13d
2075         xorl    %ebx,%r14d
2076         psrlq   $2,%xmm6
2077         andl    %r9d,%r12d
2078         xorl    %r9d,%r13d
2079         addl    28(%rsp),%eax
2080         pxor    %xmm6,%xmm7
2081         movl    %ebx,%edi
2082         xorl    %r11d,%r12d
2083         rorl    $11,%r14d
2084         pshufd  $8,%xmm7,%xmm7
2085         xorl    %ecx,%edi
2086         addl    %r12d,%eax
2087         movdqa  32(%rbp),%xmm6
2088         rorl    $6,%r13d
2089         andl    %edi,%r15d
2090         pslldq  $8,%xmm7
2091         xorl    %ebx,%r14d
2092         addl    %r13d,%eax
2093         xorl    %ecx,%r15d
2094         paddd   %xmm7,%xmm1
2095         rorl    $2,%r14d
2096         addl    %eax,%r8d
2097         addl    %r15d,%eax
2098         paddd   %xmm1,%xmm6
2099         movl    %r8d,%r13d
2100         addl    %eax,%r14d
2101         movdqa  %xmm6,16(%rsp)
2102         rorl    $14,%r13d
2103         movdqa  %xmm3,%xmm4
2104         movl    %r14d,%eax
2105         movl    %r9d,%r12d
2106         movdqa  %xmm1,%xmm7
2107         rorl    $9,%r14d
2108         xorl    %r8d,%r13d
2109         xorl    %r10d,%r12d
2110         rorl    $5,%r13d
2111         xorl    %eax,%r14d
2112 .byte   102,15,58,15,226,4
2113         andl    %r8d,%r12d
2114         xorl    %r8d,%r13d
2115 .byte   102,15,58,15,248,4
2116         addl    32(%rsp),%r11d
2117         movl    %eax,%r15d
2118         xorl    %r10d,%r12d
2119         rorl    $11,%r14d
2120         movdqa  %xmm4,%xmm5
2121         xorl    %ebx,%r15d
2122         addl    %r12d,%r11d
2123         movdqa  %xmm4,%xmm6
2124         rorl    $6,%r13d
2125         andl    %r15d,%edi
2126         psrld   $3,%xmm4
2127         xorl    %eax,%r14d
2128         addl    %r13d,%r11d
2129         xorl    %ebx,%edi
2130         paddd   %xmm7,%xmm2
2131         rorl    $2,%r14d
2132         addl    %r11d,%edx
2133         psrld   $7,%xmm6
2134         addl    %edi,%r11d
2135         movl    %edx,%r13d
2136         pshufd  $250,%xmm1,%xmm7
2137         addl    %r11d,%r14d
2138         rorl    $14,%r13d
2139         pslld   $14,%xmm5
2140         movl    %r14d,%r11d
2141         movl    %r8d,%r12d
2142         pxor    %xmm6,%xmm4
2143         rorl    $9,%r14d
2144         xorl    %edx,%r13d
2145         xorl    %r9d,%r12d
2146         rorl    $5,%r13d
2147         psrld   $11,%xmm6
2148         xorl    %r11d,%r14d
2149         pxor    %xmm5,%xmm4
2150         andl    %edx,%r12d
2151         xorl    %edx,%r13d
2152         pslld   $11,%xmm5
2153         addl    36(%rsp),%r10d
2154         movl    %r11d,%edi
2155         pxor    %xmm6,%xmm4
2156         xorl    %r9d,%r12d
2157         rorl    $11,%r14d
2158         movdqa  %xmm7,%xmm6
2159         xorl    %eax,%edi
2160         addl    %r12d,%r10d
2161         pxor    %xmm5,%xmm4
2162         rorl    $6,%r13d
2163         andl    %edi,%r15d
2164         xorl    %r11d,%r14d
2165         psrld   $10,%xmm7
2166         addl    %r13d,%r10d
2167         xorl    %eax,%r15d
2168         paddd   %xmm4,%xmm2
2169         rorl    $2,%r14d
2170         addl    %r10d,%ecx
2171         psrlq   $17,%xmm6
2172         addl    %r15d,%r10d
2173         movl    %ecx,%r13d
2174         addl    %r10d,%r14d
2175         pxor    %xmm6,%xmm7
2176         rorl    $14,%r13d
2177         movl    %r14d,%r10d
2178         movl    %edx,%r12d
2179         rorl    $9,%r14d
2180         psrlq   $2,%xmm6
2181         xorl    %ecx,%r13d
2182         xorl    %r8d,%r12d
2183         pxor    %xmm6,%xmm7
2184         rorl    $5,%r13d
2185         xorl    %r10d,%r14d
2186         andl    %ecx,%r12d
2187         pshufd  $128,%xmm7,%xmm7
2188         xorl    %ecx,%r13d
2189         addl    40(%rsp),%r9d
2190         movl    %r10d,%r15d
2191         psrldq  $8,%xmm7
2192         xorl    %r8d,%r12d
2193         rorl    $11,%r14d
2194         xorl    %r11d,%r15d
2195         addl    %r12d,%r9d
2196         rorl    $6,%r13d
2197         paddd   %xmm7,%xmm2
2198         andl    %r15d,%edi
2199         xorl    %r10d,%r14d
2200         addl    %r13d,%r9d
2201         pshufd  $80,%xmm2,%xmm7
2202         xorl    %r11d,%edi
2203         rorl    $2,%r14d
2204         addl    %r9d,%ebx
2205         movdqa  %xmm7,%xmm6
2206         addl    %edi,%r9d
2207         movl    %ebx,%r13d
2208         psrld   $10,%xmm7
2209         addl    %r9d,%r14d
2210         rorl    $14,%r13d
2211         psrlq   $17,%xmm6
2212         movl    %r14d,%r9d
2213         movl    %ecx,%r12d
2214         pxor    %xmm6,%xmm7
2215         rorl    $9,%r14d
2216         xorl    %ebx,%r13d
2217         xorl    %edx,%r12d
2218         rorl    $5,%r13d
2219         xorl    %r9d,%r14d
2220         psrlq   $2,%xmm6
2221         andl    %ebx,%r12d
2222         xorl    %ebx,%r13d
2223         addl    44(%rsp),%r8d
2224         pxor    %xmm6,%xmm7
2225         movl    %r9d,%edi
2226         xorl    %edx,%r12d
2227         rorl    $11,%r14d
2228         pshufd  $8,%xmm7,%xmm7
2229         xorl    %r10d,%edi
2230         addl    %r12d,%r8d
2231         movdqa  64(%rbp),%xmm6
2232         rorl    $6,%r13d
2233         andl    %edi,%r15d
2234         pslldq  $8,%xmm7
2235         xorl    %r9d,%r14d
2236         addl    %r13d,%r8d
2237         xorl    %r10d,%r15d
2238         paddd   %xmm7,%xmm2
2239         rorl    $2,%r14d
2240         addl    %r8d,%eax
2241         addl    %r15d,%r8d
2242         paddd   %xmm2,%xmm6
2243         movl    %eax,%r13d
2244         addl    %r8d,%r14d
2245         movdqa  %xmm6,32(%rsp)
2246         rorl    $14,%r13d
2247         movdqa  %xmm0,%xmm4
2248         movl    %r14d,%r8d
2249         movl    %ebx,%r12d
2250         movdqa  %xmm2,%xmm7
2251         rorl    $9,%r14d
2252         xorl    %eax,%r13d
2253         xorl    %ecx,%r12d
2254         rorl    $5,%r13d
2255         xorl    %r8d,%r14d
2256 .byte   102,15,58,15,227,4
2257         andl    %eax,%r12d
2258         xorl    %eax,%r13d
2259 .byte   102,15,58,15,249,4
2260         addl    48(%rsp),%edx
2261         movl    %r8d,%r15d
2262         xorl    %ecx,%r12d
2263         rorl    $11,%r14d
2264         movdqa  %xmm4,%xmm5
2265         xorl    %r9d,%r15d
2266         addl    %r12d,%edx
2267         movdqa  %xmm4,%xmm6
2268         rorl    $6,%r13d
2269         andl    %r15d,%edi
2270         psrld   $3,%xmm4
2271         xorl    %r8d,%r14d
2272         addl    %r13d,%edx
2273         xorl    %r9d,%edi
2274         paddd   %xmm7,%xmm3
2275         rorl    $2,%r14d
2276         addl    %edx,%r11d
2277         psrld   $7,%xmm6
2278         addl    %edi,%edx
2279         movl    %r11d,%r13d
2280         pshufd  $250,%xmm2,%xmm7
2281         addl    %edx,%r14d
2282         rorl    $14,%r13d
2283         pslld   $14,%xmm5
2284         movl    %r14d,%edx
2285         movl    %eax,%r12d
2286         pxor    %xmm6,%xmm4
2287         rorl    $9,%r14d
2288         xorl    %r11d,%r13d
2289         xorl    %ebx,%r12d
2290         rorl    $5,%r13d
2291         psrld   $11,%xmm6
2292         xorl    %edx,%r14d
2293         pxor    %xmm5,%xmm4
2294         andl    %r11d,%r12d
2295         xorl    %r11d,%r13d
2296         pslld   $11,%xmm5
2297         addl    52(%rsp),%ecx
2298         movl    %edx,%edi
2299         pxor    %xmm6,%xmm4
2300         xorl    %ebx,%r12d
2301         rorl    $11,%r14d
2302         movdqa  %xmm7,%xmm6
2303         xorl    %r8d,%edi
2304         addl    %r12d,%ecx
2305         pxor    %xmm5,%xmm4
2306         rorl    $6,%r13d
2307         andl    %edi,%r15d
2308         xorl    %edx,%r14d
2309         psrld   $10,%xmm7
2310         addl    %r13d,%ecx
2311         xorl    %r8d,%r15d
2312         paddd   %xmm4,%xmm3
2313         rorl    $2,%r14d
2314         addl    %ecx,%r10d
2315         psrlq   $17,%xmm6
2316         addl    %r15d,%ecx
2317         movl    %r10d,%r13d
2318         addl    %ecx,%r14d
2319         pxor    %xmm6,%xmm7
2320         rorl    $14,%r13d
2321         movl    %r14d,%ecx
2322         movl    %r11d,%r12d
2323         rorl    $9,%r14d
2324         psrlq   $2,%xmm6
2325         xorl    %r10d,%r13d
2326         xorl    %eax,%r12d
2327         pxor    %xmm6,%xmm7
2328         rorl    $5,%r13d
2329         xorl    %ecx,%r14d
2330         andl    %r10d,%r12d
2331         pshufd  $128,%xmm7,%xmm7
2332         xorl    %r10d,%r13d
2333         addl    56(%rsp),%ebx
2334         movl    %ecx,%r15d
2335         psrldq  $8,%xmm7
2336         xorl    %eax,%r12d
2337         rorl    $11,%r14d
2338         xorl    %edx,%r15d
2339         addl    %r12d,%ebx
2340         rorl    $6,%r13d
2341         paddd   %xmm7,%xmm3
2342         andl    %r15d,%edi
2343         xorl    %ecx,%r14d
2344         addl    %r13d,%ebx
2345         pshufd  $80,%xmm3,%xmm7
2346         xorl    %edx,%edi
2347         rorl    $2,%r14d
2348         addl    %ebx,%r9d
2349         movdqa  %xmm7,%xmm6
2350         addl    %edi,%ebx
2351         movl    %r9d,%r13d
2352         psrld   $10,%xmm7
2353         addl    %ebx,%r14d
2354         rorl    $14,%r13d
2355         psrlq   $17,%xmm6
2356         movl    %r14d,%ebx
2357         movl    %r10d,%r12d
2358         pxor    %xmm6,%xmm7
2359         rorl    $9,%r14d
2360         xorl    %r9d,%r13d
2361         xorl    %r11d,%r12d
2362         rorl    $5,%r13d
2363         xorl    %ebx,%r14d
2364         psrlq   $2,%xmm6
2365         andl    %r9d,%r12d
2366         xorl    %r9d,%r13d
2367         addl    60(%rsp),%eax
2368         pxor    %xmm6,%xmm7
2369         movl    %ebx,%edi
2370         xorl    %r11d,%r12d
2371         rorl    $11,%r14d
2372         pshufd  $8,%xmm7,%xmm7
2373         xorl    %ecx,%edi
2374         addl    %r12d,%eax
2375         movdqa  96(%rbp),%xmm6
2376         rorl    $6,%r13d
2377         andl    %edi,%r15d
2378         pslldq  $8,%xmm7
2379         xorl    %ebx,%r14d
2380         addl    %r13d,%eax
2381         xorl    %ecx,%r15d
2382         paddd   %xmm7,%xmm3
2383         rorl    $2,%r14d
2384         addl    %eax,%r8d
2385         addl    %r15d,%eax
2386         paddd   %xmm3,%xmm6
2387         movl    %r8d,%r13d
2388         addl    %eax,%r14d
2389         movdqa  %xmm6,48(%rsp)
2390         cmpb    $0,131(%rbp)
2391         jne     .Lssse3_00_47
2392         rorl    $14,%r13d
2393         movl    %r14d,%eax
2394         movl    %r9d,%r12d
2395         rorl    $9,%r14d
2396         xorl    %r8d,%r13d
2397         xorl    %r10d,%r12d
2398         rorl    $5,%r13d
2399         xorl    %eax,%r14d
2400         andl    %r8d,%r12d
2401         xorl    %r8d,%r13d
2402         addl    0(%rsp),%r11d
2403         movl    %eax,%r15d
2404         xorl    %r10d,%r12d
2405         rorl    $11,%r14d
2406         xorl    %ebx,%r15d
2407         addl    %r12d,%r11d
2408         rorl    $6,%r13d
2409         andl    %r15d,%edi
2410         xorl    %eax,%r14d
2411         addl    %r13d,%r11d
2412         xorl    %ebx,%edi
2413         rorl    $2,%r14d
2414         addl    %r11d,%edx
2415         addl    %edi,%r11d
2416         movl    %edx,%r13d
2417         addl    %r11d,%r14d
2418         rorl    $14,%r13d
2419         movl    %r14d,%r11d
2420         movl    %r8d,%r12d
2421         rorl    $9,%r14d
2422         xorl    %edx,%r13d
2423         xorl    %r9d,%r12d
2424         rorl    $5,%r13d
2425         xorl    %r11d,%r14d
2426         andl    %edx,%r12d
2427         xorl    %edx,%r13d
2428         addl    4(%rsp),%r10d
2429         movl    %r11d,%edi
2430         xorl    %r9d,%r12d
2431         rorl    $11,%r14d
2432         xorl    %eax,%edi
2433         addl    %r12d,%r10d
2434         rorl    $6,%r13d
2435         andl    %edi,%r15d
2436         xorl    %r11d,%r14d
2437         addl    %r13d,%r10d
2438         xorl    %eax,%r15d
2439         rorl    $2,%r14d
2440         addl    %r10d,%ecx
2441         addl    %r15d,%r10d
2442         movl    %ecx,%r13d
2443         addl    %r10d,%r14d
2444         rorl    $14,%r13d
2445         movl    %r14d,%r10d
2446         movl    %edx,%r12d
2447         rorl    $9,%r14d
2448         xorl    %ecx,%r13d
2449         xorl    %r8d,%r12d
2450         rorl    $5,%r13d
2451         xorl    %r10d,%r14d
2452         andl    %ecx,%r12d
2453         xorl    %ecx,%r13d
2454         addl    8(%rsp),%r9d
2455         movl    %r10d,%r15d
2456         xorl    %r8d,%r12d
2457         rorl    $11,%r14d
2458         xorl    %r11d,%r15d
2459         addl    %r12d,%r9d
2460         rorl    $6,%r13d
2461         andl    %r15d,%edi
2462         xorl    %r10d,%r14d
2463         addl    %r13d,%r9d
2464         xorl    %r11d,%edi
2465         rorl    $2,%r14d
2466         addl    %r9d,%ebx
2467         addl    %edi,%r9d
2468         movl    %ebx,%r13d
2469         addl    %r9d,%r14d
2470         rorl    $14,%r13d
2471         movl    %r14d,%r9d
2472         movl    %ecx,%r12d
2473         rorl    $9,%r14d
2474         xorl    %ebx,%r13d
2475         xorl    %edx,%r12d
2476         rorl    $5,%r13d
2477         xorl    %r9d,%r14d
2478         andl    %ebx,%r12d
2479         xorl    %ebx,%r13d
2480         addl    12(%rsp),%r8d
2481         movl    %r9d,%edi
2482         xorl    %edx,%r12d
2483         rorl    $11,%r14d
2484         xorl    %r10d,%edi
2485         addl    %r12d,%r8d
2486         rorl    $6,%r13d
2487         andl    %edi,%r15d
2488         xorl    %r9d,%r14d
2489         addl    %r13d,%r8d
2490         xorl    %r10d,%r15d
2491         rorl    $2,%r14d
2492         addl    %r8d,%eax
2493         addl    %r15d,%r8d
2494         movl    %eax,%r13d
2495         addl    %r8d,%r14d
2496         rorl    $14,%r13d
2497         movl    %r14d,%r8d
2498         movl    %ebx,%r12d
2499         rorl    $9,%r14d
2500         xorl    %eax,%r13d
2501         xorl    %ecx,%r12d
2502         rorl    $5,%r13d
2503         xorl    %r8d,%r14d
2504         andl    %eax,%r12d
2505         xorl    %eax,%r13d
2506         addl    16(%rsp),%edx
2507         movl    %r8d,%r15d
2508         xorl    %ecx,%r12d
2509         rorl    $11,%r14d
2510         xorl    %r9d,%r15d
2511         addl    %r12d,%edx
2512         rorl    $6,%r13d
2513         andl    %r15d,%edi
2514         xorl    %r8d,%r14d
2515         addl    %r13d,%edx
2516         xorl    %r9d,%edi
2517         rorl    $2,%r14d
2518         addl    %edx,%r11d
2519         addl    %edi,%edx
2520         movl    %r11d,%r13d
2521         addl    %edx,%r14d
2522         rorl    $14,%r13d
2523         movl    %r14d,%edx
2524         movl    %eax,%r12d
2525         rorl    $9,%r14d
2526         xorl    %r11d,%r13d
2527         xorl    %ebx,%r12d
2528         rorl    $5,%r13d
2529         xorl    %edx,%r14d
2530         andl    %r11d,%r12d
2531         xorl    %r11d,%r13d
2532         addl    20(%rsp),%ecx
2533         movl    %edx,%edi
2534         xorl    %ebx,%r12d
2535         rorl    $11,%r14d
2536         xorl    %r8d,%edi
2537         addl    %r12d,%ecx
2538         rorl    $6,%r13d
2539         andl    %edi,%r15d
2540         xorl    %edx,%r14d
2541         addl    %r13d,%ecx
2542         xorl    %r8d,%r15d
2543         rorl    $2,%r14d
2544         addl    %ecx,%r10d
2545         addl    %r15d,%ecx
2546         movl    %r10d,%r13d
2547         addl    %ecx,%r14d
2548         rorl    $14,%r13d
2549         movl    %r14d,%ecx
2550         movl    %r11d,%r12d
2551         rorl    $9,%r14d
2552         xorl    %r10d,%r13d
2553         xorl    %eax,%r12d
2554         rorl    $5,%r13d
2555         xorl    %ecx,%r14d
2556         andl    %r10d,%r12d
2557         xorl    %r10d,%r13d
2558         addl    24(%rsp),%ebx
2559         movl    %ecx,%r15d
2560         xorl    %eax,%r12d
2561         rorl    $11,%r14d
2562         xorl    %edx,%r15d
2563         addl    %r12d,%ebx
2564         rorl    $6,%r13d
2565         andl    %r15d,%edi
2566         xorl    %ecx,%r14d
2567         addl    %r13d,%ebx
2568         xorl    %edx,%edi
2569         rorl    $2,%r14d
2570         addl    %ebx,%r9d
2571         addl    %edi,%ebx
2572         movl    %r9d,%r13d
2573         addl    %ebx,%r14d
2574         rorl    $14,%r13d
2575         movl    %r14d,%ebx
2576         movl    %r10d,%r12d
2577         rorl    $9,%r14d
2578         xorl    %r9d,%r13d
2579         xorl    %r11d,%r12d
2580         rorl    $5,%r13d
2581         xorl    %ebx,%r14d
2582         andl    %r9d,%r12d
2583         xorl    %r9d,%r13d
2584         addl    28(%rsp),%eax
2585         movl    %ebx,%edi
2586         xorl    %r11d,%r12d
2587         rorl    $11,%r14d
2588         xorl    %ecx,%edi
2589         addl    %r12d,%eax
2590         rorl    $6,%r13d
2591         andl    %edi,%r15d
2592         xorl    %ebx,%r14d
2593         addl    %r13d,%eax
2594         xorl    %ecx,%r15d
2595         rorl    $2,%r14d
2596         addl    %eax,%r8d
2597         addl    %r15d,%eax
2598         movl    %r8d,%r13d
2599         addl    %eax,%r14d
2600         rorl    $14,%r13d
2601         movl    %r14d,%eax
2602         movl    %r9d,%r12d
2603         rorl    $9,%r14d
2604         xorl    %r8d,%r13d
2605         xorl    %r10d,%r12d
2606         rorl    $5,%r13d
2607         xorl    %eax,%r14d
2608         andl    %r8d,%r12d
2609         xorl    %r8d,%r13d
2610         addl    32(%rsp),%r11d
2611         movl    %eax,%r15d
2612         xorl    %r10d,%r12d
2613         rorl    $11,%r14d
2614         xorl    %ebx,%r15d
2615         addl    %r12d,%r11d
2616         rorl    $6,%r13d
2617         andl    %r15d,%edi
2618         xorl    %eax,%r14d
2619         addl    %r13d,%r11d
2620         xorl    %ebx,%edi
2621         rorl    $2,%r14d
2622         addl    %r11d,%edx
2623         addl    %edi,%r11d
2624         movl    %edx,%r13d
2625         addl    %r11d,%r14d
2626         rorl    $14,%r13d
2627         movl    %r14d,%r11d
2628         movl    %r8d,%r12d
2629         rorl    $9,%r14d
2630         xorl    %edx,%r13d
2631         xorl    %r9d,%r12d
2632         rorl    $5,%r13d
2633         xorl    %r11d,%r14d
2634         andl    %edx,%r12d
2635         xorl    %edx,%r13d
2636         addl    36(%rsp),%r10d
2637         movl    %r11d,%edi
2638         xorl    %r9d,%r12d
2639         rorl    $11,%r14d
2640         xorl    %eax,%edi
2641         addl    %r12d,%r10d
2642         rorl    $6,%r13d
2643         andl    %edi,%r15d
2644         xorl    %r11d,%r14d
2645         addl    %r13d,%r10d
2646         xorl    %eax,%r15d
2647         rorl    $2,%r14d
2648         addl    %r10d,%ecx
2649         addl    %r15d,%r10d
2650         movl    %ecx,%r13d
2651         addl    %r10d,%r14d
2652         rorl    $14,%r13d
2653         movl    %r14d,%r10d
2654         movl    %edx,%r12d
2655         rorl    $9,%r14d
2656         xorl    %ecx,%r13d
2657         xorl    %r8d,%r12d
2658         rorl    $5,%r13d
2659         xorl    %r10d,%r14d
2660         andl    %ecx,%r12d
2661         xorl    %ecx,%r13d
2662         addl    40(%rsp),%r9d
2663         movl    %r10d,%r15d
2664         xorl    %r8d,%r12d
2665         rorl    $11,%r14d
2666         xorl    %r11d,%r15d
2667         addl    %r12d,%r9d
2668         rorl    $6,%r13d
2669         andl    %r15d,%edi
2670         xorl    %r10d,%r14d
2671         addl    %r13d,%r9d
2672         xorl    %r11d,%edi
2673         rorl    $2,%r14d
2674         addl    %r9d,%ebx
2675         addl    %edi,%r9d
2676         movl    %ebx,%r13d
2677         addl    %r9d,%r14d
2678         rorl    $14,%r13d
2679         movl    %r14d,%r9d
2680         movl    %ecx,%r12d
2681         rorl    $9,%r14d
2682         xorl    %ebx,%r13d
2683         xorl    %edx,%r12d
2684         rorl    $5,%r13d
2685         xorl    %r9d,%r14d
2686         andl    %ebx,%r12d
2687         xorl    %ebx,%r13d
2688         addl    44(%rsp),%r8d
2689         movl    %r9d,%edi
2690         xorl    %edx,%r12d
2691         rorl    $11,%r14d
2692         xorl    %r10d,%edi
2693         addl    %r12d,%r8d
2694         rorl    $6,%r13d
2695         andl    %edi,%r15d
2696         xorl    %r9d,%r14d
2697         addl    %r13d,%r8d
2698         xorl    %r10d,%r15d
2699         rorl    $2,%r14d
2700         addl    %r8d,%eax
2701         addl    %r15d,%r8d
2702         movl    %eax,%r13d
2703         addl    %r8d,%r14d
2704         rorl    $14,%r13d
2705         movl    %r14d,%r8d
2706         movl    %ebx,%r12d
2707         rorl    $9,%r14d
2708         xorl    %eax,%r13d
2709         xorl    %ecx,%r12d
2710         rorl    $5,%r13d
2711         xorl    %r8d,%r14d
2712         andl    %eax,%r12d
2713         xorl    %eax,%r13d
2714         addl    48(%rsp),%edx
2715         movl    %r8d,%r15d
2716         xorl    %ecx,%r12d
2717         rorl    $11,%r14d
2718         xorl    %r9d,%r15d
2719         addl    %r12d,%edx
2720         rorl    $6,%r13d
2721         andl    %r15d,%edi
2722         xorl    %r8d,%r14d
2723         addl    %r13d,%edx
2724         xorl    %r9d,%edi
2725         rorl    $2,%r14d
2726         addl    %edx,%r11d
2727         addl    %edi,%edx
2728         movl    %r11d,%r13d
2729         addl    %edx,%r14d
2730         rorl    $14,%r13d
2731         movl    %r14d,%edx
2732         movl    %eax,%r12d
2733         rorl    $9,%r14d
2734         xorl    %r11d,%r13d
2735         xorl    %ebx,%r12d
2736         rorl    $5,%r13d
2737         xorl    %edx,%r14d
2738         andl    %r11d,%r12d
2739         xorl    %r11d,%r13d
2740         addl    52(%rsp),%ecx
2741         movl    %edx,%edi
2742         xorl    %ebx,%r12d
2743         rorl    $11,%r14d
2744         xorl    %r8d,%edi
2745         addl    %r12d,%ecx
2746         rorl    $6,%r13d
2747         andl    %edi,%r15d
2748         xorl    %edx,%r14d
2749         addl    %r13d,%ecx
2750         xorl    %r8d,%r15d
2751         rorl    $2,%r14d
2752         addl    %ecx,%r10d
2753         addl    %r15d,%ecx
2754         movl    %r10d,%r13d
2755         addl    %ecx,%r14d
2756         rorl    $14,%r13d
2757         movl    %r14d,%ecx
2758         movl    %r11d,%r12d
2759         rorl    $9,%r14d
2760         xorl    %r10d,%r13d
2761         xorl    %eax,%r12d
2762         rorl    $5,%r13d
2763         xorl    %ecx,%r14d
2764         andl    %r10d,%r12d
2765         xorl    %r10d,%r13d
2766         addl    56(%rsp),%ebx
2767         movl    %ecx,%r15d
2768         xorl    %eax,%r12d
2769         rorl    $11,%r14d
2770         xorl    %edx,%r15d
2771         addl    %r12d,%ebx
2772         rorl    $6,%r13d
2773         andl    %r15d,%edi
2774         xorl    %ecx,%r14d
2775         addl    %r13d,%ebx
2776         xorl    %edx,%edi
2777         rorl    $2,%r14d
2778         addl    %ebx,%r9d
2779         addl    %edi,%ebx
2780         movl    %r9d,%r13d
2781         addl    %ebx,%r14d
2782         rorl    $14,%r13d
2783         movl    %r14d,%ebx
2784         movl    %r10d,%r12d
2785         rorl    $9,%r14d
2786         xorl    %r9d,%r13d
2787         xorl    %r11d,%r12d
2788         rorl    $5,%r13d
2789         xorl    %ebx,%r14d
2790         andl    %r9d,%r12d
2791         xorl    %r9d,%r13d
2792         addl    60(%rsp),%eax
2793         movl    %ebx,%edi
2794         xorl    %r11d,%r12d
2795         rorl    $11,%r14d
2796         xorl    %ecx,%edi
2797         addl    %r12d,%eax
2798         rorl    $6,%r13d
2799         andl    %edi,%r15d
2800         xorl    %ebx,%r14d
2801         addl    %r13d,%eax
2802         xorl    %ecx,%r15d
2803         rorl    $2,%r14d
2804         addl    %eax,%r8d
2805         addl    %r15d,%eax
2806         movl    %r8d,%r13d
2807         addl    %eax,%r14d
2808         movq    64+0(%rsp),%rdi
2809         movl    %r14d,%eax
2811         addl    0(%rdi),%eax
2812         leaq    64(%rsi),%rsi
2813         addl    4(%rdi),%ebx
2814         addl    8(%rdi),%ecx
2815         addl    12(%rdi),%edx
2816         addl    16(%rdi),%r8d
2817         addl    20(%rdi),%r9d
2818         addl    24(%rdi),%r10d
2819         addl    28(%rdi),%r11d
2821         cmpq    64+16(%rsp),%rsi
2823         movl    %eax,0(%rdi)
2824         movl    %ebx,4(%rdi)
2825         movl    %ecx,8(%rdi)
2826         movl    %edx,12(%rdi)
2827         movl    %r8d,16(%rdi)
2828         movl    %r9d,20(%rdi)
2829         movl    %r10d,24(%rdi)
2830         movl    %r11d,28(%rdi)
2831         jb      .Lloop_ssse3
2833         movq    64+24(%rsp),%rsi
2834         movq    (%rsi),%r15
2835         movq    8(%rsi),%r14
2836         movq    16(%rsi),%r13
2837         movq    24(%rsi),%r12
2838         movq    32(%rsi),%rbp
2839         movq    40(%rsi),%rbx
2840         leaq    48(%rsi),%rsp
2841 .Lepilogue_ssse3:
2842         .byte   0xf3,0xc3
2843 .size   sha256_block_data_order_ssse3,.-sha256_block_data_order_ssse3
2844 #endif