]> git.proxmox.com Git - rustc.git/blob - src/binaryen/test/torture-s/pr20601-1.c.s
New upstream version 1.23.0+dfsg1
[rustc.git] / src / binaryen / test / torture-s / pr20601-1.c.s
1 .text
2 .file "pr20601-1.c"
3 .section .text.foo,"ax",@progbits
4 .hidden foo # -- Begin function foo
5 .globl foo
6 .type foo,@function
7 foo: # @foo
8 # BB#0: # %entry
9 .LBB0_1: # %while.body
10 # =>This Inner Loop Header: Depth=1
11 loop # label0:
12 br 0 # 0: up to label0
13 .LBB0_2:
14 end_loop
15 .endfunc
16 .Lfunc_end0:
17 .size foo, .Lfunc_end0-foo
18 # -- End function
19 .section .text.bar,"ax",@progbits
20 .hidden bar # -- Begin function bar
21 .globl bar
22 .type bar,@function
23 bar: # @bar
24 .param i32, i32
25 .result i32
26 # BB#0: # %entry
27 i32.const $push0=, 0
28 # fallthrough-return: $pop0
29 .endfunc
30 .Lfunc_end1:
31 .size bar, .Lfunc_end1-bar
32 # -- End function
33 .section .text.main,"ax",@progbits
34 .hidden main # -- Begin function main
35 .globl main
36 .type main,@function
37 main: # @main
38 .result i32
39 .local i32, i32, i32, i32, i32
40 # BB#0: # %land.rhs.lr.ph.i
41 i32.const $push35=, 0
42 i32.const $push34=, 4
43 i32.store b($pop35), $pop34
44 i32.const $push33=, 0
45 i32.const $push0=, g
46 i32.store c($pop33), $pop0
47 i32.const $0=, g+4
48 i32.const $push32=, 0
49 i32.const $push31=, g+4
50 i32.store e($pop32), $pop31
51 i32.const $1=, 3
52 i32.const $push30=, 0
53 i32.const $push29=, 3
54 i32.store d($pop30), $pop29
55 i32.const $3=, 1
56 .LBB2_1: # %land.rhs.i
57 # =>This Inner Loop Header: Depth=1
58 block
59 block
60 block
61 block
62 block
63 loop # label6:
64 i32.load $push38=, 0($0)
65 tee_local $push37=, $2=, $pop38
66 i32.load8_u $push1=, 0($pop37)
67 i32.const $push36=, 45
68 i32.ne $push2=, $pop1, $pop36
69 br_if 1, $pop2 # 1: down to label5
70 # BB#2: # %while.body.i
71 # in Loop: Header=BB2_1 Depth=1
72 block
73 i32.load8_s $push40=, 1($2)
74 tee_local $push39=, $4=, $pop40
75 i32.eqz $push81=, $pop39
76 br_if 0, $pop81 # 0: down to label7
77 # BB#3: # %land.lhs.true.i
78 # in Loop: Header=BB2_1 Depth=1
79 i32.load8_u $push5=, 2($2)
80 br_if 5, $pop5 # 5: down to label2
81 .LBB2_4: # %if.end.i
82 # in Loop: Header=BB2_1 Depth=1
83 end_block # label7:
84 block
85 block
86 block
87 block
88 i32.const $push41=, 80
89 i32.eq $push6=, $4, $pop41
90 br_if 0, $pop6 # 0: down to label11
91 # BB#5: # %if.end.i
92 # in Loop: Header=BB2_1 Depth=1
93 i32.const $push42=, 117
94 i32.eq $push7=, $4, $pop42
95 br_if 2, $pop7 # 2: down to label9
96 # BB#6: # %if.end.i
97 # in Loop: Header=BB2_1 Depth=1
98 i32.const $push43=, 45
99 i32.ne $push8=, $4, $pop43
100 br_if 1, $pop8 # 1: down to label10
101 br 6 # 6: down to label4
102 .LBB2_7: # %sw.bb21.i
103 # in Loop: Header=BB2_1 Depth=1
104 end_block # label11:
105 i32.const $push44=, 4096
106 i32.or $3=, $3, $pop44
107 .LBB2_8: # %sw.epilog.i
108 # in Loop: Header=BB2_1 Depth=1
109 end_block # label10:
110 copy_local $4=, $1
111 br 1 # 1: down to label8
112 .LBB2_9: # %sw.bb.i
113 # in Loop: Header=BB2_1 Depth=1
114 end_block # label9:
115 i32.load $push16=, 4($0)
116 i32.eqz $push82=, $pop16
117 br_if 5, $pop82 # 5: down to label2
118 # BB#10: # %if.end19.i
119 # in Loop: Header=BB2_1 Depth=1
120 i32.const $push53=, 0
121 i32.const $push52=, 4
122 i32.add $push51=, $0, $pop52
123 tee_local $push50=, $0=, $pop51
124 i32.store t+4100($pop53), $pop50
125 i32.const $push49=, 0
126 i32.store e($pop49), $0
127 i32.const $push48=, 0
128 i32.const $push47=, -1
129 i32.add $push46=, $1, $pop47
130 tee_local $push45=, $4=, $pop46
131 i32.store d($pop48), $pop45
132 .LBB2_11: # %sw.epilog.i
133 # in Loop: Header=BB2_1 Depth=1
134 end_block # label8:
135 i32.const $push62=, 0
136 i32.const $push61=, 4
137 i32.add $push60=, $0, $pop61
138 tee_local $push59=, $0=, $pop60
139 i32.store e($pop62), $pop59
140 i32.const $push58=, 0
141 i32.const $push57=, -1
142 i32.add $push56=, $4, $pop57
143 tee_local $push55=, $1=, $pop56
144 i32.store d($pop58), $pop55
145 i32.const $push54=, 1
146 i32.gt_s $push17=, $4, $pop54
147 br_if 0, $pop17 # 0: up to label6
148 br 3 # 3: down to label3
149 .LBB2_12: # %while.end.i
150 end_loop
151 end_block # label5:
152 i32.const $push3=, 1
153 i32.and $push4=, $3, $pop3
154 br_if 1, $pop4 # 1: down to label3
155 br 2 # 2: down to label2
156 .LBB2_13: # %sw.bb22.i
157 end_block # label4:
158 i32.const $push10=, 0
159 i32.const $push9=, 4
160 i32.add $push67=, $0, $pop9
161 tee_local $push66=, $0=, $pop67
162 i32.store e($pop10), $pop66
163 i32.const $push65=, 0
164 i32.const $push11=, -1
165 i32.add $push64=, $1, $pop11
166 tee_local $push63=, $1=, $pop64
167 i32.store d($pop65), $pop63
168 i32.const $push14=, 1536
169 i32.or $push15=, $3, $pop14
170 i32.const $push12=, 1
171 i32.eq $push13=, $3, $pop12
172 i32.select $3=, $pop15, $3, $pop13
173 .LBB2_14: # %setup2.exit
174 end_block # label3:
175 i32.const $push69=, 0
176 i32.const $push68=, .L.str.4
177 i32.store t($pop69), $pop68
178 block
179 i32.const $push18=, 512
180 i32.and $push19=, $3, $pop18
181 i32.eqz $push83=, $pop19
182 br_if 0, $pop83 # 0: down to label12
183 # BB#15: # %if.then6.i
184 i32.const $push74=, 0
185 i32.const $push73=, f
186 i32.store e($pop74), $pop73
187 i32.const $push72=, 0
188 i32.const $push71=, .L.str.4
189 i32.store f($pop72), $pop71
190 i32.const $push70=, 0
191 i32.const $push20=, 1
192 i32.add $push21=, $1, $pop20
193 i32.store d($pop70), $pop21
194 i32.const $4=, 4
195 .LBB2_16: # %for.cond.i
196 # =>This Inner Loop Header: Depth=1
197 loop # label13:
198 i32.const $push79=, f
199 i32.add $push22=, $4, $pop79
200 i32.add $push23=, $0, $4
201 i32.const $push78=, -4
202 i32.add $push24=, $pop23, $pop78
203 i32.load $push77=, 0($pop24)
204 tee_local $push76=, $2=, $pop77
205 i32.store 0($pop22), $pop76
206 i32.const $push75=, 4
207 i32.add $4=, $4, $pop75
208 br_if 0, $2 # 0: up to label13
209 .LBB2_17: # %setup1.exit
210 end_loop
211 end_block # label12:
212 i32.const $push26=, 1024
213 i32.and $push27=, $3, $pop26
214 i32.eqz $push84=, $pop27
215 br_if 1, $pop84 # 1: down to label1
216 # BB#18: # %setup1.exit
217 i32.const $push80=, 0
218 i32.load $push25=, a+16($pop80)
219 br_if 1, $pop25 # 1: down to label1
220 .LBB2_19: # %if.then.i
221 end_block # label2:
222 call abort@FUNCTION
223 unreachable
224 .LBB2_20: # %if.end
225 end_block # label1:
226 i32.const $push28=, 0
227 call exit@FUNCTION, $pop28
228 unreachable
229 .endfunc
230 .Lfunc_end2:
231 .size main, .Lfunc_end2-main
232 # -- End function
233 .type .L.str,@object # @.str
234 .section .rodata.str1.1,"aMS",@progbits,1
235 .L.str:
236 .asciz "a"
237 .size .L.str, 2
238
239 .type .L.str.1,@object # @.str.1
240 .L.str.1:
241 .asciz "-u"
242 .size .L.str.1, 3
243
244 .type .L.str.2,@object # @.str.2
245 .L.str.2:
246 .asciz "b"
247 .size .L.str.2, 2
248
249 .type .L.str.3,@object # @.str.3
250 .L.str.3:
251 .asciz "c"
252 .size .L.str.3, 2
253
254 .hidden g # @g
255 .type g,@object
256 .section .data.g,"aw",@progbits
257 .globl g
258 .p2align 4
259 g:
260 .int32 .L.str
261 .int32 .L.str.1
262 .int32 .L.str.2
263 .int32 .L.str.3
264 .size g, 16
265
266 .hidden c # @c
267 .type c,@object
268 .section .bss.c,"aw",@nobits
269 .globl c
270 .p2align 2
271 c:
272 .int32 0
273 .size c, 4
274
275 .hidden b # @b
276 .type b,@object
277 .section .bss.b,"aw",@nobits
278 .globl b
279 .p2align 2
280 b:
281 .int32 0 # 0x0
282 .size b, 4
283
284 .type .L.str.4,@object # @.str.4
285 .section .rodata.str1.1,"aMS",@progbits,1
286 .L.str.4:
287 .asciz "/bin/sh"
288 .size .L.str.4, 8
289
290 .hidden t # @t
291 .type t,@object
292 .section .bss.t,"aw",@nobits
293 .globl t
294 .p2align 2
295 t:
296 .skip 4104
297 .size t, 4104
298
299 .hidden a # @a
300 .type a,@object
301 .section .bss.a,"aw",@nobits
302 .globl a
303 .p2align 4
304 a:
305 .skip 20
306 .size a, 20
307
308 .hidden d # @d
309 .type d,@object
310 .section .bss.d,"aw",@nobits
311 .globl d
312 .p2align 2
313 d:
314 .int32 0 # 0x0
315 .size d, 4
316
317 .hidden e # @e
318 .type e,@object
319 .section .bss.e,"aw",@nobits
320 .globl e
321 .p2align 2
322 e:
323 .int32 0
324 .size e, 4
325
326 .hidden f # @f
327 .type f,@object
328 .section .bss.f,"aw",@nobits
329 .globl f
330 .p2align 4
331 f:
332 .skip 64
333 .size f, 64
334
335
336 .ident "clang version 6.0.0 (https://llvm.googlesource.com/clang.git a1774cccdccfa673c057f93ccf23bc2d8cb04932) (https://llvm.googlesource.com/llvm.git fc50e1c6121255333bc42d6faf2b524c074eae25)"
337 .functype abort, void
338 .functype exit, void, i32