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