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