]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - secure/lib/libcrypto/amd64/sha256-x86_64.S
Regen amd64 assembly files for OpenSSL 1.1.1.
[FreeBSD/FreeBSD.git] / secure / lib / libcrypto / amd64 / sha256-x86_64.S
1 /* $FreeBSD$ */
2 /* Do not modify. This file is auto-generated from sha512-x86_64.pl. */
3 .text   
4
5
6 .globl  sha256_block_data_order
7 .type   sha256_block_data_order,@function
8 .align  16
9 sha256_block_data_order:
10 .cfi_startproc  
11         leaq    OPENSSL_ia32cap_P(%rip),%r11
12         movl    0(%r11),%r9d
13         movl    4(%r11),%r10d
14         movl    8(%r11),%r11d
15         testl   $536870912,%r11d
16         jnz     _shaext_shortcut
17         andl    $296,%r11d
18         cmpl    $296,%r11d
19         je      .Lavx2_shortcut
20         andl    $1073741824,%r9d
21         andl    $268435968,%r10d
22         orl     %r9d,%r10d
23         cmpl    $1342177792,%r10d
24         je      .Lavx_shortcut
25         testl   $512,%r10d
26         jnz     .Lssse3_shortcut
27         movq    %rsp,%rax
28 .cfi_def_cfa_register   %rax
29         pushq   %rbx
30 .cfi_offset     %rbx,-16
31         pushq   %rbp
32 .cfi_offset     %rbp,-24
33         pushq   %r12
34 .cfi_offset     %r12,-32
35         pushq   %r13
36 .cfi_offset     %r13,-40
37         pushq   %r14
38 .cfi_offset     %r14,-48
39         pushq   %r15
40 .cfi_offset     %r15,-56
41         shlq    $4,%rdx
42         subq    $64+32,%rsp
43         leaq    (%rsi,%rdx,4),%rdx
44         andq    $-64,%rsp
45         movq    %rdi,64+0(%rsp)
46         movq    %rsi,64+8(%rsp)
47         movq    %rdx,64+16(%rsp)
48         movq    %rax,88(%rsp)
49 .cfi_escape     0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
50 .Lprologue:
51
52         movl    0(%rdi),%eax
53         movl    4(%rdi),%ebx
54         movl    8(%rdi),%ecx
55         movl    12(%rdi),%edx
56         movl    16(%rdi),%r8d
57         movl    20(%rdi),%r9d
58         movl    24(%rdi),%r10d
59         movl    28(%rdi),%r11d
60         jmp     .Lloop
61
62 .align  16
63 .Lloop:
64         movl    %ebx,%edi
65         leaq    K256(%rip),%rbp
66         xorl    %ecx,%edi
67         movl    0(%rsi),%r12d
68         movl    %r8d,%r13d
69         movl    %eax,%r14d
70         bswapl  %r12d
71         rorl    $14,%r13d
72         movl    %r9d,%r15d
73
74         xorl    %r8d,%r13d
75         rorl    $9,%r14d
76         xorl    %r10d,%r15d
77
78         movl    %r12d,0(%rsp)
79         xorl    %eax,%r14d
80         andl    %r8d,%r15d
81
82         rorl    $5,%r13d
83         addl    %r11d,%r12d
84         xorl    %r10d,%r15d
85
86         rorl    $11,%r14d
87         xorl    %r8d,%r13d
88         addl    %r15d,%r12d
89
90         movl    %eax,%r15d
91         addl    (%rbp),%r12d
92         xorl    %eax,%r14d
93
94         xorl    %ebx,%r15d
95         rorl    $6,%r13d
96         movl    %ebx,%r11d
97
98         andl    %r15d,%edi
99         rorl    $2,%r14d
100         addl    %r13d,%r12d
101
102         xorl    %edi,%r11d
103         addl    %r12d,%edx
104         addl    %r12d,%r11d
105
106         leaq    4(%rbp),%rbp
107         addl    %r14d,%r11d
108         movl    4(%rsi),%r12d
109         movl    %edx,%r13d
110         movl    %r11d,%r14d
111         bswapl  %r12d
112         rorl    $14,%r13d
113         movl    %r8d,%edi
114
115         xorl    %edx,%r13d
116         rorl    $9,%r14d
117         xorl    %r9d,%edi
118
119         movl    %r12d,4(%rsp)
120         xorl    %r11d,%r14d
121         andl    %edx,%edi
122
123         rorl    $5,%r13d
124         addl    %r10d,%r12d
125         xorl    %r9d,%edi
126
127         rorl    $11,%r14d
128         xorl    %edx,%r13d
129         addl    %edi,%r12d
130
131         movl    %r11d,%edi
132         addl    (%rbp),%r12d
133         xorl    %r11d,%r14d
134
135         xorl    %eax,%edi
136         rorl    $6,%r13d
137         movl    %eax,%r10d
138
139         andl    %edi,%r15d
140         rorl    $2,%r14d
141         addl    %r13d,%r12d
142
143         xorl    %r15d,%r10d
144         addl    %r12d,%ecx
145         addl    %r12d,%r10d
146
147         leaq    4(%rbp),%rbp
148         addl    %r14d,%r10d
149         movl    8(%rsi),%r12d
150         movl    %ecx,%r13d
151         movl    %r10d,%r14d
152         bswapl  %r12d
153         rorl    $14,%r13d
154         movl    %edx,%r15d
155
156         xorl    %ecx,%r13d
157         rorl    $9,%r14d
158         xorl    %r8d,%r15d
159
160         movl    %r12d,8(%rsp)
161         xorl    %r10d,%r14d
162         andl    %ecx,%r15d
163
164         rorl    $5,%r13d
165         addl    %r9d,%r12d
166         xorl    %r8d,%r15d
167
168         rorl    $11,%r14d
169         xorl    %ecx,%r13d
170         addl    %r15d,%r12d
171
172         movl    %r10d,%r15d
173         addl    (%rbp),%r12d
174         xorl    %r10d,%r14d
175
176         xorl    %r11d,%r15d
177         rorl    $6,%r13d
178         movl    %r11d,%r9d
179
180         andl    %r15d,%edi
181         rorl    $2,%r14d
182         addl    %r13d,%r12d
183
184         xorl    %edi,%r9d
185         addl    %r12d,%ebx
186         addl    %r12d,%r9d
187
188         leaq    4(%rbp),%rbp
189         addl    %r14d,%r9d
190         movl    12(%rsi),%r12d
191         movl    %ebx,%r13d
192         movl    %r9d,%r14d
193         bswapl  %r12d
194         rorl    $14,%r13d
195         movl    %ecx,%edi
196
197         xorl    %ebx,%r13d
198         rorl    $9,%r14d
199         xorl    %edx,%edi
200
201         movl    %r12d,12(%rsp)
202         xorl    %r9d,%r14d
203         andl    %ebx,%edi
204
205         rorl    $5,%r13d
206         addl    %r8d,%r12d
207         xorl    %edx,%edi
208
209         rorl    $11,%r14d
210         xorl    %ebx,%r13d
211         addl    %edi,%r12d
212
213         movl    %r9d,%edi
214         addl    (%rbp),%r12d
215         xorl    %r9d,%r14d
216
217         xorl    %r10d,%edi
218         rorl    $6,%r13d
219         movl    %r10d,%r8d
220
221         andl    %edi,%r15d
222         rorl    $2,%r14d
223         addl    %r13d,%r12d
224
225         xorl    %r15d,%r8d
226         addl    %r12d,%eax
227         addl    %r12d,%r8d
228
229         leaq    20(%rbp),%rbp
230         addl    %r14d,%r8d
231         movl    16(%rsi),%r12d
232         movl    %eax,%r13d
233         movl    %r8d,%r14d
234         bswapl  %r12d
235         rorl    $14,%r13d
236         movl    %ebx,%r15d
237
238         xorl    %eax,%r13d
239         rorl    $9,%r14d
240         xorl    %ecx,%r15d
241
242         movl    %r12d,16(%rsp)
243         xorl    %r8d,%r14d
244         andl    %eax,%r15d
245
246         rorl    $5,%r13d
247         addl    %edx,%r12d
248         xorl    %ecx,%r15d
249
250         rorl    $11,%r14d
251         xorl    %eax,%r13d
252         addl    %r15d,%r12d
253
254         movl    %r8d,%r15d
255         addl    (%rbp),%r12d
256         xorl    %r8d,%r14d
257
258         xorl    %r9d,%r15d
259         rorl    $6,%r13d
260         movl    %r9d,%edx
261
262         andl    %r15d,%edi
263         rorl    $2,%r14d
264         addl    %r13d,%r12d
265
266         xorl    %edi,%edx
267         addl    %r12d,%r11d
268         addl    %r12d,%edx
269
270         leaq    4(%rbp),%rbp
271         addl    %r14d,%edx
272         movl    20(%rsi),%r12d
273         movl    %r11d,%r13d
274         movl    %edx,%r14d
275         bswapl  %r12d
276         rorl    $14,%r13d
277         movl    %eax,%edi
278
279         xorl    %r11d,%r13d
280         rorl    $9,%r14d
281         xorl    %ebx,%edi
282
283         movl    %r12d,20(%rsp)
284         xorl    %edx,%r14d
285         andl    %r11d,%edi
286
287         rorl    $5,%r13d
288         addl    %ecx,%r12d
289         xorl    %ebx,%edi
290
291         rorl    $11,%r14d
292         xorl    %r11d,%r13d
293         addl    %edi,%r12d
294
295         movl    %edx,%edi
296         addl    (%rbp),%r12d
297         xorl    %edx,%r14d
298
299         xorl    %r8d,%edi
300         rorl    $6,%r13d
301         movl    %r8d,%ecx
302
303         andl    %edi,%r15d
304         rorl    $2,%r14d
305         addl    %r13d,%r12d
306
307         xorl    %r15d,%ecx
308         addl    %r12d,%r10d
309         addl    %r12d,%ecx
310
311         leaq    4(%rbp),%rbp
312         addl    %r14d,%ecx
313         movl    24(%rsi),%r12d
314         movl    %r10d,%r13d
315         movl    %ecx,%r14d
316         bswapl  %r12d
317         rorl    $14,%r13d
318         movl    %r11d,%r15d
319
320         xorl    %r10d,%r13d
321         rorl    $9,%r14d
322         xorl    %eax,%r15d
323
324         movl    %r12d,24(%rsp)
325         xorl    %ecx,%r14d
326         andl    %r10d,%r15d
327
328         rorl    $5,%r13d
329         addl    %ebx,%r12d
330         xorl    %eax,%r15d
331
332         rorl    $11,%r14d
333         xorl    %r10d,%r13d
334         addl    %r15d,%r12d
335
336         movl    %ecx,%r15d
337         addl    (%rbp),%r12d
338         xorl    %ecx,%r14d
339
340         xorl    %edx,%r15d
341         rorl    $6,%r13d
342         movl    %edx,%ebx
343
344         andl    %r15d,%edi
345         rorl    $2,%r14d
346         addl    %r13d,%r12d
347
348         xorl    %edi,%ebx
349         addl    %r12d,%r9d
350         addl    %r12d,%ebx
351
352         leaq    4(%rbp),%rbp
353         addl    %r14d,%ebx
354         movl    28(%rsi),%r12d
355         movl    %r9d,%r13d
356         movl    %ebx,%r14d
357         bswapl  %r12d
358         rorl    $14,%r13d
359         movl    %r10d,%edi
360
361         xorl    %r9d,%r13d
362         rorl    $9,%r14d
363         xorl    %r11d,%edi
364
365         movl    %r12d,28(%rsp)
366         xorl    %ebx,%r14d
367         andl    %r9d,%edi
368
369         rorl    $5,%r13d
370         addl    %eax,%r12d
371         xorl    %r11d,%edi
372
373         rorl    $11,%r14d
374         xorl    %r9d,%r13d
375         addl    %edi,%r12d
376
377         movl    %ebx,%edi
378         addl    (%rbp),%r12d
379         xorl    %ebx,%r14d
380
381         xorl    %ecx,%edi
382         rorl    $6,%r13d
383         movl    %ecx,%eax
384
385         andl    %edi,%r15d
386         rorl    $2,%r14d
387         addl    %r13d,%r12d
388
389         xorl    %r15d,%eax
390         addl    %r12d,%r8d
391         addl    %r12d,%eax
392
393         leaq    20(%rbp),%rbp
394         addl    %r14d,%eax
395         movl    32(%rsi),%r12d
396         movl    %r8d,%r13d
397         movl    %eax,%r14d
398         bswapl  %r12d
399         rorl    $14,%r13d
400         movl    %r9d,%r15d
401
402         xorl    %r8d,%r13d
403         rorl    $9,%r14d
404         xorl    %r10d,%r15d
405
406         movl    %r12d,32(%rsp)
407         xorl    %eax,%r14d
408         andl    %r8d,%r15d
409
410         rorl    $5,%r13d
411         addl    %r11d,%r12d
412         xorl    %r10d,%r15d
413
414         rorl    $11,%r14d
415         xorl    %r8d,%r13d
416         addl    %r15d,%r12d
417
418         movl    %eax,%r15d
419         addl    (%rbp),%r12d
420         xorl    %eax,%r14d
421
422         xorl    %ebx,%r15d
423         rorl    $6,%r13d
424         movl    %ebx,%r11d
425
426         andl    %r15d,%edi
427         rorl    $2,%r14d
428         addl    %r13d,%r12d
429
430         xorl    %edi,%r11d
431         addl    %r12d,%edx
432         addl    %r12d,%r11d
433
434         leaq    4(%rbp),%rbp
435         addl    %r14d,%r11d
436         movl    36(%rsi),%r12d
437         movl    %edx,%r13d
438         movl    %r11d,%r14d
439         bswapl  %r12d
440         rorl    $14,%r13d
441         movl    %r8d,%edi
442
443         xorl    %edx,%r13d
444         rorl    $9,%r14d
445         xorl    %r9d,%edi
446
447         movl    %r12d,36(%rsp)
448         xorl    %r11d,%r14d
449         andl    %edx,%edi
450
451         rorl    $5,%r13d
452         addl    %r10d,%r12d
453         xorl    %r9d,%edi
454
455         rorl    $11,%r14d
456         xorl    %edx,%r13d
457         addl    %edi,%r12d
458
459         movl    %r11d,%edi
460         addl    (%rbp),%r12d
461         xorl    %r11d,%r14d
462
463         xorl    %eax,%edi
464         rorl    $6,%r13d
465         movl    %eax,%r10d
466
467         andl    %edi,%r15d
468         rorl    $2,%r14d
469         addl    %r13d,%r12d
470
471         xorl    %r15d,%r10d
472         addl    %r12d,%ecx
473         addl    %r12d,%r10d
474
475         leaq    4(%rbp),%rbp
476         addl    %r14d,%r10d
477         movl    40(%rsi),%r12d
478         movl    %ecx,%r13d
479         movl    %r10d,%r14d
480         bswapl  %r12d
481         rorl    $14,%r13d
482         movl    %edx,%r15d
483
484         xorl    %ecx,%r13d
485         rorl    $9,%r14d
486         xorl    %r8d,%r15d
487
488         movl    %r12d,40(%rsp)
489         xorl    %r10d,%r14d
490         andl    %ecx,%r15d
491
492         rorl    $5,%r13d
493         addl    %r9d,%r12d
494         xorl    %r8d,%r15d
495
496         rorl    $11,%r14d
497         xorl    %ecx,%r13d
498         addl    %r15d,%r12d
499
500         movl    %r10d,%r15d
501         addl    (%rbp),%r12d
502         xorl    %r10d,%r14d
503
504         xorl    %r11d,%r15d
505         rorl    $6,%r13d
506         movl    %r11d,%r9d
507
508         andl    %r15d,%edi
509         rorl    $2,%r14d
510         addl    %r13d,%r12d
511
512         xorl    %edi,%r9d
513         addl    %r12d,%ebx
514         addl    %r12d,%r9d
515
516         leaq    4(%rbp),%rbp
517         addl    %r14d,%r9d
518         movl    44(%rsi),%r12d
519         movl    %ebx,%r13d
520         movl    %r9d,%r14d
521         bswapl  %r12d
522         rorl    $14,%r13d
523         movl    %ecx,%edi
524
525         xorl    %ebx,%r13d
526         rorl    $9,%r14d
527         xorl    %edx,%edi
528
529         movl    %r12d,44(%rsp)
530         xorl    %r9d,%r14d
531         andl    %ebx,%edi
532
533         rorl    $5,%r13d
534         addl    %r8d,%r12d
535         xorl    %edx,%edi
536
537         rorl    $11,%r14d
538         xorl    %ebx,%r13d
539         addl    %edi,%r12d
540
541         movl    %r9d,%edi
542         addl    (%rbp),%r12d
543         xorl    %r9d,%r14d
544
545         xorl    %r10d,%edi
546         rorl    $6,%r13d
547         movl    %r10d,%r8d
548
549         andl    %edi,%r15d
550         rorl    $2,%r14d
551         addl    %r13d,%r12d
552
553         xorl    %r15d,%r8d
554         addl    %r12d,%eax
555         addl    %r12d,%r8d
556
557         leaq    20(%rbp),%rbp
558         addl    %r14d,%r8d
559         movl    48(%rsi),%r12d
560         movl    %eax,%r13d
561         movl    %r8d,%r14d
562         bswapl  %r12d
563         rorl    $14,%r13d
564         movl    %ebx,%r15d
565
566         xorl    %eax,%r13d
567         rorl    $9,%r14d
568         xorl    %ecx,%r15d
569
570         movl    %r12d,48(%rsp)
571         xorl    %r8d,%r14d
572         andl    %eax,%r15d
573
574         rorl    $5,%r13d
575         addl    %edx,%r12d
576         xorl    %ecx,%r15d
577
578         rorl    $11,%r14d
579         xorl    %eax,%r13d
580         addl    %r15d,%r12d
581
582         movl    %r8d,%r15d
583         addl    (%rbp),%r12d
584         xorl    %r8d,%r14d
585
586         xorl    %r9d,%r15d
587         rorl    $6,%r13d
588         movl    %r9d,%edx
589
590         andl    %r15d,%edi
591         rorl    $2,%r14d
592         addl    %r13d,%r12d
593
594         xorl    %edi,%edx
595         addl    %r12d,%r11d
596         addl    %r12d,%edx
597
598         leaq    4(%rbp),%rbp
599         addl    %r14d,%edx
600         movl    52(%rsi),%r12d
601         movl    %r11d,%r13d
602         movl    %edx,%r14d
603         bswapl  %r12d
604         rorl    $14,%r13d
605         movl    %eax,%edi
606
607         xorl    %r11d,%r13d
608         rorl    $9,%r14d
609         xorl    %ebx,%edi
610
611         movl    %r12d,52(%rsp)
612         xorl    %edx,%r14d
613         andl    %r11d,%edi
614
615         rorl    $5,%r13d
616         addl    %ecx,%r12d
617         xorl    %ebx,%edi
618
619         rorl    $11,%r14d
620         xorl    %r11d,%r13d
621         addl    %edi,%r12d
622
623         movl    %edx,%edi
624         addl    (%rbp),%r12d
625         xorl    %edx,%r14d
626
627         xorl    %r8d,%edi
628         rorl    $6,%r13d
629         movl    %r8d,%ecx
630
631         andl    %edi,%r15d
632         rorl    $2,%r14d
633         addl    %r13d,%r12d
634
635         xorl    %r15d,%ecx
636         addl    %r12d,%r10d
637         addl    %r12d,%ecx
638
639         leaq    4(%rbp),%rbp
640         addl    %r14d,%ecx
641         movl    56(%rsi),%r12d
642         movl    %r10d,%r13d
643         movl    %ecx,%r14d
644         bswapl  %r12d
645         rorl    $14,%r13d
646         movl    %r11d,%r15d
647
648         xorl    %r10d,%r13d
649         rorl    $9,%r14d
650         xorl    %eax,%r15d
651
652         movl    %r12d,56(%rsp)
653         xorl    %ecx,%r14d
654         andl    %r10d,%r15d
655
656         rorl    $5,%r13d
657         addl    %ebx,%r12d
658         xorl    %eax,%r15d
659
660         rorl    $11,%r14d
661         xorl    %r10d,%r13d
662         addl    %r15d,%r12d
663
664         movl    %ecx,%r15d
665         addl    (%rbp),%r12d
666         xorl    %ecx,%r14d
667
668         xorl    %edx,%r15d
669         rorl    $6,%r13d
670         movl    %edx,%ebx
671
672         andl    %r15d,%edi
673         rorl    $2,%r14d
674         addl    %r13d,%r12d
675
676         xorl    %edi,%ebx
677         addl    %r12d,%r9d
678         addl    %r12d,%ebx
679
680         leaq    4(%rbp),%rbp
681         addl    %r14d,%ebx
682         movl    60(%rsi),%r12d
683         movl    %r9d,%r13d
684         movl    %ebx,%r14d
685         bswapl  %r12d
686         rorl    $14,%r13d
687         movl    %r10d,%edi
688
689         xorl    %r9d,%r13d
690         rorl    $9,%r14d
691         xorl    %r11d,%edi
692
693         movl    %r12d,60(%rsp)
694         xorl    %ebx,%r14d
695         andl    %r9d,%edi
696
697         rorl    $5,%r13d
698         addl    %eax,%r12d
699         xorl    %r11d,%edi
700
701         rorl    $11,%r14d
702         xorl    %r9d,%r13d
703         addl    %edi,%r12d
704
705         movl    %ebx,%edi
706         addl    (%rbp),%r12d
707         xorl    %ebx,%r14d
708
709         xorl    %ecx,%edi
710         rorl    $6,%r13d
711         movl    %ecx,%eax
712
713         andl    %edi,%r15d
714         rorl    $2,%r14d
715         addl    %r13d,%r12d
716
717         xorl    %r15d,%eax
718         addl    %r12d,%r8d
719         addl    %r12d,%eax
720
721         leaq    20(%rbp),%rbp
722         jmp     .Lrounds_16_xx
723 .align  16
724 .Lrounds_16_xx:
725         movl    4(%rsp),%r13d
726         movl    56(%rsp),%r15d
727
728         movl    %r13d,%r12d
729         rorl    $11,%r13d
730         addl    %r14d,%eax
731         movl    %r15d,%r14d
732         rorl    $2,%r15d
733
734         xorl    %r12d,%r13d
735         shrl    $3,%r12d
736         rorl    $7,%r13d
737         xorl    %r14d,%r15d
738         shrl    $10,%r14d
739
740         rorl    $17,%r15d
741         xorl    %r13d,%r12d
742         xorl    %r14d,%r15d
743         addl    36(%rsp),%r12d
744
745         addl    0(%rsp),%r12d
746         movl    %r8d,%r13d
747         addl    %r15d,%r12d
748         movl    %eax,%r14d
749         rorl    $14,%r13d
750         movl    %r9d,%r15d
751
752         xorl    %r8d,%r13d
753         rorl    $9,%r14d
754         xorl    %r10d,%r15d
755
756         movl    %r12d,0(%rsp)
757         xorl    %eax,%r14d
758         andl    %r8d,%r15d
759
760         rorl    $5,%r13d
761         addl    %r11d,%r12d
762         xorl    %r10d,%r15d
763
764         rorl    $11,%r14d
765         xorl    %r8d,%r13d
766         addl    %r15d,%r12d
767
768         movl    %eax,%r15d
769         addl    (%rbp),%r12d
770         xorl    %eax,%r14d
771
772         xorl    %ebx,%r15d
773         rorl    $6,%r13d
774         movl    %ebx,%r11d
775
776         andl    %r15d,%edi
777         rorl    $2,%r14d
778         addl    %r13d,%r12d
779
780         xorl    %edi,%r11d
781         addl    %r12d,%edx
782         addl    %r12d,%r11d
783
784         leaq    4(%rbp),%rbp
785         movl    8(%rsp),%r13d
786         movl    60(%rsp),%edi
787
788         movl    %r13d,%r12d
789         rorl    $11,%r13d
790         addl    %r14d,%r11d
791         movl    %edi,%r14d
792         rorl    $2,%edi
793
794         xorl    %r12d,%r13d
795         shrl    $3,%r12d
796         rorl    $7,%r13d
797         xorl    %r14d,%edi
798         shrl    $10,%r14d
799
800         rorl    $17,%edi
801         xorl    %r13d,%r12d
802         xorl    %r14d,%edi
803         addl    40(%rsp),%r12d
804
805         addl    4(%rsp),%r12d
806         movl    %edx,%r13d
807         addl    %edi,%r12d
808         movl    %r11d,%r14d
809         rorl    $14,%r13d
810         movl    %r8d,%edi
811
812         xorl    %edx,%r13d
813         rorl    $9,%r14d
814         xorl    %r9d,%edi
815
816         movl    %r12d,4(%rsp)
817         xorl    %r11d,%r14d
818         andl    %edx,%edi
819
820         rorl    $5,%r13d
821         addl    %r10d,%r12d
822         xorl    %r9d,%edi
823
824         rorl    $11,%r14d
825         xorl    %edx,%r13d
826         addl    %edi,%r12d
827
828         movl    %r11d,%edi
829         addl    (%rbp),%r12d
830         xorl    %r11d,%r14d
831
832         xorl    %eax,%edi
833         rorl    $6,%r13d
834         movl    %eax,%r10d
835
836         andl    %edi,%r15d
837         rorl    $2,%r14d
838         addl    %r13d,%r12d
839
840         xorl    %r15d,%r10d
841         addl    %r12d,%ecx
842         addl    %r12d,%r10d
843
844         leaq    4(%rbp),%rbp
845         movl    12(%rsp),%r13d
846         movl    0(%rsp),%r15d
847
848         movl    %r13d,%r12d
849         rorl    $11,%r13d
850         addl    %r14d,%r10d
851         movl    %r15d,%r14d
852         rorl    $2,%r15d
853
854         xorl    %r12d,%r13d
855         shrl    $3,%r12d
856         rorl    $7,%r13d
857         xorl    %r14d,%r15d
858         shrl    $10,%r14d
859
860         rorl    $17,%r15d
861         xorl    %r13d,%r12d
862         xorl    %r14d,%r15d
863         addl    44(%rsp),%r12d
864
865         addl    8(%rsp),%r12d
866         movl    %ecx,%r13d
867         addl    %r15d,%r12d
868         movl    %r10d,%r14d
869         rorl    $14,%r13d
870         movl    %edx,%r15d
871
872         xorl    %ecx,%r13d
873         rorl    $9,%r14d
874         xorl    %r8d,%r15d
875
876         movl    %r12d,8(%rsp)
877         xorl    %r10d,%r14d
878         andl    %ecx,%r15d
879
880         rorl    $5,%r13d
881         addl    %r9d,%r12d
882         xorl    %r8d,%r15d
883
884         rorl    $11,%r14d
885         xorl    %ecx,%r13d
886         addl    %r15d,%r12d
887
888         movl    %r10d,%r15d
889         addl    (%rbp),%r12d
890         xorl    %r10d,%r14d
891
892         xorl    %r11d,%r15d
893         rorl    $6,%r13d
894         movl    %r11d,%r9d
895
896         andl    %r15d,%edi
897         rorl    $2,%r14d
898         addl    %r13d,%r12d
899
900         xorl    %edi,%r9d
901         addl    %r12d,%ebx
902         addl    %r12d,%r9d
903
904         leaq    4(%rbp),%rbp
905         movl    16(%rsp),%r13d
906         movl    4(%rsp),%edi
907
908         movl    %r13d,%r12d
909         rorl    $11,%r13d
910         addl    %r14d,%r9d
911         movl    %edi,%r14d
912         rorl    $2,%edi
913
914         xorl    %r12d,%r13d
915         shrl    $3,%r12d
916         rorl    $7,%r13d
917         xorl    %r14d,%edi
918         shrl    $10,%r14d
919
920         rorl    $17,%edi
921         xorl    %r13d,%r12d
922         xorl    %r14d,%edi
923         addl    48(%rsp),%r12d
924
925         addl    12(%rsp),%r12d
926         movl    %ebx,%r13d
927         addl    %edi,%r12d
928         movl    %r9d,%r14d
929         rorl    $14,%r13d
930         movl    %ecx,%edi
931
932         xorl    %ebx,%r13d
933         rorl    $9,%r14d
934         xorl    %edx,%edi
935
936         movl    %r12d,12(%rsp)
937         xorl    %r9d,%r14d
938         andl    %ebx,%edi
939
940         rorl    $5,%r13d
941         addl    %r8d,%r12d
942         xorl    %edx,%edi
943
944         rorl    $11,%r14d
945         xorl    %ebx,%r13d
946         addl    %edi,%r12d
947
948         movl    %r9d,%edi
949         addl    (%rbp),%r12d
950         xorl    %r9d,%r14d
951
952         xorl    %r10d,%edi
953         rorl    $6,%r13d
954         movl    %r10d,%r8d
955
956         andl    %edi,%r15d
957         rorl    $2,%r14d
958         addl    %r13d,%r12d
959
960         xorl    %r15d,%r8d
961         addl    %r12d,%eax
962         addl    %r12d,%r8d
963
964         leaq    20(%rbp),%rbp
965         movl    20(%rsp),%r13d
966         movl    8(%rsp),%r15d
967
968         movl    %r13d,%r12d
969         rorl    $11,%r13d
970         addl    %r14d,%r8d
971         movl    %r15d,%r14d
972         rorl    $2,%r15d
973
974         xorl    %r12d,%r13d
975         shrl    $3,%r12d
976         rorl    $7,%r13d
977         xorl    %r14d,%r15d
978         shrl    $10,%r14d
979
980         rorl    $17,%r15d
981         xorl    %r13d,%r12d
982         xorl    %r14d,%r15d
983         addl    52(%rsp),%r12d
984
985         addl    16(%rsp),%r12d
986         movl    %eax,%r13d
987         addl    %r15d,%r12d
988         movl    %r8d,%r14d
989         rorl    $14,%r13d
990         movl    %ebx,%r15d
991
992         xorl    %eax,%r13d
993         rorl    $9,%r14d
994         xorl    %ecx,%r15d
995
996         movl    %r12d,16(%rsp)
997         xorl    %r8d,%r14d
998         andl    %eax,%r15d
999
1000         rorl    $5,%r13d
1001         addl    %edx,%r12d
1002         xorl    %ecx,%r15d
1003
1004         rorl    $11,%r14d
1005         xorl    %eax,%r13d
1006         addl    %r15d,%r12d
1007
1008         movl    %r8d,%r15d
1009         addl    (%rbp),%r12d
1010         xorl    %r8d,%r14d
1011
1012         xorl    %r9d,%r15d
1013         rorl    $6,%r13d
1014         movl    %r9d,%edx
1015
1016         andl    %r15d,%edi
1017         rorl    $2,%r14d
1018         addl    %r13d,%r12d
1019
1020         xorl    %edi,%edx
1021         addl    %r12d,%r11d
1022         addl    %r12d,%edx
1023
1024         leaq    4(%rbp),%rbp
1025         movl    24(%rsp),%r13d
1026         movl    12(%rsp),%edi
1027
1028         movl    %r13d,%r12d
1029         rorl    $11,%r13d
1030         addl    %r14d,%edx
1031         movl    %edi,%r14d
1032         rorl    $2,%edi
1033
1034         xorl    %r12d,%r13d
1035         shrl    $3,%r12d
1036         rorl    $7,%r13d
1037         xorl    %r14d,%edi
1038         shrl    $10,%r14d
1039
1040         rorl    $17,%edi
1041         xorl    %r13d,%r12d
1042         xorl    %r14d,%edi
1043         addl    56(%rsp),%r12d
1044
1045         addl    20(%rsp),%r12d
1046         movl    %r11d,%r13d
1047         addl    %edi,%r12d
1048         movl    %edx,%r14d
1049         rorl    $14,%r13d
1050         movl    %eax,%edi
1051
1052         xorl    %r11d,%r13d
1053         rorl    $9,%r14d
1054         xorl    %ebx,%edi
1055
1056         movl    %r12d,20(%rsp)
1057         xorl    %edx,%r14d
1058         andl    %r11d,%edi
1059
1060         rorl    $5,%r13d
1061         addl    %ecx,%r12d
1062         xorl    %ebx,%edi
1063
1064         rorl    $11,%r14d
1065         xorl    %r11d,%r13d
1066         addl    %edi,%r12d
1067
1068         movl    %edx,%edi
1069         addl    (%rbp),%r12d
1070         xorl    %edx,%r14d
1071
1072         xorl    %r8d,%edi
1073         rorl    $6,%r13d
1074         movl    %r8d,%ecx
1075
1076         andl    %edi,%r15d
1077         rorl    $2,%r14d
1078         addl    %r13d,%r12d
1079
1080         xorl    %r15d,%ecx
1081         addl    %r12d,%r10d
1082         addl    %r12d,%ecx
1083
1084         leaq    4(%rbp),%rbp
1085         movl    28(%rsp),%r13d
1086         movl    16(%rsp),%r15d
1087
1088         movl    %r13d,%r12d
1089         rorl    $11,%r13d
1090         addl    %r14d,%ecx
1091         movl    %r15d,%r14d
1092         rorl    $2,%r15d
1093
1094         xorl    %r12d,%r13d
1095         shrl    $3,%r12d
1096         rorl    $7,%r13d
1097         xorl    %r14d,%r15d
1098         shrl    $10,%r14d
1099
1100         rorl    $17,%r15d
1101         xorl    %r13d,%r12d
1102         xorl    %r14d,%r15d
1103         addl    60(%rsp),%r12d
1104
1105         addl    24(%rsp),%r12d
1106         movl    %r10d,%r13d
1107         addl    %r15d,%r12d
1108         movl    %ecx,%r14d
1109         rorl    $14,%r13d
1110         movl    %r11d,%r15d
1111
1112         xorl    %r10d,%r13d
1113         rorl    $9,%r14d
1114         xorl    %eax,%r15d
1115
1116         movl    %r12d,24(%rsp)
1117         xorl    %ecx,%r14d
1118         andl    %r10d,%r15d
1119
1120         rorl    $5,%r13d
1121         addl    %ebx,%r12d
1122         xorl    %eax,%r15d
1123
1124         rorl    $11,%r14d
1125         xorl    %r10d,%r13d
1126         addl    %r15d,%r12d
1127
1128         movl    %ecx,%r15d
1129         addl    (%rbp),%r12d
1130         xorl    %ecx,%r14d
1131
1132         xorl    %edx,%r15d
1133         rorl    $6,%r13d
1134         movl    %edx,%ebx
1135
1136         andl    %r15d,%edi
1137         rorl    $2,%r14d
1138         addl    %r13d,%r12d
1139
1140         xorl    %edi,%ebx
1141         addl    %r12d,%r9d
1142         addl    %r12d,%ebx
1143
1144         leaq    4(%rbp),%rbp
1145         movl    32(%rsp),%r13d
1146         movl    20(%rsp),%edi
1147
1148         movl    %r13d,%r12d
1149         rorl    $11,%r13d
1150         addl    %r14d,%ebx
1151         movl    %edi,%r14d
1152         rorl    $2,%edi
1153
1154         xorl    %r12d,%r13d
1155         shrl    $3,%r12d
1156         rorl    $7,%r13d
1157         xorl    %r14d,%edi
1158         shrl    $10,%r14d
1159
1160         rorl    $17,%edi
1161         xorl    %r13d,%r12d
1162         xorl    %r14d,%edi
1163         addl    0(%rsp),%r12d
1164
1165         addl    28(%rsp),%r12d
1166         movl    %r9d,%r13d
1167         addl    %edi,%r12d
1168         movl    %ebx,%r14d
1169         rorl    $14,%r13d
1170         movl    %r10d,%edi
1171
1172         xorl    %r9d,%r13d
1173         rorl    $9,%r14d
1174         xorl    %r11d,%edi
1175
1176         movl    %r12d,28(%rsp)
1177         xorl    %ebx,%r14d
1178         andl    %r9d,%edi
1179
1180         rorl    $5,%r13d
1181         addl    %eax,%r12d
1182         xorl    %r11d,%edi
1183
1184         rorl    $11,%r14d
1185         xorl    %r9d,%r13d
1186         addl    %edi,%r12d
1187
1188         movl    %ebx,%edi
1189         addl    (%rbp),%r12d
1190         xorl    %ebx,%r14d
1191
1192         xorl    %ecx,%edi
1193         rorl    $6,%r13d
1194         movl    %ecx,%eax
1195
1196         andl    %edi,%r15d
1197         rorl    $2,%r14d
1198         addl    %r13d,%r12d
1199
1200         xorl    %r15d,%eax
1201         addl    %r12d,%r8d
1202         addl    %r12d,%eax
1203
1204         leaq    20(%rbp),%rbp
1205         movl    36(%rsp),%r13d
1206         movl    24(%rsp),%r15d
1207
1208         movl    %r13d,%r12d
1209         rorl    $11,%r13d
1210         addl    %r14d,%eax
1211         movl    %r15d,%r14d
1212         rorl    $2,%r15d
1213
1214         xorl    %r12d,%r13d
1215         shrl    $3,%r12d
1216         rorl    $7,%r13d
1217         xorl    %r14d,%r15d
1218         shrl    $10,%r14d
1219
1220         rorl    $17,%r15d
1221         xorl    %r13d,%r12d
1222         xorl    %r14d,%r15d
1223         addl    4(%rsp),%r12d
1224
1225         addl    32(%rsp),%r12d
1226         movl    %r8d,%r13d
1227         addl    %r15d,%r12d
1228         movl    %eax,%r14d
1229         rorl    $14,%r13d
1230         movl    %r9d,%r15d
1231
1232         xorl    %r8d,%r13d
1233         rorl    $9,%r14d
1234         xorl    %r10d,%r15d
1235
1236         movl    %r12d,32(%rsp)
1237         xorl    %eax,%r14d
1238         andl    %r8d,%r15d
1239
1240         rorl    $5,%r13d
1241         addl    %r11d,%r12d
1242         xorl    %r10d,%r15d
1243
1244         rorl    $11,%r14d
1245         xorl    %r8d,%r13d
1246         addl    %r15d,%r12d
1247
1248         movl    %eax,%r15d
1249         addl    (%rbp),%r12d
1250         xorl    %eax,%r14d
1251
1252         xorl    %ebx,%r15d
1253         rorl    $6,%r13d
1254         movl    %ebx,%r11d
1255
1256         andl    %r15d,%edi
1257         rorl    $2,%r14d
1258         addl    %r13d,%r12d
1259
1260         xorl    %edi,%r11d
1261         addl    %r12d,%edx
1262         addl    %r12d,%r11d
1263
1264         leaq    4(%rbp),%rbp
1265         movl    40(%rsp),%r13d
1266         movl    28(%rsp),%edi
1267
1268         movl    %r13d,%r12d
1269         rorl    $11,%r13d
1270         addl    %r14d,%r11d
1271         movl    %edi,%r14d
1272         rorl    $2,%edi
1273
1274         xorl    %r12d,%r13d
1275         shrl    $3,%r12d
1276         rorl    $7,%r13d
1277         xorl    %r14d,%edi
1278         shrl    $10,%r14d
1279
1280         rorl    $17,%edi
1281         xorl    %r13d,%r12d
1282         xorl    %r14d,%edi
1283         addl    8(%rsp),%r12d
1284
1285         addl    36(%rsp),%r12d
1286         movl    %edx,%r13d
1287         addl    %edi,%r12d
1288         movl    %r11d,%r14d
1289         rorl    $14,%r13d
1290         movl    %r8d,%edi
1291
1292         xorl    %edx,%r13d
1293         rorl    $9,%r14d
1294         xorl    %r9d,%edi
1295
1296         movl    %r12d,36(%rsp)
1297         xorl    %r11d,%r14d
1298         andl    %edx,%edi
1299
1300         rorl    $5,%r13d
1301         addl    %r10d,%r12d
1302         xorl    %r9d,%edi
1303
1304         rorl    $11,%r14d
1305         xorl    %edx,%r13d
1306         addl    %edi,%r12d
1307
1308         movl    %r11d,%edi
1309         addl    (%rbp),%r12d
1310         xorl    %r11d,%r14d
1311
1312         xorl    %eax,%edi
1313         rorl    $6,%r13d
1314         movl    %eax,%r10d
1315
1316         andl    %edi,%r15d
1317         rorl    $2,%r14d
1318         addl    %r13d,%r12d
1319
1320         xorl    %r15d,%r10d
1321         addl    %r12d,%ecx
1322         addl    %r12d,%r10d
1323
1324         leaq    4(%rbp),%rbp
1325         movl    44(%rsp),%r13d
1326         movl    32(%rsp),%r15d
1327
1328         movl    %r13d,%r12d
1329         rorl    $11,%r13d
1330         addl    %r14d,%r10d
1331         movl    %r15d,%r14d
1332         rorl    $2,%r15d
1333
1334         xorl    %r12d,%r13d
1335         shrl    $3,%r12d
1336         rorl    $7,%r13d
1337         xorl    %r14d,%r15d
1338         shrl    $10,%r14d
1339
1340         rorl    $17,%r15d
1341         xorl    %r13d,%r12d
1342         xorl    %r14d,%r15d
1343         addl    12(%rsp),%r12d
1344
1345         addl    40(%rsp),%r12d
1346         movl    %ecx,%r13d
1347         addl    %r15d,%r12d
1348         movl    %r10d,%r14d
1349         rorl    $14,%r13d
1350         movl    %edx,%r15d
1351
1352         xorl    %ecx,%r13d
1353         rorl    $9,%r14d
1354         xorl    %r8d,%r15d
1355
1356         movl    %r12d,40(%rsp)
1357         xorl    %r10d,%r14d
1358         andl    %ecx,%r15d
1359
1360         rorl    $5,%r13d
1361         addl    %r9d,%r12d
1362         xorl    %r8d,%r15d
1363
1364         rorl    $11,%r14d
1365         xorl    %ecx,%r13d
1366         addl    %r15d,%r12d
1367
1368         movl    %r10d,%r15d
1369         addl    (%rbp),%r12d
1370         xorl    %r10d,%r14d
1371
1372         xorl    %r11d,%r15d
1373         rorl    $6,%r13d
1374         movl    %r11d,%r9d
1375
1376         andl    %r15d,%edi
1377         rorl    $2,%r14d
1378         addl    %r13d,%r12d
1379
1380         xorl    %edi,%r9d
1381         addl    %r12d,%ebx
1382         addl    %r12d,%r9d
1383
1384         leaq    4(%rbp),%rbp
1385         movl    48(%rsp),%r13d
1386         movl    36(%rsp),%edi
1387
1388         movl    %r13d,%r12d
1389         rorl    $11,%r13d
1390         addl    %r14d,%r9d
1391         movl    %edi,%r14d
1392         rorl    $2,%edi
1393
1394         xorl    %r12d,%r13d
1395         shrl    $3,%r12d
1396         rorl    $7,%r13d
1397         xorl    %r14d,%edi
1398         shrl    $10,%r14d
1399
1400         rorl    $17,%edi
1401         xorl    %r13d,%r12d
1402         xorl    %r14d,%edi
1403         addl    16(%rsp),%r12d
1404
1405         addl    44(%rsp),%r12d
1406         movl    %ebx,%r13d
1407         addl    %edi,%r12d
1408         movl    %r9d,%r14d
1409         rorl    $14,%r13d
1410         movl    %ecx,%edi
1411
1412         xorl    %ebx,%r13d
1413         rorl    $9,%r14d
1414         xorl    %edx,%edi
1415
1416         movl    %r12d,44(%rsp)
1417         xorl    %r9d,%r14d
1418         andl    %ebx,%edi
1419
1420         rorl    $5,%r13d
1421         addl    %r8d,%r12d
1422         xorl    %edx,%edi
1423
1424         rorl    $11,%r14d
1425         xorl    %ebx,%r13d
1426         addl    %edi,%r12d
1427
1428         movl    %r9d,%edi
1429         addl    (%rbp),%r12d
1430         xorl    %r9d,%r14d
1431
1432         xorl    %r10d,%edi
1433         rorl    $6,%r13d
1434         movl    %r10d,%r8d
1435
1436         andl    %edi,%r15d
1437         rorl    $2,%r14d
1438         addl    %r13d,%r12d
1439
1440         xorl    %r15d,%r8d
1441         addl    %r12d,%eax
1442         addl    %r12d,%r8d
1443
1444         leaq    20(%rbp),%rbp
1445         movl    52(%rsp),%r13d
1446         movl    40(%rsp),%r15d
1447
1448         movl    %r13d,%r12d
1449         rorl    $11,%r13d
1450         addl    %r14d,%r8d
1451         movl    %r15d,%r14d
1452         rorl    $2,%r15d
1453
1454         xorl    %r12d,%r13d
1455         shrl    $3,%r12d
1456         rorl    $7,%r13d
1457         xorl    %r14d,%r15d
1458         shrl    $10,%r14d
1459
1460         rorl    $17,%r15d
1461         xorl    %r13d,%r12d
1462         xorl    %r14d,%r15d
1463         addl    20(%rsp),%r12d
1464
1465         addl    48(%rsp),%r12d
1466         movl    %eax,%r13d
1467         addl    %r15d,%r12d
1468         movl    %r8d,%r14d
1469         rorl    $14,%r13d
1470         movl    %ebx,%r15d
1471
1472         xorl    %eax,%r13d
1473         rorl    $9,%r14d
1474         xorl    %ecx,%r15d
1475
1476         movl    %r12d,48(%rsp)
1477         xorl    %r8d,%r14d
1478         andl    %eax,%r15d
1479
1480         rorl    $5,%r13d
1481         addl    %edx,%r12d
1482         xorl    %ecx,%r15d
1483
1484         rorl    $11,%r14d
1485         xorl    %eax,%r13d
1486         addl    %r15d,%r12d
1487
1488         movl    %r8d,%r15d
1489         addl    (%rbp),%r12d
1490         xorl    %r8d,%r14d
1491
1492         xorl    %r9d,%r15d
1493         rorl    $6,%r13d
1494         movl    %r9d,%edx
1495
1496         andl    %r15d,%edi
1497         rorl    $2,%r14d
1498         addl    %r13d,%r12d
1499
1500         xorl    %edi,%edx
1501         addl    %r12d,%r11d
1502         addl    %r12d,%edx
1503
1504         leaq    4(%rbp),%rbp
1505         movl    56(%rsp),%r13d
1506         movl    44(%rsp),%edi
1507
1508         movl    %r13d,%r12d
1509         rorl    $11,%r13d
1510         addl    %r14d,%edx
1511         movl    %edi,%r14d
1512         rorl    $2,%edi
1513
1514         xorl    %r12d,%r13d
1515         shrl    $3,%r12d
1516         rorl    $7,%r13d
1517         xorl    %r14d,%edi
1518         shrl    $10,%r14d
1519
1520         rorl    $17,%edi
1521         xorl    %r13d,%r12d
1522         xorl    %r14d,%edi
1523         addl    24(%rsp),%r12d
1524
1525         addl    52(%rsp),%r12d
1526         movl    %r11d,%r13d
1527         addl    %edi,%r12d
1528         movl    %edx,%r14d
1529         rorl    $14,%r13d
1530         movl    %eax,%edi
1531
1532         xorl    %r11d,%r13d
1533         rorl    $9,%r14d
1534         xorl    %ebx,%edi
1535
1536         movl    %r12d,52(%rsp)
1537         xorl    %edx,%r14d
1538         andl    %r11d,%edi
1539
1540         rorl    $5,%r13d
1541         addl    %ecx,%r12d
1542         xorl    %ebx,%edi
1543
1544         rorl    $11,%r14d
1545         xorl    %r11d,%r13d
1546         addl    %edi,%r12d
1547
1548         movl    %edx,%edi
1549         addl    (%rbp),%r12d
1550         xorl    %edx,%r14d
1551
1552         xorl    %r8d,%edi
1553         rorl    $6,%r13d
1554         movl    %r8d,%ecx
1555
1556         andl    %edi,%r15d
1557         rorl    $2,%r14d
1558         addl    %r13d,%r12d
1559
1560         xorl    %r15d,%ecx
1561         addl    %r12d,%r10d
1562         addl    %r12d,%ecx
1563
1564         leaq    4(%rbp),%rbp
1565         movl    60(%rsp),%r13d
1566         movl    48(%rsp),%r15d
1567
1568         movl    %r13d,%r12d
1569         rorl    $11,%r13d
1570         addl    %r14d,%ecx
1571         movl    %r15d,%r14d
1572         rorl    $2,%r15d
1573
1574         xorl    %r12d,%r13d
1575         shrl    $3,%r12d
1576         rorl    $7,%r13d
1577         xorl    %r14d,%r15d
1578         shrl    $10,%r14d
1579
1580         rorl    $17,%r15d
1581         xorl    %r13d,%r12d
1582         xorl    %r14d,%r15d
1583         addl    28(%rsp),%r12d
1584
1585         addl    56(%rsp),%r12d
1586         movl    %r10d,%r13d
1587         addl    %r15d,%r12d
1588         movl    %ecx,%r14d
1589         rorl    $14,%r13d
1590         movl    %r11d,%r15d
1591
1592         xorl    %r10d,%r13d
1593         rorl    $9,%r14d
1594         xorl    %eax,%r15d
1595
1596         movl    %r12d,56(%rsp)
1597         xorl    %ecx,%r14d
1598         andl    %r10d,%r15d
1599
1600         rorl    $5,%r13d
1601         addl    %ebx,%r12d
1602         xorl    %eax,%r15d
1603
1604         rorl    $11,%r14d
1605         xorl    %r10d,%r13d
1606         addl    %r15d,%r12d
1607
1608         movl    %ecx,%r15d
1609         addl    (%rbp),%r12d
1610         xorl    %ecx,%r14d
1611
1612         xorl    %edx,%r15d
1613         rorl    $6,%r13d
1614         movl    %edx,%ebx
1615
1616         andl    %r15d,%edi
1617         rorl    $2,%r14d
1618         addl    %r13d,%r12d
1619
1620         xorl    %edi,%ebx
1621         addl    %r12d,%r9d
1622         addl    %r12d,%ebx
1623
1624         leaq    4(%rbp),%rbp
1625         movl    0(%rsp),%r13d
1626         movl    52(%rsp),%edi
1627
1628         movl    %r13d,%r12d
1629         rorl    $11,%r13d
1630         addl    %r14d,%ebx
1631         movl    %edi,%r14d
1632         rorl    $2,%edi
1633
1634         xorl    %r12d,%r13d
1635         shrl    $3,%r12d
1636         rorl    $7,%r13d
1637         xorl    %r14d,%edi
1638         shrl    $10,%r14d
1639
1640         rorl    $17,%edi
1641         xorl    %r13d,%r12d
1642         xorl    %r14d,%edi
1643         addl    32(%rsp),%r12d
1644
1645         addl    60(%rsp),%r12d
1646         movl    %r9d,%r13d
1647         addl    %edi,%r12d
1648         movl    %ebx,%r14d
1649         rorl    $14,%r13d
1650         movl    %r10d,%edi
1651
1652         xorl    %r9d,%r13d
1653         rorl    $9,%r14d
1654         xorl    %r11d,%edi
1655
1656         movl    %r12d,60(%rsp)
1657         xorl    %ebx,%r14d
1658         andl    %r9d,%edi
1659
1660         rorl    $5,%r13d
1661         addl    %eax,%r12d
1662         xorl    %r11d,%edi
1663
1664         rorl    $11,%r14d
1665         xorl    %r9d,%r13d
1666         addl    %edi,%r12d
1667
1668         movl    %ebx,%edi
1669         addl    (%rbp),%r12d
1670         xorl    %ebx,%r14d
1671
1672         xorl    %ecx,%edi
1673         rorl    $6,%r13d
1674         movl    %ecx,%eax
1675
1676         andl    %edi,%r15d
1677         rorl    $2,%r14d
1678         addl    %r13d,%r12d
1679
1680         xorl    %r15d,%eax
1681         addl    %r12d,%r8d
1682         addl    %r12d,%eax
1683
1684         leaq    20(%rbp),%rbp
1685         cmpb    $0,3(%rbp)
1686         jnz     .Lrounds_16_xx
1687
1688         movq    64+0(%rsp),%rdi
1689         addl    %r14d,%eax
1690         leaq    64(%rsi),%rsi
1691
1692         addl    0(%rdi),%eax
1693         addl    4(%rdi),%ebx
1694         addl    8(%rdi),%ecx
1695         addl    12(%rdi),%edx
1696         addl    16(%rdi),%r8d
1697         addl    20(%rdi),%r9d
1698         addl    24(%rdi),%r10d
1699         addl    28(%rdi),%r11d
1700
1701         cmpq    64+16(%rsp),%rsi
1702
1703         movl    %eax,0(%rdi)
1704         movl    %ebx,4(%rdi)
1705         movl    %ecx,8(%rdi)
1706         movl    %edx,12(%rdi)
1707         movl    %r8d,16(%rdi)
1708         movl    %r9d,20(%rdi)
1709         movl    %r10d,24(%rdi)
1710         movl    %r11d,28(%rdi)
1711         jb      .Lloop
1712
1713         movq    88(%rsp),%rsi
1714 .cfi_def_cfa    %rsi,8
1715         movq    -48(%rsi),%r15
1716 .cfi_restore    %r15
1717         movq    -40(%rsi),%r14
1718 .cfi_restore    %r14
1719         movq    -32(%rsi),%r13
1720 .cfi_restore    %r13
1721         movq    -24(%rsi),%r12
1722 .cfi_restore    %r12
1723         movq    -16(%rsi),%rbp
1724 .cfi_restore    %rbp
1725         movq    -8(%rsi),%rbx
1726 .cfi_restore    %rbx
1727         leaq    (%rsi),%rsp
1728 .cfi_def_cfa_register   %rsp
1729 .Lepilogue:
1730         .byte   0xf3,0xc3
1731 .cfi_endproc    
1732 .size   sha256_block_data_order,.-sha256_block_data_order
1733 .align  64
1734 .type   K256,@object
1735 K256:
1736 .long   0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1737 .long   0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1738 .long   0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1739 .long   0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1740 .long   0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1741 .long   0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1742 .long   0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1743 .long   0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1744 .long   0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1745 .long   0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1746 .long   0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1747 .long   0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1748 .long   0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1749 .long   0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1750 .long   0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1751 .long   0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1752 .long   0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1753 .long   0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1754 .long   0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1755 .long   0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1756 .long   0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1757 .long   0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1758 .long   0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1759 .long   0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1760 .long   0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1761 .long   0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1762 .long   0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1763 .long   0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1764 .long   0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1765 .long   0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1766 .long   0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1767 .long   0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1768
1769 .long   0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1770 .long   0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1771 .long   0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1772 .long   0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1773 .long   0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1774 .long   0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1775 .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
1776 .type   sha256_block_data_order_shaext,@function
1777 .align  64
1778 sha256_block_data_order_shaext:
1779 _shaext_shortcut:
1780         leaq    K256+128(%rip),%rcx
1781         movdqu  (%rdi),%xmm1
1782         movdqu  16(%rdi),%xmm2
1783         movdqa  512-128(%rcx),%xmm7
1784
1785         pshufd  $0x1b,%xmm1,%xmm0
1786         pshufd  $0xb1,%xmm1,%xmm1
1787         pshufd  $0x1b,%xmm2,%xmm2
1788         movdqa  %xmm7,%xmm8
1789 .byte   102,15,58,15,202,8
1790         punpcklqdq      %xmm0,%xmm2
1791         jmp     .Loop_shaext
1792
1793 .align  16
1794 .Loop_shaext:
1795         movdqu  (%rsi),%xmm3
1796         movdqu  16(%rsi),%xmm4
1797         movdqu  32(%rsi),%xmm5
1798 .byte   102,15,56,0,223
1799         movdqu  48(%rsi),%xmm6
1800
1801         movdqa  0-128(%rcx),%xmm0
1802         paddd   %xmm3,%xmm0
1803 .byte   102,15,56,0,231
1804         movdqa  %xmm2,%xmm10
1805 .byte   15,56,203,209
1806         pshufd  $0x0e,%xmm0,%xmm0
1807         nop
1808         movdqa  %xmm1,%xmm9
1809 .byte   15,56,203,202
1810
1811         movdqa  32-128(%rcx),%xmm0
1812         paddd   %xmm4,%xmm0
1813 .byte   102,15,56,0,239
1814 .byte   15,56,203,209
1815         pshufd  $0x0e,%xmm0,%xmm0
1816         leaq    64(%rsi),%rsi
1817 .byte   15,56,204,220
1818 .byte   15,56,203,202
1819
1820         movdqa  64-128(%rcx),%xmm0
1821         paddd   %xmm5,%xmm0
1822 .byte   102,15,56,0,247
1823 .byte   15,56,203,209
1824         pshufd  $0x0e,%xmm0,%xmm0
1825         movdqa  %xmm6,%xmm7
1826 .byte   102,15,58,15,253,4
1827         nop
1828         paddd   %xmm7,%xmm3
1829 .byte   15,56,204,229
1830 .byte   15,56,203,202
1831
1832         movdqa  96-128(%rcx),%xmm0
1833         paddd   %xmm6,%xmm0
1834 .byte   15,56,205,222
1835 .byte   15,56,203,209
1836         pshufd  $0x0e,%xmm0,%xmm0
1837         movdqa  %xmm3,%xmm7
1838 .byte   102,15,58,15,254,4
1839         nop
1840         paddd   %xmm7,%xmm4
1841 .byte   15,56,204,238
1842 .byte   15,56,203,202
1843         movdqa  128-128(%rcx),%xmm0
1844         paddd   %xmm3,%xmm0
1845 .byte   15,56,205,227
1846 .byte   15,56,203,209
1847         pshufd  $0x0e,%xmm0,%xmm0
1848         movdqa  %xmm4,%xmm7
1849 .byte   102,15,58,15,251,4
1850         nop
1851         paddd   %xmm7,%xmm5
1852 .byte   15,56,204,243
1853 .byte   15,56,203,202
1854         movdqa  160-128(%rcx),%xmm0
1855         paddd   %xmm4,%xmm0
1856 .byte   15,56,205,236
1857 .byte   15,56,203,209
1858         pshufd  $0x0e,%xmm0,%xmm0
1859         movdqa  %xmm5,%xmm7
1860 .byte   102,15,58,15,252,4
1861         nop
1862         paddd   %xmm7,%xmm6
1863 .byte   15,56,204,220
1864 .byte   15,56,203,202
1865         movdqa  192-128(%rcx),%xmm0
1866         paddd   %xmm5,%xmm0
1867 .byte   15,56,205,245
1868 .byte   15,56,203,209
1869         pshufd  $0x0e,%xmm0,%xmm0
1870         movdqa  %xmm6,%xmm7
1871 .byte   102,15,58,15,253,4
1872         nop
1873         paddd   %xmm7,%xmm3
1874 .byte   15,56,204,229
1875 .byte   15,56,203,202
1876         movdqa  224-128(%rcx),%xmm0
1877         paddd   %xmm6,%xmm0
1878 .byte   15,56,205,222
1879 .byte   15,56,203,209
1880         pshufd  $0x0e,%xmm0,%xmm0
1881         movdqa  %xmm3,%xmm7
1882 .byte   102,15,58,15,254,4
1883         nop
1884         paddd   %xmm7,%xmm4
1885 .byte   15,56,204,238
1886 .byte   15,56,203,202
1887         movdqa  256-128(%rcx),%xmm0
1888         paddd   %xmm3,%xmm0
1889 .byte   15,56,205,227
1890 .byte   15,56,203,209
1891         pshufd  $0x0e,%xmm0,%xmm0
1892         movdqa  %xmm4,%xmm7
1893 .byte   102,15,58,15,251,4
1894         nop
1895         paddd   %xmm7,%xmm5
1896 .byte   15,56,204,243
1897 .byte   15,56,203,202
1898         movdqa  288-128(%rcx),%xmm0
1899         paddd   %xmm4,%xmm0
1900 .byte   15,56,205,236
1901 .byte   15,56,203,209
1902         pshufd  $0x0e,%xmm0,%xmm0
1903         movdqa  %xmm5,%xmm7
1904 .byte   102,15,58,15,252,4
1905         nop
1906         paddd   %xmm7,%xmm6
1907 .byte   15,56,204,220
1908 .byte   15,56,203,202
1909         movdqa  320-128(%rcx),%xmm0
1910         paddd   %xmm5,%xmm0
1911 .byte   15,56,205,245
1912 .byte   15,56,203,209
1913         pshufd  $0x0e,%xmm0,%xmm0
1914         movdqa  %xmm6,%xmm7
1915 .byte   102,15,58,15,253,4
1916         nop
1917         paddd   %xmm7,%xmm3
1918 .byte   15,56,204,229
1919 .byte   15,56,203,202
1920         movdqa  352-128(%rcx),%xmm0
1921         paddd   %xmm6,%xmm0
1922 .byte   15,56,205,222
1923 .byte   15,56,203,209
1924         pshufd  $0x0e,%xmm0,%xmm0
1925         movdqa  %xmm3,%xmm7
1926 .byte   102,15,58,15,254,4
1927         nop
1928         paddd   %xmm7,%xmm4
1929 .byte   15,56,204,238
1930 .byte   15,56,203,202
1931         movdqa  384-128(%rcx),%xmm0
1932         paddd   %xmm3,%xmm0
1933 .byte   15,56,205,227
1934 .byte   15,56,203,209
1935         pshufd  $0x0e,%xmm0,%xmm0
1936         movdqa  %xmm4,%xmm7
1937 .byte   102,15,58,15,251,4
1938         nop
1939         paddd   %xmm7,%xmm5
1940 .byte   15,56,204,243
1941 .byte   15,56,203,202
1942         movdqa  416-128(%rcx),%xmm0
1943         paddd   %xmm4,%xmm0
1944 .byte   15,56,205,236
1945 .byte   15,56,203,209
1946         pshufd  $0x0e,%xmm0,%xmm0
1947         movdqa  %xmm5,%xmm7
1948 .byte   102,15,58,15,252,4
1949 .byte   15,56,203,202
1950         paddd   %xmm7,%xmm6
1951
1952         movdqa  448-128(%rcx),%xmm0
1953         paddd   %xmm5,%xmm0
1954 .byte   15,56,203,209
1955         pshufd  $0x0e,%xmm0,%xmm0
1956 .byte   15,56,205,245
1957         movdqa  %xmm8,%xmm7
1958 .byte   15,56,203,202
1959
1960         movdqa  480-128(%rcx),%xmm0
1961         paddd   %xmm6,%xmm0
1962         nop
1963 .byte   15,56,203,209
1964         pshufd  $0x0e,%xmm0,%xmm0
1965         decq    %rdx
1966         nop
1967 .byte   15,56,203,202
1968
1969         paddd   %xmm10,%xmm2
1970         paddd   %xmm9,%xmm1
1971         jnz     .Loop_shaext
1972
1973         pshufd  $0xb1,%xmm2,%xmm2
1974         pshufd  $0x1b,%xmm1,%xmm7
1975         pshufd  $0xb1,%xmm1,%xmm1
1976         punpckhqdq      %xmm2,%xmm1
1977 .byte   102,15,58,15,215,8
1978
1979         movdqu  %xmm1,(%rdi)
1980         movdqu  %xmm2,16(%rdi)
1981         .byte   0xf3,0xc3
1982 .size   sha256_block_data_order_shaext,.-sha256_block_data_order_shaext
1983 .type   sha256_block_data_order_ssse3,@function
1984 .align  64
1985 sha256_block_data_order_ssse3:
1986 .cfi_startproc  
1987 .Lssse3_shortcut:
1988         movq    %rsp,%rax
1989 .cfi_def_cfa_register   %rax
1990         pushq   %rbx
1991 .cfi_offset     %rbx,-16
1992         pushq   %rbp
1993 .cfi_offset     %rbp,-24
1994         pushq   %r12
1995 .cfi_offset     %r12,-32
1996         pushq   %r13
1997 .cfi_offset     %r13,-40
1998         pushq   %r14
1999 .cfi_offset     %r14,-48
2000         pushq   %r15
2001 .cfi_offset     %r15,-56
2002         shlq    $4,%rdx
2003         subq    $96,%rsp
2004         leaq    (%rsi,%rdx,4),%rdx
2005         andq    $-64,%rsp
2006         movq    %rdi,64+0(%rsp)
2007         movq    %rsi,64+8(%rsp)
2008         movq    %rdx,64+16(%rsp)
2009         movq    %rax,88(%rsp)
2010 .cfi_escape     0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
2011 .Lprologue_ssse3:
2012
2013         movl    0(%rdi),%eax
2014         movl    4(%rdi),%ebx
2015         movl    8(%rdi),%ecx
2016         movl    12(%rdi),%edx
2017         movl    16(%rdi),%r8d
2018         movl    20(%rdi),%r9d
2019         movl    24(%rdi),%r10d
2020         movl    28(%rdi),%r11d
2021
2022
2023         jmp     .Lloop_ssse3
2024 .align  16
2025 .Lloop_ssse3:
2026         movdqa  K256+512(%rip),%xmm7
2027         movdqu  0(%rsi),%xmm0
2028         movdqu  16(%rsi),%xmm1
2029         movdqu  32(%rsi),%xmm2
2030 .byte   102,15,56,0,199
2031         movdqu  48(%rsi),%xmm3
2032         leaq    K256(%rip),%rbp
2033 .byte   102,15,56,0,207
2034         movdqa  0(%rbp),%xmm4
2035         movdqa  32(%rbp),%xmm5
2036 .byte   102,15,56,0,215
2037         paddd   %xmm0,%xmm4
2038         movdqa  64(%rbp),%xmm6
2039 .byte   102,15,56,0,223
2040         movdqa  96(%rbp),%xmm7
2041         paddd   %xmm1,%xmm5
2042         paddd   %xmm2,%xmm6
2043         paddd   %xmm3,%xmm7
2044         movdqa  %xmm4,0(%rsp)
2045         movl    %eax,%r14d
2046         movdqa  %xmm5,16(%rsp)
2047         movl    %ebx,%edi
2048         movdqa  %xmm6,32(%rsp)
2049         xorl    %ecx,%edi
2050         movdqa  %xmm7,48(%rsp)
2051         movl    %r8d,%r13d
2052         jmp     .Lssse3_00_47
2053
2054 .align  16
2055 .Lssse3_00_47:
2056         subq    $-128,%rbp
2057         rorl    $14,%r13d
2058         movdqa  %xmm1,%xmm4
2059         movl    %r14d,%eax
2060         movl    %r9d,%r12d
2061         movdqa  %xmm3,%xmm7
2062         rorl    $9,%r14d
2063         xorl    %r8d,%r13d
2064         xorl    %r10d,%r12d
2065         rorl    $5,%r13d
2066         xorl    %eax,%r14d
2067 .byte   102,15,58,15,224,4
2068         andl    %r8d,%r12d
2069         xorl    %r8d,%r13d
2070 .byte   102,15,58,15,250,4
2071         addl    0(%rsp),%r11d
2072         movl    %eax,%r15d
2073         xorl    %r10d,%r12d
2074         rorl    $11,%r14d
2075         movdqa  %xmm4,%xmm5
2076         xorl    %ebx,%r15d
2077         addl    %r12d,%r11d
2078         movdqa  %xmm4,%xmm6
2079         rorl    $6,%r13d
2080         andl    %r15d,%edi
2081         psrld   $3,%xmm4
2082         xorl    %eax,%r14d
2083         addl    %r13d,%r11d
2084         xorl    %ebx,%edi
2085         paddd   %xmm7,%xmm0
2086         rorl    $2,%r14d
2087         addl    %r11d,%edx
2088         psrld   $7,%xmm6
2089         addl    %edi,%r11d
2090         movl    %edx,%r13d
2091         pshufd  $250,%xmm3,%xmm7
2092         addl    %r11d,%r14d
2093         rorl    $14,%r13d
2094         pslld   $14,%xmm5
2095         movl    %r14d,%r11d
2096         movl    %r8d,%r12d
2097         pxor    %xmm6,%xmm4
2098         rorl    $9,%r14d
2099         xorl    %edx,%r13d
2100         xorl    %r9d,%r12d
2101         rorl    $5,%r13d
2102         psrld   $11,%xmm6
2103         xorl    %r11d,%r14d
2104         pxor    %xmm5,%xmm4
2105         andl    %edx,%r12d
2106         xorl    %edx,%r13d
2107         pslld   $11,%xmm5
2108         addl    4(%rsp),%r10d
2109         movl    %r11d,%edi
2110         pxor    %xmm6,%xmm4
2111         xorl    %r9d,%r12d
2112         rorl    $11,%r14d
2113         movdqa  %xmm7,%xmm6
2114         xorl    %eax,%edi
2115         addl    %r12d,%r10d
2116         pxor    %xmm5,%xmm4
2117         rorl    $6,%r13d
2118         andl    %edi,%r15d
2119         xorl    %r11d,%r14d
2120         psrld   $10,%xmm7
2121         addl    %r13d,%r10d
2122         xorl    %eax,%r15d
2123         paddd   %xmm4,%xmm0
2124         rorl    $2,%r14d
2125         addl    %r10d,%ecx
2126         psrlq   $17,%xmm6
2127         addl    %r15d,%r10d
2128         movl    %ecx,%r13d
2129         addl    %r10d,%r14d
2130         pxor    %xmm6,%xmm7
2131         rorl    $14,%r13d
2132         movl    %r14d,%r10d
2133         movl    %edx,%r12d
2134         rorl    $9,%r14d
2135         psrlq   $2,%xmm6
2136         xorl    %ecx,%r13d
2137         xorl    %r8d,%r12d
2138         pxor    %xmm6,%xmm7
2139         rorl    $5,%r13d
2140         xorl    %r10d,%r14d
2141         andl    %ecx,%r12d
2142         pshufd  $128,%xmm7,%xmm7
2143         xorl    %ecx,%r13d
2144         addl    8(%rsp),%r9d
2145         movl    %r10d,%r15d
2146         psrldq  $8,%xmm7
2147         xorl    %r8d,%r12d
2148         rorl    $11,%r14d
2149         xorl    %r11d,%r15d
2150         addl    %r12d,%r9d
2151         rorl    $6,%r13d
2152         paddd   %xmm7,%xmm0
2153         andl    %r15d,%edi
2154         xorl    %r10d,%r14d
2155         addl    %r13d,%r9d
2156         pshufd  $80,%xmm0,%xmm7
2157         xorl    %r11d,%edi
2158         rorl    $2,%r14d
2159         addl    %r9d,%ebx
2160         movdqa  %xmm7,%xmm6
2161         addl    %edi,%r9d
2162         movl    %ebx,%r13d
2163         psrld   $10,%xmm7
2164         addl    %r9d,%r14d
2165         rorl    $14,%r13d
2166         psrlq   $17,%xmm6
2167         movl    %r14d,%r9d
2168         movl    %ecx,%r12d
2169         pxor    %xmm6,%xmm7
2170         rorl    $9,%r14d
2171         xorl    %ebx,%r13d
2172         xorl    %edx,%r12d
2173         rorl    $5,%r13d
2174         xorl    %r9d,%r14d
2175         psrlq   $2,%xmm6
2176         andl    %ebx,%r12d
2177         xorl    %ebx,%r13d
2178         addl    12(%rsp),%r8d
2179         pxor    %xmm6,%xmm7
2180         movl    %r9d,%edi
2181         xorl    %edx,%r12d
2182         rorl    $11,%r14d
2183         pshufd  $8,%xmm7,%xmm7
2184         xorl    %r10d,%edi
2185         addl    %r12d,%r8d
2186         movdqa  0(%rbp),%xmm6
2187         rorl    $6,%r13d
2188         andl    %edi,%r15d
2189         pslldq  $8,%xmm7
2190         xorl    %r9d,%r14d
2191         addl    %r13d,%r8d
2192         xorl    %r10d,%r15d
2193         paddd   %xmm7,%xmm0
2194         rorl    $2,%r14d
2195         addl    %r8d,%eax
2196         addl    %r15d,%r8d
2197         paddd   %xmm0,%xmm6
2198         movl    %eax,%r13d
2199         addl    %r8d,%r14d
2200         movdqa  %xmm6,0(%rsp)
2201         rorl    $14,%r13d
2202         movdqa  %xmm2,%xmm4
2203         movl    %r14d,%r8d
2204         movl    %ebx,%r12d
2205         movdqa  %xmm0,%xmm7
2206         rorl    $9,%r14d
2207         xorl    %eax,%r13d
2208         xorl    %ecx,%r12d
2209         rorl    $5,%r13d
2210         xorl    %r8d,%r14d
2211 .byte   102,15,58,15,225,4
2212         andl    %eax,%r12d
2213         xorl    %eax,%r13d
2214 .byte   102,15,58,15,251,4
2215         addl    16(%rsp),%edx
2216         movl    %r8d,%r15d
2217         xorl    %ecx,%r12d
2218         rorl    $11,%r14d
2219         movdqa  %xmm4,%xmm5
2220         xorl    %r9d,%r15d
2221         addl    %r12d,%edx
2222         movdqa  %xmm4,%xmm6
2223         rorl    $6,%r13d
2224         andl    %r15d,%edi
2225         psrld   $3,%xmm4
2226         xorl    %r8d,%r14d
2227         addl    %r13d,%edx
2228         xorl    %r9d,%edi
2229         paddd   %xmm7,%xmm1
2230         rorl    $2,%r14d
2231         addl    %edx,%r11d
2232         psrld   $7,%xmm6
2233         addl    %edi,%edx
2234         movl    %r11d,%r13d
2235         pshufd  $250,%xmm0,%xmm7
2236         addl    %edx,%r14d
2237         rorl    $14,%r13d
2238         pslld   $14,%xmm5
2239         movl    %r14d,%edx
2240         movl    %eax,%r12d
2241         pxor    %xmm6,%xmm4
2242         rorl    $9,%r14d
2243         xorl    %r11d,%r13d
2244         xorl    %ebx,%r12d
2245         rorl    $5,%r13d
2246         psrld   $11,%xmm6
2247         xorl    %edx,%r14d
2248         pxor    %xmm5,%xmm4
2249         andl    %r11d,%r12d
2250         xorl    %r11d,%r13d
2251         pslld   $11,%xmm5
2252         addl    20(%rsp),%ecx
2253         movl    %edx,%edi
2254         pxor    %xmm6,%xmm4
2255         xorl    %ebx,%r12d
2256         rorl    $11,%r14d
2257         movdqa  %xmm7,%xmm6
2258         xorl    %r8d,%edi
2259         addl    %r12d,%ecx
2260         pxor    %xmm5,%xmm4
2261         rorl    $6,%r13d
2262         andl    %edi,%r15d
2263         xorl    %edx,%r14d
2264         psrld   $10,%xmm7
2265         addl    %r13d,%ecx
2266         xorl    %r8d,%r15d
2267         paddd   %xmm4,%xmm1
2268         rorl    $2,%r14d
2269         addl    %ecx,%r10d
2270         psrlq   $17,%xmm6
2271         addl    %r15d,%ecx
2272         movl    %r10d,%r13d
2273         addl    %ecx,%r14d
2274         pxor    %xmm6,%xmm7
2275         rorl    $14,%r13d
2276         movl    %r14d,%ecx
2277         movl    %r11d,%r12d
2278         rorl    $9,%r14d
2279         psrlq   $2,%xmm6
2280         xorl    %r10d,%r13d
2281         xorl    %eax,%r12d
2282         pxor    %xmm6,%xmm7
2283         rorl    $5,%r13d
2284         xorl    %ecx,%r14d
2285         andl    %r10d,%r12d
2286         pshufd  $128,%xmm7,%xmm7
2287         xorl    %r10d,%r13d
2288         addl    24(%rsp),%ebx
2289         movl    %ecx,%r15d
2290         psrldq  $8,%xmm7
2291         xorl    %eax,%r12d
2292         rorl    $11,%r14d
2293         xorl    %edx,%r15d
2294         addl    %r12d,%ebx
2295         rorl    $6,%r13d
2296         paddd   %xmm7,%xmm1
2297         andl    %r15d,%edi
2298         xorl    %ecx,%r14d
2299         addl    %r13d,%ebx
2300         pshufd  $80,%xmm1,%xmm7
2301         xorl    %edx,%edi
2302         rorl    $2,%r14d
2303         addl    %ebx,%r9d
2304         movdqa  %xmm7,%xmm6
2305         addl    %edi,%ebx
2306         movl    %r9d,%r13d
2307         psrld   $10,%xmm7
2308         addl    %ebx,%r14d
2309         rorl    $14,%r13d
2310         psrlq   $17,%xmm6
2311         movl    %r14d,%ebx
2312         movl    %r10d,%r12d
2313         pxor    %xmm6,%xmm7
2314         rorl    $9,%r14d
2315         xorl    %r9d,%r13d
2316         xorl    %r11d,%r12d
2317         rorl    $5,%r13d
2318         xorl    %ebx,%r14d
2319         psrlq   $2,%xmm6
2320         andl    %r9d,%r12d
2321         xorl    %r9d,%r13d
2322         addl    28(%rsp),%eax
2323         pxor    %xmm6,%xmm7
2324         movl    %ebx,%edi
2325         xorl    %r11d,%r12d
2326         rorl    $11,%r14d
2327         pshufd  $8,%xmm7,%xmm7
2328         xorl    %ecx,%edi
2329         addl    %r12d,%eax
2330         movdqa  32(%rbp),%xmm6
2331         rorl    $6,%r13d
2332         andl    %edi,%r15d
2333         pslldq  $8,%xmm7
2334         xorl    %ebx,%r14d
2335         addl    %r13d,%eax
2336         xorl    %ecx,%r15d
2337         paddd   %xmm7,%xmm1
2338         rorl    $2,%r14d
2339         addl    %eax,%r8d
2340         addl    %r15d,%eax
2341         paddd   %xmm1,%xmm6
2342         movl    %r8d,%r13d
2343         addl    %eax,%r14d
2344         movdqa  %xmm6,16(%rsp)
2345         rorl    $14,%r13d
2346         movdqa  %xmm3,%xmm4
2347         movl    %r14d,%eax
2348         movl    %r9d,%r12d
2349         movdqa  %xmm1,%xmm7
2350         rorl    $9,%r14d
2351         xorl    %r8d,%r13d
2352         xorl    %r10d,%r12d
2353         rorl    $5,%r13d
2354         xorl    %eax,%r14d
2355 .byte   102,15,58,15,226,4
2356         andl    %r8d,%r12d
2357         xorl    %r8d,%r13d
2358 .byte   102,15,58,15,248,4
2359         addl    32(%rsp),%r11d
2360         movl    %eax,%r15d
2361         xorl    %r10d,%r12d
2362         rorl    $11,%r14d
2363         movdqa  %xmm4,%xmm5
2364         xorl    %ebx,%r15d
2365         addl    %r12d,%r11d
2366         movdqa  %xmm4,%xmm6
2367         rorl    $6,%r13d
2368         andl    %r15d,%edi
2369         psrld   $3,%xmm4
2370         xorl    %eax,%r14d
2371         addl    %r13d,%r11d
2372         xorl    %ebx,%edi
2373         paddd   %xmm7,%xmm2
2374         rorl    $2,%r14d
2375         addl    %r11d,%edx
2376         psrld   $7,%xmm6
2377         addl    %edi,%r11d
2378         movl    %edx,%r13d
2379         pshufd  $250,%xmm1,%xmm7
2380         addl    %r11d,%r14d
2381         rorl    $14,%r13d
2382         pslld   $14,%xmm5
2383         movl    %r14d,%r11d
2384         movl    %r8d,%r12d
2385         pxor    %xmm6,%xmm4
2386         rorl    $9,%r14d
2387         xorl    %edx,%r13d
2388         xorl    %r9d,%r12d
2389         rorl    $5,%r13d
2390         psrld   $11,%xmm6
2391         xorl    %r11d,%r14d
2392         pxor    %xmm5,%xmm4
2393         andl    %edx,%r12d
2394         xorl    %edx,%r13d
2395         pslld   $11,%xmm5
2396         addl    36(%rsp),%r10d
2397         movl    %r11d,%edi
2398         pxor    %xmm6,%xmm4
2399         xorl    %r9d,%r12d
2400         rorl    $11,%r14d
2401         movdqa  %xmm7,%xmm6
2402         xorl    %eax,%edi
2403         addl    %r12d,%r10d
2404         pxor    %xmm5,%xmm4
2405         rorl    $6,%r13d
2406         andl    %edi,%r15d
2407         xorl    %r11d,%r14d
2408         psrld   $10,%xmm7
2409         addl    %r13d,%r10d
2410         xorl    %eax,%r15d
2411         paddd   %xmm4,%xmm2
2412         rorl    $2,%r14d
2413         addl    %r10d,%ecx
2414         psrlq   $17,%xmm6
2415         addl    %r15d,%r10d
2416         movl    %ecx,%r13d
2417         addl    %r10d,%r14d
2418         pxor    %xmm6,%xmm7
2419         rorl    $14,%r13d
2420         movl    %r14d,%r10d
2421         movl    %edx,%r12d
2422         rorl    $9,%r14d
2423         psrlq   $2,%xmm6
2424         xorl    %ecx,%r13d
2425         xorl    %r8d,%r12d
2426         pxor    %xmm6,%xmm7
2427         rorl    $5,%r13d
2428         xorl    %r10d,%r14d
2429         andl    %ecx,%r12d
2430         pshufd  $128,%xmm7,%xmm7
2431         xorl    %ecx,%r13d
2432         addl    40(%rsp),%r9d
2433         movl    %r10d,%r15d
2434         psrldq  $8,%xmm7
2435         xorl    %r8d,%r12d
2436         rorl    $11,%r14d
2437         xorl    %r11d,%r15d
2438         addl    %r12d,%r9d
2439         rorl    $6,%r13d
2440         paddd   %xmm7,%xmm2
2441         andl    %r15d,%edi
2442         xorl    %r10d,%r14d
2443         addl    %r13d,%r9d
2444         pshufd  $80,%xmm2,%xmm7
2445         xorl    %r11d,%edi
2446         rorl    $2,%r14d
2447         addl    %r9d,%ebx
2448         movdqa  %xmm7,%xmm6
2449         addl    %edi,%r9d
2450         movl    %ebx,%r13d
2451         psrld   $10,%xmm7
2452         addl    %r9d,%r14d
2453         rorl    $14,%r13d
2454         psrlq   $17,%xmm6
2455         movl    %r14d,%r9d
2456         movl    %ecx,%r12d
2457         pxor    %xmm6,%xmm7
2458         rorl    $9,%r14d
2459         xorl    %ebx,%r13d
2460         xorl    %edx,%r12d
2461         rorl    $5,%r13d
2462         xorl    %r9d,%r14d
2463         psrlq   $2,%xmm6
2464         andl    %ebx,%r12d
2465         xorl    %ebx,%r13d
2466         addl    44(%rsp),%r8d
2467         pxor    %xmm6,%xmm7
2468         movl    %r9d,%edi
2469         xorl    %edx,%r12d
2470         rorl    $11,%r14d
2471         pshufd  $8,%xmm7,%xmm7
2472         xorl    %r10d,%edi
2473         addl    %r12d,%r8d
2474         movdqa  64(%rbp),%xmm6
2475         rorl    $6,%r13d
2476         andl    %edi,%r15d
2477         pslldq  $8,%xmm7
2478         xorl    %r9d,%r14d
2479         addl    %r13d,%r8d
2480         xorl    %r10d,%r15d
2481         paddd   %xmm7,%xmm2
2482         rorl    $2,%r14d
2483         addl    %r8d,%eax
2484         addl    %r15d,%r8d
2485         paddd   %xmm2,%xmm6
2486         movl    %eax,%r13d
2487         addl    %r8d,%r14d
2488         movdqa  %xmm6,32(%rsp)
2489         rorl    $14,%r13d
2490         movdqa  %xmm0,%xmm4
2491         movl    %r14d,%r8d
2492         movl    %ebx,%r12d
2493         movdqa  %xmm2,%xmm7
2494         rorl    $9,%r14d
2495         xorl    %eax,%r13d
2496         xorl    %ecx,%r12d
2497         rorl    $5,%r13d
2498         xorl    %r8d,%r14d
2499 .byte   102,15,58,15,227,4
2500         andl    %eax,%r12d
2501         xorl    %eax,%r13d
2502 .byte   102,15,58,15,249,4
2503         addl    48(%rsp),%edx
2504         movl    %r8d,%r15d
2505         xorl    %ecx,%r12d
2506         rorl    $11,%r14d
2507         movdqa  %xmm4,%xmm5
2508         xorl    %r9d,%r15d
2509         addl    %r12d,%edx
2510         movdqa  %xmm4,%xmm6
2511         rorl    $6,%r13d
2512         andl    %r15d,%edi
2513         psrld   $3,%xmm4
2514         xorl    %r8d,%r14d
2515         addl    %r13d,%edx
2516         xorl    %r9d,%edi
2517         paddd   %xmm7,%xmm3
2518         rorl    $2,%r14d
2519         addl    %edx,%r11d
2520         psrld   $7,%xmm6
2521         addl    %edi,%edx
2522         movl    %r11d,%r13d
2523         pshufd  $250,%xmm2,%xmm7
2524         addl    %edx,%r14d
2525         rorl    $14,%r13d
2526         pslld   $14,%xmm5
2527         movl    %r14d,%edx
2528         movl    %eax,%r12d
2529         pxor    %xmm6,%xmm4
2530         rorl    $9,%r14d
2531         xorl    %r11d,%r13d
2532         xorl    %ebx,%r12d
2533         rorl    $5,%r13d
2534         psrld   $11,%xmm6
2535         xorl    %edx,%r14d
2536         pxor    %xmm5,%xmm4
2537         andl    %r11d,%r12d
2538         xorl    %r11d,%r13d
2539         pslld   $11,%xmm5
2540         addl    52(%rsp),%ecx
2541         movl    %edx,%edi
2542         pxor    %xmm6,%xmm4
2543         xorl    %ebx,%r12d
2544         rorl    $11,%r14d
2545         movdqa  %xmm7,%xmm6
2546         xorl    %r8d,%edi
2547         addl    %r12d,%ecx
2548         pxor    %xmm5,%xmm4
2549         rorl    $6,%r13d
2550         andl    %edi,%r15d
2551         xorl    %edx,%r14d
2552         psrld   $10,%xmm7
2553         addl    %r13d,%ecx
2554         xorl    %r8d,%r15d
2555         paddd   %xmm4,%xmm3
2556         rorl    $2,%r14d
2557         addl    %ecx,%r10d
2558         psrlq   $17,%xmm6
2559         addl    %r15d,%ecx
2560         movl    %r10d,%r13d
2561         addl    %ecx,%r14d
2562         pxor    %xmm6,%xmm7
2563         rorl    $14,%r13d
2564         movl    %r14d,%ecx
2565         movl    %r11d,%r12d
2566         rorl    $9,%r14d
2567         psrlq   $2,%xmm6
2568         xorl    %r10d,%r13d
2569         xorl    %eax,%r12d
2570         pxor    %xmm6,%xmm7
2571         rorl    $5,%r13d
2572         xorl    %ecx,%r14d
2573         andl    %r10d,%r12d
2574         pshufd  $128,%xmm7,%xmm7
2575         xorl    %r10d,%r13d
2576         addl    56(%rsp),%ebx
2577         movl    %ecx,%r15d
2578         psrldq  $8,%xmm7
2579         xorl    %eax,%r12d
2580         rorl    $11,%r14d
2581         xorl    %edx,%r15d
2582         addl    %r12d,%ebx
2583         rorl    $6,%r13d
2584         paddd   %xmm7,%xmm3
2585         andl    %r15d,%edi
2586         xorl    %ecx,%r14d
2587         addl    %r13d,%ebx
2588         pshufd  $80,%xmm3,%xmm7
2589         xorl    %edx,%edi
2590         rorl    $2,%r14d
2591         addl    %ebx,%r9d
2592         movdqa  %xmm7,%xmm6
2593         addl    %edi,%ebx
2594         movl    %r9d,%r13d
2595         psrld   $10,%xmm7
2596         addl    %ebx,%r14d
2597         rorl    $14,%r13d
2598         psrlq   $17,%xmm6
2599         movl    %r14d,%ebx
2600         movl    %r10d,%r12d
2601         pxor    %xmm6,%xmm7
2602         rorl    $9,%r14d
2603         xorl    %r9d,%r13d
2604         xorl    %r11d,%r12d
2605         rorl    $5,%r13d
2606         xorl    %ebx,%r14d
2607         psrlq   $2,%xmm6
2608         andl    %r9d,%r12d
2609         xorl    %r9d,%r13d
2610         addl    60(%rsp),%eax
2611         pxor    %xmm6,%xmm7
2612         movl    %ebx,%edi
2613         xorl    %r11d,%r12d
2614         rorl    $11,%r14d
2615         pshufd  $8,%xmm7,%xmm7
2616         xorl    %ecx,%edi
2617         addl    %r12d,%eax
2618         movdqa  96(%rbp),%xmm6
2619         rorl    $6,%r13d
2620         andl    %edi,%r15d
2621         pslldq  $8,%xmm7
2622         xorl    %ebx,%r14d
2623         addl    %r13d,%eax
2624         xorl    %ecx,%r15d
2625         paddd   %xmm7,%xmm3
2626         rorl    $2,%r14d
2627         addl    %eax,%r8d
2628         addl    %r15d,%eax
2629         paddd   %xmm3,%xmm6
2630         movl    %r8d,%r13d
2631         addl    %eax,%r14d
2632         movdqa  %xmm6,48(%rsp)
2633         cmpb    $0,131(%rbp)
2634         jne     .Lssse3_00_47
2635         rorl    $14,%r13d
2636         movl    %r14d,%eax
2637         movl    %r9d,%r12d
2638         rorl    $9,%r14d
2639         xorl    %r8d,%r13d
2640         xorl    %r10d,%r12d
2641         rorl    $5,%r13d
2642         xorl    %eax,%r14d
2643         andl    %r8d,%r12d
2644         xorl    %r8d,%r13d
2645         addl    0(%rsp),%r11d
2646         movl    %eax,%r15d
2647         xorl    %r10d,%r12d
2648         rorl    $11,%r14d
2649         xorl    %ebx,%r15d
2650         addl    %r12d,%r11d
2651         rorl    $6,%r13d
2652         andl    %r15d,%edi
2653         xorl    %eax,%r14d
2654         addl    %r13d,%r11d
2655         xorl    %ebx,%edi
2656         rorl    $2,%r14d
2657         addl    %r11d,%edx
2658         addl    %edi,%r11d
2659         movl    %edx,%r13d
2660         addl    %r11d,%r14d
2661         rorl    $14,%r13d
2662         movl    %r14d,%r11d
2663         movl    %r8d,%r12d
2664         rorl    $9,%r14d
2665         xorl    %edx,%r13d
2666         xorl    %r9d,%r12d
2667         rorl    $5,%r13d
2668         xorl    %r11d,%r14d
2669         andl    %edx,%r12d
2670         xorl    %edx,%r13d
2671         addl    4(%rsp),%r10d
2672         movl    %r11d,%edi
2673         xorl    %r9d,%r12d
2674         rorl    $11,%r14d
2675         xorl    %eax,%edi
2676         addl    %r12d,%r10d
2677         rorl    $6,%r13d
2678         andl    %edi,%r15d
2679         xorl    %r11d,%r14d
2680         addl    %r13d,%r10d
2681         xorl    %eax,%r15d
2682         rorl    $2,%r14d
2683         addl    %r10d,%ecx
2684         addl    %r15d,%r10d
2685         movl    %ecx,%r13d
2686         addl    %r10d,%r14d
2687         rorl    $14,%r13d
2688         movl    %r14d,%r10d
2689         movl    %edx,%r12d
2690         rorl    $9,%r14d
2691         xorl    %ecx,%r13d
2692         xorl    %r8d,%r12d
2693         rorl    $5,%r13d
2694         xorl    %r10d,%r14d
2695         andl    %ecx,%r12d
2696         xorl    %ecx,%r13d
2697         addl    8(%rsp),%r9d
2698         movl    %r10d,%r15d
2699         xorl    %r8d,%r12d
2700         rorl    $11,%r14d
2701         xorl    %r11d,%r15d
2702         addl    %r12d,%r9d
2703         rorl    $6,%r13d
2704         andl    %r15d,%edi
2705         xorl    %r10d,%r14d
2706         addl    %r13d,%r9d
2707         xorl    %r11d,%edi
2708         rorl    $2,%r14d
2709         addl    %r9d,%ebx
2710         addl    %edi,%r9d
2711         movl    %ebx,%r13d
2712         addl    %r9d,%r14d
2713         rorl    $14,%r13d
2714         movl    %r14d,%r9d
2715         movl    %ecx,%r12d
2716         rorl    $9,%r14d
2717         xorl    %ebx,%r13d
2718         xorl    %edx,%r12d
2719         rorl    $5,%r13d
2720         xorl    %r9d,%r14d
2721         andl    %ebx,%r12d
2722         xorl    %ebx,%r13d
2723         addl    12(%rsp),%r8d
2724         movl    %r9d,%edi
2725         xorl    %edx,%r12d
2726         rorl    $11,%r14d
2727         xorl    %r10d,%edi
2728         addl    %r12d,%r8d
2729         rorl    $6,%r13d
2730         andl    %edi,%r15d
2731         xorl    %r9d,%r14d
2732         addl    %r13d,%r8d
2733         xorl    %r10d,%r15d
2734         rorl    $2,%r14d
2735         addl    %r8d,%eax
2736         addl    %r15d,%r8d
2737         movl    %eax,%r13d
2738         addl    %r8d,%r14d
2739         rorl    $14,%r13d
2740         movl    %r14d,%r8d
2741         movl    %ebx,%r12d
2742         rorl    $9,%r14d
2743         xorl    %eax,%r13d
2744         xorl    %ecx,%r12d
2745         rorl    $5,%r13d
2746         xorl    %r8d,%r14d
2747         andl    %eax,%r12d
2748         xorl    %eax,%r13d
2749         addl    16(%rsp),%edx
2750         movl    %r8d,%r15d
2751         xorl    %ecx,%r12d
2752         rorl    $11,%r14d
2753         xorl    %r9d,%r15d
2754         addl    %r12d,%edx
2755         rorl    $6,%r13d
2756         andl    %r15d,%edi
2757         xorl    %r8d,%r14d
2758         addl    %r13d,%edx
2759         xorl    %r9d,%edi
2760         rorl    $2,%r14d
2761         addl    %edx,%r11d
2762         addl    %edi,%edx
2763         movl    %r11d,%r13d
2764         addl    %edx,%r14d
2765         rorl    $14,%r13d
2766         movl    %r14d,%edx
2767         movl    %eax,%r12d
2768         rorl    $9,%r14d
2769         xorl    %r11d,%r13d
2770         xorl    %ebx,%r12d
2771         rorl    $5,%r13d
2772         xorl    %edx,%r14d
2773         andl    %r11d,%r12d
2774         xorl    %r11d,%r13d
2775         addl    20(%rsp),%ecx
2776         movl    %edx,%edi
2777         xorl    %ebx,%r12d
2778         rorl    $11,%r14d
2779         xorl    %r8d,%edi
2780         addl    %r12d,%ecx
2781         rorl    $6,%r13d
2782         andl    %edi,%r15d
2783         xorl    %edx,%r14d
2784         addl    %r13d,%ecx
2785         xorl    %r8d,%r15d
2786         rorl    $2,%r14d
2787         addl    %ecx,%r10d
2788         addl    %r15d,%ecx
2789         movl    %r10d,%r13d
2790         addl    %ecx,%r14d
2791         rorl    $14,%r13d
2792         movl    %r14d,%ecx
2793         movl    %r11d,%r12d
2794         rorl    $9,%r14d
2795         xorl    %r10d,%r13d
2796         xorl    %eax,%r12d
2797         rorl    $5,%r13d
2798         xorl    %ecx,%r14d
2799         andl    %r10d,%r12d
2800         xorl    %r10d,%r13d
2801         addl    24(%rsp),%ebx
2802         movl    %ecx,%r15d
2803         xorl    %eax,%r12d
2804         rorl    $11,%r14d
2805         xorl    %edx,%r15d
2806         addl    %r12d,%ebx
2807         rorl    $6,%r13d
2808         andl    %r15d,%edi
2809         xorl    %ecx,%r14d
2810         addl    %r13d,%ebx
2811         xorl    %edx,%edi
2812         rorl    $2,%r14d
2813         addl    %ebx,%r9d
2814         addl    %edi,%ebx
2815         movl    %r9d,%r13d
2816         addl    %ebx,%r14d
2817         rorl    $14,%r13d
2818         movl    %r14d,%ebx
2819         movl    %r10d,%r12d
2820         rorl    $9,%r14d
2821         xorl    %r9d,%r13d
2822         xorl    %r11d,%r12d
2823         rorl    $5,%r13d
2824         xorl    %ebx,%r14d
2825         andl    %r9d,%r12d
2826         xorl    %r9d,%r13d
2827         addl    28(%rsp),%eax
2828         movl    %ebx,%edi
2829         xorl    %r11d,%r12d
2830         rorl    $11,%r14d
2831         xorl    %ecx,%edi
2832         addl    %r12d,%eax
2833         rorl    $6,%r13d
2834         andl    %edi,%r15d
2835         xorl    %ebx,%r14d
2836         addl    %r13d,%eax
2837         xorl    %ecx,%r15d
2838         rorl    $2,%r14d
2839         addl    %eax,%r8d
2840         addl    %r15d,%eax
2841         movl    %r8d,%r13d
2842         addl    %eax,%r14d
2843         rorl    $14,%r13d
2844         movl    %r14d,%eax
2845         movl    %r9d,%r12d
2846         rorl    $9,%r14d
2847         xorl    %r8d,%r13d
2848         xorl    %r10d,%r12d
2849         rorl    $5,%r13d
2850         xorl    %eax,%r14d
2851         andl    %r8d,%r12d
2852         xorl    %r8d,%r13d
2853         addl    32(%rsp),%r11d
2854         movl    %eax,%r15d
2855         xorl    %r10d,%r12d
2856         rorl    $11,%r14d
2857         xorl    %ebx,%r15d
2858         addl    %r12d,%r11d
2859         rorl    $6,%r13d
2860         andl    %r15d,%edi
2861         xorl    %eax,%r14d
2862         addl    %r13d,%r11d
2863         xorl    %ebx,%edi
2864         rorl    $2,%r14d
2865         addl    %r11d,%edx
2866         addl    %edi,%r11d
2867         movl    %edx,%r13d
2868         addl    %r11d,%r14d
2869         rorl    $14,%r13d
2870         movl    %r14d,%r11d
2871         movl    %r8d,%r12d
2872         rorl    $9,%r14d
2873         xorl    %edx,%r13d
2874         xorl    %r9d,%r12d
2875         rorl    $5,%r13d
2876         xorl    %r11d,%r14d
2877         andl    %edx,%r12d
2878         xorl    %edx,%r13d
2879         addl    36(%rsp),%r10d
2880         movl    %r11d,%edi
2881         xorl    %r9d,%r12d
2882         rorl    $11,%r14d
2883         xorl    %eax,%edi
2884         addl    %r12d,%r10d
2885         rorl    $6,%r13d
2886         andl    %edi,%r15d
2887         xorl    %r11d,%r14d
2888         addl    %r13d,%r10d
2889         xorl    %eax,%r15d
2890         rorl    $2,%r14d
2891         addl    %r10d,%ecx
2892         addl    %r15d,%r10d
2893         movl    %ecx,%r13d
2894         addl    %r10d,%r14d
2895         rorl    $14,%r13d
2896         movl    %r14d,%r10d
2897         movl    %edx,%r12d
2898         rorl    $9,%r14d
2899         xorl    %ecx,%r13d
2900         xorl    %r8d,%r12d
2901         rorl    $5,%r13d
2902         xorl    %r10d,%r14d
2903         andl    %ecx,%r12d
2904         xorl    %ecx,%r13d
2905         addl    40(%rsp),%r9d
2906         movl    %r10d,%r15d
2907         xorl    %r8d,%r12d
2908         rorl    $11,%r14d
2909         xorl    %r11d,%r15d
2910         addl    %r12d,%r9d
2911         rorl    $6,%r13d
2912         andl    %r15d,%edi
2913         xorl    %r10d,%r14d
2914         addl    %r13d,%r9d
2915         xorl    %r11d,%edi
2916         rorl    $2,%r14d
2917         addl    %r9d,%ebx
2918         addl    %edi,%r9d
2919         movl    %ebx,%r13d
2920         addl    %r9d,%r14d
2921         rorl    $14,%r13d
2922         movl    %r14d,%r9d
2923         movl    %ecx,%r12d
2924         rorl    $9,%r14d
2925         xorl    %ebx,%r13d
2926         xorl    %edx,%r12d
2927         rorl    $5,%r13d
2928         xorl    %r9d,%r14d
2929         andl    %ebx,%r12d
2930         xorl    %ebx,%r13d
2931         addl    44(%rsp),%r8d
2932         movl    %r9d,%edi
2933         xorl    %edx,%r12d
2934         rorl    $11,%r14d
2935         xorl    %r10d,%edi
2936         addl    %r12d,%r8d
2937         rorl    $6,%r13d
2938         andl    %edi,%r15d
2939         xorl    %r9d,%r14d
2940         addl    %r13d,%r8d
2941         xorl    %r10d,%r15d
2942         rorl    $2,%r14d
2943         addl    %r8d,%eax
2944         addl    %r15d,%r8d
2945         movl    %eax,%r13d
2946         addl    %r8d,%r14d
2947         rorl    $14,%r13d
2948         movl    %r14d,%r8d
2949         movl    %ebx,%r12d
2950         rorl    $9,%r14d
2951         xorl    %eax,%r13d
2952         xorl    %ecx,%r12d
2953         rorl    $5,%r13d
2954         xorl    %r8d,%r14d
2955         andl    %eax,%r12d
2956         xorl    %eax,%r13d
2957         addl    48(%rsp),%edx
2958         movl    %r8d,%r15d
2959         xorl    %ecx,%r12d
2960         rorl    $11,%r14d
2961         xorl    %r9d,%r15d
2962         addl    %r12d,%edx
2963         rorl    $6,%r13d
2964         andl    %r15d,%edi
2965         xorl    %r8d,%r14d
2966         addl    %r13d,%edx
2967         xorl    %r9d,%edi
2968         rorl    $2,%r14d
2969         addl    %edx,%r11d
2970         addl    %edi,%edx
2971         movl    %r11d,%r13d
2972         addl    %edx,%r14d
2973         rorl    $14,%r13d
2974         movl    %r14d,%edx
2975         movl    %eax,%r12d
2976         rorl    $9,%r14d
2977         xorl    %r11d,%r13d
2978         xorl    %ebx,%r12d
2979         rorl    $5,%r13d
2980         xorl    %edx,%r14d
2981         andl    %r11d,%r12d
2982         xorl    %r11d,%r13d
2983         addl    52(%rsp),%ecx
2984         movl    %edx,%edi
2985         xorl    %ebx,%r12d
2986         rorl    $11,%r14d
2987         xorl    %r8d,%edi
2988         addl    %r12d,%ecx
2989         rorl    $6,%r13d
2990         andl    %edi,%r15d
2991         xorl    %edx,%r14d
2992         addl    %r13d,%ecx
2993         xorl    %r8d,%r15d
2994         rorl    $2,%r14d
2995         addl    %ecx,%r10d
2996         addl    %r15d,%ecx
2997         movl    %r10d,%r13d
2998         addl    %ecx,%r14d
2999         rorl    $14,%r13d
3000         movl    %r14d,%ecx
3001         movl    %r11d,%r12d
3002         rorl    $9,%r14d
3003         xorl    %r10d,%r13d
3004         xorl    %eax,%r12d
3005         rorl    $5,%r13d
3006         xorl    %ecx,%r14d
3007         andl    %r10d,%r12d
3008         xorl    %r10d,%r13d
3009         addl    56(%rsp),%ebx
3010         movl    %ecx,%r15d
3011         xorl    %eax,%r12d
3012         rorl    $11,%r14d
3013         xorl    %edx,%r15d
3014         addl    %r12d,%ebx
3015         rorl    $6,%r13d
3016         andl    %r15d,%edi
3017         xorl    %ecx,%r14d
3018         addl    %r13d,%ebx
3019         xorl    %edx,%edi
3020         rorl    $2,%r14d
3021         addl    %ebx,%r9d
3022         addl    %edi,%ebx
3023         movl    %r9d,%r13d
3024         addl    %ebx,%r14d
3025         rorl    $14,%r13d
3026         movl    %r14d,%ebx
3027         movl    %r10d,%r12d
3028         rorl    $9,%r14d
3029         xorl    %r9d,%r13d
3030         xorl    %r11d,%r12d
3031         rorl    $5,%r13d
3032         xorl    %ebx,%r14d
3033         andl    %r9d,%r12d
3034         xorl    %r9d,%r13d
3035         addl    60(%rsp),%eax
3036         movl    %ebx,%edi
3037         xorl    %r11d,%r12d
3038         rorl    $11,%r14d
3039         xorl    %ecx,%edi
3040         addl    %r12d,%eax
3041         rorl    $6,%r13d
3042         andl    %edi,%r15d
3043         xorl    %ebx,%r14d
3044         addl    %r13d,%eax
3045         xorl    %ecx,%r15d
3046         rorl    $2,%r14d
3047         addl    %eax,%r8d
3048         addl    %r15d,%eax
3049         movl    %r8d,%r13d
3050         addl    %eax,%r14d
3051         movq    64+0(%rsp),%rdi
3052         movl    %r14d,%eax
3053
3054         addl    0(%rdi),%eax
3055         leaq    64(%rsi),%rsi
3056         addl    4(%rdi),%ebx
3057         addl    8(%rdi),%ecx
3058         addl    12(%rdi),%edx
3059         addl    16(%rdi),%r8d
3060         addl    20(%rdi),%r9d
3061         addl    24(%rdi),%r10d
3062         addl    28(%rdi),%r11d
3063
3064         cmpq    64+16(%rsp),%rsi
3065
3066         movl    %eax,0(%rdi)
3067         movl    %ebx,4(%rdi)
3068         movl    %ecx,8(%rdi)
3069         movl    %edx,12(%rdi)
3070         movl    %r8d,16(%rdi)
3071         movl    %r9d,20(%rdi)
3072         movl    %r10d,24(%rdi)
3073         movl    %r11d,28(%rdi)
3074         jb      .Lloop_ssse3
3075
3076         movq    88(%rsp),%rsi
3077 .cfi_def_cfa    %rsi,8
3078         movq    -48(%rsi),%r15
3079 .cfi_restore    %r15
3080         movq    -40(%rsi),%r14
3081 .cfi_restore    %r14
3082         movq    -32(%rsi),%r13
3083 .cfi_restore    %r13
3084         movq    -24(%rsi),%r12
3085 .cfi_restore    %r12
3086         movq    -16(%rsi),%rbp
3087 .cfi_restore    %rbp
3088         movq    -8(%rsi),%rbx
3089 .cfi_restore    %rbx
3090         leaq    (%rsi),%rsp
3091 .cfi_def_cfa_register   %rsp
3092 .Lepilogue_ssse3:
3093         .byte   0xf3,0xc3
3094 .cfi_endproc    
3095 .size   sha256_block_data_order_ssse3,.-sha256_block_data_order_ssse3
3096 .type   sha256_block_data_order_avx,@function
3097 .align  64
3098 sha256_block_data_order_avx:
3099 .cfi_startproc  
3100 .Lavx_shortcut:
3101         movq    %rsp,%rax
3102 .cfi_def_cfa_register   %rax
3103         pushq   %rbx
3104 .cfi_offset     %rbx,-16
3105         pushq   %rbp
3106 .cfi_offset     %rbp,-24
3107         pushq   %r12
3108 .cfi_offset     %r12,-32
3109         pushq   %r13
3110 .cfi_offset     %r13,-40
3111         pushq   %r14
3112 .cfi_offset     %r14,-48
3113         pushq   %r15
3114 .cfi_offset     %r15,-56
3115         shlq    $4,%rdx
3116         subq    $96,%rsp
3117         leaq    (%rsi,%rdx,4),%rdx
3118         andq    $-64,%rsp
3119         movq    %rdi,64+0(%rsp)
3120         movq    %rsi,64+8(%rsp)
3121         movq    %rdx,64+16(%rsp)
3122         movq    %rax,88(%rsp)
3123 .cfi_escape     0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
3124 .Lprologue_avx:
3125
3126         vzeroupper
3127         movl    0(%rdi),%eax
3128         movl    4(%rdi),%ebx
3129         movl    8(%rdi),%ecx
3130         movl    12(%rdi),%edx
3131         movl    16(%rdi),%r8d
3132         movl    20(%rdi),%r9d
3133         movl    24(%rdi),%r10d
3134         movl    28(%rdi),%r11d
3135         vmovdqa K256+512+32(%rip),%xmm8
3136         vmovdqa K256+512+64(%rip),%xmm9
3137         jmp     .Lloop_avx
3138 .align  16
3139 .Lloop_avx:
3140         vmovdqa K256+512(%rip),%xmm7
3141         vmovdqu 0(%rsi),%xmm0
3142         vmovdqu 16(%rsi),%xmm1
3143         vmovdqu 32(%rsi),%xmm2
3144         vmovdqu 48(%rsi),%xmm3
3145         vpshufb %xmm7,%xmm0,%xmm0
3146         leaq    K256(%rip),%rbp
3147         vpshufb %xmm7,%xmm1,%xmm1
3148         vpshufb %xmm7,%xmm2,%xmm2
3149         vpaddd  0(%rbp),%xmm0,%xmm4
3150         vpshufb %xmm7,%xmm3,%xmm3
3151         vpaddd  32(%rbp),%xmm1,%xmm5
3152         vpaddd  64(%rbp),%xmm2,%xmm6
3153         vpaddd  96(%rbp),%xmm3,%xmm7
3154         vmovdqa %xmm4,0(%rsp)
3155         movl    %eax,%r14d
3156         vmovdqa %xmm5,16(%rsp)
3157         movl    %ebx,%edi
3158         vmovdqa %xmm6,32(%rsp)
3159         xorl    %ecx,%edi
3160         vmovdqa %xmm7,48(%rsp)
3161         movl    %r8d,%r13d
3162         jmp     .Lavx_00_47
3163
3164 .align  16
3165 .Lavx_00_47:
3166         subq    $-128,%rbp
3167         vpalignr        $4,%xmm0,%xmm1,%xmm4
3168         shrdl   $14,%r13d,%r13d
3169         movl    %r14d,%eax
3170         movl    %r9d,%r12d
3171         vpalignr        $4,%xmm2,%xmm3,%xmm7
3172         shrdl   $9,%r14d,%r14d
3173         xorl    %r8d,%r13d
3174         xorl    %r10d,%r12d
3175         vpsrld  $7,%xmm4,%xmm6
3176         shrdl   $5,%r13d,%r13d
3177         xorl    %eax,%r14d
3178         andl    %r8d,%r12d
3179         vpaddd  %xmm7,%xmm0,%xmm0
3180         xorl    %r8d,%r13d
3181         addl    0(%rsp),%r11d
3182         movl    %eax,%r15d
3183         vpsrld  $3,%xmm4,%xmm7
3184         xorl    %r10d,%r12d
3185         shrdl   $11,%r14d,%r14d
3186         xorl    %ebx,%r15d
3187         vpslld  $14,%xmm4,%xmm5
3188         addl    %r12d,%r11d
3189         shrdl   $6,%r13d,%r13d
3190         andl    %r15d,%edi
3191         vpxor   %xmm6,%xmm7,%xmm4
3192         xorl    %eax,%r14d
3193         addl    %r13d,%r11d
3194         xorl    %ebx,%edi
3195         vpshufd $250,%xmm3,%xmm7
3196         shrdl   $2,%r14d,%r14d
3197         addl    %r11d,%edx
3198         addl    %edi,%r11d
3199         vpsrld  $11,%xmm6,%xmm6
3200         movl    %edx,%r13d
3201         addl    %r11d,%r14d
3202         shrdl   $14,%r13d,%r13d
3203         vpxor   %xmm5,%xmm4,%xmm4
3204         movl    %r14d,%r11d
3205         movl    %r8d,%r12d
3206         shrdl   $9,%r14d,%r14d
3207         vpslld  $11,%xmm5,%xmm5
3208         xorl    %edx,%r13d
3209         xorl    %r9d,%r12d
3210         shrdl   $5,%r13d,%r13d
3211         vpxor   %xmm6,%xmm4,%xmm4
3212         xorl    %r11d,%r14d
3213         andl    %edx,%r12d
3214         xorl    %edx,%r13d
3215         vpsrld  $10,%xmm7,%xmm6
3216         addl    4(%rsp),%r10d
3217         movl    %r11d,%edi
3218         xorl    %r9d,%r12d
3219         vpxor   %xmm5,%xmm4,%xmm4
3220         shrdl   $11,%r14d,%r14d
3221         xorl    %eax,%edi
3222         addl    %r12d,%r10d
3223         vpsrlq  $17,%xmm7,%xmm7
3224         shrdl   $6,%r13d,%r13d
3225         andl    %edi,%r15d
3226         xorl    %r11d,%r14d
3227         vpaddd  %xmm4,%xmm0,%xmm0
3228         addl    %r13d,%r10d
3229         xorl    %eax,%r15d
3230         shrdl   $2,%r14d,%r14d
3231         vpxor   %xmm7,%xmm6,%xmm6
3232         addl    %r10d,%ecx
3233         addl    %r15d,%r10d
3234         movl    %ecx,%r13d
3235         vpsrlq  $2,%xmm7,%xmm7
3236         addl    %r10d,%r14d
3237         shrdl   $14,%r13d,%r13d
3238         movl    %r14d,%r10d
3239         vpxor   %xmm7,%xmm6,%xmm6
3240         movl    %edx,%r12d
3241         shrdl   $9,%r14d,%r14d
3242         xorl    %ecx,%r13d
3243         vpshufb %xmm8,%xmm6,%xmm6
3244         xorl    %r8d,%r12d
3245         shrdl   $5,%r13d,%r13d
3246         xorl    %r10d,%r14d
3247         vpaddd  %xmm6,%xmm0,%xmm0
3248         andl    %ecx,%r12d
3249         xorl    %ecx,%r13d
3250         addl    8(%rsp),%r9d
3251         vpshufd $80,%xmm0,%xmm7
3252         movl    %r10d,%r15d
3253         xorl    %r8d,%r12d
3254         shrdl   $11,%r14d,%r14d
3255         vpsrld  $10,%xmm7,%xmm6
3256         xorl    %r11d,%r15d
3257         addl    %r12d,%r9d
3258         shrdl   $6,%r13d,%r13d
3259         vpsrlq  $17,%xmm7,%xmm7
3260         andl    %r15d,%edi
3261         xorl    %r10d,%r14d
3262         addl    %r13d,%r9d
3263         vpxor   %xmm7,%xmm6,%xmm6
3264         xorl    %r11d,%edi
3265         shrdl   $2,%r14d,%r14d
3266         addl    %r9d,%ebx
3267         vpsrlq  $2,%xmm7,%xmm7
3268         addl    %edi,%r9d
3269         movl    %ebx,%r13d
3270         addl    %r9d,%r14d
3271         vpxor   %xmm7,%xmm6,%xmm6
3272         shrdl   $14,%r13d,%r13d
3273         movl    %r14d,%r9d
3274         movl    %ecx,%r12d
3275         vpshufb %xmm9,%xmm6,%xmm6
3276         shrdl   $9,%r14d,%r14d
3277         xorl    %ebx,%r13d
3278         xorl    %edx,%r12d
3279         vpaddd  %xmm6,%xmm0,%xmm0
3280         shrdl   $5,%r13d,%r13d
3281         xorl    %r9d,%r14d
3282         andl    %ebx,%r12d
3283         vpaddd  0(%rbp),%xmm0,%xmm6
3284         xorl    %ebx,%r13d
3285         addl    12(%rsp),%r8d
3286         movl    %r9d,%edi
3287         xorl    %edx,%r12d
3288         shrdl   $11,%r14d,%r14d
3289         xorl    %r10d,%edi
3290         addl    %r12d,%r8d
3291         shrdl   $6,%r13d,%r13d
3292         andl    %edi,%r15d
3293         xorl    %r9d,%r14d
3294         addl    %r13d,%r8d
3295         xorl    %r10d,%r15d
3296         shrdl   $2,%r14d,%r14d
3297         addl    %r8d,%eax
3298         addl    %r15d,%r8d
3299         movl    %eax,%r13d
3300         addl    %r8d,%r14d
3301         vmovdqa %xmm6,0(%rsp)
3302         vpalignr        $4,%xmm1,%xmm2,%xmm4
3303         shrdl   $14,%r13d,%r13d
3304         movl    %r14d,%r8d
3305         movl    %ebx,%r12d
3306         vpalignr        $4,%xmm3,%xmm0,%xmm7
3307         shrdl   $9,%r14d,%r14d
3308         xorl    %eax,%r13d
3309         xorl    %ecx,%r12d
3310         vpsrld  $7,%xmm4,%xmm6
3311         shrdl   $5,%r13d,%r13d
3312         xorl    %r8d,%r14d
3313         andl    %eax,%r12d
3314         vpaddd  %xmm7,%xmm1,%xmm1
3315         xorl    %eax,%r13d
3316         addl    16(%rsp),%edx
3317         movl    %r8d,%r15d
3318         vpsrld  $3,%xmm4,%xmm7
3319         xorl    %ecx,%r12d
3320         shrdl   $11,%r14d,%r14d
3321         xorl    %r9d,%r15d
3322         vpslld  $14,%xmm4,%xmm5
3323         addl    %r12d,%edx
3324         shrdl   $6,%r13d,%r13d
3325         andl    %r15d,%edi
3326         vpxor   %xmm6,%xmm7,%xmm4
3327         xorl    %r8d,%r14d
3328         addl    %r13d,%edx
3329         xorl    %r9d,%edi
3330         vpshufd $250,%xmm0,%xmm7
3331         shrdl   $2,%r14d,%r14d
3332         addl    %edx,%r11d
3333         addl    %edi,%edx
3334         vpsrld  $11,%xmm6,%xmm6
3335         movl    %r11d,%r13d
3336         addl    %edx,%r14d
3337         shrdl   $14,%r13d,%r13d
3338         vpxor   %xmm5,%xmm4,%xmm4
3339         movl    %r14d,%edx
3340         movl    %eax,%r12d
3341         shrdl   $9,%r14d,%r14d
3342         vpslld  $11,%xmm5,%xmm5
3343         xorl    %r11d,%r13d
3344         xorl    %ebx,%r12d
3345         shrdl   $5,%r13d,%r13d
3346         vpxor   %xmm6,%xmm4,%xmm4
3347         xorl    %edx,%r14d
3348         andl    %r11d,%r12d
3349         xorl    %r11d,%r13d
3350         vpsrld  $10,%xmm7,%xmm6
3351         addl    20(%rsp),%ecx
3352         movl    %edx,%edi
3353         xorl    %ebx,%r12d
3354         vpxor   %xmm5,%xmm4,%xmm4
3355         shrdl   $11,%r14d,%r14d
3356         xorl    %r8d,%edi
3357         addl    %r12d,%ecx
3358         vpsrlq  $17,%xmm7,%xmm7
3359         shrdl   $6,%r13d,%r13d
3360         andl    %edi,%r15d
3361         xorl    %edx,%r14d
3362         vpaddd  %xmm4,%xmm1,%xmm1
3363         addl    %r13d,%ecx
3364         xorl    %r8d,%r15d
3365         shrdl   $2,%r14d,%r14d
3366         vpxor   %xmm7,%xmm6,%xmm6
3367         addl    %ecx,%r10d
3368         addl    %r15d,%ecx
3369         movl    %r10d,%r13d
3370         vpsrlq  $2,%xmm7,%xmm7
3371         addl    %ecx,%r14d
3372         shrdl   $14,%r13d,%r13d
3373         movl    %r14d,%ecx
3374         vpxor   %xmm7,%xmm6,%xmm6
3375         movl    %r11d,%r12d
3376         shrdl   $9,%r14d,%r14d
3377         xorl    %r10d,%r13d
3378         vpshufb %xmm8,%xmm6,%xmm6
3379         xorl    %eax,%r12d
3380         shrdl   $5,%r13d,%r13d
3381         xorl    %ecx,%r14d
3382         vpaddd  %xmm6,%xmm1,%xmm1
3383         andl    %r10d,%r12d
3384         xorl    %r10d,%r13d
3385         addl    24(%rsp),%ebx
3386         vpshufd $80,%xmm1,%xmm7
3387         movl    %ecx,%r15d
3388         xorl    %eax,%r12d
3389         shrdl   $11,%r14d,%r14d
3390         vpsrld  $10,%xmm7,%xmm6
3391         xorl    %edx,%r15d
3392         addl    %r12d,%ebx
3393         shrdl   $6,%r13d,%r13d
3394         vpsrlq  $17,%xmm7,%xmm7
3395         andl    %r15d,%edi
3396         xorl    %ecx,%r14d
3397         addl    %r13d,%ebx
3398         vpxor   %xmm7,%xmm6,%xmm6
3399         xorl    %edx,%edi
3400         shrdl   $2,%r14d,%r14d
3401         addl    %ebx,%r9d
3402         vpsrlq  $2,%xmm7,%xmm7
3403         addl    %edi,%ebx
3404         movl    %r9d,%r13d
3405         addl    %ebx,%r14d
3406         vpxor   %xmm7,%xmm6,%xmm6
3407         shrdl   $14,%r13d,%r13d
3408         movl    %r14d,%ebx
3409         movl    %r10d,%r12d
3410         vpshufb %xmm9,%xmm6,%xmm6
3411         shrdl   $9,%r14d,%r14d
3412         xorl    %r9d,%r13d
3413         xorl    %r11d,%r12d
3414         vpaddd  %xmm6,%xmm1,%xmm1
3415         shrdl   $5,%r13d,%r13d
3416         xorl    %ebx,%r14d
3417         andl    %r9d,%r12d
3418         vpaddd  32(%rbp),%xmm1,%xmm6
3419         xorl    %r9d,%r13d
3420         addl    28(%rsp),%eax
3421         movl    %ebx,%edi
3422         xorl    %r11d,%r12d
3423         shrdl   $11,%r14d,%r14d
3424         xorl    %ecx,%edi
3425         addl    %r12d,%eax
3426         shrdl   $6,%r13d,%r13d
3427         andl    %edi,%r15d
3428         xorl    %ebx,%r14d
3429         addl    %r13d,%eax
3430         xorl    %ecx,%r15d
3431         shrdl   $2,%r14d,%r14d
3432         addl    %eax,%r8d
3433         addl    %r15d,%eax
3434         movl    %r8d,%r13d
3435         addl    %eax,%r14d
3436         vmovdqa %xmm6,16(%rsp)
3437         vpalignr        $4,%xmm2,%xmm3,%xmm4
3438         shrdl   $14,%r13d,%r13d
3439         movl    %r14d,%eax
3440         movl    %r9d,%r12d
3441         vpalignr        $4,%xmm0,%xmm1,%xmm7
3442         shrdl   $9,%r14d,%r14d
3443         xorl    %r8d,%r13d
3444         xorl    %r10d,%r12d
3445         vpsrld  $7,%xmm4,%xmm6
3446         shrdl   $5,%r13d,%r13d
3447         xorl    %eax,%r14d
3448         andl    %r8d,%r12d
3449         vpaddd  %xmm7,%xmm2,%xmm2
3450         xorl    %r8d,%r13d
3451         addl    32(%rsp),%r11d
3452         movl    %eax,%r15d
3453         vpsrld  $3,%xmm4,%xmm7
3454         xorl    %r10d,%r12d
3455         shrdl   $11,%r14d,%r14d
3456         xorl    %ebx,%r15d
3457         vpslld  $14,%xmm4,%xmm5
3458         addl    %r12d,%r11d
3459         shrdl   $6,%r13d,%r13d
3460         andl    %r15d,%edi
3461         vpxor   %xmm6,%xmm7,%xmm4
3462         xorl    %eax,%r14d
3463         addl    %r13d,%r11d
3464         xorl    %ebx,%edi
3465         vpshufd $250,%xmm1,%xmm7
3466         shrdl   $2,%r14d,%r14d
3467         addl    %r11d,%edx
3468         addl    %edi,%r11d
3469         vpsrld  $11,%xmm6,%xmm6
3470         movl    %edx,%r13d
3471         addl    %r11d,%r14d
3472         shrdl   $14,%r13d,%r13d
3473         vpxor   %xmm5,%xmm4,%xmm4
3474         movl    %r14d,%r11d
3475         movl    %r8d,%r12d
3476         shrdl   $9,%r14d,%r14d
3477         vpslld  $11,%xmm5,%xmm5
3478         xorl    %edx,%r13d
3479         xorl    %r9d,%r12d
3480         shrdl   $5,%r13d,%r13d
3481         vpxor   %xmm6,%xmm4,%xmm4
3482         xorl    %r11d,%r14d
3483         andl    %edx,%r12d
3484         xorl    %edx,%r13d
3485         vpsrld  $10,%xmm7,%xmm6
3486         addl    36(%rsp),%r10d
3487         movl    %r11d,%edi
3488         xorl    %r9d,%r12d
3489         vpxor   %xmm5,%xmm4,%xmm4
3490         shrdl   $11,%r14d,%r14d
3491         xorl    %eax,%edi
3492         addl    %r12d,%r10d
3493         vpsrlq  $17,%xmm7,%xmm7
3494         shrdl   $6,%r13d,%r13d
3495         andl    %edi,%r15d
3496         xorl    %r11d,%r14d
3497         vpaddd  %xmm4,%xmm2,%xmm2
3498         addl    %r13d,%r10d
3499         xorl    %eax,%r15d
3500         shrdl   $2,%r14d,%r14d
3501         vpxor   %xmm7,%xmm6,%xmm6
3502         addl    %r10d,%ecx
3503         addl    %r15d,%r10d
3504         movl    %ecx,%r13d
3505         vpsrlq  $2,%xmm7,%xmm7
3506         addl    %r10d,%r14d
3507         shrdl   $14,%r13d,%r13d
3508         movl    %r14d,%r10d
3509         vpxor   %xmm7,%xmm6,%xmm6
3510         movl    %edx,%r12d
3511         shrdl   $9,%r14d,%r14d
3512         xorl    %ecx,%r13d
3513         vpshufb %xmm8,%xmm6,%xmm6
3514         xorl    %r8d,%r12d
3515         shrdl   $5,%r13d,%r13d
3516         xorl    %r10d,%r14d
3517         vpaddd  %xmm6,%xmm2,%xmm2
3518         andl    %ecx,%r12d
3519         xorl    %ecx,%r13d
3520         addl    40(%rsp),%r9d
3521         vpshufd $80,%xmm2,%xmm7
3522         movl    %r10d,%r15d
3523         xorl    %r8d,%r12d
3524         shrdl   $11,%r14d,%r14d
3525         vpsrld  $10,%xmm7,%xmm6
3526         xorl    %r11d,%r15d
3527         addl    %r12d,%r9d
3528         shrdl   $6,%r13d,%r13d
3529         vpsrlq  $17,%xmm7,%xmm7
3530         andl    %r15d,%edi
3531         xorl    %r10d,%r14d
3532         addl    %r13d,%r9d
3533         vpxor   %xmm7,%xmm6,%xmm6
3534         xorl    %r11d,%edi
3535         shrdl   $2,%r14d,%r14d
3536         addl    %r9d,%ebx
3537         vpsrlq  $2,%xmm7,%xmm7
3538         addl    %edi,%r9d
3539         movl    %ebx,%r13d
3540         addl    %r9d,%r14d
3541         vpxor   %xmm7,%xmm6,%xmm6
3542         shrdl   $14,%r13d,%r13d
3543         movl    %r14d,%r9d
3544         movl    %ecx,%r12d
3545         vpshufb %xmm9,%xmm6,%xmm6
3546         shrdl   $9,%r14d,%r14d
3547         xorl    %ebx,%r13d
3548         xorl    %edx,%r12d
3549         vpaddd  %xmm6,%xmm2,%xmm2
3550         shrdl   $5,%r13d,%r13d
3551         xorl    %r9d,%r14d
3552         andl    %ebx,%r12d
3553         vpaddd  64(%rbp),%xmm2,%xmm6
3554         xorl    %ebx,%r13d
3555         addl    44(%rsp),%r8d
3556         movl    %r9d,%edi
3557         xorl    %edx,%r12d
3558         shrdl   $11,%r14d,%r14d
3559         xorl    %r10d,%edi
3560         addl    %r12d,%r8d
3561         shrdl   $6,%r13d,%r13d
3562         andl    %edi,%r15d
3563         xorl    %r9d,%r14d
3564         addl    %r13d,%r8d
3565         xorl    %r10d,%r15d
3566         shrdl   $2,%r14d,%r14d
3567         addl    %r8d,%eax
3568         addl    %r15d,%r8d
3569         movl    %eax,%r13d
3570         addl    %r8d,%r14d
3571         vmovdqa %xmm6,32(%rsp)
3572         vpalignr        $4,%xmm3,%xmm0,%xmm4
3573         shrdl   $14,%r13d,%r13d
3574         movl    %r14d,%r8d
3575         movl    %ebx,%r12d
3576         vpalignr        $4,%xmm1,%xmm2,%xmm7
3577         shrdl   $9,%r14d,%r14d
3578         xorl    %eax,%r13d
3579         xorl    %ecx,%r12d
3580         vpsrld  $7,%xmm4,%xmm6
3581         shrdl   $5,%r13d,%r13d
3582         xorl    %r8d,%r14d
3583         andl    %eax,%r12d
3584         vpaddd  %xmm7,%xmm3,%xmm3
3585         xorl    %eax,%r13d
3586         addl    48(%rsp),%edx
3587         movl    %r8d,%r15d
3588         vpsrld  $3,%xmm4,%xmm7
3589         xorl    %ecx,%r12d
3590         shrdl   $11,%r14d,%r14d
3591         xorl    %r9d,%r15d
3592         vpslld  $14,%xmm4,%xmm5
3593         addl    %r12d,%edx
3594         shrdl   $6,%r13d,%r13d
3595         andl    %r15d,%edi
3596         vpxor   %xmm6,%xmm7,%xmm4
3597         xorl    %r8d,%r14d
3598         addl    %r13d,%edx
3599         xorl    %r9d,%edi
3600         vpshufd $250,%xmm2,%xmm7
3601         shrdl   $2,%r14d,%r14d
3602         addl    %edx,%r11d
3603         addl    %edi,%edx
3604         vpsrld  $11,%xmm6,%xmm6
3605         movl    %r11d,%r13d
3606         addl    %edx,%r14d
3607         shrdl   $14,%r13d,%r13d
3608         vpxor   %xmm5,%xmm4,%xmm4
3609         movl    %r14d,%edx
3610         movl    %eax,%r12d
3611         shrdl   $9,%r14d,%r14d
3612         vpslld  $11,%xmm5,%xmm5
3613         xorl    %r11d,%r13d
3614         xorl    %ebx,%r12d
3615         shrdl   $5,%r13d,%r13d
3616         vpxor   %xmm6,%xmm4,%xmm4
3617         xorl    %edx,%r14d
3618         andl    %r11d,%r12d
3619         xorl    %r11d,%r13d
3620         vpsrld  $10,%xmm7,%xmm6
3621         addl    52(%rsp),%ecx
3622         movl    %edx,%edi
3623         xorl    %ebx,%r12d
3624         vpxor   %xmm5,%xmm4,%xmm4
3625         shrdl   $11,%r14d,%r14d
3626         xorl    %r8d,%edi
3627         addl    %r12d,%ecx
3628         vpsrlq  $17,%xmm7,%xmm7
3629         shrdl   $6,%r13d,%r13d
3630         andl    %edi,%r15d
3631         xorl    %edx,%r14d
3632         vpaddd  %xmm4,%xmm3,%xmm3
3633         addl    %r13d,%ecx
3634         xorl    %r8d,%r15d
3635         shrdl   $2,%r14d,%r14d
3636         vpxor   %xmm7,%xmm6,%xmm6
3637         addl    %ecx,%r10d
3638         addl    %r15d,%ecx
3639         movl    %r10d,%r13d
3640         vpsrlq  $2,%xmm7,%xmm7
3641         addl    %ecx,%r14d
3642         shrdl   $14,%r13d,%r13d
3643         movl    %r14d,%ecx
3644         vpxor   %xmm7,%xmm6,%xmm6
3645         movl    %r11d,%r12d
3646         shrdl   $9,%r14d,%r14d
3647         xorl    %r10d,%r13d
3648         vpshufb %xmm8,%xmm6,%xmm6
3649         xorl    %eax,%r12d
3650         shrdl   $5,%r13d,%r13d
3651         xorl    %ecx,%r14d
3652         vpaddd  %xmm6,%xmm3,%xmm3
3653         andl    %r10d,%r12d
3654         xorl    %r10d,%r13d
3655         addl    56(%rsp),%ebx
3656         vpshufd $80,%xmm3,%xmm7
3657         movl    %ecx,%r15d
3658         xorl    %eax,%r12d
3659         shrdl   $11,%r14d,%r14d
3660         vpsrld  $10,%xmm7,%xmm6
3661         xorl    %edx,%r15d
3662         addl    %r12d,%ebx
3663         shrdl   $6,%r13d,%r13d
3664         vpsrlq  $17,%xmm7,%xmm7
3665         andl    %r15d,%edi
3666         xorl    %ecx,%r14d
3667         addl    %r13d,%ebx
3668         vpxor   %xmm7,%xmm6,%xmm6
3669         xorl    %edx,%edi
3670         shrdl   $2,%r14d,%r14d
3671         addl    %ebx,%r9d
3672         vpsrlq  $2,%xmm7,%xmm7
3673         addl    %edi,%ebx
3674         movl    %r9d,%r13d
3675         addl    %ebx,%r14d
3676         vpxor   %xmm7,%xmm6,%xmm6
3677         shrdl   $14,%r13d,%r13d
3678         movl    %r14d,%ebx
3679         movl    %r10d,%r12d
3680         vpshufb %xmm9,%xmm6,%xmm6
3681         shrdl   $9,%r14d,%r14d
3682         xorl    %r9d,%r13d
3683         xorl    %r11d,%r12d
3684         vpaddd  %xmm6,%xmm3,%xmm3
3685         shrdl   $5,%r13d,%r13d
3686         xorl    %ebx,%r14d
3687         andl    %r9d,%r12d
3688         vpaddd  96(%rbp),%xmm3,%xmm6
3689         xorl    %r9d,%r13d
3690         addl    60(%rsp),%eax
3691         movl    %ebx,%edi
3692         xorl    %r11d,%r12d
3693         shrdl   $11,%r14d,%r14d
3694         xorl    %ecx,%edi
3695         addl    %r12d,%eax
3696         shrdl   $6,%r13d,%r13d
3697         andl    %edi,%r15d
3698         xorl    %ebx,%r14d
3699         addl    %r13d,%eax
3700         xorl    %ecx,%r15d
3701         shrdl   $2,%r14d,%r14d
3702         addl    %eax,%r8d
3703         addl    %r15d,%eax
3704         movl    %r8d,%r13d
3705         addl    %eax,%r14d
3706         vmovdqa %xmm6,48(%rsp)
3707         cmpb    $0,131(%rbp)
3708         jne     .Lavx_00_47
3709         shrdl   $14,%r13d,%r13d
3710         movl    %r14d,%eax
3711         movl    %r9d,%r12d
3712         shrdl   $9,%r14d,%r14d
3713         xorl    %r8d,%r13d
3714         xorl    %r10d,%r12d
3715         shrdl   $5,%r13d,%r13d
3716         xorl    %eax,%r14d
3717         andl    %r8d,%r12d
3718         xorl    %r8d,%r13d
3719         addl    0(%rsp),%r11d
3720         movl    %eax,%r15d
3721         xorl    %r10d,%r12d
3722         shrdl   $11,%r14d,%r14d
3723         xorl    %ebx,%r15d
3724         addl    %r12d,%r11d
3725         shrdl   $6,%r13d,%r13d
3726         andl    %r15d,%edi
3727         xorl    %eax,%r14d
3728         addl    %r13d,%r11d
3729         xorl    %ebx,%edi
3730         shrdl   $2,%r14d,%r14d
3731         addl    %r11d,%edx
3732         addl    %edi,%r11d
3733         movl    %edx,%r13d
3734         addl    %r11d,%r14d
3735         shrdl   $14,%r13d,%r13d
3736         movl    %r14d,%r11d
3737         movl    %r8d,%r12d
3738         shrdl   $9,%r14d,%r14d
3739         xorl    %edx,%r13d
3740         xorl    %r9d,%r12d
3741         shrdl   $5,%r13d,%r13d
3742         xorl    %r11d,%r14d
3743         andl    %edx,%r12d
3744         xorl    %edx,%r13d
3745         addl    4(%rsp),%r10d
3746         movl    %r11d,%edi
3747         xorl    %r9d,%r12d
3748         shrdl   $11,%r14d,%r14d
3749         xorl    %eax,%edi
3750         addl    %r12d,%r10d
3751         shrdl   $6,%r13d,%r13d
3752         andl    %edi,%r15d
3753         xorl    %r11d,%r14d
3754         addl    %r13d,%r10d
3755         xorl    %eax,%r15d
3756         shrdl   $2,%r14d,%r14d
3757         addl    %r10d,%ecx
3758         addl    %r15d,%r10d
3759         movl    %ecx,%r13d
3760         addl    %r10d,%r14d
3761         shrdl   $14,%r13d,%r13d
3762         movl    %r14d,%r10d
3763         movl    %edx,%r12d
3764         shrdl   $9,%r14d,%r14d
3765         xorl    %ecx,%r13d
3766         xorl    %r8d,%r12d
3767         shrdl   $5,%r13d,%r13d
3768         xorl    %r10d,%r14d
3769         andl    %ecx,%r12d
3770         xorl    %ecx,%r13d
3771         addl    8(%rsp),%r9d
3772         movl    %r10d,%r15d
3773         xorl    %r8d,%r12d
3774         shrdl   $11,%r14d,%r14d
3775         xorl    %r11d,%r15d
3776         addl    %r12d,%r9d
3777         shrdl   $6,%r13d,%r13d
3778         andl    %r15d,%edi
3779         xorl    %r10d,%r14d
3780         addl    %r13d,%r9d
3781         xorl    %r11d,%edi
3782         shrdl   $2,%r14d,%r14d
3783         addl    %r9d,%ebx
3784         addl    %edi,%r9d
3785         movl    %ebx,%r13d
3786         addl    %r9d,%r14d
3787         shrdl   $14,%r13d,%r13d
3788         movl    %r14d,%r9d
3789         movl    %ecx,%r12d
3790         shrdl   $9,%r14d,%r14d
3791         xorl    %ebx,%r13d
3792         xorl    %edx,%r12d
3793         shrdl   $5,%r13d,%r13d
3794         xorl    %r9d,%r14d
3795         andl    %ebx,%r12d
3796         xorl    %ebx,%r13d
3797         addl    12(%rsp),%r8d
3798         movl    %r9d,%edi
3799         xorl    %edx,%r12d
3800         shrdl   $11,%r14d,%r14d
3801         xorl    %r10d,%edi
3802         addl    %r12d,%r8d
3803         shrdl   $6,%r13d,%r13d
3804         andl    %edi,%r15d
3805         xorl    %r9d,%r14d
3806         addl    %r13d,%r8d
3807         xorl    %r10d,%r15d
3808         shrdl   $2,%r14d,%r14d
3809         addl    %r8d,%eax
3810         addl    %r15d,%r8d
3811         movl    %eax,%r13d
3812         addl    %r8d,%r14d
3813         shrdl   $14,%r13d,%r13d
3814         movl    %r14d,%r8d
3815         movl    %ebx,%r12d
3816         shrdl   $9,%r14d,%r14d
3817         xorl    %eax,%r13d
3818         xorl    %ecx,%r12d
3819         shrdl   $5,%r13d,%r13d
3820         xorl    %r8d,%r14d
3821         andl    %eax,%r12d
3822         xorl    %eax,%r13d
3823         addl    16(%rsp),%edx
3824         movl    %r8d,%r15d
3825         xorl    %ecx,%r12d
3826         shrdl   $11,%r14d,%r14d
3827         xorl    %r9d,%r15d
3828         addl    %r12d,%edx
3829         shrdl   $6,%r13d,%r13d
3830         andl    %r15d,%edi
3831         xorl    %r8d,%r14d
3832         addl    %r13d,%edx
3833         xorl    %r9d,%edi
3834         shrdl   $2,%r14d,%r14d
3835         addl    %edx,%r11d
3836         addl    %edi,%edx
3837         movl    %r11d,%r13d
3838         addl    %edx,%r14d
3839         shrdl   $14,%r13d,%r13d
3840         movl    %r14d,%edx
3841         movl    %eax,%r12d
3842         shrdl   $9,%r14d,%r14d
3843         xorl    %r11d,%r13d
3844         xorl    %ebx,%r12d
3845         shrdl   $5,%r13d,%r13d
3846         xorl    %edx,%r14d
3847         andl    %r11d,%r12d
3848         xorl    %r11d,%r13d
3849         addl    20(%rsp),%ecx
3850         movl    %edx,%edi
3851         xorl    %ebx,%r12d
3852         shrdl   $11,%r14d,%r14d
3853         xorl    %r8d,%edi
3854         addl    %r12d,%ecx
3855         shrdl   $6,%r13d,%r13d
3856         andl    %edi,%r15d
3857         xorl    %edx,%r14d
3858         addl    %r13d,%ecx
3859         xorl    %r8d,%r15d
3860         shrdl   $2,%r14d,%r14d
3861         addl    %ecx,%r10d
3862         addl    %r15d,%ecx
3863         movl    %r10d,%r13d
3864         addl    %ecx,%r14d
3865         shrdl   $14,%r13d,%r13d
3866         movl    %r14d,%ecx
3867         movl    %r11d,%r12d
3868         shrdl   $9,%r14d,%r14d
3869         xorl    %r10d,%r13d
3870         xorl    %eax,%r12d
3871         shrdl   $5,%r13d,%r13d
3872         xorl    %ecx,%r14d
3873         andl    %r10d,%r12d
3874         xorl    %r10d,%r13d
3875         addl    24(%rsp),%ebx
3876         movl    %ecx,%r15d
3877         xorl    %eax,%r12d
3878         shrdl   $11,%r14d,%r14d
3879         xorl    %edx,%r15d
3880         addl    %r12d,%ebx
3881         shrdl   $6,%r13d,%r13d
3882         andl    %r15d,%edi
3883         xorl    %ecx,%r14d
3884         addl    %r13d,%ebx
3885         xorl    %edx,%edi
3886         shrdl   $2,%r14d,%r14d
3887         addl    %ebx,%r9d
3888         addl    %edi,%ebx
3889         movl    %r9d,%r13d
3890         addl    %ebx,%r14d
3891         shrdl   $14,%r13d,%r13d
3892         movl    %r14d,%ebx
3893         movl    %r10d,%r12d
3894         shrdl   $9,%r14d,%r14d
3895         xorl    %r9d,%r13d
3896         xorl    %r11d,%r12d
3897         shrdl   $5,%r13d,%r13d
3898         xorl    %ebx,%r14d
3899         andl    %r9d,%r12d
3900         xorl    %r9d,%r13d
3901         addl    28(%rsp),%eax
3902         movl    %ebx,%edi
3903         xorl    %r11d,%r12d
3904         shrdl   $11,%r14d,%r14d
3905         xorl    %ecx,%edi
3906         addl    %r12d,%eax
3907         shrdl   $6,%r13d,%r13d
3908         andl    %edi,%r15d
3909         xorl    %ebx,%r14d
3910         addl    %r13d,%eax
3911         xorl    %ecx,%r15d
3912         shrdl   $2,%r14d,%r14d
3913         addl    %eax,%r8d
3914         addl    %r15d,%eax
3915         movl    %r8d,%r13d
3916         addl    %eax,%r14d
3917         shrdl   $14,%r13d,%r13d
3918         movl    %r14d,%eax
3919         movl    %r9d,%r12d
3920         shrdl   $9,%r14d,%r14d
3921         xorl    %r8d,%r13d
3922         xorl    %r10d,%r12d
3923         shrdl   $5,%r13d,%r13d
3924         xorl    %eax,%r14d
3925         andl    %r8d,%r12d
3926         xorl    %r8d,%r13d
3927         addl    32(%rsp),%r11d
3928         movl    %eax,%r15d
3929         xorl    %r10d,%r12d
3930         shrdl   $11,%r14d,%r14d
3931         xorl    %ebx,%r15d
3932         addl    %r12d,%r11d
3933         shrdl   $6,%r13d,%r13d
3934         andl    %r15d,%edi
3935         xorl    %eax,%r14d
3936         addl    %r13d,%r11d
3937         xorl    %ebx,%edi
3938         shrdl   $2,%r14d,%r14d
3939         addl    %r11d,%edx
3940         addl    %edi,%r11d
3941         movl    %edx,%r13d
3942         addl    %r11d,%r14d
3943         shrdl   $14,%r13d,%r13d
3944         movl    %r14d,%r11d
3945         movl    %r8d,%r12d
3946         shrdl   $9,%r14d,%r14d
3947         xorl    %edx,%r13d
3948         xorl    %r9d,%r12d
3949         shrdl   $5,%r13d,%r13d
3950         xorl    %r11d,%r14d
3951         andl    %edx,%r12d
3952         xorl    %edx,%r13d
3953         addl    36(%rsp),%r10d
3954         movl    %r11d,%edi
3955         xorl    %r9d,%r12d
3956         shrdl   $11,%r14d,%r14d
3957         xorl    %eax,%edi
3958         addl    %r12d,%r10d
3959         shrdl   $6,%r13d,%r13d
3960         andl    %edi,%r15d
3961         xorl    %r11d,%r14d
3962         addl    %r13d,%r10d
3963         xorl    %eax,%r15d
3964         shrdl   $2,%r14d,%r14d
3965         addl    %r10d,%ecx
3966         addl    %r15d,%r10d
3967         movl    %ecx,%r13d
3968         addl    %r10d,%r14d
3969         shrdl   $14,%r13d,%r13d
3970         movl    %r14d,%r10d
3971         movl    %edx,%r12d
3972         shrdl   $9,%r14d,%r14d
3973         xorl    %ecx,%r13d
3974         xorl    %r8d,%r12d
3975         shrdl   $5,%r13d,%r13d
3976         xorl    %r10d,%r14d
3977         andl    %ecx,%r12d
3978         xorl    %ecx,%r13d
3979         addl    40(%rsp),%r9d
3980         movl    %r10d,%r15d
3981         xorl    %r8d,%r12d
3982         shrdl   $11,%r14d,%r14d
3983         xorl    %r11d,%r15d
3984         addl    %r12d,%r9d
3985         shrdl   $6,%r13d,%r13d
3986         andl    %r15d,%edi
3987         xorl    %r10d,%r14d
3988         addl    %r13d,%r9d
3989         xorl    %r11d,%edi
3990         shrdl   $2,%r14d,%r14d
3991         addl    %r9d,%ebx
3992         addl    %edi,%r9d
3993         movl    %ebx,%r13d
3994         addl    %r9d,%r14d
3995         shrdl   $14,%r13d,%r13d
3996         movl    %r14d,%r9d
3997         movl    %ecx,%r12d
3998         shrdl   $9,%r14d,%r14d
3999         xorl    %ebx,%r13d
4000         xorl    %edx,%r12d
4001         shrdl   $5,%r13d,%r13d
4002         xorl    %r9d,%r14d
4003         andl    %ebx,%r12d
4004         xorl    %ebx,%r13d
4005         addl    44(%rsp),%r8d
4006         movl    %r9d,%edi
4007         xorl    %edx,%r12d
4008         shrdl   $11,%r14d,%r14d
4009         xorl    %r10d,%edi
4010         addl    %r12d,%r8d
4011         shrdl   $6,%r13d,%r13d
4012         andl    %edi,%r15d
4013         xorl    %r9d,%r14d
4014         addl    %r13d,%r8d
4015         xorl    %r10d,%r15d
4016         shrdl   $2,%r14d,%r14d
4017         addl    %r8d,%eax
4018         addl    %r15d,%r8d
4019         movl    %eax,%r13d
4020         addl    %r8d,%r14d
4021         shrdl   $14,%r13d,%r13d
4022         movl    %r14d,%r8d
4023         movl    %ebx,%r12d
4024         shrdl   $9,%r14d,%r14d
4025         xorl    %eax,%r13d
4026         xorl    %ecx,%r12d
4027         shrdl   $5,%r13d,%r13d
4028         xorl    %r8d,%r14d
4029         andl    %eax,%r12d
4030         xorl    %eax,%r13d
4031         addl    48(%rsp),%edx
4032         movl    %r8d,%r15d
4033         xorl    %ecx,%r12d
4034         shrdl   $11,%r14d,%r14d
4035         xorl    %r9d,%r15d
4036         addl    %r12d,%edx
4037         shrdl   $6,%r13d,%r13d
4038         andl    %r15d,%edi
4039         xorl    %r8d,%r14d
4040         addl    %r13d,%edx
4041         xorl    %r9d,%edi
4042         shrdl   $2,%r14d,%r14d
4043         addl    %edx,%r11d
4044         addl    %edi,%edx
4045         movl    %r11d,%r13d
4046         addl    %edx,%r14d
4047         shrdl   $14,%r13d,%r13d
4048         movl    %r14d,%edx
4049         movl    %eax,%r12d
4050         shrdl   $9,%r14d,%r14d
4051         xorl    %r11d,%r13d
4052         xorl    %ebx,%r12d
4053         shrdl   $5,%r13d,%r13d
4054         xorl    %edx,%r14d
4055         andl    %r11d,%r12d
4056         xorl    %r11d,%r13d
4057         addl    52(%rsp),%ecx
4058         movl    %edx,%edi
4059         xorl    %ebx,%r12d
4060         shrdl   $11,%r14d,%r14d
4061         xorl    %r8d,%edi
4062         addl    %r12d,%ecx
4063         shrdl   $6,%r13d,%r13d
4064         andl    %edi,%r15d
4065         xorl    %edx,%r14d
4066         addl    %r13d,%ecx
4067         xorl    %r8d,%r15d
4068         shrdl   $2,%r14d,%r14d
4069         addl    %ecx,%r10d
4070         addl    %r15d,%ecx
4071         movl    %r10d,%r13d
4072         addl    %ecx,%r14d
4073         shrdl   $14,%r13d,%r13d
4074         movl    %r14d,%ecx
4075         movl    %r11d,%r12d
4076         shrdl   $9,%r14d,%r14d
4077         xorl    %r10d,%r13d
4078         xorl    %eax,%r12d
4079         shrdl   $5,%r13d,%r13d
4080         xorl    %ecx,%r14d
4081         andl    %r10d,%r12d
4082         xorl    %r10d,%r13d
4083         addl    56(%rsp),%ebx
4084         movl    %ecx,%r15d
4085         xorl    %eax,%r12d
4086         shrdl   $11,%r14d,%r14d
4087         xorl    %edx,%r15d
4088         addl    %r12d,%ebx
4089         shrdl   $6,%r13d,%r13d
4090         andl    %r15d,%edi
4091         xorl    %ecx,%r14d
4092         addl    %r13d,%ebx
4093         xorl    %edx,%edi
4094         shrdl   $2,%r14d,%r14d
4095         addl    %ebx,%r9d
4096         addl    %edi,%ebx
4097         movl    %r9d,%r13d
4098         addl    %ebx,%r14d
4099         shrdl   $14,%r13d,%r13d
4100         movl    %r14d,%ebx
4101         movl    %r10d,%r12d
4102         shrdl   $9,%r14d,%r14d
4103         xorl    %r9d,%r13d
4104         xorl    %r11d,%r12d
4105         shrdl   $5,%r13d,%r13d
4106         xorl    %ebx,%r14d
4107         andl    %r9d,%r12d
4108         xorl    %r9d,%r13d
4109         addl    60(%rsp),%eax
4110         movl    %ebx,%edi
4111         xorl    %r11d,%r12d
4112         shrdl   $11,%r14d,%r14d
4113         xorl    %ecx,%edi
4114         addl    %r12d,%eax
4115         shrdl   $6,%r13d,%r13d
4116         andl    %edi,%r15d
4117         xorl    %ebx,%r14d
4118         addl    %r13d,%eax
4119         xorl    %ecx,%r15d
4120         shrdl   $2,%r14d,%r14d
4121         addl    %eax,%r8d
4122         addl    %r15d,%eax
4123         movl    %r8d,%r13d
4124         addl    %eax,%r14d
4125         movq    64+0(%rsp),%rdi
4126         movl    %r14d,%eax
4127
4128         addl    0(%rdi),%eax
4129         leaq    64(%rsi),%rsi
4130         addl    4(%rdi),%ebx
4131         addl    8(%rdi),%ecx
4132         addl    12(%rdi),%edx
4133         addl    16(%rdi),%r8d
4134         addl    20(%rdi),%r9d
4135         addl    24(%rdi),%r10d
4136         addl    28(%rdi),%r11d
4137
4138         cmpq    64+16(%rsp),%rsi
4139
4140         movl    %eax,0(%rdi)
4141         movl    %ebx,4(%rdi)
4142         movl    %ecx,8(%rdi)
4143         movl    %edx,12(%rdi)
4144         movl    %r8d,16(%rdi)
4145         movl    %r9d,20(%rdi)
4146         movl    %r10d,24(%rdi)
4147         movl    %r11d,28(%rdi)
4148         jb      .Lloop_avx
4149
4150         movq    88(%rsp),%rsi
4151 .cfi_def_cfa    %rsi,8
4152         vzeroupper
4153         movq    -48(%rsi),%r15
4154 .cfi_restore    %r15
4155         movq    -40(%rsi),%r14
4156 .cfi_restore    %r14
4157         movq    -32(%rsi),%r13
4158 .cfi_restore    %r13
4159         movq    -24(%rsi),%r12
4160 .cfi_restore    %r12
4161         movq    -16(%rsi),%rbp
4162 .cfi_restore    %rbp
4163         movq    -8(%rsi),%rbx
4164 .cfi_restore    %rbx
4165         leaq    (%rsi),%rsp
4166 .cfi_def_cfa_register   %rsp
4167 .Lepilogue_avx:
4168         .byte   0xf3,0xc3
4169 .cfi_endproc    
4170 .size   sha256_block_data_order_avx,.-sha256_block_data_order_avx
4171 .type   sha256_block_data_order_avx2,@function
4172 .align  64
4173 sha256_block_data_order_avx2:
4174 .cfi_startproc  
4175 .Lavx2_shortcut:
4176         movq    %rsp,%rax
4177 .cfi_def_cfa_register   %rax
4178         pushq   %rbx
4179 .cfi_offset     %rbx,-16
4180         pushq   %rbp
4181 .cfi_offset     %rbp,-24
4182         pushq   %r12
4183 .cfi_offset     %r12,-32
4184         pushq   %r13
4185 .cfi_offset     %r13,-40
4186         pushq   %r14
4187 .cfi_offset     %r14,-48
4188         pushq   %r15
4189 .cfi_offset     %r15,-56
4190         subq    $544,%rsp
4191         shlq    $4,%rdx
4192         andq    $-1024,%rsp
4193         leaq    (%rsi,%rdx,4),%rdx
4194         addq    $448,%rsp
4195         movq    %rdi,64+0(%rsp)
4196         movq    %rsi,64+8(%rsp)
4197         movq    %rdx,64+16(%rsp)
4198         movq    %rax,88(%rsp)
4199 .cfi_escape     0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
4200 .Lprologue_avx2:
4201
4202         vzeroupper
4203         subq    $-64,%rsi
4204         movl    0(%rdi),%eax
4205         movq    %rsi,%r12
4206         movl    4(%rdi),%ebx
4207         cmpq    %rdx,%rsi
4208         movl    8(%rdi),%ecx
4209         cmoveq  %rsp,%r12
4210         movl    12(%rdi),%edx
4211         movl    16(%rdi),%r8d
4212         movl    20(%rdi),%r9d
4213         movl    24(%rdi),%r10d
4214         movl    28(%rdi),%r11d
4215         vmovdqa K256+512+32(%rip),%ymm8
4216         vmovdqa K256+512+64(%rip),%ymm9
4217         jmp     .Loop_avx2
4218 .align  16
4219 .Loop_avx2:
4220         vmovdqa K256+512(%rip),%ymm7
4221         vmovdqu -64+0(%rsi),%xmm0
4222         vmovdqu -64+16(%rsi),%xmm1
4223         vmovdqu -64+32(%rsi),%xmm2
4224         vmovdqu -64+48(%rsi),%xmm3
4225
4226         vinserti128     $1,(%r12),%ymm0,%ymm0
4227         vinserti128     $1,16(%r12),%ymm1,%ymm1
4228         vpshufb %ymm7,%ymm0,%ymm0
4229         vinserti128     $1,32(%r12),%ymm2,%ymm2
4230         vpshufb %ymm7,%ymm1,%ymm1
4231         vinserti128     $1,48(%r12),%ymm3,%ymm3
4232
4233         leaq    K256(%rip),%rbp
4234         vpshufb %ymm7,%ymm2,%ymm2
4235         vpaddd  0(%rbp),%ymm0,%ymm4
4236         vpshufb %ymm7,%ymm3,%ymm3
4237         vpaddd  32(%rbp),%ymm1,%ymm5
4238         vpaddd  64(%rbp),%ymm2,%ymm6
4239         vpaddd  96(%rbp),%ymm3,%ymm7
4240         vmovdqa %ymm4,0(%rsp)
4241         xorl    %r14d,%r14d
4242         vmovdqa %ymm5,32(%rsp)
4243         leaq    -64(%rsp),%rsp
4244         movl    %ebx,%edi
4245         vmovdqa %ymm6,0(%rsp)
4246         xorl    %ecx,%edi
4247         vmovdqa %ymm7,32(%rsp)
4248         movl    %r9d,%r12d
4249         subq    $-32*4,%rbp
4250         jmp     .Lavx2_00_47
4251
4252 .align  16
4253 .Lavx2_00_47:
4254         leaq    -64(%rsp),%rsp
4255         vpalignr        $4,%ymm0,%ymm1,%ymm4
4256         addl    0+128(%rsp),%r11d
4257         andl    %r8d,%r12d
4258         rorxl   $25,%r8d,%r13d
4259         vpalignr        $4,%ymm2,%ymm3,%ymm7
4260         rorxl   $11,%r8d,%r15d
4261         leal    (%rax,%r14,1),%eax
4262         leal    (%r11,%r12,1),%r11d
4263         vpsrld  $7,%ymm4,%ymm6
4264         andnl   %r10d,%r8d,%r12d
4265         xorl    %r15d,%r13d
4266         rorxl   $6,%r8d,%r14d
4267         vpaddd  %ymm7,%ymm0,%ymm0
4268         leal    (%r11,%r12,1),%r11d
4269         xorl    %r14d,%r13d
4270         movl    %eax,%r15d
4271         vpsrld  $3,%ymm4,%ymm7
4272         rorxl   $22,%eax,%r12d
4273         leal    (%r11,%r13,1),%r11d
4274         xorl    %ebx,%r15d
4275         vpslld  $14,%ymm4,%ymm5
4276         rorxl   $13,%eax,%r14d
4277         rorxl   $2,%eax,%r13d
4278         leal    (%rdx,%r11,1),%edx
4279         vpxor   %ymm6,%ymm7,%ymm4
4280         andl    %r15d,%edi
4281         xorl    %r12d,%r14d
4282         xorl    %ebx,%edi
4283         vpshufd $250,%ymm3,%ymm7
4284         xorl    %r13d,%r14d
4285         leal    (%r11,%rdi,1),%r11d
4286         movl    %r8d,%r12d
4287         vpsrld  $11,%ymm6,%ymm6
4288         addl    4+128(%rsp),%r10d
4289         andl    %edx,%r12d
4290         rorxl   $25,%edx,%r13d
4291         vpxor   %ymm5,%ymm4,%ymm4
4292         rorxl   $11,%edx,%edi
4293         leal    (%r11,%r14,1),%r11d
4294         leal    (%r10,%r12,1),%r10d
4295         vpslld  $11,%ymm5,%ymm5
4296         andnl   %r9d,%edx,%r12d
4297         xorl    %edi,%r13d
4298         rorxl   $6,%edx,%r14d
4299         vpxor   %ymm6,%ymm4,%ymm4
4300         leal    (%r10,%r12,1),%r10d
4301         xorl    %r14d,%r13d
4302         movl    %r11d,%edi
4303         vpsrld  $10,%ymm7,%ymm6
4304         rorxl   $22,%r11d,%r12d
4305         leal    (%r10,%r13,1),%r10d
4306         xorl    %eax,%edi
4307         vpxor   %ymm5,%ymm4,%ymm4
4308         rorxl   $13,%r11d,%r14d
4309         rorxl   $2,%r11d,%r13d
4310         leal    (%rcx,%r10,1),%ecx
4311         vpsrlq  $17,%ymm7,%ymm7
4312         andl    %edi,%r15d
4313         xorl    %r12d,%r14d
4314         xorl    %eax,%r15d
4315         vpaddd  %ymm4,%ymm0,%ymm0
4316         xorl    %r13d,%r14d
4317         leal    (%r10,%r15,1),%r10d
4318         movl    %edx,%r12d
4319         vpxor   %ymm7,%ymm6,%ymm6
4320         addl    8+128(%rsp),%r9d
4321         andl    %ecx,%r12d
4322         rorxl   $25,%ecx,%r13d
4323         vpsrlq  $2,%ymm7,%ymm7
4324         rorxl   $11,%ecx,%r15d
4325         leal    (%r10,%r14,1),%r10d
4326         leal    (%r9,%r12,1),%r9d
4327         vpxor   %ymm7,%ymm6,%ymm6
4328         andnl   %r8d,%ecx,%r12d
4329         xorl    %r15d,%r13d
4330         rorxl   $6,%ecx,%r14d
4331         vpshufb %ymm8,%ymm6,%ymm6
4332         leal    (%r9,%r12,1),%r9d
4333         xorl    %r14d,%r13d
4334         movl    %r10d,%r15d
4335         vpaddd  %ymm6,%ymm0,%ymm0
4336         rorxl   $22,%r10d,%r12d
4337         leal    (%r9,%r13,1),%r9d
4338         xorl    %r11d,%r15d
4339         vpshufd $80,%ymm0,%ymm7
4340         rorxl   $13,%r10d,%r14d
4341         rorxl   $2,%r10d,%r13d
4342         leal    (%rbx,%r9,1),%ebx
4343         vpsrld  $10,%ymm7,%ymm6
4344         andl    %r15d,%edi
4345         xorl    %r12d,%r14d
4346         xorl    %r11d,%edi
4347         vpsrlq  $17,%ymm7,%ymm7
4348         xorl    %r13d,%r14d
4349         leal    (%r9,%rdi,1),%r9d
4350         movl    %ecx,%r12d
4351         vpxor   %ymm7,%ymm6,%ymm6
4352         addl    12+128(%rsp),%r8d
4353         andl    %ebx,%r12d
4354         rorxl   $25,%ebx,%r13d
4355         vpsrlq  $2,%ymm7,%ymm7
4356         rorxl   $11,%ebx,%edi
4357         leal    (%r9,%r14,1),%r9d
4358         leal    (%r8,%r12,1),%r8d
4359         vpxor   %ymm7,%ymm6,%ymm6
4360         andnl   %edx,%ebx,%r12d
4361         xorl    %edi,%r13d
4362         rorxl   $6,%ebx,%r14d
4363         vpshufb %ymm9,%ymm6,%ymm6
4364         leal    (%r8,%r12,1),%r8d
4365         xorl    %r14d,%r13d
4366         movl    %r9d,%edi
4367         vpaddd  %ymm6,%ymm0,%ymm0
4368         rorxl   $22,%r9d,%r12d
4369         leal    (%r8,%r13,1),%r8d
4370         xorl    %r10d,%edi
4371         vpaddd  0(%rbp),%ymm0,%ymm6
4372         rorxl   $13,%r9d,%r14d
4373         rorxl   $2,%r9d,%r13d
4374         leal    (%rax,%r8,1),%eax
4375         andl    %edi,%r15d
4376         xorl    %r12d,%r14d
4377         xorl    %r10d,%r15d
4378         xorl    %r13d,%r14d
4379         leal    (%r8,%r15,1),%r8d
4380         movl    %ebx,%r12d
4381         vmovdqa %ymm6,0(%rsp)
4382         vpalignr        $4,%ymm1,%ymm2,%ymm4
4383         addl    32+128(%rsp),%edx
4384         andl    %eax,%r12d
4385         rorxl   $25,%eax,%r13d
4386         vpalignr        $4,%ymm3,%ymm0,%ymm7
4387         rorxl   $11,%eax,%r15d
4388         leal    (%r8,%r14,1),%r8d
4389         leal    (%rdx,%r12,1),%edx
4390         vpsrld  $7,%ymm4,%ymm6
4391         andnl   %ecx,%eax,%r12d
4392         xorl    %r15d,%r13d
4393         rorxl   $6,%eax,%r14d
4394         vpaddd  %ymm7,%ymm1,%ymm1
4395         leal    (%rdx,%r12,1),%edx
4396         xorl    %r14d,%r13d
4397         movl    %r8d,%r15d
4398         vpsrld  $3,%ymm4,%ymm7
4399         rorxl   $22,%r8d,%r12d
4400         leal    (%rdx,%r13,1),%edx
4401         xorl    %r9d,%r15d
4402         vpslld  $14,%ymm4,%ymm5
4403         rorxl   $13,%r8d,%r14d
4404         rorxl   $2,%r8d,%r13d
4405         leal    (%r11,%rdx,1),%r11d
4406         vpxor   %ymm6,%ymm7,%ymm4
4407         andl    %r15d,%edi
4408         xorl    %r12d,%r14d
4409         xorl    %r9d,%edi
4410         vpshufd $250,%ymm0,%ymm7
4411         xorl    %r13d,%r14d
4412         leal    (%rdx,%rdi,1),%edx
4413         movl    %eax,%r12d
4414         vpsrld  $11,%ymm6,%ymm6
4415         addl    36+128(%rsp),%ecx
4416         andl    %r11d,%r12d
4417         rorxl   $25,%r11d,%r13d
4418         vpxor   %ymm5,%ymm4,%ymm4
4419         rorxl   $11,%r11d,%edi
4420         leal    (%rdx,%r14,1),%edx
4421         leal    (%rcx,%r12,1),%ecx
4422         vpslld  $11,%ymm5,%ymm5
4423         andnl   %ebx,%r11d,%r12d
4424         xorl    %edi,%r13d
4425         rorxl   $6,%r11d,%r14d
4426         vpxor   %ymm6,%ymm4,%ymm4
4427         leal    (%rcx,%r12,1),%ecx
4428         xorl    %r14d,%r13d
4429         movl    %edx,%edi
4430         vpsrld  $10,%ymm7,%ymm6
4431         rorxl   $22,%edx,%r12d
4432         leal    (%rcx,%r13,1),%ecx
4433         xorl    %r8d,%edi
4434         vpxor   %ymm5,%ymm4,%ymm4
4435         rorxl   $13,%edx,%r14d
4436         rorxl   $2,%edx,%r13d
4437         leal    (%r10,%rcx,1),%r10d
4438         vpsrlq  $17,%ymm7,%ymm7
4439         andl    %edi,%r15d
4440         xorl    %r12d,%r14d
4441         xorl    %r8d,%r15d
4442         vpaddd  %ymm4,%ymm1,%ymm1
4443         xorl    %r13d,%r14d
4444         leal    (%rcx,%r15,1),%ecx
4445         movl    %r11d,%r12d
4446         vpxor   %ymm7,%ymm6,%ymm6
4447         addl    40+128(%rsp),%ebx
4448         andl    %r10d,%r12d
4449         rorxl   $25,%r10d,%r13d
4450         vpsrlq  $2,%ymm7,%ymm7
4451         rorxl   $11,%r10d,%r15d
4452         leal    (%rcx,%r14,1),%ecx
4453         leal    (%rbx,%r12,1),%ebx
4454         vpxor   %ymm7,%ymm6,%ymm6
4455         andnl   %eax,%r10d,%r12d
4456         xorl    %r15d,%r13d
4457         rorxl   $6,%r10d,%r14d
4458         vpshufb %ymm8,%ymm6,%ymm6
4459         leal    (%rbx,%r12,1),%ebx
4460         xorl    %r14d,%r13d
4461         movl    %ecx,%r15d
4462         vpaddd  %ymm6,%ymm1,%ymm1
4463         rorxl   $22,%ecx,%r12d
4464         leal    (%rbx,%r13,1),%ebx
4465         xorl    %edx,%r15d
4466         vpshufd $80,%ymm1,%ymm7
4467         rorxl   $13,%ecx,%r14d
4468         rorxl   $2,%ecx,%r13d
4469         leal    (%r9,%rbx,1),%r9d
4470         vpsrld  $10,%ymm7,%ymm6
4471         andl    %r15d,%edi
4472         xorl    %r12d,%r14d
4473         xorl    %edx,%edi
4474         vpsrlq  $17,%ymm7,%ymm7
4475         xorl    %r13d,%r14d
4476         leal    (%rbx,%rdi,1),%ebx
4477         movl    %r10d,%r12d
4478         vpxor   %ymm7,%ymm6,%ymm6
4479         addl    44+128(%rsp),%eax
4480         andl    %r9d,%r12d
4481         rorxl   $25,%r9d,%r13d
4482         vpsrlq  $2,%ymm7,%ymm7
4483         rorxl   $11,%r9d,%edi
4484         leal    (%rbx,%r14,1),%ebx
4485         leal    (%rax,%r12,1),%eax
4486         vpxor   %ymm7,%ymm6,%ymm6
4487         andnl   %r11d,%r9d,%r12d
4488         xorl    %edi,%r13d
4489         rorxl   $6,%r9d,%r14d
4490         vpshufb %ymm9,%ymm6,%ymm6
4491         leal    (%rax,%r12,1),%eax
4492         xorl    %r14d,%r13d
4493         movl    %ebx,%edi
4494         vpaddd  %ymm6,%ymm1,%ymm1
4495         rorxl   $22,%ebx,%r12d
4496         leal    (%rax,%r13,1),%eax
4497         xorl    %ecx,%edi
4498         vpaddd  32(%rbp),%ymm1,%ymm6
4499         rorxl   $13,%ebx,%r14d
4500         rorxl   $2,%ebx,%r13d
4501         leal    (%r8,%rax,1),%r8d
4502         andl    %edi,%r15d
4503         xorl    %r12d,%r14d
4504         xorl    %ecx,%r15d
4505         xorl    %r13d,%r14d
4506         leal    (%rax,%r15,1),%eax
4507         movl    %r9d,%r12d
4508         vmovdqa %ymm6,32(%rsp)
4509         leaq    -64(%rsp),%rsp
4510         vpalignr        $4,%ymm2,%ymm3,%ymm4
4511         addl    0+128(%rsp),%r11d
4512         andl    %r8d,%r12d
4513         rorxl   $25,%r8d,%r13d
4514         vpalignr        $4,%ymm0,%ymm1,%ymm7
4515         rorxl   $11,%r8d,%r15d
4516         leal    (%rax,%r14,1),%eax
4517         leal    (%r11,%r12,1),%r11d
4518         vpsrld  $7,%ymm4,%ymm6
4519         andnl   %r10d,%r8d,%r12d
4520         xorl    %r15d,%r13d
4521         rorxl   $6,%r8d,%r14d
4522         vpaddd  %ymm7,%ymm2,%ymm2
4523         leal    (%r11,%r12,1),%r11d
4524         xorl    %r14d,%r13d
4525         movl    %eax,%r15d
4526         vpsrld  $3,%ymm4,%ymm7
4527         rorxl   $22,%eax,%r12d
4528         leal    (%r11,%r13,1),%r11d
4529         xorl    %ebx,%r15d
4530         vpslld  $14,%ymm4,%ymm5
4531         rorxl   $13,%eax,%r14d
4532         rorxl   $2,%eax,%r13d
4533         leal    (%rdx,%r11,1),%edx
4534         vpxor   %ymm6,%ymm7,%ymm4
4535         andl    %r15d,%edi
4536         xorl    %r12d,%r14d
4537         xorl    %ebx,%edi
4538         vpshufd $250,%ymm1,%ymm7
4539         xorl    %r13d,%r14d
4540         leal    (%r11,%rdi,1),%r11d
4541         movl    %r8d,%r12d
4542         vpsrld  $11,%ymm6,%ymm6
4543         addl    4+128(%rsp),%r10d
4544         andl    %edx,%r12d
4545         rorxl   $25,%edx,%r13d
4546         vpxor   %ymm5,%ymm4,%ymm4
4547         rorxl   $11,%edx,%edi
4548         leal    (%r11,%r14,1),%r11d
4549         leal    (%r10,%r12,1),%r10d
4550         vpslld  $11,%ymm5,%ymm5
4551         andnl   %r9d,%edx,%r12d
4552         xorl    %edi,%r13d
4553         rorxl   $6,%edx,%r14d
4554         vpxor   %ymm6,%ymm4,%ymm4
4555         leal    (%r10,%r12,1),%r10d
4556         xorl    %r14d,%r13d
4557         movl    %r11d,%edi
4558         vpsrld  $10,%ymm7,%ymm6
4559         rorxl   $22,%r11d,%r12d
4560         leal    (%r10,%r13,1),%r10d
4561         xorl    %eax,%edi
4562         vpxor   %ymm5,%ymm4,%ymm4
4563         rorxl   $13,%r11d,%r14d
4564         rorxl   $2,%r11d,%r13d
4565         leal    (%rcx,%r10,1),%ecx
4566         vpsrlq  $17,%ymm7,%ymm7
4567         andl    %edi,%r15d
4568         xorl    %r12d,%r14d
4569         xorl    %eax,%r15d
4570         vpaddd  %ymm4,%ymm2,%ymm2
4571         xorl    %r13d,%r14d
4572         leal    (%r10,%r15,1),%r10d
4573         movl    %edx,%r12d
4574         vpxor   %ymm7,%ymm6,%ymm6
4575         addl    8+128(%rsp),%r9d
4576         andl    %ecx,%r12d
4577         rorxl   $25,%ecx,%r13d
4578         vpsrlq  $2,%ymm7,%ymm7
4579         rorxl   $11,%ecx,%r15d
4580         leal    (%r10,%r14,1),%r10d
4581         leal    (%r9,%r12,1),%r9d
4582         vpxor   %ymm7,%ymm6,%ymm6
4583         andnl   %r8d,%ecx,%r12d
4584         xorl    %r15d,%r13d
4585         rorxl   $6,%ecx,%r14d
4586         vpshufb %ymm8,%ymm6,%ymm6
4587         leal    (%r9,%r12,1),%r9d
4588         xorl    %r14d,%r13d
4589         movl    %r10d,%r15d
4590         vpaddd  %ymm6,%ymm2,%ymm2
4591         rorxl   $22,%r10d,%r12d
4592         leal    (%r9,%r13,1),%r9d
4593         xorl    %r11d,%r15d
4594         vpshufd $80,%ymm2,%ymm7
4595         rorxl   $13,%r10d,%r14d
4596         rorxl   $2,%r10d,%r13d
4597         leal    (%rbx,%r9,1),%ebx
4598         vpsrld  $10,%ymm7,%ymm6
4599         andl    %r15d,%edi
4600         xorl    %r12d,%r14d
4601         xorl    %r11d,%edi
4602         vpsrlq  $17,%ymm7,%ymm7
4603         xorl    %r13d,%r14d
4604         leal    (%r9,%rdi,1),%r9d
4605         movl    %ecx,%r12d
4606         vpxor   %ymm7,%ymm6,%ymm6
4607         addl    12+128(%rsp),%r8d
4608         andl    %ebx,%r12d
4609         rorxl   $25,%ebx,%r13d
4610         vpsrlq  $2,%ymm7,%ymm7
4611         rorxl   $11,%ebx,%edi
4612         leal    (%r9,%r14,1),%r9d
4613         leal    (%r8,%r12,1),%r8d
4614         vpxor   %ymm7,%ymm6,%ymm6
4615         andnl   %edx,%ebx,%r12d
4616         xorl    %edi,%r13d
4617         rorxl   $6,%ebx,%r14d
4618         vpshufb %ymm9,%ymm6,%ymm6
4619         leal    (%r8,%r12,1),%r8d
4620         xorl    %r14d,%r13d
4621         movl    %r9d,%edi
4622         vpaddd  %ymm6,%ymm2,%ymm2
4623         rorxl   $22,%r9d,%r12d
4624         leal    (%r8,%r13,1),%r8d
4625         xorl    %r10d,%edi
4626         vpaddd  64(%rbp),%ymm2,%ymm6
4627         rorxl   $13,%r9d,%r14d
4628         rorxl   $2,%r9d,%r13d
4629         leal    (%rax,%r8,1),%eax
4630         andl    %edi,%r15d
4631         xorl    %r12d,%r14d
4632         xorl    %r10d,%r15d
4633         xorl    %r13d,%r14d
4634         leal    (%r8,%r15,1),%r8d
4635         movl    %ebx,%r12d
4636         vmovdqa %ymm6,0(%rsp)
4637         vpalignr        $4,%ymm3,%ymm0,%ymm4
4638         addl    32+128(%rsp),%edx
4639         andl    %eax,%r12d
4640         rorxl   $25,%eax,%r13d
4641         vpalignr        $4,%ymm1,%ymm2,%ymm7
4642         rorxl   $11,%eax,%r15d
4643         leal    (%r8,%r14,1),%r8d
4644         leal    (%rdx,%r12,1),%edx
4645         vpsrld  $7,%ymm4,%ymm6
4646         andnl   %ecx,%eax,%r12d
4647         xorl    %r15d,%r13d
4648         rorxl   $6,%eax,%r14d
4649         vpaddd  %ymm7,%ymm3,%ymm3
4650         leal    (%rdx,%r12,1),%edx
4651         xorl    %r14d,%r13d
4652         movl    %r8d,%r15d
4653         vpsrld  $3,%ymm4,%ymm7
4654         rorxl   $22,%r8d,%r12d
4655         leal    (%rdx,%r13,1),%edx
4656         xorl    %r9d,%r15d
4657         vpslld  $14,%ymm4,%ymm5
4658         rorxl   $13,%r8d,%r14d
4659         rorxl   $2,%r8d,%r13d
4660         leal    (%r11,%rdx,1),%r11d
4661         vpxor   %ymm6,%ymm7,%ymm4
4662         andl    %r15d,%edi
4663         xorl    %r12d,%r14d
4664         xorl    %r9d,%edi
4665         vpshufd $250,%ymm2,%ymm7
4666         xorl    %r13d,%r14d
4667         leal    (%rdx,%rdi,1),%edx
4668         movl    %eax,%r12d
4669         vpsrld  $11,%ymm6,%ymm6
4670         addl    36+128(%rsp),%ecx
4671         andl    %r11d,%r12d
4672         rorxl   $25,%r11d,%r13d
4673         vpxor   %ymm5,%ymm4,%ymm4
4674         rorxl   $11,%r11d,%edi
4675         leal    (%rdx,%r14,1),%edx
4676         leal    (%rcx,%r12,1),%ecx
4677         vpslld  $11,%ymm5,%ymm5
4678         andnl   %ebx,%r11d,%r12d
4679         xorl    %edi,%r13d
4680         rorxl   $6,%r11d,%r14d
4681         vpxor   %ymm6,%ymm4,%ymm4
4682         leal    (%rcx,%r12,1),%ecx
4683         xorl    %r14d,%r13d
4684         movl    %edx,%edi
4685         vpsrld  $10,%ymm7,%ymm6
4686         rorxl   $22,%edx,%r12d
4687         leal    (%rcx,%r13,1),%ecx
4688         xorl    %r8d,%edi
4689         vpxor   %ymm5,%ymm4,%ymm4
4690         rorxl   $13,%edx,%r14d
4691         rorxl   $2,%edx,%r13d
4692         leal    (%r10,%rcx,1),%r10d
4693         vpsrlq  $17,%ymm7,%ymm7
4694         andl    %edi,%r15d
4695         xorl    %r12d,%r14d
4696         xorl    %r8d,%r15d
4697         vpaddd  %ymm4,%ymm3,%ymm3
4698         xorl    %r13d,%r14d
4699         leal    (%rcx,%r15,1),%ecx
4700         movl    %r11d,%r12d
4701         vpxor   %ymm7,%ymm6,%ymm6
4702         addl    40+128(%rsp),%ebx
4703         andl    %r10d,%r12d
4704         rorxl   $25,%r10d,%r13d
4705         vpsrlq  $2,%ymm7,%ymm7
4706         rorxl   $11,%r10d,%r15d
4707         leal    (%rcx,%r14,1),%ecx
4708         leal    (%rbx,%r12,1),%ebx
4709         vpxor   %ymm7,%ymm6,%ymm6
4710         andnl   %eax,%r10d,%r12d
4711         xorl    %r15d,%r13d
4712         rorxl   $6,%r10d,%r14d
4713         vpshufb %ymm8,%ymm6,%ymm6
4714         leal    (%rbx,%r12,1),%ebx
4715         xorl    %r14d,%r13d
4716         movl    %ecx,%r15d
4717         vpaddd  %ymm6,%ymm3,%ymm3
4718         rorxl   $22,%ecx,%r12d
4719         leal    (%rbx,%r13,1),%ebx
4720         xorl    %edx,%r15d
4721         vpshufd $80,%ymm3,%ymm7
4722         rorxl   $13,%ecx,%r14d
4723         rorxl   $2,%ecx,%r13d
4724         leal    (%r9,%rbx,1),%r9d
4725         vpsrld  $10,%ymm7,%ymm6
4726         andl    %r15d,%edi
4727         xorl    %r12d,%r14d
4728         xorl    %edx,%edi
4729         vpsrlq  $17,%ymm7,%ymm7
4730         xorl    %r13d,%r14d
4731         leal    (%rbx,%rdi,1),%ebx
4732         movl    %r10d,%r12d
4733         vpxor   %ymm7,%ymm6,%ymm6
4734         addl    44+128(%rsp),%eax
4735         andl    %r9d,%r12d
4736         rorxl   $25,%r9d,%r13d
4737         vpsrlq  $2,%ymm7,%ymm7
4738         rorxl   $11,%r9d,%edi
4739         leal    (%rbx,%r14,1),%ebx
4740         leal    (%rax,%r12,1),%eax
4741         vpxor   %ymm7,%ymm6,%ymm6
4742         andnl   %r11d,%r9d,%r12d
4743         xorl    %edi,%r13d
4744         rorxl   $6,%r9d,%r14d
4745         vpshufb %ymm9,%ymm6,%ymm6
4746         leal    (%rax,%r12,1),%eax
4747         xorl    %r14d,%r13d
4748         movl    %ebx,%edi
4749         vpaddd  %ymm6,%ymm3,%ymm3
4750         rorxl   $22,%ebx,%r12d
4751         leal    (%rax,%r13,1),%eax
4752         xorl    %ecx,%edi
4753         vpaddd  96(%rbp),%ymm3,%ymm6
4754         rorxl   $13,%ebx,%r14d
4755         rorxl   $2,%ebx,%r13d
4756         leal    (%r8,%rax,1),%r8d
4757         andl    %edi,%r15d
4758         xorl    %r12d,%r14d
4759         xorl    %ecx,%r15d
4760         xorl    %r13d,%r14d
4761         leal    (%rax,%r15,1),%eax
4762         movl    %r9d,%r12d
4763         vmovdqa %ymm6,32(%rsp)
4764         leaq    128(%rbp),%rbp
4765         cmpb    $0,3(%rbp)
4766         jne     .Lavx2_00_47
4767         addl    0+64(%rsp),%r11d
4768         andl    %r8d,%r12d
4769         rorxl   $25,%r8d,%r13d
4770         rorxl   $11,%r8d,%r15d
4771         leal    (%rax,%r14,1),%eax
4772         leal    (%r11,%r12,1),%r11d
4773         andnl   %r10d,%r8d,%r12d
4774         xorl    %r15d,%r13d
4775         rorxl   $6,%r8d,%r14d
4776         leal    (%r11,%r12,1),%r11d
4777         xorl    %r14d,%r13d
4778         movl    %eax,%r15d
4779         rorxl   $22,%eax,%r12d
4780         leal    (%r11,%r13,1),%r11d
4781         xorl    %ebx,%r15d
4782         rorxl   $13,%eax,%r14d
4783         rorxl   $2,%eax,%r13d
4784         leal    (%rdx,%r11,1),%edx
4785         andl    %r15d,%edi
4786         xorl    %r12d,%r14d
4787         xorl    %ebx,%edi
4788         xorl    %r13d,%r14d
4789         leal    (%r11,%rdi,1),%r11d
4790         movl    %r8d,%r12d
4791         addl    4+64(%rsp),%r10d
4792         andl    %edx,%r12d
4793         rorxl   $25,%edx,%r13d
4794         rorxl   $11,%edx,%edi
4795         leal    (%r11,%r14,1),%r11d
4796         leal    (%r10,%r12,1),%r10d
4797         andnl   %r9d,%edx,%r12d
4798         xorl    %edi,%r13d
4799         rorxl   $6,%edx,%r14d
4800         leal    (%r10,%r12,1),%r10d
4801         xorl    %r14d,%r13d
4802         movl    %r11d,%edi
4803         rorxl   $22,%r11d,%r12d
4804         leal    (%r10,%r13,1),%r10d
4805         xorl    %eax,%edi
4806         rorxl   $13,%r11d,%r14d
4807         rorxl   $2,%r11d,%r13d
4808         leal    (%rcx,%r10,1),%ecx
4809         andl    %edi,%r15d
4810         xorl    %r12d,%r14d
4811         xorl    %eax,%r15d
4812         xorl    %r13d,%r14d
4813         leal    (%r10,%r15,1),%r10d
4814         movl    %edx,%r12d
4815         addl    8+64(%rsp),%r9d
4816         andl    %ecx,%r12d
4817         rorxl   $25,%ecx,%r13d
4818         rorxl   $11,%ecx,%r15d
4819         leal    (%r10,%r14,1),%r10d
4820         leal    (%r9,%r12,1),%r9d
4821         andnl   %r8d,%ecx,%r12d
4822         xorl    %r15d,%r13d
4823         rorxl   $6,%ecx,%r14d
4824         leal    (%r9,%r12,1),%r9d
4825         xorl    %r14d,%r13d
4826         movl    %r10d,%r15d
4827         rorxl   $22,%r10d,%r12d
4828         leal    (%r9,%r13,1),%r9d
4829         xorl    %r11d,%r15d
4830         rorxl   $13,%r10d,%r14d
4831         rorxl   $2,%r10d,%r13d
4832         leal    (%rbx,%r9,1),%ebx
4833         andl    %r15d,%edi
4834         xorl    %r12d,%r14d
4835         xorl    %r11d,%edi
4836         xorl    %r13d,%r14d
4837         leal    (%r9,%rdi,1),%r9d
4838         movl    %ecx,%r12d
4839         addl    12+64(%rsp),%r8d
4840         andl    %ebx,%r12d
4841         rorxl   $25,%ebx,%r13d
4842         rorxl   $11,%ebx,%edi
4843         leal    (%r9,%r14,1),%r9d
4844         leal    (%r8,%r12,1),%r8d
4845         andnl   %edx,%ebx,%r12d
4846         xorl    %edi,%r13d
4847         rorxl   $6,%ebx,%r14d
4848         leal    (%r8,%r12,1),%r8d
4849         xorl    %r14d,%r13d
4850         movl    %r9d,%edi
4851         rorxl   $22,%r9d,%r12d
4852         leal    (%r8,%r13,1),%r8d
4853         xorl    %r10d,%edi
4854         rorxl   $13,%r9d,%r14d
4855         rorxl   $2,%r9d,%r13d
4856         leal    (%rax,%r8,1),%eax
4857         andl    %edi,%r15d
4858         xorl    %r12d,%r14d
4859         xorl    %r10d,%r15d
4860         xorl    %r13d,%r14d
4861         leal    (%r8,%r15,1),%r8d
4862         movl    %ebx,%r12d
4863         addl    32+64(%rsp),%edx
4864         andl    %eax,%r12d
4865         rorxl   $25,%eax,%r13d
4866         rorxl   $11,%eax,%r15d
4867         leal    (%r8,%r14,1),%r8d
4868         leal    (%rdx,%r12,1),%edx
4869         andnl   %ecx,%eax,%r12d
4870         xorl    %r15d,%r13d
4871         rorxl   $6,%eax,%r14d
4872         leal    (%rdx,%r12,1),%edx
4873         xorl    %r14d,%r13d
4874         movl    %r8d,%r15d
4875         rorxl   $22,%r8d,%r12d
4876         leal    (%rdx,%r13,1),%edx
4877         xorl    %r9d,%r15d
4878         rorxl   $13,%r8d,%r14d
4879         rorxl   $2,%r8d,%r13d
4880         leal    (%r11,%rdx,1),%r11d
4881         andl    %r15d,%edi
4882         xorl    %r12d,%r14d
4883         xorl    %r9d,%edi
4884         xorl    %r13d,%r14d
4885         leal    (%rdx,%rdi,1),%edx
4886         movl    %eax,%r12d
4887         addl    36+64(%rsp),%ecx
4888         andl    %r11d,%r12d
4889         rorxl   $25,%r11d,%r13d
4890         rorxl   $11,%r11d,%edi
4891         leal    (%rdx,%r14,1),%edx
4892         leal    (%rcx,%r12,1),%ecx
4893         andnl   %ebx,%r11d,%r12d
4894         xorl    %edi,%r13d
4895         rorxl   $6,%r11d,%r14d
4896         leal    (%rcx,%r12,1),%ecx
4897         xorl    %r14d,%r13d
4898         movl    %edx,%edi
4899         rorxl   $22,%edx,%r12d
4900         leal    (%rcx,%r13,1),%ecx
4901         xorl    %r8d,%edi
4902         rorxl   $13,%edx,%r14d
4903         rorxl   $2,%edx,%r13d
4904         leal    (%r10,%rcx,1),%r10d
4905         andl    %edi,%r15d
4906         xorl    %r12d,%r14d
4907         xorl    %r8d,%r15d
4908         xorl    %r13d,%r14d
4909         leal    (%rcx,%r15,1),%ecx
4910         movl    %r11d,%r12d
4911         addl    40+64(%rsp),%ebx
4912         andl    %r10d,%r12d
4913         rorxl   $25,%r10d,%r13d
4914         rorxl   $11,%r10d,%r15d
4915         leal    (%rcx,%r14,1),%ecx
4916         leal    (%rbx,%r12,1),%ebx
4917         andnl   %eax,%r10d,%r12d
4918         xorl    %r15d,%r13d
4919         rorxl   $6,%r10d,%r14d
4920         leal    (%rbx,%r12,1),%ebx
4921         xorl    %r14d,%r13d
4922         movl    %ecx,%r15d
4923         rorxl   $22,%ecx,%r12d
4924         leal    (%rbx,%r13,1),%ebx
4925         xorl    %edx,%r15d
4926         rorxl   $13,%ecx,%r14d
4927         rorxl   $2,%ecx,%r13d
4928         leal    (%r9,%rbx,1),%r9d
4929         andl    %r15d,%edi
4930         xorl    %r12d,%r14d
4931         xorl    %edx,%edi
4932         xorl    %r13d,%r14d
4933         leal    (%rbx,%rdi,1),%ebx
4934         movl    %r10d,%r12d
4935         addl    44+64(%rsp),%eax
4936         andl    %r9d,%r12d
4937         rorxl   $25,%r9d,%r13d
4938         rorxl   $11,%r9d,%edi
4939         leal    (%rbx,%r14,1),%ebx
4940         leal    (%rax,%r12,1),%eax
4941         andnl   %r11d,%r9d,%r12d
4942         xorl    %edi,%r13d
4943         rorxl   $6,%r9d,%r14d
4944         leal    (%rax,%r12,1),%eax
4945         xorl    %r14d,%r13d
4946         movl    %ebx,%edi
4947         rorxl   $22,%ebx,%r12d
4948         leal    (%rax,%r13,1),%eax
4949         xorl    %ecx,%edi
4950         rorxl   $13,%ebx,%r14d
4951         rorxl   $2,%ebx,%r13d
4952         leal    (%r8,%rax,1),%r8d
4953         andl    %edi,%r15d
4954         xorl    %r12d,%r14d
4955         xorl    %ecx,%r15d
4956         xorl    %r13d,%r14d
4957         leal    (%rax,%r15,1),%eax
4958         movl    %r9d,%r12d
4959         addl    0(%rsp),%r11d
4960         andl    %r8d,%r12d
4961         rorxl   $25,%r8d,%r13d
4962         rorxl   $11,%r8d,%r15d
4963         leal    (%rax,%r14,1),%eax
4964         leal    (%r11,%r12,1),%r11d
4965         andnl   %r10d,%r8d,%r12d
4966         xorl    %r15d,%r13d
4967         rorxl   $6,%r8d,%r14d
4968         leal    (%r11,%r12,1),%r11d
4969         xorl    %r14d,%r13d
4970         movl    %eax,%r15d
4971         rorxl   $22,%eax,%r12d
4972         leal    (%r11,%r13,1),%r11d
4973         xorl    %ebx,%r15d
4974         rorxl   $13,%eax,%r14d
4975         rorxl   $2,%eax,%r13d
4976         leal    (%rdx,%r11,1),%edx
4977         andl    %r15d,%edi
4978         xorl    %r12d,%r14d
4979         xorl    %ebx,%edi
4980         xorl    %r13d,%r14d
4981         leal    (%r11,%rdi,1),%r11d
4982         movl    %r8d,%r12d
4983         addl    4(%rsp),%r10d
4984         andl    %edx,%r12d
4985         rorxl   $25,%edx,%r13d
4986         rorxl   $11,%edx,%edi
4987         leal    (%r11,%r14,1),%r11d
4988         leal    (%r10,%r12,1),%r10d
4989         andnl   %r9d,%edx,%r12d
4990         xorl    %edi,%r13d
4991         rorxl   $6,%edx,%r14d
4992         leal    (%r10,%r12,1),%r10d
4993         xorl    %r14d,%r13d
4994         movl    %r11d,%edi
4995         rorxl   $22,%r11d,%r12d
4996         leal    (%r10,%r13,1),%r10d
4997         xorl    %eax,%edi
4998         rorxl   $13,%r11d,%r14d
4999         rorxl   $2,%r11d,%r13d
5000         leal    (%rcx,%r10,1),%ecx
5001         andl    %edi,%r15d
5002         xorl    %r12d,%r14d
5003         xorl    %eax,%r15d
5004         xorl    %r13d,%r14d
5005         leal    (%r10,%r15,1),%r10d
5006         movl    %edx,%r12d
5007         addl    8(%rsp),%r9d
5008         andl    %ecx,%r12d
5009         rorxl   $25,%ecx,%r13d
5010         rorxl   $11,%ecx,%r15d
5011         leal    (%r10,%r14,1),%r10d
5012         leal    (%r9,%r12,1),%r9d
5013         andnl   %r8d,%ecx,%r12d
5014         xorl    %r15d,%r13d
5015         rorxl   $6,%ecx,%r14d
5016         leal    (%r9,%r12,1),%r9d
5017         xorl    %r14d,%r13d
5018         movl    %r10d,%r15d
5019         rorxl   $22,%r10d,%r12d
5020         leal    (%r9,%r13,1),%r9d
5021         xorl    %r11d,%r15d
5022         rorxl   $13,%r10d,%r14d
5023         rorxl   $2,%r10d,%r13d
5024         leal    (%rbx,%r9,1),%ebx
5025         andl    %r15d,%edi
5026         xorl    %r12d,%r14d
5027         xorl    %r11d,%edi
5028         xorl    %r13d,%r14d
5029         leal    (%r9,%rdi,1),%r9d
5030         movl    %ecx,%r12d
5031         addl    12(%rsp),%r8d
5032         andl    %ebx,%r12d
5033         rorxl   $25,%ebx,%r13d
5034         rorxl   $11,%ebx,%edi
5035         leal    (%r9,%r14,1),%r9d
5036         leal    (%r8,%r12,1),%r8d
5037         andnl   %edx,%ebx,%r12d
5038         xorl    %edi,%r13d
5039         rorxl   $6,%ebx,%r14d
5040         leal    (%r8,%r12,1),%r8d
5041         xorl    %r14d,%r13d
5042         movl    %r9d,%edi
5043         rorxl   $22,%r9d,%r12d
5044         leal    (%r8,%r13,1),%r8d
5045         xorl    %r10d,%edi
5046         rorxl   $13,%r9d,%r14d
5047         rorxl   $2,%r9d,%r13d
5048         leal    (%rax,%r8,1),%eax
5049         andl    %edi,%r15d
5050         xorl    %r12d,%r14d
5051         xorl    %r10d,%r15d
5052         xorl    %r13d,%r14d
5053         leal    (%r8,%r15,1),%r8d
5054         movl    %ebx,%r12d
5055         addl    32(%rsp),%edx
5056         andl    %eax,%r12d
5057         rorxl   $25,%eax,%r13d
5058         rorxl   $11,%eax,%r15d
5059         leal    (%r8,%r14,1),%r8d
5060         leal    (%rdx,%r12,1),%edx
5061         andnl   %ecx,%eax,%r12d
5062         xorl    %r15d,%r13d
5063         rorxl   $6,%eax,%r14d
5064         leal    (%rdx,%r12,1),%edx
5065         xorl    %r14d,%r13d
5066         movl    %r8d,%r15d
5067         rorxl   $22,%r8d,%r12d
5068         leal    (%rdx,%r13,1),%edx
5069         xorl    %r9d,%r15d
5070         rorxl   $13,%r8d,%r14d
5071         rorxl   $2,%r8d,%r13d
5072         leal    (%r11,%rdx,1),%r11d
5073         andl    %r15d,%edi
5074         xorl    %r12d,%r14d
5075         xorl    %r9d,%edi
5076         xorl    %r13d,%r14d
5077         leal    (%rdx,%rdi,1),%edx
5078         movl    %eax,%r12d
5079         addl    36(%rsp),%ecx
5080         andl    %r11d,%r12d
5081         rorxl   $25,%r11d,%r13d
5082         rorxl   $11,%r11d,%edi
5083         leal    (%rdx,%r14,1),%edx
5084         leal    (%rcx,%r12,1),%ecx
5085         andnl   %ebx,%r11d,%r12d
5086         xorl    %edi,%r13d
5087         rorxl   $6,%r11d,%r14d
5088         leal    (%rcx,%r12,1),%ecx
5089         xorl    %r14d,%r13d
5090         movl    %edx,%edi
5091         rorxl   $22,%edx,%r12d
5092         leal    (%rcx,%r13,1),%ecx
5093         xorl    %r8d,%edi
5094         rorxl   $13,%edx,%r14d
5095         rorxl   $2,%edx,%r13d
5096         leal    (%r10,%rcx,1),%r10d
5097         andl    %edi,%r15d
5098         xorl    %r12d,%r14d
5099         xorl    %r8d,%r15d
5100         xorl    %r13d,%r14d
5101         leal    (%rcx,%r15,1),%ecx
5102         movl    %r11d,%r12d
5103         addl    40(%rsp),%ebx
5104         andl    %r10d,%r12d
5105         rorxl   $25,%r10d,%r13d
5106         rorxl   $11,%r10d,%r15d
5107         leal    (%rcx,%r14,1),%ecx
5108         leal    (%rbx,%r12,1),%ebx
5109         andnl   %eax,%r10d,%r12d
5110         xorl    %r15d,%r13d
5111         rorxl   $6,%r10d,%r14d
5112         leal    (%rbx,%r12,1),%ebx
5113         xorl    %r14d,%r13d
5114         movl    %ecx,%r15d
5115         rorxl   $22,%ecx,%r12d
5116         leal    (%rbx,%r13,1),%ebx
5117         xorl    %edx,%r15d
5118         rorxl   $13,%ecx,%r14d
5119         rorxl   $2,%ecx,%r13d
5120         leal    (%r9,%rbx,1),%r9d
5121         andl    %r15d,%edi
5122         xorl    %r12d,%r14d
5123         xorl    %edx,%edi
5124         xorl    %r13d,%r14d
5125         leal    (%rbx,%rdi,1),%ebx
5126         movl    %r10d,%r12d
5127         addl    44(%rsp),%eax
5128         andl    %r9d,%r12d
5129         rorxl   $25,%r9d,%r13d
5130         rorxl   $11,%r9d,%edi
5131         leal    (%rbx,%r14,1),%ebx
5132         leal    (%rax,%r12,1),%eax
5133         andnl   %r11d,%r9d,%r12d
5134         xorl    %edi,%r13d
5135         rorxl   $6,%r9d,%r14d
5136         leal    (%rax,%r12,1),%eax
5137         xorl    %r14d,%r13d
5138         movl    %ebx,%edi
5139         rorxl   $22,%ebx,%r12d
5140         leal    (%rax,%r13,1),%eax
5141         xorl    %ecx,%edi
5142         rorxl   $13,%ebx,%r14d
5143         rorxl   $2,%ebx,%r13d
5144         leal    (%r8,%rax,1),%r8d
5145         andl    %edi,%r15d
5146         xorl    %r12d,%r14d
5147         xorl    %ecx,%r15d
5148         xorl    %r13d,%r14d
5149         leal    (%rax,%r15,1),%eax
5150         movl    %r9d,%r12d
5151         movq    512(%rsp),%rdi
5152         addl    %r14d,%eax
5153
5154         leaq    448(%rsp),%rbp
5155
5156         addl    0(%rdi),%eax
5157         addl    4(%rdi),%ebx
5158         addl    8(%rdi),%ecx
5159         addl    12(%rdi),%edx
5160         addl    16(%rdi),%r8d
5161         addl    20(%rdi),%r9d
5162         addl    24(%rdi),%r10d
5163         addl    28(%rdi),%r11d
5164
5165         movl    %eax,0(%rdi)
5166         movl    %ebx,4(%rdi)
5167         movl    %ecx,8(%rdi)
5168         movl    %edx,12(%rdi)
5169         movl    %r8d,16(%rdi)
5170         movl    %r9d,20(%rdi)
5171         movl    %r10d,24(%rdi)
5172         movl    %r11d,28(%rdi)
5173
5174         cmpq    80(%rbp),%rsi
5175         je      .Ldone_avx2
5176
5177         xorl    %r14d,%r14d
5178         movl    %ebx,%edi
5179         xorl    %ecx,%edi
5180         movl    %r9d,%r12d
5181         jmp     .Lower_avx2
5182 .align  16
5183 .Lower_avx2:
5184         addl    0+16(%rbp),%r11d
5185         andl    %r8d,%r12d
5186         rorxl   $25,%r8d,%r13d
5187         rorxl   $11,%r8d,%r15d
5188         leal    (%rax,%r14,1),%eax
5189         leal    (%r11,%r12,1),%r11d
5190         andnl   %r10d,%r8d,%r12d
5191         xorl    %r15d,%r13d
5192         rorxl   $6,%r8d,%r14d
5193         leal    (%r11,%r12,1),%r11d
5194         xorl    %r14d,%r13d
5195         movl    %eax,%r15d
5196         rorxl   $22,%eax,%r12d
5197         leal    (%r11,%r13,1),%r11d
5198         xorl    %ebx,%r15d
5199         rorxl   $13,%eax,%r14d
5200         rorxl   $2,%eax,%r13d
5201         leal    (%rdx,%r11,1),%edx
5202         andl    %r15d,%edi
5203         xorl    %r12d,%r14d
5204         xorl    %ebx,%edi
5205         xorl    %r13d,%r14d
5206         leal    (%r11,%rdi,1),%r11d
5207         movl    %r8d,%r12d
5208         addl    4+16(%rbp),%r10d
5209         andl    %edx,%r12d
5210         rorxl   $25,%edx,%r13d
5211         rorxl   $11,%edx,%edi
5212         leal    (%r11,%r14,1),%r11d
5213         leal    (%r10,%r12,1),%r10d
5214         andnl   %r9d,%edx,%r12d
5215         xorl    %edi,%r13d
5216         rorxl   $6,%edx,%r14d
5217         leal    (%r10,%r12,1),%r10d
5218         xorl    %r14d,%r13d
5219         movl    %r11d,%edi
5220         rorxl   $22,%r11d,%r12d
5221         leal    (%r10,%r13,1),%r10d
5222         xorl    %eax,%edi
5223         rorxl   $13,%r11d,%r14d
5224         rorxl   $2,%r11d,%r13d
5225         leal    (%rcx,%r10,1),%ecx
5226         andl    %edi,%r15d
5227         xorl    %r12d,%r14d
5228         xorl    %eax,%r15d
5229         xorl    %r13d,%r14d
5230         leal    (%r10,%r15,1),%r10d
5231         movl    %edx,%r12d
5232         addl    8+16(%rbp),%r9d
5233         andl    %ecx,%r12d
5234         rorxl   $25,%ecx,%r13d
5235         rorxl   $11,%ecx,%r15d
5236         leal    (%r10,%r14,1),%r10d
5237         leal    (%r9,%r12,1),%r9d
5238         andnl   %r8d,%ecx,%r12d
5239         xorl    %r15d,%r13d
5240         rorxl   $6,%ecx,%r14d
5241         leal    (%r9,%r12,1),%r9d
5242         xorl    %r14d,%r13d
5243         movl    %r10d,%r15d
5244         rorxl   $22,%r10d,%r12d
5245         leal    (%r9,%r13,1),%r9d
5246         xorl    %r11d,%r15d
5247         rorxl   $13,%r10d,%r14d
5248         rorxl   $2,%r10d,%r13d
5249         leal    (%rbx,%r9,1),%ebx
5250         andl    %r15d,%edi
5251         xorl    %r12d,%r14d
5252         xorl    %r11d,%edi
5253         xorl    %r13d,%r14d
5254         leal    (%r9,%rdi,1),%r9d
5255         movl    %ecx,%r12d
5256         addl    12+16(%rbp),%r8d
5257         andl    %ebx,%r12d
5258         rorxl   $25,%ebx,%r13d
5259         rorxl   $11,%ebx,%edi
5260         leal    (%r9,%r14,1),%r9d
5261         leal    (%r8,%r12,1),%r8d
5262         andnl   %edx,%ebx,%r12d
5263         xorl    %edi,%r13d
5264         rorxl   $6,%ebx,%r14d
5265         leal    (%r8,%r12,1),%r8d
5266         xorl    %r14d,%r13d
5267         movl    %r9d,%edi
5268         rorxl   $22,%r9d,%r12d
5269         leal    (%r8,%r13,1),%r8d
5270         xorl    %r10d,%edi
5271         rorxl   $13,%r9d,%r14d
5272         rorxl   $2,%r9d,%r13d
5273         leal    (%rax,%r8,1),%eax
5274         andl    %edi,%r15d
5275         xorl    %r12d,%r14d
5276         xorl    %r10d,%r15d
5277         xorl    %r13d,%r14d
5278         leal    (%r8,%r15,1),%r8d
5279         movl    %ebx,%r12d
5280         addl    32+16(%rbp),%edx
5281         andl    %eax,%r12d
5282         rorxl   $25,%eax,%r13d
5283         rorxl   $11,%eax,%r15d
5284         leal    (%r8,%r14,1),%r8d
5285         leal    (%rdx,%r12,1),%edx
5286         andnl   %ecx,%eax,%r12d
5287         xorl    %r15d,%r13d
5288         rorxl   $6,%eax,%r14d
5289         leal    (%rdx,%r12,1),%edx
5290         xorl    %r14d,%r13d
5291         movl    %r8d,%r15d
5292         rorxl   $22,%r8d,%r12d
5293         leal    (%rdx,%r13,1),%edx
5294         xorl    %r9d,%r15d
5295         rorxl   $13,%r8d,%r14d
5296         rorxl   $2,%r8d,%r13d
5297         leal    (%r11,%rdx,1),%r11d
5298         andl    %r15d,%edi
5299         xorl    %r12d,%r14d
5300         xorl    %r9d,%edi
5301         xorl    %r13d,%r14d
5302         leal    (%rdx,%rdi,1),%edx
5303         movl    %eax,%r12d
5304         addl    36+16(%rbp),%ecx
5305         andl    %r11d,%r12d
5306         rorxl   $25,%r11d,%r13d
5307         rorxl   $11,%r11d,%edi
5308         leal    (%rdx,%r14,1),%edx
5309         leal    (%rcx,%r12,1),%ecx
5310         andnl   %ebx,%r11d,%r12d
5311         xorl    %edi,%r13d
5312         rorxl   $6,%r11d,%r14d
5313         leal    (%rcx,%r12,1),%ecx
5314         xorl    %r14d,%r13d
5315         movl    %edx,%edi
5316         rorxl   $22,%edx,%r12d
5317         leal    (%rcx,%r13,1),%ecx
5318         xorl    %r8d,%edi
5319         rorxl   $13,%edx,%r14d
5320         rorxl   $2,%edx,%r13d
5321         leal    (%r10,%rcx,1),%r10d
5322         andl    %edi,%r15d
5323         xorl    %r12d,%r14d
5324         xorl    %r8d,%r15d
5325         xorl    %r13d,%r14d
5326         leal    (%rcx,%r15,1),%ecx
5327         movl    %r11d,%r12d
5328         addl    40+16(%rbp),%ebx
5329         andl    %r10d,%r12d
5330         rorxl   $25,%r10d,%r13d
5331         rorxl   $11,%r10d,%r15d
5332         leal    (%rcx,%r14,1),%ecx
5333         leal    (%rbx,%r12,1),%ebx
5334         andnl   %eax,%r10d,%r12d
5335         xorl    %r15d,%r13d
5336         rorxl   $6,%r10d,%r14d
5337         leal    (%rbx,%r12,1),%ebx
5338         xorl    %r14d,%r13d
5339         movl    %ecx,%r15d
5340         rorxl   $22,%ecx,%r12d
5341         leal    (%rbx,%r13,1),%ebx
5342         xorl    %edx,%r15d
5343         rorxl   $13,%ecx,%r14d
5344         rorxl   $2,%ecx,%r13d
5345         leal    (%r9,%rbx,1),%r9d
5346         andl    %r15d,%edi
5347         xorl    %r12d,%r14d
5348         xorl    %edx,%edi
5349         xorl    %r13d,%r14d
5350         leal    (%rbx,%rdi,1),%ebx
5351         movl    %r10d,%r12d
5352         addl    44+16(%rbp),%eax
5353         andl    %r9d,%r12d
5354         rorxl   $25,%r9d,%r13d
5355         rorxl   $11,%r9d,%edi
5356         leal    (%rbx,%r14,1),%ebx
5357         leal    (%rax,%r12,1),%eax
5358         andnl   %r11d,%r9d,%r12d
5359         xorl    %edi,%r13d
5360         rorxl   $6,%r9d,%r14d
5361         leal    (%rax,%r12,1),%eax
5362         xorl    %r14d,%r13d
5363         movl    %ebx,%edi
5364         rorxl   $22,%ebx,%r12d
5365         leal    (%rax,%r13,1),%eax
5366         xorl    %ecx,%edi
5367         rorxl   $13,%ebx,%r14d
5368         rorxl   $2,%ebx,%r13d
5369         leal    (%r8,%rax,1),%r8d
5370         andl    %edi,%r15d
5371         xorl    %r12d,%r14d
5372         xorl    %ecx,%r15d
5373         xorl    %r13d,%r14d
5374         leal    (%rax,%r15,1),%eax
5375         movl    %r9d,%r12d
5376         leaq    -64(%rbp),%rbp
5377         cmpq    %rsp,%rbp
5378         jae     .Lower_avx2
5379
5380         movq    512(%rsp),%rdi
5381         addl    %r14d,%eax
5382
5383         leaq    448(%rsp),%rsp
5384
5385         addl    0(%rdi),%eax
5386         addl    4(%rdi),%ebx
5387         addl    8(%rdi),%ecx
5388         addl    12(%rdi),%edx
5389         addl    16(%rdi),%r8d
5390         addl    20(%rdi),%r9d
5391         leaq    128(%rsi),%rsi
5392         addl    24(%rdi),%r10d
5393         movq    %rsi,%r12
5394         addl    28(%rdi),%r11d
5395         cmpq    64+16(%rsp),%rsi
5396
5397         movl    %eax,0(%rdi)
5398         cmoveq  %rsp,%r12
5399         movl    %ebx,4(%rdi)
5400         movl    %ecx,8(%rdi)
5401         movl    %edx,12(%rdi)
5402         movl    %r8d,16(%rdi)
5403         movl    %r9d,20(%rdi)
5404         movl    %r10d,24(%rdi)
5405         movl    %r11d,28(%rdi)
5406
5407         jbe     .Loop_avx2
5408         leaq    (%rsp),%rbp
5409
5410 .Ldone_avx2:
5411         leaq    (%rbp),%rsp
5412         movq    88(%rsp),%rsi
5413 .cfi_def_cfa    %rsi,8
5414         vzeroupper
5415         movq    -48(%rsi),%r15
5416 .cfi_restore    %r15
5417         movq    -40(%rsi),%r14
5418 .cfi_restore    %r14
5419         movq    -32(%rsi),%r13
5420 .cfi_restore    %r13
5421         movq    -24(%rsi),%r12
5422 .cfi_restore    %r12
5423         movq    -16(%rsi),%rbp
5424 .cfi_restore    %rbp
5425         movq    -8(%rsi),%rbx
5426 .cfi_restore    %rbx
5427         leaq    (%rsi),%rsp
5428 .cfi_def_cfa_register   %rsp
5429 .Lepilogue_avx2:
5430         .byte   0xf3,0xc3
5431 .cfi_endproc    
5432 .size   sha256_block_data_order_avx2,.-sha256_block_data_order_avx2