]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - secure/lib/libcrypto/amd64/sha256-x86_64.S
Merge OpenSSL 1.0.2h.
[FreeBSD/FreeBSD.git] / secure / lib / libcrypto / amd64 / sha256-x86_64.S
1         # $FreeBSD$
2 .text   
3
4
5 .globl  sha256_block_data_order
6 .type   sha256_block_data_order,@function
7 .align  16
8 sha256_block_data_order:
9         leaq    OPENSSL_ia32cap_P(%rip),%r11
10         movl    0(%r11),%r9d
11         movl    4(%r11),%r10d
12         movl    8(%r11),%r11d
13         testl   $536870912,%r11d
14         jnz     _shaext_shortcut
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:
33
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
43
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
55
56         xorl    %r8d,%r13d
57         rorl    $9,%r14d
58         xorl    %r10d,%r15d
59
60         movl    %r12d,0(%rsp)
61         xorl    %eax,%r14d
62         andl    %r8d,%r15d
63
64         rorl    $5,%r13d
65         addl    %r11d,%r12d
66         xorl    %r10d,%r15d
67
68         rorl    $11,%r14d
69         xorl    %r8d,%r13d
70         addl    %r15d,%r12d
71
72         movl    %eax,%r15d
73         addl    (%rbp),%r12d
74         xorl    %eax,%r14d
75
76         xorl    %ebx,%r15d
77         rorl    $6,%r13d
78         movl    %ebx,%r11d
79
80         andl    %r15d,%edi
81         rorl    $2,%r14d
82         addl    %r13d,%r12d
83
84         xorl    %edi,%r11d
85         addl    %r12d,%edx
86         addl    %r12d,%r11d
87
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
96
97         xorl    %edx,%r13d
98         rorl    $9,%r14d
99         xorl    %r9d,%edi
100
101         movl    %r12d,4(%rsp)
102         xorl    %r11d,%r14d
103         andl    %edx,%edi
104
105         rorl    $5,%r13d
106         addl    %r10d,%r12d
107         xorl    %r9d,%edi
108
109         rorl    $11,%r14d
110         xorl    %edx,%r13d
111         addl    %edi,%r12d
112
113         movl    %r11d,%edi
114         addl    (%rbp),%r12d
115         xorl    %r11d,%r14d
116
117         xorl    %eax,%edi
118         rorl    $6,%r13d
119         movl    %eax,%r10d
120
121         andl    %edi,%r15d
122         rorl    $2,%r14d
123         addl    %r13d,%r12d
124
125         xorl    %r15d,%r10d
126         addl    %r12d,%ecx
127         addl    %r12d,%r10d
128
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
137
138         xorl    %ecx,%r13d
139         rorl    $9,%r14d
140         xorl    %r8d,%r15d
141
142         movl    %r12d,8(%rsp)
143         xorl    %r10d,%r14d
144         andl    %ecx,%r15d
145
146         rorl    $5,%r13d
147         addl    %r9d,%r12d
148         xorl    %r8d,%r15d
149
150         rorl    $11,%r14d
151         xorl    %ecx,%r13d
152         addl    %r15d,%r12d
153
154         movl    %r10d,%r15d
155         addl    (%rbp),%r12d
156         xorl    %r10d,%r14d
157
158         xorl    %r11d,%r15d
159         rorl    $6,%r13d
160         movl    %r11d,%r9d
161
162         andl    %r15d,%edi
163         rorl    $2,%r14d
164         addl    %r13d,%r12d
165
166         xorl    %edi,%r9d
167         addl    %r12d,%ebx
168         addl    %r12d,%r9d
169
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
178
179         xorl    %ebx,%r13d
180         rorl    $9,%r14d
181         xorl    %edx,%edi
182
183         movl    %r12d,12(%rsp)
184         xorl    %r9d,%r14d
185         andl    %ebx,%edi
186
187         rorl    $5,%r13d
188         addl    %r8d,%r12d
189         xorl    %edx,%edi
190
191         rorl    $11,%r14d
192         xorl    %ebx,%r13d
193         addl    %edi,%r12d
194
195         movl    %r9d,%edi
196         addl    (%rbp),%r12d
197         xorl    %r9d,%r14d
198
199         xorl    %r10d,%edi
200         rorl    $6,%r13d
201         movl    %r10d,%r8d
202
203         andl    %edi,%r15d
204         rorl    $2,%r14d
205         addl    %r13d,%r12d
206
207         xorl    %r15d,%r8d
208         addl    %r12d,%eax
209         addl    %r12d,%r8d
210
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
219
220         xorl    %eax,%r13d
221         rorl    $9,%r14d
222         xorl    %ecx,%r15d
223
224         movl    %r12d,16(%rsp)
225         xorl    %r8d,%r14d
226         andl    %eax,%r15d
227
228         rorl    $5,%r13d
229         addl    %edx,%r12d
230         xorl    %ecx,%r15d
231
232         rorl    $11,%r14d
233         xorl    %eax,%r13d
234         addl    %r15d,%r12d
235
236         movl    %r8d,%r15d
237         addl    (%rbp),%r12d
238         xorl    %r8d,%r14d
239
240         xorl    %r9d,%r15d
241         rorl    $6,%r13d
242         movl    %r9d,%edx
243
244         andl    %r15d,%edi
245         rorl    $2,%r14d
246         addl    %r13d,%r12d
247
248         xorl    %edi,%edx
249         addl    %r12d,%r11d
250         addl    %r12d,%edx
251
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
260
261         xorl    %r11d,%r13d
262         rorl    $9,%r14d
263         xorl    %ebx,%edi
264
265         movl    %r12d,20(%rsp)
266         xorl    %edx,%r14d
267         andl    %r11d,%edi
268
269         rorl    $5,%r13d
270         addl    %ecx,%r12d
271         xorl    %ebx,%edi
272
273         rorl    $11,%r14d
274         xorl    %r11d,%r13d
275         addl    %edi,%r12d
276
277         movl    %edx,%edi
278         addl    (%rbp),%r12d
279         xorl    %edx,%r14d
280
281         xorl    %r8d,%edi
282         rorl    $6,%r13d
283         movl    %r8d,%ecx
284
285         andl    %edi,%r15d
286         rorl    $2,%r14d
287         addl    %r13d,%r12d
288
289         xorl    %r15d,%ecx
290         addl    %r12d,%r10d
291         addl    %r12d,%ecx
292
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
301
302         xorl    %r10d,%r13d
303         rorl    $9,%r14d
304         xorl    %eax,%r15d
305
306         movl    %r12d,24(%rsp)
307         xorl    %ecx,%r14d
308         andl    %r10d,%r15d
309
310         rorl    $5,%r13d
311         addl    %ebx,%r12d
312         xorl    %eax,%r15d
313
314         rorl    $11,%r14d
315         xorl    %r10d,%r13d
316         addl    %r15d,%r12d
317
318         movl    %ecx,%r15d
319         addl    (%rbp),%r12d
320         xorl    %ecx,%r14d
321
322         xorl    %edx,%r15d
323         rorl    $6,%r13d
324         movl    %edx,%ebx
325
326         andl    %r15d,%edi
327         rorl    $2,%r14d
328         addl    %r13d,%r12d
329
330         xorl    %edi,%ebx
331         addl    %r12d,%r9d
332         addl    %r12d,%ebx
333
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
342
343         xorl    %r9d,%r13d
344         rorl    $9,%r14d
345         xorl    %r11d,%edi
346
347         movl    %r12d,28(%rsp)
348         xorl    %ebx,%r14d
349         andl    %r9d,%edi
350
351         rorl    $5,%r13d
352         addl    %eax,%r12d
353         xorl    %r11d,%edi
354
355         rorl    $11,%r14d
356         xorl    %r9d,%r13d
357         addl    %edi,%r12d
358
359         movl    %ebx,%edi
360         addl    (%rbp),%r12d
361         xorl    %ebx,%r14d
362
363         xorl    %ecx,%edi
364         rorl    $6,%r13d
365         movl    %ecx,%eax
366
367         andl    %edi,%r15d
368         rorl    $2,%r14d
369         addl    %r13d,%r12d
370
371         xorl    %r15d,%eax
372         addl    %r12d,%r8d
373         addl    %r12d,%eax
374
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
383
384         xorl    %r8d,%r13d
385         rorl    $9,%r14d
386         xorl    %r10d,%r15d
387
388         movl    %r12d,32(%rsp)
389         xorl    %eax,%r14d
390         andl    %r8d,%r15d
391
392         rorl    $5,%r13d
393         addl    %r11d,%r12d
394         xorl    %r10d,%r15d
395
396         rorl    $11,%r14d
397         xorl    %r8d,%r13d
398         addl    %r15d,%r12d
399
400         movl    %eax,%r15d
401         addl    (%rbp),%r12d
402         xorl    %eax,%r14d
403
404         xorl    %ebx,%r15d
405         rorl    $6,%r13d
406         movl    %ebx,%r11d
407
408         andl    %r15d,%edi
409         rorl    $2,%r14d
410         addl    %r13d,%r12d
411
412         xorl    %edi,%r11d
413         addl    %r12d,%edx
414         addl    %r12d,%r11d
415
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
424
425         xorl    %edx,%r13d
426         rorl    $9,%r14d
427         xorl    %r9d,%edi
428
429         movl    %r12d,36(%rsp)
430         xorl    %r11d,%r14d
431         andl    %edx,%edi
432
433         rorl    $5,%r13d
434         addl    %r10d,%r12d
435         xorl    %r9d,%edi
436
437         rorl    $11,%r14d
438         xorl    %edx,%r13d
439         addl    %edi,%r12d
440
441         movl    %r11d,%edi
442         addl    (%rbp),%r12d
443         xorl    %r11d,%r14d
444
445         xorl    %eax,%edi
446         rorl    $6,%r13d
447         movl    %eax,%r10d
448
449         andl    %edi,%r15d
450         rorl    $2,%r14d
451         addl    %r13d,%r12d
452
453         xorl    %r15d,%r10d
454         addl    %r12d,%ecx
455         addl    %r12d,%r10d
456
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
465
466         xorl    %ecx,%r13d
467         rorl    $9,%r14d
468         xorl    %r8d,%r15d
469
470         movl    %r12d,40(%rsp)
471         xorl    %r10d,%r14d
472         andl    %ecx,%r15d
473
474         rorl    $5,%r13d
475         addl    %r9d,%r12d
476         xorl    %r8d,%r15d
477
478         rorl    $11,%r14d
479         xorl    %ecx,%r13d
480         addl    %r15d,%r12d
481
482         movl    %r10d,%r15d
483         addl    (%rbp),%r12d
484         xorl    %r10d,%r14d
485
486         xorl    %r11d,%r15d
487         rorl    $6,%r13d
488         movl    %r11d,%r9d
489
490         andl    %r15d,%edi
491         rorl    $2,%r14d
492         addl    %r13d,%r12d
493
494         xorl    %edi,%r9d
495         addl    %r12d,%ebx
496         addl    %r12d,%r9d
497
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
506
507         xorl    %ebx,%r13d
508         rorl    $9,%r14d
509         xorl    %edx,%edi
510
511         movl    %r12d,44(%rsp)
512         xorl    %r9d,%r14d
513         andl    %ebx,%edi
514
515         rorl    $5,%r13d
516         addl    %r8d,%r12d
517         xorl    %edx,%edi
518
519         rorl    $11,%r14d
520         xorl    %ebx,%r13d
521         addl    %edi,%r12d
522
523         movl    %r9d,%edi
524         addl    (%rbp),%r12d
525         xorl    %r9d,%r14d
526
527         xorl    %r10d,%edi
528         rorl    $6,%r13d
529         movl    %r10d,%r8d
530
531         andl    %edi,%r15d
532         rorl    $2,%r14d
533         addl    %r13d,%r12d
534
535         xorl    %r15d,%r8d
536         addl    %r12d,%eax
537         addl    %r12d,%r8d
538
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
547
548         xorl    %eax,%r13d
549         rorl    $9,%r14d
550         xorl    %ecx,%r15d
551
552         movl    %r12d,48(%rsp)
553         xorl    %r8d,%r14d
554         andl    %eax,%r15d
555
556         rorl    $5,%r13d
557         addl    %edx,%r12d
558         xorl    %ecx,%r15d
559
560         rorl    $11,%r14d
561         xorl    %eax,%r13d
562         addl    %r15d,%r12d
563
564         movl    %r8d,%r15d
565         addl    (%rbp),%r12d
566         xorl    %r8d,%r14d
567
568         xorl    %r9d,%r15d
569         rorl    $6,%r13d
570         movl    %r9d,%edx
571
572         andl    %r15d,%edi
573         rorl    $2,%r14d
574         addl    %r13d,%r12d
575
576         xorl    %edi,%edx
577         addl    %r12d,%r11d
578         addl    %r12d,%edx
579
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
588
589         xorl    %r11d,%r13d
590         rorl    $9,%r14d
591         xorl    %ebx,%edi
592
593         movl    %r12d,52(%rsp)
594         xorl    %edx,%r14d
595         andl    %r11d,%edi
596
597         rorl    $5,%r13d
598         addl    %ecx,%r12d
599         xorl    %ebx,%edi
600
601         rorl    $11,%r14d
602         xorl    %r11d,%r13d
603         addl    %edi,%r12d
604
605         movl    %edx,%edi
606         addl    (%rbp),%r12d
607         xorl    %edx,%r14d
608
609         xorl    %r8d,%edi
610         rorl    $6,%r13d
611         movl    %r8d,%ecx
612
613         andl    %edi,%r15d
614         rorl    $2,%r14d
615         addl    %r13d,%r12d
616
617         xorl    %r15d,%ecx
618         addl    %r12d,%r10d
619         addl    %r12d,%ecx
620
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
629
630         xorl    %r10d,%r13d
631         rorl    $9,%r14d
632         xorl    %eax,%r15d
633
634         movl    %r12d,56(%rsp)
635         xorl    %ecx,%r14d
636         andl    %r10d,%r15d
637
638         rorl    $5,%r13d
639         addl    %ebx,%r12d
640         xorl    %eax,%r15d
641
642         rorl    $11,%r14d
643         xorl    %r10d,%r13d
644         addl    %r15d,%r12d
645
646         movl    %ecx,%r15d
647         addl    (%rbp),%r12d
648         xorl    %ecx,%r14d
649
650         xorl    %edx,%r15d
651         rorl    $6,%r13d
652         movl    %edx,%ebx
653
654         andl    %r15d,%edi
655         rorl    $2,%r14d
656         addl    %r13d,%r12d
657
658         xorl    %edi,%ebx
659         addl    %r12d,%r9d
660         addl    %r12d,%ebx
661
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
670
671         xorl    %r9d,%r13d
672         rorl    $9,%r14d
673         xorl    %r11d,%edi
674
675         movl    %r12d,60(%rsp)
676         xorl    %ebx,%r14d
677         andl    %r9d,%edi
678
679         rorl    $5,%r13d
680         addl    %eax,%r12d
681         xorl    %r11d,%edi
682
683         rorl    $11,%r14d
684         xorl    %r9d,%r13d
685         addl    %edi,%r12d
686
687         movl    %ebx,%edi
688         addl    (%rbp),%r12d
689         xorl    %ebx,%r14d
690
691         xorl    %ecx,%edi
692         rorl    $6,%r13d
693         movl    %ecx,%eax
694
695         andl    %edi,%r15d
696         rorl    $2,%r14d
697         addl    %r13d,%r12d
698
699         xorl    %r15d,%eax
700         addl    %r12d,%r8d
701         addl    %r12d,%eax
702
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
709
710         movl    %r13d,%r12d
711         rorl    $11,%r13d
712         addl    %r14d,%eax
713         movl    %r15d,%r14d
714         rorl    $2,%r15d
715
716         xorl    %r12d,%r13d
717         shrl    $3,%r12d
718         rorl    $7,%r13d
719         xorl    %r14d,%r15d
720         shrl    $10,%r14d
721
722         rorl    $17,%r15d
723         xorl    %r13d,%r12d
724         xorl    %r14d,%r15d
725         addl    36(%rsp),%r12d
726
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
733
734         xorl    %r8d,%r13d
735         rorl    $9,%r14d
736         xorl    %r10d,%r15d
737
738         movl    %r12d,0(%rsp)
739         xorl    %eax,%r14d
740         andl    %r8d,%r15d
741
742         rorl    $5,%r13d
743         addl    %r11d,%r12d
744         xorl    %r10d,%r15d
745
746         rorl    $11,%r14d
747         xorl    %r8d,%r13d
748         addl    %r15d,%r12d
749
750         movl    %eax,%r15d
751         addl    (%rbp),%r12d
752         xorl    %eax,%r14d
753
754         xorl    %ebx,%r15d
755         rorl    $6,%r13d
756         movl    %ebx,%r11d
757
758         andl    %r15d,%edi
759         rorl    $2,%r14d
760         addl    %r13d,%r12d
761
762         xorl    %edi,%r11d
763         addl    %r12d,%edx
764         addl    %r12d,%r11d
765
766         leaq    4(%rbp),%rbp
767         movl    8(%rsp),%r13d
768         movl    60(%rsp),%edi
769
770         movl    %r13d,%r12d
771         rorl    $11,%r13d
772         addl    %r14d,%r11d
773         movl    %edi,%r14d
774         rorl    $2,%edi
775
776         xorl    %r12d,%r13d
777         shrl    $3,%r12d
778         rorl    $7,%r13d
779         xorl    %r14d,%edi
780         shrl    $10,%r14d
781
782         rorl    $17,%edi
783         xorl    %r13d,%r12d
784         xorl    %r14d,%edi
785         addl    40(%rsp),%r12d
786
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
793
794         xorl    %edx,%r13d
795         rorl    $9,%r14d
796         xorl    %r9d,%edi
797
798         movl    %r12d,4(%rsp)
799         xorl    %r11d,%r14d
800         andl    %edx,%edi
801
802         rorl    $5,%r13d
803         addl    %r10d,%r12d
804         xorl    %r9d,%edi
805
806         rorl    $11,%r14d
807         xorl    %edx,%r13d
808         addl    %edi,%r12d
809
810         movl    %r11d,%edi
811         addl    (%rbp),%r12d
812         xorl    %r11d,%r14d
813
814         xorl    %eax,%edi
815         rorl    $6,%r13d
816         movl    %eax,%r10d
817
818         andl    %edi,%r15d
819         rorl    $2,%r14d
820         addl    %r13d,%r12d
821
822         xorl    %r15d,%r10d
823         addl    %r12d,%ecx
824         addl    %r12d,%r10d
825
826         leaq    4(%rbp),%rbp
827         movl    12(%rsp),%r13d
828         movl    0(%rsp),%r15d
829
830         movl    %r13d,%r12d
831         rorl    $11,%r13d
832         addl    %r14d,%r10d
833         movl    %r15d,%r14d
834         rorl    $2,%r15d
835
836         xorl    %r12d,%r13d
837         shrl    $3,%r12d
838         rorl    $7,%r13d
839         xorl    %r14d,%r15d
840         shrl    $10,%r14d
841
842         rorl    $17,%r15d
843         xorl    %r13d,%r12d
844         xorl    %r14d,%r15d
845         addl    44(%rsp),%r12d
846
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
853
854         xorl    %ecx,%r13d
855         rorl    $9,%r14d
856         xorl    %r8d,%r15d
857
858         movl    %r12d,8(%rsp)
859         xorl    %r10d,%r14d
860         andl    %ecx,%r15d
861
862         rorl    $5,%r13d
863         addl    %r9d,%r12d
864         xorl    %r8d,%r15d
865
866         rorl    $11,%r14d
867         xorl    %ecx,%r13d
868         addl    %r15d,%r12d
869
870         movl    %r10d,%r15d
871         addl    (%rbp),%r12d
872         xorl    %r10d,%r14d
873
874         xorl    %r11d,%r15d
875         rorl    $6,%r13d
876         movl    %r11d,%r9d
877
878         andl    %r15d,%edi
879         rorl    $2,%r14d
880         addl    %r13d,%r12d
881
882         xorl    %edi,%r9d
883         addl    %r12d,%ebx
884         addl    %r12d,%r9d
885
886         leaq    4(%rbp),%rbp
887         movl    16(%rsp),%r13d
888         movl    4(%rsp),%edi
889
890         movl    %r13d,%r12d
891         rorl    $11,%r13d
892         addl    %r14d,%r9d
893         movl    %edi,%r14d
894         rorl    $2,%edi
895
896         xorl    %r12d,%r13d
897         shrl    $3,%r12d
898         rorl    $7,%r13d
899         xorl    %r14d,%edi
900         shrl    $10,%r14d
901
902         rorl    $17,%edi
903         xorl    %r13d,%r12d
904         xorl    %r14d,%edi
905         addl    48(%rsp),%r12d
906
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
913
914         xorl    %ebx,%r13d
915         rorl    $9,%r14d
916         xorl    %edx,%edi
917
918         movl    %r12d,12(%rsp)
919         xorl    %r9d,%r14d
920         andl    %ebx,%edi
921
922         rorl    $5,%r13d
923         addl    %r8d,%r12d
924         xorl    %edx,%edi
925
926         rorl    $11,%r14d
927         xorl    %ebx,%r13d
928         addl    %edi,%r12d
929
930         movl    %r9d,%edi
931         addl    (%rbp),%r12d
932         xorl    %r9d,%r14d
933
934         xorl    %r10d,%edi
935         rorl    $6,%r13d
936         movl    %r10d,%r8d
937
938         andl    %edi,%r15d
939         rorl    $2,%r14d
940         addl    %r13d,%r12d
941
942         xorl    %r15d,%r8d
943         addl    %r12d,%eax
944         addl    %r12d,%r8d
945
946         leaq    20(%rbp),%rbp
947         movl    20(%rsp),%r13d
948         movl    8(%rsp),%r15d
949
950         movl    %r13d,%r12d
951         rorl    $11,%r13d
952         addl    %r14d,%r8d
953         movl    %r15d,%r14d
954         rorl    $2,%r15d
955
956         xorl    %r12d,%r13d
957         shrl    $3,%r12d
958         rorl    $7,%r13d
959         xorl    %r14d,%r15d
960         shrl    $10,%r14d
961
962         rorl    $17,%r15d
963         xorl    %r13d,%r12d
964         xorl    %r14d,%r15d
965         addl    52(%rsp),%r12d
966
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
973
974         xorl    %eax,%r13d
975         rorl    $9,%r14d
976         xorl    %ecx,%r15d
977
978         movl    %r12d,16(%rsp)
979         xorl    %r8d,%r14d
980         andl    %eax,%r15d
981
982         rorl    $5,%r13d
983         addl    %edx,%r12d
984         xorl    %ecx,%r15d
985
986         rorl    $11,%r14d
987         xorl    %eax,%r13d
988         addl    %r15d,%r12d
989
990         movl    %r8d,%r15d
991         addl    (%rbp),%r12d
992         xorl    %r8d,%r14d
993
994         xorl    %r9d,%r15d
995         rorl    $6,%r13d
996         movl    %r9d,%edx
997
998         andl    %r15d,%edi
999         rorl    $2,%r14d
1000         addl    %r13d,%r12d
1001
1002         xorl    %edi,%edx
1003         addl    %r12d,%r11d
1004         addl    %r12d,%edx
1005
1006         leaq    4(%rbp),%rbp
1007         movl    24(%rsp),%r13d
1008         movl    12(%rsp),%edi
1009
1010         movl    %r13d,%r12d
1011         rorl    $11,%r13d
1012         addl    %r14d,%edx
1013         movl    %edi,%r14d
1014         rorl    $2,%edi
1015
1016         xorl    %r12d,%r13d
1017         shrl    $3,%r12d
1018         rorl    $7,%r13d
1019         xorl    %r14d,%edi
1020         shrl    $10,%r14d
1021
1022         rorl    $17,%edi
1023         xorl    %r13d,%r12d
1024         xorl    %r14d,%edi
1025         addl    56(%rsp),%r12d
1026
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
1033
1034         xorl    %r11d,%r13d
1035         rorl    $9,%r14d
1036         xorl    %ebx,%edi
1037
1038         movl    %r12d,20(%rsp)
1039         xorl    %edx,%r14d
1040         andl    %r11d,%edi
1041
1042         rorl    $5,%r13d
1043         addl    %ecx,%r12d
1044         xorl    %ebx,%edi
1045
1046         rorl    $11,%r14d
1047         xorl    %r11d,%r13d
1048         addl    %edi,%r12d
1049
1050         movl    %edx,%edi
1051         addl    (%rbp),%r12d
1052         xorl    %edx,%r14d
1053
1054         xorl    %r8d,%edi
1055         rorl    $6,%r13d
1056         movl    %r8d,%ecx
1057
1058         andl    %edi,%r15d
1059         rorl    $2,%r14d
1060         addl    %r13d,%r12d
1061
1062         xorl    %r15d,%ecx
1063         addl    %r12d,%r10d
1064         addl    %r12d,%ecx
1065
1066         leaq    4(%rbp),%rbp
1067         movl    28(%rsp),%r13d
1068         movl    16(%rsp),%r15d
1069
1070         movl    %r13d,%r12d
1071         rorl    $11,%r13d
1072         addl    %r14d,%ecx
1073         movl    %r15d,%r14d
1074         rorl    $2,%r15d
1075
1076         xorl    %r12d,%r13d
1077         shrl    $3,%r12d
1078         rorl    $7,%r13d
1079         xorl    %r14d,%r15d
1080         shrl    $10,%r14d
1081
1082         rorl    $17,%r15d
1083         xorl    %r13d,%r12d
1084         xorl    %r14d,%r15d
1085         addl    60(%rsp),%r12d
1086
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
1093
1094         xorl    %r10d,%r13d
1095         rorl    $9,%r14d
1096         xorl    %eax,%r15d
1097
1098         movl    %r12d,24(%rsp)
1099         xorl    %ecx,%r14d
1100         andl    %r10d,%r15d
1101
1102         rorl    $5,%r13d
1103         addl    %ebx,%r12d
1104         xorl    %eax,%r15d
1105
1106         rorl    $11,%r14d
1107         xorl    %r10d,%r13d
1108         addl    %r15d,%r12d
1109
1110         movl    %ecx,%r15d
1111         addl    (%rbp),%r12d
1112         xorl    %ecx,%r14d
1113
1114         xorl    %edx,%r15d
1115         rorl    $6,%r13d
1116         movl    %edx,%ebx
1117
1118         andl    %r15d,%edi
1119         rorl    $2,%r14d
1120         addl    %r13d,%r12d
1121
1122         xorl    %edi,%ebx
1123         addl    %r12d,%r9d
1124         addl    %r12d,%ebx
1125
1126         leaq    4(%rbp),%rbp
1127         movl    32(%rsp),%r13d
1128         movl    20(%rsp),%edi
1129
1130         movl    %r13d,%r12d
1131         rorl    $11,%r13d
1132         addl    %r14d,%ebx
1133         movl    %edi,%r14d
1134         rorl    $2,%edi
1135
1136         xorl    %r12d,%r13d
1137         shrl    $3,%r12d
1138         rorl    $7,%r13d
1139         xorl    %r14d,%edi
1140         shrl    $10,%r14d
1141
1142         rorl    $17,%edi
1143         xorl    %r13d,%r12d
1144         xorl    %r14d,%edi
1145         addl    0(%rsp),%r12d
1146
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
1153
1154         xorl    %r9d,%r13d
1155         rorl    $9,%r14d
1156         xorl    %r11d,%edi
1157
1158         movl    %r12d,28(%rsp)
1159         xorl    %ebx,%r14d
1160         andl    %r9d,%edi
1161
1162         rorl    $5,%r13d
1163         addl    %eax,%r12d
1164         xorl    %r11d,%edi
1165
1166         rorl    $11,%r14d
1167         xorl    %r9d,%r13d
1168         addl    %edi,%r12d
1169
1170         movl    %ebx,%edi
1171         addl    (%rbp),%r12d
1172         xorl    %ebx,%r14d
1173
1174         xorl    %ecx,%edi
1175         rorl    $6,%r13d
1176         movl    %ecx,%eax
1177
1178         andl    %edi,%r15d
1179         rorl    $2,%r14d
1180         addl    %r13d,%r12d
1181
1182         xorl    %r15d,%eax
1183         addl    %r12d,%r8d
1184         addl    %r12d,%eax
1185
1186         leaq    20(%rbp),%rbp
1187         movl    36(%rsp),%r13d
1188         movl    24(%rsp),%r15d
1189
1190         movl    %r13d,%r12d
1191         rorl    $11,%r13d
1192         addl    %r14d,%eax
1193         movl    %r15d,%r14d
1194         rorl    $2,%r15d
1195
1196         xorl    %r12d,%r13d
1197         shrl    $3,%r12d
1198         rorl    $7,%r13d
1199         xorl    %r14d,%r15d
1200         shrl    $10,%r14d
1201
1202         rorl    $17,%r15d
1203         xorl    %r13d,%r12d
1204         xorl    %r14d,%r15d
1205         addl    4(%rsp),%r12d
1206
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
1213
1214         xorl    %r8d,%r13d
1215         rorl    $9,%r14d
1216         xorl    %r10d,%r15d
1217
1218         movl    %r12d,32(%rsp)
1219         xorl    %eax,%r14d
1220         andl    %r8d,%r15d
1221
1222         rorl    $5,%r13d
1223         addl    %r11d,%r12d
1224         xorl    %r10d,%r15d
1225
1226         rorl    $11,%r14d
1227         xorl    %r8d,%r13d
1228         addl    %r15d,%r12d
1229
1230         movl    %eax,%r15d
1231         addl    (%rbp),%r12d
1232         xorl    %eax,%r14d
1233
1234         xorl    %ebx,%r15d
1235         rorl    $6,%r13d
1236         movl    %ebx,%r11d
1237
1238         andl    %r15d,%edi
1239         rorl    $2,%r14d
1240         addl    %r13d,%r12d
1241
1242         xorl    %edi,%r11d
1243         addl    %r12d,%edx
1244         addl    %r12d,%r11d
1245
1246         leaq    4(%rbp),%rbp
1247         movl    40(%rsp),%r13d
1248         movl    28(%rsp),%edi
1249
1250         movl    %r13d,%r12d
1251         rorl    $11,%r13d
1252         addl    %r14d,%r11d
1253         movl    %edi,%r14d
1254         rorl    $2,%edi
1255
1256         xorl    %r12d,%r13d
1257         shrl    $3,%r12d
1258         rorl    $7,%r13d
1259         xorl    %r14d,%edi
1260         shrl    $10,%r14d
1261
1262         rorl    $17,%edi
1263         xorl    %r13d,%r12d
1264         xorl    %r14d,%edi
1265         addl    8(%rsp),%r12d
1266
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
1273
1274         xorl    %edx,%r13d
1275         rorl    $9,%r14d
1276         xorl    %r9d,%edi
1277
1278         movl    %r12d,36(%rsp)
1279         xorl    %r11d,%r14d
1280         andl    %edx,%edi
1281
1282         rorl    $5,%r13d
1283         addl    %r10d,%r12d
1284         xorl    %r9d,%edi
1285
1286         rorl    $11,%r14d
1287         xorl    %edx,%r13d
1288         addl    %edi,%r12d
1289
1290         movl    %r11d,%edi
1291         addl    (%rbp),%r12d
1292         xorl    %r11d,%r14d
1293
1294         xorl    %eax,%edi
1295         rorl    $6,%r13d
1296         movl    %eax,%r10d
1297
1298         andl    %edi,%r15d
1299         rorl    $2,%r14d
1300         addl    %r13d,%r12d
1301
1302         xorl    %r15d,%r10d
1303         addl    %r12d,%ecx
1304         addl    %r12d,%r10d
1305
1306         leaq    4(%rbp),%rbp
1307         movl    44(%rsp),%r13d
1308         movl    32(%rsp),%r15d
1309
1310         movl    %r13d,%r12d
1311         rorl    $11,%r13d
1312         addl    %r14d,%r10d
1313         movl    %r15d,%r14d
1314         rorl    $2,%r15d
1315
1316         xorl    %r12d,%r13d
1317         shrl    $3,%r12d
1318         rorl    $7,%r13d
1319         xorl    %r14d,%r15d
1320         shrl    $10,%r14d
1321
1322         rorl    $17,%r15d
1323         xorl    %r13d,%r12d
1324         xorl    %r14d,%r15d
1325         addl    12(%rsp),%r12d
1326
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
1333
1334         xorl    %ecx,%r13d
1335         rorl    $9,%r14d
1336         xorl    %r8d,%r15d
1337
1338         movl    %r12d,40(%rsp)
1339         xorl    %r10d,%r14d
1340         andl    %ecx,%r15d
1341
1342         rorl    $5,%r13d
1343         addl    %r9d,%r12d
1344         xorl    %r8d,%r15d
1345
1346         rorl    $11,%r14d
1347         xorl    %ecx,%r13d
1348         addl    %r15d,%r12d
1349
1350         movl    %r10d,%r15d
1351         addl    (%rbp),%r12d
1352         xorl    %r10d,%r14d
1353
1354         xorl    %r11d,%r15d
1355         rorl    $6,%r13d
1356         movl    %r11d,%r9d
1357
1358         andl    %r15d,%edi
1359         rorl    $2,%r14d
1360         addl    %r13d,%r12d
1361
1362         xorl    %edi,%r9d
1363         addl    %r12d,%ebx
1364         addl    %r12d,%r9d
1365
1366         leaq    4(%rbp),%rbp
1367         movl    48(%rsp),%r13d
1368         movl    36(%rsp),%edi
1369
1370         movl    %r13d,%r12d
1371         rorl    $11,%r13d
1372         addl    %r14d,%r9d
1373         movl    %edi,%r14d
1374         rorl    $2,%edi
1375
1376         xorl    %r12d,%r13d
1377         shrl    $3,%r12d
1378         rorl    $7,%r13d
1379         xorl    %r14d,%edi
1380         shrl    $10,%r14d
1381
1382         rorl    $17,%edi
1383         xorl    %r13d,%r12d
1384         xorl    %r14d,%edi
1385         addl    16(%rsp),%r12d
1386
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
1393
1394         xorl    %ebx,%r13d
1395         rorl    $9,%r14d
1396         xorl    %edx,%edi
1397
1398         movl    %r12d,44(%rsp)
1399         xorl    %r9d,%r14d
1400         andl    %ebx,%edi
1401
1402         rorl    $5,%r13d
1403         addl    %r8d,%r12d
1404         xorl    %edx,%edi
1405
1406         rorl    $11,%r14d
1407         xorl    %ebx,%r13d
1408         addl    %edi,%r12d
1409
1410         movl    %r9d,%edi
1411         addl    (%rbp),%r12d
1412         xorl    %r9d,%r14d
1413
1414         xorl    %r10d,%edi
1415         rorl    $6,%r13d
1416         movl    %r10d,%r8d
1417
1418         andl    %edi,%r15d
1419         rorl    $2,%r14d
1420         addl    %r13d,%r12d
1421
1422         xorl    %r15d,%r8d
1423         addl    %r12d,%eax
1424         addl    %r12d,%r8d
1425
1426         leaq    20(%rbp),%rbp
1427         movl    52(%rsp),%r13d
1428         movl    40(%rsp),%r15d
1429
1430         movl    %r13d,%r12d
1431         rorl    $11,%r13d
1432         addl    %r14d,%r8d
1433         movl    %r15d,%r14d
1434         rorl    $2,%r15d
1435
1436         xorl    %r12d,%r13d
1437         shrl    $3,%r12d
1438         rorl    $7,%r13d
1439         xorl    %r14d,%r15d
1440         shrl    $10,%r14d
1441
1442         rorl    $17,%r15d
1443         xorl    %r13d,%r12d
1444         xorl    %r14d,%r15d
1445         addl    20(%rsp),%r12d
1446
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
1453
1454         xorl    %eax,%r13d
1455         rorl    $9,%r14d
1456         xorl    %ecx,%r15d
1457
1458         movl    %r12d,48(%rsp)
1459         xorl    %r8d,%r14d
1460         andl    %eax,%r15d
1461
1462         rorl    $5,%r13d
1463         addl    %edx,%r12d
1464         xorl    %ecx,%r15d
1465
1466         rorl    $11,%r14d
1467         xorl    %eax,%r13d
1468         addl    %r15d,%r12d
1469
1470         movl    %r8d,%r15d
1471         addl    (%rbp),%r12d
1472         xorl    %r8d,%r14d
1473
1474         xorl    %r9d,%r15d
1475         rorl    $6,%r13d
1476         movl    %r9d,%edx
1477
1478         andl    %r15d,%edi
1479         rorl    $2,%r14d
1480         addl    %r13d,%r12d
1481
1482         xorl    %edi,%edx
1483         addl    %r12d,%r11d
1484         addl    %r12d,%edx
1485
1486         leaq    4(%rbp),%rbp
1487         movl    56(%rsp),%r13d
1488         movl    44(%rsp),%edi
1489
1490         movl    %r13d,%r12d
1491         rorl    $11,%r13d
1492         addl    %r14d,%edx
1493         movl    %edi,%r14d
1494         rorl    $2,%edi
1495
1496         xorl    %r12d,%r13d
1497         shrl    $3,%r12d
1498         rorl    $7,%r13d
1499         xorl    %r14d,%edi
1500         shrl    $10,%r14d
1501
1502         rorl    $17,%edi
1503         xorl    %r13d,%r12d
1504         xorl    %r14d,%edi
1505         addl    24(%rsp),%r12d
1506
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
1513
1514         xorl    %r11d,%r13d
1515         rorl    $9,%r14d
1516         xorl    %ebx,%edi
1517
1518         movl    %r12d,52(%rsp)
1519         xorl    %edx,%r14d
1520         andl    %r11d,%edi
1521
1522         rorl    $5,%r13d
1523         addl    %ecx,%r12d
1524         xorl    %ebx,%edi
1525
1526         rorl    $11,%r14d
1527         xorl    %r11d,%r13d
1528         addl    %edi,%r12d
1529
1530         movl    %edx,%edi
1531         addl    (%rbp),%r12d
1532         xorl    %edx,%r14d
1533
1534         xorl    %r8d,%edi
1535         rorl    $6,%r13d
1536         movl    %r8d,%ecx
1537
1538         andl    %edi,%r15d
1539         rorl    $2,%r14d
1540         addl    %r13d,%r12d
1541
1542         xorl    %r15d,%ecx
1543         addl    %r12d,%r10d
1544         addl    %r12d,%ecx
1545
1546         leaq    4(%rbp),%rbp
1547         movl    60(%rsp),%r13d
1548         movl    48(%rsp),%r15d
1549
1550         movl    %r13d,%r12d
1551         rorl    $11,%r13d
1552         addl    %r14d,%ecx
1553         movl    %r15d,%r14d
1554         rorl    $2,%r15d
1555
1556         xorl    %r12d,%r13d
1557         shrl    $3,%r12d
1558         rorl    $7,%r13d
1559         xorl    %r14d,%r15d
1560         shrl    $10,%r14d
1561
1562         rorl    $17,%r15d
1563         xorl    %r13d,%r12d
1564         xorl    %r14d,%r15d
1565         addl    28(%rsp),%r12d
1566
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
1573
1574         xorl    %r10d,%r13d
1575         rorl    $9,%r14d
1576         xorl    %eax,%r15d
1577
1578         movl    %r12d,56(%rsp)
1579         xorl    %ecx,%r14d
1580         andl    %r10d,%r15d
1581
1582         rorl    $5,%r13d
1583         addl    %ebx,%r12d
1584         xorl    %eax,%r15d
1585
1586         rorl    $11,%r14d
1587         xorl    %r10d,%r13d
1588         addl    %r15d,%r12d
1589
1590         movl    %ecx,%r15d
1591         addl    (%rbp),%r12d
1592         xorl    %ecx,%r14d
1593
1594         xorl    %edx,%r15d
1595         rorl    $6,%r13d
1596         movl    %edx,%ebx
1597
1598         andl    %r15d,%edi
1599         rorl    $2,%r14d
1600         addl    %r13d,%r12d
1601
1602         xorl    %edi,%ebx
1603         addl    %r12d,%r9d
1604         addl    %r12d,%ebx
1605
1606         leaq    4(%rbp),%rbp
1607         movl    0(%rsp),%r13d
1608         movl    52(%rsp),%edi
1609
1610         movl    %r13d,%r12d
1611         rorl    $11,%r13d
1612         addl    %r14d,%ebx
1613         movl    %edi,%r14d
1614         rorl    $2,%edi
1615
1616         xorl    %r12d,%r13d
1617         shrl    $3,%r12d
1618         rorl    $7,%r13d
1619         xorl    %r14d,%edi
1620         shrl    $10,%r14d
1621
1622         rorl    $17,%edi
1623         xorl    %r13d,%r12d
1624         xorl    %r14d,%edi
1625         addl    32(%rsp),%r12d
1626
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
1633
1634         xorl    %r9d,%r13d
1635         rorl    $9,%r14d
1636         xorl    %r11d,%edi
1637
1638         movl    %r12d,60(%rsp)
1639         xorl    %ebx,%r14d
1640         andl    %r9d,%edi
1641
1642         rorl    $5,%r13d
1643         addl    %eax,%r12d
1644         xorl    %r11d,%edi
1645
1646         rorl    $11,%r14d
1647         xorl    %r9d,%r13d
1648         addl    %edi,%r12d
1649
1650         movl    %ebx,%edi
1651         addl    (%rbp),%r12d
1652         xorl    %ebx,%r14d
1653
1654         xorl    %ecx,%edi
1655         rorl    $6,%r13d
1656         movl    %ecx,%eax
1657
1658         andl    %edi,%r15d
1659         rorl    $2,%r14d
1660         addl    %r13d,%r12d
1661
1662         xorl    %r15d,%eax
1663         addl    %r12d,%r8d
1664         addl    %r12d,%eax
1665
1666         leaq    20(%rbp),%rbp
1667         cmpb    $0,3(%rbp)
1668         jnz     .Lrounds_16_xx
1669
1670         movq    64+0(%rsp),%rdi
1671         addl    %r14d,%eax
1672         leaq    64(%rsi),%rsi
1673
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
1682
1683         cmpq    64+16(%rsp),%rsi
1684
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
1694
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
1741
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_shaext,@function
1750 .align  64
1751 sha256_block_data_order_shaext:
1752 _shaext_shortcut:
1753         leaq    K256+128(%rip),%rcx
1754         movdqu  (%rdi),%xmm1
1755         movdqu  16(%rdi),%xmm2
1756         movdqa  512-128(%rcx),%xmm7
1757
1758         pshufd  $0x1b,%xmm1,%xmm0
1759         pshufd  $0xb1,%xmm1,%xmm1
1760         pshufd  $0x1b,%xmm2,%xmm2
1761         movdqa  %xmm7,%xmm8
1762 .byte   102,15,58,15,202,8
1763         punpcklqdq      %xmm0,%xmm2
1764         jmp     .Loop_shaext
1765
1766 .align  16
1767 .Loop_shaext:
1768         movdqu  (%rsi),%xmm3
1769         movdqu  16(%rsi),%xmm4
1770         movdqu  32(%rsi),%xmm5
1771 .byte   102,15,56,0,223
1772         movdqu  48(%rsi),%xmm6
1773
1774         movdqa  0-128(%rcx),%xmm0
1775         paddd   %xmm3,%xmm0
1776 .byte   102,15,56,0,231
1777         movdqa  %xmm2,%xmm10
1778 .byte   15,56,203,209
1779         pshufd  $0x0e,%xmm0,%xmm0
1780         nop
1781         movdqa  %xmm1,%xmm9
1782 .byte   15,56,203,202
1783
1784         movdqa  32-128(%rcx),%xmm0
1785         paddd   %xmm4,%xmm0
1786 .byte   102,15,56,0,239
1787 .byte   15,56,203,209
1788         pshufd  $0x0e,%xmm0,%xmm0
1789         leaq    64(%rsi),%rsi
1790 .byte   15,56,204,220
1791 .byte   15,56,203,202
1792
1793         movdqa  64-128(%rcx),%xmm0
1794         paddd   %xmm5,%xmm0
1795 .byte   102,15,56,0,247
1796 .byte   15,56,203,209
1797         pshufd  $0x0e,%xmm0,%xmm0
1798         movdqa  %xmm6,%xmm7
1799 .byte   102,15,58,15,253,4
1800         nop
1801         paddd   %xmm7,%xmm3
1802 .byte   15,56,204,229
1803 .byte   15,56,203,202
1804
1805         movdqa  96-128(%rcx),%xmm0
1806         paddd   %xmm6,%xmm0
1807 .byte   15,56,205,222
1808 .byte   15,56,203,209
1809         pshufd  $0x0e,%xmm0,%xmm0
1810         movdqa  %xmm3,%xmm7
1811 .byte   102,15,58,15,254,4
1812         nop
1813         paddd   %xmm7,%xmm4
1814 .byte   15,56,204,238
1815 .byte   15,56,203,202
1816         movdqa  128-128(%rcx),%xmm0
1817         paddd   %xmm3,%xmm0
1818 .byte   15,56,205,227
1819 .byte   15,56,203,209
1820         pshufd  $0x0e,%xmm0,%xmm0
1821         movdqa  %xmm4,%xmm7
1822 .byte   102,15,58,15,251,4
1823         nop
1824         paddd   %xmm7,%xmm5
1825 .byte   15,56,204,243
1826 .byte   15,56,203,202
1827         movdqa  160-128(%rcx),%xmm0
1828         paddd   %xmm4,%xmm0
1829 .byte   15,56,205,236
1830 .byte   15,56,203,209
1831         pshufd  $0x0e,%xmm0,%xmm0
1832         movdqa  %xmm5,%xmm7
1833 .byte   102,15,58,15,252,4
1834         nop
1835         paddd   %xmm7,%xmm6
1836 .byte   15,56,204,220
1837 .byte   15,56,203,202
1838         movdqa  192-128(%rcx),%xmm0
1839         paddd   %xmm5,%xmm0
1840 .byte   15,56,205,245
1841 .byte   15,56,203,209
1842         pshufd  $0x0e,%xmm0,%xmm0
1843         movdqa  %xmm6,%xmm7
1844 .byte   102,15,58,15,253,4
1845         nop
1846         paddd   %xmm7,%xmm3
1847 .byte   15,56,204,229
1848 .byte   15,56,203,202
1849         movdqa  224-128(%rcx),%xmm0
1850         paddd   %xmm6,%xmm0
1851 .byte   15,56,205,222
1852 .byte   15,56,203,209
1853         pshufd  $0x0e,%xmm0,%xmm0
1854         movdqa  %xmm3,%xmm7
1855 .byte   102,15,58,15,254,4
1856         nop
1857         paddd   %xmm7,%xmm4
1858 .byte   15,56,204,238
1859 .byte   15,56,203,202
1860         movdqa  256-128(%rcx),%xmm0
1861         paddd   %xmm3,%xmm0
1862 .byte   15,56,205,227
1863 .byte   15,56,203,209
1864         pshufd  $0x0e,%xmm0,%xmm0
1865         movdqa  %xmm4,%xmm7
1866 .byte   102,15,58,15,251,4
1867         nop
1868         paddd   %xmm7,%xmm5
1869 .byte   15,56,204,243
1870 .byte   15,56,203,202
1871         movdqa  288-128(%rcx),%xmm0
1872         paddd   %xmm4,%xmm0
1873 .byte   15,56,205,236
1874 .byte   15,56,203,209
1875         pshufd  $0x0e,%xmm0,%xmm0
1876         movdqa  %xmm5,%xmm7
1877 .byte   102,15,58,15,252,4
1878         nop
1879         paddd   %xmm7,%xmm6
1880 .byte   15,56,204,220
1881 .byte   15,56,203,202
1882         movdqa  320-128(%rcx),%xmm0
1883         paddd   %xmm5,%xmm0
1884 .byte   15,56,205,245
1885 .byte   15,56,203,209
1886         pshufd  $0x0e,%xmm0,%xmm0
1887         movdqa  %xmm6,%xmm7
1888 .byte   102,15,58,15,253,4
1889         nop
1890         paddd   %xmm7,%xmm3
1891 .byte   15,56,204,229
1892 .byte   15,56,203,202
1893         movdqa  352-128(%rcx),%xmm0
1894         paddd   %xmm6,%xmm0
1895 .byte   15,56,205,222
1896 .byte   15,56,203,209
1897         pshufd  $0x0e,%xmm0,%xmm0
1898         movdqa  %xmm3,%xmm7
1899 .byte   102,15,58,15,254,4
1900         nop
1901         paddd   %xmm7,%xmm4
1902 .byte   15,56,204,238
1903 .byte   15,56,203,202
1904         movdqa  384-128(%rcx),%xmm0
1905         paddd   %xmm3,%xmm0
1906 .byte   15,56,205,227
1907 .byte   15,56,203,209
1908         pshufd  $0x0e,%xmm0,%xmm0
1909         movdqa  %xmm4,%xmm7
1910 .byte   102,15,58,15,251,4
1911         nop
1912         paddd   %xmm7,%xmm5
1913 .byte   15,56,204,243
1914 .byte   15,56,203,202
1915         movdqa  416-128(%rcx),%xmm0
1916         paddd   %xmm4,%xmm0
1917 .byte   15,56,205,236
1918 .byte   15,56,203,209
1919         pshufd  $0x0e,%xmm0,%xmm0
1920         movdqa  %xmm5,%xmm7
1921 .byte   102,15,58,15,252,4
1922 .byte   15,56,203,202
1923         paddd   %xmm7,%xmm6
1924
1925         movdqa  448-128(%rcx),%xmm0
1926         paddd   %xmm5,%xmm0
1927 .byte   15,56,203,209
1928         pshufd  $0x0e,%xmm0,%xmm0
1929 .byte   15,56,205,245
1930         movdqa  %xmm8,%xmm7
1931 .byte   15,56,203,202
1932
1933         movdqa  480-128(%rcx),%xmm0
1934         paddd   %xmm6,%xmm0
1935         nop
1936 .byte   15,56,203,209
1937         pshufd  $0x0e,%xmm0,%xmm0
1938         decq    %rdx
1939         nop
1940 .byte   15,56,203,202
1941
1942         paddd   %xmm10,%xmm2
1943         paddd   %xmm9,%xmm1
1944         jnz     .Loop_shaext
1945
1946         pshufd  $0xb1,%xmm2,%xmm2
1947         pshufd  $0x1b,%xmm1,%xmm7
1948         pshufd  $0xb1,%xmm1,%xmm1
1949         punpckhqdq      %xmm2,%xmm1
1950 .byte   102,15,58,15,215,8
1951
1952         movdqu  %xmm1,(%rdi)
1953         movdqu  %xmm2,16(%rdi)
1954         .byte   0xf3,0xc3
1955 .size   sha256_block_data_order_shaext,.-sha256_block_data_order_shaext
1956 .type   sha256_block_data_order_ssse3,@function
1957 .align  64
1958 sha256_block_data_order_ssse3:
1959 .Lssse3_shortcut:
1960         pushq   %rbx
1961         pushq   %rbp
1962         pushq   %r12
1963         pushq   %r13
1964         pushq   %r14
1965         pushq   %r15
1966         movq    %rsp,%r11
1967         shlq    $4,%rdx
1968         subq    $96,%rsp
1969         leaq    (%rsi,%rdx,4),%rdx
1970         andq    $-64,%rsp
1971         movq    %rdi,64+0(%rsp)
1972         movq    %rsi,64+8(%rsp)
1973         movq    %rdx,64+16(%rsp)
1974         movq    %r11,64+24(%rsp)
1975 .Lprologue_ssse3:
1976
1977         movl    0(%rdi),%eax
1978         movl    4(%rdi),%ebx
1979         movl    8(%rdi),%ecx
1980         movl    12(%rdi),%edx
1981         movl    16(%rdi),%r8d
1982         movl    20(%rdi),%r9d
1983         movl    24(%rdi),%r10d
1984         movl    28(%rdi),%r11d
1985
1986
1987         jmp     .Lloop_ssse3
1988 .align  16
1989 .Lloop_ssse3:
1990         movdqa  K256+512(%rip),%xmm7
1991         movdqu  0(%rsi),%xmm0
1992         movdqu  16(%rsi),%xmm1
1993         movdqu  32(%rsi),%xmm2
1994 .byte   102,15,56,0,199
1995         movdqu  48(%rsi),%xmm3
1996         leaq    K256(%rip),%rbp
1997 .byte   102,15,56,0,207
1998         movdqa  0(%rbp),%xmm4
1999         movdqa  32(%rbp),%xmm5
2000 .byte   102,15,56,0,215
2001         paddd   %xmm0,%xmm4
2002         movdqa  64(%rbp),%xmm6
2003 .byte   102,15,56,0,223
2004         movdqa  96(%rbp),%xmm7
2005         paddd   %xmm1,%xmm5
2006         paddd   %xmm2,%xmm6
2007         paddd   %xmm3,%xmm7
2008         movdqa  %xmm4,0(%rsp)
2009         movl    %eax,%r14d
2010         movdqa  %xmm5,16(%rsp)
2011         movl    %ebx,%edi
2012         movdqa  %xmm6,32(%rsp)
2013         xorl    %ecx,%edi
2014         movdqa  %xmm7,48(%rsp)
2015         movl    %r8d,%r13d
2016         jmp     .Lssse3_00_47
2017
2018 .align  16
2019 .Lssse3_00_47:
2020         subq    $-128,%rbp
2021         rorl    $14,%r13d
2022         movdqa  %xmm1,%xmm4
2023         movl    %r14d,%eax
2024         movl    %r9d,%r12d
2025         movdqa  %xmm3,%xmm7
2026         rorl    $9,%r14d
2027         xorl    %r8d,%r13d
2028         xorl    %r10d,%r12d
2029         rorl    $5,%r13d
2030         xorl    %eax,%r14d
2031 .byte   102,15,58,15,224,4
2032         andl    %r8d,%r12d
2033         xorl    %r8d,%r13d
2034 .byte   102,15,58,15,250,4
2035         addl    0(%rsp),%r11d
2036         movl    %eax,%r15d
2037         xorl    %r10d,%r12d
2038         rorl    $11,%r14d
2039         movdqa  %xmm4,%xmm5
2040         xorl    %ebx,%r15d
2041         addl    %r12d,%r11d
2042         movdqa  %xmm4,%xmm6
2043         rorl    $6,%r13d
2044         andl    %r15d,%edi
2045         psrld   $3,%xmm4
2046         xorl    %eax,%r14d
2047         addl    %r13d,%r11d
2048         xorl    %ebx,%edi
2049         paddd   %xmm7,%xmm0
2050         rorl    $2,%r14d
2051         addl    %r11d,%edx
2052         psrld   $7,%xmm6
2053         addl    %edi,%r11d
2054         movl    %edx,%r13d
2055         pshufd  $250,%xmm3,%xmm7
2056         addl    %r11d,%r14d
2057         rorl    $14,%r13d
2058         pslld   $14,%xmm5
2059         movl    %r14d,%r11d
2060         movl    %r8d,%r12d
2061         pxor    %xmm6,%xmm4
2062         rorl    $9,%r14d
2063         xorl    %edx,%r13d
2064         xorl    %r9d,%r12d
2065         rorl    $5,%r13d
2066         psrld   $11,%xmm6
2067         xorl    %r11d,%r14d
2068         pxor    %xmm5,%xmm4
2069         andl    %edx,%r12d
2070         xorl    %edx,%r13d
2071         pslld   $11,%xmm5
2072         addl    4(%rsp),%r10d
2073         movl    %r11d,%edi
2074         pxor    %xmm6,%xmm4
2075         xorl    %r9d,%r12d
2076         rorl    $11,%r14d
2077         movdqa  %xmm7,%xmm6
2078         xorl    %eax,%edi
2079         addl    %r12d,%r10d
2080         pxor    %xmm5,%xmm4
2081         rorl    $6,%r13d
2082         andl    %edi,%r15d
2083         xorl    %r11d,%r14d
2084         psrld   $10,%xmm7
2085         addl    %r13d,%r10d
2086         xorl    %eax,%r15d
2087         paddd   %xmm4,%xmm0
2088         rorl    $2,%r14d
2089         addl    %r10d,%ecx
2090         psrlq   $17,%xmm6
2091         addl    %r15d,%r10d
2092         movl    %ecx,%r13d
2093         addl    %r10d,%r14d
2094         pxor    %xmm6,%xmm7
2095         rorl    $14,%r13d
2096         movl    %r14d,%r10d
2097         movl    %edx,%r12d
2098         rorl    $9,%r14d
2099         psrlq   $2,%xmm6
2100         xorl    %ecx,%r13d
2101         xorl    %r8d,%r12d
2102         pxor    %xmm6,%xmm7
2103         rorl    $5,%r13d
2104         xorl    %r10d,%r14d
2105         andl    %ecx,%r12d
2106         pshufd  $128,%xmm7,%xmm7
2107         xorl    %ecx,%r13d
2108         addl    8(%rsp),%r9d
2109         movl    %r10d,%r15d
2110         psrldq  $8,%xmm7
2111         xorl    %r8d,%r12d
2112         rorl    $11,%r14d
2113         xorl    %r11d,%r15d
2114         addl    %r12d,%r9d
2115         rorl    $6,%r13d
2116         paddd   %xmm7,%xmm0
2117         andl    %r15d,%edi
2118         xorl    %r10d,%r14d
2119         addl    %r13d,%r9d
2120         pshufd  $80,%xmm0,%xmm7
2121         xorl    %r11d,%edi
2122         rorl    $2,%r14d
2123         addl    %r9d,%ebx
2124         movdqa  %xmm7,%xmm6
2125         addl    %edi,%r9d
2126         movl    %ebx,%r13d
2127         psrld   $10,%xmm7
2128         addl    %r9d,%r14d
2129         rorl    $14,%r13d
2130         psrlq   $17,%xmm6
2131         movl    %r14d,%r9d
2132         movl    %ecx,%r12d
2133         pxor    %xmm6,%xmm7
2134         rorl    $9,%r14d
2135         xorl    %ebx,%r13d
2136         xorl    %edx,%r12d
2137         rorl    $5,%r13d
2138         xorl    %r9d,%r14d
2139         psrlq   $2,%xmm6
2140         andl    %ebx,%r12d
2141         xorl    %ebx,%r13d
2142         addl    12(%rsp),%r8d
2143         pxor    %xmm6,%xmm7
2144         movl    %r9d,%edi
2145         xorl    %edx,%r12d
2146         rorl    $11,%r14d
2147         pshufd  $8,%xmm7,%xmm7
2148         xorl    %r10d,%edi
2149         addl    %r12d,%r8d
2150         movdqa  0(%rbp),%xmm6
2151         rorl    $6,%r13d
2152         andl    %edi,%r15d
2153         pslldq  $8,%xmm7
2154         xorl    %r9d,%r14d
2155         addl    %r13d,%r8d
2156         xorl    %r10d,%r15d
2157         paddd   %xmm7,%xmm0
2158         rorl    $2,%r14d
2159         addl    %r8d,%eax
2160         addl    %r15d,%r8d
2161         paddd   %xmm0,%xmm6
2162         movl    %eax,%r13d
2163         addl    %r8d,%r14d
2164         movdqa  %xmm6,0(%rsp)
2165         rorl    $14,%r13d
2166         movdqa  %xmm2,%xmm4
2167         movl    %r14d,%r8d
2168         movl    %ebx,%r12d
2169         movdqa  %xmm0,%xmm7
2170         rorl    $9,%r14d
2171         xorl    %eax,%r13d
2172         xorl    %ecx,%r12d
2173         rorl    $5,%r13d
2174         xorl    %r8d,%r14d
2175 .byte   102,15,58,15,225,4
2176         andl    %eax,%r12d
2177         xorl    %eax,%r13d
2178 .byte   102,15,58,15,251,4
2179         addl    16(%rsp),%edx
2180         movl    %r8d,%r15d
2181         xorl    %ecx,%r12d
2182         rorl    $11,%r14d
2183         movdqa  %xmm4,%xmm5
2184         xorl    %r9d,%r15d
2185         addl    %r12d,%edx
2186         movdqa  %xmm4,%xmm6
2187         rorl    $6,%r13d
2188         andl    %r15d,%edi
2189         psrld   $3,%xmm4
2190         xorl    %r8d,%r14d
2191         addl    %r13d,%edx
2192         xorl    %r9d,%edi
2193         paddd   %xmm7,%xmm1
2194         rorl    $2,%r14d
2195         addl    %edx,%r11d
2196         psrld   $7,%xmm6
2197         addl    %edi,%edx
2198         movl    %r11d,%r13d
2199         pshufd  $250,%xmm0,%xmm7
2200         addl    %edx,%r14d
2201         rorl    $14,%r13d
2202         pslld   $14,%xmm5
2203         movl    %r14d,%edx
2204         movl    %eax,%r12d
2205         pxor    %xmm6,%xmm4
2206         rorl    $9,%r14d
2207         xorl    %r11d,%r13d
2208         xorl    %ebx,%r12d
2209         rorl    $5,%r13d
2210         psrld   $11,%xmm6
2211         xorl    %edx,%r14d
2212         pxor    %xmm5,%xmm4
2213         andl    %r11d,%r12d
2214         xorl    %r11d,%r13d
2215         pslld   $11,%xmm5
2216         addl    20(%rsp),%ecx
2217         movl    %edx,%edi
2218         pxor    %xmm6,%xmm4
2219         xorl    %ebx,%r12d
2220         rorl    $11,%r14d
2221         movdqa  %xmm7,%xmm6
2222         xorl    %r8d,%edi
2223         addl    %r12d,%ecx
2224         pxor    %xmm5,%xmm4
2225         rorl    $6,%r13d
2226         andl    %edi,%r15d
2227         xorl    %edx,%r14d
2228         psrld   $10,%xmm7
2229         addl    %r13d,%ecx
2230         xorl    %r8d,%r15d
2231         paddd   %xmm4,%xmm1
2232         rorl    $2,%r14d
2233         addl    %ecx,%r10d
2234         psrlq   $17,%xmm6
2235         addl    %r15d,%ecx
2236         movl    %r10d,%r13d
2237         addl    %ecx,%r14d
2238         pxor    %xmm6,%xmm7
2239         rorl    $14,%r13d
2240         movl    %r14d,%ecx
2241         movl    %r11d,%r12d
2242         rorl    $9,%r14d
2243         psrlq   $2,%xmm6
2244         xorl    %r10d,%r13d
2245         xorl    %eax,%r12d
2246         pxor    %xmm6,%xmm7
2247         rorl    $5,%r13d
2248         xorl    %ecx,%r14d
2249         andl    %r10d,%r12d
2250         pshufd  $128,%xmm7,%xmm7
2251         xorl    %r10d,%r13d
2252         addl    24(%rsp),%ebx
2253         movl    %ecx,%r15d
2254         psrldq  $8,%xmm7
2255         xorl    %eax,%r12d
2256         rorl    $11,%r14d
2257         xorl    %edx,%r15d
2258         addl    %r12d,%ebx
2259         rorl    $6,%r13d
2260         paddd   %xmm7,%xmm1
2261         andl    %r15d,%edi
2262         xorl    %ecx,%r14d
2263         addl    %r13d,%ebx
2264         pshufd  $80,%xmm1,%xmm7
2265         xorl    %edx,%edi
2266         rorl    $2,%r14d
2267         addl    %ebx,%r9d
2268         movdqa  %xmm7,%xmm6
2269         addl    %edi,%ebx
2270         movl    %r9d,%r13d
2271         psrld   $10,%xmm7
2272         addl    %ebx,%r14d
2273         rorl    $14,%r13d
2274         psrlq   $17,%xmm6
2275         movl    %r14d,%ebx
2276         movl    %r10d,%r12d
2277         pxor    %xmm6,%xmm7
2278         rorl    $9,%r14d
2279         xorl    %r9d,%r13d
2280         xorl    %r11d,%r12d
2281         rorl    $5,%r13d
2282         xorl    %ebx,%r14d
2283         psrlq   $2,%xmm6
2284         andl    %r9d,%r12d
2285         xorl    %r9d,%r13d
2286         addl    28(%rsp),%eax
2287         pxor    %xmm6,%xmm7
2288         movl    %ebx,%edi
2289         xorl    %r11d,%r12d
2290         rorl    $11,%r14d
2291         pshufd  $8,%xmm7,%xmm7
2292         xorl    %ecx,%edi
2293         addl    %r12d,%eax
2294         movdqa  32(%rbp),%xmm6
2295         rorl    $6,%r13d
2296         andl    %edi,%r15d
2297         pslldq  $8,%xmm7
2298         xorl    %ebx,%r14d
2299         addl    %r13d,%eax
2300         xorl    %ecx,%r15d
2301         paddd   %xmm7,%xmm1
2302         rorl    $2,%r14d
2303         addl    %eax,%r8d
2304         addl    %r15d,%eax
2305         paddd   %xmm1,%xmm6
2306         movl    %r8d,%r13d
2307         addl    %eax,%r14d
2308         movdqa  %xmm6,16(%rsp)
2309         rorl    $14,%r13d
2310         movdqa  %xmm3,%xmm4
2311         movl    %r14d,%eax
2312         movl    %r9d,%r12d
2313         movdqa  %xmm1,%xmm7
2314         rorl    $9,%r14d
2315         xorl    %r8d,%r13d
2316         xorl    %r10d,%r12d
2317         rorl    $5,%r13d
2318         xorl    %eax,%r14d
2319 .byte   102,15,58,15,226,4
2320         andl    %r8d,%r12d
2321         xorl    %r8d,%r13d
2322 .byte   102,15,58,15,248,4
2323         addl    32(%rsp),%r11d
2324         movl    %eax,%r15d
2325         xorl    %r10d,%r12d
2326         rorl    $11,%r14d
2327         movdqa  %xmm4,%xmm5
2328         xorl    %ebx,%r15d
2329         addl    %r12d,%r11d
2330         movdqa  %xmm4,%xmm6
2331         rorl    $6,%r13d
2332         andl    %r15d,%edi
2333         psrld   $3,%xmm4
2334         xorl    %eax,%r14d
2335         addl    %r13d,%r11d
2336         xorl    %ebx,%edi
2337         paddd   %xmm7,%xmm2
2338         rorl    $2,%r14d
2339         addl    %r11d,%edx
2340         psrld   $7,%xmm6
2341         addl    %edi,%r11d
2342         movl    %edx,%r13d
2343         pshufd  $250,%xmm1,%xmm7
2344         addl    %r11d,%r14d
2345         rorl    $14,%r13d
2346         pslld   $14,%xmm5
2347         movl    %r14d,%r11d
2348         movl    %r8d,%r12d
2349         pxor    %xmm6,%xmm4
2350         rorl    $9,%r14d
2351         xorl    %edx,%r13d
2352         xorl    %r9d,%r12d
2353         rorl    $5,%r13d
2354         psrld   $11,%xmm6
2355         xorl    %r11d,%r14d
2356         pxor    %xmm5,%xmm4
2357         andl    %edx,%r12d
2358         xorl    %edx,%r13d
2359         pslld   $11,%xmm5
2360         addl    36(%rsp),%r10d
2361         movl    %r11d,%edi
2362         pxor    %xmm6,%xmm4
2363         xorl    %r9d,%r12d
2364         rorl    $11,%r14d
2365         movdqa  %xmm7,%xmm6
2366         xorl    %eax,%edi
2367         addl    %r12d,%r10d
2368         pxor    %xmm5,%xmm4
2369         rorl    $6,%r13d
2370         andl    %edi,%r15d
2371         xorl    %r11d,%r14d
2372         psrld   $10,%xmm7
2373         addl    %r13d,%r10d
2374         xorl    %eax,%r15d
2375         paddd   %xmm4,%xmm2
2376         rorl    $2,%r14d
2377         addl    %r10d,%ecx
2378         psrlq   $17,%xmm6
2379         addl    %r15d,%r10d
2380         movl    %ecx,%r13d
2381         addl    %r10d,%r14d
2382         pxor    %xmm6,%xmm7
2383         rorl    $14,%r13d
2384         movl    %r14d,%r10d
2385         movl    %edx,%r12d
2386         rorl    $9,%r14d
2387         psrlq   $2,%xmm6
2388         xorl    %ecx,%r13d
2389         xorl    %r8d,%r12d
2390         pxor    %xmm6,%xmm7
2391         rorl    $5,%r13d
2392         xorl    %r10d,%r14d
2393         andl    %ecx,%r12d
2394         pshufd  $128,%xmm7,%xmm7
2395         xorl    %ecx,%r13d
2396         addl    40(%rsp),%r9d
2397         movl    %r10d,%r15d
2398         psrldq  $8,%xmm7
2399         xorl    %r8d,%r12d
2400         rorl    $11,%r14d
2401         xorl    %r11d,%r15d
2402         addl    %r12d,%r9d
2403         rorl    $6,%r13d
2404         paddd   %xmm7,%xmm2
2405         andl    %r15d,%edi
2406         xorl    %r10d,%r14d
2407         addl    %r13d,%r9d
2408         pshufd  $80,%xmm2,%xmm7
2409         xorl    %r11d,%edi
2410         rorl    $2,%r14d
2411         addl    %r9d,%ebx
2412         movdqa  %xmm7,%xmm6
2413         addl    %edi,%r9d
2414         movl    %ebx,%r13d
2415         psrld   $10,%xmm7
2416         addl    %r9d,%r14d
2417         rorl    $14,%r13d
2418         psrlq   $17,%xmm6
2419         movl    %r14d,%r9d
2420         movl    %ecx,%r12d
2421         pxor    %xmm6,%xmm7
2422         rorl    $9,%r14d
2423         xorl    %ebx,%r13d
2424         xorl    %edx,%r12d
2425         rorl    $5,%r13d
2426         xorl    %r9d,%r14d
2427         psrlq   $2,%xmm6
2428         andl    %ebx,%r12d
2429         xorl    %ebx,%r13d
2430         addl    44(%rsp),%r8d
2431         pxor    %xmm6,%xmm7
2432         movl    %r9d,%edi
2433         xorl    %edx,%r12d
2434         rorl    $11,%r14d
2435         pshufd  $8,%xmm7,%xmm7
2436         xorl    %r10d,%edi
2437         addl    %r12d,%r8d
2438         movdqa  64(%rbp),%xmm6
2439         rorl    $6,%r13d
2440         andl    %edi,%r15d
2441         pslldq  $8,%xmm7
2442         xorl    %r9d,%r14d
2443         addl    %r13d,%r8d
2444         xorl    %r10d,%r15d
2445         paddd   %xmm7,%xmm2
2446         rorl    $2,%r14d
2447         addl    %r8d,%eax
2448         addl    %r15d,%r8d
2449         paddd   %xmm2,%xmm6
2450         movl    %eax,%r13d
2451         addl    %r8d,%r14d
2452         movdqa  %xmm6,32(%rsp)
2453         rorl    $14,%r13d
2454         movdqa  %xmm0,%xmm4
2455         movl    %r14d,%r8d
2456         movl    %ebx,%r12d
2457         movdqa  %xmm2,%xmm7
2458         rorl    $9,%r14d
2459         xorl    %eax,%r13d
2460         xorl    %ecx,%r12d
2461         rorl    $5,%r13d
2462         xorl    %r8d,%r14d
2463 .byte   102,15,58,15,227,4
2464         andl    %eax,%r12d
2465         xorl    %eax,%r13d
2466 .byte   102,15,58,15,249,4
2467         addl    48(%rsp),%edx
2468         movl    %r8d,%r15d
2469         xorl    %ecx,%r12d
2470         rorl    $11,%r14d
2471         movdqa  %xmm4,%xmm5
2472         xorl    %r9d,%r15d
2473         addl    %r12d,%edx
2474         movdqa  %xmm4,%xmm6
2475         rorl    $6,%r13d
2476         andl    %r15d,%edi
2477         psrld   $3,%xmm4
2478         xorl    %r8d,%r14d
2479         addl    %r13d,%edx
2480         xorl    %r9d,%edi
2481         paddd   %xmm7,%xmm3
2482         rorl    $2,%r14d
2483         addl    %edx,%r11d
2484         psrld   $7,%xmm6
2485         addl    %edi,%edx
2486         movl    %r11d,%r13d
2487         pshufd  $250,%xmm2,%xmm7
2488         addl    %edx,%r14d
2489         rorl    $14,%r13d
2490         pslld   $14,%xmm5
2491         movl    %r14d,%edx
2492         movl    %eax,%r12d
2493         pxor    %xmm6,%xmm4
2494         rorl    $9,%r14d
2495         xorl    %r11d,%r13d
2496         xorl    %ebx,%r12d
2497         rorl    $5,%r13d
2498         psrld   $11,%xmm6
2499         xorl    %edx,%r14d
2500         pxor    %xmm5,%xmm4
2501         andl    %r11d,%r12d
2502         xorl    %r11d,%r13d
2503         pslld   $11,%xmm5
2504         addl    52(%rsp),%ecx
2505         movl    %edx,%edi
2506         pxor    %xmm6,%xmm4
2507         xorl    %ebx,%r12d
2508         rorl    $11,%r14d
2509         movdqa  %xmm7,%xmm6
2510         xorl    %r8d,%edi
2511         addl    %r12d,%ecx
2512         pxor    %xmm5,%xmm4
2513         rorl    $6,%r13d
2514         andl    %edi,%r15d
2515         xorl    %edx,%r14d
2516         psrld   $10,%xmm7
2517         addl    %r13d,%ecx
2518         xorl    %r8d,%r15d
2519         paddd   %xmm4,%xmm3
2520         rorl    $2,%r14d
2521         addl    %ecx,%r10d
2522         psrlq   $17,%xmm6
2523         addl    %r15d,%ecx
2524         movl    %r10d,%r13d
2525         addl    %ecx,%r14d
2526         pxor    %xmm6,%xmm7
2527         rorl    $14,%r13d
2528         movl    %r14d,%ecx
2529         movl    %r11d,%r12d
2530         rorl    $9,%r14d
2531         psrlq   $2,%xmm6
2532         xorl    %r10d,%r13d
2533         xorl    %eax,%r12d
2534         pxor    %xmm6,%xmm7
2535         rorl    $5,%r13d
2536         xorl    %ecx,%r14d
2537         andl    %r10d,%r12d
2538         pshufd  $128,%xmm7,%xmm7
2539         xorl    %r10d,%r13d
2540         addl    56(%rsp),%ebx
2541         movl    %ecx,%r15d
2542         psrldq  $8,%xmm7
2543         xorl    %eax,%r12d
2544         rorl    $11,%r14d
2545         xorl    %edx,%r15d
2546         addl    %r12d,%ebx
2547         rorl    $6,%r13d
2548         paddd   %xmm7,%xmm3
2549         andl    %r15d,%edi
2550         xorl    %ecx,%r14d
2551         addl    %r13d,%ebx
2552         pshufd  $80,%xmm3,%xmm7
2553         xorl    %edx,%edi
2554         rorl    $2,%r14d
2555         addl    %ebx,%r9d
2556         movdqa  %xmm7,%xmm6
2557         addl    %edi,%ebx
2558         movl    %r9d,%r13d
2559         psrld   $10,%xmm7
2560         addl    %ebx,%r14d
2561         rorl    $14,%r13d
2562         psrlq   $17,%xmm6
2563         movl    %r14d,%ebx
2564         movl    %r10d,%r12d
2565         pxor    %xmm6,%xmm7
2566         rorl    $9,%r14d
2567         xorl    %r9d,%r13d
2568         xorl    %r11d,%r12d
2569         rorl    $5,%r13d
2570         xorl    %ebx,%r14d
2571         psrlq   $2,%xmm6
2572         andl    %r9d,%r12d
2573         xorl    %r9d,%r13d
2574         addl    60(%rsp),%eax
2575         pxor    %xmm6,%xmm7
2576         movl    %ebx,%edi
2577         xorl    %r11d,%r12d
2578         rorl    $11,%r14d
2579         pshufd  $8,%xmm7,%xmm7
2580         xorl    %ecx,%edi
2581         addl    %r12d,%eax
2582         movdqa  96(%rbp),%xmm6
2583         rorl    $6,%r13d
2584         andl    %edi,%r15d
2585         pslldq  $8,%xmm7
2586         xorl    %ebx,%r14d
2587         addl    %r13d,%eax
2588         xorl    %ecx,%r15d
2589         paddd   %xmm7,%xmm3
2590         rorl    $2,%r14d
2591         addl    %eax,%r8d
2592         addl    %r15d,%eax
2593         paddd   %xmm3,%xmm6
2594         movl    %r8d,%r13d
2595         addl    %eax,%r14d
2596         movdqa  %xmm6,48(%rsp)
2597         cmpb    $0,131(%rbp)
2598         jne     .Lssse3_00_47
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    0(%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    4(%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    8(%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    12(%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    16(%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    20(%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    24(%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    28(%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         rorl    $14,%r13d
2808         movl    %r14d,%eax
2809         movl    %r9d,%r12d
2810         rorl    $9,%r14d
2811         xorl    %r8d,%r13d
2812         xorl    %r10d,%r12d
2813         rorl    $5,%r13d
2814         xorl    %eax,%r14d
2815         andl    %r8d,%r12d
2816         xorl    %r8d,%r13d
2817         addl    32(%rsp),%r11d
2818         movl    %eax,%r15d
2819         xorl    %r10d,%r12d
2820         rorl    $11,%r14d
2821         xorl    %ebx,%r15d
2822         addl    %r12d,%r11d
2823         rorl    $6,%r13d
2824         andl    %r15d,%edi
2825         xorl    %eax,%r14d
2826         addl    %r13d,%r11d
2827         xorl    %ebx,%edi
2828         rorl    $2,%r14d
2829         addl    %r11d,%edx
2830         addl    %edi,%r11d
2831         movl    %edx,%r13d
2832         addl    %r11d,%r14d
2833         rorl    $14,%r13d
2834         movl    %r14d,%r11d
2835         movl    %r8d,%r12d
2836         rorl    $9,%r14d
2837         xorl    %edx,%r13d
2838         xorl    %r9d,%r12d
2839         rorl    $5,%r13d
2840         xorl    %r11d,%r14d
2841         andl    %edx,%r12d
2842         xorl    %edx,%r13d
2843         addl    36(%rsp),%r10d
2844         movl    %r11d,%edi
2845         xorl    %r9d,%r12d
2846         rorl    $11,%r14d
2847         xorl    %eax,%edi
2848         addl    %r12d,%r10d
2849         rorl    $6,%r13d
2850         andl    %edi,%r15d
2851         xorl    %r11d,%r14d
2852         addl    %r13d,%r10d
2853         xorl    %eax,%r15d
2854         rorl    $2,%r14d
2855         addl    %r10d,%ecx
2856         addl    %r15d,%r10d
2857         movl    %ecx,%r13d
2858         addl    %r10d,%r14d
2859         rorl    $14,%r13d
2860         movl    %r14d,%r10d
2861         movl    %edx,%r12d
2862         rorl    $9,%r14d
2863         xorl    %ecx,%r13d
2864         xorl    %r8d,%r12d
2865         rorl    $5,%r13d
2866         xorl    %r10d,%r14d
2867         andl    %ecx,%r12d
2868         xorl    %ecx,%r13d
2869         addl    40(%rsp),%r9d
2870         movl    %r10d,%r15d
2871         xorl    %r8d,%r12d
2872         rorl    $11,%r14d
2873         xorl    %r11d,%r15d
2874         addl    %r12d,%r9d
2875         rorl    $6,%r13d
2876         andl    %r15d,%edi
2877         xorl    %r10d,%r14d
2878         addl    %r13d,%r9d
2879         xorl    %r11d,%edi
2880         rorl    $2,%r14d
2881         addl    %r9d,%ebx
2882         addl    %edi,%r9d
2883         movl    %ebx,%r13d
2884         addl    %r9d,%r14d
2885         rorl    $14,%r13d
2886         movl    %r14d,%r9d
2887         movl    %ecx,%r12d
2888         rorl    $9,%r14d
2889         xorl    %ebx,%r13d
2890         xorl    %edx,%r12d
2891         rorl    $5,%r13d
2892         xorl    %r9d,%r14d
2893         andl    %ebx,%r12d
2894         xorl    %ebx,%r13d
2895         addl    44(%rsp),%r8d
2896         movl    %r9d,%edi
2897         xorl    %edx,%r12d
2898         rorl    $11,%r14d
2899         xorl    %r10d,%edi
2900         addl    %r12d,%r8d
2901         rorl    $6,%r13d
2902         andl    %edi,%r15d
2903         xorl    %r9d,%r14d
2904         addl    %r13d,%r8d
2905         xorl    %r10d,%r15d
2906         rorl    $2,%r14d
2907         addl    %r8d,%eax
2908         addl    %r15d,%r8d
2909         movl    %eax,%r13d
2910         addl    %r8d,%r14d
2911         rorl    $14,%r13d
2912         movl    %r14d,%r8d
2913         movl    %ebx,%r12d
2914         rorl    $9,%r14d
2915         xorl    %eax,%r13d
2916         xorl    %ecx,%r12d
2917         rorl    $5,%r13d
2918         xorl    %r8d,%r14d
2919         andl    %eax,%r12d
2920         xorl    %eax,%r13d
2921         addl    48(%rsp),%edx
2922         movl    %r8d,%r15d
2923         xorl    %ecx,%r12d
2924         rorl    $11,%r14d
2925         xorl    %r9d,%r15d
2926         addl    %r12d,%edx
2927         rorl    $6,%r13d
2928         andl    %r15d,%edi
2929         xorl    %r8d,%r14d
2930         addl    %r13d,%edx
2931         xorl    %r9d,%edi
2932         rorl    $2,%r14d
2933         addl    %edx,%r11d
2934         addl    %edi,%edx
2935         movl    %r11d,%r13d
2936         addl    %edx,%r14d
2937         rorl    $14,%r13d
2938         movl    %r14d,%edx
2939         movl    %eax,%r12d
2940         rorl    $9,%r14d
2941         xorl    %r11d,%r13d
2942         xorl    %ebx,%r12d
2943         rorl    $5,%r13d
2944         xorl    %edx,%r14d
2945         andl    %r11d,%r12d
2946         xorl    %r11d,%r13d
2947         addl    52(%rsp),%ecx
2948         movl    %edx,%edi
2949         xorl    %ebx,%r12d
2950         rorl    $11,%r14d
2951         xorl    %r8d,%edi
2952         addl    %r12d,%ecx
2953         rorl    $6,%r13d
2954         andl    %edi,%r15d
2955         xorl    %edx,%r14d
2956         addl    %r13d,%ecx
2957         xorl    %r8d,%r15d
2958         rorl    $2,%r14d
2959         addl    %ecx,%r10d
2960         addl    %r15d,%ecx
2961         movl    %r10d,%r13d
2962         addl    %ecx,%r14d
2963         rorl    $14,%r13d
2964         movl    %r14d,%ecx
2965         movl    %r11d,%r12d
2966         rorl    $9,%r14d
2967         xorl    %r10d,%r13d
2968         xorl    %eax,%r12d
2969         rorl    $5,%r13d
2970         xorl    %ecx,%r14d
2971         andl    %r10d,%r12d
2972         xorl    %r10d,%r13d
2973         addl    56(%rsp),%ebx
2974         movl    %ecx,%r15d
2975         xorl    %eax,%r12d
2976         rorl    $11,%r14d
2977         xorl    %edx,%r15d
2978         addl    %r12d,%ebx
2979         rorl    $6,%r13d
2980         andl    %r15d,%edi
2981         xorl    %ecx,%r14d
2982         addl    %r13d,%ebx
2983         xorl    %edx,%edi
2984         rorl    $2,%r14d
2985         addl    %ebx,%r9d
2986         addl    %edi,%ebx
2987         movl    %r9d,%r13d
2988         addl    %ebx,%r14d
2989         rorl    $14,%r13d
2990         movl    %r14d,%ebx
2991         movl    %r10d,%r12d
2992         rorl    $9,%r14d
2993         xorl    %r9d,%r13d
2994         xorl    %r11d,%r12d
2995         rorl    $5,%r13d
2996         xorl    %ebx,%r14d
2997         andl    %r9d,%r12d
2998         xorl    %r9d,%r13d
2999         addl    60(%rsp),%eax
3000         movl    %ebx,%edi
3001         xorl    %r11d,%r12d
3002         rorl    $11,%r14d
3003         xorl    %ecx,%edi
3004         addl    %r12d,%eax
3005         rorl    $6,%r13d
3006         andl    %edi,%r15d
3007         xorl    %ebx,%r14d
3008         addl    %r13d,%eax
3009         xorl    %ecx,%r15d
3010         rorl    $2,%r14d
3011         addl    %eax,%r8d
3012         addl    %r15d,%eax
3013         movl    %r8d,%r13d
3014         addl    %eax,%r14d
3015         movq    64+0(%rsp),%rdi
3016         movl    %r14d,%eax
3017
3018         addl    0(%rdi),%eax
3019         leaq    64(%rsi),%rsi
3020         addl    4(%rdi),%ebx
3021         addl    8(%rdi),%ecx
3022         addl    12(%rdi),%edx
3023         addl    16(%rdi),%r8d
3024         addl    20(%rdi),%r9d
3025         addl    24(%rdi),%r10d
3026         addl    28(%rdi),%r11d
3027
3028         cmpq    64+16(%rsp),%rsi
3029
3030         movl    %eax,0(%rdi)
3031         movl    %ebx,4(%rdi)
3032         movl    %ecx,8(%rdi)
3033         movl    %edx,12(%rdi)
3034         movl    %r8d,16(%rdi)
3035         movl    %r9d,20(%rdi)
3036         movl    %r10d,24(%rdi)
3037         movl    %r11d,28(%rdi)
3038         jb      .Lloop_ssse3
3039
3040         movq    64+24(%rsp),%rsi
3041         movq    (%rsi),%r15
3042         movq    8(%rsi),%r14
3043         movq    16(%rsi),%r13
3044         movq    24(%rsi),%r12
3045         movq    32(%rsi),%rbp
3046         movq    40(%rsi),%rbx
3047         leaq    48(%rsi),%rsp
3048 .Lepilogue_ssse3:
3049         .byte   0xf3,0xc3
3050 .size   sha256_block_data_order_ssse3,.-sha256_block_data_order_ssse3