]> git.proxmox.com Git - rustc.git/blob - src/binaryen/test/torture-s/pr33870.c.s
New upstream version 1.23.0+dfsg1
[rustc.git] / src / binaryen / test / torture-s / pr33870.c.s
1 .text
2 .file "pr33870.c"
3 .section .text.sort_pagelist,"ax",@progbits
4 .hidden sort_pagelist # -- Begin function sort_pagelist
5 .globl sort_pagelist
6 .type sort_pagelist,@function
7 sort_pagelist: # @sort_pagelist
8 .param i32
9 .result i32
10 .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
11 # BB#0: # %entry
12 i32.const $push28=, 0
13 i32.const $push26=, 0
14 i32.load $push25=, __stack_pointer($pop26)
15 i32.const $push27=, 144
16 i32.sub $push48=, $pop25, $pop27
17 tee_local $push47=, $3=, $pop48
18 i32.store __stack_pointer($pop28), $pop47
19 i32.const $push46=, 0
20 i32.const $push0=, 100
21 i32.call $1=, memset@FUNCTION, $3, $pop46, $pop0
22 i32.const $3=, 0
23 block
24 i32.eqz $push99=, $0
25 br_if 0, $pop99 # 0: down to label0
26 # BB#1: # %while.body.lr.ph
27 i32.const $push36=, 104
28 i32.add $push37=, $1, $pop36
29 i32.const $push49=, 28
30 i32.add $2=, $pop37, $pop49
31 i32.const $push8=, 96
32 i32.add $5=, $1, $pop8
33 .LBB0_2: # %while.body
34 # =>This Loop Header: Depth=1
35 # Child Loop BB0_3 Depth 2
36 # Child Loop BB0_6 Depth 3
37 # Child Loop BB0_18 Depth 2
38 loop # label1:
39 copy_local $push52=, $0
40 tee_local $push51=, $3=, $pop52
41 i32.load $0=, 28($pop51)
42 i32.const $push50=, 0
43 i32.store 28($3), $pop50
44 i32.const $6=, 0
45 .LBB0_3: # %for.body
46 # Parent Loop BB0_2 Depth=1
47 # => This Loop Header: Depth=2
48 # Child Loop BB0_6 Depth 3
49 block
50 block
51 block
52 block
53 block
54 loop # label7:
55 i32.const $push57=, 2
56 i32.shl $push1=, $6, $pop57
57 i32.add $push56=, $1, $pop1
58 tee_local $push55=, $4=, $pop56
59 i32.load $push54=, 0($pop55)
60 tee_local $push53=, $9=, $pop54
61 i32.eqz $push100=, $pop53
62 br_if 1, $pop100 # 1: down to label6
63 # BB#4: # %if.else
64 # in Loop: Header=BB0_3 Depth=2
65 block
66 block
67 block
68 i32.eqz $push101=, $3
69 br_if 0, $pop101 # 0: down to label10
70 # BB#5: # %while.body.i.preheader
71 # in Loop: Header=BB0_3 Depth=2
72 i32.const $push44=, 104
73 i32.add $push45=, $1, $pop44
74 copy_local $7=, $pop45
75 copy_local $8=, $9
76 .LBB0_6: # %while.body.i
77 # Parent Loop BB0_2 Depth=1
78 # Parent Loop BB0_3 Depth=2
79 # => This Inner Loop Header: Depth=3
80 block
81 loop # label12:
82 block
83 block
84 i32.load $push3=, 0($8)
85 i32.load $push2=, 0($3)
86 i32.ge_u $push4=, $pop3, $pop2
87 br_if 0, $pop4 # 0: down to label14
88 # BB#7: # %if.then.i
89 # in Loop: Header=BB0_6 Depth=3
90 i32.const $push60=, 28
91 i32.add $push6=, $7, $pop60
92 i32.store 0($pop6), $8
93 copy_local $10=, $3
94 copy_local $7=, $8
95 i32.load $push59=, 28($8)
96 tee_local $push58=, $9=, $pop59
97 br_if 1, $pop58 # 1: down to label13
98 br 3 # 3: down to label11
99 .LBB0_8: # %if.else.i
100 # in Loop: Header=BB0_6 Depth=3
101 end_block # label14:
102 i32.const $push63=, 28
103 i32.add $push5=, $7, $pop63
104 i32.store 0($pop5), $3
105 i32.load $10=, 28($3)
106 copy_local $7=, $3
107 copy_local $push62=, $8
108 tee_local $push61=, $9=, $pop62
109 i32.eqz $push102=, $pop61
110 br_if 2, $pop102 # 2: down to label11
111 .LBB0_9: # %if.end.i
112 # in Loop: Header=BB0_6 Depth=3
113 end_block # label13:
114 copy_local $3=, $10
115 copy_local $8=, $9
116 br_if 0, $10 # 0: up to label12
117 .LBB0_10: # %merge_pagelist.exit
118 # in Loop: Header=BB0_3 Depth=2
119 end_loop
120 end_block # label11:
121 br_if 1, $9 # 1: down to label9
122 br 2 # 2: down to label8
123 .LBB0_11: # in Loop: Header=BB0_3 Depth=2
124 end_block # label10:
125 i32.const $push38=, 104
126 i32.add $push39=, $1, $pop38
127 copy_local $7=, $pop39
128 .LBB0_12: # %merge_pagelist.exit.thread
129 # in Loop: Header=BB0_3 Depth=2
130 end_block # label9:
131 copy_local $10=, $9
132 .LBB0_13: # %for.cond
133 # in Loop: Header=BB0_3 Depth=2
134 end_block # label8:
135 i32.store 28($7), $10
136 i32.const $push40=, 104
137 i32.add $push41=, $1, $pop40
138 i32.const $push71=, 28
139 i32.add $push70=, $pop41, $pop71
140 tee_local $push69=, $9=, $pop70
141 i32.load $3=, 0($pop69)
142 i32.const $push68=, 0
143 i32.store 0($4), $pop68
144 i32.const $push67=, 23
145 i32.lt_u $8=, $6, $pop67
146 i32.const $push66=, 1
147 i32.add $push65=, $6, $pop66
148 tee_local $push64=, $10=, $pop65
149 copy_local $6=, $pop64
150 br_if 0, $8 # 0: up to label7
151 # BB#14: # %for.end
152 # in Loop: Header=BB0_2 Depth=1
153 end_loop
154 i32.const $push72=, 24
155 i32.ne $push7=, $10, $pop72
156 br_if 1, $pop7 # 1: down to label5
157 # BB#15: # %if.then7
158 # in Loop: Header=BB0_2 Depth=1
159 i32.load $push75=, 0($5)
160 tee_local $push74=, $8=, $pop75
161 i32.const $push73=, 0
162 i32.ne $4=, $pop74, $pop73
163 i32.eqz $push103=, $3
164 br_if 2, $pop103 # 2: down to label4
165 # BB#16: # %if.then7
166 # in Loop: Header=BB0_2 Depth=1
167 i32.eqz $push104=, $8
168 br_if 2, $pop104 # 2: down to label4
169 # BB#17: # %while.body.i81.preheader
170 # in Loop: Header=BB0_2 Depth=1
171 i32.const $push42=, 104
172 i32.add $push43=, $1, $pop42
173 copy_local $6=, $pop43
174 .LBB0_18: # %while.body.i81
175 # Parent Loop BB0_2 Depth=1
176 # => This Inner Loop Header: Depth=2
177 block
178 loop # label16:
179 block
180 block
181 i32.load $push10=, 0($8)
182 i32.load $push9=, 0($3)
183 i32.ge_u $push11=, $pop10, $pop9
184 br_if 0, $pop11 # 0: down to label18
185 # BB#19: # %if.then.i83
186 # in Loop: Header=BB0_18 Depth=2
187 i32.const $push78=, 28
188 i32.add $push13=, $6, $pop78
189 i32.store 0($pop13), $8
190 copy_local $10=, $3
191 copy_local $6=, $8
192 i32.load $push77=, 28($8)
193 tee_local $push76=, $7=, $pop77
194 br_if 1, $pop76 # 1: down to label17
195 br 3 # 3: down to label15
196 .LBB0_20: # %if.else.i85
197 # in Loop: Header=BB0_18 Depth=2
198 end_block # label18:
199 i32.const $push81=, 28
200 i32.add $push12=, $6, $pop81
201 i32.store 0($pop12), $3
202 i32.load $10=, 28($3)
203 copy_local $6=, $3
204 copy_local $push80=, $8
205 tee_local $push79=, $7=, $pop80
206 i32.eqz $push105=, $pop79
207 br_if 2, $pop105 # 2: down to label15
208 .LBB0_21: # %if.end.i91
209 # in Loop: Header=BB0_18 Depth=2
210 end_block # label17:
211 copy_local $3=, $10
212 copy_local $8=, $7
213 br_if 0, $10 # 0: up to label16
214 .LBB0_22: # %merge_pagelist.exit99.loopexit
215 # in Loop: Header=BB0_2 Depth=1
216 end_loop
217 end_block # label15:
218 i32.const $push83=, 0
219 i32.ne $4=, $7, $pop83
220 i32.const $push82=, 28
221 i32.add $6=, $6, $pop82
222 br 3 # 3: down to label3
223 .LBB0_23: # %for.end.thread
224 # in Loop: Header=BB0_2 Depth=1
225 end_block # label6:
226 i32.store 0($4), $3
227 .LBB0_24: # %if.end11
228 # in Loop: Header=BB0_2 Depth=1
229 end_block # label5:
230 br_if 3, $0 # 3: up to label1
231 br 2 # 2: down to label2
232 .LBB0_25: # in Loop: Header=BB0_2 Depth=1
233 end_block # label4:
234 copy_local $6=, $2
235 copy_local $7=, $8
236 copy_local $10=, $3
237 .LBB0_26: # %merge_pagelist.exit99
238 # in Loop: Header=BB0_2 Depth=1
239 end_block # label3:
240 i32.select $push14=, $7, $10, $4
241 i32.store 0($6), $pop14
242 i32.load $push15=, 0($9)
243 i32.store 0($5), $pop15
244 br_if 1, $0 # 1: up to label1
245 .LBB0_27: # %while.end.loopexit
246 end_block # label2:
247 end_loop
248 i32.load $3=, 0($1)
249 .LBB0_28: # %while.end
250 end_block # label0:
251 i32.const $push32=, 104
252 i32.add $push33=, $1, $pop32
253 i32.const $push84=, 28
254 i32.add $0=, $pop33, $pop84
255 i32.const $6=, 1
256 .LBB0_29: # %for.body15
257 # =>This Loop Header: Depth=1
258 # Child Loop BB0_32 Depth 2
259 loop # label19:
260 i32.const $push86=, 0
261 i32.ne $4=, $3, $pop86
262 i32.const $push85=, 2
263 i32.shl $push16=, $6, $pop85
264 i32.add $push17=, $1, $pop16
265 i32.load $8=, 0($pop17)
266 block
267 block
268 i32.eqz $push106=, $3
269 br_if 0, $pop106 # 0: down to label21
270 # BB#30: # %for.body15
271 # in Loop: Header=BB0_29 Depth=1
272 i32.eqz $push107=, $8
273 br_if 0, $pop107 # 0: down to label21
274 # BB#31: # %while.body.i51.preheader
275 # in Loop: Header=BB0_29 Depth=1
276 i32.const $push34=, 104
277 i32.add $push35=, $1, $pop34
278 copy_local $7=, $pop35
279 .LBB0_32: # %while.body.i51
280 # Parent Loop BB0_29 Depth=1
281 # => This Inner Loop Header: Depth=2
282 block
283 loop # label23:
284 block
285 block
286 i32.load $push19=, 0($3)
287 i32.load $push18=, 0($8)
288 i32.ge_u $push20=, $pop19, $pop18
289 br_if 0, $pop20 # 0: down to label25
290 # BB#33: # %if.then.i53
291 # in Loop: Header=BB0_32 Depth=2
292 i32.const $push89=, 28
293 i32.add $push22=, $7, $pop89
294 i32.store 0($pop22), $3
295 copy_local $10=, $8
296 copy_local $7=, $3
297 i32.load $push88=, 28($3)
298 tee_local $push87=, $9=, $pop88
299 br_if 1, $pop87 # 1: down to label24
300 br 3 # 3: down to label22
301 .LBB0_34: # %if.else.i55
302 # in Loop: Header=BB0_32 Depth=2
303 end_block # label25:
304 i32.const $push92=, 28
305 i32.add $push21=, $7, $pop92
306 i32.store 0($pop21), $8
307 i32.load $10=, 28($8)
308 copy_local $7=, $8
309 copy_local $push91=, $3
310 tee_local $push90=, $9=, $pop91
311 i32.eqz $push108=, $pop90
312 br_if 2, $pop108 # 2: down to label22
313 .LBB0_35: # %if.end.i61
314 # in Loop: Header=BB0_32 Depth=2
315 end_block # label24:
316 copy_local $8=, $10
317 copy_local $3=, $9
318 br_if 0, $10 # 0: up to label23
319 .LBB0_36: # %merge_pagelist.exit69.loopexit
320 # in Loop: Header=BB0_29 Depth=1
321 end_loop
322 end_block # label22:
323 i32.const $push94=, 0
324 i32.ne $4=, $9, $pop94
325 i32.const $push93=, 28
326 i32.add $7=, $7, $pop93
327 br 1 # 1: down to label20
328 .LBB0_37: # in Loop: Header=BB0_29 Depth=1
329 end_block # label21:
330 copy_local $7=, $0
331 copy_local $9=, $3
332 copy_local $10=, $8
333 .LBB0_38: # %merge_pagelist.exit69
334 # in Loop: Header=BB0_29 Depth=1
335 end_block # label20:
336 i32.select $push23=, $9, $10, $4
337 i32.store 0($7), $pop23
338 i32.load $3=, 0($0)
339 i32.const $push98=, 1
340 i32.add $push97=, $6, $pop98
341 tee_local $push96=, $6=, $pop97
342 i32.const $push95=, 25
343 i32.ne $push24=, $pop96, $pop95
344 br_if 0, $pop24 # 0: up to label19
345 # BB#39: # %for.end20
346 end_loop
347 i32.const $push31=, 0
348 i32.const $push29=, 144
349 i32.add $push30=, $1, $pop29
350 i32.store __stack_pointer($pop31), $pop30
351 copy_local $push109=, $3
352 # fallthrough-return: $pop109
353 .endfunc
354 .Lfunc_end0:
355 .size sort_pagelist, .Lfunc_end0-sort_pagelist
356 # -- End function
357 .section .text.main,"ax",@progbits
358 .hidden main # -- Begin function main
359 .globl main
360 .type main,@function
361 main: # @main
362 .result i32
363 .local i32, i32
364 # BB#0: # %entry
365 i32.const $push21=, 0
366 i32.const $push19=, 0
367 i32.load $push18=, __stack_pointer($pop19)
368 i32.const $push20=, 208
369 i32.sub $push29=, $pop18, $pop20
370 tee_local $push28=, $1=, $pop29
371 i32.store __stack_pointer($pop21), $pop28
372 i32.const $push2=, 68
373 i32.add $push3=, $1, $pop2
374 i32.const $push0=, 80
375 i32.add $push1=, $1, $pop0
376 i32.store 0($pop3), $pop1
377 i32.const $push6=, 108
378 i32.add $push7=, $1, $pop6
379 i32.const $push4=, 120
380 i32.add $push5=, $1, $pop4
381 i32.store 0($pop7), $pop5
382 i32.const $push8=, 148
383 i32.add $push9=, $1, $pop8
384 i32.const $push27=, 0
385 i32.store 0($pop9), $pop27
386 i32.const $push10=, 5
387 i32.store 0($1), $pop10
388 i32.const $push11=, 4
389 i32.store 40($1), $pop11
390 i32.const $push12=, 1
391 i32.store 80($1), $pop12
392 i32.const $push13=, 3
393 i32.store 120($1), $pop13
394 i32.const $push14=, 40
395 i32.add $push15=, $1, $pop14
396 i32.store 28($1), $pop15
397 block
398 i32.call $push26=, sort_pagelist@FUNCTION, $1
399 tee_local $push25=, $0=, $pop26
400 i32.load $push16=, 28($0)
401 i32.eq $push17=, $pop25, $pop16
402 br_if 0, $pop17 # 0: down to label26
403 # BB#1: # %if.end
404 i32.const $push24=, 0
405 i32.const $push22=, 208
406 i32.add $push23=, $1, $pop22
407 i32.store __stack_pointer($pop24), $pop23
408 i32.const $push30=, 0
409 return $pop30
410 .LBB1_2: # %if.then
411 end_block # label26:
412 call abort@FUNCTION
413 unreachable
414 .endfunc
415 .Lfunc_end1:
416 .size main, .Lfunc_end1-main
417 # -- End function
418
419 .ident "clang version 6.0.0 (https://llvm.googlesource.com/clang.git a1774cccdccfa673c057f93ccf23bc2d8cb04932) (https://llvm.googlesource.com/llvm.git fc50e1c6121255333bc42d6faf2b524c074eae25)"
420 .functype abort, void