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
15f1:
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
37f2:
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
47f3:
48 .fill 256
49 bi $0
50 .size f3,.-f3
51
52 .section ".f4.part1","ax",@progbits
53 .type f4,@function
54f4:
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
101f5:
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
112