]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - secure/lib/libcrypto/amd64/sha1-x86_64.S
- Make libcrypto.so position independent on i386.
[FreeBSD/stable/10.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         movl    OPENSSL_ia32cap_P+0(%rip),%r9d
11         movl    OPENSSL_ia32cap_P+4(%rip),%r8d
12         testl   $512,%r8d
13         jz      .Lialu
14         andl    $268435456,%r8d
15         andl    $1073741824,%r9d
16         orl     %r9d,%r8d
17         cmpl    $1342177280,%r8d
18         je      _avx_shortcut
19         jmp     _ssse3_shortcut
20
21 .align  16
22 .Lialu:
23         pushq   %rbx
24         pushq   %rbp
25         pushq   %r12
26         pushq   %r13
27         movq    %rsp,%r11
28         movq    %rdi,%r8
29         subq    $72,%rsp
30         movq    %rsi,%r9
31         andq    $-64,%rsp
32         movq    %rdx,%r10
33         movq    %r11,64(%rsp)
34 .Lprologue:
35
36         movl    0(%r8),%esi
37         movl    4(%r8),%edi
38         movl    8(%r8),%r11d
39         movl    12(%r8),%r12d
40         movl    16(%r8),%r13d
41         jmp     .Lloop
42
43 .align  16
44 .Lloop:
45         movl    0(%r9),%edx
46         bswapl  %edx
47         movl    %edx,0(%rsp)
48         movl    %r11d,%eax
49         movl    4(%r9),%ebp
50         movl    %esi,%ecx
51         xorl    %r12d,%eax
52         bswapl  %ebp
53         roll    $5,%ecx
54         leal    1518500249(%rdx,%r13,1),%r13d
55         andl    %edi,%eax
56         movl    %ebp,4(%rsp)
57         addl    %ecx,%r13d
58         xorl    %r12d,%eax
59         roll    $30,%edi
60         addl    %eax,%r13d
61         movl    %edi,%eax
62         movl    8(%r9),%edx
63         movl    %r13d,%ecx
64         xorl    %r11d,%eax
65         bswapl  %edx
66         roll    $5,%ecx
67         leal    1518500249(%rbp,%r12,1),%r12d
68         andl    %esi,%eax
69         movl    %edx,8(%rsp)
70         addl    %ecx,%r12d
71         xorl    %r11d,%eax
72         roll    $30,%esi
73         addl    %eax,%r12d
74         movl    %esi,%eax
75         movl    12(%r9),%ebp
76         movl    %r12d,%ecx
77         xorl    %edi,%eax
78         bswapl  %ebp
79         roll    $5,%ecx
80         leal    1518500249(%rdx,%r11,1),%r11d
81         andl    %r13d,%eax
82         movl    %ebp,12(%rsp)
83         addl    %ecx,%r11d
84         xorl    %edi,%eax
85         roll    $30,%r13d
86         addl    %eax,%r11d
87         movl    %r13d,%eax
88         movl    16(%r9),%edx
89         movl    %r11d,%ecx
90         xorl    %esi,%eax
91         bswapl  %edx
92         roll    $5,%ecx
93         leal    1518500249(%rbp,%rdi,1),%edi
94         andl    %r12d,%eax
95         movl    %edx,16(%rsp)
96         addl    %ecx,%edi
97         xorl    %esi,%eax
98         roll    $30,%r12d
99         addl    %eax,%edi
100         movl    %r12d,%eax
101         movl    20(%r9),%ebp
102         movl    %edi,%ecx
103         xorl    %r13d,%eax
104         bswapl  %ebp
105         roll    $5,%ecx
106         leal    1518500249(%rdx,%rsi,1),%esi
107         andl    %r11d,%eax
108         movl    %ebp,20(%rsp)
109         addl    %ecx,%esi
110         xorl    %r13d,%eax
111         roll    $30,%r11d
112         addl    %eax,%esi
113         movl    %r11d,%eax
114         movl    24(%r9),%edx
115         movl    %esi,%ecx
116         xorl    %r12d,%eax
117         bswapl  %edx
118         roll    $5,%ecx
119         leal    1518500249(%rbp,%r13,1),%r13d
120         andl    %edi,%eax
121         movl    %edx,24(%rsp)
122         addl    %ecx,%r13d
123         xorl    %r12d,%eax
124         roll    $30,%edi
125         addl    %eax,%r13d
126         movl    %edi,%eax
127         movl    28(%r9),%ebp
128         movl    %r13d,%ecx
129         xorl    %r11d,%eax
130         bswapl  %ebp
131         roll    $5,%ecx
132         leal    1518500249(%rdx,%r12,1),%r12d
133         andl    %esi,%eax
134         movl    %ebp,28(%rsp)
135         addl    %ecx,%r12d
136         xorl    %r11d,%eax
137         roll    $30,%esi
138         addl    %eax,%r12d
139         movl    %esi,%eax
140         movl    32(%r9),%edx
141         movl    %r12d,%ecx
142         xorl    %edi,%eax
143         bswapl  %edx
144         roll    $5,%ecx
145         leal    1518500249(%rbp,%r11,1),%r11d
146         andl    %r13d,%eax
147         movl    %edx,32(%rsp)
148         addl    %ecx,%r11d
149         xorl    %edi,%eax
150         roll    $30,%r13d
151         addl    %eax,%r11d
152         movl    %r13d,%eax
153         movl    36(%r9),%ebp
154         movl    %r11d,%ecx
155         xorl    %esi,%eax
156         bswapl  %ebp
157         roll    $5,%ecx
158         leal    1518500249(%rdx,%rdi,1),%edi
159         andl    %r12d,%eax
160         movl    %ebp,36(%rsp)
161         addl    %ecx,%edi
162         xorl    %esi,%eax
163         roll    $30,%r12d
164         addl    %eax,%edi
165         movl    %r12d,%eax
166         movl    40(%r9),%edx
167         movl    %edi,%ecx
168         xorl    %r13d,%eax
169         bswapl  %edx
170         roll    $5,%ecx
171         leal    1518500249(%rbp,%rsi,1),%esi
172         andl    %r11d,%eax
173         movl    %edx,40(%rsp)
174         addl    %ecx,%esi
175         xorl    %r13d,%eax
176         roll    $30,%r11d
177         addl    %eax,%esi
178         movl    %r11d,%eax
179         movl    44(%r9),%ebp
180         movl    %esi,%ecx
181         xorl    %r12d,%eax
182         bswapl  %ebp
183         roll    $5,%ecx
184         leal    1518500249(%rdx,%r13,1),%r13d
185         andl    %edi,%eax
186         movl    %ebp,44(%rsp)
187         addl    %ecx,%r13d
188         xorl    %r12d,%eax
189         roll    $30,%edi
190         addl    %eax,%r13d
191         movl    %edi,%eax
192         movl    48(%r9),%edx
193         movl    %r13d,%ecx
194         xorl    %r11d,%eax
195         bswapl  %edx
196         roll    $5,%ecx
197         leal    1518500249(%rbp,%r12,1),%r12d
198         andl    %esi,%eax
199         movl    %edx,48(%rsp)
200         addl    %ecx,%r12d
201         xorl    %r11d,%eax
202         roll    $30,%esi
203         addl    %eax,%r12d
204         movl    %esi,%eax
205         movl    52(%r9),%ebp
206         movl    %r12d,%ecx
207         xorl    %edi,%eax
208         bswapl  %ebp
209         roll    $5,%ecx
210         leal    1518500249(%rdx,%r11,1),%r11d
211         andl    %r13d,%eax
212         movl    %ebp,52(%rsp)
213         addl    %ecx,%r11d
214         xorl    %edi,%eax
215         roll    $30,%r13d
216         addl    %eax,%r11d
217         movl    %r13d,%eax
218         movl    56(%r9),%edx
219         movl    %r11d,%ecx
220         xorl    %esi,%eax
221         bswapl  %edx
222         roll    $5,%ecx
223         leal    1518500249(%rbp,%rdi,1),%edi
224         andl    %r12d,%eax
225         movl    %edx,56(%rsp)
226         addl    %ecx,%edi
227         xorl    %esi,%eax
228         roll    $30,%r12d
229         addl    %eax,%edi
230         movl    %r12d,%eax
231         movl    60(%r9),%ebp
232         movl    %edi,%ecx
233         xorl    %r13d,%eax
234         bswapl  %ebp
235         roll    $5,%ecx
236         leal    1518500249(%rdx,%rsi,1),%esi
237         andl    %r11d,%eax
238         movl    %ebp,60(%rsp)
239         addl    %ecx,%esi
240         xorl    %r13d,%eax
241         roll    $30,%r11d
242         addl    %eax,%esi
243         movl    0(%rsp),%edx
244         movl    %r11d,%eax
245         movl    %esi,%ecx
246         xorl    8(%rsp),%edx
247         xorl    %r12d,%eax
248         roll    $5,%ecx
249         xorl    32(%rsp),%edx
250         andl    %edi,%eax
251         leal    1518500249(%rbp,%r13,1),%r13d
252         xorl    52(%rsp),%edx
253         xorl    %r12d,%eax
254         roll    $1,%edx
255         addl    %ecx,%r13d
256         roll    $30,%edi
257         movl    %edx,0(%rsp)
258         addl    %eax,%r13d
259         movl    4(%rsp),%ebp
260         movl    %edi,%eax
261         movl    %r13d,%ecx
262         xorl    12(%rsp),%ebp
263         xorl    %r11d,%eax
264         roll    $5,%ecx
265         xorl    36(%rsp),%ebp
266         andl    %esi,%eax
267         leal    1518500249(%rdx,%r12,1),%r12d
268         xorl    56(%rsp),%ebp
269         xorl    %r11d,%eax
270         roll    $1,%ebp
271         addl    %ecx,%r12d
272         roll    $30,%esi
273         movl    %ebp,4(%rsp)
274         addl    %eax,%r12d
275         movl    8(%rsp),%edx
276         movl    %esi,%eax
277         movl    %r12d,%ecx
278         xorl    16(%rsp),%edx
279         xorl    %edi,%eax
280         roll    $5,%ecx
281         xorl    40(%rsp),%edx
282         andl    %r13d,%eax
283         leal    1518500249(%rbp,%r11,1),%r11d
284         xorl    60(%rsp),%edx
285         xorl    %edi,%eax
286         roll    $1,%edx
287         addl    %ecx,%r11d
288         roll    $30,%r13d
289         movl    %edx,8(%rsp)
290         addl    %eax,%r11d
291         movl    12(%rsp),%ebp
292         movl    %r13d,%eax
293         movl    %r11d,%ecx
294         xorl    20(%rsp),%ebp
295         xorl    %esi,%eax
296         roll    $5,%ecx
297         xorl    44(%rsp),%ebp
298         andl    %r12d,%eax
299         leal    1518500249(%rdx,%rdi,1),%edi
300         xorl    0(%rsp),%ebp
301         xorl    %esi,%eax
302         roll    $1,%ebp
303         addl    %ecx,%edi
304         roll    $30,%r12d
305         movl    %ebp,12(%rsp)
306         addl    %eax,%edi
307         movl    16(%rsp),%edx
308         movl    %r12d,%eax
309         movl    %edi,%ecx
310         xorl    24(%rsp),%edx
311         xorl    %r13d,%eax
312         roll    $5,%ecx
313         xorl    48(%rsp),%edx
314         andl    %r11d,%eax
315         leal    1518500249(%rbp,%rsi,1),%esi
316         xorl    4(%rsp),%edx
317         xorl    %r13d,%eax
318         roll    $1,%edx
319         addl    %ecx,%esi
320         roll    $30,%r11d
321         movl    %edx,16(%rsp)
322         addl    %eax,%esi
323         movl    20(%rsp),%ebp
324         movl    %r11d,%eax
325         movl    %esi,%ecx
326         xorl    28(%rsp),%ebp
327         xorl    %edi,%eax
328         roll    $5,%ecx
329         leal    1859775393(%rdx,%r13,1),%r13d
330         xorl    52(%rsp),%ebp
331         xorl    %r12d,%eax
332         addl    %ecx,%r13d
333         xorl    8(%rsp),%ebp
334         roll    $30,%edi
335         addl    %eax,%r13d
336         roll    $1,%ebp
337         movl    %ebp,20(%rsp)
338         movl    24(%rsp),%edx
339         movl    %edi,%eax
340         movl    %r13d,%ecx
341         xorl    32(%rsp),%edx
342         xorl    %esi,%eax
343         roll    $5,%ecx
344         leal    1859775393(%rbp,%r12,1),%r12d
345         xorl    56(%rsp),%edx
346         xorl    %r11d,%eax
347         addl    %ecx,%r12d
348         xorl    12(%rsp),%edx
349         roll    $30,%esi
350         addl    %eax,%r12d
351         roll    $1,%edx
352         movl    %edx,24(%rsp)
353         movl    28(%rsp),%ebp
354         movl    %esi,%eax
355         movl    %r12d,%ecx
356         xorl    36(%rsp),%ebp
357         xorl    %r13d,%eax
358         roll    $5,%ecx
359         leal    1859775393(%rdx,%r11,1),%r11d
360         xorl    60(%rsp),%ebp
361         xorl    %edi,%eax
362         addl    %ecx,%r11d
363         xorl    16(%rsp),%ebp
364         roll    $30,%r13d
365         addl    %eax,%r11d
366         roll    $1,%ebp
367         movl    %ebp,28(%rsp)
368         movl    32(%rsp),%edx
369         movl    %r13d,%eax
370         movl    %r11d,%ecx
371         xorl    40(%rsp),%edx
372         xorl    %r12d,%eax
373         roll    $5,%ecx
374         leal    1859775393(%rbp,%rdi,1),%edi
375         xorl    0(%rsp),%edx
376         xorl    %esi,%eax
377         addl    %ecx,%edi
378         xorl    20(%rsp),%edx
379         roll    $30,%r12d
380         addl    %eax,%edi
381         roll    $1,%edx
382         movl    %edx,32(%rsp)
383         movl    36(%rsp),%ebp
384         movl    %r12d,%eax
385         movl    %edi,%ecx
386         xorl    44(%rsp),%ebp
387         xorl    %r11d,%eax
388         roll    $5,%ecx
389         leal    1859775393(%rdx,%rsi,1),%esi
390         xorl    4(%rsp),%ebp
391         xorl    %r13d,%eax
392         addl    %ecx,%esi
393         xorl    24(%rsp),%ebp
394         roll    $30,%r11d
395         addl    %eax,%esi
396         roll    $1,%ebp
397         movl    %ebp,36(%rsp)
398         movl    40(%rsp),%edx
399         movl    %r11d,%eax
400         movl    %esi,%ecx
401         xorl    48(%rsp),%edx
402         xorl    %edi,%eax
403         roll    $5,%ecx
404         leal    1859775393(%rbp,%r13,1),%r13d
405         xorl    8(%rsp),%edx
406         xorl    %r12d,%eax
407         addl    %ecx,%r13d
408         xorl    28(%rsp),%edx
409         roll    $30,%edi
410         addl    %eax,%r13d
411         roll    $1,%edx
412         movl    %edx,40(%rsp)
413         movl    44(%rsp),%ebp
414         movl    %edi,%eax
415         movl    %r13d,%ecx
416         xorl    52(%rsp),%ebp
417         xorl    %esi,%eax
418         roll    $5,%ecx
419         leal    1859775393(%rdx,%r12,1),%r12d
420         xorl    12(%rsp),%ebp
421         xorl    %r11d,%eax
422         addl    %ecx,%r12d
423         xorl    32(%rsp),%ebp
424         roll    $30,%esi
425         addl    %eax,%r12d
426         roll    $1,%ebp
427         movl    %ebp,44(%rsp)
428         movl    48(%rsp),%edx
429         movl    %esi,%eax
430         movl    %r12d,%ecx
431         xorl    56(%rsp),%edx
432         xorl    %r13d,%eax
433         roll    $5,%ecx
434         leal    1859775393(%rbp,%r11,1),%r11d
435         xorl    16(%rsp),%edx
436         xorl    %edi,%eax
437         addl    %ecx,%r11d
438         xorl    36(%rsp),%edx
439         roll    $30,%r13d
440         addl    %eax,%r11d
441         roll    $1,%edx
442         movl    %edx,48(%rsp)
443         movl    52(%rsp),%ebp
444         movl    %r13d,%eax
445         movl    %r11d,%ecx
446         xorl    60(%rsp),%ebp
447         xorl    %r12d,%eax
448         roll    $5,%ecx
449         leal    1859775393(%rdx,%rdi,1),%edi
450         xorl    20(%rsp),%ebp
451         xorl    %esi,%eax
452         addl    %ecx,%edi
453         xorl    40(%rsp),%ebp
454         roll    $30,%r12d
455         addl    %eax,%edi
456         roll    $1,%ebp
457         movl    %ebp,52(%rsp)
458         movl    56(%rsp),%edx
459         movl    %r12d,%eax
460         movl    %edi,%ecx
461         xorl    0(%rsp),%edx
462         xorl    %r11d,%eax
463         roll    $5,%ecx
464         leal    1859775393(%rbp,%rsi,1),%esi
465         xorl    24(%rsp),%edx
466         xorl    %r13d,%eax
467         addl    %ecx,%esi
468         xorl    44(%rsp),%edx
469         roll    $30,%r11d
470         addl    %eax,%esi
471         roll    $1,%edx
472         movl    %edx,56(%rsp)
473         movl    60(%rsp),%ebp
474         movl    %r11d,%eax
475         movl    %esi,%ecx
476         xorl    4(%rsp),%ebp
477         xorl    %edi,%eax
478         roll    $5,%ecx
479         leal    1859775393(%rdx,%r13,1),%r13d
480         xorl    28(%rsp),%ebp
481         xorl    %r12d,%eax
482         addl    %ecx,%r13d
483         xorl    48(%rsp),%ebp
484         roll    $30,%edi
485         addl    %eax,%r13d
486         roll    $1,%ebp
487         movl    %ebp,60(%rsp)
488         movl    0(%rsp),%edx
489         movl    %edi,%eax
490         movl    %r13d,%ecx
491         xorl    8(%rsp),%edx
492         xorl    %esi,%eax
493         roll    $5,%ecx
494         leal    1859775393(%rbp,%r12,1),%r12d
495         xorl    32(%rsp),%edx
496         xorl    %r11d,%eax
497         addl    %ecx,%r12d
498         xorl    52(%rsp),%edx
499         roll    $30,%esi
500         addl    %eax,%r12d
501         roll    $1,%edx
502         movl    %edx,0(%rsp)
503         movl    4(%rsp),%ebp
504         movl    %esi,%eax
505         movl    %r12d,%ecx
506         xorl    12(%rsp),%ebp
507         xorl    %r13d,%eax
508         roll    $5,%ecx
509         leal    1859775393(%rdx,%r11,1),%r11d
510         xorl    36(%rsp),%ebp
511         xorl    %edi,%eax
512         addl    %ecx,%r11d
513         xorl    56(%rsp),%ebp
514         roll    $30,%r13d
515         addl    %eax,%r11d
516         roll    $1,%ebp
517         movl    %ebp,4(%rsp)
518         movl    8(%rsp),%edx
519         movl    %r13d,%eax
520         movl    %r11d,%ecx
521         xorl    16(%rsp),%edx
522         xorl    %r12d,%eax
523         roll    $5,%ecx
524         leal    1859775393(%rbp,%rdi,1),%edi
525         xorl    40(%rsp),%edx
526         xorl    %esi,%eax
527         addl    %ecx,%edi
528         xorl    60(%rsp),%edx
529         roll    $30,%r12d
530         addl    %eax,%edi
531         roll    $1,%edx
532         movl    %edx,8(%rsp)
533         movl    12(%rsp),%ebp
534         movl    %r12d,%eax
535         movl    %edi,%ecx
536         xorl    20(%rsp),%ebp
537         xorl    %r11d,%eax
538         roll    $5,%ecx
539         leal    1859775393(%rdx,%rsi,1),%esi
540         xorl    44(%rsp),%ebp
541         xorl    %r13d,%eax
542         addl    %ecx,%esi
543         xorl    0(%rsp),%ebp
544         roll    $30,%r11d
545         addl    %eax,%esi
546         roll    $1,%ebp
547         movl    %ebp,12(%rsp)
548         movl    16(%rsp),%edx
549         movl    %r11d,%eax
550         movl    %esi,%ecx
551         xorl    24(%rsp),%edx
552         xorl    %edi,%eax
553         roll    $5,%ecx
554         leal    1859775393(%rbp,%r13,1),%r13d
555         xorl    48(%rsp),%edx
556         xorl    %r12d,%eax
557         addl    %ecx,%r13d
558         xorl    4(%rsp),%edx
559         roll    $30,%edi
560         addl    %eax,%r13d
561         roll    $1,%edx
562         movl    %edx,16(%rsp)
563         movl    20(%rsp),%ebp
564         movl    %edi,%eax
565         movl    %r13d,%ecx
566         xorl    28(%rsp),%ebp
567         xorl    %esi,%eax
568         roll    $5,%ecx
569         leal    1859775393(%rdx,%r12,1),%r12d
570         xorl    52(%rsp),%ebp
571         xorl    %r11d,%eax
572         addl    %ecx,%r12d
573         xorl    8(%rsp),%ebp
574         roll    $30,%esi
575         addl    %eax,%r12d
576         roll    $1,%ebp
577         movl    %ebp,20(%rsp)
578         movl    24(%rsp),%edx
579         movl    %esi,%eax
580         movl    %r12d,%ecx
581         xorl    32(%rsp),%edx
582         xorl    %r13d,%eax
583         roll    $5,%ecx
584         leal    1859775393(%rbp,%r11,1),%r11d
585         xorl    56(%rsp),%edx
586         xorl    %edi,%eax
587         addl    %ecx,%r11d
588         xorl    12(%rsp),%edx
589         roll    $30,%r13d
590         addl    %eax,%r11d
591         roll    $1,%edx
592         movl    %edx,24(%rsp)
593         movl    28(%rsp),%ebp
594         movl    %r13d,%eax
595         movl    %r11d,%ecx
596         xorl    36(%rsp),%ebp
597         xorl    %r12d,%eax
598         roll    $5,%ecx
599         leal    1859775393(%rdx,%rdi,1),%edi
600         xorl    60(%rsp),%ebp
601         xorl    %esi,%eax
602         addl    %ecx,%edi
603         xorl    16(%rsp),%ebp
604         roll    $30,%r12d
605         addl    %eax,%edi
606         roll    $1,%ebp
607         movl    %ebp,28(%rsp)
608         movl    32(%rsp),%edx
609         movl    %r12d,%eax
610         movl    %edi,%ecx
611         xorl    40(%rsp),%edx
612         xorl    %r11d,%eax
613         roll    $5,%ecx
614         leal    1859775393(%rbp,%rsi,1),%esi
615         xorl    0(%rsp),%edx
616         xorl    %r13d,%eax
617         addl    %ecx,%esi
618         xorl    20(%rsp),%edx
619         roll    $30,%r11d
620         addl    %eax,%esi
621         roll    $1,%edx
622         movl    %edx,32(%rsp)
623         movl    36(%rsp),%ebp
624         movl    %r11d,%eax
625         movl    %r11d,%ebx
626         xorl    44(%rsp),%ebp
627         andl    %r12d,%eax
628         movl    %esi,%ecx
629         xorl    4(%rsp),%ebp
630         xorl    %r12d,%ebx
631         leal    -1894007588(%rdx,%r13,1),%r13d
632         roll    $5,%ecx
633         xorl    24(%rsp),%ebp
634         addl    %eax,%r13d
635         andl    %edi,%ebx
636         roll    $1,%ebp
637         addl    %ebx,%r13d
638         roll    $30,%edi
639         movl    %ebp,36(%rsp)
640         addl    %ecx,%r13d
641         movl    40(%rsp),%edx
642         movl    %edi,%eax
643         movl    %edi,%ebx
644         xorl    48(%rsp),%edx
645         andl    %r11d,%eax
646         movl    %r13d,%ecx
647         xorl    8(%rsp),%edx
648         xorl    %r11d,%ebx
649         leal    -1894007588(%rbp,%r12,1),%r12d
650         roll    $5,%ecx
651         xorl    28(%rsp),%edx
652         addl    %eax,%r12d
653         andl    %esi,%ebx
654         roll    $1,%edx
655         addl    %ebx,%r12d
656         roll    $30,%esi
657         movl    %edx,40(%rsp)
658         addl    %ecx,%r12d
659         movl    44(%rsp),%ebp
660         movl    %esi,%eax
661         movl    %esi,%ebx
662         xorl    52(%rsp),%ebp
663         andl    %edi,%eax
664         movl    %r12d,%ecx
665         xorl    12(%rsp),%ebp
666         xorl    %edi,%ebx
667         leal    -1894007588(%rdx,%r11,1),%r11d
668         roll    $5,%ecx
669         xorl    32(%rsp),%ebp
670         addl    %eax,%r11d
671         andl    %r13d,%ebx
672         roll    $1,%ebp
673         addl    %ebx,%r11d
674         roll    $30,%r13d
675         movl    %ebp,44(%rsp)
676         addl    %ecx,%r11d
677         movl    48(%rsp),%edx
678         movl    %r13d,%eax
679         movl    %r13d,%ebx
680         xorl    56(%rsp),%edx
681         andl    %esi,%eax
682         movl    %r11d,%ecx
683         xorl    16(%rsp),%edx
684         xorl    %esi,%ebx
685         leal    -1894007588(%rbp,%rdi,1),%edi
686         roll    $5,%ecx
687         xorl    36(%rsp),%edx
688         addl    %eax,%edi
689         andl    %r12d,%ebx
690         roll    $1,%edx
691         addl    %ebx,%edi
692         roll    $30,%r12d
693         movl    %edx,48(%rsp)
694         addl    %ecx,%edi
695         movl    52(%rsp),%ebp
696         movl    %r12d,%eax
697         movl    %r12d,%ebx
698         xorl    60(%rsp),%ebp
699         andl    %r13d,%eax
700         movl    %edi,%ecx
701         xorl    20(%rsp),%ebp
702         xorl    %r13d,%ebx
703         leal    -1894007588(%rdx,%rsi,1),%esi
704         roll    $5,%ecx
705         xorl    40(%rsp),%ebp
706         addl    %eax,%esi
707         andl    %r11d,%ebx
708         roll    $1,%ebp
709         addl    %ebx,%esi
710         roll    $30,%r11d
711         movl    %ebp,52(%rsp)
712         addl    %ecx,%esi
713         movl    56(%rsp),%edx
714         movl    %r11d,%eax
715         movl    %r11d,%ebx
716         xorl    0(%rsp),%edx
717         andl    %r12d,%eax
718         movl    %esi,%ecx
719         xorl    24(%rsp),%edx
720         xorl    %r12d,%ebx
721         leal    -1894007588(%rbp,%r13,1),%r13d
722         roll    $5,%ecx
723         xorl    44(%rsp),%edx
724         addl    %eax,%r13d
725         andl    %edi,%ebx
726         roll    $1,%edx
727         addl    %ebx,%r13d
728         roll    $30,%edi
729         movl    %edx,56(%rsp)
730         addl    %ecx,%r13d
731         movl    60(%rsp),%ebp
732         movl    %edi,%eax
733         movl    %edi,%ebx
734         xorl    4(%rsp),%ebp
735         andl    %r11d,%eax
736         movl    %r13d,%ecx
737         xorl    28(%rsp),%ebp
738         xorl    %r11d,%ebx
739         leal    -1894007588(%rdx,%r12,1),%r12d
740         roll    $5,%ecx
741         xorl    48(%rsp),%ebp
742         addl    %eax,%r12d
743         andl    %esi,%ebx
744         roll    $1,%ebp
745         addl    %ebx,%r12d
746         roll    $30,%esi
747         movl    %ebp,60(%rsp)
748         addl    %ecx,%r12d
749         movl    0(%rsp),%edx
750         movl    %esi,%eax
751         movl    %esi,%ebx
752         xorl    8(%rsp),%edx
753         andl    %edi,%eax
754         movl    %r12d,%ecx
755         xorl    32(%rsp),%edx
756         xorl    %edi,%ebx
757         leal    -1894007588(%rbp,%r11,1),%r11d
758         roll    $5,%ecx
759         xorl    52(%rsp),%edx
760         addl    %eax,%r11d
761         andl    %r13d,%ebx
762         roll    $1,%edx
763         addl    %ebx,%r11d
764         roll    $30,%r13d
765         movl    %edx,0(%rsp)
766         addl    %ecx,%r11d
767         movl    4(%rsp),%ebp
768         movl    %r13d,%eax
769         movl    %r13d,%ebx
770         xorl    12(%rsp),%ebp
771         andl    %esi,%eax
772         movl    %r11d,%ecx
773         xorl    36(%rsp),%ebp
774         xorl    %esi,%ebx
775         leal    -1894007588(%rdx,%rdi,1),%edi
776         roll    $5,%ecx
777         xorl    56(%rsp),%ebp
778         addl    %eax,%edi
779         andl    %r12d,%ebx
780         roll    $1,%ebp
781         addl    %ebx,%edi
782         roll    $30,%r12d
783         movl    %ebp,4(%rsp)
784         addl    %ecx,%edi
785         movl    8(%rsp),%edx
786         movl    %r12d,%eax
787         movl    %r12d,%ebx
788         xorl    16(%rsp),%edx
789         andl    %r13d,%eax
790         movl    %edi,%ecx
791         xorl    40(%rsp),%edx
792         xorl    %r13d,%ebx
793         leal    -1894007588(%rbp,%rsi,1),%esi
794         roll    $5,%ecx
795         xorl    60(%rsp),%edx
796         addl    %eax,%esi
797         andl    %r11d,%ebx
798         roll    $1,%edx
799         addl    %ebx,%esi
800         roll    $30,%r11d
801         movl    %edx,8(%rsp)
802         addl    %ecx,%esi
803         movl    12(%rsp),%ebp
804         movl    %r11d,%eax
805         movl    %r11d,%ebx
806         xorl    20(%rsp),%ebp
807         andl    %r12d,%eax
808         movl    %esi,%ecx
809         xorl    44(%rsp),%ebp
810         xorl    %r12d,%ebx
811         leal    -1894007588(%rdx,%r13,1),%r13d
812         roll    $5,%ecx
813         xorl    0(%rsp),%ebp
814         addl    %eax,%r13d
815         andl    %edi,%ebx
816         roll    $1,%ebp
817         addl    %ebx,%r13d
818         roll    $30,%edi
819         movl    %ebp,12(%rsp)
820         addl    %ecx,%r13d
821         movl    16(%rsp),%edx
822         movl    %edi,%eax
823         movl    %edi,%ebx
824         xorl    24(%rsp),%edx
825         andl    %r11d,%eax
826         movl    %r13d,%ecx
827         xorl    48(%rsp),%edx
828         xorl    %r11d,%ebx
829         leal    -1894007588(%rbp,%r12,1),%r12d
830         roll    $5,%ecx
831         xorl    4(%rsp),%edx
832         addl    %eax,%r12d
833         andl    %esi,%ebx
834         roll    $1,%edx
835         addl    %ebx,%r12d
836         roll    $30,%esi
837         movl    %edx,16(%rsp)
838         addl    %ecx,%r12d
839         movl    20(%rsp),%ebp
840         movl    %esi,%eax
841         movl    %esi,%ebx
842         xorl    28(%rsp),%ebp
843         andl    %edi,%eax
844         movl    %r12d,%ecx
845         xorl    52(%rsp),%ebp
846         xorl    %edi,%ebx
847         leal    -1894007588(%rdx,%r11,1),%r11d
848         roll    $5,%ecx
849         xorl    8(%rsp),%ebp
850         addl    %eax,%r11d
851         andl    %r13d,%ebx
852         roll    $1,%ebp
853         addl    %ebx,%r11d
854         roll    $30,%r13d
855         movl    %ebp,20(%rsp)
856         addl    %ecx,%r11d
857         movl    24(%rsp),%edx
858         movl    %r13d,%eax
859         movl    %r13d,%ebx
860         xorl    32(%rsp),%edx
861         andl    %esi,%eax
862         movl    %r11d,%ecx
863         xorl    56(%rsp),%edx
864         xorl    %esi,%ebx
865         leal    -1894007588(%rbp,%rdi,1),%edi
866         roll    $5,%ecx
867         xorl    12(%rsp),%edx
868         addl    %eax,%edi
869         andl    %r12d,%ebx
870         roll    $1,%edx
871         addl    %ebx,%edi
872         roll    $30,%r12d
873         movl    %edx,24(%rsp)
874         addl    %ecx,%edi
875         movl    28(%rsp),%ebp
876         movl    %r12d,%eax
877         movl    %r12d,%ebx
878         xorl    36(%rsp),%ebp
879         andl    %r13d,%eax
880         movl    %edi,%ecx
881         xorl    60(%rsp),%ebp
882         xorl    %r13d,%ebx
883         leal    -1894007588(%rdx,%rsi,1),%esi
884         roll    $5,%ecx
885         xorl    16(%rsp),%ebp
886         addl    %eax,%esi
887         andl    %r11d,%ebx
888         roll    $1,%ebp
889         addl    %ebx,%esi
890         roll    $30,%r11d
891         movl    %ebp,28(%rsp)
892         addl    %ecx,%esi
893         movl    32(%rsp),%edx
894         movl    %r11d,%eax
895         movl    %r11d,%ebx
896         xorl    40(%rsp),%edx
897         andl    %r12d,%eax
898         movl    %esi,%ecx
899         xorl    0(%rsp),%edx
900         xorl    %r12d,%ebx
901         leal    -1894007588(%rbp,%r13,1),%r13d
902         roll    $5,%ecx
903         xorl    20(%rsp),%edx
904         addl    %eax,%r13d
905         andl    %edi,%ebx
906         roll    $1,%edx
907         addl    %ebx,%r13d
908         roll    $30,%edi
909         movl    %edx,32(%rsp)
910         addl    %ecx,%r13d
911         movl    36(%rsp),%ebp
912         movl    %edi,%eax
913         movl    %edi,%ebx
914         xorl    44(%rsp),%ebp
915         andl    %r11d,%eax
916         movl    %r13d,%ecx
917         xorl    4(%rsp),%ebp
918         xorl    %r11d,%ebx
919         leal    -1894007588(%rdx,%r12,1),%r12d
920         roll    $5,%ecx
921         xorl    24(%rsp),%ebp
922         addl    %eax,%r12d
923         andl    %esi,%ebx
924         roll    $1,%ebp
925         addl    %ebx,%r12d
926         roll    $30,%esi
927         movl    %ebp,36(%rsp)
928         addl    %ecx,%r12d
929         movl    40(%rsp),%edx
930         movl    %esi,%eax
931         movl    %esi,%ebx
932         xorl    48(%rsp),%edx
933         andl    %edi,%eax
934         movl    %r12d,%ecx
935         xorl    8(%rsp),%edx
936         xorl    %edi,%ebx
937         leal    -1894007588(%rbp,%r11,1),%r11d
938         roll    $5,%ecx
939         xorl    28(%rsp),%edx
940         addl    %eax,%r11d
941         andl    %r13d,%ebx
942         roll    $1,%edx
943         addl    %ebx,%r11d
944         roll    $30,%r13d
945         movl    %edx,40(%rsp)
946         addl    %ecx,%r11d
947         movl    44(%rsp),%ebp
948         movl    %r13d,%eax
949         movl    %r13d,%ebx
950         xorl    52(%rsp),%ebp
951         andl    %esi,%eax
952         movl    %r11d,%ecx
953         xorl    12(%rsp),%ebp
954         xorl    %esi,%ebx
955         leal    -1894007588(%rdx,%rdi,1),%edi
956         roll    $5,%ecx
957         xorl    32(%rsp),%ebp
958         addl    %eax,%edi
959         andl    %r12d,%ebx
960         roll    $1,%ebp
961         addl    %ebx,%edi
962         roll    $30,%r12d
963         movl    %ebp,44(%rsp)
964         addl    %ecx,%edi
965         movl    48(%rsp),%edx
966         movl    %r12d,%eax
967         movl    %r12d,%ebx
968         xorl    56(%rsp),%edx
969         andl    %r13d,%eax
970         movl    %edi,%ecx
971         xorl    16(%rsp),%edx
972         xorl    %r13d,%ebx
973         leal    -1894007588(%rbp,%rsi,1),%esi
974         roll    $5,%ecx
975         xorl    36(%rsp),%edx
976         addl    %eax,%esi
977         andl    %r11d,%ebx
978         roll    $1,%edx
979         addl    %ebx,%esi
980         roll    $30,%r11d
981         movl    %edx,48(%rsp)
982         addl    %ecx,%esi
983         movl    52(%rsp),%ebp
984         movl    %r11d,%eax
985         movl    %esi,%ecx
986         xorl    60(%rsp),%ebp
987         xorl    %edi,%eax
988         roll    $5,%ecx
989         leal    -899497514(%rdx,%r13,1),%r13d
990         xorl    20(%rsp),%ebp
991         xorl    %r12d,%eax
992         addl    %ecx,%r13d
993         xorl    40(%rsp),%ebp
994         roll    $30,%edi
995         addl    %eax,%r13d
996         roll    $1,%ebp
997         movl    %ebp,52(%rsp)
998         movl    56(%rsp),%edx
999         movl    %edi,%eax
1000         movl    %r13d,%ecx
1001         xorl    0(%rsp),%edx
1002         xorl    %esi,%eax
1003         roll    $5,%ecx
1004         leal    -899497514(%rbp,%r12,1),%r12d
1005         xorl    24(%rsp),%edx
1006         xorl    %r11d,%eax
1007         addl    %ecx,%r12d
1008         xorl    44(%rsp),%edx
1009         roll    $30,%esi
1010         addl    %eax,%r12d
1011         roll    $1,%edx
1012         movl    %edx,56(%rsp)
1013         movl    60(%rsp),%ebp
1014         movl    %esi,%eax
1015         movl    %r12d,%ecx
1016         xorl    4(%rsp),%ebp
1017         xorl    %r13d,%eax
1018         roll    $5,%ecx
1019         leal    -899497514(%rdx,%r11,1),%r11d
1020         xorl    28(%rsp),%ebp
1021         xorl    %edi,%eax
1022         addl    %ecx,%r11d
1023         xorl    48(%rsp),%ebp
1024         roll    $30,%r13d
1025         addl    %eax,%r11d
1026         roll    $1,%ebp
1027         movl    %ebp,60(%rsp)
1028         movl    0(%rsp),%edx
1029         movl    %r13d,%eax
1030         movl    %r11d,%ecx
1031         xorl    8(%rsp),%edx
1032         xorl    %r12d,%eax
1033         roll    $5,%ecx
1034         leal    -899497514(%rbp,%rdi,1),%edi
1035         xorl    32(%rsp),%edx
1036         xorl    %esi,%eax
1037         addl    %ecx,%edi
1038         xorl    52(%rsp),%edx
1039         roll    $30,%r12d
1040         addl    %eax,%edi
1041         roll    $1,%edx
1042         movl    %edx,0(%rsp)
1043         movl    4(%rsp),%ebp
1044         movl    %r12d,%eax
1045         movl    %edi,%ecx
1046         xorl    12(%rsp),%ebp
1047         xorl    %r11d,%eax
1048         roll    $5,%ecx
1049         leal    -899497514(%rdx,%rsi,1),%esi
1050         xorl    36(%rsp),%ebp
1051         xorl    %r13d,%eax
1052         addl    %ecx,%esi
1053         xorl    56(%rsp),%ebp
1054         roll    $30,%r11d
1055         addl    %eax,%esi
1056         roll    $1,%ebp
1057         movl    %ebp,4(%rsp)
1058         movl    8(%rsp),%edx
1059         movl    %r11d,%eax
1060         movl    %esi,%ecx
1061         xorl    16(%rsp),%edx
1062         xorl    %edi,%eax
1063         roll    $5,%ecx
1064         leal    -899497514(%rbp,%r13,1),%r13d
1065         xorl    40(%rsp),%edx
1066         xorl    %r12d,%eax
1067         addl    %ecx,%r13d
1068         xorl    60(%rsp),%edx
1069         roll    $30,%edi
1070         addl    %eax,%r13d
1071         roll    $1,%edx
1072         movl    %edx,8(%rsp)
1073         movl    12(%rsp),%ebp
1074         movl    %edi,%eax
1075         movl    %r13d,%ecx
1076         xorl    20(%rsp),%ebp
1077         xorl    %esi,%eax
1078         roll    $5,%ecx
1079         leal    -899497514(%rdx,%r12,1),%r12d
1080         xorl    44(%rsp),%ebp
1081         xorl    %r11d,%eax
1082         addl    %ecx,%r12d
1083         xorl    0(%rsp),%ebp
1084         roll    $30,%esi
1085         addl    %eax,%r12d
1086         roll    $1,%ebp
1087         movl    %ebp,12(%rsp)
1088         movl    16(%rsp),%edx
1089         movl    %esi,%eax
1090         movl    %r12d,%ecx
1091         xorl    24(%rsp),%edx
1092         xorl    %r13d,%eax
1093         roll    $5,%ecx
1094         leal    -899497514(%rbp,%r11,1),%r11d
1095         xorl    48(%rsp),%edx
1096         xorl    %edi,%eax
1097         addl    %ecx,%r11d
1098         xorl    4(%rsp),%edx
1099         roll    $30,%r13d
1100         addl    %eax,%r11d
1101         roll    $1,%edx
1102         movl    %edx,16(%rsp)
1103         movl    20(%rsp),%ebp
1104         movl    %r13d,%eax
1105         movl    %r11d,%ecx
1106         xorl    28(%rsp),%ebp
1107         xorl    %r12d,%eax
1108         roll    $5,%ecx
1109         leal    -899497514(%rdx,%rdi,1),%edi
1110         xorl    52(%rsp),%ebp
1111         xorl    %esi,%eax
1112         addl    %ecx,%edi
1113         xorl    8(%rsp),%ebp
1114         roll    $30,%r12d
1115         addl    %eax,%edi
1116         roll    $1,%ebp
1117         movl    %ebp,20(%rsp)
1118         movl    24(%rsp),%edx
1119         movl    %r12d,%eax
1120         movl    %edi,%ecx
1121         xorl    32(%rsp),%edx
1122         xorl    %r11d,%eax
1123         roll    $5,%ecx
1124         leal    -899497514(%rbp,%rsi,1),%esi
1125         xorl    56(%rsp),%edx
1126         xorl    %r13d,%eax
1127         addl    %ecx,%esi
1128         xorl    12(%rsp),%edx
1129         roll    $30,%r11d
1130         addl    %eax,%esi
1131         roll    $1,%edx
1132         movl    %edx,24(%rsp)
1133         movl    28(%rsp),%ebp
1134         movl    %r11d,%eax
1135         movl    %esi,%ecx
1136         xorl    36(%rsp),%ebp
1137         xorl    %edi,%eax
1138         roll    $5,%ecx
1139         leal    -899497514(%rdx,%r13,1),%r13d
1140         xorl    60(%rsp),%ebp
1141         xorl    %r12d,%eax
1142         addl    %ecx,%r13d
1143         xorl    16(%rsp),%ebp
1144         roll    $30,%edi
1145         addl    %eax,%r13d
1146         roll    $1,%ebp
1147         movl    %ebp,28(%rsp)
1148         movl    32(%rsp),%edx
1149         movl    %edi,%eax
1150         movl    %r13d,%ecx
1151         xorl    40(%rsp),%edx
1152         xorl    %esi,%eax
1153         roll    $5,%ecx
1154         leal    -899497514(%rbp,%r12,1),%r12d
1155         xorl    0(%rsp),%edx
1156         xorl    %r11d,%eax
1157         addl    %ecx,%r12d
1158         xorl    20(%rsp),%edx
1159         roll    $30,%esi
1160         addl    %eax,%r12d
1161         roll    $1,%edx
1162         movl    %edx,32(%rsp)
1163         movl    36(%rsp),%ebp
1164         movl    %esi,%eax
1165         movl    %r12d,%ecx
1166         xorl    44(%rsp),%ebp
1167         xorl    %r13d,%eax
1168         roll    $5,%ecx
1169         leal    -899497514(%rdx,%r11,1),%r11d
1170         xorl    4(%rsp),%ebp
1171         xorl    %edi,%eax
1172         addl    %ecx,%r11d
1173         xorl    24(%rsp),%ebp
1174         roll    $30,%r13d
1175         addl    %eax,%r11d
1176         roll    $1,%ebp
1177         movl    %ebp,36(%rsp)
1178         movl    40(%rsp),%edx
1179         movl    %r13d,%eax
1180         movl    %r11d,%ecx
1181         xorl    48(%rsp),%edx
1182         xorl    %r12d,%eax
1183         roll    $5,%ecx
1184         leal    -899497514(%rbp,%rdi,1),%edi
1185         xorl    8(%rsp),%edx
1186         xorl    %esi,%eax
1187         addl    %ecx,%edi
1188         xorl    28(%rsp),%edx
1189         roll    $30,%r12d
1190         addl    %eax,%edi
1191         roll    $1,%edx
1192         movl    %edx,40(%rsp)
1193         movl    44(%rsp),%ebp
1194         movl    %r12d,%eax
1195         movl    %edi,%ecx
1196         xorl    52(%rsp),%ebp
1197         xorl    %r11d,%eax
1198         roll    $5,%ecx
1199         leal    -899497514(%rdx,%rsi,1),%esi
1200         xorl    12(%rsp),%ebp
1201         xorl    %r13d,%eax
1202         addl    %ecx,%esi
1203         xorl    32(%rsp),%ebp
1204         roll    $30,%r11d
1205         addl    %eax,%esi
1206         roll    $1,%ebp
1207         movl    %ebp,44(%rsp)
1208         movl    48(%rsp),%edx
1209         movl    %r11d,%eax
1210         movl    %esi,%ecx
1211         xorl    56(%rsp),%edx
1212         xorl    %edi,%eax
1213         roll    $5,%ecx
1214         leal    -899497514(%rbp,%r13,1),%r13d
1215         xorl    16(%rsp),%edx
1216         xorl    %r12d,%eax
1217         addl    %ecx,%r13d
1218         xorl    36(%rsp),%edx
1219         roll    $30,%edi
1220         addl    %eax,%r13d
1221         roll    $1,%edx
1222         movl    %edx,48(%rsp)
1223         movl    52(%rsp),%ebp
1224         movl    %edi,%eax
1225         movl    %r13d,%ecx
1226         xorl    60(%rsp),%ebp
1227         xorl    %esi,%eax
1228         roll    $5,%ecx
1229         leal    -899497514(%rdx,%r12,1),%r12d
1230         xorl    20(%rsp),%ebp
1231         xorl    %r11d,%eax
1232         addl    %ecx,%r12d
1233         xorl    40(%rsp),%ebp
1234         roll    $30,%esi
1235         addl    %eax,%r12d
1236         roll    $1,%ebp
1237         movl    56(%rsp),%edx
1238         movl    %esi,%eax
1239         movl    %r12d,%ecx
1240         xorl    0(%rsp),%edx
1241         xorl    %r13d,%eax
1242         roll    $5,%ecx
1243         leal    -899497514(%rbp,%r11,1),%r11d
1244         xorl    24(%rsp),%edx
1245         xorl    %edi,%eax
1246         addl    %ecx,%r11d
1247         xorl    44(%rsp),%edx
1248         roll    $30,%r13d
1249         addl    %eax,%r11d
1250         roll    $1,%edx
1251         movl    60(%rsp),%ebp
1252         movl    %r13d,%eax
1253         movl    %r11d,%ecx
1254         xorl    4(%rsp),%ebp
1255         xorl    %r12d,%eax
1256         roll    $5,%ecx
1257         leal    -899497514(%rdx,%rdi,1),%edi
1258         xorl    28(%rsp),%ebp
1259         xorl    %esi,%eax
1260         addl    %ecx,%edi
1261         xorl    48(%rsp),%ebp
1262         roll    $30,%r12d
1263         addl    %eax,%edi
1264         roll    $1,%ebp
1265         movl    %r12d,%eax
1266         movl    %edi,%ecx
1267         xorl    %r11d,%eax
1268         leal    -899497514(%rbp,%rsi,1),%esi
1269         roll    $5,%ecx
1270         xorl    %r13d,%eax
1271         addl    %ecx,%esi
1272         roll    $30,%r11d
1273         addl    %eax,%esi
1274         addl    0(%r8),%esi
1275         addl    4(%r8),%edi
1276         addl    8(%r8),%r11d
1277         addl    12(%r8),%r12d
1278         addl    16(%r8),%r13d
1279         movl    %esi,0(%r8)
1280         movl    %edi,4(%r8)
1281         movl    %r11d,8(%r8)
1282         movl    %r12d,12(%r8)
1283         movl    %r13d,16(%r8)
1284
1285         subq    $1,%r10
1286         leaq    64(%r9),%r9
1287         jnz     .Lloop
1288
1289         movq    64(%rsp),%rsi
1290         movq    (%rsi),%r13
1291         movq    8(%rsi),%r12
1292         movq    16(%rsi),%rbp
1293         movq    24(%rsi),%rbx
1294         leaq    32(%rsi),%rsp
1295 .Lepilogue:
1296         .byte   0xf3,0xc3
1297 .size   sha1_block_data_order,.-sha1_block_data_order
1298 .type   sha1_block_data_order_ssse3,@function
1299 .align  16
1300 sha1_block_data_order_ssse3:
1301 _ssse3_shortcut:
1302         pushq   %rbx
1303         pushq   %rbp
1304         pushq   %r12
1305         leaq    -64(%rsp),%rsp
1306         movq    %rdi,%r8
1307         movq    %rsi,%r9
1308         movq    %rdx,%r10
1309
1310         shlq    $6,%r10
1311         addq    %r9,%r10
1312         leaq    K_XX_XX(%rip),%r11
1313
1314         movl    0(%r8),%eax
1315         movl    4(%r8),%ebx
1316         movl    8(%r8),%ecx
1317         movl    12(%r8),%edx
1318         movl    %ebx,%esi
1319         movl    16(%r8),%ebp
1320
1321         movdqa  64(%r11),%xmm6
1322         movdqa  0(%r11),%xmm9
1323         movdqu  0(%r9),%xmm0
1324         movdqu  16(%r9),%xmm1
1325         movdqu  32(%r9),%xmm2
1326         movdqu  48(%r9),%xmm3
1327 .byte   102,15,56,0,198
1328         addq    $64,%r9
1329 .byte   102,15,56,0,206
1330 .byte   102,15,56,0,214
1331 .byte   102,15,56,0,222
1332         paddd   %xmm9,%xmm0
1333         paddd   %xmm9,%xmm1
1334         paddd   %xmm9,%xmm2
1335         movdqa  %xmm0,0(%rsp)
1336         psubd   %xmm9,%xmm0
1337         movdqa  %xmm1,16(%rsp)
1338         psubd   %xmm9,%xmm1
1339         movdqa  %xmm2,32(%rsp)
1340         psubd   %xmm9,%xmm2
1341         jmp     .Loop_ssse3
1342 .align  16
1343 .Loop_ssse3:
1344         movdqa  %xmm1,%xmm4
1345         addl    0(%rsp),%ebp
1346         xorl    %edx,%ecx
1347         movdqa  %xmm3,%xmm8
1348 .byte   102,15,58,15,224,8
1349         movl    %eax,%edi
1350         roll    $5,%eax
1351         paddd   %xmm3,%xmm9
1352         andl    %ecx,%esi
1353         xorl    %edx,%ecx
1354         psrldq  $4,%xmm8
1355         xorl    %edx,%esi
1356         addl    %eax,%ebp
1357         pxor    %xmm0,%xmm4
1358         rorl    $2,%ebx
1359         addl    %esi,%ebp
1360         pxor    %xmm2,%xmm8
1361         addl    4(%rsp),%edx
1362         xorl    %ecx,%ebx
1363         movl    %ebp,%esi
1364         roll    $5,%ebp
1365         pxor    %xmm8,%xmm4
1366         andl    %ebx,%edi
1367         xorl    %ecx,%ebx
1368         movdqa  %xmm9,48(%rsp)
1369         xorl    %ecx,%edi
1370         addl    %ebp,%edx
1371         movdqa  %xmm4,%xmm10
1372         movdqa  %xmm4,%xmm8
1373         rorl    $7,%eax
1374         addl    %edi,%edx
1375         addl    8(%rsp),%ecx
1376         xorl    %ebx,%eax
1377         pslldq  $12,%xmm10
1378         paddd   %xmm4,%xmm4
1379         movl    %edx,%edi
1380         roll    $5,%edx
1381         andl    %eax,%esi
1382         xorl    %ebx,%eax
1383         psrld   $31,%xmm8
1384         xorl    %ebx,%esi
1385         addl    %edx,%ecx
1386         movdqa  %xmm10,%xmm9
1387         rorl    $7,%ebp
1388         addl    %esi,%ecx
1389         psrld   $30,%xmm10
1390         por     %xmm8,%xmm4
1391         addl    12(%rsp),%ebx
1392         xorl    %eax,%ebp
1393         movl    %ecx,%esi
1394         roll    $5,%ecx
1395         pslld   $2,%xmm9
1396         pxor    %xmm10,%xmm4
1397         andl    %ebp,%edi
1398         xorl    %eax,%ebp
1399         movdqa  0(%r11),%xmm10
1400         xorl    %eax,%edi
1401         addl    %ecx,%ebx
1402         pxor    %xmm9,%xmm4
1403         rorl    $7,%edx
1404         addl    %edi,%ebx
1405         movdqa  %xmm2,%xmm5
1406         addl    16(%rsp),%eax
1407         xorl    %ebp,%edx
1408         movdqa  %xmm4,%xmm9
1409 .byte   102,15,58,15,233,8
1410         movl    %ebx,%edi
1411         roll    $5,%ebx
1412         paddd   %xmm4,%xmm10
1413         andl    %edx,%esi
1414         xorl    %ebp,%edx
1415         psrldq  $4,%xmm9
1416         xorl    %ebp,%esi
1417         addl    %ebx,%eax
1418         pxor    %xmm1,%xmm5
1419         rorl    $7,%ecx
1420         addl    %esi,%eax
1421         pxor    %xmm3,%xmm9
1422         addl    20(%rsp),%ebp
1423         xorl    %edx,%ecx
1424         movl    %eax,%esi
1425         roll    $5,%eax
1426         pxor    %xmm9,%xmm5
1427         andl    %ecx,%edi
1428         xorl    %edx,%ecx
1429         movdqa  %xmm10,0(%rsp)
1430         xorl    %edx,%edi
1431         addl    %eax,%ebp
1432         movdqa  %xmm5,%xmm8
1433         movdqa  %xmm5,%xmm9
1434         rorl    $7,%ebx
1435         addl    %edi,%ebp
1436         addl    24(%rsp),%edx
1437         xorl    %ecx,%ebx
1438         pslldq  $12,%xmm8
1439         paddd   %xmm5,%xmm5
1440         movl    %ebp,%edi
1441         roll    $5,%ebp
1442         andl    %ebx,%esi
1443         xorl    %ecx,%ebx
1444         psrld   $31,%xmm9
1445         xorl    %ecx,%esi
1446         addl    %ebp,%edx
1447         movdqa  %xmm8,%xmm10
1448         rorl    $7,%eax
1449         addl    %esi,%edx
1450         psrld   $30,%xmm8
1451         por     %xmm9,%xmm5
1452         addl    28(%rsp),%ecx
1453         xorl    %ebx,%eax
1454         movl    %edx,%esi
1455         roll    $5,%edx
1456         pslld   $2,%xmm10
1457         pxor    %xmm8,%xmm5
1458         andl    %eax,%edi
1459         xorl    %ebx,%eax
1460         movdqa  16(%r11),%xmm8
1461         xorl    %ebx,%edi
1462         addl    %edx,%ecx
1463         pxor    %xmm10,%xmm5
1464         rorl    $7,%ebp
1465         addl    %edi,%ecx
1466         movdqa  %xmm3,%xmm6
1467         addl    32(%rsp),%ebx
1468         xorl    %eax,%ebp
1469         movdqa  %xmm5,%xmm10
1470 .byte   102,15,58,15,242,8
1471         movl    %ecx,%edi
1472         roll    $5,%ecx
1473         paddd   %xmm5,%xmm8
1474         andl    %ebp,%esi
1475         xorl    %eax,%ebp
1476         psrldq  $4,%xmm10
1477         xorl    %eax,%esi
1478         addl    %ecx,%ebx
1479         pxor    %xmm2,%xmm6
1480         rorl    $7,%edx
1481         addl    %esi,%ebx
1482         pxor    %xmm4,%xmm10
1483         addl    36(%rsp),%eax
1484         xorl    %ebp,%edx
1485         movl    %ebx,%esi
1486         roll    $5,%ebx
1487         pxor    %xmm10,%xmm6
1488         andl    %edx,%edi
1489         xorl    %ebp,%edx
1490         movdqa  %xmm8,16(%rsp)
1491         xorl    %ebp,%edi
1492         addl    %ebx,%eax
1493         movdqa  %xmm6,%xmm9
1494         movdqa  %xmm6,%xmm10
1495         rorl    $7,%ecx
1496         addl    %edi,%eax
1497         addl    40(%rsp),%ebp
1498         xorl    %edx,%ecx
1499         pslldq  $12,%xmm9
1500         paddd   %xmm6,%xmm6
1501         movl    %eax,%edi
1502         roll    $5,%eax
1503         andl    %ecx,%esi
1504         xorl    %edx,%ecx
1505         psrld   $31,%xmm10
1506         xorl    %edx,%esi
1507         addl    %eax,%ebp
1508         movdqa  %xmm9,%xmm8
1509         rorl    $7,%ebx
1510         addl    %esi,%ebp
1511         psrld   $30,%xmm9
1512         por     %xmm10,%xmm6
1513         addl    44(%rsp),%edx
1514         xorl    %ecx,%ebx
1515         movl    %ebp,%esi
1516         roll    $5,%ebp
1517         pslld   $2,%xmm8
1518         pxor    %xmm9,%xmm6
1519         andl    %ebx,%edi
1520         xorl    %ecx,%ebx
1521         movdqa  16(%r11),%xmm9
1522         xorl    %ecx,%edi
1523         addl    %ebp,%edx
1524         pxor    %xmm8,%xmm6
1525         rorl    $7,%eax
1526         addl    %edi,%edx
1527         movdqa  %xmm4,%xmm7
1528         addl    48(%rsp),%ecx
1529         xorl    %ebx,%eax
1530         movdqa  %xmm6,%xmm8
1531 .byte   102,15,58,15,251,8
1532         movl    %edx,%edi
1533         roll    $5,%edx
1534         paddd   %xmm6,%xmm9
1535         andl    %eax,%esi
1536         xorl    %ebx,%eax
1537         psrldq  $4,%xmm8
1538         xorl    %ebx,%esi
1539         addl    %edx,%ecx
1540         pxor    %xmm3,%xmm7
1541         rorl    $7,%ebp
1542         addl    %esi,%ecx
1543         pxor    %xmm5,%xmm8
1544         addl    52(%rsp),%ebx
1545         xorl    %eax,%ebp
1546         movl    %ecx,%esi
1547         roll    $5,%ecx
1548         pxor    %xmm8,%xmm7
1549         andl    %ebp,%edi
1550         xorl    %eax,%ebp
1551         movdqa  %xmm9,32(%rsp)
1552         xorl    %eax,%edi
1553         addl    %ecx,%ebx
1554         movdqa  %xmm7,%xmm10
1555         movdqa  %xmm7,%xmm8
1556         rorl    $7,%edx
1557         addl    %edi,%ebx
1558         addl    56(%rsp),%eax
1559         xorl    %ebp,%edx
1560         pslldq  $12,%xmm10
1561         paddd   %xmm7,%xmm7
1562         movl    %ebx,%edi
1563         roll    $5,%ebx
1564         andl    %edx,%esi
1565         xorl    %ebp,%edx
1566         psrld   $31,%xmm8
1567         xorl    %ebp,%esi
1568         addl    %ebx,%eax
1569         movdqa  %xmm10,%xmm9
1570         rorl    $7,%ecx
1571         addl    %esi,%eax
1572         psrld   $30,%xmm10
1573         por     %xmm8,%xmm7
1574         addl    60(%rsp),%ebp
1575         xorl    %edx,%ecx
1576         movl    %eax,%esi
1577         roll    $5,%eax
1578         pslld   $2,%xmm9
1579         pxor    %xmm10,%xmm7
1580         andl    %ecx,%edi
1581         xorl    %edx,%ecx
1582         movdqa  16(%r11),%xmm10
1583         xorl    %edx,%edi
1584         addl    %eax,%ebp
1585         pxor    %xmm9,%xmm7
1586         rorl    $7,%ebx
1587         addl    %edi,%ebp
1588         movdqa  %xmm7,%xmm9
1589         addl    0(%rsp),%edx
1590         pxor    %xmm4,%xmm0
1591 .byte   102,68,15,58,15,206,8
1592         xorl    %ecx,%ebx
1593         movl    %ebp,%edi
1594         roll    $5,%ebp
1595         pxor    %xmm1,%xmm0
1596         andl    %ebx,%esi
1597         xorl    %ecx,%ebx
1598         movdqa  %xmm10,%xmm8
1599         paddd   %xmm7,%xmm10
1600         xorl    %ecx,%esi
1601         addl    %ebp,%edx
1602         pxor    %xmm9,%xmm0
1603         rorl    $7,%eax
1604         addl    %esi,%edx
1605         addl    4(%rsp),%ecx
1606         xorl    %ebx,%eax
1607         movdqa  %xmm0,%xmm9
1608         movdqa  %xmm10,48(%rsp)
1609         movl    %edx,%esi
1610         roll    $5,%edx
1611         andl    %eax,%edi
1612         xorl    %ebx,%eax
1613         pslld   $2,%xmm0
1614         xorl    %ebx,%edi
1615         addl    %edx,%ecx
1616         psrld   $30,%xmm9
1617         rorl    $7,%ebp
1618         addl    %edi,%ecx
1619         addl    8(%rsp),%ebx
1620         xorl    %eax,%ebp
1621         movl    %ecx,%edi
1622         roll    $5,%ecx
1623         por     %xmm9,%xmm0
1624         andl    %ebp,%esi
1625         xorl    %eax,%ebp
1626         movdqa  %xmm0,%xmm10
1627         xorl    %eax,%esi
1628         addl    %ecx,%ebx
1629         rorl    $7,%edx
1630         addl    %esi,%ebx
1631         addl    12(%rsp),%eax
1632         xorl    %ebp,%edx
1633         movl    %ebx,%esi
1634         roll    $5,%ebx
1635         andl    %edx,%edi
1636         xorl    %ebp,%edx
1637         xorl    %ebp,%edi
1638         addl    %ebx,%eax
1639         rorl    $7,%ecx
1640         addl    %edi,%eax
1641         addl    16(%rsp),%ebp
1642         pxor    %xmm5,%xmm1
1643 .byte   102,68,15,58,15,215,8
1644         xorl    %edx,%esi
1645         movl    %eax,%edi
1646         roll    $5,%eax
1647         pxor    %xmm2,%xmm1
1648         xorl    %ecx,%esi
1649         addl    %eax,%ebp
1650         movdqa  %xmm8,%xmm9
1651         paddd   %xmm0,%xmm8
1652         rorl    $7,%ebx
1653         addl    %esi,%ebp
1654         pxor    %xmm10,%xmm1
1655         addl    20(%rsp),%edx
1656         xorl    %ecx,%edi
1657         movl    %ebp,%esi
1658         roll    $5,%ebp
1659         movdqa  %xmm1,%xmm10
1660         movdqa  %xmm8,0(%rsp)
1661         xorl    %ebx,%edi
1662         addl    %ebp,%edx
1663         rorl    $7,%eax
1664         addl    %edi,%edx
1665         pslld   $2,%xmm1
1666         addl    24(%rsp),%ecx
1667         xorl    %ebx,%esi
1668         psrld   $30,%xmm10
1669         movl    %edx,%edi
1670         roll    $5,%edx
1671         xorl    %eax,%esi
1672         addl    %edx,%ecx
1673         rorl    $7,%ebp
1674         addl    %esi,%ecx
1675         por     %xmm10,%xmm1
1676         addl    28(%rsp),%ebx
1677         xorl    %eax,%edi
1678         movdqa  %xmm1,%xmm8
1679         movl    %ecx,%esi
1680         roll    $5,%ecx
1681         xorl    %ebp,%edi
1682         addl    %ecx,%ebx
1683         rorl    $7,%edx
1684         addl    %edi,%ebx
1685         addl    32(%rsp),%eax
1686         pxor    %xmm6,%xmm2
1687 .byte   102,68,15,58,15,192,8
1688         xorl    %ebp,%esi
1689         movl    %ebx,%edi
1690         roll    $5,%ebx
1691         pxor    %xmm3,%xmm2
1692         xorl    %edx,%esi
1693         addl    %ebx,%eax
1694         movdqa  32(%r11),%xmm10
1695         paddd   %xmm1,%xmm9
1696         rorl    $7,%ecx
1697         addl    %esi,%eax
1698         pxor    %xmm8,%xmm2
1699         addl    36(%rsp),%ebp
1700         xorl    %edx,%edi
1701         movl    %eax,%esi
1702         roll    $5,%eax
1703         movdqa  %xmm2,%xmm8
1704         movdqa  %xmm9,16(%rsp)
1705         xorl    %ecx,%edi
1706         addl    %eax,%ebp
1707         rorl    $7,%ebx
1708         addl    %edi,%ebp
1709         pslld   $2,%xmm2
1710         addl    40(%rsp),%edx
1711         xorl    %ecx,%esi
1712         psrld   $30,%xmm8
1713         movl    %ebp,%edi
1714         roll    $5,%ebp
1715         xorl    %ebx,%esi
1716         addl    %ebp,%edx
1717         rorl    $7,%eax
1718         addl    %esi,%edx
1719         por     %xmm8,%xmm2
1720         addl    44(%rsp),%ecx
1721         xorl    %ebx,%edi
1722         movdqa  %xmm2,%xmm9
1723         movl    %edx,%esi
1724         roll    $5,%edx
1725         xorl    %eax,%edi
1726         addl    %edx,%ecx
1727         rorl    $7,%ebp
1728         addl    %edi,%ecx
1729         addl    48(%rsp),%ebx
1730         pxor    %xmm7,%xmm3
1731 .byte   102,68,15,58,15,201,8
1732         xorl    %eax,%esi
1733         movl    %ecx,%edi
1734         roll    $5,%ecx
1735         pxor    %xmm4,%xmm3
1736         xorl    %ebp,%esi
1737         addl    %ecx,%ebx
1738         movdqa  %xmm10,%xmm8
1739         paddd   %xmm2,%xmm10
1740         rorl    $7,%edx
1741         addl    %esi,%ebx
1742         pxor    %xmm9,%xmm3
1743         addl    52(%rsp),%eax
1744         xorl    %ebp,%edi
1745         movl    %ebx,%esi
1746         roll    $5,%ebx
1747         movdqa  %xmm3,%xmm9
1748         movdqa  %xmm10,32(%rsp)
1749         xorl    %edx,%edi
1750         addl    %ebx,%eax
1751         rorl    $7,%ecx
1752         addl    %edi,%eax
1753         pslld   $2,%xmm3
1754         addl    56(%rsp),%ebp
1755         xorl    %edx,%esi
1756         psrld   $30,%xmm9
1757         movl    %eax,%edi
1758         roll    $5,%eax
1759         xorl    %ecx,%esi
1760         addl    %eax,%ebp
1761         rorl    $7,%ebx
1762         addl    %esi,%ebp
1763         por     %xmm9,%xmm3
1764         addl    60(%rsp),%edx
1765         xorl    %ecx,%edi
1766         movdqa  %xmm3,%xmm10
1767         movl    %ebp,%esi
1768         roll    $5,%ebp
1769         xorl    %ebx,%edi
1770         addl    %ebp,%edx
1771         rorl    $7,%eax
1772         addl    %edi,%edx
1773         addl    0(%rsp),%ecx
1774         pxor    %xmm0,%xmm4
1775 .byte   102,68,15,58,15,210,8
1776         xorl    %ebx,%esi
1777         movl    %edx,%edi
1778         roll    $5,%edx
1779         pxor    %xmm5,%xmm4
1780         xorl    %eax,%esi
1781         addl    %edx,%ecx
1782         movdqa  %xmm8,%xmm9
1783         paddd   %xmm3,%xmm8
1784         rorl    $7,%ebp
1785         addl    %esi,%ecx
1786         pxor    %xmm10,%xmm4
1787         addl    4(%rsp),%ebx
1788         xorl    %eax,%edi
1789         movl    %ecx,%esi
1790         roll    $5,%ecx
1791         movdqa  %xmm4,%xmm10
1792         movdqa  %xmm8,48(%rsp)
1793         xorl    %ebp,%edi
1794         addl    %ecx,%ebx
1795         rorl    $7,%edx
1796         addl    %edi,%ebx
1797         pslld   $2,%xmm4
1798         addl    8(%rsp),%eax
1799         xorl    %ebp,%esi
1800         psrld   $30,%xmm10
1801         movl    %ebx,%edi
1802         roll    $5,%ebx
1803         xorl    %edx,%esi
1804         addl    %ebx,%eax
1805         rorl    $7,%ecx
1806         addl    %esi,%eax
1807         por     %xmm10,%xmm4
1808         addl    12(%rsp),%ebp
1809         xorl    %edx,%edi
1810         movdqa  %xmm4,%xmm8
1811         movl    %eax,%esi
1812         roll    $5,%eax
1813         xorl    %ecx,%edi
1814         addl    %eax,%ebp
1815         rorl    $7,%ebx
1816         addl    %edi,%ebp
1817         addl    16(%rsp),%edx
1818         pxor    %xmm1,%xmm5
1819 .byte   102,68,15,58,15,195,8
1820         xorl    %ecx,%esi
1821         movl    %ebp,%edi
1822         roll    $5,%ebp
1823         pxor    %xmm6,%xmm5
1824         xorl    %ebx,%esi
1825         addl    %ebp,%edx
1826         movdqa  %xmm9,%xmm10
1827         paddd   %xmm4,%xmm9
1828         rorl    $7,%eax
1829         addl    %esi,%edx
1830         pxor    %xmm8,%xmm5
1831         addl    20(%rsp),%ecx
1832         xorl    %ebx,%edi
1833         movl    %edx,%esi
1834         roll    $5,%edx
1835         movdqa  %xmm5,%xmm8
1836         movdqa  %xmm9,0(%rsp)
1837         xorl    %eax,%edi
1838         addl    %edx,%ecx
1839         rorl    $7,%ebp
1840         addl    %edi,%ecx
1841         pslld   $2,%xmm5
1842         addl    24(%rsp),%ebx
1843         xorl    %eax,%esi
1844         psrld   $30,%xmm8
1845         movl    %ecx,%edi
1846         roll    $5,%ecx
1847         xorl    %ebp,%esi
1848         addl    %ecx,%ebx
1849         rorl    $7,%edx
1850         addl    %esi,%ebx
1851         por     %xmm8,%xmm5
1852         addl    28(%rsp),%eax
1853         xorl    %ebp,%edi
1854         movdqa  %xmm5,%xmm9
1855         movl    %ebx,%esi
1856         roll    $5,%ebx
1857         xorl    %edx,%edi
1858         addl    %ebx,%eax
1859         rorl    $7,%ecx
1860         addl    %edi,%eax
1861         movl    %ecx,%edi
1862         pxor    %xmm2,%xmm6
1863 .byte   102,68,15,58,15,204,8
1864         xorl    %edx,%ecx
1865         addl    32(%rsp),%ebp
1866         andl    %edx,%edi
1867         pxor    %xmm7,%xmm6
1868         andl    %ecx,%esi
1869         rorl    $7,%ebx
1870         movdqa  %xmm10,%xmm8
1871         paddd   %xmm5,%xmm10
1872         addl    %edi,%ebp
1873         movl    %eax,%edi
1874         pxor    %xmm9,%xmm6
1875         roll    $5,%eax
1876         addl    %esi,%ebp
1877         xorl    %edx,%ecx
1878         addl    %eax,%ebp
1879         movdqa  %xmm6,%xmm9
1880         movdqa  %xmm10,16(%rsp)
1881         movl    %ebx,%esi
1882         xorl    %ecx,%ebx
1883         addl    36(%rsp),%edx
1884         andl    %ecx,%esi
1885         pslld   $2,%xmm6
1886         andl    %ebx,%edi
1887         rorl    $7,%eax
1888         psrld   $30,%xmm9
1889         addl    %esi,%edx
1890         movl    %ebp,%esi
1891         roll    $5,%ebp
1892         addl    %edi,%edx
1893         xorl    %ecx,%ebx
1894         addl    %ebp,%edx
1895         por     %xmm9,%xmm6
1896         movl    %eax,%edi
1897         xorl    %ebx,%eax
1898         movdqa  %xmm6,%xmm10
1899         addl    40(%rsp),%ecx
1900         andl    %ebx,%edi
1901         andl    %eax,%esi
1902         rorl    $7,%ebp
1903         addl    %edi,%ecx
1904         movl    %edx,%edi
1905         roll    $5,%edx
1906         addl    %esi,%ecx
1907         xorl    %ebx,%eax
1908         addl    %edx,%ecx
1909         movl    %ebp,%esi
1910         xorl    %eax,%ebp
1911         addl    44(%rsp),%ebx
1912         andl    %eax,%esi
1913         andl    %ebp,%edi
1914         rorl    $7,%edx
1915         addl    %esi,%ebx
1916         movl    %ecx,%esi
1917         roll    $5,%ecx
1918         addl    %edi,%ebx
1919         xorl    %eax,%ebp
1920         addl    %ecx,%ebx
1921         movl    %edx,%edi
1922         pxor    %xmm3,%xmm7
1923 .byte   102,68,15,58,15,213,8
1924         xorl    %ebp,%edx
1925         addl    48(%rsp),%eax
1926         andl    %ebp,%edi
1927         pxor    %xmm0,%xmm7
1928         andl    %edx,%esi
1929         rorl    $7,%ecx
1930         movdqa  48(%r11),%xmm9
1931         paddd   %xmm6,%xmm8
1932         addl    %edi,%eax
1933         movl    %ebx,%edi
1934         pxor    %xmm10,%xmm7
1935         roll    $5,%ebx
1936         addl    %esi,%eax
1937         xorl    %ebp,%edx
1938         addl    %ebx,%eax
1939         movdqa  %xmm7,%xmm10
1940         movdqa  %xmm8,32(%rsp)
1941         movl    %ecx,%esi
1942         xorl    %edx,%ecx
1943         addl    52(%rsp),%ebp
1944         andl    %edx,%esi
1945         pslld   $2,%xmm7
1946         andl    %ecx,%edi
1947         rorl    $7,%ebx
1948         psrld   $30,%xmm10
1949         addl    %esi,%ebp
1950         movl    %eax,%esi
1951         roll    $5,%eax
1952         addl    %edi,%ebp
1953         xorl    %edx,%ecx
1954         addl    %eax,%ebp
1955         por     %xmm10,%xmm7
1956         movl    %ebx,%edi
1957         xorl    %ecx,%ebx
1958         movdqa  %xmm7,%xmm8
1959         addl    56(%rsp),%edx
1960         andl    %ecx,%edi
1961         andl    %ebx,%esi
1962         rorl    $7,%eax
1963         addl    %edi,%edx
1964         movl    %ebp,%edi
1965         roll    $5,%ebp
1966         addl    %esi,%edx
1967         xorl    %ecx,%ebx
1968         addl    %ebp,%edx
1969         movl    %eax,%esi
1970         xorl    %ebx,%eax
1971         addl    60(%rsp),%ecx
1972         andl    %ebx,%esi
1973         andl    %eax,%edi
1974         rorl    $7,%ebp
1975         addl    %esi,%ecx
1976         movl    %edx,%esi
1977         roll    $5,%edx
1978         addl    %edi,%ecx
1979         xorl    %ebx,%eax
1980         addl    %edx,%ecx
1981         movl    %ebp,%edi
1982         pxor    %xmm4,%xmm0
1983 .byte   102,68,15,58,15,198,8
1984         xorl    %eax,%ebp
1985         addl    0(%rsp),%ebx
1986         andl    %eax,%edi
1987         pxor    %xmm1,%xmm0
1988         andl    %ebp,%esi
1989         rorl    $7,%edx
1990         movdqa  %xmm9,%xmm10
1991         paddd   %xmm7,%xmm9
1992         addl    %edi,%ebx
1993         movl    %ecx,%edi
1994         pxor    %xmm8,%xmm0
1995         roll    $5,%ecx
1996         addl    %esi,%ebx
1997         xorl    %eax,%ebp
1998         addl    %ecx,%ebx
1999         movdqa  %xmm0,%xmm8
2000         movdqa  %xmm9,48(%rsp)
2001         movl    %edx,%esi
2002         xorl    %ebp,%edx
2003         addl    4(%rsp),%eax
2004         andl    %ebp,%esi
2005         pslld   $2,%xmm0
2006         andl    %edx,%edi
2007         rorl    $7,%ecx
2008         psrld   $30,%xmm8
2009         addl    %esi,%eax
2010         movl    %ebx,%esi
2011         roll    $5,%ebx
2012         addl    %edi,%eax
2013         xorl    %ebp,%edx
2014         addl    %ebx,%eax
2015         por     %xmm8,%xmm0
2016         movl    %ecx,%edi
2017         xorl    %edx,%ecx
2018         movdqa  %xmm0,%xmm9
2019         addl    8(%rsp),%ebp
2020         andl    %edx,%edi
2021         andl    %ecx,%esi
2022         rorl    $7,%ebx
2023         addl    %edi,%ebp
2024         movl    %eax,%edi
2025         roll    $5,%eax
2026         addl    %esi,%ebp
2027         xorl    %edx,%ecx
2028         addl    %eax,%ebp
2029         movl    %ebx,%esi
2030         xorl    %ecx,%ebx
2031         addl    12(%rsp),%edx
2032         andl    %ecx,%esi
2033         andl    %ebx,%edi
2034         rorl    $7,%eax
2035         addl    %esi,%edx
2036         movl    %ebp,%esi
2037         roll    $5,%ebp
2038         addl    %edi,%edx
2039         xorl    %ecx,%ebx
2040         addl    %ebp,%edx
2041         movl    %eax,%edi
2042         pxor    %xmm5,%xmm1
2043 .byte   102,68,15,58,15,207,8
2044         xorl    %ebx,%eax
2045         addl    16(%rsp),%ecx
2046         andl    %ebx,%edi
2047         pxor    %xmm2,%xmm1
2048         andl    %eax,%esi
2049         rorl    $7,%ebp
2050         movdqa  %xmm10,%xmm8
2051         paddd   %xmm0,%xmm10
2052         addl    %edi,%ecx
2053         movl    %edx,%edi
2054         pxor    %xmm9,%xmm1
2055         roll    $5,%edx
2056         addl    %esi,%ecx
2057         xorl    %ebx,%eax
2058         addl    %edx,%ecx
2059         movdqa  %xmm1,%xmm9
2060         movdqa  %xmm10,0(%rsp)
2061         movl    %ebp,%esi
2062         xorl    %eax,%ebp
2063         addl    20(%rsp),%ebx
2064         andl    %eax,%esi
2065         pslld   $2,%xmm1
2066         andl    %ebp,%edi
2067         rorl    $7,%edx
2068         psrld   $30,%xmm9
2069         addl    %esi,%ebx
2070         movl    %ecx,%esi
2071         roll    $5,%ecx
2072         addl    %edi,%ebx
2073         xorl    %eax,%ebp
2074         addl    %ecx,%ebx
2075         por     %xmm9,%xmm1
2076         movl    %edx,%edi
2077         xorl    %ebp,%edx
2078         movdqa  %xmm1,%xmm10
2079         addl    24(%rsp),%eax
2080         andl    %ebp,%edi
2081         andl    %edx,%esi
2082         rorl    $7,%ecx
2083         addl    %edi,%eax
2084         movl    %ebx,%edi
2085         roll    $5,%ebx
2086         addl    %esi,%eax
2087         xorl    %ebp,%edx
2088         addl    %ebx,%eax
2089         movl    %ecx,%esi
2090         xorl    %edx,%ecx
2091         addl    28(%rsp),%ebp
2092         andl    %edx,%esi
2093         andl    %ecx,%edi
2094         rorl    $7,%ebx
2095         addl    %esi,%ebp
2096         movl    %eax,%esi
2097         roll    $5,%eax
2098         addl    %edi,%ebp
2099         xorl    %edx,%ecx
2100         addl    %eax,%ebp
2101         movl    %ebx,%edi
2102         pxor    %xmm6,%xmm2
2103 .byte   102,68,15,58,15,208,8
2104         xorl    %ecx,%ebx
2105         addl    32(%rsp),%edx
2106         andl    %ecx,%edi
2107         pxor    %xmm3,%xmm2
2108         andl    %ebx,%esi
2109         rorl    $7,%eax
2110         movdqa  %xmm8,%xmm9
2111         paddd   %xmm1,%xmm8
2112         addl    %edi,%edx
2113         movl    %ebp,%edi
2114         pxor    %xmm10,%xmm2
2115         roll    $5,%ebp
2116         addl    %esi,%edx
2117         xorl    %ecx,%ebx
2118         addl    %ebp,%edx
2119         movdqa  %xmm2,%xmm10
2120         movdqa  %xmm8,16(%rsp)
2121         movl    %eax,%esi
2122         xorl    %ebx,%eax
2123         addl    36(%rsp),%ecx
2124         andl    %ebx,%esi
2125         pslld   $2,%xmm2
2126         andl    %eax,%edi
2127         rorl    $7,%ebp
2128         psrld   $30,%xmm10
2129         addl    %esi,%ecx
2130         movl    %edx,%esi
2131         roll    $5,%edx
2132         addl    %edi,%ecx
2133         xorl    %ebx,%eax
2134         addl    %edx,%ecx
2135         por     %xmm10,%xmm2
2136         movl    %ebp,%edi
2137         xorl    %eax,%ebp
2138         movdqa  %xmm2,%xmm8
2139         addl    40(%rsp),%ebx
2140         andl    %eax,%edi
2141         andl    %ebp,%esi
2142         rorl    $7,%edx
2143         addl    %edi,%ebx
2144         movl    %ecx,%edi
2145         roll    $5,%ecx
2146         addl    %esi,%ebx
2147         xorl    %eax,%ebp
2148         addl    %ecx,%ebx
2149         movl    %edx,%esi
2150         xorl    %ebp,%edx
2151         addl    44(%rsp),%eax
2152         andl    %ebp,%esi
2153         andl    %edx,%edi
2154         rorl    $7,%ecx
2155         addl    %esi,%eax
2156         movl    %ebx,%esi
2157         roll    $5,%ebx
2158         addl    %edi,%eax
2159         xorl    %ebp,%edx
2160         addl    %ebx,%eax
2161         addl    48(%rsp),%ebp
2162         pxor    %xmm7,%xmm3
2163 .byte   102,68,15,58,15,193,8
2164         xorl    %edx,%esi
2165         movl    %eax,%edi
2166         roll    $5,%eax
2167         pxor    %xmm4,%xmm3
2168         xorl    %ecx,%esi
2169         addl    %eax,%ebp
2170         movdqa  %xmm9,%xmm10
2171         paddd   %xmm2,%xmm9
2172         rorl    $7,%ebx
2173         addl    %esi,%ebp
2174         pxor    %xmm8,%xmm3
2175         addl    52(%rsp),%edx
2176         xorl    %ecx,%edi
2177         movl    %ebp,%esi
2178         roll    $5,%ebp
2179         movdqa  %xmm3,%xmm8
2180         movdqa  %xmm9,32(%rsp)
2181         xorl    %ebx,%edi
2182         addl    %ebp,%edx
2183         rorl    $7,%eax
2184         addl    %edi,%edx
2185         pslld   $2,%xmm3
2186         addl    56(%rsp),%ecx
2187         xorl    %ebx,%esi
2188         psrld   $30,%xmm8
2189         movl    %edx,%edi
2190         roll    $5,%edx
2191         xorl    %eax,%esi
2192         addl    %edx,%ecx
2193         rorl    $7,%ebp
2194         addl    %esi,%ecx
2195         por     %xmm8,%xmm3
2196         addl    60(%rsp),%ebx
2197         xorl    %eax,%edi
2198         movl    %ecx,%esi
2199         roll    $5,%ecx
2200         xorl    %ebp,%edi
2201         addl    %ecx,%ebx
2202         rorl    $7,%edx
2203         addl    %edi,%ebx
2204         addl    0(%rsp),%eax
2205         paddd   %xmm3,%xmm10
2206         xorl    %ebp,%esi
2207         movl    %ebx,%edi
2208         roll    $5,%ebx
2209         xorl    %edx,%esi
2210         movdqa  %xmm10,48(%rsp)
2211         addl    %ebx,%eax
2212         rorl    $7,%ecx
2213         addl    %esi,%eax
2214         addl    4(%rsp),%ebp
2215         xorl    %edx,%edi
2216         movl    %eax,%esi
2217         roll    $5,%eax
2218         xorl    %ecx,%edi
2219         addl    %eax,%ebp
2220         rorl    $7,%ebx
2221         addl    %edi,%ebp
2222         addl    8(%rsp),%edx
2223         xorl    %ecx,%esi
2224         movl    %ebp,%edi
2225         roll    $5,%ebp
2226         xorl    %ebx,%esi
2227         addl    %ebp,%edx
2228         rorl    $7,%eax
2229         addl    %esi,%edx
2230         addl    12(%rsp),%ecx
2231         xorl    %ebx,%edi
2232         movl    %edx,%esi
2233         roll    $5,%edx
2234         xorl    %eax,%edi
2235         addl    %edx,%ecx
2236         rorl    $7,%ebp
2237         addl    %edi,%ecx
2238         cmpq    %r10,%r9
2239         je      .Ldone_ssse3
2240         movdqa  64(%r11),%xmm6
2241         movdqa  0(%r11),%xmm9
2242         movdqu  0(%r9),%xmm0
2243         movdqu  16(%r9),%xmm1
2244         movdqu  32(%r9),%xmm2
2245         movdqu  48(%r9),%xmm3
2246 .byte   102,15,56,0,198
2247         addq    $64,%r9
2248         addl    16(%rsp),%ebx
2249         xorl    %eax,%esi
2250 .byte   102,15,56,0,206
2251         movl    %ecx,%edi
2252         roll    $5,%ecx
2253         paddd   %xmm9,%xmm0
2254         xorl    %ebp,%esi
2255         addl    %ecx,%ebx
2256         rorl    $7,%edx
2257         addl    %esi,%ebx
2258         movdqa  %xmm0,0(%rsp)
2259         addl    20(%rsp),%eax
2260         xorl    %ebp,%edi
2261         psubd   %xmm9,%xmm0
2262         movl    %ebx,%esi
2263         roll    $5,%ebx
2264         xorl    %edx,%edi
2265         addl    %ebx,%eax
2266         rorl    $7,%ecx
2267         addl    %edi,%eax
2268         addl    24(%rsp),%ebp
2269         xorl    %edx,%esi
2270         movl    %eax,%edi
2271         roll    $5,%eax
2272         xorl    %ecx,%esi
2273         addl    %eax,%ebp
2274         rorl    $7,%ebx
2275         addl    %esi,%ebp
2276         addl    28(%rsp),%edx
2277         xorl    %ecx,%edi
2278         movl    %ebp,%esi
2279         roll    $5,%ebp
2280         xorl    %ebx,%edi
2281         addl    %ebp,%edx
2282         rorl    $7,%eax
2283         addl    %edi,%edx
2284         addl    32(%rsp),%ecx
2285         xorl    %ebx,%esi
2286 .byte   102,15,56,0,214
2287         movl    %edx,%edi
2288         roll    $5,%edx
2289         paddd   %xmm9,%xmm1
2290         xorl    %eax,%esi
2291         addl    %edx,%ecx
2292         rorl    $7,%ebp
2293         addl    %esi,%ecx
2294         movdqa  %xmm1,16(%rsp)
2295         addl    36(%rsp),%ebx
2296         xorl    %eax,%edi
2297         psubd   %xmm9,%xmm1
2298         movl    %ecx,%esi
2299         roll    $5,%ecx
2300         xorl    %ebp,%edi
2301         addl    %ecx,%ebx
2302         rorl    $7,%edx
2303         addl    %edi,%ebx
2304         addl    40(%rsp),%eax
2305         xorl    %ebp,%esi
2306         movl    %ebx,%edi
2307         roll    $5,%ebx
2308         xorl    %edx,%esi
2309         addl    %ebx,%eax
2310         rorl    $7,%ecx
2311         addl    %esi,%eax
2312         addl    44(%rsp),%ebp
2313         xorl    %edx,%edi
2314         movl    %eax,%esi
2315         roll    $5,%eax
2316         xorl    %ecx,%edi
2317         addl    %eax,%ebp
2318         rorl    $7,%ebx
2319         addl    %edi,%ebp
2320         addl    48(%rsp),%edx
2321         xorl    %ecx,%esi
2322 .byte   102,15,56,0,222
2323         movl    %ebp,%edi
2324         roll    $5,%ebp
2325         paddd   %xmm9,%xmm2
2326         xorl    %ebx,%esi
2327         addl    %ebp,%edx
2328         rorl    $7,%eax
2329         addl    %esi,%edx
2330         movdqa  %xmm2,32(%rsp)
2331         addl    52(%rsp),%ecx
2332         xorl    %ebx,%edi
2333         psubd   %xmm9,%xmm2
2334         movl    %edx,%esi
2335         roll    $5,%edx
2336         xorl    %eax,%edi
2337         addl    %edx,%ecx
2338         rorl    $7,%ebp
2339         addl    %edi,%ecx
2340         addl    56(%rsp),%ebx
2341         xorl    %eax,%esi
2342         movl    %ecx,%edi
2343         roll    $5,%ecx
2344         xorl    %ebp,%esi
2345         addl    %ecx,%ebx
2346         rorl    $7,%edx
2347         addl    %esi,%ebx
2348         addl    60(%rsp),%eax
2349         xorl    %ebp,%edi
2350         movl    %ebx,%esi
2351         roll    $5,%ebx
2352         xorl    %edx,%edi
2353         addl    %ebx,%eax
2354         rorl    $7,%ecx
2355         addl    %edi,%eax
2356         addl    0(%r8),%eax
2357         addl    4(%r8),%esi
2358         addl    8(%r8),%ecx
2359         addl    12(%r8),%edx
2360         movl    %eax,0(%r8)
2361         addl    16(%r8),%ebp
2362         movl    %esi,4(%r8)
2363         movl    %esi,%ebx
2364         movl    %ecx,8(%r8)
2365         movl    %edx,12(%r8)
2366         movl    %ebp,16(%r8)
2367         jmp     .Loop_ssse3
2368
2369 .align  16
2370 .Ldone_ssse3:
2371         addl    16(%rsp),%ebx
2372         xorl    %eax,%esi
2373         movl    %ecx,%edi
2374         roll    $5,%ecx
2375         xorl    %ebp,%esi
2376         addl    %ecx,%ebx
2377         rorl    $7,%edx
2378         addl    %esi,%ebx
2379         addl    20(%rsp),%eax
2380         xorl    %ebp,%edi
2381         movl    %ebx,%esi
2382         roll    $5,%ebx
2383         xorl    %edx,%edi
2384         addl    %ebx,%eax
2385         rorl    $7,%ecx
2386         addl    %edi,%eax
2387         addl    24(%rsp),%ebp
2388         xorl    %edx,%esi
2389         movl    %eax,%edi
2390         roll    $5,%eax
2391         xorl    %ecx,%esi
2392         addl    %eax,%ebp
2393         rorl    $7,%ebx
2394         addl    %esi,%ebp
2395         addl    28(%rsp),%edx
2396         xorl    %ecx,%edi
2397         movl    %ebp,%esi
2398         roll    $5,%ebp
2399         xorl    %ebx,%edi
2400         addl    %ebp,%edx
2401         rorl    $7,%eax
2402         addl    %edi,%edx
2403         addl    32(%rsp),%ecx
2404         xorl    %ebx,%esi
2405         movl    %edx,%edi
2406         roll    $5,%edx
2407         xorl    %eax,%esi
2408         addl    %edx,%ecx
2409         rorl    $7,%ebp
2410         addl    %esi,%ecx
2411         addl    36(%rsp),%ebx
2412         xorl    %eax,%edi
2413         movl    %ecx,%esi
2414         roll    $5,%ecx
2415         xorl    %ebp,%edi
2416         addl    %ecx,%ebx
2417         rorl    $7,%edx
2418         addl    %edi,%ebx
2419         addl    40(%rsp),%eax
2420         xorl    %ebp,%esi
2421         movl    %ebx,%edi
2422         roll    $5,%ebx
2423         xorl    %edx,%esi
2424         addl    %ebx,%eax
2425         rorl    $7,%ecx
2426         addl    %esi,%eax
2427         addl    44(%rsp),%ebp
2428         xorl    %edx,%edi
2429         movl    %eax,%esi
2430         roll    $5,%eax
2431         xorl    %ecx,%edi
2432         addl    %eax,%ebp
2433         rorl    $7,%ebx
2434         addl    %edi,%ebp
2435         addl    48(%rsp),%edx
2436         xorl    %ecx,%esi
2437         movl    %ebp,%edi
2438         roll    $5,%ebp
2439         xorl    %ebx,%esi
2440         addl    %ebp,%edx
2441         rorl    $7,%eax
2442         addl    %esi,%edx
2443         addl    52(%rsp),%ecx
2444         xorl    %ebx,%edi
2445         movl    %edx,%esi
2446         roll    $5,%edx
2447         xorl    %eax,%edi
2448         addl    %edx,%ecx
2449         rorl    $7,%ebp
2450         addl    %edi,%ecx
2451         addl    56(%rsp),%ebx
2452         xorl    %eax,%esi
2453         movl    %ecx,%edi
2454         roll    $5,%ecx
2455         xorl    %ebp,%esi
2456         addl    %ecx,%ebx
2457         rorl    $7,%edx
2458         addl    %esi,%ebx
2459         addl    60(%rsp),%eax
2460         xorl    %ebp,%edi
2461         movl    %ebx,%esi
2462         roll    $5,%ebx
2463         xorl    %edx,%edi
2464         addl    %ebx,%eax
2465         rorl    $7,%ecx
2466         addl    %edi,%eax
2467         addl    0(%r8),%eax
2468         addl    4(%r8),%esi
2469         addl    8(%r8),%ecx
2470         movl    %eax,0(%r8)
2471         addl    12(%r8),%edx
2472         movl    %esi,4(%r8)
2473         addl    16(%r8),%ebp
2474         movl    %ecx,8(%r8)
2475         movl    %edx,12(%r8)
2476         movl    %ebp,16(%r8)
2477         leaq    64(%rsp),%rsi
2478         movq    0(%rsi),%r12
2479         movq    8(%rsi),%rbp
2480         movq    16(%rsi),%rbx
2481         leaq    24(%rsi),%rsp
2482 .Lepilogue_ssse3:
2483         .byte   0xf3,0xc3
2484 .size   sha1_block_data_order_ssse3,.-sha1_block_data_order_ssse3
2485 .type   sha1_block_data_order_avx,@function
2486 .align  16
2487 sha1_block_data_order_avx:
2488 _avx_shortcut:
2489         pushq   %rbx
2490         pushq   %rbp
2491         pushq   %r12
2492         leaq    -64(%rsp),%rsp
2493         movq    %rdi,%r8
2494         movq    %rsi,%r9
2495         movq    %rdx,%r10
2496         vzeroupper
2497
2498         shlq    $6,%r10
2499         addq    %r9,%r10
2500         leaq    K_XX_XX(%rip),%r11
2501
2502         movl    0(%r8),%eax
2503         movl    4(%r8),%ebx
2504         movl    8(%r8),%ecx
2505         movl    12(%r8),%edx
2506         movl    %ebx,%esi
2507         movl    16(%r8),%ebp
2508
2509         vmovdqa 64(%r11),%xmm6
2510         vmovdqa 0(%r11),%xmm9
2511         vmovdqu 0(%r9),%xmm0
2512         vmovdqu 16(%r9),%xmm1
2513         vmovdqu 32(%r9),%xmm2
2514         vmovdqu 48(%r9),%xmm3
2515         vpshufb %xmm6,%xmm0,%xmm0
2516         addq    $64,%r9
2517         vpshufb %xmm6,%xmm1,%xmm1
2518         vpshufb %xmm6,%xmm2,%xmm2
2519         vpshufb %xmm6,%xmm3,%xmm3
2520         vpaddd  %xmm9,%xmm0,%xmm4
2521         vpaddd  %xmm9,%xmm1,%xmm5
2522         vpaddd  %xmm9,%xmm2,%xmm6
2523         vmovdqa %xmm4,0(%rsp)
2524         vmovdqa %xmm5,16(%rsp)
2525         vmovdqa %xmm6,32(%rsp)
2526         jmp     .Loop_avx
2527 .align  16
2528 .Loop_avx:
2529         addl    0(%rsp),%ebp
2530         xorl    %edx,%ecx
2531         vpalignr        $8,%xmm0,%xmm1,%xmm4
2532         movl    %eax,%edi
2533         shldl   $5,%eax,%eax
2534         vpaddd  %xmm3,%xmm9,%xmm9
2535         andl    %ecx,%esi
2536         xorl    %edx,%ecx
2537         vpsrldq $4,%xmm3,%xmm8
2538         xorl    %edx,%esi
2539         addl    %eax,%ebp
2540         vpxor   %xmm0,%xmm4,%xmm4
2541         shrdl   $2,%ebx,%ebx
2542         addl    %esi,%ebp
2543         vpxor   %xmm2,%xmm8,%xmm8
2544         addl    4(%rsp),%edx
2545         xorl    %ecx,%ebx
2546         movl    %ebp,%esi
2547         shldl   $5,%ebp,%ebp
2548         vpxor   %xmm8,%xmm4,%xmm4
2549         andl    %ebx,%edi
2550         xorl    %ecx,%ebx
2551         vmovdqa %xmm9,48(%rsp)
2552         xorl    %ecx,%edi
2553         addl    %ebp,%edx
2554         vpsrld  $31,%xmm4,%xmm8
2555         shrdl   $7,%eax,%eax
2556         addl    %edi,%edx
2557         addl    8(%rsp),%ecx
2558         xorl    %ebx,%eax
2559         vpslldq $12,%xmm4,%xmm10
2560         vpaddd  %xmm4,%xmm4,%xmm4
2561         movl    %edx,%edi
2562         shldl   $5,%edx,%edx
2563         andl    %eax,%esi
2564         xorl    %ebx,%eax
2565         vpsrld  $30,%xmm10,%xmm9
2566         vpor    %xmm8,%xmm4,%xmm4
2567         xorl    %ebx,%esi
2568         addl    %edx,%ecx
2569         shrdl   $7,%ebp,%ebp
2570         addl    %esi,%ecx
2571         vpslld  $2,%xmm10,%xmm10
2572         vpxor   %xmm9,%xmm4,%xmm4
2573         addl    12(%rsp),%ebx
2574         xorl    %eax,%ebp
2575         movl    %ecx,%esi
2576         shldl   $5,%ecx,%ecx
2577         vpxor   %xmm10,%xmm4,%xmm4
2578         andl    %ebp,%edi
2579         xorl    %eax,%ebp
2580         vmovdqa 0(%r11),%xmm10
2581         xorl    %eax,%edi
2582         addl    %ecx,%ebx
2583         shrdl   $7,%edx,%edx
2584         addl    %edi,%ebx
2585         addl    16(%rsp),%eax
2586         xorl    %ebp,%edx
2587         vpalignr        $8,%xmm1,%xmm2,%xmm5
2588         movl    %ebx,%edi
2589         shldl   $5,%ebx,%ebx
2590         vpaddd  %xmm4,%xmm10,%xmm10
2591         andl    %edx,%esi
2592         xorl    %ebp,%edx
2593         vpsrldq $4,%xmm4,%xmm9
2594         xorl    %ebp,%esi
2595         addl    %ebx,%eax
2596         vpxor   %xmm1,%xmm5,%xmm5
2597         shrdl   $7,%ecx,%ecx
2598         addl    %esi,%eax
2599         vpxor   %xmm3,%xmm9,%xmm9
2600         addl    20(%rsp),%ebp
2601         xorl    %edx,%ecx
2602         movl    %eax,%esi
2603         shldl   $5,%eax,%eax
2604         vpxor   %xmm9,%xmm5,%xmm5
2605         andl    %ecx,%edi
2606         xorl    %edx,%ecx
2607         vmovdqa %xmm10,0(%rsp)
2608         xorl    %edx,%edi
2609         addl    %eax,%ebp
2610         vpsrld  $31,%xmm5,%xmm9
2611         shrdl   $7,%ebx,%ebx
2612         addl    %edi,%ebp
2613         addl    24(%rsp),%edx
2614         xorl    %ecx,%ebx
2615         vpslldq $12,%xmm5,%xmm8
2616         vpaddd  %xmm5,%xmm5,%xmm5
2617         movl    %ebp,%edi
2618         shldl   $5,%ebp,%ebp
2619         andl    %ebx,%esi
2620         xorl    %ecx,%ebx
2621         vpsrld  $30,%xmm8,%xmm10
2622         vpor    %xmm9,%xmm5,%xmm5
2623         xorl    %ecx,%esi
2624         addl    %ebp,%edx
2625         shrdl   $7,%eax,%eax
2626         addl    %esi,%edx
2627         vpslld  $2,%xmm8,%xmm8
2628         vpxor   %xmm10,%xmm5,%xmm5
2629         addl    28(%rsp),%ecx
2630         xorl    %ebx,%eax
2631         movl    %edx,%esi
2632         shldl   $5,%edx,%edx
2633         vpxor   %xmm8,%xmm5,%xmm5
2634         andl    %eax,%edi
2635         xorl    %ebx,%eax
2636         vmovdqa 16(%r11),%xmm8
2637         xorl    %ebx,%edi
2638         addl    %edx,%ecx
2639         shrdl   $7,%ebp,%ebp
2640         addl    %edi,%ecx
2641         addl    32(%rsp),%ebx
2642         xorl    %eax,%ebp
2643         vpalignr        $8,%xmm2,%xmm3,%xmm6
2644         movl    %ecx,%edi
2645         shldl   $5,%ecx,%ecx
2646         vpaddd  %xmm5,%xmm8,%xmm8
2647         andl    %ebp,%esi
2648         xorl    %eax,%ebp
2649         vpsrldq $4,%xmm5,%xmm10
2650         xorl    %eax,%esi
2651         addl    %ecx,%ebx
2652         vpxor   %xmm2,%xmm6,%xmm6
2653         shrdl   $7,%edx,%edx
2654         addl    %esi,%ebx
2655         vpxor   %xmm4,%xmm10,%xmm10
2656         addl    36(%rsp),%eax
2657         xorl    %ebp,%edx
2658         movl    %ebx,%esi
2659         shldl   $5,%ebx,%ebx
2660         vpxor   %xmm10,%xmm6,%xmm6
2661         andl    %edx,%edi
2662         xorl    %ebp,%edx
2663         vmovdqa %xmm8,16(%rsp)
2664         xorl    %ebp,%edi
2665         addl    %ebx,%eax
2666         vpsrld  $31,%xmm6,%xmm10
2667         shrdl   $7,%ecx,%ecx
2668         addl    %edi,%eax
2669         addl    40(%rsp),%ebp
2670         xorl    %edx,%ecx
2671         vpslldq $12,%xmm6,%xmm9
2672         vpaddd  %xmm6,%xmm6,%xmm6
2673         movl    %eax,%edi
2674         shldl   $5,%eax,%eax
2675         andl    %ecx,%esi
2676         xorl    %edx,%ecx
2677         vpsrld  $30,%xmm9,%xmm8
2678         vpor    %xmm10,%xmm6,%xmm6
2679         xorl    %edx,%esi
2680         addl    %eax,%ebp
2681         shrdl   $7,%ebx,%ebx
2682         addl    %esi,%ebp
2683         vpslld  $2,%xmm9,%xmm9
2684         vpxor   %xmm8,%xmm6,%xmm6
2685         addl    44(%rsp),%edx
2686         xorl    %ecx,%ebx
2687         movl    %ebp,%esi
2688         shldl   $5,%ebp,%ebp
2689         vpxor   %xmm9,%xmm6,%xmm6
2690         andl    %ebx,%edi
2691         xorl    %ecx,%ebx
2692         vmovdqa 16(%r11),%xmm9
2693         xorl    %ecx,%edi
2694         addl    %ebp,%edx
2695         shrdl   $7,%eax,%eax
2696         addl    %edi,%edx
2697         addl    48(%rsp),%ecx
2698         xorl    %ebx,%eax
2699         vpalignr        $8,%xmm3,%xmm4,%xmm7
2700         movl    %edx,%edi
2701         shldl   $5,%edx,%edx
2702         vpaddd  %xmm6,%xmm9,%xmm9
2703         andl    %eax,%esi
2704         xorl    %ebx,%eax
2705         vpsrldq $4,%xmm6,%xmm8
2706         xorl    %ebx,%esi
2707         addl    %edx,%ecx
2708         vpxor   %xmm3,%xmm7,%xmm7
2709         shrdl   $7,%ebp,%ebp
2710         addl    %esi,%ecx
2711         vpxor   %xmm5,%xmm8,%xmm8
2712         addl    52(%rsp),%ebx
2713         xorl    %eax,%ebp
2714         movl    %ecx,%esi
2715         shldl   $5,%ecx,%ecx
2716         vpxor   %xmm8,%xmm7,%xmm7
2717         andl    %ebp,%edi
2718         xorl    %eax,%ebp
2719         vmovdqa %xmm9,32(%rsp)
2720         xorl    %eax,%edi
2721         addl    %ecx,%ebx
2722         vpsrld  $31,%xmm7,%xmm8
2723         shrdl   $7,%edx,%edx
2724         addl    %edi,%ebx
2725         addl    56(%rsp),%eax
2726         xorl    %ebp,%edx
2727         vpslldq $12,%xmm7,%xmm10
2728         vpaddd  %xmm7,%xmm7,%xmm7
2729         movl    %ebx,%edi
2730         shldl   $5,%ebx,%ebx
2731         andl    %edx,%esi
2732         xorl    %ebp,%edx
2733         vpsrld  $30,%xmm10,%xmm9
2734         vpor    %xmm8,%xmm7,%xmm7
2735         xorl    %ebp,%esi
2736         addl    %ebx,%eax
2737         shrdl   $7,%ecx,%ecx
2738         addl    %esi,%eax
2739         vpslld  $2,%xmm10,%xmm10
2740         vpxor   %xmm9,%xmm7,%xmm7
2741         addl    60(%rsp),%ebp
2742         xorl    %edx,%ecx
2743         movl    %eax,%esi
2744         shldl   $5,%eax,%eax
2745         vpxor   %xmm10,%xmm7,%xmm7
2746         andl    %ecx,%edi
2747         xorl    %edx,%ecx
2748         vmovdqa 16(%r11),%xmm10
2749         xorl    %edx,%edi
2750         addl    %eax,%ebp
2751         shrdl   $7,%ebx,%ebx
2752         addl    %edi,%ebp
2753         vpalignr        $8,%xmm6,%xmm7,%xmm9
2754         vpxor   %xmm4,%xmm0,%xmm0
2755         addl    0(%rsp),%edx
2756         xorl    %ecx,%ebx
2757         movl    %ebp,%edi
2758         shldl   $5,%ebp,%ebp
2759         vpxor   %xmm1,%xmm0,%xmm0
2760         andl    %ebx,%esi
2761         xorl    %ecx,%ebx
2762         vmovdqa %xmm10,%xmm8
2763         vpaddd  %xmm7,%xmm10,%xmm10
2764         xorl    %ecx,%esi
2765         addl    %ebp,%edx
2766         vpxor   %xmm9,%xmm0,%xmm0
2767         shrdl   $7,%eax,%eax
2768         addl    %esi,%edx
2769         addl    4(%rsp),%ecx
2770         xorl    %ebx,%eax
2771         vpsrld  $30,%xmm0,%xmm9
2772         vmovdqa %xmm10,48(%rsp)
2773         movl    %edx,%esi
2774         shldl   $5,%edx,%edx
2775         andl    %eax,%edi
2776         xorl    %ebx,%eax
2777         vpslld  $2,%xmm0,%xmm0
2778         xorl    %ebx,%edi
2779         addl    %edx,%ecx
2780         shrdl   $7,%ebp,%ebp
2781         addl    %edi,%ecx
2782         addl    8(%rsp),%ebx
2783         xorl    %eax,%ebp
2784         movl    %ecx,%edi
2785         shldl   $5,%ecx,%ecx
2786         vpor    %xmm9,%xmm0,%xmm0
2787         andl    %ebp,%esi
2788         xorl    %eax,%ebp
2789         vmovdqa %xmm0,%xmm10
2790         xorl    %eax,%esi
2791         addl    %ecx,%ebx
2792         shrdl   $7,%edx,%edx
2793         addl    %esi,%ebx
2794         addl    12(%rsp),%eax
2795         xorl    %ebp,%edx
2796         movl    %ebx,%esi
2797         shldl   $5,%ebx,%ebx
2798         andl    %edx,%edi
2799         xorl    %ebp,%edx
2800         xorl    %ebp,%edi
2801         addl    %ebx,%eax
2802         shrdl   $7,%ecx,%ecx
2803         addl    %edi,%eax
2804         vpalignr        $8,%xmm7,%xmm0,%xmm10
2805         vpxor   %xmm5,%xmm1,%xmm1
2806         addl    16(%rsp),%ebp
2807         xorl    %edx,%esi
2808         movl    %eax,%edi
2809         shldl   $5,%eax,%eax
2810         vpxor   %xmm2,%xmm1,%xmm1
2811         xorl    %ecx,%esi
2812         addl    %eax,%ebp
2813         vmovdqa %xmm8,%xmm9
2814         vpaddd  %xmm0,%xmm8,%xmm8
2815         shrdl   $7,%ebx,%ebx
2816         addl    %esi,%ebp
2817         vpxor   %xmm10,%xmm1,%xmm1
2818         addl    20(%rsp),%edx
2819         xorl    %ecx,%edi
2820         movl    %ebp,%esi
2821         shldl   $5,%ebp,%ebp
2822         vpsrld  $30,%xmm1,%xmm10
2823         vmovdqa %xmm8,0(%rsp)
2824         xorl    %ebx,%edi
2825         addl    %ebp,%edx
2826         shrdl   $7,%eax,%eax
2827         addl    %edi,%edx
2828         vpslld  $2,%xmm1,%xmm1
2829         addl    24(%rsp),%ecx
2830         xorl    %ebx,%esi
2831         movl    %edx,%edi
2832         shldl   $5,%edx,%edx
2833         xorl    %eax,%esi
2834         addl    %edx,%ecx
2835         shrdl   $7,%ebp,%ebp
2836         addl    %esi,%ecx
2837         vpor    %xmm10,%xmm1,%xmm1
2838         addl    28(%rsp),%ebx
2839         xorl    %eax,%edi
2840         vmovdqa %xmm1,%xmm8
2841         movl    %ecx,%esi
2842         shldl   $5,%ecx,%ecx
2843         xorl    %ebp,%edi
2844         addl    %ecx,%ebx
2845         shrdl   $7,%edx,%edx
2846         addl    %edi,%ebx
2847         vpalignr        $8,%xmm0,%xmm1,%xmm8
2848         vpxor   %xmm6,%xmm2,%xmm2
2849         addl    32(%rsp),%eax
2850         xorl    %ebp,%esi
2851         movl    %ebx,%edi
2852         shldl   $5,%ebx,%ebx
2853         vpxor   %xmm3,%xmm2,%xmm2
2854         xorl    %edx,%esi
2855         addl    %ebx,%eax
2856         vmovdqa 32(%r11),%xmm10
2857         vpaddd  %xmm1,%xmm9,%xmm9
2858         shrdl   $7,%ecx,%ecx
2859         addl    %esi,%eax
2860         vpxor   %xmm8,%xmm2,%xmm2
2861         addl    36(%rsp),%ebp
2862         xorl    %edx,%edi
2863         movl    %eax,%esi
2864         shldl   $5,%eax,%eax
2865         vpsrld  $30,%xmm2,%xmm8
2866         vmovdqa %xmm9,16(%rsp)
2867         xorl    %ecx,%edi
2868         addl    %eax,%ebp
2869         shrdl   $7,%ebx,%ebx
2870         addl    %edi,%ebp
2871         vpslld  $2,%xmm2,%xmm2
2872         addl    40(%rsp),%edx
2873         xorl    %ecx,%esi
2874         movl    %ebp,%edi
2875         shldl   $5,%ebp,%ebp
2876         xorl    %ebx,%esi
2877         addl    %ebp,%edx
2878         shrdl   $7,%eax,%eax
2879         addl    %esi,%edx
2880         vpor    %xmm8,%xmm2,%xmm2
2881         addl    44(%rsp),%ecx
2882         xorl    %ebx,%edi
2883         vmovdqa %xmm2,%xmm9
2884         movl    %edx,%esi
2885         shldl   $5,%edx,%edx
2886         xorl    %eax,%edi
2887         addl    %edx,%ecx
2888         shrdl   $7,%ebp,%ebp
2889         addl    %edi,%ecx
2890         vpalignr        $8,%xmm1,%xmm2,%xmm9
2891         vpxor   %xmm7,%xmm3,%xmm3
2892         addl    48(%rsp),%ebx
2893         xorl    %eax,%esi
2894         movl    %ecx,%edi
2895         shldl   $5,%ecx,%ecx
2896         vpxor   %xmm4,%xmm3,%xmm3
2897         xorl    %ebp,%esi
2898         addl    %ecx,%ebx
2899         vmovdqa %xmm10,%xmm8
2900         vpaddd  %xmm2,%xmm10,%xmm10
2901         shrdl   $7,%edx,%edx
2902         addl    %esi,%ebx
2903         vpxor   %xmm9,%xmm3,%xmm3
2904         addl    52(%rsp),%eax
2905         xorl    %ebp,%edi
2906         movl    %ebx,%esi
2907         shldl   $5,%ebx,%ebx
2908         vpsrld  $30,%xmm3,%xmm9
2909         vmovdqa %xmm10,32(%rsp)
2910         xorl    %edx,%edi
2911         addl    %ebx,%eax
2912         shrdl   $7,%ecx,%ecx
2913         addl    %edi,%eax
2914         vpslld  $2,%xmm3,%xmm3
2915         addl    56(%rsp),%ebp
2916         xorl    %edx,%esi
2917         movl    %eax,%edi
2918         shldl   $5,%eax,%eax
2919         xorl    %ecx,%esi
2920         addl    %eax,%ebp
2921         shrdl   $7,%ebx,%ebx
2922         addl    %esi,%ebp
2923         vpor    %xmm9,%xmm3,%xmm3
2924         addl    60(%rsp),%edx
2925         xorl    %ecx,%edi
2926         vmovdqa %xmm3,%xmm10
2927         movl    %ebp,%esi
2928         shldl   $5,%ebp,%ebp
2929         xorl    %ebx,%edi
2930         addl    %ebp,%edx
2931         shrdl   $7,%eax,%eax
2932         addl    %edi,%edx
2933         vpalignr        $8,%xmm2,%xmm3,%xmm10
2934         vpxor   %xmm0,%xmm4,%xmm4
2935         addl    0(%rsp),%ecx
2936         xorl    %ebx,%esi
2937         movl    %edx,%edi
2938         shldl   $5,%edx,%edx
2939         vpxor   %xmm5,%xmm4,%xmm4
2940         xorl    %eax,%esi
2941         addl    %edx,%ecx
2942         vmovdqa %xmm8,%xmm9
2943         vpaddd  %xmm3,%xmm8,%xmm8
2944         shrdl   $7,%ebp,%ebp
2945         addl    %esi,%ecx
2946         vpxor   %xmm10,%xmm4,%xmm4
2947         addl    4(%rsp),%ebx
2948         xorl    %eax,%edi
2949         movl    %ecx,%esi
2950         shldl   $5,%ecx,%ecx
2951         vpsrld  $30,%xmm4,%xmm10
2952         vmovdqa %xmm8,48(%rsp)
2953         xorl    %ebp,%edi
2954         addl    %ecx,%ebx
2955         shrdl   $7,%edx,%edx
2956         addl    %edi,%ebx
2957         vpslld  $2,%xmm4,%xmm4
2958         addl    8(%rsp),%eax
2959         xorl    %ebp,%esi
2960         movl    %ebx,%edi
2961         shldl   $5,%ebx,%ebx
2962         xorl    %edx,%esi
2963         addl    %ebx,%eax
2964         shrdl   $7,%ecx,%ecx
2965         addl    %esi,%eax
2966         vpor    %xmm10,%xmm4,%xmm4
2967         addl    12(%rsp),%ebp
2968         xorl    %edx,%edi
2969         vmovdqa %xmm4,%xmm8
2970         movl    %eax,%esi
2971         shldl   $5,%eax,%eax
2972         xorl    %ecx,%edi
2973         addl    %eax,%ebp
2974         shrdl   $7,%ebx,%ebx
2975         addl    %edi,%ebp
2976         vpalignr        $8,%xmm3,%xmm4,%xmm8
2977         vpxor   %xmm1,%xmm5,%xmm5
2978         addl    16(%rsp),%edx
2979         xorl    %ecx,%esi
2980         movl    %ebp,%edi
2981         shldl   $5,%ebp,%ebp
2982         vpxor   %xmm6,%xmm5,%xmm5
2983         xorl    %ebx,%esi
2984         addl    %ebp,%edx
2985         vmovdqa %xmm9,%xmm10
2986         vpaddd  %xmm4,%xmm9,%xmm9
2987         shrdl   $7,%eax,%eax
2988         addl    %esi,%edx
2989         vpxor   %xmm8,%xmm5,%xmm5
2990         addl    20(%rsp),%ecx
2991         xorl    %ebx,%edi
2992         movl    %edx,%esi
2993         shldl   $5,%edx,%edx
2994         vpsrld  $30,%xmm5,%xmm8
2995         vmovdqa %xmm9,0(%rsp)
2996         xorl    %eax,%edi
2997         addl    %edx,%ecx
2998         shrdl   $7,%ebp,%ebp
2999         addl    %edi,%ecx
3000         vpslld  $2,%xmm5,%xmm5
3001         addl    24(%rsp),%ebx
3002         xorl    %eax,%esi
3003         movl    %ecx,%edi
3004         shldl   $5,%ecx,%ecx
3005         xorl    %ebp,%esi
3006         addl    %ecx,%ebx
3007         shrdl   $7,%edx,%edx
3008         addl    %esi,%ebx
3009         vpor    %xmm8,%xmm5,%xmm5
3010         addl    28(%rsp),%eax
3011         xorl    %ebp,%edi
3012         vmovdqa %xmm5,%xmm9
3013         movl    %ebx,%esi
3014         shldl   $5,%ebx,%ebx
3015         xorl    %edx,%edi
3016         addl    %ebx,%eax
3017         shrdl   $7,%ecx,%ecx
3018         addl    %edi,%eax
3019         vpalignr        $8,%xmm4,%xmm5,%xmm9
3020         vpxor   %xmm2,%xmm6,%xmm6
3021         movl    %ecx,%edi
3022         xorl    %edx,%ecx
3023         addl    32(%rsp),%ebp
3024         andl    %edx,%edi
3025         vpxor   %xmm7,%xmm6,%xmm6
3026         andl    %ecx,%esi
3027         shrdl   $7,%ebx,%ebx
3028         vmovdqa %xmm10,%xmm8
3029         vpaddd  %xmm5,%xmm10,%xmm10
3030         addl    %edi,%ebp
3031         movl    %eax,%edi
3032         vpxor   %xmm9,%xmm6,%xmm6
3033         shldl   $5,%eax,%eax
3034         addl    %esi,%ebp
3035         xorl    %edx,%ecx
3036         addl    %eax,%ebp
3037         vpsrld  $30,%xmm6,%xmm9
3038         vmovdqa %xmm10,16(%rsp)
3039         movl    %ebx,%esi
3040         xorl    %ecx,%ebx
3041         addl    36(%rsp),%edx
3042         andl    %ecx,%esi
3043         vpslld  $2,%xmm6,%xmm6
3044         andl    %ebx,%edi
3045         shrdl   $7,%eax,%eax
3046         addl    %esi,%edx
3047         movl    %ebp,%esi
3048         shldl   $5,%ebp,%ebp
3049         addl    %edi,%edx
3050         xorl    %ecx,%ebx
3051         addl    %ebp,%edx
3052         vpor    %xmm9,%xmm6,%xmm6
3053         movl    %eax,%edi
3054         xorl    %ebx,%eax
3055         vmovdqa %xmm6,%xmm10
3056         addl    40(%rsp),%ecx
3057         andl    %ebx,%edi
3058         andl    %eax,%esi
3059         shrdl   $7,%ebp,%ebp
3060         addl    %edi,%ecx
3061         movl    %edx,%edi
3062         shldl   $5,%edx,%edx
3063         addl    %esi,%ecx
3064         xorl    %ebx,%eax
3065         addl    %edx,%ecx
3066         movl    %ebp,%esi
3067         xorl    %eax,%ebp
3068         addl    44(%rsp),%ebx
3069         andl    %eax,%esi
3070         andl    %ebp,%edi
3071         shrdl   $7,%edx,%edx
3072         addl    %esi,%ebx
3073         movl    %ecx,%esi
3074         shldl   $5,%ecx,%ecx
3075         addl    %edi,%ebx
3076         xorl    %eax,%ebp
3077         addl    %ecx,%ebx
3078         vpalignr        $8,%xmm5,%xmm6,%xmm10
3079         vpxor   %xmm3,%xmm7,%xmm7
3080         movl    %edx,%edi
3081         xorl    %ebp,%edx
3082         addl    48(%rsp),%eax
3083         andl    %ebp,%edi
3084         vpxor   %xmm0,%xmm7,%xmm7
3085         andl    %edx,%esi
3086         shrdl   $7,%ecx,%ecx
3087         vmovdqa 48(%r11),%xmm9
3088         vpaddd  %xmm6,%xmm8,%xmm8
3089         addl    %edi,%eax
3090         movl    %ebx,%edi
3091         vpxor   %xmm10,%xmm7,%xmm7
3092         shldl   $5,%ebx,%ebx
3093         addl    %esi,%eax
3094         xorl    %ebp,%edx
3095         addl    %ebx,%eax
3096         vpsrld  $30,%xmm7,%xmm10
3097         vmovdqa %xmm8,32(%rsp)
3098         movl    %ecx,%esi
3099         xorl    %edx,%ecx
3100         addl    52(%rsp),%ebp
3101         andl    %edx,%esi
3102         vpslld  $2,%xmm7,%xmm7
3103         andl    %ecx,%edi
3104         shrdl   $7,%ebx,%ebx
3105         addl    %esi,%ebp
3106         movl    %eax,%esi
3107         shldl   $5,%eax,%eax
3108         addl    %edi,%ebp
3109         xorl    %edx,%ecx
3110         addl    %eax,%ebp
3111         vpor    %xmm10,%xmm7,%xmm7
3112         movl    %ebx,%edi
3113         xorl    %ecx,%ebx
3114         vmovdqa %xmm7,%xmm8
3115         addl    56(%rsp),%edx
3116         andl    %ecx,%edi
3117         andl    %ebx,%esi
3118         shrdl   $7,%eax,%eax
3119         addl    %edi,%edx
3120         movl    %ebp,%edi
3121         shldl   $5,%ebp,%ebp
3122         addl    %esi,%edx
3123         xorl    %ecx,%ebx
3124         addl    %ebp,%edx
3125         movl    %eax,%esi
3126         xorl    %ebx,%eax
3127         addl    60(%rsp),%ecx
3128         andl    %ebx,%esi
3129         andl    %eax,%edi
3130         shrdl   $7,%ebp,%ebp
3131         addl    %esi,%ecx
3132         movl    %edx,%esi
3133         shldl   $5,%edx,%edx
3134         addl    %edi,%ecx
3135         xorl    %ebx,%eax
3136         addl    %edx,%ecx
3137         vpalignr        $8,%xmm6,%xmm7,%xmm8
3138         vpxor   %xmm4,%xmm0,%xmm0
3139         movl    %ebp,%edi
3140         xorl    %eax,%ebp
3141         addl    0(%rsp),%ebx
3142         andl    %eax,%edi
3143         vpxor   %xmm1,%xmm0,%xmm0
3144         andl    %ebp,%esi
3145         shrdl   $7,%edx,%edx
3146         vmovdqa %xmm9,%xmm10
3147         vpaddd  %xmm7,%xmm9,%xmm9
3148         addl    %edi,%ebx
3149         movl    %ecx,%edi
3150         vpxor   %xmm8,%xmm0,%xmm0
3151         shldl   $5,%ecx,%ecx
3152         addl    %esi,%ebx
3153         xorl    %eax,%ebp
3154         addl    %ecx,%ebx
3155         vpsrld  $30,%xmm0,%xmm8
3156         vmovdqa %xmm9,48(%rsp)
3157         movl    %edx,%esi
3158         xorl    %ebp,%edx
3159         addl    4(%rsp),%eax
3160         andl    %ebp,%esi
3161         vpslld  $2,%xmm0,%xmm0
3162         andl    %edx,%edi
3163         shrdl   $7,%ecx,%ecx
3164         addl    %esi,%eax
3165         movl    %ebx,%esi
3166         shldl   $5,%ebx,%ebx
3167         addl    %edi,%eax
3168         xorl    %ebp,%edx
3169         addl    %ebx,%eax
3170         vpor    %xmm8,%xmm0,%xmm0
3171         movl    %ecx,%edi
3172         xorl    %edx,%ecx
3173         vmovdqa %xmm0,%xmm9
3174         addl    8(%rsp),%ebp
3175         andl    %edx,%edi
3176         andl    %ecx,%esi
3177         shrdl   $7,%ebx,%ebx
3178         addl    %edi,%ebp
3179         movl    %eax,%edi
3180         shldl   $5,%eax,%eax
3181         addl    %esi,%ebp
3182         xorl    %edx,%ecx
3183         addl    %eax,%ebp
3184         movl    %ebx,%esi
3185         xorl    %ecx,%ebx
3186         addl    12(%rsp),%edx
3187         andl    %ecx,%esi
3188         andl    %ebx,%edi
3189         shrdl   $7,%eax,%eax
3190         addl    %esi,%edx
3191         movl    %ebp,%esi
3192         shldl   $5,%ebp,%ebp
3193         addl    %edi,%edx
3194         xorl    %ecx,%ebx
3195         addl    %ebp,%edx
3196         vpalignr        $8,%xmm7,%xmm0,%xmm9
3197         vpxor   %xmm5,%xmm1,%xmm1
3198         movl    %eax,%edi
3199         xorl    %ebx,%eax
3200         addl    16(%rsp),%ecx
3201         andl    %ebx,%edi
3202         vpxor   %xmm2,%xmm1,%xmm1
3203         andl    %eax,%esi
3204         shrdl   $7,%ebp,%ebp
3205         vmovdqa %xmm10,%xmm8
3206         vpaddd  %xmm0,%xmm10,%xmm10
3207         addl    %edi,%ecx
3208         movl    %edx,%edi
3209         vpxor   %xmm9,%xmm1,%xmm1
3210         shldl   $5,%edx,%edx
3211         addl    %esi,%ecx
3212         xorl    %ebx,%eax
3213         addl    %edx,%ecx
3214         vpsrld  $30,%xmm1,%xmm9
3215         vmovdqa %xmm10,0(%rsp)
3216         movl    %ebp,%esi
3217         xorl    %eax,%ebp
3218         addl    20(%rsp),%ebx
3219         andl    %eax,%esi
3220         vpslld  $2,%xmm1,%xmm1
3221         andl    %ebp,%edi
3222         shrdl   $7,%edx,%edx
3223         addl    %esi,%ebx
3224         movl    %ecx,%esi
3225         shldl   $5,%ecx,%ecx
3226         addl    %edi,%ebx
3227         xorl    %eax,%ebp
3228         addl    %ecx,%ebx
3229         vpor    %xmm9,%xmm1,%xmm1
3230         movl    %edx,%edi
3231         xorl    %ebp,%edx
3232         vmovdqa %xmm1,%xmm10
3233         addl    24(%rsp),%eax
3234         andl    %ebp,%edi
3235         andl    %edx,%esi
3236         shrdl   $7,%ecx,%ecx
3237         addl    %edi,%eax
3238         movl    %ebx,%edi
3239         shldl   $5,%ebx,%ebx
3240         addl    %esi,%eax
3241         xorl    %ebp,%edx
3242         addl    %ebx,%eax
3243         movl    %ecx,%esi
3244         xorl    %edx,%ecx
3245         addl    28(%rsp),%ebp
3246         andl    %edx,%esi
3247         andl    %ecx,%edi
3248         shrdl   $7,%ebx,%ebx
3249         addl    %esi,%ebp
3250         movl    %eax,%esi
3251         shldl   $5,%eax,%eax
3252         addl    %edi,%ebp
3253         xorl    %edx,%ecx
3254         addl    %eax,%ebp
3255         vpalignr        $8,%xmm0,%xmm1,%xmm10
3256         vpxor   %xmm6,%xmm2,%xmm2
3257         movl    %ebx,%edi
3258         xorl    %ecx,%ebx
3259         addl    32(%rsp),%edx
3260         andl    %ecx,%edi
3261         vpxor   %xmm3,%xmm2,%xmm2
3262         andl    %ebx,%esi
3263         shrdl   $7,%eax,%eax
3264         vmovdqa %xmm8,%xmm9
3265         vpaddd  %xmm1,%xmm8,%xmm8
3266         addl    %edi,%edx
3267         movl    %ebp,%edi
3268         vpxor   %xmm10,%xmm2,%xmm2
3269         shldl   $5,%ebp,%ebp
3270         addl    %esi,%edx
3271         xorl    %ecx,%ebx
3272         addl    %ebp,%edx
3273         vpsrld  $30,%xmm2,%xmm10
3274         vmovdqa %xmm8,16(%rsp)
3275         movl    %eax,%esi
3276         xorl    %ebx,%eax
3277         addl    36(%rsp),%ecx
3278         andl    %ebx,%esi
3279         vpslld  $2,%xmm2,%xmm2
3280         andl    %eax,%edi
3281         shrdl   $7,%ebp,%ebp
3282         addl    %esi,%ecx
3283         movl    %edx,%esi
3284         shldl   $5,%edx,%edx
3285         addl    %edi,%ecx
3286         xorl    %ebx,%eax
3287         addl    %edx,%ecx
3288         vpor    %xmm10,%xmm2,%xmm2
3289         movl    %ebp,%edi
3290         xorl    %eax,%ebp
3291         vmovdqa %xmm2,%xmm8
3292         addl    40(%rsp),%ebx
3293         andl    %eax,%edi
3294         andl    %ebp,%esi
3295         shrdl   $7,%edx,%edx
3296         addl    %edi,%ebx
3297         movl    %ecx,%edi
3298         shldl   $5,%ecx,%ecx
3299         addl    %esi,%ebx
3300         xorl    %eax,%ebp
3301         addl    %ecx,%ebx
3302         movl    %edx,%esi
3303         xorl    %ebp,%edx
3304         addl    44(%rsp),%eax
3305         andl    %ebp,%esi
3306         andl    %edx,%edi
3307         shrdl   $7,%ecx,%ecx
3308         addl    %esi,%eax
3309         movl    %ebx,%esi
3310         shldl   $5,%ebx,%ebx
3311         addl    %edi,%eax
3312         xorl    %ebp,%edx
3313         addl    %ebx,%eax
3314         vpalignr        $8,%xmm1,%xmm2,%xmm8
3315         vpxor   %xmm7,%xmm3,%xmm3
3316         addl    48(%rsp),%ebp
3317         xorl    %edx,%esi
3318         movl    %eax,%edi
3319         shldl   $5,%eax,%eax
3320         vpxor   %xmm4,%xmm3,%xmm3
3321         xorl    %ecx,%esi
3322         addl    %eax,%ebp
3323         vmovdqa %xmm9,%xmm10
3324         vpaddd  %xmm2,%xmm9,%xmm9
3325         shrdl   $7,%ebx,%ebx
3326         addl    %esi,%ebp
3327         vpxor   %xmm8,%xmm3,%xmm3
3328         addl    52(%rsp),%edx
3329         xorl    %ecx,%edi
3330         movl    %ebp,%esi
3331         shldl   $5,%ebp,%ebp
3332         vpsrld  $30,%xmm3,%xmm8
3333         vmovdqa %xmm9,32(%rsp)
3334         xorl    %ebx,%edi
3335         addl    %ebp,%edx
3336         shrdl   $7,%eax,%eax
3337         addl    %edi,%edx
3338         vpslld  $2,%xmm3,%xmm3
3339         addl    56(%rsp),%ecx
3340         xorl    %ebx,%esi
3341         movl    %edx,%edi
3342         shldl   $5,%edx,%edx
3343         xorl    %eax,%esi
3344         addl    %edx,%ecx
3345         shrdl   $7,%ebp,%ebp
3346         addl    %esi,%ecx
3347         vpor    %xmm8,%xmm3,%xmm3
3348         addl    60(%rsp),%ebx
3349         xorl    %eax,%edi
3350         movl    %ecx,%esi
3351         shldl   $5,%ecx,%ecx
3352         xorl    %ebp,%edi
3353         addl    %ecx,%ebx
3354         shrdl   $7,%edx,%edx
3355         addl    %edi,%ebx
3356         addl    0(%rsp),%eax
3357         vpaddd  %xmm3,%xmm10,%xmm10
3358         xorl    %ebp,%esi
3359         movl    %ebx,%edi
3360         shldl   $5,%ebx,%ebx
3361         xorl    %edx,%esi
3362         movdqa  %xmm10,48(%rsp)
3363         addl    %ebx,%eax
3364         shrdl   $7,%ecx,%ecx
3365         addl    %esi,%eax
3366         addl    4(%rsp),%ebp
3367         xorl    %edx,%edi
3368         movl    %eax,%esi
3369         shldl   $5,%eax,%eax
3370         xorl    %ecx,%edi
3371         addl    %eax,%ebp
3372         shrdl   $7,%ebx,%ebx
3373         addl    %edi,%ebp
3374         addl    8(%rsp),%edx
3375         xorl    %ecx,%esi
3376         movl    %ebp,%edi
3377         shldl   $5,%ebp,%ebp
3378         xorl    %ebx,%esi
3379         addl    %ebp,%edx
3380         shrdl   $7,%eax,%eax
3381         addl    %esi,%edx
3382         addl    12(%rsp),%ecx
3383         xorl    %ebx,%edi
3384         movl    %edx,%esi
3385         shldl   $5,%edx,%edx
3386         xorl    %eax,%edi
3387         addl    %edx,%ecx
3388         shrdl   $7,%ebp,%ebp
3389         addl    %edi,%ecx
3390         cmpq    %r10,%r9
3391         je      .Ldone_avx
3392         vmovdqa 64(%r11),%xmm6
3393         vmovdqa 0(%r11),%xmm9
3394         vmovdqu 0(%r9),%xmm0
3395         vmovdqu 16(%r9),%xmm1
3396         vmovdqu 32(%r9),%xmm2
3397         vmovdqu 48(%r9),%xmm3
3398         vpshufb %xmm6,%xmm0,%xmm0
3399         addq    $64,%r9
3400         addl    16(%rsp),%ebx
3401         xorl    %eax,%esi
3402         vpshufb %xmm6,%xmm1,%xmm1
3403         movl    %ecx,%edi
3404         shldl   $5,%ecx,%ecx
3405         vpaddd  %xmm9,%xmm0,%xmm4
3406         xorl    %ebp,%esi
3407         addl    %ecx,%ebx
3408         shrdl   $7,%edx,%edx
3409         addl    %esi,%ebx
3410         vmovdqa %xmm4,0(%rsp)
3411         addl    20(%rsp),%eax
3412         xorl    %ebp,%edi
3413         movl    %ebx,%esi
3414         shldl   $5,%ebx,%ebx
3415         xorl    %edx,%edi
3416         addl    %ebx,%eax
3417         shrdl   $7,%ecx,%ecx
3418         addl    %edi,%eax
3419         addl    24(%rsp),%ebp
3420         xorl    %edx,%esi
3421         movl    %eax,%edi
3422         shldl   $5,%eax,%eax
3423         xorl    %ecx,%esi
3424         addl    %eax,%ebp
3425         shrdl   $7,%ebx,%ebx
3426         addl    %esi,%ebp
3427         addl    28(%rsp),%edx
3428         xorl    %ecx,%edi
3429         movl    %ebp,%esi
3430         shldl   $5,%ebp,%ebp
3431         xorl    %ebx,%edi
3432         addl    %ebp,%edx
3433         shrdl   $7,%eax,%eax
3434         addl    %edi,%edx
3435         addl    32(%rsp),%ecx
3436         xorl    %ebx,%esi
3437         vpshufb %xmm6,%xmm2,%xmm2
3438         movl    %edx,%edi
3439         shldl   $5,%edx,%edx
3440         vpaddd  %xmm9,%xmm1,%xmm5
3441         xorl    %eax,%esi
3442         addl    %edx,%ecx
3443         shrdl   $7,%ebp,%ebp
3444         addl    %esi,%ecx
3445         vmovdqa %xmm5,16(%rsp)
3446         addl    36(%rsp),%ebx
3447         xorl    %eax,%edi
3448         movl    %ecx,%esi
3449         shldl   $5,%ecx,%ecx
3450         xorl    %ebp,%edi
3451         addl    %ecx,%ebx
3452         shrdl   $7,%edx,%edx
3453         addl    %edi,%ebx
3454         addl    40(%rsp),%eax
3455         xorl    %ebp,%esi
3456         movl    %ebx,%edi
3457         shldl   $5,%ebx,%ebx
3458         xorl    %edx,%esi
3459         addl    %ebx,%eax
3460         shrdl   $7,%ecx,%ecx
3461         addl    %esi,%eax
3462         addl    44(%rsp),%ebp
3463         xorl    %edx,%edi
3464         movl    %eax,%esi
3465         shldl   $5,%eax,%eax
3466         xorl    %ecx,%edi
3467         addl    %eax,%ebp
3468         shrdl   $7,%ebx,%ebx
3469         addl    %edi,%ebp
3470         addl    48(%rsp),%edx
3471         xorl    %ecx,%esi
3472         vpshufb %xmm6,%xmm3,%xmm3
3473         movl    %ebp,%edi
3474         shldl   $5,%ebp,%ebp
3475         vpaddd  %xmm9,%xmm2,%xmm6
3476         xorl    %ebx,%esi
3477         addl    %ebp,%edx
3478         shrdl   $7,%eax,%eax
3479         addl    %esi,%edx
3480         vmovdqa %xmm6,32(%rsp)
3481         addl    52(%rsp),%ecx
3482         xorl    %ebx,%edi
3483         movl    %edx,%esi
3484         shldl   $5,%edx,%edx
3485         xorl    %eax,%edi
3486         addl    %edx,%ecx
3487         shrdl   $7,%ebp,%ebp
3488         addl    %edi,%ecx
3489         addl    56(%rsp),%ebx
3490         xorl    %eax,%esi
3491         movl    %ecx,%edi
3492         shldl   $5,%ecx,%ecx
3493         xorl    %ebp,%esi
3494         addl    %ecx,%ebx
3495         shrdl   $7,%edx,%edx
3496         addl    %esi,%ebx
3497         addl    60(%rsp),%eax
3498         xorl    %ebp,%edi
3499         movl    %ebx,%esi
3500         shldl   $5,%ebx,%ebx
3501         xorl    %edx,%edi
3502         addl    %ebx,%eax
3503         shrdl   $7,%ecx,%ecx
3504         addl    %edi,%eax
3505         addl    0(%r8),%eax
3506         addl    4(%r8),%esi
3507         addl    8(%r8),%ecx
3508         addl    12(%r8),%edx
3509         movl    %eax,0(%r8)
3510         addl    16(%r8),%ebp
3511         movl    %esi,4(%r8)
3512         movl    %esi,%ebx
3513         movl    %ecx,8(%r8)
3514         movl    %edx,12(%r8)
3515         movl    %ebp,16(%r8)
3516         jmp     .Loop_avx
3517
3518 .align  16
3519 .Ldone_avx:
3520         addl    16(%rsp),%ebx
3521         xorl    %eax,%esi
3522         movl    %ecx,%edi
3523         shldl   $5,%ecx,%ecx
3524         xorl    %ebp,%esi
3525         addl    %ecx,%ebx
3526         shrdl   $7,%edx,%edx
3527         addl    %esi,%ebx
3528         addl    20(%rsp),%eax
3529         xorl    %ebp,%edi
3530         movl    %ebx,%esi
3531         shldl   $5,%ebx,%ebx
3532         xorl    %edx,%edi
3533         addl    %ebx,%eax
3534         shrdl   $7,%ecx,%ecx
3535         addl    %edi,%eax
3536         addl    24(%rsp),%ebp
3537         xorl    %edx,%esi
3538         movl    %eax,%edi
3539         shldl   $5,%eax,%eax
3540         xorl    %ecx,%esi
3541         addl    %eax,%ebp
3542         shrdl   $7,%ebx,%ebx
3543         addl    %esi,%ebp
3544         addl    28(%rsp),%edx
3545         xorl    %ecx,%edi
3546         movl    %ebp,%esi
3547         shldl   $5,%ebp,%ebp
3548         xorl    %ebx,%edi
3549         addl    %ebp,%edx
3550         shrdl   $7,%eax,%eax
3551         addl    %edi,%edx
3552         addl    32(%rsp),%ecx
3553         xorl    %ebx,%esi
3554         movl    %edx,%edi
3555         shldl   $5,%edx,%edx
3556         xorl    %eax,%esi
3557         addl    %edx,%ecx
3558         shrdl   $7,%ebp,%ebp
3559         addl    %esi,%ecx
3560         addl    36(%rsp),%ebx
3561         xorl    %eax,%edi
3562         movl    %ecx,%esi
3563         shldl   $5,%ecx,%ecx
3564         xorl    %ebp,%edi
3565         addl    %ecx,%ebx
3566         shrdl   $7,%edx,%edx
3567         addl    %edi,%ebx
3568         addl    40(%rsp),%eax
3569         xorl    %ebp,%esi
3570         movl    %ebx,%edi
3571         shldl   $5,%ebx,%ebx
3572         xorl    %edx,%esi
3573         addl    %ebx,%eax
3574         shrdl   $7,%ecx,%ecx
3575         addl    %esi,%eax
3576         addl    44(%rsp),%ebp
3577         xorl    %edx,%edi
3578         movl    %eax,%esi
3579         shldl   $5,%eax,%eax
3580         xorl    %ecx,%edi
3581         addl    %eax,%ebp
3582         shrdl   $7,%ebx,%ebx
3583         addl    %edi,%ebp
3584         addl    48(%rsp),%edx
3585         xorl    %ecx,%esi
3586         movl    %ebp,%edi
3587         shldl   $5,%ebp,%ebp
3588         xorl    %ebx,%esi
3589         addl    %ebp,%edx
3590         shrdl   $7,%eax,%eax
3591         addl    %esi,%edx
3592         addl    52(%rsp),%ecx
3593         xorl    %ebx,%edi
3594         movl    %edx,%esi
3595         shldl   $5,%edx,%edx
3596         xorl    %eax,%edi
3597         addl    %edx,%ecx
3598         shrdl   $7,%ebp,%ebp
3599         addl    %edi,%ecx
3600         addl    56(%rsp),%ebx
3601         xorl    %eax,%esi
3602         movl    %ecx,%edi
3603         shldl   $5,%ecx,%ecx
3604         xorl    %ebp,%esi
3605         addl    %ecx,%ebx
3606         shrdl   $7,%edx,%edx
3607         addl    %esi,%ebx
3608         addl    60(%rsp),%eax
3609         xorl    %ebp,%edi
3610         movl    %ebx,%esi
3611         shldl   $5,%ebx,%ebx
3612         xorl    %edx,%edi
3613         addl    %ebx,%eax
3614         shrdl   $7,%ecx,%ecx
3615         addl    %edi,%eax
3616         vzeroupper
3617
3618         addl    0(%r8),%eax
3619         addl    4(%r8),%esi
3620         addl    8(%r8),%ecx
3621         movl    %eax,0(%r8)
3622         addl    12(%r8),%edx
3623         movl    %esi,4(%r8)
3624         addl    16(%r8),%ebp
3625         movl    %ecx,8(%r8)
3626         movl    %edx,12(%r8)
3627         movl    %ebp,16(%r8)
3628         leaq    64(%rsp),%rsi
3629         movq    0(%rsi),%r12
3630         movq    8(%rsi),%rbp
3631         movq    16(%rsi),%rbx
3632         leaq    24(%rsi),%rsp
3633 .Lepilogue_avx:
3634         .byte   0xf3,0xc3
3635 .size   sha1_block_data_order_avx,.-sha1_block_data_order_avx
3636 .align  64
3637 K_XX_XX:
3638 .long   0x5a827999,0x5a827999,0x5a827999,0x5a827999     
3639 .long   0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1     
3640 .long   0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc     
3641 .long   0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6     
3642 .long   0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f     
3643 .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
3644 .align  64