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