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