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