Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / boringssl / mac-x86_64 / crypto / sha / sha1-x86_64.S
1 #if defined(__x86_64__)
2 .text   
3
4
5 .globl  _sha1_block_data_order
6 .private_extern _sha1_block_data_order
7
8 .p2align        4
9 _sha1_block_data_order:
10         movl    _OPENSSL_ia32cap_P+0(%rip),%r9d
11         movl    _OPENSSL_ia32cap_P+4(%rip),%r8d
12         movl    _OPENSSL_ia32cap_P+8(%rip),%r10d
13         testl   $512,%r8d
14         jz      L$ialu
15         jmp     _ssse3_shortcut
16
17 .p2align        4
18 L$ialu:
19         movq    %rsp,%rax
20         pushq   %rbx
21         pushq   %rbp
22         pushq   %r12
23         pushq   %r13
24         pushq   %r14
25         movq    %rdi,%r8
26         subq    $72,%rsp
27         movq    %rsi,%r9
28         andq    $-64,%rsp
29         movq    %rdx,%r10
30         movq    %rax,64(%rsp)
31 L$prologue:
32
33         movl    0(%r8),%esi
34         movl    4(%r8),%edi
35         movl    8(%r8),%r11d
36         movl    12(%r8),%r12d
37         movl    16(%r8),%r13d
38         jmp     L$loop
39
40 .p2align        4
41 L$loop:
42         movl    0(%r9),%edx
43         bswapl  %edx
44         movl    4(%r9),%ebp
45         movl    %r12d,%eax
46         movl    %edx,0(%rsp)
47         movl    %esi,%ecx
48         bswapl  %ebp
49         xorl    %r11d,%eax
50         roll    $5,%ecx
51         andl    %edi,%eax
52         leal    1518500249(%rdx,%r13,1),%r13d
53         addl    %ecx,%r13d
54         xorl    %r12d,%eax
55         roll    $30,%edi
56         addl    %eax,%r13d
57         movl    8(%r9),%r14d
58         movl    %r11d,%eax
59         movl    %ebp,4(%rsp)
60         movl    %r13d,%ecx
61         bswapl  %r14d
62         xorl    %edi,%eax
63         roll    $5,%ecx
64         andl    %esi,%eax
65         leal    1518500249(%rbp,%r12,1),%r12d
66         addl    %ecx,%r12d
67         xorl    %r11d,%eax
68         roll    $30,%esi
69         addl    %eax,%r12d
70         movl    12(%r9),%edx
71         movl    %edi,%eax
72         movl    %r14d,8(%rsp)
73         movl    %r12d,%ecx
74         bswapl  %edx
75         xorl    %esi,%eax
76         roll    $5,%ecx
77         andl    %r13d,%eax
78         leal    1518500249(%r14,%r11,1),%r11d
79         addl    %ecx,%r11d
80         xorl    %edi,%eax
81         roll    $30,%r13d
82         addl    %eax,%r11d
83         movl    16(%r9),%ebp
84         movl    %esi,%eax
85         movl    %edx,12(%rsp)
86         movl    %r11d,%ecx
87         bswapl  %ebp
88         xorl    %r13d,%eax
89         roll    $5,%ecx
90         andl    %r12d,%eax
91         leal    1518500249(%rdx,%rdi,1),%edi
92         addl    %ecx,%edi
93         xorl    %esi,%eax
94         roll    $30,%r12d
95         addl    %eax,%edi
96         movl    20(%r9),%r14d
97         movl    %r13d,%eax
98         movl    %ebp,16(%rsp)
99         movl    %edi,%ecx
100         bswapl  %r14d
101         xorl    %r12d,%eax
102         roll    $5,%ecx
103         andl    %r11d,%eax
104         leal    1518500249(%rbp,%rsi,1),%esi
105         addl    %ecx,%esi
106         xorl    %r13d,%eax
107         roll    $30,%r11d
108         addl    %eax,%esi
109         movl    24(%r9),%edx
110         movl    %r12d,%eax
111         movl    %r14d,20(%rsp)
112         movl    %esi,%ecx
113         bswapl  %edx
114         xorl    %r11d,%eax
115         roll    $5,%ecx
116         andl    %edi,%eax
117         leal    1518500249(%r14,%r13,1),%r13d
118         addl    %ecx,%r13d
119         xorl    %r12d,%eax
120         roll    $30,%edi
121         addl    %eax,%r13d
122         movl    28(%r9),%ebp
123         movl    %r11d,%eax
124         movl    %edx,24(%rsp)
125         movl    %r13d,%ecx
126         bswapl  %ebp
127         xorl    %edi,%eax
128         roll    $5,%ecx
129         andl    %esi,%eax
130         leal    1518500249(%rdx,%r12,1),%r12d
131         addl    %ecx,%r12d
132         xorl    %r11d,%eax
133         roll    $30,%esi
134         addl    %eax,%r12d
135         movl    32(%r9),%r14d
136         movl    %edi,%eax
137         movl    %ebp,28(%rsp)
138         movl    %r12d,%ecx
139         bswapl  %r14d
140         xorl    %esi,%eax
141         roll    $5,%ecx
142         andl    %r13d,%eax
143         leal    1518500249(%rbp,%r11,1),%r11d
144         addl    %ecx,%r11d
145         xorl    %edi,%eax
146         roll    $30,%r13d
147         addl    %eax,%r11d
148         movl    36(%r9),%edx
149         movl    %esi,%eax
150         movl    %r14d,32(%rsp)
151         movl    %r11d,%ecx
152         bswapl  %edx
153         xorl    %r13d,%eax
154         roll    $5,%ecx
155         andl    %r12d,%eax
156         leal    1518500249(%r14,%rdi,1),%edi
157         addl    %ecx,%edi
158         xorl    %esi,%eax
159         roll    $30,%r12d
160         addl    %eax,%edi
161         movl    40(%r9),%ebp
162         movl    %r13d,%eax
163         movl    %edx,36(%rsp)
164         movl    %edi,%ecx
165         bswapl  %ebp
166         xorl    %r12d,%eax
167         roll    $5,%ecx
168         andl    %r11d,%eax
169         leal    1518500249(%rdx,%rsi,1),%esi
170         addl    %ecx,%esi
171         xorl    %r13d,%eax
172         roll    $30,%r11d
173         addl    %eax,%esi
174         movl    44(%r9),%r14d
175         movl    %r12d,%eax
176         movl    %ebp,40(%rsp)
177         movl    %esi,%ecx
178         bswapl  %r14d
179         xorl    %r11d,%eax
180         roll    $5,%ecx
181         andl    %edi,%eax
182         leal    1518500249(%rbp,%r13,1),%r13d
183         addl    %ecx,%r13d
184         xorl    %r12d,%eax
185         roll    $30,%edi
186         addl    %eax,%r13d
187         movl    48(%r9),%edx
188         movl    %r11d,%eax
189         movl    %r14d,44(%rsp)
190         movl    %r13d,%ecx
191         bswapl  %edx
192         xorl    %edi,%eax
193         roll    $5,%ecx
194         andl    %esi,%eax
195         leal    1518500249(%r14,%r12,1),%r12d
196         addl    %ecx,%r12d
197         xorl    %r11d,%eax
198         roll    $30,%esi
199         addl    %eax,%r12d
200         movl    52(%r9),%ebp
201         movl    %edi,%eax
202         movl    %edx,48(%rsp)
203         movl    %r12d,%ecx
204         bswapl  %ebp
205         xorl    %esi,%eax
206         roll    $5,%ecx
207         andl    %r13d,%eax
208         leal    1518500249(%rdx,%r11,1),%r11d
209         addl    %ecx,%r11d
210         xorl    %edi,%eax
211         roll    $30,%r13d
212         addl    %eax,%r11d
213         movl    56(%r9),%r14d
214         movl    %esi,%eax
215         movl    %ebp,52(%rsp)
216         movl    %r11d,%ecx
217         bswapl  %r14d
218         xorl    %r13d,%eax
219         roll    $5,%ecx
220         andl    %r12d,%eax
221         leal    1518500249(%rbp,%rdi,1),%edi
222         addl    %ecx,%edi
223         xorl    %esi,%eax
224         roll    $30,%r12d
225         addl    %eax,%edi
226         movl    60(%r9),%edx
227         movl    %r13d,%eax
228         movl    %r14d,56(%rsp)
229         movl    %edi,%ecx
230         bswapl  %edx
231         xorl    %r12d,%eax
232         roll    $5,%ecx
233         andl    %r11d,%eax
234         leal    1518500249(%r14,%rsi,1),%esi
235         addl    %ecx,%esi
236         xorl    %r13d,%eax
237         roll    $30,%r11d
238         addl    %eax,%esi
239         xorl    0(%rsp),%ebp
240         movl    %r12d,%eax
241         movl    %edx,60(%rsp)
242         movl    %esi,%ecx
243         xorl    8(%rsp),%ebp
244         xorl    %r11d,%eax
245         roll    $5,%ecx
246         xorl    32(%rsp),%ebp
247         andl    %edi,%eax
248         leal    1518500249(%rdx,%r13,1),%r13d
249         roll    $30,%edi
250         xorl    %r12d,%eax
251         addl    %ecx,%r13d
252         roll    $1,%ebp
253         addl    %eax,%r13d
254         xorl    4(%rsp),%r14d
255         movl    %r11d,%eax
256         movl    %ebp,0(%rsp)
257         movl    %r13d,%ecx
258         xorl    12(%rsp),%r14d
259         xorl    %edi,%eax
260         roll    $5,%ecx
261         xorl    36(%rsp),%r14d
262         andl    %esi,%eax
263         leal    1518500249(%rbp,%r12,1),%r12d
264         roll    $30,%esi
265         xorl    %r11d,%eax
266         addl    %ecx,%r12d
267         roll    $1,%r14d
268         addl    %eax,%r12d
269         xorl    8(%rsp),%edx
270         movl    %edi,%eax
271         movl    %r14d,4(%rsp)
272         movl    %r12d,%ecx
273         xorl    16(%rsp),%edx
274         xorl    %esi,%eax
275         roll    $5,%ecx
276         xorl    40(%rsp),%edx
277         andl    %r13d,%eax
278         leal    1518500249(%r14,%r11,1),%r11d
279         roll    $30,%r13d
280         xorl    %edi,%eax
281         addl    %ecx,%r11d
282         roll    $1,%edx
283         addl    %eax,%r11d
284         xorl    12(%rsp),%ebp
285         movl    %esi,%eax
286         movl    %edx,8(%rsp)
287         movl    %r11d,%ecx
288         xorl    20(%rsp),%ebp
289         xorl    %r13d,%eax
290         roll    $5,%ecx
291         xorl    44(%rsp),%ebp
292         andl    %r12d,%eax
293         leal    1518500249(%rdx,%rdi,1),%edi
294         roll    $30,%r12d
295         xorl    %esi,%eax
296         addl    %ecx,%edi
297         roll    $1,%ebp
298         addl    %eax,%edi
299         xorl    16(%rsp),%r14d
300         movl    %r13d,%eax
301         movl    %ebp,12(%rsp)
302         movl    %edi,%ecx
303         xorl    24(%rsp),%r14d
304         xorl    %r12d,%eax
305         roll    $5,%ecx
306         xorl    48(%rsp),%r14d
307         andl    %r11d,%eax
308         leal    1518500249(%rbp,%rsi,1),%esi
309         roll    $30,%r11d
310         xorl    %r13d,%eax
311         addl    %ecx,%esi
312         roll    $1,%r14d
313         addl    %eax,%esi
314         xorl    20(%rsp),%edx
315         movl    %edi,%eax
316         movl    %r14d,16(%rsp)
317         movl    %esi,%ecx
318         xorl    28(%rsp),%edx
319         xorl    %r12d,%eax
320         roll    $5,%ecx
321         xorl    52(%rsp),%edx
322         leal    1859775393(%r14,%r13,1),%r13d
323         xorl    %r11d,%eax
324         addl    %ecx,%r13d
325         roll    $30,%edi
326         addl    %eax,%r13d
327         roll    $1,%edx
328         xorl    24(%rsp),%ebp
329         movl    %esi,%eax
330         movl    %edx,20(%rsp)
331         movl    %r13d,%ecx
332         xorl    32(%rsp),%ebp
333         xorl    %r11d,%eax
334         roll    $5,%ecx
335         xorl    56(%rsp),%ebp
336         leal    1859775393(%rdx,%r12,1),%r12d
337         xorl    %edi,%eax
338         addl    %ecx,%r12d
339         roll    $30,%esi
340         addl    %eax,%r12d
341         roll    $1,%ebp
342         xorl    28(%rsp),%r14d
343         movl    %r13d,%eax
344         movl    %ebp,24(%rsp)
345         movl    %r12d,%ecx
346         xorl    36(%rsp),%r14d
347         xorl    %edi,%eax
348         roll    $5,%ecx
349         xorl    60(%rsp),%r14d
350         leal    1859775393(%rbp,%r11,1),%r11d
351         xorl    %esi,%eax
352         addl    %ecx,%r11d
353         roll    $30,%r13d
354         addl    %eax,%r11d
355         roll    $1,%r14d
356         xorl    32(%rsp),%edx
357         movl    %r12d,%eax
358         movl    %r14d,28(%rsp)
359         movl    %r11d,%ecx
360         xorl    40(%rsp),%edx
361         xorl    %esi,%eax
362         roll    $5,%ecx
363         xorl    0(%rsp),%edx
364         leal    1859775393(%r14,%rdi,1),%edi
365         xorl    %r13d,%eax
366         addl    %ecx,%edi
367         roll    $30,%r12d
368         addl    %eax,%edi
369         roll    $1,%edx
370         xorl    36(%rsp),%ebp
371         movl    %r11d,%eax
372         movl    %edx,32(%rsp)
373         movl    %edi,%ecx
374         xorl    44(%rsp),%ebp
375         xorl    %r13d,%eax
376         roll    $5,%ecx
377         xorl    4(%rsp),%ebp
378         leal    1859775393(%rdx,%rsi,1),%esi
379         xorl    %r12d,%eax
380         addl    %ecx,%esi
381         roll    $30,%r11d
382         addl    %eax,%esi
383         roll    $1,%ebp
384         xorl    40(%rsp),%r14d
385         movl    %edi,%eax
386         movl    %ebp,36(%rsp)
387         movl    %esi,%ecx
388         xorl    48(%rsp),%r14d
389         xorl    %r12d,%eax
390         roll    $5,%ecx
391         xorl    8(%rsp),%r14d
392         leal    1859775393(%rbp,%r13,1),%r13d
393         xorl    %r11d,%eax
394         addl    %ecx,%r13d
395         roll    $30,%edi
396         addl    %eax,%r13d
397         roll    $1,%r14d
398         xorl    44(%rsp),%edx
399         movl    %esi,%eax
400         movl    %r14d,40(%rsp)
401         movl    %r13d,%ecx
402         xorl    52(%rsp),%edx
403         xorl    %r11d,%eax
404         roll    $5,%ecx
405         xorl    12(%rsp),%edx
406         leal    1859775393(%r14,%r12,1),%r12d
407         xorl    %edi,%eax
408         addl    %ecx,%r12d
409         roll    $30,%esi
410         addl    %eax,%r12d
411         roll    $1,%edx
412         xorl    48(%rsp),%ebp
413         movl    %r13d,%eax
414         movl    %edx,44(%rsp)
415         movl    %r12d,%ecx
416         xorl    56(%rsp),%ebp
417         xorl    %edi,%eax
418         roll    $5,%ecx
419         xorl    16(%rsp),%ebp
420         leal    1859775393(%rdx,%r11,1),%r11d
421         xorl    %esi,%eax
422         addl    %ecx,%r11d
423         roll    $30,%r13d
424         addl    %eax,%r11d
425         roll    $1,%ebp
426         xorl    52(%rsp),%r14d
427         movl    %r12d,%eax
428         movl    %ebp,48(%rsp)
429         movl    %r11d,%ecx
430         xorl    60(%rsp),%r14d
431         xorl    %esi,%eax
432         roll    $5,%ecx
433         xorl    20(%rsp),%r14d
434         leal    1859775393(%rbp,%rdi,1),%edi
435         xorl    %r13d,%eax
436         addl    %ecx,%edi
437         roll    $30,%r12d
438         addl    %eax,%edi
439         roll    $1,%r14d
440         xorl    56(%rsp),%edx
441         movl    %r11d,%eax
442         movl    %r14d,52(%rsp)
443         movl    %edi,%ecx
444         xorl    0(%rsp),%edx
445         xorl    %r13d,%eax
446         roll    $5,%ecx
447         xorl    24(%rsp),%edx
448         leal    1859775393(%r14,%rsi,1),%esi
449         xorl    %r12d,%eax
450         addl    %ecx,%esi
451         roll    $30,%r11d
452         addl    %eax,%esi
453         roll    $1,%edx
454         xorl    60(%rsp),%ebp
455         movl    %edi,%eax
456         movl    %edx,56(%rsp)
457         movl    %esi,%ecx
458         xorl    4(%rsp),%ebp
459         xorl    %r12d,%eax
460         roll    $5,%ecx
461         xorl    28(%rsp),%ebp
462         leal    1859775393(%rdx,%r13,1),%r13d
463         xorl    %r11d,%eax
464         addl    %ecx,%r13d
465         roll    $30,%edi
466         addl    %eax,%r13d
467         roll    $1,%ebp
468         xorl    0(%rsp),%r14d
469         movl    %esi,%eax
470         movl    %ebp,60(%rsp)
471         movl    %r13d,%ecx
472         xorl    8(%rsp),%r14d
473         xorl    %r11d,%eax
474         roll    $5,%ecx
475         xorl    32(%rsp),%r14d
476         leal    1859775393(%rbp,%r12,1),%r12d
477         xorl    %edi,%eax
478         addl    %ecx,%r12d
479         roll    $30,%esi
480         addl    %eax,%r12d
481         roll    $1,%r14d
482         xorl    4(%rsp),%edx
483         movl    %r13d,%eax
484         movl    %r14d,0(%rsp)
485         movl    %r12d,%ecx
486         xorl    12(%rsp),%edx
487         xorl    %edi,%eax
488         roll    $5,%ecx
489         xorl    36(%rsp),%edx
490         leal    1859775393(%r14,%r11,1),%r11d
491         xorl    %esi,%eax
492         addl    %ecx,%r11d
493         roll    $30,%r13d
494         addl    %eax,%r11d
495         roll    $1,%edx
496         xorl    8(%rsp),%ebp
497         movl    %r12d,%eax
498         movl    %edx,4(%rsp)
499         movl    %r11d,%ecx
500         xorl    16(%rsp),%ebp
501         xorl    %esi,%eax
502         roll    $5,%ecx
503         xorl    40(%rsp),%ebp
504         leal    1859775393(%rdx,%rdi,1),%edi
505         xorl    %r13d,%eax
506         addl    %ecx,%edi
507         roll    $30,%r12d
508         addl    %eax,%edi
509         roll    $1,%ebp
510         xorl    12(%rsp),%r14d
511         movl    %r11d,%eax
512         movl    %ebp,8(%rsp)
513         movl    %edi,%ecx
514         xorl    20(%rsp),%r14d
515         xorl    %r13d,%eax
516         roll    $5,%ecx
517         xorl    44(%rsp),%r14d
518         leal    1859775393(%rbp,%rsi,1),%esi
519         xorl    %r12d,%eax
520         addl    %ecx,%esi
521         roll    $30,%r11d
522         addl    %eax,%esi
523         roll    $1,%r14d
524         xorl    16(%rsp),%edx
525         movl    %edi,%eax
526         movl    %r14d,12(%rsp)
527         movl    %esi,%ecx
528         xorl    24(%rsp),%edx
529         xorl    %r12d,%eax
530         roll    $5,%ecx
531         xorl    48(%rsp),%edx
532         leal    1859775393(%r14,%r13,1),%r13d
533         xorl    %r11d,%eax
534         addl    %ecx,%r13d
535         roll    $30,%edi
536         addl    %eax,%r13d
537         roll    $1,%edx
538         xorl    20(%rsp),%ebp
539         movl    %esi,%eax
540         movl    %edx,16(%rsp)
541         movl    %r13d,%ecx
542         xorl    28(%rsp),%ebp
543         xorl    %r11d,%eax
544         roll    $5,%ecx
545         xorl    52(%rsp),%ebp
546         leal    1859775393(%rdx,%r12,1),%r12d
547         xorl    %edi,%eax
548         addl    %ecx,%r12d
549         roll    $30,%esi
550         addl    %eax,%r12d
551         roll    $1,%ebp
552         xorl    24(%rsp),%r14d
553         movl    %r13d,%eax
554         movl    %ebp,20(%rsp)
555         movl    %r12d,%ecx
556         xorl    32(%rsp),%r14d
557         xorl    %edi,%eax
558         roll    $5,%ecx
559         xorl    56(%rsp),%r14d
560         leal    1859775393(%rbp,%r11,1),%r11d
561         xorl    %esi,%eax
562         addl    %ecx,%r11d
563         roll    $30,%r13d
564         addl    %eax,%r11d
565         roll    $1,%r14d
566         xorl    28(%rsp),%edx
567         movl    %r12d,%eax
568         movl    %r14d,24(%rsp)
569         movl    %r11d,%ecx
570         xorl    36(%rsp),%edx
571         xorl    %esi,%eax
572         roll    $5,%ecx
573         xorl    60(%rsp),%edx
574         leal    1859775393(%r14,%rdi,1),%edi
575         xorl    %r13d,%eax
576         addl    %ecx,%edi
577         roll    $30,%r12d
578         addl    %eax,%edi
579         roll    $1,%edx
580         xorl    32(%rsp),%ebp
581         movl    %r11d,%eax
582         movl    %edx,28(%rsp)
583         movl    %edi,%ecx
584         xorl    40(%rsp),%ebp
585         xorl    %r13d,%eax
586         roll    $5,%ecx
587         xorl    0(%rsp),%ebp
588         leal    1859775393(%rdx,%rsi,1),%esi
589         xorl    %r12d,%eax
590         addl    %ecx,%esi
591         roll    $30,%r11d
592         addl    %eax,%esi
593         roll    $1,%ebp
594         xorl    36(%rsp),%r14d
595         movl    %r12d,%eax
596         movl    %ebp,32(%rsp)
597         movl    %r12d,%ebx
598         xorl    44(%rsp),%r14d
599         andl    %r11d,%eax
600         movl    %esi,%ecx
601         xorl    4(%rsp),%r14d
602         leal    -1894007588(%rbp,%r13,1),%r13d
603         xorl    %r11d,%ebx
604         roll    $5,%ecx
605         addl    %eax,%r13d
606         roll    $1,%r14d
607         andl    %edi,%ebx
608         addl    %ecx,%r13d
609         roll    $30,%edi
610         addl    %ebx,%r13d
611         xorl    40(%rsp),%edx
612         movl    %r11d,%eax
613         movl    %r14d,36(%rsp)
614         movl    %r11d,%ebx
615         xorl    48(%rsp),%edx
616         andl    %edi,%eax
617         movl    %r13d,%ecx
618         xorl    8(%rsp),%edx
619         leal    -1894007588(%r14,%r12,1),%r12d
620         xorl    %edi,%ebx
621         roll    $5,%ecx
622         addl    %eax,%r12d
623         roll    $1,%edx
624         andl    %esi,%ebx
625         addl    %ecx,%r12d
626         roll    $30,%esi
627         addl    %ebx,%r12d
628         xorl    44(%rsp),%ebp
629         movl    %edi,%eax
630         movl    %edx,40(%rsp)
631         movl    %edi,%ebx
632         xorl    52(%rsp),%ebp
633         andl    %esi,%eax
634         movl    %r12d,%ecx
635         xorl    12(%rsp),%ebp
636         leal    -1894007588(%rdx,%r11,1),%r11d
637         xorl    %esi,%ebx
638         roll    $5,%ecx
639         addl    %eax,%r11d
640         roll    $1,%ebp
641         andl    %r13d,%ebx
642         addl    %ecx,%r11d
643         roll    $30,%r13d
644         addl    %ebx,%r11d
645         xorl    48(%rsp),%r14d
646         movl    %esi,%eax
647         movl    %ebp,44(%rsp)
648         movl    %esi,%ebx
649         xorl    56(%rsp),%r14d
650         andl    %r13d,%eax
651         movl    %r11d,%ecx
652         xorl    16(%rsp),%r14d
653         leal    -1894007588(%rbp,%rdi,1),%edi
654         xorl    %r13d,%ebx
655         roll    $5,%ecx
656         addl    %eax,%edi
657         roll    $1,%r14d
658         andl    %r12d,%ebx
659         addl    %ecx,%edi
660         roll    $30,%r12d
661         addl    %ebx,%edi
662         xorl    52(%rsp),%edx
663         movl    %r13d,%eax
664         movl    %r14d,48(%rsp)
665         movl    %r13d,%ebx
666         xorl    60(%rsp),%edx
667         andl    %r12d,%eax
668         movl    %edi,%ecx
669         xorl    20(%rsp),%edx
670         leal    -1894007588(%r14,%rsi,1),%esi
671         xorl    %r12d,%ebx
672         roll    $5,%ecx
673         addl    %eax,%esi
674         roll    $1,%edx
675         andl    %r11d,%ebx
676         addl    %ecx,%esi
677         roll    $30,%r11d
678         addl    %ebx,%esi
679         xorl    56(%rsp),%ebp
680         movl    %r12d,%eax
681         movl    %edx,52(%rsp)
682         movl    %r12d,%ebx
683         xorl    0(%rsp),%ebp
684         andl    %r11d,%eax
685         movl    %esi,%ecx
686         xorl    24(%rsp),%ebp
687         leal    -1894007588(%rdx,%r13,1),%r13d
688         xorl    %r11d,%ebx
689         roll    $5,%ecx
690         addl    %eax,%r13d
691         roll    $1,%ebp
692         andl    %edi,%ebx
693         addl    %ecx,%r13d
694         roll    $30,%edi
695         addl    %ebx,%r13d
696         xorl    60(%rsp),%r14d
697         movl    %r11d,%eax
698         movl    %ebp,56(%rsp)
699         movl    %r11d,%ebx
700         xorl    4(%rsp),%r14d
701         andl    %edi,%eax
702         movl    %r13d,%ecx
703         xorl    28(%rsp),%r14d
704         leal    -1894007588(%rbp,%r12,1),%r12d
705         xorl    %edi,%ebx
706         roll    $5,%ecx
707         addl    %eax,%r12d
708         roll    $1,%r14d
709         andl    %esi,%ebx
710         addl    %ecx,%r12d
711         roll    $30,%esi
712         addl    %ebx,%r12d
713         xorl    0(%rsp),%edx
714         movl    %edi,%eax
715         movl    %r14d,60(%rsp)
716         movl    %edi,%ebx
717         xorl    8(%rsp),%edx
718         andl    %esi,%eax
719         movl    %r12d,%ecx
720         xorl    32(%rsp),%edx
721         leal    -1894007588(%r14,%r11,1),%r11d
722         xorl    %esi,%ebx
723         roll    $5,%ecx
724         addl    %eax,%r11d
725         roll    $1,%edx
726         andl    %r13d,%ebx
727         addl    %ecx,%r11d
728         roll    $30,%r13d
729         addl    %ebx,%r11d
730         xorl    4(%rsp),%ebp
731         movl    %esi,%eax
732         movl    %edx,0(%rsp)
733         movl    %esi,%ebx
734         xorl    12(%rsp),%ebp
735         andl    %r13d,%eax
736         movl    %r11d,%ecx
737         xorl    36(%rsp),%ebp
738         leal    -1894007588(%rdx,%rdi,1),%edi
739         xorl    %r13d,%ebx
740         roll    $5,%ecx
741         addl    %eax,%edi
742         roll    $1,%ebp
743         andl    %r12d,%ebx
744         addl    %ecx,%edi
745         roll    $30,%r12d
746         addl    %ebx,%edi
747         xorl    8(%rsp),%r14d
748         movl    %r13d,%eax
749         movl    %ebp,4(%rsp)
750         movl    %r13d,%ebx
751         xorl    16(%rsp),%r14d
752         andl    %r12d,%eax
753         movl    %edi,%ecx
754         xorl    40(%rsp),%r14d
755         leal    -1894007588(%rbp,%rsi,1),%esi
756         xorl    %r12d,%ebx
757         roll    $5,%ecx
758         addl    %eax,%esi
759         roll    $1,%r14d
760         andl    %r11d,%ebx
761         addl    %ecx,%esi
762         roll    $30,%r11d
763         addl    %ebx,%esi
764         xorl    12(%rsp),%edx
765         movl    %r12d,%eax
766         movl    %r14d,8(%rsp)
767         movl    %r12d,%ebx
768         xorl    20(%rsp),%edx
769         andl    %r11d,%eax
770         movl    %esi,%ecx
771         xorl    44(%rsp),%edx
772         leal    -1894007588(%r14,%r13,1),%r13d
773         xorl    %r11d,%ebx
774         roll    $5,%ecx
775         addl    %eax,%r13d
776         roll    $1,%edx
777         andl    %edi,%ebx
778         addl    %ecx,%r13d
779         roll    $30,%edi
780         addl    %ebx,%r13d
781         xorl    16(%rsp),%ebp
782         movl    %r11d,%eax
783         movl    %edx,12(%rsp)
784         movl    %r11d,%ebx
785         xorl    24(%rsp),%ebp
786         andl    %edi,%eax
787         movl    %r13d,%ecx
788         xorl    48(%rsp),%ebp
789         leal    -1894007588(%rdx,%r12,1),%r12d
790         xorl    %edi,%ebx
791         roll    $5,%ecx
792         addl    %eax,%r12d
793         roll    $1,%ebp
794         andl    %esi,%ebx
795         addl    %ecx,%r12d
796         roll    $30,%esi
797         addl    %ebx,%r12d
798         xorl    20(%rsp),%r14d
799         movl    %edi,%eax
800         movl    %ebp,16(%rsp)
801         movl    %edi,%ebx
802         xorl    28(%rsp),%r14d
803         andl    %esi,%eax
804         movl    %r12d,%ecx
805         xorl    52(%rsp),%r14d
806         leal    -1894007588(%rbp,%r11,1),%r11d
807         xorl    %esi,%ebx
808         roll    $5,%ecx
809         addl    %eax,%r11d
810         roll    $1,%r14d
811         andl    %r13d,%ebx
812         addl    %ecx,%r11d
813         roll    $30,%r13d
814         addl    %ebx,%r11d
815         xorl    24(%rsp),%edx
816         movl    %esi,%eax
817         movl    %r14d,20(%rsp)
818         movl    %esi,%ebx
819         xorl    32(%rsp),%edx
820         andl    %r13d,%eax
821         movl    %r11d,%ecx
822         xorl    56(%rsp),%edx
823         leal    -1894007588(%r14,%rdi,1),%edi
824         xorl    %r13d,%ebx
825         roll    $5,%ecx
826         addl    %eax,%edi
827         roll    $1,%edx
828         andl    %r12d,%ebx
829         addl    %ecx,%edi
830         roll    $30,%r12d
831         addl    %ebx,%edi
832         xorl    28(%rsp),%ebp
833         movl    %r13d,%eax
834         movl    %edx,24(%rsp)
835         movl    %r13d,%ebx
836         xorl    36(%rsp),%ebp
837         andl    %r12d,%eax
838         movl    %edi,%ecx
839         xorl    60(%rsp),%ebp
840         leal    -1894007588(%rdx,%rsi,1),%esi
841         xorl    %r12d,%ebx
842         roll    $5,%ecx
843         addl    %eax,%esi
844         roll    $1,%ebp
845         andl    %r11d,%ebx
846         addl    %ecx,%esi
847         roll    $30,%r11d
848         addl    %ebx,%esi
849         xorl    32(%rsp),%r14d
850         movl    %r12d,%eax
851         movl    %ebp,28(%rsp)
852         movl    %r12d,%ebx
853         xorl    40(%rsp),%r14d
854         andl    %r11d,%eax
855         movl    %esi,%ecx
856         xorl    0(%rsp),%r14d
857         leal    -1894007588(%rbp,%r13,1),%r13d
858         xorl    %r11d,%ebx
859         roll    $5,%ecx
860         addl    %eax,%r13d
861         roll    $1,%r14d
862         andl    %edi,%ebx
863         addl    %ecx,%r13d
864         roll    $30,%edi
865         addl    %ebx,%r13d
866         xorl    36(%rsp),%edx
867         movl    %r11d,%eax
868         movl    %r14d,32(%rsp)
869         movl    %r11d,%ebx
870         xorl    44(%rsp),%edx
871         andl    %edi,%eax
872         movl    %r13d,%ecx
873         xorl    4(%rsp),%edx
874         leal    -1894007588(%r14,%r12,1),%r12d
875         xorl    %edi,%ebx
876         roll    $5,%ecx
877         addl    %eax,%r12d
878         roll    $1,%edx
879         andl    %esi,%ebx
880         addl    %ecx,%r12d
881         roll    $30,%esi
882         addl    %ebx,%r12d
883         xorl    40(%rsp),%ebp
884         movl    %edi,%eax
885         movl    %edx,36(%rsp)
886         movl    %edi,%ebx
887         xorl    48(%rsp),%ebp
888         andl    %esi,%eax
889         movl    %r12d,%ecx
890         xorl    8(%rsp),%ebp
891         leal    -1894007588(%rdx,%r11,1),%r11d
892         xorl    %esi,%ebx
893         roll    $5,%ecx
894         addl    %eax,%r11d
895         roll    $1,%ebp
896         andl    %r13d,%ebx
897         addl    %ecx,%r11d
898         roll    $30,%r13d
899         addl    %ebx,%r11d
900         xorl    44(%rsp),%r14d
901         movl    %esi,%eax
902         movl    %ebp,40(%rsp)
903         movl    %esi,%ebx
904         xorl    52(%rsp),%r14d
905         andl    %r13d,%eax
906         movl    %r11d,%ecx
907         xorl    12(%rsp),%r14d
908         leal    -1894007588(%rbp,%rdi,1),%edi
909         xorl    %r13d,%ebx
910         roll    $5,%ecx
911         addl    %eax,%edi
912         roll    $1,%r14d
913         andl    %r12d,%ebx
914         addl    %ecx,%edi
915         roll    $30,%r12d
916         addl    %ebx,%edi
917         xorl    48(%rsp),%edx
918         movl    %r13d,%eax
919         movl    %r14d,44(%rsp)
920         movl    %r13d,%ebx
921         xorl    56(%rsp),%edx
922         andl    %r12d,%eax
923         movl    %edi,%ecx
924         xorl    16(%rsp),%edx
925         leal    -1894007588(%r14,%rsi,1),%esi
926         xorl    %r12d,%ebx
927         roll    $5,%ecx
928         addl    %eax,%esi
929         roll    $1,%edx
930         andl    %r11d,%ebx
931         addl    %ecx,%esi
932         roll    $30,%r11d
933         addl    %ebx,%esi
934         xorl    52(%rsp),%ebp
935         movl    %edi,%eax
936         movl    %edx,48(%rsp)
937         movl    %esi,%ecx
938         xorl    60(%rsp),%ebp
939         xorl    %r12d,%eax
940         roll    $5,%ecx
941         xorl    20(%rsp),%ebp
942         leal    -899497514(%rdx,%r13,1),%r13d
943         xorl    %r11d,%eax
944         addl    %ecx,%r13d
945         roll    $30,%edi
946         addl    %eax,%r13d
947         roll    $1,%ebp
948         xorl    56(%rsp),%r14d
949         movl    %esi,%eax
950         movl    %ebp,52(%rsp)
951         movl    %r13d,%ecx
952         xorl    0(%rsp),%r14d
953         xorl    %r11d,%eax
954         roll    $5,%ecx
955         xorl    24(%rsp),%r14d
956         leal    -899497514(%rbp,%r12,1),%r12d
957         xorl    %edi,%eax
958         addl    %ecx,%r12d
959         roll    $30,%esi
960         addl    %eax,%r12d
961         roll    $1,%r14d
962         xorl    60(%rsp),%edx
963         movl    %r13d,%eax
964         movl    %r14d,56(%rsp)
965         movl    %r12d,%ecx
966         xorl    4(%rsp),%edx
967         xorl    %edi,%eax
968         roll    $5,%ecx
969         xorl    28(%rsp),%edx
970         leal    -899497514(%r14,%r11,1),%r11d
971         xorl    %esi,%eax
972         addl    %ecx,%r11d
973         roll    $30,%r13d
974         addl    %eax,%r11d
975         roll    $1,%edx
976         xorl    0(%rsp),%ebp
977         movl    %r12d,%eax
978         movl    %edx,60(%rsp)
979         movl    %r11d,%ecx
980         xorl    8(%rsp),%ebp
981         xorl    %esi,%eax
982         roll    $5,%ecx
983         xorl    32(%rsp),%ebp
984         leal    -899497514(%rdx,%rdi,1),%edi
985         xorl    %r13d,%eax
986         addl    %ecx,%edi
987         roll    $30,%r12d
988         addl    %eax,%edi
989         roll    $1,%ebp
990         xorl    4(%rsp),%r14d
991         movl    %r11d,%eax
992         movl    %ebp,0(%rsp)
993         movl    %edi,%ecx
994         xorl    12(%rsp),%r14d
995         xorl    %r13d,%eax
996         roll    $5,%ecx
997         xorl    36(%rsp),%r14d
998         leal    -899497514(%rbp,%rsi,1),%esi
999         xorl    %r12d,%eax
1000         addl    %ecx,%esi
1001         roll    $30,%r11d
1002         addl    %eax,%esi
1003         roll    $1,%r14d
1004         xorl    8(%rsp),%edx
1005         movl    %edi,%eax
1006         movl    %r14d,4(%rsp)
1007         movl    %esi,%ecx
1008         xorl    16(%rsp),%edx
1009         xorl    %r12d,%eax
1010         roll    $5,%ecx
1011         xorl    40(%rsp),%edx
1012         leal    -899497514(%r14,%r13,1),%r13d
1013         xorl    %r11d,%eax
1014         addl    %ecx,%r13d
1015         roll    $30,%edi
1016         addl    %eax,%r13d
1017         roll    $1,%edx
1018         xorl    12(%rsp),%ebp
1019         movl    %esi,%eax
1020         movl    %edx,8(%rsp)
1021         movl    %r13d,%ecx
1022         xorl    20(%rsp),%ebp
1023         xorl    %r11d,%eax
1024         roll    $5,%ecx
1025         xorl    44(%rsp),%ebp
1026         leal    -899497514(%rdx,%r12,1),%r12d
1027         xorl    %edi,%eax
1028         addl    %ecx,%r12d
1029         roll    $30,%esi
1030         addl    %eax,%r12d
1031         roll    $1,%ebp
1032         xorl    16(%rsp),%r14d
1033         movl    %r13d,%eax
1034         movl    %ebp,12(%rsp)
1035         movl    %r12d,%ecx
1036         xorl    24(%rsp),%r14d
1037         xorl    %edi,%eax
1038         roll    $5,%ecx
1039         xorl    48(%rsp),%r14d
1040         leal    -899497514(%rbp,%r11,1),%r11d
1041         xorl    %esi,%eax
1042         addl    %ecx,%r11d
1043         roll    $30,%r13d
1044         addl    %eax,%r11d
1045         roll    $1,%r14d
1046         xorl    20(%rsp),%edx
1047         movl    %r12d,%eax
1048         movl    %r14d,16(%rsp)
1049         movl    %r11d,%ecx
1050         xorl    28(%rsp),%edx
1051         xorl    %esi,%eax
1052         roll    $5,%ecx
1053         xorl    52(%rsp),%edx
1054         leal    -899497514(%r14,%rdi,1),%edi
1055         xorl    %r13d,%eax
1056         addl    %ecx,%edi
1057         roll    $30,%r12d
1058         addl    %eax,%edi
1059         roll    $1,%edx
1060         xorl    24(%rsp),%ebp
1061         movl    %r11d,%eax
1062         movl    %edx,20(%rsp)
1063         movl    %edi,%ecx
1064         xorl    32(%rsp),%ebp
1065         xorl    %r13d,%eax
1066         roll    $5,%ecx
1067         xorl    56(%rsp),%ebp
1068         leal    -899497514(%rdx,%rsi,1),%esi
1069         xorl    %r12d,%eax
1070         addl    %ecx,%esi
1071         roll    $30,%r11d
1072         addl    %eax,%esi
1073         roll    $1,%ebp
1074         xorl    28(%rsp),%r14d
1075         movl    %edi,%eax
1076         movl    %ebp,24(%rsp)
1077         movl    %esi,%ecx
1078         xorl    36(%rsp),%r14d
1079         xorl    %r12d,%eax
1080         roll    $5,%ecx
1081         xorl    60(%rsp),%r14d
1082         leal    -899497514(%rbp,%r13,1),%r13d
1083         xorl    %r11d,%eax
1084         addl    %ecx,%r13d
1085         roll    $30,%edi
1086         addl    %eax,%r13d
1087         roll    $1,%r14d
1088         xorl    32(%rsp),%edx
1089         movl    %esi,%eax
1090         movl    %r14d,28(%rsp)
1091         movl    %r13d,%ecx
1092         xorl    40(%rsp),%edx
1093         xorl    %r11d,%eax
1094         roll    $5,%ecx
1095         xorl    0(%rsp),%edx
1096         leal    -899497514(%r14,%r12,1),%r12d
1097         xorl    %edi,%eax
1098         addl    %ecx,%r12d
1099         roll    $30,%esi
1100         addl    %eax,%r12d
1101         roll    $1,%edx
1102         xorl    36(%rsp),%ebp
1103         movl    %r13d,%eax
1104
1105         movl    %r12d,%ecx
1106         xorl    44(%rsp),%ebp
1107         xorl    %edi,%eax
1108         roll    $5,%ecx
1109         xorl    4(%rsp),%ebp
1110         leal    -899497514(%rdx,%r11,1),%r11d
1111         xorl    %esi,%eax
1112         addl    %ecx,%r11d
1113         roll    $30,%r13d
1114         addl    %eax,%r11d
1115         roll    $1,%ebp
1116         xorl    40(%rsp),%r14d
1117         movl    %r12d,%eax
1118
1119         movl    %r11d,%ecx
1120         xorl    48(%rsp),%r14d
1121         xorl    %esi,%eax
1122         roll    $5,%ecx
1123         xorl    8(%rsp),%r14d
1124         leal    -899497514(%rbp,%rdi,1),%edi
1125         xorl    %r13d,%eax
1126         addl    %ecx,%edi
1127         roll    $30,%r12d
1128         addl    %eax,%edi
1129         roll    $1,%r14d
1130         xorl    44(%rsp),%edx
1131         movl    %r11d,%eax
1132
1133         movl    %edi,%ecx
1134         xorl    52(%rsp),%edx
1135         xorl    %r13d,%eax
1136         roll    $5,%ecx
1137         xorl    12(%rsp),%edx
1138         leal    -899497514(%r14,%rsi,1),%esi
1139         xorl    %r12d,%eax
1140         addl    %ecx,%esi
1141         roll    $30,%r11d
1142         addl    %eax,%esi
1143         roll    $1,%edx
1144         xorl    48(%rsp),%ebp
1145         movl    %edi,%eax
1146
1147         movl    %esi,%ecx
1148         xorl    56(%rsp),%ebp
1149         xorl    %r12d,%eax
1150         roll    $5,%ecx
1151         xorl    16(%rsp),%ebp
1152         leal    -899497514(%rdx,%r13,1),%r13d
1153         xorl    %r11d,%eax
1154         addl    %ecx,%r13d
1155         roll    $30,%edi
1156         addl    %eax,%r13d
1157         roll    $1,%ebp
1158         xorl    52(%rsp),%r14d
1159         movl    %esi,%eax
1160
1161         movl    %r13d,%ecx
1162         xorl    60(%rsp),%r14d
1163         xorl    %r11d,%eax
1164         roll    $5,%ecx
1165         xorl    20(%rsp),%r14d
1166         leal    -899497514(%rbp,%r12,1),%r12d
1167         xorl    %edi,%eax
1168         addl    %ecx,%r12d
1169         roll    $30,%esi
1170         addl    %eax,%r12d
1171         roll    $1,%r14d
1172         xorl    56(%rsp),%edx
1173         movl    %r13d,%eax
1174
1175         movl    %r12d,%ecx
1176         xorl    0(%rsp),%edx
1177         xorl    %edi,%eax
1178         roll    $5,%ecx
1179         xorl    24(%rsp),%edx
1180         leal    -899497514(%r14,%r11,1),%r11d
1181         xorl    %esi,%eax
1182         addl    %ecx,%r11d
1183         roll    $30,%r13d
1184         addl    %eax,%r11d
1185         roll    $1,%edx
1186         xorl    60(%rsp),%ebp
1187         movl    %r12d,%eax
1188
1189         movl    %r11d,%ecx
1190         xorl    4(%rsp),%ebp
1191         xorl    %esi,%eax
1192         roll    $5,%ecx
1193         xorl    28(%rsp),%ebp
1194         leal    -899497514(%rdx,%rdi,1),%edi
1195         xorl    %r13d,%eax
1196         addl    %ecx,%edi
1197         roll    $30,%r12d
1198         addl    %eax,%edi
1199         roll    $1,%ebp
1200         movl    %r11d,%eax
1201         movl    %edi,%ecx
1202         xorl    %r13d,%eax
1203         leal    -899497514(%rbp,%rsi,1),%esi
1204         roll    $5,%ecx
1205         xorl    %r12d,%eax
1206         addl    %ecx,%esi
1207         roll    $30,%r11d
1208         addl    %eax,%esi
1209         addl    0(%r8),%esi
1210         addl    4(%r8),%edi
1211         addl    8(%r8),%r11d
1212         addl    12(%r8),%r12d
1213         addl    16(%r8),%r13d
1214         movl    %esi,0(%r8)
1215         movl    %edi,4(%r8)
1216         movl    %r11d,8(%r8)
1217         movl    %r12d,12(%r8)
1218         movl    %r13d,16(%r8)
1219
1220         subq    $1,%r10
1221         leaq    64(%r9),%r9
1222         jnz     L$loop
1223
1224         movq    64(%rsp),%rsi
1225         movq    -40(%rsi),%r14
1226         movq    -32(%rsi),%r13
1227         movq    -24(%rsi),%r12
1228         movq    -16(%rsi),%rbp
1229         movq    -8(%rsi),%rbx
1230         leaq    (%rsi),%rsp
1231 L$epilogue:
1232         .byte   0xf3,0xc3
1233
1234
1235 .p2align        4
1236 sha1_block_data_order_ssse3:
1237 _ssse3_shortcut:
1238         movq    %rsp,%rax
1239         pushq   %rbx
1240         pushq   %rbp
1241         pushq   %r12
1242         pushq   %r13
1243         pushq   %r14
1244         leaq    -64(%rsp),%rsp
1245         movq    %rax,%r14
1246         andq    $-64,%rsp
1247         movq    %rdi,%r8
1248         movq    %rsi,%r9
1249         movq    %rdx,%r10
1250
1251         shlq    $6,%r10
1252         addq    %r9,%r10
1253         leaq    K_XX_XX+64(%rip),%r11
1254
1255         movl    0(%r8),%eax
1256         movl    4(%r8),%ebx
1257         movl    8(%r8),%ecx
1258         movl    12(%r8),%edx
1259         movl    %ebx,%esi
1260         movl    16(%r8),%ebp
1261         movl    %ecx,%edi
1262         xorl    %edx,%edi
1263         andl    %edi,%esi
1264
1265         movdqa  64(%r11),%xmm6
1266         movdqa  -64(%r11),%xmm9
1267         movdqu  0(%r9),%xmm0
1268         movdqu  16(%r9),%xmm1
1269         movdqu  32(%r9),%xmm2
1270         movdqu  48(%r9),%xmm3
1271 .byte   102,15,56,0,198
1272 .byte   102,15,56,0,206
1273 .byte   102,15,56,0,214
1274         addq    $64,%r9
1275         paddd   %xmm9,%xmm0
1276 .byte   102,15,56,0,222
1277         paddd   %xmm9,%xmm1
1278         paddd   %xmm9,%xmm2
1279         movdqa  %xmm0,0(%rsp)
1280         psubd   %xmm9,%xmm0
1281         movdqa  %xmm1,16(%rsp)
1282         psubd   %xmm9,%xmm1
1283         movdqa  %xmm2,32(%rsp)
1284         psubd   %xmm9,%xmm2
1285         jmp     L$oop_ssse3
1286 .p2align        4
1287 L$oop_ssse3:
1288         rorl    $2,%ebx
1289         pshufd  $238,%xmm0,%xmm4
1290         xorl    %edx,%esi
1291         movdqa  %xmm3,%xmm8
1292         paddd   %xmm3,%xmm9
1293         movl    %eax,%edi
1294         addl    0(%rsp),%ebp
1295         punpcklqdq      %xmm1,%xmm4
1296         xorl    %ecx,%ebx
1297         roll    $5,%eax
1298         addl    %esi,%ebp
1299         psrldq  $4,%xmm8
1300         andl    %ebx,%edi
1301         xorl    %ecx,%ebx
1302         pxor    %xmm0,%xmm4
1303         addl    %eax,%ebp
1304         rorl    $7,%eax
1305         pxor    %xmm2,%xmm8
1306         xorl    %ecx,%edi
1307         movl    %ebp,%esi
1308         addl    4(%rsp),%edx
1309         pxor    %xmm8,%xmm4
1310         xorl    %ebx,%eax
1311         roll    $5,%ebp
1312         movdqa  %xmm9,48(%rsp)
1313         addl    %edi,%edx
1314         andl    %eax,%esi
1315         movdqa  %xmm4,%xmm10
1316         xorl    %ebx,%eax
1317         addl    %ebp,%edx
1318         rorl    $7,%ebp
1319         movdqa  %xmm4,%xmm8
1320         xorl    %ebx,%esi
1321         pslldq  $12,%xmm10
1322         paddd   %xmm4,%xmm4
1323         movl    %edx,%edi
1324         addl    8(%rsp),%ecx
1325         psrld   $31,%xmm8
1326         xorl    %eax,%ebp
1327         roll    $5,%edx
1328         addl    %esi,%ecx
1329         movdqa  %xmm10,%xmm9
1330         andl    %ebp,%edi
1331         xorl    %eax,%ebp
1332         psrld   $30,%xmm10
1333         addl    %edx,%ecx
1334         rorl    $7,%edx
1335         por     %xmm8,%xmm4
1336         xorl    %eax,%edi
1337         movl    %ecx,%esi
1338         addl    12(%rsp),%ebx
1339         pslld   $2,%xmm9
1340         pxor    %xmm10,%xmm4
1341         xorl    %ebp,%edx
1342         movdqa  -64(%r11),%xmm10
1343         roll    $5,%ecx
1344         addl    %edi,%ebx
1345         andl    %edx,%esi
1346         pxor    %xmm9,%xmm4
1347         xorl    %ebp,%edx
1348         addl    %ecx,%ebx
1349         rorl    $7,%ecx
1350         pshufd  $238,%xmm1,%xmm5
1351         xorl    %ebp,%esi
1352         movdqa  %xmm4,%xmm9
1353         paddd   %xmm4,%xmm10
1354         movl    %ebx,%edi
1355         addl    16(%rsp),%eax
1356         punpcklqdq      %xmm2,%xmm5
1357         xorl    %edx,%ecx
1358         roll    $5,%ebx
1359         addl    %esi,%eax
1360         psrldq  $4,%xmm9
1361         andl    %ecx,%edi
1362         xorl    %edx,%ecx
1363         pxor    %xmm1,%xmm5
1364         addl    %ebx,%eax
1365         rorl    $7,%ebx
1366         pxor    %xmm3,%xmm9
1367         xorl    %edx,%edi
1368         movl    %eax,%esi
1369         addl    20(%rsp),%ebp
1370         pxor    %xmm9,%xmm5
1371         xorl    %ecx,%ebx
1372         roll    $5,%eax
1373         movdqa  %xmm10,0(%rsp)
1374         addl    %edi,%ebp
1375         andl    %ebx,%esi
1376         movdqa  %xmm5,%xmm8
1377         xorl    %ecx,%ebx
1378         addl    %eax,%ebp
1379         rorl    $7,%eax
1380         movdqa  %xmm5,%xmm9
1381         xorl    %ecx,%esi
1382         pslldq  $12,%xmm8
1383         paddd   %xmm5,%xmm5
1384         movl    %ebp,%edi
1385         addl    24(%rsp),%edx
1386         psrld   $31,%xmm9
1387         xorl    %ebx,%eax
1388         roll    $5,%ebp
1389         addl    %esi,%edx
1390         movdqa  %xmm8,%xmm10
1391         andl    %eax,%edi
1392         xorl    %ebx,%eax
1393         psrld   $30,%xmm8
1394         addl    %ebp,%edx
1395         rorl    $7,%ebp
1396         por     %xmm9,%xmm5
1397         xorl    %ebx,%edi
1398         movl    %edx,%esi
1399         addl    28(%rsp),%ecx
1400         pslld   $2,%xmm10
1401         pxor    %xmm8,%xmm5
1402         xorl    %eax,%ebp
1403         movdqa  -32(%r11),%xmm8
1404         roll    $5,%edx
1405         addl    %edi,%ecx
1406         andl    %ebp,%esi
1407         pxor    %xmm10,%xmm5
1408         xorl    %eax,%ebp
1409         addl    %edx,%ecx
1410         rorl    $7,%edx
1411         pshufd  $238,%xmm2,%xmm6
1412         xorl    %eax,%esi
1413         movdqa  %xmm5,%xmm10
1414         paddd   %xmm5,%xmm8
1415         movl    %ecx,%edi
1416         addl    32(%rsp),%ebx
1417         punpcklqdq      %xmm3,%xmm6
1418         xorl    %ebp,%edx
1419         roll    $5,%ecx
1420         addl    %esi,%ebx
1421         psrldq  $4,%xmm10
1422         andl    %edx,%edi
1423         xorl    %ebp,%edx
1424         pxor    %xmm2,%xmm6
1425         addl    %ecx,%ebx
1426         rorl    $7,%ecx
1427         pxor    %xmm4,%xmm10
1428         xorl    %ebp,%edi
1429         movl    %ebx,%esi
1430         addl    36(%rsp),%eax
1431         pxor    %xmm10,%xmm6
1432         xorl    %edx,%ecx
1433         roll    $5,%ebx
1434         movdqa  %xmm8,16(%rsp)
1435         addl    %edi,%eax
1436         andl    %ecx,%esi
1437         movdqa  %xmm6,%xmm9
1438         xorl    %edx,%ecx
1439         addl    %ebx,%eax
1440         rorl    $7,%ebx
1441         movdqa  %xmm6,%xmm10
1442         xorl    %edx,%esi
1443         pslldq  $12,%xmm9
1444         paddd   %xmm6,%xmm6
1445         movl    %eax,%edi
1446         addl    40(%rsp),%ebp
1447         psrld   $31,%xmm10
1448         xorl    %ecx,%ebx
1449         roll    $5,%eax
1450         addl    %esi,%ebp
1451         movdqa  %xmm9,%xmm8
1452         andl    %ebx,%edi
1453         xorl    %ecx,%ebx
1454         psrld   $30,%xmm9
1455         addl    %eax,%ebp
1456         rorl    $7,%eax
1457         por     %xmm10,%xmm6
1458         xorl    %ecx,%edi
1459         movl    %ebp,%esi
1460         addl    44(%rsp),%edx
1461         pslld   $2,%xmm8
1462         pxor    %xmm9,%xmm6
1463         xorl    %ebx,%eax
1464         movdqa  -32(%r11),%xmm9
1465         roll    $5,%ebp
1466         addl    %edi,%edx
1467         andl    %eax,%esi
1468         pxor    %xmm8,%xmm6
1469         xorl    %ebx,%eax
1470         addl    %ebp,%edx
1471         rorl    $7,%ebp
1472         pshufd  $238,%xmm3,%xmm7
1473         xorl    %ebx,%esi
1474         movdqa  %xmm6,%xmm8
1475         paddd   %xmm6,%xmm9
1476         movl    %edx,%edi
1477         addl    48(%rsp),%ecx
1478         punpcklqdq      %xmm4,%xmm7
1479         xorl    %eax,%ebp
1480         roll    $5,%edx
1481         addl    %esi,%ecx
1482         psrldq  $4,%xmm8
1483         andl    %ebp,%edi
1484         xorl    %eax,%ebp
1485         pxor    %xmm3,%xmm7
1486         addl    %edx,%ecx
1487         rorl    $7,%edx
1488         pxor    %xmm5,%xmm8
1489         xorl    %eax,%edi
1490         movl    %ecx,%esi
1491         addl    52(%rsp),%ebx
1492         pxor    %xmm8,%xmm7
1493         xorl    %ebp,%edx
1494         roll    $5,%ecx
1495         movdqa  %xmm9,32(%rsp)
1496         addl    %edi,%ebx
1497         andl    %edx,%esi
1498         movdqa  %xmm7,%xmm10
1499         xorl    %ebp,%edx
1500         addl    %ecx,%ebx
1501         rorl    $7,%ecx
1502         movdqa  %xmm7,%xmm8
1503         xorl    %ebp,%esi
1504         pslldq  $12,%xmm10
1505         paddd   %xmm7,%xmm7
1506         movl    %ebx,%edi
1507         addl    56(%rsp),%eax
1508         psrld   $31,%xmm8
1509         xorl    %edx,%ecx
1510         roll    $5,%ebx
1511         addl    %esi,%eax
1512         movdqa  %xmm10,%xmm9
1513         andl    %ecx,%edi
1514         xorl    %edx,%ecx
1515         psrld   $30,%xmm10
1516         addl    %ebx,%eax
1517         rorl    $7,%ebx
1518         por     %xmm8,%xmm7
1519         xorl    %edx,%edi
1520         movl    %eax,%esi
1521         addl    60(%rsp),%ebp
1522         pslld   $2,%xmm9
1523         pxor    %xmm10,%xmm7
1524         xorl    %ecx,%ebx
1525         movdqa  -32(%r11),%xmm10
1526         roll    $5,%eax
1527         addl    %edi,%ebp
1528         andl    %ebx,%esi
1529         pxor    %xmm9,%xmm7
1530         pshufd  $238,%xmm6,%xmm9
1531         xorl    %ecx,%ebx
1532         addl    %eax,%ebp
1533         rorl    $7,%eax
1534         pxor    %xmm4,%xmm0
1535         xorl    %ecx,%esi
1536         movl    %ebp,%edi
1537         addl    0(%rsp),%edx
1538         punpcklqdq      %xmm7,%xmm9
1539         xorl    %ebx,%eax
1540         roll    $5,%ebp
1541         pxor    %xmm1,%xmm0
1542         addl    %esi,%edx
1543         andl    %eax,%edi
1544         movdqa  %xmm10,%xmm8
1545         xorl    %ebx,%eax
1546         paddd   %xmm7,%xmm10
1547         addl    %ebp,%edx
1548         pxor    %xmm9,%xmm0
1549         rorl    $7,%ebp
1550         xorl    %ebx,%edi
1551         movl    %edx,%esi
1552         addl    4(%rsp),%ecx
1553         movdqa  %xmm0,%xmm9
1554         xorl    %eax,%ebp
1555         roll    $5,%edx
1556         movdqa  %xmm10,48(%rsp)
1557         addl    %edi,%ecx
1558         andl    %ebp,%esi
1559         xorl    %eax,%ebp
1560         pslld   $2,%xmm0
1561         addl    %edx,%ecx
1562         rorl    $7,%edx
1563         psrld   $30,%xmm9
1564         xorl    %eax,%esi
1565         movl    %ecx,%edi
1566         addl    8(%rsp),%ebx
1567         por     %xmm9,%xmm0
1568         xorl    %ebp,%edx
1569         roll    $5,%ecx
1570         pshufd  $238,%xmm7,%xmm10
1571         addl    %esi,%ebx
1572         andl    %edx,%edi
1573         xorl    %ebp,%edx
1574         addl    %ecx,%ebx
1575         addl    12(%rsp),%eax
1576         xorl    %ebp,%edi
1577         movl    %ebx,%esi
1578         roll    $5,%ebx
1579         addl    %edi,%eax
1580         xorl    %edx,%esi
1581         rorl    $7,%ecx
1582         addl    %ebx,%eax
1583         pxor    %xmm5,%xmm1
1584         addl    16(%rsp),%ebp
1585         xorl    %ecx,%esi
1586         punpcklqdq      %xmm0,%xmm10
1587         movl    %eax,%edi
1588         roll    $5,%eax
1589         pxor    %xmm2,%xmm1
1590         addl    %esi,%ebp
1591         xorl    %ecx,%edi
1592         movdqa  %xmm8,%xmm9
1593         rorl    $7,%ebx
1594         paddd   %xmm0,%xmm8
1595         addl    %eax,%ebp
1596         pxor    %xmm10,%xmm1
1597         addl    20(%rsp),%edx
1598         xorl    %ebx,%edi
1599         movl    %ebp,%esi
1600         roll    $5,%ebp
1601         movdqa  %xmm1,%xmm10
1602         addl    %edi,%edx
1603         xorl    %ebx,%esi
1604         movdqa  %xmm8,0(%rsp)
1605         rorl    $7,%eax
1606         addl    %ebp,%edx
1607         addl    24(%rsp),%ecx
1608         pslld   $2,%xmm1
1609         xorl    %eax,%esi
1610         movl    %edx,%edi
1611         psrld   $30,%xmm10
1612         roll    $5,%edx
1613         addl    %esi,%ecx
1614         xorl    %eax,%edi
1615         rorl    $7,%ebp
1616         por     %xmm10,%xmm1
1617         addl    %edx,%ecx
1618         addl    28(%rsp),%ebx
1619         pshufd  $238,%xmm0,%xmm8
1620         xorl    %ebp,%edi
1621         movl    %ecx,%esi
1622         roll    $5,%ecx
1623         addl    %edi,%ebx
1624         xorl    %ebp,%esi
1625         rorl    $7,%edx
1626         addl    %ecx,%ebx
1627         pxor    %xmm6,%xmm2
1628         addl    32(%rsp),%eax
1629         xorl    %edx,%esi
1630         punpcklqdq      %xmm1,%xmm8
1631         movl    %ebx,%edi
1632         roll    $5,%ebx
1633         pxor    %xmm3,%xmm2
1634         addl    %esi,%eax
1635         xorl    %edx,%edi
1636         movdqa  0(%r11),%xmm10
1637         rorl    $7,%ecx
1638         paddd   %xmm1,%xmm9
1639         addl    %ebx,%eax
1640         pxor    %xmm8,%xmm2
1641         addl    36(%rsp),%ebp
1642         xorl    %ecx,%edi
1643         movl    %eax,%esi
1644         roll    $5,%eax
1645         movdqa  %xmm2,%xmm8
1646         addl    %edi,%ebp
1647         xorl    %ecx,%esi
1648         movdqa  %xmm9,16(%rsp)
1649         rorl    $7,%ebx
1650         addl    %eax,%ebp
1651         addl    40(%rsp),%edx
1652         pslld   $2,%xmm2
1653         xorl    %ebx,%esi
1654         movl    %ebp,%edi
1655         psrld   $30,%xmm8
1656         roll    $5,%ebp
1657         addl    %esi,%edx
1658         xorl    %ebx,%edi
1659         rorl    $7,%eax
1660         por     %xmm8,%xmm2
1661         addl    %ebp,%edx
1662         addl    44(%rsp),%ecx
1663         pshufd  $238,%xmm1,%xmm9
1664         xorl    %eax,%edi
1665         movl    %edx,%esi
1666         roll    $5,%edx
1667         addl    %edi,%ecx
1668         xorl    %eax,%esi
1669         rorl    $7,%ebp
1670         addl    %edx,%ecx
1671         pxor    %xmm7,%xmm3
1672         addl    48(%rsp),%ebx
1673         xorl    %ebp,%esi
1674         punpcklqdq      %xmm2,%xmm9
1675         movl    %ecx,%edi
1676         roll    $5,%ecx
1677         pxor    %xmm4,%xmm3
1678         addl    %esi,%ebx
1679         xorl    %ebp,%edi
1680         movdqa  %xmm10,%xmm8
1681         rorl    $7,%edx
1682         paddd   %xmm2,%xmm10
1683         addl    %ecx,%ebx
1684         pxor    %xmm9,%xmm3
1685         addl    52(%rsp),%eax
1686         xorl    %edx,%edi
1687         movl    %ebx,%esi
1688         roll    $5,%ebx
1689         movdqa  %xmm3,%xmm9
1690         addl    %edi,%eax
1691         xorl    %edx,%esi
1692         movdqa  %xmm10,32(%rsp)
1693         rorl    $7,%ecx
1694         addl    %ebx,%eax
1695         addl    56(%rsp),%ebp
1696         pslld   $2,%xmm3
1697         xorl    %ecx,%esi
1698         movl    %eax,%edi
1699         psrld   $30,%xmm9
1700         roll    $5,%eax
1701         addl    %esi,%ebp
1702         xorl    %ecx,%edi
1703         rorl    $7,%ebx
1704         por     %xmm9,%xmm3
1705         addl    %eax,%ebp
1706         addl    60(%rsp),%edx
1707         pshufd  $238,%xmm2,%xmm10
1708         xorl    %ebx,%edi
1709         movl    %ebp,%esi
1710         roll    $5,%ebp
1711         addl    %edi,%edx
1712         xorl    %ebx,%esi
1713         rorl    $7,%eax
1714         addl    %ebp,%edx
1715         pxor    %xmm0,%xmm4
1716         addl    0(%rsp),%ecx
1717         xorl    %eax,%esi
1718         punpcklqdq      %xmm3,%xmm10
1719         movl    %edx,%edi
1720         roll    $5,%edx
1721         pxor    %xmm5,%xmm4
1722         addl    %esi,%ecx
1723         xorl    %eax,%edi
1724         movdqa  %xmm8,%xmm9
1725         rorl    $7,%ebp
1726         paddd   %xmm3,%xmm8
1727         addl    %edx,%ecx
1728         pxor    %xmm10,%xmm4
1729         addl    4(%rsp),%ebx
1730         xorl    %ebp,%edi
1731         movl    %ecx,%esi
1732         roll    $5,%ecx
1733         movdqa  %xmm4,%xmm10
1734         addl    %edi,%ebx
1735         xorl    %ebp,%esi
1736         movdqa  %xmm8,48(%rsp)
1737         rorl    $7,%edx
1738         addl    %ecx,%ebx
1739         addl    8(%rsp),%eax
1740         pslld   $2,%xmm4
1741         xorl    %edx,%esi
1742         movl    %ebx,%edi
1743         psrld   $30,%xmm10
1744         roll    $5,%ebx
1745         addl    %esi,%eax
1746         xorl    %edx,%edi
1747         rorl    $7,%ecx
1748         por     %xmm10,%xmm4
1749         addl    %ebx,%eax
1750         addl    12(%rsp),%ebp
1751         pshufd  $238,%xmm3,%xmm8
1752         xorl    %ecx,%edi
1753         movl    %eax,%esi
1754         roll    $5,%eax
1755         addl    %edi,%ebp
1756         xorl    %ecx,%esi
1757         rorl    $7,%ebx
1758         addl    %eax,%ebp
1759         pxor    %xmm1,%xmm5
1760         addl    16(%rsp),%edx
1761         xorl    %ebx,%esi
1762         punpcklqdq      %xmm4,%xmm8
1763         movl    %ebp,%edi
1764         roll    $5,%ebp
1765         pxor    %xmm6,%xmm5
1766         addl    %esi,%edx
1767         xorl    %ebx,%edi
1768         movdqa  %xmm9,%xmm10
1769         rorl    $7,%eax
1770         paddd   %xmm4,%xmm9
1771         addl    %ebp,%edx
1772         pxor    %xmm8,%xmm5
1773         addl    20(%rsp),%ecx
1774         xorl    %eax,%edi
1775         movl    %edx,%esi
1776         roll    $5,%edx
1777         movdqa  %xmm5,%xmm8
1778         addl    %edi,%ecx
1779         xorl    %eax,%esi
1780         movdqa  %xmm9,0(%rsp)
1781         rorl    $7,%ebp
1782         addl    %edx,%ecx
1783         addl    24(%rsp),%ebx
1784         pslld   $2,%xmm5
1785         xorl    %ebp,%esi
1786         movl    %ecx,%edi
1787         psrld   $30,%xmm8
1788         roll    $5,%ecx
1789         addl    %esi,%ebx
1790         xorl    %ebp,%edi
1791         rorl    $7,%edx
1792         por     %xmm8,%xmm5
1793         addl    %ecx,%ebx
1794         addl    28(%rsp),%eax
1795         pshufd  $238,%xmm4,%xmm9
1796         rorl    $7,%ecx
1797         movl    %ebx,%esi
1798         xorl    %edx,%edi
1799         roll    $5,%ebx
1800         addl    %edi,%eax
1801         xorl    %ecx,%esi
1802         xorl    %edx,%ecx
1803         addl    %ebx,%eax
1804         pxor    %xmm2,%xmm6
1805         addl    32(%rsp),%ebp
1806         andl    %ecx,%esi
1807         xorl    %edx,%ecx
1808         rorl    $7,%ebx
1809         punpcklqdq      %xmm5,%xmm9
1810         movl    %eax,%edi
1811         xorl    %ecx,%esi
1812         pxor    %xmm7,%xmm6
1813         roll    $5,%eax
1814         addl    %esi,%ebp
1815         movdqa  %xmm10,%xmm8
1816         xorl    %ebx,%edi
1817         paddd   %xmm5,%xmm10
1818         xorl    %ecx,%ebx
1819         pxor    %xmm9,%xmm6
1820         addl    %eax,%ebp
1821         addl    36(%rsp),%edx
1822         andl    %ebx,%edi
1823         xorl    %ecx,%ebx
1824         rorl    $7,%eax
1825         movdqa  %xmm6,%xmm9
1826         movl    %ebp,%esi
1827         xorl    %ebx,%edi
1828         movdqa  %xmm10,16(%rsp)
1829         roll    $5,%ebp
1830         addl    %edi,%edx
1831         xorl    %eax,%esi
1832         pslld   $2,%xmm6
1833         xorl    %ebx,%eax
1834         addl    %ebp,%edx
1835         psrld   $30,%xmm9
1836         addl    40(%rsp),%ecx
1837         andl    %eax,%esi
1838         xorl    %ebx,%eax
1839         por     %xmm9,%xmm6
1840         rorl    $7,%ebp
1841         movl    %edx,%edi
1842         xorl    %eax,%esi
1843         roll    $5,%edx
1844         pshufd  $238,%xmm5,%xmm10
1845         addl    %esi,%ecx
1846         xorl    %ebp,%edi
1847         xorl    %eax,%ebp
1848         addl    %edx,%ecx
1849         addl    44(%rsp),%ebx
1850         andl    %ebp,%edi
1851         xorl    %eax,%ebp
1852         rorl    $7,%edx
1853         movl    %ecx,%esi
1854         xorl    %ebp,%edi
1855         roll    $5,%ecx
1856         addl    %edi,%ebx
1857         xorl    %edx,%esi
1858         xorl    %ebp,%edx
1859         addl    %ecx,%ebx
1860         pxor    %xmm3,%xmm7
1861         addl    48(%rsp),%eax
1862         andl    %edx,%esi
1863         xorl    %ebp,%edx
1864         rorl    $7,%ecx
1865         punpcklqdq      %xmm6,%xmm10
1866         movl    %ebx,%edi
1867         xorl    %edx,%esi
1868         pxor    %xmm0,%xmm7
1869         roll    $5,%ebx
1870         addl    %esi,%eax
1871         movdqa  32(%r11),%xmm9
1872         xorl    %ecx,%edi
1873         paddd   %xmm6,%xmm8
1874         xorl    %edx,%ecx
1875         pxor    %xmm10,%xmm7
1876         addl    %ebx,%eax
1877         addl    52(%rsp),%ebp
1878         andl    %ecx,%edi
1879         xorl    %edx,%ecx
1880         rorl    $7,%ebx
1881         movdqa  %xmm7,%xmm10
1882         movl    %eax,%esi
1883         xorl    %ecx,%edi
1884         movdqa  %xmm8,32(%rsp)
1885         roll    $5,%eax
1886         addl    %edi,%ebp
1887         xorl    %ebx,%esi
1888         pslld   $2,%xmm7
1889         xorl    %ecx,%ebx
1890         addl    %eax,%ebp
1891         psrld   $30,%xmm10
1892         addl    56(%rsp),%edx
1893         andl    %ebx,%esi
1894         xorl    %ecx,%ebx
1895         por     %xmm10,%xmm7
1896         rorl    $7,%eax
1897         movl    %ebp,%edi
1898         xorl    %ebx,%esi
1899         roll    $5,%ebp
1900         pshufd  $238,%xmm6,%xmm8
1901         addl    %esi,%edx
1902         xorl    %eax,%edi
1903         xorl    %ebx,%eax
1904         addl    %ebp,%edx
1905         addl    60(%rsp),%ecx
1906         andl    %eax,%edi
1907         xorl    %ebx,%eax
1908         rorl    $7,%ebp
1909         movl    %edx,%esi
1910         xorl    %eax,%edi
1911         roll    $5,%edx
1912         addl    %edi,%ecx
1913         xorl    %ebp,%esi
1914         xorl    %eax,%ebp
1915         addl    %edx,%ecx
1916         pxor    %xmm4,%xmm0
1917         addl    0(%rsp),%ebx
1918         andl    %ebp,%esi
1919         xorl    %eax,%ebp
1920         rorl    $7,%edx
1921         punpcklqdq      %xmm7,%xmm8
1922         movl    %ecx,%edi
1923         xorl    %ebp,%esi
1924         pxor    %xmm1,%xmm0
1925         roll    $5,%ecx
1926         addl    %esi,%ebx
1927         movdqa  %xmm9,%xmm10
1928         xorl    %edx,%edi
1929         paddd   %xmm7,%xmm9
1930         xorl    %ebp,%edx
1931         pxor    %xmm8,%xmm0
1932         addl    %ecx,%ebx
1933         addl    4(%rsp),%eax
1934         andl    %edx,%edi
1935         xorl    %ebp,%edx
1936         rorl    $7,%ecx
1937         movdqa  %xmm0,%xmm8
1938         movl    %ebx,%esi
1939         xorl    %edx,%edi
1940         movdqa  %xmm9,48(%rsp)
1941         roll    $5,%ebx
1942         addl    %edi,%eax
1943         xorl    %ecx,%esi
1944         pslld   $2,%xmm0
1945         xorl    %edx,%ecx
1946         addl    %ebx,%eax
1947         psrld   $30,%xmm8
1948         addl    8(%rsp),%ebp
1949         andl    %ecx,%esi
1950         xorl    %edx,%ecx
1951         por     %xmm8,%xmm0
1952         rorl    $7,%ebx
1953         movl    %eax,%edi
1954         xorl    %ecx,%esi
1955         roll    $5,%eax
1956         pshufd  $238,%xmm7,%xmm9
1957         addl    %esi,%ebp
1958         xorl    %ebx,%edi
1959         xorl    %ecx,%ebx
1960         addl    %eax,%ebp
1961         addl    12(%rsp),%edx
1962         andl    %ebx,%edi
1963         xorl    %ecx,%ebx
1964         rorl    $7,%eax
1965         movl    %ebp,%esi
1966         xorl    %ebx,%edi
1967         roll    $5,%ebp
1968         addl    %edi,%edx
1969         xorl    %eax,%esi
1970         xorl    %ebx,%eax
1971         addl    %ebp,%edx
1972         pxor    %xmm5,%xmm1
1973         addl    16(%rsp),%ecx
1974         andl    %eax,%esi
1975         xorl    %ebx,%eax
1976         rorl    $7,%ebp
1977         punpcklqdq      %xmm0,%xmm9
1978         movl    %edx,%edi
1979         xorl    %eax,%esi
1980         pxor    %xmm2,%xmm1
1981         roll    $5,%edx
1982         addl    %esi,%ecx
1983         movdqa  %xmm10,%xmm8
1984         xorl    %ebp,%edi
1985         paddd   %xmm0,%xmm10
1986         xorl    %eax,%ebp
1987         pxor    %xmm9,%xmm1
1988         addl    %edx,%ecx
1989         addl    20(%rsp),%ebx
1990         andl    %ebp,%edi
1991         xorl    %eax,%ebp
1992         rorl    $7,%edx
1993         movdqa  %xmm1,%xmm9
1994         movl    %ecx,%esi
1995         xorl    %ebp,%edi
1996         movdqa  %xmm10,0(%rsp)
1997         roll    $5,%ecx
1998         addl    %edi,%ebx
1999         xorl    %edx,%esi
2000         pslld   $2,%xmm1
2001         xorl    %ebp,%edx
2002         addl    %ecx,%ebx
2003         psrld   $30,%xmm9
2004         addl    24(%rsp),%eax
2005         andl    %edx,%esi
2006         xorl    %ebp,%edx
2007         por     %xmm9,%xmm1
2008         rorl    $7,%ecx
2009         movl    %ebx,%edi
2010         xorl    %edx,%esi
2011         roll    $5,%ebx
2012         pshufd  $238,%xmm0,%xmm10
2013         addl    %esi,%eax
2014         xorl    %ecx,%edi
2015         xorl    %edx,%ecx
2016         addl    %ebx,%eax
2017         addl    28(%rsp),%ebp
2018         andl    %ecx,%edi
2019         xorl    %edx,%ecx
2020         rorl    $7,%ebx
2021         movl    %eax,%esi
2022         xorl    %ecx,%edi
2023         roll    $5,%eax
2024         addl    %edi,%ebp
2025         xorl    %ebx,%esi
2026         xorl    %ecx,%ebx
2027         addl    %eax,%ebp
2028         pxor    %xmm6,%xmm2
2029         addl    32(%rsp),%edx
2030         andl    %ebx,%esi
2031         xorl    %ecx,%ebx
2032         rorl    $7,%eax
2033         punpcklqdq      %xmm1,%xmm10
2034         movl    %ebp,%edi
2035         xorl    %ebx,%esi
2036         pxor    %xmm3,%xmm2
2037         roll    $5,%ebp
2038         addl    %esi,%edx
2039         movdqa  %xmm8,%xmm9
2040         xorl    %eax,%edi
2041         paddd   %xmm1,%xmm8
2042         xorl    %ebx,%eax
2043         pxor    %xmm10,%xmm2
2044         addl    %ebp,%edx
2045         addl    36(%rsp),%ecx
2046         andl    %eax,%edi
2047         xorl    %ebx,%eax
2048         rorl    $7,%ebp
2049         movdqa  %xmm2,%xmm10
2050         movl    %edx,%esi
2051         xorl    %eax,%edi
2052         movdqa  %xmm8,16(%rsp)
2053         roll    $5,%edx
2054         addl    %edi,%ecx
2055         xorl    %ebp,%esi
2056         pslld   $2,%xmm2
2057         xorl    %eax,%ebp
2058         addl    %edx,%ecx
2059         psrld   $30,%xmm10
2060         addl    40(%rsp),%ebx
2061         andl    %ebp,%esi
2062         xorl    %eax,%ebp
2063         por     %xmm10,%xmm2
2064         rorl    $7,%edx
2065         movl    %ecx,%edi
2066         xorl    %ebp,%esi
2067         roll    $5,%ecx
2068         pshufd  $238,%xmm1,%xmm8
2069         addl    %esi,%ebx
2070         xorl    %edx,%edi
2071         xorl    %ebp,%edx
2072         addl    %ecx,%ebx
2073         addl    44(%rsp),%eax
2074         andl    %edx,%edi
2075         xorl    %ebp,%edx
2076         rorl    $7,%ecx
2077         movl    %ebx,%esi
2078         xorl    %edx,%edi
2079         roll    $5,%ebx
2080         addl    %edi,%eax
2081         xorl    %edx,%esi
2082         addl    %ebx,%eax
2083         pxor    %xmm7,%xmm3
2084         addl    48(%rsp),%ebp
2085         xorl    %ecx,%esi
2086         punpcklqdq      %xmm2,%xmm8
2087         movl    %eax,%edi
2088         roll    $5,%eax
2089         pxor    %xmm4,%xmm3
2090         addl    %esi,%ebp
2091         xorl    %ecx,%edi
2092         movdqa  %xmm9,%xmm10
2093         rorl    $7,%ebx
2094         paddd   %xmm2,%xmm9
2095         addl    %eax,%ebp
2096         pxor    %xmm8,%xmm3
2097         addl    52(%rsp),%edx
2098         xorl    %ebx,%edi
2099         movl    %ebp,%esi
2100         roll    $5,%ebp
2101         movdqa  %xmm3,%xmm8
2102         addl    %edi,%edx
2103         xorl    %ebx,%esi
2104         movdqa  %xmm9,32(%rsp)
2105         rorl    $7,%eax
2106         addl    %ebp,%edx
2107         addl    56(%rsp),%ecx
2108         pslld   $2,%xmm3
2109         xorl    %eax,%esi
2110         movl    %edx,%edi
2111         psrld   $30,%xmm8
2112         roll    $5,%edx
2113         addl    %esi,%ecx
2114         xorl    %eax,%edi
2115         rorl    $7,%ebp
2116         por     %xmm8,%xmm3
2117         addl    %edx,%ecx
2118         addl    60(%rsp),%ebx
2119         xorl    %ebp,%edi
2120         movl    %ecx,%esi
2121         roll    $5,%ecx
2122         addl    %edi,%ebx
2123         xorl    %ebp,%esi
2124         rorl    $7,%edx
2125         addl    %ecx,%ebx
2126         addl    0(%rsp),%eax
2127         xorl    %edx,%esi
2128         movl    %ebx,%edi
2129         roll    $5,%ebx
2130         paddd   %xmm3,%xmm10
2131         addl    %esi,%eax
2132         xorl    %edx,%edi
2133         movdqa  %xmm10,48(%rsp)
2134         rorl    $7,%ecx
2135         addl    %ebx,%eax
2136         addl    4(%rsp),%ebp
2137         xorl    %ecx,%edi
2138         movl    %eax,%esi
2139         roll    $5,%eax
2140         addl    %edi,%ebp
2141         xorl    %ecx,%esi
2142         rorl    $7,%ebx
2143         addl    %eax,%ebp
2144         addl    8(%rsp),%edx
2145         xorl    %ebx,%esi
2146         movl    %ebp,%edi
2147         roll    $5,%ebp
2148         addl    %esi,%edx
2149         xorl    %ebx,%edi
2150         rorl    $7,%eax
2151         addl    %ebp,%edx
2152         addl    12(%rsp),%ecx
2153         xorl    %eax,%edi
2154         movl    %edx,%esi
2155         roll    $5,%edx
2156         addl    %edi,%ecx
2157         xorl    %eax,%esi
2158         rorl    $7,%ebp
2159         addl    %edx,%ecx
2160         cmpq    %r10,%r9
2161         je      L$done_ssse3
2162         movdqa  64(%r11),%xmm6
2163         movdqa  -64(%r11),%xmm9
2164         movdqu  0(%r9),%xmm0
2165         movdqu  16(%r9),%xmm1
2166         movdqu  32(%r9),%xmm2
2167         movdqu  48(%r9),%xmm3
2168 .byte   102,15,56,0,198
2169         addq    $64,%r9
2170         addl    16(%rsp),%ebx
2171         xorl    %ebp,%esi
2172         movl    %ecx,%edi
2173 .byte   102,15,56,0,206
2174         roll    $5,%ecx
2175         addl    %esi,%ebx
2176         xorl    %ebp,%edi
2177         rorl    $7,%edx
2178         paddd   %xmm9,%xmm0
2179         addl    %ecx,%ebx
2180         addl    20(%rsp),%eax
2181         xorl    %edx,%edi
2182         movl    %ebx,%esi
2183         movdqa  %xmm0,0(%rsp)
2184         roll    $5,%ebx
2185         addl    %edi,%eax
2186         xorl    %edx,%esi
2187         rorl    $7,%ecx
2188         psubd   %xmm9,%xmm0
2189         addl    %ebx,%eax
2190         addl    24(%rsp),%ebp
2191         xorl    %ecx,%esi
2192         movl    %eax,%edi
2193         roll    $5,%eax
2194         addl    %esi,%ebp
2195         xorl    %ecx,%edi
2196         rorl    $7,%ebx
2197         addl    %eax,%ebp
2198         addl    28(%rsp),%edx
2199         xorl    %ebx,%edi
2200         movl    %ebp,%esi
2201         roll    $5,%ebp
2202         addl    %edi,%edx
2203         xorl    %ebx,%esi
2204         rorl    $7,%eax
2205         addl    %ebp,%edx
2206         addl    32(%rsp),%ecx
2207         xorl    %eax,%esi
2208         movl    %edx,%edi
2209 .byte   102,15,56,0,214
2210         roll    $5,%edx
2211         addl    %esi,%ecx
2212         xorl    %eax,%edi
2213         rorl    $7,%ebp
2214         paddd   %xmm9,%xmm1
2215         addl    %edx,%ecx
2216         addl    36(%rsp),%ebx
2217         xorl    %ebp,%edi
2218         movl    %ecx,%esi
2219         movdqa  %xmm1,16(%rsp)
2220         roll    $5,%ecx
2221         addl    %edi,%ebx
2222         xorl    %ebp,%esi
2223         rorl    $7,%edx
2224         psubd   %xmm9,%xmm1
2225         addl    %ecx,%ebx
2226         addl    40(%rsp),%eax
2227         xorl    %edx,%esi
2228         movl    %ebx,%edi
2229         roll    $5,%ebx
2230         addl    %esi,%eax
2231         xorl    %edx,%edi
2232         rorl    $7,%ecx
2233         addl    %ebx,%eax
2234         addl    44(%rsp),%ebp
2235         xorl    %ecx,%edi
2236         movl    %eax,%esi
2237         roll    $5,%eax
2238         addl    %edi,%ebp
2239         xorl    %ecx,%esi
2240         rorl    $7,%ebx
2241         addl    %eax,%ebp
2242         addl    48(%rsp),%edx
2243         xorl    %ebx,%esi
2244         movl    %ebp,%edi
2245 .byte   102,15,56,0,222
2246         roll    $5,%ebp
2247         addl    %esi,%edx
2248         xorl    %ebx,%edi
2249         rorl    $7,%eax
2250         paddd   %xmm9,%xmm2
2251         addl    %ebp,%edx
2252         addl    52(%rsp),%ecx
2253         xorl    %eax,%edi
2254         movl    %edx,%esi
2255         movdqa  %xmm2,32(%rsp)
2256         roll    $5,%edx
2257         addl    %edi,%ecx
2258         xorl    %eax,%esi
2259         rorl    $7,%ebp
2260         psubd   %xmm9,%xmm2
2261         addl    %edx,%ecx
2262         addl    56(%rsp),%ebx
2263         xorl    %ebp,%esi
2264         movl    %ecx,%edi
2265         roll    $5,%ecx
2266         addl    %esi,%ebx
2267         xorl    %ebp,%edi
2268         rorl    $7,%edx
2269         addl    %ecx,%ebx
2270         addl    60(%rsp),%eax
2271         xorl    %edx,%edi
2272         movl    %ebx,%esi
2273         roll    $5,%ebx
2274         addl    %edi,%eax
2275         rorl    $7,%ecx
2276         addl    %ebx,%eax
2277         addl    0(%r8),%eax
2278         addl    4(%r8),%esi
2279         addl    8(%r8),%ecx
2280         addl    12(%r8),%edx
2281         movl    %eax,0(%r8)
2282         addl    16(%r8),%ebp
2283         movl    %esi,4(%r8)
2284         movl    %esi,%ebx
2285         movl    %ecx,8(%r8)
2286         movl    %ecx,%edi
2287         movl    %edx,12(%r8)
2288         xorl    %edx,%edi
2289         movl    %ebp,16(%r8)
2290         andl    %edi,%esi
2291         jmp     L$oop_ssse3
2292
2293 .p2align        4
2294 L$done_ssse3:
2295         addl    16(%rsp),%ebx
2296         xorl    %ebp,%esi
2297         movl    %ecx,%edi
2298         roll    $5,%ecx
2299         addl    %esi,%ebx
2300         xorl    %ebp,%edi
2301         rorl    $7,%edx
2302         addl    %ecx,%ebx
2303         addl    20(%rsp),%eax
2304         xorl    %edx,%edi
2305         movl    %ebx,%esi
2306         roll    $5,%ebx
2307         addl    %edi,%eax
2308         xorl    %edx,%esi
2309         rorl    $7,%ecx
2310         addl    %ebx,%eax
2311         addl    24(%rsp),%ebp
2312         xorl    %ecx,%esi
2313         movl    %eax,%edi
2314         roll    $5,%eax
2315         addl    %esi,%ebp
2316         xorl    %ecx,%edi
2317         rorl    $7,%ebx
2318         addl    %eax,%ebp
2319         addl    28(%rsp),%edx
2320         xorl    %ebx,%edi
2321         movl    %ebp,%esi
2322         roll    $5,%ebp
2323         addl    %edi,%edx
2324         xorl    %ebx,%esi
2325         rorl    $7,%eax
2326         addl    %ebp,%edx
2327         addl    32(%rsp),%ecx
2328         xorl    %eax,%esi
2329         movl    %edx,%edi
2330         roll    $5,%edx
2331         addl    %esi,%ecx
2332         xorl    %eax,%edi
2333         rorl    $7,%ebp
2334         addl    %edx,%ecx
2335         addl    36(%rsp),%ebx
2336         xorl    %ebp,%edi
2337         movl    %ecx,%esi
2338         roll    $5,%ecx
2339         addl    %edi,%ebx
2340         xorl    %ebp,%esi
2341         rorl    $7,%edx
2342         addl    %ecx,%ebx
2343         addl    40(%rsp),%eax
2344         xorl    %edx,%esi
2345         movl    %ebx,%edi
2346         roll    $5,%ebx
2347         addl    %esi,%eax
2348         xorl    %edx,%edi
2349         rorl    $7,%ecx
2350         addl    %ebx,%eax
2351         addl    44(%rsp),%ebp
2352         xorl    %ecx,%edi
2353         movl    %eax,%esi
2354         roll    $5,%eax
2355         addl    %edi,%ebp
2356         xorl    %ecx,%esi
2357         rorl    $7,%ebx
2358         addl    %eax,%ebp
2359         addl    48(%rsp),%edx
2360         xorl    %ebx,%esi
2361         movl    %ebp,%edi
2362         roll    $5,%ebp
2363         addl    %esi,%edx
2364         xorl    %ebx,%edi
2365         rorl    $7,%eax
2366         addl    %ebp,%edx
2367         addl    52(%rsp),%ecx
2368         xorl    %eax,%edi
2369         movl    %edx,%esi
2370         roll    $5,%edx
2371         addl    %edi,%ecx
2372         xorl    %eax,%esi
2373         rorl    $7,%ebp
2374         addl    %edx,%ecx
2375         addl    56(%rsp),%ebx
2376         xorl    %ebp,%esi
2377         movl    %ecx,%edi
2378         roll    $5,%ecx
2379         addl    %esi,%ebx
2380         xorl    %ebp,%edi
2381         rorl    $7,%edx
2382         addl    %ecx,%ebx
2383         addl    60(%rsp),%eax
2384         xorl    %edx,%edi
2385         movl    %ebx,%esi
2386         roll    $5,%ebx
2387         addl    %edi,%eax
2388         rorl    $7,%ecx
2389         addl    %ebx,%eax
2390         addl    0(%r8),%eax
2391         addl    4(%r8),%esi
2392         addl    8(%r8),%ecx
2393         movl    %eax,0(%r8)
2394         addl    12(%r8),%edx
2395         movl    %esi,4(%r8)
2396         addl    16(%r8),%ebp
2397         movl    %ecx,8(%r8)
2398         movl    %edx,12(%r8)
2399         movl    %ebp,16(%r8)
2400         leaq    (%r14),%rsi
2401         movq    -40(%rsi),%r14
2402         movq    -32(%rsi),%r13
2403         movq    -24(%rsi),%r12
2404         movq    -16(%rsi),%rbp
2405         movq    -8(%rsi),%rbx
2406         leaq    (%rsi),%rsp
2407 L$epilogue_ssse3:
2408         .byte   0xf3,0xc3
2409
2410 .p2align        6
2411 K_XX_XX:
2412 .long   0x5a827999,0x5a827999,0x5a827999,0x5a827999
2413 .long   0x5a827999,0x5a827999,0x5a827999,0x5a827999
2414 .long   0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
2415 .long   0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
2416 .long   0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
2417 .long   0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
2418 .long   0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
2419 .long   0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
2420 .long   0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
2421 .long   0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
2422 .byte   0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
2423 .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
2424 .p2align        6
2425 #endif