* added compilers lcc and bcc (linux86)
[mascara-docs.git] / compilers / lcc-4.2 / sparc / solaris / tst / stdarg.sbk
blobbfb44d71a5f074cdbddda29c73b4359bb147fc7b
1 .section ".data"
2 .global x
3 .type x,#object
4 .size x,16
5 .align 4
6 x:
7 .word 0x1
8 .word 0x2
9 .word 0x3
10 .word 0x4
11 .global main
12 .section ".text"
13 .align 4
14 main:
15 save %sp,-192,%sp
16 set .L2,%o0
17 call print; nop
18 set .L3,%o0
19 set .L4,%o1
20 call print; nop
21 set .L5,%o0
22 set 3,%o1
23 set 10,%o2
24 call print; nop
25 set .L6,%o0
26 set .L7,%o1
27 set .L8,%o2
28 set 4,%o3
29 set 10,%o4
30 call print; nop
31 set .L9,%o0
32 set .L7,%o1
33 set .L8,%o2
34 set .L10,%i5
35 ld [%i5],%f30; ld [%i5+4],%f31
36 st %f30,[%sp+4*3+68]
37 st %f31,[%sp+4*4+68]
38 ld [%sp+4*3+68],%o3
39 ld [%sp+4*4+68],%o4
40 set 10,%o5
41 call print; nop
42 set .L11,%o0
43 set x,%i5
44 add -16,%fp,%i4
45 ld [%r29+0],%r1
46 ld [%r29+4],%r2
47 st %r1,[%r28+0]
48 st %r2,[%r28+4]
49 ld [%r29+8],%r1
50 ld [%r29+12],%r2
51 st %r1,[%r28+8]
52 st %r2,[%r28+12]
53 add -16,%fp,%o1
54 add -32,%fp,%i4
55 ld [%r29+0],%r1
56 ld [%r29+4],%r2
57 st %r1,[%r28+0]
58 st %r2,[%r28+4]
59 ld [%r29+8],%r1
60 ld [%r29+12],%r2
61 st %r1,[%r28+8]
62 st %r2,[%r28+12]
63 add -32,%fp,%o2
64 add -48,%fp,%i4
65 ld [%r29+0],%r1
66 ld [%r29+4],%r2
67 st %r1,[%r28+0]
68 st %r2,[%r28+4]
69 ld [%r29+8],%r1
70 ld [%r29+12],%r2
71 st %r1,[%r28+8]
72 st %r2,[%r28+12]
73 add -48,%fp,%o3
74 add -64,%fp,%i4
75 ld [%r29+0],%r1
76 ld [%r29+4],%r2
77 st %r1,[%r28+0]
78 st %r2,[%r28+4]
79 ld [%r29+8],%r1
80 ld [%r29+12],%r2
81 st %r1,[%r28+8]
82 st %r2,[%r28+12]
83 add -64,%fp,%o4
84 add -80,%fp,%i4
85 ld [%r29+0],%r1
86 ld [%r29+4],%r2
87 st %r1,[%r28+0]
88 st %r2,[%r28+4]
89 ld [%r29+8],%r1
90 ld [%r29+12],%r2
91 st %r1,[%r28+8]
92 st %r2,[%r28+12]
93 add -80,%fp,%o5
94 add -96,%fp,%i4
95 ld [%r29+0],%r1
96 ld [%r29+4],%r2
97 st %r1,[%r28+0]
98 st %r2,[%r28+4]
99 ld [%r29+8],%r1
100 ld [%r29+12],%r2
101 st %r1,[%r28+8]
102 st %r2,[%r28+12]
103 add -96,%fp,%i5
104 st %i5,[%sp+4*6+68]
105 call print; nop
106 mov %g0,%i0
107 .L1:
108 ret; restore
109 .type main,#function
110 .size main,.-main
111 .global print
112 .align 4
113 print:
114 save %sp,-112,%sp
115 st %i1,[%fp+72]
116 st %i2,[%fp+76]
117 st %i3,[%fp+80]
118 st %i4,[%fp+84]
119 st %i5,[%fp+88]
120 st %i0,[%fp+68]
121 add 72,%fp,%i5
122 ba .L18; nop
123 .L15:
124 ld [%fp+68],%i4
125 ldsb [%i4],%i4
126 cmp %i4,37; bne .L19; nop
127 ld [%fp+68],%i3
128 add %i3,1,%i3
129 st %i3,[%fp+68]
130 ldsb [%i3],%i4
131 cmp %i4,115; be .L35; nop
132 cmp %i4,115; bg .L40; nop
133 .L39:
134 cmp %i4,98; bl .L21; nop
135 cmp %i4,102; bg .L21; nop
136 sll %i4,2,%i3
137 set .L41-392,%i2
138 ld [%i3+%i2],%i3
139 jmp %i3; nop
140 .section ".rodata"
141 .align 4
142 .L41:
143 .word .L24
144 .word .L29
145 .word .L31
146 .word .L21
147 .word .L37
148 .section ".text"
149 .L40:
150 cmp %i4,119; be .L33; nop
151 ba .L21; nop
152 .L24:
153 add %i5,4,%i3
154 mov %i3,%i5
155 add -16,%fp,%i2
156 ld [%i3+-4],%i3
157 ld [%r27+0],%r1
158 ld [%r27+4],%r2
159 st %r1,[%r26+0]
160 st %r2,[%r26+4]
161 ld [%r27+8],%r1
162 ld [%r27+12],%r2
163 st %r1,[%r26+8]
164 st %r2,[%r26+12]
165 set .L25,%o0
166 ld [%fp+-16],%o1
167 ld [%fp+-12],%o2
168 ld [%fp+-8],%o3
169 ld [%fp+-4],%o4
170 call printf; nop
171 ba .L20; nop
172 .L29:
173 set .L30,%o0
174 add %i5,4,%i3
175 mov %i3,%i5
176 ldsb [%i3+-1],%o1
177 call printf; nop
178 ba .L20; nop
179 .L31:
180 set .L32,%o0
181 set 4,%i3
182 add %i5,%i3,%i3
183 mov %i3,%i5
184 ld [%i3+-4],%o1
185 call printf; nop
186 ba .L20; nop
187 .L33:
188 set .L34,%o0
189 add %i5,4,%i3
190 mov %i3,%i5
191 ldsh [%i3+-2],%o1
192 call printf; nop
193 ba .L20; nop
194 .L35:
195 set .L36,%o0
196 set 4,%i3
197 add %i5,%i3,%i3
198 mov %i3,%i5
199 ld [%i3+-4],%o1
200 call printf; nop
201 ba .L20; nop
202 .L37:
203 set .L38,%o0
204 set 8,%i3
205 add %i5,%i3,%i3
206 mov %i3,%i5
207 ld [%i3+-8],%f30; ld [%i3+-8+4],%f31
208 st %f30,[%sp+4*1+68]
209 st %f31,[%sp+4*2+68]
210 ld [%sp+4*1+68],%o1
211 ld [%sp+4*2+68],%o2
212 call printf; nop
213 ba .L20; nop
214 .L21:
215 set .L30,%o0
216 ld [%fp+68],%i3
217 ldsb [%i3],%o1
218 call printf; nop
219 ba .L20; nop
220 .L19:
221 set .L30,%o0
222 ld [%fp+68],%i3
223 ldsb [%i3],%o1
224 call printf; nop
225 .L20:
226 .L16:
227 ld [%fp+68],%i3
228 add %i3,1,%i3
229 st %i3,[%fp+68]
230 .L18:
231 ld [%fp+68],%i3
232 ldsb [%i3],%i3
233 cmp %i3,0; bne .L15; nop
234 mov %g0,%i0
235 .L12:
236 ret; restore
237 .type print,#function
238 .size print,.-print
239 .section ".bss"
240 .type __va_arg_tmp,#object
241 .size __va_arg_tmp,4
242 .local __va_arg_tmp
243 .common __va_arg_tmp,4,4
244 .section ".rodata"
245 .align 1
246 .L38:
247 .byte 37
248 .byte 102
249 .byte 0
250 .align 1
251 .L36:
252 .byte 37
253 .byte 115
254 .byte 0
255 .align 1
256 .L34:
257 .byte 37
258 .byte 120
259 .byte 0
260 .align 1
261 .L32:
262 .byte 37
263 .byte 100
264 .byte 0
265 .align 1
266 .L30:
267 .byte 37
268 .byte 99
269 .byte 0
270 .align 1
271 .L25:
272 .byte 123
273 .byte 37
274 .byte 100
275 .byte 32
276 .byte 37
277 .byte 100
278 .byte 32
279 .byte 37
280 .byte 100
281 .byte 32
282 .byte 37
283 .byte 100
284 .byte 125
285 .byte 0
286 .align 1
287 .L11:
288 .byte 37
289 .byte 98
290 .byte 32
291 .byte 37
292 .byte 98
293 .byte 32
294 .byte 37
295 .byte 98
296 .byte 32
297 .byte 37
298 .byte 98
299 .byte 32
300 .byte 37
301 .byte 98
302 .byte 32
303 .byte 37
304 .byte 98
305 .byte 10
306 .byte 0
307 .align 8
308 .L10:
309 .word 0x40140000
310 .word 0x0
311 .align 1
312 .L9:
313 .byte 37
314 .byte 115
315 .byte 37
316 .byte 115
317 .byte 32
318 .byte 37
319 .byte 102
320 .byte 37
321 .byte 99
322 .byte 0
323 .align 1
324 .L8:
325 .byte 115
326 .byte 116
327 .byte 0
328 .align 1
329 .L7:
330 .byte 116
331 .byte 101
332 .byte 0
333 .align 1
334 .L6:
335 .byte 37
336 .byte 115
337 .byte 37
338 .byte 115
339 .byte 32
340 .byte 37
341 .byte 119
342 .byte 37
343 .byte 99
344 .byte 0
345 .align 1
346 .L5:
347 .byte 116
348 .byte 101
349 .byte 115
350 .byte 116
351 .byte 32
352 .byte 37
353 .byte 100
354 .byte 37
355 .byte 99
356 .byte 0
357 .align 1
358 .L4:
359 .byte 50
360 .byte 0
361 .align 1
362 .L3:
363 .byte 116
364 .byte 101
365 .byte 115
366 .byte 116
367 .byte 32
368 .byte 37
369 .byte 115
370 .byte 10
371 .byte 0
372 .align 1
373 .L2:
374 .byte 116
375 .byte 101
376 .byte 115
377 .byte 116
378 .byte 32
379 .byte 49
380 .byte 10
381 .byte 0