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