Correct a number of syntax errors.
[openssl.git] / crypto / bn / asm / r3000.s
1         .file   1 "../bn_mulw.c"
2         .set    nobopt
3         .option pic2
4
5  # GNU C 2.6.3 [AL 1.1, MM 40] SGI running IRIX 5.0 compiled by GNU C
6
7  # Cc1 defaults:
8  # -mabicalls
9
10  # Cc1 arguments (-G value = 0, Cpu = 3000, ISA = 1):
11  # -quiet -dumpbase -O2 -o
12
13 gcc2_compiled.:
14 __gnu_compiled_c:
15         .rdata
16
17         .byte   0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f
18         .byte   0x6e,0x3a,0x20,0x31,0x2e,0x34,0x39,0x20
19         .byte   0x24,0x0
20
21         .byte   0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f
22         .byte   0x6e,0x3a,0x20,0x31,0x2e,0x33,0x34,0x20
23         .byte   0x24,0x0
24
25         .byte   0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f
26         .byte   0x6e,0x3a,0x20,0x31,0x2e,0x35,0x20,0x24
27         .byte   0x0
28
29         .byte   0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f
30         .byte   0x6e,0x3a,0x20,0x31,0x2e,0x38,0x20,0x24
31         .byte   0x0
32
33         .byte   0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f
34         .byte   0x6e,0x3a,0x20,0x31,0x2e,0x32,0x33,0x20
35         .byte   0x24,0x0
36
37         .byte   0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f
38         .byte   0x6e,0x3a,0x20,0x31,0x2e,0x37,0x38,0x20
39         .byte   0x24,0x0
40
41         .byte   0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f
42         .byte   0x6e,0x3a,0x20,0x33,0x2e,0x37,0x30,0x20
43         .byte   0x24,0x0
44
45         .byte   0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f
46         .byte   0x6e,0x3a,0x20,0x31,0x2e,0x32,0x20,0x24
47         .byte   0x0
48
49         .byte   0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f
50         .byte   0x6e,0x3a,0x20,0x31,0x2e,0x34,0x20,0x24
51         .byte   0x0
52
53         .byte   0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f
54         .byte   0x6e,0x3a,0x20,0x31,0x2e,0x38,0x20,0x24
55         .byte   0x0
56         .text
57         .align  2
58         .globl  bn_mul_add_words
59         .ent    bn_mul_add_words
60 bn_mul_add_words:
61         .frame  $sp,0,$31               # vars= 0, regs= 0/0, args= 0, extra= 0
62         .mask   0x00000000,0
63         .fmask  0x00000000,0
64         .set    noreorder
65         .cpload $25
66         .set    reorder
67         move    $12,$4
68         move    $14,$5
69         move    $9,$6
70         move    $13,$7
71         move    $8,$0
72         addu    $10,$12,12
73         addu    $11,$14,12
74 $L2:
75         lw      $6,0($14)
76         #nop
77         multu   $13,$6
78         mfhi    $6
79         mflo    $7
80         #nop
81         move    $5,$8
82         move    $4,$0
83         lw      $3,0($12)
84         addu    $9,$9,-1
85         move    $2,$0
86         addu    $7,$7,$3
87         sltu    $8,$7,$3
88         addu    $6,$6,$2
89         addu    $6,$6,$8
90         addu    $7,$7,$5
91         sltu    $2,$7,$5
92         addu    $6,$6,$4
93         addu    $6,$6,$2
94         srl     $3,$6,0
95         move    $2,$0
96         move    $8,$3
97         .set    noreorder
98         .set    nomacro
99         beq     $9,$0,$L3
100         sw      $7,0($12)
101         .set    macro
102         .set    reorder
103
104         lw      $6,-8($11)
105         #nop
106         multu   $13,$6
107         mfhi    $6
108         mflo    $7
109         #nop
110         move    $5,$8
111         move    $4,$0
112         lw      $3,-8($10)
113         addu    $9,$9,-1
114         move    $2,$0
115         addu    $7,$7,$3
116         sltu    $8,$7,$3
117         addu    $6,$6,$2
118         addu    $6,$6,$8
119         addu    $7,$7,$5
120         sltu    $2,$7,$5
121         addu    $6,$6,$4
122         addu    $6,$6,$2
123         srl     $3,$6,0
124         move    $2,$0
125         move    $8,$3
126         .set    noreorder
127         .set    nomacro
128         beq     $9,$0,$L3
129         sw      $7,-8($10)
130         .set    macro
131         .set    reorder
132
133         lw      $6,-4($11)
134         #nop
135         multu   $13,$6
136         mfhi    $6
137         mflo    $7
138         #nop
139         move    $5,$8
140         move    $4,$0
141         lw      $3,-4($10)
142         addu    $9,$9,-1
143         move    $2,$0
144         addu    $7,$7,$3
145         sltu    $8,$7,$3
146         addu    $6,$6,$2
147         addu    $6,$6,$8
148         addu    $7,$7,$5
149         sltu    $2,$7,$5
150         addu    $6,$6,$4
151         addu    $6,$6,$2
152         srl     $3,$6,0
153         move    $2,$0
154         move    $8,$3
155         .set    noreorder
156         .set    nomacro
157         beq     $9,$0,$L3
158         sw      $7,-4($10)
159         .set    macro
160         .set    reorder
161
162         lw      $6,0($11)
163         #nop
164         multu   $13,$6
165         mfhi    $6
166         mflo    $7
167         #nop
168         move    $5,$8
169         move    $4,$0
170         lw      $3,0($10)
171         addu    $9,$9,-1
172         move    $2,$0
173         addu    $7,$7,$3
174         sltu    $8,$7,$3
175         addu    $6,$6,$2
176         addu    $6,$6,$8
177         addu    $7,$7,$5
178         sltu    $2,$7,$5
179         addu    $6,$6,$4
180         addu    $6,$6,$2
181         srl     $3,$6,0
182         move    $2,$0
183         move    $8,$3
184         .set    noreorder
185         .set    nomacro
186         beq     $9,$0,$L3
187         sw      $7,0($10)
188         .set    macro
189         .set    reorder
190
191         addu    $11,$11,16
192         addu    $14,$14,16
193         addu    $10,$10,16
194         .set    noreorder
195         .set    nomacro
196         j       $L2
197         addu    $12,$12,16
198         .set    macro
199         .set    reorder
200
201 $L3:
202         .set    noreorder
203         .set    nomacro
204         j       $31
205         move    $2,$8
206         .set    macro
207         .set    reorder
208
209         .end    bn_mul_add_words
210         .align  2
211         .globl  bn_mul_words
212         .ent    bn_mul_words
213 bn_mul_words:
214         .frame  $sp,0,$31               # vars= 0, regs= 0/0, args= 0, extra= 0
215         .mask   0x00000000,0
216         .fmask  0x00000000,0
217         .set    noreorder
218         .cpload $25
219         .set    reorder
220         move    $11,$4
221         move    $12,$5
222         move    $8,$6
223         move    $6,$0
224         addu    $10,$11,12
225         addu    $9,$12,12
226 $L10:
227         lw      $4,0($12)
228         #nop
229         multu   $7,$4
230         mfhi    $4
231         mflo    $5
232         #nop
233         move    $3,$6
234         move    $2,$0
235         addu    $8,$8,-1
236         addu    $5,$5,$3
237         sltu    $6,$5,$3
238         addu    $4,$4,$2
239         addu    $4,$4,$6
240         srl     $3,$4,0
241         move    $2,$0
242         move    $6,$3
243         .set    noreorder
244         .set    nomacro
245         beq     $8,$0,$L11
246         sw      $5,0($11)
247         .set    macro
248         .set    reorder
249
250         lw      $4,-8($9)
251         #nop
252         multu   $7,$4
253         mfhi    $4
254         mflo    $5
255         #nop
256         move    $3,$6
257         move    $2,$0
258         addu    $8,$8,-1
259         addu    $5,$5,$3
260         sltu    $6,$5,$3
261         addu    $4,$4,$2
262         addu    $4,$4,$6
263         srl     $3,$4,0
264         move    $2,$0
265         move    $6,$3
266         .set    noreorder
267         .set    nomacro
268         beq     $8,$0,$L11
269         sw      $5,-8($10)
270         .set    macro
271         .set    reorder
272
273         lw      $4,-4($9)
274         #nop
275         multu   $7,$4
276         mfhi    $4
277         mflo    $5
278         #nop
279         move    $3,$6
280         move    $2,$0
281         addu    $8,$8,-1
282         addu    $5,$5,$3
283         sltu    $6,$5,$3
284         addu    $4,$4,$2
285         addu    $4,$4,$6
286         srl     $3,$4,0
287         move    $2,$0
288         move    $6,$3
289         .set    noreorder
290         .set    nomacro
291         beq     $8,$0,$L11
292         sw      $5,-4($10)
293         .set    macro
294         .set    reorder
295
296         lw      $4,0($9)
297         #nop
298         multu   $7,$4
299         mfhi    $4
300         mflo    $5
301         #nop
302         move    $3,$6
303         move    $2,$0
304         addu    $8,$8,-1
305         addu    $5,$5,$3
306         sltu    $6,$5,$3
307         addu    $4,$4,$2
308         addu    $4,$4,$6
309         srl     $3,$4,0
310         move    $2,$0
311         move    $6,$3
312         .set    noreorder
313         .set    nomacro
314         beq     $8,$0,$L11
315         sw      $5,0($10)
316         .set    macro
317         .set    reorder
318
319         addu    $9,$9,16
320         addu    $12,$12,16
321         addu    $10,$10,16
322         .set    noreorder
323         .set    nomacro
324         j       $L10
325         addu    $11,$11,16
326         .set    macro
327         .set    reorder
328
329 $L11:
330         .set    noreorder
331         .set    nomacro
332         j       $31
333         move    $2,$6
334         .set    macro
335         .set    reorder
336
337         .end    bn_mul_words
338         .align  2
339         .globl  bn_sqr_words
340         .ent    bn_sqr_words
341 bn_sqr_words:
342         .frame  $sp,0,$31               # vars= 0, regs= 0/0, args= 0, extra= 0
343         .mask   0x00000000,0
344         .fmask  0x00000000,0
345         .set    noreorder
346         .cpload $25
347         .set    reorder
348         move    $9,$4
349         addu    $7,$9,28
350         addu    $8,$5,12
351 $L18:
352         lw      $2,0($5)
353         #nop
354         multu   $2,$2
355         mfhi    $2
356         mflo    $3
357         #nop
358         addu    $6,$6,-1
359         sw      $3,0($9)
360         srl     $3,$2,0
361         move    $2,$0
362         .set    noreorder
363         .set    nomacro
364         beq     $6,$0,$L19
365         sw      $3,-24($7)
366         .set    macro
367         .set    reorder
368
369         lw      $2,-8($8)
370         #nop
371         multu   $2,$2
372         mfhi    $2
373         mflo    $3
374         #nop
375         addu    $6,$6,-1
376         sw      $3,-20($7)
377         srl     $3,$2,0
378         move    $2,$0
379         .set    noreorder
380         .set    nomacro
381         beq     $6,$0,$L19
382         sw      $3,-16($7)
383         .set    macro
384         .set    reorder
385
386         lw      $2,-4($8)
387         #nop
388         multu   $2,$2
389         mfhi    $2
390         mflo    $3
391         #nop
392         addu    $6,$6,-1
393         sw      $3,-12($7)
394         srl     $3,$2,0
395         move    $2,$0
396         .set    noreorder
397         .set    nomacro
398         beq     $6,$0,$L19
399         sw      $3,-8($7)
400         .set    macro
401         .set    reorder
402
403         lw      $2,0($8)
404         #nop
405         multu   $2,$2
406         mfhi    $2
407         mflo    $3
408         #nop
409         addu    $6,$6,-1
410         sw      $3,-4($7)
411         srl     $3,$2,0
412         move    $2,$0
413         .set    noreorder
414         .set    nomacro
415         beq     $6,$0,$L19
416         sw      $3,0($7)
417         .set    macro
418         .set    reorder
419
420         addu    $8,$8,16
421         addu    $5,$5,16
422         addu    $7,$7,32
423         .set    noreorder
424         .set    nomacro
425         j       $L18
426         addu    $9,$9,32
427         .set    macro
428         .set    reorder
429
430 $L19:
431         j       $31
432         .end    bn_sqr_words
433         .rdata
434         .align  2
435 $LC0:
436
437         .byte   0x44,0x69,0x76,0x69,0x73,0x69,0x6f,0x6e
438         .byte   0x20,0x77,0x6f,0x75,0x6c,0x64,0x20,0x6f
439         .byte   0x76,0x65,0x72,0x66,0x6c,0x6f,0x77,0xa
440         .byte   0x0
441         .text
442         .align  2
443         .globl  bn_div64
444         .ent    bn_div64
445 bn_div64:
446         .frame  $sp,56,$31              # vars= 0, regs= 7/0, args= 16, extra= 8
447         .mask   0x901f0000,-8
448         .fmask  0x00000000,0
449         .set    noreorder
450         .cpload $25
451         .set    reorder
452         subu    $sp,$sp,56
453         .cprestore 16
454         sw      $16,24($sp)
455         move    $16,$4
456         sw      $17,28($sp)
457         move    $17,$5
458         sw      $18,32($sp)
459         move    $18,$6
460         sw      $20,40($sp)
461         move    $20,$0
462         sw      $19,36($sp)
463         li      $19,0x00000002          # 2
464         sw      $31,48($sp)
465         .set    noreorder
466         .set    nomacro
467         bne     $18,$0,$L26
468         sw      $28,44($sp)
469         .set    macro
470         .set    reorder
471
472         .set    noreorder
473         .set    nomacro
474         j       $L43
475         li      $2,-1                   # 0xffffffff
476         .set    macro
477         .set    reorder
478
479 $L26:
480         move    $4,$18
481         jal     BN_num_bits_word
482         move    $4,$2
483         li      $2,0x00000020           # 32
484         .set    noreorder
485         .set    nomacro
486         beq     $4,$2,$L27
487         li      $2,0x00000001           # 1
488         .set    macro
489         .set    reorder
490
491         sll     $2,$2,$4
492         sltu    $2,$2,$16
493         .set    noreorder
494         .set    nomacro
495         beq     $2,$0,$L44
496         li      $5,0x00000020           # 32
497         .set    macro
498         .set    reorder
499
500         la      $4,__iob+32
501         la      $5,$LC0
502         jal     fprintf
503         jal     abort
504 $L27:
505         li      $5,0x00000020           # 32
506 $L44:
507         sltu    $2,$16,$18
508         .set    noreorder
509         .set    nomacro
510         bne     $2,$0,$L28
511         subu    $4,$5,$4
512         .set    macro
513         .set    reorder
514
515         subu    $16,$16,$18
516 $L28:
517         .set    noreorder
518         .set    nomacro
519         beq     $4,$0,$L29
520         li      $10,-65536                      # 0xffff0000
521         .set    macro
522         .set    reorder
523
524         sll     $18,$18,$4
525         sll     $3,$16,$4
526         subu    $2,$5,$4
527         srl     $2,$17,$2
528         or      $16,$3,$2
529         sll     $17,$17,$4
530 $L29:
531         srl     $7,$18,16
532         andi    $9,$18,0xffff
533 $L30:
534         srl     $2,$16,16
535         .set    noreorder
536         .set    nomacro
537         beq     $2,$7,$L34
538         li      $6,0x0000ffff           # 65535
539         .set    macro
540         .set    reorder
541
542         divu    $6,$16,$7
543 $L34:
544         mult    $6,$9
545         mflo    $5
546         #nop
547         #nop
548         mult    $6,$7
549         and     $2,$17,$10
550         srl     $8,$2,16
551         mflo    $4
552 $L35:
553         subu    $3,$16,$4
554         and     $2,$3,$10
555         .set    noreorder
556         .set    nomacro
557         bne     $2,$0,$L36
558         sll     $2,$3,16
559         .set    macro
560         .set    reorder
561
562         addu    $2,$2,$8
563         sltu    $2,$2,$5
564         .set    noreorder
565         .set    nomacro
566         beq     $2,$0,$L36
567         subu    $5,$5,$9
568         .set    macro
569         .set    reorder
570
571         subu    $4,$4,$7
572         .set    noreorder
573         .set    nomacro
574         j       $L35
575         addu    $6,$6,-1
576         .set    macro
577         .set    reorder
578
579 $L36:
580         mult    $6,$7
581         mflo    $5
582         #nop
583         #nop
584         mult    $6,$9
585         mflo    $4
586         #nop
587         #nop
588         srl     $3,$4,16
589         sll     $2,$4,16
590         and     $4,$2,$10
591         sltu    $2,$17,$4
592         .set    noreorder
593         .set    nomacro
594         beq     $2,$0,$L40
595         addu    $5,$5,$3
596         .set    macro
597         .set    reorder
598
599         addu    $5,$5,1
600 $L40:
601         sltu    $2,$16,$5
602         .set    noreorder
603         .set    nomacro
604         beq     $2,$0,$L41
605         subu    $17,$17,$4
606         .set    macro
607         .set    reorder
608
609         addu    $16,$16,$18
610         addu    $6,$6,-1
611 $L41:
612         addu    $19,$19,-1
613         .set    noreorder
614         .set    nomacro
615         beq     $19,$0,$L31
616         subu    $16,$16,$5
617         .set    macro
618         .set    reorder
619
620         sll     $20,$6,16
621         sll     $3,$16,16
622         srl     $2,$17,16
623         or      $16,$3,$2
624         .set    noreorder
625         .set    nomacro
626         j       $L30
627         sll     $17,$17,16
628         .set    macro
629         .set    reorder
630
631 $L31:
632         or      $2,$20,$6
633 $L43:
634         lw      $31,48($sp)
635         lw      $20,40($sp)
636         lw      $19,36($sp)
637         lw      $18,32($sp)
638         lw      $17,28($sp)
639         lw      $16,24($sp)
640         addu    $sp,$sp,56
641         j       $31
642         .end    bn_div64
643
644         .globl abort .text
645         .globl fprintf .text
646         .globl BN_num_bits_word .text