blob: 8a856d5bf34a8bdd4cfa31d8ce1d912e76fad2ff [file] [log] [blame]
.text
.section .text.foo,"ax",@progbits
.hidden foo
.globl foo
.type foo,@function
foo: # @foo
.param i32, i32, i32, i32
.local i32, i32, i32, i32, i32, i32, i32, i32, i32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32
# BB#0: # %entry
block
block
i32.const $push85=, 1
i32.lt_s $push3=, $3, $pop85
br_if 0, $pop3 # 0: down to label1
# BB#1: # %land.rhs.lr.ph
i32.const $push87=, -1
i32.add $8=, $2, $pop87
i32.const $push86=, 4
i32.add $4=, $1, $pop86
i32.const $10=, 0
.LBB0_2: # %land.rhs
# =>This Loop Header: Depth=1
# Child Loop BB0_5 Depth 2
loop # label2:
i32.add $push4=, $10, $0
i32.const $push88=, 15
i32.and $push5=, $pop4, $pop88
i32.eqz $push171=, $pop5
br_if 2, $pop171 # 2: down to label0
# BB#3: # %for.body
# in Loop: Header=BB0_2 Depth=1
i32.load $push7=, 0($1)
i32.const $push92=, 2
i32.shl $push91=, $10, $pop92
tee_local $push90=, $11=, $pop91
i32.add $push8=, $pop7, $pop90
f32.load $25=, 0($pop8)
block
i32.const $push89=, 2
i32.lt_s $push6=, $2, $pop89
br_if 0, $pop6 # 0: down to label3
# BB#4: # %for.body4.preheader
# in Loop: Header=BB0_2 Depth=1
copy_local $12=, $8
copy_local $9=, $4
.LBB0_5: # %for.body4
# Parent Loop BB0_2 Depth=1
# => This Inner Loop Header: Depth=2
loop # label4:
i32.load $push9=, 0($9)
i32.add $push10=, $pop9, $11
f32.load $push11=, 0($pop10)
f32.add $25=, $25, $pop11
i32.const $push96=, 4
i32.add $push0=, $9, $pop96
copy_local $9=, $pop0
i32.const $push95=, -1
i32.add $push94=, $12, $pop95
tee_local $push93=, $12=, $pop94
br_if 0, $pop93 # 0: up to label4
.LBB0_6: # %for.end
# in Loop: Header=BB0_2 Depth=1
end_loop
end_block # label3:
i32.add $push12=, $0, $11
f32.store 0($pop12), $25
i32.const $push99=, 1
i32.add $push98=, $10, $pop99
tee_local $push97=, $10=, $pop98
i32.lt_s $push13=, $pop97, $3
br_if 0, $pop13 # 0: up to label2
br 2 # 2: down to label0
.LBB0_7:
end_loop
end_block # label1:
i32.const $10=, 0
.LBB0_8: # %for.cond12.preheader
end_block # label0:
block
i32.const $push14=, -15
i32.add $push101=, $3, $pop14
tee_local $push100=, $4=, $pop101
i32.ge_s $push15=, $10, $pop100
br_if 0, $pop15 # 0: down to label5
# BB#9: # %for.body15.lr.ph
i32.const $push104=, -1
i32.add $7=, $2, $pop104
i32.const $push103=, 4
i32.add $6=, $1, $pop103
i32.const $push16=, -16
i32.add $push17=, $3, $pop16
i32.sub $push18=, $pop17, $10
i32.const $push102=, -16
i32.and $push19=, $pop18, $pop102
i32.add $5=, $10, $pop19
.LBB0_10: # %for.body15
# =>This Loop Header: Depth=1
# Child Loop BB0_12 Depth 2
loop # label6:
i32.load $push21=, 0($1)
i32.const $push122=, 2
i32.shl $push121=, $10, $pop122
tee_local $push120=, $8=, $pop121
i32.add $push119=, $pop21, $pop120
tee_local $push118=, $9=, $pop119
f32.load $25=, 48($pop118)
f32.load $21=, 32($9)
f32.load $17=, 16($9)
f32.load $13=, 0($9)
i32.const $push117=, 60
i32.add $push22=, $9, $pop117
f32.load $28=, 0($pop22)
i32.const $push116=, 56
i32.add $push23=, $9, $pop116
f32.load $27=, 0($pop23)
i32.const $push115=, 52
i32.add $push24=, $9, $pop115
f32.load $26=, 0($pop24)
i32.const $push114=, 44
i32.add $push25=, $9, $pop114
f32.load $24=, 0($pop25)
i32.const $push113=, 40
i32.add $push26=, $9, $pop113
f32.load $23=, 0($pop26)
i32.const $push112=, 36
i32.add $push27=, $9, $pop112
f32.load $22=, 0($pop27)
i32.const $push111=, 28
i32.add $push28=, $9, $pop111
f32.load $20=, 0($pop28)
i32.const $push110=, 24
i32.add $push29=, $9, $pop110
f32.load $19=, 0($pop29)
i32.const $push109=, 20
i32.add $push30=, $9, $pop109
f32.load $18=, 0($pop30)
i32.const $push108=, 12
i32.add $push31=, $9, $pop108
f32.load $16=, 0($pop31)
i32.const $push107=, 8
i32.add $push32=, $9, $pop107
f32.load $15=, 0($pop32)
i32.const $push106=, 4
i32.add $push33=, $9, $pop106
f32.load $14=, 0($pop33)
block
i32.const $push105=, 2
i32.lt_s $push20=, $2, $pop105
br_if 0, $pop20 # 0: down to label7
# BB#11: # %for.body33.preheader
# in Loop: Header=BB0_10 Depth=1
copy_local $11=, $7
copy_local $12=, $6
.LBB0_12: # %for.body33
# Parent Loop BB0_10 Depth=1
# => This Inner Loop Header: Depth=2
loop # label8:
i32.load $push34=, 0($12)
i32.add $push140=, $pop34, $8
tee_local $push139=, $9=, $pop140
f32.load $push35=, 48($pop139)
f32.add $25=, $25, $pop35
f32.load $push36=, 32($9)
f32.add $21=, $21, $pop36
f32.load $push37=, 16($9)
f32.add $17=, $17, $pop37
f32.load $push38=, 0($9)
f32.add $13=, $13, $pop38
i32.const $push138=, 60
i32.add $push39=, $9, $pop138
f32.load $push40=, 0($pop39)
f32.add $28=, $28, $pop40
i32.const $push137=, 56
i32.add $push41=, $9, $pop137
f32.load $push42=, 0($pop41)
f32.add $27=, $27, $pop42
i32.const $push136=, 52
i32.add $push43=, $9, $pop136
f32.load $push44=, 0($pop43)
f32.add $26=, $26, $pop44
i32.const $push135=, 44
i32.add $push45=, $9, $pop135
f32.load $push46=, 0($pop45)
f32.add $24=, $24, $pop46
i32.const $push134=, 40
i32.add $push47=, $9, $pop134
f32.load $push48=, 0($pop47)
f32.add $23=, $23, $pop48
i32.const $push133=, 36
i32.add $push49=, $9, $pop133
f32.load $push50=, 0($pop49)
f32.add $22=, $22, $pop50
i32.const $push132=, 28
i32.add $push51=, $9, $pop132
f32.load $push52=, 0($pop51)
f32.add $20=, $20, $pop52
i32.const $push131=, 24
i32.add $push53=, $9, $pop131
f32.load $push54=, 0($pop53)
f32.add $19=, $19, $pop54
i32.const $push130=, 20
i32.add $push55=, $9, $pop130
f32.load $push56=, 0($pop55)
f32.add $18=, $18, $pop56
i32.const $push129=, 12
i32.add $push57=, $9, $pop129
f32.load $push58=, 0($pop57)
f32.add $16=, $16, $pop58
i32.const $push128=, 8
i32.add $push59=, $9, $pop128
f32.load $push60=, 0($pop59)
f32.add $15=, $15, $pop60
i32.const $push127=, 4
i32.add $push61=, $9, $pop127
f32.load $push62=, 0($pop61)
f32.add $14=, $14, $pop62
i32.const $push126=, 4
i32.add $push1=, $12, $pop126
copy_local $12=, $pop1
i32.const $push125=, -1
i32.add $push124=, $11, $pop125
tee_local $push123=, $11=, $pop124
br_if 0, $pop123 # 0: up to label8
.LBB0_13: # %for.end56
# in Loop: Header=BB0_10 Depth=1
end_loop
end_block # label7:
i32.add $push157=, $0, $8
tee_local $push156=, $9=, $pop157
f32.store 16($pop156), $17
f32.store 0($9), $13
f32.store 32($9), $21
f32.store 48($9), $25
i32.const $push155=, 28
i32.add $push63=, $9, $pop155
f32.store 0($pop63), $20
i32.const $push154=, 24
i32.add $push64=, $9, $pop154
f32.store 0($pop64), $19
i32.const $push153=, 20
i32.add $push65=, $9, $pop153
f32.store 0($pop65), $18
i32.const $push152=, 12
i32.add $push66=, $9, $pop152
f32.store 0($pop66), $16
i32.const $push151=, 8
i32.add $push67=, $9, $pop151
f32.store 0($pop67), $15
i32.const $push150=, 4
i32.add $push68=, $9, $pop150
f32.store 0($pop68), $14
i32.const $push149=, 44
i32.add $push69=, $9, $pop149
f32.store 0($pop69), $24
i32.const $push148=, 40
i32.add $push70=, $9, $pop148
f32.store 0($pop70), $23
i32.const $push147=, 36
i32.add $push71=, $9, $pop147
f32.store 0($pop71), $22
i32.const $push146=, 60
i32.add $push72=, $9, $pop146
f32.store 0($pop72), $28
i32.const $push145=, 56
i32.add $push73=, $9, $pop145
f32.store 0($pop73), $27
i32.const $push144=, 52
i32.add $push74=, $9, $pop144
f32.store 0($pop74), $26
i32.const $push143=, 16
i32.add $push142=, $10, $pop143
tee_local $push141=, $10=, $pop142
i32.lt_s $push75=, $pop141, $4
br_if 0, $pop75 # 0: up to label6
# BB#14: # %for.cond73.preheader.loopexit
end_loop
i32.const $push76=, 16
i32.add $10=, $5, $pop76
.LBB0_15: # %for.cond73.preheader
end_block # label5:
block
i32.ge_s $push77=, $10, $3
br_if 0, $pop77 # 0: down to label9
# BB#16: # %for.body75.lr.ph
i32.const $push159=, -1
i32.add $4=, $2, $pop159
i32.const $push158=, 4
i32.add $7=, $1, $pop158
i32.load $8=, 0($1)
.LBB0_17: # %for.body75
# =>This Loop Header: Depth=1
# Child Loop BB0_19 Depth 2
loop # label10:
i32.const $push163=, 2
i32.shl $push162=, $10, $pop163
tee_local $push161=, $11=, $pop162
i32.add $push79=, $8, $pop161
f32.load $25=, 0($pop79)
block
i32.const $push160=, 2
i32.lt_s $push78=, $2, $pop160
br_if 0, $pop78 # 0: down to label11
# BB#18: # %for.body81.preheader
# in Loop: Header=BB0_17 Depth=1
copy_local $12=, $4
copy_local $9=, $7
.LBB0_19: # %for.body81
# Parent Loop BB0_17 Depth=1
# => This Inner Loop Header: Depth=2
loop # label12:
i32.load $push80=, 0($9)
i32.add $push81=, $pop80, $11
f32.load $push82=, 0($pop81)
f32.add $25=, $25, $pop82
i32.const $push167=, 4
i32.add $push2=, $9, $pop167
copy_local $9=, $pop2
i32.const $push166=, -1
i32.add $push165=, $12, $pop166
tee_local $push164=, $12=, $pop165
br_if 0, $pop164 # 0: up to label12
.LBB0_20: # %for.end87
# in Loop: Header=BB0_17 Depth=1
end_loop
end_block # label11:
i32.add $push83=, $0, $11
f32.store 0($pop83), $25
i32.const $push170=, 1
i32.add $push169=, $10, $pop170
tee_local $push168=, $10=, $pop169
i32.ne $push84=, $pop168, $3
br_if 0, $pop84 # 0: up to label10
.LBB0_21: # %for.end91
end_loop
end_block # label9:
# fallthrough-return
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
.section .text.main,"ax",@progbits
.hidden main
.globl main
.type main,@function
main: # @main
.result i32
.local f32, i32, i32, i32
# BB#0: # %entry
i32.const $push30=, 0
i32.const $push27=, 0
i32.load $push28=, __stack_pointer($pop27)
i32.const $push29=, 16
i32.sub $push42=, $pop28, $pop29
tee_local $push41=, $3=, $pop42
i32.store __stack_pointer($pop30), $pop41
i32.const $2=, 0
i32.const $push40=, 0
i32.const $push0=, buffer
i32.sub $push1=, $pop40, $pop0
i32.const $push2=, 63
i32.and $push39=, $pop1, $pop2
tee_local $push38=, $1=, $pop39
i32.const $push3=, buffer+128
i32.add $push4=, $pop38, $pop3
i32.store 12($3), $pop4
i32.const $push5=, buffer+64
i32.add $push37=, $1, $pop5
tee_local $push36=, $1=, $pop37
i32.store 8($3), $pop36
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label13:
i32.const $push52=, 64
i32.add $push6=, $1, $pop52
f32.convert_s/i32 $push51=, $2
tee_local $push50=, $0=, $pop51
f32.const $push49=, 0x1.8p3
f32.mul $push7=, $0, $pop49
f32.add $push8=, $pop50, $pop7
f32.store 0($pop6), $pop8
f32.const $push48=, 0x1.6p3
f32.mul $push9=, $0, $pop48
f32.add $push10=, $0, $pop9
f32.store 0($1), $pop10
i32.const $push47=, 4
i32.add $1=, $1, $pop47
i32.const $push46=, 1
i32.add $push45=, $2, $pop46
tee_local $push44=, $2=, $pop45
i32.const $push43=, 16
i32.ne $push11=, $pop44, $pop43
br_if 0, $pop11 # 0: up to label13
# BB#2: # %for.end
end_loop
i32.const $1=, 0
i32.const $push56=, 0
i32.const $push12=, buffer
i32.sub $push13=, $pop56, $pop12
i32.const $push14=, 63
i32.and $push15=, $pop13, $pop14
i32.const $push55=, buffer
i32.add $push54=, $pop15, $pop55
tee_local $push53=, $2=, $pop54
i32.const $push34=, 8
i32.add $push35=, $3, $pop34
i32.const $push17=, 2
i32.const $push16=, 16
call foo@FUNCTION, $pop53, $pop35, $pop17, $pop16
.LBB1_3: # %for.body16
# =>This Inner Loop Header: Depth=1
block
loop # label15:
f32.load $push23=, 0($2)
f32.convert_s/i32 $push60=, $1
tee_local $push59=, $0=, $pop60
f32.const $push58=, 0x1.8p3
f32.mul $push18=, $pop59, $pop58
f32.const $push57=, 0x1.6p3
f32.mul $push19=, $0, $pop57
f32.add $push20=, $0, $pop19
f32.add $push21=, $0, $pop20
f32.add $push22=, $pop18, $pop21
f32.ne $push24=, $pop23, $pop22
br_if 1, $pop24 # 1: down to label14
# BB#4: # %for.cond13
# in Loop: Header=BB1_3 Depth=1
i32.const $push65=, 4
i32.add $2=, $2, $pop65
i32.const $push64=, 1
i32.add $push63=, $1, $pop64
tee_local $push62=, $1=, $pop63
i32.const $push61=, 15
i32.le_s $push25=, $pop62, $pop61
br_if 0, $pop25 # 0: up to label15
# BB#5: # %for.end31
end_loop
i32.const $push33=, 0
i32.const $push31=, 16
i32.add $push32=, $3, $pop31
i32.store __stack_pointer($pop33), $pop32
i32.const $push26=, 0
return $pop26
.LBB1_6: # %if.then
end_block # label14:
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
.hidden buffer # @buffer
.type buffer,@object
.section .bss.buffer,"aw",@nobits
.globl buffer
.p2align 4
buffer:
.skip 256
.size buffer, 256
.functype abort, void