Update LibreSSL from version 2.4.3 => 2.4.4
[dragonfly.git] / crypto / libressl / crypto / sha / sha256-macosx-x86_64.S
1 .text   
2
3 .globl  _sha256_block_data_order
4
5 .p2align        4
6 _sha256_block_data_order:
7         pushq   %rbx
8         pushq   %rbp
9         pushq   %r12
10         pushq   %r13
11         pushq   %r14
12         pushq   %r15
13         movq    %rsp,%r11
14         shlq    $4,%rdx
15         subq    $64+32,%rsp
16         leaq    (%rsi,%rdx,4),%rdx
17         andq    $-64,%rsp
18         movq    %rdi,64+0(%rsp)
19         movq    %rsi,64+8(%rsp)
20         movq    %rdx,64+16(%rsp)
21         movq    %r11,64+24(%rsp)
22 L$prologue:
23
24         leaq    K256(%rip),%rbp
25
26         movl    0(%rdi),%eax
27         movl    4(%rdi),%ebx
28         movl    8(%rdi),%ecx
29         movl    12(%rdi),%edx
30         movl    16(%rdi),%r8d
31         movl    20(%rdi),%r9d
32         movl    24(%rdi),%r10d
33         movl    28(%rdi),%r11d
34         jmp     L$loop
35
36 .p2align        4
37 L$loop:
38         xorq    %rdi,%rdi
39         movl    0(%rsi),%r12d
40         movl    %r8d,%r13d
41         movl    %eax,%r14d
42         bswapl  %r12d
43         rorl    $14,%r13d
44         movl    %r9d,%r15d
45         movl    %r12d,0(%rsp)
46
47         rorl    $9,%r14d
48         xorl    %r8d,%r13d
49         xorl    %r10d,%r15d
50
51         rorl    $5,%r13d
52         addl    %r11d,%r12d
53         xorl    %eax,%r14d
54
55         addl    (%rbp,%rdi,4),%r12d
56         andl    %r8d,%r15d
57         movl    %ebx,%r11d
58
59         rorl    $11,%r14d
60         xorl    %r8d,%r13d
61         xorl    %r10d,%r15d
62
63         xorl    %ecx,%r11d
64         xorl    %eax,%r14d
65         addl    %r15d,%r12d
66         movl    %ebx,%r15d
67
68         rorl    $6,%r13d
69         andl    %eax,%r11d
70         andl    %ecx,%r15d
71
72         rorl    $2,%r14d
73         addl    %r13d,%r12d
74         addl    %r15d,%r11d
75
76         addl    %r12d,%edx
77         addl    %r12d,%r11d
78         leaq    1(%rdi),%rdi
79         addl    %r14d,%r11d
80
81         movl    4(%rsi),%r12d
82         movl    %edx,%r13d
83         movl    %r11d,%r14d
84         bswapl  %r12d
85         rorl    $14,%r13d
86         movl    %r8d,%r15d
87         movl    %r12d,4(%rsp)
88
89         rorl    $9,%r14d
90         xorl    %edx,%r13d
91         xorl    %r9d,%r15d
92
93         rorl    $5,%r13d
94         addl    %r10d,%r12d
95         xorl    %r11d,%r14d
96
97         addl    (%rbp,%rdi,4),%r12d
98         andl    %edx,%r15d
99         movl    %eax,%r10d
100
101         rorl    $11,%r14d
102         xorl    %edx,%r13d
103         xorl    %r9d,%r15d
104
105         xorl    %ebx,%r10d
106         xorl    %r11d,%r14d
107         addl    %r15d,%r12d
108         movl    %eax,%r15d
109
110         rorl    $6,%r13d
111         andl    %r11d,%r10d
112         andl    %ebx,%r15d
113
114         rorl    $2,%r14d
115         addl    %r13d,%r12d
116         addl    %r15d,%r10d
117
118         addl    %r12d,%ecx
119         addl    %r12d,%r10d
120         leaq    1(%rdi),%rdi
121         addl    %r14d,%r10d
122
123         movl    8(%rsi),%r12d
124         movl    %ecx,%r13d
125         movl    %r10d,%r14d
126         bswapl  %r12d
127         rorl    $14,%r13d
128         movl    %edx,%r15d
129         movl    %r12d,8(%rsp)
130
131         rorl    $9,%r14d
132         xorl    %ecx,%r13d
133         xorl    %r8d,%r15d
134
135         rorl    $5,%r13d
136         addl    %r9d,%r12d
137         xorl    %r10d,%r14d
138
139         addl    (%rbp,%rdi,4),%r12d
140         andl    %ecx,%r15d
141         movl    %r11d,%r9d
142
143         rorl    $11,%r14d
144         xorl    %ecx,%r13d
145         xorl    %r8d,%r15d
146
147         xorl    %eax,%r9d
148         xorl    %r10d,%r14d
149         addl    %r15d,%r12d
150         movl    %r11d,%r15d
151
152         rorl    $6,%r13d
153         andl    %r10d,%r9d
154         andl    %eax,%r15d
155
156         rorl    $2,%r14d
157         addl    %r13d,%r12d
158         addl    %r15d,%r9d
159
160         addl    %r12d,%ebx
161         addl    %r12d,%r9d
162         leaq    1(%rdi),%rdi
163         addl    %r14d,%r9d
164
165         movl    12(%rsi),%r12d
166         movl    %ebx,%r13d
167         movl    %r9d,%r14d
168         bswapl  %r12d
169         rorl    $14,%r13d
170         movl    %ecx,%r15d
171         movl    %r12d,12(%rsp)
172
173         rorl    $9,%r14d
174         xorl    %ebx,%r13d
175         xorl    %edx,%r15d
176
177         rorl    $5,%r13d
178         addl    %r8d,%r12d
179         xorl    %r9d,%r14d
180
181         addl    (%rbp,%rdi,4),%r12d
182         andl    %ebx,%r15d
183         movl    %r10d,%r8d
184
185         rorl    $11,%r14d
186         xorl    %ebx,%r13d
187         xorl    %edx,%r15d
188
189         xorl    %r11d,%r8d
190         xorl    %r9d,%r14d
191         addl    %r15d,%r12d
192         movl    %r10d,%r15d
193
194         rorl    $6,%r13d
195         andl    %r9d,%r8d
196         andl    %r11d,%r15d
197
198         rorl    $2,%r14d
199         addl    %r13d,%r12d
200         addl    %r15d,%r8d
201
202         addl    %r12d,%eax
203         addl    %r12d,%r8d
204         leaq    1(%rdi),%rdi
205         addl    %r14d,%r8d
206
207         movl    16(%rsi),%r12d
208         movl    %eax,%r13d
209         movl    %r8d,%r14d
210         bswapl  %r12d
211         rorl    $14,%r13d
212         movl    %ebx,%r15d
213         movl    %r12d,16(%rsp)
214
215         rorl    $9,%r14d
216         xorl    %eax,%r13d
217         xorl    %ecx,%r15d
218
219         rorl    $5,%r13d
220         addl    %edx,%r12d
221         xorl    %r8d,%r14d
222
223         addl    (%rbp,%rdi,4),%r12d
224         andl    %eax,%r15d
225         movl    %r9d,%edx
226
227         rorl    $11,%r14d
228         xorl    %eax,%r13d
229         xorl    %ecx,%r15d
230
231         xorl    %r10d,%edx
232         xorl    %r8d,%r14d
233         addl    %r15d,%r12d
234         movl    %r9d,%r15d
235
236         rorl    $6,%r13d
237         andl    %r8d,%edx
238         andl    %r10d,%r15d
239
240         rorl    $2,%r14d
241         addl    %r13d,%r12d
242         addl    %r15d,%edx
243
244         addl    %r12d,%r11d
245         addl    %r12d,%edx
246         leaq    1(%rdi),%rdi
247         addl    %r14d,%edx
248
249         movl    20(%rsi),%r12d
250         movl    %r11d,%r13d
251         movl    %edx,%r14d
252         bswapl  %r12d
253         rorl    $14,%r13d
254         movl    %eax,%r15d
255         movl    %r12d,20(%rsp)
256
257         rorl    $9,%r14d
258         xorl    %r11d,%r13d
259         xorl    %ebx,%r15d
260
261         rorl    $5,%r13d
262         addl    %ecx,%r12d
263         xorl    %edx,%r14d
264
265         addl    (%rbp,%rdi,4),%r12d
266         andl    %r11d,%r15d
267         movl    %r8d,%ecx
268
269         rorl    $11,%r14d
270         xorl    %r11d,%r13d
271         xorl    %ebx,%r15d
272
273         xorl    %r9d,%ecx
274         xorl    %edx,%r14d
275         addl    %r15d,%r12d
276         movl    %r8d,%r15d
277
278         rorl    $6,%r13d
279         andl    %edx,%ecx
280         andl    %r9d,%r15d
281
282         rorl    $2,%r14d
283         addl    %r13d,%r12d
284         addl    %r15d,%ecx
285
286         addl    %r12d,%r10d
287         addl    %r12d,%ecx
288         leaq    1(%rdi),%rdi
289         addl    %r14d,%ecx
290
291         movl    24(%rsi),%r12d
292         movl    %r10d,%r13d
293         movl    %ecx,%r14d
294         bswapl  %r12d
295         rorl    $14,%r13d
296         movl    %r11d,%r15d
297         movl    %r12d,24(%rsp)
298
299         rorl    $9,%r14d
300         xorl    %r10d,%r13d
301         xorl    %eax,%r15d
302
303         rorl    $5,%r13d
304         addl    %ebx,%r12d
305         xorl    %ecx,%r14d
306
307         addl    (%rbp,%rdi,4),%r12d
308         andl    %r10d,%r15d
309         movl    %edx,%ebx
310
311         rorl    $11,%r14d
312         xorl    %r10d,%r13d
313         xorl    %eax,%r15d
314
315         xorl    %r8d,%ebx
316         xorl    %ecx,%r14d
317         addl    %r15d,%r12d
318         movl    %edx,%r15d
319
320         rorl    $6,%r13d
321         andl    %ecx,%ebx
322         andl    %r8d,%r15d
323
324         rorl    $2,%r14d
325         addl    %r13d,%r12d
326         addl    %r15d,%ebx
327
328         addl    %r12d,%r9d
329         addl    %r12d,%ebx
330         leaq    1(%rdi),%rdi
331         addl    %r14d,%ebx
332
333         movl    28(%rsi),%r12d
334         movl    %r9d,%r13d
335         movl    %ebx,%r14d
336         bswapl  %r12d
337         rorl    $14,%r13d
338         movl    %r10d,%r15d
339         movl    %r12d,28(%rsp)
340
341         rorl    $9,%r14d
342         xorl    %r9d,%r13d
343         xorl    %r11d,%r15d
344
345         rorl    $5,%r13d
346         addl    %eax,%r12d
347         xorl    %ebx,%r14d
348
349         addl    (%rbp,%rdi,4),%r12d
350         andl    %r9d,%r15d
351         movl    %ecx,%eax
352
353         rorl    $11,%r14d
354         xorl    %r9d,%r13d
355         xorl    %r11d,%r15d
356
357         xorl    %edx,%eax
358         xorl    %ebx,%r14d
359         addl    %r15d,%r12d
360         movl    %ecx,%r15d
361
362         rorl    $6,%r13d
363         andl    %ebx,%eax
364         andl    %edx,%r15d
365
366         rorl    $2,%r14d
367         addl    %r13d,%r12d
368         addl    %r15d,%eax
369
370         addl    %r12d,%r8d
371         addl    %r12d,%eax
372         leaq    1(%rdi),%rdi
373         addl    %r14d,%eax
374
375         movl    32(%rsi),%r12d
376         movl    %r8d,%r13d
377         movl    %eax,%r14d
378         bswapl  %r12d
379         rorl    $14,%r13d
380         movl    %r9d,%r15d
381         movl    %r12d,32(%rsp)
382
383         rorl    $9,%r14d
384         xorl    %r8d,%r13d
385         xorl    %r10d,%r15d
386
387         rorl    $5,%r13d
388         addl    %r11d,%r12d
389         xorl    %eax,%r14d
390
391         addl    (%rbp,%rdi,4),%r12d
392         andl    %r8d,%r15d
393         movl    %ebx,%r11d
394
395         rorl    $11,%r14d
396         xorl    %r8d,%r13d
397         xorl    %r10d,%r15d
398
399         xorl    %ecx,%r11d
400         xorl    %eax,%r14d
401         addl    %r15d,%r12d
402         movl    %ebx,%r15d
403
404         rorl    $6,%r13d
405         andl    %eax,%r11d
406         andl    %ecx,%r15d
407
408         rorl    $2,%r14d
409         addl    %r13d,%r12d
410         addl    %r15d,%r11d
411
412         addl    %r12d,%edx
413         addl    %r12d,%r11d
414         leaq    1(%rdi),%rdi
415         addl    %r14d,%r11d
416
417         movl    36(%rsi),%r12d
418         movl    %edx,%r13d
419         movl    %r11d,%r14d
420         bswapl  %r12d
421         rorl    $14,%r13d
422         movl    %r8d,%r15d
423         movl    %r12d,36(%rsp)
424
425         rorl    $9,%r14d
426         xorl    %edx,%r13d
427         xorl    %r9d,%r15d
428
429         rorl    $5,%r13d
430         addl    %r10d,%r12d
431         xorl    %r11d,%r14d
432
433         addl    (%rbp,%rdi,4),%r12d
434         andl    %edx,%r15d
435         movl    %eax,%r10d
436
437         rorl    $11,%r14d
438         xorl    %edx,%r13d
439         xorl    %r9d,%r15d
440
441         xorl    %ebx,%r10d
442         xorl    %r11d,%r14d
443         addl    %r15d,%r12d
444         movl    %eax,%r15d
445
446         rorl    $6,%r13d
447         andl    %r11d,%r10d
448         andl    %ebx,%r15d
449
450         rorl    $2,%r14d
451         addl    %r13d,%r12d
452         addl    %r15d,%r10d
453
454         addl    %r12d,%ecx
455         addl    %r12d,%r10d
456         leaq    1(%rdi),%rdi
457         addl    %r14d,%r10d
458
459         movl    40(%rsi),%r12d
460         movl    %ecx,%r13d
461         movl    %r10d,%r14d
462         bswapl  %r12d
463         rorl    $14,%r13d
464         movl    %edx,%r15d
465         movl    %r12d,40(%rsp)
466
467         rorl    $9,%r14d
468         xorl    %ecx,%r13d
469         xorl    %r8d,%r15d
470
471         rorl    $5,%r13d
472         addl    %r9d,%r12d
473         xorl    %r10d,%r14d
474
475         addl    (%rbp,%rdi,4),%r12d
476         andl    %ecx,%r15d
477         movl    %r11d,%r9d
478
479         rorl    $11,%r14d
480         xorl    %ecx,%r13d
481         xorl    %r8d,%r15d
482
483         xorl    %eax,%r9d
484         xorl    %r10d,%r14d
485         addl    %r15d,%r12d
486         movl    %r11d,%r15d
487
488         rorl    $6,%r13d
489         andl    %r10d,%r9d
490         andl    %eax,%r15d
491
492         rorl    $2,%r14d
493         addl    %r13d,%r12d
494         addl    %r15d,%r9d
495
496         addl    %r12d,%ebx
497         addl    %r12d,%r9d
498         leaq    1(%rdi),%rdi
499         addl    %r14d,%r9d
500
501         movl    44(%rsi),%r12d
502         movl    %ebx,%r13d
503         movl    %r9d,%r14d
504         bswapl  %r12d
505         rorl    $14,%r13d
506         movl    %ecx,%r15d
507         movl    %r12d,44(%rsp)
508
509         rorl    $9,%r14d
510         xorl    %ebx,%r13d
511         xorl    %edx,%r15d
512
513         rorl    $5,%r13d
514         addl    %r8d,%r12d
515         xorl    %r9d,%r14d
516
517         addl    (%rbp,%rdi,4),%r12d
518         andl    %ebx,%r15d
519         movl    %r10d,%r8d
520
521         rorl    $11,%r14d
522         xorl    %ebx,%r13d
523         xorl    %edx,%r15d
524
525         xorl    %r11d,%r8d
526         xorl    %r9d,%r14d
527         addl    %r15d,%r12d
528         movl    %r10d,%r15d
529
530         rorl    $6,%r13d
531         andl    %r9d,%r8d
532         andl    %r11d,%r15d
533
534         rorl    $2,%r14d
535         addl    %r13d,%r12d
536         addl    %r15d,%r8d
537
538         addl    %r12d,%eax
539         addl    %r12d,%r8d
540         leaq    1(%rdi),%rdi
541         addl    %r14d,%r8d
542
543         movl    48(%rsi),%r12d
544         movl    %eax,%r13d
545         movl    %r8d,%r14d
546         bswapl  %r12d
547         rorl    $14,%r13d
548         movl    %ebx,%r15d
549         movl    %r12d,48(%rsp)
550
551         rorl    $9,%r14d
552         xorl    %eax,%r13d
553         xorl    %ecx,%r15d
554
555         rorl    $5,%r13d
556         addl    %edx,%r12d
557         xorl    %r8d,%r14d
558
559         addl    (%rbp,%rdi,4),%r12d
560         andl    %eax,%r15d
561         movl    %r9d,%edx
562
563         rorl    $11,%r14d
564         xorl    %eax,%r13d
565         xorl    %ecx,%r15d
566
567         xorl    %r10d,%edx
568         xorl    %r8d,%r14d
569         addl    %r15d,%r12d
570         movl    %r9d,%r15d
571
572         rorl    $6,%r13d
573         andl    %r8d,%edx
574         andl    %r10d,%r15d
575
576         rorl    $2,%r14d
577         addl    %r13d,%r12d
578         addl    %r15d,%edx
579
580         addl    %r12d,%r11d
581         addl    %r12d,%edx
582         leaq    1(%rdi),%rdi
583         addl    %r14d,%edx
584
585         movl    52(%rsi),%r12d
586         movl    %r11d,%r13d
587         movl    %edx,%r14d
588         bswapl  %r12d
589         rorl    $14,%r13d
590         movl    %eax,%r15d
591         movl    %r12d,52(%rsp)
592
593         rorl    $9,%r14d
594         xorl    %r11d,%r13d
595         xorl    %ebx,%r15d
596
597         rorl    $5,%r13d
598         addl    %ecx,%r12d
599         xorl    %edx,%r14d
600
601         addl    (%rbp,%rdi,4),%r12d
602         andl    %r11d,%r15d
603         movl    %r8d,%ecx
604
605         rorl    $11,%r14d
606         xorl    %r11d,%r13d
607         xorl    %ebx,%r15d
608
609         xorl    %r9d,%ecx
610         xorl    %edx,%r14d
611         addl    %r15d,%r12d
612         movl    %r8d,%r15d
613
614         rorl    $6,%r13d
615         andl    %edx,%ecx
616         andl    %r9d,%r15d
617
618         rorl    $2,%r14d
619         addl    %r13d,%r12d
620         addl    %r15d,%ecx
621
622         addl    %r12d,%r10d
623         addl    %r12d,%ecx
624         leaq    1(%rdi),%rdi
625         addl    %r14d,%ecx
626
627         movl    56(%rsi),%r12d
628         movl    %r10d,%r13d
629         movl    %ecx,%r14d
630         bswapl  %r12d
631         rorl    $14,%r13d
632         movl    %r11d,%r15d
633         movl    %r12d,56(%rsp)
634
635         rorl    $9,%r14d
636         xorl    %r10d,%r13d
637         xorl    %eax,%r15d
638
639         rorl    $5,%r13d
640         addl    %ebx,%r12d
641         xorl    %ecx,%r14d
642
643         addl    (%rbp,%rdi,4),%r12d
644         andl    %r10d,%r15d
645         movl    %edx,%ebx
646
647         rorl    $11,%r14d
648         xorl    %r10d,%r13d
649         xorl    %eax,%r15d
650
651         xorl    %r8d,%ebx
652         xorl    %ecx,%r14d
653         addl    %r15d,%r12d
654         movl    %edx,%r15d
655
656         rorl    $6,%r13d
657         andl    %ecx,%ebx
658         andl    %r8d,%r15d
659
660         rorl    $2,%r14d
661         addl    %r13d,%r12d
662         addl    %r15d,%ebx
663
664         addl    %r12d,%r9d
665         addl    %r12d,%ebx
666         leaq    1(%rdi),%rdi
667         addl    %r14d,%ebx
668
669         movl    60(%rsi),%r12d
670         movl    %r9d,%r13d
671         movl    %ebx,%r14d
672         bswapl  %r12d
673         rorl    $14,%r13d
674         movl    %r10d,%r15d
675         movl    %r12d,60(%rsp)
676
677         rorl    $9,%r14d
678         xorl    %r9d,%r13d
679         xorl    %r11d,%r15d
680
681         rorl    $5,%r13d
682         addl    %eax,%r12d
683         xorl    %ebx,%r14d
684
685         addl    (%rbp,%rdi,4),%r12d
686         andl    %r9d,%r15d
687         movl    %ecx,%eax
688
689         rorl    $11,%r14d
690         xorl    %r9d,%r13d
691         xorl    %r11d,%r15d
692
693         xorl    %edx,%eax
694         xorl    %ebx,%r14d
695         addl    %r15d,%r12d
696         movl    %ecx,%r15d
697
698         rorl    $6,%r13d
699         andl    %ebx,%eax
700         andl    %edx,%r15d
701
702         rorl    $2,%r14d
703         addl    %r13d,%r12d
704         addl    %r15d,%eax
705
706         addl    %r12d,%r8d
707         addl    %r12d,%eax
708         leaq    1(%rdi),%rdi
709         addl    %r14d,%eax
710
711         jmp     L$rounds_16_xx
712 .p2align        4
713 L$rounds_16_xx:
714         movl    4(%rsp),%r13d
715         movl    56(%rsp),%r14d
716         movl    %r13d,%r12d
717         movl    %r14d,%r15d
718
719         rorl    $11,%r12d
720         xorl    %r13d,%r12d
721         shrl    $3,%r13d
722
723         rorl    $7,%r12d
724         xorl    %r12d,%r13d
725         movl    36(%rsp),%r12d
726
727         rorl    $2,%r15d
728         xorl    %r14d,%r15d
729         shrl    $10,%r14d
730
731         rorl    $17,%r15d
732         addl    %r13d,%r12d
733         xorl    %r15d,%r14d
734
735         addl    0(%rsp),%r12d
736         movl    %r8d,%r13d
737         addl    %r14d,%r12d
738         movl    %eax,%r14d
739         rorl    $14,%r13d
740         movl    %r9d,%r15d
741         movl    %r12d,0(%rsp)
742
743         rorl    $9,%r14d
744         xorl    %r8d,%r13d
745         xorl    %r10d,%r15d
746
747         rorl    $5,%r13d
748         addl    %r11d,%r12d
749         xorl    %eax,%r14d
750
751         addl    (%rbp,%rdi,4),%r12d
752         andl    %r8d,%r15d
753         movl    %ebx,%r11d
754
755         rorl    $11,%r14d
756         xorl    %r8d,%r13d
757         xorl    %r10d,%r15d
758
759         xorl    %ecx,%r11d
760         xorl    %eax,%r14d
761         addl    %r15d,%r12d
762         movl    %ebx,%r15d
763
764         rorl    $6,%r13d
765         andl    %eax,%r11d
766         andl    %ecx,%r15d
767
768         rorl    $2,%r14d
769         addl    %r13d,%r12d
770         addl    %r15d,%r11d
771
772         addl    %r12d,%edx
773         addl    %r12d,%r11d
774         leaq    1(%rdi),%rdi
775         addl    %r14d,%r11d
776
777         movl    8(%rsp),%r13d
778         movl    60(%rsp),%r14d
779         movl    %r13d,%r12d
780         movl    %r14d,%r15d
781
782         rorl    $11,%r12d
783         xorl    %r13d,%r12d
784         shrl    $3,%r13d
785
786         rorl    $7,%r12d
787         xorl    %r12d,%r13d
788         movl    40(%rsp),%r12d
789
790         rorl    $2,%r15d
791         xorl    %r14d,%r15d
792         shrl    $10,%r14d
793
794         rorl    $17,%r15d
795         addl    %r13d,%r12d
796         xorl    %r15d,%r14d
797
798         addl    4(%rsp),%r12d
799         movl    %edx,%r13d
800         addl    %r14d,%r12d
801         movl    %r11d,%r14d
802         rorl    $14,%r13d
803         movl    %r8d,%r15d
804         movl    %r12d,4(%rsp)
805
806         rorl    $9,%r14d
807         xorl    %edx,%r13d
808         xorl    %r9d,%r15d
809
810         rorl    $5,%r13d
811         addl    %r10d,%r12d
812         xorl    %r11d,%r14d
813
814         addl    (%rbp,%rdi,4),%r12d
815         andl    %edx,%r15d
816         movl    %eax,%r10d
817
818         rorl    $11,%r14d
819         xorl    %edx,%r13d
820         xorl    %r9d,%r15d
821
822         xorl    %ebx,%r10d
823         xorl    %r11d,%r14d
824         addl    %r15d,%r12d
825         movl    %eax,%r15d
826
827         rorl    $6,%r13d
828         andl    %r11d,%r10d
829         andl    %ebx,%r15d
830
831         rorl    $2,%r14d
832         addl    %r13d,%r12d
833         addl    %r15d,%r10d
834
835         addl    %r12d,%ecx
836         addl    %r12d,%r10d
837         leaq    1(%rdi),%rdi
838         addl    %r14d,%r10d
839
840         movl    12(%rsp),%r13d
841         movl    0(%rsp),%r14d
842         movl    %r13d,%r12d
843         movl    %r14d,%r15d
844
845         rorl    $11,%r12d
846         xorl    %r13d,%r12d
847         shrl    $3,%r13d
848
849         rorl    $7,%r12d
850         xorl    %r12d,%r13d
851         movl    44(%rsp),%r12d
852
853         rorl    $2,%r15d
854         xorl    %r14d,%r15d
855         shrl    $10,%r14d
856
857         rorl    $17,%r15d
858         addl    %r13d,%r12d
859         xorl    %r15d,%r14d
860
861         addl    8(%rsp),%r12d
862         movl    %ecx,%r13d
863         addl    %r14d,%r12d
864         movl    %r10d,%r14d
865         rorl    $14,%r13d
866         movl    %edx,%r15d
867         movl    %r12d,8(%rsp)
868
869         rorl    $9,%r14d
870         xorl    %ecx,%r13d
871         xorl    %r8d,%r15d
872
873         rorl    $5,%r13d
874         addl    %r9d,%r12d
875         xorl    %r10d,%r14d
876
877         addl    (%rbp,%rdi,4),%r12d
878         andl    %ecx,%r15d
879         movl    %r11d,%r9d
880
881         rorl    $11,%r14d
882         xorl    %ecx,%r13d
883         xorl    %r8d,%r15d
884
885         xorl    %eax,%r9d
886         xorl    %r10d,%r14d
887         addl    %r15d,%r12d
888         movl    %r11d,%r15d
889
890         rorl    $6,%r13d
891         andl    %r10d,%r9d
892         andl    %eax,%r15d
893
894         rorl    $2,%r14d
895         addl    %r13d,%r12d
896         addl    %r15d,%r9d
897
898         addl    %r12d,%ebx
899         addl    %r12d,%r9d
900         leaq    1(%rdi),%rdi
901         addl    %r14d,%r9d
902
903         movl    16(%rsp),%r13d
904         movl    4(%rsp),%r14d
905         movl    %r13d,%r12d
906         movl    %r14d,%r15d
907
908         rorl    $11,%r12d
909         xorl    %r13d,%r12d
910         shrl    $3,%r13d
911
912         rorl    $7,%r12d
913         xorl    %r12d,%r13d
914         movl    48(%rsp),%r12d
915
916         rorl    $2,%r15d
917         xorl    %r14d,%r15d
918         shrl    $10,%r14d
919
920         rorl    $17,%r15d
921         addl    %r13d,%r12d
922         xorl    %r15d,%r14d
923
924         addl    12(%rsp),%r12d
925         movl    %ebx,%r13d
926         addl    %r14d,%r12d
927         movl    %r9d,%r14d
928         rorl    $14,%r13d
929         movl    %ecx,%r15d
930         movl    %r12d,12(%rsp)
931
932         rorl    $9,%r14d
933         xorl    %ebx,%r13d
934         xorl    %edx,%r15d
935
936         rorl    $5,%r13d
937         addl    %r8d,%r12d
938         xorl    %r9d,%r14d
939
940         addl    (%rbp,%rdi,4),%r12d
941         andl    %ebx,%r15d
942         movl    %r10d,%r8d
943
944         rorl    $11,%r14d
945         xorl    %ebx,%r13d
946         xorl    %edx,%r15d
947
948         xorl    %r11d,%r8d
949         xorl    %r9d,%r14d
950         addl    %r15d,%r12d
951         movl    %r10d,%r15d
952
953         rorl    $6,%r13d
954         andl    %r9d,%r8d
955         andl    %r11d,%r15d
956
957         rorl    $2,%r14d
958         addl    %r13d,%r12d
959         addl    %r15d,%r8d
960
961         addl    %r12d,%eax
962         addl    %r12d,%r8d
963         leaq    1(%rdi),%rdi
964         addl    %r14d,%r8d
965
966         movl    20(%rsp),%r13d
967         movl    8(%rsp),%r14d
968         movl    %r13d,%r12d
969         movl    %r14d,%r15d
970
971         rorl    $11,%r12d
972         xorl    %r13d,%r12d
973         shrl    $3,%r13d
974
975         rorl    $7,%r12d
976         xorl    %r12d,%r13d
977         movl    52(%rsp),%r12d
978
979         rorl    $2,%r15d
980         xorl    %r14d,%r15d
981         shrl    $10,%r14d
982
983         rorl    $17,%r15d
984         addl    %r13d,%r12d
985         xorl    %r15d,%r14d
986
987         addl    16(%rsp),%r12d
988         movl    %eax,%r13d
989         addl    %r14d,%r12d
990         movl    %r8d,%r14d
991         rorl    $14,%r13d
992         movl    %ebx,%r15d
993         movl    %r12d,16(%rsp)
994
995         rorl    $9,%r14d
996         xorl    %eax,%r13d
997         xorl    %ecx,%r15d
998
999         rorl    $5,%r13d
1000         addl    %edx,%r12d
1001         xorl    %r8d,%r14d
1002
1003         addl    (%rbp,%rdi,4),%r12d
1004         andl    %eax,%r15d
1005         movl    %r9d,%edx
1006
1007         rorl    $11,%r14d
1008         xorl    %eax,%r13d
1009         xorl    %ecx,%r15d
1010
1011         xorl    %r10d,%edx
1012         xorl    %r8d,%r14d
1013         addl    %r15d,%r12d
1014         movl    %r9d,%r15d
1015
1016         rorl    $6,%r13d
1017         andl    %r8d,%edx
1018         andl    %r10d,%r15d
1019
1020         rorl    $2,%r14d
1021         addl    %r13d,%r12d
1022         addl    %r15d,%edx
1023
1024         addl    %r12d,%r11d
1025         addl    %r12d,%edx
1026         leaq    1(%rdi),%rdi
1027         addl    %r14d,%edx
1028
1029         movl    24(%rsp),%r13d
1030         movl    12(%rsp),%r14d
1031         movl    %r13d,%r12d
1032         movl    %r14d,%r15d
1033
1034         rorl    $11,%r12d
1035         xorl    %r13d,%r12d
1036         shrl    $3,%r13d
1037
1038         rorl    $7,%r12d
1039         xorl    %r12d,%r13d
1040         movl    56(%rsp),%r12d
1041
1042         rorl    $2,%r15d
1043         xorl    %r14d,%r15d
1044         shrl    $10,%r14d
1045
1046         rorl    $17,%r15d
1047         addl    %r13d,%r12d
1048         xorl    %r15d,%r14d
1049
1050         addl    20(%rsp),%r12d
1051         movl    %r11d,%r13d
1052         addl    %r14d,%r12d
1053         movl    %edx,%r14d
1054         rorl    $14,%r13d
1055         movl    %eax,%r15d
1056         movl    %r12d,20(%rsp)
1057
1058         rorl    $9,%r14d
1059         xorl    %r11d,%r13d
1060         xorl    %ebx,%r15d
1061
1062         rorl    $5,%r13d
1063         addl    %ecx,%r12d
1064         xorl    %edx,%r14d
1065
1066         addl    (%rbp,%rdi,4),%r12d
1067         andl    %r11d,%r15d
1068         movl    %r8d,%ecx
1069
1070         rorl    $11,%r14d
1071         xorl    %r11d,%r13d
1072         xorl    %ebx,%r15d
1073
1074         xorl    %r9d,%ecx
1075         xorl    %edx,%r14d
1076         addl    %r15d,%r12d
1077         movl    %r8d,%r15d
1078
1079         rorl    $6,%r13d
1080         andl    %edx,%ecx
1081         andl    %r9d,%r15d
1082
1083         rorl    $2,%r14d
1084         addl    %r13d,%r12d
1085         addl    %r15d,%ecx
1086
1087         addl    %r12d,%r10d
1088         addl    %r12d,%ecx
1089         leaq    1(%rdi),%rdi
1090         addl    %r14d,%ecx
1091
1092         movl    28(%rsp),%r13d
1093         movl    16(%rsp),%r14d
1094         movl    %r13d,%r12d
1095         movl    %r14d,%r15d
1096
1097         rorl    $11,%r12d
1098         xorl    %r13d,%r12d
1099         shrl    $3,%r13d
1100
1101         rorl    $7,%r12d
1102         xorl    %r12d,%r13d
1103         movl    60(%rsp),%r12d
1104
1105         rorl    $2,%r15d
1106         xorl    %r14d,%r15d
1107         shrl    $10,%r14d
1108
1109         rorl    $17,%r15d
1110         addl    %r13d,%r12d
1111         xorl    %r15d,%r14d
1112
1113         addl    24(%rsp),%r12d
1114         movl    %r10d,%r13d
1115         addl    %r14d,%r12d
1116         movl    %ecx,%r14d
1117         rorl    $14,%r13d
1118         movl    %r11d,%r15d
1119         movl    %r12d,24(%rsp)
1120
1121         rorl    $9,%r14d
1122         xorl    %r10d,%r13d
1123         xorl    %eax,%r15d
1124
1125         rorl    $5,%r13d
1126         addl    %ebx,%r12d
1127         xorl    %ecx,%r14d
1128
1129         addl    (%rbp,%rdi,4),%r12d
1130         andl    %r10d,%r15d
1131         movl    %edx,%ebx
1132
1133         rorl    $11,%r14d
1134         xorl    %r10d,%r13d
1135         xorl    %eax,%r15d
1136
1137         xorl    %r8d,%ebx
1138         xorl    %ecx,%r14d
1139         addl    %r15d,%r12d
1140         movl    %edx,%r15d
1141
1142         rorl    $6,%r13d
1143         andl    %ecx,%ebx
1144         andl    %r8d,%r15d
1145
1146         rorl    $2,%r14d
1147         addl    %r13d,%r12d
1148         addl    %r15d,%ebx
1149
1150         addl    %r12d,%r9d
1151         addl    %r12d,%ebx
1152         leaq    1(%rdi),%rdi
1153         addl    %r14d,%ebx
1154
1155         movl    32(%rsp),%r13d
1156         movl    20(%rsp),%r14d
1157         movl    %r13d,%r12d
1158         movl    %r14d,%r15d
1159
1160         rorl    $11,%r12d
1161         xorl    %r13d,%r12d
1162         shrl    $3,%r13d
1163
1164         rorl    $7,%r12d
1165         xorl    %r12d,%r13d
1166         movl    0(%rsp),%r12d
1167
1168         rorl    $2,%r15d
1169         xorl    %r14d,%r15d
1170         shrl    $10,%r14d
1171
1172         rorl    $17,%r15d
1173         addl    %r13d,%r12d
1174         xorl    %r15d,%r14d
1175
1176         addl    28(%rsp),%r12d
1177         movl    %r9d,%r13d
1178         addl    %r14d,%r12d
1179         movl    %ebx,%r14d
1180         rorl    $14,%r13d
1181         movl    %r10d,%r15d
1182         movl    %r12d,28(%rsp)
1183
1184         rorl    $9,%r14d
1185         xorl    %r9d,%r13d
1186         xorl    %r11d,%r15d
1187
1188         rorl    $5,%r13d
1189         addl    %eax,%r12d
1190         xorl    %ebx,%r14d
1191
1192         addl    (%rbp,%rdi,4),%r12d
1193         andl    %r9d,%r15d
1194         movl    %ecx,%eax
1195
1196         rorl    $11,%r14d
1197         xorl    %r9d,%r13d
1198         xorl    %r11d,%r15d
1199
1200         xorl    %edx,%eax
1201         xorl    %ebx,%r14d
1202         addl    %r15d,%r12d
1203         movl    %ecx,%r15d
1204
1205         rorl    $6,%r13d
1206         andl    %ebx,%eax
1207         andl    %edx,%r15d
1208
1209         rorl    $2,%r14d
1210         addl    %r13d,%r12d
1211         addl    %r15d,%eax
1212
1213         addl    %r12d,%r8d
1214         addl    %r12d,%eax
1215         leaq    1(%rdi),%rdi
1216         addl    %r14d,%eax
1217
1218         movl    36(%rsp),%r13d
1219         movl    24(%rsp),%r14d
1220         movl    %r13d,%r12d
1221         movl    %r14d,%r15d
1222
1223         rorl    $11,%r12d
1224         xorl    %r13d,%r12d
1225         shrl    $3,%r13d
1226
1227         rorl    $7,%r12d
1228         xorl    %r12d,%r13d
1229         movl    4(%rsp),%r12d
1230
1231         rorl    $2,%r15d
1232         xorl    %r14d,%r15d
1233         shrl    $10,%r14d
1234
1235         rorl    $17,%r15d
1236         addl    %r13d,%r12d
1237         xorl    %r15d,%r14d
1238
1239         addl    32(%rsp),%r12d
1240         movl    %r8d,%r13d
1241         addl    %r14d,%r12d
1242         movl    %eax,%r14d
1243         rorl    $14,%r13d
1244         movl    %r9d,%r15d
1245         movl    %r12d,32(%rsp)
1246
1247         rorl    $9,%r14d
1248         xorl    %r8d,%r13d
1249         xorl    %r10d,%r15d
1250
1251         rorl    $5,%r13d
1252         addl    %r11d,%r12d
1253         xorl    %eax,%r14d
1254
1255         addl    (%rbp,%rdi,4),%r12d
1256         andl    %r8d,%r15d
1257         movl    %ebx,%r11d
1258
1259         rorl    $11,%r14d
1260         xorl    %r8d,%r13d
1261         xorl    %r10d,%r15d
1262
1263         xorl    %ecx,%r11d
1264         xorl    %eax,%r14d
1265         addl    %r15d,%r12d
1266         movl    %ebx,%r15d
1267
1268         rorl    $6,%r13d
1269         andl    %eax,%r11d
1270         andl    %ecx,%r15d
1271
1272         rorl    $2,%r14d
1273         addl    %r13d,%r12d
1274         addl    %r15d,%r11d
1275
1276         addl    %r12d,%edx
1277         addl    %r12d,%r11d
1278         leaq    1(%rdi),%rdi
1279         addl    %r14d,%r11d
1280
1281         movl    40(%rsp),%r13d
1282         movl    28(%rsp),%r14d
1283         movl    %r13d,%r12d
1284         movl    %r14d,%r15d
1285
1286         rorl    $11,%r12d
1287         xorl    %r13d,%r12d
1288         shrl    $3,%r13d
1289
1290         rorl    $7,%r12d
1291         xorl    %r12d,%r13d
1292         movl    8(%rsp),%r12d
1293
1294         rorl    $2,%r15d
1295         xorl    %r14d,%r15d
1296         shrl    $10,%r14d
1297
1298         rorl    $17,%r15d
1299         addl    %r13d,%r12d
1300         xorl    %r15d,%r14d
1301
1302         addl    36(%rsp),%r12d
1303         movl    %edx,%r13d
1304         addl    %r14d,%r12d
1305         movl    %r11d,%r14d
1306         rorl    $14,%r13d
1307         movl    %r8d,%r15d
1308         movl    %r12d,36(%rsp)
1309
1310         rorl    $9,%r14d
1311         xorl    %edx,%r13d
1312         xorl    %r9d,%r15d
1313
1314         rorl    $5,%r13d
1315         addl    %r10d,%r12d
1316         xorl    %r11d,%r14d
1317
1318         addl    (%rbp,%rdi,4),%r12d
1319         andl    %edx,%r15d
1320         movl    %eax,%r10d
1321
1322         rorl    $11,%r14d
1323         xorl    %edx,%r13d
1324         xorl    %r9d,%r15d
1325
1326         xorl    %ebx,%r10d
1327         xorl    %r11d,%r14d
1328         addl    %r15d,%r12d
1329         movl    %eax,%r15d
1330
1331         rorl    $6,%r13d
1332         andl    %r11d,%r10d
1333         andl    %ebx,%r15d
1334
1335         rorl    $2,%r14d
1336         addl    %r13d,%r12d
1337         addl    %r15d,%r10d
1338
1339         addl    %r12d,%ecx
1340         addl    %r12d,%r10d
1341         leaq    1(%rdi),%rdi
1342         addl    %r14d,%r10d
1343
1344         movl    44(%rsp),%r13d
1345         movl    32(%rsp),%r14d
1346         movl    %r13d,%r12d
1347         movl    %r14d,%r15d
1348
1349         rorl    $11,%r12d
1350         xorl    %r13d,%r12d
1351         shrl    $3,%r13d
1352
1353         rorl    $7,%r12d
1354         xorl    %r12d,%r13d
1355         movl    12(%rsp),%r12d
1356
1357         rorl    $2,%r15d
1358         xorl    %r14d,%r15d
1359         shrl    $10,%r14d
1360
1361         rorl    $17,%r15d
1362         addl    %r13d,%r12d
1363         xorl    %r15d,%r14d
1364
1365         addl    40(%rsp),%r12d
1366         movl    %ecx,%r13d
1367         addl    %r14d,%r12d
1368         movl    %r10d,%r14d
1369         rorl    $14,%r13d
1370         movl    %edx,%r15d
1371         movl    %r12d,40(%rsp)
1372
1373         rorl    $9,%r14d
1374         xorl    %ecx,%r13d
1375         xorl    %r8d,%r15d
1376
1377         rorl    $5,%r13d
1378         addl    %r9d,%r12d
1379         xorl    %r10d,%r14d
1380
1381         addl    (%rbp,%rdi,4),%r12d
1382         andl    %ecx,%r15d
1383         movl    %r11d,%r9d
1384
1385         rorl    $11,%r14d
1386         xorl    %ecx,%r13d
1387         xorl    %r8d,%r15d
1388
1389         xorl    %eax,%r9d
1390         xorl    %r10d,%r14d
1391         addl    %r15d,%r12d
1392         movl    %r11d,%r15d
1393
1394         rorl    $6,%r13d
1395         andl    %r10d,%r9d
1396         andl    %eax,%r15d
1397
1398         rorl    $2,%r14d
1399         addl    %r13d,%r12d
1400         addl    %r15d,%r9d
1401
1402         addl    %r12d,%ebx
1403         addl    %r12d,%r9d
1404         leaq    1(%rdi),%rdi
1405         addl    %r14d,%r9d
1406
1407         movl    48(%rsp),%r13d
1408         movl    36(%rsp),%r14d
1409         movl    %r13d,%r12d
1410         movl    %r14d,%r15d
1411
1412         rorl    $11,%r12d
1413         xorl    %r13d,%r12d
1414         shrl    $3,%r13d
1415
1416         rorl    $7,%r12d
1417         xorl    %r12d,%r13d
1418         movl    16(%rsp),%r12d
1419
1420         rorl    $2,%r15d
1421         xorl    %r14d,%r15d
1422         shrl    $10,%r14d
1423
1424         rorl    $17,%r15d
1425         addl    %r13d,%r12d
1426         xorl    %r15d,%r14d
1427
1428         addl    44(%rsp),%r12d
1429         movl    %ebx,%r13d
1430         addl    %r14d,%r12d
1431         movl    %r9d,%r14d
1432         rorl    $14,%r13d
1433         movl    %ecx,%r15d
1434         movl    %r12d,44(%rsp)
1435
1436         rorl    $9,%r14d
1437         xorl    %ebx,%r13d
1438         xorl    %edx,%r15d
1439
1440         rorl    $5,%r13d
1441         addl    %r8d,%r12d
1442         xorl    %r9d,%r14d
1443
1444         addl    (%rbp,%rdi,4),%r12d
1445         andl    %ebx,%r15d
1446         movl    %r10d,%r8d
1447
1448         rorl    $11,%r14d
1449         xorl    %ebx,%r13d
1450         xorl    %edx,%r15d
1451
1452         xorl    %r11d,%r8d
1453         xorl    %r9d,%r14d
1454         addl    %r15d,%r12d
1455         movl    %r10d,%r15d
1456
1457         rorl    $6,%r13d
1458         andl    %r9d,%r8d
1459         andl    %r11d,%r15d
1460
1461         rorl    $2,%r14d
1462         addl    %r13d,%r12d
1463         addl    %r15d,%r8d
1464
1465         addl    %r12d,%eax
1466         addl    %r12d,%r8d
1467         leaq    1(%rdi),%rdi
1468         addl    %r14d,%r8d
1469
1470         movl    52(%rsp),%r13d
1471         movl    40(%rsp),%r14d
1472         movl    %r13d,%r12d
1473         movl    %r14d,%r15d
1474
1475         rorl    $11,%r12d
1476         xorl    %r13d,%r12d
1477         shrl    $3,%r13d
1478
1479         rorl    $7,%r12d
1480         xorl    %r12d,%r13d
1481         movl    20(%rsp),%r12d
1482
1483         rorl    $2,%r15d
1484         xorl    %r14d,%r15d
1485         shrl    $10,%r14d
1486
1487         rorl    $17,%r15d
1488         addl    %r13d,%r12d
1489         xorl    %r15d,%r14d
1490
1491         addl    48(%rsp),%r12d
1492         movl    %eax,%r13d
1493         addl    %r14d,%r12d
1494         movl    %r8d,%r14d
1495         rorl    $14,%r13d
1496         movl    %ebx,%r15d
1497         movl    %r12d,48(%rsp)
1498
1499         rorl    $9,%r14d
1500         xorl    %eax,%r13d
1501         xorl    %ecx,%r15d
1502
1503         rorl    $5,%r13d
1504         addl    %edx,%r12d
1505         xorl    %r8d,%r14d
1506
1507         addl    (%rbp,%rdi,4),%r12d
1508         andl    %eax,%r15d
1509         movl    %r9d,%edx
1510
1511         rorl    $11,%r14d
1512         xorl    %eax,%r13d
1513         xorl    %ecx,%r15d
1514
1515         xorl    %r10d,%edx
1516         xorl    %r8d,%r14d
1517         addl    %r15d,%r12d
1518         movl    %r9d,%r15d
1519
1520         rorl    $6,%r13d
1521         andl    %r8d,%edx
1522         andl    %r10d,%r15d
1523
1524         rorl    $2,%r14d
1525         addl    %r13d,%r12d
1526         addl    %r15d,%edx
1527
1528         addl    %r12d,%r11d
1529         addl    %r12d,%edx
1530         leaq    1(%rdi),%rdi
1531         addl    %r14d,%edx
1532
1533         movl    56(%rsp),%r13d
1534         movl    44(%rsp),%r14d
1535         movl    %r13d,%r12d
1536         movl    %r14d,%r15d
1537
1538         rorl    $11,%r12d
1539         xorl    %r13d,%r12d
1540         shrl    $3,%r13d
1541
1542         rorl    $7,%r12d
1543         xorl    %r12d,%r13d
1544         movl    24(%rsp),%r12d
1545
1546         rorl    $2,%r15d
1547         xorl    %r14d,%r15d
1548         shrl    $10,%r14d
1549
1550         rorl    $17,%r15d
1551         addl    %r13d,%r12d
1552         xorl    %r15d,%r14d
1553
1554         addl    52(%rsp),%r12d
1555         movl    %r11d,%r13d
1556         addl    %r14d,%r12d
1557         movl    %edx,%r14d
1558         rorl    $14,%r13d
1559         movl    %eax,%r15d
1560         movl    %r12d,52(%rsp)
1561
1562         rorl    $9,%r14d
1563         xorl    %r11d,%r13d
1564         xorl    %ebx,%r15d
1565
1566         rorl    $5,%r13d
1567         addl    %ecx,%r12d
1568         xorl    %edx,%r14d
1569
1570         addl    (%rbp,%rdi,4),%r12d
1571         andl    %r11d,%r15d
1572         movl    %r8d,%ecx
1573
1574         rorl    $11,%r14d
1575         xorl    %r11d,%r13d
1576         xorl    %ebx,%r15d
1577
1578         xorl    %r9d,%ecx
1579         xorl    %edx,%r14d
1580         addl    %r15d,%r12d
1581         movl    %r8d,%r15d
1582
1583         rorl    $6,%r13d
1584         andl    %edx,%ecx
1585         andl    %r9d,%r15d
1586
1587         rorl    $2,%r14d
1588         addl    %r13d,%r12d
1589         addl    %r15d,%ecx
1590
1591         addl    %r12d,%r10d
1592         addl    %r12d,%ecx
1593         leaq    1(%rdi),%rdi
1594         addl    %r14d,%ecx
1595
1596         movl    60(%rsp),%r13d
1597         movl    48(%rsp),%r14d
1598         movl    %r13d,%r12d
1599         movl    %r14d,%r15d
1600
1601         rorl    $11,%r12d
1602         xorl    %r13d,%r12d
1603         shrl    $3,%r13d
1604
1605         rorl    $7,%r12d
1606         xorl    %r12d,%r13d
1607         movl    28(%rsp),%r12d
1608
1609         rorl    $2,%r15d
1610         xorl    %r14d,%r15d
1611         shrl    $10,%r14d
1612
1613         rorl    $17,%r15d
1614         addl    %r13d,%r12d
1615         xorl    %r15d,%r14d
1616
1617         addl    56(%rsp),%r12d
1618         movl    %r10d,%r13d
1619         addl    %r14d,%r12d
1620         movl    %ecx,%r14d
1621         rorl    $14,%r13d
1622         movl    %r11d,%r15d
1623         movl    %r12d,56(%rsp)
1624
1625         rorl    $9,%r14d
1626         xorl    %r10d,%r13d
1627         xorl    %eax,%r15d
1628
1629         rorl    $5,%r13d
1630         addl    %ebx,%r12d
1631         xorl    %ecx,%r14d
1632
1633         addl    (%rbp,%rdi,4),%r12d
1634         andl    %r10d,%r15d
1635         movl    %edx,%ebx
1636
1637         rorl    $11,%r14d
1638         xorl    %r10d,%r13d
1639         xorl    %eax,%r15d
1640
1641         xorl    %r8d,%ebx
1642         xorl    %ecx,%r14d
1643         addl    %r15d,%r12d
1644         movl    %edx,%r15d
1645
1646         rorl    $6,%r13d
1647         andl    %ecx,%ebx
1648         andl    %r8d,%r15d
1649
1650         rorl    $2,%r14d
1651         addl    %r13d,%r12d
1652         addl    %r15d,%ebx
1653
1654         addl    %r12d,%r9d
1655         addl    %r12d,%ebx
1656         leaq    1(%rdi),%rdi
1657         addl    %r14d,%ebx
1658
1659         movl    0(%rsp),%r13d
1660         movl    52(%rsp),%r14d
1661         movl    %r13d,%r12d
1662         movl    %r14d,%r15d
1663
1664         rorl    $11,%r12d
1665         xorl    %r13d,%r12d
1666         shrl    $3,%r13d
1667
1668         rorl    $7,%r12d
1669         xorl    %r12d,%r13d
1670         movl    32(%rsp),%r12d
1671
1672         rorl    $2,%r15d
1673         xorl    %r14d,%r15d
1674         shrl    $10,%r14d
1675
1676         rorl    $17,%r15d
1677         addl    %r13d,%r12d
1678         xorl    %r15d,%r14d
1679
1680         addl    60(%rsp),%r12d
1681         movl    %r9d,%r13d
1682         addl    %r14d,%r12d
1683         movl    %ebx,%r14d
1684         rorl    $14,%r13d
1685         movl    %r10d,%r15d
1686         movl    %r12d,60(%rsp)
1687
1688         rorl    $9,%r14d
1689         xorl    %r9d,%r13d
1690         xorl    %r11d,%r15d
1691
1692         rorl    $5,%r13d
1693         addl    %eax,%r12d
1694         xorl    %ebx,%r14d
1695
1696         addl    (%rbp,%rdi,4),%r12d
1697         andl    %r9d,%r15d
1698         movl    %ecx,%eax
1699
1700         rorl    $11,%r14d
1701         xorl    %r9d,%r13d
1702         xorl    %r11d,%r15d
1703
1704         xorl    %edx,%eax
1705         xorl    %ebx,%r14d
1706         addl    %r15d,%r12d
1707         movl    %ecx,%r15d
1708
1709         rorl    $6,%r13d
1710         andl    %ebx,%eax
1711         andl    %edx,%r15d
1712
1713         rorl    $2,%r14d
1714         addl    %r13d,%r12d
1715         addl    %r15d,%eax
1716
1717         addl    %r12d,%r8d
1718         addl    %r12d,%eax
1719         leaq    1(%rdi),%rdi
1720         addl    %r14d,%eax
1721
1722         cmpq    $64,%rdi
1723         jb      L$rounds_16_xx
1724
1725         movq    64+0(%rsp),%rdi
1726         leaq    64(%rsi),%rsi
1727
1728         addl    0(%rdi),%eax
1729         addl    4(%rdi),%ebx
1730         addl    8(%rdi),%ecx
1731         addl    12(%rdi),%edx
1732         addl    16(%rdi),%r8d
1733         addl    20(%rdi),%r9d
1734         addl    24(%rdi),%r10d
1735         addl    28(%rdi),%r11d
1736
1737         cmpq    64+16(%rsp),%rsi
1738
1739         movl    %eax,0(%rdi)
1740         movl    %ebx,4(%rdi)
1741         movl    %ecx,8(%rdi)
1742         movl    %edx,12(%rdi)
1743         movl    %r8d,16(%rdi)
1744         movl    %r9d,20(%rdi)
1745         movl    %r10d,24(%rdi)
1746         movl    %r11d,28(%rdi)
1747         jb      L$loop
1748
1749         movq    64+24(%rsp),%rsi
1750         movq    (%rsi),%r15
1751         movq    8(%rsi),%r14
1752         movq    16(%rsi),%r13
1753         movq    24(%rsi),%r12
1754         movq    32(%rsi),%rbp
1755         movq    40(%rsi),%rbx
1756         leaq    48(%rsi),%rsp
1757 L$epilogue:
1758         .byte   0xf3,0xc3
1759
1760 .p2align        6
1761
1762 K256:
1763 .long   0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1764 .long   0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1765 .long   0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1766 .long   0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1767 .long   0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1768 .long   0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1769 .long   0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1770 .long   0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1771 .long   0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1772 .long   0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1773 .long   0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1774 .long   0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1775 .long   0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1776 .long   0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1777 .long   0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1778 .long   0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2