]> git.proxmox.com Git - rustc.git/blob - src/binaryen/test/torture-s/struct-ret-1.c.s
New upstream version 1.23.0+dfsg1
[rustc.git] / src / binaryen / test / torture-s / struct-ret-1.c.s
1 .text
2 .file "struct-ret-1.c"
3 .section .text.f,"ax",@progbits
4 .hidden f # -- Begin function f
5 .globl f
6 .type f,@function
7 f: # @f
8 .param i32, i32, i32, f64, i32
9 .local i64, i32, f64, f64, i32
10 # BB#0: # %entry
11 i32.const $push31=, 0
12 i32.const $push29=, 0
13 i32.load $push28=, __stack_pointer($pop29)
14 i32.const $push30=, 64
15 i32.sub $push43=, $pop28, $pop30
16 tee_local $push42=, $9=, $pop43
17 i32.store __stack_pointer($pop31), $pop42
18 i32.const $push0=, 12
19 i32.add $push1=, $1, $pop0
20 i64.load $5=, 0($pop1):p2align=2
21 i32.const $push2=, 16
22 i32.add $push3=, $4, $pop2
23 i32.load $6=, 0($pop3)
24 f64.load $7=, 0($1)
25 i32.load $1=, 8($1)
26 f64.load $8=, 0($4)
27 i32.const $push5=, 40
28 i32.add $push6=, $9, $pop5
29 i64.load $push4=, 8($4)
30 i64.store 0($pop6), $pop4
31 i32.const $push7=, 32
32 i32.add $push8=, $9, $pop7
33 f64.store 0($pop8), $8
34 i32.const $push9=, 24
35 i32.add $push10=, $9, $pop9
36 f64.store 0($pop10), $3
37 i32.const $push11=, 20
38 i32.add $push12=, $9, $pop11
39 i32.store 0($pop12), $2
40 i32.const $push13=, 48
41 i32.add $push14=, $9, $pop13
42 i32.store 0($pop14), $6
43 i64.store 12($9):p2align=2, $5
44 i32.store 8($9), $1
45 f64.store 0($9), $7
46 i32.const $push16=, out
47 i32.const $push15=, .L.str
48 i32.call $drop=, sprintf@FUNCTION, $pop16, $pop15, $9
49 i32.store8 33($0), $2
50 i32.const $push41=, 32
51 i32.add $push17=, $0, $pop41
52 i32.const $push18=, 0
53 i32.load8_u $push19=, f.xr+32($pop18)
54 i32.store8 0($pop17), $pop19
55 i32.const $push40=, 24
56 i32.add $push20=, $0, $pop40
57 i32.const $push39=, 0
58 i64.load $push21=, f.xr+24($pop39):p2align=0
59 i64.store 0($pop20):p2align=0, $pop21
60 i32.const $push38=, 16
61 i32.add $push22=, $0, $pop38
62 i32.const $push37=, 0
63 i64.load $push23=, f.xr+16($pop37):p2align=0
64 i64.store 0($pop22):p2align=0, $pop23
65 i32.const $push24=, 8
66 i32.add $push25=, $0, $pop24
67 i32.const $push36=, 0
68 i64.load $push26=, f.xr+8($pop36):p2align=0
69 i64.store 0($pop25):p2align=0, $pop26
70 i32.const $push35=, 0
71 i64.load $push27=, f.xr($pop35):p2align=0
72 i64.store 0($0):p2align=0, $pop27
73 i32.const $push34=, 0
74 i32.const $push32=, 64
75 i32.add $push33=, $9, $pop32
76 i32.store __stack_pointer($pop34), $pop33
77 # fallthrough-return
78 .endfunc
79 .Lfunc_end0:
80 .size f, .Lfunc_end0-f
81 # -- End function
82 .section .text.main,"ax",@progbits
83 .hidden main # -- Begin function main
84 .globl main
85 .type main,@function
86 main: # @main
87 .result i32
88 .local i32
89 # BB#0: # %entry
90 i32.const $push39=, 0
91 i32.const $push37=, 0
92 i32.load $push36=, __stack_pointer($pop37)
93 i32.const $push38=, 256
94 i32.sub $push76=, $pop36, $pop38
95 tee_local $push75=, $0=, $pop76
96 i32.store __stack_pointer($pop39), $pop75
97 i32.const $push1=, 92
98 i32.add $push2=, $0, $pop1
99 i32.const $push74=, 0
100 i64.load $push0=, B2+12($pop74):p2align=2
101 i64.store 0($pop2):p2align=2, $pop0
102 i32.const $push4=, 88
103 i32.add $push5=, $0, $pop4
104 i32.const $push73=, 0
105 i32.load $push3=, B2+8($pop73)
106 i32.store 0($pop5), $pop3
107 i32.const $push7=, 80
108 i32.add $push8=, $0, $pop7
109 i32.const $push72=, 0
110 f64.load $push6=, B2($pop72)
111 f64.store 0($pop8), $pop6
112 i32.const $push10=, 72
113 i32.add $push11=, $0, $pop10
114 i32.const $push71=, 0
115 f64.load $push9=, d3($pop71)
116 f64.store 0($pop11), $pop9
117 i32.const $push13=, 68
118 i32.add $push14=, $0, $pop13
119 i32.const $push70=, 0
120 i32.load8_s $push12=, c2($pop70)
121 i32.store 0($pop14), $pop12
122 i32.const $push69=, 0
123 i64.load $push15=, B1+12($pop69):p2align=2
124 i64.store 60($0):p2align=2, $pop15
125 i32.const $push68=, 0
126 i32.load $push16=, B1+8($pop68)
127 i32.store 56($0), $pop16
128 i32.const $push67=, 0
129 f64.load $push17=, B1($pop67)
130 f64.store 48($0), $pop17
131 i32.const $push19=, out
132 i32.const $push18=, .L.str
133 i32.const $push40=, 48
134 i32.add $push41=, $0, $pop40
135 i32.call $drop=, sprintf@FUNCTION, $pop19, $pop18, $pop41
136 i32.const $push42=, 144
137 i32.add $push43=, $0, $pop42
138 i32.const $push66=, out
139 i32.call $drop=, strcpy@FUNCTION, $pop43, $pop66
140 i32.const $push44=, 24
141 i32.add $push45=, $0, $pop44
142 i32.const $push20=, 8
143 i32.add $push21=, $pop45, $pop20
144 i32.const $push65=, 0
145 i64.load $push22=, B1+8($pop65)
146 i64.store 0($pop21), $pop22
147 i32.const $push46=, 24
148 i32.add $push47=, $0, $pop46
149 i32.const $push23=, 16
150 i32.add $push24=, $pop47, $pop23
151 i32.const $push64=, 0
152 i64.load $push25=, B1+16($pop64)
153 i64.store 0($pop24), $pop25
154 i32.const $push63=, 8
155 i32.add $push26=, $0, $pop63
156 i32.const $push62=, 0
157 i64.load $push27=, B2+8($pop62)
158 i64.store 0($pop26), $pop27
159 i32.const $push61=, 16
160 i32.add $push28=, $0, $pop61
161 i32.const $push60=, 0
162 i64.load $push29=, B2+16($pop60)
163 i64.store 0($pop28), $pop29
164 i32.const $push59=, 0
165 i64.load $push30=, B1($pop59)
166 i64.store 24($0), $pop30
167 i32.const $push58=, 0
168 i64.load $push31=, B2($pop58)
169 i64.store 0($0), $pop31
170 i32.const $push48=, 104
171 i32.add $push49=, $0, $pop48
172 i32.const $push50=, 24
173 i32.add $push51=, $0, $pop50
174 i32.const $push57=, 0
175 i32.load8_s $push33=, c2($pop57)
176 i32.const $push56=, 0
177 f64.load $push32=, d3($pop56)
178 i32.const $push55=, 0
179 i32.load $push34=, fp($pop55)
180 call_indirect $pop49, $pop51, $pop33, $pop32, $0, $pop34
181 block
182 i32.const $push52=, 144
183 i32.add $push53=, $0, $pop52
184 i32.const $push54=, out
185 i32.call $push35=, strcmp@FUNCTION, $pop53, $pop54
186 br_if 0, $pop35 # 0: down to label0
187 # BB#1: # %if.end
188 i32.const $push77=, 0
189 call exit@FUNCTION, $pop77
190 unreachable
191 .LBB1_2: # %if.then
192 end_block # label0:
193 call abort@FUNCTION
194 unreachable
195 .endfunc
196 .Lfunc_end1:
197 .size main, .Lfunc_end1-main
198 # -- End function
199 .hidden c1 # @c1
200 .type c1,@object
201 .section .data.c1,"aw",@progbits
202 .globl c1
203 c1:
204 .int8 97 # 0x61
205 .size c1, 1
206
207 .hidden c2 # @c2
208 .type c2,@object
209 .section .data.c2,"aw",@progbits
210 .globl c2
211 c2:
212 .int8 127 # 0x7f
213 .size c2, 1
214
215 .hidden c3 # @c3
216 .type c3,@object
217 .section .data.c3,"aw",@progbits
218 .globl c3
219 c3:
220 .int8 128 # 0x80
221 .size c3, 1
222
223 .hidden c4 # @c4
224 .type c4,@object
225 .section .data.c4,"aw",@progbits
226 .globl c4
227 c4:
228 .int8 255 # 0xff
229 .size c4, 1
230
231 .hidden c5 # @c5
232 .type c5,@object
233 .section .data.c5,"aw",@progbits
234 .globl c5
235 c5:
236 .int8 255 # 0xff
237 .size c5, 1
238
239 .hidden d1 # @d1
240 .type d1,@object
241 .section .data.d1,"aw",@progbits
242 .globl d1
243 .p2align 3
244 d1:
245 .int64 4591870180066957722 # double 0.10000000000000001
246 .size d1, 8
247
248 .hidden d2 # @d2
249 .type d2,@object
250 .section .data.d2,"aw",@progbits
251 .globl d2
252 .p2align 3
253 d2:
254 .int64 4596373779694328218 # double 0.20000000000000001
255 .size d2, 8
256
257 .hidden d3 # @d3
258 .type d3,@object
259 .section .data.d3,"aw",@progbits
260 .globl d3
261 .p2align 3
262 d3:
263 .int64 4599075939470750515 # double 0.29999999999999999
264 .size d3, 8
265
266 .hidden d4 # @d4
267 .type d4,@object
268 .section .data.d4,"aw",@progbits
269 .globl d4
270 .p2align 3
271 d4:
272 .int64 4600877379321698714 # double 0.40000000000000002
273 .size d4, 8
274
275 .hidden d5 # @d5
276 .type d5,@object
277 .section .data.d5,"aw",@progbits
278 .globl d5
279 .p2align 3
280 d5:
281 .int64 4602678819172646912 # double 0.5
282 .size d5, 8
283
284 .hidden d6 # @d6
285 .type d6,@object
286 .section .data.d6,"aw",@progbits
287 .globl d6
288 .p2align 3
289 d6:
290 .int64 4603579539098121011 # double 0.59999999999999998
291 .size d6, 8
292
293 .hidden d7 # @d7
294 .type d7,@object
295 .section .data.d7,"aw",@progbits
296 .globl d7
297 .p2align 3
298 d7:
299 .int64 4604480259023595110 # double 0.69999999999999996
300 .size d7, 8
301
302 .hidden d8 # @d8
303 .type d8,@object
304 .section .data.d8,"aw",@progbits
305 .globl d8
306 .p2align 3
307 d8:
308 .int64 4605380978949069210 # double 0.80000000000000004
309 .size d8, 8
310
311 .hidden d9 # @d9
312 .type d9,@object
313 .section .data.d9,"aw",@progbits
314 .globl d9
315 .p2align 3
316 d9:
317 .int64 4606281698874543309 # double 0.90000000000000002
318 .size d9, 8
319
320 .hidden B1 # @B1
321 .type B1,@object
322 .section .data.B1,"aw",@progbits
323 .globl B1
324 .p2align 3
325 B1:
326 .int64 4591870180066957722 # double 0.10000000000000001
327 .int32 1 # 0x1
328 .int32 2 # 0x2
329 .int32 3 # 0x3
330 .skip 4
331 .size B1, 24
332
333 .hidden B2 # @B2
334 .type B2,@object
335 .section .data.B2,"aw",@progbits
336 .globl B2
337 .p2align 3
338 B2:
339 .int64 4596373779694328218 # double 0.20000000000000001
340 .int32 5 # 0x5
341 .int32 4 # 0x4
342 .int32 3 # 0x3
343 .skip 4
344 .size B2, 24
345
346 .hidden X1 # @X1
347 .type X1,@object
348 .section .data.X1,"aw",@progbits
349 .globl X1
350 X1:
351 .asciz "abcdefghijklmnopqrstuvwxyzABCDEF"
352 .int8 71 # 0x47
353 .size X1, 34
354
355 .hidden X2 # @X2
356 .type X2,@object
357 .section .data.X2,"aw",@progbits
358 .globl X2
359 X2:
360 .asciz "123\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
361 .int8 57 # 0x39
362 .size X2, 34
363
364 .hidden X3 # @X3
365 .type X3,@object
366 .section .data.X3,"aw",@progbits
367 .globl X3
368 X3:
369 .asciz "return-return-return\000\000\000\000\000\000\000\000\000\000\000\000"
370 .int8 82 # 0x52
371 .size X3, 34
372
373 .type f.xr,@object # @f.xr
374 .section .rodata.f.xr,"a",@progbits
375 f.xr:
376 .asciz "return val\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
377 .int8 82 # 0x52
378 .size f.xr, 34
379
380 .hidden out # @out
381 .type out,@object
382 .section .bss.out,"aw",@nobits
383 .globl out
384 .p2align 4
385 out:
386 .skip 100
387 .size out, 100
388
389 .type .L.str,@object # @.str
390 .section .rodata.str1.1,"aMS",@progbits,1
391 .L.str:
392 .asciz "X f(B,char,double,B):({%g,{%d,%d,%d}},'%c',%g,{%g,{%d,%d,%d}})"
393 .size .L.str, 63
394
395 .hidden fp # @fp
396 .type fp,@object
397 .section .data.fp,"aw",@progbits
398 .globl fp
399 .p2align 2
400 fp:
401 .int32 f@FUNCTION
402 .size fp, 4
403
404
405 .ident "clang version 6.0.0 (https://llvm.googlesource.com/clang.git a1774cccdccfa673c057f93ccf23bc2d8cb04932) (https://llvm.googlesource.com/llvm.git fc50e1c6121255333bc42d6faf2b524c074eae25)"
406 .functype sprintf, i32, i32, i32
407 .functype strcpy, i32, i32, i32
408 .functype strcmp, i32, i32, i32
409 .functype abort, void
410 .functype exit, void, i32