aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-spu/icache1.s
blob: a65664c6243e3625d4f26b1f4ef07a609353998a (plain)
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