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