]> git.proxmox.com Git - rustc.git/blob - src/binaryen/test/torture-s/pr51877.c.s
New upstream version 1.23.0+dfsg1
[rustc.git] / src / binaryen / test / torture-s / pr51877.c.s
1 .text
2 .file "pr51877.c"
3 .section .text.bar,"ax",@progbits
4 .hidden bar # -- Begin function bar
5 .globl bar
6 .type bar,@function
7 bar: # @bar
8 .param i32, i32
9 # BB#0: # %entry
10 i32.store8 4($0), $1
11 i32.const $push0=, 28
12 i32.add $push1=, $0, $pop0
13 i64.const $push2=, 0
14 i64.store 0($pop1):p2align=0, $pop2
15 i32.const $push3=, 21
16 i32.add $push4=, $0, $pop3
17 i64.const $push17=, 0
18 i64.store 0($pop4):p2align=0, $pop17
19 i32.const $push5=, 13
20 i32.add $push6=, $0, $pop5
21 i64.const $push16=, 0
22 i64.store 0($pop6):p2align=0, $pop16
23 i32.const $push7=, 5
24 i32.add $push8=, $0, $pop7
25 i64.const $push15=, 0
26 i64.store 0($pop8):p2align=0, $pop15
27 i32.const $push9=, 0
28 i32.load $push10=, bar.n($pop9)
29 i32.const $push11=, 1
30 i32.add $push14=, $pop10, $pop11
31 tee_local $push13=, $1=, $pop14
32 i32.store 0($0), $pop13
33 i32.const $push12=, 0
34 i32.store bar.n($pop12), $1
35 # fallthrough-return
36 .endfunc
37 .Lfunc_end0:
38 .size bar, .Lfunc_end0-bar
39 # -- End function
40 .section .text.baz,"ax",@progbits
41 .hidden baz # -- Begin function baz
42 .globl baz
43 .type baz,@function
44 baz: # @baz
45 # BB#0: # %entry
46 #APP
47 #NO_APP
48 # fallthrough-return
49 .endfunc
50 .Lfunc_end1:
51 .size baz, .Lfunc_end1-baz
52 # -- End function
53 .section .text.foo,"ax",@progbits
54 .hidden foo # -- Begin function foo
55 .globl foo
56 .type foo,@function
57 foo: # @foo
58 .param i32, i32
59 .local i32
60 # BB#0: # %entry
61 i32.const $push38=, 0
62 i32.const $push36=, 0
63 i32.load $push35=, __stack_pointer($pop36)
64 i32.const $push37=, 80
65 i32.sub $push45=, $pop35, $pop37
66 tee_local $push44=, $2=, $pop45
67 i32.store __stack_pointer($pop38), $pop44
68 block
69 block
70 i32.const $push0=, 6
71 i32.ne $push1=, $1, $pop0
72 br_if 0, $pop1 # 0: down to label1
73 # BB#1: # %if.then
74 i32.const $push42=, 40
75 i32.add $push43=, $2, $pop42
76 i32.const $push20=, 7
77 call bar@FUNCTION, $pop43, $pop20
78 i32.const $push24=, 0
79 i32.const $push21=, 72
80 i32.add $push22=, $2, $pop21
81 i32.load $push23=, 0($pop22)
82 i32.store a+32($pop24), $pop23
83 i32.const $push49=, 0
84 i32.const $push25=, 64
85 i32.add $push26=, $2, $pop25
86 i64.load $push27=, 0($pop26)
87 i64.store a+24($pop49):p2align=2, $pop27
88 i32.const $push48=, 0
89 i32.const $push28=, 56
90 i32.add $push29=, $2, $pop28
91 i64.load $push30=, 0($pop29)
92 i64.store a+16($pop48):p2align=2, $pop30
93 i32.const $push47=, 0
94 i32.const $push31=, 48
95 i32.add $push32=, $2, $pop31
96 i64.load $push33=, 0($pop32)
97 i64.store a+8($pop47):p2align=2, $pop33
98 i32.const $push46=, 0
99 i64.load $push34=, 40($2)
100 i64.store a($pop46):p2align=2, $pop34
101 br 1 # 1: down to label0
102 .LBB2_2: # %if.else
103 end_block # label1:
104 i32.const $push2=, 7
105 call bar@FUNCTION, $2, $pop2
106 i32.const $push3=, 32
107 i32.add $push4=, $0, $pop3
108 i32.const $push53=, 32
109 i32.add $push5=, $2, $pop53
110 i32.load $push6=, 0($pop5)
111 i32.store 0($pop4), $pop6
112 i32.const $push7=, 24
113 i32.add $push8=, $0, $pop7
114 i32.const $push52=, 24
115 i32.add $push9=, $2, $pop52
116 i64.load $push10=, 0($pop9)
117 i64.store 0($pop8):p2align=2, $pop10
118 i32.const $push11=, 16
119 i32.add $push12=, $0, $pop11
120 i32.const $push51=, 16
121 i32.add $push13=, $2, $pop51
122 i64.load $push14=, 0($pop13)
123 i64.store 0($pop12):p2align=2, $pop14
124 i32.const $push15=, 8
125 i32.add $push16=, $0, $pop15
126 i32.const $push50=, 8
127 i32.add $push17=, $2, $pop50
128 i64.load $push18=, 0($pop17)
129 i64.store 0($pop16):p2align=2, $pop18
130 i64.load $push19=, 0($2)
131 i64.store 0($0):p2align=2, $pop19
132 .LBB2_3: # %if.end
133 end_block # label0:
134 call baz@FUNCTION
135 i32.const $push41=, 0
136 i32.const $push39=, 80
137 i32.add $push40=, $2, $pop39
138 i32.store __stack_pointer($pop41), $pop40
139 # fallthrough-return
140 .endfunc
141 .Lfunc_end2:
142 .size foo, .Lfunc_end2-foo
143 # -- End function
144 .section .text.main,"ax",@progbits
145 .hidden main # -- Begin function main
146 .globl main
147 .type main,@function
148 main: # @main
149 .result i32
150 .local i32
151 # BB#0: # %entry
152 i32.const $push69=, 0
153 i32.const $push67=, 0
154 i32.load $push66=, __stack_pointer($pop67)
155 i32.const $push68=, 80
156 i32.sub $push100=, $pop66, $pop68
157 tee_local $push99=, $0=, $pop100
158 i32.store __stack_pointer($pop69), $pop99
159 i32.const $push73=, 40
160 i32.add $push74=, $0, $pop73
161 i32.const $push98=, 3
162 call bar@FUNCTION, $pop74, $pop98
163 i32.const $push97=, 0
164 i32.const $push75=, 40
165 i32.add $push76=, $0, $pop75
166 i32.const $push0=, 32
167 i32.add $push1=, $pop76, $pop0
168 i32.load $push2=, 0($pop1)
169 i32.store a+32($pop97), $pop2
170 i32.const $push96=, 0
171 i32.const $push77=, 40
172 i32.add $push78=, $0, $pop77
173 i32.const $push3=, 24
174 i32.add $push4=, $pop78, $pop3
175 i64.load $push5=, 0($pop4)
176 i64.store a+24($pop96):p2align=2, $pop5
177 i32.const $push95=, 0
178 i32.const $push79=, 40
179 i32.add $push80=, $0, $pop79
180 i32.const $push6=, 16
181 i32.add $push7=, $pop80, $pop6
182 i64.load $push8=, 0($pop7)
183 i64.store a+16($pop95):p2align=2, $pop8
184 i32.const $push94=, 0
185 i32.const $push81=, 40
186 i32.add $push82=, $0, $pop81
187 i32.const $push9=, 8
188 i32.add $push10=, $pop82, $pop9
189 i64.load $push11=, 0($pop10)
190 i64.store a+8($pop94):p2align=2, $pop11
191 i32.const $push93=, 0
192 i64.load $push12=, 40($0)
193 i64.store a($pop93):p2align=2, $pop12
194 i32.const $push13=, 4
195 call bar@FUNCTION, $0, $pop13
196 i32.const $push92=, 0
197 i32.const $push91=, 32
198 i32.add $push14=, $0, $pop91
199 i32.load $push15=, 0($pop14)
200 i32.store b+32($pop92), $pop15
201 i32.const $push90=, 0
202 i32.const $push89=, 24
203 i32.add $push16=, $0, $pop89
204 i64.load $push17=, 0($pop16)
205 i64.store b+24($pop90):p2align=2, $pop17
206 i32.const $push88=, 0
207 i32.const $push87=, 16
208 i32.add $push18=, $0, $pop87
209 i64.load $push19=, 0($pop18)
210 i64.store b+16($pop88):p2align=2, $pop19
211 i32.const $push86=, 0
212 i32.const $push85=, 8
213 i32.add $push20=, $0, $pop85
214 i64.load $push21=, 0($pop20)
215 i64.store b+8($pop86):p2align=2, $pop21
216 i32.const $push84=, 0
217 i64.load $push22=, 0($0)
218 i64.store b($pop84):p2align=2, $pop22
219 block
220 i32.const $push83=, 0
221 i32.load $push23=, a($pop83)
222 i32.const $push24=, 1
223 i32.ne $push25=, $pop23, $pop24
224 br_if 0, $pop25 # 0: down to label2
225 # BB#1: # %lor.lhs.false
226 i32.const $push102=, 0
227 i32.load8_u $push28=, a+4($pop102)
228 i32.const $push101=, 3
229 i32.ne $push29=, $pop28, $pop101
230 br_if 0, $pop29 # 0: down to label2
231 # BB#2: # %lor.lhs.false
232 i32.const $push103=, 0
233 i32.load $push26=, b($pop103)
234 i32.const $push30=, 2
235 i32.ne $push31=, $pop26, $pop30
236 br_if 0, $pop31 # 0: down to label2
237 # BB#3: # %lor.lhs.false
238 i32.const $push104=, 0
239 i32.load8_u $push27=, b+4($pop104)
240 i32.const $push32=, 255
241 i32.and $push33=, $pop27, $pop32
242 i32.const $push34=, 4
243 i32.ne $push35=, $pop33, $pop34
244 br_if 0, $pop35 # 0: down to label2
245 # BB#4: # %if.end
246 i32.const $push36=, b
247 i32.const $push106=, 0
248 call foo@FUNCTION, $pop36, $pop106
249 i32.const $push105=, 0
250 i32.load $push37=, a($pop105)
251 i32.const $push38=, 1
252 i32.ne $push39=, $pop37, $pop38
253 br_if 0, $pop39 # 0: down to label2
254 # BB#5: # %lor.lhs.false13
255 i32.const $push108=, 0
256 i32.load8_u $push42=, a+4($pop108)
257 i32.const $push107=, 3
258 i32.ne $push43=, $pop42, $pop107
259 br_if 0, $pop43 # 0: down to label2
260 # BB#6: # %lor.lhs.false13
261 i32.const $push110=, 0
262 i32.load $push40=, b($pop110)
263 i32.const $push109=, 3
264 i32.ne $push44=, $pop40, $pop109
265 br_if 0, $pop44 # 0: down to label2
266 # BB#7: # %lor.lhs.false13
267 i32.const $push111=, 0
268 i32.load8_u $push41=, b+4($pop111)
269 i32.const $push45=, 255
270 i32.and $push46=, $pop41, $pop45
271 i32.const $push47=, 7
272 i32.ne $push48=, $pop46, $pop47
273 br_if 0, $pop48 # 0: down to label2
274 # BB#8: # %if.end25
275 i32.const $push50=, b
276 i32.const $push49=, 6
277 call foo@FUNCTION, $pop50, $pop49
278 i32.const $push112=, 0
279 i32.load $push51=, a($pop112)
280 i32.const $push52=, 4
281 i32.ne $push53=, $pop51, $pop52
282 br_if 0, $pop53 # 0: down to label2
283 # BB#9: # %lor.lhs.false28
284 i32.const $push113=, 0
285 i32.load8_u $push56=, a+4($pop113)
286 i32.const $push57=, 7
287 i32.ne $push58=, $pop56, $pop57
288 br_if 0, $pop58 # 0: down to label2
289 # BB#10: # %lor.lhs.false28
290 i32.const $push114=, 0
291 i32.load $push54=, b($pop114)
292 i32.const $push59=, 3
293 i32.ne $push60=, $pop54, $pop59
294 br_if 0, $pop60 # 0: down to label2
295 # BB#11: # %lor.lhs.false28
296 i32.const $push115=, 0
297 i32.load8_u $push55=, b+4($pop115)
298 i32.const $push61=, 255
299 i32.and $push62=, $pop55, $pop61
300 i32.const $push63=, 7
301 i32.ne $push64=, $pop62, $pop63
302 br_if 0, $pop64 # 0: down to label2
303 # BB#12: # %if.end40
304 i32.const $push72=, 0
305 i32.const $push70=, 80
306 i32.add $push71=, $0, $pop70
307 i32.store __stack_pointer($pop72), $pop71
308 i32.const $push65=, 0
309 return $pop65
310 .LBB3_13: # %if.then
311 end_block # label2:
312 call abort@FUNCTION
313 unreachable
314 .endfunc
315 .Lfunc_end3:
316 .size main, .Lfunc_end3-main
317 # -- End function
318 .type bar.n,@object # @bar.n
319 .section .bss.bar.n,"aw",@nobits
320 .p2align 2
321 bar.n:
322 .int32 0 # 0x0
323 .size bar.n, 4
324
325 .hidden a # @a
326 .type a,@object
327 .section .bss.a,"aw",@nobits
328 .globl a
329 .p2align 2
330 a:
331 .skip 36
332 .size a, 36
333
334 .hidden b # @b
335 .type b,@object
336 .section .bss.b,"aw",@nobits
337 .globl b
338 .p2align 2
339 b:
340 .skip 36
341 .size b, 36
342
343
344 .ident "clang version 6.0.0 (https://llvm.googlesource.com/clang.git a1774cccdccfa673c057f93ccf23bc2d8cb04932) (https://llvm.googlesource.com/llvm.git fc50e1c6121255333bc42d6faf2b524c074eae25)"
345 .functype abort, void