3 .section .text.foo,"ax",@progbits
4 .hidden foo # -- Begin function foo
8 .param i32, i32, i32, f64, f64, i32
9 .local i32, i32, f64, f64
13 i32.lt_s $push1=, $5, $pop0
14 br_if 0, $pop1 # 0: down to label0
15 # BB#1: # %for.body.lr.ph
17 i32.add $6=, $0, $pop2
19 i32.add $7=, $5, $pop3
21 i32.add $5=, $2, $pop13
23 i32.add $1=, $1, $pop12
27 # =>This Inner Loop Header: Depth=1
29 i32.const $push24=, -8
30 i32.add $push11=, $6, $pop24
31 f64.mul $push4=, $8, $4
32 f64.load $push6=, 0($1)
33 f64.load $push5=, 0($5)
34 f64.add $push7=, $pop6, $pop5
35 f64.add $push8=, $pop7, $9
36 f64.load $push23=, 0($6)
37 tee_local $push22=, $8=, $pop23
38 f64.add $push9=, $pop8, $pop22
39 f64.mul $push10=, $pop9, $3
40 f64.add $push21=, $pop4, $pop10
41 tee_local $push20=, $9=, $pop21
42 f64.store 0($pop11), $pop20
44 i32.add $6=, $6, $pop19
46 i32.add $5=, $5, $pop18
48 i32.add $1=, $1, $pop17
49 i32.const $push16=, -1
50 i32.add $push15=, $7, $pop16
51 tee_local $push14=, $7=, $pop15
52 br_if 0, $pop14 # 0: up to label1
59 .size foo, .Lfunc_end0-foo
61 .section .text.main,"ax",@progbits
62 .hidden main # -- Begin function main
67 .local i32, f64, i32, i32, i32, i32, i32
71 i32.load $push16=, __stack_pointer($pop17)
72 i32.const $push18=, 768
73 i32.sub $push34=, $pop16, $pop18
74 tee_local $push33=, $6=, $pop34
75 i32.store __stack_pointer($pop19), $pop33
77 i32.const $push23=, 512
78 i32.add $push24=, $6, $pop23
79 copy_local $4=, $pop24
80 i32.const $push25=, 256
81 i32.add $push26=, $6, $pop25
82 copy_local $3=, $pop26
85 # =>This Inner Loop Header: Depth=1
88 i32.and $push47=, $5, $pop48
89 tee_local $push46=, $0=, $pop47
90 f64.convert_s/i32 $push0=, $pop46
91 f64.store 0($2), $pop0
92 i32.const $push45=, -4
93 i32.add $push1=, $0, $pop45
94 f64.convert_s/i32 $push2=, $pop1
95 f64.store 0($3), $pop2
97 i32.and $push3=, $5, $pop44
98 f64.convert_s/i32 $push43=, $pop3
99 tee_local $push42=, $1=, $pop43
100 f64.add $push4=, $pop42, $1
101 f64.store 0($4), $pop4
102 i32.const $push41=, 8
103 i32.add $2=, $2, $pop41
104 i32.const $push40=, 8
105 i32.add $3=, $3, $pop40
106 i32.const $push39=, 8
107 i32.add $4=, $4, $pop39
108 i32.const $push38=, 1
109 i32.add $push37=, $5, $pop38
110 tee_local $push36=, $5=, $pop37
111 i32.const $push35=, 32
112 i32.ne $push5=, $pop36, $pop35
113 br_if 0, $pop5 # 0: up to label2
116 i32.const $push27=, 512
117 i32.add $push28=, $6, $pop27
118 i32.const $push29=, 256
119 i32.add $push30=, $6, $pop29
120 f64.const $push8=, 0x1p1
121 f64.const $push7=, 0x1.8p1
122 i32.const $push6=, 32
123 call foo@FUNCTION, $pop28, $pop30, $6, $pop8, $pop7, $pop6
126 .LBB1_3: # %for.body12
127 # =>This Inner Loop Header: Depth=1
130 i32.const $push31=, 512
131 i32.add $push32=, $6, $pop31
132 i32.add $push11=, $pop32, $5
133 f64.load $push12=, 0($pop11)
134 i32.const $push49=, expected
135 i32.add $push9=, $5, $pop49
136 f64.load $push10=, 0($pop9)
137 f64.ne $push13=, $pop12, $pop10
138 br_if 1, $pop13 # 1: down to label3
140 # in Loop: Header=BB1_3 Depth=1
141 i32.const $push54=, 8
142 i32.add $5=, $5, $pop54
143 i32.const $push53=, 1
144 i32.add $push52=, $4, $pop53
145 tee_local $push51=, $4=, $pop52
146 i32.const $push50=, 30
147 i32.le_u $push14=, $pop51, $pop50
148 br_if 0, $pop14 # 0: up to label4
151 i32.const $push22=, 0
152 i32.const $push20=, 768
153 i32.add $push21=, $6, $pop20
154 i32.store __stack_pointer($pop22), $pop21
155 i32.const $push15=, 0
163 .size main, .Lfunc_end1-main
165 .hidden expected # @expected
166 .type expected,@object
167 .section .data.expected,"aw",@progbits
172 .int64 4621819117588971520 # double 10
173 .int64 4631389266797133824 # double 44
174 .int64 4637440978796412928 # double 110
175 .int64 4642366790888849408 # double 232
176 .int64 4647327787353374720 # double 490
177 .int64 4652183230701633536 # double 1020
178 .int64 4656787985398759424 # double 2078
179 .int64 4661287186979618816 # double 4152
180 .int64 4665796284165128192 # double 8314
181 .int64 4670306480862265344 # double 16652
182 .int64 4674813104146612224 # double 33326
183 .int64 4679317528407703552 # double 66664
184 .int64 4683822021388271616 # double 133354
185 .int64 4688326308210409472 # double 266748
186 .int64 4692830234255294464 # double 533534
187 .int64 4697333816702795776 # double 1067064
188 .int64 4701837437805002752 # double 2134138
189 .int64 4706341063202177024 # double 4268300
190 .int64 4710844674640707584 # double 8536622
191 .int64 4715348277489303552 # double 17073256
192 .int64 4719851880606334976 # double 34146538
193 .int64 4724355482918060032 # double 68293116
194 .int64 4728859083820498944 # double 136586270
195 .int64 4733362683380760576 # double 273172536
196 .int64 4737866283092017152 # double 546345082
197 .int64 4742369882820050944 # double 1092690188
198 .int64 4746873482493558784 # double 2185380398
199 .int64 4751377082133512192 # double 4370760808
200 .int64 4755880681774514176 # double 8741521642
201 .int64 4760384281412370432 # double 17483043324
202 .int64 4618441417868443648 # double 6
206 .ident "clang version 6.0.0 (https://llvm.googlesource.com/clang.git a1774cccdccfa673c057f93ccf23bc2d8cb04932) (https://llvm.googlesource.com/llvm.git fc50e1c6121255333bc42d6faf2b524c074eae25)"
207 .functype abort, void