Sync usage with man page.
[netbsd-mini2440.git] / crypto / external / bsd / openssl / lib / libcrypto / arch / x86_64 / md5-x86_64.S
blob2adb2fc7944fa57aa0e1640c739a623d0507548c
1 .text
2 .align 16
4 .globl md5_block_asm_data_order
5 .type md5_block_asm_data_order,@function
6 md5_block_asm_data_order:
7         pushq   %rbp
8         pushq   %rbx
9         pushq   %r12
10         pushq   %r14
11         pushq   %r15
16         movq    %rdi,%rbp
17         shlq    $6,%rdx
18         leaq    (%rsi,%rdx,1),%rdi
19         movl    0(%rbp),%eax
20         movl    4(%rbp),%ebx
21         movl    8(%rbp),%ecx
22         movl    12(%rbp),%edx
30         cmpq    %rdi,%rsi
31         je      .Lend                           
34 .Lloop:
35         movl    %eax,%r8d
36         movl    %ebx,%r9d
37         movl    %ecx,%r14d
38         movl    %edx,%r15d
39         movl    0(%rsi),%r10d
40         movl    %edx,%r11d
41         xorl    %ecx,%r11d
42         leal    3614090360(%rax,%r10,1),%eax
43         andl    %ebx,%r11d
44         xorl    %edx,%r11d
45         movl    4(%rsi),%r10d
46         addl    %r11d,%eax
47         roll    $7,%eax
48         movl    %ecx,%r11d
49         addl    %ebx,%eax
50         xorl    %ebx,%r11d
51         leal    3905402710(%rdx,%r10,1),%edx
52         andl    %eax,%r11d
53         xorl    %ecx,%r11d
54         movl    8(%rsi),%r10d
55         addl    %r11d,%edx
56         roll    $12,%edx
57         movl    %ebx,%r11d
58         addl    %eax,%edx
59         xorl    %eax,%r11d
60         leal    606105819(%rcx,%r10,1),%ecx
61         andl    %edx,%r11d
62         xorl    %ebx,%r11d
63         movl    12(%rsi),%r10d
64         addl    %r11d,%ecx
65         roll    $17,%ecx
66         movl    %eax,%r11d
67         addl    %edx,%ecx
68         xorl    %edx,%r11d
69         leal    3250441966(%rbx,%r10,1),%ebx
70         andl    %ecx,%r11d
71         xorl    %eax,%r11d
72         movl    16(%rsi),%r10d
73         addl    %r11d,%ebx
74         roll    $22,%ebx
75         movl    %edx,%r11d
76         addl    %ecx,%ebx
77         xorl    %ecx,%r11d
78         leal    4118548399(%rax,%r10,1),%eax
79         andl    %ebx,%r11d
80         xorl    %edx,%r11d
81         movl    20(%rsi),%r10d
82         addl    %r11d,%eax
83         roll    $7,%eax
84         movl    %ecx,%r11d
85         addl    %ebx,%eax
86         xorl    %ebx,%r11d
87         leal    1200080426(%rdx,%r10,1),%edx
88         andl    %eax,%r11d
89         xorl    %ecx,%r11d
90         movl    24(%rsi),%r10d
91         addl    %r11d,%edx
92         roll    $12,%edx
93         movl    %ebx,%r11d
94         addl    %eax,%edx
95         xorl    %eax,%r11d
96         leal    2821735955(%rcx,%r10,1),%ecx
97         andl    %edx,%r11d
98         xorl    %ebx,%r11d
99         movl    28(%rsi),%r10d
100         addl    %r11d,%ecx
101         roll    $17,%ecx
102         movl    %eax,%r11d
103         addl    %edx,%ecx
104         xorl    %edx,%r11d
105         leal    4249261313(%rbx,%r10,1),%ebx
106         andl    %ecx,%r11d
107         xorl    %eax,%r11d
108         movl    32(%rsi),%r10d
109         addl    %r11d,%ebx
110         roll    $22,%ebx
111         movl    %edx,%r11d
112         addl    %ecx,%ebx
113         xorl    %ecx,%r11d
114         leal    1770035416(%rax,%r10,1),%eax
115         andl    %ebx,%r11d
116         xorl    %edx,%r11d
117         movl    36(%rsi),%r10d
118         addl    %r11d,%eax
119         roll    $7,%eax
120         movl    %ecx,%r11d
121         addl    %ebx,%eax
122         xorl    %ebx,%r11d
123         leal    2336552879(%rdx,%r10,1),%edx
124         andl    %eax,%r11d
125         xorl    %ecx,%r11d
126         movl    40(%rsi),%r10d
127         addl    %r11d,%edx
128         roll    $12,%edx
129         movl    %ebx,%r11d
130         addl    %eax,%edx
131         xorl    %eax,%r11d
132         leal    4294925233(%rcx,%r10,1),%ecx
133         andl    %edx,%r11d
134         xorl    %ebx,%r11d
135         movl    44(%rsi),%r10d
136         addl    %r11d,%ecx
137         roll    $17,%ecx
138         movl    %eax,%r11d
139         addl    %edx,%ecx
140         xorl    %edx,%r11d
141         leal    2304563134(%rbx,%r10,1),%ebx
142         andl    %ecx,%r11d
143         xorl    %eax,%r11d
144         movl    48(%rsi),%r10d
145         addl    %r11d,%ebx
146         roll    $22,%ebx
147         movl    %edx,%r11d
148         addl    %ecx,%ebx
149         xorl    %ecx,%r11d
150         leal    1804603682(%rax,%r10,1),%eax
151         andl    %ebx,%r11d
152         xorl    %edx,%r11d
153         movl    52(%rsi),%r10d
154         addl    %r11d,%eax
155         roll    $7,%eax
156         movl    %ecx,%r11d
157         addl    %ebx,%eax
158         xorl    %ebx,%r11d
159         leal    4254626195(%rdx,%r10,1),%edx
160         andl    %eax,%r11d
161         xorl    %ecx,%r11d
162         movl    56(%rsi),%r10d
163         addl    %r11d,%edx
164         roll    $12,%edx
165         movl    %ebx,%r11d
166         addl    %eax,%edx
167         xorl    %eax,%r11d
168         leal    2792965006(%rcx,%r10,1),%ecx
169         andl    %edx,%r11d
170         xorl    %ebx,%r11d
171         movl    60(%rsi),%r10d
172         addl    %r11d,%ecx
173         roll    $17,%ecx
174         movl    %eax,%r11d
175         addl    %edx,%ecx
176         xorl    %edx,%r11d
177         leal    1236535329(%rbx,%r10,1),%ebx
178         andl    %ecx,%r11d
179         xorl    %eax,%r11d
180         movl    0(%rsi),%r10d
181         addl    %r11d,%ebx
182         roll    $22,%ebx
183         movl    %edx,%r11d
184         addl    %ecx,%ebx
185         movl    4(%rsi),%r10d
186         movl    %edx,%r11d
187         movl    %edx,%r12d
188         notl    %r11d
189         leal    4129170786(%rax,%r10,1),%eax
190         andl    %ebx,%r12d
191         andl    %ecx,%r11d
192         movl    24(%rsi),%r10d
193         orl     %r11d,%r12d
194         movl    %ecx,%r11d
195         addl    %r12d,%eax
196         movl    %ecx,%r12d
197         roll    $5,%eax
198         addl    %ebx,%eax
199         notl    %r11d
200         leal    3225465664(%rdx,%r10,1),%edx
201         andl    %eax,%r12d
202         andl    %ebx,%r11d
203         movl    44(%rsi),%r10d
204         orl     %r11d,%r12d
205         movl    %ebx,%r11d
206         addl    %r12d,%edx
207         movl    %ebx,%r12d
208         roll    $9,%edx
209         addl    %eax,%edx
210         notl    %r11d
211         leal    643717713(%rcx,%r10,1),%ecx
212         andl    %edx,%r12d
213         andl    %eax,%r11d
214         movl    0(%rsi),%r10d
215         orl     %r11d,%r12d
216         movl    %eax,%r11d
217         addl    %r12d,%ecx
218         movl    %eax,%r12d
219         roll    $14,%ecx
220         addl    %edx,%ecx
221         notl    %r11d
222         leal    3921069994(%rbx,%r10,1),%ebx
223         andl    %ecx,%r12d
224         andl    %edx,%r11d
225         movl    20(%rsi),%r10d
226         orl     %r11d,%r12d
227         movl    %edx,%r11d
228         addl    %r12d,%ebx
229         movl    %edx,%r12d
230         roll    $20,%ebx
231         addl    %ecx,%ebx
232         notl    %r11d
233         leal    3593408605(%rax,%r10,1),%eax
234         andl    %ebx,%r12d
235         andl    %ecx,%r11d
236         movl    40(%rsi),%r10d
237         orl     %r11d,%r12d
238         movl    %ecx,%r11d
239         addl    %r12d,%eax
240         movl    %ecx,%r12d
241         roll    $5,%eax
242         addl    %ebx,%eax
243         notl    %r11d
244         leal    38016083(%rdx,%r10,1),%edx
245         andl    %eax,%r12d
246         andl    %ebx,%r11d
247         movl    60(%rsi),%r10d
248         orl     %r11d,%r12d
249         movl    %ebx,%r11d
250         addl    %r12d,%edx
251         movl    %ebx,%r12d
252         roll    $9,%edx
253         addl    %eax,%edx
254         notl    %r11d
255         leal    3634488961(%rcx,%r10,1),%ecx
256         andl    %edx,%r12d
257         andl    %eax,%r11d
258         movl    16(%rsi),%r10d
259         orl     %r11d,%r12d
260         movl    %eax,%r11d
261         addl    %r12d,%ecx
262         movl    %eax,%r12d
263         roll    $14,%ecx
264         addl    %edx,%ecx
265         notl    %r11d
266         leal    3889429448(%rbx,%r10,1),%ebx
267         andl    %ecx,%r12d
268         andl    %edx,%r11d
269         movl    36(%rsi),%r10d
270         orl     %r11d,%r12d
271         movl    %edx,%r11d
272         addl    %r12d,%ebx
273         movl    %edx,%r12d
274         roll    $20,%ebx
275         addl    %ecx,%ebx
276         notl    %r11d
277         leal    568446438(%rax,%r10,1),%eax
278         andl    %ebx,%r12d
279         andl    %ecx,%r11d
280         movl    56(%rsi),%r10d
281         orl     %r11d,%r12d
282         movl    %ecx,%r11d
283         addl    %r12d,%eax
284         movl    %ecx,%r12d
285         roll    $5,%eax
286         addl    %ebx,%eax
287         notl    %r11d
288         leal    3275163606(%rdx,%r10,1),%edx
289         andl    %eax,%r12d
290         andl    %ebx,%r11d
291         movl    12(%rsi),%r10d
292         orl     %r11d,%r12d
293         movl    %ebx,%r11d
294         addl    %r12d,%edx
295         movl    %ebx,%r12d
296         roll    $9,%edx
297         addl    %eax,%edx
298         notl    %r11d
299         leal    4107603335(%rcx,%r10,1),%ecx
300         andl    %edx,%r12d
301         andl    %eax,%r11d
302         movl    32(%rsi),%r10d
303         orl     %r11d,%r12d
304         movl    %eax,%r11d
305         addl    %r12d,%ecx
306         movl    %eax,%r12d
307         roll    $14,%ecx
308         addl    %edx,%ecx
309         notl    %r11d
310         leal    1163531501(%rbx,%r10,1),%ebx
311         andl    %ecx,%r12d
312         andl    %edx,%r11d
313         movl    52(%rsi),%r10d
314         orl     %r11d,%r12d
315         movl    %edx,%r11d
316         addl    %r12d,%ebx
317         movl    %edx,%r12d
318         roll    $20,%ebx
319         addl    %ecx,%ebx
320         notl    %r11d
321         leal    2850285829(%rax,%r10,1),%eax
322         andl    %ebx,%r12d
323         andl    %ecx,%r11d
324         movl    8(%rsi),%r10d
325         orl     %r11d,%r12d
326         movl    %ecx,%r11d
327         addl    %r12d,%eax
328         movl    %ecx,%r12d
329         roll    $5,%eax
330         addl    %ebx,%eax
331         notl    %r11d
332         leal    4243563512(%rdx,%r10,1),%edx
333         andl    %eax,%r12d
334         andl    %ebx,%r11d
335         movl    28(%rsi),%r10d
336         orl     %r11d,%r12d
337         movl    %ebx,%r11d
338         addl    %r12d,%edx
339         movl    %ebx,%r12d
340         roll    $9,%edx
341         addl    %eax,%edx
342         notl    %r11d
343         leal    1735328473(%rcx,%r10,1),%ecx
344         andl    %edx,%r12d
345         andl    %eax,%r11d
346         movl    48(%rsi),%r10d
347         orl     %r11d,%r12d
348         movl    %eax,%r11d
349         addl    %r12d,%ecx
350         movl    %eax,%r12d
351         roll    $14,%ecx
352         addl    %edx,%ecx
353         notl    %r11d
354         leal    2368359562(%rbx,%r10,1),%ebx
355         andl    %ecx,%r12d
356         andl    %edx,%r11d
357         movl    0(%rsi),%r10d
358         orl     %r11d,%r12d
359         movl    %edx,%r11d
360         addl    %r12d,%ebx
361         movl    %edx,%r12d
362         roll    $20,%ebx
363         addl    %ecx,%ebx
364         movl    20(%rsi),%r10d
365         movl    %ecx,%r11d
366         leal    4294588738(%rax,%r10,1),%eax
367         movl    32(%rsi),%r10d
368         xorl    %edx,%r11d
369         xorl    %ebx,%r11d
370         addl    %r11d,%eax
371         roll    $4,%eax
372         movl    %ebx,%r11d
373         addl    %ebx,%eax
374         leal    2272392833(%rdx,%r10,1),%edx
375         movl    44(%rsi),%r10d
376         xorl    %ecx,%r11d
377         xorl    %eax,%r11d
378         addl    %r11d,%edx
379         roll    $11,%edx
380         movl    %eax,%r11d
381         addl    %eax,%edx
382         leal    1839030562(%rcx,%r10,1),%ecx
383         movl    56(%rsi),%r10d
384         xorl    %ebx,%r11d
385         xorl    %edx,%r11d
386         addl    %r11d,%ecx
387         roll    $16,%ecx
388         movl    %edx,%r11d
389         addl    %edx,%ecx
390         leal    4259657740(%rbx,%r10,1),%ebx
391         movl    4(%rsi),%r10d
392         xorl    %eax,%r11d
393         xorl    %ecx,%r11d
394         addl    %r11d,%ebx
395         roll    $23,%ebx
396         movl    %ecx,%r11d
397         addl    %ecx,%ebx
398         leal    2763975236(%rax,%r10,1),%eax
399         movl    16(%rsi),%r10d
400         xorl    %edx,%r11d
401         xorl    %ebx,%r11d
402         addl    %r11d,%eax
403         roll    $4,%eax
404         movl    %ebx,%r11d
405         addl    %ebx,%eax
406         leal    1272893353(%rdx,%r10,1),%edx
407         movl    28(%rsi),%r10d
408         xorl    %ecx,%r11d
409         xorl    %eax,%r11d
410         addl    %r11d,%edx
411         roll    $11,%edx
412         movl    %eax,%r11d
413         addl    %eax,%edx
414         leal    4139469664(%rcx,%r10,1),%ecx
415         movl    40(%rsi),%r10d
416         xorl    %ebx,%r11d
417         xorl    %edx,%r11d
418         addl    %r11d,%ecx
419         roll    $16,%ecx
420         movl    %edx,%r11d
421         addl    %edx,%ecx
422         leal    3200236656(%rbx,%r10,1),%ebx
423         movl    52(%rsi),%r10d
424         xorl    %eax,%r11d
425         xorl    %ecx,%r11d
426         addl    %r11d,%ebx
427         roll    $23,%ebx
428         movl    %ecx,%r11d
429         addl    %ecx,%ebx
430         leal    681279174(%rax,%r10,1),%eax
431         movl    0(%rsi),%r10d
432         xorl    %edx,%r11d
433         xorl    %ebx,%r11d
434         addl    %r11d,%eax
435         roll    $4,%eax
436         movl    %ebx,%r11d
437         addl    %ebx,%eax
438         leal    3936430074(%rdx,%r10,1),%edx
439         movl    12(%rsi),%r10d
440         xorl    %ecx,%r11d
441         xorl    %eax,%r11d
442         addl    %r11d,%edx
443         roll    $11,%edx
444         movl    %eax,%r11d
445         addl    %eax,%edx
446         leal    3572445317(%rcx,%r10,1),%ecx
447         movl    24(%rsi),%r10d
448         xorl    %ebx,%r11d
449         xorl    %edx,%r11d
450         addl    %r11d,%ecx
451         roll    $16,%ecx
452         movl    %edx,%r11d
453         addl    %edx,%ecx
454         leal    76029189(%rbx,%r10,1),%ebx
455         movl    36(%rsi),%r10d
456         xorl    %eax,%r11d
457         xorl    %ecx,%r11d
458         addl    %r11d,%ebx
459         roll    $23,%ebx
460         movl    %ecx,%r11d
461         addl    %ecx,%ebx
462         leal    3654602809(%rax,%r10,1),%eax
463         movl    48(%rsi),%r10d
464         xorl    %edx,%r11d
465         xorl    %ebx,%r11d
466         addl    %r11d,%eax
467         roll    $4,%eax
468         movl    %ebx,%r11d
469         addl    %ebx,%eax
470         leal    3873151461(%rdx,%r10,1),%edx
471         movl    60(%rsi),%r10d
472         xorl    %ecx,%r11d
473         xorl    %eax,%r11d
474         addl    %r11d,%edx
475         roll    $11,%edx
476         movl    %eax,%r11d
477         addl    %eax,%edx
478         leal    530742520(%rcx,%r10,1),%ecx
479         movl    8(%rsi),%r10d
480         xorl    %ebx,%r11d
481         xorl    %edx,%r11d
482         addl    %r11d,%ecx
483         roll    $16,%ecx
484         movl    %edx,%r11d
485         addl    %edx,%ecx
486         leal    3299628645(%rbx,%r10,1),%ebx
487         movl    0(%rsi),%r10d
488         xorl    %eax,%r11d
489         xorl    %ecx,%r11d
490         addl    %r11d,%ebx
491         roll    $23,%ebx
492         movl    %ecx,%r11d
493         addl    %ecx,%ebx
494         movl    0(%rsi),%r10d
495         movl    $4294967295,%r11d
496         xorl    %edx,%r11d
497         leal    4096336452(%rax,%r10,1),%eax
498         orl     %ebx,%r11d
499         xorl    %ecx,%r11d
500         addl    %r11d,%eax
501         movl    28(%rsi),%r10d
502         movl    $4294967295,%r11d
503         roll    $6,%eax
504         xorl    %ecx,%r11d
505         addl    %ebx,%eax
506         leal    1126891415(%rdx,%r10,1),%edx
507         orl     %eax,%r11d
508         xorl    %ebx,%r11d
509         addl    %r11d,%edx
510         movl    56(%rsi),%r10d
511         movl    $4294967295,%r11d
512         roll    $10,%edx
513         xorl    %ebx,%r11d
514         addl    %eax,%edx
515         leal    2878612391(%rcx,%r10,1),%ecx
516         orl     %edx,%r11d
517         xorl    %eax,%r11d
518         addl    %r11d,%ecx
519         movl    20(%rsi),%r10d
520         movl    $4294967295,%r11d
521         roll    $15,%ecx
522         xorl    %eax,%r11d
523         addl    %edx,%ecx
524         leal    4237533241(%rbx,%r10,1),%ebx
525         orl     %ecx,%r11d
526         xorl    %edx,%r11d
527         addl    %r11d,%ebx
528         movl    48(%rsi),%r10d
529         movl    $4294967295,%r11d
530         roll    $21,%ebx
531         xorl    %edx,%r11d
532         addl    %ecx,%ebx
533         leal    1700485571(%rax,%r10,1),%eax
534         orl     %ebx,%r11d
535         xorl    %ecx,%r11d
536         addl    %r11d,%eax
537         movl    12(%rsi),%r10d
538         movl    $4294967295,%r11d
539         roll    $6,%eax
540         xorl    %ecx,%r11d
541         addl    %ebx,%eax
542         leal    2399980690(%rdx,%r10,1),%edx
543         orl     %eax,%r11d
544         xorl    %ebx,%r11d
545         addl    %r11d,%edx
546         movl    40(%rsi),%r10d
547         movl    $4294967295,%r11d
548         roll    $10,%edx
549         xorl    %ebx,%r11d
550         addl    %eax,%edx
551         leal    4293915773(%rcx,%r10,1),%ecx
552         orl     %edx,%r11d
553         xorl    %eax,%r11d
554         addl    %r11d,%ecx
555         movl    4(%rsi),%r10d
556         movl    $4294967295,%r11d
557         roll    $15,%ecx
558         xorl    %eax,%r11d
559         addl    %edx,%ecx
560         leal    2240044497(%rbx,%r10,1),%ebx
561         orl     %ecx,%r11d
562         xorl    %edx,%r11d
563         addl    %r11d,%ebx
564         movl    32(%rsi),%r10d
565         movl    $4294967295,%r11d
566         roll    $21,%ebx
567         xorl    %edx,%r11d
568         addl    %ecx,%ebx
569         leal    1873313359(%rax,%r10,1),%eax
570         orl     %ebx,%r11d
571         xorl    %ecx,%r11d
572         addl    %r11d,%eax
573         movl    60(%rsi),%r10d
574         movl    $4294967295,%r11d
575         roll    $6,%eax
576         xorl    %ecx,%r11d
577         addl    %ebx,%eax
578         leal    4264355552(%rdx,%r10,1),%edx
579         orl     %eax,%r11d
580         xorl    %ebx,%r11d
581         addl    %r11d,%edx
582         movl    24(%rsi),%r10d
583         movl    $4294967295,%r11d
584         roll    $10,%edx
585         xorl    %ebx,%r11d
586         addl    %eax,%edx
587         leal    2734768916(%rcx,%r10,1),%ecx
588         orl     %edx,%r11d
589         xorl    %eax,%r11d
590         addl    %r11d,%ecx
591         movl    52(%rsi),%r10d
592         movl    $4294967295,%r11d
593         roll    $15,%ecx
594         xorl    %eax,%r11d
595         addl    %edx,%ecx
596         leal    1309151649(%rbx,%r10,1),%ebx
597         orl     %ecx,%r11d
598         xorl    %edx,%r11d
599         addl    %r11d,%ebx
600         movl    16(%rsi),%r10d
601         movl    $4294967295,%r11d
602         roll    $21,%ebx
603         xorl    %edx,%r11d
604         addl    %ecx,%ebx
605         leal    4149444226(%rax,%r10,1),%eax
606         orl     %ebx,%r11d
607         xorl    %ecx,%r11d
608         addl    %r11d,%eax
609         movl    44(%rsi),%r10d
610         movl    $4294967295,%r11d
611         roll    $6,%eax
612         xorl    %ecx,%r11d
613         addl    %ebx,%eax
614         leal    3174756917(%rdx,%r10,1),%edx
615         orl     %eax,%r11d
616         xorl    %ebx,%r11d
617         addl    %r11d,%edx
618         movl    8(%rsi),%r10d
619         movl    $4294967295,%r11d
620         roll    $10,%edx
621         xorl    %ebx,%r11d
622         addl    %eax,%edx
623         leal    718787259(%rcx,%r10,1),%ecx
624         orl     %edx,%r11d
625         xorl    %eax,%r11d
626         addl    %r11d,%ecx
627         movl    36(%rsi),%r10d
628         movl    $4294967295,%r11d
629         roll    $15,%ecx
630         xorl    %eax,%r11d
631         addl    %edx,%ecx
632         leal    3951481745(%rbx,%r10,1),%ebx
633         orl     %ecx,%r11d
634         xorl    %edx,%r11d
635         addl    %r11d,%ebx
636         movl    0(%rsi),%r10d
637         movl    $4294967295,%r11d
638         roll    $21,%ebx
639         xorl    %edx,%r11d
640         addl    %ecx,%ebx
642         addl    %r8d,%eax
643         addl    %r9d,%ebx
644         addl    %r14d,%ecx
645         addl    %r15d,%edx
648         addq    $64,%rsi
649         cmpq    %rdi,%rsi
650         jb      .Lloop                          
653 .Lend:
654         movl    %eax,0(%rbp)
655         movl    %ebx,4(%rbp)
656         movl    %ecx,8(%rbp)
657         movl    %edx,12(%rbp)
659         popq    %r15
660         popq    %r14
661         popq    %r12
662         popq    %rbx
663         popq    %rbp
664         .byte   0xf3,0xc3
665 .size md5_block_asm_data_order,.-md5_block_asm_data_order