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