diff options
Diffstat (limited to 'test/torture-s/stdarg-2.c.s')
-rw-r--r-- | test/torture-s/stdarg-2.c.s | 1611 |
1 files changed, 661 insertions, 950 deletions
diff --git a/test/torture-s/stdarg-2.c.s b/test/torture-s/stdarg-2.c.s index 84a3301ad..f92ceb711 100644 --- a/test/torture-s/stdarg-2.c.s +++ b/test/torture-s/stdarg-2.c.s @@ -6,15 +6,14 @@ .type foo,@function foo: # @foo .param i32, i32 - .local i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i64, i64, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 48 - i32.sub $12=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $12=, 0($6), $12 - i32.store $discard=, 44($12), $1 + i32.const $push47=, __stack_pointer + i32.load $push48=, 0($pop47) + i32.const $push49=, 32 + i32.sub $6=, $pop48, $pop49 + i32.const $push50=, __stack_pointer + i32.store $discard=, 0($pop50), $6 block block block @@ -23,129 +22,78 @@ foo: # @foo i32.eq $push1=, $0, $pop0 br_if 0, $pop1 # 0: down to label3 # BB#1: # %entry - i32.const $push59=, 8 - i32.eq $push2=, $0, $pop59 - br_if 1, $pop2 # 1: down to label2 + i32.const $push2=, 8 + i32.eq $push3=, $0, $pop2 + br_if 1, $pop3 # 1: down to label2 # BB#2: # %entry - i32.const $push3=, 5 - i32.ne $push4=, $0, $pop3 - br_if 3, $pop4 # 3: down to label0 + i32.const $push4=, 5 + i32.ne $push5=, $0, $pop4 + br_if 3, $pop5 # 3: down to label0 # BB#3: # %sw.bb - i32.load $push38=, 44($12) - i32.const $push39=, 3 - i32.add $push40=, $pop38, $pop39 - i32.const $push41=, -4 - i32.and $push67=, $pop40, $pop41 - tee_local $push66=, $0=, $pop67 - i32.const $push42=, 4 - i32.add $push43=, $pop66, $pop42 - i32.store $discard=, 44($12), $pop43 - i32.load $1=, 0($0) - i32.const $push44=, 11 - i32.add $push45=, $0, $pop44 - i32.const $push46=, -8 - i32.and $push65=, $pop45, $pop46 - tee_local $push64=, $0=, $pop65 - i32.const $push47=, 8 - i32.add $push48=, $pop64, $pop47 - i32.store $discard=, 44($12), $pop48 - f64.convert_s/i32 $push50=, $1 - f64.load $push49=, 0($0) - f64.add $push51=, $pop50, $pop49 - i32.trunc_s/f64 $1=, $pop51 - i32.const $push52=, 15 - i32.add $push53=, $0, $pop52 - i32.const $push63=, -8 - i32.and $push62=, $pop53, $pop63 - tee_local $push61=, $0=, $pop62 - i32.const $push60=, 8 - i32.add $push54=, $pop61, $pop60 - i32.store $discard=, 44($12), $pop54 - i32.const $push58=, 0 - i64.extend_u/i32 $push56=, $1 - i64.load $push55=, 0($0) - i64.add $push57=, $pop56, $pop55 - i64.store32 $discard=, foo_arg($pop58), $pop57 + 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 $push41=, $pop30, $pop31 + tee_local $push40=, $0=, $pop41 + f64.load $push32=, 0($pop40) + 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 $discard=, foo_arg($pop39), $pop38 br 2 # 2: down to label1 -.LBB0_4: # %sw.bb10 +.LBB0_4: # %sw.bb18 end_block # label3: - i32.load $push5=, 44($12) - i32.const $push6=, 3 - i32.add $push7=, $pop5, $pop6 - i32.const $push8=, -4 - i32.and $push81=, $pop7, $pop8 - tee_local $push80=, $0=, $pop81 - i32.const $push9=, 4 - i32.add $push10=, $pop80, $pop9 - i32.store $discard=, 44($12), $pop10 - i32.load $1=, 0($0) - i32.const $push11=, 19 - i32.add $push12=, $0, $pop11 - i32.const $push13=, -16 - i32.and $push79=, $pop12, $pop13 - tee_local $push78=, $4=, $pop79 - i32.const $push14=, 8 - i32.or $push15=, $pop78, $pop14 - i32.store $0=, 44($12), $pop15 - i64.load $2=, 0($4) - i32.const $push77=, 8 - i32.add $push16=, $0, $pop77 - i32.store $discard=, 44($12), $pop16 - i64.load $3=, 0($0) - i32.const $8=, 24 - i32.add $8=, $12, $8 - call __floatsitf@FUNCTION, $8, $1 - i64.load $push19=, 24($12) - i32.const $push76=, 8 - i32.const $9=, 24 - i32.add $9=, $12, $9 - i32.add $push17=, $9, $pop76 - i64.load $push18=, 0($pop17) - i32.const $10=, 8 - i32.add $10=, $12, $10 - call __addtf3@FUNCTION, $10, $pop19, $pop18, $2, $3 - i32.const $push24=, 0 - i64.load $push22=, 8($12) - i32.const $push75=, 8 - i32.const $11=, 8 - i32.add $11=, $12, $11 - i32.add $push20=, $11, $pop75 - i64.load $push21=, 0($pop20) - i32.call $push23=, __fixtfsi@FUNCTION, $pop22, $pop21 - i32.store $discard=, foo_arg($pop24), $pop23 + i32.const $push7=, 19 + i32.add $push8=, $1, $pop7 + i32.const $push9=, -16 + i32.and $push46=, $pop8, $pop9 + tee_local $push45=, $0=, $pop46 + i64.load $2=, 8($pop45) + i64.load $3=, 0($0):p2align=4 + i32.load $push6=, 0($1) + i32.const $4=, 16 + i32.add $4=, $6, $4 + call __floatsitf@FUNCTION, $4, $pop6 + i64.load $push13=, 16($6) + i32.const $push10=, 8 + i32.const $5=, 16 + i32.add $5=, $6, $5 + i32.add $push11=, $5, $pop10 + i64.load $push12=, 0($pop11) + call __addtf3@FUNCTION, $6, $pop13, $pop12, $3, $2 + i32.const $push18=, 0 + i64.load $push16=, 0($6) + i32.const $push44=, 8 + i32.add $push14=, $6, $pop44 + i64.load $push15=, 0($pop14) + i32.call $push17=, __fixtfsi@FUNCTION, $pop16, $pop15 + i32.store $discard=, foo_arg($pop18), $pop17 br 1 # 1: down to label1 -.LBB0_5: # %sw.bb5 +.LBB0_5: # %sw.bb9 end_block # label2: - i32.load $push25=, 44($12) - i32.const $push26=, 7 - i32.add $push27=, $pop25, $pop26 - i32.const $push28=, -8 - i32.and $push74=, $pop27, $pop28 - tee_local $push73=, $0=, $pop74 - i32.const $push72=, 8 - i32.add $push29=, $pop73, $pop72 - i32.store $discard=, 44($12), $pop29 - i32.load $1=, 0($0):p2align=3 - i32.const $push30=, 15 - i32.add $push31=, $0, $pop30 - i32.const $push71=, -8 - i32.and $push70=, $pop31, $pop71 - tee_local $push69=, $0=, $pop70 - i32.const $push68=, 8 - i32.add $push32=, $pop69, $pop68 - i32.store $discard=, 44($12), $pop32 - i32.const $push37=, 0 - f64.convert_s/i32 $push34=, $1 - f64.load $push33=, 0($0) - f64.add $push35=, $pop34, $pop33 - i32.trunc_s/f64 $push36=, $pop35 - i32.store $discard=, foo_arg($pop37), $pop36 + i32.const $push27=, 0 + i32.const $push19=, 7 + i32.add $push20=, $1, $pop19 + i32.const $push21=, -8 + i32.and $push43=, $pop20, $pop21 + tee_local $push42=, $0=, $pop43 + i32.load $push22=, 0($pop42):p2align=3 + f64.convert_s/i32 $push24=, $pop22 + f64.load $push23=, 8($0) + f64.add $push25=, $pop24, $pop23 + i32.trunc_s/f64 $push26=, $pop25 + i32.store $discard=, foo_arg($pop27), $pop26 .LBB0_6: # %sw.epilog end_block # label1: - i32.const $7=, 48 - i32.add $12=, $12, $7 - i32.const $7=, __stack_pointer - i32.store $12=, 0($7), $12 + i32.const $push51=, 32 + i32.add $6=, $6, $pop51 + i32.const $push52=, __stack_pointer + i32.store $discard=, 0($pop52), $6 return .LBB0_7: # %sw.default end_block # label0: @@ -161,51 +109,45 @@ foo: # @foo .type bar,@function bar: # @bar .param i32 - .local i32 + .local i32, f64, i32 # BB#0: # %entry block block - i32.const $push0=, 16386 - i32.ne $push1=, $0, $pop0 - br_if 0, $pop1 # 0: down to label5 + i32.const $push1=, 16386 + i32.ne $push2=, $0, $pop1 + br_if 0, $pop2 # 0: down to label5 # BB#1: # %if.then - i32.const $push24=, 0 - i32.const $push23=, 0 - i32.load $push2=, gap($pop23) - i32.const $push3=, 3 - i32.add $push4=, $pop2, $pop3 - i32.const $push5=, -4 - i32.and $push22=, $pop4, $pop5 - tee_local $push21=, $1=, $pop22 - i32.const $push6=, 4 - i32.add $push7=, $pop21, $pop6 - i32.store $discard=, gap($pop24), $pop7 - i32.load $push8=, 0($1) - i32.const $push9=, 13 - i32.ne $push10=, $pop8, $pop9 - br_if 1, $pop10 # 1: down to label4 + i32.const $push18=, 0 + i32.const $push17=, 0 + i32.load $push16=, gap($pop17) + tee_local $push15=, $3=, $pop16 + i32.const $push3=, 4 + i32.add $push0=, $pop15, $pop3 + i32.store $1=, gap($pop18), $pop0 + i32.load $push4=, 0($3) + i32.const $push5=, 13 + i32.ne $push6=, $pop4, $pop5 + br_if 1, $pop6 # 1: down to label4 # BB#2: # %lor.lhs.false - i32.const $push28=, 0 - i32.const $push27=, 0 - i32.load $push11=, gap($pop27) - i32.const $push12=, 7 - i32.add $push13=, $pop11, $pop12 - i32.const $push14=, -8 - i32.and $push26=, $pop13, $pop14 - tee_local $push25=, $1=, $pop26 - i32.const $push15=, 8 - i32.add $push16=, $pop25, $pop15 - i32.store $discard=, gap($pop28), $pop16 - f64.load $push17=, 0($1) - f64.const $push18=, -0x1.cp3 - f64.ne $push19=, $pop17, $pop18 - br_if 1, $pop19 # 1: down to label4 -.LBB1_3: # %if.end4 + 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 + i32.const $push10=, 8 + i32.add $push11=, $3, $pop10 + i32.store $discard=, gap($pop19), $pop11 + f64.const $push12=, -0x1.cp3 + f64.ne $push13=, $2, $pop12 + br_if 1, $pop13 # 1: down to label4 +.LBB1_3: # %if.end6 end_block # label5: - i32.const $push20=, 0 - i32.store $discard=, bar_arg($pop20), $0 + i32.const $push14=, 0 + i32.store $discard=, bar_arg($pop14), $0 return -.LBB1_4: # %if.then3 +.LBB1_4: # %if.then5 end_block # label4: call abort@FUNCTION unreachable @@ -221,19 +163,15 @@ f1: # @f1 .param i32, i32 # BB#0: # %entry i32.const $push0=, 0 - i32.const $push11=, 0 - i32.store $push1=, gap($pop11), $1 - i32.const $push2=, 3 - i32.add $push3=, $pop1, $pop2 - i32.const $push4=, -4 - i32.and $push10=, $pop3, $pop4 - tee_local $push9=, $1=, $pop10 - i32.const $push5=, 4 - i32.add $push6=, $pop9, $pop5 - i32.store $discard=, gap($pop0), $pop6 - i32.const $push8=, 0 - i32.load $push7=, 0($1) - i32.store $discard=, x($pop8), $pop7 + i32.const $push7=, 0 + i32.store $push6=, gap($pop7), $1 + tee_local $push5=, $1=, $pop6 + i32.const $push1=, 4 + i32.add $push2=, $pop5, $pop1 + i32.store $discard=, gap($pop0), $pop2 + i32.const $push4=, 0 + i32.load $push3=, 0($1) + i32.store $discard=, x($pop4), $pop3 return .endfunc .Lfunc_end2: @@ -245,52 +183,47 @@ f1: # @f1 .type f2,@function f2: # @f2 .param i32, i32 + .local i32, f64 # BB#0: # %entry - i32.const $push21=, 0 - i32.store $discard=, gap($pop21), $1 + i32.const $push15=, 0 + i32.store $discard=, gap($pop15), $1 block block - i32.const $push0=, 16386 - i32.ne $push1=, $0, $pop0 - br_if 0, $pop1 # 0: down to label7 + i32.const $push1=, 16386 + i32.ne $push2=, $0, $pop1 + br_if 0, $pop2 # 0: down to label7 # BB#1: # %if.then.i - i32.const $push25=, 0 - i32.const $push24=, 0 - i32.load $push2=, gap($pop24) - i32.const $push3=, 3 - i32.add $push4=, $pop2, $pop3 - i32.const $push5=, -4 - i32.and $push23=, $pop4, $pop5 - tee_local $push22=, $1=, $pop23 - i32.const $push6=, 4 - i32.add $push7=, $pop22, $pop6 - i32.store $discard=, gap($pop25), $pop7 - i32.load $push8=, 0($1) - i32.const $push9=, 13 - i32.ne $push10=, $pop8, $pop9 - br_if 1, $pop10 # 1: down to label6 + i32.const $push19=, 0 + i32.const $push18=, 0 + i32.load $push17=, gap($pop18) + tee_local $push16=, $1=, $pop17 + i32.const $push3=, 4 + i32.add $push0=, $pop16, $pop3 + i32.store $2=, gap($pop19), $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 $push11=, 0 - i32.const $push28=, 0 - i32.load $push12=, gap($pop28) - i32.const $push13=, 7 - i32.add $push14=, $pop12, $pop13 - i32.const $push15=, -8 - i32.and $push27=, $pop14, $pop15 - tee_local $push26=, $1=, $pop27 - i32.const $push16=, 8 - i32.add $push17=, $pop26, $pop16 - i32.store $discard=, gap($pop11), $pop17 - f64.load $push18=, 0($1) - f64.const $push19=, -0x1.cp3 - f64.ne $push20=, $pop18, $pop19 - br_if 1, $pop20 # 1: down to label6 + 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.const $push10=, 8 + i32.add $push11=, $1, $pop10 + i32.store $discard=, gap($pop12), $pop11 + f64.const $push13=, -0x1.cp3 + f64.ne $push14=, $3, $pop13 + br_if 1, $pop14 # 1: down to label6 .LBB3_3: # %bar.exit end_block # label7: - i32.const $push29=, 0 - i32.store $discard=, bar_arg($pop29), $0 + i32.const $push22=, 0 + i32.store $discard=, bar_arg($pop22), $0 return -.LBB3_4: # %if.then3.i +.LBB3_4: # %if.then5.i end_block # label6: call abort@FUNCTION unreachable @@ -304,30 +237,20 @@ f2: # @f2 .type f3,@function f3: # @f3 .param i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 48 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $push0=, 16($5):p2align=4, $1 - i32.const $push1=, 3 - i32.add $push2=, $pop0, $pop1 - i32.const $push3=, -4 - i32.and $push9=, $pop2, $pop3 - tee_local $push8=, $1=, $pop9 - i32.const $push4=, 4 - i32.add $push5=, $pop8, $pop4 - i32.store $discard=, 16($5):p2align=4, $pop5 - i32.const $push7=, 0 - i32.load $push6=, 0($1) - i32.store $discard=, x($pop7), $pop6 - i32.const $4=, 48 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 48 + i32.sub $2=, $pop7, $pop8 + i32.store $push5=, 16($2):p2align=4, $1 + tee_local $push4=, $1=, $pop5 + i32.const $push0=, 4 + i32.add $push1=, $pop4, $pop0 + i32.store $discard=, 16($2):p2align=4, $pop1 + i32.const $push3=, 0 + i32.load $push2=, 0($1) + i32.store $discard=, x($pop3), $pop2 return .endfunc .Lfunc_end4: @@ -339,62 +262,56 @@ f3: # @f3 .type f4,@function f4: # @f4 .param i32, i32 - .local i32, i32, i32, i32 + .local i32, f64, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 48 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $discard=, 16($5):p2align=4, $1 + i32.const $push22=, __stack_pointer + i32.load $push23=, 0($pop22) + i32.const $push24=, 48 + i32.sub $4=, $pop23, $pop24 + i32.const $push25=, __stack_pointer + i32.store $discard=, 0($pop25), $4 + i32.store $discard=, 16($4):p2align=4, $1 block block - i32.const $push0=, 16386 - i32.ne $push1=, $0, $pop0 - br_if 0, $pop1 # 0: down to label9 + i32.const $push1=, 16386 + i32.ne $push2=, $0, $pop1 + br_if 0, $pop2 # 0: down to label9 # BB#1: # %if.then.i - i32.const $push24=, 0 - i32.const $push23=, 0 - i32.load $push2=, gap($pop23) - i32.const $push3=, 3 - i32.add $push4=, $pop2, $pop3 - i32.const $push5=, -4 - i32.and $push22=, $pop4, $pop5 - tee_local $push21=, $1=, $pop22 - i32.const $push6=, 4 - i32.add $push7=, $pop21, $pop6 - i32.store $discard=, gap($pop24), $pop7 - i32.load $push8=, 0($1) - i32.const $push9=, 13 - i32.ne $push10=, $pop8, $pop9 - br_if 1, $pop10 # 1: down to label8 + i32.const $push18=, 0 + i32.const $push17=, 0 + i32.load $push16=, gap($pop17) + tee_local $push15=, $1=, $pop16 + i32.const $push3=, 4 + i32.add $push0=, $pop15, $pop3 + i32.store $2=, gap($pop18), $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 $push28=, 0 - i32.const $push27=, 0 - i32.load $push11=, gap($pop27) - i32.const $push12=, 7 - i32.add $push13=, $pop11, $pop12 - i32.const $push14=, -8 - i32.and $push26=, $pop13, $pop14 - tee_local $push25=, $1=, $pop26 - i32.const $push15=, 8 - i32.add $push16=, $pop25, $pop15 - i32.store $discard=, gap($pop28), $pop16 - f64.load $push17=, 0($1) - f64.const $push18=, -0x1.cp3 - f64.ne $push19=, $pop17, $pop18 - br_if 1, $pop19 # 1: down to label8 + 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 $push19=, 0 + i32.const $push10=, 8 + i32.add $push11=, $1, $pop10 + i32.store $discard=, gap($pop19), $pop11 + f64.const $push12=, -0x1.cp3 + f64.ne $push13=, $3, $pop12 + br_if 1, $pop13 # 1: down to label8 .LBB5_3: # %bar.exit end_block # label9: - i32.const $push20=, 0 - i32.store $discard=, bar_arg($pop20), $0 - i32.const $4=, 48 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push14=, 0 + i32.store $discard=, bar_arg($pop14), $0 + i32.const $push26=, 48 + i32.add $4=, $4, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $4 return -.LBB5_4: # %if.then3.i +.LBB5_4: # %if.then5.i end_block # label8: call abort@FUNCTION unreachable @@ -408,143 +325,95 @@ f4: # @f4 .type f5,@function f5: # @f5 .param i32, i32 - .local i64, i64, i32, i32, i32, i32, i32, i32, i32 + .local i64, i64, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 80 - i32.sub $10=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $10=, 0($6), $10 - i32.store $push0=, 48($10):p2align=4, $1 - i32.store $discard=, 76($10), $pop0 + i32.const $push47=, __stack_pointer + i32.load $push48=, 0($pop47) + i32.const $push49=, 80 + i32.sub $6=, $pop48, $pop49 + i32.const $push50=, __stack_pointer + i32.store $discard=, 0($pop50), $6 + i32.store $discard=, 48($6):p2align=4, $1 block block block block - i32.const $push1=, 11 - i32.eq $push2=, $0, $pop1 - br_if 0, $pop2 # 0: down to label13 + i32.const $push0=, 11 + i32.eq $push1=, $0, $pop0 + br_if 0, $pop1 # 0: down to label13 # BB#1: # %entry - i32.const $push60=, 8 - i32.eq $push3=, $0, $pop60 + i32.const $push2=, 8 + i32.eq $push3=, $0, $pop2 br_if 1, $pop3 # 1: down to label12 # BB#2: # %entry i32.const $push4=, 5 i32.ne $push5=, $0, $pop4 br_if 3, $pop5 # 3: down to label10 # BB#3: # %sw.bb.i - i32.load $push39=, 76($10) - i32.const $push40=, 3 - i32.add $push41=, $pop39, $pop40 - i32.const $push42=, -4 - i32.and $push68=, $pop41, $pop42 - tee_local $push67=, $0=, $pop68 - i32.const $push43=, 4 - i32.add $push44=, $pop67, $pop43 - i32.store $discard=, 76($10), $pop44 - i32.load $1=, 0($0) - i32.const $push45=, 11 - i32.add $push46=, $0, $pop45 - i32.const $push47=, -8 - i32.and $push66=, $pop46, $pop47 - tee_local $push65=, $0=, $pop66 - i32.const $push48=, 8 - i32.add $push49=, $pop65, $pop48 - i32.store $discard=, 76($10), $pop49 - f64.convert_s/i32 $push51=, $1 - f64.load $push50=, 0($0) - f64.add $push52=, $pop51, $pop50 - i32.trunc_s/f64 $1=, $pop52 - i32.const $push53=, 15 - i32.add $push54=, $0, $pop53 - i32.const $push64=, -8 - i32.and $push63=, $pop54, $pop64 - tee_local $push62=, $0=, $pop63 - i32.const $push61=, 8 - i32.add $push55=, $pop62, $pop61 - i32.store $discard=, 76($10), $pop55 - i32.const $push59=, 0 - i64.extend_u/i32 $push57=, $1 - i64.load $push56=, 0($0) - i64.add $push58=, $pop57, $pop56 - i64.store32 $discard=, foo_arg($pop59), $pop58 + 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 $push41=, $pop30, $pop31 + tee_local $push40=, $0=, $pop41 + f64.load $push32=, 0($pop40) + 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 $discard=, foo_arg($pop39), $pop38 br 2 # 2: down to label11 -.LBB6_4: # %sw.bb10.i +.LBB6_4: # %sw.bb18.i end_block # label13: - i32.load $push6=, 76($10) - i32.const $push7=, 3 - i32.add $push8=, $pop6, $pop7 - i32.const $push9=, -4 - i32.and $push82=, $pop8, $pop9 - tee_local $push81=, $0=, $pop82 - i32.const $push10=, 4 - i32.add $push11=, $pop81, $pop10 - i32.store $discard=, 76($10), $pop11 - i32.load $1=, 0($0) - i32.const $push12=, 19 - i32.add $push13=, $0, $pop12 - i32.const $push14=, -16 - i32.and $push80=, $pop13, $pop14 - tee_local $push79=, $4=, $pop80 - i32.const $push15=, 8 - i32.or $push16=, $pop79, $pop15 - i32.store $0=, 76($10), $pop16 - i64.load $2=, 0($4) - i32.const $push78=, 8 - i32.add $push17=, $0, $pop78 - i32.store $discard=, 76($10), $pop17 - i64.load $3=, 0($0) - i32.const $8=, 16 - i32.add $8=, $10, $8 - call __floatsitf@FUNCTION, $8, $1 - i64.load $push20=, 16($10) - i32.const $push77=, 8 - i32.const $9=, 16 - i32.add $9=, $10, $9 - i32.add $push18=, $9, $pop77 - i64.load $push19=, 0($pop18) - call __addtf3@FUNCTION, $10, $pop20, $pop19, $2, $3 - i32.const $push25=, 0 - i64.load $push23=, 0($10) - i32.const $push76=, 8 - i32.add $push21=, $10, $pop76 - i64.load $push22=, 0($pop21) - i32.call $push24=, __fixtfsi@FUNCTION, $pop23, $pop22 - i32.store $discard=, foo_arg($pop25), $pop24 + i32.const $push7=, 19 + i32.add $push8=, $1, $pop7 + i32.const $push9=, -16 + i32.and $push46=, $pop8, $pop9 + tee_local $push45=, $0=, $pop46 + i64.load $2=, 8($pop45) + i64.load $3=, 0($0):p2align=4 + i32.load $push6=, 0($1) + i32.const $4=, 16 + i32.add $4=, $6, $4 + call __floatsitf@FUNCTION, $4, $pop6 + i64.load $push13=, 16($6) + i32.const $push10=, 8 + i32.const $5=, 16 + i32.add $5=, $6, $5 + i32.add $push11=, $5, $pop10 + i64.load $push12=, 0($pop11) + call __addtf3@FUNCTION, $6, $pop13, $pop12, $3, $2 + i32.const $push18=, 0 + i64.load $push16=, 0($6) + i32.const $push44=, 8 + i32.add $push14=, $6, $pop44 + i64.load $push15=, 0($pop14) + i32.call $push17=, __fixtfsi@FUNCTION, $pop16, $pop15 + i32.store $discard=, foo_arg($pop18), $pop17 br 1 # 1: down to label11 -.LBB6_5: # %sw.bb5.i +.LBB6_5: # %sw.bb9.i end_block # label12: - i32.load $push26=, 76($10) - i32.const $push27=, 7 - i32.add $push28=, $pop26, $pop27 - i32.const $push29=, -8 - i32.and $push75=, $pop28, $pop29 - tee_local $push74=, $0=, $pop75 - i32.const $push73=, 8 - i32.add $push30=, $pop74, $pop73 - i32.store $discard=, 76($10), $pop30 - i32.load $1=, 0($0):p2align=3 - i32.const $push31=, 15 - i32.add $push32=, $0, $pop31 - i32.const $push72=, -8 - i32.and $push71=, $pop32, $pop72 - tee_local $push70=, $0=, $pop71 - i32.const $push69=, 8 - i32.add $push33=, $pop70, $pop69 - i32.store $discard=, 76($10), $pop33 - i32.const $push38=, 0 - f64.load $push34=, 0($0) - f64.convert_s/i32 $push35=, $1 - f64.add $push36=, $pop34, $pop35 - i32.trunc_s/f64 $push37=, $pop36 - i32.store $discard=, foo_arg($pop38), $pop37 + i32.const $push27=, 0 + i32.const $push19=, 7 + i32.add $push20=, $1, $pop19 + i32.const $push21=, -8 + i32.and $push43=, $pop20, $pop21 + tee_local $push42=, $0=, $pop43 + f64.load $push23=, 8($pop42) + i32.load $push22=, 0($0):p2align=3 + f64.convert_s/i32 $push24=, $pop22 + f64.add $push25=, $pop23, $pop24 + i32.trunc_s/f64 $push26=, $pop25 + i32.store $discard=, foo_arg($pop27), $pop26 .LBB6_6: # %foo.exit end_block # label11: - i32.const $7=, 80 - i32.add $10=, $10, $7 - i32.const $7=, __stack_pointer - i32.store $10=, 0($7), $10 + i32.const $push51=, 80 + i32.add $6=, $6, $pop51 + i32.const $push52=, __stack_pointer + i32.store $discard=, 0($pop52), $6 return .LBB6_7: # %sw.default.i end_block # label10: @@ -560,32 +429,20 @@ f5: # @f5 .type f6,@function f6: # @f6 .param i32, i32 - .local i32, i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $2=, $pop7, $pop8 + i32.store $push5=, 4($2), $1 + tee_local $push4=, $1=, $pop5 i32.const $push0=, 4 - i32.or $2=, $6, $pop0 - i32.store $push1=, 0($2), $1 - i32.const $push2=, 3 - i32.add $push3=, $pop1, $pop2 - i32.const $push4=, -4 - i32.and $push10=, $pop3, $pop4 - tee_local $push9=, $1=, $pop10 - i32.const $push8=, 4 - i32.add $push5=, $pop9, $pop8 - i32.store $discard=, 0($2), $pop5 - i32.const $push7=, 0 - i32.load $push6=, 0($1) - i32.store $discard=, x($pop7), $pop6 - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.add $push1=, $pop4, $pop0 + i32.store $discard=, 4($2), $pop1 + i32.const $push3=, 0 + i32.load $push2=, 0($1) + i32.store $discard=, x($pop3), $pop2 return .endfunc .Lfunc_end7: @@ -597,64 +454,56 @@ f6: # @f6 .type f7,@function f7: # @f7 .param i32, i32 - .local i32, i32, i32, i32 + .local i32, f64, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.const $push21=, 4 - i32.or $push0=, $5, $pop21 - i32.store $discard=, 0($pop0), $1 + i32.const $push22=, __stack_pointer + i32.load $push23=, 0($pop22) + i32.const $push24=, 16 + i32.sub $4=, $pop23, $pop24 + i32.const $push25=, __stack_pointer + i32.store $discard=, 0($pop25), $4 + i32.store $discard=, 4($4), $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 $push26=, 0 - i32.const $push25=, 0 - i32.load $push3=, gap($pop25) - i32.const $push4=, 3 - i32.add $push5=, $pop3, $pop4 - i32.const $push6=, -4 - i32.and $push24=, $pop5, $pop6 - tee_local $push23=, $1=, $pop24 - i32.const $push22=, 4 - i32.add $push7=, $pop23, $pop22 - i32.store $discard=, gap($pop26), $pop7 - i32.load $push8=, 0($1) - i32.const $push9=, 13 - i32.ne $push10=, $pop8, $pop9 - br_if 1, $pop10 # 1: down to label14 + i32.const $push18=, 0 + i32.const $push17=, 0 + i32.load $push16=, gap($pop17) + tee_local $push15=, $1=, $pop16 + i32.const $push3=, 4 + i32.add $push0=, $pop15, $pop3 + i32.store $2=, gap($pop18), $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 $push30=, 0 - i32.const $push29=, 0 - i32.load $push11=, gap($pop29) - i32.const $push12=, 7 - i32.add $push13=, $pop11, $pop12 - i32.const $push14=, -8 - i32.and $push28=, $pop13, $pop14 - tee_local $push27=, $1=, $pop28 - i32.const $push15=, 8 - i32.add $push16=, $pop27, $pop15 - i32.store $discard=, gap($pop30), $pop16 - f64.load $push17=, 0($1) - f64.const $push18=, -0x1.cp3 - f64.ne $push19=, $pop17, $pop18 - br_if 1, $pop19 # 1: down to label14 + 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 $push19=, 0 + i32.const $push10=, 8 + i32.add $push11=, $1, $pop10 + i32.store $discard=, gap($pop19), $pop11 + f64.const $push12=, -0x1.cp3 + f64.ne $push13=, $3, $pop12 + br_if 1, $pop13 # 1: down to label14 .LBB8_3: # %bar.exit end_block # label15: - i32.const $push20=, 0 - i32.store $discard=, bar_arg($pop20), $0 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push14=, 0 + i32.store $discard=, bar_arg($pop14), $0 + i32.const $push26=, 16 + i32.add $4=, $4, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $4 return -.LBB8_4: # %if.then3.i +.LBB8_4: # %if.then5.i end_block # label14: call abort@FUNCTION unreachable @@ -668,151 +517,95 @@ f7: # @f7 .type f8,@function f8: # @f8 .param i32, i32 - .local i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i64, i64, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 64 - i32.sub $13=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $13=, 0($6), $13 - i32.const $push60=, 4 - i32.const $8=, 40 - i32.add $8=, $13, $8 - i32.or $push0=, $8, $pop60 - i32.store $push1=, 0($pop0), $1 - i32.store $discard=, 60($13), $pop1 + i32.const $push47=, __stack_pointer + i32.load $push48=, 0($pop47) + i32.const $push49=, 48 + i32.sub $6=, $pop48, $pop49 + i32.const $push50=, __stack_pointer + i32.store $discard=, 0($pop50), $6 + i32.store $discard=, 36($6), $1 block block block block - i32.const $push2=, 11 - i32.eq $push3=, $0, $pop2 - br_if 0, $pop3 # 0: down to label19 + i32.const $push0=, 11 + i32.eq $push1=, $0, $pop0 + br_if 0, $pop1 # 0: down to label19 # BB#1: # %entry - i32.const $push61=, 8 - i32.eq $push4=, $0, $pop61 - br_if 1, $pop4 # 1: down to label18 + i32.const $push2=, 8 + i32.eq $push3=, $0, $pop2 + br_if 1, $pop3 # 1: down to label18 # BB#2: # %entry - i32.const $push5=, 5 - i32.ne $push6=, $0, $pop5 - br_if 3, $pop6 # 3: down to label16 + i32.const $push4=, 5 + i32.ne $push5=, $0, $pop4 + br_if 3, $pop5 # 3: down to label16 # BB#3: # %sw.bb.i - i32.load $push39=, 60($13) - i32.const $push40=, 3 - i32.add $push41=, $pop39, $pop40 - i32.const $push42=, -4 - i32.and $push69=, $pop41, $pop42 - tee_local $push68=, $0=, $pop69 - i32.const $push43=, 4 - i32.add $push44=, $pop68, $pop43 - i32.store $discard=, 60($13), $pop44 - i32.load $1=, 0($0) - i32.const $push45=, 11 - i32.add $push46=, $0, $pop45 - i32.const $push47=, -8 - i32.and $push67=, $pop46, $pop47 - tee_local $push66=, $0=, $pop67 - i32.const $push48=, 8 - i32.add $push49=, $pop66, $pop48 - i32.store $discard=, 60($13), $pop49 - f64.convert_s/i32 $push51=, $1 - f64.load $push50=, 0($0) - f64.add $push52=, $pop51, $pop50 - i32.trunc_s/f64 $1=, $pop52 - i32.const $push53=, 15 - i32.add $push54=, $0, $pop53 - i32.const $push65=, -8 - i32.and $push64=, $pop54, $pop65 - tee_local $push63=, $0=, $pop64 - i32.const $push62=, 8 - i32.add $push55=, $pop63, $pop62 - i32.store $discard=, 60($13), $pop55 - i32.const $push59=, 0 - i64.extend_u/i32 $push57=, $1 - i64.load $push56=, 0($0) - i64.add $push58=, $pop57, $pop56 - i64.store32 $discard=, foo_arg($pop59), $pop58 + 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 $push41=, $pop30, $pop31 + tee_local $push40=, $0=, $pop41 + f64.load $push32=, 0($pop40) + 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 $discard=, foo_arg($pop39), $pop38 br 2 # 2: down to label17 -.LBB9_4: # %sw.bb10.i +.LBB9_4: # %sw.bb18.i end_block # label19: - i32.load $push7=, 60($13) - i32.const $push8=, 3 - i32.add $push9=, $pop7, $pop8 - i32.const $push10=, -4 - i32.and $push84=, $pop9, $pop10 - tee_local $push83=, $0=, $pop84 - i32.const $push82=, 4 - i32.add $push11=, $pop83, $pop82 - i32.store $discard=, 60($13), $pop11 - i32.load $1=, 0($0) - i32.const $push12=, 19 - i32.add $push13=, $0, $pop12 - i32.const $push14=, -16 - i32.and $push81=, $pop13, $pop14 - tee_local $push80=, $4=, $pop81 - i32.const $push15=, 8 - i32.or $push16=, $pop80, $pop15 - i32.store $0=, 60($13), $pop16 - i64.load $2=, 0($4) - i32.const $push79=, 8 - i32.add $push17=, $0, $pop79 - i32.store $discard=, 60($13), $pop17 - i64.load $3=, 0($0) - i32.const $9=, 24 - i32.add $9=, $13, $9 - call __floatsitf@FUNCTION, $9, $1 - i64.load $push20=, 24($13) - i32.const $push78=, 8 - i32.const $10=, 24 - i32.add $10=, $13, $10 - i32.add $push18=, $10, $pop78 - i64.load $push19=, 0($pop18) - i32.const $11=, 8 - i32.add $11=, $13, $11 - call __addtf3@FUNCTION, $11, $pop20, $pop19, $2, $3 - i32.const $push25=, 0 - i64.load $push23=, 8($13) - i32.const $push77=, 8 - i32.const $12=, 8 - i32.add $12=, $13, $12 - i32.add $push21=, $12, $pop77 - i64.load $push22=, 0($pop21) - i32.call $push24=, __fixtfsi@FUNCTION, $pop23, $pop22 - i32.store $discard=, foo_arg($pop25), $pop24 + i32.const $push7=, 19 + i32.add $push8=, $1, $pop7 + i32.const $push9=, -16 + i32.and $push46=, $pop8, $pop9 + tee_local $push45=, $0=, $pop46 + i64.load $2=, 8($pop45) + i64.load $3=, 0($0):p2align=4 + i32.load $push6=, 0($1) + i32.const $4=, 16 + i32.add $4=, $6, $4 + call __floatsitf@FUNCTION, $4, $pop6 + i64.load $push13=, 16($6) + i32.const $push10=, 8 + i32.const $5=, 16 + i32.add $5=, $6, $5 + i32.add $push11=, $5, $pop10 + i64.load $push12=, 0($pop11) + call __addtf3@FUNCTION, $6, $pop13, $pop12, $3, $2 + i32.const $push18=, 0 + i64.load $push16=, 0($6) + i32.const $push44=, 8 + i32.add $push14=, $6, $pop44 + i64.load $push15=, 0($pop14) + i32.call $push17=, __fixtfsi@FUNCTION, $pop16, $pop15 + i32.store $discard=, foo_arg($pop18), $pop17 br 1 # 1: down to label17 -.LBB9_5: # %sw.bb5.i +.LBB9_5: # %sw.bb9.i end_block # label18: - i32.load $push26=, 60($13) - i32.const $push27=, 7 - i32.add $push28=, $pop26, $pop27 - i32.const $push29=, -8 - i32.and $push76=, $pop28, $pop29 - tee_local $push75=, $0=, $pop76 - i32.const $push74=, 8 - i32.add $push30=, $pop75, $pop74 - i32.store $discard=, 60($13), $pop30 - i32.load $1=, 0($0):p2align=3 - i32.const $push31=, 15 - i32.add $push32=, $0, $pop31 - i32.const $push73=, -8 - i32.and $push72=, $pop32, $pop73 - tee_local $push71=, $0=, $pop72 - i32.const $push70=, 8 - i32.add $push33=, $pop71, $pop70 - i32.store $discard=, 60($13), $pop33 - i32.const $push38=, 0 - f64.load $push34=, 0($0) - f64.convert_s/i32 $push35=, $1 - f64.add $push36=, $pop34, $pop35 - i32.trunc_s/f64 $push37=, $pop36 - i32.store $discard=, foo_arg($pop38), $pop37 + i32.const $push27=, 0 + i32.const $push19=, 7 + i32.add $push20=, $1, $pop19 + i32.const $push21=, -8 + i32.and $push43=, $pop20, $pop21 + tee_local $push42=, $0=, $pop43 + f64.load $push23=, 8($pop42) + i32.load $push22=, 0($0):p2align=3 + f64.convert_s/i32 $push24=, $pop22 + f64.add $push25=, $pop23, $pop24 + i32.trunc_s/f64 $push26=, $pop25 + i32.store $discard=, foo_arg($pop27), $pop26 .LBB9_6: # %foo.exit end_block # label17: - i32.const $7=, 64 - i32.add $13=, $13, $7 - i32.const $7=, __stack_pointer - i32.store $13=, 0($7), $13 + i32.const $push51=, 48 + i32.add $6=, $6, $pop51 + i32.const $push52=, __stack_pointer + i32.store $discard=, 0($pop52), $6 return .LBB9_7: # %sw.default.i end_block # label16: @@ -828,32 +621,22 @@ f8: # @f8 .type f10,@function f10: # @f10 .param i32, i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 16 + i32.sub $3=, $pop8, $pop9 i32.const $push0=, 12 - i32.add $2=, $6, $pop0 - i32.store $push1=, 0($2), $1 - i32.const $push2=, 3 - i32.add $push3=, $pop1, $pop2 - i32.const $push4=, -4 - i32.and $push10=, $pop3, $pop4 - tee_local $push9=, $1=, $pop10 - i32.const $push5=, 4 - i32.add $push6=, $pop9, $pop5 - i32.store $discard=, 0($2), $pop6 - i32.const $push8=, 0 - i32.load $push7=, 0($1) - i32.store $discard=, x($pop8), $pop7 - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.add $2=, $3, $pop0 + i32.store $push6=, 0($2), $1 + tee_local $push5=, $1=, $pop6 + i32.const $push1=, 4 + i32.add $push2=, $pop5, $pop1 + i32.store $discard=, 0($2), $pop2 + i32.const $push4=, 0 + i32.load $push3=, 0($1) + i32.store $discard=, x($pop4), $pop3 return .endfunc .Lfunc_end10: @@ -865,64 +648,58 @@ f10: # @f10 .type f11,@function f11: # @f11 .param i32, i32 - .local i32, i32, i32, i32 + .local i32, f64, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.const $push1=, 12 - i32.add $push0=, $5, $pop1 + i32.const $push24=, __stack_pointer + i32.load $push25=, 0($pop24) + i32.const $push26=, 16 + i32.sub $4=, $pop25, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $4 + i32.const $push2=, 12 + i32.add $push0=, $4, $pop2 i32.store $discard=, 0($pop0), $1 block block - i32.const $push2=, 16386 - i32.ne $push3=, $0, $pop2 - br_if 0, $pop3 # 0: down to label21 + i32.const $push3=, 16386 + i32.ne $push4=, $0, $pop3 + br_if 0, $pop4 # 0: down to label21 # BB#1: # %if.then.i - i32.const $push26=, 0 - i32.const $push25=, 0 - i32.load $push4=, gap($pop25) - i32.const $push5=, 3 - i32.add $push6=, $pop4, $pop5 - i32.const $push7=, -4 - i32.and $push24=, $pop6, $pop7 - tee_local $push23=, $1=, $pop24 - i32.const $push8=, 4 - i32.add $push9=, $pop23, $pop8 - i32.store $discard=, gap($pop26), $pop9 - i32.load $push10=, 0($1) - i32.const $push11=, 13 - i32.ne $push12=, $pop10, $pop11 - br_if 1, $pop12 # 1: down to label20 + i32.const $push20=, 0 + i32.const $push19=, 0 + i32.load $push18=, gap($pop19) + tee_local $push17=, $1=, $pop18 + i32.const $push5=, 4 + i32.add $push1=, $pop17, $pop5 + i32.store $2=, gap($pop20), $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 $push30=, 0 - i32.const $push29=, 0 - i32.load $push13=, gap($pop29) - i32.const $push14=, 7 - i32.add $push15=, $pop13, $pop14 - i32.const $push16=, -8 - i32.and $push28=, $pop15, $pop16 - tee_local $push27=, $1=, $pop28 - i32.const $push17=, 8 - i32.add $push18=, $pop27, $pop17 - i32.store $discard=, gap($pop30), $pop18 - f64.load $push19=, 0($1) - f64.const $push20=, -0x1.cp3 - f64.ne $push21=, $pop19, $pop20 - br_if 1, $pop21 # 1: down to label20 + i32.const $push9=, 7 + i32.add $push10=, $2, $pop9 + i32.const $push11=, -8 + i32.and $push23=, $pop10, $pop11 + tee_local $push22=, $1=, $pop23 + f64.load $3=, 0($pop22) + i32.const $push21=, 0 + i32.const $push12=, 8 + i32.add $push13=, $1, $pop12 + i32.store $discard=, gap($pop21), $pop13 + f64.const $push14=, -0x1.cp3 + f64.ne $push15=, $3, $pop14 + br_if 1, $pop15 # 1: down to label20 .LBB11_3: # %bar.exit end_block # label21: - i32.const $push22=, 0 - i32.store $discard=, bar_arg($pop22), $0 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push16=, 0 + i32.store $discard=, bar_arg($pop16), $0 + i32.const $push28=, 16 + i32.add $4=, $4, $pop28 + i32.const $push29=, __stack_pointer + i32.store $discard=, 0($pop29), $4 return -.LBB11_4: # %if.then3.i +.LBB11_4: # %if.then5.i end_block # label20: call abort@FUNCTION unreachable @@ -936,151 +713,99 @@ f11: # @f11 .type f12,@function f12: # @f12 .param i32, i32 - .local i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i64, i64, i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 64 - i32.sub $13=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $13=, 0($6), $13 + i32.const $push49=, __stack_pointer + i32.load $push50=, 0($pop49) + i32.const $push51=, 48 + i32.sub $7=, $pop50, $pop51 + i32.const $push52=, __stack_pointer + i32.store $discard=, 0($pop52), $7 i32.const $push1=, 12 - i32.const $8=, 40 - i32.add $8=, $13, $8 - i32.add $push0=, $8, $pop1 - i32.store $push2=, 0($pop0), $1 - i32.store $discard=, 60($13), $pop2 + i32.const $4=, 32 + i32.add $4=, $7, $4 + i32.add $push0=, $4, $pop1 + i32.store $discard=, 0($pop0), $1 block block block block - i32.const $push3=, 11 - i32.eq $push4=, $0, $pop3 - br_if 0, $pop4 # 0: down to label25 + i32.const $push2=, 11 + i32.eq $push3=, $0, $pop2 + br_if 0, $pop3 # 0: down to label25 # BB#1: # %entry - i32.const $push62=, 8 - i32.eq $push5=, $0, $pop62 + i32.const $push4=, 8 + i32.eq $push5=, $0, $pop4 br_if 1, $pop5 # 1: down to label24 # BB#2: # %entry i32.const $push6=, 5 i32.ne $push7=, $0, $pop6 br_if 3, $pop7 # 3: down to label22 # BB#3: # %sw.bb.i - i32.load $push41=, 60($13) - i32.const $push42=, 3 - i32.add $push43=, $pop41, $pop42 - i32.const $push44=, -4 - i32.and $push70=, $pop43, $pop44 - tee_local $push69=, $0=, $pop70 - i32.const $push45=, 4 - i32.add $push46=, $pop69, $pop45 - i32.store $discard=, 60($13), $pop46 - i32.load $1=, 0($0) - i32.const $push47=, 11 - i32.add $push48=, $0, $pop47 - i32.const $push49=, -8 - i32.and $push68=, $pop48, $pop49 - tee_local $push67=, $0=, $pop68 - i32.const $push50=, 8 - i32.add $push51=, $pop67, $pop50 - i32.store $discard=, 60($13), $pop51 - f64.convert_s/i32 $push53=, $1 - f64.load $push52=, 0($0) - f64.add $push54=, $pop53, $pop52 - i32.trunc_s/f64 $1=, $pop54 - i32.const $push55=, 15 - i32.add $push56=, $0, $pop55 - i32.const $push66=, -8 - i32.and $push65=, $pop56, $pop66 - tee_local $push64=, $0=, $pop65 - i32.const $push63=, 8 - i32.add $push57=, $pop64, $pop63 - i32.store $discard=, 60($13), $pop57 - i32.const $push61=, 0 - i64.extend_u/i32 $push59=, $1 - i64.load $push58=, 0($0) - i64.add $push60=, $pop59, $pop58 - i64.store32 $discard=, foo_arg($pop61), $pop60 + 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 $push43=, $pop32, $pop33 + tee_local $push42=, $0=, $pop43 + f64.load $push34=, 0($pop42) + 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 $discard=, foo_arg($pop41), $pop40 br 2 # 2: down to label23 -.LBB12_4: # %sw.bb10.i +.LBB12_4: # %sw.bb18.i end_block # label25: - i32.load $push8=, 60($13) - i32.const $push9=, 3 - i32.add $push10=, $pop8, $pop9 - i32.const $push11=, -4 - i32.and $push84=, $pop10, $pop11 - tee_local $push83=, $0=, $pop84 - i32.const $push12=, 4 - i32.add $push13=, $pop83, $pop12 - i32.store $discard=, 60($13), $pop13 - i32.load $1=, 0($0) - i32.const $push14=, 19 - i32.add $push15=, $0, $pop14 - i32.const $push16=, -16 - i32.and $push82=, $pop15, $pop16 - tee_local $push81=, $4=, $pop82 - i32.const $push17=, 8 - i32.or $push18=, $pop81, $pop17 - i32.store $0=, 60($13), $pop18 - i64.load $2=, 0($4) - i32.const $push80=, 8 - i32.add $push19=, $0, $pop80 - i32.store $discard=, 60($13), $pop19 - i64.load $3=, 0($0) - i32.const $9=, 24 - i32.add $9=, $13, $9 - call __floatsitf@FUNCTION, $9, $1 - i64.load $push22=, 24($13) - i32.const $push79=, 8 - i32.const $10=, 24 - i32.add $10=, $13, $10 - i32.add $push20=, $10, $pop79 - i64.load $push21=, 0($pop20) - i32.const $11=, 8 - i32.add $11=, $13, $11 - call __addtf3@FUNCTION, $11, $pop22, $pop21, $2, $3 - i32.const $push27=, 0 - i64.load $push25=, 8($13) - i32.const $push78=, 8 - i32.const $12=, 8 - i32.add $12=, $13, $12 - i32.add $push23=, $12, $pop78 - i64.load $push24=, 0($pop23) - i32.call $push26=, __fixtfsi@FUNCTION, $pop25, $pop24 - i32.store $discard=, foo_arg($pop27), $pop26 + i32.const $push9=, 19 + i32.add $push10=, $1, $pop9 + i32.const $push11=, -16 + i32.and $push48=, $pop10, $pop11 + tee_local $push47=, $0=, $pop48 + i64.load $2=, 8($pop47) + i64.load $3=, 0($0):p2align=4 + i32.load $push8=, 0($1) + i32.const $5=, 16 + i32.add $5=, $7, $5 + call __floatsitf@FUNCTION, $5, $pop8 + i64.load $push15=, 16($7) + i32.const $push12=, 8 + i32.const $6=, 16 + i32.add $6=, $7, $6 + i32.add $push13=, $6, $pop12 + i64.load $push14=, 0($pop13) + call __addtf3@FUNCTION, $7, $pop15, $pop14, $3, $2 + i32.const $push20=, 0 + i64.load $push18=, 0($7) + i32.const $push46=, 8 + i32.add $push16=, $7, $pop46 + i64.load $push17=, 0($pop16) + i32.call $push19=, __fixtfsi@FUNCTION, $pop18, $pop17 + i32.store $discard=, foo_arg($pop20), $pop19 br 1 # 1: down to label23 -.LBB12_5: # %sw.bb5.i +.LBB12_5: # %sw.bb9.i end_block # label24: - i32.load $push28=, 60($13) - i32.const $push29=, 7 - i32.add $push30=, $pop28, $pop29 - i32.const $push31=, -8 - i32.and $push77=, $pop30, $pop31 - tee_local $push76=, $0=, $pop77 - i32.const $push75=, 8 - i32.add $push32=, $pop76, $pop75 - i32.store $discard=, 60($13), $pop32 - i32.load $1=, 0($0):p2align=3 - i32.const $push33=, 15 - i32.add $push34=, $0, $pop33 - i32.const $push74=, -8 - i32.and $push73=, $pop34, $pop74 - tee_local $push72=, $0=, $pop73 - i32.const $push71=, 8 - i32.add $push35=, $pop72, $pop71 - i32.store $discard=, 60($13), $pop35 - i32.const $push40=, 0 - f64.load $push36=, 0($0) - f64.convert_s/i32 $push37=, $1 - f64.add $push38=, $pop36, $pop37 - i32.trunc_s/f64 $push39=, $pop38 - i32.store $discard=, foo_arg($pop40), $pop39 + i32.const $push29=, 0 + i32.const $push21=, 7 + i32.add $push22=, $1, $pop21 + i32.const $push23=, -8 + i32.and $push45=, $pop22, $pop23 + tee_local $push44=, $0=, $pop45 + f64.load $push25=, 8($pop44) + i32.load $push24=, 0($0):p2align=3 + f64.convert_s/i32 $push26=, $pop24 + f64.add $push27=, $pop25, $pop26 + i32.trunc_s/f64 $push28=, $pop27 + i32.store $discard=, foo_arg($pop29), $pop28 .LBB12_6: # %foo.exit end_block # label23: - i32.const $7=, 64 - i32.add $13=, $13, $7 - i32.const $7=, __stack_pointer - i32.store $13=, 0($7), $13 + i32.const $push53=, 48 + i32.add $7=, $7, $pop53 + i32.const $push54=, __stack_pointer + i32.store $discard=, 0($pop54), $7 return .LBB12_7: # %sw.default.i end_block # label22: @@ -1096,169 +821,155 @@ f12: # @f12 .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 176 - i32.sub $16=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $16=, 0($2), $16 + i32.const $push69=, __stack_pointer + i32.load $push70=, 0($pop69) + i32.const $push71=, 176 + i32.sub $10=, $pop70, $pop71 + i32.const $push72=, __stack_pointer + i32.store $discard=, 0($pop72), $10 i32.const $push0=, 79 - i32.store $0=, 160($16):p2align=4, $pop0 - i32.const $4=, 160 - i32.add $4=, $16, $4 - call f1@FUNCTION, $0, $4 + i32.store $0=, 160($10):p2align=4, $pop0 + i32.const $1=, 160 + i32.add $1=, $10, $1 + call f1@FUNCTION, $0, $1 block - i32.const $push58=, 0 - i32.load $push1=, x($pop58) + i32.const $push51=, 0 + i32.load $push1=, x($pop51) i32.ne $push2=, $0, $pop1 br_if 0, $pop2 # 0: down to label26 # BB#1: # %if.end - i32.const $push3=, 8 - i32.const $5=, 144 - i32.add $5=, $16, $5 - i32.or $push4=, $5, $pop3 - i64.const $push5=, -4599301119452119040 - i64.store $discard=, 0($pop4), $pop5 - i32.const $push6=, 13 - i32.store $discard=, 144($16):p2align=4, $pop6 - i32.const $push7=, 16386 - i32.const $6=, 144 - i32.add $6=, $16, $6 - call f2@FUNCTION, $pop7, $6 - i32.const $push60=, 0 - i32.load $push8=, bar_arg($pop60) - i32.const $push59=, 16386 - i32.ne $push9=, $pop8, $pop59 - br_if 0, $pop9 # 0: down to label26 + i64.const $push3=, -4599301119452119040 + i64.store $discard=, 152($10), $pop3 + i32.const $push4=, 13 + i32.store $discard=, 144($10):p2align=4, $pop4 + i32.const $push5=, 16386 + i32.const $2=, 144 + i32.add $2=, $10, $2 + call f2@FUNCTION, $pop5, $2 + i32.const $push53=, 0 + i32.load $push6=, bar_arg($pop53) + i32.const $push52=, 16386 + i32.ne $push7=, $pop6, $pop52 + br_if 0, $pop7 # 0: down to label26 # BB#2: # %if.end3 - i32.const $push10=, 2031 - i32.store $0=, 128($16):p2align=4, $pop10 - i32.const $7=, 128 - i32.add $7=, $16, $7 - call f3@FUNCTION, $0, $7 - i32.const $push61=, 0 - i32.load $push11=, x($pop61) - i32.ne $push12=, $0, $pop11 - br_if 0, $pop12 # 0: down to label26 + i32.const $push8=, 2031 + i32.store $0=, 128($10):p2align=4, $pop8 + i32.const $3=, 128 + i32.add $3=, $10, $3 + call f3@FUNCTION, $0, $3 + i32.const $push54=, 0 + i32.load $push9=, x($pop54) + i32.ne $push10=, $0, $pop9 + br_if 0, $pop10 # 0: down to label26 # BB#3: # %if.end6 - i32.const $push13=, 18 - i32.store $discard=, 112($16):p2align=4, $pop13 - i32.const $push14=, 4 - i32.const $8=, 112 - i32.add $8=, $16, $8 - call f4@FUNCTION, $pop14, $8 - i32.const $push63=, 0 - i32.load $push15=, bar_arg($pop63) - i32.const $push62=, 4 - i32.ne $push16=, $pop15, $pop62 - br_if 0, $pop16 # 0: down to label26 + i32.const $push11=, 18 + i32.store $discard=, 112($10):p2align=4, $pop11 + i32.const $push12=, 4 + i32.const $4=, 112 + i32.add $4=, $10, $4 + call f4@FUNCTION, $pop12, $4 + i32.const $push56=, 0 + i32.load $push13=, bar_arg($pop56) + i32.const $push55=, 4 + i32.ne $push14=, $pop13, $pop55 + br_if 0, $pop14 # 0: down to label26 # BB#4: # %if.end9 - i32.const $push17=, 16 - i32.const $9=, 80 - i32.add $9=, $16, $9 - i32.add $push18=, $9, $pop17 - i64.const $push19=, 18 - i64.store $discard=, 0($pop18):p2align=4, $pop19 - i32.const $push20=, 8 - i32.const $10=, 80 - i32.add $10=, $16, $10 - i32.or $push21=, $10, $pop20 - i64.const $push22=, 4626041242239631360 - i64.store $discard=, 0($pop21), $pop22 - i32.const $push23=, 1 - i32.store $discard=, 80($16):p2align=4, $pop23 - i32.const $push24=, 5 - i32.const $11=, 80 - i32.add $11=, $16, $11 - call f5@FUNCTION, $pop24, $11 - i32.const $push64=, 0 - i32.load $push25=, foo_arg($pop64) - i32.const $push26=, 38 - i32.ne $push27=, $pop25, $pop26 - br_if 0, $pop27 # 0: down to label26 + i32.const $push15=, 16 + i32.const $5=, 80 + i32.add $5=, $10, $5 + i32.add $push16=, $5, $pop15 + i64.const $push17=, 18 + i64.store $discard=, 0($pop16):p2align=4, $pop17 + i64.const $push18=, 4626041242239631360 + i64.store $discard=, 88($10), $pop18 + i32.const $push19=, 1 + i32.store $discard=, 80($10):p2align=4, $pop19 + i32.const $push20=, 5 + i32.const $6=, 80 + i32.add $6=, $10, $6 + call f5@FUNCTION, $pop20, $6 + i32.const $push57=, 0 + i32.load $push21=, foo_arg($pop57) + i32.const $push22=, 38 + i32.ne $push23=, $pop21, $pop22 + br_if 0, $pop23 # 0: down to label26 # BB#5: # %if.end12 - i32.const $push28=, 18 - i32.store $0=, 64($16):p2align=4, $pop28 - i32.const $12=, 64 - i32.add $12=, $16, $12 - call f6@FUNCTION, $0, $12 - i32.const $push65=, 0 - i32.load $push29=, x($pop65) - i32.ne $push30=, $0, $pop29 - br_if 0, $pop30 # 0: down to label26 + i32.const $push24=, 18 + i32.store $0=, 64($10):p2align=4, $pop24 + i32.const $7=, 64 + i32.add $7=, $10, $7 + call f6@FUNCTION, $0, $7 + i32.const $push58=, 0 + i32.load $push25=, x($pop58) + i32.ne $push26=, $0, $pop25 + br_if 0, $pop26 # 0: down to label26 # BB#6: # %if.end15 - i32.const $push31=, 7 - i32.const $push68=, 0 - call f7@FUNCTION, $pop31, $pop68 - i32.const $push67=, 0 - i32.load $push32=, bar_arg($pop67) - i32.const $push66=, 7 - i32.ne $push33=, $pop32, $pop66 - br_if 0, $pop33 # 0: down to label26 + i32.const $push27=, 7 + i32.const $push61=, 0 + call f7@FUNCTION, $pop27, $pop61 + i32.const $push60=, 0 + i32.load $push28=, bar_arg($pop60) + i32.const $push59=, 7 + i32.ne $push29=, $pop28, $pop59 + br_if 0, $pop29 # 0: down to label26 # BB#7: # %if.end18 - i32.const $push34=, 8 - i32.const $13=, 48 - i32.add $13=, $16, $13 - i32.or $push35=, $13, $pop34 - i64.const $push36=, 4623507967449235456 - i64.store $discard=, 0($pop35), $pop36 - i64.const $push37=, 2031 - i64.store $discard=, 48($16):p2align=4, $pop37 - i32.const $push70=, 8 - i32.const $14=, 48 - i32.add $14=, $16, $14 - call f8@FUNCTION, $pop70, $14 - i32.const $push69=, 0 - i32.load $push38=, foo_arg($pop69) - i32.const $push39=, 2044 - i32.ne $push40=, $pop38, $pop39 - br_if 0, $pop40 # 0: down to label26 + i64.const $push30=, 4623507967449235456 + i64.store $discard=, 56($10), $pop30 + i64.const $push31=, 2031 + i64.store $discard=, 48($10):p2align=4, $pop31 + i32.const $push32=, 8 + i32.const $8=, 48 + i32.add $8=, $10, $8 + call f8@FUNCTION, $pop32, $8 + i32.const $push62=, 0 + i32.load $push33=, foo_arg($pop62) + i32.const $push34=, 2044 + i32.ne $push35=, $pop33, $pop34 + br_if 0, $pop35 # 0: down to label26 # BB#8: # %if.end21 - i32.const $push41=, 180 - i32.store $0=, 32($16):p2align=4, $pop41 - i32.const $15=, 32 - i32.add $15=, $16, $15 - call f10@FUNCTION, $0, $15 - i32.const $push71=, 0 - i32.load $push42=, x($pop71) - i32.ne $push43=, $0, $pop42 - br_if 0, $pop43 # 0: down to label26 + i32.const $push36=, 180 + i32.store $0=, 32($10):p2align=4, $pop36 + i32.const $9=, 32 + i32.add $9=, $10, $9 + call f10@FUNCTION, $0, $9 + i32.const $push63=, 0 + i32.load $push37=, x($pop63) + i32.ne $push38=, $0, $pop37 + br_if 0, $pop38 # 0: down to label26 # BB#9: # %if.end24 - i32.const $push44=, 10 - i32.const $push74=, 0 - call f11@FUNCTION, $pop44, $pop74 - i32.const $push73=, 0 - i32.load $push45=, bar_arg($pop73) - i32.const $push72=, 10 - i32.ne $push46=, $pop45, $pop72 - br_if 0, $pop46 # 0: down to label26 + i32.const $push39=, 10 + i32.const $push66=, 0 + call f11@FUNCTION, $pop39, $pop66 + i32.const $push65=, 0 + i32.load $push40=, bar_arg($pop65) + i32.const $push64=, 10 + i32.ne $push41=, $pop40, $pop64 + br_if 0, $pop41 # 0: down to label26 # BB#10: # %if.end27 - i32.const $push47=, 16 - i32.add $push48=, $16, $pop47 - i64.const $push49=, 4612389705869164544 - i64.store $discard=, 0($pop48):p2align=4, $pop49 - i32.const $push50=, 8 - i32.or $push51=, $16, $pop50 - i64.const $push52=, 0 - i64.store $discard=, 0($pop51), $pop52 - i32.const $push53=, 2030 - i32.store $discard=, 0($16):p2align=4, $pop53 - i32.const $push54=, 11 - call f12@FUNCTION, $pop54, $16 - i32.const $push75=, 0 - i32.load $push55=, foo_arg($pop75) - i32.const $push56=, 2042 - i32.ne $push57=, $pop55, $pop56 - br_if 0, $pop57 # 0: down to label26 + i32.const $push42=, 16 + i32.add $push43=, $10, $pop42 + i64.const $push44=, 4612389705869164544 + i64.store $discard=, 0($pop43):p2align=4, $pop44 + i64.const $push45=, 0 + i64.store $discard=, 8($10), $pop45 + i32.const $push46=, 2030 + i32.store $discard=, 0($10):p2align=4, $pop46 + i32.const $push47=, 11 + call f12@FUNCTION, $pop47, $10 + i32.const $push67=, 0 + i32.load $push48=, foo_arg($pop67) + i32.const $push49=, 2042 + i32.ne $push50=, $pop48, $pop49 + br_if 0, $pop50 # 0: down to label26 # BB#11: # %if.end30 - i32.const $push76=, 0 - i32.const $3=, 176 - i32.add $16=, $16, $3 - i32.const $3=, __stack_pointer - i32.store $16=, 0($3), $16 - return $pop76 + i32.const $push68=, 0 + i32.const $push73=, 176 + i32.add $10=, $10, $pop73 + i32.const $push74=, __stack_pointer + i32.store $discard=, 0($pop74), $10 + return $pop68 .LBB13_12: # %if.then29 end_block # label26: call abort@FUNCTION |