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