Commit | Line | Data |
---|---|---|
39eeab25 AM |
1 | .section .toc,"aw" |
2 | .p2align 4 | |
3 | x4t: | |
4 | .quad x4 | |
5 | x5t: | |
6 | .quad x5 | |
7 | x6t: | |
8 | .quad x6 | |
9 | ||
10 | .section .sdata,"aw" | |
11 | .p2align 4 | |
12 | x1: | |
13 | .quad 1 | |
14 | x2: | |
15 | .quad 2 | |
16 | x3: | |
17 | .quad 3 | |
18 | x4: | |
19 | .quad 4 | |
20 | x5: | |
21 | .quad 5 | |
22 | x6: | |
23 | .quad 6 | |
24 | ||
25 | .globl _start | |
26 | .text | |
27 | _start: | |
28 | # no need for got entry, optimise to nop,addi | |
29 | # note: ld doesn't yet do got optimisation, so we get nop,ld | |
30 | addis 9,2,x1@got@ha | |
31 | ld 9,x1@got@l(9) | |
32 | # must keep got entry, optimise to nop,addi,ld | |
33 | addis 4,2,x2@got@ha | |
34 | addi 5,4,x2@got@l | |
35 | ld 6,0(5) | |
36 | # can't optimise due to possibility that r28 isn't dead | |
37 | addis 28,2,x1@got@ha | |
38 | ldu 9,x1@got@l(28) | |
39 | # no need for toc entry, optimise to nop,addi | |
40 | addis 9,2,x4t@toc@ha | |
41 | ld 9,x4t@toc@l(9) | |
42 | # must keep toc entry, optimise to nop,addi,ld | |
43 | # if we had a reloc tying the ld to x5/x5t then we could throw away | |
44 | # the toc entry and optimise to nop,nop,addi | |
45 | addis 4,2,x5t@toc@ha | |
46 | addi 5,4,x5t@toc@l | |
47 | ld 6,0(5) | |
48 | # can't optimise due to possibility that r28 isn't dead | |
49 | addis 28,2,x4t@toc@ha | |
50 | ldu 9,x4t@toc@l(28) | |
51 | ||
52 | addis 4,2,x2@got@ha | |
53 | addi 5,4,x2@got@l | |
54 | lwz 6,0(5) | |
55 | addis 9,2,x4t@toc@ha | |
56 | lwz 9,x4t@toc@l(9) | |
57 | addis 4,2,x5t@toc@ha | |
58 | addi 5,4,x5t@toc@l | |
59 | lwz 6,0(5) | |
60 | addis 28,2,x4t@toc@ha | |
61 | lwzu 9,x4t@toc@l(28) | |
62 | ||
63 | addis 4,2,x2@got@ha | |
64 | addi 5,4,x2@got@l | |
65 | lwa 6,0(5) | |
66 | addis 9,2,x4t@toc@ha | |
67 | lwa 9,x4t@toc@l(9) | |
68 | addis 4,2,x5t@toc@ha | |
69 | addi 5,4,x5t@toc@l | |
70 | lwa 6,0(5) | |
71 | ||
72 | addis 4,2,x2@got@ha | |
73 | addi 5,4,x2@got@l | |
74 | lhz 6,0(5) | |
75 | addis 9,2,x4t@toc@ha | |
76 | lhz 9,x4t@toc@l(9) | |
77 | addis 4,2,x5t@toc@ha | |
78 | addi 5,4,x5t@toc@l | |
79 | lhz 6,0(5) | |
80 | addis 28,2,x4t@toc@ha | |
81 | lhzu 9,x4t@toc@l(28) | |
82 | ||
83 | addis 4,2,x2@got@ha | |
84 | addi 5,4,x2@got@l | |
85 | lha 6,0(5) | |
86 | addis 9,2,x4t@toc@ha | |
87 | lha 9,x4t@toc@l(9) | |
88 | addis 4,2,x5t@toc@ha | |
89 | addi 5,4,x5t@toc@l | |
90 | lha 6,0(5) | |
91 | ||
92 | addis 4,2,x2@got@ha | |
93 | addi 5,4,x2@got@l | |
94 | lbz 6,0(5) | |
95 | addis 9,2,x4t@toc@ha | |
96 | lbz 9,x4t@toc@l(9) | |
97 | addis 4,2,x5t@toc@ha | |
98 | addi 5,4,x5t@toc@l | |
99 | lbz 6,0(5) | |
100 | addis 28,2,x4t@toc@ha | |
101 | lbzu 9,x4t@toc@l(28) | |
102 | ||
103 | addis 4,2,x2@got@ha | |
104 | addi 5,4,x2@got@l | |
105 | lfs 6,0(5) | |
106 | addis 9,2,x4t@toc@ha | |
107 | lfs 9,x4t@toc@l(9) | |
108 | addis 4,2,x5t@toc@ha | |
109 | addi 5,4,x5t@toc@l | |
110 | lfs 6,0(5) | |
111 | addis 28,2,x4t@toc@ha | |
112 | lfsu 9,x4t@toc@l(28) | |
113 | ||
114 | addis 4,2,x2@got@ha | |
115 | addi 5,4,x2@got@l | |
116 | lfd 6,0(5) | |
117 | addis 9,2,x4t@toc@ha | |
118 | lfd 9,x4t@toc@l(9) | |
119 | addis 4,2,x5t@toc@ha | |
120 | addi 5,4,x5t@toc@l | |
121 | lfd 6,0(5) | |
122 | addis 28,2,x4t@toc@ha | |
123 | lfdu 9,x4t@toc@l(28) | |
124 | ||
125 | addis 4,2,x2@got@ha | |
126 | addi 5,4,x2@got@l | |
127 | lxv 6,0(5) | |
128 | addis 9,2,x4t@toc@ha | |
129 | lxv 9,x4t@toc@l(9) | |
130 | addis 4,2,x6t@toc@ha | |
131 | addi 5,4,x6t@toc@l | |
132 | lxv 6,0(5) | |
133 | ||
134 | addis 4,2,x2@got@ha | |
135 | addi 5,4,x2@got@l | |
136 | lxsd 6,0(5) | |
137 | addis 9,2,x4t@toc@ha | |
138 | lxsd 9,x4t@toc@l(9) | |
139 | addis 4,2,x5t@toc@ha | |
140 | addi 5,4,x5t@toc@l | |
141 | lxsd 6,0(5) | |
142 | ||
143 | addis 4,2,x2@got@ha | |
144 | addi 5,4,x2@got@l | |
145 | lxssp 6,0(5) | |
146 | addis 9,2,x4t@toc@ha | |
147 | lxssp 9,x4t@toc@l(9) | |
148 | addis 4,2,x5t@toc@ha | |
149 | addi 5,4,x5t@toc@l | |
150 | lxssp 6,0(5) | |
151 | ||
152 | addis 9,2,x4t@toc@ha | |
153 | std 9,x4t@toc@l(9) | |
154 | addis 4,2,x5t@toc@ha | |
155 | addi 5,4,x5t@toc@l | |
156 | std 6,0(5) | |
157 | addis 28,2,x4t@toc@ha | |
158 | stdu 9,x4t@toc@l(28) | |
159 | ||
160 | addis 9,2,x4t@toc@ha | |
161 | stw 9,x4t@toc@l(9) | |
162 | addis 4,2,x5t@toc@ha | |
163 | addi 5,4,x5t@toc@l | |
164 | stw 6,0(5) | |
165 | addis 28,2,x4t@toc@ha | |
166 | stwu 9,x4t@toc@l(28) | |
167 | ||
168 | addis 9,2,x4t@toc@ha | |
169 | sth 9,x4t@toc@l(9) | |
170 | addis 4,2,x5t@toc@ha | |
171 | addi 5,4,x5t@toc@l | |
172 | sth 6,0(5) | |
173 | addis 28,2,x4t@toc@ha | |
174 | sthu 9,x4t@toc@l(28) | |
175 | ||
176 | addis 9,2,x4t@toc@ha | |
177 | stb 9,x4t@toc@l(9) | |
178 | addis 4,2,x5t@toc@ha | |
179 | addi 5,4,x5t@toc@l | |
180 | stb 6,0(5) | |
181 | addis 28,2,x4t@toc@ha | |
182 | stbu 9,x4t@toc@l(28) | |
183 | ||
184 | addis 9,2,x4t@toc@ha | |
185 | stfs 9,x4t@toc@l(9) | |
186 | addis 4,2,x5t@toc@ha | |
187 | addi 5,4,x5t@toc@l | |
188 | stfs 6,0(5) | |
189 | addis 28,2,x4t@toc@ha | |
190 | stfsu 9,x4t@toc@l(28) | |
191 | ||
192 | addis 9,2,x4t@toc@ha | |
193 | stfd 9,x4t@toc@l(9) | |
194 | addis 4,2,x5t@toc@ha | |
195 | addi 5,4,x5t@toc@l | |
196 | stfd 6,0(5) | |
197 | addis 28,2,x4t@toc@ha | |
198 | stfdu 9,x4t@toc@l(28) | |
199 | ||
200 | addis 9,2,x4t@toc@ha | |
201 | stxv 9,x4t@toc@l(9) | |
202 | addis 4,2,x6t@toc@ha | |
203 | addi 5,4,x6t@toc@l | |
204 | stxv 6,0(5) | |
205 | ||
206 | addis 9,2,x4t@toc@ha | |
207 | stxsd 9,x4t@toc@l(9) | |
208 | addis 4,2,x5t@toc@ha | |
209 | addi 5,4,x5t@toc@l | |
210 | stxsd 6,0(5) | |
211 | ||
212 | addis 9,2,x4t@toc@ha | |
213 | stxssp 9,x4t@toc@l(9) | |
214 | addis 4,2,x5t@toc@ha | |
215 | addi 5,4,x5t@toc@l | |
216 | stxssp 6,0(5) |