]> git.proxmox.com Git - rustc.git/blob - src/binaryen/test/torture-s/920501-6.c.s
New upstream version 1.23.0+dfsg1
[rustc.git] / src / binaryen / test / torture-s / 920501-6.c.s
1 .text
2 .file "920501-6.c"
3 .section .text.str2llu,"ax",@progbits
4 .hidden str2llu # -- Begin function str2llu
5 .globl str2llu
6 .type str2llu,@function
7 str2llu: # @str2llu
8 .param i32
9 .result i64
10 .local i32, i64
11 # BB#0: # %entry
12 i64.load8_s $push1=, 0($0)
13 i64.const $push10=, -48
14 i64.add $2=, $pop1, $pop10
15 block
16 i32.load8_u $push9=, 1($0)
17 tee_local $push8=, $1=, $pop9
18 i32.eqz $push16=, $pop8
19 br_if 0, $pop16 # 0: down to label0
20 # BB#1: # %if.end.preheader
21 i32.const $push2=, 2
22 i32.add $0=, $0, $pop2
23 .LBB0_2: # %if.end
24 # =>This Inner Loop Header: Depth=1
25 loop # label1:
26 i64.const $push15=, 10
27 i64.mul $push3=, $2, $pop15
28 i64.extend_u/i32 $push4=, $1
29 i64.const $push14=, 56
30 i64.shl $push5=, $pop4, $pop14
31 i64.const $push13=, 56
32 i64.shr_s $push6=, $pop5, $pop13
33 i64.add $push7=, $pop3, $pop6
34 i64.const $push12=, -48
35 i64.add $2=, $pop7, $pop12
36 i32.load8_u $1=, 0($0)
37 i32.const $push11=, 1
38 i32.add $push0=, $0, $pop11
39 copy_local $0=, $pop0
40 br_if 0, $1 # 0: up to label1
41 .LBB0_3: # %for.end
42 end_loop
43 end_block # label0:
44 copy_local $push17=, $2
45 # fallthrough-return: $pop17
46 .endfunc
47 .Lfunc_end0:
48 .size str2llu, .Lfunc_end0-str2llu
49 # -- End function
50 .section .text.sqrtllu,"ax",@progbits
51 .hidden sqrtllu # -- Begin function sqrtllu
52 .globl sqrtllu
53 .type sqrtllu,@function
54 sqrtllu: # @sqrtllu
55 .param i64
56 .result i32
57 .local i64, i64
58 # BB#0: # %entry
59 copy_local $1=, $0
60 i64.const $2=, 0
61 .LBB1_1: # %for.cond
62 # =>This Inner Loop Header: Depth=1
63 loop # label2:
64 i64.const $push14=, 1
65 i64.add $2=, $2, $pop14
66 i64.const $push13=, 1
67 i64.shr_u $push12=, $1, $pop13
68 tee_local $push11=, $1=, $pop12
69 i64.const $push10=, 0
70 i64.ne $push0=, $pop11, $pop10
71 br_if 0, $pop0 # 0: up to label2
72 # BB#2: # %for.end
73 end_loop
74 i64.const $push2=, 0
75 i64.const $push20=, 1
76 i64.and $push1=, $2, $pop20
77 i64.sub $push3=, $pop2, $pop1
78 i64.const $push19=, 1
79 i64.const $push18=, 1
80 i64.shr_u $push4=, $2, $pop18
81 i64.shl $push17=, $pop19, $pop4
82 tee_local $push16=, $2=, $pop17
83 i64.const $push15=, 1
84 i64.shr_u $push5=, $pop16, $pop15
85 i64.and $push6=, $pop3, $pop5
86 i64.add $2=, $pop6, $2
87 .LBB1_3: # %do.body
88 # =>This Inner Loop Header: Depth=1
89 loop # label3:
90 i64.div_u $push25=, $0, $2
91 tee_local $push24=, $1=, $pop25
92 i64.add $push7=, $1, $2
93 i64.const $push23=, 1
94 i64.shr_u $push22=, $pop7, $pop23
95 tee_local $push21=, $2=, $pop22
96 i64.lt_u $push8=, $pop24, $pop21
97 br_if 0, $pop8 # 0: up to label3
98 # BB#4: # %do.end
99 end_loop
100 i32.wrap/i64 $push9=, $2
101 # fallthrough-return: $pop9
102 .endfunc
103 .Lfunc_end1:
104 .size sqrtllu, .Lfunc_end1-sqrtllu
105 # -- End function
106 .section .text.plist,"ax",@progbits
107 .hidden plist # -- Begin function plist
108 .globl plist
109 .type plist,@function
110 plist: # @plist
111 .param i64, i64, i32
112 .result i32
113 .local i32, i32, i64, i64, i32
114 # BB#0: # %entry
115 copy_local $4=, $2
116 block
117 i64.gt_u $push0=, $0, $1
118 br_if 0, $pop0 # 0: down to label4
119 # BB#1: # %for.body.preheader
120 copy_local $4=, $2
121 .LBB2_2: # %for.body
122 # =>This Loop Header: Depth=1
123 # Child Loop BB2_3 Depth 2
124 # Child Loop BB2_5 Depth 2
125 # Child Loop BB2_8 Depth 2
126 loop # label5:
127 copy_local $5=, $0
128 i64.const $6=, 0
129 .LBB2_3: # %for.cond.i
130 # Parent Loop BB2_2 Depth=1
131 # => This Inner Loop Header: Depth=2
132 loop # label6:
133 i64.const $push23=, 1
134 i64.add $6=, $6, $pop23
135 i64.const $push22=, 1
136 i64.shr_u $push21=, $5, $pop22
137 tee_local $push20=, $5=, $pop21
138 i64.const $push19=, 0
139 i64.ne $push1=, $pop20, $pop19
140 br_if 0, $pop1 # 0: up to label6
141 # BB#4: # %for.end.i
142 # in Loop: Header=BB2_2 Depth=1
143 end_loop
144 i64.const $push30=, 0
145 i64.const $push29=, 1
146 i64.and $push2=, $6, $pop29
147 i64.sub $push3=, $pop30, $pop2
148 i64.const $push28=, 1
149 i64.const $push27=, 1
150 i64.shr_u $push4=, $6, $pop27
151 i64.shl $push26=, $pop28, $pop4
152 tee_local $push25=, $6=, $pop26
153 i64.const $push24=, 1
154 i64.shr_u $push5=, $pop25, $pop24
155 i64.and $push6=, $pop3, $pop5
156 i64.add $6=, $pop6, $6
157 .LBB2_5: # %do.body.i
158 # Parent Loop BB2_2 Depth=1
159 # => This Inner Loop Header: Depth=2
160 loop # label7:
161 i64.div_u $push35=, $0, $6
162 tee_local $push34=, $5=, $pop35
163 i64.add $push7=, $5, $6
164 i64.const $push33=, 1
165 i64.shr_u $push32=, $pop7, $pop33
166 tee_local $push31=, $6=, $pop32
167 i64.lt_u $push8=, $pop34, $pop31
168 br_if 0, $pop8 # 0: up to label7
169 # BB#6: # %sqrtllu.exit
170 # in Loop: Header=BB2_2 Depth=1
171 end_loop
172 block
173 block
174 i32.wrap/i64 $push38=, $6
175 tee_local $push37=, $3=, $pop38
176 i32.const $push36=, 3
177 i32.lt_u $push9=, $pop37, $pop36
178 br_if 0, $pop9 # 0: down to label9
179 # BB#7: # %for.body3.preheader
180 # in Loop: Header=BB2_2 Depth=1
181 i32.const $7=, 3
182 .LBB2_8: # %for.body3
183 # Parent Loop BB2_2 Depth=1
184 # => This Inner Loop Header: Depth=2
185 loop # label10:
186 i64.extend_u/i32 $push10=, $7
187 i64.rem_u $push11=, $0, $pop10
188 i64.eqz $push12=, $pop11
189 br_if 2, $pop12 # 2: down to label8
190 # BB#9: # %for.cond1
191 # in Loop: Header=BB2_8 Depth=2
192 i32.const $push41=, 2
193 i32.add $push40=, $7, $pop41
194 tee_local $push39=, $7=, $pop40
195 i32.le_u $push13=, $pop39, $3
196 br_if 0, $pop13 # 0: up to label10
197 .LBB2_10: # %for.end
198 # in Loop: Header=BB2_2 Depth=1
199 end_loop
200 end_block # label9:
201 i64.store 0($4), $0
202 i32.const $push42=, 8
203 i32.add $4=, $4, $pop42
204 .LBB2_11: # %for.inc6
205 # in Loop: Header=BB2_2 Depth=1
206 end_block # label8:
207 i64.const $push45=, 2
208 i64.add $push44=, $0, $pop45
209 tee_local $push43=, $0=, $pop44
210 i64.le_u $push14=, $pop43, $1
211 br_if 0, $pop14 # 0: up to label5
212 .LBB2_12: # %for.end8
213 end_loop
214 end_block # label4:
215 i64.const $push15=, 0
216 i64.store 0($4), $pop15
217 i32.sub $push16=, $4, $2
218 i32.const $push17=, 3
219 i32.shr_s $push18=, $pop16, $pop17
220 # fallthrough-return: $pop18
221 .endfunc
222 .Lfunc_end2:
223 .size plist, .Lfunc_end2-plist
224 # -- End function
225 .section .text.main,"ax",@progbits
226 .hidden main # -- Begin function main
227 .globl main
228 .type main,@function
229 main: # @main
230 .param i32, i32
231 .result i32
232 .local i32, i32, i64, i64, i64, i32, i32
233 # BB#0: # %for.body.lr.ph.i
234 i32.const $push30=, 0
235 i32.const $push28=, 0
236 i32.load $push27=, __stack_pointer($pop28)
237 i32.const $push29=, 80
238 i32.sub $push32=, $pop27, $pop29
239 tee_local $push31=, $8=, $pop32
240 i32.store __stack_pointer($pop30), $pop31
241 i64.const $4=, 1234111111
242 copy_local $3=, $8
243 .LBB3_1: # %for.body.i
244 # =>This Loop Header: Depth=1
245 # Child Loop BB3_2 Depth 2
246 # Child Loop BB3_4 Depth 2
247 # Child Loop BB3_7 Depth 2
248 loop # label11:
249 copy_local $5=, $4
250 i64.const $6=, 0
251 .LBB3_2: # %for.cond.i.i
252 # Parent Loop BB3_1 Depth=1
253 # => This Inner Loop Header: Depth=2
254 loop # label12:
255 i64.const $push37=, 1
256 i64.add $6=, $6, $pop37
257 i64.const $push36=, 1
258 i64.shr_u $push35=, $5, $pop36
259 tee_local $push34=, $5=, $pop35
260 i64.const $push33=, 0
261 i64.ne $push0=, $pop34, $pop33
262 br_if 0, $pop0 # 0: up to label12
263 # BB#3: # %for.end.i.i
264 # in Loop: Header=BB3_1 Depth=1
265 end_loop
266 i64.const $push44=, 0
267 i64.const $push43=, 1
268 i64.and $push1=, $6, $pop43
269 i64.sub $push2=, $pop44, $pop1
270 i64.const $push42=, 1
271 i64.const $push41=, 1
272 i64.shr_u $push3=, $6, $pop41
273 i64.shl $push40=, $pop42, $pop3
274 tee_local $push39=, $6=, $pop40
275 i64.const $push38=, 1
276 i64.shr_u $push4=, $pop39, $pop38
277 i64.and $push5=, $pop2, $pop4
278 i64.add $6=, $pop5, $6
279 .LBB3_4: # %do.body.i.i
280 # Parent Loop BB3_1 Depth=1
281 # => This Inner Loop Header: Depth=2
282 loop # label13:
283 i64.div_u $push49=, $4, $6
284 tee_local $push48=, $5=, $pop49
285 i64.add $push6=, $5, $6
286 i64.const $push47=, 1
287 i64.shr_u $push46=, $pop6, $pop47
288 tee_local $push45=, $6=, $pop46
289 i64.lt_u $push7=, $pop48, $pop45
290 br_if 0, $pop7 # 0: up to label13
291 # BB#5: # %sqrtllu.exit.i
292 # in Loop: Header=BB3_1 Depth=1
293 end_loop
294 block
295 block
296 i32.wrap/i64 $push52=, $6
297 tee_local $push51=, $2=, $pop52
298 i32.const $push50=, 3
299 i32.lt_u $push8=, $pop51, $pop50
300 br_if 0, $pop8 # 0: down to label15
301 # BB#6: # %for.body3.i.preheader
302 # in Loop: Header=BB3_1 Depth=1
303 i32.const $7=, 3
304 .LBB3_7: # %for.body3.i
305 # Parent Loop BB3_1 Depth=1
306 # => This Inner Loop Header: Depth=2
307 loop # label16:
308 i64.extend_u/i32 $push9=, $7
309 i64.rem_u $push10=, $4, $pop9
310 i64.eqz $push11=, $pop10
311 br_if 2, $pop11 # 2: down to label14
312 # BB#8: # %for.cond1.i
313 # in Loop: Header=BB3_7 Depth=2
314 i32.const $push55=, 2
315 i32.add $push54=, $7, $pop55
316 tee_local $push53=, $7=, $pop54
317 i32.le_u $push12=, $pop53, $2
318 br_if 0, $pop12 # 0: up to label16
319 .LBB3_9: # %for.end.i
320 # in Loop: Header=BB3_1 Depth=1
321 end_loop
322 end_block # label15:
323 i64.store 0($3), $4
324 i32.const $push56=, 8
325 i32.add $3=, $3, $pop56
326 .LBB3_10: # %for.inc6.i
327 # in Loop: Header=BB3_1 Depth=1
328 end_block # label14:
329 i64.const $push60=, 2
330 i64.add $push59=, $4, $pop60
331 tee_local $push58=, $4=, $pop59
332 i64.const $push57=, 1234111128
333 i64.lt_u $push13=, $pop58, $pop57
334 br_if 0, $pop13 # 0: up to label11
335 # BB#11: # %plist.exit
336 end_loop
337 i64.const $push14=, 0
338 i64.store 0($3), $pop14
339 block
340 i64.load $push16=, 0($8)
341 i64.const $push15=, 1234111117
342 i64.ne $push17=, $pop16, $pop15
343 br_if 0, $pop17 # 0: down to label17
344 # BB#12: # %lor.lhs.false
345 i64.load $push19=, 8($8)
346 i64.const $push18=, 1234111121
347 i64.ne $push20=, $pop19, $pop18
348 br_if 0, $pop20 # 0: down to label17
349 # BB#13: # %lor.lhs.false5
350 i64.load $push22=, 16($8)
351 i64.const $push21=, 1234111127
352 i64.ne $push23=, $pop22, $pop21
353 br_if 0, $pop23 # 0: down to label17
354 # BB#14: # %lor.lhs.false8
355 i64.load $push24=, 24($8)
356 i64.eqz $push25=, $pop24
357 i32.eqz $push61=, $pop25
358 br_if 0, $pop61 # 0: down to label17
359 # BB#15: # %if.end
360 i32.const $push26=, 0
361 call exit@FUNCTION, $pop26
362 unreachable
363 .LBB3_16: # %if.then
364 end_block # label17:
365 call abort@FUNCTION
366 unreachable
367 .endfunc
368 .Lfunc_end3:
369 .size main, .Lfunc_end3-main
370 # -- End function
371
372 .ident "clang version 6.0.0 (https://llvm.googlesource.com/clang.git a1774cccdccfa673c057f93ccf23bc2d8cb04932) (https://llvm.googlesource.com/llvm.git fc50e1c6121255333bc42d6faf2b524c074eae25)"
373 .functype abort, void
374 .functype exit, void, i32