diff options
62 files changed, 7186 insertions, 9149 deletions
diff --git a/test/revision b/test/revision index 44ba45cfd..830a20363 100644 --- a/test/revision +++ b/test/revision @@ -1 +1 @@ -2907 +3002 diff --git a/test/s2wasm_known_binaryen_shell_test_failures.txt b/test/s2wasm_known_binaryen_shell_test_failures.txt index 6ed051690..9d1820ea2 100644 --- a/test/s2wasm_known_binaryen_shell_test_failures.txt +++ b/test/s2wasm_known_binaryen_shell_test_failures.txt @@ -2,7 +2,6 @@ pr27260.c.s.wast # [trap final > memory] -20000519-1.c.s.wast 20000801-1.c.s.wast 20010915-1.c.s.wast 20020413-1.c.s.wast @@ -11,7 +10,6 @@ pr27260.c.s.wast 20030916-1.c.s.wast 20031012-1.c.s.wast 20040709-1.c.s.wast -20041113-1.c.s.wast 20041214-1.c.s.wast 20050502-1.c.s.wast 20050502-2.c.s.wast @@ -19,7 +17,6 @@ pr27260.c.s.wast 20070517-1.c.s.wast 20071029-1.c.s.wast 20071030-1.c.s.wast -20071213-1.c.s.wast 20080502-1.c.s.wast 20080506-2.c.s.wast 20100708-1.c.s.wast @@ -29,9 +26,7 @@ pr27260.c.s.wast 920726-1.c.s.wast 930513-1.c.s.wast 960327-1.c.s.wast -980205.c.s.wast 980605-1.c.s.wast -980608-1.c.s.wast 990513-1.c.s.wast 991201-1.c.s.wast bitfld-5.c.s.wast @@ -57,30 +52,12 @@ pr57130.c.s.wast pr60960.c.s.wast stdarg-1.c.s.wast stdarg-2.c.s.wast -stdarg-4.c.s.wast string-opt-17.c.s.wast string-opt-18.c.s.wast struct-ret-1.c.s.wast -va-arg-1.c.s.wast -va-arg-11.c.s.wast -va-arg-12.c.s.wast -va-arg-13.c.s.wast -va-arg-14.c.s.wast -va-arg-15.c.s.wast -va-arg-16.c.s.wast -va-arg-17.c.s.wast -va-arg-18.c.s.wast -va-arg-19.c.s.wast va-arg-2.c.s.wast -va-arg-20.c.s.wast -va-arg-23.c.s.wast -va-arg-24.c.s.wast -va-arg-26.c.s.wast -va-arg-4.c.s.wast va-arg-5.c.s.wast va-arg-6.c.s.wast -va-arg-7.c.s.wast -va-arg-8.c.s.wast va-arg-9.c.s.wast # [trap offset > memory] diff --git a/test/torture-s/20000519-1.c.s b/test/torture-s/20000519-1.c.s index 6b13b198d..829e88816 100644 --- a/test/torture-s/20000519-1.c.s +++ b/test/torture-s/20000519-1.c.s @@ -50,18 +50,17 @@ bar: # @bar .globl foo .type foo,@function foo: # @foo - .param i32 + .param i32, i32 .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $2=, __stack_pointer i32.load $2=, 0($2) i32.const $3=, 16 i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer i32.store $5=, 0($3), $5 - i32.store $push1=, 8($5), $6 + i32.store $push1=, 8($5), $1 i32.store $discard=, 12($5), $pop1 .LBB1_1: # %do.body.i # =>This Inner Loop Header: Depth=1 @@ -84,7 +83,7 @@ foo: # @foo end_loop # label3: i32.add $push7=, $1, $0 i32.const $4=, 16 - i32.add $5=, $6, $4 + i32.add $5=, $5, $4 i32.const $4=, __stack_pointer i32.store $5=, 0($4), $5 return $pop7 @@ -98,41 +97,29 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 16 - i32.sub $8=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $8=, 0($6), $8 + i32.const $0=, __stack_pointer + i32.load $0=, 0($0) + i32.const $1=, 16 + i32.sub $3=, $0, $1 i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 8 - i32.sub $8=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $8=, 0($2), $8 + i32.store $3=, 0($1), $3 i64.const $push0=, 12884901890 - i64.store $discard=, 0($8):p2align=2, $pop0 - i32.const $push1=, 1 - i32.call $0=, foo@FUNCTION, $pop1 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 8 - i32.add $8=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $8=, 0($4), $8 + i64.store $discard=, 0($3):p2align=4, $pop0 block - i32.const $push2=, 3 - i32.ne $push3=, $0, $pop2 - br_if 0, $pop3 # 0: down to label4 + i32.const $push1=, 1 + i32.call $push2=, foo@FUNCTION, $pop1, $3 + i32.const $push3=, 3 + i32.ne $push4=, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label4 # BB#1: # %if.end - i32.const $push4=, 0 - i32.const $7=, 16 - i32.add $8=, $8, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 - return $pop4 + i32.const $push5=, 0 + i32.const $2=, 16 + i32.add $3=, $3, $2 + i32.const $2=, __stack_pointer + i32.store $3=, 0($2), $3 + return $pop5 .LBB2_2: # %if.then end_block # label4: call abort@FUNCTION diff --git a/test/torture-s/20020406-1.c.s b/test/torture-s/20020406-1.c.s index f1fbde5a9..c65b9947d 100644 --- a/test/torture-s/20020406-1.c.s +++ b/test/torture-s/20020406-1.c.s @@ -118,95 +118,84 @@ DUPFFshift_add: # @DUPFFshift_add DUPFFexgcd: # @DUPFFexgcd .param i32, i32, i32, i32 .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $12=, __stack_pointer - i32.load $12=, 0($12) - i32.const $13=, 16 - i32.sub $15=, $12, $13 - i32.const $13=, __stack_pointer - i32.store $15=, 0($13), $15 - i32.load $7=, 4($2) - i32.load $6=, 4($3) + i32.const $9=, __stack_pointer + i32.load $9=, 0($9) + i32.const $10=, 16 + i32.sub $12=, $9, $10 + i32.const $10=, __stack_pointer + i32.store $12=, 0($10), $12 + i32.load $8=, 4($2) + i32.load $7=, 4($3) + i32.const $push2=, 4 + i32.or $6=, $12, $pop2 .LBB7_1: # %tailrecurse # =>This Inner Loop Header: Depth=1 loop # label1: + i32.store $discard=, 0($6), $7 + i32.store $discard=, 0($12):p2align=4, $8 copy_local $5=, $3 copy_local $3=, $2 copy_local $4=, $1 copy_local $1=, $0 - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 8 - i32.sub $15=, $8, $9 - i32.const $9=, __stack_pointer - i32.store $15=, 0($9), $15 - i32.store $discard=, 0($15), $7 - i32.const $push20=, 4 - i32.add $7=, $15, $pop20 - i32.store $discard=, 0($7), $6 - i32.const $push19=, .L.str - i32.call $discard=, printf@FUNCTION, $pop19 - i32.const $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 8 - i32.add $15=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $15=, 0($11), $15 - i32.load $6=, 4($3) - i32.load $7=, 4($5) + i32.const $push22=, .L.str + i32.call $discard=, printf@FUNCTION, $pop22, $12 + i32.load $7=, 4($3) + i32.load $8=, 4($5) copy_local $0=, $4 copy_local $2=, $5 - i32.lt_s $push1=, $6, $7 - br_if 0, $pop1 # 0: up to label1 + i32.lt_s $push3=, $7, $8 + br_if 0, $pop3 # 0: up to label1 # BB#2: # %if.end end_loop # label2: block - i32.const $push2=, 2 - i32.ne $push3=, $6, $pop2 - br_if 0, $pop3 # 0: down to label3 -# BB#3: # %if.end - i32.const $push4=, 1 + i32.const $push4=, 2 i32.ne $push5=, $7, $pop4 br_if 0, $pop5 # 0: down to label3 +# BB#3: # %if.end + i32.const $push6=, 1 + i32.ne $push7=, $8, $pop6 + br_if 0, $pop7 # 0: down to label3 # BB#4: # %if.end11 block - i32.load $push6=, 8($3) - i32.load $push7=, 0($pop6) - i32.const $push26=, 0 - i32.eq $push27=, $pop7, $pop26 - br_if 0, $pop27 # 0: down to label4 + i32.load $push8=, 8($3) + i32.load $push9=, 0($pop8) + i32.const $push29=, 0 + i32.eq $push30=, $pop9, $pop29 + br_if 0, $pop30 # 0: down to label4 # BB#5: # %DUPFFnew.exit167 - i32.const $push8=, 12 - i32.call $7=, malloc@FUNCTION, $pop8 - i32.const $push9=, 2 + i32.const $push10=, 12 + i32.call $push0=, malloc@FUNCTION, $pop10 + tee_local $push27=, $8=, $pop0 + i32.const $push11=, 2 + i32.const $push26=, 4 + i32.call $push12=, calloc@FUNCTION, $pop11, $pop26 + i32.store $push13=, 8($pop27), $pop12 + i32.const $push14=, 1 + i32.store $push15=, 0($8), $pop14 + i32.store $2=, 0($pop13), $pop15 + i32.const $push16=, 0 + i32.store $discard=, 4($8), $pop16 + i32.const $push25=, 12 + i32.call $7=, malloc@FUNCTION, $pop25 + i32.const $push17=, 3 i32.const $push24=, 4 - i32.call $6=, calloc@FUNCTION, $pop9, $pop24 - i32.store $push10=, 8($7), $6 - i32.const $push11=, 1 - i32.store $push12=, 0($7), $pop11 - i32.store $2=, 0($pop10), $pop12 - i32.const $push13=, 0 - i32.store $discard=, 4($7), $pop13 - i32.const $push23=, 12 - i32.call $6=, malloc@FUNCTION, $pop23 - i32.const $push14=, 3 - i32.const $push22=, 4 - i32.call $0=, calloc@FUNCTION, $pop14, $pop22 - i64.const $push15=, -4294967294 - i64.store $discard=, 0($6):p2align=2, $pop15 - i32.const $push21=, 4 - i32.add $push16=, $5, $pop21 - i32.load $5=, 0($pop16) - i32.store $discard=, 8($6), $0 + i32.call $0=, calloc@FUNCTION, $pop17, $pop24 + i64.const $push18=, -4294967294 + i64.store $discard=, 0($7):p2align=2, $pop18 + i32.const $push23=, 4 + i32.add $push19=, $5, $pop23 + i32.load $5=, 0($pop19) + i32.store $discard=, 8($7), $0 block - i32.lt_s $push17=, $5, $2 - br_if 0, $pop17 # 0: down to label5 + i32.lt_s $push20=, $5, $2 + br_if 0, $pop20 # 0: down to label5 # BB#6: # %while.cond40.preheader.lr.ph - i32.const $push25=, 4 - i32.add $push18=, $3, $pop25 - i32.load $push0=, 0($pop18) - i32.lt_s $3=, $pop0, $5 + i32.const $push28=, 4 + i32.add $push21=, $3, $pop28 + i32.load $push1=, 0($pop21) + i32.lt_s $3=, $pop1, $5 .LBB7_7: # %while.cond40.preheader # =>This Inner Loop Header: Depth=1 loop # label6: @@ -219,14 +208,14 @@ DUPFFexgcd: # @DUPFFexgcd .LBB7_9: # %if.end57 end_loop # label9: end_block # label5: - i32.store $discard=, 0($1), $7 - i32.store $discard=, 0($4), $6 + i32.store $discard=, 0($1), $8 + i32.store $discard=, 0($4), $7 .LBB7_10: # %cleanup end_block # label4: - i32.const $14=, 16 - i32.add $15=, $15, $14 - i32.const $14=, __stack_pointer - i32.store $15=, 0($14), $15 + i32.const $11=, 16 + i32.add $12=, $12, $11 + i32.const $11=, __stack_pointer + i32.store $12=, 0($11), $12 return $3 .LBB7_11: # %if.then10 end_block # label3: @@ -242,61 +231,52 @@ DUPFFexgcd: # @DUPFFexgcd .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 16 - i32.sub $13=, $8, $9 - i32.const $9=, __stack_pointer - i32.store $13=, 0($9), $13 + i32.const $3=, __stack_pointer + i32.load $3=, 0($3) + i32.const $4=, 16 + i32.sub $8=, $3, $4 + i32.const $4=, __stack_pointer + i32.store $8=, 0($4), $8 i32.const $push0=, 12 i32.call $0=, malloc@FUNCTION, $pop0 i32.const $push2=, 2 i32.const $push1=, 4 - i32.call $2=, calloc@FUNCTION, $pop2, $pop1 - i32.store $push3=, 8($0), $2 - i32.const $push4=, 1 - i32.store $push5=, 0($0), $pop4 - i32.store $push6=, 4($pop3), $pop5 - i32.store $1=, 4($0), $pop6 - i32.const $push15=, 12 - i32.call $2=, malloc@FUNCTION, $pop15 - i32.const $push7=, 3 - i32.const $push14=, 4 - i32.call $3=, calloc@FUNCTION, $pop7, $pop14 - i32.store $push8=, 8($2), $3 - i32.store $discard=, 8($pop8), $1 - i32.const $push13=, 2 - i32.store $push9=, 0($2), $pop13 - i32.store $discard=, 4($2), $pop9 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 8 - i32.sub $13=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $13=, 0($5), $13 - i64.const $push10=, 8589934593 - i64.store $discard=, 0($13):p2align=2, $pop10 - i32.const $push11=, .L.str.1 - i32.call $discard=, printf@FUNCTION, $pop11 - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) + i32.call $push3=, calloc@FUNCTION, $pop2, $pop1 + i32.store $push4=, 8($0), $pop3 + i32.const $push5=, 1 + i32.store $push6=, 0($0), $pop5 + i32.store $push7=, 4($pop4), $pop6 + i32.store $1=, 4($0), $pop7 + i32.const $push21=, 12 + i32.call $push8=, malloc@FUNCTION, $pop21 + tee_local $push20=, $2=, $pop8 + i32.const $push9=, 3 + i32.const $push19=, 4 + i32.call $push10=, calloc@FUNCTION, $pop9, $pop19 + i32.store $push11=, 8($pop20), $pop10 + i32.store $discard=, 8($pop11), $1 + i32.const $push18=, 4 + i32.or $push14=, $8, $pop18 + i32.const $push17=, 2 + i32.store $push12=, 0($2), $pop17 + i32.store $push13=, 4($2), $pop12 + i32.store $discard=, 0($pop14), $pop13 + i32.store $discard=, 0($8):p2align=4, $1 + i32.const $push15=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop15, $8 + i32.const $6=, 12 + i32.add $6=, $8, $6 i32.const $7=, 8 - i32.add $13=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $13=, 0($7), $13 - i32.const $11=, 12 - i32.add $11=, $13, $11 - i32.const $12=, 8 - i32.add $12=, $13, $12 - i32.call $discard=, DUPFFexgcd@FUNCTION, $11, $12, $0, $2 - i32.const $push12=, 0 - i32.const $10=, 16 - i32.add $13=, $13, $10 - i32.const $10=, __stack_pointer - i32.store $13=, 0($10), $13 - return $pop12 + i32.add $7=, $8, $7 + i32.call $discard=, DUPFFexgcd@FUNCTION, $6, $7, $0, $2 + i32.const $push16=, 0 + i32.const $5=, 16 + i32.add $8=, $8, $5 + i32.const $5=, __stack_pointer + i32.store $8=, 0($5), $8 + return $pop16 .endfunc .Lfunc_end8: .size main, .Lfunc_end8-main diff --git a/test/torture-s/20021120-3.c.s b/test/torture-s/20021120-3.c.s index e08c0cb9f..32825c230 100644 --- a/test/torture-s/20021120-3.c.s +++ b/test/torture-s/20021120-3.c.s @@ -7,39 +7,27 @@ foo: # @foo .param i32, i32, i32 .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 16 - i32.sub $10=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $10=, 0($8), $10 i32.const $3=, __stack_pointer i32.load $3=, 0($3) - i32.const $4=, 4 - i32.sub $10=, $3, $4 + i32.const $4=, 16 + i32.sub $6=, $3, $4 i32.const $4=, __stack_pointer - i32.store $10=, 0($4), $10 + i32.store $6=, 0($4), $6 i32.div_u $push0=, $1, $2 - i32.store $discard=, 0($10), $pop0 + i32.store $discard=, 0($6):p2align=4, $pop0 i32.const $push1=, .L.str - i32.call $discard=, sprintf@FUNCTION, $0, $pop1 - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 4 - i32.add $10=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $10=, 0($6), $10 + i32.call $discard=, sprintf@FUNCTION, $0, $pop1, $6 i32.const $push2=, 1 i32.add $push3=, $1, $pop2 i32.const $push6=, 1 i32.add $push4=, $2, $pop6 i32.div_u $push5=, $pop3, $pop4 - i32.const $9=, 16 - i32.add $10=, $10, $9 - i32.const $9=, __stack_pointer - i32.store $10=, 0($9), $10 + i32.const $5=, 16 + i32.add $6=, $6, $5 + i32.const $5=, __stack_pointer + i32.store $6=, 0($5), $6 return $pop5 .endfunc .Lfunc_end0: @@ -51,32 +39,20 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %if.end - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 32 - i32.sub $7=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $7=, 0($5), $7 i32.const $0=, __stack_pointer i32.load $0=, 0($0) - i32.const $1=, 4 - i32.sub $7=, $0, $1 + i32.const $1=, 32 + i32.sub $3=, $0, $1 i32.const $1=, __stack_pointer - i32.store $7=, 0($1), $7 + i32.store $3=, 0($1), $3 i32.const $push0=, 1073741823 - i32.store $discard=, 0($7), $pop0 + i32.store $discard=, 0($3):p2align=4, $pop0 i32.const $push1=, .L.str - i32.const $6=, 16 - i32.add $6=, $7, $6 - i32.call $discard=, sprintf@FUNCTION, $6, $pop1 - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 4 - i32.add $7=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $7=, 0($3), $7 + i32.const $2=, 16 + i32.add $2=, $3, $2 + i32.call $discard=, sprintf@FUNCTION, $2, $pop1, $3 i32.const $push2=, 0 call exit@FUNCTION, $pop2 unreachable diff --git a/test/torture-s/20030914-2.c.s b/test/torture-s/20030914-2.c.s index 07e26717c..738704b86 100644 --- a/test/torture-s/20030914-2.c.s +++ b/test/torture-s/20030914-2.c.s @@ -5,7 +5,7 @@ .globl f .type f,@function f: # @f - .param i32, i32 + .param i32, i32, i32 .result i32 # BB#0: # %entry return $1 @@ -31,72 +31,73 @@ main: # @main i32.const $2=, 8 i32.add $2=, $11, $2 i32.add $push2=, $2, $pop1 - i32.const $push37=, 0 - i64.load $push0=, gs+64($pop37):p2align=2 + i32.const $push38=, 0 + i64.load $push0=, gs+64($pop38):p2align=2 i64.store $discard=, 0($pop2):p2align=2, $pop0 i32.const $push4=, 56 i32.const $3=, 8 i32.add $3=, $11, $3 i32.add $push5=, $3, $pop4 - i32.const $push36=, 0 - i64.load $push3=, gs+56($pop36):p2align=2 + i32.const $push37=, 0 + i64.load $push3=, gs+56($pop37):p2align=2 i64.store $discard=, 0($pop5):p2align=2, $pop3 i32.const $push7=, 48 i32.const $4=, 8 i32.add $4=, $11, $4 i32.add $push8=, $4, $pop7 - i32.const $push35=, 0 - i64.load $push6=, gs+48($pop35):p2align=2 + i32.const $push36=, 0 + i64.load $push6=, gs+48($pop36):p2align=2 i64.store $discard=, 0($pop8):p2align=2, $pop6 i32.const $push10=, 40 i32.const $5=, 8 i32.add $5=, $11, $5 i32.add $push11=, $5, $pop10 - i32.const $push34=, 0 - i64.load $push9=, gs+40($pop34):p2align=2 + i32.const $push35=, 0 + i64.load $push9=, gs+40($pop35):p2align=2 i64.store $discard=, 0($pop11):p2align=2, $pop9 i32.const $push13=, 32 i32.const $6=, 8 i32.add $6=, $11, $6 i32.add $push14=, $6, $pop13 - i32.const $push33=, 0 - i64.load $push12=, gs+32($pop33):p2align=2 + i32.const $push34=, 0 + i64.load $push12=, gs+32($pop34):p2align=2 i64.store $discard=, 0($pop14):p2align=2, $pop12 i32.const $push16=, 24 i32.const $7=, 8 i32.add $7=, $11, $7 i32.add $push17=, $7, $pop16 - i32.const $push32=, 0 - i64.load $push15=, gs+24($pop32):p2align=2 + i32.const $push33=, 0 + i64.load $push15=, gs+24($pop33):p2align=2 i64.store $discard=, 0($pop17):p2align=2, $pop15 i32.const $push19=, 16 i32.const $8=, 8 i32.add $8=, $11, $8 i32.add $push20=, $8, $pop19 - i32.const $push31=, 0 - i64.load $push18=, gs+16($pop31):p2align=2 + i32.const $push32=, 0 + i64.load $push18=, gs+16($pop32):p2align=2 i64.store $discard=, 0($pop20):p2align=2, $pop18 i32.const $push22=, 8 i32.const $9=, 8 i32.add $9=, $11, $9 i32.add $push23=, $9, $pop22 - i32.const $push30=, 0 - i64.load $push21=, gs+8($pop30):p2align=2 + i32.const $push31=, 0 + i64.load $push21=, gs+8($pop31):p2align=2 i64.store $discard=, 0($pop23):p2align=2, $pop21 - i32.const $push29=, 0 - i64.load $push24=, gs($pop29):p2align=2 + i32.const $push30=, 0 + i64.load $push24=, gs($pop30):p2align=2 i64.store $discard=, 8($11):p2align=2, $pop24 i32.const $push25=, 4660 + i32.const $push29=, 0 i32.const $10=, 8 i32.add $10=, $11, $10 block - i32.call $push26=, f@FUNCTION, $10, $pop25 + i32.call $push26=, f@FUNCTION, $10, $pop25, $pop29 i32.const $push28=, 4660 i32.ne $push27=, $pop26, $pop28 br_if 0, $pop27 # 0: down to label0 # BB#1: # %if.end - i32.const $push38=, 0 - call exit@FUNCTION, $pop38 + i32.const $push39=, 0 + call exit@FUNCTION, $pop39 unreachable .LBB1_2: # %if.then end_block # label0: diff --git a/test/torture-s/20041113-1.c.s b/test/torture-s/20041113-1.c.s index f38ccaf23..623790a57 100644 --- a/test/torture-s/20041113-1.c.s +++ b/test/torture-s/20041113-1.c.s @@ -5,17 +5,16 @@ .globl test .type test,@function test: # @test - .param i32 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $2=, __stack_pointer i32.load $2=, 0($2) i32.const $3=, 16 i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer i32.store $5=, 0($3), $5 - i32.store $push0=, 12($5), $6 + i32.store $push0=, 12($5), $1 i32.const $push29=, 3 i32.add $push1=, $pop0, $pop29 i32.const $push28=, -4 @@ -76,7 +75,7 @@ test: # @test br_if 0, $pop25 # 0: down to label3 # BB#4: # %if.end10 i32.const $4=, 16 - i32.add $5=, $6, $4 + i32.add $5=, $5, $4 i32.const $4=, __stack_pointer i32.store $5=, 0($4), $5 return @@ -107,43 +106,31 @@ test: # @test main: # @main .param i32, i32 .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 16 - i32.sub $10=, $8, $9 - i32.const $9=, __stack_pointer - i32.store $10=, 0($9), $10 + i32.const $3=, __stack_pointer + i32.load $3=, 0($3) + i32.const $4=, 16 + i32.sub $5=, $3, $4 + i32.const $4=, __stack_pointer + i32.store $5=, 0($4), $5 i32.const $push0=, 0 f64.load $push1=, a($pop0) f64.const $push2=, 0x1.4p3 f64.div $push3=, $pop1, $pop2 i32.trunc_s/f64 $2=, $pop3 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 16 - i32.sub $10=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $10=, 0($5), $10 - i64.const $push4=, 8589934593 - i64.store $discard=, 0($10):p2align=2, $pop4 - i32.const $push5=, 12 - i32.add $3=, $10, $pop5 - i32.store $discard=, 0($3), $2 - i32.const $push6=, 8 - i32.add $2=, $10, $pop6 - i32.const $push7=, 3 - i32.store $discard=, 0($2), $pop7 - call test@FUNCTION, $2 - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 16 - i32.add $10=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $10=, 0($7), $10 - i32.const $push8=, 0 - call exit@FUNCTION, $pop8 + i32.const $push4=, 8 + i32.or $push5=, $5, $pop4 + i32.const $push6=, 3 + i32.store $discard=, 0($pop5):p2align=3, $pop6 + i32.const $push7=, 12 + i32.or $push8=, $5, $pop7 + i32.store $discard=, 0($pop8), $2 + i64.const $push9=, 8589934593 + i64.store $discard=, 0($5):p2align=4, $pop9 + call test@FUNCTION, $2, $5 + i32.const $push10=, 0 + call exit@FUNCTION, $pop10 unreachable .endfunc .Lfunc_end1: diff --git a/test/torture-s/20041214-1.c.s b/test/torture-s/20041214-1.c.s index d277f5554..aecd87c61 100644 --- a/test/torture-s/20041214-1.c.s +++ b/test/torture-s/20041214-1.c.s @@ -60,22 +60,21 @@ g: # @g .globl f .type f,@function f: # @f - .param i32, i32 - .local i32, i32, i32, i32, i32 + .param i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $push0=, 12($5), $6 - i32.call $discard=, g@FUNCTION, $0, $1, $pop0 + i32.load $3=, 0($3) i32.const $4=, 16 - i32.add $5=, $6, $4 + i32.sub $6=, $3, $4 i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.store $6=, 0($4), $6 + i32.store $push0=, 12($6), $2 + i32.call $discard=, g@FUNCTION, $0, $1, $pop0 + i32.const $5=, 16 + i32.add $6=, $6, $5 + i32.const $5=, __stack_pointer + i32.store $6=, 0($5), $6 return .endfunc .Lfunc_end1: @@ -87,47 +86,35 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 32 - i32.sub $11=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $11=, 0($7), $11 i32.const $2=, __stack_pointer i32.load $2=, 0($2) - i32.const $3=, 8 - i32.sub $11=, $2, $3 + i32.const $3=, 32 + i32.sub $7=, $2, $3 i32.const $3=, __stack_pointer - i32.store $11=, 0($3), $11 - i32.const $push0=, .L.str.1 - i32.store $0=, 0($11), $pop0 - i32.const $push1=, 4 - i32.add $1=, $11, $pop1 + i32.store $7=, 0($3), $7 + i32.const $push0=, 4 + i32.or $push1=, $7, $pop0 i32.const $push2=, 0 - i32.store $1=, 0($1), $pop2 - i32.const $push3=, .L.str - i32.const $9=, 22 - i32.add $9=, $11, $9 - call f@FUNCTION, $9, $pop3 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 8 - i32.add $11=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $11=, 0($5), $11 - i32.const $10=, 22 - i32.add $10=, $11, $10 - i32.call $0=, strcmp@FUNCTION, $10, $0 + i32.store $0=, 0($pop1), $pop2 + i32.const $push3=, .L.str.1 + i32.store $1=, 0($7):p2align=4, $pop3 + i32.const $push4=, .L.str + i32.const $5=, 22 + i32.add $5=, $7, $5 + call f@FUNCTION, $5, $pop4, $7 + i32.const $6=, 22 + i32.add $6=, $7, $6 block - br_if 0, $0 # 0: down to label3 + i32.call $push5=, strcmp@FUNCTION, $6, $1 + br_if 0, $pop5 # 0: down to label3 # BB#1: # %if.end - i32.const $8=, 32 - i32.add $11=, $11, $8 - i32.const $8=, __stack_pointer - i32.store $11=, 0($8), $11 - return $1 + i32.const $4=, 32 + i32.add $7=, $7, $4 + i32.const $4=, __stack_pointer + i32.store $7=, 0($4), $7 + return $0 .LBB2_2: # %if.then end_block # label3: call abort@FUNCTION diff --git a/test/torture-s/20070201-1.c.s b/test/torture-s/20070201-1.c.s index f2266d6e4..80fe8bcc8 100644 --- a/test/torture-s/20070201-1.c.s +++ b/test/torture-s/20070201-1.c.s @@ -7,35 +7,23 @@ foo: # @foo .param i32, i32 .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 16 - i32.sub $9=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $9=, 0($7), $9 i32.const $2=, __stack_pointer i32.load $2=, 0($2) - i32.const $3=, 4 - i32.sub $9=, $2, $3 + i32.const $3=, 16 + i32.sub $5=, $2, $3 i32.const $3=, __stack_pointer - i32.store $9=, 0($3), $9 - i32.store $discard=, 0($9), $1 + i32.store $5=, 0($3), $5 + i32.store $discard=, 0($5):p2align=4, $1 i32.const $push2=, .L.str - i32.call $discard=, sprintf@FUNCTION, $0, $pop2 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 4 - i32.add $9=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $9=, 0($5), $9 + i32.call $discard=, sprintf@FUNCTION, $0, $pop2, $5 i32.const $push0=, 1 i32.add $push1=, $1, $pop0 - i32.const $8=, 16 - i32.add $9=, $9, $8 - i32.const $8=, __stack_pointer - i32.store $9=, 0($8), $9 + i32.const $4=, 16 + i32.add $5=, $5, $4 + i32.const $4=, __stack_pointer + i32.store $5=, 0($4), $5 return $pop1 .endfunc .Lfunc_end0: @@ -47,40 +35,28 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32 # BB#0: # %if.end - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 16 - i32.sub $9=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $9=, 0($5), $9 i32.const $0=, __stack_pointer i32.load $0=, 0($0) - i32.const $1=, 4 - i32.sub $9=, $0, $1 + i32.const $1=, 16 + i32.sub $5=, $0, $1 i32.const $1=, __stack_pointer - i32.store $9=, 0($1), $9 + i32.store $5=, 0($1), $5 i32.const $push0=, 2 - i32.const $7=, 10 - i32.add $7=, $9, $7 - i32.add $push1=, $7, $pop0 - i32.store $discard=, 0($9), $pop1 + i32.const $3=, 10 + i32.add $3=, $5, $3 + i32.add $push1=, $3, $pop0 + i32.store $discard=, 0($5):p2align=4, $pop1 i32.const $push2=, .L.str - i32.const $8=, 10 - i32.add $8=, $9, $8 - i32.call $discard=, sprintf@FUNCTION, $8, $pop2 - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 4 - i32.add $9=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $9=, 0($3), $9 + i32.const $4=, 10 + i32.add $4=, $5, $4 + i32.call $discard=, sprintf@FUNCTION, $4, $pop2, $5 i32.const $push3=, 0 - i32.const $6=, 16 - i32.add $9=, $9, $6 - i32.const $6=, __stack_pointer - i32.store $9=, 0($6), $9 + i32.const $2=, 16 + i32.add $5=, $5, $2 + i32.const $2=, __stack_pointer + i32.store $5=, 0($2), $5 return $pop3 .endfunc .Lfunc_end1: diff --git a/test/torture-s/20071213-1.c.s b/test/torture-s/20071213-1.c.s index 050ca66fb..014e00084 100644 --- a/test/torture-s/20071213-1.c.s +++ b/test/torture-s/20071213-1.c.s @@ -112,18 +112,17 @@ h: # @h .globl f1 .type f1,@function f1: # @f1 - .param i32, i64 - .local i32, i32, i32, i32, i32 + .param i32, i64, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $push0=, 8($5), $6 - i32.store $discard=, 12($5), $pop0 + 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.store $push0=, 8($6), $2 + i32.store $discard=, 12($6), $pop0 block block block @@ -132,7 +131,7 @@ f1: # @f1 i32.ne $push2=, $0, $pop1 br_if 0, $pop2 # 0: down to label8 # BB#1: # %sw.bb.i - i32.load $push19=, 12($5) + i32.load $push19=, 12($6) i32.const $push37=, 3 i32.add $push20=, $pop19, $pop37 i32.const $push36=, -4 @@ -140,14 +139,14 @@ f1: # @f1 tee_local $push35=, $0=, $pop21 i32.const $push34=, 4 i32.add $push22=, $pop35, $pop34 - i32.store $discard=, 12($5), $pop22 + i32.store $discard=, 12($6), $pop22 block i32.load $push23=, 0($0) i32.const $push33=, 3 i32.ne $push24=, $pop23, $pop33 br_if 0, $pop24 # 0: down to label9 # BB#2: # %lor.lhs.false.i - i32.load $push25=, 12($5) + i32.load $push25=, 12($6) i32.const $push42=, 3 i32.add $push26=, $pop25, $pop42 i32.const $push41=, -4 @@ -155,7 +154,7 @@ f1: # @f1 tee_local $push40=, $0=, $pop27 i32.const $push39=, 4 i32.add $push28=, $pop40, $pop39 - i32.store $discard=, 12($5), $pop28 + i32.store $discard=, 12($6), $pop28 i32.load $push29=, 0($0) i32.const $push38=, 4 i32.ne $push30=, $pop29, $pop38 @@ -165,10 +164,10 @@ f1: # @f1 i64.ne $push32=, $1, $pop31 br_if 2, $pop32 # 2: down to label7 # BB#4: # %if.end - i32.const $4=, 16 - i32.add $5=, $6, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $5=, 16 + i32.add $6=, $6, $5 + i32.const $5=, __stack_pointer + i32.store $6=, 0($5), $6 return .LBB1_5: # %if.then.i end_block # label9: @@ -180,7 +179,7 @@ f1: # @f1 i32.ne $push4=, $0, $pop3 br_if 2, $pop4 # 2: down to label5 # BB#7: # %sw.bb2.i - i32.load $push5=, 12($5) + i32.load $push5=, 12($6) i32.const $push46=, 3 i32.add $push6=, $pop5, $pop46 i32.const $push45=, -4 @@ -188,13 +187,13 @@ f1: # @f1 tee_local $push44=, $0=, $pop7 i32.const $push43=, 4 i32.add $push8=, $pop44, $pop43 - i32.store $discard=, 12($5), $pop8 + i32.store $discard=, 12($6), $pop8 i32.load $push9=, 0($0) i32.const $push10=, 9 i32.ne $push11=, $pop9, $pop10 br_if 1, $pop11 # 1: down to label6 # BB#8: # %lor.lhs.false4.i - i32.load $push12=, 12($5) + i32.load $push12=, 12($6) i32.const $push50=, 3 i32.add $push13=, $pop12, $pop50 i32.const $push49=, -4 @@ -202,7 +201,7 @@ f1: # @f1 tee_local $push48=, $0=, $pop14 i32.const $push47=, 4 i32.add $push15=, $pop48, $pop47 - i32.store $discard=, 12($5), $pop15 + i32.store $discard=, 12($6), $pop15 i32.load $push16=, 0($0) i32.const $push17=, 10 i32.ne $push18=, $pop16, $pop17 @@ -228,17 +227,16 @@ f1: # @f1 .globl f2 .type f2,@function f2: # @f2 - .param i32, i32, i32, i64 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i64, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $5=, __stack_pointer i32.load $5=, 0($5) i32.const $6=, 16 i32.sub $8=, $5, $6 - copy_local $9=, $8 i32.const $6=, __stack_pointer i32.store $8=, 0($6), $8 - i32.store $push0=, 8($8), $9 + i32.store $push0=, 8($8), $4 i32.store $discard=, 12($8), $pop0 block block @@ -337,7 +335,7 @@ f2: # @f2 br_if 0, $pop38 # 0: down to label15 # BB#12: # %if.end i32.const $7=, 16 - i32.add $8=, $9, $7 + i32.add $8=, $8, $7 i32.const $7=, __stack_pointer i32.store $8=, 0($7), $8 return @@ -359,55 +357,33 @@ f2: # @f2 .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 16 - i32.sub $11=, $8, $9 - i32.const $9=, __stack_pointer - i32.store $11=, 0($9), $11 i32.const $0=, __stack_pointer i32.load $0=, 0($0) - i32.const $1=, 8 - i32.sub $11=, $0, $1 + i32.const $1=, 32 + i32.sub $4=, $0, $1 i32.const $1=, __stack_pointer - i32.store $11=, 0($1), $11 + i32.store $4=, 0($1), $4 i64.const $push0=, 17179869187 - i64.store $discard=, 0($11):p2align=2, $pop0 + i64.store $discard=, 16($4):p2align=4, $pop0 i32.const $push2=, 1 i64.const $push1=, 2 - call f1@FUNCTION, $pop2, $pop1 - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 8 - i32.add $11=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $11=, 0($3), $11 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 8 - i32.sub $11=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $11=, 0($5), $11 + i32.const $3=, 16 + i32.add $3=, $4, $3 + call f1@FUNCTION, $pop2, $pop1, $3 i64.const $push3=, 42949672969 - i64.store $discard=, 0($11):p2align=2, $pop3 + i64.store $discard=, 0($4):p2align=4, $pop3 i32.const $push7=, 5 i32.const $push6=, 6 i32.const $push5=, 7 i64.const $push4=, 8 - call f2@FUNCTION, $pop7, $pop6, $pop5, $pop4 - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 8 - i32.add $11=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $11=, 0($7), $11 + call f2@FUNCTION, $pop7, $pop6, $pop5, $pop4, $4 i32.const $push8=, 0 - i32.const $10=, 16 - i32.add $11=, $11, $10 - i32.const $10=, __stack_pointer - i32.store $11=, 0($10), $11 + i32.const $2=, 32 + i32.add $4=, $4, $2 + i32.const $2=, __stack_pointer + i32.store $4=, 0($2), $4 return $pop8 .endfunc .Lfunc_end3: diff --git a/test/torture-s/20121108-1.c.s b/test/torture-s/20121108-1.c.s index c909ba5f5..7cd3b67eb 100644 --- a/test/torture-s/20121108-1.c.s +++ b/test/torture-s/20121108-1.c.s @@ -152,62 +152,40 @@ string_to_ip: # @string_to_ip .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $9=, __stack_pointer - i32.load $9=, 0($9) - i32.const $10=, 16 - i32.sub $12=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $12=, 0($10), $12 - i32.const $push0=, temp - i32.call $0=, string_to_ip@FUNCTION, $pop0 i32.const $1=, __stack_pointer i32.load $1=, 0($1) - i32.const $2=, 4 - i32.sub $12=, $1, $2 + i32.const $2=, 32 + i32.sub $5=, $1, $2 i32.const $2=, __stack_pointer - i32.store $12=, 0($2), $12 - i32.store $discard=, 0($12), $0 - i32.const $push1=, .L.str - i32.call $discard=, printf@FUNCTION, $pop1 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 4 - i32.add $12=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $12=, 0($4), $12 - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 4 - i32.sub $12=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $12=, 0($6), $12 - i32.const $push8=, 0 - i32.load $push2=, result($pop8) - i32.store $discard=, 0($12), $pop2 - i32.const $push7=, .L.str - i32.call $discard=, printf@FUNCTION, $pop7 - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 4 - i32.add $12=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $12=, 0($8), $12 + i32.store $5=, 0($2), $5 + i32.const $push0=, temp + i32.call $push1=, string_to_ip@FUNCTION, $pop0 + i32.store $0=, 16($5):p2align=4, $pop1 + i32.const $push2=, .L.str + i32.const $4=, 16 + i32.add $4=, $5, $4 + i32.call $discard=, printf@FUNCTION, $pop2, $4 + i32.const $push9=, 0 + i32.load $push3=, result($pop9) + i32.store $discard=, 0($5):p2align=4, $pop3 + i32.const $push8=, .L.str + i32.call $discard=, printf@FUNCTION, $pop8, $5 block - i32.const $push6=, 0 - i32.load $push3=, result($pop6) - i32.ne $push4=, $0, $pop3 - br_if 0, $pop4 # 0: down to label4 + i32.const $push7=, 0 + i32.load $push4=, result($pop7) + i32.ne $push5=, $0, $pop4 + br_if 0, $pop5 # 0: down to label4 # BB#1: # %if.end - i32.const $push5=, .Lstr - i32.call $discard=, puts@FUNCTION, $pop5 - i32.const $push9=, 0 - i32.const $11=, 16 - i32.add $12=, $12, $11 - i32.const $11=, __stack_pointer - i32.store $12=, 0($11), $12 - return $pop9 + i32.const $push6=, .Lstr + i32.call $discard=, puts@FUNCTION, $pop6 + i32.const $push10=, 0 + i32.const $3=, 32 + i32.add $5=, $5, $3 + i32.const $3=, __stack_pointer + i32.store $5=, 0($3), $5 + return $pop10 .LBB2_2: # %if.then end_block # label4: call abort@FUNCTION diff --git a/test/torture-s/920501-8.c.s b/test/torture-s/920501-8.c.s index f797bed04..4be051ed3 100644 --- a/test/torture-s/920501-8.c.s +++ b/test/torture-s/920501-8.c.s @@ -5,201 +5,188 @@ .globl va .type va,@function va: # @va - .param i32, f64, i32 + .param i32, f64, i32, i32 .result i32 - .local i32, i32, i32, i32, i32, 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, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $20=, __stack_pointer - i32.load $20=, 0($20) - i32.const $21=, 80 - i32.sub $23=, $20, $21 - copy_local $24=, $23 - i32.const $21=, __stack_pointer - i32.store $23=, 0($21), $23 - i32.store $push0=, 76($23), $24 + i32.const $16=, __stack_pointer + i32.load $16=, 0($16) + i32.const $17=, 80 + i32.sub $19=, $16, $17 + i32.const $17=, __stack_pointer + i32.store $19=, 0($17), $19 + i32.store $push0=, 76($19), $3 i32.const $push1=, 3 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -4 i32.and $push4=, $pop2, $pop3 - tee_local $push108=, $15=, $pop4 + tee_local $push124=, $3=, $pop4 i32.const $push5=, 4 - i32.add $push6=, $pop108, $pop5 - i32.store $discard=, 76($23), $pop6 - i32.load $3=, 0($15) + i32.add $push6=, $pop124, $pop5 + i32.store $discard=, 76($19), $pop6 + i32.load $4=, 0($3) i32.const $push7=, 7 - i32.add $push8=, $15, $pop7 + i32.add $push8=, $3, $pop7 + i32.const $push123=, -4 + i32.and $push9=, $pop8, $pop123 + tee_local $push122=, $3=, $pop9 + i32.const $push121=, 4 + i32.add $push10=, $pop122, $pop121 + i32.store $discard=, 76($19), $pop10 + i32.load $5=, 0($3) + i32.const $push120=, 7 + i32.add $push11=, $3, $pop120 + i32.const $push119=, -4 + i32.and $push12=, $pop11, $pop119 + tee_local $push118=, $3=, $pop12 + i32.const $push117=, 4 + i32.add $push13=, $pop118, $pop117 + i32.store $discard=, 76($19), $pop13 + i32.load $6=, 0($3) + i32.const $push116=, 7 + i32.add $push14=, $3, $pop116 + i32.const $push115=, -4 + i32.and $push15=, $pop14, $pop115 + tee_local $push114=, $3=, $pop15 + i32.const $push113=, 4 + i32.add $push16=, $pop114, $pop113 + i32.store $discard=, 76($19), $pop16 + i32.load $7=, 0($3) + i32.const $push112=, 7 + i32.add $push17=, $3, $pop112 + i32.const $push111=, -4 + i32.and $push18=, $pop17, $pop111 + tee_local $push110=, $3=, $pop18 + i32.const $push109=, 4 + i32.add $push19=, $pop110, $pop109 + i32.store $discard=, 76($19), $pop19 + i32.load $8=, 0($3) + i32.const $push108=, 7 + i32.add $push20=, $3, $pop108 i32.const $push107=, -4 - i32.and $push9=, $pop8, $pop107 - tee_local $push106=, $15=, $pop9 + i32.and $push21=, $pop20, $pop107 + tee_local $push106=, $3=, $pop21 i32.const $push105=, 4 - i32.add $push10=, $pop106, $pop105 - i32.store $discard=, 76($23), $pop10 - i32.load $4=, 0($15) + i32.add $push22=, $pop106, $pop105 + i32.store $discard=, 76($19), $pop22 + i32.load $9=, 0($3) i32.const $push104=, 7 - i32.add $push11=, $15, $pop104 + i32.add $push23=, $3, $pop104 i32.const $push103=, -4 - i32.and $push12=, $pop11, $pop103 - tee_local $push102=, $15=, $pop12 + i32.and $push24=, $pop23, $pop103 + tee_local $push102=, $3=, $pop24 i32.const $push101=, 4 - i32.add $push13=, $pop102, $pop101 - i32.store $discard=, 76($23), $pop13 - i32.load $5=, 0($15) + i32.add $push25=, $pop102, $pop101 + i32.store $discard=, 76($19), $pop25 + i32.load $10=, 0($3) i32.const $push100=, 7 - i32.add $push14=, $15, $pop100 + i32.add $push26=, $3, $pop100 i32.const $push99=, -4 - i32.and $push15=, $pop14, $pop99 - tee_local $push98=, $15=, $pop15 + i32.and $push27=, $pop26, $pop99 + tee_local $push98=, $3=, $pop27 i32.const $push97=, 4 - i32.add $push16=, $pop98, $pop97 - i32.store $discard=, 76($23), $pop16 - i32.load $6=, 0($15) + i32.add $push28=, $pop98, $pop97 + i32.store $discard=, 76($19), $pop28 + i32.load $11=, 0($3) i32.const $push96=, 7 - i32.add $push17=, $15, $pop96 + i32.add $push29=, $3, $pop96 i32.const $push95=, -4 - i32.and $push18=, $pop17, $pop95 - tee_local $push94=, $15=, $pop18 + i32.and $push30=, $pop29, $pop95 + tee_local $push94=, $3=, $pop30 i32.const $push93=, 4 - i32.add $push19=, $pop94, $pop93 - i32.store $discard=, 76($23), $pop19 - i32.load $7=, 0($15) + i32.add $push31=, $pop94, $pop93 + i32.store $discard=, 76($19), $pop31 + i32.load $12=, 0($3) i32.const $push92=, 7 - i32.add $push20=, $15, $pop92 + i32.add $push32=, $3, $pop92 i32.const $push91=, -4 - i32.and $push21=, $pop20, $pop91 - tee_local $push90=, $15=, $pop21 + i32.and $push33=, $pop32, $pop91 + tee_local $push90=, $3=, $pop33 i32.const $push89=, 4 - i32.add $push22=, $pop90, $pop89 - i32.store $discard=, 76($23), $pop22 - i32.load $8=, 0($15) + i32.add $push34=, $pop90, $pop89 + i32.store $discard=, 76($19), $pop34 + i32.load $13=, 0($3) i32.const $push88=, 7 - i32.add $push23=, $15, $pop88 + i32.add $push35=, $3, $pop88 i32.const $push87=, -4 - i32.and $push24=, $pop23, $pop87 - tee_local $push86=, $15=, $pop24 + i32.and $push36=, $pop35, $pop87 + tee_local $push86=, $3=, $pop36 i32.const $push85=, 4 - i32.add $push25=, $pop86, $pop85 - i32.store $discard=, 76($23), $pop25 - i32.load $9=, 0($15) + i32.add $push37=, $pop86, $pop85 + i32.store $discard=, 76($19), $pop37 + i32.load $14=, 0($3) i32.const $push84=, 7 - i32.add $push26=, $15, $pop84 + i32.add $push38=, $3, $pop84 i32.const $push83=, -4 - i32.and $push27=, $pop26, $pop83 - tee_local $push82=, $15=, $pop27 + i32.and $push39=, $pop38, $pop83 + tee_local $push82=, $3=, $pop39 i32.const $push81=, 4 - i32.add $push28=, $pop82, $pop81 - i32.store $discard=, 76($23), $pop28 - i32.load $10=, 0($15) + i32.add $push40=, $pop82, $pop81 + i32.store $discard=, 76($19), $pop40 + i32.load $15=, 0($3) i32.const $push80=, 7 - i32.add $push29=, $15, $pop80 + i32.add $push41=, $3, $pop80 i32.const $push79=, -4 - i32.and $push30=, $pop29, $pop79 - tee_local $push78=, $15=, $pop30 + i32.and $push42=, $pop41, $pop79 + tee_local $push78=, $3=, $pop42 i32.const $push77=, 4 - i32.add $push31=, $pop78, $pop77 - i32.store $discard=, 76($23), $pop31 - i32.load $11=, 0($15) - i32.const $push76=, 7 - i32.add $push32=, $15, $pop76 - i32.const $push75=, -4 - i32.and $push33=, $pop32, $pop75 - tee_local $push74=, $15=, $pop33 - i32.const $push73=, 4 - i32.add $push34=, $pop74, $pop73 - i32.store $discard=, 76($23), $pop34 - i32.load $12=, 0($15) - i32.const $push72=, 7 - i32.add $push35=, $15, $pop72 - i32.const $push71=, -4 - i32.and $push36=, $pop35, $pop71 - tee_local $push70=, $15=, $pop36 - i32.const $push69=, 4 - i32.add $push37=, $pop70, $pop69 - i32.store $discard=, 76($23), $pop37 - i32.load $13=, 0($15) - i32.const $push68=, 7 - i32.add $push38=, $15, $pop68 - i32.const $push67=, -4 - i32.and $push39=, $pop38, $pop67 - tee_local $push66=, $15=, $pop39 - i32.const $push65=, 4 - i32.add $push40=, $pop66, $pop65 - i32.store $discard=, 76($23), $pop40 - i32.load $14=, 0($15) - i32.const $push64=, 7 - i32.add $push41=, $15, $pop64 - i32.const $push63=, -4 - i32.and $push42=, $pop41, $pop63 - tee_local $push62=, $15=, $pop42 - i32.const $push61=, 4 - i32.add $push43=, $pop62, $pop61 - i32.store $discard=, 76($23), $pop43 - i32.load $15=, 0($15) - i32.const $16=, __stack_pointer - i32.load $16=, 0($16) - i32.const $17=, 72 - i32.sub $23=, $16, $17 - i32.const $17=, __stack_pointer - i32.store $23=, 0($17), $23 - i32.store $discard=, 0($23), $0 - i32.const $push44=, 68 - i32.add $0=, $23, $pop44 - i32.store $discard=, 0($0), $15 - i32.const $push45=, 64 - i32.add $15=, $23, $pop45 - i32.store $discard=, 0($15), $14 - i32.const $push46=, 60 - i32.add $15=, $23, $pop46 - i32.store $discard=, 0($15), $13 - i32.const $push47=, 56 - i32.add $15=, $23, $pop47 - i32.store $discard=, 0($15), $12 - i32.const $push48=, 52 - i32.add $15=, $23, $pop48 - i32.store $discard=, 0($15), $11 - i32.const $push49=, 48 - i32.add $15=, $23, $pop49 - i32.store $discard=, 0($15), $10 - i32.const $push50=, 44 - i32.add $15=, $23, $pop50 - i32.store $discard=, 0($15), $9 - i32.const $push51=, 40 - i32.add $15=, $23, $pop51 - i32.store $discard=, 0($15), $8 - i32.const $push52=, 36 - i32.add $15=, $23, $pop52 - i32.store $discard=, 0($15), $7 - i32.const $push53=, 32 - i32.add $15=, $23, $pop53 - i32.store $discard=, 0($15), $6 - i32.const $push54=, 28 - i32.add $15=, $23, $pop54 - i32.store $discard=, 0($15), $5 - i32.const $push55=, 24 - i32.add $15=, $23, $pop55 - i32.store $discard=, 0($15), $4 - i32.const $push56=, 20 - i32.add $15=, $23, $pop56 - i32.store $discard=, 0($15), $3 - i32.const $push57=, 16 - i32.add $15=, $23, $pop57 - i32.store $discard=, 0($15), $2 - i32.const $push58=, 8 - i32.add $15=, $23, $pop58 - f64.store $discard=, 0($15), $1 - i32.const $push60=, buf - i32.const $push59=, .L.str - i32.call $discard=, sprintf@FUNCTION, $pop60, $pop59 + i32.add $push43=, $pop78, $pop77 + i32.store $discard=, 76($19), $pop43 + i32.const $push45=, 68 + i32.add $push46=, $19, $pop45 + i32.load $push44=, 0($3) + i32.store $discard=, 0($pop46), $pop44 + i32.const $push47=, 64 + i32.add $push48=, $19, $pop47 + i32.store $discard=, 0($pop48):p2align=4, $15 + i32.const $push49=, 60 + i32.add $push50=, $19, $pop49 + i32.store $discard=, 0($pop50), $14 + i32.const $push51=, 56 + i32.add $push52=, $19, $pop51 + i32.store $discard=, 0($pop52):p2align=3, $13 + i32.const $push53=, 52 + i32.add $push54=, $19, $pop53 + i32.store $discard=, 0($pop54), $12 + i32.const $push55=, 48 + i32.add $push56=, $19, $pop55 + i32.store $discard=, 0($pop56):p2align=4, $11 + i32.const $push57=, 44 + i32.add $push58=, $19, $pop57 + i32.store $discard=, 0($pop58), $10 + i32.const $push59=, 40 + i32.add $push60=, $19, $pop59 + i32.store $discard=, 0($pop60):p2align=3, $9 + i32.const $push61=, 36 + i32.add $push62=, $19, $pop61 + i32.store $discard=, 0($pop62), $8 + i32.const $push63=, 32 + i32.add $push64=, $19, $pop63 + i32.store $discard=, 0($pop64):p2align=4, $7 + i32.const $push65=, 28 + i32.add $push66=, $19, $pop65 + i32.store $discard=, 0($pop66), $6 + i32.const $push67=, 24 + i32.add $push68=, $19, $pop67 + i32.store $discard=, 0($pop68):p2align=3, $5 + i32.const $push69=, 20 + i32.add $push70=, $19, $pop69 + i32.store $discard=, 0($pop70), $4 + i32.const $push71=, 16 + i32.add $push72=, $19, $pop71 + i32.store $discard=, 0($pop72):p2align=4, $2 + i32.const $push73=, 8 + i32.or $push74=, $19, $pop73 + f64.store $discard=, 0($pop74), $1 + i32.store $discard=, 0($19):p2align=4, $0 + i32.const $push76=, buf + i32.const $push75=, .L.str + i32.call $discard=, sprintf@FUNCTION, $pop76, $pop75, $19 + i32.const $18=, 80 + i32.add $19=, $19, $18 i32.const $18=, __stack_pointer - i32.load $18=, 0($18) - i32.const $19=, 72 - i32.add $23=, $18, $19 - i32.const $19=, __stack_pointer - i32.store $23=, 0($19), $23 - i32.const $22=, 80 - i32.add $23=, $24, $22 - i32.const $22=, __stack_pointer - i32.store $23=, 0($22), $23 - return $15 + i32.store $19=, 0($18), $19 + return $3 .endfunc .Lfunc_end0: .size va, .Lfunc_end0-va @@ -210,64 +197,52 @@ va: # @va .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 64 - i32.sub $7=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 + i32.const $0=, __stack_pointer + i32.load $0=, 0($0) + i32.const $1=, 64 + i32.sub $2=, $0, $1 i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 52 - i32.sub $7=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $7=, 0($2), $7 - i64.const $push0=, 17179869187 - i64.store $discard=, 0($7):p2align=2, $pop0 - i32.const $push1=, 48 - i32.add $0=, $7, $pop1 + i32.store $2=, 0($1), $2 + i32.const $push0=, 48 + i32.add $push1=, $2, $pop0 i32.const $push2=, 15 - i32.store $discard=, 0($0), $pop2 + i32.store $discard=, 0($pop1):p2align=4, $pop2 i32.const $push3=, 40 - i32.add $0=, $7, $pop3 - i64.const $push4=, 60129542157 - i64.store $discard=, 0($0):p2align=2, $pop4 - i32.const $push5=, 32 - i32.add $0=, $7, $pop5 - i64.const $push6=, 51539607563 - i64.store $discard=, 0($0):p2align=2, $pop6 - i32.const $push7=, 24 - i32.add $0=, $7, $pop7 - i64.const $push8=, 42949672969 - i64.store $discard=, 0($0):p2align=2, $pop8 - i32.const $push9=, 16 - i32.add $0=, $7, $pop9 - i64.const $push10=, 34359738375 - i64.store $discard=, 0($0):p2align=2, $pop10 - i32.const $push11=, 8 - i32.add $0=, $7, $pop11 - i64.const $push12=, 25769803781 - i64.store $discard=, 0($0):p2align=2, $pop12 - i32.const $push15=, 1 - f64.const $push14=, 0x1p0 - i32.const $push13=, 2 - i32.call $discard=, va@FUNCTION, $pop15, $pop14, $pop13 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 52 - i32.add $7=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 - i32.const $push17=, .L.str.1 - i32.const $push16=, buf - i32.call $0=, strcmp@FUNCTION, $pop17, $pop16 + i32.add $push4=, $2, $pop3 + i64.const $push5=, 60129542157 + i64.store $discard=, 0($pop4), $pop5 + i32.const $push6=, 32 + i32.add $push7=, $2, $pop6 + i64.const $push8=, 51539607563 + i64.store $discard=, 0($pop7):p2align=4, $pop8 + i32.const $push9=, 24 + i32.add $push10=, $2, $pop9 + i64.const $push11=, 42949672969 + i64.store $discard=, 0($pop10), $pop11 + i32.const $push12=, 16 + i32.add $push13=, $2, $pop12 + i64.const $push14=, 34359738375 + i64.store $discard=, 0($pop13):p2align=4, $pop14 + i32.const $push15=, 8 + i32.or $push16=, $2, $pop15 + i64.const $push17=, 25769803781 + i64.store $discard=, 0($pop16), $pop17 + i64.const $push18=, 17179869187 + i64.store $discard=, 0($2):p2align=4, $pop18 + i32.const $push21=, 1 + f64.const $push20=, 0x1p0 + i32.const $push19=, 2 + i32.call $discard=, va@FUNCTION, $pop21, $pop20, $pop19, $2 block - br_if 0, $0 # 0: down to label0 + i32.const $push23=, .L.str.1 + i32.const $push22=, buf + i32.call $push24=, strcmp@FUNCTION, $pop23, $pop22 + br_if 0, $pop24 # 0: down to label0 # BB#1: # %if.end - i32.const $push18=, 0 - call exit@FUNCTION, $pop18 + i32.const $push25=, 0 + call exit@FUNCTION, $pop25 unreachable .LBB1_2: # %if.then end_block # label0: diff --git a/test/torture-s/920501-9.c.s b/test/torture-s/920501-9.c.s index f122e13bd..53494889d 100644 --- a/test/torture-s/920501-9.c.s +++ b/test/torture-s/920501-9.c.s @@ -72,67 +72,47 @@ proc5: # @proc5 print_longlong: # @print_longlong .param i64, i32 .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $12=, __stack_pointer - i32.load $12=, 0($12) - i32.const $13=, 16 - i32.sub $15=, $12, $13 - i32.const $13=, __stack_pointer - i32.store $15=, 0($13), $15 + i32.const $4=, __stack_pointer + i32.load $4=, 0($4) + i32.const $5=, 32 + i32.sub $9=, $4, $5 + i32.const $5=, __stack_pointer + i32.store $9=, 0($5), $9 i32.wrap/i64 $2=, $0 block block i64.const $push1=, 32 i64.shr_u $push2=, $0, $pop1 i32.wrap/i64 $push0=, $pop2 - tee_local $push6=, $3=, $pop0 - i32.const $push7=, 0 - i32.eq $push8=, $pop6, $pop7 - br_if 0, $pop8 # 0: down to label1 + tee_local $push7=, $3=, $pop0 + i32.const $push8=, 0 + i32.eq $push9=, $pop7, $pop8 + br_if 0, $pop9 # 0: down to label1 # BB#1: # %if.then - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 8 - i32.sub $15=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $15=, 0($5), $15 - i32.store $discard=, 0($15), $3 i32.const $push3=, 4 - i32.add $3=, $15, $pop3 - i32.store $discard=, 0($3), $2 - i32.const $push4=, .L.str - i32.call $discard=, sprintf@FUNCTION, $1, $pop4 - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 8 - i32.add $15=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $15=, 0($7), $15 + i32.const $7=, 16 + i32.add $7=, $9, $7 + i32.or $push4=, $7, $pop3 + i32.store $discard=, 0($pop4), $2 + i32.store $discard=, 16($9):p2align=4, $3 + i32.const $push5=, .L.str + i32.const $8=, 16 + i32.add $8=, $9, $8 + i32.call $discard=, sprintf@FUNCTION, $1, $pop5, $8 br 1 # 1: down to label0 .LBB5_2: # %if.else end_block # label1: - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 4 - i32.sub $15=, $8, $9 - i32.const $9=, __stack_pointer - i32.store $15=, 0($9), $15 - i32.store $discard=, 0($15), $2 - i32.const $push5=, .L.str.1 - i32.call $discard=, sprintf@FUNCTION, $1, $pop5 - i32.const $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 4 - i32.add $15=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $15=, 0($11), $15 + i32.store $discard=, 0($9):p2align=4, $2 + i32.const $push6=, .L.str.1 + i32.call $discard=, sprintf@FUNCTION, $1, $pop6, $9 .LBB5_3: # %if.end end_block # label0: - i32.const $14=, 16 - i32.add $15=, $15, $14 - i32.const $14=, __stack_pointer - i32.store $15=, 0($14), $15 + i32.const $6=, 32 + i32.add $9=, $9, $6 + i32.const $6=, __stack_pointer + i32.store $9=, 0($6), $9 return $1 .endfunc .Lfunc_end5: @@ -144,141 +124,89 @@ print_longlong: # @print_longlong .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, 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, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $21=, __stack_pointer - i32.load $21=, 0($21) - i32.const $22=, 128 - i32.sub $33=, $21, $22 - i32.const $22=, __stack_pointer - i32.store $33=, 0($22), $33 + i32.const $0=, __stack_pointer + i32.load $0=, 0($0) + i32.const $1=, 192 + i32.sub $16=, $0, $1 i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 4 - i32.sub $33=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $33=, 0($2), $33 + i32.store $16=, 0($1), $16 i32.const $push0=, 1 - i32.store $discard=, 0($33), $pop0 - i32.const $push12=, .L.str.1 - i32.const $23=, 16 - i32.add $23=, $33, $23 - i32.call $discard=, sprintf@FUNCTION, $23, $pop12 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 4 - i32.add $33=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $33=, 0($4), $33 + i32.store $discard=, 64($16):p2align=4, $pop0 + i32.const $push17=, .L.str.1 + i32.const $2=, 80 + i32.add $2=, $16, $2 + i32.const $3=, 64 + i32.add $3=, $16, $3 + i32.call $discard=, sprintf@FUNCTION, $2, $pop17, $3 i32.const $push1=, .L.str.2 - i32.const $24=, 16 - i32.add $24=, $33, $24 - i32.call $0=, strcmp@FUNCTION, $pop1, $24 + i32.const $4=, 80 + i32.add $4=, $16, $4 block - br_if 0, $0 # 0: down to label2 + i32.call $push2=, strcmp@FUNCTION, $pop1, $4 + br_if 0, $pop2 # 0: down to label2 # BB#1: # %if.end - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 4 - i32.sub $33=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $33=, 0($6), $33 - i32.const $push2=, 305419896 - i32.store $discard=, 0($33), $pop2 - i32.const $push13=, .L.str.1 - i32.const $25=, 16 - i32.add $25=, $33, $25 - i32.call $discard=, sprintf@FUNCTION, $25, $pop13 - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 4 - i32.add $33=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $33=, 0($8), $33 - i32.const $push3=, .L.str.3 - i32.const $26=, 16 - i32.add $26=, $33, $26 - i32.call $0=, strcmp@FUNCTION, $pop3, $26 + i32.const $push3=, 305419896 + i32.store $discard=, 48($16):p2align=4, $pop3 + i32.const $push18=, .L.str.1 + i32.const $5=, 80 + i32.add $5=, $16, $5 + i32.const $6=, 48 + i32.add $6=, $16, $6 + i32.call $discard=, sprintf@FUNCTION, $5, $pop18, $6 + i32.const $push4=, .L.str.3 + i32.const $7=, 80 + i32.add $7=, $16, $7 block - br_if 0, $0 # 0: down to label3 + i32.call $push5=, strcmp@FUNCTION, $pop4, $7 + br_if 0, $pop5 # 0: down to label3 # BB#2: # %if.end11 - i32.const $9=, __stack_pointer - i32.load $9=, 0($9) - i32.const $10=, 8 - i32.sub $33=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $33=, 0($10), $33 - i64.const $push4=, 1311768467732155613 - i64.store $discard=, 0($33):p2align=2, $pop4 - i32.const $push14=, .L.str - i32.const $27=, 16 - i32.add $27=, $33, $27 - i32.call $discard=, sprintf@FUNCTION, $27, $pop14 - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 8 - i32.add $33=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $33=, 0($12), $33 - i32.const $push5=, .L.str.4 - i32.const $28=, 16 - i32.add $28=, $33, $28 - i32.call $0=, strcmp@FUNCTION, $pop5, $28 + i64.const $push6=, 1311768467732155613 + i64.store $discard=, 32($16):p2align=4, $pop6 + i32.const $push19=, .L.str + i32.const $8=, 80 + i32.add $8=, $16, $8 + i32.const $9=, 32 + i32.add $9=, $16, $9 + i32.call $discard=, sprintf@FUNCTION, $8, $pop19, $9 + i32.const $push7=, .L.str.4 + i32.const $10=, 80 + i32.add $10=, $16, $10 block - br_if 0, $0 # 0: down to label4 + i32.call $push8=, strcmp@FUNCTION, $pop7, $10 + br_if 0, $pop8 # 0: down to label4 # BB#3: # %if.end19 - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 8 - i32.sub $33=, $13, $14 - i32.const $14=, __stack_pointer - i32.store $33=, 0($14), $33 - i64.const $push6=, -1 - i64.store $discard=, 0($33):p2align=2, $pop6 - i32.const $push15=, .L.str - i32.const $29=, 16 - i32.add $29=, $33, $29 - i32.call $discard=, sprintf@FUNCTION, $29, $pop15 - i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 8 - i32.add $33=, $15, $16 - i32.const $16=, __stack_pointer - i32.store $33=, 0($16), $33 - i32.const $push7=, .L.str.5 - i32.const $30=, 16 - i32.add $30=, $33, $30 - i32.call $0=, strcmp@FUNCTION, $pop7, $30 + i64.const $push9=, -1 + i64.store $discard=, 16($16):p2align=4, $pop9 + i32.const $push20=, .L.str + i32.const $11=, 80 + i32.add $11=, $16, $11 + i32.const $12=, 16 + i32.add $12=, $16, $12 + i32.call $discard=, sprintf@FUNCTION, $11, $pop20, $12 + i32.const $push10=, .L.str.5 + i32.const $13=, 80 + i32.add $13=, $16, $13 block - br_if 0, $0 # 0: down to label5 + i32.call $push11=, strcmp@FUNCTION, $pop10, $13 + br_if 0, $pop11 # 0: down to label5 # BB#4: # %if.end27 - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 4 - i32.sub $33=, $17, $18 - i32.const $18=, __stack_pointer - i32.store $33=, 0($18), $33 - i32.const $push8=, -1430532899 - i32.store $discard=, 0($33), $pop8 - i32.const $push9=, .L.str.1 - i32.const $31=, 16 - i32.add $31=, $33, $31 - i32.call $discard=, sprintf@FUNCTION, $31, $pop9 - i32.const $19=, __stack_pointer - i32.load $19=, 0($19) - i32.const $20=, 4 - i32.add $33=, $19, $20 - i32.const $20=, __stack_pointer - i32.store $33=, 0($20), $33 - i32.const $push10=, .L.str.6 - i32.const $32=, 16 - i32.add $32=, $33, $32 - i32.call $0=, strcmp@FUNCTION, $pop10, $32 + i32.const $push12=, -1430532899 + i32.store $discard=, 0($16):p2align=4, $pop12 + i32.const $push13=, .L.str.1 + i32.const $14=, 80 + i32.add $14=, $16, $14 + i32.call $discard=, sprintf@FUNCTION, $14, $pop13, $16 + i32.const $push14=, .L.str.6 + i32.const $15=, 80 + i32.add $15=, $16, $15 block - br_if 0, $0 # 0: down to label6 + i32.call $push15=, strcmp@FUNCTION, $pop14, $15 + br_if 0, $pop15 # 0: down to label6 # BB#5: # %if.end35 - i32.const $push11=, 0 - call exit@FUNCTION, $pop11 + i32.const $push16=, 0 + call exit@FUNCTION, $pop16 unreachable .LBB6_6: # %if.then34 end_block # label6: diff --git a/test/torture-s/920726-1.c.s b/test/torture-s/920726-1.c.s index ecbc507a1..89de64838 100644 --- a/test/torture-s/920726-1.c.s +++ b/test/torture-s/920726-1.c.s @@ -5,85 +5,72 @@ .globl first .type first,@function first: # @first - .param i32, i32 + .param i32, i32, i32 .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 16 - i32.sub $11=, $8, $9 - copy_local $12=, $11 - i32.const $9=, __stack_pointer - i32.store $11=, 0($9), $11 - i32.store $discard=, 12($11), $12 + i32.const $4=, __stack_pointer + i32.load $4=, 0($4) + i32.const $5=, 16 + i32.sub $7=, $4, $5 + i32.const $5=, __stack_pointer + i32.store $7=, 0($5), $7 + i32.store $discard=, 12($7), $2 .LBB0_1: # %for.cond # =>This Inner Loop Header: Depth=1 loop # label0: block block i32.load8_u $push0=, 0($1) - tee_local $push9=, $3=, $pop0 - i32.const $push8=, 105 - i32.eq $push1=, $pop9, $pop8 + tee_local $push10=, $2=, $pop0 + i32.const $push9=, 105 + i32.eq $push1=, $pop10, $pop9 br_if 0, $pop1 # 0: down to label3 # BB#2: # %for.cond # in Loop: Header=BB0_1 Depth=1 block - i32.const $push17=, 0 - i32.eq $push18=, $3, $pop17 - br_if 0, $pop18 # 0: down to label4 + i32.const $push18=, 0 + i32.eq $push19=, $2, $pop18 + br_if 0, $pop19 # 0: down to label4 # BB#3: # %if.else # in Loop: Header=BB0_1 Depth=1 - i32.const $push15=, 1 - i32.add $2=, $0, $pop15 - i32.store8 $discard=, 0($0), $3 - copy_local $0=, $2 + i32.const $push16=, 1 + i32.add $3=, $0, $pop16 + i32.store8 $discard=, 0($0), $2 + copy_local $0=, $3 br 2 # 2: down to label2 .LBB0_4: # %for.end end_block # label4: - i32.const $push7=, 0 - i32.store8 $discard=, 0($0), $pop7 - i32.const $10=, 16 - i32.add $11=, $12, $10 - i32.const $10=, __stack_pointer - i32.store $11=, 0($10), $11 + i32.const $push8=, 0 + i32.store8 $discard=, 0($0), $pop8 + i32.const $6=, 16 + i32.add $7=, $7, $6 + i32.const $6=, __stack_pointer + i32.store $7=, 0($6), $7 return $0 .LBB0_5: # %if.then # in Loop: Header=BB0_1 Depth=1 end_block # label3: - i32.load $push2=, 12($11) - i32.const $push14=, 3 - i32.add $push3=, $pop2, $pop14 - i32.const $push13=, -4 - i32.and $push4=, $pop3, $pop13 - tee_local $push12=, $3=, $pop4 - i32.const $push11=, 4 - i32.add $push5=, $pop12, $pop11 - i32.store $discard=, 12($11), $pop5 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 4 - i32.sub $11=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $11=, 0($5), $11 - i32.load $push6=, 0($3) - i32.store $discard=, 0($11), $pop6 - i32.const $push10=, .L.str - i32.call $discard=, sprintf@FUNCTION, $0, $pop10 - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 4 - i32.add $11=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $11=, 0($7), $11 - i32.call $3=, strlen@FUNCTION, $0 - i32.add $0=, $0, $3 + i32.load $push2=, 12($7) + i32.const $push15=, 3 + i32.add $push3=, $pop2, $pop15 + i32.const $push14=, -4 + i32.and $push4=, $pop3, $pop14 + tee_local $push13=, $2=, $pop4 + i32.const $push12=, 4 + i32.add $push5=, $pop13, $pop12 + i32.store $discard=, 12($7), $pop5 + i32.load $push6=, 0($2) + i32.store $discard=, 0($7):p2align=4, $pop6 + i32.const $push11=, .L.str + i32.call $discard=, sprintf@FUNCTION, $0, $pop11, $7 + i32.call $push7=, strlen@FUNCTION, $0 + i32.add $0=, $0, $pop7 .LBB0_6: # %for.inc # in Loop: Header=BB0_1 Depth=1 end_block # label2: - i32.const $push16=, 1 - i32.add $1=, $1, $pop16 + i32.const $push17=, 1 + i32.add $1=, $1, $pop17 br 0 # 0: up to label0 .LBB0_7: end_loop # label1: @@ -96,85 +83,72 @@ first: # @first .globl second .type second,@function second: # @second - .param i32, i32 + .param i32, i32, i32 .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 16 - i32.sub $11=, $8, $9 - copy_local $12=, $11 - i32.const $9=, __stack_pointer - i32.store $11=, 0($9), $11 - i32.store $discard=, 12($11), $12 + i32.const $4=, __stack_pointer + i32.load $4=, 0($4) + i32.const $5=, 16 + i32.sub $7=, $4, $5 + i32.const $5=, __stack_pointer + i32.store $7=, 0($5), $7 + i32.store $discard=, 12($7), $2 .LBB1_1: # %for.cond # =>This Inner Loop Header: Depth=1 loop # label5: block block i32.load8_u $push0=, 0($1) - tee_local $push9=, $3=, $pop0 - i32.const $push8=, 105 - i32.eq $push1=, $pop9, $pop8 + tee_local $push10=, $2=, $pop0 + i32.const $push9=, 105 + i32.eq $push1=, $pop10, $pop9 br_if 0, $pop1 # 0: down to label8 # BB#2: # %for.cond # in Loop: Header=BB1_1 Depth=1 block - i32.const $push17=, 0 - i32.eq $push18=, $3, $pop17 - br_if 0, $pop18 # 0: down to label9 + i32.const $push18=, 0 + i32.eq $push19=, $2, $pop18 + br_if 0, $pop19 # 0: down to label9 # BB#3: # %if.else # in Loop: Header=BB1_1 Depth=1 - i32.const $push15=, 1 - i32.add $2=, $0, $pop15 - i32.store8 $discard=, 0($0), $3 - copy_local $0=, $2 + i32.const $push16=, 1 + i32.add $3=, $0, $pop16 + i32.store8 $discard=, 0($0), $2 + copy_local $0=, $3 br 2 # 2: down to label7 .LBB1_4: # %for.end end_block # label9: - i32.const $push7=, 0 - i32.store8 $discard=, 0($0), $pop7 - i32.const $10=, 16 - i32.add $11=, $12, $10 - i32.const $10=, __stack_pointer - i32.store $11=, 0($10), $11 + i32.const $push8=, 0 + i32.store8 $discard=, 0($0), $pop8 + i32.const $6=, 16 + i32.add $7=, $7, $6 + i32.const $6=, __stack_pointer + i32.store $7=, 0($6), $7 return $0 .LBB1_5: # %if.then # in Loop: Header=BB1_1 Depth=1 end_block # label8: - i32.load $push2=, 12($11) - i32.const $push14=, 3 - i32.add $push3=, $pop2, $pop14 - i32.const $push13=, -4 - i32.and $push4=, $pop3, $pop13 - tee_local $push12=, $3=, $pop4 - i32.const $push11=, 4 - i32.add $push5=, $pop12, $pop11 - i32.store $discard=, 12($11), $pop5 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 4 - i32.sub $11=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $11=, 0($5), $11 - i32.load $push6=, 0($3) - i32.store $discard=, 0($11), $pop6 - i32.const $push10=, .L.str - i32.call $discard=, sprintf@FUNCTION, $0, $pop10 - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 4 - i32.add $11=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $11=, 0($7), $11 - i32.call $3=, strlen@FUNCTION, $0 - i32.add $0=, $0, $3 + i32.load $push2=, 12($7) + i32.const $push15=, 3 + i32.add $push3=, $pop2, $pop15 + i32.const $push14=, -4 + i32.and $push4=, $pop3, $pop14 + tee_local $push13=, $2=, $pop4 + i32.const $push12=, 4 + i32.add $push5=, $pop13, $pop12 + i32.store $discard=, 12($7), $pop5 + i32.load $push6=, 0($2) + i32.store $discard=, 0($7):p2align=4, $pop6 + i32.const $push11=, .L.str + i32.call $discard=, sprintf@FUNCTION, $0, $pop11, $7 + i32.call $push7=, strlen@FUNCTION, $0 + i32.add $0=, $0, $pop7 .LBB1_6: # %for.inc # in Loop: Header=BB1_1 Depth=1 end_block # label7: - i32.const $push16=, 1 - i32.add $1=, $1, $pop16 + i32.const $push17=, 1 + i32.add $1=, $1, $pop17 br 0 # 0: up to label5 .LBB1_7: end_loop # label6: @@ -188,64 +162,42 @@ second: # @second .type main,@function main: # @main .result i32 - .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i64, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 240 - i32.sub $16=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $16=, 0($11), $16 + i32.const $1=, __stack_pointer + i32.load $1=, 0($1) + i32.const $2=, 256 + i32.sub $8=, $1, $2 i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 8 - i32.sub $16=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $16=, 0($3), $16 + i32.store $8=, 0($2), $8 i64.const $push0=, 85899345925 - i64.store $0=, 0($16):p2align=2, $pop0 + i64.store $0=, 16($8):p2align=4, $pop0 i32.const $push1=, .L.str.1 - i32.const $12=, 128 - i32.add $12=, $16, $12 - i32.call $discard=, first@FUNCTION, $12, $pop1 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 8 - i32.add $16=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $16=, 0($5), $16 - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 8 - i32.sub $16=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $16=, 0($7), $16 - i64.store $discard=, 0($16):p2align=2, $0 - i32.const $push4=, .L.str.1 - i32.const $13=, 16 - i32.add $13=, $16, $13 - i32.call $discard=, second@FUNCTION, $13, $pop4 - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 8 - i32.add $16=, $8, $9 - i32.const $9=, __stack_pointer - i32.store $16=, 0($9), $16 - i32.const $push3=, .L.str.2 - i32.const $14=, 128 - i32.add $14=, $16, $14 - i32.call $1=, strcmp@FUNCTION, $pop3, $14 + i32.const $3=, 144 + i32.add $3=, $8, $3 + i32.const $4=, 16 + i32.add $4=, $8, $4 + i32.call $discard=, first@FUNCTION, $3, $pop1, $4 + i64.store $discard=, 0($8):p2align=4, $0 + i32.const $push6=, .L.str.1 + i32.const $5=, 32 + i32.add $5=, $8, $5 + i32.call $discard=, second@FUNCTION, $5, $pop6, $8 + i32.const $push5=, .L.str.2 + i32.const $6=, 144 + i32.add $6=, $8, $6 block - br_if 0, $1 # 0: down to label10 + i32.call $push2=, strcmp@FUNCTION, $pop5, $6 + br_if 0, $pop2 # 0: down to label10 # BB#1: # %lor.lhs.false - i32.const $push5=, .L.str.2 - i32.const $15=, 16 - i32.add $15=, $16, $15 - i32.call $1=, strcmp@FUNCTION, $pop5, $15 - br_if 0, $1 # 0: down to label10 + i32.const $push7=, .L.str.2 + i32.const $7=, 32 + i32.add $7=, $8, $7 + i32.call $push3=, strcmp@FUNCTION, $pop7, $7 + br_if 0, $pop3 # 0: down to label10 # BB#2: # %if.end - i32.const $push2=, 0 - call exit@FUNCTION, $pop2 + i32.const $push4=, 0 + call exit@FUNCTION, $pop4 unreachable .LBB2_3: # %if.then end_block # label10: diff --git a/test/torture-s/930513-1.c.s b/test/torture-s/930513-1.c.s index d6616b5fe..238be4b6b 100644 --- a/test/torture-s/930513-1.c.s +++ b/test/torture-s/930513-1.c.s @@ -7,35 +7,23 @@ f: # @f .param i32 .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 16 - i32.sub $8=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $8=, 0($6), $8 i32.const $1=, __stack_pointer i32.load $1=, 0($1) - i32.const $2=, 8 - i32.sub $8=, $1, $2 + i32.const $2=, 16 + i32.sub $4=, $1, $2 i32.const $2=, __stack_pointer - i32.store $8=, 0($2), $8 + i32.store $4=, 0($2), $4 i64.const $push0=, 4617315517961601024 - i64.store $discard=, 0($8), $pop0 + i64.store $discard=, 0($4):p2align=4, $pop0 i32.const $push2=, buf i32.const $push1=, .L.str - i32.call_indirect $discard=, $0, $pop2, $pop1 + i32.call_indirect $discard=, $0, $pop2, $pop1, $4 + i32.const $3=, 16 + i32.add $4=, $4, $3 i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 8 - i32.add $8=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $8=, 0($4), $8 - i32.const $7=, 16 - i32.add $8=, $8, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 + i32.store $4=, 0($3), $4 return $0 .endfunc .Lfunc_end0: @@ -47,31 +35,19 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 16 - i32.sub $6=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 i32.const $0=, __stack_pointer i32.load $0=, 0($0) - i32.const $1=, 8 - i32.sub $6=, $0, $1 + i32.const $1=, 16 + i32.sub $2=, $0, $1 i32.const $1=, __stack_pointer - i32.store $6=, 0($1), $6 + i32.store $2=, 0($1), $2 i64.const $push1=, 4617315517961601024 - i64.store $discard=, 0($6), $pop1 + i64.store $discard=, 0($2):p2align=4, $pop1 i32.const $push3=, buf i32.const $push2=, .L.str - i32.call $discard=, sprintf@FUNCTION, $pop3, $pop2 - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 8 - i32.add $6=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $6=, 0($3), $6 + i32.call $discard=, sprintf@FUNCTION, $pop3, $pop2, $2 block i32.const $push10=, 0 i32.load8_u $push4=, buf($pop10) diff --git a/test/torture-s/941014-2.c.s b/test/torture-s/941014-2.c.s index ddae9e22f..d3429ec80 100644 --- a/test/torture-s/941014-2.c.s +++ b/test/torture-s/941014-2.c.s @@ -18,46 +18,35 @@ a1: # @a1 .type f,@function f: # @f .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 16 - i32.sub $8=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $8=, 0($6), $8 - i32.const $push0=, 4 - i32.call $0=, malloc@FUNCTION, $pop0 - block - i32.load16_u $push1=, 0($0) - i32.const $push2=, 4096 - i32.lt_u $push3=, $pop1, $pop2 - br_if 0, $pop3 # 0: down to label0 -# BB#1: # %if.then i32.const $1=, __stack_pointer i32.load $1=, 0($1) - i32.const $2=, 4 - i32.sub $8=, $1, $2 + i32.const $2=, 16 + i32.sub $4=, $1, $2 i32.const $2=, __stack_pointer - i32.store $8=, 0($2), $8 - i32.load16_u $push4=, 0($0) - i32.store $discard=, 0($8), $pop4 - i32.const $push5=, .L.str - i32.call $discard=, printf@FUNCTION, $pop5 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 4 - i32.add $8=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $8=, 0($4), $8 + i32.store $4=, 0($2), $4 + block + i32.const $push1=, 4 + i32.call $push0=, malloc@FUNCTION, $pop1 + tee_local $push8=, $0=, $pop0 + i32.load16_u $push2=, 0($pop8) + i32.const $push3=, 4096 + i32.lt_u $push4=, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label0 +# BB#1: # %if.then + i32.load16_u $push5=, 0($0) + i32.store $discard=, 0($4):p2align=4, $pop5 + i32.const $push6=, .L.str + i32.call $discard=, printf@FUNCTION, $pop6, $4 .LBB1_2: # %if.end end_block # label0: - i32.const $push6=, 256 - i32.store16 $discard=, 2($0), $pop6 - i32.const $7=, 16 - i32.add $8=, $8, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 + i32.const $push7=, 256 + i32.store16 $discard=, 2($0), $pop7 + i32.const $3=, 16 + i32.add $4=, $4, $3 + i32.const $3=, __stack_pointer + i32.store $4=, 0($3), $4 return $0 .endfunc .Lfunc_end1: @@ -69,49 +58,38 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 16 - i32.sub $7=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 - i32.const $push0=, 4 - i32.call $0=, malloc@FUNCTION, $pop0 - block - i32.load16_u $push1=, 0($0) - i32.const $push2=, 4096 - i32.lt_u $push3=, $pop1, $pop2 - br_if 0, $pop3 # 0: down to label1 -# BB#1: # %if.then.i i32.const $1=, __stack_pointer i32.load $1=, 0($1) - i32.const $2=, 4 - i32.sub $7=, $1, $2 + i32.const $2=, 16 + i32.sub $3=, $1, $2 i32.const $2=, __stack_pointer - i32.store $7=, 0($2), $7 - i32.load16_u $push4=, 0($0) - i32.store $discard=, 0($7), $pop4 - i32.const $push5=, .L.str - i32.call $discard=, printf@FUNCTION, $pop5 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 4 - i32.add $7=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 + i32.store $3=, 0($2), $3 + block + i32.const $push1=, 4 + i32.call $push0=, malloc@FUNCTION, $pop1 + tee_local $push12=, $0=, $pop0 + i32.load16_u $push2=, 0($pop12) + i32.const $push3=, 4096 + i32.lt_u $push4=, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label1 +# BB#1: # %if.then.i + i32.load16_u $push5=, 0($0) + i32.store $discard=, 0($3):p2align=4, $pop5 + i32.const $push6=, .L.str + i32.call $discard=, printf@FUNCTION, $pop6, $3 .LBB2_2: # %f.exit end_block # label1: block - i32.const $push6=, 256 - i32.store16 $push7=, 2($0), $pop6 - i32.load16_u $push8=, 2($0) - i32.ne $push9=, $pop7, $pop8 - br_if 0, $pop9 # 0: down to label2 + i32.const $push7=, 256 + i32.store16 $push8=, 2($0), $pop7 + i32.load16_u $push9=, 2($0) + i32.ne $push10=, $pop8, $pop9 + br_if 0, $pop10 # 0: down to label2 # BB#3: # %if.end - i32.const $push10=, 0 - call exit@FUNCTION, $pop10 + i32.const $push11=, 0 + call exit@FUNCTION, $pop11 unreachable .LBB2_4: # %if.then end_block # label2: diff --git a/test/torture-s/980205.c.s b/test/torture-s/980205.c.s index 24cefe181..1ba136ad6 100644 --- a/test/torture-s/980205.c.s +++ b/test/torture-s/980205.c.s @@ -5,17 +5,16 @@ .globl fdouble .type fdouble,@function fdouble: # @fdouble - .param f64 - .local i32, i32, i32, i32, i32, i32 + .param f64, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $2=, __stack_pointer i32.load $2=, 0($2) i32.const $3=, 16 i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer i32.store $5=, 0($3), $5 - i32.store $push1=, 12($5), $6 + i32.store $push1=, 12($5), $1 i32.const $push2=, 7 i32.add $push3=, $pop1, $pop2 i32.const $push4=, -8 @@ -35,7 +34,7 @@ fdouble: # @fdouble br_if 0, $pop11 # 0: down to label0 # BB#2: # %if.end i32.const $4=, 16 - i32.add $5=, $6, $4 + i32.add $5=, $5, $4 i32.const $4=, __stack_pointer i32.store $5=, 0($4), $5 return @@ -53,30 +52,18 @@ fdouble: # @fdouble .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 16 - i32.sub $6=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 i32.const $0=, __stack_pointer i32.load $0=, 0($0) - i32.const $1=, 8 - i32.sub $6=, $0, $1 + i32.const $1=, 16 + i32.sub $2=, $0, $1 i32.const $1=, __stack_pointer - i32.store $6=, 0($1), $6 + i32.store $2=, 0($1), $2 i64.const $push0=, 4611686018427387904 - i64.store $discard=, 0($6), $pop0 + i64.store $discard=, 0($2):p2align=4, $pop0 f64.const $push1=, 0x1p0 - call fdouble@FUNCTION, $pop1 - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 8 - i32.add $6=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $6=, 0($3), $6 + call fdouble@FUNCTION, $pop1, $2 i32.const $push2=, 0 call exit@FUNCTION, $pop2 unreachable diff --git a/test/torture-s/980605-1.c.s b/test/torture-s/980605-1.c.s index 54df999d1..0a10ceb2a 100644 --- a/test/torture-s/980605-1.c.s +++ b/test/torture-s/980605-1.c.s @@ -52,14 +52,14 @@ getval: # @getval .globl f .type f,@function f: # @f - .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 16 - i32.sub $8=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $8=, 0($6), $8 + i32.const $1=, __stack_pointer + i32.load $1=, 0($1) + i32.const $2=, 16 + i32.sub $4=, $1, $2 + i32.const $2=, __stack_pointer + i32.store $4=, 0($2), $4 i32.const $push0=, 0 i32.const $push15=, 0 i32.load $push1=, x($pop15) @@ -67,37 +67,25 @@ f: # @f i32.const $push2=, 20 i32.add $push3=, $pop14, $pop2 i32.store $discard=, x($pop0), $pop3 - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 4 - i32.sub $8=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $8=, 0($2), $8 i32.const $push4=, 10 i32.mul $push5=, $0, $pop4 tee_local $push13=, $0=, $pop5 i32.add $push6=, $pop13, $0 i32.const $push7=, 207 i32.add $push8=, $pop6, $pop7 - i32.store $0=, 0($8), $pop8 + i32.store $0=, 0($4):p2align=4, $pop8 i32.const $push10=, buf i32.const $push9=, .L.str - i32.call $discard=, sprintf@FUNCTION, $pop10, $pop9 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 4 - i32.add $8=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $8=, 0($4), $8 + i32.call $discard=, sprintf@FUNCTION, $pop10, $pop9, $4 block i32.const $push11=, 227 i32.ne $push12=, $0, $pop11 br_if 0, $pop12 # 0: down to label0 # BB#1: # %if.end - i32.const $7=, 16 - i32.add $8=, $8, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 + i32.const $3=, 16 + i32.add $4=, $4, $3 + i32.const $3=, __stack_pointer + i32.store $4=, 0($3), $4 return .LBB2_2: # %if.then end_block # label0: diff --git a/test/torture-s/980608-1.c.s b/test/torture-s/980608-1.c.s index b6ce1e75f..6e6ecbfab 100644 --- a/test/torture-s/980608-1.c.s +++ b/test/torture-s/980608-1.c.s @@ -17,17 +17,16 @@ f1: # @f1 .globl debug .type debug,@function debug: # @debug - .param i32 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $2=, __stack_pointer i32.load $2=, 0($2) i32.const $3=, 16 i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer i32.store $5=, 0($3), $5 - i32.store $push0=, 12($5), $6 + i32.store $push0=, 12($5), $1 i32.const $push45=, 3 i32.add $push1=, $pop0, $pop45 i32.const $push44=, -4 @@ -118,7 +117,7 @@ debug: # @debug br_if 0, $pop41 # 0: down to label5 # BB#6: # %if.end16 i32.const $4=, 16 - i32.add $5=, $6, $4 + i32.add $5=, $5, $4 i32.const $4=, __stack_pointer i32.store $5=, 0($4), $5 return @@ -156,39 +155,27 @@ debug: # @debug .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 32 - i32.sub $7=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 i32.const $1=, __stack_pointer i32.load $1=, 0($1) - i32.const $2=, 24 - i32.sub $7=, $1, $2 + i32.const $2=, 32 + i32.sub $3=, $1, $2 i32.const $2=, __stack_pointer - i32.store $7=, 0($2), $7 - i64.const $push0=, 438086664293 - i64.store $discard=, 0($7):p2align=2, $pop0 - i32.const $push1=, 16 - i32.add $0=, $7, $pop1 + i32.store $3=, 0($2), $3 + i32.const $push0=, 16 + i32.add $push1=, $3, $pop0 i64.const $push2=, 455266533481 - i64.store $discard=, 0($0):p2align=2, $pop2 + i64.store $discard=, 0($pop1):p2align=4, $pop2 i32.const $push3=, 8 - i32.add $0=, $7, $pop3 - i64.const $push4=, 446676598887 - i64.store $discard=, 0($0):p2align=2, $pop4 - call debug@FUNCTION, $0 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 24 - i32.add $7=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 - i32.const $push5=, 0 - call exit@FUNCTION, $pop5 + i32.or $push4=, $3, $pop3 + i64.const $push5=, 446676598887 + i64.store $discard=, 0($pop4), $pop5 + i64.const $push6=, 438086664293 + i64.store $discard=, 0($3):p2align=4, $pop6 + call debug@FUNCTION, $0, $3 + i32.const $push7=, 0 + call exit@FUNCTION, $pop7 unreachable .endfunc .Lfunc_end2: diff --git a/test/torture-s/980716-1.c.s b/test/torture-s/980716-1.c.s index b7cf6efc5..6d9bee952 100644 --- a/test/torture-s/980716-1.c.s +++ b/test/torture-s/980716-1.c.s @@ -5,21 +5,20 @@ .globl stub .type stub,@function stub: # @stub - .param i32 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $discard=, 12($5), $6 + 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.store $2=, 12($6), $1 .LBB0_1: # %while.body # =>This Inner Loop Header: Depth=1 loop # label0: - i32.load $push0=, 12($5) + i32.load $push0=, 12($6) i32.const $push13=, 3 i32.add $push1=, $pop0, $pop13 i32.const $push12=, -4 @@ -27,16 +26,16 @@ stub: # @stub tee_local $push11=, $1=, $pop2 i32.const $push10=, 4 i32.add $push3=, $pop11, $pop10 - i32.store $discard=, 12($5), $pop3 + i32.store $discard=, 12($6), $pop3 i32.load $push4=, 0($1) br_if 0, $pop4 # 0: up to label0 # BB#2: # %while.end end_loop # label1: - i32.store $discard=, 12($5), $6 + i32.store $discard=, 12($6), $2 .LBB0_3: # %while.body.1 # =>This Inner Loop Header: Depth=1 loop # label2: - i32.load $push5=, 12($5) + i32.load $push5=, 12($6) i32.const $push17=, 3 i32.add $push6=, $pop5, $pop17 i32.const $push16=, -4 @@ -44,15 +43,15 @@ stub: # @stub tee_local $push15=, $1=, $pop7 i32.const $push14=, 4 i32.add $push8=, $pop15, $pop14 - i32.store $discard=, 12($5), $pop8 + i32.store $discard=, 12($6), $pop8 i32.load $push9=, 0($1) br_if 0, $pop9 # 0: up to label2 # BB#4: # %while.end.1 end_loop # label3: - i32.const $4=, 16 - i32.add $5=, $6, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $5=, 16 + i32.add $6=, $6, $5 + i32.const $5=, __stack_pointer + i32.store $6=, 0($5), $6 return .endfunc .Lfunc_end0: @@ -64,41 +63,29 @@ stub: # @stub .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 16 - i32.sub $8=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 + i32.const $1=, __stack_pointer + i32.load $1=, 0($1) + i32.const $2=, 16 + i32.sub $3=, $1, $2 i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $8=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $8=, 0($3), $8 - i32.const $push0=, .L.str - i32.store $discard=, 0($8), $pop0 - i32.const $push1=, 12 - i32.add $0=, $8, $pop1 + i32.store $3=, 0($2), $3 + i32.const $push0=, 12 + i32.or $push1=, $3, $pop0 i32.const $push2=, 0 - i32.store $0=, 0($0), $pop2 + i32.store $0=, 0($pop1), $pop2 i32.const $push3=, 8 - i32.add $1=, $8, $pop3 - i32.const $push4=, .L.str.2 - i32.store $discard=, 0($1), $pop4 - i32.const $push5=, 4 - i32.add $1=, $8, $pop5 - i32.const $push6=, .L.str.1 - i32.store $discard=, 0($1), $pop6 - call stub@FUNCTION, $0 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 16 - i32.add $8=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $8=, 0($5), $8 + i32.or $push4=, $3, $pop3 + i32.const $push5=, .L.str.2 + i32.store $discard=, 0($pop4):p2align=3, $pop5 + i32.const $push6=, 4 + i32.or $push7=, $3, $pop6 + i32.const $push8=, .L.str.1 + i32.store $discard=, 0($pop7), $pop8 + i32.const $push9=, .L.str + i32.store $discard=, 0($3):p2align=4, $pop9 + call stub@FUNCTION, $0, $3 call exit@FUNCTION, $0 unreachable .endfunc diff --git a/test/torture-s/fprintf-1.c.s b/test/torture-s/fprintf-1.c.s index c1245c896..f88788dd6 100644 --- a/test/torture-s/fprintf-1.c.s +++ b/test/torture-s/fprintf-1.c.s @@ -6,281 +6,193 @@ .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, i32, i32, i32, i32, i32, i32, i32, i32, i32, 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, i32, i32, i32 # BB#0: # %entry - i32.const $39=, __stack_pointer - i32.load $39=, 0($39) - i32.const $40=, 16 - i32.sub $42=, $39, $40 - i32.const $40=, __stack_pointer - i32.store $42=, 0($40), $42 + i32.const $2=, __stack_pointer + i32.load $2=, 0($2) + i32.const $3=, 144 + i32.sub $13=, $2, $3 + i32.const $3=, __stack_pointer + i32.store $13=, 0($3), $13 i32.const $push1=, .L.str i32.const $push2=, 5 - i32.const $push49=, 1 - i32.const $push48=, 0 - i32.load $push0=, stdout($pop48) - i32.call $discard=, fwrite@FUNCTION, $pop1, $pop2, $pop49, $pop0 - i32.const $push47=, 0 - i32.load $push3=, stdout($pop47) - i32.const $push46=, .L.str - i32.call $1=, fprintf@FUNCTION, $pop3, $pop46 + i32.const $push61=, 1 + i32.const $push60=, 0 + i32.load $push0=, stdout($pop60) + i32.call $discard=, fwrite@FUNCTION, $pop1, $pop2, $pop61, $pop0 block - i32.const $push45=, 5 - i32.ne $push4=, $1, $pop45 - br_if 0, $pop4 # 0: down to label0 + i32.const $push59=, 0 + i32.load $push3=, stdout($pop59) + i32.const $push58=, .L.str + i32.const $push57=, 0 + i32.call $push4=, fprintf@FUNCTION, $pop3, $pop58, $pop57 + i32.const $push56=, 5 + i32.ne $push5=, $pop4, $pop56 + br_if 0, $pop5 # 0: down to label0 # BB#1: # %if.end - i32.const $push6=, .L.str.1 - i32.const $push7=, 6 - i32.const $push54=, 1 - i32.const $push53=, 0 - i32.load $push5=, stdout($pop53) - i32.call $discard=, fwrite@FUNCTION, $pop6, $pop7, $pop54, $pop5 - i32.const $push52=, 0 - i32.load $push8=, stdout($pop52) - i32.const $push51=, .L.str.1 - i32.call $1=, fprintf@FUNCTION, $pop8, $pop51 + i32.const $push7=, .L.str.1 + i32.const $push8=, 6 + i32.const $push67=, 1 + i32.const $push66=, 0 + i32.load $push6=, stdout($pop66) + i32.call $discard=, fwrite@FUNCTION, $pop7, $pop8, $pop67, $pop6 block - i32.const $push50=, 6 - i32.ne $push9=, $1, $pop50 - br_if 0, $pop9 # 0: down to label1 + i32.const $push65=, 0 + i32.load $push9=, stdout($pop65) + i32.const $push64=, .L.str.1 + i32.const $push63=, 0 + i32.call $push10=, fprintf@FUNCTION, $pop9, $pop64, $pop63 + i32.const $push62=, 6 + i32.ne $push11=, $pop10, $pop62 + br_if 0, $pop11 # 0: down to label1 # BB#2: # %if.end6 - i32.const $push11=, 97 - i32.const $push56=, 0 - i32.load $push10=, stdout($pop56) - i32.call $discard=, fputc@FUNCTION, $pop11, $pop10 - i32.const $push55=, 0 - i32.load $push12=, stdout($pop55) - i32.const $push13=, .L.str.2 - i32.call $1=, fprintf@FUNCTION, $pop12, $pop13 + i32.const $push13=, 97 + i32.const $push70=, 0 + i32.load $push12=, stdout($pop70) + i32.call $discard=, fputc@FUNCTION, $pop13, $pop12 block - i32.const $push14=, 1 - i32.ne $push15=, $1, $pop14 - br_if 0, $pop15 # 0: down to label2 + i32.const $push69=, 0 + i32.load $push14=, stdout($pop69) + i32.const $push15=, .L.str.2 + i32.const $push68=, 0 + i32.call $push16=, fprintf@FUNCTION, $pop14, $pop15, $pop68 + i32.const $push17=, 1 + i32.ne $push18=, $pop16, $pop17 + br_if 0, $pop18 # 0: down to label2 # BB#3: # %if.end11 - i32.const $push57=, 0 - i32.load $push16=, stdout($pop57) - i32.const $push17=, .L.str.3 - i32.call $1=, fprintf@FUNCTION, $pop16, $pop17 block - br_if 0, $1 # 0: down to label3 + i32.const $push72=, 0 + i32.load $push19=, stdout($pop72) + i32.const $push20=, .L.str.3 + i32.const $push71=, 0 + i32.call $push21=, fprintf@FUNCTION, $pop19, $pop20, $pop71 + br_if 0, $pop21 # 0: down to label3 # BB#4: # %if.end16 - i32.const $push19=, .L.str - i32.const $push20=, 5 - i32.const $push63=, 1 - i32.const $push62=, 0 - i32.load $push18=, stdout($pop62) - i32.call $discard=, fwrite@FUNCTION, $pop19, $pop20, $pop63, $pop18 - i32.const $push61=, 0 - i32.load $1=, stdout($pop61) - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 4 - i32.sub $42=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $42=, 0($4), $42 - i32.const $push60=, .L.str - i32.store $discard=, 0($42), $pop60 - i32.const $push59=, .L.str.4 - i32.call $1=, fprintf@FUNCTION, $1, $pop59 - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 4 - i32.add $42=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $42=, 0($6), $42 + i32.const $push23=, .L.str + i32.const $push24=, 5 + i32.const $push78=, 1 + i32.const $push77=, 0 + i32.load $push22=, stdout($pop77) + i32.call $discard=, fwrite@FUNCTION, $pop23, $pop24, $pop78, $pop22 + i32.const $push76=, 0 + i32.load $1=, stdout($pop76) + i32.const $push75=, .L.str + i32.store $discard=, 128($13):p2align=4, $pop75 + i32.const $push74=, .L.str.4 + i32.const $5=, 128 + i32.add $5=, $13, $5 block - i32.const $push58=, 5 - i32.ne $push21=, $1, $pop58 - br_if 0, $pop21 # 0: down to label4 + i32.call $push25=, fprintf@FUNCTION, $1, $pop74, $5 + i32.const $push73=, 5 + i32.ne $push26=, $pop25, $pop73 + br_if 0, $pop26 # 0: down to label4 # BB#5: # %if.end21 - i32.const $push23=, .L.str.1 - i32.const $push24=, 6 - i32.const $push69=, 1 - i32.const $push68=, 0 - i32.load $push22=, stdout($pop68) - i32.call $discard=, fwrite@FUNCTION, $pop23, $pop24, $pop69, $pop22 - i32.const $push67=, 0 - i32.load $1=, stdout($pop67) - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 4 - i32.sub $42=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $42=, 0($8), $42 - i32.const $push66=, .L.str.1 - i32.store $discard=, 0($42), $pop66 - i32.const $push65=, .L.str.4 - i32.call $1=, fprintf@FUNCTION, $1, $pop65 - i32.const $9=, __stack_pointer - i32.load $9=, 0($9) - i32.const $10=, 4 - i32.add $42=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $42=, 0($10), $42 + i32.const $push28=, .L.str.1 + i32.const $push29=, 6 + i32.const $push84=, 1 + i32.const $push83=, 0 + i32.load $push27=, stdout($pop83) + i32.call $discard=, fwrite@FUNCTION, $pop28, $pop29, $pop84, $pop27 + i32.const $push82=, 0 + i32.load $1=, stdout($pop82) + i32.const $push81=, .L.str.1 + i32.store $discard=, 112($13):p2align=4, $pop81 + i32.const $push80=, .L.str.4 + i32.const $6=, 112 + i32.add $6=, $13, $6 block - i32.const $push64=, 6 - i32.ne $push25=, $1, $pop64 - br_if 0, $pop25 # 0: down to label5 + i32.call $push30=, fprintf@FUNCTION, $1, $pop80, $6 + i32.const $push79=, 6 + i32.ne $push31=, $pop30, $pop79 + br_if 0, $pop31 # 0: down to label5 # BB#6: # %if.end26 - i32.const $push27=, 97 - i32.const $push72=, 0 - i32.load $push26=, stdout($pop72) - i32.call $discard=, fputc@FUNCTION, $pop27, $pop26 - i32.const $push71=, 0 - i32.load $1=, stdout($pop71) - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 4 - i32.sub $42=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $42=, 0($12), $42 - i32.const $push28=, .L.str.2 - i32.store $discard=, 0($42), $pop28 - i32.const $push70=, .L.str.4 - i32.call $1=, fprintf@FUNCTION, $1, $pop70 - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 4 - i32.add $42=, $13, $14 - i32.const $14=, __stack_pointer - i32.store $42=, 0($14), $42 + i32.const $push33=, 97 + i32.const $push87=, 0 + i32.load $push32=, stdout($pop87) + i32.call $discard=, fputc@FUNCTION, $pop33, $pop32 + i32.const $push86=, 0 + i32.load $1=, stdout($pop86) + i32.const $push34=, .L.str.2 + i32.store $discard=, 96($13):p2align=4, $pop34 + i32.const $push85=, .L.str.4 + i32.const $7=, 96 + i32.add $7=, $13, $7 block - i32.const $push29=, 1 - i32.ne $push30=, $1, $pop29 - br_if 0, $pop30 # 0: down to label6 + i32.call $push35=, fprintf@FUNCTION, $1, $pop85, $7 + i32.const $push36=, 1 + i32.ne $push37=, $pop35, $pop36 + br_if 0, $pop37 # 0: down to label6 # BB#7: # %if.end31 - i32.const $push74=, 0 - i32.load $1=, stdout($pop74) - i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 4 - i32.sub $42=, $15, $16 - i32.const $16=, __stack_pointer - i32.store $42=, 0($16), $42 - i32.const $push31=, .L.str.3 - i32.store $discard=, 0($42), $pop31 - i32.const $push73=, .L.str.4 - i32.call $1=, fprintf@FUNCTION, $1, $pop73 - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 4 - i32.add $42=, $17, $18 - i32.const $18=, __stack_pointer - i32.store $42=, 0($18), $42 + i32.const $push89=, 0 + i32.load $1=, stdout($pop89) + i32.const $push38=, .L.str.3 + i32.store $discard=, 80($13):p2align=4, $pop38 + i32.const $push88=, .L.str.4 + i32.const $8=, 80 + i32.add $8=, $13, $8 block - br_if 0, $1 # 0: down to label7 + i32.call $push39=, fprintf@FUNCTION, $1, $pop88, $8 + br_if 0, $pop39 # 0: down to label7 # BB#8: # %if.end36 - i32.const $push33=, 120 - i32.const $push77=, 0 - i32.load $push32=, stdout($pop77) - i32.call $discard=, fputc@FUNCTION, $pop33, $pop32 - i32.const $push76=, 0 - i32.load $1=, stdout($pop76) - i32.const $19=, __stack_pointer - i32.load $19=, 0($19) - i32.const $20=, 4 - i32.sub $42=, $19, $20 - i32.const $20=, __stack_pointer - i32.store $42=, 0($20), $42 - i32.const $push75=, 120 - i32.store $discard=, 0($42), $pop75 - i32.const $push34=, .L.str.5 - i32.call $1=, fprintf@FUNCTION, $1, $pop34 - i32.const $21=, __stack_pointer - i32.load $21=, 0($21) - i32.const $22=, 4 - i32.add $42=, $21, $22 - i32.const $22=, __stack_pointer - i32.store $42=, 0($22), $42 + i32.const $push41=, 120 + i32.const $push92=, 0 + i32.load $push40=, stdout($pop92) + i32.call $discard=, fputc@FUNCTION, $pop41, $pop40 + i32.const $push91=, 0 + i32.load $1=, stdout($pop91) + i32.const $push90=, 120 + i32.store $discard=, 64($13):p2align=4, $pop90 + i32.const $push42=, .L.str.5 + i32.const $9=, 64 + i32.add $9=, $13, $9 block - i32.const $push35=, 1 - i32.ne $push36=, $1, $pop35 - br_if 0, $pop36 # 0: down to label8 + i32.call $push43=, fprintf@FUNCTION, $1, $pop42, $9 + i32.const $push44=, 1 + i32.ne $push45=, $pop43, $pop44 + br_if 0, $pop45 # 0: down to label8 # BB#9: # %if.end41 - i32.const $push80=, 0 - i32.load $1=, stdout($pop80) - i32.const $23=, __stack_pointer - i32.load $23=, 0($23) - i32.const $24=, 4 - i32.sub $42=, $23, $24 - i32.const $24=, __stack_pointer - i32.store $42=, 0($24), $42 - i32.const $push37=, .L.str.1 - i32.store $0=, 0($42), $pop37 - i32.const $push38=, .L.str.6 - i32.call $discard=, fprintf@FUNCTION, $1, $pop38 - i32.const $25=, __stack_pointer - i32.load $25=, 0($25) - i32.const $26=, 4 - i32.add $42=, $25, $26 - i32.const $26=, __stack_pointer - i32.store $42=, 0($26), $42 - i32.const $push79=, 0 - i32.load $1=, stdout($pop79) - i32.const $27=, __stack_pointer - i32.load $27=, 0($27) - i32.const $28=, 4 - i32.sub $42=, $27, $28 - i32.const $28=, __stack_pointer - i32.store $42=, 0($28), $42 - i32.store $discard=, 0($42), $0 - i32.const $push78=, .L.str.6 - i32.call $1=, fprintf@FUNCTION, $1, $pop78 - i32.const $29=, __stack_pointer - i32.load $29=, 0($29) - i32.const $30=, 4 - i32.add $42=, $29, $30 - i32.const $30=, __stack_pointer - i32.store $42=, 0($30), $42 + i32.const $push95=, 0 + i32.load $1=, stdout($pop95) + i32.const $push46=, .L.str.1 + i32.store $0=, 48($13):p2align=4, $pop46 + i32.const $push47=, .L.str.6 + i32.const $10=, 48 + i32.add $10=, $13, $10 + i32.call $discard=, fprintf@FUNCTION, $1, $pop47, $10 + i32.const $push94=, 0 + i32.load $1=, stdout($pop94) + i32.store $discard=, 32($13):p2align=4, $0 + i32.const $push93=, .L.str.6 + i32.const $11=, 32 + i32.add $11=, $13, $11 block - i32.const $push39=, 7 - i32.ne $push40=, $1, $pop39 - br_if 0, $pop40 # 0: down to label9 + i32.call $push48=, fprintf@FUNCTION, $1, $pop93, $11 + i32.const $push49=, 7 + i32.ne $push50=, $pop48, $pop49 + br_if 0, $pop50 # 0: down to label9 # BB#10: # %if.end46 - i32.const $push41=, 0 - i32.load $0=, stdout($pop41) - i32.const $31=, __stack_pointer - i32.load $31=, 0($31) - i32.const $32=, 4 - i32.sub $42=, $31, $32 - i32.const $32=, __stack_pointer - i32.store $42=, 0($32), $42 - i32.const $push82=, 0 - i32.store $1=, 0($42), $pop82 - i32.const $push42=, .L.str.7 - i32.call $discard=, fprintf@FUNCTION, $0, $pop42 - i32.const $33=, __stack_pointer - i32.load $33=, 0($33) - i32.const $34=, 4 - i32.add $42=, $33, $34 - i32.const $34=, __stack_pointer - i32.store $42=, 0($34), $42 + i32.const $push51=, 0 + i32.load $0=, stdout($pop51) + i32.const $push97=, 0 + i32.store $1=, 16($13):p2align=4, $pop97 + i32.const $push52=, .L.str.7 + i32.const $12=, 16 + i32.add $12=, $13, $12 + i32.call $discard=, fprintf@FUNCTION, $0, $pop52, $12 i32.load $0=, stdout($1) - i32.const $35=, __stack_pointer - i32.load $35=, 0($35) - i32.const $36=, 4 - i32.sub $42=, $35, $36 - i32.const $36=, __stack_pointer - i32.store $42=, 0($36), $42 - i32.store $2=, 0($42), $1 - i32.const $push81=, .L.str.7 - i32.call $1=, fprintf@FUNCTION, $0, $pop81 - i32.const $37=, __stack_pointer - i32.load $37=, 0($37) - i32.const $38=, 4 - i32.add $42=, $37, $38 - i32.const $38=, __stack_pointer - i32.store $42=, 0($38), $42 + i32.store $discard=, 0($13):p2align=4, $1 block - i32.const $push43=, 2 - i32.ne $push44=, $1, $pop43 - br_if 0, $pop44 # 0: down to label10 + i32.const $push96=, .L.str.7 + i32.call $push53=, fprintf@FUNCTION, $0, $pop96, $13 + i32.const $push54=, 2 + i32.ne $push55=, $pop53, $pop54 + br_if 0, $pop55 # 0: down to label10 # BB#11: # %if.end51 - i32.const $41=, 16 - i32.add $42=, $42, $41 - i32.const $41=, __stack_pointer - i32.store $42=, 0($41), $42 - return $2 + i32.const $4=, 144 + i32.add $13=, $13, $4 + i32.const $4=, __stack_pointer + i32.store $13=, 0($4), $13 + return $1 .LBB0_12: # %if.then50 end_block # label10: call abort@FUNCTION diff --git a/test/torture-s/fprintf-chk-1.c.s b/test/torture-s/fprintf-chk-1.c.s index 9dd5c1a3d..777f39090 100644 --- a/test/torture-s/fprintf-chk-1.c.s +++ b/test/torture-s/fprintf-chk-1.c.s @@ -5,17 +5,16 @@ .globl __fprintf_chk .type __fprintf_chk,@function __fprintf_chk: # @__fprintf_chk - .param i32, i32, i32 + .param i32, i32, i32, i32 .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - copy_local $7=, $6 i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.load $4=, 0($4) + i32.const $5=, 16 + i32.sub $7=, $4, $5 + i32.const $5=, __stack_pointer + i32.store $7=, 0($5), $7 block i32.const $push4=, 0 i32.load $push0=, should_optimize($pop4) @@ -24,12 +23,12 @@ __fprintf_chk: # @__fprintf_chk i32.const $push5=, 0 i32.const $push1=, 1 i32.store $discard=, should_optimize($pop5), $pop1 - i32.store $push2=, 12($6), $7 + i32.store $push2=, 12($7), $3 i32.call $push3=, vfprintf@FUNCTION, $0, $2, $pop2 - i32.const $5=, 16 - i32.add $6=, $7, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $6=, 16 + i32.add $7=, $7, $6 + i32.const $6=, __stack_pointer + i32.store $7=, 0($6), $7 return $pop3 .LBB0_2: # %if.then end_block # label0: @@ -45,550 +44,414 @@ __fprintf_chk: # @__fprintf_chk .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, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, 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, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $59=, __stack_pointer - i32.load $59=, 0($59) - i32.const $60=, 16 - i32.sub $62=, $59, $60 - i32.const $60=, __stack_pointer - i32.store $62=, 0($60), $62 - i32.const $push82=, 0 + i32.const $3=, __stack_pointer + i32.load $3=, 0($3) + i32.const $4=, 224 + i32.sub $19=, $3, $4 + i32.const $4=, __stack_pointer + i32.store $19=, 0($4), $19 + i32.const $push94=, 0 i32.const $push0=, 1 - i32.store $discard=, should_optimize($pop82), $pop0 - i32.const $push81=, 0 - i32.load $push1=, stdout($pop81) - i32.const $push80=, .L.str - i32.call $discard=, __fprintf_chk@FUNCTION, $pop1, $0, $pop80 - block - i32.const $push79=, 0 - i32.load $push2=, should_optimize($pop79) - i32.const $push161=, 0 - i32.eq $push162=, $pop2, $pop161 - br_if 0, $pop162 # 0: down to label1 + i32.store $discard=, should_optimize($pop94), $pop0 + i32.const $push93=, 0 + i32.load $push1=, stdout($pop93) + i32.const $push92=, .L.str + i32.const $push91=, 0 + i32.call $discard=, __fprintf_chk@FUNCTION, $pop1, $0, $pop92, $pop91 + block + i32.const $push90=, 0 + i32.load $push2=, should_optimize($pop90) + i32.const $push178=, 0 + i32.eq $push179=, $pop2, $pop178 + br_if 0, $pop179 # 0: down to label1 # BB#1: # %if.end - i32.const $push85=, 0 - i32.const $push84=, 0 - i32.store $push3=, should_optimize($pop85), $pop84 - i32.load $push4=, stdout($pop3) - i32.const $push83=, .L.str - i32.call $0=, __fprintf_chk@FUNCTION, $pop4, $0, $pop83 - block - i32.const $push5=, 5 - i32.ne $push6=, $0, $pop5 - br_if 0, $pop6 # 0: down to label2 + block + i32.const $push98=, 0 + i32.const $push97=, 0 + i32.store $push3=, should_optimize($pop98), $pop97 + tee_local $push96=, $0=, $pop3 + i32.load $push4=, stdout($pop96) + i32.const $push95=, .L.str + i32.call $push5=, __fprintf_chk@FUNCTION, $pop4, $0, $pop95, $0 + i32.const $push6=, 5 + i32.ne $push7=, $pop5, $pop6 + br_if 0, $pop7 # 0: down to label2 # BB#2: # %if.end3 block - i32.const $push86=, 0 - i32.load $push7=, should_optimize($pop86) - i32.const $push163=, 0 - i32.eq $push164=, $pop7, $pop163 - br_if 0, $pop164 # 0: down to label3 + i32.const $push99=, 0 + i32.load $push8=, should_optimize($pop99) + i32.const $push180=, 0 + i32.eq $push181=, $pop8, $pop180 + br_if 0, $pop181 # 0: down to label3 # BB#3: # %if.end6 - i32.const $push90=, 0 - i32.const $push8=, 1 - i32.store $discard=, should_optimize($pop90), $pop8 - i32.const $push89=, 0 - i32.load $push9=, stdout($pop89) - i32.const $push88=, .L.str.1 - i32.call $discard=, __fprintf_chk@FUNCTION, $pop9, $0, $pop88 - block - i32.const $push87=, 0 - i32.load $push10=, should_optimize($pop87) - i32.const $push165=, 0 - i32.eq $push166=, $pop10, $pop165 - br_if 0, $pop166 # 0: down to label4 + i32.const $push104=, 0 + i32.const $push9=, 1 + i32.store $discard=, should_optimize($pop104), $pop9 + i32.const $push103=, 0 + i32.load $push10=, stdout($pop103) + i32.const $push102=, .L.str.1 + i32.const $push101=, 0 + i32.call $discard=, __fprintf_chk@FUNCTION, $pop10, $0, $pop102, $pop101 + block + i32.const $push100=, 0 + i32.load $push11=, should_optimize($pop100) + i32.const $push182=, 0 + i32.eq $push183=, $pop11, $pop182 + br_if 0, $pop183 # 0: down to label4 # BB#4: # %if.end10 - i32.const $push11=, 0 - i32.const $push93=, 0 - i32.store $push12=, should_optimize($pop11), $pop93 - tee_local $push92=, $1=, $pop12 - i32.load $push13=, stdout($pop92) - i32.const $push91=, .L.str.1 - i32.call $0=, __fprintf_chk@FUNCTION, $pop13, $0, $pop91 - block - i32.const $push14=, 6 - i32.ne $push15=, $0, $pop14 - br_if 0, $pop15 # 0: down to label5 + block + i32.const $push12=, 0 + i32.const $push107=, 0 + i32.store $push13=, should_optimize($pop12), $pop107 + tee_local $push106=, $0=, $pop13 + i32.load $push14=, stdout($pop106) + i32.const $push105=, .L.str.1 + i32.call $push15=, __fprintf_chk@FUNCTION, $pop14, $0, $pop105, $0 + i32.const $push16=, 6 + i32.ne $push17=, $pop15, $pop16 + br_if 0, $pop17 # 0: down to label5 # BB#5: # %if.end14 block - i32.load $push16=, should_optimize($1) - i32.const $push167=, 0 - i32.eq $push168=, $pop16, $pop167 - br_if 0, $pop168 # 0: down to label6 + i32.load $push18=, should_optimize($0) + i32.const $push184=, 0 + i32.eq $push185=, $pop18, $pop184 + br_if 0, $pop185 # 0: down to label6 # BB#6: # %if.end17 - i32.const $push97=, 0 - i32.const $push17=, 1 - i32.store $0=, should_optimize($pop97), $pop17 - i32.const $push96=, 0 - i32.load $push18=, stdout($pop96) - i32.const $push95=, .L.str.2 - i32.call $discard=, __fprintf_chk@FUNCTION, $pop18, $0, $pop95 + i32.const $push112=, 0 + i32.const $push19=, 1 + i32.store $0=, should_optimize($pop112), $pop19 + i32.const $push111=, 0 + i32.load $push20=, stdout($pop111) + i32.const $push110=, .L.str.2 + i32.const $push109=, 0 + i32.call $discard=, __fprintf_chk@FUNCTION, $pop20, $0, $pop110, $pop109 block - i32.const $push94=, 0 - i32.load $push19=, should_optimize($pop94) - i32.const $push169=, 0 - i32.eq $push170=, $pop19, $pop169 - br_if 0, $pop170 # 0: down to label7 + i32.const $push108=, 0 + i32.load $push21=, should_optimize($pop108) + i32.const $push186=, 0 + i32.eq $push187=, $pop21, $pop186 + br_if 0, $pop187 # 0: down to label7 # BB#7: # %if.end21 - i32.const $push100=, 0 - i32.const $push99=, 0 - i32.store $push20=, should_optimize($pop100), $pop99 - i32.load $push21=, stdout($pop20) - i32.const $push98=, .L.str.2 - i32.call $1=, __fprintf_chk@FUNCTION, $pop21, $0, $pop98 block - i32.ne $push22=, $1, $0 - br_if 0, $pop22 # 0: down to label8 + i32.const $push116=, 0 + i32.const $push115=, 0 + i32.store $push22=, should_optimize($pop116), $pop115 + tee_local $push114=, $1=, $pop22 + i32.load $push23=, stdout($pop114) + i32.const $push113=, .L.str.2 + i32.call $push24=, __fprintf_chk@FUNCTION, $pop23, $0, $pop113, $1 + i32.ne $push25=, $pop24, $0 + br_if 0, $pop25 # 0: down to label8 # BB#8: # %if.end25 block - i32.const $push101=, 0 - i32.load $push23=, should_optimize($pop101) - i32.const $push171=, 0 - i32.eq $push172=, $pop23, $pop171 - br_if 0, $pop172 # 0: down to label9 + i32.const $push117=, 0 + i32.load $push26=, should_optimize($pop117) + i32.const $push188=, 0 + i32.eq $push189=, $pop26, $pop188 + br_if 0, $pop189 # 0: down to label9 # BB#9: # %if.end28 - i32.const $push105=, 0 - i32.const $push24=, 1 - i32.store $discard=, should_optimize($pop105), $pop24 - i32.const $push104=, 0 - i32.load $push25=, stdout($pop104) - i32.const $push103=, .L.str.3 - i32.call $discard=, __fprintf_chk@FUNCTION, $pop25, $0, $pop103 + i32.const $push122=, 0 + i32.const $push27=, 1 + i32.store $discard=, should_optimize($pop122), $pop27 + i32.const $push121=, 0 + i32.load $push28=, stdout($pop121) + i32.const $push120=, .L.str.3 + i32.const $push119=, 0 + i32.call $discard=, __fprintf_chk@FUNCTION, $pop28, $0, $pop120, $pop119 block - i32.const $push102=, 0 - i32.load $push26=, should_optimize($pop102) - i32.const $push173=, 0 - i32.eq $push174=, $pop26, $pop173 - br_if 0, $pop174 # 0: down to label10 + i32.const $push118=, 0 + i32.load $push29=, should_optimize($pop118) + i32.const $push190=, 0 + i32.eq $push191=, $pop29, $pop190 + br_if 0, $pop191 # 0: down to label10 # BB#10: # %if.end32 - i32.const $push27=, 0 - i32.const $push108=, 0 - i32.store $push28=, should_optimize($pop27), $pop108 - tee_local $push107=, $1=, $pop28 - i32.load $push29=, stdout($pop107) - i32.const $push106=, .L.str.3 - i32.call $0=, __fprintf_chk@FUNCTION, $pop29, $0, $pop106 block - br_if 0, $0 # 0: down to label11 + i32.const $push30=, 0 + i32.const $push125=, 0 + i32.store $push31=, should_optimize($pop30), $pop125 + tee_local $push124=, $0=, $pop31 + i32.load $push32=, stdout($pop124) + i32.const $push123=, .L.str.3 + i32.call $push33=, __fprintf_chk@FUNCTION, $pop32, $0, $pop123, $0 + br_if 0, $pop33 # 0: down to label11 # BB#11: # %if.end36 block - i32.load $push30=, should_optimize($1) - i32.const $push175=, 0 - i32.eq $push176=, $pop30, $pop175 - br_if 0, $pop176 # 0: down to label12 + i32.load $push34=, should_optimize($0) + i32.const $push192=, 0 + i32.eq $push193=, $pop34, $pop192 + br_if 0, $pop193 # 0: down to label12 # BB#12: # %if.end39 - i32.const $push112=, 0 - i32.const $push31=, 1 - i32.store $discard=, should_optimize($pop112), $pop31 - i32.const $push111=, 0 - i32.load $0=, stdout($pop111) - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 4 - i32.sub $62=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $62=, 0($4), $62 - i32.const $push32=, .L.str - i32.store $1=, 0($62), $pop32 - i32.const $push110=, .L.str.4 - i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop110 - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 4 - i32.add $62=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $62=, 0($6), $62 + i32.const $push129=, 0 + i32.const $push35=, 1 + i32.store $discard=, should_optimize($pop129), $pop35 + i32.const $push128=, 0 + i32.load $0=, stdout($pop128) + i32.const $push36=, .L.str + i32.store $1=, 208($19):p2align=4, $pop36 + i32.const $push127=, .L.str.4 + i32.const $6=, 208 + i32.add $6=, $19, $6 + i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop127, $6 block - i32.const $push109=, 0 - i32.load $push33=, should_optimize($pop109) - i32.const $push177=, 0 - i32.eq $push178=, $pop33, $pop177 - br_if 0, $pop178 # 0: down to label13 + i32.const $push126=, 0 + i32.load $push37=, should_optimize($pop126) + i32.const $push194=, 0 + i32.eq $push195=, $pop37, $pop194 + br_if 0, $pop195 # 0: down to label13 # BB#13: # %if.end43 - i32.const $push115=, 0 - i32.const $push114=, 0 - i32.store $push34=, should_optimize($pop115), $pop114 - i32.load $0=, stdout($pop34) - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 4 - i32.sub $62=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $62=, 0($8), $62 - i32.store $discard=, 0($62), $1 - i32.const $push113=, .L.str.4 - i32.call $0=, __fprintf_chk@FUNCTION, $0, $0, $pop113 - i32.const $9=, __stack_pointer - i32.load $9=, 0($9) - i32.const $10=, 4 - i32.add $62=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $62=, 0($10), $62 - block - i32.const $push35=, 5 - i32.ne $push36=, $0, $pop35 - br_if 0, $pop36 # 0: down to label14 + i32.const $push132=, 0 + i32.const $push131=, 0 + i32.store $push38=, should_optimize($pop132), $pop131 + i32.load $0=, stdout($pop38) + i32.store $discard=, 192($19):p2align=4, $1 + i32.const $push130=, .L.str.4 + i32.const $7=, 192 + i32.add $7=, $19, $7 + block + i32.call $push39=, __fprintf_chk@FUNCTION, $0, $0, $pop130, $7 + i32.const $push40=, 5 + i32.ne $push41=, $pop39, $pop40 + br_if 0, $pop41 # 0: down to label14 # BB#14: # %if.end47 block - i32.const $push116=, 0 - i32.load $push37=, should_optimize($pop116) - i32.const $push179=, 0 - i32.eq $push180=, $pop37, $pop179 - br_if 0, $pop180 # 0: down to label15 + i32.const $push133=, 0 + i32.load $push42=, should_optimize($pop133) + i32.const $push196=, 0 + i32.eq $push197=, $pop42, $pop196 + br_if 0, $pop197 # 0: down to label15 # BB#15: # %if.end50 - i32.const $push120=, 0 - i32.const $push38=, 1 - i32.store $discard=, should_optimize($pop120), $pop38 - i32.const $push119=, 0 - i32.load $0=, stdout($pop119) - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 4 - i32.sub $62=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $62=, 0($12), $62 - i32.const $push39=, .L.str.1 - i32.store $1=, 0($62), $pop39 - i32.const $push118=, .L.str.4 - i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop118 - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 4 - i32.add $62=, $13, $14 - i32.const $14=, __stack_pointer - i32.store $62=, 0($14), $62 + i32.const $push137=, 0 + i32.const $push43=, 1 + i32.store $discard=, should_optimize($pop137), $pop43 + i32.const $push136=, 0 + i32.load $0=, stdout($pop136) + i32.const $push44=, .L.str.1 + i32.store $1=, 176($19):p2align=4, $pop44 + i32.const $push135=, .L.str.4 + i32.const $8=, 176 + i32.add $8=, $19, $8 + i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop135, $8 block - i32.const $push117=, 0 - i32.load $push40=, should_optimize($pop117) - i32.const $push181=, 0 - i32.eq $push182=, $pop40, $pop181 - br_if 0, $pop182 # 0: down to label16 + i32.const $push134=, 0 + i32.load $push45=, should_optimize($pop134) + i32.const $push198=, 0 + i32.eq $push199=, $pop45, $pop198 + br_if 0, $pop199 # 0: down to label16 # BB#16: # %if.end54 - i32.const $push41=, 0 - i32.const $push123=, 0 - i32.store $push42=, should_optimize($pop41), $pop123 - tee_local $push122=, $2=, $pop42 - i32.load $0=, stdout($pop122) - i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 4 - i32.sub $62=, $15, $16 - i32.const $16=, __stack_pointer - i32.store $62=, 0($16), $62 - i32.store $discard=, 0($62), $1 - i32.const $push121=, .L.str.4 - i32.call $0=, __fprintf_chk@FUNCTION, $0, $0, $pop121 - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 4 - i32.add $62=, $17, $18 - i32.const $18=, __stack_pointer - i32.store $62=, 0($18), $62 - block - i32.const $push43=, 6 - i32.ne $push44=, $0, $pop43 - br_if 0, $pop44 # 0: down to label17 + i32.const $push46=, 0 + i32.const $push140=, 0 + i32.store $push47=, should_optimize($pop46), $pop140 + tee_local $push139=, $2=, $pop47 + i32.load $0=, stdout($pop139) + i32.store $discard=, 160($19):p2align=4, $1 + i32.const $push138=, .L.str.4 + i32.const $9=, 160 + i32.add $9=, $19, $9 + block + i32.call $push48=, __fprintf_chk@FUNCTION, $0, $0, $pop138, $9 + i32.const $push49=, 6 + i32.ne $push50=, $pop48, $pop49 + br_if 0, $pop50 # 0: down to label17 # BB#17: # %if.end58 block - i32.load $push45=, should_optimize($2) - i32.const $push183=, 0 - i32.eq $push184=, $pop45, $pop183 - br_if 0, $pop184 # 0: down to label18 + i32.load $push51=, should_optimize($2) + i32.const $push200=, 0 + i32.eq $push201=, $pop51, $pop200 + br_if 0, $pop201 # 0: down to label18 # BB#18: # %if.end61 - i32.const $push127=, 0 - i32.const $push46=, 1 - i32.store $1=, should_optimize($pop127), $pop46 - i32.const $push126=, 0 - i32.load $0=, stdout($pop126) - i32.const $19=, __stack_pointer - i32.load $19=, 0($19) - i32.const $20=, 4 - i32.sub $62=, $19, $20 - i32.const $20=, __stack_pointer - i32.store $62=, 0($20), $62 - i32.const $push47=, .L.str.2 - i32.store $2=, 0($62), $pop47 - i32.const $push125=, .L.str.4 - i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop125 - i32.const $21=, __stack_pointer - i32.load $21=, 0($21) - i32.const $22=, 4 - i32.add $62=, $21, $22 - i32.const $22=, __stack_pointer - i32.store $62=, 0($22), $62 - block - i32.const $push124=, 0 - i32.load $push48=, should_optimize($pop124) - i32.const $push185=, 0 - i32.eq $push186=, $pop48, $pop185 - br_if 0, $pop186 # 0: down to label19 + i32.const $push144=, 0 + i32.const $push52=, 1 + i32.store $1=, should_optimize($pop144), $pop52 + i32.const $push143=, 0 + i32.load $0=, stdout($pop143) + i32.const $push53=, .L.str.2 + i32.store $2=, 144($19):p2align=4, $pop53 + i32.const $push142=, .L.str.4 + i32.const $10=, 144 + i32.add $10=, $19, $10 + i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop142, $10 + block + i32.const $push141=, 0 + i32.load $push54=, should_optimize($pop141) + i32.const $push202=, 0 + i32.eq $push203=, $pop54, $pop202 + br_if 0, $pop203 # 0: down to label19 # BB#19: # %if.end65 - i32.const $push130=, 0 - i32.const $push129=, 0 - i32.store $push49=, should_optimize($pop130), $pop129 - i32.load $0=, stdout($pop49) - i32.const $23=, __stack_pointer - i32.load $23=, 0($23) - i32.const $24=, 4 - i32.sub $62=, $23, $24 - i32.const $24=, __stack_pointer - i32.store $62=, 0($24), $62 - i32.store $discard=, 0($62), $2 - i32.const $push128=, .L.str.4 - i32.call $0=, __fprintf_chk@FUNCTION, $0, $0, $pop128 - i32.const $25=, __stack_pointer - i32.load $25=, 0($25) - i32.const $26=, 4 - i32.add $62=, $25, $26 - i32.const $26=, __stack_pointer - i32.store $62=, 0($26), $62 - block - i32.ne $push50=, $0, $1 - br_if 0, $pop50 # 0: down to label20 + i32.const $push147=, 0 + i32.const $push146=, 0 + i32.store $push55=, should_optimize($pop147), $pop146 + i32.load $0=, stdout($pop55) + i32.store $discard=, 128($19):p2align=4, $2 + i32.const $push145=, .L.str.4 + i32.const $11=, 128 + i32.add $11=, $19, $11 + block + i32.call $push56=, __fprintf_chk@FUNCTION, $0, $0, $pop145, $11 + i32.ne $push57=, $pop56, $1 + br_if 0, $pop57 # 0: down to label20 # BB#20: # %if.end69 block - i32.const $push131=, 0 - i32.load $push51=, should_optimize($pop131) - i32.const $push187=, 0 - i32.eq $push188=, $pop51, $pop187 - br_if 0, $pop188 # 0: down to label21 + i32.const $push148=, 0 + i32.load $push58=, should_optimize($pop148) + i32.const $push204=, 0 + i32.eq $push205=, $pop58, $pop204 + br_if 0, $pop205 # 0: down to label21 # BB#21: # %if.end72 - i32.const $push135=, 0 - i32.const $push52=, 1 - i32.store $discard=, should_optimize($pop135), $pop52 - i32.const $push134=, 0 - i32.load $0=, stdout($pop134) - i32.const $27=, __stack_pointer - i32.load $27=, 0($27) - i32.const $28=, 4 - i32.sub $62=, $27, $28 - i32.const $28=, __stack_pointer - i32.store $62=, 0($28), $62 - i32.const $push53=, .L.str.3 - i32.store $1=, 0($62), $pop53 - i32.const $push133=, .L.str.4 - i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop133 - i32.const $29=, __stack_pointer - i32.load $29=, 0($29) - i32.const $30=, 4 - i32.add $62=, $29, $30 - i32.const $30=, __stack_pointer - i32.store $62=, 0($30), $62 + i32.const $push152=, 0 + i32.const $push59=, 1 + i32.store $discard=, should_optimize($pop152), $pop59 + i32.const $push151=, 0 + i32.load $0=, stdout($pop151) + i32.const $push60=, .L.str.3 + i32.store $1=, 112($19):p2align=4, $pop60 + i32.const $push150=, .L.str.4 + i32.const $12=, 112 + i32.add $12=, $19, $12 + i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop150, $12 block - i32.const $push132=, 0 - i32.load $push54=, should_optimize($pop132) - i32.const $push189=, 0 - i32.eq $push190=, $pop54, $pop189 - br_if 0, $pop190 # 0: down to label22 + i32.const $push149=, 0 + i32.load $push61=, should_optimize($pop149) + i32.const $push206=, 0 + i32.eq $push207=, $pop61, $pop206 + br_if 0, $pop207 # 0: down to label22 # BB#22: # %if.end76 - i32.const $push55=, 0 - i32.const $push138=, 0 - i32.store $push56=, should_optimize($pop55), $pop138 - tee_local $push137=, $2=, $pop56 - i32.load $0=, stdout($pop137) - i32.const $31=, __stack_pointer - i32.load $31=, 0($31) - i32.const $32=, 4 - i32.sub $62=, $31, $32 - i32.const $32=, __stack_pointer - i32.store $62=, 0($32), $62 - i32.store $discard=, 0($62), $1 - i32.const $push136=, .L.str.4 - i32.call $0=, __fprintf_chk@FUNCTION, $0, $0, $pop136 - i32.const $33=, __stack_pointer - i32.load $33=, 0($33) - i32.const $34=, 4 - i32.add $62=, $33, $34 - i32.const $34=, __stack_pointer - i32.store $62=, 0($34), $62 - block - br_if 0, $0 # 0: down to label23 + i32.const $push62=, 0 + i32.const $push155=, 0 + i32.store $push63=, should_optimize($pop62), $pop155 + tee_local $push154=, $2=, $pop63 + i32.load $0=, stdout($pop154) + i32.store $discard=, 96($19):p2align=4, $1 + i32.const $push153=, .L.str.4 + i32.const $13=, 96 + i32.add $13=, $19, $13 + block + i32.call $push64=, __fprintf_chk@FUNCTION, $0, $0, $pop153, $13 + br_if 0, $pop64 # 0: down to label23 # BB#23: # %if.end80 block - i32.load $push57=, should_optimize($2) - i32.const $push191=, 0 - i32.eq $push192=, $pop57, $pop191 - br_if 0, $pop192 # 0: down to label24 + i32.load $push65=, should_optimize($2) + i32.const $push208=, 0 + i32.eq $push209=, $pop65, $pop208 + br_if 0, $pop209 # 0: down to label24 # BB#24: # %if.end83 - i32.const $push142=, 0 - i32.const $push58=, 1 - i32.store $1=, should_optimize($pop142), $pop58 - i32.const $push141=, 0 - i32.load $0=, stdout($pop141) - i32.const $35=, __stack_pointer - i32.load $35=, 0($35) - i32.const $36=, 4 - i32.sub $62=, $35, $36 - i32.const $36=, __stack_pointer - i32.store $62=, 0($36), $62 - i32.const $push59=, 120 - i32.store $2=, 0($62), $pop59 - i32.const $push140=, .L.str.5 - i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop140 - i32.const $37=, __stack_pointer - i32.load $37=, 0($37) - i32.const $38=, 4 - i32.add $62=, $37, $38 - i32.const $38=, __stack_pointer - i32.store $62=, 0($38), $62 - block - i32.const $push139=, 0 - i32.load $push60=, should_optimize($pop139) - i32.const $push193=, 0 - i32.eq $push194=, $pop60, $pop193 - br_if 0, $pop194 # 0: down to label25 + i32.const $push159=, 0 + i32.const $push66=, 1 + i32.store $1=, should_optimize($pop159), $pop66 + i32.const $push158=, 0 + i32.load $0=, stdout($pop158) + i32.const $push67=, 120 + i32.store $2=, 80($19):p2align=4, $pop67 + i32.const $push157=, .L.str.5 + i32.const $14=, 80 + i32.add $14=, $19, $14 + i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop157, $14 + block + i32.const $push156=, 0 + i32.load $push68=, should_optimize($pop156) + i32.const $push210=, 0 + i32.eq $push211=, $pop68, $pop210 + br_if 0, $pop211 # 0: down to label25 # BB#25: # %if.end87 - i32.const $push145=, 0 - i32.const $push144=, 0 - i32.store $push61=, should_optimize($pop145), $pop144 - i32.load $0=, stdout($pop61) - i32.const $39=, __stack_pointer - i32.load $39=, 0($39) - i32.const $40=, 4 - i32.sub $62=, $39, $40 - i32.const $40=, __stack_pointer - i32.store $62=, 0($40), $62 - i32.store $discard=, 0($62), $2 - i32.const $push143=, .L.str.5 - i32.call $0=, __fprintf_chk@FUNCTION, $0, $0, $pop143 - i32.const $41=, __stack_pointer - i32.load $41=, 0($41) - i32.const $42=, 4 - i32.add $62=, $41, $42 - i32.const $42=, __stack_pointer - i32.store $62=, 0($42), $62 - block - i32.ne $push62=, $0, $1 - br_if 0, $pop62 # 0: down to label26 + i32.const $push162=, 0 + i32.const $push161=, 0 + i32.store $push69=, should_optimize($pop162), $pop161 + i32.load $0=, stdout($pop69) + i32.store $discard=, 64($19):p2align=4, $2 + i32.const $push160=, .L.str.5 + i32.const $15=, 64 + i32.add $15=, $19, $15 + block + i32.call $push70=, __fprintf_chk@FUNCTION, $0, $0, $pop160, $15 + i32.ne $push71=, $pop70, $1 + br_if 0, $pop71 # 0: down to label26 # BB#26: # %if.end91 block - i32.const $push146=, 0 - i32.load $push63=, should_optimize($pop146) - i32.const $push195=, 0 - i32.eq $push196=, $pop63, $pop195 - br_if 0, $pop196 # 0: down to label27 + i32.const $push163=, 0 + i32.load $push72=, should_optimize($pop163) + i32.const $push212=, 0 + i32.eq $push213=, $pop72, $pop212 + br_if 0, $pop213 # 0: down to label27 # BB#27: # %if.end94 - i32.const $push150=, 0 - i32.const $push149=, 0 - i32.store $push64=, should_optimize($pop150), $pop149 - tee_local $push148=, $0=, $pop64 - i32.load $1=, stdout($pop148) - i32.const $43=, __stack_pointer - i32.load $43=, 0($43) - i32.const $44=, 4 - i32.sub $62=, $43, $44 - i32.const $44=, __stack_pointer - i32.store $62=, 0($44), $62 - i32.const $push65=, .L.str.1 - i32.store $2=, 0($62), $pop65 - i32.const $push147=, .L.str.6 - i32.call $discard=, __fprintf_chk@FUNCTION, $1, $0, $pop147 - i32.const $45=, __stack_pointer - i32.load $45=, 0($45) - i32.const $46=, 4 - i32.add $62=, $45, $46 - i32.const $46=, __stack_pointer - i32.store $62=, 0($46), $62 - block - i32.load $push66=, should_optimize($0) - i32.const $push197=, 0 - i32.eq $push198=, $pop66, $pop197 - br_if 0, $pop198 # 0: down to label28 + i32.const $push167=, 0 + i32.const $push166=, 0 + i32.store $push73=, should_optimize($pop167), $pop166 + tee_local $push165=, $0=, $pop73 + i32.load $1=, stdout($pop165) + i32.const $push74=, .L.str.1 + i32.store $2=, 48($19):p2align=4, $pop74 + i32.const $push164=, .L.str.6 + i32.const $16=, 48 + i32.add $16=, $19, $16 + i32.call $discard=, __fprintf_chk@FUNCTION, $1, $0, $pop164, $16 + block + i32.load $push75=, should_optimize($0) + i32.const $push214=, 0 + i32.eq $push215=, $pop75, $pop214 + br_if 0, $pop215 # 0: down to label28 # BB#28: # %if.end98 - i32.const $push67=, 0 - i32.const $push153=, 0 - i32.store $push68=, should_optimize($pop67), $pop153 - tee_local $push152=, $1=, $pop68 - i32.load $0=, stdout($pop152) - i32.const $47=, __stack_pointer - i32.load $47=, 0($47) - i32.const $48=, 4 - i32.sub $62=, $47, $48 - i32.const $48=, __stack_pointer - i32.store $62=, 0($48), $62 - i32.store $discard=, 0($62), $2 - i32.const $push151=, .L.str.6 - i32.call $0=, __fprintf_chk@FUNCTION, $0, $0, $pop151 - i32.const $49=, __stack_pointer - i32.load $49=, 0($49) - i32.const $50=, 4 - i32.add $62=, $49, $50 - i32.const $50=, __stack_pointer - i32.store $62=, 0($50), $62 - block - i32.const $push69=, 7 - i32.ne $push70=, $0, $pop69 - br_if 0, $pop70 # 0: down to label29 + i32.const $push76=, 0 + i32.const $push170=, 0 + i32.store $push77=, should_optimize($pop76), $pop170 + tee_local $push169=, $1=, $pop77 + i32.load $0=, stdout($pop169) + i32.store $discard=, 32($19):p2align=4, $2 + i32.const $push168=, .L.str.6 + i32.const $17=, 32 + i32.add $17=, $19, $17 + block + i32.call $push78=, __fprintf_chk@FUNCTION, $0, $0, $pop168, $17 + i32.const $push79=, 7 + i32.ne $push80=, $pop78, $pop79 + br_if 0, $pop80 # 0: down to label29 # BB#29: # %if.end102 block - i32.load $push71=, should_optimize($1) - i32.const $push199=, 0 - i32.eq $push200=, $pop71, $pop199 - br_if 0, $pop200 # 0: down to label30 + i32.load $push81=, should_optimize($1) + i32.const $push216=, 0 + i32.eq $push217=, $pop81, $pop216 + br_if 0, $pop217 # 0: down to label30 # BB#30: # %if.end105 - i32.const $push72=, 0 - i32.const $push156=, 0 - i32.store $push73=, should_optimize($pop72), $pop156 - tee_local $push155=, $0=, $pop73 - i32.load $1=, stdout($pop155) - i32.const $51=, __stack_pointer - i32.load $51=, 0($51) - i32.const $52=, 4 - i32.sub $62=, $51, $52 - i32.const $52=, __stack_pointer - i32.store $62=, 0($52), $62 - i32.store $discard=, 0($62), $0 - i32.const $push154=, .L.str.7 - i32.call $discard=, __fprintf_chk@FUNCTION, $1, $0, $pop154 - i32.const $53=, __stack_pointer - i32.load $53=, 0($53) - i32.const $54=, 4 - i32.add $62=, $53, $54 - i32.const $54=, __stack_pointer - i32.store $62=, 0($54), $62 - block - i32.load $push74=, should_optimize($0) - i32.const $push201=, 0 - i32.eq $push202=, $pop74, $pop201 - br_if 0, $pop202 # 0: down to label31 + i32.const $push82=, 0 + i32.const $push173=, 0 + i32.store $push83=, should_optimize($pop82), $pop173 + tee_local $push172=, $0=, $pop83 + i32.load $1=, stdout($pop172) + i32.store $discard=, 16($19):p2align=4, $0 + i32.const $push171=, .L.str.7 + i32.const $18=, 16 + i32.add $18=, $19, $18 + i32.call $discard=, __fprintf_chk@FUNCTION, $1, $0, $pop171, $18 + block + i32.load $push84=, should_optimize($0) + i32.const $push218=, 0 + i32.eq $push219=, $pop84, $pop218 + br_if 0, $pop219 # 0: down to label31 # BB#31: # %if.end109 - i32.store $push75=, should_optimize($0), $0 - tee_local $push158=, $0=, $pop75 - i32.load $1=, stdout($pop158) - i32.const $55=, __stack_pointer - i32.load $55=, 0($55) - i32.const $56=, 4 - i32.sub $62=, $55, $56 - i32.const $56=, __stack_pointer - i32.store $62=, 0($56), $62 - i32.store $discard=, 0($62), $0 - i32.const $push157=, .L.str.7 - i32.call $0=, __fprintf_chk@FUNCTION, $1, $0, $pop157 - i32.const $57=, __stack_pointer - i32.load $57=, 0($57) - i32.const $58=, 4 - i32.add $62=, $57, $58 - i32.const $58=, __stack_pointer - i32.store $62=, 0($58), $62 - block - i32.const $push76=, 2 - i32.ne $push77=, $0, $pop76 - br_if 0, $pop77 # 0: down to label32 + i32.store $push85=, should_optimize($0), $0 + tee_local $push175=, $0=, $pop85 + i32.load $1=, stdout($pop175) + i32.store $discard=, 0($19):p2align=4, $0 + block + i32.const $push174=, .L.str.7 + i32.call $push86=, __fprintf_chk@FUNCTION, $1, $0, $pop174, $19 + i32.const $push87=, 2 + i32.ne $push88=, $pop86, $pop87 + br_if 0, $pop88 # 0: down to label32 # BB#32: # %if.end113 block - i32.const $push159=, 0 - i32.load $push78=, should_optimize($pop159) - i32.const $push203=, 0 - i32.eq $push204=, $pop78, $pop203 - br_if 0, $pop204 # 0: down to label33 + i32.const $push176=, 0 + i32.load $push89=, should_optimize($pop176) + i32.const $push220=, 0 + i32.eq $push221=, $pop89, $pop220 + br_if 0, $pop221 # 0: down to label33 # BB#33: # %if.end116 - i32.const $push160=, 0 - i32.const $61=, 16 - i32.add $62=, $62, $61 - i32.const $61=, __stack_pointer - i32.store $62=, 0($61), $62 - return $pop160 + i32.const $push177=, 0 + i32.const $5=, 224 + i32.add $19=, $19, $5 + i32.const $5=, __stack_pointer + i32.store $19=, 0($5), $19 + return $pop177 .LBB1_34: # %if.then115 end_block # label33: call abort@FUNCTION diff --git a/test/torture-s/gofast.c.s b/test/torture-s/gofast.c.s index c974cd280..a29532c28 100644 --- a/test/torture-s/gofast.c.s +++ b/test/torture-s/gofast.c.s @@ -427,14 +427,14 @@ fixunsdfsi: # @fixunsdfsi fail: # @fail .param i32 .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 16 - i32.sub $9=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $9=, 0($7), $9 + 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 $push0=, 0 i32.load $1=, stderr($pop0) i32.const $push6=, 0 @@ -443,25 +443,13 @@ fail: # @fail i32.const $push2=, 1 i32.add $push3=, $pop1, $pop2 i32.store $discard=, fail_count($pop6), $pop3 - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 4 - i32.sub $9=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $9=, 0($3), $9 - i32.store $discard=, 0($9), $0 + i32.store $discard=, 0($5):p2align=4, $0 i32.const $push4=, .L.str - i32.call $discard=, fprintf@FUNCTION, $1, $pop4 + i32.call $discard=, fprintf@FUNCTION, $1, $pop4, $5 + i32.const $4=, 16 + i32.add $5=, $5, $4 i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 4 - i32.add $9=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $9=, 0($5), $9 - i32.const $8=, 16 - i32.add $9=, $9, $8 - i32.const $8=, __stack_pointer - i32.store $9=, 0($8), $9 + i32.store $5=, 0($4), $5 return $0 .endfunc .Lfunc_end30: diff --git a/test/torture-s/loop-2f.c.s b/test/torture-s/loop-2f.c.s index 91a4b30c3..be59ba00e 100644 --- a/test/torture-s/loop-2f.c.s +++ b/test/torture-s/loop-2f.c.s @@ -39,8 +39,9 @@ main: # @main i32.const $push4=, 3 i32.const $push3=, 50 i32.const $push1=, .L.str + i32.const $push16=, 0 i32.const $push15=, 0 - i32.call $push2=, open@FUNCTION, $pop1, $pop15 + i32.call $push2=, open@FUNCTION, $pop1, $pop16, $pop15 i32.const $push14=, 0 i32.call $push0=, mmap@FUNCTION, $pop6, $pop5, $pop4, $pop3, $pop2, $pop14 tee_local $push13=, $0=, $pop0 @@ -53,12 +54,12 @@ main: # @main i32.const $push12=, 254 i32.const $push11=, 39 i32.call $discard=, memset@FUNCTION, $pop10, $pop12, $pop11 - i32.const $push16=, 0 - i32.store8 $discard=, 32805($0), $pop16 + i32.const $push17=, 0 + i32.store8 $discard=, 32805($0), $pop17 .LBB1_2: # %if.end15 end_block # label1: - i32.const $push17=, 0 - call exit@FUNCTION, $pop17 + i32.const $push18=, 0 + call exit@FUNCTION, $pop18 unreachable .endfunc .Lfunc_end1: diff --git a/test/torture-s/loop-2g.c.s b/test/torture-s/loop-2g.c.s index 6a60857d4..92d55011c 100644 --- a/test/torture-s/loop-2g.c.s +++ b/test/torture-s/loop-2g.c.s @@ -39,8 +39,9 @@ main: # @main i32.const $push4=, 3 i32.const $push3=, 50 i32.const $push1=, .L.str + i32.const $push16=, 0 i32.const $push15=, 0 - i32.call $push2=, open@FUNCTION, $pop1, $pop15 + i32.call $push2=, open@FUNCTION, $pop1, $pop16, $pop15 i32.const $push14=, 0 i32.call $push0=, mmap@FUNCTION, $pop6, $pop5, $pop4, $pop3, $pop2, $pop14 tee_local $push13=, $0=, $pop0 @@ -53,12 +54,12 @@ main: # @main i32.const $push12=, 254 i32.const $push11=, 39 i32.call $discard=, memset@FUNCTION, $pop10, $pop12, $pop11 - i32.const $push16=, 0 - i32.store8 $discard=, 32805($0), $pop16 + i32.const $push17=, 0 + i32.store8 $discard=, 32805($0), $pop17 .LBB1_2: # %if.end15 end_block # label1: - i32.const $push17=, 0 - call exit@FUNCTION, $pop17 + i32.const $push18=, 0 + call exit@FUNCTION, $pop18 unreachable .endfunc .Lfunc_end1: diff --git a/test/torture-s/multi-ix.c.s b/test/torture-s/multi-ix.c.s index eeeb517c7..674151c18 100644 --- a/test/torture-s/multi-ix.c.s +++ b/test/torture-s/multi-ix.c.s @@ -6,14 +6,14 @@ .type f,@function f: # @f .param i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, 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, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $54=, __stack_pointer - i32.load $54=, 0($54) - i32.const $55=, 80160 - i32.sub $217=, $54, $55 - i32.const $55=, __stack_pointer - i32.store $217=, 0($55), $217 + i32.const $41=, __stack_pointer + i32.load $41=, 0($41) + i32.const $42=, 80480 + i32.sub $284=, $41, $42 + i32.const $42=, __stack_pointer + i32.store $284=, 0($42), $284 block i32.const $push0=, 1 i32.lt_s $push1=, $0, $pop0 @@ -21,932 +21,1056 @@ f: # @f .LBB0_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label1: - i32.const $42=, __stack_pointer - i32.load $42=, 0($42) - i32.const $43=, 160 - i32.sub $217=, $42, $43 - i32.const $43=, __stack_pointer - i32.store $217=, 0($43), $217 - i32.const $57=, 78160 - i32.add $57=, $217, $57 - i32.store $discard=, 0($217), $57 - i32.const $push242=, 156 - i32.add $1=, $217, $pop242 - i32.const $58=, 160 - i32.add $58=, $217, $58 - i32.store $discard=, 0($1), $58 - i32.const $push241=, 152 - i32.add $1=, $217, $pop241 - i32.const $59=, 2160 - i32.add $59=, $217, $59 - i32.store $discard=, 0($1), $59 - i32.const $push240=, 148 - i32.add $1=, $217, $pop240 - i32.const $60=, 4160 - i32.add $60=, $217, $60 - i32.store $discard=, 0($1), $60 - i32.const $push239=, 144 - i32.add $1=, $217, $pop239 - i32.const $61=, 6160 - i32.add $61=, $217, $61 - i32.store $discard=, 0($1), $61 - i32.const $push238=, 140 - i32.add $1=, $217, $pop238 - i32.const $62=, 8160 - i32.add $62=, $217, $62 - i32.store $discard=, 0($1), $62 - i32.const $push237=, 136 - i32.add $1=, $217, $pop237 - i32.const $63=, 10160 - i32.add $63=, $217, $63 - i32.store $discard=, 0($1), $63 - i32.const $push236=, 132 - i32.add $1=, $217, $pop236 - i32.const $64=, 12160 - i32.add $64=, $217, $64 - i32.store $discard=, 0($1), $64 - i32.const $push235=, 128 - i32.add $1=, $217, $pop235 - i32.const $65=, 14160 - i32.add $65=, $217, $65 - i32.store $discard=, 0($1), $65 - i32.const $push234=, 124 - i32.add $1=, $217, $pop234 - i32.const $66=, 16160 - i32.add $66=, $217, $66 - i32.store $discard=, 0($1), $66 - i32.const $push233=, 120 - i32.add $1=, $217, $pop233 - i32.const $67=, 18160 - i32.add $67=, $217, $67 - i32.store $discard=, 0($1), $67 - i32.const $push232=, 116 - i32.add $1=, $217, $pop232 - i32.const $68=, 20160 - i32.add $68=, $217, $68 - i32.store $discard=, 0($1), $68 - i32.const $push231=, 112 - i32.add $1=, $217, $pop231 - i32.const $69=, 22160 - i32.add $69=, $217, $69 - i32.store $discard=, 0($1), $69 - i32.const $push230=, 108 - i32.add $1=, $217, $pop230 - i32.const $70=, 24160 - i32.add $70=, $217, $70 - i32.store $discard=, 0($1), $70 - i32.const $push229=, 104 - i32.add $1=, $217, $pop229 - i32.const $71=, 26160 - i32.add $71=, $217, $71 - i32.store $discard=, 0($1), $71 - i32.const $push228=, 100 - i32.add $1=, $217, $pop228 - i32.const $72=, 28160 - i32.add $72=, $217, $72 - i32.store $discard=, 0($1), $72 - i32.const $push227=, 96 - i32.add $1=, $217, $pop227 - i32.const $73=, 30160 - i32.add $73=, $217, $73 - i32.store $discard=, 0($1), $73 - i32.const $push226=, 92 - i32.add $1=, $217, $pop226 - i32.const $74=, 32160 - i32.add $74=, $217, $74 - i32.store $discard=, 0($1), $74 - i32.const $push225=, 88 - i32.add $1=, $217, $pop225 - i32.const $75=, 34160 - i32.add $75=, $217, $75 - i32.store $discard=, 0($1), $75 - i32.const $push224=, 84 - i32.add $1=, $217, $pop224 - i32.const $76=, 36160 - i32.add $76=, $217, $76 - i32.store $discard=, 0($1), $76 - i32.const $push223=, 80 - i32.add $1=, $217, $pop223 - i32.const $77=, 38160 - i32.add $77=, $217, $77 - i32.store $discard=, 0($1), $77 - i32.const $push222=, 76 - i32.add $1=, $217, $pop222 - i32.const $78=, 40160 - i32.add $78=, $217, $78 - i32.store $discard=, 0($1), $78 - i32.const $push221=, 72 - i32.add $1=, $217, $pop221 - i32.const $79=, 42160 - i32.add $79=, $217, $79 - i32.store $discard=, 0($1), $79 - i32.const $push220=, 68 - i32.add $1=, $217, $pop220 - i32.const $80=, 44160 - i32.add $80=, $217, $80 - i32.store $discard=, 0($1), $80 - i32.const $push219=, 64 - i32.add $1=, $217, $pop219 - i32.const $81=, 46160 - i32.add $81=, $217, $81 - i32.store $discard=, 0($1), $81 - i32.const $push218=, 60 - i32.add $1=, $217, $pop218 - i32.const $82=, 48160 - i32.add $82=, $217, $82 - i32.store $discard=, 0($1), $82 - i32.const $push217=, 56 - i32.add $1=, $217, $pop217 - i32.const $83=, 50160 - i32.add $83=, $217, $83 - i32.store $discard=, 0($1), $83 - i32.const $push216=, 52 - i32.add $1=, $217, $pop216 - i32.const $84=, 52160 - i32.add $84=, $217, $84 - i32.store $discard=, 0($1), $84 - i32.const $push215=, 48 - i32.add $1=, $217, $pop215 - i32.const $85=, 54160 - i32.add $85=, $217, $85 - i32.store $discard=, 0($1), $85 - i32.const $push214=, 44 - i32.add $1=, $217, $pop214 - i32.const $86=, 56160 - i32.add $86=, $217, $86 - i32.store $discard=, 0($1), $86 - i32.const $push213=, 40 - i32.add $1=, $217, $pop213 - i32.const $87=, 58160 - i32.add $87=, $217, $87 - i32.store $discard=, 0($1), $87 - i32.const $push212=, 36 - i32.add $1=, $217, $pop212 - i32.const $88=, 60160 - i32.add $88=, $217, $88 - i32.store $discard=, 0($1), $88 - i32.const $push211=, 32 - i32.add $1=, $217, $pop211 - i32.const $89=, 62160 - i32.add $89=, $217, $89 - i32.store $discard=, 0($1), $89 - i32.const $push210=, 28 - i32.add $1=, $217, $pop210 - i32.const $90=, 64160 - i32.add $90=, $217, $90 - i32.store $discard=, 0($1), $90 - i32.const $push209=, 24 - i32.add $1=, $217, $pop209 - i32.const $91=, 66160 - i32.add $91=, $217, $91 - i32.store $discard=, 0($1), $91 - i32.const $push208=, 20 - i32.add $1=, $217, $pop208 - i32.const $92=, 68160 - i32.add $92=, $217, $92 - i32.store $discard=, 0($1), $92 - i32.const $push207=, 16 - i32.add $1=, $217, $pop207 - i32.const $93=, 70160 - i32.add $93=, $217, $93 - i32.store $discard=, 0($1), $93 - i32.const $push206=, 12 - i32.add $1=, $217, $pop206 - i32.const $94=, 72160 - i32.add $94=, $217, $94 - i32.store $discard=, 0($1), $94 - i32.const $push205=, 8 - i32.add $1=, $217, $pop205 - i32.const $95=, 74160 - i32.add $95=, $217, $95 - i32.store $discard=, 0($1), $95 - i32.const $push204=, 4 - i32.add $1=, $217, $pop204 - i32.const $96=, 76160 - i32.add $96=, $217, $96 - i32.store $discard=, 0($1), $96 - i32.const $push203=, 40 - call s@FUNCTION, $pop203 - i32.const $44=, __stack_pointer - i32.load $44=, 0($44) - i32.const $45=, 160 - i32.add $217=, $44, $45 - i32.const $45=, __stack_pointer - i32.store $217=, 0($45), $217 - i32.load $1=, 78160($217):p2align=4 - i32.load $2=, 76160($217):p2align=4 - i32.load $3=, 74160($217):p2align=4 - i32.load $4=, 72160($217):p2align=4 - i32.load $5=, 70160($217):p2align=4 - i32.load $6=, 68160($217):p2align=4 - i32.load $7=, 66160($217):p2align=4 - i32.load $8=, 64160($217):p2align=4 - i32.load $9=, 62160($217):p2align=4 - i32.load $10=, 60160($217):p2align=4 - i32.load $11=, 58160($217):p2align=4 - i32.load $12=, 56160($217):p2align=4 - i32.load $13=, 54160($217):p2align=4 - i32.load $14=, 52160($217):p2align=4 - i32.load $15=, 50160($217):p2align=4 - i32.load $16=, 48160($217):p2align=4 - i32.load $17=, 46160($217):p2align=4 - i32.load $18=, 44160($217):p2align=4 - i32.load $19=, 42160($217):p2align=4 - i32.load $20=, 40160($217):p2align=4 - i32.load $21=, 38160($217):p2align=4 - i32.load $22=, 36160($217):p2align=4 - i32.load $23=, 34160($217):p2align=4 - i32.load $24=, 32160($217):p2align=4 - i32.load $25=, 30160($217):p2align=4 - i32.load $26=, 28160($217):p2align=4 - i32.load $27=, 26160($217):p2align=4 - i32.load $28=, 24160($217):p2align=4 - i32.load $29=, 22160($217):p2align=4 - i32.load $30=, 20160($217):p2align=4 - i32.load $31=, 18160($217):p2align=4 - i32.load $32=, 16160($217):p2align=4 - i32.load $33=, 14160($217):p2align=4 - i32.load $34=, 12160($217):p2align=4 - i32.load $35=, 10160($217):p2align=4 - i32.load $36=, 8160($217):p2align=4 - i32.load $37=, 6160($217):p2align=4 - i32.load $38=, 4160($217):p2align=4 - i32.load $39=, 2160($217):p2align=4 - i32.load $40=, 160($217):p2align=4 - i32.const $46=, __stack_pointer - i32.load $46=, 0($46) - i32.const $47=, 160 - i32.sub $217=, $46, $47 - i32.const $47=, __stack_pointer - i32.store $217=, 0($47), $217 - i32.const $97=, 78160 - i32.add $97=, $217, $97 - i32.store $discard=, 0($217), $97 - i32.const $push202=, 156 - i32.add $41=, $217, $pop202 - i32.const $98=, 160 - i32.add $98=, $217, $98 - i32.store $discard=, 0($41), $98 - i32.const $push201=, 152 - i32.add $41=, $217, $pop201 - i32.const $99=, 2160 - i32.add $99=, $217, $99 - i32.store $discard=, 0($41), $99 - i32.const $push200=, 148 - i32.add $41=, $217, $pop200 - i32.const $100=, 4160 - i32.add $100=, $217, $100 - i32.store $discard=, 0($41), $100 - i32.const $push199=, 144 - i32.add $41=, $217, $pop199 - i32.const $101=, 6160 - i32.add $101=, $217, $101 - i32.store $discard=, 0($41), $101 - i32.const $push198=, 140 - i32.add $41=, $217, $pop198 - i32.const $102=, 8160 - i32.add $102=, $217, $102 - i32.store $discard=, 0($41), $102 - i32.const $push197=, 136 - i32.add $41=, $217, $pop197 - i32.const $103=, 10160 - i32.add $103=, $217, $103 - i32.store $discard=, 0($41), $103 - i32.const $push196=, 132 - i32.add $41=, $217, $pop196 - i32.const $104=, 12160 - i32.add $104=, $217, $104 - i32.store $discard=, 0($41), $104 - i32.const $push195=, 128 - i32.add $41=, $217, $pop195 - i32.const $105=, 14160 - i32.add $105=, $217, $105 - i32.store $discard=, 0($41), $105 - i32.const $push194=, 124 - i32.add $41=, $217, $pop194 - i32.const $106=, 16160 - i32.add $106=, $217, $106 - i32.store $discard=, 0($41), $106 - i32.const $push193=, 120 - i32.add $41=, $217, $pop193 - i32.const $107=, 18160 - i32.add $107=, $217, $107 - i32.store $discard=, 0($41), $107 - i32.const $push192=, 116 - i32.add $41=, $217, $pop192 - i32.const $108=, 20160 - i32.add $108=, $217, $108 - i32.store $discard=, 0($41), $108 - i32.const $push191=, 112 - i32.add $41=, $217, $pop191 - i32.const $109=, 22160 - i32.add $109=, $217, $109 - i32.store $discard=, 0($41), $109 - i32.const $push190=, 108 - i32.add $41=, $217, $pop190 - i32.const $110=, 24160 - i32.add $110=, $217, $110 - i32.store $discard=, 0($41), $110 - i32.const $push189=, 104 - i32.add $41=, $217, $pop189 - i32.const $111=, 26160 - i32.add $111=, $217, $111 - i32.store $discard=, 0($41), $111 - i32.const $push188=, 100 - i32.add $41=, $217, $pop188 - i32.const $112=, 28160 - i32.add $112=, $217, $112 - i32.store $discard=, 0($41), $112 - i32.const $push187=, 96 - i32.add $41=, $217, $pop187 - i32.const $113=, 30160 - i32.add $113=, $217, $113 - i32.store $discard=, 0($41), $113 - i32.const $push186=, 92 - i32.add $41=, $217, $pop186 - i32.const $114=, 32160 - i32.add $114=, $217, $114 - i32.store $discard=, 0($41), $114 - i32.const $push185=, 88 - i32.add $41=, $217, $pop185 - i32.const $115=, 34160 - i32.add $115=, $217, $115 - i32.store $discard=, 0($41), $115 - i32.const $push184=, 84 - i32.add $41=, $217, $pop184 - i32.const $116=, 36160 - i32.add $116=, $217, $116 - i32.store $discard=, 0($41), $116 - i32.const $push183=, 80 - i32.add $41=, $217, $pop183 - i32.const $117=, 38160 - i32.add $117=, $217, $117 - i32.store $discard=, 0($41), $117 - i32.const $push182=, 76 - i32.add $41=, $217, $pop182 - i32.const $118=, 40160 - i32.add $118=, $217, $118 - i32.store $discard=, 0($41), $118 - i32.const $push181=, 72 - i32.add $41=, $217, $pop181 - i32.const $119=, 42160 - i32.add $119=, $217, $119 - i32.store $discard=, 0($41), $119 - i32.const $push180=, 68 - i32.add $41=, $217, $pop180 - i32.const $120=, 44160 - i32.add $120=, $217, $120 - i32.store $discard=, 0($41), $120 - i32.const $push179=, 64 - i32.add $41=, $217, $pop179 - i32.const $121=, 46160 - i32.add $121=, $217, $121 - i32.store $discard=, 0($41), $121 - i32.const $push178=, 60 - i32.add $41=, $217, $pop178 - i32.const $122=, 48160 - i32.add $122=, $217, $122 - i32.store $discard=, 0($41), $122 - i32.const $push177=, 56 - i32.add $41=, $217, $pop177 - i32.const $123=, 50160 - i32.add $123=, $217, $123 - i32.store $discard=, 0($41), $123 - i32.const $push176=, 52 - i32.add $41=, $217, $pop176 - i32.const $124=, 52160 - i32.add $124=, $217, $124 - i32.store $discard=, 0($41), $124 - i32.const $push175=, 48 - i32.add $41=, $217, $pop175 - i32.const $125=, 54160 - i32.add $125=, $217, $125 - i32.store $discard=, 0($41), $125 - i32.const $push174=, 44 - i32.add $41=, $217, $pop174 - i32.const $126=, 56160 - i32.add $126=, $217, $126 - i32.store $discard=, 0($41), $126 - i32.const $push173=, 40 - i32.add $41=, $217, $pop173 - i32.const $127=, 58160 - i32.add $127=, $217, $127 - i32.store $discard=, 0($41), $127 - i32.const $push172=, 36 - i32.add $41=, $217, $pop172 - i32.const $128=, 60160 - i32.add $128=, $217, $128 - i32.store $discard=, 0($41), $128 - i32.const $push171=, 32 - i32.add $41=, $217, $pop171 - i32.const $129=, 62160 - i32.add $129=, $217, $129 - i32.store $discard=, 0($41), $129 - i32.const $push170=, 28 - i32.add $41=, $217, $pop170 - i32.const $130=, 64160 - i32.add $130=, $217, $130 - i32.store $discard=, 0($41), $130 - i32.const $push169=, 24 - i32.add $41=, $217, $pop169 - i32.const $131=, 66160 - i32.add $131=, $217, $131 - i32.store $discard=, 0($41), $131 - i32.const $push168=, 20 - i32.add $41=, $217, $pop168 - i32.const $132=, 68160 - i32.add $132=, $217, $132 - i32.store $discard=, 0($41), $132 - i32.const $push167=, 16 - i32.add $41=, $217, $pop167 - i32.const $133=, 70160 - i32.add $133=, $217, $133 - i32.store $discard=, 0($41), $133 - i32.const $push166=, 12 - i32.add $41=, $217, $pop166 - i32.const $134=, 72160 - i32.add $134=, $217, $134 - i32.store $discard=, 0($41), $134 - i32.const $push165=, 8 - i32.add $41=, $217, $pop165 - i32.const $135=, 74160 - i32.add $135=, $217, $135 - i32.store $discard=, 0($41), $135 - i32.const $push164=, 4 - i32.add $41=, $217, $pop164 - i32.const $136=, 76160 - i32.add $136=, $217, $136 - i32.store $discard=, 0($41), $136 - i32.const $push163=, 40 - call z@FUNCTION, $pop163 - i32.const $48=, __stack_pointer - i32.load $48=, 0($48) - i32.const $49=, 160 - i32.add $217=, $48, $49 - i32.const $49=, __stack_pointer - i32.store $217=, 0($49), $217 - i32.const $push162=, 2 - i32.shl $push2=, $1, $pop162 - i32.const $137=, 78160 - i32.add $137=, $217, $137 - i32.add $push3=, $137, $pop2 - i32.store $discard=, 0($pop3), $1 - i32.const $push161=, 2 - i32.shl $push4=, $2, $pop161 - i32.const $138=, 76160 - i32.add $138=, $217, $138 - i32.add $push5=, $138, $pop4 - i32.store $discard=, 0($pop5), $2 - i32.const $push160=, 2 - i32.shl $push6=, $3, $pop160 - i32.const $139=, 74160 - i32.add $139=, $217, $139 - i32.add $push7=, $139, $pop6 - i32.store $discard=, 0($pop7), $3 - i32.const $push159=, 2 - i32.shl $push8=, $4, $pop159 - i32.const $140=, 72160 - i32.add $140=, $217, $140 - i32.add $push9=, $140, $pop8 - i32.store $discard=, 0($pop9), $4 - i32.const $push158=, 2 - i32.shl $push10=, $5, $pop158 - i32.const $141=, 70160 - i32.add $141=, $217, $141 - i32.add $push11=, $141, $pop10 - i32.store $discard=, 0($pop11), $5 - i32.const $push157=, 2 - i32.shl $push12=, $6, $pop157 - i32.const $142=, 68160 - i32.add $142=, $217, $142 - i32.add $push13=, $142, $pop12 - i32.store $discard=, 0($pop13), $6 - i32.const $push156=, 2 - i32.shl $push14=, $7, $pop156 - i32.const $143=, 66160 - i32.add $143=, $217, $143 - i32.add $push15=, $143, $pop14 - i32.store $discard=, 0($pop15), $7 - i32.const $push155=, 2 - i32.shl $push16=, $8, $pop155 - i32.const $144=, 64160 - i32.add $144=, $217, $144 - i32.add $push17=, $144, $pop16 - i32.store $discard=, 0($pop17), $8 - i32.const $push154=, 2 - i32.shl $push18=, $9, $pop154 - i32.const $145=, 62160 - i32.add $145=, $217, $145 - i32.add $push19=, $145, $pop18 - i32.store $discard=, 0($pop19), $9 - i32.const $push153=, 2 - i32.shl $push20=, $10, $pop153 - i32.const $146=, 60160 - i32.add $146=, $217, $146 - i32.add $push21=, $146, $pop20 - i32.store $discard=, 0($pop21), $10 - i32.const $push152=, 2 - i32.shl $push22=, $11, $pop152 - i32.const $147=, 58160 - i32.add $147=, $217, $147 - i32.add $push23=, $147, $pop22 - i32.store $discard=, 0($pop23), $11 - i32.const $push151=, 2 - i32.shl $push24=, $12, $pop151 - i32.const $148=, 56160 - i32.add $148=, $217, $148 - i32.add $push25=, $148, $pop24 - i32.store $discard=, 0($pop25), $12 - i32.const $push150=, 2 - i32.shl $push26=, $13, $pop150 - i32.const $149=, 54160 - i32.add $149=, $217, $149 - i32.add $push27=, $149, $pop26 - i32.store $discard=, 0($pop27), $13 - i32.const $push149=, 2 - i32.shl $push28=, $14, $pop149 - i32.const $150=, 52160 - i32.add $150=, $217, $150 - i32.add $push29=, $150, $pop28 - i32.store $discard=, 0($pop29), $14 - i32.const $push148=, 2 - i32.shl $push30=, $15, $pop148 - i32.const $151=, 50160 - i32.add $151=, $217, $151 - i32.add $push31=, $151, $pop30 - i32.store $discard=, 0($pop31), $15 - i32.const $push147=, 2 - i32.shl $push32=, $16, $pop147 - i32.const $152=, 48160 - i32.add $152=, $217, $152 - i32.add $push33=, $152, $pop32 - i32.store $discard=, 0($pop33), $16 - i32.const $push146=, 2 - i32.shl $push34=, $17, $pop146 - i32.const $153=, 46160 - i32.add $153=, $217, $153 - i32.add $push35=, $153, $pop34 - i32.store $discard=, 0($pop35), $17 - i32.const $push145=, 2 - i32.shl $push36=, $18, $pop145 - i32.const $154=, 44160 - i32.add $154=, $217, $154 - i32.add $push37=, $154, $pop36 - i32.store $discard=, 0($pop37), $18 - i32.const $push144=, 2 - i32.shl $push38=, $19, $pop144 - i32.const $155=, 42160 - i32.add $155=, $217, $155 - i32.add $push39=, $155, $pop38 - i32.store $discard=, 0($pop39), $19 - i32.const $push143=, 2 - i32.shl $push40=, $20, $pop143 - i32.const $156=, 40160 - i32.add $156=, $217, $156 - i32.add $push41=, $156, $pop40 - i32.store $discard=, 0($pop41), $20 - i32.const $push142=, 2 - i32.shl $push42=, $21, $pop142 - i32.const $157=, 38160 - i32.add $157=, $217, $157 - i32.add $push43=, $157, $pop42 - i32.store $discard=, 0($pop43), $21 - i32.const $push141=, 2 - i32.shl $push44=, $22, $pop141 - i32.const $158=, 36160 - i32.add $158=, $217, $158 - i32.add $push45=, $158, $pop44 - i32.store $discard=, 0($pop45), $22 - i32.const $push140=, 2 - i32.shl $push46=, $23, $pop140 - i32.const $159=, 34160 - i32.add $159=, $217, $159 - i32.add $push47=, $159, $pop46 - i32.store $discard=, 0($pop47), $23 - i32.const $push139=, 2 - i32.shl $push48=, $24, $pop139 - i32.const $160=, 32160 - i32.add $160=, $217, $160 - i32.add $push49=, $160, $pop48 - i32.store $discard=, 0($pop49), $24 - i32.const $push138=, 2 - i32.shl $push50=, $25, $pop138 - i32.const $161=, 30160 - i32.add $161=, $217, $161 - i32.add $push51=, $161, $pop50 - i32.store $discard=, 0($pop51), $25 - i32.const $push137=, 2 - i32.shl $push52=, $26, $pop137 - i32.const $162=, 28160 - i32.add $162=, $217, $162 - i32.add $push53=, $162, $pop52 - i32.store $discard=, 0($pop53), $26 - i32.const $push136=, 2 - i32.shl $push54=, $27, $pop136 - i32.const $163=, 26160 - i32.add $163=, $217, $163 - i32.add $push55=, $163, $pop54 - i32.store $discard=, 0($pop55), $27 - i32.const $push135=, 2 - i32.shl $push56=, $28, $pop135 - i32.const $164=, 24160 - i32.add $164=, $217, $164 - i32.add $push57=, $164, $pop56 - i32.store $discard=, 0($pop57), $28 - i32.const $push134=, 2 - i32.shl $push58=, $29, $pop134 - i32.const $165=, 22160 - i32.add $165=, $217, $165 - i32.add $push59=, $165, $pop58 - i32.store $discard=, 0($pop59), $29 - i32.const $push133=, 2 - i32.shl $push60=, $30, $pop133 - i32.const $166=, 20160 - i32.add $166=, $217, $166 - i32.add $push61=, $166, $pop60 - i32.store $discard=, 0($pop61), $30 - i32.const $push132=, 2 - i32.shl $push62=, $31, $pop132 - i32.const $167=, 18160 - i32.add $167=, $217, $167 - i32.add $push63=, $167, $pop62 - i32.store $discard=, 0($pop63), $31 - i32.const $push131=, 2 - i32.shl $push64=, $32, $pop131 - i32.const $168=, 16160 - i32.add $168=, $217, $168 - i32.add $push65=, $168, $pop64 - i32.store $discard=, 0($pop65), $32 - i32.const $push130=, 2 - i32.shl $push66=, $33, $pop130 - i32.const $169=, 14160 - i32.add $169=, $217, $169 - i32.add $push67=, $169, $pop66 - i32.store $discard=, 0($pop67), $33 - i32.const $push129=, 2 - i32.shl $push68=, $34, $pop129 - i32.const $170=, 12160 - i32.add $170=, $217, $170 - i32.add $push69=, $170, $pop68 - i32.store $discard=, 0($pop69), $34 - i32.const $push128=, 2 - i32.shl $push70=, $35, $pop128 - i32.const $171=, 10160 - i32.add $171=, $217, $171 - i32.add $push71=, $171, $pop70 - i32.store $discard=, 0($pop71), $35 - i32.const $push127=, 2 - i32.shl $push72=, $36, $pop127 - i32.const $172=, 8160 - i32.add $172=, $217, $172 - i32.add $push73=, $172, $pop72 - i32.store $discard=, 0($pop73), $36 - i32.const $push126=, 2 - i32.shl $push74=, $37, $pop126 - i32.const $173=, 6160 - i32.add $173=, $217, $173 - i32.add $push75=, $173, $pop74 - i32.store $discard=, 0($pop75), $37 - i32.const $push125=, 2 - i32.shl $push76=, $38, $pop125 - i32.const $174=, 4160 - i32.add $174=, $217, $174 - i32.add $push77=, $174, $pop76 - i32.store $discard=, 0($pop77), $38 - i32.const $push124=, 2 - i32.shl $push78=, $39, $pop124 - i32.const $175=, 2160 - i32.add $175=, $217, $175 - i32.add $push79=, $175, $pop78 - i32.store $discard=, 0($pop79), $39 - i32.const $push123=, 2 - i32.shl $push80=, $40, $pop123 + i32.const $push359=, 156 + i32.const $44=, 320 + i32.add $44=, $284, $44 + i32.add $push2=, $44, $pop359 + i32.const $45=, 480 + i32.add $45=, $284, $45 + i32.store $discard=, 0($pop2), $45 + i32.const $push358=, 152 + i32.const $46=, 320 + i32.add $46=, $284, $46 + i32.add $push3=, $46, $pop358 + i32.const $47=, 2480 + i32.add $47=, $284, $47 + i32.store $discard=, 0($pop3):p2align=3, $47 + i32.const $push357=, 148 + i32.const $48=, 320 + i32.add $48=, $284, $48 + i32.add $push4=, $48, $pop357 + i32.const $49=, 4480 + i32.add $49=, $284, $49 + i32.store $discard=, 0($pop4), $49 + i32.const $push356=, 144 + i32.const $50=, 320 + i32.add $50=, $284, $50 + i32.add $push5=, $50, $pop356 + i32.const $51=, 6480 + i32.add $51=, $284, $51 + i32.store $discard=, 0($pop5):p2align=4, $51 + i32.const $push355=, 140 + i32.const $52=, 320 + i32.add $52=, $284, $52 + i32.add $push6=, $52, $pop355 + i32.const $53=, 8480 + i32.add $53=, $284, $53 + i32.store $discard=, 0($pop6), $53 + i32.const $push354=, 136 + i32.const $54=, 320 + i32.add $54=, $284, $54 + i32.add $push7=, $54, $pop354 + i32.const $55=, 10480 + i32.add $55=, $284, $55 + i32.store $discard=, 0($pop7):p2align=3, $55 + i32.const $push353=, 132 + i32.const $56=, 320 + i32.add $56=, $284, $56 + i32.add $push8=, $56, $pop353 + i32.const $57=, 12480 + i32.add $57=, $284, $57 + i32.store $discard=, 0($pop8), $57 + i32.const $push352=, 128 + i32.const $58=, 320 + i32.add $58=, $284, $58 + i32.add $push9=, $58, $pop352 + i32.const $59=, 14480 + i32.add $59=, $284, $59 + i32.store $discard=, 0($pop9):p2align=4, $59 + i32.const $push351=, 124 + i32.const $60=, 320 + i32.add $60=, $284, $60 + i32.add $push10=, $60, $pop351 + i32.const $61=, 16480 + i32.add $61=, $284, $61 + i32.store $discard=, 0($pop10), $61 + i32.const $push350=, 120 + i32.const $62=, 320 + i32.add $62=, $284, $62 + i32.add $push11=, $62, $pop350 + i32.const $63=, 18480 + i32.add $63=, $284, $63 + i32.store $discard=, 0($pop11):p2align=3, $63 + i32.const $push349=, 116 + i32.const $64=, 320 + i32.add $64=, $284, $64 + i32.add $push12=, $64, $pop349 + i32.const $65=, 20480 + i32.add $65=, $284, $65 + i32.store $discard=, 0($pop12), $65 + i32.const $push348=, 112 + i32.const $66=, 320 + i32.add $66=, $284, $66 + i32.add $push13=, $66, $pop348 + i32.const $67=, 22480 + i32.add $67=, $284, $67 + i32.store $discard=, 0($pop13):p2align=4, $67 + i32.const $push347=, 108 + i32.const $68=, 320 + i32.add $68=, $284, $68 + i32.add $push14=, $68, $pop347 + i32.const $69=, 24480 + i32.add $69=, $284, $69 + i32.store $discard=, 0($pop14), $69 + i32.const $push346=, 104 + i32.const $70=, 320 + i32.add $70=, $284, $70 + i32.add $push15=, $70, $pop346 + i32.const $71=, 26480 + i32.add $71=, $284, $71 + i32.store $discard=, 0($pop15):p2align=3, $71 + i32.const $push345=, 100 + i32.const $72=, 320 + i32.add $72=, $284, $72 + i32.add $push16=, $72, $pop345 + i32.const $73=, 28480 + i32.add $73=, $284, $73 + i32.store $discard=, 0($pop16), $73 + i32.const $push344=, 96 + i32.const $74=, 320 + i32.add $74=, $284, $74 + i32.add $push17=, $74, $pop344 + i32.const $75=, 30480 + i32.add $75=, $284, $75 + i32.store $discard=, 0($pop17):p2align=4, $75 + i32.const $push343=, 92 + i32.const $76=, 320 + i32.add $76=, $284, $76 + i32.add $push18=, $76, $pop343 + i32.const $77=, 32480 + i32.add $77=, $284, $77 + i32.store $discard=, 0($pop18), $77 + i32.const $push342=, 88 + i32.const $78=, 320 + i32.add $78=, $284, $78 + i32.add $push19=, $78, $pop342 + i32.const $79=, 34480 + i32.add $79=, $284, $79 + i32.store $discard=, 0($pop19):p2align=3, $79 + i32.const $push341=, 84 + i32.const $80=, 320 + i32.add $80=, $284, $80 + i32.add $push20=, $80, $pop341 + i32.const $81=, 36480 + i32.add $81=, $284, $81 + i32.store $discard=, 0($pop20), $81 + i32.const $push340=, 80 + i32.const $82=, 320 + i32.add $82=, $284, $82 + i32.add $push21=, $82, $pop340 + i32.const $83=, 38480 + i32.add $83=, $284, $83 + i32.store $discard=, 0($pop21):p2align=4, $83 + i32.const $push339=, 76 + i32.const $84=, 320 + i32.add $84=, $284, $84 + i32.add $push22=, $84, $pop339 + i32.const $85=, 40480 + i32.add $85=, $284, $85 + i32.store $discard=, 0($pop22), $85 + i32.const $push338=, 72 + i32.const $86=, 320 + i32.add $86=, $284, $86 + i32.add $push23=, $86, $pop338 + i32.const $87=, 42480 + i32.add $87=, $284, $87 + i32.store $discard=, 0($pop23):p2align=3, $87 + i32.const $push337=, 68 + i32.const $88=, 320 + i32.add $88=, $284, $88 + i32.add $push24=, $88, $pop337 + i32.const $89=, 44480 + i32.add $89=, $284, $89 + i32.store $discard=, 0($pop24), $89 + i32.const $push336=, 64 + i32.const $90=, 320 + i32.add $90=, $284, $90 + i32.add $push25=, $90, $pop336 + i32.const $91=, 46480 + i32.add $91=, $284, $91 + i32.store $discard=, 0($pop25):p2align=4, $91 + i32.const $push335=, 60 + i32.const $92=, 320 + i32.add $92=, $284, $92 + i32.add $push26=, $92, $pop335 + i32.const $93=, 48480 + i32.add $93=, $284, $93 + i32.store $discard=, 0($pop26), $93 + i32.const $push334=, 56 + i32.const $94=, 320 + i32.add $94=, $284, $94 + i32.add $push27=, $94, $pop334 + i32.const $95=, 50480 + i32.add $95=, $284, $95 + i32.store $discard=, 0($pop27):p2align=3, $95 + i32.const $push333=, 52 + i32.const $96=, 320 + i32.add $96=, $284, $96 + i32.add $push28=, $96, $pop333 + i32.const $97=, 52480 + i32.add $97=, $284, $97 + i32.store $discard=, 0($pop28), $97 + i32.const $push332=, 48 + i32.const $98=, 320 + i32.add $98=, $284, $98 + i32.add $push29=, $98, $pop332 + i32.const $99=, 54480 + i32.add $99=, $284, $99 + i32.store $discard=, 0($pop29):p2align=4, $99 + i32.const $push331=, 44 + i32.const $100=, 320 + i32.add $100=, $284, $100 + i32.add $push30=, $100, $pop331 + i32.const $101=, 56480 + i32.add $101=, $284, $101 + i32.store $discard=, 0($pop30), $101 + i32.const $push330=, 40 + i32.const $102=, 320 + i32.add $102=, $284, $102 + i32.add $push31=, $102, $pop330 + i32.const $103=, 58480 + i32.add $103=, $284, $103 + i32.store $discard=, 0($pop31):p2align=3, $103 + i32.const $push329=, 36 + i32.const $104=, 320 + i32.add $104=, $284, $104 + i32.add $push32=, $104, $pop329 + i32.const $105=, 60480 + i32.add $105=, $284, $105 + i32.store $discard=, 0($pop32), $105 + i32.const $push328=, 32 + i32.const $106=, 320 + i32.add $106=, $284, $106 + i32.add $push33=, $106, $pop328 + i32.const $107=, 62480 + i32.add $107=, $284, $107 + i32.store $discard=, 0($pop33):p2align=4, $107 + i32.const $push327=, 28 + i32.const $108=, 320 + i32.add $108=, $284, $108 + i32.add $push34=, $108, $pop327 + i32.const $109=, 64480 + i32.add $109=, $284, $109 + i32.store $discard=, 0($pop34), $109 + i32.const $push326=, 24 + i32.const $110=, 320 + i32.add $110=, $284, $110 + i32.add $push35=, $110, $pop326 + i32.const $111=, 66480 + i32.add $111=, $284, $111 + i32.store $discard=, 0($pop35):p2align=3, $111 + i32.const $push325=, 20 + i32.const $112=, 320 + i32.add $112=, $284, $112 + i32.add $push36=, $112, $pop325 + i32.const $113=, 68480 + i32.add $113=, $284, $113 + i32.store $discard=, 0($pop36), $113 + i32.const $push324=, 16 + i32.const $114=, 320 + i32.add $114=, $284, $114 + i32.add $push37=, $114, $pop324 + i32.const $115=, 70480 + i32.add $115=, $284, $115 + i32.store $discard=, 0($pop37):p2align=4, $115 + i32.const $push323=, 12 + i32.const $116=, 320 + i32.add $116=, $284, $116 + i32.or $push38=, $116, $pop323 + i32.const $117=, 72480 + i32.add $117=, $284, $117 + i32.store $discard=, 0($pop38), $117 + i32.const $push322=, 8 + i32.const $118=, 320 + i32.add $118=, $284, $118 + i32.or $push39=, $118, $pop322 + i32.const $119=, 74480 + i32.add $119=, $284, $119 + i32.store $discard=, 0($pop39):p2align=3, $119 + i32.const $push321=, 4 + i32.const $120=, 320 + i32.add $120=, $284, $120 + i32.or $push40=, $120, $pop321 + i32.const $121=, 76480 + i32.add $121=, $284, $121 + i32.store $discard=, 0($pop40), $121 + i32.const $122=, 78480 + i32.add $122=, $284, $122 + i32.store $discard=, 320($284):p2align=4, $122 + i32.const $push320=, 40 + i32.const $123=, 320 + i32.add $123=, $284, $123 + call s@FUNCTION, $pop320, $123 + i32.load $1=, 78480($284):p2align=4 + i32.load $2=, 76480($284):p2align=4 + i32.load $3=, 74480($284):p2align=4 + i32.load $4=, 72480($284):p2align=4 + i32.load $5=, 70480($284):p2align=4 + i32.load $6=, 68480($284):p2align=4 + i32.load $7=, 66480($284):p2align=4 + i32.load $8=, 64480($284):p2align=4 + i32.load $9=, 62480($284):p2align=4 + i32.load $10=, 60480($284):p2align=4 + i32.load $11=, 58480($284):p2align=4 + i32.load $12=, 56480($284):p2align=4 + i32.load $13=, 54480($284):p2align=4 + i32.load $14=, 52480($284):p2align=4 + i32.load $15=, 50480($284):p2align=4 + i32.load $16=, 48480($284):p2align=4 + i32.load $17=, 46480($284):p2align=4 + i32.load $18=, 44480($284):p2align=4 + i32.load $19=, 42480($284):p2align=4 + i32.load $20=, 40480($284):p2align=4 + i32.load $21=, 38480($284):p2align=4 + i32.load $22=, 36480($284):p2align=4 + i32.load $23=, 34480($284):p2align=4 + i32.load $24=, 32480($284):p2align=4 + i32.load $25=, 30480($284):p2align=4 + i32.load $26=, 28480($284):p2align=4 + i32.load $27=, 26480($284):p2align=4 + i32.load $28=, 24480($284):p2align=4 + i32.load $29=, 22480($284):p2align=4 + i32.load $30=, 20480($284):p2align=4 + i32.load $31=, 18480($284):p2align=4 + i32.load $32=, 16480($284):p2align=4 + i32.load $33=, 14480($284):p2align=4 + i32.load $34=, 12480($284):p2align=4 + i32.load $35=, 10480($284):p2align=4 + i32.load $36=, 8480($284):p2align=4 + i32.load $37=, 6480($284):p2align=4 + i32.load $38=, 4480($284):p2align=4 + i32.load $39=, 2480($284):p2align=4 + i32.load $40=, 480($284):p2align=4 + i32.const $push319=, 156 + i32.const $124=, 160 + i32.add $124=, $284, $124 + i32.add $push41=, $124, $pop319 + i32.const $125=, 480 + i32.add $125=, $284, $125 + i32.store $discard=, 0($pop41), $125 + i32.const $push318=, 152 + i32.const $126=, 160 + i32.add $126=, $284, $126 + i32.add $push42=, $126, $pop318 + i32.const $127=, 2480 + i32.add $127=, $284, $127 + i32.store $discard=, 0($pop42):p2align=3, $127 + i32.const $push317=, 148 + i32.const $128=, 160 + i32.add $128=, $284, $128 + i32.add $push43=, $128, $pop317 + i32.const $129=, 4480 + i32.add $129=, $284, $129 + i32.store $discard=, 0($pop43), $129 + i32.const $push316=, 144 + i32.const $130=, 160 + i32.add $130=, $284, $130 + i32.add $push44=, $130, $pop316 + i32.const $131=, 6480 + i32.add $131=, $284, $131 + i32.store $discard=, 0($pop44):p2align=4, $131 + i32.const $push315=, 140 + i32.const $132=, 160 + i32.add $132=, $284, $132 + i32.add $push45=, $132, $pop315 + i32.const $133=, 8480 + i32.add $133=, $284, $133 + i32.store $discard=, 0($pop45), $133 + i32.const $push314=, 136 + i32.const $134=, 160 + i32.add $134=, $284, $134 + i32.add $push46=, $134, $pop314 + i32.const $135=, 10480 + i32.add $135=, $284, $135 + i32.store $discard=, 0($pop46):p2align=3, $135 + i32.const $push313=, 132 + i32.const $136=, 160 + i32.add $136=, $284, $136 + i32.add $push47=, $136, $pop313 + i32.const $137=, 12480 + i32.add $137=, $284, $137 + i32.store $discard=, 0($pop47), $137 + i32.const $push312=, 128 + i32.const $138=, 160 + i32.add $138=, $284, $138 + i32.add $push48=, $138, $pop312 + i32.const $139=, 14480 + i32.add $139=, $284, $139 + i32.store $discard=, 0($pop48):p2align=4, $139 + i32.const $push311=, 124 + i32.const $140=, 160 + i32.add $140=, $284, $140 + i32.add $push49=, $140, $pop311 + i32.const $141=, 16480 + i32.add $141=, $284, $141 + i32.store $discard=, 0($pop49), $141 + i32.const $push310=, 120 + i32.const $142=, 160 + i32.add $142=, $284, $142 + i32.add $push50=, $142, $pop310 + i32.const $143=, 18480 + i32.add $143=, $284, $143 + i32.store $discard=, 0($pop50):p2align=3, $143 + i32.const $push309=, 116 + i32.const $144=, 160 + i32.add $144=, $284, $144 + i32.add $push51=, $144, $pop309 + i32.const $145=, 20480 + i32.add $145=, $284, $145 + i32.store $discard=, 0($pop51), $145 + i32.const $push308=, 112 + i32.const $146=, 160 + i32.add $146=, $284, $146 + i32.add $push52=, $146, $pop308 + i32.const $147=, 22480 + i32.add $147=, $284, $147 + i32.store $discard=, 0($pop52):p2align=4, $147 + i32.const $push307=, 108 + i32.const $148=, 160 + i32.add $148=, $284, $148 + i32.add $push53=, $148, $pop307 + i32.const $149=, 24480 + i32.add $149=, $284, $149 + i32.store $discard=, 0($pop53), $149 + i32.const $push306=, 104 + i32.const $150=, 160 + i32.add $150=, $284, $150 + i32.add $push54=, $150, $pop306 + i32.const $151=, 26480 + i32.add $151=, $284, $151 + i32.store $discard=, 0($pop54):p2align=3, $151 + i32.const $push305=, 100 + i32.const $152=, 160 + i32.add $152=, $284, $152 + i32.add $push55=, $152, $pop305 + i32.const $153=, 28480 + i32.add $153=, $284, $153 + i32.store $discard=, 0($pop55), $153 + i32.const $push304=, 96 + i32.const $154=, 160 + i32.add $154=, $284, $154 + i32.add $push56=, $154, $pop304 + i32.const $155=, 30480 + i32.add $155=, $284, $155 + i32.store $discard=, 0($pop56):p2align=4, $155 + i32.const $push303=, 92 + i32.const $156=, 160 + i32.add $156=, $284, $156 + i32.add $push57=, $156, $pop303 + i32.const $157=, 32480 + i32.add $157=, $284, $157 + i32.store $discard=, 0($pop57), $157 + i32.const $push302=, 88 + i32.const $158=, 160 + i32.add $158=, $284, $158 + i32.add $push58=, $158, $pop302 + i32.const $159=, 34480 + i32.add $159=, $284, $159 + i32.store $discard=, 0($pop58):p2align=3, $159 + i32.const $push301=, 84 + i32.const $160=, 160 + i32.add $160=, $284, $160 + i32.add $push59=, $160, $pop301 + i32.const $161=, 36480 + i32.add $161=, $284, $161 + i32.store $discard=, 0($pop59), $161 + i32.const $push300=, 80 + i32.const $162=, 160 + i32.add $162=, $284, $162 + i32.add $push60=, $162, $pop300 + i32.const $163=, 38480 + i32.add $163=, $284, $163 + i32.store $discard=, 0($pop60):p2align=4, $163 + i32.const $push299=, 76 + i32.const $164=, 160 + i32.add $164=, $284, $164 + i32.add $push61=, $164, $pop299 + i32.const $165=, 40480 + i32.add $165=, $284, $165 + i32.store $discard=, 0($pop61), $165 + i32.const $push298=, 72 + i32.const $166=, 160 + i32.add $166=, $284, $166 + i32.add $push62=, $166, $pop298 + i32.const $167=, 42480 + i32.add $167=, $284, $167 + i32.store $discard=, 0($pop62):p2align=3, $167 + i32.const $push297=, 68 + i32.const $168=, 160 + i32.add $168=, $284, $168 + i32.add $push63=, $168, $pop297 + i32.const $169=, 44480 + i32.add $169=, $284, $169 + i32.store $discard=, 0($pop63), $169 + i32.const $push296=, 64 + i32.const $170=, 160 + i32.add $170=, $284, $170 + i32.add $push64=, $170, $pop296 + i32.const $171=, 46480 + i32.add $171=, $284, $171 + i32.store $discard=, 0($pop64):p2align=4, $171 + i32.const $push295=, 60 + i32.const $172=, 160 + i32.add $172=, $284, $172 + i32.add $push65=, $172, $pop295 + i32.const $173=, 48480 + i32.add $173=, $284, $173 + i32.store $discard=, 0($pop65), $173 + i32.const $push294=, 56 + i32.const $174=, 160 + i32.add $174=, $284, $174 + i32.add $push66=, $174, $pop294 + i32.const $175=, 50480 + i32.add $175=, $284, $175 + i32.store $discard=, 0($pop66):p2align=3, $175 + i32.const $push293=, 52 i32.const $176=, 160 - i32.add $176=, $217, $176 - i32.add $push81=, $176, $pop80 - i32.store $discard=, 0($pop81), $40 - i32.const $50=, __stack_pointer - i32.load $50=, 0($50) - i32.const $51=, 160 - i32.sub $217=, $50, $51 - i32.const $51=, __stack_pointer - i32.store $217=, 0($51), $217 - i32.const $177=, 78160 - i32.add $177=, $217, $177 - i32.store $discard=, 0($217), $177 - i32.const $push122=, 156 - i32.add $1=, $217, $pop122 + i32.add $176=, $284, $176 + i32.add $push67=, $176, $pop293 + i32.const $177=, 52480 + i32.add $177=, $284, $177 + i32.store $discard=, 0($pop67), $177 + i32.const $push292=, 48 i32.const $178=, 160 - i32.add $178=, $217, $178 - i32.store $discard=, 0($1), $178 - i32.const $push121=, 152 - i32.add $1=, $217, $pop121 - i32.const $179=, 2160 - i32.add $179=, $217, $179 - i32.store $discard=, 0($1), $179 - i32.const $push120=, 148 - i32.add $1=, $217, $pop120 - i32.const $180=, 4160 - i32.add $180=, $217, $180 - i32.store $discard=, 0($1), $180 - i32.const $push119=, 144 - i32.add $1=, $217, $pop119 - i32.const $181=, 6160 - i32.add $181=, $217, $181 - i32.store $discard=, 0($1), $181 - i32.const $push118=, 140 - i32.add $1=, $217, $pop118 - i32.const $182=, 8160 - i32.add $182=, $217, $182 - i32.store $discard=, 0($1), $182 - i32.const $push117=, 136 - i32.add $1=, $217, $pop117 - i32.const $183=, 10160 - i32.add $183=, $217, $183 - i32.store $discard=, 0($1), $183 - i32.const $push116=, 132 - i32.add $1=, $217, $pop116 - i32.const $184=, 12160 - i32.add $184=, $217, $184 - i32.store $discard=, 0($1), $184 - i32.const $push115=, 128 - i32.add $1=, $217, $pop115 - i32.const $185=, 14160 - i32.add $185=, $217, $185 - i32.store $discard=, 0($1), $185 - i32.const $push114=, 124 - i32.add $1=, $217, $pop114 - i32.const $186=, 16160 - i32.add $186=, $217, $186 - i32.store $discard=, 0($1), $186 - i32.const $push113=, 120 - i32.add $1=, $217, $pop113 - i32.const $187=, 18160 - i32.add $187=, $217, $187 - i32.store $discard=, 0($1), $187 - i32.const $push112=, 116 - i32.add $1=, $217, $pop112 - i32.const $188=, 20160 - i32.add $188=, $217, $188 - i32.store $discard=, 0($1), $188 - i32.const $push111=, 112 - i32.add $1=, $217, $pop111 - i32.const $189=, 22160 - i32.add $189=, $217, $189 - i32.store $discard=, 0($1), $189 - i32.const $push110=, 108 - i32.add $1=, $217, $pop110 - i32.const $190=, 24160 - i32.add $190=, $217, $190 - i32.store $discard=, 0($1), $190 - i32.const $push109=, 104 - i32.add $1=, $217, $pop109 - i32.const $191=, 26160 - i32.add $191=, $217, $191 - i32.store $discard=, 0($1), $191 - i32.const $push108=, 100 - i32.add $1=, $217, $pop108 - i32.const $192=, 28160 - i32.add $192=, $217, $192 - i32.store $discard=, 0($1), $192 - i32.const $push107=, 96 - i32.add $1=, $217, $pop107 - i32.const $193=, 30160 - i32.add $193=, $217, $193 - i32.store $discard=, 0($1), $193 - i32.const $push106=, 92 - i32.add $1=, $217, $pop106 - i32.const $194=, 32160 - i32.add $194=, $217, $194 - i32.store $discard=, 0($1), $194 - i32.const $push105=, 88 - i32.add $1=, $217, $pop105 - i32.const $195=, 34160 - i32.add $195=, $217, $195 - i32.store $discard=, 0($1), $195 - i32.const $push104=, 84 - i32.add $1=, $217, $pop104 - i32.const $196=, 36160 - i32.add $196=, $217, $196 - i32.store $discard=, 0($1), $196 - i32.const $push103=, 80 - i32.add $1=, $217, $pop103 - i32.const $197=, 38160 - i32.add $197=, $217, $197 - i32.store $discard=, 0($1), $197 - i32.const $push102=, 76 - i32.add $1=, $217, $pop102 - i32.const $198=, 40160 - i32.add $198=, $217, $198 - i32.store $discard=, 0($1), $198 - i32.const $push101=, 72 - i32.add $1=, $217, $pop101 - i32.const $199=, 42160 - i32.add $199=, $217, $199 - i32.store $discard=, 0($1), $199 - i32.const $push100=, 68 - i32.add $1=, $217, $pop100 - i32.const $200=, 44160 - i32.add $200=, $217, $200 - i32.store $discard=, 0($1), $200 - i32.const $push99=, 64 - i32.add $1=, $217, $pop99 - i32.const $201=, 46160 - i32.add $201=, $217, $201 - i32.store $discard=, 0($1), $201 - i32.const $push98=, 60 - i32.add $1=, $217, $pop98 - i32.const $202=, 48160 - i32.add $202=, $217, $202 - i32.store $discard=, 0($1), $202 - i32.const $push97=, 56 - i32.add $1=, $217, $pop97 - i32.const $203=, 50160 - i32.add $203=, $217, $203 - i32.store $discard=, 0($1), $203 - i32.const $push96=, 52 - i32.add $1=, $217, $pop96 - i32.const $204=, 52160 - i32.add $204=, $217, $204 - i32.store $discard=, 0($1), $204 - i32.const $push95=, 48 - i32.add $1=, $217, $pop95 - i32.const $205=, 54160 - i32.add $205=, $217, $205 - i32.store $discard=, 0($1), $205 - i32.const $push94=, 44 - i32.add $1=, $217, $pop94 - i32.const $206=, 56160 - i32.add $206=, $217, $206 - i32.store $discard=, 0($1), $206 - i32.const $push93=, 40 - i32.add $1=, $217, $pop93 - i32.const $207=, 58160 - i32.add $207=, $217, $207 - i32.store $discard=, 0($1), $207 - i32.const $push92=, 36 - i32.add $1=, $217, $pop92 - i32.const $208=, 60160 - i32.add $208=, $217, $208 - i32.store $discard=, 0($1), $208 - i32.const $push91=, 32 - i32.add $1=, $217, $pop91 - i32.const $209=, 62160 - i32.add $209=, $217, $209 - i32.store $discard=, 0($1), $209 - i32.const $push90=, 28 - i32.add $1=, $217, $pop90 - i32.const $210=, 64160 - i32.add $210=, $217, $210 - i32.store $discard=, 0($1), $210 - i32.const $push89=, 24 - i32.add $1=, $217, $pop89 - i32.const $211=, 66160 - i32.add $211=, $217, $211 - i32.store $discard=, 0($1), $211 - i32.const $push88=, 20 - i32.add $1=, $217, $pop88 - i32.const $212=, 68160 - i32.add $212=, $217, $212 - i32.store $discard=, 0($1), $212 - i32.const $push87=, 16 - i32.add $1=, $217, $pop87 - i32.const $213=, 70160 - i32.add $213=, $217, $213 - i32.store $discard=, 0($1), $213 - i32.const $push86=, 12 - i32.add $1=, $217, $pop86 - i32.const $214=, 72160 - i32.add $214=, $217, $214 - i32.store $discard=, 0($1), $214 - i32.const $push85=, 8 - i32.add $1=, $217, $pop85 - i32.const $215=, 74160 - i32.add $215=, $217, $215 - i32.store $discard=, 0($1), $215 - i32.const $push84=, 4 - i32.add $1=, $217, $pop84 - i32.const $216=, 76160 - i32.add $216=, $217, $216 - i32.store $discard=, 0($1), $216 - i32.const $push83=, 40 - call c@FUNCTION, $pop83 - i32.const $52=, __stack_pointer - i32.load $52=, 0($52) - i32.const $53=, 160 - i32.add $217=, $52, $53 - i32.const $53=, __stack_pointer - i32.store $217=, 0($53), $217 - i32.const $push82=, -1 - i32.add $0=, $0, $pop82 + i32.add $178=, $284, $178 + i32.add $push68=, $178, $pop292 + i32.const $179=, 54480 + i32.add $179=, $284, $179 + i32.store $discard=, 0($pop68):p2align=4, $179 + i32.const $push291=, 44 + i32.const $180=, 160 + i32.add $180=, $284, $180 + i32.add $push69=, $180, $pop291 + i32.const $181=, 56480 + i32.add $181=, $284, $181 + i32.store $discard=, 0($pop69), $181 + i32.const $push290=, 40 + i32.const $182=, 160 + i32.add $182=, $284, $182 + i32.add $push70=, $182, $pop290 + i32.const $183=, 58480 + i32.add $183=, $284, $183 + i32.store $discard=, 0($pop70):p2align=3, $183 + i32.const $push289=, 36 + i32.const $184=, 160 + i32.add $184=, $284, $184 + i32.add $push71=, $184, $pop289 + i32.const $185=, 60480 + i32.add $185=, $284, $185 + i32.store $discard=, 0($pop71), $185 + i32.const $push288=, 32 + i32.const $186=, 160 + i32.add $186=, $284, $186 + i32.add $push72=, $186, $pop288 + i32.const $187=, 62480 + i32.add $187=, $284, $187 + i32.store $discard=, 0($pop72):p2align=4, $187 + i32.const $push287=, 28 + i32.const $188=, 160 + i32.add $188=, $284, $188 + i32.add $push73=, $188, $pop287 + i32.const $189=, 64480 + i32.add $189=, $284, $189 + i32.store $discard=, 0($pop73), $189 + i32.const $push286=, 24 + i32.const $190=, 160 + i32.add $190=, $284, $190 + i32.add $push74=, $190, $pop286 + i32.const $191=, 66480 + i32.add $191=, $284, $191 + i32.store $discard=, 0($pop74):p2align=3, $191 + i32.const $push285=, 20 + i32.const $192=, 160 + i32.add $192=, $284, $192 + i32.add $push75=, $192, $pop285 + i32.const $193=, 68480 + i32.add $193=, $284, $193 + i32.store $discard=, 0($pop75), $193 + i32.const $push284=, 16 + i32.const $194=, 160 + i32.add $194=, $284, $194 + i32.add $push76=, $194, $pop284 + i32.const $195=, 70480 + i32.add $195=, $284, $195 + i32.store $discard=, 0($pop76):p2align=4, $195 + i32.const $push283=, 12 + i32.const $196=, 160 + i32.add $196=, $284, $196 + i32.or $push77=, $196, $pop283 + i32.const $197=, 72480 + i32.add $197=, $284, $197 + i32.store $discard=, 0($pop77), $197 + i32.const $push282=, 8 + i32.const $198=, 160 + i32.add $198=, $284, $198 + i32.or $push78=, $198, $pop282 + i32.const $199=, 74480 + i32.add $199=, $284, $199 + i32.store $discard=, 0($pop78):p2align=3, $199 + i32.const $push281=, 4 + i32.const $200=, 160 + i32.add $200=, $284, $200 + i32.or $push79=, $200, $pop281 + i32.const $201=, 76480 + i32.add $201=, $284, $201 + i32.store $discard=, 0($pop79), $201 + i32.const $202=, 78480 + i32.add $202=, $284, $202 + i32.store $discard=, 160($284):p2align=4, $202 + i32.const $push280=, 40 + i32.const $203=, 160 + i32.add $203=, $284, $203 + call z@FUNCTION, $pop280, $203 + i32.const $push279=, 2 + i32.shl $push80=, $1, $pop279 + i32.const $204=, 78480 + i32.add $204=, $284, $204 + i32.add $push81=, $204, $pop80 + i32.store $discard=, 0($pop81), $1 + i32.const $push278=, 2 + i32.shl $push82=, $2, $pop278 + i32.const $205=, 76480 + i32.add $205=, $284, $205 + i32.add $push83=, $205, $pop82 + i32.store $discard=, 0($pop83), $2 + i32.const $push277=, 2 + i32.shl $push84=, $3, $pop277 + i32.const $206=, 74480 + i32.add $206=, $284, $206 + i32.add $push85=, $206, $pop84 + i32.store $discard=, 0($pop85), $3 + i32.const $push276=, 2 + i32.shl $push86=, $4, $pop276 + i32.const $207=, 72480 + i32.add $207=, $284, $207 + i32.add $push87=, $207, $pop86 + i32.store $discard=, 0($pop87), $4 + i32.const $push275=, 2 + i32.shl $push88=, $5, $pop275 + i32.const $208=, 70480 + i32.add $208=, $284, $208 + i32.add $push89=, $208, $pop88 + i32.store $discard=, 0($pop89), $5 + i32.const $push274=, 2 + i32.shl $push90=, $6, $pop274 + i32.const $209=, 68480 + i32.add $209=, $284, $209 + i32.add $push91=, $209, $pop90 + i32.store $discard=, 0($pop91), $6 + i32.const $push273=, 2 + i32.shl $push92=, $7, $pop273 + i32.const $210=, 66480 + i32.add $210=, $284, $210 + i32.add $push93=, $210, $pop92 + i32.store $discard=, 0($pop93), $7 + i32.const $push272=, 2 + i32.shl $push94=, $8, $pop272 + i32.const $211=, 64480 + i32.add $211=, $284, $211 + i32.add $push95=, $211, $pop94 + i32.store $discard=, 0($pop95), $8 + i32.const $push271=, 2 + i32.shl $push96=, $9, $pop271 + i32.const $212=, 62480 + i32.add $212=, $284, $212 + i32.add $push97=, $212, $pop96 + i32.store $discard=, 0($pop97), $9 + i32.const $push270=, 2 + i32.shl $push98=, $10, $pop270 + i32.const $213=, 60480 + i32.add $213=, $284, $213 + i32.add $push99=, $213, $pop98 + i32.store $discard=, 0($pop99), $10 + i32.const $push269=, 2 + i32.shl $push100=, $11, $pop269 + i32.const $214=, 58480 + i32.add $214=, $284, $214 + i32.add $push101=, $214, $pop100 + i32.store $discard=, 0($pop101), $11 + i32.const $push268=, 2 + i32.shl $push102=, $12, $pop268 + i32.const $215=, 56480 + i32.add $215=, $284, $215 + i32.add $push103=, $215, $pop102 + i32.store $discard=, 0($pop103), $12 + i32.const $push267=, 2 + i32.shl $push104=, $13, $pop267 + i32.const $216=, 54480 + i32.add $216=, $284, $216 + i32.add $push105=, $216, $pop104 + i32.store $discard=, 0($pop105), $13 + i32.const $push266=, 2 + i32.shl $push106=, $14, $pop266 + i32.const $217=, 52480 + i32.add $217=, $284, $217 + i32.add $push107=, $217, $pop106 + i32.store $discard=, 0($pop107), $14 + i32.const $push265=, 2 + i32.shl $push108=, $15, $pop265 + i32.const $218=, 50480 + i32.add $218=, $284, $218 + i32.add $push109=, $218, $pop108 + i32.store $discard=, 0($pop109), $15 + i32.const $push264=, 2 + i32.shl $push110=, $16, $pop264 + i32.const $219=, 48480 + i32.add $219=, $284, $219 + i32.add $push111=, $219, $pop110 + i32.store $discard=, 0($pop111), $16 + i32.const $push263=, 2 + i32.shl $push112=, $17, $pop263 + i32.const $220=, 46480 + i32.add $220=, $284, $220 + i32.add $push113=, $220, $pop112 + i32.store $discard=, 0($pop113), $17 + i32.const $push262=, 2 + i32.shl $push114=, $18, $pop262 + i32.const $221=, 44480 + i32.add $221=, $284, $221 + i32.add $push115=, $221, $pop114 + i32.store $discard=, 0($pop115), $18 + i32.const $push261=, 2 + i32.shl $push116=, $19, $pop261 + i32.const $222=, 42480 + i32.add $222=, $284, $222 + i32.add $push117=, $222, $pop116 + i32.store $discard=, 0($pop117), $19 + i32.const $push260=, 2 + i32.shl $push118=, $20, $pop260 + i32.const $223=, 40480 + i32.add $223=, $284, $223 + i32.add $push119=, $223, $pop118 + i32.store $discard=, 0($pop119), $20 + i32.const $push259=, 2 + i32.shl $push120=, $21, $pop259 + i32.const $224=, 38480 + i32.add $224=, $284, $224 + i32.add $push121=, $224, $pop120 + i32.store $discard=, 0($pop121), $21 + i32.const $push258=, 2 + i32.shl $push122=, $22, $pop258 + i32.const $225=, 36480 + i32.add $225=, $284, $225 + i32.add $push123=, $225, $pop122 + i32.store $discard=, 0($pop123), $22 + i32.const $push257=, 2 + i32.shl $push124=, $23, $pop257 + i32.const $226=, 34480 + i32.add $226=, $284, $226 + i32.add $push125=, $226, $pop124 + i32.store $discard=, 0($pop125), $23 + i32.const $push256=, 2 + i32.shl $push126=, $24, $pop256 + i32.const $227=, 32480 + i32.add $227=, $284, $227 + i32.add $push127=, $227, $pop126 + i32.store $discard=, 0($pop127), $24 + i32.const $push255=, 2 + i32.shl $push128=, $25, $pop255 + i32.const $228=, 30480 + i32.add $228=, $284, $228 + i32.add $push129=, $228, $pop128 + i32.store $discard=, 0($pop129), $25 + i32.const $push254=, 2 + i32.shl $push130=, $26, $pop254 + i32.const $229=, 28480 + i32.add $229=, $284, $229 + i32.add $push131=, $229, $pop130 + i32.store $discard=, 0($pop131), $26 + i32.const $push253=, 2 + i32.shl $push132=, $27, $pop253 + i32.const $230=, 26480 + i32.add $230=, $284, $230 + i32.add $push133=, $230, $pop132 + i32.store $discard=, 0($pop133), $27 + i32.const $push252=, 2 + i32.shl $push134=, $28, $pop252 + i32.const $231=, 24480 + i32.add $231=, $284, $231 + i32.add $push135=, $231, $pop134 + i32.store $discard=, 0($pop135), $28 + i32.const $push251=, 2 + i32.shl $push136=, $29, $pop251 + i32.const $232=, 22480 + i32.add $232=, $284, $232 + i32.add $push137=, $232, $pop136 + i32.store $discard=, 0($pop137), $29 + i32.const $push250=, 2 + i32.shl $push138=, $30, $pop250 + i32.const $233=, 20480 + i32.add $233=, $284, $233 + i32.add $push139=, $233, $pop138 + i32.store $discard=, 0($pop139), $30 + i32.const $push249=, 2 + i32.shl $push140=, $31, $pop249 + i32.const $234=, 18480 + i32.add $234=, $284, $234 + i32.add $push141=, $234, $pop140 + i32.store $discard=, 0($pop141), $31 + i32.const $push248=, 2 + i32.shl $push142=, $32, $pop248 + i32.const $235=, 16480 + i32.add $235=, $284, $235 + i32.add $push143=, $235, $pop142 + i32.store $discard=, 0($pop143), $32 + i32.const $push247=, 2 + i32.shl $push144=, $33, $pop247 + i32.const $236=, 14480 + i32.add $236=, $284, $236 + i32.add $push145=, $236, $pop144 + i32.store $discard=, 0($pop145), $33 + i32.const $push246=, 2 + i32.shl $push146=, $34, $pop246 + i32.const $237=, 12480 + i32.add $237=, $284, $237 + i32.add $push147=, $237, $pop146 + i32.store $discard=, 0($pop147), $34 + i32.const $push245=, 2 + i32.shl $push148=, $35, $pop245 + i32.const $238=, 10480 + i32.add $238=, $284, $238 + i32.add $push149=, $238, $pop148 + i32.store $discard=, 0($pop149), $35 + i32.const $push244=, 2 + i32.shl $push150=, $36, $pop244 + i32.const $239=, 8480 + i32.add $239=, $284, $239 + i32.add $push151=, $239, $pop150 + i32.store $discard=, 0($pop151), $36 + i32.const $push243=, 2 + i32.shl $push152=, $37, $pop243 + i32.const $240=, 6480 + i32.add $240=, $284, $240 + i32.add $push153=, $240, $pop152 + i32.store $discard=, 0($pop153), $37 + i32.const $push242=, 2 + i32.shl $push154=, $38, $pop242 + i32.const $241=, 4480 + i32.add $241=, $284, $241 + i32.add $push155=, $241, $pop154 + i32.store $discard=, 0($pop155), $38 + i32.const $push241=, 2 + i32.shl $push156=, $39, $pop241 + i32.const $242=, 2480 + i32.add $242=, $284, $242 + i32.add $push157=, $242, $pop156 + i32.store $discard=, 0($pop157), $39 + i32.const $push240=, 2 + i32.shl $push158=, $40, $pop240 + i32.const $243=, 480 + i32.add $243=, $284, $243 + i32.add $push159=, $243, $pop158 + i32.store $discard=, 0($pop159), $40 + i32.const $push239=, 156 + i32.add $push160=, $284, $pop239 + i32.const $244=, 480 + i32.add $244=, $284, $244 + i32.store $discard=, 0($pop160), $244 + i32.const $push238=, 152 + i32.add $push161=, $284, $pop238 + i32.const $245=, 2480 + i32.add $245=, $284, $245 + i32.store $discard=, 0($pop161):p2align=3, $245 + i32.const $push237=, 148 + i32.add $push162=, $284, $pop237 + i32.const $246=, 4480 + i32.add $246=, $284, $246 + i32.store $discard=, 0($pop162), $246 + i32.const $push236=, 144 + i32.add $push163=, $284, $pop236 + i32.const $247=, 6480 + i32.add $247=, $284, $247 + i32.store $discard=, 0($pop163):p2align=4, $247 + i32.const $push235=, 140 + i32.add $push164=, $284, $pop235 + i32.const $248=, 8480 + i32.add $248=, $284, $248 + i32.store $discard=, 0($pop164), $248 + i32.const $push234=, 136 + i32.add $push165=, $284, $pop234 + i32.const $249=, 10480 + i32.add $249=, $284, $249 + i32.store $discard=, 0($pop165):p2align=3, $249 + i32.const $push233=, 132 + i32.add $push166=, $284, $pop233 + i32.const $250=, 12480 + i32.add $250=, $284, $250 + i32.store $discard=, 0($pop166), $250 + i32.const $push232=, 128 + i32.add $push167=, $284, $pop232 + i32.const $251=, 14480 + i32.add $251=, $284, $251 + i32.store $discard=, 0($pop167):p2align=4, $251 + i32.const $push231=, 124 + i32.add $push168=, $284, $pop231 + i32.const $252=, 16480 + i32.add $252=, $284, $252 + i32.store $discard=, 0($pop168), $252 + i32.const $push230=, 120 + i32.add $push169=, $284, $pop230 + i32.const $253=, 18480 + i32.add $253=, $284, $253 + i32.store $discard=, 0($pop169):p2align=3, $253 + i32.const $push229=, 116 + i32.add $push170=, $284, $pop229 + i32.const $254=, 20480 + i32.add $254=, $284, $254 + i32.store $discard=, 0($pop170), $254 + i32.const $push228=, 112 + i32.add $push171=, $284, $pop228 + i32.const $255=, 22480 + i32.add $255=, $284, $255 + i32.store $discard=, 0($pop171):p2align=4, $255 + i32.const $push227=, 108 + i32.add $push172=, $284, $pop227 + i32.const $256=, 24480 + i32.add $256=, $284, $256 + i32.store $discard=, 0($pop172), $256 + i32.const $push226=, 104 + i32.add $push173=, $284, $pop226 + i32.const $257=, 26480 + i32.add $257=, $284, $257 + i32.store $discard=, 0($pop173):p2align=3, $257 + i32.const $push225=, 100 + i32.add $push174=, $284, $pop225 + i32.const $258=, 28480 + i32.add $258=, $284, $258 + i32.store $discard=, 0($pop174), $258 + i32.const $push224=, 96 + i32.add $push175=, $284, $pop224 + i32.const $259=, 30480 + i32.add $259=, $284, $259 + i32.store $discard=, 0($pop175):p2align=4, $259 + i32.const $push223=, 92 + i32.add $push176=, $284, $pop223 + i32.const $260=, 32480 + i32.add $260=, $284, $260 + i32.store $discard=, 0($pop176), $260 + i32.const $push222=, 88 + i32.add $push177=, $284, $pop222 + i32.const $261=, 34480 + i32.add $261=, $284, $261 + i32.store $discard=, 0($pop177):p2align=3, $261 + i32.const $push221=, 84 + i32.add $push178=, $284, $pop221 + i32.const $262=, 36480 + i32.add $262=, $284, $262 + i32.store $discard=, 0($pop178), $262 + i32.const $push220=, 80 + i32.add $push179=, $284, $pop220 + i32.const $263=, 38480 + i32.add $263=, $284, $263 + i32.store $discard=, 0($pop179):p2align=4, $263 + i32.const $push219=, 76 + i32.add $push180=, $284, $pop219 + i32.const $264=, 40480 + i32.add $264=, $284, $264 + i32.store $discard=, 0($pop180), $264 + i32.const $push218=, 72 + i32.add $push181=, $284, $pop218 + i32.const $265=, 42480 + i32.add $265=, $284, $265 + i32.store $discard=, 0($pop181):p2align=3, $265 + i32.const $push217=, 68 + i32.add $push182=, $284, $pop217 + i32.const $266=, 44480 + i32.add $266=, $284, $266 + i32.store $discard=, 0($pop182), $266 + i32.const $push216=, 64 + i32.add $push183=, $284, $pop216 + i32.const $267=, 46480 + i32.add $267=, $284, $267 + i32.store $discard=, 0($pop183):p2align=4, $267 + i32.const $push215=, 60 + i32.add $push184=, $284, $pop215 + i32.const $268=, 48480 + i32.add $268=, $284, $268 + i32.store $discard=, 0($pop184), $268 + i32.const $push214=, 56 + i32.add $push185=, $284, $pop214 + i32.const $269=, 50480 + i32.add $269=, $284, $269 + i32.store $discard=, 0($pop185):p2align=3, $269 + i32.const $push213=, 52 + i32.add $push186=, $284, $pop213 + i32.const $270=, 52480 + i32.add $270=, $284, $270 + i32.store $discard=, 0($pop186), $270 + i32.const $push212=, 48 + i32.add $push187=, $284, $pop212 + i32.const $271=, 54480 + i32.add $271=, $284, $271 + i32.store $discard=, 0($pop187):p2align=4, $271 + i32.const $push211=, 44 + i32.add $push188=, $284, $pop211 + i32.const $272=, 56480 + i32.add $272=, $284, $272 + i32.store $discard=, 0($pop188), $272 + i32.const $push210=, 40 + i32.add $push189=, $284, $pop210 + i32.const $273=, 58480 + i32.add $273=, $284, $273 + i32.store $discard=, 0($pop189):p2align=3, $273 + i32.const $push209=, 36 + i32.add $push190=, $284, $pop209 + i32.const $274=, 60480 + i32.add $274=, $284, $274 + i32.store $discard=, 0($pop190), $274 + i32.const $push208=, 32 + i32.add $push191=, $284, $pop208 + i32.const $275=, 62480 + i32.add $275=, $284, $275 + i32.store $discard=, 0($pop191):p2align=4, $275 + i32.const $push207=, 28 + i32.add $push192=, $284, $pop207 + i32.const $276=, 64480 + i32.add $276=, $284, $276 + i32.store $discard=, 0($pop192), $276 + i32.const $push206=, 24 + i32.add $push193=, $284, $pop206 + i32.const $277=, 66480 + i32.add $277=, $284, $277 + i32.store $discard=, 0($pop193):p2align=3, $277 + i32.const $push205=, 20 + i32.add $push194=, $284, $pop205 + i32.const $278=, 68480 + i32.add $278=, $284, $278 + i32.store $discard=, 0($pop194), $278 + i32.const $push204=, 16 + i32.add $push195=, $284, $pop204 + i32.const $279=, 70480 + i32.add $279=, $284, $279 + i32.store $discard=, 0($pop195):p2align=4, $279 + i32.const $push203=, 12 + i32.or $push196=, $284, $pop203 + i32.const $280=, 72480 + i32.add $280=, $284, $280 + i32.store $discard=, 0($pop196), $280 + i32.const $push202=, 8 + i32.or $push197=, $284, $pop202 + i32.const $281=, 74480 + i32.add $281=, $284, $281 + i32.store $discard=, 0($pop197):p2align=3, $281 + i32.const $push201=, 4 + i32.or $push198=, $284, $pop201 + i32.const $282=, 76480 + i32.add $282=, $284, $282 + i32.store $discard=, 0($pop198), $282 + i32.const $283=, 78480 + i32.add $283=, $284, $283 + i32.store $discard=, 0($284):p2align=4, $283 + i32.const $push200=, 40 + call c@FUNCTION, $pop200, $284 + i32.const $push199=, -1 + i32.add $0=, $0, $pop199 br_if 0, $0 # 0: up to label1 .LBB0_2: # %for.end end_loop # label2: end_block # label0: - i32.const $56=, 80160 - i32.add $217=, $217, $56 - i32.const $56=, __stack_pointer - i32.store $217=, 0($56), $217 + i32.const $43=, 80480 + i32.add $284=, $284, $43 + i32.const $43=, __stack_pointer + i32.store $284=, 0($43), $284 return .endfunc .Lfunc_end0: @@ -957,17 +1081,16 @@ f: # @f .globl s .type s,@function s: # @s - .param i32 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $2=, __stack_pointer i32.load $2=, 0($2) i32.const $3=, 16 i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer i32.store $5=, 0($3), $5 - i32.store $discard=, 12($5), $6 + i32.store $discard=, 12($5), $1 block i32.const $push14=, 0 i32.eq $push15=, $0, $pop14 @@ -998,7 +1121,7 @@ s: # @s end_loop # label5: end_block # label3: i32.const $4=, 16 - i32.add $5=, $6, $4 + i32.add $5=, $5, $4 i32.const $4=, __stack_pointer i32.store $5=, 0($4), $5 return @@ -1011,17 +1134,16 @@ s: # @s .globl z .type z,@function z: # @z - .param i32 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $2=, __stack_pointer i32.load $2=, 0($2) i32.const $3=, 16 i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer i32.store $5=, 0($3), $5 - i32.store $discard=, 12($5), $6 + i32.store $discard=, 12($5), $1 block i32.const $push12=, 0 i32.eq $push13=, $0, $pop12 @@ -1049,7 +1171,7 @@ z: # @z end_loop # label8: end_block # label6: i32.const $4=, 16 - i32.add $5=, $6, $4 + i32.add $5=, $5, $4 i32.const $4=, __stack_pointer i32.store $5=, 0($4), $5 return @@ -1062,17 +1184,16 @@ z: # @z .globl c .type c,@function c: # @c - .param i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $3=, __stack_pointer i32.load $3=, 0($3) i32.const $4=, 16 i32.sub $6=, $3, $4 - copy_local $7=, $6 i32.const $4=, __stack_pointer i32.store $6=, 0($4), $6 - i32.store $discard=, 12($6), $7 + i32.store $discard=, 12($6), $1 i32.const $push0=, 2 i32.shl $push1=, $0, $pop0 i32.const $push9=, -4 @@ -1111,7 +1232,7 @@ c: # @c .LBB3_4: # %while.end end_block # label9: i32.const $5=, 16 - i32.add $6=, $7, $5 + i32.add $6=, $6, $5 i32.const $5=, __stack_pointer i32.store $6=, 0($5), $6 return diff --git a/test/torture-s/pr41239.c.s b/test/torture-s/pr41239.c.s index d78201662..13a68acfd 100644 --- a/test/torture-s/pr41239.c.s +++ b/test/torture-s/pr41239.c.s @@ -7,60 +7,49 @@ test: # @test .param i32 .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 16 - i32.sub $11=, $8, $9 - i32.const $9=, __stack_pointer - i32.store $11=, 0($9), $11 + 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.load $1=, 4($0) block i32.const $push1=, 8 i32.add $push2=, $0, $pop1 i32.load $push0=, 0($pop2) - tee_local $push13=, $0=, $pop0 - br_if 0, $pop13 # 0: down to label0 + tee_local $push14=, $0=, $pop0 + br_if 0, $pop14 # 0: down to label0 # BB#1: # %if.then - i32.const $push7=, 20 + i32.const $push6=, 20 i32.const $push4=, .L.str - i32.const $push6=, 924 + i32.const $push5=, 924 i32.const $push3=, .L__func__.test - i32.const $push5=, 0 - i32.call $2=, fn1@FUNCTION, $pop7, $pop4, $pop6, $pop3, $pop5 + i32.const $push15=, 0 + i32.call $push7=, fn1@FUNCTION, $pop6, $pop4, $pop5, $pop3, $pop15 i32.const $push8=, 255 - i32.and $push9=, $2, $pop8 - i32.const $push14=, 0 - i32.eq $push15=, $pop9, $pop14 - br_if 0, $pop15 # 0: down to label0 + i32.and $push9=, $pop7, $pop8 + i32.const $push17=, 0 + i32.eq $push18=, $pop9, $pop17 + br_if 0, $pop18 # 0: down to label0 # BB#2: # %cond.true i32.const $push10=, 33816706 i32.call $2=, fn3@FUNCTION, $pop10 i32.const $push11=, .L.str.1 - i32.call $3=, fn4@FUNCTION, $pop11 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 4 - i32.sub $11=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $11=, 0($5), $11 - i32.store $discard=, 0($11), $3 - call fn2@FUNCTION, $2 - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 4 - i32.add $11=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $11=, 0($7), $11 + i32.const $push16=, 0 + i32.call $push12=, fn4@FUNCTION, $pop11, $pop16 + i32.store $discard=, 0($6):p2align=4, $pop12 + call fn2@FUNCTION, $2, $6 .LBB0_3: # %if.end end_block # label0: - i32.div_s $push12=, $1, $0 - i32.const $10=, 16 - i32.add $11=, $11, $10 - i32.const $10=, __stack_pointer - i32.store $11=, 0($10), $11 - return $pop12 + i32.div_s $push13=, $1, $0 + i32.const $5=, 16 + i32.add $6=, $6, $5 + i32.const $5=, __stack_pointer + i32.store $6=, 0($5), $6 + return $pop13 .endfunc .Lfunc_end0: .size test, .Lfunc_end0-test @@ -91,7 +80,7 @@ fn1: # @fn1 .globl fn2 .type fn2,@function fn2: # @fn2 - .param i32 + .param i32, i32 # BB#0: # %entry #APP #NO_APP @@ -128,7 +117,7 @@ fn3: # @fn3 .globl fn4 .type fn4,@function fn4: # @fn4 - .param i32 + .param i32, i32 .result i32 # BB#0: # %entry #APP diff --git a/test/torture-s/pr44942.c.s b/test/torture-s/pr44942.c.s index 1242033ea..a9bfd4522 100644 --- a/test/torture-s/pr44942.c.s +++ b/test/torture-s/pr44942.c.s @@ -5,17 +5,16 @@ .globl test1 .type test1,@function test1: # @test1 - .param i32, i32, i32, i32, i32, i32, i32, i64, i64 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i64, i64, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $10=, __stack_pointer i32.load $10=, 0($10) i32.const $11=, 16 i32.sub $13=, $10, $11 - copy_local $14=, $13 i32.const $11=, __stack_pointer i32.store $13=, 0($11), $13 - i32.store $push0=, 12($13), $14 + i32.store $push0=, 12($13), $9 i32.const $push1=, 3 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -4 @@ -31,7 +30,7 @@ test1: # @test1 br_if 0, $pop9 # 0: down to label0 # BB#1: # %if.end i32.const $12=, 16 - i32.add $13=, $14, $12 + i32.add $13=, $13, $12 i32.const $12=, __stack_pointer i32.store $13=, 0($12), $13 return @@ -48,17 +47,16 @@ test1: # @test1 .globl test2 .type test2,@function test2: # @test2 - .param i32, i32, i32, i32, i32, i32, i32, i64, i64, i32, i64, i64, i32, i64, i64, i32, i64, i64 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i64, i64, i32, i64, i64, i32, i64, i64, i32, i64, i64, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $19=, __stack_pointer i32.load $19=, 0($19) i32.const $20=, 16 i32.sub $22=, $19, $20 - copy_local $23=, $22 i32.const $20=, __stack_pointer i32.store $22=, 0($20), $22 - i32.store $push0=, 12($22), $23 + i32.store $push0=, 12($22), $18 i32.const $push1=, 3 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -4 @@ -74,7 +72,7 @@ test2: # @test2 br_if 0, $pop9 # 0: down to label1 # BB#1: # %if.end i32.const $21=, 16 - i32.add $22=, $23, $21 + i32.add $22=, $22, $21 i32.const $21=, __stack_pointer i32.store $22=, 0($21), $22 return @@ -91,17 +89,16 @@ test2: # @test2 .globl test3 .type test3,@function test3: # @test3 - .param f64, f64, f64, f64, f64, f64, f64, i64, i64 - .local i32, i32, i32, i32, i32, i32 + .param f64, f64, f64, f64, f64, f64, f64, i64, i64, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $10=, __stack_pointer i32.load $10=, 0($10) i32.const $11=, 16 i32.sub $13=, $10, $11 - copy_local $14=, $13 i32.const $11=, __stack_pointer i32.store $13=, 0($11), $13 - i32.store $push0=, 12($13), $14 + i32.store $push0=, 12($13), $9 i32.const $push1=, 7 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -8 @@ -117,7 +114,7 @@ test3: # @test3 br_if 0, $pop9 # 0: down to label2 # BB#1: # %if.end i32.const $12=, 16 - i32.add $13=, $14, $12 + i32.add $13=, $13, $12 i32.const $12=, __stack_pointer i32.store $13=, 0($12), $13 return @@ -134,17 +131,16 @@ test3: # @test3 .globl test4 .type test4,@function test4: # @test4 - .param f64, f64, f64, f64, f64, f64, f64, i64, i64, f64, i64, i64, f64, i64, i64, f64, i64, i64 - .local i32, i32, i32, i32, i32, i32 + .param f64, f64, f64, f64, f64, f64, f64, i64, i64, f64, i64, i64, f64, i64, i64, f64, i64, i64, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $19=, __stack_pointer i32.load $19=, 0($19) i32.const $20=, 16 i32.sub $22=, $19, $20 - copy_local $23=, $22 i32.const $20=, __stack_pointer i32.store $22=, 0($20), $22 - i32.store $push0=, 12($22), $23 + i32.store $push0=, 12($22), $18 i32.const $push1=, 7 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -8 @@ -160,7 +156,7 @@ test4: # @test4 br_if 0, $pop9 # 0: down to label3 # BB#1: # %if.end i32.const $21=, 16 - i32.add $22=, $23, $21 + i32.add $22=, $22, $21 i32.const $21=, __stack_pointer i32.store $22=, 0($21), $22 return @@ -178,86 +174,50 @@ test4: # @test4 .type main,@function main: # @main .result i32 - .local i32, i32, i64, f64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i64, f64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $20=, __stack_pointer - i32.load $20=, 0($20) - i32.const $21=, 48 - i32.sub $23=, $20, $21 - i32.const $21=, __stack_pointer - i32.store $23=, 0($21), $23 + i32.const $3=, __stack_pointer + i32.load $3=, 0($3) + i32.const $4=, 128 + i32.sub $12=, $3, $4 i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 16 - i32.sub $23=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $23=, 0($5), $23 + i32.store $12=, 0($4), $12 i32.const $push0=, 8 - i32.add $0=, $23, $pop0 - i32.const $push1=, 1234 - i32.store $0=, 0($0), $pop1 - call test1@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $2 - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 16 - i32.add $23=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $23=, 0($7), $23 - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 40 - i32.sub $23=, $8, $9 - i32.const $9=, __stack_pointer - i32.store $23=, 0($9), $23 - i32.const $push2=, 32 - i32.add $1=, $23, $pop2 - i32.store $discard=, 0($1), $0 - call test2@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $2, $2, $0, $2, $2, $0, $2 - i32.const $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 40 - i32.add $23=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $23=, 0($11), $23 - i32.const $12=, __stack_pointer - i32.load $12=, 0($12) - i32.const $13=, 16 - i32.sub $23=, $12, $13 - i32.const $13=, __stack_pointer - i32.store $23=, 0($13), $23 - i32.const $push6=, 8 - i32.add $0=, $23, $pop6 - i64.const $push3=, 4653142004841054208 - i64.store $2=, 0($0), $pop3 - call test3@FUNCTION, $3, $3, $3, $3, $3, $3, $3, $2 - i32.const $14=, __stack_pointer - i32.load $14=, 0($14) - i32.const $15=, 16 - i32.add $23=, $14, $15 - i32.const $15=, __stack_pointer - i32.store $23=, 0($15), $23 - i32.const $16=, __stack_pointer - i32.load $16=, 0($16) - i32.const $17=, 40 - i32.sub $23=, $16, $17 - i32.const $17=, __stack_pointer - i32.store $23=, 0($17), $23 - i32.const $push5=, 32 - i32.add $0=, $23, $pop5 - i64.store $discard=, 0($0), $2 - call test4@FUNCTION, $3, $3, $3, $3, $3, $3, $3, $2, $2, $3, $2, $2, $3, $2 - i32.const $18=, __stack_pointer - i32.load $18=, 0($18) - i32.const $19=, 40 - i32.add $23=, $18, $19 - i32.const $19=, __stack_pointer - i32.store $23=, 0($19), $23 - i32.const $push4=, 0 - i32.const $22=, 48 - i32.add $23=, $23, $22 - i32.const $22=, __stack_pointer - i32.store $23=, 0($22), $23 - return $pop4 + i32.const $6=, 112 + i32.add $6=, $12, $6 + i32.or $push1=, $6, $pop0 + i32.const $push2=, 1234 + i32.store $0=, 0($pop1):p2align=3, $pop2 + i32.const $7=, 112 + i32.add $7=, $12, $7 + call test1@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $1, $7 + i32.const $push3=, 32 + i32.const $8=, 64 + i32.add $8=, $12, $8 + i32.add $push4=, $8, $pop3 + i32.store $discard=, 0($pop4):p2align=4, $0 + i32.const $9=, 64 + i32.add $9=, $12, $9 + call test2@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $1, $1, $0, $1, $1, $0, $1, $9 + i32.const $push10=, 8 + i32.const $10=, 48 + i32.add $10=, $12, $10 + i32.or $push5=, $10, $pop10 + i64.const $push6=, 4653142004841054208 + i64.store $1=, 0($pop5), $pop6 + i32.const $11=, 48 + i32.add $11=, $12, $11 + call test3@FUNCTION, $2, $2, $2, $2, $2, $2, $2, $1, $11 + i32.const $push9=, 32 + i32.add $push7=, $12, $pop9 + i64.store $discard=, 0($pop7):p2align=4, $1 + call test4@FUNCTION, $2, $2, $2, $2, $2, $2, $2, $1, $1, $2, $1, $1, $2, $1, $12 + i32.const $push8=, 0 + i32.const $5=, 128 + i32.add $12=, $12, $5 + i32.const $5=, __stack_pointer + i32.store $12=, 0($5), $12 + return $pop8 .endfunc .Lfunc_end4: .size main, .Lfunc_end4-main diff --git a/test/torture-s/pr56205.c.s b/test/torture-s/pr56205.c.s index 89b855826..ba1a94c7f 100644 --- a/test/torture-s/pr56205.c.s +++ b/test/torture-s/pr56205.c.s @@ -5,110 +5,91 @@ .globl f4 .type f4,@function f4: # @f4 - .param i32, i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 16 - i32.sub $16=, $13, $14 - copy_local $17=, $16 - i32.const $14=, __stack_pointer - i32.store $16=, 0($14), $16 - i32.store $discard=, 12($16), $17 + i32.const $5=, __stack_pointer + i32.load $5=, 0($5) + i32.const $6=, 32 + i32.sub $11=, $5, $6 + i32.const $6=, __stack_pointer + i32.store $11=, 0($6), $11 + i32.store $discard=, 28($11), $2 block br_if 0, $0 # 0: down to label0 # BB#1: # %entry - i32.const $push18=, 0 - i32.load8_u $push1=, c($pop18):p2align=4 + i32.const $push22=, 0 + i32.load8_u $push1=, c($pop22):p2align=4 i32.const $push2=, 255 i32.and $push3=, $pop1, $pop2 br_if 0, $pop3 # 0: down to label0 # BB#2: # %if.then i32.const $push4=, 0 - i32.const $push19=, 0 - i32.load $push5=, b($pop19) + i32.const $push23=, 0 + i32.load $push5=, b($pop23) i32.const $push6=, 1 i32.add $push7=, $pop5, $pop6 i32.store $discard=, b($pop4), $pop7 .LBB0_3: # %if.end end_block # label0: - i32.const $push22=, .L.str.3 + i32.const $push26=, .L.str.3 i32.const $push8=, .L.str.1 - i32.select $0=, $pop22, $pop8, $0 - i32.load $2=, 12($16) - i32.const $push21=, 0 - i32.const $push20=, 0 - i32.load $push9=, a($pop20) + i32.select $0=, $pop26, $pop8, $0 + i32.load $3=, 28($11) + i32.const $push25=, 0 + i32.const $push24=, 0 + i32.load $push9=, a($pop24) i32.const $push10=, 1 i32.add $push0=, $pop9, $pop10 - i32.store $3=, a($pop21), $pop0 + i32.store $2=, a($pop25), $pop0 block block - i32.const $push25=, 0 - i32.eq $push26=, $1, $pop25 - br_if 0, $pop26 # 0: down to label2 + i32.const $push29=, 0 + i32.eq $push30=, $1, $pop29 + br_if 0, $pop30 # 0: down to label2 # BB#4: # %land.rhs.i i32.load8_u $4=, 0($1) - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 12 - i32.sub $16=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $16=, 0($6), $16 - i32.store $discard=, 0($16), $0 - i32.const $push13=, 8 - i32.add $0=, $16, $pop13 + i32.const $push13=, 4 + i32.const $8=, 16 + i32.add $8=, $11, $8 + i32.or $push14=, $8, $pop13 + i32.store $discard=, 0($pop14), $2 + i32.const $push15=, 8 + i32.const $9=, 16 + i32.add $9=, $11, $9 + i32.or $push16=, $9, $pop15 i32.const $push11=, .L.str.4 - i32.const $push23=, .L.str.3 - i32.select $push12=, $pop11, $pop23, $4 - i32.store $discard=, 0($0), $pop12 - i32.const $push14=, 4 - i32.add $0=, $16, $pop14 - i32.store $discard=, 0($0), $3 - call f1@FUNCTION, $1 - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 12 - i32.add $16=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $16=, 0($8), $16 - i32.load8_u $push15=, 0($1) - i32.const $push27=, 0 - i32.eq $push28=, $pop15, $pop27 - br_if 1, $pop28 # 1: down to label1 + i32.const $push27=, .L.str.3 + i32.select $push12=, $pop11, $pop27, $4 + i32.store $discard=, 0($pop16):p2align=3, $pop12 + i32.store $discard=, 16($11):p2align=4, $0 + i32.const $10=, 16 + i32.add $10=, $11, $10 + call f1@FUNCTION, $1, $10 + i32.load8_u $push17=, 0($1) + i32.const $push31=, 0 + i32.eq $push32=, $pop17, $pop31 + br_if 1, $pop32 # 1: down to label1 # BB#5: # %if.then.i - call f2@FUNCTION, $1, $2 + call f2@FUNCTION, $1, $3 br 1 # 1: down to label1 .LBB0_6: # %if.end.critedge.i end_block # label2: - i32.const $9=, __stack_pointer - i32.load $9=, 0($9) - i32.const $10=, 12 - i32.sub $16=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $16=, 0($10), $16 - i32.store $discard=, 0($16), $0 - i32.const $push16=, 8 - i32.add $1=, $16, $pop16 - i32.const $push24=, .L.str.3 - i32.store $discard=, 0($1), $pop24 - i32.const $push17=, 4 - i32.add $1=, $16, $pop17 - i32.store $discard=, 0($1), $3 - call f1@FUNCTION, $1 - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 12 - i32.add $16=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $16=, 0($12), $16 + i32.const $push18=, 8 + i32.or $push19=, $11, $pop18 + i32.const $push28=, .L.str.3 + i32.store $discard=, 0($pop19):p2align=3, $pop28 + i32.const $push20=, 4 + i32.or $push21=, $11, $pop20 + i32.store $discard=, 0($pop21), $2 + i32.store $discard=, 0($11):p2align=4, $0 + call f1@FUNCTION, $1, $11 .LBB0_7: # %f3.exit end_block # label1: - i32.const $15=, 16 - i32.add $16=, $17, $15 - i32.const $15=, __stack_pointer - i32.store $16=, 0($15), $16 + i32.const $7=, 32 + i32.add $11=, $11, $7 + i32.const $7=, __stack_pointer + i32.store $11=, 0($7), $11 return .endfunc .Lfunc_end0: @@ -120,60 +101,48 @@ f4: # @f4 .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 32 - i32.sub $8=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $8=, 0($6), $8 + i32.const $0=, __stack_pointer + i32.load $0=, 0($0) + i32.const $1=, 32 + i32.sub $3=, $0, $1 + i32.const $1=, __stack_pointer + i32.store $3=, 0($1), $3 #APP #NO_APP - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 24 - i32.sub $8=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $8=, 0($2), $8 - i32.const $push1=, .L.str.1 - i32.store $discard=, 0($8), $pop1 - i32.const $push2=, 16 - i32.add $0=, $8, $pop2 + i32.const $push1=, 16 + i32.add $push2=, $3, $pop1 i32.const $push3=, 26 - i32.store $discard=, 0($0), $pop3 + i32.store $discard=, 0($pop2):p2align=4, $pop3 i32.const $push4=, 8 - i32.add $0=, $8, $pop4 - i64.const $push5=, 4622945017495814144 - i64.store $discard=, 0($0), $pop5 - i32.const $push13=, 0 - i32.const $push6=, .L.str - call f4@FUNCTION, $pop13, $pop6 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 24 - i32.add $8=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $8=, 0($4), $8 + i32.or $push5=, $3, $pop4 + i64.const $push6=, 4622945017495814144 + i64.store $discard=, 0($pop5), $pop6 + i32.const $push7=, .L.str.1 + i32.store $discard=, 0($3):p2align=4, $pop7 + i32.const $push15=, 0 + i32.const $push8=, .L.str + call f4@FUNCTION, $pop15, $pop8, $3 block - i32.const $push12=, 0 - i32.load $push7=, a($pop12) - i32.const $push11=, 1 - i32.ne $push8=, $pop7, $pop11 - br_if 0, $pop8 # 0: down to label3 + i32.const $push14=, 0 + i32.load $push9=, a($pop14) + i32.const $push13=, 1 + i32.ne $push10=, $pop9, $pop13 + br_if 0, $pop10 # 0: down to label3 # BB#1: # %entry - i32.const $push15=, 0 - i32.load $push0=, b($pop15) - i32.const $push14=, 1 - i32.ne $push9=, $pop0, $pop14 - br_if 0, $pop9 # 0: down to label3 + i32.const $push17=, 0 + i32.load $push0=, b($pop17) + i32.const $push16=, 1 + i32.ne $push11=, $pop0, $pop16 + br_if 0, $pop11 # 0: down to label3 # BB#2: # %if.end - i32.const $push10=, 0 - i32.const $7=, 32 - i32.add $8=, $8, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 - return $pop10 + i32.const $push12=, 0 + i32.const $2=, 32 + i32.add $3=, $3, $2 + i32.const $2=, __stack_pointer + i32.store $3=, 0($2), $3 + return $pop12 .LBB1_3: # %if.then end_block # label3: call abort@FUNCTION @@ -185,19 +154,18 @@ main: # @main .section .text.f1,"ax",@progbits .type f1,@function f1: # @f1 - .param i32 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $2=, __stack_pointer i32.load $2=, 0($2) i32.const $3=, 16 i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer i32.store $5=, 0($3), $5 #APP #NO_APP - i32.store $push0=, 12($5), $6 + i32.store $push0=, 12($5), $1 i32.const $push27=, 3 i32.add $push1=, $pop0, $pop27 i32.const $push26=, -4 @@ -241,7 +209,7 @@ f1: # @f1 br_if 0, $pop23 # 0: down to label4 # BB#3: # %if.end9 i32.const $4=, 16 - i32.add $5=, $6, $4 + i32.add $5=, $5, $4 i32.const $4=, __stack_pointer i32.store $5=, 0($4), $5 return diff --git a/test/torture-s/printf-1.c.s b/test/torture-s/printf-1.c.s index 2ef8aefd3..312c4aebe 100644 --- a/test/torture-s/printf-1.c.s +++ b/test/torture-s/printf-1.c.s @@ -6,270 +6,152 @@ .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, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, 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, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $50=, __stack_pointer - i32.load $50=, 0($50) - i32.const $51=, 16 - i32.sub $53=, $50, $51 - i32.const $51=, __stack_pointer - i32.store $53=, 0($51), $53 - i32.const $push32=, .Lstr - i32.call $discard=, printf@FUNCTION, $pop32 - i32.const $push31=, .Lstr - i32.call $0=, printf@FUNCTION, $pop31 + i32.const $1=, __stack_pointer + i32.load $1=, 0($1) + i32.const $2=, 192 + i32.sub $15=, $1, $2 + i32.const $2=, __stack_pointer + i32.store $15=, 0($2), $15 + i32.const $push45=, .Lstr + i32.const $push44=, 0 + i32.call $discard=, printf@FUNCTION, $pop45, $pop44 block - i32.const $push0=, 5 - i32.ne $push1=, $0, $pop0 - br_if 0, $pop1 # 0: down to label0 + i32.const $push43=, .Lstr + i32.const $push42=, 0 + i32.call $push0=, printf@FUNCTION, $pop43, $pop42 + i32.const $push1=, 5 + i32.ne $push2=, $pop0, $pop1 + br_if 0, $pop2 # 0: down to label0 # BB#1: # %if.end - i32.const $push33=, .Lstr - i32.call $discard=, puts@FUNCTION, $pop33 - i32.const $push2=, .L.str.1 - i32.call $0=, printf@FUNCTION, $pop2 + i32.const $push47=, .Lstr + i32.call $discard=, puts@FUNCTION, $pop47 block - i32.const $push3=, 6 - i32.ne $push4=, $0, $pop3 - br_if 0, $pop4 # 0: down to label1 + i32.const $push3=, .L.str.1 + i32.const $push46=, 0 + i32.call $push4=, printf@FUNCTION, $pop3, $pop46 + i32.const $push5=, 6 + i32.ne $push6=, $pop4, $pop5 + br_if 0, $pop6 # 0: down to label1 # BB#2: # %if.end6 - i32.const $push5=, 97 - i32.call $discard=, putchar@FUNCTION, $pop5 - i32.const $push6=, .L.str.2 - i32.call $0=, printf@FUNCTION, $pop6 + i32.const $push7=, 97 + i32.call $discard=, putchar@FUNCTION, $pop7 block - i32.const $push7=, 1 - i32.ne $push8=, $0, $pop7 - br_if 0, $pop8 # 0: down to label2 + i32.const $push8=, .L.str.2 + i32.const $push9=, 0 + i32.call $push10=, printf@FUNCTION, $pop8, $pop9 + i32.const $push11=, 1 + i32.ne $push12=, $pop10, $pop11 + br_if 0, $pop12 # 0: down to label2 # BB#3: # %if.end16 - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 4 - i32.sub $53=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $53=, 0($3), $53 - i32.const $push9=, .Lstr - i32.store $0=, 0($53), $pop9 - i32.const $push35=, .L.str.4 - i32.call $discard=, printf@FUNCTION, $pop35 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 4 - i32.add $53=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $53=, 0($5), $53 - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 4 - i32.sub $53=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $53=, 0($7), $53 - i32.store $discard=, 0($53), $0 - i32.const $push34=, .L.str.4 - i32.call $0=, printf@FUNCTION, $pop34 - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 4 - i32.add $53=, $8, $9 - i32.const $9=, __stack_pointer - i32.store $53=, 0($9), $53 + i32.const $push13=, .Lstr + i32.store $0=, 176($15):p2align=4, $pop13 + i32.const $push49=, .L.str.4 + i32.const $4=, 176 + i32.add $4=, $15, $4 + i32.call $discard=, printf@FUNCTION, $pop49, $4 + i32.store $discard=, 160($15):p2align=4, $0 + i32.const $push48=, .L.str.4 + i32.const $5=, 160 + i32.add $5=, $15, $5 block - i32.const $push10=, 5 - i32.ne $push11=, $0, $pop10 - br_if 0, $pop11 # 0: down to label3 + i32.call $push14=, printf@FUNCTION, $pop48, $5 + i32.const $push15=, 5 + i32.ne $push16=, $pop14, $pop15 + br_if 0, $pop16 # 0: down to label3 # BB#4: # %if.end21 - i32.const $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 4 - i32.sub $53=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $53=, 0($11), $53 - i32.const $push12=, .L.str.1 - i32.store $0=, 0($53), $pop12 - i32.const $push37=, .L.str.4 - i32.call $discard=, printf@FUNCTION, $pop37 - i32.const $12=, __stack_pointer - i32.load $12=, 0($12) - i32.const $13=, 4 - i32.add $53=, $12, $13 - i32.const $13=, __stack_pointer - i32.store $53=, 0($13), $53 - i32.const $14=, __stack_pointer - i32.load $14=, 0($14) - i32.const $15=, 4 - i32.sub $53=, $14, $15 - i32.const $15=, __stack_pointer - i32.store $53=, 0($15), $53 - i32.store $discard=, 0($53), $0 - i32.const $push36=, .L.str.4 - i32.call $0=, printf@FUNCTION, $pop36 - i32.const $16=, __stack_pointer - i32.load $16=, 0($16) - i32.const $17=, 4 - i32.add $53=, $16, $17 - i32.const $17=, __stack_pointer - i32.store $53=, 0($17), $53 + i32.const $push17=, .L.str.1 + i32.store $0=, 144($15):p2align=4, $pop17 + i32.const $push51=, .L.str.4 + i32.const $6=, 144 + i32.add $6=, $15, $6 + i32.call $discard=, printf@FUNCTION, $pop51, $6 + i32.store $discard=, 128($15):p2align=4, $0 + i32.const $push50=, .L.str.4 + i32.const $7=, 128 + i32.add $7=, $15, $7 block - i32.const $push13=, 6 - i32.ne $push14=, $0, $pop13 - br_if 0, $pop14 # 0: down to label4 + i32.call $push18=, printf@FUNCTION, $pop50, $7 + i32.const $push19=, 6 + i32.ne $push20=, $pop18, $pop19 + br_if 0, $pop20 # 0: down to label4 # BB#5: # %if.end26 - i32.const $18=, __stack_pointer - i32.load $18=, 0($18) - i32.const $19=, 4 - i32.sub $53=, $18, $19 - i32.const $19=, __stack_pointer - i32.store $53=, 0($19), $53 - i32.const $push15=, .L.str.2 - i32.store $0=, 0($53), $pop15 - i32.const $push39=, .L.str.4 - i32.call $discard=, printf@FUNCTION, $pop39 - i32.const $20=, __stack_pointer - i32.load $20=, 0($20) - i32.const $21=, 4 - i32.add $53=, $20, $21 - i32.const $21=, __stack_pointer - i32.store $53=, 0($21), $53 - i32.const $22=, __stack_pointer - i32.load $22=, 0($22) - i32.const $23=, 4 - i32.sub $53=, $22, $23 - i32.const $23=, __stack_pointer - i32.store $53=, 0($23), $53 - i32.store $discard=, 0($53), $0 - i32.const $push38=, .L.str.4 - i32.call $0=, printf@FUNCTION, $pop38 - i32.const $24=, __stack_pointer - i32.load $24=, 0($24) - i32.const $25=, 4 - i32.add $53=, $24, $25 - i32.const $25=, __stack_pointer - i32.store $53=, 0($25), $53 + i32.const $push21=, .L.str.2 + i32.store $0=, 112($15):p2align=4, $pop21 + i32.const $push53=, .L.str.4 + i32.const $8=, 112 + i32.add $8=, $15, $8 + i32.call $discard=, printf@FUNCTION, $pop53, $8 + i32.store $discard=, 96($15):p2align=4, $0 + i32.const $push52=, .L.str.4 + i32.const $9=, 96 + i32.add $9=, $15, $9 block - i32.const $push16=, 1 - i32.ne $push17=, $0, $pop16 - br_if 0, $pop17 # 0: down to label5 + i32.call $push22=, printf@FUNCTION, $pop52, $9 + i32.const $push23=, 1 + i32.ne $push24=, $pop22, $pop23 + br_if 0, $pop24 # 0: down to label5 # BB#6: # %if.end31 - i32.const $26=, __stack_pointer - i32.load $26=, 0($26) - i32.const $27=, 4 - i32.sub $53=, $26, $27 - i32.const $27=, __stack_pointer - i32.store $53=, 0($27), $53 - i32.const $push18=, .L.str.3 - i32.store $0=, 0($53), $pop18 - i32.const $push41=, .L.str.4 - i32.call $discard=, printf@FUNCTION, $pop41 - i32.const $28=, __stack_pointer - i32.load $28=, 0($28) - i32.const $29=, 4 - i32.add $53=, $28, $29 - i32.const $29=, __stack_pointer - i32.store $53=, 0($29), $53 - i32.const $30=, __stack_pointer - i32.load $30=, 0($30) - i32.const $31=, 4 - i32.sub $53=, $30, $31 - i32.const $31=, __stack_pointer - i32.store $53=, 0($31), $53 - i32.store $discard=, 0($53), $0 - i32.const $push40=, .L.str.4 - i32.call $0=, printf@FUNCTION, $pop40 - i32.const $32=, __stack_pointer - i32.load $32=, 0($32) - i32.const $33=, 4 - i32.add $53=, $32, $33 - i32.const $33=, __stack_pointer - i32.store $53=, 0($33), $53 + i32.const $push25=, .L.str.3 + i32.store $0=, 80($15):p2align=4, $pop25 + i32.const $push55=, .L.str.4 + i32.const $10=, 80 + i32.add $10=, $15, $10 + i32.call $discard=, printf@FUNCTION, $pop55, $10 + i32.store $discard=, 64($15):p2align=4, $0 + i32.const $push54=, .L.str.4 + i32.const $11=, 64 + i32.add $11=, $15, $11 block - br_if 0, $0 # 0: down to label6 + i32.call $push26=, printf@FUNCTION, $pop54, $11 + br_if 0, $pop26 # 0: down to label6 # BB#7: # %if.end36 - i32.const $push19=, 120 - i32.call $discard=, putchar@FUNCTION, $pop19 - i32.const $34=, __stack_pointer - i32.load $34=, 0($34) - i32.const $35=, 4 - i32.sub $53=, $34, $35 - i32.const $35=, __stack_pointer - i32.store $53=, 0($35), $53 - i32.const $push42=, 120 - i32.store $discard=, 0($53), $pop42 - i32.const $push20=, .L.str.5 - i32.call $0=, printf@FUNCTION, $pop20 - i32.const $36=, __stack_pointer - i32.load $36=, 0($36) - i32.const $37=, 4 - i32.add $53=, $36, $37 - i32.const $37=, __stack_pointer - i32.store $53=, 0($37), $53 + i32.const $push27=, 120 + i32.call $discard=, putchar@FUNCTION, $pop27 + i32.const $push56=, 120 + i32.store $discard=, 48($15):p2align=4, $pop56 + i32.const $push28=, .L.str.5 + i32.const $12=, 48 + i32.add $12=, $15, $12 block - i32.const $push21=, 1 - i32.ne $push22=, $0, $pop21 - br_if 0, $pop22 # 0: down to label7 + i32.call $push29=, printf@FUNCTION, $pop28, $12 + i32.const $push30=, 1 + i32.ne $push31=, $pop29, $pop30 + br_if 0, $pop31 # 0: down to label7 # BB#8: # %if.end41 - i32.const $push23=, .L.str.1 - i32.call $discard=, puts@FUNCTION, $pop23 - i32.const $38=, __stack_pointer - i32.load $38=, 0($38) - i32.const $39=, 4 - i32.sub $53=, $38, $39 - i32.const $39=, __stack_pointer - i32.store $53=, 0($39), $53 - i32.const $push43=, .L.str.1 - i32.store $discard=, 0($53), $pop43 - i32.const $push24=, .L.str.6 - i32.call $0=, printf@FUNCTION, $pop24 - i32.const $40=, __stack_pointer - i32.load $40=, 0($40) - i32.const $41=, 4 - i32.add $53=, $40, $41 - i32.const $41=, __stack_pointer - i32.store $53=, 0($41), $53 + i32.const $push32=, .L.str.1 + i32.call $discard=, puts@FUNCTION, $pop32 + i32.const $push57=, .L.str.1 + i32.store $discard=, 32($15):p2align=4, $pop57 + i32.const $push33=, .L.str.6 + i32.const $13=, 32 + i32.add $13=, $15, $13 block - i32.const $push25=, 7 - i32.ne $push26=, $0, $pop25 - br_if 0, $pop26 # 0: down to label8 + i32.call $push34=, printf@FUNCTION, $pop33, $13 + i32.const $push35=, 7 + i32.ne $push36=, $pop34, $pop35 + br_if 0, $pop36 # 0: down to label8 # BB#9: # %if.end46 - i32.const $42=, __stack_pointer - i32.load $42=, 0($42) - i32.const $43=, 4 - i32.sub $53=, $42, $43 - i32.const $43=, __stack_pointer - i32.store $53=, 0($43), $53 - i32.const $push27=, 0 - i32.store $0=, 0($53), $pop27 - i32.const $push28=, .L.str.7 - i32.call $discard=, printf@FUNCTION, $pop28 - i32.const $44=, __stack_pointer - i32.load $44=, 0($44) - i32.const $45=, 4 - i32.add $53=, $44, $45 - i32.const $45=, __stack_pointer - i32.store $53=, 0($45), $53 - i32.const $46=, __stack_pointer - i32.load $46=, 0($46) - i32.const $47=, 4 - i32.sub $53=, $46, $47 - i32.const $47=, __stack_pointer - i32.store $53=, 0($47), $53 - i32.store $1=, 0($53), $0 - i32.const $push44=, .L.str.7 - i32.call $0=, printf@FUNCTION, $pop44 - i32.const $48=, __stack_pointer - i32.load $48=, 0($48) - i32.const $49=, 4 - i32.add $53=, $48, $49 - i32.const $49=, __stack_pointer - i32.store $53=, 0($49), $53 + i32.const $push37=, 0 + i32.store $0=, 16($15):p2align=4, $pop37 + i32.const $push38=, .L.str.7 + i32.const $14=, 16 + i32.add $14=, $15, $14 + i32.call $discard=, printf@FUNCTION, $pop38, $14 + i32.store $discard=, 0($15):p2align=4, $0 block - i32.const $push29=, 2 - i32.ne $push30=, $0, $pop29 - br_if 0, $pop30 # 0: down to label9 + i32.const $push58=, .L.str.7 + i32.call $push39=, printf@FUNCTION, $pop58, $15 + i32.const $push40=, 2 + i32.ne $push41=, $pop39, $pop40 + br_if 0, $pop41 # 0: down to label9 # BB#10: # %if.end51 - i32.const $52=, 16 - i32.add $53=, $53, $52 - i32.const $52=, __stack_pointer - i32.store $53=, 0($52), $53 - return $1 + i32.const $3=, 192 + i32.add $15=, $15, $3 + i32.const $3=, __stack_pointer + i32.store $15=, 0($3), $15 + return $0 .LBB0_11: # %if.then50 end_block # label9: call abort@FUNCTION diff --git a/test/torture-s/printf-chk-1.c.s b/test/torture-s/printf-chk-1.c.s index af735ee23..690f0d81e 100644 --- a/test/torture-s/printf-chk-1.c.s +++ b/test/torture-s/printf-chk-1.c.s @@ -5,17 +5,16 @@ .globl __printf_chk .type __printf_chk,@function __printf_chk: # @__printf_chk - .param i32, i32 + .param i32, i32, i32 .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + 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 block i32.const $push5=, 0 i32.load $push0=, should_optimize($pop5) @@ -26,12 +25,12 @@ __printf_chk: # @__printf_chk i32.store $discard=, should_optimize($pop7), $pop1 i32.const $push6=, 0 i32.load $push3=, stdout($pop6) - i32.store $push2=, 12($5), $6 + i32.store $push2=, 12($6), $2 i32.call $push4=, vfprintf@FUNCTION, $pop3, $1, $pop2 - i32.const $4=, 16 - i32.add $5=, $6, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $5=, 16 + i32.add $6=, $6, $5 + i32.const $5=, __stack_pointer + i32.store $6=, 0($5), $6 return $pop4 .LBB0_2: # %if.then end_block # label0: @@ -47,506 +46,370 @@ __printf_chk: # @__printf_chk .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, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, 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, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $58=, __stack_pointer - i32.load $58=, 0($58) - i32.const $59=, 16 - i32.sub $61=, $58, $59 - i32.const $59=, __stack_pointer - i32.store $61=, 0($59), $61 + i32.const $2=, __stack_pointer + i32.load $2=, 0($2) + i32.const $3=, 224 + i32.sub $18=, $2, $3 + i32.const $3=, __stack_pointer + i32.store $18=, 0($3), $18 + i32.const $push79=, .L.str i32.const $push0=, 0 - i32.const $push62=, 0 - i32.store $0=, should_optimize($pop0), $pop62 - i32.const $push61=, .L.str - i32.call $discard=, __printf_chk@FUNCTION, $0, $pop61 + i32.const $push78=, 0 + i32.store $push1=, should_optimize($pop0), $pop78 + tee_local $push77=, $1=, $pop1 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop79, $pop77 block - i32.load $push1=, should_optimize($0) - i32.const $push120=, 0 - i32.eq $push121=, $pop1, $pop120 - br_if 0, $pop121 # 0: down to label1 + i32.load $push2=, should_optimize($1) + i32.const $push142=, 0 + i32.eq $push143=, $pop2, $pop142 + br_if 0, $pop143 # 0: down to label1 # BB#1: # %if.end - i32.store $discard=, should_optimize($0), $0 - i32.const $push63=, .L.str - i32.call $0=, __printf_chk@FUNCTION, $0, $pop63 block - i32.const $push2=, 5 - i32.ne $push3=, $0, $pop2 - br_if 0, $pop3 # 0: down to label2 + i32.const $push80=, .L.str + i32.store $push3=, should_optimize($1), $1 + i32.call $push4=, __printf_chk@FUNCTION, $1, $pop80, $pop3 + i32.const $push5=, 5 + i32.ne $push6=, $pop4, $pop5 + br_if 0, $pop6 # 0: down to label2 # BB#2: # %if.end3 block - i32.const $push64=, 0 - i32.load $push4=, should_optimize($pop64) - i32.const $push122=, 0 - i32.eq $push123=, $pop4, $pop122 - br_if 0, $pop123 # 0: down to label3 + i32.const $push81=, 0 + i32.load $push7=, should_optimize($pop81) + i32.const $push144=, 0 + i32.eq $push145=, $pop7, $pop144 + br_if 0, $pop145 # 0: down to label3 # BB#3: # %if.end6 - i32.const $push67=, 0 - i32.const $push5=, 1 - i32.store $discard=, should_optimize($pop67), $pop5 - i32.const $push66=, .L.str.1 - i32.call $discard=, __printf_chk@FUNCTION, $0, $pop66 - block - i32.const $push65=, 0 - i32.load $push6=, should_optimize($pop65) - i32.const $push124=, 0 - i32.eq $push125=, $pop6, $pop124 - br_if 0, $pop125 # 0: down to label4 + i32.const $push85=, 0 + i32.const $push8=, 1 + i32.store $discard=, should_optimize($pop85), $pop8 + i32.const $push84=, .L.str.1 + i32.const $push83=, 0 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop84, $pop83 + block + i32.const $push82=, 0 + i32.load $push9=, should_optimize($pop82) + i32.const $push146=, 0 + i32.eq $push147=, $pop9, $pop146 + br_if 0, $pop147 # 0: down to label4 # BB#4: # %if.end10 - i32.const $push7=, 0 - i32.const $push69=, 0 - i32.store $1=, should_optimize($pop7), $pop69 - i32.const $push68=, .L.str.1 - i32.call $0=, __printf_chk@FUNCTION, $0, $pop68 block - i32.const $push8=, 6 - i32.ne $push9=, $0, $pop8 - br_if 0, $pop9 # 0: down to label5 + i32.const $push88=, .L.str.1 + i32.const $push10=, 0 + i32.const $push87=, 0 + i32.store $push11=, should_optimize($pop10), $pop87 + tee_local $push86=, $1=, $pop11 + i32.call $push12=, __printf_chk@FUNCTION, $1, $pop88, $pop86 + i32.const $push13=, 6 + i32.ne $push14=, $pop12, $pop13 + br_if 0, $pop14 # 0: down to label5 # BB#5: # %if.end14 block - i32.load $push10=, should_optimize($1) - i32.const $push126=, 0 - i32.eq $push127=, $pop10, $pop126 - br_if 0, $pop127 # 0: down to label6 + i32.load $push15=, should_optimize($1) + i32.const $push148=, 0 + i32.eq $push149=, $pop15, $pop148 + br_if 0, $pop149 # 0: down to label6 # BB#6: # %if.end17 - i32.const $push72=, 0 - i32.const $push11=, 1 - i32.store $0=, should_optimize($pop72), $pop11 - i32.const $push71=, .L.str.2 - i32.call $discard=, __printf_chk@FUNCTION, $0, $pop71 - block - i32.const $push70=, 0 - i32.load $push12=, should_optimize($pop70) - i32.const $push128=, 0 - i32.eq $push129=, $pop12, $pop128 - br_if 0, $pop129 # 0: down to label7 + i32.const $push92=, 0 + i32.const $push16=, 1 + i32.store $1=, should_optimize($pop92), $pop16 + i32.const $push91=, .L.str.2 + i32.const $push90=, 0 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop91, $pop90 + block + i32.const $push89=, 0 + i32.load $push17=, should_optimize($pop89) + i32.const $push150=, 0 + i32.eq $push151=, $pop17, $pop150 + br_if 0, $pop151 # 0: down to label7 # BB#7: # %if.end21 - i32.const $push75=, 0 - i32.const $push74=, 0 - i32.store $discard=, should_optimize($pop75), $pop74 - i32.const $push73=, .L.str.2 - i32.call $1=, __printf_chk@FUNCTION, $0, $pop73 - block - i32.ne $push13=, $1, $0 - br_if 0, $pop13 # 0: down to label8 + block + i32.const $push95=, .L.str.2 + i32.const $push94=, 0 + i32.const $push93=, 0 + i32.store $push18=, should_optimize($pop94), $pop93 + i32.call $push19=, __printf_chk@FUNCTION, $1, $pop95, $pop18 + i32.ne $push20=, $pop19, $1 + br_if 0, $pop20 # 0: down to label8 # BB#8: # %if.end25 block - i32.const $push76=, 0 - i32.load $push14=, should_optimize($pop76) - i32.const $push130=, 0 - i32.eq $push131=, $pop14, $pop130 - br_if 0, $pop131 # 0: down to label9 + i32.const $push96=, 0 + i32.load $push21=, should_optimize($pop96) + i32.const $push152=, 0 + i32.eq $push153=, $pop21, $pop152 + br_if 0, $pop153 # 0: down to label9 # BB#9: # %if.end28 - i32.const $push79=, 0 - i32.const $push15=, 1 - i32.store $discard=, should_optimize($pop79), $pop15 - i32.const $push78=, .L.str.3 - i32.call $discard=, __printf_chk@FUNCTION, $0, $pop78 - block - i32.const $push77=, 0 - i32.load $push16=, should_optimize($pop77) - i32.const $push132=, 0 - i32.eq $push133=, $pop16, $pop132 - br_if 0, $pop133 # 0: down to label10 + i32.const $push100=, 0 + i32.const $push22=, 1 + i32.store $discard=, should_optimize($pop100), $pop22 + i32.const $push99=, .L.str.3 + i32.const $push98=, 0 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop99, $pop98 + block + i32.const $push97=, 0 + i32.load $push23=, should_optimize($pop97) + i32.const $push154=, 0 + i32.eq $push155=, $pop23, $pop154 + br_if 0, $pop155 # 0: down to label10 # BB#10: # %if.end32 - i32.const $push17=, 0 - i32.const $push81=, 0 - i32.store $1=, should_optimize($pop17), $pop81 - i32.const $push80=, .L.str.3 - i32.call $0=, __printf_chk@FUNCTION, $0, $pop80 block - br_if 0, $0 # 0: down to label11 + i32.const $push103=, .L.str.3 + i32.const $push24=, 0 + i32.const $push102=, 0 + i32.store $push25=, should_optimize($pop24), $pop102 + tee_local $push101=, $1=, $pop25 + i32.call $push26=, __printf_chk@FUNCTION, $1, $pop103, $pop101 + br_if 0, $pop26 # 0: down to label11 # BB#11: # %if.end36 block - i32.load $push18=, should_optimize($1) - i32.const $push134=, 0 - i32.eq $push135=, $pop18, $pop134 - br_if 0, $pop135 # 0: down to label12 + i32.load $push27=, should_optimize($1) + i32.const $push156=, 0 + i32.eq $push157=, $pop27, $pop156 + br_if 0, $pop157 # 0: down to label12 # BB#12: # %if.end39 - i32.const $push19=, 0 - i32.const $push83=, 0 - i32.store $0=, should_optimize($pop19), $pop83 - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 4 - i32.sub $61=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $61=, 0($3), $61 - i32.const $push20=, .L.str - i32.store $1=, 0($61), $pop20 - i32.const $push82=, .L.str.4 - i32.call $discard=, __printf_chk@FUNCTION, $0, $pop82 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 4 - i32.add $61=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $61=, 0($5), $61 - block - i32.load $push21=, should_optimize($0) - i32.const $push136=, 0 - i32.eq $push137=, $pop21, $pop136 - br_if 0, $pop137 # 0: down to label13 + i32.const $push28=, 0 + i32.const $push105=, 0 + i32.store $1=, should_optimize($pop28), $pop105 + i32.const $push29=, .L.str + i32.store $0=, 208($18):p2align=4, $pop29 + i32.const $push104=, .L.str.4 + i32.const $5=, 208 + i32.add $5=, $18, $5 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop104, $5 + block + i32.load $push30=, should_optimize($1) + i32.const $push158=, 0 + i32.eq $push159=, $pop30, $pop158 + br_if 0, $pop159 # 0: down to label13 # BB#13: # %if.end43 - i32.store $discard=, should_optimize($0), $0 - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 4 - i32.sub $61=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $61=, 0($7), $61 - i32.store $discard=, 0($61), $1 - i32.const $push84=, .L.str.4 - i32.call $0=, __printf_chk@FUNCTION, $0, $pop84 - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 4 - i32.add $61=, $8, $9 - i32.const $9=, __stack_pointer - i32.store $61=, 0($9), $61 - block - i32.const $push22=, 5 - i32.ne $push23=, $0, $pop22 - br_if 0, $pop23 # 0: down to label14 + i32.store $discard=, should_optimize($1), $1 + i32.store $discard=, 192($18):p2align=4, $0 + i32.const $push106=, .L.str.4 + i32.const $6=, 192 + i32.add $6=, $18, $6 + block + i32.call $push31=, __printf_chk@FUNCTION, $1, $pop106, $6 + i32.const $push32=, 5 + i32.ne $push33=, $pop31, $pop32 + br_if 0, $pop33 # 0: down to label14 # BB#14: # %if.end47 block - i32.const $push85=, 0 - i32.load $push24=, should_optimize($pop85) - i32.const $push138=, 0 - i32.eq $push139=, $pop24, $pop138 - br_if 0, $pop139 # 0: down to label15 + i32.const $push107=, 0 + i32.load $push34=, should_optimize($pop107) + i32.const $push160=, 0 + i32.eq $push161=, $pop34, $pop160 + br_if 0, $pop161 # 0: down to label15 # BB#15: # %if.end50 - i32.const $push88=, 0 - i32.const $push25=, 1 - i32.store $discard=, should_optimize($pop88), $pop25 - i32.const $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 4 - i32.sub $61=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $61=, 0($11), $61 - i32.const $push26=, .L.str.1 - i32.store $0=, 0($61), $pop26 - i32.const $push87=, .L.str.4 - i32.call $discard=, __printf_chk@FUNCTION, $0, $pop87 - i32.const $12=, __stack_pointer - i32.load $12=, 0($12) - i32.const $13=, 4 - i32.add $61=, $12, $13 - i32.const $13=, __stack_pointer - i32.store $61=, 0($13), $61 - block - i32.const $push86=, 0 - i32.load $push27=, should_optimize($pop86) - i32.const $push140=, 0 - i32.eq $push141=, $pop27, $pop140 - br_if 0, $pop141 # 0: down to label16 + i32.const $push110=, 0 + i32.const $push35=, 1 + i32.store $discard=, should_optimize($pop110), $pop35 + i32.const $push36=, .L.str.1 + i32.store $1=, 176($18):p2align=4, $pop36 + i32.const $push109=, .L.str.4 + i32.const $7=, 176 + i32.add $7=, $18, $7 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop109, $7 + block + i32.const $push108=, 0 + i32.load $push37=, should_optimize($pop108) + i32.const $push162=, 0 + i32.eq $push163=, $pop37, $pop162 + br_if 0, $pop163 # 0: down to label16 # BB#16: # %if.end54 - i32.const $push28=, 0 - i32.const $push90=, 0 - i32.store $1=, should_optimize($pop28), $pop90 - i32.const $14=, __stack_pointer - i32.load $14=, 0($14) - i32.const $15=, 4 - i32.sub $61=, $14, $15 - i32.const $15=, __stack_pointer - i32.store $61=, 0($15), $61 - i32.store $discard=, 0($61), $0 - i32.const $push89=, .L.str.4 - i32.call $0=, __printf_chk@FUNCTION, $0, $pop89 - i32.const $16=, __stack_pointer - i32.load $16=, 0($16) - i32.const $17=, 4 - i32.add $61=, $16, $17 - i32.const $17=, __stack_pointer - i32.store $61=, 0($17), $61 - block - i32.const $push29=, 6 - i32.ne $push30=, $0, $pop29 - br_if 0, $pop30 # 0: down to label17 + i32.const $push38=, 0 + i32.const $push112=, 0 + i32.store $0=, should_optimize($pop38), $pop112 + i32.store $discard=, 160($18):p2align=4, $1 + i32.const $push111=, .L.str.4 + i32.const $8=, 160 + i32.add $8=, $18, $8 + block + i32.call $push39=, __printf_chk@FUNCTION, $1, $pop111, $8 + i32.const $push40=, 6 + i32.ne $push41=, $pop39, $pop40 + br_if 0, $pop41 # 0: down to label17 # BB#17: # %if.end58 block - i32.load $push31=, should_optimize($1) - i32.const $push142=, 0 - i32.eq $push143=, $pop31, $pop142 - br_if 0, $pop143 # 0: down to label18 + i32.load $push42=, should_optimize($0) + i32.const $push164=, 0 + i32.eq $push165=, $pop42, $pop164 + br_if 0, $pop165 # 0: down to label18 # BB#18: # %if.end61 - i32.const $push93=, 0 - i32.const $push32=, 1 - i32.store $0=, should_optimize($pop93), $pop32 - i32.const $18=, __stack_pointer - i32.load $18=, 0($18) - i32.const $19=, 4 - i32.sub $61=, $18, $19 - i32.const $19=, __stack_pointer - i32.store $61=, 0($19), $61 - i32.const $push33=, .L.str.2 - i32.store $1=, 0($61), $pop33 - i32.const $push92=, .L.str.4 - i32.call $discard=, __printf_chk@FUNCTION, $0, $pop92 - i32.const $20=, __stack_pointer - i32.load $20=, 0($20) - i32.const $21=, 4 - i32.add $61=, $20, $21 - i32.const $21=, __stack_pointer - i32.store $61=, 0($21), $61 - block - i32.const $push91=, 0 - i32.load $push34=, should_optimize($pop91) - i32.const $push144=, 0 - i32.eq $push145=, $pop34, $pop144 - br_if 0, $pop145 # 0: down to label19 + i32.const $push115=, 0 + i32.const $push43=, 1 + i32.store $1=, should_optimize($pop115), $pop43 + i32.const $push44=, .L.str.2 + i32.store $0=, 144($18):p2align=4, $pop44 + i32.const $push114=, .L.str.4 + i32.const $9=, 144 + i32.add $9=, $18, $9 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop114, $9 + block + i32.const $push113=, 0 + i32.load $push45=, should_optimize($pop113) + i32.const $push166=, 0 + i32.eq $push167=, $pop45, $pop166 + br_if 0, $pop167 # 0: down to label19 # BB#19: # %if.end65 - i32.const $push96=, 0 - i32.const $push95=, 0 - i32.store $discard=, should_optimize($pop96), $pop95 - i32.const $22=, __stack_pointer - i32.load $22=, 0($22) - i32.const $23=, 4 - i32.sub $61=, $22, $23 - i32.const $23=, __stack_pointer - i32.store $61=, 0($23), $61 - i32.store $discard=, 0($61), $1 - i32.const $push94=, .L.str.4 - i32.call $1=, __printf_chk@FUNCTION, $0, $pop94 - i32.const $24=, __stack_pointer - i32.load $24=, 0($24) - i32.const $25=, 4 - i32.add $61=, $24, $25 - i32.const $25=, __stack_pointer - i32.store $61=, 0($25), $61 - block - i32.ne $push35=, $1, $0 - br_if 0, $pop35 # 0: down to label20 + i32.const $push118=, 0 + i32.const $push117=, 0 + i32.store $discard=, should_optimize($pop118), $pop117 + i32.store $discard=, 128($18):p2align=4, $0 + i32.const $push116=, .L.str.4 + i32.const $10=, 128 + i32.add $10=, $18, $10 + block + i32.call $push46=, __printf_chk@FUNCTION, $1, $pop116, $10 + i32.ne $push47=, $pop46, $1 + br_if 0, $pop47 # 0: down to label20 # BB#20: # %if.end69 block - i32.const $push97=, 0 - i32.load $push36=, should_optimize($pop97) - i32.const $push146=, 0 - i32.eq $push147=, $pop36, $pop146 - br_if 0, $pop147 # 0: down to label21 + i32.const $push119=, 0 + i32.load $push48=, should_optimize($pop119) + i32.const $push168=, 0 + i32.eq $push169=, $pop48, $pop168 + br_if 0, $pop169 # 0: down to label21 # BB#21: # %if.end72 - i32.const $push100=, 0 - i32.const $push37=, 1 - i32.store $discard=, should_optimize($pop100), $pop37 - i32.const $26=, __stack_pointer - i32.load $26=, 0($26) - i32.const $27=, 4 - i32.sub $61=, $26, $27 - i32.const $27=, __stack_pointer - i32.store $61=, 0($27), $61 - i32.const $push38=, .L.str.3 - i32.store $0=, 0($61), $pop38 - i32.const $push99=, .L.str.4 - i32.call $discard=, __printf_chk@FUNCTION, $0, $pop99 - i32.const $28=, __stack_pointer - i32.load $28=, 0($28) - i32.const $29=, 4 - i32.add $61=, $28, $29 - i32.const $29=, __stack_pointer - i32.store $61=, 0($29), $61 + i32.const $push122=, 0 + i32.const $push49=, 1 + i32.store $discard=, should_optimize($pop122), $pop49 + i32.const $push50=, .L.str.3 + i32.store $1=, 112($18):p2align=4, $pop50 + i32.const $push121=, .L.str.4 + i32.const $11=, 112 + i32.add $11=, $18, $11 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop121, $11 block - i32.const $push98=, 0 - i32.load $push39=, should_optimize($pop98) - i32.const $push148=, 0 - i32.eq $push149=, $pop39, $pop148 - br_if 0, $pop149 # 0: down to label22 + i32.const $push120=, 0 + i32.load $push51=, should_optimize($pop120) + i32.const $push170=, 0 + i32.eq $push171=, $pop51, $pop170 + br_if 0, $pop171 # 0: down to label22 # BB#22: # %if.end76 - i32.const $push40=, 0 - i32.const $push102=, 0 - i32.store $1=, should_optimize($pop40), $pop102 - i32.const $30=, __stack_pointer - i32.load $30=, 0($30) - i32.const $31=, 4 - i32.sub $61=, $30, $31 - i32.const $31=, __stack_pointer - i32.store $61=, 0($31), $61 - i32.store $discard=, 0($61), $0 - i32.const $push101=, .L.str.4 - i32.call $0=, __printf_chk@FUNCTION, $0, $pop101 - i32.const $32=, __stack_pointer - i32.load $32=, 0($32) - i32.const $33=, 4 - i32.add $61=, $32, $33 - i32.const $33=, __stack_pointer - i32.store $61=, 0($33), $61 - block - br_if 0, $0 # 0: down to label23 + i32.const $push52=, 0 + i32.const $push124=, 0 + i32.store $0=, should_optimize($pop52), $pop124 + i32.store $discard=, 96($18):p2align=4, $1 + i32.const $push123=, .L.str.4 + i32.const $12=, 96 + i32.add $12=, $18, $12 + block + i32.call $push53=, __printf_chk@FUNCTION, $1, $pop123, $12 + br_if 0, $pop53 # 0: down to label23 # BB#23: # %if.end80 block - i32.load $push41=, should_optimize($1) - i32.const $push150=, 0 - i32.eq $push151=, $pop41, $pop150 - br_if 0, $pop151 # 0: down to label24 + i32.load $push54=, should_optimize($0) + i32.const $push172=, 0 + i32.eq $push173=, $pop54, $pop172 + br_if 0, $pop173 # 0: down to label24 # BB#24: # %if.end83 - i32.const $push105=, 0 - i32.const $push42=, 1 - i32.store $0=, should_optimize($pop105), $pop42 - i32.const $34=, __stack_pointer - i32.load $34=, 0($34) - i32.const $35=, 4 - i32.sub $61=, $34, $35 - i32.const $35=, __stack_pointer - i32.store $61=, 0($35), $61 - i32.const $push43=, 120 - i32.store $1=, 0($61), $pop43 - i32.const $push104=, .L.str.5 - i32.call $discard=, __printf_chk@FUNCTION, $0, $pop104 - i32.const $36=, __stack_pointer - i32.load $36=, 0($36) - i32.const $37=, 4 - i32.add $61=, $36, $37 - i32.const $37=, __stack_pointer - i32.store $61=, 0($37), $61 - block - i32.const $push103=, 0 - i32.load $push44=, should_optimize($pop103) - i32.const $push152=, 0 - i32.eq $push153=, $pop44, $pop152 - br_if 0, $pop153 # 0: down to label25 + i32.const $push127=, 0 + i32.const $push55=, 1 + i32.store $1=, should_optimize($pop127), $pop55 + i32.const $push56=, 120 + i32.store $0=, 80($18):p2align=4, $pop56 + i32.const $push126=, .L.str.5 + i32.const $13=, 80 + i32.add $13=, $18, $13 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop126, $13 + block + i32.const $push125=, 0 + i32.load $push57=, should_optimize($pop125) + i32.const $push174=, 0 + i32.eq $push175=, $pop57, $pop174 + br_if 0, $pop175 # 0: down to label25 # BB#25: # %if.end87 - i32.const $push108=, 0 - i32.const $push107=, 0 - i32.store $discard=, should_optimize($pop108), $pop107 - i32.const $38=, __stack_pointer - i32.load $38=, 0($38) - i32.const $39=, 4 - i32.sub $61=, $38, $39 - i32.const $39=, __stack_pointer - i32.store $61=, 0($39), $61 - i32.store $discard=, 0($61), $1 - i32.const $push106=, .L.str.5 - i32.call $1=, __printf_chk@FUNCTION, $0, $pop106 - i32.const $40=, __stack_pointer - i32.load $40=, 0($40) - i32.const $41=, 4 - i32.add $61=, $40, $41 - i32.const $41=, __stack_pointer - i32.store $61=, 0($41), $61 - block - i32.ne $push45=, $1, $0 - br_if 0, $pop45 # 0: down to label26 + i32.const $push130=, 0 + i32.const $push129=, 0 + i32.store $discard=, should_optimize($pop130), $pop129 + i32.store $discard=, 64($18):p2align=4, $0 + i32.const $push128=, .L.str.5 + i32.const $14=, 64 + i32.add $14=, $18, $14 + block + i32.call $push58=, __printf_chk@FUNCTION, $1, $pop128, $14 + i32.ne $push59=, $pop58, $1 + br_if 0, $pop59 # 0: down to label26 # BB#26: # %if.end91 block - i32.const $push109=, 0 - i32.load $push46=, should_optimize($pop109) - i32.const $push154=, 0 - i32.eq $push155=, $pop46, $pop154 - br_if 0, $pop155 # 0: down to label27 + i32.const $push131=, 0 + i32.load $push60=, should_optimize($pop131) + i32.const $push176=, 0 + i32.eq $push177=, $pop60, $pop176 + br_if 0, $pop177 # 0: down to label27 # BB#27: # %if.end94 - i32.const $push112=, 0 - i32.const $push47=, 1 - i32.store $discard=, should_optimize($pop112), $pop47 - i32.const $42=, __stack_pointer - i32.load $42=, 0($42) - i32.const $43=, 4 - i32.sub $61=, $42, $43 - i32.const $43=, __stack_pointer - i32.store $61=, 0($43), $61 - i32.const $push48=, .L.str.1 - i32.store $0=, 0($61), $pop48 - i32.const $push111=, .L.str.6 - i32.call $discard=, __printf_chk@FUNCTION, $0, $pop111 - i32.const $44=, __stack_pointer - i32.load $44=, 0($44) - i32.const $45=, 4 - i32.add $61=, $44, $45 - i32.const $45=, __stack_pointer - i32.store $61=, 0($45), $61 + i32.const $push134=, 0 + i32.const $push61=, 1 + i32.store $discard=, should_optimize($pop134), $pop61 + i32.const $push62=, .L.str.1 + i32.store $1=, 48($18):p2align=4, $pop62 + i32.const $push133=, .L.str.6 + i32.const $15=, 48 + i32.add $15=, $18, $15 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop133, $15 block - i32.const $push110=, 0 - i32.load $push49=, should_optimize($pop110) - i32.const $push156=, 0 - i32.eq $push157=, $pop49, $pop156 - br_if 0, $pop157 # 0: down to label28 + i32.const $push132=, 0 + i32.load $push63=, should_optimize($pop132) + i32.const $push178=, 0 + i32.eq $push179=, $pop63, $pop178 + br_if 0, $pop179 # 0: down to label28 # BB#28: # %if.end98 - i32.const $push50=, 0 - i32.const $push114=, 0 - i32.store $1=, should_optimize($pop50), $pop114 - i32.const $46=, __stack_pointer - i32.load $46=, 0($46) - i32.const $47=, 4 - i32.sub $61=, $46, $47 - i32.const $47=, __stack_pointer - i32.store $61=, 0($47), $61 - i32.store $discard=, 0($61), $0 - i32.const $push113=, .L.str.6 - i32.call $0=, __printf_chk@FUNCTION, $0, $pop113 - i32.const $48=, __stack_pointer - i32.load $48=, 0($48) - i32.const $49=, 4 - i32.add $61=, $48, $49 - i32.const $49=, __stack_pointer - i32.store $61=, 0($49), $61 - block - i32.const $push51=, 7 - i32.ne $push52=, $0, $pop51 - br_if 0, $pop52 # 0: down to label29 + i32.const $push64=, 0 + i32.const $push136=, 0 + i32.store $0=, should_optimize($pop64), $pop136 + i32.store $discard=, 32($18):p2align=4, $1 + i32.const $push135=, .L.str.6 + i32.const $16=, 32 + i32.add $16=, $18, $16 + block + i32.call $push65=, __printf_chk@FUNCTION, $1, $pop135, $16 + i32.const $push66=, 7 + i32.ne $push67=, $pop65, $pop66 + br_if 0, $pop67 # 0: down to label29 # BB#29: # %if.end102 block - i32.load $push53=, should_optimize($1) - i32.const $push158=, 0 - i32.eq $push159=, $pop53, $pop158 - br_if 0, $pop159 # 0: down to label30 + i32.load $push68=, should_optimize($0) + i32.const $push180=, 0 + i32.eq $push181=, $pop68, $pop180 + br_if 0, $pop181 # 0: down to label30 # BB#30: # %if.end105 - i32.const $50=, __stack_pointer - i32.load $50=, 0($50) - i32.const $51=, 4 - i32.sub $61=, $50, $51 - i32.const $51=, __stack_pointer - i32.store $61=, 0($51), $61 - i32.const $push54=, 0 - i32.const $push116=, 0 - i32.store $push55=, should_optimize($pop54), $pop116 - i32.store $0=, 0($61), $pop55 - i32.const $push115=, .L.str.7 - i32.call $discard=, __printf_chk@FUNCTION, $0, $pop115 - i32.const $52=, __stack_pointer - i32.load $52=, 0($52) - i32.const $53=, 4 - i32.add $61=, $52, $53 - i32.const $53=, __stack_pointer - i32.store $61=, 0($53), $61 - block - i32.load $push56=, should_optimize($0) - i32.const $push160=, 0 - i32.eq $push161=, $pop56, $pop160 - br_if 0, $pop161 # 0: down to label31 + i32.const $push69=, 0 + i32.const $push138=, 0 + i32.store $push70=, should_optimize($pop69), $pop138 + i32.store $1=, 16($18):p2align=4, $pop70 + i32.const $push137=, .L.str.7 + i32.const $17=, 16 + i32.add $17=, $18, $17 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop137, $17 + block + i32.load $push71=, should_optimize($1) + i32.const $push182=, 0 + i32.eq $push183=, $pop71, $pop182 + br_if 0, $pop183 # 0: down to label31 # BB#31: # %if.end109 - i32.const $54=, __stack_pointer - i32.load $54=, 0($54) - i32.const $55=, 4 - i32.sub $61=, $54, $55 - i32.const $55=, __stack_pointer - i32.store $61=, 0($55), $61 - i32.store $push57=, should_optimize($0), $0 - i32.store $discard=, 0($61), $pop57 - i32.const $push117=, .L.str.7 - i32.call $0=, __printf_chk@FUNCTION, $0, $pop117 - i32.const $56=, __stack_pointer - i32.load $56=, 0($56) - i32.const $57=, 4 - i32.add $61=, $56, $57 - i32.const $57=, __stack_pointer - i32.store $61=, 0($57), $61 - block - i32.const $push58=, 2 - i32.ne $push59=, $0, $pop58 - br_if 0, $pop59 # 0: down to label32 + i32.store $push72=, should_optimize($1), $1 + i32.store $discard=, 0($18):p2align=4, $pop72 + block + i32.const $push139=, .L.str.7 + i32.call $push73=, __printf_chk@FUNCTION, $1, $pop139, $18 + i32.const $push74=, 2 + i32.ne $push75=, $pop73, $pop74 + br_if 0, $pop75 # 0: down to label32 # BB#32: # %if.end113 block - i32.const $push118=, 0 - i32.load $push60=, should_optimize($pop118) - i32.const $push162=, 0 - i32.eq $push163=, $pop60, $pop162 - br_if 0, $pop163 # 0: down to label33 + i32.const $push140=, 0 + i32.load $push76=, should_optimize($pop140) + i32.const $push184=, 0 + i32.eq $push185=, $pop76, $pop184 + br_if 0, $pop185 # 0: down to label33 # BB#33: # %if.end116 - i32.const $push119=, 0 - i32.const $60=, 16 - i32.add $61=, $61, $60 - i32.const $60=, __stack_pointer - i32.store $61=, 0($60), $61 - return $pop119 + i32.const $push141=, 0 + i32.const $4=, 224 + i32.add $18=, $18, $4 + i32.const $4=, __stack_pointer + i32.store $18=, 0($4), $18 + return $pop141 .LBB1_34: # %if.then115 end_block # label33: call abort@FUNCTION diff --git a/test/torture-s/stdarg-1.c.s b/test/torture-s/stdarg-1.c.s index 7e4e3db22..bf49cf6d9 100644 --- a/test/torture-s/stdarg-1.c.s +++ b/test/torture-s/stdarg-1.c.s @@ -174,7 +174,7 @@ bar: # @bar .globl f0 .type f0,@function f0: # @f0 - .param i32 + .param i32, i32 # BB#0: # %entry return .endfunc @@ -186,21 +186,20 @@ f0: # @f0 .globl f1 .type f1,@function f1: # @f1 - .param i32 - .local i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $4=, $1, $2 - copy_local $5=, $4 i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 - i32.store $discard=, 12($4), $5 + i32.load $2=, 0($2) i32.const $3=, 16 - i32.add $4=, $5, $3 + i32.sub $5=, $2, $3 i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 + i32.store $5=, 0($3), $5 + i32.store $discard=, 12($5), $1 + i32.const $4=, 16 + i32.add $5=, $5, $4 + i32.const $4=, __stack_pointer + i32.store $5=, 0($4), $5 return .endfunc .Lfunc_end3: @@ -211,30 +210,29 @@ f1: # @f1 .globl f2 .type f2,@function f2: # @f2 - .param i32 - .local f64, i64, i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local f64, i64, i32, i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $6=, __stack_pointer i32.load $6=, 0($6) i32.const $7=, 16 i32.sub $9=, $6, $7 - copy_local $10=, $9 i32.const $7=, __stack_pointer i32.store $9=, 0($7), $9 i32.const $push123=, 0 - f64.load $1=, d($pop123) - i32.store $discard=, 12($9), $10 + f64.load $2=, d($pop123) + i32.store $discard=, 12($9), $1 block block block - i32.trunc_s/f64 $push0=, $1 - tee_local $push122=, $4=, $pop0 + i32.trunc_s/f64 $push0=, $2 + tee_local $push122=, $1=, $pop0 i32.const $push2=, 16392 i32.eq $push3=, $pop122, $pop2 br_if 0, $pop3 # 0: down to label7 # BB#1: # %entry i32.const $push4=, 16390 - i32.ne $push5=, $4, $pop4 + i32.ne $push5=, $1, $pop4 br_if 1, $pop5 # 1: down to label6 # BB#2: # %if.then.i i32.const $push126=, 0 @@ -244,12 +242,12 @@ f2: # @f2 i32.add $push40=, $pop38, $pop39 i32.const $push41=, -8 i32.and $push42=, $pop40, $pop41 - tee_local $push124=, $3=, $pop42 + tee_local $push124=, $4=, $pop42 i32.const $push43=, 8 i32.add $push44=, $pop124, $pop43 i32.store $discard=, gap($pop126), $pop44 block - f64.load $push45=, 0($3) + f64.load $push45=, 0($4) f64.const $push46=, 0x1.1p4 f64.ne $push47=, $pop45, $pop46 br_if 0, $pop47 # 0: down to label8 @@ -261,11 +259,11 @@ f2: # @f2 i32.add $push50=, $pop48, $pop49 i32.const $push51=, -4 i32.and $push52=, $pop50, $pop51 - tee_local $push127=, $3=, $pop52 + tee_local $push127=, $4=, $pop52 i32.const $push53=, 4 i32.add $push54=, $pop127, $pop53 i32.store $discard=, gap($pop129), $pop54 - i32.load $push55=, 0($3) + i32.load $push55=, 0($4) i32.const $push56=, 129 i32.eq $push57=, $pop55, $pop56 br_if 2, $pop57 # 2: down to label6 @@ -276,8 +274,8 @@ f2: # @f2 .LBB4_5: # %if.then5.i end_block # label7: i32.const $push132=, 0 - i32.load $3=, pap($pop132) - i32.load $push6=, 0($3) + i32.load $4=, pap($pop132) + i32.load $push6=, 0($4) i32.const $push7=, 7 i32.add $push8=, $pop6, $pop7 i32.const $push9=, -8 @@ -285,7 +283,7 @@ f2: # @f2 tee_local $push131=, $5=, $pop10 i32.const $push130=, 8 i32.add $push11=, $pop131, $pop130 - i32.store $discard=, 0($3), $pop11 + i32.store $discard=, 0($4), $pop11 i64.load $push12=, 0($5) i64.const $push13=, 14 i64.ne $push14=, $pop12, $pop13 @@ -293,30 +291,30 @@ f2: # @f2 # BB#6: # %lor.lhs.false7.i i32.const $push138=, 0 i32.load $push15=, pap($pop138) - tee_local $push137=, $3=, $pop15 + tee_local $push137=, $4=, $pop15 i32.load $push16=, 0($pop137) i32.const $push17=, 15 i32.add $push18=, $pop16, $pop17 i32.const $push19=, -16 i32.and $push20=, $pop18, $pop19 tee_local $push136=, $5=, $pop20 - i64.load $2=, 0($pop136) + i64.load $3=, 0($pop136) i32.const $push135=, 8 i32.or $push21=, $5, $pop135 - i32.store $push22=, 0($3), $pop21 + i32.store $push22=, 0($4), $pop21 tee_local $push134=, $5=, $pop22 i32.const $push133=, 8 i32.add $push23=, $pop134, $pop133 - i32.store $discard=, 0($3), $pop23 + i32.store $discard=, 0($4), $pop23 i64.load $push24=, 0($5) i64.const $push26=, 0 i64.const $push25=, 4613381465357418496 - i32.call $push27=, __netf2@FUNCTION, $2, $pop24, $pop26, $pop25 + i32.call $push27=, __netf2@FUNCTION, $3, $pop24, $pop26, $pop25 br_if 1, $pop27 # 1: down to label5 # BB#7: # %lor.lhs.false9.i i32.const $push140=, 0 - i32.load $3=, pap($pop140) - i32.load $push28=, 0($3) + i32.load $4=, pap($pop140) + i32.load $push28=, 0($4) i32.const $push29=, 3 i32.add $push30=, $pop28, $pop29 i32.const $push31=, -4 @@ -324,21 +322,21 @@ f2: # @f2 tee_local $push139=, $5=, $pop32 i32.const $push33=, 4 i32.add $push34=, $pop139, $pop33 - i32.store $discard=, 0($3), $pop34 + i32.store $discard=, 0($4), $pop34 i32.load $push35=, 0($5) i32.const $push36=, 17 i32.ne $push37=, $pop35, $pop36 br_if 1, $pop37 # 1: down to label5 .LBB4_8: # %bar.exit end_block # label6: - i32.load $3=, 12($9) + i32.load $4=, 12($9) i32.const $push144=, 0 - i32.store $discard=, bar_arg($pop144), $4 + i32.store $discard=, bar_arg($pop144), $1 i32.const $push58=, 3 - i32.add $push59=, $3, $pop58 + i32.add $push59=, $4, $pop58 i32.const $push60=, -4 i32.and $push61=, $pop59, $pop60 - tee_local $push143=, $4=, $pop61 + tee_local $push143=, $1=, $pop61 i32.const $push62=, 4 i32.add $push63=, $pop143, $pop62 i32.store $discard=, 12($9), $pop63 @@ -346,15 +344,15 @@ f2: # @f2 block block i32.const $push142=, 0 - i32.load $push1=, 0($4) + i32.load $push1=, 0($1) i32.store $push64=, x($pop142), $pop1 - tee_local $push141=, $4=, $pop64 + tee_local $push141=, $1=, $pop64 i32.const $push65=, 16392 i32.eq $push66=, $pop141, $pop65 br_if 0, $pop66 # 0: down to label11 # BB#9: # %bar.exit i32.const $push67=, 16390 - i32.ne $push68=, $4, $pop67 + i32.ne $push68=, $1, $pop67 br_if 1, $pop68 # 1: down to label10 # BB#10: # %if.then.i4 i32.const $push147=, 0 @@ -364,12 +362,12 @@ f2: # @f2 i32.add $push103=, $pop101, $pop102 i32.const $push104=, -8 i32.and $push105=, $pop103, $pop104 - tee_local $push145=, $3=, $pop105 + tee_local $push145=, $4=, $pop105 i32.const $push106=, 8 i32.add $push107=, $pop145, $pop106 i32.store $discard=, gap($pop147), $pop107 block - f64.load $push108=, 0($3) + f64.load $push108=, 0($4) f64.const $push109=, 0x1.1p4 f64.ne $push110=, $pop108, $pop109 br_if 0, $pop110 # 0: down to label12 @@ -381,11 +379,11 @@ f2: # @f2 i32.add $push113=, $pop111, $pop112 i32.const $push114=, -4 i32.and $push115=, $pop113, $pop114 - tee_local $push148=, $3=, $pop115 + tee_local $push148=, $4=, $pop115 i32.const $push116=, 4 i32.add $push117=, $pop148, $pop116 i32.store $discard=, gap($pop150), $pop117 - i32.load $push118=, 0($3) + i32.load $push118=, 0($4) i32.const $push119=, 129 i32.eq $push120=, $pop118, $pop119 br_if 2, $pop120 # 2: down to label10 @@ -396,8 +394,8 @@ f2: # @f2 .LBB4_13: # %if.then5.i9 end_block # label11: i32.const $push153=, 0 - i32.load $3=, pap($pop153) - i32.load $push69=, 0($3) + i32.load $4=, pap($pop153) + i32.load $push69=, 0($4) i32.const $push70=, 7 i32.add $push71=, $pop69, $pop70 i32.const $push72=, -8 @@ -405,7 +403,7 @@ f2: # @f2 tee_local $push152=, $5=, $pop73 i32.const $push151=, 8 i32.add $push74=, $pop152, $pop151 - i32.store $discard=, 0($3), $pop74 + i32.store $discard=, 0($4), $pop74 i64.load $push75=, 0($5) i64.const $push76=, 14 i64.ne $push77=, $pop75, $pop76 @@ -413,30 +411,30 @@ f2: # @f2 # BB#14: # %lor.lhs.false7.i11 i32.const $push159=, 0 i32.load $push78=, pap($pop159) - tee_local $push158=, $3=, $pop78 + tee_local $push158=, $4=, $pop78 i32.load $push79=, 0($pop158) i32.const $push80=, 15 i32.add $push81=, $pop79, $pop80 i32.const $push82=, -16 i32.and $push83=, $pop81, $pop82 tee_local $push157=, $5=, $pop83 - i64.load $2=, 0($pop157) + i64.load $3=, 0($pop157) i32.const $push156=, 8 i32.or $push84=, $5, $pop156 - i32.store $push85=, 0($3), $pop84 + i32.store $push85=, 0($4), $pop84 tee_local $push155=, $5=, $pop85 i32.const $push154=, 8 i32.add $push86=, $pop155, $pop154 - i32.store $discard=, 0($3), $pop86 + i32.store $discard=, 0($4), $pop86 i64.load $push87=, 0($5) i64.const $push89=, 0 i64.const $push88=, 4613381465357418496 - i32.call $push90=, __netf2@FUNCTION, $2, $pop87, $pop89, $pop88 + i32.call $push90=, __netf2@FUNCTION, $3, $pop87, $pop89, $pop88 br_if 1, $pop90 # 1: down to label9 # BB#15: # %lor.lhs.false9.i13 i32.const $push161=, 0 - i32.load $3=, pap($pop161) - i32.load $push91=, 0($3) + i32.load $4=, pap($pop161) + i32.load $push91=, 0($4) i32.const $push92=, 3 i32.add $push93=, $pop91, $pop92 i32.const $push94=, -4 @@ -444,7 +442,7 @@ f2: # @f2 tee_local $push160=, $5=, $pop95 i32.const $push96=, 4 i32.add $push97=, $pop160, $pop96 - i32.store $discard=, 0($3), $pop97 + i32.store $discard=, 0($4), $pop97 i32.load $push98=, 0($5) i32.const $push99=, 17 i32.ne $push100=, $pop98, $pop99 @@ -452,9 +450,9 @@ f2: # @f2 .LBB4_16: # %bar.exit15 end_block # label10: i32.const $push121=, 0 - i32.store $discard=, bar_arg($pop121), $4 + i32.store $discard=, bar_arg($pop121), $1 i32.const $8=, 16 - i32.add $9=, $10, $8 + i32.add $9=, $9, $8 i32.const $8=, __stack_pointer i32.store $9=, 0($8), $9 return @@ -475,17 +473,16 @@ f2: # @f2 .globl f3 .type f3,@function f3: # @f3 - .param i32 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $2=, __stack_pointer i32.load $2=, 0($2) i32.const $3=, 16 i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer i32.store $5=, 0($3), $5 - i32.store $push0=, 12($5), $6 + i32.store $push0=, 12($5), $1 i32.const $push1=, 7 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -8 @@ -498,7 +495,7 @@ f3: # @f3 f64.load $push7=, 0($1) f64.store $discard=, d($pop8), $pop7 i32.const $4=, 16 - i32.add $5=, $6, $4 + i32.add $5=, $5, $4 i32.const $4=, __stack_pointer i32.store $5=, 0($4), $5 return @@ -511,30 +508,29 @@ f3: # @f3 .globl f4 .type f4,@function f4: # @f4 - .param i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $3=, __stack_pointer i32.load $3=, 0($3) i32.const $4=, 16 i32.sub $6=, $3, $4 - copy_local $7=, $6 i32.const $4=, __stack_pointer i32.store $6=, 0($4), $6 - i32.store $push0=, 8($6), $7 + i32.store $push0=, 8($6), $1 i32.const $push1=, 7 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -8 i32.and $push4=, $pop2, $pop3 - tee_local $push20=, $2=, $pop4 + tee_local $push20=, $1=, $pop4 i32.const $push5=, 8 i32.add $push6=, $pop20, $pop5 - i32.store $1=, 8($6), $pop6 + i32.store $2=, 8($6), $pop6 i32.const $push19=, 0 - f64.load $push7=, 0($2) + f64.load $push7=, 0($1) i32.trunc_s/f64 $push8=, $pop7 i32.store $discard=, x($pop19), $pop8 - i32.store $discard=, 12($6), $1 + i32.store $discard=, 12($6), $2 block i32.const $push9=, 5 i32.ne $push10=, $0, $pop9 @@ -545,15 +541,15 @@ f4: # @f4 i32.add $push13=, $pop11, $pop12 i32.const $push14=, -4 i32.and $push15=, $pop13, $pop14 - tee_local $push22=, $0=, $pop15 + tee_local $push22=, $1=, $pop15 i32.const $push16=, 4 i32.add $push17=, $pop22, $pop16 i32.store $discard=, 12($6), $pop17 i32.const $push21=, 0 - i32.load $push18=, 0($0) + i32.load $push18=, 0($1) i32.store $discard=, foo_arg($pop21), $pop18 i32.const $5=, 16 - i32.add $6=, $7, $5 + i32.add $6=, $6, $5 i32.const $5=, __stack_pointer i32.store $6=, 0($5), $6 return @@ -570,18 +566,17 @@ f4: # @f4 .globl f5 .type f5,@function f5: # @f5 - .param i32 - .local i32, i64, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i64, i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $4=, __stack_pointer i32.load $4=, 0($4) i32.const $5=, 16 i32.sub $7=, $4, $5 - copy_local $8=, $7 i32.const $5=, __stack_pointer i32.store $7=, 0($5), $7 i32.const $push58=, 0 - i32.store $push0=, 12($7), $8 + i32.store $push0=, 12($7), $1 i32.store $discard=, gap($pop58), $pop0 block block @@ -691,7 +686,7 @@ f5: # @f5 i32.const $push57=, 0 i32.store $discard=, bar_arg($pop57), $0 i32.const $6=, 16 - i32.add $7=, $8, $6 + i32.add $7=, $7, $6 i32.const $6=, __stack_pointer i32.store $7=, 0($6), $7 return @@ -708,30 +703,29 @@ f5: # @f5 .globl f6 .type f6,@function f6: # @f6 - .param i32 - .local f64, i64, i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local f64, i64, i32, i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $6=, __stack_pointer i32.load $6=, 0($6) i32.const $7=, 16 i32.sub $9=, $6, $7 - copy_local $10=, $9 i32.const $7=, __stack_pointer i32.store $9=, 0($7), $9 i32.const $push128=, 0 - f64.load $1=, d($pop128) - i32.store $discard=, 12($9), $10 + f64.load $2=, d($pop128) + i32.store $discard=, 12($9), $1 block block block - i32.trunc_s/f64 $push0=, $1 - tee_local $push127=, $4=, $pop0 + i32.trunc_s/f64 $push0=, $2 + tee_local $push127=, $1=, $pop0 i32.const $push2=, 16392 i32.eq $push3=, $pop127, $pop2 br_if 0, $pop3 # 0: down to label20 # BB#1: # %entry i32.const $push4=, 16390 - i32.ne $push5=, $4, $pop4 + i32.ne $push5=, $1, $pop4 br_if 1, $pop5 # 1: down to label19 # BB#2: # %if.then.i i32.const $push131=, 0 @@ -741,12 +735,12 @@ f6: # @f6 i32.add $push40=, $pop38, $pop39 i32.const $push41=, -8 i32.and $push42=, $pop40, $pop41 - tee_local $push129=, $3=, $pop42 + tee_local $push129=, $4=, $pop42 i32.const $push43=, 8 i32.add $push44=, $pop129, $pop43 i32.store $discard=, gap($pop131), $pop44 block - f64.load $push45=, 0($3) + f64.load $push45=, 0($4) f64.const $push46=, 0x1.1p4 f64.ne $push47=, $pop45, $pop46 br_if 0, $pop47 # 0: down to label21 @@ -758,11 +752,11 @@ f6: # @f6 i32.add $push50=, $pop48, $pop49 i32.const $push51=, -4 i32.and $push52=, $pop50, $pop51 - tee_local $push132=, $3=, $pop52 + tee_local $push132=, $4=, $pop52 i32.const $push53=, 4 i32.add $push54=, $pop132, $pop53 i32.store $discard=, gap($pop134), $pop54 - i32.load $push55=, 0($3) + i32.load $push55=, 0($4) i32.const $push56=, 129 i32.eq $push57=, $pop55, $pop56 br_if 2, $pop57 # 2: down to label19 @@ -773,8 +767,8 @@ f6: # @f6 .LBB8_5: # %if.then5.i end_block # label20: i32.const $push137=, 0 - i32.load $3=, pap($pop137) - i32.load $push6=, 0($3) + i32.load $4=, pap($pop137) + i32.load $push6=, 0($4) i32.const $push7=, 7 i32.add $push8=, $pop6, $pop7 i32.const $push9=, -8 @@ -782,7 +776,7 @@ f6: # @f6 tee_local $push136=, $5=, $pop10 i32.const $push135=, 8 i32.add $push11=, $pop136, $pop135 - i32.store $discard=, 0($3), $pop11 + i32.store $discard=, 0($4), $pop11 i64.load $push12=, 0($5) i64.const $push13=, 14 i64.ne $push14=, $pop12, $pop13 @@ -790,30 +784,30 @@ f6: # @f6 # BB#6: # %lor.lhs.false7.i i32.const $push143=, 0 i32.load $push15=, pap($pop143) - tee_local $push142=, $3=, $pop15 + tee_local $push142=, $4=, $pop15 i32.load $push16=, 0($pop142) i32.const $push17=, 15 i32.add $push18=, $pop16, $pop17 i32.const $push19=, -16 i32.and $push20=, $pop18, $pop19 tee_local $push141=, $5=, $pop20 - i64.load $2=, 0($pop141) + i64.load $3=, 0($pop141) i32.const $push140=, 8 i32.or $push21=, $5, $pop140 - i32.store $push22=, 0($3), $pop21 + i32.store $push22=, 0($4), $pop21 tee_local $push139=, $5=, $pop22 i32.const $push138=, 8 i32.add $push23=, $pop139, $pop138 - i32.store $discard=, 0($3), $pop23 + i32.store $discard=, 0($4), $pop23 i64.load $push24=, 0($5) i64.const $push26=, 0 i64.const $push25=, 4613381465357418496 - i32.call $push27=, __netf2@FUNCTION, $2, $pop24, $pop26, $pop25 + i32.call $push27=, __netf2@FUNCTION, $3, $pop24, $pop26, $pop25 br_if 1, $pop27 # 1: down to label18 # BB#7: # %lor.lhs.false9.i i32.const $push145=, 0 - i32.load $3=, pap($pop145) - i32.load $push28=, 0($3) + i32.load $4=, pap($pop145) + i32.load $push28=, 0($4) i32.const $push29=, 3 i32.add $push30=, $pop28, $pop29 i32.const $push31=, -4 @@ -821,37 +815,37 @@ f6: # @f6 tee_local $push144=, $5=, $pop32 i32.const $push33=, 4 i32.add $push34=, $pop144, $pop33 - i32.store $discard=, 0($3), $pop34 + i32.store $discard=, 0($4), $pop34 i32.load $push35=, 0($5) i32.const $push36=, 17 i32.ne $push37=, $pop35, $pop36 br_if 1, $pop37 # 1: down to label18 .LBB8_8: # %bar.exit end_block # label19: - i32.load $3=, 12($9) + i32.load $4=, 12($9) i32.const $push157=, 0 - i32.store $discard=, bar_arg($pop157), $4 + i32.store $discard=, bar_arg($pop157), $1 i32.const $push58=, 3 - i32.add $push59=, $3, $pop58 + i32.add $push59=, $4, $pop58 i32.const $push60=, -4 i32.and $push61=, $pop59, $pop60 - tee_local $push156=, $4=, $pop61 + tee_local $push156=, $1=, $pop61 i32.const $push62=, 4 i32.add $push63=, $pop156, $pop62 i32.store $discard=, 12($9), $pop63 i32.const $push155=, 7 - i32.add $push64=, $4, $pop155 + i32.add $push64=, $1, $pop155 i32.const $push154=, -4 i32.and $push65=, $pop64, $pop154 - tee_local $push153=, $4=, $pop65 + tee_local $push153=, $1=, $pop65 i32.const $push152=, 4 i32.add $push66=, $pop153, $pop152 i32.store $discard=, 12($9), $pop66 i32.const $push151=, 7 - i32.add $push67=, $4, $pop151 + i32.add $push67=, $1, $pop151 i32.const $push150=, -4 i32.and $push68=, $pop67, $pop150 - tee_local $push149=, $4=, $pop68 + tee_local $push149=, $1=, $pop68 i32.const $push148=, 4 i32.add $push69=, $pop149, $pop148 i32.store $discard=, 12($9), $pop69 @@ -859,15 +853,15 @@ f6: # @f6 block block i32.const $push147=, 0 - i32.load $push1=, 0($4) + i32.load $push1=, 0($1) i32.store $push70=, x($pop147), $pop1 - tee_local $push146=, $4=, $pop70 + tee_local $push146=, $1=, $pop70 i32.const $push71=, 16392 i32.eq $push72=, $pop146, $pop71 br_if 0, $pop72 # 0: down to label24 # BB#9: # %bar.exit i32.const $push73=, 16390 - i32.ne $push74=, $4, $pop73 + i32.ne $push74=, $1, $pop73 br_if 1, $pop74 # 1: down to label23 # BB#10: # %if.then.i4 i32.const $push160=, 0 @@ -877,12 +871,12 @@ f6: # @f6 i32.add $push108=, $pop106, $pop107 i32.const $push109=, -8 i32.and $push110=, $pop108, $pop109 - tee_local $push158=, $3=, $pop110 + tee_local $push158=, $4=, $pop110 i32.const $push111=, 8 i32.add $push112=, $pop158, $pop111 i32.store $discard=, gap($pop160), $pop112 block - f64.load $push113=, 0($3) + f64.load $push113=, 0($4) f64.const $push114=, 0x1.1p4 f64.ne $push115=, $pop113, $pop114 br_if 0, $pop115 # 0: down to label25 @@ -894,11 +888,11 @@ f6: # @f6 i32.add $push118=, $pop116, $pop117 i32.const $push119=, -4 i32.and $push120=, $pop118, $pop119 - tee_local $push161=, $3=, $pop120 + tee_local $push161=, $4=, $pop120 i32.const $push121=, 4 i32.add $push122=, $pop161, $pop121 i32.store $discard=, gap($pop163), $pop122 - i32.load $push123=, 0($3) + i32.load $push123=, 0($4) i32.const $push124=, 129 i32.eq $push125=, $pop123, $pop124 br_if 2, $pop125 # 2: down to label23 @@ -909,8 +903,8 @@ f6: # @f6 .LBB8_13: # %if.then5.i9 end_block # label24: i32.const $push167=, 0 - i32.load $3=, pap($pop167) - i32.load $push75=, 0($3) + i32.load $4=, pap($pop167) + i32.load $push75=, 0($4) i32.const $push166=, 7 i32.add $push76=, $pop75, $pop166 i32.const $push77=, -8 @@ -918,7 +912,7 @@ f6: # @f6 tee_local $push165=, $5=, $pop78 i32.const $push164=, 8 i32.add $push79=, $pop165, $pop164 - i32.store $discard=, 0($3), $pop79 + i32.store $discard=, 0($4), $pop79 i64.load $push80=, 0($5) i64.const $push81=, 14 i64.ne $push82=, $pop80, $pop81 @@ -926,30 +920,30 @@ f6: # @f6 # BB#14: # %lor.lhs.false7.i11 i32.const $push173=, 0 i32.load $push83=, pap($pop173) - tee_local $push172=, $3=, $pop83 + tee_local $push172=, $4=, $pop83 i32.load $push84=, 0($pop172) i32.const $push85=, 15 i32.add $push86=, $pop84, $pop85 i32.const $push87=, -16 i32.and $push88=, $pop86, $pop87 tee_local $push171=, $5=, $pop88 - i64.load $2=, 0($pop171) + i64.load $3=, 0($pop171) i32.const $push170=, 8 i32.or $push89=, $5, $pop170 - i32.store $push90=, 0($3), $pop89 + i32.store $push90=, 0($4), $pop89 tee_local $push169=, $5=, $pop90 i32.const $push168=, 8 i32.add $push91=, $pop169, $pop168 - i32.store $discard=, 0($3), $pop91 + i32.store $discard=, 0($4), $pop91 i64.load $push92=, 0($5) i64.const $push94=, 0 i64.const $push93=, 4613381465357418496 - i32.call $push95=, __netf2@FUNCTION, $2, $pop92, $pop94, $pop93 + i32.call $push95=, __netf2@FUNCTION, $3, $pop92, $pop94, $pop93 br_if 1, $pop95 # 1: down to label22 # BB#15: # %lor.lhs.false9.i13 i32.const $push175=, 0 - i32.load $3=, pap($pop175) - i32.load $push96=, 0($3) + i32.load $4=, pap($pop175) + i32.load $push96=, 0($4) i32.const $push97=, 3 i32.add $push98=, $pop96, $pop97 i32.const $push99=, -4 @@ -957,7 +951,7 @@ f6: # @f6 tee_local $push174=, $5=, $pop100 i32.const $push101=, 4 i32.add $push102=, $pop174, $pop101 - i32.store $discard=, 0($3), $pop102 + i32.store $discard=, 0($4), $pop102 i32.load $push103=, 0($5) i32.const $push104=, 17 i32.ne $push105=, $pop103, $pop104 @@ -965,9 +959,9 @@ f6: # @f6 .LBB8_16: # %bar.exit15 end_block # label23: i32.const $push126=, 0 - i32.store $discard=, bar_arg($pop126), $4 + i32.store $discard=, bar_arg($pop126), $1 i32.const $8=, 16 - i32.add $9=, $10, $8 + i32.add $9=, $9, $8 i32.const $8=, __stack_pointer i32.store $9=, 0($8), $9 return @@ -988,21 +982,20 @@ f6: # @f6 .globl f7 .type f7,@function f7: # @f7 - .param i32 - .local i64, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i64, i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $3=, __stack_pointer i32.load $3=, 0($3) i32.const $4=, 16 i32.sub $7=, $3, $4 - copy_local $8=, $7 i32.const $4=, __stack_pointer i32.store $7=, 0($4), $7 + i32.store $discard=, 12($7), $1 i32.const $push0=, 0 i32.const $6=, 12 i32.add $6=, $7, $6 i32.store $discard=, pap($pop0), $6 - i32.store $discard=, 12($7), $8 block block block @@ -1021,12 +1014,12 @@ f7: # @f7 i32.add $push38=, $pop36, $pop37 i32.const $push39=, -8 i32.and $push40=, $pop38, $pop39 - tee_local $push57=, $2=, $pop40 + tee_local $push57=, $1=, $pop40 i32.const $push41=, 8 i32.add $push42=, $pop57, $pop41 i32.store $discard=, gap($pop59), $pop42 block - f64.load $push43=, 0($2) + f64.load $push43=, 0($1) f64.const $push44=, 0x1.1p4 f64.ne $push45=, $pop43, $pop44 br_if 0, $pop45 # 0: down to label29 @@ -1038,11 +1031,11 @@ f7: # @f7 i32.add $push48=, $pop46, $pop47 i32.const $push49=, -4 i32.and $push50=, $pop48, $pop49 - tee_local $push60=, $2=, $pop50 + tee_local $push60=, $1=, $pop50 i32.const $push51=, 4 i32.add $push52=, $pop60, $pop51 i32.store $discard=, gap($pop62), $pop52 - i32.load $push53=, 0($2) + i32.load $push53=, 0($1) i32.const $push54=, 129 i32.eq $push55=, $pop53, $pop54 br_if 2, $pop55 # 2: down to label27 @@ -1057,11 +1050,11 @@ f7: # @f7 i32.add $push7=, $pop5, $pop6 i32.const $push8=, -8 i32.and $push9=, $pop7, $pop8 - tee_local $push64=, $2=, $pop9 + tee_local $push64=, $1=, $pop9 i32.const $push63=, 8 i32.add $push10=, $pop64, $pop63 i32.store $discard=, 12($7), $pop10 - i64.load $push11=, 0($2) + i64.load $push11=, 0($1) i64.const $push12=, 14 i64.ne $push13=, $pop11, $pop12 br_if 1, $pop13 # 1: down to label26 @@ -1071,19 +1064,19 @@ f7: # @f7 i32.add $push16=, $pop14, $pop15 i32.const $push17=, -16 i32.and $push18=, $pop16, $pop17 - tee_local $push68=, $2=, $pop18 - i64.load $1=, 0($pop68) + tee_local $push68=, $1=, $pop18 + i64.load $2=, 0($pop68) i32.const $push67=, 8 - i32.or $push19=, $2, $pop67 + i32.or $push19=, $1, $pop67 i32.store $push20=, 12($7), $pop19 - tee_local $push66=, $2=, $pop20 + tee_local $push66=, $1=, $pop20 i32.const $push65=, 8 i32.add $push21=, $pop66, $pop65 i32.store $discard=, 12($7), $pop21 - i64.load $push22=, 0($2) + i64.load $push22=, 0($1) i64.const $push24=, 0 i64.const $push23=, 4613381465357418496 - i32.call $push25=, __netf2@FUNCTION, $1, $pop22, $pop24, $pop23 + i32.call $push25=, __netf2@FUNCTION, $2, $pop22, $pop24, $pop23 br_if 1, $pop25 # 1: down to label26 # BB#7: # %lor.lhs.false9.i i32.load $push26=, 12($7) @@ -1091,11 +1084,11 @@ f7: # @f7 i32.add $push28=, $pop26, $pop27 i32.const $push29=, -4 i32.and $push30=, $pop28, $pop29 - tee_local $push69=, $2=, $pop30 + tee_local $push69=, $1=, $pop30 i32.const $push31=, 4 i32.add $push32=, $pop69, $pop31 i32.store $discard=, 12($7), $pop32 - i32.load $push33=, 0($2) + i32.load $push33=, 0($1) i32.const $push34=, 17 i32.ne $push35=, $pop33, $pop34 br_if 1, $pop35 # 1: down to label26 @@ -1104,7 +1097,7 @@ f7: # @f7 i32.const $push56=, 0 i32.store $discard=, bar_arg($pop56), $0 i32.const $5=, 16 - i32.add $7=, $8, $5 + i32.add $7=, $7, $5 i32.const $5=, __stack_pointer i32.store $7=, 0($5), $7 return @@ -1121,21 +1114,20 @@ f7: # @f7 .globl f8 .type f8,@function f8: # @f8 - .param i32 - .local i64, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i64, i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $3=, __stack_pointer i32.load $3=, 0($3) i32.const $4=, 16 i32.sub $7=, $3, $4 - copy_local $8=, $7 i32.const $4=, __stack_pointer i32.store $7=, 0($4), $7 + i32.store $discard=, 12($7), $1 i32.const $push0=, 0 i32.const $6=, 12 i32.add $6=, $7, $6 i32.store $discard=, pap($pop0), $6 - i32.store $discard=, 12($7), $8 block block block @@ -1154,12 +1146,12 @@ f8: # @f8 i32.add $push38=, $pop36, $pop37 i32.const $push39=, -8 i32.and $push40=, $pop38, $pop39 - tee_local $push64=, $2=, $pop40 + tee_local $push64=, $1=, $pop40 i32.const $push41=, 8 i32.add $push42=, $pop64, $pop41 i32.store $discard=, gap($pop66), $pop42 block - f64.load $push43=, 0($2) + f64.load $push43=, 0($1) f64.const $push44=, 0x1.1p4 f64.ne $push45=, $pop43, $pop44 br_if 0, $pop45 # 0: down to label33 @@ -1171,11 +1163,11 @@ f8: # @f8 i32.add $push48=, $pop46, $pop47 i32.const $push49=, -4 i32.and $push50=, $pop48, $pop49 - tee_local $push67=, $2=, $pop50 + tee_local $push67=, $1=, $pop50 i32.const $push51=, 4 i32.add $push52=, $pop67, $pop51 i32.store $discard=, gap($pop69), $pop52 - i32.load $push53=, 0($2) + i32.load $push53=, 0($1) i32.const $push54=, 129 i32.eq $push55=, $pop53, $pop54 br_if 2, $pop55 # 2: down to label31 @@ -1190,11 +1182,11 @@ f8: # @f8 i32.add $push7=, $pop5, $pop6 i32.const $push8=, -8 i32.and $push9=, $pop7, $pop8 - tee_local $push71=, $2=, $pop9 + tee_local $push71=, $1=, $pop9 i32.const $push70=, 8 i32.add $push10=, $pop71, $pop70 i32.store $discard=, 12($7), $pop10 - i64.load $push11=, 0($2) + i64.load $push11=, 0($1) i64.const $push12=, 14 i64.ne $push13=, $pop11, $pop12 br_if 1, $pop13 # 1: down to label30 @@ -1204,19 +1196,19 @@ f8: # @f8 i32.add $push16=, $pop14, $pop15 i32.const $push17=, -16 i32.and $push18=, $pop16, $pop17 - tee_local $push75=, $2=, $pop18 - i64.load $1=, 0($pop75) + tee_local $push75=, $1=, $pop18 + i64.load $2=, 0($pop75) i32.const $push74=, 8 - i32.or $push19=, $2, $pop74 + i32.or $push19=, $1, $pop74 i32.store $push20=, 12($7), $pop19 - tee_local $push73=, $2=, $pop20 + tee_local $push73=, $1=, $pop20 i32.const $push72=, 8 i32.add $push21=, $pop73, $pop72 i32.store $discard=, 12($7), $pop21 - i64.load $push22=, 0($2) + i64.load $push22=, 0($1) i64.const $push24=, 0 i64.const $push23=, 4613381465357418496 - i32.call $push25=, __netf2@FUNCTION, $1, $pop22, $pop24, $pop23 + i32.call $push25=, __netf2@FUNCTION, $2, $pop22, $pop24, $pop23 br_if 1, $pop25 # 1: down to label30 # BB#7: # %lor.lhs.false9.i i32.load $push26=, 12($7) @@ -1224,21 +1216,21 @@ f8: # @f8 i32.add $push28=, $pop26, $pop27 i32.const $push29=, -4 i32.and $push30=, $pop28, $pop29 - tee_local $push76=, $2=, $pop30 + tee_local $push76=, $1=, $pop30 i32.const $push31=, 4 i32.add $push32=, $pop76, $pop31 i32.store $discard=, 12($7), $pop32 - i32.load $push33=, 0($2) + i32.load $push33=, 0($1) i32.const $push34=, 17 i32.ne $push35=, $pop33, $pop34 br_if 1, $pop35 # 1: down to label30 .LBB10_8: # %bar.exit end_block # label31: - i32.load $2=, 12($7) + i32.load $1=, 12($7) i32.const $push56=, 0 i32.store $discard=, bar_arg($pop56), $0 i32.const $push57=, 7 - i32.add $push58=, $2, $pop57 + i32.add $push58=, $1, $pop57 i32.const $push59=, -8 i32.and $push60=, $pop58, $pop59 tee_local $push78=, $0=, $pop60 @@ -1249,7 +1241,7 @@ f8: # @f8 f64.load $push63=, 0($0) f64.store $discard=, d($pop77), $pop63 i32.const $5=, 16 - i32.add $7=, $8, $5 + i32.add $7=, $7, $5 i32.const $5=, __stack_pointer i32.store $7=, 0($5), $7 return @@ -1267,236 +1259,179 @@ f8: # @f8 .type main,@function main: # @main .result i32 - .local i32, i64, i32, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $33=, __stack_pointer - i32.load $33=, 0($33) - i32.const $34=, 48 - i32.sub $36=, $33, $34 - i32.const $34=, __stack_pointer - i32.store $36=, 0($34), $36 - call f1@FUNCTION, $0 - i32.const $push43=, 0 - i64.const $push1=, 4629418941960159232 - i64.store $discard=, d($pop43), $pop1 + i32.const $4=, __stack_pointer + i32.load $4=, 0($4) + i32.const $5=, 176 + i32.sub $20=, $4, $5 i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 4 - i32.sub $36=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $36=, 0($6), $36 + i32.store $20=, 0($5), $20 + i32.const $push55=, 0 + call f1@FUNCTION, $0, $pop55 + i32.const $push54=, 0 + i64.const $push1=, 4629418941960159232 + i64.store $discard=, d($pop54), $pop1 i32.const $push2=, 28 - i32.store $0=, 0($36), $pop2 - call f2@FUNCTION, $0 - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 4 - i32.add $36=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $36=, 0($8), $36 + i32.store $0=, 160($20):p2align=4, $pop2 + i32.const $7=, 160 + i32.add $7=, $20, $7 + call f2@FUNCTION, $0, $7 block - i32.const $push42=, 0 - i32.load $push3=, bar_arg($pop42) + i32.const $push53=, 0 + i32.load $push3=, bar_arg($pop53) i32.ne $push4=, $0, $pop3 br_if 0, $pop4 # 0: down to label34 # BB#1: # %entry - i32.const $push44=, 0 - i32.load $push0=, x($pop44) + i32.const $push56=, 0 + i32.load $push0=, x($pop56) i32.ne $push5=, $pop0, $0 br_if 0, $pop5 # 0: down to label34 # BB#2: # %if.end - i32.const $9=, __stack_pointer - i32.load $9=, 0($9) - i32.const $10=, 8 - i32.sub $36=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $36=, 0($10), $36 i64.const $push6=, 4638813169307877376 - i64.store $discard=, 0($36), $pop6 - call f3@FUNCTION, $0 - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 8 - i32.add $36=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $36=, 0($12), $36 + i64.store $discard=, 144($20):p2align=4, $pop6 + i32.const $8=, 144 + i32.add $8=, $20, $8 + call f3@FUNCTION, $0, $8 block - i32.const $push45=, 0 - f64.load $push7=, d($pop45) + i32.const $push57=, 0 + f64.load $push7=, d($pop57) f64.const $push8=, 0x1.06p7 f64.ne $push9=, $pop7, $pop8 br_if 0, $pop9 # 0: down to label35 # BB#3: # %if.end4 - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 16 - i32.sub $36=, $13, $14 - i32.const $14=, __stack_pointer - i32.store $36=, 0($14), $36 - i64.const $push11=, 4625196817309499392 - i64.store $discard=, 0($36), $pop11 - i32.const $push12=, 8 - i32.add $0=, $36, $pop12 + i32.const $push11=, 8 + i32.const $9=, 128 + i32.add $9=, $20, $9 + i32.or $push12=, $9, $pop11 i32.const $push13=, 128 - i32.store $0=, 0($0), $pop13 - i32.const $push14=, 5 - call f4@FUNCTION, $pop14 - i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 16 - i32.add $36=, $15, $16 - i32.const $16=, __stack_pointer - i32.store $36=, 0($16), $36 + i32.store $0=, 0($pop12):p2align=3, $pop13 + i64.const $push14=, 4625196817309499392 + i64.store $discard=, 128($20):p2align=4, $pop14 + i32.const $push15=, 5 + i32.const $10=, 128 + i32.add $10=, $20, $10 + call f4@FUNCTION, $pop15, $10 block - i32.const $push46=, 0 - i32.load $push15=, x($pop46) - i32.const $push16=, 16 - i32.ne $push17=, $pop15, $pop16 - br_if 0, $pop17 # 0: down to label36 -# BB#4: # %if.end4 - i32.const $push47=, 0 - i32.load $push10=, foo_arg($pop47) - i32.ne $push18=, $pop10, $0 + i32.const $push58=, 0 + i32.load $push16=, x($pop58) + i32.const $push17=, 16 + i32.ne $push18=, $pop16, $pop17 br_if 0, $pop18 # 0: down to label36 +# BB#4: # %if.end4 + i32.const $push59=, 0 + i32.load $push10=, foo_arg($pop59) + i32.ne $push19=, $pop10, $0 + br_if 0, $pop19 # 0: down to label36 # BB#5: # %if.end9 - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 16 - i32.sub $36=, $17, $18 - i32.const $18=, __stack_pointer - i32.store $36=, 0($18), $36 - i64.const $push19=, 4625478292286210048 - i64.store $discard=, 0($36), $pop19 - i32.const $push50=, 8 - i32.add $0=, $36, $pop50 - i32.const $push20=, 129 - i32.store $discard=, 0($0), $pop20 - i32.const $push21=, 16390 - call f5@FUNCTION, $pop21 - i32.const $19=, __stack_pointer - i32.load $19=, 0($19) - i32.const $20=, 16 - i32.add $36=, $19, $20 - i32.const $20=, __stack_pointer - i32.store $36=, 0($20), $36 + i32.const $push62=, 8 + i32.const $11=, 112 + i32.add $11=, $20, $11 + i32.or $push20=, $11, $pop62 + i32.const $push21=, 129 + i32.store $discard=, 0($pop20):p2align=3, $pop21 + i64.const $push22=, 4625478292286210048 + i64.store $discard=, 112($20):p2align=4, $pop22 + i32.const $push23=, 16390 + i32.const $12=, 112 + i32.add $12=, $20, $12 + call f5@FUNCTION, $pop23, $12 block - i32.const $push49=, 0 - i32.load $push22=, bar_arg($pop49) - i32.const $push48=, 16390 - i32.ne $push23=, $pop22, $pop48 - br_if 0, $pop23 # 0: down to label37 + i32.const $push61=, 0 + i32.load $push24=, bar_arg($pop61) + i32.const $push60=, 16390 + i32.ne $push25=, $pop24, $pop60 + br_if 0, $pop25 # 0: down to label37 # BB#6: # %if.end12 - i32.const $21=, __stack_pointer - i32.load $21=, 0($21) - i32.const $22=, 12 - i32.sub $36=, $21, $22 - i32.const $22=, __stack_pointer - i32.store $36=, 0($22), $36 - i64.const $push24=, 60129542156 - i64.store $discard=, 0($36):p2align=2, $pop24 - i32.const $push52=, 8 - i32.add $0=, $36, $pop52 - i32.const $push25=, -31 - i32.store $0=, 0($0), $pop25 - call f6@FUNCTION, $0 - i32.const $23=, __stack_pointer - i32.load $23=, 0($23) - i32.const $24=, 12 - i32.add $36=, $23, $24 - i32.const $24=, __stack_pointer - i32.store $36=, 0($24), $36 + i32.const $push64=, 8 + i32.const $13=, 96 + i32.add $13=, $20, $13 + i32.or $push26=, $13, $pop64 + i32.const $push27=, -31 + i32.store $0=, 0($pop26):p2align=3, $pop27 + i64.const $push28=, 60129542156 + i64.store $discard=, 96($20):p2align=4, $pop28 + i32.const $14=, 96 + i32.add $14=, $20, $14 + call f6@FUNCTION, $0, $14 block - i32.const $push51=, 0 - i32.load $push26=, bar_arg($pop51) - i32.ne $push27=, $0, $pop26 - br_if 0, $pop27 # 0: down to label38 + i32.const $push63=, 0 + i32.load $push29=, bar_arg($pop63) + i32.ne $push30=, $0, $pop29 + br_if 0, $pop30 # 0: down to label38 # BB#7: # %if.end15 - i32.const $25=, __stack_pointer - i32.load $25=, 0($25) - i32.const $26=, 40 - i32.sub $36=, $25, $26 - i32.const $26=, __stack_pointer - i32.store $36=, 0($26), $36 - i64.const $push28=, 14 - i64.store $1=, 0($36), $pop28 - i32.const $push59=, 32 - i32.add $0=, $36, $pop59 - i64.const $push29=, 4628011567076605952 - i64.store $discard=, 0($0), $pop29 - i32.const $push58=, 24 - i32.add $0=, $36, $pop58 - i32.const $push30=, 17 - i32.store $2=, 0($0), $pop30 - i32.const $push57=, 16 - i32.add $0=, $36, $pop57 - i64.const $push31=, 4613381465357418496 - i64.store $3=, 0($0), $pop31 - i32.const $push56=, 8 - i32.add $0=, $36, $pop56 - i64.const $push32=, 0 - i64.store $4=, 0($0), $pop32 - i32.const $push55=, 16392 - call f7@FUNCTION, $pop55 - i32.const $27=, __stack_pointer - i32.load $27=, 0($27) - i32.const $28=, 40 - i32.add $36=, $27, $28 - i32.const $28=, __stack_pointer - i32.store $36=, 0($28), $36 + i32.const $push71=, 32 + i32.const $15=, 48 + i32.add $15=, $20, $15 + i32.add $push31=, $15, $pop71 + i64.const $push32=, 4628011567076605952 + i64.store $discard=, 0($pop31):p2align=4, $pop32 + i32.const $push70=, 24 + i32.const $16=, 48 + i32.add $16=, $20, $16 + i32.add $push33=, $16, $pop70 + i32.const $push34=, 17 + i32.store $0=, 0($pop33):p2align=3, $pop34 + i32.const $push69=, 16 + i32.const $17=, 48 + i32.add $17=, $20, $17 + i32.add $push35=, $17, $pop69 + i64.const $push36=, 4613381465357418496 + i64.store $1=, 0($pop35):p2align=4, $pop36 + i32.const $push68=, 8 + i32.const $18=, 48 + i32.add $18=, $20, $18 + i32.or $push37=, $18, $pop68 + i64.const $push38=, 0 + i64.store $2=, 0($pop37), $pop38 + i64.const $push39=, 14 + i64.store $3=, 48($20):p2align=4, $pop39 + i32.const $push67=, 16392 + i32.const $19=, 48 + i32.add $19=, $20, $19 + call f7@FUNCTION, $pop67, $19 block - i32.const $push54=, 0 - i32.load $push33=, bar_arg($pop54) - i32.const $push53=, 16392 - i32.ne $push34=, $pop33, $pop53 - br_if 0, $pop34 # 0: down to label39 + i32.const $push66=, 0 + i32.load $push40=, bar_arg($pop66) + i32.const $push65=, 16392 + i32.ne $push41=, $pop40, $pop65 + br_if 0, $pop41 # 0: down to label39 # BB#8: # %if.end18 - i32.const $29=, __stack_pointer - i32.load $29=, 0($29) - i32.const $30=, 40 - i32.sub $36=, $29, $30 - i32.const $30=, __stack_pointer - i32.store $36=, 0($30), $36 - i64.store $discard=, 0($36), $1 - i32.const $push66=, 32 - i32.add $0=, $36, $pop66 - i64.const $push36=, 4628293042053316608 - i64.store $discard=, 0($0), $pop36 - i32.const $push65=, 24 - i32.add $0=, $36, $pop65 - i32.store $discard=, 0($0), $2 - i32.const $push64=, 16 - i32.add $0=, $36, $pop64 - i64.store $discard=, 0($0), $3 - i32.const $push63=, 8 - i32.add $0=, $36, $pop63 - i64.store $discard=, 0($0), $4 - i32.const $push62=, 16392 - call f8@FUNCTION, $pop62 - i32.const $31=, __stack_pointer - i32.load $31=, 0($31) - i32.const $32=, 40 - i32.add $36=, $31, $32 - i32.const $32=, __stack_pointer - i32.store $36=, 0($32), $36 + i32.const $push78=, 32 + i32.add $push43=, $20, $pop78 + i64.const $push44=, 4628293042053316608 + i64.store $discard=, 0($pop43):p2align=4, $pop44 + i32.const $push77=, 24 + i32.add $push45=, $20, $pop77 + i32.store $discard=, 0($pop45):p2align=3, $0 + i32.const $push76=, 16 + i32.add $push46=, $20, $pop76 + i64.store $discard=, 0($pop46):p2align=4, $1 + i32.const $push75=, 8 + i32.or $push47=, $20, $pop75 + i64.store $discard=, 0($pop47), $2 + i64.store $discard=, 0($20):p2align=4, $3 + i32.const $push74=, 16392 + call f8@FUNCTION, $pop74, $20 block - i32.const $push61=, 0 - i32.load $push37=, bar_arg($pop61) - i32.const $push60=, 16392 - i32.ne $push38=, $pop37, $pop60 - br_if 0, $pop38 # 0: down to label40 + i32.const $push73=, 0 + i32.load $push48=, bar_arg($pop73) + i32.const $push72=, 16392 + i32.ne $push49=, $pop48, $pop72 + br_if 0, $pop49 # 0: down to label40 # BB#9: # %if.end18 - i32.const $push67=, 0 - f64.load $push35=, d($pop67) - f64.const $push39=, 0x1.bp4 - f64.ne $push40=, $pop35, $pop39 - br_if 0, $pop40 # 0: down to label40 + i32.const $push79=, 0 + f64.load $push42=, d($pop79) + f64.const $push50=, 0x1.bp4 + f64.ne $push51=, $pop42, $pop50 + br_if 0, $pop51 # 0: down to label40 # BB#10: # %if.end23 - i32.const $push41=, 0 - i32.const $35=, 48 - i32.add $36=, $36, $35 - i32.const $35=, __stack_pointer - i32.store $36=, 0($35), $36 - return $pop41 + i32.const $push52=, 0 + i32.const $6=, 176 + i32.add $20=, $20, $6 + i32.const $6=, __stack_pointer + i32.store $20=, 0($6), $20 + return $pop52 .LBB11_11: # %if.then22 end_block # label40: call abort@FUNCTION diff --git a/test/torture-s/stdarg-2.c.s b/test/torture-s/stdarg-2.c.s index 3aa78c087..f523caf52 100644 --- a/test/torture-s/stdarg-2.c.s +++ b/test/torture-s/stdarg-2.c.s @@ -219,12 +219,11 @@ bar: # @bar .globl f1 .type f1,@function f1: # @f1 - .param i32 - .local i32, i32 + .param i32, i32 # BB#0: # %entry i32.const $push0=, 0 i32.const $push11=, 0 - i32.store $push1=, gap($pop11), $2 + i32.store $push1=, gap($pop11), $1 i32.const $push2=, 3 i32.add $push3=, $pop1, $pop2 i32.const $push4=, -4 @@ -246,11 +245,10 @@ f1: # @f1 .globl f2 .type f2,@function f2: # @f2 - .param i32 - .local i32, i32 + .param i32, i32 # BB#0: # %entry i32.const $push23=, 0 - i32.store $discard=, gap($pop23), $2 + i32.store $discard=, gap($pop23), $1 block i32.const $push0=, 16386 i32.ne $push1=, $0, $pop0 @@ -306,17 +304,16 @@ f2: # @f2 .globl f3 .type f3,@function f3: # @f3 - .param i32 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $2=, __stack_pointer i32.load $2=, 0($2) i32.const $3=, 48 i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer i32.store $5=, 0($3), $5 - i32.store $push0=, 16($5):p2align=4, $6 + i32.store $push0=, 16($5):p2align=4, $1 i32.const $push1=, 3 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -4 @@ -329,7 +326,7 @@ f3: # @f3 i32.load $push7=, 0($1) i32.store $discard=, x($pop8), $pop7 i32.const $4=, 48 - i32.add $5=, $6, $4 + i32.add $5=, $5, $4 i32.const $4=, __stack_pointer i32.store $5=, 0($4), $5 return @@ -342,17 +339,16 @@ f3: # @f3 .globl f4 .type f4,@function f4: # @f4 - .param i32 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $2=, __stack_pointer i32.load $2=, 0($2) i32.const $3=, 48 i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer i32.store $5=, 0($3), $5 - i32.store $discard=, 16($5):p2align=4, $6 + i32.store $discard=, 16($5):p2align=4, $1 block i32.const $push0=, 16386 i32.ne $push1=, $0, $pop0 @@ -399,7 +395,7 @@ f4: # @f4 i32.const $push22=, 0 i32.store $discard=, bar_arg($pop22), $0 i32.const $4=, 48 - i32.add $5=, $6, $4 + i32.add $5=, $5, $4 i32.const $4=, __stack_pointer i32.store $5=, 0($4), $5 return @@ -412,17 +408,16 @@ f4: # @f4 .globl f5 .type f5,@function f5: # @f5 - .param i32 - .local i64, i64, i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i64, i64, i32, i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $4=, __stack_pointer i32.load $4=, 0($4) i32.const $5=, 80 i32.sub $9=, $4, $5 - copy_local $10=, $9 i32.const $5=, __stack_pointer i32.store $9=, 0($5), $9 - i32.store $push0=, 48($9):p2align=4, $10 + i32.store $push0=, 48($9):p2align=4, $1 i32.store $discard=, 76($9), $pop0 block block @@ -449,7 +444,7 @@ f5: # @f5 i32.const $push49=, 4 i32.add $push50=, $pop73, $pop49 i32.store $discard=, 76($9), $pop50 - i32.load $3=, 0($0) + i32.load $1=, 0($0) i32.const $push51=, 11 i32.add $push52=, $0, $pop51 i32.const $push53=, -8 @@ -458,10 +453,10 @@ f5: # @f5 i32.const $push55=, 8 i32.add $push56=, $pop72, $pop55 i32.store $discard=, 76($9), $pop56 - f64.convert_s/i32 $push58=, $3 + f64.convert_s/i32 $push58=, $1 f64.load $push57=, 0($0) f64.add $push59=, $pop58, $pop57 - i32.trunc_s/f64 $3=, $pop59 + i32.trunc_s/f64 $1=, $pop59 i32.const $push60=, 15 i32.add $push61=, $0, $pop60 i32.const $push71=, -8 @@ -471,7 +466,7 @@ f5: # @f5 i32.add $push63=, $pop70, $pop69 i32.store $discard=, 76($9), $pop63 i32.const $push67=, 0 - i64.extend_u/i32 $push65=, $3 + i64.extend_u/i32 $push65=, $1 i64.load $push64=, 0($0) i64.add $push66=, $pop65, $pop64 i64.store32 $discard=, foo_arg($pop67), $pop66 @@ -491,7 +486,7 @@ f5: # @f5 i32.const $push77=, 8 i32.add $push34=, $pop78, $pop77 i32.store $discard=, 76($9), $pop34 - i32.load $3=, 0($0):p2align=3 + i32.load $1=, 0($0):p2align=3 i32.const $push35=, 15 i32.add $push36=, $0, $pop35 i32.const $push76=, -8 @@ -502,7 +497,7 @@ f5: # @f5 i32.store $discard=, 76($9), $pop38 i32.const $push43=, 0 f64.load $push39=, 0($0) - f64.convert_s/i32 $push40=, $3 + f64.convert_s/i32 $push40=, $1 f64.add $push41=, $pop39, $pop40 i32.trunc_s/f64 $push42=, $pop41 i32.store $discard=, foo_arg($pop43), $pop42 @@ -518,13 +513,13 @@ f5: # @f5 i32.const $push11=, 4 i32.add $push12=, $pop84, $pop11 i32.store $discard=, 76($9), $pop12 - i32.load $3=, 0($0) + i32.load $1=, 0($0) i32.const $push13=, 19 i32.add $push14=, $0, $pop13 i32.const $push15=, -16 i32.and $push16=, $pop14, $pop15 tee_local $push83=, $0=, $pop16 - i64.load $1=, 0($pop83) + i64.load $2=, 0($pop83) i32.const $push17=, 8 i32.or $push18=, $0, $pop17 i32.store $push19=, 76($9), $pop18 @@ -532,17 +527,17 @@ f5: # @f5 i32.const $push81=, 8 i32.add $push20=, $pop82, $pop81 i32.store $discard=, 76($9), $pop20 - i64.load $2=, 0($0) + i64.load $3=, 0($0) i32.const $7=, 16 i32.add $7=, $9, $7 - call __floatsitf@FUNCTION, $7, $3 + call __floatsitf@FUNCTION, $7, $1 i64.load $push23=, 16($9) i32.const $push80=, 8 i32.const $8=, 16 i32.add $8=, $9, $8 i32.add $push21=, $8, $pop80 i64.load $push22=, 0($pop21) - call __addtf3@FUNCTION, $9, $pop23, $pop22, $1, $2 + call __addtf3@FUNCTION, $9, $pop23, $pop22, $2, $3 i32.const $push28=, 0 i64.load $push26=, 0($9) i32.const $push79=, 8 @@ -553,7 +548,7 @@ f5: # @f5 .LBB6_7: # %foo.exit end_block # label10: i32.const $6=, 80 - i32.add $9=, $10, $6 + i32.add $9=, $9, $6 i32.const $6=, __stack_pointer i32.store $9=, 0($6), $9 return @@ -566,32 +561,31 @@ f5: # @f5 .globl f6 .type f6,@function f6: # @f6 - .param i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $3=, __stack_pointer i32.load $3=, 0($3) i32.const $4=, 16 i32.sub $6=, $3, $4 - copy_local $7=, $6 i32.const $4=, __stack_pointer i32.store $6=, 0($4), $6 i32.const $push0=, 4 - i32.or $1=, $6, $pop0 - i32.store $push1=, 0($1), $7 + 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 $push5=, $pop3, $pop4 - tee_local $push10=, $2=, $pop5 + tee_local $push10=, $1=, $pop5 i32.const $push9=, 4 i32.add $push6=, $pop10, $pop9 - i32.store $discard=, 0($1), $pop6 + i32.store $discard=, 0($2), $pop6 i32.const $push8=, 0 - i32.load $push7=, 0($2) + i32.load $push7=, 0($1) i32.store $discard=, x($pop8), $pop7 i32.const $5=, 16 - i32.add $6=, $7, $5 + i32.add $6=, $6, $5 i32.const $5=, __stack_pointer i32.store $6=, 0($5), $6 return @@ -604,19 +598,18 @@ f6: # @f6 .globl f7 .type f7,@function f7: # @f7 - .param i32 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $2=, __stack_pointer i32.load $2=, 0($2) i32.const $3=, 16 i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer i32.store $5=, 0($3), $5 i32.const $push23=, 4 i32.or $push0=, $5, $pop23 - i32.store $discard=, 0($pop0), $6 + i32.store $discard=, 0($pop0), $1 block i32.const $push1=, 16386 i32.ne $push2=, $0, $pop1 @@ -663,7 +656,7 @@ f7: # @f7 i32.const $push22=, 0 i32.store $discard=, bar_arg($pop22), $0 i32.const $4=, 16 - i32.add $5=, $6, $4 + i32.add $5=, $5, $4 i32.const $4=, __stack_pointer i32.store $5=, 0($4), $5 return @@ -676,21 +669,20 @@ f7: # @f7 .globl f8 .type f8,@function f8: # @f8 - .param i32 - .local i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $4=, __stack_pointer i32.load $4=, 0($4) i32.const $5=, 64 i32.sub $12=, $4, $5 - copy_local $13=, $12 i32.const $5=, __stack_pointer i32.store $12=, 0($5), $12 i32.const $push68=, 4 i32.const $7=, 40 i32.add $7=, $12, $7 i32.or $push0=, $7, $pop68 - i32.store $push1=, 0($pop0), $13 + i32.store $push1=, 0($pop0), $1 i32.store $discard=, 60($12), $pop1 block block @@ -717,7 +709,7 @@ f8: # @f8 i32.const $push49=, 4 i32.add $push50=, $pop74, $pop49 i32.store $discard=, 60($12), $pop50 - i32.load $3=, 0($0) + i32.load $1=, 0($0) i32.const $push51=, 11 i32.add $push52=, $0, $pop51 i32.const $push53=, -8 @@ -726,10 +718,10 @@ f8: # @f8 i32.const $push55=, 8 i32.add $push56=, $pop73, $pop55 i32.store $discard=, 60($12), $pop56 - f64.convert_s/i32 $push58=, $3 + f64.convert_s/i32 $push58=, $1 f64.load $push57=, 0($0) f64.add $push59=, $pop58, $pop57 - i32.trunc_s/f64 $3=, $pop59 + i32.trunc_s/f64 $1=, $pop59 i32.const $push60=, 15 i32.add $push61=, $0, $pop60 i32.const $push72=, -8 @@ -739,7 +731,7 @@ f8: # @f8 i32.add $push63=, $pop71, $pop70 i32.store $discard=, 60($12), $pop63 i32.const $push67=, 0 - i64.extend_u/i32 $push65=, $3 + i64.extend_u/i32 $push65=, $1 i64.load $push64=, 0($0) i64.add $push66=, $pop65, $pop64 i64.store32 $discard=, foo_arg($pop67), $pop66 @@ -759,7 +751,7 @@ f8: # @f8 i32.const $push78=, 8 i32.add $push34=, $pop79, $pop78 i32.store $discard=, 60($12), $pop34 - i32.load $3=, 0($0):p2align=3 + i32.load $1=, 0($0):p2align=3 i32.const $push35=, 15 i32.add $push36=, $0, $pop35 i32.const $push77=, -8 @@ -770,7 +762,7 @@ f8: # @f8 i32.store $discard=, 60($12), $pop38 i32.const $push43=, 0 f64.load $push39=, 0($0) - f64.convert_s/i32 $push40=, $3 + f64.convert_s/i32 $push40=, $1 f64.add $push41=, $pop39, $pop40 i32.trunc_s/f64 $push42=, $pop41 i32.store $discard=, foo_arg($pop43), $pop42 @@ -786,13 +778,13 @@ f8: # @f8 i32.const $push85=, 4 i32.add $push12=, $pop86, $pop85 i32.store $discard=, 60($12), $pop12 - i32.load $3=, 0($0) + i32.load $1=, 0($0) i32.const $push13=, 19 i32.add $push14=, $0, $pop13 i32.const $push15=, -16 i32.and $push16=, $pop14, $pop15 tee_local $push84=, $0=, $pop16 - i64.load $1=, 0($pop84) + i64.load $2=, 0($pop84) i32.const $push17=, 8 i32.or $push18=, $0, $pop17 i32.store $push19=, 60($12), $pop18 @@ -800,10 +792,10 @@ f8: # @f8 i32.const $push82=, 8 i32.add $push20=, $pop83, $pop82 i32.store $discard=, 60($12), $pop20 - i64.load $2=, 0($0) + i64.load $3=, 0($0) i32.const $8=, 24 i32.add $8=, $12, $8 - call __floatsitf@FUNCTION, $8, $3 + call __floatsitf@FUNCTION, $8, $1 i64.load $push23=, 24($12) i32.const $push81=, 8 i32.const $9=, 24 @@ -812,7 +804,7 @@ f8: # @f8 i64.load $push22=, 0($pop21) i32.const $10=, 8 i32.add $10=, $12, $10 - call __addtf3@FUNCTION, $10, $pop23, $pop22, $1, $2 + call __addtf3@FUNCTION, $10, $pop23, $pop22, $2, $3 i32.const $push28=, 0 i64.load $push26=, 8($12) i32.const $push80=, 8 @@ -825,7 +817,7 @@ f8: # @f8 .LBB9_7: # %foo.exit end_block # label16: i32.const $6=, 64 - i32.add $12=, $13, $6 + i32.add $12=, $12, $6 i32.const $6=, __stack_pointer i32.store $12=, 0($6), $12 return @@ -838,32 +830,31 @@ f8: # @f8 .globl f10 .type f10,@function f10: # @f10 - .param i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $3=, __stack_pointer i32.load $3=, 0($3) i32.const $4=, 16 i32.sub $6=, $3, $4 - copy_local $7=, $6 i32.const $4=, __stack_pointer i32.store $6=, 0($4), $6 i32.const $push0=, 12 - i32.add $1=, $6, $pop0 - i32.store $push1=, 0($1), $7 + 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 $push5=, $pop3, $pop4 - tee_local $push10=, $2=, $pop5 + tee_local $push10=, $1=, $pop5 i32.const $push6=, 4 i32.add $push7=, $pop10, $pop6 - i32.store $discard=, 0($1), $pop7 + i32.store $discard=, 0($2), $pop7 i32.const $push9=, 0 - i32.load $push8=, 0($2) + i32.load $push8=, 0($1) i32.store $discard=, x($pop9), $pop8 i32.const $5=, 16 - i32.add $6=, $7, $5 + i32.add $6=, $6, $5 i32.const $5=, __stack_pointer i32.store $6=, 0($5), $6 return @@ -876,19 +867,18 @@ f10: # @f10 .globl f11 .type f11,@function f11: # @f11 - .param i32 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $2=, __stack_pointer i32.load $2=, 0($2) i32.const $3=, 16 i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer i32.store $5=, 0($3), $5 i32.const $push1=, 12 i32.add $push0=, $5, $pop1 - i32.store $discard=, 0($pop0), $6 + i32.store $discard=, 0($pop0), $1 block i32.const $push2=, 16386 i32.ne $push3=, $0, $pop2 @@ -935,7 +925,7 @@ f11: # @f11 i32.const $push24=, 0 i32.store $discard=, bar_arg($pop24), $0 i32.const $4=, 16 - i32.add $5=, $6, $4 + i32.add $5=, $5, $4 i32.const $4=, __stack_pointer i32.store $5=, 0($4), $5 return @@ -948,21 +938,20 @@ f11: # @f11 .globl f12 .type f12,@function f12: # @f12 - .param i32 - .local i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $4=, __stack_pointer i32.load $4=, 0($4) i32.const $5=, 64 i32.sub $12=, $4, $5 - copy_local $13=, $12 i32.const $5=, __stack_pointer i32.store $12=, 0($5), $12 i32.const $push1=, 12 i32.const $7=, 40 i32.add $7=, $12, $7 i32.add $push0=, $7, $pop1 - i32.store $push2=, 0($pop0), $13 + i32.store $push2=, 0($pop0), $1 i32.store $discard=, 60($12), $pop2 block block @@ -989,7 +978,7 @@ f12: # @f12 i32.const $push51=, 4 i32.add $push52=, $pop75, $pop51 i32.store $discard=, 60($12), $pop52 - i32.load $3=, 0($0) + i32.load $1=, 0($0) i32.const $push53=, 11 i32.add $push54=, $0, $pop53 i32.const $push55=, -8 @@ -998,10 +987,10 @@ f12: # @f12 i32.const $push57=, 8 i32.add $push58=, $pop74, $pop57 i32.store $discard=, 60($12), $pop58 - f64.convert_s/i32 $push60=, $3 + f64.convert_s/i32 $push60=, $1 f64.load $push59=, 0($0) f64.add $push61=, $pop60, $pop59 - i32.trunc_s/f64 $3=, $pop61 + i32.trunc_s/f64 $1=, $pop61 i32.const $push62=, 15 i32.add $push63=, $0, $pop62 i32.const $push73=, -8 @@ -1011,7 +1000,7 @@ f12: # @f12 i32.add $push65=, $pop72, $pop71 i32.store $discard=, 60($12), $pop65 i32.const $push69=, 0 - i64.extend_u/i32 $push67=, $3 + i64.extend_u/i32 $push67=, $1 i64.load $push66=, 0($0) i64.add $push68=, $pop67, $pop66 i64.store32 $discard=, foo_arg($pop69), $pop68 @@ -1031,7 +1020,7 @@ f12: # @f12 i32.const $push79=, 8 i32.add $push36=, $pop80, $pop79 i32.store $discard=, 60($12), $pop36 - i32.load $3=, 0($0):p2align=3 + i32.load $1=, 0($0):p2align=3 i32.const $push37=, 15 i32.add $push38=, $0, $pop37 i32.const $push78=, -8 @@ -1042,7 +1031,7 @@ f12: # @f12 i32.store $discard=, 60($12), $pop40 i32.const $push45=, 0 f64.load $push41=, 0($0) - f64.convert_s/i32 $push42=, $3 + f64.convert_s/i32 $push42=, $1 f64.add $push43=, $pop41, $pop42 i32.trunc_s/f64 $push44=, $pop43 i32.store $discard=, foo_arg($pop45), $pop44 @@ -1058,13 +1047,13 @@ f12: # @f12 i32.const $push13=, 4 i32.add $push14=, $pop86, $pop13 i32.store $discard=, 60($12), $pop14 - i32.load $3=, 0($0) + i32.load $1=, 0($0) i32.const $push15=, 19 i32.add $push16=, $0, $pop15 i32.const $push17=, -16 i32.and $push18=, $pop16, $pop17 tee_local $push85=, $0=, $pop18 - i64.load $1=, 0($pop85) + i64.load $2=, 0($pop85) i32.const $push19=, 8 i32.or $push20=, $0, $pop19 i32.store $push21=, 60($12), $pop20 @@ -1072,10 +1061,10 @@ f12: # @f12 i32.const $push83=, 8 i32.add $push22=, $pop84, $pop83 i32.store $discard=, 60($12), $pop22 - i64.load $2=, 0($0) + i64.load $3=, 0($0) i32.const $8=, 24 i32.add $8=, $12, $8 - call __floatsitf@FUNCTION, $8, $3 + call __floatsitf@FUNCTION, $8, $1 i64.load $push25=, 24($12) i32.const $push82=, 8 i32.const $9=, 24 @@ -1084,7 +1073,7 @@ f12: # @f12 i64.load $push24=, 0($pop23) i32.const $10=, 8 i32.add $10=, $12, $10 - call __addtf3@FUNCTION, $10, $pop25, $pop24, $1, $2 + call __addtf3@FUNCTION, $10, $pop25, $pop24, $2, $3 i32.const $push30=, 0 i64.load $push28=, 8($12) i32.const $push81=, 8 @@ -1097,7 +1086,7 @@ f12: # @f12 .LBB12_7: # %foo.exit end_block # label22: i32.const $6=, 64 - i32.add $12=, $13, $6 + i32.add $12=, $12, $6 i32.const $6=, __stack_pointer i32.store $12=, 0($6), $12 return @@ -1111,261 +1100,179 @@ 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, i32, i32, i32, i32, i32, i32, i32, 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, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $37=, __stack_pointer - i32.load $37=, 0($37) - i32.const $38=, 32 - i32.sub $40=, $37, $38 - i32.const $38=, __stack_pointer - i32.store $40=, 0($38), $40 i32.const $1=, __stack_pointer i32.load $1=, 0($1) - i32.const $2=, 4 - i32.sub $40=, $1, $2 + i32.const $2=, 176 + i32.sub $16=, $1, $2 i32.const $2=, __stack_pointer - i32.store $40=, 0($2), $40 + i32.store $16=, 0($2), $16 i32.const $push0=, 79 - i32.store $0=, 0($40), $pop0 - call f1@FUNCTION, $0 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 4 - i32.add $40=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $40=, 0($4), $40 + i32.store $0=, 160($16):p2align=4, $pop0 + i32.const $4=, 160 + i32.add $4=, $16, $4 + call f1@FUNCTION, $0, $4 block - i32.const $push52=, 0 - i32.load $push1=, x($pop52) + i32.const $push58=, 0 + i32.load $push1=, x($pop58) i32.ne $push2=, $0, $pop1 br_if 0, $pop2 # 0: down to label26 # BB#1: # %if.end - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 16 - i32.sub $40=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $40=, 0($6), $40 - i32.const $push3=, 13 - i32.store $discard=, 0($40), $pop3 - i32.const $push4=, 8 - i32.add $0=, $40, $pop4 + 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($0), $pop5 - i32.const $push6=, 16386 - call f2@FUNCTION, $pop6 - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 16 - i32.add $40=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $40=, 0($8), $40 + 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 block - i32.const $push54=, 0 - i32.load $push7=, bar_arg($pop54) - i32.const $push53=, 16386 - i32.ne $push8=, $pop7, $pop53 - br_if 0, $pop8 # 0: down to label27 + 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 label27 # BB#2: # %if.end3 - i32.const $9=, __stack_pointer - i32.load $9=, 0($9) - i32.const $10=, 4 - i32.sub $40=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $40=, 0($10), $40 - i32.const $push9=, 2031 - i32.store $0=, 0($40), $pop9 - call f3@FUNCTION, $0 - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 4 - i32.add $40=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $40=, 0($12), $40 + 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 block - i32.const $push55=, 0 - i32.load $push10=, x($pop55) - i32.ne $push11=, $0, $pop10 - br_if 0, $pop11 # 0: down to label28 + i32.const $push61=, 0 + i32.load $push11=, x($pop61) + i32.ne $push12=, $0, $pop11 + br_if 0, $pop12 # 0: down to label28 # BB#3: # %if.end6 - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 4 - i32.sub $40=, $13, $14 - i32.const $14=, __stack_pointer - i32.store $40=, 0($14), $40 - i32.const $push12=, 18 - i32.store $discard=, 0($40), $pop12 - i32.const $push13=, 4 - call f4@FUNCTION, $pop13 - i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 4 - i32.add $40=, $15, $16 - i32.const $16=, __stack_pointer - i32.store $40=, 0($16), $40 + 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 block - i32.const $push57=, 0 - i32.load $push14=, bar_arg($pop57) - i32.const $push56=, 4 - i32.ne $push15=, $pop14, $pop56 - br_if 0, $pop15 # 0: down to label29 + 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 label29 # BB#4: # %if.end9 - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 24 - i32.sub $40=, $17, $18 - i32.const $18=, __stack_pointer - i32.store $40=, 0($18), $40 - i32.const $push16=, 1 - i32.store $discard=, 0($40), $pop16 i32.const $push17=, 16 - i32.add $0=, $40, $pop17 - i64.const $push18=, 18 - i64.store $discard=, 0($0), $pop18 - i32.const $push19=, 8 - i32.add $0=, $40, $pop19 - i64.const $push20=, 4626041242239631360 - i64.store $discard=, 0($0), $pop20 - i32.const $push21=, 5 - call f5@FUNCTION, $pop21 - i32.const $19=, __stack_pointer - i32.load $19=, 0($19) - i32.const $20=, 24 - i32.add $40=, $19, $20 - i32.const $20=, __stack_pointer - i32.store $40=, 0($20), $40 + 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 block - i32.const $push58=, 0 - i32.load $push22=, foo_arg($pop58) - i32.const $push23=, 38 - i32.ne $push24=, $pop22, $pop23 - br_if 0, $pop24 # 0: down to label30 + 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 label30 # BB#5: # %if.end12 - i32.const $21=, __stack_pointer - i32.load $21=, 0($21) - i32.const $22=, 4 - i32.sub $40=, $21, $22 - i32.const $22=, __stack_pointer - i32.store $40=, 0($22), $40 - i32.const $push25=, 18 - i32.store $0=, 0($40), $pop25 - call f6@FUNCTION, $0 - i32.const $23=, __stack_pointer - i32.load $23=, 0($23) - i32.const $24=, 4 - i32.add $40=, $23, $24 - i32.const $24=, __stack_pointer - i32.store $40=, 0($24), $40 + 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 block - i32.const $push59=, 0 - i32.load $push26=, x($pop59) - i32.ne $push27=, $0, $pop26 - br_if 0, $pop27 # 0: down to label31 + i32.const $push65=, 0 + i32.load $push29=, x($pop65) + i32.ne $push30=, $0, $pop29 + br_if 0, $pop30 # 0: down to label31 # BB#6: # %if.end15 - i32.const $push28=, 7 - call f7@FUNCTION, $pop28 + i32.const $push31=, 7 + i32.const $push68=, 0 + call f7@FUNCTION, $pop31, $pop68 block - i32.const $push61=, 0 - i32.load $push29=, bar_arg($pop61) - i32.const $push60=, 7 - i32.ne $push30=, $pop29, $pop60 - br_if 0, $pop30 # 0: down to label32 + 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 label32 # BB#7: # %if.end18 - i32.const $25=, __stack_pointer - i32.load $25=, 0($25) - i32.const $26=, 16 - i32.sub $40=, $25, $26 - i32.const $26=, __stack_pointer - i32.store $40=, 0($26), $40 - i64.const $push31=, 2031 - i64.store $discard=, 0($40), $pop31 - i32.const $push32=, 8 - i32.add $0=, $40, $pop32 - i64.const $push33=, 4623507967449235456 - i64.store $discard=, 0($0), $pop33 - i32.const $push63=, 8 - call f8@FUNCTION, $pop63 - i32.const $27=, __stack_pointer - i32.load $27=, 0($27) - i32.const $28=, 16 - i32.add $40=, $27, $28 - i32.const $28=, __stack_pointer - i32.store $40=, 0($28), $40 + 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 block - i32.const $push62=, 0 - i32.load $push34=, foo_arg($pop62) - i32.const $push35=, 2044 - i32.ne $push36=, $pop34, $pop35 - br_if 0, $pop36 # 0: down to label33 + 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 label33 # BB#8: # %if.end21 - i32.const $29=, __stack_pointer - i32.load $29=, 0($29) - i32.const $30=, 4 - i32.sub $40=, $29, $30 - i32.const $30=, __stack_pointer - i32.store $40=, 0($30), $40 - i32.const $push37=, 180 - i32.store $0=, 0($40), $pop37 - call f10@FUNCTION, $0 - i32.const $31=, __stack_pointer - i32.load $31=, 0($31) - i32.const $32=, 4 - i32.add $40=, $31, $32 - i32.const $32=, __stack_pointer - i32.store $40=, 0($32), $40 + 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 block - i32.const $push64=, 0 - i32.load $push38=, x($pop64) - i32.ne $push39=, $0, $pop38 - br_if 0, $pop39 # 0: down to label34 + i32.const $push71=, 0 + i32.load $push42=, x($pop71) + i32.ne $push43=, $0, $pop42 + br_if 0, $pop43 # 0: down to label34 # BB#9: # %if.end24 - i32.const $push40=, 10 - call f11@FUNCTION, $pop40 + i32.const $push44=, 10 + i32.const $push74=, 0 + call f11@FUNCTION, $pop44, $pop74 block - i32.const $push66=, 0 - i32.load $push41=, bar_arg($pop66) - i32.const $push65=, 10 - i32.ne $push42=, $pop41, $pop65 - br_if 0, $pop42 # 0: down to label35 + 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 label35 # BB#10: # %if.end27 - i32.const $33=, __stack_pointer - i32.load $33=, 0($33) - i32.const $34=, 24 - i32.sub $40=, $33, $34 - i32.const $34=, __stack_pointer - i32.store $40=, 0($34), $40 - i32.const $push43=, 2030 - i32.store $discard=, 0($40), $pop43 - i32.const $push44=, 16 - i32.add $0=, $40, $pop44 - i64.const $push45=, 4612389705869164544 - i64.store $discard=, 0($0), $pop45 - i32.const $push46=, 8 - i32.add $0=, $40, $pop46 - i64.const $push47=, 0 - i64.store $discard=, 0($0), $pop47 - i32.const $push48=, 11 - call f12@FUNCTION, $pop48 - i32.const $35=, __stack_pointer - i32.load $35=, 0($35) - i32.const $36=, 24 - i32.add $40=, $35, $36 - i32.const $36=, __stack_pointer - i32.store $40=, 0($36), $40 + 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 block - i32.const $push67=, 0 - i32.load $push49=, foo_arg($pop67) - i32.const $push50=, 2042 - i32.ne $push51=, $pop49, $pop50 - br_if 0, $pop51 # 0: down to label36 + 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 label36 # BB#11: # %if.end30 - i32.const $push68=, 0 - i32.const $39=, 32 - i32.add $40=, $40, $39 - i32.const $39=, __stack_pointer - i32.store $40=, 0($39), $40 - return $pop68 + 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 .LBB13_12: # %if.then29 end_block # label36: call abort@FUNCTION diff --git a/test/torture-s/stdarg-4.c.s b/test/torture-s/stdarg-4.c.s index 85e7b7827..ba6d722da 100644 --- a/test/torture-s/stdarg-4.c.s +++ b/test/torture-s/stdarg-4.c.s @@ -63,54 +63,53 @@ f1i: # @f1i .globl f1 .type f1,@function f1: # @f1 - .param i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $4=, __stack_pointer i32.load $4=, 0($4) i32.const $5=, 16 i32.sub $7=, $4, $5 - copy_local $8=, $7 i32.const $5=, __stack_pointer i32.store $7=, 0($5), $7 - i32.store $push0=, 8($7), $8 + i32.store $push0=, 8($7), $1 i32.store $push1=, 12($7), $pop0 i32.const $push2=, 7 i32.add $push3=, $pop1, $pop2 i32.const $push4=, -8 i32.and $push5=, $pop3, $pop4 - tee_local $push29=, $3=, $pop5 + tee_local $push29=, $1=, $pop5 i32.const $push6=, 8 i32.add $push7=, $pop29, $pop6 i32.store $discard=, 12($7), $pop7 - f64.load $push8=, 0($3) - i32.trunc_s/f64 $1=, $pop8 + f64.load $push8=, 0($1) + i32.trunc_s/f64 $2=, $pop8 i32.const $push9=, 11 - i32.add $push10=, $3, $pop9 + i32.add $push10=, $1, $pop9 i32.const $push11=, -4 i32.and $push12=, $pop10, $pop11 - tee_local $push28=, $3=, $pop12 + tee_local $push28=, $1=, $pop12 i32.const $push13=, 4 i32.add $push14=, $pop28, $pop13 i32.store $discard=, 12($7), $pop14 - i32.load $2=, 0($3) + i32.load $3=, 0($1) i32.const $push27=, 11 - i32.add $push16=, $3, $pop27 + i32.add $push16=, $1, $pop27 i32.const $push26=, -8 i32.and $push17=, $pop16, $pop26 - tee_local $push25=, $3=, $pop17 + tee_local $push25=, $1=, $pop17 i32.const $push24=, 8 i32.add $push18=, $pop25, $pop24 i32.store $discard=, 12($7), $pop18 i32.const $push23=, 0 - f64.load $push19=, 0($3) - i32.add $push15=, $2, $1 + f64.load $push19=, 0($1) + i32.add $push15=, $3, $2 f64.convert_s/i32 $push20=, $pop15 f64.add $push21=, $pop19, $pop20 i32.trunc_s/f64 $push22=, $pop21 i32.store $discard=, x($pop23), $pop22 i32.const $6=, 16 - i32.add $7=, $8, $6 + i32.add $7=, $7, $6 i32.const $6=, __stack_pointer i32.store $7=, 0($6), $7 return @@ -215,88 +214,87 @@ f2i: # @f2i .globl f2 .type f2,@function f2: # @f2 - .param i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $5=, __stack_pointer i32.load $5=, 0($5) i32.const $6=, 16 i32.sub $8=, $5, $6 - copy_local $9=, $8 i32.const $6=, __stack_pointer i32.store $8=, 0($6), $8 - i32.store $push0=, 4($8), $9 + i32.store $push0=, 4($8), $1 i32.store $push1=, 8($8), $pop0 i32.const $push2=, 3 i32.add $push3=, $pop1, $pop2 i32.const $push4=, -4 i32.and $push5=, $pop3, $pop4 - tee_local $push56=, $4=, $pop5 + tee_local $push56=, $1=, $pop5 i32.const $push6=, 4 i32.add $push7=, $pop56, $pop6 i32.store $discard=, 8($8), $pop7 - i32.load $1=, 0($4) + i32.load $2=, 0($1) i32.const $push8=, 7 - i32.add $push9=, $4, $pop8 + i32.add $push9=, $1, $pop8 i32.const $push55=, -4 i32.and $push10=, $pop9, $pop55 - tee_local $push54=, $4=, $pop10 + tee_local $push54=, $1=, $pop10 i32.const $push53=, 4 i32.add $push11=, $pop54, $pop53 i32.store $discard=, 8($8), $pop11 - i32.load $2=, 0($4) + i32.load $3=, 0($1) i32.const $push13=, 11 - i32.add $push14=, $4, $pop13 + i32.add $push14=, $1, $pop13 i32.const $push15=, -8 i32.and $push16=, $pop14, $pop15 - tee_local $push52=, $4=, $pop16 + tee_local $push52=, $1=, $pop16 i32.const $push17=, 8 i32.add $push18=, $pop52, $pop17 - i32.store $3=, 8($8), $pop18 + i32.store $4=, 8($8), $pop18 i32.const $push23=, 0 - f64.load $push19=, 0($4) - i32.add $push12=, $2, $1 + f64.load $push19=, 0($1) + i32.add $push12=, $3, $2 f64.convert_s/i32 $push20=, $pop12 f64.add $push21=, $pop19, $pop20 i32.trunc_s/f64 $push22=, $pop21 i32.store $discard=, y($pop23), $pop22 - i32.store $discard=, 12($8), $3 + i32.store $discard=, 12($8), $4 i32.const $push24=, 15 - i32.add $push25=, $4, $pop24 + i32.add $push25=, $1, $pop24 i32.const $push51=, -8 i32.and $push26=, $pop25, $pop51 - tee_local $push50=, $4=, $pop26 + tee_local $push50=, $1=, $pop26 i32.const $push49=, 8 i32.add $push27=, $pop50, $pop49 i32.store $discard=, 12($8), $pop27 - f64.load $push28=, 0($4) - i32.trunc_s/f64 $1=, $pop28 + f64.load $push28=, 0($1) + i32.trunc_s/f64 $2=, $pop28 i32.const $push48=, 11 - i32.add $push29=, $4, $pop48 + i32.add $push29=, $1, $pop48 i32.const $push47=, -4 i32.and $push30=, $pop29, $pop47 - tee_local $push46=, $4=, $pop30 + tee_local $push46=, $1=, $pop30 i32.const $push45=, 4 i32.add $push31=, $pop46, $pop45 i32.store $discard=, 12($8), $pop31 - i32.load $2=, 0($4) + i32.load $3=, 0($1) i32.const $push44=, 11 - i32.add $push33=, $4, $pop44 + i32.add $push33=, $1, $pop44 i32.const $push43=, -8 i32.and $push34=, $pop33, $pop43 - tee_local $push42=, $4=, $pop34 + tee_local $push42=, $1=, $pop34 i32.const $push41=, 8 i32.add $push35=, $pop42, $pop41 i32.store $discard=, 12($8), $pop35 i32.const $push40=, 0 - f64.load $push36=, 0($4) - i32.add $push32=, $2, $1 + f64.load $push36=, 0($1) + i32.add $push32=, $3, $2 f64.convert_s/i32 $push37=, $pop32 f64.add $push38=, $pop36, $pop37 i32.trunc_s/f64 $push39=, $pop38 i32.store $discard=, x($pop40), $pop39 i32.const $7=, 16 - i32.add $8=, $9, $7 + i32.add $8=, $8, $7 i32.const $7=, __stack_pointer i32.store $8=, 0($7), $8 return @@ -326,24 +324,23 @@ f3h: # @f3h .globl f3 .type f3,@function f3: # @f3 - .param i32 + .param i32, i32 .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $4=, __stack_pointer i32.load $4=, 0($4) i32.const $5=, 16 i32.sub $7=, $4, $5 - copy_local $8=, $7 i32.const $5=, __stack_pointer i32.store $7=, 0($5), $7 - i32.store $discard=, 12($7), $8 + i32.store $discard=, 12($7), $1 block i32.const $push0=, 4 i32.gt_u $push1=, $0, $pop0 br_if 0, $pop1 # 0: down to label0 # BB#1: # %entry - i32.const $3=, 0 + i32.const $1=, 0 block block block @@ -367,7 +364,7 @@ f3: # @f3 i32.store $discard=, 12($7), $pop60 i32.load $push61=, 0($0) i32.const $push62=, 1 - i32.add $3=, $pop61, $pop62 + i32.add $1=, $pop61, $pop62 br 3 # 3: down to label1 .LBB5_3: # %sw.bb4 end_block # label4: @@ -380,7 +377,7 @@ f3: # @f3 i32.const $push45=, 4 i32.add $push46=, $pop67, $pop45 i32.store $discard=, 12($7), $pop46 - i32.load $3=, 0($0) + i32.load $1=, 0($0) i32.const $push47=, 7 i32.add $push48=, $0, $pop47 i32.const $push66=, -4 @@ -390,9 +387,9 @@ f3: # @f3 i32.add $push50=, $pop65, $pop64 i32.store $discard=, 12($7), $pop50 i32.load $push51=, 0($0) - i32.add $push52=, $3, $pop51 + i32.add $push52=, $1, $pop51 i32.const $push53=, 2 - i32.add $3=, $pop52, $pop53 + i32.add $1=, $pop52, $pop53 br 2 # 2: down to label1 .LBB5_4: # %sw.bb6 end_block # label3: @@ -405,7 +402,7 @@ f3: # @f3 i32.const $push28=, 4 i32.add $push29=, $pop76, $pop28 i32.store $discard=, 12($7), $pop29 - i32.load $3=, 0($0) + i32.load $1=, 0($0) i32.const $push30=, 7 i32.add $push31=, $0, $pop30 i32.const $push75=, -4 @@ -414,7 +411,7 @@ f3: # @f3 i32.const $push73=, 4 i32.add $push33=, $pop74, $pop73 i32.store $discard=, 12($7), $pop33 - i32.load $1=, 0($0) + i32.load $2=, 0($0) i32.const $push72=, 7 i32.add $push34=, $0, $pop72 i32.const $push71=, -4 @@ -423,11 +420,11 @@ f3: # @f3 i32.const $push69=, 4 i32.add $push36=, $pop70, $pop69 i32.store $discard=, 12($7), $pop36 - i32.add $push38=, $3, $1 + i32.add $push38=, $1, $2 i32.load $push37=, 0($0) i32.add $push39=, $pop38, $pop37 i32.const $push68=, 3 - i32.add $3=, $pop39, $pop68 + i32.add $1=, $pop39, $pop68 br 1 # 1: down to label1 .LBB5_5: # %sw.bb8 end_block # label2: @@ -440,7 +437,7 @@ f3: # @f3 i32.const $push7=, 4 i32.add $push8=, $pop89, $pop7 i32.store $discard=, 12($7), $pop8 - i32.load $3=, 0($0) + i32.load $1=, 0($0) i32.const $push9=, 7 i32.add $push10=, $0, $pop9 i32.const $push88=, -4 @@ -449,7 +446,7 @@ f3: # @f3 i32.const $push86=, 4 i32.add $push12=, $pop87, $pop86 i32.store $discard=, 12($7), $pop12 - i32.load $1=, 0($0) + i32.load $2=, 0($0) i32.const $push85=, 7 i32.add $push13=, $0, $pop85 i32.const $push84=, -4 @@ -458,7 +455,7 @@ f3: # @f3 i32.const $push82=, 4 i32.add $push15=, $pop83, $pop82 i32.store $discard=, 12($7), $pop15 - i32.load $2=, 0($0) + i32.load $3=, 0($0) i32.const $push81=, 7 i32.add $push16=, $0, $pop81 i32.const $push80=, -4 @@ -467,19 +464,19 @@ f3: # @f3 i32.const $push78=, 4 i32.add $push18=, $pop79, $pop78 i32.store $discard=, 12($7), $pop18 - i32.add $push20=, $3, $1 - i32.add $push21=, $2, $pop20 + i32.add $push20=, $1, $2 + i32.add $push21=, $3, $pop20 i32.load $push19=, 0($0) i32.add $push22=, $pop21, $pop19 i32.const $push77=, 4 - i32.add $3=, $pop22, $pop77 + i32.add $1=, $pop22, $pop77 .LBB5_6: # %sw.epilog end_block # label1: i32.const $6=, 16 - i32.add $7=, $8, $6 + i32.add $7=, $7, $6 i32.const $6=, __stack_pointer i32.store $7=, 0($6), $7 - return $3 + return $1 .LBB5_7: # %sw.default end_block # label0: call abort@FUNCTION @@ -493,17 +490,16 @@ f3: # @f3 .globl f4 .type f4,@function f4: # @f4 - .param i32 - .local i32, i32, f64, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, f64, i32, i32, i32, i32 # BB#0: # %entry i32.const $4=, __stack_pointer i32.load $4=, 0($4) i32.const $5=, 16 i32.sub $7=, $4, $5 - copy_local $8=, $7 i32.const $5=, __stack_pointer i32.store $7=, 0($5), $7 - i32.store $discard=, 8($7), $8 + i32.store $discard=, 8($7), $1 block block i32.const $push0=, 5 @@ -598,7 +594,7 @@ f4: # @f4 i32.trunc_s/f64 $push50=, $pop49 i32.store $discard=, x($pop56), $pop50 i32.const $6=, 16 - i32.add $7=, $8, $6 + i32.add $7=, $7, $6 i32.const $6=, __stack_pointer i32.store $7=, 0($6), $7 return @@ -612,276 +608,217 @@ f4: # @f4 .type main,@function main: # @main .result i32 - .local i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $34=, __stack_pointer - i32.load $34=, 0($34) - i32.const $35=, 48 - i32.sub $37=, $34, $35 - i32.const $35=, __stack_pointer - i32.store $37=, 0($35), $37 i32.const $2=, __stack_pointer i32.load $2=, 0($2) - i32.const $3=, 24 - i32.sub $37=, $2, $3 + i32.const $3=, 224 + i32.sub $23=, $2, $3 i32.const $3=, __stack_pointer - i32.store $37=, 0($3), $37 - i64.const $push0=, 4625196817309499392 - i64.store $discard=, 0($37), $pop0 - i32.const $push67=, 16 - i32.add $0=, $37, $pop67 + i32.store $23=, 0($3), $23 + i32.const $push87=, 16 + i32.const $5=, 192 + i32.add $5=, $23, $5 + i32.add $push0=, $5, $pop87 i64.const $push1=, 4629700416936869888 - i64.store $discard=, 0($0), $pop1 - i32.const $push66=, 8 - i32.add $0=, $37, $pop66 - i32.const $push2=, 128 - i32.store $discard=, 0($0), $pop2 - call f1@FUNCTION, $0 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 24 - i32.add $37=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $37=, 0($5), $37 + i64.store $discard=, 0($pop0):p2align=4, $pop1 + i32.const $push86=, 8 + i32.const $6=, 192 + i32.add $6=, $23, $6 + i32.or $push2=, $6, $pop86 + i32.const $push3=, 128 + i32.store $discard=, 0($pop2):p2align=3, $pop3 + i64.const $push4=, 4625196817309499392 + i64.store $discard=, 192($23):p2align=4, $pop4 + i32.const $7=, 192 + i32.add $7=, $23, $7 + call f1@FUNCTION, $0, $7 block - i32.const $push65=, 0 - i32.load $push3=, x($pop65) - i32.const $push4=, 176 - i32.ne $push5=, $pop3, $pop4 - br_if 0, $pop5 # 0: down to label9 + i32.const $push85=, 0 + i32.load $push5=, x($pop85) + i32.const $push6=, 176 + i32.ne $push7=, $pop5, $pop6 + br_if 0, $pop7 # 0: down to label9 # BB#1: # %if.end - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 40 - i32.sub $37=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $37=, 0($7), $37 - i64.const $push7=, 30064771077 - i64.store $discard=, 0($37):p2align=2, $pop7 - i32.const $push8=, 32 - i32.add $0=, $37, $pop8 - i64.const $push9=, 4634204016564240384 - i64.store $discard=, 0($0), $pop9 - i32.const $push10=, 24 - i32.add $0=, $37, $pop10 - i32.const $push11=, 17 - i32.store $discard=, 0($0), $pop11 - i32.const $push70=, 16 - i32.add $0=, $37, $pop70 - i64.const $push12=, 4626041242239631360 - i64.store $discard=, 0($0), $pop12 - i32.const $push69=, 8 - i32.add $0=, $37, $pop69 - i64.const $push13=, 4625759767262920704 - i64.store $discard=, 0($0), $pop13 - call f2@FUNCTION, $0 - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 40 - i32.add $37=, $8, $9 - i32.const $9=, __stack_pointer - i32.store $37=, 0($9), $37 + i32.const $push9=, 32 + i32.const $8=, 144 + i32.add $8=, $23, $8 + i32.add $push10=, $8, $pop9 + i64.const $push11=, 4634204016564240384 + i64.store $discard=, 0($pop10):p2align=4, $pop11 + i32.const $push12=, 24 + i32.const $9=, 144 + i32.add $9=, $23, $9 + i32.add $push13=, $9, $pop12 + i32.const $push14=, 17 + i32.store $discard=, 0($pop13):p2align=3, $pop14 + i32.const $push90=, 16 + i32.const $10=, 144 + i32.add $10=, $23, $10 + i32.add $push15=, $10, $pop90 + i64.const $push16=, 4626041242239631360 + i64.store $discard=, 0($pop15):p2align=4, $pop16 + i32.const $push89=, 8 + i32.const $11=, 144 + i32.add $11=, $23, $11 + i32.or $push17=, $11, $pop89 + i64.const $push18=, 4625759767262920704 + i64.store $discard=, 0($pop17), $pop18 + i64.const $push19=, 30064771077 + i64.store $discard=, 144($23):p2align=4, $pop19 + i32.const $12=, 144 + i32.add $12=, $23, $12 + call f2@FUNCTION, $0, $12 block - i32.const $push68=, 0 - i32.load $push14=, x($pop68) - i32.const $push15=, 100 - i32.ne $push16=, $pop14, $pop15 - br_if 0, $pop16 # 0: down to label10 + i32.const $push88=, 0 + i32.load $push20=, x($pop88) + i32.const $push21=, 100 + i32.ne $push22=, $pop20, $pop21 + br_if 0, $pop22 # 0: down to label10 # BB#2: # %if.end - i32.const $push71=, 0 - i32.load $push6=, y($pop71) - i32.const $push17=, 30 - i32.ne $push18=, $pop6, $pop17 - br_if 0, $pop18 # 0: down to label10 + i32.const $push91=, 0 + i32.load $push8=, y($pop91) + i32.const $push23=, 30 + i32.ne $push24=, $pop8, $pop23 + br_if 0, $pop24 # 0: down to label10 # BB#3: # %if.end4 - i32.const $push19=, 0 - i32.call $0=, f3@FUNCTION, $pop19 block - br_if 0, $0 # 0: down to label11 + i32.const $push25=, 0 + i32.const $push92=, 0 + i32.call $push26=, f3@FUNCTION, $pop25, $pop92 + br_if 0, $pop26 # 0: down to label11 # BB#4: # %if.end7 - i32.const $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 4 - i32.sub $37=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $37=, 0($11), $37 - i32.const $push20=, 18 - i32.store $discard=, 0($37), $pop20 - i32.const $push21=, 1 - i32.call $0=, f3@FUNCTION, $pop21 - i32.const $12=, __stack_pointer - i32.load $12=, 0($12) - i32.const $13=, 4 - i32.add $37=, $12, $13 - i32.const $13=, __stack_pointer - i32.store $37=, 0($13), $37 + i32.const $push27=, 18 + i32.store $discard=, 128($23):p2align=4, $pop27 + i32.const $push28=, 1 + i32.const $13=, 128 + i32.add $13=, $23, $13 block - i32.const $push22=, 19 - i32.ne $push23=, $0, $pop22 - br_if 0, $pop23 # 0: down to label12 + i32.call $push29=, f3@FUNCTION, $pop28, $13 + i32.const $push30=, 19 + i32.ne $push31=, $pop29, $pop30 + br_if 0, $pop31 # 0: down to label12 # BB#5: # %if.end11 - i32.const $14=, __stack_pointer - i32.load $14=, 0($14) - i32.const $15=, 8 - i32.sub $37=, $14, $15 - i32.const $15=, __stack_pointer - i32.store $37=, 0($15), $37 - i64.const $push24=, 429496729618 - i64.store $1=, 0($37):p2align=2, $pop24 - i32.const $push25=, 2 - i32.call $0=, f3@FUNCTION, $pop25 - i32.const $16=, __stack_pointer - i32.load $16=, 0($16) - i32.const $17=, 8 - i32.add $37=, $16, $17 - i32.const $17=, __stack_pointer - i32.store $37=, 0($17), $37 + i64.const $push32=, 429496729618 + i64.store $1=, 112($23):p2align=4, $pop32 + i32.const $push33=, 2 + i32.const $14=, 112 + i32.add $14=, $23, $14 block - i32.const $push26=, 120 - i32.ne $push27=, $0, $pop26 - br_if 0, $pop27 # 0: down to label13 + i32.call $push34=, f3@FUNCTION, $pop33, $14 + i32.const $push35=, 120 + i32.ne $push36=, $pop34, $pop35 + br_if 0, $pop36 # 0: down to label13 # BB#6: # %if.end15 - i32.const $18=, __stack_pointer - i32.load $18=, 0($18) - i32.const $19=, 12 - i32.sub $37=, $18, $19 - i32.const $19=, __stack_pointer - i32.store $37=, 0($19), $37 - i64.store $discard=, 0($37):p2align=2, $1 - i32.const $push72=, 8 - i32.add $0=, $37, $pop72 - i32.const $push28=, 300 - i32.store $discard=, 0($0), $pop28 - i32.const $push29=, 3 - i32.call $0=, f3@FUNCTION, $pop29 - i32.const $20=, __stack_pointer - i32.load $20=, 0($20) - i32.const $21=, 12 - i32.add $37=, $20, $21 - i32.const $21=, __stack_pointer - i32.store $37=, 0($21), $37 + i32.const $push93=, 8 + i32.const $15=, 96 + i32.add $15=, $23, $15 + i32.or $push37=, $15, $pop93 + i32.const $push38=, 300 + i32.store $discard=, 0($pop37):p2align=3, $pop38 + i64.store $discard=, 96($23):p2align=4, $1 + i32.const $push39=, 3 + i32.const $16=, 96 + i32.add $16=, $23, $16 block - i32.const $push30=, 421 - i32.ne $push31=, $0, $pop30 - br_if 0, $pop31 # 0: down to label14 + i32.call $push40=, f3@FUNCTION, $pop39, $16 + i32.const $push41=, 421 + i32.ne $push42=, $pop40, $pop41 + br_if 0, $pop42 # 0: down to label14 # BB#7: # %if.end19 - i32.const $22=, __stack_pointer - i32.load $22=, 0($22) - i32.const $23=, 16 - i32.sub $37=, $22, $23 - i32.const $23=, __stack_pointer - i32.store $37=, 0($23), $37 - i64.const $push32=, 304942678034 - i64.store $discard=, 0($37):p2align=2, $pop32 - i32.const $push74=, 8 - i32.add $0=, $37, $pop74 - i64.const $push33=, 369367187520 - i64.store $discard=, 0($0):p2align=2, $pop33 - i32.const $push73=, 4 - i32.call $0=, f3@FUNCTION, $pop73 - i32.const $24=, __stack_pointer - i32.load $24=, 0($24) - i32.const $25=, 16 - i32.add $37=, $24, $25 - i32.const $25=, __stack_pointer - i32.store $37=, 0($25), $37 + i32.const $push95=, 8 + i32.const $17=, 80 + i32.add $17=, $23, $17 + i32.or $push43=, $17, $pop95 + i64.const $push44=, 369367187520 + i64.store $discard=, 0($pop43), $pop44 + i64.const $push45=, 304942678034 + i64.store $discard=, 80($23):p2align=4, $pop45 + i32.const $push94=, 4 + i32.const $18=, 80 + i32.add $18=, $23, $18 block - i32.const $push34=, 243 - i32.ne $push35=, $0, $pop34 - br_if 0, $pop35 # 0: down to label15 + i32.call $push46=, f3@FUNCTION, $pop94, $18 + i32.const $push47=, 243 + i32.ne $push48=, $pop46, $pop47 + br_if 0, $pop48 # 0: down to label15 # BB#8: # %if.end23 - i32.const $26=, __stack_pointer - i32.load $26=, 0($26) - i32.const $27=, 32 - i32.sub $37=, $26, $27 - i32.const $27=, __stack_pointer - i32.store $37=, 0($27), $37 - i64.const $push37=, 4618441417868443648 - i64.store $discard=, 0($37), $pop37 - i32.const $push38=, 24 - i32.add $0=, $37, $pop38 - i64.const $push39=, 4625759767262920704 - i64.store $discard=, 0($0), $pop39 - i32.const $push40=, 16 - i32.add $0=, $37, $pop40 - i32.const $push77=, 16 - i32.store $discard=, 0($0), $pop77 - i32.const $push41=, 8 - i32.add $0=, $37, $pop41 - i64.const $push42=, 4621256167635550208 - i64.store $discard=, 0($0), $pop42 - i32.const $push76=, 4 - call f4@FUNCTION, $pop76 - i32.const $28=, __stack_pointer - i32.load $28=, 0($28) - i32.const $29=, 32 - i32.add $37=, $28, $29 - i32.const $29=, __stack_pointer - i32.store $37=, 0($29), $37 + i32.const $push50=, 24 + i32.const $19=, 48 + i32.add $19=, $23, $19 + i32.add $push51=, $19, $pop50 + i64.const $push52=, 4625759767262920704 + i64.store $discard=, 0($pop51), $pop52 + i32.const $push53=, 16 + i32.const $20=, 48 + i32.add $20=, $23, $20 + i32.add $push54=, $20, $pop53 + i32.const $push98=, 16 + i32.store $discard=, 0($pop54):p2align=4, $pop98 + i32.const $push55=, 8 + i32.const $21=, 48 + i32.add $21=, $23, $21 + i32.or $push56=, $21, $pop55 + i64.const $push57=, 4621256167635550208 + i64.store $discard=, 0($pop56), $pop57 + i64.const $push58=, 4618441417868443648 + i64.store $discard=, 48($23):p2align=4, $pop58 + i32.const $push97=, 4 + i32.const $22=, 48 + i32.add $22=, $23, $22 + call f4@FUNCTION, $pop97, $22 block - i32.const $push75=, 0 - i32.load $push43=, x($pop75) - i32.const $push44=, 43 - i32.ne $push45=, $pop43, $pop44 - br_if 0, $pop45 # 0: down to label16 + i32.const $push96=, 0 + i32.load $push59=, x($pop96) + i32.const $push60=, 43 + i32.ne $push61=, $pop59, $pop60 + br_if 0, $pop61 # 0: down to label16 # BB#9: # %if.end23 - i32.const $push78=, 0 - i32.load $push36=, y($pop78) - i32.const $push46=, 6 - i32.ne $push47=, $pop36, $pop46 - br_if 0, $pop47 # 0: down to label16 + i32.const $push99=, 0 + i32.load $push49=, y($pop99) + i32.const $push62=, 6 + i32.ne $push63=, $pop49, $pop62 + br_if 0, $pop63 # 0: down to label16 # BB#10: # %if.end28 - i32.const $30=, __stack_pointer - i32.load $30=, 0($30) - i32.const $31=, 40 - i32.sub $37=, $30, $31 - i32.const $31=, __stack_pointer - i32.store $37=, 0($31), $37 - i64.const $push49=, 4619567317775286272 - i64.store $discard=, 0($37), $pop49 - i32.const $push50=, 32 - i32.add $0=, $37, $pop50 - i64.const $push51=, 4638566878703255552 - i64.store $discard=, 0($0), $pop51 - i32.const $push52=, 24 - i32.add $0=, $37, $pop52 - i32.const $push53=, 17 - i32.store $discard=, 0($0), $pop53 - i32.const $push54=, 16 - i32.add $0=, $37, $pop54 - i64.const $push55=, 4607182418800017408 - i64.store $discard=, 0($0), $pop55 - i32.const $push56=, 8 - i32.add $0=, $37, $pop56 - i64.const $push57=, 4626604192193052672 - i64.store $discard=, 0($0), $pop57 - i32.const $push58=, 5 - call f4@FUNCTION, $pop58 - i32.const $32=, __stack_pointer - i32.load $32=, 0($32) - i32.const $33=, 40 - i32.add $37=, $32, $33 - i32.const $33=, __stack_pointer - i32.store $37=, 0($33), $37 + i32.const $push65=, 32 + i32.add $push66=, $23, $pop65 + i64.const $push67=, 4638566878703255552 + i64.store $discard=, 0($pop66):p2align=4, $pop67 + i32.const $push68=, 24 + i32.add $push69=, $23, $pop68 + i32.const $push70=, 17 + i32.store $discard=, 0($pop69):p2align=3, $pop70 + i32.const $push71=, 16 + i32.add $push72=, $23, $pop71 + i64.const $push73=, 4607182418800017408 + i64.store $discard=, 0($pop72):p2align=4, $pop73 + i32.const $push74=, 8 + i32.or $push75=, $23, $pop74 + i64.const $push76=, 4626604192193052672 + i64.store $discard=, 0($pop75), $pop76 + i64.const $push77=, 4619567317775286272 + i64.store $discard=, 0($23):p2align=4, $pop77 + i32.const $push78=, 5 + call f4@FUNCTION, $pop78, $23 block - i32.const $push79=, 0 - i32.load $push59=, x($pop79) - i32.const $push60=, 144 - i32.ne $push61=, $pop59, $pop60 - br_if 0, $pop61 # 0: down to label17 + i32.const $push100=, 0 + i32.load $push79=, x($pop100) + i32.const $push80=, 144 + i32.ne $push81=, $pop79, $pop80 + br_if 0, $pop81 # 0: down to label17 # BB#11: # %if.end28 - i32.const $push80=, 0 - i32.load $push48=, y($pop80) - i32.const $push62=, 28 - i32.ne $push63=, $pop48, $pop62 - br_if 0, $pop63 # 0: down to label17 + i32.const $push101=, 0 + i32.load $push64=, y($pop101) + i32.const $push82=, 28 + i32.ne $push83=, $pop64, $pop82 + br_if 0, $pop83 # 0: down to label17 # BB#12: # %if.end33 - i32.const $push64=, 0 - i32.const $36=, 48 - i32.add $37=, $37, $36 - i32.const $36=, __stack_pointer - i32.store $37=, 0($36), $37 - return $pop64 + i32.const $push84=, 0 + i32.const $4=, 224 + i32.add $23=, $23, $4 + i32.const $4=, __stack_pointer + i32.store $23=, 0($4), $23 + return $pop84 .LBB7_13: # %if.then32 end_block # label17: call abort@FUNCTION diff --git a/test/torture-s/struct-ret-1.c.s b/test/torture-s/struct-ret-1.c.s index 2ac98cb53..c883c5250 100644 --- a/test/torture-s/struct-ret-1.c.s +++ b/test/torture-s/struct-ret-1.c.s @@ -6,79 +6,67 @@ .type f,@function f: # @f .param i32, i32, i32, f64, i32 - .local i64, i32, f64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local f64, i64, i32, f64, i64, i32, i32, i32, i32 # BB#0: # %entry - i32.const $14=, __stack_pointer - i32.load $14=, 0($14) - i32.const $15=, 64 - i32.sub $17=, $14, $15 - i32.const $15=, __stack_pointer - i32.store $17=, 0($15), $17 - i32.const $push3=, 16 - i32.add $push4=, $1, $pop3 - i32.load $6=, 0($pop4):p2align=3 - i32.const $push21=, 16 - i32.add $push6=, $4, $pop21 - i32.load $9=, 0($pop6):p2align=3 - i64.load $5=, 8($1) - i64.load $8=, 8($4) - f64.load $7=, 0($4) i32.const $10=, __stack_pointer i32.load $10=, 0($10) - i32.const $11=, 56 - i32.sub $17=, $10, $11 + i32.const $11=, 64 + i32.sub $13=, $10, $11 i32.const $11=, __stack_pointer - i32.store $17=, 0($11), $17 - f64.load $push0=, 0($1) - f64.store $discard=, 0($17), $pop0 + i32.store $13=, 0($11), $13 + i32.const $push2=, 16 + i32.add $push3=, $1, $pop2 + i32.load $7=, 0($pop3):p2align=3 + i64.load $6=, 8($1) + i64.load $9=, 8($4) + f64.load $5=, 0($1) + f64.load $8=, 0($4) i32.const $push7=, 48 - i32.add $4=, $17, $pop7 - i32.store $discard=, 0($4), $9 - i32.const $push8=, 44 - i32.add $4=, $17, $pop8 - i64.const $push1=, 32 - i64.shr_u $push5=, $8, $pop1 - i64.store32 $discard=, 0($4), $pop5 - i32.const $push9=, 40 - i32.add $4=, $17, $pop9 - i64.store32 $discard=, 0($4), $8 - i32.const $push10=, 32 - i32.add $4=, $17, $pop10 - f64.store $discard=, 0($4), $7 - i32.const $push11=, 24 - i32.add $4=, $17, $pop11 - f64.store $discard=, 0($4), $3 - i32.const $push12=, 20 - i32.add $4=, $17, $pop12 - i32.store $4=, 0($4), $2 - i32.const $push20=, 16 - i32.add $1=, $17, $pop20 - i32.store $discard=, 0($1), $6 - i32.const $push13=, 12 - i32.add $1=, $17, $pop13 - i64.const $push19=, 32 - i64.shr_u $push2=, $5, $pop19 - i64.store32 $discard=, 0($1), $pop2 - i32.const $push14=, 8 - i32.add $1=, $17, $pop14 - i64.store32 $discard=, 0($1), $5 - i32.const $push16=, out - i32.const $push15=, .L.str - i32.call $discard=, sprintf@FUNCTION, $pop16, $pop15 + i32.add $push8=, $13, $pop7 + i32.const $push31=, 16 + i32.add $push5=, $4, $pop31 + i32.load $push6=, 0($pop5):p2align=3 + i32.store $discard=, 0($pop8):p2align=4, $pop6 + i32.const $push9=, 44 + i32.add $push10=, $13, $pop9 + i64.const $push0=, 32 + i64.shr_u $push4=, $9, $pop0 + i64.store32 $discard=, 0($pop10), $pop4 + i32.const $push11=, 40 + i32.add $push12=, $13, $pop11 + i64.store32 $discard=, 0($pop12):p2align=3, $9 + i32.const $push13=, 32 + i32.add $push14=, $13, $pop13 + f64.store $discard=, 0($pop14):p2align=4, $8 + i32.const $push15=, 24 + i32.add $push16=, $13, $pop15 + f64.store $discard=, 0($pop16), $3 + i32.const $push17=, 20 + i32.add $push18=, $13, $pop17 + i32.store $4=, 0($pop18), $2 + i32.const $push30=, 16 + i32.add $push19=, $13, $pop30 + i32.store $discard=, 0($pop19):p2align=4, $7 + i32.const $push20=, 12 + i32.or $push21=, $13, $pop20 + i64.const $push29=, 32 + i64.shr_u $push1=, $6, $pop29 + i64.store32 $discard=, 0($pop21), $pop1 + i32.const $push22=, 8 + i32.or $push23=, $13, $pop22 + i64.store32 $discard=, 0($pop23):p2align=3, $6 + f64.store $discard=, 0($13):p2align=4, $5 + i32.const $push25=, out + i32.const $push24=, .L.str + i32.call $discard=, sprintf@FUNCTION, $pop25, $pop24, $13 + i32.const $push26=, f.xr + i32.const $push27=, 33 + i32.call $push28=, memcpy@FUNCTION, $0, $pop26, $pop27 + i32.store8 $discard=, 33($pop28), $4 + i32.const $12=, 64 + i32.add $13=, $13, $12 i32.const $12=, __stack_pointer - i32.load $12=, 0($12) - i32.const $13=, 56 - i32.add $17=, $12, $13 - i32.const $13=, __stack_pointer - i32.store $17=, 0($13), $17 - i32.const $push17=, f.xr - i32.const $push18=, 33 - i32.call $1=, memcpy@FUNCTION, $0, $pop17, $pop18 - i32.store8 $discard=, 33($1), $4 - i32.const $16=, 64 - i32.add $17=, $17, $16 - i32.const $16=, __stack_pointer - i32.store $17=, 0($16), $17 + i32.store $13=, 0($12), $13 return .endfunc .Lfunc_end0: @@ -90,144 +78,146 @@ f: # @f .type main,@function main: # @main .result i32 - .local f64, f64, i64, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local f64, f64, i64, f64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $12=, __stack_pointer - i32.load $12=, 0($12) - i32.const $13=, 256 - i32.sub $24=, $12, $13 - i32.const $13=, __stack_pointer - i32.store $24=, 0($13), $24 + i32.const $7=, __stack_pointer + i32.load $7=, 0($7) + i32.const $8=, 256 + i32.sub $26=, $7, $8 + i32.const $8=, __stack_pointer + i32.store $26=, 0($8), $26 + i32.const $push62=, 0 + f64.load $0=, d3($pop62) + i32.const $push61=, 0 + i64.load $2=, B2+8($pop61) + i32.const $push60=, 0 + i64.load $4=, B1+8($pop60) + i32.const $push59=, 0 + i32.load $5=, B1+16($pop59):p2align=3 + i32.const $push58=, 0 + i32.load8_s $6=, c2($pop58) + i32.const $push57=, 0 + f64.load $1=, B2($pop57) + i32.const $push56=, 0 + f64.load $3=, B1($pop56) + i32.const $push4=, 48 + i32.const $9=, 48 + i32.add $9=, $26, $9 + i32.add $push5=, $9, $pop4 + i32.const $push55=, 0 + i32.load $push0=, B2+16($pop55):p2align=3 + i32.store $discard=, 0($pop5):p2align=4, $pop0 + i32.const $push6=, 40 + i32.const $10=, 48 + i32.add $10=, $26, $10 + i32.add $push7=, $10, $pop6 + i64.store32 $discard=, 0($pop7):p2align=3, $2 + i32.const $push8=, 32 + i32.const $11=, 48 + i32.add $11=, $26, $11 + i32.add $push9=, $11, $pop8 + f64.store $discard=, 0($pop9):p2align=4, $1 + i32.const $push10=, 24 + i32.const $12=, 48 + i32.add $12=, $26, $12 + i32.add $push11=, $12, $pop10 + f64.store $discard=, 0($pop11), $0 + i32.const $push12=, 20 + i32.const $13=, 48 + i32.add $13=, $26, $13 + i32.add $push13=, $13, $pop12 + i32.store $discard=, 0($pop13), $6 + i32.const $push14=, 16 + i32.const $14=, 48 + i32.add $14=, $26, $14 + i32.add $push15=, $14, $pop14 + i32.store $discard=, 0($pop15):p2align=4, $5 + i32.const $push16=, 8 + i32.const $15=, 48 + i32.add $15=, $26, $15 + i32.or $push17=, $15, $pop16 + i64.store32 $discard=, 0($pop17):p2align=3, $4 + i32.const $push18=, 44 + i32.const $16=, 48 + i32.add $16=, $26, $16 + i32.add $push19=, $16, $pop18 + i64.const $push1=, 32 + i64.shr_u $push3=, $2, $pop1 + i64.store32 $discard=, 0($pop19), $pop3 + i32.const $push20=, 12 + i32.const $17=, 48 + i32.add $17=, $26, $17 + i32.or $push21=, $17, $pop20 + i64.const $push54=, 32 + i64.shr_u $push2=, $4, $pop54 + i64.store32 $discard=, 0($pop21), $pop2 + f64.store $discard=, 48($26):p2align=4, $3 + i32.const $push23=, out + i32.const $push22=, .L.str + i32.const $18=, 48 + i32.add $18=, $26, $18 + i32.call $discard=, sprintf@FUNCTION, $pop23, $pop22, $18 + i32.const $push53=, out + i32.const $19=, 144 + i32.add $19=, $26, $19 + i32.call $discard=, strcpy@FUNCTION, $19, $pop53 i32.const $push52=, 0 f64.load $0=, d3($pop52) i32.const $push51=, 0 - i64.load $2=, B2+8($pop51) + i32.load $5=, fp($pop51) i32.const $push50=, 0 - i64.load $4=, B1+8($pop50) - i32.const $push49=, 0 - i32.load $3=, B2+16($pop49):p2align=3 + i32.load8_s $6=, c2($pop50) + i32.const $push49=, 20 + i32.const $20=, 24 + i32.add $20=, $26, $20 + i32.add $push24=, $20, $pop49 i32.const $push48=, 0 - i32.load $5=, B1+16($pop48):p2align=3 - i32.const $push47=, 0 - i32.load8_s $6=, c2($pop47) + i32.load $push25=, B1+20($pop48) + i32.store $discard=, 0($pop24), $pop25 + i32.const $push47=, 16 + i32.const $21=, 24 + i32.add $21=, $26, $21 + i32.add $push26=, $21, $pop47 i32.const $push46=, 0 - f64.load $1=, B2($pop46) - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 56 - i32.sub $24=, $8, $9 - i32.const $9=, __stack_pointer - i32.store $24=, 0($9), $24 - i32.const $push45=, 0 - f64.load $push0=, B1($pop45) - f64.store $discard=, 0($24), $pop0 - i32.const $push4=, 48 - i32.add $7=, $24, $pop4 - i32.store $discard=, 0($7), $3 - i32.const $push5=, 44 - i32.add $3=, $24, $pop5 - i64.const $push1=, 32 - i64.shr_u $push3=, $2, $pop1 - i64.store32 $discard=, 0($3), $pop3 - i32.const $push6=, 40 - i32.add $3=, $24, $pop6 - i64.store32 $discard=, 0($3), $2 - i32.const $push7=, 32 - i32.add $3=, $24, $pop7 - f64.store $discard=, 0($3), $1 - i32.const $push8=, 24 - i32.add $3=, $24, $pop8 - f64.store $discard=, 0($3), $0 - i32.const $push9=, 20 - i32.add $3=, $24, $pop9 - i32.store $discard=, 0($3), $6 - i32.const $push10=, 16 - i32.add $3=, $24, $pop10 - i32.store $discard=, 0($3), $5 - i32.const $push11=, 12 - i32.add $3=, $24, $pop11 - i64.const $push44=, 32 - i64.shr_u $push2=, $4, $pop44 - i64.store32 $discard=, 0($3), $pop2 - i32.const $push12=, 8 - i32.add $3=, $24, $pop12 - i64.store32 $discard=, 0($3), $4 - i32.const $push14=, out - i32.const $push13=, .L.str - i32.call $discard=, sprintf@FUNCTION, $pop14, $pop13 - i32.const $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 56 - i32.add $24=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $24=, 0($11), $24 - i32.const $push43=, out - i32.const $14=, 144 - i32.add $14=, $24, $14 - i32.call $discard=, strcpy@FUNCTION, $14, $pop43 - i32.const $push42=, 0 - f64.load $0=, d3($pop42) + i32.load $push27=, B1+16($pop46):p2align=3 + i32.store $discard=, 0($pop26):p2align=3, $pop27 + i32.const $push45=, 8 + i32.const $22=, 24 + i32.add $22=, $26, $22 + i32.add $push28=, $22, $pop45 + i32.const $push44=, 0 + i64.load $push29=, B1+8($pop44) + i64.store $discard=, 0($pop28), $pop29 + i32.const $push43=, 0 + i64.load $push30=, B1($pop43) + i64.store $discard=, 24($26), $pop30 + i32.const $push42=, 16 + i32.add $push31=, $26, $pop42 i32.const $push41=, 0 - i32.load $3=, fp($pop41) - i32.const $push40=, 0 - i32.load8_s $5=, c2($pop40) - i32.const $push39=, 20 - i32.const $15=, 80 - i32.add $15=, $24, $15 - i32.add $push15=, $15, $pop39 + i64.load $push32=, B2+16($pop41) + i64.store $discard=, 0($pop31), $pop32 + i32.const $push40=, 8 + i32.add $push33=, $26, $pop40 + i32.const $push39=, 0 + i64.load $push34=, B2+8($pop39) + i64.store $discard=, 0($pop33), $pop34 i32.const $push38=, 0 - i32.load $push16=, B1+20($pop38) - i32.store $discard=, 0($pop15), $pop16 - i32.const $push37=, 16 - i32.const $16=, 80 - i32.add $16=, $24, $16 - i32.add $push17=, $16, $pop37 - i32.const $push36=, 0 - i32.load $push18=, B1+16($pop36):p2align=3 - i32.store $discard=, 0($pop17):p2align=3, $pop18 - i32.const $push35=, 8 - i32.const $17=, 80 - i32.add $17=, $24, $17 - i32.add $push19=, $17, $pop35 - i32.const $push34=, 0 - i64.load $push20=, B1+8($pop34) - i64.store $discard=, 0($pop19), $pop20 - i32.const $push33=, 0 - i64.load $push21=, B1($pop33) - i64.store $discard=, 80($24), $pop21 - i32.const $push32=, 16 - i32.const $18=, 56 - i32.add $18=, $24, $18 - i32.add $push22=, $18, $pop32 - i32.const $push31=, 0 - i64.load $push23=, B2+16($pop31) - i64.store $discard=, 0($pop22), $pop23 - i32.const $push30=, 8 - i32.const $19=, 56 - i32.add $19=, $24, $19 - i32.add $push24=, $19, $pop30 - i32.const $push29=, 0 - i64.load $push25=, B2+8($pop29) - i64.store $discard=, 0($pop24), $pop25 - i32.const $push28=, 0 - i64.load $push26=, B2($pop28) - i64.store $discard=, 56($24), $pop26 - i32.const $20=, 104 - i32.add $20=, $24, $20 - i32.const $21=, 80 - i32.add $21=, $24, $21 - i32.const $22=, 56 - i32.add $22=, $24, $22 - call_indirect $3, $20, $21, $5, $0, $22 - i32.const $push27=, out - i32.const $23=, 144 - i32.add $23=, $24, $23 - i32.call $3=, strcmp@FUNCTION, $23, $pop27 + i64.load $push35=, B2($pop38) + i64.store $discard=, 0($26), $pop35 + i32.const $23=, 104 + i32.add $23=, $26, $23 + i32.const $24=, 24 + i32.add $24=, $26, $24 + call_indirect $5, $23, $24, $6, $0, $26 + i32.const $push37=, out + i32.const $25=, 144 + i32.add $25=, $26, $25 block - br_if 0, $3 # 0: down to label0 + i32.call $push36=, strcmp@FUNCTION, $25, $pop37 + br_if 0, $pop36 # 0: down to label0 # BB#1: # %if.end - i32.const $push53=, 0 - call exit@FUNCTION, $pop53 + i32.const $push63=, 0 + call exit@FUNCTION, $pop63 unreachable .LBB1_2: # %if.then end_block # label0: diff --git a/test/torture-s/va-arg-1.c.s b/test/torture-s/va-arg-1.c.s index 4b6fcf293..3303b4812 100644 --- a/test/torture-s/va-arg-1.c.s +++ b/test/torture-s/va-arg-1.c.s @@ -5,18 +5,17 @@ .globl f .type f,@function f: # @f - .param i32, i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $10=, __stack_pointer i32.load $10=, 0($10) i32.const $11=, 16 i32.sub $13=, $10, $11 - copy_local $14=, $13 i32.const $11=, __stack_pointer i32.store $13=, 0($11), $13 - i32.store $push0=, 12($13), $14 + i32.store $push0=, 12($13), $9 i32.const $push25=, 3 i32.add $push1=, $pop0, $pop25 i32.const $push24=, -4 @@ -60,7 +59,7 @@ f: # @f br_if 0, $pop21 # 0: down to label2 # BB#3: # %if.end7 i32.const $12=, 16 - i32.add $13=, $14, $12 + i32.add $13=, $13, $12 i32.const $12=, __stack_pointer i32.store $13=, 0($12), $13 return $9 @@ -86,33 +85,21 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 16 - i32.sub $7=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 i32.const $1=, __stack_pointer i32.load $1=, 0($1) - i32.const $2=, 12 - i32.sub $7=, $1, $2 + i32.const $2=, 16 + i32.sub $3=, $1, $2 i32.const $2=, __stack_pointer - i32.store $7=, 0($2), $7 - i64.const $push0=, 47244640266 - i64.store $discard=, 0($7):p2align=2, $pop0 - i32.const $push1=, 8 - i32.add $0=, $7, $pop1 + i32.store $3=, 0($2), $3 + i32.const $push0=, 8 + i32.or $push1=, $3, $pop0 i32.const $push2=, 0 - i32.store $0=, 0($0), $pop2 - i32.call $discard=, f@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 12 - i32.add $7=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 + i32.store $0=, 0($pop1):p2align=3, $pop2 + i64.const $push3=, 47244640266 + i64.store $discard=, 0($3):p2align=4, $pop3 + i32.call $discard=, f@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $3 call exit@FUNCTION, $0 unreachable .endfunc diff --git a/test/torture-s/va-arg-11.c.s b/test/torture-s/va-arg-11.c.s index bf4cc4efa..a339d529f 100644 --- a/test/torture-s/va-arg-11.c.s +++ b/test/torture-s/va-arg-11.c.s @@ -6,41 +6,29 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 32 - i32.sub $8=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 + i32.const $1=, __stack_pointer + i32.load $1=, 0($1) + i32.const $2=, 32 + i32.sub $3=, $1, $2 i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 20 - i32.sub $8=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $8=, 0($3), $8 - i64.const $push0=, 12884901892 - i64.store $discard=, 0($8):p2align=2, $pop0 - i32.const $push1=, 16 - i32.add $0=, $8, $pop1 + i32.store $3=, 0($2), $3 + i32.const $push0=, 16 + i32.add $push1=, $3, $pop0 i32.const $push2=, 0 - i32.store $1=, 0($0), $pop2 + i32.store $0=, 0($pop1):p2align=4, $pop2 i32.const $push3=, 8 - i32.add $0=, $8, $pop3 - i64.const $push4=, 4294967298 - i64.store $discard=, 0($0):p2align=2, $pop4 - i32.call $0=, foo@FUNCTION, $0 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 20 - i32.add $8=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $8=, 0($5), $8 + i32.or $push4=, $3, $pop3 + i64.const $push5=, 4294967298 + i64.store $discard=, 0($pop4), $pop5 + i64.const $push6=, 12884901892 + i64.store $discard=, 0($3):p2align=4, $pop6 block - br_if 0, $0 # 0: down to label0 + i32.call $push7=, foo@FUNCTION, $0, $3 + br_if 0, $pop7 # 0: down to label0 # BB#1: # %if.end - call exit@FUNCTION, $1 + call exit@FUNCTION, $0 unreachable .LBB0_2: # %if.then end_block # label0: @@ -53,18 +41,17 @@ main: # @main .section .text.foo,"ax",@progbits .type foo,@function foo: # @foo - .param i32 + .param i32, i32 .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $2=, __stack_pointer i32.load $2=, 0($2) i32.const $3=, 16 i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer i32.store $5=, 0($3), $5 - i32.store $push0=, 12($5), $6 + i32.store $push0=, 12($5), $1 i32.const $push1=, 3 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -4 @@ -107,7 +94,7 @@ foo: # @foo i32.store $discard=, 12($5), $pop19 i32.load $push20=, 0($1) i32.const $4=, 16 - i32.add $5=, $6, $4 + i32.add $5=, $5, $4 i32.const $4=, __stack_pointer i32.store $5=, 0($4), $5 return $pop20 diff --git a/test/torture-s/va-arg-12.c.s b/test/torture-s/va-arg-12.c.s index 1f828bb08..93ae21985 100644 --- a/test/torture-s/va-arg-12.c.s +++ b/test/torture-s/va-arg-12.c.s @@ -5,17 +5,16 @@ .globl f .type f,@function f: # @f - .param f64, f64, f64, f64, f64, f64, f64, f64, f64 - .local i32, i32, i32, i32, i32, i32 + .param f64, f64, f64, f64, f64, f64, f64, f64, f64, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $10=, __stack_pointer i32.load $10=, 0($10) i32.const $11=, 16 i32.sub $13=, $10, $11 - copy_local $14=, $13 i32.const $11=, __stack_pointer i32.store $13=, 0($11), $13 - i32.store $push0=, 12($13), $14 + i32.store $push0=, 12($13), $9 i32.const $push27=, 7 i32.add $push1=, $pop0, $pop27 i32.const $push26=, -8 @@ -61,7 +60,7 @@ f: # @f br_if 0, $pop23 # 0: down to label2 # BB#3: # %if.end7 i32.const $12=, 16 - i32.add $13=, $14, $12 + i32.add $13=, $13, $12 i32.const $12=, __stack_pointer i32.store $13=, 0($12), $13 return @@ -87,39 +86,27 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, f64, i32, i32, i32, i32, i32, i32, i32 + .local f64, i32, i32, i32 # BB#0: # %entry - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 32 - i32.sub $8=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 + i32.const $1=, __stack_pointer + i32.load $1=, 0($1) + i32.const $2=, 32 + i32.sub $3=, $1, $2 i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 24 - i32.sub $8=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $8=, 0($3), $8 - i64.const $push0=, 4621819117588971520 - i64.store $discard=, 0($8), $pop0 - i32.const $push1=, 16 - i32.add $0=, $8, $pop1 + i32.store $3=, 0($2), $3 + i32.const $push0=, 16 + i32.add $push1=, $3, $pop0 i64.const $push2=, 0 - i64.store $discard=, 0($0), $pop2 + i64.store $discard=, 0($pop1):p2align=4, $pop2 i32.const $push3=, 8 - i32.add $0=, $8, $pop3 - i64.const $push4=, 4622382067542392832 - i64.store $discard=, 0($0), $pop4 - call f@FUNCTION, $1, $1, $1, $1, $1, $1, $1, $1, $1 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 24 - i32.add $8=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $8=, 0($5), $8 - i32.const $push5=, 0 - call exit@FUNCTION, $pop5 + i32.or $push4=, $3, $pop3 + i64.const $push5=, 4622382067542392832 + i64.store $discard=, 0($pop4), $pop5 + i64.const $push6=, 4621819117588971520 + i64.store $discard=, 0($3):p2align=4, $pop6 + call f@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $3 + i32.const $push7=, 0 + call exit@FUNCTION, $pop7 unreachable .endfunc .Lfunc_end1: diff --git a/test/torture-s/va-arg-13.c.s b/test/torture-s/va-arg-13.c.s index 93a8bf5a1..88ff2e655 100644 --- a/test/torture-s/va-arg-13.c.s +++ b/test/torture-s/va-arg-13.c.s @@ -47,56 +47,56 @@ dummy: # @dummy .globl test .type test,@function test: # @test - .param i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - copy_local $7=, $6 i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - i32.const $push21=, 4 - i32.or $push0=, $6, $pop21 - tee_local $push20=, $2=, $pop0 - i32.store $push1=, 0($pop20), $7 - i32.store $push2=, 12($6), $pop1 + i32.load $4=, 0($4) + i32.const $5=, 16 + i32.sub $7=, $4, $5 + i32.const $5=, __stack_pointer + i32.store $7=, 0($5), $7 + i32.const $push22=, 4 + i32.or $push0=, $7, $pop22 + tee_local $push21=, $3=, $pop0 + i32.store $push1=, 0($pop21), $1 + i32.store $push2=, 12($7), $pop1 + tee_local $push20=, $2=, $pop2 i32.const $push19=, 3 - i32.add $push3=, $pop2, $pop19 + i32.add $push3=, $pop20, $pop19 i32.const $push18=, -4 i32.and $push4=, $pop3, $pop18 tee_local $push17=, $1=, $pop4 i32.const $push16=, 4 i32.add $push5=, $pop17, $pop16 - i32.store $discard=, 12($6), $pop5 + i32.store $discard=, 12($7), $pop5 block i32.load $push6=, 0($1) i32.const $push15=, 1234 i32.ne $push7=, $pop6, $pop15 br_if 0, $pop7 # 0: down to label1 # BB#1: # %dummy.exit - i32.store $discard=, 0($2), $7 - i32.load $push8=, 0($2) - i32.store $push9=, 12($6), $pop8 - i32.const $push26=, 3 - i32.add $push10=, $pop9, $pop26 - i32.const $push25=, -4 - i32.and $push11=, $pop10, $pop25 - tee_local $push24=, $2=, $pop11 - i32.const $push23=, 4 - i32.add $push12=, $pop24, $pop23 - i32.store $discard=, 12($6), $pop12 + i32.store $discard=, 0($3), $2 + i32.load $push8=, 0($3) + i32.store $push9=, 12($7), $pop8 + i32.const $push27=, 3 + i32.add $push10=, $pop9, $pop27 + i32.const $push26=, -4 + i32.and $push11=, $pop10, $pop26 + tee_local $push25=, $3=, $pop11 + i32.const $push24=, 4 + i32.add $push12=, $pop25, $pop24 + i32.store $discard=, 12($7), $pop12 block - i32.load $push13=, 0($2) - i32.const $push22=, 1234 - i32.ne $push14=, $pop13, $pop22 + i32.load $push13=, 0($3) + i32.const $push23=, 1234 + i32.ne $push14=, $pop13, $pop23 br_if 0, $pop14 # 0: down to label2 # BB#2: # %dummy.exit16 - i32.const $5=, 16 - i32.add $6=, $7, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $6=, 16 + i32.add $7=, $7, $6 + i32.const $6=, __stack_pointer + i32.store $7=, 0($6), $7 return .LBB1_3: # %if.then.i15 end_block # label2: @@ -116,29 +116,17 @@ test: # @test .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 16 - i32.sub $7=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 i32.const $1=, __stack_pointer i32.load $1=, 0($1) - i32.const $2=, 4 - i32.sub $7=, $1, $2 + i32.const $2=, 16 + i32.sub $3=, $1, $2 i32.const $2=, __stack_pointer - i32.store $7=, 0($2), $7 + i32.store $3=, 0($2), $3 i32.const $push0=, 1234 - i32.store $discard=, 0($7), $pop0 - call test@FUNCTION, $0 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 4 - i32.add $7=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 + i32.store $discard=, 0($3):p2align=4, $pop0 + call test@FUNCTION, $0, $3 i32.const $push1=, 0 call exit@FUNCTION, $pop1 unreachable diff --git a/test/torture-s/va-arg-14.c.s b/test/torture-s/va-arg-14.c.s index 3781e3c17..130ff14e3 100644 --- a/test/torture-s/va-arg-14.c.s +++ b/test/torture-s/va-arg-14.c.s @@ -5,139 +5,138 @@ .globl vat .type vat,@function vat: # @vat - .param i32 + .param i32, i32 .local i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $4=, $1, $2 - copy_local $5=, $4 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 - i32.store $discard=, 12($4), $0 - i32.load $0=, 8($4) - i32.const $push56=, 0 - i32.store $push0=, 8($4), $5 - i32.store $push1=, global($pop56), $pop0 - i32.store $discard=, 12($4), $pop1 + 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.store $discard=, 8($6), $1 + i32.load $2=, 8($6) + i32.store $discard=, 12($6), $0 i32.const $push55=, 3 - i32.add $push2=, $0, $pop55 + i32.add $push1=, $2, $pop55 i32.const $push54=, -4 - i32.and $push3=, $pop2, $pop54 - tee_local $push53=, $0=, $pop3 + i32.and $push2=, $pop1, $pop54 + tee_local $push53=, $0=, $pop2 i32.const $push52=, 4 - i32.add $push4=, $pop53, $pop52 - i32.store $discard=, 8($4), $pop4 + i32.add $push3=, $pop53, $pop52 + i32.store $discard=, 8($6), $pop3 + i32.const $push51=, 0 + i32.store $push0=, global($pop51), $1 + i32.store $2=, 12($6), $pop0 block - i32.load $push5=, 0($0) - i32.const $push51=, 1 - i32.ne $push6=, $pop5, $pop51 - br_if 0, $pop6 # 0: down to label0 + i32.load $push4=, 0($0) + i32.const $push50=, 1 + i32.ne $push5=, $pop4, $pop50 + br_if 0, $pop5 # 0: down to label0 # BB#1: # %if.end - i32.const $push63=, 0 i32.const $push62=, 0 - i32.load $push7=, global($pop62) - i32.const $push61=, 3 - i32.add $push8=, $pop7, $pop61 - i32.const $push60=, -4 - i32.and $push9=, $pop8, $pop60 - tee_local $push59=, $0=, $pop9 - i32.const $push58=, 4 - i32.add $push10=, $pop59, $pop58 - i32.store $discard=, global($pop63), $pop10 + i32.const $push61=, 0 + i32.load $push6=, global($pop61) + i32.const $push60=, 3 + i32.add $push7=, $pop6, $pop60 + i32.const $push59=, -4 + i32.and $push8=, $pop7, $pop59 + tee_local $push58=, $1=, $pop8 + i32.const $push57=, 4 + i32.add $push9=, $pop58, $pop57 + i32.store $discard=, global($pop62), $pop9 block - i32.load $push11=, 0($0) - i32.const $push57=, 1 - i32.ne $push12=, $pop11, $pop57 - br_if 0, $pop12 # 0: down to label1 + i32.load $push10=, 0($1) + i32.const $push56=, 1 + i32.ne $push11=, $pop10, $pop56 + br_if 0, $pop11 # 0: down to label1 # BB#2: # %if.end5 - i32.load $push13=, 12($4) - i32.const $push68=, 3 - i32.add $push14=, $pop13, $pop68 - i32.const $push67=, -4 - i32.and $push15=, $pop14, $pop67 - tee_local $push66=, $0=, $pop15 - i32.const $push65=, 4 - i32.add $push16=, $pop66, $pop65 - i32.store $discard=, 12($4), $pop16 + i32.load $push12=, 12($6) + i32.const $push67=, 3 + i32.add $push13=, $pop12, $pop67 + i32.const $push66=, -4 + i32.and $push14=, $pop13, $pop66 + tee_local $push65=, $1=, $pop14 + i32.const $push64=, 4 + i32.add $push15=, $pop65, $pop64 + i32.store $discard=, 12($6), $pop15 block - i32.load $push17=, 0($0) - i32.const $push64=, 1 - i32.ne $push18=, $pop17, $pop64 - br_if 0, $pop18 # 0: down to label2 + i32.load $push16=, 0($1) + i32.const $push63=, 1 + i32.ne $push17=, $pop16, $pop63 + br_if 0, $pop17 # 0: down to label2 # BB#3: # %if.end8 - i32.const $push74=, 0 - i32.store $push19=, 12($4), $5 - i32.store $push20=, global($pop74), $pop19 - i32.store $push21=, 8($4), $pop20 - i32.const $push73=, 3 - i32.add $push22=, $pop21, $pop73 - i32.const $push72=, -4 - i32.and $push23=, $pop22, $pop72 - tee_local $push71=, $0=, $pop23 - i32.const $push70=, 4 - i32.add $push24=, $pop71, $pop70 - i32.store $discard=, 8($4), $pop24 + i32.const $push73=, 0 + i32.store $push18=, 12($6), $2 + i32.store $push19=, global($pop73), $pop18 + i32.store $push20=, 8($6), $pop19 + i32.const $push72=, 3 + i32.add $push21=, $pop20, $pop72 + i32.const $push71=, -4 + i32.and $push22=, $pop21, $pop71 + tee_local $push70=, $1=, $pop22 + i32.const $push69=, 4 + i32.add $push23=, $pop70, $pop69 + i32.store $discard=, 8($6), $pop23 block - i32.load $push25=, 0($0) - i32.const $push69=, 1 - i32.ne $push26=, $pop25, $pop69 - br_if 0, $pop26 # 0: down to label3 + i32.load $push24=, 0($1) + i32.const $push68=, 1 + i32.ne $push25=, $pop24, $pop68 + br_if 0, $pop25 # 0: down to label3 # BB#4: # %if.end13 - i32.const $push80=, 0 - i32.load $push27=, global($pop80) - i32.store $push28=, 8($4), $pop27 - i32.const $push79=, 3 - i32.add $push29=, $pop28, $pop79 - i32.const $push78=, -4 - i32.and $push30=, $pop29, $pop78 - tee_local $push77=, $0=, $pop30 - i32.const $push76=, 4 - i32.add $push31=, $pop77, $pop76 - i32.store $discard=, 8($4), $pop31 + i32.const $push79=, 0 + i32.load $push26=, global($pop79) + i32.store $push27=, 8($6), $pop26 + i32.const $push78=, 3 + i32.add $push28=, $pop27, $pop78 + i32.const $push77=, -4 + i32.and $push29=, $pop28, $pop77 + tee_local $push76=, $1=, $pop29 + i32.const $push75=, 4 + i32.add $push30=, $pop76, $pop75 + i32.store $discard=, 8($6), $pop30 block - i32.load $push32=, 0($0) - i32.const $push75=, 1 - i32.ne $push33=, $pop32, $pop75 - br_if 0, $pop33 # 0: down to label4 + i32.load $push31=, 0($1) + i32.const $push74=, 1 + i32.ne $push32=, $pop31, $pop74 + br_if 0, $pop32 # 0: down to label4 # BB#5: # %if.end17 - i32.const $push34=, 0 - i32.const $push86=, 0 - i32.load $push35=, global($pop86) - i32.const $push85=, 3 - i32.add $push36=, $pop35, $pop85 - i32.const $push84=, -4 - i32.and $push37=, $pop36, $pop84 - tee_local $push83=, $0=, $pop37 - i32.const $push82=, 4 - i32.add $push38=, $pop83, $pop82 - i32.store $discard=, global($pop34), $pop38 + i32.const $push33=, 0 + i32.const $push85=, 0 + i32.load $push34=, global($pop85) + i32.const $push84=, 3 + i32.add $push35=, $pop34, $pop84 + i32.const $push83=, -4 + i32.and $push36=, $pop35, $pop83 + tee_local $push82=, $1=, $pop36 + i32.const $push81=, 4 + i32.add $push37=, $pop82, $pop81 + i32.store $discard=, global($pop33), $pop37 block - i32.load $push39=, 0($0) - i32.const $push81=, 1 - i32.ne $push40=, $pop39, $pop81 - br_if 0, $pop40 # 0: down to label5 + i32.load $push38=, 0($1) + i32.const $push80=, 1 + i32.ne $push39=, $pop38, $pop80 + br_if 0, $pop39 # 0: down to label5 # BB#6: # %if.end21 - i32.load $push41=, 12($4) - i32.const $push42=, 3 - i32.add $push43=, $pop41, $pop42 - i32.const $push44=, -4 - i32.and $push45=, $pop43, $pop44 - tee_local $push87=, $0=, $pop45 - i32.const $push46=, 4 - i32.add $push47=, $pop87, $pop46 - i32.store $discard=, 12($4), $pop47 + i32.load $push40=, 12($6) + i32.const $push41=, 3 + i32.add $push42=, $pop40, $pop41 + i32.const $push43=, -4 + i32.and $push44=, $pop42, $pop43 + tee_local $push86=, $1=, $pop44 + i32.const $push45=, 4 + i32.add $push46=, $pop86, $pop45 + i32.store $discard=, 12($6), $pop46 block - i32.load $push48=, 0($0) - i32.const $push49=, 1 - i32.ne $push50=, $pop48, $pop49 - br_if 0, $pop50 # 0: down to label6 + i32.load $push47=, 0($1) + i32.const $push48=, 1 + i32.ne $push49=, $pop47, $pop48 + br_if 0, $pop49 # 0: down to label6 # BB#7: # %if.end24 - i32.const $3=, 16 - i32.add $4=, $5, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 + i32.const $5=, 16 + i32.add $6=, $6, $5 + i32.const $5=, __stack_pointer + i32.store $6=, 0($5), $6 return .LBB0_8: # %if.then23 end_block # label6: @@ -177,29 +176,17 @@ vat: # @vat .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 16 - i32.sub $7=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 i32.const $1=, __stack_pointer i32.load $1=, 0($1) - i32.const $2=, 4 - i32.sub $7=, $1, $2 + i32.const $2=, 16 + i32.sub $3=, $1, $2 i32.const $2=, __stack_pointer - i32.store $7=, 0($2), $7 + i32.store $3=, 0($2), $3 i32.const $push0=, 1 - i32.store $discard=, 0($7), $pop0 - call vat@FUNCTION, $0 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 4 - i32.add $7=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 + i32.store $discard=, 0($3):p2align=4, $pop0 + call vat@FUNCTION, $0, $3 i32.const $push1=, 0 call exit@FUNCTION, $pop1 unreachable diff --git a/test/torture-s/va-arg-15.c.s b/test/torture-s/va-arg-15.c.s index 4bf475058..f9204ccfd 100644 --- a/test/torture-s/va-arg-15.c.s +++ b/test/torture-s/va-arg-15.c.s @@ -5,17 +5,16 @@ .globl vafunction .type vafunction,@function vafunction: # @vafunction - .param i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $3=, __stack_pointer i32.load $3=, 0($3) i32.const $4=, 16 i32.sub $6=, $3, $4 - copy_local $7=, $6 i32.const $4=, __stack_pointer i32.store $6=, 0($4), $6 - i32.store $discard=, 12($6), $7 + i32.store $discard=, 12($6), $1 i32.const $1=, 1 .LBB0_1: # %for.body # =>This Inner Loop Header: Depth=1 @@ -72,7 +71,7 @@ vafunction: # @vafunction # BB#6: # %for.end end_loop # label2: i32.const $5=, 16 - i32.add $6=, $7, $5 + i32.add $6=, $6, $5 i32.const $5=, __stack_pointer i32.store $6=, 0($5), $6 return @@ -90,99 +89,87 @@ vafunction: # @vafunction .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 144 - i32.sub $7=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 i32.const $1=, __stack_pointer i32.load $1=, 0($1) i32.const $2=, 144 - i32.sub $7=, $1, $2 + i32.sub $3=, $1, $2 i32.const $2=, __stack_pointer - i32.store $7=, 0($2), $7 - i32.const $push0=, 1 - i32.store $discard=, 0($7), $pop0 - i32.const $push1=, 136 - i32.add $0=, $7, $pop1 + i32.store $3=, 0($2), $3 + i32.const $push0=, 136 + i32.add $push1=, $3, $pop0 i64.const $push2=, 4625759767262920704 - i64.store $discard=, 0($0), $pop2 + i64.store $discard=, 0($pop1), $pop2 i32.const $push3=, 128 - i32.add $0=, $7, $pop3 - i32.const $push4=, 17 - i32.store $discard=, 0($0), $pop4 - i32.const $push5=, 120 - i32.add $0=, $7, $pop5 - i64.const $push6=, 4625196817309499392 - i64.store $discard=, 0($0), $pop6 - i32.const $push7=, 112 - i32.add $0=, $7, $pop7 - i32.const $push8=, 15 - i32.store $discard=, 0($0), $pop8 - i32.const $push9=, 104 - i32.add $0=, $7, $pop9 - i64.const $push10=, 4624070917402656768 - i64.store $discard=, 0($0), $pop10 - i32.const $push11=, 96 - i32.add $0=, $7, $pop11 - i32.const $push12=, 13 - i32.store $discard=, 0($0), $pop12 - i32.const $push13=, 88 - i32.add $0=, $7, $pop13 - i64.const $push14=, 4622945017495814144 - i64.store $discard=, 0($0), $pop14 - i32.const $push15=, 80 - i32.add $0=, $7, $pop15 - i32.const $push16=, 11 - i32.store $discard=, 0($0), $pop16 - i32.const $push17=, 72 - i32.add $0=, $7, $pop17 - i64.const $push18=, 4621819117588971520 - i64.store $discard=, 0($0), $pop18 - i32.const $push19=, 64 - i32.add $0=, $7, $pop19 - i32.const $push20=, 9 - i32.store $discard=, 0($0), $pop20 - i32.const $push21=, 56 - i32.add $0=, $7, $pop21 - i64.const $push22=, 4620693217682128896 - i64.store $discard=, 0($0), $pop22 - i32.const $push23=, 48 - i32.add $0=, $7, $pop23 - i32.const $push24=, 7 - i32.store $discard=, 0($0), $pop24 - i32.const $push25=, 40 - i32.add $0=, $7, $pop25 - i64.const $push26=, 4618441417868443648 - i64.store $discard=, 0($0), $pop26 - i32.const $push27=, 32 - i32.add $0=, $7, $pop27 - i32.const $push28=, 5 - i32.store $discard=, 0($0), $pop28 - i32.const $push29=, 24 - i32.add $0=, $7, $pop29 - i64.const $push30=, 4616189618054758400 - i64.store $discard=, 0($0), $pop30 - i32.const $push31=, 16 - i32.add $0=, $7, $pop31 - i32.const $push32=, 3 - i32.store $discard=, 0($0), $pop32 - i32.const $push33=, 8 - i32.add $0=, $7, $pop33 - i64.const $push34=, 4611686018427387904 - i64.store $discard=, 0($0), $pop34 - call vafunction@FUNCTION, $0 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 144 - i32.add $7=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 - i32.const $push35=, 0 - call exit@FUNCTION, $pop35 + i32.add $push4=, $3, $pop3 + i32.const $push5=, 17 + i32.store $discard=, 0($pop4):p2align=4, $pop5 + i32.const $push6=, 120 + i32.add $push7=, $3, $pop6 + i64.const $push8=, 4625196817309499392 + i64.store $discard=, 0($pop7), $pop8 + i32.const $push9=, 112 + i32.add $push10=, $3, $pop9 + i32.const $push11=, 15 + i32.store $discard=, 0($pop10):p2align=4, $pop11 + i32.const $push12=, 104 + i32.add $push13=, $3, $pop12 + i64.const $push14=, 4624070917402656768 + i64.store $discard=, 0($pop13), $pop14 + i32.const $push15=, 96 + i32.add $push16=, $3, $pop15 + i32.const $push17=, 13 + i32.store $discard=, 0($pop16):p2align=4, $pop17 + i32.const $push18=, 88 + i32.add $push19=, $3, $pop18 + i64.const $push20=, 4622945017495814144 + i64.store $discard=, 0($pop19), $pop20 + i32.const $push21=, 80 + i32.add $push22=, $3, $pop21 + i32.const $push23=, 11 + i32.store $discard=, 0($pop22):p2align=4, $pop23 + i32.const $push24=, 72 + i32.add $push25=, $3, $pop24 + i64.const $push26=, 4621819117588971520 + i64.store $discard=, 0($pop25), $pop26 + i32.const $push27=, 64 + i32.add $push28=, $3, $pop27 + i32.const $push29=, 9 + i32.store $discard=, 0($pop28):p2align=4, $pop29 + i32.const $push30=, 56 + i32.add $push31=, $3, $pop30 + i64.const $push32=, 4620693217682128896 + i64.store $discard=, 0($pop31), $pop32 + i32.const $push33=, 48 + i32.add $push34=, $3, $pop33 + i32.const $push35=, 7 + i32.store $discard=, 0($pop34):p2align=4, $pop35 + i32.const $push36=, 40 + i32.add $push37=, $3, $pop36 + i64.const $push38=, 4618441417868443648 + i64.store $discard=, 0($pop37), $pop38 + i32.const $push39=, 32 + i32.add $push40=, $3, $pop39 + i32.const $push41=, 5 + i32.store $discard=, 0($pop40):p2align=4, $pop41 + i32.const $push42=, 24 + i32.add $push43=, $3, $pop42 + i64.const $push44=, 4616189618054758400 + i64.store $discard=, 0($pop43), $pop44 + i32.const $push45=, 16 + i32.add $push46=, $3, $pop45 + i32.const $push47=, 3 + i32.store $discard=, 0($pop46):p2align=4, $pop47 + i32.const $push48=, 8 + i32.or $push49=, $3, $pop48 + i64.const $push50=, 4611686018427387904 + i64.store $discard=, 0($pop49), $pop50 + i32.const $push51=, 1 + i32.store $discard=, 0($3):p2align=4, $pop51 + call vafunction@FUNCTION, $0, $3 + i32.const $push52=, 0 + call exit@FUNCTION, $pop52 unreachable .endfunc .Lfunc_end1: diff --git a/test/torture-s/va-arg-16.c.s b/test/torture-s/va-arg-16.c.s index bb8f6b76c..a96e41c41 100644 --- a/test/torture-s/va-arg-16.c.s +++ b/test/torture-s/va-arg-16.c.s @@ -5,17 +5,16 @@ .globl vafunction .type vafunction,@function vafunction: # @vafunction - .param f64, f64 - .local i32, i32, i32, i32, i32, i32 + .param f64, f64, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $3=, __stack_pointer i32.load $3=, 0($3) i32.const $4=, 16 i32.sub $6=, $3, $4 - copy_local $7=, $6 i32.const $4=, __stack_pointer i32.store $6=, 0($4), $6 - i32.store $discard=, 12($6), $7 + i32.store $discard=, 12($6), $2 block f64.const $push0=, 0x1.bcp9 f64.ne $push1=, $0, $pop0 @@ -162,7 +161,7 @@ vafunction: # @vafunction br_if 0, $pop69 # 0: down to label10 # BB#11: # %if.end31 i32.const $5=, 16 - i32.add $6=, $7, $5 + i32.add $6=, $6, $5 i32.const $5=, __stack_pointer i32.store $6=, 0($5), $6 return @@ -220,65 +219,53 @@ vafunction: # @vafunction .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 80 - i32.sub $7=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 + i32.const $0=, __stack_pointer + i32.load $0=, 0($0) + i32.const $1=, 80 + i32.sub $2=, $0, $1 i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 72 - i32.sub $7=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $7=, 0($2), $7 - i64.const $push0=, 4607182418800017408 - i64.store $discard=, 0($7), $pop0 - i32.const $push1=, 64 - i32.add $0=, $7, $pop1 + i32.store $2=, 0($1), $2 + i32.const $push0=, 64 + i32.add $push1=, $2, $pop0 i64.const $push2=, 4621256167635550208 - i64.store $discard=, 0($0), $pop2 + i64.store $discard=, 0($pop1):p2align=4, $pop2 i32.const $push3=, 56 - i32.add $0=, $7, $pop3 - i64.const $push4=, 4620693217682128896 - i64.store $discard=, 0($0), $pop4 - i32.const $push5=, 48 - i32.add $0=, $7, $pop5 - i64.const $push6=, 4619567317775286272 - i64.store $discard=, 0($0), $pop6 - i32.const $push7=, 40 - i32.add $0=, $7, $pop7 - i64.const $push8=, 4618441417868443648 - i64.store $discard=, 0($0), $pop8 - i32.const $push9=, 32 - i32.add $0=, $7, $pop9 - i64.const $push10=, 4617315517961601024 - i64.store $discard=, 0($0), $pop10 - i32.const $push11=, 24 - i32.add $0=, $7, $pop11 - i64.const $push12=, 4616189618054758400 - i64.store $discard=, 0($0), $pop12 - i32.const $push13=, 16 - i32.add $0=, $7, $pop13 - i64.const $push14=, 4613937818241073152 - i64.store $discard=, 0($0), $pop14 - i32.const $push15=, 8 - i32.add $0=, $7, $pop15 - i64.const $push16=, 4611686018427387904 - i64.store $discard=, 0($0), $pop16 - f64.const $push18=, 0x1.bcp9 - f64.const $push17=, 0x1.f38p9 - call vafunction@FUNCTION, $pop18, $pop17 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 72 - i32.add $7=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 - i32.const $push19=, 0 - call exit@FUNCTION, $pop19 + i32.add $push4=, $2, $pop3 + i64.const $push5=, 4620693217682128896 + i64.store $discard=, 0($pop4), $pop5 + i32.const $push6=, 48 + i32.add $push7=, $2, $pop6 + i64.const $push8=, 4619567317775286272 + i64.store $discard=, 0($pop7):p2align=4, $pop8 + i32.const $push9=, 40 + i32.add $push10=, $2, $pop9 + i64.const $push11=, 4618441417868443648 + i64.store $discard=, 0($pop10), $pop11 + i32.const $push12=, 32 + i32.add $push13=, $2, $pop12 + i64.const $push14=, 4617315517961601024 + i64.store $discard=, 0($pop13):p2align=4, $pop14 + i32.const $push15=, 24 + i32.add $push16=, $2, $pop15 + i64.const $push17=, 4616189618054758400 + i64.store $discard=, 0($pop16), $pop17 + i32.const $push18=, 16 + i32.add $push19=, $2, $pop18 + i64.const $push20=, 4613937818241073152 + i64.store $discard=, 0($pop19):p2align=4, $pop20 + i32.const $push21=, 8 + i32.or $push22=, $2, $pop21 + i64.const $push23=, 4611686018427387904 + i64.store $discard=, 0($pop22), $pop23 + i64.const $push24=, 4607182418800017408 + i64.store $discard=, 0($2):p2align=4, $pop24 + f64.const $push26=, 0x1.bcp9 + f64.const $push25=, 0x1.f38p9 + call vafunction@FUNCTION, $pop26, $pop25, $2 + i32.const $push27=, 0 + call exit@FUNCTION, $pop27 unreachable .endfunc .Lfunc_end1: diff --git a/test/torture-s/va-arg-17.c.s b/test/torture-s/va-arg-17.c.s index 1532b220f..3f9609ec0 100644 --- a/test/torture-s/va-arg-17.c.s +++ b/test/torture-s/va-arg-17.c.s @@ -5,17 +5,16 @@ .globl vafunction .type vafunction,@function vafunction: # @vafunction - .param i32 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $2=, __stack_pointer i32.load $2=, 0($2) i32.const $3=, 16 i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer i32.store $5=, 0($3), $5 - i32.store $push0=, 12($5), $6 + i32.store $push0=, 12($5), $1 i32.const $push69=, 7 i32.add $push1=, $pop0, $pop69 i32.const $push68=, -8 @@ -151,7 +150,7 @@ vafunction: # @vafunction br_if 0, $pop65 # 0: down to label8 # BB#9: # %if.end25 i32.const $4=, 16 - i32.add $5=, $6, $4 + i32.add $5=, $5, $4 i32.const $4=, __stack_pointer i32.store $5=, 0($4), $5 return @@ -201,63 +200,51 @@ vafunction: # @vafunction .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 80 - i32.sub $7=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 i32.const $1=, __stack_pointer i32.load $1=, 0($1) - i32.const $2=, 72 - i32.sub $7=, $1, $2 + i32.const $2=, 80 + i32.sub $3=, $1, $2 i32.const $2=, __stack_pointer - i32.store $7=, 0($2), $7 - i64.const $push0=, 4607182418800017408 - i64.store $discard=, 0($7), $pop0 - i32.const $push1=, 64 - i32.add $0=, $7, $pop1 + i32.store $3=, 0($2), $3 + i32.const $push0=, 64 + i32.add $push1=, $3, $pop0 i64.const $push2=, 4621256167635550208 - i64.store $discard=, 0($0), $pop2 + i64.store $discard=, 0($pop1):p2align=4, $pop2 i32.const $push3=, 56 - i32.add $0=, $7, $pop3 - i64.const $push4=, 4620693217682128896 - i64.store $discard=, 0($0), $pop4 - i32.const $push5=, 48 - i32.add $0=, $7, $pop5 - i64.const $push6=, 4619567317775286272 - i64.store $discard=, 0($0), $pop6 - i32.const $push7=, 40 - i32.add $0=, $7, $pop7 - i64.const $push8=, 4618441417868443648 - i64.store $discard=, 0($0), $pop8 - i32.const $push9=, 32 - i32.add $0=, $7, $pop9 - i64.const $push10=, 4617315517961601024 - i64.store $discard=, 0($0), $pop10 - i32.const $push11=, 24 - i32.add $0=, $7, $pop11 - i64.const $push12=, 4616189618054758400 - i64.store $discard=, 0($0), $pop12 - i32.const $push13=, 16 - i32.add $0=, $7, $pop13 - i64.const $push14=, 4613937818241073152 - i64.store $discard=, 0($0), $pop14 - i32.const $push15=, 8 - i32.add $0=, $7, $pop15 - i64.const $push16=, 4611686018427387904 - i64.store $discard=, 0($0), $pop16 - call vafunction@FUNCTION, $0 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 72 - i32.add $7=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 - i32.const $push17=, 0 - call exit@FUNCTION, $pop17 + i32.add $push4=, $3, $pop3 + i64.const $push5=, 4620693217682128896 + i64.store $discard=, 0($pop4), $pop5 + i32.const $push6=, 48 + i32.add $push7=, $3, $pop6 + i64.const $push8=, 4619567317775286272 + i64.store $discard=, 0($pop7):p2align=4, $pop8 + i32.const $push9=, 40 + i32.add $push10=, $3, $pop9 + i64.const $push11=, 4618441417868443648 + i64.store $discard=, 0($pop10), $pop11 + i32.const $push12=, 32 + i32.add $push13=, $3, $pop12 + i64.const $push14=, 4617315517961601024 + i64.store $discard=, 0($pop13):p2align=4, $pop14 + i32.const $push15=, 24 + i32.add $push16=, $3, $pop15 + i64.const $push17=, 4616189618054758400 + i64.store $discard=, 0($pop16), $pop17 + i32.const $push18=, 16 + i32.add $push19=, $3, $pop18 + i64.const $push20=, 4613937818241073152 + i64.store $discard=, 0($pop19):p2align=4, $pop20 + i32.const $push21=, 8 + i32.or $push22=, $3, $pop21 + i64.const $push23=, 4611686018427387904 + i64.store $discard=, 0($pop22), $pop23 + i64.const $push24=, 4607182418800017408 + i64.store $discard=, 0($3):p2align=4, $pop24 + call vafunction@FUNCTION, $0, $3 + i32.const $push25=, 0 + call exit@FUNCTION, $pop25 unreachable .endfunc .Lfunc_end1: diff --git a/test/torture-s/va-arg-18.c.s b/test/torture-s/va-arg-18.c.s index 12143274c..0bcb14b4a 100644 --- a/test/torture-s/va-arg-18.c.s +++ b/test/torture-s/va-arg-18.c.s @@ -5,17 +5,16 @@ .globl f .type f,@function f: # @f - .param f64, f64, f64, f64, f64, f64, f64, f64, f64 - .local i32, i32, i32, i32, i32, i32 + .param f64, f64, f64, f64, f64, f64, f64, f64, f64, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $10=, __stack_pointer i32.load $10=, 0($10) i32.const $11=, 16 i32.sub $13=, $10, $11 - copy_local $14=, $13 i32.const $11=, __stack_pointer i32.store $13=, 0($11), $13 - i32.store $push0=, 12($13), $14 + i32.store $push0=, 12($13), $9 i32.const $push27=, 3 i32.add $push1=, $pop0, $pop27 i32.const $push26=, -4 @@ -61,7 +60,7 @@ f: # @f br_if 0, $pop23 # 0: down to label2 # BB#3: # %if.end7 i32.const $12=, 16 - i32.add $13=, $14, $12 + i32.add $13=, $13, $12 i32.const $12=, __stack_pointer i32.store $13=, 0($12), $13 return @@ -87,35 +86,23 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, f64, i32, i32, i32, i32, i32, i32, i32 + .local f64, i32, i32, i32 # BB#0: # %entry - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 16 - i32.sub $8=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 + i32.const $1=, __stack_pointer + i32.load $1=, 0($1) + i32.const $2=, 16 + i32.sub $3=, $1, $2 i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 12 - i32.sub $8=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $8=, 0($3), $8 - i64.const $push0=, 47244640266 - i64.store $discard=, 0($8):p2align=2, $pop0 - i32.const $push1=, 8 - i32.add $0=, $8, $pop1 + i32.store $3=, 0($2), $3 + i32.const $push0=, 8 + i32.or $push1=, $3, $pop0 i32.const $push2=, 12 - i32.store $discard=, 0($0), $pop2 - call f@FUNCTION, $1, $1, $1, $1, $1, $1, $1, $1, $1 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 12 - i32.add $8=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $8=, 0($5), $8 - i32.const $push3=, 0 - call exit@FUNCTION, $pop3 + i32.store $discard=, 0($pop1):p2align=3, $pop2 + i64.const $push3=, 47244640266 + i64.store $discard=, 0($3):p2align=4, $pop3 + call f@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $3 + i32.const $push4=, 0 + call exit@FUNCTION, $pop4 unreachable .endfunc .Lfunc_end1: diff --git a/test/torture-s/va-arg-19.c.s b/test/torture-s/va-arg-19.c.s index 58a8d88fc..e6d64761b 100644 --- a/test/torture-s/va-arg-19.c.s +++ b/test/torture-s/va-arg-19.c.s @@ -5,17 +5,16 @@ .globl vafunction .type vafunction,@function vafunction: # @vafunction - .param i32 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $2=, __stack_pointer i32.load $2=, 0($2) i32.const $3=, 16 i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer i32.store $5=, 0($3), $5 - i32.store $push0=, 12($5), $6 + i32.store $push0=, 12($5), $1 i32.const $push67=, 3 i32.add $push1=, $pop0, $pop67 i32.const $push66=, -4 @@ -151,7 +150,7 @@ vafunction: # @vafunction br_if 0, $pop63 # 0: down to label8 # BB#9: # %if.end25 i32.const $4=, 16 - i32.add $5=, $6, $4 + i32.add $5=, $5, $4 i32.const $4=, __stack_pointer i32.store $5=, 0($4), $5 return @@ -201,47 +200,35 @@ vafunction: # @vafunction .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 48 - i32.sub $7=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 i32.const $1=, __stack_pointer i32.load $1=, 0($1) - i32.const $2=, 36 - i32.sub $7=, $1, $2 + i32.const $2=, 48 + i32.sub $3=, $1, $2 i32.const $2=, __stack_pointer - i32.store $7=, 0($2), $7 - i64.const $push0=, 8589934593 - i64.store $discard=, 0($7):p2align=2, $pop0 - i32.const $push1=, 32 - i32.add $0=, $7, $pop1 + i32.store $3=, 0($2), $3 + i32.const $push0=, 32 + i32.add $push1=, $3, $pop0 i32.const $push2=, 9 - i32.store $discard=, 0($0), $pop2 + i32.store $discard=, 0($pop1):p2align=4, $pop2 i32.const $push3=, 24 - i32.add $0=, $7, $pop3 - i64.const $push4=, 34359738375 - i64.store $discard=, 0($0):p2align=2, $pop4 - i32.const $push5=, 16 - i32.add $0=, $7, $pop5 - i64.const $push6=, 25769803781 - i64.store $discard=, 0($0):p2align=2, $pop6 - i32.const $push7=, 8 - i32.add $0=, $7, $pop7 - i64.const $push8=, 17179869187 - i64.store $discard=, 0($0):p2align=2, $pop8 - call vafunction@FUNCTION, $0 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 36 - i32.add $7=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 - i32.const $push9=, 0 - call exit@FUNCTION, $pop9 + i32.add $push4=, $3, $pop3 + i64.const $push5=, 34359738375 + i64.store $discard=, 0($pop4), $pop5 + i32.const $push6=, 16 + i32.add $push7=, $3, $pop6 + i64.const $push8=, 25769803781 + i64.store $discard=, 0($pop7):p2align=4, $pop8 + i32.const $push9=, 8 + i32.or $push10=, $3, $pop9 + i64.const $push11=, 17179869187 + i64.store $discard=, 0($pop10), $pop11 + i64.const $push12=, 8589934593 + i64.store $discard=, 0($3):p2align=4, $pop12 + call vafunction@FUNCTION, $0, $3 + i32.const $push13=, 0 + call exit@FUNCTION, $pop13 unreachable .endfunc .Lfunc_end1: diff --git a/test/torture-s/va-arg-2.c.s b/test/torture-s/va-arg-2.c.s index bb7f18b1f..e7f3ae95a 100644 --- a/test/torture-s/va-arg-2.c.s +++ b/test/torture-s/va-arg-2.c.s @@ -28,17 +28,16 @@ to_hex: # @to_hex .globl f0 .type f0,@function f0: # @f0 - .param i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $3=, __stack_pointer i32.load $3=, 0($3) i32.const $4=, 16 i32.sub $6=, $3, $4 - copy_local $7=, $6 i32.const $4=, __stack_pointer i32.store $6=, 0($4), $6 - i32.store $discard=, 12($6), $7 + i32.store $discard=, 12($6), $1 block i32.call $push2=, strlen@FUNCTION, $0 i32.const $push3=, 16 @@ -88,7 +87,7 @@ f0: # @f0 .LBB1_6: # %while.end end_block # label2: i32.const $5=, 16 - i32.add $6=, $7, $5 + i32.add $6=, $6, $5 i32.const $5=, __stack_pointer i32.store $6=, 0($5), $6 return @@ -105,17 +104,16 @@ f0: # @f0 .globl f1 .type f1,@function f1: # @f1 - .param i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $4=, __stack_pointer i32.load $4=, 0($4) i32.const $5=, 16 i32.sub $7=, $4, $5 - copy_local $8=, $7 i32.const $5=, __stack_pointer i32.store $7=, 0($5), $7 - i32.store $discard=, 12($7), $8 + i32.store $discard=, 12($7), $2 block i32.call $push2=, strlen@FUNCTION, $1 i32.const $push3=, 15 @@ -165,7 +163,7 @@ f1: # @f1 .LBB2_6: # %while.end end_block # label7: i32.const $6=, 16 - i32.add $7=, $8, $6 + i32.add $7=, $7, $6 i32.const $6=, __stack_pointer i32.store $7=, 0($6), $7 return @@ -182,17 +180,16 @@ f1: # @f1 .globl f2 .type f2,@function f2: # @f2 - .param i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $5=, __stack_pointer i32.load $5=, 0($5) i32.const $6=, 16 i32.sub $8=, $5, $6 - copy_local $9=, $8 i32.const $6=, __stack_pointer i32.store $8=, 0($6), $8 - i32.store $discard=, 12($8), $9 + i32.store $discard=, 12($8), $3 block i32.call $push2=, strlen@FUNCTION, $2 i32.const $push3=, 14 @@ -242,7 +239,7 @@ f2: # @f2 .LBB3_6: # %while.end end_block # label12: i32.const $7=, 16 - i32.add $8=, $9, $7 + i32.add $8=, $8, $7 i32.const $7=, __stack_pointer i32.store $8=, 0($7), $8 return @@ -259,17 +256,16 @@ f2: # @f2 .globl f3 .type f3,@function f3: # @f3 - .param i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $6=, __stack_pointer i32.load $6=, 0($6) i32.const $7=, 16 i32.sub $9=, $6, $7 - copy_local $10=, $9 i32.const $7=, __stack_pointer i32.store $9=, 0($7), $9 - i32.store $discard=, 12($9), $10 + i32.store $discard=, 12($9), $4 block i32.call $push2=, strlen@FUNCTION, $3 i32.const $push3=, 13 @@ -319,7 +315,7 @@ f3: # @f3 .LBB4_6: # %while.end end_block # label17: i32.const $8=, 16 - i32.add $9=, $10, $8 + i32.add $9=, $9, $8 i32.const $8=, __stack_pointer i32.store $9=, 0($8), $9 return @@ -336,17 +332,16 @@ f3: # @f3 .globl f4 .type f4,@function f4: # @f4 - .param i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $7=, __stack_pointer i32.load $7=, 0($7) i32.const $8=, 16 i32.sub $10=, $7, $8 - copy_local $11=, $10 i32.const $8=, __stack_pointer i32.store $10=, 0($8), $10 - i32.store $discard=, 12($10), $11 + i32.store $discard=, 12($10), $5 block i32.call $push2=, strlen@FUNCTION, $4 i32.const $push3=, 12 @@ -396,7 +391,7 @@ f4: # @f4 .LBB5_6: # %while.end end_block # label22: i32.const $9=, 16 - i32.add $10=, $11, $9 + i32.add $10=, $10, $9 i32.const $9=, __stack_pointer i32.store $10=, 0($9), $10 return @@ -413,17 +408,16 @@ f4: # @f4 .globl f5 .type f5,@function f5: # @f5 - .param i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $8=, __stack_pointer i32.load $8=, 0($8) i32.const $9=, 16 i32.sub $11=, $8, $9 - copy_local $12=, $11 i32.const $9=, __stack_pointer i32.store $11=, 0($9), $11 - i32.store $discard=, 12($11), $12 + i32.store $discard=, 12($11), $6 block i32.call $push2=, strlen@FUNCTION, $5 i32.const $push3=, 11 @@ -473,7 +467,7 @@ f5: # @f5 .LBB6_6: # %while.end end_block # label27: i32.const $10=, 16 - i32.add $11=, $12, $10 + i32.add $11=, $11, $10 i32.const $10=, __stack_pointer i32.store $11=, 0($10), $11 return @@ -490,17 +484,16 @@ f5: # @f5 .globl f6 .type f6,@function f6: # @f6 - .param i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $9=, __stack_pointer i32.load $9=, 0($9) i32.const $10=, 16 i32.sub $12=, $9, $10 - copy_local $13=, $12 i32.const $10=, __stack_pointer i32.store $12=, 0($10), $12 - i32.store $discard=, 12($12), $13 + i32.store $discard=, 12($12), $7 block i32.call $push2=, strlen@FUNCTION, $6 i32.const $push3=, 10 @@ -550,7 +543,7 @@ f6: # @f6 .LBB7_6: # %while.end end_block # label32: i32.const $11=, 16 - i32.add $12=, $13, $11 + i32.add $12=, $12, $11 i32.const $11=, __stack_pointer i32.store $12=, 0($11), $12 return @@ -567,17 +560,16 @@ f6: # @f6 .globl f7 .type f7,@function f7: # @f7 - .param i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $10=, __stack_pointer i32.load $10=, 0($10) i32.const $11=, 16 i32.sub $13=, $10, $11 - copy_local $14=, $13 i32.const $11=, __stack_pointer i32.store $13=, 0($11), $13 - i32.store $discard=, 12($13), $14 + i32.store $discard=, 12($13), $8 block i32.call $push2=, strlen@FUNCTION, $7 i32.const $push3=, 9 @@ -627,7 +619,7 @@ f7: # @f7 .LBB8_6: # %while.end end_block # label37: i32.const $12=, 16 - i32.add $13=, $14, $12 + i32.add $13=, $13, $12 i32.const $12=, __stack_pointer i32.store $13=, 0($12), $13 return @@ -644,17 +636,16 @@ f7: # @f7 .globl f8 .type f8,@function f8: # @f8 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $11=, __stack_pointer i32.load $11=, 0($11) i32.const $12=, 16 i32.sub $14=, $11, $12 - copy_local $15=, $14 i32.const $12=, __stack_pointer i32.store $14=, 0($12), $14 - i32.store $discard=, 12($14), $15 + i32.store $discard=, 12($14), $9 block i32.call $push2=, strlen@FUNCTION, $8 i32.const $push3=, 8 @@ -704,7 +695,7 @@ f8: # @f8 .LBB9_6: # %while.end end_block # label42: i32.const $13=, 16 - i32.add $14=, $15, $13 + i32.add $14=, $14, $13 i32.const $13=, __stack_pointer i32.store $14=, 0($13), $14 return @@ -721,17 +712,16 @@ f8: # @f8 .globl f9 .type f9,@function f9: # @f9 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $12=, __stack_pointer i32.load $12=, 0($12) i32.const $13=, 16 i32.sub $15=, $12, $13 - copy_local $16=, $15 i32.const $13=, __stack_pointer i32.store $15=, 0($13), $15 - i32.store $discard=, 12($15), $16 + i32.store $discard=, 12($15), $10 block i32.call $push2=, strlen@FUNCTION, $9 i32.const $push3=, 7 @@ -781,7 +771,7 @@ f9: # @f9 .LBB10_6: # %while.end end_block # label47: i32.const $14=, 16 - i32.add $15=, $16, $14 + i32.add $15=, $15, $14 i32.const $14=, __stack_pointer i32.store $15=, 0($14), $15 return @@ -798,17 +788,16 @@ f9: # @f9 .globl f10 .type f10,@function f10: # @f10 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $13=, __stack_pointer i32.load $13=, 0($13) i32.const $14=, 16 i32.sub $16=, $13, $14 - copy_local $17=, $16 i32.const $14=, __stack_pointer i32.store $16=, 0($14), $16 - i32.store $discard=, 12($16), $17 + i32.store $discard=, 12($16), $11 block i32.call $push2=, strlen@FUNCTION, $10 i32.const $push3=, 6 @@ -858,7 +847,7 @@ f10: # @f10 .LBB11_6: # %while.end end_block # label52: i32.const $15=, 16 - i32.add $16=, $17, $15 + i32.add $16=, $16, $15 i32.const $15=, __stack_pointer i32.store $16=, 0($15), $16 return @@ -875,17 +864,16 @@ f10: # @f10 .globl f11 .type f11,@function f11: # @f11 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $14=, __stack_pointer i32.load $14=, 0($14) i32.const $15=, 16 i32.sub $17=, $14, $15 - copy_local $18=, $17 i32.const $15=, __stack_pointer i32.store $17=, 0($15), $17 - i32.store $discard=, 12($17), $18 + i32.store $discard=, 12($17), $12 block i32.call $push2=, strlen@FUNCTION, $11 i32.const $push3=, 5 @@ -935,7 +923,7 @@ f11: # @f11 .LBB12_6: # %while.end end_block # label57: i32.const $16=, 16 - i32.add $17=, $18, $16 + i32.add $17=, $17, $16 i32.const $16=, __stack_pointer i32.store $17=, 0($16), $17 return @@ -952,17 +940,16 @@ f11: # @f11 .globl f12 .type f12,@function f12: # @f12 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $15=, __stack_pointer i32.load $15=, 0($15) i32.const $16=, 16 i32.sub $18=, $15, $16 - copy_local $19=, $18 i32.const $16=, __stack_pointer i32.store $18=, 0($16), $18 - i32.store $discard=, 12($18), $19 + i32.store $discard=, 12($18), $13 block i32.call $push2=, strlen@FUNCTION, $12 i32.const $push3=, 4 @@ -1012,7 +999,7 @@ f12: # @f12 .LBB13_6: # %while.end end_block # label62: i32.const $17=, 16 - i32.add $18=, $19, $17 + i32.add $18=, $18, $17 i32.const $17=, __stack_pointer i32.store $18=, 0($17), $18 return @@ -1029,17 +1016,16 @@ f12: # @f12 .globl f13 .type f13,@function f13: # @f13 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $16=, __stack_pointer i32.load $16=, 0($16) i32.const $17=, 16 i32.sub $19=, $16, $17 - copy_local $20=, $19 i32.const $17=, __stack_pointer i32.store $19=, 0($17), $19 - i32.store $discard=, 12($19), $20 + i32.store $discard=, 12($19), $14 block i32.call $push2=, strlen@FUNCTION, $13 i32.const $push3=, 3 @@ -1089,7 +1075,7 @@ f13: # @f13 .LBB14_6: # %while.end end_block # label67: i32.const $18=, 16 - i32.add $19=, $20, $18 + i32.add $19=, $19, $18 i32.const $18=, __stack_pointer i32.store $19=, 0($18), $19 return @@ -1106,17 +1092,16 @@ f13: # @f13 .globl f14 .type f14,@function f14: # @f14 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $17=, __stack_pointer i32.load $17=, 0($17) i32.const $18=, 16 i32.sub $20=, $17, $18 - copy_local $21=, $20 i32.const $18=, __stack_pointer i32.store $20=, 0($18), $20 - i32.store $discard=, 12($20), $21 + i32.store $discard=, 12($20), $15 block i32.call $push2=, strlen@FUNCTION, $14 i32.const $push3=, 2 @@ -1166,7 +1151,7 @@ f14: # @f14 .LBB15_6: # %while.end end_block # label72: i32.const $19=, 16 - i32.add $20=, $21, $19 + i32.add $20=, $20, $19 i32.const $19=, __stack_pointer i32.store $20=, 0($19), $20 return @@ -1183,17 +1168,16 @@ f14: # @f14 .globl f15 .type f15,@function f15: # @f15 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $18=, __stack_pointer i32.load $18=, 0($18) i32.const $19=, 16 i32.sub $21=, $18, $19 - copy_local $22=, $21 i32.const $19=, __stack_pointer i32.store $21=, 0($19), $21 - i32.store $discard=, 12($21), $22 + i32.store $discard=, 12($21), $16 block i32.call $push2=, strlen@FUNCTION, $15 i32.const $push3=, 1 @@ -1243,7 +1227,7 @@ f15: # @f15 .LBB16_6: # %while.end end_block # label77: i32.const $20=, 16 - i32.add $21=, $22, $20 + i32.add $21=, $21, $20 i32.const $20=, __stack_pointer i32.store $21=, 0($20), $21 return @@ -1261,440 +1245,390 @@ f15: # @f15 .type main,@function main: # @main .result i32 - .local i32, i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $79=, __stack_pointer - i32.load $79=, 0($79) - i32.const $80=, 64 - i32.sub $81=, $79, $80 - i32.const $80=, __stack_pointer - i32.store $81=, 0($80), $81 + i32.const $14=, __stack_pointer + i32.load $14=, 0($14) + i32.const $15=, 640 + i32.sub $87=, $14, $15 i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 64 - i32.sub $81=, $15, $16 - i32.const $16=, __stack_pointer - i32.store $81=, 0($16), $81 - i64.const $push0=, 4294967296 - i64.store $discard=, 0($81):p2align=2, $pop0 - i32.const $push1=, 56 - i32.add $0=, $81, $pop1 + i32.store $87=, 0($15), $87 + i32.const $push0=, 56 + i32.const $16=, 576 + i32.add $16=, $87, $16 + i32.add $push1=, $16, $pop0 i64.const $push2=, 64424509454 - i64.store $1=, 0($0):p2align=2, $pop2 + i64.store $0=, 0($pop1), $pop2 i32.const $push3=, 48 - i32.add $0=, $81, $pop3 - i64.const $push4=, 55834574860 - i64.store $2=, 0($0):p2align=2, $pop4 - i32.const $push5=, 40 - i32.add $0=, $81, $pop5 - i64.const $push6=, 47244640266 - i64.store $3=, 0($0):p2align=2, $pop6 - i32.const $push7=, 32 - i32.add $0=, $81, $pop7 - i64.const $push8=, 38654705672 - i64.store $4=, 0($0):p2align=2, $pop8 - i32.const $push9=, 24 - i32.add $0=, $81, $pop9 - i64.const $push10=, 30064771078 - i64.store $5=, 0($0):p2align=2, $pop10 - i32.const $push11=, 16 - i32.add $0=, $81, $pop11 - i64.const $push12=, 21474836484 - i64.store $6=, 0($0):p2align=2, $pop12 - i32.const $push13=, 8 - i32.add $0=, $81, $pop13 - i64.const $push14=, 12884901890 - i64.store $7=, 0($0):p2align=2, $pop14 - i32.const $push15=, .L.str - call f0@FUNCTION, $pop15 - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 64 - i32.add $81=, $17, $18 - i32.const $18=, __stack_pointer - i32.store $81=, 0($18), $81 - i32.const $19=, __stack_pointer - i32.load $19=, 0($19) - i32.const $20=, 60 - i32.sub $81=, $19, $20 - i32.const $20=, __stack_pointer - i32.store $81=, 0($20), $81 - i64.const $push16=, 8589934593 - i64.store $discard=, 0($81):p2align=2, $pop16 - i32.const $push88=, 56 - i32.add $0=, $81, $pop88 - i32.const $push17=, 15 - i32.store $0=, 0($0), $pop17 - i32.const $push87=, 48 - i32.add $8=, $81, $pop87 - i64.const $push18=, 60129542157 - i64.store $9=, 0($8):p2align=2, $pop18 - i32.const $push86=, 40 - i32.add $8=, $81, $pop86 - i64.const $push19=, 51539607563 - i64.store $10=, 0($8):p2align=2, $pop19 - i32.const $push85=, 32 - i32.add $8=, $81, $pop85 - i64.const $push20=, 42949672969 - i64.store $11=, 0($8):p2align=2, $pop20 - i32.const $push84=, 24 - i32.add $8=, $81, $pop84 - i64.const $push21=, 34359738375 - i64.store $12=, 0($8):p2align=2, $pop21 - i32.const $push83=, 16 - i32.add $8=, $81, $pop83 - i64.const $push22=, 25769803781 - i64.store $13=, 0($8):p2align=2, $pop22 - i32.const $push82=, 8 - i32.add $8=, $81, $pop82 - i64.const $push23=, 17179869187 - i64.store $14=, 0($8):p2align=2, $pop23 - i32.const $push24=, .L.str+1 - call f1@FUNCTION, $0, $pop24 - i32.const $21=, __stack_pointer - i32.load $21=, 0($21) - i32.const $22=, 60 - i32.add $81=, $21, $22 - i32.const $22=, __stack_pointer - i32.store $81=, 0($22), $81 - i32.const $23=, __stack_pointer - i32.load $23=, 0($23) - i32.const $24=, 56 - i32.sub $81=, $23, $24 - i32.const $24=, __stack_pointer - i32.store $81=, 0($24), $81 - i64.store $discard=, 0($81):p2align=2, $7 - i32.const $push81=, 48 - i32.add $8=, $81, $pop81 - i64.store $discard=, 0($8):p2align=2, $1 - i32.const $push80=, 40 - i32.add $8=, $81, $pop80 - i64.store $discard=, 0($8):p2align=2, $2 - i32.const $push79=, 32 - i32.add $8=, $81, $pop79 - i64.store $discard=, 0($8):p2align=2, $3 - i32.const $push78=, 24 - i32.add $8=, $81, $pop78 - i64.store $discard=, 0($8):p2align=2, $4 - i32.const $push77=, 16 - i32.add $8=, $81, $pop77 - i64.store $discard=, 0($8):p2align=2, $5 - i32.const $push76=, 8 - i32.add $8=, $81, $pop76 - i64.store $discard=, 0($8):p2align=2, $6 - i32.const $push25=, .L.str+2 - call f2@FUNCTION, $0, $0, $pop25 - i32.const $25=, __stack_pointer - i32.load $25=, 0($25) - i32.const $26=, 56 - i32.add $81=, $25, $26 - i32.const $26=, __stack_pointer - i32.store $81=, 0($26), $81 - i32.const $27=, __stack_pointer - i32.load $27=, 0($27) - i32.const $28=, 52 - i32.sub $81=, $27, $28 - i32.const $28=, __stack_pointer - i32.store $81=, 0($28), $81 - i64.store $discard=, 0($81):p2align=2, $14 - i32.const $push75=, 48 - i32.add $8=, $81, $pop75 - i32.store $discard=, 0($8), $0 - i32.const $push74=, 40 - i32.add $8=, $81, $pop74 - i64.store $7=, 0($8):p2align=2, $9 - i32.const $push73=, 32 - i32.add $8=, $81, $pop73 - i64.store $9=, 0($8):p2align=2, $10 - i32.const $push72=, 24 - i32.add $8=, $81, $pop72 - i64.store $10=, 0($8):p2align=2, $11 - i32.const $push71=, 16 - i32.add $8=, $81, $pop71 - i64.store $11=, 0($8):p2align=2, $12 - i32.const $push70=, 8 - i32.add $8=, $81, $pop70 - i64.store $12=, 0($8):p2align=2, $13 - i32.const $push26=, .L.str+3 - call f3@FUNCTION, $0, $0, $0, $pop26 - i32.const $29=, __stack_pointer - i32.load $29=, 0($29) - i32.const $30=, 52 - i32.add $81=, $29, $30 - i32.const $30=, __stack_pointer - i32.store $81=, 0($30), $81 - i32.const $31=, __stack_pointer - i32.load $31=, 0($31) - i32.const $32=, 48 - i32.sub $81=, $31, $32 - i32.const $32=, __stack_pointer - i32.store $81=, 0($32), $81 - i64.store $discard=, 0($81):p2align=2, $6 - i32.const $push69=, 40 - i32.add $8=, $81, $pop69 - i64.store $discard=, 0($8):p2align=2, $1 - i32.const $push68=, 32 - i32.add $8=, $81, $pop68 - i64.store $discard=, 0($8):p2align=2, $2 - i32.const $push67=, 24 - i32.add $8=, $81, $pop67 - i64.store $discard=, 0($8):p2align=2, $3 - i32.const $push66=, 16 - i32.add $8=, $81, $pop66 - i64.store $discard=, 0($8):p2align=2, $4 - i32.const $push65=, 8 - i32.add $8=, $81, $pop65 - i64.store $discard=, 0($8):p2align=2, $5 - i32.const $push27=, .L.str+4 - call f4@FUNCTION, $0, $0, $0, $0, $pop27 - i32.const $33=, __stack_pointer - i32.load $33=, 0($33) - i32.const $34=, 48 - i32.add $81=, $33, $34 - i32.const $34=, __stack_pointer - i32.store $81=, 0($34), $81 - i32.const $35=, __stack_pointer - i32.load $35=, 0($35) - i32.const $36=, 44 - i32.sub $81=, $35, $36 - i32.const $36=, __stack_pointer - i32.store $81=, 0($36), $81 - i64.store $discard=, 0($81):p2align=2, $12 - i32.const $push64=, 40 - i32.add $8=, $81, $pop64 - i32.store $discard=, 0($8), $0 - i32.const $push63=, 32 - i32.add $8=, $81, $pop63 - i64.store $6=, 0($8):p2align=2, $7 - i32.const $push62=, 24 - i32.add $8=, $81, $pop62 - i64.store $7=, 0($8):p2align=2, $9 - i32.const $push61=, 16 - i32.add $8=, $81, $pop61 - i64.store $9=, 0($8):p2align=2, $10 - i32.const $push60=, 8 - i32.add $8=, $81, $pop60 - i64.store $10=, 0($8):p2align=2, $11 - i32.const $push28=, .L.str+5 - call f5@FUNCTION, $0, $0, $0, $0, $0, $pop28 - i32.const $37=, __stack_pointer - i32.load $37=, 0($37) - i32.const $38=, 44 - i32.add $81=, $37, $38 - i32.const $38=, __stack_pointer - i32.store $81=, 0($38), $81 - i32.const $39=, __stack_pointer - i32.load $39=, 0($39) - i32.const $40=, 40 - i32.sub $81=, $39, $40 - i32.const $40=, __stack_pointer - i32.store $81=, 0($40), $81 - i64.store $discard=, 0($81):p2align=2, $5 - i32.const $push59=, 32 - i32.add $8=, $81, $pop59 - i64.store $discard=, 0($8):p2align=2, $1 - i32.const $push58=, 24 - i32.add $8=, $81, $pop58 - i64.store $discard=, 0($8):p2align=2, $2 - i32.const $push57=, 16 - i32.add $8=, $81, $pop57 - i64.store $discard=, 0($8):p2align=2, $3 - i32.const $push56=, 8 - i32.add $8=, $81, $pop56 - i64.store $discard=, 0($8):p2align=2, $4 - i32.const $push29=, .L.str+6 - call f6@FUNCTION, $0, $0, $0, $0, $0, $0, $pop29 - i32.const $41=, __stack_pointer - i32.load $41=, 0($41) - i32.const $42=, 40 - i32.add $81=, $41, $42 - i32.const $42=, __stack_pointer - i32.store $81=, 0($42), $81 - i32.const $43=, __stack_pointer - i32.load $43=, 0($43) - i32.const $44=, 36 - i32.sub $81=, $43, $44 - i32.const $44=, __stack_pointer - i32.store $81=, 0($44), $81 - i64.store $discard=, 0($81):p2align=2, $10 - i32.const $push55=, 32 - i32.add $8=, $81, $pop55 - i32.store $discard=, 0($8), $0 - i32.const $push54=, 24 - i32.add $8=, $81, $pop54 - i64.store $5=, 0($8):p2align=2, $6 - i32.const $push53=, 16 - i32.add $8=, $81, $pop53 - i64.store $6=, 0($8):p2align=2, $7 - i32.const $push52=, 8 - i32.add $8=, $81, $pop52 - i64.store $7=, 0($8):p2align=2, $9 - i32.const $push30=, .L.str+7 - call f7@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $pop30 - i32.const $45=, __stack_pointer - i32.load $45=, 0($45) - i32.const $46=, 36 - i32.add $81=, $45, $46 - i32.const $46=, __stack_pointer - i32.store $81=, 0($46), $81 - i32.const $47=, __stack_pointer - i32.load $47=, 0($47) - i32.const $48=, 32 - i32.sub $81=, $47, $48 - i32.const $48=, __stack_pointer - i32.store $81=, 0($48), $81 - i64.store $discard=, 0($81):p2align=2, $4 - i32.const $push51=, 24 - i32.add $8=, $81, $pop51 - i64.store $discard=, 0($8):p2align=2, $1 - i32.const $push50=, 16 - i32.add $8=, $81, $pop50 - i64.store $discard=, 0($8):p2align=2, $2 - i32.const $push49=, 8 - i32.add $8=, $81, $pop49 - i64.store $discard=, 0($8):p2align=2, $3 - i32.const $push31=, .L.str+8 - call f8@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $pop31 - i32.const $49=, __stack_pointer - i32.load $49=, 0($49) - i32.const $50=, 32 - i32.add $81=, $49, $50 - i32.const $50=, __stack_pointer - i32.store $81=, 0($50), $81 - i32.const $51=, __stack_pointer - i32.load $51=, 0($51) - i32.const $52=, 28 - i32.sub $81=, $51, $52 - i32.const $52=, __stack_pointer - i32.store $81=, 0($52), $81 - i64.store $discard=, 0($81):p2align=2, $7 - i32.const $push48=, 24 - i32.add $8=, $81, $pop48 - i32.store $discard=, 0($8), $0 - i32.const $push47=, 16 - i32.add $8=, $81, $pop47 - i64.store $4=, 0($8):p2align=2, $5 - i32.const $push46=, 8 - i32.add $8=, $81, $pop46 - i64.store $5=, 0($8):p2align=2, $6 - i32.const $push32=, .L.str+9 - call f9@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop32 - i32.const $53=, __stack_pointer - i32.load $53=, 0($53) - i32.const $54=, 28 - i32.add $81=, $53, $54 - i32.const $54=, __stack_pointer - i32.store $81=, 0($54), $81 - i32.const $55=, __stack_pointer - i32.load $55=, 0($55) - i32.const $56=, 24 - i32.sub $81=, $55, $56 - i32.const $56=, __stack_pointer - i32.store $81=, 0($56), $81 - i64.store $discard=, 0($81):p2align=2, $3 - i32.const $push45=, 16 - i32.add $8=, $81, $pop45 - i64.store $discard=, 0($8):p2align=2, $1 - i32.const $push44=, 8 - i32.add $8=, $81, $pop44 - i64.store $discard=, 0($8):p2align=2, $2 - i32.const $push33=, .L.str+10 - call f10@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop33 - i32.const $57=, __stack_pointer - i32.load $57=, 0($57) - i32.const $58=, 24 - i32.add $81=, $57, $58 - i32.const $58=, __stack_pointer - i32.store $81=, 0($58), $81 - i32.const $59=, __stack_pointer - i32.load $59=, 0($59) - i32.const $60=, 20 - i32.sub $81=, $59, $60 - i32.const $60=, __stack_pointer - i32.store $81=, 0($60), $81 - i64.store $discard=, 0($81):p2align=2, $5 - i32.const $push43=, 16 - i32.add $8=, $81, $pop43 - i32.store $discard=, 0($8), $0 - i32.const $push42=, 8 - i32.add $8=, $81, $pop42 - i64.store $3=, 0($8):p2align=2, $4 - i32.const $push34=, .L.str+11 - call f11@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop34 - i32.const $61=, __stack_pointer - i32.load $61=, 0($61) - i32.const $62=, 20 - i32.add $81=, $61, $62 - i32.const $62=, __stack_pointer - i32.store $81=, 0($62), $81 - i32.const $63=, __stack_pointer - i32.load $63=, 0($63) - i32.const $64=, 16 - i32.sub $81=, $63, $64 - i32.const $64=, __stack_pointer - i32.store $81=, 0($64), $81 - i64.store $discard=, 0($81):p2align=2, $2 - i32.const $push41=, 8 - i32.add $8=, $81, $pop41 - i64.store $discard=, 0($8):p2align=2, $1 - i32.const $push35=, .L.str+12 - call f12@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop35 - i32.const $65=, __stack_pointer - i32.load $65=, 0($65) - i32.const $66=, 16 - i32.add $81=, $65, $66 - i32.const $66=, __stack_pointer - i32.store $81=, 0($66), $81 - i32.const $67=, __stack_pointer - i32.load $67=, 0($67) - i32.const $68=, 12 - i32.sub $81=, $67, $68 - i32.const $68=, __stack_pointer - i32.store $81=, 0($68), $81 - i64.store $discard=, 0($81):p2align=2, $3 - i32.const $push40=, 8 - i32.add $8=, $81, $pop40 - i32.store $discard=, 0($8), $0 - i32.const $push36=, .L.str+13 - call f13@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop36 - i32.const $69=, __stack_pointer - i32.load $69=, 0($69) - i32.const $70=, 12 - i32.add $81=, $69, $70 - i32.const $70=, __stack_pointer - i32.store $81=, 0($70), $81 - i32.const $71=, __stack_pointer - i32.load $71=, 0($71) - i32.const $72=, 8 - i32.sub $81=, $71, $72 - i32.const $72=, __stack_pointer - i32.store $81=, 0($72), $81 - i64.store $discard=, 0($81):p2align=2, $1 - i32.const $push37=, .L.str+14 - call f14@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop37 - i32.const $73=, __stack_pointer - i32.load $73=, 0($73) - i32.const $74=, 8 - i32.add $81=, $73, $74 - i32.const $74=, __stack_pointer - i32.store $81=, 0($74), $81 - i32.const $75=, __stack_pointer - i32.load $75=, 0($75) - i32.const $76=, 4 - i32.sub $81=, $75, $76 - i32.const $76=, __stack_pointer - i32.store $81=, 0($76), $81 - i32.store $discard=, 0($81), $0 - i32.const $push38=, .L.str+15 - call f15@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop38 - i32.const $77=, __stack_pointer - i32.load $77=, 0($77) - i32.const $78=, 4 - i32.add $81=, $77, $78 - i32.const $78=, __stack_pointer - i32.store $81=, 0($78), $81 - i32.const $push39=, 0 - call exit@FUNCTION, $pop39 + i32.const $17=, 576 + i32.add $17=, $87, $17 + i32.add $push4=, $17, $pop3 + i64.const $push5=, 55834574860 + i64.store $1=, 0($pop4):p2align=4, $pop5 + i32.const $push6=, 40 + i32.const $18=, 576 + i32.add $18=, $87, $18 + i32.add $push7=, $18, $pop6 + i64.const $push8=, 47244640266 + i64.store $2=, 0($pop7), $pop8 + i32.const $push9=, 32 + i32.const $19=, 576 + i32.add $19=, $87, $19 + i32.add $push10=, $19, $pop9 + i64.const $push11=, 38654705672 + i64.store $3=, 0($pop10):p2align=4, $pop11 + i32.const $push12=, 24 + i32.const $20=, 576 + i32.add $20=, $87, $20 + i32.add $push13=, $20, $pop12 + i64.const $push14=, 30064771078 + i64.store $4=, 0($pop13), $pop14 + i32.const $push15=, 16 + i32.const $21=, 576 + i32.add $21=, $87, $21 + i32.add $push16=, $21, $pop15 + i64.const $push17=, 21474836484 + i64.store $5=, 0($pop16):p2align=4, $pop17 + i32.const $push18=, 8 + i32.const $22=, 576 + i32.add $22=, $87, $22 + i32.or $push19=, $22, $pop18 + i64.const $push20=, 12884901890 + i64.store $6=, 0($pop19), $pop20 + i64.const $push21=, 4294967296 + i64.store $discard=, 576($87):p2align=4, $pop21 + i32.const $push22=, .L.str + i32.const $23=, 576 + i32.add $23=, $87, $23 + call f0@FUNCTION, $pop22, $23 + i32.const $push144=, 56 + i32.const $24=, 512 + i32.add $24=, $87, $24 + i32.add $push23=, $24, $pop144 + i32.const $push24=, 15 + i32.store $7=, 0($pop23):p2align=3, $pop24 + i32.const $push143=, 48 + i32.const $25=, 512 + i32.add $25=, $87, $25 + i32.add $push25=, $25, $pop143 + i64.const $push26=, 60129542157 + i64.store $8=, 0($pop25):p2align=4, $pop26 + i32.const $push142=, 40 + i32.const $26=, 512 + i32.add $26=, $87, $26 + i32.add $push27=, $26, $pop142 + i64.const $push28=, 51539607563 + i64.store $9=, 0($pop27), $pop28 + i32.const $push141=, 32 + i32.const $27=, 512 + i32.add $27=, $87, $27 + i32.add $push29=, $27, $pop141 + i64.const $push30=, 42949672969 + i64.store $10=, 0($pop29):p2align=4, $pop30 + i32.const $push140=, 24 + i32.const $28=, 512 + i32.add $28=, $87, $28 + i32.add $push31=, $28, $pop140 + i64.const $push32=, 34359738375 + i64.store $11=, 0($pop31), $pop32 + i32.const $push139=, 16 + i32.const $29=, 512 + i32.add $29=, $87, $29 + i32.add $push33=, $29, $pop139 + i64.const $push34=, 25769803781 + i64.store $12=, 0($pop33):p2align=4, $pop34 + i32.const $push138=, 8 + i32.const $30=, 512 + i32.add $30=, $87, $30 + i32.or $push35=, $30, $pop138 + i64.const $push36=, 17179869187 + i64.store $13=, 0($pop35), $pop36 + i64.const $push37=, 8589934593 + i64.store $discard=, 512($87):p2align=4, $pop37 + i32.const $push38=, .L.str+1 + i32.const $31=, 512 + i32.add $31=, $87, $31 + call f1@FUNCTION, $7, $pop38, $31 + i32.const $push137=, 48 + i32.const $32=, 448 + i32.add $32=, $87, $32 + i32.add $push39=, $32, $pop137 + i64.store $discard=, 0($pop39):p2align=4, $0 + i32.const $push136=, 40 + i32.const $33=, 448 + i32.add $33=, $87, $33 + i32.add $push40=, $33, $pop136 + i64.store $discard=, 0($pop40), $1 + i32.const $push135=, 32 + i32.const $34=, 448 + i32.add $34=, $87, $34 + i32.add $push41=, $34, $pop135 + i64.store $discard=, 0($pop41):p2align=4, $2 + i32.const $push134=, 24 + i32.const $35=, 448 + i32.add $35=, $87, $35 + i32.add $push42=, $35, $pop134 + i64.store $discard=, 0($pop42), $3 + i32.const $push133=, 16 + i32.const $36=, 448 + i32.add $36=, $87, $36 + i32.add $push43=, $36, $pop133 + i64.store $discard=, 0($pop43):p2align=4, $4 + i32.const $push132=, 8 + i32.const $37=, 448 + i32.add $37=, $87, $37 + i32.or $push44=, $37, $pop132 + i64.store $discard=, 0($pop44), $5 + i64.store $discard=, 448($87):p2align=4, $6 + i32.const $push45=, .L.str+2 + i32.const $38=, 448 + i32.add $38=, $87, $38 + call f2@FUNCTION, $7, $7, $pop45, $38 + i32.const $push131=, 48 + i32.const $39=, 384 + i32.add $39=, $87, $39 + i32.add $push46=, $39, $pop131 + i32.store $discard=, 0($pop46):p2align=4, $7 + i32.const $push130=, 40 + i32.const $40=, 384 + i32.add $40=, $87, $40 + i32.add $push47=, $40, $pop130 + i64.store $6=, 0($pop47), $8 + i32.const $push129=, 32 + i32.const $41=, 384 + i32.add $41=, $87, $41 + i32.add $push48=, $41, $pop129 + i64.store $8=, 0($pop48):p2align=4, $9 + i32.const $push128=, 24 + i32.const $42=, 384 + i32.add $42=, $87, $42 + i32.add $push49=, $42, $pop128 + i64.store $9=, 0($pop49), $10 + i32.const $push127=, 16 + i32.const $43=, 384 + i32.add $43=, $87, $43 + i32.add $push50=, $43, $pop127 + i64.store $10=, 0($pop50):p2align=4, $11 + i32.const $push126=, 8 + i32.const $44=, 384 + i32.add $44=, $87, $44 + i32.or $push51=, $44, $pop126 + i64.store $11=, 0($pop51), $12 + i64.store $discard=, 384($87):p2align=4, $13 + i32.const $push52=, .L.str+3 + i32.const $45=, 384 + i32.add $45=, $87, $45 + call f3@FUNCTION, $7, $7, $7, $pop52, $45 + i32.const $push125=, 40 + i32.const $46=, 336 + i32.add $46=, $87, $46 + i32.add $push53=, $46, $pop125 + i64.store $discard=, 0($pop53), $0 + i32.const $push124=, 32 + i32.const $47=, 336 + i32.add $47=, $87, $47 + i32.add $push54=, $47, $pop124 + i64.store $discard=, 0($pop54):p2align=4, $1 + i32.const $push123=, 24 + i32.const $48=, 336 + i32.add $48=, $87, $48 + i32.add $push55=, $48, $pop123 + i64.store $discard=, 0($pop55), $2 + i32.const $push122=, 16 + i32.const $49=, 336 + i32.add $49=, $87, $49 + i32.add $push56=, $49, $pop122 + i64.store $discard=, 0($pop56):p2align=4, $3 + i32.const $push121=, 8 + i32.const $50=, 336 + i32.add $50=, $87, $50 + i32.or $push57=, $50, $pop121 + i64.store $discard=, 0($pop57), $4 + i64.store $discard=, 336($87):p2align=4, $5 + i32.const $push58=, .L.str+4 + i32.const $51=, 336 + i32.add $51=, $87, $51 + call f4@FUNCTION, $7, $7, $7, $7, $pop58, $51 + i32.const $push120=, 40 + i32.const $52=, 288 + i32.add $52=, $87, $52 + i32.add $push59=, $52, $pop120 + i32.store $discard=, 0($pop59):p2align=3, $7 + i32.const $push119=, 32 + i32.const $53=, 288 + i32.add $53=, $87, $53 + i32.add $push60=, $53, $pop119 + i64.store $5=, 0($pop60):p2align=4, $6 + i32.const $push118=, 24 + i32.const $54=, 288 + i32.add $54=, $87, $54 + i32.add $push61=, $54, $pop118 + i64.store $6=, 0($pop61), $8 + i32.const $push117=, 16 + i32.const $55=, 288 + i32.add $55=, $87, $55 + i32.add $push62=, $55, $pop117 + i64.store $8=, 0($pop62):p2align=4, $9 + i32.const $push116=, 8 + i32.const $56=, 288 + i32.add $56=, $87, $56 + i32.or $push63=, $56, $pop116 + i64.store $9=, 0($pop63), $10 + i64.store $discard=, 288($87):p2align=4, $11 + i32.const $push64=, .L.str+5 + i32.const $57=, 288 + i32.add $57=, $87, $57 + call f5@FUNCTION, $7, $7, $7, $7, $7, $pop64, $57 + i32.const $push115=, 32 + i32.const $58=, 240 + i32.add $58=, $87, $58 + i32.add $push65=, $58, $pop115 + i64.store $discard=, 0($pop65):p2align=4, $0 + i32.const $push114=, 24 + i32.const $59=, 240 + i32.add $59=, $87, $59 + i32.add $push66=, $59, $pop114 + i64.store $discard=, 0($pop66), $1 + i32.const $push113=, 16 + i32.const $60=, 240 + i32.add $60=, $87, $60 + i32.add $push67=, $60, $pop113 + i64.store $discard=, 0($pop67):p2align=4, $2 + i32.const $push112=, 8 + i32.const $61=, 240 + i32.add $61=, $87, $61 + i32.or $push68=, $61, $pop112 + i64.store $discard=, 0($pop68), $3 + i64.store $discard=, 240($87):p2align=4, $4 + i32.const $push69=, .L.str+6 + i32.const $62=, 240 + i32.add $62=, $87, $62 + call f6@FUNCTION, $7, $7, $7, $7, $7, $7, $pop69, $62 + i32.const $push111=, 32 + i32.const $63=, 192 + i32.add $63=, $87, $63 + i32.add $push70=, $63, $pop111 + i32.store $discard=, 0($pop70):p2align=4, $7 + i32.const $push110=, 24 + i32.const $64=, 192 + i32.add $64=, $87, $64 + i32.add $push71=, $64, $pop110 + i64.store $4=, 0($pop71), $5 + i32.const $push109=, 16 + i32.const $65=, 192 + i32.add $65=, $87, $65 + i32.add $push72=, $65, $pop109 + i64.store $5=, 0($pop72):p2align=4, $6 + i32.const $push108=, 8 + i32.const $66=, 192 + i32.add $66=, $87, $66 + i32.or $push73=, $66, $pop108 + i64.store $6=, 0($pop73), $8 + i64.store $discard=, 192($87):p2align=4, $9 + i32.const $push74=, .L.str+7 + i32.const $67=, 192 + i32.add $67=, $87, $67 + call f7@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $pop74, $67 + i32.const $push107=, 24 + i32.const $68=, 160 + i32.add $68=, $87, $68 + i32.add $push75=, $68, $pop107 + i64.store $discard=, 0($pop75), $0 + i32.const $push106=, 16 + i32.const $69=, 160 + i32.add $69=, $87, $69 + i32.add $push76=, $69, $pop106 + i64.store $discard=, 0($pop76):p2align=4, $1 + i32.const $push105=, 8 + i32.const $70=, 160 + i32.add $70=, $87, $70 + i32.or $push77=, $70, $pop105 + i64.store $discard=, 0($pop77), $2 + i64.store $discard=, 160($87):p2align=4, $3 + i32.const $push78=, .L.str+8 + i32.const $71=, 160 + i32.add $71=, $87, $71 + call f8@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $pop78, $71 + i32.const $push104=, 24 + i32.const $72=, 128 + i32.add $72=, $87, $72 + i32.add $push79=, $72, $pop104 + i32.store $discard=, 0($pop79):p2align=3, $7 + i32.const $push103=, 16 + i32.const $73=, 128 + i32.add $73=, $87, $73 + i32.add $push80=, $73, $pop103 + i64.store $3=, 0($pop80):p2align=4, $4 + i32.const $push102=, 8 + i32.const $74=, 128 + i32.add $74=, $87, $74 + i32.or $push81=, $74, $pop102 + i64.store $4=, 0($pop81), $5 + i64.store $discard=, 128($87):p2align=4, $6 + i32.const $push82=, .L.str+9 + i32.const $75=, 128 + i32.add $75=, $87, $75 + call f9@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop82, $75 + i32.const $push101=, 16 + i32.const $76=, 96 + i32.add $76=, $87, $76 + i32.add $push83=, $76, $pop101 + i64.store $discard=, 0($pop83):p2align=4, $0 + i32.const $push100=, 8 + i32.const $77=, 96 + i32.add $77=, $87, $77 + i32.or $push84=, $77, $pop100 + i64.store $discard=, 0($pop84), $1 + i64.store $discard=, 96($87):p2align=4, $2 + i32.const $push85=, .L.str+10 + i32.const $78=, 96 + i32.add $78=, $87, $78 + call f10@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop85, $78 + i32.const $push99=, 16 + i32.const $79=, 64 + i32.add $79=, $87, $79 + i32.add $push86=, $79, $pop99 + i32.store $discard=, 0($pop86):p2align=4, $7 + i32.const $push98=, 8 + i32.const $80=, 64 + i32.add $80=, $87, $80 + i32.or $push87=, $80, $pop98 + i64.store $2=, 0($pop87), $3 + i64.store $discard=, 64($87):p2align=4, $4 + i32.const $push88=, .L.str+11 + i32.const $81=, 64 + i32.add $81=, $87, $81 + call f11@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop88, $81 + i32.const $push97=, 8 + i32.const $82=, 48 + i32.add $82=, $87, $82 + i32.or $push89=, $82, $pop97 + i64.store $discard=, 0($pop89), $0 + i64.store $discard=, 48($87):p2align=4, $1 + i32.const $push90=, .L.str+12 + i32.const $83=, 48 + i32.add $83=, $87, $83 + call f12@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop90, $83 + i32.const $push96=, 8 + i32.const $84=, 32 + i32.add $84=, $87, $84 + i32.or $push91=, $84, $pop96 + i32.store $discard=, 0($pop91):p2align=3, $7 + i64.store $discard=, 32($87):p2align=4, $2 + i32.const $push92=, .L.str+13 + i32.const $85=, 32 + i32.add $85=, $87, $85 + call f13@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop92, $85 + i64.store $discard=, 16($87):p2align=4, $0 + i32.const $push93=, .L.str+14 + i32.const $86=, 16 + i32.add $86=, $87, $86 + call f14@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop93, $86 + i32.store $discard=, 0($87):p2align=4, $7 + i32.const $push94=, .L.str+15 + call f15@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop94, $87 + i32.const $push95=, 0 + call exit@FUNCTION, $pop95 unreachable .endfunc .Lfunc_end17: diff --git a/test/torture-s/va-arg-20.c.s b/test/torture-s/va-arg-20.c.s index 701fb040d..b74fbc38e 100644 --- a/test/torture-s/va-arg-20.c.s +++ b/test/torture-s/va-arg-20.c.s @@ -47,17 +47,16 @@ foo: # @foo .globl bar .type bar,@function bar: # @bar - .param i32, i32 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $3=, __stack_pointer i32.load $3=, 0($3) i32.const $4=, 16 i32.sub $6=, $3, $4 - copy_local $7=, $6 i32.const $4=, __stack_pointer i32.store $6=, 0($4), $6 - i32.store $push0=, 8($6), $7 + i32.store $push0=, 8($6), $2 i32.store $push1=, 12($6), $pop0 i32.const $push2=, 7 i32.add $push3=, $pop1, $pop2 @@ -74,7 +73,7 @@ bar: # @bar br_if 0, $pop10 # 0: down to label1 # BB#1: # %foo.exit i32.const $5=, 16 - i32.add $6=, $7, $5 + i32.add $6=, $6, $5 i32.const $5=, __stack_pointer i32.store $6=, 0($5), $6 return @@ -92,31 +91,19 @@ bar: # @bar .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 16 - i32.sub $6=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 i32.const $0=, __stack_pointer i32.load $0=, 0($0) - i32.const $1=, 8 - i32.sub $6=, $0, $1 + i32.const $1=, 16 + i32.sub $2=, $0, $1 i32.const $1=, __stack_pointer - i32.store $6=, 0($1), $6 + i32.store $2=, 0($1), $2 i64.const $push0=, 16 - i64.store $discard=, 0($6), $pop0 + i64.store $discard=, 0($2):p2align=4, $pop0 i32.const $push1=, 0 i32.const $push3=, 0 - call bar@FUNCTION, $pop1, $pop3 - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 8 - i32.add $6=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $6=, 0($3), $6 + call bar@FUNCTION, $pop1, $pop3, $2 i32.const $push2=, 0 call exit@FUNCTION, $pop2 unreachable diff --git a/test/torture-s/va-arg-21.c.s b/test/torture-s/va-arg-21.c.s index 3f800eb81..8eb55a1b6 100644 --- a/test/torture-s/va-arg-21.c.s +++ b/test/torture-s/va-arg-21.c.s @@ -6,29 +6,17 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 16 - i32.sub $7=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 i32.const $1=, __stack_pointer i32.load $1=, 0($1) - i32.const $2=, 4 - i32.sub $7=, $1, $2 + i32.const $2=, 16 + i32.sub $3=, $1, $2 i32.const $2=, __stack_pointer - i32.store $7=, 0($2), $7 + i32.store $3=, 0($2), $3 i32.const $push0=, .L.str.1 - i32.store $discard=, 0($7), $pop0 - call doit@FUNCTION, $0 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 4 - i32.add $7=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 + i32.store $discard=, 0($3):p2align=4, $pop0 + call doit@FUNCTION, $0, $3 i32.const $push1=, 0 call exit@FUNCTION, $pop1 unreachable @@ -39,27 +27,27 @@ main: # @main .section .text.doit,"ax",@progbits .type doit,@function doit: # @doit - .param i32 - .local i32, i32, i32 + .param i32, i32 + .local i32, i32 # BB#0: # %entry i32.const $push0=, 4 - i32.call $1=, malloc@FUNCTION, $pop0 + i32.call $2=, malloc@FUNCTION, $pop0 i32.const $push10=, 4 - i32.call $2=, malloc@FUNCTION, $pop10 + i32.call $3=, malloc@FUNCTION, $pop10 i32.const $push2=, 0 i32.load $push3=, stdout($pop2) i32.const $push4=, .L.str - i32.store $push1=, 0($1), $3 + i32.store $push1=, 0($2), $1 tee_local $push9=, $1=, $pop1 i32.call $discard=, vfprintf@FUNCTION, $pop3, $pop4, $pop9 i32.const $push8=, 0 i32.load $push6=, stdout($pop8) i32.const $push7=, .L.str - i32.store $push5=, 0($2), $1 + i32.store $push5=, 0($3), $1 i32.call $discard=, vfprintf@FUNCTION, $pop6, $pop7, $pop5 block i32.const $push11=, 0 - i32.eq $push12=, $2, $pop11 + i32.eq $push12=, $3, $pop11 br_if 0, $pop12 # 0: down to label0 # BB#1: # %if.end return diff --git a/test/torture-s/va-arg-23.c.s b/test/torture-s/va-arg-23.c.s index 2080089f8..740c32f02 100644 --- a/test/torture-s/va-arg-23.c.s +++ b/test/torture-s/va-arg-23.c.s @@ -5,17 +5,16 @@ .globl foo .type foo,@function foo: # @foo - .param i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $8=, __stack_pointer i32.load $8=, 0($8) i32.const $9=, 16 i32.sub $11=, $8, $9 - copy_local $12=, $11 i32.const $9=, __stack_pointer i32.store $11=, 0($9), $11 - i32.store $push1=, 12($11), $12 + i32.store $push1=, 12($11), $7 i32.const $push2=, 3 i32.add $push3=, $pop1, $pop2 i32.const $push4=, -4 @@ -35,7 +34,7 @@ foo: # @foo br_if 0, $pop11 # 0: down to label0 # BB#2: # %if.end i32.const $10=, 16 - i32.add $11=, $12, $10 + i32.add $11=, $11, $10 i32.const $10=, __stack_pointer i32.store $11=, 0($10), $11 return @@ -53,39 +52,27 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 32 - i32.sub $9=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $9=, 0($6), $9 - i64.load $push0=, 24($9) - i64.store $discard=, 16($9):p2align=2, $pop0 i32.const $1=, __stack_pointer i32.load $1=, 0($1) - i32.const $2=, 4 - i32.sub $9=, $1, $2 + i32.const $2=, 32 + i32.sub $5=, $1, $2 i32.const $2=, __stack_pointer - i32.store $9=, 0($2), $9 + i32.store $5=, 0($2), $5 + i64.load $push0=, 24($5) + i64.store $discard=, 16($5):p2align=2, $pop0 i32.const $push1=, 2 - i32.store $discard=, 0($9), $pop1 + i32.store $discard=, 0($5):p2align=4, $pop1 i32.const $push2=, 1 - i32.const $8=, 16 - i32.add $8=, $9, $8 - call foo@FUNCTION, $0, $0, $0, $0, $0, $8, $pop2 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 4 - i32.add $9=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $9=, 0($4), $9 + i32.const $4=, 16 + i32.add $4=, $5, $4 + call foo@FUNCTION, $0, $0, $0, $0, $0, $4, $pop2, $5 i32.const $push3=, 0 - i32.const $7=, 32 - i32.add $9=, $9, $7 - i32.const $7=, __stack_pointer - i32.store $9=, 0($7), $9 + i32.const $3=, 32 + i32.add $5=, $5, $3 + i32.const $3=, __stack_pointer + i32.store $5=, 0($3), $5 return $pop3 .endfunc .Lfunc_end1: diff --git a/test/torture-s/va-arg-24.c.s b/test/torture-s/va-arg-24.c.s index 5e36dd62f..089ceb44a 100644 --- a/test/torture-s/va-arg-24.c.s +++ b/test/torture-s/va-arg-24.c.s @@ -6,231 +6,169 @@ .type main,@function main: # @main .result i32 - .local i32, i64, i64, i64, i64, i32, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i64, i64, i64, i64, i32, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $49=, __stack_pointer - i32.load $49=, 0($49) - i32.const $50=, 48 - i32.sub $51=, $49, $50 - i32.const $50=, __stack_pointer - i32.store $51=, 0($50), $51 + i32.const $8=, __stack_pointer + i32.load $8=, 0($8) + i32.const $9=, 288 + i32.sub $39=, $8, $9 i32.const $9=, __stack_pointer - i32.load $9=, 0($9) - i32.const $10=, 40 - i32.sub $51=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $51=, 0($10), $51 - i64.const $push0=, 8589934593 - i64.store $discard=, 0($51):p2align=2, $pop0 - i32.const $push1=, 32 - i32.add $0=, $51, $pop1 + i32.store $39=, 0($9), $39 + i32.const $push0=, 32 + i32.const $10=, 240 + i32.add $10=, $39, $10 + i32.add $push1=, $10, $pop0 i64.const $push2=, 42949672969 - i64.store $1=, 0($0):p2align=2, $pop2 + i64.store $0=, 0($pop1):p2align=4, $pop2 i32.const $push3=, 24 - i32.add $0=, $51, $pop3 - i64.const $push4=, 34359738375 - i64.store $2=, 0($0):p2align=2, $pop4 - i32.const $push5=, 16 - i32.add $0=, $51, $pop5 - i64.const $push6=, 25769803781 - i64.store $3=, 0($0):p2align=2, $pop6 - i32.const $push7=, 8 - i32.add $0=, $51, $pop7 - i64.const $push8=, 17179869187 - i64.store $4=, 0($0):p2align=2, $pop8 - call varargs0@FUNCTION, $0 - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 40 - i32.add $51=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $51=, 0($12), $51 - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 36 - i32.sub $51=, $13, $14 - i32.const $14=, __stack_pointer - i32.store $51=, 0($14), $51 - i64.const $push9=, 12884901890 - i64.store $discard=, 0($51):p2align=2, $pop9 - i32.const $push31=, 32 - i32.add $0=, $51, $pop31 - i32.const $push10=, 10 - i32.store $0=, 0($0), $pop10 - i32.const $push30=, 24 - i32.add $5=, $51, $pop30 - i64.const $push11=, 38654705672 - i64.store $6=, 0($5):p2align=2, $pop11 - i32.const $push29=, 16 - i32.add $5=, $51, $pop29 - i64.const $push12=, 30064771078 - i64.store $7=, 0($5):p2align=2, $pop12 - i32.const $push28=, 8 - i32.add $5=, $51, $pop28 - i64.const $push13=, 21474836484 - i64.store $8=, 0($5):p2align=2, $pop13 - call varargs1@FUNCTION, $0, $0 - i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 36 - i32.add $51=, $15, $16 - i32.const $16=, __stack_pointer - i32.store $51=, 0($16), $51 - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 32 - i32.sub $51=, $17, $18 - i32.const $18=, __stack_pointer - i32.store $51=, 0($18), $51 - i64.store $discard=, 0($51):p2align=2, $4 - i32.const $push27=, 24 - i32.add $5=, $51, $pop27 - i64.store $discard=, 0($5):p2align=2, $1 - i32.const $push26=, 16 - i32.add $5=, $51, $pop26 - i64.store $discard=, 0($5):p2align=2, $2 - i32.const $push25=, 8 - i32.add $5=, $51, $pop25 - i64.store $discard=, 0($5):p2align=2, $3 - call varargs2@FUNCTION, $0, $0, $0 - i32.const $19=, __stack_pointer - i32.load $19=, 0($19) - i32.const $20=, 32 - i32.add $51=, $19, $20 - i32.const $20=, __stack_pointer - i32.store $51=, 0($20), $51 - i32.const $21=, __stack_pointer - i32.load $21=, 0($21) - i32.const $22=, 28 - i32.sub $51=, $21, $22 - i32.const $22=, __stack_pointer - i32.store $51=, 0($22), $51 - i64.store $discard=, 0($51):p2align=2, $8 - i32.const $push24=, 24 - i32.add $5=, $51, $pop24 - i32.store $discard=, 0($5), $0 - i32.const $push23=, 16 - i32.add $5=, $51, $pop23 - i64.store $4=, 0($5):p2align=2, $6 - i32.const $push22=, 8 - i32.add $5=, $51, $pop22 - i64.store $6=, 0($5):p2align=2, $7 - call varargs3@FUNCTION, $0, $0, $0, $0 - i32.const $23=, __stack_pointer - i32.load $23=, 0($23) - i32.const $24=, 28 - i32.add $51=, $23, $24 - i32.const $24=, __stack_pointer - i32.store $51=, 0($24), $51 - i32.const $25=, __stack_pointer - i32.load $25=, 0($25) - i32.const $26=, 24 - i32.sub $51=, $25, $26 - i32.const $26=, __stack_pointer - i32.store $51=, 0($26), $51 - i64.store $discard=, 0($51):p2align=2, $3 - i32.const $push21=, 16 - i32.add $5=, $51, $pop21 - i64.store $discard=, 0($5):p2align=2, $1 - i32.const $push20=, 8 - i32.add $5=, $51, $pop20 - i64.store $discard=, 0($5):p2align=2, $2 - call varargs4@FUNCTION, $0, $0, $0, $0, $0 - i32.const $27=, __stack_pointer - i32.load $27=, 0($27) - i32.const $28=, 24 - i32.add $51=, $27, $28 - i32.const $28=, __stack_pointer - i32.store $51=, 0($28), $51 - i32.const $29=, __stack_pointer - i32.load $29=, 0($29) - i32.const $30=, 20 - i32.sub $51=, $29, $30 - i32.const $30=, __stack_pointer - i32.store $51=, 0($30), $51 - i64.store $discard=, 0($51):p2align=2, $6 - i32.const $push19=, 16 - i32.add $5=, $51, $pop19 - i32.store $discard=, 0($5), $0 - i32.const $push18=, 8 - i32.add $5=, $51, $pop18 - i64.store $3=, 0($5):p2align=2, $4 - call varargs5@FUNCTION, $0, $0, $0, $0, $0, $0 - i32.const $31=, __stack_pointer - i32.load $31=, 0($31) - i32.const $32=, 20 - i32.add $51=, $31, $32 - i32.const $32=, __stack_pointer - i32.store $51=, 0($32), $51 - i32.const $33=, __stack_pointer - i32.load $33=, 0($33) - i32.const $34=, 16 - i32.sub $51=, $33, $34 - i32.const $34=, __stack_pointer - i32.store $51=, 0($34), $51 - i64.store $discard=, 0($51):p2align=2, $2 - i32.const $push17=, 8 - i32.add $5=, $51, $pop17 - i64.store $discard=, 0($5):p2align=2, $1 - call varargs6@FUNCTION, $0, $0, $0, $0, $0, $0, $0 - i32.const $35=, __stack_pointer - i32.load $35=, 0($35) - i32.const $36=, 16 - i32.add $51=, $35, $36 - i32.const $36=, __stack_pointer - i32.store $51=, 0($36), $51 - i32.const $37=, __stack_pointer - i32.load $37=, 0($37) - i32.const $38=, 12 - i32.sub $51=, $37, $38 - i32.const $38=, __stack_pointer - i32.store $51=, 0($38), $51 - i64.store $discard=, 0($51):p2align=2, $3 - i32.const $push16=, 8 - i32.add $5=, $51, $pop16 - i32.store $discard=, 0($5), $0 - call varargs7@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0 - i32.const $39=, __stack_pointer - i32.load $39=, 0($39) - i32.const $40=, 12 - i32.add $51=, $39, $40 - i32.const $40=, __stack_pointer - i32.store $51=, 0($40), $51 - i32.const $41=, __stack_pointer - i32.load $41=, 0($41) - i32.const $42=, 8 - i32.sub $51=, $41, $42 - i32.const $42=, __stack_pointer - i32.store $51=, 0($42), $51 - i64.store $discard=, 0($51):p2align=2, $1 - call varargs8@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0 - i32.const $43=, __stack_pointer - i32.load $43=, 0($43) - i32.const $44=, 8 - i32.add $51=, $43, $44 - i32.const $44=, __stack_pointer - i32.store $51=, 0($44), $51 - i32.const $45=, __stack_pointer - i32.load $45=, 0($45) - i32.const $46=, 4 - i32.sub $51=, $45, $46 - i32.const $46=, __stack_pointer - i32.store $51=, 0($46), $51 - i32.store $discard=, 0($51), $0 - call varargs9@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0 - i32.const $47=, __stack_pointer - i32.load $47=, 0($47) - i32.const $48=, 4 - i32.add $51=, $47, $48 - i32.const $48=, __stack_pointer - i32.store $51=, 0($48), $51 + i32.const $11=, 240 + i32.add $11=, $39, $11 + i32.add $push4=, $11, $pop3 + i64.const $push5=, 34359738375 + i64.store $1=, 0($pop4), $pop5 + i32.const $push6=, 16 + i32.const $12=, 240 + i32.add $12=, $39, $12 + i32.add $push7=, $12, $pop6 + i64.const $push8=, 25769803781 + i64.store $2=, 0($pop7):p2align=4, $pop8 + i32.const $push9=, 8 + i32.const $13=, 240 + i32.add $13=, $39, $13 + i32.or $push10=, $13, $pop9 + i64.const $push11=, 17179869187 + i64.store $3=, 0($pop10), $pop11 + i64.const $push12=, 8589934593 + i64.store $discard=, 240($39):p2align=4, $pop12 + i32.const $14=, 240 + i32.add $14=, $39, $14 + call varargs0@FUNCTION, $4, $14 + i32.const $push51=, 32 + i32.const $15=, 192 + i32.add $15=, $39, $15 + i32.add $push13=, $15, $pop51 + i32.const $push14=, 10 + i32.store $4=, 0($pop13):p2align=4, $pop14 + i32.const $push50=, 24 + i32.const $16=, 192 + i32.add $16=, $39, $16 + i32.add $push15=, $16, $pop50 + i64.const $push16=, 38654705672 + i64.store $5=, 0($pop15), $pop16 + i32.const $push49=, 16 + i32.const $17=, 192 + i32.add $17=, $39, $17 + i32.add $push17=, $17, $pop49 + i64.const $push18=, 30064771078 + i64.store $6=, 0($pop17):p2align=4, $pop18 + i32.const $push48=, 8 + i32.const $18=, 192 + i32.add $18=, $39, $18 + i32.or $push19=, $18, $pop48 + i64.const $push20=, 21474836484 + i64.store $7=, 0($pop19), $pop20 + i64.const $push21=, 12884901890 + i64.store $discard=, 192($39):p2align=4, $pop21 + i32.const $19=, 192 + i32.add $19=, $39, $19 + call varargs1@FUNCTION, $4, $4, $19 + i32.const $push47=, 24 + i32.const $20=, 160 + i32.add $20=, $39, $20 + i32.add $push22=, $20, $pop47 + i64.store $discard=, 0($pop22), $0 + i32.const $push46=, 16 + i32.const $21=, 160 + i32.add $21=, $39, $21 + i32.add $push23=, $21, $pop46 + i64.store $discard=, 0($pop23):p2align=4, $1 + i32.const $push45=, 8 + i32.const $22=, 160 + i32.add $22=, $39, $22 + i32.or $push24=, $22, $pop45 + i64.store $discard=, 0($pop24), $2 + i64.store $discard=, 160($39):p2align=4, $3 + i32.const $23=, 160 + i32.add $23=, $39, $23 + call varargs2@FUNCTION, $4, $4, $4, $23 + i32.const $push44=, 24 + i32.const $24=, 128 + i32.add $24=, $39, $24 + i32.add $push25=, $24, $pop44 + i32.store $discard=, 0($pop25):p2align=3, $4 + i32.const $push43=, 16 + i32.const $25=, 128 + i32.add $25=, $39, $25 + i32.add $push26=, $25, $pop43 + i64.store $3=, 0($pop26):p2align=4, $5 + i32.const $push42=, 8 + i32.const $26=, 128 + i32.add $26=, $39, $26 + i32.or $push27=, $26, $pop42 + i64.store $5=, 0($pop27), $6 + i64.store $discard=, 128($39):p2align=4, $7 + i32.const $27=, 128 + i32.add $27=, $39, $27 + call varargs3@FUNCTION, $4, $4, $4, $4, $27 + i32.const $push41=, 16 + i32.const $28=, 96 + i32.add $28=, $39, $28 + i32.add $push28=, $28, $pop41 + i64.store $discard=, 0($pop28):p2align=4, $0 + i32.const $push40=, 8 + i32.const $29=, 96 + i32.add $29=, $39, $29 + i32.or $push29=, $29, $pop40 + i64.store $discard=, 0($pop29), $1 + i64.store $discard=, 96($39):p2align=4, $2 + i32.const $30=, 96 + i32.add $30=, $39, $30 + call varargs4@FUNCTION, $4, $4, $4, $4, $4, $30 + i32.const $push39=, 16 + i32.const $31=, 64 + i32.add $31=, $39, $31 + i32.add $push30=, $31, $pop39 + i32.store $discard=, 0($pop30):p2align=4, $4 + i32.const $push38=, 8 + i32.const $32=, 64 + i32.add $32=, $39, $32 + i32.or $push31=, $32, $pop38 + i64.store $2=, 0($pop31), $3 + i64.store $discard=, 64($39):p2align=4, $5 + i32.const $33=, 64 + i32.add $33=, $39, $33 + call varargs5@FUNCTION, $4, $4, $4, $4, $4, $4, $33 + i32.const $push37=, 8 + i32.const $34=, 48 + i32.add $34=, $39, $34 + i32.or $push32=, $34, $pop37 + i64.store $discard=, 0($pop32), $0 + i64.store $discard=, 48($39):p2align=4, $1 + i32.const $35=, 48 + i32.add $35=, $39, $35 + call varargs6@FUNCTION, $4, $4, $4, $4, $4, $4, $4, $35 + i32.const $push36=, 8 + i32.const $36=, 32 + i32.add $36=, $39, $36 + i32.or $push33=, $36, $pop36 + i32.store $discard=, 0($pop33):p2align=3, $4 + i64.store $discard=, 32($39):p2align=4, $2 + i32.const $37=, 32 + i32.add $37=, $39, $37 + call varargs7@FUNCTION, $4, $4, $4, $4, $4, $4, $4, $4, $37 + i64.store $discard=, 16($39):p2align=4, $0 + i32.const $38=, 16 + i32.add $38=, $39, $38 + call varargs8@FUNCTION, $4, $4, $4, $4, $4, $4, $4, $4, $4, $38 + i32.store $discard=, 0($39):p2align=4, $4 + call varargs9@FUNCTION, $4, $4, $4, $4, $4, $4, $4, $4, $4, $4, $39 block - i32.const $push15=, 0 - i32.load $push14=, errors($pop15) - br_if 0, $pop14 # 0: down to label0 + i32.const $push35=, 0 + i32.load $push34=, errors($pop35) + br_if 0, $pop34 # 0: down to label0 # BB#1: # %if.end - i32.const $push32=, 0 - call exit@FUNCTION, $pop32 + i32.const $push52=, 0 + call exit@FUNCTION, $pop52 unreachable .LBB0_2: # %if.then end_block # label0: @@ -243,192 +181,179 @@ main: # @main .section .text.varargs0,"ax",@progbits .type varargs0,@function varargs0: # @varargs0 - .param i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 64 - i32.sub $17=, $11, $12 - copy_local $18=, $17 - i32.const $12=, __stack_pointer - i32.store $17=, 0($12), $17 - i32.store $discard=, 60($17), $18 - i32.load $push1=, 60($17) + i32.const $6=, __stack_pointer + i32.load $6=, 0($6) + i32.const $7=, 64 + i32.sub $12=, $6, $7 + i32.const $7=, __stack_pointer + i32.store $12=, 0($7), $12 + i32.store $discard=, 60($12), $1 + i32.load $push1=, 60($12) i32.const $push2=, 3 i32.add $push3=, $pop1, $pop2 i32.const $push4=, -4 i32.and $push5=, $pop3, $pop4 - tee_local $push92=, $5=, $pop5 - i32.const $push91=, 4 - i32.add $push6=, $pop92, $pop91 - i32.store $discard=, 60($17), $pop6 + tee_local $push95=, $1=, $pop5 + i32.const $push94=, 4 + i32.add $push6=, $pop95, $pop94 + i32.store $discard=, 60($12), $pop6 i32.const $push0=, 0 - i32.store $1=, 16($17):p2align=4, $pop0 - i32.const $push90=, 4 - i32.const $14=, 16 - i32.add $14=, $17, $14 - i32.or $push51=, $14, $pop90 - tee_local $push89=, $6=, $pop51 - i32.load $push7=, 0($5) - i32.store $discard=, 0($pop89), $pop7 + i32.store $2=, 16($12):p2align=4, $pop0 + i32.const $push93=, 4 + i32.const $9=, 16 + i32.add $9=, $12, $9 + i32.or $push54=, $9, $pop93 + tee_local $push92=, $5=, $pop54 + i32.load $push7=, 0($1) + i32.store $discard=, 0($pop92), $pop7 i32.const $push8=, 7 - i32.add $push9=, $5, $pop8 - i32.const $push88=, -4 - i32.and $push10=, $pop9, $pop88 - tee_local $push87=, $5=, $pop10 - i32.const $push86=, 4 - i32.add $push11=, $pop87, $pop86 - i32.store $discard=, 60($17), $pop11 - i32.const $push85=, 8 - i32.const $15=, 16 - i32.add $15=, $17, $15 - i32.or $push13=, $15, $pop85 - i32.load $push12=, 0($5) + i32.add $push9=, $1, $pop8 + i32.const $push91=, -4 + i32.and $push10=, $pop9, $pop91 + tee_local $push90=, $1=, $pop10 + i32.const $push89=, 4 + i32.add $push11=, $pop90, $pop89 + i32.store $discard=, 60($12), $pop11 + i32.const $push88=, 8 + i32.const $10=, 16 + i32.add $10=, $12, $10 + i32.or $push13=, $10, $pop88 + i32.load $push12=, 0($1) i32.store $discard=, 0($pop13):p2align=3, $pop12 - i32.const $push84=, 7 - i32.add $push14=, $5, $pop84 - i32.const $push83=, -4 - i32.and $push15=, $pop14, $pop83 - tee_local $push82=, $5=, $pop15 - i32.const $push81=, 4 - i32.add $push16=, $pop82, $pop81 - i32.store $discard=, 60($17), $pop16 - i32.const $push80=, 12 - i32.const $16=, 16 - i32.add $16=, $17, $16 - i32.or $push18=, $16, $pop80 - i32.load $push17=, 0($5) + i32.const $push87=, 7 + i32.add $push14=, $1, $pop87 + i32.const $push86=, -4 + i32.and $push15=, $pop14, $pop86 + tee_local $push85=, $1=, $pop15 + i32.const $push84=, 4 + i32.add $push16=, $pop85, $pop84 + i32.store $discard=, 60($12), $pop16 + i32.const $push83=, 12 + i32.const $11=, 16 + i32.add $11=, $12, $11 + i32.or $push18=, $11, $pop83 + i32.load $push17=, 0($1) i32.store $discard=, 0($pop18), $pop17 - i32.const $push79=, 7 - i32.add $push19=, $5, $pop79 - i32.const $push78=, -4 - i32.and $push20=, $pop19, $pop78 - tee_local $push77=, $5=, $pop20 - i32.const $push76=, 4 - i32.add $push21=, $pop77, $pop76 - i32.store $discard=, 60($17), $pop21 - i32.load $push22=, 0($5) - i32.store $discard=, 32($17):p2align=4, $pop22 - i32.const $push75=, 7 - i32.add $push23=, $5, $pop75 - i32.const $push74=, -4 - i32.and $push24=, $pop23, $pop74 - tee_local $push73=, $5=, $pop24 - i32.const $push72=, 4 - i32.add $push25=, $pop73, $pop72 - i32.store $discard=, 60($17), $pop25 - i32.load $push26=, 0($5) - i32.store $discard=, 36($17), $pop26 - i32.const $push71=, 7 - i32.add $push27=, $5, $pop71 - i32.const $push70=, -4 - i32.and $push28=, $pop27, $pop70 - tee_local $push69=, $5=, $pop28 - i32.const $push68=, 4 - i32.add $push29=, $pop69, $pop68 - i32.store $discard=, 60($17), $pop29 - i32.load $push30=, 0($5) - i32.store $discard=, 40($17):p2align=3, $pop30 - i32.const $push67=, 7 - i32.add $push31=, $5, $pop67 - i32.const $push66=, -4 - i32.and $push32=, $pop31, $pop66 - tee_local $push65=, $5=, $pop32 - i32.const $push64=, 4 - i32.add $push33=, $pop65, $pop64 - i32.store $discard=, 60($17), $pop33 - i32.load $push34=, 0($5) - i32.store $discard=, 44($17), $pop34 - i32.const $push63=, 7 - i32.add $push35=, $5, $pop63 - i32.const $push62=, -4 - i32.and $push36=, $pop35, $pop62 - tee_local $push61=, $5=, $pop36 - i32.const $push60=, 4 - i32.add $push37=, $pop61, $pop60 - i32.store $discard=, 60($17), $pop37 - i32.load $push38=, 0($5) - i32.store $discard=, 48($17):p2align=4, $pop38 - i32.const $push59=, 7 - i32.add $push39=, $5, $pop59 - i32.const $push58=, -4 - i32.and $push40=, $pop39, $pop58 - tee_local $push57=, $5=, $pop40 - i32.const $push56=, 4 - i32.add $push41=, $pop57, $pop56 - i32.store $discard=, 60($17), $pop41 - i32.load $push42=, 0($5) - i32.store $discard=, 52($17), $pop42 - i32.const $push55=, 7 - i32.add $push43=, $5, $pop55 - i32.const $push54=, -4 - i32.and $push44=, $pop43, $pop54 - tee_local $push53=, $5=, $pop44 - i32.const $push52=, 4 - i32.add $push45=, $pop53, $pop52 - i32.store $discard=, 60($17), $pop45 - i32.load $push46=, 0($5) - i32.store $discard=, 56($17):p2align=3, $pop46 - copy_local $4=, $1 - copy_local $5=, $1 + i32.const $push82=, 7 + i32.add $push19=, $1, $pop82 + i32.const $push81=, -4 + i32.and $push20=, $pop19, $pop81 + tee_local $push80=, $1=, $pop20 + i32.const $push79=, 4 + i32.add $push21=, $pop80, $pop79 + i32.store $discard=, 60($12), $pop21 + i32.load $push22=, 0($1) + i32.store $discard=, 32($12):p2align=4, $pop22 + i32.const $push78=, 7 + i32.add $push23=, $1, $pop78 + i32.const $push77=, -4 + i32.and $push24=, $pop23, $pop77 + tee_local $push76=, $1=, $pop24 + i32.const $push75=, 4 + i32.add $push25=, $pop76, $pop75 + i32.store $discard=, 60($12), $pop25 + i32.load $push26=, 0($1) + i32.store $discard=, 36($12), $pop26 + i32.const $push74=, 7 + i32.add $push27=, $1, $pop74 + i32.const $push73=, -4 + i32.and $push28=, $pop27, $pop73 + tee_local $push72=, $1=, $pop28 + i32.const $push71=, 4 + i32.add $push29=, $pop72, $pop71 + i32.store $discard=, 60($12), $pop29 + i32.load $push30=, 0($1) + i32.store $discard=, 40($12):p2align=3, $pop30 + i32.const $push70=, 7 + i32.add $push31=, $1, $pop70 + i32.const $push69=, -4 + i32.and $push32=, $pop31, $pop69 + tee_local $push68=, $1=, $pop32 + i32.const $push67=, 4 + i32.add $push33=, $pop68, $pop67 + i32.store $discard=, 60($12), $pop33 + i32.load $push34=, 0($1) + i32.store $discard=, 44($12), $pop34 + i32.const $push66=, 7 + i32.add $push35=, $1, $pop66 + i32.const $push65=, -4 + i32.and $push36=, $pop35, $pop65 + tee_local $push64=, $1=, $pop36 + i32.const $push63=, 4 + i32.add $push37=, $pop64, $pop63 + i32.store $discard=, 60($12), $pop37 + i32.load $push38=, 0($1) + i32.store $discard=, 48($12):p2align=4, $pop38 + i32.const $push62=, 7 + i32.add $push39=, $1, $pop62 + i32.const $push61=, -4 + i32.and $push40=, $pop39, $pop61 + tee_local $push60=, $1=, $pop40 + i32.const $push59=, 4 + i32.add $push41=, $pop60, $pop59 + i32.store $discard=, 60($12), $pop41 + i32.load $push42=, 0($1) + i32.store $discard=, 52($12), $pop42 + i32.const $push58=, 7 + i32.add $push43=, $1, $pop58 + i32.const $push57=, -4 + i32.and $push44=, $pop43, $pop57 + tee_local $push56=, $1=, $pop44 + i32.const $push55=, 4 + i32.add $push45=, $pop56, $pop55 + i32.store $discard=, 60($12), $pop45 + i32.load $push46=, 0($1) + i32.store $discard=, 56($12):p2align=3, $pop46 + copy_local $4=, $2 + copy_local $1=, $2 .LBB1_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label1: block - i32.eq $push47=, $5, $4 + i32.eq $push47=, $1, $4 br_if 0, $pop47 # 0: down to label3 # BB#2: # %if.then.i # in Loop: Header=BB1_1 Depth=1 - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 16 - i32.sub $17=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $17=, 0($8), $17 + i32.const $push101=, 12 + i32.or $push48=, $12, $pop101 + i32.store $3=, 0($pop48), $1 + i32.const $push100=, 8 + i32.or $push49=, $12, $pop100 + i32.store $discard=, 0($pop49):p2align=3, $4 + i32.const $push99=, 4 + i32.or $push50=, $12, $pop99 + i32.store $discard=, 0($pop50), $3 i32.const $push98=, .L.str - i32.store $discard=, 0($17), $pop98 - i32.const $push97=, 12 - i32.add $2=, $17, $pop97 - i32.store $2=, 0($2), $5 - i32.const $push96=, 8 - i32.add $3=, $17, $pop96 - i32.store $discard=, 0($3), $4 - i32.const $push95=, 4 - i32.add $4=, $17, $pop95 - i32.store $discard=, 0($4), $2 - i32.const $push94=, .L.str.1 - i32.call $discard=, printf@FUNCTION, $pop94 - i32.const $9=, __stack_pointer - i32.load $9=, 0($9) - i32.const $10=, 16 - i32.add $17=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $17=, 0($10), $17 - i32.load $push48=, errors($1) - i32.const $push93=, 1 - i32.add $push49=, $pop48, $pop93 - i32.store $discard=, errors($1), $pop49 + i32.store $discard=, 0($12):p2align=4, $pop98 + i32.const $push97=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop97, $12 + i32.load $push51=, errors($2) + i32.const $push96=, 1 + i32.add $push52=, $pop51, $pop96 + i32.store $discard=, errors($2), $pop52 .LBB1_3: # %for.inc.i # in Loop: Header=BB1_1 Depth=1 end_block # label3: - i32.const $push99=, 10 - i32.eq $push50=, $5, $pop99 - br_if 1, $pop50 # 1: down to label2 + i32.const $push102=, 10 + i32.eq $push53=, $1, $pop102 + br_if 1, $pop53 # 1: down to label2 # BB#4: # %for.inc.i.for.body.i_crit_edge # in Loop: Header=BB1_1 Depth=1 - i32.load $4=, 0($6) - i32.const $push101=, 1 - i32.add $5=, $5, $pop101 - i32.const $push100=, 4 - i32.add $6=, $6, $pop100 + i32.load $4=, 0($5) + i32.const $push104=, 1 + i32.add $1=, $1, $pop104 + i32.const $push103=, 4 + i32.add $5=, $5, $pop103 br 0 # 0: up to label1 .LBB1_5: # %verify.exit end_loop # label2: - i32.const $13=, 64 - i32.add $17=, $18, $13 - i32.const $13=, __stack_pointer - i32.store $17=, 0($13), $17 + i32.const $8=, 64 + i32.add $12=, $12, $8 + i32.const $8=, __stack_pointer + i32.store $12=, 0($8), $12 return .endfunc .Lfunc_end1: @@ -437,183 +362,170 @@ varargs0: # @varargs0 .section .text.varargs1,"ax",@progbits .type varargs1,@function varargs1: # @varargs1 - .param i32, i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 64 - i32.sub $17=, $11, $12 - copy_local $18=, $17 - i32.const $12=, __stack_pointer - i32.store $17=, 0($12), $17 - i32.store $discard=, 60($17), $18 - i32.load $push1=, 60($17) + i32.const $6=, __stack_pointer + i32.load $6=, 0($6) + i32.const $7=, 64 + i32.sub $12=, $6, $7 + i32.const $7=, __stack_pointer + i32.store $12=, 0($7), $12 + i32.store $discard=, 60($12), $2 + i32.load $push1=, 60($12) i32.const $push2=, 3 i32.add $push3=, $pop1, $pop2 i32.const $push4=, -4 i32.and $push5=, $pop3, $pop4 - tee_local $push82=, $6=, $pop5 - i32.const $push81=, 4 - i32.add $push6=, $pop82, $pop81 - i32.store $discard=, 60($17), $pop6 + tee_local $push85=, $2=, $pop5 + i32.const $push84=, 4 + i32.add $push6=, $pop85, $pop84 + i32.store $discard=, 60($12), $pop6 i64.const $push0=, 4294967296 - i64.store $discard=, 16($17):p2align=4, $pop0 - i32.const $push80=, 8 - i32.const $14=, 16 - i32.add $14=, $17, $14 - i32.or $push8=, $14, $pop80 - i32.load $push7=, 0($6) + i64.store $discard=, 16($12):p2align=4, $pop0 + i32.const $push83=, 8 + i32.const $9=, 16 + i32.add $9=, $12, $9 + i32.or $push8=, $9, $pop83 + i32.load $push7=, 0($2) i32.store $discard=, 0($pop8):p2align=3, $pop7 i32.const $push9=, 7 - i32.add $push10=, $6, $pop9 - i32.const $push79=, -4 - i32.and $push11=, $pop10, $pop79 - tee_local $push78=, $6=, $pop11 - i32.const $push77=, 4 - i32.add $push12=, $pop78, $pop77 - i32.store $discard=, 60($17), $pop12 - i32.const $push76=, 12 - i32.const $15=, 16 - i32.add $15=, $17, $15 - i32.or $push14=, $15, $pop76 - i32.load $push13=, 0($6) + i32.add $push10=, $2, $pop9 + i32.const $push82=, -4 + i32.and $push11=, $pop10, $pop82 + tee_local $push81=, $2=, $pop11 + i32.const $push80=, 4 + i32.add $push12=, $pop81, $pop80 + i32.store $discard=, 60($12), $pop12 + i32.const $push79=, 12 + i32.const $10=, 16 + i32.add $10=, $12, $10 + i32.or $push14=, $10, $pop79 + i32.load $push13=, 0($2) i32.store $discard=, 0($pop14), $pop13 - i32.const $push75=, 7 - i32.add $push15=, $6, $pop75 - i32.const $push74=, -4 - i32.and $push16=, $pop15, $pop74 - tee_local $push73=, $6=, $pop16 - i32.const $push72=, 4 - i32.add $push17=, $pop73, $pop72 - i32.store $discard=, 60($17), $pop17 - i32.load $push18=, 0($6) - i32.store $discard=, 32($17):p2align=4, $pop18 - i32.const $push71=, 7 - i32.add $push19=, $6, $pop71 - i32.const $push70=, -4 - i32.and $push20=, $pop19, $pop70 - tee_local $push69=, $6=, $pop20 - i32.const $push68=, 4 - i32.add $push21=, $pop69, $pop68 - i32.store $discard=, 60($17), $pop21 - i32.load $push22=, 0($6) - i32.store $discard=, 36($17), $pop22 - i32.const $push67=, 7 - i32.add $push23=, $6, $pop67 - i32.const $push66=, -4 - i32.and $push24=, $pop23, $pop66 - tee_local $push65=, $6=, $pop24 - i32.const $push64=, 4 - i32.add $push25=, $pop65, $pop64 - i32.store $discard=, 60($17), $pop25 - i32.load $push26=, 0($6) - i32.store $discard=, 40($17):p2align=3, $pop26 - i32.const $push63=, 7 - i32.add $push27=, $6, $pop63 - i32.const $push62=, -4 - i32.and $push28=, $pop27, $pop62 - tee_local $push61=, $6=, $pop28 - i32.const $push60=, 4 - i32.add $push29=, $pop61, $pop60 - i32.store $discard=, 60($17), $pop29 - i32.load $push30=, 0($6) - i32.store $discard=, 44($17), $pop30 - i32.const $push59=, 7 - i32.add $push31=, $6, $pop59 - i32.const $push58=, -4 - i32.and $push32=, $pop31, $pop58 - tee_local $push57=, $6=, $pop32 - i32.const $push56=, 4 - i32.add $push33=, $pop57, $pop56 - i32.store $discard=, 60($17), $pop33 - i32.load $push34=, 0($6) - i32.store $discard=, 48($17):p2align=4, $pop34 - i32.const $push55=, 7 - i32.add $push35=, $6, $pop55 - i32.const $push54=, -4 - i32.and $push36=, $pop35, $pop54 - tee_local $push53=, $6=, $pop36 - i32.const $push52=, 4 - i32.add $push37=, $pop53, $pop52 - i32.store $discard=, 60($17), $pop37 - i32.load $push38=, 0($6) - i32.store $discard=, 52($17), $pop38 - i32.const $push51=, 7 - i32.add $push39=, $6, $pop51 - i32.const $push50=, -4 - i32.and $push40=, $pop39, $pop50 - tee_local $push49=, $6=, $pop40 - i32.const $push48=, 4 - i32.add $push41=, $pop49, $pop48 - i32.store $discard=, 60($17), $pop41 - i32.load $push42=, 0($6) - i32.store $discard=, 56($17):p2align=3, $pop42 - i32.const $push47=, 4 - i32.const $16=, 16 - i32.add $16=, $17, $16 - i32.or $4=, $16, $pop47 + i32.const $push78=, 7 + i32.add $push15=, $2, $pop78 + i32.const $push77=, -4 + i32.and $push16=, $pop15, $pop77 + tee_local $push76=, $2=, $pop16 + i32.const $push75=, 4 + i32.add $push17=, $pop76, $pop75 + i32.store $discard=, 60($12), $pop17 + i32.load $push18=, 0($2) + i32.store $discard=, 32($12):p2align=4, $pop18 + i32.const $push74=, 7 + i32.add $push19=, $2, $pop74 + i32.const $push73=, -4 + i32.and $push20=, $pop19, $pop73 + tee_local $push72=, $2=, $pop20 + i32.const $push71=, 4 + i32.add $push21=, $pop72, $pop71 + i32.store $discard=, 60($12), $pop21 + i32.load $push22=, 0($2) + i32.store $discard=, 36($12), $pop22 + i32.const $push70=, 7 + i32.add $push23=, $2, $pop70 + i32.const $push69=, -4 + i32.and $push24=, $pop23, $pop69 + tee_local $push68=, $2=, $pop24 + i32.const $push67=, 4 + i32.add $push25=, $pop68, $pop67 + i32.store $discard=, 60($12), $pop25 + i32.load $push26=, 0($2) + i32.store $discard=, 40($12):p2align=3, $pop26 + i32.const $push66=, 7 + i32.add $push27=, $2, $pop66 + i32.const $push65=, -4 + i32.and $push28=, $pop27, $pop65 + tee_local $push64=, $2=, $pop28 + i32.const $push63=, 4 + i32.add $push29=, $pop64, $pop63 + i32.store $discard=, 60($12), $pop29 + i32.load $push30=, 0($2) + i32.store $discard=, 44($12), $pop30 + i32.const $push62=, 7 + i32.add $push31=, $2, $pop62 + i32.const $push61=, -4 + i32.and $push32=, $pop31, $pop61 + tee_local $push60=, $2=, $pop32 + i32.const $push59=, 4 + i32.add $push33=, $pop60, $pop59 + i32.store $discard=, 60($12), $pop33 + i32.load $push34=, 0($2) + i32.store $discard=, 48($12):p2align=4, $pop34 + i32.const $push58=, 7 + i32.add $push35=, $2, $pop58 + i32.const $push57=, -4 + i32.and $push36=, $pop35, $pop57 + tee_local $push56=, $2=, $pop36 + i32.const $push55=, 4 + i32.add $push37=, $pop56, $pop55 + i32.store $discard=, 60($12), $pop37 + i32.load $push38=, 0($2) + i32.store $discard=, 52($12), $pop38 + i32.const $push54=, 7 + i32.add $push39=, $2, $pop54 + i32.const $push53=, -4 + i32.and $push40=, $pop39, $pop53 + tee_local $push52=, $2=, $pop40 + i32.const $push51=, 4 + i32.add $push41=, $pop52, $pop51 + i32.store $discard=, 60($12), $pop41 + i32.load $push42=, 0($2) + i32.store $discard=, 56($12):p2align=3, $pop42 + i32.const $push50=, 4 + i32.const $11=, 16 + i32.add $11=, $12, $11 + i32.or $4=, $11, $pop50 i32.const $5=, 0 - i32.const $6=, 0 + i32.const $2=, 0 .LBB2_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label4: block - i32.eq $push43=, $6, $5 + i32.eq $push43=, $2, $5 br_if 0, $pop43 # 0: down to label6 # BB#2: # %if.then.i # in Loop: Header=BB2_1 Depth=1 - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 16 - i32.sub $17=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $17=, 0($8), $17 + i32.const $push93=, 12 + i32.or $push44=, $12, $pop93 + i32.store $3=, 0($pop44), $2 + i32.const $push92=, 8 + i32.or $push45=, $12, $pop92 + i32.store $discard=, 0($pop45):p2align=3, $5 + i32.const $push91=, 4 + i32.or $push46=, $12, $pop91 + i32.store $discard=, 0($pop46), $3 i32.const $push90=, .L.str.2 - i32.store $discard=, 0($17), $pop90 - i32.const $push89=, 12 - i32.add $2=, $17, $pop89 - i32.store $2=, 0($2), $6 - i32.const $push88=, 8 - i32.add $3=, $17, $pop88 - i32.store $discard=, 0($3), $5 - i32.const $push87=, 4 - i32.add $5=, $17, $pop87 - i32.store $discard=, 0($5), $2 - i32.const $push86=, .L.str.1 - i32.call $discard=, printf@FUNCTION, $pop86 - i32.const $9=, __stack_pointer - i32.load $9=, 0($9) - i32.const $10=, 16 - i32.add $17=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $17=, 0($10), $17 - i32.const $push85=, 0 - i32.const $push84=, 0 - i32.load $push44=, errors($pop84) - i32.const $push83=, 1 - i32.add $push45=, $pop44, $pop83 - i32.store $discard=, errors($pop85), $pop45 + i32.store $discard=, 0($12):p2align=4, $pop90 + i32.const $push89=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop89, $12 + i32.const $push88=, 0 + i32.const $push87=, 0 + i32.load $push47=, errors($pop87) + i32.const $push86=, 1 + i32.add $push48=, $pop47, $pop86 + i32.store $discard=, errors($pop88), $pop48 .LBB2_3: # %for.inc.i # in Loop: Header=BB2_1 Depth=1 end_block # label6: - i32.const $push91=, 10 - i32.eq $push46=, $6, $pop91 - br_if 1, $pop46 # 1: down to label5 + i32.const $push94=, 10 + i32.eq $push49=, $2, $pop94 + br_if 1, $pop49 # 1: down to label5 # BB#4: # %for.inc.i.for.body.i_crit_edge # in Loop: Header=BB2_1 Depth=1 i32.load $5=, 0($4) - i32.const $push93=, 1 - i32.add $6=, $6, $pop93 - i32.const $push92=, 4 - i32.add $4=, $4, $pop92 + i32.const $push96=, 1 + i32.add $2=, $2, $pop96 + i32.const $push95=, 4 + i32.add $4=, $4, $pop95 br 0 # 0: up to label4 .LBB2_5: # %verify.exit end_loop # label5: - i32.const $13=, 64 - i32.add $17=, $18, $13 - i32.const $13=, __stack_pointer - i32.store $17=, 0($13), $17 + i32.const $8=, 64 + i32.add $12=, $12, $8 + i32.const $8=, __stack_pointer + i32.store $12=, 0($8), $12 return .endfunc .Lfunc_end2: @@ -622,176 +534,163 @@ varargs1: # @varargs1 .section .text.varargs2,"ax",@progbits .type varargs2,@function varargs2: # @varargs2 - .param i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $12=, __stack_pointer - i32.load $12=, 0($12) - i32.const $13=, 64 - i32.sub $18=, $12, $13 - copy_local $19=, $18 - i32.const $13=, __stack_pointer - i32.store $18=, 0($13), $18 - i32.store $discard=, 60($18), $19 - i32.load $7=, 60($18) - i32.const $push74=, 8 - i32.const $15=, 16 - i32.add $15=, $18, $15 - i32.or $push1=, $15, $pop74 + i32.const $7=, __stack_pointer + i32.load $7=, 0($7) + i32.const $8=, 64 + i32.sub $13=, $7, $8 + i32.const $8=, __stack_pointer + i32.store $13=, 0($8), $13 + i32.store $discard=, 60($13), $3 + i32.load $3=, 60($13) + i32.const $push77=, 8 + i32.const $10=, 16 + i32.add $10=, $13, $10 + i32.or $push1=, $10, $pop77 i32.const $push2=, 2 i32.store $discard=, 0($pop1):p2align=3, $pop2 i32.const $push3=, 3 - i32.add $push4=, $7, $pop3 + i32.add $push4=, $3, $pop3 i32.const $push5=, -4 i32.and $push6=, $pop4, $pop5 - tee_local $push73=, $7=, $pop6 - i32.const $push72=, 4 - i32.add $push7=, $pop73, $pop72 - i32.store $discard=, 60($18), $pop7 + tee_local $push76=, $3=, $pop6 + i32.const $push75=, 4 + i32.add $push7=, $pop76, $pop75 + i32.store $discard=, 60($13), $pop7 i64.const $push0=, 4294967296 - i64.store $discard=, 16($18):p2align=4, $pop0 - i32.load $5=, 60($18) - i32.const $push71=, 12 - i32.const $16=, 16 - i32.add $16=, $18, $16 - i32.or $push9=, $16, $pop71 - i32.load $push8=, 0($7) + i64.store $discard=, 16($13):p2align=4, $pop0 + i32.load $5=, 60($13) + i32.const $push74=, 12 + i32.const $11=, 16 + i32.add $11=, $13, $11 + i32.or $push9=, $11, $pop74 + i32.load $push8=, 0($3) i32.store $discard=, 0($pop9), $pop8 - i32.const $push70=, 3 - i32.add $push10=, $5, $pop70 + i32.const $push73=, 3 + i32.add $push10=, $5, $pop73 + i32.const $push72=, -4 + i32.and $push11=, $pop10, $pop72 + tee_local $push71=, $3=, $pop11 + i32.const $push70=, 4 + i32.add $push12=, $pop71, $pop70 + i32.store $discard=, 60($13), $pop12 + i32.load $push13=, 0($3) + i32.store $discard=, 32($13):p2align=4, $pop13 + i32.const $push14=, 7 + i32.add $push15=, $3, $pop14 i32.const $push69=, -4 - i32.and $push11=, $pop10, $pop69 - tee_local $push68=, $7=, $pop11 + i32.and $push16=, $pop15, $pop69 + tee_local $push68=, $3=, $pop16 i32.const $push67=, 4 - i32.add $push12=, $pop68, $pop67 - i32.store $discard=, 60($18), $pop12 - i32.load $push13=, 0($7) - i32.store $discard=, 32($18):p2align=4, $pop13 - i32.const $push14=, 7 - i32.add $push15=, $7, $pop14 - i32.const $push66=, -4 - i32.and $push16=, $pop15, $pop66 - tee_local $push65=, $7=, $pop16 - i32.const $push64=, 4 - i32.add $push17=, $pop65, $pop64 - i32.store $discard=, 60($18), $pop17 - i32.load $push18=, 0($7) - i32.store $discard=, 36($18), $pop18 - i32.const $push63=, 7 - i32.add $push19=, $7, $pop63 - i32.const $push62=, -4 - i32.and $push20=, $pop19, $pop62 - tee_local $push61=, $7=, $pop20 - i32.const $push60=, 4 - i32.add $push21=, $pop61, $pop60 - i32.store $discard=, 60($18), $pop21 - i32.load $push22=, 0($7) - i32.store $discard=, 40($18):p2align=3, $pop22 - i32.const $push59=, 7 - i32.add $push23=, $7, $pop59 - i32.const $push58=, -4 - i32.and $push24=, $pop23, $pop58 - tee_local $push57=, $7=, $pop24 - i32.const $push56=, 4 - i32.add $push25=, $pop57, $pop56 - i32.store $discard=, 60($18), $pop25 - i32.load $push26=, 0($7) - i32.store $discard=, 44($18), $pop26 - i32.const $push55=, 7 - i32.add $push27=, $7, $pop55 - i32.const $push54=, -4 - i32.and $push28=, $pop27, $pop54 - tee_local $push53=, $7=, $pop28 - i32.const $push52=, 4 - i32.add $push29=, $pop53, $pop52 - i32.store $discard=, 60($18), $pop29 - i32.load $push30=, 0($7) - i32.store $discard=, 48($18):p2align=4, $pop30 - i32.const $push51=, 7 - i32.add $push31=, $7, $pop51 - i32.const $push50=, -4 - i32.and $push32=, $pop31, $pop50 - tee_local $push49=, $7=, $pop32 - i32.const $push48=, 4 - i32.add $push33=, $pop49, $pop48 - i32.store $discard=, 60($18), $pop33 - i32.load $push34=, 0($7) - i32.store $discard=, 52($18), $pop34 - i32.const $push47=, 7 - i32.add $push35=, $7, $pop47 - i32.const $push46=, -4 - i32.and $push36=, $pop35, $pop46 - tee_local $push45=, $7=, $pop36 - i32.const $push44=, 4 - i32.add $push37=, $pop45, $pop44 - i32.store $discard=, 60($18), $pop37 - i32.load $push38=, 0($7) - i32.store $discard=, 56($18):p2align=3, $pop38 - i32.const $push43=, 4 - i32.const $17=, 16 - i32.add $17=, $18, $17 - i32.or $5=, $17, $pop43 + i32.add $push17=, $pop68, $pop67 + i32.store $discard=, 60($13), $pop17 + i32.load $push18=, 0($3) + i32.store $discard=, 36($13), $pop18 + i32.const $push66=, 7 + i32.add $push19=, $3, $pop66 + i32.const $push65=, -4 + i32.and $push20=, $pop19, $pop65 + tee_local $push64=, $3=, $pop20 + i32.const $push63=, 4 + i32.add $push21=, $pop64, $pop63 + i32.store $discard=, 60($13), $pop21 + i32.load $push22=, 0($3) + i32.store $discard=, 40($13):p2align=3, $pop22 + i32.const $push62=, 7 + i32.add $push23=, $3, $pop62 + i32.const $push61=, -4 + i32.and $push24=, $pop23, $pop61 + tee_local $push60=, $3=, $pop24 + i32.const $push59=, 4 + i32.add $push25=, $pop60, $pop59 + i32.store $discard=, 60($13), $pop25 + i32.load $push26=, 0($3) + i32.store $discard=, 44($13), $pop26 + i32.const $push58=, 7 + i32.add $push27=, $3, $pop58 + i32.const $push57=, -4 + i32.and $push28=, $pop27, $pop57 + tee_local $push56=, $3=, $pop28 + i32.const $push55=, 4 + i32.add $push29=, $pop56, $pop55 + i32.store $discard=, 60($13), $pop29 + i32.load $push30=, 0($3) + i32.store $discard=, 48($13):p2align=4, $pop30 + i32.const $push54=, 7 + i32.add $push31=, $3, $pop54 + i32.const $push53=, -4 + i32.and $push32=, $pop31, $pop53 + tee_local $push52=, $3=, $pop32 + i32.const $push51=, 4 + i32.add $push33=, $pop52, $pop51 + i32.store $discard=, 60($13), $pop33 + i32.load $push34=, 0($3) + i32.store $discard=, 52($13), $pop34 + i32.const $push50=, 7 + i32.add $push35=, $3, $pop50 + i32.const $push49=, -4 + i32.and $push36=, $pop35, $pop49 + tee_local $push48=, $3=, $pop36 + i32.const $push47=, 4 + i32.add $push37=, $pop48, $pop47 + i32.store $discard=, 60($13), $pop37 + i32.load $push38=, 0($3) + i32.store $discard=, 56($13):p2align=3, $pop38 + i32.const $push46=, 4 + i32.const $12=, 16 + i32.add $12=, $13, $12 + i32.or $5=, $12, $pop46 i32.const $6=, 0 - i32.const $7=, 0 + i32.const $3=, 0 .LBB3_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label7: block - i32.eq $push39=, $7, $6 + i32.eq $push39=, $3, $6 br_if 0, $pop39 # 0: down to label9 # BB#2: # %if.then.i # in Loop: Header=BB3_1 Depth=1 - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 16 - i32.sub $18=, $8, $9 - i32.const $9=, __stack_pointer - i32.store $18=, 0($9), $18 + i32.const $push85=, 12 + i32.or $push40=, $13, $pop85 + i32.store $4=, 0($pop40), $3 + i32.const $push84=, 8 + i32.or $push41=, $13, $pop84 + i32.store $discard=, 0($pop41):p2align=3, $6 + i32.const $push83=, 4 + i32.or $push42=, $13, $pop83 + i32.store $discard=, 0($pop42), $4 i32.const $push82=, .L.str.3 - i32.store $discard=, 0($18), $pop82 - i32.const $push81=, 12 - i32.add $3=, $18, $pop81 - i32.store $3=, 0($3), $7 - i32.const $push80=, 8 - i32.add $4=, $18, $pop80 - i32.store $discard=, 0($4), $6 - i32.const $push79=, 4 - i32.add $6=, $18, $pop79 - i32.store $discard=, 0($6), $3 - i32.const $push78=, .L.str.1 - i32.call $discard=, printf@FUNCTION, $pop78 - i32.const $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 16 - i32.add $18=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $18=, 0($11), $18 - i32.const $push77=, 0 - i32.const $push76=, 0 - i32.load $push40=, errors($pop76) - i32.const $push75=, 1 - i32.add $push41=, $pop40, $pop75 - i32.store $discard=, errors($pop77), $pop41 + i32.store $discard=, 0($13):p2align=4, $pop82 + i32.const $push81=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop81, $13 + i32.const $push80=, 0 + i32.const $push79=, 0 + i32.load $push43=, errors($pop79) + i32.const $push78=, 1 + i32.add $push44=, $pop43, $pop78 + i32.store $discard=, errors($pop80), $pop44 .LBB3_3: # %for.inc.i # in Loop: Header=BB3_1 Depth=1 end_block # label9: - i32.const $push83=, 10 - i32.eq $push42=, $7, $pop83 - br_if 1, $pop42 # 1: down to label8 + i32.const $push86=, 10 + i32.eq $push45=, $3, $pop86 + br_if 1, $pop45 # 1: down to label8 # BB#4: # %for.inc.i.for.body.i_crit_edge # in Loop: Header=BB3_1 Depth=1 i32.load $6=, 0($5) - i32.const $push85=, 1 - i32.add $7=, $7, $pop85 - i32.const $push84=, 4 - i32.add $5=, $5, $pop84 + i32.const $push88=, 1 + i32.add $3=, $3, $pop88 + i32.const $push87=, 4 + i32.add $5=, $5, $pop87 br 0 # 0: up to label7 .LBB3_5: # %verify.exit end_loop # label8: - i32.const $14=, 64 - i32.add $18=, $19, $14 - i32.const $14=, __stack_pointer - i32.store $18=, 0($14), $18 + i32.const $9=, 64 + i32.add $13=, $13, $9 + i32.const $9=, __stack_pointer + i32.store $13=, 0($9), $13 return .endfunc .Lfunc_end3: @@ -800,162 +699,149 @@ varargs2: # @varargs2 .section .text.varargs3,"ax",@progbits .type varargs3,@function varargs3: # @varargs3 - .param i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 64 - i32.sub $18=, $13, $14 - copy_local $19=, $18 - i32.const $14=, __stack_pointer - i32.store $18=, 0($14), $18 - i32.store $discard=, 60($18), $19 - i32.load $8=, 60($18) - i32.const $push64=, 8 - i32.const $16=, 16 - i32.add $16=, $18, $16 - i32.or $push1=, $16, $pop64 + i32.const $9=, __stack_pointer + i32.load $9=, 0($9) + i32.const $10=, 64 + i32.sub $14=, $9, $10 + i32.const $10=, __stack_pointer + i32.store $14=, 0($10), $14 + i32.store $discard=, 60($14), $4 + i32.load $4=, 60($14) + i32.const $push67=, 8 + i32.const $12=, 16 + i32.add $12=, $14, $12 + i32.or $push1=, $12, $pop67 i64.const $push2=, 12884901890 i64.store $discard=, 0($pop1), $pop2 i32.const $push3=, 3 - i32.add $push4=, $8, $pop3 + i32.add $push4=, $4, $pop3 i32.const $push5=, -4 i32.and $push6=, $pop4, $pop5 - tee_local $push63=, $8=, $pop6 - i32.const $push62=, 4 - i32.add $push7=, $pop63, $pop62 - i32.store $discard=, 60($18), $pop7 + tee_local $push66=, $4=, $pop6 + i32.const $push65=, 4 + i32.add $push7=, $pop66, $pop65 + i32.store $discard=, 60($14), $pop7 i64.const $push0=, 4294967296 - i64.store $discard=, 16($18):p2align=4, $pop0 - i32.load $6=, 60($18) - i32.load $push8=, 0($8) - i32.store $discard=, 32($18):p2align=4, $pop8 - i32.const $push61=, 3 - i32.add $push9=, $6, $pop61 + i64.store $discard=, 16($14):p2align=4, $pop0 + i32.load $7=, 60($14) + i32.load $push8=, 0($4) + i32.store $discard=, 32($14):p2align=4, $pop8 + i32.const $push64=, 3 + i32.add $push9=, $7, $pop64 + i32.const $push63=, -4 + i32.and $push10=, $pop9, $pop63 + tee_local $push62=, $4=, $pop10 + i32.const $push61=, 4 + i32.add $push11=, $pop62, $pop61 + i32.store $discard=, 60($14), $pop11 + i32.load $push12=, 0($4) + i32.store $discard=, 36($14), $pop12 + i32.const $push13=, 7 + i32.add $push14=, $4, $pop13 i32.const $push60=, -4 - i32.and $push10=, $pop9, $pop60 - tee_local $push59=, $8=, $pop10 + i32.and $push15=, $pop14, $pop60 + tee_local $push59=, $4=, $pop15 i32.const $push58=, 4 - i32.add $push11=, $pop59, $pop58 - i32.store $discard=, 60($18), $pop11 - i32.load $push12=, 0($8) - i32.store $discard=, 36($18), $pop12 - i32.const $push13=, 7 - i32.add $push14=, $8, $pop13 - i32.const $push57=, -4 - i32.and $push15=, $pop14, $pop57 - tee_local $push56=, $8=, $pop15 - i32.const $push55=, 4 - i32.add $push16=, $pop56, $pop55 - i32.store $discard=, 60($18), $pop16 - i32.load $push17=, 0($8) - i32.store $discard=, 40($18):p2align=3, $pop17 - i32.const $push54=, 7 - i32.add $push18=, $8, $pop54 - i32.const $push53=, -4 - i32.and $push19=, $pop18, $pop53 - tee_local $push52=, $8=, $pop19 - i32.const $push51=, 4 - i32.add $push20=, $pop52, $pop51 - i32.store $discard=, 60($18), $pop20 - i32.load $push21=, 0($8) - i32.store $discard=, 44($18), $pop21 - i32.const $push50=, 7 - i32.add $push22=, $8, $pop50 - i32.const $push49=, -4 - i32.and $push23=, $pop22, $pop49 - tee_local $push48=, $8=, $pop23 - i32.const $push47=, 4 - i32.add $push24=, $pop48, $pop47 - i32.store $discard=, 60($18), $pop24 - i32.load $push25=, 0($8) - i32.store $discard=, 48($18):p2align=4, $pop25 - i32.const $push46=, 7 - i32.add $push26=, $8, $pop46 - i32.const $push45=, -4 - i32.and $push27=, $pop26, $pop45 - tee_local $push44=, $8=, $pop27 - i32.const $push43=, 4 - i32.add $push28=, $pop44, $pop43 - i32.store $discard=, 60($18), $pop28 - i32.load $push29=, 0($8) - i32.store $discard=, 52($18), $pop29 - i32.const $push42=, 7 - i32.add $push30=, $8, $pop42 - i32.const $push41=, -4 - i32.and $push31=, $pop30, $pop41 - tee_local $push40=, $8=, $pop31 - i32.const $push39=, 4 - i32.add $push32=, $pop40, $pop39 - i32.store $discard=, 60($18), $pop32 - i32.load $push33=, 0($8) - i32.store $discard=, 56($18):p2align=3, $pop33 - i32.const $push38=, 4 - i32.const $17=, 16 - i32.add $17=, $18, $17 - i32.or $6=, $17, $pop38 - i32.const $7=, 0 + i32.add $push16=, $pop59, $pop58 + i32.store $discard=, 60($14), $pop16 + i32.load $push17=, 0($4) + i32.store $discard=, 40($14):p2align=3, $pop17 + i32.const $push57=, 7 + i32.add $push18=, $4, $pop57 + i32.const $push56=, -4 + i32.and $push19=, $pop18, $pop56 + tee_local $push55=, $4=, $pop19 + i32.const $push54=, 4 + i32.add $push20=, $pop55, $pop54 + i32.store $discard=, 60($14), $pop20 + i32.load $push21=, 0($4) + i32.store $discard=, 44($14), $pop21 + i32.const $push53=, 7 + i32.add $push22=, $4, $pop53 + i32.const $push52=, -4 + i32.and $push23=, $pop22, $pop52 + tee_local $push51=, $4=, $pop23 + i32.const $push50=, 4 + i32.add $push24=, $pop51, $pop50 + i32.store $discard=, 60($14), $pop24 + i32.load $push25=, 0($4) + i32.store $discard=, 48($14):p2align=4, $pop25 + i32.const $push49=, 7 + i32.add $push26=, $4, $pop49 + i32.const $push48=, -4 + i32.and $push27=, $pop26, $pop48 + tee_local $push47=, $4=, $pop27 + i32.const $push46=, 4 + i32.add $push28=, $pop47, $pop46 + i32.store $discard=, 60($14), $pop28 + i32.load $push29=, 0($4) + i32.store $discard=, 52($14), $pop29 + i32.const $push45=, 7 + i32.add $push30=, $4, $pop45 + i32.const $push44=, -4 + i32.and $push31=, $pop30, $pop44 + tee_local $push43=, $4=, $pop31 + i32.const $push42=, 4 + i32.add $push32=, $pop43, $pop42 + i32.store $discard=, 60($14), $pop32 + i32.load $push33=, 0($4) + i32.store $discard=, 56($14):p2align=3, $pop33 + i32.const $push35=, 12 + i32.or $5=, $14, $pop35 + i32.const $push41=, 4 + i32.const $13=, 16 + i32.add $13=, $14, $13 + i32.or $7=, $13, $pop41 i32.const $8=, 0 + i32.const $4=, 0 .LBB4_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label10: block - i32.eq $push34=, $8, $7 + i32.eq $push34=, $4, $8 br_if 0, $pop34 # 0: down to label12 # BB#2: # %if.then.i # in Loop: Header=BB4_1 Depth=1 - i32.const $9=, __stack_pointer - i32.load $9=, 0($9) - i32.const $10=, 16 - i32.sub $18=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $18=, 0($10), $18 + i32.store $6=, 0($5), $4 + i32.const $push74=, 8 + i32.or $push36=, $14, $pop74 + i32.store $discard=, 0($pop36):p2align=3, $8 + i32.const $push73=, 4 + i32.or $push37=, $14, $pop73 + i32.store $discard=, 0($pop37), $6 i32.const $push72=, .L.str.4 - i32.store $discard=, 0($18), $pop72 - i32.const $push71=, 12 - i32.add $4=, $18, $pop71 - i32.store $4=, 0($4), $8 - i32.const $push70=, 8 - i32.add $5=, $18, $pop70 - i32.store $discard=, 0($5), $7 - i32.const $push69=, 4 - i32.add $7=, $18, $pop69 - i32.store $discard=, 0($7), $4 - i32.const $push68=, .L.str.1 - i32.call $discard=, printf@FUNCTION, $pop68 - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 16 - i32.add $18=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $18=, 0($12), $18 - i32.const $push67=, 0 - i32.const $push66=, 0 - i32.load $push35=, errors($pop66) - i32.const $push65=, 1 - i32.add $push36=, $pop35, $pop65 - i32.store $discard=, errors($pop67), $pop36 + i32.store $discard=, 0($14):p2align=4, $pop72 + i32.const $push71=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop71, $14 + i32.const $push70=, 0 + i32.const $push69=, 0 + i32.load $push38=, errors($pop69) + i32.const $push68=, 1 + i32.add $push39=, $pop38, $pop68 + i32.store $discard=, errors($pop70), $pop39 .LBB4_3: # %for.inc.i # in Loop: Header=BB4_1 Depth=1 end_block # label12: - i32.const $push73=, 10 - i32.eq $push37=, $8, $pop73 - br_if 1, $pop37 # 1: down to label11 + i32.const $push75=, 10 + i32.eq $push40=, $4, $pop75 + br_if 1, $pop40 # 1: down to label11 # BB#4: # %for.inc.i.for.body.i_crit_edge # in Loop: Header=BB4_1 Depth=1 - i32.load $7=, 0($6) - i32.const $push75=, 1 - i32.add $8=, $8, $pop75 - i32.const $push74=, 4 - i32.add $6=, $6, $pop74 + i32.load $8=, 0($7) + i32.const $push77=, 1 + i32.add $4=, $4, $pop77 + i32.const $push76=, 4 + i32.add $7=, $7, $pop76 br 0 # 0: up to label10 .LBB4_5: # %verify.exit end_loop # label11: - i32.const $15=, 64 - i32.add $18=, $19, $15 - i32.const $15=, __stack_pointer - i32.store $18=, 0($15), $18 + i32.const $11=, 64 + i32.add $14=, $14, $11 + i32.const $11=, __stack_pointer + i32.store $14=, 0($11), $14 return .endfunc .Lfunc_end4: @@ -964,147 +850,134 @@ varargs3: # @varargs3 .section .text.varargs4,"ax",@progbits .type varargs4,@function varargs4: # @varargs4 - .param i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 64 - i32.sub $20=, $15, $16 - copy_local $21=, $20 - i32.const $16=, __stack_pointer - i32.store $20=, 0($16), $20 - i32.store $discard=, 60($20), $21 - i32.load $9=, 60($20) - i32.const $push53=, 8 - i32.const $18=, 16 - i32.add $18=, $20, $18 - i32.or $push2=, $18, $pop53 + i32.const $11=, __stack_pointer + i32.load $11=, 0($11) + i32.const $12=, 64 + i32.sub $16=, $11, $12 + i32.const $12=, __stack_pointer + i32.store $16=, 0($12), $16 + i32.store $discard=, 60($16), $5 + i32.load $5=, 60($16) + i32.const $push56=, 8 + i32.const $14=, 16 + i32.add $14=, $16, $14 + i32.or $push2=, $14, $pop56 i64.const $push3=, 12884901890 i64.store $discard=, 0($pop2), $pop3 i32.const $push5=, 3 - i32.add $push6=, $9, $pop5 + i32.add $push6=, $5, $pop5 i32.const $push7=, -4 i32.and $push8=, $pop6, $pop7 - tee_local $push52=, $9=, $pop8 + tee_local $push55=, $5=, $pop8 i32.const $push1=, 4 - i32.store $push4=, 32($20):p2align=4, $pop1 - tee_local $push51=, $10=, $pop4 - i32.add $push9=, $pop52, $pop51 - i32.store $discard=, 60($20), $pop9 + i32.store $push4=, 32($16):p2align=4, $pop1 + tee_local $push54=, $10=, $pop4 + i32.add $push9=, $pop55, $pop54 + i32.store $discard=, 60($16), $pop9 i64.const $push0=, 4294967296 - i64.store $discard=, 16($20):p2align=4, $pop0 - i32.load $7=, 60($20) - i32.load $push10=, 0($9) - i32.store $discard=, 36($20), $pop10 - i32.const $push50=, 3 - i32.add $push11=, $7, $pop50 - i32.const $push49=, -4 - i32.and $push12=, $pop11, $pop49 - tee_local $push48=, $9=, $pop12 - i32.add $push13=, $10, $pop48 - i32.store $discard=, 60($20), $pop13 - i32.load $push14=, 0($9) - i32.store $discard=, 40($20):p2align=3, $pop14 + i64.store $discard=, 16($16):p2align=4, $pop0 + i32.load $8=, 60($16) + i32.load $push10=, 0($5) + i32.store $discard=, 36($16), $pop10 + i32.const $push53=, 3 + i32.add $push11=, $8, $pop53 + i32.const $push52=, -4 + i32.and $push12=, $pop11, $pop52 + tee_local $push51=, $5=, $pop12 + i32.add $push13=, $10, $pop51 + i32.store $discard=, 60($16), $pop13 + i32.load $push14=, 0($5) + i32.store $discard=, 40($16):p2align=3, $pop14 i32.const $push15=, 7 - i32.add $push16=, $9, $pop15 + i32.add $push16=, $5, $pop15 + i32.const $push50=, -4 + i32.and $push17=, $pop16, $pop50 + tee_local $push49=, $5=, $pop17 + i32.add $push18=, $10, $pop49 + i32.store $discard=, 60($16), $pop18 + i32.load $push19=, 0($5) + i32.store $discard=, 44($16), $pop19 + i32.const $push48=, 7 + i32.add $push20=, $5, $pop48 i32.const $push47=, -4 - i32.and $push17=, $pop16, $pop47 - tee_local $push46=, $9=, $pop17 - i32.add $push18=, $10, $pop46 - i32.store $discard=, 60($20), $pop18 - i32.load $push19=, 0($9) - i32.store $discard=, 44($20), $pop19 + i32.and $push21=, $pop20, $pop47 + tee_local $push46=, $5=, $pop21 + i32.add $push22=, $10, $pop46 + i32.store $discard=, 60($16), $pop22 + i32.load $push23=, 0($5) + i32.store $discard=, 48($16):p2align=4, $pop23 i32.const $push45=, 7 - i32.add $push20=, $9, $pop45 + i32.add $push24=, $5, $pop45 i32.const $push44=, -4 - i32.and $push21=, $pop20, $pop44 - tee_local $push43=, $9=, $pop21 - i32.add $push22=, $10, $pop43 - i32.store $discard=, 60($20), $pop22 - i32.load $push23=, 0($9) - i32.store $discard=, 48($20):p2align=4, $pop23 + i32.and $push25=, $pop24, $pop44 + tee_local $push43=, $5=, $pop25 + i32.add $push26=, $10, $pop43 + i32.store $discard=, 60($16), $pop26 + i32.load $push27=, 0($5) + i32.store $discard=, 52($16), $pop27 i32.const $push42=, 7 - i32.add $push24=, $9, $pop42 + i32.add $push28=, $5, $pop42 i32.const $push41=, -4 - i32.and $push25=, $pop24, $pop41 - tee_local $push40=, $9=, $pop25 - i32.add $push26=, $10, $pop40 - i32.store $discard=, 60($20), $pop26 - i32.load $push27=, 0($9) - i32.store $discard=, 52($20), $pop27 - i32.const $push39=, 7 - i32.add $push28=, $9, $pop39 - i32.const $push38=, -4 - i32.and $push29=, $pop28, $pop38 - tee_local $push37=, $9=, $pop29 - i32.add $push30=, $10, $pop37 - i32.store $discard=, 60($20), $pop30 - i32.load $push31=, 0($9) - i32.store $discard=, 56($20):p2align=3, $pop31 - i32.const $push36=, 4 - i32.const $19=, 16 - i32.add $19=, $20, $19 - i32.or $7=, $19, $pop36 - i32.const $8=, 0 + i32.and $push29=, $pop28, $pop41 + tee_local $push40=, $5=, $pop29 + i32.add $push30=, $10, $pop40 + i32.store $discard=, 60($16), $pop30 + i32.load $push31=, 0($5) + i32.store $discard=, 56($16):p2align=3, $pop31 + i32.const $push39=, 4 + i32.const $15=, 16 + i32.add $15=, $16, $15 + i32.or $8=, $15, $pop39 + i32.const $push33=, 12 + i32.or $6=, $16, $pop33 i32.const $9=, 0 + i32.const $5=, 0 .LBB5_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label13: block - i32.eq $push32=, $9, $8 + i32.eq $push32=, $5, $9 br_if 0, $pop32 # 0: down to label15 # BB#2: # %if.then.i # in Loop: Header=BB5_1 Depth=1 - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 16 - i32.sub $20=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $20=, 0($12), $20 - i32.const $push60=, .L.str.5 - i32.store $discard=, 0($20), $pop60 - i32.const $push59=, 12 - i32.add $5=, $20, $pop59 - i32.store $5=, 0($5), $9 - i32.const $push58=, 8 - i32.add $6=, $20, $pop58 - i32.store $discard=, 0($6), $8 - i32.add $8=, $20, $10 - i32.store $discard=, 0($8), $5 - i32.const $push57=, .L.str.1 - i32.call $discard=, printf@FUNCTION, $pop57 - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 16 - i32.add $20=, $13, $14 - i32.const $14=, __stack_pointer - i32.store $20=, 0($14), $20 - i32.const $push56=, 0 - i32.const $push55=, 0 - i32.load $push33=, errors($pop55) - i32.const $push54=, 1 - i32.add $push34=, $pop33, $pop54 - i32.store $discard=, errors($pop56), $pop34 + i32.store $7=, 0($6), $5 + i32.const $push62=, 8 + i32.or $push34=, $16, $pop62 + i32.store $discard=, 0($pop34):p2align=3, $9 + i32.or $push35=, $16, $10 + i32.store $discard=, 0($pop35), $7 + i32.const $push61=, .L.str.5 + i32.store $discard=, 0($16):p2align=4, $pop61 + i32.const $push60=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop60, $16 + i32.const $push59=, 0 + i32.const $push58=, 0 + i32.load $push36=, errors($pop58) + i32.const $push57=, 1 + i32.add $push37=, $pop36, $pop57 + i32.store $discard=, errors($pop59), $pop37 .LBB5_3: # %for.inc.i # in Loop: Header=BB5_1 Depth=1 end_block # label15: - i32.const $push61=, 10 - i32.eq $push35=, $9, $pop61 - br_if 1, $pop35 # 1: down to label14 + i32.const $push63=, 10 + i32.eq $push38=, $5, $pop63 + br_if 1, $pop38 # 1: down to label14 # BB#4: # %for.inc.i.for.body.i_crit_edge # in Loop: Header=BB5_1 Depth=1 - i32.load $8=, 0($7) - i32.const $push62=, 1 - i32.add $9=, $9, $pop62 - i32.add $7=, $7, $10 + i32.load $9=, 0($8) + i32.const $push64=, 1 + i32.add $5=, $5, $pop64 + i32.add $8=, $8, $10 br 0 # 0: up to label13 .LBB5_5: # %verify.exit end_loop # label14: - i32.const $17=, 64 - i32.add $20=, $21, $17 - i32.const $17=, __stack_pointer - i32.store $20=, 0($17), $20 + i32.const $13=, 64 + i32.add $16=, $16, $13 + i32.const $13=, __stack_pointer + i32.store $16=, 0($13), $16 return .endfunc .Lfunc_end5: @@ -1113,144 +986,131 @@ varargs4: # @varargs4 .section .text.varargs5,"ax",@progbits .type varargs5,@function varargs5: # @varargs5 - .param i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 64 - i32.sub $20=, $15, $16 - copy_local $21=, $20 - i32.const $16=, __stack_pointer - i32.store $20=, 0($16), $20 - i32.store $discard=, 60($20), $21 - i32.load $10=, 60($20) - i32.const $push49=, 8 - i32.const $18=, 16 - i32.add $18=, $20, $18 - i32.or $push1=, $18, $pop49 + i32.const $11=, __stack_pointer + i32.load $11=, 0($11) + i32.const $12=, 64 + i32.sub $16=, $11, $12 + i32.const $12=, __stack_pointer + i32.store $16=, 0($12), $16 + i32.store $discard=, 60($16), $6 + i32.load $6=, 60($16) + i32.const $push52=, 8 + i32.const $14=, 16 + i32.add $14=, $16, $14 + i32.or $push1=, $14, $pop52 i64.const $push2=, 12884901890 i64.store $discard=, 0($pop1), $pop2 i32.const $push4=, 3 - i32.add $push5=, $10, $pop4 + i32.add $push5=, $6, $pop4 i32.const $push6=, -4 i32.and $push7=, $pop5, $pop6 - tee_local $push48=, $10=, $pop7 - i32.const $push47=, 4 - i32.add $push8=, $pop48, $pop47 - i32.store $discard=, 60($20), $pop8 + tee_local $push51=, $6=, $pop7 + i32.const $push50=, 4 + i32.add $push8=, $pop51, $pop50 + i32.store $discard=, 60($16), $pop8 i64.const $push0=, 4294967296 - i64.store $discard=, 16($20):p2align=4, $pop0 + i64.store $discard=, 16($16):p2align=4, $pop0 i64.const $push3=, 21474836484 - i64.store $discard=, 32($20):p2align=4, $pop3 - i32.load $8=, 60($20) - i32.load $push9=, 0($10) - i32.store $discard=, 40($20):p2align=3, $pop9 - i32.const $push46=, 3 - i32.add $push10=, $8, $pop46 + i64.store $discard=, 32($16):p2align=4, $pop3 + i32.load $9=, 60($16) + i32.load $push9=, 0($6) + i32.store $discard=, 40($16):p2align=3, $pop9 + i32.const $push49=, 3 + i32.add $push10=, $9, $pop49 + i32.const $push48=, -4 + i32.and $push11=, $pop10, $pop48 + tee_local $push47=, $6=, $pop11 + i32.const $push46=, 4 + i32.add $push12=, $pop47, $pop46 + i32.store $discard=, 60($16), $pop12 + i32.load $push13=, 0($6) + i32.store $discard=, 44($16), $pop13 + i32.const $push14=, 7 + i32.add $push15=, $6, $pop14 i32.const $push45=, -4 - i32.and $push11=, $pop10, $pop45 - tee_local $push44=, $10=, $pop11 + i32.and $push16=, $pop15, $pop45 + tee_local $push44=, $6=, $pop16 i32.const $push43=, 4 - i32.add $push12=, $pop44, $pop43 - i32.store $discard=, 60($20), $pop12 - i32.load $push13=, 0($10) - i32.store $discard=, 44($20), $pop13 - i32.const $push14=, 7 - i32.add $push15=, $10, $pop14 - i32.const $push42=, -4 - i32.and $push16=, $pop15, $pop42 - tee_local $push41=, $10=, $pop16 - i32.const $push40=, 4 - i32.add $push17=, $pop41, $pop40 - i32.store $discard=, 60($20), $pop17 - i32.load $push18=, 0($10) - i32.store $discard=, 48($20):p2align=4, $pop18 - i32.const $push39=, 7 - i32.add $push19=, $10, $pop39 - i32.const $push38=, -4 - i32.and $push20=, $pop19, $pop38 - tee_local $push37=, $10=, $pop20 - i32.const $push36=, 4 - i32.add $push21=, $pop37, $pop36 - i32.store $discard=, 60($20), $pop21 - i32.load $push22=, 0($10) - i32.store $discard=, 52($20), $pop22 - i32.const $push35=, 7 - i32.add $push23=, $10, $pop35 - i32.const $push34=, -4 - i32.and $push24=, $pop23, $pop34 - tee_local $push33=, $10=, $pop24 - i32.const $push32=, 4 - i32.add $push25=, $pop33, $pop32 - i32.store $discard=, 60($20), $pop25 - i32.load $push26=, 0($10) - i32.store $discard=, 56($20):p2align=3, $pop26 - i32.const $push31=, 4 - i32.const $19=, 16 - i32.add $19=, $20, $19 - i32.or $8=, $19, $pop31 - i32.const $9=, 0 + i32.add $push17=, $pop44, $pop43 + i32.store $discard=, 60($16), $pop17 + i32.load $push18=, 0($6) + i32.store $discard=, 48($16):p2align=4, $pop18 + i32.const $push42=, 7 + i32.add $push19=, $6, $pop42 + i32.const $push41=, -4 + i32.and $push20=, $pop19, $pop41 + tee_local $push40=, $6=, $pop20 + i32.const $push39=, 4 + i32.add $push21=, $pop40, $pop39 + i32.store $discard=, 60($16), $pop21 + i32.load $push22=, 0($6) + i32.store $discard=, 52($16), $pop22 + i32.const $push38=, 7 + i32.add $push23=, $6, $pop38 + i32.const $push37=, -4 + i32.and $push24=, $pop23, $pop37 + tee_local $push36=, $6=, $pop24 + i32.const $push35=, 4 + i32.add $push25=, $pop36, $pop35 + i32.store $discard=, 60($16), $pop25 + i32.load $push26=, 0($6) + i32.store $discard=, 56($16):p2align=3, $pop26 + i32.const $push28=, 12 + i32.or $7=, $16, $pop28 + i32.const $push34=, 4 + i32.const $15=, 16 + i32.add $15=, $16, $15 + i32.or $9=, $15, $pop34 i32.const $10=, 0 + i32.const $6=, 0 .LBB6_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label16: block - i32.eq $push27=, $10, $9 + i32.eq $push27=, $6, $10 br_if 0, $pop27 # 0: down to label18 # BB#2: # %if.then.i # in Loop: Header=BB6_1 Depth=1 - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 16 - i32.sub $20=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $20=, 0($12), $20 + i32.store $8=, 0($7), $6 + i32.const $push59=, 8 + i32.or $push29=, $16, $pop59 + i32.store $discard=, 0($pop29):p2align=3, $10 + i32.const $push58=, 4 + i32.or $push30=, $16, $pop58 + i32.store $discard=, 0($pop30), $8 i32.const $push57=, .L.str.6 - i32.store $discard=, 0($20), $pop57 - i32.const $push56=, 12 - i32.add $6=, $20, $pop56 - i32.store $6=, 0($6), $10 - i32.const $push55=, 8 - i32.add $7=, $20, $pop55 - i32.store $discard=, 0($7), $9 - i32.const $push54=, 4 - i32.add $9=, $20, $pop54 - i32.store $discard=, 0($9), $6 - i32.const $push53=, .L.str.1 - i32.call $discard=, printf@FUNCTION, $pop53 - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 16 - i32.add $20=, $13, $14 - i32.const $14=, __stack_pointer - i32.store $20=, 0($14), $20 - i32.const $push52=, 0 - i32.const $push51=, 0 - i32.load $push28=, errors($pop51) - i32.const $push50=, 1 - i32.add $push29=, $pop28, $pop50 - i32.store $discard=, errors($pop52), $pop29 + i32.store $discard=, 0($16):p2align=4, $pop57 + i32.const $push56=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop56, $16 + i32.const $push55=, 0 + i32.const $push54=, 0 + i32.load $push31=, errors($pop54) + i32.const $push53=, 1 + i32.add $push32=, $pop31, $pop53 + i32.store $discard=, errors($pop55), $pop32 .LBB6_3: # %for.inc.i # in Loop: Header=BB6_1 Depth=1 end_block # label18: - i32.const $push58=, 10 - i32.eq $push30=, $10, $pop58 - br_if 1, $pop30 # 1: down to label17 + i32.const $push60=, 10 + i32.eq $push33=, $6, $pop60 + br_if 1, $pop33 # 1: down to label17 # BB#4: # %for.inc.i.for.body.i_crit_edge # in Loop: Header=BB6_1 Depth=1 - i32.load $9=, 0($8) - i32.const $push60=, 1 - i32.add $10=, $10, $pop60 - i32.const $push59=, 4 - i32.add $8=, $8, $pop59 + i32.load $10=, 0($9) + i32.const $push62=, 1 + i32.add $6=, $6, $pop62 + i32.const $push61=, 4 + i32.add $9=, $9, $pop61 br 0 # 0: up to label16 .LBB6_5: # %verify.exit end_loop # label17: - i32.const $17=, 64 - i32.add $20=, $21, $17 - i32.const $17=, __stack_pointer - i32.store $20=, 0($17), $20 + i32.const $13=, 64 + i32.add $16=, $16, $13 + i32.const $13=, __stack_pointer + i32.store $16=, 0($13), $16 return .endfunc .Lfunc_end6: @@ -1259,136 +1119,123 @@ varargs5: # @varargs5 .section .text.varargs6,"ax",@progbits .type varargs6,@function varargs6: # @varargs6 - .param i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $16=, __stack_pointer - i32.load $16=, 0($16) - i32.const $17=, 64 - i32.sub $21=, $16, $17 - copy_local $22=, $21 - i32.const $17=, __stack_pointer - i32.store $21=, 0($17), $21 - i32.const $push42=, 8 - i32.const $19=, 16 - i32.add $19=, $21, $19 - i32.or $push1=, $19, $pop42 + i32.const $12=, __stack_pointer + i32.load $12=, 0($12) + i32.const $13=, 64 + i32.sub $17=, $12, $13 + i32.const $13=, __stack_pointer + i32.store $17=, 0($13), $17 + i32.store $discard=, 60($17), $7 + i32.const $push45=, 8 + i32.const $15=, 16 + i32.add $15=, $17, $15 + i32.or $push1=, $15, $pop45 i64.const $push2=, 12884901890 i64.store $discard=, 0($pop1), $pop2 - i32.store $discard=, 60($21), $22 - i32.load $11=, 60($21) + i32.load $7=, 60($17) i32.const $push4=, 6 - i32.store $discard=, 40($21):p2align=3, $pop4 + i32.store $discard=, 40($17):p2align=3, $pop4 i32.const $push5=, 3 - i32.add $push6=, $11, $pop5 + i32.add $push6=, $7, $pop5 i32.const $push7=, -4 i32.and $push8=, $pop6, $pop7 - tee_local $push41=, $11=, $pop8 - i32.const $push40=, 4 - i32.add $push9=, $pop41, $pop40 - i32.store $discard=, 60($21), $pop9 + tee_local $push44=, $7=, $pop8 + i32.const $push43=, 4 + i32.add $push9=, $pop44, $pop43 + i32.store $discard=, 60($17), $pop9 i64.const $push0=, 4294967296 - i64.store $discard=, 16($21):p2align=4, $pop0 + i64.store $discard=, 16($17):p2align=4, $pop0 i64.const $push3=, 21474836484 - i64.store $discard=, 32($21):p2align=4, $pop3 - i32.load $9=, 60($21) - i32.load $push10=, 0($11) - i32.store $discard=, 44($21), $pop10 - i32.const $push39=, 3 - i32.add $push11=, $9, $pop39 + i64.store $discard=, 32($17):p2align=4, $pop3 + i32.load $10=, 60($17) + i32.load $push10=, 0($7) + i32.store $discard=, 44($17), $pop10 + i32.const $push42=, 3 + i32.add $push11=, $10, $pop42 + i32.const $push41=, -4 + i32.and $push12=, $pop11, $pop41 + tee_local $push40=, $7=, $pop12 + i32.const $push39=, 4 + i32.add $push13=, $pop40, $pop39 + i32.store $discard=, 60($17), $pop13 + i32.load $push14=, 0($7) + i32.store $discard=, 48($17):p2align=4, $pop14 + i32.const $push15=, 7 + i32.add $push16=, $7, $pop15 i32.const $push38=, -4 - i32.and $push12=, $pop11, $pop38 - tee_local $push37=, $11=, $pop12 + i32.and $push17=, $pop16, $pop38 + tee_local $push37=, $7=, $pop17 i32.const $push36=, 4 - i32.add $push13=, $pop37, $pop36 - i32.store $discard=, 60($21), $pop13 - i32.load $push14=, 0($11) - i32.store $discard=, 48($21):p2align=4, $pop14 - i32.const $push15=, 7 - i32.add $push16=, $11, $pop15 - i32.const $push35=, -4 - i32.and $push17=, $pop16, $pop35 - tee_local $push34=, $11=, $pop17 - i32.const $push33=, 4 - i32.add $push18=, $pop34, $pop33 - i32.store $discard=, 60($21), $pop18 - i32.load $push19=, 0($11) - i32.store $discard=, 52($21), $pop19 - i32.const $push32=, 7 - i32.add $push20=, $11, $pop32 - i32.const $push31=, -4 - i32.and $push21=, $pop20, $pop31 - tee_local $push30=, $11=, $pop21 - i32.const $push29=, 4 - i32.add $push22=, $pop30, $pop29 - i32.store $discard=, 60($21), $pop22 - i32.load $push23=, 0($11) - i32.store $discard=, 56($21):p2align=3, $pop23 - i32.const $push28=, 4 - i32.const $20=, 16 - i32.add $20=, $21, $20 - i32.or $9=, $20, $pop28 - i32.const $10=, 0 + i32.add $push18=, $pop37, $pop36 + i32.store $discard=, 60($17), $pop18 + i32.load $push19=, 0($7) + i32.store $discard=, 52($17), $pop19 + i32.const $push35=, 7 + i32.add $push20=, $7, $pop35 + i32.const $push34=, -4 + i32.and $push21=, $pop20, $pop34 + tee_local $push33=, $7=, $pop21 + i32.const $push32=, 4 + i32.add $push22=, $pop33, $pop32 + i32.store $discard=, 60($17), $pop22 + i32.load $push23=, 0($7) + i32.store $discard=, 56($17):p2align=3, $pop23 + i32.const $push25=, 12 + i32.or $8=, $17, $pop25 + i32.const $push31=, 4 + i32.const $16=, 16 + i32.add $16=, $17, $16 + i32.or $10=, $16, $pop31 i32.const $11=, 0 + i32.const $7=, 0 .LBB7_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label19: block - i32.eq $push24=, $11, $10 + i32.eq $push24=, $7, $11 br_if 0, $pop24 # 0: down to label21 # BB#2: # %if.then.i # in Loop: Header=BB7_1 Depth=1 - i32.const $12=, __stack_pointer - i32.load $12=, 0($12) - i32.const $13=, 16 - i32.sub $21=, $12, $13 - i32.const $13=, __stack_pointer - i32.store $21=, 0($13), $21 + i32.store $9=, 0($8), $7 + i32.const $push52=, 8 + i32.or $push26=, $17, $pop52 + i32.store $discard=, 0($pop26):p2align=3, $11 + i32.const $push51=, 4 + i32.or $push27=, $17, $pop51 + i32.store $discard=, 0($pop27), $9 i32.const $push50=, .L.str.7 - i32.store $discard=, 0($21), $pop50 - i32.const $push49=, 12 - i32.add $7=, $21, $pop49 - i32.store $7=, 0($7), $11 - i32.const $push48=, 8 - i32.add $8=, $21, $pop48 - i32.store $discard=, 0($8), $10 - i32.const $push47=, 4 - i32.add $10=, $21, $pop47 - i32.store $discard=, 0($10), $7 - i32.const $push46=, .L.str.1 - i32.call $discard=, printf@FUNCTION, $pop46 - i32.const $14=, __stack_pointer - i32.load $14=, 0($14) - i32.const $15=, 16 - i32.add $21=, $14, $15 - i32.const $15=, __stack_pointer - i32.store $21=, 0($15), $21 - i32.const $push45=, 0 - i32.const $push44=, 0 - i32.load $push25=, errors($pop44) - i32.const $push43=, 1 - i32.add $push26=, $pop25, $pop43 - i32.store $discard=, errors($pop45), $pop26 + i32.store $discard=, 0($17):p2align=4, $pop50 + i32.const $push49=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop49, $17 + i32.const $push48=, 0 + i32.const $push47=, 0 + i32.load $push28=, errors($pop47) + i32.const $push46=, 1 + i32.add $push29=, $pop28, $pop46 + i32.store $discard=, errors($pop48), $pop29 .LBB7_3: # %for.inc.i # in Loop: Header=BB7_1 Depth=1 end_block # label21: - i32.const $push51=, 10 - i32.eq $push27=, $11, $pop51 - br_if 1, $pop27 # 1: down to label20 + i32.const $push53=, 10 + i32.eq $push30=, $7, $pop53 + br_if 1, $pop30 # 1: down to label20 # BB#4: # %for.inc.i.for.body.i_crit_edge # in Loop: Header=BB7_1 Depth=1 - i32.load $10=, 0($9) - i32.const $push53=, 1 - i32.add $11=, $11, $pop53 - i32.const $push52=, 4 - i32.add $9=, $9, $pop52 + i32.load $11=, 0($10) + i32.const $push55=, 1 + i32.add $7=, $7, $pop55 + i32.const $push54=, 4 + i32.add $10=, $10, $pop54 br 0 # 0: up to label19 .LBB7_5: # %verify.exit end_loop # label20: - i32.const $18=, 64 - i32.add $21=, $22, $18 - i32.const $18=, __stack_pointer - i32.store $21=, 0($18), $21 + i32.const $14=, 64 + i32.add $17=, $17, $14 + i32.const $14=, __stack_pointer + i32.store $17=, 0($14), $17 return .endfunc .Lfunc_end7: @@ -1397,126 +1244,113 @@ varargs6: # @varargs6 .section .text.varargs7,"ax",@progbits .type varargs7,@function varargs7: # @varargs7 - .param i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 64 - i32.sub $22=, $17, $18 - copy_local $23=, $22 - i32.const $18=, __stack_pointer - i32.store $22=, 0($18), $22 - i32.store $discard=, 60($22), $23 - i32.load $12=, 60($22) - i32.const $push34=, 8 - i32.const $20=, 16 - i32.add $20=, $22, $20 - i32.or $push1=, $20, $pop34 + i32.const $13=, __stack_pointer + i32.load $13=, 0($13) + i32.const $14=, 64 + i32.sub $18=, $13, $14 + i32.const $14=, __stack_pointer + i32.store $18=, 0($14), $18 + i32.store $discard=, 60($18), $8 + i32.load $8=, 60($18) + i32.const $push37=, 8 + i32.const $16=, 16 + i32.add $16=, $18, $16 + i32.or $push1=, $16, $pop37 i64.const $push2=, 12884901890 i64.store $discard=, 0($pop1), $pop2 i32.const $push5=, 3 - i32.add $push6=, $12, $pop5 + i32.add $push6=, $8, $pop5 i32.const $push7=, -4 i32.and $push8=, $pop6, $pop7 - tee_local $push33=, $12=, $pop8 - i32.const $push32=, 4 - i32.add $push9=, $pop33, $pop32 - i32.store $discard=, 60($22), $pop9 + tee_local $push36=, $8=, $pop8 + i32.const $push35=, 4 + i32.add $push9=, $pop36, $pop35 + i32.store $discard=, 60($18), $pop9 i64.const $push0=, 4294967296 - i64.store $discard=, 16($22):p2align=4, $pop0 + i64.store $discard=, 16($18):p2align=4, $pop0 i64.const $push3=, 21474836484 - i64.store $discard=, 32($22):p2align=4, $pop3 + i64.store $discard=, 32($18):p2align=4, $pop3 i64.const $push4=, 30064771078 - i64.store $discard=, 40($22), $pop4 - i32.load $10=, 60($22) - i32.load $push10=, 0($12) - i32.store $discard=, 48($22):p2align=4, $pop10 - i32.const $push31=, 3 - i32.add $push11=, $10, $pop31 + i64.store $discard=, 40($18), $pop4 + i32.load $11=, 60($18) + i32.load $push10=, 0($8) + i32.store $discard=, 48($18):p2align=4, $pop10 + i32.const $push34=, 3 + i32.add $push11=, $11, $pop34 + i32.const $push33=, -4 + i32.and $push12=, $pop11, $pop33 + tee_local $push32=, $8=, $pop12 + i32.const $push31=, 4 + i32.add $push13=, $pop32, $pop31 + i32.store $discard=, 60($18), $pop13 + i32.load $push14=, 0($8) + i32.store $discard=, 52($18), $pop14 + i32.const $push15=, 7 + i32.add $push16=, $8, $pop15 i32.const $push30=, -4 - i32.and $push12=, $pop11, $pop30 - tee_local $push29=, $12=, $pop12 + i32.and $push17=, $pop16, $pop30 + tee_local $push29=, $8=, $pop17 i32.const $push28=, 4 - i32.add $push13=, $pop29, $pop28 - i32.store $discard=, 60($22), $pop13 - i32.load $push14=, 0($12) - i32.store $discard=, 52($22), $pop14 - i32.const $push15=, 7 - i32.add $push16=, $12, $pop15 - i32.const $push27=, -4 - i32.and $push17=, $pop16, $pop27 - tee_local $push26=, $12=, $pop17 - i32.const $push25=, 4 - i32.add $push18=, $pop26, $pop25 - i32.store $discard=, 60($22), $pop18 - i32.load $push19=, 0($12) - i32.store $discard=, 56($22):p2align=3, $pop19 - i32.const $push24=, 4 - i32.const $21=, 16 - i32.add $21=, $22, $21 - i32.or $10=, $21, $pop24 - i32.const $11=, 0 + i32.add $push18=, $pop29, $pop28 + i32.store $discard=, 60($18), $pop18 + i32.load $push19=, 0($8) + i32.store $discard=, 56($18):p2align=3, $pop19 + i32.const $push21=, 12 + i32.or $9=, $18, $pop21 + i32.const $push27=, 4 + i32.const $17=, 16 + i32.add $17=, $18, $17 + i32.or $11=, $17, $pop27 i32.const $12=, 0 + i32.const $8=, 0 .LBB8_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label22: block - i32.eq $push20=, $12, $11 + i32.eq $push20=, $8, $12 br_if 0, $pop20 # 0: down to label24 # BB#2: # %if.then.i # in Loop: Header=BB8_1 Depth=1 - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 16 - i32.sub $22=, $13, $14 - i32.const $14=, __stack_pointer - i32.store $22=, 0($14), $22 + i32.store $10=, 0($9), $8 + i32.const $push44=, 8 + i32.or $push22=, $18, $pop44 + i32.store $discard=, 0($pop22):p2align=3, $12 + i32.const $push43=, 4 + i32.or $push23=, $18, $pop43 + i32.store $discard=, 0($pop23), $10 i32.const $push42=, .L.str.8 - i32.store $discard=, 0($22), $pop42 - i32.const $push41=, 12 - i32.add $8=, $22, $pop41 - i32.store $8=, 0($8), $12 - i32.const $push40=, 8 - i32.add $9=, $22, $pop40 - i32.store $discard=, 0($9), $11 - i32.const $push39=, 4 - i32.add $11=, $22, $pop39 - i32.store $discard=, 0($11), $8 - i32.const $push38=, .L.str.1 - i32.call $discard=, printf@FUNCTION, $pop38 - i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 16 - i32.add $22=, $15, $16 - i32.const $16=, __stack_pointer - i32.store $22=, 0($16), $22 - i32.const $push37=, 0 - i32.const $push36=, 0 - i32.load $push21=, errors($pop36) - i32.const $push35=, 1 - i32.add $push22=, $pop21, $pop35 - i32.store $discard=, errors($pop37), $pop22 + i32.store $discard=, 0($18):p2align=4, $pop42 + i32.const $push41=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop41, $18 + i32.const $push40=, 0 + i32.const $push39=, 0 + i32.load $push24=, errors($pop39) + i32.const $push38=, 1 + i32.add $push25=, $pop24, $pop38 + i32.store $discard=, errors($pop40), $pop25 .LBB8_3: # %for.inc.i # in Loop: Header=BB8_1 Depth=1 end_block # label24: - i32.const $push43=, 10 - i32.eq $push23=, $12, $pop43 - br_if 1, $pop23 # 1: down to label23 + i32.const $push45=, 10 + i32.eq $push26=, $8, $pop45 + br_if 1, $pop26 # 1: down to label23 # BB#4: # %for.inc.i.for.body.i_crit_edge # in Loop: Header=BB8_1 Depth=1 - i32.load $11=, 0($10) - i32.const $push45=, 1 - i32.add $12=, $12, $pop45 - i32.const $push44=, 4 - i32.add $10=, $10, $pop44 + i32.load $12=, 0($11) + i32.const $push47=, 1 + i32.add $8=, $8, $pop47 + i32.const $push46=, 4 + i32.add $11=, $11, $pop46 br 0 # 0: up to label22 .LBB8_5: # %verify.exit end_loop # label23: - i32.const $19=, 64 - i32.add $22=, $23, $19 - i32.const $19=, __stack_pointer - i32.store $22=, 0($19), $22 + i32.const $15=, 64 + i32.add $18=, $18, $15 + i32.const $15=, __stack_pointer + i32.store $18=, 0($15), $18 return .endfunc .Lfunc_end8: @@ -1525,117 +1359,104 @@ varargs7: # @varargs7 .section .text.varargs8,"ax",@progbits .type varargs8,@function varargs8: # @varargs8 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .param 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 $19=, __stack_pointer - i32.load $19=, 0($19) - i32.const $20=, 64 - i32.sub $24=, $19, $20 - copy_local $25=, $24 - i32.const $20=, __stack_pointer - i32.store $24=, 0($20), $24 - i32.store $discard=, 60($24), $25 - i32.load $14=, 60($24) + i32.const $15=, __stack_pointer + i32.load $15=, 0($15) + i32.const $16=, 64 + i32.sub $20=, $15, $16 + i32.const $16=, __stack_pointer + i32.store $20=, 0($16), $20 + i32.store $discard=, 60($20), $9 + i32.load $9=, 60($20) i32.const $push1=, 8 - i32.const $22=, 16 - i32.add $22=, $24, $22 - i32.or $push2=, $22, $pop1 + i32.const $18=, 16 + i32.add $18=, $20, $18 + i32.or $push2=, $18, $pop1 i64.const $push3=, 12884901890 i64.store $discard=, 0($pop2), $pop3 i32.const $push6=, 3 - i32.add $push7=, $14, $pop6 + i32.add $push7=, $9, $pop6 i32.const $push8=, -4 i32.and $push9=, $pop7, $pop8 - tee_local $push27=, $14=, $pop9 - i32.const $push26=, 4 - i32.add $push10=, $pop27, $pop26 - i32.store $discard=, 60($24), $pop10 + tee_local $push30=, $9=, $pop9 + i32.const $push29=, 4 + i32.add $push10=, $pop30, $pop29 + i32.store $discard=, 60($20), $pop10 i64.const $push0=, 4294967296 - i64.store $discard=, 16($24):p2align=4, $pop0 + i64.store $discard=, 16($20):p2align=4, $pop0 i64.const $push4=, 21474836484 - i64.store $discard=, 32($24):p2align=4, $pop4 + i64.store $discard=, 32($20):p2align=4, $pop4 i64.const $push5=, 30064771078 - i64.store $discard=, 40($24), $pop5 - i32.const $push25=, 8 - i32.store $9=, 48($24):p2align=4, $pop25 - i32.load $12=, 60($24) - i32.load $push11=, 0($14) - i32.store $discard=, 52($24), $pop11 - i32.const $push24=, 3 - i32.add $push12=, $12, $pop24 - i32.const $push23=, -4 - i32.and $push13=, $pop12, $pop23 - tee_local $push22=, $14=, $pop13 - i32.const $push21=, 4 - i32.add $push14=, $pop22, $pop21 - i32.store $discard=, 60($24), $pop14 - i32.load $push15=, 0($14) - i32.store $discard=, 56($24):p2align=3, $pop15 - i32.const $push20=, 4 - i32.const $23=, 16 - i32.add $23=, $24, $23 - i32.or $12=, $23, $pop20 - i32.const $13=, 0 + i64.store $discard=, 40($20), $pop5 + i32.const $push28=, 8 + i32.store $10=, 48($20):p2align=4, $pop28 + i32.load $13=, 60($20) + i32.load $push11=, 0($9) + i32.store $discard=, 52($20), $pop11 + i32.const $push27=, 3 + i32.add $push12=, $13, $pop27 + i32.const $push26=, -4 + i32.and $push13=, $pop12, $pop26 + tee_local $push25=, $9=, $pop13 + i32.const $push24=, 4 + i32.add $push14=, $pop25, $pop24 + i32.store $discard=, 60($20), $pop14 + i32.load $push15=, 0($9) + i32.store $discard=, 56($20):p2align=3, $pop15 + i32.const $push17=, 12 + i32.or $11=, $20, $pop17 + i32.const $push23=, 4 + i32.const $19=, 16 + i32.add $19=, $20, $19 + i32.or $13=, $19, $pop23 i32.const $14=, 0 + i32.const $9=, 0 .LBB9_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label25: block - i32.eq $push16=, $14, $13 + i32.eq $push16=, $9, $14 br_if 0, $pop16 # 0: down to label27 # BB#2: # %if.then.i # in Loop: Header=BB9_1 Depth=1 - i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 16 - i32.sub $24=, $15, $16 - i32.const $16=, __stack_pointer - i32.store $24=, 0($16), $24 - i32.const $push34=, .L.str.9 - i32.store $discard=, 0($24), $pop34 - i32.const $push33=, 12 - i32.add $10=, $24, $pop33 - i32.store $10=, 0($10), $14 - i32.add $11=, $24, $9 - i32.store $discard=, 0($11), $13 - i32.const $push32=, 4 - i32.add $13=, $24, $pop32 - i32.store $discard=, 0($13), $10 - i32.const $push31=, .L.str.1 - i32.call $discard=, printf@FUNCTION, $pop31 - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 16 - i32.add $24=, $17, $18 - i32.const $18=, __stack_pointer - i32.store $24=, 0($18), $24 - i32.const $push30=, 0 - i32.const $push29=, 0 - i32.load $push17=, errors($pop29) - i32.const $push28=, 1 - i32.add $push18=, $pop17, $pop28 - i32.store $discard=, errors($pop30), $pop18 + i32.store $12=, 0($11), $9 + i32.or $push18=, $20, $10 + i32.store $discard=, 0($pop18):p2align=3, $14 + i32.const $push36=, 4 + i32.or $push19=, $20, $pop36 + i32.store $discard=, 0($pop19), $12 + i32.const $push35=, .L.str.9 + i32.store $discard=, 0($20):p2align=4, $pop35 + i32.const $push34=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop34, $20 + i32.const $push33=, 0 + i32.const $push32=, 0 + i32.load $push20=, errors($pop32) + i32.const $push31=, 1 + i32.add $push21=, $pop20, $pop31 + i32.store $discard=, errors($pop33), $pop21 .LBB9_3: # %for.inc.i # in Loop: Header=BB9_1 Depth=1 end_block # label27: - i32.const $push35=, 10 - i32.eq $push19=, $14, $pop35 - br_if 1, $pop19 # 1: down to label26 + i32.const $push37=, 10 + i32.eq $push22=, $9, $pop37 + br_if 1, $pop22 # 1: down to label26 # BB#4: # %for.inc.i.for.body.i_crit_edge # in Loop: Header=BB9_1 Depth=1 - i32.load $13=, 0($12) - i32.const $push37=, 1 - i32.add $14=, $14, $pop37 - i32.const $push36=, 4 - i32.add $12=, $12, $pop36 + i32.load $14=, 0($13) + i32.const $push39=, 1 + i32.add $9=, $9, $pop39 + i32.const $push38=, 4 + i32.add $13=, $13, $pop38 br 0 # 0: up to label25 .LBB9_5: # %verify.exit end_loop # label26: - i32.const $21=, 64 - i32.add $24=, $25, $21 - i32.const $21=, __stack_pointer - i32.store $24=, 0($21), $24 + i32.const $17=, 64 + i32.add $20=, $20, $17 + i32.const $17=, __stack_pointer + i32.store $20=, 0($17), $20 return .endfunc .Lfunc_end9: @@ -1644,107 +1465,94 @@ varargs8: # @varargs8 .section .text.varargs9,"ax",@progbits .type varargs9,@function varargs9: # @varargs9 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $19=, __stack_pointer - i32.load $19=, 0($19) - i32.const $20=, 64 - i32.sub $24=, $19, $20 - copy_local $25=, $24 - i32.const $20=, __stack_pointer - i32.store $24=, 0($20), $24 - i32.store $discard=, 60($24), $25 - i32.load $14=, 60($24) - i32.const $push19=, 8 - i32.const $22=, 16 - i32.add $22=, $24, $22 - i32.or $push1=, $22, $pop19 + i32.const $15=, __stack_pointer + i32.load $15=, 0($15) + i32.const $16=, 64 + i32.sub $20=, $15, $16 + i32.const $16=, __stack_pointer + i32.store $20=, 0($16), $20 + i32.store $discard=, 60($20), $10 + i32.load $10=, 60($20) + i32.const $push22=, 8 + i32.const $18=, 16 + i32.add $18=, $20, $18 + i32.or $push1=, $18, $pop22 i64.const $push2=, 12884901890 i64.store $discard=, 0($pop1), $pop2 i32.const $push6=, 3 - i32.add $push7=, $14, $pop6 + i32.add $push7=, $10, $pop6 i32.const $push8=, -4 i32.and $push9=, $pop7, $pop8 - tee_local $push18=, $14=, $pop9 - i32.const $push17=, 4 - i32.add $push10=, $pop18, $pop17 - i32.store $discard=, 60($24), $pop10 + tee_local $push21=, $10=, $pop9 + i32.const $push20=, 4 + i32.add $push10=, $pop21, $pop20 + i32.store $discard=, 60($20), $pop10 i64.const $push0=, 4294967296 - i64.store $discard=, 16($24):p2align=4, $pop0 + i64.store $discard=, 16($20):p2align=4, $pop0 i64.const $push3=, 21474836484 - i64.store $discard=, 32($24):p2align=4, $pop3 + i64.store $discard=, 32($20):p2align=4, $pop3 i64.const $push4=, 30064771078 - i64.store $discard=, 40($24), $pop4 + i64.store $discard=, 40($20), $pop4 i64.const $push5=, 38654705672 - i64.store $discard=, 48($24):p2align=4, $pop5 - i32.load $push11=, 0($14) - i32.store $discard=, 56($24):p2align=3, $pop11 - i32.const $push16=, 4 - i32.const $23=, 16 - i32.add $23=, $24, $23 - i32.or $12=, $23, $pop16 - i32.const $13=, 0 + i64.store $discard=, 48($20):p2align=4, $pop5 + i32.load $push11=, 0($10) + i32.store $discard=, 56($20):p2align=3, $pop11 + i32.const $push13=, 12 + i32.or $11=, $20, $pop13 + i32.const $push19=, 4 + i32.const $19=, 16 + i32.add $19=, $20, $19 + i32.or $13=, $19, $pop19 i32.const $14=, 0 + i32.const $10=, 0 .LBB10_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label28: block - i32.eq $push12=, $14, $13 + i32.eq $push12=, $10, $14 br_if 0, $pop12 # 0: down to label30 # BB#2: # %if.then.i # in Loop: Header=BB10_1 Depth=1 - i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 16 - i32.sub $24=, $15, $16 - i32.const $16=, __stack_pointer - i32.store $24=, 0($16), $24 + i32.store $12=, 0($11), $10 + i32.const $push29=, 8 + i32.or $push14=, $20, $pop29 + i32.store $discard=, 0($pop14):p2align=3, $14 + i32.const $push28=, 4 + i32.or $push15=, $20, $pop28 + i32.store $discard=, 0($pop15), $12 i32.const $push27=, .L.str.10 - i32.store $discard=, 0($24), $pop27 - i32.const $push26=, 12 - i32.add $10=, $24, $pop26 - i32.store $10=, 0($10), $14 - i32.const $push25=, 8 - i32.add $11=, $24, $pop25 - i32.store $discard=, 0($11), $13 - i32.const $push24=, 4 - i32.add $13=, $24, $pop24 - i32.store $discard=, 0($13), $10 - i32.const $push23=, .L.str.1 - i32.call $discard=, printf@FUNCTION, $pop23 - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 16 - i32.add $24=, $17, $18 - i32.const $18=, __stack_pointer - i32.store $24=, 0($18), $24 - i32.const $push22=, 0 - i32.const $push21=, 0 - i32.load $push13=, errors($pop21) - i32.const $push20=, 1 - i32.add $push14=, $pop13, $pop20 - i32.store $discard=, errors($pop22), $pop14 + i32.store $discard=, 0($20):p2align=4, $pop27 + i32.const $push26=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop26, $20 + i32.const $push25=, 0 + i32.const $push24=, 0 + i32.load $push16=, errors($pop24) + i32.const $push23=, 1 + i32.add $push17=, $pop16, $pop23 + i32.store $discard=, errors($pop25), $pop17 .LBB10_3: # %for.inc.i # in Loop: Header=BB10_1 Depth=1 end_block # label30: - i32.const $push28=, 10 - i32.eq $push15=, $14, $pop28 - br_if 1, $pop15 # 1: down to label29 + i32.const $push30=, 10 + i32.eq $push18=, $10, $pop30 + br_if 1, $pop18 # 1: down to label29 # BB#4: # %for.inc.i.for.body.i_crit_edge # in Loop: Header=BB10_1 Depth=1 - i32.load $13=, 0($12) - i32.const $push30=, 1 - i32.add $14=, $14, $pop30 - i32.const $push29=, 4 - i32.add $12=, $12, $pop29 + i32.load $14=, 0($13) + i32.const $push32=, 1 + i32.add $10=, $10, $pop32 + i32.const $push31=, 4 + i32.add $13=, $13, $pop31 br 0 # 0: up to label28 .LBB10_5: # %verify.exit end_loop # label29: - i32.const $21=, 64 - i32.add $24=, $25, $21 - i32.const $21=, __stack_pointer - i32.store $24=, 0($21), $24 + i32.const $17=, 64 + i32.add $20=, $20, $17 + i32.const $17=, __stack_pointer + i32.store $20=, 0($17), $20 return .endfunc .Lfunc_end10: diff --git a/test/torture-s/va-arg-26.c.s b/test/torture-s/va-arg-26.c.s index ac17f5fc8..f70a2751a 100644 --- a/test/torture-s/va-arg-26.c.s +++ b/test/torture-s/va-arg-26.c.s @@ -5,18 +5,17 @@ .globl f .type f,@function f: # @f - .param f32, f32, f32, f32, f32, f32 + .param f32, f32, f32, f32, f32, f32, i32 .result f64 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $7=, __stack_pointer i32.load $7=, 0($7) i32.const $8=, 16 i32.sub $10=, $7, $8 - copy_local $11=, $10 i32.const $8=, __stack_pointer i32.store $10=, 0($8), $10 - i32.store $push0=, 12($10), $11 + i32.store $push0=, 12($10), $6 i32.const $push1=, 7 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -8 @@ -27,7 +26,7 @@ f: # @f i32.store $discard=, 12($10), $pop6 f64.load $push7=, 0($6) i32.const $9=, 16 - i32.add $10=, $11, $9 + i32.add $10=, $10, $9 i32.const $9=, __stack_pointer i32.store $10=, 0($9), $10 return $pop7 @@ -41,40 +40,28 @@ f: # @f .type main,@function main: # @main .result i32 - .local f64, f32, i32, i32, i32, i32, i32, i32, i32 + .local f32, i32, i32, i32 # BB#0: # %entry - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 16 - i32.sub $8=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 + i32.const $1=, __stack_pointer + i32.load $1=, 0($1) + i32.const $2=, 16 + i32.sub $3=, $1, $2 i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 8 - i32.sub $8=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $8=, 0($3), $8 + i32.store $3=, 0($2), $3 i64.const $push0=, 4619567317775286272 - i64.store $discard=, 0($8), $pop0 - f64.call $0=, f@FUNCTION, $1, $1, $1, $1, $1, $1 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 8 - i32.add $8=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $8=, 0($5), $8 + i64.store $discard=, 0($3):p2align=4, $pop0 block - f64.const $push1=, 0x1.cp2 - f64.eq $push2=, $0, $pop1 - br_if 0, $pop2 # 0: down to label0 + f64.call $push1=, f@FUNCTION, $0, $0, $0, $0, $0, $0, $3 + f64.const $push2=, 0x1.cp2 + f64.eq $push3=, $pop1, $pop2 + br_if 0, $pop3 # 0: down to label0 # BB#1: # %if.then call abort@FUNCTION unreachable .LBB1_2: # %if.end end_block # label0: - i32.const $push3=, 0 - call exit@FUNCTION, $pop3 + i32.const $push4=, 0 + call exit@FUNCTION, $pop4 unreachable .endfunc .Lfunc_end1: diff --git a/test/torture-s/va-arg-4.c.s b/test/torture-s/va-arg-4.c.s index 6197063ab..dfa905891 100644 --- a/test/torture-s/va-arg-4.c.s +++ b/test/torture-s/va-arg-4.c.s @@ -5,16 +5,15 @@ .globl f .type f,@function f: # @f - .param i32, i32 - .local i32, i32, i32, i32, i32 + .param i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + 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 block i32.load8_u $push0=, 0($0) i32.const $push1=, 97 @@ -31,7 +30,7 @@ f: # @f i32.ne $push8=, $pop6, $pop7 br_if 0, $pop8 # 0: down to label0 # BB#3: # %if.end - i32.store $push9=, 12($5), $6 + i32.store $push9=, 12($6), $2 i32.const $push34=, 3 i32.add $push10=, $pop9, $pop34 i32.const $push33=, -4 @@ -39,14 +38,14 @@ f: # @f tee_local $push32=, $0=, $pop11 i32.const $push31=, 4 i32.add $push12=, $pop32, $pop31 - i32.store $discard=, 12($5), $pop12 + i32.store $discard=, 12($6), $pop12 block i32.load $push13=, 0($0) i32.const $push14=, 42 i32.ne $push15=, $pop13, $pop14 br_if 0, $pop15 # 0: down to label1 # BB#4: # %if.end17 - i32.load $push16=, 12($5) + i32.load $push16=, 12($6) i32.const $push38=, 3 i32.add $push17=, $pop16, $pop38 i32.const $push37=, -4 @@ -54,14 +53,14 @@ f: # @f tee_local $push36=, $0=, $pop18 i32.const $push35=, 4 i32.add $push19=, $pop36, $pop35 - i32.store $discard=, 12($5), $pop19 + i32.store $discard=, 12($6), $pop19 block i32.load $push20=, 0($0) i32.const $push21=, 120 i32.ne $push22=, $pop20, $pop21 br_if 0, $pop22 # 0: down to label2 # BB#5: # %if.end21 - i32.load $push23=, 12($5) + i32.load $push23=, 12($6) i32.const $push24=, 3 i32.add $push25=, $pop23, $pop24 i32.const $push26=, -4 @@ -69,15 +68,15 @@ f: # @f tee_local $push39=, $0=, $pop27 i32.const $push28=, 4 i32.add $push29=, $pop39, $pop28 - i32.store $discard=, 12($5), $pop29 + i32.store $discard=, 12($6), $pop29 block i32.load $push30=, 0($0) br_if 0, $pop30 # 0: down to label3 # BB#6: # %if.end25 - i32.const $4=, 16 - i32.add $5=, $6, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $5=, 16 + i32.add $6=, $6, $5 + i32.const $5=, __stack_pointer + i32.store $6=, 0($5), $6 return .LBB0_7: # %if.then24 end_block # label3: @@ -105,59 +104,47 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 48 - i32.sub $11=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $11=, 0($6), $11 + i32.const $1=, __stack_pointer + i32.load $1=, 0($1) + i32.const $2=, 48 + i32.sub $7=, $1, $2 + i32.const $2=, __stack_pointer + i32.store $7=, 0($2), $7 i32.const $push2=, 24 - i32.const $7=, 16 - i32.add $7=, $11, $7 - i32.add $push3=, $7, $pop2 + i32.const $3=, 16 + i32.add $3=, $7, $3 + i32.add $push3=, $3, $pop2 i32.const $push0=, 0 i64.load $push1=, main.x+24($pop0):p2align=0 i64.store $discard=, 0($pop3):p2align=2, $pop1 i32.const $push5=, 16 - i32.const $8=, 16 - i32.add $8=, $11, $8 - i32.add $push6=, $8, $pop5 - i32.const $push16=, 0 - i64.load $push4=, main.x+16($pop16):p2align=0 + i32.const $4=, 16 + i32.add $4=, $7, $4 + i32.add $push6=, $4, $pop5 + i32.const $push17=, 0 + i64.load $push4=, main.x+16($pop17):p2align=0 i64.store $discard=, 0($pop6):p2align=2, $pop4 i32.const $push8=, 8 - i32.const $9=, 16 - i32.add $9=, $11, $9 - i32.add $push9=, $9, $pop8 - i32.const $push15=, 0 - i64.load $push7=, main.x+8($pop15):p2align=0 + i32.const $5=, 16 + i32.add $5=, $7, $5 + i32.add $push9=, $5, $pop8 + i32.const $push16=, 0 + i64.load $push7=, main.x+8($pop16):p2align=0 i64.store $discard=, 0($pop9):p2align=2, $pop7 - i32.const $push14=, 0 - i64.load $push10=, main.x($pop14):p2align=0 - i64.store $discard=, 16($11):p2align=2, $pop10 - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 12 - i32.sub $11=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $11=, 0($2), $11 - i64.const $push11=, 515396075562 - i64.store $discard=, 0($11):p2align=2, $pop11 - i32.const $push13=, 8 - i32.add $0=, $11, $pop13 - i32.const $push12=, 0 - i32.store $0=, 0($0), $pop12 - i32.const $10=, 16 - i32.add $10=, $11, $10 - call f@FUNCTION, $10, $0 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 12 - i32.add $11=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $11=, 0($4), $11 + i32.const $push15=, 0 + i64.load $push10=, main.x($pop15):p2align=0 + i64.store $discard=, 16($7):p2align=2, $pop10 + i32.const $push14=, 8 + i32.or $push11=, $7, $pop14 + i32.const $push13=, 0 + i32.store $0=, 0($pop11):p2align=3, $pop13 + i64.const $push12=, 515396075562 + i64.store $discard=, 0($7):p2align=4, $pop12 + i32.const $6=, 16 + i32.add $6=, $7, $6 + call f@FUNCTION, $6, $0, $7 call exit@FUNCTION, $0 unreachable .endfunc diff --git a/test/torture-s/va-arg-5.c.s b/test/torture-s/va-arg-5.c.s index 06cf44160..777e17c35 100644 --- a/test/torture-s/va-arg-5.c.s +++ b/test/torture-s/va-arg-5.c.s @@ -5,18 +5,17 @@ .globl va_double .type va_double,@function va_double: # @va_double - .param i32 + .param i32, i32 .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $2=, __stack_pointer i32.load $2=, 0($2) i32.const $3=, 16 i32.sub $5=, $2, $3 - copy_local $6=, $5 i32.const $3=, __stack_pointer i32.store $5=, 0($3), $5 - i32.store $push0=, 12($5), $6 + i32.store $push0=, 12($5), $1 i32.const $push31=, 7 i32.add $push1=, $pop0, $pop31 i32.const $push30=, -8 @@ -77,7 +76,7 @@ va_double: # @va_double br_if 0, $pop27 # 0: down to label3 # BB#4: # %if.end10 i32.const $4=, 16 - i32.add $5=, $6, $4 + i32.add $5=, $5, $4 i32.const $4=, __stack_pointer i32.store $5=, 0($4), $5 return $1 @@ -106,36 +105,35 @@ va_double: # @va_double .globl va_long_double .type va_long_double,@function va_long_double: # @va_long_double - .param i32 + .param i32, i32 .result i32 - .local i64, i32, i32, i32, i32, i32, i32 + .local i64, i32, i32, i32, i32 # BB#0: # %entry i32.const $3=, __stack_pointer i32.load $3=, 0($3) i32.const $4=, 16 i32.sub $6=, $3, $4 - copy_local $7=, $6 i32.const $4=, __stack_pointer i32.store $6=, 0($4), $6 - i32.store $push0=, 12($6), $7 + i32.store $push0=, 12($6), $1 i32.const $push45=, 15 i32.add $push1=, $pop0, $pop45 i32.const $push44=, -16 i32.and $push2=, $pop1, $pop44 - tee_local $push43=, $2=, $pop2 - i64.load $1=, 0($pop43) + tee_local $push43=, $1=, $pop2 + i64.load $2=, 0($pop43) i32.const $push42=, 8 - i32.or $push3=, $2, $pop42 + i32.or $push3=, $1, $pop42 i32.store $push4=, 12($6), $pop3 - tee_local $push41=, $2=, $pop4 + tee_local $push41=, $1=, $pop4 i32.const $push40=, 8 i32.add $push5=, $pop41, $pop40 i32.store $discard=, 12($6), $pop5 block - i64.load $push6=, 0($2) + i64.load $push6=, 0($1) i64.const $push8=, -7338557514379428662 i64.const $push7=, 4611846683218194439 - i32.call $push9=, __eqtf2@FUNCTION, $1, $pop6, $pop8, $pop7 + i32.call $push9=, __eqtf2@FUNCTION, $2, $pop6, $pop8, $pop7 br_if 0, $pop9 # 0: down to label4 # BB#1: # %if.end i32.load $push10=, 12($6) @@ -143,20 +141,20 @@ va_long_double: # @va_long_double i32.add $push11=, $pop10, $pop51 i32.const $push50=, -16 i32.and $push12=, $pop11, $pop50 - tee_local $push49=, $2=, $pop12 - i64.load $1=, 0($pop49) + tee_local $push49=, $1=, $pop12 + i64.load $2=, 0($pop49) i32.const $push48=, 8 - i32.or $push13=, $2, $pop48 + i32.or $push13=, $1, $pop48 i32.store $push14=, 12($6), $pop13 - tee_local $push47=, $2=, $pop14 + tee_local $push47=, $1=, $pop14 i32.const $push46=, 8 i32.add $push15=, $pop47, $pop46 i32.store $discard=, 12($6), $pop15 block - i64.load $push16=, 0($2) + i64.load $push16=, 0($1) i64.const $push18=, 8163791057260899163 i64.const $push17=, 4611787105943148885 - i32.call $push19=, __eqtf2@FUNCTION, $1, $pop16, $pop18, $pop17 + i32.call $push19=, __eqtf2@FUNCTION, $2, $pop16, $pop18, $pop17 br_if 0, $pop19 # 0: down to label5 # BB#2: # %if.end4 i32.load $push20=, 12($6) @@ -164,20 +162,20 @@ va_long_double: # @va_long_double i32.add $push21=, $pop20, $pop57 i32.const $push56=, -16 i32.and $push22=, $pop21, $pop56 - tee_local $push55=, $2=, $pop22 - i64.load $1=, 0($pop55) + tee_local $push55=, $1=, $pop22 + i64.load $2=, 0($pop55) i32.const $push54=, 8 - i32.or $push23=, $2, $pop54 + i32.or $push23=, $1, $pop54 i32.store $push24=, 12($6), $pop23 - tee_local $push53=, $2=, $pop24 + tee_local $push53=, $1=, $pop24 i32.const $push52=, 8 i32.add $push25=, $pop53, $pop52 i32.store $discard=, 12($6), $pop25 block - i64.load $push26=, 0($2) + i64.load $push26=, 0($1) i64.const $push28=, -4892607794577095924 i64.const $push27=, 4611719242030715220 - i32.call $push29=, __eqtf2@FUNCTION, $1, $pop26, $pop28, $pop27 + i32.call $push29=, __eqtf2@FUNCTION, $2, $pop26, $pop28, $pop27 br_if 0, $pop29 # 0: down to label6 # BB#3: # %if.end7 i32.load $push30=, 12($6) @@ -185,27 +183,27 @@ va_long_double: # @va_long_double i32.add $push31=, $pop30, $pop63 i32.const $push62=, -16 i32.and $push32=, $pop31, $pop62 - tee_local $push61=, $2=, $pop32 - i64.load $1=, 0($pop61) + tee_local $push61=, $1=, $pop32 + i64.load $2=, 0($pop61) i32.const $push60=, 8 - i32.or $push33=, $2, $pop60 + i32.or $push33=, $1, $pop60 i32.store $push34=, 12($6), $pop33 - tee_local $push59=, $2=, $pop34 + tee_local $push59=, $1=, $pop34 i32.const $push58=, 8 i32.add $push35=, $pop59, $pop58 i32.store $discard=, 12($6), $pop35 block - i64.load $push36=, 0($2) + i64.load $push36=, 0($1) i64.const $push38=, -2718666384188054750 i64.const $push37=, 4611706774898825505 - i32.call $push39=, __eqtf2@FUNCTION, $1, $pop36, $pop38, $pop37 + i32.call $push39=, __eqtf2@FUNCTION, $2, $pop36, $pop38, $pop37 br_if 0, $pop39 # 0: down to label7 # BB#4: # %if.end10 i32.const $5=, 16 - i32.add $6=, $7, $5 + i32.add $6=, $6, $5 i32.const $5=, __stack_pointer i32.store $6=, 0($5), $6 - return $2 + return $1 .LBB1_5: # %if.then9 end_block # label7: call abort@FUNCTION @@ -232,86 +230,70 @@ va_long_double: # @va_long_double .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $9=, __stack_pointer - i32.load $9=, 0($9) - i32.const $10=, 64 - i32.sub $11=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $11=, 0($10), $11 i32.const $1=, __stack_pointer i32.load $1=, 0($1) - i32.const $2=, 32 - i32.sub $11=, $1, $2 + i32.const $2=, 96 + i32.sub $7=, $1, $2 i32.const $2=, __stack_pointer - i32.store $11=, 0($2), $11 - i64.const $push0=, 4614256655080292474 - i64.store $discard=, 0($11), $pop0 - i32.const $push1=, 24 - i32.add $0=, $11, $pop1 + i32.store $7=, 0($2), $7 + i32.const $push0=, 24 + i32.const $3=, 64 + i32.add $3=, $7, $3 + i32.add $push1=, $3, $pop0 i64.const $push2=, 4612018121970389534 - i64.store $discard=, 0($0), $pop2 + i64.store $discard=, 0($pop1), $pop2 i32.const $push3=, 16 - i32.add $0=, $11, $pop3 - i64.const $push4=, 4612217596080624972 - i64.store $discard=, 0($0), $pop4 - i32.const $push5=, 8 - i32.add $0=, $11, $pop5 - i64.const $push6=, 4613303418679563607 - i64.store $discard=, 0($0), $pop6 - i32.call $discard=, va_double@FUNCTION, $0 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 32 - i32.add $11=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $11=, 0($4), $11 - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) + i32.const $4=, 64 + i32.add $4=, $7, $4 + i32.add $push4=, $4, $pop3 + i64.const $push5=, 4612217596080624972 + i64.store $discard=, 0($pop4):p2align=4, $pop5 + i32.const $push6=, 8 + i32.const $5=, 64 + i32.add $5=, $7, $5 + i32.or $push7=, $5, $pop6 + i64.const $push8=, 4613303418679563607 + i64.store $discard=, 0($pop7), $pop8 + i64.const $push9=, 4614256655080292474 + i64.store $discard=, 64($7):p2align=4, $pop9 i32.const $6=, 64 - i32.sub $11=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $11=, 0($6), $11 - i64.const $push7=, -7338557514379428662 - i64.store $discard=, 0($11), $pop7 - i32.const $push8=, 56 - i32.add $0=, $11, $pop8 - i64.const $push9=, 4611706774898825505 - i64.store $discard=, 0($0), $pop9 - i32.const $push10=, 48 - i32.add $0=, $11, $pop10 - i64.const $push11=, -2718666384188054750 - i64.store $discard=, 0($0), $pop11 - i32.const $push12=, 40 - i32.add $0=, $11, $pop12 - i64.const $push13=, 4611719242030715220 - i64.store $discard=, 0($0), $pop13 - i32.const $push14=, 32 - i32.add $0=, $11, $pop14 - i64.const $push15=, -4892607794577095924 - i64.store $discard=, 0($0), $pop15 - i32.const $push22=, 24 - i32.add $0=, $11, $pop22 - i64.const $push16=, 4611787105943148885 - i64.store $discard=, 0($0), $pop16 - i32.const $push21=, 16 - i32.add $0=, $11, $pop21 - i64.const $push17=, 8163791057260899163 - i64.store $discard=, 0($0), $pop17 - i32.const $push20=, 8 - i32.add $0=, $11, $pop20 - i64.const $push18=, 4611846683218194439 - i64.store $discard=, 0($0), $pop18 - i32.call $discard=, va_long_double@FUNCTION, $0 - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 64 - i32.add $11=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $11=, 0($8), $11 - i32.const $push19=, 0 - call exit@FUNCTION, $pop19 + i32.add $6=, $7, $6 + i32.call $discard=, va_double@FUNCTION, $0, $6 + i32.const $push10=, 56 + i32.add $push11=, $7, $pop10 + i64.const $push12=, 4611706774898825505 + i64.store $discard=, 0($pop11), $pop12 + i32.const $push13=, 48 + i32.add $push14=, $7, $pop13 + i64.const $push15=, -2718666384188054750 + i64.store $discard=, 0($pop14):p2align=4, $pop15 + i32.const $push16=, 40 + i32.add $push17=, $7, $pop16 + i64.const $push18=, 4611719242030715220 + i64.store $discard=, 0($pop17), $pop18 + i32.const $push19=, 32 + i32.add $push20=, $7, $pop19 + i64.const $push21=, -4892607794577095924 + i64.store $discard=, 0($pop20):p2align=4, $pop21 + i32.const $push32=, 24 + i32.add $push22=, $7, $pop32 + i64.const $push23=, 4611787105943148885 + i64.store $discard=, 0($pop22), $pop23 + i32.const $push31=, 16 + i32.add $push24=, $7, $pop31 + i64.const $push25=, 8163791057260899163 + i64.store $discard=, 0($pop24):p2align=4, $pop25 + i32.const $push30=, 8 + i32.or $push26=, $7, $pop30 + i64.const $push27=, 4611846683218194439 + i64.store $discard=, 0($pop26), $pop27 + i64.const $push28=, -7338557514379428662 + i64.store $discard=, 0($7):p2align=4, $pop28 + i32.call $discard=, va_long_double@FUNCTION, $0, $7 + i32.const $push29=, 0 + call exit@FUNCTION, $pop29 unreachable .endfunc .Lfunc_end2: diff --git a/test/torture-s/va-arg-6.c.s b/test/torture-s/va-arg-6.c.s index 80cf546d3..34ccf93d5 100644 --- a/test/torture-s/va-arg-6.c.s +++ b/test/torture-s/va-arg-6.c.s @@ -5,28 +5,27 @@ .globl f .type f,@function f: # @f - .param i32 + .param i32, i32 .result i32 - .local i64, i32, i32, i32, i32, i32, i32 + .local i64, i32, i32, i32, i32 # BB#0: # %entry i32.const $3=, __stack_pointer i32.load $3=, 0($3) i32.const $4=, 16 i32.sub $6=, $3, $4 - copy_local $7=, $6 i32.const $4=, __stack_pointer i32.store $6=, 0($4), $6 - i32.store $push0=, 12($6), $7 + i32.store $push0=, 12($6), $1 i32.const $push1=, 3 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -4 i32.and $push4=, $pop2, $pop3 - tee_local $push87=, $2=, $pop4 + tee_local $push87=, $1=, $pop4 i32.const $push5=, 4 i32.add $push6=, $pop87, $pop5 i32.store $discard=, 12($6), $pop6 block - i32.load $push7=, 0($2) + i32.load $push7=, 0($1) i32.const $push8=, 10 i32.ne $push9=, $pop7, $pop8 br_if 0, $pop9 # 0: down to label0 @@ -36,12 +35,12 @@ f: # @f i32.add $push12=, $pop10, $pop11 i32.const $push13=, -8 i32.and $push14=, $pop12, $pop13 - tee_local $push88=, $2=, $pop14 + tee_local $push88=, $1=, $pop14 i32.const $push15=, 8 i32.add $push16=, $pop88, $pop15 i32.store $discard=, 12($6), $pop16 block - i64.load $push17=, 0($2) + i64.load $push17=, 0($1) i64.const $push18=, 10000000000 i64.ne $push19=, $pop17, $pop18 br_if 0, $pop19 # 0: down to label1 @@ -51,12 +50,12 @@ f: # @f i32.add $push22=, $pop20, $pop21 i32.const $push23=, -4 i32.and $push24=, $pop22, $pop23 - tee_local $push89=, $2=, $pop24 + tee_local $push89=, $1=, $pop24 i32.const $push25=, 4 i32.add $push26=, $pop89, $pop25 i32.store $discard=, 12($6), $pop26 block - i32.load $push27=, 0($2) + i32.load $push27=, 0($1) i32.const $push28=, 11 i32.ne $push29=, $pop27, $pop28 br_if 0, $pop29 # 0: down to label2 @@ -66,20 +65,20 @@ f: # @f i32.add $push32=, $pop30, $pop31 i32.const $push33=, -16 i32.and $push34=, $pop32, $pop33 - tee_local $push92=, $2=, $pop34 - i64.load $1=, 0($pop92) + tee_local $push92=, $1=, $pop34 + i64.load $2=, 0($pop92) i32.const $push35=, 8 - i32.or $push36=, $2, $pop35 + i32.or $push36=, $1, $pop35 i32.store $push37=, 12($6), $pop36 - tee_local $push91=, $2=, $pop37 + tee_local $push91=, $1=, $pop37 i32.const $push90=, 8 i32.add $push38=, $pop91, $pop90 i32.store $discard=, 12($6), $pop38 block - i64.load $push39=, 0($2) + i64.load $push39=, 0($1) i64.const $push41=, -1475739525896764129 i64.const $push40=, 4611846459164112977 - i32.call $push42=, __eqtf2@FUNCTION, $1, $pop39, $pop41, $pop40 + i32.call $push42=, __eqtf2@FUNCTION, $2, $pop39, $pop41, $pop40 br_if 0, $pop42 # 0: down to label3 # BB#4: # %if.end10 i32.load $push43=, 12($6) @@ -87,12 +86,12 @@ f: # @f i32.add $push44=, $pop43, $pop96 i32.const $push95=, -4 i32.and $push45=, $pop44, $pop95 - tee_local $push94=, $2=, $pop45 + tee_local $push94=, $1=, $pop45 i32.const $push93=, 4 i32.add $push46=, $pop94, $pop93 i32.store $discard=, 12($6), $pop46 block - i32.load $push47=, 0($2) + i32.load $push47=, 0($1) i32.const $push48=, 12 i32.ne $push49=, $pop47, $pop48 br_if 0, $pop49 # 0: down to label4 @@ -102,12 +101,12 @@ f: # @f i32.add $push51=, $pop50, $pop100 i32.const $push99=, -4 i32.and $push52=, $pop51, $pop99 - tee_local $push98=, $2=, $pop52 + tee_local $push98=, $1=, $pop52 i32.const $push97=, 4 i32.add $push53=, $pop98, $pop97 i32.store $discard=, 12($6), $pop53 block - i32.load $push54=, 0($2) + i32.load $push54=, 0($1) i32.const $push55=, 13 i32.ne $push56=, $pop54, $pop55 br_if 0, $pop56 # 0: down to label5 @@ -117,12 +116,12 @@ f: # @f i32.add $push59=, $pop57, $pop58 i32.const $push60=, -8 i32.and $push61=, $pop59, $pop60 - tee_local $push101=, $2=, $pop61 + tee_local $push101=, $1=, $pop61 i32.const $push62=, 8 i32.add $push63=, $pop101, $pop62 i32.store $discard=, 12($6), $pop63 block - i64.load $push64=, 0($2) + i64.load $push64=, 0($1) i64.const $push65=, 20000000000 i64.ne $push66=, $pop64, $pop65 br_if 0, $pop66 # 0: down to label6 @@ -132,12 +131,12 @@ f: # @f i32.add $push69=, $pop67, $pop68 i32.const $push70=, -4 i32.and $push71=, $pop69, $pop70 - tee_local $push102=, $2=, $pop71 + tee_local $push102=, $1=, $pop71 i32.const $push72=, 4 i32.add $push73=, $pop102, $pop72 i32.store $discard=, 12($6), $pop73 block - i32.load $push74=, 0($2) + i32.load $push74=, 0($1) i32.const $push75=, 14 i32.ne $push76=, $pop74, $pop75 br_if 0, $pop76 # 0: down to label7 @@ -147,21 +146,21 @@ f: # @f i32.add $push79=, $pop77, $pop78 i32.const $push80=, -8 i32.and $push81=, $pop79, $pop80 - tee_local $push103=, $2=, $pop81 + tee_local $push103=, $1=, $pop81 i32.const $push82=, 8 i32.add $push83=, $pop103, $pop82 i32.store $discard=, 12($6), $pop83 block - f64.load $push84=, 0($2) + f64.load $push84=, 0($1) f64.const $push85=, 0x1.5c28f5c28f5c3p1 f64.ne $push86=, $pop84, $pop85 br_if 0, $pop86 # 0: down to label8 # BB#9: # %if.end25 i32.const $5=, 16 - i32.add $6=, $7, $5 + i32.add $6=, $6, $5 i32.const $5=, __stack_pointer i32.store $6=, 0($5), $6 - return $2 + return $1 .LBB0_10: # %if.then24 end_block # label8: call abort@FUNCTION @@ -208,67 +207,55 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 80 - i32.sub $7=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 i32.const $1=, __stack_pointer i32.load $1=, 0($1) - i32.const $2=, 72 - i32.sub $7=, $1, $2 + i32.const $2=, 80 + i32.sub $3=, $1, $2 i32.const $2=, __stack_pointer - i32.store $7=, 0($2), $7 - i32.const $push0=, 10 - i32.store $discard=, 0($7), $pop0 - i32.const $push1=, 64 - i32.add $0=, $7, $pop1 + i32.store $3=, 0($2), $3 + i32.const $push0=, 64 + i32.add $push1=, $3, $pop0 i64.const $push2=, 4613307314293241283 - i64.store $discard=, 0($0), $pop2 + i64.store $discard=, 0($pop1):p2align=4, $pop2 i32.const $push3=, 56 - i32.add $0=, $7, $pop3 - i32.const $push4=, 14 - i32.store $discard=, 0($0), $pop4 - i32.const $push5=, 48 - i32.add $0=, $7, $pop5 - i64.const $push6=, 20000000000 - i64.store $discard=, 0($0), $pop6 - i32.const $push7=, 44 - i32.add $0=, $7, $pop7 - i32.const $push8=, 13 - i32.store $discard=, 0($0), $pop8 - i32.const $push9=, 40 - i32.add $0=, $7, $pop9 - i32.const $push10=, 12 - i32.store $discard=, 0($0), $pop10 - i32.const $push11=, 32 - i32.add $0=, $7, $pop11 - i64.const $push12=, 4611846459164112977 - i64.store $discard=, 0($0), $pop12 - i32.const $push13=, 24 - i32.add $0=, $7, $pop13 - i64.const $push14=, -1475739525896764129 - i64.store $discard=, 0($0), $pop14 - i32.const $push15=, 16 - i32.add $0=, $7, $pop15 - i32.const $push16=, 11 - i32.store $discard=, 0($0), $pop16 - i32.const $push17=, 8 - i32.add $0=, $7, $pop17 - i64.const $push18=, 10000000000 - i64.store $discard=, 0($0), $pop18 - i32.call $discard=, f@FUNCTION, $0 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 72 - i32.add $7=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 - i32.const $push19=, 0 - call exit@FUNCTION, $pop19 + i32.add $push4=, $3, $pop3 + i32.const $push5=, 14 + i32.store $discard=, 0($pop4):p2align=3, $pop5 + i32.const $push6=, 48 + i32.add $push7=, $3, $pop6 + i64.const $push8=, 20000000000 + i64.store $discard=, 0($pop7):p2align=4, $pop8 + i32.const $push9=, 44 + i32.add $push10=, $3, $pop9 + i32.const $push11=, 13 + i32.store $discard=, 0($pop10), $pop11 + i32.const $push12=, 40 + i32.add $push13=, $3, $pop12 + i32.const $push14=, 12 + i32.store $discard=, 0($pop13):p2align=3, $pop14 + i32.const $push15=, 32 + i32.add $push16=, $3, $pop15 + i64.const $push17=, 4611846459164112977 + i64.store $discard=, 0($pop16):p2align=4, $pop17 + i32.const $push18=, 24 + i32.add $push19=, $3, $pop18 + i64.const $push20=, -1475739525896764129 + i64.store $discard=, 0($pop19), $pop20 + i32.const $push21=, 16 + i32.add $push22=, $3, $pop21 + i32.const $push23=, 11 + i32.store $discard=, 0($pop22):p2align=4, $pop23 + i32.const $push24=, 8 + i32.or $push25=, $3, $pop24 + i64.const $push26=, 10000000000 + i64.store $discard=, 0($pop25), $pop26 + i32.const $push27=, 10 + i32.store $discard=, 0($3):p2align=4, $pop27 + i32.call $discard=, f@FUNCTION, $0, $3 + i32.const $push28=, 0 + call exit@FUNCTION, $pop28 unreachable .endfunc .Lfunc_end1: diff --git a/test/torture-s/va-arg-7.c.s b/test/torture-s/va-arg-7.c.s index 0a7822ab7..b5c8cff87 100644 --- a/test/torture-s/va-arg-7.c.s +++ b/test/torture-s/va-arg-7.c.s @@ -5,17 +5,16 @@ .globl debug .type debug,@function debug: # @debug - .param i32, i32, i32, i32, i32, i32, i32, f64, f64, f64, f64, f64, f64, f64, f64, f64 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, f64, f64, f64, f64, f64, f64, f64, f64, f64, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $17=, __stack_pointer i32.load $17=, 0($17) i32.const $18=, 16 i32.sub $20=, $17, $18 - copy_local $21=, $20 i32.const $18=, __stack_pointer i32.store $20=, 0($18), $20 - i32.store $push0=, 12($20), $21 + i32.store $push0=, 12($20), $16 i32.const $push27=, 3 i32.add $push1=, $pop0, $pop27 i32.const $push26=, -4 @@ -61,7 +60,7 @@ debug: # @debug br_if 0, $pop23 # 0: down to label2 # BB#3: # %if.end7 i32.const $19=, 16 - i32.add $20=, $21, $19 + i32.add $20=, $20, $19 i32.const $19=, __stack_pointer i32.store $20=, 0($19), $20 return @@ -87,35 +86,23 @@ debug: # @debug .type main,@function main: # @main .result i32 - .local i32, f64, i32, i32, i32, i32, i32, i32, i32 + .local i32, f64, i32, i32, i32 # BB#0: # %entry - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 16 - i32.sub $8=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 i32.const $2=, __stack_pointer i32.load $2=, 0($2) - i32.const $3=, 12 - i32.sub $8=, $2, $3 + i32.const $3=, 16 + i32.sub $4=, $2, $3 i32.const $3=, __stack_pointer - i32.store $8=, 0($3), $8 - i64.const $push0=, 38654705672 - i64.store $discard=, 0($8):p2align=2, $pop0 - i32.const $push1=, 8 - i32.add $0=, $8, $pop1 + i32.store $4=, 0($3), $4 + i32.const $push0=, 8 + i32.or $push1=, $4, $pop0 i32.const $push2=, 10 - i32.store $discard=, 0($0), $pop2 - call debug@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $1, $1, $1, $1, $1, $1, $1, $1, $1 - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 12 - i32.add $8=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $8=, 0($5), $8 - i32.const $push3=, 0 - call exit@FUNCTION, $pop3 + i32.store $discard=, 0($pop1):p2align=3, $pop2 + i64.const $push3=, 38654705672 + i64.store $discard=, 0($4):p2align=4, $pop3 + call debug@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $1, $1, $1, $1, $1, $1, $1, $1, $1, $4 + i32.const $push4=, 0 + call exit@FUNCTION, $pop4 unreachable .endfunc .Lfunc_end1: diff --git a/test/torture-s/va-arg-8.c.s b/test/torture-s/va-arg-8.c.s index 1d4868bb9..0c1d39afb 100644 --- a/test/torture-s/va-arg-8.c.s +++ b/test/torture-s/va-arg-8.c.s @@ -5,17 +5,16 @@ .globl debug .type debug,@function debug: # @debug - .param i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $10=, __stack_pointer i32.load $10=, 0($10) i32.const $11=, 16 i32.sub $13=, $10, $11 - copy_local $14=, $13 i32.const $11=, __stack_pointer i32.store $13=, 0($11), $13 - i32.store $push0=, 12($13), $14 + i32.store $push0=, 12($13), $9 i32.const $push1=, 3 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -4 @@ -46,7 +45,7 @@ debug: # @debug br_if 0, $pop19 # 0: down to label1 # BB#2: # %if.end4 i32.const $12=, 16 - i32.add $13=, $14, $12 + i32.add $13=, $13, $12 i32.const $12=, __stack_pointer i32.store $13=, 0($12), $13 return @@ -68,35 +67,23 @@ debug: # @debug .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 16 - i32.sub $7=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 i32.const $1=, __stack_pointer i32.load $1=, 0($1) i32.const $2=, 16 - i32.sub $7=, $1, $2 + i32.sub $3=, $1, $2 i32.const $2=, __stack_pointer - i32.store $7=, 0($2), $7 - i32.const $push0=, 10 - i32.store $discard=, 0($7), $pop0 - i32.const $push1=, 8 - i32.add $0=, $7, $pop1 + i32.store $3=, 0($2), $3 + i32.const $push0=, 8 + i32.or $push1=, $3, $pop0 i64.const $push2=, 20014547621496 - i64.store $discard=, 0($0), $pop2 - call debug@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.add $7=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 - i32.const $push3=, 0 - call exit@FUNCTION, $pop3 + i64.store $discard=, 0($pop1), $pop2 + i32.const $push3=, 10 + i32.store $discard=, 0($3):p2align=4, $pop3 + call debug@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $3 + i32.const $push4=, 0 + call exit@FUNCTION, $pop4 unreachable .endfunc .Lfunc_end1: diff --git a/test/torture-s/va-arg-9.c.s b/test/torture-s/va-arg-9.c.s index 291f04ec9..70d2127da 100644 --- a/test/torture-s/va-arg-9.c.s +++ b/test/torture-s/va-arg-9.c.s @@ -105,17 +105,16 @@ fap: # @fap .globl f0 .type f0,@function f0: # @f0 - .param i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $3=, __stack_pointer i32.load $3=, 0($3) i32.const $4=, 16 i32.sub $6=, $3, $4 - copy_local $7=, $6 i32.const $4=, __stack_pointer i32.store $6=, 0($4), $6 - i32.store $push2=, 8($6), $7 + i32.store $push2=, 8($6), $1 i32.store $discard=, 12($6), $pop2 block i32.call $push3=, strlen@FUNCTION, $0 @@ -166,7 +165,7 @@ f0: # @f0 .LBB2_6: # %fap.exit end_block # label7: i32.const $5=, 16 - i32.add $6=, $7, $5 + i32.add $6=, $6, $5 i32.const $5=, __stack_pointer i32.store $6=, 0($5), $6 return @@ -183,17 +182,16 @@ f0: # @f0 .globl f1 .type f1,@function f1: # @f1 - .param i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $4=, __stack_pointer i32.load $4=, 0($4) i32.const $5=, 16 i32.sub $7=, $4, $5 - copy_local $8=, $7 i32.const $5=, __stack_pointer i32.store $7=, 0($5), $7 - i32.store $push2=, 8($7), $8 + i32.store $push2=, 8($7), $2 i32.store $discard=, 12($7), $pop2 block i32.call $push3=, strlen@FUNCTION, $1 @@ -244,7 +242,7 @@ f1: # @f1 .LBB3_6: # %fap.exit end_block # label12: i32.const $6=, 16 - i32.add $7=, $8, $6 + i32.add $7=, $7, $6 i32.const $6=, __stack_pointer i32.store $7=, 0($6), $7 return @@ -261,17 +259,16 @@ f1: # @f1 .globl f2 .type f2,@function f2: # @f2 - .param i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $5=, __stack_pointer i32.load $5=, 0($5) i32.const $6=, 16 i32.sub $8=, $5, $6 - copy_local $9=, $8 i32.const $6=, __stack_pointer i32.store $8=, 0($6), $8 - i32.store $push2=, 8($8), $9 + i32.store $push2=, 8($8), $3 i32.store $discard=, 12($8), $pop2 block i32.call $push3=, strlen@FUNCTION, $2 @@ -322,7 +319,7 @@ f2: # @f2 .LBB4_6: # %fap.exit end_block # label17: i32.const $7=, 16 - i32.add $8=, $9, $7 + i32.add $8=, $8, $7 i32.const $7=, __stack_pointer i32.store $8=, 0($7), $8 return @@ -339,17 +336,16 @@ f2: # @f2 .globl f3 .type f3,@function f3: # @f3 - .param i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $6=, __stack_pointer i32.load $6=, 0($6) i32.const $7=, 16 i32.sub $9=, $6, $7 - copy_local $10=, $9 i32.const $7=, __stack_pointer i32.store $9=, 0($7), $9 - i32.store $push2=, 8($9), $10 + i32.store $push2=, 8($9), $4 i32.store $discard=, 12($9), $pop2 block i32.call $push3=, strlen@FUNCTION, $3 @@ -400,7 +396,7 @@ f3: # @f3 .LBB5_6: # %fap.exit end_block # label22: i32.const $8=, 16 - i32.add $9=, $10, $8 + i32.add $9=, $9, $8 i32.const $8=, __stack_pointer i32.store $9=, 0($8), $9 return @@ -417,17 +413,16 @@ f3: # @f3 .globl f4 .type f4,@function f4: # @f4 - .param i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $7=, __stack_pointer i32.load $7=, 0($7) i32.const $8=, 16 i32.sub $10=, $7, $8 - copy_local $11=, $10 i32.const $8=, __stack_pointer i32.store $10=, 0($8), $10 - i32.store $push2=, 8($10), $11 + i32.store $push2=, 8($10), $5 i32.store $discard=, 12($10), $pop2 block i32.call $push3=, strlen@FUNCTION, $4 @@ -478,7 +473,7 @@ f4: # @f4 .LBB6_6: # %fap.exit end_block # label27: i32.const $9=, 16 - i32.add $10=, $11, $9 + i32.add $10=, $10, $9 i32.const $9=, __stack_pointer i32.store $10=, 0($9), $10 return @@ -495,17 +490,16 @@ f4: # @f4 .globl f5 .type f5,@function f5: # @f5 - .param i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $8=, __stack_pointer i32.load $8=, 0($8) i32.const $9=, 16 i32.sub $11=, $8, $9 - copy_local $12=, $11 i32.const $9=, __stack_pointer i32.store $11=, 0($9), $11 - i32.store $push2=, 8($11), $12 + i32.store $push2=, 8($11), $6 i32.store $discard=, 12($11), $pop2 block i32.call $push3=, strlen@FUNCTION, $5 @@ -556,7 +550,7 @@ f5: # @f5 .LBB7_6: # %fap.exit end_block # label32: i32.const $10=, 16 - i32.add $11=, $12, $10 + i32.add $11=, $11, $10 i32.const $10=, __stack_pointer i32.store $11=, 0($10), $11 return @@ -573,17 +567,16 @@ f5: # @f5 .globl f6 .type f6,@function f6: # @f6 - .param i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $9=, __stack_pointer i32.load $9=, 0($9) i32.const $10=, 16 i32.sub $12=, $9, $10 - copy_local $13=, $12 i32.const $10=, __stack_pointer i32.store $12=, 0($10), $12 - i32.store $push2=, 8($12), $13 + i32.store $push2=, 8($12), $7 i32.store $discard=, 12($12), $pop2 block i32.call $push3=, strlen@FUNCTION, $6 @@ -634,7 +627,7 @@ f6: # @f6 .LBB8_6: # %fap.exit end_block # label37: i32.const $11=, 16 - i32.add $12=, $13, $11 + i32.add $12=, $12, $11 i32.const $11=, __stack_pointer i32.store $12=, 0($11), $12 return @@ -651,17 +644,16 @@ f6: # @f6 .globl f7 .type f7,@function f7: # @f7 - .param i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $10=, __stack_pointer i32.load $10=, 0($10) i32.const $11=, 16 i32.sub $13=, $10, $11 - copy_local $14=, $13 i32.const $11=, __stack_pointer i32.store $13=, 0($11), $13 - i32.store $push2=, 8($13), $14 + i32.store $push2=, 8($13), $8 i32.store $discard=, 12($13), $pop2 block i32.call $push3=, strlen@FUNCTION, $7 @@ -712,7 +704,7 @@ f7: # @f7 .LBB9_6: # %fap.exit end_block # label42: i32.const $12=, 16 - i32.add $13=, $14, $12 + i32.add $13=, $13, $12 i32.const $12=, __stack_pointer i32.store $13=, 0($12), $13 return @@ -729,17 +721,16 @@ f7: # @f7 .globl f8 .type f8,@function f8: # @f8 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $11=, __stack_pointer i32.load $11=, 0($11) i32.const $12=, 16 i32.sub $14=, $11, $12 - copy_local $15=, $14 i32.const $12=, __stack_pointer i32.store $14=, 0($12), $14 - i32.store $push2=, 8($14), $15 + i32.store $push2=, 8($14), $9 i32.store $discard=, 12($14), $pop2 block i32.call $push3=, strlen@FUNCTION, $8 @@ -790,7 +781,7 @@ f8: # @f8 .LBB10_6: # %fap.exit end_block # label47: i32.const $13=, 16 - i32.add $14=, $15, $13 + i32.add $14=, $14, $13 i32.const $13=, __stack_pointer i32.store $14=, 0($13), $14 return @@ -807,17 +798,16 @@ f8: # @f8 .globl f9 .type f9,@function f9: # @f9 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $12=, __stack_pointer i32.load $12=, 0($12) i32.const $13=, 16 i32.sub $15=, $12, $13 - copy_local $16=, $15 i32.const $13=, __stack_pointer i32.store $15=, 0($13), $15 - i32.store $push2=, 8($15), $16 + i32.store $push2=, 8($15), $10 i32.store $discard=, 12($15), $pop2 block i32.call $push3=, strlen@FUNCTION, $9 @@ -868,7 +858,7 @@ f9: # @f9 .LBB11_6: # %fap.exit end_block # label52: i32.const $14=, 16 - i32.add $15=, $16, $14 + i32.add $15=, $15, $14 i32.const $14=, __stack_pointer i32.store $15=, 0($14), $15 return @@ -885,17 +875,16 @@ f9: # @f9 .globl f10 .type f10,@function f10: # @f10 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $13=, __stack_pointer i32.load $13=, 0($13) i32.const $14=, 16 i32.sub $16=, $13, $14 - copy_local $17=, $16 i32.const $14=, __stack_pointer i32.store $16=, 0($14), $16 - i32.store $push2=, 8($16), $17 + i32.store $push2=, 8($16), $11 i32.store $discard=, 12($16), $pop2 block i32.call $push3=, strlen@FUNCTION, $10 @@ -946,7 +935,7 @@ f10: # @f10 .LBB12_6: # %fap.exit end_block # label57: i32.const $15=, 16 - i32.add $16=, $17, $15 + i32.add $16=, $16, $15 i32.const $15=, __stack_pointer i32.store $16=, 0($15), $16 return @@ -963,17 +952,16 @@ f10: # @f10 .globl f11 .type f11,@function f11: # @f11 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $14=, __stack_pointer i32.load $14=, 0($14) i32.const $15=, 16 i32.sub $17=, $14, $15 - copy_local $18=, $17 i32.const $15=, __stack_pointer i32.store $17=, 0($15), $17 - i32.store $push2=, 8($17), $18 + i32.store $push2=, 8($17), $12 i32.store $discard=, 12($17), $pop2 block i32.call $push3=, strlen@FUNCTION, $11 @@ -1024,7 +1012,7 @@ f11: # @f11 .LBB13_6: # %fap.exit end_block # label62: i32.const $16=, 16 - i32.add $17=, $18, $16 + i32.add $17=, $17, $16 i32.const $16=, __stack_pointer i32.store $17=, 0($16), $17 return @@ -1041,17 +1029,16 @@ f11: # @f11 .globl f12 .type f12,@function f12: # @f12 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $15=, __stack_pointer i32.load $15=, 0($15) i32.const $16=, 16 i32.sub $18=, $15, $16 - copy_local $19=, $18 i32.const $16=, __stack_pointer i32.store $18=, 0($16), $18 - i32.store $push2=, 8($18), $19 + i32.store $push2=, 8($18), $13 i32.store $discard=, 12($18), $pop2 block i32.call $push3=, strlen@FUNCTION, $12 @@ -1102,7 +1089,7 @@ f12: # @f12 .LBB14_6: # %fap.exit end_block # label67: i32.const $17=, 16 - i32.add $18=, $19, $17 + i32.add $18=, $18, $17 i32.const $17=, __stack_pointer i32.store $18=, 0($17), $18 return @@ -1119,17 +1106,16 @@ f12: # @f12 .globl f13 .type f13,@function f13: # @f13 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $16=, __stack_pointer i32.load $16=, 0($16) i32.const $17=, 16 i32.sub $19=, $16, $17 - copy_local $20=, $19 i32.const $17=, __stack_pointer i32.store $19=, 0($17), $19 - i32.store $push2=, 8($19), $20 + i32.store $push2=, 8($19), $14 i32.store $discard=, 12($19), $pop2 block i32.call $push3=, strlen@FUNCTION, $13 @@ -1180,7 +1166,7 @@ f13: # @f13 .LBB15_6: # %fap.exit end_block # label72: i32.const $18=, 16 - i32.add $19=, $20, $18 + i32.add $19=, $19, $18 i32.const $18=, __stack_pointer i32.store $19=, 0($18), $19 return @@ -1197,17 +1183,16 @@ f13: # @f13 .globl f14 .type f14,@function f14: # @f14 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $17=, __stack_pointer i32.load $17=, 0($17) i32.const $18=, 16 i32.sub $20=, $17, $18 - copy_local $21=, $20 i32.const $18=, __stack_pointer i32.store $20=, 0($18), $20 - i32.store $push2=, 8($20), $21 + i32.store $push2=, 8($20), $15 i32.store $discard=, 12($20), $pop2 block i32.call $push3=, strlen@FUNCTION, $14 @@ -1258,7 +1243,7 @@ f14: # @f14 .LBB16_6: # %fap.exit end_block # label77: i32.const $19=, 16 - i32.add $20=, $21, $19 + i32.add $20=, $20, $19 i32.const $19=, __stack_pointer i32.store $20=, 0($19), $20 return @@ -1275,17 +1260,16 @@ f14: # @f14 .globl f15 .type f15,@function f15: # @f15 - .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $18=, __stack_pointer i32.load $18=, 0($18) i32.const $19=, 16 i32.sub $21=, $18, $19 - copy_local $22=, $21 i32.const $19=, __stack_pointer i32.store $21=, 0($19), $21 - i32.store $push2=, 8($21), $22 + i32.store $push2=, 8($21), $16 i32.store $discard=, 12($21), $pop2 block i32.call $push3=, strlen@FUNCTION, $15 @@ -1336,7 +1320,7 @@ f15: # @f15 .LBB17_6: # %fap.exit end_block # label82: i32.const $20=, 16 - i32.add $21=, $22, $20 + i32.add $21=, $21, $20 i32.const $20=, __stack_pointer i32.store $21=, 0($20), $21 return @@ -1354,440 +1338,390 @@ f15: # @f15 .type main,@function main: # @main .result i32 - .local i32, i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $79=, __stack_pointer - i32.load $79=, 0($79) - i32.const $80=, 64 - i32.sub $81=, $79, $80 - i32.const $80=, __stack_pointer - i32.store $81=, 0($80), $81 + i32.const $14=, __stack_pointer + i32.load $14=, 0($14) + i32.const $15=, 640 + i32.sub $87=, $14, $15 i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 64 - i32.sub $81=, $15, $16 - i32.const $16=, __stack_pointer - i32.store $81=, 0($16), $81 - i64.const $push0=, 4294967296 - i64.store $discard=, 0($81):p2align=2, $pop0 - i32.const $push1=, 56 - i32.add $0=, $81, $pop1 + i32.store $87=, 0($15), $87 + i32.const $push0=, 56 + i32.const $16=, 576 + i32.add $16=, $87, $16 + i32.add $push1=, $16, $pop0 i64.const $push2=, 64424509454 - i64.store $1=, 0($0):p2align=2, $pop2 + i64.store $0=, 0($pop1), $pop2 i32.const $push3=, 48 - i32.add $0=, $81, $pop3 - i64.const $push4=, 55834574860 - i64.store $2=, 0($0):p2align=2, $pop4 - i32.const $push5=, 40 - i32.add $0=, $81, $pop5 - i64.const $push6=, 47244640266 - i64.store $3=, 0($0):p2align=2, $pop6 - i32.const $push7=, 32 - i32.add $0=, $81, $pop7 - i64.const $push8=, 38654705672 - i64.store $4=, 0($0):p2align=2, $pop8 - i32.const $push9=, 24 - i32.add $0=, $81, $pop9 - i64.const $push10=, 30064771078 - i64.store $5=, 0($0):p2align=2, $pop10 - i32.const $push11=, 16 - i32.add $0=, $81, $pop11 - i64.const $push12=, 21474836484 - i64.store $6=, 0($0):p2align=2, $pop12 - i32.const $push13=, 8 - i32.add $0=, $81, $pop13 - i64.const $push14=, 12884901890 - i64.store $7=, 0($0):p2align=2, $pop14 - i32.const $push15=, .L.str - call f0@FUNCTION, $pop15 - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 64 - i32.add $81=, $17, $18 - i32.const $18=, __stack_pointer - i32.store $81=, 0($18), $81 - i32.const $19=, __stack_pointer - i32.load $19=, 0($19) - i32.const $20=, 60 - i32.sub $81=, $19, $20 - i32.const $20=, __stack_pointer - i32.store $81=, 0($20), $81 - i64.const $push16=, 8589934593 - i64.store $discard=, 0($81):p2align=2, $pop16 - i32.const $push88=, 56 - i32.add $0=, $81, $pop88 - i32.const $push17=, 15 - i32.store $0=, 0($0), $pop17 - i32.const $push87=, 48 - i32.add $8=, $81, $pop87 - i64.const $push18=, 60129542157 - i64.store $9=, 0($8):p2align=2, $pop18 - i32.const $push86=, 40 - i32.add $8=, $81, $pop86 - i64.const $push19=, 51539607563 - i64.store $10=, 0($8):p2align=2, $pop19 - i32.const $push85=, 32 - i32.add $8=, $81, $pop85 - i64.const $push20=, 42949672969 - i64.store $11=, 0($8):p2align=2, $pop20 - i32.const $push84=, 24 - i32.add $8=, $81, $pop84 - i64.const $push21=, 34359738375 - i64.store $12=, 0($8):p2align=2, $pop21 - i32.const $push83=, 16 - i32.add $8=, $81, $pop83 - i64.const $push22=, 25769803781 - i64.store $13=, 0($8):p2align=2, $pop22 - i32.const $push82=, 8 - i32.add $8=, $81, $pop82 - i64.const $push23=, 17179869187 - i64.store $14=, 0($8):p2align=2, $pop23 - i32.const $push24=, .L.str+1 - call f1@FUNCTION, $0, $pop24 - i32.const $21=, __stack_pointer - i32.load $21=, 0($21) - i32.const $22=, 60 - i32.add $81=, $21, $22 - i32.const $22=, __stack_pointer - i32.store $81=, 0($22), $81 - i32.const $23=, __stack_pointer - i32.load $23=, 0($23) - i32.const $24=, 56 - i32.sub $81=, $23, $24 - i32.const $24=, __stack_pointer - i32.store $81=, 0($24), $81 - i64.store $discard=, 0($81):p2align=2, $7 - i32.const $push81=, 48 - i32.add $8=, $81, $pop81 - i64.store $discard=, 0($8):p2align=2, $1 - i32.const $push80=, 40 - i32.add $8=, $81, $pop80 - i64.store $discard=, 0($8):p2align=2, $2 - i32.const $push79=, 32 - i32.add $8=, $81, $pop79 - i64.store $discard=, 0($8):p2align=2, $3 - i32.const $push78=, 24 - i32.add $8=, $81, $pop78 - i64.store $discard=, 0($8):p2align=2, $4 - i32.const $push77=, 16 - i32.add $8=, $81, $pop77 - i64.store $discard=, 0($8):p2align=2, $5 - i32.const $push76=, 8 - i32.add $8=, $81, $pop76 - i64.store $discard=, 0($8):p2align=2, $6 - i32.const $push25=, .L.str+2 - call f2@FUNCTION, $0, $0, $pop25 - i32.const $25=, __stack_pointer - i32.load $25=, 0($25) - i32.const $26=, 56 - i32.add $81=, $25, $26 - i32.const $26=, __stack_pointer - i32.store $81=, 0($26), $81 - i32.const $27=, __stack_pointer - i32.load $27=, 0($27) - i32.const $28=, 52 - i32.sub $81=, $27, $28 - i32.const $28=, __stack_pointer - i32.store $81=, 0($28), $81 - i64.store $discard=, 0($81):p2align=2, $14 - i32.const $push75=, 48 - i32.add $8=, $81, $pop75 - i32.store $discard=, 0($8), $0 - i32.const $push74=, 40 - i32.add $8=, $81, $pop74 - i64.store $7=, 0($8):p2align=2, $9 - i32.const $push73=, 32 - i32.add $8=, $81, $pop73 - i64.store $9=, 0($8):p2align=2, $10 - i32.const $push72=, 24 - i32.add $8=, $81, $pop72 - i64.store $10=, 0($8):p2align=2, $11 - i32.const $push71=, 16 - i32.add $8=, $81, $pop71 - i64.store $11=, 0($8):p2align=2, $12 - i32.const $push70=, 8 - i32.add $8=, $81, $pop70 - i64.store $12=, 0($8):p2align=2, $13 - i32.const $push26=, .L.str+3 - call f3@FUNCTION, $0, $0, $0, $pop26 - i32.const $29=, __stack_pointer - i32.load $29=, 0($29) - i32.const $30=, 52 - i32.add $81=, $29, $30 - i32.const $30=, __stack_pointer - i32.store $81=, 0($30), $81 - i32.const $31=, __stack_pointer - i32.load $31=, 0($31) - i32.const $32=, 48 - i32.sub $81=, $31, $32 - i32.const $32=, __stack_pointer - i32.store $81=, 0($32), $81 - i64.store $discard=, 0($81):p2align=2, $6 - i32.const $push69=, 40 - i32.add $8=, $81, $pop69 - i64.store $discard=, 0($8):p2align=2, $1 - i32.const $push68=, 32 - i32.add $8=, $81, $pop68 - i64.store $discard=, 0($8):p2align=2, $2 - i32.const $push67=, 24 - i32.add $8=, $81, $pop67 - i64.store $discard=, 0($8):p2align=2, $3 - i32.const $push66=, 16 - i32.add $8=, $81, $pop66 - i64.store $discard=, 0($8):p2align=2, $4 - i32.const $push65=, 8 - i32.add $8=, $81, $pop65 - i64.store $discard=, 0($8):p2align=2, $5 - i32.const $push27=, .L.str+4 - call f4@FUNCTION, $0, $0, $0, $0, $pop27 - i32.const $33=, __stack_pointer - i32.load $33=, 0($33) - i32.const $34=, 48 - i32.add $81=, $33, $34 - i32.const $34=, __stack_pointer - i32.store $81=, 0($34), $81 - i32.const $35=, __stack_pointer - i32.load $35=, 0($35) - i32.const $36=, 44 - i32.sub $81=, $35, $36 - i32.const $36=, __stack_pointer - i32.store $81=, 0($36), $81 - i64.store $discard=, 0($81):p2align=2, $12 - i32.const $push64=, 40 - i32.add $8=, $81, $pop64 - i32.store $discard=, 0($8), $0 - i32.const $push63=, 32 - i32.add $8=, $81, $pop63 - i64.store $6=, 0($8):p2align=2, $7 - i32.const $push62=, 24 - i32.add $8=, $81, $pop62 - i64.store $7=, 0($8):p2align=2, $9 - i32.const $push61=, 16 - i32.add $8=, $81, $pop61 - i64.store $9=, 0($8):p2align=2, $10 - i32.const $push60=, 8 - i32.add $8=, $81, $pop60 - i64.store $10=, 0($8):p2align=2, $11 - i32.const $push28=, .L.str+5 - call f5@FUNCTION, $0, $0, $0, $0, $0, $pop28 - i32.const $37=, __stack_pointer - i32.load $37=, 0($37) - i32.const $38=, 44 - i32.add $81=, $37, $38 - i32.const $38=, __stack_pointer - i32.store $81=, 0($38), $81 - i32.const $39=, __stack_pointer - i32.load $39=, 0($39) - i32.const $40=, 40 - i32.sub $81=, $39, $40 - i32.const $40=, __stack_pointer - i32.store $81=, 0($40), $81 - i64.store $discard=, 0($81):p2align=2, $5 - i32.const $push59=, 32 - i32.add $8=, $81, $pop59 - i64.store $discard=, 0($8):p2align=2, $1 - i32.const $push58=, 24 - i32.add $8=, $81, $pop58 - i64.store $discard=, 0($8):p2align=2, $2 - i32.const $push57=, 16 - i32.add $8=, $81, $pop57 - i64.store $discard=, 0($8):p2align=2, $3 - i32.const $push56=, 8 - i32.add $8=, $81, $pop56 - i64.store $discard=, 0($8):p2align=2, $4 - i32.const $push29=, .L.str+6 - call f6@FUNCTION, $0, $0, $0, $0, $0, $0, $pop29 - i32.const $41=, __stack_pointer - i32.load $41=, 0($41) - i32.const $42=, 40 - i32.add $81=, $41, $42 - i32.const $42=, __stack_pointer - i32.store $81=, 0($42), $81 - i32.const $43=, __stack_pointer - i32.load $43=, 0($43) - i32.const $44=, 36 - i32.sub $81=, $43, $44 - i32.const $44=, __stack_pointer - i32.store $81=, 0($44), $81 - i64.store $discard=, 0($81):p2align=2, $10 - i32.const $push55=, 32 - i32.add $8=, $81, $pop55 - i32.store $discard=, 0($8), $0 - i32.const $push54=, 24 - i32.add $8=, $81, $pop54 - i64.store $5=, 0($8):p2align=2, $6 - i32.const $push53=, 16 - i32.add $8=, $81, $pop53 - i64.store $6=, 0($8):p2align=2, $7 - i32.const $push52=, 8 - i32.add $8=, $81, $pop52 - i64.store $7=, 0($8):p2align=2, $9 - i32.const $push30=, .L.str+7 - call f7@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $pop30 - i32.const $45=, __stack_pointer - i32.load $45=, 0($45) - i32.const $46=, 36 - i32.add $81=, $45, $46 - i32.const $46=, __stack_pointer - i32.store $81=, 0($46), $81 - i32.const $47=, __stack_pointer - i32.load $47=, 0($47) - i32.const $48=, 32 - i32.sub $81=, $47, $48 - i32.const $48=, __stack_pointer - i32.store $81=, 0($48), $81 - i64.store $discard=, 0($81):p2align=2, $4 - i32.const $push51=, 24 - i32.add $8=, $81, $pop51 - i64.store $discard=, 0($8):p2align=2, $1 - i32.const $push50=, 16 - i32.add $8=, $81, $pop50 - i64.store $discard=, 0($8):p2align=2, $2 - i32.const $push49=, 8 - i32.add $8=, $81, $pop49 - i64.store $discard=, 0($8):p2align=2, $3 - i32.const $push31=, .L.str+8 - call f8@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $pop31 - i32.const $49=, __stack_pointer - i32.load $49=, 0($49) - i32.const $50=, 32 - i32.add $81=, $49, $50 - i32.const $50=, __stack_pointer - i32.store $81=, 0($50), $81 - i32.const $51=, __stack_pointer - i32.load $51=, 0($51) - i32.const $52=, 28 - i32.sub $81=, $51, $52 - i32.const $52=, __stack_pointer - i32.store $81=, 0($52), $81 - i64.store $discard=, 0($81):p2align=2, $7 - i32.const $push48=, 24 - i32.add $8=, $81, $pop48 - i32.store $discard=, 0($8), $0 - i32.const $push47=, 16 - i32.add $8=, $81, $pop47 - i64.store $4=, 0($8):p2align=2, $5 - i32.const $push46=, 8 - i32.add $8=, $81, $pop46 - i64.store $5=, 0($8):p2align=2, $6 - i32.const $push32=, .L.str+9 - call f9@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop32 - i32.const $53=, __stack_pointer - i32.load $53=, 0($53) - i32.const $54=, 28 - i32.add $81=, $53, $54 - i32.const $54=, __stack_pointer - i32.store $81=, 0($54), $81 - i32.const $55=, __stack_pointer - i32.load $55=, 0($55) - i32.const $56=, 24 - i32.sub $81=, $55, $56 - i32.const $56=, __stack_pointer - i32.store $81=, 0($56), $81 - i64.store $discard=, 0($81):p2align=2, $3 - i32.const $push45=, 16 - i32.add $8=, $81, $pop45 - i64.store $discard=, 0($8):p2align=2, $1 - i32.const $push44=, 8 - i32.add $8=, $81, $pop44 - i64.store $discard=, 0($8):p2align=2, $2 - i32.const $push33=, .L.str+10 - call f10@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop33 - i32.const $57=, __stack_pointer - i32.load $57=, 0($57) - i32.const $58=, 24 - i32.add $81=, $57, $58 - i32.const $58=, __stack_pointer - i32.store $81=, 0($58), $81 - i32.const $59=, __stack_pointer - i32.load $59=, 0($59) - i32.const $60=, 20 - i32.sub $81=, $59, $60 - i32.const $60=, __stack_pointer - i32.store $81=, 0($60), $81 - i64.store $discard=, 0($81):p2align=2, $5 - i32.const $push43=, 16 - i32.add $8=, $81, $pop43 - i32.store $discard=, 0($8), $0 - i32.const $push42=, 8 - i32.add $8=, $81, $pop42 - i64.store $3=, 0($8):p2align=2, $4 - i32.const $push34=, .L.str+11 - call f11@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop34 - i32.const $61=, __stack_pointer - i32.load $61=, 0($61) - i32.const $62=, 20 - i32.add $81=, $61, $62 - i32.const $62=, __stack_pointer - i32.store $81=, 0($62), $81 - i32.const $63=, __stack_pointer - i32.load $63=, 0($63) - i32.const $64=, 16 - i32.sub $81=, $63, $64 - i32.const $64=, __stack_pointer - i32.store $81=, 0($64), $81 - i64.store $discard=, 0($81):p2align=2, $2 - i32.const $push41=, 8 - i32.add $8=, $81, $pop41 - i64.store $discard=, 0($8):p2align=2, $1 - i32.const $push35=, .L.str+12 - call f12@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop35 - i32.const $65=, __stack_pointer - i32.load $65=, 0($65) - i32.const $66=, 16 - i32.add $81=, $65, $66 - i32.const $66=, __stack_pointer - i32.store $81=, 0($66), $81 - i32.const $67=, __stack_pointer - i32.load $67=, 0($67) - i32.const $68=, 12 - i32.sub $81=, $67, $68 - i32.const $68=, __stack_pointer - i32.store $81=, 0($68), $81 - i64.store $discard=, 0($81):p2align=2, $3 - i32.const $push40=, 8 - i32.add $8=, $81, $pop40 - i32.store $discard=, 0($8), $0 - i32.const $push36=, .L.str+13 - call f13@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop36 - i32.const $69=, __stack_pointer - i32.load $69=, 0($69) - i32.const $70=, 12 - i32.add $81=, $69, $70 - i32.const $70=, __stack_pointer - i32.store $81=, 0($70), $81 - i32.const $71=, __stack_pointer - i32.load $71=, 0($71) - i32.const $72=, 8 - i32.sub $81=, $71, $72 - i32.const $72=, __stack_pointer - i32.store $81=, 0($72), $81 - i64.store $discard=, 0($81):p2align=2, $1 - i32.const $push37=, .L.str+14 - call f14@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop37 - i32.const $73=, __stack_pointer - i32.load $73=, 0($73) - i32.const $74=, 8 - i32.add $81=, $73, $74 - i32.const $74=, __stack_pointer - i32.store $81=, 0($74), $81 - i32.const $75=, __stack_pointer - i32.load $75=, 0($75) - i32.const $76=, 4 - i32.sub $81=, $75, $76 - i32.const $76=, __stack_pointer - i32.store $81=, 0($76), $81 - i32.store $discard=, 0($81), $0 - i32.const $push38=, .L.str+15 - call f15@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop38 - i32.const $77=, __stack_pointer - i32.load $77=, 0($77) - i32.const $78=, 4 - i32.add $81=, $77, $78 - i32.const $78=, __stack_pointer - i32.store $81=, 0($78), $81 - i32.const $push39=, 0 - call exit@FUNCTION, $pop39 + i32.const $17=, 576 + i32.add $17=, $87, $17 + i32.add $push4=, $17, $pop3 + i64.const $push5=, 55834574860 + i64.store $1=, 0($pop4):p2align=4, $pop5 + i32.const $push6=, 40 + i32.const $18=, 576 + i32.add $18=, $87, $18 + i32.add $push7=, $18, $pop6 + i64.const $push8=, 47244640266 + i64.store $2=, 0($pop7), $pop8 + i32.const $push9=, 32 + i32.const $19=, 576 + i32.add $19=, $87, $19 + i32.add $push10=, $19, $pop9 + i64.const $push11=, 38654705672 + i64.store $3=, 0($pop10):p2align=4, $pop11 + i32.const $push12=, 24 + i32.const $20=, 576 + i32.add $20=, $87, $20 + i32.add $push13=, $20, $pop12 + i64.const $push14=, 30064771078 + i64.store $4=, 0($pop13), $pop14 + i32.const $push15=, 16 + i32.const $21=, 576 + i32.add $21=, $87, $21 + i32.add $push16=, $21, $pop15 + i64.const $push17=, 21474836484 + i64.store $5=, 0($pop16):p2align=4, $pop17 + i32.const $push18=, 8 + i32.const $22=, 576 + i32.add $22=, $87, $22 + i32.or $push19=, $22, $pop18 + i64.const $push20=, 12884901890 + i64.store $6=, 0($pop19), $pop20 + i64.const $push21=, 4294967296 + i64.store $discard=, 576($87):p2align=4, $pop21 + i32.const $push22=, .L.str + i32.const $23=, 576 + i32.add $23=, $87, $23 + call f0@FUNCTION, $pop22, $23 + i32.const $push144=, 56 + i32.const $24=, 512 + i32.add $24=, $87, $24 + i32.add $push23=, $24, $pop144 + i32.const $push24=, 15 + i32.store $7=, 0($pop23):p2align=3, $pop24 + i32.const $push143=, 48 + i32.const $25=, 512 + i32.add $25=, $87, $25 + i32.add $push25=, $25, $pop143 + i64.const $push26=, 60129542157 + i64.store $8=, 0($pop25):p2align=4, $pop26 + i32.const $push142=, 40 + i32.const $26=, 512 + i32.add $26=, $87, $26 + i32.add $push27=, $26, $pop142 + i64.const $push28=, 51539607563 + i64.store $9=, 0($pop27), $pop28 + i32.const $push141=, 32 + i32.const $27=, 512 + i32.add $27=, $87, $27 + i32.add $push29=, $27, $pop141 + i64.const $push30=, 42949672969 + i64.store $10=, 0($pop29):p2align=4, $pop30 + i32.const $push140=, 24 + i32.const $28=, 512 + i32.add $28=, $87, $28 + i32.add $push31=, $28, $pop140 + i64.const $push32=, 34359738375 + i64.store $11=, 0($pop31), $pop32 + i32.const $push139=, 16 + i32.const $29=, 512 + i32.add $29=, $87, $29 + i32.add $push33=, $29, $pop139 + i64.const $push34=, 25769803781 + i64.store $12=, 0($pop33):p2align=4, $pop34 + i32.const $push138=, 8 + i32.const $30=, 512 + i32.add $30=, $87, $30 + i32.or $push35=, $30, $pop138 + i64.const $push36=, 17179869187 + i64.store $13=, 0($pop35), $pop36 + i64.const $push37=, 8589934593 + i64.store $discard=, 512($87):p2align=4, $pop37 + i32.const $push38=, .L.str+1 + i32.const $31=, 512 + i32.add $31=, $87, $31 + call f1@FUNCTION, $7, $pop38, $31 + i32.const $push137=, 48 + i32.const $32=, 448 + i32.add $32=, $87, $32 + i32.add $push39=, $32, $pop137 + i64.store $discard=, 0($pop39):p2align=4, $0 + i32.const $push136=, 40 + i32.const $33=, 448 + i32.add $33=, $87, $33 + i32.add $push40=, $33, $pop136 + i64.store $discard=, 0($pop40), $1 + i32.const $push135=, 32 + i32.const $34=, 448 + i32.add $34=, $87, $34 + i32.add $push41=, $34, $pop135 + i64.store $discard=, 0($pop41):p2align=4, $2 + i32.const $push134=, 24 + i32.const $35=, 448 + i32.add $35=, $87, $35 + i32.add $push42=, $35, $pop134 + i64.store $discard=, 0($pop42), $3 + i32.const $push133=, 16 + i32.const $36=, 448 + i32.add $36=, $87, $36 + i32.add $push43=, $36, $pop133 + i64.store $discard=, 0($pop43):p2align=4, $4 + i32.const $push132=, 8 + i32.const $37=, 448 + i32.add $37=, $87, $37 + i32.or $push44=, $37, $pop132 + i64.store $discard=, 0($pop44), $5 + i64.store $discard=, 448($87):p2align=4, $6 + i32.const $push45=, .L.str+2 + i32.const $38=, 448 + i32.add $38=, $87, $38 + call f2@FUNCTION, $7, $7, $pop45, $38 + i32.const $push131=, 48 + i32.const $39=, 384 + i32.add $39=, $87, $39 + i32.add $push46=, $39, $pop131 + i32.store $discard=, 0($pop46):p2align=4, $7 + i32.const $push130=, 40 + i32.const $40=, 384 + i32.add $40=, $87, $40 + i32.add $push47=, $40, $pop130 + i64.store $6=, 0($pop47), $8 + i32.const $push129=, 32 + i32.const $41=, 384 + i32.add $41=, $87, $41 + i32.add $push48=, $41, $pop129 + i64.store $8=, 0($pop48):p2align=4, $9 + i32.const $push128=, 24 + i32.const $42=, 384 + i32.add $42=, $87, $42 + i32.add $push49=, $42, $pop128 + i64.store $9=, 0($pop49), $10 + i32.const $push127=, 16 + i32.const $43=, 384 + i32.add $43=, $87, $43 + i32.add $push50=, $43, $pop127 + i64.store $10=, 0($pop50):p2align=4, $11 + i32.const $push126=, 8 + i32.const $44=, 384 + i32.add $44=, $87, $44 + i32.or $push51=, $44, $pop126 + i64.store $11=, 0($pop51), $12 + i64.store $discard=, 384($87):p2align=4, $13 + i32.const $push52=, .L.str+3 + i32.const $45=, 384 + i32.add $45=, $87, $45 + call f3@FUNCTION, $7, $7, $7, $pop52, $45 + i32.const $push125=, 40 + i32.const $46=, 336 + i32.add $46=, $87, $46 + i32.add $push53=, $46, $pop125 + i64.store $discard=, 0($pop53), $0 + i32.const $push124=, 32 + i32.const $47=, 336 + i32.add $47=, $87, $47 + i32.add $push54=, $47, $pop124 + i64.store $discard=, 0($pop54):p2align=4, $1 + i32.const $push123=, 24 + i32.const $48=, 336 + i32.add $48=, $87, $48 + i32.add $push55=, $48, $pop123 + i64.store $discard=, 0($pop55), $2 + i32.const $push122=, 16 + i32.const $49=, 336 + i32.add $49=, $87, $49 + i32.add $push56=, $49, $pop122 + i64.store $discard=, 0($pop56):p2align=4, $3 + i32.const $push121=, 8 + i32.const $50=, 336 + i32.add $50=, $87, $50 + i32.or $push57=, $50, $pop121 + i64.store $discard=, 0($pop57), $4 + i64.store $discard=, 336($87):p2align=4, $5 + i32.const $push58=, .L.str+4 + i32.const $51=, 336 + i32.add $51=, $87, $51 + call f4@FUNCTION, $7, $7, $7, $7, $pop58, $51 + i32.const $push120=, 40 + i32.const $52=, 288 + i32.add $52=, $87, $52 + i32.add $push59=, $52, $pop120 + i32.store $discard=, 0($pop59):p2align=3, $7 + i32.const $push119=, 32 + i32.const $53=, 288 + i32.add $53=, $87, $53 + i32.add $push60=, $53, $pop119 + i64.store $5=, 0($pop60):p2align=4, $6 + i32.const $push118=, 24 + i32.const $54=, 288 + i32.add $54=, $87, $54 + i32.add $push61=, $54, $pop118 + i64.store $6=, 0($pop61), $8 + i32.const $push117=, 16 + i32.const $55=, 288 + i32.add $55=, $87, $55 + i32.add $push62=, $55, $pop117 + i64.store $8=, 0($pop62):p2align=4, $9 + i32.const $push116=, 8 + i32.const $56=, 288 + i32.add $56=, $87, $56 + i32.or $push63=, $56, $pop116 + i64.store $9=, 0($pop63), $10 + i64.store $discard=, 288($87):p2align=4, $11 + i32.const $push64=, .L.str+5 + i32.const $57=, 288 + i32.add $57=, $87, $57 + call f5@FUNCTION, $7, $7, $7, $7, $7, $pop64, $57 + i32.const $push115=, 32 + i32.const $58=, 240 + i32.add $58=, $87, $58 + i32.add $push65=, $58, $pop115 + i64.store $discard=, 0($pop65):p2align=4, $0 + i32.const $push114=, 24 + i32.const $59=, 240 + i32.add $59=, $87, $59 + i32.add $push66=, $59, $pop114 + i64.store $discard=, 0($pop66), $1 + i32.const $push113=, 16 + i32.const $60=, 240 + i32.add $60=, $87, $60 + i32.add $push67=, $60, $pop113 + i64.store $discard=, 0($pop67):p2align=4, $2 + i32.const $push112=, 8 + i32.const $61=, 240 + i32.add $61=, $87, $61 + i32.or $push68=, $61, $pop112 + i64.store $discard=, 0($pop68), $3 + i64.store $discard=, 240($87):p2align=4, $4 + i32.const $push69=, .L.str+6 + i32.const $62=, 240 + i32.add $62=, $87, $62 + call f6@FUNCTION, $7, $7, $7, $7, $7, $7, $pop69, $62 + i32.const $push111=, 32 + i32.const $63=, 192 + i32.add $63=, $87, $63 + i32.add $push70=, $63, $pop111 + i32.store $discard=, 0($pop70):p2align=4, $7 + i32.const $push110=, 24 + i32.const $64=, 192 + i32.add $64=, $87, $64 + i32.add $push71=, $64, $pop110 + i64.store $4=, 0($pop71), $5 + i32.const $push109=, 16 + i32.const $65=, 192 + i32.add $65=, $87, $65 + i32.add $push72=, $65, $pop109 + i64.store $5=, 0($pop72):p2align=4, $6 + i32.const $push108=, 8 + i32.const $66=, 192 + i32.add $66=, $87, $66 + i32.or $push73=, $66, $pop108 + i64.store $6=, 0($pop73), $8 + i64.store $discard=, 192($87):p2align=4, $9 + i32.const $push74=, .L.str+7 + i32.const $67=, 192 + i32.add $67=, $87, $67 + call f7@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $pop74, $67 + i32.const $push107=, 24 + i32.const $68=, 160 + i32.add $68=, $87, $68 + i32.add $push75=, $68, $pop107 + i64.store $discard=, 0($pop75), $0 + i32.const $push106=, 16 + i32.const $69=, 160 + i32.add $69=, $87, $69 + i32.add $push76=, $69, $pop106 + i64.store $discard=, 0($pop76):p2align=4, $1 + i32.const $push105=, 8 + i32.const $70=, 160 + i32.add $70=, $87, $70 + i32.or $push77=, $70, $pop105 + i64.store $discard=, 0($pop77), $2 + i64.store $discard=, 160($87):p2align=4, $3 + i32.const $push78=, .L.str+8 + i32.const $71=, 160 + i32.add $71=, $87, $71 + call f8@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $pop78, $71 + i32.const $push104=, 24 + i32.const $72=, 128 + i32.add $72=, $87, $72 + i32.add $push79=, $72, $pop104 + i32.store $discard=, 0($pop79):p2align=3, $7 + i32.const $push103=, 16 + i32.const $73=, 128 + i32.add $73=, $87, $73 + i32.add $push80=, $73, $pop103 + i64.store $3=, 0($pop80):p2align=4, $4 + i32.const $push102=, 8 + i32.const $74=, 128 + i32.add $74=, $87, $74 + i32.or $push81=, $74, $pop102 + i64.store $4=, 0($pop81), $5 + i64.store $discard=, 128($87):p2align=4, $6 + i32.const $push82=, .L.str+9 + i32.const $75=, 128 + i32.add $75=, $87, $75 + call f9@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop82, $75 + i32.const $push101=, 16 + i32.const $76=, 96 + i32.add $76=, $87, $76 + i32.add $push83=, $76, $pop101 + i64.store $discard=, 0($pop83):p2align=4, $0 + i32.const $push100=, 8 + i32.const $77=, 96 + i32.add $77=, $87, $77 + i32.or $push84=, $77, $pop100 + i64.store $discard=, 0($pop84), $1 + i64.store $discard=, 96($87):p2align=4, $2 + i32.const $push85=, .L.str+10 + i32.const $78=, 96 + i32.add $78=, $87, $78 + call f10@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop85, $78 + i32.const $push99=, 16 + i32.const $79=, 64 + i32.add $79=, $87, $79 + i32.add $push86=, $79, $pop99 + i32.store $discard=, 0($pop86):p2align=4, $7 + i32.const $push98=, 8 + i32.const $80=, 64 + i32.add $80=, $87, $80 + i32.or $push87=, $80, $pop98 + i64.store $2=, 0($pop87), $3 + i64.store $discard=, 64($87):p2align=4, $4 + i32.const $push88=, .L.str+11 + i32.const $81=, 64 + i32.add $81=, $87, $81 + call f11@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop88, $81 + i32.const $push97=, 8 + i32.const $82=, 48 + i32.add $82=, $87, $82 + i32.or $push89=, $82, $pop97 + i64.store $discard=, 0($pop89), $0 + i64.store $discard=, 48($87):p2align=4, $1 + i32.const $push90=, .L.str+12 + i32.const $83=, 48 + i32.add $83=, $87, $83 + call f12@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop90, $83 + i32.const $push96=, 8 + i32.const $84=, 32 + i32.add $84=, $87, $84 + i32.or $push91=, $84, $pop96 + i32.store $discard=, 0($pop91):p2align=3, $7 + i64.store $discard=, 32($87):p2align=4, $2 + i32.const $push92=, .L.str+13 + i32.const $85=, 32 + i32.add $85=, $87, $85 + call f13@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop92, $85 + i64.store $discard=, 16($87):p2align=4, $0 + i32.const $push93=, .L.str+14 + i32.const $86=, 16 + i32.add $86=, $87, $86 + call f14@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop93, $86 + i32.store $discard=, 0($87):p2align=4, $7 + i32.const $push94=, .L.str+15 + call f15@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop94, $87 + i32.const $push95=, 0 + call exit@FUNCTION, $pop95 unreachable .endfunc .Lfunc_end18: diff --git a/test/torture-s/va-arg-trap-1.c.s b/test/torture-s/va-arg-trap-1.c.s index fe9af4ecc..0e7efdea2 100644 --- a/test/torture-s/va-arg-trap-1.c.s +++ b/test/torture-s/va-arg-trap-1.c.s @@ -19,8 +19,7 @@ foo: # @foo .globl bar .type bar,@function bar: # @bar - .param i32 - .local i32 + .param i32, i32 # BB#0: # %entry i32.const $push0=, 0 i32.store $discard=, ap($pop0), $1 @@ -36,29 +35,17 @@ bar: # @bar .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 16 - i32.sub $7=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 i32.const $1=, __stack_pointer i32.load $1=, 0($1) - i32.const $2=, 4 - i32.sub $7=, $1, $2 + i32.const $2=, 16 + i32.sub $3=, $1, $2 i32.const $2=, __stack_pointer - i32.store $7=, 0($2), $7 + i32.store $3=, 0($2), $3 i32.const $push0=, 0 - i32.store $discard=, 0($7), $pop0 - call bar@FUNCTION, $0 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 4 - i32.add $7=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 + i32.store $discard=, 0($3):p2align=4, $pop0 + call bar@FUNCTION, $0, $3 unreachable .endfunc .Lfunc_end2: diff --git a/test/torture-s/vfprintf-1.c.s b/test/torture-s/vfprintf-1.c.s index aec717159..d4b06b959 100644 --- a/test/torture-s/vfprintf-1.c.s +++ b/test/torture-s/vfprintf-1.c.s @@ -5,18 +5,17 @@ .globl inner .type inner,@function inner: # @inner - .param i32 - .local i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $4=, $1, $2 - copy_local $5=, $4 i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 - i32.store $push0=, 12($4), $5 - i32.store $discard=, 8($4), $pop0 + 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.store $push0=, 12($5), $1 + i32.store $discard=, 8($5), $pop0 block i32.const $push1=, 10 i32.gt_u $push2=, $0, $pop1 @@ -50,12 +49,12 @@ inner: # @inner i32.const $push89=, 0 i32.load $push90=, stdout($pop89) i32.const $push92=, .L.str - i32.load $push91=, 12($4) + i32.load $push91=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop90, $pop92, $pop91 i32.const $push99=, 0 i32.load $push93=, stdout($pop99) i32.const $push98=, .L.str - i32.load $push94=, 8($4) + i32.load $push94=, 8($5) i32.call $push95=, vfprintf@FUNCTION, $pop93, $pop98, $pop94 i32.const $push96=, 5 i32.eq $push97=, $pop95, $pop96 @@ -68,12 +67,12 @@ inner: # @inner i32.const $push80=, 0 i32.load $push81=, stdout($pop80) i32.const $push83=, .L.str.1 - i32.load $push82=, 12($4) + i32.load $push82=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop81, $pop83, $pop82 i32.const $push101=, 0 i32.load $push84=, stdout($pop101) i32.const $push100=, .L.str.1 - i32.load $push85=, 8($4) + i32.load $push85=, 8($5) i32.call $push86=, vfprintf@FUNCTION, $pop84, $pop100, $pop85 i32.const $push87=, 6 i32.eq $push88=, $pop86, $pop87 @@ -86,12 +85,12 @@ inner: # @inner i32.const $push71=, 0 i32.load $push72=, stdout($pop71) i32.const $push74=, .L.str.2 - i32.load $push73=, 12($4) + i32.load $push73=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop72, $pop74, $pop73 i32.const $push103=, 0 i32.load $push75=, stdout($pop103) i32.const $push102=, .L.str.2 - i32.load $push76=, 8($4) + i32.load $push76=, 8($5) i32.call $push77=, vfprintf@FUNCTION, $pop75, $pop102, $pop76 i32.const $push78=, 1 i32.eq $push79=, $pop77, $pop78 @@ -104,12 +103,12 @@ inner: # @inner i32.const $push64=, 0 i32.load $push65=, stdout($pop64) i32.const $push67=, .L.str.3 - i32.load $push66=, 12($4) + i32.load $push66=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop65, $pop67, $pop66 i32.const $push105=, 0 i32.load $push68=, stdout($pop105) i32.const $push104=, .L.str.3 - i32.load $push69=, 8($4) + i32.load $push69=, 8($5) i32.call $push70=, vfprintf@FUNCTION, $pop68, $pop104, $pop69 i32.const $push120=, 0 i32.eq $push121=, $pop70, $pop120 @@ -122,12 +121,12 @@ inner: # @inner i32.const $push55=, 0 i32.load $push56=, stdout($pop55) i32.const $push58=, .L.str.4 - i32.load $push57=, 12($4) + i32.load $push57=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop56, $pop58, $pop57 i32.const $push107=, 0 i32.load $push59=, stdout($pop107) i32.const $push106=, .L.str.4 - i32.load $push60=, 8($4) + i32.load $push60=, 8($5) i32.call $push61=, vfprintf@FUNCTION, $pop59, $pop106, $pop60 i32.const $push62=, 5 i32.eq $push63=, $pop61, $pop62 @@ -140,12 +139,12 @@ inner: # @inner i32.const $push46=, 0 i32.load $push47=, stdout($pop46) i32.const $push49=, .L.str.4 - i32.load $push48=, 12($4) + i32.load $push48=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop47, $pop49, $pop48 i32.const $push109=, 0 i32.load $push50=, stdout($pop109) i32.const $push108=, .L.str.4 - i32.load $push51=, 8($4) + i32.load $push51=, 8($5) i32.call $push52=, vfprintf@FUNCTION, $pop50, $pop108, $pop51 i32.const $push53=, 6 i32.eq $push54=, $pop52, $pop53 @@ -158,12 +157,12 @@ inner: # @inner i32.const $push37=, 0 i32.load $push38=, stdout($pop37) i32.const $push40=, .L.str.4 - i32.load $push39=, 12($4) + i32.load $push39=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop38, $pop40, $pop39 i32.const $push111=, 0 i32.load $push41=, stdout($pop111) i32.const $push110=, .L.str.4 - i32.load $push42=, 8($4) + i32.load $push42=, 8($5) i32.call $push43=, vfprintf@FUNCTION, $pop41, $pop110, $pop42 i32.const $push44=, 1 i32.eq $push45=, $pop43, $pop44 @@ -176,12 +175,12 @@ inner: # @inner i32.const $push30=, 0 i32.load $push31=, stdout($pop30) i32.const $push33=, .L.str.4 - i32.load $push32=, 12($4) + i32.load $push32=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop31, $pop33, $pop32 i32.const $push113=, 0 i32.load $push34=, stdout($pop113) i32.const $push112=, .L.str.4 - i32.load $push35=, 8($4) + i32.load $push35=, 8($5) i32.call $push36=, vfprintf@FUNCTION, $pop34, $pop112, $pop35 i32.const $push122=, 0 i32.eq $push123=, $pop36, $pop122 @@ -194,12 +193,12 @@ inner: # @inner i32.const $push21=, 0 i32.load $push22=, stdout($pop21) i32.const $push24=, .L.str.5 - i32.load $push23=, 12($4) + i32.load $push23=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop22, $pop24, $pop23 i32.const $push115=, 0 i32.load $push25=, stdout($pop115) i32.const $push114=, .L.str.5 - i32.load $push26=, 8($4) + i32.load $push26=, 8($5) i32.call $push27=, vfprintf@FUNCTION, $pop25, $pop114, $pop26 i32.const $push28=, 1 i32.eq $push29=, $pop27, $pop28 @@ -212,12 +211,12 @@ inner: # @inner i32.const $push12=, 0 i32.load $push13=, stdout($pop12) i32.const $push15=, .L.str.6 - i32.load $push14=, 12($4) + i32.load $push14=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop13, $pop15, $pop14 i32.const $push117=, 0 i32.load $push16=, stdout($pop117) i32.const $push116=, .L.str.6 - i32.load $push17=, 8($4) + i32.load $push17=, 8($5) i32.call $push18=, vfprintf@FUNCTION, $pop16, $pop116, $pop17 i32.const $push19=, 7 i32.eq $push20=, $pop18, $pop19 @@ -230,12 +229,12 @@ inner: # @inner i32.const $push3=, 0 i32.load $push4=, stdout($pop3) i32.const $push6=, .L.str.7 - i32.load $push5=, 12($4) + i32.load $push5=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop4, $pop6, $pop5 i32.const $push119=, 0 i32.load $push7=, stdout($pop119) i32.const $push118=, .L.str.7 - i32.load $push8=, 8($4) + i32.load $push8=, 8($5) i32.call $push9=, vfprintf@FUNCTION, $pop7, $pop118, $pop8 i32.const $push10=, 2 i32.eq $push11=, $pop9, $pop10 @@ -245,10 +244,10 @@ inner: # @inner unreachable .LBB0_24: # %sw.epilog end_block # label1: - i32.const $3=, 16 - i32.add $4=, $5, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 + i32.const $4=, 16 + i32.add $5=, $5, $4 + i32.const $4=, __stack_pointer + i32.store $5=, 0($4), $5 return .LBB0_25: # %sw.default end_block # label0: @@ -264,137 +263,69 @@ inner: # @inner .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, 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 $29=, __stack_pointer - i32.load $29=, 0($29) - i32.const $30=, 16 - i32.sub $32=, $29, $30 - i32.const $30=, __stack_pointer - i32.store $32=, 0($30), $32 + i32.const $1=, __stack_pointer + i32.load $1=, 0($1) + i32.const $2=, 112 + i32.sub $10=, $1, $2 + i32.const $2=, __stack_pointer + i32.store $10=, 0($2), $10 i32.const $push0=, 0 - call inner@FUNCTION, $pop0 + i32.const $push20=, 0 + call inner@FUNCTION, $pop0, $pop20 i32.const $push1=, 1 - call inner@FUNCTION, $pop1 + i32.const $push19=, 0 + call inner@FUNCTION, $pop1, $pop19 i32.const $push2=, 2 - call inner@FUNCTION, $pop2 + i32.const $push18=, 0 + call inner@FUNCTION, $pop2, $pop18 i32.const $push3=, 3 - call inner@FUNCTION, $pop3 - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 4 - i32.sub $32=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $32=, 0($2), $32 + i32.const $push17=, 0 + call inner@FUNCTION, $pop3, $pop17 i32.const $push4=, .L.str - i32.store $discard=, 0($32), $pop4 + i32.store $discard=, 96($10):p2align=4, $pop4 i32.const $push5=, 4 - call inner@FUNCTION, $pop5 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 4 - i32.add $32=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $32=, 0($4), $32 - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 4 - i32.sub $32=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $32=, 0($6), $32 + i32.const $4=, 96 + i32.add $4=, $10, $4 + call inner@FUNCTION, $pop5, $4 i32.const $push6=, .L.str.1 - i32.store $0=, 0($32), $pop6 + i32.store $0=, 80($10):p2align=4, $pop6 i32.const $push7=, 5 - call inner@FUNCTION, $pop7 - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 4 - i32.add $32=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $32=, 0($8), $32 - i32.const $9=, __stack_pointer - i32.load $9=, 0($9) - i32.const $10=, 4 - i32.sub $32=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $32=, 0($10), $32 + i32.const $5=, 80 + i32.add $5=, $10, $5 + call inner@FUNCTION, $pop7, $5 i32.const $push8=, .L.str.2 - i32.store $discard=, 0($32), $pop8 + i32.store $discard=, 64($10):p2align=4, $pop8 i32.const $push9=, 6 - call inner@FUNCTION, $pop9 - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 4 - i32.add $32=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $32=, 0($12), $32 - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 4 - i32.sub $32=, $13, $14 - i32.const $14=, __stack_pointer - i32.store $32=, 0($14), $32 + i32.const $6=, 64 + i32.add $6=, $10, $6 + call inner@FUNCTION, $pop9, $6 i32.const $push10=, .L.str.3 - i32.store $discard=, 0($32), $pop10 + i32.store $discard=, 48($10):p2align=4, $pop10 i32.const $push11=, 7 - call inner@FUNCTION, $pop11 - i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 4 - i32.add $32=, $15, $16 - i32.const $16=, __stack_pointer - i32.store $32=, 0($16), $32 - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 4 - i32.sub $32=, $17, $18 - i32.const $18=, __stack_pointer - i32.store $32=, 0($18), $32 + i32.const $7=, 48 + i32.add $7=, $10, $7 + call inner@FUNCTION, $pop11, $7 i32.const $push12=, 120 - i32.store $discard=, 0($32), $pop12 + i32.store $discard=, 32($10):p2align=4, $pop12 i32.const $push13=, 8 - call inner@FUNCTION, $pop13 - i32.const $19=, __stack_pointer - i32.load $19=, 0($19) - i32.const $20=, 4 - i32.add $32=, $19, $20 - i32.const $20=, __stack_pointer - i32.store $32=, 0($20), $32 - i32.const $21=, __stack_pointer - i32.load $21=, 0($21) - i32.const $22=, 4 - i32.sub $32=, $21, $22 - i32.const $22=, __stack_pointer - i32.store $32=, 0($22), $32 - i32.store $discard=, 0($32), $0 + i32.const $8=, 32 + i32.add $8=, $10, $8 + call inner@FUNCTION, $pop13, $8 + i32.store $discard=, 16($10):p2align=4, $0 i32.const $push14=, 9 - call inner@FUNCTION, $pop14 - i32.const $23=, __stack_pointer - i32.load $23=, 0($23) - i32.const $24=, 4 - i32.add $32=, $23, $24 - i32.const $24=, __stack_pointer - i32.store $32=, 0($24), $32 - i32.const $25=, __stack_pointer - i32.load $25=, 0($25) - i32.const $26=, 4 - i32.sub $32=, $25, $26 - i32.const $26=, __stack_pointer - i32.store $32=, 0($26), $32 + i32.const $9=, 16 + i32.add $9=, $10, $9 + call inner@FUNCTION, $pop14, $9 i32.const $push16=, 0 - i32.store $0=, 0($32), $pop16 + i32.store $0=, 0($10):p2align=4, $pop16 i32.const $push15=, 10 - call inner@FUNCTION, $pop15 - i32.const $27=, __stack_pointer - i32.load $27=, 0($27) - i32.const $28=, 4 - i32.add $32=, $27, $28 - i32.const $28=, __stack_pointer - i32.store $32=, 0($28), $32 - i32.const $31=, 16 - i32.add $32=, $32, $31 - i32.const $31=, __stack_pointer - i32.store $32=, 0($31), $32 + call inner@FUNCTION, $pop15, $10 + i32.const $3=, 112 + i32.add $10=, $10, $3 + i32.const $3=, __stack_pointer + i32.store $10=, 0($3), $10 return $0 .endfunc .Lfunc_end1: diff --git a/test/torture-s/vfprintf-chk-1.c.s b/test/torture-s/vfprintf-chk-1.c.s index 94195e943..b5a0059ed 100644 --- a/test/torture-s/vfprintf-chk-1.c.s +++ b/test/torture-s/vfprintf-chk-1.c.s @@ -31,18 +31,17 @@ __vfprintf_chk: # @__vfprintf_chk .globl inner .type inner,@function inner: # @inner - .param i32 - .local i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $4=, $1, $2 - copy_local $5=, $4 i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 - i32.store $push0=, 12($4), $5 - i32.store $discard=, 8($4), $pop0 + 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.store $push0=, 12($5), $1 + i32.store $discard=, 8($5), $pop0 block i32.const $push1=, 10 i32.gt_u $push2=, $0, $pop1 @@ -82,7 +81,7 @@ inner: # @inner i32.const $push139=, 0 i32.load $push126=, stdout($pop139) i32.const $push138=, .L.str - i32.load $push127=, 12($4) + i32.load $push127=, 12($5) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop126, $0, $pop138, $pop127 block i32.const $push137=, 0 @@ -97,7 +96,7 @@ inner: # @inner i32.store $push129=, should_optimize($pop143), $pop142 i32.load $push130=, stdout($pop129) i32.const $push141=, .L.str - i32.load $push131=, 8($4) + i32.load $push131=, 8($5) i32.call $push132=, __vfprintf_chk@FUNCTION, $pop130, $0, $pop141, $pop131 i32.const $push133=, 5 i32.ne $push134=, $pop132, $pop133 @@ -125,7 +124,7 @@ inner: # @inner i32.const $push146=, 0 i32.load $push114=, stdout($pop146) i32.const $push145=, .L.str.1 - i32.load $push115=, 12($4) + i32.load $push115=, 12($5) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop114, $0, $pop145, $pop115 block i32.const $push144=, 0 @@ -140,7 +139,7 @@ inner: # @inner i32.store $push117=, should_optimize($pop150), $pop149 i32.load $push118=, stdout($pop117) i32.const $push148=, .L.str.1 - i32.load $push119=, 8($4) + i32.load $push119=, 8($5) i32.call $push120=, __vfprintf_chk@FUNCTION, $pop118, $0, $pop148, $pop119 i32.const $push121=, 6 i32.ne $push122=, $pop120, $pop121 @@ -168,7 +167,7 @@ inner: # @inner i32.const $push153=, 0 i32.load $push103=, stdout($pop153) i32.const $push152=, .L.str.2 - i32.load $push104=, 12($4) + i32.load $push104=, 12($5) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop103, $0, $pop152, $pop104 block i32.const $push151=, 0 @@ -183,7 +182,7 @@ inner: # @inner i32.store $push106=, should_optimize($pop157), $pop156 i32.load $push107=, stdout($pop106) i32.const $push155=, .L.str.2 - i32.load $push108=, 8($4) + i32.load $push108=, 8($5) i32.call $push109=, __vfprintf_chk@FUNCTION, $pop107, $0, $pop155, $pop108 i32.ne $push110=, $pop109, $0 br_if 0, $pop110 # 0: down to label22 @@ -210,7 +209,7 @@ inner: # @inner i32.const $push160=, 0 i32.load $push93=, stdout($pop160) i32.const $push159=, .L.str.3 - i32.load $push94=, 12($4) + i32.load $push94=, 12($5) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop93, $0, $pop159, $pop94 block i32.const $push158=, 0 @@ -225,7 +224,7 @@ inner: # @inner i32.store $push96=, should_optimize($pop164), $pop163 i32.load $push97=, stdout($pop96) i32.const $push162=, .L.str.3 - i32.load $push98=, 8($4) + i32.load $push98=, 8($5) i32.call $push99=, __vfprintf_chk@FUNCTION, $pop97, $0, $pop162, $pop98 br_if 0, $pop99 # 0: down to label24 # BB#22: # %if.end41 @@ -251,7 +250,7 @@ inner: # @inner tee_local $push166=, $0=, $pop80 i32.load $push81=, stdout($pop166) i32.const $push165=, .L.str.4 - i32.load $push82=, 12($4) + i32.load $push82=, 12($5) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop81, $0, $pop165, $pop82 block i32.load $push83=, should_optimize($0) @@ -263,7 +262,7 @@ inner: # @inner i32.store $push84=, should_optimize($0), $0 i32.load $push85=, stdout($pop84) i32.const $push168=, .L.str.4 - i32.load $push86=, 8($4) + i32.load $push86=, 8($5) i32.call $push87=, __vfprintf_chk@FUNCTION, $pop85, $0, $pop168, $pop86 i32.const $push88=, 5 i32.ne $push89=, $pop87, $pop88 @@ -291,7 +290,7 @@ inner: # @inner tee_local $push170=, $0=, $pop67 i32.load $push68=, stdout($pop170) i32.const $push169=, .L.str.4 - i32.load $push69=, 12($4) + i32.load $push69=, 12($5) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop68, $0, $pop169, $pop69 block i32.load $push70=, should_optimize($0) @@ -303,7 +302,7 @@ inner: # @inner i32.store $push71=, should_optimize($0), $0 i32.load $push72=, stdout($pop71) i32.const $push172=, .L.str.4 - i32.load $push73=, 8($4) + i32.load $push73=, 8($5) i32.call $push74=, __vfprintf_chk@FUNCTION, $pop72, $0, $pop172, $pop73 i32.const $push75=, 6 i32.ne $push76=, $pop74, $pop75 @@ -331,7 +330,7 @@ inner: # @inner tee_local $push174=, $0=, $pop54 i32.load $push55=, stdout($pop174) i32.const $push173=, .L.str.4 - i32.load $push56=, 12($4) + i32.load $push56=, 12($5) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop55, $0, $pop173, $pop56 block i32.load $push57=, should_optimize($0) @@ -343,7 +342,7 @@ inner: # @inner i32.store $push58=, should_optimize($0), $0 i32.load $push59=, stdout($pop58) i32.const $push176=, .L.str.4 - i32.load $push60=, 8($4) + i32.load $push60=, 8($5) i32.call $push61=, __vfprintf_chk@FUNCTION, $pop59, $0, $pop176, $pop60 i32.const $push62=, 1 i32.ne $push63=, $pop61, $pop62 @@ -371,7 +370,7 @@ inner: # @inner tee_local $push178=, $0=, $pop43 i32.load $push44=, stdout($pop178) i32.const $push177=, .L.str.4 - i32.load $push45=, 12($4) + i32.load $push45=, 12($5) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop44, $0, $pop177, $pop45 block i32.load $push46=, should_optimize($0) @@ -383,7 +382,7 @@ inner: # @inner i32.store $push47=, should_optimize($0), $0 i32.load $push48=, stdout($pop47) i32.const $push180=, .L.str.4 - i32.load $push49=, 8($4) + i32.load $push49=, 8($5) i32.call $push50=, __vfprintf_chk@FUNCTION, $pop48, $0, $pop180, $pop49 br_if 0, $pop50 # 0: down to label32 # BB#46: # %if.end89 @@ -409,7 +408,7 @@ inner: # @inner tee_local $push182=, $0=, $pop30 i32.load $push31=, stdout($pop182) i32.const $push181=, .L.str.5 - i32.load $push32=, 12($4) + i32.load $push32=, 12($5) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop31, $0, $pop181, $pop32 block i32.load $push33=, should_optimize($0) @@ -421,7 +420,7 @@ inner: # @inner i32.store $push34=, should_optimize($0), $0 i32.load $push35=, stdout($pop34) i32.const $push184=, .L.str.5 - i32.load $push36=, 8($4) + i32.load $push36=, 8($5) i32.call $push37=, __vfprintf_chk@FUNCTION, $pop35, $0, $pop184, $pop36 i32.const $push38=, 1 i32.ne $push39=, $pop37, $pop38 @@ -449,7 +448,7 @@ inner: # @inner tee_local $push186=, $0=, $pop17 i32.load $push18=, stdout($pop186) i32.const $push185=, .L.str.6 - i32.load $push19=, 12($4) + i32.load $push19=, 12($5) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop18, $0, $pop185, $pop19 block i32.load $push20=, should_optimize($0) @@ -461,7 +460,7 @@ inner: # @inner i32.store $push21=, should_optimize($0), $0 i32.load $push22=, stdout($pop21) i32.const $push188=, .L.str.6 - i32.load $push23=, 8($4) + i32.load $push23=, 8($5) i32.call $push24=, __vfprintf_chk@FUNCTION, $pop22, $0, $pop188, $pop23 i32.const $push25=, 7 i32.ne $push26=, $pop24, $pop25 @@ -489,7 +488,7 @@ inner: # @inner tee_local $push190=, $0=, $pop4 i32.load $push5=, stdout($pop190) i32.const $push189=, .L.str.7 - i32.load $push6=, 12($4) + i32.load $push6=, 12($5) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop5, $0, $pop189, $pop6 i32.load $push7=, should_optimize($0) i32.const $push213=, 0 @@ -499,7 +498,7 @@ inner: # @inner i32.store $push8=, should_optimize($0), $0 i32.load $push9=, stdout($pop8) i32.const $push192=, .L.str.7 - i32.load $push10=, 8($4) + i32.load $push10=, 8($5) i32.call $push11=, __vfprintf_chk@FUNCTION, $pop9, $0, $pop192, $pop10 i32.const $push12=, 2 i32.ne $push13=, $pop11, $pop12 @@ -512,10 +511,10 @@ inner: # @inner br_if 1, $pop216 # 1: down to label4 .LBB1_65: # %sw.epilog end_block # label5: - i32.const $3=, 16 - i32.add $4=, $5, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 + i32.const $4=, 16 + i32.add $5=, $5, $4 + i32.const $4=, __stack_pointer + i32.store $5=, 0($4), $5 return .LBB1_66: # %if.then127 end_block # label4: @@ -543,137 +542,69 @@ inner: # @inner .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, 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 $29=, __stack_pointer - i32.load $29=, 0($29) - i32.const $30=, 16 - i32.sub $32=, $29, $30 - i32.const $30=, __stack_pointer - i32.store $32=, 0($30), $32 + i32.const $1=, __stack_pointer + i32.load $1=, 0($1) + i32.const $2=, 112 + i32.sub $10=, $1, $2 + i32.const $2=, __stack_pointer + i32.store $10=, 0($2), $10 i32.const $push0=, 0 - call inner@FUNCTION, $pop0 + i32.const $push20=, 0 + call inner@FUNCTION, $pop0, $pop20 i32.const $push1=, 1 - call inner@FUNCTION, $pop1 + i32.const $push19=, 0 + call inner@FUNCTION, $pop1, $pop19 i32.const $push2=, 2 - call inner@FUNCTION, $pop2 + i32.const $push18=, 0 + call inner@FUNCTION, $pop2, $pop18 i32.const $push3=, 3 - call inner@FUNCTION, $pop3 - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 4 - i32.sub $32=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $32=, 0($2), $32 + i32.const $push17=, 0 + call inner@FUNCTION, $pop3, $pop17 i32.const $push4=, .L.str - i32.store $discard=, 0($32), $pop4 + i32.store $discard=, 96($10):p2align=4, $pop4 i32.const $push5=, 4 - call inner@FUNCTION, $pop5 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 4 - i32.add $32=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $32=, 0($4), $32 - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 4 - i32.sub $32=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $32=, 0($6), $32 + i32.const $4=, 96 + i32.add $4=, $10, $4 + call inner@FUNCTION, $pop5, $4 i32.const $push6=, .L.str.1 - i32.store $0=, 0($32), $pop6 + i32.store $0=, 80($10):p2align=4, $pop6 i32.const $push7=, 5 - call inner@FUNCTION, $pop7 - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 4 - i32.add $32=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $32=, 0($8), $32 - i32.const $9=, __stack_pointer - i32.load $9=, 0($9) - i32.const $10=, 4 - i32.sub $32=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $32=, 0($10), $32 + i32.const $5=, 80 + i32.add $5=, $10, $5 + call inner@FUNCTION, $pop7, $5 i32.const $push8=, .L.str.2 - i32.store $discard=, 0($32), $pop8 + i32.store $discard=, 64($10):p2align=4, $pop8 i32.const $push9=, 6 - call inner@FUNCTION, $pop9 - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 4 - i32.add $32=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $32=, 0($12), $32 - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 4 - i32.sub $32=, $13, $14 - i32.const $14=, __stack_pointer - i32.store $32=, 0($14), $32 + i32.const $6=, 64 + i32.add $6=, $10, $6 + call inner@FUNCTION, $pop9, $6 i32.const $push10=, .L.str.3 - i32.store $discard=, 0($32), $pop10 + i32.store $discard=, 48($10):p2align=4, $pop10 i32.const $push11=, 7 - call inner@FUNCTION, $pop11 - i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 4 - i32.add $32=, $15, $16 - i32.const $16=, __stack_pointer - i32.store $32=, 0($16), $32 - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 4 - i32.sub $32=, $17, $18 - i32.const $18=, __stack_pointer - i32.store $32=, 0($18), $32 + i32.const $7=, 48 + i32.add $7=, $10, $7 + call inner@FUNCTION, $pop11, $7 i32.const $push12=, 120 - i32.store $discard=, 0($32), $pop12 + i32.store $discard=, 32($10):p2align=4, $pop12 i32.const $push13=, 8 - call inner@FUNCTION, $pop13 - i32.const $19=, __stack_pointer - i32.load $19=, 0($19) - i32.const $20=, 4 - i32.add $32=, $19, $20 - i32.const $20=, __stack_pointer - i32.store $32=, 0($20), $32 - i32.const $21=, __stack_pointer - i32.load $21=, 0($21) - i32.const $22=, 4 - i32.sub $32=, $21, $22 - i32.const $22=, __stack_pointer - i32.store $32=, 0($22), $32 - i32.store $discard=, 0($32), $0 + i32.const $8=, 32 + i32.add $8=, $10, $8 + call inner@FUNCTION, $pop13, $8 + i32.store $discard=, 16($10):p2align=4, $0 i32.const $push14=, 9 - call inner@FUNCTION, $pop14 - i32.const $23=, __stack_pointer - i32.load $23=, 0($23) - i32.const $24=, 4 - i32.add $32=, $23, $24 - i32.const $24=, __stack_pointer - i32.store $32=, 0($24), $32 - i32.const $25=, __stack_pointer - i32.load $25=, 0($25) - i32.const $26=, 4 - i32.sub $32=, $25, $26 - i32.const $26=, __stack_pointer - i32.store $32=, 0($26), $32 + i32.const $9=, 16 + i32.add $9=, $10, $9 + call inner@FUNCTION, $pop14, $9 i32.const $push16=, 0 - i32.store $0=, 0($32), $pop16 + i32.store $0=, 0($10):p2align=4, $pop16 i32.const $push15=, 10 - call inner@FUNCTION, $pop15 - i32.const $27=, __stack_pointer - i32.load $27=, 0($27) - i32.const $28=, 4 - i32.add $32=, $27, $28 - i32.const $28=, __stack_pointer - i32.store $32=, 0($28), $32 - i32.const $31=, 16 - i32.add $32=, $32, $31 - i32.const $31=, __stack_pointer - i32.store $32=, 0($31), $32 + call inner@FUNCTION, $pop15, $10 + i32.const $3=, 112 + i32.add $10=, $10, $3 + i32.const $3=, __stack_pointer + i32.store $10=, 0($3), $10 return $0 .endfunc .Lfunc_end2: diff --git a/test/torture-s/vprintf-1.c.s b/test/torture-s/vprintf-1.c.s index d1d85fa8e..f043acc7d 100644 --- a/test/torture-s/vprintf-1.c.s +++ b/test/torture-s/vprintf-1.c.s @@ -5,18 +5,17 @@ .globl inner .type inner,@function inner: # @inner - .param i32 - .local i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $4=, $1, $2 - copy_local $5=, $4 i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 - i32.store $push0=, 12($4), $5 - i32.store $discard=, 8($4), $pop0 + 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.store $push0=, 12($5), $1 + i32.store $discard=, 8($5), $pop0 block i32.const $push1=, 10 i32.gt_u $push2=, $0, $pop1 @@ -50,12 +49,12 @@ inner: # @inner i32.const $push90=, 0 i32.load $push91=, stdout($pop90) i32.const $push92=, .L.str - i32.load $push89=, 12($4) + i32.load $push89=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop91, $pop92, $pop89 i32.const $push99=, 0 i32.load $push94=, stdout($pop99) i32.const $push98=, .L.str - i32.load $push93=, 8($4) + i32.load $push93=, 8($5) i32.call $push95=, vfprintf@FUNCTION, $pop94, $pop98, $pop93 i32.const $push96=, 5 i32.eq $push97=, $pop95, $pop96 @@ -68,12 +67,12 @@ inner: # @inner i32.const $push81=, 0 i32.load $push82=, stdout($pop81) i32.const $push83=, .L.str.1 - i32.load $push80=, 12($4) + i32.load $push80=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop82, $pop83, $pop80 i32.const $push101=, 0 i32.load $push85=, stdout($pop101) i32.const $push100=, .L.str.1 - i32.load $push84=, 8($4) + i32.load $push84=, 8($5) i32.call $push86=, vfprintf@FUNCTION, $pop85, $pop100, $pop84 i32.const $push87=, 6 i32.eq $push88=, $pop86, $pop87 @@ -86,12 +85,12 @@ inner: # @inner i32.const $push72=, 0 i32.load $push73=, stdout($pop72) i32.const $push74=, .L.str.2 - i32.load $push71=, 12($4) + i32.load $push71=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop73, $pop74, $pop71 i32.const $push103=, 0 i32.load $push76=, stdout($pop103) i32.const $push102=, .L.str.2 - i32.load $push75=, 8($4) + i32.load $push75=, 8($5) i32.call $push77=, vfprintf@FUNCTION, $pop76, $pop102, $pop75 i32.const $push78=, 1 i32.eq $push79=, $pop77, $pop78 @@ -104,12 +103,12 @@ inner: # @inner i32.const $push65=, 0 i32.load $push66=, stdout($pop65) i32.const $push67=, .L.str.3 - i32.load $push64=, 12($4) + i32.load $push64=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop66, $pop67, $pop64 i32.const $push105=, 0 i32.load $push69=, stdout($pop105) i32.const $push104=, .L.str.3 - i32.load $push68=, 8($4) + i32.load $push68=, 8($5) i32.call $push70=, vfprintf@FUNCTION, $pop69, $pop104, $pop68 i32.const $push120=, 0 i32.eq $push121=, $pop70, $pop120 @@ -122,12 +121,12 @@ inner: # @inner i32.const $push56=, 0 i32.load $push57=, stdout($pop56) i32.const $push58=, .L.str.4 - i32.load $push55=, 12($4) + i32.load $push55=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop57, $pop58, $pop55 i32.const $push107=, 0 i32.load $push60=, stdout($pop107) i32.const $push106=, .L.str.4 - i32.load $push59=, 8($4) + i32.load $push59=, 8($5) i32.call $push61=, vfprintf@FUNCTION, $pop60, $pop106, $pop59 i32.const $push62=, 5 i32.eq $push63=, $pop61, $pop62 @@ -140,12 +139,12 @@ inner: # @inner i32.const $push47=, 0 i32.load $push48=, stdout($pop47) i32.const $push49=, .L.str.4 - i32.load $push46=, 12($4) + i32.load $push46=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop48, $pop49, $pop46 i32.const $push109=, 0 i32.load $push51=, stdout($pop109) i32.const $push108=, .L.str.4 - i32.load $push50=, 8($4) + i32.load $push50=, 8($5) i32.call $push52=, vfprintf@FUNCTION, $pop51, $pop108, $pop50 i32.const $push53=, 6 i32.eq $push54=, $pop52, $pop53 @@ -158,12 +157,12 @@ inner: # @inner i32.const $push38=, 0 i32.load $push39=, stdout($pop38) i32.const $push40=, .L.str.4 - i32.load $push37=, 12($4) + i32.load $push37=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop39, $pop40, $pop37 i32.const $push111=, 0 i32.load $push42=, stdout($pop111) i32.const $push110=, .L.str.4 - i32.load $push41=, 8($4) + i32.load $push41=, 8($5) i32.call $push43=, vfprintf@FUNCTION, $pop42, $pop110, $pop41 i32.const $push44=, 1 i32.eq $push45=, $pop43, $pop44 @@ -176,12 +175,12 @@ inner: # @inner i32.const $push31=, 0 i32.load $push32=, stdout($pop31) i32.const $push33=, .L.str.4 - i32.load $push30=, 12($4) + i32.load $push30=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop32, $pop33, $pop30 i32.const $push113=, 0 i32.load $push35=, stdout($pop113) i32.const $push112=, .L.str.4 - i32.load $push34=, 8($4) + i32.load $push34=, 8($5) i32.call $push36=, vfprintf@FUNCTION, $pop35, $pop112, $pop34 i32.const $push122=, 0 i32.eq $push123=, $pop36, $pop122 @@ -194,12 +193,12 @@ inner: # @inner i32.const $push22=, 0 i32.load $push23=, stdout($pop22) i32.const $push24=, .L.str.5 - i32.load $push21=, 12($4) + i32.load $push21=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop23, $pop24, $pop21 i32.const $push115=, 0 i32.load $push26=, stdout($pop115) i32.const $push114=, .L.str.5 - i32.load $push25=, 8($4) + i32.load $push25=, 8($5) i32.call $push27=, vfprintf@FUNCTION, $pop26, $pop114, $pop25 i32.const $push28=, 1 i32.eq $push29=, $pop27, $pop28 @@ -212,12 +211,12 @@ inner: # @inner i32.const $push13=, 0 i32.load $push14=, stdout($pop13) i32.const $push15=, .L.str.6 - i32.load $push12=, 12($4) + i32.load $push12=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop14, $pop15, $pop12 i32.const $push117=, 0 i32.load $push17=, stdout($pop117) i32.const $push116=, .L.str.6 - i32.load $push16=, 8($4) + i32.load $push16=, 8($5) i32.call $push18=, vfprintf@FUNCTION, $pop17, $pop116, $pop16 i32.const $push19=, 7 i32.eq $push20=, $pop18, $pop19 @@ -230,12 +229,12 @@ inner: # @inner i32.const $push4=, 0 i32.load $push5=, stdout($pop4) i32.const $push6=, .L.str.7 - i32.load $push3=, 12($4) + i32.load $push3=, 12($5) i32.call $discard=, vfprintf@FUNCTION, $pop5, $pop6, $pop3 i32.const $push119=, 0 i32.load $push8=, stdout($pop119) i32.const $push118=, .L.str.7 - i32.load $push7=, 8($4) + i32.load $push7=, 8($5) i32.call $push9=, vfprintf@FUNCTION, $pop8, $pop118, $pop7 i32.const $push10=, 2 i32.eq $push11=, $pop9, $pop10 @@ -245,10 +244,10 @@ inner: # @inner unreachable .LBB0_24: # %sw.epilog end_block # label1: - i32.const $3=, 16 - i32.add $4=, $5, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 + i32.const $4=, 16 + i32.add $5=, $5, $4 + i32.const $4=, __stack_pointer + i32.store $5=, 0($4), $5 return .LBB0_25: # %sw.default end_block # label0: @@ -264,137 +263,69 @@ inner: # @inner .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, 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 $29=, __stack_pointer - i32.load $29=, 0($29) - i32.const $30=, 16 - i32.sub $32=, $29, $30 - i32.const $30=, __stack_pointer - i32.store $32=, 0($30), $32 + i32.const $1=, __stack_pointer + i32.load $1=, 0($1) + i32.const $2=, 112 + i32.sub $10=, $1, $2 + i32.const $2=, __stack_pointer + i32.store $10=, 0($2), $10 i32.const $push0=, 0 - call inner@FUNCTION, $pop0 + i32.const $push20=, 0 + call inner@FUNCTION, $pop0, $pop20 i32.const $push1=, 1 - call inner@FUNCTION, $pop1 + i32.const $push19=, 0 + call inner@FUNCTION, $pop1, $pop19 i32.const $push2=, 2 - call inner@FUNCTION, $pop2 + i32.const $push18=, 0 + call inner@FUNCTION, $pop2, $pop18 i32.const $push3=, 3 - call inner@FUNCTION, $pop3 - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 4 - i32.sub $32=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $32=, 0($2), $32 + i32.const $push17=, 0 + call inner@FUNCTION, $pop3, $pop17 i32.const $push4=, .L.str - i32.store $discard=, 0($32), $pop4 + i32.store $discard=, 96($10):p2align=4, $pop4 i32.const $push5=, 4 - call inner@FUNCTION, $pop5 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 4 - i32.add $32=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $32=, 0($4), $32 - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 4 - i32.sub $32=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $32=, 0($6), $32 + i32.const $4=, 96 + i32.add $4=, $10, $4 + call inner@FUNCTION, $pop5, $4 i32.const $push6=, .L.str.1 - i32.store $0=, 0($32), $pop6 + i32.store $0=, 80($10):p2align=4, $pop6 i32.const $push7=, 5 - call inner@FUNCTION, $pop7 - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 4 - i32.add $32=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $32=, 0($8), $32 - i32.const $9=, __stack_pointer - i32.load $9=, 0($9) - i32.const $10=, 4 - i32.sub $32=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $32=, 0($10), $32 + i32.const $5=, 80 + i32.add $5=, $10, $5 + call inner@FUNCTION, $pop7, $5 i32.const $push8=, .L.str.2 - i32.store $discard=, 0($32), $pop8 + i32.store $discard=, 64($10):p2align=4, $pop8 i32.const $push9=, 6 - call inner@FUNCTION, $pop9 - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 4 - i32.add $32=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $32=, 0($12), $32 - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 4 - i32.sub $32=, $13, $14 - i32.const $14=, __stack_pointer - i32.store $32=, 0($14), $32 + i32.const $6=, 64 + i32.add $6=, $10, $6 + call inner@FUNCTION, $pop9, $6 i32.const $push10=, .L.str.3 - i32.store $discard=, 0($32), $pop10 + i32.store $discard=, 48($10):p2align=4, $pop10 i32.const $push11=, 7 - call inner@FUNCTION, $pop11 - i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 4 - i32.add $32=, $15, $16 - i32.const $16=, __stack_pointer - i32.store $32=, 0($16), $32 - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 4 - i32.sub $32=, $17, $18 - i32.const $18=, __stack_pointer - i32.store $32=, 0($18), $32 + i32.const $7=, 48 + i32.add $7=, $10, $7 + call inner@FUNCTION, $pop11, $7 i32.const $push12=, 120 - i32.store $discard=, 0($32), $pop12 + i32.store $discard=, 32($10):p2align=4, $pop12 i32.const $push13=, 8 - call inner@FUNCTION, $pop13 - i32.const $19=, __stack_pointer - i32.load $19=, 0($19) - i32.const $20=, 4 - i32.add $32=, $19, $20 - i32.const $20=, __stack_pointer - i32.store $32=, 0($20), $32 - i32.const $21=, __stack_pointer - i32.load $21=, 0($21) - i32.const $22=, 4 - i32.sub $32=, $21, $22 - i32.const $22=, __stack_pointer - i32.store $32=, 0($22), $32 - i32.store $discard=, 0($32), $0 + i32.const $8=, 32 + i32.add $8=, $10, $8 + call inner@FUNCTION, $pop13, $8 + i32.store $discard=, 16($10):p2align=4, $0 i32.const $push14=, 9 - call inner@FUNCTION, $pop14 - i32.const $23=, __stack_pointer - i32.load $23=, 0($23) - i32.const $24=, 4 - i32.add $32=, $23, $24 - i32.const $24=, __stack_pointer - i32.store $32=, 0($24), $32 - i32.const $25=, __stack_pointer - i32.load $25=, 0($25) - i32.const $26=, 4 - i32.sub $32=, $25, $26 - i32.const $26=, __stack_pointer - i32.store $32=, 0($26), $32 + i32.const $9=, 16 + i32.add $9=, $10, $9 + call inner@FUNCTION, $pop14, $9 i32.const $push16=, 0 - i32.store $0=, 0($32), $pop16 + i32.store $0=, 0($10):p2align=4, $pop16 i32.const $push15=, 10 - call inner@FUNCTION, $pop15 - i32.const $27=, __stack_pointer - i32.load $27=, 0($27) - i32.const $28=, 4 - i32.add $32=, $27, $28 - i32.const $28=, __stack_pointer - i32.store $32=, 0($28), $32 - i32.const $31=, 16 - i32.add $32=, $32, $31 - i32.const $31=, __stack_pointer - i32.store $32=, 0($31), $32 + call inner@FUNCTION, $pop15, $10 + i32.const $3=, 112 + i32.add $10=, $10, $3 + i32.const $3=, __stack_pointer + i32.store $10=, 0($3), $10 return $0 .endfunc .Lfunc_end1: diff --git a/test/torture-s/vprintf-chk-1.c.s b/test/torture-s/vprintf-chk-1.c.s index 00a4f7a44..7a67215df 100644 --- a/test/torture-s/vprintf-chk-1.c.s +++ b/test/torture-s/vprintf-chk-1.c.s @@ -33,18 +33,17 @@ __vprintf_chk: # @__vprintf_chk .globl inner .type inner,@function inner: # @inner - .param i32 - .local i32, i32, i32, i32, i32 + .param i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $4=, $1, $2 - copy_local $5=, $4 i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 - i32.store $push0=, 12($4), $5 - i32.store $discard=, 8($4), $pop0 + 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.store $push0=, 12($5), $1 + i32.store $discard=, 8($5), $pop0 block i32.const $push1=, 10 i32.gt_u $push2=, $0, $pop1 @@ -82,7 +81,7 @@ inner: # @inner i32.const $push98=, 0 i32.store $0=, should_optimize($pop88), $pop98 i32.const $push97=, .L.str - i32.load $push89=, 12($4) + i32.load $push89=, 12($5) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop97, $pop89 block i32.load $push90=, should_optimize($0) @@ -93,7 +92,7 @@ inner: # @inner i32.store $discard=, should_optimize($0), $0 block i32.const $push99=, .L.str - i32.load $push91=, 8($4) + i32.load $push91=, 8($5) i32.call $push92=, __vprintf_chk@FUNCTION, $0, $pop99, $pop91 i32.const $push93=, 5 i32.ne $push94=, $pop92, $pop93 @@ -119,7 +118,7 @@ inner: # @inner i32.const $push79=, 1 i32.store $discard=, should_optimize($pop102), $pop79 i32.const $push101=, .L.str.1 - i32.load $push80=, 12($4) + i32.load $push80=, 12($5) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop101, $pop80 block i32.const $push100=, 0 @@ -133,7 +132,7 @@ inner: # @inner i32.store $discard=, should_optimize($pop105), $pop104 block i32.const $push103=, .L.str.1 - i32.load $push82=, 8($4) + i32.load $push82=, 8($5) i32.call $push83=, __vprintf_chk@FUNCTION, $0, $pop103, $pop82 i32.const $push84=, 6 i32.ne $push85=, $pop83, $pop84 @@ -159,7 +158,7 @@ inner: # @inner i32.const $push71=, 1 i32.store $0=, should_optimize($pop108), $pop71 i32.const $push107=, .L.str.2 - i32.load $push72=, 12($4) + i32.load $push72=, 12($5) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop107, $pop72 block i32.const $push106=, 0 @@ -173,7 +172,7 @@ inner: # @inner i32.store $discard=, should_optimize($pop111), $pop110 block i32.const $push109=, .L.str.2 - i32.load $push74=, 8($4) + i32.load $push74=, 8($5) i32.call $push75=, __vprintf_chk@FUNCTION, $0, $pop109, $pop74 i32.ne $push76=, $pop75, $0 br_if 0, $pop76 # 0: down to label22 @@ -198,7 +197,7 @@ inner: # @inner i32.const $push64=, 1 i32.store $discard=, should_optimize($pop114), $pop64 i32.const $push113=, .L.str.3 - i32.load $push65=, 12($4) + i32.load $push65=, 12($5) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop113, $pop65 block i32.const $push112=, 0 @@ -212,7 +211,7 @@ inner: # @inner i32.store $discard=, should_optimize($pop117), $pop116 block i32.const $push115=, .L.str.3 - i32.load $push67=, 8($4) + i32.load $push67=, 8($5) i32.call $push68=, __vprintf_chk@FUNCTION, $0, $pop115, $pop67 br_if 0, $pop68 # 0: down to label24 # BB#22: # %if.end41 @@ -236,7 +235,7 @@ inner: # @inner i32.const $push119=, 0 i32.store $0=, should_optimize($pop55), $pop119 i32.const $push118=, .L.str.4 - i32.load $push56=, 12($4) + i32.load $push56=, 12($5) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop118, $pop56 block i32.load $push57=, should_optimize($0) @@ -247,7 +246,7 @@ inner: # @inner i32.store $discard=, should_optimize($0), $0 block i32.const $push120=, .L.str.4 - i32.load $push58=, 8($4) + i32.load $push58=, 8($5) i32.call $push59=, __vprintf_chk@FUNCTION, $0, $pop120, $pop58 i32.const $push60=, 5 i32.ne $push61=, $pop59, $pop60 @@ -273,7 +272,7 @@ inner: # @inner i32.const $push122=, 0 i32.store $0=, should_optimize($pop46), $pop122 i32.const $push121=, .L.str.4 - i32.load $push47=, 12($4) + i32.load $push47=, 12($5) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop121, $pop47 block i32.load $push48=, should_optimize($0) @@ -284,7 +283,7 @@ inner: # @inner i32.store $discard=, should_optimize($0), $0 block i32.const $push123=, .L.str.4 - i32.load $push49=, 8($4) + i32.load $push49=, 8($5) i32.call $push50=, __vprintf_chk@FUNCTION, $0, $pop123, $pop49 i32.const $push51=, 6 i32.ne $push52=, $pop50, $pop51 @@ -310,7 +309,7 @@ inner: # @inner i32.const $push125=, 0 i32.store $0=, should_optimize($pop37), $pop125 i32.const $push124=, .L.str.4 - i32.load $push38=, 12($4) + i32.load $push38=, 12($5) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop124, $pop38 block i32.load $push39=, should_optimize($0) @@ -321,7 +320,7 @@ inner: # @inner i32.store $discard=, should_optimize($0), $0 block i32.const $push126=, .L.str.4 - i32.load $push40=, 8($4) + i32.load $push40=, 8($5) i32.call $push41=, __vprintf_chk@FUNCTION, $0, $pop126, $pop40 i32.const $push42=, 1 i32.ne $push43=, $pop41, $pop42 @@ -347,7 +346,7 @@ inner: # @inner i32.const $push128=, 0 i32.store $0=, should_optimize($pop30), $pop128 i32.const $push127=, .L.str.4 - i32.load $push31=, 12($4) + i32.load $push31=, 12($5) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop127, $pop31 block i32.load $push32=, should_optimize($0) @@ -358,7 +357,7 @@ inner: # @inner i32.store $discard=, should_optimize($0), $0 block i32.const $push129=, .L.str.4 - i32.load $push33=, 8($4) + i32.load $push33=, 8($5) i32.call $push34=, __vprintf_chk@FUNCTION, $0, $pop129, $pop33 br_if 0, $pop34 # 0: down to label32 # BB#46: # %if.end89 @@ -382,7 +381,7 @@ inner: # @inner i32.const $push131=, 0 i32.store $0=, should_optimize($pop21), $pop131 i32.const $push130=, .L.str.5 - i32.load $push22=, 12($4) + i32.load $push22=, 12($5) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop130, $pop22 block i32.load $push23=, should_optimize($0) @@ -393,7 +392,7 @@ inner: # @inner i32.store $discard=, should_optimize($0), $0 block i32.const $push132=, .L.str.5 - i32.load $push24=, 8($4) + i32.load $push24=, 8($5) i32.call $push25=, __vprintf_chk@FUNCTION, $0, $pop132, $pop24 i32.const $push26=, 1 i32.ne $push27=, $pop25, $pop26 @@ -419,7 +418,7 @@ inner: # @inner i32.const $push134=, 0 i32.store $0=, should_optimize($pop12), $pop134 i32.const $push133=, .L.str.6 - i32.load $push13=, 12($4) + i32.load $push13=, 12($5) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop133, $pop13 block i32.load $push14=, should_optimize($0) @@ -430,7 +429,7 @@ inner: # @inner i32.store $discard=, should_optimize($0), $0 block i32.const $push135=, .L.str.6 - i32.load $push15=, 8($4) + i32.load $push15=, 8($5) i32.call $push16=, __vprintf_chk@FUNCTION, $0, $pop135, $pop15 i32.const $push17=, 7 i32.ne $push18=, $pop16, $pop17 @@ -456,7 +455,7 @@ inner: # @inner i32.const $push137=, 0 i32.store $0=, should_optimize($pop3), $pop137 i32.const $push136=, .L.str.7 - i32.load $push4=, 12($4) + i32.load $push4=, 12($5) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop136, $pop4 i32.load $push5=, should_optimize($0) i32.const $push159=, 0 @@ -465,7 +464,7 @@ inner: # @inner # BB#63: # %if.end121 i32.store $discard=, should_optimize($0), $0 i32.const $push138=, .L.str.7 - i32.load $push6=, 8($4) + i32.load $push6=, 8($5) i32.call $push7=, __vprintf_chk@FUNCTION, $0, $pop138, $pop6 i32.const $push8=, 2 i32.ne $push9=, $pop7, $pop8 @@ -478,10 +477,10 @@ inner: # @inner br_if 1, $pop162 # 1: down to label4 .LBB1_65: # %sw.epilog end_block # label5: - i32.const $3=, 16 - i32.add $4=, $5, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 + i32.const $4=, 16 + i32.add $5=, $5, $4 + i32.const $4=, __stack_pointer + i32.store $5=, 0($4), $5 return .LBB1_66: # %if.then127 end_block # label4: @@ -509,137 +508,69 @@ inner: # @inner .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, 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 $29=, __stack_pointer - i32.load $29=, 0($29) - i32.const $30=, 16 - i32.sub $32=, $29, $30 - i32.const $30=, __stack_pointer - i32.store $32=, 0($30), $32 + i32.const $1=, __stack_pointer + i32.load $1=, 0($1) + i32.const $2=, 112 + i32.sub $10=, $1, $2 + i32.const $2=, __stack_pointer + i32.store $10=, 0($2), $10 i32.const $push0=, 0 - call inner@FUNCTION, $pop0 + i32.const $push20=, 0 + call inner@FUNCTION, $pop0, $pop20 i32.const $push1=, 1 - call inner@FUNCTION, $pop1 + i32.const $push19=, 0 + call inner@FUNCTION, $pop1, $pop19 i32.const $push2=, 2 - call inner@FUNCTION, $pop2 + i32.const $push18=, 0 + call inner@FUNCTION, $pop2, $pop18 i32.const $push3=, 3 - call inner@FUNCTION, $pop3 - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 4 - i32.sub $32=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $32=, 0($2), $32 + i32.const $push17=, 0 + call inner@FUNCTION, $pop3, $pop17 i32.const $push4=, .L.str - i32.store $discard=, 0($32), $pop4 + i32.store $discard=, 96($10):p2align=4, $pop4 i32.const $push5=, 4 - call inner@FUNCTION, $pop5 - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 4 - i32.add $32=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $32=, 0($4), $32 - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 4 - i32.sub $32=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $32=, 0($6), $32 + i32.const $4=, 96 + i32.add $4=, $10, $4 + call inner@FUNCTION, $pop5, $4 i32.const $push6=, .L.str.1 - i32.store $0=, 0($32), $pop6 + i32.store $0=, 80($10):p2align=4, $pop6 i32.const $push7=, 5 - call inner@FUNCTION, $pop7 - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 4 - i32.add $32=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $32=, 0($8), $32 - i32.const $9=, __stack_pointer - i32.load $9=, 0($9) - i32.const $10=, 4 - i32.sub $32=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $32=, 0($10), $32 + i32.const $5=, 80 + i32.add $5=, $10, $5 + call inner@FUNCTION, $pop7, $5 i32.const $push8=, .L.str.2 - i32.store $discard=, 0($32), $pop8 + i32.store $discard=, 64($10):p2align=4, $pop8 i32.const $push9=, 6 - call inner@FUNCTION, $pop9 - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 4 - i32.add $32=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $32=, 0($12), $32 - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 4 - i32.sub $32=, $13, $14 - i32.const $14=, __stack_pointer - i32.store $32=, 0($14), $32 + i32.const $6=, 64 + i32.add $6=, $10, $6 + call inner@FUNCTION, $pop9, $6 i32.const $push10=, .L.str.3 - i32.store $discard=, 0($32), $pop10 + i32.store $discard=, 48($10):p2align=4, $pop10 i32.const $push11=, 7 - call inner@FUNCTION, $pop11 - i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 4 - i32.add $32=, $15, $16 - i32.const $16=, __stack_pointer - i32.store $32=, 0($16), $32 - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 4 - i32.sub $32=, $17, $18 - i32.const $18=, __stack_pointer - i32.store $32=, 0($18), $32 + i32.const $7=, 48 + i32.add $7=, $10, $7 + call inner@FUNCTION, $pop11, $7 i32.const $push12=, 120 - i32.store $discard=, 0($32), $pop12 + i32.store $discard=, 32($10):p2align=4, $pop12 i32.const $push13=, 8 - call inner@FUNCTION, $pop13 - i32.const $19=, __stack_pointer - i32.load $19=, 0($19) - i32.const $20=, 4 - i32.add $32=, $19, $20 - i32.const $20=, __stack_pointer - i32.store $32=, 0($20), $32 - i32.const $21=, __stack_pointer - i32.load $21=, 0($21) - i32.const $22=, 4 - i32.sub $32=, $21, $22 - i32.const $22=, __stack_pointer - i32.store $32=, 0($22), $32 - i32.store $discard=, 0($32), $0 + i32.const $8=, 32 + i32.add $8=, $10, $8 + call inner@FUNCTION, $pop13, $8 + i32.store $discard=, 16($10):p2align=4, $0 i32.const $push14=, 9 - call inner@FUNCTION, $pop14 - i32.const $23=, __stack_pointer - i32.load $23=, 0($23) - i32.const $24=, 4 - i32.add $32=, $23, $24 - i32.const $24=, __stack_pointer - i32.store $32=, 0($24), $32 - i32.const $25=, __stack_pointer - i32.load $25=, 0($25) - i32.const $26=, 4 - i32.sub $32=, $25, $26 - i32.const $26=, __stack_pointer - i32.store $32=, 0($26), $32 + i32.const $9=, 16 + i32.add $9=, $10, $9 + call inner@FUNCTION, $pop14, $9 i32.const $push16=, 0 - i32.store $0=, 0($32), $pop16 + i32.store $0=, 0($10):p2align=4, $pop16 i32.const $push15=, 10 - call inner@FUNCTION, $pop15 - i32.const $27=, __stack_pointer - i32.load $27=, 0($27) - i32.const $28=, 4 - i32.add $32=, $27, $28 - i32.const $28=, __stack_pointer - i32.store $32=, 0($28), $32 - i32.const $31=, 16 - i32.add $32=, $32, $31 - i32.const $31=, __stack_pointer - i32.store $32=, 0($31), $32 + call inner@FUNCTION, $pop15, $10 + i32.const $3=, 112 + i32.add $10=, $10, $3 + i32.const $3=, __stack_pointer + i32.store $10=, 0($3), $10 return $0 .endfunc .Lfunc_end2: |