]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/crypto/openssl/amd64/sha256-x86_64.S
Move generated OpenSSL assembly routines into the kernel sources.
[FreeBSD/FreeBSD.git] / sys / crypto / openssl / 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 .cfi_startproc  
1781         leaq    K256+128(%rip),%rcx
1782         movdqu  (%rdi),%xmm1
1783         movdqu  16(%rdi),%xmm2
1784         movdqa  512-128(%rcx),%xmm7
1785
1786         pshufd  $0x1b,%xmm1,%xmm0
1787         pshufd  $0xb1,%xmm1,%xmm1
1788         pshufd  $0x1b,%xmm2,%xmm2
1789         movdqa  %xmm7,%xmm8
1790 .byte   102,15,58,15,202,8
1791         punpcklqdq      %xmm0,%xmm2
1792         jmp     .Loop_shaext
1793
1794 .align  16
1795 .Loop_shaext:
1796         movdqu  (%rsi),%xmm3
1797         movdqu  16(%rsi),%xmm4
1798         movdqu  32(%rsi),%xmm5
1799 .byte   102,15,56,0,223
1800         movdqu  48(%rsi),%xmm6
1801
1802         movdqa  0-128(%rcx),%xmm0
1803         paddd   %xmm3,%xmm0
1804 .byte   102,15,56,0,231
1805         movdqa  %xmm2,%xmm10
1806 .byte   15,56,203,209
1807         pshufd  $0x0e,%xmm0,%xmm0
1808         nop
1809         movdqa  %xmm1,%xmm9
1810 .byte   15,56,203,202
1811
1812         movdqa  32-128(%rcx),%xmm0
1813         paddd   %xmm4,%xmm0
1814 .byte   102,15,56,0,239
1815 .byte   15,56,203,209
1816         pshufd  $0x0e,%xmm0,%xmm0
1817         leaq    64(%rsi),%rsi
1818 .byte   15,56,204,220
1819 .byte   15,56,203,202
1820
1821         movdqa  64-128(%rcx),%xmm0
1822         paddd   %xmm5,%xmm0
1823 .byte   102,15,56,0,247
1824 .byte   15,56,203,209
1825         pshufd  $0x0e,%xmm0,%xmm0
1826         movdqa  %xmm6,%xmm7
1827 .byte   102,15,58,15,253,4
1828         nop
1829         paddd   %xmm7,%xmm3
1830 .byte   15,56,204,229
1831 .byte   15,56,203,202
1832
1833         movdqa  96-128(%rcx),%xmm0
1834         paddd   %xmm6,%xmm0
1835 .byte   15,56,205,222
1836 .byte   15,56,203,209
1837         pshufd  $0x0e,%xmm0,%xmm0
1838         movdqa  %xmm3,%xmm7
1839 .byte   102,15,58,15,254,4
1840         nop
1841         paddd   %xmm7,%xmm4
1842 .byte   15,56,204,238
1843 .byte   15,56,203,202
1844         movdqa  128-128(%rcx),%xmm0
1845         paddd   %xmm3,%xmm0
1846 .byte   15,56,205,227
1847 .byte   15,56,203,209
1848         pshufd  $0x0e,%xmm0,%xmm0
1849         movdqa  %xmm4,%xmm7
1850 .byte   102,15,58,15,251,4
1851         nop
1852         paddd   %xmm7,%xmm5
1853 .byte   15,56,204,243
1854 .byte   15,56,203,202
1855         movdqa  160-128(%rcx),%xmm0
1856         paddd   %xmm4,%xmm0
1857 .byte   15,56,205,236
1858 .byte   15,56,203,209
1859         pshufd  $0x0e,%xmm0,%xmm0
1860         movdqa  %xmm5,%xmm7
1861 .byte   102,15,58,15,252,4
1862         nop
1863         paddd   %xmm7,%xmm6
1864 .byte   15,56,204,220
1865 .byte   15,56,203,202
1866         movdqa  192-128(%rcx),%xmm0
1867         paddd   %xmm5,%xmm0
1868 .byte   15,56,205,245
1869 .byte   15,56,203,209
1870         pshufd  $0x0e,%xmm0,%xmm0
1871         movdqa  %xmm6,%xmm7
1872 .byte   102,15,58,15,253,4
1873         nop
1874         paddd   %xmm7,%xmm3
1875 .byte   15,56,204,229
1876 .byte   15,56,203,202
1877         movdqa  224-128(%rcx),%xmm0
1878         paddd   %xmm6,%xmm0
1879 .byte   15,56,205,222
1880 .byte   15,56,203,209
1881         pshufd  $0x0e,%xmm0,%xmm0
1882         movdqa  %xmm3,%xmm7
1883 .byte   102,15,58,15,254,4
1884         nop
1885         paddd   %xmm7,%xmm4
1886 .byte   15,56,204,238
1887 .byte   15,56,203,202
1888         movdqa  256-128(%rcx),%xmm0
1889         paddd   %xmm3,%xmm0
1890 .byte   15,56,205,227
1891 .byte   15,56,203,209
1892         pshufd  $0x0e,%xmm0,%xmm0
1893         movdqa  %xmm4,%xmm7
1894 .byte   102,15,58,15,251,4
1895         nop
1896         paddd   %xmm7,%xmm5
1897 .byte   15,56,204,243
1898 .byte   15,56,203,202
1899         movdqa  288-128(%rcx),%xmm0
1900         paddd   %xmm4,%xmm0
1901 .byte   15,56,205,236
1902 .byte   15,56,203,209
1903         pshufd  $0x0e,%xmm0,%xmm0
1904         movdqa  %xmm5,%xmm7
1905 .byte   102,15,58,15,252,4
1906         nop
1907         paddd   %xmm7,%xmm6
1908 .byte   15,56,204,220
1909 .byte   15,56,203,202
1910         movdqa  320-128(%rcx),%xmm0
1911         paddd   %xmm5,%xmm0
1912 .byte   15,56,205,245
1913 .byte   15,56,203,209
1914         pshufd  $0x0e,%xmm0,%xmm0
1915         movdqa  %xmm6,%xmm7
1916 .byte   102,15,58,15,253,4
1917         nop
1918         paddd   %xmm7,%xmm3
1919 .byte   15,56,204,229
1920 .byte   15,56,203,202
1921         movdqa  352-128(%rcx),%xmm0
1922         paddd   %xmm6,%xmm0
1923 .byte   15,56,205,222
1924 .byte   15,56,203,209
1925         pshufd  $0x0e,%xmm0,%xmm0
1926         movdqa  %xmm3,%xmm7
1927 .byte   102,15,58,15,254,4
1928         nop
1929         paddd   %xmm7,%xmm4
1930 .byte   15,56,204,238
1931 .byte   15,56,203,202
1932         movdqa  384-128(%rcx),%xmm0
1933         paddd   %xmm3,%xmm0
1934 .byte   15,56,205,227
1935 .byte   15,56,203,209
1936         pshufd  $0x0e,%xmm0,%xmm0
1937         movdqa  %xmm4,%xmm7
1938 .byte   102,15,58,15,251,4
1939         nop
1940         paddd   %xmm7,%xmm5
1941 .byte   15,56,204,243
1942 .byte   15,56,203,202
1943         movdqa  416-128(%rcx),%xmm0
1944         paddd   %xmm4,%xmm0
1945 .byte   15,56,205,236
1946 .byte   15,56,203,209
1947         pshufd  $0x0e,%xmm0,%xmm0
1948         movdqa  %xmm5,%xmm7
1949 .byte   102,15,58,15,252,4
1950 .byte   15,56,203,202
1951         paddd   %xmm7,%xmm6
1952
1953         movdqa  448-128(%rcx),%xmm0
1954         paddd   %xmm5,%xmm0
1955 .byte   15,56,203,209
1956         pshufd  $0x0e,%xmm0,%xmm0
1957 .byte   15,56,205,245
1958         movdqa  %xmm8,%xmm7
1959 .byte   15,56,203,202
1960
1961         movdqa  480-128(%rcx),%xmm0
1962         paddd   %xmm6,%xmm0
1963         nop
1964 .byte   15,56,203,209
1965         pshufd  $0x0e,%xmm0,%xmm0
1966         decq    %rdx
1967         nop
1968 .byte   15,56,203,202
1969
1970         paddd   %xmm10,%xmm2
1971         paddd   %xmm9,%xmm1
1972         jnz     .Loop_shaext
1973
1974         pshufd  $0xb1,%xmm2,%xmm2
1975         pshufd  $0x1b,%xmm1,%xmm7
1976         pshufd  $0xb1,%xmm1,%xmm1
1977         punpckhqdq      %xmm2,%xmm1
1978 .byte   102,15,58,15,215,8
1979
1980         movdqu  %xmm1,(%rdi)
1981         movdqu  %xmm2,16(%rdi)
1982         .byte   0xf3,0xc3
1983 .cfi_endproc    
1984 .size   sha256_block_data_order_shaext,.-sha256_block_data_order_shaext
1985 .type   sha256_block_data_order_ssse3,@function
1986 .align  64
1987 sha256_block_data_order_ssse3:
1988 .cfi_startproc  
1989 .Lssse3_shortcut:
1990         movq    %rsp,%rax
1991 .cfi_def_cfa_register   %rax
1992         pushq   %rbx
1993 .cfi_offset     %rbx,-16
1994         pushq   %rbp
1995 .cfi_offset     %rbp,-24
1996         pushq   %r12
1997 .cfi_offset     %r12,-32
1998         pushq   %r13
1999 .cfi_offset     %r13,-40
2000         pushq   %r14
2001 .cfi_offset     %r14,-48
2002         pushq   %r15
2003 .cfi_offset     %r15,-56
2004         shlq    $4,%rdx
2005         subq    $96,%rsp
2006         leaq    (%rsi,%rdx,4),%rdx
2007         andq    $-64,%rsp
2008         movq    %rdi,64+0(%rsp)
2009         movq    %rsi,64+8(%rsp)
2010         movq    %rdx,64+16(%rsp)
2011         movq    %rax,88(%rsp)
2012 .cfi_escape     0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
2013 .Lprologue_ssse3:
2014
2015         movl    0(%rdi),%eax
2016         movl    4(%rdi),%ebx
2017         movl    8(%rdi),%ecx
2018         movl    12(%rdi),%edx
2019         movl    16(%rdi),%r8d
2020         movl    20(%rdi),%r9d
2021         movl    24(%rdi),%r10d
2022         movl    28(%rdi),%r11d
2023
2024
2025         jmp     .Lloop_ssse3
2026 .align  16
2027 .Lloop_ssse3:
2028         movdqa  K256+512(%rip),%xmm7
2029         movdqu  0(%rsi),%xmm0
2030         movdqu  16(%rsi),%xmm1
2031         movdqu  32(%rsi),%xmm2
2032 .byte   102,15,56,0,199
2033         movdqu  48(%rsi),%xmm3
2034         leaq    K256(%rip),%rbp
2035 .byte   102,15,56,0,207
2036         movdqa  0(%rbp),%xmm4
2037         movdqa  32(%rbp),%xmm5
2038 .byte   102,15,56,0,215
2039         paddd   %xmm0,%xmm4
2040         movdqa  64(%rbp),%xmm6
2041 .byte   102,15,56,0,223
2042         movdqa  96(%rbp),%xmm7
2043         paddd   %xmm1,%xmm5
2044         paddd   %xmm2,%xmm6
2045         paddd   %xmm3,%xmm7
2046         movdqa  %xmm4,0(%rsp)
2047         movl    %eax,%r14d
2048         movdqa  %xmm5,16(%rsp)
2049         movl    %ebx,%edi
2050         movdqa  %xmm6,32(%rsp)
2051         xorl    %ecx,%edi
2052         movdqa  %xmm7,48(%rsp)
2053         movl    %r8d,%r13d
2054         jmp     .Lssse3_00_47
2055
2056 .align  16
2057 .Lssse3_00_47:
2058         subq    $-128,%rbp
2059         rorl    $14,%r13d
2060         movdqa  %xmm1,%xmm4
2061         movl    %r14d,%eax
2062         movl    %r9d,%r12d
2063         movdqa  %xmm3,%xmm7
2064         rorl    $9,%r14d
2065         xorl    %r8d,%r13d
2066         xorl    %r10d,%r12d
2067         rorl    $5,%r13d
2068         xorl    %eax,%r14d
2069 .byte   102,15,58,15,224,4
2070         andl    %r8d,%r12d
2071         xorl    %r8d,%r13d
2072 .byte   102,15,58,15,250,4
2073         addl    0(%rsp),%r11d
2074         movl    %eax,%r15d
2075         xorl    %r10d,%r12d
2076         rorl    $11,%r14d
2077         movdqa  %xmm4,%xmm5
2078         xorl    %ebx,%r15d
2079         addl    %r12d,%r11d
2080         movdqa  %xmm4,%xmm6
2081         rorl    $6,%r13d
2082         andl    %r15d,%edi
2083         psrld   $3,%xmm4
2084         xorl    %eax,%r14d
2085         addl    %r13d,%r11d
2086         xorl    %ebx,%edi
2087         paddd   %xmm7,%xmm0
2088         rorl    $2,%r14d
2089         addl    %r11d,%edx
2090         psrld   $7,%xmm6
2091         addl    %edi,%r11d
2092         movl    %edx,%r13d
2093         pshufd  $250,%xmm3,%xmm7
2094         addl    %r11d,%r14d
2095         rorl    $14,%r13d
2096         pslld   $14,%xmm5
2097         movl    %r14d,%r11d
2098         movl    %r8d,%r12d
2099         pxor    %xmm6,%xmm4
2100         rorl    $9,%r14d
2101         xorl    %edx,%r13d
2102         xorl    %r9d,%r12d
2103         rorl    $5,%r13d
2104         psrld   $11,%xmm6
2105         xorl    %r11d,%r14d
2106         pxor    %xmm5,%xmm4
2107         andl    %edx,%r12d
2108         xorl    %edx,%r13d
2109         pslld   $11,%xmm5
2110         addl    4(%rsp),%r10d
2111         movl    %r11d,%edi
2112         pxor    %xmm6,%xmm4
2113         xorl    %r9d,%r12d
2114         rorl    $11,%r14d
2115         movdqa  %xmm7,%xmm6
2116         xorl    %eax,%edi
2117         addl    %r12d,%r10d
2118         pxor    %xmm5,%xmm4
2119         rorl    $6,%r13d
2120         andl    %edi,%r15d
2121         xorl    %r11d,%r14d
2122         psrld   $10,%xmm7
2123         addl    %r13d,%r10d
2124         xorl    %eax,%r15d
2125         paddd   %xmm4,%xmm0
2126         rorl    $2,%r14d
2127         addl    %r10d,%ecx
2128         psrlq   $17,%xmm6
2129         addl    %r15d,%r10d
2130         movl    %ecx,%r13d
2131         addl    %r10d,%r14d
2132         pxor    %xmm6,%xmm7
2133         rorl    $14,%r13d
2134         movl    %r14d,%r10d
2135         movl    %edx,%r12d
2136         rorl    $9,%r14d
2137         psrlq   $2,%xmm6
2138         xorl    %ecx,%r13d
2139         xorl    %r8d,%r12d
2140         pxor    %xmm6,%xmm7
2141         rorl    $5,%r13d
2142         xorl    %r10d,%r14d
2143         andl    %ecx,%r12d
2144         pshufd  $128,%xmm7,%xmm7
2145         xorl    %ecx,%r13d
2146         addl    8(%rsp),%r9d
2147         movl    %r10d,%r15d
2148         psrldq  $8,%xmm7
2149         xorl    %r8d,%r12d
2150         rorl    $11,%r14d
2151         xorl    %r11d,%r15d
2152         addl    %r12d,%r9d
2153         rorl    $6,%r13d
2154         paddd   %xmm7,%xmm0
2155         andl    %r15d,%edi
2156         xorl    %r10d,%r14d
2157         addl    %r13d,%r9d
2158         pshufd  $80,%xmm0,%xmm7
2159         xorl    %r11d,%edi
2160         rorl    $2,%r14d
2161         addl    %r9d,%ebx
2162         movdqa  %xmm7,%xmm6
2163         addl    %edi,%r9d
2164         movl    %ebx,%r13d
2165         psrld   $10,%xmm7
2166         addl    %r9d,%r14d
2167         rorl    $14,%r13d
2168         psrlq   $17,%xmm6
2169         movl    %r14d,%r9d
2170         movl    %ecx,%r12d
2171         pxor    %xmm6,%xmm7
2172         rorl    $9,%r14d
2173         xorl    %ebx,%r13d
2174         xorl    %edx,%r12d
2175         rorl    $5,%r13d
2176         xorl    %r9d,%r14d
2177         psrlq   $2,%xmm6
2178         andl    %ebx,%r12d
2179         xorl    %ebx,%r13d
2180         addl    12(%rsp),%r8d
2181         pxor    %xmm6,%xmm7
2182         movl    %r9d,%edi
2183         xorl    %edx,%r12d
2184         rorl    $11,%r14d
2185         pshufd  $8,%xmm7,%xmm7
2186         xorl    %r10d,%edi
2187         addl    %r12d,%r8d
2188         movdqa  0(%rbp),%xmm6
2189         rorl    $6,%r13d
2190         andl    %edi,%r15d
2191         pslldq  $8,%xmm7
2192         xorl    %r9d,%r14d
2193         addl    %r13d,%r8d
2194         xorl    %r10d,%r15d
2195         paddd   %xmm7,%xmm0
2196         rorl    $2,%r14d
2197         addl    %r8d,%eax
2198         addl    %r15d,%r8d
2199         paddd   %xmm0,%xmm6
2200         movl    %eax,%r13d
2201         addl    %r8d,%r14d
2202         movdqa  %xmm6,0(%rsp)
2203         rorl    $14,%r13d
2204         movdqa  %xmm2,%xmm4
2205         movl    %r14d,%r8d
2206         movl    %ebx,%r12d
2207         movdqa  %xmm0,%xmm7
2208         rorl    $9,%r14d
2209         xorl    %eax,%r13d
2210         xorl    %ecx,%r12d
2211         rorl    $5,%r13d
2212         xorl    %r8d,%r14d
2213 .byte   102,15,58,15,225,4
2214         andl    %eax,%r12d
2215         xorl    %eax,%r13d
2216 .byte   102,15,58,15,251,4
2217         addl    16(%rsp),%edx
2218         movl    %r8d,%r15d
2219         xorl    %ecx,%r12d
2220         rorl    $11,%r14d
2221         movdqa  %xmm4,%xmm5
2222         xorl    %r9d,%r15d
2223         addl    %r12d,%edx
2224         movdqa  %xmm4,%xmm6
2225         rorl    $6,%r13d
2226         andl    %r15d,%edi
2227         psrld   $3,%xmm4
2228         xorl    %r8d,%r14d
2229         addl    %r13d,%edx
2230         xorl    %r9d,%edi
2231         paddd   %xmm7,%xmm1
2232         rorl    $2,%r14d
2233         addl    %edx,%r11d
2234         psrld   $7,%xmm6
2235         addl    %edi,%edx
2236         movl    %r11d,%r13d
2237         pshufd  $250,%xmm0,%xmm7
2238         addl    %edx,%r14d
2239         rorl    $14,%r13d
2240         pslld   $14,%xmm5
2241         movl    %r14d,%edx
2242         movl    %eax,%r12d
2243         pxor    %xmm6,%xmm4
2244         rorl    $9,%r14d
2245         xorl    %r11d,%r13d
2246         xorl    %ebx,%r12d
2247         rorl    $5,%r13d
2248         psrld   $11,%xmm6
2249         xorl    %edx,%r14d
2250         pxor    %xmm5,%xmm4
2251         andl    %r11d,%r12d
2252         xorl    %r11d,%r13d
2253         pslld   $11,%xmm5
2254         addl    20(%rsp),%ecx
2255         movl    %edx,%edi
2256         pxor    %xmm6,%xmm4
2257         xorl    %ebx,%r12d
2258         rorl    $11,%r14d
2259         movdqa  %xmm7,%xmm6
2260         xorl    %r8d,%edi
2261         addl    %r12d,%ecx
2262         pxor    %xmm5,%xmm4
2263         rorl    $6,%r13d
2264         andl    %edi,%r15d
2265         xorl    %edx,%r14d
2266         psrld   $10,%xmm7
2267         addl    %r13d,%ecx
2268         xorl    %r8d,%r15d
2269         paddd   %xmm4,%xmm1
2270         rorl    $2,%r14d
2271         addl    %ecx,%r10d
2272         psrlq   $17,%xmm6
2273         addl    %r15d,%ecx
2274         movl    %r10d,%r13d
2275         addl    %ecx,%r14d
2276         pxor    %xmm6,%xmm7
2277         rorl    $14,%r13d
2278         movl    %r14d,%ecx
2279         movl    %r11d,%r12d
2280         rorl    $9,%r14d
2281         psrlq   $2,%xmm6
2282         xorl    %r10d,%r13d
2283         xorl    %eax,%r12d
2284         pxor    %xmm6,%xmm7
2285         rorl    $5,%r13d
2286         xorl    %ecx,%r14d
2287         andl    %r10d,%r12d
2288         pshufd  $128,%xmm7,%xmm7
2289         xorl    %r10d,%r13d
2290         addl    24(%rsp),%ebx
2291         movl    %ecx,%r15d
2292         psrldq  $8,%xmm7
2293         xorl    %eax,%r12d
2294         rorl    $11,%r14d
2295         xorl    %edx,%r15d
2296         addl    %r12d,%ebx
2297         rorl    $6,%r13d
2298         paddd   %xmm7,%xmm1
2299         andl    %r15d,%edi
2300         xorl    %ecx,%r14d
2301         addl    %r13d,%ebx
2302         pshufd  $80,%xmm1,%xmm7
2303         xorl    %edx,%edi
2304         rorl    $2,%r14d
2305         addl    %ebx,%r9d
2306         movdqa  %xmm7,%xmm6
2307         addl    %edi,%ebx
2308         movl    %r9d,%r13d
2309         psrld   $10,%xmm7
2310         addl    %ebx,%r14d
2311         rorl    $14,%r13d
2312         psrlq   $17,%xmm6
2313         movl    %r14d,%ebx
2314         movl    %r10d,%r12d
2315         pxor    %xmm6,%xmm7
2316         rorl    $9,%r14d
2317         xorl    %r9d,%r13d
2318         xorl    %r11d,%r12d
2319         rorl    $5,%r13d
2320         xorl    %ebx,%r14d
2321         psrlq   $2,%xmm6
2322         andl    %r9d,%r12d
2323         xorl    %r9d,%r13d
2324         addl    28(%rsp),%eax
2325         pxor    %xmm6,%xmm7
2326         movl    %ebx,%edi
2327         xorl    %r11d,%r12d
2328         rorl    $11,%r14d
2329         pshufd  $8,%xmm7,%xmm7
2330         xorl    %ecx,%edi
2331         addl    %r12d,%eax
2332         movdqa  32(%rbp),%xmm6
2333         rorl    $6,%r13d
2334         andl    %edi,%r15d
2335         pslldq  $8,%xmm7
2336         xorl    %ebx,%r14d
2337         addl    %r13d,%eax
2338         xorl    %ecx,%r15d
2339         paddd   %xmm7,%xmm1
2340         rorl    $2,%r14d
2341         addl    %eax,%r8d
2342         addl    %r15d,%eax
2343         paddd   %xmm1,%xmm6
2344         movl    %r8d,%r13d
2345         addl    %eax,%r14d
2346         movdqa  %xmm6,16(%rsp)
2347         rorl    $14,%r13d
2348         movdqa  %xmm3,%xmm4
2349         movl    %r14d,%eax
2350         movl    %r9d,%r12d
2351         movdqa  %xmm1,%xmm7
2352         rorl    $9,%r14d
2353         xorl    %r8d,%r13d
2354         xorl    %r10d,%r12d
2355         rorl    $5,%r13d
2356         xorl    %eax,%r14d
2357 .byte   102,15,58,15,226,4
2358         andl    %r8d,%r12d
2359         xorl    %r8d,%r13d
2360 .byte   102,15,58,15,248,4
2361         addl    32(%rsp),%r11d
2362         movl    %eax,%r15d
2363         xorl    %r10d,%r12d
2364         rorl    $11,%r14d
2365         movdqa  %xmm4,%xmm5
2366         xorl    %ebx,%r15d
2367         addl    %r12d,%r11d
2368         movdqa  %xmm4,%xmm6
2369         rorl    $6,%r13d
2370         andl    %r15d,%edi
2371         psrld   $3,%xmm4
2372         xorl    %eax,%r14d
2373         addl    %r13d,%r11d
2374         xorl    %ebx,%edi
2375         paddd   %xmm7,%xmm2
2376         rorl    $2,%r14d
2377         addl    %r11d,%edx
2378         psrld   $7,%xmm6
2379         addl    %edi,%r11d
2380         movl    %edx,%r13d
2381         pshufd  $250,%xmm1,%xmm7
2382         addl    %r11d,%r14d
2383         rorl    $14,%r13d
2384         pslld   $14,%xmm5
2385         movl    %r14d,%r11d
2386         movl    %r8d,%r12d
2387         pxor    %xmm6,%xmm4
2388         rorl    $9,%r14d
2389         xorl    %edx,%r13d
2390         xorl    %r9d,%r12d
2391         rorl    $5,%r13d
2392         psrld   $11,%xmm6
2393         xorl    %r11d,%r14d
2394         pxor    %xmm5,%xmm4
2395         andl    %edx,%r12d
2396         xorl    %edx,%r13d
2397         pslld   $11,%xmm5
2398         addl    36(%rsp),%r10d
2399         movl    %r11d,%edi
2400         pxor    %xmm6,%xmm4
2401         xorl    %r9d,%r12d
2402         rorl    $11,%r14d
2403         movdqa  %xmm7,%xmm6
2404         xorl    %eax,%edi
2405         addl    %r12d,%r10d
2406         pxor    %xmm5,%xmm4
2407         rorl    $6,%r13d
2408         andl    %edi,%r15d
2409         xorl    %r11d,%r14d
2410         psrld   $10,%xmm7
2411         addl    %r13d,%r10d
2412         xorl    %eax,%r15d
2413         paddd   %xmm4,%xmm2
2414         rorl    $2,%r14d
2415         addl    %r10d,%ecx
2416         psrlq   $17,%xmm6
2417         addl    %r15d,%r10d
2418         movl    %ecx,%r13d
2419         addl    %r10d,%r14d
2420         pxor    %xmm6,%xmm7
2421         rorl    $14,%r13d
2422         movl    %r14d,%r10d
2423         movl    %edx,%r12d
2424         rorl    $9,%r14d
2425         psrlq   $2,%xmm6
2426         xorl    %ecx,%r13d
2427         xorl    %r8d,%r12d
2428         pxor    %xmm6,%xmm7
2429         rorl    $5,%r13d
2430         xorl    %r10d,%r14d
2431         andl    %ecx,%r12d
2432         pshufd  $128,%xmm7,%xmm7
2433         xorl    %ecx,%r13d
2434         addl    40(%rsp),%r9d
2435         movl    %r10d,%r15d
2436         psrldq  $8,%xmm7
2437         xorl    %r8d,%r12d
2438         rorl    $11,%r14d
2439         xorl    %r11d,%r15d
2440         addl    %r12d,%r9d
2441         rorl    $6,%r13d
2442         paddd   %xmm7,%xmm2
2443         andl    %r15d,%edi
2444         xorl    %r10d,%r14d
2445         addl    %r13d,%r9d
2446         pshufd  $80,%xmm2,%xmm7
2447         xorl    %r11d,%edi
2448         rorl    $2,%r14d
2449         addl    %r9d,%ebx
2450         movdqa  %xmm7,%xmm6
2451         addl    %edi,%r9d
2452         movl    %ebx,%r13d
2453         psrld   $10,%xmm7
2454         addl    %r9d,%r14d
2455         rorl    $14,%r13d
2456         psrlq   $17,%xmm6
2457         movl    %r14d,%r9d
2458         movl    %ecx,%r12d
2459         pxor    %xmm6,%xmm7
2460         rorl    $9,%r14d
2461         xorl    %ebx,%r13d
2462         xorl    %edx,%r12d
2463         rorl    $5,%r13d
2464         xorl    %r9d,%r14d
2465         psrlq   $2,%xmm6
2466         andl    %ebx,%r12d
2467         xorl    %ebx,%r13d
2468         addl    44(%rsp),%r8d
2469         pxor    %xmm6,%xmm7
2470         movl    %r9d,%edi
2471         xorl    %edx,%r12d
2472         rorl    $11,%r14d
2473         pshufd  $8,%xmm7,%xmm7
2474         xorl    %r10d,%edi
2475         addl    %r12d,%r8d
2476         movdqa  64(%rbp),%xmm6
2477         rorl    $6,%r13d
2478         andl    %edi,%r15d
2479         pslldq  $8,%xmm7
2480         xorl    %r9d,%r14d
2481         addl    %r13d,%r8d
2482         xorl    %r10d,%r15d
2483         paddd   %xmm7,%xmm2
2484         rorl    $2,%r14d
2485         addl    %r8d,%eax
2486         addl    %r15d,%r8d
2487         paddd   %xmm2,%xmm6
2488         movl    %eax,%r13d
2489         addl    %r8d,%r14d
2490         movdqa  %xmm6,32(%rsp)
2491         rorl    $14,%r13d
2492         movdqa  %xmm0,%xmm4
2493         movl    %r14d,%r8d
2494         movl    %ebx,%r12d
2495         movdqa  %xmm2,%xmm7
2496         rorl    $9,%r14d
2497         xorl    %eax,%r13d
2498         xorl    %ecx,%r12d
2499         rorl    $5,%r13d
2500         xorl    %r8d,%r14d
2501 .byte   102,15,58,15,227,4
2502         andl    %eax,%r12d
2503         xorl    %eax,%r13d
2504 .byte   102,15,58,15,249,4
2505         addl    48(%rsp),%edx
2506         movl    %r8d,%r15d
2507         xorl    %ecx,%r12d
2508         rorl    $11,%r14d
2509         movdqa  %xmm4,%xmm5
2510         xorl    %r9d,%r15d
2511         addl    %r12d,%edx
2512         movdqa  %xmm4,%xmm6
2513         rorl    $6,%r13d
2514         andl    %r15d,%edi
2515         psrld   $3,%xmm4
2516         xorl    %r8d,%r14d
2517         addl    %r13d,%edx
2518         xorl    %r9d,%edi
2519         paddd   %xmm7,%xmm3
2520         rorl    $2,%r14d
2521         addl    %edx,%r11d
2522         psrld   $7,%xmm6
2523         addl    %edi,%edx
2524         movl    %r11d,%r13d
2525         pshufd  $250,%xmm2,%xmm7
2526         addl    %edx,%r14d
2527         rorl    $14,%r13d
2528         pslld   $14,%xmm5
2529         movl    %r14d,%edx
2530         movl    %eax,%r12d
2531         pxor    %xmm6,%xmm4
2532         rorl    $9,%r14d
2533         xorl    %r11d,%r13d
2534         xorl    %ebx,%r12d
2535         rorl    $5,%r13d
2536         psrld   $11,%xmm6
2537         xorl    %edx,%r14d
2538         pxor    %xmm5,%xmm4
2539         andl    %r11d,%r12d
2540         xorl    %r11d,%r13d
2541         pslld   $11,%xmm5
2542         addl    52(%rsp),%ecx
2543         movl    %edx,%edi
2544         pxor    %xmm6,%xmm4
2545         xorl    %ebx,%r12d
2546         rorl    $11,%r14d
2547         movdqa  %xmm7,%xmm6
2548         xorl    %r8d,%edi
2549         addl    %r12d,%ecx
2550         pxor    %xmm5,%xmm4
2551         rorl    $6,%r13d
2552         andl    %edi,%r15d
2553         xorl    %edx,%r14d
2554         psrld   $10,%xmm7
2555         addl    %r13d,%ecx
2556         xorl    %r8d,%r15d
2557         paddd   %xmm4,%xmm3
2558         rorl    $2,%r14d
2559         addl    %ecx,%r10d
2560         psrlq   $17,%xmm6
2561         addl    %r15d,%ecx
2562         movl    %r10d,%r13d
2563         addl    %ecx,%r14d
2564         pxor    %xmm6,%xmm7
2565         rorl    $14,%r13d
2566         movl    %r14d,%ecx
2567         movl    %r11d,%r12d
2568         rorl    $9,%r14d
2569         psrlq   $2,%xmm6
2570         xorl    %r10d,%r13d
2571         xorl    %eax,%r12d
2572         pxor    %xmm6,%xmm7
2573         rorl    $5,%r13d
2574         xorl    %ecx,%r14d
2575         andl    %r10d,%r12d
2576         pshufd  $128,%xmm7,%xmm7
2577         xorl    %r10d,%r13d
2578         addl    56(%rsp),%ebx
2579         movl    %ecx,%r15d
2580         psrldq  $8,%xmm7
2581         xorl    %eax,%r12d
2582         rorl    $11,%r14d
2583         xorl    %edx,%r15d
2584         addl    %r12d,%ebx
2585         rorl    $6,%r13d
2586         paddd   %xmm7,%xmm3
2587         andl    %r15d,%edi
2588         xorl    %ecx,%r14d
2589         addl    %r13d,%ebx
2590         pshufd  $80,%xmm3,%xmm7
2591         xorl    %edx,%edi
2592         rorl    $2,%r14d
2593         addl    %ebx,%r9d
2594         movdqa  %xmm7,%xmm6
2595         addl    %edi,%ebx
2596         movl    %r9d,%r13d
2597         psrld   $10,%xmm7
2598         addl    %ebx,%r14d
2599         rorl    $14,%r13d
2600         psrlq   $17,%xmm6
2601         movl    %r14d,%ebx
2602         movl    %r10d,%r12d
2603         pxor    %xmm6,%xmm7
2604         rorl    $9,%r14d
2605         xorl    %r9d,%r13d
2606         xorl    %r11d,%r12d
2607         rorl    $5,%r13d
2608         xorl    %ebx,%r14d
2609         psrlq   $2,%xmm6
2610         andl    %r9d,%r12d
2611         xorl    %r9d,%r13d
2612         addl    60(%rsp),%eax
2613         pxor    %xmm6,%xmm7
2614         movl    %ebx,%edi
2615         xorl    %r11d,%r12d
2616         rorl    $11,%r14d
2617         pshufd  $8,%xmm7,%xmm7
2618         xorl    %ecx,%edi
2619         addl    %r12d,%eax
2620         movdqa  96(%rbp),%xmm6
2621         rorl    $6,%r13d
2622         andl    %edi,%r15d
2623         pslldq  $8,%xmm7
2624         xorl    %ebx,%r14d
2625         addl    %r13d,%eax
2626         xorl    %ecx,%r15d
2627         paddd   %xmm7,%xmm3
2628         rorl    $2,%r14d
2629         addl    %eax,%r8d
2630         addl    %r15d,%eax
2631         paddd   %xmm3,%xmm6
2632         movl    %r8d,%r13d
2633         addl    %eax,%r14d
2634         movdqa  %xmm6,48(%rsp)
2635         cmpb    $0,131(%rbp)
2636         jne     .Lssse3_00_47
2637         rorl    $14,%r13d
2638         movl    %r14d,%eax
2639         movl    %r9d,%r12d
2640         rorl    $9,%r14d
2641         xorl    %r8d,%r13d
2642         xorl    %r10d,%r12d
2643         rorl    $5,%r13d
2644         xorl    %eax,%r14d
2645         andl    %r8d,%r12d
2646         xorl    %r8d,%r13d
2647         addl    0(%rsp),%r11d
2648         movl    %eax,%r15d
2649         xorl    %r10d,%r12d
2650         rorl    $11,%r14d
2651         xorl    %ebx,%r15d
2652         addl    %r12d,%r11d
2653         rorl    $6,%r13d
2654         andl    %r15d,%edi
2655         xorl    %eax,%r14d
2656         addl    %r13d,%r11d
2657         xorl    %ebx,%edi
2658         rorl    $2,%r14d
2659         addl    %r11d,%edx
2660         addl    %edi,%r11d
2661         movl    %edx,%r13d
2662         addl    %r11d,%r14d
2663         rorl    $14,%r13d
2664         movl    %r14d,%r11d
2665         movl    %r8d,%r12d
2666         rorl    $9,%r14d
2667         xorl    %edx,%r13d
2668         xorl    %r9d,%r12d
2669         rorl    $5,%r13d
2670         xorl    %r11d,%r14d
2671         andl    %edx,%r12d
2672         xorl    %edx,%r13d
2673         addl    4(%rsp),%r10d
2674         movl    %r11d,%edi
2675         xorl    %r9d,%r12d
2676         rorl    $11,%r14d
2677         xorl    %eax,%edi
2678         addl    %r12d,%r10d
2679         rorl    $6,%r13d
2680         andl    %edi,%r15d
2681         xorl    %r11d,%r14d
2682         addl    %r13d,%r10d
2683         xorl    %eax,%r15d
2684         rorl    $2,%r14d
2685         addl    %r10d,%ecx
2686         addl    %r15d,%r10d
2687         movl    %ecx,%r13d
2688         addl    %r10d,%r14d
2689         rorl    $14,%r13d
2690         movl    %r14d,%r10d
2691         movl    %edx,%r12d
2692         rorl    $9,%r14d
2693         xorl    %ecx,%r13d
2694         xorl    %r8d,%r12d
2695         rorl    $5,%r13d
2696         xorl    %r10d,%r14d
2697         andl    %ecx,%r12d
2698         xorl    %ecx,%r13d
2699         addl    8(%rsp),%r9d
2700         movl    %r10d,%r15d
2701         xorl    %r8d,%r12d
2702         rorl    $11,%r14d
2703         xorl    %r11d,%r15d
2704         addl    %r12d,%r9d
2705         rorl    $6,%r13d
2706         andl    %r15d,%edi
2707         xorl    %r10d,%r14d
2708         addl    %r13d,%r9d
2709         xorl    %r11d,%edi
2710         rorl    $2,%r14d
2711         addl    %r9d,%ebx
2712         addl    %edi,%r9d
2713         movl    %ebx,%r13d
2714         addl    %r9d,%r14d
2715         rorl    $14,%r13d
2716         movl    %r14d,%r9d
2717         movl    %ecx,%r12d
2718         rorl    $9,%r14d
2719         xorl    %ebx,%r13d
2720         xorl    %edx,%r12d
2721         rorl    $5,%r13d
2722         xorl    %r9d,%r14d
2723         andl    %ebx,%r12d
2724         xorl    %ebx,%r13d
2725         addl    12(%rsp),%r8d
2726         movl    %r9d,%edi
2727         xorl    %edx,%r12d
2728         rorl    $11,%r14d
2729         xorl    %r10d,%edi
2730         addl    %r12d,%r8d
2731         rorl    $6,%r13d
2732         andl    %edi,%r15d
2733         xorl    %r9d,%r14d
2734         addl    %r13d,%r8d
2735         xorl    %r10d,%r15d
2736         rorl    $2,%r14d
2737         addl    %r8d,%eax
2738         addl    %r15d,%r8d
2739         movl    %eax,%r13d
2740         addl    %r8d,%r14d
2741         rorl    $14,%r13d
2742         movl    %r14d,%r8d
2743         movl    %ebx,%r12d
2744         rorl    $9,%r14d
2745         xorl    %eax,%r13d
2746         xorl    %ecx,%r12d
2747         rorl    $5,%r13d
2748         xorl    %r8d,%r14d
2749         andl    %eax,%r12d
2750         xorl    %eax,%r13d
2751         addl    16(%rsp),%edx
2752         movl    %r8d,%r15d
2753         xorl    %ecx,%r12d
2754         rorl    $11,%r14d
2755         xorl    %r9d,%r15d
2756         addl    %r12d,%edx
2757         rorl    $6,%r13d
2758         andl    %r15d,%edi
2759         xorl    %r8d,%r14d
2760         addl    %r13d,%edx
2761         xorl    %r9d,%edi
2762         rorl    $2,%r14d
2763         addl    %edx,%r11d
2764         addl    %edi,%edx
2765         movl    %r11d,%r13d
2766         addl    %edx,%r14d
2767         rorl    $14,%r13d
2768         movl    %r14d,%edx
2769         movl    %eax,%r12d
2770         rorl    $9,%r14d
2771         xorl    %r11d,%r13d
2772         xorl    %ebx,%r12d
2773         rorl    $5,%r13d
2774         xorl    %edx,%r14d
2775         andl    %r11d,%r12d
2776         xorl    %r11d,%r13d
2777         addl    20(%rsp),%ecx
2778         movl    %edx,%edi
2779         xorl    %ebx,%r12d
2780         rorl    $11,%r14d
2781         xorl    %r8d,%edi
2782         addl    %r12d,%ecx
2783         rorl    $6,%r13d
2784         andl    %edi,%r15d
2785         xorl    %edx,%r14d
2786         addl    %r13d,%ecx
2787         xorl    %r8d,%r15d
2788         rorl    $2,%r14d
2789         addl    %ecx,%r10d
2790         addl    %r15d,%ecx
2791         movl    %r10d,%r13d
2792         addl    %ecx,%r14d
2793         rorl    $14,%r13d
2794         movl    %r14d,%ecx
2795         movl    %r11d,%r12d
2796         rorl    $9,%r14d
2797         xorl    %r10d,%r13d
2798         xorl    %eax,%r12d
2799         rorl    $5,%r13d
2800         xorl    %ecx,%r14d
2801         andl    %r10d,%r12d
2802         xorl    %r10d,%r13d
2803         addl    24(%rsp),%ebx
2804         movl    %ecx,%r15d
2805         xorl    %eax,%r12d
2806         rorl    $11,%r14d
2807         xorl    %edx,%r15d
2808         addl    %r12d,%ebx
2809         rorl    $6,%r13d
2810         andl    %r15d,%edi
2811         xorl    %ecx,%r14d
2812         addl    %r13d,%ebx
2813         xorl    %edx,%edi
2814         rorl    $2,%r14d
2815         addl    %ebx,%r9d
2816         addl    %edi,%ebx
2817         movl    %r9d,%r13d
2818         addl    %ebx,%r14d
2819         rorl    $14,%r13d
2820         movl    %r14d,%ebx
2821         movl    %r10d,%r12d
2822         rorl    $9,%r14d
2823         xorl    %r9d,%r13d
2824         xorl    %r11d,%r12d
2825         rorl    $5,%r13d
2826         xorl    %ebx,%r14d
2827         andl    %r9d,%r12d
2828         xorl    %r9d,%r13d
2829         addl    28(%rsp),%eax
2830         movl    %ebx,%edi
2831         xorl    %r11d,%r12d
2832         rorl    $11,%r14d
2833         xorl    %ecx,%edi
2834         addl    %r12d,%eax
2835         rorl    $6,%r13d
2836         andl    %edi,%r15d
2837         xorl    %ebx,%r14d
2838         addl    %r13d,%eax
2839         xorl    %ecx,%r15d
2840         rorl    $2,%r14d
2841         addl    %eax,%r8d
2842         addl    %r15d,%eax
2843         movl    %r8d,%r13d
2844         addl    %eax,%r14d
2845         rorl    $14,%r13d
2846         movl    %r14d,%eax
2847         movl    %r9d,%r12d
2848         rorl    $9,%r14d
2849         xorl    %r8d,%r13d
2850         xorl    %r10d,%r12d
2851         rorl    $5,%r13d
2852         xorl    %eax,%r14d
2853         andl    %r8d,%r12d
2854         xorl    %r8d,%r13d
2855         addl    32(%rsp),%r11d
2856         movl    %eax,%r15d
2857         xorl    %r10d,%r12d
2858         rorl    $11,%r14d
2859         xorl    %ebx,%r15d
2860         addl    %r12d,%r11d
2861         rorl    $6,%r13d
2862         andl    %r15d,%edi
2863         xorl    %eax,%r14d
2864         addl    %r13d,%r11d
2865         xorl    %ebx,%edi
2866         rorl    $2,%r14d
2867         addl    %r11d,%edx
2868         addl    %edi,%r11d
2869         movl    %edx,%r13d
2870         addl    %r11d,%r14d
2871         rorl    $14,%r13d
2872         movl    %r14d,%r11d
2873         movl    %r8d,%r12d
2874         rorl    $9,%r14d
2875         xorl    %edx,%r13d
2876         xorl    %r9d,%r12d
2877         rorl    $5,%r13d
2878         xorl    %r11d,%r14d
2879         andl    %edx,%r12d
2880         xorl    %edx,%r13d
2881         addl    36(%rsp),%r10d
2882         movl    %r11d,%edi
2883         xorl    %r9d,%r12d
2884         rorl    $11,%r14d
2885         xorl    %eax,%edi
2886         addl    %r12d,%r10d
2887         rorl    $6,%r13d
2888         andl    %edi,%r15d
2889         xorl    %r11d,%r14d
2890         addl    %r13d,%r10d
2891         xorl    %eax,%r15d
2892         rorl    $2,%r14d
2893         addl    %r10d,%ecx
2894         addl    %r15d,%r10d
2895         movl    %ecx,%r13d
2896         addl    %r10d,%r14d
2897         rorl    $14,%r13d
2898         movl    %r14d,%r10d
2899         movl    %edx,%r12d
2900         rorl    $9,%r14d
2901         xorl    %ecx,%r13d
2902         xorl    %r8d,%r12d
2903         rorl    $5,%r13d
2904         xorl    %r10d,%r14d
2905         andl    %ecx,%r12d
2906         xorl    %ecx,%r13d
2907         addl    40(%rsp),%r9d
2908         movl    %r10d,%r15d
2909         xorl    %r8d,%r12d
2910         rorl    $11,%r14d
2911         xorl    %r11d,%r15d
2912         addl    %r12d,%r9d
2913         rorl    $6,%r13d
2914         andl    %r15d,%edi
2915         xorl    %r10d,%r14d
2916         addl    %r13d,%r9d
2917         xorl    %r11d,%edi
2918         rorl    $2,%r14d
2919         addl    %r9d,%ebx
2920         addl    %edi,%r9d
2921         movl    %ebx,%r13d
2922         addl    %r9d,%r14d
2923         rorl    $14,%r13d
2924         movl    %r14d,%r9d
2925         movl    %ecx,%r12d
2926         rorl    $9,%r14d
2927         xorl    %ebx,%r13d
2928         xorl    %edx,%r12d
2929         rorl    $5,%r13d
2930         xorl    %r9d,%r14d
2931         andl    %ebx,%r12d
2932         xorl    %ebx,%r13d
2933         addl    44(%rsp),%r8d
2934         movl    %r9d,%edi
2935         xorl    %edx,%r12d
2936         rorl    $11,%r14d
2937         xorl    %r10d,%edi
2938         addl    %r12d,%r8d
2939         rorl    $6,%r13d
2940         andl    %edi,%r15d
2941         xorl    %r9d,%r14d
2942         addl    %r13d,%r8d
2943         xorl    %r10d,%r15d
2944         rorl    $2,%r14d
2945         addl    %r8d,%eax
2946         addl    %r15d,%r8d
2947         movl    %eax,%r13d
2948         addl    %r8d,%r14d
2949         rorl    $14,%r13d
2950         movl    %r14d,%r8d
2951         movl    %ebx,%r12d
2952         rorl    $9,%r14d
2953         xorl    %eax,%r13d
2954         xorl    %ecx,%r12d
2955         rorl    $5,%r13d
2956         xorl    %r8d,%r14d
2957         andl    %eax,%r12d
2958         xorl    %eax,%r13d
2959         addl    48(%rsp),%edx
2960         movl    %r8d,%r15d
2961         xorl    %ecx,%r12d
2962         rorl    $11,%r14d
2963         xorl    %r9d,%r15d
2964         addl    %r12d,%edx
2965         rorl    $6,%r13d
2966         andl    %r15d,%edi
2967         xorl    %r8d,%r14d
2968         addl    %r13d,%edx
2969         xorl    %r9d,%edi
2970         rorl    $2,%r14d
2971         addl    %edx,%r11d
2972         addl    %edi,%edx
2973         movl    %r11d,%r13d
2974         addl    %edx,%r14d
2975         rorl    $14,%r13d
2976         movl    %r14d,%edx
2977         movl    %eax,%r12d
2978         rorl    $9,%r14d
2979         xorl    %r11d,%r13d
2980         xorl    %ebx,%r12d
2981         rorl    $5,%r13d
2982         xorl    %edx,%r14d
2983         andl    %r11d,%r12d
2984         xorl    %r11d,%r13d
2985         addl    52(%rsp),%ecx
2986         movl    %edx,%edi
2987         xorl    %ebx,%r12d
2988         rorl    $11,%r14d
2989         xorl    %r8d,%edi
2990         addl    %r12d,%ecx
2991         rorl    $6,%r13d
2992         andl    %edi,%r15d
2993         xorl    %edx,%r14d
2994         addl    %r13d,%ecx
2995         xorl    %r8d,%r15d
2996         rorl    $2,%r14d
2997         addl    %ecx,%r10d
2998         addl    %r15d,%ecx
2999         movl    %r10d,%r13d
3000         addl    %ecx,%r14d
3001         rorl    $14,%r13d
3002         movl    %r14d,%ecx
3003         movl    %r11d,%r12d
3004         rorl    $9,%r14d
3005         xorl    %r10d,%r13d
3006         xorl    %eax,%r12d
3007         rorl    $5,%r13d
3008         xorl    %ecx,%r14d
3009         andl    %r10d,%r12d
3010         xorl    %r10d,%r13d
3011         addl    56(%rsp),%ebx
3012         movl    %ecx,%r15d
3013         xorl    %eax,%r12d
3014         rorl    $11,%r14d
3015         xorl    %edx,%r15d
3016         addl    %r12d,%ebx
3017         rorl    $6,%r13d
3018         andl    %r15d,%edi
3019         xorl    %ecx,%r14d
3020         addl    %r13d,%ebx
3021         xorl    %edx,%edi
3022         rorl    $2,%r14d
3023         addl    %ebx,%r9d
3024         addl    %edi,%ebx
3025         movl    %r9d,%r13d
3026         addl    %ebx,%r14d
3027         rorl    $14,%r13d
3028         movl    %r14d,%ebx
3029         movl    %r10d,%r12d
3030         rorl    $9,%r14d
3031         xorl    %r9d,%r13d
3032         xorl    %r11d,%r12d
3033         rorl    $5,%r13d
3034         xorl    %ebx,%r14d
3035         andl    %r9d,%r12d
3036         xorl    %r9d,%r13d
3037         addl    60(%rsp),%eax
3038         movl    %ebx,%edi
3039         xorl    %r11d,%r12d
3040         rorl    $11,%r14d
3041         xorl    %ecx,%edi
3042         addl    %r12d,%eax
3043         rorl    $6,%r13d
3044         andl    %edi,%r15d
3045         xorl    %ebx,%r14d
3046         addl    %r13d,%eax
3047         xorl    %ecx,%r15d
3048         rorl    $2,%r14d
3049         addl    %eax,%r8d
3050         addl    %r15d,%eax
3051         movl    %r8d,%r13d
3052         addl    %eax,%r14d
3053         movq    64+0(%rsp),%rdi
3054         movl    %r14d,%eax
3055
3056         addl    0(%rdi),%eax
3057         leaq    64(%rsi),%rsi
3058         addl    4(%rdi),%ebx
3059         addl    8(%rdi),%ecx
3060         addl    12(%rdi),%edx
3061         addl    16(%rdi),%r8d
3062         addl    20(%rdi),%r9d
3063         addl    24(%rdi),%r10d
3064         addl    28(%rdi),%r11d
3065
3066         cmpq    64+16(%rsp),%rsi
3067
3068         movl    %eax,0(%rdi)
3069         movl    %ebx,4(%rdi)
3070         movl    %ecx,8(%rdi)
3071         movl    %edx,12(%rdi)
3072         movl    %r8d,16(%rdi)
3073         movl    %r9d,20(%rdi)
3074         movl    %r10d,24(%rdi)
3075         movl    %r11d,28(%rdi)
3076         jb      .Lloop_ssse3
3077
3078         movq    88(%rsp),%rsi
3079 .cfi_def_cfa    %rsi,8
3080         movq    -48(%rsi),%r15
3081 .cfi_restore    %r15
3082         movq    -40(%rsi),%r14
3083 .cfi_restore    %r14
3084         movq    -32(%rsi),%r13
3085 .cfi_restore    %r13
3086         movq    -24(%rsi),%r12
3087 .cfi_restore    %r12
3088         movq    -16(%rsi),%rbp
3089 .cfi_restore    %rbp
3090         movq    -8(%rsi),%rbx
3091 .cfi_restore    %rbx
3092         leaq    (%rsi),%rsp
3093 .cfi_def_cfa_register   %rsp
3094 .Lepilogue_ssse3:
3095         .byte   0xf3,0xc3
3096 .cfi_endproc    
3097 .size   sha256_block_data_order_ssse3,.-sha256_block_data_order_ssse3
3098 .type   sha256_block_data_order_avx,@function
3099 .align  64
3100 sha256_block_data_order_avx:
3101 .cfi_startproc  
3102 .Lavx_shortcut:
3103         movq    %rsp,%rax
3104 .cfi_def_cfa_register   %rax
3105         pushq   %rbx
3106 .cfi_offset     %rbx,-16
3107         pushq   %rbp
3108 .cfi_offset     %rbp,-24
3109         pushq   %r12
3110 .cfi_offset     %r12,-32
3111         pushq   %r13
3112 .cfi_offset     %r13,-40
3113         pushq   %r14
3114 .cfi_offset     %r14,-48
3115         pushq   %r15
3116 .cfi_offset     %r15,-56
3117         shlq    $4,%rdx
3118         subq    $96,%rsp
3119         leaq    (%rsi,%rdx,4),%rdx
3120         andq    $-64,%rsp
3121         movq    %rdi,64+0(%rsp)
3122         movq    %rsi,64+8(%rsp)
3123         movq    %rdx,64+16(%rsp)
3124         movq    %rax,88(%rsp)
3125 .cfi_escape     0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
3126 .Lprologue_avx:
3127
3128         vzeroupper
3129         movl    0(%rdi),%eax
3130         movl    4(%rdi),%ebx
3131         movl    8(%rdi),%ecx
3132         movl    12(%rdi),%edx
3133         movl    16(%rdi),%r8d
3134         movl    20(%rdi),%r9d
3135         movl    24(%rdi),%r10d
3136         movl    28(%rdi),%r11d
3137         vmovdqa K256+512+32(%rip),%xmm8
3138         vmovdqa K256+512+64(%rip),%xmm9
3139         jmp     .Lloop_avx
3140 .align  16
3141 .Lloop_avx:
3142         vmovdqa K256+512(%rip),%xmm7
3143         vmovdqu 0(%rsi),%xmm0
3144         vmovdqu 16(%rsi),%xmm1
3145         vmovdqu 32(%rsi),%xmm2
3146         vmovdqu 48(%rsi),%xmm3
3147         vpshufb %xmm7,%xmm0,%xmm0
3148         leaq    K256(%rip),%rbp
3149         vpshufb %xmm7,%xmm1,%xmm1
3150         vpshufb %xmm7,%xmm2,%xmm2
3151         vpaddd  0(%rbp),%xmm0,%xmm4
3152         vpshufb %xmm7,%xmm3,%xmm3
3153         vpaddd  32(%rbp),%xmm1,%xmm5
3154         vpaddd  64(%rbp),%xmm2,%xmm6
3155         vpaddd  96(%rbp),%xmm3,%xmm7
3156         vmovdqa %xmm4,0(%rsp)
3157         movl    %eax,%r14d
3158         vmovdqa %xmm5,16(%rsp)
3159         movl    %ebx,%edi
3160         vmovdqa %xmm6,32(%rsp)
3161         xorl    %ecx,%edi
3162         vmovdqa %xmm7,48(%rsp)
3163         movl    %r8d,%r13d
3164         jmp     .Lavx_00_47
3165
3166 .align  16
3167 .Lavx_00_47:
3168         subq    $-128,%rbp
3169         vpalignr        $4,%xmm0,%xmm1,%xmm4
3170         shrdl   $14,%r13d,%r13d
3171         movl    %r14d,%eax
3172         movl    %r9d,%r12d
3173         vpalignr        $4,%xmm2,%xmm3,%xmm7
3174         shrdl   $9,%r14d,%r14d
3175         xorl    %r8d,%r13d
3176         xorl    %r10d,%r12d
3177         vpsrld  $7,%xmm4,%xmm6
3178         shrdl   $5,%r13d,%r13d
3179         xorl    %eax,%r14d
3180         andl    %r8d,%r12d
3181         vpaddd  %xmm7,%xmm0,%xmm0
3182         xorl    %r8d,%r13d
3183         addl    0(%rsp),%r11d
3184         movl    %eax,%r15d
3185         vpsrld  $3,%xmm4,%xmm7
3186         xorl    %r10d,%r12d
3187         shrdl   $11,%r14d,%r14d
3188         xorl    %ebx,%r15d
3189         vpslld  $14,%xmm4,%xmm5
3190         addl    %r12d,%r11d
3191         shrdl   $6,%r13d,%r13d
3192         andl    %r15d,%edi
3193         vpxor   %xmm6,%xmm7,%xmm4
3194         xorl    %eax,%r14d
3195         addl    %r13d,%r11d
3196         xorl    %ebx,%edi
3197         vpshufd $250,%xmm3,%xmm7
3198         shrdl   $2,%r14d,%r14d
3199         addl    %r11d,%edx
3200         addl    %edi,%r11d
3201         vpsrld  $11,%xmm6,%xmm6
3202         movl    %edx,%r13d
3203         addl    %r11d,%r14d
3204         shrdl   $14,%r13d,%r13d
3205         vpxor   %xmm5,%xmm4,%xmm4
3206         movl    %r14d,%r11d
3207         movl    %r8d,%r12d
3208         shrdl   $9,%r14d,%r14d
3209         vpslld  $11,%xmm5,%xmm5
3210         xorl    %edx,%r13d
3211         xorl    %r9d,%r12d
3212         shrdl   $5,%r13d,%r13d
3213         vpxor   %xmm6,%xmm4,%xmm4
3214         xorl    %r11d,%r14d
3215         andl    %edx,%r12d
3216         xorl    %edx,%r13d
3217         vpsrld  $10,%xmm7,%xmm6
3218         addl    4(%rsp),%r10d
3219         movl    %r11d,%edi
3220         xorl    %r9d,%r12d
3221         vpxor   %xmm5,%xmm4,%xmm4
3222         shrdl   $11,%r14d,%r14d
3223         xorl    %eax,%edi
3224         addl    %r12d,%r10d
3225         vpsrlq  $17,%xmm7,%xmm7
3226         shrdl   $6,%r13d,%r13d
3227         andl    %edi,%r15d
3228         xorl    %r11d,%r14d
3229         vpaddd  %xmm4,%xmm0,%xmm0
3230         addl    %r13d,%r10d
3231         xorl    %eax,%r15d
3232         shrdl   $2,%r14d,%r14d
3233         vpxor   %xmm7,%xmm6,%xmm6
3234         addl    %r10d,%ecx
3235         addl    %r15d,%r10d
3236         movl    %ecx,%r13d
3237         vpsrlq  $2,%xmm7,%xmm7
3238         addl    %r10d,%r14d
3239         shrdl   $14,%r13d,%r13d
3240         movl    %r14d,%r10d
3241         vpxor   %xmm7,%xmm6,%xmm6
3242         movl    %edx,%r12d
3243         shrdl   $9,%r14d,%r14d
3244         xorl    %ecx,%r13d
3245         vpshufb %xmm8,%xmm6,%xmm6
3246         xorl    %r8d,%r12d
3247         shrdl   $5,%r13d,%r13d
3248         xorl    %r10d,%r14d
3249         vpaddd  %xmm6,%xmm0,%xmm0
3250         andl    %ecx,%r12d
3251         xorl    %ecx,%r13d
3252         addl    8(%rsp),%r9d
3253         vpshufd $80,%xmm0,%xmm7
3254         movl    %r10d,%r15d
3255         xorl    %r8d,%r12d
3256         shrdl   $11,%r14d,%r14d
3257         vpsrld  $10,%xmm7,%xmm6
3258         xorl    %r11d,%r15d
3259         addl    %r12d,%r9d
3260         shrdl   $6,%r13d,%r13d
3261         vpsrlq  $17,%xmm7,%xmm7
3262         andl    %r15d,%edi
3263         xorl    %r10d,%r14d
3264         addl    %r13d,%r9d
3265         vpxor   %xmm7,%xmm6,%xmm6
3266         xorl    %r11d,%edi
3267         shrdl   $2,%r14d,%r14d
3268         addl    %r9d,%ebx
3269         vpsrlq  $2,%xmm7,%xmm7
3270         addl    %edi,%r9d
3271         movl    %ebx,%r13d
3272         addl    %r9d,%r14d
3273         vpxor   %xmm7,%xmm6,%xmm6
3274         shrdl   $14,%r13d,%r13d
3275         movl    %r14d,%r9d
3276         movl    %ecx,%r12d
3277         vpshufb %xmm9,%xmm6,%xmm6
3278         shrdl   $9,%r14d,%r14d
3279         xorl    %ebx,%r13d
3280         xorl    %edx,%r12d
3281         vpaddd  %xmm6,%xmm0,%xmm0
3282         shrdl   $5,%r13d,%r13d
3283         xorl    %r9d,%r14d
3284         andl    %ebx,%r12d
3285         vpaddd  0(%rbp),%xmm0,%xmm6
3286         xorl    %ebx,%r13d
3287         addl    12(%rsp),%r8d
3288         movl    %r9d,%edi
3289         xorl    %edx,%r12d
3290         shrdl   $11,%r14d,%r14d
3291         xorl    %r10d,%edi
3292         addl    %r12d,%r8d
3293         shrdl   $6,%r13d,%r13d
3294         andl    %edi,%r15d
3295         xorl    %r9d,%r14d
3296         addl    %r13d,%r8d
3297         xorl    %r10d,%r15d
3298         shrdl   $2,%r14d,%r14d
3299         addl    %r8d,%eax
3300         addl    %r15d,%r8d
3301         movl    %eax,%r13d
3302         addl    %r8d,%r14d
3303         vmovdqa %xmm6,0(%rsp)
3304         vpalignr        $4,%xmm1,%xmm2,%xmm4
3305         shrdl   $14,%r13d,%r13d
3306         movl    %r14d,%r8d
3307         movl    %ebx,%r12d
3308         vpalignr        $4,%xmm3,%xmm0,%xmm7
3309         shrdl   $9,%r14d,%r14d
3310         xorl    %eax,%r13d
3311         xorl    %ecx,%r12d
3312         vpsrld  $7,%xmm4,%xmm6
3313         shrdl   $5,%r13d,%r13d
3314         xorl    %r8d,%r14d
3315         andl    %eax,%r12d
3316         vpaddd  %xmm7,%xmm1,%xmm1
3317         xorl    %eax,%r13d
3318         addl    16(%rsp),%edx
3319         movl    %r8d,%r15d
3320         vpsrld  $3,%xmm4,%xmm7
3321         xorl    %ecx,%r12d
3322         shrdl   $11,%r14d,%r14d
3323         xorl    %r9d,%r15d
3324         vpslld  $14,%xmm4,%xmm5
3325         addl    %r12d,%edx
3326         shrdl   $6,%r13d,%r13d
3327         andl    %r15d,%edi
3328         vpxor   %xmm6,%xmm7,%xmm4
3329         xorl    %r8d,%r14d
3330         addl    %r13d,%edx
3331         xorl    %r9d,%edi
3332         vpshufd $250,%xmm0,%xmm7
3333         shrdl   $2,%r14d,%r14d
3334         addl    %edx,%r11d
3335         addl    %edi,%edx
3336         vpsrld  $11,%xmm6,%xmm6
3337         movl    %r11d,%r13d
3338         addl    %edx,%r14d
3339         shrdl   $14,%r13d,%r13d
3340         vpxor   %xmm5,%xmm4,%xmm4
3341         movl    %r14d,%edx
3342         movl    %eax,%r12d
3343         shrdl   $9,%r14d,%r14d
3344         vpslld  $11,%xmm5,%xmm5
3345         xorl    %r11d,%r13d
3346         xorl    %ebx,%r12d
3347         shrdl   $5,%r13d,%r13d
3348         vpxor   %xmm6,%xmm4,%xmm4
3349         xorl    %edx,%r14d
3350         andl    %r11d,%r12d
3351         xorl    %r11d,%r13d
3352         vpsrld  $10,%xmm7,%xmm6
3353         addl    20(%rsp),%ecx
3354         movl    %edx,%edi
3355         xorl    %ebx,%r12d
3356         vpxor   %xmm5,%xmm4,%xmm4
3357         shrdl   $11,%r14d,%r14d
3358         xorl    %r8d,%edi
3359         addl    %r12d,%ecx
3360         vpsrlq  $17,%xmm7,%xmm7
3361         shrdl   $6,%r13d,%r13d
3362         andl    %edi,%r15d
3363         xorl    %edx,%r14d
3364         vpaddd  %xmm4,%xmm1,%xmm1
3365         addl    %r13d,%ecx
3366         xorl    %r8d,%r15d
3367         shrdl   $2,%r14d,%r14d
3368         vpxor   %xmm7,%xmm6,%xmm6
3369         addl    %ecx,%r10d
3370         addl    %r15d,%ecx
3371         movl    %r10d,%r13d
3372         vpsrlq  $2,%xmm7,%xmm7
3373         addl    %ecx,%r14d
3374         shrdl   $14,%r13d,%r13d
3375         movl    %r14d,%ecx
3376         vpxor   %xmm7,%xmm6,%xmm6
3377         movl    %r11d,%r12d
3378         shrdl   $9,%r14d,%r14d
3379         xorl    %r10d,%r13d
3380         vpshufb %xmm8,%xmm6,%xmm6
3381         xorl    %eax,%r12d
3382         shrdl   $5,%r13d,%r13d
3383         xorl    %ecx,%r14d
3384         vpaddd  %xmm6,%xmm1,%xmm1
3385         andl    %r10d,%r12d
3386         xorl    %r10d,%r13d
3387         addl    24(%rsp),%ebx
3388         vpshufd $80,%xmm1,%xmm7
3389         movl    %ecx,%r15d
3390         xorl    %eax,%r12d
3391         shrdl   $11,%r14d,%r14d
3392         vpsrld  $10,%xmm7,%xmm6
3393         xorl    %edx,%r15d
3394         addl    %r12d,%ebx
3395         shrdl   $6,%r13d,%r13d
3396         vpsrlq  $17,%xmm7,%xmm7
3397         andl    %r15d,%edi
3398         xorl    %ecx,%r14d
3399         addl    %r13d,%ebx
3400         vpxor   %xmm7,%xmm6,%xmm6
3401         xorl    %edx,%edi
3402         shrdl   $2,%r14d,%r14d
3403         addl    %ebx,%r9d
3404         vpsrlq  $2,%xmm7,%xmm7
3405         addl    %edi,%ebx
3406         movl    %r9d,%r13d
3407         addl    %ebx,%r14d
3408         vpxor   %xmm7,%xmm6,%xmm6
3409         shrdl   $14,%r13d,%r13d
3410         movl    %r14d,%ebx
3411         movl    %r10d,%r12d
3412         vpshufb %xmm9,%xmm6,%xmm6
3413         shrdl   $9,%r14d,%r14d
3414         xorl    %r9d,%r13d
3415         xorl    %r11d,%r12d
3416         vpaddd  %xmm6,%xmm1,%xmm1
3417         shrdl   $5,%r13d,%r13d
3418         xorl    %ebx,%r14d
3419         andl    %r9d,%r12d
3420         vpaddd  32(%rbp),%xmm1,%xmm6
3421         xorl    %r9d,%r13d
3422         addl    28(%rsp),%eax
3423         movl    %ebx,%edi
3424         xorl    %r11d,%r12d
3425         shrdl   $11,%r14d,%r14d
3426         xorl    %ecx,%edi
3427         addl    %r12d,%eax
3428         shrdl   $6,%r13d,%r13d
3429         andl    %edi,%r15d
3430         xorl    %ebx,%r14d
3431         addl    %r13d,%eax
3432         xorl    %ecx,%r15d
3433         shrdl   $2,%r14d,%r14d
3434         addl    %eax,%r8d
3435         addl    %r15d,%eax
3436         movl    %r8d,%r13d
3437         addl    %eax,%r14d
3438         vmovdqa %xmm6,16(%rsp)
3439         vpalignr        $4,%xmm2,%xmm3,%xmm4
3440         shrdl   $14,%r13d,%r13d
3441         movl    %r14d,%eax
3442         movl    %r9d,%r12d
3443         vpalignr        $4,%xmm0,%xmm1,%xmm7
3444         shrdl   $9,%r14d,%r14d
3445         xorl    %r8d,%r13d
3446         xorl    %r10d,%r12d
3447         vpsrld  $7,%xmm4,%xmm6
3448         shrdl   $5,%r13d,%r13d
3449         xorl    %eax,%r14d
3450         andl    %r8d,%r12d
3451         vpaddd  %xmm7,%xmm2,%xmm2
3452         xorl    %r8d,%r13d
3453         addl    32(%rsp),%r11d
3454         movl    %eax,%r15d
3455         vpsrld  $3,%xmm4,%xmm7
3456         xorl    %r10d,%r12d
3457         shrdl   $11,%r14d,%r14d
3458         xorl    %ebx,%r15d
3459         vpslld  $14,%xmm4,%xmm5
3460         addl    %r12d,%r11d
3461         shrdl   $6,%r13d,%r13d
3462         andl    %r15d,%edi
3463         vpxor   %xmm6,%xmm7,%xmm4
3464         xorl    %eax,%r14d
3465         addl    %r13d,%r11d
3466         xorl    %ebx,%edi
3467         vpshufd $250,%xmm1,%xmm7
3468         shrdl   $2,%r14d,%r14d
3469         addl    %r11d,%edx
3470         addl    %edi,%r11d
3471         vpsrld  $11,%xmm6,%xmm6
3472         movl    %edx,%r13d
3473         addl    %r11d,%r14d
3474         shrdl   $14,%r13d,%r13d
3475         vpxor   %xmm5,%xmm4,%xmm4
3476         movl    %r14d,%r11d
3477         movl    %r8d,%r12d
3478         shrdl   $9,%r14d,%r14d
3479         vpslld  $11,%xmm5,%xmm5
3480         xorl    %edx,%r13d
3481         xorl    %r9d,%r12d
3482         shrdl   $5,%r13d,%r13d
3483         vpxor   %xmm6,%xmm4,%xmm4
3484         xorl    %r11d,%r14d
3485         andl    %edx,%r12d
3486         xorl    %edx,%r13d
3487         vpsrld  $10,%xmm7,%xmm6
3488         addl    36(%rsp),%r10d
3489         movl    %r11d,%edi
3490         xorl    %r9d,%r12d
3491         vpxor   %xmm5,%xmm4,%xmm4
3492         shrdl   $11,%r14d,%r14d
3493         xorl    %eax,%edi
3494         addl    %r12d,%r10d
3495         vpsrlq  $17,%xmm7,%xmm7
3496         shrdl   $6,%r13d,%r13d
3497         andl    %edi,%r15d
3498         xorl    %r11d,%r14d
3499         vpaddd  %xmm4,%xmm2,%xmm2
3500         addl    %r13d,%r10d
3501         xorl    %eax,%r15d
3502         shrdl   $2,%r14d,%r14d
3503         vpxor   %xmm7,%xmm6,%xmm6
3504         addl    %r10d,%ecx
3505         addl    %r15d,%r10d
3506         movl    %ecx,%r13d
3507         vpsrlq  $2,%xmm7,%xmm7
3508         addl    %r10d,%r14d
3509         shrdl   $14,%r13d,%r13d
3510         movl    %r14d,%r10d
3511         vpxor   %xmm7,%xmm6,%xmm6
3512         movl    %edx,%r12d
3513         shrdl   $9,%r14d,%r14d
3514         xorl    %ecx,%r13d
3515         vpshufb %xmm8,%xmm6,%xmm6
3516         xorl    %r8d,%r12d
3517         shrdl   $5,%r13d,%r13d
3518         xorl    %r10d,%r14d
3519         vpaddd  %xmm6,%xmm2,%xmm2
3520         andl    %ecx,%r12d
3521         xorl    %ecx,%r13d
3522         addl    40(%rsp),%r9d
3523         vpshufd $80,%xmm2,%xmm7
3524         movl    %r10d,%r15d
3525         xorl    %r8d,%r12d
3526         shrdl   $11,%r14d,%r14d
3527         vpsrld  $10,%xmm7,%xmm6
3528         xorl    %r11d,%r15d
3529         addl    %r12d,%r9d
3530         shrdl   $6,%r13d,%r13d
3531         vpsrlq  $17,%xmm7,%xmm7
3532         andl    %r15d,%edi
3533         xorl    %r10d,%r14d
3534         addl    %r13d,%r9d
3535         vpxor   %xmm7,%xmm6,%xmm6
3536         xorl    %r11d,%edi
3537         shrdl   $2,%r14d,%r14d
3538         addl    %r9d,%ebx
3539         vpsrlq  $2,%xmm7,%xmm7
3540         addl    %edi,%r9d
3541         movl    %ebx,%r13d
3542         addl    %r9d,%r14d
3543         vpxor   %xmm7,%xmm6,%xmm6
3544         shrdl   $14,%r13d,%r13d
3545         movl    %r14d,%r9d
3546         movl    %ecx,%r12d
3547         vpshufb %xmm9,%xmm6,%xmm6
3548         shrdl   $9,%r14d,%r14d
3549         xorl    %ebx,%r13d
3550         xorl    %edx,%r12d
3551         vpaddd  %xmm6,%xmm2,%xmm2
3552         shrdl   $5,%r13d,%r13d
3553         xorl    %r9d,%r14d
3554         andl    %ebx,%r12d
3555         vpaddd  64(%rbp),%xmm2,%xmm6
3556         xorl    %ebx,%r13d
3557         addl    44(%rsp),%r8d
3558         movl    %r9d,%edi
3559         xorl    %edx,%r12d
3560         shrdl   $11,%r14d,%r14d
3561         xorl    %r10d,%edi
3562         addl    %r12d,%r8d
3563         shrdl   $6,%r13d,%r13d
3564         andl    %edi,%r15d
3565         xorl    %r9d,%r14d
3566         addl    %r13d,%r8d
3567         xorl    %r10d,%r15d
3568         shrdl   $2,%r14d,%r14d
3569         addl    %r8d,%eax
3570         addl    %r15d,%r8d
3571         movl    %eax,%r13d
3572         addl    %r8d,%r14d
3573         vmovdqa %xmm6,32(%rsp)
3574         vpalignr        $4,%xmm3,%xmm0,%xmm4
3575         shrdl   $14,%r13d,%r13d
3576         movl    %r14d,%r8d
3577         movl    %ebx,%r12d
3578         vpalignr        $4,%xmm1,%xmm2,%xmm7
3579         shrdl   $9,%r14d,%r14d
3580         xorl    %eax,%r13d
3581         xorl    %ecx,%r12d
3582         vpsrld  $7,%xmm4,%xmm6
3583         shrdl   $5,%r13d,%r13d
3584         xorl    %r8d,%r14d
3585         andl    %eax,%r12d
3586         vpaddd  %xmm7,%xmm3,%xmm3
3587         xorl    %eax,%r13d
3588         addl    48(%rsp),%edx
3589         movl    %r8d,%r15d
3590         vpsrld  $3,%xmm4,%xmm7
3591         xorl    %ecx,%r12d
3592         shrdl   $11,%r14d,%r14d
3593         xorl    %r9d,%r15d
3594         vpslld  $14,%xmm4,%xmm5
3595         addl    %r12d,%edx
3596         shrdl   $6,%r13d,%r13d
3597         andl    %r15d,%edi
3598         vpxor   %xmm6,%xmm7,%xmm4
3599         xorl    %r8d,%r14d
3600         addl    %r13d,%edx
3601         xorl    %r9d,%edi
3602         vpshufd $250,%xmm2,%xmm7
3603         shrdl   $2,%r14d,%r14d
3604         addl    %edx,%r11d
3605         addl    %edi,%edx
3606         vpsrld  $11,%xmm6,%xmm6
3607         movl    %r11d,%r13d
3608         addl    %edx,%r14d
3609         shrdl   $14,%r13d,%r13d
3610         vpxor   %xmm5,%xmm4,%xmm4
3611         movl    %r14d,%edx
3612         movl    %eax,%r12d
3613         shrdl   $9,%r14d,%r14d
3614         vpslld  $11,%xmm5,%xmm5
3615         xorl    %r11d,%r13d
3616         xorl    %ebx,%r12d
3617         shrdl   $5,%r13d,%r13d
3618         vpxor   %xmm6,%xmm4,%xmm4
3619         xorl    %edx,%r14d
3620         andl    %r11d,%r12d
3621         xorl    %r11d,%r13d
3622         vpsrld  $10,%xmm7,%xmm6
3623         addl    52(%rsp),%ecx
3624         movl    %edx,%edi
3625         xorl    %ebx,%r12d
3626         vpxor   %xmm5,%xmm4,%xmm4
3627         shrdl   $11,%r14d,%r14d
3628         xorl    %r8d,%edi
3629         addl    %r12d,%ecx
3630         vpsrlq  $17,%xmm7,%xmm7
3631         shrdl   $6,%r13d,%r13d
3632         andl    %edi,%r15d
3633         xorl    %edx,%r14d
3634         vpaddd  %xmm4,%xmm3,%xmm3
3635         addl    %r13d,%ecx
3636         xorl    %r8d,%r15d
3637         shrdl   $2,%r14d,%r14d
3638         vpxor   %xmm7,%xmm6,%xmm6
3639         addl    %ecx,%r10d
3640         addl    %r15d,%ecx
3641         movl    %r10d,%r13d
3642         vpsrlq  $2,%xmm7,%xmm7
3643         addl    %ecx,%r14d
3644         shrdl   $14,%r13d,%r13d
3645         movl    %r14d,%ecx
3646         vpxor   %xmm7,%xmm6,%xmm6
3647         movl    %r11d,%r12d
3648         shrdl   $9,%r14d,%r14d
3649         xorl    %r10d,%r13d
3650         vpshufb %xmm8,%xmm6,%xmm6
3651         xorl    %eax,%r12d
3652         shrdl   $5,%r13d,%r13d
3653         xorl    %ecx,%r14d
3654         vpaddd  %xmm6,%xmm3,%xmm3
3655         andl    %r10d,%r12d
3656         xorl    %r10d,%r13d
3657         addl    56(%rsp),%ebx
3658         vpshufd $80,%xmm3,%xmm7
3659         movl    %ecx,%r15d
3660         xorl    %eax,%r12d
3661         shrdl   $11,%r14d,%r14d
3662         vpsrld  $10,%xmm7,%xmm6
3663         xorl    %edx,%r15d
3664         addl    %r12d,%ebx
3665         shrdl   $6,%r13d,%r13d
3666         vpsrlq  $17,%xmm7,%xmm7
3667         andl    %r15d,%edi
3668         xorl    %ecx,%r14d
3669         addl    %r13d,%ebx
3670         vpxor   %xmm7,%xmm6,%xmm6
3671         xorl    %edx,%edi
3672         shrdl   $2,%r14d,%r14d
3673         addl    %ebx,%r9d
3674         vpsrlq  $2,%xmm7,%xmm7
3675         addl    %edi,%ebx
3676         movl    %r9d,%r13d
3677         addl    %ebx,%r14d
3678         vpxor   %xmm7,%xmm6,%xmm6
3679         shrdl   $14,%r13d,%r13d
3680         movl    %r14d,%ebx
3681         movl    %r10d,%r12d
3682         vpshufb %xmm9,%xmm6,%xmm6
3683         shrdl   $9,%r14d,%r14d
3684         xorl    %r9d,%r13d
3685         xorl    %r11d,%r12d
3686         vpaddd  %xmm6,%xmm3,%xmm3
3687         shrdl   $5,%r13d,%r13d
3688         xorl    %ebx,%r14d
3689         andl    %r9d,%r12d
3690         vpaddd  96(%rbp),%xmm3,%xmm6
3691         xorl    %r9d,%r13d
3692         addl    60(%rsp),%eax
3693         movl    %ebx,%edi
3694         xorl    %r11d,%r12d
3695         shrdl   $11,%r14d,%r14d
3696         xorl    %ecx,%edi
3697         addl    %r12d,%eax
3698         shrdl   $6,%r13d,%r13d
3699         andl    %edi,%r15d
3700         xorl    %ebx,%r14d
3701         addl    %r13d,%eax
3702         xorl    %ecx,%r15d
3703         shrdl   $2,%r14d,%r14d
3704         addl    %eax,%r8d
3705         addl    %r15d,%eax
3706         movl    %r8d,%r13d
3707         addl    %eax,%r14d
3708         vmovdqa %xmm6,48(%rsp)
3709         cmpb    $0,131(%rbp)
3710         jne     .Lavx_00_47
3711         shrdl   $14,%r13d,%r13d
3712         movl    %r14d,%eax
3713         movl    %r9d,%r12d
3714         shrdl   $9,%r14d,%r14d
3715         xorl    %r8d,%r13d
3716         xorl    %r10d,%r12d
3717         shrdl   $5,%r13d,%r13d
3718         xorl    %eax,%r14d
3719         andl    %r8d,%r12d
3720         xorl    %r8d,%r13d
3721         addl    0(%rsp),%r11d
3722         movl    %eax,%r15d
3723         xorl    %r10d,%r12d
3724         shrdl   $11,%r14d,%r14d
3725         xorl    %ebx,%r15d
3726         addl    %r12d,%r11d
3727         shrdl   $6,%r13d,%r13d
3728         andl    %r15d,%edi
3729         xorl    %eax,%r14d
3730         addl    %r13d,%r11d
3731         xorl    %ebx,%edi
3732         shrdl   $2,%r14d,%r14d
3733         addl    %r11d,%edx
3734         addl    %edi,%r11d
3735         movl    %edx,%r13d
3736         addl    %r11d,%r14d
3737         shrdl   $14,%r13d,%r13d
3738         movl    %r14d,%r11d
3739         movl    %r8d,%r12d
3740         shrdl   $9,%r14d,%r14d
3741         xorl    %edx,%r13d
3742         xorl    %r9d,%r12d
3743         shrdl   $5,%r13d,%r13d
3744         xorl    %r11d,%r14d
3745         andl    %edx,%r12d
3746         xorl    %edx,%r13d
3747         addl    4(%rsp),%r10d
3748         movl    %r11d,%edi
3749         xorl    %r9d,%r12d
3750         shrdl   $11,%r14d,%r14d
3751         xorl    %eax,%edi
3752         addl    %r12d,%r10d
3753         shrdl   $6,%r13d,%r13d
3754         andl    %edi,%r15d
3755         xorl    %r11d,%r14d
3756         addl    %r13d,%r10d
3757         xorl    %eax,%r15d
3758         shrdl   $2,%r14d,%r14d
3759         addl    %r10d,%ecx
3760         addl    %r15d,%r10d
3761         movl    %ecx,%r13d
3762         addl    %r10d,%r14d
3763         shrdl   $14,%r13d,%r13d
3764         movl    %r14d,%r10d
3765         movl    %edx,%r12d
3766         shrdl   $9,%r14d,%r14d
3767         xorl    %ecx,%r13d
3768         xorl    %r8d,%r12d
3769         shrdl   $5,%r13d,%r13d
3770         xorl    %r10d,%r14d
3771         andl    %ecx,%r12d
3772         xorl    %ecx,%r13d
3773         addl    8(%rsp),%r9d
3774         movl    %r10d,%r15d
3775         xorl    %r8d,%r12d
3776         shrdl   $11,%r14d,%r14d
3777         xorl    %r11d,%r15d
3778         addl    %r12d,%r9d
3779         shrdl   $6,%r13d,%r13d
3780         andl    %r15d,%edi
3781         xorl    %r10d,%r14d
3782         addl    %r13d,%r9d
3783         xorl    %r11d,%edi
3784         shrdl   $2,%r14d,%r14d
3785         addl    %r9d,%ebx
3786         addl    %edi,%r9d
3787         movl    %ebx,%r13d
3788         addl    %r9d,%r14d
3789         shrdl   $14,%r13d,%r13d
3790         movl    %r14d,%r9d
3791         movl    %ecx,%r12d
3792         shrdl   $9,%r14d,%r14d
3793         xorl    %ebx,%r13d
3794         xorl    %edx,%r12d
3795         shrdl   $5,%r13d,%r13d
3796         xorl    %r9d,%r14d
3797         andl    %ebx,%r12d
3798         xorl    %ebx,%r13d
3799         addl    12(%rsp),%r8d
3800         movl    %r9d,%edi
3801         xorl    %edx,%r12d
3802         shrdl   $11,%r14d,%r14d
3803         xorl    %r10d,%edi
3804         addl    %r12d,%r8d
3805         shrdl   $6,%r13d,%r13d
3806         andl    %edi,%r15d
3807         xorl    %r9d,%r14d
3808         addl    %r13d,%r8d
3809         xorl    %r10d,%r15d
3810         shrdl   $2,%r14d,%r14d
3811         addl    %r8d,%eax
3812         addl    %r15d,%r8d
3813         movl    %eax,%r13d
3814         addl    %r8d,%r14d
3815         shrdl   $14,%r13d,%r13d
3816         movl    %r14d,%r8d
3817         movl    %ebx,%r12d
3818         shrdl   $9,%r14d,%r14d
3819         xorl    %eax,%r13d
3820         xorl    %ecx,%r12d
3821         shrdl   $5,%r13d,%r13d
3822         xorl    %r8d,%r14d
3823         andl    %eax,%r12d
3824         xorl    %eax,%r13d
3825         addl    16(%rsp),%edx
3826         movl    %r8d,%r15d
3827         xorl    %ecx,%r12d
3828         shrdl   $11,%r14d,%r14d
3829         xorl    %r9d,%r15d
3830         addl    %r12d,%edx
3831         shrdl   $6,%r13d,%r13d
3832         andl    %r15d,%edi
3833         xorl    %r8d,%r14d
3834         addl    %r13d,%edx
3835         xorl    %r9d,%edi
3836         shrdl   $2,%r14d,%r14d
3837         addl    %edx,%r11d
3838         addl    %edi,%edx
3839         movl    %r11d,%r13d
3840         addl    %edx,%r14d
3841         shrdl   $14,%r13d,%r13d
3842         movl    %r14d,%edx
3843         movl    %eax,%r12d
3844         shrdl   $9,%r14d,%r14d
3845         xorl    %r11d,%r13d
3846         xorl    %ebx,%r12d
3847         shrdl   $5,%r13d,%r13d
3848         xorl    %edx,%r14d
3849         andl    %r11d,%r12d
3850         xorl    %r11d,%r13d
3851         addl    20(%rsp),%ecx
3852         movl    %edx,%edi
3853         xorl    %ebx,%r12d
3854         shrdl   $11,%r14d,%r14d
3855         xorl    %r8d,%edi
3856         addl    %r12d,%ecx
3857         shrdl   $6,%r13d,%r13d
3858         andl    %edi,%r15d
3859         xorl    %edx,%r14d
3860         addl    %r13d,%ecx
3861         xorl    %r8d,%r15d
3862         shrdl   $2,%r14d,%r14d
3863         addl    %ecx,%r10d
3864         addl    %r15d,%ecx
3865         movl    %r10d,%r13d
3866         addl    %ecx,%r14d
3867         shrdl   $14,%r13d,%r13d
3868         movl    %r14d,%ecx
3869         movl    %r11d,%r12d
3870         shrdl   $9,%r14d,%r14d
3871         xorl    %r10d,%r13d
3872         xorl    %eax,%r12d
3873         shrdl   $5,%r13d,%r13d
3874         xorl    %ecx,%r14d
3875         andl    %r10d,%r12d
3876         xorl    %r10d,%r13d
3877         addl    24(%rsp),%ebx
3878         movl    %ecx,%r15d
3879         xorl    %eax,%r12d
3880         shrdl   $11,%r14d,%r14d
3881         xorl    %edx,%r15d
3882         addl    %r12d,%ebx
3883         shrdl   $6,%r13d,%r13d
3884         andl    %r15d,%edi
3885         xorl    %ecx,%r14d
3886         addl    %r13d,%ebx
3887         xorl    %edx,%edi
3888         shrdl   $2,%r14d,%r14d
3889         addl    %ebx,%r9d
3890         addl    %edi,%ebx
3891         movl    %r9d,%r13d
3892         addl    %ebx,%r14d
3893         shrdl   $14,%r13d,%r13d
3894         movl    %r14d,%ebx
3895         movl    %r10d,%r12d
3896         shrdl   $9,%r14d,%r14d
3897         xorl    %r9d,%r13d
3898         xorl    %r11d,%r12d
3899         shrdl   $5,%r13d,%r13d
3900         xorl    %ebx,%r14d
3901         andl    %r9d,%r12d
3902         xorl    %r9d,%r13d
3903         addl    28(%rsp),%eax
3904         movl    %ebx,%edi
3905         xorl    %r11d,%r12d
3906         shrdl   $11,%r14d,%r14d
3907         xorl    %ecx,%edi
3908         addl    %r12d,%eax
3909         shrdl   $6,%r13d,%r13d
3910         andl    %edi,%r15d
3911         xorl    %ebx,%r14d
3912         addl    %r13d,%eax
3913         xorl    %ecx,%r15d
3914         shrdl   $2,%r14d,%r14d
3915         addl    %eax,%r8d
3916         addl    %r15d,%eax
3917         movl    %r8d,%r13d
3918         addl    %eax,%r14d
3919         shrdl   $14,%r13d,%r13d
3920         movl    %r14d,%eax
3921         movl    %r9d,%r12d
3922         shrdl   $9,%r14d,%r14d
3923         xorl    %r8d,%r13d
3924         xorl    %r10d,%r12d
3925         shrdl   $5,%r13d,%r13d
3926         xorl    %eax,%r14d
3927         andl    %r8d,%r12d
3928         xorl    %r8d,%r13d
3929         addl    32(%rsp),%r11d
3930         movl    %eax,%r15d
3931         xorl    %r10d,%r12d
3932         shrdl   $11,%r14d,%r14d
3933         xorl    %ebx,%r15d
3934         addl    %r12d,%r11d
3935         shrdl   $6,%r13d,%r13d
3936         andl    %r15d,%edi
3937         xorl    %eax,%r14d
3938         addl    %r13d,%r11d
3939         xorl    %ebx,%edi
3940         shrdl   $2,%r14d,%r14d
3941         addl    %r11d,%edx
3942         addl    %edi,%r11d
3943         movl    %edx,%r13d
3944         addl    %r11d,%r14d
3945         shrdl   $14,%r13d,%r13d
3946         movl    %r14d,%r11d
3947         movl    %r8d,%r12d
3948         shrdl   $9,%r14d,%r14d
3949         xorl    %edx,%r13d
3950         xorl    %r9d,%r12d
3951         shrdl   $5,%r13d,%r13d
3952         xorl    %r11d,%r14d
3953         andl    %edx,%r12d
3954         xorl    %edx,%r13d
3955         addl    36(%rsp),%r10d
3956         movl    %r11d,%edi
3957         xorl    %r9d,%r12d
3958         shrdl   $11,%r14d,%r14d
3959         xorl    %eax,%edi
3960         addl    %r12d,%r10d
3961         shrdl   $6,%r13d,%r13d
3962         andl    %edi,%r15d
3963         xorl    %r11d,%r14d
3964         addl    %r13d,%r10d
3965         xorl    %eax,%r15d
3966         shrdl   $2,%r14d,%r14d
3967         addl    %r10d,%ecx
3968         addl    %r15d,%r10d
3969         movl    %ecx,%r13d
3970         addl    %r10d,%r14d
3971         shrdl   $14,%r13d,%r13d
3972         movl    %r14d,%r10d
3973         movl    %edx,%r12d
3974         shrdl   $9,%r14d,%r14d
3975         xorl    %ecx,%r13d
3976         xorl    %r8d,%r12d
3977         shrdl   $5,%r13d,%r13d
3978         xorl    %r10d,%r14d
3979         andl    %ecx,%r12d
3980         xorl    %ecx,%r13d
3981         addl    40(%rsp),%r9d
3982         movl    %r10d,%r15d
3983         xorl    %r8d,%r12d
3984         shrdl   $11,%r14d,%r14d
3985         xorl    %r11d,%r15d
3986         addl    %r12d,%r9d
3987         shrdl   $6,%r13d,%r13d
3988         andl    %r15d,%edi
3989         xorl    %r10d,%r14d
3990         addl    %r13d,%r9d
3991         xorl    %r11d,%edi
3992         shrdl   $2,%r14d,%r14d
3993         addl    %r9d,%ebx
3994         addl    %edi,%r9d
3995         movl    %ebx,%r13d
3996         addl    %r9d,%r14d
3997         shrdl   $14,%r13d,%r13d
3998         movl    %r14d,%r9d
3999         movl    %ecx,%r12d
4000         shrdl   $9,%r14d,%r14d
4001         xorl    %ebx,%r13d
4002         xorl    %edx,%r12d
4003         shrdl   $5,%r13d,%r13d
4004         xorl    %r9d,%r14d
4005         andl    %ebx,%r12d
4006         xorl    %ebx,%r13d
4007         addl    44(%rsp),%r8d
4008         movl    %r9d,%edi
4009         xorl    %edx,%r12d
4010         shrdl   $11,%r14d,%r14d
4011         xorl    %r10d,%edi
4012         addl    %r12d,%r8d
4013         shrdl   $6,%r13d,%r13d
4014         andl    %edi,%r15d
4015         xorl    %r9d,%r14d
4016         addl    %r13d,%r8d
4017         xorl    %r10d,%r15d
4018         shrdl   $2,%r14d,%r14d
4019         addl    %r8d,%eax
4020         addl    %r15d,%r8d
4021         movl    %eax,%r13d
4022         addl    %r8d,%r14d
4023         shrdl   $14,%r13d,%r13d
4024         movl    %r14d,%r8d
4025         movl    %ebx,%r12d
4026         shrdl   $9,%r14d,%r14d
4027         xorl    %eax,%r13d
4028         xorl    %ecx,%r12d
4029         shrdl   $5,%r13d,%r13d
4030         xorl    %r8d,%r14d
4031         andl    %eax,%r12d
4032         xorl    %eax,%r13d
4033         addl    48(%rsp),%edx
4034         movl    %r8d,%r15d
4035         xorl    %ecx,%r12d
4036         shrdl   $11,%r14d,%r14d
4037         xorl    %r9d,%r15d
4038         addl    %r12d,%edx
4039         shrdl   $6,%r13d,%r13d
4040         andl    %r15d,%edi
4041         xorl    %r8d,%r14d
4042         addl    %r13d,%edx
4043         xorl    %r9d,%edi
4044         shrdl   $2,%r14d,%r14d
4045         addl    %edx,%r11d
4046         addl    %edi,%edx
4047         movl    %r11d,%r13d
4048         addl    %edx,%r14d
4049         shrdl   $14,%r13d,%r13d
4050         movl    %r14d,%edx
4051         movl    %eax,%r12d
4052         shrdl   $9,%r14d,%r14d
4053         xorl    %r11d,%r13d
4054         xorl    %ebx,%r12d
4055         shrdl   $5,%r13d,%r13d
4056         xorl    %edx,%r14d
4057         andl    %r11d,%r12d
4058         xorl    %r11d,%r13d
4059         addl    52(%rsp),%ecx
4060         movl    %edx,%edi
4061         xorl    %ebx,%r12d
4062         shrdl   $11,%r14d,%r14d
4063         xorl    %r8d,%edi
4064         addl    %r12d,%ecx
4065         shrdl   $6,%r13d,%r13d
4066         andl    %edi,%r15d
4067         xorl    %edx,%r14d
4068         addl    %r13d,%ecx
4069         xorl    %r8d,%r15d
4070         shrdl   $2,%r14d,%r14d
4071         addl    %ecx,%r10d
4072         addl    %r15d,%ecx
4073         movl    %r10d,%r13d
4074         addl    %ecx,%r14d
4075         shrdl   $14,%r13d,%r13d
4076         movl    %r14d,%ecx
4077         movl    %r11d,%r12d
4078         shrdl   $9,%r14d,%r14d
4079         xorl    %r10d,%r13d
4080         xorl    %eax,%r12d
4081         shrdl   $5,%r13d,%r13d
4082         xorl    %ecx,%r14d
4083         andl    %r10d,%r12d
4084         xorl    %r10d,%r13d
4085         addl    56(%rsp),%ebx
4086         movl    %ecx,%r15d
4087         xorl    %eax,%r12d
4088         shrdl   $11,%r14d,%r14d
4089         xorl    %edx,%r15d
4090         addl    %r12d,%ebx
4091         shrdl   $6,%r13d,%r13d
4092         andl    %r15d,%edi
4093         xorl    %ecx,%r14d
4094         addl    %r13d,%ebx
4095         xorl    %edx,%edi
4096         shrdl   $2,%r14d,%r14d
4097         addl    %ebx,%r9d
4098         addl    %edi,%ebx
4099         movl    %r9d,%r13d
4100         addl    %ebx,%r14d
4101         shrdl   $14,%r13d,%r13d
4102         movl    %r14d,%ebx
4103         movl    %r10d,%r12d
4104         shrdl   $9,%r14d,%r14d
4105         xorl    %r9d,%r13d
4106         xorl    %r11d,%r12d
4107         shrdl   $5,%r13d,%r13d
4108         xorl    %ebx,%r14d
4109         andl    %r9d,%r12d
4110         xorl    %r9d,%r13d
4111         addl    60(%rsp),%eax
4112         movl    %ebx,%edi
4113         xorl    %r11d,%r12d
4114         shrdl   $11,%r14d,%r14d
4115         xorl    %ecx,%edi
4116         addl    %r12d,%eax
4117         shrdl   $6,%r13d,%r13d
4118         andl    %edi,%r15d
4119         xorl    %ebx,%r14d
4120         addl    %r13d,%eax
4121         xorl    %ecx,%r15d
4122         shrdl   $2,%r14d,%r14d
4123         addl    %eax,%r8d
4124         addl    %r15d,%eax
4125         movl    %r8d,%r13d
4126         addl    %eax,%r14d
4127         movq    64+0(%rsp),%rdi
4128         movl    %r14d,%eax
4129
4130         addl    0(%rdi),%eax
4131         leaq    64(%rsi),%rsi
4132         addl    4(%rdi),%ebx
4133         addl    8(%rdi),%ecx
4134         addl    12(%rdi),%edx
4135         addl    16(%rdi),%r8d
4136         addl    20(%rdi),%r9d
4137         addl    24(%rdi),%r10d
4138         addl    28(%rdi),%r11d
4139
4140         cmpq    64+16(%rsp),%rsi
4141
4142         movl    %eax,0(%rdi)
4143         movl    %ebx,4(%rdi)
4144         movl    %ecx,8(%rdi)
4145         movl    %edx,12(%rdi)
4146         movl    %r8d,16(%rdi)
4147         movl    %r9d,20(%rdi)
4148         movl    %r10d,24(%rdi)
4149         movl    %r11d,28(%rdi)
4150         jb      .Lloop_avx
4151
4152         movq    88(%rsp),%rsi
4153 .cfi_def_cfa    %rsi,8
4154         vzeroupper
4155         movq    -48(%rsi),%r15
4156 .cfi_restore    %r15
4157         movq    -40(%rsi),%r14
4158 .cfi_restore    %r14
4159         movq    -32(%rsi),%r13
4160 .cfi_restore    %r13
4161         movq    -24(%rsi),%r12
4162 .cfi_restore    %r12
4163         movq    -16(%rsi),%rbp
4164 .cfi_restore    %rbp
4165         movq    -8(%rsi),%rbx
4166 .cfi_restore    %rbx
4167         leaq    (%rsi),%rsp
4168 .cfi_def_cfa_register   %rsp
4169 .Lepilogue_avx:
4170         .byte   0xf3,0xc3
4171 .cfi_endproc    
4172 .size   sha256_block_data_order_avx,.-sha256_block_data_order_avx
4173 .type   sha256_block_data_order_avx2,@function
4174 .align  64
4175 sha256_block_data_order_avx2:
4176 .cfi_startproc  
4177 .Lavx2_shortcut:
4178         movq    %rsp,%rax
4179 .cfi_def_cfa_register   %rax
4180         pushq   %rbx
4181 .cfi_offset     %rbx,-16
4182         pushq   %rbp
4183 .cfi_offset     %rbp,-24
4184         pushq   %r12
4185 .cfi_offset     %r12,-32
4186         pushq   %r13
4187 .cfi_offset     %r13,-40
4188         pushq   %r14
4189 .cfi_offset     %r14,-48
4190         pushq   %r15
4191 .cfi_offset     %r15,-56
4192         subq    $544,%rsp
4193         shlq    $4,%rdx
4194         andq    $-1024,%rsp
4195         leaq    (%rsi,%rdx,4),%rdx
4196         addq    $448,%rsp
4197         movq    %rdi,64+0(%rsp)
4198         movq    %rsi,64+8(%rsp)
4199         movq    %rdx,64+16(%rsp)
4200         movq    %rax,88(%rsp)
4201 .cfi_escape     0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
4202 .Lprologue_avx2:
4203
4204         vzeroupper
4205         subq    $-64,%rsi
4206         movl    0(%rdi),%eax
4207         movq    %rsi,%r12
4208         movl    4(%rdi),%ebx
4209         cmpq    %rdx,%rsi
4210         movl    8(%rdi),%ecx
4211         cmoveq  %rsp,%r12
4212         movl    12(%rdi),%edx
4213         movl    16(%rdi),%r8d
4214         movl    20(%rdi),%r9d
4215         movl    24(%rdi),%r10d
4216         movl    28(%rdi),%r11d
4217         vmovdqa K256+512+32(%rip),%ymm8
4218         vmovdqa K256+512+64(%rip),%ymm9
4219         jmp     .Loop_avx2
4220 .align  16
4221 .Loop_avx2:
4222         vmovdqa K256+512(%rip),%ymm7
4223         vmovdqu -64+0(%rsi),%xmm0
4224         vmovdqu -64+16(%rsi),%xmm1
4225         vmovdqu -64+32(%rsi),%xmm2
4226         vmovdqu -64+48(%rsi),%xmm3
4227
4228         vinserti128     $1,(%r12),%ymm0,%ymm0
4229         vinserti128     $1,16(%r12),%ymm1,%ymm1
4230         vpshufb %ymm7,%ymm0,%ymm0
4231         vinserti128     $1,32(%r12),%ymm2,%ymm2
4232         vpshufb %ymm7,%ymm1,%ymm1
4233         vinserti128     $1,48(%r12),%ymm3,%ymm3
4234
4235         leaq    K256(%rip),%rbp
4236         vpshufb %ymm7,%ymm2,%ymm2
4237         vpaddd  0(%rbp),%ymm0,%ymm4
4238         vpshufb %ymm7,%ymm3,%ymm3
4239         vpaddd  32(%rbp),%ymm1,%ymm5
4240         vpaddd  64(%rbp),%ymm2,%ymm6
4241         vpaddd  96(%rbp),%ymm3,%ymm7
4242         vmovdqa %ymm4,0(%rsp)
4243         xorl    %r14d,%r14d
4244         vmovdqa %ymm5,32(%rsp)
4245
4246         movq    88(%rsp),%rdi
4247 .cfi_def_cfa    %rdi,8
4248         leaq    -64(%rsp),%rsp
4249
4250
4251
4252         movq    %rdi,-8(%rsp)
4253 .cfi_escape     0x0f,0x05,0x77,0x78,0x06,0x23,0x08
4254         movl    %ebx,%edi
4255         vmovdqa %ymm6,0(%rsp)
4256         xorl    %ecx,%edi
4257         vmovdqa %ymm7,32(%rsp)
4258         movl    %r9d,%r12d
4259         subq    $-32*4,%rbp
4260         jmp     .Lavx2_00_47
4261
4262 .align  16
4263 .Lavx2_00_47:
4264         leaq    -64(%rsp),%rsp
4265 .cfi_escape     0x0f,0x05,0x77,0x38,0x06,0x23,0x08
4266
4267         pushq   64-8(%rsp)
4268 .cfi_escape     0x0f,0x05,0x77,0x00,0x06,0x23,0x08
4269         leaq    8(%rsp),%rsp
4270 .cfi_escape     0x0f,0x05,0x77,0x78,0x06,0x23,0x08
4271         vpalignr        $4,%ymm0,%ymm1,%ymm4
4272         addl    0+128(%rsp),%r11d
4273         andl    %r8d,%r12d
4274         rorxl   $25,%r8d,%r13d
4275         vpalignr        $4,%ymm2,%ymm3,%ymm7
4276         rorxl   $11,%r8d,%r15d
4277         leal    (%rax,%r14,1),%eax
4278         leal    (%r11,%r12,1),%r11d
4279         vpsrld  $7,%ymm4,%ymm6
4280         andnl   %r10d,%r8d,%r12d
4281         xorl    %r15d,%r13d
4282         rorxl   $6,%r8d,%r14d
4283         vpaddd  %ymm7,%ymm0,%ymm0
4284         leal    (%r11,%r12,1),%r11d
4285         xorl    %r14d,%r13d
4286         movl    %eax,%r15d
4287         vpsrld  $3,%ymm4,%ymm7
4288         rorxl   $22,%eax,%r12d
4289         leal    (%r11,%r13,1),%r11d
4290         xorl    %ebx,%r15d
4291         vpslld  $14,%ymm4,%ymm5
4292         rorxl   $13,%eax,%r14d
4293         rorxl   $2,%eax,%r13d
4294         leal    (%rdx,%r11,1),%edx
4295         vpxor   %ymm6,%ymm7,%ymm4
4296         andl    %r15d,%edi
4297         xorl    %r12d,%r14d
4298         xorl    %ebx,%edi
4299         vpshufd $250,%ymm3,%ymm7
4300         xorl    %r13d,%r14d
4301         leal    (%r11,%rdi,1),%r11d
4302         movl    %r8d,%r12d
4303         vpsrld  $11,%ymm6,%ymm6
4304         addl    4+128(%rsp),%r10d
4305         andl    %edx,%r12d
4306         rorxl   $25,%edx,%r13d
4307         vpxor   %ymm5,%ymm4,%ymm4
4308         rorxl   $11,%edx,%edi
4309         leal    (%r11,%r14,1),%r11d
4310         leal    (%r10,%r12,1),%r10d
4311         vpslld  $11,%ymm5,%ymm5
4312         andnl   %r9d,%edx,%r12d
4313         xorl    %edi,%r13d
4314         rorxl   $6,%edx,%r14d
4315         vpxor   %ymm6,%ymm4,%ymm4
4316         leal    (%r10,%r12,1),%r10d
4317         xorl    %r14d,%r13d
4318         movl    %r11d,%edi
4319         vpsrld  $10,%ymm7,%ymm6
4320         rorxl   $22,%r11d,%r12d
4321         leal    (%r10,%r13,1),%r10d
4322         xorl    %eax,%edi
4323         vpxor   %ymm5,%ymm4,%ymm4
4324         rorxl   $13,%r11d,%r14d
4325         rorxl   $2,%r11d,%r13d
4326         leal    (%rcx,%r10,1),%ecx
4327         vpsrlq  $17,%ymm7,%ymm7
4328         andl    %edi,%r15d
4329         xorl    %r12d,%r14d
4330         xorl    %eax,%r15d
4331         vpaddd  %ymm4,%ymm0,%ymm0
4332         xorl    %r13d,%r14d
4333         leal    (%r10,%r15,1),%r10d
4334         movl    %edx,%r12d
4335         vpxor   %ymm7,%ymm6,%ymm6
4336         addl    8+128(%rsp),%r9d
4337         andl    %ecx,%r12d
4338         rorxl   $25,%ecx,%r13d
4339         vpsrlq  $2,%ymm7,%ymm7
4340         rorxl   $11,%ecx,%r15d
4341         leal    (%r10,%r14,1),%r10d
4342         leal    (%r9,%r12,1),%r9d
4343         vpxor   %ymm7,%ymm6,%ymm6
4344         andnl   %r8d,%ecx,%r12d
4345         xorl    %r15d,%r13d
4346         rorxl   $6,%ecx,%r14d
4347         vpshufb %ymm8,%ymm6,%ymm6
4348         leal    (%r9,%r12,1),%r9d
4349         xorl    %r14d,%r13d
4350         movl    %r10d,%r15d
4351         vpaddd  %ymm6,%ymm0,%ymm0
4352         rorxl   $22,%r10d,%r12d
4353         leal    (%r9,%r13,1),%r9d
4354         xorl    %r11d,%r15d
4355         vpshufd $80,%ymm0,%ymm7
4356         rorxl   $13,%r10d,%r14d
4357         rorxl   $2,%r10d,%r13d
4358         leal    (%rbx,%r9,1),%ebx
4359         vpsrld  $10,%ymm7,%ymm6
4360         andl    %r15d,%edi
4361         xorl    %r12d,%r14d
4362         xorl    %r11d,%edi
4363         vpsrlq  $17,%ymm7,%ymm7
4364         xorl    %r13d,%r14d
4365         leal    (%r9,%rdi,1),%r9d
4366         movl    %ecx,%r12d
4367         vpxor   %ymm7,%ymm6,%ymm6
4368         addl    12+128(%rsp),%r8d
4369         andl    %ebx,%r12d
4370         rorxl   $25,%ebx,%r13d
4371         vpsrlq  $2,%ymm7,%ymm7
4372         rorxl   $11,%ebx,%edi
4373         leal    (%r9,%r14,1),%r9d
4374         leal    (%r8,%r12,1),%r8d
4375         vpxor   %ymm7,%ymm6,%ymm6
4376         andnl   %edx,%ebx,%r12d
4377         xorl    %edi,%r13d
4378         rorxl   $6,%ebx,%r14d
4379         vpshufb %ymm9,%ymm6,%ymm6
4380         leal    (%r8,%r12,1),%r8d
4381         xorl    %r14d,%r13d
4382         movl    %r9d,%edi
4383         vpaddd  %ymm6,%ymm0,%ymm0
4384         rorxl   $22,%r9d,%r12d
4385         leal    (%r8,%r13,1),%r8d
4386         xorl    %r10d,%edi
4387         vpaddd  0(%rbp),%ymm0,%ymm6
4388         rorxl   $13,%r9d,%r14d
4389         rorxl   $2,%r9d,%r13d
4390         leal    (%rax,%r8,1),%eax
4391         andl    %edi,%r15d
4392         xorl    %r12d,%r14d
4393         xorl    %r10d,%r15d
4394         xorl    %r13d,%r14d
4395         leal    (%r8,%r15,1),%r8d
4396         movl    %ebx,%r12d
4397         vmovdqa %ymm6,0(%rsp)
4398         vpalignr        $4,%ymm1,%ymm2,%ymm4
4399         addl    32+128(%rsp),%edx
4400         andl    %eax,%r12d
4401         rorxl   $25,%eax,%r13d
4402         vpalignr        $4,%ymm3,%ymm0,%ymm7
4403         rorxl   $11,%eax,%r15d
4404         leal    (%r8,%r14,1),%r8d
4405         leal    (%rdx,%r12,1),%edx
4406         vpsrld  $7,%ymm4,%ymm6
4407         andnl   %ecx,%eax,%r12d
4408         xorl    %r15d,%r13d
4409         rorxl   $6,%eax,%r14d
4410         vpaddd  %ymm7,%ymm1,%ymm1
4411         leal    (%rdx,%r12,1),%edx
4412         xorl    %r14d,%r13d
4413         movl    %r8d,%r15d
4414         vpsrld  $3,%ymm4,%ymm7
4415         rorxl   $22,%r8d,%r12d
4416         leal    (%rdx,%r13,1),%edx
4417         xorl    %r9d,%r15d
4418         vpslld  $14,%ymm4,%ymm5
4419         rorxl   $13,%r8d,%r14d
4420         rorxl   $2,%r8d,%r13d
4421         leal    (%r11,%rdx,1),%r11d
4422         vpxor   %ymm6,%ymm7,%ymm4
4423         andl    %r15d,%edi
4424         xorl    %r12d,%r14d
4425         xorl    %r9d,%edi
4426         vpshufd $250,%ymm0,%ymm7
4427         xorl    %r13d,%r14d
4428         leal    (%rdx,%rdi,1),%edx
4429         movl    %eax,%r12d
4430         vpsrld  $11,%ymm6,%ymm6
4431         addl    36+128(%rsp),%ecx
4432         andl    %r11d,%r12d
4433         rorxl   $25,%r11d,%r13d
4434         vpxor   %ymm5,%ymm4,%ymm4
4435         rorxl   $11,%r11d,%edi
4436         leal    (%rdx,%r14,1),%edx
4437         leal    (%rcx,%r12,1),%ecx
4438         vpslld  $11,%ymm5,%ymm5
4439         andnl   %ebx,%r11d,%r12d
4440         xorl    %edi,%r13d
4441         rorxl   $6,%r11d,%r14d
4442         vpxor   %ymm6,%ymm4,%ymm4
4443         leal    (%rcx,%r12,1),%ecx
4444         xorl    %r14d,%r13d
4445         movl    %edx,%edi
4446         vpsrld  $10,%ymm7,%ymm6
4447         rorxl   $22,%edx,%r12d
4448         leal    (%rcx,%r13,1),%ecx
4449         xorl    %r8d,%edi
4450         vpxor   %ymm5,%ymm4,%ymm4
4451         rorxl   $13,%edx,%r14d
4452         rorxl   $2,%edx,%r13d
4453         leal    (%r10,%rcx,1),%r10d
4454         vpsrlq  $17,%ymm7,%ymm7
4455         andl    %edi,%r15d
4456         xorl    %r12d,%r14d
4457         xorl    %r8d,%r15d
4458         vpaddd  %ymm4,%ymm1,%ymm1
4459         xorl    %r13d,%r14d
4460         leal    (%rcx,%r15,1),%ecx
4461         movl    %r11d,%r12d
4462         vpxor   %ymm7,%ymm6,%ymm6
4463         addl    40+128(%rsp),%ebx
4464         andl    %r10d,%r12d
4465         rorxl   $25,%r10d,%r13d
4466         vpsrlq  $2,%ymm7,%ymm7
4467         rorxl   $11,%r10d,%r15d
4468         leal    (%rcx,%r14,1),%ecx
4469         leal    (%rbx,%r12,1),%ebx
4470         vpxor   %ymm7,%ymm6,%ymm6
4471         andnl   %eax,%r10d,%r12d
4472         xorl    %r15d,%r13d
4473         rorxl   $6,%r10d,%r14d
4474         vpshufb %ymm8,%ymm6,%ymm6
4475         leal    (%rbx,%r12,1),%ebx
4476         xorl    %r14d,%r13d
4477         movl    %ecx,%r15d
4478         vpaddd  %ymm6,%ymm1,%ymm1
4479         rorxl   $22,%ecx,%r12d
4480         leal    (%rbx,%r13,1),%ebx
4481         xorl    %edx,%r15d
4482         vpshufd $80,%ymm1,%ymm7
4483         rorxl   $13,%ecx,%r14d
4484         rorxl   $2,%ecx,%r13d
4485         leal    (%r9,%rbx,1),%r9d
4486         vpsrld  $10,%ymm7,%ymm6
4487         andl    %r15d,%edi
4488         xorl    %r12d,%r14d
4489         xorl    %edx,%edi
4490         vpsrlq  $17,%ymm7,%ymm7
4491         xorl    %r13d,%r14d
4492         leal    (%rbx,%rdi,1),%ebx
4493         movl    %r10d,%r12d
4494         vpxor   %ymm7,%ymm6,%ymm6
4495         addl    44+128(%rsp),%eax
4496         andl    %r9d,%r12d
4497         rorxl   $25,%r9d,%r13d
4498         vpsrlq  $2,%ymm7,%ymm7
4499         rorxl   $11,%r9d,%edi
4500         leal    (%rbx,%r14,1),%ebx
4501         leal    (%rax,%r12,1),%eax
4502         vpxor   %ymm7,%ymm6,%ymm6
4503         andnl   %r11d,%r9d,%r12d
4504         xorl    %edi,%r13d
4505         rorxl   $6,%r9d,%r14d
4506         vpshufb %ymm9,%ymm6,%ymm6
4507         leal    (%rax,%r12,1),%eax
4508         xorl    %r14d,%r13d
4509         movl    %ebx,%edi
4510         vpaddd  %ymm6,%ymm1,%ymm1
4511         rorxl   $22,%ebx,%r12d
4512         leal    (%rax,%r13,1),%eax
4513         xorl    %ecx,%edi
4514         vpaddd  32(%rbp),%ymm1,%ymm6
4515         rorxl   $13,%ebx,%r14d
4516         rorxl   $2,%ebx,%r13d
4517         leal    (%r8,%rax,1),%r8d
4518         andl    %edi,%r15d
4519         xorl    %r12d,%r14d
4520         xorl    %ecx,%r15d
4521         xorl    %r13d,%r14d
4522         leal    (%rax,%r15,1),%eax
4523         movl    %r9d,%r12d
4524         vmovdqa %ymm6,32(%rsp)
4525         leaq    -64(%rsp),%rsp
4526 .cfi_escape     0x0f,0x05,0x77,0x38,0x06,0x23,0x08
4527
4528         pushq   64-8(%rsp)
4529 .cfi_escape     0x0f,0x05,0x77,0x00,0x06,0x23,0x08
4530         leaq    8(%rsp),%rsp
4531 .cfi_escape     0x0f,0x05,0x77,0x78,0x06,0x23,0x08
4532         vpalignr        $4,%ymm2,%ymm3,%ymm4
4533         addl    0+128(%rsp),%r11d
4534         andl    %r8d,%r12d
4535         rorxl   $25,%r8d,%r13d
4536         vpalignr        $4,%ymm0,%ymm1,%ymm7
4537         rorxl   $11,%r8d,%r15d
4538         leal    (%rax,%r14,1),%eax
4539         leal    (%r11,%r12,1),%r11d
4540         vpsrld  $7,%ymm4,%ymm6
4541         andnl   %r10d,%r8d,%r12d
4542         xorl    %r15d,%r13d
4543         rorxl   $6,%r8d,%r14d
4544         vpaddd  %ymm7,%ymm2,%ymm2
4545         leal    (%r11,%r12,1),%r11d
4546         xorl    %r14d,%r13d
4547         movl    %eax,%r15d
4548         vpsrld  $3,%ymm4,%ymm7
4549         rorxl   $22,%eax,%r12d
4550         leal    (%r11,%r13,1),%r11d
4551         xorl    %ebx,%r15d
4552         vpslld  $14,%ymm4,%ymm5
4553         rorxl   $13,%eax,%r14d
4554         rorxl   $2,%eax,%r13d
4555         leal    (%rdx,%r11,1),%edx
4556         vpxor   %ymm6,%ymm7,%ymm4
4557         andl    %r15d,%edi
4558         xorl    %r12d,%r14d
4559         xorl    %ebx,%edi
4560         vpshufd $250,%ymm1,%ymm7
4561         xorl    %r13d,%r14d
4562         leal    (%r11,%rdi,1),%r11d
4563         movl    %r8d,%r12d
4564         vpsrld  $11,%ymm6,%ymm6
4565         addl    4+128(%rsp),%r10d
4566         andl    %edx,%r12d
4567         rorxl   $25,%edx,%r13d
4568         vpxor   %ymm5,%ymm4,%ymm4
4569         rorxl   $11,%edx,%edi
4570         leal    (%r11,%r14,1),%r11d
4571         leal    (%r10,%r12,1),%r10d
4572         vpslld  $11,%ymm5,%ymm5
4573         andnl   %r9d,%edx,%r12d
4574         xorl    %edi,%r13d
4575         rorxl   $6,%edx,%r14d
4576         vpxor   %ymm6,%ymm4,%ymm4
4577         leal    (%r10,%r12,1),%r10d
4578         xorl    %r14d,%r13d
4579         movl    %r11d,%edi
4580         vpsrld  $10,%ymm7,%ymm6
4581         rorxl   $22,%r11d,%r12d
4582         leal    (%r10,%r13,1),%r10d
4583         xorl    %eax,%edi
4584         vpxor   %ymm5,%ymm4,%ymm4
4585         rorxl   $13,%r11d,%r14d
4586         rorxl   $2,%r11d,%r13d
4587         leal    (%rcx,%r10,1),%ecx
4588         vpsrlq  $17,%ymm7,%ymm7
4589         andl    %edi,%r15d
4590         xorl    %r12d,%r14d
4591         xorl    %eax,%r15d
4592         vpaddd  %ymm4,%ymm2,%ymm2
4593         xorl    %r13d,%r14d
4594         leal    (%r10,%r15,1),%r10d
4595         movl    %edx,%r12d
4596         vpxor   %ymm7,%ymm6,%ymm6
4597         addl    8+128(%rsp),%r9d
4598         andl    %ecx,%r12d
4599         rorxl   $25,%ecx,%r13d
4600         vpsrlq  $2,%ymm7,%ymm7
4601         rorxl   $11,%ecx,%r15d
4602         leal    (%r10,%r14,1),%r10d
4603         leal    (%r9,%r12,1),%r9d
4604         vpxor   %ymm7,%ymm6,%ymm6
4605         andnl   %r8d,%ecx,%r12d
4606         xorl    %r15d,%r13d
4607         rorxl   $6,%ecx,%r14d
4608         vpshufb %ymm8,%ymm6,%ymm6
4609         leal    (%r9,%r12,1),%r9d
4610         xorl    %r14d,%r13d
4611         movl    %r10d,%r15d
4612         vpaddd  %ymm6,%ymm2,%ymm2
4613         rorxl   $22,%r10d,%r12d
4614         leal    (%r9,%r13,1),%r9d
4615         xorl    %r11d,%r15d
4616         vpshufd $80,%ymm2,%ymm7
4617         rorxl   $13,%r10d,%r14d
4618         rorxl   $2,%r10d,%r13d
4619         leal    (%rbx,%r9,1),%ebx
4620         vpsrld  $10,%ymm7,%ymm6
4621         andl    %r15d,%edi
4622         xorl    %r12d,%r14d
4623         xorl    %r11d,%edi
4624         vpsrlq  $17,%ymm7,%ymm7
4625         xorl    %r13d,%r14d
4626         leal    (%r9,%rdi,1),%r9d
4627         movl    %ecx,%r12d
4628         vpxor   %ymm7,%ymm6,%ymm6
4629         addl    12+128(%rsp),%r8d
4630         andl    %ebx,%r12d
4631         rorxl   $25,%ebx,%r13d
4632         vpsrlq  $2,%ymm7,%ymm7
4633         rorxl   $11,%ebx,%edi
4634         leal    (%r9,%r14,1),%r9d
4635         leal    (%r8,%r12,1),%r8d
4636         vpxor   %ymm7,%ymm6,%ymm6
4637         andnl   %edx,%ebx,%r12d
4638         xorl    %edi,%r13d
4639         rorxl   $6,%ebx,%r14d
4640         vpshufb %ymm9,%ymm6,%ymm6
4641         leal    (%r8,%r12,1),%r8d
4642         xorl    %r14d,%r13d
4643         movl    %r9d,%edi
4644         vpaddd  %ymm6,%ymm2,%ymm2
4645         rorxl   $22,%r9d,%r12d
4646         leal    (%r8,%r13,1),%r8d
4647         xorl    %r10d,%edi
4648         vpaddd  64(%rbp),%ymm2,%ymm6
4649         rorxl   $13,%r9d,%r14d
4650         rorxl   $2,%r9d,%r13d
4651         leal    (%rax,%r8,1),%eax
4652         andl    %edi,%r15d
4653         xorl    %r12d,%r14d
4654         xorl    %r10d,%r15d
4655         xorl    %r13d,%r14d
4656         leal    (%r8,%r15,1),%r8d
4657         movl    %ebx,%r12d
4658         vmovdqa %ymm6,0(%rsp)
4659         vpalignr        $4,%ymm3,%ymm0,%ymm4
4660         addl    32+128(%rsp),%edx
4661         andl    %eax,%r12d
4662         rorxl   $25,%eax,%r13d
4663         vpalignr        $4,%ymm1,%ymm2,%ymm7
4664         rorxl   $11,%eax,%r15d
4665         leal    (%r8,%r14,1),%r8d
4666         leal    (%rdx,%r12,1),%edx
4667         vpsrld  $7,%ymm4,%ymm6
4668         andnl   %ecx,%eax,%r12d
4669         xorl    %r15d,%r13d
4670         rorxl   $6,%eax,%r14d
4671         vpaddd  %ymm7,%ymm3,%ymm3
4672         leal    (%rdx,%r12,1),%edx
4673         xorl    %r14d,%r13d
4674         movl    %r8d,%r15d
4675         vpsrld  $3,%ymm4,%ymm7
4676         rorxl   $22,%r8d,%r12d
4677         leal    (%rdx,%r13,1),%edx
4678         xorl    %r9d,%r15d
4679         vpslld  $14,%ymm4,%ymm5
4680         rorxl   $13,%r8d,%r14d
4681         rorxl   $2,%r8d,%r13d
4682         leal    (%r11,%rdx,1),%r11d
4683         vpxor   %ymm6,%ymm7,%ymm4
4684         andl    %r15d,%edi
4685         xorl    %r12d,%r14d
4686         xorl    %r9d,%edi
4687         vpshufd $250,%ymm2,%ymm7
4688         xorl    %r13d,%r14d
4689         leal    (%rdx,%rdi,1),%edx
4690         movl    %eax,%r12d
4691         vpsrld  $11,%ymm6,%ymm6
4692         addl    36+128(%rsp),%ecx
4693         andl    %r11d,%r12d
4694         rorxl   $25,%r11d,%r13d
4695         vpxor   %ymm5,%ymm4,%ymm4
4696         rorxl   $11,%r11d,%edi
4697         leal    (%rdx,%r14,1),%edx
4698         leal    (%rcx,%r12,1),%ecx
4699         vpslld  $11,%ymm5,%ymm5
4700         andnl   %ebx,%r11d,%r12d
4701         xorl    %edi,%r13d
4702         rorxl   $6,%r11d,%r14d
4703         vpxor   %ymm6,%ymm4,%ymm4
4704         leal    (%rcx,%r12,1),%ecx
4705         xorl    %r14d,%r13d
4706         movl    %edx,%edi
4707         vpsrld  $10,%ymm7,%ymm6
4708         rorxl   $22,%edx,%r12d
4709         leal    (%rcx,%r13,1),%ecx
4710         xorl    %r8d,%edi
4711         vpxor   %ymm5,%ymm4,%ymm4
4712         rorxl   $13,%edx,%r14d
4713         rorxl   $2,%edx,%r13d
4714         leal    (%r10,%rcx,1),%r10d
4715         vpsrlq  $17,%ymm7,%ymm7
4716         andl    %edi,%r15d
4717         xorl    %r12d,%r14d
4718         xorl    %r8d,%r15d
4719         vpaddd  %ymm4,%ymm3,%ymm3
4720         xorl    %r13d,%r14d
4721         leal    (%rcx,%r15,1),%ecx
4722         movl    %r11d,%r12d
4723         vpxor   %ymm7,%ymm6,%ymm6
4724         addl    40+128(%rsp),%ebx
4725         andl    %r10d,%r12d
4726         rorxl   $25,%r10d,%r13d
4727         vpsrlq  $2,%ymm7,%ymm7
4728         rorxl   $11,%r10d,%r15d
4729         leal    (%rcx,%r14,1),%ecx
4730         leal    (%rbx,%r12,1),%ebx
4731         vpxor   %ymm7,%ymm6,%ymm6
4732         andnl   %eax,%r10d,%r12d
4733         xorl    %r15d,%r13d
4734         rorxl   $6,%r10d,%r14d
4735         vpshufb %ymm8,%ymm6,%ymm6
4736         leal    (%rbx,%r12,1),%ebx
4737         xorl    %r14d,%r13d
4738         movl    %ecx,%r15d
4739         vpaddd  %ymm6,%ymm3,%ymm3
4740         rorxl   $22,%ecx,%r12d
4741         leal    (%rbx,%r13,1),%ebx
4742         xorl    %edx,%r15d
4743         vpshufd $80,%ymm3,%ymm7
4744         rorxl   $13,%ecx,%r14d
4745         rorxl   $2,%ecx,%r13d
4746         leal    (%r9,%rbx,1),%r9d
4747         vpsrld  $10,%ymm7,%ymm6
4748         andl    %r15d,%edi
4749         xorl    %r12d,%r14d
4750         xorl    %edx,%edi
4751         vpsrlq  $17,%ymm7,%ymm7
4752         xorl    %r13d,%r14d
4753         leal    (%rbx,%rdi,1),%ebx
4754         movl    %r10d,%r12d
4755         vpxor   %ymm7,%ymm6,%ymm6
4756         addl    44+128(%rsp),%eax
4757         andl    %r9d,%r12d
4758         rorxl   $25,%r9d,%r13d
4759         vpsrlq  $2,%ymm7,%ymm7
4760         rorxl   $11,%r9d,%edi
4761         leal    (%rbx,%r14,1),%ebx
4762         leal    (%rax,%r12,1),%eax
4763         vpxor   %ymm7,%ymm6,%ymm6
4764         andnl   %r11d,%r9d,%r12d
4765         xorl    %edi,%r13d
4766         rorxl   $6,%r9d,%r14d
4767         vpshufb %ymm9,%ymm6,%ymm6
4768         leal    (%rax,%r12,1),%eax
4769         xorl    %r14d,%r13d
4770         movl    %ebx,%edi
4771         vpaddd  %ymm6,%ymm3,%ymm3
4772         rorxl   $22,%ebx,%r12d
4773         leal    (%rax,%r13,1),%eax
4774         xorl    %ecx,%edi
4775         vpaddd  96(%rbp),%ymm3,%ymm6
4776         rorxl   $13,%ebx,%r14d
4777         rorxl   $2,%ebx,%r13d
4778         leal    (%r8,%rax,1),%r8d
4779         andl    %edi,%r15d
4780         xorl    %r12d,%r14d
4781         xorl    %ecx,%r15d
4782         xorl    %r13d,%r14d
4783         leal    (%rax,%r15,1),%eax
4784         movl    %r9d,%r12d
4785         vmovdqa %ymm6,32(%rsp)
4786         leaq    128(%rbp),%rbp
4787         cmpb    $0,3(%rbp)
4788         jne     .Lavx2_00_47
4789         addl    0+64(%rsp),%r11d
4790         andl    %r8d,%r12d
4791         rorxl   $25,%r8d,%r13d
4792         rorxl   $11,%r8d,%r15d
4793         leal    (%rax,%r14,1),%eax
4794         leal    (%r11,%r12,1),%r11d
4795         andnl   %r10d,%r8d,%r12d
4796         xorl    %r15d,%r13d
4797         rorxl   $6,%r8d,%r14d
4798         leal    (%r11,%r12,1),%r11d
4799         xorl    %r14d,%r13d
4800         movl    %eax,%r15d
4801         rorxl   $22,%eax,%r12d
4802         leal    (%r11,%r13,1),%r11d
4803         xorl    %ebx,%r15d
4804         rorxl   $13,%eax,%r14d
4805         rorxl   $2,%eax,%r13d
4806         leal    (%rdx,%r11,1),%edx
4807         andl    %r15d,%edi
4808         xorl    %r12d,%r14d
4809         xorl    %ebx,%edi
4810         xorl    %r13d,%r14d
4811         leal    (%r11,%rdi,1),%r11d
4812         movl    %r8d,%r12d
4813         addl    4+64(%rsp),%r10d
4814         andl    %edx,%r12d
4815         rorxl   $25,%edx,%r13d
4816         rorxl   $11,%edx,%edi
4817         leal    (%r11,%r14,1),%r11d
4818         leal    (%r10,%r12,1),%r10d
4819         andnl   %r9d,%edx,%r12d
4820         xorl    %edi,%r13d
4821         rorxl   $6,%edx,%r14d
4822         leal    (%r10,%r12,1),%r10d
4823         xorl    %r14d,%r13d
4824         movl    %r11d,%edi
4825         rorxl   $22,%r11d,%r12d
4826         leal    (%r10,%r13,1),%r10d
4827         xorl    %eax,%edi
4828         rorxl   $13,%r11d,%r14d
4829         rorxl   $2,%r11d,%r13d
4830         leal    (%rcx,%r10,1),%ecx
4831         andl    %edi,%r15d
4832         xorl    %r12d,%r14d
4833         xorl    %eax,%r15d
4834         xorl    %r13d,%r14d
4835         leal    (%r10,%r15,1),%r10d
4836         movl    %edx,%r12d
4837         addl    8+64(%rsp),%r9d
4838         andl    %ecx,%r12d
4839         rorxl   $25,%ecx,%r13d
4840         rorxl   $11,%ecx,%r15d
4841         leal    (%r10,%r14,1),%r10d
4842         leal    (%r9,%r12,1),%r9d
4843         andnl   %r8d,%ecx,%r12d
4844         xorl    %r15d,%r13d
4845         rorxl   $6,%ecx,%r14d
4846         leal    (%r9,%r12,1),%r9d
4847         xorl    %r14d,%r13d
4848         movl    %r10d,%r15d
4849         rorxl   $22,%r10d,%r12d
4850         leal    (%r9,%r13,1),%r9d
4851         xorl    %r11d,%r15d
4852         rorxl   $13,%r10d,%r14d
4853         rorxl   $2,%r10d,%r13d
4854         leal    (%rbx,%r9,1),%ebx
4855         andl    %r15d,%edi
4856         xorl    %r12d,%r14d
4857         xorl    %r11d,%edi
4858         xorl    %r13d,%r14d
4859         leal    (%r9,%rdi,1),%r9d
4860         movl    %ecx,%r12d
4861         addl    12+64(%rsp),%r8d
4862         andl    %ebx,%r12d
4863         rorxl   $25,%ebx,%r13d
4864         rorxl   $11,%ebx,%edi
4865         leal    (%r9,%r14,1),%r9d
4866         leal    (%r8,%r12,1),%r8d
4867         andnl   %edx,%ebx,%r12d
4868         xorl    %edi,%r13d
4869         rorxl   $6,%ebx,%r14d
4870         leal    (%r8,%r12,1),%r8d
4871         xorl    %r14d,%r13d
4872         movl    %r9d,%edi
4873         rorxl   $22,%r9d,%r12d
4874         leal    (%r8,%r13,1),%r8d
4875         xorl    %r10d,%edi
4876         rorxl   $13,%r9d,%r14d
4877         rorxl   $2,%r9d,%r13d
4878         leal    (%rax,%r8,1),%eax
4879         andl    %edi,%r15d
4880         xorl    %r12d,%r14d
4881         xorl    %r10d,%r15d
4882         xorl    %r13d,%r14d
4883         leal    (%r8,%r15,1),%r8d
4884         movl    %ebx,%r12d
4885         addl    32+64(%rsp),%edx
4886         andl    %eax,%r12d
4887         rorxl   $25,%eax,%r13d
4888         rorxl   $11,%eax,%r15d
4889         leal    (%r8,%r14,1),%r8d
4890         leal    (%rdx,%r12,1),%edx
4891         andnl   %ecx,%eax,%r12d
4892         xorl    %r15d,%r13d
4893         rorxl   $6,%eax,%r14d
4894         leal    (%rdx,%r12,1),%edx
4895         xorl    %r14d,%r13d
4896         movl    %r8d,%r15d
4897         rorxl   $22,%r8d,%r12d
4898         leal    (%rdx,%r13,1),%edx
4899         xorl    %r9d,%r15d
4900         rorxl   $13,%r8d,%r14d
4901         rorxl   $2,%r8d,%r13d
4902         leal    (%r11,%rdx,1),%r11d
4903         andl    %r15d,%edi
4904         xorl    %r12d,%r14d
4905         xorl    %r9d,%edi
4906         xorl    %r13d,%r14d
4907         leal    (%rdx,%rdi,1),%edx
4908         movl    %eax,%r12d
4909         addl    36+64(%rsp),%ecx
4910         andl    %r11d,%r12d
4911         rorxl   $25,%r11d,%r13d
4912         rorxl   $11,%r11d,%edi
4913         leal    (%rdx,%r14,1),%edx
4914         leal    (%rcx,%r12,1),%ecx
4915         andnl   %ebx,%r11d,%r12d
4916         xorl    %edi,%r13d
4917         rorxl   $6,%r11d,%r14d
4918         leal    (%rcx,%r12,1),%ecx
4919         xorl    %r14d,%r13d
4920         movl    %edx,%edi
4921         rorxl   $22,%edx,%r12d
4922         leal    (%rcx,%r13,1),%ecx
4923         xorl    %r8d,%edi
4924         rorxl   $13,%edx,%r14d
4925         rorxl   $2,%edx,%r13d
4926         leal    (%r10,%rcx,1),%r10d
4927         andl    %edi,%r15d
4928         xorl    %r12d,%r14d
4929         xorl    %r8d,%r15d
4930         xorl    %r13d,%r14d
4931         leal    (%rcx,%r15,1),%ecx
4932         movl    %r11d,%r12d
4933         addl    40+64(%rsp),%ebx
4934         andl    %r10d,%r12d
4935         rorxl   $25,%r10d,%r13d
4936         rorxl   $11,%r10d,%r15d
4937         leal    (%rcx,%r14,1),%ecx
4938         leal    (%rbx,%r12,1),%ebx
4939         andnl   %eax,%r10d,%r12d
4940         xorl    %r15d,%r13d
4941         rorxl   $6,%r10d,%r14d
4942         leal    (%rbx,%r12,1),%ebx
4943         xorl    %r14d,%r13d
4944         movl    %ecx,%r15d
4945         rorxl   $22,%ecx,%r12d
4946         leal    (%rbx,%r13,1),%ebx
4947         xorl    %edx,%r15d
4948         rorxl   $13,%ecx,%r14d
4949         rorxl   $2,%ecx,%r13d
4950         leal    (%r9,%rbx,1),%r9d
4951         andl    %r15d,%edi
4952         xorl    %r12d,%r14d
4953         xorl    %edx,%edi
4954         xorl    %r13d,%r14d
4955         leal    (%rbx,%rdi,1),%ebx
4956         movl    %r10d,%r12d
4957         addl    44+64(%rsp),%eax
4958         andl    %r9d,%r12d
4959         rorxl   $25,%r9d,%r13d
4960         rorxl   $11,%r9d,%edi
4961         leal    (%rbx,%r14,1),%ebx
4962         leal    (%rax,%r12,1),%eax
4963         andnl   %r11d,%r9d,%r12d
4964         xorl    %edi,%r13d
4965         rorxl   $6,%r9d,%r14d
4966         leal    (%rax,%r12,1),%eax
4967         xorl    %r14d,%r13d
4968         movl    %ebx,%edi
4969         rorxl   $22,%ebx,%r12d
4970         leal    (%rax,%r13,1),%eax
4971         xorl    %ecx,%edi
4972         rorxl   $13,%ebx,%r14d
4973         rorxl   $2,%ebx,%r13d
4974         leal    (%r8,%rax,1),%r8d
4975         andl    %edi,%r15d
4976         xorl    %r12d,%r14d
4977         xorl    %ecx,%r15d
4978         xorl    %r13d,%r14d
4979         leal    (%rax,%r15,1),%eax
4980         movl    %r9d,%r12d
4981         addl    0(%rsp),%r11d
4982         andl    %r8d,%r12d
4983         rorxl   $25,%r8d,%r13d
4984         rorxl   $11,%r8d,%r15d
4985         leal    (%rax,%r14,1),%eax
4986         leal    (%r11,%r12,1),%r11d
4987         andnl   %r10d,%r8d,%r12d
4988         xorl    %r15d,%r13d
4989         rorxl   $6,%r8d,%r14d
4990         leal    (%r11,%r12,1),%r11d
4991         xorl    %r14d,%r13d
4992         movl    %eax,%r15d
4993         rorxl   $22,%eax,%r12d
4994         leal    (%r11,%r13,1),%r11d
4995         xorl    %ebx,%r15d
4996         rorxl   $13,%eax,%r14d
4997         rorxl   $2,%eax,%r13d
4998         leal    (%rdx,%r11,1),%edx
4999         andl    %r15d,%edi
5000         xorl    %r12d,%r14d
5001         xorl    %ebx,%edi
5002         xorl    %r13d,%r14d
5003         leal    (%r11,%rdi,1),%r11d
5004         movl    %r8d,%r12d
5005         addl    4(%rsp),%r10d
5006         andl    %edx,%r12d
5007         rorxl   $25,%edx,%r13d
5008         rorxl   $11,%edx,%edi
5009         leal    (%r11,%r14,1),%r11d
5010         leal    (%r10,%r12,1),%r10d
5011         andnl   %r9d,%edx,%r12d
5012         xorl    %edi,%r13d
5013         rorxl   $6,%edx,%r14d
5014         leal    (%r10,%r12,1),%r10d
5015         xorl    %r14d,%r13d
5016         movl    %r11d,%edi
5017         rorxl   $22,%r11d,%r12d
5018         leal    (%r10,%r13,1),%r10d
5019         xorl    %eax,%edi
5020         rorxl   $13,%r11d,%r14d
5021         rorxl   $2,%r11d,%r13d
5022         leal    (%rcx,%r10,1),%ecx
5023         andl    %edi,%r15d
5024         xorl    %r12d,%r14d
5025         xorl    %eax,%r15d
5026         xorl    %r13d,%r14d
5027         leal    (%r10,%r15,1),%r10d
5028         movl    %edx,%r12d
5029         addl    8(%rsp),%r9d
5030         andl    %ecx,%r12d
5031         rorxl   $25,%ecx,%r13d
5032         rorxl   $11,%ecx,%r15d
5033         leal    (%r10,%r14,1),%r10d
5034         leal    (%r9,%r12,1),%r9d
5035         andnl   %r8d,%ecx,%r12d
5036         xorl    %r15d,%r13d
5037         rorxl   $6,%ecx,%r14d
5038         leal    (%r9,%r12,1),%r9d
5039         xorl    %r14d,%r13d
5040         movl    %r10d,%r15d
5041         rorxl   $22,%r10d,%r12d
5042         leal    (%r9,%r13,1),%r9d
5043         xorl    %r11d,%r15d
5044         rorxl   $13,%r10d,%r14d
5045         rorxl   $2,%r10d,%r13d
5046         leal    (%rbx,%r9,1),%ebx
5047         andl    %r15d,%edi
5048         xorl    %r12d,%r14d
5049         xorl    %r11d,%edi
5050         xorl    %r13d,%r14d
5051         leal    (%r9,%rdi,1),%r9d
5052         movl    %ecx,%r12d
5053         addl    12(%rsp),%r8d
5054         andl    %ebx,%r12d
5055         rorxl   $25,%ebx,%r13d
5056         rorxl   $11,%ebx,%edi
5057         leal    (%r9,%r14,1),%r9d
5058         leal    (%r8,%r12,1),%r8d
5059         andnl   %edx,%ebx,%r12d
5060         xorl    %edi,%r13d
5061         rorxl   $6,%ebx,%r14d
5062         leal    (%r8,%r12,1),%r8d
5063         xorl    %r14d,%r13d
5064         movl    %r9d,%edi
5065         rorxl   $22,%r9d,%r12d
5066         leal    (%r8,%r13,1),%r8d
5067         xorl    %r10d,%edi
5068         rorxl   $13,%r9d,%r14d
5069         rorxl   $2,%r9d,%r13d
5070         leal    (%rax,%r8,1),%eax
5071         andl    %edi,%r15d
5072         xorl    %r12d,%r14d
5073         xorl    %r10d,%r15d
5074         xorl    %r13d,%r14d
5075         leal    (%r8,%r15,1),%r8d
5076         movl    %ebx,%r12d
5077         addl    32(%rsp),%edx
5078         andl    %eax,%r12d
5079         rorxl   $25,%eax,%r13d
5080         rorxl   $11,%eax,%r15d
5081         leal    (%r8,%r14,1),%r8d
5082         leal    (%rdx,%r12,1),%edx
5083         andnl   %ecx,%eax,%r12d
5084         xorl    %r15d,%r13d
5085         rorxl   $6,%eax,%r14d
5086         leal    (%rdx,%r12,1),%edx
5087         xorl    %r14d,%r13d
5088         movl    %r8d,%r15d
5089         rorxl   $22,%r8d,%r12d
5090         leal    (%rdx,%r13,1),%edx
5091         xorl    %r9d,%r15d
5092         rorxl   $13,%r8d,%r14d
5093         rorxl   $2,%r8d,%r13d
5094         leal    (%r11,%rdx,1),%r11d
5095         andl    %r15d,%edi
5096         xorl    %r12d,%r14d
5097         xorl    %r9d,%edi
5098         xorl    %r13d,%r14d
5099         leal    (%rdx,%rdi,1),%edx
5100         movl    %eax,%r12d
5101         addl    36(%rsp),%ecx
5102         andl    %r11d,%r12d
5103         rorxl   $25,%r11d,%r13d
5104         rorxl   $11,%r11d,%edi
5105         leal    (%rdx,%r14,1),%edx
5106         leal    (%rcx,%r12,1),%ecx
5107         andnl   %ebx,%r11d,%r12d
5108         xorl    %edi,%r13d
5109         rorxl   $6,%r11d,%r14d
5110         leal    (%rcx,%r12,1),%ecx
5111         xorl    %r14d,%r13d
5112         movl    %edx,%edi
5113         rorxl   $22,%edx,%r12d
5114         leal    (%rcx,%r13,1),%ecx
5115         xorl    %r8d,%edi
5116         rorxl   $13,%edx,%r14d
5117         rorxl   $2,%edx,%r13d
5118         leal    (%r10,%rcx,1),%r10d
5119         andl    %edi,%r15d
5120         xorl    %r12d,%r14d
5121         xorl    %r8d,%r15d
5122         xorl    %r13d,%r14d
5123         leal    (%rcx,%r15,1),%ecx
5124         movl    %r11d,%r12d
5125         addl    40(%rsp),%ebx
5126         andl    %r10d,%r12d
5127         rorxl   $25,%r10d,%r13d
5128         rorxl   $11,%r10d,%r15d
5129         leal    (%rcx,%r14,1),%ecx
5130         leal    (%rbx,%r12,1),%ebx
5131         andnl   %eax,%r10d,%r12d
5132         xorl    %r15d,%r13d
5133         rorxl   $6,%r10d,%r14d
5134         leal    (%rbx,%r12,1),%ebx
5135         xorl    %r14d,%r13d
5136         movl    %ecx,%r15d
5137         rorxl   $22,%ecx,%r12d
5138         leal    (%rbx,%r13,1),%ebx
5139         xorl    %edx,%r15d
5140         rorxl   $13,%ecx,%r14d
5141         rorxl   $2,%ecx,%r13d
5142         leal    (%r9,%rbx,1),%r9d
5143         andl    %r15d,%edi
5144         xorl    %r12d,%r14d
5145         xorl    %edx,%edi
5146         xorl    %r13d,%r14d
5147         leal    (%rbx,%rdi,1),%ebx
5148         movl    %r10d,%r12d
5149         addl    44(%rsp),%eax
5150         andl    %r9d,%r12d
5151         rorxl   $25,%r9d,%r13d
5152         rorxl   $11,%r9d,%edi
5153         leal    (%rbx,%r14,1),%ebx
5154         leal    (%rax,%r12,1),%eax
5155         andnl   %r11d,%r9d,%r12d
5156         xorl    %edi,%r13d
5157         rorxl   $6,%r9d,%r14d
5158         leal    (%rax,%r12,1),%eax
5159         xorl    %r14d,%r13d
5160         movl    %ebx,%edi
5161         rorxl   $22,%ebx,%r12d
5162         leal    (%rax,%r13,1),%eax
5163         xorl    %ecx,%edi
5164         rorxl   $13,%ebx,%r14d
5165         rorxl   $2,%ebx,%r13d
5166         leal    (%r8,%rax,1),%r8d
5167         andl    %edi,%r15d
5168         xorl    %r12d,%r14d
5169         xorl    %ecx,%r15d
5170         xorl    %r13d,%r14d
5171         leal    (%rax,%r15,1),%eax
5172         movl    %r9d,%r12d
5173         movq    512(%rsp),%rdi
5174         addl    %r14d,%eax
5175
5176         leaq    448(%rsp),%rbp
5177
5178         addl    0(%rdi),%eax
5179         addl    4(%rdi),%ebx
5180         addl    8(%rdi),%ecx
5181         addl    12(%rdi),%edx
5182         addl    16(%rdi),%r8d
5183         addl    20(%rdi),%r9d
5184         addl    24(%rdi),%r10d
5185         addl    28(%rdi),%r11d
5186
5187         movl    %eax,0(%rdi)
5188         movl    %ebx,4(%rdi)
5189         movl    %ecx,8(%rdi)
5190         movl    %edx,12(%rdi)
5191         movl    %r8d,16(%rdi)
5192         movl    %r9d,20(%rdi)
5193         movl    %r10d,24(%rdi)
5194         movl    %r11d,28(%rdi)
5195
5196         cmpq    80(%rbp),%rsi
5197         je      .Ldone_avx2
5198
5199         xorl    %r14d,%r14d
5200         movl    %ebx,%edi
5201         xorl    %ecx,%edi
5202         movl    %r9d,%r12d
5203         jmp     .Lower_avx2
5204 .align  16
5205 .Lower_avx2:
5206         addl    0+16(%rbp),%r11d
5207         andl    %r8d,%r12d
5208         rorxl   $25,%r8d,%r13d
5209         rorxl   $11,%r8d,%r15d
5210         leal    (%rax,%r14,1),%eax
5211         leal    (%r11,%r12,1),%r11d
5212         andnl   %r10d,%r8d,%r12d
5213         xorl    %r15d,%r13d
5214         rorxl   $6,%r8d,%r14d
5215         leal    (%r11,%r12,1),%r11d
5216         xorl    %r14d,%r13d
5217         movl    %eax,%r15d
5218         rorxl   $22,%eax,%r12d
5219         leal    (%r11,%r13,1),%r11d
5220         xorl    %ebx,%r15d
5221         rorxl   $13,%eax,%r14d
5222         rorxl   $2,%eax,%r13d
5223         leal    (%rdx,%r11,1),%edx
5224         andl    %r15d,%edi
5225         xorl    %r12d,%r14d
5226         xorl    %ebx,%edi
5227         xorl    %r13d,%r14d
5228         leal    (%r11,%rdi,1),%r11d
5229         movl    %r8d,%r12d
5230         addl    4+16(%rbp),%r10d
5231         andl    %edx,%r12d
5232         rorxl   $25,%edx,%r13d
5233         rorxl   $11,%edx,%edi
5234         leal    (%r11,%r14,1),%r11d
5235         leal    (%r10,%r12,1),%r10d
5236         andnl   %r9d,%edx,%r12d
5237         xorl    %edi,%r13d
5238         rorxl   $6,%edx,%r14d
5239         leal    (%r10,%r12,1),%r10d
5240         xorl    %r14d,%r13d
5241         movl    %r11d,%edi
5242         rorxl   $22,%r11d,%r12d
5243         leal    (%r10,%r13,1),%r10d
5244         xorl    %eax,%edi
5245         rorxl   $13,%r11d,%r14d
5246         rorxl   $2,%r11d,%r13d
5247         leal    (%rcx,%r10,1),%ecx
5248         andl    %edi,%r15d
5249         xorl    %r12d,%r14d
5250         xorl    %eax,%r15d
5251         xorl    %r13d,%r14d
5252         leal    (%r10,%r15,1),%r10d
5253         movl    %edx,%r12d
5254         addl    8+16(%rbp),%r9d
5255         andl    %ecx,%r12d
5256         rorxl   $25,%ecx,%r13d
5257         rorxl   $11,%ecx,%r15d
5258         leal    (%r10,%r14,1),%r10d
5259         leal    (%r9,%r12,1),%r9d
5260         andnl   %r8d,%ecx,%r12d
5261         xorl    %r15d,%r13d
5262         rorxl   $6,%ecx,%r14d
5263         leal    (%r9,%r12,1),%r9d
5264         xorl    %r14d,%r13d
5265         movl    %r10d,%r15d
5266         rorxl   $22,%r10d,%r12d
5267         leal    (%r9,%r13,1),%r9d
5268         xorl    %r11d,%r15d
5269         rorxl   $13,%r10d,%r14d
5270         rorxl   $2,%r10d,%r13d
5271         leal    (%rbx,%r9,1),%ebx
5272         andl    %r15d,%edi
5273         xorl    %r12d,%r14d
5274         xorl    %r11d,%edi
5275         xorl    %r13d,%r14d
5276         leal    (%r9,%rdi,1),%r9d
5277         movl    %ecx,%r12d
5278         addl    12+16(%rbp),%r8d
5279         andl    %ebx,%r12d
5280         rorxl   $25,%ebx,%r13d
5281         rorxl   $11,%ebx,%edi
5282         leal    (%r9,%r14,1),%r9d
5283         leal    (%r8,%r12,1),%r8d
5284         andnl   %edx,%ebx,%r12d
5285         xorl    %edi,%r13d
5286         rorxl   $6,%ebx,%r14d
5287         leal    (%r8,%r12,1),%r8d
5288         xorl    %r14d,%r13d
5289         movl    %r9d,%edi
5290         rorxl   $22,%r9d,%r12d
5291         leal    (%r8,%r13,1),%r8d
5292         xorl    %r10d,%edi
5293         rorxl   $13,%r9d,%r14d
5294         rorxl   $2,%r9d,%r13d
5295         leal    (%rax,%r8,1),%eax
5296         andl    %edi,%r15d
5297         xorl    %r12d,%r14d
5298         xorl    %r10d,%r15d
5299         xorl    %r13d,%r14d
5300         leal    (%r8,%r15,1),%r8d
5301         movl    %ebx,%r12d
5302         addl    32+16(%rbp),%edx
5303         andl    %eax,%r12d
5304         rorxl   $25,%eax,%r13d
5305         rorxl   $11,%eax,%r15d
5306         leal    (%r8,%r14,1),%r8d
5307         leal    (%rdx,%r12,1),%edx
5308         andnl   %ecx,%eax,%r12d
5309         xorl    %r15d,%r13d
5310         rorxl   $6,%eax,%r14d
5311         leal    (%rdx,%r12,1),%edx
5312         xorl    %r14d,%r13d
5313         movl    %r8d,%r15d
5314         rorxl   $22,%r8d,%r12d
5315         leal    (%rdx,%r13,1),%edx
5316         xorl    %r9d,%r15d
5317         rorxl   $13,%r8d,%r14d
5318         rorxl   $2,%r8d,%r13d
5319         leal    (%r11,%rdx,1),%r11d
5320         andl    %r15d,%edi
5321         xorl    %r12d,%r14d
5322         xorl    %r9d,%edi
5323         xorl    %r13d,%r14d
5324         leal    (%rdx,%rdi,1),%edx
5325         movl    %eax,%r12d
5326         addl    36+16(%rbp),%ecx
5327         andl    %r11d,%r12d
5328         rorxl   $25,%r11d,%r13d
5329         rorxl   $11,%r11d,%edi
5330         leal    (%rdx,%r14,1),%edx
5331         leal    (%rcx,%r12,1),%ecx
5332         andnl   %ebx,%r11d,%r12d
5333         xorl    %edi,%r13d
5334         rorxl   $6,%r11d,%r14d
5335         leal    (%rcx,%r12,1),%ecx
5336         xorl    %r14d,%r13d
5337         movl    %edx,%edi
5338         rorxl   $22,%edx,%r12d
5339         leal    (%rcx,%r13,1),%ecx
5340         xorl    %r8d,%edi
5341         rorxl   $13,%edx,%r14d
5342         rorxl   $2,%edx,%r13d
5343         leal    (%r10,%rcx,1),%r10d
5344         andl    %edi,%r15d
5345         xorl    %r12d,%r14d
5346         xorl    %r8d,%r15d
5347         xorl    %r13d,%r14d
5348         leal    (%rcx,%r15,1),%ecx
5349         movl    %r11d,%r12d
5350         addl    40+16(%rbp),%ebx
5351         andl    %r10d,%r12d
5352         rorxl   $25,%r10d,%r13d
5353         rorxl   $11,%r10d,%r15d
5354         leal    (%rcx,%r14,1),%ecx
5355         leal    (%rbx,%r12,1),%ebx
5356         andnl   %eax,%r10d,%r12d
5357         xorl    %r15d,%r13d
5358         rorxl   $6,%r10d,%r14d
5359         leal    (%rbx,%r12,1),%ebx
5360         xorl    %r14d,%r13d
5361         movl    %ecx,%r15d
5362         rorxl   $22,%ecx,%r12d
5363         leal    (%rbx,%r13,1),%ebx
5364         xorl    %edx,%r15d
5365         rorxl   $13,%ecx,%r14d
5366         rorxl   $2,%ecx,%r13d
5367         leal    (%r9,%rbx,1),%r9d
5368         andl    %r15d,%edi
5369         xorl    %r12d,%r14d
5370         xorl    %edx,%edi
5371         xorl    %r13d,%r14d
5372         leal    (%rbx,%rdi,1),%ebx
5373         movl    %r10d,%r12d
5374         addl    44+16(%rbp),%eax
5375         andl    %r9d,%r12d
5376         rorxl   $25,%r9d,%r13d
5377         rorxl   $11,%r9d,%edi
5378         leal    (%rbx,%r14,1),%ebx
5379         leal    (%rax,%r12,1),%eax
5380         andnl   %r11d,%r9d,%r12d
5381         xorl    %edi,%r13d
5382         rorxl   $6,%r9d,%r14d
5383         leal    (%rax,%r12,1),%eax
5384         xorl    %r14d,%r13d
5385         movl    %ebx,%edi
5386         rorxl   $22,%ebx,%r12d
5387         leal    (%rax,%r13,1),%eax
5388         xorl    %ecx,%edi
5389         rorxl   $13,%ebx,%r14d
5390         rorxl   $2,%ebx,%r13d
5391         leal    (%r8,%rax,1),%r8d
5392         andl    %edi,%r15d
5393         xorl    %r12d,%r14d
5394         xorl    %ecx,%r15d
5395         xorl    %r13d,%r14d
5396         leal    (%rax,%r15,1),%eax
5397         movl    %r9d,%r12d
5398         leaq    -64(%rbp),%rbp
5399         cmpq    %rsp,%rbp
5400         jae     .Lower_avx2
5401
5402         movq    512(%rsp),%rdi
5403         addl    %r14d,%eax
5404
5405         leaq    448(%rsp),%rsp
5406
5407 .cfi_escape     0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
5408
5409         addl    0(%rdi),%eax
5410         addl    4(%rdi),%ebx
5411         addl    8(%rdi),%ecx
5412         addl    12(%rdi),%edx
5413         addl    16(%rdi),%r8d
5414         addl    20(%rdi),%r9d
5415         leaq    128(%rsi),%rsi
5416         addl    24(%rdi),%r10d
5417         movq    %rsi,%r12
5418         addl    28(%rdi),%r11d
5419         cmpq    64+16(%rsp),%rsi
5420
5421         movl    %eax,0(%rdi)
5422         cmoveq  %rsp,%r12
5423         movl    %ebx,4(%rdi)
5424         movl    %ecx,8(%rdi)
5425         movl    %edx,12(%rdi)
5426         movl    %r8d,16(%rdi)
5427         movl    %r9d,20(%rdi)
5428         movl    %r10d,24(%rdi)
5429         movl    %r11d,28(%rdi)
5430
5431         jbe     .Loop_avx2
5432         leaq    (%rsp),%rbp
5433
5434
5435 .cfi_escape     0x0f,0x06,0x76,0xd8,0x00,0x06,0x23,0x08
5436
5437 .Ldone_avx2:
5438         movq    88(%rbp),%rsi
5439 .cfi_def_cfa    %rsi,8
5440         vzeroupper
5441         movq    -48(%rsi),%r15
5442 .cfi_restore    %r15
5443         movq    -40(%rsi),%r14
5444 .cfi_restore    %r14
5445         movq    -32(%rsi),%r13
5446 .cfi_restore    %r13
5447         movq    -24(%rsi),%r12
5448 .cfi_restore    %r12
5449         movq    -16(%rsi),%rbp
5450 .cfi_restore    %rbp
5451         movq    -8(%rsi),%rbx
5452 .cfi_restore    %rbx
5453         leaq    (%rsi),%rsp
5454 .cfi_def_cfa_register   %rsp
5455 .Lepilogue_avx2:
5456         .byte   0xf3,0xc3
5457 .cfi_endproc    
5458 .size   sha256_block_data_order_avx2,.-sha256_block_data_order_avx2