Commit | Line | Data |
---|---|---|
9da8c90e AM |
1 | .text |
2 | .globl _start | |
3 | .type _start,@function | |
4 | _start: | |
5 | ilhu $3,f5@h | |
6 | iohl $3,f5@l | |
7 | br f1 | |
8 | ||
9 | .data | |
10 | .word f1, f2, f3, f4 | |
11 | ||
12 | .section ".f1.part1","ax",@progbits | |
13 | .globl f1 | |
14 | .type f1,@function | |
15 | f1: | |
16 | nop | |
17 | stqd $0,16($1) | |
18 | ai $1,$1,-64 | |
19 | stqd $1,0($1) | |
20 | brsl $0,f2 | |
21 | brsl $0,f3 | |
22 | .fill 800 | |
23 | br .Lf1.part2 | |
24 | .size f1,.-f1 | |
25 | ||
26 | .section ".f1.part2","ax",@progbits | |
27 | .Lf1.part2: | |
28 | ai $1,$1,64 | |
29 | lqd $0,16($1) | |
30 | bi $0 | |
31 | .fill 800 | |
32 | .size .Lf1.part2,.-.Lf1.part2 | |
33 | ||
34 | .section ".f2.part1","ax",@progbits | |
35 | .globl f2 | |
36 | .type f2,@function | |
37 | f2: | |
38 | ai $1,$1,-128 | |
39 | stqd $1,0($1) | |
40 | .fill 512 | |
41 | ai $1,$1,128 | |
42 | bi $0 | |
43 | .size f2,.-f2 | |
44 | ||
45 | .section ".f3.part1","ax",@progbits | |
46 | .type f3,@function | |
47 | f3: | |
48 | .fill 256 | |
49 | bi $0 | |
50 | .size f3,.-f3 | |
51 | ||
52 | .section ".f4.part1","ax",@progbits | |
53 | .type f4,@function | |
54 | f4: | |
55 | stqd $(0),16($1) | |
56 | stqd $1,-512($1) | |
57 | ai $1,$1,-512 | |
58 | brasl $0,f2 | |
59 | .fill 800 | |
60 | br .Lf4.part2 | |
61 | .size f4,.-f4 | |
62 | ||
63 | .section ".f4.part2","ax",@progbits | |
64 | .Lf4.part2: | |
65 | #alloca | |
66 | ilhu $3,-4000@h | |
67 | iohl $3,-4000@l | |
68 | a $4,$1,$3 | |
69 | lnop | |
70 | ori $1,$4,0 | |
71 | stqd $4,0($4) | |
72 | brsl $0,f5 | |
73 | #recursion | |
74 | brsl $0,f4 | |
75 | lqd $1,0($1) | |
76 | .fill 800 | |
77 | br .Lf4.part3 | |
78 | .size .Lf4.part2,.-.Lf4.part2 | |
79 | ||
80 | .section ".f4.part3","ax",@progbits | |
81 | .Lf4.part3: | |
82 | #recursion | |
83 | brasl $0,f4 | |
84 | brsl $0,f4 | |
85 | .fill 800 | |
86 | br .Lf4.part4 | |
87 | .size .Lf4.part3,.-.Lf4.part3 | |
88 | ||
89 | .section ".f4.part4","ax",@progbits | |
90 | .Lf4.part4: | |
91 | .fill 800 | |
92 | ila $3,512 | |
93 | a $1,$1,$3 | |
94 | lqd $0,16($1) | |
95 | #sibling call | |
96 | bra f5 | |
97 | .size .Lf4.part4,.-.Lf4.part4 | |
98 | ||
99 | .section ".f5.part1","ax",@progbits | |
100 | .type f5,@function | |
101 | f5: | |
102 | stqd $(0),16($1) | |
103 | stqd $1,-512($1) | |
104 | ai $1,$1,-512 | |
105 | brsl $0,f5 | |
106 | .fill 800 | |
107 | ila $3,512 | |
108 | a $1,$1,$3 | |
109 | lqd $0,16($1) | |
110 | bi $0 | |
111 | .size f5,.-f5 |