summaryrefslogtreecommitdiff
path: root/test/torture-s/stdarg-2.c.s
diff options
context:
space:
mode:
Diffstat (limited to 'test/torture-s/stdarg-2.c.s')
-rw-r--r--test/torture-s/stdarg-2.c.s771
1 files changed, 387 insertions, 384 deletions
diff --git a/test/torture-s/stdarg-2.c.s b/test/torture-s/stdarg-2.c.s
index 9ae470032..9328b976d 100644
--- a/test/torture-s/stdarg-2.c.s
+++ b/test/torture-s/stdarg-2.c.s
@@ -6,14 +6,14 @@
.type foo,@function
foo: # @foo
.param i32, i32
- .local i32, i64, i64
+ .local i32
# BB#0: # %entry
- i32.const $push43=, __stack_pointer
- i32.const $push40=, __stack_pointer
- i32.load $push41=, 0($pop40)
- i32.const $push42=, 32
- i32.sub $push51=, $pop41, $pop42
- i32.store $2=, 0($pop43), $pop51
+ i32.const $push45=, 0
+ i32.const $push42=, 0
+ i32.load $push43=, __stack_pointer($pop42)
+ i32.const $push44=, 32
+ i32.sub $push53=, $pop43, $pop44
+ i32.store $2=, __stack_pointer($pop45), $pop53
block
block
block
@@ -30,70 +30,70 @@ foo: # @foo
i32.ne $push5=, $0, $pop4
br_if 3, $pop5 # 3: down to label0
# BB#3: # %sw.bb
- i32.const $push39=, 0
- i32.load $push28=, 0($1)
- f64.convert_s/i32 $push33=, $pop28
- i32.const $push29=, 11
- i32.add $push30=, $1, $pop29
- i32.const $push31=, -8
- i32.and $push53=, $pop30, $pop31
- tee_local $push52=, $0=, $pop53
- f64.load $push32=, 0($pop52)
- f64.add $push34=, $pop33, $pop32
- i32.trunc_s/f64 $push35=, $pop34
- i64.extend_u/i32 $push37=, $pop35
- i64.load $push36=, 8($0)
- i64.add $push38=, $pop37, $pop36
- i64.store32 $drop=, foo_arg($pop39), $pop38
+ i32.const $push41=, 0
+ i32.load $push35=, 0($1)
+ f64.convert_s/i32 $push36=, $pop35
+ i32.const $push30=, 11
+ i32.add $push31=, $1, $pop30
+ i32.const $push32=, -8
+ i32.and $push55=, $pop31, $pop32
+ tee_local $push54=, $0=, $pop55
+ f64.load $push34=, 0($pop54)
+ f64.add $push37=, $pop36, $pop34
+ i32.trunc_s/f64 $push38=, $pop37
+ i64.extend_u/i32 $push39=, $pop38
+ i64.load $push33=, 8($0)
+ i64.add $push40=, $pop39, $pop33
+ i64.store32 $drop=, foo_arg($pop41), $pop40
br 2 # 2: down to label1
.LBB0_4: # %sw.bb18
end_block # label3:
+ i32.const $push49=, 16
+ i32.add $push50=, $2, $pop49
+ i32.load $push6=, 0($1)
+ call __floatsitf@FUNCTION, $pop50, $pop6
+ i64.load $push15=, 16($2)
+ i32.const $push51=, 16
+ i32.add $push52=, $2, $pop51
+ i32.const $push12=, 8
+ i32.add $push13=, $pop52, $pop12
+ i64.load $push14=, 0($pop13)
i32.const $push7=, 19
i32.add $push8=, $1, $pop7
i32.const $push9=, -16
- i32.and $push56=, $pop8, $pop9
- tee_local $push55=, $0=, $pop56
- i64.load $3=, 8($pop55)
- i64.load $4=, 0($0)
- i32.const $push47=, 16
- i32.add $push48=, $2, $pop47
- i32.load $push6=, 0($1)
- call __floatsitf@FUNCTION, $pop48, $pop6
- i64.load $push13=, 16($2)
- i32.const $push49=, 16
- i32.add $push50=, $2, $pop49
- i32.const $push10=, 8
- i32.add $push11=, $pop50, $pop10
- i64.load $push12=, 0($pop11)
- call __addtf3@FUNCTION, $2, $pop13, $pop12, $4, $3
- i32.const $push18=, 0
- i64.load $push16=, 0($2)
- i32.const $push54=, 8
- i32.add $push14=, $2, $pop54
- i64.load $push15=, 0($pop14)
- i32.call $push17=, __fixtfsi@FUNCTION, $pop16, $pop15
- i32.store $drop=, foo_arg($pop18), $pop17
+ i32.and $push58=, $pop8, $pop9
+ tee_local $push57=, $0=, $pop58
+ i64.load $push11=, 0($pop57)
+ i64.load $push10=, 8($0)
+ call __addtf3@FUNCTION, $2, $pop15, $pop14, $pop11, $pop10
+ i32.const $push20=, 0
+ i64.load $push18=, 0($2)
+ i32.const $push56=, 8
+ i32.add $push16=, $2, $pop56
+ i64.load $push17=, 0($pop16)
+ i32.call $push19=, __fixtfsi@FUNCTION, $pop18, $pop17
+ i32.store $drop=, foo_arg($pop20), $pop19
br 1 # 1: down to label1
.LBB0_5: # %sw.bb9
end_block # label2:
- i32.const $push27=, 0
- i32.const $push19=, 7
- i32.add $push20=, $1, $pop19
- i32.const $push21=, -8
- i32.and $push58=, $pop20, $pop21
- tee_local $push57=, $0=, $pop58
- i32.load $push22=, 0($pop57)
- f64.convert_s/i32 $push24=, $pop22
- f64.load $push23=, 8($0)
- f64.add $push25=, $pop24, $pop23
- i32.trunc_s/f64 $push26=, $pop25
- i32.store $drop=, foo_arg($pop27), $pop26
+ i32.const $push29=, 0
+ i32.const $push21=, 7
+ i32.add $push22=, $1, $pop21
+ i32.const $push23=, -8
+ i32.and $push60=, $pop22, $pop23
+ tee_local $push59=, $0=, $pop60
+ i32.load $push25=, 0($pop59)
+ f64.convert_s/i32 $push26=, $pop25
+ f64.load $push24=, 8($0)
+ f64.add $push27=, $pop26, $pop24
+ i32.trunc_s/f64 $push28=, $pop27
+ i32.store $drop=, foo_arg($pop29), $pop28
.LBB0_6: # %sw.epilog
end_block # label1:
- i32.const $push46=, __stack_pointer
- i32.const $push44=, 32
- i32.add $push45=, $2, $pop44
- i32.store $drop=, 0($pop46), $pop45
+ i32.const $push48=, 0
+ i32.const $push46=, 32
+ i32.add $push47=, $2, $pop46
+ i32.store $drop=, __stack_pointer($pop48), $pop47
return
.LBB0_7: # %sw.default
end_block # label0:
@@ -109,7 +109,7 @@ foo: # @foo
.type bar,@function
bar: # @bar
.param i32
- .local i32, f64, i32
+ .local i32, i32
# BB#0: # %entry
block
block
@@ -117,35 +117,35 @@ bar: # @bar
i32.ne $push2=, $0, $pop1
br_if 0, $pop2 # 0: down to label5
# BB#1: # %if.then
+ i32.const $push19=, 0
i32.const $push18=, 0
- i32.const $push17=, 0
- i32.load $push16=, gap($pop17)
- tee_local $push15=, $3=, $pop16
+ i32.load $push17=, gap($pop18)
+ tee_local $push16=, $2=, $pop17
i32.const $push3=, 4
- i32.add $push0=, $pop15, $pop3
- i32.store $1=, gap($pop18), $pop0
- i32.load $push4=, 0($3)
+ i32.add $push0=, $pop16, $pop3
+ i32.store $1=, gap($pop19), $pop0
+ i32.load $push4=, 0($2)
i32.const $push5=, 13
i32.ne $push6=, $pop4, $pop5
br_if 1, $pop6 # 1: down to label4
# BB#2: # %lor.lhs.false
+ i32.const $push22=, 0
i32.const $push7=, 7
i32.add $push8=, $1, $pop7
i32.const $push9=, -8
i32.and $push21=, $pop8, $pop9
- tee_local $push20=, $3=, $pop21
- f64.load $2=, 0($pop20)
- i32.const $push19=, 0
+ tee_local $push20=, $2=, $pop21
i32.const $push10=, 8
- i32.add $push11=, $3, $pop10
- i32.store $drop=, gap($pop19), $pop11
- f64.const $push12=, -0x1.cp3
- f64.ne $push13=, $2, $pop12
- br_if 1, $pop13 # 1: down to label4
+ i32.add $push11=, $pop20, $pop10
+ i32.store $drop=, gap($pop22), $pop11
+ f64.load $push12=, 0($2)
+ f64.const $push13=, -0x1.cp3
+ f64.ne $push14=, $pop12, $pop13
+ br_if 1, $pop14 # 1: down to label4
.LBB1_3: # %if.end6
end_block # label5:
- i32.const $push14=, 0
- i32.store $drop=, bar_arg($pop14), $0
+ i32.const $push15=, 0
+ i32.store $drop=, bar_arg($pop15), $0
return
.LBB1_4: # %if.then5
end_block # label4:
@@ -172,7 +172,7 @@ f1: # @f1
i32.const $push4=, 0
i32.load $push3=, 0($1)
i32.store $drop=, x($pop4), $pop3
- return
+ # fallthrough-return
.endfunc
.Lfunc_end2:
.size f1, .Lfunc_end2-f1
@@ -183,45 +183,45 @@ f1: # @f1
.type f2,@function
f2: # @f2
.param i32, i32
- .local i32, f64
+ .local i32
# BB#0: # %entry
- i32.const $push15=, 0
- i32.store $drop=, gap($pop15), $1
+ i32.const $push16=, 0
+ i32.store $drop=, gap($pop16), $1
block
block
i32.const $push1=, 16386
i32.ne $push2=, $0, $pop1
br_if 0, $pop2 # 0: down to label7
# BB#1: # %if.then.i
+ i32.const $push20=, 0
i32.const $push19=, 0
- i32.const $push18=, 0
- i32.load $push17=, gap($pop18)
- tee_local $push16=, $1=, $pop17
+ i32.load $push18=, gap($pop19)
+ tee_local $push17=, $1=, $pop18
i32.const $push3=, 4
- i32.add $push0=, $pop16, $pop3
- i32.store $2=, gap($pop19), $pop0
+ i32.add $push0=, $pop17, $pop3
+ i32.store $2=, gap($pop20), $pop0
i32.load $push4=, 0($1)
i32.const $push5=, 13
i32.ne $push6=, $pop4, $pop5
br_if 1, $pop6 # 1: down to label6
# BB#2: # %lor.lhs.false.i
+ i32.const $push12=, 0
i32.const $push7=, 7
i32.add $push8=, $2, $pop7
i32.const $push9=, -8
- i32.and $push21=, $pop8, $pop9
- tee_local $push20=, $1=, $pop21
- f64.load $3=, 0($pop20)
- i32.const $push12=, 0
+ i32.and $push22=, $pop8, $pop9
+ tee_local $push21=, $1=, $pop22
i32.const $push10=, 8
- i32.add $push11=, $1, $pop10
+ i32.add $push11=, $pop21, $pop10
i32.store $drop=, gap($pop12), $pop11
- f64.const $push13=, -0x1.cp3
- f64.ne $push14=, $3, $pop13
- br_if 1, $pop14 # 1: down to label6
+ f64.load $push13=, 0($1)
+ f64.const $push14=, -0x1.cp3
+ f64.ne $push15=, $pop13, $pop14
+ br_if 1, $pop15 # 1: down to label6
.LBB3_3: # %bar.exit
end_block # label7:
- i32.const $push22=, 0
- i32.store $drop=, bar_arg($pop22), $0
+ i32.const $push23=, 0
+ i32.store $drop=, bar_arg($pop23), $0
return
.LBB3_4: # %if.then5.i
end_block # label6:
@@ -239,19 +239,20 @@ f3: # @f3
.param i32, i32
.local i32
# BB#0: # %entry
- i32.const $push4=, __stack_pointer
- i32.load $push5=, 0($pop4)
+ i32.const $push4=, 0
+ i32.load $push5=, __stack_pointer($pop4)
i32.const $push6=, 48
- i32.sub $2=, $pop5, $pop6
+ i32.sub $push10=, $pop5, $pop6
+ tee_local $push9=, $2=, $pop10
i32.store $push8=, 16($2), $1
tee_local $push7=, $1=, $pop8
i32.const $push0=, 4
i32.add $push1=, $pop7, $pop0
- i32.store $drop=, 16($2), $pop1
+ i32.store $drop=, 16($pop9), $pop1
i32.const $push3=, 0
i32.load $push2=, 0($1)
i32.store $drop=, x($pop3), $pop2
- return
+ # fallthrough-return
.endfunc
.Lfunc_end4:
.size f3, .Lfunc_end4-f3
@@ -262,55 +263,55 @@ f3: # @f3
.type f4,@function
f4: # @f4
.param i32, i32
- .local i32, f64, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $push18=, __stack_pointer
- i32.const $push15=, __stack_pointer
- i32.load $push16=, 0($pop15)
- i32.const $push17=, 48
- i32.sub $push22=, $pop16, $pop17
- i32.store $push24=, 0($pop18), $pop22
- tee_local $push23=, $4=, $pop24
- i32.store $drop=, 16($pop23), $1
+ i32.const $push19=, 0
+ i32.const $push16=, 0
+ i32.load $push17=, __stack_pointer($pop16)
+ i32.const $push18=, 48
+ i32.sub $push23=, $pop17, $pop18
+ i32.store $push25=, __stack_pointer($pop19), $pop23
+ tee_local $push24=, $3=, $pop25
+ i32.store $drop=, 16($pop24), $1
block
block
i32.const $push1=, 16386
i32.ne $push2=, $0, $pop1
br_if 0, $pop2 # 0: down to label9
# BB#1: # %if.then.i
+ i32.const $push29=, 0
i32.const $push28=, 0
- i32.const $push27=, 0
- i32.load $push26=, gap($pop27)
- tee_local $push25=, $1=, $pop26
+ i32.load $push27=, gap($pop28)
+ tee_local $push26=, $1=, $pop27
i32.const $push3=, 4
- i32.add $push0=, $pop25, $pop3
- i32.store $2=, gap($pop28), $pop0
+ i32.add $push0=, $pop26, $pop3
+ i32.store $2=, gap($pop29), $pop0
i32.load $push4=, 0($1)
i32.const $push5=, 13
i32.ne $push6=, $pop4, $pop5
br_if 1, $pop6 # 1: down to label8
# BB#2: # %lor.lhs.false.i
+ i32.const $push32=, 0
i32.const $push7=, 7
i32.add $push8=, $2, $pop7
i32.const $push9=, -8
i32.and $push31=, $pop8, $pop9
tee_local $push30=, $1=, $pop31
- f64.load $3=, 0($pop30)
- i32.const $push29=, 0
i32.const $push10=, 8
- i32.add $push11=, $1, $pop10
- i32.store $drop=, gap($pop29), $pop11
- f64.const $push12=, -0x1.cp3
- f64.ne $push13=, $3, $pop12
- br_if 1, $pop13 # 1: down to label8
+ i32.add $push11=, $pop30, $pop10
+ i32.store $drop=, gap($pop32), $pop11
+ f64.load $push12=, 0($1)
+ f64.const $push13=, -0x1.cp3
+ f64.ne $push14=, $pop12, $pop13
+ br_if 1, $pop14 # 1: down to label8
.LBB5_3: # %bar.exit
end_block # label9:
- i32.const $push14=, 0
- i32.store $drop=, bar_arg($pop14), $0
- i32.const $push21=, __stack_pointer
- i32.const $push19=, 48
- i32.add $push20=, $4, $pop19
- i32.store $drop=, 0($pop21), $pop20
+ i32.const $push15=, 0
+ i32.store $drop=, bar_arg($pop15), $0
+ i32.const $push22=, 0
+ i32.const $push20=, 48
+ i32.add $push21=, $3, $pop20
+ i32.store $drop=, __stack_pointer($pop22), $pop21
return
.LBB5_4: # %if.then5.i
end_block # label8:
@@ -326,16 +327,16 @@ f4: # @f4
.type f5,@function
f5: # @f5
.param i32, i32
- .local i64, i64, i32
+ .local i32
# BB#0: # %entry
- i32.const $push43=, __stack_pointer
- i32.const $push40=, __stack_pointer
- i32.load $push41=, 0($pop40)
- i32.const $push42=, 80
- i32.sub $push51=, $pop41, $pop42
- i32.store $push53=, 0($pop43), $pop51
- tee_local $push52=, $4=, $pop53
- i32.store $drop=, 48($pop52), $1
+ i32.const $push45=, 0
+ i32.const $push42=, 0
+ i32.load $push43=, __stack_pointer($pop42)
+ i32.const $push44=, 80
+ i32.sub $push53=, $pop43, $pop44
+ i32.store $push55=, __stack_pointer($pop45), $pop53
+ tee_local $push54=, $2=, $pop55
+ i32.store $drop=, 48($pop54), $1
block
block
block
@@ -352,70 +353,70 @@ f5: # @f5
i32.ne $push5=, $0, $pop4
br_if 3, $pop5 # 3: down to label10
# BB#3: # %sw.bb.i
- i32.const $push39=, 0
- i32.load $push28=, 0($1)
- f64.convert_s/i32 $push33=, $pop28
- i32.const $push29=, 11
- i32.add $push30=, $1, $pop29
- i32.const $push31=, -8
- i32.and $push55=, $pop30, $pop31
- tee_local $push54=, $0=, $pop55
- f64.load $push32=, 0($pop54)
- f64.add $push34=, $pop33, $pop32
- i32.trunc_s/f64 $push35=, $pop34
- i64.extend_u/i32 $push37=, $pop35
- i64.load $push36=, 8($0)
- i64.add $push38=, $pop37, $pop36
- i64.store32 $drop=, foo_arg($pop39), $pop38
+ i32.const $push41=, 0
+ i32.load $push35=, 0($1)
+ f64.convert_s/i32 $push36=, $pop35
+ i32.const $push30=, 11
+ i32.add $push31=, $1, $pop30
+ i32.const $push32=, -8
+ i32.and $push57=, $pop31, $pop32
+ tee_local $push56=, $0=, $pop57
+ f64.load $push34=, 0($pop56)
+ f64.add $push37=, $pop36, $pop34
+ i32.trunc_s/f64 $push38=, $pop37
+ i64.extend_u/i32 $push39=, $pop38
+ i64.load $push33=, 8($0)
+ i64.add $push40=, $pop39, $pop33
+ i64.store32 $drop=, foo_arg($pop41), $pop40
br 2 # 2: down to label11
.LBB6_4: # %sw.bb18.i
end_block # label13:
+ i32.const $push49=, 16
+ i32.add $push50=, $2, $pop49
+ i32.load $push6=, 0($1)
+ call __floatsitf@FUNCTION, $pop50, $pop6
+ i64.load $push15=, 16($2)
+ i32.const $push51=, 16
+ i32.add $push52=, $2, $pop51
+ i32.const $push12=, 8
+ i32.add $push13=, $pop52, $pop12
+ i64.load $push14=, 0($pop13)
i32.const $push7=, 19
i32.add $push8=, $1, $pop7
i32.const $push9=, -16
- i32.and $push58=, $pop8, $pop9
- tee_local $push57=, $0=, $pop58
- i64.load $2=, 8($pop57)
- i64.load $3=, 0($0)
- i32.const $push47=, 16
- i32.add $push48=, $4, $pop47
- i32.load $push6=, 0($1)
- call __floatsitf@FUNCTION, $pop48, $pop6
- i64.load $push13=, 16($4)
- i32.const $push49=, 16
- i32.add $push50=, $4, $pop49
- i32.const $push10=, 8
- i32.add $push11=, $pop50, $pop10
- i64.load $push12=, 0($pop11)
- call __addtf3@FUNCTION, $4, $pop13, $pop12, $3, $2
- i32.const $push18=, 0
- i64.load $push16=, 0($4)
- i32.const $push56=, 8
- i32.add $push14=, $4, $pop56
- i64.load $push15=, 0($pop14)
- i32.call $push17=, __fixtfsi@FUNCTION, $pop16, $pop15
- i32.store $drop=, foo_arg($pop18), $pop17
+ i32.and $push60=, $pop8, $pop9
+ tee_local $push59=, $0=, $pop60
+ i64.load $push11=, 0($pop59)
+ i64.load $push10=, 8($0)
+ call __addtf3@FUNCTION, $2, $pop15, $pop14, $pop11, $pop10
+ i32.const $push20=, 0
+ i64.load $push18=, 0($2)
+ i32.const $push58=, 8
+ i32.add $push16=, $2, $pop58
+ i64.load $push17=, 0($pop16)
+ i32.call $push19=, __fixtfsi@FUNCTION, $pop18, $pop17
+ i32.store $drop=, foo_arg($pop20), $pop19
br 1 # 1: down to label11
.LBB6_5: # %sw.bb9.i
end_block # label12:
- i32.const $push27=, 0
- i32.const $push19=, 7
- i32.add $push20=, $1, $pop19
- i32.const $push21=, -8
- i32.and $push60=, $pop20, $pop21
- tee_local $push59=, $0=, $pop60
- f64.load $push23=, 8($pop59)
- i32.load $push22=, 0($0)
- f64.convert_s/i32 $push24=, $pop22
- f64.add $push25=, $pop23, $pop24
- i32.trunc_s/f64 $push26=, $pop25
- i32.store $drop=, foo_arg($pop27), $pop26
+ i32.const $push29=, 0
+ i32.const $push21=, 7
+ i32.add $push22=, $1, $pop21
+ i32.const $push23=, -8
+ i32.and $push62=, $pop22, $pop23
+ tee_local $push61=, $0=, $pop62
+ f64.load $push24=, 8($pop61)
+ i32.load $push25=, 0($0)
+ f64.convert_s/i32 $push26=, $pop25
+ f64.add $push27=, $pop24, $pop26
+ i32.trunc_s/f64 $push28=, $pop27
+ i32.store $drop=, foo_arg($pop29), $pop28
.LBB6_6: # %foo.exit
end_block # label11:
- i32.const $push46=, __stack_pointer
- i32.const $push44=, 80
- i32.add $push45=, $4, $pop44
- i32.store $drop=, 0($pop46), $pop45
+ i32.const $push48=, 0
+ i32.const $push46=, 80
+ i32.add $push47=, $2, $pop46
+ i32.store $drop=, __stack_pointer($pop48), $pop47
return
.LBB6_7: # %sw.default.i
end_block # label10:
@@ -433,19 +434,20 @@ f6: # @f6
.param i32, i32
.local i32
# BB#0: # %entry
- i32.const $push4=, __stack_pointer
- i32.load $push5=, 0($pop4)
+ i32.const $push4=, 0
+ i32.load $push5=, __stack_pointer($pop4)
i32.const $push6=, 16
- i32.sub $2=, $pop5, $pop6
+ i32.sub $push10=, $pop5, $pop6
+ tee_local $push9=, $2=, $pop10
i32.store $push8=, 4($2), $1
tee_local $push7=, $1=, $pop8
i32.const $push0=, 4
i32.add $push1=, $pop7, $pop0
- i32.store $drop=, 4($2), $pop1
+ i32.store $drop=, 4($pop9), $pop1
i32.const $push3=, 0
i32.load $push2=, 0($1)
i32.store $drop=, x($pop3), $pop2
- return
+ # fallthrough-return
.endfunc
.Lfunc_end7:
.size f6, .Lfunc_end7-f6
@@ -456,55 +458,55 @@ f6: # @f6
.type f7,@function
f7: # @f7
.param i32, i32
- .local i32, f64, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $push18=, __stack_pointer
- i32.const $push15=, __stack_pointer
- i32.load $push16=, 0($pop15)
- i32.const $push17=, 16
- i32.sub $push22=, $pop16, $pop17
- i32.store $push24=, 0($pop18), $pop22
- tee_local $push23=, $4=, $pop24
- i32.store $drop=, 4($pop23), $1
+ i32.const $push19=, 0
+ i32.const $push16=, 0
+ i32.load $push17=, __stack_pointer($pop16)
+ i32.const $push18=, 16
+ i32.sub $push23=, $pop17, $pop18
+ i32.store $push25=, __stack_pointer($pop19), $pop23
+ tee_local $push24=, $3=, $pop25
+ i32.store $drop=, 4($pop24), $1
block
block
i32.const $push1=, 16386
i32.ne $push2=, $0, $pop1
br_if 0, $pop2 # 0: down to label15
# BB#1: # %if.then.i
+ i32.const $push29=, 0
i32.const $push28=, 0
- i32.const $push27=, 0
- i32.load $push26=, gap($pop27)
- tee_local $push25=, $1=, $pop26
+ i32.load $push27=, gap($pop28)
+ tee_local $push26=, $1=, $pop27
i32.const $push3=, 4
- i32.add $push0=, $pop25, $pop3
- i32.store $2=, gap($pop28), $pop0
+ i32.add $push0=, $pop26, $pop3
+ i32.store $2=, gap($pop29), $pop0
i32.load $push4=, 0($1)
i32.const $push5=, 13
i32.ne $push6=, $pop4, $pop5
br_if 1, $pop6 # 1: down to label14
# BB#2: # %lor.lhs.false.i
+ i32.const $push32=, 0
i32.const $push7=, 7
i32.add $push8=, $2, $pop7
i32.const $push9=, -8
i32.and $push31=, $pop8, $pop9
tee_local $push30=, $1=, $pop31
- f64.load $3=, 0($pop30)
- i32.const $push29=, 0
i32.const $push10=, 8
- i32.add $push11=, $1, $pop10
- i32.store $drop=, gap($pop29), $pop11
- f64.const $push12=, -0x1.cp3
- f64.ne $push13=, $3, $pop12
- br_if 1, $pop13 # 1: down to label14
+ i32.add $push11=, $pop30, $pop10
+ i32.store $drop=, gap($pop32), $pop11
+ f64.load $push12=, 0($1)
+ f64.const $push13=, -0x1.cp3
+ f64.ne $push14=, $pop12, $pop13
+ br_if 1, $pop14 # 1: down to label14
.LBB8_3: # %bar.exit
end_block # label15:
- i32.const $push14=, 0
- i32.store $drop=, bar_arg($pop14), $0
- i32.const $push21=, __stack_pointer
- i32.const $push19=, 16
- i32.add $push20=, $4, $pop19
- i32.store $drop=, 0($pop21), $pop20
+ i32.const $push15=, 0
+ i32.store $drop=, bar_arg($pop15), $0
+ i32.const $push22=, 0
+ i32.const $push20=, 16
+ i32.add $push21=, $3, $pop20
+ i32.store $drop=, __stack_pointer($pop22), $pop21
return
.LBB8_4: # %if.then5.i
end_block # label14:
@@ -520,16 +522,16 @@ f7: # @f7
.type f8,@function
f8: # @f8
.param i32, i32
- .local i64, i64, i32
+ .local i32
# BB#0: # %entry
- i32.const $push43=, __stack_pointer
- i32.const $push40=, __stack_pointer
- i32.load $push41=, 0($pop40)
- i32.const $push42=, 48
- i32.sub $push51=, $pop41, $pop42
- i32.store $push53=, 0($pop43), $pop51
- tee_local $push52=, $4=, $pop53
- i32.store $drop=, 36($pop52), $1
+ i32.const $push45=, 0
+ i32.const $push42=, 0
+ i32.load $push43=, __stack_pointer($pop42)
+ i32.const $push44=, 48
+ i32.sub $push53=, $pop43, $pop44
+ i32.store $push55=, __stack_pointer($pop45), $pop53
+ tee_local $push54=, $2=, $pop55
+ i32.store $drop=, 36($pop54), $1
block
block
block
@@ -546,70 +548,70 @@ f8: # @f8
i32.ne $push5=, $0, $pop4
br_if 3, $pop5 # 3: down to label16
# BB#3: # %sw.bb.i
- i32.const $push39=, 0
- i32.load $push28=, 0($1)
- f64.convert_s/i32 $push33=, $pop28
- i32.const $push29=, 11
- i32.add $push30=, $1, $pop29
- i32.const $push31=, -8
- i32.and $push55=, $pop30, $pop31
- tee_local $push54=, $0=, $pop55
- f64.load $push32=, 0($pop54)
- f64.add $push34=, $pop33, $pop32
- i32.trunc_s/f64 $push35=, $pop34
- i64.extend_u/i32 $push37=, $pop35
- i64.load $push36=, 8($0)
- i64.add $push38=, $pop37, $pop36
- i64.store32 $drop=, foo_arg($pop39), $pop38
+ i32.const $push41=, 0
+ i32.load $push35=, 0($1)
+ f64.convert_s/i32 $push36=, $pop35
+ i32.const $push30=, 11
+ i32.add $push31=, $1, $pop30
+ i32.const $push32=, -8
+ i32.and $push57=, $pop31, $pop32
+ tee_local $push56=, $0=, $pop57
+ f64.load $push34=, 0($pop56)
+ f64.add $push37=, $pop36, $pop34
+ i32.trunc_s/f64 $push38=, $pop37
+ i64.extend_u/i32 $push39=, $pop38
+ i64.load $push33=, 8($0)
+ i64.add $push40=, $pop39, $pop33
+ i64.store32 $drop=, foo_arg($pop41), $pop40
br 2 # 2: down to label17
.LBB9_4: # %sw.bb18.i
end_block # label19:
+ i32.const $push49=, 16
+ i32.add $push50=, $2, $pop49
+ i32.load $push6=, 0($1)
+ call __floatsitf@FUNCTION, $pop50, $pop6
+ i64.load $push15=, 16($2)
+ i32.const $push51=, 16
+ i32.add $push52=, $2, $pop51
+ i32.const $push12=, 8
+ i32.add $push13=, $pop52, $pop12
+ i64.load $push14=, 0($pop13)
i32.const $push7=, 19
i32.add $push8=, $1, $pop7
i32.const $push9=, -16
- i32.and $push58=, $pop8, $pop9
- tee_local $push57=, $0=, $pop58
- i64.load $2=, 8($pop57)
- i64.load $3=, 0($0)
- i32.const $push47=, 16
- i32.add $push48=, $4, $pop47
- i32.load $push6=, 0($1)
- call __floatsitf@FUNCTION, $pop48, $pop6
- i64.load $push13=, 16($4)
- i32.const $push49=, 16
- i32.add $push50=, $4, $pop49
- i32.const $push10=, 8
- i32.add $push11=, $pop50, $pop10
- i64.load $push12=, 0($pop11)
- call __addtf3@FUNCTION, $4, $pop13, $pop12, $3, $2
- i32.const $push18=, 0
- i64.load $push16=, 0($4)
- i32.const $push56=, 8
- i32.add $push14=, $4, $pop56
- i64.load $push15=, 0($pop14)
- i32.call $push17=, __fixtfsi@FUNCTION, $pop16, $pop15
- i32.store $drop=, foo_arg($pop18), $pop17
+ i32.and $push60=, $pop8, $pop9
+ tee_local $push59=, $0=, $pop60
+ i64.load $push11=, 0($pop59)
+ i64.load $push10=, 8($0)
+ call __addtf3@FUNCTION, $2, $pop15, $pop14, $pop11, $pop10
+ i32.const $push20=, 0
+ i64.load $push18=, 0($2)
+ i32.const $push58=, 8
+ i32.add $push16=, $2, $pop58
+ i64.load $push17=, 0($pop16)
+ i32.call $push19=, __fixtfsi@FUNCTION, $pop18, $pop17
+ i32.store $drop=, foo_arg($pop20), $pop19
br 1 # 1: down to label17
.LBB9_5: # %sw.bb9.i
end_block # label18:
- i32.const $push27=, 0
- i32.const $push19=, 7
- i32.add $push20=, $1, $pop19
- i32.const $push21=, -8
- i32.and $push60=, $pop20, $pop21
- tee_local $push59=, $0=, $pop60
- f64.load $push23=, 8($pop59)
- i32.load $push22=, 0($0)
- f64.convert_s/i32 $push24=, $pop22
- f64.add $push25=, $pop23, $pop24
- i32.trunc_s/f64 $push26=, $pop25
- i32.store $drop=, foo_arg($pop27), $pop26
+ i32.const $push29=, 0
+ i32.const $push21=, 7
+ i32.add $push22=, $1, $pop21
+ i32.const $push23=, -8
+ i32.and $push62=, $pop22, $pop23
+ tee_local $push61=, $0=, $pop62
+ f64.load $push24=, 8($pop61)
+ i32.load $push25=, 0($0)
+ f64.convert_s/i32 $push26=, $pop25
+ f64.add $push27=, $pop24, $pop26
+ i32.trunc_s/f64 $push28=, $pop27
+ i32.store $drop=, foo_arg($pop29), $pop28
.LBB9_6: # %foo.exit
end_block # label17:
- i32.const $push46=, __stack_pointer
- i32.const $push44=, 48
- i32.add $push45=, $4, $pop44
- i32.store $drop=, 0($pop46), $pop45
+ i32.const $push48=, 0
+ i32.const $push46=, 48
+ i32.add $push47=, $2, $pop46
+ i32.store $drop=, __stack_pointer($pop48), $pop47
return
.LBB9_7: # %sw.default.i
end_block # label16:
@@ -627,21 +629,22 @@ f10: # @f10
.param i32, i32
.local i32
# BB#0: # %entry
- i32.const $push5=, __stack_pointer
- i32.load $push6=, 0($pop5)
+ i32.const $push5=, 0
+ i32.load $push6=, __stack_pointer($pop5)
i32.const $push7=, 16
i32.sub $push8=, $pop6, $pop7
i32.const $push0=, 12
- i32.add $2=, $pop8, $pop0
+ i32.add $push12=, $pop8, $pop0
+ tee_local $push11=, $2=, $pop12
i32.store $push10=, 0($2), $1
tee_local $push9=, $1=, $pop10
i32.const $push1=, 4
i32.add $push2=, $pop9, $pop1
- i32.store $drop=, 0($2), $pop2
+ i32.store $drop=, 0($pop11), $pop2
i32.const $push4=, 0
i32.load $push3=, 0($1)
i32.store $drop=, x($pop4), $pop3
- return
+ # fallthrough-return
.endfunc
.Lfunc_end10:
.size f10, .Lfunc_end10-f10
@@ -652,17 +655,17 @@ f10: # @f10
.type f11,@function
f11: # @f11
.param i32, i32
- .local i32, f64, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $push20=, __stack_pointer
- i32.const $push17=, __stack_pointer
- i32.load $push18=, 0($pop17)
- i32.const $push19=, 16
- i32.sub $push24=, $pop18, $pop19
- i32.store $push26=, 0($pop20), $pop24
- tee_local $push25=, $4=, $pop26
+ i32.const $push21=, 0
+ i32.const $push18=, 0
+ i32.load $push19=, __stack_pointer($pop18)
+ i32.const $push20=, 16
+ i32.sub $push25=, $pop19, $pop20
+ i32.store $push27=, __stack_pointer($pop21), $pop25
+ tee_local $push26=, $3=, $pop27
i32.const $push2=, 12
- i32.add $push0=, $pop25, $pop2
+ i32.add $push0=, $pop26, $pop2
i32.store $drop=, 0($pop0), $1
block
block
@@ -670,39 +673,39 @@ f11: # @f11
i32.ne $push4=, $0, $pop3
br_if 0, $pop4 # 0: down to label21
# BB#1: # %if.then.i
+ i32.const $push31=, 0
i32.const $push30=, 0
- i32.const $push29=, 0
- i32.load $push28=, gap($pop29)
- tee_local $push27=, $1=, $pop28
+ i32.load $push29=, gap($pop30)
+ tee_local $push28=, $1=, $pop29
i32.const $push5=, 4
- i32.add $push1=, $pop27, $pop5
- i32.store $2=, gap($pop30), $pop1
+ i32.add $push1=, $pop28, $pop5
+ i32.store $2=, gap($pop31), $pop1
i32.load $push6=, 0($1)
i32.const $push7=, 13
i32.ne $push8=, $pop6, $pop7
br_if 1, $pop8 # 1: down to label20
# BB#2: # %lor.lhs.false.i
+ i32.const $push34=, 0
i32.const $push9=, 7
i32.add $push10=, $2, $pop9
i32.const $push11=, -8
i32.and $push33=, $pop10, $pop11
tee_local $push32=, $1=, $pop33
- f64.load $3=, 0($pop32)
- i32.const $push31=, 0
i32.const $push12=, 8
- i32.add $push13=, $1, $pop12
- i32.store $drop=, gap($pop31), $pop13
- f64.const $push14=, -0x1.cp3
- f64.ne $push15=, $3, $pop14
- br_if 1, $pop15 # 1: down to label20
+ i32.add $push13=, $pop32, $pop12
+ i32.store $drop=, gap($pop34), $pop13
+ f64.load $push14=, 0($1)
+ f64.const $push15=, -0x1.cp3
+ f64.ne $push16=, $pop14, $pop15
+ br_if 1, $pop16 # 1: down to label20
.LBB11_3: # %bar.exit
end_block # label21:
- i32.const $push16=, 0
- i32.store $drop=, bar_arg($pop16), $0
- i32.const $push23=, __stack_pointer
- i32.const $push21=, 16
- i32.add $push22=, $4, $pop21
- i32.store $drop=, 0($pop23), $pop22
+ i32.const $push17=, 0
+ i32.store $drop=, bar_arg($pop17), $0
+ i32.const $push24=, 0
+ i32.const $push22=, 16
+ i32.add $push23=, $3, $pop22
+ i32.store $drop=, __stack_pointer($pop24), $pop23
return
.LBB11_4: # %if.then5.i
end_block # label20:
@@ -718,17 +721,17 @@ f11: # @f11
.type f12,@function
f12: # @f12
.param i32, i32
- .local i64, i64, i32
+ .local i32
# BB#0: # %entry
- i32.const $push45=, __stack_pointer
- i32.const $push42=, __stack_pointer
- i32.load $push43=, 0($pop42)
- i32.const $push44=, 48
- i32.sub $push53=, $pop43, $pop44
- i32.store $push55=, 0($pop45), $pop53
- tee_local $push54=, $4=, $pop55
+ i32.const $push47=, 0
+ i32.const $push44=, 0
+ i32.load $push45=, __stack_pointer($pop44)
+ i32.const $push46=, 48
+ i32.sub $push55=, $pop45, $pop46
+ i32.store $push57=, __stack_pointer($pop47), $pop55
+ tee_local $push56=, $2=, $pop57
i32.const $push1=, 44
- i32.add $push0=, $pop54, $pop1
+ i32.add $push0=, $pop56, $pop1
i32.store $drop=, 0($pop0), $1
block
block
@@ -746,70 +749,70 @@ f12: # @f12
i32.ne $push7=, $0, $pop6
br_if 3, $pop7 # 3: down to label22
# BB#3: # %sw.bb.i
- i32.const $push41=, 0
- i32.load $push30=, 0($1)
- f64.convert_s/i32 $push35=, $pop30
- i32.const $push31=, 11
- i32.add $push32=, $1, $pop31
- i32.const $push33=, -8
- i32.and $push57=, $pop32, $pop33
- tee_local $push56=, $0=, $pop57
- f64.load $push34=, 0($pop56)
- f64.add $push36=, $pop35, $pop34
- i32.trunc_s/f64 $push37=, $pop36
- i64.extend_u/i32 $push39=, $pop37
- i64.load $push38=, 8($0)
- i64.add $push40=, $pop39, $pop38
- i64.store32 $drop=, foo_arg($pop41), $pop40
+ i32.const $push43=, 0
+ i32.load $push37=, 0($1)
+ f64.convert_s/i32 $push38=, $pop37
+ i32.const $push32=, 11
+ i32.add $push33=, $1, $pop32
+ i32.const $push34=, -8
+ i32.and $push59=, $pop33, $pop34
+ tee_local $push58=, $0=, $pop59
+ f64.load $push36=, 0($pop58)
+ f64.add $push39=, $pop38, $pop36
+ i32.trunc_s/f64 $push40=, $pop39
+ i64.extend_u/i32 $push41=, $pop40
+ i64.load $push35=, 8($0)
+ i64.add $push42=, $pop41, $pop35
+ i64.store32 $drop=, foo_arg($pop43), $pop42
br 2 # 2: down to label23
.LBB12_4: # %sw.bb18.i
end_block # label25:
+ i32.const $push51=, 16
+ i32.add $push52=, $2, $pop51
+ i32.load $push8=, 0($1)
+ call __floatsitf@FUNCTION, $pop52, $pop8
+ i64.load $push17=, 16($2)
+ i32.const $push53=, 16
+ i32.add $push54=, $2, $pop53
+ i32.const $push14=, 8
+ i32.add $push15=, $pop54, $pop14
+ i64.load $push16=, 0($pop15)
i32.const $push9=, 19
i32.add $push10=, $1, $pop9
i32.const $push11=, -16
- i32.and $push60=, $pop10, $pop11
- tee_local $push59=, $0=, $pop60
- i64.load $2=, 8($pop59)
- i64.load $3=, 0($0)
- i32.const $push49=, 16
- i32.add $push50=, $4, $pop49
- i32.load $push8=, 0($1)
- call __floatsitf@FUNCTION, $pop50, $pop8
- i64.load $push15=, 16($4)
- i32.const $push51=, 16
- i32.add $push52=, $4, $pop51
- i32.const $push12=, 8
- i32.add $push13=, $pop52, $pop12
- i64.load $push14=, 0($pop13)
- call __addtf3@FUNCTION, $4, $pop15, $pop14, $3, $2
- i32.const $push20=, 0
- i64.load $push18=, 0($4)
- i32.const $push58=, 8
- i32.add $push16=, $4, $pop58
- i64.load $push17=, 0($pop16)
- i32.call $push19=, __fixtfsi@FUNCTION, $pop18, $pop17
- i32.store $drop=, foo_arg($pop20), $pop19
+ i32.and $push62=, $pop10, $pop11
+ tee_local $push61=, $0=, $pop62
+ i64.load $push13=, 0($pop61)
+ i64.load $push12=, 8($0)
+ call __addtf3@FUNCTION, $2, $pop17, $pop16, $pop13, $pop12
+ i32.const $push22=, 0
+ i64.load $push20=, 0($2)
+ i32.const $push60=, 8
+ i32.add $push18=, $2, $pop60
+ i64.load $push19=, 0($pop18)
+ i32.call $push21=, __fixtfsi@FUNCTION, $pop20, $pop19
+ i32.store $drop=, foo_arg($pop22), $pop21
br 1 # 1: down to label23
.LBB12_5: # %sw.bb9.i
end_block # label24:
- i32.const $push29=, 0
- i32.const $push21=, 7
- i32.add $push22=, $1, $pop21
- i32.const $push23=, -8
- i32.and $push62=, $pop22, $pop23
- tee_local $push61=, $0=, $pop62
- f64.load $push25=, 8($pop61)
- i32.load $push24=, 0($0)
- f64.convert_s/i32 $push26=, $pop24
- f64.add $push27=, $pop25, $pop26
- i32.trunc_s/f64 $push28=, $pop27
- i32.store $drop=, foo_arg($pop29), $pop28
+ i32.const $push31=, 0
+ i32.const $push23=, 7
+ i32.add $push24=, $1, $pop23
+ i32.const $push25=, -8
+ i32.and $push64=, $pop24, $pop25
+ tee_local $push63=, $0=, $pop64
+ f64.load $push26=, 8($pop63)
+ i32.load $push27=, 0($0)
+ f64.convert_s/i32 $push28=, $pop27
+ f64.add $push29=, $pop26, $pop28
+ i32.trunc_s/f64 $push30=, $pop29
+ i32.store $drop=, foo_arg($pop31), $pop30
.LBB12_6: # %foo.exit
end_block # label23:
- i32.const $push48=, __stack_pointer
- i32.const $push46=, 48
- i32.add $push47=, $4, $pop46
- i32.store $drop=, 0($pop48), $pop47
+ i32.const $push50=, 0
+ i32.const $push48=, 48
+ i32.add $push49=, $2, $pop48
+ i32.store $drop=, __stack_pointer($pop50), $pop49
return
.LBB12_7: # %sw.default.i
end_block # label22:
@@ -827,12 +830,12 @@ main: # @main
.result i32
.local i32, i32
# BB#0: # %entry
- i32.const $push54=, __stack_pointer
- i32.const $push51=, __stack_pointer
- i32.load $push52=, 0($pop51)
+ i32.const $push54=, 0
+ i32.const $push51=, 0
+ i32.load $push52=, __stack_pointer($pop51)
i32.const $push53=, 176
i32.sub $push74=, $pop52, $pop53
- i32.store $push77=, 0($pop54), $pop74
+ i32.store $push77=, __stack_pointer($pop54), $pop74
tee_local $push76=, $1=, $pop77
i32.const $push0=, 79
i32.store $0=, 160($pop76), $pop0
@@ -967,10 +970,10 @@ main: # @main
i32.ne $push50=, $pop48, $pop49
br_if 0, $pop50 # 0: down to label26
# BB#11: # %if.end30
- i32.const $push57=, __stack_pointer
+ i32.const $push57=, 0
i32.const $push55=, 176
i32.add $push56=, $1, $pop55
- i32.store $drop=, 0($pop57), $pop56
+ i32.store $drop=, __stack_pointer($pop57), $pop56
i32.const $push94=, 0
return $pop94
.LBB13_12: # %if.then29