]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - secure/lib/libcrypto/i386/bn-586.s
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / secure / lib / libcrypto / i386 / bn-586.s
1         # $FreeBSD$
2
3
4
5
6
7
8         .file   "/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/bn/asm/bn-586.s"
9         .version        "01.01"
10 gcc2_compiled.:
11 .text
12         .align 16
13 .globl bn_mul_add_words
14         .type   bn_mul_add_words,@function
15 bn_mul_add_words:
16         pushl   %ebp
17         pushl   %ebx
18         pushl   %esi
19         pushl   %edi
20
21
22         xorl    %esi,           %esi
23         movl    20(%esp),       %edi
24         movl    28(%esp),       %ecx
25         movl    24(%esp),       %ebx
26         andl    $4294967288,    %ecx
27         movl    32(%esp),       %ebp
28         pushl   %ecx
29         jz      .L000maw_finish
30 .L001maw_loop:
31         movl    %ecx,           (%esp)
32
33         movl    (%ebx),         %eax
34         mull    %ebp
35         addl    %esi,           %eax
36         movl    (%edi),         %esi
37         adcl    $0,             %edx
38         addl    %esi,           %eax
39         adcl    $0,             %edx
40         movl    %eax,           (%edi)
41         movl    %edx,           %esi
42
43         movl    4(%ebx),        %eax
44         mull    %ebp
45         addl    %esi,           %eax
46         movl    4(%edi),        %esi
47         adcl    $0,             %edx
48         addl    %esi,           %eax
49         adcl    $0,             %edx
50         movl    %eax,           4(%edi)
51         movl    %edx,           %esi
52
53         movl    8(%ebx),        %eax
54         mull    %ebp
55         addl    %esi,           %eax
56         movl    8(%edi),        %esi
57         adcl    $0,             %edx
58         addl    %esi,           %eax
59         adcl    $0,             %edx
60         movl    %eax,           8(%edi)
61         movl    %edx,           %esi
62
63         movl    12(%ebx),       %eax
64         mull    %ebp
65         addl    %esi,           %eax
66         movl    12(%edi),       %esi
67         adcl    $0,             %edx
68         addl    %esi,           %eax
69         adcl    $0,             %edx
70         movl    %eax,           12(%edi)
71         movl    %edx,           %esi
72
73         movl    16(%ebx),       %eax
74         mull    %ebp
75         addl    %esi,           %eax
76         movl    16(%edi),       %esi
77         adcl    $0,             %edx
78         addl    %esi,           %eax
79         adcl    $0,             %edx
80         movl    %eax,           16(%edi)
81         movl    %edx,           %esi
82
83         movl    20(%ebx),       %eax
84         mull    %ebp
85         addl    %esi,           %eax
86         movl    20(%edi),       %esi
87         adcl    $0,             %edx
88         addl    %esi,           %eax
89         adcl    $0,             %edx
90         movl    %eax,           20(%edi)
91         movl    %edx,           %esi
92
93         movl    24(%ebx),       %eax
94         mull    %ebp
95         addl    %esi,           %eax
96         movl    24(%edi),       %esi
97         adcl    $0,             %edx
98         addl    %esi,           %eax
99         adcl    $0,             %edx
100         movl    %eax,           24(%edi)
101         movl    %edx,           %esi
102
103         movl    28(%ebx),       %eax
104         mull    %ebp
105         addl    %esi,           %eax
106         movl    28(%edi),       %esi
107         adcl    $0,             %edx
108         addl    %esi,           %eax
109         adcl    $0,             %edx
110         movl    %eax,           28(%edi)
111         movl    %edx,           %esi
112
113         movl    (%esp),         %ecx
114         addl    $32,            %ebx
115         addl    $32,            %edi
116         subl    $8,             %ecx
117         jnz     .L001maw_loop
118 .L000maw_finish:
119         movl    32(%esp),       %ecx
120         andl    $7,             %ecx
121         jnz     .L002maw_finish2
122         jmp     .L003maw_end
123 .align 16
124 .L002maw_finish2:
125
126         movl    (%ebx),         %eax
127         mull    %ebp
128         addl    %esi,           %eax
129         movl    (%edi),         %esi
130         adcl    $0,             %edx
131         addl    %esi,           %eax
132         adcl    $0,             %edx
133         decl    %ecx
134         movl    %eax,           (%edi)
135         movl    %edx,           %esi
136         jz      .L003maw_end
137
138         movl    4(%ebx),        %eax
139         mull    %ebp
140         addl    %esi,           %eax
141         movl    4(%edi),        %esi
142         adcl    $0,             %edx
143         addl    %esi,           %eax
144         adcl    $0,             %edx
145         decl    %ecx
146         movl    %eax,           4(%edi)
147         movl    %edx,           %esi
148         jz      .L003maw_end
149
150         movl    8(%ebx),        %eax
151         mull    %ebp
152         addl    %esi,           %eax
153         movl    8(%edi),        %esi
154         adcl    $0,             %edx
155         addl    %esi,           %eax
156         adcl    $0,             %edx
157         decl    %ecx
158         movl    %eax,           8(%edi)
159         movl    %edx,           %esi
160         jz      .L003maw_end
161
162         movl    12(%ebx),       %eax
163         mull    %ebp
164         addl    %esi,           %eax
165         movl    12(%edi),       %esi
166         adcl    $0,             %edx
167         addl    %esi,           %eax
168         adcl    $0,             %edx
169         decl    %ecx
170         movl    %eax,           12(%edi)
171         movl    %edx,           %esi
172         jz      .L003maw_end
173
174         movl    16(%ebx),       %eax
175         mull    %ebp
176         addl    %esi,           %eax
177         movl    16(%edi),       %esi
178         adcl    $0,             %edx
179         addl    %esi,           %eax
180         adcl    $0,             %edx
181         decl    %ecx
182         movl    %eax,           16(%edi)
183         movl    %edx,           %esi
184         jz      .L003maw_end
185
186         movl    20(%ebx),       %eax
187         mull    %ebp
188         addl    %esi,           %eax
189         movl    20(%edi),       %esi
190         adcl    $0,             %edx
191         addl    %esi,           %eax
192         adcl    $0,             %edx
193         decl    %ecx
194         movl    %eax,           20(%edi)
195         movl    %edx,           %esi
196         jz      .L003maw_end
197
198         movl    24(%ebx),       %eax
199         mull    %ebp
200         addl    %esi,           %eax
201         movl    24(%edi),       %esi
202         adcl    $0,             %edx
203         addl    %esi,           %eax
204         adcl    $0,             %edx
205         movl    %eax,           24(%edi)
206         movl    %edx,           %esi
207 .L003maw_end:
208         movl    %esi,           %eax
209         popl    %ecx
210         popl    %edi
211         popl    %esi
212         popl    %ebx
213         popl    %ebp
214         ret
215 .L_bn_mul_add_words_end:
216         .size   bn_mul_add_words,.L_bn_mul_add_words_end-bn_mul_add_words
217 .ident  "bn_mul_add_words"
218 .text
219         .align 16
220 .globl bn_mul_words
221         .type   bn_mul_words,@function
222 bn_mul_words:
223         pushl   %ebp
224         pushl   %ebx
225         pushl   %esi
226         pushl   %edi
227
228
229         xorl    %esi,           %esi
230         movl    20(%esp),       %edi
231         movl    24(%esp),       %ebx
232         movl    28(%esp),       %ebp
233         movl    32(%esp),       %ecx
234         andl    $4294967288,    %ebp
235         jz      .L004mw_finish
236 .L005mw_loop:
237
238         movl    (%ebx),         %eax
239         mull    %ecx
240         addl    %esi,           %eax
241         adcl    $0,             %edx
242         movl    %eax,           (%edi)
243         movl    %edx,           %esi
244
245         movl    4(%ebx),        %eax
246         mull    %ecx
247         addl    %esi,           %eax
248         adcl    $0,             %edx
249         movl    %eax,           4(%edi)
250         movl    %edx,           %esi
251
252         movl    8(%ebx),        %eax
253         mull    %ecx
254         addl    %esi,           %eax
255         adcl    $0,             %edx
256         movl    %eax,           8(%edi)
257         movl    %edx,           %esi
258
259         movl    12(%ebx),       %eax
260         mull    %ecx
261         addl    %esi,           %eax
262         adcl    $0,             %edx
263         movl    %eax,           12(%edi)
264         movl    %edx,           %esi
265
266         movl    16(%ebx),       %eax
267         mull    %ecx
268         addl    %esi,           %eax
269         adcl    $0,             %edx
270         movl    %eax,           16(%edi)
271         movl    %edx,           %esi
272
273         movl    20(%ebx),       %eax
274         mull    %ecx
275         addl    %esi,           %eax
276         adcl    $0,             %edx
277         movl    %eax,           20(%edi)
278         movl    %edx,           %esi
279
280         movl    24(%ebx),       %eax
281         mull    %ecx
282         addl    %esi,           %eax
283         adcl    $0,             %edx
284         movl    %eax,           24(%edi)
285         movl    %edx,           %esi
286
287         movl    28(%ebx),       %eax
288         mull    %ecx
289         addl    %esi,           %eax
290         adcl    $0,             %edx
291         movl    %eax,           28(%edi)
292         movl    %edx,           %esi
293
294         addl    $32,            %ebx
295         addl    $32,            %edi
296         subl    $8,             %ebp
297         jz      .L004mw_finish
298         jmp     .L005mw_loop
299 .L004mw_finish:
300         movl    28(%esp),       %ebp
301         andl    $7,             %ebp
302         jnz     .L006mw_finish2
303         jmp     .L007mw_end
304 .align 16
305 .L006mw_finish2:
306
307         movl    (%ebx),         %eax
308         mull    %ecx
309         addl    %esi,           %eax
310         adcl    $0,             %edx
311         movl    %eax,           (%edi)
312         movl    %edx,           %esi
313         decl    %ebp
314         jz      .L007mw_end
315
316         movl    4(%ebx),        %eax
317         mull    %ecx
318         addl    %esi,           %eax
319         adcl    $0,             %edx
320         movl    %eax,           4(%edi)
321         movl    %edx,           %esi
322         decl    %ebp
323         jz      .L007mw_end
324
325         movl    8(%ebx),        %eax
326         mull    %ecx
327         addl    %esi,           %eax
328         adcl    $0,             %edx
329         movl    %eax,           8(%edi)
330         movl    %edx,           %esi
331         decl    %ebp
332         jz      .L007mw_end
333
334         movl    12(%ebx),       %eax
335         mull    %ecx
336         addl    %esi,           %eax
337         adcl    $0,             %edx
338         movl    %eax,           12(%edi)
339         movl    %edx,           %esi
340         decl    %ebp
341         jz      .L007mw_end
342
343         movl    16(%ebx),       %eax
344         mull    %ecx
345         addl    %esi,           %eax
346         adcl    $0,             %edx
347         movl    %eax,           16(%edi)
348         movl    %edx,           %esi
349         decl    %ebp
350         jz      .L007mw_end
351
352         movl    20(%ebx),       %eax
353         mull    %ecx
354         addl    %esi,           %eax
355         adcl    $0,             %edx
356         movl    %eax,           20(%edi)
357         movl    %edx,           %esi
358         decl    %ebp
359         jz      .L007mw_end
360
361         movl    24(%ebx),       %eax
362         mull    %ecx
363         addl    %esi,           %eax
364         adcl    $0,             %edx
365         movl    %eax,           24(%edi)
366         movl    %edx,           %esi
367 .L007mw_end:
368         movl    %esi,           %eax
369         popl    %edi
370         popl    %esi
371         popl    %ebx
372         popl    %ebp
373         ret
374 .L_bn_mul_words_end:
375         .size   bn_mul_words,.L_bn_mul_words_end-bn_mul_words
376 .ident  "bn_mul_words"
377 .text
378         .align 16
379 .globl bn_sqr_words
380         .type   bn_sqr_words,@function
381 bn_sqr_words:
382         pushl   %ebp
383         pushl   %ebx
384         pushl   %esi
385         pushl   %edi
386
387
388         movl    20(%esp),       %esi
389         movl    24(%esp),       %edi
390         movl    28(%esp),       %ebx
391         andl    $4294967288,    %ebx
392         jz      .L008sw_finish
393 .L009sw_loop:
394
395         movl    (%edi),         %eax
396         mull    %eax
397         movl    %eax,           (%esi)
398         movl    %edx,           4(%esi)
399
400         movl    4(%edi),        %eax
401         mull    %eax
402         movl    %eax,           8(%esi)
403         movl    %edx,           12(%esi)
404
405         movl    8(%edi),        %eax
406         mull    %eax
407         movl    %eax,           16(%esi)
408         movl    %edx,           20(%esi)
409
410         movl    12(%edi),       %eax
411         mull    %eax
412         movl    %eax,           24(%esi)
413         movl    %edx,           28(%esi)
414
415         movl    16(%edi),       %eax
416         mull    %eax
417         movl    %eax,           32(%esi)
418         movl    %edx,           36(%esi)
419
420         movl    20(%edi),       %eax
421         mull    %eax
422         movl    %eax,           40(%esi)
423         movl    %edx,           44(%esi)
424
425         movl    24(%edi),       %eax
426         mull    %eax
427         movl    %eax,           48(%esi)
428         movl    %edx,           52(%esi)
429
430         movl    28(%edi),       %eax
431         mull    %eax
432         movl    %eax,           56(%esi)
433         movl    %edx,           60(%esi)
434
435         addl    $32,            %edi
436         addl    $64,            %esi
437         subl    $8,             %ebx
438         jnz     .L009sw_loop
439 .L008sw_finish:
440         movl    28(%esp),       %ebx
441         andl    $7,             %ebx
442         jz      .L010sw_end
443
444         movl    (%edi),         %eax
445         mull    %eax
446         movl    %eax,           (%esi)
447         decl    %ebx
448         movl    %edx,           4(%esi)
449         jz      .L010sw_end
450
451         movl    4(%edi),        %eax
452         mull    %eax
453         movl    %eax,           8(%esi)
454         decl    %ebx
455         movl    %edx,           12(%esi)
456         jz      .L010sw_end
457
458         movl    8(%edi),        %eax
459         mull    %eax
460         movl    %eax,           16(%esi)
461         decl    %ebx
462         movl    %edx,           20(%esi)
463         jz      .L010sw_end
464
465         movl    12(%edi),       %eax
466         mull    %eax
467         movl    %eax,           24(%esi)
468         decl    %ebx
469         movl    %edx,           28(%esi)
470         jz      .L010sw_end
471
472         movl    16(%edi),       %eax
473         mull    %eax
474         movl    %eax,           32(%esi)
475         decl    %ebx
476         movl    %edx,           36(%esi)
477         jz      .L010sw_end
478
479         movl    20(%edi),       %eax
480         mull    %eax
481         movl    %eax,           40(%esi)
482         decl    %ebx
483         movl    %edx,           44(%esi)
484         jz      .L010sw_end
485
486         movl    24(%edi),       %eax
487         mull    %eax
488         movl    %eax,           48(%esi)
489         movl    %edx,           52(%esi)
490 .L010sw_end:
491         popl    %edi
492         popl    %esi
493         popl    %ebx
494         popl    %ebp
495         ret
496 .L_bn_sqr_words_end:
497         .size   bn_sqr_words,.L_bn_sqr_words_end-bn_sqr_words
498 .ident  "bn_sqr_words"
499 .text
500         .align 16
501 .globl bn_div_words
502         .type   bn_div_words,@function
503 bn_div_words:
504         pushl   %ebp
505         pushl   %ebx
506         pushl   %esi
507         pushl   %edi
508
509         movl    20(%esp),       %edx
510         movl    24(%esp),       %eax
511         movl    28(%esp),       %ebx
512         divl    %ebx
513         popl    %edi
514         popl    %esi
515         popl    %ebx
516         popl    %ebp
517         ret
518 .L_bn_div_words_end:
519         .size   bn_div_words,.L_bn_div_words_end-bn_div_words
520 .ident  "bn_div_words"
521 .text
522         .align 16
523 .globl bn_add_words
524         .type   bn_add_words,@function
525 bn_add_words:
526         pushl   %ebp
527         pushl   %ebx
528         pushl   %esi
529         pushl   %edi
530
531
532         movl    20(%esp),       %ebx
533         movl    24(%esp),       %esi
534         movl    28(%esp),       %edi
535         movl    32(%esp),       %ebp
536         xorl    %eax,           %eax
537         andl    $4294967288,    %ebp
538         jz      .L011aw_finish
539 .L012aw_loop:
540
541         movl    (%esi),         %ecx
542         movl    (%edi),         %edx
543         addl    %eax,           %ecx
544         movl    $0,             %eax
545         adcl    %eax,           %eax
546         addl    %edx,           %ecx
547         adcl    $0,             %eax
548         movl    %ecx,           (%ebx)
549
550         movl    4(%esi),        %ecx
551         movl    4(%edi),        %edx
552         addl    %eax,           %ecx
553         movl    $0,             %eax
554         adcl    %eax,           %eax
555         addl    %edx,           %ecx
556         adcl    $0,             %eax
557         movl    %ecx,           4(%ebx)
558
559         movl    8(%esi),        %ecx
560         movl    8(%edi),        %edx
561         addl    %eax,           %ecx
562         movl    $0,             %eax
563         adcl    %eax,           %eax
564         addl    %edx,           %ecx
565         adcl    $0,             %eax
566         movl    %ecx,           8(%ebx)
567
568         movl    12(%esi),       %ecx
569         movl    12(%edi),       %edx
570         addl    %eax,           %ecx
571         movl    $0,             %eax
572         adcl    %eax,           %eax
573         addl    %edx,           %ecx
574         adcl    $0,             %eax
575         movl    %ecx,           12(%ebx)
576
577         movl    16(%esi),       %ecx
578         movl    16(%edi),       %edx
579         addl    %eax,           %ecx
580         movl    $0,             %eax
581         adcl    %eax,           %eax
582         addl    %edx,           %ecx
583         adcl    $0,             %eax
584         movl    %ecx,           16(%ebx)
585
586         movl    20(%esi),       %ecx
587         movl    20(%edi),       %edx
588         addl    %eax,           %ecx
589         movl    $0,             %eax
590         adcl    %eax,           %eax
591         addl    %edx,           %ecx
592         adcl    $0,             %eax
593         movl    %ecx,           20(%ebx)
594
595         movl    24(%esi),       %ecx
596         movl    24(%edi),       %edx
597         addl    %eax,           %ecx
598         movl    $0,             %eax
599         adcl    %eax,           %eax
600         addl    %edx,           %ecx
601         adcl    $0,             %eax
602         movl    %ecx,           24(%ebx)
603
604         movl    28(%esi),       %ecx
605         movl    28(%edi),       %edx
606         addl    %eax,           %ecx
607         movl    $0,             %eax
608         adcl    %eax,           %eax
609         addl    %edx,           %ecx
610         adcl    $0,             %eax
611         movl    %ecx,           28(%ebx)
612
613         addl    $32,            %esi
614         addl    $32,            %edi
615         addl    $32,            %ebx
616         subl    $8,             %ebp
617         jnz     .L012aw_loop
618 .L011aw_finish:
619         movl    32(%esp),       %ebp
620         andl    $7,             %ebp
621         jz      .L013aw_end
622
623         movl    (%esi),         %ecx
624         movl    (%edi),         %edx
625         addl    %eax,           %ecx
626         movl    $0,             %eax
627         adcl    %eax,           %eax
628         addl    %edx,           %ecx
629         adcl    $0,             %eax
630         decl    %ebp
631         movl    %ecx,           (%ebx)
632         jz      .L013aw_end
633
634         movl    4(%esi),        %ecx
635         movl    4(%edi),        %edx
636         addl    %eax,           %ecx
637         movl    $0,             %eax
638         adcl    %eax,           %eax
639         addl    %edx,           %ecx
640         adcl    $0,             %eax
641         decl    %ebp
642         movl    %ecx,           4(%ebx)
643         jz      .L013aw_end
644
645         movl    8(%esi),        %ecx
646         movl    8(%edi),        %edx
647         addl    %eax,           %ecx
648         movl    $0,             %eax
649         adcl    %eax,           %eax
650         addl    %edx,           %ecx
651         adcl    $0,             %eax
652         decl    %ebp
653         movl    %ecx,           8(%ebx)
654         jz      .L013aw_end
655
656         movl    12(%esi),       %ecx
657         movl    12(%edi),       %edx
658         addl    %eax,           %ecx
659         movl    $0,             %eax
660         adcl    %eax,           %eax
661         addl    %edx,           %ecx
662         adcl    $0,             %eax
663         decl    %ebp
664         movl    %ecx,           12(%ebx)
665         jz      .L013aw_end
666
667         movl    16(%esi),       %ecx
668         movl    16(%edi),       %edx
669         addl    %eax,           %ecx
670         movl    $0,             %eax
671         adcl    %eax,           %eax
672         addl    %edx,           %ecx
673         adcl    $0,             %eax
674         decl    %ebp
675         movl    %ecx,           16(%ebx)
676         jz      .L013aw_end
677
678         movl    20(%esi),       %ecx
679         movl    20(%edi),       %edx
680         addl    %eax,           %ecx
681         movl    $0,             %eax
682         adcl    %eax,           %eax
683         addl    %edx,           %ecx
684         adcl    $0,             %eax
685         decl    %ebp
686         movl    %ecx,           20(%ebx)
687         jz      .L013aw_end
688
689         movl    24(%esi),       %ecx
690         movl    24(%edi),       %edx
691         addl    %eax,           %ecx
692         movl    $0,             %eax
693         adcl    %eax,           %eax
694         addl    %edx,           %ecx
695         adcl    $0,             %eax
696         movl    %ecx,           24(%ebx)
697 .L013aw_end:
698         popl    %edi
699         popl    %esi
700         popl    %ebx
701         popl    %ebp
702         ret
703 .L_bn_add_words_end:
704         .size   bn_add_words,.L_bn_add_words_end-bn_add_words
705 .ident  "bn_add_words"
706 .text
707         .align 16
708 .globl bn_sub_words
709         .type   bn_sub_words,@function
710 bn_sub_words:
711         pushl   %ebp
712         pushl   %ebx
713         pushl   %esi
714         pushl   %edi
715
716
717         movl    20(%esp),       %ebx
718         movl    24(%esp),       %esi
719         movl    28(%esp),       %edi
720         movl    32(%esp),       %ebp
721         xorl    %eax,           %eax
722         andl    $4294967288,    %ebp
723         jz      .L014aw_finish
724 .L015aw_loop:
725
726         movl    (%esi),         %ecx
727         movl    (%edi),         %edx
728         subl    %eax,           %ecx
729         movl    $0,             %eax
730         adcl    %eax,           %eax
731         subl    %edx,           %ecx
732         adcl    $0,             %eax
733         movl    %ecx,           (%ebx)
734
735         movl    4(%esi),        %ecx
736         movl    4(%edi),        %edx
737         subl    %eax,           %ecx
738         movl    $0,             %eax
739         adcl    %eax,           %eax
740         subl    %edx,           %ecx
741         adcl    $0,             %eax
742         movl    %ecx,           4(%ebx)
743
744         movl    8(%esi),        %ecx
745         movl    8(%edi),        %edx
746         subl    %eax,           %ecx
747         movl    $0,             %eax
748         adcl    %eax,           %eax
749         subl    %edx,           %ecx
750         adcl    $0,             %eax
751         movl    %ecx,           8(%ebx)
752
753         movl    12(%esi),       %ecx
754         movl    12(%edi),       %edx
755         subl    %eax,           %ecx
756         movl    $0,             %eax
757         adcl    %eax,           %eax
758         subl    %edx,           %ecx
759         adcl    $0,             %eax
760         movl    %ecx,           12(%ebx)
761
762         movl    16(%esi),       %ecx
763         movl    16(%edi),       %edx
764         subl    %eax,           %ecx
765         movl    $0,             %eax
766         adcl    %eax,           %eax
767         subl    %edx,           %ecx
768         adcl    $0,             %eax
769         movl    %ecx,           16(%ebx)
770
771         movl    20(%esi),       %ecx
772         movl    20(%edi),       %edx
773         subl    %eax,           %ecx
774         movl    $0,             %eax
775         adcl    %eax,           %eax
776         subl    %edx,           %ecx
777         adcl    $0,             %eax
778         movl    %ecx,           20(%ebx)
779
780         movl    24(%esi),       %ecx
781         movl    24(%edi),       %edx
782         subl    %eax,           %ecx
783         movl    $0,             %eax
784         adcl    %eax,           %eax
785         subl    %edx,           %ecx
786         adcl    $0,             %eax
787         movl    %ecx,           24(%ebx)
788
789         movl    28(%esi),       %ecx
790         movl    28(%edi),       %edx
791         subl    %eax,           %ecx
792         movl    $0,             %eax
793         adcl    %eax,           %eax
794         subl    %edx,           %ecx
795         adcl    $0,             %eax
796         movl    %ecx,           28(%ebx)
797
798         addl    $32,            %esi
799         addl    $32,            %edi
800         addl    $32,            %ebx
801         subl    $8,             %ebp
802         jnz     .L015aw_loop
803 .L014aw_finish:
804         movl    32(%esp),       %ebp
805         andl    $7,             %ebp
806         jz      .L016aw_end
807
808         movl    (%esi),         %ecx
809         movl    (%edi),         %edx
810         subl    %eax,           %ecx
811         movl    $0,             %eax
812         adcl    %eax,           %eax
813         subl    %edx,           %ecx
814         adcl    $0,             %eax
815         decl    %ebp
816         movl    %ecx,           (%ebx)
817         jz      .L016aw_end
818
819         movl    4(%esi),        %ecx
820         movl    4(%edi),        %edx
821         subl    %eax,           %ecx
822         movl    $0,             %eax
823         adcl    %eax,           %eax
824         subl    %edx,           %ecx
825         adcl    $0,             %eax
826         decl    %ebp
827         movl    %ecx,           4(%ebx)
828         jz      .L016aw_end
829
830         movl    8(%esi),        %ecx
831         movl    8(%edi),        %edx
832         subl    %eax,           %ecx
833         movl    $0,             %eax
834         adcl    %eax,           %eax
835         subl    %edx,           %ecx
836         adcl    $0,             %eax
837         decl    %ebp
838         movl    %ecx,           8(%ebx)
839         jz      .L016aw_end
840
841         movl    12(%esi),       %ecx
842         movl    12(%edi),       %edx
843         subl    %eax,           %ecx
844         movl    $0,             %eax
845         adcl    %eax,           %eax
846         subl    %edx,           %ecx
847         adcl    $0,             %eax
848         decl    %ebp
849         movl    %ecx,           12(%ebx)
850         jz      .L016aw_end
851
852         movl    16(%esi),       %ecx
853         movl    16(%edi),       %edx
854         subl    %eax,           %ecx
855         movl    $0,             %eax
856         adcl    %eax,           %eax
857         subl    %edx,           %ecx
858         adcl    $0,             %eax
859         decl    %ebp
860         movl    %ecx,           16(%ebx)
861         jz      .L016aw_end
862
863         movl    20(%esi),       %ecx
864         movl    20(%edi),       %edx
865         subl    %eax,           %ecx
866         movl    $0,             %eax
867         adcl    %eax,           %eax
868         subl    %edx,           %ecx
869         adcl    $0,             %eax
870         decl    %ebp
871         movl    %ecx,           20(%ebx)
872         jz      .L016aw_end
873
874         movl    24(%esi),       %ecx
875         movl    24(%edi),       %edx
876         subl    %eax,           %ecx
877         movl    $0,             %eax
878         adcl    %eax,           %eax
879         subl    %edx,           %ecx
880         adcl    $0,             %eax
881         movl    %ecx,           24(%ebx)
882 .L016aw_end:
883         popl    %edi
884         popl    %esi
885         popl    %ebx
886         popl    %ebp
887         ret
888 .L_bn_sub_words_end:
889         .size   bn_sub_words,.L_bn_sub_words_end-bn_sub_words
890 .ident  "bn_sub_words"