diff options
author | JF Bastien <github@jfbastien.com> | 2016-02-23 14:57:58 -0800 |
---|---|---|
committer | JF Bastien <github@jfbastien.com> | 2016-02-23 14:57:58 -0800 |
commit | 0bc91f2983cfcf44cb94a94454e8b689b58dec43 (patch) | |
tree | 63b391c3ff7c1c148e23aa771cd87a52e4417277 | |
parent | ac3a3bb22be94bf253558c43ad6d8c96340e1553 (diff) | |
parent | c28b1a17ea319393a3c193626cb0acd353ad497a (diff) | |
download | binaryen-0bc91f2983cfcf44cb94a94454e8b689b58dec43.tar.gz binaryen-0bc91f2983cfcf44cb94a94454e8b689b58dec43.tar.bz2 binaryen-0bc91f2983cfcf44cb94a94454e8b689b58dec43.zip |
Merge pull request #213 from WebAssembly/3450
Update to waterfall revision 3450
280 files changed, 29816 insertions, 20566 deletions
diff --git a/test/revision b/test/revision index 208871b67..dcdbd2468 100644 --- a/test/revision +++ b/test/revision @@ -1 +1 @@ -3321 +3450 diff --git a/test/s2wasm_known_binaryen_shell_test_failures.txt b/test/s2wasm_known_binaryen_shell_test_failures.txt index 48f317b73..e619a7dc9 100644 --- a/test/s2wasm_known_binaryen_shell_test_failures.txt +++ b/test/s2wasm_known_binaryen_shell_test_failures.txt @@ -12,7 +12,6 @@ pr27260.c.s.wast 20050502-1.c.s.wast 20050502-2.c.s.wast 20070201-1.c.s.wast -20070517-1.c.s.wast 20071029-1.c.s.wast 20071030-1.c.s.wast 20080502-1.c.s.wast @@ -35,7 +34,6 @@ pr43236.c.s.wast pr44852.c.s.wast pr44942.c.s.wast pr48571-1.c.s.wast -pr51466.c.s.wast pr51581-1.c.s.wast pr51581-2.c.s.wast pr51877.c.s.wast @@ -65,7 +63,12 @@ complex-7.c.s.wast # code) but it could be binaryen's fault. 20030125-1.c.s.wast 920612-1.c.s.wast +920625-1.c.s.wast 920711-1.c.s.wast +931004-10.c.s.wast +931004-12.c.s.wast +931004-14.c.s.wast +931004-6.c.s.wast bcp-1.c.s.wast bitfld-3.c.s.wast builtin-constant.c.s.wast @@ -73,6 +76,12 @@ eeprof-1.c.s.wast pr22493-1.c.s.wast pr32244-1.c.s.wast pr34971.c.s.wast +pr38151.c.s.wast +pr44575.c.s.wast +stdarg-3.c.s.wast +strct-stdarg-1.c.s.wast +strct-varg-1.c.s.wast +va-arg-pack-1.c.s.wast # callImport: the toolchain needs to properly use libc and a runtime. These # aren't binaryen's fault. @@ -145,3 +154,4 @@ strlen-1.c.s.wast # strlen strncmp-1.c.s.wast # strcmp struct-cpy-1.c.s.wast # memset va-arg-10.c.s.wast # strlen +va-arg-22.c.s.wast # memcpy diff --git a/test/torture-s/20000412-2.c.s b/test/torture-s/20000412-2.c.s index d9ea1e612..b7b7ee66d 100644 --- a/test/torture-s/20000412-2.c.s +++ b/test/torture-s/20000412-2.c.s @@ -7,37 +7,37 @@ f: # @f .param i32, i32 .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $6=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $6=, 0($3), $6 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $3=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $3 block block - i32.store $push3=, 12($6), $0 + i32.store $push3=, 12($3), $0 tee_local $push2=, $0=, $pop3 - i32.const $push4=, 0 - i32.eq $push5=, $pop2, $pop4 - br_if 0, $pop5 # 0: down to label1 + i32.const $push10=, 0 + i32.eq $push11=, $pop2, $pop10 + br_if 0, $pop11 # 0: down to label1 # BB#1: # %if.end i32.const $push0=, -1 i32.add $push1=, $0, $pop0 - i32.const $5=, 12 - i32.add $5=, $6, $5 - i32.call $0=, f@FUNCTION, $pop1, $5 + i32.const $2=, 12 + i32.add $2=, $3, $2 + i32.call $0=, f@FUNCTION, $pop1, $2 br 1 # 1: down to label0 .LBB0_2: # %if.then end_block # label1: i32.load $0=, 0($1) .LBB0_3: # %cleanup end_block # label0: - i32.const $4=, 16 - i32.add $6=, $6, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.const $push8=, 16 + i32.add $3=, $3, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $3 return $0 .endfunc .Lfunc_end0: diff --git a/test/torture-s/20000519-1.c.s b/test/torture-s/20000519-1.c.s index 48f111300..7aa0dacbd 100644 --- a/test/torture-s/20000519-1.c.s +++ b/test/torture-s/20000519-1.c.s @@ -7,40 +7,21 @@ bar: # @bar .param i32, i32 .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $discard=, 12($5), $1 .LBB0_1: # %do.body # =>This Inner Loop Header: Depth=1 loop # label0: - i32.load $push0=, 12($5) - i32.const $push12=, 3 - i32.add $push1=, $pop0, $pop12 - i32.const $push11=, -4 - i32.and $push10=, $pop1, $pop11 - tee_local $push9=, $1=, $pop10 - i32.const $push8=, 4 - i32.add $push2=, $pop9, $pop8 - i32.store $discard=, 12($5), $pop2 - i32.load $push7=, 0($1) - tee_local $push6=, $1=, $pop7 - i32.const $push5=, 10 - i32.gt_s $push3=, $pop6, $pop5 - br_if 0, $pop3 # 0: up to label0 + i32.load $2=, 0($1) + i32.const $push3=, 4 + i32.add $1=, $1, $pop3 + i32.const $push2=, 10 + i32.gt_s $push0=, $2, $pop2 + br_if 0, $pop0 # 0: up to label0 # BB#2: # %do.end end_loop # label1: - i32.add $push4=, $1, $0 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 - return $pop4 + i32.add $push1=, $2, $0 + return $pop1 .endfunc .Lfunc_end0: .size bar, .Lfunc_end0-bar @@ -52,41 +33,26 @@ bar: # @bar foo: # @foo .param i32, i32 .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $push0=, 8($5), $1 - i32.store $discard=, 12($5), $pop0 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $3=, $pop5, $pop6 + i32.store $discard=, 12($3), $1 .LBB1_1: # %do.body.i # =>This Inner Loop Header: Depth=1 loop # label2: - i32.load $push1=, 12($5) - i32.const $push13=, 3 - i32.add $push2=, $pop1, $pop13 - i32.const $push12=, -4 - i32.and $push11=, $pop2, $pop12 - tee_local $push10=, $1=, $pop11 - i32.const $push9=, 4 - i32.add $push3=, $pop10, $pop9 - i32.store $discard=, 12($5), $pop3 - i32.load $push8=, 0($1) - tee_local $push7=, $1=, $pop8 - i32.const $push6=, 10 - i32.gt_s $push4=, $pop7, $pop6 - br_if 0, $pop4 # 0: up to label2 + i32.load $2=, 0($1) + i32.const $push3=, 4 + i32.add $1=, $1, $pop3 + i32.const $push2=, 10 + i32.gt_s $push0=, $2, $pop2 + br_if 0, $pop0 # 0: up to label2 # BB#2: # %bar.exit end_loop # label3: - i32.add $push5=, $1, $0 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 - return $pop5 + i32.add $push1=, $2, $0 + return $pop1 .endfunc .Lfunc_end1: .size foo, .Lfunc_end1-foo @@ -97,28 +63,28 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $0=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $0 i64.const $push0=, 12884901890 - i64.store $discard=, 0($3):p2align=4, $pop0 + i64.store $discard=, 0($0):p2align=4, $pop0 block i32.const $push1=, 1 - i32.call $push2=, foo@FUNCTION, $pop1, $3 + i32.call $push2=, foo@FUNCTION, $pop1, $0 i32.const $push3=, 3 i32.ne $push4=, $pop2, $pop3 br_if 0, $pop4 # 0: down to label4 # BB#1: # %if.end i32.const $push5=, 0 - i32.const $2=, 16 - i32.add $3=, $3, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 + i32.const $push10=, 16 + i32.add $0=, $0, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $0 return $pop5 .LBB2_2: # %if.then end_block # label4: diff --git a/test/torture-s/20000706-4.c.s b/test/torture-s/20000706-4.c.s index b202d4ffc..275205ba7 100644 --- a/test/torture-s/20000706-4.c.s +++ b/test/torture-s/20000706-4.c.s @@ -34,20 +34,20 @@ bar: # @bar .type foo,@function foo: # @foo .param i32, i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $6=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $6=, 0($3), $6 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $3=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $3 i32.const $push1=, 0 - i32.const $5=, 12 - i32.add $5=, $6, $5 - i32.store $discard=, c($pop1), $5 + i32.const $2=, 12 + i32.add $2=, $3, $2 + i32.store $discard=, c($pop1), $2 block - i32.store $push0=, 12($6), $0 + i32.store $push0=, 12($3), $0 i32.const $push2=, 1 i32.ne $push3=, $pop0, $pop2 br_if 0, $pop3 # 0: down to label1 @@ -56,10 +56,10 @@ foo: # @foo i32.ne $push5=, $1, $pop4 br_if 0, $pop5 # 0: down to label1 # BB#2: # %bar.exit - i32.const $4=, 16 - i32.add $6=, $6, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.const $push10=, 16 + i32.add $3=, $3, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $3 return .LBB1_3: # %if.then.i end_block # label1: diff --git a/test/torture-s/20000706-5.c.s b/test/torture-s/20000706-5.c.s index 405129081..f677ccf44 100644 --- a/test/torture-s/20000706-5.c.s +++ b/test/torture-s/20000706-5.c.s @@ -85,16 +85,16 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $2=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $2=, 0($1), $2 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $0=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $0 i32.const $push0=, 0 - i32.store $discard=, c($pop0), $2 + i32.store $discard=, c($pop0), $0 i32.const $push1=, 0 call exit@FUNCTION, $pop1 unreachable diff --git a/test/torture-s/20000801-1.c.s b/test/torture-s/20000801-1.c.s index cd55aee4b..875d03834 100644 --- a/test/torture-s/20000801-1.c.s +++ b/test/torture-s/20000801-1.c.s @@ -52,27 +52,23 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local 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 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 - i32.const $push0=, 2 - i32.const $3=, 12 - i32.add $3=, $4, $3 - i32.or $push1=, $3, $pop0 - i32.const $push2=, 0 - i32.store $push3=, 12($4), $pop2 - i32.store8 $0=, 0($pop1):p2align=1, $pop3 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $2=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $2 + i32.const $push0=, 0 + i32.store $0=, 12($2), $pop0 + i32.const $push1=, 1 + i32.store16 $1=, 12($2):p2align=2, $pop1 + i32.store8 $discard=, 14($2):p2align=1, $0 block - i32.const $push4=, 1 - i32.store16 $push5=, 12($4):p2align=2, $pop4 - i32.load $push6=, 12($4) - i32.ne $push7=, $pop5, $pop6 - br_if 0, $pop7 # 0: down to label3 + i32.load $push2=, 12($2) + i32.ne $push3=, $1, $pop2 + br_if 0, $pop3 # 0: down to label3 # BB#1: # %if.end call exit@FUNCTION, $0 unreachable diff --git a/test/torture-s/20000801-2.c.s b/test/torture-s/20000801-2.c.s index 31b8513ca..3af771687 100644 --- a/test/torture-s/20000801-2.c.s +++ b/test/torture-s/20000801-2.c.s @@ -58,22 +58,22 @@ baz: # @baz .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, 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 $5=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 - i32.const $3=, 12 - i32.add $3=, $5, $3 - copy_local $0=, $3 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $3=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $3 + i32.const $1=, 12 + i32.add $1=, $3, $1 + copy_local $0=, $1 i32.const $push0=, 0 - i32.store $discard=, 8($5):p2align=3, $pop0 - i32.const $4=, 8 - i32.add $4=, $5, $4 - i32.store $discard=, 12($5), $4 + i32.store $discard=, 8($3):p2align=3, $pop0 + i32.const $2=, 8 + i32.add $2=, $3, $2 + i32.store $discard=, 12($3), $2 .LBB3_1: # %while.body.i # =>This Inner Loop Header: Depth=1 loop # label3: diff --git a/test/torture-s/20000801-4.c.s b/test/torture-s/20000801-4.c.s index 9416d853c..09e139b70 100644 --- a/test/torture-s/20000801-4.c.s +++ b/test/torture-s/20000801-4.c.s @@ -19,18 +19,18 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $1=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $1 i32.const $push0=, 0 - i32.const $2=, 14 - i32.add $2=, $3, $2 - i32.store $discard=, t($pop0), $2 + i32.const $0=, 14 + i32.add $0=, $1, $0 + i32.store $discard=, t($pop0), $0 i32.const $push1=, 0 call exit@FUNCTION, $pop1 unreachable diff --git a/test/torture-s/20000815-1.c.s b/test/torture-s/20000815-1.c.s index de0ad6571..d6eea9239 100644 --- a/test/torture-s/20000815-1.c.s +++ b/test/torture-s/20000815-1.c.s @@ -117,38 +117,38 @@ remove_from_table: # @remove_from_table .type main,@function main: # @main .result i32 - .local 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 $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 48 - i32.sub $10=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $10=, 0($5), $10 + i32.const $push17=, __stack_pointer + i32.load $push18=, 0($pop17) + i32.const $push19=, 48 + i32.sub $7=, $pop18, $pop19 + i32.const $push20=, __stack_pointer + i32.store $discard=, 0($pop20), $7 i32.const $1=, 0 i32.const $push8=, 0 i32.const $push0=, 40 - i32.const $7=, 8 - i32.add $7=, $10, $7 - i32.call $discard=, memset@FUNCTION, $7, $pop8, $pop0 + i32.const $4=, 8 + i32.add $4=, $7, $4 + i32.call $discard=, memset@FUNCTION, $4, $pop8, $pop0 i32.const $push1=, 1 - i32.store8 $0=, 44($10):p2align=2, $pop1 + i32.store8 $0=, 44($7):p2align=2, $pop1 i32.const $push7=, 0 - i32.const $8=, 8 - i32.add $8=, $10, $8 - i32.store $discard=, table($pop7):p2align=4, $8 - i32.const $9=, 8 - i32.add $9=, $10, $9 - copy_local $2=, $9 + i32.const $5=, 8 + i32.add $5=, $7, $5 + i32.store $discard=, table($pop7):p2align=4, $5 + i32.const $6=, 8 + i32.add $6=, $7, $6 + copy_local $2=, $6 .LBB3_1: # %for.body.i # =>This Loop Header: Depth=1 # Child Loop BB3_2 Depth 2 block loop # label8: block - i32.const $push17=, 0 - i32.eq $push18=, $2, $pop17 - br_if 0, $pop18 # 0: down to label10 + i32.const $push23=, 0 + i32.eq $push24=, $2, $pop23 + br_if 0, $pop24 # 0: down to label10 .LBB3_2: # %for.body6.i # Parent Loop BB3_1 Depth=1 # => This Inner Loop Header: Depth=2 @@ -188,10 +188,10 @@ main: # @main .LBB3_7: # %invalidate_memory.exit end_loop # label9: i32.const $push5=, 0 - i32.const $6=, 48 - i32.add $10=, $10, $6 - i32.const $6=, __stack_pointer - i32.store $10=, 0($6), $10 + i32.const $push21=, 48 + i32.add $7=, $7, $pop21 + i32.const $push22=, __stack_pointer + i32.store $discard=, 0($pop22), $7 return $pop5 .LBB3_8: # %if.then.i end_block # label7: diff --git a/test/torture-s/20001228-1.c.s b/test/torture-s/20001228-1.c.s index f09fee55d..1e339ca47 100644 --- a/test/torture-s/20001228-1.c.s +++ b/test/torture-s/20001228-1.c.s @@ -19,21 +19,15 @@ foo1: # @foo1 .type foo2,@function foo2: # @foo2 .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $0=, $pop3, $pop4 i32.const $push0=, 1 - i32.store $discard=, 12($3), $pop0 - i32.load8_s $push1=, 12($3):p2align=2 - i32.const $2=, 16 - i32.add $3=, $3, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 + i32.store $discard=, 12($0), $pop0 + i32.load8_s $push1=, 12($0):p2align=2 return $pop1 .endfunc .Lfunc_end1: @@ -45,18 +39,18 @@ foo2: # @foo2 .type main,@function main: # @main .result i32 - .local i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $2=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $2=, 0($1), $2 + i32.const $push5=, __stack_pointer + i32.load $push6=, 0($pop5) + i32.const $push7=, 16 + i32.sub $0=, $pop6, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $0 block i32.const $push0=, 1 - i32.store $push1=, 12($2), $pop0 - i32.load8_u $push2=, 12($2):p2align=2 + i32.store $push1=, 12($0), $pop0 + i32.load8_u $push2=, 12($0):p2align=2 i32.ne $push3=, $pop1, $pop2 br_if 0, $pop3 # 0: down to label0 # BB#1: # %if.end diff --git a/test/torture-s/20010116-1.c.s b/test/torture-s/20010116-1.c.s index ab3d218de..ed2e11ffc 100644 --- a/test/torture-s/20010116-1.c.s +++ b/test/torture-s/20010116-1.c.s @@ -59,17 +59,17 @@ ok: # @ok .type main,@function main: # @main .result i32 - .local i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 48 - i32.sub $2=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $2=, 0($1), $2 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 48 + i32.sub $0=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $0 i32.const $push0=, 48 - i32.add $push1=, $2, $pop0 - call find@FUNCTION, $2, $pop1 + i32.add $push1=, $0, $pop0 + call find@FUNCTION, $0, $pop1 unreachable .endfunc .Lfunc_end2: diff --git a/test/torture-s/20010129-1.c.s b/test/torture-s/20010129-1.c.s index 8ae3ea723..1fa7d3509 100644 --- a/test/torture-s/20010129-1.c.s +++ b/test/torture-s/20010129-1.c.s @@ -171,20 +171,20 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local 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 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 + i32.const $push5=, __stack_pointer + i32.load $push6=, 0($pop5) + i32.const $push7=, 16 + i32.sub $2=, $pop6, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $2 i32.const $push0=, 0 - i32.store $push4=, 12($4), $pop0 + i32.store $push4=, 12($2), $pop0 tee_local $push3=, $0=, $pop4 - i32.const $3=, 12 - i32.add $3=, $4, $3 - i32.store $discard=, bar($pop3), $3 + i32.const $1=, 12 + i32.add $1=, $2, $1 + i32.store $discard=, bar($pop3), $1 i32.const $push2=, 1 i32.const $push1=, 51217 i32.call $discard=, foo@FUNCTION, $0, $pop2, $pop1 diff --git a/test/torture-s/20010518-2.c.s b/test/torture-s/20010518-2.c.s index 3bec96ad0..45d7760b2 100644 --- a/test/torture-s/20010518-2.c.s +++ b/test/torture-s/20010518-2.c.s @@ -6,62 +6,62 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 48 - i32.sub $4=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 + i32.const $push29=, __stack_pointer + i32.load $push30=, 0($pop29) + i32.const $push31=, 48 + i32.sub $2=, $pop30, $pop31 + i32.const $push32=, __stack_pointer + i32.store $discard=, 0($pop32), $2 i32.const $push2=, 3 - i32.store16 $discard=, 22($4), $pop2 + i32.store16 $discard=, 22($2), $pop2 i32.const $push3=, 4 - i32.store16 $discard=, 20($4), $pop3 + i32.store16 $discard=, 20($2), $pop3 i32.const $push4=, 0 - i32.store $push5=, 16($4):p2align=3, $pop4 - i32.store8 $push6=, 15($4), $pop5 - i32.store8 $discard=, 14($4), $pop6 + i32.store $push5=, 16($2):p2align=3, $pop4 + i32.store8 $push6=, 15($2), $pop5 + i32.store8 $discard=, 14($2), $pop6 i32.const $push0=, 1 - i32.store16 $0=, 28($4), $pop0 + i32.store16 $0=, 28($2), $pop0 i32.const $push1=, 2 - i32.store $1=, 24($4), $pop1 - i32.load16_u $push7=, 28($4) - i32.store16 $discard=, 46($4), $pop7 - i32.load $push8=, 24($4) - i32.store $discard=, 40($4), $pop8 - i32.load16_u $push9=, 22($4) - i32.store16 $discard=, 38($4), $pop9 - i32.load16_u $push10=, 20($4) - i32.store16 $discard=, 36($4), $pop10 - i32.load $push11=, 16($4):p2align=3 - i32.store $discard=, 32($4):p2align=3, $pop11 - i32.load8_u $push12=, 15($4) - i32.store8 $discard=, 31($4), $pop12 - i32.load8_u $push13=, 14($4) - i32.store8 $discard=, 30($4), $pop13 + i32.store $1=, 24($2), $pop1 + i32.load16_u $push7=, 28($2) + i32.store16 $discard=, 46($2), $pop7 + i32.load $push8=, 24($2) + i32.store $discard=, 40($2), $pop8 + i32.load16_u $push9=, 22($2) + i32.store16 $discard=, 38($2), $pop9 + i32.load16_u $push10=, 20($2) + i32.store16 $discard=, 36($2), $pop10 + i32.load $push11=, 16($2):p2align=3 + i32.store $discard=, 32($2):p2align=3, $pop11 + i32.load8_u $push12=, 15($2) + i32.store8 $discard=, 31($2), $pop12 + i32.load8_u $push13=, 14($2) + i32.store8 $discard=, 30($2), $pop13 i32.const $push14=, 99 - i32.store8 $discard=, 31($4), $pop14 + i32.store8 $discard=, 31($2), $pop14 block - i32.load16_u $push15=, 46($4) + i32.load16_u $push15=, 46($2) i32.ne $push16=, $0, $pop15 br_if 0, $pop16 # 0: down to label0 # BB#1: # %lor.lhs.false - i32.load $push17=, 40($4) + i32.load $push17=, 40($2) i32.ne $push18=, $pop17, $1 br_if 0, $pop18 # 0: down to label0 # BB#2: # %lor.lhs.false9 - i32.load16_u $push19=, 38($4) + i32.load16_u $push19=, 38($2) i32.const $push20=, 3 i32.ne $push21=, $pop19, $pop20 br_if 0, $pop21 # 0: down to label0 # BB#3: # %lor.lhs.false14 - i32.load16_u $push22=, 36($4) + i32.load16_u $push22=, 36($2) i32.const $push23=, 4 i32.ne $push24=, $pop22, $pop23 br_if 0, $pop24 # 0: down to label0 # BB#4: # %lor.lhs.false19 - i32.load8_u $push25=, 31($4) + i32.load8_u $push25=, 31($2) i32.const $push26=, 99 i32.ne $push27=, $pop25, $pop26 br_if 0, $pop27 # 0: down to label0 diff --git a/test/torture-s/20010915-1.c.s b/test/torture-s/20010915-1.c.s index 4148262b4..e386370d2 100644 --- a/test/torture-s/20010915-1.c.s +++ b/test/torture-s/20010915-1.c.s @@ -7,44 +7,42 @@ main: # @main .param i32, i32 .result i32 - .local i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 32 - i32.sub $4=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 + i32.const $push18=, __stack_pointer + i32.load $push19=, 0($pop18) + i32.const $push20=, 32 + i32.sub $2=, $pop19, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $2 i32.const $push2=, 16 - i32.add $push3=, $4, $pop2 - i32.const $push17=, 0 - i32.load $push1=, .Lmain.args+16($pop17):p2align=4 - i32.store $discard=, 0($pop3):p2align=4, $pop1 - i32.const $push5=, 8 - i32.or $push6=, $4, $pop5 - i32.const $push16=, 0 - i64.load $push4=, .Lmain.args+8($pop16) - i64.store $discard=, 0($pop6), $pop4 + i32.add $push3=, $2, $pop2 i32.const $push15=, 0 - i64.load $push7=, .Lmain.args($pop15):p2align=4 - i64.store $discard=, 0($4):p2align=4, $pop7 - i32.const $push14=, 5 - i32.call $discard=, x@FUNCTION, $pop14, $4 - block + i32.load $push1=, .Lmain.args+16($pop15):p2align=4 + i32.store $discard=, 0($pop3):p2align=4, $pop1 + i32.const $push14=, 0 + i64.load $push4=, .Lmain.args+8($pop14) + i64.store $discard=, 8($2), $pop4 i32.const $push13=, 0 - i32.load $push8=, check($pop13) - i32.const $push9=, 2 - i32.ne $push10=, $pop8, $pop9 - br_if 0, $pop10 # 0: down to label0 + i64.load $push5=, .Lmain.args($pop13):p2align=4 + i64.store $discard=, 0($2):p2align=4, $pop5 + i32.const $push12=, 5 + i32.call $discard=, x@FUNCTION, $pop12, $2 + block + i32.const $push11=, 0 + i32.load $push6=, check($pop11) + i32.const $push7=, 2 + i32.ne $push8=, $pop6, $pop7 + br_if 0, $pop8 # 0: down to label0 # BB#1: # %entry - i32.const $push19=, 0 - i32.load $push0=, o($pop19) - i32.const $push18=, 5 - i32.ne $push11=, $pop0, $pop18 - br_if 0, $pop11 # 0: down to label0 + i32.const $push17=, 0 + i32.load $push0=, o($pop17) + i32.const $push16=, 5 + i32.ne $push9=, $pop0, $pop16 + br_if 0, $pop9 # 0: down to label0 # BB#2: # %if.end - i32.const $push12=, 0 - call exit@FUNCTION, $pop12 + i32.const $push10=, 0 + call exit@FUNCTION, $pop10 unreachable .LBB0_3: # %if.then end_block # label0: diff --git a/test/torture-s/20011126-2.c.s b/test/torture-s/20011126-2.c.s index 307e19bb4..9013c0957 100644 --- a/test/torture-s/20011126-2.c.s +++ b/test/torture-s/20011126-2.c.s @@ -6,17 +6,15 @@ .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, i32 # BB#0: # %entry - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 16 - i32.sub $11=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $11=, 0($8), $11 - i32.const $10=, 12 - i32.add $10=, $11, $10 - copy_local $5=, $10 + i32.const $push27=, __stack_pointer + i32.load $push28=, 0($pop27) + i32.const $push29=, 16 + i32.sub $8=, $pop28, $pop29 + i32.const $7=, 12 + i32.add $7=, $8, $7 + copy_local $5=, $7 i32.const $1=, .L.str .LBB0_1: # %while.body.outer.outer.i # =>This Loop Header: Depth=1 @@ -107,10 +105,6 @@ main: # @main end_loop # label12: end_block # label3: i32.const $push4=, 0 - i32.const $9=, 16 - i32.add $11=, $11, $9 - i32.const $9=, __stack_pointer - i32.store $11=, 0($9), $11 return $pop4 .LBB0_11: # %while.body.outer.outer.i.loopexit # in Loop: Header=BB0_1 Depth=1 diff --git a/test/torture-s/20020118-1.c.s b/test/torture-s/20020118-1.c.s index a69f24902..06558c3f7 100644 --- a/test/torture-s/20020118-1.c.s +++ b/test/torture-s/20020118-1.c.s @@ -7,56 +7,46 @@ foo: # @foo .local i32 # BB#0: # %entry + i32.const $push13=, 0 + i32.load $push0=, q($pop13) + i32.const $push1=, 2 + i32.add $0=, $pop0, $pop1 .LBB0_1: # %for.cond # =>This Inner Loop Header: Depth=1 loop # label0: - i32.const $push35=, 0 - i32.const $push34=, 0 - i32.load $push33=, q($pop34) - tee_local $push32=, $0=, $pop33 - i32.load8_s $push0=, 2($pop32) - i32.store $discard=, n($pop35), $pop0 - i32.const $push31=, 0 - i32.load8_s $push1=, 2($0) - i32.store $discard=, n($pop31), $pop1 - i32.const $push30=, 0 - i32.load8_s $push2=, 2($0) - i32.store $discard=, n($pop30), $pop2 - i32.const $push29=, 0 - i32.load8_s $push3=, 2($0) - i32.store $discard=, n($pop29), $pop3 - i32.const $push28=, 0 - i32.const $push27=, 0 - i32.load $push26=, q($pop27) - tee_local $push25=, $0=, $pop26 - i32.load8_s $push4=, 2($pop25) - i32.store $discard=, n($pop28), $pop4 i32.const $push24=, 0 - i32.load8_s $push5=, 2($0) - i32.store $discard=, n($pop24), $pop5 + i32.load8_s $push2=, 0($0) + i32.store $discard=, n($pop24), $pop2 i32.const $push23=, 0 + i32.load8_s $push3=, 0($0) + i32.store $discard=, n($pop23), $pop3 i32.const $push22=, 0 - i32.load $push21=, q($pop22) - tee_local $push20=, $0=, $pop21 - i32.load8_s $push6=, 2($pop20) - i32.store $discard=, n($pop23), $pop6 + i32.load8_s $push4=, 0($0) + i32.store $discard=, n($pop22), $pop4 + i32.const $push21=, 0 + i32.load8_s $push5=, 0($0) + i32.store $discard=, n($pop21), $pop5 + i32.const $push20=, 0 + i32.load8_s $push6=, 0($0) + i32.store $discard=, n($pop20), $pop6 i32.const $push19=, 0 - i32.load8_s $push7=, 2($0) + i32.load8_s $push7=, 0($0) i32.store $discard=, n($pop19), $pop7 i32.const $push18=, 0 - i32.const $push17=, 0 - i32.load $push16=, q($pop17) - tee_local $push15=, $0=, $pop16 - i32.load8_s $push8=, 2($pop15) + i32.load8_s $push8=, 0($0) i32.store $discard=, n($pop18), $pop8 + i32.const $push17=, 0 + i32.load8_s $push9=, 0($0) + i32.store $discard=, n($pop17), $pop9 + i32.const $push16=, 0 + i32.load8_s $push10=, 0($0) + i32.store $discard=, n($pop16), $pop10 + i32.const $push15=, 0 + i32.load8_s $push11=, 0($0) + i32.store $discard=, n($pop15), $pop11 i32.const $push14=, 0 - i32.load8_s $push9=, 2($0) - i32.store $discard=, n($pop14), $pop9 - i32.const $push13=, 0 - i32.const $push12=, 0 - i32.load $push10=, q($pop12) - i32.load8_s $push11=, 2($pop10) - i32.store $discard=, n($pop13), $pop11 + i32.load8_s $push12=, 0($0) + i32.store $discard=, n($pop14), $pop12 br 0 # 0: up to label0 .LBB0_2: end_loop # label1: diff --git a/test/torture-s/20020129-1.c.s b/test/torture-s/20020129-1.c.s index 265ca47f8..48b049c11 100644 --- a/test/torture-s/20020129-1.c.s +++ b/test/torture-s/20020129-1.c.s @@ -12,19 +12,17 @@ foo: # @foo block block block - block - block i32.load $push0=, 28($0) i32.const $push17=, 0 i32.eq $push18=, $pop0, $pop17 - br_if 0, $pop18 # 0: down to label4 + br_if 0, $pop18 # 0: down to label2 # BB#1: # %if.end i32.const $push19=, 0 i32.eq $push20=, $3, $pop19 - br_if 1, $pop20 # 1: down to label3 - br 2 # 2: down to label2 + br_if 1, $pop20 # 1: down to label1 + br 2 # 2: down to label0 .LBB0_2: # %if.then - end_block # label4: + end_block # label2: i32.const $push1=, 28 i32.add $push2=, $0, $pop1 i32.store $discard=, 0($pop2), $3 @@ -34,31 +32,30 @@ foo: # @foo i32.store $discard=, 0($pop3), $pop4 i32.const $push21=, 0 i32.eq $push22=, $3, $pop21 - br_if 0, $pop22 # 0: down to label3 + br_if 0, $pop22 # 0: down to label1 .LBB0_3: # %for.body # =>This Inner Loop Header: Depth=1 - loop # label5: + loop # label3: i32.store $discard=, 4($3), $0 i32.load $3=, 0($3) - br_if 0, $3 # 0: up to label5 + br_if 0, $3 # 0: up to label3 .LBB0_4: # %if.end7 - end_loop # label6: - end_block # label3: + end_loop # label4: + end_block # label1: i32.load $3=, 12($1) + block i32.load $push5=, 12($0) i32.const $push13=, -1 i32.eq $push6=, $pop5, $pop13 - br_if 1, $pop6 # 1: down to label1 + br_if 0, $pop6 # 0: down to label5 # BB#5: # %if.end22 i32.const $push16=, -1 - i32.eq $push7=, $3, $pop16 - br_if 2, $pop7 # 2: down to label0 -.LBB0_6: # %if.then26 - end_block # label2: - call abort@FUNCTION - unreachable + i32.ne $push7=, $3, $pop16 + br_if 1, $pop7 # 1: down to label0 +# BB#6: # %if.end27 + return .LBB0_7: # %if.end22.thread - end_block # label1: + end_block # label5: i32.load $2=, 16($1) i32.const $push8=, 12 i32.add $push9=, $0, $pop8 @@ -70,9 +67,11 @@ foo: # @foo i32.store $discard=, 0($pop10), $pop14 i32.const $push11=, 0 i32.store $discard=, 16($1), $pop11 -.LBB0_8: # %if.end27 - end_block # label0: return +.LBB0_8: # %if.then26 + end_block # label0: + call abort@FUNCTION + unreachable .endfunc .Lfunc_end0: .size foo, .Lfunc_end0-foo diff --git a/test/torture-s/20020206-1.c.s b/test/torture-s/20020206-1.c.s index 5c293632d..30342291c 100644 --- a/test/torture-s/20020206-1.c.s +++ b/test/torture-s/20020206-1.c.s @@ -54,19 +54,19 @@ baz: # @baz .type main,@function main: # @main .result i32 - .local i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $2=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $2=, 0($1), $2 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $0=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $0 i32.const $push1=, 31 - i32.store $discard=, 8($2):p2align=3, $pop1 + i32.store $discard=, 8($0):p2align=3, $pop1 i64.const $push0=, 223338299568 - i64.store $discard=, 0($2), $pop0 - call baz@FUNCTION, $2 + i64.store $discard=, 0($0), $pop0 + call baz@FUNCTION, $0 i32.const $push2=, 0 call exit@FUNCTION, $pop2 unreachable diff --git a/test/torture-s/20020406-1.c.s b/test/torture-s/20020406-1.c.s index d0aabc17d..38dcf5cb7 100644 --- a/test/torture-s/20020406-1.c.s +++ b/test/torture-s/20020406-1.c.s @@ -118,83 +118,81 @@ DUPFFshift_add: # @DUPFFshift_add DUPFFexgcd: # @DUPFFexgcd .param i32, i32, i32, i32 .result i32 - .local i32, 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 - i32.const $10=, __stack_pointer - i32.store $12=, 0($10), $12 - i32.load $8=, 4($2) - i32.load $7=, 4($3) - i32.const $push1=, 4 - i32.or $6=, $12, $pop1 + i32.const $push28=, __stack_pointer + i32.load $push29=, 0($pop28) + i32.const $push30=, 16 + i32.sub $8=, $pop29, $pop30 + i32.const $push31=, __stack_pointer + i32.store $discard=, 0($pop31), $8 + i32.load $7=, 4($2) + i32.load $6=, 4($3) .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 + i32.store $discard=, 4($8), $6 + i32.store $discard=, 0($8):p2align=4, $7 copy_local $5=, $3 copy_local $3=, $2 copy_local $4=, $1 copy_local $1=, $0 - i32.const $push21=, .L.str - i32.call $discard=, printf@FUNCTION, $pop21, $12 - i32.load $7=, 4($3) - i32.load $8=, 4($5) + i32.const $push20=, .L.str + i32.call $discard=, printf@FUNCTION, $pop20, $8 + i32.load $6=, 4($3) + i32.load $7=, 4($5) copy_local $0=, $4 copy_local $2=, $5 - i32.lt_s $push2=, $7, $8 - br_if 0, $pop2 # 0: up to label1 + i32.lt_s $push1=, $6, $7 + br_if 0, $pop1 # 0: up to label1 # BB#2: # %if.end end_loop # label2: block - i32.const $push3=, 2 - i32.ne $push4=, $7, $pop3 - br_if 0, $pop4 # 0: down to label3 + i32.const $push2=, 2 + i32.ne $push3=, $6, $pop2 + br_if 0, $pop3 # 0: down to label3 # BB#3: # %if.end - i32.const $push5=, 1 - i32.ne $push6=, $8, $pop5 - br_if 0, $pop6 # 0: down to label3 + i32.const $push4=, 1 + i32.ne $push5=, $7, $pop4 + br_if 0, $pop5 # 0: down to label3 # BB#4: # %if.end11 block - i32.load $push7=, 8($3) - i32.load $push8=, 0($pop7) - i32.const $push29=, 0 - i32.eq $push30=, $pop8, $pop29 - br_if 0, $pop30 # 0: down to label4 + i32.load $push6=, 8($3) + i32.load $push7=, 0($pop6) + i32.const $push34=, 0 + i32.eq $push35=, $pop7, $pop34 + br_if 0, $pop35 # 0: down to label4 # BB#5: # %DUPFFnew.exit167 - i32.const $push9=, 12 - i32.call $push27=, malloc@FUNCTION, $pop9 - tee_local $push26=, $8=, $pop27 - i32.const $push10=, 2 - i32.const $push25=, 4 - i32.call $push11=, calloc@FUNCTION, $pop10, $pop25 - i32.store $push12=, 8($pop26), $pop11 - i32.const $push13=, 1 - i32.store $push14=, 0($8), $pop13 - i32.store $2=, 0($pop12), $pop14 - i32.const $push15=, 0 - i32.store $discard=, 4($8), $pop15 - i32.const $push24=, 12 - i32.call $7=, malloc@FUNCTION, $pop24 - i32.const $push16=, 3 - i32.const $push23=, 4 - i32.call $0=, calloc@FUNCTION, $pop16, $pop23 - i64.const $push17=, -4294967294 - i64.store $discard=, 0($7):p2align=2, $pop17 + i32.const $push8=, 12 + i32.call $push26=, malloc@FUNCTION, $pop8 + tee_local $push25=, $7=, $pop26 + i32.const $push9=, 2 + i32.const $push24=, 4 + i32.call $push10=, calloc@FUNCTION, $pop9, $pop24 + i32.store $push11=, 8($pop25), $pop10 + i32.const $push12=, 1 + i32.store $push13=, 0($7), $pop12 + i32.store $2=, 0($pop11), $pop13 + i32.const $push14=, 0 + i32.store $discard=, 4($7), $pop14 + i32.const $push23=, 12 + i32.call $6=, malloc@FUNCTION, $pop23 + i32.const $push15=, 3 i32.const $push22=, 4 - i32.add $push18=, $5, $pop22 - i32.load $5=, 0($pop18) - i32.store $discard=, 8($7), $0 + i32.call $0=, calloc@FUNCTION, $pop15, $pop22 + i64.const $push16=, -4294967294 + i64.store $discard=, 0($6):p2align=2, $pop16 + i32.const $push21=, 4 + i32.add $push17=, $5, $pop21 + i32.load $5=, 0($pop17) + i32.store $discard=, 8($6), $0 block - i32.lt_s $push19=, $5, $2 - br_if 0, $pop19 # 0: down to label5 + i32.lt_s $push18=, $5, $2 + br_if 0, $pop18 # 0: down to label5 # BB#6: # %while.cond40.preheader.lr.ph - i32.const $push28=, 4 - i32.add $push20=, $3, $pop28 - i32.load $push0=, 0($pop20) + i32.const $push27=, 4 + i32.add $push19=, $3, $pop27 + i32.load $push0=, 0($pop19) i32.lt_s $3=, $pop0, $5 .LBB7_7: # %while.cond40.preheader # =>This Inner Loop Header: Depth=1 @@ -208,14 +206,14 @@ DUPFFexgcd: # @DUPFFexgcd .LBB7_9: # %if.end57 end_loop # label9: end_block # label5: - i32.store $discard=, 0($1), $8 - i32.store $discard=, 0($4), $7 + i32.store $discard=, 0($1), $7 + i32.store $discard=, 0($4), $6 .LBB7_10: # %cleanup end_block # label4: - i32.const $11=, 16 - i32.add $12=, $12, $11 - i32.const $11=, __stack_pointer - i32.store $12=, 0($11), $12 + i32.const $push32=, 16 + i32.add $8=, $8, $pop32 + i32.const $push33=, __stack_pointer + i32.store $discard=, 0($pop33), $8 return $3 .LBB7_11: # %if.then10 end_block # label3: @@ -231,14 +229,14 @@ DUPFFexgcd: # @DUPFFexgcd .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, i32 # BB#0: # %entry - 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 $push19=, __stack_pointer + i32.load $push20=, 0($pop19) + i32.const $push21=, 16 + i32.sub $6=, $pop20, $pop21 + i32.const $push22=, __stack_pointer + i32.store $discard=, 0($pop22), $6 i32.const $push0=, 12 i32.call $0=, malloc@FUNCTION, $pop0 i32.const $push2=, 2 @@ -249,35 +247,33 @@ main: # @main i32.store $push6=, 0($0), $pop5 i32.store $push7=, 4($pop4), $pop6 i32.store $1=, 4($0), $pop7 - i32.const $push20=, 12 - i32.call $push19=, malloc@FUNCTION, $pop20 - tee_local $push18=, $3=, $pop19 + i32.const $push18=, 12 + i32.call $push17=, malloc@FUNCTION, $pop18 + tee_local $push16=, $3=, $pop17 i32.const $push8=, 3 - i32.const $push17=, 4 - i32.call $push9=, calloc@FUNCTION, $pop8, $pop17 - i32.store $push10=, 8($pop18), $pop9 + i32.const $push15=, 4 + i32.call $push9=, calloc@FUNCTION, $pop8, $pop15 + i32.store $push10=, 8($pop16), $pop9 i32.store $discard=, 8($pop10), $1 - i32.const $push16=, 2 - i32.store $push11=, 0($3), $pop16 - i32.store $1=, 4($3), $pop11 + i32.const $push14=, 2 + i32.store $1=, 0($3), $pop14 i32.load $2=, 4($0) - i32.const $push15=, 4 - i32.or $push12=, $9, $pop15 - i32.store $discard=, 0($pop12), $1 - i32.store $discard=, 0($9):p2align=4, $2 - i32.const $push13=, .L.str.1 - i32.call $discard=, printf@FUNCTION, $pop13, $9 - i32.const $7=, 12 - i32.add $7=, $9, $7 - i32.const $8=, 8 - i32.add $8=, $9, $8 - i32.call $discard=, DUPFFexgcd@FUNCTION, $7, $8, $0, $3 - i32.const $push14=, 0 - i32.const $6=, 16 - i32.add $9=, $9, $6 - i32.const $6=, __stack_pointer - i32.store $9=, 0($6), $9 - return $pop14 + i32.store $push11=, 4($3), $1 + i32.store $discard=, 4($6), $pop11 + i32.store $discard=, 0($6):p2align=4, $2 + i32.const $push12=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop12, $6 + i32.const $4=, 12 + i32.add $4=, $6, $4 + i32.const $5=, 8 + i32.add $5=, $6, $5 + i32.call $discard=, DUPFFexgcd@FUNCTION, $4, $5, $0, $3 + i32.const $push13=, 0 + i32.const $push23=, 16 + i32.add $6=, $6, $pop23 + i32.const $push24=, __stack_pointer + i32.store $discard=, 0($pop24), $6 + return $pop13 .endfunc .Lfunc_end8: .size main, .Lfunc_end8-main diff --git a/test/torture-s/20020413-1.c.s b/test/torture-s/20020413-1.c.s index 44b881adb..07b49f5d6 100644 --- a/test/torture-s/20020413-1.c.s +++ b/test/torture-s/20020413-1.c.s @@ -6,32 +6,32 @@ .type test,@function test: # @test .param i64, i64, i32 - .local 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=, 16 - i32.sub $8=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $8=, 0($6), $8 + i32.const $push133=, __stack_pointer + i32.load $push134=, 0($pop133) + i32.const $push135=, 16 + i32.sub $5=, $pop134, $pop135 + i32.const $push136=, __stack_pointer + i32.store $discard=, 0($pop136), $5 i64.const $push92=, 0 i64.const $push91=, 0 i32.call $3=, __lttf2@FUNCTION, $0, $1, $pop92, $pop91 i32.const $4=, 0 i64.const $push90=, 0 i64.const $push0=, -9223372036854775808 - call __subtf3@FUNCTION, $8, $pop90, $pop0, $0, $1 + call __subtf3@FUNCTION, $5, $pop90, $pop0, $0, $1 block block block - i64.load $push4=, 0($8) + i64.load $push4=, 0($5) i32.const $push89=, 0 i32.lt_s $push88=, $3, $pop89 tee_local $push87=, $3=, $pop88 i64.select $push86=, $pop4, $0, $pop87 tee_local $push85=, $0=, $pop86 i32.const $push1=, 8 - i32.add $push2=, $8, $pop1 + i32.add $push2=, $5, $pop1 i64.load $push3=, 0($pop2) i64.select $push84=, $pop3, $1, $3 tee_local $push83=, $1=, $pop84 @@ -45,9 +45,9 @@ test: # @test i64.const $push97=, 0 i64.const $push96=, 0 i32.call $push42=, __eqtf2@FUNCTION, $0, $1, $pop97, $pop96 - i32.const $push133=, 0 - i32.eq $push134=, $pop42, $pop133 - br_if 1, $pop134 # 1: down to label1 + i32.const $push139=, 0 + i32.eq $push140=, $pop42, $pop139 + br_if 1, $pop140 # 1: down to label1 # BB#2: # %if.else i64.const $push98=, 0 i64.const $push43=, 4611404543450677248 @@ -229,10 +229,10 @@ test: # @test .LBB0_25: # %if.end19 end_block # label1: i32.store $discard=, 0($2), $4 - i32.const $7=, 16 - i32.add $8=, $8, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 + i32.const $push137=, 16 + i32.add $5=, $5, $pop137 + i32.const $push138=, __stack_pointer + i32.store $discard=, 0($pop138), $5 return .LBB0_26: # %while.body.10 end_block # label0: @@ -248,34 +248,34 @@ test: # @test .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $6=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $6=, 0($1), $6 + i32.const $push9=, __stack_pointer + i32.load $push10=, 0($pop9) + i32.const $push11=, 16 + i32.sub $4=, $pop10, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $4 i64.const $push1=, 0 i64.const $push0=, 4611826755915743232 - i32.const $2=, 12 - i32.add $2=, $6, $2 - call test@FUNCTION, $pop1, $pop0, $2 + i32.const $0=, 12 + i32.add $0=, $4, $0 + call test@FUNCTION, $pop1, $pop0, $0 i64.const $push8=, 0 i64.const $push2=, 4611897124659920896 - i32.const $3=, 12 - i32.add $3=, $6, $3 - call test@FUNCTION, $pop8, $pop2, $3 + i32.const $1=, 12 + i32.add $1=, $4, $1 + call test@FUNCTION, $pop8, $pop2, $1 i64.const $push7=, 0 i64.const $push3=, 4611967493404098560 - i32.const $4=, 12 - i32.add $4=, $6, $4 - call test@FUNCTION, $pop7, $pop3, $4 + i32.const $2=, 12 + i32.add $2=, $4, $2 + call test@FUNCTION, $pop7, $pop3, $2 i64.const $push6=, 0 i64.const $push4=, 4612037862148276224 - i32.const $5=, 12 - i32.add $5=, $6, $5 - call test@FUNCTION, $pop6, $pop4, $5 + i32.const $3=, 12 + i32.add $3=, $4, $3 + call test@FUNCTION, $pop6, $pop4, $3 i32.const $push5=, 0 call exit@FUNCTION, $pop5 unreachable diff --git a/test/torture-s/20020418-1.c.s b/test/torture-s/20020418-1.c.s index 0c3ee3616..b8daf7081 100644 --- a/test/torture-s/20020418-1.c.s +++ b/test/torture-s/20020418-1.c.s @@ -41,19 +41,19 @@ gcc_crash: # @gcc_crash .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $1=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $1 i32.const $push0=, 53 - i32.store $discard=, 8($3):p2align=3, $pop0 - i32.const $2=, 8 - i32.add $2=, $3, $2 - call gcc_crash@FUNCTION, $2 + i32.store $discard=, 8($1):p2align=3, $pop0 + i32.const $0=, 8 + i32.add $0=, $1, $0 + call gcc_crash@FUNCTION, $0 i32.const $push1=, 0 call exit@FUNCTION, $pop1 unreachable diff --git a/test/torture-s/20020529-1.c.s b/test/torture-s/20020529-1.c.s index f7f7d80f0..17686b337 100644 --- a/test/torture-s/20020529-1.c.s +++ b/test/torture-s/20020529-1.c.s @@ -119,66 +119,63 @@ f2: # @f2 .type main,@function main: # @main .result i32 - .local 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=, 16 - i32.sub $7=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 - i32.const $push2=, 4 - i32.or $push3=, $7, $pop2 - i32.store $discard=, 0($pop3), $7 + i32.const $push19=, __stack_pointer + i32.load $push20=, 0($pop19) + i32.const $push21=, 16 + i32.sub $5=, $pop20, $pop21 + i32.const $push22=, __stack_pointer + i32.store $discard=, 0($pop22), $5 i32.const $push1=, 0 - i32.store $push14=, 0($7):p2align=3, $pop1 - tee_local $push13=, $3=, $pop14 - i32.load $1=, f1.beenhere($pop13) + i32.store $0=, 0($5):p2align=3, $pop1 + i32.store $discard=, 4($5), $5 + i32.load $2=, f1.beenhere($0) i32.const $push0=, 23 - i32.store16 $2=, 8($7):p2align=3, $pop0 + i32.store16 $3=, 8($5):p2align=3, $pop0 block block - i32.const $push12=, 1 - i32.gt_s $push4=, $1, $pop12 - br_if 0, $pop4 # 0: down to label6 + i32.const $push10=, 1 + i32.gt_s $push2=, $2, $pop10 + br_if 0, $pop2 # 0: down to label6 # BB#1: - i32.const $push7=, 8 - i32.add $0=, $7, $pop7 + i32.const $push5=, 8 + i32.add $1=, $5, $pop5 .LBB3_2: # %f1.exit.i # =>This Inner Loop Header: Depth=1 block loop # label8: - copy_local $push19=, $1 - tee_local $push18=, $4=, $pop19 - i32.const $push17=, 1 - i32.add $1=, $pop18, $pop17 - i32.gt_s $push5=, $4, $3 - br_if 2, $pop5 # 2: down to label7 + copy_local $push15=, $2 + tee_local $push14=, $4=, $pop15 + i32.const $push13=, 1 + i32.add $2=, $pop14, $pop13 + i32.gt_s $push3=, $4, $0 + br_if 2, $pop3 # 2: down to label7 # BB#3: # %if.end.i # in Loop: Header=BB3_2 Depth=1 - i32.const $push6=, 0 - i32.store16 $2=, 0($0):p2align=3, $pop6 - i32.const $push20=, 1 - i32.le_s $push8=, $1, $pop20 - br_if 0, $pop8 # 0: up to label8 + i32.const $push4=, 0 + i32.store16 $3=, 0($1):p2align=3, $pop4 + i32.const $push16=, 1 + i32.le_s $push6=, $2, $pop16 + br_if 0, $pop6 # 0: up to label8 # BB#4: # %if.then.i.i.loopexit end_loop # label9: - i32.const $push9=, 0 - i32.store $discard=, f1.beenhere($pop9), $1 - i32.const $push16=, 2 - i32.add $1=, $4, $pop16 + i32.const $push7=, 0 + i32.store $discard=, f1.beenhere($pop7), $2 + i32.const $push12=, 2 + i32.add $2=, $4, $pop12 br 2 # 2: down to label5 .LBB3_5: # %foo.exit end_block # label7: - i32.const $push21=, 0 - i32.store $discard=, f1.beenhere($pop21), $1 + i32.const $push17=, 0 + i32.store $discard=, f1.beenhere($pop17), $2 block - i32.const $push10=, 65535 - i32.and $push11=, $2, $pop10 - br_if 0, $pop11 # 0: down to label10 + i32.const $push8=, 65535 + i32.and $push9=, $3, $pop8 + br_if 0, $pop9 # 0: down to label10 # BB#6: # %if.end - i32.const $push22=, 0 - call exit@FUNCTION, $pop22 + i32.const $push18=, 0 + call exit@FUNCTION, $pop18 unreachable .LBB3_7: # %if.then end_block # label10: @@ -186,11 +183,11 @@ main: # @main unreachable .LBB3_8: end_block # label6: - i32.const $push15=, 1 - i32.add $1=, $1, $pop15 + i32.const $push11=, 1 + i32.add $2=, $2, $pop11 .LBB3_9: # %if.then.i.i end_block # label5: - i32.store $discard=, f1.beenhere($3), $1 + i32.store $discard=, f1.beenhere($0), $2 call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/20021024-1.c.s b/test/torture-s/20021024-1.c.s index 989382aa8..253e28d5a 100644 --- a/test/torture-s/20021024-1.c.s +++ b/test/torture-s/20021024-1.c.s @@ -66,14 +66,14 @@ bar: # @bar .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push11=, __stack_pointer + i32.load $push12=, 0($pop11) + i32.const $push13=, 16 + i32.sub $1=, $pop12, $pop13 + i32.const $push14=, __stack_pointer + i32.store $discard=, 0($pop14), $1 i32.const $push0=, 0 i64.const $push1=, 47 i64.store $discard=, main.r+32($pop0):p2align=4, $pop1 @@ -84,14 +84,14 @@ main: # @main i64.const $push3=, 58 i64.store $discard=, m($pop9), $pop3 i64.const $push4=, 2 - i64.store $discard=, 8($3), $pop4 + i64.store $discard=, 8($1), $pop4 i32.const $push8=, 0 i64.const $push5=, 1 i64.store $discard=, main.r+120($pop8), $pop5 i32.const $push7=, 0 - i32.const $2=, 8 - i32.add $2=, $3, $2 - i32.store $discard=, cp($pop7), $2 + i32.const $0=, 8 + i32.add $0=, $1, $0 + i32.store $discard=, cp($pop7), $0 i32.const $push6=, 0 call exit@FUNCTION, $pop6 unreachable diff --git a/test/torture-s/20021120-3.c.s b/test/torture-s/20021120-3.c.s index 32825c230..a442620be 100644 --- a/test/torture-s/20021120-3.c.s +++ b/test/torture-s/20021120-3.c.s @@ -7,27 +7,27 @@ foo: # @foo .param i32, i32, i32 .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 16 + i32.sub $3=, $pop8, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $3 i32.div_u $push0=, $1, $2 - i32.store $discard=, 0($6):p2align=4, $pop0 + i32.store $discard=, 0($3):p2align=4, $pop0 i32.const $push1=, .L.str - i32.call $discard=, sprintf@FUNCTION, $0, $pop1, $6 + i32.call $discard=, sprintf@FUNCTION, $0, $pop1, $3 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 $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push11=, 16 + i32.add $3=, $3, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $3 return $pop5 .endfunc .Lfunc_end0: @@ -39,20 +39,20 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %if.end - 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 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 32 + i32.sub $1=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $1 i32.const $push0=, 1073741823 - i32.store $discard=, 0($3):p2align=4, $pop0 + i32.store $discard=, 0($1):p2align=4, $pop0 i32.const $push1=, .L.str - i32.const $2=, 16 - i32.add $2=, $3, $2 - i32.call $discard=, sprintf@FUNCTION, $2, $pop1, $3 + i32.const $0=, 16 + i32.add $0=, $1, $0 + i32.call $discard=, sprintf@FUNCTION, $0, $pop1, $1 i32.const $push2=, 0 call exit@FUNCTION, $pop2 unreachable diff --git a/test/torture-s/20021219-1.c.s b/test/torture-s/20021219-1.c.s index b0d03f165..5890d38dc 100644 --- a/test/torture-s/20021219-1.c.s +++ b/test/torture-s/20021219-1.c.s @@ -18,35 +18,33 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32 # BB#0: # %entry - 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 $push20=, __stack_pointer + i32.load $push21=, 0($pop20) + i32.const $push22=, 16 + i32.sub $5=, $pop21, $pop22 i32.const $push2=, 10 - i32.const $5=, 4 - i32.add $5=, $8, $5 - i32.add $push3=, $5, $pop2 + i32.const $2=, 4 + i32.add $2=, $5, $2 + i32.add $push3=, $2, $pop2 i32.const $push0=, 0 i32.load8_u $push1=, .Lmain.str+10($pop0) i32.store8 $discard=, 0($pop3):p2align=1, $pop1 i32.const $push5=, 8 - i32.const $6=, 4 - i32.add $6=, $8, $6 - i32.add $push6=, $6, $pop5 + i32.const $3=, 4 + i32.add $3=, $5, $3 + i32.add $push6=, $3, $pop5 i32.const $push13=, 0 i32.load16_u $push4=, .Lmain.str+8($pop13):p2align=0 i32.store16 $discard=, 0($pop6):p2align=2, $pop4 i32.const $push12=, 0 i64.load $push7=, .Lmain.str($pop12):p2align=0 - i64.store $discard=, 4($8):p2align=2, $pop7 + i64.store $discard=, 4($5):p2align=2, $pop7 i32.const $push8=, 6 - i32.const $7=, 4 - i32.add $7=, $8, $7 - i32.add $0=, $7, $pop8 + i32.const $4=, 4 + i32.add $4=, $5, $4 + i32.add $0=, $4, $pop8 i32.const $1=, 32 .LBB1_1: # %while.cond # =>This Inner Loop Header: Depth=1 @@ -73,10 +71,6 @@ main: # @main .LBB1_4: # %while.end end_loop # label1: i32.const $push11=, 0 - i32.const $4=, 16 - i32.add $8=, $8, $4 - i32.const $4=, __stack_pointer - i32.store $8=, 0($4), $8 return $pop11 .endfunc .Lfunc_end1: diff --git a/test/torture-s/20030218-1.c.s b/test/torture-s/20030218-1.c.s index 9eac30474..ef8c56b12 100644 --- a/test/torture-s/20030218-1.c.s +++ b/test/torture-s/20030218-1.c.s @@ -25,21 +25,21 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %if.end - 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.store $3=, 0($1), $3 + i32.const $push5=, __stack_pointer + i32.load $push6=, 0($pop5) + i32.const $push7=, 16 + i32.sub $1=, $pop6, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $1 i32.const $push0=, 65280 - i32.store16 $discard=, 14($3), $pop0 + i32.store16 $discard=, 14($1), $pop0 i32.const $push3=, 0 i32.const $push1=, 2 - i32.const $2=, 14 - i32.add $2=, $3, $2 - i32.add $push2=, $2, $pop1 + i32.const $0=, 14 + i32.add $0=, $1, $0 + i32.add $push2=, $0, $pop1 i32.store $discard=, q($pop3), $pop2 i32.const $push4=, 0 call exit@FUNCTION, $pop4 diff --git a/test/torture-s/20030221-1.c.s b/test/torture-s/20030221-1.c.s index e9e3016a7..df6aa1cf2 100644 --- a/test/torture-s/20030221-1.c.s +++ b/test/torture-s/20030221-1.c.s @@ -6,37 +6,35 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 - i32.const $push1=, 8 - i32.or $push2=, $3, $pop1 - i32.const $push11=, 0 - i64.load $push0=, .Lmain.buf+8($pop11) - i64.store $discard=, 0($pop2), $pop0 - i32.const $push10=, 0 - i64.load $push3=, .Lmain.buf($pop10):p2align=4 - i64.store $discard=, 0($3):p2align=4, $pop3 + i32.const $push11=, __stack_pointer + i32.load $push12=, 0($pop11) + i32.const $push13=, 16 + i32.sub $0=, $pop12, $pop13 + i32.const $push14=, __stack_pointer + i32.store $discard=, 0($pop14), $0 + i32.const $push9=, 0 + i64.load $push0=, .Lmain.buf+8($pop9) + i64.store $discard=, 8($0), $pop0 + i32.const $push8=, 0 + i64.load $push1=, .Lmain.buf($pop8):p2align=4 + i64.store $discard=, 0($0):p2align=4, $pop1 block - i32.call $push4=, strlen@FUNCTION, $3 - i32.store8 $push5=, 0($3):p2align=4, $pop4 - i32.const $push6=, 255 - i32.and $push7=, $pop5, $pop6 - i32.const $push8=, 10 - i32.ne $push9=, $pop7, $pop8 - br_if 0, $pop9 # 0: down to label0 + i32.call $push2=, strlen@FUNCTION, $0 + i32.store8 $push3=, 0($0):p2align=4, $pop2 + i32.const $push4=, 255 + i32.and $push5=, $pop3, $pop4 + i32.const $push6=, 10 + i32.ne $push7=, $pop5, $pop6 + br_if 0, $pop7 # 0: down to label0 # BB#1: # %if.end - i32.const $push12=, 0 - i32.const $2=, 16 - i32.add $3=, $3, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 - return $pop12 + i32.const $push10=, 0 + i32.const $push15=, 16 + i32.add $0=, $0, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $0 + return $pop10 .LBB0_2: # %if.then end_block # label0: call abort@FUNCTION diff --git a/test/torture-s/20030222-1.c.s b/test/torture-s/20030222-1.c.s index b7168a48b..2d9d88a20 100644 --- a/test/torture-s/20030222-1.c.s +++ b/test/torture-s/20030222-1.c.s @@ -21,27 +21,28 @@ ll_to_int: # @ll_to_int .type main,@function main: # @main .result i32 - .local i64, i32, i32, i32, i32 + .local i64, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $4=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 - i32.const $1=, 0 - i32.load $1=, val($1) - i64.extend_s/i32 $0=, $1 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $2=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $2 + i32.const $push4=, 0 + i32.load $push3=, val($pop4) + tee_local $push2=, $1=, $pop3 + i64.extend_s/i32 $0=, $pop2 #APP #NO_APP - i64.store32 $discard=, 12($4), $0 + i64.store32 $discard=, 12($2), $0 block - i32.load $push0=, 12($4) + i32.load $push0=, 12($2) i32.ne $push1=, $1, $pop0 br_if 0, $pop1 # 0: down to label0 # BB#1: # %if.end - i32.const $push2=, 0 - call exit@FUNCTION, $pop2 + i32.const $push5=, 0 + call exit@FUNCTION, $pop5 unreachable .LBB1_2: # %if.then end_block # label0: diff --git a/test/torture-s/20030606-1.c.s b/test/torture-s/20030606-1.c.s index f327eefeb..b96d7040c 100644 --- a/test/torture-s/20030606-1.c.s +++ b/test/torture-s/20030606-1.c.s @@ -11,23 +11,20 @@ foo: # @foo i32.const $push0=, 55 i32.store $discard=, 0($0), $pop0 block - block i32.const $push5=, 0 i32.eq $push6=, $1, $pop5 - br_if 0, $pop6 # 0: down to label1 + br_if 0, $pop6 # 0: down to label0 # BB#1: # %if.then i32.const $push4=, 4 i32.add $push2=, $0, $pop4 i32.store $discard=, 0($pop2), $1 i32.const $push1=, 8 i32.add $0=, $0, $pop1 - br 1 # 1: down to label0 + return $0 .LBB0_2: - end_block # label1: + end_block # label0: i32.const $push3=, 4 i32.add $0=, $0, $pop3 -.LBB0_3: # %if.end - end_block # label0: return $0 .endfunc .Lfunc_end0: diff --git a/test/torture-s/20030714-1.c.s b/test/torture-s/20030714-1.c.s index 3b6d45565..9cad0ba6b 100644 --- a/test/torture-s/20030714-1.c.s +++ b/test/torture-s/20030714-1.c.s @@ -11,20 +11,19 @@ RenderBox_setStyle: # @RenderBox_setStyle i32.load16_u $2=, 26($0) block block - block i32.const $push1=, 2 i32.add $push2=, $1, $pop1 i32.load8_u $push3=, 0($pop2):p2align=1 i32.const $push4=, 4 i32.and $push5=, $pop3, $pop4 - br_if 0, $pop5 # 0: down to label2 + br_if 0, $pop5 # 0: down to label1 # BB#1: # %sw.default block i32.const $push34=, 16 i32.and $push10=, $2, $pop34 i32.const $push36=, 0 i32.eq $push37=, $pop10, $pop36 - br_if 0, $pop37 # 0: down to label3 + br_if 0, $pop37 # 0: down to label2 # BB#2: # %if.then i32.const $push11=, 26 i32.add $push12=, $0, $pop11 @@ -32,7 +31,7 @@ RenderBox_setStyle: # @RenderBox_setStyle i32.or $push0=, $2, $pop35 i32.store16 $2=, 0($pop12), $pop0 .LBB0_3: # %if.end - end_block # label3: + end_block # label2: i32.const $push16=, 26 i32.add $push17=, $0, $pop16 i32.const $push14=, 65519 @@ -41,13 +40,13 @@ RenderBox_setStyle: # @RenderBox_setStyle i32.load $2=, 0($1) i32.load $push19=, 28($0) i32.call_indirect $push20=, $pop19, $0 - br_if 1, $pop20 # 1: down to label1 + br_if 1, $pop20 # 1: down to label0 # BB#4: # %if.end i32.const $push18=, 1572864 i32.and $push13=, $2, $pop18 i32.const $push38=, 0 i32.eq $push39=, $pop13, $pop38 - br_if 1, $pop39 # 1: down to label1 + br_if 1, $pop39 # 1: down to label0 # BB#5: # %if.then39 i32.const $push21=, 26 i32.add $0=, $0, $pop21 @@ -55,23 +54,24 @@ RenderBox_setStyle: # @RenderBox_setStyle i32.const $push23=, 8 i32.or $push24=, $pop22, $pop23 i32.store16 $discard=, 0($0), $pop24 - br 2 # 2: down to label0 + return .LBB0_6: # %sw.bb - end_block # label2: + end_block # label1: i32.const $push8=, 26 i32.add $push9=, $0, $pop8 i32.const $push6=, 16 i32.or $push7=, $2, $pop6 i32.store16 $discard=, 0($pop9), $pop7 - br 1 # 1: down to label0 + return .LBB0_7: # %if.else - end_block # label1: + end_block # label0: + block i32.load $push25=, 0($1) i32.const $push26=, 393216 i32.and $push27=, $pop25, $pop26 i32.const $push28=, 131072 i32.ne $push29=, $pop27, $pop28 - br_if 0, $pop29 # 0: down to label0 + br_if 0, $pop29 # 0: down to label3 # BB#8: # %if.then55 i32.const $push30=, 26 i32.add $0=, $0, $pop30 @@ -80,7 +80,7 @@ RenderBox_setStyle: # @RenderBox_setStyle i32.or $push33=, $pop31, $pop32 i32.store16 $discard=, 0($0), $pop33 .LBB0_9: # %sw.epilog - end_block # label0: + end_block # label3: return .endfunc .Lfunc_end0: diff --git a/test/torture-s/20030828-1.c.s b/test/torture-s/20030828-1.c.s index ee63e6e95..08ca26717 100644 --- a/test/torture-s/20030828-1.c.s +++ b/test/torture-s/20030828-1.c.s @@ -23,20 +23,20 @@ bar: # @bar .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $1=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $1 i32.const $push0=, 5 - i32.store $discard=, 12($3), $pop0 + i32.store $discard=, 12($1), $pop0 i32.const $push1=, 0 - i32.const $2=, 12 - i32.add $2=, $3, $2 - i32.store $discard=, p($pop1), $2 + i32.const $0=, 12 + i32.add $0=, $1, $0 + i32.store $discard=, p($pop1), $0 i32.const $push2=, 0 call exit@FUNCTION, $pop2 unreachable diff --git a/test/torture-s/20030914-1.c.s b/test/torture-s/20030914-1.c.s index 6a39ca1b9..230264c89 100644 --- a/test/torture-s/20030914-1.c.s +++ b/test/torture-s/20030914-1.c.s @@ -6,322 +6,322 @@ .type f,@function f: # @f .param i32, i32, i32, i64, i64 - .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 + .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 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 512 - i32.sub $70=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $70=, 0($6), $70 + i32.const $push115=, __stack_pointer + i32.load $push116=, 0($pop115) + i32.const $push117=, 512 + i32.sub $67=, $pop116, $pop117 + i32.const $push118=, __stack_pointer + i32.store $discard=, 0($pop118), $67 i32.load $push0=, 0($2) - i32.const $8=, 496 - i32.add $8=, $70, $8 - call __floatsitf@FUNCTION, $8, $pop0 - i64.load $push4=, 496($70) + i32.const $5=, 496 + i32.add $5=, $67, $5 + call __floatsitf@FUNCTION, $5, $pop0 + i64.load $push4=, 496($67) i32.const $push1=, 8 - i32.const $9=, 496 - i32.add $9=, $70, $9 - i32.add $push2=, $9, $pop1 + i32.const $6=, 496 + i32.add $6=, $67, $6 + i32.add $push2=, $6, $pop1 i64.load $push3=, 0($pop2) - i32.const $10=, 480 - i32.add $10=, $70, $10 - call __addtf3@FUNCTION, $10, $pop4, $pop3, $3, $4 + i32.const $7=, 480 + i32.add $7=, $67, $7 + call __addtf3@FUNCTION, $7, $pop4, $pop3, $3, $4 i32.const $push114=, 8 - i32.const $11=, 480 - i32.add $11=, $70, $11 - i32.add $push5=, $11, $pop114 + i32.const $8=, 480 + i32.add $8=, $67, $8 + i32.add $push5=, $8, $pop114 i64.load $4=, 0($pop5) - i64.load $3=, 480($70) + i64.load $3=, 480($67) i32.load $push6=, 4($2) - i32.const $12=, 464 - i32.add $12=, $70, $12 - call __floatsitf@FUNCTION, $12, $pop6 - i64.load $push9=, 464($70) + i32.const $9=, 464 + i32.add $9=, $67, $9 + call __floatsitf@FUNCTION, $9, $pop6 + i64.load $push9=, 464($67) i32.const $push113=, 8 - i32.const $13=, 464 - i32.add $13=, $70, $13 - i32.add $push7=, $13, $pop113 + i32.const $10=, 464 + i32.add $10=, $67, $10 + i32.add $push7=, $10, $pop113 i64.load $push8=, 0($pop7) - i32.const $14=, 448 - i32.add $14=, $70, $14 - call __addtf3@FUNCTION, $14, $3, $4, $pop9, $pop8 + i32.const $11=, 448 + i32.add $11=, $67, $11 + call __addtf3@FUNCTION, $11, $3, $4, $pop9, $pop8 i32.const $push112=, 8 - i32.const $15=, 448 - i32.add $15=, $70, $15 - i32.add $push10=, $15, $pop112 + i32.const $12=, 448 + i32.add $12=, $67, $12 + i32.add $push10=, $12, $pop112 i64.load $4=, 0($pop10) - i64.load $3=, 448($70) + i64.load $3=, 448($67) i32.load $push11=, 8($2) - i32.const $16=, 432 - i32.add $16=, $70, $16 - call __floatsitf@FUNCTION, $16, $pop11 - i64.load $push14=, 432($70) + i32.const $13=, 432 + i32.add $13=, $67, $13 + call __floatsitf@FUNCTION, $13, $pop11 + i64.load $push14=, 432($67) i32.const $push111=, 8 - i32.const $17=, 432 - i32.add $17=, $70, $17 - i32.add $push12=, $17, $pop111 + i32.const $14=, 432 + i32.add $14=, $67, $14 + i32.add $push12=, $14, $pop111 i64.load $push13=, 0($pop12) - i32.const $18=, 416 - i32.add $18=, $70, $18 - call __addtf3@FUNCTION, $18, $3, $4, $pop14, $pop13 + i32.const $15=, 416 + i32.add $15=, $67, $15 + call __addtf3@FUNCTION, $15, $3, $4, $pop14, $pop13 i32.const $push110=, 8 - i32.const $19=, 416 - i32.add $19=, $70, $19 - i32.add $push15=, $19, $pop110 + i32.const $16=, 416 + i32.add $16=, $67, $16 + i32.add $push15=, $16, $pop110 i64.load $4=, 0($pop15) - i64.load $3=, 416($70) + i64.load $3=, 416($67) i32.load $push16=, 12($2) - i32.const $20=, 400 - i32.add $20=, $70, $20 - call __floatsitf@FUNCTION, $20, $pop16 - i64.load $push19=, 400($70) + i32.const $17=, 400 + i32.add $17=, $67, $17 + call __floatsitf@FUNCTION, $17, $pop16 + i64.load $push19=, 400($67) i32.const $push109=, 8 - i32.const $21=, 400 - i32.add $21=, $70, $21 - i32.add $push17=, $21, $pop109 + i32.const $18=, 400 + i32.add $18=, $67, $18 + i32.add $push17=, $18, $pop109 i64.load $push18=, 0($pop17) - i32.const $22=, 384 - i32.add $22=, $70, $22 - call __addtf3@FUNCTION, $22, $3, $4, $pop19, $pop18 + i32.const $19=, 384 + i32.add $19=, $67, $19 + call __addtf3@FUNCTION, $19, $3, $4, $pop19, $pop18 i32.const $push108=, 8 - i32.const $23=, 384 - i32.add $23=, $70, $23 - i32.add $push20=, $23, $pop108 + i32.const $20=, 384 + i32.add $20=, $67, $20 + i32.add $push20=, $20, $pop108 i64.load $4=, 0($pop20) - i64.load $3=, 384($70) + i64.load $3=, 384($67) i32.load $push21=, 16($2) - i32.const $24=, 368 - i32.add $24=, $70, $24 - call __floatsitf@FUNCTION, $24, $pop21 - i64.load $push24=, 368($70) + i32.const $21=, 368 + i32.add $21=, $67, $21 + call __floatsitf@FUNCTION, $21, $pop21 + i64.load $push24=, 368($67) i32.const $push107=, 8 - i32.const $25=, 368 - i32.add $25=, $70, $25 - i32.add $push22=, $25, $pop107 + i32.const $22=, 368 + i32.add $22=, $67, $22 + i32.add $push22=, $22, $pop107 i64.load $push23=, 0($pop22) - i32.const $26=, 352 - i32.add $26=, $70, $26 - call __addtf3@FUNCTION, $26, $3, $4, $pop24, $pop23 + i32.const $23=, 352 + i32.add $23=, $67, $23 + call __addtf3@FUNCTION, $23, $3, $4, $pop24, $pop23 i32.const $push106=, 8 - i32.const $27=, 352 - i32.add $27=, $70, $27 - i32.add $push25=, $27, $pop106 + i32.const $24=, 352 + i32.add $24=, $67, $24 + i32.add $push25=, $24, $pop106 i64.load $4=, 0($pop25) - i64.load $3=, 352($70) + i64.load $3=, 352($67) i32.load $push26=, 20($2) - i32.const $28=, 336 - i32.add $28=, $70, $28 - call __floatsitf@FUNCTION, $28, $pop26 - i64.load $push29=, 336($70) + i32.const $25=, 336 + i32.add $25=, $67, $25 + call __floatsitf@FUNCTION, $25, $pop26 + i64.load $push29=, 336($67) i32.const $push105=, 8 - i32.const $29=, 336 - i32.add $29=, $70, $29 - i32.add $push27=, $29, $pop105 + i32.const $26=, 336 + i32.add $26=, $67, $26 + i32.add $push27=, $26, $pop105 i64.load $push28=, 0($pop27) - i32.const $30=, 320 - i32.add $30=, $70, $30 - call __addtf3@FUNCTION, $30, $3, $4, $pop29, $pop28 + i32.const $27=, 320 + i32.add $27=, $67, $27 + call __addtf3@FUNCTION, $27, $3, $4, $pop29, $pop28 i32.const $push104=, 8 - i32.const $31=, 320 - i32.add $31=, $70, $31 - i32.add $push30=, $31, $pop104 + i32.const $28=, 320 + i32.add $28=, $67, $28 + i32.add $push30=, $28, $pop104 i64.load $4=, 0($pop30) - i64.load $3=, 320($70) + i64.load $3=, 320($67) i32.load $push31=, 24($2) - i32.const $32=, 304 - i32.add $32=, $70, $32 - call __floatsitf@FUNCTION, $32, $pop31 - i64.load $push34=, 304($70) + i32.const $29=, 304 + i32.add $29=, $67, $29 + call __floatsitf@FUNCTION, $29, $pop31 + i64.load $push34=, 304($67) i32.const $push103=, 8 - i32.const $33=, 304 - i32.add $33=, $70, $33 - i32.add $push32=, $33, $pop103 + i32.const $30=, 304 + i32.add $30=, $67, $30 + i32.add $push32=, $30, $pop103 i64.load $push33=, 0($pop32) - i32.const $34=, 288 - i32.add $34=, $70, $34 - call __addtf3@FUNCTION, $34, $3, $4, $pop34, $pop33 + i32.const $31=, 288 + i32.add $31=, $67, $31 + call __addtf3@FUNCTION, $31, $3, $4, $pop34, $pop33 i32.const $push102=, 8 - i32.const $35=, 288 - i32.add $35=, $70, $35 - i32.add $push35=, $35, $pop102 + i32.const $32=, 288 + i32.add $32=, $67, $32 + i32.add $push35=, $32, $pop102 i64.load $4=, 0($pop35) - i64.load $3=, 288($70) + i64.load $3=, 288($67) i32.load $push36=, 28($2) - i32.const $36=, 272 - i32.add $36=, $70, $36 - call __floatsitf@FUNCTION, $36, $pop36 - i64.load $push39=, 272($70) + i32.const $33=, 272 + i32.add $33=, $67, $33 + call __floatsitf@FUNCTION, $33, $pop36 + i64.load $push39=, 272($67) i32.const $push101=, 8 - i32.const $37=, 272 - i32.add $37=, $70, $37 - i32.add $push37=, $37, $pop101 + i32.const $34=, 272 + i32.add $34=, $67, $34 + i32.add $push37=, $34, $pop101 i64.load $push38=, 0($pop37) - i32.const $38=, 256 - i32.add $38=, $70, $38 - call __addtf3@FUNCTION, $38, $3, $4, $pop39, $pop38 + i32.const $35=, 256 + i32.add $35=, $67, $35 + call __addtf3@FUNCTION, $35, $3, $4, $pop39, $pop38 i32.const $push100=, 8 - i32.const $39=, 256 - i32.add $39=, $70, $39 - i32.add $push40=, $39, $pop100 + i32.const $36=, 256 + i32.add $36=, $67, $36 + i32.add $push40=, $36, $pop100 i64.load $4=, 0($pop40) - i64.load $3=, 256($70) + i64.load $3=, 256($67) i32.load $push41=, 32($2) - i32.const $40=, 240 - i32.add $40=, $70, $40 - call __floatsitf@FUNCTION, $40, $pop41 - i64.load $push44=, 240($70) + i32.const $37=, 240 + i32.add $37=, $67, $37 + call __floatsitf@FUNCTION, $37, $pop41 + i64.load $push44=, 240($67) i32.const $push99=, 8 - i32.const $41=, 240 - i32.add $41=, $70, $41 - i32.add $push42=, $41, $pop99 + i32.const $38=, 240 + i32.add $38=, $67, $38 + i32.add $push42=, $38, $pop99 i64.load $push43=, 0($pop42) - i32.const $42=, 224 - i32.add $42=, $70, $42 - call __addtf3@FUNCTION, $42, $3, $4, $pop44, $pop43 + i32.const $39=, 224 + i32.add $39=, $67, $39 + call __addtf3@FUNCTION, $39, $3, $4, $pop44, $pop43 i32.const $push98=, 8 - i32.const $43=, 224 - i32.add $43=, $70, $43 - i32.add $push45=, $43, $pop98 + i32.const $40=, 224 + i32.add $40=, $67, $40 + i32.add $push45=, $40, $pop98 i64.load $4=, 0($pop45) - i64.load $3=, 224($70) + i64.load $3=, 224($67) i32.load $push46=, 36($2) - i32.const $44=, 208 - i32.add $44=, $70, $44 - call __floatsitf@FUNCTION, $44, $pop46 - i64.load $push49=, 208($70) + i32.const $41=, 208 + i32.add $41=, $67, $41 + call __floatsitf@FUNCTION, $41, $pop46 + i64.load $push49=, 208($67) i32.const $push97=, 8 - i32.const $45=, 208 - i32.add $45=, $70, $45 - i32.add $push47=, $45, $pop97 + i32.const $42=, 208 + i32.add $42=, $67, $42 + i32.add $push47=, $42, $pop97 i64.load $push48=, 0($pop47) - i32.const $46=, 192 - i32.add $46=, $70, $46 - call __addtf3@FUNCTION, $46, $3, $4, $pop49, $pop48 + i32.const $43=, 192 + i32.add $43=, $67, $43 + call __addtf3@FUNCTION, $43, $3, $4, $pop49, $pop48 i32.const $push96=, 8 - i32.const $47=, 192 - i32.add $47=, $70, $47 - i32.add $push50=, $47, $pop96 + i32.const $44=, 192 + i32.add $44=, $67, $44 + i32.add $push50=, $44, $pop96 i64.load $4=, 0($pop50) - i64.load $3=, 192($70) + i64.load $3=, 192($67) i32.load $push51=, 40($2) - i32.const $48=, 176 - i32.add $48=, $70, $48 - call __floatsitf@FUNCTION, $48, $pop51 - i64.load $push54=, 176($70) + i32.const $45=, 176 + i32.add $45=, $67, $45 + call __floatsitf@FUNCTION, $45, $pop51 + i64.load $push54=, 176($67) i32.const $push95=, 8 - i32.const $49=, 176 - i32.add $49=, $70, $49 - i32.add $push52=, $49, $pop95 + i32.const $46=, 176 + i32.add $46=, $67, $46 + i32.add $push52=, $46, $pop95 i64.load $push53=, 0($pop52) - i32.const $50=, 160 - i32.add $50=, $70, $50 - call __addtf3@FUNCTION, $50, $3, $4, $pop54, $pop53 + i32.const $47=, 160 + i32.add $47=, $67, $47 + call __addtf3@FUNCTION, $47, $3, $4, $pop54, $pop53 i32.const $push94=, 8 - i32.const $51=, 160 - i32.add $51=, $70, $51 - i32.add $push55=, $51, $pop94 + i32.const $48=, 160 + i32.add $48=, $67, $48 + i32.add $push55=, $48, $pop94 i64.load $4=, 0($pop55) - i64.load $3=, 160($70) + i64.load $3=, 160($67) i32.load $push56=, 44($2) - i32.const $52=, 144 - i32.add $52=, $70, $52 - call __floatsitf@FUNCTION, $52, $pop56 - i64.load $push59=, 144($70) + i32.const $49=, 144 + i32.add $49=, $67, $49 + call __floatsitf@FUNCTION, $49, $pop56 + i64.load $push59=, 144($67) i32.const $push93=, 8 - i32.const $53=, 144 - i32.add $53=, $70, $53 - i32.add $push57=, $53, $pop93 + i32.const $50=, 144 + i32.add $50=, $67, $50 + i32.add $push57=, $50, $pop93 i64.load $push58=, 0($pop57) - i32.const $54=, 128 - i32.add $54=, $70, $54 - call __addtf3@FUNCTION, $54, $3, $4, $pop59, $pop58 + i32.const $51=, 128 + i32.add $51=, $67, $51 + call __addtf3@FUNCTION, $51, $3, $4, $pop59, $pop58 i32.const $push92=, 8 - i32.const $55=, 128 - i32.add $55=, $70, $55 - i32.add $push60=, $55, $pop92 + i32.const $52=, 128 + i32.add $52=, $67, $52 + i32.add $push60=, $52, $pop92 i64.load $4=, 0($pop60) - i64.load $3=, 128($70) + i64.load $3=, 128($67) i32.load $push61=, 48($2) - i32.const $56=, 112 - i32.add $56=, $70, $56 - call __floatsitf@FUNCTION, $56, $pop61 - i64.load $push64=, 112($70) + i32.const $53=, 112 + i32.add $53=, $67, $53 + call __floatsitf@FUNCTION, $53, $pop61 + i64.load $push64=, 112($67) i32.const $push91=, 8 - i32.const $57=, 112 - i32.add $57=, $70, $57 - i32.add $push62=, $57, $pop91 + i32.const $54=, 112 + i32.add $54=, $67, $54 + i32.add $push62=, $54, $pop91 i64.load $push63=, 0($pop62) - i32.const $58=, 96 - i32.add $58=, $70, $58 - call __addtf3@FUNCTION, $58, $3, $4, $pop64, $pop63 + i32.const $55=, 96 + i32.add $55=, $67, $55 + call __addtf3@FUNCTION, $55, $3, $4, $pop64, $pop63 i32.const $push90=, 8 - i32.const $59=, 96 - i32.add $59=, $70, $59 - i32.add $push65=, $59, $pop90 + i32.const $56=, 96 + i32.add $56=, $67, $56 + i32.add $push65=, $56, $pop90 i64.load $4=, 0($pop65) - i64.load $3=, 96($70) + i64.load $3=, 96($67) i32.load $push66=, 52($2) - i32.const $60=, 80 - i32.add $60=, $70, $60 - call __floatsitf@FUNCTION, $60, $pop66 - i64.load $push69=, 80($70) + i32.const $57=, 80 + i32.add $57=, $67, $57 + call __floatsitf@FUNCTION, $57, $pop66 + i64.load $push69=, 80($67) i32.const $push89=, 8 - i32.const $61=, 80 - i32.add $61=, $70, $61 - i32.add $push67=, $61, $pop89 + i32.const $58=, 80 + i32.add $58=, $67, $58 + i32.add $push67=, $58, $pop89 i64.load $push68=, 0($pop67) - i32.const $62=, 64 - i32.add $62=, $70, $62 - call __addtf3@FUNCTION, $62, $3, $4, $pop69, $pop68 + i32.const $59=, 64 + i32.add $59=, $67, $59 + call __addtf3@FUNCTION, $59, $3, $4, $pop69, $pop68 i32.const $push88=, 8 - i32.const $63=, 64 - i32.add $63=, $70, $63 - i32.add $push70=, $63, $pop88 + i32.const $60=, 64 + i32.add $60=, $67, $60 + i32.add $push70=, $60, $pop88 i64.load $4=, 0($pop70) - i64.load $3=, 64($70) + i64.load $3=, 64($67) i32.load $push71=, 56($2) - i32.const $64=, 48 - i32.add $64=, $70, $64 - call __floatsitf@FUNCTION, $64, $pop71 - i64.load $push74=, 48($70) + i32.const $61=, 48 + i32.add $61=, $67, $61 + call __floatsitf@FUNCTION, $61, $pop71 + i64.load $push74=, 48($67) i32.const $push87=, 8 - i32.const $65=, 48 - i32.add $65=, $70, $65 - i32.add $push72=, $65, $pop87 + i32.const $62=, 48 + i32.add $62=, $67, $62 + i32.add $push72=, $62, $pop87 i64.load $push73=, 0($pop72) - i32.const $66=, 32 - i32.add $66=, $70, $66 - call __addtf3@FUNCTION, $66, $3, $4, $pop74, $pop73 + i32.const $63=, 32 + i32.add $63=, $67, $63 + call __addtf3@FUNCTION, $63, $3, $4, $pop74, $pop73 i32.const $push86=, 8 - i32.const $67=, 32 - i32.add $67=, $70, $67 - i32.add $push75=, $67, $pop86 + i32.const $64=, 32 + i32.add $64=, $67, $64 + i32.add $push75=, $64, $pop86 i64.load $4=, 0($pop75) - i64.load $3=, 32($70) + i64.load $3=, 32($67) i32.load $push76=, 60($2) - i32.const $68=, 16 - i32.add $68=, $70, $68 - call __floatsitf@FUNCTION, $68, $pop76 - i64.load $push79=, 16($70) + i32.const $65=, 16 + i32.add $65=, $67, $65 + call __floatsitf@FUNCTION, $65, $pop76 + i64.load $push79=, 16($67) i32.const $push85=, 8 - i32.const $69=, 16 - i32.add $69=, $70, $69 - i32.add $push77=, $69, $pop85 + i32.const $66=, 16 + i32.add $66=, $67, $66 + i32.add $push77=, $66, $pop85 i64.load $push78=, 0($pop77) - call __addtf3@FUNCTION, $70, $3, $4, $pop79, $pop78 - i64.load $4=, 0($70) + call __addtf3@FUNCTION, $67, $3, $4, $pop79, $pop78 + i64.load $4=, 0($67) i32.const $push84=, 8 i32.add $push82=, $0, $pop84 i32.const $push83=, 8 - i32.add $push80=, $70, $pop83 + i32.add $push80=, $67, $pop83 i64.load $push81=, 0($pop80) i64.store $discard=, 0($pop82), $pop81 i64.store $discard=, 0($0):p2align=4, $4 - i32.const $7=, 512 - i32.add $70=, $70, $7 - i32.const $7=, __stack_pointer - i32.store $70=, 0($7), $70 + i32.const $push119=, 512 + i32.add $67=, $67, $pop119 + i32.const $push120=, __stack_pointer + i32.store $discard=, 0($pop120), $67 return .endfunc .Lfunc_end0: diff --git a/test/torture-s/20030914-2.c.s b/test/torture-s/20030914-2.c.s index 485ac6453..0359469d2 100644 --- a/test/torture-s/20030914-2.c.s +++ b/test/torture-s/20030914-2.c.s @@ -19,25 +19,25 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 80 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 + i32.const $push8=, __stack_pointer + i32.load $push9=, 0($pop8) + i32.const $push10=, 80 + i32.sub $2=, $pop9, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $2 i32.const $push0=, gs i32.const $push1=, 72 - i32.const $2=, 8 - i32.add $2=, $4, $2 - i32.call $discard=, memcpy@FUNCTION, $2, $pop0, $pop1 + i32.const $0=, 8 + i32.add $0=, $2, $0 + i32.call $discard=, memcpy@FUNCTION, $0, $pop0, $pop1 i32.const $push2=, 4660 i32.const $push6=, 0 - i32.const $3=, 8 - i32.add $3=, $4, $3 + i32.const $1=, 8 + i32.add $1=, $2, $1 block - i32.call $push3=, f@FUNCTION, $3, $pop2, $pop6 + i32.call $push3=, f@FUNCTION, $1, $pop2, $pop6 i32.const $push5=, 4660 i32.ne $push4=, $pop3, $pop5 br_if 0, $pop4 # 0: down to label0 diff --git a/test/torture-s/20030916-1.c.s b/test/torture-s/20030916-1.c.s index 1d50d2846..3332fefea 100644 --- a/test/torture-s/20030916-1.c.s +++ b/test/torture-s/20030916-1.c.s @@ -44,78 +44,76 @@ f: # @f .type main,@function main: # @main .result i32 - .local i64, i32, i32, i32, i32, i32 + .local i64, i32, i32, i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 1024 - i32.sub $5=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push35=, __stack_pointer + i32.load $push36=, 0($pop35) + i32.const $push37=, 1024 + i32.sub $3=, $pop36, $pop37 + i32.const $push38=, __stack_pointer + i32.store $discard=, 0($pop38), $3 i32.const $2=, 0 .LBB1_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label0: - i32.add $push0=, $5, $2 - i32.const $push31=, 1 - i32.store $discard=, 0($pop0), $pop31 - i32.const $push30=, 4 - i32.add $2=, $2, $pop30 - i32.const $push29=, 1024 - i32.ne $push1=, $2, $pop29 + i32.add $push0=, $3, $2 + i32.const $push29=, 1 + i32.store $discard=, 0($pop0), $pop29 + i32.const $push28=, 4 + i32.add $2=, $2, $pop28 + i32.const $push27=, 1024 + i32.ne $push1=, $2, $pop27 br_if 0, $pop1 # 0: up to label0 # BB#2: # %for.end end_loop # label1: - i32.const $push14=, 1012 - i32.add $push15=, $5, $pop14 - i32.const $push10=, 8 - i32.or $push11=, $5, $pop10 + i32.const $push12=, 1012 + i32.add $push13=, $3, $pop12 i32.const $push7=, 16 - i32.add $push8=, $5, $pop7 + i32.add $push8=, $3, $pop7 i32.const $push3=, 24 - i32.add $push4=, $5, $pop3 + i32.add $push4=, $3, $pop3 i64.const $push5=, 0 i64.store $push6=, 0($pop4), $pop5 i64.store $push9=, 0($pop8):p2align=4, $pop6 - i64.store $push12=, 0($pop11), $pop9 - i64.store $push13=, 0($5):p2align=4, $pop12 - i64.store $0=, 0($pop15):p2align=2, $pop13 - i32.const $push16=, 1020 - i32.add $push17=, $5, $pop16 + i64.store $push10=, 8($3), $pop9 + i64.store $push11=, 0($3):p2align=4, $pop10 + i64.store $0=, 0($pop13):p2align=2, $pop11 + i32.const $push14=, 1020 + i32.add $push15=, $3, $pop14 i32.const $push2=, 0 - i32.store $2=, 0($pop17), $pop2 - i32.const $push21=, 996 - i32.add $push22=, $5, $pop21 - i32.const $push18=, 1004 - i32.add $push19=, $5, $pop18 - i64.store $push20=, 0($pop19):p2align=2, $0 - i64.store $discard=, 0($pop22):p2align=2, $pop20 - i32.store $discard=, 992($5):p2align=4, $2 - copy_local $1=, $5 + i32.store $2=, 0($pop15), $pop2 + i32.const $push19=, 996 + i32.add $push20=, $3, $pop19 + i32.const $push16=, 1004 + i32.add $push17=, $3, $pop16 + i64.store $push18=, 0($pop17):p2align=2, $0 + i64.store $discard=, 0($pop20):p2align=2, $pop18 + i32.store $discard=, 992($3):p2align=4, $2 + copy_local $1=, $3 .LBB1_3: # %for.body3 # =>This Inner Loop Header: Depth=1 block loop # label3: - i32.load $push23=, 0($1) - i32.const $push36=, -8 - i32.add $push24=, $2, $pop36 - i32.const $push35=, 240 - i32.lt_u $push25=, $pop24, $pop35 - i32.ne $push26=, $pop23, $pop25 - br_if 2, $pop26 # 2: down to label2 + i32.load $push21=, 0($1) + i32.const $push34=, -8 + i32.add $push22=, $2, $pop34 + i32.const $push33=, 240 + i32.lt_u $push23=, $pop22, $pop33 + i32.ne $push24=, $pop21, $pop23 + br_if 2, $pop24 # 2: down to label2 # BB#4: # %for.cond1 # in Loop: Header=BB1_3 Depth=1 - i32.const $push34=, 1 - i32.add $2=, $2, $pop34 - i32.const $push33=, 4 - i32.add $1=, $1, $pop33 - i32.const $push32=, 255 - i32.le_s $push27=, $2, $pop32 - br_if 0, $pop27 # 0: up to label3 + i32.const $push32=, 1 + i32.add $2=, $2, $pop32 + i32.const $push31=, 4 + i32.add $1=, $1, $pop31 + i32.const $push30=, 255 + i32.le_s $push25=, $2, $pop30 + br_if 0, $pop25 # 0: up to label3 # BB#5: # %for.end10 end_loop # label4: - i32.const $push28=, 0 - call exit@FUNCTION, $pop28 + i32.const $push26=, 0 + call exit@FUNCTION, $pop26 unreachable .LBB1_6: # %if.then end_block # label2: diff --git a/test/torture-s/20031010-1.c.s b/test/torture-s/20031010-1.c.s index ca871da2e..4cbf77289 100644 --- a/test/torture-s/20031010-1.c.s +++ b/test/torture-s/20031010-1.c.s @@ -14,22 +14,19 @@ foo: # @foo br_if 0, $pop3 # 0: down to label0 # BB#1: # %if.then block - block i32.const $push4=, 0 i32.eq $push5=, $3, $pop4 - br_if 0, $pop5 # 0: down to label2 + br_if 0, $pop5 # 0: down to label1 # BB#2: # %if.then4 i32.select $push1=, $1, $0, $4 i32.select $push0=, $0, $1, $4 i32.sub $1=, $pop1, $pop0 - br 1 # 1: down to label1 + return $1 .LBB0_3: - end_block # label2: - i32.sub $1=, $0, $1 -.LBB0_4: # %if.end8 end_block # label1: + i32.sub $1=, $0, $1 return $1 -.LBB0_5: # %if.end9 +.LBB0_4: # %if.end9 end_block # label0: call abort@FUNCTION unreachable @@ -53,12 +50,12 @@ main: # @main i32.call $push3=, foo@FUNCTION, $pop2, $pop1, $pop0, $pop6, $pop5 i32.const $push7=, 0 i32.eq $push8=, $pop3, $pop7 - br_if 0, $pop8 # 0: down to label3 + br_if 0, $pop8 # 0: down to label2 # BB#1: # %if.end i32.const $push4=, 0 return $pop4 .LBB1_2: # %if.then - end_block # label3: + end_block # label2: call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/20031012-1.c.s b/test/torture-s/20031012-1.c.s index 2f45d6989..8b4fb3566 100644 --- a/test/torture-s/20031012-1.c.s +++ b/test/torture-s/20031012-1.c.s @@ -7,29 +7,29 @@ main: # @main .param i32, i32 .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 15008 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 15008 + i32.sub $3=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $3 i32.const $push1=, 205 i32.const $push0=, 13371 - i32.call $discard=, memset@FUNCTION, $6, $pop1, $pop0 + i32.call $discard=, memset@FUNCTION, $3, $pop1, $pop0 i32.const $push2=, 0 - i32.store8 $2=, 13371($6), $pop2 + i32.store8 $2=, 13371($3), $pop2 block - i32.call $push3=, strlen@FUNCTION, $6 + i32.call $push3=, strlen@FUNCTION, $3 i32.const $push5=, 13371 i32.ne $push4=, $pop3, $pop5 br_if 0, $pop4 # 0: down to label0 # BB#1: # %foo.exit - i32.const $5=, 15008 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push10=, 15008 + i32.add $3=, $3, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $3 return $2 .LBB0_2: # %if.then.i end_block # label0: diff --git a/test/torture-s/20031201-1.c.s b/test/torture-s/20031201-1.c.s index f92b4bb37..a0158119f 100644 --- a/test/torture-s/20031201-1.c.s +++ b/test/torture-s/20031201-1.c.s @@ -99,17 +99,17 @@ test: # @test .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 - i32.const $2=, 8 - i32.add $2=, $3, $2 - i32.call $discard=, f1@FUNCTION, $2 + i32.const $push0=, __stack_pointer + i32.load $push1=, 0($pop0) + i32.const $push2=, 16 + i32.sub $1=, $pop1, $pop2 + i32.const $push3=, __stack_pointer + i32.store $discard=, 0($pop3), $1 + i32.const $0=, 8 + i32.add $0=, $1, $0 + i32.call $discard=, f1@FUNCTION, $0 unreachable .endfunc .Lfunc_end3: diff --git a/test/torture-s/20040218-1.c.s b/test/torture-s/20040218-1.c.s index a7811eadc..af7bb3b95 100644 --- a/test/torture-s/20040218-1.c.s +++ b/test/torture-s/20040218-1.c.s @@ -58,36 +58,36 @@ yb: # @yb .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $5=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $5=, 0($1), $5 + i32.const $push14=, __stack_pointer + i32.load $push15=, 0($pop14) + i32.const $push16=, 16 + i32.sub $3=, $pop15, $pop16 + i32.const $push17=, __stack_pointer + i32.store $discard=, 0($pop17), $3 i32.const $push1=, 1048641535 - i32.store $discard=, 4($5), $pop1 + i32.store $discard=, 4($3), $pop1 i64.const $push0=, 68723771703295 - i64.store $discard=, 8($5), $pop0 - i32.const $2=, 8 - i32.add $2=, $5, $2 + i64.store $discard=, 8($3), $pop0 + i32.const $0=, 8 + i32.add $0=, $3, $0 block - i32.call $push2=, xb@FUNCTION, $2 + i32.call $push2=, xb@FUNCTION, $0 i32.const $push3=, 16255 i32.ne $push4=, $pop2, $pop3 br_if 0, $pop4 # 0: down to label0 # BB#1: # %lor.lhs.false - i32.const $3=, 8 - i32.add $3=, $5, $3 - i32.call $push5=, xw@FUNCTION, $3 + i32.const $1=, 8 + i32.add $1=, $3, $1 + i32.call $push5=, xw@FUNCTION, $1 i32.const $push6=, 81535 i32.ne $push7=, $pop5, $pop6 br_if 0, $pop7 # 0: down to label0 # BB#2: # %lor.lhs.false4 - i32.const $4=, 4 - i32.add $4=, $5, $4 - i32.call $push8=, yb@FUNCTION, $4 + i32.const $2=, 4 + i32.add $2=, $3, $2 + i32.call $push8=, yb@FUNCTION, $2 i32.const $push9=, 65535 i32.and $push10=, $pop8, $pop9 i32.const $push11=, 16255 diff --git a/test/torture-s/20040625-1.c.s b/test/torture-s/20040625-1.c.s index 9a7906186..9193ffc29 100644 --- a/test/torture-s/20040625-1.c.s +++ b/test/torture-s/20040625-1.c.s @@ -27,21 +27,21 @@ maybe_next: # @maybe_next .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 - i32.store $discard=, 8($3):p2align=3, $3 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $1=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $1 + i32.store $discard=, 8($1):p2align=3, $1 i32.const $push0=, 1 - i32.const $2=, 8 - i32.add $2=, $3, $2 + i32.const $0=, 8 + i32.add $0=, $1, $0 block - i32.call $push1=, maybe_next@FUNCTION, $2, $pop0 - i32.ne $push2=, $pop1, $3 + i32.call $push1=, maybe_next@FUNCTION, $0, $pop0 + i32.ne $push2=, $pop1, $1 br_if 0, $pop2 # 0: down to label1 # BB#1: # %if.end i32.const $push3=, 0 diff --git a/test/torture-s/20040703-1.c.s b/test/torture-s/20040703-1.c.s index e0e50fda0..c1ec28fe5 100644 --- a/test/torture-s/20040703-1.c.s +++ b/test/torture-s/20040703-1.c.s @@ -257,51 +257,47 @@ num_lshift: # @num_lshift .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 32 - i32.sub $5=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 + i32.const $push18=, __stack_pointer + i32.load $push19=, 0($pop18) + i32.const $push20=, 32 + i32.sub $2=, $pop19, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $2 i32.const $push0=, 0 i32.load $0=, n($pop0) i32.const $push1=, 12 - i32.add $push2=, $5, $pop1 - i32.const $push19=, 0 - i32.load $push3=, num+12($pop19) + i32.add $push2=, $2, $pop1 + i32.const $push17=, 0 + i32.load $push3=, num+12($pop17) i32.store $discard=, 0($pop2), $pop3 i32.const $push4=, 8 - i32.add $push5=, $5, $pop4 - i32.const $push18=, 0 - i32.load $push6=, num+8($pop18) + i32.add $push5=, $2, $pop4 + i32.const $push16=, 0 + i32.load $push6=, num+8($pop16) i32.store $discard=, 0($pop5), $pop6 - i32.const $push17=, 0 - i64.load $push7=, num($pop17):p2align=2 - i64.store $discard=, 0($5):p2align=2, $pop7 + i32.const $push15=, 0 + i64.load $push7=, num($pop15):p2align=2 + i64.store $discard=, 0($2):p2align=2, $pop7 i32.const $push8=, 64 - i32.const $3=, 16 - i32.add $3=, $5, $3 - call num_lshift@FUNCTION, $3, $5, $pop8, $0 - i32.const $push9=, 4 - i32.const $4=, 16 - i32.add $4=, $5, $4 + i32.const $1=, 16 + i32.add $1=, $2, $1 + call num_lshift@FUNCTION, $1, $2, $pop8, $0 block - i32.or $push10=, $4, $pop9 - i32.load $push11=, 0($pop10) - i32.const $push12=, 196608 - i32.ne $push13=, $pop11, $pop12 - br_if 0, $pop13 # 0: down to label15 + i32.load $push9=, 20($2) + i32.const $push10=, 196608 + i32.ne $push11=, $pop9, $pop10 + br_if 0, $pop11 # 0: down to label15 # BB#1: # %if.end - i32.load $push14=, 16($5):p2align=3 - br_if 0, $pop14 # 0: down to label15 + i32.load $push12=, 16($2):p2align=3 + br_if 0, $pop12 # 0: down to label15 # BB#2: # %if.end3 - i32.load $push15=, 28($5) - br_if 0, $pop15 # 0: down to label15 + i32.load $push13=, 28($2) + br_if 0, $pop13 # 0: down to label15 # BB#3: # %if.end6 - i32.const $push16=, 0 - call exit@FUNCTION, $pop16 + i32.const $push14=, 0 + call exit@FUNCTION, $pop14 unreachable .LBB1_4: # %if.then5 end_block # label15: diff --git a/test/torture-s/20040811-1.c.s b/test/torture-s/20040811-1.c.s index 3f6db5748..00026daeb 100644 --- a/test/torture-s/20040811-1.c.s +++ b/test/torture-s/20040811-1.c.s @@ -6,16 +6,16 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $7=, 0($5) - copy_local $8=, $7 + i32.const $push16=, __stack_pointer + i32.load $5=, 0($pop16) + copy_local $6=, $5 i32.const $3=, 0 .LBB0_1: # %lab # =>This Inner Loop Header: Depth=1 loop # label0: - copy_local $0=, $7 + copy_local $0=, $5 i32.const $push15=, 1000 i32.rem_s $push0=, $3, $pop15 i32.const $push14=, 2 @@ -25,8 +25,8 @@ main: # @main i32.add $push1=, $pop12, $pop11 i32.const $push10=, -16 i32.and $push2=, $pop1, $pop10 - i32.sub $1=, $7, $pop2 - copy_local $7=, $1 + i32.sub $1=, $5, $pop2 + copy_local $5=, $1 i32.const $push9=, 1 i32.store $2=, 0($1):p2align=4, $pop9 i32.add $push3=, $1, $4 @@ -35,15 +35,13 @@ main: # @main i32.const $push7=, 0 i32.store $discard=, p($pop7), $1 i32.add $3=, $3, $2 - copy_local $7=, $0 + copy_local $5=, $0 i32.const $push6=, 1000000 i32.ne $push4=, $3, $pop6 br_if 0, $pop4 # 0: up to label0 # BB#2: # %cleanup3 end_loop # label1: i32.const $push5=, 0 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $8 return $pop5 .endfunc .Lfunc_end0: diff --git a/test/torture-s/20040823-1.c.s b/test/torture-s/20040823-1.c.s index b89d430d5..6155f8061 100644 --- a/test/torture-s/20040823-1.c.s +++ b/test/torture-s/20040823-1.c.s @@ -29,20 +29,20 @@ bla: # @bla .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $1=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $1 i32.const $push0=, 0 - i32.const $2=, 12 - i32.add $2=, $3, $2 - i32.store $discard=, pwarn($pop0), $2 + i32.const $0=, 12 + i32.add $0=, $1, $0 + i32.store $discard=, pwarn($pop0), $0 i32.const $push1=, 1 - i32.store $discard=, 12($3), $pop1 + i32.store $discard=, 12($1), $pop1 call bla@FUNCTION unreachable .endfunc diff --git a/test/torture-s/20041019-1.c.s b/test/torture-s/20041019-1.c.s index 70e04c0ad..0cb3846ac 100644 --- a/test/torture-s/20041019-1.c.s +++ b/test/torture-s/20041019-1.c.s @@ -7,38 +7,32 @@ test_store_ccp: # @test_store_ccp .param i32 .result i32 - .local i32, i32, i32, i32, i32, 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 $7=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $7=, 0($2), $7 + i32.const $push12=, __stack_pointer + i32.load $push13=, 0($pop12) + i32.const $push14=, 16 + i32.sub $4=, $pop13, $pop14 i32.const $push2=, 8 i32.gt_s $push3=, $0, $pop2 - i32.const $4=, 8 - i32.add $4=, $7, $4 - i32.const $5=, 4 - i32.add $5=, $7, $5 - i32.select $push4=, $4, $5, $pop3 + i32.const $1=, 8 + i32.add $1=, $4, $1 + i32.const $2=, 4 + i32.add $2=, $4, $2 + i32.select $push4=, $1, $2, $pop3 i32.const $push0=, 5 i32.lt_s $push1=, $0, $pop0 - i32.const $6=, 12 - i32.add $6=, $7, $6 - i32.select $push11=, $6, $pop4, $pop1 + i32.const $3=, 12 + i32.add $3=, $4, $3 + i32.select $push11=, $3, $pop4, $pop1 tee_local $push10=, $0=, $pop11 i32.const $push5=, 10 i32.store $discard=, 0($pop10), $pop5 i32.const $push6=, 3 - i32.store $discard=, 8($7), $pop6 + i32.store $discard=, 8($4), $pop6 i32.load $push7=, 0($0) i32.const $push8=, 2 i32.add $push9=, $pop7, $pop8 - i32.const $3=, 16 - i32.add $7=, $7, $3 - i32.const $3=, __stack_pointer - i32.store $7=, 0($3), $7 return $pop9 .endfunc .Lfunc_end0: @@ -51,36 +45,30 @@ test_store_ccp: # @test_store_ccp test_store_copy_prop: # @test_store_copy_prop .param i32 .result i32 - .local i32, i32, i32, i32, i32, i32, 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 $8=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $8=, 0($3), $8 + i32.const $push11=, __stack_pointer + i32.load $push12=, 0($pop11) + i32.const $push13=, 16 + i32.sub $5=, $pop12, $pop13 i32.const $push2=, 8 i32.gt_s $push3=, $0, $pop2 - i32.const $5=, 8 - i32.add $5=, $8, $5 - i32.const $6=, 4 - i32.add $6=, $8, $6 - i32.select $push4=, $5, $6, $pop3 + i32.const $2=, 8 + i32.add $2=, $5, $2 + i32.const $3=, 4 + i32.add $3=, $5, $3 + i32.select $push4=, $2, $3, $pop3 i32.const $push0=, 5 i32.lt_s $push1=, $0, $pop0 - i32.const $7=, 12 - i32.add $7=, $8, $7 - i32.select $push10=, $7, $pop4, $pop1 + i32.const $4=, 12 + i32.add $4=, $5, $4 + i32.select $push10=, $4, $pop4, $pop1 tee_local $push9=, $1=, $pop10 i32.store $push5=, 0($pop9), $0 i32.const $push6=, 1 i32.add $push7=, $pop5, $pop6 - i32.store $discard=, 8($8), $pop7 + i32.store $discard=, 8($5), $pop7 i32.load $push8=, 0($1) - i32.const $4=, 16 - i32.add $8=, $8, $4 - i32.const $4=, __stack_pointer - i32.store $8=, 0($4), $8 return $pop8 .endfunc .Lfunc_end1: diff --git a/test/torture-s/20041113-1.c.s b/test/torture-s/20041113-1.c.s index ea3cf7dce..67de5720c 100644 --- a/test/torture-s/20041113-1.c.s +++ b/test/torture-s/20041113-1.c.s @@ -6,77 +6,55 @@ .type test,@function test: # @test .param i32, i32 - .local i32, i32, i32, i32 + .local 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 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $push0=, 12($5), $1 - i32.const $push26=, 3 - i32.add $push1=, $pop0, $pop26 - i32.const $push25=, -4 - i32.and $push24=, $pop1, $pop25 - tee_local $push23=, $1=, $pop24 - i32.const $push22=, 4 - i32.add $push2=, $pop23, $pop22 - i32.store $discard=, 12($5), $pop2 + i32.const $push22=, __stack_pointer + i32.load $push23=, 0($pop22) + i32.const $push24=, 16 + i32.sub $4=, $pop23, $pop24 + i32.const $push25=, __stack_pointer + i32.store $discard=, 0($pop25), $4 + i32.store $push21=, 12($4), $1 + tee_local $push20=, $1=, $pop21 + i32.const $push0=, 4 + i32.add $push1=, $pop20, $pop0 + i32.store $2=, 12($4), $pop1 block - i32.load $push3=, 0($1) - i32.const $push4=, 1 - i32.ne $push5=, $pop3, $pop4 - br_if 0, $pop5 # 0: down to label0 + i32.load $push2=, 0($1) + i32.const $push3=, 1 + i32.ne $push4=, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label0 # BB#1: # %if.end - i32.load $push6=, 12($5) - i32.const $push31=, 3 - i32.add $push7=, $pop6, $pop31 - i32.const $push30=, -4 - i32.and $push29=, $pop7, $pop30 - tee_local $push28=, $1=, $pop29 - i32.const $push27=, 4 - i32.add $push8=, $pop28, $pop27 - i32.store $discard=, 12($5), $pop8 - i32.load $push9=, 0($1) - i32.const $push10=, 2 - i32.ne $push11=, $pop9, $pop10 - br_if 0, $pop11 # 0: down to label0 -# BB#2: # %if.end4 - i32.load $push12=, 12($5) - i32.const $push37=, 3 - i32.add $push13=, $pop12, $pop37 - i32.const $push36=, -4 - i32.and $push35=, $pop13, $pop36 - tee_local $push34=, $1=, $pop35 - i32.const $push33=, 4 - i32.add $push14=, $pop34, $pop33 - i32.store $discard=, 12($5), $pop14 - i32.load $push15=, 0($1) - i32.const $push32=, 3 - i32.ne $push16=, $pop15, $pop32 - br_if 0, $pop16 # 0: down to label0 -# BB#3: # %if.end7 - i32.load $push17=, 12($5) - i32.const $push43=, 3 - i32.add $push18=, $pop17, $pop43 - i32.const $push42=, -4 - i32.and $push41=, $pop18, $pop42 - tee_local $push40=, $1=, $pop41 - i32.const $push39=, 4 - i32.add $push19=, $pop40, $pop39 - i32.store $discard=, 12($5), $pop19 - i32.load $push20=, 0($1) - i32.const $push38=, 4 - i32.ne $push21=, $pop20, $pop38 - br_if 0, $pop21 # 0: down to label0 -# BB#4: # %if.end10 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push5=, 8 + i32.add $push6=, $1, $pop5 + i32.store $3=, 12($4), $pop6 + i32.load $push7=, 0($2) + i32.const $push8=, 2 + i32.ne $push9=, $pop7, $pop8 + br_if 0, $pop9 # 0: down to label0 +# BB#2: # %if.end6 + i32.const $push10=, 12 + i32.add $push11=, $1, $pop10 + i32.store $2=, 12($4), $pop11 + i32.load $push12=, 0($3) + i32.const $push13=, 3 + i32.ne $push14=, $pop12, $pop13 + br_if 0, $pop14 # 0: down to label0 +# BB#3: # %if.end11 + i32.const $push15=, 16 + i32.add $push16=, $1, $pop15 + i32.store $discard=, 12($4), $pop16 + i32.load $push17=, 0($2) + i32.const $push18=, 4 + i32.ne $push19=, $pop17, $pop18 + br_if 0, $pop19 # 0: down to label0 +# BB#4: # %if.end16 + i32.const $push26=, 16 + i32.add $4=, $4, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $4 return -.LBB0_5: # %if.then9 +.LBB0_5: # %if.then15 end_block # label0: call abort@FUNCTION unreachable @@ -91,31 +69,27 @@ test: # @test main: # @main .param i32, i32 .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $5=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 16 + i32.sub $3=, $pop8, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $3 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 $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 + i32.const $push4=, 3 + i32.store $discard=, 8($3):p2align=3, $pop4 + i64.const $push5=, 8589934593 + i64.store $discard=, 0($3):p2align=4, $pop5 + i32.store $discard=, 12($3), $2 + call test@FUNCTION, $2, $3 + i32.const $push6=, 0 + call exit@FUNCTION, $pop6 unreachable .endfunc .Lfunc_end1: diff --git a/test/torture-s/20041124-1.c.s b/test/torture-s/20041124-1.c.s index 416d97346..8cae152bd 100644 --- a/test/torture-s/20041124-1.c.s +++ b/test/torture-s/20041124-1.c.s @@ -21,41 +21,37 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $5=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 - i32.const $3=, 8 - i32.add $3=, $5, $3 - call foo@FUNCTION, $3 + i32.const $push14=, __stack_pointer + i32.load $push15=, 0($pop14) + i32.const $push16=, 16 + i32.sub $2=, $pop15, $pop16 + i32.const $push17=, __stack_pointer + i32.store $discard=, 0($pop17), $2 + i32.const $1=, 8 + i32.add $1=, $2, $1 + call foo@FUNCTION, $1 block - i32.load16_u $push2=, 8($5):p2align=3 - i32.const $push5=, 0 - i32.load $push14=, gs($pop5) - tee_local $push13=, $0=, $pop14 - i32.const $push12=, 65535 - i32.and $push6=, $pop13, $pop12 - i32.ne $push8=, $pop2, $pop6 - br_if 0, $pop8 # 0: down to label0 + i32.load16_u $push2=, 8($2):p2align=3 + i32.const $push3=, 0 + i32.load $push12=, gs($pop3) + tee_local $push11=, $0=, $pop12 + i32.const $push10=, 65535 + i32.and $push4=, $pop11, $pop10 + i32.ne $push6=, $pop2, $pop4 + br_if 0, $pop6 # 0: down to label0 # BB#1: # %entry - i32.const $push3=, 2 - i32.const $4=, 8 - i32.add $4=, $5, $4 - i32.or $push4=, $4, $pop3 - i32.load16_u $push0=, 0($pop4) - i32.const $push15=, 65535 - i32.and $push9=, $pop0, $pop15 - i32.const $push7=, 16 - i32.shr_u $push1=, $0, $pop7 - i32.ne $push10=, $pop9, $pop1 - br_if 0, $pop10 # 0: down to label0 + i32.load16_u $push0=, 10($2) + i32.const $push13=, 65535 + i32.and $push7=, $pop0, $pop13 + i32.const $push5=, 16 + i32.shr_u $push1=, $0, $pop5 + i32.ne $push8=, $pop7, $pop1 + br_if 0, $pop8 # 0: down to label0 # BB#2: # %if.end - i32.const $push11=, 0 - call exit@FUNCTION, $pop11 + i32.const $push9=, 0 + call exit@FUNCTION, $pop9 unreachable .LBB1_3: # %if.then end_block # label0: diff --git a/test/torture-s/20041126-1.c.s b/test/torture-s/20041126-1.c.s index d90415660..5c7831633 100644 --- a/test/torture-s/20041126-1.c.s +++ b/test/torture-s/20041126-1.c.s @@ -64,57 +64,55 @@ check: # @check .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %for.cond1.i.preheader - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 48 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.const $push15=, __stack_pointer + i32.load $push16=, 0($pop15) + i32.const $push17=, 48 + i32.sub $3=, $pop16, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $3 i32.const $push0=, .Lmain.a i32.const $push1=, 40 - i32.call $discard=, memcpy@FUNCTION, $6, $pop0, $pop1 + i32.call $discard=, memcpy@FUNCTION, $3, $pop0, $pop1 i32.const $push2=, 16 - i32.add $push3=, $6, $pop2 + i32.add $push3=, $3, $pop2 i32.const $push4=, 0 i32.store $discard=, 0($pop3):p2align=4, $pop4 - i32.const $push5=, 8 - i32.or $push6=, $6, $pop5 - i64.const $push7=, 0 - i64.store $push8=, 0($pop6), $pop7 - i64.store $discard=, 0($6):p2align=4, $pop8 + i64.const $push5=, 0 + i64.store $push6=, 8($3), $pop5 + i64.store $discard=, 0($3):p2align=4, $pop6 i32.const $2=, 5 .LBB1_1: # %for.cond1.i # =>This Inner Loop Header: Depth=1 block loop # label5: - i32.const $push14=, 9 - i32.gt_s $push9=, $2, $pop14 - br_if 2, $pop9 # 2: down to label4 + i32.const $push12=, 9 + i32.gt_s $push7=, $2, $pop12 + br_if 2, $pop7 # 2: down to label4 # BB#2: # %for.body3.i # in Loop: Header=BB1_1 Depth=1 - i32.const $push16=, 2 - i32.shl $push11=, $2, $pop16 - i32.add $push12=, $6, $pop11 - i32.load $0=, 0($pop12) - i32.const $push15=, 1 - i32.add $1=, $2, $pop15 + i32.const $push14=, 2 + i32.shl $push9=, $2, $pop14 + i32.add $push10=, $3, $pop9 + i32.load $0=, 0($pop10) + i32.const $push13=, 1 + i32.add $1=, $2, $pop13 copy_local $2=, $0 - i32.eq $push13=, $0, $1 - br_if 0, $pop13 # 0: up to label5 + i32.eq $push11=, $0, $1 + br_if 0, $pop11 # 0: up to label5 # BB#3: # %if.then6.i end_loop # label6: call abort@FUNCTION unreachable .LBB1_4: # %check.exit end_block # label4: - i32.const $push10=, 0 - i32.const $5=, 48 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 - return $pop10 + i32.const $push8=, 0 + i32.const $push19=, 48 + i32.add $3=, $3, $pop19 + i32.const $push20=, __stack_pointer + i32.store $discard=, 0($pop20), $3 + return $pop8 .endfunc .Lfunc_end1: .size main, .Lfunc_end1-main diff --git a/test/torture-s/20041214-1.c.s b/test/torture-s/20041214-1.c.s index d5d6a80b2..0a2b40b4c 100644 --- a/test/torture-s/20041214-1.c.s +++ b/test/torture-s/20041214-1.c.s @@ -7,50 +7,32 @@ g: # @g .param i32, i32, i32 .result i32 - .local i32, i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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.load8_u $3=, 0($1) - i32.store $discard=, 12($7), $2 block - i32.const $push12=, 0 - i32.eq $push13=, $3, $pop12 - br_if 0, $pop13 # 0: down to label0 + i32.load8_u $push0=, 0($1) + i32.const $push6=, 0 + i32.eq $push7=, $pop0, $pop6 + br_if 0, $pop7 # 0: down to label0 # BB#1: # %do_form_string.preheader - i32.const $push5=, 2 - i32.add $1=, $1, $pop5 + i32.const $push3=, 2 + i32.add $1=, $1, $pop3 .LBB0_2: # %do_form_string # =>This Inner Loop Header: Depth=1 loop # label1: - i32.load $push0=, 12($7) - i32.const $push11=, 3 - i32.add $push1=, $pop0, $pop11 - i32.const $push10=, -4 - i32.and $push9=, $pop1, $pop10 - tee_local $push8=, $2=, $pop9 - i32.const $push7=, 4 - i32.add $push2=, $pop8, $pop7 - i32.store $discard=, 12($7), $pop2 - i32.load $push3=, 0($2) - i32.call $discard=, strcpy@FUNCTION, $0, $pop3 - i32.load8_u $2=, 0($1) - i32.const $push6=, 2 - i32.add $1=, $1, $pop6 - br_if 0, $2 # 0: up to label1 + i32.load $push1=, 0($2) + i32.call $discard=, strcpy@FUNCTION, $0, $pop1 + i32.load8_u $3=, 0($1) + i32.const $push5=, 4 + i32.add $2=, $2, $pop5 + i32.const $push4=, 2 + i32.add $1=, $1, $pop4 + br_if 0, $3 # 0: up to label1 .LBB0_3: # %all_done end_loop # label2: end_block # label0: - i32.const $push4=, 0 - i32.const $6=, 16 - i32.add $7=, $7, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 - return $pop4 + i32.const $push2=, 0 + return $pop2 .endfunc .Lfunc_end0: .size g, .Lfunc_end0-g @@ -61,20 +43,20 @@ g: # @g .type f,@function f: # @f .param i32, i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - i32.store $push0=, 12($6), $2 + i32.const $push1=, __stack_pointer + i32.load $push2=, 0($pop1) + i32.const $push3=, 16 + i32.sub $3=, $pop2, $pop3 + i32.const $push4=, __stack_pointer + i32.store $discard=, 0($pop4), $3 + i32.store $push0=, 12($3), $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 + i32.const $push5=, 16 + i32.add $3=, $3, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $3 return .endfunc .Lfunc_end1: @@ -86,34 +68,32 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 32 - i32.sub $7=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $7=, 0($3), $7 - i32.const $push0=, 4 - i32.or $push1=, $7, $pop0 - i32.const $push2=, 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 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 32 + i32.sub $4=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $4 + i32.const $push0=, 0 + i32.store $0=, 4($4), $pop0 + i32.const $push1=, .L.str.1 + i32.store $1=, 0($4):p2align=4, $pop1 + i32.const $push2=, .L.str + i32.const $2=, 22 + i32.add $2=, $4, $2 + call f@FUNCTION, $2, $pop2, $4 + i32.const $3=, 22 + i32.add $3=, $4, $3 block - i32.call $push5=, strcmp@FUNCTION, $6, $1 - br_if 0, $pop5 # 0: down to label3 + i32.call $push3=, strcmp@FUNCTION, $3, $1 + br_if 0, $pop3 # 0: down to label3 # BB#1: # %if.end - i32.const $4=, 32 - i32.add $7=, $7, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 + i32.const $push8=, 32 + i32.add $4=, $4, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $4 return $0 .LBB2_2: # %if.then end_block # label3: diff --git a/test/torture-s/20050119-1.c.s b/test/torture-s/20050119-1.c.s index 6f711e184..6f8722dbe 100644 --- a/test/torture-s/20050119-1.c.s +++ b/test/torture-s/20050119-1.c.s @@ -33,53 +33,29 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $10=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $10=, 0($2), $10 + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 16 + i32.sub $2=, $pop8, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $2 i32.const $push0=, 1 - i32.store8 $push18=, 8($10):p2align=3, $pop0 - tee_local $push17=, $0=, $pop18 - i32.const $3=, 8 - i32.add $3=, $10, $3 - i32.or $push1=, $3, $pop17 - i32.store8 $discard=, 0($pop1), $0 + i32.store8 $push1=, 8($2):p2align=3, $pop0 + i32.store8 $discard=, 9($2), $pop1 i32.const $push2=, 2 - i32.const $4=, 8 - i32.add $4=, $10, $4 - i32.or $push3=, $4, $pop2 - i32.const $push16=, 2 - i32.store8 $discard=, 0($pop3):p2align=1, $pop16 - i32.const $push7=, 4 - i32.const $5=, 8 - i32.add $5=, $10, $5 - i32.or $push8=, $5, $pop7 - i32.const $push4=, 3 - i32.const $6=, 8 - i32.add $6=, $10, $6 - i32.or $push5=, $6, $pop4 - i32.const $push15=, 3 - i32.store8 $push6=, 0($pop5), $pop15 - i32.store8 $discard=, 0($pop8):p2align=2, $pop6 - i32.const $push9=, 5 - i32.const $7=, 8 - i32.add $7=, $10, $7 - i32.or $push10=, $7, $pop9 - i32.const $push11=, 258 - i32.store16 $discard=, 0($pop10):p2align=0, $pop11 - i32.const $push12=, 7 - i32.const $8=, 8 - i32.add $8=, $10, $8 - i32.or $push13=, $8, $pop12 - i32.const $push14=, 0 - i32.store8 $0=, 0($pop13), $pop14 - i32.const $9=, 8 - i32.add $9=, $10, $9 - call foo@FUNCTION, $9 + i32.store8 $discard=, 10($2):p2align=1, $pop2 + i32.const $push3=, 3 + i32.store8 $push4=, 11($2), $pop3 + i32.store8 $discard=, 12($2):p2align=2, $pop4 + i32.const $push5=, 258 + i32.store16 $discard=, 13($2):p2align=0, $pop5 + i32.const $push6=, 0 + i32.store8 $0=, 15($2), $pop6 + i32.const $1=, 8 + i32.add $1=, $2, $1 + call foo@FUNCTION, $1 call exit@FUNCTION, $0 unreachable .endfunc diff --git a/test/torture-s/20050121-1.c.s b/test/torture-s/20050121-1.c.s index 747d4a7d9..ca6193be8 100644 --- a/test/torture-s/20050121-1.c.s +++ b/test/torture-s/20050121-1.c.s @@ -102,32 +102,32 @@ baz_double: # @baz_double .type foo_ldouble_t,@function foo_ldouble_t: # @foo_ldouble_t .param i32, i32 - .local i64, i64, i64, i64, i32, i32, i32, i32, i32, i32 + .local i64, i64, i64, i64, 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 $push12=, __stack_pointer + i32.load $push13=, 0($pop12) + i32.const $push14=, 32 + i32.sub $8=, $pop13, $pop14 + i32.const $push15=, __stack_pointer + i32.store $discard=, 0($pop15), $8 i32.const $push0=, 1 i32.add $push1=, $1, $pop0 - i32.const $9=, 16 - i32.add $9=, $11, $9 - call __floatsitf@FUNCTION, $9, $pop1 + i32.const $6=, 16 + i32.add $6=, $8, $6 + call __floatsitf@FUNCTION, $6, $pop1 i32.const $push2=, 8 - i32.const $10=, 16 - i32.add $10=, $11, $10 - i32.add $push3=, $10, $pop2 + i32.const $7=, 16 + i32.add $7=, $8, $7 + i32.add $push3=, $7, $pop2 i64.load $2=, 0($pop3) - i64.load $3=, 16($11) + i64.load $3=, 16($8) i32.const $push4=, -1 i32.add $push5=, $1, $pop4 - call __floatsitf@FUNCTION, $11, $pop5 + call __floatsitf@FUNCTION, $8, $pop5 i32.const $push11=, 8 - i32.add $push6=, $11, $pop11 + i32.add $push6=, $8, $pop11 i64.load $4=, 0($pop6) - i64.load $5=, 0($11) + i64.load $5=, 0($8) i32.const $push10=, 8 i32.add $push7=, $0, $pop10 i64.store $discard=, 0($pop7), $2 @@ -136,10 +136,10 @@ foo_ldouble_t: # @foo_ldouble_t i64.store $discard=, 0($pop9), $4 i64.store $discard=, 0($0):p2align=4, $3 i64.store $discard=, 16($0):p2align=4, $5 - i32.const $8=, 32 - i32.add $11=, $11, $8 - i32.const $8=, __stack_pointer - i32.store $11=, 0($8), $11 + i32.const $push16=, 32 + i32.add $8=, $8, $pop16 + i32.const $push17=, __stack_pointer + i32.store $discard=, 0($pop17), $8 return .endfunc .Lfunc_end6: diff --git a/test/torture-s/20050203-1.c.s b/test/torture-s/20050203-1.c.s index dbfd57c8a..1d568003f 100644 --- a/test/torture-s/20050203-1.c.s +++ b/test/torture-s/20050203-1.c.s @@ -6,18 +6,18 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local 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 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 - i32.const $3=, 15 - i32.add $3=, $4, $3 - call foo@FUNCTION, $3 - i32.load8_s $0=, 15($4) + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $2=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $2 + i32.const $1=, 15 + i32.add $1=, $2, $1 + call foo@FUNCTION, $1 + i32.load8_s $0=, 15($2) call bar@FUNCTION block i32.const $push0=, -1 diff --git a/test/torture-s/20050502-1.c.s b/test/torture-s/20050502-1.c.s index 3be8c57b5..09bac06df 100644 --- a/test/torture-s/20050502-1.c.s +++ b/test/torture-s/20050502-1.c.s @@ -123,120 +123,120 @@ foo: # @foo .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 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 80 - i32.sub $18=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $18=, 0($1), $18 + i32.const $push41=, __stack_pointer + i32.load $push42=, 0($pop41) + i32.const $push43=, 80 + i32.sub $15=, $pop42, $pop43 + i32.const $push44=, __stack_pointer + i32.store $discard=, 0($pop44), $15 i32.const $push0=, .L.str - i32.store $discard=, 12($18), $pop0 + i32.store $discard=, 12($15), $pop0 i32.const $push2=, 1 i32.const $push1=, 0 - i32.const $3=, 12 - i32.add $3=, $18, $3 - i32.const $4=, 16 - i32.add $4=, $18, $4 - call foo@FUNCTION, $3, $4, $pop2, $pop1 + i32.const $0=, 12 + i32.add $0=, $15, $0 + i32.const $1=, 16 + i32.add $1=, $15, $1 + call foo@FUNCTION, $0, $1, $pop2, $pop1 block - i32.load $push3=, 12($18) + i32.load $push3=, 12($15) i32.const $push4=, .L.str.1 i32.call $push5=, strcmp@FUNCTION, $pop3, $pop4 br_if 0, $pop5 # 0: down to label4 # BB#1: # %lor.lhs.false i32.const $push6=, .L.str.2 - i32.const $5=, 16 - i32.add $5=, $18, $5 - i32.call $push7=, strcmp@FUNCTION, $5, $pop6 + i32.const $2=, 16 + i32.add $2=, $15, $2 + i32.call $push7=, strcmp@FUNCTION, $2, $pop6 br_if 0, $pop7 # 0: down to label4 # BB#2: # %if.end i32.const $push8=, .L.str.3 - i32.store $discard=, 12($18), $pop8 + i32.store $discard=, 12($15), $pop8 i32.const $push10=, 0 i32.const $push9=, 1 - i32.const $6=, 12 - i32.add $6=, $18, $6 - i32.const $7=, 16 - i32.add $7=, $18, $7 - call foo@FUNCTION, $6, $7, $pop10, $pop9 - i32.load $push11=, 12($18) + i32.const $3=, 12 + i32.add $3=, $15, $3 + i32.const $4=, 16 + i32.add $4=, $15, $4 + call foo@FUNCTION, $3, $4, $pop10, $pop9 + i32.load $push11=, 12($15) i32.const $push12=, .L.str.4 i32.call $push13=, strcmp@FUNCTION, $pop11, $pop12 br_if 0, $pop13 # 0: down to label4 # BB#3: # %lor.lhs.false7 i32.const $push14=, .L.str.5 - i32.const $8=, 16 - i32.add $8=, $18, $8 - i32.call $push15=, strcmp@FUNCTION, $8, $pop14 + i32.const $5=, 16 + i32.add $5=, $15, $5 + i32.call $push15=, strcmp@FUNCTION, $5, $pop14 br_if 0, $pop15 # 0: down to label4 # BB#4: # %if.end12 i32.const $push16=, .L.str.6 - i32.store $discard=, 12($18), $pop16 + i32.store $discard=, 12($15), $pop16 i32.const $push17=, 1 i32.const $push38=, 1 - i32.const $9=, 12 - i32.add $9=, $18, $9 - i32.const $10=, 16 - i32.add $10=, $18, $10 - call foo@FUNCTION, $9, $10, $pop17, $pop38 - i32.load $push18=, 12($18) + i32.const $6=, 12 + i32.add $6=, $15, $6 + i32.const $7=, 16 + i32.add $7=, $15, $7 + call foo@FUNCTION, $6, $7, $pop17, $pop38 + i32.load $push18=, 12($15) i32.const $push19=, .L.str.7 i32.call $push20=, strcmp@FUNCTION, $pop18, $pop19 br_if 0, $pop20 # 0: down to label4 # BB#5: # %lor.lhs.false16 i32.const $push21=, .L.str.8 - i32.const $11=, 16 - i32.add $11=, $18, $11 - i32.call $push22=, strcmp@FUNCTION, $11, $pop21 + i32.const $8=, 16 + i32.add $8=, $15, $8 + i32.call $push22=, strcmp@FUNCTION, $8, $pop21 br_if 0, $pop22 # 0: down to label4 # BB#6: # %if.end21 i32.const $push23=, .L.str.9 - i32.store $discard=, 12($18), $pop23 + i32.store $discard=, 12($15), $pop23 i32.const $push24=, 1 i32.const $push39=, 1 - i32.const $12=, 12 - i32.add $12=, $18, $12 - i32.const $13=, 16 - i32.add $13=, $18, $13 - call foo@FUNCTION, $12, $13, $pop24, $pop39 - i32.load $push25=, 12($18) + i32.const $9=, 12 + i32.add $9=, $15, $9 + i32.const $10=, 16 + i32.add $10=, $15, $10 + call foo@FUNCTION, $9, $10, $pop24, $pop39 + i32.load $push25=, 12($15) i32.const $push26=, .L.str.10 i32.call $push27=, strcmp@FUNCTION, $pop25, $pop26 br_if 0, $pop27 # 0: down to label4 # BB#7: # %lor.lhs.false25 i32.const $push28=, .L.str.11 - i32.const $14=, 16 - i32.add $14=, $18, $14 - i32.call $push29=, strcmp@FUNCTION, $14, $pop28 + i32.const $11=, 16 + i32.add $11=, $15, $11 + i32.call $push29=, strcmp@FUNCTION, $11, $pop28 br_if 0, $pop29 # 0: down to label4 # BB#8: # %if.end30 i32.const $push30=, .L.str.12 - i32.store $discard=, 12($18), $pop30 + i32.store $discard=, 12($15), $pop30 i32.const $push31=, 0 i32.const $push40=, 0 - i32.const $15=, 12 - i32.add $15=, $18, $15 - i32.const $16=, 16 - i32.add $16=, $18, $16 - call foo@FUNCTION, $15, $16, $pop31, $pop40 - i32.load $push32=, 12($18) + i32.const $12=, 12 + i32.add $12=, $15, $12 + i32.const $13=, 16 + i32.add $13=, $15, $13 + call foo@FUNCTION, $12, $13, $pop31, $pop40 + i32.load $push32=, 12($15) i32.const $push33=, .L.str.13 i32.call $push34=, strcmp@FUNCTION, $pop32, $pop33 br_if 0, $pop34 # 0: down to label4 # BB#9: # %lor.lhs.false34 i32.const $push35=, .L.str.14 - i32.const $17=, 16 - i32.add $17=, $18, $17 - i32.call $push36=, strcmp@FUNCTION, $17, $pop35 + i32.const $14=, 16 + i32.add $14=, $15, $14 + i32.call $push36=, strcmp@FUNCTION, $14, $pop35 br_if 0, $pop36 # 0: down to label4 # BB#10: # %if.end39 i32.const $push37=, 0 - i32.const $2=, 80 - i32.add $18=, $18, $2 - i32.const $2=, __stack_pointer - i32.store $18=, 0($2), $18 + i32.const $push45=, 80 + i32.add $15=, $15, $pop45 + i32.const $push46=, __stack_pointer + i32.store $discard=, 0($pop46), $15 return $pop37 .LBB3_11: # %if.then38 end_block # label4: diff --git a/test/torture-s/20050502-2.c.s b/test/torture-s/20050502-2.c.s index cfb174f52..c5fd28da0 100644 --- a/test/torture-s/20050502-2.c.s +++ b/test/torture-s/20050502-2.c.s @@ -34,61 +34,61 @@ bar: # @bar .type main,@function main: # @main .result i32 - .local 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 $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $10=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $10=, 0($3), $10 + i32.const $push22=, __stack_pointer + i32.load $push23=, 0($pop22) + i32.const $push24=, 16 + i32.sub $7=, $pop23, $pop24 + i32.const $push25=, __stack_pointer + i32.store $discard=, 0($pop25), $7 i32.const $push2=, 10 - i32.const $5=, 4 - i32.add $5=, $10, $5 - i32.add $push3=, $5, $pop2 + i32.const $2=, 4 + i32.add $2=, $7, $2 + i32.add $push3=, $2, $pop2 i32.const $push0=, 0 i32.load8_u $push1=, .Lmain.x+10($pop0) i32.store8 $discard=, 0($pop3):p2align=1, $pop1 i32.const $push5=, 8 - i32.const $6=, 4 - i32.add $6=, $10, $6 - i32.add $push6=, $6, $pop5 + i32.const $3=, 4 + i32.add $3=, $7, $3 + i32.add $push6=, $3, $pop5 i32.const $push20=, 0 i32.load16_u $push4=, .Lmain.x+8($pop20):p2align=0 i32.store16 $discard=, 0($pop6):p2align=2, $pop4 i32.const $push19=, 0 i64.load $push7=, .Lmain.x($pop19):p2align=0 - i64.store $discard=, 4($10):p2align=2, $pop7 + i64.store $discard=, 4($7):p2align=2, $pop7 i32.const $push8=, 4 - i32.const $7=, 4 - i32.add $7=, $10, $7 - i32.add $push18=, $7, $pop8 + i32.const $4=, 4 + i32.add $4=, $7, $4 + i32.add $push18=, $4, $pop8 tee_local $push17=, $1=, $pop18 i32.const $push16=, 0 i32.store8 $0=, 0($pop17):p2align=2, $pop16 i32.const $push9=, .L.str i32.const $push15=, 11 - i32.const $8=, 4 - i32.add $8=, $10, $8 + i32.const $5=, 4 + i32.add $5=, $7, $5 block - i32.call $push10=, memcmp@FUNCTION, $8, $pop9, $pop15 + i32.call $push10=, memcmp@FUNCTION, $5, $pop9, $pop15 br_if 0, $pop10 # 0: down to label0 # BB#1: # %if.end i32.const $push11=, 77 i32.store8 $discard=, 0($1):p2align=2, $pop11 - i32.store8 $discard=, 12($10):p2align=2, $0 + i32.store8 $discard=, 12($7):p2align=2, $0 i32.const $push12=, .L.str.1 i32.const $push21=, 11 - i32.const $9=, 4 - i32.add $9=, $10, $9 - i32.call $push13=, memcmp@FUNCTION, $9, $pop12, $pop21 + i32.const $6=, 4 + i32.add $6=, $7, $6 + i32.call $push13=, memcmp@FUNCTION, $6, $pop12, $pop21 br_if 0, $pop13 # 0: down to label0 # BB#2: # %if.end7 i32.const $push14=, 0 - i32.const $4=, 16 - i32.add $10=, $10, $4 - i32.const $4=, __stack_pointer - i32.store $10=, 0($4), $10 + i32.const $push26=, 16 + i32.add $7=, $7, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $7 return $pop14 .LBB2_3: # %if.then6 end_block # label0: diff --git a/test/torture-s/20050826-2.c.s b/test/torture-s/20050826-2.c.s index 2f6999555..1abf0242d 100644 --- a/test/torture-s/20050826-2.c.s +++ b/test/torture-s/20050826-2.c.s @@ -64,299 +64,276 @@ inet_check_attr: # @inet_check_attr .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 + .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 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 64 - i32.sub $39=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $39=, 0($6), $39 - i32.const $push1=, 2 - i32.const $8=, 56 - i32.add $8=, $39, $8 - i32.or $push2=, $8, $pop1 - i32.const $push3=, 0 - i32.store16 $discard=, 0($pop2), $pop3 + i32.const $push94=, __stack_pointer + i32.load $push95=, 0($pop94) + i32.const $push96=, 64 + i32.sub $33=, $pop95, $pop96 + i32.const $push97=, __stack_pointer + i32.store $discard=, 0($pop97), $33 i32.const $push0=, 12 - i32.store16 $1=, 56($39):p2align=3, $pop0 - i32.const $push4=, 4 + i32.store16 $discard=, 56($33):p2align=3, $pop0 + i32.const $push1=, 0 + i32.store16 $discard=, 58($33), $pop1 + i32.load $push3=, 56($33):p2align=3 + i32.store $discard=, 60($33), $pop3 + i32.const $4=, 56 + i32.add $4=, $33, $4 + i32.store $discard=, 0($33):p2align=4, $4 + i32.const $5=, 56 + i32.add $5=, $33, $5 + i32.store $discard=, 4($33), $5 + i32.const $6=, 56 + i32.add $6=, $33, $6 + i32.store $discard=, 8($33):p2align=3, $6 + i32.const $7=, 56 + i32.add $7=, $33, $7 + i32.store $discard=, 12($33), $7 + i32.const $8=, 56 + i32.add $8=, $33, $8 + i32.store $discard=, 16($33):p2align=4, $8 i32.const $9=, 56 - i32.add $9=, $39, $9 - i32.or $push104=, $9, $pop4 - tee_local $push103=, $0=, $pop104 - i32.load $push5=, 56($39):p2align=3 - i32.store $discard=, 0($pop103), $pop5 + i32.add $9=, $33, $9 + i32.store $discard=, 20($33), $9 i32.const $10=, 56 - i32.add $10=, $39, $10 - i32.store $discard=, 0($39):p2align=4, $10 - i32.const $push102=, 4 - i32.or $push101=, $39, $pop102 - tee_local $push100=, $2=, $pop101 + i32.add $10=, $33, $10 + i32.store $discard=, 24($33):p2align=3, $10 i32.const $11=, 56 - i32.add $11=, $39, $11 - i32.store $discard=, 0($pop100), $11 - i32.const $push6=, 8 - i32.or $push99=, $39, $pop6 - tee_local $push98=, $3=, $pop99 + i32.add $11=, $33, $11 + i32.store $discard=, 28($33), $11 i32.const $12=, 56 - i32.add $12=, $39, $12 - i32.store $discard=, 0($pop98):p2align=3, $12 - i32.or $push97=, $39, $1 - tee_local $push96=, $4=, $pop97 + i32.add $12=, $33, $12 + i32.store $discard=, 32($33):p2align=4, $12 i32.const $13=, 56 - i32.add $13=, $39, $13 - i32.store $discard=, 0($pop96), $13 + i32.add $13=, $33, $13 + i32.store $discard=, 36($33), $13 i32.const $14=, 56 - i32.add $14=, $39, $14 - i32.store $discard=, 16($39):p2align=4, $14 + i32.add $14=, $33, $14 + i32.store $discard=, 40($33):p2align=3, $14 i32.const $15=, 56 - i32.add $15=, $39, $15 - i32.store $discard=, 20($39), $15 + i32.add $15=, $33, $15 + i32.store $discard=, 44($33), $15 i32.const $16=, 56 - i32.add $16=, $39, $16 - i32.store $discard=, 24($39):p2align=3, $16 + i32.add $16=, $33, $16 + i32.store $discard=, 48($33):p2align=4, $16 i32.const $17=, 56 - i32.add $17=, $39, $17 - i32.store $discard=, 28($39), $17 - i32.const $18=, 56 - i32.add $18=, $39, $18 - i32.store $discard=, 32($39):p2align=4, $18 - i32.const $19=, 56 - i32.add $19=, $39, $19 - i32.store $discard=, 36($39), $19 - i32.const $20=, 56 - i32.add $20=, $39, $20 - i32.store $discard=, 40($39):p2align=3, $20 - i32.const $21=, 56 - i32.add $21=, $39, $21 - i32.store $discard=, 44($39), $21 - i32.const $22=, 56 - i32.add $22=, $39, $22 - i32.store $discard=, 48($39):p2align=4, $22 - i32.const $23=, 56 - i32.add $23=, $39, $23 - i32.store $discard=, 52($39), $23 + i32.add $17=, $33, $17 + i32.store $discard=, 52($33), $17 block block block - i32.call $push7=, inet_check_attr@FUNCTION, $0, $39 - br_if 0, $pop7 # 0: down to label5 + i32.call $push4=, inet_check_attr@FUNCTION, $0, $33 + br_if 0, $pop4 # 0: down to label5 # BB#1: # %for.body9.preheader - i32.const $24=, 56 - i32.add $24=, $39, $24 - copy_local $1=, $24 - i32.load $push21=, 0($39):p2align=4 - i32.ne $push42=, $pop21, $0 - br_if 2, $pop42 # 2: down to label3 + i32.const $18=, 56 + i32.add $18=, $33, $18 + copy_local $1=, $18 + i32.load $push18=, 0($33):p2align=4 + i32.const $push2=, 4 + i32.const $19=, 56 + i32.add $19=, $33, $19 + i32.or $push88=, $19, $pop2 + tee_local $push87=, $0=, $pop88 + i32.ne $push39=, $pop18, $pop87 + br_if 2, $pop39 # 2: down to label3 # BB#2: # %for.body9.preheader - i32.load $push8=, 0($2) + i32.load $push5=, 4($33) + i32.ne $push40=, $pop5, $0 + br_if 2, $pop40 # 2: down to label3 +# BB#3: # %for.body9.preheader + i32.load $push6=, 8($33):p2align=3 + i32.ne $push41=, $pop6, $0 + br_if 2, $pop41 # 2: down to label3 +# BB#4: # %for.body9.preheader + i32.load $push7=, 12($33) + i32.ne $push42=, $pop7, $0 + br_if 2, $pop42 # 2: down to label3 +# BB#5: # %for.body9.preheader + i32.const $push19=, 16 + i32.add $push20=, $33, $pop19 + i32.load $push8=, 0($pop20):p2align=4 i32.ne $push43=, $pop8, $0 br_if 2, $pop43 # 2: down to label3 -# BB#3: # %for.body9.preheader - i32.load $push9=, 0($3):p2align=3 +# BB#6: # %for.body9.preheader + i32.const $push21=, 20 + i32.add $push22=, $33, $pop21 + i32.load $push9=, 0($pop22) i32.ne $push44=, $pop9, $0 br_if 2, $pop44 # 2: down to label3 -# BB#4: # %for.body9.preheader - i32.load $push10=, 0($4) +# BB#7: # %for.body9.preheader + i32.const $push23=, 24 + i32.add $push24=, $33, $pop23 + i32.load $push10=, 0($pop24):p2align=3 i32.ne $push45=, $pop10, $0 br_if 2, $pop45 # 2: down to label3 -# BB#5: # %for.body9.preheader - i32.const $push22=, 16 - i32.add $push23=, $39, $pop22 - i32.load $push11=, 0($pop23):p2align=4 - i32.ne $push46=, $pop11, $0 +# BB#8: # %for.body9.preheader + i32.const $push25=, 28 + i32.add $push26=, $33, $pop25 + i32.load $push11=, 0($pop26) + i32.ne $push46=, $pop11, $1 br_if 2, $pop46 # 2: down to label3 -# BB#6: # %for.body9.preheader - i32.const $push24=, 20 - i32.add $push25=, $39, $pop24 - i32.load $push12=, 0($pop25) - i32.ne $push47=, $pop12, $0 +# BB#9: # %for.body9.preheader + i32.const $push27=, 32 + i32.add $push28=, $33, $pop27 + i32.load $push12=, 0($pop28):p2align=4 + i32.ne $push47=, $pop12, $1 br_if 2, $pop47 # 2: down to label3 -# BB#7: # %for.body9.preheader - i32.const $push26=, 24 - i32.add $push27=, $39, $pop26 - i32.load $push13=, 0($pop27):p2align=3 +# BB#10: # %for.body9.preheader + i32.const $push29=, 36 + i32.add $push30=, $33, $pop29 + i32.load $push13=, 0($pop30) i32.ne $push48=, $pop13, $0 br_if 2, $pop48 # 2: down to label3 -# BB#8: # %for.body9.preheader - i32.const $push28=, 28 - i32.add $push29=, $39, $pop28 - i32.load $push14=, 0($pop29) - i32.ne $push49=, $pop14, $1 +# BB#11: # %for.body9.preheader + i32.const $push31=, 40 + i32.add $push32=, $33, $pop31 + i32.load $push14=, 0($pop32):p2align=3 + i32.ne $push49=, $pop14, $0 br_if 2, $pop49 # 2: down to label3 -# BB#9: # %for.body9.preheader - i32.const $push30=, 32 - i32.add $push31=, $39, $pop30 - i32.load $push15=, 0($pop31):p2align=4 - i32.ne $push50=, $pop15, $1 +# BB#12: # %for.body9.preheader + i32.const $push33=, 44 + i32.add $push34=, $33, $pop33 + i32.load $push15=, 0($pop34) + i32.ne $push50=, $pop15, $0 br_if 2, $pop50 # 2: down to label3 -# BB#10: # %for.body9.preheader - i32.const $push32=, 36 - i32.add $push33=, $39, $pop32 - i32.load $push16=, 0($pop33) +# BB#13: # %for.body9.preheader + i32.const $push35=, 48 + i32.add $push36=, $33, $pop35 + i32.load $push16=, 0($pop36):p2align=4 i32.ne $push51=, $pop16, $0 br_if 2, $pop51 # 2: down to label3 -# BB#11: # %for.body9.preheader - i32.const $push34=, 40 - i32.add $push35=, $39, $pop34 - i32.load $push17=, 0($pop35):p2align=3 +# BB#14: # %for.body9.preheader + i32.const $push37=, 52 + i32.add $push38=, $33, $pop37 + i32.load $push17=, 0($pop38) i32.ne $push52=, $pop17, $0 br_if 2, $pop52 # 2: down to label3 -# BB#12: # %for.body9.preheader - i32.const $push36=, 44 - i32.add $push37=, $39, $pop36 - i32.load $push18=, 0($pop37) - i32.ne $push53=, $pop18, $0 - br_if 2, $pop53 # 2: down to label3 -# BB#13: # %for.body9.preheader - i32.const $push38=, 48 - i32.add $push39=, $39, $pop38 - i32.load $push19=, 0($pop39):p2align=4 - i32.ne $push54=, $pop19, $0 - br_if 2, $pop54 # 2: down to label3 -# BB#14: # %for.body9.preheader - i32.const $push40=, 52 - i32.add $push41=, $39, $pop40 - i32.load $push20=, 0($pop41) - i32.ne $push55=, $pop20, $0 - br_if 2, $pop55 # 2: down to label3 # BB#15: # %for.cond7.13 - i32.const $push78=, 4 + i32.const $push53=, 16 + i32.add $push54=, $33, $pop53 + i32.const $20=, 56 + i32.add $20=, $33, $20 + i32.store $discard=, 0($pop54):p2align=4, $20 + i32.const $push55=, 24 + i32.add $push56=, $33, $pop55 + i32.const $21=, 56 + i32.add $21=, $33, $21 + i32.store $discard=, 0($pop56):p2align=3, $21 + i32.const $push57=, 28 + i32.add $push58=, $33, $pop57 + i32.const $22=, 56 + i32.add $22=, $33, $22 + i32.store $discard=, 0($pop58), $22 + i32.const $push59=, 32 + i32.add $push60=, $33, $pop59 + i32.const $23=, 56 + i32.add $23=, $33, $23 + i32.store $discard=, 0($pop60):p2align=4, $23 + i32.const $push61=, 36 + i32.add $push62=, $33, $pop61 + i32.const $24=, 56 + i32.add $24=, $33, $24 + i32.store $discard=, 0($pop62), $24 + i32.const $push63=, 40 + i32.add $push64=, $33, $pop63 i32.const $25=, 56 - i32.add $25=, $39, $25 - i32.or $1=, $25, $pop78 - i32.load16_u $push80=, 0($1):p2align=2 - i32.const $push81=, 65528 - i32.add $push82=, $pop80, $pop81 - i32.store16 $discard=, 0($1):p2align=2, $pop82 - i32.const $push56=, 8 - i32.or $push57=, $39, $pop56 + i32.add $25=, $33, $25 + i32.store $discard=, 0($pop64):p2align=3, $25 + i32.const $push65=, 44 + i32.add $push66=, $33, $pop65 i32.const $26=, 56 - i32.add $26=, $39, $26 - i32.store $discard=, 0($pop57):p2align=3, $26 - i32.const $push58=, 12 - i32.or $push59=, $39, $pop58 + i32.add $26=, $33, $26 + i32.store $discard=, 0($pop66), $26 + i32.const $push67=, 48 + i32.add $push68=, $33, $pop67 i32.const $27=, 56 - i32.add $27=, $39, $27 - i32.store $discard=, 0($pop59), $27 - i32.const $push60=, 16 - i32.add $push61=, $39, $pop60 + i32.add $27=, $33, $27 + i32.store $discard=, 0($pop68):p2align=4, $27 + i32.load16_u $1=, 60($33):p2align=2 + i32.const $push69=, 52 + i32.add $push70=, $33, $pop69 i32.const $28=, 56 - i32.add $28=, $39, $28 - i32.store $discard=, 0($pop61):p2align=4, $28 - i32.const $push62=, 24 - i32.add $push63=, $39, $pop62 + i32.add $28=, $33, $28 + i32.store $discard=, 0($pop70), $28 + i32.const $push72=, 65528 + i32.add $push73=, $1, $pop72 + i32.store16 $discard=, 60($33):p2align=2, $pop73 + i32.const $push74=, 20 + i32.add $push75=, $33, $pop74 + i32.store $3=, 0($pop75), $0 i32.const $29=, 56 - i32.add $29=, $39, $29 - i32.store $discard=, 0($pop63):p2align=3, $29 - i32.const $push64=, 28 - i32.add $push65=, $39, $pop64 + i32.add $29=, $33, $29 + i32.store $discard=, 0($33):p2align=4, $29 i32.const $30=, 56 - i32.add $30=, $39, $30 - i32.store $discard=, 0($pop65), $30 - i32.const $push66=, 32 - i32.add $push67=, $39, $pop66 + i32.add $30=, $33, $30 + i32.store $discard=, 8($33):p2align=3, $30 i32.const $31=, 56 - i32.add $31=, $39, $31 - i32.store $discard=, 0($pop67):p2align=4, $31 - i32.const $push68=, 36 - i32.add $push69=, $39, $pop68 - i32.const $32=, 56 - i32.add $32=, $39, $32 - i32.store $discard=, 0($pop69), $32 - i32.const $push70=, 40 - i32.add $push71=, $39, $pop70 - i32.const $33=, 56 - i32.add $33=, $39, $33 - i32.store $discard=, 0($pop71):p2align=3, $33 - i32.const $push72=, 44 - i32.add $push73=, $39, $pop72 - i32.const $34=, 56 - i32.add $34=, $39, $34 - i32.store $discard=, 0($pop73), $34 - i32.const $push74=, 48 - i32.add $push75=, $39, $pop74 - i32.const $35=, 56 - i32.add $35=, $39, $35 - i32.store $discard=, 0($pop75):p2align=4, $35 - i32.const $push76=, 52 - i32.add $push77=, $39, $pop76 - i32.const $36=, 56 - i32.add $36=, $39, $36 - i32.store $discard=, 0($pop77), $36 - i32.const $push83=, 20 - i32.add $push84=, $39, $pop83 - i32.store $3=, 0($pop84), $0 - i32.const $37=, 56 - i32.add $37=, $39, $37 - i32.store $discard=, 0($39):p2align=4, $37 - i32.const $push112=, 4 - i32.or $push111=, $39, $pop112 - tee_local $push110=, $1=, $pop111 - i32.const $push79=, 0 - i32.store $0=, 0($pop110), $pop79 - i32.call $push85=, inet_check_attr@FUNCTION, $0, $39 - i32.const $push86=, -22 - i32.ne $push87=, $pop85, $pop86 - br_if 2, $pop87 # 2: down to label3 + i32.add $31=, $33, $31 + i32.store $discard=, 12($33), $31 + i32.const $push71=, 0 + i32.store $0=, 4($33), $pop71 + i32.call $push76=, inet_check_attr@FUNCTION, $0, $33 + i32.const $push77=, -22 + i32.ne $push78=, $pop76, $pop77 + br_if 2, $pop78 # 2: down to label3 # BB#16: # %for.body43.preheader - i32.load $2=, 0($1) + i32.load $2=, 4($33) .LBB1_17: # %for.body43 # =>This Inner Loop Header: Depth=1 block loop # label7: block - i32.const $push105=, 1 - i32.ne $push88=, $0, $pop105 - br_if 0, $pop88 # 0: down to label9 + i32.const $push89=, 1 + i32.ne $push79=, $0, $pop89 + br_if 0, $pop79 # 0: down to label9 # BB#18: # %land.lhs.true # in Loop: Header=BB1_17 Depth=1 i32.const $0=, 2 - i32.const $push113=, 0 - i32.eq $push114=, $2, $pop113 - br_if 1, $pop114 # 1: up to label7 + i32.const $push100=, 0 + i32.eq $push101=, $2, $pop100 + br_if 1, $pop101 # 1: up to label7 br 3 # 3: down to label6 .LBB1_19: # %if.else # in Loop: Header=BB1_17 Depth=1 end_block # label9: - i32.const $push107=, 2 - i32.shl $push89=, $0, $pop107 - i32.add $push90=, $39, $pop89 - i32.load $1=, 0($pop90) + i32.const $push91=, 2 + i32.shl $push80=, $0, $pop91 + i32.add $push81=, $33, $pop80 + i32.load $1=, 0($pop81) block block - i32.const $push106=, 5 - i32.gt_s $push91=, $0, $pop106 - br_if 0, $pop91 # 0: down to label11 + i32.const $push90=, 5 + i32.gt_s $push82=, $0, $pop90 + br_if 0, $pop82 # 0: down to label11 # BB#20: # %land.lhs.true55 # in Loop: Header=BB1_17 Depth=1 - i32.eq $push93=, $1, $3 - br_if 1, $pop93 # 1: down to label10 + i32.eq $push84=, $1, $3 + br_if 1, $pop84 # 1: down to label10 br 6 # 6: down to label4 .LBB1_21: # %land.lhs.true64 # in Loop: Header=BB1_17 Depth=1 end_block # label11: - i32.const $38=, 56 - i32.add $38=, $39, $38 - i32.ne $push92=, $1, $38 - br_if 4, $pop92 # 4: down to label5 + i32.const $32=, 56 + i32.add $32=, $33, $32 + i32.ne $push83=, $1, $32 + br_if 4, $pop83 # 4: down to label5 .LBB1_22: # %for.inc73 # in Loop: Header=BB1_17 Depth=1 end_block # label10: - i32.const $push109=, 1 - i32.add $0=, $0, $pop109 - i32.const $push108=, 14 - i32.lt_s $push94=, $0, $pop108 - br_if 0, $pop94 # 0: up to label7 + i32.const $push93=, 1 + i32.add $0=, $0, $pop93 + i32.const $push92=, 14 + i32.lt_s $push85=, $0, $pop92 + br_if 0, $pop85 # 0: up to label7 # BB#23: # %for.end75 end_loop # label8: - i32.const $push95=, 0 - i32.const $7=, 64 - i32.add $39=, $39, $7 - i32.const $7=, __stack_pointer - i32.store $39=, 0($7), $39 - return $pop95 + i32.const $push86=, 0 + i32.const $push98=, 64 + i32.add $33=, $33, $pop98 + i32.const $push99=, __stack_pointer + i32.store $discard=, 0($pop99), $33 + return $pop86 .LBB1_24: # %if.then49 end_block # label6: call abort@FUNCTION diff --git a/test/torture-s/20060420-1.c.s b/test/torture-s/20060420-1.c.s index d11977fdb..a62ae63b0 100644 --- a/test/torture-s/20060420-1.c.s +++ b/test/torture-s/20060420-1.c.s @@ -327,14 +327,14 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local f32, i32, i32, i32, i32, i32, i32, i32 + .local f32, 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 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 + i32.const $push48=, __stack_pointer + i32.load $push49=, 0($pop48) + i32.const $push50=, 16 + i32.sub $4=, $pop49, $pop50 + i32.const $push51=, __stack_pointer + i32.store $discard=, 0($pop51), $4 i32.const $2=, 0 i32.const $push30=, 0 i32.const $push1=, buffer @@ -344,10 +344,10 @@ main: # @main tee_local $push28=, $1=, $pop29 i32.const $push5=, buffer+128 i32.add $push6=, $pop28, $pop5 - i32.store $discard=, 12($7), $pop6 + i32.store $discard=, 12($4), $pop6 i32.const $push4=, buffer+64 i32.add $push0=, $1, $pop4 - i32.store $1=, 8($7), $pop0 + i32.store $1=, 8($4), $pop0 .LBB1_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label18: @@ -382,9 +382,9 @@ main: # @main tee_local $push37=, $1=, $pop38 i32.const $push18=, 2 i32.const $push17=, 16 - i32.const $6=, 8 - i32.add $6=, $7, $6 - call foo@FUNCTION, $pop37, $6, $pop18, $pop17 + i32.const $3=, 8 + i32.add $3=, $4, $3 + call foo@FUNCTION, $pop37, $3, $pop18, $pop17 .LBB1_3: # %for.body16 # =>This Inner Loop Header: Depth=1 block @@ -413,10 +413,10 @@ main: # @main # BB#5: # %for.end31 end_loop # label22: i32.const $push27=, 0 - i32.const $5=, 16 - i32.add $7=, $7, $5 - i32.const $5=, __stack_pointer - i32.store $7=, 0($5), $7 + i32.const $push52=, 16 + i32.add $4=, $4, $pop52 + i32.const $push53=, __stack_pointer + i32.store $discard=, 0($pop53), $4 return $pop27 .LBB1_6: # %if.then end_block # label20: diff --git a/test/torture-s/20070201-1.c.s b/test/torture-s/20070201-1.c.s index 80fe8bcc8..4f7f065f6 100644 --- a/test/torture-s/20070201-1.c.s +++ b/test/torture-s/20070201-1.c.s @@ -7,23 +7,23 @@ foo: # @foo .param i32, i32 .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $discard=, 0($5):p2align=4, $1 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $2=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $2 + i32.store $discard=, 0($2):p2align=4, $1 i32.const $push2=, .L.str - i32.call $discard=, sprintf@FUNCTION, $0, $pop2, $5 + i32.call $discard=, sprintf@FUNCTION, $0, $pop2, $2 i32.const $push0=, 1 i32.add $push1=, $1, $pop0 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push7=, 16 + i32.add $2=, $2, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $2 return $pop1 .endfunc .Lfunc_end0: @@ -35,28 +35,28 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %if.end - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $5=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $5=, 0($1), $5 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $2=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $2 i32.const $push0=, 2 - i32.const $3=, 10 - i32.add $3=, $5, $3 - i32.add $push1=, $3, $pop0 - i32.store $discard=, 0($5):p2align=4, $pop1 + i32.const $0=, 10 + i32.add $0=, $2, $0 + i32.add $push1=, $0, $pop0 + i32.store $discard=, 0($2):p2align=4, $pop1 i32.const $push2=, .L.str - i32.const $4=, 10 - i32.add $4=, $5, $4 - i32.call $discard=, sprintf@FUNCTION, $4, $pop2, $5 + i32.const $1=, 10 + i32.add $1=, $2, $1 + i32.call $discard=, sprintf@FUNCTION, $1, $pop2, $2 i32.const $push3=, 0 - i32.const $2=, 16 - i32.add $5=, $5, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 + i32.const $push8=, 16 + i32.add $2=, $2, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $2 return $pop3 .endfunc .Lfunc_end1: diff --git a/test/torture-s/20070212-1.c.s b/test/torture-s/20070212-1.c.s index 2f367d4d2..d12ce2146 100644 --- a/test/torture-s/20070212-1.c.s +++ b/test/torture-s/20070212-1.c.s @@ -7,25 +7,19 @@ g: # @g .param i32, i32, i32, i32 .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 16 - i32.sub $8=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $8=, 0($5), $8 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $5=, $pop4, $pop5 i32.const $push1=, 0 i32.store $discard=, 0($3), $pop1 - i32.store $discard=, 12($8), $0 - i32.const $7=, 12 - i32.add $7=, $8, $7 - i32.select $push0=, $7, $2, $1 + i32.store $discard=, 12($5), $0 + i32.const $4=, 12 + i32.add $4=, $5, $4 + i32.select $push0=, $4, $2, $1 i32.load $push2=, 0($pop0) - i32.const $6=, 16 - i32.add $8=, $8, $6 - i32.const $6=, __stack_pointer - i32.store $8=, 0($6), $8 return $pop2 .endfunc .Lfunc_end0: diff --git a/test/torture-s/20070517-1.c.s b/test/torture-s/20070517-1.c.s index aad60498f..340ce0af4 100644 --- a/test/torture-s/20070517-1.c.s +++ b/test/torture-s/20070517-1.c.s @@ -45,21 +45,15 @@ main: # @main .type get_kind,@function get_kind: # @get_kind .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $0=, $pop3, $pop4 i32.const $push0=, 10 - i32.store $discard=, 12($3), $pop0 - i32.load $push1=, 12($3) - i32.const $2=, 16 - i32.add $3=, $3, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 + i32.store $discard=, 12($0), $pop0 + i32.load $push1=, 12($0) return $pop1 .endfunc .Lfunc_end1: diff --git a/test/torture-s/20071029-1.c.s b/test/torture-s/20071029-1.c.s index 047595844..8b75eb07d 100644 --- a/test/torture-s/20071029-1.c.s +++ b/test/torture-s/20071029-1.c.s @@ -75,30 +75,30 @@ test: # @test .type foo,@function foo: # @foo .param 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=, 64 - i32.sub $6=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $6=, 0($3), $6 + i32.const $push5=, __stack_pointer + i32.load $push6=, 0($pop5) + i32.const $push7=, 64 + i32.sub $4=, $pop6, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $4 i32.const $push0=, 4 - i32.const $4=, 8 - i32.add $4=, $6, $4 - i32.or $1=, $4, $pop0 + i32.const $2=, 8 + i32.add $2=, $4, $2 + i32.or $1=, $2, $pop0 i32.const $push1=, 1 i32.add $0=, $0, $pop1 .LBB1_1: # %again # =>This Inner Loop Header: Depth=1 loop # label2: - i32.store $discard=, 8($6):p2align=3, $0 + i32.store $discard=, 8($4):p2align=3, $0 i32.const $push4=, 0 i32.const $push3=, 52 i32.call $discard=, memset@FUNCTION, $1, $pop4, $pop3 - i32.const $5=, 8 - i32.add $5=, $6, $5 - call test@FUNCTION, $5 + i32.const $3=, 8 + i32.add $3=, $4, $3 + call test@FUNCTION, $3 i32.const $push2=, 1 i32.add $0=, $0, $pop2 br 0 # 0: up to label2 diff --git a/test/torture-s/20071030-1.c.s b/test/torture-s/20071030-1.c.s index c1d113776..714cf37a0 100644 --- a/test/torture-s/20071030-1.c.s +++ b/test/torture-s/20071030-1.c.s @@ -10,26 +10,25 @@ CalcPing: # @CalcPing .local i32, i32, f32, i64, i32, f32 # BB#0: # %entry block - block i64.load $push13=, 0($0) tee_local $push12=, $4=, $pop13 i32.wrap/i64 $push0=, $pop12 i32.const $push1=, 1 i32.ne $push2=, $pop0, $pop1 - br_if 0, $pop2 # 0: down to label1 + br_if 0, $pop2 # 0: down to label0 # BB#1: # %if.then i64.const $push10=, 32 i64.shr_u $push11=, $4, $pop10 i32.wrap/i64 $1=, $pop11 - br 1 # 1: down to label0 + return $1 .LBB0_2: - end_block # label1: + end_block # label0: f32.const $3=, 0x0p0 i32.const $2=, 0 i32.const $1=, 16 .LBB0_3: # %for.body # =>This Inner Loop Header: Depth=1 - loop # label2: + loop # label1: i32.add $push3=, $0, $1 f32.load $push20=, 0($pop3):p2align=3 tee_local $push19=, $6=, $pop20 @@ -43,13 +42,14 @@ CalcPing: # @CalcPing i32.add $1=, $1, $pop15 i32.const $push14=, 1552 i32.ne $push5=, $1, $pop14 - br_if 0, $pop5 # 0: up to label2 + br_if 0, $pop5 # 0: up to label1 # BB#4: # %for.end - end_loop # label3: + end_loop # label2: i32.const $1=, 9999 + block i32.const $push21=, 0 i32.eq $push22=, $2, $pop21 - br_if 0, $pop22 # 0: down to label0 + br_if 0, $pop22 # 0: down to label3 # BB#5: # %if.end9 f32.convert_s/i32 $push6=, $2 f32.div $push7=, $3, $pop6 @@ -57,7 +57,7 @@ CalcPing: # @CalcPing f32.mul $push9=, $pop7, $pop8 i32.trunc_s/f32 $1=, $pop9 .LBB0_6: # %cleanup - end_block # label0: + end_block # label3: return $1 .endfunc .Lfunc_end0: @@ -69,34 +69,34 @@ CalcPing: # @CalcPing .type main,@function main: # @main .result i32 - .local i32, i32, f32, i32, f32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, f32, i32, f32, i32, i32, i32, i32 # BB#0: # %if.end.i - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 1552 - i32.sub $11=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $11=, 0($6), $11 + i32.const $push23=, __stack_pointer + i32.load $push24=, 0($pop23) + i32.const $push25=, 1552 + i32.sub $8=, $pop24, $pop25 + i32.const $push26=, __stack_pointer + i32.store $discard=, 0($pop26), $8 i32.const $1=, 0 i32.const $push15=, 0 i32.const $push0=, 1544 - i32.const $8=, 8 - i32.add $8=, $11, $8 - i32.call $discard=, memset@FUNCTION, $8, $pop15, $pop0 + i32.const $5=, 8 + i32.add $5=, $8, $5 + i32.call $discard=, memset@FUNCTION, $5, $pop15, $pop0 i32.const $0=, 16 i32.const $push14=, 16 - i32.const $9=, 8 - i32.add $9=, $11, $9 - i32.add $push1=, $9, $pop14 + i32.const $6=, 8 + i32.add $6=, $8, $6 + i32.add $push1=, $6, $pop14 i32.const $push2=, 1065353216 i32.store $discard=, 0($pop1):p2align=3, $pop2 f32.const $2=, 0x0p0 .LBB1_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label4: - i32.const $10=, 8 - i32.add $10=, $11, $10 - i32.add $push3=, $10, $0 + i32.const $7=, 8 + i32.add $7=, $8, $7 + i32.add $push3=, $7, $0 f32.load $push22=, 0($pop3):p2align=3 tee_local $push21=, $4=, $pop22 f32.add $push4=, $2, $pop21 @@ -113,9 +113,9 @@ main: # @main # BB#2: # %for.end.i end_loop # label5: block - i32.const $push23=, 0 - i32.eq $push24=, $1, $pop23 - br_if 0, $pop24 # 0: down to label6 + i32.const $push29=, 0 + i32.eq $push30=, $1, $pop29 + br_if 0, $pop30 # 0: down to label6 # BB#3: # %CalcPing.exit f32.convert_s/i32 $push6=, $1 f32.div $push7=, $2, $pop6 @@ -127,10 +127,10 @@ main: # @main br_if 0, $pop12 # 0: down to label6 # BB#4: # %if.end i32.const $push13=, 0 - i32.const $7=, 1552 - i32.add $11=, $11, $7 - i32.const $7=, __stack_pointer - i32.store $11=, 0($7), $11 + i32.const $push27=, 1552 + i32.add $8=, $8, $pop27 + i32.const $push28=, __stack_pointer + i32.store $discard=, 0($pop28), $8 return $pop13 .LBB1_5: # %if.then end_block # label6: diff --git a/test/torture-s/20071108-1.c.s b/test/torture-s/20071108-1.c.s index 245b380c0..51f2d68b3 100644 --- a/test/torture-s/20071108-1.c.s +++ b/test/torture-s/20071108-1.c.s @@ -50,31 +50,31 @@ test: # @test .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32 # BB#0: # %lor.lhs.false - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $8=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $8=, 0($2), $8 - i32.const $4=, 12 - i32.add $4=, $8, $4 - i32.const $5=, 8 - i32.add $5=, $8, $5 - i32.call $push10=, test@FUNCTION, $4, $5 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $5=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $5 + i32.const $1=, 12 + i32.add $1=, $5, $1 + i32.const $2=, 8 + i32.add $2=, $5, $2 + i32.call $push10=, test@FUNCTION, $1, $2 tee_local $push9=, $0=, $pop10 i32.load $push0=, 0($pop9) - i32.const $6=, 12 - i32.add $6=, $8, $6 + i32.const $3=, 12 + i32.add $3=, $5, $3 block - i32.ne $push1=, $pop0, $6 + i32.ne $push1=, $pop0, $3 br_if 0, $pop1 # 0: down to label0 # BB#1: # %lor.lhs.false2 i32.load $push2=, 4($0) - i32.const $7=, 8 - i32.add $7=, $8, $7 - i32.ne $push3=, $pop2, $7 + i32.const $4=, 8 + i32.add $4=, $5, $4 + i32.ne $push3=, $pop2, $4 br_if 0, $pop3 # 0: down to label0 # BB#2: # %lor.lhs.false4 i32.load16_u $push12=, 8($0):p2align=2 @@ -88,10 +88,10 @@ main: # @main br_if 0, $pop7 # 0: down to label0 # BB#4: # %if.end i32.const $push8=, 0 - i32.const $3=, 16 - i32.add $8=, $8, $3 - i32.const $3=, __stack_pointer - i32.store $8=, 0($3), $8 + i32.const $push17=, 16 + i32.add $5=, $5, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $5 return $pop8 .LBB3_5: # %if.then end_block # label0: diff --git a/test/torture-s/20071120-1.c.s b/test/torture-s/20071120-1.c.s index 0d4fcad41..30307a412 100644 --- a/test/torture-s/20071120-1.c.s +++ b/test/torture-s/20071120-1.c.s @@ -33,42 +33,41 @@ pop_to_parent_deferring_access_checks: # @pop_to_parent_deferring_access_checks .local i32, i32 # BB#0: # %entry block - block - block - block i32.const $push13=, 0 i32.load $push12=, deferred_access_no_check($pop13) tee_local $push11=, $0=, $pop12 i32.const $push20=, 0 i32.eq $push21=, $pop11, $pop20 - br_if 0, $pop21 # 0: down to label3 + br_if 0, $pop21 # 0: down to label0 # BB#1: # %if.then i32.const $push14=, 0 i32.const $push0=, -1 i32.add $push1=, $0, $pop0 i32.store $discard=, deferred_access_no_check($pop14), $pop1 - br 1 # 1: down to label2 + return .LBB2_2: # %if.else - end_block # label3: + end_block # label0: + block + block i32.const $push17=, 0 i32.load $push16=, deferred_access_stack($pop17) tee_local $push15=, $0=, $pop16 i32.const $push22=, 0 i32.eq $push23=, $pop15, $pop22 - br_if 1, $pop23 # 1: down to label1 + br_if 0, $pop23 # 0: down to label2 # BB#3: # %land.lhs.true.i i32.load $push19=, 0($0) tee_local $push18=, $1=, $pop19 i32.const $push24=, 0 i32.eq $push25=, $pop18, $pop24 - br_if 1, $pop25 # 1: down to label1 + br_if 0, $pop25 # 0: down to label2 # BB#4: # %land.lhs.true.i25 i32.const $push2=, -1 i32.add $push3=, $1, $pop2 i32.store $push4=, 0($0), $pop3 i32.const $push26=, 0 i32.eq $push27=, $pop4, $pop26 - br_if 1, $pop27 # 1: down to label1 + br_if 0, $pop27 # 0: down to label2 # BB#5: # %VEC_deferred_access_base_last.exit29 i32.const $push5=, 3 i32.shl $push6=, $1, $pop5 @@ -78,16 +77,15 @@ pop_to_parent_deferring_access_checks: # @pop_to_parent_deferring_access_checks i32.load $push10=, 0($pop9) i32.const $push28=, 0 i32.eq $push29=, $pop10, $pop28 - br_if 2, $pop29 # 2: down to label0 -.LBB2_6: # %if.end16 - end_block # label2: + br_if 1, $pop29 # 1: down to label1 +# BB#6: # %if.end16 return .LBB2_7: # %cond.false.i26 - end_block # label1: + end_block # label2: call vec_assert_fail@FUNCTION unreachable .LBB2_8: # %if.then15 - end_block # label0: + end_block # label1: call perform_access_checks@FUNCTION, $0 unreachable .endfunc diff --git a/test/torture-s/20071202-1.c.s b/test/torture-s/20071202-1.c.s index 5075b8247..97f78e93c 100644 --- a/test/torture-s/20071202-1.c.s +++ b/test/torture-s/20071202-1.c.s @@ -35,158 +35,154 @@ foo: # @foo .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 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 80 - i32.sub $19=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $19=, 0($1), $19 + i32.const $push68=, __stack_pointer + i32.load $push69=, 0($pop68) + i32.const $push70=, 80 + i32.sub $15=, $pop69, $pop70 + i32.const $push71=, __stack_pointer + i32.store $discard=, 0($pop71), $15 i32.const $push0=, .Lmain.s i32.const $push1=, 68 - i32.const $3=, 8 - i32.add $3=, $19, $3 - i32.call $discard=, memcpy@FUNCTION, $3, $pop0, $pop1 - i32.const $4=, 8 - i32.add $4=, $19, $4 - call foo@FUNCTION, $4 + i32.const $0=, 8 + i32.add $0=, $15, $0 + i32.call $discard=, memcpy@FUNCTION, $0, $pop0, $pop1 + i32.const $1=, 8 + i32.add $1=, $15, $1 + call foo@FUNCTION, $1 block - i32.load $push2=, 8($19):p2align=3 + i32.load $push2=, 8($15):p2align=3 i32.const $push3=, 12 i32.ne $push4=, $pop2, $pop3 br_if 0, $pop4 # 0: down to label0 # BB#1: # %lor.lhs.false - i32.const $push5=, 4 - i32.const $5=, 8 - i32.add $5=, $19, $5 - i32.or $push6=, $5, $pop5 - i32.load $push7=, 0($pop6) - i32.const $push8=, 6 - i32.ne $push9=, $pop7, $pop8 - br_if 0, $pop9 # 0: down to label0 + i32.load $push5=, 12($15) + i32.const $push6=, 6 + i32.ne $push7=, $pop5, $pop6 + br_if 0, $pop7 # 0: down to label0 # BB#2: # %lor.lhs.false2 - i32.load $push10=, 16($19):p2align=3 - br_if 0, $pop10 # 0: down to label0 + i32.load $push8=, 16($15):p2align=3 + br_if 0, $pop8 # 0: down to label0 # BB#3: # %lor.lhs.false3 - i32.const $push11=, 12 - i32.const $6=, 8 - i32.add $6=, $19, $6 - i32.add $push12=, $6, $pop11 - i32.load $push13=, 0($pop12) - br_if 0, $pop13 # 0: down to label0 + i32.const $push9=, 12 + i32.const $2=, 8 + i32.add $2=, $15, $2 + i32.add $push10=, $2, $pop9 + i32.load $push11=, 0($pop10) + br_if 0, $pop11 # 0: down to label0 # BB#4: # %lor.lhs.false7 - i32.const $push14=, 16 - i32.const $7=, 8 - i32.add $7=, $19, $7 - i32.add $push15=, $7, $pop14 - i32.load $push16=, 0($pop15):p2align=3 - br_if 0, $pop16 # 0: down to label0 + i32.const $push12=, 16 + i32.const $3=, 8 + i32.add $3=, $15, $3 + i32.add $push13=, $3, $pop12 + i32.load $push14=, 0($pop13):p2align=3 + br_if 0, $pop14 # 0: down to label0 # BB#5: # %lor.lhs.false11 - i32.const $push17=, 20 - i32.const $8=, 8 - i32.add $8=, $19, $8 - i32.add $push18=, $8, $pop17 - i32.load $push19=, 0($pop18) - br_if 0, $pop19 # 0: down to label0 + i32.const $push15=, 20 + i32.const $4=, 8 + i32.add $4=, $15, $4 + i32.add $push16=, $4, $pop15 + i32.load $push17=, 0($pop16) + br_if 0, $pop17 # 0: down to label0 # BB#6: # %lor.lhs.false15 - i32.const $push20=, 24 - i32.const $9=, 8 - i32.add $9=, $19, $9 - i32.add $push21=, $9, $pop20 - i32.load $push22=, 0($pop21):p2align=3 - br_if 0, $pop22 # 0: down to label0 + i32.const $push18=, 24 + i32.const $5=, 8 + i32.add $5=, $15, $5 + i32.add $push19=, $5, $pop18 + i32.load $push20=, 0($pop19):p2align=3 + br_if 0, $pop20 # 0: down to label0 # BB#7: # %lor.lhs.false19 - i32.const $push23=, 28 - i32.const $10=, 8 - i32.add $10=, $19, $10 - i32.add $push24=, $10, $pop23 - i32.load $push25=, 0($pop24) - br_if 0, $pop25 # 0: down to label0 + i32.const $push21=, 28 + i32.const $6=, 8 + i32.add $6=, $15, $6 + i32.add $push22=, $6, $pop21 + i32.load $push23=, 0($pop22) + br_if 0, $pop23 # 0: down to label0 # BB#8: # %if.end - i32.load $push26=, 40($19):p2align=3 - i32.const $push27=, 7 - i32.ne $push28=, $pop26, $pop27 - br_if 0, $pop28 # 0: down to label0 + i32.load $push24=, 40($15):p2align=3 + i32.const $push25=, 7 + i32.ne $push26=, $pop24, $pop25 + br_if 0, $pop26 # 0: down to label0 # BB#9: # %lor.lhs.false24 - i32.const $push29=, 36 - i32.const $11=, 8 - i32.add $11=, $19, $11 - i32.add $push30=, $11, $pop29 - i32.load $push31=, 0($pop30) - i32.const $push32=, 8 - i32.ne $push33=, $pop31, $pop32 - br_if 0, $pop33 # 0: down to label0 + i32.const $push27=, 36 + i32.const $7=, 8 + i32.add $7=, $15, $7 + i32.add $push28=, $7, $pop27 + i32.load $push29=, 0($pop28) + i32.const $push30=, 8 + i32.ne $push31=, $pop29, $pop30 + br_if 0, $pop31 # 0: down to label0 # BB#10: # %lor.lhs.false28 - i32.const $push34=, 40 - i32.const $12=, 8 - i32.add $12=, $19, $12 - i32.add $push35=, $12, $pop34 - i32.load $push36=, 0($pop35):p2align=3 - i32.const $push37=, 9 - i32.ne $push38=, $pop36, $pop37 - br_if 0, $pop38 # 0: down to label0 + i32.const $push32=, 40 + i32.const $8=, 8 + i32.add $8=, $15, $8 + i32.add $push33=, $8, $pop32 + i32.load $push34=, 0($pop33):p2align=3 + i32.const $push35=, 9 + i32.ne $push36=, $pop34, $pop35 + br_if 0, $pop36 # 0: down to label0 # BB#11: # %lor.lhs.false33 - i32.const $push39=, 44 - i32.const $13=, 8 - i32.add $13=, $19, $13 - i32.add $push40=, $13, $pop39 - i32.load $push41=, 0($pop40) - i32.const $push42=, 10 - i32.ne $push43=, $pop41, $pop42 - br_if 0, $pop43 # 0: down to label0 + i32.const $push37=, 44 + i32.const $9=, 8 + i32.add $9=, $15, $9 + i32.add $push38=, $9, $pop37 + i32.load $push39=, 0($pop38) + i32.const $push40=, 10 + i32.ne $push41=, $pop39, $pop40 + br_if 0, $pop41 # 0: down to label0 # BB#12: # %lor.lhs.false38 - i32.const $push44=, 48 - i32.const $14=, 8 - i32.add $14=, $19, $14 - i32.add $push45=, $14, $pop44 - i32.load $push46=, 0($pop45):p2align=3 - i32.const $push47=, 11 - i32.ne $push48=, $pop46, $pop47 - br_if 0, $pop48 # 0: down to label0 + i32.const $push42=, 48 + i32.const $10=, 8 + i32.add $10=, $15, $10 + i32.add $push43=, $10, $pop42 + i32.load $push44=, 0($pop43):p2align=3 + i32.const $push45=, 11 + i32.ne $push46=, $pop44, $pop45 + br_if 0, $pop46 # 0: down to label0 # BB#13: # %lor.lhs.false43 - i32.const $push49=, 52 - i32.const $15=, 8 - i32.add $15=, $19, $15 - i32.add $push50=, $15, $pop49 - i32.load $push51=, 0($pop50) - i32.const $push52=, 12 - i32.ne $push53=, $pop51, $pop52 - br_if 0, $pop53 # 0: down to label0 + i32.const $push47=, 52 + i32.const $11=, 8 + i32.add $11=, $15, $11 + i32.add $push48=, $11, $pop47 + i32.load $push49=, 0($pop48) + i32.const $push50=, 12 + i32.ne $push51=, $pop49, $pop50 + br_if 0, $pop51 # 0: down to label0 # BB#14: # %lor.lhs.false48 - i32.const $push54=, 56 - i32.const $16=, 8 - i32.add $16=, $19, $16 - i32.add $push55=, $16, $pop54 - i32.load $push56=, 0($pop55):p2align=3 - i32.const $push57=, 13 - i32.ne $push58=, $pop56, $pop57 - br_if 0, $pop58 # 0: down to label0 + i32.const $push52=, 56 + i32.const $12=, 8 + i32.add $12=, $15, $12 + i32.add $push53=, $12, $pop52 + i32.load $push54=, 0($pop53):p2align=3 + i32.const $push55=, 13 + i32.ne $push56=, $pop54, $pop55 + br_if 0, $pop56 # 0: down to label0 # BB#15: # %lor.lhs.false53 - i32.const $push59=, 60 - i32.const $17=, 8 - i32.add $17=, $19, $17 - i32.add $push60=, $17, $pop59 - i32.load $push61=, 0($pop60) - i32.const $push62=, 14 - i32.ne $push63=, $pop61, $pop62 - br_if 0, $pop63 # 0: down to label0 + i32.const $push57=, 60 + i32.const $13=, 8 + i32.add $13=, $15, $13 + i32.add $push58=, $13, $pop57 + i32.load $push59=, 0($pop58) + i32.const $push60=, 14 + i32.ne $push61=, $pop59, $pop60 + br_if 0, $pop61 # 0: down to label0 # BB#16: # %lor.lhs.false58 - i32.const $push64=, 64 - i32.const $18=, 8 - i32.add $18=, $19, $18 - i32.add $push65=, $18, $pop64 - i32.load $push66=, 0($pop65):p2align=3 - i32.const $push67=, 15 - i32.ne $push68=, $pop66, $pop67 - br_if 0, $pop68 # 0: down to label0 + i32.const $push62=, 64 + i32.const $14=, 8 + i32.add $14=, $15, $14 + i32.add $push63=, $14, $pop62 + i32.load $push64=, 0($pop63):p2align=3 + i32.const $push65=, 15 + i32.ne $push66=, $pop64, $pop65 + br_if 0, $pop66 # 0: down to label0 # BB#17: # %if.end64 - i32.const $push69=, 0 - i32.const $2=, 80 - i32.add $19=, $19, $2 - i32.const $2=, __stack_pointer - i32.store $19=, 0($2), $19 - return $pop69 + i32.const $push67=, 0 + i32.const $push72=, 80 + i32.add $15=, $15, $pop72 + i32.const $push73=, __stack_pointer + i32.store $discard=, 0($pop73), $15 + return $pop67 .LBB1_18: # %if.then63 end_block # label0: call abort@FUNCTION diff --git a/test/torture-s/20071211-1.c.s b/test/torture-s/20071211-1.c.s index 06814f8f4..a925cb198 100644 --- a/test/torture-s/20071211-1.c.s +++ b/test/torture-s/20071211-1.c.s @@ -6,39 +6,40 @@ .type main,@function main: # @main .result i32 - .local i32, i64, i64 + .local i64, i64 # BB#0: # %entry - i32.const $0=, 0 - i64.load $1=, sv($0) - i64.const $2=, -1099511627776 - i64.or $1=, $1, $2 - i64.store $discard=, sv($0), $1 + i32.const $push22=, 0 + i32.const $push21=, 0 + i64.load $push0=, sv($pop21) + i64.const $push1=, -1099511627776 + i64.or $push2=, $pop0, $pop1 + i64.store $discard=, sv($pop22), $pop2 #APP #NO_APP - i32.const $push17=, 0 - i32.const $push16=, 0 - i64.load $push15=, sv($pop16) - tee_local $push14=, $1=, $pop15 - i64.const $push0=, 40 - i64.shr_u $push1=, $pop14, $pop0 - i64.const $push2=, 1 - i64.add $push13=, $pop1, $pop2 - tee_local $push12=, $2=, $pop13 - i64.const $push11=, 40 - i64.shl $push3=, $pop12, $pop11 - i64.const $push4=, 1099511627775 - i64.and $push5=, $1, $pop4 - i64.or $push6=, $pop3, $pop5 - i64.store $discard=, sv($pop17), $pop6 + i32.const $push20=, 0 + i32.const $push19=, 0 + i64.load $push18=, sv($pop19) + tee_local $push17=, $1=, $pop18 + i64.const $push3=, 40 + i64.shr_u $push4=, $pop17, $pop3 + i64.const $push5=, 1 + i64.add $push16=, $pop4, $pop5 + tee_local $push15=, $0=, $pop16 + i64.const $push14=, 40 + i64.shl $push6=, $pop15, $pop14 + i64.const $push7=, 1099511627775 + i64.and $push8=, $1, $pop7 + i64.or $push9=, $pop6, $pop8 + i64.store $discard=, sv($pop20), $pop9 block - i64.const $push7=, 16777215 - i64.and $push8=, $2, $pop7 - i64.const $push9=, 0 - i64.ne $push10=, $pop8, $pop9 - br_if 0, $pop10 # 0: down to label0 + i64.const $push10=, 16777215 + i64.and $push11=, $0, $pop10 + i64.const $push12=, 0 + i64.ne $push13=, $pop11, $pop12 + br_if 0, $pop13 # 0: down to label0 # BB#1: # %if.end - i32.const $push18=, 0 - return $pop18 + i32.const $push23=, 0 + return $pop23 .LBB0_2: # %if.then end_block # label0: call abort@FUNCTION diff --git a/test/torture-s/20071213-1.c.s b/test/torture-s/20071213-1.c.s index a55c45a64..c2ff963fd 100644 --- a/test/torture-s/20071213-1.c.s +++ b/test/torture-s/20071213-1.c.s @@ -6,15 +6,7 @@ .type h,@function h: # @h .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 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $discard=, 12($5), $1 block block block @@ -26,73 +18,33 @@ h: # @h i32.ne $push3=, $0, $pop2 br_if 2, $pop3 # 2: down to label0 # BB#2: # %sw.bb - i32.load $push16=, 12($5) - i32.const $push31=, 3 - i32.add $push17=, $pop16, $pop31 - i32.const $push30=, -4 - i32.and $push29=, $pop17, $pop30 - tee_local $push28=, $0=, $pop29 - i32.const $push27=, 4 - i32.add $push18=, $pop28, $pop27 - i32.store $discard=, 12($5), $pop18 block - i32.load $push19=, 0($0) - i32.const $push26=, 3 - i32.ne $push20=, $pop19, $pop26 - br_if 0, $pop20 # 0: down to label3 + i32.load $push10=, 0($1) + i32.const $push11=, 3 + i32.ne $push12=, $pop10, $pop11 + br_if 0, $pop12 # 0: down to label3 # BB#3: # %lor.lhs.false - i32.load $push21=, 12($5) - i32.const $push37=, 3 - i32.add $push22=, $pop21, $pop37 - i32.const $push36=, -4 - i32.and $push35=, $pop22, $pop36 - tee_local $push34=, $0=, $pop35 - i32.const $push33=, 4 - i32.add $push23=, $pop34, $pop33 - i32.store $discard=, 12($5), $pop23 - i32.load $push24=, 0($0) - i32.const $push32=, 4 - i32.eq $push25=, $pop24, $pop32 - br_if 2, $pop25 # 2: down to label1 + i32.load $push13=, 4($1) + i32.const $push14=, 4 + i32.eq $push15=, $pop13, $pop14 + br_if 2, $pop15 # 2: down to label1 .LBB0_4: # %if.then end_block # label3: call abort@FUNCTION unreachable -.LBB0_5: # %sw.bb2 +.LBB0_5: # %sw.bb4 end_block # label2: - i32.load $push4=, 12($5) - i32.const $push42=, 3 - i32.add $push5=, $pop4, $pop42 - i32.const $push41=, -4 - i32.and $push40=, $pop5, $pop41 - tee_local $push39=, $0=, $pop40 - i32.const $push38=, 4 - i32.add $push6=, $pop39, $pop38 - i32.store $discard=, 12($5), $pop6 - i32.load $push7=, 0($0) - i32.const $push8=, 9 + i32.load $push4=, 0($1) + i32.const $push5=, 9 + i32.ne $push6=, $pop4, $pop5 + br_if 1, $pop6 # 1: down to label0 +# BB#6: # %lor.lhs.false8 + i32.load $push7=, 4($1) + i32.const $push8=, 10 i32.ne $push9=, $pop7, $pop8 br_if 1, $pop9 # 1: down to label0 -# BB#6: # %lor.lhs.false4 - i32.load $push10=, 12($5) - i32.const $push47=, 3 - i32.add $push11=, $pop10, $pop47 - i32.const $push46=, -4 - i32.and $push45=, $pop11, $pop46 - tee_local $push44=, $0=, $pop45 - i32.const $push43=, 4 - i32.add $push12=, $pop44, $pop43 - i32.store $discard=, 12($5), $pop12 - i32.load $push13=, 0($0) - i32.const $push14=, 10 - i32.ne $push15=, $pop13, $pop14 - br_if 1, $pop15 # 1: down to label0 .LBB0_7: # %return end_block # label1: - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 return .LBB0_8: # %sw.default end_block # label0: @@ -108,93 +60,56 @@ h: # @h .type f1,@function f1: # @f1 .param i32, i64, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - i32.store $push0=, 8($6), $2 - i32.store $discard=, 12($6), $pop0 + i32.const $push18=, __stack_pointer + i32.load $push19=, 0($pop18) + i32.const $push20=, 16 + i32.sub $3=, $pop19, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $3 + i32.store $discard=, 12($3), $2 block block block - i32.const $push1=, 1 - i32.ne $push2=, $0, $pop1 - br_if 0, $pop2 # 0: down to label6 + i32.const $push0=, 1 + i32.ne $push1=, $0, $pop0 + br_if 0, $pop1 # 0: down to label6 # BB#1: # %sw.bb.i - i32.load $push17=, 12($6) - i32.const $push34=, 3 - i32.add $push18=, $pop17, $pop34 - i32.const $push33=, -4 - i32.and $push32=, $pop18, $pop33 - tee_local $push31=, $0=, $pop32 - i32.const $push30=, 4 - i32.add $push19=, $pop31, $pop30 - i32.store $discard=, 12($6), $pop19 - i32.load $push20=, 0($0) - i32.const $push29=, 3 - i32.ne $push21=, $pop20, $pop29 - br_if 1, $pop21 # 1: down to label5 + i32.load $push10=, 0($2) + i32.const $push11=, 3 + i32.ne $push12=, $pop10, $pop11 + br_if 1, $pop12 # 1: down to label5 # BB#2: # %lor.lhs.false.i - i32.load $push22=, 12($6) - i32.const $push40=, 3 - i32.add $push23=, $pop22, $pop40 - i32.const $push39=, -4 - i32.and $push38=, $pop23, $pop39 - tee_local $push37=, $0=, $pop38 - i32.const $push36=, 4 - i32.add $push24=, $pop37, $pop36 - i32.store $discard=, 12($6), $pop24 - i32.load $push25=, 0($0) - i32.const $push35=, 4 - i32.ne $push26=, $pop25, $pop35 - br_if 1, $pop26 # 1: down to label5 + i32.load $push13=, 4($2) + i32.const $push14=, 4 + i32.ne $push15=, $pop13, $pop14 + br_if 1, $pop15 # 1: down to label5 # BB#3: # %h.exit - i64.const $push27=, 2 - i64.ne $push28=, $1, $pop27 - br_if 1, $pop28 # 1: down to label5 + i64.const $push16=, 2 + i64.ne $push17=, $1, $pop16 + br_if 1, $pop17 # 1: down to label5 # BB#4: # %if.end - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push22=, 16 + i32.add $3=, $3, $pop22 + i32.const $push23=, __stack_pointer + i32.store $discard=, 0($pop23), $3 return .LBB1_5: # %entry end_block # label6: - i32.const $push3=, 5 - i32.ne $push4=, $0, $pop3 - br_if 1, $pop4 # 1: down to label4 -# BB#6: # %sw.bb2.i - i32.load $push5=, 12($6) - i32.const $push45=, 3 - i32.add $push6=, $pop5, $pop45 - i32.const $push44=, -4 - i32.and $push43=, $pop6, $pop44 - tee_local $push42=, $0=, $pop43 - i32.const $push41=, 4 - i32.add $push7=, $pop42, $pop41 - i32.store $discard=, 12($6), $pop7 - i32.load $push8=, 0($0) - i32.const $push9=, 9 - i32.ne $push10=, $pop8, $pop9 - br_if 1, $pop10 # 1: down to label4 -# BB#7: # %lor.lhs.false4.i - i32.load $push11=, 12($6) - i32.const $push50=, 3 - i32.add $push12=, $pop11, $pop50 - i32.const $push49=, -4 - i32.and $push48=, $pop12, $pop49 - tee_local $push47=, $0=, $pop48 - i32.const $push46=, 4 - i32.add $push13=, $pop47, $pop46 - i32.store $discard=, 12($6), $pop13 - i32.load $push14=, 0($0) - i32.const $push15=, 10 - i32.ne $push16=, $pop14, $pop15 - br_if 1, $pop16 # 1: down to label4 + i32.const $push2=, 5 + i32.ne $push3=, $0, $pop2 + br_if 1, $pop3 # 1: down to label4 +# BB#6: # %sw.bb4.i + i32.load $push4=, 0($2) + i32.const $push5=, 9 + i32.ne $push6=, $pop4, $pop5 + br_if 1, $pop6 # 1: down to label4 +# BB#7: # %lor.lhs.false8.i + i32.load $push7=, 4($2) + i32.const $push8=, 10 + i32.ne $push9=, $pop7, $pop8 + br_if 1, $pop9 # 1: down to label4 .LBB1_8: # %if.then end_block # label5: call abort@FUNCTION @@ -213,110 +128,73 @@ f1: # @f1 .type f2,@function f2: # @f2 .param i32, i32, i32, i64, i32 - .local i32, i32, i32, i32 + .local 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.store $push0=, 8($8), $4 - i32.store $discard=, 12($8), $pop0 + i32.const $push24=, __stack_pointer + i32.load $push25=, 0($pop24) + i32.const $push26=, 16 + i32.sub $5=, $pop25, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $5 + i32.store $discard=, 12($5), $4 block block block - i32.const $push1=, 5 - i32.eq $push2=, $0, $pop1 - br_if 0, $pop2 # 0: down to label9 + i32.const $push0=, 5 + i32.eq $push1=, $0, $pop0 + br_if 0, $pop1 # 0: down to label9 # BB#1: # %entry - i32.const $push3=, 1 - i32.ne $push4=, $0, $pop3 - br_if 2, $pop4 # 2: down to label7 + i32.const $push2=, 1 + i32.ne $push3=, $0, $pop2 + br_if 2, $pop3 # 2: down to label7 # BB#2: # %sw.bb.i - i32.load $push17=, 12($8) - i32.const $push40=, 3 - i32.add $push18=, $pop17, $pop40 - i32.const $push39=, -4 - i32.and $push38=, $pop18, $pop39 - tee_local $push37=, $4=, $pop38 - i32.const $push36=, 4 - i32.add $push19=, $pop37, $pop36 - i32.store $discard=, 12($8), $pop19 block - i32.load $push20=, 0($4) - i32.const $push35=, 3 - i32.ne $push21=, $pop20, $pop35 - br_if 0, $pop21 # 0: down to label10 + i32.load $push10=, 0($4) + i32.const $push11=, 3 + i32.ne $push12=, $pop10, $pop11 + br_if 0, $pop12 # 0: down to label10 # BB#3: # %lor.lhs.false.i - i32.load $push22=, 12($8) - i32.const $push46=, 3 - i32.add $push23=, $pop22, $pop46 - i32.const $push45=, -4 - i32.and $push44=, $pop23, $pop45 - tee_local $push43=, $4=, $pop44 - i32.const $push42=, 4 - i32.add $push24=, $pop43, $pop42 - i32.store $discard=, 12($8), $pop24 - i32.load $push25=, 0($4) - i32.const $push41=, 4 - i32.eq $push26=, $pop25, $pop41 - br_if 2, $pop26 # 2: down to label8 + i32.load $push13=, 4($4) + i32.const $push14=, 4 + i32.eq $push15=, $pop13, $pop14 + br_if 2, $pop15 # 2: down to label8 .LBB2_4: # %if.then.i end_block # label10: call abort@FUNCTION unreachable -.LBB2_5: # %sw.bb2.i +.LBB2_5: # %sw.bb4.i end_block # label9: - i32.load $push5=, 12($8) - i32.const $push51=, 3 - i32.add $push6=, $pop5, $pop51 - i32.const $push50=, -4 - i32.and $push49=, $pop6, $pop50 - tee_local $push48=, $4=, $pop49 - i32.const $push47=, 4 - i32.add $push7=, $pop48, $pop47 - i32.store $discard=, 12($8), $pop7 - i32.load $push8=, 0($4) - i32.const $push9=, 9 - i32.ne $push10=, $pop8, $pop9 - br_if 1, $pop10 # 1: down to label7 -# BB#6: # %lor.lhs.false4.i - i32.load $push11=, 12($8) - i32.const $push56=, 3 - i32.add $push12=, $pop11, $pop56 - i32.const $push55=, -4 - i32.and $push54=, $pop12, $pop55 - tee_local $push53=, $4=, $pop54 - i32.const $push52=, 4 - i32.add $push13=, $pop53, $pop52 - i32.store $discard=, 12($8), $pop13 - i32.load $push14=, 0($4) - i32.const $push15=, 10 - i32.ne $push16=, $pop14, $pop15 - br_if 1, $pop16 # 1: down to label7 + i32.load $push4=, 0($4) + i32.const $push5=, 9 + i32.ne $push6=, $pop4, $pop5 + br_if 1, $pop6 # 1: down to label7 +# BB#6: # %lor.lhs.false8.i + i32.load $push7=, 4($4) + i32.const $push8=, 10 + i32.ne $push9=, $pop7, $pop8 + br_if 1, $pop9 # 1: down to label7 .LBB2_7: # %h.exit end_block # label8: - i32.const $push27=, 5 - i32.ne $push28=, $0, $pop27 - br_if 0, $pop28 # 0: down to label7 + i32.const $push16=, 5 + i32.ne $push17=, $0, $pop16 + br_if 0, $pop17 # 0: down to label7 # BB#8: # %h.exit - i32.const $push29=, 6 - i32.ne $push30=, $1, $pop29 - br_if 0, $pop30 # 0: down to label7 + i32.const $push18=, 6 + i32.ne $push19=, $1, $pop18 + br_if 0, $pop19 # 0: down to label7 # BB#9: # %h.exit - i32.const $push31=, 7 - i32.ne $push32=, $2, $pop31 - br_if 0, $pop32 # 0: down to label7 + i32.const $push20=, 7 + i32.ne $push21=, $2, $pop20 + br_if 0, $pop21 # 0: down to label7 # BB#10: # %h.exit - i64.const $push33=, 8 - i64.ne $push34=, $3, $pop33 - br_if 0, $pop34 # 0: down to label7 + i64.const $push22=, 8 + i64.ne $push23=, $3, $pop22 + br_if 0, $pop23 # 0: down to label7 # BB#11: # %if.end - i32.const $7=, 16 - i32.add $8=, $8, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 + i32.const $push28=, 16 + i32.add $5=, $5, $pop28 + i32.const $push29=, __stack_pointer + i32.store $discard=, 0($pop29), $5 return .LBB2_12: # %if.then end_block # label7: @@ -332,33 +210,33 @@ f2: # @f2 .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 32 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 + i32.const $push9=, __stack_pointer + i32.load $push10=, 0($pop9) + i32.const $push11=, 32 + i32.sub $1=, $pop10, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $1 i64.const $push0=, 17179869187 - i64.store $discard=, 16($4):p2align=4, $pop0 + i64.store $discard=, 16($1):p2align=4, $pop0 i32.const $push2=, 1 i64.const $push1=, 2 - i32.const $3=, 16 - i32.add $3=, $4, $3 - call f1@FUNCTION, $pop2, $pop1, $3 + i32.const $0=, 16 + i32.add $0=, $1, $0 + call f1@FUNCTION, $pop2, $pop1, $0 i64.const $push3=, 42949672969 - i64.store $discard=, 0($4):p2align=4, $pop3 + i64.store $discard=, 0($1):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, $4 + call f2@FUNCTION, $pop7, $pop6, $pop5, $pop4, $1 i32.const $push8=, 0 - i32.const $2=, 32 - i32.add $4=, $4, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 + i32.const $push13=, 32 + i32.add $1=, $1, $pop13 + i32.const $push14=, __stack_pointer + i32.store $discard=, 0($pop14), $1 return $pop8 .endfunc .Lfunc_end3: diff --git a/test/torture-s/20071219-1.c.s b/test/torture-s/20071219-1.c.s index a34f04faa..70e540b11 100644 --- a/test/torture-s/20071219-1.c.s +++ b/test/torture-s/20071219-1.c.s @@ -52,70 +52,70 @@ foo: # @foo .globl test1 .type test1,@function test1: # @test1 - .local i32, i64, i64, i64, 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 # BB#0: # %entry - i32.const $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 64 - i32.sub $17=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $17=, 0($11), $17 + i32.const $push25=, __stack_pointer + i32.load $push26=, 0($pop25) + i32.const $push27=, 64 + i32.sub $14=, $pop26, $pop27 + i32.const $push28=, __stack_pointer + i32.store $discard=, 0($pop28), $14 i32.const $push0=, 24 - i32.const $13=, 32 - i32.add $13=, $17, $13 - i32.add $push24=, $13, $pop0 + i32.const $10=, 32 + i32.add $10=, $14, $10 + i32.add $push24=, $10, $pop0 tee_local $push23=, $9=, $pop24 i32.const $push1=, 0 i32.store8 $0=, 0($pop23):p2align=3, $pop1 i32.const $push5=, 8 - i32.const $14=, 32 - i32.add $14=, $17, $14 - i32.add $push22=, $14, $pop5 + i32.const $11=, 32 + i32.add $11=, $14, $11 + i32.add $push22=, $11, $pop5 tee_local $push21=, $8=, $pop22 i32.const $push2=, 16 - i32.const $15=, 32 - i32.add $15=, $17, $15 - i32.add $push20=, $15, $pop2 + i32.const $12=, 32 + i32.add $12=, $14, $12 + i32.add $push20=, $12, $pop2 tee_local $push19=, $7=, $pop20 i64.const $push3=, 0 i64.store $push4=, 0($pop19), $pop3 i64.store $push6=, 0($pop21), $pop4 - i64.store $discard=, 32($17), $pop6 - i32.const $16=, 32 - i32.add $16=, $17, $16 - call foo@FUNCTION, $16, $0 + i64.store $discard=, 32($14), $pop6 + i32.const $13=, 32 + i32.add $13=, $14, $13 + call foo@FUNCTION, $13, $0 i64.load $1=, 0($7) i32.const $push18=, 24 - i32.add $push17=, $17, $pop18 + i32.add $push17=, $14, $pop18 tee_local $push16=, $6=, $pop17 i32.load8_u $push7=, 0($9):p2align=3 i32.store8 $discard=, 0($pop16):p2align=3, $pop7 i64.load $2=, 0($8) i32.const $push15=, 16 - i32.add $push14=, $17, $pop15 + i32.add $push14=, $14, $pop15 tee_local $push13=, $5=, $pop14 i64.store $discard=, 0($pop13), $1 - i64.load $1=, 32($17) + i64.load $1=, 32($14) i32.const $push12=, 8 - i32.add $push11=, $17, $pop12 + i32.add $push11=, $14, $pop12 tee_local $push10=, $4=, $pop11 i64.store $discard=, 0($pop10), $2 - i64.store $discard=, 0($17), $1 + i64.store $discard=, 0($14), $1 i32.const $push8=, 1 - call foo@FUNCTION, $17, $pop8 + call foo@FUNCTION, $14, $pop8 i64.load $1=, 0($7) i64.load $2=, 0($8) - i64.load $3=, 32($17) + i64.load $3=, 32($14) i32.load8_u $push9=, 0($9):p2align=3 i32.store8 $discard=, 0($6):p2align=3, $pop9 i64.store $discard=, 0($5), $1 i64.store $discard=, 0($4), $2 - i64.store $discard=, 0($17), $3 - call foo@FUNCTION, $17, $0 - i32.const $12=, 64 - i32.add $17=, $17, $12 - i32.const $12=, __stack_pointer - i32.store $17=, 0($12), $17 + i64.store $discard=, 0($14), $3 + call foo@FUNCTION, $14, $0 + i32.const $push29=, 64 + i32.add $14=, $14, $pop29 + i32.const $push30=, __stack_pointer + i32.store $discard=, 0($pop30), $14 return .endfunc .Lfunc_end1: @@ -126,66 +126,66 @@ test1: # @test1 .globl test2 .type test2,@function test2: # @test2 - .local i32, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i64, i64, i32, i32, i32, 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 $16=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $16=, 0($10), $16 + i32.const $push36=, __stack_pointer + i32.load $push37=, 0($pop36) + i32.const $push38=, 64 + i32.sub $13=, $pop37, $pop38 + i32.const $push39=, __stack_pointer + i32.store $discard=, 0($pop39), $13 i32.const $push0=, 24 - i32.const $12=, 32 - i32.add $12=, $16, $12 - i32.add $push35=, $12, $pop0 + i32.const $9=, 32 + i32.add $9=, $13, $9 + i32.add $push35=, $9, $pop0 tee_local $push34=, $3=, $pop35 i32.const $push1=, 0 i32.store8 $0=, 0($pop34):p2align=3, $pop1 i32.const $push5=, 8 - i32.const $13=, 32 - i32.add $13=, $16, $13 - i32.add $push33=, $13, $pop5 + i32.const $10=, 32 + i32.add $10=, $13, $10 + i32.add $push33=, $10, $pop5 tee_local $push32=, $8=, $pop33 i32.const $push2=, 16 - i32.const $14=, 32 - i32.add $14=, $16, $14 - i32.add $push31=, $14, $pop2 + i32.const $11=, 32 + i32.add $11=, $13, $11 + i32.add $push31=, $11, $pop2 tee_local $push30=, $7=, $pop31 i64.const $push3=, 0 i64.store $push4=, 0($pop30), $pop3 i64.store $push6=, 0($pop32), $pop4 - i64.store $discard=, 32($16), $pop6 - i32.const $15=, 32 - i32.add $15=, $16, $15 - call foo@FUNCTION, $15, $0 + i64.store $discard=, 32($13), $pop6 + i32.const $12=, 32 + i32.add $12=, $13, $12 + call foo@FUNCTION, $12, $0 i64.load $1=, 0($7) i32.const $push29=, 24 - i32.add $push28=, $16, $pop29 + i32.add $push28=, $13, $pop29 tee_local $push27=, $6=, $pop28 i32.load8_u $push7=, 0($3):p2align=3 i32.store8 $discard=, 0($pop27):p2align=3, $pop7 i64.load $2=, 0($8) i32.const $push26=, 16 - i32.add $push25=, $16, $pop26 + i32.add $push25=, $13, $pop26 tee_local $push24=, $5=, $pop25 i64.store $discard=, 0($pop24), $1 - i64.load $1=, 32($16) + i64.load $1=, 32($13) i32.const $push23=, 8 - i32.add $push22=, $16, $pop23 + i32.add $push22=, $13, $pop23 tee_local $push21=, $4=, $pop22 i64.store $discard=, 0($pop21), $2 - i64.store $discard=, 0($16), $1 + i64.store $discard=, 0($13), $1 i32.const $push8=, 1 - call foo@FUNCTION, $16, $pop8 + call foo@FUNCTION, $13, $pop8 i32.load8_u $push9=, 0($3):p2align=3 i32.store8 $discard=, 0($6):p2align=3, $pop9 i64.load $1=, 0($8) - i64.load $2=, 32($16) + i64.load $2=, 32($13) i32.load $3=, p($0) i64.load $push10=, 0($7) i64.store $discard=, 0($5), $pop10 i64.store $discard=, 0($4), $1 - i64.store $discard=, 0($16), $2 + i64.store $discard=, 0($13), $2 i32.const $push20=, 24 i32.add $push11=, $3, $pop20 i32.load8_u $push12=, 0($pop11) @@ -199,12 +199,12 @@ test2: # @test2 i64.load $push16=, 0($pop15):p2align=0 i64.store $discard=, 0($4), $pop16 i64.load $push17=, 0($3):p2align=0 - i64.store $discard=, 0($16), $pop17 - call foo@FUNCTION, $16, $0 - i32.const $11=, 64 - i32.add $16=, $16, $11 - i32.const $11=, __stack_pointer - i32.store $16=, 0($11), $16 + i64.store $discard=, 0($13), $pop17 + call foo@FUNCTION, $13, $0 + i32.const $push40=, 64 + i32.add $13=, $13, $pop40 + i32.const $push41=, __stack_pointer + i32.store $discard=, 0($pop41), $13 return .endfunc .Lfunc_end2: @@ -215,57 +215,57 @@ test2: # @test2 .globl test3 .type test3,@function test3: # @test3 - .local i32, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i64, i64, i32, i32, 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 $18=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $18=, 0($12), $18 + i32.const $push43=, __stack_pointer + i32.load $push44=, 0($pop43) + i32.const $push45=, 64 + i32.sub $15=, $pop44, $pop45 + i32.const $push46=, __stack_pointer + i32.store $discard=, 0($pop46), $15 i32.const $push0=, 24 - i32.const $14=, 32 - i32.add $14=, $18, $14 - i32.add $push42=, $14, $pop0 + i32.const $11=, 32 + i32.add $11=, $15, $11 + i32.add $push42=, $11, $pop0 tee_local $push41=, $10=, $pop42 i32.const $push1=, 0 i32.store8 $0=, 0($pop41):p2align=3, $pop1 i32.const $push5=, 8 - i32.const $15=, 32 - i32.add $15=, $18, $15 - i32.add $push40=, $15, $pop5 + i32.const $12=, 32 + i32.add $12=, $15, $12 + i32.add $push40=, $12, $pop5 tee_local $push39=, $9=, $pop40 i32.const $push2=, 16 - i32.const $16=, 32 - i32.add $16=, $18, $16 - i32.add $push38=, $16, $pop2 + i32.const $13=, 32 + i32.add $13=, $15, $13 + i32.add $push38=, $13, $pop2 tee_local $push37=, $8=, $pop38 i64.const $push3=, 0 i64.store $push4=, 0($pop37), $pop3 i64.store $push6=, 0($pop39), $pop4 - i64.store $discard=, 32($18), $pop6 - i32.const $17=, 32 - i32.add $17=, $18, $17 - call foo@FUNCTION, $17, $0 + i64.store $discard=, 32($15), $pop6 + i32.const $14=, 32 + i32.add $14=, $15, $14 + call foo@FUNCTION, $14, $0 i64.load $1=, 0($8) i32.const $push36=, 24 - i32.add $push35=, $18, $pop36 + i32.add $push35=, $15, $pop36 tee_local $push34=, $7=, $pop35 i32.load8_u $push7=, 0($10):p2align=3 i32.store8 $discard=, 0($pop34):p2align=3, $pop7 i64.load $2=, 0($9) i32.const $push33=, 16 - i32.add $push32=, $18, $pop33 + i32.add $push32=, $15, $pop33 tee_local $push31=, $6=, $pop32 i64.store $discard=, 0($pop31), $1 - i64.load $1=, 32($18) + i64.load $1=, 32($15) i32.const $push30=, 8 - i32.add $push29=, $18, $pop30 + i32.add $push29=, $15, $pop30 tee_local $push28=, $5=, $pop29 i64.store $discard=, 0($pop28), $2 - i64.store $discard=, 0($18), $1 + i64.store $discard=, 0($15), $1 i32.const $push8=, 1 - call foo@FUNCTION, $18, $pop8 + call foo@FUNCTION, $15, $pop8 i32.load $push27=, p($0) tee_local $push26=, $4=, $pop27 i32.const $push25=, 24 @@ -283,7 +283,7 @@ test3: # @test3 tee_local $push17=, $8=, $pop18 i64.load $push11=, 0($9) i64.store $discard=, 0($pop17):p2align=0, $pop11 - i64.load $push12=, 32($18) + i64.load $push12=, 32($15) i64.store $discard=, 0($4):p2align=0, $pop12 i32.load8_u $push13=, 0($7):p2align=3 i32.store8 $discard=, 0($3), $pop13 @@ -291,13 +291,13 @@ test3: # @test3 i64.store $discard=, 0($10):p2align=0, $pop14 i64.load $push15=, 0($5) i64.store $discard=, 0($8):p2align=0, $pop15 - i64.load $push16=, 0($18) + i64.load $push16=, 0($15) i64.store $discard=, 0($4):p2align=0, $pop16 - call foo@FUNCTION, $18, $0 - i32.const $13=, 64 - i32.add $18=, $18, $13 - i32.const $13=, __stack_pointer - i32.store $18=, 0($13), $18 + call foo@FUNCTION, $15, $0 + i32.const $push47=, 64 + i32.add $15=, $15, $pop47 + i32.const $push48=, __stack_pointer + i32.store $discard=, 0($pop48), $15 return .endfunc .Lfunc_end3: diff --git a/test/torture-s/20080502-1.c.s b/test/torture-s/20080502-1.c.s index 0ffc4cd03..bbd5c838b 100644 --- a/test/torture-s/20080502-1.c.s +++ b/test/torture-s/20080502-1.c.s @@ -29,33 +29,31 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push8=, __stack_pointer + i32.load $push9=, 0($pop8) + i32.const $push10=, 16 + i32.sub $0=, $pop9, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $0 i64.const $push1=, 0 i64.const $push0=, -4611967493404098560 - call foo@FUNCTION, $3, $pop1, $pop0 + call foo@FUNCTION, $0, $pop1, $pop0 block - i64.load $push5=, 0($3):p2align=4 - i32.const $push2=, 8 - i32.or $push3=, $3, $pop2 - i64.load $push4=, 0($pop3) - i64.const $push7=, -8905435550453399112 - i64.const $push6=, 4611846683310179025 - i32.call $push8=, __eqtf2@FUNCTION, $pop5, $pop4, $pop7, $pop6 - br_if 0, $pop8 # 0: down to label0 + i64.load $push3=, 0($0):p2align=4 + i64.load $push2=, 8($0) + i64.const $push5=, -8905435550453399112 + i64.const $push4=, 4611846683310179025 + i32.call $push6=, __eqtf2@FUNCTION, $pop3, $pop2, $pop5, $pop4 + br_if 0, $pop6 # 0: down to label0 # BB#1: # %if.end - i32.const $push9=, 0 - i32.const $2=, 16 - i32.add $3=, $3, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 - return $pop9 + i32.const $push7=, 0 + i32.const $push12=, 16 + i32.add $0=, $0, $pop12 + i32.const $push13=, __stack_pointer + i32.store $discard=, 0($pop13), $0 + return $pop7 .LBB1_2: # %if.then end_block # label0: call abort@FUNCTION diff --git a/test/torture-s/20080506-2.c.s b/test/torture-s/20080506-2.c.s index 4d2bae6ea..2e1d327ac 100644 --- a/test/torture-s/20080506-2.c.s +++ b/test/torture-s/20080506-2.c.s @@ -34,30 +34,30 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $7=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $7=, 0($1), $7 - i32.const $3=, 12 - i32.add $3=, $7, $3 - i32.store $discard=, 8($7), $3 - i32.const $4=, 12 - i32.add $4=, $7, $4 - i32.store $discard=, 4($7), $4 - i32.const $5=, 8 - i32.add $5=, $7, $5 - i32.const $6=, 4 - i32.add $6=, $7, $6 - call foo@FUNCTION, $5, $6 + i32.const $push1=, __stack_pointer + i32.load $push2=, 0($pop1) + i32.const $push3=, 16 + i32.sub $4=, $pop2, $pop3 + i32.const $push4=, __stack_pointer + i32.store $discard=, 0($pop4), $4 + i32.const $0=, 12 + i32.add $0=, $4, $0 + i32.store $discard=, 8($4), $0 + i32.const $1=, 12 + i32.add $1=, $4, $1 + i32.store $discard=, 4($4), $1 + i32.const $2=, 8 + i32.add $2=, $4, $2 + i32.const $3=, 4 + i32.add $3=, $4, $3 + call foo@FUNCTION, $2, $3 i32.const $push0=, 0 - i32.const $2=, 16 - i32.add $7=, $7, $2 - i32.const $2=, __stack_pointer - i32.store $7=, 0($2), $7 + i32.const $push5=, 16 + i32.add $4=, $4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $4 return $pop0 .endfunc .Lfunc_end1: diff --git a/test/torture-s/20080519-1.c.s b/test/torture-s/20080519-1.c.s index e28ca8277..25adc8cfa 100644 --- a/test/torture-s/20080519-1.c.s +++ b/test/torture-s/20080519-1.c.s @@ -33,22 +33,22 @@ merge_overlapping_regs: # @merge_overlapping_regs .type regrename_optimize,@function regrename_optimize: # @regrename_optimize .param i32 - .local 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=, 16 - i32.sub $11=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $11=, 0($7), $11 + i32.const $push30=, __stack_pointer + i32.load $push31=, 0($pop30) + i32.const $push32=, 16 + i32.sub $8=, $pop31, $pop32 + i32.const $push33=, __stack_pointer + i32.store $discard=, 0($pop33), $8 i32.load $2=, 0($0) i32.const $push1=, 0 - i32.store $push2=, 8($11), $pop1 - i32.store $3=, 12($11), $pop2 + i32.store $push2=, 8($8), $pop1 + i32.store $3=, 12($8), $pop2 block - i32.const $push30=, 0 - i32.eq $push31=, $2, $pop30 - br_if 0, $pop31 # 0: down to label1 + i32.const $push36=, 0 + i32.eq $push37=, $2, $pop36 + br_if 0, $pop37 # 0: down to label1 # BB#1: i32.const $1=, -1 copy_local $4=, $3 @@ -75,11 +75,11 @@ regrename_optimize: # @regrename_optimize br_if 0, $2 # 0: up to label2 # BB#3: # %for.end end_loop # label3: - i32.store $2=, 8($11), $4 + i32.store $2=, 8($8), $4 i32.const $push8=, 4 - i32.const $9=, 8 - i32.add $9=, $11, $9 - i32.add $push26=, $9, $pop8 + i32.const $6=, 8 + i32.add $6=, $8, $6 + i32.add $push26=, $6, $pop8 tee_local $push25=, $4=, $pop26 i32.store $discard=, 0($pop25), $3 i32.const $push9=, 0 @@ -99,16 +99,16 @@ regrename_optimize: # @regrename_optimize i32.const $push27=, -1 i32.xor $push14=, $1, $pop27 i32.or $push15=, $2, $pop14 - i32.store $discard=, 8($11), $pop15 - i32.const $10=, 8 - i32.add $10=, $11, $10 - call merge_overlapping_regs@FUNCTION, $10 + i32.store $discard=, 8($8), $pop15 + i32.const $7=, 8 + i32.add $7=, $8, $7 + call merge_overlapping_regs@FUNCTION, $7 .LBB1_5: # %cleanup end_block # label1: - i32.const $8=, 16 - i32.add $11=, $11, $8 - i32.const $8=, __stack_pointer - i32.store $11=, 0($8), $11 + i32.const $push34=, 16 + i32.add $8=, $8, $pop34 + i32.const $push35=, __stack_pointer + i32.store $discard=, 0($pop35), $8 return .endfunc .Lfunc_end1: @@ -120,35 +120,33 @@ regrename_optimize: # @regrename_optimize .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 - i32.const $push2=, 4 - i32.or $push3=, $4, $pop2 - i32.const $push4=, 1 - i32.store $discard=, 0($pop3), $pop4 + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 16 + i32.sub $1=, $pop8, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $1 + i32.const $push2=, 1 + i32.store $discard=, 4($1), $pop2 + i32.const $push4=, 0 + i64.const $push3=, -1 + i64.store $discard=, reg_class_contents($pop4):p2align=4, $pop3 i32.const $push6=, 0 - i64.const $push5=, -1 - i64.store $discard=, reg_class_contents($pop6):p2align=4, $pop5 - i32.const $push8=, 0 i64.const $push0=, 0 - i64.store $push1=, 8($4), $pop0 - i64.store $discard=, reg_class_contents+8($pop8), $pop1 - i32.const $3=, 8 - i32.add $3=, $4, $3 - i32.store $discard=, 0($4):p2align=3, $3 - call regrename_optimize@FUNCTION, $4 - i32.const $push7=, 0 - i32.const $2=, 16 - i32.add $4=, $4, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 - return $pop7 + i64.store $push1=, 8($1), $pop0 + i64.store $discard=, reg_class_contents+8($pop6), $pop1 + i32.const $0=, 8 + i32.add $0=, $1, $0 + i32.store $discard=, 0($1):p2align=3, $0 + call regrename_optimize@FUNCTION, $1 + i32.const $push5=, 0 + i32.const $push11=, 16 + i32.add $1=, $1, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $1 + return $pop5 .endfunc .Lfunc_end2: .size main, .Lfunc_end2-main diff --git a/test/torture-s/20080522-1.c.s b/test/torture-s/20080522-1.c.s index 4c5f814ef..598c60cba 100644 --- a/test/torture-s/20080522-1.c.s +++ b/test/torture-s/20080522-1.c.s @@ -45,16 +45,16 @@ bar: # @bar .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $5=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $5=, 0($1), $5 + i32.const $push22=, __stack_pointer + i32.load $push23=, 0($pop22) + i32.const $push24=, 16 + i32.sub $2=, $pop23, $pop24 + i32.const $push25=, __stack_pointer + i32.store $discard=, 0($pop25), $2 i32.const $push0=, 0 - i32.store $discard=, 12($5), $pop0 + i32.store $discard=, 12($2), $pop0 block i32.const $push16=, i i32.call $push1=, foo@FUNCTION, $pop16 @@ -68,35 +68,35 @@ main: # @main i32.ne $push5=, $pop4, $pop17 br_if 0, $pop5 # 0: down to label0 # BB#2: # %if.end4 - i32.const $3=, 12 - i32.add $3=, $5, $3 - i32.call $push6=, foo@FUNCTION, $3 + i32.const $0=, 12 + i32.add $0=, $2, $0 + i32.call $push6=, foo@FUNCTION, $0 i32.const $push19=, 1 i32.ne $push7=, $pop6, $pop19 br_if 0, $pop7 # 0: down to label0 # BB#3: # %if.end8 - i32.load $push8=, 12($5) + i32.load $push8=, 12($2) i32.const $push20=, 2 i32.ne $push9=, $pop8, $pop20 br_if 0, $pop9 # 0: down to label0 # BB#4: # %if.end11 - i32.const $4=, 12 - i32.add $4=, $5, $4 - i32.call $push10=, bar@FUNCTION, $4 + i32.const $1=, 12 + i32.add $1=, $2, $1 + i32.call $push10=, bar@FUNCTION, $1 i32.const $push21=, 2 i32.ne $push11=, $pop10, $pop21 br_if 0, $pop11 # 0: down to label0 # BB#5: # %if.end15 - i32.load $push12=, 12($5) + i32.load $push12=, 12($2) i32.const $push13=, 2 i32.ne $push14=, $pop12, $pop13 br_if 0, $pop14 # 0: down to label0 # BB#6: # %if.end18 i32.const $push15=, 0 - i32.const $2=, 16 - i32.add $5=, $5, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 + i32.const $push26=, 16 + i32.add $2=, $2, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $2 return $pop15 .LBB2_7: # %if.then17 end_block # label0: diff --git a/test/torture-s/20080604-1.c.s b/test/torture-s/20080604-1.c.s index 2778ac767..a4135ff52 100644 --- a/test/torture-s/20080604-1.c.s +++ b/test/torture-s/20080604-1.c.s @@ -28,27 +28,27 @@ foo: # @foo .type baz,@function baz: # @baz .param i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $6=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $6=, 0($3), $6 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $3=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $3 i32.const $push0=, x - i32.const $5=, 12 - i32.add $5=, $6, $5 - i32.select $push3=, $5, $pop0, $0 + i32.const $2=, 12 + i32.add $2=, $3, $2 + i32.select $push3=, $2, $pop0, $0 tee_local $push2=, $0=, $pop3 i32.const $push1=, .L.str i32.store $1=, 0($pop2), $pop1 call foo@FUNCTION i32.store $discard=, 0($0), $1 - i32.const $4=, 16 - i32.add $6=, $6, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.const $push8=, 16 + i32.add $3=, $3, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $3 return .endfunc .Lfunc_end1: diff --git a/test/torture-s/20081103-1.c.s b/test/torture-s/20081103-1.c.s index a667c0dee..94bc2b735 100644 --- a/test/torture-s/20081103-1.c.s +++ b/test/torture-s/20081103-1.c.s @@ -29,31 +29,29 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 16 + i32.sub $0=, $pop8, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $0 block - i32.const $push7=, 0 - i32.load $push4=, A($pop7) - i32.const $push1=, 1 - i32.or $push2=, $3, $pop1 - i32.const $push6=, 0 - i32.load $push0=, A($pop6) - i32.store $push3=, 0($pop2):p2align=0, $pop0 - i32.ne $push5=, $pop4, $pop3 - br_if 0, $pop5 # 0: down to label1 + i32.const $push5=, 0 + i32.load $push2=, A($pop5) + i32.const $push4=, 0 + i32.load $push0=, A($pop4) + i32.store $push1=, 1($0):p2align=0, $pop0 + i32.ne $push3=, $pop2, $pop1 + br_if 0, $pop3 # 0: down to label1 # BB#1: # %foo.exit - i32.const $push8=, 0 - i32.const $2=, 16 - i32.add $3=, $3, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 - return $pop8 + i32.const $push6=, 0 + i32.const $push11=, 16 + i32.add $0=, $0, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $0 + return $pop6 .LBB1_2: # %if.then.i end_block # label1: call abort@FUNCTION diff --git a/test/torture-s/20081117-1.c.s b/test/torture-s/20081117-1.c.s index 86bfc7cda..c56b86698 100644 --- a/test/torture-s/20081117-1.c.s +++ b/test/torture-s/20081117-1.c.s @@ -24,31 +24,31 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 + i32.const $push5=, __stack_pointer + i32.load $push6=, 0($pop5) + i32.const $push7=, 16 + i32.sub $1=, $pop6, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $1 i32.const $push3=, 0 i64.load $push0=, s($pop3) - i64.store $discard=, 8($4), $pop0 + i64.store $discard=, 8($1), $pop0 i32.const $push1=, -2023406815 - i32.const $3=, 8 - i32.add $3=, $4, $3 + i32.const $0=, 8 + i32.add $0=, $1, $0 block - i32.call $push2=, f@FUNCTION, $3, $pop1 - i32.const $push5=, 0 - i32.eq $push6=, $pop2, $pop5 - br_if 0, $pop6 # 0: down to label0 + i32.call $push2=, f@FUNCTION, $0, $pop1 + i32.const $push11=, 0 + i32.eq $push12=, $pop2, $pop11 + br_if 0, $pop12 # 0: down to label0 # BB#1: # %if.end i32.const $push4=, 0 - i32.const $2=, 16 - i32.add $4=, $4, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 + i32.const $push9=, 16 + i32.add $1=, $1, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $1 return $pop4 .LBB1_2: # %if.then end_block # label0: diff --git a/test/torture-s/20090113-1.c.s b/test/torture-s/20090113-1.c.s index 346daef1d..d99f20d7e 100644 --- a/test/torture-s/20090113-1.c.s +++ b/test/torture-s/20090113-1.c.s @@ -6,14 +6,14 @@ .type msum_i4,@function msum_i4: # @msum_i4 .param i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 64 - i32.sub $12=, $8, $9 - i32.const $9=, __stack_pointer - i32.store $12=, 0($9), $12 + i32.const $push47=, __stack_pointer + i32.load $push48=, 0($pop47) + i32.const $push49=, 64 + i32.sub $9=, $pop48, $pop49 + i32.const $push50=, __stack_pointer + i32.store $discard=, 0($pop50), $9 i32.load $push32=, 0($2) tee_local $push31=, $2=, $pop32 i32.const $push30=, -1 @@ -42,12 +42,12 @@ msum_i4: # @msum_i4 i32.shl $push7=, $2, $pop35 i32.const $push34=, -4 i32.add $push8=, $pop7, $pop34 - i32.const $11=, 32 - i32.add $11=, $12, $11 - i32.call $discard=, memset@FUNCTION, $11, $pop9, $pop8 + i32.const $8=, 32 + i32.add $8=, $9, $8 + i32.call $discard=, memset@FUNCTION, $8, $pop9, $pop8 i32.const $push33=, 16 i32.add $2=, $1, $pop33 - copy_local $7=, $12 + copy_local $7=, $9 .LBB0_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label1: @@ -105,19 +105,19 @@ msum_i4: # @msum_i4 i32.store $discard=, 0($0), $7 i32.const $push46=, 4 i32.add $0=, $0, $pop46 - i32.load $push19=, 0($12):p2align=4 - i32.load $push16=, 32($12):p2align=4 + i32.load $push19=, 0($9):p2align=4 + i32.load $push16=, 32($9):p2align=4 i32.const $push45=, 1 i32.add $push17=, $pop16, $pop45 - i32.store $push18=, 32($12):p2align=4, $pop17 + i32.store $push18=, 32($9):p2align=4, $pop17 i32.ne $push20=, $pop19, $pop18 br_if 0, $pop20 # 0: up to label3 # BB#8: # %do.end end_loop # label4: - i32.const $10=, 64 - i32.add $12=, $12, $10 - i32.const $10=, __stack_pointer - i32.store $12=, 0($10), $12 + i32.const $push51=, 64 + i32.add $9=, $9, $pop51 + i32.const $push52=, __stack_pointer + i32.store $discard=, 0($pop52), $9 return .endfunc .Lfunc_end0: @@ -129,27 +129,25 @@ msum_i4: # @msum_i4 .type main,@function main: # @main .result i32 - .local i32, 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=, 112 - i32.sub $8=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $8=, 0($5), $8 - copy_local $2=, $8 - i32.const $7=, 36 - i32.add $7=, $8, $7 - copy_local $3=, $7 + i32.const $push18=, __stack_pointer + i32.load $push19=, 0($pop18) + i32.const $push20=, 112 + i32.sub $5=, $pop19, $pop20 + copy_local $2=, $5 + i32.const $4=, 36 + i32.add $4=, $5, $4 + copy_local $3=, $4 i32.const $push0=, 0 - i32.store $discard=, 80($8):p2align=4, $pop0 + i32.store $discard=, 80($5):p2align=4, $pop0 i32.const $push1=, 3 - i32.store $discard=, 48($8):p2align=4, $pop1 + i32.store $discard=, 48($5):p2align=4, $pop1 .LBB1_1: # %for.body18.i # =>This Inner Loop Header: Depth=1 loop # label8: - i32.load $0=, 80($8):p2align=4 - i32.load $1=, 48($8):p2align=4 + i32.load $0=, 80($5):p2align=4 + i32.load $1=, 48($5):p2align=4 i32.const $push17=, 8 i32.add $push6=, $2, $pop17 i32.load $push7=, 0($pop6) @@ -166,16 +164,12 @@ main: # @main i32.add $2=, $2, $pop14 i32.const $push13=, 1 i32.add $push9=, $0, $pop13 - i32.store $push10=, 80($8):p2align=4, $pop9 + i32.store $push10=, 80($5):p2align=4, $pop9 i32.ne $push11=, $1, $pop10 br_if 0, $pop11 # 0: up to label8 # BB#2: # %msum_i4.exit end_loop # label9: i32.const $push12=, 0 - i32.const $6=, 112 - i32.add $8=, $8, $6 - i32.const $6=, __stack_pointer - i32.store $8=, 0($6), $8 return $pop12 .endfunc .Lfunc_end1: diff --git a/test/torture-s/20090113-2.c.s b/test/torture-s/20090113-2.c.s index 98cf0e2ca..ed00fdb08 100644 --- a/test/torture-s/20090113-2.c.s +++ b/test/torture-s/20090113-2.c.s @@ -6,51 +6,47 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 48 - i32.sub $10=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $10=, 0($2), $10 + i32.const $push12=, __stack_pointer + i32.load $push13=, 0($pop12) + i32.const $push14=, 48 + i32.sub $6=, $pop13, $pop14 + i32.const $push15=, __stack_pointer + i32.store $discard=, 0($pop15), $6 i32.const $push2=, 16 - i32.const $4=, 24 - i32.add $4=, $10, $4 - i32.add $push3=, $4, $pop2 + i32.const $1=, 24 + i32.add $1=, $6, $1 + i32.add $push3=, $1, $pop2 i32.const $push0=, 0 i32.load $push1=, .Lmain.elem+16($pop0) i32.store $discard=, 0($pop3):p2align=3, $pop1 i32.const $push5=, 8 - i32.const $5=, 24 - i32.add $5=, $10, $5 - i32.add $push6=, $5, $pop5 - i32.const $push13=, 0 - i64.load $push4=, .Lmain.elem+8($pop13):p2align=2 - i64.store $discard=, 0($pop6), $pop4 - i32.const $push8=, 4 - i32.const $6=, 8 - i32.add $6=, $10, $6 - i32.or $push9=, $6, $pop8 - i32.const $7=, 24 - i32.add $7=, $10, $7 - i32.store $discard=, 0($pop9), $7 - i32.const $push12=, 0 - i64.load $push7=, .Lmain.elem($pop12):p2align=2 - i64.store $discard=, 24($10), $pop7 - i32.const $8=, 24 - i32.add $8=, $10, $8 - i32.store $discard=, 8($10):p2align=3, $8 + i32.const $2=, 24 + i32.add $2=, $6, $2 + i32.add $push6=, $2, $pop5 i32.const $push11=, 0 - i32.store $push10=, 16($10):p2align=3, $pop11 - i32.store $0=, 20($10), $pop10 - i32.const $9=, 8 - i32.add $9=, $10, $9 - call foobar@FUNCTION, $9 - i32.const $3=, 48 - i32.add $10=, $10, $3 - i32.const $3=, __stack_pointer - i32.store $10=, 0($3), $10 + i64.load $push4=, .Lmain.elem+8($pop11):p2align=2 + i64.store $discard=, 0($pop6), $pop4 + i32.const $push10=, 0 + i64.load $push7=, .Lmain.elem($pop10):p2align=2 + i64.store $discard=, 24($6), $pop7 + i32.const $3=, 24 + i32.add $3=, $6, $3 + i32.store $discard=, 8($6):p2align=3, $3 + i32.const $4=, 24 + i32.add $4=, $6, $4 + i32.store $discard=, 12($6), $4 + i32.const $push9=, 0 + i32.store $push8=, 16($6):p2align=3, $pop9 + i32.store $0=, 20($6), $pop8 + i32.const $5=, 8 + i32.add $5=, $6, $5 + call foobar@FUNCTION, $5 + i32.const $push16=, 48 + i32.add $6=, $6, $pop16 + i32.const $push17=, __stack_pointer + i32.store $discard=, 0($pop17), $6 return $0 .endfunc .Lfunc_end0: @@ -60,41 +56,41 @@ main: # @main .type foobar,@function foobar: # @foobar .param i32 - .local 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 # BB#0: # %entry - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 32 - i32.sub $18=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $18=, 0($8), $18 - i32.const $10=, 16 - i32.add $10=, $18, $10 - i32.const $11=, 12 - i32.add $11=, $18, $11 - call bmp_iter_set_init@FUNCTION, $10, $0, $11 + i32.const $push38=, __stack_pointer + i32.load $push39=, 0($pop38) + i32.const $push40=, 32 + i32.sub $15=, $pop39, $pop40 + i32.const $push41=, __stack_pointer + i32.store $discard=, 0($pop41), $15 + i32.const $7=, 16 + i32.add $7=, $15, $7 + i32.const $8=, 12 + i32.add $8=, $15, $8 + call bmp_iter_set_init@FUNCTION, $7, $0, $8 i32.const $push6=, 8 - i32.const $12=, 16 - i32.add $12=, $18, $12 - i32.add $2=, $12, $pop6 + i32.const $9=, 16 + i32.add $9=, $15, $9 + i32.add $2=, $9, $pop6 i32.const $push15=, 12 - i32.const $13=, 16 - i32.add $13=, $18, $13 - i32.add $1=, $13, $pop15 + i32.const $10=, 16 + i32.add $10=, $15, $10 + i32.add $1=, $10, $pop15 .LBB1_1: # %for.cond # =>This Loop Header: Depth=1 # Child Loop BB1_3 Depth 2 # Child Loop BB1_6 Depth 2 # Child Loop BB1_8 Depth 3 loop # label0: - i32.load $4=, 12($18) + i32.load $4=, 12($15) block block i32.load $push17=, 0($1) tee_local $push16=, $0=, $pop17 - i32.const $push38=, 0 - i32.eq $push39=, $pop16, $pop38 - br_if 0, $pop39 # 0: down to label3 + i32.const $push44=, 0 + i32.eq $push45=, $pop16, $pop44 + br_if 0, $pop45 # 0: down to label3 # BB#2: # %while.cond.preheader.i # in Loop: Header=BB1_1 Depth=1 block @@ -111,25 +107,25 @@ foobar: # @foobar i32.add $4=, $4, $pop20 i32.const $push19=, 1 i32.and $push4=, $0, $pop19 - i32.const $push40=, 0 - i32.eq $push41=, $pop4, $pop40 - br_if 0, $pop41 # 0: up to label5 + i32.const $push46=, 0 + i32.eq $push47=, $pop4, $pop46 + br_if 0, $pop47 # 0: up to label5 .LBB1_4: # %while.end.i # in Loop: Header=BB1_1 Depth=1 end_loop # label6: end_block # label4: - i32.store $0=, 12($18), $4 + i32.store $0=, 12($15), $4 br 1 # 1: down to label2 .LBB1_5: # %if.end.i # in Loop: Header=BB1_1 Depth=1 end_block # label3: i32.load $0=, 0($2):p2align=3 - i32.load $3=, 16($18):p2align=3 + i32.load $3=, 16($15):p2align=3 i32.const $push24=, 63 i32.add $push5=, $4, $pop24 i32.const $push23=, -64 i32.and $push0=, $pop5, $pop23 - i32.store $4=, 12($18), $pop0 + i32.store $4=, 12($15), $pop0 i32.const $push22=, 1 i32.add $push1=, $0, $pop22 i32.store $0=, 0($2):p2align=3, $pop1 @@ -163,7 +159,7 @@ foobar: # @foobar br_if 4, $pop30 # 4: down to label8 # BB#9: # %if.end17.i # in Loop: Header=BB1_8 Depth=3 - i32.store $push10=, 12($18), $5 + i32.store $push10=, 12($15), $5 i32.const $push35=, 64 i32.add $5=, $pop10, $pop35 i32.store $push11=, 0($2):p2align=3, $4 @@ -183,15 +179,15 @@ foobar: # @foobar # in Loop: Header=BB1_6 Depth=2 end_block # label9: i32.load $3=, 0($3) - i32.const $push42=, 0 - i32.eq $push43=, $3, $pop42 - br_if 4, $pop43 # 4: down to label1 + i32.const $push48=, 0 + i32.eq $push49=, $3, $pop48 + br_if 4, $pop49 # 4: down to label1 # BB#12: # %if.end25.i # in Loop: Header=BB1_6 Depth=2 i32.load $push14=, 8($3) i32.const $push37=, 7 i32.shl $push2=, $pop14, $pop37 - i32.store $4=, 12($18), $pop2 + i32.store $4=, 12($15), $pop2 i32.const $push13=, 0 i32.store $0=, 0($2):p2align=3, $pop13 br 0 # 0: up to label7 @@ -199,29 +195,29 @@ foobar: # @foobar # in Loop: Header=BB1_1 Depth=1 end_loop # label8: i32.store $discard=, 0($1), $6 - i32.store $discard=, 16($18):p2align=3, $3 - i32.const $14=, 16 - i32.add $14=, $18, $14 - i32.const $15=, 12 - i32.add $15=, $18, $15 - call bmp_iter_set_tail@FUNCTION, $14, $15 - i32.load $0=, 12($18) + i32.store $discard=, 16($15):p2align=3, $3 + i32.const $11=, 16 + i32.add $11=, $15, $11 + i32.const $12=, 12 + i32.add $12=, $15, $12 + call bmp_iter_set_tail@FUNCTION, $11, $12 + i32.load $0=, 12($15) .LBB1_14: # %for.body # in Loop: Header=BB1_1 Depth=1 end_block # label2: call catchme@FUNCTION, $0 - i32.const $16=, 16 - i32.add $16=, $18, $16 - i32.const $17=, 12 - i32.add $17=, $18, $17 - call bmp_iter_next@FUNCTION, $16, $17 + i32.const $13=, 16 + i32.add $13=, $15, $13 + i32.const $14=, 12 + i32.add $14=, $15, $14 + call bmp_iter_next@FUNCTION, $13, $14 br 0 # 0: up to label0 .LBB1_15: # %for.end end_loop # label1: - i32.const $9=, 32 - i32.add $18=, $18, $9 - i32.const $9=, __stack_pointer - i32.store $18=, 0($9), $18 + i32.const $push42=, 32 + i32.add $15=, $15, $pop42 + i32.const $push43=, __stack_pointer + i32.store $discard=, 0($pop43), $15 return .endfunc .Lfunc_end1: diff --git a/test/torture-s/20090113-3.c.s b/test/torture-s/20090113-3.c.s index 66b855c3d..36661e412 100644 --- a/test/torture-s/20090113-3.c.s +++ b/test/torture-s/20090113-3.c.s @@ -6,51 +6,47 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 48 - i32.sub $10=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $10=, 0($2), $10 + i32.const $push12=, __stack_pointer + i32.load $push13=, 0($pop12) + i32.const $push14=, 48 + i32.sub $6=, $pop13, $pop14 + i32.const $push15=, __stack_pointer + i32.store $discard=, 0($pop15), $6 i32.const $push2=, 16 - i32.const $4=, 24 - i32.add $4=, $10, $4 - i32.add $push3=, $4, $pop2 + i32.const $1=, 24 + i32.add $1=, $6, $1 + i32.add $push3=, $1, $pop2 i32.const $push0=, 0 i32.load $push1=, .Lmain.elem+16($pop0) i32.store $discard=, 0($pop3):p2align=3, $pop1 i32.const $push5=, 8 - i32.const $5=, 24 - i32.add $5=, $10, $5 - i32.add $push6=, $5, $pop5 - i32.const $push13=, 0 - i64.load $push4=, .Lmain.elem+8($pop13):p2align=2 - i64.store $discard=, 0($pop6), $pop4 - i32.const $push8=, 4 - i32.const $6=, 8 - i32.add $6=, $10, $6 - i32.or $push9=, $6, $pop8 - i32.const $7=, 24 - i32.add $7=, $10, $7 - i32.store $discard=, 0($pop9), $7 - i32.const $push12=, 0 - i64.load $push7=, .Lmain.elem($pop12):p2align=2 - i64.store $discard=, 24($10), $pop7 - i32.const $8=, 24 - i32.add $8=, $10, $8 - i32.store $discard=, 8($10):p2align=3, $8 + i32.const $2=, 24 + i32.add $2=, $6, $2 + i32.add $push6=, $2, $pop5 i32.const $push11=, 0 - i32.store $push10=, 16($10):p2align=3, $pop11 - i32.store $0=, 20($10), $pop10 - i32.const $9=, 8 - i32.add $9=, $10, $9 - call foobar@FUNCTION, $9 - i32.const $3=, 48 - i32.add $10=, $10, $3 - i32.const $3=, __stack_pointer - i32.store $10=, 0($3), $10 + i64.load $push4=, .Lmain.elem+8($pop11):p2align=2 + i64.store $discard=, 0($pop6), $pop4 + i32.const $push10=, 0 + i64.load $push7=, .Lmain.elem($pop10):p2align=2 + i64.store $discard=, 24($6), $pop7 + i32.const $3=, 24 + i32.add $3=, $6, $3 + i32.store $discard=, 8($6):p2align=3, $3 + i32.const $4=, 24 + i32.add $4=, $6, $4 + i32.store $discard=, 12($6), $4 + i32.const $push9=, 0 + i32.store $push8=, 16($6):p2align=3, $pop9 + i32.store $0=, 20($6), $pop8 + i32.const $5=, 8 + i32.add $5=, $6, $5 + call foobar@FUNCTION, $5 + i32.const $push16=, 48 + i32.add $6=, $6, $pop16 + i32.const $push17=, __stack_pointer + i32.store $discard=, 0($pop17), $6 return $0 .endfunc .Lfunc_end0: @@ -60,22 +56,22 @@ main: # @main .type foobar,@function foobar: # @foobar .param i32 - .local i32, i32, 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 $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 32 - i32.sub $13=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $13=, 0($6), $13 - i32.const $8=, 16 - i32.add $8=, $13, $8 - i32.const $9=, 12 - i32.add $9=, $13, $9 - call bmp_iter_set_init@FUNCTION, $8, $0, $9 - i32.load $2=, 24($13):p2align=3 - i32.load $1=, 16($13):p2align=3 - i32.load $0=, 28($13) + i32.const $push31=, __stack_pointer + i32.load $push32=, 0($pop31) + i32.const $push33=, 32 + i32.sub $10=, $pop32, $pop33 + i32.const $push34=, __stack_pointer + i32.store $discard=, 0($pop34), $10 + i32.const $5=, 16 + i32.add $5=, $10, $5 + i32.const $6=, 12 + i32.add $6=, $10, $6 + call bmp_iter_set_init@FUNCTION, $5, $0, $6 + i32.load $2=, 24($10):p2align=3 + i32.load $1=, 16($10):p2align=3 + i32.load $0=, 28($10) .LBB1_1: # %for.cond # =>This Loop Header: Depth=1 # Child Loop BB1_3 Depth 2 @@ -85,9 +81,9 @@ foobar: # @foobar loop # label0: block block - i32.const $push31=, 0 - i32.eq $push32=, $0, $pop31 - br_if 0, $pop32 # 0: down to label3 + i32.const $push37=, 0 + i32.eq $push38=, $0, $pop37 + br_if 0, $pop38 # 0: down to label3 # BB#2: # %while.cond.preheader.i # in Loop: Header=BB1_1 Depth=1 i32.const $push12=, 1 @@ -101,16 +97,16 @@ foobar: # @foobar i32.shr_u $0=, $0, $pop14 i32.const $push13=, 1 i32.and $push3=, $0, $pop13 - i32.const $push33=, 0 - i32.eq $push34=, $pop3, $pop33 - br_if 0, $pop34 # 0: up to label4 + i32.const $push39=, 0 + i32.eq $push40=, $pop3, $pop39 + br_if 0, $pop40 # 0: up to label4 # BB#4: # %while.cond.return.loopexit61_crit_edge.i # in Loop: Header=BB1_1 Depth=1 end_loop # label5: i32.const $push28=, 12 - i32.const $12=, 16 - i32.add $12=, $13, $12 - i32.add $push4=, $12, $pop28 + i32.const $9=, 16 + i32.add $9=, $10, $9 + i32.add $push4=, $9, $pop28 i32.store $discard=, 0($pop4), $0 br 1 # 1: down to label2 .LBB1_5: # %if.end.i @@ -140,9 +136,9 @@ foobar: # @foobar # => This Inner Loop Header: Depth=3 loop # label9: i32.const $push21=, 12 - i32.const $10=, 16 - i32.add $10=, $13, $10 - i32.add $push20=, $10, $pop21 + i32.const $7=, 16 + i32.add $7=, $10, $7 + i32.add $push20=, $7, $pop21 tee_local $push19=, $4=, $pop20 i32.load $push0=, 0($3) i32.store $0=, 0($pop19), $pop0 @@ -178,9 +174,9 @@ foobar: # @foobar i32.shr_u $0=, $0, $pop24 i32.const $push23=, 1 i32.and $push9=, $0, $pop23 - i32.const $push35=, 0 - i32.eq $push36=, $pop9, $pop35 - br_if 0, $pop36 # 0: up to label11 + i32.const $push41=, 0 + i32.eq $push42=, $pop9, $pop41 + br_if 0, $pop42 # 0: up to label11 # BB#13: # %while.cond16.return.loopexit_crit_edge.i # in Loop: Header=BB1_1 Depth=1 end_loop # label12: @@ -189,19 +185,19 @@ foobar: # @foobar # in Loop: Header=BB1_1 Depth=1 end_block # label2: i32.const $push30=, 12 - i32.const $11=, 16 - i32.add $11=, $13, $11 - i32.add $push10=, $11, $pop30 + i32.const $8=, 16 + i32.add $8=, $10, $8 + i32.add $push10=, $8, $pop30 i32.const $push29=, 1 i32.shr_u $push1=, $0, $pop29 i32.store $0=, 0($pop10), $pop1 br 0 # 0: up to label0 .LBB1_15: # %for.end end_loop # label1: - i32.const $7=, 32 - i32.add $13=, $13, $7 - i32.const $7=, __stack_pointer - i32.store $13=, 0($7), $13 + i32.const $push35=, 32 + i32.add $10=, $10, $pop35 + i32.const $push36=, __stack_pointer + i32.store $discard=, 0($pop36), $10 return .endfunc .Lfunc_end1: diff --git a/test/torture-s/20090207-1.c.s b/test/torture-s/20090207-1.c.s index 9c4deb172..901f99710 100644 --- a/test/torture-s/20090207-1.c.s +++ b/test/torture-s/20090207-1.c.s @@ -7,26 +7,20 @@ foo: # @foo .param i32 .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 128 - i32.sub $4=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 128 + i32.sub $1=, $pop7, $pop8 i64.const $push0=, 12884901889 - i64.store $discard=, 0($4):p2align=4, $pop0 + i64.store $discard=, 0($1):p2align=4, $pop0 i32.const $push1=, 2 i32.shl $push2=, $0, $pop1 - i32.add $push3=, $4, $pop2 + i32.add $push3=, $1, $pop2 i32.const $push5=, 2 i32.store $discard=, 0($pop3), $pop5 - i32.load $push4=, 0($4):p2align=4 - i32.const $3=, 128 - i32.add $4=, $4, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 + i32.load $push4=, 0($1):p2align=4 return $pop4 .endfunc .Lfunc_end0: diff --git a/test/torture-s/20090623-1.c.s b/test/torture-s/20090623-1.c.s index f044fbe5b..cc2ee9778 100644 --- a/test/torture-s/20090623-1.c.s +++ b/test/torture-s/20090623-1.c.s @@ -22,23 +22,17 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %if.end - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $1=, $pop3, $pop4 i32.const $push0=, 0 - i32.const $3=, 12 - i32.add $3=, $4, $3 - i32.store $discard=, x($pop0), $3 + i32.const $0=, 12 + i32.add $0=, $1, $0 + i32.store $discard=, x($pop0), $0 i32.const $push1=, 0 - i32.const $2=, 16 - i32.add $4=, $4, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 return $pop1 .endfunc .Lfunc_end1: diff --git a/test/torture-s/20100708-1.c.s b/test/torture-s/20100708-1.c.s index ea2b44df1..273dcf943 100644 --- a/test/torture-s/20100708-1.c.s +++ b/test/torture-s/20100708-1.c.s @@ -23,22 +23,22 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 208 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 - i32.const $3=, 8 - i32.add $3=, $4, $3 - call f@FUNCTION, $3 + i32.const $push1=, __stack_pointer + i32.load $push2=, 0($pop1) + i32.const $push3=, 208 + i32.sub $1=, $pop2, $pop3 + i32.const $push4=, __stack_pointer + i32.store $discard=, 0($pop4), $1 + i32.const $0=, 8 + i32.add $0=, $1, $0 + call f@FUNCTION, $0 i32.const $push0=, 0 - i32.const $2=, 208 - i32.add $4=, $4, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 + i32.const $push5=, 208 + i32.add $1=, $1, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $1 return $pop0 .endfunc .Lfunc_end1: diff --git a/test/torture-s/20101013-1.c.s b/test/torture-s/20101013-1.c.s index 8582f7bc5..d304a2e09 100644 --- a/test/torture-s/20101013-1.c.s +++ b/test/torture-s/20101013-1.c.s @@ -17,25 +17,25 @@ main: # @main .section .text.build_ref_for_offset,"ax",@progbits .type build_ref_for_offset,@function build_ref_for_offset: # @build_ref_for_offset - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 - i32.const $3=, 8 - i32.add $3=, $4, $3 - call get_addr_base_and_unit_offset@FUNCTION, $3 - i64.load $push0=, 8($4) + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $1=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $1 + i32.const $0=, 8 + i32.add $0=, $1, $0 + call get_addr_base_and_unit_offset@FUNCTION, $0 + i64.load $push0=, 8($1) i64.const $push1=, 4 i64.add $push2=, $pop0, $pop1 call build_int_cst@FUNCTION, $pop2 - i32.const $2=, 16 - i32.add $4=, $4, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 + i32.const $push7=, 16 + i32.add $1=, $1, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $1 return .endfunc .Lfunc_end1: diff --git a/test/torture-s/20111212-1.c.s b/test/torture-s/20111212-1.c.s index d581bdbce..8ccef4d35 100644 --- a/test/torture-s/20111212-1.c.s +++ b/test/torture-s/20111212-1.c.s @@ -28,26 +28,26 @@ frob_entry: # @frob_entry .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $1=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $1 i64.const $push0=, 0 - i64.store $discard=, 8($4), $pop0 + i64.store $discard=, 8($1), $pop0 i32.const $push1=, 1 - i32.const $3=, 8 - i32.add $3=, $4, $3 - i32.or $push2=, $3, $pop1 + i32.const $0=, 8 + i32.add $0=, $1, $0 + i32.or $push2=, $0, $pop1 call frob_entry@FUNCTION, $pop2 i32.const $push3=, 0 - i32.const $2=, 16 - i32.add $4=, $4, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 + i32.const $push8=, 16 + i32.add $1=, $1, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $1 return $pop3 .endfunc .Lfunc_end1: diff --git a/test/torture-s/20111227-1.c.s b/test/torture-s/20111227-1.c.s index d981ea8f7..0f67d34fb 100644 --- a/test/torture-s/20111227-1.c.s +++ b/test/torture-s/20111227-1.c.s @@ -30,22 +30,19 @@ foo: # @foo # BB#0: # %entry i32.load16_u $0=, 0($0) block - block i32.const $push4=, 0 i32.eq $push5=, $1, $pop4 - br_if 0, $pop5 # 0: down to label2 + br_if 0, $pop5 # 0: down to label1 # BB#1: # %if.then call bar@FUNCTION, $0 - br 1 # 1: down to label1 + return .LBB1_2: # %if.else - end_block # label2: + end_block # label1: i32.const $push1=, 16 i32.shl $push2=, $0, $pop1 i32.const $push3=, 16 i32.shr_s $push0=, $pop2, $pop3 call bar@FUNCTION, $pop0 -.LBB1_3: # %if.end - end_block # label1: return .endfunc .Lfunc_end1: diff --git a/test/torture-s/20111227-2.c.s b/test/torture-s/20111227-2.c.s index 19df0d8f6..f61d44118 100644 --- a/test/torture-s/20111227-2.c.s +++ b/test/torture-s/20111227-2.c.s @@ -72,26 +72,28 @@ foo: # @foo # BB#1: # %entry i32.const $push0=, 1 i32.eq $push1=, $1, $pop0 - br_if 1, $pop1 # 1: down to label5 + br_if 2, $pop1 # 2: down to label4 # BB#2: # %entry i32.const $push2=, 2 i32.ne $push3=, $1, $pop2 - br_if 2, $pop3 # 2: down to label4 + br_if 1, $pop3 # 1: down to label5 # BB#3: # %if.then i32.const $push5=, 0 i32.store16 $discard=, s($pop5), $2 - br 2 # 2: down to label4 + call bar@FUNCTION, $1 + return .LBB1_4: # %if.then8 end_block # label6: i32.const $push7=, 0 i32.store $discard=, l($pop7), $2 - br 1 # 1: down to label4 -.LBB1_5: # %if.then3 +.LBB1_5: # %if.end11 end_block # label5: + call bar@FUNCTION, $1 + return +.LBB1_6: # %if.then3 + end_block # label4: i32.const $push4=, 0 i32.store $discard=, i($pop4), $2 -.LBB1_6: # %if.end11 - end_block # label4: call bar@FUNCTION, $1 return .endfunc diff --git a/test/torture-s/20111227-3.c.s b/test/torture-s/20111227-3.c.s index 951deee59..bb0aff5d7 100644 --- a/test/torture-s/20111227-3.c.s +++ b/test/torture-s/20111227-3.c.s @@ -72,26 +72,28 @@ foo: # @foo # BB#1: # %entry i32.const $push0=, 1 i32.eq $push1=, $1, $pop0 - br_if 1, $pop1 # 1: down to label5 + br_if 2, $pop1 # 2: down to label4 # BB#2: # %entry i32.const $push2=, 2 i32.ne $push3=, $1, $pop2 - br_if 2, $pop3 # 2: down to label4 + br_if 1, $pop3 # 1: down to label5 # BB#3: # %if.then i32.const $push5=, 0 i32.store16 $discard=, s($pop5), $2 - br 2 # 2: down to label4 + call bar@FUNCTION, $1 + return .LBB1_4: # %if.then8 end_block # label6: i32.const $push7=, 0 i32.store $discard=, l($pop7), $2 - br 1 # 1: down to label4 -.LBB1_5: # %if.then3 +.LBB1_5: # %if.end11 end_block # label5: + call bar@FUNCTION, $1 + return +.LBB1_6: # %if.then3 + end_block # label4: i32.const $push4=, 0 i32.store $discard=, i($pop4), $2 -.LBB1_6: # %if.end11 - end_block # label4: call bar@FUNCTION, $1 return .endfunc diff --git a/test/torture-s/20120105-1.c.s b/test/torture-s/20120105-1.c.s index 605ff5fe4..308731a4c 100644 --- a/test/torture-s/20120105-1.c.s +++ b/test/torture-s/20120105-1.c.s @@ -6,31 +6,31 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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 $push10=, __stack_pointer + i32.load $push11=, 0($pop10) + i32.const $push12=, 16 + i32.sub $1=, $pop11, $pop12 + i32.const $push13=, __stack_pointer + i32.store $discard=, 0($pop13), $1 i32.const $push4=, 8 - i32.add $push5=, $4, $pop4 + i32.add $push5=, $1, $pop4 i32.const $push0=, 12 - i32.add $push1=, $4, $pop0 + i32.add $push1=, $1, $pop0 i32.const $push2=, 0 i32.store8 $push3=, 0($pop1):p2align=2, $pop2 i32.store $0=, 0($pop5), $pop3 i64.const $push6=, 0 - i64.store $discard=, 0($4):p2align=2, $pop6 + i64.store $discard=, 0($1):p2align=2, $pop6 i32.const $push7=, 1 - i32.or $push8=, $4, $pop7 + i32.or $push8=, $1, $pop7 i32.call $push9=, extract@FUNCTION, $pop8 i32.store $discard=, i($0), $pop9 - i32.const $3=, 16 - i32.add $4=, $4, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 + i32.const $push14=, 16 + i32.add $1=, $1, $pop14 + i32.const $push15=, __stack_pointer + i32.store $discard=, 0($pop15), $1 return $0 .endfunc .Lfunc_end0: diff --git a/test/torture-s/20120808-1.c.s b/test/torture-s/20120808-1.c.s index 97687f6e5..8969f9d4f 100644 --- a/test/torture-s/20120808-1.c.s +++ b/test/torture-s/20120808-1.c.s @@ -6,53 +6,51 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i64, i32, i32, i32 + .local i32, i32, i32, i32, i32, i64, 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 $push7=, 8 - i32.or $push8=, $8, $pop7 + i32.const $push53=, __stack_pointer + i32.load $push54=, 0($pop53) + i32.const $push55=, 32 + i32.sub $6=, $pop54, $pop55 + i32.const $push56=, __stack_pointer + i32.store $discard=, 0($pop56), $6 i32.const $push4=, 16 - i32.add $push5=, $8, $pop4 + i32.add $push5=, $6, $pop4 i32.const $push0=, 24 - i32.add $push1=, $8, $pop0 + i32.add $push1=, $6, $pop0 i64.const $push2=, 0 i64.store $push3=, 0($pop1), $pop2 i64.store $push6=, 0($pop5):p2align=4, $pop3 - i64.store $push9=, 0($pop8), $pop6 - i64.store $discard=, 0($8):p2align=4, $pop9 - i32.const $push42=, 0 - i32.load $push10=, i($pop42) - i32.const $push11=, d+1 - i32.add $0=, $pop10, $pop11 + i64.store $push7=, 8($6), $pop6 + i64.store $discard=, 0($6):p2align=4, $pop7 + i32.const $push40=, 0 + i32.load $push8=, i($pop40) + i32.const $push9=, d+1 + i32.add $0=, $pop8, $pop9 i32.const $2=, 0 .LBB0_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label0: - i32.add $push45=, $0, $2 - tee_local $push44=, $4=, $pop45 - i32.load8_u $1=, 0($pop44) + i32.add $push43=, $0, $2 + tee_local $push42=, $4=, $pop43 + i32.load8_u $1=, 0($pop42) block block block - i32.const $push43=, 25 - i32.eq $push12=, $2, $pop43 - br_if 0, $pop12 # 0: down to label4 + i32.const $push41=, 25 + i32.eq $push10=, $2, $pop41 + br_if 0, $pop10 # 0: down to label4 # BB#2: # %for.body # in Loop: Header=BB0_1 Depth=1 - i32.const $push46=, 2 - i32.eq $push13=, $2, $pop46 - br_if 1, $pop13 # 1: down to label3 + i32.const $push44=, 2 + i32.eq $push11=, $2, $pop44 + br_if 1, $pop11 # 1: down to label3 # BB#3: # %for.body # in Loop: Header=BB0_1 Depth=1 i32.const $3=, 255 - i32.const $push47=, 1 - i32.ne $push14=, $2, $pop47 - br_if 2, $pop14 # 2: down to label2 + i32.const $push45=, 1 + i32.ne $push12=, $2, $pop45 + br_if 2, $pop12 # 2: down to label2 # BB#4: # %sw.bb # in Loop: Header=BB0_1 Depth=1 i32.const $3=, 253 @@ -69,60 +67,60 @@ main: # @main .LBB0_7: # %sw.epilog # in Loop: Header=BB0_1 Depth=1 end_block # label2: - i32.add $push16=, $8, $2 - i32.or $push15=, $3, $1 - i32.store8 $discard=, 0($pop16), $pop15 - i32.const $push50=, 0 - i32.store $discard=, cp($pop50), $4 - i32.const $push49=, 1 - i32.add $2=, $2, $pop49 - i32.const $push48=, 30 - i32.ne $push17=, $2, $pop48 - br_if 0, $pop17 # 0: up to label0 + i32.add $push14=, $6, $2 + i32.or $push13=, $3, $1 + i32.store8 $discard=, 0($pop14), $pop13 + i32.const $push48=, 0 + i32.store $discard=, cp($pop48), $4 + i32.const $push47=, 1 + i32.add $2=, $2, $pop47 + i32.const $push46=, 30 + i32.ne $push15=, $2, $pop46 + br_if 0, $pop15 # 0: up to label0 # BB#8: # %for.end end_loop # label1: block - i64.load $push52=, 0($8):p2align=4 - tee_local $push51=, $5=, $pop52 - i64.const $push23=, 65535 - i64.and $push24=, $pop51, $pop23 - i64.const $push26=, 65023 - i64.ne $push27=, $pop24, $pop26 - br_if 0, $pop27 # 0: down to label5 + i64.load $push50=, 0($6):p2align=4 + tee_local $push49=, $5=, $pop50 + i64.const $push21=, 65535 + i64.and $push22=, $pop49, $pop21 + i64.const $push24=, 65023 + i64.ne $push25=, $pop22, $pop24 + br_if 0, $pop25 # 0: down to label5 # BB#9: # %for.end - i32.wrap/i64 $push21=, $5 - i32.const $push22=, 16 - i32.shr_u $push18=, $pop21, $pop22 - i32.const $push28=, 255 - i32.and $push29=, $pop18, $pop28 - i32.const $push30=, 251 - i32.ne $push31=, $pop29, $pop30 - br_if 0, $pop31 # 0: down to label5 + i32.wrap/i64 $push19=, $5 + i32.const $push20=, 16 + i32.shr_u $push16=, $pop19, $pop20 + i32.const $push26=, 255 + i32.and $push27=, $pop16, $pop26 + i32.const $push28=, 251 + i32.ne $push29=, $pop27, $pop28 + br_if 0, $pop29 # 0: down to label5 # BB#10: # %for.end - i32.load $push19=, 0($8):p2align=4 - i32.const $push32=, -16777216 - i32.lt_u $push33=, $pop19, $pop32 - br_if 0, $pop33 # 0: down to label5 + i32.load $push17=, 0($6):p2align=4 + i32.const $push30=, -16777216 + i32.lt_u $push31=, $pop17, $pop30 + br_if 0, $pop31 # 0: down to label5 # BB#11: # %for.end - i64.const $push25=, 1095216660480 - i64.and $push20=, $5, $pop25 - i64.const $push34=, 1095216660480 - i64.ne $push35=, $pop20, $pop34 - br_if 0, $pop35 # 0: down to label5 + i64.const $push23=, 1095216660480 + i64.and $push18=, $5, $pop23 + i64.const $push32=, 1095216660480 + i64.ne $push33=, $pop18, $pop32 + br_if 0, $pop33 # 0: down to label5 # BB#12: # %lor.lhs.false29 - i32.load8_u $push36=, 25($8) - i32.const $push37=, 254 - i32.ne $push38=, $pop36, $pop37 - br_if 0, $pop38 # 0: down to label5 + i32.load8_u $push34=, 25($6) + i32.const $push35=, 254 + i32.ne $push36=, $pop34, $pop35 + br_if 0, $pop36 # 0: down to label5 # BB#13: # %lor.lhs.false34 - i32.const $push53=, 0 - i32.load $push39=, cp($pop53) - i32.const $push40=, d+30 - i32.ne $push41=, $pop39, $pop40 - br_if 0, $pop41 # 0: down to label5 + i32.const $push51=, 0 + i32.load $push37=, cp($pop51) + i32.const $push38=, d+30 + i32.ne $push39=, $pop37, $pop38 + br_if 0, $pop39 # 0: down to label5 # BB#14: # %if.end - i32.const $push54=, 0 - call exit@FUNCTION, $pop54 + i32.const $push52=, 0 + call exit@FUNCTION, $pop52 unreachable .LBB0_15: # %if.then end_block # label5: diff --git a/test/torture-s/20120919-1.c.s b/test/torture-s/20120919-1.c.s index 042ac10bf..d07682224 100644 --- a/test/torture-s/20120919-1.c.s +++ b/test/torture-s/20120919-1.c.s @@ -25,23 +25,23 @@ init: # @init .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, f64, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, f64, i32, i32, i32 # BB#0: # %entry - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 6144 - i32.sub $13=, $8, $9 - i32.const $9=, __stack_pointer - i32.store $13=, 0($9), $13 + i32.const $push22=, __stack_pointer + i32.load $push23=, 0($pop22) + i32.const $push24=, 6144 + i32.sub $10=, $pop23, $pop24 + i32.const $push25=, __stack_pointer + i32.store $discard=, 0($pop25), $10 i32.const $push0=, 1 - i32.store $4=, 12($13), $pop0 - i32.const $11=, 12 - i32.add $11=, $13, $11 - i32.const $12=, 16 - i32.add $12=, $13, $12 - call init@FUNCTION, $11, $12 + i32.store $4=, 12($10), $pop0 + i32.const $8=, 12 + i32.add $8=, $10, $8 + i32.const $9=, 16 + i32.add $9=, $10, $9 + call init@FUNCTION, $8, $9 block - i32.load $push14=, 12($13) + i32.load $push14=, 12($10) tee_local $push13=, $6=, $pop14 i32.const $push12=, 0 i32.lt_s $push1=, $pop13, $pop12 @@ -94,10 +94,10 @@ main: # @main br_if 0, $pop10 # 0: down to label1 # BB#8: # %if.end15 i32.const $push11=, 0 - i32.const $10=, 6144 - i32.add $13=, $13, $10 - i32.const $10=, __stack_pointer - i32.store $13=, 0($10), $13 + i32.const $push26=, 6144 + i32.add $10=, $10, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $10 return $pop11 .LBB1_9: # %if.then14 end_block # label1: diff --git a/test/torture-s/20121108-1.c.s b/test/torture-s/20121108-1.c.s index 520edc0eb..3a44ac3f1 100644 --- a/test/torture-s/20121108-1.c.s +++ b/test/torture-s/20121108-1.c.s @@ -50,79 +50,79 @@ strtoul1: # @strtoul1 string_to_ip: # @string_to_ip .param i32 .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $9=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $9=, 0($3), $9 + i32.const $push40=, __stack_pointer + i32.load $push41=, 0($pop40) + i32.const $push42=, 16 + i32.sub $6=, $pop41, $pop42 + i32.const $push43=, __stack_pointer + i32.store $discard=, 0($pop43), $6 i32.const $1=, 0 block - i32.const $push40=, 0 - i32.eq $push41=, $0, $pop40 - br_if 0, $pop41 # 0: down to label2 + i32.const $push46=, 0 + i32.eq $push47=, $0, $pop46 + br_if 0, $pop47 # 0: down to label2 # BB#1: # %if.end9 - i32.const $5=, 12 - i32.add $5=, $9, $5 - i32.call $push0=, strtoul1@FUNCTION, $0, $5, $0 + i32.const $2=, 12 + i32.add $2=, $6, $2 + i32.call $push0=, strtoul1@FUNCTION, $0, $2, $0 i32.const $push25=, 8 i32.shl $push3=, $pop0, $pop25 i32.const $push4=, 65280 i32.and $0=, $pop3, $pop4 block block - i32.load $push24=, 12($9) + i32.load $push24=, 12($6) tee_local $push23=, $1=, $pop24 i32.const $push22=, 1 i32.add $push2=, $pop23, $pop22 i32.load8_u $push1=, 0($1) i32.select $push21=, $pop2, $1, $pop1 tee_local $push20=, $1=, $pop21 - i32.const $push42=, 0 - i32.eq $push43=, $pop20, $pop42 - br_if 0, $pop43 # 0: down to label4 + i32.const $push48=, 0 + i32.eq $push49=, $pop20, $pop48 + br_if 0, $pop49 # 0: down to label4 # BB#2: # %if.end9.1 - i32.const $6=, 12 - i32.add $6=, $9, $6 - i32.call $push5=, strtoul1@FUNCTION, $1, $6, $0 + i32.const $3=, 12 + i32.add $3=, $6, $3 + i32.call $push5=, strtoul1@FUNCTION, $1, $3, $0 i32.const $push31=, 255 i32.and $push6=, $pop5, $pop31 i32.or $0=, $pop6, $0 - i32.load $push30=, 12($9) + i32.load $push30=, 12($6) tee_local $push29=, $1=, $pop30 i32.const $push28=, 1 i32.add $push8=, $pop29, $pop28 i32.load8_u $push7=, 0($1) i32.select $push27=, $pop8, $1, $pop7 tee_local $push26=, $1=, $pop27 - i32.const $push44=, 0 - i32.eq $push45=, $pop26, $pop44 - br_if 0, $pop45 # 0: down to label4 + i32.const $push50=, 0 + i32.eq $push51=, $pop26, $pop50 + br_if 0, $pop51 # 0: down to label4 # BB#3: # %if.end9.2 - i32.const $7=, 12 - i32.add $7=, $9, $7 - i32.call $push9=, strtoul1@FUNCTION, $1, $7, $0 + i32.const $4=, 12 + i32.add $4=, $6, $4 + i32.call $push9=, strtoul1@FUNCTION, $1, $4, $0 i32.const $push38=, 255 i32.and $push11=, $pop9, $pop38 i32.const $push37=, 8 i32.shl $push10=, $0, $pop37 i32.or $0=, $pop11, $pop10 - i32.load $push36=, 12($9) + i32.load $push36=, 12($6) tee_local $push35=, $1=, $pop36 i32.const $push13=, 1 i32.add $push14=, $pop35, $pop13 i32.load8_u $push12=, 0($1) i32.select $push34=, $pop14, $1, $pop12 tee_local $push33=, $1=, $pop34 - i32.const $push46=, 0 - i32.eq $push47=, $pop33, $pop46 - br_if 1, $pop47 # 1: down to label3 + i32.const $push52=, 0 + i32.eq $push53=, $pop33, $pop52 + br_if 1, $pop53 # 1: down to label3 # BB#4: # %if.then3.3 - i32.const $8=, 12 - i32.add $8=, $9, $8 - i32.call $push15=, strtoul1@FUNCTION, $1, $8, $0 + i32.const $5=, 12 + i32.add $5=, $6, $5 + i32.call $push15=, strtoul1@FUNCTION, $1, $5, $0 i32.const $push17=, 255 i32.and $push18=, $pop15, $pop17 i32.const $push39=, 8 @@ -139,10 +139,10 @@ string_to_ip: # @string_to_ip i32.shl $1=, $0, $pop19 .LBB1_7: # %cleanup end_block # label2: - i32.const $4=, 16 - i32.add $9=, $9, $4 - i32.const $4=, __stack_pointer - i32.store $9=, 0($4), $9 + i32.const $push44=, 16 + i32.add $6=, $6, $pop44 + i32.const $push45=, __stack_pointer + i32.store $discard=, 0($pop45), $6 return $1 .endfunc .Lfunc_end1: @@ -154,26 +154,26 @@ string_to_ip: # @string_to_ip .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 32 - i32.sub $5=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 + i32.const $push11=, __stack_pointer + i32.load $push12=, 0($pop11) + i32.const $push13=, 32 + i32.sub $2=, $pop12, $pop13 + i32.const $push14=, __stack_pointer + i32.store $discard=, 0($pop14), $2 i32.const $push0=, temp i32.call $push1=, string_to_ip@FUNCTION, $pop0 - i32.store $0=, 16($5):p2align=4, $pop1 + i32.store $0=, 16($2):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 $1=, 16 + i32.add $1=, $2, $1 + i32.call $discard=, printf@FUNCTION, $pop2, $1 i32.const $push9=, 0 i32.load $push3=, result($pop9) - i32.store $discard=, 0($5):p2align=4, $pop3 + i32.store $discard=, 0($2):p2align=4, $pop3 i32.const $push8=, .L.str - i32.call $discard=, printf@FUNCTION, $pop8, $5 + i32.call $discard=, printf@FUNCTION, $pop8, $2 block i32.const $push7=, 0 i32.load $push4=, result($pop7) @@ -183,10 +183,10 @@ main: # @main 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 + i32.const $push15=, 32 + i32.add $2=, $2, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $2 return $pop10 .LBB2_2: # %if.then end_block # label5: diff --git a/test/torture-s/20140425-1.c.s b/test/torture-s/20140425-1.c.s index 2e920f5b2..233ea503b 100644 --- a/test/torture-s/20140425-1.c.s +++ b/test/torture-s/20140425-1.c.s @@ -6,32 +6,32 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $5=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 - i32.const $4=, 12 - i32.add $4=, $5, $4 - call set@FUNCTION, $4 + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 16 + i32.sub $2=, $pop8, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $2 + i32.const $1=, 12 + i32.add $1=, $2, $1 + call set@FUNCTION, $1 i32.const $push0=, 2 - i32.load $push6=, 12($5) + i32.load $push6=, 12($2) tee_local $push5=, $0=, $pop6 i32.shl $push1=, $pop0, $pop5 - i32.store $discard=, 12($5), $pop1 + i32.store $discard=, 12($2), $pop1 block i32.const $push2=, 30 i32.le_u $push3=, $0, $pop2 br_if 0, $pop3 # 0: down to label0 # BB#1: # %if.end i32.const $push4=, 0 - i32.const $3=, 16 - i32.add $5=, $5, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $push11=, 16 + i32.add $2=, $2, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $2 return $pop4 .LBB0_2: # %if.then end_block # label0: diff --git a/test/torture-s/920501-2.c.s b/test/torture-s/920501-2.c.s index f8e09c4bf..4468c0b4e 100644 --- a/test/torture-s/920501-2.c.s +++ b/test/torture-s/920501-2.c.s @@ -9,28 +9,31 @@ gcd_ll: # @gcd_ll .result i32 # BB#0: # %entry block + block i64.const $push4=, 0 i64.eq $push0=, $1, $pop4 - br_if 0, $pop0 # 0: down to label0 + br_if 0, $pop0 # 0: down to label1 .LBB0_1: # %if.end # =>This Inner Loop Header: Depth=1 - loop # label1: + loop # label2: i64.rem_u $0=, $0, $1 i64.const $push5=, 0 i64.eq $push1=, $0, $pop5 - br_if 1, $pop1 # 1: down to label2 + br_if 3, $pop1 # 3: down to label0 # BB#2: # %if.end5 # in Loop: Header=BB0_1 Depth=1 i64.rem_u $1=, $1, $0 i64.const $push6=, 0 i64.ne $push2=, $1, $pop6 - br_if 0, $pop2 # 0: up to label1 - br 2 # 2: down to label0 -.LBB0_3: - end_loop # label2: - copy_local $0=, $1 -.LBB0_4: # %return + br_if 0, $pop2 # 0: up to label2 +.LBB0_3: # %return + end_loop # label3: + end_block # label1: + i32.wrap/i64 $push3=, $0 + return $pop3 +.LBB0_4: end_block # label0: + copy_local $0=, $1 i32.wrap/i64 $push3=, $0 return $pop3 .endfunc @@ -48,33 +51,33 @@ powmod_ll: # @powmod_ll # BB#0: # %entry i64.const $5=, 1 block + block i32.const $push15=, 0 i32.eq $push16=, $1, $pop15 - br_if 0, $pop16 # 0: down to label3 + br_if 0, $pop16 # 0: down to label5 # BB#1: i32.const $3=, -1 copy_local $4=, $1 .LBB1_2: # %for.body # =>This Inner Loop Header: Depth=1 - loop # label4: + loop # label6: i32.const $push8=, 1 i32.shr_u $4=, $4, $pop8 i32.const $push7=, 1 i32.add $3=, $3, $pop7 - br_if 0, $4 # 0: up to label4 + br_if 0, $4 # 0: up to label6 # BB#3: # %for.end - end_loop # label5: - block + end_loop # label7: i32.const $push9=, 1 i32.lt_s $push0=, $3, $pop9 - br_if 0, $pop0 # 0: down to label6 + br_if 1, $pop0 # 1: down to label4 # BB#4: # %for.body4.preheader i32.const $push10=, 1 i32.add $4=, $3, $pop10 copy_local $5=, $0 .LBB1_5: # %for.body4 # =>This Inner Loop Header: Depth=1 - loop # label7: + loop # label8: i64.mul $push1=, $5, $5 i64.rem_u $5=, $pop1, $2 block @@ -85,26 +88,26 @@ powmod_ll: # @powmod_ll i32.and $push4=, $pop3, $1 i32.const $push17=, 0 i32.eq $push18=, $pop4, $pop17 - br_if 0, $pop18 # 0: down to label9 + br_if 0, $pop18 # 0: down to label10 # BB#6: # %if.then5 # in Loop: Header=BB1_5 Depth=1 i64.mul $push5=, $5, $0 i64.rem_u $5=, $pop5, $2 .LBB1_7: # %for.inc9 # in Loop: Header=BB1_5 Depth=1 - end_block # label9: + end_block # label10: i32.const $push14=, -1 i32.add $4=, $4, $pop14 i32.const $push13=, 1 i32.gt_s $push6=, $4, $pop13 - br_if 0, $pop6 # 0: up to label7 - br 3 # 3: down to label3 -.LBB1_8: - end_loop # label8: - end_block # label6: + br_if 0, $pop6 # 0: up to label8 +.LBB1_8: # %cleanup + end_loop # label9: + end_block # label5: + return $5 +.LBB1_9: + end_block # label4: copy_local $5=, $0 -.LBB1_9: # %cleanup - end_block # label3: return $5 .endfunc .Lfunc_end1: @@ -138,7 +141,7 @@ facts: # @facts # Child Loop BB2_18 Depth 2 # Child Loop BB2_21 Depth 2 # Child Loop BB2_27 Depth 2 - loop # label10: + loop # label11: copy_local $6=, $13 copy_local $13=, $4 i64.const $14=, 1 @@ -147,24 +150,24 @@ facts: # @facts block i32.const $push78=, 0 i32.eq $push79=, $3, $pop78 - br_if 0, $pop79 # 0: down to label12 + br_if 0, $pop79 # 0: down to label13 .LBB2_2: # %for.body.i # Parent Loop BB2_1 Depth=1 # => This Inner Loop Header: Depth=2 - loop # label13: + loop # label14: i32.const $push40=, 1 i32.shr_u $2=, $2, $pop40 i32.const $push39=, 1 i32.add $1=, $1, $pop39 - br_if 0, $2 # 0: up to label13 + br_if 0, $2 # 0: up to label14 # BB#3: # %for.end.i # in Loop: Header=BB2_1 Depth=1 - end_loop # label14: + end_loop # label15: block block i32.const $push41=, 1 i32.lt_s $push0=, $1, $pop41 - br_if 0, $pop0 # 0: down to label16 + br_if 0, $pop0 # 0: down to label17 # BB#4: # %for.body4.i.preheader # in Loop: Header=BB2_1 Depth=1 i32.const $push42=, 1 @@ -173,7 +176,7 @@ facts: # @facts .LBB2_5: # %for.body4.i # Parent Loop BB2_1 Depth=1 # => This Inner Loop Header: Depth=2 - loop # label17: + loop # label18: i64.mul $push1=, $12, $12 i64.rem_u $12=, $pop1, $0 block @@ -184,47 +187,47 @@ facts: # @facts i32.and $push4=, $pop3, $3 i32.const $push80=, 0 i32.eq $push81=, $pop4, $pop80 - br_if 0, $pop81 # 0: down to label19 + br_if 0, $pop81 # 0: down to label20 # BB#6: # %if.then5.i # in Loop: Header=BB2_5 Depth=2 i64.mul $push5=, $12, $6 i64.rem_u $12=, $pop5, $0 .LBB2_7: # %for.inc9.i # in Loop: Header=BB2_5 Depth=2 - end_block # label19: + end_block # label20: i32.const $push46=, -1 i32.add $2=, $2, $pop46 i32.const $push45=, 1 i32.gt_s $push6=, $2, $pop45 - br_if 0, $pop6 # 0: up to label17 - br 3 # 3: down to label15 + br_if 0, $pop6 # 0: up to label18 + br 3 # 3: down to label16 .LBB2_8: # in Loop: Header=BB2_1 Depth=1 - end_loop # label18: - end_block # label16: + end_loop # label19: + end_block # label17: copy_local $12=, $6 .LBB2_9: # %for.body.i114.preheader # in Loop: Header=BB2_1 Depth=1 - end_block # label15: + end_block # label16: i64.add $13=, $12, $15 i32.const $1=, -1 copy_local $2=, $3 .LBB2_10: # %for.body.i114 # Parent Loop BB2_1 Depth=1 # => This Inner Loop Header: Depth=2 - loop # label20: + loop # label21: i32.const $push48=, 1 i32.shr_u $2=, $2, $pop48 i32.const $push47=, 1 i32.add $1=, $1, $pop47 - br_if 0, $2 # 0: up to label20 + br_if 0, $2 # 0: up to label21 # BB#11: # %for.end.i116 # in Loop: Header=BB2_1 Depth=1 - end_loop # label21: + end_loop # label22: block block i32.const $push49=, 1 i32.lt_s $push7=, $1, $pop49 - br_if 0, $pop7 # 0: down to label23 + br_if 0, $pop7 # 0: down to label24 # BB#12: # %for.body4.i125.preheader # in Loop: Header=BB2_1 Depth=1 i32.const $push50=, 1 @@ -233,7 +236,7 @@ facts: # @facts .LBB2_13: # %for.body4.i125 # Parent Loop BB2_1 Depth=1 # => This Inner Loop Header: Depth=2 - loop # label24: + loop # label25: i64.mul $push8=, $12, $12 i64.rem_u $12=, $pop8, $0 block @@ -244,45 +247,45 @@ facts: # @facts i32.and $push11=, $pop10, $3 i32.const $push82=, 0 i32.eq $push83=, $pop11, $pop82 - br_if 0, $pop83 # 0: down to label26 + br_if 0, $pop83 # 0: down to label27 # BB#14: # %if.then5.i128 # in Loop: Header=BB2_13 Depth=2 i64.mul $push12=, $12, $11 i64.rem_u $12=, $pop12, $0 .LBB2_15: # %for.inc9.i131 # in Loop: Header=BB2_13 Depth=2 - end_block # label26: + end_block # label27: i32.const $push54=, -1 i32.add $2=, $2, $pop54 i32.const $push53=, 1 i32.gt_s $push13=, $2, $pop53 - br_if 0, $pop13 # 0: up to label24 - br 3 # 3: down to label22 + br_if 0, $pop13 # 0: up to label25 + br 3 # 3: down to label23 .LBB2_16: # in Loop: Header=BB2_1 Depth=1 - end_loop # label25: - end_block # label23: + end_loop # label26: + end_block # label24: copy_local $12=, $11 .LBB2_17: # %for.body.i88.preheader # in Loop: Header=BB2_1 Depth=1 - end_block # label22: + end_block # label23: i64.add $14=, $12, $15 i32.const $1=, -1 copy_local $2=, $3 .LBB2_18: # %for.body.i88 # Parent Loop BB2_1 Depth=1 # => This Inner Loop Header: Depth=2 - loop # label27: + loop # label28: i32.const $push56=, 1 i32.shr_u $2=, $2, $pop56 i32.const $push55=, 1 i32.add $1=, $1, $pop55 - br_if 0, $2 # 0: up to label27 + br_if 0, $2 # 0: up to label28 # BB#19: # %for.end.i90 # in Loop: Header=BB2_1 Depth=1 - end_loop # label28: + end_loop # label29: i32.const $push57=, 1 i32.lt_s $push14=, $1, $pop57 - br_if 0, $pop14 # 0: down to label12 + br_if 0, $pop14 # 0: down to label13 # BB#20: # %for.body4.i99.preheader # in Loop: Header=BB2_1 Depth=1 i32.const $push58=, 1 @@ -291,7 +294,7 @@ facts: # @facts .LBB2_21: # %for.body4.i99 # Parent Loop BB2_1 Depth=1 # => This Inner Loop Header: Depth=2 - loop # label29: + loop # label30: i64.mul $push15=, $12, $12 i64.rem_u $12=, $pop15, $0 block @@ -302,25 +305,25 @@ facts: # @facts i32.and $push18=, $pop17, $3 i32.const $push84=, 0 i32.eq $push85=, $pop18, $pop84 - br_if 0, $pop85 # 0: down to label31 + br_if 0, $pop85 # 0: down to label32 # BB#22: # %if.then5.i102 # in Loop: Header=BB2_21 Depth=2 i64.mul $push19=, $12, $14 i64.rem_u $12=, $pop19, $0 .LBB2_23: # %for.inc9.i105 # in Loop: Header=BB2_21 Depth=2 - end_block # label31: + end_block # label32: i32.const $push62=, -1 i32.add $2=, $2, $pop62 i32.const $push61=, 1 i32.gt_s $push20=, $2, $pop61 - br_if 0, $pop20 # 0: up to label29 + br_if 0, $pop20 # 0: up to label30 # BB#24: # in Loop: Header=BB2_1 Depth=1 - end_loop # label30: + end_loop # label31: copy_local $14=, $12 .LBB2_25: # %powmod_ll.exit107 # in Loop: Header=BB2_1 Depth=1 - end_block # label12: + end_block # label13: i64.add $11=, $14, $15 i64.sub $push22=, $13, $11 i64.sub $push23=, $11, $13 @@ -334,7 +337,7 @@ facts: # @facts i64.rem_u $10=, $pop27, $0 block i32.ne $push28=, $9, $8 - br_if 0, $pop28 # 0: down to label32 + br_if 0, $pop28 # 0: down to label33 # BB#26: # %if.then19 # in Loop: Header=BB2_1 Depth=1 i32.const $push67=, 1 @@ -345,34 +348,34 @@ facts: # @facts block i64.const $push65=, 0 i64.eq $push29=, $0, $pop65 - br_if 0, $pop29 # 0: down to label33 + br_if 0, $pop29 # 0: down to label34 .LBB2_27: # %if.end.i # Parent Loop BB2_1 Depth=1 # => This Inner Loop Header: Depth=2 - loop # label34: + loop # label35: i64.rem_u $12=, $12, $14 i64.const $push68=, 0 i64.eq $push30=, $12, $pop68 - br_if 1, $pop30 # 1: down to label35 + br_if 1, $pop30 # 1: down to label36 # BB#28: # %if.end5.i # in Loop: Header=BB2_27 Depth=2 i64.rem_u $14=, $14, $12 i64.const $push69=, 0 i64.ne $push31=, $14, $pop69 - br_if 0, $pop31 # 0: up to label34 - br 2 # 2: down to label33 + br_if 0, $pop31 # 0: up to label35 + br 2 # 2: down to label34 .LBB2_29: # in Loop: Header=BB2_1 Depth=1 - end_loop # label35: + end_loop # label36: copy_local $12=, $14 .LBB2_30: # %gcd_ll.exit # in Loop: Header=BB2_1 Depth=1 - end_block # label33: + end_block # label34: i32.add $8=, $7, $8 i32.wrap/i64 $push72=, $12 tee_local $push71=, $2=, $pop72 i32.const $push70=, 1 i32.eq $push32=, $pop71, $pop70 - br_if 0, $pop32 # 0: down to label32 + br_if 0, $pop32 # 0: down to label33 # BB#31: # %if.then26 # in Loop: Header=BB2_1 Depth=1 i32.store $discard=, 0($5), $2 @@ -381,20 +384,20 @@ facts: # @facts i64.div_u $0=, $0, $pop33 i64.const $push73=, 1 i64.eq $push34=, $0, $pop73 - br_if 2, $pop34 # 2: down to label11 + br_if 2, $pop34 # 2: down to label12 # BB#32: # in Loop: Header=BB2_1 Depth=1 i32.const $push75=, 4 i32.add $5=, $5, $pop75 .LBB2_33: # %for.inc # in Loop: Header=BB2_1 Depth=1 - end_block # label32: + end_block # label33: i32.const $push77=, 1 i32.add $9=, $9, $pop77 i32.const $push76=, 10000 i32.lt_s $push35=, $9, $pop76 - br_if 0, $pop35 # 0: up to label10 + br_if 0, $pop35 # 0: up to label11 .LBB2_34: # %cleanup - end_loop # label11: + end_loop # label12: return .endfunc .Lfunc_end2: @@ -420,25 +423,25 @@ main: # @main i32.wrap/i64 $push6=, $pop15 i32.const $push7=, 7 i32.ne $push8=, $pop6, $pop7 - br_if 0, $pop8 # 0: down to label36 + br_if 0, $pop8 # 0: down to label37 # BB#1: # %entry i64.const $push9=, -4294967296 i64.and $push0=, $0, $pop9 i64.const $push10=, 313532612608 i64.ne $push11=, $pop0, $pop10 - br_if 0, $pop11 # 0: down to label36 + br_if 0, $pop11 # 0: down to label37 # BB#2: # %entry i32.const $push18=, 0 i32.load $push1=, factab+8($pop18):p2align=3 i32.const $push12=, 262657 i32.ne $push13=, $pop1, $pop12 - br_if 0, $pop13 # 0: down to label36 + br_if 0, $pop13 # 0: down to label37 # BB#3: # %if.end i32.const $push14=, 0 call exit@FUNCTION, $pop14 unreachable .LBB3_4: # %if.then - end_block # label36: + end_block # label37: call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/920501-6.c.s b/test/torture-s/920501-6.c.s index 3a3fca4c7..2771f9034 100644 --- a/test/torture-s/920501-6.c.s +++ b/test/torture-s/920501-6.c.s @@ -221,16 +221,16 @@ plist: # @plist main: # @main .param i32, i32 .result i32 - .local i32, i64, i64, i64, i32, i32, i32, i32, i32 + .local i32, i64, i64, i64, i32, i32, i32 # BB#0: # %for.cond.i.preheader.i.preheader - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 80 - i32.sub $10=, $8, $9 - i32.const $9=, __stack_pointer - i32.store $10=, 0($9), $10 + i32.const $push49=, __stack_pointer + i32.load $push50=, 0($pop49) + i32.const $push51=, 80 + i32.sub $8=, $pop50, $pop51 + i32.const $push52=, __stack_pointer + i32.store $discard=, 0($pop52), $8 i64.const $3=, 1234111111 - copy_local $2=, $10 + copy_local $2=, $8 .LBB3_1: # %for.cond.i.preheader.i # =>This Loop Header: Depth=1 # Child Loop BB3_2 Depth 2 @@ -243,38 +243,38 @@ main: # @main # Parent Loop BB3_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label20: - i64.const $push32=, 1 - i64.add $4=, $4, $pop32 - i64.const $push31=, 1 - i64.shr_u $5=, $5, $pop31 - i64.const $push30=, 0 - i64.ne $push0=, $5, $pop30 + i64.const $push30=, 1 + i64.add $4=, $4, $pop30 + i64.const $push29=, 1 + i64.shr_u $5=, $5, $pop29 + i64.const $push28=, 0 + i64.ne $push0=, $5, $pop28 br_if 0, $pop0 # 0: up to label20 # BB#3: # %for.end.i.i # in Loop: Header=BB3_1 Depth=1 end_loop # label21: - i64.const $push39=, 63 - i64.shl $push2=, $4, $pop39 - i64.const $push38=, 63 - i64.shr_s $push3=, $pop2, $pop38 - i64.const $push37=, 1 - i64.const $push36=, 1 - i64.shr_u $push1=, $4, $pop36 - i64.shl $push35=, $pop37, $pop1 - tee_local $push34=, $5=, $pop35 - i64.const $push33=, 1 - i64.shr_u $push4=, $pop34, $pop33 + i64.const $push37=, 63 + i64.shl $push2=, $4, $pop37 + i64.const $push36=, 63 + i64.shr_s $push3=, $pop2, $pop36 + i64.const $push35=, 1 + i64.const $push34=, 1 + i64.shr_u $push1=, $4, $pop34 + i64.shl $push33=, $pop35, $pop1 + tee_local $push32=, $5=, $pop33 + i64.const $push31=, 1 + i64.shr_u $push4=, $pop32, $pop31 i64.and $push5=, $pop3, $pop4 i64.add $5=, $pop5, $5 .LBB3_4: # %do.body.i.i # Parent Loop BB3_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label22: - i64.div_u $push42=, $3, $5 - tee_local $push41=, $4=, $pop42 - i64.add $push6=, $pop41, $5 - i64.const $push40=, 1 - i64.shr_u $5=, $pop6, $pop40 + i64.div_u $push40=, $3, $5 + tee_local $push39=, $4=, $pop40 + i64.add $push6=, $pop39, $5 + i64.const $push38=, 1 + i64.shr_u $5=, $pop6, $pop38 i64.lt_u $push7=, $4, $5 br_if 0, $pop7 # 0: up to label22 # BB#5: # %sqrtllu.exit.i @@ -283,10 +283,10 @@ main: # @main i32.const $6=, 3 block block - i32.wrap/i64 $push45=, $5 - tee_local $push44=, $7=, $pop45 - i32.const $push43=, 3 - i32.lt_u $push8=, $pop44, $pop43 + i32.wrap/i64 $push43=, $5 + tee_local $push42=, $7=, $pop43 + i32.const $push41=, 3 + i32.lt_u $push8=, $pop42, $pop41 br_if 0, $pop8 # 0: down to label25 .LBB3_6: # %for.body3.i # Parent Loop BB3_1 Depth=1 @@ -294,60 +294,58 @@ main: # @main loop # label26: i64.extend_u/i32 $push9=, $6 i64.rem_u $push10=, $3, $pop9 - i64.const $push47=, 0 - i64.eq $push11=, $pop10, $pop47 + i64.const $push45=, 0 + i64.eq $push11=, $pop10, $pop45 br_if 3, $pop11 # 3: down to label24 # BB#7: # %for.cond1.i # in Loop: Header=BB3_6 Depth=2 - i32.const $push46=, 2 - i32.add $6=, $6, $pop46 + i32.const $push44=, 2 + i32.add $6=, $6, $pop44 i32.le_u $push12=, $6, $7 br_if 0, $pop12 # 0: up to label26 .LBB3_8: # %for.end.i # in Loop: Header=BB3_1 Depth=1 end_loop # label27: end_block # label25: - i32.const $push48=, 8 - i32.add $6=, $2, $pop48 + i32.const $push46=, 8 + i32.add $6=, $2, $pop46 i64.store $discard=, 0($2), $3 copy_local $2=, $6 .LBB3_9: # %for.inc6.i # in Loop: Header=BB3_1 Depth=1 end_block # label24: - i64.const $push50=, 2 - i64.add $3=, $3, $pop50 - i64.const $push49=, 1234111128 - i64.lt_u $push13=, $3, $pop49 + i64.const $push48=, 2 + i64.add $3=, $3, $pop48 + i64.const $push47=, 1234111128 + i64.lt_u $push13=, $3, $pop47 br_if 0, $pop13 # 0: up to label18 # BB#10: # %plist.exit end_loop # label19: i64.const $push14=, 0 i64.store $discard=, 0($2), $pop14 block - i64.load $push15=, 0($10):p2align=4 + i64.load $push15=, 0($8):p2align=4 i64.const $push16=, 1234111117 i64.ne $push17=, $pop15, $pop16 br_if 0, $pop17 # 0: down to label28 # BB#11: # %lor.lhs.false - i32.const $push18=, 8 - i32.or $push19=, $10, $pop18 - i64.load $push20=, 0($pop19) - i64.const $push21=, 1234111121 - i64.ne $push22=, $pop20, $pop21 - br_if 0, $pop22 # 0: down to label28 + i64.load $push18=, 8($8) + i64.const $push19=, 1234111121 + i64.ne $push20=, $pop18, $pop19 + br_if 0, $pop20 # 0: down to label28 # BB#12: # %lor.lhs.false5 - i64.load $push23=, 16($10):p2align=4 - i64.const $push24=, 1234111127 - i64.ne $push25=, $pop23, $pop24 - br_if 0, $pop25 # 0: down to label28 + i64.load $push21=, 16($8):p2align=4 + i64.const $push22=, 1234111127 + i64.ne $push23=, $pop21, $pop22 + br_if 0, $pop23 # 0: down to label28 # BB#13: # %lor.lhs.false8 - i64.load $push26=, 24($10) - i64.const $push27=, 0 - i64.ne $push28=, $pop26, $pop27 - br_if 0, $pop28 # 0: down to label28 + i64.load $push24=, 24($8) + i64.const $push25=, 0 + i64.ne $push26=, $pop24, $pop25 + br_if 0, $pop26 # 0: down to label28 # BB#14: # %if.end - i32.const $push29=, 0 - call exit@FUNCTION, $pop29 + i32.const $push27=, 0 + call exit@FUNCTION, $pop27 unreachable .LBB3_15: # %if.then end_block # label28: diff --git a/test/torture-s/920501-8.c.s b/test/torture-s/920501-8.c.s index dbb1d128b..429e50abf 100644 --- a/test/torture-s/920501-8.c.s +++ b/test/torture-s/920501-8.c.s @@ -7,185 +7,119 @@ va: # @va .param i32, f64, i32, i32 .result i32 - .local 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 # BB#0: # %entry - 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 $push124=, $pop2, $pop3 - tee_local $push123=, $3=, $pop124 - i32.const $push4=, 4 - i32.add $push5=, $pop123, $pop4 - i32.store $discard=, 76($19), $pop5 + i32.const $push59=, __stack_pointer + i32.load $push60=, 0($pop59) + i32.const $push61=, 80 + i32.sub $16=, $pop60, $pop61 + i32.const $push62=, __stack_pointer + i32.store $discard=, 0($pop62), $16 + i32.store $push58=, 76($16), $3 + tee_local $push57=, $3=, $pop58 + i32.const $push0=, 4 + i32.add $push1=, $pop57, $pop0 + i32.store $discard=, 76($16), $pop1 i32.load $4=, 0($3) - i32.const $push6=, 7 + i32.const $push2=, 8 + i32.add $push3=, $3, $pop2 + i32.store $discard=, 76($16), $pop3 + i32.load $5=, 4($3) + i32.const $push4=, 12 + i32.add $push5=, $3, $pop4 + i32.store $discard=, 76($16), $pop5 + i32.load $6=, 8($3) + i32.const $push6=, 16 i32.add $push7=, $3, $pop6 - i32.const $push122=, -4 - i32.and $push121=, $pop7, $pop122 - tee_local $push120=, $3=, $pop121 - i32.const $push119=, 4 - i32.add $push8=, $pop120, $pop119 - i32.store $discard=, 76($19), $pop8 - i32.load $5=, 0($3) - i32.const $push118=, 7 - i32.add $push9=, $3, $pop118 - i32.const $push117=, -4 - i32.and $push116=, $pop9, $pop117 - tee_local $push115=, $3=, $pop116 - i32.const $push114=, 4 - i32.add $push10=, $pop115, $pop114 - i32.store $discard=, 76($19), $pop10 - i32.load $6=, 0($3) - i32.const $push113=, 7 - i32.add $push11=, $3, $pop113 - i32.const $push112=, -4 - i32.and $push111=, $pop11, $pop112 - tee_local $push110=, $3=, $pop111 - i32.const $push109=, 4 - i32.add $push12=, $pop110, $pop109 - i32.store $discard=, 76($19), $pop12 - i32.load $7=, 0($3) - i32.const $push108=, 7 - i32.add $push13=, $3, $pop108 - i32.const $push107=, -4 - i32.and $push106=, $pop13, $pop107 - tee_local $push105=, $3=, $pop106 - i32.const $push104=, 4 - i32.add $push14=, $pop105, $pop104 - i32.store $discard=, 76($19), $pop14 - i32.load $8=, 0($3) - i32.const $push103=, 7 - i32.add $push15=, $3, $pop103 - i32.const $push102=, -4 - i32.and $push101=, $pop15, $pop102 - tee_local $push100=, $3=, $pop101 - i32.const $push99=, 4 - i32.add $push16=, $pop100, $pop99 - i32.store $discard=, 76($19), $pop16 - i32.load $9=, 0($3) - i32.const $push98=, 7 - i32.add $push17=, $3, $pop98 - i32.const $push97=, -4 - i32.and $push96=, $pop17, $pop97 - tee_local $push95=, $3=, $pop96 - i32.const $push94=, 4 - i32.add $push18=, $pop95, $pop94 - i32.store $discard=, 76($19), $pop18 - i32.load $10=, 0($3) - i32.const $push93=, 7 - i32.add $push19=, $3, $pop93 - i32.const $push92=, -4 - i32.and $push91=, $pop19, $pop92 - tee_local $push90=, $3=, $pop91 - i32.const $push89=, 4 - i32.add $push20=, $pop90, $pop89 - i32.store $discard=, 76($19), $pop20 - i32.load $11=, 0($3) - i32.const $push88=, 7 - i32.add $push21=, $3, $pop88 - i32.const $push87=, -4 - i32.and $push86=, $pop21, $pop87 - tee_local $push85=, $3=, $pop86 - i32.const $push84=, 4 - i32.add $push22=, $pop85, $pop84 - i32.store $discard=, 76($19), $pop22 - i32.load $12=, 0($3) - i32.const $push83=, 7 - i32.add $push23=, $3, $pop83 - i32.const $push82=, -4 - i32.and $push81=, $pop23, $pop82 - tee_local $push80=, $3=, $pop81 - i32.const $push79=, 4 - i32.add $push24=, $pop80, $pop79 - i32.store $discard=, 76($19), $pop24 - i32.load $13=, 0($3) - i32.const $push78=, 7 - i32.add $push25=, $3, $pop78 - i32.const $push77=, -4 - i32.and $push76=, $pop25, $pop77 - tee_local $push75=, $3=, $pop76 - i32.const $push74=, 4 - i32.add $push26=, $pop75, $pop74 - i32.store $discard=, 76($19), $pop26 - i32.load $14=, 0($3) - i32.const $push73=, 7 - i32.add $push27=, $3, $pop73 - i32.const $push72=, -4 - i32.and $push71=, $pop27, $pop72 - tee_local $push70=, $3=, $pop71 - i32.const $push69=, 4 - i32.add $push28=, $pop70, $pop69 - i32.store $discard=, 76($19), $pop28 - i32.load $15=, 0($3) - i32.const $push68=, 7 - i32.add $push29=, $3, $pop68 - i32.const $push67=, -4 - i32.and $push66=, $pop29, $pop67 - tee_local $push65=, $3=, $pop66 - i32.const $push64=, 4 - i32.add $push30=, $pop65, $pop64 - i32.store $discard=, 76($19), $pop30 - i32.const $push32=, 68 - i32.add $push33=, $19, $pop32 - i32.load $push31=, 0($3) - i32.store $discard=, 0($pop33), $pop31 - i32.const $push34=, 64 - i32.add $push35=, $19, $pop34 - i32.store $discard=, 0($pop35):p2align=4, $15 - i32.const $push36=, 60 - i32.add $push37=, $19, $pop36 - i32.store $discard=, 0($pop37), $14 - i32.const $push38=, 56 - i32.add $push39=, $19, $pop38 - i32.store $discard=, 0($pop39):p2align=3, $13 - i32.const $push40=, 52 - i32.add $push41=, $19, $pop40 - i32.store $discard=, 0($pop41), $12 - i32.const $push42=, 48 - i32.add $push43=, $19, $pop42 - i32.store $discard=, 0($pop43):p2align=4, $11 - i32.const $push44=, 44 - i32.add $push45=, $19, $pop44 - i32.store $discard=, 0($pop45), $10 - i32.const $push46=, 40 - i32.add $push47=, $19, $pop46 - i32.store $discard=, 0($pop47):p2align=3, $9 - i32.const $push48=, 36 - i32.add $push49=, $19, $pop48 - i32.store $discard=, 0($pop49), $8 - i32.const $push50=, 32 - i32.add $push51=, $19, $pop50 - i32.store $discard=, 0($pop51):p2align=4, $7 - i32.const $push52=, 28 - i32.add $push53=, $19, $pop52 - i32.store $discard=, 0($pop53), $6 - i32.const $push54=, 24 - i32.add $push55=, $19, $pop54 - i32.store $discard=, 0($pop55):p2align=3, $5 - i32.const $push56=, 20 - i32.add $push57=, $19, $pop56 - i32.store $discard=, 0($pop57), $4 - i32.const $push58=, 16 - i32.add $push59=, $19, $pop58 - i32.store $discard=, 0($pop59):p2align=4, $2 - i32.const $push60=, 8 - i32.or $push61=, $19, $pop60 - f64.store $discard=, 0($pop61), $1 - i32.store $discard=, 0($19):p2align=4, $0 - i32.const $push63=, buf - i32.const $push62=, .L.str - i32.call $discard=, sprintf@FUNCTION, $pop63, $pop62, $19 - i32.const $18=, 80 - i32.add $19=, $19, $18 - i32.const $18=, __stack_pointer - i32.store $19=, 0($18), $19 + i32.store $discard=, 76($16), $pop7 + i32.load $7=, 12($3) + i32.const $push8=, 20 + i32.add $push9=, $3, $pop8 + i32.store $discard=, 76($16), $pop9 + i32.load $8=, 16($3) + i32.const $push10=, 24 + i32.add $push11=, $3, $pop10 + i32.store $discard=, 76($16), $pop11 + i32.load $9=, 20($3) + i32.const $push12=, 28 + i32.add $push13=, $3, $pop12 + i32.store $discard=, 76($16), $pop13 + i32.load $10=, 24($3) + i32.const $push14=, 32 + i32.add $push15=, $3, $pop14 + i32.store $discard=, 76($16), $pop15 + i32.load $11=, 28($3) + i32.const $push16=, 36 + i32.add $push17=, $3, $pop16 + i32.store $discard=, 76($16), $pop17 + i32.load $12=, 32($3) + i32.const $push18=, 40 + i32.add $push19=, $3, $pop18 + i32.store $discard=, 76($16), $pop19 + i32.load $13=, 36($3) + i32.const $push20=, 44 + i32.add $push21=, $3, $pop20 + i32.store $discard=, 76($16), $pop21 + i32.load $14=, 40($3) + i32.const $push22=, 48 + i32.add $push23=, $3, $pop22 + i32.store $discard=, 76($16), $pop23 + i32.load $15=, 44($3) + i32.const $push24=, 52 + i32.add $push25=, $3, $pop24 + i32.store $discard=, 76($16), $pop25 + i32.const $push27=, 68 + i32.add $push28=, $16, $pop27 + i32.load $push26=, 48($3) + i32.store $discard=, 0($pop28), $pop26 + i32.const $push29=, 64 + i32.add $push30=, $16, $pop29 + i32.store $discard=, 0($pop30):p2align=4, $15 + i32.const $push31=, 60 + i32.add $push32=, $16, $pop31 + i32.store $discard=, 0($pop32), $14 + i32.const $push33=, 56 + i32.add $push34=, $16, $pop33 + i32.store $discard=, 0($pop34):p2align=3, $13 + i32.const $push56=, 52 + i32.add $push35=, $16, $pop56 + i32.store $discard=, 0($pop35), $12 + i32.const $push55=, 48 + i32.add $push36=, $16, $pop55 + i32.store $discard=, 0($pop36):p2align=4, $11 + i32.const $push54=, 44 + i32.add $push37=, $16, $pop54 + i32.store $discard=, 0($pop37), $10 + i32.const $push53=, 40 + i32.add $push38=, $16, $pop53 + i32.store $discard=, 0($pop38):p2align=3, $9 + i32.const $push52=, 36 + i32.add $push39=, $16, $pop52 + i32.store $discard=, 0($pop39), $8 + i32.const $push51=, 32 + i32.add $push40=, $16, $pop51 + i32.store $discard=, 0($pop40):p2align=4, $7 + i32.const $push50=, 28 + i32.add $push41=, $16, $pop50 + i32.store $discard=, 0($pop41), $6 + i32.const $push49=, 24 + i32.add $push42=, $16, $pop49 + i32.store $discard=, 0($pop42):p2align=3, $5 + i32.const $push48=, 20 + i32.add $push43=, $16, $pop48 + i32.store $discard=, 0($pop43), $4 + i32.const $push47=, 16 + i32.add $push44=, $16, $pop47 + i32.store $discard=, 0($pop44):p2align=4, $2 + f64.store $discard=, 8($16), $1 + i32.store $discard=, 0($16):p2align=4, $0 + i32.const $push46=, buf + i32.const $push45=, .L.str + i32.call $discard=, sprintf@FUNCTION, $pop46, $pop45, $16 + i32.const $push63=, 80 + i32.add $16=, $16, $pop63 + i32.const $push64=, __stack_pointer + i32.store $discard=, 0($pop64), $16 return $3 .endfunc .Lfunc_end0: @@ -197,52 +131,50 @@ va: # @va .type main,@function main: # @main .result i32 - .local i32, i32, i32 + .local i32 # BB#0: # %entry - 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.store $2=, 0($1), $2 + i32.const $push24=, __stack_pointer + i32.load $push25=, 0($pop24) + i32.const $push26=, 64 + i32.sub $0=, $pop25, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $0 i32.const $push0=, 48 - i32.add $push1=, $2, $pop0 + i32.add $push1=, $0, $pop0 i32.const $push2=, 15 i32.store $discard=, 0($pop1):p2align=4, $pop2 i32.const $push3=, 40 - i32.add $push4=, $2, $pop3 + i32.add $push4=, $0, $pop3 i64.const $push5=, 60129542157 i64.store $discard=, 0($pop4), $pop5 i32.const $push6=, 32 - i32.add $push7=, $2, $pop6 + i32.add $push7=, $0, $pop6 i64.const $push8=, 51539607563 i64.store $discard=, 0($pop7):p2align=4, $pop8 i32.const $push9=, 24 - i32.add $push10=, $2, $pop9 + i32.add $push10=, $0, $pop9 i64.const $push11=, 42949672969 i64.store $discard=, 0($pop10), $pop11 i32.const $push12=, 16 - i32.add $push13=, $2, $pop12 + i32.add $push13=, $0, $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 + i64.const $push15=, 25769803781 + i64.store $discard=, 8($0), $pop15 + i64.const $push16=, 17179869187 + i64.store $discard=, 0($0):p2align=4, $pop16 + i32.const $push19=, 1 + f64.const $push18=, 0x1p0 + i32.const $push17=, 2 + i32.call $discard=, va@FUNCTION, $pop19, $pop18, $pop17, $0 block - 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 + i32.const $push21=, .L.str.1 + i32.const $push20=, buf + i32.call $push22=, strcmp@FUNCTION, $pop21, $pop20 + br_if 0, $pop22 # 0: down to label0 # BB#1: # %if.end - i32.const $push25=, 0 - call exit@FUNCTION, $pop25 + i32.const $push23=, 0 + call exit@FUNCTION, $pop23 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 92bb91188..5a62067e6 100644 --- a/test/torture-s/920501-9.c.s +++ b/test/torture-s/920501-9.c.s @@ -72,47 +72,43 @@ proc5: # @proc5 print_longlong: # @print_longlong .param i64, i32 .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - 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.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 32 + i32.sub $5=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $5 i32.wrap/i64 $2=, $0 block block i64.const $push0=, 32 i64.shr_u $push1=, $0, $pop0 - i32.wrap/i64 $push7=, $pop1 - tee_local $push6=, $3=, $pop7 - i32.const $push8=, 0 - i32.eq $push9=, $pop6, $pop8 - br_if 0, $pop9 # 0: down to label1 + i32.wrap/i64 $push5=, $pop1 + tee_local $push4=, $3=, $pop5 + i32.const $push12=, 0 + i32.eq $push13=, $pop4, $pop12 + br_if 0, $pop13 # 0: down to label1 # BB#1: # %if.then - i32.const $push2=, 4 - i32.const $7=, 16 - i32.add $7=, $9, $7 - i32.or $push3=, $7, $pop2 - i32.store $discard=, 0($pop3), $2 - i32.store $discard=, 16($9):p2align=4, $3 - i32.const $push4=, .L.str - i32.const $8=, 16 - i32.add $8=, $9, $8 - i32.call $discard=, sprintf@FUNCTION, $1, $pop4, $8 + i32.store $discard=, 20($5), $2 + i32.store $discard=, 16($5):p2align=4, $3 + i32.const $push2=, .L.str + i32.const $4=, 16 + i32.add $4=, $5, $4 + i32.call $discard=, sprintf@FUNCTION, $1, $pop2, $4 br 1 # 1: down to label0 .LBB5_2: # %if.else end_block # label1: - i32.store $discard=, 0($9):p2align=4, $2 - i32.const $push5=, .L.str.1 - i32.call $discard=, sprintf@FUNCTION, $1, $pop5, $9 + i32.store $discard=, 0($5):p2align=4, $2 + i32.const $push3=, .L.str.1 + i32.call $discard=, sprintf@FUNCTION, $1, $pop3, $5 .LBB5_3: # %if.end end_block # label0: - i32.const $6=, 32 - i32.add $9=, $9, $6 - i32.const $6=, __stack_pointer - i32.store $9=, 0($6), $9 + i32.const $push10=, 32 + i32.add $5=, $5, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $5 return $1 .endfunc .Lfunc_end5: @@ -124,81 +120,81 @@ 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 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - 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.store $16=, 0($1), $16 + i32.const $push21=, __stack_pointer + i32.load $push22=, 0($pop21) + i32.const $push23=, 192 + i32.sub $14=, $pop22, $pop23 + i32.const $push24=, __stack_pointer + i32.store $discard=, 0($pop24), $14 i32.const $push0=, 1 - i32.store $discard=, 64($16):p2align=4, $pop0 + i32.store $discard=, 64($14):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 $0=, 80 + i32.add $0=, $14, $0 + i32.const $1=, 64 + i32.add $1=, $14, $1 + i32.call $discard=, sprintf@FUNCTION, $0, $pop17, $1 i32.const $push1=, .L.str.2 - i32.const $4=, 80 - i32.add $4=, $16, $4 + i32.const $2=, 80 + i32.add $2=, $14, $2 block - i32.call $push2=, strcmp@FUNCTION, $pop1, $4 + i32.call $push2=, strcmp@FUNCTION, $pop1, $2 br_if 0, $pop2 # 0: down to label2 # BB#1: # %if.end i32.const $push3=, 305419896 - i32.store $discard=, 48($16):p2align=4, $pop3 + i32.store $discard=, 48($14):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 $3=, 80 + i32.add $3=, $14, $3 + i32.const $4=, 48 + i32.add $4=, $14, $4 + i32.call $discard=, sprintf@FUNCTION, $3, $pop18, $4 i32.const $push4=, .L.str.3 - i32.const $7=, 80 - i32.add $7=, $16, $7 - i32.call $push5=, strcmp@FUNCTION, $pop4, $7 + i32.const $5=, 80 + i32.add $5=, $14, $5 + i32.call $push5=, strcmp@FUNCTION, $pop4, $5 br_if 0, $pop5 # 0: down to label2 # BB#2: # %if.end11 i64.const $push6=, 1311768467732155613 - i64.store $discard=, 32($16):p2align=4, $pop6 + i64.store $discard=, 32($14):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 $6=, 80 + i32.add $6=, $14, $6 + i32.const $7=, 32 + i32.add $7=, $14, $7 + i32.call $discard=, sprintf@FUNCTION, $6, $pop19, $7 i32.const $push7=, .L.str.4 - i32.const $10=, 80 - i32.add $10=, $16, $10 - i32.call $push8=, strcmp@FUNCTION, $pop7, $10 + i32.const $8=, 80 + i32.add $8=, $14, $8 + i32.call $push8=, strcmp@FUNCTION, $pop7, $8 br_if 0, $pop8 # 0: down to label2 # BB#3: # %if.end19 i64.const $push9=, -1 - i64.store $discard=, 16($16):p2align=4, $pop9 + i64.store $discard=, 16($14):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 $9=, 80 + i32.add $9=, $14, $9 + i32.const $10=, 16 + i32.add $10=, $14, $10 + i32.call $discard=, sprintf@FUNCTION, $9, $pop20, $10 i32.const $push10=, .L.str.5 - i32.const $13=, 80 - i32.add $13=, $16, $13 - i32.call $push11=, strcmp@FUNCTION, $pop10, $13 + i32.const $11=, 80 + i32.add $11=, $14, $11 + i32.call $push11=, strcmp@FUNCTION, $pop10, $11 br_if 0, $pop11 # 0: down to label2 # BB#4: # %if.end27 i32.const $push12=, -1430532899 - i32.store $discard=, 0($16):p2align=4, $pop12 + i32.store $discard=, 0($14):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 $12=, 80 + i32.add $12=, $14, $12 + i32.call $discard=, sprintf@FUNCTION, $12, $pop13, $14 i32.const $push14=, .L.str.6 - i32.const $15=, 80 - i32.add $15=, $16, $15 - i32.call $push15=, strcmp@FUNCTION, $pop14, $15 + i32.const $13=, 80 + i32.add $13=, $14, $13 + i32.call $push15=, strcmp@FUNCTION, $pop14, $13 br_if 0, $pop15 # 0: down to label2 # BB#5: # %if.end35 i32.const $push16=, 0 diff --git a/test/torture-s/920625-1.c.s b/test/torture-s/920625-1.c.s new file mode 100644 index 000000000..c279e2abd --- /dev/null +++ b/test/torture-s/920625-1.c.s @@ -0,0 +1,341 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/920625-1.c" + .section .text.main,"ax",@progbits + .hidden main + .globl main + .type main,@function +main: # @main + .result i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push33=, __stack_pointer + i32.load $push34=, 0($pop33) + i32.const $push35=, 128 + i32.sub $14=, $pop34, $pop35 + i32.const $push36=, __stack_pointer + i32.store $discard=, 0($pop36), $14 + i32.const $push2=, 8 + i32.const $1=, 112 + i32.add $1=, $14, $1 + i32.add $push3=, $1, $pop2 + i32.const $push0=, 0 + i64.load $push1=, pts+8($pop0) + i64.store $discard=, 0($pop3), $pop1 + i32.const $push32=, 0 + i64.load $push4=, pts($pop32):p2align=4 + i64.store $discard=, 112($14), $pop4 + i32.const $push31=, 8 + i32.const $2=, 96 + i32.add $2=, $14, $2 + i32.add $push5=, $2, $pop31 + i32.const $push30=, 0 + i64.load $push6=, pts+24($pop30) + i64.store $discard=, 0($pop5), $pop6 + i32.const $push29=, 0 + i64.load $push7=, pts+16($pop29):p2align=4 + i64.store $discard=, 96($14), $pop7 + i32.const $push28=, 8 + i32.const $3=, 80 + i32.add $3=, $14, $3 + i32.add $push8=, $3, $pop28 + i32.const $push27=, 0 + i64.load $push9=, pts+40($pop27) + i64.store $discard=, 0($pop8), $pop9 + i32.const $push26=, 0 + i64.load $push10=, pts+32($pop26):p2align=4 + i64.store $discard=, 80($14), $pop10 + i32.const $push25=, 8 + i32.const $4=, 64 + i32.add $4=, $14, $4 + i32.add $push11=, $4, $pop25 + i32.const $push24=, 0 + i64.load $push12=, pts+56($pop24) + i64.store $discard=, 0($pop11), $pop12 + i32.const $push23=, 0 + i64.load $push13=, pts+48($pop23):p2align=4 + i64.store $discard=, 64($14), $pop13 + i32.const $5=, 64 + i32.add $5=, $14, $5 + i32.store $discard=, 60($14), $5 + i32.const $6=, 80 + i32.add $6=, $14, $6 + i32.store $discard=, 56($14):p2align=3, $6 + i32.const $7=, 96 + i32.add $7=, $14, $7 + i32.store $discard=, 52($14), $7 + i32.const $8=, 112 + i32.add $8=, $14, $8 + i32.store $discard=, 48($14):p2align=4, $8 + i32.const $9=, 48 + i32.add $9=, $14, $9 + call va1@FUNCTION, $0, $9 + i32.const $push22=, 0 + i64.load $push14=, ipts($pop22):p2align=4 + i64.store $discard=, 40($14):p2align=2, $pop14 + i32.const $push21=, 0 + i64.load $push15=, ipts+8($pop21) + i64.store $discard=, 32($14):p2align=2, $pop15 + i32.const $push20=, 0 + i64.load $push16=, ipts+16($pop20):p2align=4 + i64.store $discard=, 24($14):p2align=2, $pop16 + i32.const $push19=, 0 + i64.load $push17=, ipts+24($pop19) + i64.store $discard=, 16($14):p2align=2, $pop17 + i32.const $10=, 16 + i32.add $10=, $14, $10 + i32.store $discard=, 12($14), $10 + i32.const $11=, 24 + i32.add $11=, $14, $11 + i32.store $discard=, 8($14):p2align=3, $11 + i32.const $12=, 32 + i32.add $12=, $14, $12 + i32.store $discard=, 4($14), $12 + i32.const $13=, 40 + i32.add $13=, $14, $13 + i32.store $discard=, 0($14):p2align=4, $13 + call va2@FUNCTION, $0, $14 + i32.const $push18=, 0 + call exit@FUNCTION, $pop18 + unreachable + .endfunc +.Lfunc_end0: + .size main, .Lfunc_end0-main + + .section .text.va1,"ax",@progbits + .type va1,@function +va1: # @va1 + .param i32, i32 + .local f64, f64, i32 +# BB#0: # %entry + i32.const $push44=, __stack_pointer + i32.load $push45=, 0($pop44) + i32.const $push46=, 16 + i32.sub $4=, $pop45, $pop46 + i32.const $push47=, __stack_pointer + i32.store $discard=, 0($pop47), $4 + i32.store $push0=, 12($4), $1 + i32.const $push1=, 7 + i32.add $push2=, $pop0, $pop1 + i32.const $push3=, -8 + i32.and $push36=, $pop2, $pop3 + tee_local $push35=, $1=, $pop36 + f64.load $2=, 0($pop35) + i32.const $push34=, 0 + f64.load $3=, pts($pop34):p2align=4 + i32.const $push4=, 16 + i32.add $push5=, $1, $pop4 + i32.store $discard=, 12($4), $pop5 + block + f64.ne $push6=, $3, $2 + br_if 0, $pop6 # 0: down to label0 +# BB#1: # %lor.lhs.false + i32.const $push38=, 0 + f64.load $push8=, pts+8($pop38) + f64.load $push7=, 8($1) + f64.ne $push9=, $pop8, $pop7 + br_if 0, $pop9 # 0: down to label0 +# BB#2: # %for.cond + i32.const $push12=, 16 + i32.add $push13=, $1, $pop12 + f64.load $2=, 0($pop13) + i32.const $push37=, 0 + f64.load $3=, pts+16($pop37):p2align=4 + i32.const $push10=, 32 + i32.add $push11=, $1, $pop10 + i32.store $discard=, 12($4), $pop11 + f64.ne $push14=, $3, $2 + br_if 0, $pop14 # 0: down to label0 +# BB#3: # %lor.lhs.false.1 + i32.const $push39=, 0 + f64.load $push16=, pts+24($pop39) + f64.load $push15=, 24($1) + f64.ne $push17=, $pop16, $pop15 + br_if 0, $pop17 # 0: down to label0 +# BB#4: # %for.cond.1 + i32.const $push20=, 32 + i32.add $push21=, $1, $pop20 + f64.load $2=, 0($pop21) + i32.const $push40=, 0 + f64.load $3=, pts+32($pop40):p2align=4 + i32.const $push18=, 48 + i32.add $push19=, $1, $pop18 + i32.store $discard=, 12($4), $pop19 + f64.ne $push22=, $3, $2 + br_if 0, $pop22 # 0: down to label0 +# BB#5: # %lor.lhs.false.2 + i32.const $push41=, 0 + f64.load $push24=, pts+40($pop41) + f64.load $push23=, 40($1) + f64.ne $push25=, $pop24, $pop23 + br_if 0, $pop25 # 0: down to label0 +# BB#6: # %for.cond.2 + i32.const $push28=, 48 + i32.add $push29=, $1, $pop28 + f64.load $2=, 0($pop29) + i32.const $push42=, 0 + f64.load $3=, pts+48($pop42):p2align=4 + i32.const $push26=, 64 + i32.add $push27=, $1, $pop26 + i32.store $discard=, 12($4), $pop27 + f64.ne $push30=, $3, $2 + br_if 0, $pop30 # 0: down to label0 +# BB#7: # %lor.lhs.false.3 + i32.const $push43=, 0 + f64.load $push32=, pts+56($pop43) + f64.load $push31=, 56($1) + f64.ne $push33=, $pop32, $pop31 + br_if 0, $pop33 # 0: down to label0 +# BB#8: # %for.cond.3 + i32.const $push48=, 16 + i32.add $4=, $4, $pop48 + i32.const $push49=, __stack_pointer + i32.store $discard=, 0($pop49), $4 + return +.LBB1_9: # %if.then + end_block # label0: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end1: + .size va1, .Lfunc_end1-va1 + + .section .text.va2,"ax",@progbits + .type va2,@function +va2: # @va2 + .param i32, i32 + .local i64, i32 +# BB#0: # %entry + i32.const $push60=, __stack_pointer + i32.load $push61=, 0($pop60) + i32.const $push62=, 16 + i32.sub $3=, $pop61, $pop62 + i32.const $push63=, __stack_pointer + i32.store $discard=, 0($pop63), $3 + i32.store $push53=, 12($3), $1 + tee_local $push52=, $1=, $pop53 + i32.const $push0=, 8 + i32.add $push1=, $pop52, $pop0 + i32.store $discard=, 12($3), $pop1 + block + i32.const $push3=, 0 + i64.load $push51=, ipts($pop3):p2align=4 + tee_local $push50=, $2=, $pop51 + i32.wrap/i64 $push4=, $pop50 + i32.load $push2=, 0($1) + i32.ne $push5=, $pop4, $pop2 + br_if 0, $pop5 # 0: down to label1 +# BB#1: # %lor.lhs.false + i64.const $push6=, 32 + i64.shr_u $push7=, $2, $pop6 + i32.wrap/i64 $push8=, $pop7 + i32.load $push9=, 4($1) + i32.ne $push10=, $pop8, $pop9 + br_if 0, $pop10 # 0: down to label1 +# BB#2: # %for.cond + i32.const $push11=, 16 + i32.add $push12=, $1, $pop11 + i32.store $discard=, 12($3), $pop12 + i32.const $push16=, 0 + i64.load $push55=, ipts+8($pop16) + tee_local $push54=, $2=, $pop55 + i32.wrap/i64 $push17=, $pop54 + i32.const $push13=, 8 + i32.add $push14=, $1, $pop13 + i32.load $push15=, 0($pop14) + i32.ne $push18=, $pop17, $pop15 + br_if 0, $pop18 # 0: down to label1 +# BB#3: # %lor.lhs.false.1 + i64.const $push19=, 32 + i64.shr_u $push20=, $2, $pop19 + i32.wrap/i64 $push21=, $pop20 + i32.load $push22=, 12($1) + i32.ne $push23=, $pop21, $pop22 + br_if 0, $pop23 # 0: down to label1 +# BB#4: # %for.cond.1 + i32.const $push24=, 24 + i32.add $push25=, $1, $pop24 + i32.store $discard=, 12($3), $pop25 + i32.const $push29=, 0 + i64.load $push57=, ipts+16($pop29):p2align=4 + tee_local $push56=, $2=, $pop57 + i32.wrap/i64 $push30=, $pop56 + i32.const $push26=, 16 + i32.add $push27=, $1, $pop26 + i32.load $push28=, 0($pop27) + i32.ne $push31=, $pop30, $pop28 + br_if 0, $pop31 # 0: down to label1 +# BB#5: # %lor.lhs.false.2 + i64.const $push32=, 32 + i64.shr_u $push33=, $2, $pop32 + i32.wrap/i64 $push34=, $pop33 + i32.load $push35=, 20($1) + i32.ne $push36=, $pop34, $pop35 + br_if 0, $pop36 # 0: down to label1 +# BB#6: # %for.cond.2 + i32.const $push37=, 32 + i32.add $push38=, $1, $pop37 + i32.store $discard=, 12($3), $pop38 + i32.const $push42=, 0 + i64.load $push59=, ipts+24($pop42) + tee_local $push58=, $2=, $pop59 + i32.wrap/i64 $push43=, $pop58 + i32.const $push39=, 24 + i32.add $push40=, $1, $pop39 + i32.load $push41=, 0($pop40) + i32.ne $push44=, $pop43, $pop41 + br_if 0, $pop44 # 0: down to label1 +# BB#7: # %lor.lhs.false.3 + i64.const $push45=, 32 + i64.shr_u $push46=, $2, $pop45 + i32.wrap/i64 $push47=, $pop46 + i32.load $push48=, 28($1) + i32.ne $push49=, $pop47, $pop48 + br_if 0, $pop49 # 0: down to label1 +# BB#8: # %for.cond.3 + i32.const $push64=, 16 + i32.add $3=, $3, $pop64 + i32.const $push65=, __stack_pointer + i32.store $discard=, 0($pop65), $3 + return +.LBB2_9: # %if.then + end_block # label1: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end2: + .size va2, .Lfunc_end2-va2 + + .hidden pts # @pts + .type pts,@object + .section .data.pts,"aw",@progbits + .globl pts + .p2align 4 +pts: + .int64 4607182418800017408 # double 1 + .int64 4611686018427387904 # double 2 + .int64 4613937818241073152 # double 3 + .int64 4616189618054758400 # double 4 + .int64 4617315517961601024 # double 5 + .int64 4618441417868443648 # double 6 + .int64 4619567317775286272 # double 7 + .int64 4620693217682128896 # double 8 + .size pts, 64 + + .hidden ipts # @ipts + .type ipts,@object + .section .data.ipts,"aw",@progbits + .globl ipts + .p2align 4 +ipts: + .int32 1 # 0x1 + .int32 2 # 0x2 + .int32 3 # 0x3 + .int32 4 # 0x4 + .int32 5 # 0x5 + .int32 6 # 0x6 + .int32 7 # 0x7 + .int32 8 # 0x8 + .size ipts, 32 + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/920726-1.c.s b/test/torture-s/920726-1.c.s index 3cdbc67ec..78e652b4b 100644 --- a/test/torture-s/920726-1.c.s +++ b/test/torture-s/920726-1.c.s @@ -7,69 +7,65 @@ first: # @first .param i32, i32, i32 .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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 + i32.const $push14=, __stack_pointer + i32.load $push15=, 0($pop14) + i32.const $push16=, 16 + i32.sub $4=, $pop15, $pop16 + i32.const $push17=, __stack_pointer + i32.store $discard=, 0($pop17), $4 + i32.store $discard=, 12($4), $2 .LBB0_1: # %for.cond # =>This Inner Loop Header: Depth=1 loop # label0: block block - i32.load8_u $push9=, 0($1) - tee_local $push8=, $2=, $pop9 - i32.const $push7=, 105 - i32.eq $push0=, $pop8, $pop7 + i32.load8_u $push7=, 0($1) + tee_local $push6=, $2=, $pop7 + i32.const $push5=, 105 + i32.eq $push0=, $pop6, $pop5 br_if 0, $pop0 # 0: down to label3 # BB#2: # %for.cond # in Loop: Header=BB0_1 Depth=1 - i32.const $push18=, 0 - i32.eq $push19=, $2, $pop18 - br_if 3, $pop19 # 3: down to label1 + i32.const $push20=, 0 + i32.eq $push21=, $2, $pop20 + br_if 3, $pop21 # 3: down to label1 # BB#3: # %if.else # in Loop: Header=BB0_1 Depth=1 - i32.const $push16=, 1 - i32.add $3=, $0, $pop16 + i32.const $push12=, 1 + i32.add $3=, $0, $pop12 i32.store8 $discard=, 0($0), $2 copy_local $0=, $3 br 1 # 1: down to label2 .LBB0_4: # %if.then # in Loop: Header=BB0_1 Depth=1 end_block # label3: - i32.load $push1=, 12($7) - i32.const $push15=, 3 - i32.add $push2=, $pop1, $pop15 - i32.const $push14=, -4 - i32.and $push13=, $pop2, $pop14 - tee_local $push12=, $2=, $pop13 - i32.const $push11=, 4 - i32.add $push3=, $pop12, $pop11 - i32.store $discard=, 12($7), $pop3 - i32.load $push4=, 0($2) - i32.store $discard=, 0($7):p2align=4, $pop4 - i32.const $push10=, .L.str - i32.call $discard=, sprintf@FUNCTION, $0, $pop10, $7 - i32.call $push5=, strlen@FUNCTION, $0 - i32.add $0=, $0, $pop5 + i32.load $push11=, 12($4) + tee_local $push10=, $2=, $pop11 + i32.const $push9=, 4 + i32.add $push1=, $pop10, $pop9 + i32.store $discard=, 12($4), $pop1 + i32.load $push2=, 0($2) + i32.store $discard=, 0($4):p2align=4, $pop2 + i32.const $push8=, .L.str + i32.call $discard=, sprintf@FUNCTION, $0, $pop8, $4 + i32.call $push3=, strlen@FUNCTION, $0 + i32.add $0=, $0, $pop3 .LBB0_5: # %for.inc # in Loop: Header=BB0_1 Depth=1 end_block # label2: - i32.const $push17=, 1 - i32.add $1=, $1, $pop17 + i32.const $push13=, 1 + i32.add $1=, $1, $pop13 br 0 # 0: up to label0 .LBB0_6: # %for.end end_loop # label1: - i32.const $push6=, 0 - i32.store8 $discard=, 0($0), $pop6 - i32.const $6=, 16 - i32.add $7=, $7, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 + i32.const $push4=, 0 + i32.store8 $discard=, 0($0), $pop4 + i32.const $push18=, 16 + i32.add $4=, $4, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $4 return $0 .endfunc .Lfunc_end0: @@ -82,69 +78,65 @@ first: # @first second: # @second .param i32, i32, i32 .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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 + i32.const $push14=, __stack_pointer + i32.load $push15=, 0($pop14) + i32.const $push16=, 16 + i32.sub $4=, $pop15, $pop16 + i32.const $push17=, __stack_pointer + i32.store $discard=, 0($pop17), $4 + i32.store $discard=, 12($4), $2 .LBB1_1: # %for.cond # =>This Inner Loop Header: Depth=1 loop # label4: block block - i32.load8_u $push9=, 0($1) - tee_local $push8=, $2=, $pop9 - i32.const $push7=, 105 - i32.eq $push0=, $pop8, $pop7 + i32.load8_u $push7=, 0($1) + tee_local $push6=, $2=, $pop7 + i32.const $push5=, 105 + i32.eq $push0=, $pop6, $pop5 br_if 0, $pop0 # 0: down to label7 # BB#2: # %for.cond # in Loop: Header=BB1_1 Depth=1 - i32.const $push18=, 0 - i32.eq $push19=, $2, $pop18 - br_if 3, $pop19 # 3: down to label5 + i32.const $push20=, 0 + i32.eq $push21=, $2, $pop20 + br_if 3, $pop21 # 3: down to label5 # BB#3: # %if.else # in Loop: Header=BB1_1 Depth=1 - i32.const $push16=, 1 - i32.add $3=, $0, $pop16 + i32.const $push12=, 1 + i32.add $3=, $0, $pop12 i32.store8 $discard=, 0($0), $2 copy_local $0=, $3 br 1 # 1: down to label6 .LBB1_4: # %if.then # in Loop: Header=BB1_1 Depth=1 end_block # label7: - i32.load $push1=, 12($7) - i32.const $push15=, 3 - i32.add $push2=, $pop1, $pop15 - i32.const $push14=, -4 - i32.and $push13=, $pop2, $pop14 - tee_local $push12=, $2=, $pop13 - i32.const $push11=, 4 - i32.add $push3=, $pop12, $pop11 - i32.store $discard=, 12($7), $pop3 - i32.load $push4=, 0($2) - i32.store $discard=, 0($7):p2align=4, $pop4 - i32.const $push10=, .L.str - i32.call $discard=, sprintf@FUNCTION, $0, $pop10, $7 - i32.call $push5=, strlen@FUNCTION, $0 - i32.add $0=, $0, $pop5 + i32.load $push11=, 12($4) + tee_local $push10=, $2=, $pop11 + i32.const $push9=, 4 + i32.add $push1=, $pop10, $pop9 + i32.store $discard=, 12($4), $pop1 + i32.load $push2=, 0($2) + i32.store $discard=, 0($4):p2align=4, $pop2 + i32.const $push8=, .L.str + i32.call $discard=, sprintf@FUNCTION, $0, $pop8, $4 + i32.call $push3=, strlen@FUNCTION, $0 + i32.add $0=, $0, $pop3 .LBB1_5: # %for.inc # in Loop: Header=BB1_1 Depth=1 end_block # label6: - i32.const $push17=, 1 - i32.add $1=, $1, $pop17 + i32.const $push13=, 1 + i32.add $1=, $1, $pop13 br 0 # 0: up to label4 .LBB1_6: # %for.end end_loop # label5: - i32.const $push6=, 0 - i32.store8 $discard=, 0($0), $pop6 - i32.const $6=, 16 - i32.add $7=, $7, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 + i32.const $push4=, 0 + i32.store8 $discard=, 0($0), $pop4 + i32.const $push18=, 16 + i32.add $4=, $4, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $4 return $0 .endfunc .Lfunc_end1: @@ -156,38 +148,38 @@ second: # @second .type main,@function main: # @main .result i32 - .local i64, i32, i32, i32, i32, i32, i32, i32, i32 + .local i64, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - 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.store $8=, 0($2), $8 + i32.const $push8=, __stack_pointer + i32.load $push9=, 0($pop8) + i32.const $push10=, 256 + i32.sub $6=, $pop9, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $6 i64.const $push0=, 85899345925 - i64.store $0=, 16($8):p2align=4, $pop0 + i64.store $0=, 16($6):p2align=4, $pop0 i32.const $push1=, .L.str.1 - 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 $1=, 144 + i32.add $1=, $6, $1 + i32.const $2=, 16 + i32.add $2=, $6, $2 + i32.call $discard=, first@FUNCTION, $1, $pop1, $2 + i64.store $discard=, 0($6):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 $3=, 32 + i32.add $3=, $6, $3 + i32.call $discard=, second@FUNCTION, $3, $pop6, $6 i32.const $push5=, .L.str.2 - i32.const $6=, 144 - i32.add $6=, $8, $6 + i32.const $4=, 144 + i32.add $4=, $6, $4 block - i32.call $push2=, strcmp@FUNCTION, $pop5, $6 + i32.call $push2=, strcmp@FUNCTION, $pop5, $4 br_if 0, $pop2 # 0: down to label8 # BB#1: # %lor.lhs.false i32.const $push7=, .L.str.2 - i32.const $7=, 32 - i32.add $7=, $8, $7 - i32.call $push3=, strcmp@FUNCTION, $pop7, $7 + i32.const $5=, 32 + i32.add $5=, $6, $5 + i32.call $push3=, strcmp@FUNCTION, $pop7, $5 br_if 0, $pop3 # 0: down to label8 # BB#2: # %if.end i32.const $push4=, 0 diff --git a/test/torture-s/920908-1.c.s b/test/torture-s/920908-1.c.s new file mode 100644 index 000000000..0cccc2da7 --- /dev/null +++ b/test/torture-s/920908-1.c.s @@ -0,0 +1,76 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/920908-1.c" + .section .text.f,"ax",@progbits + .hidden f + .globl f + .type f,@function +f: # @f + .param i32, i32 + .result i32 + .local i32, i32 +# BB#0: # %entry + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $3=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $3 + i32.store $push10=, 12($3), $1 + tee_local $push9=, $1=, $pop10 + i32.const $push0=, 4 + i32.add $push1=, $pop9, $pop0 + i32.store $2=, 12($3), $pop1 + block + i32.load $push2=, 0($1) + i32.const $push3=, 10 + i32.ne $push4=, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label0 +# BB#1: # %if.end + i32.const $push5=, 8 + i32.add $push6=, $1, $pop5 + i32.store $discard=, 12($3), $pop6 + i32.load $push7=, 0($2) + i32.const $push11=, 20 + i32.ne $push8=, $pop7, $pop11 + br_if 0, $pop8 # 0: down to label0 +# BB#2: # %if.end7 + i32.const $push12=, 20 + i32.const $push17=, 16 + i32.add $3=, $3, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $3 + return $pop12 +.LBB0_3: # %if.then6 + end_block # label0: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end0: + .size f, .Lfunc_end0-f + + .section .text.main,"ax",@progbits + .hidden main + .globl main + .type main,@function +main: # @main + .result i32 + .local i32, i32 +# BB#0: # %entry + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $1=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $1 + i64.const $push0=, 85899345930 + i64.store $discard=, 0($1):p2align=4, $pop0 + i32.call $discard=, f@FUNCTION, $0, $1 + i32.const $push1=, 0 + call exit@FUNCTION, $pop1 + unreachable + .endfunc +.Lfunc_end1: + .size main, .Lfunc_end1-main + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/930111-1.c.s b/test/torture-s/930111-1.c.s index d07860153..6a2dcbd13 100644 --- a/test/torture-s/930111-1.c.s +++ b/test/torture-s/930111-1.c.s @@ -26,9 +26,10 @@ wwrite: # @wwrite i32.const $1=, 0 block block + block i64.const $push0=, 28 i64.gt_u $push1=, $0, $pop0 - br_if 0, $pop1 # 0: down to label1 + br_if 0, $pop1 # 0: down to label2 # BB#1: # %entry i64.const $push2=, 1 i64.shl $push3=, $pop2, $0 @@ -36,16 +37,18 @@ wwrite: # @wwrite i64.and $push5=, $pop3, $pop4 i64.const $push6=, 0 i64.ne $push7=, $pop5, $pop6 - br_if 1, $pop7 # 1: down to label0 + br_if 1, $pop7 # 1: down to label1 .LBB1_2: # %entry - end_block # label1: + end_block # label2: i64.const $push8=, 47 - i64.eq $push9=, $0, $pop8 - br_if 0, $pop9 # 0: down to label0 -# BB#3: # %sw.default - i32.const $1=, 123 -.LBB1_4: # %return + i64.ne $push9=, $0, $pop8 + br_if 1, $pop9 # 1: down to label0 +.LBB1_3: # %return + end_block # label1: + return $1 +.LBB1_4: # %sw.default end_block # label0: + i32.const $1=, 123 return $1 .endfunc .Lfunc_end1: diff --git a/test/torture-s/930513-1.c.s b/test/torture-s/930513-1.c.s index 238be4b6b..fe3a363b8 100644 --- a/test/torture-s/930513-1.c.s +++ b/test/torture-s/930513-1.c.s @@ -7,23 +7,23 @@ f: # @f .param i32 .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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 $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $1=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $1 i64.const $push0=, 4617315517961601024 - i64.store $discard=, 0($4):p2align=4, $pop0 + i64.store $discard=, 0($1):p2align=4, $pop0 i32.const $push2=, buf i32.const $push1=, .L.str - i32.call_indirect $discard=, $0, $pop2, $pop1, $4 - i32.const $3=, 16 - i32.add $4=, $4, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 + i32.call_indirect $discard=, $0, $pop2, $pop1, $1 + i32.const $push7=, 16 + i32.add $1=, $1, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $1 return $0 .endfunc .Lfunc_end0: @@ -35,19 +35,19 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $2=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $2=, 0($1), $2 + i32.const $push12=, __stack_pointer + i32.load $push13=, 0($pop12) + i32.const $push14=, 16 + i32.sub $0=, $pop13, $pop14 + i32.const $push15=, __stack_pointer + i32.store $discard=, 0($pop15), $0 i64.const $push1=, 4617315517961601024 - i64.store $discard=, 0($2):p2align=4, $pop1 + i64.store $discard=, 0($0):p2align=4, $pop1 i32.const $push3=, buf i32.const $push2=, .L.str - i32.call $discard=, sprintf@FUNCTION, $pop3, $pop2, $2 + i32.call $discard=, sprintf@FUNCTION, $pop3, $pop2, $0 block i32.const $push10=, 0 i32.load8_u $push4=, buf($pop10) diff --git a/test/torture-s/930518-1.c.s b/test/torture-s/930518-1.c.s index 0027564c0..b574e5137 100644 --- a/test/torture-s/930518-1.c.s +++ b/test/torture-s/930518-1.c.s @@ -44,21 +44,21 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, 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 $8=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $8=, 0($5), $8 + i32.const $push20=, __stack_pointer + i32.load $push21=, 0($pop20) + i32.const $push22=, 16 + i32.sub $6=, $pop21, $pop22 + i32.const $push23=, __stack_pointer + i32.store $discard=, 0($pop23), $6 i32.const $push1=, 0 - i32.store $2=, 12($8), $pop1 - i32.const $6=, 8 - i32.add $6=, $8, $6 - copy_local $1=, $6 + i32.store $2=, 12($6), $pop1 + i32.const $4=, 8 + i32.add $4=, $6, $4 + copy_local $1=, $4 block - i32.store $push18=, 8($8), $2 + i32.store $push18=, 8($6), $2 tee_local $push17=, $3=, $pop18 i32.load $push16=, bar($pop17) tee_local $push15=, $2=, $pop16 @@ -80,15 +80,15 @@ main: # @main br_if 0, $pop5 # 0: up to label4 # BB#3: # %f.exit end_loop # label5: - i32.load $push7=, 8($8) + i32.load $push7=, 8($6) i32.const $push10=, 2 i32.ne $push11=, $pop7, $pop10 br_if 0, $pop11 # 0: down to label3 # BB#4: # %f.exit i32.const $push8=, 4 - i32.const $7=, 8 - i32.add $7=, $8, $7 - i32.add $push9=, $7, $pop8 + i32.const $5=, 8 + i32.add $5=, $6, $5 + i32.add $push9=, $5, $pop8 i32.load $push6=, 0($pop9) i32.const $push12=, 1 i32.ne $push13=, $pop6, $pop12 diff --git a/test/torture-s/930603-3.c.s b/test/torture-s/930603-3.c.s index 4c2776722..b639cd5d8 100644 --- a/test/torture-s/930603-3.c.s +++ b/test/torture-s/930603-3.c.s @@ -10,28 +10,25 @@ f: # @f # BB#0: # %entry block block - block i32.const $push0=, 107 i32.eq $push1=, $1, $pop0 - br_if 0, $pop1 # 0: down to label2 + br_if 0, $pop1 # 0: down to label1 # BB#1: # %entry i32.const $push2=, 100 i32.ne $push3=, $1, $pop2 - br_if 2, $pop3 # 2: down to label0 + br_if 1, $pop3 # 1: down to label0 # BB#2: # %sw.bb i32.load8_u $push6=, 0($0) i32.const $push7=, 1 i32.shr_u $1=, $pop6, $pop7 - br 1 # 1: down to label1 + return $1 .LBB0_3: # %sw.bb3 - end_block # label2: + end_block # label1: i32.load8_u $push4=, 3($0) i32.const $push5=, 4 i32.shr_u $1=, $pop4, $pop5 -.LBB0_4: # %sw.epilog - end_block # label1: return $1 -.LBB0_5: # %sw.default +.LBB0_4: # %sw.default end_block # label0: call abort@FUNCTION unreachable diff --git a/test/torture-s/930622-2.c.s b/test/torture-s/930622-2.c.s index 15f38e0af..d67225722 100644 --- a/test/torture-s/930622-2.c.s +++ b/test/torture-s/930622-2.c.s @@ -6,27 +6,27 @@ .type ll_to_ld,@function ll_to_ld: # @ll_to_ld .param i32, i64 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - call __floatditf@FUNCTION, $5, $1 - i64.load $1=, 0($5) + i32.const $push5=, __stack_pointer + i32.load $push6=, 0($pop5) + i32.const $push7=, 16 + i32.sub $2=, $pop6, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $2 + call __floatditf@FUNCTION, $2, $1 + i64.load $1=, 0($2) i32.const $push0=, 8 i32.add $push3=, $0, $pop0 i32.const $push4=, 8 - i32.add $push1=, $5, $pop4 + i32.add $push1=, $2, $pop4 i64.load $push2=, 0($pop1) i64.store $discard=, 0($pop3), $pop2 i64.store $discard=, 0($0):p2align=4, $1 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push9=, 16 + i32.add $2=, $2, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $2 return .endfunc .Lfunc_end0: diff --git a/test/torture-s/930930-2.c.s b/test/torture-s/930930-2.c.s index 09f70faf0..7de9ba20c 100644 --- a/test/torture-s/930930-2.c.s +++ b/test/torture-s/930930-2.c.s @@ -19,23 +19,17 @@ test_endianness: # @test_endianness .type test_endianness_vol,@function test_endianness_vol: # @test_endianness_vol .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $0=, $pop5, $pop6 i64.const $push0=, 4621819117588971520 - i64.store $discard=, 8($3), $pop0 - i32.load $push1=, 8($3):p2align=3 + i64.store $discard=, 8($0), $pop0 + i32.load $push1=, 8($0):p2align=3 i32.const $push2=, 0 i32.ne $push3=, $pop1, $pop2 - i32.const $2=, 16 - i32.add $3=, $3, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 return $pop3 .endfunc .Lfunc_end1: @@ -47,18 +41,18 @@ test_endianness_vol: # @test_endianness_vol .type main,@function main: # @main .result i32 - .local i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $2=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $2=, 0($1), $2 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $0=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $0 i64.const $push0=, 4621819117588971520 - i64.store $discard=, 8($2), $pop0 + i64.store $discard=, 8($0), $pop0 block - i32.load $push1=, 8($2):p2align=3 + i32.load $push1=, 8($0):p2align=3 br_if 0, $pop1 # 0: down to label0 # BB#1: # %if.end i32.const $push2=, 0 diff --git a/test/torture-s/931004-10.c.s b/test/torture-s/931004-10.c.s new file mode 100644 index 000000000..bdcaf9bc4 --- /dev/null +++ b/test/torture-s/931004-10.c.s @@ -0,0 +1,137 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/931004-10.c" + .section .text.f,"ax",@progbits + .hidden f + .globl f + .type f,@function +f: # @f + .param i32, i32 + .result i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push23=, __stack_pointer + i32.load $push24=, 0($pop23) + i32.const $push25=, 16 + i32.sub $4=, $pop24, $pop25 + i32.const $push26=, __stack_pointer + i32.store $discard=, 0($pop26), $4 + i32.store $push16=, 12($4), $1 + tee_local $push15=, $1=, $pop16 + i32.const $push14=, 4 + i32.add $push2=, $pop15, $pop14 + i32.store $discard=, 12($4), $pop2 + block + block + block + i32.const $push0=, 0 + i32.le_s $push1=, $0, $pop0 + br_if 0, $pop1 # 0: down to label2 +# BB#1: + i32.const $2=, 10 +.LBB0_2: # %for.body + # =>This Inner Loop Header: Depth=1 + loop # label3: + i32.load8_s $push3=, 0($1) + i32.ne $push4=, $2, $pop3 + br_if 4, $pop4 # 4: down to label0 +# BB#3: # %if.end + # in Loop: Header=BB0_2 Depth=1 + i32.const $push22=, 10 + i32.add $push7=, $2, $pop22 + i32.const $push21=, 1 + i32.add $push5=, $1, $pop21 + i32.load8_s $push6=, 0($pop5) + i32.ne $push8=, $pop7, $pop6 + br_if 3, $pop8 # 3: down to label1 +# BB#4: # %for.cond + # in Loop: Header=BB0_2 Depth=1 + i32.const $push20=, 8 + i32.add $push9=, $1, $pop20 + i32.store $discard=, 12($4), $pop9 + i32.const $push19=, 4 + i32.add $1=, $1, $pop19 + i32.const $push18=, -9 + i32.add $3=, $2, $pop18 + i32.const $push17=, 1 + i32.add $2=, $2, $pop17 + i32.lt_s $push10=, $3, $0 + br_if 0, $pop10 # 0: up to label3 +.LBB0_5: # %for.end + end_loop # label4: + end_block # label2: + i32.load $push11=, 0($1) + i32.const $push12=, 123 + i32.ne $push13=, $pop11, $pop12 + br_if 1, $pop13 # 1: down to label0 +# BB#6: # %if.end16 + i32.const $push27=, 16 + i32.add $4=, $4, $pop27 + i32.const $push28=, __stack_pointer + i32.store $discard=, 0($pop28), $4 + return $1 +.LBB0_7: # %if.then8 + end_block # label1: + call abort@FUNCTION + unreachable +.LBB0_8: # %if.then15 + end_block # label0: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end0: + .size f, .Lfunc_end0-f + + .section .text.main,"ax",@progbits + .hidden main + .globl main + .type main,@function +main: # @main + .result i32 + .local i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push12=, __stack_pointer + i32.load $push13=, 0($pop12) + i32.const $push14=, 32 + i32.sub $3=, $pop13, $pop14 + i32.const $push15=, __stack_pointer + i32.store $discard=, 0($pop15), $3 + i32.const $push0=, 10 + i32.store8 $discard=, 24($3):p2align=3, $pop0 + i32.const $push1=, 11 + i32.store8 $discard=, 26($3):p2align=1, $pop1 + i32.const $push2=, 12 + i32.store8 $discard=, 28($3):p2align=2, $pop2 + i32.const $push3=, 20 + i32.store8 $discard=, 25($3), $pop3 + i32.const $push4=, 21 + i32.store8 $discard=, 27($3), $pop4 + i32.const $push5=, 22 + i32.store8 $discard=, 29($3), $pop5 + i32.load16_u $push6=, 24($3):p2align=3 + i32.store16 $discard=, 22($3), $pop6 + i32.load16_u $push7=, 26($3) + i32.store16 $discard=, 20($3), $pop7 + i32.load16_u $push8=, 28($3):p2align=2 + i32.store16 $discard=, 18($3), $pop8 + i32.const $push9=, 123 + i32.store $discard=, 12($3), $pop9 + i32.const $0=, 18 + i32.add $0=, $3, $0 + i32.store $discard=, 8($3):p2align=3, $0 + i32.const $1=, 20 + i32.add $1=, $3, $1 + i32.store $discard=, 4($3), $1 + i32.const $2=, 22 + i32.add $2=, $3, $2 + i32.store $discard=, 0($3):p2align=4, $2 + i32.const $push10=, 3 + i32.call $discard=, f@FUNCTION, $pop10, $3 + i32.const $push11=, 0 + call exit@FUNCTION, $pop11 + unreachable + .endfunc +.Lfunc_end1: + .size main, .Lfunc_end1-main + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/931004-12.c.s b/test/torture-s/931004-12.c.s new file mode 100644 index 000000000..07c34e3b5 --- /dev/null +++ b/test/torture-s/931004-12.c.s @@ -0,0 +1,176 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/931004-12.c" + .section .text.f,"ax",@progbits + .hidden f + .globl f + .type f,@function +f: # @f + .param i32, i32 + .result i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push34=, __stack_pointer + i32.load $push35=, 0($pop34) + i32.const $push36=, 16 + i32.sub $4=, $pop35, $pop36 + i32.const $push37=, __stack_pointer + i32.store $discard=, 0($pop37), $4 + i32.store $push22=, 12($4), $1 + tee_local $push21=, $1=, $pop22 + i32.const $push20=, 4 + i32.add $push1=, $pop21, $pop20 + i32.store $discard=, 12($4), $pop1 + block + block + i32.const $push19=, 1 + i32.lt_s $push2=, $0, $pop19 + br_if 0, $pop2 # 0: down to label1 +# BB#1: # %for.body.preheader + i32.const $push3=, 8 + i32.add $2=, $1, $pop3 + i32.const $1=, 0 +.LBB0_2: # %for.body + # =>This Inner Loop Header: Depth=1 + loop # label2: + i32.const $push29=, 10 + i32.add $push7=, $1, $pop29 + i32.const $push28=, -8 + i32.add $push4=, $2, $pop28 + i32.load8_s $push6=, 0($pop4) + i32.ne $push8=, $pop7, $pop6 + br_if 3, $pop8 # 3: down to label0 +# BB#3: # %if.end + # in Loop: Header=BB0_2 Depth=1 + i32.const $push31=, 20 + i32.add $push11=, $1, $pop31 + i32.const $push30=, -7 + i32.add $push9=, $2, $pop30 + i32.load8_s $push10=, 0($pop9) + i32.ne $push12=, $pop11, $pop10 + br_if 3, $pop12 # 3: down to label0 +# BB#4: # %if.end9 + # in Loop: Header=BB0_2 Depth=1 + i32.const $push33=, 30 + i32.add $push13=, $1, $pop33 + i32.const $push32=, -6 + i32.add $push5=, $2, $pop32 + i32.load8_s $push0=, 0($pop5) + i32.ne $push14=, $pop13, $pop0 + br_if 3, $pop14 # 3: down to label0 +# BB#5: # %for.cond + # in Loop: Header=BB0_2 Depth=1 + i32.const $push26=, 1 + i32.add $1=, $1, $pop26 + i32.store $push25=, 12($4), $2 + tee_local $push24=, $3=, $pop25 + i32.const $push23=, 4 + i32.add $2=, $pop24, $pop23 + i32.lt_s $push15=, $1, $0 + br_if 0, $pop15 # 0: up to label2 +# BB#6: + end_loop # label3: + i32.const $push27=, -4 + i32.add $1=, $3, $pop27 +.LBB0_7: # %for.end + end_block # label1: + i32.load $push16=, 0($1) + i32.const $push17=, 123 + i32.ne $push18=, $pop16, $pop17 + br_if 0, $pop18 # 0: down to label0 +# BB#8: # %if.end22 + i32.const $push38=, 16 + i32.add $4=, $4, $pop38 + i32.const $push39=, __stack_pointer + i32.store $discard=, 0($pop39), $4 + return $1 +.LBB0_9: # %if.then14 + end_block # label0: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end0: + .size f, .Lfunc_end0-f + + .section .text.main,"ax",@progbits + .hidden main + .globl main + .type main,@function +main: # @main + .result i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push27=, __stack_pointer + i32.load $push28=, 0($pop27) + i32.const $push29=, 48 + i32.sub $8=, $pop28, $pop29 + i32.const $push30=, __stack_pointer + i32.store $discard=, 0($pop30), $8 + i32.const $push0=, 10 + i32.store8 $discard=, 32($8):p2align=3, $pop0 + i32.const $push1=, 11 + i32.store8 $discard=, 35($8), $pop1 + i32.const $push2=, 12 + i32.store8 $discard=, 38($8):p2align=1, $pop2 + i32.const $push3=, 20 + i32.store8 $discard=, 33($8), $pop3 + i32.const $push4=, 21 + i32.store8 $discard=, 36($8):p2align=2, $pop4 + i32.const $push5=, 22 + i32.store8 $discard=, 39($8), $pop5 + i32.const $push6=, 30 + i32.store8 $discard=, 34($8):p2align=1, $pop6 + i32.const $push7=, 31 + i32.store8 $discard=, 37($8), $pop7 + i32.const $push8=, 8 + i32.const $1=, 32 + i32.add $1=, $8, $1 + i32.add $push26=, $1, $pop8 + tee_local $push25=, $0=, $pop26 + i32.const $push9=, 32 + i32.store8 $discard=, 0($pop25):p2align=3, $pop9 + i32.const $push10=, 2 + i32.const $2=, 28 + i32.add $2=, $8, $2 + i32.add $push11=, $2, $pop10 + i32.load8_u $push12=, 34($8):p2align=1 + i32.store8 $discard=, 0($pop11):p2align=1, $pop12 + i32.load16_u $push13=, 32($8):p2align=3 + i32.store16 $discard=, 28($8), $pop13 + i32.const $push24=, 2 + i32.const $3=, 24 + i32.add $3=, $8, $3 + i32.add $push14=, $3, $pop24 + i32.load8_u $push15=, 37($8) + i32.store8 $discard=, 0($pop14):p2align=1, $pop15 + i32.load16_u $push16=, 35($8):p2align=0 + i32.store16 $discard=, 24($8), $pop16 + i32.const $push23=, 2 + i32.const $4=, 20 + i32.add $4=, $8, $4 + i32.add $push17=, $4, $pop23 + i32.load8_u $push18=, 0($0):p2align=3 + i32.store8 $discard=, 0($pop17):p2align=1, $pop18 + i32.load16_u $push19=, 38($8) + i32.store16 $discard=, 20($8), $pop19 + i32.const $push20=, 123 + i32.store $discard=, 12($8), $pop20 + i32.const $5=, 20 + i32.add $5=, $8, $5 + i32.store $discard=, 8($8):p2align=3, $5 + i32.const $6=, 24 + i32.add $6=, $8, $6 + i32.store $discard=, 4($8), $6 + i32.const $7=, 28 + i32.add $7=, $8, $7 + i32.store $discard=, 0($8):p2align=4, $7 + i32.const $push21=, 3 + i32.call $discard=, f@FUNCTION, $pop21, $8 + i32.const $push22=, 0 + call exit@FUNCTION, $pop22 + unreachable + .endfunc +.Lfunc_end1: + .size main, .Lfunc_end1-main + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/931004-14.c.s b/test/torture-s/931004-14.c.s new file mode 100644 index 000000000..b60a30ddb --- /dev/null +++ b/test/torture-s/931004-14.c.s @@ -0,0 +1,178 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/931004-14.c" + .section .text.f,"ax",@progbits + .hidden f + .globl f + .type f,@function +f: # @f + .param i32, i32 + .result i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push40=, __stack_pointer + i32.load $push41=, 0($pop40) + i32.const $push42=, 16 + i32.sub $4=, $pop41, $pop42 + i32.const $push43=, __stack_pointer + i32.store $discard=, 0($pop43), $4 + i32.store $push26=, 12($4), $1 + tee_local $push25=, $1=, $pop26 + i32.const $push24=, 4 + i32.add $push2=, $pop25, $pop24 + i32.store $discard=, 12($4), $pop2 + block + block + i32.const $push23=, 1 + i32.lt_s $push3=, $0, $pop23 + br_if 0, $pop3 # 0: down to label1 +# BB#1: # %for.body.preheader + i32.const $push4=, 8 + i32.add $2=, $1, $pop4 + i32.const $1=, 0 +.LBB0_2: # %for.body + # =>This Inner Loop Header: Depth=1 + loop # label2: + i32.const $push33=, 10 + i32.add $push9=, $1, $pop33 + i32.const $push32=, -8 + i32.add $push5=, $2, $pop32 + i32.load8_s $push8=, 0($pop5) + i32.ne $push10=, $pop9, $pop8 + br_if 3, $pop10 # 3: down to label0 +# BB#3: # %if.end + # in Loop: Header=BB0_2 Depth=1 + i32.const $push35=, 20 + i32.add $push13=, $1, $pop35 + i32.const $push34=, -7 + i32.add $push11=, $2, $pop34 + i32.load8_s $push12=, 0($pop11) + i32.ne $push14=, $pop13, $pop12 + br_if 3, $pop14 # 3: down to label0 +# BB#4: # %if.end9 + # in Loop: Header=BB0_2 Depth=1 + i32.const $push37=, 30 + i32.add $push15=, $1, $pop37 + i32.const $push36=, -6 + i32.add $push6=, $2, $pop36 + i32.load8_s $push0=, 0($pop6) + i32.ne $push16=, $pop15, $pop0 + br_if 3, $pop16 # 3: down to label0 +# BB#5: # %if.end15 + # in Loop: Header=BB0_2 Depth=1 + i32.const $push39=, 40 + i32.add $push17=, $1, $pop39 + i32.const $push38=, -5 + i32.add $push7=, $2, $pop38 + i32.load8_s $push1=, 0($pop7) + i32.ne $push18=, $pop17, $pop1 + br_if 3, $pop18 # 3: down to label0 +# BB#6: # %for.cond + # in Loop: Header=BB0_2 Depth=1 + i32.const $push30=, 1 + i32.add $1=, $1, $pop30 + i32.store $push29=, 12($4), $2 + tee_local $push28=, $3=, $pop29 + i32.const $push27=, 4 + i32.add $2=, $pop28, $pop27 + i32.lt_s $push19=, $1, $0 + br_if 0, $pop19 # 0: up to label2 +# BB#7: + end_loop # label3: + i32.const $push31=, -4 + i32.add $1=, $3, $pop31 +.LBB0_8: # %for.end + end_block # label1: + i32.load $push20=, 0($1) + i32.const $push21=, 123 + i32.ne $push22=, $pop20, $pop21 + br_if 0, $pop22 # 0: down to label0 +# BB#9: # %if.end28 + i32.const $push44=, 16 + i32.add $4=, $4, $pop44 + i32.const $push45=, __stack_pointer + i32.store $discard=, 0($pop45), $4 + return $1 +.LBB0_10: # %if.then20 + end_block # label0: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end0: + .size f, .Lfunc_end0-f + + .section .text.main,"ax",@progbits + .hidden main + .globl main + .type main,@function +main: # @main + .result i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push24=, __stack_pointer + i32.load $push25=, 0($pop24) + i32.const $push26=, 48 + i32.sub $6=, $pop25, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $6 + i32.const $push7=, 9 + i32.const $0=, 32 + i32.add $0=, $6, $0 + i32.add $push8=, $0, $pop7 + i32.const $push9=, 22 + i32.store8 $discard=, 0($pop8), $pop9 + i32.const $push0=, 10 + i32.store8 $push1=, 32($6):p2align=3, $pop0 + i32.const $1=, 32 + i32.add $1=, $6, $1 + i32.add $push12=, $1, $pop1 + i32.const $push13=, 32 + i32.store8 $discard=, 0($pop12):p2align=1, $pop13 + i32.const $push2=, 11 + i32.store8 $push3=, 36($6):p2align=2, $pop2 + i32.const $2=, 32 + i32.add $2=, $6, $2 + i32.add $push16=, $2, $pop3 + i32.const $push17=, 42 + i32.store8 $discard=, 0($pop16), $pop17 + i32.const $push4=, 12 + i32.store8 $discard=, 40($6):p2align=3, $pop4 + i32.const $push5=, 20 + i32.store8 $discard=, 33($6), $pop5 + i32.const $push6=, 21 + i32.store8 $discard=, 37($6), $pop6 + i32.const $push10=, 30 + i32.store8 $discard=, 34($6):p2align=1, $pop10 + i32.const $push11=, 31 + i32.store8 $discard=, 38($6):p2align=1, $pop11 + i32.const $push14=, 40 + i32.store8 $discard=, 35($6), $pop14 + i32.const $push15=, 41 + i32.store8 $discard=, 39($6), $pop15 + i32.load $push18=, 32($6):p2align=3 + i32.store $discard=, 28($6), $pop18 + i32.load $push19=, 36($6) + i32.store $discard=, 24($6), $pop19 + i32.load $push20=, 40($6):p2align=3 + i32.store $discard=, 20($6), $pop20 + i32.const $push21=, 123 + i32.store $discard=, 12($6), $pop21 + i32.const $3=, 20 + i32.add $3=, $6, $3 + i32.store $discard=, 8($6):p2align=3, $3 + i32.const $4=, 24 + i32.add $4=, $6, $4 + i32.store $discard=, 4($6), $4 + i32.const $5=, 28 + i32.add $5=, $6, $5 + i32.store $discard=, 0($6):p2align=4, $5 + i32.const $push22=, 3 + i32.call $discard=, f@FUNCTION, $pop22, $6 + i32.const $push23=, 0 + call exit@FUNCTION, $pop23 + unreachable + .endfunc +.Lfunc_end1: + .size main, .Lfunc_end1-main + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/931004-2.c.s b/test/torture-s/931004-2.c.s new file mode 100644 index 000000000..dd768553c --- /dev/null +++ b/test/torture-s/931004-2.c.s @@ -0,0 +1,106 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/931004-2.c" + .section .text.f,"ax",@progbits + .hidden f + .globl f + .type f,@function +f: # @f + .param i32, i32 + .result i32 + .local i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push18=, __stack_pointer + i32.load $push19=, 0($pop18) + i32.const $push20=, 16 + i32.sub $5=, $pop19, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $5 + i32.store $push11=, 12($5), $1 + tee_local $push10=, $1=, $pop11 + i32.const $push9=, 4 + i32.add $push0=, $pop10, $pop9 + i32.store $discard=, 12($5), $pop0 + i32.load $4=, 0($1) + block + block + block + i32.const $push8=, 1 + i32.lt_s $push1=, $0, $pop8 + br_if 0, $pop1 # 0: down to label2 +# BB#1: # %for.body.preheader + i32.const $push2=, 8 + i32.add $3=, $1, $pop2 + i32.const $1=, 10 +.LBB0_2: # %for.body + # =>This Inner Loop Header: Depth=1 + loop # label3: + i32.ne $push3=, $1, $4 + br_if 3, $pop3 # 3: down to label1 +# BB#3: # %for.cond + # in Loop: Header=BB0_2 Depth=1 + i32.store $push17=, 12($5), $3 + tee_local $push16=, $3=, $pop17 + i32.const $push15=, -4 + i32.add $push4=, $pop16, $pop15 + i32.load $4=, 0($pop4) + i32.const $push14=, 4 + i32.add $3=, $3, $pop14 + i32.const $push13=, -9 + i32.add $2=, $1, $pop13 + i32.const $push12=, 1 + i32.add $1=, $1, $pop12 + i32.lt_s $push5=, $2, $0 + br_if 0, $pop5 # 0: up to label3 +.LBB0_4: # %for.end + end_loop # label4: + end_block # label2: + i32.const $push6=, 123 + i32.ne $push7=, $4, $pop6 + br_if 1, $pop7 # 1: down to label0 +# BB#5: # %if.end8 + i32.const $push22=, 16 + i32.add $5=, $5, $pop22 + i32.const $push23=, __stack_pointer + i32.store $discard=, 0($pop23), $5 + return $1 +.LBB0_6: # %if.then + end_block # label1: + call abort@FUNCTION + unreachable +.LBB0_7: # %if.then7 + end_block # label0: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end0: + .size f, .Lfunc_end0-f + + .section .text.main,"ax",@progbits + .hidden main + .globl main + .type main,@function +main: # @main + .result i32 + .local i32 +# BB#0: # %entry + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $0=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $0 + i64.const $push0=, 528280977420 + i64.store $discard=, 8($0), $pop0 + i64.const $push1=, 47244640266 + i64.store $discard=, 0($0):p2align=4, $pop1 + i32.const $push2=, 3 + i32.call $discard=, f@FUNCTION, $pop2, $0 + i32.const $push3=, 0 + call exit@FUNCTION, $pop3 + unreachable + .endfunc +.Lfunc_end1: + .size main, .Lfunc_end1-main + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/931004-4.c.s b/test/torture-s/931004-4.c.s new file mode 100644 index 000000000..787b24709 --- /dev/null +++ b/test/torture-s/931004-4.c.s @@ -0,0 +1,103 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/931004-4.c" + .section .text.f,"ax",@progbits + .hidden f + .globl f + .type f,@function +f: # @f + .param i32, i32 + .result i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push17=, __stack_pointer + i32.load $push18=, 0($pop17) + i32.const $push19=, 16 + i32.sub $4=, $pop18, $pop19 + i32.const $push20=, __stack_pointer + i32.store $discard=, 0($pop20), $4 + i32.store $push12=, 12($4), $1 + tee_local $push11=, $1=, $pop12 + i32.const $push10=, 4 + i32.add $push2=, $pop11, $pop10 + i32.store $discard=, 12($4), $pop2 + block + block + block + i32.const $push0=, 0 + i32.le_s $push1=, $0, $pop0 + br_if 0, $pop1 # 0: down to label2 +# BB#1: + i32.const $3=, 10 +.LBB0_2: # %for.body + # =>This Inner Loop Header: Depth=1 + loop # label3: + i32.load16_s $push3=, 0($1) + i32.ne $push4=, $3, $pop3 + br_if 3, $pop4 # 3: down to label1 +# BB#3: # %for.cond + # in Loop: Header=BB0_2 Depth=1 + i32.const $push16=, 8 + i32.add $push5=, $1, $pop16 + i32.store $discard=, 12($4), $pop5 + i32.const $push15=, 4 + i32.add $1=, $1, $pop15 + i32.const $push14=, -9 + i32.add $2=, $3, $pop14 + i32.const $push13=, 1 + i32.add $3=, $3, $pop13 + i32.lt_s $push6=, $2, $0 + br_if 0, $pop6 # 0: up to label3 +.LBB0_4: # %for.end + end_loop # label4: + end_block # label2: + i32.load $push7=, 0($1) + i32.const $push8=, 123 + i32.ne $push9=, $pop7, $pop8 + br_if 1, $pop9 # 1: down to label0 +# BB#5: # %if.end10 + i32.const $push21=, 16 + i32.add $4=, $4, $pop21 + i32.const $push22=, __stack_pointer + i32.store $discard=, 0($pop22), $4 + return $1 +.LBB0_6: # %if.then + end_block # label1: + call abort@FUNCTION + unreachable +.LBB0_7: # %if.then9 + end_block # label0: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end0: + .size f, .Lfunc_end0-f + + .section .text.main,"ax",@progbits + .hidden main + .globl main + .type main,@function +main: # @main + .result i32 + .local i32 +# BB#0: # %entry + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $0=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $0 + i64.const $push0=, 528280977420 + i64.store $discard=, 8($0), $pop0 + i64.const $push1=, 47244640266 + i64.store $discard=, 0($0):p2align=4, $pop1 + i32.const $push2=, 3 + i32.call $discard=, f@FUNCTION, $pop2, $0 + i32.const $push3=, 0 + call exit@FUNCTION, $pop3 + unreachable + .endfunc +.Lfunc_end1: + .size main, .Lfunc_end1-main + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/931004-6.c.s b/test/torture-s/931004-6.c.s new file mode 100644 index 000000000..9cadaff45 --- /dev/null +++ b/test/torture-s/931004-6.c.s @@ -0,0 +1,140 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/931004-6.c" + .section .text.f,"ax",@progbits + .hidden f + .globl f + .type f,@function +f: # @f + .param i32, i32 + .result i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push23=, __stack_pointer + i32.load $push24=, 0($pop23) + i32.const $push25=, 16 + i32.sub $4=, $pop24, $pop25 + i32.const $push26=, __stack_pointer + i32.store $discard=, 0($pop26), $4 + i32.store $push16=, 12($4), $1 + tee_local $push15=, $1=, $pop16 + i32.const $push14=, 4 + i32.add $push2=, $pop15, $pop14 + i32.store $discard=, 12($4), $pop2 + block + block + block + i32.const $push0=, 0 + i32.le_s $push1=, $0, $pop0 + br_if 0, $pop1 # 0: down to label2 +# BB#1: + i32.const $2=, 10 +.LBB0_2: # %for.body + # =>This Inner Loop Header: Depth=1 + loop # label3: + i32.load16_s $push3=, 0($1) + i32.ne $push4=, $2, $pop3 + br_if 4, $pop4 # 4: down to label0 +# BB#3: # %if.end + # in Loop: Header=BB0_2 Depth=1 + i32.const $push22=, 10 + i32.add $push7=, $2, $pop22 + i32.const $push21=, 2 + i32.add $push5=, $1, $pop21 + i32.load16_s $push6=, 0($pop5) + i32.ne $push8=, $pop7, $pop6 + br_if 3, $pop8 # 3: down to label1 +# BB#4: # %for.cond + # in Loop: Header=BB0_2 Depth=1 + i32.const $push20=, 8 + i32.add $push9=, $1, $pop20 + i32.store $discard=, 12($4), $pop9 + i32.const $push19=, 4 + i32.add $1=, $1, $pop19 + i32.const $push18=, -9 + i32.add $3=, $2, $pop18 + i32.const $push17=, 1 + i32.add $2=, $2, $pop17 + i32.lt_s $push10=, $3, $0 + br_if 0, $pop10 # 0: up to label3 +.LBB0_5: # %for.end + end_loop # label4: + end_block # label2: + i32.load $push11=, 0($1) + i32.const $push12=, 123 + i32.ne $push13=, $pop11, $pop12 + br_if 1, $pop13 # 1: down to label0 +# BB#6: # %if.end16 + i32.const $push27=, 16 + i32.add $4=, $4, $pop27 + i32.const $push28=, __stack_pointer + i32.store $discard=, 0($pop28), $4 + return $1 +.LBB0_7: # %if.then8 + end_block # label1: + call abort@FUNCTION + unreachable +.LBB0_8: # %if.then15 + end_block # label0: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end0: + .size f, .Lfunc_end0-f + + .section .text.main,"ax",@progbits + .hidden main + .globl main + .type main,@function +main: # @main + .result i32 + .local i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push14=, __stack_pointer + i32.load $push15=, 0($pop14) + i32.const $push16=, 48 + i32.sub $4=, $pop15, $pop16 + i32.const $push17=, __stack_pointer + i32.store $discard=, 0($pop17), $4 + i32.const $push0=, 10 + i32.store16 $push1=, 32($4):p2align=3, $pop0 + i32.const $0=, 32 + i32.add $0=, $4, $0 + i32.add $push6=, $0, $pop1 + i32.const $push7=, 22 + i32.store16 $discard=, 0($pop6), $pop7 + i32.const $push2=, 11 + i32.store16 $discard=, 36($4):p2align=2, $pop2 + i32.const $push3=, 12 + i32.store16 $discard=, 40($4):p2align=3, $pop3 + i32.const $push4=, 20 + i32.store16 $discard=, 34($4), $pop4 + i32.const $push5=, 21 + i32.store16 $discard=, 38($4), $pop5 + i32.load $push8=, 32($4):p2align=3 + i32.store $discard=, 28($4), $pop8 + i32.load $push9=, 36($4) + i32.store $discard=, 24($4), $pop9 + i32.load $push10=, 40($4):p2align=3 + i32.store $discard=, 20($4), $pop10 + i32.const $push11=, 123 + i32.store $discard=, 12($4), $pop11 + i32.const $1=, 20 + i32.add $1=, $4, $1 + i32.store $discard=, 8($4):p2align=3, $1 + i32.const $2=, 24 + i32.add $2=, $4, $2 + i32.store $discard=, 4($4), $2 + i32.const $3=, 28 + i32.add $3=, $4, $3 + i32.store $discard=, 0($4):p2align=4, $3 + i32.const $push12=, 3 + i32.call $discard=, f@FUNCTION, $pop12, $4 + i32.const $push13=, 0 + call exit@FUNCTION, $pop13 + unreachable + .endfunc +.Lfunc_end1: + .size main, .Lfunc_end1-main + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/931004-8.c.s b/test/torture-s/931004-8.c.s new file mode 100644 index 000000000..fc94ba380 --- /dev/null +++ b/test/torture-s/931004-8.c.s @@ -0,0 +1,103 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/931004-8.c" + .section .text.f,"ax",@progbits + .hidden f + .globl f + .type f,@function +f: # @f + .param i32, i32 + .result i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push17=, __stack_pointer + i32.load $push18=, 0($pop17) + i32.const $push19=, 16 + i32.sub $4=, $pop18, $pop19 + i32.const $push20=, __stack_pointer + i32.store $discard=, 0($pop20), $4 + i32.store $push12=, 12($4), $1 + tee_local $push11=, $1=, $pop12 + i32.const $push10=, 4 + i32.add $push2=, $pop11, $pop10 + i32.store $discard=, 12($4), $pop2 + block + block + block + i32.const $push0=, 0 + i32.le_s $push1=, $0, $pop0 + br_if 0, $pop1 # 0: down to label2 +# BB#1: + i32.const $3=, 10 +.LBB0_2: # %for.body + # =>This Inner Loop Header: Depth=1 + loop # label3: + i32.load8_s $push3=, 0($1) + i32.ne $push4=, $3, $pop3 + br_if 3, $pop4 # 3: down to label1 +# BB#3: # %for.cond + # in Loop: Header=BB0_2 Depth=1 + i32.const $push16=, 8 + i32.add $push5=, $1, $pop16 + i32.store $discard=, 12($4), $pop5 + i32.const $push15=, 4 + i32.add $1=, $1, $pop15 + i32.const $push14=, -9 + i32.add $2=, $3, $pop14 + i32.const $push13=, 1 + i32.add $3=, $3, $pop13 + i32.lt_s $push6=, $2, $0 + br_if 0, $pop6 # 0: up to label3 +.LBB0_4: # %for.end + end_loop # label4: + end_block # label2: + i32.load $push7=, 0($1) + i32.const $push8=, 123 + i32.ne $push9=, $pop7, $pop8 + br_if 1, $pop9 # 1: down to label0 +# BB#5: # %if.end10 + i32.const $push21=, 16 + i32.add $4=, $4, $pop21 + i32.const $push22=, __stack_pointer + i32.store $discard=, 0($pop22), $4 + return $1 +.LBB0_6: # %if.then + end_block # label1: + call abort@FUNCTION + unreachable +.LBB0_7: # %if.then9 + end_block # label0: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end0: + .size f, .Lfunc_end0-f + + .section .text.main,"ax",@progbits + .hidden main + .globl main + .type main,@function +main: # @main + .result i32 + .local i32 +# BB#0: # %entry + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $0=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $0 + i64.const $push0=, 528280977420 + i64.store $discard=, 8($0), $pop0 + i64.const $push1=, 47244640266 + i64.store $discard=, 0($0):p2align=4, $pop1 + i32.const $push2=, 3 + i32.call $discard=, f@FUNCTION, $pop2, $0 + i32.const $push3=, 0 + call exit@FUNCTION, $pop3 + unreachable + .endfunc +.Lfunc_end1: + .size main, .Lfunc_end1-main + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/941014-2.c.s b/test/torture-s/941014-2.c.s index 45e6550b2..48b7df2de 100644 --- a/test/torture-s/941014-2.c.s +++ b/test/torture-s/941014-2.c.s @@ -18,14 +18,14 @@ a1: # @a1 .type f,@function f: # @f .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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 $push9=, __stack_pointer + i32.load $push10=, 0($pop9) + i32.const $push11=, 16 + i32.sub $1=, $pop10, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $1 block i32.const $push0=, 4 i32.call $push8=, malloc@FUNCTION, $pop0 @@ -36,17 +36,17 @@ f: # @f br_if 0, $pop3 # 0: down to label0 # BB#1: # %if.then i32.load16_u $push4=, 0($0) - i32.store $discard=, 0($4):p2align=4, $pop4 + i32.store $discard=, 0($1):p2align=4, $pop4 i32.const $push5=, .L.str - i32.call $discard=, printf@FUNCTION, $pop5, $4 + i32.call $discard=, printf@FUNCTION, $pop5, $1 .LBB1_2: # %if.end end_block # label0: i32.const $push6=, 256 i32.store16 $discard=, 2($0), $pop6 - i32.const $3=, 16 - i32.add $4=, $4, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 + i32.const $push13=, 16 + i32.add $1=, $1, $pop13 + i32.const $push14=, __stack_pointer + i32.store $discard=, 0($pop14), $1 return $0 .endfunc .Lfunc_end1: @@ -58,14 +58,14 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($2), $3 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $1=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $1 block i32.const $push0=, 4 i32.call $push12=, malloc@FUNCTION, $pop0 @@ -76,9 +76,9 @@ main: # @main br_if 0, $pop3 # 0: down to label1 # BB#1: # %if.then.i i32.load16_u $push4=, 0($0) - i32.store $discard=, 0($3):p2align=4, $pop4 + i32.store $discard=, 0($1):p2align=4, $pop4 i32.const $push5=, .L.str - i32.call $discard=, printf@FUNCTION, $pop5, $3 + i32.call $discard=, printf@FUNCTION, $pop5, $1 .LBB2_2: # %f.exit end_block # label1: block diff --git a/test/torture-s/950710-1.c.s b/test/torture-s/950710-1.c.s index c83e13e24..548b29834 100644 --- a/test/torture-s/950710-1.c.s +++ b/test/torture-s/950710-1.c.s @@ -18,17 +18,17 @@ g: # @g .type main,@function main: # @main .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=, 32 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.const $4=, 16 - i32.add $4=, $5, $4 - i32.sub $0=, $5, $4 + i32.const $push8=, __stack_pointer + i32.load $push9=, 0($pop8) + i32.const $push10=, 32 + i32.sub $3=, $pop9, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $3 + i32.const $2=, 16 + i32.add $2=, $3, $2 + i32.sub $0=, $3, $2 block i32.const $push0=, 31 i32.shr_s $push7=, $0, $pop0 diff --git a/test/torture-s/960215-1.c.s b/test/torture-s/960215-1.c.s index d9853ec11..e08da4ec3 100644 --- a/test/torture-s/960215-1.c.s +++ b/test/torture-s/960215-1.c.s @@ -6,14 +6,14 @@ .type main,@function main: # @main .result i32 - .local i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, 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 + .local i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, 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 # BB#0: # %entry - i32.const $16=, __stack_pointer - i32.load $16=, 0($16) - i32.const $17=, 320 - i32.sub $56=, $16, $17 - i32.const $17=, __stack_pointer - i32.store $56=, 0($17), $56 + i32.const $push109=, __stack_pointer + i32.load $push110=, 0($pop109) + i32.const $push111=, 320 + i32.sub $54=, $pop110, $pop111 + i32.const $push112=, __stack_pointer + i32.store $discard=, 0($pop112), $54 i32.const $push107=, 0 i64.load $push106=, C($pop107):p2align=4 tee_local $push105=, $2=, $pop106 @@ -26,15 +26,15 @@ main: # @main i32.const $push98=, 0 i64.load $push97=, U+8($pop98) tee_local $push96=, $14=, $pop97 - i32.const $18=, 304 - i32.add $18=, $56, $18 - call __addtf3@FUNCTION, $18, $pop105, $pop102, $pop99, $pop96 - i64.load $push95=, 304($56) + i32.const $16=, 304 + i32.add $16=, $54, $16 + call __addtf3@FUNCTION, $16, $pop105, $pop102, $pop99, $pop96 + i64.load $push95=, 304($54) tee_local $push94=, $9=, $pop95 i32.const $push0=, 8 - i32.const $19=, 304 - i32.add $19=, $56, $19 - i32.add $push1=, $19, $pop0 + i32.const $17=, 304 + i32.add $17=, $54, $17 + i32.add $push1=, $17, $pop0 i64.load $push93=, 0($pop1) tee_local $push92=, $8=, $pop93 i32.const $push91=, 0 @@ -43,209 +43,209 @@ main: # @main i32.const $push88=, 0 i64.load $push87=, Y2+8($pop88) tee_local $push86=, $12=, $pop87 - i32.const $20=, 192 - i32.add $20=, $56, $20 - call __multf3@FUNCTION, $20, $pop94, $pop92, $pop89, $pop86 + i32.const $18=, 192 + i32.add $18=, $54, $18 + call __multf3@FUNCTION, $18, $pop94, $pop92, $pop89, $pop86 i32.const $push85=, 8 - i32.const $21=, 192 - i32.add $21=, $56, $21 - i32.add $push2=, $21, $pop85 + i32.const $19=, 192 + i32.add $19=, $54, $19 + i32.add $push2=, $19, $pop85 i64.load $0=, 0($pop2) - i64.load $1=, 192($56) - i32.const $22=, 240 - i32.add $22=, $56, $22 - call __subtf3@FUNCTION, $22, $2, $3, $15, $14 - i64.load $push84=, 240($56) + i64.load $1=, 192($54) + i32.const $20=, 240 + i32.add $20=, $54, $20 + call __subtf3@FUNCTION, $20, $2, $3, $15, $14 + i64.load $push84=, 240($54) tee_local $push83=, $11=, $pop84 i32.const $push82=, 8 - i32.const $23=, 240 - i32.add $23=, $56, $23 - i32.add $push3=, $23, $pop82 + i32.const $21=, 240 + i32.add $21=, $54, $21 + i32.add $push3=, $21, $pop82 i64.load $push81=, 0($pop3) tee_local $push80=, $10=, $pop81 - i32.const $24=, 224 - i32.add $24=, $56, $24 - call __subtf3@FUNCTION, $24, $pop83, $pop80, $15, $14 + i32.const $22=, 224 + i32.add $22=, $54, $22 + call __subtf3@FUNCTION, $22, $pop83, $pop80, $15, $14 i32.const $push79=, 8 - i32.const $25=, 224 - i32.add $25=, $56, $25 - i32.add $push4=, $25, $pop79 + i32.const $23=, 224 + i32.add $23=, $54, $23 + i32.add $push4=, $23, $pop79 i64.load $2=, 0($pop4) - i64.load $3=, 224($56) - i32.const $26=, 288 - i32.add $26=, $56, $26 - call __addtf3@FUNCTION, $26, $15, $14, $9, $8 + i64.load $3=, 224($54) + i32.const $24=, 288 + i32.add $24=, $54, $24 + call __addtf3@FUNCTION, $24, $15, $14, $9, $8 i32.const $push78=, 8 - i32.const $27=, 288 - i32.add $27=, $56, $27 - i32.add $push5=, $27, $pop78 + i32.const $25=, 288 + i32.add $25=, $54, $25 + i32.add $push5=, $25, $pop78 i64.load $4=, 0($pop5) - i64.load $5=, 288($56) + i64.load $5=, 288($54) i32.const $push77=, 0 i64.load $push76=, Y1($pop77):p2align=4 tee_local $push75=, $9=, $pop76 i32.const $push74=, 0 i64.load $push73=, Y1+8($pop74) tee_local $push72=, $8=, $pop73 - i32.const $28=, 112 - i32.add $28=, $56, $28 - call __multf3@FUNCTION, $28, $11, $10, $pop75, $pop72 + i32.const $26=, 112 + i32.add $26=, $54, $26 + call __multf3@FUNCTION, $26, $11, $10, $pop75, $pop72 i32.const $push71=, 8 - i32.const $29=, 112 - i32.add $29=, $56, $29 - i32.add $push6=, $29, $pop71 + i32.const $27=, 112 + i32.add $27=, $54, $27 + i32.add $push6=, $27, $pop71 i64.load $11=, 0($pop6) - i64.load $10=, 112($56) - i32.const $30=, 272 - i32.add $30=, $56, $30 - call __addtf3@FUNCTION, $30, $5, $4, $15, $14 - i64.load $push70=, 272($56) + i64.load $10=, 112($54) + i32.const $28=, 272 + i32.add $28=, $54, $28 + call __addtf3@FUNCTION, $28, $5, $4, $15, $14 + i64.load $push70=, 272($54) tee_local $push69=, $7=, $pop70 i32.const $push68=, 8 - i32.const $31=, 272 - i32.add $31=, $56, $31 - i32.add $push7=, $31, $pop68 + i32.const $29=, 272 + i32.add $29=, $54, $29 + i32.add $push7=, $29, $pop68 i64.load $push67=, 0($pop7) tee_local $push66=, $6=, $pop67 - i32.const $32=, 176 - i32.add $32=, $56, $32 - call __subtf3@FUNCTION, $32, $1, $0, $pop69, $pop66 - i64.load $0=, 176($56) + i32.const $30=, 176 + i32.add $30=, $54, $30 + call __subtf3@FUNCTION, $30, $1, $0, $pop69, $pop66 + i64.load $0=, 176($54) i32.const $push65=, 0 i32.const $push64=, 8 - i32.const $33=, 176 - i32.add $33=, $56, $33 - i32.add $push8=, $33, $pop64 + i32.const $31=, 176 + i32.add $31=, $54, $31 + i32.add $push8=, $31, $pop64 i64.load $push9=, 0($pop8) i64.store $discard=, X+8($pop65), $pop9 i32.const $push63=, 0 i64.store $discard=, X($pop63):p2align=4, $0 - i32.const $34=, 80 - i32.add $34=, $56, $34 - call __multf3@FUNCTION, $34, $3, $2, $9, $8 + i32.const $32=, 80 + i32.add $32=, $54, $32 + call __multf3@FUNCTION, $32, $3, $2, $9, $8 i32.const $push62=, 8 - i32.const $35=, 80 - i32.add $35=, $56, $35 - i32.add $push10=, $35, $pop62 + i32.const $33=, 80 + i32.add $33=, $54, $33 + i32.add $push10=, $33, $pop62 i64.load $0=, 0($pop10) - i64.load $1=, 80($56) - i32.const $36=, 160 - i32.add $36=, $56, $36 - call __multf3@FUNCTION, $36, $5, $4, $13, $12 - i64.load $4=, 160($56) + i64.load $1=, 80($54) + i32.const $34=, 160 + i32.add $34=, $54, $34 + call __multf3@FUNCTION, $34, $5, $4, $13, $12 + i64.load $4=, 160($54) i32.const $push61=, 0 i32.const $push60=, 8 - i32.const $37=, 160 - i32.add $37=, $56, $37 - i32.add $push11=, $37, $pop60 + i32.const $35=, 160 + i32.add $35=, $54, $35 + i32.add $push11=, $35, $pop60 i64.load $push12=, 0($pop11) i64.store $5=, S+8($pop61), $pop12 i32.const $push59=, 0 i64.store $discard=, S($pop59):p2align=4, $4 - i32.const $38=, 96 - i32.add $38=, $56, $38 - call __subtf3@FUNCTION, $38, $10, $11, $3, $2 - i64.load $11=, 96($56) + i32.const $36=, 96 + i32.add $36=, $54, $36 + call __subtf3@FUNCTION, $36, $10, $11, $3, $2 + i64.load $11=, 96($54) i32.const $push58=, 0 i32.const $push57=, 8 - i32.const $39=, 96 - i32.add $39=, $56, $39 - i32.add $push13=, $39, $pop57 + i32.const $37=, 96 + i32.add $37=, $54, $37 + i32.add $push13=, $37, $pop57 i64.load $push14=, 0($pop13) i64.store $discard=, T+8($pop58), $pop14 i32.const $push56=, 0 i64.store $discard=, T($pop56):p2align=4, $11 - i32.const $40=, 208 - i32.add $40=, $56, $40 - call __subtf3@FUNCTION, $40, $15, $14, $3, $2 - i64.load $push17=, 208($56) + i32.const $38=, 208 + i32.add $38=, $54, $38 + call __subtf3@FUNCTION, $38, $15, $14, $3, $2 + i64.load $push17=, 208($54) i32.const $push55=, 8 - i32.const $41=, 208 - i32.add $41=, $56, $41 - i32.add $push15=, $41, $pop55 + i32.const $39=, 208 + i32.add $39=, $54, $39 + i32.add $push15=, $39, $pop55 i64.load $push16=, 0($pop15) - i32.const $42=, 64 - i32.add $42=, $56, $42 - call __addtf3@FUNCTION, $42, $pop17, $pop16, $1, $0 - i64.load $2=, 64($56) + i32.const $40=, 64 + i32.add $40=, $54, $40 + call __addtf3@FUNCTION, $40, $pop17, $pop16, $1, $0 + i64.load $2=, 64($54) i32.const $push54=, 0 i32.const $push53=, 8 - i32.const $43=, 64 - i32.add $43=, $56, $43 - i32.add $push18=, $43, $pop53 + i32.const $41=, 64 + i32.add $41=, $54, $41 + i32.add $push18=, $41, $pop53 i64.load $push19=, 0($pop18) i64.store $discard=, Y+8($pop54), $pop19 i32.const $push52=, 0 i64.store $discard=, Y($pop52):p2align=4, $2 - i32.const $44=, 256 - i32.add $44=, $56, $44 - call __addtf3@FUNCTION, $44, $15, $14, $7, $6 - i64.load $push22=, 256($56) + i32.const $42=, 256 + i32.add $42=, $54, $42 + call __addtf3@FUNCTION, $42, $15, $14, $7, $6 + i64.load $push22=, 256($54) i32.const $push51=, 8 - i32.const $45=, 256 - i32.add $45=, $56, $45 - i32.add $push20=, $45, $pop51 + i32.const $43=, 256 + i32.add $43=, $54, $43 + i32.add $push20=, $43, $pop51 i64.load $push21=, 0($pop20) - i32.const $46=, 144 - i32.add $46=, $56, $46 - call __subtf3@FUNCTION, $46, $4, $5, $pop22, $pop21 - i64.load $2=, 144($56) + i32.const $44=, 144 + i32.add $44=, $54, $44 + call __subtf3@FUNCTION, $44, $4, $5, $pop22, $pop21 + i64.load $2=, 144($54) i32.const $push50=, 0 i32.const $push49=, 8 - i32.const $47=, 144 - i32.add $47=, $56, $47 - i32.add $push23=, $47, $pop49 + i32.const $45=, 144 + i32.add $45=, $54, $45 + i32.add $push23=, $45, $pop49 i64.load $push24=, 0($pop23) i64.store $3=, Z+8($pop50), $pop24 i32.const $push48=, 0 i64.store $discard=, Z($pop48):p2align=4, $2 - i32.const $48=, 128 - i32.add $48=, $56, $48 - call __addtf3@FUNCTION, $48, $15, $14, $13, $12 - i64.load $push27=, 128($56) + i32.const $46=, 128 + i32.add $46=, $54, $46 + call __addtf3@FUNCTION, $46, $15, $14, $13, $12 + i64.load $push27=, 128($54) i32.const $push47=, 8 - i32.const $49=, 128 - i32.add $49=, $56, $49 - i32.add $push25=, $49, $pop47 + i32.const $47=, 128 + i32.add $47=, $54, $47 + i32.add $push25=, $47, $pop47 i64.load $push26=, 0($pop25) - i32.const $50=, 48 - i32.add $50=, $56, $50 - call __multf3@FUNCTION, $50, $pop27, $pop26, $9, $8 + i32.const $48=, 48 + i32.add $48=, $54, $48 + call __multf3@FUNCTION, $48, $pop27, $pop26, $9, $8 i32.const $push46=, 8 - i32.const $51=, 48 - i32.add $51=, $56, $51 - i32.add $push28=, $51, $pop46 + i32.const $49=, 48 + i32.add $49=, $54, $49 + i32.add $push28=, $49, $pop46 i64.load $15=, 0($pop28) - i64.load $14=, 48($56) - i32.const $52=, 16 - i32.add $52=, $56, $52 - call __multf3@FUNCTION, $52, $13, $12, $9, $8 + i64.load $14=, 48($54) + i32.const $50=, 16 + i32.add $50=, $54, $50 + call __multf3@FUNCTION, $50, $13, $12, $9, $8 i32.const $push45=, 8 - i32.const $53=, 16 - i32.add $53=, $56, $53 - i32.add $push29=, $53, $pop45 + i32.const $51=, 16 + i32.add $51=, $54, $51 + i32.add $push29=, $51, $pop45 i64.load $9=, 0($pop29) - i64.load $8=, 16($56) - i32.const $54=, 32 - i32.add $54=, $56, $54 - call __subtf3@FUNCTION, $54, $14, $15, $13, $12 - i64.load $15=, 32($56) + i64.load $8=, 16($54) + i32.const $52=, 32 + i32.add $52=, $54, $52 + call __subtf3@FUNCTION, $52, $14, $15, $13, $12 + i64.load $15=, 32($54) i32.const $push44=, 0 i32.const $push43=, 8 - i32.const $55=, 32 - i32.add $55=, $56, $55 - i32.add $push30=, $55, $pop43 + i32.const $53=, 32 + i32.add $53=, $54, $53 + i32.add $push30=, $53, $pop43 i64.load $push31=, 0($pop30) i64.store $discard=, R+8($pop44), $pop31 i32.const $push42=, 0 i64.store $discard=, R($pop42):p2align=4, $15 i64.const $push33=, 0 i64.const $push32=, -4612248968380809216 - call __addtf3@FUNCTION, $56, $8, $9, $pop33, $pop32 - i64.load $15=, 0($56) + call __addtf3@FUNCTION, $54, $8, $9, $pop33, $pop32 + i64.load $15=, 0($54) i32.const $push41=, 0 i32.const $push40=, 8 - i32.add $push34=, $56, $pop40 + i32.add $push34=, $54, $pop40 i64.load $push35=, 0($pop34) i64.store $discard=, Y1+8($pop41), $pop35 i32.const $push39=, 0 @@ -254,9 +254,9 @@ main: # @main i64.const $push38=, 0 i64.const $push36=, 4612108230892453888 i32.call $push37=, __eqtf2@FUNCTION, $2, $3, $pop38, $pop36 - i32.const $push109=, 0 - i32.eq $push110=, $pop37, $pop109 - br_if 0, $pop110 # 0: down to label0 + i32.const $push113=, 0 + i32.eq $push114=, $pop37, $pop113 + br_if 0, $pop114 # 0: down to label0 # BB#1: # %if.then call abort@FUNCTION unreachable diff --git a/test/torture-s/960312-1.c.s b/test/torture-s/960312-1.c.s index 4dd0b5eaa..559386b55 100644 --- a/test/torture-s/960312-1.c.s +++ b/test/torture-s/960312-1.c.s @@ -9,22 +9,24 @@ f: # @f .result i32 .local i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.load $3=, 8($0) - i32.const $5=, 16 - i32.add $5=, $0, $5 - i32.load $1=, 4($3) - i32.load $2=, 8($3) - i32.load $6=, 0($5) - i32.load $4=, 12($0) + i32.load $push5=, 8($0) + tee_local $push4=, $6=, $pop5 + i32.load $1=, 4($pop4) + i32.load $2=, 8($6) + i32.const $push1=, 16 + i32.add $push3=, $0, $pop1 + tee_local $push2=, $5=, $pop3 + i32.load $4=, 0($pop2) + i32.load $3=, 12($0) #APP #NO_APP - i32.load $push0=, 0($3) - i32.store $discard=, 8($3), $pop0 - i32.store $discard=, 0($3), $6 - i32.store $discard=, 0($5), $4 + i32.load $push0=, 0($6) + i32.store $discard=, 8($6), $pop0 + i32.store $discard=, 0($6), $4 + i32.store $discard=, 0($5), $3 i32.store $discard=, 12($0), $2 i32.store $discard=, 4($0), $1 - i32.store $discard=, 0($0), $3 + i32.store $discard=, 0($0), $6 return $0 .endfunc .Lfunc_end0: @@ -38,10 +40,12 @@ main: # @main .result i32 .local i32, i32, i32 # BB#0: # %entry - i32.const $2=, 0 - i32.load $0=, main.sc+4($2) - i32.load $1=, main.sc+8($2) - i32.load $2=, main.sc($2) + i32.const $push8=, 0 + i32.load $0=, main.sc+4($pop8) + i32.const $push7=, 0 + i32.load $1=, main.sc+8($pop7) + i32.const $push6=, 0 + i32.load $2=, main.sc($pop6) #APP #NO_APP i32.const $push5=, 0 @@ -54,8 +58,8 @@ main: # @main i32.ne $push3=, $pop0, $pop2 br_if 0, $pop3 # 0: down to label0 # BB#1: # %if.end - i32.const $push6=, 0 - call exit@FUNCTION, $pop6 + i32.const $push9=, 0 + call exit@FUNCTION, $pop9 unreachable .LBB1_2: # %if.then end_block # label0: diff --git a/test/torture-s/960327-1.c.s b/test/torture-s/960327-1.c.s index b90f836bd..0c747db5d 100644 --- a/test/torture-s/960327-1.c.s +++ b/test/torture-s/960327-1.c.s @@ -19,29 +19,29 @@ g: # @g .type f,@function f: # @f .result i32 - .local i32, i32, i32, i32, i32, i32 + .local 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 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $push22=, __stack_pointer + i32.load $push23=, 0($pop22) + i32.const $push24=, 16 + i32.sub $2=, $pop23, $pop24 + i32.const $push25=, __stack_pointer + i32.store $discard=, 0($pop25), $2 i32.const $push2=, 12 - i32.add $push3=, $5, $pop2 + i32.add $push3=, $2, $pop2 i32.const $push0=, 0 i32.load16_u $push1=, .Lf.s+12($pop0):p2align=0 i32.store16 $discard=, 0($pop3):p2align=2, $pop1 i32.const $push5=, 8 - i32.add $push6=, $5, $pop5 + i32.add $push6=, $2, $pop5 i32.const $push18=, 0 i32.load $push4=, .Lf.s+8($pop18):p2align=0 i32.store $discard=, 0($pop6), $pop4 i32.const $push17=, 0 i64.load $push7=, .Lf.s($pop17):p2align=0 - i64.store $discard=, 0($5):p2align=2, $pop7 + i64.store $discard=, 0($2):p2align=2, $pop7 i32.const $push8=, 13 - i32.add $1=, $5, $pop8 + i32.add $1=, $2, $pop8 .LBB1_1: # %while.cond # =>This Inner Loop Header: Depth=1 loop # label0: @@ -59,15 +59,15 @@ f: # @f i32.const $push11=, 88 i32.store16 $push12=, 0($1):p2align=0, $pop11 i32.const $push13=, 12 - i32.add $push14=, $5, $pop13 + i32.add $push14=, $2, $pop13 i32.load8_u $push15=, 0($pop14):p2align=2 i32.ne $push16=, $pop12, $pop15 br_if 0, $pop16 # 0: down to label2 # BB#3: # %if.end - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push26=, 16 + i32.add $2=, $2, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $2 return $1 .LBB1_4: # %if.then end_block # label2: diff --git a/test/torture-s/960513-1.c.s b/test/torture-s/960513-1.c.s index 8fe902c7f..8054856b5 100644 --- a/test/torture-s/960513-1.c.s +++ b/test/torture-s/960513-1.c.s @@ -6,145 +6,145 @@ .type f,@function f: # @f .param i32, i64, i64, i32 - .local 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 + .local 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 # BB#0: # %entry - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 192 - i32.sub $31=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $31=, 0($7), $31 + i32.const $push66=, __stack_pointer + i32.load $push67=, 0($pop66) + i32.const $push68=, 192 + i32.sub $28=, $pop67, $pop68 + i32.const $push69=, __stack_pointer + i32.store $discard=, 0($pop69), $28 i64.const $push1=, 0 i64.const $push0=, -9223372036854775808 - i32.const $9=, 176 - i32.add $9=, $31, $9 - call __subtf3@FUNCTION, $9, $pop1, $pop0, $1, $2 + i32.const $6=, 176 + i32.add $6=, $28, $6 + call __subtf3@FUNCTION, $6, $pop1, $pop0, $1, $2 i32.const $push2=, 8 - i32.const $10=, 176 - i32.add $10=, $31, $10 - i32.add $push3=, $10, $pop2 + i32.const $7=, 176 + i32.add $7=, $28, $7 + i32.add $push3=, $7, $pop2 i64.load $4=, 0($pop3) - i64.load $5=, 176($31) + i64.load $5=, 176($28) i64.const $push65=, 0 i64.const $push5=, -4611686018427387904 - i32.const $11=, 160 - i32.add $11=, $31, $11 - call __multf3@FUNCTION, $11, $1, $2, $pop65, $pop5 - i64.load $push8=, 160($31) + i32.const $8=, 160 + i32.add $8=, $28, $8 + call __multf3@FUNCTION, $8, $1, $2, $pop65, $pop5 + i64.load $push8=, 160($28) i32.const $push4=, 1 i32.eq $push64=, $3, $pop4 tee_local $push63=, $3=, $pop64 i64.select $push62=, $pop8, $5, $pop63 tee_local $push61=, $5=, $pop62 i32.const $push60=, 8 - i32.const $12=, 160 - i32.add $12=, $31, $12 - i32.add $push6=, $12, $pop60 + i32.const $9=, 160 + i32.add $9=, $28, $9 + i32.add $push6=, $9, $pop60 i64.load $push7=, 0($pop6) i64.select $push59=, $pop7, $4, $3 tee_local $push58=, $4=, $pop59 - i32.const $13=, 144 - i32.add $13=, $31, $13 - call __multf3@FUNCTION, $13, $pop61, $pop58, $1, $2 - i64.load $push11=, 144($31) + i32.const $10=, 144 + i32.add $10=, $28, $10 + call __multf3@FUNCTION, $10, $pop61, $pop58, $1, $2 + i64.load $push11=, 144($28) i32.const $push57=, 8 - i32.const $14=, 144 - i32.add $14=, $31, $14 - i32.add $push9=, $14, $pop57 + i32.const $11=, 144 + i32.add $11=, $28, $11 + i32.add $push9=, $11, $pop57 i64.load $push10=, 0($pop9) - i32.const $15=, 128 - i32.add $15=, $31, $15 - call __addtf3@FUNCTION, $15, $5, $4, $pop11, $pop10 - i64.load $push56=, 128($31) + i32.const $12=, 128 + i32.add $12=, $28, $12 + call __addtf3@FUNCTION, $12, $5, $4, $pop11, $pop10 + i64.load $push56=, 128($28) tee_local $push55=, $4=, $pop56 i32.const $push54=, 8 - i32.const $16=, 128 - i32.add $16=, $31, $16 - i32.add $push12=, $16, $pop54 + i32.const $13=, 128 + i32.add $13=, $28, $13 + i32.add $push12=, $13, $pop54 i64.load $push53=, 0($pop12) tee_local $push52=, $5=, $pop53 - i32.const $17=, 112 - i32.add $17=, $31, $17 - call __multf3@FUNCTION, $17, $pop55, $pop52, $1, $2 - i64.load $push15=, 112($31) + i32.const $14=, 112 + i32.add $14=, $28, $14 + call __multf3@FUNCTION, $14, $pop55, $pop52, $1, $2 + i64.load $push15=, 112($28) i32.const $push51=, 8 - i32.const $18=, 112 - i32.add $18=, $31, $18 - i32.add $push13=, $18, $pop51 + i32.const $15=, 112 + i32.add $15=, $28, $15 + i32.add $push13=, $15, $pop51 i64.load $push14=, 0($pop13) - i32.const $19=, 96 - i32.add $19=, $31, $19 - call __addtf3@FUNCTION, $19, $4, $5, $pop15, $pop14 - i64.load $push50=, 96($31) + i32.const $16=, 96 + i32.add $16=, $28, $16 + call __addtf3@FUNCTION, $16, $4, $5, $pop15, $pop14 + i64.load $push50=, 96($28) tee_local $push49=, $4=, $pop50 i32.const $push48=, 8 - i32.const $20=, 96 - i32.add $20=, $31, $20 - i32.add $push16=, $20, $pop48 + i32.const $17=, 96 + i32.add $17=, $28, $17 + i32.add $push16=, $17, $pop48 i64.load $push47=, 0($pop16) tee_local $push46=, $5=, $pop47 - i32.const $21=, 80 - i32.add $21=, $31, $21 - call __multf3@FUNCTION, $21, $pop49, $pop46, $1, $2 - i64.load $push19=, 80($31) + i32.const $18=, 80 + i32.add $18=, $28, $18 + call __multf3@FUNCTION, $18, $pop49, $pop46, $1, $2 + i64.load $push19=, 80($28) i32.const $push45=, 8 - i32.const $22=, 80 - i32.add $22=, $31, $22 - i32.add $push17=, $22, $pop45 + i32.const $19=, 80 + i32.add $19=, $28, $19 + i32.add $push17=, $19, $pop45 i64.load $push18=, 0($pop17) - i32.const $23=, 64 - i32.add $23=, $31, $23 - call __addtf3@FUNCTION, $23, $4, $5, $pop19, $pop18 - i64.load $push44=, 64($31) + i32.const $20=, 64 + i32.add $20=, $28, $20 + call __addtf3@FUNCTION, $20, $4, $5, $pop19, $pop18 + i64.load $push44=, 64($28) tee_local $push43=, $4=, $pop44 i32.const $push42=, 8 - i32.const $24=, 64 - i32.add $24=, $31, $24 - i32.add $push20=, $24, $pop42 + i32.const $21=, 64 + i32.add $21=, $28, $21 + i32.add $push20=, $21, $pop42 i64.load $push41=, 0($pop20) tee_local $push40=, $5=, $pop41 - i32.const $25=, 48 - i32.add $25=, $31, $25 - call __multf3@FUNCTION, $25, $pop43, $pop40, $1, $2 - i64.load $push23=, 48($31) + i32.const $22=, 48 + i32.add $22=, $28, $22 + call __multf3@FUNCTION, $22, $pop43, $pop40, $1, $2 + i64.load $push23=, 48($28) i32.const $push39=, 8 - i32.const $26=, 48 - i32.add $26=, $31, $26 - i32.add $push21=, $26, $pop39 + i32.const $23=, 48 + i32.add $23=, $28, $23 + i32.add $push21=, $23, $pop39 i64.load $push22=, 0($pop21) - i32.const $27=, 32 - i32.add $27=, $31, $27 - call __addtf3@FUNCTION, $27, $4, $5, $pop23, $pop22 - i64.load $push38=, 32($31) + i32.const $24=, 32 + i32.add $24=, $28, $24 + call __addtf3@FUNCTION, $24, $4, $5, $pop23, $pop22 + i64.load $push38=, 32($28) tee_local $push37=, $4=, $pop38 i32.const $push36=, 8 - i32.const $28=, 32 - i32.add $28=, $31, $28 - i32.add $push24=, $28, $pop36 + i32.const $25=, 32 + i32.add $25=, $28, $25 + i32.add $push24=, $25, $pop36 i64.load $push35=, 0($pop24) tee_local $push34=, $5=, $pop35 - i32.const $29=, 16 - i32.add $29=, $31, $29 - call __multf3@FUNCTION, $29, $pop37, $pop34, $1, $2 - i64.load $push27=, 16($31) + i32.const $26=, 16 + i32.add $26=, $28, $26 + call __multf3@FUNCTION, $26, $pop37, $pop34, $1, $2 + i64.load $push27=, 16($28) i32.const $push33=, 8 - i32.const $30=, 16 - i32.add $30=, $31, $30 - i32.add $push25=, $30, $pop33 + i32.const $27=, 16 + i32.add $27=, $28, $27 + i32.add $push25=, $27, $pop33 i64.load $push26=, 0($pop25) - call __addtf3@FUNCTION, $31, $4, $5, $pop27, $pop26 - i64.load $2=, 0($31) + call __addtf3@FUNCTION, $28, $4, $5, $pop27, $pop26 + i64.load $2=, 0($28) i32.const $push32=, 8 i32.add $push30=, $0, $pop32 i32.const $push31=, 8 - i32.add $push28=, $31, $pop31 + i32.add $push28=, $28, $pop31 i64.load $push29=, 0($pop28) i64.store $discard=, 0($pop30), $pop29 i64.store $discard=, 0($0):p2align=4, $2 - i32.const $8=, 192 - i32.add $31=, $31, $8 - i32.const $8=, __stack_pointer - i32.store $31=, 0($8), $31 + i32.const $push70=, 192 + i32.add $28=, $28, $pop70 + i32.const $push71=, __stack_pointer + i32.store $discard=, 0($pop71), $28 return .endfunc .Lfunc_end0: diff --git a/test/torture-s/960909-1.c.s b/test/torture-s/960909-1.c.s index c0bf4907f..17c90045a 100644 --- a/test/torture-s/960909-1.c.s +++ b/test/torture-s/960909-1.c.s @@ -11,15 +11,15 @@ ffs: # @ffs # BB#0: # %entry i32.const $2=, 0 block + block i32.const $push5=, 0 i32.eq $push6=, $0, $pop5 - br_if 0, $pop6 # 0: down to label0 + br_if 0, $pop6 # 0: down to label1 # BB#1: # %for.cond.preheader i32.const $1=, 1 - block i32.const $push2=, 1 i32.and $push0=, $0, $pop2 - br_if 0, $pop0 # 0: down to label1 + br_if 1, $pop0 # 1: down to label0 # BB#2: i32.const $2=, 1 .LBB0_3: # %for.inc @@ -33,13 +33,13 @@ ffs: # @ffs i32.const $push7=, 0 i32.eq $push8=, $pop1, $pop7 br_if 0, $pop8 # 0: up to label2 - br 3 # 3: down to label0 -.LBB0_4: +.LBB0_4: # %cleanup end_loop # label3: end_block # label1: - i32.const $2=, 1 -.LBB0_5: # %cleanup + return $2 +.LBB0_5: end_block # label0: + i32.const $2=, 1 return $2 .endfunc .Lfunc_end0: diff --git a/test/torture-s/980205.c.s b/test/torture-s/980205.c.s index a77c5436d..30f6435b7 100644 --- a/test/torture-s/980205.c.s +++ b/test/torture-s/980205.c.s @@ -6,15 +6,15 @@ .type fdouble,@function fdouble: # @fdouble .param f64, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $push1=, 12($5), $1 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $2=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $2 + i32.store $push1=, 12($2), $1 i32.const $push2=, 7 i32.add $push3=, $pop1, $pop2 i32.const $push4=, -8 @@ -22,7 +22,7 @@ fdouble: # @fdouble tee_local $push11=, $1=, $pop12 i32.const $push5=, 8 i32.add $push6=, $pop11, $pop5 - i32.store $discard=, 12($5), $pop6 + i32.store $discard=, 12($2), $pop6 block f64.const $push7=, 0x1p0 f64.ne $push8=, $0, $pop7 @@ -33,10 +33,10 @@ fdouble: # @fdouble f64.ne $push10=, $pop0, $pop9 br_if 0, $pop10 # 0: down to label0 # BB#2: # %if.end - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push17=, 16 + i32.add $2=, $2, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $2 return .LBB0_3: # %if.then end_block # label0: @@ -52,18 +52,18 @@ fdouble: # @fdouble .type main,@function main: # @main .result i32 - .local i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $2=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $2=, 0($1), $2 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $0=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $0 i64.const $push0=, 4611686018427387904 - i64.store $discard=, 0($2):p2align=4, $pop0 + i64.store $discard=, 0($0):p2align=4, $pop0 f64.const $push1=, 0x1p0 - call fdouble@FUNCTION, $pop1, $2 + call fdouble@FUNCTION, $pop1, $0 i32.const $push2=, 0 call exit@FUNCTION, $pop2 unreachable diff --git a/test/torture-s/980223.c.s b/test/torture-s/980223.c.s index 7638ac205..e12e2b43f 100644 --- a/test/torture-s/980223.c.s +++ b/test/torture-s/980223.c.s @@ -19,14 +19,14 @@ bar: # @bar .type foo,@function foo: # @foo .param i32, i32, i32 - .local i32, i64, i32, i32, i32, i32, i32 + .local i32, i64, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 16 - i32.sub $9=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $9=, 0($6), $9 + i32.const $push11=, __stack_pointer + i32.load $push12=, 0($pop11) + i32.const $push13=, 16 + i32.sub $6=, $pop12, $pop13 + i32.const $push14=, __stack_pointer + i32.store $discard=, 0($pop14), $6 block block block @@ -52,18 +52,18 @@ foo: # @foo .LBB1_3: # %if.end7 end_block # label1: i64.store $discard=, 0($0):p2align=2, $4 - i32.const $7=, 16 - i32.add $9=, $9, $7 - i32.const $7=, __stack_pointer - i32.store $9=, 0($7), $9 + i32.const $push15=, 16 + i32.add $6=, $6, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $6 return .LBB1_4: # %if.then6 end_block # label0: i64.load $push4=, 0($2):p2align=2 - i64.store $discard=, 8($9):p2align=2, $pop4 - i32.const $8=, 8 - i32.add $8=, $9, $8 - call bar@FUNCTION, $2, $8 + i64.store $discard=, 8($6):p2align=2, $pop4 + i32.const $5=, 8 + i32.add $5=, $6, $5 + call bar@FUNCTION, $2, $5 unreachable .endfunc .Lfunc_end1: @@ -75,49 +75,49 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local 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 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $2=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $2 i32.const $push7=, 0 i32.load8_u $0=, cons2+4($pop7):p2align=2 i32.const $push6=, 0 i64.load $push0=, .Lmain.y($pop6) - i64.store $discard=, 8($5), $pop0 + i64.store $discard=, 8($2), $pop0 block block i32.const $push5=, 64 i32.and $push1=, $0, $pop5 - i32.const $push13=, 0 - i32.eq $push14=, $pop1, $pop13 - br_if 0, $pop14 # 0: down to label4 + i32.const $push19=, 0 + i32.eq $push20=, $pop1, $pop19 + br_if 0, $pop20 # 0: down to label4 # BB#1: # %if.then.i i32.const $push11=, 0 i32.load $push10=, cons2($pop11):p2align=4 tee_local $push9=, $0=, $pop10 i32.load8_u $1=, 4($pop9):p2align=2 i64.load $push2=, 8($0):p2align=2 - i64.store $discard=, 8($5), $pop2 + i64.store $discard=, 8($2), $pop2 i32.const $push8=, 64 i32.and $push3=, $1, $pop8 br_if 1, $pop3 # 1: down to label3 .LBB2_2: # %foo.exit end_block # label4: i32.const $push12=, 0 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push17=, 16 + i32.add $2=, $2, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $2 return $pop12 .LBB2_3: # %if.then6.i end_block # label3: - i64.load $push4=, 8($5) - i64.store $discard=, 0($5):p2align=2, $pop4 - call bar@FUNCTION, $0, $5 + i64.load $push4=, 8($2) + i64.store $discard=, 0($2):p2align=2, $pop4 + call bar@FUNCTION, $0, $2 unreachable .endfunc .Lfunc_end2: diff --git a/test/torture-s/980605-1.c.s b/test/torture-s/980605-1.c.s index c377d88db..883f97e34 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 + .local i32, i32 # BB#0: # %entry - 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 $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $1=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $1 i32.const $push0=, 0 i32.const $push15=, 0 i32.load $push14=, x($pop15) @@ -73,19 +73,19 @@ f: # @f i32.add $push4=, $pop11, $0 i32.const $push5=, 207 i32.add $push6=, $pop4, $pop5 - i32.store $0=, 0($4):p2align=4, $pop6 + i32.store $0=, 0($1):p2align=4, $pop6 i32.const $push8=, buf i32.const $push7=, .L.str - i32.call $discard=, sprintf@FUNCTION, $pop8, $pop7, $4 + i32.call $discard=, sprintf@FUNCTION, $pop8, $pop7, $1 block i32.const $push9=, 227 i32.ne $push10=, $0, $pop9 br_if 0, $pop10 # 0: down to label0 # BB#1: # %if.end - i32.const $3=, 16 - i32.add $4=, $4, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 + i32.const $push20=, 16 + i32.add $1=, $1, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $1 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 9237f6408..52377fea7 100644 --- a/test/torture-s/980608-1.c.s +++ b/test/torture-s/980608-1.c.s @@ -18,105 +18,71 @@ f1: # @f1 .type debug,@function debug: # @debug .param i32, i32 - .local i32, i32, i32, i32 + .local 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 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $push0=, 12($5), $1 - i32.const $push40=, 3 - i32.add $push1=, $pop0, $pop40 - i32.const $push39=, -4 - i32.and $push38=, $pop1, $pop39 - tee_local $push37=, $1=, $pop38 - i32.const $push36=, 4 - i32.add $push2=, $pop37, $pop36 - i32.store $discard=, 12($5), $pop2 + i32.const $push32=, __stack_pointer + i32.load $push33=, 0($pop32) + i32.const $push34=, 16 + i32.sub $4=, $pop33, $pop34 + i32.const $push35=, __stack_pointer + i32.store $discard=, 0($pop35), $4 + i32.store $push31=, 12($4), $1 + tee_local $push30=, $1=, $pop31 + i32.const $push0=, 4 + i32.add $push1=, $pop30, $pop0 + i32.store $2=, 12($4), $pop1 block - i32.load $push3=, 0($1) - i32.const $push4=, 101 - i32.ne $push5=, $pop3, $pop4 - br_if 0, $pop5 # 0: down to label0 + i32.load $push2=, 0($1) + i32.const $push3=, 101 + i32.ne $push4=, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label0 # BB#1: # %if.end - i32.load $push6=, 12($5) - i32.const $push45=, 3 - i32.add $push7=, $pop6, $pop45 - i32.const $push44=, -4 - i32.and $push43=, $pop7, $pop44 - tee_local $push42=, $1=, $pop43 - i32.const $push41=, 4 - i32.add $push8=, $pop42, $pop41 - i32.store $discard=, 12($5), $pop8 - i32.load $push9=, 0($1) - i32.const $push10=, 102 - i32.ne $push11=, $pop9, $pop10 - br_if 0, $pop11 # 0: down to label0 -# BB#2: # %if.end4 - i32.load $push12=, 12($5) - i32.const $push50=, 3 - i32.add $push13=, $pop12, $pop50 - i32.const $push49=, -4 - i32.and $push48=, $pop13, $pop49 - tee_local $push47=, $1=, $pop48 - i32.const $push46=, 4 - i32.add $push14=, $pop47, $pop46 - i32.store $discard=, 12($5), $pop14 - i32.load $push15=, 0($1) - i32.const $push16=, 103 - i32.ne $push17=, $pop15, $pop16 - br_if 0, $pop17 # 0: down to label0 -# BB#3: # %if.end7 - i32.load $push18=, 12($5) - i32.const $push55=, 3 - i32.add $push19=, $pop18, $pop55 - i32.const $push54=, -4 - i32.and $push53=, $pop19, $pop54 - tee_local $push52=, $1=, $pop53 - i32.const $push51=, 4 - i32.add $push20=, $pop52, $pop51 - i32.store $discard=, 12($5), $pop20 - i32.load $push21=, 0($1) - i32.const $push22=, 104 - i32.ne $push23=, $pop21, $pop22 - br_if 0, $pop23 # 0: down to label0 -# BB#4: # %if.end10 - i32.load $push24=, 12($5) - i32.const $push60=, 3 - i32.add $push25=, $pop24, $pop60 - i32.const $push59=, -4 - i32.and $push58=, $pop25, $pop59 - tee_local $push57=, $1=, $pop58 - i32.const $push56=, 4 - i32.add $push26=, $pop57, $pop56 - i32.store $discard=, 12($5), $pop26 - i32.load $push27=, 0($1) - i32.const $push28=, 105 + i32.const $push5=, 8 + i32.add $push6=, $1, $pop5 + i32.store $3=, 12($4), $pop6 + i32.load $push7=, 0($2) + i32.const $push8=, 102 + i32.ne $push9=, $pop7, $pop8 + br_if 0, $pop9 # 0: down to label0 +# BB#2: # %if.end6 + i32.const $push10=, 12 + i32.add $push11=, $1, $pop10 + i32.store $2=, 12($4), $pop11 + i32.load $push12=, 0($3) + i32.const $push13=, 103 + i32.ne $push14=, $pop12, $pop13 + br_if 0, $pop14 # 0: down to label0 +# BB#3: # %if.end11 + i32.const $push15=, 16 + i32.add $push16=, $1, $pop15 + i32.store $3=, 12($4), $pop16 + i32.load $push17=, 0($2) + i32.const $push18=, 104 + i32.ne $push19=, $pop17, $pop18 + br_if 0, $pop19 # 0: down to label0 +# BB#4: # %if.end16 + i32.const $push20=, 20 + i32.add $push21=, $1, $pop20 + i32.store $2=, 12($4), $pop21 + i32.load $push22=, 0($3) + i32.const $push23=, 105 + i32.ne $push24=, $pop22, $pop23 + br_if 0, $pop24 # 0: down to label0 +# BB#5: # %if.end21 + i32.const $push25=, 24 + i32.add $push26=, $1, $pop25 + i32.store $discard=, 12($4), $pop26 + i32.load $push27=, 0($2) + i32.const $push28=, 106 i32.ne $push29=, $pop27, $pop28 br_if 0, $pop29 # 0: down to label0 -# BB#5: # %if.end13 - i32.load $push30=, 12($5) - i32.const $push65=, 3 - i32.add $push31=, $pop30, $pop65 - i32.const $push64=, -4 - i32.and $push63=, $pop31, $pop64 - tee_local $push62=, $1=, $pop63 - i32.const $push61=, 4 - i32.add $push32=, $pop62, $pop61 - i32.store $discard=, 12($5), $pop32 - i32.load $push33=, 0($1) - i32.const $push34=, 106 - i32.ne $push35=, $pop33, $pop34 - br_if 0, $pop35 # 0: down to label0 -# BB#6: # %if.end16 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 +# BB#6: # %if.end26 + i32.const $push36=, 16 + i32.add $4=, $4, $pop36 + i32.const $push37=, __stack_pointer + i32.store $discard=, 0($pop37), $4 return -.LBB1_7: # %if.then15 +.LBB1_7: # %if.then25 end_block # label0: call abort@FUNCTION unreachable @@ -130,27 +96,25 @@ debug: # @debug .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($2), $3 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 32 + i32.sub $1=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $1 i32.const $push0=, 16 - i32.add $push1=, $3, $pop0 + i32.add $push1=, $1, $pop0 i64.const $push2=, 455266533481 i64.store $discard=, 0($pop1):p2align=4, $pop2 - i32.const $push3=, 8 - 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 + i64.const $push3=, 446676598887 + i64.store $discard=, 8($1), $pop3 + i64.const $push4=, 438086664293 + i64.store $discard=, 0($1):p2align=4, $pop4 + call debug@FUNCTION, $0, $1 + i32.const $push5=, 0 + call exit@FUNCTION, $pop5 unreachable .endfunc .Lfunc_end2: diff --git a/test/torture-s/980617-1.c.s b/test/torture-s/980617-1.c.s index 5853a2f80..454c84afa 100644 --- a/test/torture-s/980617-1.c.s +++ b/test/torture-s/980617-1.c.s @@ -30,19 +30,19 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $1=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $1 i32.const $push0=, 196625 - i32.store $discard=, 12($3), $pop0 - i32.const $2=, 12 - i32.add $2=, $3, $2 - call foo@FUNCTION, $2 + i32.store $discard=, 12($1), $pop0 + i32.const $0=, 12 + i32.add $0=, $1, $0 + call foo@FUNCTION, $0 i32.const $push1=, 0 call exit@FUNCTION, $pop1 unreachable diff --git a/test/torture-s/980707-1.c.s b/test/torture-s/980707-1.c.s index e1a81303b..b4b632eaa 100644 --- a/test/torture-s/980707-1.c.s +++ b/test/torture-s/980707-1.c.s @@ -86,23 +86,21 @@ buildargv: # @buildargv .type main,@function main: # @main .result i32 - .local i32, 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=, 256 - i32.sub $5=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 - copy_local $0=, $5 - i32.const $push1=, 4 - i32.or $push2=, $5, $pop1 - i32.const $push22=, 0 - i32.load8_u $push0=, .L.str+4($pop22) - i32.store8 $discard=, 0($pop2):p2align=2, $pop0 - i32.const $push21=, 0 - i32.load $push3=, .L.str($pop21):p2align=0 - i32.store $discard=, 0($5):p2align=4, $pop3 + i32.const $push39=, __stack_pointer + i32.load $push40=, 0($pop39) + i32.const $push41=, 256 + i32.sub $3=, $pop40, $pop41 + i32.const $push42=, __stack_pointer + i32.store $discard=, 0($pop42), $3 + copy_local $0=, $3 + i32.const $push20=, 0 + i32.load8_u $push0=, .L.str+4($pop20) + i32.store8 $discard=, 4($3):p2align=2, $pop0 + i32.const $push19=, 0 + i32.load $push1=, .L.str($pop19):p2align=0 + i32.store $discard=, 0($3):p2align=4, $pop1 i32.const $1=, 0 .LBB1_1: # %while.cond1.i # =>This Loop Header: Depth=1 @@ -110,55 +108,55 @@ main: # @main block loop # label7: block - i32.load8_u $push25=, 0($0) - tee_local $push24=, $2=, $pop25 - i32.const $push23=, 32 - i32.ne $push4=, $pop24, $pop23 - br_if 0, $pop4 # 0: down to label9 + i32.load8_u $push23=, 0($0) + tee_local $push22=, $2=, $pop23 + i32.const $push21=, 32 + i32.ne $push2=, $pop22, $pop21 + br_if 0, $pop2 # 0: down to label9 # BB#2: # %while.body3.i # in Loop: Header=BB1_1 Depth=1 - i32.const $push26=, 1 - i32.add $0=, $0, $pop26 + i32.const $push24=, 1 + i32.add $0=, $0, $pop24 br 1 # 1: up to label7 .LBB1_3: # %while.cond1.i # in Loop: Header=BB1_1 Depth=1 end_block # label9: - i32.const $push41=, 0 - i32.eq $push42=, $2, $pop41 - br_if 2, $pop42 # 2: down to label6 + i32.const $push43=, 0 + i32.eq $push44=, $2, $pop43 + br_if 2, $pop44 # 2: down to label6 # BB#4: # %if.end.i # in Loop: Header=BB1_1 Depth=1 - i32.const $push28=, 2 - i32.shl $push5=, $1, $pop28 - i32.store $discard=, buildargv.arglist($pop5), $0 - i32.const $push27=, 1 - i32.add $2=, $1, $pop27 + i32.const $push26=, 2 + i32.shl $push3=, $1, $pop26 + i32.store $discard=, buildargv.arglist($pop3), $0 + i32.const $push25=, 1 + i32.add $2=, $1, $pop25 .LBB1_5: # %while.cond7.i # Parent Loop BB1_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label10: - i32.load8_u $push31=, 0($0) - tee_local $push30=, $1=, $pop31 - i32.const $push29=, 32 - i32.eq $push6=, $pop30, $pop29 - br_if 1, $pop6 # 1: down to label11 + i32.load8_u $push29=, 0($0) + tee_local $push28=, $1=, $pop29 + i32.const $push27=, 32 + i32.eq $push4=, $pop28, $pop27 + br_if 1, $pop4 # 1: down to label11 # BB#6: # %while.cond7.i # in Loop: Header=BB1_5 Depth=2 - i32.const $push43=, 0 - i32.eq $push44=, $1, $pop43 - br_if 3, $pop44 # 3: down to label8 + i32.const $push45=, 0 + i32.eq $push46=, $1, $pop45 + br_if 3, $pop46 # 3: down to label8 # BB#7: # %while.body14.i # in Loop: Header=BB1_5 Depth=2 - i32.const $push32=, 1 - i32.add $0=, $0, $pop32 + i32.const $push30=, 1 + i32.add $0=, $0, $pop30 br 0 # 0: up to label10 .LBB1_8: # %if.end21.i # in Loop: Header=BB1_1 Depth=1 end_loop # label11: - i32.const $push34=, 0 - i32.store8 $discard=, 0($0), $pop34 - i32.const $push33=, 1 - i32.add $0=, $0, $pop33 + i32.const $push32=, 0 + i32.store8 $discard=, 0($0), $pop32 + i32.const $push31=, 1 + i32.add $0=, $0, $pop31 copy_local $1=, $2 br 0 # 0: up to label7 .LBB1_9: @@ -168,37 +166,37 @@ main: # @main end_block # label6: block block - i32.const $push7=, 2 - i32.shl $push8=, $1, $pop7 - i32.const $push9=, 0 - i32.store $push10=, buildargv.arglist($pop8), $pop9 - i32.load $push36=, buildargv.arglist($pop10):p2align=4 - tee_local $push35=, $0=, $pop36 - i32.load8_u $push11=, 0($pop35) - i32.const $push12=, 97 - i32.ne $push13=, $pop11, $pop12 - br_if 0, $pop13 # 0: down to label13 + i32.const $push5=, 2 + i32.shl $push6=, $1, $pop5 + i32.const $push7=, 0 + i32.store $push8=, buildargv.arglist($pop6), $pop7 + i32.load $push34=, buildargv.arglist($pop8):p2align=4 + tee_local $push33=, $0=, $pop34 + i32.load8_u $push9=, 0($pop33) + i32.const $push10=, 97 + i32.ne $push11=, $pop9, $pop10 + br_if 0, $pop11 # 0: down to label13 # BB#11: # %if.end37 - i32.load8_u $push14=, 1($0) - br_if 0, $pop14 # 0: down to label13 + i32.load8_u $push12=, 1($0) + br_if 0, $pop12 # 0: down to label13 # BB#12: # %cond.true52 - i32.const $push15=, 0 - i32.load $push38=, buildargv.arglist+4($pop15) - tee_local $push37=, $0=, $pop38 - i32.load8_u $push16=, 0($pop37) - i32.const $push17=, 98 - i32.ne $push18=, $pop16, $pop17 - br_if 1, $pop18 # 1: down to label12 + i32.const $push13=, 0 + i32.load $push36=, buildargv.arglist+4($pop13) + tee_local $push35=, $0=, $pop36 + i32.load8_u $push14=, 0($pop35) + i32.const $push15=, 98 + i32.ne $push16=, $pop14, $pop15 + br_if 1, $pop16 # 1: down to label12 # BB#13: # %if.end94 - i32.load8_u $push19=, 1($0) - br_if 1, $pop19 # 1: down to label12 + i32.load8_u $push17=, 1($0) + br_if 1, $pop17 # 1: down to label12 # BB#14: # %if.end104 - i32.const $push39=, 0 - i32.load $push20=, buildargv.arglist+8($pop39):p2align=3 - br_if 1, $pop20 # 1: down to label12 + i32.const $push37=, 0 + i32.load $push18=, buildargv.arglist+8($pop37):p2align=3 + br_if 1, $pop18 # 1: down to label12 # BB#15: # %if.end109 - i32.const $push40=, 0 - call exit@FUNCTION, $pop40 + i32.const $push38=, 0 + call exit@FUNCTION, $pop38 unreachable .LBB1_16: # %if.then42 end_block # label13: diff --git a/test/torture-s/980716-1.c.s b/test/torture-s/980716-1.c.s index 7aac830c7..e54c24bfe 100644 --- a/test/torture-s/980716-1.c.s +++ b/test/torture-s/980716-1.c.s @@ -6,52 +6,37 @@ .type stub,@function stub: # @stub .param i32, 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 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - i32.store $2=, 12($6), $1 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $5=, $pop5, $pop6 + i32.store $2=, 12($5), $1 + copy_local $1=, $2 .LBB0_1: # %while.body # =>This Inner Loop Header: Depth=1 loop # label0: - i32.load $push0=, 12($6) - i32.const $push12=, 3 - i32.add $push1=, $pop0, $pop12 - i32.const $push11=, -4 - i32.and $push10=, $pop1, $pop11 - tee_local $push9=, $1=, $pop10 - i32.const $push8=, 4 - i32.add $push2=, $pop9, $pop8 - i32.store $discard=, 12($6), $pop2 - i32.load $push3=, 0($1) - br_if 0, $pop3 # 0: up to label0 + i32.const $push2=, 4 + i32.add $push0=, $1, $pop2 + i32.store $3=, 12($5), $pop0 + i32.load $4=, 0($1) + copy_local $1=, $3 + br_if 0, $4 # 0: up to label0 # BB#2: # %while.end end_loop # label1: - i32.store $discard=, 12($6), $2 + i32.store $1=, 12($5), $2 .LBB0_3: # %while.body.1 # =>This Inner Loop Header: Depth=1 loop # label2: - i32.load $push4=, 12($6) - i32.const $push17=, 3 - i32.add $push5=, $pop4, $pop17 - i32.const $push16=, -4 - i32.and $push15=, $pop5, $pop16 - tee_local $push14=, $1=, $pop15 - i32.const $push13=, 4 - i32.add $push6=, $pop14, $pop13 - i32.store $discard=, 12($6), $pop6 - i32.load $push7=, 0($1) - br_if 0, $pop7 # 0: up to label2 + i32.const $push3=, 4 + i32.add $push1=, $1, $pop3 + i32.store $3=, 12($5), $pop1 + i32.load $4=, 0($1) + copy_local $1=, $3 + br_if 0, $4 # 0: up to label2 # BB#4: # %while.end.1 end_loop # label3: - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 return .endfunc .Lfunc_end0: @@ -63,29 +48,23 @@ stub: # @stub .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($2), $3 - i32.const $push0=, 12 - i32.or $push1=, $3, $pop0 - i32.const $push2=, 0 - i32.store $0=, 0($pop1), $pop2 - i32.const $push3=, 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 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $1=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $1 + i32.const $push0=, 0 + i32.store $0=, 12($1), $pop0 + i32.const $push1=, .L.str.2 + i32.store $discard=, 8($1):p2align=3, $pop1 + i32.const $push2=, .L.str.1 + i32.store $discard=, 4($1), $pop2 + i32.const $push3=, .L.str + i32.store $discard=, 0($1):p2align=4, $pop3 + call stub@FUNCTION, $0, $1 call exit@FUNCTION, $0 unreachable .endfunc diff --git a/test/torture-s/981001-1.c.s b/test/torture-s/981001-1.c.s index 574de9400..30146af89 100644 --- a/test/torture-s/981001-1.c.s +++ b/test/torture-s/981001-1.c.s @@ -80,6 +80,8 @@ main: # @main i32.const $push3=, 256 i32.or $push4=, $0, $pop3 i32.store $discard=, flg($pop7), $pop4 + call abort@FUNCTION + unreachable .LBB1_4: # %if.then1 end_block # label2: call abort@FUNCTION diff --git a/test/torture-s/990127-1.c.s b/test/torture-s/990127-1.c.s index 678ff8cad..36c65f5c5 100644 --- a/test/torture-s/990127-1.c.s +++ b/test/torture-s/990127-1.c.s @@ -6,22 +6,22 @@ .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 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %while.end - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $21=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $21=, 0($4), $21 + i32.const $push79=, __stack_pointer + i32.load $push80=, 0($pop79) + i32.const $push81=, 16 + i32.sub $19=, $pop80, $pop81 + i32.const $push82=, __stack_pointer + i32.store $discard=, 0($pop82), $19 i32.const $push1=, 20 - i32.store $discard=, 8($21), $pop1 + i32.store $discard=, 8($19), $pop1 i32.const $push2=, 2 - i32.store $discard=, 8($21), $pop2 + i32.store $discard=, 8($19), $pop2 i32.const $push0=, 10 - i32.store $0=, 12($21), $pop0 + i32.store $0=, 12($19), $pop0 i32.const $push3=, 9 - i32.store $discard=, 12($21), $pop3 + i32.store $discard=, 12($19), $pop3 i32.const $2=, 18 .LBB0_1: # %while.body.1 # =>This Inner Loop Header: Depth=1 @@ -32,10 +32,10 @@ main: # @main br_if 1, $pop4 # 1: down to label1 # BB#2: # %while.body.1.while.cond.1_crit_edge # in Loop: Header=BB0_1 Depth=1 - i32.load $0=, 8($21) + i32.load $0=, 8($19) i32.const $push30=, -1 i32.add $push5=, $0, $pop30 - i32.store $discard=, 8($21), $pop5 + i32.store $discard=, 8($19), $pop5 i32.const $push29=, 1 i32.add $2=, $1, $pop29 br_if 0, $0 # 0: up to label0 @@ -43,9 +43,9 @@ main: # @main end_loop # label1: i32.const $push31=, 3 i32.add $1=, $1, $pop31 - i32.const $5=, 12 - i32.add $5=, $21, $5 - copy_local $0=, $5 + i32.const $3=, 12 + i32.add $3=, $19, $3 + copy_local $0=, $3 .LBB0_4: # %while.cond.2 # =>This Inner Loop Header: Depth=1 loop # label2: @@ -54,16 +54,16 @@ main: # @main i32.const $push32=, -1 i32.add $push6=, $pop33, $pop32 i32.store $discard=, 0($0), $pop6 - i32.const $push79=, 0 - i32.eq $push80=, $2, $pop79 - br_if 1, $pop80 # 1: down to label3 + i32.const $push83=, 0 + i32.eq $push84=, $2, $pop83 + br_if 1, $pop84 # 1: down to label3 # BB#5: # %while.body.2 # in Loop: Header=BB0_4 Depth=1 i32.const $push36=, 1 i32.add $1=, $1, $pop36 - i32.const $20=, 8 - i32.add $20=, $21, $20 - copy_local $0=, $20 + i32.const $18=, 8 + i32.add $18=, $19, $18 + copy_local $0=, $18 i32.const $push35=, 3 i32.gt_s $push7=, $2, $pop35 br_if 0, $pop7 # 0: up to label2 @@ -71,9 +71,9 @@ main: # @main end_loop # label3: i32.const $push37=, 1 i32.add $1=, $1, $pop37 - i32.const $6=, 12 - i32.add $6=, $21, $6 - copy_local $0=, $6 + i32.const $4=, 12 + i32.add $4=, $19, $4 + copy_local $0=, $4 .LBB0_7: # %while.cond.3 # =>This Inner Loop Header: Depth=1 loop # label4: @@ -82,16 +82,16 @@ main: # @main i32.const $push38=, -1 i32.add $push8=, $pop39, $pop38 i32.store $discard=, 0($0), $pop8 - i32.const $push81=, 0 - i32.eq $push82=, $2, $pop81 - br_if 1, $pop82 # 1: down to label5 + i32.const $push85=, 0 + i32.eq $push86=, $2, $pop85 + br_if 1, $pop86 # 1: down to label5 # BB#8: # %while.body.3 # in Loop: Header=BB0_7 Depth=1 i32.const $push42=, 1 i32.add $1=, $1, $pop42 - i32.const $19=, 8 - i32.add $19=, $21, $19 - copy_local $0=, $19 + i32.const $17=, 8 + i32.add $17=, $19, $17 + copy_local $0=, $17 i32.const $push41=, 3 i32.gt_s $push9=, $2, $pop41 br_if 0, $pop9 # 0: up to label4 @@ -99,9 +99,9 @@ main: # @main end_loop # label5: i32.const $push43=, 1 i32.add $1=, $1, $pop43 - i32.const $7=, 12 - i32.add $7=, $21, $7 - copy_local $0=, $7 + i32.const $5=, 12 + i32.add $5=, $19, $5 + copy_local $0=, $5 .LBB0_10: # %while.cond.4 # =>This Inner Loop Header: Depth=1 loop # label6: @@ -110,16 +110,16 @@ main: # @main i32.const $push44=, -1 i32.add $push10=, $pop45, $pop44 i32.store $discard=, 0($0), $pop10 - i32.const $push83=, 0 - i32.eq $push84=, $2, $pop83 - br_if 1, $pop84 # 1: down to label7 + i32.const $push87=, 0 + i32.eq $push88=, $2, $pop87 + br_if 1, $pop88 # 1: down to label7 # BB#11: # %while.body.4 # in Loop: Header=BB0_10 Depth=1 i32.const $push48=, 1 i32.add $1=, $1, $pop48 - i32.const $18=, 8 - i32.add $18=, $21, $18 - copy_local $0=, $18 + i32.const $16=, 8 + i32.add $16=, $19, $16 + copy_local $0=, $16 i32.const $push47=, 3 i32.gt_s $push11=, $2, $pop47 br_if 0, $pop11 # 0: up to label6 @@ -127,9 +127,9 @@ main: # @main end_loop # label7: i32.const $push49=, 1 i32.add $1=, $1, $pop49 - i32.const $8=, 12 - i32.add $8=, $21, $8 - copy_local $0=, $8 + i32.const $6=, 12 + i32.add $6=, $19, $6 + copy_local $0=, $6 .LBB0_13: # %while.cond.5 # =>This Inner Loop Header: Depth=1 loop # label8: @@ -138,16 +138,16 @@ main: # @main i32.const $push50=, -1 i32.add $push12=, $pop51, $pop50 i32.store $discard=, 0($0), $pop12 - i32.const $push85=, 0 - i32.eq $push86=, $2, $pop85 - br_if 1, $pop86 # 1: down to label9 + i32.const $push89=, 0 + i32.eq $push90=, $2, $pop89 + br_if 1, $pop90 # 1: down to label9 # BB#14: # %while.body.5 # in Loop: Header=BB0_13 Depth=1 i32.const $push54=, 1 i32.add $1=, $1, $pop54 - i32.const $17=, 8 - i32.add $17=, $21, $17 - copy_local $0=, $17 + i32.const $15=, 8 + i32.add $15=, $19, $15 + copy_local $0=, $15 i32.const $push53=, 3 i32.gt_s $push13=, $2, $pop53 br_if 0, $pop13 # 0: up to label8 @@ -155,9 +155,9 @@ main: # @main end_loop # label9: i32.const $push55=, 1 i32.add $1=, $1, $pop55 - i32.const $9=, 12 - i32.add $9=, $21, $9 - copy_local $0=, $9 + i32.const $7=, 12 + i32.add $7=, $19, $7 + copy_local $0=, $7 .LBB0_16: # %while.cond.6 # =>This Inner Loop Header: Depth=1 loop # label10: @@ -166,16 +166,16 @@ main: # @main i32.const $push56=, -1 i32.add $push14=, $pop57, $pop56 i32.store $discard=, 0($0), $pop14 - i32.const $push87=, 0 - i32.eq $push88=, $2, $pop87 - br_if 1, $pop88 # 1: down to label11 + i32.const $push91=, 0 + i32.eq $push92=, $2, $pop91 + br_if 1, $pop92 # 1: down to label11 # BB#17: # %while.body.6 # in Loop: Header=BB0_16 Depth=1 i32.const $push60=, 1 i32.add $1=, $1, $pop60 - i32.const $16=, 8 - i32.add $16=, $21, $16 - copy_local $0=, $16 + i32.const $14=, 8 + i32.add $14=, $19, $14 + copy_local $0=, $14 i32.const $push59=, 3 i32.gt_s $push15=, $2, $pop59 br_if 0, $pop15 # 0: up to label10 @@ -183,9 +183,9 @@ main: # @main end_loop # label11: i32.const $push61=, 1 i32.add $1=, $1, $pop61 - i32.const $10=, 12 - i32.add $10=, $21, $10 - copy_local $0=, $10 + i32.const $8=, 12 + i32.add $8=, $19, $8 + copy_local $0=, $8 .LBB0_19: # %while.cond.7 # =>This Inner Loop Header: Depth=1 loop # label12: @@ -194,16 +194,16 @@ main: # @main i32.const $push62=, -1 i32.add $push16=, $pop63, $pop62 i32.store $discard=, 0($0), $pop16 - i32.const $push89=, 0 - i32.eq $push90=, $2, $pop89 - br_if 1, $pop90 # 1: down to label13 + i32.const $push93=, 0 + i32.eq $push94=, $2, $pop93 + br_if 1, $pop94 # 1: down to label13 # BB#20: # %while.body.7 # in Loop: Header=BB0_19 Depth=1 i32.const $push66=, 1 i32.add $1=, $1, $pop66 - i32.const $15=, 8 - i32.add $15=, $21, $15 - copy_local $0=, $15 + i32.const $13=, 8 + i32.add $13=, $19, $13 + copy_local $0=, $13 i32.const $push65=, 3 i32.gt_s $push17=, $2, $pop65 br_if 0, $pop17 # 0: up to label12 @@ -211,9 +211,9 @@ main: # @main end_loop # label13: i32.const $push67=, 1 i32.add $1=, $1, $pop67 - i32.const $11=, 12 - i32.add $11=, $21, $11 - copy_local $0=, $11 + i32.const $9=, 12 + i32.add $9=, $19, $9 + copy_local $0=, $9 .LBB0_22: # %while.cond.8 # =>This Inner Loop Header: Depth=1 loop # label14: @@ -222,16 +222,16 @@ main: # @main i32.const $push68=, -1 i32.add $push18=, $pop69, $pop68 i32.store $discard=, 0($0), $pop18 - i32.const $push91=, 0 - i32.eq $push92=, $2, $pop91 - br_if 1, $pop92 # 1: down to label15 + i32.const $push95=, 0 + i32.eq $push96=, $2, $pop95 + br_if 1, $pop96 # 1: down to label15 # BB#23: # %while.body.8 # in Loop: Header=BB0_22 Depth=1 i32.const $push72=, 1 i32.add $1=, $1, $pop72 - i32.const $14=, 8 - i32.add $14=, $21, $14 - copy_local $0=, $14 + i32.const $12=, 8 + i32.add $12=, $19, $12 + copy_local $0=, $12 i32.const $push71=, 3 i32.gt_s $push19=, $2, $pop71 br_if 0, $pop19 # 0: up to label14 @@ -239,9 +239,9 @@ main: # @main end_loop # label15: i32.const $push73=, 1 i32.add $1=, $1, $pop73 - i32.const $12=, 12 - i32.add $12=, $21, $12 - copy_local $0=, $12 + i32.const $10=, 12 + i32.add $10=, $19, $10 + copy_local $0=, $10 .LBB0_25: # %while.cond.9 # =>This Inner Loop Header: Depth=1 loop # label16: @@ -250,23 +250,23 @@ main: # @main i32.const $push74=, -1 i32.add $push20=, $pop75, $pop74 i32.store $discard=, 0($0), $pop20 - i32.const $push93=, 0 - i32.eq $push94=, $2, $pop93 - br_if 1, $pop94 # 1: down to label17 + i32.const $push97=, 0 + i32.eq $push98=, $2, $pop97 + br_if 1, $pop98 # 1: down to label17 # BB#26: # %while.body.9 # in Loop: Header=BB0_25 Depth=1 i32.const $push78=, 1 i32.add $1=, $1, $pop78 - i32.const $13=, 8 - i32.add $13=, $21, $13 - copy_local $0=, $13 + i32.const $11=, 8 + i32.add $11=, $19, $11 + copy_local $0=, $11 i32.const $push77=, 3 i32.gt_s $push21=, $2, $pop77 br_if 0, $pop21 # 0: up to label16 .LBB0_27: # %while.end.9 end_loop # label17: block - i32.load $push22=, 8($21) + i32.load $push22=, 8($19) i32.const $push23=, -5 i32.ne $push24=, $pop22, $pop23 br_if 0, $pop24 # 0: down to label18 diff --git a/test/torture-s/990130-1.c.s b/test/torture-s/990130-1.c.s index 4d10028c7..232c803ca 100644 --- a/test/torture-s/990130-1.c.s +++ b/test/torture-s/990130-1.c.s @@ -6,23 +6,26 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $1=, 0 - i32.load $2=, count($1) - i32.load $0=, dummy($1) - i32.const $3=, 1 - i32.add $3=, $2, $3 - i32.store $discard=, count($1), $3 + i32.const $push7=, 0 + i32.load $0=, dummy($pop7) + i32.const $push6=, 0 + i32.const $push5=, 0 + i32.load $push4=, count($pop5) + tee_local $push3=, $1=, $pop4 + i32.const $push0=, 1 + i32.add $push1=, $pop3, $pop0 + i32.store $discard=, count($pop6), $pop1 #APP #NO_APP - i32.const $push0=, 0 - i32.store $discard=, dummy($pop0), $0 + i32.const $push2=, 0 + i32.store $discard=, dummy($pop2), $0 block - br_if 0, $2 # 0: down to label0 + br_if 0, $1 # 0: down to label0 # BB#1: # %if.end - i32.const $push1=, 0 - call exit@FUNCTION, $pop1 + i32.const $push8=, 0 + call exit@FUNCTION, $pop8 unreachable .LBB0_2: # %if.then end_block # label0: diff --git a/test/torture-s/990513-1.c.s b/test/torture-s/990513-1.c.s index e1dbe0fa7..1de6c2a57 100644 --- a/test/torture-s/990513-1.c.s +++ b/test/torture-s/990513-1.c.s @@ -42,22 +42,22 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 1024 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $push15=, __stack_pointer + i32.load $push16=, 0($pop15) + i32.const $push17=, 1024 + i32.sub $2=, $pop16, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $2 i32.const $0=, 1024 i32.const $push0=, 0 i32.const $push8=, 1024 - i32.call $discard=, memset@FUNCTION, $5, $pop0, $pop8 + i32.call $discard=, memset@FUNCTION, $2, $pop0, $pop8 .LBB1_1: # %while.body.i # =>This Inner Loop Header: Depth=1 loop # label2: - i32.add $push14=, $5, $0 + i32.add $push14=, $2, $0 tee_local $push13=, $1=, $pop14 i32.const $push12=, -16 i32.add $push3=, $pop13, $pop12 @@ -72,16 +72,16 @@ main: # @main # BB#2: # %foo.exit end_loop # label3: block - i32.load $push4=, 0($5):p2align=4 + i32.load $push4=, 0($2):p2align=4 i32.const $push5=, 6 i32.ne $push6=, $pop4, $pop5 br_if 0, $pop6 # 0: down to label4 # BB#3: # %if.end i32.const $push7=, 0 - i32.const $4=, 1024 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push19=, 1024 + i32.add $2=, $2, $pop19 + i32.const $push20=, __stack_pointer + i32.store $discard=, 0($pop20), $2 return $pop7 .LBB1_4: # %if.then end_block # label4: diff --git a/test/torture-s/990531-1.c.s b/test/torture-s/990531-1.c.s index 4c55d5fab..2f0e5226b 100644 --- a/test/torture-s/990531-1.c.s +++ b/test/torture-s/990531-1.c.s @@ -7,25 +7,19 @@ bad: # @bad .param i32, i32 .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $6=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $6=, 0($3), $6 - i32.store $discard=, 8($6):p2align=3, $1 - i32.const $5=, 8 - i32.add $5=, $6, $5 - i32.add $push0=, $5, $0 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $3=, $pop4, $pop5 + i32.store $discard=, 8($3):p2align=3, $1 + i32.const $2=, 8 + i32.add $2=, $3, $2 + i32.add $push0=, $2, $0 i32.const $push1=, 0 i32.store8 $discard=, 0($pop0), $pop1 - i32.load $push2=, 8($6):p2align=3 - i32.const $4=, 16 - i32.add $6=, $6, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.load $push2=, 8($3):p2align=3 return $pop2 .endfunc .Lfunc_end0: diff --git a/test/torture-s/990811-1.c.s b/test/torture-s/990811-1.c.s index ed42fdeb2..35aa81356 100644 --- a/test/torture-s/990811-1.c.s +++ b/test/torture-s/990811-1.c.s @@ -11,30 +11,27 @@ foo: # @foo block block block - block i32.const $push0=, 2 i32.eq $push1=, $0, $pop0 - br_if 0, $pop1 # 0: down to label3 + br_if 0, $pop1 # 0: down to label2 # BB#1: # %entry i32.const $push2=, 1 i32.eq $push3=, $0, $pop2 - br_if 1, $pop3 # 1: down to label2 + br_if 1, $pop3 # 1: down to label1 # BB#2: # %entry - br_if 3, $0 # 3: down to label0 + br_if 2, $0 # 2: down to label0 # BB#3: # %sw.bb i32.load $0=, 0($1) - br 2 # 2: down to label1 + return $0 .LBB0_4: # %sw.bb2 - end_block # label3: + end_block # label2: i32.load16_s $0=, 0($1) - br 1 # 1: down to label1 + return $0 .LBB0_5: # %sw.bb1 - end_block # label2: - i32.load8_s $0=, 0($1) -.LBB0_6: # %return end_block # label1: + i32.load8_s $0=, 0($1) return $0 -.LBB0_7: # %sw.epilog +.LBB0_6: # %sw.epilog end_block # label0: call abort@FUNCTION unreachable diff --git a/test/torture-s/991016-1.c.s b/test/torture-s/991016-1.c.s index 6691d7ccf..1884e7e29 100644 --- a/test/torture-s/991016-1.c.s +++ b/test/torture-s/991016-1.c.s @@ -12,77 +12,74 @@ doit: # @doit block block block - block i32.const $push19=, 0 i32.eq $push20=, $0, $pop19 - br_if 0, $pop20 # 0: down to label3 + br_if 0, $pop20 # 0: down to label2 # BB#1: # %entry i32.const $push6=, 1 i32.eq $push0=, $0, $pop6 - br_if 1, $pop0 # 1: down to label2 + br_if 1, $pop0 # 1: down to label1 # BB#2: # %entry i32.const $push1=, 2 i32.ne $push2=, $0, $pop1 - br_if 3, $pop2 # 3: down to label0 + br_if 2, $pop2 # 2: down to label0 # BB#3: # %do.body11.preheader i64.load $3=, 0($2) .LBB0_4: # %do.body11 # =>This Inner Loop Header: Depth=1 - loop # label4: + loop # label3: i32.const $push18=, -1 i32.add $1=, $1, $pop18 copy_local $push17=, $3 tee_local $push16=, $5=, $pop17 i64.const $push15=, 1 i64.shl $3=, $pop16, $pop15 - br_if 0, $1 # 0: up to label4 + br_if 0, $1 # 0: up to label3 # BB#5: # %do.end16 - end_loop # label5: + end_loop # label4: i64.store $discard=, 0($2), $3 i64.const $push3=, 0 i64.eq $1=, $5, $pop3 - br 2 # 2: down to label1 + return $1 .LBB0_6: # %do.body.preheader - end_block # label3: + end_block # label2: i32.load $0=, 0($2) .LBB0_7: # %do.body # =>This Inner Loop Header: Depth=1 - loop # label6: + loop # label5: i32.const $push10=, -1 i32.add $1=, $1, $pop10 copy_local $push9=, $0 tee_local $push8=, $4=, $pop9 i32.const $push7=, 1 i32.shl $0=, $pop8, $pop7 - br_if 0, $1 # 0: up to label6 + br_if 0, $1 # 0: up to label5 # BB#8: # %do.end - end_loop # label7: + end_loop # label6: i32.store $discard=, 0($2), $0 i32.const $push5=, 0 i32.eq $1=, $4, $pop5 - br 1 # 1: down to label1 + return $1 .LBB0_9: # %do.body2.preheader - end_block # label2: + end_block # label1: i32.load $0=, 0($2) .LBB0_10: # %do.body2 # =>This Inner Loop Header: Depth=1 - loop # label8: + loop # label7: i32.const $push14=, -1 i32.add $1=, $1, $pop14 copy_local $push13=, $0 tee_local $push12=, $4=, $pop13 i32.const $push11=, 1 i32.shl $0=, $pop12, $pop11 - br_if 0, $1 # 0: up to label8 + br_if 0, $1 # 0: up to label7 # BB#11: # %do.end7 - end_loop # label9: + end_loop # label8: i32.store $discard=, 0($2), $0 i32.const $push4=, 0 i32.eq $1=, $4, $pop4 -.LBB0_12: # %cleanup - end_block # label1: return $1 -.LBB0_13: # %sw.default +.LBB0_12: # %sw.default end_block # label0: call abort@FUNCTION unreachable diff --git a/test/torture-s/991216-2.c.s b/test/torture-s/991216-2.c.s index 645d8b6ad..d14fcbb42 100644 --- a/test/torture-s/991216-2.c.s +++ b/test/torture-s/991216-2.c.s @@ -6,85 +6,74 @@ .type test,@function test: # @test .param i32, i32 - .local i32, i32, i32, i32, i32 + .local i64, 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 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - i32.store $discard=, 12($6), $1 + i32.const $push24=, __stack_pointer + i32.load $push25=, 0($pop24) + i32.const $push26=, 16 + i32.sub $5=, $pop25, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $5 + i32.store $3=, 12($5), $1 block block block - i32.const $push0=, 2 - i32.lt_s $push1=, $0, $pop0 - br_if 0, $pop1 # 0: down to label2 + i32.const $push1=, 2 + i32.lt_s $push2=, $0, $pop1 + br_if 0, $pop2 # 0: down to label2 # BB#1: i32.const $1=, 1 .LBB0_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label3: - i32.load $push2=, 12($6) - i32.const $push31=, 3 - i32.add $push3=, $pop2, $pop31 - i32.const $push30=, -4 - i32.and $push29=, $pop3, $pop30 - tee_local $push28=, $2=, $pop29 - i32.const $push27=, 4 - i32.add $push4=, $pop28, $pop27 - i32.store $discard=, 12($6), $pop4 - i32.const $push26=, 1 - i32.add $1=, $1, $pop26 - i32.load $push5=, 0($2) - i32.ne $push6=, $1, $pop5 - br_if 3, $pop6 # 3: down to label1 + copy_local $push21=, $3 + tee_local $push20=, $4=, $pop21 + i32.const $push19=, 4 + i32.add $push0=, $pop20, $pop19 + i32.store $3=, 12($5), $pop0 + i32.const $push18=, 1 + i32.add $1=, $1, $pop18 + i32.load $push3=, 0($4) + i32.ne $push4=, $1, $pop3 + br_if 3, $pop4 # 3: down to label1 # BB#3: # %for.cond # in Loop: Header=BB0_2 Depth=1 - i32.lt_s $push7=, $1, $0 - br_if 0, $pop7 # 0: up to label3 + i32.lt_s $push5=, $1, $0 + br_if 0, $pop5 # 0: up to label3 .LBB0_4: # %for.end end_loop # label4: end_block # label2: - i32.load $push8=, 12($6) - i32.const $push9=, 7 - i32.add $push10=, $pop8, $pop9 - i32.const $push11=, -8 - i32.and $push33=, $pop10, $pop11 - tee_local $push32=, $1=, $pop33 - i32.const $push12=, 8 - i32.add $push13=, $pop32, $pop12 - i32.store $discard=, 12($6), $pop13 - i64.load $push14=, 0($1) - i64.const $push15=, 81985529216486895 - i64.ne $push16=, $pop14, $pop15 - br_if 1, $pop16 # 1: down to label0 -# BB#5: # %if.end5 - i32.load $push17=, 12($6) - i32.const $push18=, 3 - i32.add $push19=, $pop17, $pop18 - i32.const $push20=, -4 - i32.and $push35=, $pop19, $pop20 - tee_local $push34=, $1=, $pop35 - i32.const $push21=, 4 - i32.add $push22=, $pop34, $pop21 - i32.store $discard=, 12($6), $pop22 - i32.load $push23=, 0($1) - i32.const $push24=, 85 - i32.ne $push25=, $pop23, $pop24 - br_if 1, $pop25 # 1: down to label0 -# BB#6: # %if.end8 - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push6=, 7 + i32.add $push7=, $3, $pop6 + i32.const $push8=, -8 + i32.and $push23=, $pop7, $pop8 + tee_local $push22=, $1=, $pop23 + i64.load $2=, 0($pop22) + i32.const $push9=, 8 + i32.add $push10=, $1, $pop9 + i32.store $3=, 12($5), $pop10 + i64.const $push11=, 81985529216486895 + i64.ne $push12=, $2, $pop11 + br_if 1, $pop12 # 1: down to label0 +# BB#5: # %if.end7 + i32.const $push13=, 12 + i32.add $push14=, $1, $pop13 + i32.store $discard=, 12($5), $pop14 + i32.load $push15=, 0($3):p2align=3 + i32.const $push16=, 85 + i32.ne $push17=, $pop15, $pop16 + br_if 1, $pop17 # 1: down to label0 +# BB#6: # %if.end12 + i32.const $push28=, 16 + i32.add $5=, $5, $pop28 + i32.const $push29=, __stack_pointer + i32.store $discard=, 0($pop29), $5 return .LBB0_7: # %if.then end_block # label1: call abort@FUNCTION unreachable -.LBB0_8: # %if.then7 +.LBB0_8: # %if.then11 end_block # label0: call abort@FUNCTION unreachable @@ -98,168 +87,139 @@ test: # @test .type main,@function main: # @main .result i32 - .local i64, 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 + .local i32, i64, i64, i32, i64, i64, 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 $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 288 - i32.sub $34=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $34=, 0($7), $34 - i32.const $push0=, 8 - i32.const $8=, 272 - i32.add $8=, $34, $8 - i32.or $push1=, $8, $pop0 - i32.const $push2=, 85 - i32.store $5=, 0($pop1):p2align=3, $pop2 - i64.const $push3=, 81985529216486895 - i64.store $0=, 272($34):p2align=4, $pop3 - i32.const $push4=, 1 - i32.const $9=, 272 - i32.add $9=, $34, $9 - call test@FUNCTION, $pop4, $9 - i32.const $push5=, 16 - i32.const $10=, 240 - i32.add $10=, $34, $10 - i32.add $push6=, $10, $pop5 - i32.store $discard=, 0($pop6):p2align=4, $5 - i32.const $push61=, 8 - i32.const $11=, 240 - i32.add $11=, $34, $11 - i32.or $push7=, $11, $pop61 - i64.store $discard=, 0($pop7), $0 - i32.const $push8=, 2 - i32.store $push9=, 240($34):p2align=4, $pop8 - i32.const $12=, 240 - i32.add $12=, $34, $12 - call test@FUNCTION, $pop9, $12 - i32.const $push60=, 16 - i32.const $13=, 208 - i32.add $13=, $34, $13 - i32.add $push10=, $13, $pop60 - i32.store $discard=, 0($pop10):p2align=4, $5 - i32.const $push59=, 8 - i32.const $14=, 208 - i32.add $14=, $34, $14 - i32.or $push11=, $14, $pop59 - i64.store $discard=, 0($pop11), $0 - i64.const $push12=, 12884901890 - i64.store $1=, 208($34):p2align=4, $pop12 - i32.const $push13=, 3 - i32.const $15=, 208 - i32.add $15=, $34, $15 - call test@FUNCTION, $pop13, $15 - i32.const $push14=, 24 - i32.const $16=, 176 - i32.add $16=, $34, $16 - i32.add $push15=, $16, $pop14 - i32.store $discard=, 0($pop15):p2align=3, $5 - i32.const $push58=, 16 - i32.const $17=, 176 - i32.add $17=, $34, $17 - i32.add $push16=, $17, $pop58 - i64.store $discard=, 0($pop16):p2align=4, $0 - i32.const $push57=, 8 - i32.const $18=, 176 - i32.add $18=, $34, $18 - i32.or $push17=, $18, $pop57 - i32.const $push18=, 4 - i32.store $2=, 0($pop17):p2align=3, $pop18 - i64.store $discard=, 176($34):p2align=4, $1 - i32.const $19=, 176 - i32.add $19=, $34, $19 - call test@FUNCTION, $2, $19 - i32.const $push56=, 24 - i32.const $20=, 144 - i32.add $20=, $34, $20 - i32.add $push19=, $20, $pop56 - i32.store $discard=, 0($pop19):p2align=3, $5 - i32.const $push55=, 16 - i32.const $21=, 144 - i32.add $21=, $34, $21 - i32.add $push20=, $21, $pop55 - i64.store $discard=, 0($pop20):p2align=4, $0 - i32.const $push54=, 8 - i32.const $22=, 144 - i32.add $22=, $34, $22 - i32.or $push21=, $22, $pop54 - i64.const $push22=, 21474836484 - i64.store $3=, 0($pop21), $pop22 - i64.store $discard=, 144($34):p2align=4, $1 - i32.const $push23=, 5 - i32.const $23=, 144 - i32.add $23=, $34, $23 - call test@FUNCTION, $pop23, $23 - i32.const $push24=, 32 - i32.const $24=, 96 - i32.add $24=, $34, $24 - i32.add $push25=, $24, $pop24 - i32.store $discard=, 0($pop25):p2align=4, $5 - i32.const $push53=, 24 - i32.const $25=, 96 - i32.add $25=, $34, $25 - i32.add $push26=, $25, $pop53 - i64.store $discard=, 0($pop26), $0 - i32.const $push52=, 16 - i32.const $26=, 96 - i32.add $26=, $34, $26 - i32.add $push27=, $26, $pop52 - i32.const $push28=, 6 - i32.store $2=, 0($pop27):p2align=4, $pop28 - i32.const $push51=, 8 - i32.const $27=, 96 - i32.add $27=, $34, $27 - i32.or $push29=, $27, $pop51 - i64.store $discard=, 0($pop29), $3 - i64.store $discard=, 96($34):p2align=4, $1 - i32.const $28=, 96 - i32.add $28=, $34, $28 - call test@FUNCTION, $2, $28 - i32.const $push50=, 32 - i32.const $29=, 48 - i32.add $29=, $34, $29 - i32.add $push30=, $29, $pop50 - i32.store $discard=, 0($pop30):p2align=4, $5 - i32.const $push49=, 24 - i32.const $30=, 48 - i32.add $30=, $34, $30 - i32.add $push31=, $30, $pop49 - i64.store $discard=, 0($pop31), $0 - i32.const $push48=, 16 - i32.const $31=, 48 - i32.add $31=, $34, $31 - i32.add $push32=, $31, $pop48 - i64.const $push33=, 30064771078 - i64.store $4=, 0($pop32):p2align=4, $pop33 - i32.const $push47=, 8 - i32.const $32=, 48 - i32.add $32=, $34, $32 - i32.or $push34=, $32, $pop47 - i64.store $discard=, 0($pop34), $3 - i64.store $discard=, 48($34):p2align=4, $1 - i32.const $push35=, 7 - i32.const $33=, 48 - i32.add $33=, $34, $33 - call test@FUNCTION, $pop35, $33 - i32.const $push36=, 40 - i32.add $push37=, $34, $pop36 - i32.store $discard=, 0($pop37):p2align=3, $5 - i32.const $push46=, 32 - i32.add $push38=, $34, $pop46 - i64.store $discard=, 0($pop38):p2align=4, $0 - i32.const $push45=, 24 - i32.add $push39=, $34, $pop45 - i32.const $push44=, 8 - i32.store $5=, 0($pop39):p2align=3, $pop44 + i32.const $push47=, __stack_pointer + i32.load $push48=, 0($pop47) + i32.const $push49=, 288 + i32.sub $25=, $pop48, $pop49 + i32.const $push50=, __stack_pointer + i32.store $discard=, 0($pop50), $25 + i32.const $push0=, 85 + i32.store $0=, 280($25):p2align=3, $pop0 + i64.const $push1=, 81985529216486895 + i64.store $1=, 272($25):p2align=4, $pop1 + i32.const $push2=, 1 + i32.const $6=, 272 + i32.add $6=, $25, $6 + call test@FUNCTION, $pop2, $6 + i32.const $push3=, 16 + i32.const $7=, 240 + i32.add $7=, $25, $7 + i32.add $push4=, $7, $pop3 + i32.store $discard=, 0($pop4):p2align=4, $0 + i64.store $discard=, 248($25), $1 + i32.const $push5=, 2 + i32.store $push6=, 240($25):p2align=4, $pop5 + i32.const $8=, 240 + i32.add $8=, $25, $8 + call test@FUNCTION, $pop6, $8 + i32.const $push46=, 16 + i32.const $9=, 208 + i32.add $9=, $25, $9 + i32.add $push7=, $9, $pop46 + i32.store $discard=, 0($pop7):p2align=4, $0 + i64.store $discard=, 216($25), $1 + i64.const $push8=, 12884901890 + i64.store $2=, 208($25):p2align=4, $pop8 + i32.const $push9=, 3 + i32.const $10=, 208 + i32.add $10=, $25, $10 + call test@FUNCTION, $pop9, $10 + i32.const $push10=, 24 + i32.const $11=, 176 + i32.add $11=, $25, $11 + i32.add $push11=, $11, $pop10 + i32.store $discard=, 0($pop11):p2align=3, $0 + i32.const $push45=, 16 + i32.const $12=, 176 + i32.add $12=, $25, $12 + i32.add $push12=, $12, $pop45 + i64.store $discard=, 0($pop12):p2align=4, $1 + i32.const $push13=, 4 + i32.store $3=, 184($25):p2align=3, $pop13 + i64.store $discard=, 176($25):p2align=4, $2 + i32.const $13=, 176 + i32.add $13=, $25, $13 + call test@FUNCTION, $3, $13 + i32.const $push44=, 24 + i32.const $14=, 144 + i32.add $14=, $25, $14 + i32.add $push14=, $14, $pop44 + i32.store $discard=, 0($pop14):p2align=3, $0 i32.const $push43=, 16 - i32.add $push40=, $34, $pop43 - i64.store $discard=, 0($pop40):p2align=4, $4 - i32.or $push41=, $34, $5 - i64.store $discard=, 0($pop41), $3 - i64.store $discard=, 0($34):p2align=4, $1 - call test@FUNCTION, $5, $34 - i32.const $push42=, 0 - call exit@FUNCTION, $pop42 + i32.const $15=, 144 + i32.add $15=, $25, $15 + i32.add $push15=, $15, $pop43 + i64.store $discard=, 0($pop15):p2align=4, $1 + i64.const $push16=, 21474836484 + i64.store $4=, 152($25), $pop16 + i64.store $discard=, 144($25):p2align=4, $2 + i32.const $push17=, 5 + i32.const $16=, 144 + i32.add $16=, $25, $16 + call test@FUNCTION, $pop17, $16 + i32.const $push18=, 32 + i32.const $17=, 96 + i32.add $17=, $25, $17 + i32.add $push19=, $17, $pop18 + i32.store $discard=, 0($pop19):p2align=4, $0 + i32.const $push42=, 24 + i32.const $18=, 96 + i32.add $18=, $25, $18 + i32.add $push20=, $18, $pop42 + i64.store $discard=, 0($pop20), $1 + i32.const $push41=, 16 + i32.const $19=, 96 + i32.add $19=, $25, $19 + i32.add $push21=, $19, $pop41 + i32.const $push22=, 6 + i32.store $3=, 0($pop21):p2align=4, $pop22 + i64.store $discard=, 104($25), $4 + i64.store $discard=, 96($25):p2align=4, $2 + i32.const $20=, 96 + i32.add $20=, $25, $20 + call test@FUNCTION, $3, $20 + i32.const $push40=, 32 + i32.const $21=, 48 + i32.add $21=, $25, $21 + i32.add $push23=, $21, $pop40 + i32.store $discard=, 0($pop23):p2align=4, $0 + i32.const $push39=, 24 + i32.const $22=, 48 + i32.add $22=, $25, $22 + i32.add $push24=, $22, $pop39 + i64.store $discard=, 0($pop24), $1 + i32.const $push38=, 16 + i32.const $23=, 48 + i32.add $23=, $25, $23 + i32.add $push25=, $23, $pop38 + i64.const $push26=, 30064771078 + i64.store $5=, 0($pop25):p2align=4, $pop26 + i64.store $discard=, 56($25), $4 + i64.store $discard=, 48($25):p2align=4, $2 + i32.const $push27=, 7 + i32.const $24=, 48 + i32.add $24=, $25, $24 + call test@FUNCTION, $pop27, $24 + i32.const $push28=, 40 + i32.add $push29=, $25, $pop28 + i32.store $discard=, 0($pop29):p2align=3, $0 + i32.const $push37=, 32 + i32.add $push30=, $25, $pop37 + i64.store $discard=, 0($pop30):p2align=4, $1 + i32.const $push36=, 24 + i32.add $push31=, $25, $pop36 + i32.const $push32=, 8 + i32.store $0=, 0($pop31):p2align=3, $pop32 + i32.const $push35=, 16 + i32.add $push33=, $25, $pop35 + i64.store $discard=, 0($pop33):p2align=4, $5 + i64.store $discard=, 8($25), $4 + i64.store $discard=, 0($25):p2align=4, $2 + call test@FUNCTION, $0, $25 + i32.const $push34=, 0 + call exit@FUNCTION, $pop34 unreachable .endfunc .Lfunc_end1: diff --git a/test/torture-s/991228-1.c.s b/test/torture-s/991228-1.c.s index a27c67747..2846506f5 100644 --- a/test/torture-s/991228-1.c.s +++ b/test/torture-s/991228-1.c.s @@ -7,29 +7,23 @@ signbit: # @signbit .param f64 .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $6=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $6=, 0($3), $6 + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 16 + i32.sub $3=, $pop8, $pop9 i32.const $push0=, 0 i32.load $1=, endianness_test($pop0):p2align=3 - f64.store $discard=, 8($6), $0 + f64.store $discard=, 8($3), $0 i32.const $push1=, 2 i32.shl $push2=, $1, $pop1 - i32.const $5=, 8 - i32.add $5=, $6, $5 - i32.add $push3=, $5, $pop2 + i32.const $2=, 8 + i32.add $2=, $3, $2 + i32.add $push3=, $2, $pop2 i32.load $push4=, 0($pop3) i32.const $push5=, 31 i32.shr_u $push6=, $pop4, $pop5 - i32.const $4=, 16 - i32.add $6=, $6, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 return $pop6 .endfunc .Lfunc_end0: @@ -41,14 +35,14 @@ signbit: # @signbit .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local 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 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 + i32.const $push15=, __stack_pointer + i32.load $push16=, 0($pop15) + i32.const $push17=, 16 + i32.sub $2=, $pop16, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $2 block i32.const $push12=, 0 i32.load $push0=, endianness_test($pop12):p2align=3 @@ -66,11 +60,11 @@ main: # @main .LBB1_2: # %if.end end_block # label0: i64.const $push4=, -4625196817309499392 - i64.store $discard=, 8($4), $pop4 - i32.const $3=, 8 - i32.add $3=, $4, $3 + i64.store $discard=, 8($2), $pop4 + i32.const $1=, 8 + i32.add $1=, $2, $1 block - i32.add $push5=, $3, $0 + i32.add $push5=, $1, $0 i32.load $push6=, 0($pop5) i32.const $push14=, 0 i32.lt_s $push7=, $pop6, $pop14 diff --git a/test/torture-s/alloca-1.c.s b/test/torture-s/alloca-1.c.s index 6a34ec002..93bf6ba71 100644 --- a/test/torture-s/alloca-1.c.s +++ b/test/torture-s/alloca-1.c.s @@ -6,22 +6,16 @@ .type foo,@function foo: # @foo .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 32 + i32.sub $0=, $pop5, $pop6 i32.const $push0=, 15 - i32.and $push1=, $3, $pop0 + i32.and $push1=, $0, $pop0 i32.const $push2=, 0 i32.eq $push3=, $pop1, $pop2 - i32.const $2=, 32 - i32.add $3=, $3, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 return $pop3 .endfunc .Lfunc_end0: @@ -33,24 +27,24 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 32 + i32.sub $0=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $0 block i32.const $push0=, 15 - i32.and $push1=, $3, $pop0 + i32.and $push1=, $0, $pop0 br_if 0, $pop1 # 0: down to label0 # BB#1: # %if.end i32.const $push2=, 0 - i32.const $2=, 32 - i32.add $3=, $3, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 + i32.const $push7=, 32 + i32.add $0=, $0, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $0 return $pop2 .LBB1_2: # %if.then end_block # label0: diff --git a/test/torture-s/ashrdi-1.c.s b/test/torture-s/ashrdi-1.c.s index 496ff21cc..895eb87dc 100644 --- a/test/torture-s/ashrdi-1.c.s +++ b/test/torture-s/ashrdi-1.c.s @@ -189,9 +189,8 @@ constant_shift: # @constant_shift block block block - tableswitch $1, 63, 63, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62 # 63: down to label12 + tableswitch $1, 1, 1, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63 # 1: down to label74 # 0: down to label75 - # 1: down to label74 # 2: down to label73 # 3: down to label72 # 4: down to label71 @@ -253,322 +252,323 @@ constant_shift: # @constant_shift # 60: down to label15 # 61: down to label14 # 62: down to label13 + # 63: down to label12 .LBB1_2: # %sw.bb1 end_block # label75: i64.const $push64=, 1 i64.shr_s $0=, $0, $pop64 - br 62 # 62: down to label12 -.LBB1_3: # %sw.bb3 +.LBB1_3: # %sw.epilog end_block # label74: + return $0 +.LBB1_4: # %sw.bb3 + end_block # label73: i64.const $push63=, 2 i64.shr_s $0=, $0, $pop63 - br 61 # 61: down to label12 -.LBB1_4: # %sw.bb5 - end_block # label73: + return $0 +.LBB1_5: # %sw.bb5 + end_block # label72: i64.const $push62=, 3 i64.shr_s $0=, $0, $pop62 - br 60 # 60: down to label12 -.LBB1_5: # %sw.bb7 - end_block # label72: + return $0 +.LBB1_6: # %sw.bb7 + end_block # label71: i64.const $push61=, 4 i64.shr_s $0=, $0, $pop61 - br 59 # 59: down to label12 -.LBB1_6: # %sw.bb9 - end_block # label71: + return $0 +.LBB1_7: # %sw.bb9 + end_block # label70: i64.const $push60=, 5 i64.shr_s $0=, $0, $pop60 - br 58 # 58: down to label12 -.LBB1_7: # %sw.bb11 - end_block # label70: + return $0 +.LBB1_8: # %sw.bb11 + end_block # label69: i64.const $push59=, 6 i64.shr_s $0=, $0, $pop59 - br 57 # 57: down to label12 -.LBB1_8: # %sw.bb13 - end_block # label69: + return $0 +.LBB1_9: # %sw.bb13 + end_block # label68: i64.const $push58=, 7 i64.shr_s $0=, $0, $pop58 - br 56 # 56: down to label12 -.LBB1_9: # %sw.bb15 - end_block # label68: + return $0 +.LBB1_10: # %sw.bb15 + end_block # label67: i64.const $push57=, 8 i64.shr_s $0=, $0, $pop57 - br 55 # 55: down to label12 -.LBB1_10: # %sw.bb17 - end_block # label67: + return $0 +.LBB1_11: # %sw.bb17 + end_block # label66: i64.const $push56=, 9 i64.shr_s $0=, $0, $pop56 - br 54 # 54: down to label12 -.LBB1_11: # %sw.bb19 - end_block # label66: + return $0 +.LBB1_12: # %sw.bb19 + end_block # label65: i64.const $push55=, 10 i64.shr_s $0=, $0, $pop55 - br 53 # 53: down to label12 -.LBB1_12: # %sw.bb21 - end_block # label65: + return $0 +.LBB1_13: # %sw.bb21 + end_block # label64: i64.const $push54=, 11 i64.shr_s $0=, $0, $pop54 - br 52 # 52: down to label12 -.LBB1_13: # %sw.bb23 - end_block # label64: + return $0 +.LBB1_14: # %sw.bb23 + end_block # label63: i64.const $push53=, 12 i64.shr_s $0=, $0, $pop53 - br 51 # 51: down to label12 -.LBB1_14: # %sw.bb25 - end_block # label63: + return $0 +.LBB1_15: # %sw.bb25 + end_block # label62: i64.const $push52=, 13 i64.shr_s $0=, $0, $pop52 - br 50 # 50: down to label12 -.LBB1_15: # %sw.bb27 - end_block # label62: + return $0 +.LBB1_16: # %sw.bb27 + end_block # label61: i64.const $push51=, 14 i64.shr_s $0=, $0, $pop51 - br 49 # 49: down to label12 -.LBB1_16: # %sw.bb29 - end_block # label61: + return $0 +.LBB1_17: # %sw.bb29 + end_block # label60: i64.const $push50=, 15 i64.shr_s $0=, $0, $pop50 - br 48 # 48: down to label12 -.LBB1_17: # %sw.bb31 - end_block # label60: + return $0 +.LBB1_18: # %sw.bb31 + end_block # label59: i64.const $push49=, 16 i64.shr_s $0=, $0, $pop49 - br 47 # 47: down to label12 -.LBB1_18: # %sw.bb33 - end_block # label59: + return $0 +.LBB1_19: # %sw.bb33 + end_block # label58: i64.const $push48=, 17 i64.shr_s $0=, $0, $pop48 - br 46 # 46: down to label12 -.LBB1_19: # %sw.bb35 - end_block # label58: + return $0 +.LBB1_20: # %sw.bb35 + end_block # label57: i64.const $push47=, 18 i64.shr_s $0=, $0, $pop47 - br 45 # 45: down to label12 -.LBB1_20: # %sw.bb37 - end_block # label57: + return $0 +.LBB1_21: # %sw.bb37 + end_block # label56: i64.const $push46=, 19 i64.shr_s $0=, $0, $pop46 - br 44 # 44: down to label12 -.LBB1_21: # %sw.bb39 - end_block # label56: + return $0 +.LBB1_22: # %sw.bb39 + end_block # label55: i64.const $push45=, 20 i64.shr_s $0=, $0, $pop45 - br 43 # 43: down to label12 -.LBB1_22: # %sw.bb41 - end_block # label55: + return $0 +.LBB1_23: # %sw.bb41 + end_block # label54: i64.const $push44=, 21 i64.shr_s $0=, $0, $pop44 - br 42 # 42: down to label12 -.LBB1_23: # %sw.bb43 - end_block # label54: + return $0 +.LBB1_24: # %sw.bb43 + end_block # label53: i64.const $push43=, 22 i64.shr_s $0=, $0, $pop43 - br 41 # 41: down to label12 -.LBB1_24: # %sw.bb45 - end_block # label53: + return $0 +.LBB1_25: # %sw.bb45 + end_block # label52: i64.const $push42=, 23 i64.shr_s $0=, $0, $pop42 - br 40 # 40: down to label12 -.LBB1_25: # %sw.bb47 - end_block # label52: + return $0 +.LBB1_26: # %sw.bb47 + end_block # label51: i64.const $push41=, 24 i64.shr_s $0=, $0, $pop41 - br 39 # 39: down to label12 -.LBB1_26: # %sw.bb49 - end_block # label51: + return $0 +.LBB1_27: # %sw.bb49 + end_block # label50: i64.const $push40=, 25 i64.shr_s $0=, $0, $pop40 - br 38 # 38: down to label12 -.LBB1_27: # %sw.bb51 - end_block # label50: + return $0 +.LBB1_28: # %sw.bb51 + end_block # label49: i64.const $push39=, 26 i64.shr_s $0=, $0, $pop39 - br 37 # 37: down to label12 -.LBB1_28: # %sw.bb53 - end_block # label49: + return $0 +.LBB1_29: # %sw.bb53 + end_block # label48: i64.const $push38=, 27 i64.shr_s $0=, $0, $pop38 - br 36 # 36: down to label12 -.LBB1_29: # %sw.bb55 - end_block # label48: + return $0 +.LBB1_30: # %sw.bb55 + end_block # label47: i64.const $push37=, 28 i64.shr_s $0=, $0, $pop37 - br 35 # 35: down to label12 -.LBB1_30: # %sw.bb57 - end_block # label47: + return $0 +.LBB1_31: # %sw.bb57 + end_block # label46: i64.const $push36=, 29 i64.shr_s $0=, $0, $pop36 - br 34 # 34: down to label12 -.LBB1_31: # %sw.bb59 - end_block # label46: + return $0 +.LBB1_32: # %sw.bb59 + end_block # label45: i64.const $push35=, 30 i64.shr_s $0=, $0, $pop35 - br 33 # 33: down to label12 -.LBB1_32: # %sw.bb61 - end_block # label45: + return $0 +.LBB1_33: # %sw.bb61 + end_block # label44: i64.const $push34=, 31 i64.shr_s $0=, $0, $pop34 - br 32 # 32: down to label12 -.LBB1_33: # %sw.bb63 - end_block # label44: + return $0 +.LBB1_34: # %sw.bb63 + end_block # label43: i64.const $push33=, 32 i64.shr_s $0=, $0, $pop33 - br 31 # 31: down to label12 -.LBB1_34: # %sw.bb65 - end_block # label43: + return $0 +.LBB1_35: # %sw.bb65 + end_block # label42: i64.const $push32=, 33 i64.shr_s $0=, $0, $pop32 - br 30 # 30: down to label12 -.LBB1_35: # %sw.bb67 - end_block # label42: + return $0 +.LBB1_36: # %sw.bb67 + end_block # label41: i64.const $push31=, 34 i64.shr_s $0=, $0, $pop31 - br 29 # 29: down to label12 -.LBB1_36: # %sw.bb69 - end_block # label41: + return $0 +.LBB1_37: # %sw.bb69 + end_block # label40: i64.const $push30=, 35 i64.shr_s $0=, $0, $pop30 - br 28 # 28: down to label12 -.LBB1_37: # %sw.bb71 - end_block # label40: + return $0 +.LBB1_38: # %sw.bb71 + end_block # label39: i64.const $push29=, 36 i64.shr_s $0=, $0, $pop29 - br 27 # 27: down to label12 -.LBB1_38: # %sw.bb73 - end_block # label39: + return $0 +.LBB1_39: # %sw.bb73 + end_block # label38: i64.const $push28=, 37 i64.shr_s $0=, $0, $pop28 - br 26 # 26: down to label12 -.LBB1_39: # %sw.bb75 - end_block # label38: + return $0 +.LBB1_40: # %sw.bb75 + end_block # label37: i64.const $push27=, 38 i64.shr_s $0=, $0, $pop27 - br 25 # 25: down to label12 -.LBB1_40: # %sw.bb77 - end_block # label37: + return $0 +.LBB1_41: # %sw.bb77 + end_block # label36: i64.const $push26=, 39 i64.shr_s $0=, $0, $pop26 - br 24 # 24: down to label12 -.LBB1_41: # %sw.bb79 - end_block # label36: + return $0 +.LBB1_42: # %sw.bb79 + end_block # label35: i64.const $push25=, 40 i64.shr_s $0=, $0, $pop25 - br 23 # 23: down to label12 -.LBB1_42: # %sw.bb81 - end_block # label35: + return $0 +.LBB1_43: # %sw.bb81 + end_block # label34: i64.const $push24=, 41 i64.shr_s $0=, $0, $pop24 - br 22 # 22: down to label12 -.LBB1_43: # %sw.bb83 - end_block # label34: + return $0 +.LBB1_44: # %sw.bb83 + end_block # label33: i64.const $push23=, 42 i64.shr_s $0=, $0, $pop23 - br 21 # 21: down to label12 -.LBB1_44: # %sw.bb85 - end_block # label33: + return $0 +.LBB1_45: # %sw.bb85 + end_block # label32: i64.const $push22=, 43 i64.shr_s $0=, $0, $pop22 - br 20 # 20: down to label12 -.LBB1_45: # %sw.bb87 - end_block # label32: + return $0 +.LBB1_46: # %sw.bb87 + end_block # label31: i64.const $push21=, 44 i64.shr_s $0=, $0, $pop21 - br 19 # 19: down to label12 -.LBB1_46: # %sw.bb89 - end_block # label31: + return $0 +.LBB1_47: # %sw.bb89 + end_block # label30: i64.const $push20=, 45 i64.shr_s $0=, $0, $pop20 - br 18 # 18: down to label12 -.LBB1_47: # %sw.bb91 - end_block # label30: + return $0 +.LBB1_48: # %sw.bb91 + end_block # label29: i64.const $push19=, 46 i64.shr_s $0=, $0, $pop19 - br 17 # 17: down to label12 -.LBB1_48: # %sw.bb93 - end_block # label29: + return $0 +.LBB1_49: # %sw.bb93 + end_block # label28: i64.const $push18=, 47 i64.shr_s $0=, $0, $pop18 - br 16 # 16: down to label12 -.LBB1_49: # %sw.bb95 - end_block # label28: + return $0 +.LBB1_50: # %sw.bb95 + end_block # label27: i64.const $push17=, 48 i64.shr_s $0=, $0, $pop17 - br 15 # 15: down to label12 -.LBB1_50: # %sw.bb97 - end_block # label27: + return $0 +.LBB1_51: # %sw.bb97 + end_block # label26: i64.const $push16=, 49 i64.shr_s $0=, $0, $pop16 - br 14 # 14: down to label12 -.LBB1_51: # %sw.bb99 - end_block # label26: + return $0 +.LBB1_52: # %sw.bb99 + end_block # label25: i64.const $push15=, 50 i64.shr_s $0=, $0, $pop15 - br 13 # 13: down to label12 -.LBB1_52: # %sw.bb101 - end_block # label25: + return $0 +.LBB1_53: # %sw.bb101 + end_block # label24: i64.const $push14=, 51 i64.shr_s $0=, $0, $pop14 - br 12 # 12: down to label12 -.LBB1_53: # %sw.bb103 - end_block # label24: + return $0 +.LBB1_54: # %sw.bb103 + end_block # label23: i64.const $push13=, 52 i64.shr_s $0=, $0, $pop13 - br 11 # 11: down to label12 -.LBB1_54: # %sw.bb105 - end_block # label23: + return $0 +.LBB1_55: # %sw.bb105 + end_block # label22: i64.const $push12=, 53 i64.shr_s $0=, $0, $pop12 - br 10 # 10: down to label12 -.LBB1_55: # %sw.bb107 - end_block # label22: + return $0 +.LBB1_56: # %sw.bb107 + end_block # label21: i64.const $push11=, 54 i64.shr_s $0=, $0, $pop11 - br 9 # 9: down to label12 -.LBB1_56: # %sw.bb109 - end_block # label21: + return $0 +.LBB1_57: # %sw.bb109 + end_block # label20: i64.const $push10=, 55 i64.shr_s $0=, $0, $pop10 - br 8 # 8: down to label12 -.LBB1_57: # %sw.bb111 - end_block # label20: + return $0 +.LBB1_58: # %sw.bb111 + end_block # label19: i64.const $push9=, 56 i64.shr_s $0=, $0, $pop9 - br 7 # 7: down to label12 -.LBB1_58: # %sw.bb113 - end_block # label19: + return $0 +.LBB1_59: # %sw.bb113 + end_block # label18: i64.const $push8=, 57 i64.shr_s $0=, $0, $pop8 - br 6 # 6: down to label12 -.LBB1_59: # %sw.bb115 - end_block # label18: + return $0 +.LBB1_60: # %sw.bb115 + end_block # label17: i64.const $push7=, 58 i64.shr_s $0=, $0, $pop7 - br 5 # 5: down to label12 -.LBB1_60: # %sw.bb117 - end_block # label17: + return $0 +.LBB1_61: # %sw.bb117 + end_block # label16: i64.const $push6=, 59 i64.shr_s $0=, $0, $pop6 - br 4 # 4: down to label12 -.LBB1_61: # %sw.bb119 - end_block # label16: + return $0 +.LBB1_62: # %sw.bb119 + end_block # label15: i64.const $push5=, 60 i64.shr_s $0=, $0, $pop5 - br 3 # 3: down to label12 -.LBB1_62: # %sw.bb121 - end_block # label15: + return $0 +.LBB1_63: # %sw.bb121 + end_block # label14: i64.const $push4=, 61 i64.shr_s $0=, $0, $pop4 - br 2 # 2: down to label12 -.LBB1_63: # %sw.bb123 - end_block # label14: + return $0 +.LBB1_64: # %sw.bb123 + end_block # label13: i64.const $push3=, 62 i64.shr_s $0=, $0, $pop3 - br 1 # 1: down to label12 -.LBB1_64: # %sw.bb125 - end_block # label13: + return $0 +.LBB1_65: # %sw.bb125 + end_block # label12: i64.const $push2=, 63 i64.shr_s $0=, $0, $pop2 -.LBB1_65: # %sw.epilog - end_block # label12: return $0 .LBB1_66: # %sw.default end_block # label11: diff --git a/test/torture-s/bf-pack-1.c.s b/test/torture-s/bf-pack-1.c.s index bb6d564f8..38ea96b50 100644 --- a/test/torture-s/bf-pack-1.c.s +++ b/test/torture-s/bf-pack-1.c.s @@ -39,19 +39,19 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $1=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $1 i64.const $push0=, 95075992080948 - i64.store $discard=, 8($3), $pop0 - i32.const $2=, 8 - i32.add $2=, $3, $2 - i32.call $discard=, f@FUNCTION, $2 + i64.store $discard=, 8($1), $pop0 + i32.const $0=, 8 + i32.add $0=, $1, $0 + i32.call $discard=, f@FUNCTION, $0 i32.const $push1=, 0 call exit@FUNCTION, $pop1 unreachable diff --git a/test/torture-s/bitfld-5.c.s b/test/torture-s/bitfld-5.c.s index 81f4b38b8..559095f9d 100644 --- a/test/torture-s/bitfld-5.c.s +++ b/test/torture-s/bitfld-5.c.s @@ -48,31 +48,31 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 16 + i32.sub $1=, $pop8, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $1 i32.const $push0=, 0 i64.load $push1=, .Lmain.s($pop0) - i64.store $discard=, 8($4), $pop1 + i64.store $discard=, 8($1), $pop1 i64.const $push2=, 10 - i32.const $3=, 8 - i32.add $3=, $4, $3 - call f@FUNCTION, $3, $pop2 + i32.const $0=, 8 + i32.add $0=, $1, $0 + call f@FUNCTION, $0, $pop2 i32.const $push6=, 0 i64.load $push3=, .Lmain.t($pop6) - i64.store $discard=, 0($4), $pop3 + i64.store $discard=, 0($1), $pop3 i64.const $push4=, 1099511627778 - call f@FUNCTION, $4, $pop4 + call f@FUNCTION, $1, $pop4 i32.const $push5=, 0 - i32.const $2=, 16 - i32.add $4=, $4, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 + i32.const $push11=, 16 + i32.add $1=, $1, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $1 return $pop5 .endfunc .Lfunc_end2: diff --git a/test/torture-s/builtin-prefetch-2.c.s b/test/torture-s/builtin-prefetch-2.c.s index c534108c2..088154c34 100644 --- a/test/torture-s/builtin-prefetch-2.c.s +++ b/test/torture-s/builtin-prefetch-2.c.s @@ -38,18 +38,18 @@ simple_static_local: # @simple_static_local .globl simple_local .type simple_local,@function simple_local: # @simple_local - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 416 - i32.sub $3=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $3=, 0($1), $3 - i32.const $2=, 416 - i32.add $3=, $3, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 + i32.const $push0=, __stack_pointer + i32.load $push1=, 0($pop0) + i32.const $push2=, 416 + i32.sub $0=, $pop1, $pop2 + i32.const $push3=, __stack_pointer + i32.store $discard=, 0($pop3), $0 + i32.const $push4=, 416 + i32.add $0=, $0, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $0 return .endfunc .Lfunc_end3: @@ -61,19 +61,13 @@ simple_local: # @simple_local .type simple_arg,@function simple_arg: # @simple_arg .param i32, i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - i32.store $discard=, 12($6), $2 - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push0=, __stack_pointer + i32.load $push1=, 0($pop0) + i32.const $push2=, 16 + i32.sub $3=, $pop1, $pop2 + i32.store $discard=, 12($3), $2 return .endfunc .Lfunc_end4: @@ -95,18 +89,12 @@ expr_global: # @expr_global .globl expr_local .type expr_local,@function expr_local: # @expr_local - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 80 - i32.sub $3=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $3=, 0($1), $3 - i32.const $2=, 80 - i32.add $3=, $3, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 + i32.const $push0=, __stack_pointer + i32.load $push1=, 0($pop0) + i32.const $push2=, 80 + i32.sub $0=, $pop1, $pop2 return .endfunc .Lfunc_end6: diff --git a/test/torture-s/cbrt.c.s b/test/torture-s/cbrt.c.s index df1867656..e3a95b359 100644 --- a/test/torture-s/cbrt.c.s +++ b/test/torture-s/cbrt.c.s @@ -7,152 +7,130 @@ cbrtl: # @cbrtl .param f64 .result f64 - .local f64, i32, i32, i64, f64, f64, i32, i32, i32, i32, i32, i32, i32 + .local f64, i32, i32, i64, f64, f64, i32 # BB#0: # %entry - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 16 - i32.sub $13=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $13=, 0($8), $13 + i32.const $push83=, __stack_pointer + i32.load $push84=, 0($pop83) + i32.const $push85=, 16 + i32.sub $7=, $pop84, $pop85 i64.const $push0=, 0 - i64.store $discard=, 8($13), $pop0 + i64.store $discard=, 8($7), $pop0 block - block - f64.store $push76=, 0($13), $0 - tee_local $push75=, $0=, $pop76 - i64.reinterpret/f64 $push74=, $pop75 - tee_local $push73=, $4=, $pop74 + f64.store $push73=, 0($7), $0 + tee_local $push72=, $0=, $pop73 + i64.reinterpret/f64 $push71=, $pop72 + tee_local $push70=, $4=, $pop71 i64.const $push1=, 32 - i64.shr_u $push2=, $pop73, $pop1 - i32.wrap/i64 $push72=, $pop2 - tee_local $push71=, $3=, $pop72 + i64.shr_u $push2=, $pop70, $pop1 + i32.wrap/i64 $push69=, $pop2 + tee_local $push68=, $3=, $pop69 i32.const $push3=, -2147483648 - i32.and $push70=, $pop71, $pop3 - tee_local $push69=, $2=, $pop70 - i32.xor $push68=, $pop69, $3 - tee_local $push67=, $3=, $pop68 + i32.and $push67=, $pop68, $pop3 + tee_local $push66=, $2=, $pop67 + i32.xor $push65=, $pop66, $3 + tee_local $push64=, $3=, $pop65 i32.const $push4=, 2146435072 - i32.lt_s $push5=, $pop67, $pop4 - br_if 0, $pop5 # 0: down to label1 + i32.lt_s $push5=, $pop64, $pop4 + br_if 0, $pop5 # 0: down to label0 # BB#1: # %if.then f64.add $0=, $0, $0 - br 1 # 1: down to label0 + return $0 .LBB0_2: # %if.end - end_block # label1: + end_block # label0: + block i32.wrap/i64 $push6=, $4 i32.or $push7=, $pop6, $3 - i32.const $push93=, 0 - i32.eq $push94=, $pop7, $pop93 - br_if 0, $pop94 # 0: down to label0 + i32.const $push86=, 0 + i32.eq $push87=, $pop7, $pop86 + br_if 0, $pop87 # 0: down to label1 # BB#3: # %if.end13 block block - i32.const $push79=, 4 - i32.or $push8=, $13, $pop79 - i32.store $push78=, 0($pop8), $3 - tee_local $push77=, $3=, $pop78 - i32.const $push9=, 1048575 - i32.gt_s $push10=, $pop77, $pop9 - br_if 0, $pop10 # 0: down to label3 + i32.store $push75=, 4($7), $3 + tee_local $push74=, $3=, $pop75 + i32.const $push8=, 1048575 + i32.gt_s $push9=, $pop74, $pop8 + br_if 0, $pop9 # 0: down to label3 # BB#4: # %if.then18 - i32.const $push82=, 4 - i32.const $10=, 8 - i32.add $10=, $13, $10 - i32.or $push81=, $10, $pop82 - tee_local $push80=, $3=, $pop81 - i32.const $push16=, 1129316352 - i32.store $discard=, 0($pop80), $pop16 - f64.load $push17=, 8($13) - f64.mul $push18=, $pop17, $0 - f64.store $push19=, 8($13), $pop18 - i64.reinterpret/f64 $push20=, $pop19 - i64.const $push21=, 32 - i64.shr_u $push22=, $pop20, $pop21 - i32.wrap/i64 $push23=, $pop22 - i32.const $push24=, 3 - i32.div_u $push25=, $pop23, $pop24 - i32.const $push26=, 696219795 - i32.add $push27=, $pop25, $pop26 - i32.store $discard=, 0($3), $pop27 + i32.const $push14=, 1129316352 + i32.store $discard=, 12($7), $pop14 + f64.load $push15=, 8($7) + f64.mul $push16=, $pop15, $0 + f64.store $push17=, 8($7), $pop16 + i64.reinterpret/f64 $push18=, $pop17 + i64.const $push19=, 32 + i64.shr_u $push20=, $pop18, $pop19 + i32.wrap/i64 $push21=, $pop20 + i32.const $push22=, 3 + i32.div_u $push23=, $pop21, $pop22 + i32.const $push24=, 696219795 + i32.add $push25=, $pop23, $pop24 + i32.store $discard=, 12($7), $pop25 br 1 # 1: down to label2 .LBB0_5: # %if.else end_block # label3: - i32.const $push83=, 4 - i32.const $12=, 8 - i32.add $12=, $13, $12 - i32.or $push15=, $12, $pop83 - i32.const $push11=, 3 - i32.div_s $push12=, $3, $pop11 - i32.const $push13=, 715094163 - i32.add $push14=, $pop12, $pop13 - i32.store $discard=, 0($pop15), $pop14 + i32.const $push10=, 3 + i32.div_s $push11=, $3, $pop10 + i32.const $push12=, 715094163 + i32.add $push13=, $pop11, $pop12 + i32.store $discard=, 12($7), $pop13 .LBB0_6: # %if.end31 end_block # label2: - f64.load $1=, 8($13) - f64.const $push37=, 0x1.9b6db6db6db6ep0 - f64.mul $push28=, $1, $1 - f64.load $push92=, 0($13) - tee_local $push91=, $6=, $pop92 - f64.div $push29=, $pop28, $pop91 - f64.mul $push30=, $1, $pop29 - f64.const $push31=, 0x1.15f15f15f15f1p-1 - f64.add $push90=, $pop30, $pop31 - tee_local $push89=, $5=, $pop90 - f64.const $push32=, 0x1.6a0ea0ea0ea0fp0 - f64.add $push33=, $pop89, $pop32 - f64.const $push34=, -0x1.691de2532c834p-1 - f64.div $push35=, $pop34, $5 - f64.add $push36=, $pop33, $pop35 - f64.div $push38=, $pop37, $pop36 - f64.const $push39=, 0x1.6db6db6db6db7p-2 - f64.add $push40=, $pop38, $pop39 - f64.mul $push41=, $1, $pop40 - f64.store $1=, 8($13), $pop41 - i32.const $push42=, 0 - i32.store $discard=, 8($13):p2align=3, $pop42 - i32.const $push49=, 4 - i32.const $11=, 8 - i32.add $11=, $13, $11 - i32.or $push88=, $11, $pop49 - tee_local $push87=, $3=, $pop88 - i64.reinterpret/f64 $push43=, $1 - i64.const $push44=, 32 - i64.shr_u $push45=, $pop43, $pop44 - i32.wrap/i64 $push46=, $pop45 - i32.const $push47=, 1 - i32.add $push48=, $pop46, $pop47 - i32.store $discard=, 0($pop87), $pop48 - f64.load $1=, 8($13) - f64.mul $push50=, $1, $1 - f64.div $push86=, $6, $pop50 - tee_local $push85=, $6=, $pop86 - f64.sub $push52=, $pop85, $1 - f64.add $push51=, $1, $1 - f64.add $push53=, $pop51, $6 - f64.div $push54=, $pop52, $pop53 - f64.mul $push55=, $1, $pop54 - f64.add $push56=, $1, $pop55 - f64.store $push57=, 8($13), $pop56 - i64.reinterpret/f64 $push58=, $pop57 - i64.const $push84=, 32 - i64.shr_u $push59=, $pop58, $pop84 - i32.wrap/i64 $push60=, $pop59 - i32.or $push61=, $pop60, $2 - i32.store $discard=, 0($3), $pop61 - f64.load $1=, 8($13) - f64.mul $push62=, $1, $1 - f64.div $push63=, $0, $pop62 - f64.sub $push64=, $1, $pop63 - f64.const $push65=, -0x1.5555555555555p-2 - f64.mul $push66=, $pop64, $pop65 - f64.add $0=, $1, $pop66 + f64.load $1=, 8($7) + f64.const $push35=, 0x1.9b6db6db6db6ep0 + f64.mul $push26=, $1, $1 + f64.load $push82=, 0($7) + tee_local $push81=, $6=, $pop82 + f64.div $push27=, $pop26, $pop81 + f64.mul $push28=, $1, $pop27 + f64.const $push29=, 0x1.15f15f15f15f1p-1 + f64.add $push80=, $pop28, $pop29 + tee_local $push79=, $5=, $pop80 + f64.const $push30=, 0x1.6a0ea0ea0ea0fp0 + f64.add $push31=, $pop79, $pop30 + f64.const $push32=, -0x1.691de2532c834p-1 + f64.div $push33=, $pop32, $5 + f64.add $push34=, $pop31, $pop33 + f64.div $push36=, $pop35, $pop34 + f64.const $push37=, 0x1.6db6db6db6db7p-2 + f64.add $push38=, $pop36, $pop37 + f64.mul $push39=, $1, $pop38 + f64.store $1=, 8($7), $pop39 + i32.const $push40=, 0 + i32.store $discard=, 8($7):p2align=3, $pop40 + i64.reinterpret/f64 $push41=, $1 + i64.const $push42=, 32 + i64.shr_u $push43=, $pop41, $pop42 + i32.wrap/i64 $push44=, $pop43 + i32.const $push45=, 1 + i32.add $push46=, $pop44, $pop45 + i32.store $discard=, 12($7), $pop46 + f64.load $1=, 8($7) + f64.mul $push47=, $1, $1 + f64.div $push78=, $6, $pop47 + tee_local $push77=, $6=, $pop78 + f64.sub $push49=, $pop77, $1 + f64.add $push48=, $1, $1 + f64.add $push50=, $pop48, $6 + f64.div $push51=, $pop49, $pop50 + f64.mul $push52=, $1, $pop51 + f64.add $push53=, $1, $pop52 + f64.store $push54=, 8($7), $pop53 + i64.reinterpret/f64 $push55=, $pop54 + i64.const $push76=, 32 + i64.shr_u $push56=, $pop55, $pop76 + i32.wrap/i64 $push57=, $pop56 + i32.or $push58=, $pop57, $2 + i32.store $discard=, 12($7), $pop58 + f64.load $1=, 8($7) + f64.mul $push59=, $1, $1 + f64.div $push60=, $0, $pop59 + f64.sub $push61=, $1, $pop60 + f64.const $push62=, -0x1.5555555555555p-2 + f64.mul $push63=, $pop61, $pop62 + f64.add $0=, $1, $pop63 .LBB0_7: # %cleanup - end_block # label0: - i32.const $9=, 16 - i32.add $13=, $13, $9 - i32.const $9=, __stack_pointer - i32.store $13=, 0($9), $13 + end_block # label1: return $0 .endfunc .Lfunc_end0: diff --git a/test/torture-s/complex-5.c.s b/test/torture-s/complex-5.c.s index f94613b51..763ed5aee 100644 --- a/test/torture-s/complex-5.c.s +++ b/test/torture-s/complex-5.c.s @@ -27,63 +27,59 @@ p: # @p .type main,@function main: # @main .result i32 - .local f32, f32, f32, f32, f32, i32, i32, i32, i32, i32 + .local f32, f32, f32, f32, f32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 16 - i32.sub $9=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $9=, 0($6), $9 - i32.const $push28=, 0 - f32.load $0=, x+4($pop28) - i32.const $push27=, 0 - f32.load $1=, y+4($pop27) - f32.const $push8=, 0x1p0 - f32.const $push7=, 0x0p0 + i32.const $push29=, __stack_pointer + i32.load $push30=, 0($pop29) + i32.const $push31=, 16 + i32.sub $6=, $pop30, $pop31 + i32.const $push32=, __stack_pointer + i32.store $discard=, 0($pop32), $6 i32.const $push26=, 0 + f32.load $0=, x+4($pop26) i32.const $push25=, 0 - f32.load $push24=, x($pop25) - tee_local $push23=, $4=, $pop24 - i32.const $push22=, 0 - f32.load $push2=, y($pop22) - f32.add $push3=, $pop23, $pop2 - f32.store $push5=, z($pop26), $pop3 - i32.const $push21=, 0 - f32.add $push4=, $0, $1 - f32.store $push6=, z+4($pop21), $pop4 - i32.const $7=, 8 - i32.add $7=, $9, $7 - call __divsc3@FUNCTION, $7, $pop8, $pop7, $pop5, $pop6 + f32.load $1=, y+4($pop25) + f32.const $push8=, 0x1p0 + f32.const $push7=, 0x0p0 + i32.const $push24=, 0 + i32.const $push23=, 0 + f32.load $push22=, x($pop23) + tee_local $push21=, $4=, $pop22 i32.const $push20=, 0 - f32.load $1=, z($pop20) + f32.load $push2=, y($pop20) + f32.add $push3=, $pop21, $pop2 + f32.store $push5=, z($pop24), $pop3 i32.const $push19=, 0 - f32.load $3=, w($pop19) - i32.const $push10=, 4 - i32.const $8=, 8 - i32.add $8=, $9, $8 - i32.or $push11=, $8, $pop10 - f32.load $2=, 0($pop11) + f32.add $push4=, $0, $1 + f32.store $push6=, z+4($pop19), $pop4 + i32.const $5=, 8 + i32.add $5=, $6, $5 + call __divsc3@FUNCTION, $5, $pop8, $pop7, $pop5, $pop6 i32.const $push18=, 0 - f32.load $push9=, 8($9):p2align=3 - f32.add $push12=, $4, $pop9 - f32.store $discard=, y($pop18), $pop12 + f32.load $1=, z($pop18) i32.const $push17=, 0 - f32.add $push13=, $0, $2 - f32.store $discard=, y+4($pop17), $pop13 + f32.load $3=, w($pop17) + f32.load $2=, 12($6) + i32.const $push16=, 0 + f32.load $push9=, 8($6):p2align=3 + f32.add $push10=, $4, $pop9 + f32.store $discard=, y($pop16), $pop10 + i32.const $push15=, 0 + f32.add $push11=, $0, $2 + f32.store $discard=, y+4($pop15), $pop11 block - f32.ne $push14=, $1, $3 - br_if 0, $pop14 # 0: down to label0 + f32.ne $push12=, $1, $3 + br_if 0, $pop12 # 0: down to label0 # BB#1: # %entry - i32.const $push30=, 0 - f32.load $push0=, z+4($pop30) - i32.const $push29=, 0 - f32.load $push1=, w+4($pop29) - f32.ne $push15=, $pop0, $pop1 - br_if 0, $pop15 # 0: down to label0 + i32.const $push28=, 0 + f32.load $push0=, z+4($pop28) + i32.const $push27=, 0 + f32.load $push1=, w+4($pop27) + f32.ne $push13=, $pop0, $pop1 + br_if 0, $pop13 # 0: down to label0 # BB#2: # %if.end - i32.const $push16=, 0 - call exit@FUNCTION, $pop16 + i32.const $push14=, 0 + call exit@FUNCTION, $pop14 unreachable .LBB1_3: # %if.then end_block # label0: diff --git a/test/torture-s/complex-6.c.s b/test/torture-s/complex-6.c.s index b66d040a3..ea0b4f7d8 100644 --- a/test/torture-s/complex-6.c.s +++ b/test/torture-s/complex-6.c.s @@ -64,14 +64,14 @@ test_double: # @test_double .type ctest_long_double,@function ctest_long_double: # @ctest_long_double .param i32, i32 - .local i64, i64, i64, i64, i32, i32, i32, i32 + .local i64, i64, i64, i64, 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 $push14=, __stack_pointer + i32.load $push15=, 0($pop14) + i32.const $push16=, 16 + i32.sub $6=, $pop15, $pop16 + i32.const $push17=, __stack_pointer + i32.store $discard=, 0($pop17), $6 i32.const $push0=, 8 i32.add $push1=, $1, $pop0 i64.load $2=, 0($pop1) @@ -82,11 +82,11 @@ ctest_long_double: # @ctest_long_double i32.const $push2=, 24 i32.add $push3=, $1, $pop2 i64.load $push4=, 0($pop3) - call __subtf3@FUNCTION, $9, $pop7, $pop6, $pop5, $pop4 + call __subtf3@FUNCTION, $6, $pop7, $pop6, $pop5, $pop4 i32.const $push13=, 8 - i32.add $push8=, $9, $pop13 + i32.add $push8=, $6, $pop13 i64.load $4=, 0($pop8) - i64.load $5=, 0($9) + i64.load $5=, 0($6) i64.store $discard=, 0($0):p2align=4, $3 i32.const $push12=, 8 i32.add $push9=, $0, $pop12 @@ -95,10 +95,10 @@ ctest_long_double: # @ctest_long_double i32.add $push10=, $0, $pop11 i64.store $discard=, 0($pop10), $4 i64.store $discard=, 16($0):p2align=4, $5 - i32.const $8=, 16 - i32.add $9=, $9, $8 - i32.const $8=, __stack_pointer - i32.store $9=, 0($8), $9 + i32.const $push18=, 16 + i32.add $6=, $6, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $6 return .endfunc .Lfunc_end4: diff --git a/test/torture-s/complex-7.c.s b/test/torture-s/complex-7.c.s index 72c34904c..92670bae6 100644 --- a/test/torture-s/complex-7.c.s +++ b/test/torture-s/complex-7.c.s @@ -290,381 +290,318 @@ check_long_double: # @check_long_double .type main,@function main: # @main .result i32 - .local f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, 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 + .local f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, 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 # BB#0: # %entry - i32.const $50=, __stack_pointer - i32.load $50=, 0($50) - i32.const $51=, 576 - i32.sub $98=, $50, $51 - i32.const $51=, __stack_pointer - i32.store $98=, 0($51), $98 + i32.const $push121=, __stack_pointer + i32.load $push122=, 0($pop121) + i32.const $push123=, 576 + i32.sub $77=, $pop122, $pop123 + i32.const $push124=, __stack_pointer + i32.store $discard=, 0($pop124), $77 i32.const $push0=, 0 f32.load $0=, f1($pop0) - i32.const $push155=, 0 - f32.load $1=, f1+4($pop155) - i32.const $push154=, 0 - f32.load $2=, f2($pop154) - i32.const $push153=, 0 - f32.load $3=, f2+4($pop153) - i32.const $push152=, 0 - f32.load $4=, f3($pop152) - i32.const $push151=, 0 - f32.load $5=, f3+4($pop151) - i32.const $push150=, 0 - f32.load $6=, f4($pop150) - i32.const $push149=, 0 - f32.load $7=, f4+4($pop149) - i32.const $push148=, 0 - f32.load $8=, f5($pop148) - i32.const $push147=, 0 - f32.load $9=, f5+4($pop147) - f32.store $discard=, 568($98):p2align=3, $0 - i32.const $push1=, 4 - i32.const $52=, 568 - i32.add $52=, $98, $52 - i32.or $push2=, $52, $pop1 - f32.store $discard=, 0($pop2), $1 - f32.store $discard=, 560($98):p2align=3, $2 - i32.const $push146=, 4 - i32.const $53=, 560 - i32.add $53=, $98, $53 - i32.or $push3=, $53, $pop146 - f32.store $discard=, 0($pop3), $3 - f32.store $discard=, 552($98):p2align=3, $4 - i32.const $push145=, 4 - i32.const $54=, 552 - i32.add $54=, $98, $54 - i32.or $push4=, $54, $pop145 - f32.store $discard=, 0($pop4), $5 - f32.store $discard=, 544($98):p2align=3, $6 - i32.const $push144=, 4 - i32.const $55=, 544 - i32.add $55=, $98, $55 - i32.or $push5=, $55, $pop144 - f32.store $discard=, 0($pop5), $7 - i32.const $push143=, 4 - i32.const $56=, 536 - i32.add $56=, $98, $56 - i32.or $push6=, $56, $pop143 - f32.store $discard=, 0($pop6), $9 - f32.store $discard=, 536($98):p2align=3, $8 - i64.load $push7=, 568($98) - i64.store $discard=, 280($98):p2align=2, $pop7 - i64.load $push8=, 560($98) - i64.store $discard=, 272($98):p2align=2, $pop8 - i64.load $push9=, 552($98) - i64.store $discard=, 264($98):p2align=2, $pop9 - i64.load $push10=, 544($98) - i64.store $discard=, 256($98):p2align=2, $pop10 - i64.load $push11=, 536($98) - i64.store $discard=, 248($98):p2align=2, $pop11 - i32.const $57=, 280 - i32.add $57=, $98, $57 - i32.const $58=, 272 - i32.add $58=, $98, $58 - i32.const $59=, 264 - i32.add $59=, $98, $59 - i32.const $60=, 256 - i32.add $60=, $98, $60 - i32.const $61=, 248 - i32.add $61=, $98, $61 - call check_float@FUNCTION, $49, $57, $58, $59, $60, $61 - i32.const $push142=, 0 - f64.load $10=, d1($pop142) - i32.const $push141=, 0 - f64.load $11=, d1+8($pop141) - i32.const $push140=, 0 - f64.load $12=, d2($pop140) - i32.const $push139=, 0 - f64.load $13=, d2+8($pop139) - i32.const $push138=, 0 - f64.load $14=, d3($pop138) - i32.const $push137=, 0 - f64.load $15=, d3+8($pop137) - i32.const $push136=, 0 - f64.load $16=, d4($pop136) - i32.const $push135=, 0 - f64.load $17=, d4+8($pop135) - i32.const $push134=, 0 - f64.load $18=, d5($pop134) - i32.const $push133=, 0 - f64.load $19=, d5+8($pop133) - f64.store $discard=, 520($98), $10 - f64.store $discard=, 528($98), $11 - f64.store $discard=, 504($98), $12 - f64.store $discard=, 512($98), $13 - f64.store $discard=, 488($98), $14 - f64.store $discard=, 496($98), $15 - f64.store $discard=, 472($98), $16 - f64.store $discard=, 480($98), $17 - f64.store $discard=, 456($98), $18 - f64.store $discard=, 464($98), $19 - i32.const $push12=, 8 - i32.const $62=, 232 - i32.add $62=, $98, $62 - i32.add $push13=, $62, $pop12 - i64.load $push14=, 528($98) - i64.store $discard=, 0($pop13), $pop14 - i64.load $push15=, 520($98) - i64.store $discard=, 232($98), $pop15 - i32.const $push132=, 8 - i32.const $63=, 216 - i32.add $63=, $98, $63 - i32.add $push16=, $63, $pop132 - i64.load $push17=, 512($98) - i64.store $discard=, 0($pop16), $pop17 - i64.load $push18=, 504($98) - i64.store $discard=, 216($98), $pop18 - i32.const $push131=, 8 - i32.const $64=, 200 - i32.add $64=, $98, $64 - i32.add $push19=, $64, $pop131 - i64.load $push20=, 496($98) - i64.store $discard=, 0($pop19), $pop20 - i64.load $push21=, 488($98) - i64.store $discard=, 200($98), $pop21 - i32.const $push130=, 8 - i32.const $65=, 184 - i32.add $65=, $98, $65 - i32.add $push22=, $65, $pop130 - i64.load $push23=, 480($98) - i64.store $discard=, 0($pop22), $pop23 - i64.load $push24=, 472($98) - i64.store $discard=, 184($98), $pop24 - i32.const $push129=, 8 - i32.const $66=, 168 - i32.add $66=, $98, $66 - i32.add $push25=, $66, $pop129 - i64.load $push26=, 464($98) - i64.store $discard=, 0($pop25), $pop26 - i64.load $push27=, 456($98) - i64.store $discard=, 168($98), $pop27 - i32.const $67=, 232 - i32.add $67=, $98, $67 - i32.const $68=, 216 - i32.add $68=, $98, $68 - i32.const $69=, 200 - i32.add $69=, $98, $69 - i32.const $70=, 184 - i32.add $70=, $98, $70 - i32.const $71=, 168 - i32.add $71=, $98, $71 - call check_double@FUNCTION, $49, $67, $68, $69, $70, $71 - i32.const $push128=, 0 - i64.load $20=, ld1($pop128):p2align=4 - i32.const $push127=, 0 - i64.load $21=, ld1+8($pop127) - i32.const $push126=, 0 - i64.load $22=, ld1+16($pop126):p2align=4 - i32.const $push125=, 0 - i64.load $23=, ld1+24($pop125) - i32.const $push124=, 0 - i64.load $24=, ld2($pop124):p2align=4 - i32.const $push123=, 0 - i64.load $25=, ld2+8($pop123) - i32.const $push122=, 0 - i64.load $26=, ld2+16($pop122):p2align=4 - i32.const $push121=, 0 - i64.load $27=, ld2+24($pop121) i32.const $push120=, 0 - i64.load $28=, ld3($pop120):p2align=4 + f32.load $1=, f1+4($pop120) i32.const $push119=, 0 - i64.load $29=, ld3+8($pop119) + f32.load $2=, f2($pop119) i32.const $push118=, 0 - i64.load $30=, ld3+16($pop118):p2align=4 + f32.load $3=, f2+4($pop118) i32.const $push117=, 0 - i64.load $31=, ld3+24($pop117) + f32.load $4=, f3($pop117) i32.const $push116=, 0 - i64.load $32=, ld4($pop116):p2align=4 + f32.load $5=, f3+4($pop116) i32.const $push115=, 0 - i64.load $33=, ld4+8($pop115) + f32.load $6=, f4($pop115) i32.const $push114=, 0 - i64.load $34=, ld4+16($pop114):p2align=4 + f32.load $7=, f4+4($pop114) i32.const $push113=, 0 - i64.load $35=, ld4+24($pop113) + f32.load $8=, f5($pop113) i32.const $push112=, 0 - i64.load $36=, ld5($pop112):p2align=4 + f32.load $9=, f5+4($pop112) + f32.store $discard=, 568($77):p2align=3, $0 + f32.store $discard=, 572($77), $1 + f32.store $discard=, 560($77):p2align=3, $2 + f32.store $discard=, 564($77), $3 + f32.store $discard=, 552($77):p2align=3, $4 + f32.store $discard=, 556($77), $5 + f32.store $discard=, 544($77):p2align=3, $6 + f32.store $discard=, 548($77), $7 + f32.store $discard=, 536($77):p2align=3, $8 + f32.store $discard=, 540($77), $9 + i64.load $push1=, 568($77) + i64.store $discard=, 280($77):p2align=2, $pop1 + i64.load $push2=, 560($77) + i64.store $discard=, 272($77):p2align=2, $pop2 + i64.load $push3=, 552($77) + i64.store $discard=, 264($77):p2align=2, $pop3 + i64.load $push4=, 544($77) + i64.store $discard=, 256($77):p2align=2, $pop4 + i64.load $push5=, 536($77) + i64.store $discard=, 248($77):p2align=2, $pop5 + i32.const $45=, 280 + i32.add $45=, $77, $45 + i32.const $46=, 272 + i32.add $46=, $77, $46 + i32.const $47=, 264 + i32.add $47=, $77, $47 + i32.const $48=, 256 + i32.add $48=, $77, $48 + i32.const $49=, 248 + i32.add $49=, $77, $49 + call check_float@FUNCTION, $44, $45, $46, $47, $48, $49 i32.const $push111=, 0 - i64.load $37=, ld5+8($pop111) + f64.load $10=, d1($pop111) i32.const $push110=, 0 - i64.load $38=, ld5+16($pop110):p2align=4 + f64.load $11=, d1+8($pop110) i32.const $push109=, 0 - i64.load $39=, ld5+24($pop109) - i32.const $push108=, 8 - i32.const $72=, 416 - i32.add $72=, $98, $72 - i32.or $push107=, $72, $pop108 - tee_local $push106=, $49=, $pop107 - i64.store $discard=, 0($pop106), $21 - i64.store $discard=, 416($98):p2align=4, $20 - i32.const $push28=, 24 - i32.const $73=, 416 - i32.add $73=, $98, $73 - i32.add $push105=, $73, $pop28 - tee_local $push104=, $48=, $pop105 - i64.store $discard=, 0($pop104), $23 - i64.store $discard=, 432($98):p2align=4, $22 - i32.const $push103=, 8 - i32.const $74=, 384 - i32.add $74=, $98, $74 - i32.or $push102=, $74, $pop103 - tee_local $push101=, $47=, $pop102 - i64.store $discard=, 0($pop101), $25 - i64.store $discard=, 384($98):p2align=4, $24 - i32.const $push100=, 24 - i32.const $75=, 384 - i32.add $75=, $98, $75 - i32.add $push99=, $75, $pop100 - tee_local $push98=, $46=, $pop99 - i64.store $discard=, 0($pop98), $27 - i64.store $discard=, 400($98):p2align=4, $26 - i32.const $push97=, 8 - i32.const $76=, 352 - i32.add $76=, $98, $76 - i32.or $push96=, $76, $pop97 - tee_local $push95=, $45=, $pop96 - i64.store $discard=, 0($pop95), $29 - i64.store $discard=, 352($98):p2align=4, $28 - i32.const $push94=, 24 - i32.const $77=, 352 - i32.add $77=, $98, $77 - i32.add $push93=, $77, $pop94 - tee_local $push92=, $44=, $pop93 - i64.store $discard=, 0($pop92), $31 - i64.store $discard=, 368($98):p2align=4, $30 - i32.const $push91=, 8 - i32.const $78=, 320 - i32.add $78=, $98, $78 - i32.or $push90=, $78, $pop91 - tee_local $push89=, $43=, $pop90 - i64.store $discard=, 0($pop89), $33 - i64.store $discard=, 320($98):p2align=4, $32 - i32.const $push88=, 24 - i32.const $79=, 320 - i32.add $79=, $98, $79 - i32.add $push87=, $79, $pop88 - tee_local $push86=, $42=, $pop87 - i64.store $discard=, 0($pop86), $35 - i64.store $discard=, 336($98):p2align=4, $34 - i32.const $push85=, 8 - i32.const $80=, 288 - i32.add $80=, $98, $80 - i32.or $push84=, $80, $pop85 - tee_local $push83=, $41=, $pop84 - i64.store $discard=, 0($pop83), $37 - i64.store $discard=, 288($98):p2align=4, $36 - i32.const $push82=, 24 - i32.const $81=, 288 - i32.add $81=, $98, $81 - i32.add $push81=, $81, $pop82 - tee_local $push80=, $40=, $pop81 - i64.store $discard=, 0($pop80), $39 - i64.store $discard=, 304($98):p2align=4, $38 - i32.const $push79=, 24 - i32.const $82=, 128 - i32.add $82=, $98, $82 - i32.add $push29=, $82, $pop79 - i64.load $push30=, 0($48) - i64.store $discard=, 0($pop29), $pop30 - i32.const $push31=, 16 - i32.const $83=, 128 - i32.add $83=, $98, $83 - i32.add $push32=, $83, $pop31 - i64.load $push33=, 432($98):p2align=4 + f64.load $12=, d2($pop109) + i32.const $push108=, 0 + f64.load $13=, d2+8($pop108) + i32.const $push107=, 0 + f64.load $14=, d3($pop107) + i32.const $push106=, 0 + f64.load $15=, d3+8($pop106) + i32.const $push105=, 0 + f64.load $16=, d4($pop105) + i32.const $push104=, 0 + f64.load $17=, d4+8($pop104) + i32.const $push103=, 0 + f64.load $18=, d5($pop103) + i32.const $push102=, 0 + f64.load $19=, d5+8($pop102) + f64.store $discard=, 520($77), $10 + f64.store $discard=, 528($77), $11 + f64.store $discard=, 504($77), $12 + f64.store $discard=, 512($77), $13 + f64.store $discard=, 488($77), $14 + f64.store $discard=, 496($77), $15 + f64.store $discard=, 472($77), $16 + f64.store $discard=, 480($77), $17 + f64.store $discard=, 456($77), $18 + f64.store $discard=, 464($77), $19 + i32.const $push6=, 8 + i32.const $50=, 232 + i32.add $50=, $77, $50 + i32.add $push7=, $50, $pop6 + i64.load $push8=, 528($77) + i64.store $discard=, 0($pop7), $pop8 + i64.load $push9=, 520($77) + i64.store $discard=, 232($77), $pop9 + i32.const $push101=, 8 + i32.const $51=, 216 + i32.add $51=, $77, $51 + i32.add $push10=, $51, $pop101 + i64.load $push11=, 512($77) + i64.store $discard=, 0($pop10), $pop11 + i64.load $push12=, 504($77) + i64.store $discard=, 216($77), $pop12 + i32.const $push100=, 8 + i32.const $52=, 200 + i32.add $52=, $77, $52 + i32.add $push13=, $52, $pop100 + i64.load $push14=, 496($77) + i64.store $discard=, 0($pop13), $pop14 + i64.load $push15=, 488($77) + i64.store $discard=, 200($77), $pop15 + i32.const $push99=, 8 + i32.const $53=, 184 + i32.add $53=, $77, $53 + i32.add $push16=, $53, $pop99 + i64.load $push17=, 480($77) + i64.store $discard=, 0($pop16), $pop17 + i64.load $push18=, 472($77) + i64.store $discard=, 184($77), $pop18 + i32.const $push98=, 8 + i32.const $54=, 168 + i32.add $54=, $77, $54 + i32.add $push19=, $54, $pop98 + i64.load $push20=, 464($77) + i64.store $discard=, 0($pop19), $pop20 + i64.load $push21=, 456($77) + i64.store $discard=, 168($77), $pop21 + i32.const $55=, 232 + i32.add $55=, $77, $55 + i32.const $56=, 216 + i32.add $56=, $77, $56 + i32.const $57=, 200 + i32.add $57=, $77, $57 + i32.const $58=, 184 + i32.add $58=, $77, $58 + i32.const $59=, 168 + i32.add $59=, $77, $59 + call check_double@FUNCTION, $44, $55, $56, $57, $58, $59 + i32.const $push97=, 0 + i64.load $20=, ld1($pop97):p2align=4 + i32.const $push96=, 0 + i64.load $21=, ld1+8($pop96) + i32.const $push95=, 0 + i64.load $22=, ld1+16($pop95):p2align=4 + i32.const $push94=, 0 + i64.load $23=, ld1+24($pop94) + i32.const $push93=, 0 + i64.load $24=, ld2($pop93):p2align=4 + i32.const $push92=, 0 + i64.load $25=, ld2+8($pop92) + i32.const $push91=, 0 + i64.load $26=, ld2+16($pop91):p2align=4 + i32.const $push90=, 0 + i64.load $27=, ld2+24($pop90) + i32.const $push89=, 0 + i64.load $28=, ld3($pop89):p2align=4 + i32.const $push88=, 0 + i64.load $29=, ld3+8($pop88) + i32.const $push87=, 0 + i64.load $30=, ld3+16($pop87):p2align=4 + i32.const $push86=, 0 + i64.load $31=, ld3+24($pop86) + i32.const $push85=, 0 + i64.load $32=, ld4($pop85):p2align=4 + i32.const $push84=, 0 + i64.load $33=, ld4+8($pop84) + i32.const $push83=, 0 + i64.load $34=, ld4+16($pop83):p2align=4 + i32.const $push82=, 0 + i64.load $35=, ld4+24($pop82) + i32.const $push81=, 0 + i64.load $36=, ld5($pop81):p2align=4 + i32.const $push80=, 0 + i64.load $37=, ld5+8($pop80) + i32.const $push79=, 0 + i64.load $38=, ld5+16($pop79):p2align=4 + i32.const $push78=, 0 + i64.load $39=, ld5+24($pop78) + i64.store $discard=, 424($77), $21 + i64.store $discard=, 416($77):p2align=4, $20 + i32.const $push22=, 24 + i32.const $60=, 416 + i32.add $60=, $77, $60 + i32.add $push77=, $60, $pop22 + tee_local $push76=, $44=, $pop77 + i64.store $discard=, 0($pop76), $23 + i64.store $discard=, 432($77):p2align=4, $22 + i64.store $discard=, 392($77), $25 + i64.store $discard=, 384($77):p2align=4, $24 + i32.const $push75=, 24 + i32.const $61=, 384 + i32.add $61=, $77, $61 + i32.add $push74=, $61, $pop75 + tee_local $push73=, $43=, $pop74 + i64.store $discard=, 0($pop73), $27 + i64.store $discard=, 400($77):p2align=4, $26 + i64.store $discard=, 360($77), $29 + i64.store $discard=, 352($77):p2align=4, $28 + i32.const $push72=, 24 + i32.const $62=, 352 + i32.add $62=, $77, $62 + i32.add $push71=, $62, $pop72 + tee_local $push70=, $42=, $pop71 + i64.store $discard=, 0($pop70), $31 + i64.store $discard=, 368($77):p2align=4, $30 + i64.store $discard=, 328($77), $33 + i64.store $discard=, 320($77):p2align=4, $32 + i32.const $push69=, 24 + i32.const $63=, 320 + i32.add $63=, $77, $63 + i32.add $push68=, $63, $pop69 + tee_local $push67=, $41=, $pop68 + i64.store $discard=, 0($pop67), $35 + i64.store $discard=, 336($77):p2align=4, $34 + i64.store $discard=, 296($77), $37 + i64.store $discard=, 288($77):p2align=4, $36 + i32.const $push66=, 24 + i32.const $64=, 288 + i32.add $64=, $77, $64 + i32.add $push65=, $64, $pop66 + tee_local $push64=, $40=, $pop65 + i64.store $discard=, 0($pop64), $39 + i64.store $discard=, 304($77):p2align=4, $38 + i32.const $push63=, 24 + i32.const $65=, 128 + i32.add $65=, $77, $65 + i32.add $push23=, $65, $pop63 + i64.load $push24=, 0($44) + i64.store $discard=, 0($pop23), $pop24 + i32.const $push25=, 16 + i32.const $66=, 128 + i32.add $66=, $77, $66 + i32.add $push26=, $66, $pop25 + i64.load $push27=, 432($77):p2align=4 + i64.store $discard=, 0($pop26):p2align=4, $pop27 + i64.load $push28=, 424($77) + i64.store $discard=, 136($77), $pop28 + i64.load $push29=, 416($77):p2align=4 + i64.store $discard=, 128($77):p2align=4, $pop29 + i32.const $push62=, 24 + i32.const $67=, 96 + i32.add $67=, $77, $67 + i32.add $push30=, $67, $pop62 + i64.load $push31=, 0($43) + i64.store $discard=, 0($pop30), $pop31 + i32.const $push61=, 16 + i32.const $68=, 96 + i32.add $68=, $77, $68 + i32.add $push32=, $68, $pop61 + i64.load $push33=, 400($77):p2align=4 i64.store $discard=, 0($pop32):p2align=4, $pop33 - i32.const $push78=, 8 - i32.const $84=, 128 - i32.add $84=, $98, $84 - i32.or $push34=, $84, $pop78 - i64.load $push35=, 0($49) - i64.store $discard=, 0($pop34), $pop35 - i64.load $push36=, 416($98):p2align=4 - i64.store $discard=, 128($98):p2align=4, $pop36 - i32.const $push77=, 24 - i32.const $85=, 96 - i32.add $85=, $98, $85 - i32.add $push37=, $85, $pop77 - i64.load $push38=, 0($46) - i64.store $discard=, 0($pop37), $pop38 - i32.const $push76=, 16 - i32.const $86=, 96 - i32.add $86=, $98, $86 - i32.add $push39=, $86, $pop76 - i64.load $push40=, 400($98):p2align=4 - i64.store $discard=, 0($pop39):p2align=4, $pop40 - i32.const $push75=, 8 - i32.const $87=, 96 - i32.add $87=, $98, $87 - i32.or $push41=, $87, $pop75 - i64.load $push42=, 0($47) - i64.store $discard=, 0($pop41), $pop42 - i64.load $push43=, 384($98):p2align=4 - i64.store $discard=, 96($98):p2align=4, $pop43 - i32.const $push74=, 24 - i32.const $88=, 64 - i32.add $88=, $98, $88 - i32.add $push44=, $88, $pop74 - i64.load $push45=, 0($44) - i64.store $discard=, 0($pop44), $pop45 - i32.const $push73=, 16 - i32.const $89=, 64 - i32.add $89=, $98, $89 - i32.add $push46=, $89, $pop73 - i64.load $push47=, 368($98):p2align=4 - i64.store $discard=, 0($pop46):p2align=4, $pop47 - i32.const $push72=, 8 - i32.const $90=, 64 - i32.add $90=, $98, $90 - i32.or $push48=, $90, $pop72 - i64.load $push49=, 0($45) + i64.load $push34=, 392($77) + i64.store $discard=, 104($77), $pop34 + i64.load $push35=, 384($77):p2align=4 + i64.store $discard=, 96($77):p2align=4, $pop35 + i32.const $push60=, 24 + i32.const $69=, 64 + i32.add $69=, $77, $69 + i32.add $push36=, $69, $pop60 + i64.load $push37=, 0($42) + i64.store $discard=, 0($pop36), $pop37 + i32.const $push59=, 16 + i32.const $70=, 64 + i32.add $70=, $77, $70 + i32.add $push38=, $70, $pop59 + i64.load $push39=, 368($77):p2align=4 + i64.store $discard=, 0($pop38):p2align=4, $pop39 + i64.load $push40=, 360($77) + i64.store $discard=, 72($77), $pop40 + i64.load $push41=, 352($77):p2align=4 + i64.store $discard=, 64($77):p2align=4, $pop41 + i32.const $push58=, 24 + i32.const $71=, 32 + i32.add $71=, $77, $71 + i32.add $push42=, $71, $pop58 + i64.load $push43=, 0($41) + i64.store $discard=, 0($pop42), $pop43 + i32.const $push57=, 16 + i32.const $72=, 32 + i32.add $72=, $77, $72 + i32.add $push44=, $72, $pop57 + i64.load $push45=, 336($77):p2align=4 + i64.store $discard=, 0($pop44):p2align=4, $pop45 + i64.load $push46=, 328($77) + i64.store $discard=, 40($77), $pop46 + i64.load $push47=, 320($77):p2align=4 + i64.store $discard=, 32($77):p2align=4, $pop47 + i32.const $push56=, 24 + i32.add $push48=, $77, $pop56 + i64.load $push49=, 0($40) i64.store $discard=, 0($pop48), $pop49 - i64.load $push50=, 352($98):p2align=4 - i64.store $discard=, 64($98):p2align=4, $pop50 - i32.const $push71=, 24 - i32.const $91=, 32 - i32.add $91=, $98, $91 - i32.add $push51=, $91, $pop71 - i64.load $push52=, 0($42) - i64.store $discard=, 0($pop51), $pop52 - i32.const $push70=, 16 - i32.const $92=, 32 - i32.add $92=, $98, $92 - i32.add $push53=, $92, $pop70 - i64.load $push54=, 336($98):p2align=4 - i64.store $discard=, 0($pop53):p2align=4, $pop54 - i32.const $push69=, 8 - i32.const $93=, 32 - i32.add $93=, $98, $93 - i32.or $push55=, $93, $pop69 - i64.load $push56=, 0($43) - i64.store $discard=, 0($pop55), $pop56 - i64.load $push57=, 320($98):p2align=4 - i64.store $discard=, 32($98):p2align=4, $pop57 - i32.const $push68=, 24 - i32.add $push58=, $98, $pop68 - i64.load $push59=, 0($40) - i64.store $discard=, 0($pop58), $pop59 - i32.const $push67=, 16 - i32.add $push60=, $98, $pop67 - i64.load $push61=, 304($98):p2align=4 - i64.store $discard=, 0($pop60):p2align=4, $pop61 - i32.const $push66=, 8 - i32.or $push62=, $98, $pop66 - i64.load $push63=, 0($41) - i64.store $discard=, 0($pop62), $pop63 - i64.load $push64=, 288($98):p2align=4 - i64.store $discard=, 0($98):p2align=4, $pop64 - i32.const $94=, 128 - i32.add $94=, $98, $94 - i32.const $95=, 96 - i32.add $95=, $98, $95 - i32.const $96=, 64 - i32.add $96=, $98, $96 - i32.const $97=, 32 - i32.add $97=, $98, $97 - call check_long_double@FUNCTION, $49, $94, $95, $96, $97, $98 - i32.const $push65=, 0 - call exit@FUNCTION, $pop65 + i32.const $push55=, 16 + i32.add $push50=, $77, $pop55 + i64.load $push51=, 304($77):p2align=4 + i64.store $discard=, 0($pop50):p2align=4, $pop51 + i64.load $push52=, 296($77) + i64.store $discard=, 8($77), $pop52 + i64.load $push53=, 288($77):p2align=4 + i64.store $discard=, 0($77):p2align=4, $pop53 + i32.const $73=, 128 + i32.add $73=, $77, $73 + i32.const $74=, 96 + i32.add $74=, $77, $74 + i32.const $75=, 64 + i32.add $75=, $77, $75 + i32.const $76=, 32 + i32.add $76=, $77, $76 + call check_long_double@FUNCTION, $44, $73, $74, $75, $76, $77 + i32.const $push54=, 0 + call exit@FUNCTION, $pop54 unreachable .endfunc .Lfunc_end3: diff --git a/test/torture-s/conversion.c.s b/test/torture-s/conversion.c.s index 90903fd75..17889e09f 100644 --- a/test/torture-s/conversion.c.s +++ b/test/torture-s/conversion.c.s @@ -34,27 +34,27 @@ u2d: # @u2d .type u2ld,@function u2ld: # @u2ld .param i32, i32 - .local i64, i32, i32, i32, i32 + .local i64, i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - call __floatunsitf@FUNCTION, $6, $1 - i64.load $2=, 0($6) + i32.const $push5=, __stack_pointer + i32.load $push6=, 0($pop5) + i32.const $push7=, 16 + i32.sub $3=, $pop6, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $3 + call __floatunsitf@FUNCTION, $3, $1 + i64.load $2=, 0($3) i32.const $push0=, 8 i32.add $push3=, $0, $pop0 i32.const $push4=, 8 - i32.add $push1=, $6, $pop4 + i32.add $push1=, $3, $pop4 i64.load $push2=, 0($pop1) i64.store $discard=, 0($pop3), $pop2 i64.store $discard=, 0($0):p2align=4, $2 - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push9=, 16 + i32.add $3=, $3, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $3 return .endfunc .Lfunc_end2: @@ -94,27 +94,27 @@ s2d: # @s2d .type s2ld,@function s2ld: # @s2ld .param i32, i32 - .local i64, i32, i32, i32, i32 + .local i64, i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - call __floatsitf@FUNCTION, $6, $1 - i64.load $2=, 0($6) + i32.const $push5=, __stack_pointer + i32.load $push6=, 0($pop5) + i32.const $push7=, 16 + i32.sub $3=, $pop6, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $3 + call __floatsitf@FUNCTION, $3, $1 + i64.load $2=, 0($3) i32.const $push0=, 8 i32.add $push3=, $0, $pop0 i32.const $push4=, 8 - i32.add $push1=, $6, $pop4 + i32.add $push1=, $3, $pop4 i64.load $push2=, 0($pop1) i64.store $discard=, 0($pop3), $pop2 i64.store $discard=, 0($0):p2align=4, $2 - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push9=, 16 + i32.add $3=, $3, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $3 return .endfunc .Lfunc_end5: @@ -181,38 +181,38 @@ dnear: # @dnear ldnear: # @ldnear .param i64, i64, i64, i64 .result i32 - .local 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 $10=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $10=, 0($6), $10 - i32.const $8=, 16 - i32.add $8=, $10, $8 - call __subtf3@FUNCTION, $8, $0, $1, $2, $3 + i32.const $push17=, __stack_pointer + i32.load $push18=, 0($pop17) + i32.const $push19=, 32 + i32.sub $7=, $pop18, $pop19 + i32.const $push20=, __stack_pointer + i32.store $discard=, 0($pop20), $7 + i32.const $5=, 16 + i32.add $5=, $7, $5 + call __subtf3@FUNCTION, $5, $0, $1, $2, $3 i32.const $4=, 1 - i64.load $push15=, 16($10) + i64.load $push15=, 16($7) tee_local $push14=, $3=, $pop15 i32.const $push13=, 8 - i32.const $9=, 16 - i32.add $9=, $10, $9 + i32.const $6=, 16 + i32.add $6=, $7, $6 block - i32.add $push0=, $9, $pop13 + i32.add $push0=, $6, $pop13 i64.load $push12=, 0($pop0) tee_local $push11=, $2=, $pop12 i64.const $push1=, 0 i64.const $push10=, 0 i32.call $push2=, __eqtf2@FUNCTION, $pop14, $pop11, $pop1, $pop10 - i32.const $push17=, 0 - i32.eq $push18=, $pop2, $pop17 - br_if 0, $pop18 # 0: down to label2 + i32.const $push23=, 0 + i32.eq $push24=, $pop2, $pop23 + br_if 0, $pop24 # 0: down to label2 # BB#1: # %lor.rhs - call __divtf3@FUNCTION, $10, $0, $1, $3, $2 - i64.load $push5=, 0($10) + call __divtf3@FUNCTION, $7, $0, $1, $3, $2 + i64.load $push5=, 0($7) i32.const $push16=, 8 - i32.add $push3=, $10, $pop16 + i32.add $push3=, $7, $pop16 i64.load $push4=, 0($pop3) i64.const $push7=, 8070450532247928832 i64.const $push6=, 4641306360700491489 @@ -221,10 +221,10 @@ ldnear: # @ldnear i32.gt_s $4=, $pop8, $pop9 .LBB8_2: # %lor.end end_block # label2: - i32.const $7=, 32 - i32.add $10=, $10, $7 - i32.const $7=, __stack_pointer - i32.store $10=, 0($7), $10 + i32.const $push21=, 32 + i32.add $7=, $7, $pop21 + i32.const $push22=, __stack_pointer + i32.store $discard=, 0($pop22), $7 return $4 .endfunc .Lfunc_end8: @@ -277,27 +277,27 @@ ull2d: # @ull2d .type ull2ld,@function ull2ld: # @ull2ld .param i32, i64 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - call __floatunditf@FUNCTION, $5, $1 - i64.load $1=, 0($5) + i32.const $push5=, __stack_pointer + i32.load $push6=, 0($pop5) + i32.const $push7=, 16 + i32.sub $2=, $pop6, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $2 + call __floatunditf@FUNCTION, $2, $1 + i64.load $1=, 0($2) i32.const $push0=, 8 i32.add $push3=, $0, $pop0 i32.const $push4=, 8 - i32.add $push1=, $5, $pop4 + i32.add $push1=, $2, $pop4 i64.load $push2=, 0($pop1) i64.store $discard=, 0($pop3), $pop2 i64.store $discard=, 0($0):p2align=4, $1 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push9=, 16 + i32.add $2=, $2, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $2 return .endfunc .Lfunc_end12: @@ -337,27 +337,27 @@ sll2d: # @sll2d .type sll2ld,@function sll2ld: # @sll2ld .param i32, i64 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - call __floatditf@FUNCTION, $5, $1 - i64.load $1=, 0($5) + i32.const $push5=, __stack_pointer + i32.load $push6=, 0($pop5) + i32.const $push7=, 16 + i32.sub $2=, $pop6, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $2 + call __floatditf@FUNCTION, $2, $1 + i64.load $1=, 0($2) i32.const $push0=, 8 i32.add $push3=, $0, $pop0 i32.const $push4=, 8 - i32.add $push1=, $5, $pop4 + i32.add $push1=, $2, $pop4 i64.load $push2=, 0($pop1) i64.store $discard=, 0($pop3), $pop2 i64.store $discard=, 0($0):p2align=4, $1 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push9=, 16 + i32.add $2=, $2, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $2 return .endfunc .Lfunc_end15: diff --git a/test/torture-s/enum-3.c.s b/test/torture-s/enum-3.c.s index 6ad546a41..30ac1ea96 100644 --- a/test/torture-s/enum-3.c.s +++ b/test/torture-s/enum-3.c.s @@ -6,20 +6,20 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $1=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $1 i32.const $push0=, -2147483648 - i32.store $discard=, 12($3), $pop0 + i32.store $discard=, 12($1), $pop0 i32.const $push1=, 0 - i32.const $2=, 12 - i32.add $2=, $3, $2 - i32.store $discard=, q($pop1), $2 + i32.const $0=, 12 + i32.add $0=, $1, $0 + i32.store $discard=, q($pop1), $0 i32.const $push2=, 0 call exit@FUNCTION, $pop2 unreachable diff --git a/test/torture-s/fprintf-1.c.s b/test/torture-s/fprintf-1.c.s index d640799ae..5516048a3 100644 --- a/test/torture-s/fprintf-1.c.s +++ b/test/torture-s/fprintf-1.c.s @@ -6,14 +6,14 @@ .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, i32, i32 # BB#0: # %entry - 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 $push98=, __stack_pointer + i32.load $push99=, 0($pop98) + i32.const $push100=, 144 + i32.sub $10=, $pop99, $pop100 + i32.const $push101=, __stack_pointer + i32.store $discard=, 0($pop101), $10 i32.const $push1=, .L.str i32.const $push2=, 5 i32.const $push61=, 1 @@ -74,11 +74,11 @@ main: # @main i32.const $push76=, 0 i32.load $1=, stdout($pop76) i32.const $push75=, .L.str - i32.store $discard=, 128($13):p2align=4, $pop75 + i32.store $discard=, 128($10):p2align=4, $pop75 i32.const $push74=, .L.str.4 - i32.const $5=, 128 - i32.add $5=, $13, $5 - i32.call $push25=, fprintf@FUNCTION, $1, $pop74, $5 + i32.const $2=, 128 + i32.add $2=, $10, $2 + i32.call $push25=, fprintf@FUNCTION, $1, $pop74, $2 i32.const $push73=, 5 i32.ne $push26=, $pop25, $pop73 br_if 0, $pop26 # 0: down to label0 @@ -92,11 +92,11 @@ main: # @main i32.const $push82=, 0 i32.load $1=, stdout($pop82) i32.const $push81=, .L.str.1 - i32.store $discard=, 112($13):p2align=4, $pop81 + i32.store $discard=, 112($10):p2align=4, $pop81 i32.const $push80=, .L.str.4 - i32.const $6=, 112 - i32.add $6=, $13, $6 - i32.call $push30=, fprintf@FUNCTION, $1, $pop80, $6 + i32.const $3=, 112 + i32.add $3=, $10, $3 + i32.call $push30=, fprintf@FUNCTION, $1, $pop80, $3 i32.const $push79=, 6 i32.ne $push31=, $pop30, $pop79 br_if 0, $pop31 # 0: down to label0 @@ -108,11 +108,11 @@ main: # @main i32.const $push86=, 0 i32.load $1=, stdout($pop86) i32.const $push34=, .L.str.2 - i32.store $discard=, 96($13):p2align=4, $pop34 + i32.store $discard=, 96($10):p2align=4, $pop34 i32.const $push85=, .L.str.4 - i32.const $7=, 96 - i32.add $7=, $13, $7 - i32.call $push35=, fprintf@FUNCTION, $1, $pop85, $7 + i32.const $4=, 96 + i32.add $4=, $10, $4 + i32.call $push35=, fprintf@FUNCTION, $1, $pop85, $4 i32.const $push36=, 1 i32.ne $push37=, $pop35, $pop36 br_if 0, $pop37 # 0: down to label0 @@ -120,11 +120,11 @@ main: # @main i32.const $push89=, 0 i32.load $1=, stdout($pop89) i32.const $push38=, .L.str.3 - i32.store $discard=, 80($13):p2align=4, $pop38 + i32.store $discard=, 80($10):p2align=4, $pop38 i32.const $push88=, .L.str.4 - i32.const $8=, 80 - i32.add $8=, $13, $8 - i32.call $push39=, fprintf@FUNCTION, $1, $pop88, $8 + i32.const $5=, 80 + i32.add $5=, $10, $5 + i32.call $push39=, fprintf@FUNCTION, $1, $pop88, $5 br_if 0, $pop39 # 0: down to label0 # BB#8: # %if.end36 i32.const $push41=, 120 @@ -134,11 +134,11 @@ main: # @main i32.const $push91=, 0 i32.load $1=, stdout($pop91) i32.const $push90=, 120 - i32.store $discard=, 64($13):p2align=4, $pop90 + i32.store $discard=, 64($10):p2align=4, $pop90 i32.const $push42=, .L.str.5 - i32.const $9=, 64 - i32.add $9=, $13, $9 - i32.call $push43=, fprintf@FUNCTION, $1, $pop42, $9 + i32.const $6=, 64 + i32.add $6=, $10, $6 + i32.call $push43=, fprintf@FUNCTION, $1, $pop42, $6 i32.const $push44=, 1 i32.ne $push45=, $pop43, $pop44 br_if 0, $pop45 # 0: down to label0 @@ -146,18 +146,18 @@ main: # @main i32.const $push95=, 0 i32.load $1=, stdout($pop95) i32.const $push46=, .L.str.1 - i32.store $0=, 48($13):p2align=4, $pop46 + i32.store $0=, 48($10):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 $7=, 48 + i32.add $7=, $10, $7 + i32.call $discard=, fprintf@FUNCTION, $1, $pop47, $7 i32.const $push94=, 0 i32.load $1=, stdout($pop94) - i32.store $discard=, 32($13):p2align=4, $0 + i32.store $discard=, 32($10):p2align=4, $0 i32.const $push93=, .L.str.6 - i32.const $11=, 32 - i32.add $11=, $13, $11 - i32.call $push48=, fprintf@FUNCTION, $1, $pop93, $11 + i32.const $8=, 32 + i32.add $8=, $10, $8 + i32.call $push48=, fprintf@FUNCTION, $1, $pop93, $8 i32.const $push49=, 7 i32.ne $push50=, $pop48, $pop49 br_if 0, $pop50 # 0: down to label0 @@ -165,23 +165,23 @@ main: # @main i32.const $push51=, 0 i32.load $0=, stdout($pop51) i32.const $push97=, 0 - i32.store $1=, 16($13):p2align=4, $pop97 + i32.store $1=, 16($10):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.const $9=, 16 + i32.add $9=, $10, $9 + i32.call $discard=, fprintf@FUNCTION, $0, $pop52, $9 i32.load $0=, stdout($1) - i32.store $discard=, 0($13):p2align=4, $1 + i32.store $discard=, 0($10):p2align=4, $1 i32.const $push96=, .L.str.7 - i32.call $push53=, fprintf@FUNCTION, $0, $pop96, $13 + i32.call $push53=, fprintf@FUNCTION, $0, $pop96, $10 i32.const $push54=, 2 i32.ne $push55=, $pop53, $pop54 br_if 0, $pop55 # 0: down to label0 # BB#11: # %if.end51 - i32.const $4=, 144 - i32.add $13=, $13, $4 - i32.const $4=, __stack_pointer - i32.store $13=, 0($4), $13 + i32.const $push102=, 144 + i32.add $10=, $10, $pop102 + i32.const $push103=, __stack_pointer + i32.store $discard=, 0($pop103), $10 return $1 .LBB0_12: # %if.then50 end_block # label0: diff --git a/test/torture-s/fprintf-chk-1.c.s b/test/torture-s/fprintf-chk-1.c.s index 95e57a1c2..43f3ea10f 100644 --- a/test/torture-s/fprintf-chk-1.c.s +++ b/test/torture-s/fprintf-chk-1.c.s @@ -7,14 +7,14 @@ __fprintf_chk: # @__fprintf_chk .param i32, i32, i32, i32 .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $4=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $4 block i32.const $push4=, 0 i32.load $push0=, should_optimize($pop4) @@ -23,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($7), $3 + i32.store $push2=, 12($4), $3 i32.call $push3=, vfprintf@FUNCTION, $0, $2, $pop2 - i32.const $6=, 16 - i32.add $7=, $7, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 + i32.const $push10=, 16 + i32.add $4=, $4, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $4 return $pop3 .LBB0_2: # %if.then end_block # label0: @@ -44,14 +44,14 @@ __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 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - 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 $push178=, __stack_pointer + i32.load $push179=, 0($pop178) + i32.const $push180=, 224 + i32.sub $16=, $pop179, $pop180 + i32.const $push181=, __stack_pointer + i32.store $discard=, 0($pop181), $16 i32.const $push84=, 0 i32.const $push0=, 1 i32.store $discard=, should_optimize($pop84), $pop0 @@ -63,9 +63,9 @@ main: # @main block i32.const $push80=, 0 i32.load $push2=, should_optimize($pop80) - i32.const $push178=, 0 - i32.eq $push179=, $pop2, $pop178 - br_if 0, $pop179 # 0: down to label1 + i32.const $push184=, 0 + i32.eq $push185=, $pop2, $pop184 + br_if 0, $pop185 # 0: down to label1 # BB#1: # %if.end i32.const $push89=, 0 i32.const $push88=, 0 @@ -80,9 +80,9 @@ main: # @main # BB#2: # %if.end3 i32.const $push90=, 0 i32.load $push7=, should_optimize($pop90) - i32.const $push180=, 0 - i32.eq $push181=, $pop7, $pop180 - br_if 0, $pop181 # 0: down to label1 + i32.const $push186=, 0 + i32.eq $push187=, $pop7, $pop186 + br_if 0, $pop187 # 0: down to label1 # BB#3: # %if.end6 i32.const $push95=, 0 i32.const $push8=, 1 @@ -94,9 +94,9 @@ main: # @main i32.call $discard=, __fprintf_chk@FUNCTION, $pop9, $0, $pop93, $pop92 i32.const $push91=, 0 i32.load $push10=, should_optimize($pop91) - i32.const $push182=, 0 - i32.eq $push183=, $pop10, $pop182 - br_if 0, $pop183 # 0: down to label1 + i32.const $push188=, 0 + i32.eq $push189=, $pop10, $pop188 + br_if 0, $pop189 # 0: down to label1 # BB#4: # %if.end10 i32.const $push11=, 0 i32.const $push99=, 0 @@ -110,9 +110,9 @@ main: # @main br_if 0, $pop15 # 0: down to label1 # BB#5: # %if.end14 i32.load $push16=, should_optimize($0) - i32.const $push184=, 0 - i32.eq $push185=, $pop16, $pop184 - br_if 0, $pop185 # 0: down to label1 + i32.const $push190=, 0 + i32.eq $push191=, $pop16, $pop190 + br_if 0, $pop191 # 0: down to label1 # BB#6: # %if.end17 i32.const $push104=, 0 i32.const $push17=, 1 @@ -124,9 +124,9 @@ main: # @main i32.call $discard=, __fprintf_chk@FUNCTION, $pop18, $0, $pop102, $pop101 i32.const $push100=, 0 i32.load $push19=, should_optimize($pop100) - i32.const $push186=, 0 - i32.eq $push187=, $pop19, $pop186 - br_if 0, $pop187 # 0: down to label1 + i32.const $push192=, 0 + i32.eq $push193=, $pop19, $pop192 + br_if 0, $pop193 # 0: down to label1 # BB#7: # %if.end21 i32.const $push109=, 0 i32.const $push108=, 0 @@ -140,9 +140,9 @@ main: # @main # BB#8: # %if.end25 i32.const $push110=, 0 i32.load $push23=, should_optimize($pop110) - i32.const $push188=, 0 - i32.eq $push189=, $pop23, $pop188 - br_if 0, $pop189 # 0: down to label1 + i32.const $push194=, 0 + i32.eq $push195=, $pop23, $pop194 + br_if 0, $pop195 # 0: down to label1 # BB#9: # %if.end28 i32.const $push115=, 0 i32.const $push24=, 1 @@ -154,9 +154,9 @@ main: # @main i32.call $discard=, __fprintf_chk@FUNCTION, $pop25, $0, $pop113, $pop112 i32.const $push111=, 0 i32.load $push26=, should_optimize($pop111) - i32.const $push190=, 0 - i32.eq $push191=, $pop26, $pop190 - br_if 0, $pop191 # 0: down to label1 + i32.const $push196=, 0 + i32.eq $push197=, $pop26, $pop196 + br_if 0, $pop197 # 0: down to label1 # BB#10: # %if.end32 i32.const $push27=, 0 i32.const $push119=, 0 @@ -168,9 +168,9 @@ main: # @main br_if 0, $pop29 # 0: down to label1 # BB#11: # %if.end36 i32.load $push30=, should_optimize($0) - i32.const $push192=, 0 - i32.eq $push193=, $pop30, $pop192 - br_if 0, $pop193 # 0: down to label1 + i32.const $push198=, 0 + i32.eq $push199=, $pop30, $pop198 + br_if 0, $pop199 # 0: down to label1 # BB#12: # %if.end39 i32.const $push123=, 0 i32.const $push31=, 1 @@ -178,35 +178,35 @@ main: # @main i32.const $push122=, 0 i32.load $0=, stdout($pop122) i32.const $push32=, .L.str - i32.store $1=, 208($19):p2align=4, $pop32 + i32.store $1=, 208($16):p2align=4, $pop32 i32.const $push121=, .L.str.4 - i32.const $6=, 208 - i32.add $6=, $19, $6 - i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop121, $6 + i32.const $3=, 208 + i32.add $3=, $16, $3 + i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop121, $3 i32.const $push120=, 0 i32.load $push33=, should_optimize($pop120) - i32.const $push194=, 0 - i32.eq $push195=, $pop33, $pop194 - br_if 0, $pop195 # 0: down to label1 + i32.const $push200=, 0 + i32.eq $push201=, $pop33, $pop200 + br_if 0, $pop201 # 0: down to label1 # BB#13: # %if.end43 i32.const $push126=, 0 i32.const $push125=, 0 i32.store $push34=, should_optimize($pop126), $pop125 i32.load $0=, stdout($pop34) - i32.store $discard=, 192($19):p2align=4, $1 + i32.store $discard=, 192($16):p2align=4, $1 i32.const $push124=, .L.str.4 - i32.const $7=, 192 - i32.add $7=, $19, $7 - i32.call $push35=, __fprintf_chk@FUNCTION, $0, $0, $pop124, $7 + i32.const $4=, 192 + i32.add $4=, $16, $4 + i32.call $push35=, __fprintf_chk@FUNCTION, $0, $0, $pop124, $4 i32.const $push36=, 5 i32.ne $push37=, $pop35, $pop36 br_if 0, $pop37 # 0: down to label1 # BB#14: # %if.end47 i32.const $push127=, 0 i32.load $push38=, should_optimize($pop127) - i32.const $push196=, 0 - i32.eq $push197=, $pop38, $pop196 - br_if 0, $pop197 # 0: down to label1 + i32.const $push202=, 0 + i32.eq $push203=, $pop38, $pop202 + br_if 0, $pop203 # 0: down to label1 # BB#15: # %if.end50 i32.const $push131=, 0 i32.const $push39=, 1 @@ -214,35 +214,35 @@ main: # @main i32.const $push130=, 0 i32.load $0=, stdout($pop130) i32.const $push40=, .L.str.1 - i32.store $1=, 176($19):p2align=4, $pop40 + i32.store $1=, 176($16):p2align=4, $pop40 i32.const $push129=, .L.str.4 - i32.const $8=, 176 - i32.add $8=, $19, $8 - i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop129, $8 + i32.const $5=, 176 + i32.add $5=, $16, $5 + i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop129, $5 i32.const $push128=, 0 i32.load $push41=, should_optimize($pop128) - i32.const $push198=, 0 - i32.eq $push199=, $pop41, $pop198 - br_if 0, $pop199 # 0: down to label1 + i32.const $push204=, 0 + i32.eq $push205=, $pop41, $pop204 + br_if 0, $pop205 # 0: down to label1 # BB#16: # %if.end54 i32.const $push42=, 0 i32.const $push135=, 0 i32.store $push134=, should_optimize($pop42), $pop135 tee_local $push133=, $2=, $pop134 i32.load $0=, stdout($pop133) - i32.store $discard=, 160($19):p2align=4, $1 + i32.store $discard=, 160($16):p2align=4, $1 i32.const $push132=, .L.str.4 - i32.const $9=, 160 - i32.add $9=, $19, $9 - i32.call $push43=, __fprintf_chk@FUNCTION, $0, $0, $pop132, $9 + i32.const $6=, 160 + i32.add $6=, $16, $6 + i32.call $push43=, __fprintf_chk@FUNCTION, $0, $0, $pop132, $6 i32.const $push44=, 6 i32.ne $push45=, $pop43, $pop44 br_if 0, $pop45 # 0: down to label1 # BB#17: # %if.end58 i32.load $push46=, should_optimize($2) - i32.const $push200=, 0 - i32.eq $push201=, $pop46, $pop200 - br_if 0, $pop201 # 0: down to label1 + i32.const $push206=, 0 + i32.eq $push207=, $pop46, $pop206 + br_if 0, $pop207 # 0: down to label1 # BB#18: # %if.end61 i32.const $push139=, 0 i32.const $push47=, 1 @@ -250,34 +250,34 @@ main: # @main i32.const $push138=, 0 i32.load $0=, stdout($pop138) i32.const $push48=, .L.str.2 - i32.store $2=, 144($19):p2align=4, $pop48 + i32.store $2=, 144($16):p2align=4, $pop48 i32.const $push137=, .L.str.4 - i32.const $10=, 144 - i32.add $10=, $19, $10 - i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop137, $10 + i32.const $7=, 144 + i32.add $7=, $16, $7 + i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop137, $7 i32.const $push136=, 0 i32.load $push49=, should_optimize($pop136) - i32.const $push202=, 0 - i32.eq $push203=, $pop49, $pop202 - br_if 0, $pop203 # 0: down to label1 + i32.const $push208=, 0 + i32.eq $push209=, $pop49, $pop208 + br_if 0, $pop209 # 0: down to label1 # BB#19: # %if.end65 i32.const $push142=, 0 i32.const $push141=, 0 i32.store $push50=, should_optimize($pop142), $pop141 i32.load $0=, stdout($pop50) - i32.store $discard=, 128($19):p2align=4, $2 + i32.store $discard=, 128($16):p2align=4, $2 i32.const $push140=, .L.str.4 - i32.const $11=, 128 - i32.add $11=, $19, $11 - i32.call $push51=, __fprintf_chk@FUNCTION, $0, $0, $pop140, $11 + i32.const $8=, 128 + i32.add $8=, $16, $8 + i32.call $push51=, __fprintf_chk@FUNCTION, $0, $0, $pop140, $8 i32.ne $push52=, $pop51, $1 br_if 0, $pop52 # 0: down to label1 # BB#20: # %if.end69 i32.const $push143=, 0 i32.load $push53=, should_optimize($pop143) - i32.const $push204=, 0 - i32.eq $push205=, $pop53, $pop204 - br_if 0, $pop205 # 0: down to label1 + i32.const $push210=, 0 + i32.eq $push211=, $pop53, $pop210 + br_if 0, $pop211 # 0: down to label1 # BB#21: # %if.end72 i32.const $push147=, 0 i32.const $push54=, 1 @@ -285,33 +285,33 @@ main: # @main i32.const $push146=, 0 i32.load $0=, stdout($pop146) i32.const $push55=, .L.str.3 - i32.store $1=, 112($19):p2align=4, $pop55 + i32.store $1=, 112($16):p2align=4, $pop55 i32.const $push145=, .L.str.4 - i32.const $12=, 112 - i32.add $12=, $19, $12 - i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop145, $12 + i32.const $9=, 112 + i32.add $9=, $16, $9 + i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop145, $9 i32.const $push144=, 0 i32.load $push56=, should_optimize($pop144) - i32.const $push206=, 0 - i32.eq $push207=, $pop56, $pop206 - br_if 0, $pop207 # 0: down to label1 + i32.const $push212=, 0 + i32.eq $push213=, $pop56, $pop212 + br_if 0, $pop213 # 0: down to label1 # BB#22: # %if.end76 i32.const $push57=, 0 i32.const $push151=, 0 i32.store $push150=, should_optimize($pop57), $pop151 tee_local $push149=, $2=, $pop150 i32.load $0=, stdout($pop149) - i32.store $discard=, 96($19):p2align=4, $1 + i32.store $discard=, 96($16):p2align=4, $1 i32.const $push148=, .L.str.4 - i32.const $13=, 96 - i32.add $13=, $19, $13 - i32.call $push58=, __fprintf_chk@FUNCTION, $0, $0, $pop148, $13 + i32.const $10=, 96 + i32.add $10=, $16, $10 + i32.call $push58=, __fprintf_chk@FUNCTION, $0, $0, $pop148, $10 br_if 0, $pop58 # 0: down to label1 # BB#23: # %if.end80 i32.load $push59=, should_optimize($2) - i32.const $push208=, 0 - i32.eq $push209=, $pop59, $pop208 - br_if 0, $pop209 # 0: down to label1 + i32.const $push214=, 0 + i32.eq $push215=, $pop59, $pop214 + br_if 0, $pop215 # 0: down to label1 # BB#24: # %if.end83 i32.const $push155=, 0 i32.const $push60=, 1 @@ -319,34 +319,34 @@ main: # @main i32.const $push154=, 0 i32.load $0=, stdout($pop154) i32.const $push61=, 120 - i32.store $2=, 80($19):p2align=4, $pop61 + i32.store $2=, 80($16):p2align=4, $pop61 i32.const $push153=, .L.str.5 - i32.const $14=, 80 - i32.add $14=, $19, $14 - i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop153, $14 + i32.const $11=, 80 + i32.add $11=, $16, $11 + i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop153, $11 i32.const $push152=, 0 i32.load $push62=, should_optimize($pop152) - i32.const $push210=, 0 - i32.eq $push211=, $pop62, $pop210 - br_if 0, $pop211 # 0: down to label1 + i32.const $push216=, 0 + i32.eq $push217=, $pop62, $pop216 + br_if 0, $pop217 # 0: down to label1 # BB#25: # %if.end87 i32.const $push158=, 0 i32.const $push157=, 0 i32.store $push63=, should_optimize($pop158), $pop157 i32.load $0=, stdout($pop63) - i32.store $discard=, 64($19):p2align=4, $2 + i32.store $discard=, 64($16):p2align=4, $2 i32.const $push156=, .L.str.5 - i32.const $15=, 64 - i32.add $15=, $19, $15 - i32.call $push64=, __fprintf_chk@FUNCTION, $0, $0, $pop156, $15 + i32.const $12=, 64 + i32.add $12=, $16, $12 + i32.call $push64=, __fprintf_chk@FUNCTION, $0, $0, $pop156, $12 i32.ne $push65=, $pop64, $1 br_if 0, $pop65 # 0: down to label1 # BB#26: # %if.end91 i32.const $push159=, 0 i32.load $push66=, should_optimize($pop159) - i32.const $push212=, 0 - i32.eq $push213=, $pop66, $pop212 - br_if 0, $pop213 # 0: down to label1 + i32.const $push218=, 0 + i32.eq $push219=, $pop66, $pop218 + br_if 0, $pop219 # 0: down to label1 # BB#27: # %if.end94 i32.const $push164=, 0 i32.const $push163=, 0 @@ -354,71 +354,71 @@ main: # @main tee_local $push161=, $0=, $pop162 i32.load $1=, stdout($pop161) i32.const $push67=, .L.str.1 - i32.store $2=, 48($19):p2align=4, $pop67 + i32.store $2=, 48($16):p2align=4, $pop67 i32.const $push160=, .L.str.6 - i32.const $16=, 48 - i32.add $16=, $19, $16 - i32.call $discard=, __fprintf_chk@FUNCTION, $1, $0, $pop160, $16 + i32.const $13=, 48 + i32.add $13=, $16, $13 + i32.call $discard=, __fprintf_chk@FUNCTION, $1, $0, $pop160, $13 i32.load $push68=, should_optimize($0) - i32.const $push214=, 0 - i32.eq $push215=, $pop68, $pop214 - br_if 0, $pop215 # 0: down to label1 + i32.const $push220=, 0 + i32.eq $push221=, $pop68, $pop220 + br_if 0, $pop221 # 0: down to label1 # BB#28: # %if.end98 i32.const $push69=, 0 i32.const $push168=, 0 i32.store $push167=, should_optimize($pop69), $pop168 tee_local $push166=, $1=, $pop167 i32.load $0=, stdout($pop166) - i32.store $discard=, 32($19):p2align=4, $2 + i32.store $discard=, 32($16):p2align=4, $2 i32.const $push165=, .L.str.6 - i32.const $17=, 32 - i32.add $17=, $19, $17 - i32.call $push70=, __fprintf_chk@FUNCTION, $0, $0, $pop165, $17 + i32.const $14=, 32 + i32.add $14=, $16, $14 + i32.call $push70=, __fprintf_chk@FUNCTION, $0, $0, $pop165, $14 i32.const $push71=, 7 i32.ne $push72=, $pop70, $pop71 br_if 0, $pop72 # 0: down to label1 # BB#29: # %if.end102 i32.load $push73=, should_optimize($1) - i32.const $push216=, 0 - i32.eq $push217=, $pop73, $pop216 - br_if 0, $pop217 # 0: down to label1 + i32.const $push222=, 0 + i32.eq $push223=, $pop73, $pop222 + br_if 0, $pop223 # 0: down to label1 # BB#30: # %if.end105 i32.const $push74=, 0 i32.const $push172=, 0 i32.store $push171=, should_optimize($pop74), $pop172 tee_local $push170=, $0=, $pop171 i32.load $1=, stdout($pop170) - i32.store $discard=, 16($19):p2align=4, $0 + i32.store $discard=, 16($16):p2align=4, $0 i32.const $push169=, .L.str.7 - i32.const $18=, 16 - i32.add $18=, $19, $18 - i32.call $discard=, __fprintf_chk@FUNCTION, $1, $0, $pop169, $18 + i32.const $15=, 16 + i32.add $15=, $16, $15 + i32.call $discard=, __fprintf_chk@FUNCTION, $1, $0, $pop169, $15 i32.load $push75=, should_optimize($0) - i32.const $push218=, 0 - i32.eq $push219=, $pop75, $pop218 - br_if 0, $pop219 # 0: down to label1 + i32.const $push224=, 0 + i32.eq $push225=, $pop75, $pop224 + br_if 0, $pop225 # 0: down to label1 # BB#31: # %if.end109 i32.store $push175=, should_optimize($0), $0 tee_local $push174=, $0=, $pop175 i32.load $1=, stdout($pop174) - i32.store $discard=, 0($19):p2align=4, $0 + i32.store $discard=, 0($16):p2align=4, $0 i32.const $push173=, .L.str.7 - i32.call $push76=, __fprintf_chk@FUNCTION, $1, $0, $pop173, $19 + i32.call $push76=, __fprintf_chk@FUNCTION, $1, $0, $pop173, $16 i32.const $push77=, 2 i32.ne $push78=, $pop76, $pop77 br_if 0, $pop78 # 0: down to label1 # BB#32: # %if.end113 i32.const $push176=, 0 i32.load $push79=, should_optimize($pop176) - i32.const $push220=, 0 - i32.eq $push221=, $pop79, $pop220 - br_if 0, $pop221 # 0: down to label1 + i32.const $push226=, 0 + i32.eq $push227=, $pop79, $pop226 + br_if 0, $pop227 # 0: down to label1 # BB#33: # %if.end116 i32.const $push177=, 0 - i32.const $5=, 224 - i32.add $19=, $19, $5 - i32.const $5=, __stack_pointer - i32.store $19=, 0($5), $19 + i32.const $push182=, 224 + i32.add $16=, $16, $pop182 + i32.const $push183=, __stack_pointer + i32.store $discard=, 0($pop183), $16 return $pop177 .LBB1_34: # %if.then115 end_block # label1: diff --git a/test/torture-s/frame-address.c.s b/test/torture-s/frame-address.c.s index f792b546c..030fc3fb9 100644 --- a/test/torture-s/frame-address.c.s +++ b/test/torture-s/frame-address.c.s @@ -7,42 +7,33 @@ check_fa_work: # @check_fa_work .param i32, i32 .result i32 - .local i32, 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 $8=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $8=, 0($3), $8 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $5=, $pop7, $pop8 i32.const $push0=, 0 - i32.store8 $discard=, 15($8), $pop0 - i32.const $5=, 15 - i32.add $5=, $8, $5 - block + i32.store8 $discard=, 15($5), $pop0 + i32.const $2=, 15 + i32.add $2=, $5, $2 block - i32.le_u $push1=, $5, $0 - br_if 0, $pop1 # 0: down to label1 + i32.le_u $push1=, $2, $0 + br_if 0, $pop1 # 0: down to label0 # BB#1: # %if.else i32.le_u $push4=, $0, $1 - i32.const $6=, 15 - i32.add $6=, $8, $6 - i32.ge_u $push5=, $6, $1 + i32.const $3=, 15 + i32.add $3=, $5, $3 + i32.ge_u $push5=, $3, $1 i32.and $1=, $pop4, $pop5 - br 1 # 1: down to label0 + return $1 .LBB0_2: # %if.then - end_block # label1: + end_block # label0: i32.ge_u $push2=, $0, $1 - i32.const $7=, 15 - i32.add $7=, $8, $7 - i32.le_u $push3=, $7, $1 + i32.const $4=, 15 + i32.add $4=, $5, $4 + i32.le_u $push3=, $4, $1 i32.and $1=, $pop2, $pop3 -.LBB0_3: # %cleanup - end_block # label0: - i32.const $4=, 16 - i32.add $8=, $8, $4 - i32.const $4=, __stack_pointer - i32.store $8=, 0($4), $8 return $1 .endfunc .Lfunc_end0: @@ -55,16 +46,16 @@ check_fa_work: # @check_fa_work check_fa_mid: # @check_fa_mid .param i32 .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $3=, 0($1) - copy_local $4=, $3 - i32.call $push0=, check_fa_work@FUNCTION, $0, $4 + i32.const $push3=, __stack_pointer + i32.load $1=, 0($pop3) + copy_local $2=, $1 + i32.call $push0=, check_fa_work@FUNCTION, $0, $2 i32.const $push1=, 0 i32.ne $push2=, $pop0, $pop1 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $4 + i32.const $push4=, __stack_pointer + i32.store $1=, 0($pop4), $2 return $pop2 .endfunc .Lfunc_end1: @@ -77,23 +68,23 @@ check_fa_mid: # @check_fa_mid check_fa: # @check_fa .param i32 .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $5=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 - i32.const $4=, 15 - i32.add $4=, $5, $4 - i32.call $push0=, check_fa_mid@FUNCTION, $4 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $2=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $2 + i32.const $1=, 15 + i32.add $1=, $2, $1 + i32.call $push0=, check_fa_mid@FUNCTION, $1 i32.const $push1=, 0 i32.ne $push2=, $pop0, $pop1 - i32.const $3=, 16 - i32.add $5=, $5, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $push7=, 16 + i32.add $2=, $2, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $2 return $pop2 .endfunc .Lfunc_end2: @@ -124,12 +115,12 @@ main: # @main i32.call $push0=, check_fa@FUNCTION, $0 i32.const $push2=, 0 i32.eq $push3=, $pop0, $pop2 - br_if 0, $pop3 # 0: down to label2 + br_if 0, $pop3 # 0: down to label1 # BB#1: # %if.end i32.const $push1=, 0 return $pop1 .LBB4_2: # %if.then - end_block # label2: + end_block # label1: call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/gofast.c.s b/test/torture-s/gofast.c.s index a29532c28..21ae803b1 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 + .local i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 16 + i32.sub $2=, $pop8, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $2 i32.const $push0=, 0 i32.load $1=, stderr($pop0) i32.const $push6=, 0 @@ -443,13 +443,13 @@ fail: # @fail i32.const $push2=, 1 i32.add $push3=, $pop1, $pop2 i32.store $discard=, fail_count($pop6), $pop3 - i32.store $discard=, 0($5):p2align=4, $0 + i32.store $discard=, 0($2):p2align=4, $0 i32.const $push4=, .L.str - i32.call $discard=, fprintf@FUNCTION, $1, $pop4, $5 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.call $discard=, fprintf@FUNCTION, $1, $pop4, $2 + i32.const $push11=, 16 + i32.add $2=, $2, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $2 return $0 .endfunc .Lfunc_end30: diff --git a/test/torture-s/loop-15.c.s b/test/torture-s/loop-15.c.s index e17372854..1b89f3b0b 100644 --- a/test/torture-s/loop-15.c.s +++ b/test/torture-s/loop-15.c.s @@ -36,20 +36,18 @@ foo: # @foo .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 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $14=, __stack_pointer - i32.load $14=, 0($14) - i32.const $15=, 32 - i32.sub $17=, $14, $15 - i32.const $15=, __stack_pointer - i32.store $17=, 0($15), $17 - i32.const $push1=, 8 - i32.or $7=, $17, $pop1 - i32.const $push2=, 16 - i32.add $8=, $17, $pop2 - i32.const $push19=, 4 - i32.or $0=, $17, $pop19 + i32.const $push35=, __stack_pointer + i32.load $push36=, 0($pop35) + i32.const $push37=, 32 + i32.sub $13=, $pop36, $pop37 + i32.const $push38=, __stack_pointer + i32.store $discard=, 0($pop38), $13 + i32.const $push1=, 16 + i32.add $7=, $13, $pop1 + i32.const $push18=, 4 + i32.or $0=, $13, $pop18 i32.const $3=, 0 i32.const $2=, -1 copy_local $1=, $0 @@ -64,9 +62,9 @@ main: # @main block block loop # label6: - i32.const $push20=, 2 - i32.shl $push0=, $3, $pop20 - i32.add $4=, $17, $pop0 + i32.const $push19=, 2 + i32.shl $push0=, $3, $pop19 + i32.add $4=, $13, $pop0 copy_local $5=, $0 i32.const $6=, 0 .LBB1_2: # %for.cond4.preheader @@ -77,36 +75,36 @@ main: # @main # Child Loop BB1_8 Depth 3 # Child Loop BB1_11 Depth 3 loop # label8: - i64.const $push23=, 4294967296 - i64.store $discard=, 0($17):p2align=4, $pop23 - i64.const $push22=, 12884901890 - i64.store $discard=, 0($7), $pop22 - i32.const $push21=, 4 - i32.store $9=, 0($8):p2align=4, $pop21 - i32.const $12=, -1 - copy_local $11=, $17 + i64.const $push22=, 4294967296 + i64.store $discard=, 0($13):p2align=4, $pop22 + i64.const $push21=, 12884901890 + i64.store $discard=, 8($13), $pop21 + i32.const $push20=, 4 + i32.store $8=, 0($7):p2align=4, $pop20 + i32.const $11=, -1 + copy_local $10=, $13 block - i32.le_s $push3=, $6, $3 - br_if 0, $pop3 # 0: down to label10 + i32.le_s $push2=, $6, $3 + br_if 0, $pop2 # 0: down to label10 # BB#3: # %while.body.i.preheader # in Loop: Header=BB1_2 Depth=2 - i32.const $push24=, 2 - i32.shl $push4=, $6, $pop24 - i32.add $10=, $17, $pop4 + i32.const $push23=, 2 + i32.shl $push3=, $6, $pop23 + i32.add $9=, $13, $pop3 .LBB1_4: # %while.body.i # Parent Loop BB1_1 Depth=1 # Parent Loop BB1_2 Depth=2 # => This Inner Loop Header: Depth=3 loop # label11: - i32.const $push27=, -4 - i32.add $push26=, $10, $pop27 - tee_local $push25=, $13=, $pop26 - i32.load $push5=, 0($pop25) - i32.store $discard=, 0($10), $pop5 + i32.const $push26=, -4 + i32.add $push25=, $9, $pop26 + tee_local $push24=, $12=, $pop25 + i32.load $push4=, 0($pop24) + i32.store $discard=, 0($9), $pop4 + copy_local $9=, $12 copy_local $10=, $13 - copy_local $11=, $17 - i32.gt_u $push6=, $13, $4 - br_if 0, $pop6 # 0: up to label11 + i32.gt_u $push5=, $12, $4 + br_if 0, $pop5 # 0: up to label11 .LBB1_5: # %for.body11 # Parent Loop BB1_1 Depth=1 # Parent Loop BB1_2 Depth=2 @@ -114,86 +112,86 @@ main: # @main end_loop # label12: end_block # label10: loop # label13: - i32.const $push28=, 1 - i32.add $12=, $12, $pop28 - i32.load $push7=, 0($11) - i32.ne $push8=, $12, $pop7 - br_if 6, $pop8 # 6: down to label5 + i32.const $push27=, 1 + i32.add $11=, $11, $pop27 + i32.load $push6=, 0($10) + i32.ne $push7=, $11, $pop6 + br_if 6, $pop7 # 6: down to label5 # BB#6: # %for.cond9 # in Loop: Header=BB1_5 Depth=3 - i32.add $11=, $11, $9 - i32.lt_s $push9=, $12, $3 - br_if 0, $pop9 # 0: up to label13 + i32.add $10=, $10, $8 + i32.lt_s $push8=, $11, $3 + br_if 0, $pop8 # 0: up to label13 # BB#7: # in Loop: Header=BB1_2 Depth=2 end_loop # label14: - copy_local $11=, $1 - copy_local $12=, $2 + copy_local $10=, $1 + copy_local $11=, $2 .LBB1_8: # %for.cond17 # Parent Loop BB1_1 Depth=1 # Parent Loop BB1_2 Depth=2 # => This Inner Loop Header: Depth=3 loop # label15: - i32.const $push29=, 1 - i32.add $12=, $12, $pop29 - i32.ge_s $push10=, $12, $6 - br_if 1, $pop10 # 1: down to label16 + i32.const $push28=, 1 + i32.add $11=, $11, $pop28 + i32.ge_s $push9=, $11, $6 + br_if 1, $pop9 # 1: down to label16 # BB#9: # %for.body19 # in Loop: Header=BB1_8 Depth=3 - i32.load $10=, 0($11) - i32.add $11=, $11, $9 - i32.eq $push18=, $12, $10 - br_if 0, $pop18 # 0: up to label15 + i32.load $9=, 0($10) + i32.add $10=, $10, $8 + i32.eq $push17=, $11, $9 + br_if 0, $pop17 # 0: up to label15 br 7 # 7: down to label4 .LBB1_10: # %for.end26 # in Loop: Header=BB1_2 Depth=2 end_loop # label16: - i32.const $push31=, 1 - i32.add $6=, $6, $pop31 - copy_local $11=, $5 - copy_local $12=, $6 - i32.const $push30=, 5 - i32.ge_s $push11=, $6, $pop30 - br_if 1, $pop11 # 1: down to label9 + i32.const $push30=, 1 + i32.add $6=, $6, $pop30 + copy_local $10=, $5 + copy_local $11=, $6 + i32.const $push29=, 5 + i32.ge_s $push10=, $6, $pop29 + br_if 1, $pop10 # 1: down to label9 .LBB1_11: # %for.body30 # Parent Loop BB1_1 Depth=1 # Parent Loop BB1_2 Depth=2 # => This Inner Loop Header: Depth=3 loop # label17: - i32.load $push12=, 0($11) - i32.ne $push13=, $12, $pop12 - br_if 8, $pop13 # 8: down to label3 + i32.load $push11=, 0($10) + i32.ne $push12=, $11, $pop11 + br_if 8, $pop12 # 8: down to label3 # BB#12: # %for.cond28 # in Loop: Header=BB1_11 Depth=3 - i32.const $push32=, 1 - i32.add $12=, $12, $pop32 - i32.add $11=, $11, $9 - i32.le_s $push14=, $12, $9 - br_if 0, $pop14 # 0: up to label17 + i32.const $push31=, 1 + i32.add $11=, $11, $pop31 + i32.add $10=, $10, $8 + i32.le_s $push13=, $11, $8 + br_if 0, $pop13 # 0: up to label17 # BB#13: # %for.cond1.loopexit # in Loop: Header=BB1_2 Depth=2 end_loop # label18: - i32.add $5=, $5, $9 - i32.le_s $push15=, $6, $9 - br_if 0, $pop15 # 0: up to label8 + i32.add $5=, $5, $8 + i32.le_s $push14=, $6, $8 + br_if 0, $pop14 # 0: up to label8 .LBB1_14: # %for.inc41 # in Loop: Header=BB1_1 Depth=1 end_loop # label9: - i32.add $1=, $1, $9 - i32.const $push35=, 1 - i32.add $3=, $3, $pop35 + i32.add $1=, $1, $8 i32.const $push34=, 1 - i32.add $2=, $2, $pop34 - i32.const $push33=, 5 - i32.lt_s $push16=, $3, $pop33 - br_if 0, $pop16 # 0: up to label6 + i32.add $3=, $3, $pop34 + i32.const $push33=, 1 + i32.add $2=, $2, $pop33 + i32.const $push32=, 5 + i32.lt_s $push15=, $3, $pop32 + br_if 0, $pop15 # 0: up to label6 # BB#15: # %for.end43 end_loop # label7: - i32.const $push17=, 0 - i32.const $16=, 32 - i32.add $17=, $17, $16 - i32.const $16=, __stack_pointer - i32.store $17=, 0($16), $17 - return $pop17 + i32.const $push16=, 0 + i32.const $push39=, 32 + i32.add $13=, $13, $pop39 + i32.const $push40=, __stack_pointer + i32.store $discard=, 0($pop40), $13 + return $pop16 .LBB1_16: # %if.then end_block # label5: call abort@FUNCTION diff --git a/test/torture-s/loop-8.c.s b/test/torture-s/loop-8.c.s index 2028fd294..5721e3f70 100644 --- a/test/torture-s/loop-8.c.s +++ b/test/torture-s/loop-8.c.s @@ -30,14 +30,14 @@ bar: # @bar .type main,@function main: # @main .result i32 - .local f64, i32, i32, i32, i32 + .local f64, i32, i32 # BB#0: # %entry - 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 $push19=, __stack_pointer + i32.load $push20=, 0($pop19) + i32.const $push21=, 16 + i32.sub $2=, $pop20, $pop21 + i32.const $push22=, __stack_pointer + i32.store $discard=, 0($pop22), $2 block block i32.const $push15=, 0 @@ -53,21 +53,21 @@ main: # @main f64.le $push1=, $0, $pop16 f64.ne $push2=, $0, $0 i32.or $push3=, $pop1, $pop2 - i32.const $push19=, 0 - i32.eq $push20=, $pop3, $pop19 - br_if 0, $pop20 # 0: down to label2 + i32.const $push23=, 0 + i32.eq $push24=, $pop3, $pop23 + br_if 0, $pop24 # 0: down to label2 # BB#2: # %for.cond.1 i32.const $push4=, 0 f64.load $0=, a+16($pop4):p2align=4 f64.const $push5=, 0x0p0 f64.gt $push6=, $0, $pop5 - i32.const $push21=, 0 - i32.eq $push22=, $pop6, $pop21 - br_if 1, $pop22 # 1: down to label1 + i32.const $push25=, 0 + i32.eq $push26=, $pop6, $pop25 + br_if 1, $pop26 # 1: down to label1 .LBB1_3: # %e end_block # label2: block - f64.store $push8=, 8($4), $0 + f64.store $push8=, 8($2), $0 f64.const $push9=, 0x1p0 f64.eq $push10=, $pop8, $pop9 br_if 0, $pop10 # 0: down to label3 @@ -81,11 +81,11 @@ main: # @main unreachable .LBB1_6: # %for.cond.2 end_block # label1: - f64.store $discard=, 8($4), $0 + f64.store $discard=, 8($2), $0 i32.const $push7=, 1 - i32.const $3=, 8 - i32.add $3=, $4, $3 - call bar@FUNCTION, $pop7, $3 + i32.const $1=, 8 + i32.add $1=, $2, $1 + call bar@FUNCTION, $pop7, $1 i32.const $push18=, 1 call exit@FUNCTION, $pop18 unreachable diff --git a/test/torture-s/loop-ivopts-2.c.s b/test/torture-s/loop-ivopts-2.c.s index 33c0c14a5..b46dbaaaa 100644 --- a/test/torture-s/loop-ivopts-2.c.s +++ b/test/torture-s/loop-ivopts-2.c.s @@ -54,19 +54,19 @@ check: # @check .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, 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=, 1152 - i32.sub $7=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $7=, 0($5), $7 + i32.const $push55=, __stack_pointer + i32.load $push56=, 0($pop55) + i32.const $push57=, 1152 + i32.sub $4=, $pop56, $pop57 + i32.const $push58=, __stack_pointer + i32.store $discard=, 0($pop58), $4 i32.const $3=, 0 .LBB1_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label3: - i32.add $push0=, $7, $3 + i32.add $push0=, $4, $3 i32.const $push44=, 8 i32.store $discard=, 0($pop0), $pop44 i32.const $push43=, 4 @@ -77,7 +77,7 @@ main: # @main # BB#2: # %for.body3.preheader end_loop # label4: i32.const $push2=, 576 - i32.add $2=, $7, $pop2 + i32.add $2=, $4, $pop2 i32.const $3=, 0 .LBB1_3: # %for.body3 # =>This Inner Loop Header: Depth=1 @@ -93,37 +93,37 @@ main: # @main # BB#4: # %for.body17 end_loop # label6: i64.const $push5=, 30064771079 - i64.store $push6=, 1024($7):p2align=4, $pop5 - i64.store $push7=, 1032($7), $pop6 - i64.store $push8=, 1040($7):p2align=4, $pop7 - i64.store $push9=, 1048($7), $pop8 - i64.store $discard=, 1056($7):p2align=4, $pop9 + i64.store $push6=, 1024($4):p2align=4, $pop5 + i64.store $push7=, 1032($4), $pop6 + i64.store $push8=, 1040($4):p2align=4, $pop7 + i64.store $push9=, 1048($4), $pop8 + i64.store $discard=, 1056($4):p2align=4, $pop9 i32.const $push10=, 7 - i32.store $push11=, 1064($7):p2align=3, $pop10 - i32.store $push12=, 1068($7), $pop11 - i32.store $push13=, 1072($7):p2align=4, $pop12 - i32.store $push14=, 1076($7), $pop13 - i32.store $push15=, 1080($7):p2align=3, $pop14 - i32.store $push16=, 1084($7), $pop15 - i32.store $push17=, 1088($7):p2align=4, $pop16 - i32.store $push18=, 1092($7), $pop17 - i32.store $push19=, 1096($7):p2align=3, $pop18 - i32.store $push20=, 1100($7), $pop19 - i32.store $push21=, 1104($7):p2align=4, $pop20 - i32.store $push22=, 1108($7), $pop21 - i32.store $push23=, 1112($7):p2align=3, $pop22 - i32.store $0=, 1116($7), $pop23 + i32.store $push11=, 1064($4):p2align=3, $pop10 + i32.store $push12=, 1068($4), $pop11 + i32.store $push13=, 1072($4):p2align=4, $pop12 + i32.store $push14=, 1076($4), $pop13 + i32.store $push15=, 1080($4):p2align=3, $pop14 + i32.store $push16=, 1084($4), $pop15 + i32.store $push17=, 1088($4):p2align=4, $pop16 + i32.store $push18=, 1092($4), $pop17 + i32.store $push19=, 1096($4):p2align=3, $pop18 + i32.store $push20=, 1100($4), $pop19 + i32.store $push21=, 1104($4):p2align=4, $pop20 + i32.store $push22=, 1108($4), $pop21 + i32.store $push23=, 1112($4):p2align=3, $pop22 + i32.store $0=, 1116($4), $pop23 i32.const $push24=, 8 - i32.store $push25=, 1120($7):p2align=4, $pop24 - i32.store $push26=, 1124($7), $pop25 - i32.store $push27=, 1128($7):p2align=3, $pop26 - i32.store $push28=, 1132($7), $pop27 - i32.store $push29=, 1136($7):p2align=4, $pop28 - i32.store $push30=, 1140($7), $pop29 - i32.store $push31=, 1144($7):p2align=3, $pop30 - i32.store $1=, 1148($7), $pop31 + i32.store $push25=, 1120($4):p2align=4, $pop24 + i32.store $push26=, 1124($4), $pop25 + i32.store $push27=, 1128($4):p2align=3, $pop26 + i32.store $push28=, 1132($4), $pop27 + i32.store $push29=, 1136($4):p2align=4, $pop28 + i32.store $push30=, 1140($4), $pop29 + i32.store $push31=, 1144($4):p2align=3, $pop30 + i32.store $1=, 1148($4), $pop31 i32.const $3=, 0 - copy_local $2=, $7 + copy_local $2=, $4 .LBB1_5: # %for.body.i # =>This Inner Loop Header: Depth=1 block @@ -153,10 +153,10 @@ main: # @main # BB#7: # %check.exit end_loop # label9: i32.const $push41=, 0 - i32.const $6=, 1152 - i32.add $7=, $7, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 + i32.const $push59=, 1152 + i32.add $4=, $4, $pop59 + i32.const $push60=, __stack_pointer + i32.store $discard=, 0($pop60), $4 return $pop41 .LBB1_8: # %if.then.i end_block # label7: diff --git a/test/torture-s/mayalias-3.c.s b/test/torture-s/mayalias-3.c.s index c49cb4c01..84269c3de 100644 --- a/test/torture-s/mayalias-3.c.s +++ b/test/torture-s/mayalias-3.c.s @@ -21,27 +21,21 @@ g: # @g .type f,@function f: # @f .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $5=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $2=, $pop4, $pop5 i32.const $push1=, 10 - i32.store $discard=, 12($5), $pop1 + i32.store $discard=, 12($2), $pop1 i32.const $push2=, 1 - i32.store16 $discard=, 12($5):p2align=2, $pop2 - i32.load $0=, 12($5) + i32.store16 $discard=, 12($2):p2align=2, $pop2 + i32.load $0=, 12($2) i32.const $push0=, 0 - i32.const $4=, 12 - i32.add $4=, $5, $4 - i32.store $discard=, p($pop0), $4 - i32.const $3=, 16 - i32.add $5=, $5, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $1=, 12 + i32.add $1=, $2, $1 + i32.store $discard=, p($pop0), $1 return $0 .endfunc .Lfunc_end1: @@ -53,32 +47,32 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, 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 $6=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $6=, 0($3), $6 + i32.const $push5=, __stack_pointer + i32.load $push6=, 0($pop5) + i32.const $push7=, 16 + i32.sub $3=, $pop6, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $3 i32.const $push0=, 10 - i32.store $0=, 12($6), $pop0 + i32.store $0=, 12($3), $pop0 i32.const $push1=, 1 - i32.store16 $discard=, 12($6):p2align=2, $pop1 - i32.load $1=, 12($6) + i32.store16 $discard=, 12($3):p2align=2, $pop1 + i32.load $1=, 12($3) i32.const $push3=, 0 - i32.const $5=, 12 - i32.add $5=, $6, $5 - i32.store $discard=, p($pop3), $5 + i32.const $2=, 12 + i32.add $2=, $3, $2 + i32.store $discard=, p($pop3), $2 block i32.eq $push2=, $1, $0 br_if 0, $pop2 # 0: down to label0 # BB#1: # %if.end i32.const $push4=, 0 - i32.const $4=, 16 - i32.add $6=, $6, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.const $push9=, 16 + i32.add $3=, $3, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $3 return $pop4 .LBB2_2: # %if.then end_block # label0: diff --git a/test/torture-s/memcpy-1.c.s b/test/torture-s/memcpy-1.c.s index 1532bd6e1..4809bd8c6 100644 --- a/test/torture-s/memcpy-1.c.s +++ b/test/torture-s/memcpy-1.c.s @@ -20,24 +20,24 @@ copy: # @copy .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, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 696320 - i32.sub $9=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $9=, 0($3), $9 + i32.const $push58=, __stack_pointer + i32.load $push59=, 0($pop58) + i32.const $push60=, 696320 + i32.sub $7=, $pop59, $pop60 + i32.const $push61=, __stack_pointer + i32.store $discard=, 0($pop61), $7 i32.const $1=, 0 i32.const $push37=, 0 i32.const $push36=, 348160 - i32.call $discard=, memset@FUNCTION, $9, $pop37, $pop36 + i32.call $discard=, memset@FUNCTION, $7, $pop37, $pop36 .LBB1_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label0: - i32.const $4=, 348160 - i32.add $4=, $9, $4 - i32.add $push0=, $4, $1 + i32.const $2=, 348160 + i32.add $2=, $7, $2 + i32.add $push0=, $2, $1 i32.store8 $push1=, 0($pop0), $1 i32.const $push39=, 1 i32.add $1=, $pop1, $pop39 @@ -47,9 +47,9 @@ main: # @main # BB#2: # %for.end end_loop # label1: i32.const $push3=, 2720 - i32.const $5=, 348160 - i32.add $5=, $9, $5 - i32.call $discard=, memcpy@FUNCTION, $9, $5, $pop3 + i32.const $3=, 348160 + i32.add $3=, $7, $3 + i32.call $discard=, memcpy@FUNCTION, $7, $3, $pop3 i32.const $1=, 0 .LBB1_3: # %for.body6 # =>This Inner Loop Header: Depth=1 @@ -57,7 +57,7 @@ main: # @main block block loop # label5: - i32.add $push4=, $9, $1 + i32.add $push4=, $7, $1 i32.load8_u $push5=, 0($pop4) i32.const $push42=, 255 i32.and $push6=, $1, $pop42 @@ -74,7 +74,7 @@ main: # @main end_loop # label6: i32.const $push43=, 1 i32.const $push9=, 2720 - i32.call $discard=, memset@FUNCTION, $9, $pop43, $pop9 + i32.call $discard=, memset@FUNCTION, $7, $pop43, $pop9 i32.const $1=, 1 .LBB1_6: # %for.cond17 # =>This Inner Loop Header: Depth=1 @@ -85,7 +85,7 @@ main: # @main br_if 2, $pop10 # 2: down to label7 # BB#7: # %for.cond17.for.body20_crit_edge # in Loop: Header=BB1_6 Depth=1 - i32.add $0=, $9, $1 + i32.add $0=, $7, $1 i32.const $push46=, 1 i32.add $1=, $1, $pop46 i32.load8_u $push34=, 0($0) @@ -99,14 +99,14 @@ main: # @main .LBB1_9: # %for.end29 end_block # label7: i32.const $push11=, 348160 - i32.const $6=, 348160 - i32.add $6=, $9, $6 - i32.call $discard=, memcpy@FUNCTION, $9, $6, $pop11 + i32.const $4=, 348160 + i32.add $4=, $7, $4 + i32.call $discard=, memcpy@FUNCTION, $7, $4, $pop11 i32.const $1=, 0 .LBB1_10: # %for.body35 # =>This Inner Loop Header: Depth=1 loop # label10: - i32.add $push12=, $9, $1 + i32.add $push12=, $7, $1 i32.load8_u $push13=, 0($pop12) i32.const $push49=, 255 i32.and $push14=, $1, $pop49 @@ -123,7 +123,7 @@ main: # @main end_loop # label11: i32.const $push18=, 0 i32.const $push17=, 348160 - i32.call $discard=, memset@FUNCTION, $9, $pop18, $pop17 + i32.call $discard=, memset@FUNCTION, $7, $pop18, $pop17 i32.const $1=, 1 .LBB1_13: # %for.cond48 # =>This Inner Loop Header: Depth=1 @@ -134,13 +134,13 @@ main: # @main br_if 2, $pop19 # 2: down to label12 # BB#14: # %for.cond48.for.body51_crit_edge # in Loop: Header=BB1_13 Depth=1 - i32.add $0=, $9, $1 + i32.add $0=, $7, $1 i32.const $push51=, 1 i32.add $1=, $1, $pop51 i32.load8_u $push33=, 0($0) - i32.const $push58=, 0 - i32.eq $push59=, $pop33, $pop58 - br_if 0, $pop59 # 0: up to label13 + i32.const $push62=, 0 + i32.eq $push63=, $pop33, $pop62 + br_if 0, $pop63 # 0: up to label13 # BB#15: # %if.then56 end_loop # label14: call abort@FUNCTION @@ -148,14 +148,14 @@ main: # @main .LBB1_16: # %for.end60 end_block # label12: i32.const $push20=, 2720 - i32.const $7=, 348160 - i32.add $7=, $9, $7 - i32.call $discard=, memcpy@FUNCTION, $9, $7, $pop20 + i32.const $5=, 348160 + i32.add $5=, $7, $5 + i32.call $discard=, memcpy@FUNCTION, $7, $5, $pop20 i32.const $1=, 0 .LBB1_17: # %for.body66 # =>This Inner Loop Header: Depth=1 loop # label15: - i32.add $push21=, $9, $1 + i32.add $push21=, $7, $1 i32.load8_u $push22=, 0($pop21) i32.const $push54=, 255 i32.and $push23=, $1, $pop54 @@ -171,15 +171,15 @@ main: # @main # BB#19: # %for.end77 end_loop # label16: i32.const $push26=, 348160 - i32.const $8=, 348160 - i32.add $8=, $9, $8 - i32.call $discard=, memcpy@FUNCTION, $9, $8, $pop26 + i32.const $6=, 348160 + i32.add $6=, $7, $6 + i32.call $discard=, memcpy@FUNCTION, $7, $6, $pop26 i32.const $1=, 0 .LBB1_20: # %for.body85 # =>This Inner Loop Header: Depth=1 block loop # label18: - i32.add $push27=, $9, $1 + i32.add $push27=, $7, $1 i32.load8_u $push28=, 0($pop27) i32.const $push57=, 255 i32.and $push29=, $1, $pop57 diff --git a/test/torture-s/multi-ix.c.s b/test/torture-s/multi-ix.c.s index bd7ec6f9d..af2a9fdd9 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, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, 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 # BB#0: # %entry - 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 + i32.const $push342=, __stack_pointer + i32.load $push343=, 0($pop342) + i32.const $push344=, 80480 + i32.sub $275=, $pop343, $pop344 + i32.const $push345=, __stack_pointer + i32.store $discard=, 0($pop345), $275 block i32.const $push0=, 1 i32.lt_s $push1=, $0, $pop0 @@ -21,1056 +21,1026 @@ f: # @f .LBB0_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label1: - 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 $push341=, 156 + i32.const $41=, 320 + i32.add $41=, $275, $41 + i32.add $push2=, $41, $pop341 + i32.const $42=, 480 + i32.add $42=, $275, $42 + i32.store $discard=, 0($pop2), $42 + i32.const $push340=, 152 + i32.const $43=, 320 + i32.add $43=, $275, $43 + i32.add $push3=, $43, $pop340 + i32.const $44=, 2480 + i32.add $44=, $275, $44 + i32.store $discard=, 0($pop3):p2align=3, $44 + i32.const $push339=, 148 + i32.const $45=, 320 + i32.add $45=, $275, $45 + i32.add $push4=, $45, $pop339 + i32.const $46=, 4480 + i32.add $46=, $275, $46 + i32.store $discard=, 0($pop4), $46 + i32.const $push338=, 144 + i32.const $47=, 320 + i32.add $47=, $275, $47 + i32.add $push5=, $47, $pop338 + i32.const $48=, 6480 + i32.add $48=, $275, $48 + i32.store $discard=, 0($pop5):p2align=4, $48 + i32.const $push337=, 140 + i32.const $49=, 320 + i32.add $49=, $275, $49 + i32.add $push6=, $49, $pop337 + i32.const $50=, 8480 + i32.add $50=, $275, $50 + i32.store $discard=, 0($pop6), $50 + i32.const $push336=, 136 + i32.const $51=, 320 + i32.add $51=, $275, $51 + i32.add $push7=, $51, $pop336 + i32.const $52=, 10480 + i32.add $52=, $275, $52 + i32.store $discard=, 0($pop7):p2align=3, $52 + i32.const $push335=, 132 + i32.const $53=, 320 + i32.add $53=, $275, $53 + i32.add $push8=, $53, $pop335 + i32.const $54=, 12480 + i32.add $54=, $275, $54 + i32.store $discard=, 0($pop8), $54 + i32.const $push334=, 128 + i32.const $55=, 320 + i32.add $55=, $275, $55 + i32.add $push9=, $55, $pop334 + i32.const $56=, 14480 + i32.add $56=, $275, $56 + i32.store $discard=, 0($pop9):p2align=4, $56 + i32.const $push333=, 124 + i32.const $57=, 320 + i32.add $57=, $275, $57 + i32.add $push10=, $57, $pop333 + i32.const $58=, 16480 + i32.add $58=, $275, $58 + i32.store $discard=, 0($pop10), $58 + i32.const $push332=, 120 + i32.const $59=, 320 + i32.add $59=, $275, $59 + i32.add $push11=, $59, $pop332 + i32.const $60=, 18480 + i32.add $60=, $275, $60 + i32.store $discard=, 0($pop11):p2align=3, $60 + i32.const $push331=, 116 + i32.const $61=, 320 + i32.add $61=, $275, $61 + i32.add $push12=, $61, $pop331 + i32.const $62=, 20480 + i32.add $62=, $275, $62 + i32.store $discard=, 0($pop12), $62 + i32.const $push330=, 112 + i32.const $63=, 320 + i32.add $63=, $275, $63 + i32.add $push13=, $63, $pop330 + i32.const $64=, 22480 + i32.add $64=, $275, $64 + i32.store $discard=, 0($pop13):p2align=4, $64 + i32.const $push329=, 108 + i32.const $65=, 320 + i32.add $65=, $275, $65 + i32.add $push14=, $65, $pop329 + i32.const $66=, 24480 + i32.add $66=, $275, $66 + i32.store $discard=, 0($pop14), $66 + i32.const $push328=, 104 + i32.const $67=, 320 + i32.add $67=, $275, $67 + i32.add $push15=, $67, $pop328 + i32.const $68=, 26480 + i32.add $68=, $275, $68 + i32.store $discard=, 0($pop15):p2align=3, $68 + i32.const $push327=, 100 + i32.const $69=, 320 + i32.add $69=, $275, $69 + i32.add $push16=, $69, $pop327 + i32.const $70=, 28480 + i32.add $70=, $275, $70 + i32.store $discard=, 0($pop16), $70 + i32.const $push326=, 96 + i32.const $71=, 320 + i32.add $71=, $275, $71 + i32.add $push17=, $71, $pop326 + i32.const $72=, 30480 + i32.add $72=, $275, $72 + i32.store $discard=, 0($pop17):p2align=4, $72 + i32.const $push325=, 92 + i32.const $73=, 320 + i32.add $73=, $275, $73 + i32.add $push18=, $73, $pop325 + i32.const $74=, 32480 + i32.add $74=, $275, $74 + i32.store $discard=, 0($pop18), $74 + i32.const $push324=, 88 + i32.const $75=, 320 + i32.add $75=, $275, $75 + i32.add $push19=, $75, $pop324 + i32.const $76=, 34480 + i32.add $76=, $275, $76 + i32.store $discard=, 0($pop19):p2align=3, $76 + i32.const $push323=, 84 + i32.const $77=, 320 + i32.add $77=, $275, $77 + i32.add $push20=, $77, $pop323 + i32.const $78=, 36480 + i32.add $78=, $275, $78 + i32.store $discard=, 0($pop20), $78 + i32.const $push322=, 80 + i32.const $79=, 320 + i32.add $79=, $275, $79 + i32.add $push21=, $79, $pop322 + i32.const $80=, 38480 + i32.add $80=, $275, $80 + i32.store $discard=, 0($pop21):p2align=4, $80 + i32.const $push321=, 76 + i32.const $81=, 320 + i32.add $81=, $275, $81 + i32.add $push22=, $81, $pop321 + i32.const $82=, 40480 + i32.add $82=, $275, $82 + i32.store $discard=, 0($pop22), $82 + i32.const $push320=, 72 + i32.const $83=, 320 + i32.add $83=, $275, $83 + i32.add $push23=, $83, $pop320 + i32.const $84=, 42480 + i32.add $84=, $275, $84 + i32.store $discard=, 0($pop23):p2align=3, $84 + i32.const $push319=, 68 + i32.const $85=, 320 + i32.add $85=, $275, $85 + i32.add $push24=, $85, $pop319 + i32.const $86=, 44480 + i32.add $86=, $275, $86 + i32.store $discard=, 0($pop24), $86 + i32.const $push318=, 64 + i32.const $87=, 320 + i32.add $87=, $275, $87 + i32.add $push25=, $87, $pop318 + i32.const $88=, 46480 + i32.add $88=, $275, $88 + i32.store $discard=, 0($pop25):p2align=4, $88 + i32.const $push317=, 60 + i32.const $89=, 320 + i32.add $89=, $275, $89 + i32.add $push26=, $89, $pop317 + i32.const $90=, 48480 + i32.add $90=, $275, $90 + i32.store $discard=, 0($pop26), $90 + i32.const $push316=, 56 + i32.const $91=, 320 + i32.add $91=, $275, $91 + i32.add $push27=, $91, $pop316 + i32.const $92=, 50480 + i32.add $92=, $275, $92 + i32.store $discard=, 0($pop27):p2align=3, $92 + i32.const $push315=, 52 + i32.const $93=, 320 + i32.add $93=, $275, $93 + i32.add $push28=, $93, $pop315 + i32.const $94=, 52480 + i32.add $94=, $275, $94 + i32.store $discard=, 0($pop28), $94 + i32.const $push314=, 48 + i32.const $95=, 320 + i32.add $95=, $275, $95 + i32.add $push29=, $95, $pop314 + i32.const $96=, 54480 + i32.add $96=, $275, $96 + i32.store $discard=, 0($pop29):p2align=4, $96 + i32.const $push313=, 44 + i32.const $97=, 320 + i32.add $97=, $275, $97 + i32.add $push30=, $97, $pop313 + i32.const $98=, 56480 + i32.add $98=, $275, $98 + i32.store $discard=, 0($pop30), $98 + i32.const $push312=, 40 + i32.const $99=, 320 + i32.add $99=, $275, $99 + i32.add $push31=, $99, $pop312 + i32.const $100=, 58480 + i32.add $100=, $275, $100 + i32.store $discard=, 0($pop31):p2align=3, $100 + i32.const $push311=, 36 + i32.const $101=, 320 + i32.add $101=, $275, $101 + i32.add $push32=, $101, $pop311 + i32.const $102=, 60480 + i32.add $102=, $275, $102 + i32.store $discard=, 0($pop32), $102 + i32.const $push310=, 32 + i32.const $103=, 320 + i32.add $103=, $275, $103 + i32.add $push33=, $103, $pop310 + i32.const $104=, 62480 + i32.add $104=, $275, $104 + i32.store $discard=, 0($pop33):p2align=4, $104 + i32.const $push309=, 28 + i32.const $105=, 320 + i32.add $105=, $275, $105 + i32.add $push34=, $105, $pop309 + i32.const $106=, 64480 + i32.add $106=, $275, $106 + i32.store $discard=, 0($pop34), $106 + i32.const $push308=, 24 + i32.const $107=, 320 + i32.add $107=, $275, $107 + i32.add $push35=, $107, $pop308 + i32.const $108=, 66480 + i32.add $108=, $275, $108 + i32.store $discard=, 0($pop35):p2align=3, $108 + i32.const $push307=, 20 + i32.const $109=, 320 + i32.add $109=, $275, $109 + i32.add $push36=, $109, $pop307 + i32.const $110=, 68480 + i32.add $110=, $275, $110 + i32.store $discard=, 0($pop36), $110 + i32.const $push306=, 16 + i32.const $111=, 320 + i32.add $111=, $275, $111 + i32.add $push37=, $111, $pop306 + i32.const $112=, 70480 + i32.add $112=, $275, $112 + i32.store $discard=, 0($pop37):p2align=4, $112 + i32.const $113=, 72480 + i32.add $113=, $275, $113 + i32.store $discard=, 332($275), $113 + i32.const $114=, 74480 + i32.add $114=, $275, $114 + i32.store $discard=, 328($275):p2align=3, $114 + i32.const $115=, 76480 + i32.add $115=, $275, $115 + i32.store $discard=, 324($275), $115 + i32.const $116=, 78480 + i32.add $116=, $275, $116 + i32.store $discard=, 320($275):p2align=4, $116 + i32.const $push305=, 40 + i32.const $117=, 320 + i32.add $117=, $275, $117 + call s@FUNCTION, $pop305, $117 + i32.load $1=, 78480($275):p2align=4 + i32.load $2=, 76480($275):p2align=4 + i32.load $3=, 74480($275):p2align=4 + i32.load $4=, 72480($275):p2align=4 + i32.load $5=, 70480($275):p2align=4 + i32.load $6=, 68480($275):p2align=4 + i32.load $7=, 66480($275):p2align=4 + i32.load $8=, 64480($275):p2align=4 + i32.load $9=, 62480($275):p2align=4 + i32.load $10=, 60480($275):p2align=4 + i32.load $11=, 58480($275):p2align=4 + i32.load $12=, 56480($275):p2align=4 + i32.load $13=, 54480($275):p2align=4 + i32.load $14=, 52480($275):p2align=4 + i32.load $15=, 50480($275):p2align=4 + i32.load $16=, 48480($275):p2align=4 + i32.load $17=, 46480($275):p2align=4 + i32.load $18=, 44480($275):p2align=4 + i32.load $19=, 42480($275):p2align=4 + i32.load $20=, 40480($275):p2align=4 + i32.load $21=, 38480($275):p2align=4 + i32.load $22=, 36480($275):p2align=4 + i32.load $23=, 34480($275):p2align=4 + i32.load $24=, 32480($275):p2align=4 + i32.load $25=, 30480($275):p2align=4 + i32.load $26=, 28480($275):p2align=4 + i32.load $27=, 26480($275):p2align=4 + i32.load $28=, 24480($275):p2align=4 + i32.load $29=, 22480($275):p2align=4 + i32.load $30=, 20480($275):p2align=4 + i32.load $31=, 18480($275):p2align=4 + i32.load $32=, 16480($275):p2align=4 + i32.load $33=, 14480($275):p2align=4 + i32.load $34=, 12480($275):p2align=4 + i32.load $35=, 10480($275):p2align=4 + i32.load $36=, 8480($275):p2align=4 + i32.load $37=, 6480($275):p2align=4 + i32.load $38=, 4480($275):p2align=4 + i32.load $39=, 2480($275):p2align=4 + i32.load $40=, 480($275):p2align=4 + i32.const $push304=, 156 + i32.const $118=, 160 + i32.add $118=, $275, $118 + i32.add $push38=, $118, $pop304 + i32.const $119=, 480 + i32.add $119=, $275, $119 + i32.store $discard=, 0($pop38), $119 + i32.const $push303=, 152 + i32.const $120=, 160 + i32.add $120=, $275, $120 + i32.add $push39=, $120, $pop303 + i32.const $121=, 2480 + i32.add $121=, $275, $121 + i32.store $discard=, 0($pop39):p2align=3, $121 + i32.const $push302=, 148 + i32.const $122=, 160 + i32.add $122=, $275, $122 + i32.add $push40=, $122, $pop302 + i32.const $123=, 4480 + i32.add $123=, $275, $123 + i32.store $discard=, 0($pop40), $123 + i32.const $push301=, 144 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.add $124=, $275, $124 + i32.add $push41=, $124, $pop301 + i32.const $125=, 6480 + i32.add $125=, $275, $125 + i32.store $discard=, 0($pop41):p2align=4, $125 + i32.const $push300=, 140 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.add $126=, $275, $126 + i32.add $push42=, $126, $pop300 + i32.const $127=, 8480 + i32.add $127=, $275, $127 + i32.store $discard=, 0($pop42), $127 + i32.const $push299=, 136 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.add $128=, $275, $128 + i32.add $push43=, $128, $pop299 + i32.const $129=, 10480 + i32.add $129=, $275, $129 + i32.store $discard=, 0($pop43):p2align=3, $129 + i32.const $push298=, 132 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.add $130=, $275, $130 + i32.add $push44=, $130, $pop298 + i32.const $131=, 12480 + i32.add $131=, $275, $131 + i32.store $discard=, 0($pop44), $131 + i32.const $push297=, 128 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.add $132=, $275, $132 + i32.add $push45=, $132, $pop297 + i32.const $133=, 14480 + i32.add $133=, $275, $133 + i32.store $discard=, 0($pop45):p2align=4, $133 + i32.const $push296=, 124 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.add $134=, $275, $134 + i32.add $push46=, $134, $pop296 + i32.const $135=, 16480 + i32.add $135=, $275, $135 + i32.store $discard=, 0($pop46), $135 + i32.const $push295=, 120 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.add $136=, $275, $136 + i32.add $push47=, $136, $pop295 + i32.const $137=, 18480 + i32.add $137=, $275, $137 + i32.store $discard=, 0($pop47):p2align=3, $137 + i32.const $push294=, 116 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.add $138=, $275, $138 + i32.add $push48=, $138, $pop294 + i32.const $139=, 20480 + i32.add $139=, $275, $139 + i32.store $discard=, 0($pop48), $139 + i32.const $push293=, 112 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.add $140=, $275, $140 + i32.add $push49=, $140, $pop293 + i32.const $141=, 22480 + i32.add $141=, $275, $141 + i32.store $discard=, 0($pop49):p2align=4, $141 + i32.const $push292=, 108 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.add $142=, $275, $142 + i32.add $push50=, $142, $pop292 + i32.const $143=, 24480 + i32.add $143=, $275, $143 + i32.store $discard=, 0($pop50), $143 + i32.const $push291=, 104 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.add $144=, $275, $144 + i32.add $push51=, $144, $pop291 + i32.const $145=, 26480 + i32.add $145=, $275, $145 + i32.store $discard=, 0($pop51):p2align=3, $145 + i32.const $push290=, 100 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.add $146=, $275, $146 + i32.add $push52=, $146, $pop290 + i32.const $147=, 28480 + i32.add $147=, $275, $147 + i32.store $discard=, 0($pop52), $147 + i32.const $push289=, 96 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.add $148=, $275, $148 + i32.add $push53=, $148, $pop289 + i32.const $149=, 30480 + i32.add $149=, $275, $149 + i32.store $discard=, 0($pop53):p2align=4, $149 + i32.const $push288=, 92 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.add $150=, $275, $150 + i32.add $push54=, $150, $pop288 + i32.const $151=, 32480 + i32.add $151=, $275, $151 + i32.store $discard=, 0($pop54), $151 + i32.const $push287=, 88 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.add $152=, $275, $152 + i32.add $push55=, $152, $pop287 + i32.const $153=, 34480 + i32.add $153=, $275, $153 + i32.store $discard=, 0($pop55):p2align=3, $153 + i32.const $push286=, 84 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.add $154=, $275, $154 + i32.add $push56=, $154, $pop286 + i32.const $155=, 36480 + i32.add $155=, $275, $155 + i32.store $discard=, 0($pop56), $155 + i32.const $push285=, 80 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.add $156=, $275, $156 + i32.add $push57=, $156, $pop285 + i32.const $157=, 38480 + i32.add $157=, $275, $157 + i32.store $discard=, 0($pop57):p2align=4, $157 + i32.const $push284=, 76 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.add $158=, $275, $158 + i32.add $push58=, $158, $pop284 + i32.const $159=, 40480 + i32.add $159=, $275, $159 + i32.store $discard=, 0($pop58), $159 + i32.const $push283=, 72 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.add $160=, $275, $160 + i32.add $push59=, $160, $pop283 + i32.const $161=, 42480 + i32.add $161=, $275, $161 + i32.store $discard=, 0($pop59):p2align=3, $161 + i32.const $push282=, 68 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.add $162=, $275, $162 + i32.add $push60=, $162, $pop282 + i32.const $163=, 44480 + i32.add $163=, $275, $163 + i32.store $discard=, 0($pop60), $163 + i32.const $push281=, 64 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.add $164=, $275, $164 + i32.add $push61=, $164, $pop281 + i32.const $165=, 46480 + i32.add $165=, $275, $165 + i32.store $discard=, 0($pop61):p2align=4, $165 + i32.const $push280=, 60 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.add $166=, $275, $166 + i32.add $push62=, $166, $pop280 + i32.const $167=, 48480 + i32.add $167=, $275, $167 + i32.store $discard=, 0($pop62), $167 + i32.const $push279=, 56 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.add $168=, $275, $168 + i32.add $push63=, $168, $pop279 + i32.const $169=, 50480 + i32.add $169=, $275, $169 + i32.store $discard=, 0($pop63):p2align=3, $169 + i32.const $push278=, 52 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.add $170=, $275, $170 + i32.add $push64=, $170, $pop278 + i32.const $171=, 52480 + i32.add $171=, $275, $171 + i32.store $discard=, 0($pop64), $171 + i32.const $push277=, 48 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.add $172=, $275, $172 + i32.add $push65=, $172, $pop277 + i32.const $173=, 54480 + i32.add $173=, $275, $173 + i32.store $discard=, 0($pop65):p2align=4, $173 + i32.const $push276=, 44 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.add $174=, $275, $174 + i32.add $push66=, $174, $pop276 + i32.const $175=, 56480 + i32.add $175=, $275, $175 + i32.store $discard=, 0($pop66), $175 + i32.const $push275=, 40 i32.const $176=, 160 - 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.add $176=, $275, $176 + i32.add $push67=, $176, $pop275 + i32.const $177=, 58480 + i32.add $177=, $275, $177 + i32.store $discard=, 0($pop67):p2align=3, $177 + i32.const $push274=, 36 i32.const $178=, 160 - 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.add $178=, $275, $178 + i32.add $push68=, $178, $pop274 + i32.const $179=, 60480 + i32.add $179=, $275, $179 + i32.store $discard=, 0($pop68), $179 + i32.const $push273=, 32 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.add $180=, $275, $180 + i32.add $push69=, $180, $pop273 + i32.const $181=, 62480 + i32.add $181=, $275, $181 + i32.store $discard=, 0($pop69):p2align=4, $181 + i32.const $push272=, 28 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.add $182=, $275, $182 + i32.add $push70=, $182, $pop272 + i32.const $183=, 64480 + i32.add $183=, $275, $183 + i32.store $discard=, 0($pop70), $183 + i32.const $push271=, 24 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.add $184=, $275, $184 + i32.add $push71=, $184, $pop271 + i32.const $185=, 66480 + i32.add $185=, $275, $185 + i32.store $discard=, 0($pop71):p2align=3, $185 + i32.const $push270=, 20 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.add $186=, $275, $186 + i32.add $push72=, $186, $pop270 + i32.const $187=, 68480 + i32.add $187=, $275, $187 + i32.store $discard=, 0($pop72), $187 + i32.const $push269=, 16 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.add $188=, $275, $188 + i32.add $push73=, $188, $pop269 + i32.const $189=, 70480 + i32.add $189=, $275, $189 + i32.store $discard=, 0($pop73):p2align=4, $189 + i32.const $190=, 72480 + i32.add $190=, $275, $190 + i32.store $discard=, 172($275), $190 + i32.const $191=, 74480 + i32.add $191=, $275, $191 + i32.store $discard=, 168($275):p2align=3, $191 + i32.const $192=, 76480 + i32.add $192=, $275, $192 + i32.store $discard=, 164($275), $192 + i32.const $193=, 78480 + i32.add $193=, $275, $193 + i32.store $discard=, 160($275):p2align=4, $193 + i32.const $push268=, 40 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.add $194=, $275, $194 + call z@FUNCTION, $pop268, $194 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.shl $push74=, $1, $pop267 + i32.const $195=, 78480 + i32.add $195=, $275, $195 + i32.add $push75=, $195, $pop74 + i32.store $discard=, 0($pop75), $1 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.shl $push76=, $2, $pop266 + i32.const $196=, 76480 + i32.add $196=, $275, $196 + i32.add $push77=, $196, $pop76 + i32.store $discard=, 0($pop77), $2 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.shl $push78=, $3, $pop265 + i32.const $197=, 74480 + i32.add $197=, $275, $197 + i32.add $push79=, $197, $pop78 + i32.store $discard=, 0($pop79), $3 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.shl $push80=, $4, $pop264 + i32.const $198=, 72480 + i32.add $198=, $275, $198 + i32.add $push81=, $198, $pop80 + i32.store $discard=, 0($pop81), $4 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.shl $push82=, $5, $pop263 + i32.const $199=, 70480 + i32.add $199=, $275, $199 + i32.add $push83=, $199, $pop82 + i32.store $discard=, 0($pop83), $5 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.shl $push84=, $6, $pop262 + i32.const $200=, 68480 + i32.add $200=, $275, $200 + i32.add $push85=, $200, $pop84 + i32.store $discard=, 0($pop85), $6 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.shl $push86=, $7, $pop261 + i32.const $201=, 66480 + i32.add $201=, $275, $201 + i32.add $push87=, $201, $pop86 + i32.store $discard=, 0($pop87), $7 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.shl $push88=, $8, $pop260 + i32.const $202=, 64480 + i32.add $202=, $275, $202 + i32.add $push89=, $202, $pop88 + i32.store $discard=, 0($pop89), $8 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.shl $push90=, $9, $pop259 + i32.const $203=, 62480 + i32.add $203=, $275, $203 + i32.add $push91=, $203, $pop90 + i32.store $discard=, 0($pop91), $9 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.shl $push92=, $10, $pop258 + i32.const $204=, 60480 + i32.add $204=, $275, $204 + i32.add $push93=, $204, $pop92 + i32.store $discard=, 0($pop93), $10 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.shl $push94=, $11, $pop257 + i32.const $205=, 58480 + i32.add $205=, $275, $205 + i32.add $push95=, $205, $pop94 + i32.store $discard=, 0($pop95), $11 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.shl $push96=, $12, $pop256 + i32.const $206=, 56480 + i32.add $206=, $275, $206 + i32.add $push97=, $206, $pop96 + i32.store $discard=, 0($pop97), $12 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.shl $push98=, $13, $pop255 + i32.const $207=, 54480 + i32.add $207=, $275, $207 + i32.add $push99=, $207, $pop98 + i32.store $discard=, 0($pop99), $13 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.shl $push100=, $14, $pop254 + i32.const $208=, 52480 + i32.add $208=, $275, $208 + i32.add $push101=, $208, $pop100 + i32.store $discard=, 0($pop101), $14 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.shl $push102=, $15, $pop253 + i32.const $209=, 50480 + i32.add $209=, $275, $209 + i32.add $push103=, $209, $pop102 + i32.store $discard=, 0($pop103), $15 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.shl $push104=, $16, $pop252 + i32.const $210=, 48480 + i32.add $210=, $275, $210 + i32.add $push105=, $210, $pop104 + i32.store $discard=, 0($pop105), $16 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.shl $push106=, $17, $pop251 + i32.const $211=, 46480 + i32.add $211=, $275, $211 + i32.add $push107=, $211, $pop106 + i32.store $discard=, 0($pop107), $17 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.shl $push108=, $18, $pop250 + i32.const $212=, 44480 + i32.add $212=, $275, $212 + i32.add $push109=, $212, $pop108 + i32.store $discard=, 0($pop109), $18 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.shl $push110=, $19, $pop249 + i32.const $213=, 42480 + i32.add $213=, $275, $213 + i32.add $push111=, $213, $pop110 + i32.store $discard=, 0($pop111), $19 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.shl $push112=, $20, $pop248 + i32.const $214=, 40480 + i32.add $214=, $275, $214 + i32.add $push113=, $214, $pop112 + i32.store $discard=, 0($pop113), $20 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.shl $push114=, $21, $pop247 + i32.const $215=, 38480 + i32.add $215=, $275, $215 + i32.add $push115=, $215, $pop114 + i32.store $discard=, 0($pop115), $21 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.shl $push116=, $22, $pop246 + i32.const $216=, 36480 + i32.add $216=, $275, $216 + i32.add $push117=, $216, $pop116 + i32.store $discard=, 0($pop117), $22 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.shl $push118=, $23, $pop245 + i32.const $217=, 34480 + i32.add $217=, $275, $217 + i32.add $push119=, $217, $pop118 + i32.store $discard=, 0($pop119), $23 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.shl $push120=, $24, $pop244 + i32.const $218=, 32480 + i32.add $218=, $275, $218 + i32.add $push121=, $218, $pop120 + i32.store $discard=, 0($pop121), $24 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.shl $push122=, $25, $pop243 + i32.const $219=, 30480 + i32.add $219=, $275, $219 + i32.add $push123=, $219, $pop122 + i32.store $discard=, 0($pop123), $25 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.shl $push124=, $26, $pop242 + i32.const $220=, 28480 + i32.add $220=, $275, $220 + i32.add $push125=, $220, $pop124 + i32.store $discard=, 0($pop125), $26 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.shl $push126=, $27, $pop241 + i32.const $221=, 26480 + i32.add $221=, $275, $221 + i32.add $push127=, $221, $pop126 + i32.store $discard=, 0($pop127), $27 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 + i32.shl $push128=, $28, $pop240 + i32.const $222=, 24480 + i32.add $222=, $275, $222 + i32.add $push129=, $222, $pop128 + i32.store $discard=, 0($pop129), $28 + i32.const $push239=, 2 + i32.shl $push130=, $29, $pop239 + i32.const $223=, 22480 + i32.add $223=, $275, $223 + i32.add $push131=, $223, $pop130 + i32.store $discard=, 0($pop131), $29 + i32.const $push238=, 2 + i32.shl $push132=, $30, $pop238 + i32.const $224=, 20480 + i32.add $224=, $275, $224 + i32.add $push133=, $224, $pop132 + i32.store $discard=, 0($pop133), $30 + i32.const $push237=, 2 + i32.shl $push134=, $31, $pop237 + i32.const $225=, 18480 + i32.add $225=, $275, $225 + i32.add $push135=, $225, $pop134 + i32.store $discard=, 0($pop135), $31 + i32.const $push236=, 2 + i32.shl $push136=, $32, $pop236 + i32.const $226=, 16480 + i32.add $226=, $275, $226 + i32.add $push137=, $226, $pop136 + i32.store $discard=, 0($pop137), $32 + i32.const $push235=, 2 + i32.shl $push138=, $33, $pop235 + i32.const $227=, 14480 + i32.add $227=, $275, $227 + i32.add $push139=, $227, $pop138 + i32.store $discard=, 0($pop139), $33 + i32.const $push234=, 2 + i32.shl $push140=, $34, $pop234 + i32.const $228=, 12480 + i32.add $228=, $275, $228 + i32.add $push141=, $228, $pop140 + i32.store $discard=, 0($pop141), $34 + i32.const $push233=, 2 + i32.shl $push142=, $35, $pop233 + i32.const $229=, 10480 + i32.add $229=, $275, $229 + i32.add $push143=, $229, $pop142 + i32.store $discard=, 0($pop143), $35 + i32.const $push232=, 2 + i32.shl $push144=, $36, $pop232 + i32.const $230=, 8480 + i32.add $230=, $275, $230 + i32.add $push145=, $230, $pop144 + i32.store $discard=, 0($pop145), $36 + i32.const $push231=, 2 + i32.shl $push146=, $37, $pop231 + i32.const $231=, 6480 + i32.add $231=, $275, $231 + i32.add $push147=, $231, $pop146 + i32.store $discard=, 0($pop147), $37 + i32.const $push230=, 2 + i32.shl $push148=, $38, $pop230 + i32.const $232=, 4480 + i32.add $232=, $275, $232 + i32.add $push149=, $232, $pop148 + i32.store $discard=, 0($pop149), $38 + i32.const $push229=, 2 + i32.shl $push150=, $39, $pop229 + i32.const $233=, 2480 + i32.add $233=, $275, $233 + i32.add $push151=, $233, $pop150 + i32.store $discard=, 0($pop151), $39 + i32.const $push228=, 2 + i32.shl $push152=, $40, $pop228 + i32.const $234=, 480 + i32.add $234=, $275, $234 + i32.add $push153=, $234, $pop152 + i32.store $discard=, 0($pop153), $40 + i32.const $push227=, 156 + i32.add $push154=, $275, $pop227 + i32.const $235=, 480 + i32.add $235=, $275, $235 + i32.store $discard=, 0($pop154), $235 + i32.const $push226=, 152 + i32.add $push155=, $275, $pop226 + i32.const $236=, 2480 + i32.add $236=, $275, $236 + i32.store $discard=, 0($pop155):p2align=3, $236 + i32.const $push225=, 148 + i32.add $push156=, $275, $pop225 + i32.const $237=, 4480 + i32.add $237=, $275, $237 + i32.store $discard=, 0($pop156), $237 + i32.const $push224=, 144 + i32.add $push157=, $275, $pop224 + i32.const $238=, 6480 + i32.add $238=, $275, $238 + i32.store $discard=, 0($pop157):p2align=4, $238 + i32.const $push223=, 140 + i32.add $push158=, $275, $pop223 + i32.const $239=, 8480 + i32.add $239=, $275, $239 + i32.store $discard=, 0($pop158), $239 + i32.const $push222=, 136 + i32.add $push159=, $275, $pop222 + i32.const $240=, 10480 + i32.add $240=, $275, $240 + i32.store $discard=, 0($pop159):p2align=3, $240 + i32.const $push221=, 132 + i32.add $push160=, $275, $pop221 + i32.const $241=, 12480 + i32.add $241=, $275, $241 + i32.store $discard=, 0($pop160), $241 + i32.const $push220=, 128 + i32.add $push161=, $275, $pop220 + i32.const $242=, 14480 + i32.add $242=, $275, $242 + i32.store $discard=, 0($pop161):p2align=4, $242 + i32.const $push219=, 124 + i32.add $push162=, $275, $pop219 + i32.const $243=, 16480 + i32.add $243=, $275, $243 + i32.store $discard=, 0($pop162), $243 + i32.const $push218=, 120 + i32.add $push163=, $275, $pop218 + i32.const $244=, 18480 + i32.add $244=, $275, $244 + i32.store $discard=, 0($pop163):p2align=3, $244 + i32.const $push217=, 116 + i32.add $push164=, $275, $pop217 + i32.const $245=, 20480 + i32.add $245=, $275, $245 + i32.store $discard=, 0($pop164), $245 + i32.const $push216=, 112 + i32.add $push165=, $275, $pop216 + i32.const $246=, 22480 + i32.add $246=, $275, $246 + i32.store $discard=, 0($pop165):p2align=4, $246 + i32.const $push215=, 108 + i32.add $push166=, $275, $pop215 + i32.const $247=, 24480 + i32.add $247=, $275, $247 + i32.store $discard=, 0($pop166), $247 + i32.const $push214=, 104 + i32.add $push167=, $275, $pop214 + i32.const $248=, 26480 + i32.add $248=, $275, $248 + i32.store $discard=, 0($pop167):p2align=3, $248 + i32.const $push213=, 100 + i32.add $push168=, $275, $pop213 + i32.const $249=, 28480 + i32.add $249=, $275, $249 + i32.store $discard=, 0($pop168), $249 + i32.const $push212=, 96 + i32.add $push169=, $275, $pop212 + i32.const $250=, 30480 + i32.add $250=, $275, $250 + i32.store $discard=, 0($pop169):p2align=4, $250 + i32.const $push211=, 92 + i32.add $push170=, $275, $pop211 + i32.const $251=, 32480 + i32.add $251=, $275, $251 + i32.store $discard=, 0($pop170), $251 + i32.const $push210=, 88 + i32.add $push171=, $275, $pop210 + i32.const $252=, 34480 + i32.add $252=, $275, $252 + i32.store $discard=, 0($pop171):p2align=3, $252 + i32.const $push209=, 84 + i32.add $push172=, $275, $pop209 + i32.const $253=, 36480 + i32.add $253=, $275, $253 + i32.store $discard=, 0($pop172), $253 + i32.const $push208=, 80 + i32.add $push173=, $275, $pop208 + i32.const $254=, 38480 + i32.add $254=, $275, $254 + i32.store $discard=, 0($pop173):p2align=4, $254 + i32.const $push207=, 76 + i32.add $push174=, $275, $pop207 + i32.const $255=, 40480 + i32.add $255=, $275, $255 + i32.store $discard=, 0($pop174), $255 + i32.const $push206=, 72 + i32.add $push175=, $275, $pop206 + i32.const $256=, 42480 + i32.add $256=, $275, $256 + i32.store $discard=, 0($pop175):p2align=3, $256 + i32.const $push205=, 68 + i32.add $push176=, $275, $pop205 + i32.const $257=, 44480 + i32.add $257=, $275, $257 + i32.store $discard=, 0($pop176), $257 + i32.const $push204=, 64 + i32.add $push177=, $275, $pop204 + i32.const $258=, 46480 + i32.add $258=, $275, $258 + i32.store $discard=, 0($pop177):p2align=4, $258 + i32.const $push203=, 60 + i32.add $push178=, $275, $pop203 + i32.const $259=, 48480 + i32.add $259=, $275, $259 + i32.store $discard=, 0($pop178), $259 + i32.const $push202=, 56 + i32.add $push179=, $275, $pop202 + i32.const $260=, 50480 + i32.add $260=, $275, $260 + i32.store $discard=, 0($pop179):p2align=3, $260 + i32.const $push201=, 52 + i32.add $push180=, $275, $pop201 + i32.const $261=, 52480 + i32.add $261=, $275, $261 + i32.store $discard=, 0($pop180), $261 + i32.const $push200=, 48 + i32.add $push181=, $275, $pop200 + i32.const $262=, 54480 + i32.add $262=, $275, $262 + i32.store $discard=, 0($pop181):p2align=4, $262 + i32.const $push199=, 44 + i32.add $push182=, $275, $pop199 + i32.const $263=, 56480 + i32.add $263=, $275, $263 + i32.store $discard=, 0($pop182), $263 + i32.const $push198=, 40 + i32.add $push183=, $275, $pop198 + i32.const $264=, 58480 + i32.add $264=, $275, $264 + i32.store $discard=, 0($pop183):p2align=3, $264 + i32.const $push197=, 36 + i32.add $push184=, $275, $pop197 + i32.const $265=, 60480 + i32.add $265=, $275, $265 + i32.store $discard=, 0($pop184), $265 + i32.const $push196=, 32 + i32.add $push185=, $275, $pop196 + i32.const $266=, 62480 + i32.add $266=, $275, $266 + i32.store $discard=, 0($pop185):p2align=4, $266 + i32.const $push195=, 28 + i32.add $push186=, $275, $pop195 + i32.const $267=, 64480 + i32.add $267=, $275, $267 + i32.store $discard=, 0($pop186), $267 + i32.const $push194=, 24 + i32.add $push187=, $275, $pop194 + i32.const $268=, 66480 + i32.add $268=, $275, $268 + i32.store $discard=, 0($pop187):p2align=3, $268 + i32.const $push193=, 20 + i32.add $push188=, $275, $pop193 + i32.const $269=, 68480 + i32.add $269=, $275, $269 + i32.store $discard=, 0($pop188), $269 + i32.const $push192=, 16 + i32.add $push189=, $275, $pop192 + i32.const $270=, 70480 + i32.add $270=, $275, $270 + i32.store $discard=, 0($pop189):p2align=4, $270 + i32.const $271=, 72480 + i32.add $271=, $275, $271 + i32.store $discard=, 12($275), $271 + i32.const $272=, 74480 + i32.add $272=, $275, $272 + i32.store $discard=, 8($275):p2align=3, $272 + i32.const $273=, 76480 + i32.add $273=, $275, $273 + i32.store $discard=, 4($275), $273 + i32.const $274=, 78480 + i32.add $274=, $275, $274 + i32.store $discard=, 0($275):p2align=4, $274 + i32.const $push191=, 40 + call c@FUNCTION, $pop191, $275 + i32.const $push190=, -1 + i32.add $0=, $0, $pop190 br_if 0, $0 # 0: up to label1 .LBB0_2: # %for.end end_loop # label2: end_block # label0: - i32.const $43=, 80480 - i32.add $284=, $284, $43 - i32.const $43=, __stack_pointer - i32.store $284=, 0($43), $284 + i32.const $push346=, 80480 + i32.add $275=, $275, $pop346 + i32.const $push347=, __stack_pointer + i32.store $discard=, 0($pop347), $275 return .endfunc .Lfunc_end0: @@ -1082,48 +1052,38 @@ f: # @f .type s,@function s: # @s .param i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $discard=, 12($5), $1 + i32.const $push10=, __stack_pointer + i32.load $push11=, 0($pop10) + i32.const $push12=, 16 + i32.sub $2=, $pop11, $pop12 + i32.store $discard=, 12($2), $1 block - i32.const $push14=, 0 - i32.eq $push15=, $0, $pop14 - br_if 0, $pop15 # 0: down to label3 + i32.const $push13=, 0 + i32.eq $push14=, $0, $pop13 + br_if 0, $pop14 # 0: down to label3 # BB#1: # %while.body.preheader - i32.const $push6=, -1 - i32.add $0=, $0, $pop6 + i32.const $push4=, -1 + i32.add $0=, $0, $pop4 .LBB1_2: # %while.body # =>This Inner Loop Header: Depth=1 loop # label4: - i32.load $push0=, 12($5) - i32.const $push13=, 3 - i32.add $push1=, $pop0, $pop13 - i32.const $push12=, -4 - i32.and $push11=, $pop1, $pop12 - tee_local $push10=, $1=, $pop11 - i32.const $push9=, 4 - i32.add $push2=, $pop10, $pop9 - i32.store $discard=, 12($5), $pop2 - i32.load $push3=, 0($1) - i32.store $push4=, 0($pop3), $0 - i32.const $push8=, -1 - i32.add $0=, $pop4, $pop8 - i32.const $push7=, -1 - i32.ne $push5=, $0, $pop7 - br_if 0, $pop5 # 0: up to label4 + i32.load $push9=, 12($2) + tee_local $push8=, $1=, $pop9 + i32.const $push7=, 4 + i32.add $push0=, $pop8, $pop7 + i32.store $discard=, 12($2), $pop0 + i32.load $push1=, 0($1) + i32.store $push2=, 0($pop1), $0 + i32.const $push6=, -1 + i32.add $0=, $pop2, $pop6 + i32.const $push5=, -1 + i32.ne $push3=, $0, $pop5 + br_if 0, $pop3 # 0: up to label4 .LBB1_3: # %while.end end_loop # label5: end_block # label3: - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 return .endfunc .Lfunc_end1: @@ -1135,45 +1095,42 @@ s: # @s .type z,@function z: # @z .param i32, i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $discard=, 12($5), $1 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $3=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $3 + i32.store $discard=, 12($3), $1 block i32.const $push12=, 0 i32.eq $push13=, $0, $pop12 br_if 0, $pop13 # 0: down to label6 -.LBB2_1: # %while.body +# BB#1: # %while.body.preheader + i32.load $1=, 12($3) +.LBB2_2: # %while.body # =>This Inner Loop Header: Depth=1 loop # label7: - i32.load $push0=, 12($5) - i32.const $push11=, 3 - i32.add $push1=, $pop0, $pop11 - i32.const $push10=, -4 - i32.and $push9=, $pop1, $pop10 - tee_local $push8=, $1=, $pop9 - i32.const $push7=, 4 - i32.add $push2=, $pop8, $pop7 - i32.store $discard=, 12($5), $pop2 - i32.const $push6=, -1 - i32.add $0=, $0, $pop6 - i32.load $push3=, 0($1) - i32.const $push5=, 0 - i32.const $push4=, 2000 - i32.call $discard=, memset@FUNCTION, $pop3, $pop5, $pop4 + i32.const $push5=, 4 + i32.add $push0=, $1, $pop5 + i32.store $2=, 12($3), $pop0 + i32.const $push4=, -1 + i32.add $0=, $0, $pop4 + i32.load $push1=, 0($1) + i32.const $push3=, 0 + i32.const $push2=, 2000 + i32.call $discard=, memset@FUNCTION, $pop1, $pop3, $pop2 + copy_local $1=, $2 br_if 0, $0 # 0: up to label7 -.LBB2_2: # %while.end +.LBB2_3: # %while.end end_loop # label8: end_block # label6: - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push10=, 16 + i32.add $3=, $3, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $3 return .endfunc .Lfunc_end2: @@ -1185,56 +1142,52 @@ z: # @z .type c,@function c: # @c .param i32, i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - i32.store $discard=, 12($6), $1 + i32.const $push12=, __stack_pointer + i32.load $push13=, 0($pop12) + i32.const $push14=, 16 + i32.sub $3=, $pop13, $pop14 + i32.const $push15=, __stack_pointer + i32.store $discard=, 0($pop15), $3 + i32.store $discard=, 12($3), $1 i32.const $push0=, 2 i32.shl $push1=, $0, $pop0 - i32.const $push8=, -4 - i32.add $1=, $pop1, $pop8 + i32.const $push6=, -4 + i32.add $1=, $pop1, $pop6 .LBB3_1: # %while.cond # =>This Inner Loop Header: Depth=1 block loop # label10: - i32.const $push16=, 0 - i32.eq $push17=, $0, $pop16 - br_if 2, $pop17 # 2: down to label9 + i32.const $push18=, 0 + i32.eq $push19=, $0, $pop18 + br_if 2, $pop19 # 2: down to label9 # BB#2: # %while.body # in Loop: Header=BB3_1 Depth=1 - i32.load $push2=, 12($6) - i32.const $push15=, 3 - i32.add $push3=, $pop2, $pop15 - i32.const $push14=, -4 - i32.and $push13=, $pop3, $pop14 - tee_local $push12=, $2=, $pop13 - i32.const $push11=, 4 - i32.add $push4=, $pop12, $pop11 - i32.store $discard=, 12($6), $pop4 - i32.load $push5=, 0($2) - i32.add $2=, $pop5, $1 - i32.const $push10=, -1 - i32.add $0=, $0, $pop10 - i32.const $push9=, -4 - i32.add $1=, $1, $pop9 - i32.load $push6=, 0($2) - i32.eq $push7=, $0, $pop6 - br_if 0, $pop7 # 0: up to label10 + i32.load $push11=, 12($3) + tee_local $push10=, $2=, $pop11 + i32.const $push9=, 4 + i32.add $push2=, $pop10, $pop9 + i32.store $discard=, 12($3), $pop2 + i32.load $push3=, 0($2) + i32.add $2=, $pop3, $1 + i32.const $push8=, -1 + i32.add $0=, $0, $pop8 + i32.const $push7=, -4 + i32.add $1=, $1, $pop7 + i32.load $push4=, 0($2) + i32.eq $push5=, $0, $pop4 + br_if 0, $pop5 # 0: up to label10 # BB#3: # %if.then end_loop # label11: call abort@FUNCTION unreachable .LBB3_4: # %while.end end_block # label9: - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push16=, 16 + i32.add $3=, $3, $pop16 + i32.const $push17=, __stack_pointer + i32.store $discard=, 0($pop17), $3 return .endfunc .Lfunc_end3: diff --git a/test/torture-s/postmod-1.c.s b/test/torture-s/postmod-1.c.s index bd3f64ec7..2a4aad4c0 100644 --- a/test/torture-s/postmod-1.c.s +++ b/test/torture-s/postmod-1.c.s @@ -6,156 +6,156 @@ .type foo,@function foo: # @foo .param i32 - .local i32, i32, i32, i32, i32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $push0=, 2 - i32.shl $push45=, $0, $pop0 - tee_local $push44=, $24=, $pop45 - i32.const $push1=, array0 - i32.add $23=, $pop44, $pop1 - i32.const $push2=, array1 - i32.add $22=, $24, $pop2 - i32.const $push3=, array2 - i32.add $21=, $24, $pop3 - i32.const $push4=, array3 - i32.add $20=, $24, $pop4 - i32.const $push5=, array4 - i32.add $19=, $24, $pop5 - i32.const $push6=, array5 - i32.add $18=, $24, $pop6 + i32.const $push6=, 2 + i32.shl $push43=, $0, $pop6 + tee_local $push42=, $26=, $pop43 + i32.const $push7=, array0 + i32.add $25=, $pop42, $pop7 + i32.const $push8=, array1 + i32.add $24=, $26, $pop8 + i32.const $push9=, array2 + i32.add $23=, $26, $pop9 + i32.const $push10=, array3 + i32.add $22=, $26, $pop10 + i32.const $push11=, array4 + i32.add $21=, $26, $pop11 + i32.const $push41=, 0 + f32.load $19=, counter0($pop41) + i32.const $push40=, 0 + f32.load $18=, counter1($pop40) + i32.const $push39=, 0 + f32.load $17=, counter2($pop39) + i32.const $push38=, 0 + f32.load $16=, counter3($pop38) + i32.const $push37=, 0 + f32.load $15=, counter4($pop37) + i32.const $push36=, 0 + f32.load $14=, counter5($pop36) + i32.const $push12=, array5 + i32.add $20=, $26, $pop12 .LBB0_1: # %do.body # =>This Loop Header: Depth=1 # Child Loop BB0_2 Depth 2 loop # label0: - f32.load $7=, 0($22) - i32.const $push74=, 0 - f32.load $8=, counter1($pop74) - f32.load $9=, 0($21) - i32.const $push73=, 0 - f32.load $10=, counter2($pop73) + f32.load $6=, 0($25) + f32.load $7=, 0($24) + f32.load $8=, 0($23) + f32.load $9=, 0($22) + f32.load $10=, 0($21) f32.load $11=, 0($20) - i32.const $push72=, 0 - f32.load $12=, counter3($pop72) - f32.load $13=, 0($19) - i32.const $push71=, 0 - f32.load $14=, counter4($pop71) - f32.load $15=, 0($18) - i32.const $push70=, 0 - f32.load $16=, counter5($pop70) - i32.const $push69=, 0 - f32.load $push7=, 0($23) - i32.const $push68=, 0 - f32.load $push8=, counter0($pop68) - f32.add $push9=, $pop7, $pop8 - f32.store $6=, counter0($pop69), $pop9 - i32.const $push67=, 12 - i32.add $23=, $23, $pop67 i32.const $push66=, 12 - i32.add $22=, $22, $pop66 - i32.add $push21=, $22, $24 - f32.load $17=, 0($pop21) - i32.const $push65=, 0 - i32.add $push18=, $23, $24 - f32.load $push19=, 0($pop18) - f32.add $push20=, $6, $pop19 - f32.store $discard=, counter0($pop65), $pop20 + i32.add $25=, $25, $pop66 + i32.const $push65=, 12 + i32.add $24=, $24, $pop65 + i32.add $push19=, $25, $26 + f32.load $12=, 0($pop19) + i32.add $push20=, $24, $26 + f32.load $13=, 0($pop20) i32.const $push64=, 0 + f32.add $push13=, $6, $19 + f32.store $19=, counter0($pop64), $pop13 i32.const $push63=, 0 - f32.add $push10=, $7, $8 - f32.store $push11=, counter1($pop63), $pop10 - f32.add $push22=, $17, $pop11 - f32.store $discard=, counter1($pop64), $pop22 - i32.const $push62=, 0 - f32.add $push12=, $9, $10 - f32.store $7=, counter2($pop62), $pop12 + f32.add $push14=, $7, $18 + f32.store $18=, counter1($pop63), $pop14 + i32.const $push62=, 12 + i32.add $23=, $23, $pop62 i32.const $push61=, 12 - i32.add $21=, $21, $pop61 - i32.const $push60=, 12 - i32.add $20=, $20, $pop60 - i32.add $push26=, $20, $24 - f32.load $8=, 0($pop26) + i32.add $22=, $22, $pop61 + i32.add $push21=, $23, $26 + f32.load $6=, 0($pop21) + i32.add $push22=, $22, $26 + f32.load $7=, 0($pop22) + i32.const $push60=, 0 + f32.add $push15=, $8, $17 + f32.store $17=, counter2($pop60), $pop15 i32.const $push59=, 0 - i32.add $push23=, $21, $24 - f32.load $push24=, 0($pop23) - f32.add $push25=, $7, $pop24 - f32.store $discard=, counter2($pop59), $pop25 - i32.const $push58=, 0 - i32.const $push57=, 0 - f32.add $push13=, $11, $12 - f32.store $push14=, counter3($pop57), $pop13 - f32.add $push27=, $8, $pop14 - f32.store $discard=, counter3($pop58), $pop27 + f32.add $push16=, $9, $16 + f32.store $16=, counter3($pop59), $pop16 + i32.const $push58=, 12 + i32.add $21=, $21, $pop58 + i32.const $push57=, 12 + i32.add $20=, $20, $pop57 + i32.add $push23=, $21, $26 + f32.load $8=, 0($pop23) + i32.add $push24=, $20, $26 + f32.load $9=, 0($pop24) i32.const $push56=, 0 - f32.add $push15=, $13, $14 - f32.store $7=, counter4($pop56), $pop15 - i32.const $push55=, 12 - i32.add $19=, $19, $pop55 - i32.const $push54=, 12 - i32.add $18=, $18, $pop54 - i32.add $push31=, $18, $24 - f32.load $8=, 0($pop31) + f32.add $push17=, $10, $15 + f32.store $15=, counter4($pop56), $pop17 + i32.const $push55=, 0 + f32.add $push18=, $11, $14 + f32.store $14=, counter5($pop55), $pop18 + i32.const $push54=, 0 + f32.add $push0=, $12, $19 + f32.store $19=, counter0($pop54), $pop0 i32.const $push53=, 0 - i32.add $push28=, $19, $24 - f32.load $push29=, 0($pop28) - f32.add $push30=, $7, $pop29 - f32.store $discard=, counter4($pop53), $pop30 + f32.add $push1=, $13, $18 + f32.store $18=, counter1($pop53), $pop1 i32.const $push52=, 0 + f32.add $push2=, $6, $17 + f32.store $17=, counter2($pop52), $pop2 i32.const $push51=, 0 - f32.add $push16=, $15, $16 - f32.store $push17=, counter5($pop51), $pop16 - f32.add $push32=, $8, $pop17 - f32.store $discard=, counter5($pop52), $pop32 + f32.add $push3=, $7, $16 + f32.store $16=, counter3($pop51), $pop3 i32.const $push50=, 0 - i32.load $1=, vol($pop50) + f32.add $push4=, $8, $15 + f32.store $15=, counter4($pop50), $pop4 i32.const $push49=, 0 - i32.load $2=, vol($pop49) + f32.add $push5=, $9, $14 + f32.store $14=, counter5($pop49), $pop5 i32.const $push48=, 0 - i32.load $3=, vol($pop48) + i32.load $1=, vol($pop48) i32.const $push47=, 0 - i32.load $4=, vol($pop47) + i32.load $2=, vol($pop47) i32.const $push46=, 0 - i32.load $5=, vol($pop46) + i32.load $3=, vol($pop46) + i32.const $push45=, 0 + i32.load $4=, vol($pop45) + i32.const $push44=, 0 + i32.load $5=, vol($pop44) i32.const $0=, 10 .LBB0_2: # %for.body # Parent Loop BB0_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label2: - i32.const $push85=, 0 - i32.const $push84=, 0 - i32.load $push33=, vol($pop84) - i32.add $push34=, $pop33, $1 - i32.store $discard=, vol($pop85), $pop34 - i32.const $push83=, 0 - i32.const $push82=, 0 - i32.load $push35=, vol($pop82) - i32.add $push36=, $pop35, $2 - i32.store $discard=, vol($pop83), $pop36 - i32.const $push81=, 0 - i32.const $push80=, 0 - i32.load $push37=, vol($pop80) - i32.add $push38=, $pop37, $3 - i32.store $discard=, vol($pop81), $pop38 - i32.const $push79=, 0 - i32.const $push78=, 0 - i32.load $push39=, vol($pop78) - i32.add $push40=, $pop39, $4 - i32.store $discard=, vol($pop79), $pop40 i32.const $push77=, 0 i32.const $push76=, 0 - i32.load $push41=, vol($pop76) - i32.add $push42=, $pop41, $5 - i32.store $discard=, vol($pop77), $pop42 - i32.const $push75=, -1 - i32.add $0=, $0, $pop75 + i32.load $push25=, vol($pop76) + i32.add $push26=, $pop25, $1 + i32.store $discard=, vol($pop77), $pop26 + i32.const $push75=, 0 + i32.const $push74=, 0 + i32.load $push27=, vol($pop74) + i32.add $push28=, $pop27, $2 + i32.store $discard=, vol($pop75), $pop28 + i32.const $push73=, 0 + i32.const $push72=, 0 + i32.load $push29=, vol($pop72) + i32.add $push30=, $pop29, $3 + i32.store $discard=, vol($pop73), $pop30 + i32.const $push71=, 0 + i32.const $push70=, 0 + i32.load $push31=, vol($pop70) + i32.add $push32=, $pop31, $4 + i32.store $discard=, vol($pop71), $pop32 + i32.const $push69=, 0 + i32.const $push68=, 0 + i32.load $push33=, vol($pop68) + i32.add $push34=, $pop33, $5 + i32.store $discard=, vol($pop69), $pop34 + i32.const $push67=, -1 + i32.add $0=, $0, $pop67 br_if 0, $0 # 0: up to label2 # BB#3: # %for.end # in Loop: Header=BB0_1 Depth=1 end_loop # label3: - i32.const $push86=, 0 - i32.load $push43=, stop($pop86) - i32.const $push87=, 0 - i32.eq $push88=, $pop43, $pop87 - br_if 0, $pop88 # 0: up to label0 + i32.const $push78=, 0 + i32.load $push35=, stop($pop78) + i32.const $push79=, 0 + i32.eq $push80=, $pop35, $pop79 + br_if 0, $pop80 # 0: up to label0 # BB#4: # %do.end end_loop # label1: return diff --git a/test/torture-s/pr15262.c.s b/test/torture-s/pr15262.c.s index 52dd25ed0..e36eaf342 100644 --- a/test/torture-s/pr15262.c.s +++ b/test/torture-s/pr15262.c.s @@ -21,27 +21,21 @@ bar: # @bar foo: # @foo .param i32, i32, i32 .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - 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 $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $5=, $pop4, $pop5 i32.const $push2=, 1 i32.store $0=, 4($0), $pop2 - i32.const $6=, 8 - i32.add $6=, $8, $6 - i32.const $7=, 12 - i32.add $7=, $8, $7 - i32.select $push0=, $6, $7, $1 + i32.const $3=, 8 + i32.add $3=, $5, $3 + i32.const $4=, 12 + i32.add $4=, $5, $4 + i32.select $push0=, $3, $4, $1 i32.const $push1=, 1084647014 i32.store $discard=, 0($pop0), $pop1 - i32.const $5=, 16 - i32.add $8=, $8, $5 - i32.const $5=, __stack_pointer - i32.store $8=, 0($5), $8 return $0 .endfunc .Lfunc_end1: diff --git a/test/torture-s/pr15296.c.s b/test/torture-s/pr15296.c.s index b35a93932..373fe8dd9 100644 --- a/test/torture-s/pr15296.c.s +++ b/test/torture-s/pr15296.c.s @@ -21,47 +21,44 @@ f: # @f block block block - block i32.const $push12=, 0 i32.eq $push13=, $3, $pop12 - br_if 0, $pop13 # 0: down to label6 + br_if 0, $pop13 # 0: down to label5 # BB#3: # %if.end3 copy_local $4=, $5 i32.const $push14=, 0 i32.eq $push15=, $5, $pop14 - br_if 1, $pop15 # 1: down to label5 + br_if 1, $pop15 # 1: down to label4 .LBB0_4: # %l3 - end_block # label6: + end_block # label5: i32.const $push10=, 8 i32.add $push11=, $1, $pop10 i32.load $3=, 0($pop11) i32.const $push8=, 4 i32.add $push9=, $1, $pop8 i32.store $1=, 0($pop9), $4 - br_if 2, $3 # 2: down to label3 + br_if 1, $3 # 1: down to label3 # BB#5: # %if.end19 i32.const $push16=, 0 i32.eq $push17=, $1, $pop16 - br_if 2, $pop17 # 2: down to label3 + br_if 1, $pop17 # 1: down to label3 # BB#6: # %if.end24 i32.store $discard=, 8($1), $3 - br 1 # 1: down to label4 + return .LBB0_7: # %if.end6 - end_block # label5: + end_block # label4: i32.const $push3=, 4 i32.add $push4=, $1, $pop3 i32.load $push0=, 0($1) i32.load $push2=, 0($pop0) i32.store $push5=, 0($pop4), $pop2 - br_if 1, $pop5 # 1: down to label3 + br_if 0, $pop5 # 0: down to label3 # BB#8: # %if.end12 i32.const $push6=, 0 i32.const $push7=, -1 i32.store $discard=, 12($pop6), $pop7 -.LBB0_9: # %l4 - end_block # label4: return -.LBB0_10: # %if.then23 +.LBB0_9: # %if.then23 end_block # label3: call g@FUNCTION, $3, $3 unreachable @@ -88,101 +85,89 @@ g: # @g .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 $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 48 - i32.sub $13=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $13=, 0($2), $13 - i32.const $push5=, 16 - i32.const $3=, 8 - i32.add $3=, $13, $3 - i32.add $push6=, $3, $pop5 + i32.const $push38=, __stack_pointer + i32.load $push39=, 0($pop38) + i32.const $push40=, 48 + i32.sub $8=, $pop39, $pop40 + i32.const $push41=, __stack_pointer + i32.store $discard=, 0($pop41), $8 + i32.const $push3=, 16 + i32.const $1=, 8 + i32.add $1=, $8, $1 + i32.add $push4=, $1, $pop3 i32.const $push0=, 0 - i32.load $push7=, .Lmain.s+16($pop0) - i32.store $discard=, 0($pop6):p2align=3, $pop7 - i32.const $push2=, 8 - i32.const $4=, 32 - i32.add $4=, $13, $4 - i32.or $push3=, $4, $pop2 - i32.const $push43=, 0 - i64.load $push1=, .Lmain.uv+8($pop43) - i64.store $discard=, 0($pop3), $pop1 - i32.const $push42=, 0 - i64.load $push4=, .Lmain.uv($pop42):p2align=4 - i64.store $discard=, 32($13):p2align=4, $pop4 - i32.const $push41=, 8 - i32.const $5=, 8 - i32.add $5=, $13, $5 - i32.add $push40=, $5, $pop41 - tee_local $push39=, $0=, $pop40 - i32.const $push38=, 0 - i64.load $push8=, .Lmain.s+8($pop38):p2align=2 - i64.store $discard=, 0($pop39), $pop8 + i32.load $push5=, .Lmain.s+16($pop0) + i32.store $discard=, 0($pop4):p2align=3, $pop5 i32.const $push37=, 0 - i64.load $push9=, .Lmain.s($pop37):p2align=2 - i64.store $discard=, 8($13), $pop9 + i64.load $push1=, .Lmain.uv+8($pop37) + i64.store $discard=, 40($8), $pop1 i32.const $push36=, 0 - i32.const $push13=, 20000 - i32.const $push12=, 10000 - i32.const $6=, 8 - i32.add $6=, $13, $6 - i32.const $7=, 32 - i32.add $7=, $13, $7 - call f@FUNCTION, $pop36, $6, $0, $pop13, $pop12, $7 - i32.const $push10=, 4 - i32.const $8=, 8 - i32.add $8=, $13, $8 - i32.or $push11=, $8, $pop10 - i32.load $push14=, 0($pop11) - i32.const $9=, 32 - i32.add $9=, $13, $9 + i64.load $push2=, .Lmain.uv($pop36):p2align=4 + i64.store $discard=, 32($8):p2align=4, $pop2 + i32.const $push6=, 8 + i32.const $2=, 8 + i32.add $2=, $8, $2 + i32.add $push35=, $2, $pop6 + tee_local $push34=, $0=, $pop35 + i32.const $push33=, 0 + i64.load $push7=, .Lmain.s+8($pop33):p2align=2 + i64.store $discard=, 0($pop34), $pop7 + i32.const $push32=, 0 + i64.load $push8=, .Lmain.s($pop32):p2align=2 + i64.store $discard=, 8($8), $pop8 + i32.const $push31=, 0 + i32.const $push10=, 20000 + i32.const $push9=, 10000 + i32.const $3=, 8 + i32.add $3=, $8, $3 + i32.const $4=, 32 + i32.add $4=, $8, $4 + call f@FUNCTION, $pop31, $3, $0, $pop10, $pop9, $4 + i32.load $push11=, 12($8) + i32.const $5=, 32 + i32.add $5=, $8, $5 block - i32.ne $push15=, $pop14, $9 - br_if 0, $pop15 # 0: down to label7 + i32.ne $push12=, $pop11, $5 + br_if 0, $pop12 # 0: down to label6 # BB#1: # %lor.lhs.false - i32.load $push16=, 0($0):p2align=3 - br_if 0, $pop16 # 0: down to label7 + i32.load $push13=, 0($0):p2align=3 + br_if 0, $pop13 # 0: down to label6 # BB#2: # %lor.lhs.false6 - i32.const $push17=, 12 - i32.const $10=, 8 - i32.add $10=, $13, $10 - i32.add $push18=, $10, $pop17 - i32.load $push19=, 0($pop18) - i32.const $push20=, 999 - i32.ne $push21=, $pop19, $pop20 - br_if 0, $pop21 # 0: down to label7 + i32.const $push14=, 12 + i32.const $6=, 8 + i32.add $6=, $8, $6 + i32.add $push15=, $6, $pop14 + i32.load $push16=, 0($pop15) + i32.const $push17=, 999 + i32.ne $push18=, $pop16, $pop17 + br_if 0, $pop18 # 0: down to label6 # BB#3: # %lor.lhs.false11 - i32.const $push22=, 16 - i32.const $11=, 8 - i32.add $11=, $13, $11 - i32.add $push23=, $11, $pop22 - i32.load $push24=, 0($pop23):p2align=3 - i32.const $push25=, 777 - i32.ne $push26=, $pop24, $pop25 - br_if 0, $pop26 # 0: down to label7 + i32.const $push19=, 16 + i32.const $7=, 8 + i32.add $7=, $8, $7 + i32.add $push20=, $7, $pop19 + i32.load $push21=, 0($pop20):p2align=3 + i32.const $push22=, 777 + i32.ne $push23=, $pop21, $pop22 + br_if 0, $pop23 # 0: down to label6 # BB#4: # %lor.lhs.false16 - i64.load $push27=, 32($13):p2align=4 - i64.const $push28=, 953482739823 - i64.ne $push29=, $pop27, $pop28 - br_if 0, $pop29 # 0: down to label7 + i64.load $push24=, 32($8):p2align=4 + i64.const $push25=, 953482739823 + i64.ne $push26=, $pop24, $pop25 + br_if 0, $pop26 # 0: down to label6 # BB#5: # %lor.lhs.false24 - i32.const $push30=, 8 - i32.const $12=, 32 - i32.add $12=, $13, $12 - i32.or $push31=, $12, $pop30 - i64.load $push32=, 0($pop31) - i64.const $push33=, 1906965479424 - i64.ne $push34=, $pop32, $pop33 - br_if 0, $pop34 # 0: down to label7 + i64.load $push27=, 40($8) + i64.const $push28=, 1906965479424 + i64.ne $push29=, $pop27, $pop28 + br_if 0, $pop29 # 0: down to label6 # BB#6: # %if.end - i32.const $push35=, 0 - call exit@FUNCTION, $pop35 + i32.const $push30=, 0 + call exit@FUNCTION, $pop30 unreachable .LBB2_7: # %if.then - end_block # label7: + end_block # label6: call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/pr20466-1.c.s b/test/torture-s/pr20466-1.c.s index 1aa2ca1cd..935e2a56d 100644 --- a/test/torture-s/pr20466-1.c.s +++ b/test/torture-s/pr20466-1.c.s @@ -30,71 +30,71 @@ f: # @f .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, i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 32 - i32.sub $13=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $13=, 0($3), $13 + i32.const $push21=, __stack_pointer + i32.load $push22=, 0($pop21) + i32.const $push23=, 32 + i32.sub $11=, $pop22, $pop23 + i32.const $push24=, __stack_pointer + i32.store $discard=, 0($pop24), $11 i32.const $push3=, 42 - i32.store $discard=, 28($13), $pop3 + i32.store $discard=, 28($11), $pop3 i32.const $push5=, 1 - i32.store $discard=, 20($13), $pop5 + i32.store $discard=, 20($11), $pop5 i32.const $push6=, -1 - i32.store $discard=, 16($13), $pop6 + i32.store $discard=, 16($11), $pop6 i32.const $push7=, 55 - i32.store $discard=, 12($13), $pop7 + i32.store $discard=, 12($11), $pop7 i32.const $push4=, 66 - i32.store $1=, 24($13), $pop4 - i32.const $4=, 28 - i32.add $4=, $13, $4 - i32.store $discard=, 8($13), $4 - i32.const $5=, 16 - i32.add $5=, $13, $5 - i32.store $discard=, 4($13), $5 - i32.const $6=, 12 - i32.add $6=, $13, $6 - i32.store $discard=, 0($13), $6 - i32.const $7=, 8 - i32.add $7=, $13, $7 - i32.const $8=, 24 - i32.add $8=, $13, $8 + i32.store $1=, 24($11), $pop4 + i32.const $2=, 28 + i32.add $2=, $11, $2 + i32.store $discard=, 8($11), $2 + i32.const $3=, 16 + i32.add $3=, $11, $3 + i32.store $discard=, 4($11), $3 + i32.const $4=, 12 + i32.add $4=, $11, $4 + i32.store $discard=, 0($11), $4 + i32.const $5=, 8 + i32.add $5=, $11, $5 + i32.const $6=, 24 + i32.add $6=, $11, $6 + i32.const $7=, 20 + i32.add $7=, $11, $7 + i32.const $8=, 4 + i32.add $8=, $11, $8 + i32.call $discard=, f@FUNCTION, $5, $6, $7, $8, $11 i32.const $9=, 20 - i32.add $9=, $13, $9 - i32.const $10=, 4 - i32.add $10=, $13, $10 - i32.call $discard=, f@FUNCTION, $7, $8, $9, $10, $13 - i32.const $11=, 20 - i32.add $11=, $13, $11 - copy_local $0=, $11 + i32.add $9=, $11, $9 + copy_local $0=, $9 block - i32.load $push8=, 28($13) + i32.load $push8=, 28($11) i32.ne $push9=, $1, $pop8 br_if 0, $pop9 # 0: down to label0 # BB#1: # %entry - i32.load $push0=, 8($13) + i32.load $push0=, 8($11) i32.ne $push10=, $pop0, $0 br_if 0, $pop10 # 0: down to label0 # BB#2: # %entry - i32.load $push1=, 20($13) + i32.load $push1=, 20($11) i32.const $push11=, 99 i32.ne $push12=, $pop1, $pop11 br_if 0, $pop12 # 0: down to label0 # BB#3: # %entry - i32.load $push2=, 16($13) + i32.load $push2=, 16($11) i32.const $push13=, -1 i32.ne $push14=, $pop2, $pop13 br_if 0, $pop14 # 0: down to label0 # BB#4: # %lor.lhs.false6 - i32.load $push16=, 4($13) - i32.const $12=, 12 - i32.add $12=, $13, $12 - i32.ne $push17=, $pop16, $12 + i32.load $push16=, 4($11) + i32.const $10=, 12 + i32.add $10=, $11, $10 + i32.ne $push17=, $pop16, $10 br_if 0, $pop17 # 0: down to label0 # BB#5: # %lor.lhs.false6 - i32.load $push15=, 12($13) + i32.load $push15=, 12($11) i32.const $push18=, 55 i32.ne $push19=, $pop15, $pop18 br_if 0, $pop19 # 0: down to label0 diff --git a/test/torture-s/pr20527-1.c.s b/test/torture-s/pr20527-1.c.s index a2cc43dc4..1c01cdd1f 100644 --- a/test/torture-s/pr20527-1.c.s +++ b/test/torture-s/pr20527-1.c.s @@ -56,32 +56,32 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $1=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $1 i32.const $push0=, b i32.const $push2=, 0 i32.const $push1=, 2 - i32.const $2=, 4 - i32.add $2=, $3, $2 - call f@FUNCTION, $2, $pop0, $pop2, $pop1 + i32.const $0=, 4 + i32.add $0=, $1, $0 + call f@FUNCTION, $0, $pop0, $pop2, $pop1 block - i32.load $push3=, 4($3) + i32.load $push3=, 4($1) i32.const $push4=, 3 i32.ne $push5=, $pop3, $pop4 br_if 0, $pop5 # 0: down to label3 # BB#1: # %lor.lhs.false - i32.load $push6=, 8($3) + i32.load $push6=, 8($1) i32.const $push7=, 9 i32.ne $push8=, $pop6, $pop7 br_if 0, $pop8 # 0: down to label3 # BB#2: # %lor.lhs.false3 - i32.load $push9=, 12($3) + i32.load $push9=, 12($1) i32.const $push10=, 21 i32.ne $push11=, $pop9, $pop10 br_if 0, $pop11 # 0: down to label3 diff --git a/test/torture-s/pr27073.c.s b/test/torture-s/pr27073.c.s index 866ba578a..5579aedc6 100644 --- a/test/torture-s/pr27073.c.s +++ b/test/torture-s/pr27073.c.s @@ -51,80 +51,74 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 48 - i32.sub $3=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 + i32.const $push37=, __stack_pointer + i32.load $push38=, 0($pop37) + i32.const $push39=, 48 + i32.sub $1=, $pop38, $pop39 + i32.const $push40=, __stack_pointer + i32.store $discard=, 0($pop40), $1 i32.const $push4=, 2 i32.const $push3=, 100 - i32.const $push41=, 200 + i32.const $push35=, 200 i32.const $push2=, 300 i32.const $push1=, 400 i32.const $push0=, 500 - call foo@FUNCTION, $3, $0, $0, $0, $pop4, $pop3, $pop41, $pop2, $pop1, $pop0 + call foo@FUNCTION, $1, $0, $0, $0, $pop4, $pop3, $pop35, $pop2, $pop1, $pop0 block - i32.load $push5=, 0($3):p2align=4 - i32.const $push40=, 100 - i32.ne $push6=, $pop5, $pop40 + i32.load $push5=, 0($1):p2align=4 + i32.const $push34=, 100 + i32.ne $push6=, $pop5, $pop34 br_if 0, $pop6 # 0: down to label3 # BB#1: # %for.cond - i32.const $push7=, 4 - i32.or $push8=, $3, $pop7 - i32.load $push9=, 0($pop8) - i32.const $push42=, 200 - i32.ne $push10=, $pop9, $pop42 - br_if 0, $pop10 # 0: down to label3 + i32.load $push7=, 4($1) + i32.const $push36=, 200 + i32.ne $push8=, $pop7, $pop36 + br_if 0, $pop8 # 0: down to label3 # BB#2: # %for.cond.1 - i32.const $push11=, 8 - i32.or $push12=, $3, $pop11 - i32.load $push13=, 0($pop12):p2align=3 - i32.const $push14=, 300 - i32.ne $push15=, $pop13, $pop14 - br_if 0, $pop15 # 0: down to label3 + i32.load $push9=, 8($1):p2align=3 + i32.const $push10=, 300 + i32.ne $push11=, $pop9, $pop10 + br_if 0, $pop11 # 0: down to label3 # BB#3: # %for.cond.2 - i32.const $push16=, 12 - i32.or $push17=, $3, $pop16 - i32.load $push18=, 0($pop17) - i32.const $push19=, 400 + i32.load $push12=, 12($1) + i32.const $push13=, 400 + i32.ne $push14=, $pop12, $pop13 + br_if 0, $pop14 # 0: down to label3 +# BB#4: # %for.cond.3 + i32.load $push15=, 16($1):p2align=4 + i32.const $push16=, 500 + i32.ne $push17=, $pop15, $pop16 + br_if 0, $pop17 # 0: down to label3 +# BB#5: # %for.cond.4 + i32.load $push18=, 20($1) + i32.const $push19=, 100 i32.ne $push20=, $pop18, $pop19 br_if 0, $pop20 # 0: down to label3 -# BB#4: # %for.cond.3 - i32.load $push21=, 16($3):p2align=4 - i32.const $push22=, 500 +# BB#6: # %for.cond.5 + i32.load $push21=, 24($1):p2align=3 + i32.const $push22=, 200 i32.ne $push23=, $pop21, $pop22 br_if 0, $pop23 # 0: down to label3 -# BB#5: # %for.cond.4 - i32.load $push24=, 20($3) - i32.const $push25=, 100 +# BB#7: # %for.cond.6 + i32.load $push24=, 28($1) + i32.const $push25=, 300 i32.ne $push26=, $pop24, $pop25 br_if 0, $pop26 # 0: down to label3 -# BB#6: # %for.cond.5 - i32.load $push27=, 24($3):p2align=3 - i32.const $push28=, 200 +# BB#8: # %for.cond.7 + i32.load $push27=, 32($1):p2align=4 + i32.const $push28=, 400 i32.ne $push29=, $pop27, $pop28 br_if 0, $pop29 # 0: down to label3 -# BB#7: # %for.cond.6 - i32.load $push30=, 28($3) - i32.const $push31=, 300 +# BB#9: # %for.cond.8 + i32.load $push30=, 36($1) + i32.const $push31=, 500 i32.ne $push32=, $pop30, $pop31 br_if 0, $pop32 # 0: down to label3 -# BB#8: # %for.cond.7 - i32.load $push33=, 32($3):p2align=4 - i32.const $push34=, 400 - i32.ne $push35=, $pop33, $pop34 - br_if 0, $pop35 # 0: down to label3 -# BB#9: # %for.cond.8 - i32.load $push36=, 36($3) - i32.const $push37=, 500 - i32.ne $push38=, $pop36, $pop37 - br_if 0, $pop38 # 0: down to label3 # BB#10: # %for.cond.9 - i32.const $push39=, 0 - call exit@FUNCTION, $pop39 + i32.const $push33=, 0 + call exit@FUNCTION, $pop33 unreachable .LBB1_11: # %if.then end_block # label3: diff --git a/test/torture-s/pr27285.c.s b/test/torture-s/pr27285.c.s index fc932ca5f..a073f57f2 100644 --- a/test/torture-s/pr27285.c.s +++ b/test/torture-s/pr27285.c.s @@ -57,88 +57,80 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i64, i32, i32, i32, i32, i32, i32, i32, i32 + .local i64, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 48 - i32.sub $8=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $8=, 0($2), $8 + i32.const $push36=, __stack_pointer + i32.load $push37=, 0($pop36) + i32.const $push38=, 48 + i32.sub $5=, $pop37, $pop38 + i32.const $push39=, __stack_pointer + i32.store $discard=, 0($pop39), $5 i32.const $push2=, 18 - i32.const $4=, 24 - i32.add $4=, $8, $4 - i32.add $push3=, $4, $pop2 + i32.const $1=, 24 + i32.add $1=, $5, $1 + i32.add $push3=, $1, $pop2 i32.const $push0=, 0 i32.load8_u $push1=, .Lmain.x+18($pop0) i32.store8 $discard=, 0($pop3):p2align=1, $pop1 i32.const $push5=, 16 - i32.const $5=, 24 - i32.add $5=, $8, $5 - i32.add $push6=, $5, $pop5 - i32.const $push43=, 0 - i32.load16_u $push4=, .Lmain.x+16($pop43):p2align=0 + i32.const $2=, 24 + i32.add $2=, $5, $2 + i32.add $push6=, $2, $pop5 + i32.const $push35=, 0 + i32.load16_u $push4=, .Lmain.x+16($pop35):p2align=0 i32.store16 $discard=, 0($pop6):p2align=3, $pop4 - i32.const $push42=, 16 - i32.add $push13=, $8, $pop42 - i32.const $push41=, 18 - i32.add $push11=, $8, $pop41 - i32.const $push40=, 0 - i32.store8 $push12=, 0($pop11):p2align=1, $pop40 + i32.const $push34=, 16 + i32.add $push13=, $5, $pop34 + i32.const $push33=, 18 + i32.add $push11=, $5, $pop33 + i32.const $push32=, 0 + i32.store8 $push12=, 0($pop11):p2align=1, $pop32 i32.store16 $discard=, 0($pop13):p2align=3, $pop12 i32.const $push8=, 8 - i32.const $6=, 24 - i32.add $6=, $8, $6 - i32.add $push9=, $6, $pop8 - i32.const $push39=, 0 - i64.load $push7=, .Lmain.x+8($pop39):p2align=0 + i32.const $3=, 24 + i32.add $3=, $5, $3 + i32.add $push9=, $3, $pop8 + i32.const $push31=, 0 + i64.load $push7=, .Lmain.x+8($pop31):p2align=0 i64.store $discard=, 0($pop9), $pop7 - i32.const $push38=, 8 - i32.add $push14=, $8, $pop38 + i32.const $push30=, 8 + i32.add $push14=, $5, $pop30 i64.const $push15=, 0 i64.store $0=, 0($pop14), $pop15 - i32.const $push37=, 0 - i64.load $push10=, .Lmain.x($pop37):p2align=0 - i64.store $discard=, 24($8), $pop10 - i64.store $discard=, 0($8), $0 - i32.const $7=, 24 - i32.add $7=, $8, $7 - call foo@FUNCTION, $7, $8 + i32.const $push29=, 0 + i64.load $push10=, .Lmain.x($pop29):p2align=0 + i64.store $discard=, 24($5), $pop10 + i64.store $discard=, 0($5), $0 + i32.const $4=, 24 + i32.add $4=, $5, $4 + call foo@FUNCTION, $4, $5 block - i32.const $push16=, 3 - i32.or $push17=, $8, $pop16 - i32.load8_u $push18=, 0($pop17) - i32.const $push19=, 170 - i32.ne $push20=, $pop18, $pop19 - br_if 0, $pop20 # 0: down to label3 + i32.load8_u $push16=, 3($5) + i32.const $push17=, 170 + i32.ne $push18=, $pop16, $pop17 + br_if 0, $pop18 # 0: down to label3 # BB#1: # %lor.lhs.false - i32.const $push21=, 4 - i32.or $push22=, $8, $pop21 - i32.load8_u $push23=, 0($pop22):p2align=2 - i32.const $push24=, 187 - i32.ne $push25=, $pop23, $pop24 - br_if 0, $pop25 # 0: down to label3 + i32.load8_u $push19=, 4($5):p2align=2 + i32.const $push20=, 187 + i32.ne $push21=, $pop19, $pop20 + br_if 0, $pop21 # 0: down to label3 # BB#2: # %lor.lhs.false13 - i32.const $push26=, 5 - i32.or $push27=, $8, $pop26 - i32.load8_u $push28=, 0($pop27) - i32.const $push29=, 204 - i32.ne $push30=, $pop28, $pop29 - br_if 0, $pop30 # 0: down to label3 + i32.load8_u $push22=, 5($5) + i32.const $push23=, 204 + i32.ne $push24=, $pop22, $pop23 + br_if 0, $pop24 # 0: down to label3 # BB#3: # %lor.lhs.false22 - i32.const $push31=, 6 - i32.or $push32=, $8, $pop31 - i32.load8_u $push33=, 0($pop32):p2align=1 - i32.const $push34=, 128 - i32.ne $push35=, $pop33, $pop34 - br_if 0, $pop35 # 0: down to label3 + i32.load8_u $push25=, 6($5):p2align=1 + i32.const $push26=, 128 + i32.ne $push27=, $pop25, $pop26 + br_if 0, $pop27 # 0: down to label3 # BB#4: # %if.end - i32.const $push36=, 0 - i32.const $3=, 48 - i32.add $8=, $8, $3 - i32.const $3=, __stack_pointer - i32.store $8=, 0($3), $8 - return $pop36 + i32.const $push28=, 0 + i32.const $push40=, 48 + i32.add $5=, $5, $pop40 + i32.const $push41=, __stack_pointer + i32.store $discard=, 0($pop41), $5 + return $pop28 .LBB1_5: # %if.then end_block # label3: call abort@FUNCTION diff --git a/test/torture-s/pr28778.c.s b/test/torture-s/pr28778.c.s index 10f281354..282092daf 100644 --- a/test/torture-s/pr28778.c.s +++ b/test/torture-s/pr28778.c.s @@ -6,34 +6,32 @@ .type find,@function find: # @find .param i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 128 - i32.sub $4=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 128 + i32.sub $1=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $1 block br_if 0, $0 # 0: down to label0 # BB#1: # %if.else - i32.const $push0=, 12 - i32.or $push1=, $4, $pop0 - i32.const $push2=, 42 - i32.store $discard=, 0($pop1), $pop2 - copy_local $0=, $4 + i32.const $push0=, 42 + i32.store $discard=, 12($1), $pop0 + copy_local $0=, $1 .LBB0_2: # %if.end end_block # label0: block - i32.load $push3=, 12($0) - i32.const $push4=, 42 - i32.ne $push5=, $pop3, $pop4 - br_if 0, $pop5 # 0: down to label1 + i32.load $push1=, 12($0) + i32.const $push2=, 42 + i32.ne $push3=, $pop1, $pop2 + br_if 0, $pop3 # 0: down to label1 # BB#3: # %aglChoosePixelFormat.exit - i32.const $3=, 128 - i32.add $4=, $4, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 + i32.const $push8=, 128 + i32.add $1=, $1, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $1 return .LBB0_4: # %if.then.i end_block # label1: diff --git a/test/torture-s/pr28982b.c.s b/test/torture-s/pr28982b.c.s index 7ddfde3e4..cd382e5e7 100644 --- a/test/torture-s/pr28982b.c.s +++ b/test/torture-s/pr28982b.c.s @@ -24,19 +24,19 @@ bar: # @bar .type foo,@function foo: # @foo .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, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, i64, 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, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, i64, i32, i32, i32 # BB#0: # %entry - i32.const $62=, __stack_pointer - i32.load $62=, 0($62) - i32.const $63=, 524288 - i32.sub $67=, $62, $63 - i32.const $63=, __stack_pointer - i32.store $67=, 0($63), $67 + i32.const $push154=, __stack_pointer + i32.load $push155=, 0($pop154) + i32.const $push156=, 524288 + i32.sub $64=, $pop155, $pop156 + i32.const $push157=, __stack_pointer + i32.store $discard=, 0($pop157), $64 i32.const $push53=, 0 i32.const $push52=, 262144 - i32.const $65=, 262144 - i32.add $65=, $67, $65 - i32.call $discard=, memset@FUNCTION, $65, $pop53, $pop52 + i32.const $62=, 262144 + i32.add $62=, $64, $62 + i32.call $discard=, memset@FUNCTION, $62, $pop53, $pop52 f32.const $41=, 0x0p0 f32.const $42=, 0x0p0 f32.const $43=, 0x0p0 @@ -58,9 +58,9 @@ foo: # @foo f32.const $59=, 0x0p0 f32.const $60=, 0x0p0 block - i32.const $push154=, 0 - i32.eq $push155=, $0, $pop154 - br_if 0, $pop155 # 0: down to label0 + i32.const $push160=, 0 + i32.eq $push161=, $0, $pop160 + br_if 0, $pop161 # 0: down to label0 # BB#1: # %while.body.preheader i32.const $push131=, 0 i64.load $push130=, incs+72($pop131) @@ -342,14 +342,14 @@ foo: # @foo i32.const $push134=, 0 f32.store $discard=, results+76($pop134), $41 i32.const $push133=, 262144 - i32.const $66=, 262144 - i32.add $66=, $67, $66 - i32.call $discard=, memcpy@FUNCTION, $67, $66, $pop133 - call bar@FUNCTION, $67 - i32.const $64=, 524288 - i32.add $67=, $67, $64 - i32.const $64=, __stack_pointer - i32.store $67=, 0($64), $67 + i32.const $63=, 262144 + i32.add $63=, $64, $63 + i32.call $discard=, memcpy@FUNCTION, $64, $63, $pop133 + call bar@FUNCTION, $64 + i32.const $push158=, 524288 + i32.add $64=, $64, $pop158 + i32.const $push159=, __stack_pointer + i32.store $discard=, 0($pop159), $64 return .endfunc .Lfunc_end1: diff --git a/test/torture-s/pr29006.c.s b/test/torture-s/pr29006.c.s index 429ab8044..8e75f5e98 100644 --- a/test/torture-s/pr29006.c.s +++ b/test/torture-s/pr29006.c.s @@ -20,33 +20,31 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push9=, __stack_pointer + i32.load $push10=, 0($pop9) + i32.const $push11=, 16 + i32.sub $0=, $pop10, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $0 i32.const $push2=, 8 - i32.add $push3=, $3, $pop2 + i32.add $push3=, $0, $pop2 i32.const $push0=, 0 i32.load8_u $push1=, .Lmain.s+8($pop0) i32.store8 $discard=, 0($pop3):p2align=3, $pop1 - i32.const $push10=, 0 - i64.load $push4=, .Lmain.s($pop10):p2align=0 - i64.store $discard=, 0($3), $pop4 - call foo@FUNCTION, $3 - i32.const $push5=, 1 - i32.or $push6=, $3, $pop5 - i64.load $push7=, 0($pop6):p2align=0 - i64.const $push8=, 0 - i64.ne $push9=, $pop7, $pop8 - i32.const $2=, 16 - i32.add $3=, $3, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 - return $pop9 + i32.const $push8=, 0 + i64.load $push4=, .Lmain.s($pop8):p2align=0 + i64.store $discard=, 0($0), $pop4 + call foo@FUNCTION, $0 + i64.load $push5=, 1($0):p2align=0 + i64.const $push6=, 0 + i64.ne $push7=, $pop5, $pop6 + i32.const $push13=, 16 + i32.add $0=, $0, $pop13 + i32.const $push14=, __stack_pointer + i32.store $discard=, 0($pop14), $0 + return $pop7 .endfunc .Lfunc_end1: .size main, .Lfunc_end1-main diff --git a/test/torture-s/pr30778.c.s b/test/torture-s/pr30778.c.s index 835077ec5..20066b354 100644 --- a/test/torture-s/pr30778.c.s +++ b/test/torture-s/pr30778.c.s @@ -33,31 +33,31 @@ init_reg_last: # @init_reg_last .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 32 - i32.sub $5=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 + i32.const $push5=, __stack_pointer + i32.load $push6=, 0($pop5) + i32.const $push7=, 32 + i32.sub $2=, $pop6, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $2 i32.const $push3=, 0 - i32.const $4=, 8 - i32.add $4=, $5, $4 - i32.store $discard=, reg_stat($pop3), $4 + i32.const $1=, 8 + i32.add $1=, $2, $1 + i32.store $discard=, reg_stat($pop3), $1 i32.const $push0=, -1 - i32.store $0=, 28($5), $pop0 + i32.store $0=, 28($2), $pop0 call init_reg_last@FUNCTION block - i32.load $push1=, 28($5) + i32.load $push1=, 28($2) i32.ne $push2=, $0, $pop1 br_if 0, $pop2 # 0: down to label0 # BB#1: # %if.end i32.const $push4=, 0 - i32.const $3=, 32 - i32.add $5=, $5, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $push9=, 32 + i32.add $2=, $2, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $2 return $pop4 .LBB1_2: # %if.then end_block # label0: diff --git a/test/torture-s/pr31448-2.c.s b/test/torture-s/pr31448-2.c.s index 85e74c99b..09a56540c 100644 --- a/test/torture-s/pr31448-2.c.s +++ b/test/torture-s/pr31448-2.c.s @@ -46,23 +46,17 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %if.end6 - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $1=, $pop3, $pop4 i32.const $push0=, 0 - i32.const $3=, 8 - i32.add $3=, $4, $3 - i32.store $discard=, next($pop0), $3 + i32.const $0=, 8 + i32.add $0=, $1, $0 + i32.store $discard=, next($pop0), $0 i32.const $push1=, 0 - i32.const $2=, 16 - i32.add $4=, $4, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 return $pop1 .endfunc .Lfunc_end2: diff --git a/test/torture-s/pr31448.c.s b/test/torture-s/pr31448.c.s index e37a59dca..5bda2ab35 100644 --- a/test/torture-s/pr31448.c.s +++ b/test/torture-s/pr31448.c.s @@ -46,23 +46,17 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %if.end6 - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $1=, $pop3, $pop4 i32.const $push0=, 0 - i32.const $3=, 8 - i32.add $3=, $4, $3 - i32.store $discard=, next($pop0), $3 + i32.const $0=, 8 + i32.add $0=, $1, $0 + i32.store $discard=, next($pop0), $0 i32.const $push1=, 0 - i32.const $2=, 16 - i32.add $4=, $4, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 return $pop1 .endfunc .Lfunc_end2: diff --git a/test/torture-s/pr33142.c.s b/test/torture-s/pr33142.c.s index 1795c969a..2cd0ffc8f 100644 --- a/test/torture-s/pr33142.c.s +++ b/test/torture-s/pr33142.c.s @@ -43,29 +43,29 @@ lisp_atan2: # @lisp_atan2 .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $0=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $0 i32.const $push0=, 63 - i32.store $discard=, 12($3), $pop0 + i32.store $discard=, 12($0), $pop0 i32.const $push1=, -77 - i32.store $discard=, 8($3), $pop1 + i32.store $discard=, 8($0), $pop1 block - i32.load $push2=, 12($3) - i32.load $push3=, 8($3) + i32.load $push2=, 12($0) + i32.load $push3=, 8($0) i32.call $push4=, lisp_atan2@FUNCTION, $pop2, $pop3 br_if 0, $pop4 # 0: down to label1 # BB#1: # %if.end i32.const $push5=, 0 - i32.const $2=, 16 - i32.add $3=, $3, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 + i32.const $push10=, 16 + i32.add $0=, $0, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $0 return $pop5 .LBB1_2: # %if.then end_block # label1: diff --git a/test/torture-s/pr33870-1.c.s b/test/torture-s/pr33870-1.c.s index 3a421dfe2..ef08d9594 100644 --- a/test/torture-s/pr33870-1.c.s +++ b/test/torture-s/pr33870-1.c.s @@ -7,29 +7,29 @@ sort_pagelist: # @sort_pagelist .param i32 .result i32 - .local 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 $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 160 - i32.sub $19=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $19=, 0($12), $19 + i32.const $push92=, __stack_pointer + i32.load $push93=, 0($pop92) + i32.const $push94=, 160 + i32.sub $16=, $pop93, $pop94 + i32.const $push95=, __stack_pointer + i32.store $discard=, 0($pop95), $16 i32.const $push45=, 0 i32.const $push0=, 100 - i32.call $discard=, memset@FUNCTION, $19, $pop45, $pop0 + i32.call $discard=, memset@FUNCTION, $16, $pop45, $pop0 i32.const $8=, 0 block - i32.const $push92=, 0 - i32.eq $push93=, $0, $pop92 - br_if 0, $pop93 # 0: down to label0 + i32.const $push98=, 0 + i32.eq $push99=, $0, $pop98 + br_if 0, $pop99 # 0: down to label0 # BB#1: # %while.body.lr.ph i32.const $push14=, 96 - i32.add $4=, $19, $pop14 + i32.add $4=, $16, $pop14 i32.const $push46=, 32 - i32.const $16=, 112 - i32.add $16=, $19, $16 - i32.add $1=, $16, $pop46 + i32.const $13=, 112 + i32.add $13=, $16, $13 + i32.add $1=, $13, $pop46 .LBB0_2: # %while.body # =>This Loop Header: Depth=1 # Child Loop BB0_3 Depth 2 @@ -56,25 +56,25 @@ sort_pagelist: # @sort_pagelist loop # label7: i32.const $push57=, 2 i32.shl $push1=, $5, $pop57 - i32.add $push56=, $19, $pop1 + i32.add $push56=, $16, $pop1 tee_local $push55=, $10=, $pop56 i32.load $push54=, 0($pop55) tee_local $push53=, $9=, $pop54 - i32.const $push94=, 0 - i32.eq $push95=, $pop53, $pop94 - br_if 2, $pop95 # 2: down to label6 + i32.const $push100=, 0 + i32.eq $push101=, $pop53, $pop100 + br_if 2, $pop101 # 2: down to label6 # BB#4: # %if.else # in Loop: Header=BB0_3 Depth=2 i32.store $3=, xx($2), $1 - i32.const $17=, 112 - i32.add $17=, $19, $17 - copy_local $6=, $17 + i32.const $14=, 112 + i32.add $14=, $16, $14 + copy_local $6=, $14 copy_local $7=, $1 block block - i32.const $push96=, 0 - i32.eq $push97=, $8, $pop96 - br_if 0, $pop97 # 0: down to label10 + i32.const $push102=, 0 + i32.eq $push103=, $8, $pop102 + br_if 0, $pop103 # 0: down to label10 .LBB0_5: # %while.body.i # Parent Loop BB0_2 Depth=1 # Parent Loop BB0_3 Depth=2 @@ -111,9 +111,9 @@ sort_pagelist: # @sort_pagelist i32.load $push10=, 0($pop9) i32.load $push11=, 0($pop10) i32.store $discard=, vx($2), $pop11 - i32.const $push98=, 0 - i32.eq $push99=, $9, $pop98 - br_if 1, $pop99 # 1: down to label12 + i32.const $push104=, 0 + i32.eq $push105=, $9, $pop104 + br_if 1, $pop105 # 1: down to label12 # BB#9: # %if.end.i # in Loop: Header=BB0_5 Depth=3 br_if 0, $8 # 0: up to label11 @@ -126,9 +126,9 @@ sort_pagelist: # @sort_pagelist # BB#11: # %if.else17.i # in Loop: Header=BB0_3 Depth=2 block - i32.const $push100=, 0 - i32.eq $push101=, $8, $pop100 - br_if 0, $pop101 # 0: down to label15 + i32.const $push106=, 0 + i32.eq $push107=, $8, $pop106 + br_if 0, $pop107 # 0: down to label15 # BB#12: # %if.then19.i # in Loop: Header=BB0_3 Depth=2 i32.store $discard=, 0($7), $8 @@ -164,18 +164,18 @@ sort_pagelist: # @sort_pagelist i32.store $10=, xx($9), $3 i32.ne $5=, $6, $9 i32.ne $7=, $8, $9 - i32.const $18=, 112 - i32.add $18=, $19, $18 - copy_local $2=, $18 + i32.const $15=, 112 + i32.add $15=, $16, $15 + copy_local $2=, $15 block - i32.const $push102=, 0 - i32.eq $push103=, $8, $pop102 - br_if 0, $pop103 # 0: down to label16 + i32.const $push108=, 0 + i32.eq $push109=, $8, $pop108 + br_if 0, $pop109 # 0: down to label16 # BB#18: # %if.then9 # in Loop: Header=BB0_2 Depth=1 - i32.const $push104=, 0 - i32.eq $push105=, $6, $pop104 - br_if 0, $pop105 # 0: down to label16 + i32.const $push110=, 0 + i32.eq $push111=, $6, $pop110 + br_if 0, $pop111 # 0: down to label16 .LBB0_19: # %while.body.i89 # Parent Loop BB0_2 Depth=1 # => This Inner Loop Header: Depth=2 @@ -213,9 +213,9 @@ sort_pagelist: # @sort_pagelist i32.store $discard=, vx($9), $pop24 i32.ne $5=, $6, $9 i32.ne $7=, $8, $9 - i32.const $push106=, 0 - i32.eq $push107=, $6, $pop106 - br_if 1, $pop107 # 1: down to label18 + i32.const $push112=, 0 + i32.eq $push113=, $6, $pop112 + br_if 1, $pop113 # 1: down to label18 # BB#23: # %if.end.i100 # in Loop: Header=BB0_19 Depth=2 br_if 0, $8 # 0: up to label17 @@ -223,9 +223,9 @@ sort_pagelist: # @sort_pagelist # in Loop: Header=BB0_2 Depth=1 end_loop # label18: end_block # label16: - i32.const $push108=, 0 - i32.eq $push109=, $5, $pop108 - br_if 1, $pop109 # 1: down to label5 + i32.const $push114=, 0 + i32.eq $push115=, $5, $pop114 + br_if 1, $pop115 # 1: down to label5 # BB#25: # %if.then14.i108 # in Loop: Header=BB0_2 Depth=1 i32.const $push70=, 32 @@ -241,9 +241,9 @@ sort_pagelist: # @sort_pagelist # in Loop: Header=BB0_2 Depth=1 end_block # label5: block - i32.const $push110=, 0 - i32.eq $push111=, $7, $pop110 - br_if 0, $pop111 # 0: down to label21 + i32.const $push116=, 0 + i32.eq $push117=, $7, $pop116 + br_if 0, $pop117 # 0: down to label21 # BB#28: # %if.then19.i110 # in Loop: Header=BB0_2 Depth=1 i32.const $push71=, 32 @@ -267,13 +267,13 @@ sort_pagelist: # @sort_pagelist br_if 0, $0 # 0: up to label1 # BB#32: # %while.end.loopexit end_loop # label2: - i32.load $8=, 0($19):p2align=4 + i32.load $8=, 0($16):p2align=4 .LBB0_33: # %while.end end_block # label0: i32.const $push73=, 32 - i32.const $14=, 112 - i32.add $14=, $19, $14 - i32.add $3=, $14, $pop73 + i32.const $11=, 112 + i32.add $11=, $16, $11 + i32.add $3=, $11, $pop73 i32.const $7=, 1 .LBB0_34: # %for.body17 # =>This Loop Header: Depth=1 @@ -281,7 +281,7 @@ sort_pagelist: # @sort_pagelist loop # label22: i32.const $push77=, 2 i32.shl $push29=, $7, $pop77 - i32.add $push30=, $19, $pop29 + i32.add $push30=, $16, $pop29 i32.load $9=, 0($pop30) i32.const $push76=, 0 i32.store $10=, xx($pop76), $3 @@ -289,18 +289,18 @@ sort_pagelist: # @sort_pagelist i32.ne $2=, $8, $pop75 i32.const $push74=, 0 i32.ne $5=, $9, $pop74 - i32.const $15=, 112 - i32.add $15=, $19, $15 - copy_local $6=, $15 + i32.const $12=, 112 + i32.add $12=, $16, $12 + copy_local $6=, $12 block - i32.const $push112=, 0 - i32.eq $push113=, $8, $pop112 - br_if 0, $pop113 # 0: down to label24 + i32.const $push118=, 0 + i32.eq $push119=, $8, $pop118 + br_if 0, $pop119 # 0: down to label24 # BB#35: # %for.body17 # in Loop: Header=BB0_34 Depth=1 - i32.const $push114=, 0 - i32.eq $push115=, $9, $pop114 - br_if 0, $pop115 # 0: down to label24 + i32.const $push120=, 0 + i32.eq $push121=, $9, $pop120 + br_if 0, $pop121 # 0: down to label24 .LBB0_36: # %while.body.i54 # Parent Loop BB0_34 Depth=1 # => This Inner Loop Header: Depth=2 @@ -342,9 +342,9 @@ sort_pagelist: # @sort_pagelist i32.ne $2=, $8, $pop83 i32.const $push82=, 0 i32.ne $5=, $9, $pop82 - i32.const $push116=, 0 - i32.eq $push117=, $8, $pop116 - br_if 1, $pop117 # 1: down to label26 + i32.const $push122=, 0 + i32.eq $push123=, $8, $pop122 + br_if 1, $pop123 # 1: down to label26 # BB#40: # %if.end.i65 # in Loop: Header=BB0_36 Depth=2 br_if 0, $9 # 0: up to label25 @@ -354,9 +354,9 @@ sort_pagelist: # @sort_pagelist end_block # label24: block block - i32.const $push118=, 0 - i32.eq $push119=, $2, $pop118 - br_if 0, $pop119 # 0: down to label30 + i32.const $push124=, 0 + i32.eq $push125=, $2, $pop124 + br_if 0, $pop125 # 0: down to label30 # BB#42: # %if.then14.i73 # in Loop: Header=BB0_34 Depth=1 i32.const $push86=, 32 @@ -367,9 +367,9 @@ sort_pagelist: # @sort_pagelist # in Loop: Header=BB0_34 Depth=1 end_block # label30: block - i32.const $push120=, 0 - i32.eq $push121=, $5, $pop120 - br_if 0, $pop121 # 0: down to label31 + i32.const $push126=, 0 + i32.eq $push127=, $5, $pop126 + br_if 0, $pop127 # 0: down to label31 # BB#44: # %if.then19.i75 # in Loop: Header=BB0_34 Depth=1 i32.const $push87=, 32 @@ -394,10 +394,10 @@ sort_pagelist: # @sort_pagelist br_if 0, $pop44 # 0: up to label22 # BB#47: # %for.end22 end_loop # label23: - i32.const $13=, 160 - i32.add $19=, $19, $13 - i32.const $13=, __stack_pointer - i32.store $19=, 0($13), $19 + i32.const $push96=, 160 + i32.add $16=, $16, $pop96 + i32.const $push97=, __stack_pointer + i32.store $discard=, 0($pop97), $16 return $8 .endfunc .Lfunc_end0: @@ -409,61 +409,59 @@ sort_pagelist: # @sort_pagelist .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 224 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.const $push0=, 4 - i32.or $push1=, $5, $pop0 - i32.const $push2=, 5 - i32.store $discard=, 0($pop1), $pop2 - i32.const $push5=, 32 - i32.add $push6=, $5, $pop5 - i32.const $push3=, 44 - i32.add $push4=, $5, $pop3 - i32.store $discard=, 0($pop6):p2align=4, $pop4 - i32.const $push7=, 48 - i32.add $push8=, $5, $pop7 - i32.const $push30=, 4 - i32.store $discard=, 0($pop8):p2align=4, $pop30 - i32.const $push11=, 76 - i32.add $push12=, $5, $pop11 - i32.const $push9=, 88 - i32.add $push10=, $5, $pop9 - i32.store $discard=, 0($pop12), $pop10 - i32.const $push13=, 92 - i32.add $push14=, $5, $pop13 - i32.const $push15=, 1 - i32.store $discard=, 0($pop14), $pop15 - i32.const $push18=, 120 - i32.add $push19=, $5, $pop18 - i32.const $push16=, 132 - i32.add $push17=, $5, $pop16 - i32.store $discard=, 0($pop19):p2align=3, $pop17 - i32.const $push20=, 136 - i32.add $push21=, $5, $pop20 - i32.const $push22=, 3 - i32.store $discard=, 0($pop21):p2align=3, $pop22 - i32.const $push23=, 164 - i32.add $push24=, $5, $pop23 - i32.const $push25=, 0 - i32.store $0=, 0($pop24), $pop25 - i32.call $1=, sort_pagelist@FUNCTION, $5 + i32.const $push29=, __stack_pointer + i32.load $push30=, 0($pop29) + i32.const $push31=, 224 + i32.sub $2=, $pop30, $pop31 + i32.const $push32=, __stack_pointer + i32.store $discard=, 0($pop32), $2 + i32.const $push3=, 32 + i32.add $push4=, $2, $pop3 + i32.const $push1=, 44 + i32.add $push2=, $2, $pop1 + i32.store $discard=, 0($pop4):p2align=4, $pop2 + i32.const $push5=, 48 + i32.add $push6=, $2, $pop5 + i32.const $push7=, 4 + i32.store $discard=, 0($pop6):p2align=4, $pop7 + i32.const $push10=, 76 + i32.add $push11=, $2, $pop10 + i32.const $push8=, 88 + i32.add $push9=, $2, $pop8 + i32.store $discard=, 0($pop11), $pop9 + i32.const $push12=, 92 + i32.add $push13=, $2, $pop12 + i32.const $push14=, 1 + i32.store $discard=, 0($pop13), $pop14 + i32.const $push17=, 120 + i32.add $push18=, $2, $pop17 + i32.const $push15=, 132 + i32.add $push16=, $2, $pop15 + i32.store $discard=, 0($pop18):p2align=3, $pop16 + i32.const $push19=, 136 + i32.add $push20=, $2, $pop19 + i32.const $push21=, 3 + i32.store $discard=, 0($pop20):p2align=3, $pop21 + i32.const $push0=, 5 + i32.store $discard=, 4($2), $pop0 + i32.const $push22=, 164 + i32.add $push23=, $2, $pop22 + i32.const $push24=, 0 + i32.store $0=, 0($pop23), $pop24 + i32.call $1=, sort_pagelist@FUNCTION, $2 block - i32.const $push29=, 32 - i32.add $push26=, $1, $pop29 - i32.load $push27=, 0($pop26) - i32.eq $push28=, $1, $pop27 - br_if 0, $pop28 # 0: down to label32 + i32.const $push28=, 32 + i32.add $push25=, $1, $pop28 + i32.load $push26=, 0($pop25) + i32.eq $push27=, $1, $pop26 + br_if 0, $pop27 # 0: down to label32 # BB#1: # %if.end - i32.const $4=, 224 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push33=, 224 + i32.add $2=, $2, $pop33 + i32.const $push34=, __stack_pointer + i32.store $discard=, 0($pop34), $2 return $0 .LBB1_2: # %if.then end_block # label32: diff --git a/test/torture-s/pr33870.c.s b/test/torture-s/pr33870.c.s index 22295ded6..c136a958b 100644 --- a/test/torture-s/pr33870.c.s +++ b/test/torture-s/pr33870.c.s @@ -7,29 +7,29 @@ sort_pagelist: # @sort_pagelist .param i32 .result i32 - .local 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 $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 144 - i32.sub $19=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $19=, 0($11), $19 + i32.const $push63=, __stack_pointer + i32.load $push64=, 0($pop63) + i32.const $push65=, 144 + i32.sub $16=, $pop64, $pop65 + i32.const $push66=, __stack_pointer + i32.store $discard=, 0($pop66), $16 i32.const $push22=, 0 i32.const $push0=, 100 - i32.call $discard=, memset@FUNCTION, $19, $pop22, $pop0 + i32.call $discard=, memset@FUNCTION, $16, $pop22, $pop0 i32.const $8=, 0 block - i32.const $push63=, 0 - i32.eq $push64=, $0, $pop63 - br_if 0, $pop64 # 0: down to label0 + i32.const $push69=, 0 + i32.eq $push70=, $0, $pop69 + br_if 0, $pop70 # 0: down to label0 # BB#1: # %while.body.lr.ph i32.const $push8=, 96 - i32.add $4=, $19, $pop8 + i32.add $4=, $16, $pop8 i32.const $push23=, 28 - i32.const $15=, 104 - i32.add $15=, $19, $15 - i32.add $1=, $15, $pop23 + i32.const $12=, 104 + i32.add $12=, $16, $12 + i32.add $1=, $12, $pop23 .LBB0_2: # %while.body # =>This Loop Header: Depth=1 # Child Loop BB0_3 Depth 2 @@ -57,24 +57,24 @@ sort_pagelist: # @sort_pagelist loop # label8: i32.const $push31=, 2 i32.shl $push1=, $5, $pop31 - i32.add $push30=, $19, $pop1 + i32.add $push30=, $16, $pop1 tee_local $push29=, $9=, $pop30 i32.load $push28=, 0($pop29) tee_local $push27=, $8=, $pop28 - i32.const $push65=, 0 - i32.eq $push66=, $pop27, $pop65 - br_if 2, $pop66 # 2: down to label7 + i32.const $push71=, 0 + i32.eq $push72=, $pop27, $pop71 + br_if 2, $pop72 # 2: down to label7 # BB#4: # %if.else # in Loop: Header=BB0_3 Depth=2 - i32.const $16=, 104 - i32.add $16=, $19, $16 - copy_local $6=, $16 + i32.const $13=, 104 + i32.add $13=, $16, $13 + copy_local $6=, $13 copy_local $2=, $1 block block - i32.const $push67=, 0 - i32.eq $push68=, $7, $pop67 - br_if 0, $pop68 # 0: down to label11 + i32.const $push73=, 0 + i32.eq $push74=, $7, $pop73 + br_if 0, $pop74 # 0: down to label11 .LBB0_5: # %while.body.lr.ph.i # Parent Loop BB0_2 Depth=1 # Parent Loop BB0_3 Depth=2 @@ -107,9 +107,9 @@ sort_pagelist: # @sort_pagelist i32.add $push5=, $6, $pop32 i32.store $6=, 0($pop5), $8 i32.load $8=, 28($6) - i32.const $push69=, 0 - i32.eq $push70=, $7, $pop69 - br_if 1, $pop70 # 1: down to label14 + i32.const $push75=, 0 + i32.eq $push76=, $7, $pop75 + br_if 1, $pop76 # 1: down to label14 # BB#9: # %if.then.i # in Loop: Header=BB0_5 Depth=3 br_if 0, $8 # 0: up to label13 @@ -144,9 +144,9 @@ sort_pagelist: # @sort_pagelist # in Loop: Header=BB0_3 Depth=2 end_block # label10: i32.const $push40=, 28 - i32.const $17=, 104 - i32.add $17=, $19, $17 - i32.add $push39=, $17, $pop40 + i32.const $14=, 104 + i32.add $14=, $16, $14 + i32.add $push39=, $14, $pop40 tee_local $push38=, $2=, $pop39 i32.load $7=, 0($pop38) i32.store $6=, 0($9), $3 @@ -167,18 +167,18 @@ sort_pagelist: # @sort_pagelist tee_local $push42=, $9=, $pop43 i32.ne $5=, $pop42, $6 i32.ne $3=, $7, $6 - i32.const $18=, 104 - i32.add $18=, $19, $18 - copy_local $8=, $18 + i32.const $15=, 104 + i32.add $15=, $16, $15 + copy_local $8=, $15 block - i32.const $push71=, 0 - i32.eq $push72=, $7, $pop71 - br_if 0, $pop72 # 0: down to label18 + i32.const $push77=, 0 + i32.eq $push78=, $7, $pop77 + br_if 0, $pop78 # 0: down to label18 # BB#19: # %if.then7 # in Loop: Header=BB0_2 Depth=1 - i32.const $push73=, 0 - i32.eq $push74=, $9, $pop73 - br_if 0, $pop74 # 0: down to label18 + i32.const $push79=, 0 + i32.eq $push80=, $9, $pop79 + br_if 0, $pop80 # 0: down to label18 .LBB0_20: # %while.body.lr.ph.i85 # Parent Loop BB0_2 Depth=1 # => This Loop Header: Depth=2 @@ -210,9 +210,9 @@ sort_pagelist: # @sort_pagelist i32.load $9=, 28($8) i32.ne $5=, $9, $6 i32.ne $3=, $7, $6 - i32.const $push75=, 0 - i32.eq $push76=, $7, $pop75 - br_if 1, $pop76 # 1: down to label20 + i32.const $push81=, 0 + i32.eq $push82=, $7, $pop81 + br_if 1, $pop82 # 1: down to label20 # BB#24: # %if.then.i95 # in Loop: Header=BB0_20 Depth=2 br_if 0, $9 # 0: up to label19 @@ -260,7 +260,7 @@ sort_pagelist: # @sort_pagelist br_if 0, $0 # 0: up to label1 # BB#34: # %while.end.loopexit end_loop # label2: - i32.load $8=, 0($19):p2align=4 + i32.load $8=, 0($16):p2align=4 .LBB0_35: # %while.end end_block # label0: i32.const $5=, 1 @@ -273,26 +273,26 @@ sort_pagelist: # @sort_pagelist i32.ne $2=, $8, $pop52 i32.const $push51=, 2 i32.shl $push14=, $5, $pop51 - i32.add $push15=, $19, $pop14 + i32.add $push15=, $16, $pop14 i32.load $push50=, 0($pop15) tee_local $push49=, $7=, $pop50 i32.const $push48=, 0 i32.ne $9=, $pop49, $pop48 - i32.const $13=, 104 - i32.add $13=, $19, $13 - copy_local $6=, $13 + i32.const $10=, 104 + i32.add $10=, $16, $10 + copy_local $6=, $10 block block block block - i32.const $push77=, 0 - i32.eq $push78=, $8, $pop77 - br_if 0, $pop78 # 0: down to label29 + i32.const $push83=, 0 + i32.eq $push84=, $8, $pop83 + br_if 0, $pop84 # 0: down to label29 # BB#37: # %for.body15 # in Loop: Header=BB0_36 Depth=1 - i32.const $push79=, 0 - i32.eq $push80=, $7, $pop79 - br_if 0, $pop80 # 0: down to label29 + i32.const $push85=, 0 + i32.eq $push86=, $7, $pop85 + br_if 0, $pop86 # 0: down to label29 .LBB0_38: # %while.body.lr.ph.i47 # Parent Loop BB0_36 Depth=1 # => This Loop Header: Depth=2 @@ -326,9 +326,9 @@ sort_pagelist: # @sort_pagelist i32.ne $2=, $8, $pop54 i32.const $push53=, 0 i32.ne $9=, $7, $pop53 - i32.const $push81=, 0 - i32.eq $push82=, $7, $pop81 - br_if 1, $pop82 # 1: down to label31 + i32.const $push87=, 0 + i32.eq $push88=, $7, $pop87 + br_if 1, $pop88 # 1: down to label31 # BB#42: # %if.then.i57 # in Loop: Header=BB0_38 Depth=2 br_if 0, $8 # 0: up to label30 @@ -365,9 +365,9 @@ sort_pagelist: # @sort_pagelist # in Loop: Header=BB0_36 Depth=1 end_block # label26: i32.const $push62=, 28 - i32.const $14=, 104 - i32.add $14=, $19, $14 - i32.add $push20=, $14, $pop62 + i32.const $11=, 104 + i32.add $11=, $16, $11 + i32.add $push20=, $11, $pop62 i32.load $8=, 0($pop20) i32.const $push61=, 1 i32.add $5=, $5, $pop61 @@ -376,10 +376,10 @@ sort_pagelist: # @sort_pagelist br_if 0, $pop21 # 0: up to label24 # BB#50: # %for.end20 end_loop # label25: - i32.const $12=, 144 - i32.add $19=, $19, $12 - i32.const $12=, __stack_pointer - i32.store $19=, 0($12), $19 + i32.const $push67=, 144 + i32.add $16=, $16, $pop67 + i32.const $push68=, __stack_pointer + i32.store $discard=, 0($pop68), $16 return $8 .endfunc .Lfunc_end0: @@ -391,49 +391,49 @@ sort_pagelist: # @sort_pagelist .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 208 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $push19=, __stack_pointer + i32.load $push20=, 0($pop19) + i32.const $push21=, 208 + i32.sub $2=, $pop20, $pop21 + i32.const $push22=, __stack_pointer + i32.store $discard=, 0($pop22), $2 i32.const $push6=, 68 - i32.add $push7=, $5, $pop6 + i32.add $push7=, $2, $pop6 i32.const $push4=, 80 - i32.add $push5=, $5, $pop4 + i32.add $push5=, $2, $pop4 i32.store $discard=, 0($pop7), $pop5 i32.const $push11=, 108 - i32.add $push12=, $5, $pop11 + i32.add $push12=, $2, $pop11 i32.const $push9=, 120 - i32.add $push10=, $5, $pop9 + i32.add $push10=, $2, $pop9 i32.store $discard=, 0($pop12), $pop10 i32.const $push0=, 5 - i32.store $discard=, 0($5):p2align=4, $pop0 + i32.store $discard=, 0($2):p2align=4, $pop0 i32.const $push1=, 40 - i32.add $push2=, $5, $pop1 - i32.store $discard=, 28($5), $pop2 + i32.add $push2=, $2, $pop1 + i32.store $discard=, 28($2), $pop2 i32.const $push3=, 4 - i32.store $discard=, 40($5):p2align=3, $pop3 + i32.store $discard=, 40($2):p2align=3, $pop3 i32.const $push8=, 1 - i32.store $discard=, 80($5):p2align=4, $pop8 + i32.store $discard=, 80($2):p2align=4, $pop8 i32.const $push13=, 3 - i32.store $discard=, 120($5):p2align=3, $pop13 + i32.store $discard=, 120($2):p2align=3, $pop13 i32.const $push14=, 148 - i32.add $push15=, $5, $pop14 + i32.add $push15=, $2, $pop14 i32.const $push16=, 0 i32.store $0=, 0($pop15), $pop16 - i32.call $1=, sort_pagelist@FUNCTION, $5 + i32.call $1=, sort_pagelist@FUNCTION, $2 block i32.load $push17=, 28($1) i32.eq $push18=, $1, $pop17 br_if 0, $pop18 # 0: down to label35 # BB#1: # %if.end - i32.const $4=, 208 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push23=, 208 + i32.add $2=, $2, $pop23 + i32.const $push24=, __stack_pointer + i32.store $discard=, 0($pop24), $2 return $0 .LBB1_2: # %if.then end_block # label35: diff --git a/test/torture-s/pr33992.c.s b/test/torture-s/pr33992.c.s index 7412054ef..9ae8e17ac 100644 --- a/test/torture-s/pr33992.c.s +++ b/test/torture-s/pr33992.c.s @@ -90,24 +90,24 @@ do_test: # @do_test .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $1=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $1 i64.const $push0=, -9223372036854775807 - i64.store $discard=, 8($4), $pop0 - i32.const $3=, 8 - i32.add $3=, $4, $3 - call do_test@FUNCTION, $3 + i64.store $discard=, 8($1), $pop0 + i32.const $0=, 8 + i32.add $0=, $1, $0 + call do_test@FUNCTION, $0 i32.const $push1=, 0 - i32.const $2=, 16 - i32.add $4=, $4, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 + i32.const $push6=, 16 + i32.add $1=, $1, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $1 return $pop1 .endfunc .Lfunc_end2: diff --git a/test/torture-s/pr34176.c.s b/test/torture-s/pr34176.c.s index 64b86d95d..296747025 100644 --- a/test/torture-s/pr34176.c.s +++ b/test/torture-s/pr34176.c.s @@ -53,28 +53,28 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, 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 $7=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $7=, 0($3), $7 - i32.const $5=, 12 - i32.add $5=, $7, $5 - i32.call $discard=, hash_find_entry@FUNCTION, $5 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $4=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $4 + i32.const $2=, 12 + i32.add $2=, $4, $2 + i32.call $discard=, hash_find_entry@FUNCTION, $2 .LBB2_1: # %if.end # =>This Loop Header: Depth=1 # Child Loop BB2_2 Depth 2 loop # label1: - i32.load $1=, 12($7) + i32.load $1=, 12($4) i32.call $discard=, foo@FUNCTION, $1 i32.const $0=, 0 block - i32.const $push3=, 0 - i32.eq $push4=, $1, $pop3 - br_if 0, $pop4 # 0: down to label3 + i32.const $push9=, 0 + i32.eq $push10=, $1, $pop9 + br_if 0, $pop10 # 0: down to label3 .LBB2_2: # %while.body # Parent Loop BB2_1 Depth=1 # => This Inner Loop Header: Depth=2 @@ -88,19 +88,19 @@ main: # @main # in Loop: Header=BB2_1 Depth=1 end_loop # label5: end_block # label3: - i32.const $6=, 12 - i32.add $6=, $7, $6 - i32.call $discard=, hash_find_entry@FUNCTION, $6 - i32.const $push5=, 0 - i32.eq $push6=, $0, $pop5 - br_if 0, $pop6 # 0: up to label1 + i32.const $3=, 12 + i32.add $3=, $4, $3 + i32.call $discard=, hash_find_entry@FUNCTION, $3 + i32.const $push11=, 0 + i32.eq $push12=, $0, $pop11 + br_if 0, $pop12 # 0: up to label1 # BB#4: # %for.end end_loop # label2: i32.const $push0=, 0 - i32.const $4=, 16 - i32.add $7=, $7, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 + i32.const $push7=, 16 + i32.add $4=, $4, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $4 return $pop0 .endfunc .Lfunc_end2: diff --git a/test/torture-s/pr35472.c.s b/test/torture-s/pr35472.c.s index 3df216671..b38b485d3 100644 --- a/test/torture-s/pr35472.c.s +++ b/test/torture-s/pr35472.c.s @@ -21,43 +21,43 @@ foo: # @foo .globl test .type test,@function test: # @test - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 128 - i32.sub $6=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $6=, 0($1), $6 + i32.const $push12=, __stack_pointer + i32.load $push13=, 0($pop12) + i32.const $push14=, 128 + i32.sub $3=, $pop13, $pop14 + i32.const $push15=, __stack_pointer + i32.store $discard=, 0($pop15), $3 i32.const $push1=, 0 i32.const $push0=, 64 - i32.const $3=, 64 - i32.add $3=, $6, $3 - i32.call $discard=, memset@FUNCTION, $3, $pop1, $pop0 + i32.const $0=, 64 + i32.add $0=, $3, $0 + i32.call $discard=, memset@FUNCTION, $0, $pop1, $pop0 i32.const $push11=, 0 i32.const $push10=, 64 - i32.call $discard=, memset@FUNCTION, $6, $pop11, $pop10 - i32.const $4=, 64 - i32.add $4=, $6, $4 - call foo@FUNCTION, $4, $6 + i32.call $discard=, memset@FUNCTION, $3, $pop11, $pop10 + i32.const $1=, 64 + i32.add $1=, $3, $1 + call foo@FUNCTION, $1, $3 i32.const $push9=, 0 i32.load $push2=, p($pop9) i32.const $push8=, 64 - i32.const $5=, 64 - i32.add $5=, $6, $5 - i32.call $push3=, memcpy@FUNCTION, $pop2, $5, $pop8 + i32.const $2=, 64 + i32.add $2=, $3, $2 + i32.call $push3=, memcpy@FUNCTION, $pop2, $2, $pop8 i32.const $push7=, 64 - i32.call $discard=, memcpy@FUNCTION, $pop3, $6, $pop7 + i32.call $discard=, memcpy@FUNCTION, $pop3, $3, $pop7 block - i32.load $push4=, 0($6):p2align=3 + i32.load $push4=, 0($3):p2align=3 i32.const $push5=, -1 i32.ne $push6=, $pop4, $pop5 br_if 0, $pop6 # 0: down to label0 # BB#1: # %if.end - i32.const $2=, 128 - i32.add $6=, $6, $2 - i32.const $2=, __stack_pointer - i32.store $6=, 0($2), $6 + i32.const $push16=, 128 + i32.add $3=, $3, $pop16 + i32.const $push17=, __stack_pointer + i32.store $discard=, 0($pop17), $3 return .LBB1_2: # %if.then end_block # label0: @@ -73,44 +73,44 @@ test: # @test .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 128 - i32.sub $6=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $6=, 0($1), $6 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 128 + i32.sub $3=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $3 i32.const $push11=, 0 i32.const $push0=, 64 - i32.const $3=, 64 - i32.add $3=, $6, $3 - i32.call $discard=, memset@FUNCTION, $3, $pop11, $pop0 + i32.const $0=, 64 + i32.add $0=, $3, $0 + i32.call $discard=, memset@FUNCTION, $0, $pop11, $pop0 i32.const $push10=, 0 i32.const $push9=, 64 - i32.call $discard=, memset@FUNCTION, $6, $pop10, $pop9 - i32.const $4=, 64 - i32.add $4=, $6, $4 - call foo@FUNCTION, $4, $6 + i32.call $discard=, memset@FUNCTION, $3, $pop10, $pop9 + i32.const $1=, 64 + i32.add $1=, $3, $1 + call foo@FUNCTION, $1, $3 i32.const $push8=, 0 i32.load $push1=, p($pop8) i32.const $push7=, 64 - i32.const $5=, 64 - i32.add $5=, $6, $5 - i32.call $push2=, memcpy@FUNCTION, $pop1, $5, $pop7 + i32.const $2=, 64 + i32.add $2=, $3, $2 + i32.call $push2=, memcpy@FUNCTION, $pop1, $2, $pop7 i32.const $push6=, 64 - i32.call $discard=, memcpy@FUNCTION, $pop2, $6, $pop6 + i32.call $discard=, memcpy@FUNCTION, $pop2, $3, $pop6 block - i32.load $push3=, 0($6):p2align=3 + i32.load $push3=, 0($3):p2align=3 i32.const $push4=, -1 i32.ne $push5=, $pop3, $pop4 br_if 0, $pop5 # 0: down to label1 # BB#1: # %test.exit i32.const $push12=, 0 - i32.const $2=, 128 - i32.add $6=, $6, $2 - i32.const $2=, __stack_pointer - i32.store $6=, 0($2), $6 + i32.const $push17=, 128 + i32.add $3=, $3, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $3 return $pop12 .LBB2_2: # %if.then.i end_block # label1: diff --git a/test/torture-s/pr36339.c.s b/test/torture-s/pr36339.c.s index c404d544a..f19e68674 100644 --- a/test/torture-s/pr36339.c.s +++ b/test/torture-s/pr36339.c.s @@ -7,26 +7,26 @@ try_a: # @try_a .param i32 .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $5=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 - i32.store $discard=, 8($5), $0 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $2=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $2 + i32.store $discard=, 8($2), $0 i32.const $push0=, 0 - i32.store $discard=, 12($5), $pop0 + i32.store $discard=, 12($2), $pop0 i32.const $push1=, 1 - i32.const $4=, 8 - i32.add $4=, $5, $4 - i32.or $push2=, $4, $pop1 + i32.const $1=, 8 + i32.add $1=, $2, $1 + i32.or $push2=, $1, $pop1 i32.call $push3=, check_a@FUNCTION, $pop2 - i32.const $3=, 16 - i32.add $5=, $5, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $push8=, 16 + i32.add $2=, $2, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $2 return $pop3 .endfunc .Lfunc_end0: diff --git a/test/torture-s/pr36343.c.s b/test/torture-s/pr36343.c.s index 6cf9b9287..cb4dede32 100644 --- a/test/torture-s/pr36343.c.s +++ b/test/torture-s/pr36343.c.s @@ -21,30 +21,30 @@ bar: # @bar foo: # @foo .param i32 .result f32 - .local f32, i32, i32, i32, i32, i32, i32, i32 + .local f32, i32, i32, i32, i32 # BB#0: # %entry - 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 $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $5=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $5 i32.const $push0=, 0 - i32.store $discard=, 12($8), $pop0 + i32.store $discard=, 12($5), $pop0 i32.const $push1=, 1065353216 - i32.store $discard=, 8($8), $pop1 - i32.const $6=, 12 - i32.add $6=, $8, $6 - i32.const $7=, 8 - i32.add $7=, $8, $7 - i32.select $push5=, $6, $7, $0 + i32.store $discard=, 8($5), $pop1 + i32.const $3=, 12 + i32.add $3=, $5, $3 + i32.const $4=, 8 + i32.add $4=, $5, $4 + i32.select $push5=, $3, $4, $0 tee_local $push4=, $2=, $pop5 call bar@FUNCTION, $pop4 block block - i32.const $push6=, 0 - i32.eq $push7=, $0, $pop6 - br_if 0, $pop7 # 0: down to label1 + i32.const $push12=, 0 + i32.eq $push13=, $0, $pop12 + br_if 0, $pop13 # 0: down to label1 # BB#1: # %if.then2 i32.load $push2=, 0($2) i32.load $push3=, 0($pop2) @@ -52,13 +52,13 @@ foo: # @foo br 1 # 1: down to label0 .LBB1_2: # %if.end3 end_block # label1: - f32.load $1=, 8($8) + f32.load $1=, 8($5) .LBB1_3: # %cleanup end_block # label0: - i32.const $5=, 16 - i32.add $8=, $8, $5 - i32.const $5=, __stack_pointer - i32.store $8=, 0($5), $8 + i32.const $push10=, 16 + i32.add $5=, $5, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $5 return $1 .endfunc .Lfunc_end1: diff --git a/test/torture-s/pr37573.c.s b/test/torture-s/pr37573.c.s index ecdac4ad1..e03565237 100644 --- a/test/torture-s/pr37573.c.s +++ b/test/torture-s/pr37573.c.s @@ -28,238 +28,234 @@ main: # @main .section .text.bar,"ax",@progbits .type bar,@function bar: # @bar - .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, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 2512 - i32.sub $32=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $32=, 0($4), $32 + i32.const $push130=, __stack_pointer + i32.load $push131=, 0($pop130) + i32.const $push132=, 2512 + i32.sub $28=, $pop131, $pop132 + i32.const $push133=, __stack_pointer + i32.store $discard=, 0($pop133), $28 i32.const $push2=, 8 - i32.const $6=, 8 - i32.add $6=, $32, $6 - i32.add $push3=, $6, $pop2 + i32.const $3=, 8 + i32.add $3=, $28, $3 + i32.add $push3=, $3, $pop2 i32.const $push1=, 41589 i32.store $1=, 0($pop3):p2align=3, $pop1 i32.const $push4=, 12 - i32.const $7=, 8 - i32.add $7=, $32, $7 - i32.add $0=, $7, $pop4 + i32.const $4=, 8 + i32.add $4=, $28, $4 + i32.add $0=, $4, $pop4 i32.const $2=, 1 .LBB1_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label1: - i32.const $push86=, 30 - i32.shr_u $push5=, $1, $pop86 + i32.const $push84=, 30 + i32.shr_u $push5=, $1, $pop84 i32.xor $push6=, $pop5, $1 - i32.const $push85=, 1812433253 - i32.mul $push7=, $pop6, $pop85 + i32.const $push83=, 1812433253 + i32.mul $push7=, $pop6, $pop83 i32.add $push0=, $pop7, $2 i32.store $1=, 0($0), $pop0 - i32.const $push84=, 1 - i32.add $2=, $2, $pop84 - i32.const $push83=, 4 - i32.add $0=, $0, $pop83 - i32.const $push82=, 624 - i32.ne $push8=, $2, $pop82 + i32.const $push82=, 1 + i32.add $2=, $2, $pop82 + i32.const $push81=, 4 + i32.add $0=, $0, $pop81 + i32.const $push80=, 624 + i32.ne $push8=, $2, $pop80 br_if 0, $pop8 # 0: up to label1 # BB#2: # %for.end end_loop # label2: - i32.const $push9=, 4 - i32.const $8=, 8 - i32.add $8=, $32, $8 - i32.or $push10=, $8, $pop9 - i32.const $push11=, 1 - i32.store $discard=, 0($pop10), $pop11 - i32.const $push13=, 0 - i32.const $9=, 8 - i32.add $9=, $32, $9 - i32.call $push12=, foo@FUNCTION, $9 - i32.const $push131=, 0 - i32.load8_u $push14=, p($pop131):p2align=4 - i32.xor $push15=, $pop12, $pop14 - i32.store8 $discard=, p($pop13):p2align=4, $pop15 - i32.const $push130=, 0 - i32.const $10=, 8 - i32.add $10=, $32, $10 - i32.call $push16=, foo@FUNCTION, $10 + i32.const $push9=, 1 + i32.store $discard=, 12($28), $pop9 + i32.const $push11=, 0 + i32.const $5=, 8 + i32.add $5=, $28, $5 + i32.call $push10=, foo@FUNCTION, $5 i32.const $push129=, 0 - i32.load8_u $push17=, p+1($pop129) - i32.xor $push18=, $pop16, $pop17 - i32.store8 $discard=, p+1($pop130), $pop18 + i32.load8_u $push12=, p($pop129):p2align=4 + i32.xor $push13=, $pop10, $pop12 + i32.store8 $discard=, p($pop11):p2align=4, $pop13 i32.const $push128=, 0 - i32.const $11=, 8 - i32.add $11=, $32, $11 - i32.call $push19=, foo@FUNCTION, $11 + i32.const $6=, 8 + i32.add $6=, $28, $6 + i32.call $push14=, foo@FUNCTION, $6 i32.const $push127=, 0 - i32.load8_u $push20=, p+2($pop127):p2align=1 - i32.xor $push21=, $pop19, $pop20 - i32.store8 $discard=, p+2($pop128):p2align=1, $pop21 + i32.load8_u $push15=, p+1($pop127) + i32.xor $push16=, $pop14, $pop15 + i32.store8 $discard=, p+1($pop128), $pop16 i32.const $push126=, 0 - i32.const $12=, 8 - i32.add $12=, $32, $12 - i32.call $push22=, foo@FUNCTION, $12 + i32.const $7=, 8 + i32.add $7=, $28, $7 + i32.call $push17=, foo@FUNCTION, $7 i32.const $push125=, 0 - i32.load8_u $push23=, p+3($pop125) - i32.xor $push24=, $pop22, $pop23 - i32.store8 $discard=, p+3($pop126), $pop24 + i32.load8_u $push18=, p+2($pop125):p2align=1 + i32.xor $push19=, $pop17, $pop18 + i32.store8 $discard=, p+2($pop126):p2align=1, $pop19 i32.const $push124=, 0 - i32.const $13=, 8 - i32.add $13=, $32, $13 - i32.call $push25=, foo@FUNCTION, $13 + i32.const $8=, 8 + i32.add $8=, $28, $8 + i32.call $push20=, foo@FUNCTION, $8 i32.const $push123=, 0 - i32.load8_u $push26=, p+4($pop123):p2align=2 - i32.xor $push27=, $pop25, $pop26 - i32.store8 $discard=, p+4($pop124):p2align=2, $pop27 + i32.load8_u $push21=, p+3($pop123) + i32.xor $push22=, $pop20, $pop21 + i32.store8 $discard=, p+3($pop124), $pop22 i32.const $push122=, 0 - i32.const $14=, 8 - i32.add $14=, $32, $14 - i32.call $push28=, foo@FUNCTION, $14 + i32.const $9=, 8 + i32.add $9=, $28, $9 + i32.call $push23=, foo@FUNCTION, $9 i32.const $push121=, 0 - i32.load8_u $push29=, p+5($pop121) - i32.xor $push30=, $pop28, $pop29 - i32.store8 $discard=, p+5($pop122), $pop30 + i32.load8_u $push24=, p+4($pop121):p2align=2 + i32.xor $push25=, $pop23, $pop24 + i32.store8 $discard=, p+4($pop122):p2align=2, $pop25 i32.const $push120=, 0 - i32.const $15=, 8 - i32.add $15=, $32, $15 - i32.call $push31=, foo@FUNCTION, $15 + i32.const $10=, 8 + i32.add $10=, $28, $10 + i32.call $push26=, foo@FUNCTION, $10 i32.const $push119=, 0 - i32.load8_u $push32=, p+6($pop119):p2align=1 - i32.xor $push33=, $pop31, $pop32 - i32.store8 $discard=, p+6($pop120):p2align=1, $pop33 + i32.load8_u $push27=, p+5($pop119) + i32.xor $push28=, $pop26, $pop27 + i32.store8 $discard=, p+5($pop120), $pop28 i32.const $push118=, 0 - i32.const $16=, 8 - i32.add $16=, $32, $16 - i32.call $push34=, foo@FUNCTION, $16 + i32.const $11=, 8 + i32.add $11=, $28, $11 + i32.call $push29=, foo@FUNCTION, $11 i32.const $push117=, 0 - i32.load8_u $push35=, p+7($pop117) - i32.xor $push36=, $pop34, $pop35 - i32.store8 $discard=, p+7($pop118), $pop36 + i32.load8_u $push30=, p+6($pop117):p2align=1 + i32.xor $push31=, $pop29, $pop30 + i32.store8 $discard=, p+6($pop118):p2align=1, $pop31 i32.const $push116=, 0 - i32.const $17=, 8 - i32.add $17=, $32, $17 - i32.call $push37=, foo@FUNCTION, $17 + i32.const $12=, 8 + i32.add $12=, $28, $12 + i32.call $push32=, foo@FUNCTION, $12 i32.const $push115=, 0 - i32.load8_u $push38=, p+8($pop115):p2align=3 - i32.xor $push39=, $pop37, $pop38 - i32.store8 $discard=, p+8($pop116):p2align=3, $pop39 + i32.load8_u $push33=, p+7($pop115) + i32.xor $push34=, $pop32, $pop33 + i32.store8 $discard=, p+7($pop116), $pop34 i32.const $push114=, 0 - i32.const $18=, 8 - i32.add $18=, $32, $18 - i32.call $push40=, foo@FUNCTION, $18 + i32.const $13=, 8 + i32.add $13=, $28, $13 + i32.call $push35=, foo@FUNCTION, $13 i32.const $push113=, 0 - i32.load8_u $push41=, p+9($pop113) - i32.xor $push42=, $pop40, $pop41 - i32.store8 $discard=, p+9($pop114), $pop42 + i32.load8_u $push36=, p+8($pop113):p2align=3 + i32.xor $push37=, $pop35, $pop36 + i32.store8 $discard=, p+8($pop114):p2align=3, $pop37 i32.const $push112=, 0 - i32.const $19=, 8 - i32.add $19=, $32, $19 - i32.call $push43=, foo@FUNCTION, $19 + i32.const $14=, 8 + i32.add $14=, $28, $14 + i32.call $push38=, foo@FUNCTION, $14 i32.const $push111=, 0 - i32.load8_u $push44=, p+10($pop111):p2align=1 - i32.xor $push45=, $pop43, $pop44 - i32.store8 $discard=, p+10($pop112):p2align=1, $pop45 + i32.load8_u $push39=, p+9($pop111) + i32.xor $push40=, $pop38, $pop39 + i32.store8 $discard=, p+9($pop112), $pop40 i32.const $push110=, 0 - i32.const $20=, 8 - i32.add $20=, $32, $20 - i32.call $push46=, foo@FUNCTION, $20 + i32.const $15=, 8 + i32.add $15=, $28, $15 + i32.call $push41=, foo@FUNCTION, $15 i32.const $push109=, 0 - i32.load8_u $push47=, p+11($pop109) - i32.xor $push48=, $pop46, $pop47 - i32.store8 $discard=, p+11($pop110), $pop48 + i32.load8_u $push42=, p+10($pop109):p2align=1 + i32.xor $push43=, $pop41, $pop42 + i32.store8 $discard=, p+10($pop110):p2align=1, $pop43 i32.const $push108=, 0 - i32.const $21=, 8 - i32.add $21=, $32, $21 - i32.call $push49=, foo@FUNCTION, $21 + i32.const $16=, 8 + i32.add $16=, $28, $16 + i32.call $push44=, foo@FUNCTION, $16 i32.const $push107=, 0 - i32.load8_u $push50=, p+12($pop107):p2align=2 - i32.xor $push51=, $pop49, $pop50 - i32.store8 $discard=, p+12($pop108):p2align=2, $pop51 + i32.load8_u $push45=, p+11($pop107) + i32.xor $push46=, $pop44, $pop45 + i32.store8 $discard=, p+11($pop108), $pop46 i32.const $push106=, 0 - i32.const $22=, 8 - i32.add $22=, $32, $22 - i32.call $push52=, foo@FUNCTION, $22 + i32.const $17=, 8 + i32.add $17=, $28, $17 + i32.call $push47=, foo@FUNCTION, $17 i32.const $push105=, 0 - i32.load8_u $push53=, p+13($pop105) - i32.xor $push54=, $pop52, $pop53 - i32.store8 $discard=, p+13($pop106), $pop54 + i32.load8_u $push48=, p+12($pop105):p2align=2 + i32.xor $push49=, $pop47, $pop48 + i32.store8 $discard=, p+12($pop106):p2align=2, $pop49 i32.const $push104=, 0 - i32.const $23=, 8 - i32.add $23=, $32, $23 - i32.call $push55=, foo@FUNCTION, $23 + i32.const $18=, 8 + i32.add $18=, $28, $18 + i32.call $push50=, foo@FUNCTION, $18 i32.const $push103=, 0 - i32.load8_u $push56=, p+14($pop103):p2align=1 - i32.xor $push57=, $pop55, $pop56 - i32.store8 $discard=, p+14($pop104):p2align=1, $pop57 + i32.load8_u $push51=, p+13($pop103) + i32.xor $push52=, $pop50, $pop51 + i32.store8 $discard=, p+13($pop104), $pop52 i32.const $push102=, 0 - i32.const $24=, 8 - i32.add $24=, $32, $24 - i32.call $push58=, foo@FUNCTION, $24 + i32.const $19=, 8 + i32.add $19=, $28, $19 + i32.call $push53=, foo@FUNCTION, $19 i32.const $push101=, 0 - i32.load8_u $push59=, p+15($pop101) - i32.xor $push60=, $pop58, $pop59 - i32.store8 $discard=, p+15($pop102), $pop60 + i32.load8_u $push54=, p+14($pop101):p2align=1 + i32.xor $push55=, $pop53, $pop54 + i32.store8 $discard=, p+14($pop102):p2align=1, $pop55 i32.const $push100=, 0 - i32.const $25=, 8 - i32.add $25=, $32, $25 - i32.call $push61=, foo@FUNCTION, $25 + i32.const $20=, 8 + i32.add $20=, $28, $20 + i32.call $push56=, foo@FUNCTION, $20 i32.const $push99=, 0 - i32.load8_u $push62=, p+16($pop99):p2align=4 - i32.xor $push63=, $pop61, $pop62 - i32.store8 $discard=, p+16($pop100):p2align=4, $pop63 + i32.load8_u $push57=, p+15($pop99) + i32.xor $push58=, $pop56, $pop57 + i32.store8 $discard=, p+15($pop100), $pop58 i32.const $push98=, 0 - i32.const $26=, 8 - i32.add $26=, $32, $26 - i32.call $push64=, foo@FUNCTION, $26 + i32.const $21=, 8 + i32.add $21=, $28, $21 + i32.call $push59=, foo@FUNCTION, $21 i32.const $push97=, 0 - i32.load8_u $push65=, p+17($pop97) - i32.xor $push66=, $pop64, $pop65 - i32.store8 $discard=, p+17($pop98), $pop66 + i32.load8_u $push60=, p+16($pop97):p2align=4 + i32.xor $push61=, $pop59, $pop60 + i32.store8 $discard=, p+16($pop98):p2align=4, $pop61 i32.const $push96=, 0 - i32.const $27=, 8 - i32.add $27=, $32, $27 - i32.call $push67=, foo@FUNCTION, $27 + i32.const $22=, 8 + i32.add $22=, $28, $22 + i32.call $push62=, foo@FUNCTION, $22 i32.const $push95=, 0 - i32.load8_u $push68=, p+18($pop95):p2align=1 - i32.xor $push69=, $pop67, $pop68 - i32.store8 $discard=, p+18($pop96):p2align=1, $pop69 + i32.load8_u $push63=, p+17($pop95) + i32.xor $push64=, $pop62, $pop63 + i32.store8 $discard=, p+17($pop96), $pop64 i32.const $push94=, 0 - i32.const $28=, 8 - i32.add $28=, $32, $28 - i32.call $push70=, foo@FUNCTION, $28 + i32.const $23=, 8 + i32.add $23=, $28, $23 + i32.call $push65=, foo@FUNCTION, $23 i32.const $push93=, 0 - i32.load8_u $push71=, p+19($pop93) - i32.xor $push72=, $pop70, $pop71 - i32.store8 $discard=, p+19($pop94), $pop72 + i32.load8_u $push66=, p+18($pop93):p2align=1 + i32.xor $push67=, $pop65, $pop66 + i32.store8 $discard=, p+18($pop94):p2align=1, $pop67 i32.const $push92=, 0 - i32.const $29=, 8 - i32.add $29=, $32, $29 - i32.call $push73=, foo@FUNCTION, $29 + i32.const $24=, 8 + i32.add $24=, $28, $24 + i32.call $push68=, foo@FUNCTION, $24 i32.const $push91=, 0 - i32.load8_u $push74=, p+20($pop91):p2align=2 - i32.xor $push75=, $pop73, $pop74 - i32.store8 $discard=, p+20($pop92):p2align=2, $pop75 + i32.load8_u $push69=, p+19($pop91) + i32.xor $push70=, $pop68, $pop69 + i32.store8 $discard=, p+19($pop92), $pop70 i32.const $push90=, 0 - i32.const $30=, 8 - i32.add $30=, $32, $30 - i32.call $push76=, foo@FUNCTION, $30 + i32.const $25=, 8 + i32.add $25=, $28, $25 + i32.call $push71=, foo@FUNCTION, $25 i32.const $push89=, 0 - i32.load8_u $push77=, p+21($pop89) - i32.xor $push78=, $pop76, $pop77 - i32.store8 $discard=, p+21($pop90), $pop78 + i32.load8_u $push72=, p+20($pop89):p2align=2 + i32.xor $push73=, $pop71, $pop72 + i32.store8 $discard=, p+20($pop90):p2align=2, $pop73 i32.const $push88=, 0 - i32.const $31=, 8 - i32.add $31=, $32, $31 - i32.call $push79=, foo@FUNCTION, $31 + i32.const $26=, 8 + i32.add $26=, $28, $26 + i32.call $push74=, foo@FUNCTION, $26 i32.const $push87=, 0 - i32.load8_u $push80=, p+22($pop87):p2align=1 - i32.xor $push81=, $pop79, $pop80 - i32.store8 $discard=, p+22($pop88):p2align=1, $pop81 - i32.const $5=, 2512 - i32.add $32=, $32, $5 - i32.const $5=, __stack_pointer - i32.store $32=, 0($5), $32 + i32.load8_u $push75=, p+21($pop87) + i32.xor $push76=, $pop74, $pop75 + i32.store8 $discard=, p+21($pop88), $pop76 + i32.const $push86=, 0 + i32.const $27=, 8 + i32.add $27=, $28, $27 + i32.call $push77=, foo@FUNCTION, $27 + i32.const $push85=, 0 + i32.load8_u $push78=, p+22($pop85):p2align=1 + i32.xor $push79=, $pop77, $pop78 + i32.store8 $discard=, p+22($pop86):p2align=1, $pop79 + i32.const $push134=, 2512 + i32.add $28=, $28, $pop134 + i32.const $push135=, __stack_pointer + i32.store $discard=, 0($pop135), $28 return .endfunc .Lfunc_end1: diff --git a/test/torture-s/pr38151.c.s b/test/torture-s/pr38151.c.s new file mode 100644 index 000000000..931969787 --- /dev/null +++ b/test/torture-s/pr38151.c.s @@ -0,0 +1,146 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr38151.c" + .section .text.check2848va,"ax",@progbits + .hidden check2848va + .globl check2848va + .type check2848va,@function +check2848va: # @check2848va + .param i32, i32 + .local i32, i32, i64, i64, i32 +# BB#0: # %entry + i32.const $push30=, __stack_pointer + i32.load $push31=, 0($pop30) + i32.const $push32=, 16 + i32.sub $6=, $pop31, $pop32 + i32.store $push0=, 12($6), $1 + i32.const $push1=, 15 + i32.add $push2=, $pop0, $pop1 + i32.const $push3=, -16 + i32.and $push25=, $pop2, $pop3 + tee_local $push24=, $1=, $pop25 + i64.load $4=, 0($pop24):p2align=4 + i32.const $push23=, 0 + i64.load $5=, s2848($pop23):p2align=4 + i32.const $push4=, 16 + i32.add $push5=, $1, $pop4 + i32.store $discard=, 12($6), $pop5 + i32.load $2=, 8($1):p2align=3 + i64.const $push7=, 32 + i64.shr_u $push8=, $4, $pop7 + i32.wrap/i64 $1=, $pop8 + i64.const $push22=, 32 + i64.shr_u $push11=, $5, $pop22 + i32.wrap/i64 $3=, $pop11 + block + i32.wrap/i64 $push9=, $5 + i32.wrap/i64 $push6=, $4 + i32.eq $push10=, $pop9, $pop6 + br_if 0, $pop10 # 0: down to label0 +# BB#1: # %if.then + i32.const $push27=, 0 + i32.const $push26=, 0 + i32.load $push12=, fails($pop26) + i32.const $push13=, 1 + i32.add $push14=, $pop12, $pop13 + i32.store $discard=, fails($pop27), $pop14 +.LBB0_2: # %if.end + end_block # label0: + block + block + i32.ne $push16=, $3, $1 + br_if 0, $pop16 # 0: down to label2 +# BB#3: # %if.end + i32.const $push28=, 0 + i32.load $push15=, s2848+8($pop28):p2align=3 + i32.eq $push17=, $pop15, $2 + br_if 1, $pop17 # 1: down to label1 +.LBB0_4: # %if.then2 + end_block # label2: + i32.const $push18=, 0 + i32.const $push29=, 0 + i32.load $push19=, fails($pop29) + i32.const $push20=, 1 + i32.add $push21=, $pop19, $pop20 + i32.store $discard=, fails($pop18), $pop21 +.LBB0_5: # %if.end4 + end_block # label1: + return + .endfunc +.Lfunc_end0: + .size check2848va, .Lfunc_end0-check2848va + + .section .text.main,"ax",@progbits + .hidden main + .globl main + .type main,@function +main: # @main + .result i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push15=, __stack_pointer + i32.load $push16=, 0($pop15) + i32.const $push17=, 32 + i32.sub $2=, $pop16, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $2 + i32.const $push13=, 0 + i32.const $push0=, -267489557 + i32.store $discard=, s2848($pop13):p2align=4, $pop0 + i32.const $push12=, 0 + i32.const $push1=, 723419448 + i32.store $discard=, s2848+4($pop12), $pop1 + i32.const $push11=, 0 + i32.const $push2=, -218144346 + i32.store $discard=, s2848+8($pop11):p2align=3, $pop2 + i32.const $push10=, 0 + i32.load $push3=, s2848+12($pop10) + i32.store $discard=, 28($2), $pop3 + i32.const $push9=, 0 + i32.load $push4=, s2848+8($pop9):p2align=3 + i32.store $discard=, 24($2):p2align=3, $pop4 + i32.const $push8=, 0 + i64.load $push5=, s2848($pop8):p2align=4 + i64.store $discard=, 16($2):p2align=4, $pop5 + i32.const $1=, 16 + i32.add $1=, $2, $1 + i32.store $discard=, 0($2):p2align=4, $1 + call check2848va@FUNCTION, $0, $2 + block + i32.const $push7=, 0 + i32.load $push6=, fails($pop7) + br_if 0, $pop6 # 0: down to label3 +# BB#1: # %if.end + i32.const $push14=, 0 + i32.const $push19=, 32 + i32.add $2=, $2, $pop19 + i32.const $push20=, __stack_pointer + i32.store $discard=, 0($pop20), $2 + return $pop14 +.LBB1_2: # %if.then + end_block # label3: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end1: + .size main, .Lfunc_end1-main + + .hidden s2848 # @s2848 + .type s2848,@object + .section .bss.s2848,"aw",@nobits + .globl s2848 + .p2align 4 +s2848: + .skip 16 + .size s2848, 16 + + .hidden fails # @fails + .type fails,@object + .section .bss.fails,"aw",@nobits + .globl fails + .p2align 2 +fails: + .int32 0 # 0x0 + .size fails, 4 + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/pr38212.c.s b/test/torture-s/pr38212.c.s index 94831acc7..7767284a3 100644 --- a/test/torture-s/pr38212.c.s +++ b/test/torture-s/pr38212.c.s @@ -31,29 +31,29 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $5=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 + i32.const $push5=, __stack_pointer + i32.load $push6=, 0($pop5) + i32.const $push7=, 16 + i32.sub $2=, $pop6, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $2 i32.const $push0=, 0 - i32.store $0=, 12($5), $pop0 + i32.store $0=, 12($2), $pop0 i32.const $push1=, 1 - i32.const $4=, 12 - i32.add $4=, $5, $4 + i32.const $1=, 12 + i32.add $1=, $2, $1 block - i32.call $push2=, foo@FUNCTION, $4, $pop1 + i32.call $push2=, foo@FUNCTION, $1, $pop1 i32.const $push4=, 1 i32.ne $push3=, $pop2, $pop4 br_if 0, $pop3 # 0: down to label0 # BB#1: # %if.end - i32.const $3=, 16 - i32.add $5=, $5, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $push9=, 16 + i32.add $2=, $2, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $2 return $0 .LBB1_2: # %if.then end_block # label0: diff --git a/test/torture-s/pr38236.c.s b/test/torture-s/pr38236.c.s index b2489485e..630e2e355 100644 --- a/test/torture-s/pr38236.c.s +++ b/test/torture-s/pr38236.c.s @@ -7,29 +7,23 @@ foo: # @foo .param i32, i32, i32, i32 .result i32 - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - 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 - i32.const $7=, 12 - i32.add $7=, $10, $7 - i32.const $8=, 8 - i32.add $8=, $10, $8 - i32.select $push1=, $7, $8, $3 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $7=, $pop5, $pop6 + i32.const $4=, 12 + i32.add $4=, $7, $4 + i32.const $5=, 8 + i32.add $5=, $7, $5 + i32.select $push1=, $4, $5, $3 i32.const $push2=, 1 i32.store $discard=, 0($pop1), $pop2 - i32.const $9=, 12 - i32.add $9=, $10, $9 - i32.select $push0=, $9, $0, $2 + i32.const $6=, 12 + i32.add $6=, $7, $6 + i32.select $push0=, $6, $0, $2 i32.load $push3=, 0($pop0) - i32.const $6=, 16 - i32.add $10=, $10, $6 - i32.const $6=, __stack_pointer - i32.store $10=, 0($6), $10 return $pop3 .endfunc .Lfunc_end0: diff --git a/test/torture-s/pr38969.c.s b/test/torture-s/pr38969.c.s index 6016cafe9..39aa969b4 100644 --- a/test/torture-s/pr38969.c.s +++ b/test/torture-s/pr38969.c.s @@ -20,40 +20,36 @@ foo: # @foo .type bar,@function bar: # @bar .param i32, i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 32 - i32.sub $10=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $10=, 0($4), $10 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 32 + i32.sub $6=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $6 i32.load $2=, 4($1) i32.load $push0=, 0($1) - i32.store $discard=, 16($10):p2align=3, $pop0 - i32.const $push1=, 4 - i32.const $6=, 8 - i32.add $6=, $10, $6 - i32.add $push4=, $6, $pop1 - i32.const $push7=, 4 - i32.const $7=, 16 - i32.add $7=, $10, $7 - i32.or $push2=, $7, $pop7 - i32.store $push3=, 0($pop2), $2 - i32.store $discard=, 0($pop4), $pop3 - i32.load $push5=, 16($10):p2align=3 - i32.store $discard=, 8($10), $pop5 - i32.const $8=, 24 - i32.add $8=, $10, $8 - i32.const $9=, 8 - i32.add $9=, $10, $9 - call foo@FUNCTION, $8, $9 - i64.load $push6=, 24($10) - i64.store $discard=, 0($0):p2align=2, $pop6 - i32.const $5=, 32 - i32.add $10=, $10, $5 - i32.const $5=, __stack_pointer - i32.store $10=, 0($5), $10 + i32.store $discard=, 16($6):p2align=3, $pop0 + i32.const $push2=, 4 + i32.const $3=, 8 + i32.add $3=, $6, $3 + i32.add $push3=, $3, $pop2 + i32.store $push1=, 20($6), $2 + i32.store $discard=, 0($pop3), $pop1 + i32.load $push4=, 16($6):p2align=3 + i32.store $discard=, 8($6), $pop4 + i32.const $4=, 24 + i32.add $4=, $6, $4 + i32.const $5=, 8 + i32.add $5=, $6, $5 + call foo@FUNCTION, $4, $5 + i64.load $push5=, 24($6) + i64.store $discard=, 0($0):p2align=2, $pop5 + i32.const $push10=, 32 + i32.add $6=, $6, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $6 return .endfunc .Lfunc_end1: @@ -65,43 +61,39 @@ 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 $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 32 - i32.sub $6=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $6=, 0($1), $6 + i32.const $push9=, __stack_pointer + i32.load $push10=, 0($pop9) + i32.const $push11=, 32 + i32.sub $2=, $pop10, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $2 i64.const $push1=, 4767060206663237632 - i64.store $push2=, 16($6), $pop1 - i64.store $discard=, 8($6):p2align=2, $pop2 - i32.const $3=, 24 - i32.add $3=, $6, $3 - i32.const $4=, 8 - i32.add $4=, $6, $4 - call bar@FUNCTION, $3, $4 + i64.store $push2=, 16($2), $pop1 + i64.store $discard=, 8($2):p2align=2, $pop2 + i32.const $0=, 24 + i32.add $0=, $2, $0 + i32.const $1=, 8 + i32.add $1=, $2, $1 + call bar@FUNCTION, $0, $1 block - f32.load $push3=, 24($6):p2align=3 - f32.const $push6=, 0x1.2p3 - f32.ne $push7=, $pop3, $pop6 - br_if 0, $pop7 # 0: down to label0 + f32.load $push3=, 24($2):p2align=3 + f32.const $push4=, 0x1.2p3 + f32.ne $push5=, $pop3, $pop4 + br_if 0, $pop5 # 0: down to label0 # BB#1: # %entry - i32.const $push4=, 4 - i32.const $5=, 24 - i32.add $5=, $6, $5 - i32.or $push5=, $5, $pop4 - f32.load $push0=, 0($pop5) - f32.const $push8=, 0x1.5p5 - f32.ne $push9=, $pop0, $pop8 - br_if 0, $pop9 # 0: down to label0 + f32.load $push0=, 28($2) + f32.const $push6=, 0x1.5p5 + f32.ne $push7=, $pop0, $pop6 + br_if 0, $pop7 # 0: down to label0 # BB#2: # %if.end - i32.const $push10=, 0 - i32.const $2=, 32 - i32.add $6=, $6, $2 - i32.const $2=, __stack_pointer - i32.store $6=, 0($2), $6 - return $pop10 + i32.const $push8=, 0 + i32.const $push13=, 32 + i32.add $2=, $2, $pop13 + i32.const $push14=, __stack_pointer + i32.store $discard=, 0($pop14), $2 + return $pop8 .LBB2_3: # %if.then end_block # label0: call abort@FUNCTION diff --git a/test/torture-s/pr39100.c.s b/test/torture-s/pr39100.c.s index e3d66925c..b1d96f9e5 100644 --- a/test/torture-s/pr39100.c.s +++ b/test/torture-s/pr39100.c.s @@ -7,36 +7,34 @@ foo: # @foo .param i32, i32 .result i32 - .local 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 # BB#0: # %entry - i32.const $9=, __stack_pointer - i32.load $9=, 0($9) - i32.const $10=, 16 - i32.sub $16=, $9, $10 - i32.const $10=, __stack_pointer - i32.store $16=, 0($10), $16 - i32.const $12=, 12 - i32.add $12=, $16, $12 - copy_local $8=, $12 - i32.const $13=, 8 - i32.add $13=, $16, $13 - copy_local $7=, $13 + i32.const $push15=, __stack_pointer + i32.load $push16=, 0($pop15) + i32.const $push17=, 16 + i32.sub $13=, $pop16, $pop17 + i32.const $9=, 12 + i32.add $9=, $13, $9 + copy_local $8=, $9 + i32.const $10=, 8 + i32.add $10=, $13, $10 + copy_local $7=, $10 i32.const $push0=, 0 - i32.store $push1=, 12($16), $pop0 - i32.store $3=, 8($16), $pop1 + i32.store $push1=, 12($13), $pop0 + i32.store $3=, 8($13), $pop1 block - i32.const $push15=, 0 - i32.eq $push16=, $1, $pop15 - br_if 0, $pop16 # 0: down to label0 + i32.const $push18=, 0 + i32.eq $push19=, $1, $pop18 + br_if 0, $pop19 # 0: down to label0 # BB#1: # %while.body.lr.ph.lr.ph i32.const $push4=, 6 i32.add $4=, $0, $pop4 - i32.const $14=, 8 - i32.add $14=, $16, $14 - copy_local $7=, $14 - i32.const $15=, 12 - i32.add $15=, $16, $15 - copy_local $8=, $15 + i32.const $11=, 8 + i32.add $11=, $13, $11 + copy_local $7=, $11 + i32.const $12=, 12 + i32.add $12=, $13, $12 + copy_local $8=, $12 .LBB0_2: # %while.body.lr.ph # =>This Loop Header: Depth=1 # Child Loop BB0_3 Depth 2 @@ -82,15 +80,11 @@ foo: # @foo copy_local $7=, $2 .LBB0_7: # %while.end end_block # label0: - i32.load $push8=, 8($16) + i32.load $push8=, 8($13) i32.store $discard=, 0($8), $pop8 i32.store $discard=, 0($7), $3 - i32.load $push9=, 12($16) + i32.load $push9=, 12($13) i32.store $discard=, 0($0), $pop9 - i32.const $11=, 16 - i32.add $16=, $16, $11 - i32.const $11=, __stack_pointer - i32.store $16=, 0($11), $16 return $0 .endfunc .Lfunc_end0: @@ -102,63 +96,50 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 32 - i32.sub $6=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $6=, 0($2), $6 - i32.const $push8=, 12 - i32.or $push9=, $6, $pop8 + i32.const $push15=, __stack_pointer + i32.load $push16=, 0($pop15) + i32.const $push17=, 32 + i32.sub $2=, $pop16, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $2 + i32.const $push5=, 1 + i32.store $discard=, 8($2):p2align=3, $pop5 i32.const $push2=, 0 - i32.store $push3=, 0($6):p2align=4, $pop2 - i32.store $discard=, 0($pop9), $pop3 - i32.const $push4=, 4 - i32.or $push5=, $6, $pop4 - i32.const $push6=, 8 - i32.or $push0=, $6, $pop6 - i32.store $push26=, 0($pop5), $pop0 - tee_local $push25=, $0=, $pop26 - i32.const $push7=, 1 - i32.store $discard=, 0($pop25):p2align=3, $pop7 + i32.store $push3=, 0($2):p2align=4, $pop2 + i32.store $discard=, 12($2), $pop3 i64.const $push1=, 0 - i64.store $discard=, 24($6), $pop1 - i32.const $4=, 24 - i32.add $4=, $6, $4 - i32.call $discard=, foo@FUNCTION, $4, $6 - i32.const $push24=, 4 - i32.const $5=, 24 - i32.add $5=, $6, $5 + i64.store $discard=, 24($2), $pop1 + i32.const $push4=, 8 + i32.or $push0=, $2, $pop4 + i32.store $0=, 4($2), $pop0 + i32.const $1=, 24 + i32.add $1=, $2, $1 + i32.call $discard=, foo@FUNCTION, $1, $2 block - i32.or $push10=, $5, $pop24 - i32.load $push11=, 0($pop10) - i32.const $push12=, 65537 - i32.ne $push13=, $pop11, $pop12 - br_if 0, $pop13 # 0: down to label5 + i32.load $push6=, 28($2) + i32.const $push7=, 65537 + i32.ne $push8=, $pop6, $pop7 + br_if 0, $pop8 # 0: down to label5 # BB#1: # %if.end - i32.load $push14=, 24($6):p2align=3 - i32.ne $push15=, $pop14, $0 - br_if 0, $pop15 # 0: down to label5 + i32.load $push9=, 24($2):p2align=3 + i32.ne $push10=, $pop9, $0 + br_if 0, $pop10 # 0: down to label5 # BB#2: # %if.end13 - i32.const $push16=, 12 - i32.or $push17=, $6, $pop16 - i32.load $push18=, 0($pop17) - i32.ne $push19=, $pop18, $6 - br_if 0, $pop19 # 0: down to label5 + i32.load $push11=, 12($2) + i32.ne $push12=, $pop11, $2 + br_if 0, $pop12 # 0: down to label5 # BB#3: # %if.end20 - i32.const $push20=, 4 - i32.or $push21=, $6, $pop20 - i32.load $push22=, 0($pop21) - br_if 0, $pop22 # 0: down to label5 + i32.load $push13=, 4($2) + br_if 0, $pop13 # 0: down to label5 # BB#4: # %if.end24 - i32.const $push23=, 0 - i32.const $3=, 32 - i32.add $6=, $6, $3 - i32.const $3=, __stack_pointer - i32.store $6=, 0($3), $6 - return $pop23 + i32.const $push14=, 0 + i32.const $push19=, 32 + i32.add $2=, $2, $pop19 + i32.const $push20=, __stack_pointer + i32.store $discard=, 0($pop20), $2 + return $pop14 .LBB1_5: # %if.then23 end_block # label5: call abort@FUNCTION diff --git a/test/torture-s/pr39120.c.s b/test/torture-s/pr39120.c.s index 36d6431a3..ef79f19b4 100644 --- a/test/torture-s/pr39120.c.s +++ b/test/torture-s/pr39120.c.s @@ -34,32 +34,32 @@ bar: # @bar .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $5=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 16 + i32.sub $2=, $pop8, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $2 i32.const $push0=, 0 - i32.store $push6=, 12($5), $pop0 + i32.store $push6=, 12($2), $pop0 tee_local $push5=, $0=, $pop6 - i32.const $4=, 12 - i32.add $4=, $5, $4 - i32.call $push1=, foo@FUNCTION, $4 + i32.const $1=, 12 + i32.add $1=, $2, $1 + i32.call $push1=, foo@FUNCTION, $1 i32.store $discard=, x($pop5), $pop1 call bar@FUNCTION block - i32.load $push2=, 12($5) + i32.load $push2=, 12($2) i32.const $push3=, 1 i32.ne $push4=, $pop2, $pop3 br_if 0, $pop4 # 0: down to label0 # BB#1: # %if.end - i32.const $3=, 16 - i32.add $5=, $5, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $push11=, 16 + i32.add $2=, $2, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $2 return $0 .LBB2_2: # %if.then end_block # label0: diff --git a/test/torture-s/pr39339.c.s b/test/torture-s/pr39339.c.s index 2cdfd78d8..234e6bd7b 100644 --- a/test/torture-s/pr39339.c.s +++ b/test/torture-s/pr39339.c.s @@ -67,92 +67,75 @@ foo: # @foo .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 $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 64 - i32.sub $16=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $16=, 0($3), $16 - i32.const $push5=, 4 - i32.const $5=, 8 - i32.add $5=, $16, $5 - i32.or $push6=, $5, $pop5 - i32.const $push35=, 4 - i32.store $push34=, 0($pop6), $pop35 - tee_local $push33=, $1=, $pop34 - i32.or $push7=, $16, $pop33 - i32.const $push8=, 255 - i32.store8 $discard=, 0($pop7):p2align=2, $pop8 - i32.const $push12=, 24 - i32.const $6=, 16 - i32.add $6=, $16, $6 - i32.add $push13=, $6, $pop12 - i32.const $push9=, 28 - i32.const $7=, 16 - i32.add $7=, $16, $7 - i32.add $push10=, $7, $pop9 + i32.const $push27=, __stack_pointer + i32.load $push28=, 0($pop27) + i32.const $push29=, 64 + i32.sub $8=, $pop28, $pop29 + i32.const $push30=, __stack_pointer + i32.store $discard=, 0($pop30), $8 + i32.const $push10=, 24 + i32.const $1=, 16 + i32.add $1=, $8, $1 + i32.add $push11=, $1, $pop10 + i32.const $push7=, 28 + i32.const $2=, 16 + i32.add $2=, $8, $2 + i32.add $push8=, $2, $pop7 i32.const $push0=, 0 - i32.store $push11=, 0($pop10), $pop0 - i32.store $discard=, 0($pop13):p2align=3, $pop11 + i32.store $push9=, 0($pop8), $pop0 + i32.store $discard=, 0($pop11):p2align=3, $pop9 i32.const $push2=, 8 - i32.const $8=, 48 - i32.add $8=, $16, $8 - i32.add $push3=, $8, $pop2 - i32.const $push32=, 0 - i64.load $push1=, .Lmain.e+8($pop32):p2align=2 + i32.const $3=, 48 + i32.add $3=, $8, $3 + i32.add $push3=, $3, $pop2 + i32.const $push25=, 0 + i64.load $push1=, .Lmain.e+8($pop25):p2align=2 i64.store $discard=, 0($pop3), $pop1 - i32.const $push31=, 8 - i32.const $9=, 16 - i32.add $9=, $16, $9 - i32.or $push18=, $9, $pop31 - i32.const $push14=, 16 - i32.const $10=, 16 - i32.add $10=, $16, $10 - i32.add $push15=, $10, $pop14 - i64.const $push16=, 0 - i64.store $push17=, 0($pop15):p2align=4, $pop16 - i64.store $0=, 0($pop18), $pop17 - i32.const $push30=, 0 - i64.load $push4=, .Lmain.e($pop30):p2align=2 - i64.store $discard=, 48($16), $pop4 - i64.store $discard=, 16($16):p2align=4, $0 - i32.const $11=, 16 - i32.add $11=, $16, $11 - i32.store $discard=, 8($16):p2align=3, $11 - i32.const $12=, 8 - i32.add $12=, $16, $12 - i32.store $discard=, 0($16):p2align=3, $12 - i32.const $push21=, 65 - i32.const $push20=, 2 - i32.const $13=, 48 - i32.add $13=, $16, $13 - call foo@FUNCTION, $13, $pop21, $pop20, $16 - i32.const $14=, 16 - i32.add $14=, $16, $14 + i32.const $push5=, 4 + i32.store $discard=, 12($8), $pop5 + i32.const $push6=, 255 + i32.store8 $discard=, 4($8):p2align=2, $pop6 + i32.const $push12=, 16 + i32.const $4=, 16 + i32.add $4=, $8, $4 + i32.add $push13=, $4, $pop12 + i64.const $push14=, 0 + i64.store $0=, 0($pop13):p2align=4, $pop14 + i32.const $push24=, 0 + i64.load $push4=, .Lmain.e($pop24):p2align=2 + i64.store $discard=, 48($8), $pop4 + i64.store $push15=, 24($8), $0 + i64.store $discard=, 16($8):p2align=4, $pop15 + i32.const $5=, 16 + i32.add $5=, $8, $5 + i32.store $discard=, 8($8):p2align=3, $5 + i32.const $6=, 8 + i32.add $6=, $8, $6 + i32.store $discard=, 0($8):p2align=3, $6 + i32.const $push17=, 65 + i32.const $push16=, 2 + i32.const $7=, 48 + i32.add $7=, $8, $7 + call foo@FUNCTION, $7, $pop17, $pop16, $8 block - i32.or $push19=, $14, $1 - i32.load $push22=, 0($pop19) - i32.const $push29=, 1434451954 - i32.ne $push23=, $pop22, $pop29 - br_if 0, $pop23 # 0: down to label3 + i32.load $push18=, 20($8) + i32.const $push23=, 1434451954 + i32.ne $push19=, $pop18, $pop23 + br_if 0, $pop19 # 0: down to label3 # BB#1: # %if.end - i32.const $push24=, 12 - i32.const $15=, 16 - i32.add $15=, $16, $15 - i32.or $push25=, $15, $pop24 - i32.load $push26=, 0($pop25) - i32.const $push36=, 1434451954 - i32.ne $push27=, $pop26, $pop36 - br_if 0, $pop27 # 0: down to label3 + i32.load $push20=, 28($8) + i32.const $push26=, 1434451954 + i32.ne $push21=, $pop20, $pop26 + br_if 0, $pop21 # 0: down to label3 # BB#2: # %if.end13 - i32.const $push28=, 0 - i32.const $4=, 64 - i32.add $16=, $16, $4 - i32.const $4=, __stack_pointer - i32.store $16=, 0($4), $16 - return $pop28 + i32.const $push22=, 0 + i32.const $push31=, 64 + i32.add $8=, $8, $pop31 + i32.const $push32=, __stack_pointer + i32.store $discard=, 0($pop32), $8 + return $pop22 .LBB1_3: # %if.then12 end_block # label3: call abort@FUNCTION diff --git a/test/torture-s/pr40022.c.s b/test/torture-s/pr40022.c.s index 63b688c7c..5333da602 100644 --- a/test/torture-s/pr40022.c.s +++ b/test/torture-s/pr40022.c.s @@ -7,23 +7,17 @@ foo: # @foo .param i32 .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $5=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 - i32.store $discard=, 12($5), $0 - i32.const $4=, 12 - i32.add $4=, $5, $4 + i32.const $push0=, __stack_pointer + i32.load $push1=, 0($pop0) + i32.const $push2=, 16 + i32.sub $2=, $pop1, $pop2 + i32.store $discard=, 12($2), $0 + i32.const $1=, 12 + i32.add $1=, $2, $1 #APP #NO_APP - i32.const $3=, 16 - i32.add $5=, $5, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 return $0 .endfunc .Lfunc_end0: diff --git a/test/torture-s/pr40657.c.s b/test/torture-s/pr40657.c.s index 6548b6408..3c275e7e9 100644 --- a/test/torture-s/pr40657.c.s +++ b/test/torture-s/pr40657.c.s @@ -6,23 +6,17 @@ .type bar,@function bar: # @bar .param i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $5=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 - i32.store $discard=, 12($5), $0 - i32.const $4=, 12 - i32.add $4=, $5, $4 + i32.const $push0=, __stack_pointer + i32.load $push1=, 0($pop0) + i32.const $push2=, 16 + i32.sub $2=, $pop1, $pop2 + i32.store $discard=, 12($2), $0 + i32.const $1=, 12 + i32.add $1=, $2, $1 #APP #NO_APP - i32.const $3=, 16 - i32.add $5=, $5, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 return .endfunc .Lfunc_end0: @@ -34,23 +28,23 @@ bar: # @bar .type foo,@function foo: # @foo .result i64 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 - i32.const $3=, 12 - i32.add $3=, $4, $3 - call bar@FUNCTION, $3 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $1=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $1 + i32.const $0=, 12 + i32.add $0=, $1, $0 + call bar@FUNCTION, $0 i32.const $push0=, 0 i64.load $push1=, v($pop0) - i32.const $2=, 16 - i32.add $4=, $4, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 + i32.const $push6=, 16 + i32.add $1=, $1, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $1 return $pop1 .endfunc .Lfunc_end1: diff --git a/test/torture-s/pr40668.c.s b/test/torture-s/pr40668.c.s index d208059ae..1de2c70b4 100644 --- a/test/torture-s/pr40668.c.s +++ b/test/torture-s/pr40668.c.s @@ -28,17 +28,17 @@ bar: # @bar end_block # label4: i32.const $push6=, 305419896 i32.store $discard=, 0($1):p2align=0, $pop6 - br 3 # 3: down to label0 + return .LBB0_3: # %sw.bb1 end_block # label3: i32.const $push5=, 0 i32.store $discard=, 0($1):p2align=0, $pop5 - br 2 # 2: down to label0 + return .LBB0_4: # %sw.bb2 end_block # label2: i32.const $push4=, 0 i32.store $discard=, 0($1):p2align=0, $pop4 - br 1 # 1: down to label0 + return .LBB0_5: # %sw.bb3 end_block # label1: i32.const $push3=, 0 diff --git a/test/torture-s/pr41239.c.s b/test/torture-s/pr41239.c.s index fc8864f39..441eb2dd6 100644 --- a/test/torture-s/pr41239.c.s +++ b/test/torture-s/pr41239.c.s @@ -7,14 +7,14 @@ test: # @test .param i32 .result i32 - .local i32, i32, i32, i32, i32, i32 + .local 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 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.const $push17=, __stack_pointer + i32.load $push18=, 0($pop17) + i32.const $push19=, 16 + i32.sub $3=, $pop18, $pop19 + i32.const $push20=, __stack_pointer + i32.store $discard=, 0($pop20), $3 i32.load $1=, 4($0) block i32.const $push0=, 8 @@ -31,24 +31,24 @@ test: # @test i32.call $push6=, fn1@FUNCTION, $pop5, $pop3, $pop4, $pop2, $pop15 i32.const $push7=, 255 i32.and $push8=, $pop6, $pop7 - i32.const $push17=, 0 - i32.eq $push18=, $pop8, $pop17 - br_if 0, $pop18 # 0: down to label0 + i32.const $push23=, 0 + i32.eq $push24=, $pop8, $pop23 + br_if 0, $pop24 # 0: down to label0 # BB#2: # %cond.true i32.const $push9=, 33816706 i32.call $2=, fn3@FUNCTION, $pop9 i32.const $push10=, .L.str.1 i32.const $push16=, 0 i32.call $push11=, fn4@FUNCTION, $pop10, $pop16 - i32.store $discard=, 0($6):p2align=4, $pop11 - call fn2@FUNCTION, $2, $6 + i32.store $discard=, 0($3):p2align=4, $pop11 + call fn2@FUNCTION, $2, $3 .LBB0_3: # %if.end end_block # label0: i32.div_s $push12=, $1, $0 - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push21=, 16 + i32.add $3=, $3, $pop21 + i32.const $push22=, __stack_pointer + i32.store $discard=, 0($pop22), $3 return $pop12 .endfunc .Lfunc_end0: @@ -134,23 +134,23 @@ fn4: # @fn4 .type main,@function main: # @main .result i32 - .local i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $2=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $2=, 0($1), $2 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $0=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $0 i32.const $push2=, 8 - i32.add $push3=, $2, $pop2 + i32.add $push3=, $0, $pop2 i32.const $push0=, 0 i32.load $push1=, .Lmain.s+8($pop0) i32.store $discard=, 0($pop3):p2align=3, $pop1 i32.const $push5=, 0 i64.load $push4=, .Lmain.s($pop5):p2align=2 - i64.store $discard=, 0($2), $pop4 - i32.call $discard=, test@FUNCTION, $2 + i64.store $discard=, 0($0), $pop4 + i32.call $discard=, test@FUNCTION, $0 call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/pr42614.c.s b/test/torture-s/pr42614.c.s index cd33427fc..eb1fd3f7d 100644 --- a/test/torture-s/pr42614.c.s +++ b/test/torture-s/pr42614.c.s @@ -45,24 +45,24 @@ expect_func: # @expect_func .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $5=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $2=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $2 i32.const $push0=, 0 - i32.store8 $0=, 15($5), $pop0 + i32.store8 $0=, 15($2), $pop0 i32.const $push1=, 1 - i32.const $4=, 15 - i32.add $4=, $5, $4 - call expect_func@FUNCTION, $pop1, $4 - i32.const $3=, 16 - i32.add $5=, $5, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $1=, 15 + i32.add $1=, $2, $1 + call expect_func@FUNCTION, $pop1, $1 + i32.const $push6=, 16 + i32.add $2=, $2, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $2 return $0 .endfunc .Lfunc_end2: diff --git a/test/torture-s/pr42691.c.s b/test/torture-s/pr42691.c.s index bd1b95eaf..5f520acc8 100644 --- a/test/torture-s/pr42691.c.s +++ b/test/torture-s/pr42691.c.s @@ -52,44 +52,43 @@ add: # @add .type main,@function main: # @main .result i32 - .local f64, i32, i32, i32, i32, i32 + .local i32, f64, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $push9=, __stack_pointer + i32.load $push10=, 0($pop9) + i32.const $push11=, 16 + i32.sub $2=, $pop10, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $2 i64.const $push0=, 9218868437227405312 - i64.store $discard=, 0($5):p2align=4, $pop0 - i32.const $push7=, 8 - i32.or $push6=, $5, $pop7 - tee_local $push5=, $1=, $pop6 + i64.store $discard=, 0($2):p2align=4, $pop0 i64.const $push1=, 4627167142146473984 - i64.store $discard=, 0($pop5), $pop1 - f64.const $0=, infinity + i64.store $discard=, 8($2), $pop1 + i32.const $push5=, 8 + i32.or $0=, $2, $pop5 + f64.const $1=, infinity .LBB1_1: # %if.end.i # =>This Inner Loop Header: Depth=1 block loop # label5: - f64.const $push10=, infinity - f64.ne $push2=, $0, $pop10 + f64.const $push8=, infinity + f64.ne $push2=, $1, $pop8 br_if 2, $pop2 # 2: down to label4 # BB#2: # %while.body.i # in Loop: Header=BB1_1 Depth=1 - f64.load $0=, 0($1) - i32.const $push9=, 8 - i32.add $1=, $1, $pop9 - f64.const $push8=, 0x1.7p4 - f64.ne $push3=, $0, $pop8 + f64.load $1=, 0($0) + i32.const $push7=, 8 + i32.add $0=, $0, $pop7 + f64.const $push6=, 0x1.7p4 + f64.ne $push3=, $1, $pop6 br_if 0, $pop3 # 0: up to label5 # BB#3: # %add.exit end_loop # label6: i32.const $push4=, 0 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push13=, 16 + i32.add $2=, $2, $pop13 + i32.const $push14=, __stack_pointer + i32.store $discard=, 0($pop14), $2 return $pop4 .LBB1_4: # %if.then3.i end_block # label4: diff --git a/test/torture-s/pr43220.c.s b/test/torture-s/pr43220.c.s index 67960c8e3..fb6764538 100644 --- a/test/torture-s/pr43220.c.s +++ b/test/torture-s/pr43220.c.s @@ -6,16 +6,16 @@ .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, i32, i32 # BB#0: # %entry - i32.const $6=, __stack_pointer - i32.load $8=, 0($6) - copy_local $9=, $8 + i32.const $push27=, __stack_pointer + i32.load $6=, 0($pop27) + copy_local $7=, $6 i32.const $4=, 0 .LBB0_1: # %lab # =>This Inner Loop Header: Depth=1 loop # label0: - copy_local $0=, $8 + copy_local $0=, $6 i32.const $push26=, 1000 i32.rem_s $push0=, $4, $pop26 i32.const $push25=, 2 @@ -25,8 +25,8 @@ main: # @main i32.add $push1=, $pop23, $pop22 i32.const $push21=, -16 i32.and $push2=, $pop1, $pop21 - i32.sub $1=, $8, $pop2 - copy_local $8=, $1 + i32.sub $1=, $6, $pop2 + copy_local $6=, $1 i32.const $push20=, 1 i32.store $2=, 0($1):p2align=4, $pop20 i32.add $push3=, $1, $3 @@ -34,8 +34,8 @@ main: # @main i32.store $3=, 0($pop3), $pop19 i32.const $push18=, 0 i32.store $discard=, p($pop18), $1 - copy_local $8=, $0 - copy_local $0=, $8 + copy_local $6=, $0 + copy_local $0=, $6 i32.add $push4=, $4, $2 i32.const $push17=, 1000 i32.rem_s $push5=, $pop4, $pop17 @@ -45,14 +45,14 @@ main: # @main i32.add $push6=, $pop15, $pop14 i32.const $push13=, -16 i32.and $push7=, $pop6, $pop13 - i32.sub $1=, $8, $pop7 - copy_local $8=, $1 + i32.sub $1=, $6, $pop7 + copy_local $6=, $1 i32.store $discard=, 0($1):p2align=4, $2 i32.add $push8=, $1, $5 i32.store $2=, 0($pop8), $3 i32.const $push12=, 0 i32.store $discard=, p($pop12), $1 - copy_local $8=, $0 + copy_local $6=, $0 i32.add $4=, $4, $2 i32.const $push11=, 1000000 i32.lt_s $push9=, $4, $pop11 @@ -60,8 +60,6 @@ main: # @main # BB#2: # %if.end end_loop # label1: i32.const $push10=, 0 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $9 return $pop10 .endfunc .Lfunc_end0: diff --git a/test/torture-s/pr43236.c.s b/test/torture-s/pr43236.c.s index db96ab9c5..4ba0a20da 100644 --- a/test/torture-s/pr43236.c.s +++ b/test/torture-s/pr43236.c.s @@ -6,119 +6,99 @@ .type main,@function main: # @main .result i32 - .local i64, i32, i32, i64, i32, i32, 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, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 96 - i32.sub $21=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $21=, 0($5), $21 + i32.const $push44=, __stack_pointer + i32.load $push45=, 0($pop44) + i32.const $push46=, 96 + i32.sub $13=, $pop45, $pop46 + i32.const $push47=, __stack_pointer + i32.store $discard=, 0($pop47), $13 i32.const $push0=, 16 - i32.const $7=, 64 - i32.add $7=, $21, $7 - i32.add $push1=, $7, $pop0 + i32.const $3=, 64 + i32.add $3=, $13, $3 + i32.add $push1=, $3, $pop0 i64.const $push2=, 72340172838076673 i64.store $0=, 0($pop1):p2align=4, $pop2 i32.const $push3=, 28 - i32.const $8=, 64 - i32.add $8=, $21, $8 - i32.add $push4=, $8, $pop3 + i32.const $4=, 64 + i32.add $4=, $13, $4 + i32.add $push4=, $4, $pop3 i32.const $push5=, 257 i32.store16 $1=, 0($pop4):p2align=2, $pop5 i32.const $push6=, 24 - i32.const $9=, 64 - i32.add $9=, $21, $9 - i32.add $push7=, $9, $pop6 + i32.const $5=, 64 + i32.add $5=, $13, $5 + i32.add $push7=, $5, $pop6 i32.const $push8=, 16843009 i32.store $2=, 0($pop7):p2align=3, $pop8 - i32.const $push51=, 16 - i32.const $10=, 32 - i32.add $10=, $21, $10 - i32.add $push13=, $10, $pop51 - i32.const $push9=, 8 + i32.const $push42=, 16 + i32.const $6=, 32 + i32.add $6=, $13, $6 + i32.add $push11=, $6, $pop42 + i64.store $push9=, 72($13), $0 + i64.store $push10=, 64($13):p2align=4, $pop9 + i64.store $0=, 0($pop11):p2align=4, $pop10 + i32.const $push41=, 28 + i32.add $push26=, $13, $pop41 + i32.const $push40=, 28 + i32.const $7=, 32 + i32.add $7=, $13, $7 + i32.add $push12=, $7, $pop40 + i32.store16 $push13=, 0($pop12):p2align=2, $1 + i32.store16 $discard=, 0($pop26):p2align=2, $pop13 + i32.const $push39=, 24 + i32.add $push27=, $13, $pop39 + i32.const $push38=, 24 + i32.const $8=, 32 + i32.add $8=, $13, $8 + i32.add $push14=, $8, $pop38 + i32.store $push15=, 0($pop14):p2align=3, $2 + i32.store $discard=, 0($pop27):p2align=3, $pop15 + i32.const $push18=, 18 + i32.const $9=, 32 + i32.add $9=, $13, $9 + i32.add $push24=, $9, $pop18 + i32.const $push37=, 18 + i32.const $10=, 64 + i32.add $10=, $13, $10 + i32.add $push19=, $10, $pop37 + i32.const $push20=, 0 + i32.store16 $push21=, 0($pop19), $pop20 + i32.store16 $1=, 0($pop24), $pop21 + i32.const $push36=, 16 + i32.add $push28=, $13, $pop36 + i64.store $push16=, 40($13), $0 + i64.store $push17=, 32($13):p2align=4, $pop16 + i64.store $0=, 0($pop28):p2align=4, $pop17 + i32.const $push35=, 18 + i32.add $push30=, $13, $pop35 + i32.store16 $discard=, 0($pop30), $1 + i64.store $push29=, 8($13), $0 + i64.store $discard=, 0($13):p2align=4, $pop29 + i64.const $push22=, 0 + i64.store $push23=, 74($13):p2align=1, $pop22 + i64.store $push25=, 42($13):p2align=1, $pop23 + i64.store $discard=, 10($13):p2align=1, $pop25 + i32.const $push34=, 30 i32.const $11=, 64 - i32.add $11=, $21, $11 - i32.or $push10=, $11, $pop9 - i64.store $push11=, 0($pop10), $0 - i64.store $push12=, 64($21):p2align=4, $pop11 - i64.store $0=, 0($pop13):p2align=4, $pop12 - i32.const $push50=, 28 - i32.add $push30=, $21, $pop50 - i32.const $push49=, 28 - i32.const $12=, 32 - i32.add $12=, $21, $12 - i32.add $push14=, $12, $pop49 - i32.store16 $push15=, 0($pop14):p2align=2, $1 - i32.store16 $discard=, 0($pop30):p2align=2, $pop15 - i32.const $push48=, 24 - i32.add $push31=, $21, $pop48 - i32.const $push47=, 24 - i32.const $13=, 32 - i32.add $13=, $21, $13 - i32.add $push16=, $13, $pop47 - i32.store $push17=, 0($pop16):p2align=3, $2 - i32.store $discard=, 0($pop31):p2align=3, $pop17 - i32.const $push46=, 8 - i32.const $14=, 32 - i32.add $14=, $21, $14 - i32.or $push18=, $14, $pop46 - i64.store $discard=, 0($pop18), $0 - i32.const $push22=, 18 - i32.const $15=, 32 - i32.add $15=, $21, $15 - i32.add $push29=, $15, $pop22 - i32.const $push45=, 18 - i32.const $16=, 64 - i32.add $16=, $21, $16 - i32.add $push23=, $16, $pop45 - i32.const $push24=, 0 - i32.store16 $push25=, 0($pop23), $pop24 - i32.store16 $1=, 0($pop29), $pop25 - i32.const $push44=, 16 - i32.add $push32=, $21, $pop44 - i64.store $push19=, 32($21):p2align=4, $0 - i64.store $0=, 0($pop32):p2align=4, $pop19 - i32.const $push43=, 18 - i32.add $push35=, $21, $pop43 - i32.store16 $discard=, 0($pop35), $1 - i32.const $push20=, 10 - i32.const $17=, 32 - i32.add $17=, $21, $17 - i32.or $push28=, $17, $pop20 - i32.const $push42=, 10 - i32.const $18=, 64 - i32.add $18=, $21, $18 - i32.or $push21=, $18, $pop42 - i64.const $push26=, 0 - i64.store $push27=, 0($pop21):p2align=1, $pop26 - i64.store $3=, 0($pop28):p2align=1, $pop27 - i32.const $push41=, 8 - i32.or $push33=, $21, $pop41 - i64.store $discard=, 0($pop33), $0 - i32.const $push40=, 10 - i32.or $push34=, $21, $pop40 - i64.store $discard=, 0($pop34):p2align=1, $3 - i64.store $discard=, 0($21):p2align=4, $0 - i32.const $push39=, 30 - i32.const $19=, 64 - i32.add $19=, $21, $19 + i32.add $11=, $13, $11 block - i32.call $push36=, memcmp@FUNCTION, $19, $21, $pop39 - br_if 0, $pop36 # 0: down to label0 + i32.call $push31=, memcmp@FUNCTION, $11, $13, $pop34 + br_if 0, $pop31 # 0: down to label0 # BB#1: # %lor.lhs.false - i32.const $push52=, 30 - i32.const $20=, 32 - i32.add $20=, $21, $20 - i32.call $push37=, memcmp@FUNCTION, $20, $21, $pop52 - br_if 0, $pop37 # 0: down to label0 + i32.const $push43=, 30 + i32.const $12=, 32 + i32.add $12=, $13, $12 + i32.call $push32=, memcmp@FUNCTION, $12, $13, $pop43 + br_if 0, $pop32 # 0: down to label0 # BB#2: # %if.end - i32.const $push38=, 0 - i32.const $6=, 96 - i32.add $21=, $21, $6 - i32.const $6=, __stack_pointer - i32.store $21=, 0($6), $21 - return $pop38 + i32.const $push33=, 0 + i32.const $push48=, 96 + i32.add $13=, $13, $pop48 + i32.const $push49=, __stack_pointer + i32.store $discard=, 0($pop49), $13 + return $pop33 .LBB0_3: # %if.then end_block # label0: call abort@FUNCTION diff --git a/test/torture-s/pr43784.c.s b/test/torture-s/pr43784.c.s index aeda8e8c8..c02e77b59 100644 --- a/test/torture-s/pr43784.c.s +++ b/test/torture-s/pr43784.c.s @@ -6,14 +6,14 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 256 - i32.sub $4=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 + i32.const $push12=, __stack_pointer + i32.load $push13=, 0($pop12) + i32.const $push14=, 256 + i32.sub $1=, $pop13, $pop14 + i32.const $push15=, __stack_pointer + i32.store $discard=, 0($pop15), $1 i32.const $0=, 0 .LBB0_1: # %for.body # =>This Inner Loop Header: Depth=1 @@ -26,10 +26,10 @@ main: # @main br_if 0, $pop1 # 0: up to label0 # BB#2: # %for.end end_loop # label1: - call rp@FUNCTION, $4 + call rp@FUNCTION, $1 i32.const $push3=, v+4 i32.const $push2=, 256 - i32.call $discard=, memcpy@FUNCTION, $pop3, $4, $pop2 + i32.call $discard=, memcpy@FUNCTION, $pop3, $1, $pop2 i32.const $0=, 0 .LBB0_3: # %for.body4 # =>This Inner Loop Header: Depth=1 @@ -48,10 +48,10 @@ main: # @main # BB#5: # %for.end12 end_loop # label4: i32.const $push7=, 0 - i32.const $3=, 256 - i32.add $4=, $4, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 + i32.const $push16=, 256 + i32.add $1=, $1, $pop16 + i32.const $push17=, __stack_pointer + i32.store $discard=, 0($pop17), $1 return $pop7 .LBB0_6: # %if.then end_block # label2: diff --git a/test/torture-s/pr43835.c.s b/test/torture-s/pr43835.c.s index 1273521b9..3d0ae30a7 100644 --- a/test/torture-s/pr43835.c.s +++ b/test/torture-s/pr43835.c.s @@ -69,26 +69,26 @@ mark_cell: # @mark_cell .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $1=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $1 i32.const $push1=, 4 - i32.store $discard=, 8($4):p2align=3, $pop1 + i32.store $discard=, 8($1):p2align=3, $pop1 i64.const $push0=, 180388626432 - i64.store $discard=, 0($4), $pop0 - i32.const $3=, 12 - i32.add $3=, $4, $3 - call mark_cell@FUNCTION, $3, $4 + i64.store $discard=, 0($1), $pop0 + i32.const $0=, 12 + i32.add $0=, $1, $0 + call mark_cell@FUNCTION, $0, $1 i32.const $push2=, 0 - i32.const $2=, 16 - i32.add $4=, $4, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 + i32.const $push7=, 16 + i32.add $1=, $1, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $1 return $pop2 .endfunc .Lfunc_end3: diff --git a/test/torture-s/pr43987.c.s b/test/torture-s/pr43987.c.s index 8e07c9337..e344b9bdb 100644 --- a/test/torture-s/pr43987.c.s +++ b/test/torture-s/pr43987.c.s @@ -21,23 +21,17 @@ add_input_file: # @add_input_file .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $1=, $pop3, $pop4 i32.const $push0=, 0 - i32.const $3=, 12 - i32.add $3=, $4, $3 - i32.store $discard=, B+4($pop0), $3 + i32.const $0=, 12 + i32.add $0=, $1, $0 + i32.store $discard=, B+4($pop0), $0 i32.const $push1=, 0 - i32.const $2=, 16 - i32.add $4=, $4, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 return $pop1 .endfunc .Lfunc_end1: diff --git a/test/torture-s/pr44202-1.c.s b/test/torture-s/pr44202-1.c.s index fb2b66b41..5535067b9 100644 --- a/test/torture-s/pr44202-1.c.s +++ b/test/torture-s/pr44202-1.c.s @@ -54,35 +54,35 @@ add513: # @add513 .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, 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 $5=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 + i32.const $push12=, __stack_pointer + i32.load $push13=, 0($pop12) + i32.const $push14=, 16 + i32.sub $3=, $pop13, $pop14 + i32.const $push15=, __stack_pointer + i32.store $discard=, 0($pop15), $3 i32.const $push1=, -1 - i32.store $push2=, 12($5), $pop1 - i32.store $0=, 8($5), $pop2 + i32.store $push2=, 12($3), $pop1 + i32.store $0=, 8($3), $pop2 i32.const $push3=, -512 - i32.const $3=, 12 - i32.add $3=, $5, $3 + i32.const $1=, 12 + i32.add $1=, $3, $1 block - i32.call $push4=, add512@FUNCTION, $pop3, $3 + i32.call $push4=, add512@FUNCTION, $pop3, $1 br_if 0, $pop4 # 0: down to label2 # BB#1: # %entry - i32.load $push0=, 12($5) + i32.load $push0=, 12($3) i32.ne $push5=, $pop0, $0 br_if 0, $pop5 # 0: down to label2 # BB#2: # %lor.lhs.false2 i32.const $push10=, -513 - i32.const $4=, 8 - i32.add $4=, $5, $4 - i32.call $push7=, add513@FUNCTION, $pop10, $4 + i32.const $2=, 8 + i32.add $2=, $3, $2 + i32.call $push7=, add513@FUNCTION, $pop10, $2 br_if 0, $pop7 # 0: down to label2 # BB#3: # %lor.lhs.false2 - i32.load $push6=, 8($5) + i32.load $push6=, 8($3) i32.const $push11=, -513 i32.ne $push8=, $pop6, $pop11 br_if 0, $pop8 # 0: down to label2 diff --git a/test/torture-s/pr44575.c.s b/test/torture-s/pr44575.c.s new file mode 100644 index 000000000..984f0e151 --- /dev/null +++ b/test/torture-s/pr44575.c.s @@ -0,0 +1,162 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr44575.c" + .section .text.check,"ax",@progbits + .hidden check + .globl check + .type check,@function +check: # @check + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push27=, __stack_pointer + i32.load $push28=, 0($pop27) + i32.const $push29=, 16 + i32.sub $4=, $pop28, $pop29 + i32.store $discard=, 12($4), $1 + i32.const $push11=, 4 + i32.shl $2=, $0, $pop11 + i32.const $1=, 3 +.LBB0_1: # %for.body + # =>This Inner Loop Header: Depth=1 + loop # label0: + block + block + i32.const $push14=, -1 + i32.add $push2=, $1, $pop14 + i32.const $push13=, -2 + i32.and $push3=, $pop2, $pop13 + i32.or $push4=, $pop3, $2 + i32.const $push12=, 18 + i32.ne $push5=, $pop4, $pop12 + br_if 0, $pop5 # 0: down to label3 +# BB#2: # %land.lhs.true + # in Loop: Header=BB0_1 Depth=1 + i32.load $push22=, 12($4) + tee_local $push21=, $3=, $pop22 + i32.const $push20=, 12 + i32.add $push7=, $pop21, $pop20 + i32.store $discard=, 12($4), $pop7 + i32.const $push19=, 0 + i32.load $0=, fails($pop19) + i32.const $push18=, 0 + f32.load $push9=, a+32($pop18):p2align=4 + f32.load $push8=, 8($3) + f32.eq $push10=, $pop9, $pop8 + br_if 1, $pop10 # 1: down to label2 +# BB#3: # %if.then + # in Loop: Header=BB0_1 Depth=1 + i32.const $push24=, 0 + i32.const $push23=, 1 + i32.add $push1=, $0, $pop23 + i32.store $0=, fails($pop24), $pop1 + br 1 # 1: down to label2 +.LBB0_4: # %sw.epilog.thread + # in Loop: Header=BB0_1 Depth=1 + end_block # label3: + i32.const $push17=, 0 + i32.const $push16=, 0 + i32.load $push6=, fails($pop16) + i32.const $push15=, 1 + i32.add $push0=, $pop6, $pop15 + i32.store $0=, fails($pop17), $pop0 +.LBB0_5: # %if.end + # in Loop: Header=BB0_1 Depth=1 + end_block # label2: + br_if 1, $0 # 1: down to label1 +# BB#6: # %if.end + # in Loop: Header=BB0_1 Depth=1 + i32.const $push26=, 1 + i32.add $0=, $1, $pop26 + i32.const $push25=, 4 + i32.lt_s $3=, $1, $pop25 + copy_local $1=, $0 + br_if 0, $3 # 0: up to label0 +.LBB0_7: # %for.end + end_loop # label1: + return + .endfunc +.Lfunc_end0: + .size check, .Lfunc_end0-check + + .section .text.main,"ax",@progbits + .hidden main + .globl main + .type main,@function +main: # @main + .result i32 + .local i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push17=, __stack_pointer + i32.load $push18=, 0($pop17) + i32.const $push19=, 32 + i32.sub $4=, $pop18, $pop19 + i32.const $push20=, __stack_pointer + i32.store $discard=, 0($pop20), $4 + i32.const $push2=, 8 + i32.const $0=, 20 + i32.add $0=, $4, $0 + i32.add $push3=, $0, $pop2 + i32.const $push15=, 0 + i32.const $push0=, -952139264 + i32.store $push1=, a+32($pop15):p2align=4, $pop0 + i32.store $discard=, 0($pop3), $pop1 + i32.const $push14=, 0 + i64.load $push4=, a+24($pop14) + i64.store $discard=, 20($4):p2align=2, $pop4 + i32.const $push13=, 8 + i32.const $1=, 8 + i32.add $1=, $4, $1 + i32.add $push5=, $1, $pop13 + i32.const $push12=, 0 + i32.load $push6=, a+32($pop12):p2align=4 + i32.store $discard=, 0($pop5), $pop6 + i32.const $push11=, 0 + i64.load $push7=, a+24($pop11) + i64.store $discard=, 8($4):p2align=2, $pop7 + i32.const $2=, 8 + i32.add $2=, $4, $2 + i32.store $discard=, 4($4), $2 + i32.const $3=, 20 + i32.add $3=, $4, $3 + i32.store $discard=, 0($4):p2align=4, $3 + i32.const $push8=, 1 + call check@FUNCTION, $pop8, $4 + block + i32.const $push10=, 0 + i32.load $push9=, fails($pop10) + br_if 0, $pop9 # 0: down to label4 +# BB#1: # %if.end + i32.const $push16=, 0 + i32.const $push21=, 32 + i32.add $4=, $4, $pop21 + i32.const $push22=, __stack_pointer + i32.store $discard=, 0($pop22), $4 + return $pop16 +.LBB1_2: # %if.then + end_block # label4: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end1: + .size main, .Lfunc_end1-main + + .hidden fails # @fails + .type fails,@object + .section .bss.fails,"aw",@nobits + .globl fails + .p2align 2 +fails: + .int32 0 # 0x0 + .size fails, 4 + + .hidden a # @a + .type a,@object + .section .bss.a,"aw",@nobits + .globl a + .p2align 4 +a: + .skip 60 + .size a, 60 + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/pr44852.c.s b/test/torture-s/pr44852.c.s index a3781a499..fd87b9ba7 100644 --- a/test/torture-s/pr44852.c.s +++ b/test/torture-s/pr44852.c.s @@ -14,8 +14,7 @@ sf: # @sf .LBB0_1: # %while.cond # =>This Inner Loop Header: Depth=1 block - block - loop # label2: + loop # label1: i32.const $push9=, -1 i32.add $push8=, $0, $pop9 tee_local $push7=, $3=, $pop8 @@ -23,27 +22,26 @@ sf: # @sf tee_local $push5=, $2=, $pop6 i32.const $push4=, 57 i32.ne $push0=, $pop5, $pop4 - br_if 2, $pop0 # 2: down to label1 + br_if 2, $pop0 # 2: down to label0 # BB#2: # %while.body # in Loop: Header=BB0_1 Depth=1 copy_local $0=, $3 i32.ne $push2=, $1, $3 - br_if 0, $pop2 # 0: up to label2 + br_if 0, $pop2 # 0: up to label1 # BB#3: # %if.then - end_loop # label3: + end_loop # label2: i32.const $push10=, 1 i32.add $0=, $3, $pop10 i32.const $push3=, 48 i32.store8 $discard=, 0($1), $pop3 i32.const $2=, 49 - br 1 # 1: down to label0 + i32.store8 $discard=, 0($1), $2 + return $0 .LBB0_4: # %while.end.loopexit - end_block # label1: + end_block # label0: i32.const $push1=, 1 i32.add $2=, $2, $pop1 copy_local $1=, $3 -.LBB0_5: # %while.end - end_block # label0: i32.store8 $discard=, 0($1), $2 return $0 .endfunc @@ -56,60 +54,60 @@ sf: # @sf .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, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $9=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $9=, 0($1), $9 + i32.const $push19=, __stack_pointer + i32.load $push20=, 0($pop19) + i32.const $push21=, 16 + i32.sub $6=, $pop20, $pop21 + i32.const $push22=, __stack_pointer + i32.store $discard=, 0($pop22), $6 i32.const $push2=, 6 - i32.const $3=, 8 - i32.add $3=, $9, $3 - i32.add $push3=, $3, $pop2 + i32.const $0=, 8 + i32.add $0=, $6, $0 + i32.add $push3=, $0, $pop2 i32.const $push0=, 0 i32.load8_u $push1=, .Lmain.s+6($pop0) i32.store8 $discard=, 0($pop3):p2align=1, $pop1 i32.const $push5=, 4 - i32.const $4=, 8 - i32.add $4=, $9, $4 - i32.add $push6=, $4, $pop5 + i32.const $1=, 8 + i32.add $1=, $6, $1 + i32.add $push6=, $1, $pop5 i32.const $push18=, 0 i32.load16_u $push4=, .Lmain.s+4($pop18):p2align=0 i32.store16 $discard=, 0($pop6):p2align=2, $pop4 i32.const $push17=, 0 i32.load $push7=, .Lmain.s($pop17):p2align=0 - i32.store $discard=, 8($9), $pop7 + i32.store $discard=, 8($6), $pop7 i32.const $push8=, 2 - i32.const $5=, 8 - i32.add $5=, $9, $5 - i32.or $push9=, $5, $pop8 - i32.const $6=, 8 - i32.add $6=, $9, $6 - i32.call $push10=, sf@FUNCTION, $pop9, $6 + i32.const $2=, 8 + i32.add $2=, $6, $2 + i32.or $push9=, $2, $pop8 + i32.const $3=, 8 + i32.add $3=, $6, $3 + i32.call $push10=, sf@FUNCTION, $pop9, $3 i32.const $push11=, 1 - i32.const $7=, 8 - i32.add $7=, $9, $7 + i32.const $4=, 8 + i32.add $4=, $6, $4 block - i32.or $push12=, $7, $pop11 + i32.or $push12=, $4, $pop11 i32.ne $push13=, $pop10, $pop12 - br_if 0, $pop13 # 0: down to label4 + br_if 0, $pop13 # 0: down to label3 # BB#1: # %lor.lhs.false i32.const $push14=, .L.str - i32.const $8=, 8 - i32.add $8=, $9, $8 - i32.call $push15=, strcmp@FUNCTION, $8, $pop14 - br_if 0, $pop15 # 0: down to label4 + i32.const $5=, 8 + i32.add $5=, $6, $5 + i32.call $push15=, strcmp@FUNCTION, $5, $pop14 + br_if 0, $pop15 # 0: down to label3 # BB#2: # %if.end i32.const $push16=, 0 - i32.const $2=, 16 - i32.add $9=, $9, $2 - i32.const $2=, __stack_pointer - i32.store $9=, 0($2), $9 + i32.const $push23=, 16 + i32.add $6=, $6, $pop23 + i32.const $push24=, __stack_pointer + i32.store $discard=, 0($pop24), $6 return $pop16 .LBB1_3: # %if.then - end_block # label4: + end_block # label3: call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/pr44942.c.s b/test/torture-s/pr44942.c.s index 69048219c..46016b449 100644 --- a/test/torture-s/pr44942.c.s +++ b/test/torture-s/pr44942.c.s @@ -6,33 +6,29 @@ .type test1,@function test1: # @test1 .param i32, i32, i32, i32, i32, i32, i32, i64, i64, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 16 - i32.sub $13=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $13=, 0($11), $13 - i32.store $push0=, 12($13), $9 - i32.const $push1=, 3 - i32.add $push2=, $pop0, $pop1 - i32.const $push3=, -4 - i32.and $push10=, $pop2, $pop3 - tee_local $push9=, $9=, $pop10 - i32.const $push4=, 4 - i32.add $push5=, $pop9, $pop4 - i32.store $discard=, 12($13), $pop5 + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 16 + i32.sub $10=, $pop8, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $10 + i32.store $push6=, 12($10), $9 + tee_local $push5=, $9=, $pop6 + i32.const $push0=, 4 + i32.add $push1=, $pop5, $pop0 + i32.store $discard=, 12($10), $pop1 block - i32.load $push6=, 0($9) - i32.const $push7=, 1234 - i32.ne $push8=, $pop6, $pop7 - br_if 0, $pop8 # 0: down to label0 + i32.load $push2=, 0($9) + i32.const $push3=, 1234 + i32.ne $push4=, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label0 # BB#1: # %if.end - i32.const $12=, 16 - i32.add $13=, $13, $12 - i32.const $12=, __stack_pointer - i32.store $13=, 0($12), $13 + i32.const $push11=, 16 + i32.add $10=, $10, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $10 return .LBB0_2: # %if.then end_block # label0: @@ -48,33 +44,29 @@ test1: # @test1 .type test2,@function test2: # @test2 .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 + .local i32 # BB#0: # %entry - i32.const $19=, __stack_pointer - i32.load $19=, 0($19) - i32.const $20=, 16 - i32.sub $22=, $19, $20 - i32.const $20=, __stack_pointer - i32.store $22=, 0($20), $22 - i32.store $push0=, 12($22), $18 - i32.const $push1=, 3 - i32.add $push2=, $pop0, $pop1 - i32.const $push3=, -4 - i32.and $push10=, $pop2, $pop3 - tee_local $push9=, $18=, $pop10 - i32.const $push4=, 4 - i32.add $push5=, $pop9, $pop4 - i32.store $discard=, 12($22), $pop5 + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 16 + i32.sub $19=, $pop8, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $19 + i32.store $push6=, 12($19), $18 + tee_local $push5=, $18=, $pop6 + i32.const $push0=, 4 + i32.add $push1=, $pop5, $pop0 + i32.store $discard=, 12($19), $pop1 block - i32.load $push6=, 0($18) - i32.const $push7=, 1234 - i32.ne $push8=, $pop6, $pop7 - br_if 0, $pop8 # 0: down to label1 + i32.load $push2=, 0($18) + i32.const $push3=, 1234 + i32.ne $push4=, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label1 # BB#1: # %if.end - i32.const $21=, 16 - i32.add $22=, $22, $21 - i32.const $21=, __stack_pointer - i32.store $22=, 0($21), $22 + i32.const $push11=, 16 + i32.add $19=, $19, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $19 return .LBB1_2: # %if.then end_block # label1: @@ -90,33 +82,33 @@ test2: # @test2 .type test3,@function test3: # @test3 .param f64, f64, f64, f64, f64, f64, f64, i64, i64, i32 - .local i32, i32, i32, i32 + .local f64, i32 # BB#0: # %entry - i32.const $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 16 - i32.sub $13=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $13=, 0($11), $13 - i32.store $push0=, 12($13), $9 + i32.const $push10=, __stack_pointer + i32.load $push11=, 0($pop10) + i32.const $push12=, 16 + i32.sub $11=, $pop11, $pop12 + i32.const $push13=, __stack_pointer + i32.store $discard=, 0($pop13), $11 + i32.store $push0=, 12($11), $9 i32.const $push1=, 7 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -8 - i32.and $push10=, $pop2, $pop3 - tee_local $push9=, $9=, $pop10 + i32.and $push9=, $pop2, $pop3 + tee_local $push8=, $9=, $pop9 + f64.load $10=, 0($pop8) i32.const $push4=, 8 - i32.add $push5=, $pop9, $pop4 - i32.store $discard=, 12($13), $pop5 + i32.add $push5=, $9, $pop4 + i32.store $discard=, 12($11), $pop5 block - f64.load $push6=, 0($9) - f64.const $push7=, 0x1.348p10 - f64.ne $push8=, $pop6, $pop7 - br_if 0, $pop8 # 0: down to label2 + f64.const $push6=, 0x1.348p10 + f64.ne $push7=, $10, $pop6 + br_if 0, $pop7 # 0: down to label2 # BB#1: # %if.end - i32.const $12=, 16 - i32.add $13=, $13, $12 - i32.const $12=, __stack_pointer - i32.store $13=, 0($12), $13 + i32.const $push14=, 16 + i32.add $11=, $11, $pop14 + i32.const $push15=, __stack_pointer + i32.store $discard=, 0($pop15), $11 return .LBB2_2: # %if.then end_block # label2: @@ -132,33 +124,33 @@ test3: # @test3 .type test4,@function test4: # @test4 .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 + .local f64, i32 # BB#0: # %entry - i32.const $19=, __stack_pointer - i32.load $19=, 0($19) - i32.const $20=, 16 - i32.sub $22=, $19, $20 - i32.const $20=, __stack_pointer - i32.store $22=, 0($20), $22 - i32.store $push0=, 12($22), $18 + i32.const $push10=, __stack_pointer + i32.load $push11=, 0($pop10) + i32.const $push12=, 16 + i32.sub $20=, $pop11, $pop12 + i32.const $push13=, __stack_pointer + i32.store $discard=, 0($pop13), $20 + i32.store $push0=, 12($20), $18 i32.const $push1=, 7 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -8 - i32.and $push10=, $pop2, $pop3 - tee_local $push9=, $18=, $pop10 + i32.and $push9=, $pop2, $pop3 + tee_local $push8=, $18=, $pop9 + f64.load $19=, 0($pop8) i32.const $push4=, 8 - i32.add $push5=, $pop9, $pop4 - i32.store $discard=, 12($22), $pop5 + i32.add $push5=, $18, $pop4 + i32.store $discard=, 12($20), $pop5 block - f64.load $push6=, 0($18) - f64.const $push7=, 0x1.348p10 - f64.ne $push8=, $pop6, $pop7 - br_if 0, $pop8 # 0: down to label3 + f64.const $push6=, 0x1.348p10 + f64.ne $push7=, $19, $pop6 + br_if 0, $pop7 # 0: down to label3 # BB#1: # %if.end - i32.const $21=, 16 - i32.add $22=, $22, $21 - i32.const $21=, __stack_pointer - i32.store $22=, 0($21), $22 + i32.const $push14=, 16 + i32.add $20=, $20, $pop14 + i32.const $push15=, __stack_pointer + i32.store $discard=, 0($pop15), $20 return .LBB3_2: # %if.then end_block # label3: @@ -174,50 +166,42 @@ test4: # @test4 .type main,@function main: # @main .result i32 - .local i32, i64, f64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i64, f64, i32, i32, i32, i32, i32 # BB#0: # %entry - 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.store $12=, 0($4), $12 - i32.const $push0=, 8 - 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 + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 128 + i32.sub $7=, $pop8, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $7 + i32.const $push0=, 1234 + i32.store $0=, 120($7):p2align=3, $pop0 + i32.const $3=, 112 + i32.add $3=, $7, $3 + call test1@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $1, $3 + i32.const $push1=, 32 + i32.const $4=, 64 + i32.add $4=, $7, $4 + i32.add $push2=, $4, $pop1 + i32.store $discard=, 0($pop2):p2align=4, $0 + i32.const $5=, 64 + i32.add $5=, $7, $5 + call test2@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $1, $1, $0, $1, $1, $0, $1, $5 + i64.const $push3=, 4653142004841054208 + i64.store $1=, 56($7), $pop3 + i32.const $6=, 48 + i32.add $6=, $7, $6 + call test3@FUNCTION, $2, $2, $2, $2, $2, $2, $2, $1, $6 + i32.const $push6=, 32 + i32.add $push4=, $7, $pop6 + i64.store $discard=, 0($pop4):p2align=4, $1 + call test4@FUNCTION, $2, $2, $2, $2, $2, $2, $2, $1, $1, $2, $1, $1, $2, $1, $7 + i32.const $push5=, 0 + i32.const $push11=, 128 + i32.add $7=, $7, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $7 + return $pop5 .endfunc .Lfunc_end4: .size main, .Lfunc_end4-main diff --git a/test/torture-s/pr45070.c.s b/test/torture-s/pr45070.c.s index 4fa9f55d5..3233968ac 100644 --- a/test/torture-s/pr45070.c.s +++ b/test/torture-s/pr45070.c.s @@ -6,23 +6,23 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local 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 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $push14=, __stack_pointer + i32.load $push15=, 0($pop14) + i32.const $push16=, 16 + i32.sub $2=, $pop15, $pop16 + i32.const $push17=, __stack_pointer + i32.store $discard=, 0($pop17), $2 i64.const $push1=, 0 - i64.store $discard=, 0($5), $pop1 + i64.store $discard=, 0($2), $pop1 i32.const $push0=, 0 - i32.store $1=, 8($5):p2align=3, $pop0 + i32.store $1=, 8($2):p2align=3, $pop0 .LBB0_1: # %for.body # =>This Inner Loop Header: Depth=1 block loop # label1: - i32.call $0=, next@FUNCTION, $5 + i32.call $0=, next@FUNCTION, $2 block br_if 0, $1 # 0: down to label3 # BB#2: # %for.body @@ -55,10 +55,10 @@ main: # @main # BB#6: # %for.end end_loop # label2: i32.const $push7=, 0 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push18=, 16 + i32.add $2=, $2, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $2 return $pop7 .LBB0_7: # %if.then end_block # label0: diff --git a/test/torture-s/pr46309.c.s b/test/torture-s/pr46309.c.s index 27ebd5fa5..a6d6f7ff3 100644 --- a/test/torture-s/pr46309.c.s +++ b/test/torture-s/pr46309.c.s @@ -44,46 +44,46 @@ bar: # @bar .type main,@function main: # @main .result i32 - .local 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 $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $10=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $10=, 0($3), $10 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $7=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $7 #APP #NO_APP i32.const $push0=, 2 - i32.store $discard=, 12($10), $pop0 - i32.const $5=, 12 - i32.add $5=, $10, $5 - call bar@FUNCTION, $5 + i32.store $discard=, 12($7), $pop0 + i32.const $2=, 12 + i32.add $2=, $7, $2 + call bar@FUNCTION, $2 i32.const $push1=, 3 - i32.store $discard=, 12($10), $pop1 - i32.const $6=, 12 - i32.add $6=, $10, $6 - call bar@FUNCTION, $6 + i32.store $discard=, 12($7), $pop1 + i32.const $3=, 12 + i32.add $3=, $7, $3 + call bar@FUNCTION, $3 i32.const $push2=, 1 - i32.store $0=, 8($10), $pop2 + i32.store $0=, 8($7), $pop2 i32.const $push3=, 0 - i32.store $push5=, 12($10), $pop3 + i32.store $push5=, 12($7), $pop3 tee_local $push4=, $1=, $pop5 - i32.const $7=, 8 - i32.add $7=, $10, $7 - i32.store $discard=, q($pop4), $7 - i32.const $8=, 12 - i32.add $8=, $10, $8 - call bar@FUNCTION, $8 - i32.store $discard=, 12($10), $0 - i32.store $0=, 8($10), $1 - i32.const $9=, 12 - i32.add $9=, $10, $9 - call bar@FUNCTION, $9 - i32.const $4=, 16 - i32.add $10=, $10, $4 - i32.const $4=, __stack_pointer - i32.store $10=, 0($4), $10 + i32.const $4=, 8 + i32.add $4=, $7, $4 + i32.store $discard=, q($pop4), $4 + i32.const $5=, 12 + i32.add $5=, $7, $5 + call bar@FUNCTION, $5 + i32.store $discard=, 12($7), $0 + i32.store $0=, 8($7), $1 + i32.const $6=, 12 + i32.add $6=, $7, $6 + call bar@FUNCTION, $6 + i32.const $push10=, 16 + i32.add $7=, $7, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $7 return $0 .endfunc .Lfunc_end1: diff --git a/test/torture-s/pr47538.c.s b/test/torture-s/pr47538.c.s index b47f8c247..867fc1de7 100644 --- a/test/torture-s/pr47538.c.s +++ b/test/torture-s/pr47538.c.s @@ -15,10 +15,9 @@ foo: # @foo f64.store $discard=, 8($0), $8 block block - block i32.const $push51=, 0 i32.eq $push52=, $2, $pop51 - br_if 0, $pop52 # 0: down to label2 + br_if 0, $pop52 # 0: down to label1 # BB#1: # %if.else f64.sub $push2=, $8, $9 f64.const $push3=, 0x1p-2 @@ -28,7 +27,7 @@ foo: # @foo tee_local $push37=, $10=, $pop38 i32.const $push4=, 2 i32.ne $push5=, $pop37, $pop4 - br_if 1, $pop5 # 1: down to label1 + br_if 1, $pop5 # 1: down to label0 # BB#2: # %if.then6 i32.load $0=, 16($0):p2align=3 i32.load $push31=, 16($1):p2align=3 @@ -38,15 +37,15 @@ foo: # @foo tee_local $push42=, $8=, $pop43 f64.add $push34=, $pop42, $8 f64.store $discard=, 0($0), $pop34 - br 2 # 2: down to label0 + return .LBB0_3: # %if.then - end_block # label2: + end_block # label1: i32.load $push35=, 16($0):p2align=3 i64.const $push36=, 0 i64.store $discard=, 0($pop35), $pop36 - br 1 # 1: down to label0 + return .LBB0_4: # %for.cond.preheader - end_block # label1: + end_block # label0: i32.load $4=, 16($1):p2align=3 i32.load $5=, 16($0):p2align=3 block @@ -56,7 +55,7 @@ foo: # @foo tee_local $push39=, $11=, $pop40 i32.const $push53=, 0 i32.eq $push54=, $pop39, $pop53 - br_if 0, $pop54 # 0: down to label4 + br_if 0, $pop54 # 0: down to label3 # BB#5: # %for.body.preheader f64.const $9=, 0x0p0 i32.const $push41=, 8 @@ -66,7 +65,7 @@ foo: # @foo f64.const $8=, 0x1p0 .LBB0_6: # %for.body # =>This Inner Loop Header: Depth=1 - loop # label5: + loop # label4: f64.load $push7=, 0($1) i32.const $push47=, 16 i32.add $push8=, $1, $pop47 @@ -87,15 +86,15 @@ foo: # @foo i32.add $0=, $0, $pop44 copy_local $7=, $6 i32.le_u $push16=, $6, $11 - br_if 0, $pop16 # 0: up to label5 - br 3 # 3: down to label3 + br_if 0, $pop16 # 0: up to label4 + br 3 # 3: down to label2 .LBB0_7: - end_loop # label6: - end_block # label4: + end_loop # label5: + end_block # label3: f64.const $9=, 0x0p0 f64.const $8=, 0x1p0 .LBB0_8: # %for.end - end_block # label3: + end_block # label2: i32.const $push17=, 3 i32.shl $push26=, $2, $pop17 i32.add $push27=, $5, $pop26 @@ -114,8 +113,6 @@ foo: # @foo tee_local $push48=, $8=, $pop49 f64.add $push30=, $pop48, $8 f64.store $discard=, 0($5), $pop30 -.LBB0_9: # %if.end53 - end_block # label0: return .endfunc .Lfunc_end0: @@ -127,273 +124,257 @@ foo: # @foo .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 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, 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=, 112 - i32.sub $22=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $22=, 0($5), $22 - i32.const $push14=, 28 - i32.add $push15=, $22, $pop14 + i32.const $push140=, __stack_pointer + i32.load $push141=, 0($pop140) + i32.const $push142=, 112 + i32.sub $17=, $pop141, $pop142 + i32.const $push143=, __stack_pointer + i32.store $discard=, 0($pop143), $17 + i32.const $push12=, 28 + i32.add $push13=, $17, $pop12 i32.const $push2=, 0 - i32.load $push16=, .Lmain.e+28($pop2) - i32.store $discard=, 0($pop15), $pop16 + i32.load $push14=, .Lmain.e+28($pop2) + i32.store $discard=, 0($pop13), $pop14 i32.const $push0=, 24 - i32.add $push17=, $22, $pop0 - i32.const $push121=, 0 - i32.load $push18=, .Lmain.e+24($pop121):p2align=3 - i32.store $discard=, 0($pop17):p2align=3, $pop18 - i32.const $push120=, 24 - i32.const $7=, 32 - i32.add $7=, $22, $7 - i32.add $push1=, $7, $pop120 - i32.const $push119=, 0 - i64.load $push3=, .Lmain.c+24($pop119) + i32.add $push15=, $17, $pop0 + i32.const $push113=, 0 + i32.load $push16=, .Lmain.e+24($pop113):p2align=3 + i32.store $discard=, 0($pop15):p2align=3, $pop16 + i32.const $push112=, 24 + i32.const $3=, 32 + i32.add $3=, $17, $3 + i32.add $push1=, $3, $pop112 + i32.const $push111=, 0 + i64.load $push3=, .Lmain.c+24($pop111) i64.store $discard=, 0($pop1), $pop3 i32.const $push4=, 16 - i32.const $8=, 32 - i32.add $8=, $22, $8 - i32.add $push5=, $8, $pop4 - i32.const $push118=, 0 - i64.load $push6=, .Lmain.c+16($pop118):p2align=4 - i64.store $discard=, 0($pop5):p2align=4, $pop6 - i32.const $push7=, 8 - i32.const $9=, 32 - i32.add $9=, $22, $9 - i32.or $push8=, $9, $pop7 - i32.const $push117=, 0 - i64.load $push9=, .Lmain.c+8($pop117) - i64.store $discard=, 0($pop8), $pop9 - i32.const $push13=, 3 - i32.store $discard=, 84($22), $pop13 - i32.const $push116=, 16 - i32.add $push19=, $22, $pop116 - i32.const $push115=, 0 - i64.load $push20=, .Lmain.e+16($pop115):p2align=4 - i64.store $discard=, 0($pop19):p2align=4, $pop20 - i32.const $push114=, 0 - i64.load $push10=, .Lmain.c($pop114):p2align=4 - i64.store $discard=, 32($22):p2align=4, $pop10 - i64.const $push11=, 4621819117588971520 - i64.store $discard=, 64($22), $pop11 - i64.const $push12=, 4618441417868443648 - i64.store $discard=, 72($22), $pop12 - i32.const $push113=, 8 - i32.or $push112=, $22, $pop113 - tee_local $push111=, $3=, $pop112 + i32.const $4=, 32 + i32.add $4=, $17, $4 + i32.add $push5=, $4, $pop4 i32.const $push110=, 0 - i64.load $push21=, .Lmain.e+8($pop110) - i64.store $discard=, 0($pop111), $pop21 - i32.const $push109=, 0 - i64.load $push22=, .Lmain.e($pop109):p2align=4 - i64.store $discard=, 0($22):p2align=4, $pop22 - i32.const $10=, 32 - i32.add $10=, $22, $10 - i32.store $discard=, 80($22):p2align=3, $10 - i32.store $discard=, 104($22):p2align=3, $22 - i32.const $11=, 88 - i32.add $11=, $22, $11 - i32.const $12=, 64 - i32.add $12=, $22, $12 - call foo@FUNCTION, $11, $12 + i64.load $push6=, .Lmain.c+16($pop110):p2align=4 + i64.store $discard=, 0($pop5):p2align=4, $pop6 + i32.const $push11=, 3 + i32.store $discard=, 84($17), $pop11 + i32.const $push109=, 16 + i32.add $push17=, $17, $pop109 + i32.const $push108=, 0 + i64.load $push18=, .Lmain.e+16($pop108):p2align=4 + i64.store $discard=, 0($pop17):p2align=4, $pop18 + i32.const $push107=, 0 + i64.load $push7=, .Lmain.c+8($pop107) + i64.store $discard=, 40($17), $pop7 + i32.const $push106=, 0 + i64.load $push8=, .Lmain.c($pop106):p2align=4 + i64.store $discard=, 32($17):p2align=4, $pop8 + i64.const $push9=, 4621819117588971520 + i64.store $discard=, 64($17), $pop9 + i64.const $push10=, 4618441417868443648 + i64.store $discard=, 72($17), $pop10 + i32.const $push105=, 0 + i64.load $push19=, .Lmain.e+8($pop105) + i64.store $discard=, 8($17), $pop19 + i32.const $push104=, 0 + i64.load $push20=, .Lmain.e($pop104):p2align=4 + i64.store $discard=, 0($17):p2align=4, $pop20 + i32.const $5=, 32 + i32.add $5=, $17, $5 + i32.store $discard=, 80($17):p2align=3, $5 + i32.store $discard=, 104($17):p2align=3, $17 + i32.const $6=, 88 + i32.add $6=, $17, $6 + i32.const $7=, 64 + i32.add $7=, $17, $7 + call foo@FUNCTION, $6, $7 block - f64.load $push23=, 0($22):p2align=4 - f64.const $push24=, 0x0p0 - f64.ne $push25=, $pop23, $pop24 - br_if 0, $pop25 # 0: down to label7 + f64.load $push21=, 0($17):p2align=4 + f64.const $push22=, 0x0p0 + f64.ne $push23=, $pop21, $pop22 + br_if 0, $pop23 # 0: down to label6 # BB#1: # %lor.lhs.false - f64.load $push26=, 0($3) - f64.const $push27=, 0x1.4p4 - f64.ne $push28=, $pop26, $pop27 - br_if 0, $pop28 # 0: down to label7 + f64.load $push24=, 8($17) + f64.const $push25=, 0x1.4p4 + f64.ne $push26=, $pop24, $pop25 + br_if 0, $pop26 # 0: down to label6 # BB#2: # %lor.lhs.false9 - f64.load $push29=, 16($22):p2align=4 - f64.const $push30=, 0x1.4p3 - f64.ne $push31=, $pop29, $pop30 - br_if 0, $pop31 # 0: down to label7 + f64.load $push27=, 16($17):p2align=4 + f64.const $push28=, 0x1.4p3 + f64.ne $push29=, $pop27, $pop28 + br_if 0, $pop29 # 0: down to label6 # BB#3: # %lor.lhs.false12 - f64.load $push32=, 24($22) - f64.const $push33=, -0x1.4p3 - f64.ne $push34=, $pop32, $pop33 - br_if 0, $pop34 # 0: down to label7 + f64.load $push30=, 24($17) + f64.const $push31=, -0x1.4p3 + f64.ne $push32=, $pop30, $pop31 + br_if 0, $pop32 # 0: down to label6 # BB#4: # %if.end - i32.const $push38=, 20 - i32.const $13=, 64 - i32.add $13=, $22, $13 - i32.add $push39=, $13, $pop38 - i32.const $push40=, 2 - i32.store $discard=, 0($pop39), $pop40 - i32.const $push41=, 28 - i32.add $push42=, $22, $pop41 - i32.const $push43=, 0 - i32.load $push44=, .Lmain.e+28($pop43) - i32.store $discard=, 0($pop42), $pop44 - i32.const $push45=, 24 - i32.add $push131=, $22, $pop45 - tee_local $push130=, $1=, $pop131 - i32.const $push129=, 0 - i32.load $push46=, .Lmain.e+24($pop129):p2align=3 - i32.store $discard=, 0($pop130):p2align=3, $pop46 - i32.const $push47=, 16 - i32.add $push128=, $22, $pop47 - tee_local $push127=, $0=, $pop128 - i32.const $push126=, 0 - i64.load $push48=, .Lmain.e+16($pop126):p2align=4 - i64.store $discard=, 0($pop127):p2align=4, $pop48 - i32.const $push49=, 8 - i32.or $push125=, $22, $pop49 - tee_local $push124=, $3=, $pop125 - i32.const $push123=, 0 - i64.load $push50=, .Lmain.e+8($pop123) - i64.store $discard=, 0($pop124), $pop50 - i32.const $push122=, 0 - i64.load $push51=, .Lmain.e($pop122):p2align=4 - i64.store $discard=, 0($22):p2align=4, $pop51 - i32.const $14=, 88 - i32.add $14=, $22, $14 - i32.const $15=, 64 - i32.add $15=, $22, $15 - call foo@FUNCTION, $14, $15 - f64.load $push52=, 0($22):p2align=4 - f64.const $push53=, 0x1.ep5 - f64.ne $push54=, $pop52, $pop53 - br_if 0, $pop54 # 0: down to label7 + i32.const $push36=, 20 + i32.const $8=, 64 + i32.add $8=, $17, $8 + i32.add $push37=, $8, $pop36 + i32.const $push38=, 2 + i32.store $discard=, 0($pop37), $pop38 + i32.const $push39=, 28 + i32.add $push40=, $17, $pop39 + i32.const $push41=, 0 + i32.load $push42=, .Lmain.e+28($pop41) + i32.store $discard=, 0($pop40), $pop42 + i32.const $push43=, 24 + i32.add $push121=, $17, $pop43 + tee_local $push120=, $0=, $pop121 + i32.const $push119=, 0 + i32.load $push44=, .Lmain.e+24($pop119):p2align=3 + i32.store $discard=, 0($pop120):p2align=3, $pop44 + i32.const $push45=, 16 + i32.add $push118=, $17, $pop45 + tee_local $push117=, $2=, $pop118 + i32.const $push116=, 0 + i64.load $push46=, .Lmain.e+16($pop116):p2align=4 + i64.store $discard=, 0($pop117):p2align=4, $pop46 + i32.const $push115=, 0 + i64.load $push47=, .Lmain.e+8($pop115) + i64.store $discard=, 8($17), $pop47 + i32.const $push114=, 0 + i64.load $push48=, .Lmain.e($pop114):p2align=4 + i64.store $discard=, 0($17):p2align=4, $pop48 + i32.const $9=, 88 + i32.add $9=, $17, $9 + i32.const $10=, 64 + i32.add $10=, $17, $10 + call foo@FUNCTION, $9, $10 + f64.load $push49=, 0($17):p2align=4 + f64.const $push50=, 0x1.ep5 + f64.ne $push51=, $pop49, $pop50 + br_if 0, $pop51 # 0: down to label6 # BB#5: # %if.end - f64.load $push35=, 0($3) - f64.const $push55=, 0x1.4p4 - f64.ne $push56=, $pop35, $pop55 - br_if 0, $pop56 # 0: down to label7 + f64.load $push33=, 8($17) + f64.const $push52=, 0x1.4p4 + f64.ne $push53=, $pop33, $pop52 + br_if 0, $pop53 # 0: down to label6 # BB#6: # %if.end - f64.load $push36=, 0($0):p2align=4 - f64.const $push57=, -0x1.4p3 - f64.ne $push58=, $pop36, $pop57 - br_if 0, $pop58 # 0: down to label7 + f64.load $push34=, 0($2):p2align=4 + f64.const $push54=, -0x1.4p3 + f64.ne $push55=, $pop34, $pop54 + br_if 0, $pop55 # 0: down to label6 # BB#7: # %if.end - f64.load $push37=, 0($1) - f64.const $push59=, 0x1.d8p6 - f64.ne $push60=, $pop37, $pop59 - br_if 0, $pop60 # 0: down to label7 + f64.load $push35=, 0($0) + f64.const $push56=, 0x1.d8p6 + f64.ne $push57=, $pop35, $pop56 + br_if 0, $pop57 # 0: down to label6 # BB#8: # %if.end30 - i32.const $push64=, 20 - i32.const $16=, 64 - i32.add $16=, $22, $16 - i32.add $push65=, $16, $pop64 - i32.const $push66=, 1 - i32.store $discard=, 0($pop65), $pop66 - i32.const $push67=, 28 - i32.add $push68=, $22, $pop67 - i32.const $push69=, 0 - i32.load $push70=, .Lmain.e+28($pop69) - i32.store $discard=, 0($pop68), $pop70 - i32.const $push71=, 24 - i32.add $push141=, $22, $pop71 - tee_local $push140=, $1=, $pop141 - i32.const $push139=, 0 - i32.load $push72=, .Lmain.e+24($pop139):p2align=3 - i32.store $discard=, 0($pop140):p2align=3, $pop72 - i32.const $push73=, 16 - i32.add $push138=, $22, $pop73 - tee_local $push137=, $0=, $pop138 - i32.const $push136=, 0 - i64.load $push74=, .Lmain.e+16($pop136):p2align=4 - i64.store $discard=, 0($pop137):p2align=4, $pop74 - i32.const $push75=, 8 - i32.or $push135=, $22, $pop75 - tee_local $push134=, $3=, $pop135 - i32.const $push133=, 0 - i64.load $push76=, .Lmain.e+8($pop133) - i64.store $discard=, 0($pop134), $pop76 - i32.const $push132=, 0 - i64.load $push77=, .Lmain.e($pop132):p2align=4 - i64.store $discard=, 0($22):p2align=4, $pop77 - i32.const $17=, 88 - i32.add $17=, $22, $17 - i32.const $18=, 64 - i32.add $18=, $22, $18 - call foo@FUNCTION, $17, $18 - f64.load $push78=, 0($22):p2align=4 - f64.const $push79=, -0x1.4p4 - f64.ne $push80=, $pop78, $pop79 - br_if 0, $pop80 # 0: down to label7 + i32.const $push61=, 20 + i32.const $11=, 64 + i32.add $11=, $17, $11 + i32.add $push62=, $11, $pop61 + i32.const $push63=, 1 + i32.store $discard=, 0($pop62), $pop63 + i32.const $push64=, 28 + i32.add $push65=, $17, $pop64 + i32.const $push66=, 0 + i32.load $push67=, .Lmain.e+28($pop66) + i32.store $discard=, 0($pop65), $pop67 + i32.const $push68=, 24 + i32.add $push129=, $17, $pop68 + tee_local $push128=, $0=, $pop129 + i32.const $push127=, 0 + i32.load $push69=, .Lmain.e+24($pop127):p2align=3 + i32.store $discard=, 0($pop128):p2align=3, $pop69 + i32.const $push70=, 16 + i32.add $push126=, $17, $pop70 + tee_local $push125=, $2=, $pop126 + i32.const $push124=, 0 + i64.load $push71=, .Lmain.e+16($pop124):p2align=4 + i64.store $discard=, 0($pop125):p2align=4, $pop71 + i32.const $push123=, 0 + i64.load $push72=, .Lmain.e+8($pop123) + i64.store $discard=, 8($17), $pop72 + i32.const $push122=, 0 + i64.load $push73=, .Lmain.e($pop122):p2align=4 + i64.store $discard=, 0($17):p2align=4, $pop73 + i32.const $12=, 88 + i32.add $12=, $17, $12 + i32.const $13=, 64 + i32.add $13=, $17, $13 + call foo@FUNCTION, $12, $13 + f64.load $push74=, 0($17):p2align=4 + f64.const $push75=, -0x1.4p4 + f64.ne $push76=, $pop74, $pop75 + br_if 0, $pop76 # 0: down to label6 # BB#9: # %if.end30 - f64.load $push61=, 0($3) - f64.const $push81=, -0x1.4p3 - f64.ne $push82=, $pop61, $pop81 - br_if 0, $pop82 # 0: down to label7 + f64.load $push58=, 8($17) + f64.const $push77=, -0x1.4p3 + f64.ne $push78=, $pop58, $pop77 + br_if 0, $pop78 # 0: down to label6 # BB#10: # %if.end30 - f64.load $push62=, 0($0):p2align=4 - f64.const $push142=, 0x1.d8p6 - f64.ne $push83=, $pop62, $pop142 - br_if 0, $pop83 # 0: down to label7 + f64.load $push59=, 0($2):p2align=4 + f64.const $push130=, 0x1.d8p6 + f64.ne $push79=, $pop59, $pop130 + br_if 0, $pop79 # 0: down to label6 # BB#11: # %if.end30 - f64.load $push63=, 0($1) - f64.const $push143=, 0x1.d8p6 - f64.ne $push84=, $pop63, $pop143 - br_if 0, $pop84 # 0: down to label7 + f64.load $push60=, 0($0) + f64.const $push131=, 0x1.d8p6 + f64.ne $push80=, $pop60, $pop131 + br_if 0, $pop80 # 0: down to label6 # BB#12: # %if.end46 - i32.const $push91=, 28 - i32.add $push92=, $22, $pop91 - i32.const $push88=, 20 - i32.const $19=, 64 - i32.add $19=, $22, $19 - i32.add $push89=, $19, $pop88 - i32.const $push90=, 0 - i32.store $push151=, 0($pop89), $pop90 - tee_local $push150=, $3=, $pop151 - i32.load $push93=, .Lmain.e+28($pop150) - i32.store $discard=, 0($pop92), $pop93 - i32.const $push94=, 24 - i32.add $push149=, $22, $pop94 - tee_local $push148=, $2=, $pop149 - i32.load $push95=, .Lmain.e+24($3):p2align=3 - i32.store $discard=, 0($pop148):p2align=3, $pop95 - i32.const $push96=, 16 - i32.add $push147=, $22, $pop96 - tee_local $push146=, $1=, $pop147 - i64.load $push97=, .Lmain.e+16($3):p2align=4 - i64.store $discard=, 0($pop146):p2align=4, $pop97 - i32.const $push98=, 8 - i32.or $push145=, $22, $pop98 - tee_local $push144=, $0=, $pop145 - i64.load $push99=, .Lmain.e+8($3) - i64.store $discard=, 0($pop144), $pop99 - i64.load $push100=, .Lmain.e($3):p2align=4 - i64.store $discard=, 0($22):p2align=4, $pop100 - i32.const $20=, 88 - i32.add $20=, $22, $20 - i32.const $21=, 64 - i32.add $21=, $22, $21 - call foo@FUNCTION, $20, $21 - f64.load $push101=, 0($22):p2align=4 - f64.const $push102=, 0x0p0 - f64.ne $push103=, $pop101, $pop102 - br_if 0, $pop103 # 0: down to label7 + i32.const $push87=, 28 + i32.add $push88=, $17, $pop87 + i32.const $push84=, 20 + i32.const $14=, 64 + i32.add $14=, $17, $14 + i32.add $push85=, $14, $pop84 + i32.const $push86=, 0 + i32.store $push137=, 0($pop85), $pop86 + tee_local $push136=, $2=, $pop137 + i32.load $push89=, .Lmain.e+28($pop136) + i32.store $discard=, 0($pop88), $pop89 + i32.const $push90=, 24 + i32.add $push135=, $17, $pop90 + tee_local $push134=, $1=, $pop135 + i32.load $push91=, .Lmain.e+24($2):p2align=3 + i32.store $discard=, 0($pop134):p2align=3, $pop91 + i32.const $push92=, 16 + i32.add $push133=, $17, $pop92 + tee_local $push132=, $0=, $pop133 + i64.load $push93=, .Lmain.e+16($2):p2align=4 + i64.store $discard=, 0($pop132):p2align=4, $pop93 + i64.load $push94=, .Lmain.e+8($2) + i64.store $discard=, 8($17), $pop94 + i64.load $push95=, .Lmain.e($2):p2align=4 + i64.store $discard=, 0($17):p2align=4, $pop95 + i32.const $15=, 88 + i32.add $15=, $17, $15 + i32.const $16=, 64 + i32.add $16=, $17, $16 + call foo@FUNCTION, $15, $16 + f64.load $push96=, 0($17):p2align=4 + f64.const $push97=, 0x0p0 + f64.ne $push98=, $pop96, $pop97 + br_if 0, $pop98 # 0: down to label6 # BB#13: # %if.end46 - f64.load $push85=, 0($0) - f64.const $push152=, 0x1.d8p6 - f64.ne $push104=, $pop85, $pop152 - br_if 0, $pop104 # 0: down to label7 + f64.load $push81=, 8($17) + f64.const $push138=, 0x1.d8p6 + f64.ne $push99=, $pop81, $pop138 + br_if 0, $pop99 # 0: down to label6 # BB#14: # %if.end46 - f64.load $push86=, 0($1):p2align=4 - f64.const $push153=, 0x1.d8p6 - f64.ne $push105=, $pop86, $pop153 - br_if 0, $pop105 # 0: down to label7 + f64.load $push82=, 0($0):p2align=4 + f64.const $push139=, 0x1.d8p6 + f64.ne $push100=, $pop82, $pop139 + br_if 0, $pop100 # 0: down to label6 # BB#15: # %if.end46 - f64.load $push87=, 0($2) - f64.const $push106=, 0x1.d8p6 - f64.ne $push107=, $pop87, $pop106 - br_if 0, $pop107 # 0: down to label7 + f64.load $push83=, 0($1) + f64.const $push101=, 0x1.d8p6 + f64.ne $push102=, $pop83, $pop101 + br_if 0, $pop102 # 0: down to label6 # BB#16: # %if.end62 - i32.const $push108=, 0 - i32.const $6=, 112 - i32.add $22=, $22, $6 - i32.const $6=, __stack_pointer - i32.store $22=, 0($6), $22 - return $pop108 + i32.const $push103=, 0 + i32.const $push144=, 112 + i32.add $17=, $17, $pop144 + i32.const $push145=, __stack_pointer + i32.store $discard=, 0($pop145), $17 + return $pop103 .LBB1_17: # %if.then61 - end_block # label7: + end_block # label6: call abort@FUNCTION unreachable .endfunc @@ -401,7 +382,7 @@ main: # @main .size main, .Lfunc_end1-main .type .Lmain.c,@object # @main.c - .section .rodata..Lmain.c,"a",@progbits + .section .rodata.cst32,"aM",@progbits,32 .p2align 4 .Lmain.c: .int64 4621819117588971520 # double 10 @@ -411,7 +392,6 @@ main: # @main .size .Lmain.c, 32 .type .Lmain.e,@object # @main.e - .section .rodata..Lmain.e,"a",@progbits .p2align 4 .Lmain.e: .int64 4638003928749834240 # double 118 diff --git a/test/torture-s/pr47925.c.s b/test/torture-s/pr47925.c.s index b60e62af7..94e4916d6 100644 --- a/test/torture-s/pr47925.c.s +++ b/test/torture-s/pr47925.c.s @@ -48,26 +48,26 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $5=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $5=, 0($1), $5 - i32.const $3=, 8 - i32.add $3=, $5, $3 - i32.store $discard=, 8($5):p2align=3, $3 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $2=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $2 + i32.const $0=, 8 + i32.add $0=, $2, $0 + i32.store $discard=, 8($2):p2align=3, $0 i32.const $push0=, 10 - i32.const $4=, 8 - i32.add $4=, $5, $4 - i32.call $discard=, foo@FUNCTION, $4, $pop0 + i32.const $1=, 8 + i32.add $1=, $2, $1 + i32.call $discard=, foo@FUNCTION, $1, $pop0 i32.const $push1=, 0 - i32.const $2=, 16 - i32.add $5=, $5, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 + i32.const $push6=, 16 + i32.add $2=, $2, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $2 return $pop1 .endfunc .Lfunc_end2: diff --git a/test/torture-s/pr48809.c.s b/test/torture-s/pr48809.c.s index 1b70923dc..6a1f6c245 100644 --- a/test/torture-s/pr48809.c.s +++ b/test/torture-s/pr48809.c.s @@ -46,11 +46,10 @@ foo: # @foo br_if 0, $pop1 # 0: down to label31 # BB#1: # %entry block - tableswitch $0, 0, 0, 3, 32, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 32, 19, 20, 21, 22, 23, 24, 31, 25, 26, 27, 28, 29, 30 # 0: down to label32 + tableswitch $0, 0, 0, 4, 3, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3, 20, 21, 22, 23, 24, 25, 32, 26, 27, 28, 29, 30, 31 # 0: down to label32 + # 4: down to label28 # 3: down to label29 - # 32: down to label0 # 2: down to label30 - # 4: down to label28 # 5: down to label27 # 6: down to label26 # 7: down to label25 @@ -71,17 +70,18 @@ foo: # @foo # 22: down to label10 # 23: down to label9 # 24: down to label8 - # 31: down to label1 # 25: down to label7 + # 32: down to label0 # 26: down to label6 # 27: down to label5 # 28: down to label4 # 29: down to label3 # 30: down to label2 + # 31: down to label1 .LBB0_2: # %sw.bb end_block # label32: i32.const $0=, 1 - br 31 # 31: down to label0 + return $0 .LBB0_3: # %entry end_block # label31: i32.const $push2=, -62 @@ -93,131 +93,131 @@ foo: # @foo i32.const $0=, 0 i32.const $push5=, 0 i32.eq $push6=, $1, $pop5 - br_if 30, $pop6 # 30: down to label0 + br_if 1, $pop6 # 1: down to label29 # BB#5: # %sw.bb33 i32.const $0=, 18 - br 30 # 30: down to label0 + return $0 .LBB0_6: # %sw.bb34 end_block # label30: i32.const $0=, 19 - br 29 # 29: down to label0 -.LBB0_7: # %sw.bb1 +.LBB0_7: # %sw.epilog end_block # label29: - i32.const $0=, 7 - br 28 # 28: down to label0 -.LBB0_8: # %sw.bb4 + return $0 +.LBB0_8: # %sw.bb1 end_block # label28: - i32.const $0=, 5 - br 27 # 27: down to label0 -.LBB0_9: # %sw.bb5 + i32.const $0=, 7 + return $0 +.LBB0_9: # %sw.bb4 end_block # label27: - i32.const $0=, 17 - br 26 # 26: down to label0 -.LBB0_10: # %sw.bb6 + i32.const $0=, 5 + return $0 +.LBB0_10: # %sw.bb5 end_block # label26: - i32.const $0=, 31 - br 25 # 25: down to label0 -.LBB0_11: # %sw.bb7 + i32.const $0=, 17 + return $0 +.LBB0_11: # %sw.bb6 end_block # label25: - i32.const $0=, 8 - br 24 # 24: down to label0 -.LBB0_12: # %sw.bb8 + i32.const $0=, 31 + return $0 +.LBB0_12: # %sw.bb7 end_block # label24: - i32.const $0=, 28 - br 23 # 23: down to label0 -.LBB0_13: # %sw.bb9 + i32.const $0=, 8 + return $0 +.LBB0_13: # %sw.bb8 end_block # label23: - i32.const $0=, 16 - br 22 # 22: down to label0 -.LBB0_14: # %sw.bb10 + i32.const $0=, 28 + return $0 +.LBB0_14: # %sw.bb9 end_block # label22: - i32.const $0=, 31 - br 21 # 21: down to label0 -.LBB0_15: # %sw.bb11 + i32.const $0=, 16 + return $0 +.LBB0_15: # %sw.bb10 end_block # label21: - i32.const $0=, 12 - br 20 # 20: down to label0 -.LBB0_16: # %sw.bb12 + i32.const $0=, 31 + return $0 +.LBB0_16: # %sw.bb11 end_block # label20: - i32.const $0=, 15 - br 19 # 19: down to label0 -.LBB0_17: # %sw.bb13 + i32.const $0=, 12 + return $0 +.LBB0_17: # %sw.bb12 end_block # label19: - i32.const $0=, 111 - br 18 # 18: down to label0 -.LBB0_18: # %sw.bb14 + i32.const $0=, 15 + return $0 +.LBB0_18: # %sw.bb13 end_block # label18: - i32.const $0=, 17 - br 17 # 17: down to label0 -.LBB0_19: # %sw.bb15 + i32.const $0=, 111 + return $0 +.LBB0_19: # %sw.bb14 end_block # label17: - i32.const $0=, 10 - br 16 # 16: down to label0 -.LBB0_20: # %sw.bb16 + i32.const $0=, 17 + return $0 +.LBB0_20: # %sw.bb15 end_block # label16: - i32.const $0=, 31 - br 15 # 15: down to label0 -.LBB0_21: # %sw.bb17 + i32.const $0=, 10 + return $0 +.LBB0_21: # %sw.bb16 end_block # label15: - i32.const $0=, 7 - br 14 # 14: down to label0 -.LBB0_22: # %sw.bb18 + i32.const $0=, 31 + return $0 +.LBB0_22: # %sw.bb17 end_block # label14: - i32.const $0=, 2 - br 13 # 13: down to label0 -.LBB0_23: # %sw.bb20 + i32.const $0=, 7 + return $0 +.LBB0_23: # %sw.bb18 end_block # label13: - i32.const $0=, 5 - br 12 # 12: down to label0 -.LBB0_24: # %sw.bb21 + i32.const $0=, 2 + return $0 +.LBB0_24: # %sw.bb20 end_block # label12: - i32.const $0=, 107 - br 11 # 11: down to label0 -.LBB0_25: # %sw.bb22 + i32.const $0=, 5 + return $0 +.LBB0_25: # %sw.bb21 end_block # label11: - i32.const $0=, 31 - br 10 # 10: down to label0 -.LBB0_26: # %sw.bb23 + i32.const $0=, 107 + return $0 +.LBB0_26: # %sw.bb22 end_block # label10: - i32.const $0=, 8 - br 9 # 9: down to label0 -.LBB0_27: # %sw.bb24 + i32.const $0=, 31 + return $0 +.LBB0_27: # %sw.bb23 end_block # label9: - i32.const $0=, 28 - br 8 # 8: down to label0 -.LBB0_28: # %sw.bb25 + i32.const $0=, 8 + return $0 +.LBB0_28: # %sw.bb24 end_block # label8: - i32.const $0=, 106 - br 7 # 7: down to label0 -.LBB0_29: # %sw.bb27 + i32.const $0=, 28 + return $0 +.LBB0_29: # %sw.bb25 end_block # label7: - i32.const $0=, 102 - br 6 # 6: down to label0 -.LBB0_30: # %sw.bb28 + i32.const $0=, 106 + return $0 +.LBB0_30: # %sw.bb27 end_block # label6: - i32.const $0=, 105 - br 5 # 5: down to label0 -.LBB0_31: # %sw.bb29 + i32.const $0=, 102 + return $0 +.LBB0_31: # %sw.bb28 end_block # label5: - i32.const $0=, 111 - br 4 # 4: down to label0 -.LBB0_32: # %sw.bb30 + i32.const $0=, 105 + return $0 +.LBB0_32: # %sw.bb29 end_block # label4: - i32.const $0=, 17 - br 3 # 3: down to label0 -.LBB0_33: # %sw.bb31 + i32.const $0=, 111 + return $0 +.LBB0_33: # %sw.bb30 end_block # label3: - i32.const $0=, 10 - br 2 # 2: down to label0 -.LBB0_34: # %sw.bb32 + i32.const $0=, 17 + return $0 +.LBB0_34: # %sw.bb31 end_block # label2: - i32.const $0=, 31 - br 1 # 1: down to label0 -.LBB0_35: # %sw.bb26 + i32.const $0=, 10 + return $0 +.LBB0_35: # %sw.bb32 end_block # label1: i32.const $0=, 31 -.LBB0_36: # %sw.epilog + return $0 +.LBB0_36: # %sw.bb26 end_block # label0: + i32.const $0=, 31 return $0 .endfunc .Lfunc_end0: diff --git a/test/torture-s/pr49218.c.s b/test/torture-s/pr49218.c.s index a7e5126ce..8c8138594 100644 --- a/test/torture-s/pr49218.c.s +++ b/test/torture-s/pr49218.c.s @@ -6,62 +6,63 @@ .type main,@function main: # @main .result i32 - .local i64, i64, i64, i32, i64, i64, i32, i32, i32, i32 + .local i64, i64, i64, 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 $push17=, 0 - f32.load $push0=, f($pop17) - call __fixsfti@FUNCTION, $9, $pop0 - i64.const $1=, 0 + i32.const $push30=, __stack_pointer + i32.load $push31=, 0($pop30) + i32.const $push32=, 16 + i32.sub $3=, $pop31, $pop32 + i32.const $push33=, __stack_pointer + i32.store $discard=, 0($pop33), $3 + i32.const $push21=, 0 + f32.load $push0=, f($pop21) + call __fixsfti@FUNCTION, $3, $pop0 block - i64.load $push16=, 0($9) - tee_local $push15=, $5=, $pop16 + i64.load $push20=, 0($3) + tee_local $push19=, $1=, $pop20 i64.const $push5=, 10 - i64.gt_u $push6=, $pop15, $pop5 + i64.gt_u $push6=, $pop19, $pop5 i32.const $push1=, 8 - i32.add $push2=, $9, $pop1 - i64.load $push14=, 0($pop2) - tee_local $push13=, $4=, $pop14 - i64.const $push12=, 0 - i64.gt_s $push4=, $pop13, $pop12 - i64.const $push11=, 0 - i64.eq $push3=, $4, $pop11 + i32.add $push2=, $3, $pop1 + i64.load $push18=, 0($pop2) + tee_local $push17=, $0=, $pop18 + i64.const $push16=, 0 + i64.gt_s $push4=, $pop17, $pop16 + i64.const $push15=, 0 + i64.eq $push3=, $0, $pop15 i32.select $push7=, $pop6, $pop4, $pop3 br_if 0, $pop7 # 0: down to label0 -# BB#1: - i64.const $2=, 1 -.LBB0_2: # %do.body +.LBB0_1: # %do.body # =>This Inner Loop Header: Depth=1 loop # label1: - i64.add $0=, $5, $2 - i64.lt_u $3=, $0, $5 - i64.extend_u/i32 $5=, $3 - i64.eq $3=, $0, $1 - i64.select $5=, $2, $5, $3 - i64.add $4=, $4, $5 + i64.const $push28=, 1 + i64.const $push27=, 1 + i64.add $push26=, $1, $pop27 + tee_local $push25=, $2=, $pop26 + i64.lt_u $push9=, $pop25, $1 + i64.extend_u/i32 $push10=, $pop9 + i64.const $push24=, 0 + i64.eq $push8=, $2, $pop24 + i64.select $push11=, $pop28, $pop10, $pop8 + i64.add $0=, $0, $pop11 #APP #NO_APP - copy_local $5=, $0 - i64.const $push19=, 11 - i64.xor $push8=, $0, $pop19 - i64.or $push9=, $4, $pop8 - i64.const $push18=, 0 - i64.ne $push10=, $pop9, $pop18 - br_if 0, $pop10 # 0: up to label1 -.LBB0_3: # %if.end + copy_local $1=, $2 + i64.const $push23=, 11 + i64.xor $push12=, $2, $pop23 + i64.or $push13=, $0, $pop12 + i64.const $push22=, 0 + i64.ne $push14=, $pop13, $pop22 + br_if 0, $pop14 # 0: up to label1 +.LBB0_2: # %if.end end_loop # label2: end_block # label0: - i32.const $push20=, 0 - i32.const $8=, 16 - i32.add $9=, $9, $8 - i32.const $8=, __stack_pointer - i32.store $9=, 0($8), $9 - return $pop20 + i32.const $push29=, 0 + i32.const $push34=, 16 + i32.add $3=, $3, $pop34 + i32.const $push35=, __stack_pointer + i32.store $discard=, 0($pop35), $3 + return $pop29 .endfunc .Lfunc_end0: .size main, .Lfunc_end0-main diff --git a/test/torture-s/pr49279.c.s b/test/torture-s/pr49279.c.s index 57f376dc0..5577c2359 100644 --- a/test/torture-s/pr49279.c.s +++ b/test/torture-s/pr49279.c.s @@ -22,37 +22,32 @@ bar: # @bar foo: # @foo .param i32, i32 .result i32 - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - 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 $push1=, 4 - i32.const $6=, 8 - i32.add $6=, $8, $6 - i32.or $push8=, $6, $pop1 - tee_local $push7=, $2=, $pop8 - i32.store $discard=, 0($pop7), $0 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $4=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $4 + i32.store $discard=, 12($4), $0 i32.const $push0=, 1 - i32.store $0=, 8($8):p2align=3, $pop0 - i32.const $7=, 8 - i32.add $7=, $8, $7 - i32.call $push2=, bar@FUNCTION, $7 - i32.store $discard=, 4($pop2), $1 - i32.load $push6=, 0($2) - tee_local $push5=, $2=, $pop6 - i32.const $push3=, 0 - i32.store $discard=, 0($pop5), $pop3 + i32.store $0=, 8($4):p2align=3, $pop0 + i32.const $3=, 8 + i32.add $3=, $4, $3 + i32.call $push1=, bar@FUNCTION, $3 + i32.store $discard=, 4($pop1), $1 + i32.load $push5=, 12($4) + tee_local $push4=, $2=, $pop5 + i32.const $push2=, 0 + i32.store $discard=, 0($pop4), $pop2 i32.store $discard=, 0($1), $0 - i32.load $push4=, 0($2) - i32.const $5=, 16 - i32.add $8=, $8, $5 - i32.const $5=, __stack_pointer - i32.store $8=, 0($5), $8 - return $pop4 + i32.load $push3=, 0($2) + i32.const $push10=, 16 + i32.add $4=, $4, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $4 + return $pop3 .endfunc .Lfunc_end1: .size foo, .Lfunc_end1-foo @@ -63,29 +58,29 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $5=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $5=, 0($1), $5 - i32.const $3=, 12 - i32.add $3=, $5, $3 - i32.const $4=, 8 - i32.add $4=, $5, $4 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $2=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $2 + i32.const $0=, 12 + i32.add $0=, $2, $0 + i32.const $1=, 8 + i32.add $1=, $2, $1 block - i32.call $push0=, foo@FUNCTION, $3, $4 + i32.call $push0=, foo@FUNCTION, $0, $1 i32.const $push1=, 1 i32.ne $push2=, $pop0, $pop1 br_if 0, $pop2 # 0: down to label0 # BB#1: # %if.end i32.const $push3=, 0 - i32.const $2=, 16 - i32.add $5=, $5, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 + i32.const $push8=, 16 + i32.add $2=, $2, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $2 return $pop3 .LBB2_2: # %if.then end_block # label0: diff --git a/test/torture-s/pr49390.c.s b/test/torture-s/pr49390.c.s index 88488692e..0af208eb5 100644 --- a/test/torture-s/pr49390.c.s +++ b/test/torture-s/pr49390.c.s @@ -80,24 +80,24 @@ baz: # @baz .type test,@function test: # @test .param i32 - .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i64, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 16 - i32.sub $12=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $12=, 0($8), $12 - i32.const $10=, 8 - i32.add $10=, $12, $10 - copy_local $2=, $10 + i32.const $push70=, __stack_pointer + i32.load $push71=, 0($pop70) + i32.const $push72=, 16 + i32.sub $8=, $pop71, $pop72 + i32.const $push73=, __stack_pointer + i32.store $discard=, 0($pop73), $8 + i32.const $7=, 8 + i32.add $7=, $8, $7 + copy_local $2=, $7 i32.const $push1=, 0 i64.load $push2=, a($pop1) - i64.store $1=, 8($12), $pop2 + i64.store $1=, 8($8), $pop2 block - i32.const $push72=, 0 - i32.eq $push73=, $0, $pop72 - br_if 0, $pop73 # 0: down to label1 + i32.const $push76=, 0 + i32.eq $push77=, $0, $pop76 + br_if 0, $pop77 # 0: down to label1 # BB#1: # %if.else block block @@ -128,12 +128,12 @@ test: # @test end_block # label1: block i32.call $push15=, baz@FUNCTION, $2 - i32.const $push74=, 0 - i32.eq $push75=, $pop15, $pop74 - br_if 0, $pop75 # 0: down to label4 + i32.const $push78=, 0 + i32.eq $push79=, $pop15, $pop78 + br_if 0, $pop79 # 0: down to label4 # BB#6: # %if.end9 - i32.const $push21=, 32 - i32.const $push62=, 4 + i32.const $push22=, 32 + i32.const $push21=, 4 i32.const $push16=, 0 i32.load $push61=, b($pop16) tee_local $push60=, $6=, $pop61 @@ -143,37 +143,33 @@ test: # @test i32.and $push18=, $pop58, $pop17 i32.const $push19=, 1 i32.shr_u $push20=, $pop18, $pop19 - i32.select $0=, $pop21, $pop62, $pop20 + i32.select $0=, $pop22, $pop21, $pop20 block block i32.load $push57=, 4($2) tee_local $push56=, $4=, $pop57 - i32.const $push22=, 8191 - i32.and $push55=, $pop56, $pop22 + i32.const $push23=, 8191 + i32.and $push55=, $pop56, $pop23 tee_local $push54=, $3=, $pop55 - i32.const $push76=, 0 - i32.eq $push77=, $pop54, $pop76 - br_if 0, $pop77 # 0: down to label6 + i32.const $push80=, 0 + i32.eq $push81=, $pop54, $pop80 + br_if 0, $pop81 # 0: down to label6 # BB#7: # %if.else17 - i32.ge_u $push23=, $3, $0 - br_if 1, $pop23 # 1: down to label5 + i32.ge_u $push24=, $3, $0 + br_if 1, $pop24 # 1: down to label5 # BB#8: # %if.then20 - i32.const $push26=, 2 - i32.const $push25=, 0 - i32.load $push24=, 0($2) - call foo@FUNCTION, $pop26, $pop25, $pop24, $4 + i32.const $push27=, 2 + i32.const $push26=, 0 + i32.load $push25=, 0($2) + call foo@FUNCTION, $pop27, $pop26, $pop25, $4 br 2 # 2: down to label4 .LBB3_9: # %if.then15 end_block # label6: - i32.const $push63=, 4 - i32.const $11=, 8 - i32.add $11=, $12, $11 - i32.or $push27=, $11, $pop63 i64.const $push3=, 32 i64.shr_u $push4=, $1, $pop3 i32.wrap/i64 $push0=, $pop4 i32.add $push28=, $pop0, $0 - i32.store $discard=, 0($pop27), $pop28 + i32.store $discard=, 12($8), $pop28 copy_local $3=, $0 .LBB3_10: # %if.end24 end_block # label5: @@ -183,13 +179,13 @@ test: # @test # BB#11: # %if.end24 i32.const $push30=, 1 i32.and $push29=, $5, $pop30 - i32.const $push78=, 0 - i32.eq $push79=, $pop29, $pop78 - br_if 0, $pop79 # 0: down to label7 + i32.const $push82=, 0 + i32.eq $push83=, $pop29, $pop82 + br_if 0, $pop83 # 0: down to label7 # BB#12: # %if.then31 i64.load $push43=, 0($2):p2align=2 - i64.store $discard=, 0($12):p2align=2, $pop43 - call bar@FUNCTION, $12 + i64.store $discard=, 0($8):p2align=2, $pop43 + call bar@FUNCTION, $8 i32.const $push49=, 3 i32.const $push48=, 0 i32.load $push46=, 0($2) @@ -202,17 +198,17 @@ test: # @test end_block # label7: i32.const $push32=, 4 i32.add $push33=, $2, $pop32 - i32.load $push71=, 0($pop33) - tee_local $push70=, $0=, $pop71 + i32.load $push69=, 0($pop33) + tee_local $push68=, $0=, $pop69 i32.const $push34=, 8191 - i32.and $push35=, $pop70, $pop34 - i32.add $push69=, $6, $pop35 - tee_local $push68=, $3=, $pop69 - i32.load $push67=, 4($pop68) - tee_local $push66=, $5=, $pop67 - i32.load $push65=, 0($2) - tee_local $push64=, $2=, $pop65 - i32.lt_u $push36=, $pop66, $pop64 + i32.and $push35=, $pop68, $pop34 + i32.add $push67=, $6, $pop35 + tee_local $push66=, $3=, $pop67 + i32.load $push65=, 4($pop66) + tee_local $push64=, $5=, $pop65 + i32.load $push63=, 0($2) + tee_local $push62=, $2=, $pop63 + i32.lt_u $push36=, $pop64, $pop62 br_if 0, $pop36 # 0: down to label4 # BB#14: # %land.lhs.true41 block @@ -230,10 +226,10 @@ test: # @test call foo@FUNCTION, $pop42, $3, $2, $0 .LBB3_17: # %cleanup end_block # label4: - i32.const $9=, 16 - i32.add $12=, $12, $9 - i32.const $9=, __stack_pointer - i32.store $12=, 0($9), $12 + i32.const $push74=, 16 + i32.add $8=, $8, $pop74 + i32.const $push75=, __stack_pointer + i32.store $discard=, 0($pop75), $8 return .endfunc .Lfunc_end3: diff --git a/test/torture-s/pr49419.c.s b/test/torture-s/pr49419.c.s index d91d5a8e9..c9d8e0c7f 100644 --- a/test/torture-s/pr49419.c.s +++ b/test/torture-s/pr49419.c.s @@ -107,57 +107,51 @@ 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, i32 # BB#0: # %for.body.i.preheader - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 48 - i32.sub $9=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $9=, 0($5), $9 + i32.const $push47=, __stack_pointer + i32.load $push48=, 0($pop47) + i32.const $push49=, 48 + i32.sub $6=, $pop48, $pop49 + i32.const $push50=, __stack_pointer + i32.store $discard=, 0($pop50), $6 i32.const $2=, 0 - i32.const $push36=, 0 + i32.const $push30=, 0 i32.const $push1=, 36 - i32.call $discard=, memset@FUNCTION, $9, $pop36, $pop1 - i32.const $push3=, 4 - i32.or $push4=, $9, $pop3 + i32.call $discard=, memset@FUNCTION, $6, $pop30, $pop1 i32.const $push0=, 1 - i32.store $push2=, 0($9):p2align=4, $pop0 - i32.store $0=, 0($pop4), $pop2 - i32.const $push35=, 12 - i32.or $push8=, $9, $pop35 - i32.load $1=, 0($pop8) - i32.const $push5=, 8 - i32.or $push6=, $9, $pop5 - i32.const $push7=, 2 - i32.store $3=, 0($pop6):p2align=3, $pop7 - i32.const $push34=, 0 - i32.store $discard=, t($pop34), $9 + i32.store $push2=, 0($6):p2align=4, $pop0 + i32.store $0=, 4($6), $pop2 + i32.load $1=, 12($6) + i32.const $push3=, 2 + i32.store $3=, 8($6):p2align=3, $pop3 + i32.const $push29=, 0 + i32.store $discard=, t($pop29), $6 block block - i32.ne $push9=, $1, $0 - br_if 0, $pop9 # 0: down to label9 + i32.ne $push4=, $1, $0 + br_if 0, $pop4 # 0: down to label9 .LBB1_1: # %for.body.i.for.body.i_crit_edge # =>This Inner Loop Header: Depth=1 loop # label10: i32.add $1=, $2, $3 - i32.const $push37=, 1 - i32.add $2=, $2, $pop37 - i32.gt_s $push15=, $1, $3 - br_if 3, $pop15 # 3: down to label8 + i32.const $push31=, 1 + i32.add $2=, $2, $pop31 + i32.gt_s $push10=, $1, $3 + br_if 3, $pop10 # 3: down to label8 # BB#2: # %for.body.i.for.body.i_crit_edge # in Loop: Header=BB1_1 Depth=1 - i32.const $push40=, 12 - i32.mul $push11=, $0, $pop40 - i32.add $push12=, $9, $pop11 - i32.load $0=, 4($pop12) - i32.const $push39=, 12 - i32.mul $push13=, $0, $pop39 - i32.add $push14=, $9, $pop13 - i32.load $push10=, 0($pop14) - i32.const $push38=, 1 - i32.eq $push16=, $pop10, $pop38 - br_if 0, $pop16 # 0: up to label10 + i32.const $push34=, 12 + i32.mul $push6=, $0, $pop34 + i32.add $push7=, $6, $pop6 + i32.load $0=, 4($pop7) + i32.const $push33=, 12 + i32.mul $push8=, $0, $pop33 + i32.add $push9=, $6, $pop8 + i32.load $push5=, 0($pop9) + i32.const $push32=, 1 + i32.eq $push11=, $pop5, $pop32 + br_if 0, $pop11 # 0: up to label10 br 3 # 3: down to label8 .LBB1_3: end_loop # label11: @@ -168,79 +162,79 @@ main: # @main block block block - i32.const $push17=, 3 - i32.eq $push18=, $1, $pop17 - br_if 0, $pop18 # 0: down to label14 + i32.const $push12=, 3 + i32.eq $push13=, $1, $pop12 + br_if 0, $pop13 # 0: down to label14 # BB#5: # %if.end7.i - i32.const $push41=, 0 - i32.lt_s $push19=, $2, $pop41 - br_if 1, $pop19 # 1: down to label13 + i32.const $push35=, 0 + i32.lt_s $push14=, $2, $pop35 + br_if 1, $pop14 # 1: down to label13 # BB#6: # %for.body10.i.preheader i32.const $3=, 1 - i32.const $push20=, 2 - i32.shl $push44=, $1, $pop20 - tee_local $push43=, $0=, $pop44 - i32.const $7=, 36 - i32.add $7=, $9, $7 + i32.const $push15=, 2 + i32.shl $push38=, $1, $pop15 + tee_local $push37=, $0=, $pop38 + i32.const $4=, 36 + i32.add $4=, $6, $4 block - i32.add $push21=, $7, $pop43 - i32.const $push42=, 2 - i32.store $push22=, 0($pop21), $pop42 - i32.lt_s $push23=, $1, $pop22 - br_if 0, $pop23 # 0: down to label15 + i32.add $push16=, $4, $pop37 + i32.const $push36=, 2 + i32.store $push17=, 0($pop16), $pop36 + i32.lt_s $push18=, $1, $pop17 + br_if 0, $pop18 # 0: down to label15 # BB#7: # %for.body10.i.for.body10.i_crit_edge.preheader - i32.const $8=, 36 - i32.add $8=, $9, $8 - i32.add $push24=, $0, $8 - i32.const $push45=, -4 - i32.add $0=, $pop24, $pop45 + i32.const $5=, 36 + i32.add $5=, $6, $5 + i32.add $push19=, $0, $5 + i32.const $push39=, -4 + i32.add $0=, $pop19, $pop39 i32.const $3=, 1 .LBB1_8: # %for.body10.i.for.body10.i_crit_edge # =>This Inner Loop Header: Depth=1 loop # label16: - i32.const $push52=, 12 - i32.mul $push25=, $3, $pop52 - i32.add $push51=, $9, $pop25 - tee_local $push50=, $3=, $pop51 - i32.load $push26=, 8($pop50) - i32.store $discard=, 0($0), $pop26 + i32.const $push46=, 12 + i32.mul $push20=, $3, $pop46 + i32.add $push45=, $6, $pop20 + tee_local $push44=, $3=, $pop45 + i32.load $push21=, 8($pop44) + i32.store $discard=, 0($0), $pop21 i32.load $3=, 4($3) - i32.const $push49=, -1 - i32.add $1=, $1, $pop49 - i32.const $push48=, -4 - i32.add $0=, $0, $pop48 - i32.const $push47=, 1 - i32.gt_s $push27=, $1, $pop47 - br_if 0, $pop27 # 0: up to label16 + i32.const $push43=, -1 + i32.add $1=, $1, $pop43 + i32.const $push42=, -4 + i32.add $0=, $0, $pop42 + i32.const $push41=, 1 + i32.gt_s $push22=, $1, $pop41 + br_if 0, $pop22 # 0: up to label16 .LBB1_9: # %foo.exit end_loop # label17: end_block # label15: - i32.store $1=, 36($9), $3 + i32.store $1=, 36($6), $3 br_if 2, $2 # 2: down to label12 # BB#10: # %if.end - i32.const $push28=, 1 - i32.ne $push29=, $1, $pop28 - br_if 2, $pop29 # 2: down to label12 + i32.const $push23=, 1 + i32.ne $push24=, $1, $pop23 + br_if 2, $pop24 # 2: down to label12 # BB#11: # %lor.lhs.false - i32.load $push30=, 40($9) - i32.const $push31=, 2 - i32.ne $push32=, $pop30, $pop31 - br_if 2, $pop32 # 2: down to label12 + i32.load $push25=, 40($6) + i32.const $push26=, 2 + i32.ne $push27=, $pop25, $pop26 + br_if 2, $pop27 # 2: down to label12 # BB#12: # %if.end6 - i32.const $push33=, 0 - i32.const $6=, 48 - i32.add $9=, $9, $6 - i32.const $6=, __stack_pointer - i32.store $9=, 0($6), $9 - return $pop33 + i32.const $push28=, 0 + i32.const $push51=, 48 + i32.add $6=, $6, $pop51 + i32.const $push52=, __stack_pointer + i32.store $discard=, 0($pop52), $6 + return $pop28 .LBB1_13: # %if.then6.i end_block # label14: call abort@FUNCTION unreachable .LBB1_14: # %foo.exit.thread end_block # label13: - i32.const $push46=, 0 - i32.store $discard=, 36($9), $pop46 + i32.const $push40=, 0 + i32.store $discard=, 36($6), $pop40 .LBB1_15: # %if.then5 end_block # label12: call abort@FUNCTION diff --git a/test/torture-s/pr51323.c.s b/test/torture-s/pr51323.c.s index 97949e40f..c5c3320e4 100644 --- a/test/torture-s/pr51323.c.s +++ b/test/torture-s/pr51323.c.s @@ -49,62 +49,57 @@ bar: # @bar .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 48 - i32.sub $9=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $9=, 0($2), $9 + i32.const $push21=, __stack_pointer + i32.load $push22=, 0($pop21) + i32.const $push23=, 48 + i32.sub $4=, $pop22, $pop23 + i32.const $push24=, __stack_pointer + i32.store $discard=, 0($pop24), $4 i32.const $push3=, 2 - i32.store $discard=, 32($9):p2align=3, $pop3 - i32.const $push4=, 4 - i32.const $4=, 32 - i32.add $4=, $9, $4 - i32.or $push23=, $4, $pop4 - tee_local $push22=, $0=, $pop23 + i32.store $discard=, 32($4):p2align=3, $pop3 i32.const $push1=, 0 i32.const $push0=, 3 i32.store $push2=, v($pop1), $pop0 - i32.store $discard=, 0($pop22), $pop2 + i32.store $discard=, 36($4), $pop2 i32.const $push6=, 8 - i32.const $5=, 20 - i32.add $5=, $9, $5 - i32.add $push7=, $5, $pop6 - i32.const $push21=, 4 - i32.store $push5=, 40($9):p2align=3, $pop21 + i32.const $0=, 20 + i32.add $0=, $4, $0 + i32.add $push7=, $0, $pop6 + i32.const $push4=, 4 + i32.store $push5=, 40($4):p2align=3, $pop4 i32.store $discard=, 0($pop7), $pop5 - i64.load $push8=, 32($9) - i64.store $discard=, 20($9):p2align=2, $pop8 + i64.load $push8=, 32($4) + i64.store $discard=, 20($4):p2align=2, $pop8 i32.const $push9=, 9 - i32.const $6=, 20 - i32.add $6=, $9, $6 - call bar@FUNCTION, $pop9, $6 + i32.const $1=, 20 + i32.add $1=, $4, $1 + call bar@FUNCTION, $pop9, $1 + i32.const $push12=, 16 + i32.store $discard=, 32($4):p2align=3, $pop12 i32.const $push20=, 0 i32.const $push10=, 17 i32.store $push11=, v($pop20), $pop10 - i32.store $discard=, 0($0), $pop11 - i32.const $push12=, 16 - i32.store $discard=, 32($9):p2align=3, $pop12 + i32.store $discard=, 36($4), $pop11 i32.const $push19=, 8 - i32.const $7=, 8 - i32.add $7=, $9, $7 - i32.add $push15=, $7, $pop19 + i32.const $2=, 8 + i32.add $2=, $4, $2 + i32.add $push15=, $2, $pop19 i32.const $push13=, 18 - i32.store $push14=, 40($9):p2align=3, $pop13 + i32.store $push14=, 40($4):p2align=3, $pop13 i32.store $discard=, 0($pop15), $pop14 - i64.load $push16=, 32($9) - i64.store $discard=, 8($9):p2align=2, $pop16 + i64.load $push16=, 32($4) + i64.store $discard=, 8($4):p2align=2, $pop16 i32.const $push18=, 9 - i32.const $8=, 8 - i32.add $8=, $9, $8 - call bar@FUNCTION, $pop18, $8 + i32.const $3=, 8 + i32.add $3=, $4, $3 + call bar@FUNCTION, $pop18, $3 i32.const $push17=, 0 - i32.const $3=, 48 - i32.add $9=, $9, $3 - i32.const $3=, __stack_pointer - i32.store $9=, 0($3), $9 + i32.const $push25=, 48 + i32.add $4=, $4, $pop25 + i32.const $push26=, __stack_pointer + i32.store $discard=, 0($pop26), $4 return $pop17 .endfunc .Lfunc_end2: diff --git a/test/torture-s/pr51466.c.s b/test/torture-s/pr51466.c.s index 7a3207504..cde1d4de9 100644 --- a/test/torture-s/pr51466.c.s +++ b/test/torture-s/pr51466.c.s @@ -7,23 +7,17 @@ foo: # @foo .param i32 .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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 $push5=, __stack_pointer + i32.load $push6=, 0($pop5) + i32.const $push7=, 16 + i32.sub $1=, $pop6, $pop7 i32.const $push0=, 2 i32.shl $push1=, $0, $pop0 - i32.add $push2=, $4, $pop1 + i32.add $push2=, $1, $pop1 i32.const $push3=, 6 i32.store $push4=, 0($pop2), $pop3 - i32.const $3=, 16 - i32.add $4=, $4, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 return $pop4 .endfunc .Lfunc_end0: @@ -36,27 +30,21 @@ foo: # @foo bar: # @bar .param i32 .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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 $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 16 + i32.sub $1=, $pop8, $pop9 i32.const $push0=, 2 i32.shl $push1=, $0, $pop0 - i32.add $push6=, $4, $pop1 + i32.add $push6=, $1, $pop1 tee_local $push5=, $0=, $pop6 i32.const $push2=, 6 i32.store $discard=, 0($pop5), $pop2 i32.const $push3=, 8 i32.store $discard=, 0($0), $pop3 i32.load $push4=, 0($0) - i32.const $3=, 16 - i32.add $4=, $4, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 return $pop4 .endfunc .Lfunc_end1: @@ -69,27 +57,21 @@ bar: # @bar baz: # @baz .param i32 .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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 $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 16 + i32.sub $1=, $pop8, $pop9 i32.const $push0=, 2 i32.shl $push1=, $0, $pop0 - i32.add $push6=, $4, $pop1 + i32.add $push6=, $1, $pop1 tee_local $push5=, $0=, $pop6 i32.const $push2=, 6 i32.store $discard=, 0($pop5), $pop2 i32.const $push3=, 8 - i32.store $discard=, 0($4):p2align=4, $pop3 + i32.store $discard=, 0($1):p2align=4, $pop3 i32.load $push4=, 0($0) - i32.const $3=, 16 - i32.add $4=, $4, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 return $pop4 .endfunc .Lfunc_end2: diff --git a/test/torture-s/pr51877.c.s b/test/torture-s/pr51877.c.s index 9ea3ea282..a0d3f547f 100644 --- a/test/torture-s/pr51877.c.s +++ b/test/torture-s/pr51877.c.s @@ -44,14 +44,14 @@ baz: # @baz .type foo,@function foo: # @foo .param i32, i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 80 - i32.sub $7=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $7=, 0($3), $7 + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 80 + i32.sub $4=, $pop8, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $4 block block i32.const $push0=, 6 @@ -59,28 +59,28 @@ foo: # @foo br_if 0, $pop1 # 0: down to label1 # BB#1: # %if.then i32.const $push4=, 7 - i32.const $5=, 40 - i32.add $5=, $7, $5 - call bar@FUNCTION, $5, $pop4 + i32.const $2=, 40 + i32.add $2=, $4, $2 + call bar@FUNCTION, $2, $pop4 i32.const $push5=, a i32.const $push6=, 36 - i32.const $6=, 40 - i32.add $6=, $7, $6 - i32.call $discard=, memcpy@FUNCTION, $pop5, $6, $pop6 + i32.const $3=, 40 + i32.add $3=, $4, $3 + i32.call $discard=, memcpy@FUNCTION, $pop5, $3, $pop6 br 1 # 1: down to label0 .LBB2_2: # %if.else end_block # label1: i32.const $push2=, 7 - call bar@FUNCTION, $7, $pop2 + call bar@FUNCTION, $4, $pop2 i32.const $push3=, 36 - i32.call $discard=, memcpy@FUNCTION, $0, $7, $pop3 + i32.call $discard=, memcpy@FUNCTION, $0, $4, $pop3 .LBB2_3: # %if.end end_block # label0: call baz@FUNCTION - i32.const $4=, 80 - i32.add $7=, $7, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 + i32.const $push11=, 80 + i32.add $4=, $4, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $4 return .endfunc .Lfunc_end2: @@ -92,28 +92,28 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 80 - i32.sub $5=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $5=, 0($1), $5 + i32.const $push65=, __stack_pointer + i32.load $push66=, 0($pop65) + i32.const $push67=, 80 + i32.sub $2=, $pop66, $pop67 + i32.const $push68=, __stack_pointer + i32.store $discard=, 0($pop68), $2 i32.const $push49=, 3 - i32.const $3=, 40 - i32.add $3=, $5, $3 - call bar@FUNCTION, $3, $pop49 + i32.const $0=, 40 + i32.add $0=, $2, $0 + call bar@FUNCTION, $0, $pop49 i32.const $push0=, a i32.const $push1=, 36 - i32.const $4=, 40 - i32.add $4=, $5, $4 - i32.call $discard=, memcpy@FUNCTION, $pop0, $4, $pop1 + i32.const $1=, 40 + i32.add $1=, $2, $1 + i32.call $discard=, memcpy@FUNCTION, $pop0, $1, $pop1 i32.const $push2=, 4 - call bar@FUNCTION, $5, $pop2 + call bar@FUNCTION, $2, $pop2 i32.const $push3=, b i32.const $push48=, 36 - i32.call $discard=, memcpy@FUNCTION, $pop3, $5, $pop48 + i32.call $discard=, memcpy@FUNCTION, $pop3, $2, $pop48 block i32.const $push47=, 0 i32.load $push4=, a($pop47) @@ -200,10 +200,10 @@ main: # @main br_if 0, $pop45 # 0: down to label2 # BB#12: # %if.end40 i32.const $push46=, 0 - i32.const $2=, 80 - i32.add $5=, $5, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 + i32.const $push69=, 80 + i32.add $2=, $2, $pop69 + i32.const $push70=, __stack_pointer + i32.store $discard=, 0($pop70), $2 return $pop46 .LBB3_13: # %if.then39 end_block # label2: diff --git a/test/torture-s/pr51933.c.s b/test/torture-s/pr51933.c.s index 2f71242c5..5645dc7d7 100644 --- a/test/torture-s/pr51933.c.s +++ b/test/torture-s/pr51933.c.s @@ -77,88 +77,80 @@ bar: # @bar .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 80 - i32.sub $6=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $6=, 0($2), $6 + i32.const $push27=, __stack_pointer + i32.load $push28=, 0($pop27) + i32.const $push29=, 80 + i32.sub $3=, $pop28, $pop29 + i32.const $push30=, __stack_pointer + i32.store $discard=, 0($pop30), $3 i32.const $0=, 0 .LBB2_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label4: i32.store8 $discard=, v2($0), $0 - i32.const $push33=, 1 - i32.add $push0=, $0, $pop33 + i32.const $push25=, 1 + i32.add $push0=, $0, $pop25 i32.store8 $0=, v3($0), $pop0 - i32.const $push32=, 256 - i32.ne $push1=, $0, $pop32 + i32.const $push24=, 256 + i32.ne $push1=, $0, $pop24 br_if 0, $pop1 # 0: up to label4 # BB#2: # %for.body6.preheader end_loop # label5: - i32.const $push3=, 8 - i32.or $push4=, $6, $pop3 - i32.const $push5=, 101 - i32.store16 $discard=, 0($pop4):p2align=3, $pop5 - i32.const $push10=, 14 - i32.or $push11=, $6, $pop10 - i32.const $push12=, 104 - i32.store16 $discard=, 0($pop11), $pop12 - i32.const $push6=, 10 - i32.or $push7=, $6, $pop6 - i32.const $push21=, 1638 - i32.store16 $discard=, 0($pop7), $pop21 - i32.const $push8=, 12 - i32.or $push9=, $6, $pop8 - i32.const $push22=, 1383 - i32.store16 $discard=, 0($pop9):p2align=2, $pop22 - i32.const $push13=, 105 - i32.store16 $discard=, 16($6):p2align=4, $pop13 - i32.const $push14=, 106 - i32.store16 $discard=, 18($6), $pop14 - i32.const $push15=, 107 - i32.store16 $discard=, 20($6):p2align=2, $pop15 - i32.const $push16=, 109 - i32.store16 $discard=, 24($6):p2align=3, $pop16 - i32.const $push17=, 110 - i32.store16 $discard=, 26($6), $pop17 - i32.const $push18=, 111 - i32.store16 $discard=, 28($6):p2align=2, $pop18 - i32.const $push19=, 113 - i32.store16 $discard=, 32($6):p2align=4, $pop19 - i32.const $push20=, 0 - i32.store16 $discard=, 34($6), $pop20 - i32.const $push23=, 8300 - i32.store16 $discard=, 22($6), $pop23 - i32.const $push24=, 1392 - i32.store16 $discard=, 30($6), $pop24 + i32.const $push3=, 101 + i32.store16 $discard=, 8($3):p2align=3, $pop3 + i32.const $push4=, 104 + i32.store16 $discard=, 14($3), $pop4 + i32.const $push5=, 105 + i32.store16 $discard=, 16($3):p2align=4, $pop5 + i32.const $push6=, 106 + i32.store16 $discard=, 18($3), $pop6 + i32.const $push7=, 107 + i32.store16 $discard=, 20($3):p2align=2, $pop7 + i32.const $push8=, 109 + i32.store16 $discard=, 24($3):p2align=3, $pop8 + i32.const $push9=, 110 + i32.store16 $discard=, 26($3), $pop9 + i32.const $push10=, 111 + i32.store16 $discard=, 28($3):p2align=2, $pop10 + i32.const $push11=, 113 + i32.store16 $discard=, 32($3):p2align=4, $pop11 + i32.const $push12=, 0 + i32.store16 $discard=, 34($3), $pop12 + i32.const $push13=, 1638 + i32.store16 $discard=, 10($3), $pop13 + i32.const $push14=, 1383 + i32.store16 $discard=, 12($3):p2align=2, $pop14 + i32.const $push15=, 8300 + i32.store16 $discard=, 22($3), $pop15 + i32.const $push16=, 1392 + i32.store16 $discard=, 30($3), $pop16 i64.const $push2=, 28147922879250529 - i64.store $discard=, 0($6):p2align=4, $pop2 + i64.store $discard=, 0($3):p2align=4, $pop2 call foo@FUNCTION - i32.const $push25=, 17 - i32.const $4=, 48 - i32.add $4=, $6, $4 + i32.const $push17=, 17 + i32.const $1=, 48 + i32.add $1=, $3, $1 block - i32.call $push26=, bar@FUNCTION, $pop25, $6, $4 - i32.const $push34=, 17 - i32.ne $push27=, $pop26, $pop34 - br_if 0, $pop27 # 0: down to label6 + i32.call $push18=, bar@FUNCTION, $pop17, $3, $1 + i32.const $push26=, 17 + i32.ne $push19=, $pop18, $pop26 + br_if 0, $pop19 # 0: down to label6 # BB#3: # %lor.lhs.false - i32.const $push28=, .L.str - i32.const $push29=, 18 - i32.const $5=, 48 - i32.add $5=, $6, $5 - i32.call $push30=, memcmp@FUNCTION, $5, $pop28, $pop29 - br_if 0, $pop30 # 0: down to label6 + i32.const $push20=, .L.str + i32.const $push21=, 18 + i32.const $2=, 48 + i32.add $2=, $3, $2 + i32.call $push22=, memcmp@FUNCTION, $2, $pop20, $pop21 + br_if 0, $pop22 # 0: down to label6 # BB#4: # %if.end - i32.const $push31=, 0 - i32.const $3=, 80 - i32.add $6=, $6, $3 - i32.const $3=, __stack_pointer - i32.store $6=, 0($3), $6 - return $pop31 + i32.const $push23=, 0 + i32.const $push31=, 80 + i32.add $3=, $3, $pop31 + i32.const $push32=, __stack_pointer + i32.store $discard=, 0($pop32), $3 + return $pop23 .LBB2_5: # %if.then end_block # label6: call abort@FUNCTION diff --git a/test/torture-s/pr52129.c.s b/test/torture-s/pr52129.c.s index a48a9126f..1027993e6 100644 --- a/test/torture-s/pr52129.c.s +++ b/test/torture-s/pr52129.c.s @@ -48,27 +48,27 @@ foo: # @foo bar: # @bar .param i32, i32, i32, i32, i32, i32 .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 16 - i32.sub $10=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $10=, 0($7), $10 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $7=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $7 i32.add $4=, $5, $4 i64.load $push2=, 0($3):p2align=2 - i64.store $discard=, 8($10):p2align=2, $pop2 + i64.store $discard=, 8($7):p2align=2, $pop2 i32.const $push0=, 64 i32.add $push1=, $4, $pop0 - i32.const $9=, 8 - i32.add $9=, $10, $9 - i32.call $discard=, foo@FUNCTION, $0, $9, $4, $pop1 + i32.const $6=, 8 + i32.add $6=, $7, $6 + i32.call $discard=, foo@FUNCTION, $0, $6, $4, $pop1 i32.const $push3=, 29 - i32.const $8=, 16 - i32.add $10=, $10, $8 - i32.const $8=, __stack_pointer - i32.store $10=, 0($8), $10 + i32.const $push8=, 16 + i32.add $7=, $7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $7 return $pop3 .endfunc .Lfunc_end1: @@ -80,28 +80,28 @@ bar: # @bar .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $5=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $2=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $2 i32.const $push0=, 0 i64.load $push1=, .Lmain.s($pop0):p2align=2 - i64.store $discard=, 8($5):p2align=2, $pop1 + i64.store $discard=, 8($2):p2align=2, $pop1 i32.const $push4=, t+2 i32.const $push3=, 17 i32.const $push2=, t - i32.const $4=, 8 - i32.add $4=, $5, $4 - i32.call $discard=, bar@FUNCTION, $pop4, $0, $0, $4, $pop3, $pop2 + i32.const $1=, 8 + i32.add $1=, $2, $1 + i32.call $discard=, bar@FUNCTION, $pop4, $0, $0, $1, $pop3, $pop2 i32.const $push5=, 0 - i32.const $3=, 16 - i32.add $5=, $5, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $push10=, 16 + i32.add $2=, $2, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $2 return $pop5 .endfunc .Lfunc_end2: diff --git a/test/torture-s/pr52760.c.s b/test/torture-s/pr52760.c.s index 882d1c9f1..d99d8e1ea 100644 --- a/test/torture-s/pr52760.c.s +++ b/test/torture-s/pr52760.c.s @@ -71,31 +71,31 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $1=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $1 i64.const $push0=, 434320308619640833 - i64.store $discard=, 8($4), $pop0 + i64.store $discard=, 8($1), $pop0 i32.const $push1=, 1 - i32.const $3=, 8 - i32.add $3=, $4, $3 - call foo@FUNCTION, $pop1, $3 + i32.const $0=, 8 + i32.add $0=, $1, $0 + call foo@FUNCTION, $pop1, $0 block - i64.load $push2=, 8($4) + i64.load $push2=, 8($1) i64.const $push3=, 506097522914230528 i64.ne $push4=, $pop2, $pop3 br_if 0, $pop4 # 0: down to label3 # BB#1: # %if.end i32.const $push5=, 0 - i32.const $2=, 16 - i32.add $4=, $4, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 + i32.const $push10=, 16 + i32.add $1=, $1, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $1 return $pop5 .LBB1_2: # %if.then end_block # label3: diff --git a/test/torture-s/pr53645-2.c.s b/test/torture-s/pr53645-2.c.s new file mode 100644 index 000000000..159ade04c --- /dev/null +++ b/test/torture-s/pr53645-2.c.s @@ -0,0 +1,4776 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr53645-2.c" + .section .text.uq44444444,"ax",@progbits + .hidden uq44444444 + .globl uq44444444 + .type uq44444444,@function +uq44444444: # @uq44444444 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_u $2=, 0($pop1) + i32.const $push2=, 12 + i32.add $push3=, $1, $pop2 + i32.load16_u $3=, 0($pop3):p2align=2 + i32.const $push4=, 10 + i32.add $push5=, $1, $pop4 + i32.load16_u $4=, 0($pop5) + i32.const $push6=, 8 + i32.add $push7=, $1, $pop6 + i32.load16_u $5=, 0($pop7):p2align=3 + i32.const $push8=, 6 + i32.add $push9=, $1, $pop8 + i32.load16_u $6=, 0($pop9) + i32.const $push10=, 4 + i32.add $push11=, $1, $pop10 + i32.load16_u $7=, 0($pop11):p2align=2 + i32.const $push12=, 2 + i32.add $push13=, $1, $pop12 + i32.load16_u $8=, 0($pop13) + i32.load16_u $push14=, 0($1):p2align=4 + i32.const $push44=, 2 + i32.shr_u $push22=, $pop14, $pop44 + i32.store16 $discard=, 0($0):p2align=4, $pop22 + i32.const $push43=, 14 + i32.add $push23=, $0, $pop43 + i32.const $push42=, 2 + i32.shr_u $push21=, $2, $pop42 + i32.store16 $discard=, 0($pop23), $pop21 + i32.const $push41=, 12 + i32.add $push24=, $0, $pop41 + i32.const $push40=, 2 + i32.shr_u $push20=, $3, $pop40 + i32.store16 $discard=, 0($pop24):p2align=2, $pop20 + i32.const $push39=, 10 + i32.add $push25=, $0, $pop39 + i32.const $push38=, 2 + i32.shr_u $push19=, $4, $pop38 + i32.store16 $discard=, 0($pop25), $pop19 + i32.const $push37=, 8 + i32.add $push26=, $0, $pop37 + i32.const $push36=, 2 + i32.shr_u $push18=, $5, $pop36 + i32.store16 $discard=, 0($pop26):p2align=3, $pop18 + i32.const $push35=, 6 + i32.add $push27=, $0, $pop35 + i32.const $push34=, 2 + i32.shr_u $push17=, $6, $pop34 + i32.store16 $discard=, 0($pop27), $pop17 + i32.const $push33=, 4 + i32.add $push28=, $0, $pop33 + i32.const $push32=, 2 + i32.shr_u $push16=, $7, $pop32 + i32.store16 $discard=, 0($pop28):p2align=2, $pop16 + i32.const $push31=, 2 + i32.add $push29=, $0, $pop31 + i32.const $push30=, 2 + i32.shr_u $push15=, $8, $pop30 + i32.store16 $discard=, 0($pop29), $pop15 + return + .endfunc +.Lfunc_end0: + .size uq44444444, .Lfunc_end0-uq44444444 + + .section .text.ur44444444,"ax",@progbits + .hidden ur44444444 + .globl ur44444444 + .type ur44444444,@function +ur44444444: # @ur44444444 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_u $2=, 0($pop1) + i32.const $push2=, 12 + i32.add $push3=, $1, $pop2 + i32.load16_u $3=, 0($pop3):p2align=2 + i32.const $push4=, 10 + i32.add $push5=, $1, $pop4 + i32.load16_u $4=, 0($pop5) + i32.const $push6=, 8 + i32.add $push7=, $1, $pop6 + i32.load16_u $5=, 0($pop7):p2align=3 + i32.const $push8=, 6 + i32.add $push9=, $1, $pop8 + i32.load16_u $6=, 0($pop9) + i32.const $push10=, 4 + i32.add $push11=, $1, $pop10 + i32.load16_u $7=, 0($pop11):p2align=2 + i32.const $push12=, 2 + i32.add $push13=, $1, $pop12 + i32.load16_u $8=, 0($pop13) + i32.load16_u $push14=, 0($1):p2align=4 + i32.const $push15=, 3 + i32.and $push23=, $pop14, $pop15 + i32.store16 $discard=, 0($0):p2align=4, $pop23 + i32.const $push44=, 14 + i32.add $push24=, $0, $pop44 + i32.const $push43=, 3 + i32.and $push22=, $2, $pop43 + i32.store16 $discard=, 0($pop24), $pop22 + i32.const $push42=, 12 + i32.add $push25=, $0, $pop42 + i32.const $push41=, 3 + i32.and $push21=, $3, $pop41 + i32.store16 $discard=, 0($pop25):p2align=2, $pop21 + i32.const $push40=, 10 + i32.add $push26=, $0, $pop40 + i32.const $push39=, 3 + i32.and $push20=, $4, $pop39 + i32.store16 $discard=, 0($pop26), $pop20 + i32.const $push38=, 8 + i32.add $push27=, $0, $pop38 + i32.const $push37=, 3 + i32.and $push19=, $5, $pop37 + i32.store16 $discard=, 0($pop27):p2align=3, $pop19 + i32.const $push36=, 6 + i32.add $push28=, $0, $pop36 + i32.const $push35=, 3 + i32.and $push18=, $6, $pop35 + i32.store16 $discard=, 0($pop28), $pop18 + i32.const $push34=, 4 + i32.add $push29=, $0, $pop34 + i32.const $push33=, 3 + i32.and $push17=, $7, $pop33 + i32.store16 $discard=, 0($pop29):p2align=2, $pop17 + i32.const $push32=, 2 + i32.add $push30=, $0, $pop32 + i32.const $push31=, 3 + i32.and $push16=, $8, $pop31 + i32.store16 $discard=, 0($pop30), $pop16 + return + .endfunc +.Lfunc_end1: + .size ur44444444, .Lfunc_end1-ur44444444 + + .section .text.sq44444444,"ax",@progbits + .hidden sq44444444 + .globl sq44444444 + .type sq44444444,@function +sq44444444: # @sq44444444 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_s $2=, 0($pop1) + i32.load16_s $8=, 0($1):p2align=4 + i32.const $push2=, 12 + i32.add $push3=, $1, $pop2 + i32.load16_s $3=, 0($pop3):p2align=2 + i32.const $push4=, 10 + i32.add $push5=, $1, $pop4 + i32.load16_s $4=, 0($pop5) + i32.const $push6=, 8 + i32.add $push7=, $1, $pop6 + i32.load16_s $5=, 0($pop7):p2align=3 + i32.const $push8=, 6 + i32.add $push9=, $1, $pop8 + i32.load16_s $6=, 0($pop9) + i32.const $push10=, 4 + i32.add $push11=, $1, $pop10 + i32.load16_s $7=, 0($pop11):p2align=2 + i32.const $push12=, 2 + i32.add $push13=, $1, $pop12 + i32.load16_s $1=, 0($pop13) + i32.const $push14=, 29 + i32.shr_u $push59=, $8, $pop14 + i32.const $push16=, 3 + i32.and $push60=, $pop59, $pop16 + i32.add $push61=, $8, $pop60 + i32.const $push19=, 16 + i32.shl $push62=, $pop61, $pop19 + i32.const $push115=, 16 + i32.shr_s $push63=, $pop62, $pop115 + i32.const $push114=, 2 + i32.shr_u $push64=, $pop63, $pop114 + i32.store16 $discard=, 0($0):p2align=4, $pop64 + i32.const $push113=, 14 + i32.add $push65=, $0, $pop113 + i32.const $push112=, 29 + i32.shr_u $push53=, $2, $pop112 + i32.const $push111=, 3 + i32.and $push54=, $pop53, $pop111 + i32.add $push55=, $2, $pop54 + i32.const $push110=, 16 + i32.shl $push56=, $pop55, $pop110 + i32.const $push109=, 16 + i32.shr_s $push57=, $pop56, $pop109 + i32.const $push108=, 2 + i32.shr_u $push58=, $pop57, $pop108 + i32.store16 $discard=, 0($pop65), $pop58 + i32.const $push107=, 12 + i32.add $push66=, $0, $pop107 + i32.const $push106=, 29 + i32.shr_u $push47=, $3, $pop106 + i32.const $push105=, 3 + i32.and $push48=, $pop47, $pop105 + i32.add $push49=, $3, $pop48 + i32.const $push104=, 16 + i32.shl $push50=, $pop49, $pop104 + i32.const $push103=, 16 + i32.shr_s $push51=, $pop50, $pop103 + i32.const $push102=, 2 + i32.shr_u $push52=, $pop51, $pop102 + i32.store16 $discard=, 0($pop66):p2align=2, $pop52 + i32.const $push101=, 10 + i32.add $push67=, $0, $pop101 + i32.const $push100=, 29 + i32.shr_u $push41=, $4, $pop100 + i32.const $push99=, 3 + i32.and $push42=, $pop41, $pop99 + i32.add $push43=, $4, $pop42 + i32.const $push98=, 16 + i32.shl $push44=, $pop43, $pop98 + i32.const $push97=, 16 + i32.shr_s $push45=, $pop44, $pop97 + i32.const $push96=, 2 + i32.shr_u $push46=, $pop45, $pop96 + i32.store16 $discard=, 0($pop67), $pop46 + i32.const $push95=, 8 + i32.add $push68=, $0, $pop95 + i32.const $push94=, 29 + i32.shr_u $push35=, $5, $pop94 + i32.const $push93=, 3 + i32.and $push36=, $pop35, $pop93 + i32.add $push37=, $5, $pop36 + i32.const $push92=, 16 + i32.shl $push38=, $pop37, $pop92 + i32.const $push91=, 16 + i32.shr_s $push39=, $pop38, $pop91 + i32.const $push90=, 2 + i32.shr_u $push40=, $pop39, $pop90 + i32.store16 $discard=, 0($pop68):p2align=3, $pop40 + i32.const $push89=, 6 + i32.add $push69=, $0, $pop89 + i32.const $push88=, 29 + i32.shr_u $push29=, $6, $pop88 + i32.const $push87=, 3 + i32.and $push30=, $pop29, $pop87 + i32.add $push31=, $6, $pop30 + i32.const $push86=, 16 + i32.shl $push32=, $pop31, $pop86 + i32.const $push85=, 16 + i32.shr_s $push33=, $pop32, $pop85 + i32.const $push84=, 2 + i32.shr_u $push34=, $pop33, $pop84 + i32.store16 $discard=, 0($pop69), $pop34 + i32.const $push83=, 4 + i32.add $push70=, $0, $pop83 + i32.const $push82=, 29 + i32.shr_u $push23=, $7, $pop82 + i32.const $push81=, 3 + i32.and $push24=, $pop23, $pop81 + i32.add $push25=, $7, $pop24 + i32.const $push80=, 16 + i32.shl $push26=, $pop25, $pop80 + i32.const $push79=, 16 + i32.shr_s $push27=, $pop26, $pop79 + i32.const $push78=, 2 + i32.shr_u $push28=, $pop27, $pop78 + i32.store16 $discard=, 0($pop70):p2align=2, $pop28 + i32.const $push77=, 2 + i32.add $push71=, $0, $pop77 + i32.const $push76=, 29 + i32.shr_u $push15=, $1, $pop76 + i32.const $push75=, 3 + i32.and $push17=, $pop15, $pop75 + i32.add $push18=, $1, $pop17 + i32.const $push74=, 16 + i32.shl $push20=, $pop18, $pop74 + i32.const $push73=, 16 + i32.shr_s $push21=, $pop20, $pop73 + i32.const $push72=, 2 + i32.shr_u $push22=, $pop21, $pop72 + i32.store16 $discard=, 0($pop71), $pop22 + return + .endfunc +.Lfunc_end2: + .size sq44444444, .Lfunc_end2-sq44444444 + + .section .text.sr44444444,"ax",@progbits + .hidden sr44444444 + .globl sr44444444 + .type sr44444444,@function +sr44444444: # @sr44444444 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_s $2=, 0($pop1) + i32.load16_s $8=, 0($1):p2align=4 + i32.const $push2=, 12 + i32.add $push3=, $1, $pop2 + i32.load16_s $3=, 0($pop3):p2align=2 + i32.const $push4=, 10 + i32.add $push5=, $1, $pop4 + i32.load16_s $4=, 0($pop5) + i32.const $push6=, 8 + i32.add $push7=, $1, $pop6 + i32.load16_s $5=, 0($pop7):p2align=3 + i32.const $push8=, 6 + i32.add $push9=, $1, $pop8 + i32.load16_s $6=, 0($pop9) + i32.const $push10=, 4 + i32.add $push11=, $1, $pop10 + i32.load16_s $7=, 0($pop11):p2align=2 + i32.const $push12=, 2 + i32.add $push13=, $1, $pop12 + i32.load16_s $1=, 0($pop13) + i32.const $push14=, 29 + i32.shr_u $push52=, $8, $pop14 + i32.const $push16=, 3 + i32.and $push53=, $pop52, $pop16 + i32.add $push54=, $8, $pop53 + i32.const $push19=, 65532 + i32.and $push55=, $pop54, $pop19 + i32.sub $push56=, $8, $pop55 + i32.store16 $discard=, 0($0):p2align=4, $pop56 + i32.const $push91=, 14 + i32.add $push57=, $0, $pop91 + i32.const $push90=, 29 + i32.shr_u $push47=, $2, $pop90 + i32.const $push89=, 3 + i32.and $push48=, $pop47, $pop89 + i32.add $push49=, $2, $pop48 + i32.const $push88=, 65532 + i32.and $push50=, $pop49, $pop88 + i32.sub $push51=, $2, $pop50 + i32.store16 $discard=, 0($pop57), $pop51 + i32.const $push87=, 12 + i32.add $push58=, $0, $pop87 + i32.const $push86=, 29 + i32.shr_u $push42=, $3, $pop86 + i32.const $push85=, 3 + i32.and $push43=, $pop42, $pop85 + i32.add $push44=, $3, $pop43 + i32.const $push84=, 65532 + i32.and $push45=, $pop44, $pop84 + i32.sub $push46=, $3, $pop45 + i32.store16 $discard=, 0($pop58):p2align=2, $pop46 + i32.const $push83=, 10 + i32.add $push59=, $0, $pop83 + i32.const $push82=, 29 + i32.shr_u $push37=, $4, $pop82 + i32.const $push81=, 3 + i32.and $push38=, $pop37, $pop81 + i32.add $push39=, $4, $pop38 + i32.const $push80=, 65532 + i32.and $push40=, $pop39, $pop80 + i32.sub $push41=, $4, $pop40 + i32.store16 $discard=, 0($pop59), $pop41 + i32.const $push79=, 8 + i32.add $push60=, $0, $pop79 + i32.const $push78=, 29 + i32.shr_u $push32=, $5, $pop78 + i32.const $push77=, 3 + i32.and $push33=, $pop32, $pop77 + i32.add $push34=, $5, $pop33 + i32.const $push76=, 65532 + i32.and $push35=, $pop34, $pop76 + i32.sub $push36=, $5, $pop35 + i32.store16 $discard=, 0($pop60):p2align=3, $pop36 + i32.const $push75=, 6 + i32.add $push61=, $0, $pop75 + i32.const $push74=, 29 + i32.shr_u $push27=, $6, $pop74 + i32.const $push73=, 3 + i32.and $push28=, $pop27, $pop73 + i32.add $push29=, $6, $pop28 + i32.const $push72=, 65532 + i32.and $push30=, $pop29, $pop72 + i32.sub $push31=, $6, $pop30 + i32.store16 $discard=, 0($pop61), $pop31 + i32.const $push71=, 4 + i32.add $push62=, $0, $pop71 + i32.const $push70=, 29 + i32.shr_u $push22=, $7, $pop70 + i32.const $push69=, 3 + i32.and $push23=, $pop22, $pop69 + i32.add $push24=, $7, $pop23 + i32.const $push68=, 65532 + i32.and $push25=, $pop24, $pop68 + i32.sub $push26=, $7, $pop25 + i32.store16 $discard=, 0($pop62):p2align=2, $pop26 + i32.const $push67=, 2 + i32.add $push63=, $0, $pop67 + i32.const $push66=, 29 + i32.shr_u $push15=, $1, $pop66 + i32.const $push65=, 3 + i32.and $push17=, $pop15, $pop65 + i32.add $push18=, $1, $pop17 + i32.const $push64=, 65532 + i32.and $push20=, $pop18, $pop64 + i32.sub $push21=, $1, $pop20 + i32.store16 $discard=, 0($pop63), $pop21 + return + .endfunc +.Lfunc_end3: + .size sr44444444, .Lfunc_end3-sr44444444 + + .section .text.uq1428166432128,"ax",@progbits + .hidden uq1428166432128 + .globl uq1428166432128 + .type uq1428166432128,@function +uq1428166432128: # @uq1428166432128 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_u $2=, 0($pop1) + i32.const $push2=, 12 + i32.add $push3=, $1, $pop2 + i32.load16_u $3=, 0($pop3):p2align=2 + i32.const $push4=, 10 + i32.add $push5=, $1, $pop4 + i32.load16_u $4=, 0($pop5) + i32.const $push6=, 8 + i32.add $push7=, $1, $pop6 + i32.load16_u $5=, 0($pop7):p2align=3 + i32.const $push8=, 6 + i32.add $push9=, $1, $pop8 + i32.load16_u $6=, 0($pop9) + i32.const $push10=, 4 + i32.add $push11=, $1, $pop10 + i32.load16_u $7=, 0($pop11):p2align=2 + i32.const $push12=, 2 + i32.add $push13=, $1, $pop12 + i32.load16_u $8=, 0($pop13) + i32.load16_u $push14=, 0($1):p2align=4 + i32.store16 $discard=, 0($0):p2align=4, $pop14 + i32.const $push42=, 14 + i32.add $push26=, $0, $pop42 + i32.const $push24=, 7 + i32.shr_u $push25=, $2, $pop24 + i32.store16 $discard=, 0($pop26), $pop25 + i32.const $push41=, 12 + i32.add $push27=, $0, $pop41 + i32.const $push22=, 5 + i32.shr_u $push23=, $3, $pop22 + i32.store16 $discard=, 0($pop27):p2align=2, $pop23 + i32.const $push40=, 10 + i32.add $push28=, $0, $pop40 + i32.const $push39=, 6 + i32.shr_u $push21=, $4, $pop39 + i32.store16 $discard=, 0($pop28), $pop21 + i32.const $push38=, 8 + i32.add $push29=, $0, $pop38 + i32.const $push37=, 4 + i32.shr_u $push20=, $5, $pop37 + i32.store16 $discard=, 0($pop29):p2align=3, $pop20 + i32.const $push36=, 6 + i32.add $push30=, $0, $pop36 + i32.const $push18=, 3 + i32.shr_u $push19=, $6, $pop18 + i32.store16 $discard=, 0($pop30), $pop19 + i32.const $push35=, 4 + i32.add $push31=, $0, $pop35 + i32.const $push16=, 1 + i32.shr_u $push17=, $7, $pop16 + i32.store16 $discard=, 0($pop31):p2align=2, $pop17 + i32.const $push34=, 2 + i32.add $push32=, $0, $pop34 + i32.const $push33=, 2 + i32.shr_u $push15=, $8, $pop33 + i32.store16 $discard=, 0($pop32), $pop15 + return + .endfunc +.Lfunc_end4: + .size uq1428166432128, .Lfunc_end4-uq1428166432128 + + .section .text.ur1428166432128,"ax",@progbits + .hidden ur1428166432128 + .globl ur1428166432128 + .type ur1428166432128,@function +ur1428166432128: # @ur1428166432128 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_u $2=, 0($pop1) + i32.const $push2=, 12 + i32.add $push3=, $1, $pop2 + i32.load16_u $3=, 0($pop3):p2align=2 + i32.const $push4=, 10 + i32.add $push5=, $1, $pop4 + i32.load16_u $4=, 0($pop5) + i32.const $push6=, 8 + i32.add $push7=, $1, $pop6 + i32.load16_u $5=, 0($pop7):p2align=3 + i32.const $push8=, 6 + i32.add $push9=, $1, $pop8 + i32.load16_u $6=, 0($pop9) + i32.const $push10=, 4 + i32.add $push11=, $1, $pop10 + i32.load16_u $7=, 0($pop11):p2align=2 + i32.const $push12=, 2 + i32.add $push13=, $1, $pop12 + i32.load16_u $1=, 0($pop13) + i32.const $push28=, 0 + i32.store16 $discard=, 0($0):p2align=4, $pop28 + i32.const $push42=, 14 + i32.add $push29=, $0, $pop42 + i32.const $push26=, 127 + i32.and $push27=, $2, $pop26 + i32.store16 $discard=, 0($pop29), $pop27 + i32.const $push41=, 12 + i32.add $push30=, $0, $pop41 + i32.const $push24=, 31 + i32.and $push25=, $3, $pop24 + i32.store16 $discard=, 0($pop30):p2align=2, $pop25 + i32.const $push40=, 10 + i32.add $push31=, $0, $pop40 + i32.const $push22=, 63 + i32.and $push23=, $4, $pop22 + i32.store16 $discard=, 0($pop31), $pop23 + i32.const $push39=, 8 + i32.add $push32=, $0, $pop39 + i32.const $push20=, 15 + i32.and $push21=, $5, $pop20 + i32.store16 $discard=, 0($pop32):p2align=3, $pop21 + i32.const $push38=, 6 + i32.add $push33=, $0, $pop38 + i32.const $push18=, 7 + i32.and $push19=, $6, $pop18 + i32.store16 $discard=, 0($pop33), $pop19 + i32.const $push37=, 4 + i32.add $push34=, $0, $pop37 + i32.const $push16=, 1 + i32.and $push17=, $7, $pop16 + i32.store16 $discard=, 0($pop34):p2align=2, $pop17 + i32.const $push36=, 2 + i32.add $push35=, $0, $pop36 + i32.const $push14=, 3 + i32.and $push15=, $1, $pop14 + i32.store16 $discard=, 0($pop35), $pop15 + return + .endfunc +.Lfunc_end5: + .size ur1428166432128, .Lfunc_end5-ur1428166432128 + + .section .text.sq1428166432128,"ax",@progbits + .hidden sq1428166432128 + .globl sq1428166432128 + .type sq1428166432128,@function +sq1428166432128: # @sq1428166432128 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push0=, 4 + i32.add $push1=, $1, $pop0 + i32.load16_s $2=, 0($pop1):p2align=2 + i32.const $push2=, 14 + i32.add $push3=, $1, $pop2 + i32.load16_s $3=, 0($pop3) + i32.const $push4=, 12 + i32.add $push5=, $1, $pop4 + i32.load16_s $4=, 0($pop5):p2align=2 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_s $5=, 0($pop7) + i32.const $push8=, 8 + i32.add $push9=, $1, $pop8 + i32.load16_s $6=, 0($pop9):p2align=3 + i32.const $push10=, 6 + i32.add $push11=, $1, $pop10 + i32.load16_s $7=, 0($pop11) + i32.const $push12=, 2 + i32.add $push13=, $1, $pop12 + i32.load16_s $8=, 0($pop13) + i32.load16_u $push14=, 0($1):p2align=4 + i32.store16 $discard=, 0($0):p2align=4, $pop14 + i32.const $push75=, 4 + i32.add $push53=, $0, $pop75 + i32.const $push15=, 31 + i32.shr_u $push49=, $2, $pop15 + i32.add $push50=, $2, $pop49 + i32.const $push51=, 1 + i32.shr_u $push52=, $pop50, $pop51 + i32.store16 $discard=, 0($pop53):p2align=2, $pop52 + i32.const $push74=, 14 + i32.add $push54=, $0, $pop74 + i32.const $push73=, 31 + i32.shr_s $push43=, $3, $pop73 + i32.const $push44=, 25 + i32.shr_u $push45=, $pop43, $pop44 + i32.add $push46=, $3, $pop45 + i32.const $push47=, 7 + i32.shr_u $push48=, $pop46, $pop47 + i32.store16 $discard=, 0($pop54), $pop48 + i32.const $push72=, 12 + i32.add $push55=, $0, $pop72 + i32.const $push71=, 31 + i32.shr_s $push37=, $4, $pop71 + i32.const $push38=, 27 + i32.shr_u $push39=, $pop37, $pop38 + i32.add $push40=, $4, $pop39 + i32.const $push41=, 5 + i32.shr_u $push42=, $pop40, $pop41 + i32.store16 $discard=, 0($pop55):p2align=2, $pop42 + i32.const $push70=, 10 + i32.add $push56=, $0, $pop70 + i32.const $push69=, 31 + i32.shr_s $push32=, $5, $pop69 + i32.const $push33=, 26 + i32.shr_u $push34=, $pop32, $pop33 + i32.add $push35=, $5, $pop34 + i32.const $push68=, 6 + i32.shr_u $push36=, $pop35, $pop68 + i32.store16 $discard=, 0($pop56), $pop36 + i32.const $push67=, 8 + i32.add $push57=, $0, $pop67 + i32.const $push66=, 31 + i32.shr_s $push27=, $6, $pop66 + i32.const $push28=, 28 + i32.shr_u $push29=, $pop27, $pop28 + i32.add $push30=, $6, $pop29 + i32.const $push65=, 4 + i32.shr_u $push31=, $pop30, $pop65 + i32.store16 $discard=, 0($pop57):p2align=3, $pop31 + i32.const $push64=, 6 + i32.add $push58=, $0, $pop64 + i32.const $push63=, 31 + i32.shr_s $push21=, $7, $pop63 + i32.const $push22=, 29 + i32.shr_u $push23=, $pop21, $pop22 + i32.add $push24=, $7, $pop23 + i32.const $push25=, 3 + i32.shr_u $push26=, $pop24, $pop25 + i32.store16 $discard=, 0($pop58), $pop26 + i32.const $push62=, 2 + i32.add $push59=, $0, $pop62 + i32.const $push61=, 31 + i32.shr_s $push16=, $8, $pop61 + i32.const $push17=, 30 + i32.shr_u $push18=, $pop16, $pop17 + i32.add $push19=, $8, $pop18 + i32.const $push60=, 2 + i32.shr_u $push20=, $pop19, $pop60 + i32.store16 $discard=, 0($pop59), $pop20 + return + .endfunc +.Lfunc_end6: + .size sq1428166432128, .Lfunc_end6-sq1428166432128 + + .section .text.sr1428166432128,"ax",@progbits + .hidden sr1428166432128 + .globl sr1428166432128 + .type sr1428166432128,@function +sr1428166432128: # @sr1428166432128 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push0=, 4 + i32.add $push1=, $1, $pop0 + i32.load16_s $2=, 0($pop1):p2align=2 + i32.const $push2=, 14 + i32.add $push3=, $1, $pop2 + i32.load16_s $3=, 0($pop3) + i32.const $push4=, 12 + i32.add $push5=, $1, $pop4 + i32.load16_s $4=, 0($pop5):p2align=2 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_s $5=, 0($pop7) + i32.const $push8=, 8 + i32.add $push9=, $1, $pop8 + i32.load16_s $6=, 0($pop9):p2align=3 + i32.const $push10=, 6 + i32.add $push11=, $1, $pop10 + i32.load16_s $7=, 0($pop11) + i32.const $push12=, 2 + i32.add $push13=, $1, $pop12 + i32.load16_s $1=, 0($pop13) + i32.const $push62=, 0 + i32.store16 $discard=, 0($0):p2align=4, $pop62 + i32.const $push82=, 4 + i32.add $push63=, $0, $pop82 + i32.const $push14=, 31 + i32.shr_u $push57=, $2, $pop14 + i32.add $push58=, $2, $pop57 + i32.const $push59=, 65534 + i32.and $push60=, $pop58, $pop59 + i32.sub $push61=, $2, $pop60 + i32.store16 $discard=, 0($pop63):p2align=2, $pop61 + i32.const $push81=, 14 + i32.add $push64=, $0, $pop81 + i32.const $push80=, 31 + i32.shr_s $push50=, $3, $pop80 + i32.const $push51=, 25 + i32.shr_u $push52=, $pop50, $pop51 + i32.add $push53=, $3, $pop52 + i32.const $push54=, 65408 + i32.and $push55=, $pop53, $pop54 + i32.sub $push56=, $3, $pop55 + i32.store16 $discard=, 0($pop64), $pop56 + i32.const $push79=, 12 + i32.add $push65=, $0, $pop79 + i32.const $push78=, 31 + i32.shr_s $push43=, $4, $pop78 + i32.const $push44=, 27 + i32.shr_u $push45=, $pop43, $pop44 + i32.add $push46=, $4, $pop45 + i32.const $push47=, 65504 + i32.and $push48=, $pop46, $pop47 + i32.sub $push49=, $4, $pop48 + i32.store16 $discard=, 0($pop65):p2align=2, $pop49 + i32.const $push77=, 10 + i32.add $push66=, $0, $pop77 + i32.const $push76=, 31 + i32.shr_s $push36=, $5, $pop76 + i32.const $push37=, 26 + i32.shr_u $push38=, $pop36, $pop37 + i32.add $push39=, $5, $pop38 + i32.const $push40=, 65472 + i32.and $push41=, $pop39, $pop40 + i32.sub $push42=, $5, $pop41 + i32.store16 $discard=, 0($pop66), $pop42 + i32.const $push75=, 8 + i32.add $push67=, $0, $pop75 + i32.const $push74=, 31 + i32.shr_s $push29=, $6, $pop74 + i32.const $push30=, 28 + i32.shr_u $push31=, $pop29, $pop30 + i32.add $push32=, $6, $pop31 + i32.const $push33=, 65520 + i32.and $push34=, $pop32, $pop33 + i32.sub $push35=, $6, $pop34 + i32.store16 $discard=, 0($pop67):p2align=3, $pop35 + i32.const $push73=, 6 + i32.add $push68=, $0, $pop73 + i32.const $push72=, 31 + i32.shr_s $push22=, $7, $pop72 + i32.const $push23=, 29 + i32.shr_u $push24=, $pop22, $pop23 + i32.add $push25=, $7, $pop24 + i32.const $push26=, 65528 + i32.and $push27=, $pop25, $pop26 + i32.sub $push28=, $7, $pop27 + i32.store16 $discard=, 0($pop68), $pop28 + i32.const $push71=, 2 + i32.add $push69=, $0, $pop71 + i32.const $push70=, 31 + i32.shr_s $push15=, $1, $pop70 + i32.const $push16=, 30 + i32.shr_u $push17=, $pop15, $pop16 + i32.add $push18=, $1, $pop17 + i32.const $push19=, 65532 + i32.and $push20=, $pop18, $pop19 + i32.sub $push21=, $1, $pop20 + i32.store16 $discard=, 0($pop69), $pop21 + return + .endfunc +.Lfunc_end7: + .size sr1428166432128, .Lfunc_end7-sr1428166432128 + + .section .text.uq33333333,"ax",@progbits + .hidden uq33333333 + .globl uq33333333 + .type uq33333333,@function +uq33333333: # @uq33333333 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push18=, 2 + i32.add $push19=, $1, $pop18 + i32.load16_u $push20=, 0($pop19) + i32.const $push22=, 3 + i32.div_u $2=, $pop20, $pop22 + i32.const $push15=, 4 + i32.add $push16=, $1, $pop15 + i32.load16_u $push17=, 0($pop16):p2align=2 + i32.const $push44=, 3 + i32.div_u $3=, $pop17, $pop44 + i32.const $push12=, 6 + i32.add $push13=, $1, $pop12 + i32.load16_u $push14=, 0($pop13) + i32.const $push43=, 3 + i32.div_u $4=, $pop14, $pop43 + i32.const $push9=, 8 + i32.add $push10=, $1, $pop9 + i32.load16_u $push11=, 0($pop10):p2align=3 + i32.const $push42=, 3 + i32.div_u $5=, $pop11, $pop42 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_u $push8=, 0($pop7) + i32.const $push41=, 3 + i32.div_u $6=, $pop8, $pop41 + i32.const $push3=, 12 + i32.add $push4=, $1, $pop3 + i32.load16_u $push5=, 0($pop4):p2align=2 + i32.const $push40=, 3 + i32.div_u $7=, $pop5, $pop40 + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_u $push2=, 0($pop1) + i32.const $push39=, 3 + i32.div_u $8=, $pop2, $pop39 + i32.load16_u $push21=, 0($1):p2align=4 + i32.const $push38=, 3 + i32.div_u $push23=, $pop21, $pop38 + i32.store16 $discard=, 0($0):p2align=4, $pop23 + i32.const $push37=, 14 + i32.add $push24=, $0, $pop37 + i32.store16 $discard=, 0($pop24), $8 + i32.const $push36=, 12 + i32.add $push25=, $0, $pop36 + i32.store16 $discard=, 0($pop25):p2align=2, $7 + i32.const $push35=, 10 + i32.add $push26=, $0, $pop35 + i32.store16 $discard=, 0($pop26), $6 + i32.const $push34=, 8 + i32.add $push27=, $0, $pop34 + i32.store16 $discard=, 0($pop27):p2align=3, $5 + i32.const $push33=, 6 + i32.add $push28=, $0, $pop33 + i32.store16 $discard=, 0($pop28), $4 + i32.const $push32=, 4 + i32.add $push29=, $0, $pop32 + i32.store16 $discard=, 0($pop29):p2align=2, $3 + i32.const $push31=, 2 + i32.add $push30=, $0, $pop31 + i32.store16 $discard=, 0($pop30), $2 + return + .endfunc +.Lfunc_end8: + .size uq33333333, .Lfunc_end8-uq33333333 + + .section .text.ur33333333,"ax",@progbits + .hidden ur33333333 + .globl ur33333333 + .type ur33333333,@function +ur33333333: # @ur33333333 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push18=, 2 + i32.add $push19=, $1, $pop18 + i32.load16_u $push20=, 0($pop19) + i32.const $push22=, 3 + i32.rem_u $2=, $pop20, $pop22 + i32.const $push15=, 4 + i32.add $push16=, $1, $pop15 + i32.load16_u $push17=, 0($pop16):p2align=2 + i32.const $push44=, 3 + i32.rem_u $3=, $pop17, $pop44 + i32.const $push12=, 6 + i32.add $push13=, $1, $pop12 + i32.load16_u $push14=, 0($pop13) + i32.const $push43=, 3 + i32.rem_u $4=, $pop14, $pop43 + i32.const $push9=, 8 + i32.add $push10=, $1, $pop9 + i32.load16_u $push11=, 0($pop10):p2align=3 + i32.const $push42=, 3 + i32.rem_u $5=, $pop11, $pop42 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_u $push8=, 0($pop7) + i32.const $push41=, 3 + i32.rem_u $6=, $pop8, $pop41 + i32.const $push3=, 12 + i32.add $push4=, $1, $pop3 + i32.load16_u $push5=, 0($pop4):p2align=2 + i32.const $push40=, 3 + i32.rem_u $7=, $pop5, $pop40 + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_u $push2=, 0($pop1) + i32.const $push39=, 3 + i32.rem_u $8=, $pop2, $pop39 + i32.load16_u $push21=, 0($1):p2align=4 + i32.const $push38=, 3 + i32.rem_u $push23=, $pop21, $pop38 + i32.store16 $discard=, 0($0):p2align=4, $pop23 + i32.const $push37=, 14 + i32.add $push24=, $0, $pop37 + i32.store16 $discard=, 0($pop24), $8 + i32.const $push36=, 12 + i32.add $push25=, $0, $pop36 + i32.store16 $discard=, 0($pop25):p2align=2, $7 + i32.const $push35=, 10 + i32.add $push26=, $0, $pop35 + i32.store16 $discard=, 0($pop26), $6 + i32.const $push34=, 8 + i32.add $push27=, $0, $pop34 + i32.store16 $discard=, 0($pop27):p2align=3, $5 + i32.const $push33=, 6 + i32.add $push28=, $0, $pop33 + i32.store16 $discard=, 0($pop28), $4 + i32.const $push32=, 4 + i32.add $push29=, $0, $pop32 + i32.store16 $discard=, 0($pop29):p2align=2, $3 + i32.const $push31=, 2 + i32.add $push30=, $0, $pop31 + i32.store16 $discard=, 0($pop30), $2 + return + .endfunc +.Lfunc_end9: + .size ur33333333, .Lfunc_end9-ur33333333 + + .section .text.sq33333333,"ax",@progbits + .hidden sq33333333 + .globl sq33333333 + .type sq33333333,@function +sq33333333: # @sq33333333 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push18=, 2 + i32.add $push19=, $1, $pop18 + i32.load16_s $push20=, 0($pop19) + i32.const $push22=, 3 + i32.div_s $2=, $pop20, $pop22 + i32.const $push15=, 4 + i32.add $push16=, $1, $pop15 + i32.load16_s $push17=, 0($pop16):p2align=2 + i32.const $push44=, 3 + i32.div_s $3=, $pop17, $pop44 + i32.const $push12=, 6 + i32.add $push13=, $1, $pop12 + i32.load16_s $push14=, 0($pop13) + i32.const $push43=, 3 + i32.div_s $4=, $pop14, $pop43 + i32.const $push9=, 8 + i32.add $push10=, $1, $pop9 + i32.load16_s $push11=, 0($pop10):p2align=3 + i32.const $push42=, 3 + i32.div_s $5=, $pop11, $pop42 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_s $push8=, 0($pop7) + i32.const $push41=, 3 + i32.div_s $6=, $pop8, $pop41 + i32.const $push3=, 12 + i32.add $push4=, $1, $pop3 + i32.load16_s $push5=, 0($pop4):p2align=2 + i32.const $push40=, 3 + i32.div_s $7=, $pop5, $pop40 + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_s $push2=, 0($pop1) + i32.const $push39=, 3 + i32.div_s $8=, $pop2, $pop39 + i32.load16_s $push21=, 0($1):p2align=4 + i32.const $push38=, 3 + i32.div_s $push23=, $pop21, $pop38 + i32.store16 $discard=, 0($0):p2align=4, $pop23 + i32.const $push37=, 14 + i32.add $push24=, $0, $pop37 + i32.store16 $discard=, 0($pop24), $8 + i32.const $push36=, 12 + i32.add $push25=, $0, $pop36 + i32.store16 $discard=, 0($pop25):p2align=2, $7 + i32.const $push35=, 10 + i32.add $push26=, $0, $pop35 + i32.store16 $discard=, 0($pop26), $6 + i32.const $push34=, 8 + i32.add $push27=, $0, $pop34 + i32.store16 $discard=, 0($pop27):p2align=3, $5 + i32.const $push33=, 6 + i32.add $push28=, $0, $pop33 + i32.store16 $discard=, 0($pop28), $4 + i32.const $push32=, 4 + i32.add $push29=, $0, $pop32 + i32.store16 $discard=, 0($pop29):p2align=2, $3 + i32.const $push31=, 2 + i32.add $push30=, $0, $pop31 + i32.store16 $discard=, 0($pop30), $2 + return + .endfunc +.Lfunc_end10: + .size sq33333333, .Lfunc_end10-sq33333333 + + .section .text.sr33333333,"ax",@progbits + .hidden sr33333333 + .globl sr33333333 + .type sr33333333,@function +sr33333333: # @sr33333333 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push18=, 2 + i32.add $push19=, $1, $pop18 + i32.load16_s $push20=, 0($pop19) + i32.const $push22=, 3 + i32.rem_s $2=, $pop20, $pop22 + i32.const $push15=, 4 + i32.add $push16=, $1, $pop15 + i32.load16_s $push17=, 0($pop16):p2align=2 + i32.const $push44=, 3 + i32.rem_s $3=, $pop17, $pop44 + i32.const $push12=, 6 + i32.add $push13=, $1, $pop12 + i32.load16_s $push14=, 0($pop13) + i32.const $push43=, 3 + i32.rem_s $4=, $pop14, $pop43 + i32.const $push9=, 8 + i32.add $push10=, $1, $pop9 + i32.load16_s $push11=, 0($pop10):p2align=3 + i32.const $push42=, 3 + i32.rem_s $5=, $pop11, $pop42 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_s $push8=, 0($pop7) + i32.const $push41=, 3 + i32.rem_s $6=, $pop8, $pop41 + i32.const $push3=, 12 + i32.add $push4=, $1, $pop3 + i32.load16_s $push5=, 0($pop4):p2align=2 + i32.const $push40=, 3 + i32.rem_s $7=, $pop5, $pop40 + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_s $push2=, 0($pop1) + i32.const $push39=, 3 + i32.rem_s $8=, $pop2, $pop39 + i32.load16_s $push21=, 0($1):p2align=4 + i32.const $push38=, 3 + i32.rem_s $push23=, $pop21, $pop38 + i32.store16 $discard=, 0($0):p2align=4, $pop23 + i32.const $push37=, 14 + i32.add $push24=, $0, $pop37 + i32.store16 $discard=, 0($pop24), $8 + i32.const $push36=, 12 + i32.add $push25=, $0, $pop36 + i32.store16 $discard=, 0($pop25):p2align=2, $7 + i32.const $push35=, 10 + i32.add $push26=, $0, $pop35 + i32.store16 $discard=, 0($pop26), $6 + i32.const $push34=, 8 + i32.add $push27=, $0, $pop34 + i32.store16 $discard=, 0($pop27):p2align=3, $5 + i32.const $push33=, 6 + i32.add $push28=, $0, $pop33 + i32.store16 $discard=, 0($pop28), $4 + i32.const $push32=, 4 + i32.add $push29=, $0, $pop32 + i32.store16 $discard=, 0($pop29):p2align=2, $3 + i32.const $push31=, 2 + i32.add $push30=, $0, $pop31 + i32.store16 $discard=, 0($pop30), $2 + return + .endfunc +.Lfunc_end11: + .size sr33333333, .Lfunc_end11-sr33333333 + + .section .text.uq65656565,"ax",@progbits + .hidden uq65656565 + .globl uq65656565 + .type uq65656565,@function +uq65656565: # @uq65656565 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push18=, 2 + i32.add $push19=, $1, $pop18 + i32.load16_u $push20=, 0($pop19) + i32.const $push22=, 5 + i32.div_u $2=, $pop20, $pop22 + i32.const $push15=, 4 + i32.add $push16=, $1, $pop15 + i32.load16_u $push17=, 0($pop16):p2align=2 + i32.const $push12=, 6 + i32.div_u $3=, $pop17, $pop12 + i32.const $push44=, 6 + i32.add $push13=, $1, $pop44 + i32.load16_u $push14=, 0($pop13) + i32.const $push43=, 5 + i32.div_u $4=, $pop14, $pop43 + i32.const $push9=, 8 + i32.add $push10=, $1, $pop9 + i32.load16_u $push11=, 0($pop10):p2align=3 + i32.const $push42=, 6 + i32.div_u $5=, $pop11, $pop42 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_u $push8=, 0($pop7) + i32.const $push41=, 5 + i32.div_u $6=, $pop8, $pop41 + i32.const $push3=, 12 + i32.add $push4=, $1, $pop3 + i32.load16_u $push5=, 0($pop4):p2align=2 + i32.const $push40=, 6 + i32.div_u $7=, $pop5, $pop40 + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_u $push2=, 0($pop1) + i32.const $push39=, 5 + i32.div_u $8=, $pop2, $pop39 + i32.load16_u $push21=, 0($1):p2align=4 + i32.const $push38=, 6 + i32.div_u $push23=, $pop21, $pop38 + i32.store16 $discard=, 0($0):p2align=4, $pop23 + i32.const $push37=, 14 + i32.add $push24=, $0, $pop37 + i32.store16 $discard=, 0($pop24), $8 + i32.const $push36=, 12 + i32.add $push25=, $0, $pop36 + i32.store16 $discard=, 0($pop25):p2align=2, $7 + i32.const $push35=, 10 + i32.add $push26=, $0, $pop35 + i32.store16 $discard=, 0($pop26), $6 + i32.const $push34=, 8 + i32.add $push27=, $0, $pop34 + i32.store16 $discard=, 0($pop27):p2align=3, $5 + i32.const $push33=, 6 + i32.add $push28=, $0, $pop33 + i32.store16 $discard=, 0($pop28), $4 + i32.const $push32=, 4 + i32.add $push29=, $0, $pop32 + i32.store16 $discard=, 0($pop29):p2align=2, $3 + i32.const $push31=, 2 + i32.add $push30=, $0, $pop31 + i32.store16 $discard=, 0($pop30), $2 + return + .endfunc +.Lfunc_end12: + .size uq65656565, .Lfunc_end12-uq65656565 + + .section .text.ur65656565,"ax",@progbits + .hidden ur65656565 + .globl ur65656565 + .type ur65656565,@function +ur65656565: # @ur65656565 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push18=, 2 + i32.add $push19=, $1, $pop18 + i32.load16_u $push20=, 0($pop19) + i32.const $push22=, 5 + i32.rem_u $2=, $pop20, $pop22 + i32.const $push15=, 4 + i32.add $push16=, $1, $pop15 + i32.load16_u $push17=, 0($pop16):p2align=2 + i32.const $push12=, 6 + i32.rem_u $3=, $pop17, $pop12 + i32.const $push44=, 6 + i32.add $push13=, $1, $pop44 + i32.load16_u $push14=, 0($pop13) + i32.const $push43=, 5 + i32.rem_u $4=, $pop14, $pop43 + i32.const $push9=, 8 + i32.add $push10=, $1, $pop9 + i32.load16_u $push11=, 0($pop10):p2align=3 + i32.const $push42=, 6 + i32.rem_u $5=, $pop11, $pop42 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_u $push8=, 0($pop7) + i32.const $push41=, 5 + i32.rem_u $6=, $pop8, $pop41 + i32.const $push3=, 12 + i32.add $push4=, $1, $pop3 + i32.load16_u $push5=, 0($pop4):p2align=2 + i32.const $push40=, 6 + i32.rem_u $7=, $pop5, $pop40 + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_u $push2=, 0($pop1) + i32.const $push39=, 5 + i32.rem_u $8=, $pop2, $pop39 + i32.load16_u $push21=, 0($1):p2align=4 + i32.const $push38=, 6 + i32.rem_u $push23=, $pop21, $pop38 + i32.store16 $discard=, 0($0):p2align=4, $pop23 + i32.const $push37=, 14 + i32.add $push24=, $0, $pop37 + i32.store16 $discard=, 0($pop24), $8 + i32.const $push36=, 12 + i32.add $push25=, $0, $pop36 + i32.store16 $discard=, 0($pop25):p2align=2, $7 + i32.const $push35=, 10 + i32.add $push26=, $0, $pop35 + i32.store16 $discard=, 0($pop26), $6 + i32.const $push34=, 8 + i32.add $push27=, $0, $pop34 + i32.store16 $discard=, 0($pop27):p2align=3, $5 + i32.const $push33=, 6 + i32.add $push28=, $0, $pop33 + i32.store16 $discard=, 0($pop28), $4 + i32.const $push32=, 4 + i32.add $push29=, $0, $pop32 + i32.store16 $discard=, 0($pop29):p2align=2, $3 + i32.const $push31=, 2 + i32.add $push30=, $0, $pop31 + i32.store16 $discard=, 0($pop30), $2 + return + .endfunc +.Lfunc_end13: + .size ur65656565, .Lfunc_end13-ur65656565 + + .section .text.sq65656565,"ax",@progbits + .hidden sq65656565 + .globl sq65656565 + .type sq65656565,@function +sq65656565: # @sq65656565 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push18=, 2 + i32.add $push19=, $1, $pop18 + i32.load16_s $push20=, 0($pop19) + i32.const $push22=, 5 + i32.div_s $2=, $pop20, $pop22 + i32.const $push15=, 4 + i32.add $push16=, $1, $pop15 + i32.load16_s $push17=, 0($pop16):p2align=2 + i32.const $push12=, 6 + i32.div_s $3=, $pop17, $pop12 + i32.const $push44=, 6 + i32.add $push13=, $1, $pop44 + i32.load16_s $push14=, 0($pop13) + i32.const $push43=, 5 + i32.div_s $4=, $pop14, $pop43 + i32.const $push9=, 8 + i32.add $push10=, $1, $pop9 + i32.load16_s $push11=, 0($pop10):p2align=3 + i32.const $push42=, 6 + i32.div_s $5=, $pop11, $pop42 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_s $push8=, 0($pop7) + i32.const $push41=, 5 + i32.div_s $6=, $pop8, $pop41 + i32.const $push3=, 12 + i32.add $push4=, $1, $pop3 + i32.load16_s $push5=, 0($pop4):p2align=2 + i32.const $push40=, 6 + i32.div_s $7=, $pop5, $pop40 + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_s $push2=, 0($pop1) + i32.const $push39=, 5 + i32.div_s $8=, $pop2, $pop39 + i32.load16_s $push21=, 0($1):p2align=4 + i32.const $push38=, 6 + i32.div_s $push23=, $pop21, $pop38 + i32.store16 $discard=, 0($0):p2align=4, $pop23 + i32.const $push37=, 14 + i32.add $push24=, $0, $pop37 + i32.store16 $discard=, 0($pop24), $8 + i32.const $push36=, 12 + i32.add $push25=, $0, $pop36 + i32.store16 $discard=, 0($pop25):p2align=2, $7 + i32.const $push35=, 10 + i32.add $push26=, $0, $pop35 + i32.store16 $discard=, 0($pop26), $6 + i32.const $push34=, 8 + i32.add $push27=, $0, $pop34 + i32.store16 $discard=, 0($pop27):p2align=3, $5 + i32.const $push33=, 6 + i32.add $push28=, $0, $pop33 + i32.store16 $discard=, 0($pop28), $4 + i32.const $push32=, 4 + i32.add $push29=, $0, $pop32 + i32.store16 $discard=, 0($pop29):p2align=2, $3 + i32.const $push31=, 2 + i32.add $push30=, $0, $pop31 + i32.store16 $discard=, 0($pop30), $2 + return + .endfunc +.Lfunc_end14: + .size sq65656565, .Lfunc_end14-sq65656565 + + .section .text.sr65656565,"ax",@progbits + .hidden sr65656565 + .globl sr65656565 + .type sr65656565,@function +sr65656565: # @sr65656565 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push18=, 2 + i32.add $push19=, $1, $pop18 + i32.load16_s $push20=, 0($pop19) + i32.const $push22=, 5 + i32.rem_s $2=, $pop20, $pop22 + i32.const $push15=, 4 + i32.add $push16=, $1, $pop15 + i32.load16_s $push17=, 0($pop16):p2align=2 + i32.const $push12=, 6 + i32.rem_s $3=, $pop17, $pop12 + i32.const $push44=, 6 + i32.add $push13=, $1, $pop44 + i32.load16_s $push14=, 0($pop13) + i32.const $push43=, 5 + i32.rem_s $4=, $pop14, $pop43 + i32.const $push9=, 8 + i32.add $push10=, $1, $pop9 + i32.load16_s $push11=, 0($pop10):p2align=3 + i32.const $push42=, 6 + i32.rem_s $5=, $pop11, $pop42 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_s $push8=, 0($pop7) + i32.const $push41=, 5 + i32.rem_s $6=, $pop8, $pop41 + i32.const $push3=, 12 + i32.add $push4=, $1, $pop3 + i32.load16_s $push5=, 0($pop4):p2align=2 + i32.const $push40=, 6 + i32.rem_s $7=, $pop5, $pop40 + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_s $push2=, 0($pop1) + i32.const $push39=, 5 + i32.rem_s $8=, $pop2, $pop39 + i32.load16_s $push21=, 0($1):p2align=4 + i32.const $push38=, 6 + i32.rem_s $push23=, $pop21, $pop38 + i32.store16 $discard=, 0($0):p2align=4, $pop23 + i32.const $push37=, 14 + i32.add $push24=, $0, $pop37 + i32.store16 $discard=, 0($pop24), $8 + i32.const $push36=, 12 + i32.add $push25=, $0, $pop36 + i32.store16 $discard=, 0($pop25):p2align=2, $7 + i32.const $push35=, 10 + i32.add $push26=, $0, $pop35 + i32.store16 $discard=, 0($pop26), $6 + i32.const $push34=, 8 + i32.add $push27=, $0, $pop34 + i32.store16 $discard=, 0($pop27):p2align=3, $5 + i32.const $push33=, 6 + i32.add $push28=, $0, $pop33 + i32.store16 $discard=, 0($pop28), $4 + i32.const $push32=, 4 + i32.add $push29=, $0, $pop32 + i32.store16 $discard=, 0($pop29):p2align=2, $3 + i32.const $push31=, 2 + i32.add $push30=, $0, $pop31 + i32.store16 $discard=, 0($pop30), $2 + return + .endfunc +.Lfunc_end15: + .size sr65656565, .Lfunc_end15-sr65656565 + + .section .text.uq14141461461414,"ax",@progbits + .hidden uq14141461461414 + .globl uq14141461461414 + .type uq14141461461414,@function +uq14141461461414: # @uq14141461461414 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push18=, 2 + i32.add $push19=, $1, $pop18 + i32.load16_u $push20=, 0($pop19) + i32.const $push0=, 14 + i32.div_u $2=, $pop20, $pop0 + i32.const $push15=, 4 + i32.add $push16=, $1, $pop15 + i32.load16_u $push17=, 0($pop16):p2align=2 + i32.const $push44=, 14 + i32.div_u $3=, $pop17, $pop44 + i32.const $push12=, 6 + i32.add $push13=, $1, $pop12 + i32.load16_u $push14=, 0($pop13) + i32.const $push43=, 6 + i32.div_u $4=, $pop14, $pop43 + i32.const $push9=, 8 + i32.add $push10=, $1, $pop9 + i32.load16_u $push11=, 0($pop10):p2align=3 + i32.const $push42=, 14 + i32.div_u $5=, $pop11, $pop42 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_u $push8=, 0($pop7) + i32.const $push41=, 6 + i32.div_u $6=, $pop8, $pop41 + i32.const $push3=, 12 + i32.add $push4=, $1, $pop3 + i32.load16_u $push5=, 0($pop4):p2align=2 + i32.const $push40=, 14 + i32.div_u $7=, $pop5, $pop40 + i32.const $push39=, 14 + i32.add $push1=, $1, $pop39 + i32.load16_u $push2=, 0($pop1) + i32.const $push38=, 14 + i32.div_u $8=, $pop2, $pop38 + i32.load16_u $push21=, 0($1):p2align=4 + i32.const $push37=, 14 + i32.div_u $push22=, $pop21, $pop37 + i32.store16 $discard=, 0($0):p2align=4, $pop22 + i32.const $push36=, 14 + i32.add $push23=, $0, $pop36 + i32.store16 $discard=, 0($pop23), $8 + i32.const $push35=, 12 + i32.add $push24=, $0, $pop35 + i32.store16 $discard=, 0($pop24):p2align=2, $7 + i32.const $push34=, 10 + i32.add $push25=, $0, $pop34 + i32.store16 $discard=, 0($pop25), $6 + i32.const $push33=, 8 + i32.add $push26=, $0, $pop33 + i32.store16 $discard=, 0($pop26):p2align=3, $5 + i32.const $push32=, 6 + i32.add $push27=, $0, $pop32 + i32.store16 $discard=, 0($pop27), $4 + i32.const $push31=, 4 + i32.add $push28=, $0, $pop31 + i32.store16 $discard=, 0($pop28):p2align=2, $3 + i32.const $push30=, 2 + i32.add $push29=, $0, $pop30 + i32.store16 $discard=, 0($pop29), $2 + return + .endfunc +.Lfunc_end16: + .size uq14141461461414, .Lfunc_end16-uq14141461461414 + + .section .text.ur14141461461414,"ax",@progbits + .hidden ur14141461461414 + .globl ur14141461461414 + .type ur14141461461414,@function +ur14141461461414: # @ur14141461461414 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push18=, 2 + i32.add $push19=, $1, $pop18 + i32.load16_u $push20=, 0($pop19) + i32.const $push0=, 14 + i32.rem_u $2=, $pop20, $pop0 + i32.const $push15=, 4 + i32.add $push16=, $1, $pop15 + i32.load16_u $push17=, 0($pop16):p2align=2 + i32.const $push44=, 14 + i32.rem_u $3=, $pop17, $pop44 + i32.const $push12=, 6 + i32.add $push13=, $1, $pop12 + i32.load16_u $push14=, 0($pop13) + i32.const $push43=, 6 + i32.rem_u $4=, $pop14, $pop43 + i32.const $push9=, 8 + i32.add $push10=, $1, $pop9 + i32.load16_u $push11=, 0($pop10):p2align=3 + i32.const $push42=, 14 + i32.rem_u $5=, $pop11, $pop42 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_u $push8=, 0($pop7) + i32.const $push41=, 6 + i32.rem_u $6=, $pop8, $pop41 + i32.const $push3=, 12 + i32.add $push4=, $1, $pop3 + i32.load16_u $push5=, 0($pop4):p2align=2 + i32.const $push40=, 14 + i32.rem_u $7=, $pop5, $pop40 + i32.const $push39=, 14 + i32.add $push1=, $1, $pop39 + i32.load16_u $push2=, 0($pop1) + i32.const $push38=, 14 + i32.rem_u $8=, $pop2, $pop38 + i32.load16_u $push21=, 0($1):p2align=4 + i32.const $push37=, 14 + i32.rem_u $push22=, $pop21, $pop37 + i32.store16 $discard=, 0($0):p2align=4, $pop22 + i32.const $push36=, 14 + i32.add $push23=, $0, $pop36 + i32.store16 $discard=, 0($pop23), $8 + i32.const $push35=, 12 + i32.add $push24=, $0, $pop35 + i32.store16 $discard=, 0($pop24):p2align=2, $7 + i32.const $push34=, 10 + i32.add $push25=, $0, $pop34 + i32.store16 $discard=, 0($pop25), $6 + i32.const $push33=, 8 + i32.add $push26=, $0, $pop33 + i32.store16 $discard=, 0($pop26):p2align=3, $5 + i32.const $push32=, 6 + i32.add $push27=, $0, $pop32 + i32.store16 $discard=, 0($pop27), $4 + i32.const $push31=, 4 + i32.add $push28=, $0, $pop31 + i32.store16 $discard=, 0($pop28):p2align=2, $3 + i32.const $push30=, 2 + i32.add $push29=, $0, $pop30 + i32.store16 $discard=, 0($pop29), $2 + return + .endfunc +.Lfunc_end17: + .size ur14141461461414, .Lfunc_end17-ur14141461461414 + + .section .text.sq14141461461414,"ax",@progbits + .hidden sq14141461461414 + .globl sq14141461461414 + .type sq14141461461414,@function +sq14141461461414: # @sq14141461461414 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push18=, 2 + i32.add $push19=, $1, $pop18 + i32.load16_s $push20=, 0($pop19) + i32.const $push0=, 14 + i32.div_s $2=, $pop20, $pop0 + i32.const $push15=, 4 + i32.add $push16=, $1, $pop15 + i32.load16_s $push17=, 0($pop16):p2align=2 + i32.const $push44=, 14 + i32.div_s $3=, $pop17, $pop44 + i32.const $push12=, 6 + i32.add $push13=, $1, $pop12 + i32.load16_s $push14=, 0($pop13) + i32.const $push43=, 6 + i32.div_s $4=, $pop14, $pop43 + i32.const $push9=, 8 + i32.add $push10=, $1, $pop9 + i32.load16_s $push11=, 0($pop10):p2align=3 + i32.const $push42=, 14 + i32.div_s $5=, $pop11, $pop42 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_s $push8=, 0($pop7) + i32.const $push41=, 6 + i32.div_s $6=, $pop8, $pop41 + i32.const $push3=, 12 + i32.add $push4=, $1, $pop3 + i32.load16_s $push5=, 0($pop4):p2align=2 + i32.const $push40=, 14 + i32.div_s $7=, $pop5, $pop40 + i32.const $push39=, 14 + i32.add $push1=, $1, $pop39 + i32.load16_s $push2=, 0($pop1) + i32.const $push38=, 14 + i32.div_s $8=, $pop2, $pop38 + i32.load16_s $push21=, 0($1):p2align=4 + i32.const $push37=, 14 + i32.div_s $push22=, $pop21, $pop37 + i32.store16 $discard=, 0($0):p2align=4, $pop22 + i32.const $push36=, 14 + i32.add $push23=, $0, $pop36 + i32.store16 $discard=, 0($pop23), $8 + i32.const $push35=, 12 + i32.add $push24=, $0, $pop35 + i32.store16 $discard=, 0($pop24):p2align=2, $7 + i32.const $push34=, 10 + i32.add $push25=, $0, $pop34 + i32.store16 $discard=, 0($pop25), $6 + i32.const $push33=, 8 + i32.add $push26=, $0, $pop33 + i32.store16 $discard=, 0($pop26):p2align=3, $5 + i32.const $push32=, 6 + i32.add $push27=, $0, $pop32 + i32.store16 $discard=, 0($pop27), $4 + i32.const $push31=, 4 + i32.add $push28=, $0, $pop31 + i32.store16 $discard=, 0($pop28):p2align=2, $3 + i32.const $push30=, 2 + i32.add $push29=, $0, $pop30 + i32.store16 $discard=, 0($pop29), $2 + return + .endfunc +.Lfunc_end18: + .size sq14141461461414, .Lfunc_end18-sq14141461461414 + + .section .text.sr14141461461414,"ax",@progbits + .hidden sr14141461461414 + .globl sr14141461461414 + .type sr14141461461414,@function +sr14141461461414: # @sr14141461461414 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push18=, 2 + i32.add $push19=, $1, $pop18 + i32.load16_s $push20=, 0($pop19) + i32.const $push0=, 14 + i32.rem_s $2=, $pop20, $pop0 + i32.const $push15=, 4 + i32.add $push16=, $1, $pop15 + i32.load16_s $push17=, 0($pop16):p2align=2 + i32.const $push44=, 14 + i32.rem_s $3=, $pop17, $pop44 + i32.const $push12=, 6 + i32.add $push13=, $1, $pop12 + i32.load16_s $push14=, 0($pop13) + i32.const $push43=, 6 + i32.rem_s $4=, $pop14, $pop43 + i32.const $push9=, 8 + i32.add $push10=, $1, $pop9 + i32.load16_s $push11=, 0($pop10):p2align=3 + i32.const $push42=, 14 + i32.rem_s $5=, $pop11, $pop42 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_s $push8=, 0($pop7) + i32.const $push41=, 6 + i32.rem_s $6=, $pop8, $pop41 + i32.const $push3=, 12 + i32.add $push4=, $1, $pop3 + i32.load16_s $push5=, 0($pop4):p2align=2 + i32.const $push40=, 14 + i32.rem_s $7=, $pop5, $pop40 + i32.const $push39=, 14 + i32.add $push1=, $1, $pop39 + i32.load16_s $push2=, 0($pop1) + i32.const $push38=, 14 + i32.rem_s $8=, $pop2, $pop38 + i32.load16_s $push21=, 0($1):p2align=4 + i32.const $push37=, 14 + i32.rem_s $push22=, $pop21, $pop37 + i32.store16 $discard=, 0($0):p2align=4, $pop22 + i32.const $push36=, 14 + i32.add $push23=, $0, $pop36 + i32.store16 $discard=, 0($pop23), $8 + i32.const $push35=, 12 + i32.add $push24=, $0, $pop35 + i32.store16 $discard=, 0($pop24):p2align=2, $7 + i32.const $push34=, 10 + i32.add $push25=, $0, $pop34 + i32.store16 $discard=, 0($pop25), $6 + i32.const $push33=, 8 + i32.add $push26=, $0, $pop33 + i32.store16 $discard=, 0($pop26):p2align=3, $5 + i32.const $push32=, 6 + i32.add $push27=, $0, $pop32 + i32.store16 $discard=, 0($pop27), $4 + i32.const $push31=, 4 + i32.add $push28=, $0, $pop31 + i32.store16 $discard=, 0($pop28):p2align=2, $3 + i32.const $push30=, 2 + i32.add $push29=, $0, $pop30 + i32.store16 $discard=, 0($pop29), $2 + return + .endfunc +.Lfunc_end19: + .size sr14141461461414, .Lfunc_end19-sr14141461461414 + + .section .text.uq77777777,"ax",@progbits + .hidden uq77777777 + .globl uq77777777 + .type uq77777777,@function +uq77777777: # @uq77777777 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push18=, 2 + i32.add $push19=, $1, $pop18 + i32.load16_u $push20=, 0($pop19) + i32.const $push22=, 7 + i32.div_u $2=, $pop20, $pop22 + i32.const $push15=, 4 + i32.add $push16=, $1, $pop15 + i32.load16_u $push17=, 0($pop16):p2align=2 + i32.const $push44=, 7 + i32.div_u $3=, $pop17, $pop44 + i32.const $push12=, 6 + i32.add $push13=, $1, $pop12 + i32.load16_u $push14=, 0($pop13) + i32.const $push43=, 7 + i32.div_u $4=, $pop14, $pop43 + i32.const $push9=, 8 + i32.add $push10=, $1, $pop9 + i32.load16_u $push11=, 0($pop10):p2align=3 + i32.const $push42=, 7 + i32.div_u $5=, $pop11, $pop42 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_u $push8=, 0($pop7) + i32.const $push41=, 7 + i32.div_u $6=, $pop8, $pop41 + i32.const $push3=, 12 + i32.add $push4=, $1, $pop3 + i32.load16_u $push5=, 0($pop4):p2align=2 + i32.const $push40=, 7 + i32.div_u $7=, $pop5, $pop40 + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_u $push2=, 0($pop1) + i32.const $push39=, 7 + i32.div_u $8=, $pop2, $pop39 + i32.load16_u $push21=, 0($1):p2align=4 + i32.const $push38=, 7 + i32.div_u $push23=, $pop21, $pop38 + i32.store16 $discard=, 0($0):p2align=4, $pop23 + i32.const $push37=, 14 + i32.add $push24=, $0, $pop37 + i32.store16 $discard=, 0($pop24), $8 + i32.const $push36=, 12 + i32.add $push25=, $0, $pop36 + i32.store16 $discard=, 0($pop25):p2align=2, $7 + i32.const $push35=, 10 + i32.add $push26=, $0, $pop35 + i32.store16 $discard=, 0($pop26), $6 + i32.const $push34=, 8 + i32.add $push27=, $0, $pop34 + i32.store16 $discard=, 0($pop27):p2align=3, $5 + i32.const $push33=, 6 + i32.add $push28=, $0, $pop33 + i32.store16 $discard=, 0($pop28), $4 + i32.const $push32=, 4 + i32.add $push29=, $0, $pop32 + i32.store16 $discard=, 0($pop29):p2align=2, $3 + i32.const $push31=, 2 + i32.add $push30=, $0, $pop31 + i32.store16 $discard=, 0($pop30), $2 + return + .endfunc +.Lfunc_end20: + .size uq77777777, .Lfunc_end20-uq77777777 + + .section .text.ur77777777,"ax",@progbits + .hidden ur77777777 + .globl ur77777777 + .type ur77777777,@function +ur77777777: # @ur77777777 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push18=, 2 + i32.add $push19=, $1, $pop18 + i32.load16_u $push20=, 0($pop19) + i32.const $push22=, 7 + i32.rem_u $2=, $pop20, $pop22 + i32.const $push15=, 4 + i32.add $push16=, $1, $pop15 + i32.load16_u $push17=, 0($pop16):p2align=2 + i32.const $push44=, 7 + i32.rem_u $3=, $pop17, $pop44 + i32.const $push12=, 6 + i32.add $push13=, $1, $pop12 + i32.load16_u $push14=, 0($pop13) + i32.const $push43=, 7 + i32.rem_u $4=, $pop14, $pop43 + i32.const $push9=, 8 + i32.add $push10=, $1, $pop9 + i32.load16_u $push11=, 0($pop10):p2align=3 + i32.const $push42=, 7 + i32.rem_u $5=, $pop11, $pop42 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_u $push8=, 0($pop7) + i32.const $push41=, 7 + i32.rem_u $6=, $pop8, $pop41 + i32.const $push3=, 12 + i32.add $push4=, $1, $pop3 + i32.load16_u $push5=, 0($pop4):p2align=2 + i32.const $push40=, 7 + i32.rem_u $7=, $pop5, $pop40 + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_u $push2=, 0($pop1) + i32.const $push39=, 7 + i32.rem_u $8=, $pop2, $pop39 + i32.load16_u $push21=, 0($1):p2align=4 + i32.const $push38=, 7 + i32.rem_u $push23=, $pop21, $pop38 + i32.store16 $discard=, 0($0):p2align=4, $pop23 + i32.const $push37=, 14 + i32.add $push24=, $0, $pop37 + i32.store16 $discard=, 0($pop24), $8 + i32.const $push36=, 12 + i32.add $push25=, $0, $pop36 + i32.store16 $discard=, 0($pop25):p2align=2, $7 + i32.const $push35=, 10 + i32.add $push26=, $0, $pop35 + i32.store16 $discard=, 0($pop26), $6 + i32.const $push34=, 8 + i32.add $push27=, $0, $pop34 + i32.store16 $discard=, 0($pop27):p2align=3, $5 + i32.const $push33=, 6 + i32.add $push28=, $0, $pop33 + i32.store16 $discard=, 0($pop28), $4 + i32.const $push32=, 4 + i32.add $push29=, $0, $pop32 + i32.store16 $discard=, 0($pop29):p2align=2, $3 + i32.const $push31=, 2 + i32.add $push30=, $0, $pop31 + i32.store16 $discard=, 0($pop30), $2 + return + .endfunc +.Lfunc_end21: + .size ur77777777, .Lfunc_end21-ur77777777 + + .section .text.sq77777777,"ax",@progbits + .hidden sq77777777 + .globl sq77777777 + .type sq77777777,@function +sq77777777: # @sq77777777 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push18=, 2 + i32.add $push19=, $1, $pop18 + i32.load16_s $push20=, 0($pop19) + i32.const $push22=, 7 + i32.div_s $2=, $pop20, $pop22 + i32.const $push15=, 4 + i32.add $push16=, $1, $pop15 + i32.load16_s $push17=, 0($pop16):p2align=2 + i32.const $push44=, 7 + i32.div_s $3=, $pop17, $pop44 + i32.const $push12=, 6 + i32.add $push13=, $1, $pop12 + i32.load16_s $push14=, 0($pop13) + i32.const $push43=, 7 + i32.div_s $4=, $pop14, $pop43 + i32.const $push9=, 8 + i32.add $push10=, $1, $pop9 + i32.load16_s $push11=, 0($pop10):p2align=3 + i32.const $push42=, 7 + i32.div_s $5=, $pop11, $pop42 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_s $push8=, 0($pop7) + i32.const $push41=, 7 + i32.div_s $6=, $pop8, $pop41 + i32.const $push3=, 12 + i32.add $push4=, $1, $pop3 + i32.load16_s $push5=, 0($pop4):p2align=2 + i32.const $push40=, 7 + i32.div_s $7=, $pop5, $pop40 + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_s $push2=, 0($pop1) + i32.const $push39=, 7 + i32.div_s $8=, $pop2, $pop39 + i32.load16_s $push21=, 0($1):p2align=4 + i32.const $push38=, 7 + i32.div_s $push23=, $pop21, $pop38 + i32.store16 $discard=, 0($0):p2align=4, $pop23 + i32.const $push37=, 14 + i32.add $push24=, $0, $pop37 + i32.store16 $discard=, 0($pop24), $8 + i32.const $push36=, 12 + i32.add $push25=, $0, $pop36 + i32.store16 $discard=, 0($pop25):p2align=2, $7 + i32.const $push35=, 10 + i32.add $push26=, $0, $pop35 + i32.store16 $discard=, 0($pop26), $6 + i32.const $push34=, 8 + i32.add $push27=, $0, $pop34 + i32.store16 $discard=, 0($pop27):p2align=3, $5 + i32.const $push33=, 6 + i32.add $push28=, $0, $pop33 + i32.store16 $discard=, 0($pop28), $4 + i32.const $push32=, 4 + i32.add $push29=, $0, $pop32 + i32.store16 $discard=, 0($pop29):p2align=2, $3 + i32.const $push31=, 2 + i32.add $push30=, $0, $pop31 + i32.store16 $discard=, 0($pop30), $2 + return + .endfunc +.Lfunc_end22: + .size sq77777777, .Lfunc_end22-sq77777777 + + .section .text.sr77777777,"ax",@progbits + .hidden sr77777777 + .globl sr77777777 + .type sr77777777,@function +sr77777777: # @sr77777777 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push18=, 2 + i32.add $push19=, $1, $pop18 + i32.load16_s $push20=, 0($pop19) + i32.const $push22=, 7 + i32.rem_s $2=, $pop20, $pop22 + i32.const $push15=, 4 + i32.add $push16=, $1, $pop15 + i32.load16_s $push17=, 0($pop16):p2align=2 + i32.const $push44=, 7 + i32.rem_s $3=, $pop17, $pop44 + i32.const $push12=, 6 + i32.add $push13=, $1, $pop12 + i32.load16_s $push14=, 0($pop13) + i32.const $push43=, 7 + i32.rem_s $4=, $pop14, $pop43 + i32.const $push9=, 8 + i32.add $push10=, $1, $pop9 + i32.load16_s $push11=, 0($pop10):p2align=3 + i32.const $push42=, 7 + i32.rem_s $5=, $pop11, $pop42 + i32.const $push6=, 10 + i32.add $push7=, $1, $pop6 + i32.load16_s $push8=, 0($pop7) + i32.const $push41=, 7 + i32.rem_s $6=, $pop8, $pop41 + i32.const $push3=, 12 + i32.add $push4=, $1, $pop3 + i32.load16_s $push5=, 0($pop4):p2align=2 + i32.const $push40=, 7 + i32.rem_s $7=, $pop5, $pop40 + i32.const $push0=, 14 + i32.add $push1=, $1, $pop0 + i32.load16_s $push2=, 0($pop1) + i32.const $push39=, 7 + i32.rem_s $8=, $pop2, $pop39 + i32.load16_s $push21=, 0($1):p2align=4 + i32.const $push38=, 7 + i32.rem_s $push23=, $pop21, $pop38 + i32.store16 $discard=, 0($0):p2align=4, $pop23 + i32.const $push37=, 14 + i32.add $push24=, $0, $pop37 + i32.store16 $discard=, 0($pop24), $8 + i32.const $push36=, 12 + i32.add $push25=, $0, $pop36 + i32.store16 $discard=, 0($pop25):p2align=2, $7 + i32.const $push35=, 10 + i32.add $push26=, $0, $pop35 + i32.store16 $discard=, 0($pop26), $6 + i32.const $push34=, 8 + i32.add $push27=, $0, $pop34 + i32.store16 $discard=, 0($pop27):p2align=3, $5 + i32.const $push33=, 6 + i32.add $push28=, $0, $pop33 + i32.store16 $discard=, 0($pop28), $4 + i32.const $push32=, 4 + i32.add $push29=, $0, $pop32 + i32.store16 $discard=, 0($pop29):p2align=2, $3 + i32.const $push31=, 2 + i32.add $push30=, $0, $pop31 + i32.store16 $discard=, 0($pop30), $2 + return + .endfunc +.Lfunc_end23: + .size sr77777777, .Lfunc_end23-sr77777777 + + .section .text.main,"ax",@progbits + .hidden main + .globl main + .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, i32, i32, i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push1709=, __stack_pointer + i32.load $push1710=, 0($pop1709) + i32.const $push1711=, 32 + i32.sub $71=, $pop1710, $pop1711 + i32.const $push1712=, __stack_pointer + i32.store $discard=, 0($pop1712), $71 + i32.const $2=, 0 + i32.const $0=, u +.LBB24_1: # %for.body + # =>This Inner Loop Header: Depth=1 + block + loop # label1: + i32.const $11=, 16 + i32.add $11=, $71, $11 + call uq44444444@FUNCTION, $11, $0 + i32.load16_u $push0=, 16($71):p2align=4 + i32.load16_u $push2=, 0($0):p2align=4 + i32.const $push1107=, 2 + i32.shr_u $push366=, $pop2, $pop1107 + i32.ne $push367=, $pop0, $pop366 + br_if 2, $pop367 # 2: down to label0 +# BB#2: # %lor.lhs.false + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push1=, 22($71) + i32.const $push1113=, 65535 + i32.and $push368=, $pop1, $pop1113 + i32.const $push1112=, 6 + i32.add $push1111=, $0, $pop1112 + tee_local $push1110=, $3=, $pop1111 + i32.load16_u $push3=, 0($pop1110) + i32.const $push1109=, 65532 + i32.and $push369=, $pop3, $pop1109 + i32.const $push1108=, 2 + i32.shr_u $push370=, $pop369, $pop1108 + i32.ne $push371=, $pop368, $pop370 + br_if 2, $pop371 # 2: down to label0 +# BB#3: # %if.end + # in Loop: Header=BB24_1 Depth=1 + i32.const $12=, 16 + i32.add $12=, $71, $12 + copy_local $4=, $12 + #APP + #NO_APP + i32.load16_u $push5=, 20($71):p2align=2 + i32.const $push1117=, 4 + i32.add $push1116=, $0, $pop1117 + tee_local $push1115=, $4=, $pop1116 + i32.load16_u $push7=, 0($pop1115):p2align=2 + i32.const $push1114=, 2 + i32.shr_u $push372=, $pop7, $pop1114 + i32.ne $push373=, $pop5, $pop372 + br_if 2, $pop373 # 2: down to label0 +# BB#4: # %lor.lhs.false21 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push4=, 18($71) + i32.const $push1123=, 65535 + i32.and $push374=, $pop4, $pop1123 + i32.const $push1122=, 2 + i32.add $push1121=, $0, $pop1122 + tee_local $push1120=, $5=, $pop1121 + i32.load16_u $push6=, 0($pop1120) + i32.const $push1119=, 65532 + i32.and $push375=, $pop6, $pop1119 + i32.const $push1118=, 2 + i32.shr_u $push376=, $pop375, $pop1118 + i32.ne $push377=, $pop374, $pop376 + br_if 2, $pop377 # 2: down to label0 +# BB#5: # %if.end31 + # in Loop: Header=BB24_1 Depth=1 + i32.const $13=, 16 + i32.add $13=, $71, $13 + copy_local $6=, $13 + #APP + #NO_APP + i32.load16_u $push8=, 24($71):p2align=3 + i32.const $push1127=, 8 + i32.add $push1126=, $0, $pop1127 + tee_local $push1125=, $6=, $pop1126 + i32.load16_u $push10=, 0($pop1125):p2align=3 + i32.const $push1124=, 2 + i32.shr_u $push378=, $pop10, $pop1124 + i32.ne $push379=, $pop8, $pop378 + br_if 2, $pop379 # 2: down to label0 +# BB#6: # %lor.lhs.false40 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push9=, 30($71) + i32.const $push1133=, 65535 + i32.and $push380=, $pop9, $pop1133 + i32.const $push1132=, 14 + i32.add $push1131=, $0, $pop1132 + tee_local $push1130=, $7=, $pop1131 + i32.load16_u $push11=, 0($pop1130) + i32.const $push1129=, 65532 + i32.and $push381=, $pop11, $pop1129 + i32.const $push1128=, 2 + i32.shr_u $push382=, $pop381, $pop1128 + i32.ne $push383=, $pop380, $pop382 + br_if 2, $pop383 # 2: down to label0 +# BB#7: # %if.end50 + # in Loop: Header=BB24_1 Depth=1 + i32.const $14=, 16 + i32.add $14=, $71, $14 + copy_local $8=, $14 + #APP + #NO_APP + i32.load16_u $push13=, 28($71):p2align=2 + i32.const $push1137=, 12 + i32.add $push1136=, $0, $pop1137 + tee_local $push1135=, $8=, $pop1136 + i32.load16_u $push15=, 0($pop1135):p2align=2 + i32.const $push1134=, 2 + i32.shr_u $push384=, $pop15, $pop1134 + i32.ne $push385=, $pop13, $pop384 + br_if 2, $pop385 # 2: down to label0 +# BB#8: # %lor.lhs.false59 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push12=, 26($71) + i32.const $push1143=, 65535 + i32.and $push386=, $pop12, $pop1143 + i32.const $push1142=, 10 + i32.add $push1141=, $0, $pop1142 + tee_local $push1140=, $9=, $pop1141 + i32.load16_u $push14=, 0($pop1140) + i32.const $push1139=, 65532 + i32.and $push387=, $pop14, $pop1139 + i32.const $push1138=, 2 + i32.shr_u $push388=, $pop387, $pop1138 + i32.ne $push389=, $pop386, $pop388 + br_if 2, $pop389 # 2: down to label0 +# BB#9: # %if.end69 + # in Loop: Header=BB24_1 Depth=1 + i32.const $15=, 16 + i32.add $15=, $71, $15 + copy_local $1=, $15 + #APP + #NO_APP + i32.const $16=, 16 + i32.add $16=, $71, $16 + call ur44444444@FUNCTION, $16, $0 + i32.load16_u $push16=, 16($71):p2align=4 + i32.load16_u $push18=, 0($0):p2align=4 + i32.const $push1144=, 3 + i32.and $push390=, $pop18, $pop1144 + i32.ne $push391=, $pop16, $pop390 + br_if 2, $pop391 # 2: down to label0 +# BB#10: # %lor.lhs.false78 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push17=, 22($71) + i32.const $push1146=, 65535 + i32.and $push392=, $pop17, $pop1146 + i32.load16_u $push19=, 0($3) + i32.const $push1145=, 3 + i32.and $push393=, $pop19, $pop1145 + i32.ne $push394=, $pop392, $pop393 + br_if 2, $pop394 # 2: down to label0 +# BB#11: # %if.end88 + # in Loop: Header=BB24_1 Depth=1 + i32.const $17=, 16 + i32.add $17=, $71, $17 + copy_local $1=, $17 + #APP + #NO_APP + i32.load16_u $push21=, 20($71):p2align=2 + i32.load16_u $push23=, 0($4):p2align=2 + i32.const $push1147=, 3 + i32.and $push395=, $pop23, $pop1147 + i32.ne $push396=, $pop21, $pop395 + br_if 2, $pop396 # 2: down to label0 +# BB#12: # %lor.lhs.false97 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push20=, 18($71) + i32.const $push1149=, 65535 + i32.and $push397=, $pop20, $pop1149 + i32.load16_u $push22=, 0($5) + i32.const $push1148=, 3 + i32.and $push398=, $pop22, $pop1148 + i32.ne $push399=, $pop397, $pop398 + br_if 2, $pop399 # 2: down to label0 +# BB#13: # %if.end107 + # in Loop: Header=BB24_1 Depth=1 + i32.const $18=, 16 + i32.add $18=, $71, $18 + copy_local $1=, $18 + #APP + #NO_APP + i32.load16_u $push24=, 24($71):p2align=3 + i32.load16_u $push26=, 0($6):p2align=3 + i32.const $push1150=, 3 + i32.and $push400=, $pop26, $pop1150 + i32.ne $push401=, $pop24, $pop400 + br_if 2, $pop401 # 2: down to label0 +# BB#14: # %lor.lhs.false116 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push25=, 30($71) + i32.const $push1152=, 65535 + i32.and $push402=, $pop25, $pop1152 + i32.load16_u $push27=, 0($7) + i32.const $push1151=, 3 + i32.and $push403=, $pop27, $pop1151 + i32.ne $push404=, $pop402, $pop403 + br_if 2, $pop404 # 2: down to label0 +# BB#15: # %if.end126 + # in Loop: Header=BB24_1 Depth=1 + i32.const $19=, 16 + i32.add $19=, $71, $19 + copy_local $1=, $19 + #APP + #NO_APP + i32.load16_u $push29=, 28($71):p2align=2 + i32.load16_u $push31=, 0($8):p2align=2 + i32.const $push1153=, 3 + i32.and $push405=, $pop31, $pop1153 + i32.ne $push406=, $pop29, $pop405 + br_if 2, $pop406 # 2: down to label0 +# BB#16: # %lor.lhs.false135 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push28=, 26($71) + i32.const $push1155=, 65535 + i32.and $push407=, $pop28, $pop1155 + i32.load16_u $push30=, 0($9) + i32.const $push1154=, 3 + i32.and $push408=, $pop30, $pop1154 + i32.ne $push409=, $pop407, $pop408 + br_if 2, $pop409 # 2: down to label0 +# BB#17: # %if.end145 + # in Loop: Header=BB24_1 Depth=1 + i32.const $20=, 16 + i32.add $20=, $71, $20 + copy_local $1=, $20 + #APP + #NO_APP + i32.const $21=, 16 + i32.add $21=, $71, $21 + call uq1428166432128@FUNCTION, $21, $0 + i32.load16_u $push32=, 16($71):p2align=4 + i32.load16_u $push34=, 0($0):p2align=4 + i32.ne $push410=, $pop32, $pop34 + br_if 2, $pop410 # 2: down to label0 +# BB#18: # %lor.lhs.false155 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push33=, 22($71) + i32.const $push1158=, 65535 + i32.and $push411=, $pop33, $pop1158 + i32.load16_u $push35=, 0($3) + i32.const $push1157=, 65528 + i32.and $push412=, $pop35, $pop1157 + i32.const $push1156=, 3 + i32.shr_u $push413=, $pop412, $pop1156 + i32.ne $push414=, $pop411, $pop413 + br_if 2, $pop414 # 2: down to label0 +# BB#19: # %if.end165 + # in Loop: Header=BB24_1 Depth=1 + i32.const $22=, 16 + i32.add $22=, $71, $22 + copy_local $1=, $22 + #APP + #NO_APP + i32.load16_u $push37=, 20($71):p2align=2 + i32.load16_u $push39=, 0($4):p2align=2 + i32.const $push1159=, 1 + i32.shr_u $push415=, $pop39, $pop1159 + i32.ne $push416=, $pop37, $pop415 + br_if 2, $pop416 # 2: down to label0 +# BB#20: # %lor.lhs.false174 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push36=, 18($71) + i32.const $push1162=, 65535 + i32.and $push417=, $pop36, $pop1162 + i32.load16_u $push38=, 0($5) + i32.const $push1161=, 65532 + i32.and $push418=, $pop38, $pop1161 + i32.const $push1160=, 2 + i32.shr_u $push419=, $pop418, $pop1160 + i32.ne $push420=, $pop417, $pop419 + br_if 2, $pop420 # 2: down to label0 +# BB#21: # %if.end184 + # in Loop: Header=BB24_1 Depth=1 + i32.const $23=, 16 + i32.add $23=, $71, $23 + copy_local $1=, $23 + #APP + #NO_APP + i32.load16_u $push40=, 24($71):p2align=3 + i32.load16_u $push42=, 0($6):p2align=3 + i32.const $push1163=, 4 + i32.shr_u $push421=, $pop42, $pop1163 + i32.ne $push422=, $pop40, $pop421 + br_if 2, $pop422 # 2: down to label0 +# BB#22: # %lor.lhs.false193 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push41=, 30($71) + i32.const $push1166=, 65535 + i32.and $push423=, $pop41, $pop1166 + i32.load16_u $push43=, 0($7) + i32.const $push1165=, 65408 + i32.and $push424=, $pop43, $pop1165 + i32.const $push1164=, 7 + i32.shr_u $push425=, $pop424, $pop1164 + i32.ne $push426=, $pop423, $pop425 + br_if 2, $pop426 # 2: down to label0 +# BB#23: # %if.end203 + # in Loop: Header=BB24_1 Depth=1 + i32.const $24=, 16 + i32.add $24=, $71, $24 + copy_local $1=, $24 + #APP + #NO_APP + i32.load16_u $push45=, 28($71):p2align=2 + i32.load16_u $push47=, 0($8):p2align=2 + i32.const $push1167=, 5 + i32.shr_u $push427=, $pop47, $pop1167 + i32.ne $push428=, $pop45, $pop427 + br_if 2, $pop428 # 2: down to label0 +# BB#24: # %lor.lhs.false212 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push44=, 26($71) + i32.const $push1170=, 65535 + i32.and $push429=, $pop44, $pop1170 + i32.load16_u $push46=, 0($9) + i32.const $push1169=, 65472 + i32.and $push430=, $pop46, $pop1169 + i32.const $push1168=, 6 + i32.shr_u $push431=, $pop430, $pop1168 + i32.ne $push432=, $pop429, $pop431 + br_if 2, $pop432 # 2: down to label0 +# BB#25: # %if.end222 + # in Loop: Header=BB24_1 Depth=1 + i32.const $25=, 16 + i32.add $25=, $71, $25 + copy_local $1=, $25 + #APP + #NO_APP + i32.const $26=, 16 + i32.add $26=, $71, $26 + call ur1428166432128@FUNCTION, $26, $0 + i32.load16_u $push48=, 16($71):p2align=4 + br_if 2, $pop48 # 2: down to label0 +# BB#26: # %lor.lhs.false232 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push49=, 22($71) + i32.const $push1172=, 65535 + i32.and $push434=, $pop49, $pop1172 + i32.load16_u $push433=, 0($3) + i32.const $push1171=, 7 + i32.and $push435=, $pop433, $pop1171 + i32.ne $push436=, $pop434, $pop435 + br_if 2, $pop436 # 2: down to label0 +# BB#27: # %if.end242 + # in Loop: Header=BB24_1 Depth=1 + i32.const $27=, 16 + i32.add $27=, $71, $27 + copy_local $1=, $27 + #APP + #NO_APP + i32.load16_u $push51=, 20($71):p2align=2 + i32.load16_u $push53=, 0($4):p2align=2 + i32.const $push1173=, 1 + i32.and $push437=, $pop53, $pop1173 + i32.ne $push438=, $pop51, $pop437 + br_if 2, $pop438 # 2: down to label0 +# BB#28: # %lor.lhs.false251 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push50=, 18($71) + i32.const $push1175=, 65535 + i32.and $push439=, $pop50, $pop1175 + i32.load16_u $push52=, 0($5) + i32.const $push1174=, 3 + i32.and $push440=, $pop52, $pop1174 + i32.ne $push441=, $pop439, $pop440 + br_if 2, $pop441 # 2: down to label0 +# BB#29: # %if.end261 + # in Loop: Header=BB24_1 Depth=1 + i32.const $28=, 16 + i32.add $28=, $71, $28 + copy_local $1=, $28 + #APP + #NO_APP + i32.load16_u $push54=, 24($71):p2align=3 + i32.load16_u $push56=, 0($6):p2align=3 + i32.const $push1176=, 15 + i32.and $push442=, $pop56, $pop1176 + i32.ne $push443=, $pop54, $pop442 + br_if 2, $pop443 # 2: down to label0 +# BB#30: # %lor.lhs.false270 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push55=, 30($71) + i32.const $push1178=, 65535 + i32.and $push444=, $pop55, $pop1178 + i32.load16_u $push57=, 0($7) + i32.const $push1177=, 127 + i32.and $push445=, $pop57, $pop1177 + i32.ne $push446=, $pop444, $pop445 + br_if 2, $pop446 # 2: down to label0 +# BB#31: # %if.end280 + # in Loop: Header=BB24_1 Depth=1 + i32.const $29=, 16 + i32.add $29=, $71, $29 + copy_local $1=, $29 + #APP + #NO_APP + i32.load16_u $push59=, 28($71):p2align=2 + i32.load16_u $push61=, 0($8):p2align=2 + i32.const $push1179=, 31 + i32.and $push447=, $pop61, $pop1179 + i32.ne $push448=, $pop59, $pop447 + br_if 2, $pop448 # 2: down to label0 +# BB#32: # %lor.lhs.false289 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push58=, 26($71) + i32.const $push1181=, 65535 + i32.and $push449=, $pop58, $pop1181 + i32.load16_u $push60=, 0($9) + i32.const $push1180=, 63 + i32.and $push450=, $pop60, $pop1180 + i32.ne $push451=, $pop449, $pop450 + br_if 2, $pop451 # 2: down to label0 +# BB#33: # %if.end299 + # in Loop: Header=BB24_1 Depth=1 + i32.const $30=, 16 + i32.add $30=, $71, $30 + copy_local $1=, $30 + #APP + #NO_APP + i32.const $31=, 16 + i32.add $31=, $71, $31 + call uq33333333@FUNCTION, $31, $0 + i32.load16_u $push62=, 16($71):p2align=4 + i32.load16_u $push64=, 0($0):p2align=4 + i32.const $push1182=, 3 + i32.div_u $push452=, $pop64, $pop1182 + i32.ne $push453=, $pop62, $pop452 + br_if 2, $pop453 # 2: down to label0 +# BB#34: # %lor.lhs.false309 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push63=, 22($71) + i32.const $push1185=, 65535 + i32.and $push454=, $pop63, $pop1185 + i32.load16_u $push65=, 0($3) + i32.const $push1184=, 65535 + i32.and $push455=, $pop65, $pop1184 + i32.const $push1183=, 3 + i32.div_u $push456=, $pop455, $pop1183 + i32.ne $push457=, $pop454, $pop456 + br_if 2, $pop457 # 2: down to label0 +# BB#35: # %if.end319 + # in Loop: Header=BB24_1 Depth=1 + i32.const $32=, 16 + i32.add $32=, $71, $32 + copy_local $1=, $32 + #APP + #NO_APP + i32.load16_u $push67=, 20($71):p2align=2 + i32.load16_u $push69=, 0($4):p2align=2 + i32.const $push1186=, 3 + i32.div_u $push458=, $pop69, $pop1186 + i32.ne $push459=, $pop67, $pop458 + br_if 2, $pop459 # 2: down to label0 +# BB#36: # %lor.lhs.false328 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push66=, 18($71) + i32.const $push1189=, 65535 + i32.and $push460=, $pop66, $pop1189 + i32.load16_u $push68=, 0($5) + i32.const $push1188=, 65535 + i32.and $push461=, $pop68, $pop1188 + i32.const $push1187=, 3 + i32.div_u $push462=, $pop461, $pop1187 + i32.ne $push463=, $pop460, $pop462 + br_if 2, $pop463 # 2: down to label0 +# BB#37: # %if.end338 + # in Loop: Header=BB24_1 Depth=1 + i32.const $33=, 16 + i32.add $33=, $71, $33 + copy_local $1=, $33 + #APP + #NO_APP + i32.load16_u $push70=, 24($71):p2align=3 + i32.load16_u $push72=, 0($6):p2align=3 + i32.const $push1190=, 3 + i32.div_u $push464=, $pop72, $pop1190 + i32.ne $push465=, $pop70, $pop464 + br_if 2, $pop465 # 2: down to label0 +# BB#38: # %lor.lhs.false347 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push71=, 30($71) + i32.const $push1193=, 65535 + i32.and $push466=, $pop71, $pop1193 + i32.load16_u $push73=, 0($7) + i32.const $push1192=, 65535 + i32.and $push467=, $pop73, $pop1192 + i32.const $push1191=, 3 + i32.div_u $push468=, $pop467, $pop1191 + i32.ne $push469=, $pop466, $pop468 + br_if 2, $pop469 # 2: down to label0 +# BB#39: # %if.end357 + # in Loop: Header=BB24_1 Depth=1 + i32.const $34=, 16 + i32.add $34=, $71, $34 + copy_local $1=, $34 + #APP + #NO_APP + i32.load16_u $push75=, 28($71):p2align=2 + i32.load16_u $push77=, 0($8):p2align=2 + i32.const $push1194=, 3 + i32.div_u $push470=, $pop77, $pop1194 + i32.ne $push471=, $pop75, $pop470 + br_if 2, $pop471 # 2: down to label0 +# BB#40: # %lor.lhs.false366 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push74=, 26($71) + i32.const $push1197=, 65535 + i32.and $push472=, $pop74, $pop1197 + i32.load16_u $push76=, 0($9) + i32.const $push1196=, 65535 + i32.and $push473=, $pop76, $pop1196 + i32.const $push1195=, 3 + i32.div_u $push474=, $pop473, $pop1195 + i32.ne $push475=, $pop472, $pop474 + br_if 2, $pop475 # 2: down to label0 +# BB#41: # %if.end376 + # in Loop: Header=BB24_1 Depth=1 + i32.const $35=, 16 + i32.add $35=, $71, $35 + copy_local $1=, $35 + #APP + #NO_APP + i32.const $36=, 16 + i32.add $36=, $71, $36 + call ur33333333@FUNCTION, $36, $0 + i32.load16_u $push78=, 16($71):p2align=4 + i32.load16_u $push80=, 0($0):p2align=4 + i32.const $push1198=, 3 + i32.rem_u $push476=, $pop80, $pop1198 + i32.ne $push477=, $pop78, $pop476 + br_if 2, $pop477 # 2: down to label0 +# BB#42: # %lor.lhs.false386 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push79=, 22($71) + i32.const $push1201=, 65535 + i32.and $push478=, $pop79, $pop1201 + i32.load16_u $push81=, 0($3) + i32.const $push1200=, 65535 + i32.and $push479=, $pop81, $pop1200 + i32.const $push1199=, 3 + i32.rem_u $push480=, $pop479, $pop1199 + i32.ne $push481=, $pop478, $pop480 + br_if 2, $pop481 # 2: down to label0 +# BB#43: # %if.end396 + # in Loop: Header=BB24_1 Depth=1 + i32.const $37=, 16 + i32.add $37=, $71, $37 + copy_local $1=, $37 + #APP + #NO_APP + i32.load16_u $push83=, 20($71):p2align=2 + i32.load16_u $push85=, 0($4):p2align=2 + i32.const $push1202=, 3 + i32.rem_u $push482=, $pop85, $pop1202 + i32.ne $push483=, $pop83, $pop482 + br_if 2, $pop483 # 2: down to label0 +# BB#44: # %lor.lhs.false405 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push82=, 18($71) + i32.const $push1205=, 65535 + i32.and $push484=, $pop82, $pop1205 + i32.load16_u $push84=, 0($5) + i32.const $push1204=, 65535 + i32.and $push485=, $pop84, $pop1204 + i32.const $push1203=, 3 + i32.rem_u $push486=, $pop485, $pop1203 + i32.ne $push487=, $pop484, $pop486 + br_if 2, $pop487 # 2: down to label0 +# BB#45: # %if.end415 + # in Loop: Header=BB24_1 Depth=1 + i32.const $38=, 16 + i32.add $38=, $71, $38 + copy_local $1=, $38 + #APP + #NO_APP + i32.load16_u $push86=, 24($71):p2align=3 + i32.load16_u $push88=, 0($6):p2align=3 + i32.const $push1206=, 3 + i32.rem_u $push488=, $pop88, $pop1206 + i32.ne $push489=, $pop86, $pop488 + br_if 2, $pop489 # 2: down to label0 +# BB#46: # %lor.lhs.false424 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push87=, 30($71) + i32.const $push1209=, 65535 + i32.and $push490=, $pop87, $pop1209 + i32.load16_u $push89=, 0($7) + i32.const $push1208=, 65535 + i32.and $push491=, $pop89, $pop1208 + i32.const $push1207=, 3 + i32.rem_u $push492=, $pop491, $pop1207 + i32.ne $push493=, $pop490, $pop492 + br_if 2, $pop493 # 2: down to label0 +# BB#47: # %if.end434 + # in Loop: Header=BB24_1 Depth=1 + i32.const $39=, 16 + i32.add $39=, $71, $39 + copy_local $1=, $39 + #APP + #NO_APP + i32.load16_u $push91=, 28($71):p2align=2 + i32.load16_u $push93=, 0($8):p2align=2 + i32.const $push1210=, 3 + i32.rem_u $push494=, $pop93, $pop1210 + i32.ne $push495=, $pop91, $pop494 + br_if 2, $pop495 # 2: down to label0 +# BB#48: # %lor.lhs.false443 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push90=, 26($71) + i32.const $push1213=, 65535 + i32.and $push496=, $pop90, $pop1213 + i32.load16_u $push92=, 0($9) + i32.const $push1212=, 65535 + i32.and $push497=, $pop92, $pop1212 + i32.const $push1211=, 3 + i32.rem_u $push498=, $pop497, $pop1211 + i32.ne $push499=, $pop496, $pop498 + br_if 2, $pop499 # 2: down to label0 +# BB#49: # %if.end453 + # in Loop: Header=BB24_1 Depth=1 + i32.const $40=, 16 + i32.add $40=, $71, $40 + copy_local $1=, $40 + #APP + #NO_APP + i32.const $41=, 16 + i32.add $41=, $71, $41 + call uq65656565@FUNCTION, $41, $0 + i32.load16_u $push94=, 16($71):p2align=4 + i32.load16_u $push96=, 0($0):p2align=4 + i32.const $push1214=, 6 + i32.div_u $push500=, $pop96, $pop1214 + i32.ne $push501=, $pop94, $pop500 + br_if 2, $pop501 # 2: down to label0 +# BB#50: # %lor.lhs.false463 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push95=, 22($71) + i32.const $push1217=, 65535 + i32.and $push502=, $pop95, $pop1217 + i32.load16_u $push97=, 0($3) + i32.const $push1216=, 65535 + i32.and $push503=, $pop97, $pop1216 + i32.const $push1215=, 5 + i32.div_u $push504=, $pop503, $pop1215 + i32.ne $push505=, $pop502, $pop504 + br_if 2, $pop505 # 2: down to label0 +# BB#51: # %if.end473 + # in Loop: Header=BB24_1 Depth=1 + i32.const $42=, 16 + i32.add $42=, $71, $42 + copy_local $1=, $42 + #APP + #NO_APP + i32.load16_u $push99=, 20($71):p2align=2 + i32.load16_u $push101=, 0($4):p2align=2 + i32.const $push1218=, 6 + i32.div_u $push506=, $pop101, $pop1218 + i32.ne $push507=, $pop99, $pop506 + br_if 2, $pop507 # 2: down to label0 +# BB#52: # %lor.lhs.false482 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push98=, 18($71) + i32.const $push1221=, 65535 + i32.and $push508=, $pop98, $pop1221 + i32.load16_u $push100=, 0($5) + i32.const $push1220=, 65535 + i32.and $push509=, $pop100, $pop1220 + i32.const $push1219=, 5 + i32.div_u $push510=, $pop509, $pop1219 + i32.ne $push511=, $pop508, $pop510 + br_if 2, $pop511 # 2: down to label0 +# BB#53: # %if.end492 + # in Loop: Header=BB24_1 Depth=1 + i32.const $43=, 16 + i32.add $43=, $71, $43 + copy_local $1=, $43 + #APP + #NO_APP + i32.load16_u $push102=, 24($71):p2align=3 + i32.load16_u $push104=, 0($6):p2align=3 + i32.const $push1222=, 6 + i32.div_u $push512=, $pop104, $pop1222 + i32.ne $push513=, $pop102, $pop512 + br_if 2, $pop513 # 2: down to label0 +# BB#54: # %lor.lhs.false501 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push103=, 30($71) + i32.const $push1225=, 65535 + i32.and $push514=, $pop103, $pop1225 + i32.load16_u $push105=, 0($7) + i32.const $push1224=, 65535 + i32.and $push515=, $pop105, $pop1224 + i32.const $push1223=, 5 + i32.div_u $push516=, $pop515, $pop1223 + i32.ne $push517=, $pop514, $pop516 + br_if 2, $pop517 # 2: down to label0 +# BB#55: # %if.end511 + # in Loop: Header=BB24_1 Depth=1 + i32.const $44=, 16 + i32.add $44=, $71, $44 + copy_local $1=, $44 + #APP + #NO_APP + i32.load16_u $push107=, 28($71):p2align=2 + i32.load16_u $push109=, 0($8):p2align=2 + i32.const $push1226=, 6 + i32.div_u $push518=, $pop109, $pop1226 + i32.ne $push519=, $pop107, $pop518 + br_if 2, $pop519 # 2: down to label0 +# BB#56: # %lor.lhs.false520 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push106=, 26($71) + i32.const $push1229=, 65535 + i32.and $push520=, $pop106, $pop1229 + i32.load16_u $push108=, 0($9) + i32.const $push1228=, 65535 + i32.and $push521=, $pop108, $pop1228 + i32.const $push1227=, 5 + i32.div_u $push522=, $pop521, $pop1227 + i32.ne $push523=, $pop520, $pop522 + br_if 2, $pop523 # 2: down to label0 +# BB#57: # %if.end530 + # in Loop: Header=BB24_1 Depth=1 + i32.const $45=, 16 + i32.add $45=, $71, $45 + copy_local $1=, $45 + #APP + #NO_APP + i32.const $46=, 16 + i32.add $46=, $71, $46 + call ur65656565@FUNCTION, $46, $0 + i32.load16_u $push110=, 16($71):p2align=4 + i32.load16_u $push112=, 0($0):p2align=4 + i32.const $push1230=, 6 + i32.rem_u $push524=, $pop112, $pop1230 + i32.ne $push525=, $pop110, $pop524 + br_if 2, $pop525 # 2: down to label0 +# BB#58: # %lor.lhs.false540 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push111=, 22($71) + i32.const $push1233=, 65535 + i32.and $push526=, $pop111, $pop1233 + i32.load16_u $push113=, 0($3) + i32.const $push1232=, 65535 + i32.and $push527=, $pop113, $pop1232 + i32.const $push1231=, 5 + i32.rem_u $push528=, $pop527, $pop1231 + i32.ne $push529=, $pop526, $pop528 + br_if 2, $pop529 # 2: down to label0 +# BB#59: # %if.end550 + # in Loop: Header=BB24_1 Depth=1 + i32.const $47=, 16 + i32.add $47=, $71, $47 + copy_local $1=, $47 + #APP + #NO_APP + i32.load16_u $push115=, 20($71):p2align=2 + i32.load16_u $push117=, 0($4):p2align=2 + i32.const $push1234=, 6 + i32.rem_u $push530=, $pop117, $pop1234 + i32.ne $push531=, $pop115, $pop530 + br_if 2, $pop531 # 2: down to label0 +# BB#60: # %lor.lhs.false559 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push114=, 18($71) + i32.const $push1237=, 65535 + i32.and $push532=, $pop114, $pop1237 + i32.load16_u $push116=, 0($5) + i32.const $push1236=, 65535 + i32.and $push533=, $pop116, $pop1236 + i32.const $push1235=, 5 + i32.rem_u $push534=, $pop533, $pop1235 + i32.ne $push535=, $pop532, $pop534 + br_if 2, $pop535 # 2: down to label0 +# BB#61: # %if.end569 + # in Loop: Header=BB24_1 Depth=1 + i32.const $48=, 16 + i32.add $48=, $71, $48 + copy_local $1=, $48 + #APP + #NO_APP + i32.load16_u $push118=, 24($71):p2align=3 + i32.load16_u $push120=, 0($6):p2align=3 + i32.const $push1238=, 6 + i32.rem_u $push536=, $pop120, $pop1238 + i32.ne $push537=, $pop118, $pop536 + br_if 2, $pop537 # 2: down to label0 +# BB#62: # %lor.lhs.false578 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push119=, 30($71) + i32.const $push1241=, 65535 + i32.and $push538=, $pop119, $pop1241 + i32.load16_u $push121=, 0($7) + i32.const $push1240=, 65535 + i32.and $push539=, $pop121, $pop1240 + i32.const $push1239=, 5 + i32.rem_u $push540=, $pop539, $pop1239 + i32.ne $push541=, $pop538, $pop540 + br_if 2, $pop541 # 2: down to label0 +# BB#63: # %if.end588 + # in Loop: Header=BB24_1 Depth=1 + i32.const $49=, 16 + i32.add $49=, $71, $49 + copy_local $1=, $49 + #APP + #NO_APP + i32.load16_u $push123=, 28($71):p2align=2 + i32.load16_u $push125=, 0($8):p2align=2 + i32.const $push1242=, 6 + i32.rem_u $push542=, $pop125, $pop1242 + i32.ne $push543=, $pop123, $pop542 + br_if 2, $pop543 # 2: down to label0 +# BB#64: # %lor.lhs.false597 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push122=, 26($71) + i32.const $push1245=, 65535 + i32.and $push544=, $pop122, $pop1245 + i32.load16_u $push124=, 0($9) + i32.const $push1244=, 65535 + i32.and $push545=, $pop124, $pop1244 + i32.const $push1243=, 5 + i32.rem_u $push546=, $pop545, $pop1243 + i32.ne $push547=, $pop544, $pop546 + br_if 2, $pop547 # 2: down to label0 +# BB#65: # %if.end607 + # in Loop: Header=BB24_1 Depth=1 + i32.const $50=, 16 + i32.add $50=, $71, $50 + copy_local $1=, $50 + #APP + #NO_APP + i32.const $51=, 16 + i32.add $51=, $71, $51 + call uq14141461461414@FUNCTION, $51, $0 + i32.load16_u $push126=, 16($71):p2align=4 + i32.load16_u $push128=, 0($0):p2align=4 + i32.const $push1246=, 14 + i32.div_u $push548=, $pop128, $pop1246 + i32.ne $push549=, $pop126, $pop548 + br_if 2, $pop549 # 2: down to label0 +# BB#66: # %lor.lhs.false617 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push127=, 22($71) + i32.const $push1249=, 65535 + i32.and $push550=, $pop127, $pop1249 + i32.load16_u $push129=, 0($3) + i32.const $push1248=, 65535 + i32.and $push551=, $pop129, $pop1248 + i32.const $push1247=, 6 + i32.div_u $push552=, $pop551, $pop1247 + i32.ne $push553=, $pop550, $pop552 + br_if 2, $pop553 # 2: down to label0 +# BB#67: # %if.end627 + # in Loop: Header=BB24_1 Depth=1 + i32.const $52=, 16 + i32.add $52=, $71, $52 + copy_local $1=, $52 + #APP + #NO_APP + i32.load16_u $push131=, 20($71):p2align=2 + i32.load16_u $push133=, 0($4):p2align=2 + i32.const $push1250=, 14 + i32.div_u $push554=, $pop133, $pop1250 + i32.ne $push555=, $pop131, $pop554 + br_if 2, $pop555 # 2: down to label0 +# BB#68: # %lor.lhs.false636 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push130=, 18($71) + i32.const $push1253=, 65535 + i32.and $push556=, $pop130, $pop1253 + i32.load16_u $push132=, 0($5) + i32.const $push1252=, 65535 + i32.and $push557=, $pop132, $pop1252 + i32.const $push1251=, 14 + i32.div_u $push558=, $pop557, $pop1251 + i32.ne $push559=, $pop556, $pop558 + br_if 2, $pop559 # 2: down to label0 +# BB#69: # %if.end646 + # in Loop: Header=BB24_1 Depth=1 + i32.const $53=, 16 + i32.add $53=, $71, $53 + copy_local $1=, $53 + #APP + #NO_APP + i32.load16_u $push134=, 24($71):p2align=3 + i32.load16_u $push136=, 0($6):p2align=3 + i32.const $push1254=, 14 + i32.div_u $push560=, $pop136, $pop1254 + i32.ne $push561=, $pop134, $pop560 + br_if 2, $pop561 # 2: down to label0 +# BB#70: # %lor.lhs.false655 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push135=, 30($71) + i32.const $push1257=, 65535 + i32.and $push562=, $pop135, $pop1257 + i32.load16_u $push137=, 0($7) + i32.const $push1256=, 65535 + i32.and $push563=, $pop137, $pop1256 + i32.const $push1255=, 14 + i32.div_u $push564=, $pop563, $pop1255 + i32.ne $push565=, $pop562, $pop564 + br_if 2, $pop565 # 2: down to label0 +# BB#71: # %if.end665 + # in Loop: Header=BB24_1 Depth=1 + i32.const $54=, 16 + i32.add $54=, $71, $54 + copy_local $1=, $54 + #APP + #NO_APP + i32.load16_u $push139=, 28($71):p2align=2 + i32.load16_u $push141=, 0($8):p2align=2 + i32.const $push1258=, 14 + i32.div_u $push566=, $pop141, $pop1258 + i32.ne $push567=, $pop139, $pop566 + br_if 2, $pop567 # 2: down to label0 +# BB#72: # %lor.lhs.false674 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push138=, 26($71) + i32.const $push1261=, 65535 + i32.and $push568=, $pop138, $pop1261 + i32.load16_u $push140=, 0($9) + i32.const $push1260=, 65535 + i32.and $push569=, $pop140, $pop1260 + i32.const $push1259=, 6 + i32.div_u $push570=, $pop569, $pop1259 + i32.ne $push571=, $pop568, $pop570 + br_if 2, $pop571 # 2: down to label0 +# BB#73: # %if.end684 + # in Loop: Header=BB24_1 Depth=1 + i32.const $55=, 16 + i32.add $55=, $71, $55 + copy_local $1=, $55 + #APP + #NO_APP + i32.const $56=, 16 + i32.add $56=, $71, $56 + call ur14141461461414@FUNCTION, $56, $0 + i32.load16_u $push142=, 16($71):p2align=4 + i32.load16_u $push144=, 0($0):p2align=4 + i32.const $push1262=, 14 + i32.rem_u $push572=, $pop144, $pop1262 + i32.ne $push573=, $pop142, $pop572 + br_if 2, $pop573 # 2: down to label0 +# BB#74: # %lor.lhs.false694 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push143=, 22($71) + i32.const $push1265=, 65535 + i32.and $push574=, $pop143, $pop1265 + i32.load16_u $push145=, 0($3) + i32.const $push1264=, 65535 + i32.and $push575=, $pop145, $pop1264 + i32.const $push1263=, 6 + i32.rem_u $push576=, $pop575, $pop1263 + i32.ne $push577=, $pop574, $pop576 + br_if 2, $pop577 # 2: down to label0 +# BB#75: # %if.end704 + # in Loop: Header=BB24_1 Depth=1 + i32.const $57=, 16 + i32.add $57=, $71, $57 + copy_local $1=, $57 + #APP + #NO_APP + i32.load16_u $push147=, 20($71):p2align=2 + i32.load16_u $push149=, 0($4):p2align=2 + i32.const $push1266=, 14 + i32.rem_u $push578=, $pop149, $pop1266 + i32.ne $push579=, $pop147, $pop578 + br_if 2, $pop579 # 2: down to label0 +# BB#76: # %lor.lhs.false713 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push146=, 18($71) + i32.const $push1269=, 65535 + i32.and $push580=, $pop146, $pop1269 + i32.load16_u $push148=, 0($5) + i32.const $push1268=, 65535 + i32.and $push581=, $pop148, $pop1268 + i32.const $push1267=, 14 + i32.rem_u $push582=, $pop581, $pop1267 + i32.ne $push583=, $pop580, $pop582 + br_if 2, $pop583 # 2: down to label0 +# BB#77: # %if.end723 + # in Loop: Header=BB24_1 Depth=1 + i32.const $58=, 16 + i32.add $58=, $71, $58 + copy_local $1=, $58 + #APP + #NO_APP + i32.load16_u $push150=, 24($71):p2align=3 + i32.load16_u $push152=, 0($6):p2align=3 + i32.const $push1270=, 14 + i32.rem_u $push584=, $pop152, $pop1270 + i32.ne $push585=, $pop150, $pop584 + br_if 2, $pop585 # 2: down to label0 +# BB#78: # %lor.lhs.false732 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push151=, 30($71) + i32.const $push1273=, 65535 + i32.and $push586=, $pop151, $pop1273 + i32.load16_u $push153=, 0($7) + i32.const $push1272=, 65535 + i32.and $push587=, $pop153, $pop1272 + i32.const $push1271=, 14 + i32.rem_u $push588=, $pop587, $pop1271 + i32.ne $push589=, $pop586, $pop588 + br_if 2, $pop589 # 2: down to label0 +# BB#79: # %if.end742 + # in Loop: Header=BB24_1 Depth=1 + i32.const $59=, 16 + i32.add $59=, $71, $59 + copy_local $1=, $59 + #APP + #NO_APP + i32.load16_u $push155=, 28($71):p2align=2 + i32.load16_u $push157=, 0($8):p2align=2 + i32.const $push1274=, 14 + i32.rem_u $push590=, $pop157, $pop1274 + i32.ne $push591=, $pop155, $pop590 + br_if 2, $pop591 # 2: down to label0 +# BB#80: # %lor.lhs.false751 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push154=, 26($71) + i32.const $push1277=, 65535 + i32.and $push592=, $pop154, $pop1277 + i32.load16_u $push156=, 0($9) + i32.const $push1276=, 65535 + i32.and $push593=, $pop156, $pop1276 + i32.const $push1275=, 6 + i32.rem_u $push594=, $pop593, $pop1275 + i32.ne $push595=, $pop592, $pop594 + br_if 2, $pop595 # 2: down to label0 +# BB#81: # %if.end761 + # in Loop: Header=BB24_1 Depth=1 + i32.const $60=, 16 + i32.add $60=, $71, $60 + copy_local $1=, $60 + #APP + #NO_APP + i32.const $61=, 16 + i32.add $61=, $71, $61 + call uq77777777@FUNCTION, $61, $0 + i32.load16_u $push158=, 16($71):p2align=4 + i32.load16_u $push160=, 0($0):p2align=4 + i32.const $push1278=, 7 + i32.div_u $push596=, $pop160, $pop1278 + i32.ne $push597=, $pop158, $pop596 + br_if 2, $pop597 # 2: down to label0 +# BB#82: # %lor.lhs.false771 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push159=, 22($71) + i32.const $push1281=, 65535 + i32.and $push598=, $pop159, $pop1281 + i32.load16_u $push161=, 0($3) + i32.const $push1280=, 65535 + i32.and $push599=, $pop161, $pop1280 + i32.const $push1279=, 7 + i32.div_u $push600=, $pop599, $pop1279 + i32.ne $push601=, $pop598, $pop600 + br_if 2, $pop601 # 2: down to label0 +# BB#83: # %if.end781 + # in Loop: Header=BB24_1 Depth=1 + i32.const $62=, 16 + i32.add $62=, $71, $62 + copy_local $1=, $62 + #APP + #NO_APP + i32.load16_u $push163=, 20($71):p2align=2 + i32.load16_u $push165=, 0($4):p2align=2 + i32.const $push1282=, 7 + i32.div_u $push602=, $pop165, $pop1282 + i32.ne $push603=, $pop163, $pop602 + br_if 2, $pop603 # 2: down to label0 +# BB#84: # %lor.lhs.false790 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push162=, 18($71) + i32.const $push1285=, 65535 + i32.and $push604=, $pop162, $pop1285 + i32.load16_u $push164=, 0($5) + i32.const $push1284=, 65535 + i32.and $push605=, $pop164, $pop1284 + i32.const $push1283=, 7 + i32.div_u $push606=, $pop605, $pop1283 + i32.ne $push607=, $pop604, $pop606 + br_if 2, $pop607 # 2: down to label0 +# BB#85: # %if.end800 + # in Loop: Header=BB24_1 Depth=1 + i32.const $63=, 16 + i32.add $63=, $71, $63 + copy_local $1=, $63 + #APP + #NO_APP + i32.load16_u $push166=, 24($71):p2align=3 + i32.load16_u $push168=, 0($6):p2align=3 + i32.const $push1286=, 7 + i32.div_u $push608=, $pop168, $pop1286 + i32.ne $push609=, $pop166, $pop608 + br_if 2, $pop609 # 2: down to label0 +# BB#86: # %lor.lhs.false809 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push167=, 30($71) + i32.const $push1289=, 65535 + i32.and $push610=, $pop167, $pop1289 + i32.load16_u $push169=, 0($7) + i32.const $push1288=, 65535 + i32.and $push611=, $pop169, $pop1288 + i32.const $push1287=, 7 + i32.div_u $push612=, $pop611, $pop1287 + i32.ne $push613=, $pop610, $pop612 + br_if 2, $pop613 # 2: down to label0 +# BB#87: # %if.end819 + # in Loop: Header=BB24_1 Depth=1 + i32.const $64=, 16 + i32.add $64=, $71, $64 + copy_local $1=, $64 + #APP + #NO_APP + i32.load16_u $push171=, 28($71):p2align=2 + i32.load16_u $push173=, 0($8):p2align=2 + i32.const $push1290=, 7 + i32.div_u $push614=, $pop173, $pop1290 + i32.ne $push615=, $pop171, $pop614 + br_if 2, $pop615 # 2: down to label0 +# BB#88: # %lor.lhs.false828 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push170=, 26($71) + i32.const $push1293=, 65535 + i32.and $push616=, $pop170, $pop1293 + i32.load16_u $push172=, 0($9) + i32.const $push1292=, 65535 + i32.and $push617=, $pop172, $pop1292 + i32.const $push1291=, 7 + i32.div_u $push618=, $pop617, $pop1291 + i32.ne $push619=, $pop616, $pop618 + br_if 2, $pop619 # 2: down to label0 +# BB#89: # %if.end838 + # in Loop: Header=BB24_1 Depth=1 + i32.const $65=, 16 + i32.add $65=, $71, $65 + copy_local $1=, $65 + #APP + #NO_APP + i32.const $66=, 16 + i32.add $66=, $71, $66 + call ur77777777@FUNCTION, $66, $0 + i32.load16_u $push174=, 16($71):p2align=4 + i32.load16_u $push176=, 0($0):p2align=4 + i32.const $push1294=, 7 + i32.rem_u $push620=, $pop176, $pop1294 + i32.ne $push621=, $pop174, $pop620 + br_if 2, $pop621 # 2: down to label0 +# BB#90: # %lor.lhs.false848 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push175=, 22($71) + i32.const $push1297=, 65535 + i32.and $push622=, $pop175, $pop1297 + i32.load16_u $push177=, 0($3) + i32.const $push1296=, 65535 + i32.and $push623=, $pop177, $pop1296 + i32.const $push1295=, 7 + i32.rem_u $push624=, $pop623, $pop1295 + i32.ne $push625=, $pop622, $pop624 + br_if 2, $pop625 # 2: down to label0 +# BB#91: # %if.end858 + # in Loop: Header=BB24_1 Depth=1 + i32.const $67=, 16 + i32.add $67=, $71, $67 + copy_local $3=, $67 + #APP + #NO_APP + i32.load16_u $push179=, 20($71):p2align=2 + i32.load16_u $push181=, 0($4):p2align=2 + i32.const $push1298=, 7 + i32.rem_u $push626=, $pop181, $pop1298 + i32.ne $push627=, $pop179, $pop626 + br_if 2, $pop627 # 2: down to label0 +# BB#92: # %lor.lhs.false867 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push178=, 18($71) + i32.const $push1301=, 65535 + i32.and $push628=, $pop178, $pop1301 + i32.load16_u $push180=, 0($5) + i32.const $push1300=, 65535 + i32.and $push629=, $pop180, $pop1300 + i32.const $push1299=, 7 + i32.rem_u $push630=, $pop629, $pop1299 + i32.ne $push631=, $pop628, $pop630 + br_if 2, $pop631 # 2: down to label0 +# BB#93: # %if.end877 + # in Loop: Header=BB24_1 Depth=1 + i32.const $68=, 16 + i32.add $68=, $71, $68 + copy_local $3=, $68 + #APP + #NO_APP + i32.load16_u $push182=, 24($71):p2align=3 + i32.load16_u $push184=, 0($6):p2align=3 + i32.const $push1302=, 7 + i32.rem_u $push632=, $pop184, $pop1302 + i32.ne $push633=, $pop182, $pop632 + br_if 2, $pop633 # 2: down to label0 +# BB#94: # %lor.lhs.false886 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push183=, 30($71) + i32.const $push1305=, 65535 + i32.and $push634=, $pop183, $pop1305 + i32.load16_u $push185=, 0($7) + i32.const $push1304=, 65535 + i32.and $push635=, $pop185, $pop1304 + i32.const $push1303=, 7 + i32.rem_u $push636=, $pop635, $pop1303 + i32.ne $push637=, $pop634, $pop636 + br_if 2, $pop637 # 2: down to label0 +# BB#95: # %if.end896 + # in Loop: Header=BB24_1 Depth=1 + i32.const $69=, 16 + i32.add $69=, $71, $69 + copy_local $3=, $69 + #APP + #NO_APP + i32.load16_u $push187=, 28($71):p2align=2 + i32.load16_u $push189=, 0($8):p2align=2 + i32.const $push1306=, 7 + i32.rem_u $push638=, $pop189, $pop1306 + i32.ne $push639=, $pop187, $pop638 + br_if 2, $pop639 # 2: down to label0 +# BB#96: # %lor.lhs.false905 + # in Loop: Header=BB24_1 Depth=1 + i32.load16_u $push186=, 26($71) + i32.const $push1309=, 65535 + i32.and $push640=, $pop186, $pop1309 + i32.load16_u $push188=, 0($9) + i32.const $push1308=, 65535 + i32.and $push641=, $pop188, $pop1308 + i32.const $push1307=, 7 + i32.rem_u $push642=, $pop641, $pop1307 + i32.ne $push643=, $pop640, $pop642 + br_if 2, $pop643 # 2: down to label0 +# BB#97: # %if.end915 + # in Loop: Header=BB24_1 Depth=1 + i32.const $70=, 16 + i32.add $70=, $71, $70 + copy_local $3=, $70 + #APP + #NO_APP + i32.const $push1312=, 1 + i32.add $2=, $2, $pop1312 + i32.const $push1311=, 16 + i32.add $0=, $0, $pop1311 + i32.const $push1310=, 2 + i32.lt_u $push644=, $2, $pop1310 + br_if 0, $pop644 # 0: up to label1 +# BB#98: + end_loop # label2: + i32.const $1=, 0 + i32.const $0=, s +.LBB24_99: # %for.body919 + # =>This Inner Loop Header: Depth=1 + loop # label3: + call sq44444444@FUNCTION, $71, $0 + i32.load16_s $3=, 0($0):p2align=4 + i32.load16_s $push190=, 0($71):p2align=4 + i32.const $push1315=, 31 + i32.shr_s $push645=, $3, $pop1315 + i32.const $push1314=, 30 + i32.shr_u $push646=, $pop645, $pop1314 + i32.add $push647=, $3, $pop646 + i32.const $push1313=, 2 + i32.shr_s $push648=, $pop647, $pop1313 + i32.ne $push649=, $pop190, $pop648 + br_if 2, $pop649 # 2: down to label0 +# BB#100: # %lor.lhs.false929 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push191=, 6($71) + i32.const $push1327=, 16 + i32.shl $push650=, $pop191, $pop1327 + i32.const $push1326=, 16 + i32.shr_s $push651=, $pop650, $pop1326 + i32.const $push1325=, 6 + i32.add $push1324=, $0, $pop1325 + tee_local $push1323=, $3=, $pop1324 + i32.load16_u $push192=, 0($pop1323) + i32.const $push1322=, 16 + i32.shl $push1321=, $pop192, $pop1322 + tee_local $push1320=, $4=, $pop1321 + i32.const $push1319=, 16 + i32.shr_s $push652=, $pop1320, $pop1319 + i32.const $push1318=, 31 + i32.shr_s $push653=, $4, $pop1318 + i32.const $push1317=, 30 + i32.shr_u $push654=, $pop653, $pop1317 + i32.add $push655=, $pop652, $pop654 + i32.const $push1316=, 2 + i32.shr_s $push656=, $pop655, $pop1316 + i32.ne $push657=, $pop651, $pop656 + br_if 2, $pop657 # 2: down to label0 +# BB#101: # %if.end939 + # in Loop: Header=BB24_99 Depth=1 + copy_local $4=, $71 + #APP + #NO_APP + i32.const $push1333=, 4 + i32.add $push1332=, $0, $pop1333 + tee_local $push1331=, $4=, $pop1332 + i32.load16_s $5=, 0($pop1331):p2align=2 + i32.load16_s $push194=, 4($71):p2align=2 + i32.const $push1330=, 31 + i32.shr_s $push658=, $5, $pop1330 + i32.const $push1329=, 30 + i32.shr_u $push659=, $pop658, $pop1329 + i32.add $push660=, $5, $pop659 + i32.const $push1328=, 2 + i32.shr_s $push661=, $pop660, $pop1328 + i32.ne $push662=, $pop194, $pop661 + br_if 2, $pop662 # 2: down to label0 +# BB#102: # %lor.lhs.false948 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push193=, 2($71) + i32.const $push1345=, 16 + i32.shl $push663=, $pop193, $pop1345 + i32.const $push1344=, 16 + i32.shr_s $push664=, $pop663, $pop1344 + i32.const $push1343=, 2 + i32.add $push1342=, $0, $pop1343 + tee_local $push1341=, $5=, $pop1342 + i32.load16_u $push195=, 0($pop1341) + i32.const $push1340=, 16 + i32.shl $push1339=, $pop195, $pop1340 + tee_local $push1338=, $6=, $pop1339 + i32.const $push1337=, 16 + i32.shr_s $push665=, $pop1338, $pop1337 + i32.const $push1336=, 31 + i32.shr_s $push666=, $6, $pop1336 + i32.const $push1335=, 30 + i32.shr_u $push667=, $pop666, $pop1335 + i32.add $push668=, $pop665, $pop667 + i32.const $push1334=, 2 + i32.shr_s $push669=, $pop668, $pop1334 + i32.ne $push670=, $pop664, $pop669 + br_if 2, $pop670 # 2: down to label0 +# BB#103: # %if.end958 + # in Loop: Header=BB24_99 Depth=1 + copy_local $6=, $71 + #APP + #NO_APP + i32.const $push1351=, 8 + i32.add $push1350=, $0, $pop1351 + tee_local $push1349=, $6=, $pop1350 + i32.load16_s $7=, 0($pop1349):p2align=3 + i32.load16_s $push196=, 8($71):p2align=3 + i32.const $push1348=, 31 + i32.shr_s $push671=, $7, $pop1348 + i32.const $push1347=, 30 + i32.shr_u $push672=, $pop671, $pop1347 + i32.add $push673=, $7, $pop672 + i32.const $push1346=, 2 + i32.shr_s $push674=, $pop673, $pop1346 + i32.ne $push675=, $pop196, $pop674 + br_if 2, $pop675 # 2: down to label0 +# BB#104: # %lor.lhs.false967 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push197=, 14($71) + i32.const $push1363=, 16 + i32.shl $push676=, $pop197, $pop1363 + i32.const $push1362=, 16 + i32.shr_s $push677=, $pop676, $pop1362 + i32.const $push1361=, 14 + i32.add $push1360=, $0, $pop1361 + tee_local $push1359=, $7=, $pop1360 + i32.load16_u $push198=, 0($pop1359) + i32.const $push1358=, 16 + i32.shl $push1357=, $pop198, $pop1358 + tee_local $push1356=, $8=, $pop1357 + i32.const $push1355=, 16 + i32.shr_s $push678=, $pop1356, $pop1355 + i32.const $push1354=, 31 + i32.shr_s $push679=, $8, $pop1354 + i32.const $push1353=, 30 + i32.shr_u $push680=, $pop679, $pop1353 + i32.add $push681=, $pop678, $pop680 + i32.const $push1352=, 2 + i32.shr_s $push682=, $pop681, $pop1352 + i32.ne $push683=, $pop677, $pop682 + br_if 2, $pop683 # 2: down to label0 +# BB#105: # %if.end977 + # in Loop: Header=BB24_99 Depth=1 + copy_local $8=, $71 + #APP + #NO_APP + i32.const $push1369=, 12 + i32.add $push1368=, $0, $pop1369 + tee_local $push1367=, $8=, $pop1368 + i32.load16_s $9=, 0($pop1367):p2align=2 + i32.load16_s $push200=, 12($71):p2align=2 + i32.const $push1366=, 31 + i32.shr_s $push684=, $9, $pop1366 + i32.const $push1365=, 30 + i32.shr_u $push685=, $pop684, $pop1365 + i32.add $push686=, $9, $pop685 + i32.const $push1364=, 2 + i32.shr_s $push687=, $pop686, $pop1364 + i32.ne $push688=, $pop200, $pop687 + br_if 2, $pop688 # 2: down to label0 +# BB#106: # %lor.lhs.false986 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push199=, 10($71) + i32.const $push1381=, 16 + i32.shl $push689=, $pop199, $pop1381 + i32.const $push1380=, 16 + i32.shr_s $push690=, $pop689, $pop1380 + i32.const $push1379=, 10 + i32.add $push1378=, $0, $pop1379 + tee_local $push1377=, $9=, $pop1378 + i32.load16_u $push201=, 0($pop1377) + i32.const $push1376=, 16 + i32.shl $push1375=, $pop201, $pop1376 + tee_local $push1374=, $2=, $pop1375 + i32.const $push1373=, 16 + i32.shr_s $push691=, $pop1374, $pop1373 + i32.const $push1372=, 31 + i32.shr_s $push692=, $2, $pop1372 + i32.const $push1371=, 30 + i32.shr_u $push693=, $pop692, $pop1371 + i32.add $push694=, $pop691, $pop693 + i32.const $push1370=, 2 + i32.shr_s $push695=, $pop694, $pop1370 + i32.ne $push696=, $pop690, $pop695 + br_if 2, $pop696 # 2: down to label0 +# BB#107: # %if.end996 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + call sr44444444@FUNCTION, $71, $0 + i32.load16_s $2=, 0($0):p2align=4 + i32.load16_s $push202=, 0($71):p2align=4 + i32.const $push1384=, 31 + i32.shr_s $push697=, $2, $pop1384 + i32.const $push1383=, 30 + i32.shr_u $push698=, $pop697, $pop1383 + i32.add $push699=, $2, $pop698 + i32.const $push1382=, -4 + i32.and $push700=, $pop699, $pop1382 + i32.sub $push701=, $2, $pop700 + i32.ne $push702=, $pop202, $pop701 + br_if 2, $pop702 # 2: down to label0 +# BB#108: # %lor.lhs.false1006 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push204=, 0($3) + i32.const $push1393=, 16 + i32.shl $push1392=, $pop204, $pop1393 + tee_local $push1391=, $10=, $pop1392 + i32.const $push1390=, 16 + i32.shr_s $2=, $pop1391, $pop1390 + i32.load16_u $push203=, 6($71) + i32.const $push1389=, 16 + i32.shl $push703=, $pop203, $pop1389 + i32.const $push1388=, 16 + i32.shr_s $push704=, $pop703, $pop1388 + i32.const $push1387=, 31 + i32.shr_s $push705=, $10, $pop1387 + i32.const $push1386=, 30 + i32.shr_u $push706=, $pop705, $pop1386 + i32.add $push707=, $2, $pop706 + i32.const $push1385=, -4 + i32.and $push708=, $pop707, $pop1385 + i32.sub $push709=, $2, $pop708 + i32.ne $push710=, $pop704, $pop709 + br_if 2, $pop710 # 2: down to label0 +# BB#109: # %if.end1016 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $2=, 0($4):p2align=2 + i32.load16_s $push206=, 4($71):p2align=2 + i32.const $push1396=, 31 + i32.shr_s $push711=, $2, $pop1396 + i32.const $push1395=, 30 + i32.shr_u $push712=, $pop711, $pop1395 + i32.add $push713=, $2, $pop712 + i32.const $push1394=, -4 + i32.and $push714=, $pop713, $pop1394 + i32.sub $push715=, $2, $pop714 + i32.ne $push716=, $pop206, $pop715 + br_if 2, $pop716 # 2: down to label0 +# BB#110: # %lor.lhs.false1025 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push207=, 0($5) + i32.const $push1405=, 16 + i32.shl $push1404=, $pop207, $pop1405 + tee_local $push1403=, $10=, $pop1404 + i32.const $push1402=, 16 + i32.shr_s $2=, $pop1403, $pop1402 + i32.load16_u $push205=, 2($71) + i32.const $push1401=, 16 + i32.shl $push717=, $pop205, $pop1401 + i32.const $push1400=, 16 + i32.shr_s $push718=, $pop717, $pop1400 + i32.const $push1399=, 31 + i32.shr_s $push719=, $10, $pop1399 + i32.const $push1398=, 30 + i32.shr_u $push720=, $pop719, $pop1398 + i32.add $push721=, $2, $pop720 + i32.const $push1397=, -4 + i32.and $push722=, $pop721, $pop1397 + i32.sub $push723=, $2, $pop722 + i32.ne $push724=, $pop718, $pop723 + br_if 2, $pop724 # 2: down to label0 +# BB#111: # %if.end1035 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $2=, 0($6):p2align=3 + i32.load16_s $push208=, 8($71):p2align=3 + i32.const $push1408=, 31 + i32.shr_s $push725=, $2, $pop1408 + i32.const $push1407=, 30 + i32.shr_u $push726=, $pop725, $pop1407 + i32.add $push727=, $2, $pop726 + i32.const $push1406=, -4 + i32.and $push728=, $pop727, $pop1406 + i32.sub $push729=, $2, $pop728 + i32.ne $push730=, $pop208, $pop729 + br_if 2, $pop730 # 2: down to label0 +# BB#112: # %lor.lhs.false1044 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push210=, 0($7) + i32.const $push1417=, 16 + i32.shl $push1416=, $pop210, $pop1417 + tee_local $push1415=, $10=, $pop1416 + i32.const $push1414=, 16 + i32.shr_s $2=, $pop1415, $pop1414 + i32.load16_u $push209=, 14($71) + i32.const $push1413=, 16 + i32.shl $push731=, $pop209, $pop1413 + i32.const $push1412=, 16 + i32.shr_s $push732=, $pop731, $pop1412 + i32.const $push1411=, 31 + i32.shr_s $push733=, $10, $pop1411 + i32.const $push1410=, 30 + i32.shr_u $push734=, $pop733, $pop1410 + i32.add $push735=, $2, $pop734 + i32.const $push1409=, -4 + i32.and $push736=, $pop735, $pop1409 + i32.sub $push737=, $2, $pop736 + i32.ne $push738=, $pop732, $pop737 + br_if 2, $pop738 # 2: down to label0 +# BB#113: # %if.end1054 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $2=, 0($8):p2align=2 + i32.load16_s $push212=, 12($71):p2align=2 + i32.const $push1420=, 31 + i32.shr_s $push739=, $2, $pop1420 + i32.const $push1419=, 30 + i32.shr_u $push740=, $pop739, $pop1419 + i32.add $push741=, $2, $pop740 + i32.const $push1418=, -4 + i32.and $push742=, $pop741, $pop1418 + i32.sub $push743=, $2, $pop742 + i32.ne $push744=, $pop212, $pop743 + br_if 2, $pop744 # 2: down to label0 +# BB#114: # %lor.lhs.false1063 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push213=, 0($9) + i32.const $push1429=, 16 + i32.shl $push1428=, $pop213, $pop1429 + tee_local $push1427=, $10=, $pop1428 + i32.const $push1426=, 16 + i32.shr_s $2=, $pop1427, $pop1426 + i32.load16_u $push211=, 10($71) + i32.const $push1425=, 16 + i32.shl $push745=, $pop211, $pop1425 + i32.const $push1424=, 16 + i32.shr_s $push746=, $pop745, $pop1424 + i32.const $push1423=, 31 + i32.shr_s $push747=, $10, $pop1423 + i32.const $push1422=, 30 + i32.shr_u $push748=, $pop747, $pop1422 + i32.add $push749=, $2, $pop748 + i32.const $push1421=, -4 + i32.and $push750=, $pop749, $pop1421 + i32.sub $push751=, $2, $pop750 + i32.ne $push752=, $pop746, $pop751 + br_if 2, $pop752 # 2: down to label0 +# BB#115: # %if.end1073 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + call sq1428166432128@FUNCTION, $71, $0 + i32.load16_u $push214=, 0($71):p2align=4 + i32.load16_u $push216=, 0($0):p2align=4 + i32.ne $push753=, $pop214, $pop216 + br_if 2, $pop753 # 2: down to label0 +# BB#116: # %lor.lhs.false1083 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push215=, 6($71) + i32.const $push1438=, 16 + i32.shl $push754=, $pop215, $pop1438 + i32.const $push1437=, 16 + i32.shr_s $push755=, $pop754, $pop1437 + i32.load16_u $push217=, 0($3) + i32.const $push1436=, 16 + i32.shl $push1435=, $pop217, $pop1436 + tee_local $push1434=, $2=, $pop1435 + i32.const $push1433=, 16 + i32.shr_s $push756=, $pop1434, $pop1433 + i32.const $push1432=, 31 + i32.shr_s $push757=, $2, $pop1432 + i32.const $push1431=, 29 + i32.shr_u $push758=, $pop757, $pop1431 + i32.add $push759=, $pop756, $pop758 + i32.const $push1430=, 3 + i32.shr_s $push760=, $pop759, $pop1430 + i32.ne $push761=, $pop755, $pop760 + br_if 2, $pop761 # 2: down to label0 +# BB#117: # %if.end1093 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $2=, 0($4):p2align=2 + i32.load16_s $push219=, 4($71):p2align=2 + i32.const $push1440=, 31 + i32.shr_u $push762=, $2, $pop1440 + i32.add $push763=, $2, $pop762 + i32.const $push1439=, 1 + i32.shr_s $push764=, $pop763, $pop1439 + i32.ne $push765=, $pop219, $pop764 + br_if 2, $pop765 # 2: down to label0 +# BB#118: # %lor.lhs.false1102 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push218=, 2($71) + i32.const $push1449=, 16 + i32.shl $push766=, $pop218, $pop1449 + i32.const $push1448=, 16 + i32.shr_s $push767=, $pop766, $pop1448 + i32.load16_u $push220=, 0($5) + i32.const $push1447=, 16 + i32.shl $push1446=, $pop220, $pop1447 + tee_local $push1445=, $2=, $pop1446 + i32.const $push1444=, 16 + i32.shr_s $push768=, $pop1445, $pop1444 + i32.const $push1443=, 31 + i32.shr_s $push769=, $2, $pop1443 + i32.const $push1442=, 30 + i32.shr_u $push770=, $pop769, $pop1442 + i32.add $push771=, $pop768, $pop770 + i32.const $push1441=, 2 + i32.shr_s $push772=, $pop771, $pop1441 + i32.ne $push773=, $pop767, $pop772 + br_if 2, $pop773 # 2: down to label0 +# BB#119: # %if.end1112 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $2=, 0($6):p2align=3 + i32.load16_s $push221=, 8($71):p2align=3 + i32.const $push1452=, 31 + i32.shr_s $push774=, $2, $pop1452 + i32.const $push1451=, 28 + i32.shr_u $push775=, $pop774, $pop1451 + i32.add $push776=, $2, $pop775 + i32.const $push1450=, 4 + i32.shr_s $push777=, $pop776, $pop1450 + i32.ne $push778=, $pop221, $pop777 + br_if 2, $pop778 # 2: down to label0 +# BB#120: # %lor.lhs.false1121 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push222=, 14($71) + i32.const $push1461=, 16 + i32.shl $push779=, $pop222, $pop1461 + i32.const $push1460=, 16 + i32.shr_s $push780=, $pop779, $pop1460 + i32.load16_u $push223=, 0($7) + i32.const $push1459=, 16 + i32.shl $push1458=, $pop223, $pop1459 + tee_local $push1457=, $2=, $pop1458 + i32.const $push1456=, 16 + i32.shr_s $push781=, $pop1457, $pop1456 + i32.const $push1455=, 31 + i32.shr_s $push782=, $2, $pop1455 + i32.const $push1454=, 25 + i32.shr_u $push783=, $pop782, $pop1454 + i32.add $push784=, $pop781, $pop783 + i32.const $push1453=, 7 + i32.shr_s $push785=, $pop784, $pop1453 + i32.ne $push786=, $pop780, $pop785 + br_if 2, $pop786 # 2: down to label0 +# BB#121: # %if.end1131 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $2=, 0($8):p2align=2 + i32.load16_s $push225=, 12($71):p2align=2 + i32.const $push1464=, 31 + i32.shr_s $push787=, $2, $pop1464 + i32.const $push1463=, 27 + i32.shr_u $push788=, $pop787, $pop1463 + i32.add $push789=, $2, $pop788 + i32.const $push1462=, 5 + i32.shr_s $push790=, $pop789, $pop1462 + i32.ne $push791=, $pop225, $pop790 + br_if 2, $pop791 # 2: down to label0 +# BB#122: # %lor.lhs.false1140 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push224=, 10($71) + i32.const $push1473=, 16 + i32.shl $push792=, $pop224, $pop1473 + i32.const $push1472=, 16 + i32.shr_s $push793=, $pop792, $pop1472 + i32.load16_u $push226=, 0($9) + i32.const $push1471=, 16 + i32.shl $push1470=, $pop226, $pop1471 + tee_local $push1469=, $2=, $pop1470 + i32.const $push1468=, 16 + i32.shr_s $push794=, $pop1469, $pop1468 + i32.const $push1467=, 31 + i32.shr_s $push795=, $2, $pop1467 + i32.const $push1466=, 26 + i32.shr_u $push796=, $pop795, $pop1466 + i32.add $push797=, $pop794, $pop796 + i32.const $push1465=, 6 + i32.shr_s $push798=, $pop797, $pop1465 + i32.ne $push799=, $pop793, $pop798 + br_if 2, $pop799 # 2: down to label0 +# BB#123: # %if.end1150 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + call sr1428166432128@FUNCTION, $71, $0 + i32.load16_u $push227=, 0($71):p2align=4 + br_if 2, $pop227 # 2: down to label0 +# BB#124: # %lor.lhs.false1160 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_s $2=, 0($3) + i32.load16_u $push228=, 6($71) + i32.const $push1478=, 16 + i32.shl $push800=, $pop228, $pop1478 + i32.const $push1477=, 16 + i32.shr_s $push801=, $pop800, $pop1477 + i32.const $push1476=, 31 + i32.shr_s $push802=, $2, $pop1476 + i32.const $push1475=, 29 + i32.shr_u $push803=, $pop802, $pop1475 + i32.add $push804=, $2, $pop803 + i32.const $push1474=, -8 + i32.and $push805=, $pop804, $pop1474 + i32.sub $push806=, $2, $pop805 + i32.ne $push807=, $pop801, $pop806 + br_if 2, $pop807 # 2: down to label0 +# BB#125: # %if.end1170 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $2=, 0($4):p2align=2 + i32.load16_s $push230=, 4($71):p2align=2 + i32.const $push1480=, 31 + i32.shr_u $push808=, $2, $pop1480 + i32.add $push809=, $2, $pop808 + i32.const $push1479=, -2 + i32.and $push810=, $pop809, $pop1479 + i32.sub $push811=, $2, $pop810 + i32.ne $push812=, $pop230, $pop811 + br_if 2, $pop812 # 2: down to label0 +# BB#126: # %lor.lhs.false1179 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push231=, 0($5) + i32.const $push1489=, 16 + i32.shl $push1488=, $pop231, $pop1489 + tee_local $push1487=, $10=, $pop1488 + i32.const $push1486=, 16 + i32.shr_s $2=, $pop1487, $pop1486 + i32.load16_u $push229=, 2($71) + i32.const $push1485=, 16 + i32.shl $push813=, $pop229, $pop1485 + i32.const $push1484=, 16 + i32.shr_s $push814=, $pop813, $pop1484 + i32.const $push1483=, 31 + i32.shr_s $push815=, $10, $pop1483 + i32.const $push1482=, 30 + i32.shr_u $push816=, $pop815, $pop1482 + i32.add $push817=, $2, $pop816 + i32.const $push1481=, -4 + i32.and $push818=, $pop817, $pop1481 + i32.sub $push819=, $2, $pop818 + i32.ne $push820=, $pop814, $pop819 + br_if 2, $pop820 # 2: down to label0 +# BB#127: # %if.end1189 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $2=, 0($6):p2align=3 + i32.load16_s $push232=, 8($71):p2align=3 + i32.const $push1492=, 31 + i32.shr_s $push821=, $2, $pop1492 + i32.const $push1491=, 28 + i32.shr_u $push822=, $pop821, $pop1491 + i32.add $push823=, $2, $pop822 + i32.const $push1490=, -16 + i32.and $push824=, $pop823, $pop1490 + i32.sub $push825=, $2, $pop824 + i32.ne $push826=, $pop232, $pop825 + br_if 2, $pop826 # 2: down to label0 +# BB#128: # %lor.lhs.false1198 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push234=, 0($7) + i32.const $push1501=, 16 + i32.shl $push1500=, $pop234, $pop1501 + tee_local $push1499=, $10=, $pop1500 + i32.const $push1498=, 16 + i32.shr_s $2=, $pop1499, $pop1498 + i32.load16_u $push233=, 14($71) + i32.const $push1497=, 16 + i32.shl $push827=, $pop233, $pop1497 + i32.const $push1496=, 16 + i32.shr_s $push828=, $pop827, $pop1496 + i32.const $push1495=, 31 + i32.shr_s $push829=, $10, $pop1495 + i32.const $push1494=, 25 + i32.shr_u $push830=, $pop829, $pop1494 + i32.add $push831=, $2, $pop830 + i32.const $push1493=, -128 + i32.and $push832=, $pop831, $pop1493 + i32.sub $push833=, $2, $pop832 + i32.ne $push834=, $pop828, $pop833 + br_if 2, $pop834 # 2: down to label0 +# BB#129: # %if.end1208 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $2=, 0($8):p2align=2 + i32.load16_s $push236=, 12($71):p2align=2 + i32.const $push1504=, 31 + i32.shr_s $push835=, $2, $pop1504 + i32.const $push1503=, 27 + i32.shr_u $push836=, $pop835, $pop1503 + i32.add $push837=, $2, $pop836 + i32.const $push1502=, -32 + i32.and $push838=, $pop837, $pop1502 + i32.sub $push839=, $2, $pop838 + i32.ne $push840=, $pop236, $pop839 + br_if 2, $pop840 # 2: down to label0 +# BB#130: # %lor.lhs.false1217 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push237=, 0($9) + i32.const $push1513=, 16 + i32.shl $push1512=, $pop237, $pop1513 + tee_local $push1511=, $10=, $pop1512 + i32.const $push1510=, 16 + i32.shr_s $2=, $pop1511, $pop1510 + i32.load16_u $push235=, 10($71) + i32.const $push1509=, 16 + i32.shl $push841=, $pop235, $pop1509 + i32.const $push1508=, 16 + i32.shr_s $push842=, $pop841, $pop1508 + i32.const $push1507=, 31 + i32.shr_s $push843=, $10, $pop1507 + i32.const $push1506=, 26 + i32.shr_u $push844=, $pop843, $pop1506 + i32.add $push845=, $2, $pop844 + i32.const $push1505=, -64 + i32.and $push846=, $pop845, $pop1505 + i32.sub $push847=, $2, $pop846 + i32.ne $push848=, $pop842, $pop847 + br_if 2, $pop848 # 2: down to label0 +# BB#131: # %if.end1227 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + call sq33333333@FUNCTION, $71, $0 + i32.load16_s $push238=, 0($71):p2align=4 + i32.load16_s $push240=, 0($0):p2align=4 + i32.const $push1514=, 3 + i32.div_s $push849=, $pop240, $pop1514 + i32.ne $push850=, $pop238, $pop849 + br_if 2, $pop850 # 2: down to label0 +# BB#132: # %lor.lhs.false1237 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push239=, 6($71) + i32.const $push1519=, 16 + i32.shl $push851=, $pop239, $pop1519 + i32.const $push1518=, 16 + i32.shr_s $push852=, $pop851, $pop1518 + i32.load16_u $push241=, 0($3) + i32.const $push1517=, 16 + i32.shl $push853=, $pop241, $pop1517 + i32.const $push1516=, 16 + i32.shr_s $push854=, $pop853, $pop1516 + i32.const $push1515=, 3 + i32.div_s $push855=, $pop854, $pop1515 + i32.ne $push856=, $pop852, $pop855 + br_if 2, $pop856 # 2: down to label0 +# BB#133: # %if.end1247 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push243=, 4($71):p2align=2 + i32.load16_s $push245=, 0($4):p2align=2 + i32.const $push1520=, 3 + i32.div_s $push857=, $pop245, $pop1520 + i32.ne $push858=, $pop243, $pop857 + br_if 2, $pop858 # 2: down to label0 +# BB#134: # %lor.lhs.false1256 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push242=, 2($71) + i32.const $push1525=, 16 + i32.shl $push859=, $pop242, $pop1525 + i32.const $push1524=, 16 + i32.shr_s $push860=, $pop859, $pop1524 + i32.load16_u $push244=, 0($5) + i32.const $push1523=, 16 + i32.shl $push861=, $pop244, $pop1523 + i32.const $push1522=, 16 + i32.shr_s $push862=, $pop861, $pop1522 + i32.const $push1521=, 3 + i32.div_s $push863=, $pop862, $pop1521 + i32.ne $push864=, $pop860, $pop863 + br_if 2, $pop864 # 2: down to label0 +# BB#135: # %if.end1266 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push246=, 8($71):p2align=3 + i32.load16_s $push248=, 0($6):p2align=3 + i32.const $push1526=, 3 + i32.div_s $push865=, $pop248, $pop1526 + i32.ne $push866=, $pop246, $pop865 + br_if 2, $pop866 # 2: down to label0 +# BB#136: # %lor.lhs.false1275 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push247=, 14($71) + i32.const $push1531=, 16 + i32.shl $push867=, $pop247, $pop1531 + i32.const $push1530=, 16 + i32.shr_s $push868=, $pop867, $pop1530 + i32.load16_u $push249=, 0($7) + i32.const $push1529=, 16 + i32.shl $push869=, $pop249, $pop1529 + i32.const $push1528=, 16 + i32.shr_s $push870=, $pop869, $pop1528 + i32.const $push1527=, 3 + i32.div_s $push871=, $pop870, $pop1527 + i32.ne $push872=, $pop868, $pop871 + br_if 2, $pop872 # 2: down to label0 +# BB#137: # %if.end1285 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push251=, 12($71):p2align=2 + i32.load16_s $push253=, 0($8):p2align=2 + i32.const $push1532=, 3 + i32.div_s $push873=, $pop253, $pop1532 + i32.ne $push874=, $pop251, $pop873 + br_if 2, $pop874 # 2: down to label0 +# BB#138: # %lor.lhs.false1294 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push250=, 10($71) + i32.const $push1537=, 16 + i32.shl $push875=, $pop250, $pop1537 + i32.const $push1536=, 16 + i32.shr_s $push876=, $pop875, $pop1536 + i32.load16_u $push252=, 0($9) + i32.const $push1535=, 16 + i32.shl $push877=, $pop252, $pop1535 + i32.const $push1534=, 16 + i32.shr_s $push878=, $pop877, $pop1534 + i32.const $push1533=, 3 + i32.div_s $push879=, $pop878, $pop1533 + i32.ne $push880=, $pop876, $pop879 + br_if 2, $pop880 # 2: down to label0 +# BB#139: # %if.end1304 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + call sr33333333@FUNCTION, $71, $0 + i32.load16_s $push254=, 0($71):p2align=4 + i32.load16_s $push256=, 0($0):p2align=4 + i32.const $push1538=, 3 + i32.rem_s $push881=, $pop256, $pop1538 + i32.ne $push882=, $pop254, $pop881 + br_if 2, $pop882 # 2: down to label0 +# BB#140: # %lor.lhs.false1314 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push255=, 6($71) + i32.const $push1543=, 16 + i32.shl $push883=, $pop255, $pop1543 + i32.const $push1542=, 16 + i32.shr_s $push884=, $pop883, $pop1542 + i32.load16_u $push257=, 0($3) + i32.const $push1541=, 16 + i32.shl $push885=, $pop257, $pop1541 + i32.const $push1540=, 16 + i32.shr_s $push886=, $pop885, $pop1540 + i32.const $push1539=, 3 + i32.rem_s $push887=, $pop886, $pop1539 + i32.ne $push888=, $pop884, $pop887 + br_if 2, $pop888 # 2: down to label0 +# BB#141: # %if.end1324 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push259=, 4($71):p2align=2 + i32.load16_s $push261=, 0($4):p2align=2 + i32.const $push1544=, 3 + i32.rem_s $push889=, $pop261, $pop1544 + i32.ne $push890=, $pop259, $pop889 + br_if 2, $pop890 # 2: down to label0 +# BB#142: # %lor.lhs.false1333 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push258=, 2($71) + i32.const $push1549=, 16 + i32.shl $push891=, $pop258, $pop1549 + i32.const $push1548=, 16 + i32.shr_s $push892=, $pop891, $pop1548 + i32.load16_u $push260=, 0($5) + i32.const $push1547=, 16 + i32.shl $push893=, $pop260, $pop1547 + i32.const $push1546=, 16 + i32.shr_s $push894=, $pop893, $pop1546 + i32.const $push1545=, 3 + i32.rem_s $push895=, $pop894, $pop1545 + i32.ne $push896=, $pop892, $pop895 + br_if 2, $pop896 # 2: down to label0 +# BB#143: # %if.end1343 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push262=, 8($71):p2align=3 + i32.load16_s $push264=, 0($6):p2align=3 + i32.const $push1550=, 3 + i32.rem_s $push897=, $pop264, $pop1550 + i32.ne $push898=, $pop262, $pop897 + br_if 2, $pop898 # 2: down to label0 +# BB#144: # %lor.lhs.false1352 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push263=, 14($71) + i32.const $push1555=, 16 + i32.shl $push899=, $pop263, $pop1555 + i32.const $push1554=, 16 + i32.shr_s $push900=, $pop899, $pop1554 + i32.load16_u $push265=, 0($7) + i32.const $push1553=, 16 + i32.shl $push901=, $pop265, $pop1553 + i32.const $push1552=, 16 + i32.shr_s $push902=, $pop901, $pop1552 + i32.const $push1551=, 3 + i32.rem_s $push903=, $pop902, $pop1551 + i32.ne $push904=, $pop900, $pop903 + br_if 2, $pop904 # 2: down to label0 +# BB#145: # %if.end1362 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push267=, 12($71):p2align=2 + i32.load16_s $push269=, 0($8):p2align=2 + i32.const $push1556=, 3 + i32.rem_s $push905=, $pop269, $pop1556 + i32.ne $push906=, $pop267, $pop905 + br_if 2, $pop906 # 2: down to label0 +# BB#146: # %lor.lhs.false1371 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push266=, 10($71) + i32.const $push1561=, 16 + i32.shl $push907=, $pop266, $pop1561 + i32.const $push1560=, 16 + i32.shr_s $push908=, $pop907, $pop1560 + i32.load16_u $push268=, 0($9) + i32.const $push1559=, 16 + i32.shl $push909=, $pop268, $pop1559 + i32.const $push1558=, 16 + i32.shr_s $push910=, $pop909, $pop1558 + i32.const $push1557=, 3 + i32.rem_s $push911=, $pop910, $pop1557 + i32.ne $push912=, $pop908, $pop911 + br_if 2, $pop912 # 2: down to label0 +# BB#147: # %if.end1381 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + call sq65656565@FUNCTION, $71, $0 + i32.load16_s $push270=, 0($71):p2align=4 + i32.load16_s $push272=, 0($0):p2align=4 + i32.const $push1562=, 6 + i32.div_s $push913=, $pop272, $pop1562 + i32.ne $push914=, $pop270, $pop913 + br_if 2, $pop914 # 2: down to label0 +# BB#148: # %lor.lhs.false1391 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push271=, 6($71) + i32.const $push1567=, 16 + i32.shl $push915=, $pop271, $pop1567 + i32.const $push1566=, 16 + i32.shr_s $push916=, $pop915, $pop1566 + i32.load16_u $push273=, 0($3) + i32.const $push1565=, 16 + i32.shl $push917=, $pop273, $pop1565 + i32.const $push1564=, 16 + i32.shr_s $push918=, $pop917, $pop1564 + i32.const $push1563=, 5 + i32.div_s $push919=, $pop918, $pop1563 + i32.ne $push920=, $pop916, $pop919 + br_if 2, $pop920 # 2: down to label0 +# BB#149: # %if.end1401 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push275=, 4($71):p2align=2 + i32.load16_s $push277=, 0($4):p2align=2 + i32.const $push1568=, 6 + i32.div_s $push921=, $pop277, $pop1568 + i32.ne $push922=, $pop275, $pop921 + br_if 2, $pop922 # 2: down to label0 +# BB#150: # %lor.lhs.false1410 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push274=, 2($71) + i32.const $push1573=, 16 + i32.shl $push923=, $pop274, $pop1573 + i32.const $push1572=, 16 + i32.shr_s $push924=, $pop923, $pop1572 + i32.load16_u $push276=, 0($5) + i32.const $push1571=, 16 + i32.shl $push925=, $pop276, $pop1571 + i32.const $push1570=, 16 + i32.shr_s $push926=, $pop925, $pop1570 + i32.const $push1569=, 5 + i32.div_s $push927=, $pop926, $pop1569 + i32.ne $push928=, $pop924, $pop927 + br_if 2, $pop928 # 2: down to label0 +# BB#151: # %if.end1420 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push278=, 8($71):p2align=3 + i32.load16_s $push280=, 0($6):p2align=3 + i32.const $push1574=, 6 + i32.div_s $push929=, $pop280, $pop1574 + i32.ne $push930=, $pop278, $pop929 + br_if 2, $pop930 # 2: down to label0 +# BB#152: # %lor.lhs.false1429 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push279=, 14($71) + i32.const $push1579=, 16 + i32.shl $push931=, $pop279, $pop1579 + i32.const $push1578=, 16 + i32.shr_s $push932=, $pop931, $pop1578 + i32.load16_u $push281=, 0($7) + i32.const $push1577=, 16 + i32.shl $push933=, $pop281, $pop1577 + i32.const $push1576=, 16 + i32.shr_s $push934=, $pop933, $pop1576 + i32.const $push1575=, 5 + i32.div_s $push935=, $pop934, $pop1575 + i32.ne $push936=, $pop932, $pop935 + br_if 2, $pop936 # 2: down to label0 +# BB#153: # %if.end1439 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push283=, 12($71):p2align=2 + i32.load16_s $push285=, 0($8):p2align=2 + i32.const $push1580=, 6 + i32.div_s $push937=, $pop285, $pop1580 + i32.ne $push938=, $pop283, $pop937 + br_if 2, $pop938 # 2: down to label0 +# BB#154: # %lor.lhs.false1448 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push282=, 10($71) + i32.const $push1585=, 16 + i32.shl $push939=, $pop282, $pop1585 + i32.const $push1584=, 16 + i32.shr_s $push940=, $pop939, $pop1584 + i32.load16_u $push284=, 0($9) + i32.const $push1583=, 16 + i32.shl $push941=, $pop284, $pop1583 + i32.const $push1582=, 16 + i32.shr_s $push942=, $pop941, $pop1582 + i32.const $push1581=, 5 + i32.div_s $push943=, $pop942, $pop1581 + i32.ne $push944=, $pop940, $pop943 + br_if 2, $pop944 # 2: down to label0 +# BB#155: # %if.end1458 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + call sr65656565@FUNCTION, $71, $0 + i32.load16_s $push286=, 0($71):p2align=4 + i32.load16_s $push288=, 0($0):p2align=4 + i32.const $push1586=, 6 + i32.rem_s $push945=, $pop288, $pop1586 + i32.ne $push946=, $pop286, $pop945 + br_if 2, $pop946 # 2: down to label0 +# BB#156: # %lor.lhs.false1468 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push287=, 6($71) + i32.const $push1591=, 16 + i32.shl $push947=, $pop287, $pop1591 + i32.const $push1590=, 16 + i32.shr_s $push948=, $pop947, $pop1590 + i32.load16_u $push289=, 0($3) + i32.const $push1589=, 16 + i32.shl $push949=, $pop289, $pop1589 + i32.const $push1588=, 16 + i32.shr_s $push950=, $pop949, $pop1588 + i32.const $push1587=, 5 + i32.rem_s $push951=, $pop950, $pop1587 + i32.ne $push952=, $pop948, $pop951 + br_if 2, $pop952 # 2: down to label0 +# BB#157: # %if.end1478 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push291=, 4($71):p2align=2 + i32.load16_s $push293=, 0($4):p2align=2 + i32.const $push1592=, 6 + i32.rem_s $push953=, $pop293, $pop1592 + i32.ne $push954=, $pop291, $pop953 + br_if 2, $pop954 # 2: down to label0 +# BB#158: # %lor.lhs.false1487 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push290=, 2($71) + i32.const $push1597=, 16 + i32.shl $push955=, $pop290, $pop1597 + i32.const $push1596=, 16 + i32.shr_s $push956=, $pop955, $pop1596 + i32.load16_u $push292=, 0($5) + i32.const $push1595=, 16 + i32.shl $push957=, $pop292, $pop1595 + i32.const $push1594=, 16 + i32.shr_s $push958=, $pop957, $pop1594 + i32.const $push1593=, 5 + i32.rem_s $push959=, $pop958, $pop1593 + i32.ne $push960=, $pop956, $pop959 + br_if 2, $pop960 # 2: down to label0 +# BB#159: # %if.end1497 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push294=, 8($71):p2align=3 + i32.load16_s $push296=, 0($6):p2align=3 + i32.const $push1598=, 6 + i32.rem_s $push961=, $pop296, $pop1598 + i32.ne $push962=, $pop294, $pop961 + br_if 2, $pop962 # 2: down to label0 +# BB#160: # %lor.lhs.false1506 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push295=, 14($71) + i32.const $push1603=, 16 + i32.shl $push963=, $pop295, $pop1603 + i32.const $push1602=, 16 + i32.shr_s $push964=, $pop963, $pop1602 + i32.load16_u $push297=, 0($7) + i32.const $push1601=, 16 + i32.shl $push965=, $pop297, $pop1601 + i32.const $push1600=, 16 + i32.shr_s $push966=, $pop965, $pop1600 + i32.const $push1599=, 5 + i32.rem_s $push967=, $pop966, $pop1599 + i32.ne $push968=, $pop964, $pop967 + br_if 2, $pop968 # 2: down to label0 +# BB#161: # %if.end1516 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push299=, 12($71):p2align=2 + i32.load16_s $push301=, 0($8):p2align=2 + i32.const $push1604=, 6 + i32.rem_s $push969=, $pop301, $pop1604 + i32.ne $push970=, $pop299, $pop969 + br_if 2, $pop970 # 2: down to label0 +# BB#162: # %lor.lhs.false1525 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push298=, 10($71) + i32.const $push1609=, 16 + i32.shl $push971=, $pop298, $pop1609 + i32.const $push1608=, 16 + i32.shr_s $push972=, $pop971, $pop1608 + i32.load16_u $push300=, 0($9) + i32.const $push1607=, 16 + i32.shl $push973=, $pop300, $pop1607 + i32.const $push1606=, 16 + i32.shr_s $push974=, $pop973, $pop1606 + i32.const $push1605=, 5 + i32.rem_s $push975=, $pop974, $pop1605 + i32.ne $push976=, $pop972, $pop975 + br_if 2, $pop976 # 2: down to label0 +# BB#163: # %if.end1535 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + call sq14141461461414@FUNCTION, $71, $0 + i32.load16_s $push302=, 0($71):p2align=4 + i32.load16_s $push304=, 0($0):p2align=4 + i32.const $push1610=, 14 + i32.div_s $push977=, $pop304, $pop1610 + i32.ne $push978=, $pop302, $pop977 + br_if 2, $pop978 # 2: down to label0 +# BB#164: # %lor.lhs.false1545 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push303=, 6($71) + i32.const $push1615=, 16 + i32.shl $push979=, $pop303, $pop1615 + i32.const $push1614=, 16 + i32.shr_s $push980=, $pop979, $pop1614 + i32.load16_u $push305=, 0($3) + i32.const $push1613=, 16 + i32.shl $push981=, $pop305, $pop1613 + i32.const $push1612=, 16 + i32.shr_s $push982=, $pop981, $pop1612 + i32.const $push1611=, 6 + i32.div_s $push983=, $pop982, $pop1611 + i32.ne $push984=, $pop980, $pop983 + br_if 2, $pop984 # 2: down to label0 +# BB#165: # %if.end1555 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push307=, 4($71):p2align=2 + i32.load16_s $push309=, 0($4):p2align=2 + i32.const $push1616=, 14 + i32.div_s $push985=, $pop309, $pop1616 + i32.ne $push986=, $pop307, $pop985 + br_if 2, $pop986 # 2: down to label0 +# BB#166: # %lor.lhs.false1564 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push306=, 2($71) + i32.const $push1621=, 16 + i32.shl $push987=, $pop306, $pop1621 + i32.const $push1620=, 16 + i32.shr_s $push988=, $pop987, $pop1620 + i32.load16_u $push308=, 0($5) + i32.const $push1619=, 16 + i32.shl $push989=, $pop308, $pop1619 + i32.const $push1618=, 16 + i32.shr_s $push990=, $pop989, $pop1618 + i32.const $push1617=, 14 + i32.div_s $push991=, $pop990, $pop1617 + i32.ne $push992=, $pop988, $pop991 + br_if 2, $pop992 # 2: down to label0 +# BB#167: # %if.end1574 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push310=, 8($71):p2align=3 + i32.load16_s $push312=, 0($6):p2align=3 + i32.const $push1622=, 14 + i32.div_s $push993=, $pop312, $pop1622 + i32.ne $push994=, $pop310, $pop993 + br_if 2, $pop994 # 2: down to label0 +# BB#168: # %lor.lhs.false1583 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push311=, 14($71) + i32.const $push1627=, 16 + i32.shl $push995=, $pop311, $pop1627 + i32.const $push1626=, 16 + i32.shr_s $push996=, $pop995, $pop1626 + i32.load16_u $push313=, 0($7) + i32.const $push1625=, 16 + i32.shl $push997=, $pop313, $pop1625 + i32.const $push1624=, 16 + i32.shr_s $push998=, $pop997, $pop1624 + i32.const $push1623=, 14 + i32.div_s $push999=, $pop998, $pop1623 + i32.ne $push1000=, $pop996, $pop999 + br_if 2, $pop1000 # 2: down to label0 +# BB#169: # %if.end1593 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push315=, 12($71):p2align=2 + i32.load16_s $push317=, 0($8):p2align=2 + i32.const $push1628=, 14 + i32.div_s $push1001=, $pop317, $pop1628 + i32.ne $push1002=, $pop315, $pop1001 + br_if 2, $pop1002 # 2: down to label0 +# BB#170: # %lor.lhs.false1602 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push314=, 10($71) + i32.const $push1633=, 16 + i32.shl $push1003=, $pop314, $pop1633 + i32.const $push1632=, 16 + i32.shr_s $push1004=, $pop1003, $pop1632 + i32.load16_u $push316=, 0($9) + i32.const $push1631=, 16 + i32.shl $push1005=, $pop316, $pop1631 + i32.const $push1630=, 16 + i32.shr_s $push1006=, $pop1005, $pop1630 + i32.const $push1629=, 6 + i32.div_s $push1007=, $pop1006, $pop1629 + i32.ne $push1008=, $pop1004, $pop1007 + br_if 2, $pop1008 # 2: down to label0 +# BB#171: # %if.end1612 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + call sr14141461461414@FUNCTION, $71, $0 + i32.load16_s $push318=, 0($71):p2align=4 + i32.load16_s $push320=, 0($0):p2align=4 + i32.const $push1634=, 14 + i32.rem_s $push1009=, $pop320, $pop1634 + i32.ne $push1010=, $pop318, $pop1009 + br_if 2, $pop1010 # 2: down to label0 +# BB#172: # %lor.lhs.false1622 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push319=, 6($71) + i32.const $push1639=, 16 + i32.shl $push1011=, $pop319, $pop1639 + i32.const $push1638=, 16 + i32.shr_s $push1012=, $pop1011, $pop1638 + i32.load16_u $push321=, 0($3) + i32.const $push1637=, 16 + i32.shl $push1013=, $pop321, $pop1637 + i32.const $push1636=, 16 + i32.shr_s $push1014=, $pop1013, $pop1636 + i32.const $push1635=, 6 + i32.rem_s $push1015=, $pop1014, $pop1635 + i32.ne $push1016=, $pop1012, $pop1015 + br_if 2, $pop1016 # 2: down to label0 +# BB#173: # %if.end1632 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push323=, 4($71):p2align=2 + i32.load16_s $push325=, 0($4):p2align=2 + i32.const $push1640=, 14 + i32.rem_s $push1017=, $pop325, $pop1640 + i32.ne $push1018=, $pop323, $pop1017 + br_if 2, $pop1018 # 2: down to label0 +# BB#174: # %lor.lhs.false1641 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push322=, 2($71) + i32.const $push1645=, 16 + i32.shl $push1019=, $pop322, $pop1645 + i32.const $push1644=, 16 + i32.shr_s $push1020=, $pop1019, $pop1644 + i32.load16_u $push324=, 0($5) + i32.const $push1643=, 16 + i32.shl $push1021=, $pop324, $pop1643 + i32.const $push1642=, 16 + i32.shr_s $push1022=, $pop1021, $pop1642 + i32.const $push1641=, 14 + i32.rem_s $push1023=, $pop1022, $pop1641 + i32.ne $push1024=, $pop1020, $pop1023 + br_if 2, $pop1024 # 2: down to label0 +# BB#175: # %if.end1651 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push326=, 8($71):p2align=3 + i32.load16_s $push328=, 0($6):p2align=3 + i32.const $push1646=, 14 + i32.rem_s $push1025=, $pop328, $pop1646 + i32.ne $push1026=, $pop326, $pop1025 + br_if 2, $pop1026 # 2: down to label0 +# BB#176: # %lor.lhs.false1660 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push327=, 14($71) + i32.const $push1651=, 16 + i32.shl $push1027=, $pop327, $pop1651 + i32.const $push1650=, 16 + i32.shr_s $push1028=, $pop1027, $pop1650 + i32.load16_u $push329=, 0($7) + i32.const $push1649=, 16 + i32.shl $push1029=, $pop329, $pop1649 + i32.const $push1648=, 16 + i32.shr_s $push1030=, $pop1029, $pop1648 + i32.const $push1647=, 14 + i32.rem_s $push1031=, $pop1030, $pop1647 + i32.ne $push1032=, $pop1028, $pop1031 + br_if 2, $pop1032 # 2: down to label0 +# BB#177: # %if.end1670 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push331=, 12($71):p2align=2 + i32.load16_s $push333=, 0($8):p2align=2 + i32.const $push1652=, 14 + i32.rem_s $push1033=, $pop333, $pop1652 + i32.ne $push1034=, $pop331, $pop1033 + br_if 2, $pop1034 # 2: down to label0 +# BB#178: # %lor.lhs.false1679 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push330=, 10($71) + i32.const $push1657=, 16 + i32.shl $push1035=, $pop330, $pop1657 + i32.const $push1656=, 16 + i32.shr_s $push1036=, $pop1035, $pop1656 + i32.load16_u $push332=, 0($9) + i32.const $push1655=, 16 + i32.shl $push1037=, $pop332, $pop1655 + i32.const $push1654=, 16 + i32.shr_s $push1038=, $pop1037, $pop1654 + i32.const $push1653=, 6 + i32.rem_s $push1039=, $pop1038, $pop1653 + i32.ne $push1040=, $pop1036, $pop1039 + br_if 2, $pop1040 # 2: down to label0 +# BB#179: # %if.end1689 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + call sq77777777@FUNCTION, $71, $0 + i32.load16_s $push334=, 0($71):p2align=4 + i32.load16_s $push336=, 0($0):p2align=4 + i32.const $push1658=, 7 + i32.div_s $push1041=, $pop336, $pop1658 + i32.ne $push1042=, $pop334, $pop1041 + br_if 2, $pop1042 # 2: down to label0 +# BB#180: # %lor.lhs.false1699 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push335=, 6($71) + i32.const $push1663=, 16 + i32.shl $push1043=, $pop335, $pop1663 + i32.const $push1662=, 16 + i32.shr_s $push1044=, $pop1043, $pop1662 + i32.load16_u $push337=, 0($3) + i32.const $push1661=, 16 + i32.shl $push1045=, $pop337, $pop1661 + i32.const $push1660=, 16 + i32.shr_s $push1046=, $pop1045, $pop1660 + i32.const $push1659=, 7 + i32.div_s $push1047=, $pop1046, $pop1659 + i32.ne $push1048=, $pop1044, $pop1047 + br_if 2, $pop1048 # 2: down to label0 +# BB#181: # %if.end1709 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push339=, 4($71):p2align=2 + i32.load16_s $push341=, 0($4):p2align=2 + i32.const $push1664=, 7 + i32.div_s $push1049=, $pop341, $pop1664 + i32.ne $push1050=, $pop339, $pop1049 + br_if 2, $pop1050 # 2: down to label0 +# BB#182: # %lor.lhs.false1718 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push338=, 2($71) + i32.const $push1669=, 16 + i32.shl $push1051=, $pop338, $pop1669 + i32.const $push1668=, 16 + i32.shr_s $push1052=, $pop1051, $pop1668 + i32.load16_u $push340=, 0($5) + i32.const $push1667=, 16 + i32.shl $push1053=, $pop340, $pop1667 + i32.const $push1666=, 16 + i32.shr_s $push1054=, $pop1053, $pop1666 + i32.const $push1665=, 7 + i32.div_s $push1055=, $pop1054, $pop1665 + i32.ne $push1056=, $pop1052, $pop1055 + br_if 2, $pop1056 # 2: down to label0 +# BB#183: # %if.end1728 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push342=, 8($71):p2align=3 + i32.load16_s $push344=, 0($6):p2align=3 + i32.const $push1670=, 7 + i32.div_s $push1057=, $pop344, $pop1670 + i32.ne $push1058=, $pop342, $pop1057 + br_if 2, $pop1058 # 2: down to label0 +# BB#184: # %lor.lhs.false1737 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push343=, 14($71) + i32.const $push1675=, 16 + i32.shl $push1059=, $pop343, $pop1675 + i32.const $push1674=, 16 + i32.shr_s $push1060=, $pop1059, $pop1674 + i32.load16_u $push345=, 0($7) + i32.const $push1673=, 16 + i32.shl $push1061=, $pop345, $pop1673 + i32.const $push1672=, 16 + i32.shr_s $push1062=, $pop1061, $pop1672 + i32.const $push1671=, 7 + i32.div_s $push1063=, $pop1062, $pop1671 + i32.ne $push1064=, $pop1060, $pop1063 + br_if 2, $pop1064 # 2: down to label0 +# BB#185: # %if.end1747 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + i32.load16_s $push347=, 12($71):p2align=2 + i32.load16_s $push349=, 0($8):p2align=2 + i32.const $push1676=, 7 + i32.div_s $push1065=, $pop349, $pop1676 + i32.ne $push1066=, $pop347, $pop1065 + br_if 2, $pop1066 # 2: down to label0 +# BB#186: # %lor.lhs.false1756 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push346=, 10($71) + i32.const $push1681=, 16 + i32.shl $push1067=, $pop346, $pop1681 + i32.const $push1680=, 16 + i32.shr_s $push1068=, $pop1067, $pop1680 + i32.load16_u $push348=, 0($9) + i32.const $push1679=, 16 + i32.shl $push1069=, $pop348, $pop1679 + i32.const $push1678=, 16 + i32.shr_s $push1070=, $pop1069, $pop1678 + i32.const $push1677=, 7 + i32.div_s $push1071=, $pop1070, $pop1677 + i32.ne $push1072=, $pop1068, $pop1071 + br_if 2, $pop1072 # 2: down to label0 +# BB#187: # %if.end1766 + # in Loop: Header=BB24_99 Depth=1 + copy_local $2=, $71 + #APP + #NO_APP + call sr77777777@FUNCTION, $71, $0 + i32.load16_s $push350=, 0($71):p2align=4 + i32.load16_s $push352=, 0($0):p2align=4 + i32.const $push1682=, 7 + i32.rem_s $push1073=, $pop352, $pop1682 + i32.ne $push1074=, $pop350, $pop1073 + br_if 2, $pop1074 # 2: down to label0 +# BB#188: # %lor.lhs.false1776 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push351=, 6($71) + i32.const $push1687=, 16 + i32.shl $push1075=, $pop351, $pop1687 + i32.const $push1686=, 16 + i32.shr_s $push1076=, $pop1075, $pop1686 + i32.load16_u $push353=, 0($3) + i32.const $push1685=, 16 + i32.shl $push1077=, $pop353, $pop1685 + i32.const $push1684=, 16 + i32.shr_s $push1078=, $pop1077, $pop1684 + i32.const $push1683=, 7 + i32.rem_s $push1079=, $pop1078, $pop1683 + i32.ne $push1080=, $pop1076, $pop1079 + br_if 2, $pop1080 # 2: down to label0 +# BB#189: # %if.end1786 + # in Loop: Header=BB24_99 Depth=1 + copy_local $3=, $71 + #APP + #NO_APP + i32.load16_s $push355=, 4($71):p2align=2 + i32.load16_s $push357=, 0($4):p2align=2 + i32.const $push1688=, 7 + i32.rem_s $push1081=, $pop357, $pop1688 + i32.ne $push1082=, $pop355, $pop1081 + br_if 2, $pop1082 # 2: down to label0 +# BB#190: # %lor.lhs.false1795 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push354=, 2($71) + i32.const $push1693=, 16 + i32.shl $push1083=, $pop354, $pop1693 + i32.const $push1692=, 16 + i32.shr_s $push1084=, $pop1083, $pop1692 + i32.load16_u $push356=, 0($5) + i32.const $push1691=, 16 + i32.shl $push1085=, $pop356, $pop1691 + i32.const $push1690=, 16 + i32.shr_s $push1086=, $pop1085, $pop1690 + i32.const $push1689=, 7 + i32.rem_s $push1087=, $pop1086, $pop1689 + i32.ne $push1088=, $pop1084, $pop1087 + br_if 2, $pop1088 # 2: down to label0 +# BB#191: # %if.end1805 + # in Loop: Header=BB24_99 Depth=1 + copy_local $3=, $71 + #APP + #NO_APP + i32.load16_s $push358=, 8($71):p2align=3 + i32.load16_s $push360=, 0($6):p2align=3 + i32.const $push1694=, 7 + i32.rem_s $push1089=, $pop360, $pop1694 + i32.ne $push1090=, $pop358, $pop1089 + br_if 2, $pop1090 # 2: down to label0 +# BB#192: # %lor.lhs.false1814 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push359=, 14($71) + i32.const $push1699=, 16 + i32.shl $push1091=, $pop359, $pop1699 + i32.const $push1698=, 16 + i32.shr_s $push1092=, $pop1091, $pop1698 + i32.load16_u $push361=, 0($7) + i32.const $push1697=, 16 + i32.shl $push1093=, $pop361, $pop1697 + i32.const $push1696=, 16 + i32.shr_s $push1094=, $pop1093, $pop1696 + i32.const $push1695=, 7 + i32.rem_s $push1095=, $pop1094, $pop1695 + i32.ne $push1096=, $pop1092, $pop1095 + br_if 2, $pop1096 # 2: down to label0 +# BB#193: # %if.end1824 + # in Loop: Header=BB24_99 Depth=1 + copy_local $3=, $71 + #APP + #NO_APP + i32.load16_s $push363=, 12($71):p2align=2 + i32.load16_s $push365=, 0($8):p2align=2 + i32.const $push1700=, 7 + i32.rem_s $push1097=, $pop365, $pop1700 + i32.ne $push1098=, $pop363, $pop1097 + br_if 2, $pop1098 # 2: down to label0 +# BB#194: # %lor.lhs.false1833 + # in Loop: Header=BB24_99 Depth=1 + i32.load16_u $push362=, 10($71) + i32.const $push1705=, 16 + i32.shl $push1099=, $pop362, $pop1705 + i32.const $push1704=, 16 + i32.shr_s $push1100=, $pop1099, $pop1704 + i32.load16_u $push364=, 0($9) + i32.const $push1703=, 16 + i32.shl $push1101=, $pop364, $pop1703 + i32.const $push1702=, 16 + i32.shr_s $push1102=, $pop1101, $pop1702 + i32.const $push1701=, 7 + i32.rem_s $push1103=, $pop1102, $pop1701 + i32.ne $push1104=, $pop1100, $pop1103 + br_if 2, $pop1104 # 2: down to label0 +# BB#195: # %if.end1843 + # in Loop: Header=BB24_99 Depth=1 + copy_local $3=, $71 + #APP + #NO_APP + i32.const $push1708=, 1 + i32.add $1=, $1, $pop1708 + i32.const $push1707=, 16 + i32.add $0=, $0, $pop1707 + i32.const $push1706=, 2 + i32.lt_u $push1105=, $1, $pop1706 + br_if 0, $pop1105 # 0: up to label3 +# BB#196: # %for.end1846 + end_loop # label4: + i32.const $push1106=, 0 + i32.const $push1713=, 32 + i32.add $71=, $71, $pop1713 + i32.const $push1714=, __stack_pointer + i32.store $discard=, 0($pop1714), $71 + return $pop1106 +.LBB24_197: # %if.then1842 + end_block # label0: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end24: + .size main, .Lfunc_end24-main + + .hidden u # @u + .type u,@object + .section .data.u,"aw",@progbits + .globl u + .p2align 4 +u: + .int16 73 # 0x49 + .int16 65531 # 0xfffb + .int16 0 # 0x0 + .int16 174 # 0xae + .int16 921 # 0x399 + .int16 65535 # 0xffff + .int16 17 # 0x11 + .int16 178 # 0xb2 + .int16 1 # 0x1 + .int16 8173 # 0x1fed + .int16 65535 # 0xffff + .int16 65472 # 0xffc0 + .int16 12 # 0xc + .int16 29612 # 0x73ac + .int16 128 # 0x80 + .int16 8912 # 0x22d0 + .size u, 32 + + .hidden s # @s + .type s,@object + .section .data.s,"aw",@progbits + .globl s + .p2align 4 +s: + .int16 73 # 0x49 + .int16 56413 # 0xdc5d + .int16 32761 # 0x7ff9 + .int16 8191 # 0x1fff + .int16 16371 # 0x3ff3 + .int16 1201 # 0x4b1 + .int16 12701 # 0x319d + .int16 9999 # 0x270f + .int16 9903 # 0x26af + .int16 65535 # 0xffff + .int16 58213 # 0xe365 + .int16 0 # 0x0 + .int16 65529 # 0xfff9 + .int16 65213 # 0xfebd + .int16 9124 # 0x23a4 + .int16 56337 # 0xdc11 + .size s, 32 + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/pr53645.c.s b/test/torture-s/pr53645.c.s new file mode 100644 index 000000000..6fdba515f --- /dev/null +++ b/test/torture-s/pr53645.c.s @@ -0,0 +1,2229 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr53645.c" + .section .text.uq4444,"ax",@progbits + .hidden uq4444 + .globl uq4444 + .type uq4444,@function +uq4444: # @uq4444 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $2=, 0($pop1) + i32.const $push2=, 8 + i32.add $push3=, $1, $pop2 + i32.load $3=, 0($pop3):p2align=3 + i32.const $push4=, 4 + i32.add $push5=, $1, $pop4 + i32.load $4=, 0($pop5) + i32.load $push6=, 0($1):p2align=4 + i32.const $push7=, 2 + i32.shr_u $push11=, $pop6, $pop7 + i32.store $discard=, 0($0):p2align=4, $pop11 + i32.const $push20=, 12 + i32.add $push12=, $0, $pop20 + i32.const $push19=, 2 + i32.shr_u $push10=, $2, $pop19 + i32.store $discard=, 0($pop12), $pop10 + i32.const $push18=, 8 + i32.add $push13=, $0, $pop18 + i32.const $push17=, 2 + i32.shr_u $push9=, $3, $pop17 + i32.store $discard=, 0($pop13):p2align=3, $pop9 + i32.const $push16=, 4 + i32.add $push14=, $0, $pop16 + i32.const $push15=, 2 + i32.shr_u $push8=, $4, $pop15 + i32.store $discard=, 0($pop14), $pop8 + return + .endfunc +.Lfunc_end0: + .size uq4444, .Lfunc_end0-uq4444 + + .section .text.ur4444,"ax",@progbits + .hidden ur4444 + .globl ur4444 + .type ur4444,@function +ur4444: # @ur4444 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $2=, 0($pop1) + i32.const $push2=, 8 + i32.add $push3=, $1, $pop2 + i32.load $3=, 0($pop3):p2align=3 + i32.const $push4=, 4 + i32.add $push5=, $1, $pop4 + i32.load $4=, 0($pop5) + i32.load $push6=, 0($1):p2align=4 + i32.const $push7=, 3 + i32.and $push11=, $pop6, $pop7 + i32.store $discard=, 0($0):p2align=4, $pop11 + i32.const $push20=, 12 + i32.add $push12=, $0, $pop20 + i32.const $push19=, 3 + i32.and $push10=, $2, $pop19 + i32.store $discard=, 0($pop12), $pop10 + i32.const $push18=, 8 + i32.add $push13=, $0, $pop18 + i32.const $push17=, 3 + i32.and $push9=, $3, $pop17 + i32.store $discard=, 0($pop13):p2align=3, $pop9 + i32.const $push16=, 4 + i32.add $push14=, $0, $pop16 + i32.const $push15=, 3 + i32.and $push8=, $4, $pop15 + i32.store $discard=, 0($pop14), $pop8 + return + .endfunc +.Lfunc_end1: + .size ur4444, .Lfunc_end1-ur4444 + + .section .text.sq4444,"ax",@progbits + .hidden sq4444 + .globl sq4444 + .type sq4444,@function +sq4444: # @sq4444 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $2=, 0($pop1) + i32.load $4=, 0($1):p2align=4 + i32.const $push2=, 8 + i32.add $push3=, $1, $pop2 + i32.load $3=, 0($pop3):p2align=3 + i32.const $push4=, 4 + i32.add $push5=, $1, $pop4 + i32.load $1=, 0($pop5) + i32.const $push6=, 31 + i32.shr_s $push21=, $4, $pop6 + i32.const $push8=, 30 + i32.shr_u $push22=, $pop21, $pop8 + i32.add $push23=, $4, $pop22 + i32.const $push11=, 2 + i32.shr_s $push24=, $pop23, $pop11 + i32.store $discard=, 0($0):p2align=4, $pop24 + i32.const $push39=, 12 + i32.add $push25=, $0, $pop39 + i32.const $push38=, 31 + i32.shr_s $push17=, $2, $pop38 + i32.const $push37=, 30 + i32.shr_u $push18=, $pop17, $pop37 + i32.add $push19=, $2, $pop18 + i32.const $push36=, 2 + i32.shr_s $push20=, $pop19, $pop36 + i32.store $discard=, 0($pop25), $pop20 + i32.const $push35=, 8 + i32.add $push26=, $0, $pop35 + i32.const $push34=, 31 + i32.shr_s $push13=, $3, $pop34 + i32.const $push33=, 30 + i32.shr_u $push14=, $pop13, $pop33 + i32.add $push15=, $3, $pop14 + i32.const $push32=, 2 + i32.shr_s $push16=, $pop15, $pop32 + i32.store $discard=, 0($pop26):p2align=3, $pop16 + i32.const $push31=, 4 + i32.add $push27=, $0, $pop31 + i32.const $push30=, 31 + i32.shr_s $push7=, $1, $pop30 + i32.const $push29=, 30 + i32.shr_u $push9=, $pop7, $pop29 + i32.add $push10=, $1, $pop9 + i32.const $push28=, 2 + i32.shr_s $push12=, $pop10, $pop28 + i32.store $discard=, 0($pop27), $pop12 + return + .endfunc +.Lfunc_end2: + .size sq4444, .Lfunc_end2-sq4444 + + .section .text.sr4444,"ax",@progbits + .hidden sr4444 + .globl sr4444 + .type sr4444,@function +sr4444: # @sr4444 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $2=, 0($pop1) + i32.load $4=, 0($1):p2align=4 + i32.const $push2=, 8 + i32.add $push3=, $1, $pop2 + i32.load $3=, 0($pop3):p2align=3 + i32.const $push4=, 4 + i32.add $push5=, $1, $pop4 + i32.load $1=, 0($pop5) + i32.const $push6=, 31 + i32.shr_s $push24=, $4, $pop6 + i32.const $push8=, 30 + i32.shr_u $push25=, $pop24, $pop8 + i32.add $push26=, $4, $pop25 + i32.const $push11=, -4 + i32.and $push27=, $pop26, $pop11 + i32.sub $push28=, $4, $pop27 + i32.store $discard=, 0($0):p2align=4, $pop28 + i32.const $push43=, 12 + i32.add $push29=, $0, $pop43 + i32.const $push42=, 31 + i32.shr_s $push19=, $2, $pop42 + i32.const $push41=, 30 + i32.shr_u $push20=, $pop19, $pop41 + i32.add $push21=, $2, $pop20 + i32.const $push40=, -4 + i32.and $push22=, $pop21, $pop40 + i32.sub $push23=, $2, $pop22 + i32.store $discard=, 0($pop29), $pop23 + i32.const $push39=, 8 + i32.add $push30=, $0, $pop39 + i32.const $push38=, 31 + i32.shr_s $push14=, $3, $pop38 + i32.const $push37=, 30 + i32.shr_u $push15=, $pop14, $pop37 + i32.add $push16=, $3, $pop15 + i32.const $push36=, -4 + i32.and $push17=, $pop16, $pop36 + i32.sub $push18=, $3, $pop17 + i32.store $discard=, 0($pop30):p2align=3, $pop18 + i32.const $push35=, 4 + i32.add $push31=, $0, $pop35 + i32.const $push34=, 31 + i32.shr_s $push7=, $1, $pop34 + i32.const $push33=, 30 + i32.shr_u $push9=, $pop7, $pop33 + i32.add $push10=, $1, $pop9 + i32.const $push32=, -4 + i32.and $push12=, $pop10, $pop32 + i32.sub $push13=, $1, $pop12 + i32.store $discard=, 0($pop31), $pop13 + return + .endfunc +.Lfunc_end3: + .size sr4444, .Lfunc_end3-sr4444 + + .section .text.uq1428,"ax",@progbits + .hidden uq1428 + .globl uq1428 + .type uq1428,@function +uq1428: # @uq1428 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $2=, 0($pop1) + i32.const $push2=, 8 + i32.add $push3=, $1, $pop2 + i32.load $3=, 0($pop3):p2align=3 + i32.const $push4=, 4 + i32.add $push5=, $1, $pop4 + i32.load $4=, 0($pop5) + i32.load $push6=, 0($1):p2align=4 + i32.store $discard=, 0($0):p2align=4, $pop6 + i32.const $push18=, 12 + i32.add $push13=, $0, $pop18 + i32.const $push11=, 3 + i32.shr_u $push12=, $2, $pop11 + i32.store $discard=, 0($pop13), $pop12 + i32.const $push17=, 8 + i32.add $push14=, $0, $pop17 + i32.const $push9=, 1 + i32.shr_u $push10=, $3, $pop9 + i32.store $discard=, 0($pop14):p2align=3, $pop10 + i32.const $push16=, 4 + i32.add $push15=, $0, $pop16 + i32.const $push7=, 2 + i32.shr_u $push8=, $4, $pop7 + i32.store $discard=, 0($pop15), $pop8 + return + .endfunc +.Lfunc_end4: + .size uq1428, .Lfunc_end4-uq1428 + + .section .text.ur1428,"ax",@progbits + .hidden ur1428 + .globl ur1428 + .type ur1428,@function +ur1428: # @ur1428 + .param i32, i32 + .local i32, i32 +# BB#0: # %entry + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $2=, 0($pop1) + i32.const $push2=, 8 + i32.add $push3=, $1, $pop2 + i32.load $3=, 0($pop3):p2align=3 + i32.const $push4=, 4 + i32.add $push5=, $1, $pop4 + i32.load $1=, 0($pop5) + i32.const $push12=, 0 + i32.store $discard=, 0($0):p2align=4, $pop12 + i32.const $push18=, 12 + i32.add $push13=, $0, $pop18 + i32.const $push10=, 7 + i32.and $push11=, $2, $pop10 + i32.store $discard=, 0($pop13), $pop11 + i32.const $push17=, 8 + i32.add $push14=, $0, $pop17 + i32.const $push8=, 1 + i32.and $push9=, $3, $pop8 + i32.store $discard=, 0($pop14):p2align=3, $pop9 + i32.const $push16=, 4 + i32.add $push15=, $0, $pop16 + i32.const $push6=, 3 + i32.and $push7=, $1, $pop6 + i32.store $discard=, 0($pop15), $pop7 + return + .endfunc +.Lfunc_end5: + .size ur1428, .Lfunc_end5-ur1428 + + .section .text.sq1428,"ax",@progbits + .hidden sq1428 + .globl sq1428 + .type sq1428,@function +sq1428: # @sq1428 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push0=, 8 + i32.add $push1=, $1, $pop0 + i32.load $2=, 0($pop1):p2align=3 + i32.const $push2=, 12 + i32.add $push3=, $1, $pop2 + i32.load $3=, 0($pop3) + i32.const $push4=, 4 + i32.add $push5=, $1, $pop4 + i32.load $4=, 0($pop5) + i32.load $push6=, 0($1):p2align=4 + i32.store $discard=, 0($0):p2align=4, $pop6 + i32.const $push31=, 8 + i32.add $push24=, $0, $pop31 + i32.const $push7=, 31 + i32.shr_u $push20=, $2, $pop7 + i32.add $push21=, $2, $pop20 + i32.const $push22=, 1 + i32.shr_s $push23=, $pop21, $pop22 + i32.store $discard=, 0($pop24):p2align=3, $pop23 + i32.const $push30=, 12 + i32.add $push25=, $0, $pop30 + i32.const $push29=, 31 + i32.shr_s $push14=, $3, $pop29 + i32.const $push15=, 29 + i32.shr_u $push16=, $pop14, $pop15 + i32.add $push17=, $3, $pop16 + i32.const $push18=, 3 + i32.shr_s $push19=, $pop17, $pop18 + i32.store $discard=, 0($pop25), $pop19 + i32.const $push28=, 4 + i32.add $push26=, $0, $pop28 + i32.const $push27=, 31 + i32.shr_s $push8=, $4, $pop27 + i32.const $push9=, 30 + i32.shr_u $push10=, $pop8, $pop9 + i32.add $push11=, $4, $pop10 + i32.const $push12=, 2 + i32.shr_s $push13=, $pop11, $pop12 + i32.store $discard=, 0($pop26), $pop13 + return + .endfunc +.Lfunc_end6: + .size sq1428, .Lfunc_end6-sq1428 + + .section .text.sr1428,"ax",@progbits + .hidden sr1428 + .globl sr1428 + .type sr1428,@function +sr1428: # @sr1428 + .param i32, i32 + .local i32, i32 +# BB#0: # %entry + i32.const $push0=, 8 + i32.add $push1=, $1, $pop0 + i32.load $2=, 0($pop1):p2align=3 + i32.const $push2=, 12 + i32.add $push3=, $1, $pop2 + i32.load $3=, 0($pop3) + i32.const $push4=, 4 + i32.add $push5=, $1, $pop4 + i32.load $1=, 0($pop5) + i32.const $push26=, 0 + i32.store $discard=, 0($0):p2align=4, $pop26 + i32.const $push34=, 8 + i32.add $push27=, $0, $pop34 + i32.const $push6=, 31 + i32.shr_u $push21=, $2, $pop6 + i32.add $push22=, $2, $pop21 + i32.const $push23=, -2 + i32.and $push24=, $pop22, $pop23 + i32.sub $push25=, $2, $pop24 + i32.store $discard=, 0($pop27):p2align=3, $pop25 + i32.const $push33=, 12 + i32.add $push28=, $0, $pop33 + i32.const $push32=, 31 + i32.shr_s $push14=, $3, $pop32 + i32.const $push15=, 29 + i32.shr_u $push16=, $pop14, $pop15 + i32.add $push17=, $3, $pop16 + i32.const $push18=, -8 + i32.and $push19=, $pop17, $pop18 + i32.sub $push20=, $3, $pop19 + i32.store $discard=, 0($pop28), $pop20 + i32.const $push31=, 4 + i32.add $push29=, $0, $pop31 + i32.const $push30=, 31 + i32.shr_s $push7=, $1, $pop30 + i32.const $push8=, 30 + i32.shr_u $push9=, $pop7, $pop8 + i32.add $push10=, $1, $pop9 + i32.const $push11=, -4 + i32.and $push12=, $pop10, $pop11 + i32.sub $push13=, $1, $pop12 + i32.store $discard=, 0($pop29), $pop13 + return + .endfunc +.Lfunc_end7: + .size sr1428, .Lfunc_end7-sr1428 + + .section .text.uq3333,"ax",@progbits + .hidden uq3333 + .globl uq3333 + .type uq3333,@function +uq3333: # @uq3333 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push6=, 4 + i32.add $push7=, $1, $pop6 + i32.load $push8=, 0($pop7) + i32.const $push10=, 3 + i32.div_u $2=, $pop8, $pop10 + i32.const $push3=, 8 + i32.add $push4=, $1, $pop3 + i32.load $push5=, 0($pop4):p2align=3 + i32.const $push20=, 3 + i32.div_u $3=, $pop5, $pop20 + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $push2=, 0($pop1) + i32.const $push19=, 3 + i32.div_u $4=, $pop2, $pop19 + i32.load $push9=, 0($1):p2align=4 + i32.const $push18=, 3 + i32.div_u $push11=, $pop9, $pop18 + i32.store $discard=, 0($0):p2align=4, $pop11 + i32.const $push17=, 12 + i32.add $push12=, $0, $pop17 + i32.store $discard=, 0($pop12), $4 + i32.const $push16=, 8 + i32.add $push13=, $0, $pop16 + i32.store $discard=, 0($pop13):p2align=3, $3 + i32.const $push15=, 4 + i32.add $push14=, $0, $pop15 + i32.store $discard=, 0($pop14), $2 + return + .endfunc +.Lfunc_end8: + .size uq3333, .Lfunc_end8-uq3333 + + .section .text.ur3333,"ax",@progbits + .hidden ur3333 + .globl ur3333 + .type ur3333,@function +ur3333: # @ur3333 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push6=, 4 + i32.add $push7=, $1, $pop6 + i32.load $push8=, 0($pop7) + i32.const $push10=, 3 + i32.rem_u $2=, $pop8, $pop10 + i32.const $push3=, 8 + i32.add $push4=, $1, $pop3 + i32.load $push5=, 0($pop4):p2align=3 + i32.const $push20=, 3 + i32.rem_u $3=, $pop5, $pop20 + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $push2=, 0($pop1) + i32.const $push19=, 3 + i32.rem_u $4=, $pop2, $pop19 + i32.load $push9=, 0($1):p2align=4 + i32.const $push18=, 3 + i32.rem_u $push11=, $pop9, $pop18 + i32.store $discard=, 0($0):p2align=4, $pop11 + i32.const $push17=, 12 + i32.add $push12=, $0, $pop17 + i32.store $discard=, 0($pop12), $4 + i32.const $push16=, 8 + i32.add $push13=, $0, $pop16 + i32.store $discard=, 0($pop13):p2align=3, $3 + i32.const $push15=, 4 + i32.add $push14=, $0, $pop15 + i32.store $discard=, 0($pop14), $2 + return + .endfunc +.Lfunc_end9: + .size ur3333, .Lfunc_end9-ur3333 + + .section .text.sq3333,"ax",@progbits + .hidden sq3333 + .globl sq3333 + .type sq3333,@function +sq3333: # @sq3333 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push6=, 4 + i32.add $push7=, $1, $pop6 + i32.load $push8=, 0($pop7) + i32.const $push10=, 3 + i32.div_s $2=, $pop8, $pop10 + i32.const $push3=, 8 + i32.add $push4=, $1, $pop3 + i32.load $push5=, 0($pop4):p2align=3 + i32.const $push20=, 3 + i32.div_s $3=, $pop5, $pop20 + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $push2=, 0($pop1) + i32.const $push19=, 3 + i32.div_s $4=, $pop2, $pop19 + i32.load $push9=, 0($1):p2align=4 + i32.const $push18=, 3 + i32.div_s $push11=, $pop9, $pop18 + i32.store $discard=, 0($0):p2align=4, $pop11 + i32.const $push17=, 12 + i32.add $push12=, $0, $pop17 + i32.store $discard=, 0($pop12), $4 + i32.const $push16=, 8 + i32.add $push13=, $0, $pop16 + i32.store $discard=, 0($pop13):p2align=3, $3 + i32.const $push15=, 4 + i32.add $push14=, $0, $pop15 + i32.store $discard=, 0($pop14), $2 + return + .endfunc +.Lfunc_end10: + .size sq3333, .Lfunc_end10-sq3333 + + .section .text.sr3333,"ax",@progbits + .hidden sr3333 + .globl sr3333 + .type sr3333,@function +sr3333: # @sr3333 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push6=, 4 + i32.add $push7=, $1, $pop6 + i32.load $push8=, 0($pop7) + i32.const $push10=, 3 + i32.rem_s $2=, $pop8, $pop10 + i32.const $push3=, 8 + i32.add $push4=, $1, $pop3 + i32.load $push5=, 0($pop4):p2align=3 + i32.const $push20=, 3 + i32.rem_s $3=, $pop5, $pop20 + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $push2=, 0($pop1) + i32.const $push19=, 3 + i32.rem_s $4=, $pop2, $pop19 + i32.load $push9=, 0($1):p2align=4 + i32.const $push18=, 3 + i32.rem_s $push11=, $pop9, $pop18 + i32.store $discard=, 0($0):p2align=4, $pop11 + i32.const $push17=, 12 + i32.add $push12=, $0, $pop17 + i32.store $discard=, 0($pop12), $4 + i32.const $push16=, 8 + i32.add $push13=, $0, $pop16 + i32.store $discard=, 0($pop13):p2align=3, $3 + i32.const $push15=, 4 + i32.add $push14=, $0, $pop15 + i32.store $discard=, 0($pop14), $2 + return + .endfunc +.Lfunc_end11: + .size sr3333, .Lfunc_end11-sr3333 + + .section .text.uq6565,"ax",@progbits + .hidden uq6565 + .globl uq6565 + .type uq6565,@function +uq6565: # @uq6565 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push6=, 4 + i32.add $push7=, $1, $pop6 + i32.load $push8=, 0($pop7) + i32.const $push10=, 5 + i32.div_u $2=, $pop8, $pop10 + i32.const $push3=, 8 + i32.add $push4=, $1, $pop3 + i32.load $push5=, 0($pop4):p2align=3 + i32.const $push11=, 6 + i32.div_u $3=, $pop5, $pop11 + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $push2=, 0($pop1) + i32.const $push20=, 5 + i32.div_u $4=, $pop2, $pop20 + i32.load $push9=, 0($1):p2align=4 + i32.const $push19=, 6 + i32.div_u $push12=, $pop9, $pop19 + i32.store $discard=, 0($0):p2align=4, $pop12 + i32.const $push18=, 12 + i32.add $push13=, $0, $pop18 + i32.store $discard=, 0($pop13), $4 + i32.const $push17=, 8 + i32.add $push14=, $0, $pop17 + i32.store $discard=, 0($pop14):p2align=3, $3 + i32.const $push16=, 4 + i32.add $push15=, $0, $pop16 + i32.store $discard=, 0($pop15), $2 + return + .endfunc +.Lfunc_end12: + .size uq6565, .Lfunc_end12-uq6565 + + .section .text.ur6565,"ax",@progbits + .hidden ur6565 + .globl ur6565 + .type ur6565,@function +ur6565: # @ur6565 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push6=, 4 + i32.add $push7=, $1, $pop6 + i32.load $push8=, 0($pop7) + i32.const $push10=, 5 + i32.rem_u $2=, $pop8, $pop10 + i32.const $push3=, 8 + i32.add $push4=, $1, $pop3 + i32.load $push5=, 0($pop4):p2align=3 + i32.const $push11=, 6 + i32.rem_u $3=, $pop5, $pop11 + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $push2=, 0($pop1) + i32.const $push20=, 5 + i32.rem_u $4=, $pop2, $pop20 + i32.load $push9=, 0($1):p2align=4 + i32.const $push19=, 6 + i32.rem_u $push12=, $pop9, $pop19 + i32.store $discard=, 0($0):p2align=4, $pop12 + i32.const $push18=, 12 + i32.add $push13=, $0, $pop18 + i32.store $discard=, 0($pop13), $4 + i32.const $push17=, 8 + i32.add $push14=, $0, $pop17 + i32.store $discard=, 0($pop14):p2align=3, $3 + i32.const $push16=, 4 + i32.add $push15=, $0, $pop16 + i32.store $discard=, 0($pop15), $2 + return + .endfunc +.Lfunc_end13: + .size ur6565, .Lfunc_end13-ur6565 + + .section .text.sq6565,"ax",@progbits + .hidden sq6565 + .globl sq6565 + .type sq6565,@function +sq6565: # @sq6565 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push6=, 4 + i32.add $push7=, $1, $pop6 + i32.load $push8=, 0($pop7) + i32.const $push10=, 5 + i32.div_s $2=, $pop8, $pop10 + i32.const $push3=, 8 + i32.add $push4=, $1, $pop3 + i32.load $push5=, 0($pop4):p2align=3 + i32.const $push11=, 6 + i32.div_s $3=, $pop5, $pop11 + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $push2=, 0($pop1) + i32.const $push20=, 5 + i32.div_s $4=, $pop2, $pop20 + i32.load $push9=, 0($1):p2align=4 + i32.const $push19=, 6 + i32.div_s $push12=, $pop9, $pop19 + i32.store $discard=, 0($0):p2align=4, $pop12 + i32.const $push18=, 12 + i32.add $push13=, $0, $pop18 + i32.store $discard=, 0($pop13), $4 + i32.const $push17=, 8 + i32.add $push14=, $0, $pop17 + i32.store $discard=, 0($pop14):p2align=3, $3 + i32.const $push16=, 4 + i32.add $push15=, $0, $pop16 + i32.store $discard=, 0($pop15), $2 + return + .endfunc +.Lfunc_end14: + .size sq6565, .Lfunc_end14-sq6565 + + .section .text.sr6565,"ax",@progbits + .hidden sr6565 + .globl sr6565 + .type sr6565,@function +sr6565: # @sr6565 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push6=, 4 + i32.add $push7=, $1, $pop6 + i32.load $push8=, 0($pop7) + i32.const $push10=, 5 + i32.rem_s $2=, $pop8, $pop10 + i32.const $push3=, 8 + i32.add $push4=, $1, $pop3 + i32.load $push5=, 0($pop4):p2align=3 + i32.const $push11=, 6 + i32.rem_s $3=, $pop5, $pop11 + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $push2=, 0($pop1) + i32.const $push20=, 5 + i32.rem_s $4=, $pop2, $pop20 + i32.load $push9=, 0($1):p2align=4 + i32.const $push19=, 6 + i32.rem_s $push12=, $pop9, $pop19 + i32.store $discard=, 0($0):p2align=4, $pop12 + i32.const $push18=, 12 + i32.add $push13=, $0, $pop18 + i32.store $discard=, 0($pop13), $4 + i32.const $push17=, 8 + i32.add $push14=, $0, $pop17 + i32.store $discard=, 0($pop14):p2align=3, $3 + i32.const $push16=, 4 + i32.add $push15=, $0, $pop16 + i32.store $discard=, 0($pop15), $2 + return + .endfunc +.Lfunc_end15: + .size sr6565, .Lfunc_end15-sr6565 + + .section .text.uq1414146,"ax",@progbits + .hidden uq1414146 + .globl uq1414146 + .type uq1414146,@function +uq1414146: # @uq1414146 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push6=, 4 + i32.add $push7=, $1, $pop6 + i32.load $push8=, 0($pop7) + i32.const $push10=, 14 + i32.div_u $2=, $pop8, $pop10 + i32.const $push3=, 8 + i32.add $push4=, $1, $pop3 + i32.load $push5=, 0($pop4):p2align=3 + i32.const $push20=, 14 + i32.div_u $3=, $pop5, $pop20 + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $push2=, 0($pop1) + i32.const $push11=, 6 + i32.div_u $4=, $pop2, $pop11 + i32.load $push9=, 0($1):p2align=4 + i32.const $push19=, 14 + i32.div_u $push12=, $pop9, $pop19 + i32.store $discard=, 0($0):p2align=4, $pop12 + i32.const $push18=, 12 + i32.add $push13=, $0, $pop18 + i32.store $discard=, 0($pop13), $4 + i32.const $push17=, 8 + i32.add $push14=, $0, $pop17 + i32.store $discard=, 0($pop14):p2align=3, $3 + i32.const $push16=, 4 + i32.add $push15=, $0, $pop16 + i32.store $discard=, 0($pop15), $2 + return + .endfunc +.Lfunc_end16: + .size uq1414146, .Lfunc_end16-uq1414146 + + .section .text.ur1414146,"ax",@progbits + .hidden ur1414146 + .globl ur1414146 + .type ur1414146,@function +ur1414146: # @ur1414146 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push6=, 4 + i32.add $push7=, $1, $pop6 + i32.load $push8=, 0($pop7) + i32.const $push10=, 14 + i32.rem_u $2=, $pop8, $pop10 + i32.const $push3=, 8 + i32.add $push4=, $1, $pop3 + i32.load $push5=, 0($pop4):p2align=3 + i32.const $push20=, 14 + i32.rem_u $3=, $pop5, $pop20 + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $push2=, 0($pop1) + i32.const $push11=, 6 + i32.rem_u $4=, $pop2, $pop11 + i32.load $push9=, 0($1):p2align=4 + i32.const $push19=, 14 + i32.rem_u $push12=, $pop9, $pop19 + i32.store $discard=, 0($0):p2align=4, $pop12 + i32.const $push18=, 12 + i32.add $push13=, $0, $pop18 + i32.store $discard=, 0($pop13), $4 + i32.const $push17=, 8 + i32.add $push14=, $0, $pop17 + i32.store $discard=, 0($pop14):p2align=3, $3 + i32.const $push16=, 4 + i32.add $push15=, $0, $pop16 + i32.store $discard=, 0($pop15), $2 + return + .endfunc +.Lfunc_end17: + .size ur1414146, .Lfunc_end17-ur1414146 + + .section .text.sq1414146,"ax",@progbits + .hidden sq1414146 + .globl sq1414146 + .type sq1414146,@function +sq1414146: # @sq1414146 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push6=, 4 + i32.add $push7=, $1, $pop6 + i32.load $push8=, 0($pop7) + i32.const $push10=, 14 + i32.div_s $2=, $pop8, $pop10 + i32.const $push3=, 8 + i32.add $push4=, $1, $pop3 + i32.load $push5=, 0($pop4):p2align=3 + i32.const $push20=, 14 + i32.div_s $3=, $pop5, $pop20 + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $push2=, 0($pop1) + i32.const $push11=, 6 + i32.div_s $4=, $pop2, $pop11 + i32.load $push9=, 0($1):p2align=4 + i32.const $push19=, 14 + i32.div_s $push12=, $pop9, $pop19 + i32.store $discard=, 0($0):p2align=4, $pop12 + i32.const $push18=, 12 + i32.add $push13=, $0, $pop18 + i32.store $discard=, 0($pop13), $4 + i32.const $push17=, 8 + i32.add $push14=, $0, $pop17 + i32.store $discard=, 0($pop14):p2align=3, $3 + i32.const $push16=, 4 + i32.add $push15=, $0, $pop16 + i32.store $discard=, 0($pop15), $2 + return + .endfunc +.Lfunc_end18: + .size sq1414146, .Lfunc_end18-sq1414146 + + .section .text.sr1414146,"ax",@progbits + .hidden sr1414146 + .globl sr1414146 + .type sr1414146,@function +sr1414146: # @sr1414146 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push6=, 4 + i32.add $push7=, $1, $pop6 + i32.load $push8=, 0($pop7) + i32.const $push10=, 14 + i32.rem_s $2=, $pop8, $pop10 + i32.const $push3=, 8 + i32.add $push4=, $1, $pop3 + i32.load $push5=, 0($pop4):p2align=3 + i32.const $push20=, 14 + i32.rem_s $3=, $pop5, $pop20 + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $push2=, 0($pop1) + i32.const $push11=, 6 + i32.rem_s $4=, $pop2, $pop11 + i32.load $push9=, 0($1):p2align=4 + i32.const $push19=, 14 + i32.rem_s $push12=, $pop9, $pop19 + i32.store $discard=, 0($0):p2align=4, $pop12 + i32.const $push18=, 12 + i32.add $push13=, $0, $pop18 + i32.store $discard=, 0($pop13), $4 + i32.const $push17=, 8 + i32.add $push14=, $0, $pop17 + i32.store $discard=, 0($pop14):p2align=3, $3 + i32.const $push16=, 4 + i32.add $push15=, $0, $pop16 + i32.store $discard=, 0($pop15), $2 + return + .endfunc +.Lfunc_end19: + .size sr1414146, .Lfunc_end19-sr1414146 + + .section .text.uq7777,"ax",@progbits + .hidden uq7777 + .globl uq7777 + .type uq7777,@function +uq7777: # @uq7777 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push6=, 4 + i32.add $push7=, $1, $pop6 + i32.load $push8=, 0($pop7) + i32.const $push10=, 7 + i32.div_u $2=, $pop8, $pop10 + i32.const $push3=, 8 + i32.add $push4=, $1, $pop3 + i32.load $push5=, 0($pop4):p2align=3 + i32.const $push20=, 7 + i32.div_u $3=, $pop5, $pop20 + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $push2=, 0($pop1) + i32.const $push19=, 7 + i32.div_u $4=, $pop2, $pop19 + i32.load $push9=, 0($1):p2align=4 + i32.const $push18=, 7 + i32.div_u $push11=, $pop9, $pop18 + i32.store $discard=, 0($0):p2align=4, $pop11 + i32.const $push17=, 12 + i32.add $push12=, $0, $pop17 + i32.store $discard=, 0($pop12), $4 + i32.const $push16=, 8 + i32.add $push13=, $0, $pop16 + i32.store $discard=, 0($pop13):p2align=3, $3 + i32.const $push15=, 4 + i32.add $push14=, $0, $pop15 + i32.store $discard=, 0($pop14), $2 + return + .endfunc +.Lfunc_end20: + .size uq7777, .Lfunc_end20-uq7777 + + .section .text.ur7777,"ax",@progbits + .hidden ur7777 + .globl ur7777 + .type ur7777,@function +ur7777: # @ur7777 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push6=, 4 + i32.add $push7=, $1, $pop6 + i32.load $push8=, 0($pop7) + i32.const $push10=, 7 + i32.rem_u $2=, $pop8, $pop10 + i32.const $push3=, 8 + i32.add $push4=, $1, $pop3 + i32.load $push5=, 0($pop4):p2align=3 + i32.const $push20=, 7 + i32.rem_u $3=, $pop5, $pop20 + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $push2=, 0($pop1) + i32.const $push19=, 7 + i32.rem_u $4=, $pop2, $pop19 + i32.load $push9=, 0($1):p2align=4 + i32.const $push18=, 7 + i32.rem_u $push11=, $pop9, $pop18 + i32.store $discard=, 0($0):p2align=4, $pop11 + i32.const $push17=, 12 + i32.add $push12=, $0, $pop17 + i32.store $discard=, 0($pop12), $4 + i32.const $push16=, 8 + i32.add $push13=, $0, $pop16 + i32.store $discard=, 0($pop13):p2align=3, $3 + i32.const $push15=, 4 + i32.add $push14=, $0, $pop15 + i32.store $discard=, 0($pop14), $2 + return + .endfunc +.Lfunc_end21: + .size ur7777, .Lfunc_end21-ur7777 + + .section .text.sq7777,"ax",@progbits + .hidden sq7777 + .globl sq7777 + .type sq7777,@function +sq7777: # @sq7777 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push6=, 4 + i32.add $push7=, $1, $pop6 + i32.load $push8=, 0($pop7) + i32.const $push10=, 7 + i32.div_s $2=, $pop8, $pop10 + i32.const $push3=, 8 + i32.add $push4=, $1, $pop3 + i32.load $push5=, 0($pop4):p2align=3 + i32.const $push20=, 7 + i32.div_s $3=, $pop5, $pop20 + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $push2=, 0($pop1) + i32.const $push19=, 7 + i32.div_s $4=, $pop2, $pop19 + i32.load $push9=, 0($1):p2align=4 + i32.const $push18=, 7 + i32.div_s $push11=, $pop9, $pop18 + i32.store $discard=, 0($0):p2align=4, $pop11 + i32.const $push17=, 12 + i32.add $push12=, $0, $pop17 + i32.store $discard=, 0($pop12), $4 + i32.const $push16=, 8 + i32.add $push13=, $0, $pop16 + i32.store $discard=, 0($pop13):p2align=3, $3 + i32.const $push15=, 4 + i32.add $push14=, $0, $pop15 + i32.store $discard=, 0($pop14), $2 + return + .endfunc +.Lfunc_end22: + .size sq7777, .Lfunc_end22-sq7777 + + .section .text.sr7777,"ax",@progbits + .hidden sr7777 + .globl sr7777 + .type sr7777,@function +sr7777: # @sr7777 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push6=, 4 + i32.add $push7=, $1, $pop6 + i32.load $push8=, 0($pop7) + i32.const $push10=, 7 + i32.rem_s $2=, $pop8, $pop10 + i32.const $push3=, 8 + i32.add $push4=, $1, $pop3 + i32.load $push5=, 0($pop4):p2align=3 + i32.const $push20=, 7 + i32.rem_s $3=, $pop5, $pop20 + i32.const $push0=, 12 + i32.add $push1=, $1, $pop0 + i32.load $push2=, 0($pop1) + i32.const $push19=, 7 + i32.rem_s $4=, $pop2, $pop19 + i32.load $push9=, 0($1):p2align=4 + i32.const $push18=, 7 + i32.rem_s $push11=, $pop9, $pop18 + i32.store $discard=, 0($0):p2align=4, $pop11 + i32.const $push17=, 12 + i32.add $push12=, $0, $pop17 + i32.store $discard=, 0($pop12), $4 + i32.const $push16=, 8 + i32.add $push13=, $0, $pop16 + i32.store $discard=, 0($pop13):p2align=3, $3 + i32.const $push15=, 4 + i32.add $push14=, $0, $pop15 + i32.store $discard=, 0($pop14), $2 + return + .endfunc +.Lfunc_end23: + .size sr7777, .Lfunc_end23-sr7777 + + .section .text.main,"ax",@progbits + .hidden main + .globl main + .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 +# BB#0: # %entry + i32.const $push554=, __stack_pointer + i32.load $push555=, 0($pop554) + i32.const $push556=, 32 + i32.sub $42=, $pop555, $pop556 + i32.const $push557=, __stack_pointer + i32.store $discard=, 0($pop557), $42 + i32.const $2=, 0 + i32.const $0=, u +.LBB24_1: # %for.body + # =>This Inner Loop Header: Depth=1 + block + loop # label1: + i32.const $6=, 16 + i32.add $6=, $42, $6 + call uq4444@FUNCTION, $6, $0 + i32.load $push0=, 16($42):p2align=4 + i32.load $push2=, 0($0):p2align=4 + i32.const $push412=, 2 + i32.shr_u $push175=, $pop2, $pop412 + i32.ne $push176=, $pop0, $pop175 + br_if 2, $pop176 # 2: down to label0 +# BB#2: # %lor.lhs.false + # in Loop: Header=BB24_1 Depth=1 + i32.load $push1=, 28($42) + i32.const $push416=, 12 + i32.add $push415=, $0, $pop416 + tee_local $push414=, $3=, $pop415 + i32.load $push3=, 0($pop414) + i32.const $push413=, 2 + i32.shr_u $push177=, $pop3, $pop413 + i32.ne $push178=, $pop1, $pop177 + br_if 2, $pop178 # 2: down to label0 +# BB#3: # %if.end + # in Loop: Header=BB24_1 Depth=1 + i32.const $7=, 16 + i32.add $7=, $42, $7 + copy_local $4=, $7 + #APP + #NO_APP + i32.load $push5=, 24($42):p2align=3 + i32.const $push420=, 8 + i32.add $push419=, $0, $pop420 + tee_local $push418=, $4=, $pop419 + i32.load $push7=, 0($pop418):p2align=3 + i32.const $push417=, 2 + i32.shr_u $push179=, $pop7, $pop417 + i32.ne $push180=, $pop5, $pop179 + br_if 2, $pop180 # 2: down to label0 +# BB#4: # %lor.lhs.false13 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push4=, 20($42) + i32.const $push424=, 4 + i32.add $push423=, $0, $pop424 + tee_local $push422=, $5=, $pop423 + i32.load $push6=, 0($pop422) + i32.const $push421=, 2 + i32.shr_u $push181=, $pop6, $pop421 + i32.ne $push182=, $pop4, $pop181 + br_if 2, $pop182 # 2: down to label0 +# BB#5: # %if.end20 + # in Loop: Header=BB24_1 Depth=1 + i32.const $8=, 16 + i32.add $8=, $42, $8 + copy_local $1=, $8 + #APP + #NO_APP + i32.const $9=, 16 + i32.add $9=, $42, $9 + call ur4444@FUNCTION, $9, $0 + i32.load $push8=, 16($42):p2align=4 + i32.load $push10=, 0($0):p2align=4 + i32.const $push425=, 3 + i32.and $push183=, $pop10, $pop425 + i32.ne $push184=, $pop8, $pop183 + br_if 2, $pop184 # 2: down to label0 +# BB#6: # %lor.lhs.false26 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push9=, 28($42) + i32.load $push11=, 0($3) + i32.const $push426=, 3 + i32.and $push185=, $pop11, $pop426 + i32.ne $push186=, $pop9, $pop185 + br_if 2, $pop186 # 2: down to label0 +# BB#7: # %if.end33 + # in Loop: Header=BB24_1 Depth=1 + i32.const $10=, 16 + i32.add $10=, $42, $10 + copy_local $1=, $10 + #APP + #NO_APP + i32.load $push13=, 24($42):p2align=3 + i32.load $push15=, 0($4):p2align=3 + i32.const $push427=, 3 + i32.and $push187=, $pop15, $pop427 + i32.ne $push188=, $pop13, $pop187 + br_if 2, $pop188 # 2: down to label0 +# BB#8: # %lor.lhs.false39 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push12=, 20($42) + i32.load $push14=, 0($5) + i32.const $push428=, 3 + i32.and $push189=, $pop14, $pop428 + i32.ne $push190=, $pop12, $pop189 + br_if 2, $pop190 # 2: down to label0 +# BB#9: # %if.end46 + # in Loop: Header=BB24_1 Depth=1 + i32.const $11=, 16 + i32.add $11=, $42, $11 + copy_local $1=, $11 + #APP + #NO_APP + i32.const $12=, 16 + i32.add $12=, $42, $12 + call uq1428@FUNCTION, $12, $0 + i32.load $push16=, 16($42):p2align=4 + i32.load $push18=, 0($0):p2align=4 + i32.ne $push191=, $pop16, $pop18 + br_if 2, $pop191 # 2: down to label0 +# BB#10: # %lor.lhs.false53 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push17=, 28($42) + i32.load $push19=, 0($3) + i32.const $push429=, 3 + i32.shr_u $push192=, $pop19, $pop429 + i32.ne $push193=, $pop17, $pop192 + br_if 2, $pop193 # 2: down to label0 +# BB#11: # %if.end60 + # in Loop: Header=BB24_1 Depth=1 + i32.const $13=, 16 + i32.add $13=, $42, $13 + copy_local $1=, $13 + #APP + #NO_APP + i32.load $push21=, 24($42):p2align=3 + i32.load $push23=, 0($4):p2align=3 + i32.const $push430=, 1 + i32.shr_u $push194=, $pop23, $pop430 + i32.ne $push195=, $pop21, $pop194 + br_if 2, $pop195 # 2: down to label0 +# BB#12: # %lor.lhs.false66 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push20=, 20($42) + i32.load $push22=, 0($5) + i32.const $push431=, 2 + i32.shr_u $push196=, $pop22, $pop431 + i32.ne $push197=, $pop20, $pop196 + br_if 2, $pop197 # 2: down to label0 +# BB#13: # %if.end73 + # in Loop: Header=BB24_1 Depth=1 + i32.const $14=, 16 + i32.add $14=, $42, $14 + copy_local $1=, $14 + #APP + #NO_APP + i32.const $15=, 16 + i32.add $15=, $42, $15 + call ur1428@FUNCTION, $15, $0 + i32.load $push24=, 16($42):p2align=4 + br_if 2, $pop24 # 2: down to label0 +# BB#14: # %lor.lhs.false80 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push25=, 28($42) + i32.load $push198=, 0($3) + i32.const $push432=, 7 + i32.and $push199=, $pop198, $pop432 + i32.ne $push200=, $pop25, $pop199 + br_if 2, $pop200 # 2: down to label0 +# BB#15: # %if.end87 + # in Loop: Header=BB24_1 Depth=1 + i32.const $16=, 16 + i32.add $16=, $42, $16 + copy_local $1=, $16 + #APP + #NO_APP + i32.load $push27=, 24($42):p2align=3 + i32.load $push29=, 0($4):p2align=3 + i32.const $push433=, 1 + i32.and $push201=, $pop29, $pop433 + i32.ne $push202=, $pop27, $pop201 + br_if 2, $pop202 # 2: down to label0 +# BB#16: # %lor.lhs.false93 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push26=, 20($42) + i32.load $push28=, 0($5) + i32.const $push434=, 3 + i32.and $push203=, $pop28, $pop434 + i32.ne $push204=, $pop26, $pop203 + br_if 2, $pop204 # 2: down to label0 +# BB#17: # %if.end100 + # in Loop: Header=BB24_1 Depth=1 + i32.const $17=, 16 + i32.add $17=, $42, $17 + copy_local $1=, $17 + #APP + #NO_APP + i32.const $18=, 16 + i32.add $18=, $42, $18 + call uq3333@FUNCTION, $18, $0 + i32.load $push30=, 16($42):p2align=4 + i32.load $push32=, 0($0):p2align=4 + i32.const $push435=, 3 + i32.div_u $push205=, $pop32, $pop435 + i32.ne $push206=, $pop30, $pop205 + br_if 2, $pop206 # 2: down to label0 +# BB#18: # %lor.lhs.false107 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push31=, 28($42) + i32.load $push33=, 0($3) + i32.const $push436=, 3 + i32.div_u $push207=, $pop33, $pop436 + i32.ne $push208=, $pop31, $pop207 + br_if 2, $pop208 # 2: down to label0 +# BB#19: # %if.end114 + # in Loop: Header=BB24_1 Depth=1 + i32.const $19=, 16 + i32.add $19=, $42, $19 + copy_local $1=, $19 + #APP + #NO_APP + i32.load $push35=, 24($42):p2align=3 + i32.load $push37=, 0($4):p2align=3 + i32.const $push437=, 3 + i32.div_u $push209=, $pop37, $pop437 + i32.ne $push210=, $pop35, $pop209 + br_if 2, $pop210 # 2: down to label0 +# BB#20: # %lor.lhs.false120 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push34=, 20($42) + i32.load $push36=, 0($5) + i32.const $push438=, 3 + i32.div_u $push211=, $pop36, $pop438 + i32.ne $push212=, $pop34, $pop211 + br_if 2, $pop212 # 2: down to label0 +# BB#21: # %if.end127 + # in Loop: Header=BB24_1 Depth=1 + i32.const $20=, 16 + i32.add $20=, $42, $20 + copy_local $1=, $20 + #APP + #NO_APP + i32.const $21=, 16 + i32.add $21=, $42, $21 + call ur3333@FUNCTION, $21, $0 + i32.load $push38=, 16($42):p2align=4 + i32.load $push40=, 0($0):p2align=4 + i32.const $push439=, 3 + i32.rem_u $push213=, $pop40, $pop439 + i32.ne $push214=, $pop38, $pop213 + br_if 2, $pop214 # 2: down to label0 +# BB#22: # %lor.lhs.false134 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push39=, 28($42) + i32.load $push41=, 0($3) + i32.const $push440=, 3 + i32.rem_u $push215=, $pop41, $pop440 + i32.ne $push216=, $pop39, $pop215 + br_if 2, $pop216 # 2: down to label0 +# BB#23: # %if.end141 + # in Loop: Header=BB24_1 Depth=1 + i32.const $22=, 16 + i32.add $22=, $42, $22 + copy_local $1=, $22 + #APP + #NO_APP + i32.load $push43=, 24($42):p2align=3 + i32.load $push45=, 0($4):p2align=3 + i32.const $push441=, 3 + i32.rem_u $push217=, $pop45, $pop441 + i32.ne $push218=, $pop43, $pop217 + br_if 2, $pop218 # 2: down to label0 +# BB#24: # %lor.lhs.false147 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push42=, 20($42) + i32.load $push44=, 0($5) + i32.const $push442=, 3 + i32.rem_u $push219=, $pop44, $pop442 + i32.ne $push220=, $pop42, $pop219 + br_if 2, $pop220 # 2: down to label0 +# BB#25: # %if.end154 + # in Loop: Header=BB24_1 Depth=1 + i32.const $23=, 16 + i32.add $23=, $42, $23 + copy_local $1=, $23 + #APP + #NO_APP + i32.const $24=, 16 + i32.add $24=, $42, $24 + call uq6565@FUNCTION, $24, $0 + i32.load $push46=, 16($42):p2align=4 + i32.load $push48=, 0($0):p2align=4 + i32.const $push443=, 6 + i32.div_u $push221=, $pop48, $pop443 + i32.ne $push222=, $pop46, $pop221 + br_if 2, $pop222 # 2: down to label0 +# BB#26: # %lor.lhs.false161 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push47=, 28($42) + i32.load $push49=, 0($3) + i32.const $push444=, 5 + i32.div_u $push223=, $pop49, $pop444 + i32.ne $push224=, $pop47, $pop223 + br_if 2, $pop224 # 2: down to label0 +# BB#27: # %if.end168 + # in Loop: Header=BB24_1 Depth=1 + i32.const $25=, 16 + i32.add $25=, $42, $25 + copy_local $1=, $25 + #APP + #NO_APP + i32.load $push51=, 24($42):p2align=3 + i32.load $push53=, 0($4):p2align=3 + i32.const $push445=, 6 + i32.div_u $push225=, $pop53, $pop445 + i32.ne $push226=, $pop51, $pop225 + br_if 2, $pop226 # 2: down to label0 +# BB#28: # %lor.lhs.false174 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push50=, 20($42) + i32.load $push52=, 0($5) + i32.const $push446=, 5 + i32.div_u $push227=, $pop52, $pop446 + i32.ne $push228=, $pop50, $pop227 + br_if 2, $pop228 # 2: down to label0 +# BB#29: # %if.end181 + # in Loop: Header=BB24_1 Depth=1 + i32.const $26=, 16 + i32.add $26=, $42, $26 + copy_local $1=, $26 + #APP + #NO_APP + i32.const $27=, 16 + i32.add $27=, $42, $27 + call ur6565@FUNCTION, $27, $0 + i32.load $push54=, 16($42):p2align=4 + i32.load $push56=, 0($0):p2align=4 + i32.const $push447=, 6 + i32.rem_u $push229=, $pop56, $pop447 + i32.ne $push230=, $pop54, $pop229 + br_if 2, $pop230 # 2: down to label0 +# BB#30: # %lor.lhs.false188 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push55=, 28($42) + i32.load $push57=, 0($3) + i32.const $push448=, 5 + i32.rem_u $push231=, $pop57, $pop448 + i32.ne $push232=, $pop55, $pop231 + br_if 2, $pop232 # 2: down to label0 +# BB#31: # %if.end195 + # in Loop: Header=BB24_1 Depth=1 + i32.const $28=, 16 + i32.add $28=, $42, $28 + copy_local $1=, $28 + #APP + #NO_APP + i32.load $push59=, 24($42):p2align=3 + i32.load $push61=, 0($4):p2align=3 + i32.const $push449=, 6 + i32.rem_u $push233=, $pop61, $pop449 + i32.ne $push234=, $pop59, $pop233 + br_if 2, $pop234 # 2: down to label0 +# BB#32: # %lor.lhs.false201 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push58=, 20($42) + i32.load $push60=, 0($5) + i32.const $push450=, 5 + i32.rem_u $push235=, $pop60, $pop450 + i32.ne $push236=, $pop58, $pop235 + br_if 2, $pop236 # 2: down to label0 +# BB#33: # %if.end208 + # in Loop: Header=BB24_1 Depth=1 + i32.const $29=, 16 + i32.add $29=, $42, $29 + copy_local $1=, $29 + #APP + #NO_APP + i32.const $30=, 16 + i32.add $30=, $42, $30 + call uq1414146@FUNCTION, $30, $0 + i32.load $push62=, 16($42):p2align=4 + i32.load $push64=, 0($0):p2align=4 + i32.const $push451=, 14 + i32.div_u $push237=, $pop64, $pop451 + i32.ne $push238=, $pop62, $pop237 + br_if 2, $pop238 # 2: down to label0 +# BB#34: # %lor.lhs.false215 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push63=, 28($42) + i32.load $push65=, 0($3) + i32.const $push452=, 6 + i32.div_u $push239=, $pop65, $pop452 + i32.ne $push240=, $pop63, $pop239 + br_if 2, $pop240 # 2: down to label0 +# BB#35: # %if.end222 + # in Loop: Header=BB24_1 Depth=1 + i32.const $31=, 16 + i32.add $31=, $42, $31 + copy_local $1=, $31 + #APP + #NO_APP + i32.load $push67=, 24($42):p2align=3 + i32.load $push69=, 0($4):p2align=3 + i32.const $push453=, 14 + i32.div_u $push241=, $pop69, $pop453 + i32.ne $push242=, $pop67, $pop241 + br_if 2, $pop242 # 2: down to label0 +# BB#36: # %lor.lhs.false228 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push66=, 20($42) + i32.load $push68=, 0($5) + i32.const $push454=, 14 + i32.div_u $push243=, $pop68, $pop454 + i32.ne $push244=, $pop66, $pop243 + br_if 2, $pop244 # 2: down to label0 +# BB#37: # %if.end235 + # in Loop: Header=BB24_1 Depth=1 + i32.const $32=, 16 + i32.add $32=, $42, $32 + copy_local $1=, $32 + #APP + #NO_APP + i32.const $33=, 16 + i32.add $33=, $42, $33 + call ur1414146@FUNCTION, $33, $0 + i32.load $push70=, 16($42):p2align=4 + i32.load $push72=, 0($0):p2align=4 + i32.const $push455=, 14 + i32.rem_u $push245=, $pop72, $pop455 + i32.ne $push246=, $pop70, $pop245 + br_if 2, $pop246 # 2: down to label0 +# BB#38: # %lor.lhs.false242 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push71=, 28($42) + i32.load $push73=, 0($3) + i32.const $push456=, 6 + i32.rem_u $push247=, $pop73, $pop456 + i32.ne $push248=, $pop71, $pop247 + br_if 2, $pop248 # 2: down to label0 +# BB#39: # %if.end249 + # in Loop: Header=BB24_1 Depth=1 + i32.const $34=, 16 + i32.add $34=, $42, $34 + copy_local $1=, $34 + #APP + #NO_APP + i32.load $push75=, 24($42):p2align=3 + i32.load $push77=, 0($4):p2align=3 + i32.const $push457=, 14 + i32.rem_u $push249=, $pop77, $pop457 + i32.ne $push250=, $pop75, $pop249 + br_if 2, $pop250 # 2: down to label0 +# BB#40: # %lor.lhs.false255 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push74=, 20($42) + i32.load $push76=, 0($5) + i32.const $push458=, 14 + i32.rem_u $push251=, $pop76, $pop458 + i32.ne $push252=, $pop74, $pop251 + br_if 2, $pop252 # 2: down to label0 +# BB#41: # %if.end262 + # in Loop: Header=BB24_1 Depth=1 + i32.const $35=, 16 + i32.add $35=, $42, $35 + copy_local $1=, $35 + #APP + #NO_APP + i32.const $36=, 16 + i32.add $36=, $42, $36 + call uq7777@FUNCTION, $36, $0 + i32.load $push78=, 16($42):p2align=4 + i32.load $push80=, 0($0):p2align=4 + i32.const $push459=, 7 + i32.div_u $push253=, $pop80, $pop459 + i32.ne $push254=, $pop78, $pop253 + br_if 2, $pop254 # 2: down to label0 +# BB#42: # %lor.lhs.false269 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push79=, 28($42) + i32.load $push81=, 0($3) + i32.const $push460=, 7 + i32.div_u $push255=, $pop81, $pop460 + i32.ne $push256=, $pop79, $pop255 + br_if 2, $pop256 # 2: down to label0 +# BB#43: # %if.end276 + # in Loop: Header=BB24_1 Depth=1 + i32.const $37=, 16 + i32.add $37=, $42, $37 + copy_local $1=, $37 + #APP + #NO_APP + i32.load $push83=, 24($42):p2align=3 + i32.load $push85=, 0($4):p2align=3 + i32.const $push461=, 7 + i32.div_u $push257=, $pop85, $pop461 + i32.ne $push258=, $pop83, $pop257 + br_if 2, $pop258 # 2: down to label0 +# BB#44: # %lor.lhs.false282 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push82=, 20($42) + i32.load $push84=, 0($5) + i32.const $push462=, 7 + i32.div_u $push259=, $pop84, $pop462 + i32.ne $push260=, $pop82, $pop259 + br_if 2, $pop260 # 2: down to label0 +# BB#45: # %if.end289 + # in Loop: Header=BB24_1 Depth=1 + i32.const $38=, 16 + i32.add $38=, $42, $38 + copy_local $1=, $38 + #APP + #NO_APP + i32.const $39=, 16 + i32.add $39=, $42, $39 + call ur7777@FUNCTION, $39, $0 + i32.load $push86=, 16($42):p2align=4 + i32.load $push88=, 0($0):p2align=4 + i32.const $push463=, 7 + i32.rem_u $push261=, $pop88, $pop463 + i32.ne $push262=, $pop86, $pop261 + br_if 2, $pop262 # 2: down to label0 +# BB#46: # %lor.lhs.false296 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push87=, 28($42) + i32.load $push89=, 0($3) + i32.const $push464=, 7 + i32.rem_u $push263=, $pop89, $pop464 + i32.ne $push264=, $pop87, $pop263 + br_if 2, $pop264 # 2: down to label0 +# BB#47: # %if.end303 + # in Loop: Header=BB24_1 Depth=1 + i32.const $40=, 16 + i32.add $40=, $42, $40 + copy_local $3=, $40 + #APP + #NO_APP + i32.load $push91=, 24($42):p2align=3 + i32.load $push93=, 0($4):p2align=3 + i32.const $push465=, 7 + i32.rem_u $push265=, $pop93, $pop465 + i32.ne $push266=, $pop91, $pop265 + br_if 2, $pop266 # 2: down to label0 +# BB#48: # %lor.lhs.false309 + # in Loop: Header=BB24_1 Depth=1 + i32.load $push90=, 20($42) + i32.load $push92=, 0($5) + i32.const $push466=, 7 + i32.rem_u $push267=, $pop92, $pop466 + i32.ne $push268=, $pop90, $pop267 + br_if 2, $pop268 # 2: down to label0 +# BB#49: # %if.end316 + # in Loop: Header=BB24_1 Depth=1 + i32.const $41=, 16 + i32.add $41=, $42, $41 + copy_local $3=, $41 + #APP + #NO_APP + i32.const $push469=, 1 + i32.add $2=, $2, $pop469 + i32.const $push468=, 16 + i32.add $0=, $0, $pop468 + i32.const $push467=, 2 + i32.lt_u $push269=, $2, $pop467 + br_if 0, $pop269 # 0: up to label1 +# BB#50: + end_loop # label2: + i32.const $1=, 0 + i32.const $0=, s +.LBB24_51: # %for.body319 + # =>This Inner Loop Header: Depth=1 + loop # label3: + call sq4444@FUNCTION, $42, $0 + i32.load $3=, 0($0):p2align=4 + i32.load $push94=, 0($42):p2align=4 + i32.const $push472=, 31 + i32.shr_s $push270=, $3, $pop472 + i32.const $push471=, 30 + i32.shr_u $push271=, $pop270, $pop471 + i32.add $push272=, $3, $pop271 + i32.const $push470=, 2 + i32.shr_s $push273=, $pop272, $pop470 + i32.ne $push274=, $pop94, $pop273 + br_if 2, $pop274 # 2: down to label0 +# BB#52: # %lor.lhs.false326 + # in Loop: Header=BB24_51 Depth=1 + i32.const $push478=, 12 + i32.add $push477=, $0, $pop478 + tee_local $push476=, $3=, $pop477 + i32.load $4=, 0($pop476) + i32.load $push95=, 12($42) + i32.const $push475=, 31 + i32.shr_s $push275=, $4, $pop475 + i32.const $push474=, 30 + i32.shr_u $push276=, $pop275, $pop474 + i32.add $push277=, $4, $pop276 + i32.const $push473=, 2 + i32.shr_s $push278=, $pop277, $pop473 + i32.ne $push279=, $pop95, $pop278 + br_if 2, $pop279 # 2: down to label0 +# BB#53: # %if.end333 + # in Loop: Header=BB24_51 Depth=1 + copy_local $4=, $42 + #APP + #NO_APP + i32.const $push484=, 8 + i32.add $push483=, $0, $pop484 + tee_local $push482=, $4=, $pop483 + i32.load $5=, 0($pop482):p2align=3 + i32.load $push97=, 8($42):p2align=3 + i32.const $push481=, 31 + i32.shr_s $push280=, $5, $pop481 + i32.const $push480=, 30 + i32.shr_u $push281=, $pop280, $pop480 + i32.add $push282=, $5, $pop281 + i32.const $push479=, 2 + i32.shr_s $push283=, $pop282, $pop479 + i32.ne $push284=, $pop97, $pop283 + br_if 2, $pop284 # 2: down to label0 +# BB#54: # %lor.lhs.false339 + # in Loop: Header=BB24_51 Depth=1 + i32.const $push490=, 4 + i32.add $push489=, $0, $pop490 + tee_local $push488=, $5=, $pop489 + i32.load $2=, 0($pop488) + i32.load $push96=, 4($42) + i32.const $push487=, 31 + i32.shr_s $push285=, $2, $pop487 + i32.const $push486=, 30 + i32.shr_u $push286=, $pop285, $pop486 + i32.add $push287=, $2, $pop286 + i32.const $push485=, 2 + i32.shr_s $push288=, $pop287, $pop485 + i32.ne $push289=, $pop96, $pop288 + br_if 2, $pop289 # 2: down to label0 +# BB#55: # %if.end346 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + call sr4444@FUNCTION, $42, $0 + i32.load $2=, 0($0):p2align=4 + i32.load $push98=, 0($42):p2align=4 + i32.const $push493=, 31 + i32.shr_s $push290=, $2, $pop493 + i32.const $push492=, 30 + i32.shr_u $push291=, $pop290, $pop492 + i32.add $push292=, $2, $pop291 + i32.const $push491=, -4 + i32.and $push293=, $pop292, $pop491 + i32.sub $push294=, $2, $pop293 + i32.ne $push295=, $pop98, $pop294 + br_if 2, $pop295 # 2: down to label0 +# BB#56: # %lor.lhs.false353 + # in Loop: Header=BB24_51 Depth=1 + i32.load $2=, 0($3) + i32.load $push99=, 12($42) + i32.const $push496=, 31 + i32.shr_s $push296=, $2, $pop496 + i32.const $push495=, 30 + i32.shr_u $push297=, $pop296, $pop495 + i32.add $push298=, $2, $pop297 + i32.const $push494=, -4 + i32.and $push299=, $pop298, $pop494 + i32.sub $push300=, $2, $pop299 + i32.ne $push301=, $pop99, $pop300 + br_if 2, $pop301 # 2: down to label0 +# BB#57: # %if.end360 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + i32.load $2=, 0($4):p2align=3 + i32.load $push101=, 8($42):p2align=3 + i32.const $push499=, 31 + i32.shr_s $push302=, $2, $pop499 + i32.const $push498=, 30 + i32.shr_u $push303=, $pop302, $pop498 + i32.add $push304=, $2, $pop303 + i32.const $push497=, -4 + i32.and $push305=, $pop304, $pop497 + i32.sub $push306=, $2, $pop305 + i32.ne $push307=, $pop101, $pop306 + br_if 2, $pop307 # 2: down to label0 +# BB#58: # %lor.lhs.false366 + # in Loop: Header=BB24_51 Depth=1 + i32.load $2=, 0($5) + i32.load $push100=, 4($42) + i32.const $push502=, 31 + i32.shr_s $push308=, $2, $pop502 + i32.const $push501=, 30 + i32.shr_u $push309=, $pop308, $pop501 + i32.add $push310=, $2, $pop309 + i32.const $push500=, -4 + i32.and $push311=, $pop310, $pop500 + i32.sub $push312=, $2, $pop311 + i32.ne $push313=, $pop100, $pop312 + br_if 2, $pop313 # 2: down to label0 +# BB#59: # %if.end373 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + call sq1428@FUNCTION, $42, $0 + i32.load $push102=, 0($42):p2align=4 + i32.load $push104=, 0($0):p2align=4 + i32.ne $push314=, $pop102, $pop104 + br_if 2, $pop314 # 2: down to label0 +# BB#60: # %lor.lhs.false380 + # in Loop: Header=BB24_51 Depth=1 + i32.load $2=, 0($3) + i32.load $push103=, 12($42) + i32.const $push505=, 31 + i32.shr_s $push315=, $2, $pop505 + i32.const $push504=, 29 + i32.shr_u $push316=, $pop315, $pop504 + i32.add $push317=, $2, $pop316 + i32.const $push503=, 3 + i32.shr_s $push318=, $pop317, $pop503 + i32.ne $push319=, $pop103, $pop318 + br_if 2, $pop319 # 2: down to label0 +# BB#61: # %if.end387 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + i32.load $2=, 0($4):p2align=3 + i32.load $push106=, 8($42):p2align=3 + i32.const $push507=, 31 + i32.shr_u $push320=, $2, $pop507 + i32.add $push321=, $2, $pop320 + i32.const $push506=, 1 + i32.shr_s $push322=, $pop321, $pop506 + i32.ne $push323=, $pop106, $pop322 + br_if 2, $pop323 # 2: down to label0 +# BB#62: # %lor.lhs.false393 + # in Loop: Header=BB24_51 Depth=1 + i32.load $2=, 0($5) + i32.load $push105=, 4($42) + i32.const $push510=, 31 + i32.shr_s $push324=, $2, $pop510 + i32.const $push509=, 30 + i32.shr_u $push325=, $pop324, $pop509 + i32.add $push326=, $2, $pop325 + i32.const $push508=, 2 + i32.shr_s $push327=, $pop326, $pop508 + i32.ne $push328=, $pop105, $pop327 + br_if 2, $pop328 # 2: down to label0 +# BB#63: # %if.end400 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + call sr1428@FUNCTION, $42, $0 + i32.load $push107=, 0($42):p2align=4 + br_if 2, $pop107 # 2: down to label0 +# BB#64: # %lor.lhs.false407 + # in Loop: Header=BB24_51 Depth=1 + i32.load $2=, 0($3) + i32.load $push108=, 12($42) + i32.const $push513=, 31 + i32.shr_s $push329=, $2, $pop513 + i32.const $push512=, 29 + i32.shr_u $push330=, $pop329, $pop512 + i32.add $push331=, $2, $pop330 + i32.const $push511=, -8 + i32.and $push332=, $pop331, $pop511 + i32.sub $push333=, $2, $pop332 + i32.ne $push334=, $pop108, $pop333 + br_if 2, $pop334 # 2: down to label0 +# BB#65: # %if.end414 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + i32.load $2=, 0($4):p2align=3 + i32.load $push110=, 8($42):p2align=3 + i32.const $push515=, 31 + i32.shr_u $push335=, $2, $pop515 + i32.add $push336=, $2, $pop335 + i32.const $push514=, -2 + i32.and $push337=, $pop336, $pop514 + i32.sub $push338=, $2, $pop337 + i32.ne $push339=, $pop110, $pop338 + br_if 2, $pop339 # 2: down to label0 +# BB#66: # %lor.lhs.false420 + # in Loop: Header=BB24_51 Depth=1 + i32.load $2=, 0($5) + i32.load $push109=, 4($42) + i32.const $push518=, 31 + i32.shr_s $push340=, $2, $pop518 + i32.const $push517=, 30 + i32.shr_u $push341=, $pop340, $pop517 + i32.add $push342=, $2, $pop341 + i32.const $push516=, -4 + i32.and $push343=, $pop342, $pop516 + i32.sub $push344=, $2, $pop343 + i32.ne $push345=, $pop109, $pop344 + br_if 2, $pop345 # 2: down to label0 +# BB#67: # %if.end427 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + call sq3333@FUNCTION, $42, $0 + i32.load $push111=, 0($42):p2align=4 + i32.load $push113=, 0($0):p2align=4 + i32.const $push519=, 3 + i32.div_s $push346=, $pop113, $pop519 + i32.ne $push347=, $pop111, $pop346 + br_if 2, $pop347 # 2: down to label0 +# BB#68: # %lor.lhs.false434 + # in Loop: Header=BB24_51 Depth=1 + i32.load $push112=, 12($42) + i32.load $push114=, 0($3) + i32.const $push520=, 3 + i32.div_s $push348=, $pop114, $pop520 + i32.ne $push349=, $pop112, $pop348 + br_if 2, $pop349 # 2: down to label0 +# BB#69: # %if.end441 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + i32.load $push116=, 8($42):p2align=3 + i32.load $push118=, 0($4):p2align=3 + i32.const $push521=, 3 + i32.div_s $push350=, $pop118, $pop521 + i32.ne $push351=, $pop116, $pop350 + br_if 2, $pop351 # 2: down to label0 +# BB#70: # %lor.lhs.false447 + # in Loop: Header=BB24_51 Depth=1 + i32.load $push115=, 4($42) + i32.load $push117=, 0($5) + i32.const $push522=, 3 + i32.div_s $push352=, $pop117, $pop522 + i32.ne $push353=, $pop115, $pop352 + br_if 2, $pop353 # 2: down to label0 +# BB#71: # %if.end454 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + call sr3333@FUNCTION, $42, $0 + i32.load $push119=, 0($42):p2align=4 + i32.load $push121=, 0($0):p2align=4 + i32.const $push523=, 3 + i32.rem_s $push354=, $pop121, $pop523 + i32.ne $push355=, $pop119, $pop354 + br_if 2, $pop355 # 2: down to label0 +# BB#72: # %lor.lhs.false461 + # in Loop: Header=BB24_51 Depth=1 + i32.load $push120=, 12($42) + i32.load $push122=, 0($3) + i32.const $push524=, 3 + i32.rem_s $push356=, $pop122, $pop524 + i32.ne $push357=, $pop120, $pop356 + br_if 2, $pop357 # 2: down to label0 +# BB#73: # %if.end468 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + i32.load $push124=, 8($42):p2align=3 + i32.load $push126=, 0($4):p2align=3 + i32.const $push525=, 3 + i32.rem_s $push358=, $pop126, $pop525 + i32.ne $push359=, $pop124, $pop358 + br_if 2, $pop359 # 2: down to label0 +# BB#74: # %lor.lhs.false474 + # in Loop: Header=BB24_51 Depth=1 + i32.load $push123=, 4($42) + i32.load $push125=, 0($5) + i32.const $push526=, 3 + i32.rem_s $push360=, $pop125, $pop526 + i32.ne $push361=, $pop123, $pop360 + br_if 2, $pop361 # 2: down to label0 +# BB#75: # %if.end481 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + call sq6565@FUNCTION, $42, $0 + i32.load $push127=, 0($42):p2align=4 + i32.load $push129=, 0($0):p2align=4 + i32.const $push527=, 6 + i32.div_s $push362=, $pop129, $pop527 + i32.ne $push363=, $pop127, $pop362 + br_if 2, $pop363 # 2: down to label0 +# BB#76: # %lor.lhs.false488 + # in Loop: Header=BB24_51 Depth=1 + i32.load $push128=, 12($42) + i32.load $push130=, 0($3) + i32.const $push528=, 5 + i32.div_s $push364=, $pop130, $pop528 + i32.ne $push365=, $pop128, $pop364 + br_if 2, $pop365 # 2: down to label0 +# BB#77: # %if.end495 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + i32.load $push132=, 8($42):p2align=3 + i32.load $push134=, 0($4):p2align=3 + i32.const $push529=, 6 + i32.div_s $push366=, $pop134, $pop529 + i32.ne $push367=, $pop132, $pop366 + br_if 2, $pop367 # 2: down to label0 +# BB#78: # %lor.lhs.false501 + # in Loop: Header=BB24_51 Depth=1 + i32.load $push131=, 4($42) + i32.load $push133=, 0($5) + i32.const $push530=, 5 + i32.div_s $push368=, $pop133, $pop530 + i32.ne $push369=, $pop131, $pop368 + br_if 2, $pop369 # 2: down to label0 +# BB#79: # %if.end508 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + call sr6565@FUNCTION, $42, $0 + i32.load $push135=, 0($42):p2align=4 + i32.load $push137=, 0($0):p2align=4 + i32.const $push531=, 6 + i32.rem_s $push370=, $pop137, $pop531 + i32.ne $push371=, $pop135, $pop370 + br_if 2, $pop371 # 2: down to label0 +# BB#80: # %lor.lhs.false515 + # in Loop: Header=BB24_51 Depth=1 + i32.load $push136=, 12($42) + i32.load $push138=, 0($3) + i32.const $push532=, 5 + i32.rem_s $push372=, $pop138, $pop532 + i32.ne $push373=, $pop136, $pop372 + br_if 2, $pop373 # 2: down to label0 +# BB#81: # %if.end522 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + i32.load $push140=, 8($42):p2align=3 + i32.load $push142=, 0($4):p2align=3 + i32.const $push533=, 6 + i32.rem_s $push374=, $pop142, $pop533 + i32.ne $push375=, $pop140, $pop374 + br_if 2, $pop375 # 2: down to label0 +# BB#82: # %lor.lhs.false528 + # in Loop: Header=BB24_51 Depth=1 + i32.load $push139=, 4($42) + i32.load $push141=, 0($5) + i32.const $push534=, 5 + i32.rem_s $push376=, $pop141, $pop534 + i32.ne $push377=, $pop139, $pop376 + br_if 2, $pop377 # 2: down to label0 +# BB#83: # %if.end535 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + call sq1414146@FUNCTION, $42, $0 + i32.load $push143=, 0($42):p2align=4 + i32.load $push145=, 0($0):p2align=4 + i32.const $push535=, 14 + i32.div_s $push378=, $pop145, $pop535 + i32.ne $push379=, $pop143, $pop378 + br_if 2, $pop379 # 2: down to label0 +# BB#84: # %lor.lhs.false542 + # in Loop: Header=BB24_51 Depth=1 + i32.load $push144=, 12($42) + i32.load $push146=, 0($3) + i32.const $push536=, 6 + i32.div_s $push380=, $pop146, $pop536 + i32.ne $push381=, $pop144, $pop380 + br_if 2, $pop381 # 2: down to label0 +# BB#85: # %if.end549 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + i32.load $push148=, 8($42):p2align=3 + i32.load $push150=, 0($4):p2align=3 + i32.const $push537=, 14 + i32.div_s $push382=, $pop150, $pop537 + i32.ne $push383=, $pop148, $pop382 + br_if 2, $pop383 # 2: down to label0 +# BB#86: # %lor.lhs.false555 + # in Loop: Header=BB24_51 Depth=1 + i32.load $push147=, 4($42) + i32.load $push149=, 0($5) + i32.const $push538=, 14 + i32.div_s $push384=, $pop149, $pop538 + i32.ne $push385=, $pop147, $pop384 + br_if 2, $pop385 # 2: down to label0 +# BB#87: # %if.end562 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + call sr1414146@FUNCTION, $42, $0 + i32.load $push151=, 0($42):p2align=4 + i32.load $push153=, 0($0):p2align=4 + i32.const $push539=, 14 + i32.rem_s $push386=, $pop153, $pop539 + i32.ne $push387=, $pop151, $pop386 + br_if 2, $pop387 # 2: down to label0 +# BB#88: # %lor.lhs.false569 + # in Loop: Header=BB24_51 Depth=1 + i32.load $push152=, 12($42) + i32.load $push154=, 0($3) + i32.const $push540=, 6 + i32.rem_s $push388=, $pop154, $pop540 + i32.ne $push389=, $pop152, $pop388 + br_if 2, $pop389 # 2: down to label0 +# BB#89: # %if.end576 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + i32.load $push156=, 8($42):p2align=3 + i32.load $push158=, 0($4):p2align=3 + i32.const $push541=, 14 + i32.rem_s $push390=, $pop158, $pop541 + i32.ne $push391=, $pop156, $pop390 + br_if 2, $pop391 # 2: down to label0 +# BB#90: # %lor.lhs.false582 + # in Loop: Header=BB24_51 Depth=1 + i32.load $push155=, 4($42) + i32.load $push157=, 0($5) + i32.const $push542=, 14 + i32.rem_s $push392=, $pop157, $pop542 + i32.ne $push393=, $pop155, $pop392 + br_if 2, $pop393 # 2: down to label0 +# BB#91: # %if.end589 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + call sq7777@FUNCTION, $42, $0 + i32.load $push159=, 0($42):p2align=4 + i32.load $push161=, 0($0):p2align=4 + i32.const $push543=, 7 + i32.div_s $push394=, $pop161, $pop543 + i32.ne $push395=, $pop159, $pop394 + br_if 2, $pop395 # 2: down to label0 +# BB#92: # %lor.lhs.false596 + # in Loop: Header=BB24_51 Depth=1 + i32.load $push160=, 12($42) + i32.load $push162=, 0($3) + i32.const $push544=, 7 + i32.div_s $push396=, $pop162, $pop544 + i32.ne $push397=, $pop160, $pop396 + br_if 2, $pop397 # 2: down to label0 +# BB#93: # %if.end603 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + i32.load $push164=, 8($42):p2align=3 + i32.load $push166=, 0($4):p2align=3 + i32.const $push545=, 7 + i32.div_s $push398=, $pop166, $pop545 + i32.ne $push399=, $pop164, $pop398 + br_if 2, $pop399 # 2: down to label0 +# BB#94: # %lor.lhs.false609 + # in Loop: Header=BB24_51 Depth=1 + i32.load $push163=, 4($42) + i32.load $push165=, 0($5) + i32.const $push546=, 7 + i32.div_s $push400=, $pop165, $pop546 + i32.ne $push401=, $pop163, $pop400 + br_if 2, $pop401 # 2: down to label0 +# BB#95: # %if.end616 + # in Loop: Header=BB24_51 Depth=1 + copy_local $2=, $42 + #APP + #NO_APP + call sr7777@FUNCTION, $42, $0 + i32.load $push167=, 0($42):p2align=4 + i32.load $push169=, 0($0):p2align=4 + i32.const $push547=, 7 + i32.rem_s $push402=, $pop169, $pop547 + i32.ne $push403=, $pop167, $pop402 + br_if 2, $pop403 # 2: down to label0 +# BB#96: # %lor.lhs.false623 + # in Loop: Header=BB24_51 Depth=1 + i32.load $push168=, 12($42) + i32.load $push170=, 0($3) + i32.const $push548=, 7 + i32.rem_s $push404=, $pop170, $pop548 + i32.ne $push405=, $pop168, $pop404 + br_if 2, $pop405 # 2: down to label0 +# BB#97: # %if.end630 + # in Loop: Header=BB24_51 Depth=1 + copy_local $3=, $42 + #APP + #NO_APP + i32.load $push172=, 8($42):p2align=3 + i32.load $push174=, 0($4):p2align=3 + i32.const $push549=, 7 + i32.rem_s $push406=, $pop174, $pop549 + i32.ne $push407=, $pop172, $pop406 + br_if 2, $pop407 # 2: down to label0 +# BB#98: # %lor.lhs.false636 + # in Loop: Header=BB24_51 Depth=1 + i32.load $push171=, 4($42) + i32.load $push173=, 0($5) + i32.const $push550=, 7 + i32.rem_s $push408=, $pop173, $pop550 + i32.ne $push409=, $pop171, $pop408 + br_if 2, $pop409 # 2: down to label0 +# BB#99: # %if.end643 + # in Loop: Header=BB24_51 Depth=1 + copy_local $3=, $42 + #APP + #NO_APP + i32.const $push553=, 1 + i32.add $1=, $1, $pop553 + i32.const $push552=, 16 + i32.add $0=, $0, $pop552 + i32.const $push551=, 2 + i32.lt_u $push410=, $1, $pop551 + br_if 0, $pop410 # 0: up to label3 +# BB#100: # %for.end646 + end_loop # label4: + i32.const $push411=, 0 + i32.const $push558=, 32 + i32.add $42=, $42, $pop558 + i32.const $push559=, __stack_pointer + i32.store $discard=, 0($pop559), $42 + return $pop411 +.LBB24_101: # %if.then642 + end_block # label0: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end24: + .size main, .Lfunc_end24-main + + .hidden u # @u + .type u,@object + .section .data.u,"aw",@progbits + .globl u + .p2align 4 +u: + .int32 73 # 0x49 + .int32 65531 # 0xfffb + .int32 0 # 0x0 + .int32 174 # 0xae + .int32 1 # 0x1 + .int32 8173 # 0x1fed + .int32 4294967295 # 0xffffffff + .int32 4294967232 # 0xffffffc0 + .size u, 32 + + .hidden s # @s + .type s,@object + .section .data.s,"aw",@progbits + .globl s + .p2align 4 +s: + .int32 73 # 0x49 + .int32 4294958173 # 0xffffdc5d + .int32 32761 # 0x7ff9 + .int32 8191 # 0x1fff + .int32 9903 # 0x26af + .int32 4294967295 # 0xffffffff + .int32 4294959973 # 0xffffe365 + .int32 0 # 0x0 + .size s, 32 + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/pr54471.c.s b/test/torture-s/pr54471.c.s index b096e9c78..4fbd8dd73 100644 --- a/test/torture-s/pr54471.c.s +++ b/test/torture-s/pr54471.c.s @@ -6,38 +6,38 @@ .type foo,@function foo: # @foo .param i32, i64, i64, i32 - .local i64, i64, i32, i32, i32, i32, i32, i32 + .local i64, i64, 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 $push14=, __stack_pointer + i32.load $push15=, 0($pop14) + i32.const $push16=, 32 + i32.sub $8=, $pop15, $pop16 + i32.const $push17=, __stack_pointer + i32.store $discard=, 0($pop17), $8 block - i32.const $push14=, 0 - i32.eq $push15=, $3, $pop14 - br_if 0, $pop15 # 0: down to label0 + i32.const $push20=, 0 + i32.eq $push21=, $3, $pop20 + br_if 0, $pop21 # 0: down to label0 # BB#1: i64.const $5=, 0 i64.const $4=, 1 .LBB0_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label1: - call __multi3@FUNCTION, $11, $1, $2, $4, $5 + call __multi3@FUNCTION, $8, $1, $2, $4, $5 i32.const $push9=, 8 - i32.add $push0=, $11, $pop9 + i32.add $push0=, $8, $pop9 i64.load $5=, 0($pop0) - i64.load $4=, 0($11) - i32.const $9=, 16 - i32.add $9=, $11, $9 - call __multi3@FUNCTION, $9, $1, $2, $1, $2 + i64.load $4=, 0($8) + i32.const $6=, 16 + i32.add $6=, $8, $6 + call __multi3@FUNCTION, $6, $1, $2, $1, $2 i32.const $push8=, 8 - i32.const $10=, 16 - i32.add $10=, $11, $10 - i32.add $push1=, $10, $pop8 + i32.const $7=, 16 + i32.add $7=, $8, $7 + i32.add $push1=, $7, $pop8 i64.load $2=, 0($pop1) - i64.load $1=, 16($11) + i64.load $1=, 16($8) i32.const $push7=, -1 i32.add $3=, $3, $pop7 br_if 0, $3 # 0: up to label1 @@ -56,10 +56,10 @@ foo: # @foo i32.add $push6=, $0, $pop5 i64.const $push12=, 0 i64.store $discard=, 0($pop6), $pop12 - i32.const $8=, 32 - i32.add $11=, $11, $8 - i32.const $8=, __stack_pointer - i32.store $11=, 0($8), $11 + i32.const $push18=, 32 + i32.add $8=, $8, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $8 return .LBB0_5: # %if.then end_block # label0: @@ -75,23 +75,23 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $0=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $0 i64.const $push2=, 3 i64.const $push1=, 0 i32.const $push0=, 4 - call foo@FUNCTION, $3, $pop2, $pop1, $pop0 + call foo@FUNCTION, $0, $pop2, $pop1, $pop0 i32.const $push3=, 0 - i32.const $2=, 16 - i32.add $3=, $3, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 + i32.const $push8=, 16 + i32.add $0=, $0, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $0 return $pop3 .endfunc .Lfunc_end1: diff --git a/test/torture-s/pr54985.c.s b/test/torture-s/pr54985.c.s index 199632642..e06c524e8 100644 --- a/test/torture-s/pr54985.c.s +++ b/test/torture-s/pr54985.c.s @@ -11,22 +11,21 @@ foo: # @foo # BB#0: # %entry block block - block i32.const $push5=, 0 i32.eq $push6=, $1, $pop5 - br_if 0, $pop6 # 0: down to label2 + br_if 0, $pop6 # 0: down to label1 # BB#1: # %while.body.preheader i32.load $4=, 0($0) i32.const $push0=, 4 i32.add $0=, $0, $pop0 .LBB0_2: # %while.cond # =>This Inner Loop Header: Depth=1 - loop # label3: + loop # label2: i32.const $push1=, -1 i32.add $1=, $1, $pop1 i32.const $push7=, 0 i32.eq $push8=, $1, $pop7 - br_if 3, $pop8 # 3: down to label1 + br_if 3, $pop8 # 3: down to label0 # BB#3: # %while.cond.while.body_crit_edge # in Loop: Header=BB0_2 Depth=1 i32.const $push4=, 4 @@ -37,18 +36,17 @@ foo: # @foo copy_local $0=, $2 copy_local $4=, $5 i32.const $2=, 1 - br_if 0, $3 # 0: up to label3 - br 4 # 4: down to label0 -.LBB0_4: - end_loop # label4: - end_block # label2: - i32.const $2=, 0 - br 1 # 1: down to label0 + br_if 0, $3 # 0: up to label2 +# BB#4: # %cleanup + end_loop # label3: + return $2 .LBB0_5: end_block # label1: i32.const $2=, 0 -.LBB0_6: # %cleanup + return $2 +.LBB0_6: end_block # label0: + i32.const $2=, 0 return $2 .endfunc .Lfunc_end0: @@ -60,31 +58,31 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $1=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $1 i64.const $push0=, 4294967298 - i64.store $discard=, 8($4), $pop0 + i64.store $discard=, 8($1), $pop0 i32.const $push1=, 2 - i32.const $3=, 8 - i32.add $3=, $4, $3 + i32.const $0=, 8 + i32.add $0=, $1, $0 block - i32.call $push2=, foo@FUNCTION, $3, $pop1 - br_if 0, $pop2 # 0: down to label5 + i32.call $push2=, foo@FUNCTION, $0, $pop1 + br_if 0, $pop2 # 0: down to label4 # BB#1: # %if.end i32.const $push3=, 0 - i32.const $2=, 16 - i32.add $4=, $4, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 + i32.const $push8=, 16 + i32.add $1=, $1, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $1 return $pop3 .LBB1_2: # %if.then - end_block # label5: + end_block # label4: call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/pr56205.c.s b/test/torture-s/pr56205.c.s index 582a1b679..06d65c526 100644 --- a/test/torture-s/pr56205.c.s +++ b/test/torture-s/pr56205.c.s @@ -6,90 +6,78 @@ .type f4,@function f4: # @f4 .param i32, i32, 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 $11=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $11=, 0($6), $11 - i32.store $discard=, 28($11), $2 + i32.const $push21=, __stack_pointer + i32.load $push22=, 0($pop21) + i32.const $push23=, 32 + i32.sub $6=, $pop22, $pop23 + i32.const $push24=, __stack_pointer + i32.store $discard=, 0($pop24), $6 + i32.store $discard=, 28($6), $2 block br_if 0, $0 # 0: down to label0 # BB#1: # %entry - i32.const $push22=, 0 - i32.load8_u $push1=, c($pop22):p2align=4 + i32.const $push14=, 0 + i32.load8_u $push1=, c($pop14):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 $push23=, 0 - i32.load $push5=, b($pop23) + i32.const $push15=, 0 + i32.load $push5=, b($pop15) i32.const $push6=, 1 i32.add $push7=, $pop5, $pop6 i32.store $discard=, b($pop4), $pop7 .LBB0_3: # %if.end end_block # label0: - i32.const $push26=, .L.str.3 + i32.const $push18=, .L.str.3 i32.const $push8=, .L.str.1 - 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.select $0=, $pop18, $pop8, $0 + i32.load $3=, 28($6) + i32.const $push17=, 0 + i32.const $push16=, 0 + i32.load $push9=, a($pop16) i32.const $push10=, 1 i32.add $push0=, $pop9, $pop10 - i32.store $2=, a($pop25), $pop0 + i32.store $2=, a($pop17), $pop0 block block - i32.const $push29=, 0 - i32.eq $push30=, $1, $pop29 - br_if 0, $pop30 # 0: down to label2 + i32.const $push27=, 0 + i32.eq $push28=, $1, $pop27 + br_if 0, $pop28 # 0: down to label2 # BB#4: # %land.rhs.i i32.load8_u $4=, 0($1) - 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.store $discard=, 20($6), $2 + i32.store $discard=, 16($6):p2align=4, $0 i32.const $push11=, .L.str.4 - 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 + i32.const $push19=, .L.str.3 + i32.select $push12=, $pop11, $pop19, $4 + i32.store $discard=, 24($6):p2align=3, $pop12 + i32.const $5=, 16 + i32.add $5=, $6, $5 + call f1@FUNCTION, $1, $5 + i32.load8_u $push13=, 0($1) + i32.const $push29=, 0 + i32.eq $push30=, $pop13, $pop29 + br_if 1, $pop30 # 1: down to label1 # BB#5: # %if.then.i call f2@FUNCTION, $1, $3 br 1 # 1: down to label1 .LBB0_6: # %if.end.critedge.i end_block # label2: - 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 + i32.const $push20=, .L.str.3 + i32.store $discard=, 8($6):p2align=3, $pop20 + i32.store $discard=, 4($6), $2 + i32.store $discard=, 0($6):p2align=4, $0 + call f1@FUNCTION, $1, $6 .LBB0_7: # %f3.exit end_block # label1: - i32.const $7=, 32 - i32.add $11=, $11, $7 - i32.const $7=, __stack_pointer - i32.store $11=, 0($7), $11 + i32.const $push25=, 32 + i32.add $6=, $6, $pop25 + i32.const $push26=, __stack_pointer + i32.store $discard=, 0($pop26), $6 return .endfunc .Lfunc_end0: @@ -101,48 +89,46 @@ f4: # @f4 .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 32 + i32.sub $0=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $0 #APP #NO_APP i32.const $push1=, 16 - i32.add $push2=, $3, $pop1 + i32.add $push2=, $0, $pop1 i32.const $push3=, 26 i32.store $discard=, 0($pop2):p2align=4, $pop3 - i32.const $push4=, 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 + i64.const $push4=, 4622945017495814144 + i64.store $discard=, 8($0), $pop4 + i32.const $push5=, .L.str.1 + i32.store $discard=, 0($0):p2align=4, $pop5 + i32.const $push13=, 0 + i32.const $push6=, .L.str + call f4@FUNCTION, $pop13, $pop6, $0 block - 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 + 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 # BB#1: # %entry - 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 + 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 # BB#2: # %if.end - 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 + i32.const $push10=, 0 + i32.const $push20=, 32 + i32.add $0=, $0, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $0 + return $pop10 .LBB1_3: # %if.then end_block # label3: call abort@FUNCTION @@ -155,65 +141,49 @@ main: # @main .type f1,@function f1: # @f1 .param i32, i32 - .local i32, i32, i32, i32 + .local 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 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $push17=, __stack_pointer + i32.load $push18=, 0($pop17) + i32.const $push19=, 16 + i32.sub $4=, $pop18, $pop19 + i32.const $push20=, __stack_pointer + i32.store $discard=, 0($pop20), $4 #APP #NO_APP - i32.store $push0=, 12($5), $1 - i32.const $push25=, 3 - i32.add $push1=, $pop0, $pop25 - i32.const $push24=, -4 - i32.and $push23=, $pop1, $pop24 - tee_local $push22=, $1=, $pop23 - i32.const $push21=, 4 - i32.add $push2=, $pop22, $pop21 - i32.store $discard=, 12($5), $pop2 + i32.store $push16=, 12($4), $1 + tee_local $push15=, $1=, $pop16 + i32.const $push0=, 4 + i32.add $push1=, $pop15, $pop0 + i32.store $2=, 12($4), $pop1 block - i32.load $push3=, 0($1) - i32.const $push4=, .L.str.1 - i32.call $push5=, strcmp@FUNCTION, $pop3, $pop4 - br_if 0, $pop5 # 0: down to label4 + i32.load $push2=, 0($1) + i32.const $push3=, .L.str.1 + i32.call $push4=, strcmp@FUNCTION, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label4 # BB#1: # %lor.lhs.false - i32.load $push6=, 12($5) - i32.const $push30=, 3 - i32.add $push7=, $pop6, $pop30 - i32.const $push29=, -4 - i32.and $push28=, $pop7, $pop29 - tee_local $push27=, $1=, $pop28 - i32.const $push26=, 4 - i32.add $push8=, $pop27, $pop26 - i32.store $discard=, 12($5), $pop8 - i32.load $push9=, 0($1) - i32.const $push10=, 1 - i32.ne $push11=, $pop9, $pop10 - br_if 0, $pop11 # 0: down to label4 -# BB#2: # %lor.lhs.false5 - i32.load $push12=, 12($5) - i32.const $push13=, 3 - i32.add $push14=, $pop12, $pop13 - i32.const $push15=, -4 - i32.and $push32=, $pop14, $pop15 - tee_local $push31=, $1=, $pop32 - i32.const $push16=, 4 - i32.add $push17=, $pop31, $pop16 - i32.store $discard=, 12($5), $pop17 - i32.load $push18=, 0($1) - i32.const $push19=, .L.str.4 - i32.call $push20=, strcmp@FUNCTION, $pop18, $pop19 - br_if 0, $pop20 # 0: down to label4 -# BB#3: # %if.end9 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push5=, 8 + i32.add $push6=, $1, $pop5 + i32.store $3=, 12($4), $pop6 + i32.load $push7=, 0($2) + i32.const $push8=, 1 + i32.ne $push9=, $pop7, $pop8 + br_if 0, $pop9 # 0: down to label4 +# BB#2: # %lor.lhs.false7 + i32.const $push10=, 12 + i32.add $push11=, $1, $pop10 + i32.store $discard=, 12($4), $pop11 + i32.load $push12=, 0($3) + i32.const $push13=, .L.str.4 + i32.call $push14=, strcmp@FUNCTION, $pop12, $pop13 + br_if 0, $pop14 # 0: down to label4 +# BB#3: # %if.end13 + i32.const $push21=, 16 + i32.add $4=, $4, $pop21 + i32.const $push22=, __stack_pointer + i32.store $discard=, 0($pop22), $4 return -.LBB2_4: # %if.then8 +.LBB2_4: # %if.then12 end_block # label4: call abort@FUNCTION unreachable @@ -225,15 +195,7 @@ f1: # @f1 .type f2,@function f2: # @f2 .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 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $discard=, 12($5), $1 #APP #NO_APP block @@ -241,52 +203,26 @@ f2: # @f2 i32.call $push1=, strcmp@FUNCTION, $0, $pop0 br_if 0, $pop1 # 0: down to label5 # BB#1: # %lor.lhs.false - i32.load $push2=, 12($5) - i32.const $push3=, 3 - i32.add $push4=, $pop2, $pop3 - i32.const $push5=, -4 - i32.and $push30=, $pop4, $pop5 - tee_local $push29=, $0=, $pop30 - i32.const $push6=, 4 - i32.add $push7=, $pop29, $pop6 - i32.store $discard=, 12($5), $pop7 - i32.load $push8=, 0($0) - i32.const $push9=, .L.str.1 - i32.call $push10=, strcmp@FUNCTION, $pop8, $pop9 - br_if 0, $pop10 # 0: down to label5 + i32.load $push2=, 0($1) + i32.const $push3=, .L.str.1 + i32.call $push4=, strcmp@FUNCTION, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label5 # BB#2: # %lor.lhs.false3 - i32.load $push11=, 12($5) - i32.const $push12=, 7 - i32.add $push13=, $pop11, $pop12 - i32.const $push14=, -8 - i32.and $push32=, $pop13, $pop14 - tee_local $push31=, $0=, $pop32 - i32.const $push15=, 8 - i32.add $push16=, $pop31, $pop15 - i32.store $discard=, 12($5), $pop16 - f64.load $push17=, 0($0) - f64.const $push18=, 0x1.8p3 - f64.ne $push19=, $pop17, $pop18 - br_if 0, $pop19 # 0: down to label5 -# BB#3: # %lor.lhs.false5 - i32.load $push20=, 12($5) - i32.const $push21=, 3 - i32.add $push22=, $pop20, $pop21 - i32.const $push23=, -4 - i32.and $push34=, $pop22, $pop23 - tee_local $push33=, $0=, $pop34 - i32.const $push24=, 4 - i32.add $push25=, $pop33, $pop24 - i32.store $discard=, 12($5), $pop25 - i32.load $push26=, 0($0) - i32.const $push27=, 26 - i32.ne $push28=, $pop26, $pop27 - br_if 0, $pop28 # 0: down to label5 + i32.const $push5=, 11 + i32.add $push6=, $1, $pop5 + i32.const $push7=, -8 + i32.and $push15=, $pop6, $pop7 + tee_local $push14=, $1=, $pop15 + f64.load $push8=, 0($pop14) + f64.const $push9=, 0x1.8p3 + f64.ne $push10=, $pop8, $pop9 + br_if 0, $pop10 # 0: down to label5 +# BB#3: # %lor.lhs.false7 + i32.load $push11=, 8($1):p2align=3 + i32.const $push12=, 26 + i32.ne $push13=, $pop11, $pop12 + br_if 0, $pop13 # 0: down to label5 # BB#4: # %if.end - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 return .LBB3_5: # %if.then end_block # label5: diff --git a/test/torture-s/pr56799.c.s b/test/torture-s/pr56799.c.s index 930ff4394..ea524f433 100644 --- a/test/torture-s/pr56799.c.s +++ b/test/torture-s/pr56799.c.s @@ -6,20 +6,20 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($1), $3 + i32.const $push11=, __stack_pointer + i32.load $push12=, 0($pop11) + i32.const $push13=, 16 + i32.sub $1=, $pop12, $pop13 + i32.const $push14=, __stack_pointer + i32.store $discard=, 0($pop14), $1 i64.const $push2=, 4295032832 - i64.store $discard=, 8($3), $pop2 - i32.const $2=, 8 - i32.add $2=, $3, $2 + i64.store $discard=, 8($1), $pop2 + i32.const $0=, 8 + i32.add $0=, $1, $0 block - i32.call $push3=, foo@FUNCTION, $2 + i32.call $push3=, foo@FUNCTION, $0 i32.const $push4=, 2 i32.ne $push5=, $pop3, $pop4 br_if 0, $pop5 # 0: down to label0 @@ -71,22 +71,20 @@ foo: # @foo .LBB1_2: # %if.end end_block # label1: block - block i32.const $push10=, 65535 i32.le_u $push3=, $2, $pop10 - br_if 0, $pop3 # 0: down to label3 + br_if 0, $pop3 # 0: down to label2 # BB#3: # %if.then7 i32.const $push4=, 0 i32.const $push5=, 1 i32.store $discard=, hi($pop4), $pop5 i32.load $0=, 4($0) i32.add $1=, $0, $1 - br 1 # 1: down to label2 + i32.add $push6=, $0, $1 + return $pop6 .LBB1_4: # %if.end.if.end10_crit_edge - end_block # label3: - i32.load $0=, 4($0) -.LBB1_5: # %if.end10 end_block # label2: + i32.load $0=, 4($0) i32.add $push6=, $0, $1 return $pop6 .endfunc diff --git a/test/torture-s/pr56866.c.s b/test/torture-s/pr56866.c.s index 63fde748d..073490b64 100644 --- a/test/torture-s/pr56866.c.s +++ b/test/torture-s/pr56866.c.s @@ -6,235 +6,235 @@ .type main,@function main: # @main .result i32 - .local i32, 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 + .local i32, 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 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 7712 - i32.sub $34=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $34=, 0($4), $34 - i32.const $0=, 2048 + i32.const $push90=, __stack_pointer + i32.load $push91=, 0($pop90) + i32.const $push92=, 7712 + i32.sub $30=, $pop91, $pop92 + i32.const $push93=, __stack_pointer + i32.store $discard=, 0($pop93), $30 i32.const $1=, 0 - i32.const $6=, 5664 - i32.add $6=, $34, $6 - i32.call $discard=, memset@FUNCTION, $6, $1, $0 - i32.const $0=, 1024 - i32.const $7=, 2592 - i32.add $7=, $34, $7 - i32.call $discard=, memset@FUNCTION, $7, $1, $0 - i32.const $0=, 512 - i32.const $8=, 1056 - i32.add $8=, $34, $8 - i32.call $discard=, memset@FUNCTION, $8, $1, $0 - i32.const $0=, 256 - i32.const $9=, 288 - i32.add $9=, $34, $9 - i32.call $discard=, memset@FUNCTION, $9, $1, $0 - i32.const $0=, 19088743 - i32.store $discard=, 2592($34):p2align=4, $0 - i32.const $0=, 17767 - i32.store16 $discard=, 1056($34):p2align=4, $0 - i32.const $0=, 115 - i32.store8 $discard=, 288($34):p2align=4, $0 - i64.const $2=, 81985529216486895 - i64.store $discard=, 5664($34):p2align=4, $2 - i32.const $10=, 5664 - i32.add $10=, $34, $10 - i32.store $discard=, 28($34), $10 - i32.const $11=, 2592 - i32.add $11=, $34, $11 - i32.store $discard=, 24($34), $11 - i32.const $12=, 1056 - i32.add $12=, $34, $12 - i32.store $discard=, 20($34), $12 - i32.const $13=, 288 - i32.add $13=, $34, $13 - i32.store $discard=, 16($34), $13 - i32.const $14=, 28 - i32.add $14=, $34, $14 - i32.const $15=, 24 - i32.add $15=, $34, $15 - i32.const $16=, 20 - i32.add $16=, $34, $16 - i32.const $17=, 16 - i32.add $17=, $34, $17 + i32.const $push59=, 0 + i32.const $push58=, 2048 + i32.const $3=, 5664 + i32.add $3=, $30, $3 + i32.call $discard=, memset@FUNCTION, $3, $pop59, $pop58 + i32.const $push57=, 0 + i32.const $push0=, 1024 + i32.const $4=, 2592 + i32.add $4=, $30, $4 + i32.call $discard=, memset@FUNCTION, $4, $pop57, $pop0 + i32.const $push56=, 0 + i32.const $push1=, 512 + i32.const $5=, 1056 + i32.add $5=, $30, $5 + i32.call $discard=, memset@FUNCTION, $5, $pop56, $pop1 + i32.const $push55=, 0 + i32.const $push2=, 256 + i32.const $6=, 288 + i32.add $6=, $30, $6 + i32.call $discard=, memset@FUNCTION, $6, $pop55, $pop2 + i32.const $push4=, 19088743 + i32.store $discard=, 2592($30):p2align=4, $pop4 + i32.const $push5=, 17767 + i32.store16 $discard=, 1056($30):p2align=4, $pop5 + i32.const $push6=, 115 + i32.store8 $discard=, 288($30):p2align=4, $pop6 + i64.const $push3=, 81985529216486895 + i64.store $discard=, 5664($30):p2align=4, $pop3 + i32.const $7=, 5664 + i32.add $7=, $30, $7 + i32.store $discard=, 28($30), $7 + i32.const $8=, 2592 + i32.add $8=, $30, $8 + i32.store $discard=, 24($30), $8 + i32.const $9=, 1056 + i32.add $9=, $30, $9 + i32.store $discard=, 20($30), $9 + i32.const $10=, 288 + i32.add $10=, $30, $10 + i32.store $discard=, 16($30), $10 + i32.const $11=, 28 + i32.add $11=, $30, $11 + i32.const $12=, 24 + i32.add $12=, $30, $12 + i32.const $13=, 20 + i32.add $13=, $30, $13 + i32.const $14=, 16 + i32.add $14=, $30, $14 #APP #NO_APP i32.const $0=, 0 .LBB0_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label0: - i32.const $18=, 3616 - i32.add $18=, $34, $18 - i32.add $push4=, $18, $0 - i32.const $19=, 5664 - i32.add $19=, $34, $19 - i32.add $push0=, $19, $0 - i64.load $push55=, 0($pop0) - tee_local $push54=, $2=, $pop55 - i64.const $push53=, 8 - i64.shr_u $push1=, $pop54, $pop53 - i64.const $push52=, 56 - i64.shl $push2=, $2, $pop52 - i64.or $push3=, $pop1, $pop2 - i64.store $discard=, 0($pop4), $pop3 - i32.const $push51=, 8 - i32.add $0=, $0, $pop51 - i32.const $push50=, 2048 - i32.ne $push5=, $0, $pop50 - br_if 0, $pop5 # 0: up to label0 + i32.const $15=, 3616 + i32.add $15=, $30, $15 + i32.add $push11=, $15, $0 + i32.const $16=, 5664 + i32.add $16=, $30, $16 + i32.add $push7=, $16, $0 + i64.load $push65=, 0($pop7) + tee_local $push64=, $2=, $pop65 + i64.const $push63=, 8 + i64.shr_u $push8=, $pop64, $pop63 + i64.const $push62=, 56 + i64.shl $push9=, $2, $pop62 + i64.or $push10=, $pop8, $pop9 + i64.store $discard=, 0($pop11), $pop10 + i32.const $push61=, 8 + i32.add $0=, $0, $pop61 + i32.const $push60=, 2048 + i32.ne $push12=, $0, $pop60 + br_if 0, $pop12 # 0: up to label0 .LBB0_2: # %for.body16 # =>This Inner Loop Header: Depth=1 end_loop # label1: loop # label2: - i32.const $20=, 1568 - i32.add $20=, $34, $20 - i32.add $push10=, $20, $1 - i32.const $21=, 2592 - i32.add $21=, $34, $21 - i32.add $push6=, $21, $1 - i32.load $push61=, 0($pop6) - tee_local $push60=, $0=, $pop61 - i32.const $push59=, 8 - i32.shr_u $push7=, $pop60, $pop59 - i32.const $push58=, 24 - i32.shl $push8=, $0, $pop58 - i32.or $push9=, $pop7, $pop8 - i32.store $discard=, 0($pop10), $pop9 - i32.const $push57=, 4 - i32.add $1=, $1, $pop57 - i32.const $push56=, 1024 - i32.ne $push11=, $1, $pop56 - br_if 0, $pop11 # 0: up to label2 + i32.const $17=, 1568 + i32.add $17=, $30, $17 + i32.add $push17=, $17, $1 + i32.const $18=, 2592 + i32.add $18=, $30, $18 + i32.add $push13=, $18, $1 + i32.load $push71=, 0($pop13) + tee_local $push70=, $0=, $pop71 + i32.const $push69=, 8 + i32.shr_u $push14=, $pop70, $pop69 + i32.const $push68=, 24 + i32.shl $push15=, $0, $pop68 + i32.or $push16=, $pop14, $pop15 + i32.store $discard=, 0($pop17), $pop16 + i32.const $push67=, 4 + i32.add $1=, $1, $pop67 + i32.const $push66=, 1024 + i32.ne $push18=, $1, $pop66 + br_if 0, $pop18 # 0: up to label2 # BB#3: end_loop # label3: i32.const $1=, 0 .LBB0_4: # %for.body28 # =>This Inner Loop Header: Depth=1 loop # label4: - i32.const $22=, 544 - i32.add $22=, $34, $22 - i32.add $push16=, $22, $1 - i32.const $23=, 1056 - i32.add $23=, $34, $23 - i32.add $push12=, $23, $1 - i32.load16_u $push67=, 0($pop12) - tee_local $push66=, $0=, $pop67 - i32.const $push65=, 9 - i32.shr_u $push13=, $pop66, $pop65 - i32.const $push64=, 7 - i32.shl $push14=, $0, $pop64 - i32.or $push15=, $pop13, $pop14 - i32.store16 $discard=, 0($pop16), $pop15 - i32.const $push63=, 2 - i32.add $1=, $1, $pop63 - i32.const $push62=, 512 - i32.ne $push17=, $1, $pop62 - br_if 0, $pop17 # 0: up to label4 + i32.const $19=, 544 + i32.add $19=, $30, $19 + i32.add $push23=, $19, $1 + i32.const $20=, 1056 + i32.add $20=, $30, $20 + i32.add $push19=, $20, $1 + i32.load16_u $push77=, 0($pop19) + tee_local $push76=, $0=, $pop77 + i32.const $push75=, 9 + i32.shr_u $push20=, $pop76, $pop75 + i32.const $push74=, 7 + i32.shl $push21=, $0, $pop74 + i32.or $push22=, $pop20, $pop21 + i32.store16 $discard=, 0($pop23), $pop22 + i32.const $push73=, 2 + i32.add $1=, $1, $pop73 + i32.const $push72=, 512 + i32.ne $push24=, $1, $pop72 + br_if 0, $pop24 # 0: up to label4 # BB#5: end_loop # label5: i32.const $1=, 0 .LBB0_6: # %for.body43 # =>This Inner Loop Header: Depth=1 loop # label6: - i32.const $24=, 32 - i32.add $24=, $34, $24 - i32.add $push22=, $24, $1 - i32.const $25=, 288 - i32.add $25=, $34, $25 - i32.add $push18=, $25, $1 - i32.load8_u $push73=, 0($pop18) - tee_local $push72=, $0=, $pop73 - i32.const $push71=, 5 - i32.shr_u $push19=, $pop72, $pop71 - i32.const $push70=, 3 - i32.shl $push20=, $0, $pop70 - i32.or $push21=, $pop19, $pop20 - i32.store8 $discard=, 0($pop22), $pop21 - i32.const $push69=, 1 - i32.add $1=, $1, $pop69 - i32.const $push68=, 256 - i32.ne $push23=, $1, $pop68 - br_if 0, $pop23 # 0: up to label6 + i32.const $21=, 32 + i32.add $21=, $30, $21 + i32.add $push29=, $21, $1 + i32.const $22=, 288 + i32.add $22=, $30, $22 + i32.add $push25=, $22, $1 + i32.load8_u $push83=, 0($pop25) + tee_local $push82=, $0=, $pop83 + i32.const $push81=, 5 + i32.shr_u $push26=, $pop82, $pop81 + i32.const $push80=, 3 + i32.shl $push27=, $0, $pop80 + i32.or $push28=, $pop26, $pop27 + i32.store8 $discard=, 0($pop29), $pop28 + i32.const $push79=, 1 + i32.add $1=, $1, $pop79 + i32.const $push78=, 256 + i32.ne $push30=, $1, $pop78 + br_if 0, $pop30 # 0: up to label6 # BB#7: # %for.end55 end_loop # label7: - i32.const $26=, 3616 - i32.add $26=, $34, $26 - i32.store $discard=, 12($34), $26 - i32.const $27=, 1568 - i32.add $27=, $34, $27 - i32.store $discard=, 8($34), $27 - i32.const $28=, 544 - i32.add $28=, $34, $28 - i32.store $discard=, 4($34), $28 - i32.const $29=, 32 - i32.add $29=, $34, $29 - i32.store $discard=, 0($34), $29 - i32.const $30=, 12 - i32.add $30=, $34, $30 - i32.const $31=, 8 - i32.add $31=, $34, $31 - i32.const $32=, 4 - i32.add $32=, $34, $32 + i32.const $23=, 3616 + i32.add $23=, $30, $23 + i32.store $discard=, 12($30), $23 + i32.const $24=, 1568 + i32.add $24=, $30, $24 + i32.store $discard=, 8($30), $24 + i32.const $25=, 544 + i32.add $25=, $30, $25 + i32.store $discard=, 4($30), $25 + i32.const $26=, 32 + i32.add $26=, $30, $26 + i32.store $discard=, 0($30), $26 + i32.const $27=, 12 + i32.add $27=, $30, $27 + i32.const $28=, 8 + i32.add $28=, $30, $28 + i32.const $29=, 4 + i32.add $29=, $30, $29 #APP #NO_APP block - i64.load $push24=, 3616($34):p2align=4 - i64.const $push25=, -1224658842671273011 - i64.ne $push26=, $pop24, $pop25 - br_if 0, $pop26 # 0: down to label8 + i64.load $push31=, 3616($30):p2align=4 + i64.const $push32=, -1224658842671273011 + i64.ne $push33=, $pop31, $pop32 + br_if 0, $pop33 # 0: down to label8 # BB#8: # %lor.lhs.false - i32.const $push27=, 8 - i32.const $33=, 3616 - i32.add $33=, $34, $33 - i32.or $push28=, $33, $pop27 - i64.load $push29=, 0($pop28) - i64.const $push30=, 0 - i64.ne $push31=, $pop29, $pop30 - br_if 0, $pop31 # 0: down to label8 + i64.load $push34=, 3624($30) + i64.const $push35=, 0 + i64.ne $push36=, $pop34, $pop35 + br_if 0, $pop36 # 0: down to label8 # BB#9: # %if.end - i64.load $push75=, 1568($34):p2align=4 - tee_local $push74=, $2=, $pop75 - i32.wrap/i64 $push32=, $pop74 - i32.const $push33=, 1728127813 - i32.ne $push34=, $pop32, $pop33 - br_if 0, $pop34 # 0: down to label8 + i64.load $push85=, 1568($30):p2align=4 + tee_local $push84=, $2=, $pop85 + i32.wrap/i64 $push37=, $pop84 + i32.const $push38=, 1728127813 + i32.ne $push39=, $pop37, $pop38 + br_if 0, $pop39 # 0: down to label8 # BB#10: # %if.end - i64.const $push35=, 4294967296 - i64.ge_u $push36=, $2, $pop35 - br_if 0, $pop36 # 0: down to label8 + i64.const $push40=, 4294967296 + i64.ge_u $push41=, $2, $pop40 + br_if 0, $pop41 # 0: down to label8 # BB#11: # %if.end71 - i32.load $push77=, 544($34):p2align=4 - tee_local $push76=, $1=, $pop77 - i32.const $push37=, 65535 - i32.and $push38=, $pop76, $pop37 - i32.const $push39=, 45986 - i32.ne $push40=, $pop38, $pop39 - br_if 0, $pop40 # 0: down to label8 + i32.load $push87=, 544($30):p2align=4 + tee_local $push86=, $1=, $pop87 + i32.const $push42=, 65535 + i32.and $push43=, $pop86, $pop42 + i32.const $push44=, 45986 + i32.ne $push45=, $pop43, $pop44 + br_if 0, $pop45 # 0: down to label8 # BB#12: # %if.end71 - i32.const $push41=, 65536 - i32.ge_u $push42=, $1, $pop41 - br_if 0, $pop42 # 0: down to label8 + i32.const $push46=, 65536 + i32.ge_u $push47=, $1, $pop46 + br_if 0, $pop47 # 0: down to label8 # BB#13: # %if.end81 - i32.load16_u $push79=, 32($34):p2align=4 - tee_local $push78=, $1=, $pop79 - i32.const $push43=, 255 - i32.and $push44=, $pop78, $pop43 - i32.const $push45=, 155 - i32.ne $push46=, $pop44, $pop45 - br_if 0, $pop46 # 0: down to label8 + i32.load16_u $push89=, 32($30):p2align=4 + tee_local $push88=, $1=, $pop89 + i32.const $push48=, 255 + i32.and $push49=, $pop88, $pop48 + i32.const $push50=, 155 + i32.ne $push51=, $pop49, $pop50 + br_if 0, $pop51 # 0: down to label8 # BB#14: # %if.end81 - i32.const $push47=, 256 - i32.ge_u $push48=, $1, $pop47 - br_if 0, $pop48 # 0: down to label8 + i32.const $push52=, 256 + i32.ge_u $push53=, $1, $pop52 + br_if 0, $pop53 # 0: down to label8 # BB#15: # %if.end91 - i32.const $push49=, 0 - i32.const $5=, 7712 - i32.add $34=, $34, $5 - i32.const $5=, __stack_pointer - i32.store $34=, 0($5), $34 - return $pop49 + i32.const $push54=, 0 + i32.const $push94=, 7712 + i32.add $30=, $30, $pop94 + i32.const $push95=, __stack_pointer + i32.store $discard=, 0($pop95), $30 + return $pop54 .LBB0_16: # %if.then90 end_block # label8: call abort@FUNCTION diff --git a/test/torture-s/pr56982.c.s b/test/torture-s/pr56982.c.s index e1ebe62e1..f59dc5199 100644 --- a/test/torture-s/pr56982.c.s +++ b/test/torture-s/pr56982.c.s @@ -20,28 +20,28 @@ baz: # @baz f: # @f .param i32 .result i32 - .local i32, i32 + .local i32 # BB#0: # %entry block i32.load $push0=, 0($0) - i32.const $push5=, 0 - i32.eq $push6=, $pop0, $pop5 - br_if 0, $pop6 # 0: down to label0 + i32.const $push6=, 0 + i32.eq $push7=, $pop0, $pop6 + br_if 0, $pop7 # 0: down to label0 # BB#1: # %if.then i32.const $push1=, 1 return $pop1 .LBB1_2: # %if.end end_block # label0: - i32.const $1=, env - i32.call $2=, _setjmp@FUNCTION, $1 + i32.const $push4=, env + i32.call $1=, _setjmp@FUNCTION, $pop4 #APP #NO_APP block - br_if 0, $2 # 0: down to label1 + br_if 0, $1 # 0: down to label1 # BB#3: # %if.end6 - i32.const $push4=, env + i32.const $push5=, env i32.const $push3=, 42 - call longjmp@FUNCTION, $pop4, $pop3 + call longjmp@FUNCTION, $pop5, $pop3 unreachable .LBB1_4: # %if.then2 end_block # label1: @@ -59,24 +59,24 @@ f: # @f main: # @main .param i32, i32 .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $6=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $6=, 0($3), $6 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $3=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $3 i32.const $push0=, 0 - i32.store $discard=, 12($6), $pop0 - i32.const $5=, 12 - i32.add $5=, $6, $5 - i32.call $discard=, f@FUNCTION, $5 + i32.store $discard=, 12($3), $pop0 + i32.const $2=, 12 + i32.add $2=, $3, $2 + i32.call $discard=, f@FUNCTION, $2 i32.const $push1=, 1 - i32.const $4=, 16 - i32.add $6=, $6, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.const $push6=, 16 + i32.add $3=, $3, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $3 return $pop1 .endfunc .Lfunc_end2: diff --git a/test/torture-s/pr57124.c.s b/test/torture-s/pr57124.c.s index d45b57b5e..9df626587 100644 --- a/test/torture-s/pr57124.c.s +++ b/test/torture-s/pr57124.c.s @@ -31,23 +31,23 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $2=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $2 i32.const $push0=, 65531 - i32.store16 $discard=, 14($4), $pop0 + i32.store16 $discard=, 14($2), $pop0 i32.const $push1=, 65526 - i32.store16 $discard=, 12($4), $pop1 - i32.const $2=, 14 - i32.add $2=, $4, $2 - i32.const $3=, 12 - i32.add $3=, $4, $3 - i32.call $discard=, foo@FUNCTION, $2, $3 + i32.store16 $discard=, 12($2), $pop1 + i32.const $0=, 14 + i32.add $0=, $2, $0 + i32.const $1=, 12 + i32.add $1=, $2, $1 + i32.call $discard=, foo@FUNCTION, $0, $1 unreachable .endfunc .Lfunc_end1: diff --git a/test/torture-s/pr57130.c.s b/test/torture-s/pr57130.c.s index c2f527972..016e4db39 100644 --- a/test/torture-s/pr57130.c.s +++ b/test/torture-s/pr57130.c.s @@ -39,63 +39,59 @@ foo: # @foo .type main,@function main: # @main .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 $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 48 - i32.sub $10=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $10=, 0($4), $10 + i32.const $push24=, __stack_pointer + i32.load $push25=, 0($pop24) + i32.const $push26=, 48 + i32.sub $5=, $pop25, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $5 i32.const $push2=, 8 - i32.const $6=, 32 - i32.add $6=, $10, $6 - i32.add $push24=, $6, $pop2 - tee_local $push23=, $2=, $pop24 + i32.const $2=, 32 + i32.add $2=, $5, $2 + i32.add $push23=, $2, $pop2 + tee_local $push22=, $1=, $pop23 i32.const $push0=, 0 i32.load $push1=, .Lmain.r+8($pop0) - i32.store $discard=, 0($pop23):p2align=3, $pop1 - i32.const $push22=, 0 - i64.load $push3=, .Lmain.r($pop22):p2align=2 - i64.store $discard=, 32($10), $pop3 - i32.const $push21=, 8 - i32.const $7=, 16 - i32.add $7=, $10, $7 - i32.add $push6=, $7, $pop21 - i32.const $push20=, 0 - i64.load $push7=, .Lmain.r+8($pop20):p2align=2 - i64.store $discard=, 0($pop6):p2align=2, $pop7 + i32.store $discard=, 0($pop22):p2align=3, $pop1 + i32.const $push21=, 0 + i64.load $push3=, .Lmain.r($pop21):p2align=2 + i64.store $discard=, 32($5), $pop3 + i32.const $push20=, 8 + i32.const $3=, 16 + i32.add $3=, $5, $3 + i32.add $push4=, $3, $pop20 i32.const $push19=, 0 - i64.load $push8=, .Lmain.r($pop19):p2align=2 - i64.store $discard=, 16($10):p2align=2, $pop8 - i32.const $8=, 16 - i32.add $8=, $10, $8 - call foo@FUNCTION, $8 - i32.const $push4=, 4 - i32.const $9=, 32 - i32.add $9=, $10, $9 - i32.or $push5=, $9, $pop4 - i32.const $push9=, 2 - i32.store $1=, 0($pop5), $pop9 - i32.const $push10=, -1 - i32.store $discard=, 0($2):p2align=3, $pop10 + i64.load $push5=, .Lmain.r+8($pop19):p2align=2 + i64.store $discard=, 0($pop4):p2align=2, $pop5 i32.const $push18=, 0 - i32.store $0=, 32($10):p2align=3, $pop18 - i32.const $push12=, 12 - i32.add $push13=, $10, $pop12 - i32.store $push11=, 44($10), $1 - i32.store $discard=, 0($pop13), $pop11 - i32.const $push17=, 8 - i32.add $push14=, $10, $pop17 - i32.load $push15=, 0($2):p2align=3 - i32.store $discard=, 0($pop14), $pop15 - i64.load $push16=, 32($10) - i64.store $discard=, 0($10):p2align=2, $pop16 - call foo@FUNCTION, $10 - i32.const $5=, 48 - i32.add $10=, $10, $5 - i32.const $5=, __stack_pointer - i32.store $10=, 0($5), $10 + i64.load $push6=, .Lmain.r($pop18):p2align=2 + i64.store $discard=, 16($5):p2align=2, $pop6 + i32.const $4=, 16 + i32.add $4=, $5, $4 + call foo@FUNCTION, $4 + i32.const $push9=, -1 + i32.store $discard=, 0($1):p2align=3, $pop9 + i32.const $push17=, 0 + i32.store $0=, 32($5):p2align=3, $pop17 + i32.const $push11=, 12 + i32.add $push12=, $5, $pop11 + i32.const $push7=, 2 + i32.store $push8=, 36($5), $pop7 + i32.store $push10=, 44($5), $pop8 + i32.store $discard=, 0($pop12), $pop10 + i32.const $push16=, 8 + i32.add $push13=, $5, $pop16 + i32.load $push14=, 0($1):p2align=3 + i32.store $discard=, 0($pop13), $pop14 + i64.load $push15=, 32($5) + i64.store $discard=, 0($5):p2align=2, $pop15 + call foo@FUNCTION, $5 + i32.const $push28=, 48 + i32.add $5=, $5, $pop28 + i32.const $push29=, __stack_pointer + i32.store $discard=, 0($pop29), $5 return $0 .endfunc .Lfunc_end1: diff --git a/test/torture-s/pr57131.c.s b/test/torture-s/pr57131.c.s index 52f5d4c8c..5adbc9019 100644 --- a/test/torture-s/pr57131.c.s +++ b/test/torture-s/pr57131.c.s @@ -6,44 +6,44 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 48 - i32.sub $4=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 + i32.const $push19=, __stack_pointer + i32.load $push20=, 0($pop19) + i32.const $push21=, 48 + i32.sub $1=, $pop20, $pop21 + i32.const $push22=, __stack_pointer + i32.store $discard=, 0($pop22), $1 i32.const $push0=, 0 - i32.store $0=, 44($4), $pop0 + i32.store $0=, 44($1), $pop0 i64.const $push1=, 0 - i64.store $discard=, 32($4), $pop1 - i32.store $discard=, 28($4), $0 + i64.store $discard=, 32($1), $pop1 + i32.store $discard=, 28($1), $0 i32.const $push2=, 1 - i32.store $push3=, 24($4), $pop2 - i32.store $discard=, 20($4), $pop3 + i32.store $push3=, 24($1), $pop2 + i32.store $discard=, 20($1), $pop3 block i64.const $push4=, 1 - i64.store $push5=, 8($4), $pop4 - i64.load32_s $push6=, 44($4) - i64.load $push7=, 32($4) - i64.load32_u $push8=, 28($4) + i64.store $push5=, 8($1), $pop4 + i64.load32_s $push6=, 44($1) + i64.load $push7=, 32($1) + i64.load32_u $push8=, 28($1) i64.shl $push9=, $pop7, $pop8 i64.mul $push10=, $pop6, $pop9 - i32.load $push11=, 24($4) - i32.load $push12=, 20($4) + i32.load $push11=, 24($1) + i32.load $push12=, 20($1) i32.mul $push13=, $pop11, $pop12 i64.extend_s/i32 $push14=, $pop13 i64.div_s $push15=, $pop10, $pop14 - i64.load $push16=, 8($4) + i64.load $push16=, 8($1) i64.add $push17=, $pop15, $pop16 i64.ne $push18=, $pop5, $pop17 br_if 0, $pop18 # 0: down to label0 # BB#1: # %if.end - i32.const $3=, 48 - i32.add $4=, $4, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 + i32.const $push23=, 48 + i32.add $1=, $1, $pop23 + i32.const $push24=, __stack_pointer + i32.store $discard=, 0($pop24), $1 return $0 .LBB0_2: # %if.then end_block # label0: diff --git a/test/torture-s/pr57876.c.s b/test/torture-s/pr57876.c.s index 6e7b35f50..f30860d2e 100644 --- a/test/torture-s/pr57876.c.s +++ b/test/torture-s/pr57876.c.s @@ -6,14 +6,14 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i32, i32, i32, i32 # BB#0: # %for.body4.1 - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 16 - i32.sub $17=, $13, $14 - i32.const $14=, __stack_pointer - i32.store $17=, 0($14), $17 + i32.const $push96=, __stack_pointer + i32.load $push97=, 0($pop96) + i32.const $push98=, 16 + i32.sub $14=, $pop97, $pop98 + i32.const $push99=, __stack_pointer + i32.store $discard=, 0($pop99), $14 i32.const $push0=, 0 i32.load $0=, d($pop0) i32.const $push95=, 0 @@ -147,18 +147,18 @@ main: # @main i64.extend_u/i32 $push75=, $pop74 i64.lt_s $push76=, $pop75, $10 i32.store $1=, e($11), $pop76 - i32.const $16=, 12 - i32.add $16=, $17, $16 - i32.store $discard=, g($11), $16 + i32.const $13=, 12 + i32.add $13=, $14, $13 + i32.store $discard=, g($11), $13 block - i32.const $push96=, 0 - i32.eq $push97=, $1, $pop96 - br_if 0, $pop97 # 0: down to label0 + i32.const $push102=, 0 + i32.eq $push103=, $1, $pop102 + br_if 0, $pop103 # 0: down to label0 # BB#1: # %if.end - i32.const $15=, 16 - i32.add $17=, $17, $15 - i32.const $15=, __stack_pointer - i32.store $17=, 0($15), $17 + i32.const $push100=, 16 + i32.add $14=, $14, $pop100 + i32.const $push101=, __stack_pointer + i32.store $discard=, 0($pop101), $14 return $11 .LBB0_2: # %if.then end_block # label0: diff --git a/test/torture-s/pr58277-1.c.s b/test/torture-s/pr58277-1.c.s index 495448377..f23cf2883 100644 --- a/test/torture-s/pr58277-1.c.s +++ b/test/torture-s/pr58277-1.c.s @@ -34,14 +34,14 @@ baz: # @baz .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, i32 # BB#0: # %entry - i32.const $8=, __stack_pointer - i32.load $8=, 0($8) - i32.const $9=, 32 - i32.sub $11=, $8, $9 - i32.const $9=, __stack_pointer - i32.store $11=, 0($9), $11 + i32.const $push156=, __stack_pointer + i32.load $push157=, 0($pop156) + i32.const $push158=, 32 + i32.sub $8=, $pop157, $pop158 + i32.const $push159=, __stack_pointer + i32.store $discard=, 0($pop159), $8 i32.const $push2=, 0 i32.const $push99=, 0 i32.const $push1=, 1 @@ -61,9 +61,9 @@ main: # @main i32.store $push101=, g($1), $1 tee_local $push100=, $3=, $pop101 i32.load $push4=, l($pop100) - i32.const $push156=, 0 - i32.eq $push157=, $pop4, $pop156 - br_if 0, $pop157 # 0: down to label3 + i32.const $push162=, 0 + i32.eq $push163=, $pop4, $pop162 + br_if 0, $pop163 # 0: down to label3 # BB#2: # %for.end # in Loop: Header=BB2_1 Depth=1 i32.load $push5=, j($3) @@ -81,7 +81,7 @@ main: # @main i32.load $push10=, i($pop118) i32.store $push11=, 0($pop10), $6 i32.load $push12=, i($pop11) - i32.store $discard=, 0($pop12), $11 + i32.store $discard=, 0($pop12), $8 br 1 # 1: down to label2 .LBB2_3: # %for.cond.preheader.i # in Loop: Header=BB2_1 Depth=1 @@ -125,9 +125,9 @@ main: # @main i32.load $push22=, j($pop21) i32.load $push23=, 0($pop22) i32.load $push24=, 0($pop23) - i32.const $push158=, 0 - i32.eq $push159=, $pop24, $pop158 - br_if 0, $pop159 # 0: up to label8 + i32.const $push164=, 0 + i32.eq $push165=, $pop24, $pop164 + br_if 0, $pop165 # 0: up to label8 .LBB2_6: # %for.end.i # in Loop: Header=BB2_4 Depth=2 end_loop # label9: @@ -166,9 +166,9 @@ main: # @main tee_local $push114=, $5=, $pop115 i32.store $push44=, o($pop114), $5 i32.load $push45=, p($pop44) - i32.const $push160=, 0 - i32.eq $push161=, $pop45, $pop160 - br_if 0, $pop161 # 0: up to label5 + i32.const $push166=, 0 + i32.eq $push167=, $pop45, $pop166 + br_if 0, $pop167 # 0: up to label5 .LBB2_7: # %foo.exit.thread # in Loop: Header=BB2_1 Depth=1 end_loop # label6: @@ -191,9 +191,9 @@ main: # @main tee_local $push127=, $4=, $pop128 i32.load $push126=, b($pop127) tee_local $push125=, $6=, $pop126 - i32.const $push162=, 0 - i32.eq $push163=, $pop125, $pop162 - br_if 0, $pop163 # 0: down to label10 + i32.const $push168=, 0 + i32.eq $push169=, $pop125, $pop168 + br_if 0, $pop169 # 0: down to label10 # BB#10: # %for.cond12.preheader.lr.ph i32.load $0=, c($4) .LBB2_11: # %for.cond12.preheader @@ -295,15 +295,15 @@ main: # @main i32.const $push142=, 2 i32.shl $push94=, $pop93, $pop142 i32.load $push95=, a($pop94) - i32.const $push164=, 0 - i32.eq $push165=, $pop95, $pop164 - br_if 0, $pop165 # 0: down to label15 + i32.const $push170=, 0 + i32.eq $push171=, $pop95, $pop170 + br_if 0, $pop171 # 0: down to label15 # BB#16: # %if.end47 i32.const $push96=, 0 - i32.const $10=, 32 - i32.add $11=, $11, $10 - i32.const $10=, __stack_pointer - i32.store $11=, 0($10), $11 + i32.const $push160=, 32 + i32.add $8=, $8, $pop160 + i32.const $push161=, __stack_pointer + i32.store $discard=, 0($pop161), $8 return $pop96 .LBB2_17: # %if.then46 end_block # label15: diff --git a/test/torture-s/pr58365.c.s b/test/torture-s/pr58365.c.s index 5b9173c7d..d6ba69a3f 100644 --- a/test/torture-s/pr58365.c.s +++ b/test/torture-s/pr58365.c.s @@ -20,102 +20,98 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 32 - i32.sub $13=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $13=, 0($3), $13 + i32.const $push38=, __stack_pointer + i32.load $push39=, 0($pop38) + i32.const $push40=, 32 + i32.sub $9=, $pop39, $pop40 + i32.const $push41=, __stack_pointer + i32.store $discard=, 0($pop41), $9 block block - i32.const $push27=, 0 - i32.load8_u $push0=, i($pop27):p2align=2 - i32.const $push40=, 0 - i32.eq $push41=, $pop0, $pop40 - br_if 0, $pop41 # 0: down to label1 + i32.const $push25=, 0 + i32.load8_u $push0=, i($pop25):p2align=2 + i32.const $push44=, 0 + i32.eq $push45=, $pop0, $pop44 + br_if 0, $pop45 # 0: down to label1 # BB#1: # %if.then.i i32.const $push2=, 16 - i32.const $11=, 8 - i32.add $11=, $13, $11 - i32.add $push3=, $11, $pop2 - i32.const $push30=, 0 - i32.load $push1=, f+16($pop30) + i32.const $7=, 8 + i32.add $7=, $9, $7 + i32.add $push3=, $7, $pop2 + i32.const $push28=, 0 + i32.load $push1=, f+16($pop28) i32.store $discard=, 0($pop3):p2align=3, $pop1 - i32.const $push29=, 0 - i64.load $0=, f($pop29):p2align=2 + i32.const $push27=, 0 + i64.load $0=, f($pop27):p2align=2 i32.const $push5=, 8 - i32.const $12=, 8 - i32.add $12=, $13, $12 - i32.add $push6=, $12, $pop5 - i32.const $push28=, 0 - i64.load $push4=, f+8($pop28):p2align=2 + i32.const $8=, 8 + i32.add $8=, $9, $8 + i32.add $push6=, $8, $pop5 + i32.const $push26=, 0 + i64.load $push4=, f+8($pop26):p2align=2 i64.store $discard=, 0($pop6), $pop4 - i64.store $discard=, 8($13), $0 + i64.store $discard=, 8($9), $0 br 1 # 1: down to label0 .LBB1_2: # %if.end.i end_block # label1: i32.const $push7=, 16 - i32.const $5=, 8 - i32.add $5=, $13, $5 - i32.add $push8=, $5, $pop7 - i32.const $push31=, 0 - i32.store $discard=, 0($pop8):p2align=3, $pop31 + i32.const $2=, 8 + i32.add $2=, $9, $2 + i32.add $push8=, $2, $pop7 + i32.const $push29=, 0 + i32.store $discard=, 0($pop8):p2align=3, $pop29 i32.const $push9=, 8 - i32.const $6=, 8 - i32.add $6=, $13, $6 - i32.add $push10=, $6, $pop9 + i32.const $3=, 8 + i32.add $3=, $9, $3 + i32.add $push10=, $3, $pop9 i64.const $push11=, 0 i64.store $push12=, 0($pop10), $pop11 - i64.store $discard=, 8($13), $pop12 + i64.store $discard=, 8($9), $pop12 .LBB1_3: # %bar.exit end_block # label0: - i32.const $push38=, 0 - i32.load $push13=, 8($13):p2align=3 - i32.store $discard=, h($pop38), $pop13 - i32.const $push37=, 0 - i32.const $push14=, 16 - i32.const $7=, 8 - i32.add $7=, $13, $7 - i32.add $push15=, $7, $pop14 - i32.load $push16=, 0($pop15):p2align=3 - i32.store $discard=, h+16($pop37), $pop16 i32.const $push36=, 0 - i32.const $push17=, 12 - i32.const $8=, 8 - i32.add $8=, $13, $8 - i32.add $push18=, $8, $pop17 - i32.load $push19=, 0($pop18) - i32.store $discard=, h+12($pop36), $pop19 + i32.load $push13=, 12($9) + i32.store $discard=, h+4($pop36), $pop13 i32.const $push35=, 0 - i32.const $push20=, 8 - i32.const $9=, 8 - i32.add $9=, $13, $9 - i32.add $push21=, $9, $pop20 - i32.load $push22=, 0($pop21):p2align=3 - i32.store $discard=, h+8($pop35), $pop22 + i32.load $push14=, 8($9):p2align=3 + i32.store $discard=, h($pop35), $pop14 i32.const $push34=, 0 - i32.const $push23=, 4 - i32.const $10=, 8 - i32.add $10=, $13, $10 - i32.or $push24=, $10, $pop23 - i32.load $push25=, 0($pop24) - i32.store $discard=, h+4($pop34), $pop25 + i32.const $push15=, 16 + i32.const $4=, 8 + i32.add $4=, $9, $4 + i32.add $push16=, $4, $pop15 + i32.load $push17=, 0($pop16):p2align=3 + i32.store $discard=, h+16($pop34), $pop17 i32.const $push33=, 0 - i32.load $1=, h+4($pop33) + i32.const $push18=, 12 + i32.const $5=, 8 + i32.add $5=, $9, $5 + i32.add $push19=, $5, $pop18 + i32.load $push20=, 0($pop19) + i32.store $discard=, h+12($pop33), $pop20 i32.const $push32=, 0 - i32.const $push26=, 1 - i32.store $discard=, f+4($pop32), $pop26 + i32.const $push21=, 8 + i32.const $6=, 8 + i32.add $6=, $9, $6 + i32.add $push22=, $6, $pop21 + i32.load $push23=, 0($pop22):p2align=3 + i32.store $discard=, h+8($pop32), $pop23 + i32.const $push31=, 0 + i32.load $1=, h+4($pop31) + i32.const $push30=, 0 + i32.const $push24=, 1 + i32.store $discard=, f+4($pop30), $pop24 block br_if 0, $1 # 0: down to label2 # BB#4: # %if.end - i32.const $push39=, 0 - i32.const $4=, 32 - i32.add $13=, $13, $4 - i32.const $4=, __stack_pointer - i32.store $13=, 0($4), $13 - return $pop39 + i32.const $push37=, 0 + i32.const $push42=, 32 + i32.add $9=, $9, $pop42 + i32.const $push43=, __stack_pointer + i32.store $discard=, 0($pop43), $9 + return $pop37 .LBB1_5: # %if.then end_block # label2: call abort@FUNCTION diff --git a/test/torture-s/pr58431.c.s b/test/torture-s/pr58431.c.s index f56b3b722..1dd59e1e4 100644 --- a/test/torture-s/pr58431.c.s +++ b/test/torture-s/pr58431.c.s @@ -36,9 +36,8 @@ main: # @main block block block - block i32.ne $push7=, $1, $2 - br_if 0, $pop7 # 0: down to label4 + br_if 0, $pop7 # 0: down to label3 # BB#3: # %if.else i32.const $push24=, 0 i32.load $4=, e($pop24) @@ -47,25 +46,25 @@ main: # @main i32.store8 $2=, h($pop23), $pop11 i32.const $push35=, 0 i32.eq $push36=, $4, $pop35 - br_if 2, $pop36 # 2: down to label2 + br_if 2, $pop36 # 2: down to label1 # BB#4: # %for.inc17.preheader i32.const $push29=, 0 i32.const $push28=, 0 i32.store $discard=, e($pop29), $pop28 - br 1 # 1: down to label3 + br 1 # 1: down to label2 .LBB0_5: # %for.cond10thread-pre-split - end_block # label4: + end_block # label3: i32.const $push21=, 0 i32.load $push8=, d($pop21) i32.const $push20=, 0 i32.gt_s $push9=, $pop8, $pop20 - br_if 0, $pop9 # 0: down to label3 + br_if 0, $pop9 # 0: down to label2 # BB#6: # %for.inc.preheader i32.const $push22=, 0 i32.const $push10=, 1 i32.store $discard=, d($pop22), $pop10 .LBB0_7: # %for.end22 - end_block # label3: + end_block # label2: i32.const $push33=, 0 i32.store $discard=, g($pop33), $0 i32.const $push32=, 0 @@ -75,20 +74,23 @@ main: # @main i32.const $push30=, 0 i32.const $push12=, 1 i32.store $discard=, b($pop30), $pop12 - br_if 1, $4 # 1: down to label1 + block + br_if 0, $4 # 0: down to label4 # BB#8: # %if.end27 i32.const $push34=, 0 return $pop34 -.LBB0_9: # %for.end22.thread - end_block # label2: +.LBB0_9: # %if.then26 + end_block # label4: + call abort@FUNCTION + unreachable +.LBB0_10: # %for.end22.thread + end_block # label1: i32.const $push27=, 0 i32.store $discard=, g($pop27), $0 i32.const $push26=, 0 i32.store $discard=, j($pop26), $3 i32.const $push25=, 0 i32.store $discard=, b($pop25), $2 -.LBB0_10: # %if.then26 - end_block # label1: call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/pr58574.c.s b/test/torture-s/pr58574.c.s index 5d6bafc44..fe0f8a6fb 100644 --- a/test/torture-s/pr58574.c.s +++ b/test/torture-s/pr58574.c.s @@ -170,7 +170,7 @@ foo: # @foo f64.mul $push1280=, $0, $pop1279 f64.const $push1281=, 0x1.739ad75c47d48p-11 f64.add $1=, $pop1280, $pop1281 - br 63 # 63: down to label0 + return $1 .LBB0_3: # %sw.bb12 end_block # label63: f64.add $push1242=, $0, $0 @@ -195,7 +195,7 @@ foo: # @foo f64.mul $push1260=, $0, $pop1259 f64.const $push1261=, 0x1.1987908299a2dp-9 f64.add $1=, $pop1260, $pop1261 - br 62 # 62: down to label0 + return $1 .LBB0_4: # %sw.bb27 end_block # label62: f64.add $push1222=, $0, $0 @@ -220,7 +220,7 @@ foo: # @foo f64.mul $push1240=, $0, $pop1239 f64.const $push1241=, 0x1.da059a73b42ccp-9 f64.add $1=, $pop1240, $pop1241 - br 61 # 61: down to label0 + return $1 .LBB0_5: # %sw.bb42 end_block # label61: f64.add $push1202=, $0, $0 @@ -245,7 +245,7 @@ foo: # @foo f64.mul $push1220=, $0, $pop1219 f64.const $push1221=, 0x1.4f3e2bb4b9b09p-8 f64.add $1=, $pop1220, $pop1221 - br 60 # 60: down to label0 + return $1 .LBB0_6: # %sw.bb57 end_block # label60: f64.add $push1182=, $0, $0 @@ -270,7 +270,7 @@ foo: # @foo f64.mul $push1200=, $0, $pop1199 f64.const $push1201=, 0x1.b3885828b601bp-8 f64.add $1=, $pop1200, $pop1201 - br 59 # 59: down to label0 + return $1 .LBB0_7: # %sw.bb72 end_block # label59: f64.add $push1162=, $0, $0 @@ -295,7 +295,7 @@ foo: # @foo f64.mul $push1180=, $0, $pop1179 f64.const $push1181=, 0x1.0cf75f478e341p-7 f64.add $1=, $pop1180, $pop1181 - br 58 # 58: down to label0 + return $1 .LBB0_8: # %sw.bb87 end_block # label58: f64.add $push1142=, $0, $0 @@ -320,7 +320,7 @@ foo: # @foo f64.mul $push1160=, $0, $pop1159 f64.const $push1161=, 0x1.414112efc6ccep-7 f64.add $1=, $pop1160, $pop1161 - br 57 # 57: down to label0 + return $1 .LBB0_9: # %sw.bb102 end_block # label57: f64.add $push1122=, $0, $0 @@ -345,7 +345,7 @@ foo: # @foo f64.mul $push1140=, $0, $pop1139 f64.const $push1141=, 0x1.76a2f48c2e771p-7 f64.add $1=, $pop1140, $pop1141 - br 56 # 56: down to label0 + return $1 .LBB0_10: # %sw.bb117 end_block # label56: f64.add $push1102=, $0, $0 @@ -370,7 +370,7 @@ foo: # @foo f64.mul $push1120=, $0, $pop1119 f64.const $push1121=, 0x1.ad3a604e1e71p-7 f64.add $1=, $pop1120, $pop1121 - br 55 # 55: down to label0 + return $1 .LBB0_11: # %sw.bb132 end_block # label55: f64.add $push1082=, $0, $0 @@ -395,7 +395,7 @@ foo: # @foo f64.mul $push1100=, $0, $pop1099 f64.const $push1101=, 0x1.e4f765fd8adacp-7 f64.add $1=, $pop1100, $pop1101 - br 54 # 54: down to label0 + return $1 .LBB0_12: # %sw.bb147 end_block # label54: f64.add $push1062=, $0, $0 @@ -420,7 +420,7 @@ foo: # @foo f64.mul $push1080=, $0, $pop1079 f64.const $push1081=, 0x1.0efdc9c4da9p-6 f64.add $1=, $pop1080, $pop1081 - br 53 # 53: down to label0 + return $1 .LBB0_13: # %sw.bb162 end_block # label53: f64.add $push1042=, $0, $0 @@ -445,7 +445,7 @@ foo: # @foo f64.mul $push1060=, $0, $pop1059 f64.const $push1061=, 0x1.2c1f42bb6673p-6 f64.add $1=, $pop1060, $pop1061 - br 52 # 52: down to label0 + return $1 .LBB0_14: # %sw.bb177 end_block # label52: f64.add $push1022=, $0, $0 @@ -470,7 +470,7 @@ foo: # @foo f64.mul $push1040=, $0, $pop1039 f64.const $push1041=, 0x1.49e8815e39714p-6 f64.add $1=, $pop1040, $pop1041 - br 51 # 51: down to label0 + return $1 .LBB0_15: # %sw.bb192 end_block # label51: f64.add $push1002=, $0, $0 @@ -495,7 +495,7 @@ foo: # @foo f64.mul $push1020=, $0, $pop1019 f64.const $push1021=, 0x1.6861e92923e5cp-6 f64.add $1=, $pop1020, $pop1021 - br 50 # 50: down to label0 + return $1 .LBB0_16: # %sw.bb207 end_block # label50: f64.add $push982=, $0, $0 @@ -520,7 +520,7 @@ foo: # @foo f64.mul $push1000=, $0, $pop999 f64.const $push1001=, 0x1.878b7a1c25d07p-6 f64.add $1=, $pop1000, $pop1001 - br 49 # 49: down to label0 + return $1 .LBB0_17: # %sw.bb222 end_block # label49: f64.add $push962=, $0, $0 @@ -545,7 +545,7 @@ foo: # @foo f64.mul $push980=, $0, $pop979 f64.const $push981=, 0x1.a771c970f7b9ep-6 f64.add $1=, $pop980, $pop981 - br 48 # 48: down to label0 + return $1 .LBB0_18: # %sw.bb237 end_block # label48: f64.add $push942=, $0, $0 @@ -570,7 +570,7 @@ foo: # @foo f64.mul $push960=, $0, $pop959 f64.const $push961=, 0x1.c814d72799a2p-6 f64.add $1=, $pop960, $pop961 - br 47 # 47: down to label0 + return $1 .LBB0_19: # %sw.bb252 end_block # label47: f64.add $push922=, $0, $0 @@ -595,7 +595,7 @@ foo: # @foo f64.mul $push940=, $0, $pop939 f64.const $push941=, 0x1.e9813879c4114p-6 f64.add $1=, $pop940, $pop941 - br 46 # 46: down to label0 + return $1 .LBB0_20: # %sw.bb267 end_block # label46: f64.add $push902=, $0, $0 @@ -620,7 +620,7 @@ foo: # @foo f64.mul $push920=, $0, $pop919 f64.const $push921=, 0x1.05db76b3bb83dp-5 f64.add $1=, $pop920, $pop921 - br 45 # 45: down to label0 + return $1 .LBB0_21: # %sw.bb282 end_block # label45: f64.add $push882=, $0, $0 @@ -645,7 +645,7 @@ foo: # @foo f64.mul $push900=, $0, $pop899 f64.const $push901=, 0x1.176145953586dp-5 f64.add $1=, $pop900, $pop901 - br 44 # 44: down to label0 + return $1 .LBB0_22: # %sw.bb297 end_block # label44: f64.add $push862=, $0, $0 @@ -670,7 +670,7 @@ foo: # @foo f64.mul $push880=, $0, $pop879 f64.const $push881=, 0x1.295421c044285p-5 f64.add $1=, $pop880, $pop881 - br 43 # 43: down to label0 + return $1 .LBB0_23: # %sw.bb312 end_block # label43: f64.add $push842=, $0, $0 @@ -695,7 +695,7 @@ foo: # @foo f64.mul $push860=, $0, $pop859 f64.const $push861=, 0x1.3bb83cf2cf95dp-5 f64.add $1=, $pop860, $pop861 - br 42 # 42: down to label0 + return $1 .LBB0_24: # %sw.bb327 end_block # label42: f64.add $push822=, $0, $0 @@ -720,7 +720,7 @@ foo: # @foo f64.mul $push840=, $0, $pop839 f64.const $push841=, 0x1.4e93e1c9b413ap-5 f64.add $1=, $pop840, $pop841 - br 41 # 41: down to label0 + return $1 .LBB0_25: # %sw.bb342 end_block # label41: f64.add $push802=, $0, $0 @@ -745,7 +745,7 @@ foo: # @foo f64.mul $push820=, $0, $pop819 f64.const $push821=, 0x1.61e71044f1a1ap-5 f64.add $1=, $pop820, $pop821 - br 40 # 40: down to label0 + return $1 .LBB0_26: # %sw.bb357 end_block # label40: f64.add $push782=, $0, $0 @@ -770,7 +770,7 @@ foo: # @foo f64.mul $push800=, $0, $pop799 f64.const $push801=, 0x1.75ba2be0589adp-5 f64.add $1=, $pop800, $pop801 - br 39 # 39: down to label0 + return $1 .LBB0_27: # %sw.bb372 end_block # label39: f64.add $push762=, $0, $0 @@ -795,7 +795,7 @@ foo: # @foo f64.mul $push780=, $0, $pop779 f64.const $push781=, 0x1.8a0f4d7add15fp-5 f64.add $1=, $pop780, $pop781 - br 38 # 38: down to label0 + return $1 .LBB0_28: # %sw.bb387 end_block # label38: f64.add $push742=, $0, $0 @@ -820,7 +820,7 @@ foo: # @foo f64.mul $push760=, $0, $pop759 f64.const $push761=, 0x1.e0e30446b69dbp-5 f64.add $1=, $pop760, $pop761 - br 37 # 37: down to label0 + return $1 .LBB0_29: # %sw.bb402 end_block # label37: f64.add $push722=, $0, $0 @@ -845,7 +845,7 @@ foo: # @foo f64.mul $push740=, $0, $pop739 f64.const $push741=, 0x1.745bf26f1dc51p-4 f64.add $1=, $pop740, $pop741 - br 36 # 36: down to label0 + return $1 .LBB0_30: # %sw.bb417 end_block # label36: f64.add $push702=, $0, $0 @@ -870,7 +870,7 @@ foo: # @foo f64.mul $push720=, $0, $pop719 f64.const $push721=, 0x1.1350092ccf6bep-3 f64.add $1=, $pop720, $pop721 - br 35 # 35: down to label0 + return $1 .LBB0_31: # %sw.bb432 end_block # label35: f64.add $push682=, $0, $0 @@ -895,7 +895,7 @@ foo: # @foo f64.mul $push700=, $0, $pop699 f64.const $push701=, 0x1.902de00d1b717p-3 f64.add $1=, $pop700, $pop701 - br 34 # 34: down to label0 + return $1 .LBB0_32: # %sw.bb447 end_block # label34: f64.add $push662=, $0, $0 @@ -920,7 +920,7 @@ foo: # @foo f64.mul $push680=, $0, $pop679 f64.const $push681=, 0x1.9f5ad96a6a012p-3 f64.add $1=, $pop680, $pop681 - br 33 # 33: down to label0 + return $1 .LBB0_33: # %sw.bb462 end_block # label33: f64.add $push642=, $0, $0 @@ -945,7 +945,7 @@ foo: # @foo f64.mul $push660=, $0, $pop659 f64.const $push661=, 0x1.af1a9fbe76c8bp-3 f64.add $1=, $pop660, $pop661 - br 32 # 32: down to label0 + return $1 .LBB0_34: # %sw.bb477 end_block # label32: f64.add $push622=, $0, $0 @@ -970,7 +970,7 @@ foo: # @foo f64.mul $push640=, $0, $pop639 f64.const $push641=, 0x1.bf77af640639dp-3 f64.add $1=, $pop640, $pop641 - br 31 # 31: down to label0 + return $1 .LBB0_35: # %sw.bb492 end_block # label31: f64.add $push602=, $0, $0 @@ -995,7 +995,7 @@ foo: # @foo f64.mul $push620=, $0, $pop619 f64.const $push621=, 0x1.d07c84b5dcc64p-3 f64.add $1=, $pop620, $pop621 - br 30 # 30: down to label0 + return $1 .LBB0_36: # %sw.bb507 end_block # label30: f64.add $push582=, $0, $0 @@ -1020,7 +1020,7 @@ foo: # @foo f64.mul $push600=, $0, $pop599 f64.const $push601=, 0x1.e2339c0ebedfap-3 f64.add $1=, $pop600, $pop601 - br 29 # 29: down to label0 + return $1 .LBB0_37: # %sw.bb522 end_block # label29: f64.add $push562=, $0, $0 @@ -1045,7 +1045,7 @@ foo: # @foo f64.mul $push580=, $0, $pop579 f64.const $push581=, 0x1.f49cf56eac86p-3 f64.add $1=, $pop580, $pop581 - br 28 # 28: down to label0 + return $1 .LBB0_38: # %sw.bb537 end_block # label28: f64.add $push542=, $0, $0 @@ -1070,7 +1070,7 @@ foo: # @foo f64.mul $push560=, $0, $pop559 f64.const $push561=, 0x1.03e1869835159p-2 f64.add $1=, $pop560, $pop561 - br 27 # 27: down to label0 + return $1 .LBB0_39: # %sw.bb552 end_block # label27: f64.add $push522=, $0, $0 @@ -1095,7 +1095,7 @@ foo: # @foo f64.mul $push540=, $0, $pop539 f64.const $push541=, 0x1.0ddd6e04c0592p-2 f64.add $1=, $pop540, $pop541 - br 26 # 26: down to label0 + return $1 .LBB0_40: # %sw.bb567 end_block # label26: f64.add $push502=, $0, $0 @@ -1120,7 +1120,7 @@ foo: # @foo f64.mul $push520=, $0, $pop519 f64.const $push521=, 0x1.184230fcf80dcp-2 f64.add $1=, $pop520, $pop521 - br 25 # 25: down to label0 + return $1 .LBB0_41: # %sw.bb582 end_block # label25: f64.add $push482=, $0, $0 @@ -1145,7 +1145,7 @@ foo: # @foo f64.mul $push500=, $0, $pop499 f64.const $push501=, 0x1.23150dae3e6c5p-2 f64.add $1=, $pop500, $pop501 - br 24 # 24: down to label0 + return $1 .LBB0_42: # %sw.bb597 end_block # label24: f64.add $push462=, $0, $0 @@ -1170,7 +1170,7 @@ foo: # @foo f64.mul $push480=, $0, $pop479 f64.const $push481=, 0x1.2e60807357e67p-2 f64.add $1=, $pop480, $pop481 - br 23 # 23: down to label0 + return $1 .LBB0_43: # %sw.bb612 end_block # label23: f64.add $push442=, $0, $0 @@ -1195,7 +1195,7 @@ foo: # @foo f64.mul $push460=, $0, $pop459 f64.const $push461=, 0x1.3a272862f598ap-2 f64.add $1=, $pop460, $pop461 - br 22 # 22: down to label0 + return $1 .LBB0_44: # %sw.bb627 end_block # label22: f64.add $push422=, $0, $0 @@ -1220,7 +1220,7 @@ foo: # @foo f64.mul $push440=, $0, $pop439 f64.const $push441=, 0x1.466e43aa79bbbp-2 f64.add $1=, $pop440, $pop441 - br 21 # 21: down to label0 + return $1 .LBB0_45: # %sw.bb642 end_block # label21: f64.add $push402=, $0, $0 @@ -1245,7 +1245,7 @@ foo: # @foo f64.mul $push420=, $0, $pop419 f64.const $push421=, 0x1.53404ea4a8c15p-2 f64.add $1=, $pop420, $pop421 - br 20 # 20: down to label0 + return $1 .LBB0_46: # %sw.bb657 end_block # label20: f64.add $push382=, $0, $0 @@ -1270,7 +1270,7 @@ foo: # @foo f64.mul $push400=, $0, $pop399 f64.const $push401=, 0x1.60a5269595feep-2 f64.add $1=, $pop400, $pop401 - br 19 # 19: down to label0 + return $1 .LBB0_47: # %sw.bb672 end_block # label19: f64.add $push362=, $0, $0 @@ -1295,7 +1295,7 @@ foo: # @foo f64.mul $push380=, $0, $pop379 f64.const $push381=, 0x1.6e9f6a93f290bp-2 f64.add $1=, $pop380, $pop381 - br 18 # 18: down to label0 + return $1 .LBB0_48: # %sw.bb687 end_block # label18: f64.add $push342=, $0, $0 @@ -1320,7 +1320,7 @@ foo: # @foo f64.mul $push360=, $0, $pop359 f64.const $push361=, 0x1.7d3c36113404fp-2 f64.add $1=, $pop360, $pop361 - br 17 # 17: down to label0 + return $1 .LBB0_49: # %sw.bb702 end_block # label17: f64.add $push322=, $0, $0 @@ -1345,7 +1345,7 @@ foo: # @foo f64.mul $push340=, $0, $pop339 f64.const $push341=, 0x1.8c8366516db0ep-2 f64.add $1=, $pop340, $pop341 - br 16 # 16: down to label0 + return $1 .LBB0_50: # %sw.bb717 end_block # label16: f64.add $push302=, $0, $0 @@ -1370,7 +1370,7 @@ foo: # @foo f64.mul $push320=, $0, $pop319 f64.const $push321=, 0x1.9c7cd898b2e9dp-2 f64.add $1=, $pop320, $pop321 - br 15 # 15: down to label0 + return $1 .LBB0_51: # %sw.bb732 end_block # label15: f64.add $push282=, $0, $0 @@ -1395,7 +1395,7 @@ foo: # @foo f64.mul $push300=, $0, $pop299 f64.const $push301=, 0x1.ad330941c8217p-2 f64.add $1=, $pop300, $pop301 - br 14 # 14: down to label0 + return $1 .LBB0_52: # %sw.bb747 end_block # label14: f64.add $push262=, $0, $0 @@ -1420,7 +1420,7 @@ foo: # @foo f64.mul $push280=, $0, $pop279 f64.const $push281=, 0x1.beadd590c0adp-2 f64.add $1=, $pop280, $pop281 - br 13 # 13: down to label0 + return $1 .LBB0_53: # %sw.bb762 end_block # label13: f64.add $push242=, $0, $0 @@ -1445,7 +1445,7 @@ foo: # @foo f64.mul $push260=, $0, $pop259 f64.const $push261=, 0x1.d0fcf80dc3372p-2 f64.add $1=, $pop260, $pop261 - br 12 # 12: down to label0 + return $1 .LBB0_54: # %sw.bb777 end_block # label12: f64.add $push222=, $0, $0 @@ -1470,7 +1470,7 @@ foo: # @foo f64.mul $push240=, $0, $pop239 f64.const $push241=, 0x1.e42aed1394318p-2 f64.add $1=, $pop240, $pop241 - br 11 # 11: down to label0 + return $1 .LBB0_55: # %sw.bb792 end_block # label11: f64.add $push202=, $0, $0 @@ -1495,7 +1495,7 @@ foo: # @foo f64.mul $push220=, $0, $pop219 f64.const $push221=, 0x1.f83f91e646f15p-2 f64.add $1=, $pop220, $pop221 - br 10 # 10: down to label0 + return $1 .LBB0_56: # %sw.bb807 end_block # label10: f64.add $push182=, $0, $0 @@ -1520,7 +1520,7 @@ foo: # @foo f64.mul $push200=, $0, $pop199 f64.const $push201=, 0x1.06a550870110ap-1 f64.add $1=, $pop200, $pop201 - br 9 # 9: down to label0 + return $1 .LBB0_57: # %sw.bb822 end_block # label9: f64.add $push162=, $0, $0 @@ -1545,7 +1545,7 @@ foo: # @foo f64.mul $push180=, $0, $pop179 f64.const $push181=, 0x1.11adea897635ep-1 f64.add $1=, $pop180, $pop181 - br 8 # 8: down to label0 + return $1 .LBB0_58: # %sw.bb837 end_block # label8: f64.add $push142=, $0, $0 @@ -1570,7 +1570,7 @@ foo: # @foo f64.mul $push160=, $0, $pop159 f64.const $push161=, 0x1.1d3ed527e5215p-1 f64.add $1=, $pop160, $pop161 - br 7 # 7: down to label0 + return $1 .LBB0_59: # %sw.bb852 end_block # label7: f64.add $push122=, $0, $0 @@ -1595,7 +1595,7 @@ foo: # @foo f64.mul $push140=, $0, $pop139 f64.const $push141=, 0x1.29613d31b9b67p-1 f64.add $1=, $pop140, $pop141 - br 6 # 6: down to label0 + return $1 .LBB0_60: # %sw.bb867 end_block # label6: f64.add $push102=, $0, $0 @@ -1620,7 +1620,7 @@ foo: # @foo f64.mul $push120=, $0, $pop119 f64.const $push121=, 0x1.361cffeb074a7p-1 f64.add $1=, $pop120, $pop121 - br 5 # 5: down to label0 + return $1 .LBB0_61: # %sw.bb882 end_block # label5: f64.add $push82=, $0, $0 @@ -1645,7 +1645,7 @@ foo: # @foo f64.mul $push100=, $0, $pop99 f64.const $push101=, 0x1.4378ab0c88a48p-1 f64.add $1=, $pop100, $pop101 - br 4 # 4: down to label0 + return $1 .LBB0_62: # %sw.bb897 end_block # label4: f64.add $push62=, $0, $0 @@ -1670,7 +1670,7 @@ foo: # @foo f64.mul $push80=, $0, $pop79 f64.const $push81=, 0x1.51800a7c5ac47p-1 f64.add $1=, $pop80, $pop81 - br 3 # 3: down to label0 + return $1 .LBB0_63: # %sw.bb912 end_block # label3: f64.add $push42=, $0, $0 @@ -1695,7 +1695,7 @@ foo: # @foo f64.mul $push60=, $0, $pop59 f64.const $push61=, 0x1.603afb7e90ff9p-1 f64.add $1=, $pop60, $pop61 - br 2 # 2: down to label0 + return $1 .LBB0_64: # %sw.bb927 end_block # label2: f64.add $push22=, $0, $0 @@ -1720,7 +1720,7 @@ foo: # @foo f64.mul $push40=, $0, $pop39 f64.const $push41=, 0x1.6fb549f94855ep-1 f64.add $1=, $pop40, $pop41 - br 1 # 1: down to label0 + return $1 .LBB0_65: # %sw.bb942 end_block # label1: f64.add $push2=, $0, $0 diff --git a/test/torture-s/pr59229.c.s b/test/torture-s/pr59229.c.s index 606351a40..ec66fe210 100644 --- a/test/torture-s/pr59229.c.s +++ b/test/torture-s/pr59229.c.s @@ -49,14 +49,14 @@ bar: # @bar .type foo,@function foo: # @foo .param i32, i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $7=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $7=, 0($3), $7 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $4=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $4 block i32.const $push0=, -1 i32.add $push1=, $1, $pop0 @@ -66,18 +66,18 @@ foo: # @foo # BB#1: # %if.end i32.const $push4=, 1 i32.add $push5=, $1, $pop4 - i32.const $5=, 9 - i32.add $5=, $7, $5 - i32.call $discard=, memcpy@FUNCTION, $5, $0, $pop5 - i32.const $6=, 9 - i32.add $6=, $7, $6 - call bar@FUNCTION, $6 + i32.const $2=, 9 + i32.add $2=, $4, $2 + i32.call $discard=, memcpy@FUNCTION, $2, $0, $pop5 + i32.const $3=, 9 + i32.add $3=, $4, $3 + call bar@FUNCTION, $3 .LBB1_2: # %return end_block # label1: - i32.const $4=, 16 - i32.add $7=, $7, $4 - i32.const $4=, __stack_pointer - i32.store $7=, 0($4), $7 + i32.const $push10=, 16 + i32.add $4=, $4, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $4 return .endfunc .Lfunc_end1: diff --git a/test/torture-s/pr59358.c.s b/test/torture-s/pr59358.c.s index d0c0269eb..0adb92160 100644 --- a/test/torture-s/pr59358.c.s +++ b/test/torture-s/pr59358.c.s @@ -12,32 +12,30 @@ foo: # @foo i32.load $2=, 0($0) block block - block i32.const $push0=, 16 i32.gt_s $push1=, $1, $pop0 - br_if 0, $pop1 # 0: down to label2 + br_if 0, $pop1 # 0: down to label1 # BB#1: # %entry i32.ge_s $push2=, $2, $1 - br_if 1, $pop2 # 1: down to label1 + br_if 1, $pop2 # 1: down to label0 .LBB0_2: # %while.cond # =>This Inner Loop Header: Depth=1 - loop # label3: + loop # label2: copy_local $0=, $2 i32.const $push4=, 1 i32.shl $2=, $0, $pop4 i32.lt_s $push3=, $0, $1 - br_if 0, $pop3 # 0: up to label3 - br 4 # 4: down to label0 -.LBB0_3: - end_loop # label4: - end_block # label2: - copy_local $0=, $2 - br 1 # 1: down to label0 + br_if 0, $pop3 # 0: up to label2 +# BB#3: # %if.end + end_loop # label3: + return $0 .LBB0_4: end_block # label1: copy_local $0=, $2 -.LBB0_5: # %if.end + return $0 +.LBB0_5: end_block # label0: + copy_local $0=, $2 return $0 .endfunc .Lfunc_end0: @@ -49,27 +47,27 @@ foo: # @foo .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, i32, i32, i32, i32 # BB#0: # %entry - i32.const $7=, __stack_pointer - i32.load $7=, 0($7) - i32.const $8=, 16 - i32.sub $12=, $7, $8 - i32.const $8=, __stack_pointer - i32.store $12=, 0($8), $12 + i32.const $push35=, __stack_pointer + i32.load $push36=, 0($pop35) + i32.const $push37=, 16 + i32.sub $9=, $pop36, $pop37 + i32.const $push38=, __stack_pointer + i32.store $discard=, 0($pop38), $9 i32.const $push0=, 1 - i32.store $4=, 12($12), $pop0 + i32.store $4=, 12($9), $pop0 i32.const $0=, 2 i32.const $1=, 2 copy_local $2=, $4 .LBB1_1: # %for.body # =>This Inner Loop Header: Depth=1 block - loop # label6: + loop # label5: i32.const $push18=, 16 - i32.const $10=, 12 - i32.add $10=, $12, $10 - i32.call $3=, foo@FUNCTION, $10, $pop18 + i32.const $7=, 12 + i32.add $7=, $9, $7 + i32.call $3=, foo@FUNCTION, $7, $pop18 copy_local $5=, $0 block i32.const $push17=, -1 @@ -79,7 +77,7 @@ main: # @main i32.and $push1=, $pop15, $pop14 i32.const $push13=, 8 i32.eq $push2=, $pop1, $pop13 - br_if 0, $pop2 # 0: down to label8 + br_if 0, $pop2 # 0: down to label7 # BB#2: # %if.else # in Loop: Header=BB1_1 Depth=1 block @@ -87,15 +85,15 @@ main: # @main i32.and $push3=, $6, $pop20 i32.const $push19=, 4 i32.ne $push4=, $pop3, $pop19 - br_if 0, $pop4 # 0: down to label9 + br_if 0, $pop4 # 0: down to label8 # BB#3: # %if.then6 # in Loop: Header=BB1_1 Depth=1 i32.const $push21=, 2 i32.shl $5=, $2, $pop21 - br 1 # 1: down to label8 + br 1 # 1: down to label7 .LBB1_4: # %if.else10 # in Loop: Header=BB1_1 Depth=1 - end_block # label9: + end_block # label8: i32.const $push24=, 24 i32.const $push23=, 16 i32.const $push22=, 4 @@ -103,26 +101,26 @@ main: # @main i32.select $5=, $pop24, $pop23, $pop5 .LBB1_5: # %if.end15 # in Loop: Header=BB1_1 Depth=1 - end_block # label8: + end_block # label7: i32.ne $push6=, $3, $5 - br_if 2, $pop6 # 2: down to label5 + br_if 2, $pop6 # 2: down to label4 # BB#6: # %if.end18 # in Loop: Header=BB1_1 Depth=1 i32.const $push26=, 7 - i32.const $11=, 12 - i32.add $11=, $12, $11 - i32.call $3=, foo@FUNCTION, $11, $pop26 + i32.const $8=, 12 + i32.add $8=, $9, $8 + i32.call $3=, foo@FUNCTION, $8, $pop26 copy_local $5=, $2 block i32.const $push25=, 6 i32.gt_s $push7=, $6, $pop25 - br_if 0, $pop7 # 0: down to label10 + br_if 0, $pop7 # 0: down to label9 # BB#7: # %if.else22 # in Loop: Header=BB1_1 Depth=1 copy_local $5=, $0 i32.const $push27=, 3 i32.gt_s $push8=, $6, $pop27 - br_if 0, $pop8 # 0: down to label10 + br_if 0, $pop8 # 0: down to label9 # BB#8: # %if.else28 # in Loop: Header=BB1_1 Depth=1 i32.const $push30=, 12 @@ -132,30 +130,30 @@ main: # @main i32.select $5=, $pop30, $pop29, $pop9 .LBB1_9: # %if.end34 # in Loop: Header=BB1_1 Depth=1 - end_block # label10: + end_block # label9: i32.ne $push10=, $3, $5 - br_if 2, $pop10 # 2: down to label5 + br_if 2, $pop10 # 2: down to label4 # BB#10: # %if.end37 # in Loop: Header=BB1_1 Depth=1 i32.add $2=, $2, $4 i32.const $push34=, 2 i32.add $0=, $0, $pop34 - i32.store $push33=, 12($12), $1 + i32.store $push33=, 12($9), $1 tee_local $push32=, $6=, $pop33 i32.add $1=, $pop32, $4 i32.const $push31=, 17 i32.lt_s $push11=, $6, $pop31 - br_if 0, $pop11 # 0: up to label6 + br_if 0, $pop11 # 0: up to label5 # BB#11: # %for.end - end_loop # label7: + end_loop # label6: i32.const $push12=, 0 - i32.const $9=, 16 - i32.add $12=, $12, $9 - i32.const $9=, __stack_pointer - i32.store $12=, 0($9), $12 + i32.const $push39=, 16 + i32.add $9=, $9, $pop39 + i32.const $push40=, __stack_pointer + i32.store $discard=, 0($pop40), $9 return $pop12 .LBB1_12: # %if.then36 - end_block # label5: + end_block # label4: call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/pr59643.c.s b/test/torture-s/pr59643.c.s index 56e51422f..f93995812 100644 --- a/test/torture-s/pr59643.c.s +++ b/test/torture-s/pr59643.c.s @@ -65,22 +65,22 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, f64, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, f64, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $6=, __stack_pointer - i32.load $6=, 0($6) - i32.const $7=, 768 - i32.sub $14=, $6, $7 - i32.const $7=, __stack_pointer - i32.store $14=, 0($7), $14 + i32.const $push30=, __stack_pointer + i32.load $push31=, 0($pop30) + i32.const $push32=, 768 + i32.sub $11=, $pop31, $pop32 + i32.const $push33=, __stack_pointer + i32.store $discard=, 0($pop33), $11 i32.const $3=, 0 - i32.const $9=, 512 - i32.add $9=, $14, $9 - copy_local $2=, $9 - i32.const $10=, 256 - i32.add $10=, $14, $10 - copy_local $1=, $10 - copy_local $0=, $14 + i32.const $6=, 512 + i32.add $6=, $11, $6 + copy_local $2=, $6 + i32.const $7=, 256 + i32.add $7=, $11, $7 + copy_local $1=, $7 + copy_local $0=, $11 .LBB1_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label3: @@ -115,20 +115,20 @@ main: # @main f64.const $push8=, 0x1p1 f64.const $push7=, 0x1.8p1 i32.const $push6=, 32 - i32.const $11=, 512 - i32.add $11=, $14, $11 - i32.const $12=, 256 - i32.add $12=, $14, $12 - call foo@FUNCTION, $11, $12, $14, $pop8, $pop7, $pop6 + i32.const $8=, 512 + i32.add $8=, $11, $8 + i32.const $9=, 256 + i32.add $9=, $11, $9 + call foo@FUNCTION, $8, $9, $11, $pop8, $pop7, $pop6 i32.const $3=, 0 i32.const $2=, 0 .LBB1_3: # %for.body12 # =>This Inner Loop Header: Depth=1 block loop # label6: - i32.const $13=, 512 - i32.add $13=, $14, $13 - i32.add $push9=, $13, $3 + i32.const $10=, 512 + i32.add $10=, $11, $10 + i32.add $push9=, $10, $3 f64.load $push10=, 0($pop9) f64.load $push11=, expected($3) f64.ne $push12=, $pop10, $pop11 @@ -145,10 +145,10 @@ main: # @main # BB#5: # %for.end19 end_loop # label7: i32.const $push14=, 0 - i32.const $8=, 768 - i32.add $14=, $14, $8 - i32.const $8=, __stack_pointer - i32.store $14=, 0($8), $14 + i32.const $push34=, 768 + i32.add $11=, $11, $pop34 + i32.const $push35=, __stack_pointer + i32.store $discard=, 0($pop35), $11 return $pop14 .LBB1_6: # %if.then end_block # label5: diff --git a/test/torture-s/pr60960.c.s b/test/torture-s/pr60960.c.s index af14501cc..6b53b04a7 100644 --- a/test/torture-s/pr60960.c.s +++ b/test/torture-s/pr60960.c.s @@ -124,139 +124,103 @@ f3: # @f3 .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $15=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $15=, 0($1), $15 - i32.const $push65=, 5 - i32.const $push64=, 5 - i32.const $push63=, 5 - i32.const $push62=, 5 - i32.const $3=, 12 - i32.add $3=, $15, $3 - call f1@FUNCTION, $3, $pop65, $pop64, $pop63, $pop62 - i32.load8_u $push10=, 12($15):p2align=2 - i32.const $push61=, 1 - i32.const $4=, 12 - i32.add $4=, $15, $4 - i32.or $push7=, $4, $pop61 - i32.load8_u $push8=, 0($pop7) - i32.const $push60=, 8 - i32.shl $push9=, $pop8, $pop60 - i32.or $push11=, $pop10, $pop9 - i32.const $push59=, 65535 - i32.and $push12=, $pop11, $pop59 - i32.const $push58=, 2 - i32.const $5=, 12 - i32.add $5=, $15, $5 - i32.or $push3=, $5, $pop58 - i32.load8_u $push4=, 0($pop3):p2align=1 - i32.const $push57=, 3 - i32.const $6=, 12 - i32.add $6=, $15, $6 + i32.const $push68=, __stack_pointer + i32.load $push69=, 0($pop68) + i32.const $push70=, 16 + i32.sub $3=, $pop69, $pop70 + i32.const $push71=, __stack_pointer + i32.store $discard=, 0($pop71), $3 + i32.const $push51=, 5 + i32.const $push50=, 5 + i32.const $push49=, 5 + i32.const $push48=, 5 + i32.const $0=, 12 + i32.add $0=, $3, $0 + call f1@FUNCTION, $0, $pop51, $pop50, $pop49, $pop48 block - i32.or $push0=, $6, $pop57 - i32.load8_u $push1=, 0($pop0) - i32.const $push56=, 8 - i32.shl $push2=, $pop1, $pop56 - i32.or $push5=, $pop4, $pop2 - i32.const $push55=, 16 - i32.shl $push6=, $pop5, $pop55 - i32.or $push13=, $pop12, $pop6 - i32.const $push54=, 33686018 - i32.ne $push14=, $pop13, $pop54 - br_if 0, $pop14 # 0: down to label0 + i32.load8_u $push7=, 12($3):p2align=2 + i32.load8_u $push5=, 13($3) + i32.const $push47=, 8 + i32.shl $push6=, $pop5, $pop47 + i32.or $push8=, $pop7, $pop6 + i32.const $push46=, 65535 + i32.and $push9=, $pop8, $pop46 + i32.load8_u $push2=, 14($3):p2align=1 + i32.load8_u $push0=, 15($3) + i32.const $push45=, 8 + i32.shl $push1=, $pop0, $pop45 + i32.or $push3=, $pop2, $pop1 + i32.const $push44=, 16 + i32.shl $push4=, $pop3, $pop44 + i32.or $push10=, $pop9, $pop4 + i32.const $push43=, 33686018 + i32.ne $push11=, $pop10, $pop43 + br_if 0, $pop11 # 0: down to label0 # BB#1: # %if.end - i32.const $push77=, 5 - i32.const $push76=, 5 - i32.const $push75=, 5 - i32.const $push74=, 5 - i32.const $7=, 8 - i32.add $7=, $15, $7 - call f2@FUNCTION, $7, $pop77, $pop76, $pop75, $pop74 - i32.load8_u $push25=, 8($15):p2align=2 - i32.const $push73=, 1 - i32.const $8=, 8 - i32.add $8=, $15, $8 - i32.or $push22=, $8, $pop73 - i32.load8_u $push23=, 0($pop22) - i32.const $push72=, 8 - i32.shl $push24=, $pop23, $pop72 - i32.or $push26=, $pop25, $pop24 - i32.const $push71=, 65535 - i32.and $push27=, $pop26, $pop71 - i32.const $push70=, 2 - i32.const $9=, 8 - i32.add $9=, $15, $9 - i32.or $push18=, $9, $pop70 - i32.load8_u $push19=, 0($pop18):p2align=1 - i32.const $push69=, 3 - i32.const $10=, 8 - i32.add $10=, $15, $10 - i32.or $push15=, $10, $pop69 - i32.load8_u $push16=, 0($pop15) - i32.const $push68=, 8 - i32.shl $push17=, $pop16, $pop68 - i32.or $push20=, $pop19, $pop17 - i32.const $push67=, 16 - i32.shl $push21=, $pop20, $pop67 - i32.or $push28=, $pop27, $pop21 - i32.const $push66=, 33686018 - i32.ne $push29=, $pop28, $pop66 - br_if 0, $pop29 # 0: down to label0 + i32.const $push60=, 5 + i32.const $push59=, 5 + i32.const $push58=, 5 + i32.const $push57=, 5 + i32.const $1=, 8 + i32.add $1=, $3, $1 + call f2@FUNCTION, $1, $pop60, $pop59, $pop58, $pop57 + i32.load8_u $push19=, 8($3):p2align=2 + i32.load8_u $push17=, 9($3) + i32.const $push56=, 8 + i32.shl $push18=, $pop17, $pop56 + i32.or $push20=, $pop19, $pop18 + i32.const $push55=, 65535 + i32.and $push21=, $pop20, $pop55 + i32.load8_u $push14=, 10($3):p2align=1 + i32.load8_u $push12=, 11($3) + i32.const $push54=, 8 + i32.shl $push13=, $pop12, $pop54 + i32.or $push15=, $pop14, $pop13 + i32.const $push53=, 16 + i32.shl $push16=, $pop15, $pop53 + i32.or $push22=, $pop21, $pop16 + i32.const $push52=, 33686018 + i32.ne $push23=, $pop22, $pop52 + br_if 0, $pop23 # 0: down to label0 # BB#2: # %if.end6 - i32.const $push31=, 5 - i32.const $push85=, 5 - i32.const $push84=, 5 - i32.const $push83=, 5 - i32.const $push30=, 2 - i32.const $push82=, 2 - i32.const $push81=, 2 - i32.const $push80=, 2 - i32.const $11=, 4 - i32.add $11=, $15, $11 - call f3@FUNCTION, $11, $pop31, $pop85, $pop84, $pop83, $pop30, $pop82, $pop81, $pop80 - i32.load8_u $push46=, 4($15):p2align=2 - i32.const $push42=, 1 - i32.const $12=, 4 - i32.add $12=, $15, $12 - i32.or $push43=, $12, $pop42 - i32.load8_u $push44=, 0($pop43) - i32.const $push35=, 8 - i32.shl $push45=, $pop44, $pop35 - i32.or $push47=, $pop46, $pop45 - i32.const $push48=, 65535 - i32.and $push49=, $pop47, $pop48 - i32.const $push79=, 2 - i32.const $13=, 4 - i32.add $13=, $15, $13 - i32.or $push37=, $13, $pop79 - i32.load8_u $push38=, 0($pop37):p2align=1 - i32.const $push32=, 3 - i32.const $14=, 4 - i32.add $14=, $15, $14 - i32.or $push33=, $14, $pop32 - i32.load8_u $push34=, 0($pop33) - i32.const $push78=, 8 - i32.shl $push36=, $pop34, $pop78 - i32.or $push39=, $pop38, $pop36 - i32.const $push40=, 16 - i32.shl $push41=, $pop39, $pop40 - i32.or $push50=, $pop49, $pop41 - i32.const $push51=, 33686018 - i32.ne $push52=, $pop50, $pop51 - br_if 0, $pop52 # 0: down to label0 + i32.const $push25=, 5 + i32.const $push67=, 5 + i32.const $push66=, 5 + i32.const $push65=, 5 + i32.const $push24=, 2 + i32.const $push64=, 2 + i32.const $push63=, 2 + i32.const $push62=, 2 + i32.const $2=, 4 + i32.add $2=, $3, $2 + call f3@FUNCTION, $2, $pop25, $pop67, $pop66, $pop65, $pop24, $pop64, $pop63, $pop62 + i32.load8_u $push35=, 4($3):p2align=2 + i32.load8_u $push33=, 5($3) + i32.const $push27=, 8 + i32.shl $push34=, $pop33, $pop27 + i32.or $push36=, $pop35, $pop34 + i32.const $push37=, 65535 + i32.and $push38=, $pop36, $pop37 + i32.load8_u $push29=, 6($3):p2align=1 + i32.load8_u $push26=, 7($3) + i32.const $push61=, 8 + i32.shl $push28=, $pop26, $pop61 + i32.or $push30=, $pop29, $pop28 + i32.const $push31=, 16 + i32.shl $push32=, $pop30, $pop31 + i32.or $push39=, $pop38, $pop32 + i32.const $push40=, 33686018 + i32.ne $push41=, $pop39, $pop40 + br_if 0, $pop41 # 0: down to label0 # BB#3: # %if.end11 - i32.const $push53=, 0 - i32.const $2=, 16 - i32.add $15=, $15, $2 - i32.const $2=, __stack_pointer - i32.store $15=, 0($2), $15 - return $pop53 + i32.const $push42=, 0 + i32.const $push72=, 16 + i32.add $3=, $3, $pop72 + i32.const $push73=, __stack_pointer + i32.store $discard=, 0($pop73), $3 + return $pop42 .LBB3_4: # %if.then10 end_block # label0: call abort@FUNCTION diff --git a/test/torture-s/printf-1.c.s b/test/torture-s/printf-1.c.s index 27594ee0c..caf545c9d 100644 --- a/test/torture-s/printf-1.c.s +++ b/test/torture-s/printf-1.c.s @@ -6,14 +6,14 @@ .type main,@function main: # @main .result i32 - .local 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 # BB#0: # %entry - 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 $push59=, __stack_pointer + i32.load $push60=, 0($pop59) + i32.const $push61=, 192 + i32.sub $12=, $pop60, $pop61 + i32.const $push62=, __stack_pointer + i32.store $discard=, 0($pop62), $12 i32.const $push45=, .Lstr i32.const $push44=, 0 i32.call $discard=, printf@FUNCTION, $pop45, $pop44 @@ -44,71 +44,71 @@ main: # @main br_if 0, $pop12 # 0: down to label0 # BB#3: # %if.end16 i32.const $push13=, .Lstr - i32.store $0=, 176($15):p2align=4, $pop13 + i32.store $0=, 176($12):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 $1=, 176 + i32.add $1=, $12, $1 + i32.call $discard=, printf@FUNCTION, $pop49, $1 + i32.store $discard=, 160($12):p2align=4, $0 i32.const $push48=, .L.str.4 - i32.const $5=, 160 - i32.add $5=, $15, $5 - i32.call $push14=, printf@FUNCTION, $pop48, $5 + i32.const $2=, 160 + i32.add $2=, $12, $2 + i32.call $push14=, printf@FUNCTION, $pop48, $2 i32.const $push15=, 5 i32.ne $push16=, $pop14, $pop15 br_if 0, $pop16 # 0: down to label0 # BB#4: # %if.end21 i32.const $push17=, .L.str.1 - i32.store $0=, 144($15):p2align=4, $pop17 + i32.store $0=, 144($12):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 $3=, 144 + i32.add $3=, $12, $3 + i32.call $discard=, printf@FUNCTION, $pop51, $3 + i32.store $discard=, 128($12):p2align=4, $0 i32.const $push50=, .L.str.4 - i32.const $7=, 128 - i32.add $7=, $15, $7 - i32.call $push18=, printf@FUNCTION, $pop50, $7 + i32.const $4=, 128 + i32.add $4=, $12, $4 + i32.call $push18=, printf@FUNCTION, $pop50, $4 i32.const $push19=, 6 i32.ne $push20=, $pop18, $pop19 br_if 0, $pop20 # 0: down to label0 # BB#5: # %if.end26 i32.const $push21=, .L.str.2 - i32.store $0=, 112($15):p2align=4, $pop21 + i32.store $0=, 112($12):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 $5=, 112 + i32.add $5=, $12, $5 + i32.call $discard=, printf@FUNCTION, $pop53, $5 + i32.store $discard=, 96($12):p2align=4, $0 i32.const $push52=, .L.str.4 - i32.const $9=, 96 - i32.add $9=, $15, $9 - i32.call $push22=, printf@FUNCTION, $pop52, $9 + i32.const $6=, 96 + i32.add $6=, $12, $6 + i32.call $push22=, printf@FUNCTION, $pop52, $6 i32.const $push23=, 1 i32.ne $push24=, $pop22, $pop23 br_if 0, $pop24 # 0: down to label0 # BB#6: # %if.end31 i32.const $push25=, .L.str.3 - i32.store $0=, 80($15):p2align=4, $pop25 + i32.store $0=, 80($12):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 $7=, 80 + i32.add $7=, $12, $7 + i32.call $discard=, printf@FUNCTION, $pop55, $7 + i32.store $discard=, 64($12):p2align=4, $0 i32.const $push54=, .L.str.4 - i32.const $11=, 64 - i32.add $11=, $15, $11 - i32.call $push26=, printf@FUNCTION, $pop54, $11 + i32.const $8=, 64 + i32.add $8=, $12, $8 + i32.call $push26=, printf@FUNCTION, $pop54, $8 br_if 0, $pop26 # 0: down to label0 # BB#7: # %if.end36 i32.const $push27=, 120 i32.call $discard=, putchar@FUNCTION, $pop27 i32.const $push56=, 120 - i32.store $discard=, 48($15):p2align=4, $pop56 + i32.store $discard=, 48($12):p2align=4, $pop56 i32.const $push28=, .L.str.5 - i32.const $12=, 48 - i32.add $12=, $15, $12 - i32.call $push29=, printf@FUNCTION, $pop28, $12 + i32.const $9=, 48 + i32.add $9=, $12, $9 + i32.call $push29=, printf@FUNCTION, $pop28, $9 i32.const $push30=, 1 i32.ne $push31=, $pop29, $pop30 br_if 0, $pop31 # 0: down to label0 @@ -116,32 +116,32 @@ main: # @main 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.store $discard=, 32($12):p2align=4, $pop57 i32.const $push33=, .L.str.6 - i32.const $13=, 32 - i32.add $13=, $15, $13 - i32.call $push34=, printf@FUNCTION, $pop33, $13 + i32.const $10=, 32 + i32.add $10=, $12, $10 + i32.call $push34=, printf@FUNCTION, $pop33, $10 i32.const $push35=, 7 i32.ne $push36=, $pop34, $pop35 br_if 0, $pop36 # 0: down to label0 # BB#9: # %if.end46 i32.const $push37=, 0 - i32.store $0=, 16($15):p2align=4, $pop37 + i32.store $0=, 16($12):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 + i32.const $11=, 16 + i32.add $11=, $12, $11 + i32.call $discard=, printf@FUNCTION, $pop38, $11 + i32.store $discard=, 0($12):p2align=4, $0 i32.const $push58=, .L.str.7 - i32.call $push39=, printf@FUNCTION, $pop58, $15 + i32.call $push39=, printf@FUNCTION, $pop58, $12 i32.const $push40=, 2 i32.ne $push41=, $pop39, $pop40 br_if 0, $pop41 # 0: down to label0 # BB#10: # %if.end51 - i32.const $3=, 192 - i32.add $15=, $15, $3 - i32.const $3=, __stack_pointer - i32.store $15=, 0($3), $15 + i32.const $push63=, 192 + i32.add $12=, $12, $pop63 + i32.const $push64=, __stack_pointer + i32.store $discard=, 0($pop64), $12 return $0 .LBB0_11: # %if.then50 end_block # label0: diff --git a/test/torture-s/printf-chk-1.c.s b/test/torture-s/printf-chk-1.c.s index edfcd9edf..54c8fec78 100644 --- a/test/torture-s/printf-chk-1.c.s +++ b/test/torture-s/printf-chk-1.c.s @@ -7,14 +7,14 @@ __printf_chk: # @__printf_chk .param i32, i32, i32 .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.const $push8=, __stack_pointer + i32.load $push9=, 0($pop8) + i32.const $push10=, 16 + i32.sub $3=, $pop9, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $3 block i32.const $push5=, 0 i32.load $push0=, should_optimize($pop5) @@ -25,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($6), $2 + i32.store $push2=, 12($3), $2 i32.call $push4=, vfprintf@FUNCTION, $pop3, $1, $pop2 - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push12=, 16 + i32.add $3=, $3, $pop12 + i32.const $push13=, __stack_pointer + i32.store $discard=, 0($pop13), $3 return $pop4 .LBB0_2: # %if.then end_block # label0: @@ -46,14 +46,14 @@ __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 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - 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 $push142=, __stack_pointer + i32.load $push143=, 0($pop142) + i32.const $push144=, 224 + i32.sub $15=, $pop143, $pop144 + i32.const $push145=, __stack_pointer + i32.store $discard=, 0($pop145), $15 i32.const $push77=, .L.str i32.const $push0=, 0 i32.const $push76=, 0 @@ -62,9 +62,9 @@ main: # @main i32.call $discard=, __printf_chk@FUNCTION, $1, $pop77, $pop74 block i32.load $push1=, should_optimize($1) - i32.const $push142=, 0 - i32.eq $push143=, $pop1, $pop142 - br_if 0, $pop143 # 0: down to label1 + i32.const $push148=, 0 + i32.eq $push149=, $pop1, $pop148 + br_if 0, $pop149 # 0: down to label1 # BB#1: # %if.end i32.const $push78=, .L.str i32.store $push2=, should_optimize($1), $1 @@ -75,9 +75,9 @@ main: # @main # BB#2: # %if.end3 i32.const $push79=, 0 i32.load $push6=, should_optimize($pop79) - i32.const $push144=, 0 - i32.eq $push145=, $pop6, $pop144 - br_if 0, $pop145 # 0: down to label1 + i32.const $push150=, 0 + i32.eq $push151=, $pop6, $pop150 + br_if 0, $pop151 # 0: down to label1 # BB#3: # %if.end6 i32.const $push83=, 0 i32.const $push7=, 1 @@ -87,9 +87,9 @@ main: # @main i32.call $discard=, __printf_chk@FUNCTION, $1, $pop82, $pop81 i32.const $push80=, 0 i32.load $push8=, should_optimize($pop80) - i32.const $push146=, 0 - i32.eq $push147=, $pop8, $pop146 - br_if 0, $pop147 # 0: down to label1 + i32.const $push152=, 0 + i32.eq $push153=, $pop8, $pop152 + br_if 0, $pop153 # 0: down to label1 # BB#4: # %if.end10 i32.const $push87=, .L.str.1 i32.const $push9=, 0 @@ -102,9 +102,9 @@ main: # @main br_if 0, $pop12 # 0: down to label1 # BB#5: # %if.end14 i32.load $push13=, should_optimize($1) - i32.const $push148=, 0 - i32.eq $push149=, $pop13, $pop148 - br_if 0, $pop149 # 0: down to label1 + i32.const $push154=, 0 + i32.eq $push155=, $pop13, $pop154 + br_if 0, $pop155 # 0: down to label1 # BB#6: # %if.end17 i32.const $push91=, 0 i32.const $push14=, 1 @@ -114,9 +114,9 @@ main: # @main i32.call $discard=, __printf_chk@FUNCTION, $1, $pop90, $pop89 i32.const $push88=, 0 i32.load $push15=, should_optimize($pop88) - i32.const $push150=, 0 - i32.eq $push151=, $pop15, $pop150 - br_if 0, $pop151 # 0: down to label1 + i32.const $push156=, 0 + i32.eq $push157=, $pop15, $pop156 + br_if 0, $pop157 # 0: down to label1 # BB#7: # %if.end21 i32.const $push94=, .L.str.2 i32.const $push93=, 0 @@ -128,9 +128,9 @@ main: # @main # BB#8: # %if.end25 i32.const $push95=, 0 i32.load $push19=, should_optimize($pop95) - i32.const $push152=, 0 - i32.eq $push153=, $pop19, $pop152 - br_if 0, $pop153 # 0: down to label1 + i32.const $push158=, 0 + i32.eq $push159=, $pop19, $pop158 + br_if 0, $pop159 # 0: down to label1 # BB#9: # %if.end28 i32.const $push99=, 0 i32.const $push20=, 1 @@ -140,9 +140,9 @@ main: # @main i32.call $discard=, __printf_chk@FUNCTION, $1, $pop98, $pop97 i32.const $push96=, 0 i32.load $push21=, should_optimize($pop96) - i32.const $push154=, 0 - i32.eq $push155=, $pop21, $pop154 - br_if 0, $pop155 # 0: down to label1 + i32.const $push160=, 0 + i32.eq $push161=, $pop21, $pop160 + br_if 0, $pop161 # 0: down to label1 # BB#10: # %if.end32 i32.const $push103=, .L.str.3 i32.const $push22=, 0 @@ -153,230 +153,230 @@ main: # @main br_if 0, $pop23 # 0: down to label1 # BB#11: # %if.end36 i32.load $push24=, should_optimize($1) - i32.const $push156=, 0 - i32.eq $push157=, $pop24, $pop156 - br_if 0, $pop157 # 0: down to label1 + i32.const $push162=, 0 + i32.eq $push163=, $pop24, $pop162 + br_if 0, $pop163 # 0: down to label1 # BB#12: # %if.end39 i32.const $push25=, 0 i32.const $push105=, 0 i32.store $1=, should_optimize($pop25), $pop105 i32.const $push26=, .L.str - i32.store $0=, 208($18):p2align=4, $pop26 + i32.store $0=, 208($15):p2align=4, $pop26 i32.const $push104=, .L.str.4 - i32.const $5=, 208 - i32.add $5=, $18, $5 - i32.call $discard=, __printf_chk@FUNCTION, $1, $pop104, $5 + i32.const $2=, 208 + i32.add $2=, $15, $2 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop104, $2 i32.load $push27=, should_optimize($1) - i32.const $push158=, 0 - i32.eq $push159=, $pop27, $pop158 - br_if 0, $pop159 # 0: down to label1 + i32.const $push164=, 0 + i32.eq $push165=, $pop27, $pop164 + br_if 0, $pop165 # 0: down to label1 # BB#13: # %if.end43 i32.store $discard=, should_optimize($1), $1 - i32.store $discard=, 192($18):p2align=4, $0 + i32.store $discard=, 192($15):p2align=4, $0 i32.const $push106=, .L.str.4 - i32.const $6=, 192 - i32.add $6=, $18, $6 - i32.call $push28=, __printf_chk@FUNCTION, $1, $pop106, $6 + i32.const $3=, 192 + i32.add $3=, $15, $3 + i32.call $push28=, __printf_chk@FUNCTION, $1, $pop106, $3 i32.const $push29=, 5 i32.ne $push30=, $pop28, $pop29 br_if 0, $pop30 # 0: down to label1 # BB#14: # %if.end47 i32.const $push107=, 0 i32.load $push31=, should_optimize($pop107) - i32.const $push160=, 0 - i32.eq $push161=, $pop31, $pop160 - br_if 0, $pop161 # 0: down to label1 + i32.const $push166=, 0 + i32.eq $push167=, $pop31, $pop166 + br_if 0, $pop167 # 0: down to label1 # BB#15: # %if.end50 i32.const $push110=, 0 i32.const $push32=, 1 i32.store $discard=, should_optimize($pop110), $pop32 i32.const $push33=, .L.str.1 - i32.store $1=, 176($18):p2align=4, $pop33 + i32.store $1=, 176($15):p2align=4, $pop33 i32.const $push109=, .L.str.4 - i32.const $7=, 176 - i32.add $7=, $18, $7 - i32.call $discard=, __printf_chk@FUNCTION, $1, $pop109, $7 + i32.const $4=, 176 + i32.add $4=, $15, $4 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop109, $4 i32.const $push108=, 0 i32.load $push34=, should_optimize($pop108) - i32.const $push162=, 0 - i32.eq $push163=, $pop34, $pop162 - br_if 0, $pop163 # 0: down to label1 + i32.const $push168=, 0 + i32.eq $push169=, $pop34, $pop168 + br_if 0, $pop169 # 0: down to label1 # BB#16: # %if.end54 i32.const $push35=, 0 i32.const $push112=, 0 i32.store $0=, should_optimize($pop35), $pop112 - i32.store $discard=, 160($18):p2align=4, $1 + i32.store $discard=, 160($15):p2align=4, $1 i32.const $push111=, .L.str.4 - i32.const $8=, 160 - i32.add $8=, $18, $8 - i32.call $push36=, __printf_chk@FUNCTION, $1, $pop111, $8 + i32.const $5=, 160 + i32.add $5=, $15, $5 + i32.call $push36=, __printf_chk@FUNCTION, $1, $pop111, $5 i32.const $push37=, 6 i32.ne $push38=, $pop36, $pop37 br_if 0, $pop38 # 0: down to label1 # BB#17: # %if.end58 i32.load $push39=, should_optimize($0) - i32.const $push164=, 0 - i32.eq $push165=, $pop39, $pop164 - br_if 0, $pop165 # 0: down to label1 + i32.const $push170=, 0 + i32.eq $push171=, $pop39, $pop170 + br_if 0, $pop171 # 0: down to label1 # BB#18: # %if.end61 i32.const $push115=, 0 i32.const $push40=, 1 i32.store $1=, should_optimize($pop115), $pop40 i32.const $push41=, .L.str.2 - i32.store $0=, 144($18):p2align=4, $pop41 + i32.store $0=, 144($15):p2align=4, $pop41 i32.const $push114=, .L.str.4 - i32.const $9=, 144 - i32.add $9=, $18, $9 - i32.call $discard=, __printf_chk@FUNCTION, $1, $pop114, $9 + i32.const $6=, 144 + i32.add $6=, $15, $6 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop114, $6 i32.const $push113=, 0 i32.load $push42=, should_optimize($pop113) - i32.const $push166=, 0 - i32.eq $push167=, $pop42, $pop166 - br_if 0, $pop167 # 0: down to label1 + i32.const $push172=, 0 + i32.eq $push173=, $pop42, $pop172 + br_if 0, $pop173 # 0: down to label1 # BB#19: # %if.end65 i32.const $push118=, 0 i32.const $push117=, 0 i32.store $discard=, should_optimize($pop118), $pop117 - i32.store $discard=, 128($18):p2align=4, $0 + i32.store $discard=, 128($15):p2align=4, $0 i32.const $push116=, .L.str.4 - i32.const $10=, 128 - i32.add $10=, $18, $10 - i32.call $push43=, __printf_chk@FUNCTION, $1, $pop116, $10 + i32.const $7=, 128 + i32.add $7=, $15, $7 + i32.call $push43=, __printf_chk@FUNCTION, $1, $pop116, $7 i32.ne $push44=, $pop43, $1 br_if 0, $pop44 # 0: down to label1 # BB#20: # %if.end69 i32.const $push119=, 0 i32.load $push45=, should_optimize($pop119) - i32.const $push168=, 0 - i32.eq $push169=, $pop45, $pop168 - br_if 0, $pop169 # 0: down to label1 + i32.const $push174=, 0 + i32.eq $push175=, $pop45, $pop174 + br_if 0, $pop175 # 0: down to label1 # BB#21: # %if.end72 i32.const $push122=, 0 i32.const $push46=, 1 i32.store $discard=, should_optimize($pop122), $pop46 i32.const $push47=, .L.str.3 - i32.store $1=, 112($18):p2align=4, $pop47 + i32.store $1=, 112($15):p2align=4, $pop47 i32.const $push121=, .L.str.4 - i32.const $11=, 112 - i32.add $11=, $18, $11 - i32.call $discard=, __printf_chk@FUNCTION, $1, $pop121, $11 + i32.const $8=, 112 + i32.add $8=, $15, $8 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop121, $8 i32.const $push120=, 0 i32.load $push48=, should_optimize($pop120) - i32.const $push170=, 0 - i32.eq $push171=, $pop48, $pop170 - br_if 0, $pop171 # 0: down to label1 + i32.const $push176=, 0 + i32.eq $push177=, $pop48, $pop176 + br_if 0, $pop177 # 0: down to label1 # BB#22: # %if.end76 i32.const $push49=, 0 i32.const $push124=, 0 i32.store $0=, should_optimize($pop49), $pop124 - i32.store $discard=, 96($18):p2align=4, $1 + i32.store $discard=, 96($15):p2align=4, $1 i32.const $push123=, .L.str.4 - i32.const $12=, 96 - i32.add $12=, $18, $12 - i32.call $push50=, __printf_chk@FUNCTION, $1, $pop123, $12 + i32.const $9=, 96 + i32.add $9=, $15, $9 + i32.call $push50=, __printf_chk@FUNCTION, $1, $pop123, $9 br_if 0, $pop50 # 0: down to label1 # BB#23: # %if.end80 i32.load $push51=, should_optimize($0) - i32.const $push172=, 0 - i32.eq $push173=, $pop51, $pop172 - br_if 0, $pop173 # 0: down to label1 + i32.const $push178=, 0 + i32.eq $push179=, $pop51, $pop178 + br_if 0, $pop179 # 0: down to label1 # BB#24: # %if.end83 i32.const $push127=, 0 i32.const $push52=, 1 i32.store $1=, should_optimize($pop127), $pop52 i32.const $push53=, 120 - i32.store $0=, 80($18):p2align=4, $pop53 + i32.store $0=, 80($15):p2align=4, $pop53 i32.const $push126=, .L.str.5 - i32.const $13=, 80 - i32.add $13=, $18, $13 - i32.call $discard=, __printf_chk@FUNCTION, $1, $pop126, $13 + i32.const $10=, 80 + i32.add $10=, $15, $10 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop126, $10 i32.const $push125=, 0 i32.load $push54=, should_optimize($pop125) - i32.const $push174=, 0 - i32.eq $push175=, $pop54, $pop174 - br_if 0, $pop175 # 0: down to label1 + i32.const $push180=, 0 + i32.eq $push181=, $pop54, $pop180 + br_if 0, $pop181 # 0: down to label1 # BB#25: # %if.end87 i32.const $push130=, 0 i32.const $push129=, 0 i32.store $discard=, should_optimize($pop130), $pop129 - i32.store $discard=, 64($18):p2align=4, $0 + i32.store $discard=, 64($15):p2align=4, $0 i32.const $push128=, .L.str.5 - i32.const $14=, 64 - i32.add $14=, $18, $14 - i32.call $push55=, __printf_chk@FUNCTION, $1, $pop128, $14 + i32.const $11=, 64 + i32.add $11=, $15, $11 + i32.call $push55=, __printf_chk@FUNCTION, $1, $pop128, $11 i32.ne $push56=, $pop55, $1 br_if 0, $pop56 # 0: down to label1 # BB#26: # %if.end91 i32.const $push131=, 0 i32.load $push57=, should_optimize($pop131) - i32.const $push176=, 0 - i32.eq $push177=, $pop57, $pop176 - br_if 0, $pop177 # 0: down to label1 + i32.const $push182=, 0 + i32.eq $push183=, $pop57, $pop182 + br_if 0, $pop183 # 0: down to label1 # BB#27: # %if.end94 i32.const $push134=, 0 i32.const $push58=, 1 i32.store $discard=, should_optimize($pop134), $pop58 i32.const $push59=, .L.str.1 - i32.store $1=, 48($18):p2align=4, $pop59 + i32.store $1=, 48($15):p2align=4, $pop59 i32.const $push133=, .L.str.6 - i32.const $15=, 48 - i32.add $15=, $18, $15 - i32.call $discard=, __printf_chk@FUNCTION, $1, $pop133, $15 + i32.const $12=, 48 + i32.add $12=, $15, $12 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop133, $12 i32.const $push132=, 0 i32.load $push60=, should_optimize($pop132) - i32.const $push178=, 0 - i32.eq $push179=, $pop60, $pop178 - br_if 0, $pop179 # 0: down to label1 + i32.const $push184=, 0 + i32.eq $push185=, $pop60, $pop184 + br_if 0, $pop185 # 0: down to label1 # BB#28: # %if.end98 i32.const $push61=, 0 i32.const $push136=, 0 i32.store $0=, should_optimize($pop61), $pop136 - i32.store $discard=, 32($18):p2align=4, $1 + i32.store $discard=, 32($15):p2align=4, $1 i32.const $push135=, .L.str.6 - i32.const $16=, 32 - i32.add $16=, $18, $16 - i32.call $push62=, __printf_chk@FUNCTION, $1, $pop135, $16 + i32.const $13=, 32 + i32.add $13=, $15, $13 + i32.call $push62=, __printf_chk@FUNCTION, $1, $pop135, $13 i32.const $push63=, 7 i32.ne $push64=, $pop62, $pop63 br_if 0, $pop64 # 0: down to label1 # BB#29: # %if.end102 i32.load $push65=, should_optimize($0) - i32.const $push180=, 0 - i32.eq $push181=, $pop65, $pop180 - br_if 0, $pop181 # 0: down to label1 + i32.const $push186=, 0 + i32.eq $push187=, $pop65, $pop186 + br_if 0, $pop187 # 0: down to label1 # BB#30: # %if.end105 i32.const $push66=, 0 i32.const $push138=, 0 i32.store $push67=, should_optimize($pop66), $pop138 - i32.store $1=, 16($18):p2align=4, $pop67 + i32.store $1=, 16($15):p2align=4, $pop67 i32.const $push137=, .L.str.7 - i32.const $17=, 16 - i32.add $17=, $18, $17 - i32.call $discard=, __printf_chk@FUNCTION, $1, $pop137, $17 + i32.const $14=, 16 + i32.add $14=, $15, $14 + i32.call $discard=, __printf_chk@FUNCTION, $1, $pop137, $14 i32.load $push68=, should_optimize($1) - i32.const $push182=, 0 - i32.eq $push183=, $pop68, $pop182 - br_if 0, $pop183 # 0: down to label1 + i32.const $push188=, 0 + i32.eq $push189=, $pop68, $pop188 + br_if 0, $pop189 # 0: down to label1 # BB#31: # %if.end109 i32.store $push69=, should_optimize($1), $1 - i32.store $discard=, 0($18):p2align=4, $pop69 + i32.store $discard=, 0($15):p2align=4, $pop69 i32.const $push139=, .L.str.7 - i32.call $push70=, __printf_chk@FUNCTION, $1, $pop139, $18 + i32.call $push70=, __printf_chk@FUNCTION, $1, $pop139, $15 i32.const $push71=, 2 i32.ne $push72=, $pop70, $pop71 br_if 0, $pop72 # 0: down to label1 # BB#32: # %if.end113 i32.const $push140=, 0 i32.load $push73=, should_optimize($pop140) - i32.const $push184=, 0 - i32.eq $push185=, $pop73, $pop184 - br_if 0, $pop185 # 0: down to label1 + i32.const $push190=, 0 + i32.eq $push191=, $pop73, $pop190 + br_if 0, $pop191 # 0: down to label1 # BB#33: # %if.end116 i32.const $push141=, 0 - i32.const $4=, 224 - i32.add $18=, $18, $4 - i32.const $4=, __stack_pointer - i32.store $18=, 0($4), $18 + i32.const $push146=, 224 + i32.add $15=, $15, $pop146 + i32.const $push147=, __stack_pointer + i32.store $discard=, 0($pop147), $15 return $pop141 .LBB1_34: # %if.then115 end_block # label1: diff --git a/test/torture-s/pta-field-1.c.s b/test/torture-s/pta-field-1.c.s index 856eff333..4b2270f9c 100644 --- a/test/torture-s/pta-field-1.c.s +++ b/test/torture-s/pta-field-1.c.s @@ -21,35 +21,31 @@ bar: # @bar .type foo,@function foo: # @foo .result i32 - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $6=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $6=, 0($1), $6 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $2=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $2 i32.const $push0=, 1 - i32.store $discard=, 4($6), $pop0 + i32.store $discard=, 4($2), $pop0 i32.const $push1=, 2 - i32.store $discard=, 0($6), $pop1 - i32.const $push2=, 4 - i32.const $3=, 8 - i32.add $3=, $6, $3 - i32.or $push3=, $3, $pop2 - i32.store $discard=, 0($pop3), $6 - i32.const $4=, 4 - i32.add $4=, $6, $4 - i32.store $discard=, 8($6):p2align=3, $4 - i32.const $5=, 8 - i32.add $5=, $6, $5 - call bar@FUNCTION, $5 - i32.load $push4=, 0($6) - i32.const $2=, 16 - i32.add $6=, $6, $2 - i32.const $2=, __stack_pointer - i32.store $6=, 0($2), $6 - return $pop4 + i32.store $discard=, 0($2), $pop1 + i32.const $0=, 4 + i32.add $0=, $2, $0 + i32.store $discard=, 8($2):p2align=3, $0 + i32.store $discard=, 12($2), $2 + i32.const $1=, 8 + i32.add $1=, $2, $1 + call bar@FUNCTION, $1 + i32.load $push2=, 0($2) + i32.const $push7=, 16 + i32.add $2=, $2, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $2 + return $pop2 .endfunc .Lfunc_end1: .size foo, .Lfunc_end1-foo @@ -60,39 +56,35 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $6=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $6=, 0($1), $6 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $2=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $2 i32.const $push0=, 1 - i32.store $discard=, 4($6), $pop0 + i32.store $discard=, 4($2), $pop0 i32.const $push1=, 2 - i32.store $discard=, 0($6), $pop1 - i32.const $push2=, 4 - i32.const $3=, 8 - i32.add $3=, $6, $3 - i32.or $push3=, $3, $pop2 - i32.store $discard=, 0($pop3), $6 - i32.const $4=, 4 - i32.add $4=, $6, $4 - i32.store $discard=, 8($6):p2align=3, $4 - i32.const $5=, 8 - i32.add $5=, $6, $5 - call bar@FUNCTION, $5 + i32.store $discard=, 0($2), $pop1 + i32.const $0=, 4 + i32.add $0=, $2, $0 + i32.store $discard=, 8($2):p2align=3, $0 + i32.store $discard=, 12($2), $2 + i32.const $1=, 8 + i32.add $1=, $2, $1 + call bar@FUNCTION, $1 block - i32.load $push4=, 0($6) - br_if 0, $pop4 # 0: down to label0 + i32.load $push2=, 0($2) + br_if 0, $pop2 # 0: down to label0 # BB#1: # %if.end - i32.const $push5=, 0 - i32.const $2=, 16 - i32.add $6=, $6, $2 - i32.const $2=, __stack_pointer - i32.store $6=, 0($2), $6 - return $pop5 + i32.const $push3=, 0 + i32.const $push8=, 16 + i32.add $2=, $2, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $2 + return $pop3 .LBB2_2: # %if.then end_block # label0: call abort@FUNCTION diff --git a/test/torture-s/pta-field-2.c.s b/test/torture-s/pta-field-2.c.s index 716615b29..56887756b 100644 --- a/test/torture-s/pta-field-2.c.s +++ b/test/torture-s/pta-field-2.c.s @@ -23,34 +23,33 @@ bar: # @bar .type foo,@function foo: # @foo .result i32 - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $6=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $6=, 0($2), $6 + i32.const $push5=, __stack_pointer + i32.load $push6=, 0($pop5) + i32.const $push7=, 16 + i32.sub $2=, $pop6, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $2 i32.const $push0=, 1 - i32.store $discard=, 4($6), $pop0 + i32.store $discard=, 4($2), $pop0 i32.const $push1=, 2 - i32.store $discard=, 0($6), $pop1 - i32.const $4=, 4 - i32.add $4=, $6, $4 - i32.store $discard=, 8($6):p2align=3, $4 + i32.store $discard=, 0($2), $pop1 + i32.const $0=, 4 + i32.add $0=, $2, $0 + i32.store $discard=, 8($2):p2align=3, $0 + i32.store $discard=, 12($2), $2 i32.const $push2=, 4 - i32.const $5=, 8 - i32.add $5=, $6, $5 - i32.or $push5=, $5, $pop2 - tee_local $push4=, $0=, $pop5 - i32.store $discard=, 0($pop4), $6 - call bar@FUNCTION, $0 - i32.load $push3=, 4($6) - i32.const $3=, 16 - i32.add $6=, $6, $3 - i32.const $3=, __stack_pointer - i32.store $6=, 0($3), $6 - return $pop3 + i32.const $1=, 8 + i32.add $1=, $2, $1 + i32.or $push3=, $1, $pop2 + call bar@FUNCTION, $pop3 + i32.load $push4=, 4($2) + i32.const $push9=, 16 + i32.add $2=, $2, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $2 + return $pop4 .endfunc .Lfunc_end1: .size foo, .Lfunc_end1-foo @@ -61,38 +60,37 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 16 - i32.sub $6=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $6=, 0($2), $6 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $2=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $2 i32.const $push0=, 1 - i32.store $discard=, 4($6), $pop0 + i32.store $discard=, 4($2), $pop0 i32.const $push1=, 2 - i32.store $discard=, 0($6), $pop1 - i32.const $4=, 4 - i32.add $4=, $6, $4 - i32.store $discard=, 8($6):p2align=3, $4 + i32.store $discard=, 0($2), $pop1 + i32.const $0=, 4 + i32.add $0=, $2, $0 + i32.store $discard=, 8($2):p2align=3, $0 + i32.store $discard=, 12($2), $2 i32.const $push2=, 4 - i32.const $5=, 8 - i32.add $5=, $6, $5 - i32.or $push6=, $5, $pop2 - tee_local $push5=, $0=, $pop6 - i32.store $discard=, 0($pop5), $6 - call bar@FUNCTION, $0 + i32.const $1=, 8 + i32.add $1=, $2, $1 + i32.or $push3=, $1, $pop2 + call bar@FUNCTION, $pop3 block - i32.load $push3=, 4($6) - br_if 0, $pop3 # 0: down to label0 + i32.load $push4=, 4($2) + br_if 0, $pop4 # 0: down to label0 # BB#1: # %if.end - i32.const $push4=, 0 - i32.const $3=, 16 - i32.add $6=, $6, $3 - i32.const $3=, __stack_pointer - i32.store $6=, 0($3), $6 - return $pop4 + i32.const $push5=, 0 + i32.const $push10=, 16 + i32.add $2=, $2, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $2 + return $pop5 .LBB2_2: # %if.then end_block # label0: call abort@FUNCTION diff --git a/test/torture-s/regstack-1.c.s b/test/torture-s/regstack-1.c.s index ef6774cbd..c092ee461 100644 --- a/test/torture-s/regstack-1.c.s +++ b/test/torture-s/regstack-1.c.s @@ -6,14 +6,14 @@ .type main,@function main: # @main .result i32 - .local i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, 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 + .local i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, 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 # BB#0: # %entry - i32.const $18=, __stack_pointer - i32.load $18=, 0($18) - i32.const $19=, 320 - i32.sub $58=, $18, $19 - i32.const $19=, __stack_pointer - i32.store $58=, 0($19), $58 + i32.const $push130=, __stack_pointer + i32.load $push131=, 0($pop130) + i32.const $push132=, 320 + i32.sub $56=, $pop131, $pop132 + i32.const $push133=, __stack_pointer + i32.store $discard=, 0($pop133), $56 i32.const $push7=, 0 i64.load $push122=, C($pop7):p2align=4 tee_local $push121=, $2=, $pop122 @@ -26,15 +26,15 @@ main: # @main i32.const $push114=, 0 i64.load $push113=, U+8($pop114) tee_local $push112=, $16=, $pop113 - i32.const $20=, 304 - i32.add $20=, $58, $20 - call __addtf3@FUNCTION, $20, $pop121, $pop118, $pop115, $pop112 - i64.load $push111=, 304($58) + i32.const $18=, 304 + i32.add $18=, $56, $18 + call __addtf3@FUNCTION, $18, $pop121, $pop118, $pop115, $pop112 + i64.load $push111=, 304($56) tee_local $push110=, $11=, $pop111 i32.const $push8=, 8 - i32.const $21=, 304 - i32.add $21=, $58, $21 - i32.add $push9=, $21, $pop8 + i32.const $19=, 304 + i32.add $19=, $56, $19 + i32.add $push9=, $19, $pop8 i64.load $push109=, 0($pop9) tee_local $push108=, $10=, $pop109 i32.const $push107=, 0 @@ -43,209 +43,209 @@ main: # @main i32.const $push104=, 0 i64.load $push103=, Y2+8($pop104) tee_local $push102=, $14=, $pop103 - i32.const $22=, 192 - i32.add $22=, $58, $22 - call __multf3@FUNCTION, $22, $pop110, $pop108, $pop105, $pop102 + i32.const $20=, 192 + i32.add $20=, $56, $20 + call __multf3@FUNCTION, $20, $pop110, $pop108, $pop105, $pop102 i32.const $push101=, 8 - i32.const $23=, 192 - i32.add $23=, $58, $23 - i32.add $push10=, $23, $pop101 + i32.const $21=, 192 + i32.add $21=, $56, $21 + i32.add $push10=, $21, $pop101 i64.load $0=, 0($pop10) - i64.load $1=, 192($58) - i32.const $24=, 240 - i32.add $24=, $58, $24 - call __subtf3@FUNCTION, $24, $2, $3, $17, $16 - i64.load $push100=, 240($58) + i64.load $1=, 192($56) + i32.const $22=, 240 + i32.add $22=, $56, $22 + call __subtf3@FUNCTION, $22, $2, $3, $17, $16 + i64.load $push100=, 240($56) tee_local $push99=, $13=, $pop100 i32.const $push98=, 8 - i32.const $25=, 240 - i32.add $25=, $58, $25 - i32.add $push11=, $25, $pop98 + i32.const $23=, 240 + i32.add $23=, $56, $23 + i32.add $push11=, $23, $pop98 i64.load $push97=, 0($pop11) tee_local $push96=, $12=, $pop97 - i32.const $26=, 224 - i32.add $26=, $58, $26 - call __subtf3@FUNCTION, $26, $pop99, $pop96, $17, $16 + i32.const $24=, 224 + i32.add $24=, $56, $24 + call __subtf3@FUNCTION, $24, $pop99, $pop96, $17, $16 i32.const $push95=, 8 - i32.const $27=, 224 - i32.add $27=, $58, $27 - i32.add $push12=, $27, $pop95 + i32.const $25=, 224 + i32.add $25=, $56, $25 + i32.add $push12=, $25, $pop95 i64.load $2=, 0($pop12) - i64.load $3=, 224($58) - i32.const $28=, 288 - i32.add $28=, $58, $28 - call __addtf3@FUNCTION, $28, $17, $16, $11, $10 + i64.load $3=, 224($56) + i32.const $26=, 288 + i32.add $26=, $56, $26 + call __addtf3@FUNCTION, $26, $17, $16, $11, $10 i32.const $push94=, 8 - i32.const $29=, 288 - i32.add $29=, $58, $29 - i32.add $push13=, $29, $pop94 + i32.const $27=, 288 + i32.add $27=, $56, $27 + i32.add $push13=, $27, $pop94 i64.load $4=, 0($pop13) - i64.load $5=, 288($58) + i64.load $5=, 288($56) i32.const $push93=, 0 i64.load $push92=, Y1($pop93):p2align=4 tee_local $push91=, $11=, $pop92 i32.const $push90=, 0 i64.load $push89=, Y1+8($pop90) tee_local $push88=, $10=, $pop89 - i32.const $30=, 112 - i32.add $30=, $58, $30 - call __multf3@FUNCTION, $30, $13, $12, $pop91, $pop88 + i32.const $28=, 112 + i32.add $28=, $56, $28 + call __multf3@FUNCTION, $28, $13, $12, $pop91, $pop88 i32.const $push87=, 8 - i32.const $31=, 112 - i32.add $31=, $58, $31 - i32.add $push14=, $31, $pop87 + i32.const $29=, 112 + i32.add $29=, $56, $29 + i32.add $push14=, $29, $pop87 i64.load $13=, 0($pop14) - i64.load $12=, 112($58) - i32.const $32=, 272 - i32.add $32=, $58, $32 - call __addtf3@FUNCTION, $32, $5, $4, $17, $16 - i64.load $push86=, 272($58) + i64.load $12=, 112($56) + i32.const $30=, 272 + i32.add $30=, $56, $30 + call __addtf3@FUNCTION, $30, $5, $4, $17, $16 + i64.load $push86=, 272($56) tee_local $push85=, $9=, $pop86 i32.const $push84=, 8 - i32.const $33=, 272 - i32.add $33=, $58, $33 - i32.add $push15=, $33, $pop84 + i32.const $31=, 272 + i32.add $31=, $56, $31 + i32.add $push15=, $31, $pop84 i64.load $push83=, 0($pop15) tee_local $push82=, $8=, $pop83 - i32.const $34=, 176 - i32.add $34=, $58, $34 - call __subtf3@FUNCTION, $34, $1, $0, $pop85, $pop82 - i64.load $0=, 176($58) + i32.const $32=, 176 + i32.add $32=, $56, $32 + call __subtf3@FUNCTION, $32, $1, $0, $pop85, $pop82 + i64.load $0=, 176($56) i32.const $push81=, 0 i32.const $push80=, 8 - i32.const $35=, 176 - i32.add $35=, $58, $35 - i32.add $push16=, $35, $pop80 + i32.const $33=, 176 + i32.add $33=, $56, $33 + i32.add $push16=, $33, $pop80 i64.load $push6=, 0($pop16) i64.store $6=, X+8($pop81), $pop6 i32.const $push79=, 0 i64.store $7=, X($pop79):p2align=4, $0 - i32.const $36=, 80 - i32.add $36=, $58, $36 - call __multf3@FUNCTION, $36, $3, $2, $11, $10 + i32.const $34=, 80 + i32.add $34=, $56, $34 + call __multf3@FUNCTION, $34, $3, $2, $11, $10 i32.const $push78=, 8 - i32.const $37=, 80 - i32.add $37=, $58, $37 - i32.add $push17=, $37, $pop78 + i32.const $35=, 80 + i32.add $35=, $56, $35 + i32.add $push17=, $35, $pop78 i64.load $0=, 0($pop17) - i64.load $1=, 80($58) - i32.const $38=, 160 - i32.add $38=, $58, $38 - call __multf3@FUNCTION, $38, $5, $4, $15, $14 - i64.load $5=, 160($58) + i64.load $1=, 80($56) + i32.const $36=, 160 + i32.add $36=, $56, $36 + call __multf3@FUNCTION, $36, $5, $4, $15, $14 + i64.load $5=, 160($56) i32.const $push77=, 0 i32.const $push76=, 8 - i32.const $39=, 160 - i32.add $39=, $58, $39 - i32.add $push18=, $39, $pop76 + i32.const $37=, 160 + i32.add $37=, $56, $37 + i32.add $push18=, $37, $pop76 i64.load $push1=, 0($pop18) i64.store $4=, S+8($pop77), $pop1 i32.const $push75=, 0 i64.store $discard=, S($pop75):p2align=4, $5 - i32.const $40=, 96 - i32.add $40=, $58, $40 - call __subtf3@FUNCTION, $40, $12, $13, $3, $2 - i64.load $13=, 96($58) + i32.const $38=, 96 + i32.add $38=, $56, $38 + call __subtf3@FUNCTION, $38, $12, $13, $3, $2 + i64.load $13=, 96($56) i32.const $push74=, 0 i32.const $push73=, 8 - i32.const $41=, 96 - i32.add $41=, $58, $41 - i32.add $push19=, $41, $pop73 + i32.const $39=, 96 + i32.add $39=, $56, $39 + i32.add $push19=, $39, $pop73 i64.load $push0=, 0($pop19) i64.store $12=, T+8($pop74), $pop0 i32.const $push72=, 0 i64.store $discard=, T($pop72):p2align=4, $13 - i32.const $42=, 208 - i32.add $42=, $58, $42 - call __subtf3@FUNCTION, $42, $17, $16, $3, $2 - i64.load $push22=, 208($58) + i32.const $40=, 208 + i32.add $40=, $56, $40 + call __subtf3@FUNCTION, $40, $17, $16, $3, $2 + i64.load $push22=, 208($56) i32.const $push71=, 8 - i32.const $43=, 208 - i32.add $43=, $58, $43 - i32.add $push20=, $43, $pop71 + i32.const $41=, 208 + i32.add $41=, $56, $41 + i32.add $push20=, $41, $pop71 i64.load $push21=, 0($pop20) - i32.const $44=, 64 - i32.add $44=, $58, $44 - call __addtf3@FUNCTION, $44, $pop22, $pop21, $1, $0 - i64.load $2=, 64($58) + i32.const $42=, 64 + i32.add $42=, $56, $42 + call __addtf3@FUNCTION, $42, $pop22, $pop21, $1, $0 + i64.load $2=, 64($56) i32.const $push70=, 0 i32.const $push69=, 8 - i32.const $45=, 64 - i32.add $45=, $58, $45 - i32.add $push23=, $45, $pop69 + i32.const $43=, 64 + i32.add $43=, $56, $43 + i32.add $push23=, $43, $pop69 i64.load $push5=, 0($pop23) i64.store $0=, Y+8($pop70), $pop5 i32.const $push68=, 0 i64.store $1=, Y($pop68):p2align=4, $2 - i32.const $46=, 256 - i32.add $46=, $58, $46 - call __addtf3@FUNCTION, $46, $17, $16, $9, $8 - i64.load $push26=, 256($58) + i32.const $44=, 256 + i32.add $44=, $56, $44 + call __addtf3@FUNCTION, $44, $17, $16, $9, $8 + i64.load $push26=, 256($56) i32.const $push67=, 8 - i32.const $47=, 256 - i32.add $47=, $58, $47 - i32.add $push24=, $47, $pop67 + i32.const $45=, 256 + i32.add $45=, $56, $45 + i32.add $push24=, $45, $pop67 i64.load $push25=, 0($pop24) - i32.const $48=, 144 - i32.add $48=, $58, $48 - call __subtf3@FUNCTION, $48, $5, $4, $pop26, $pop25 - i64.load $2=, 144($58) + i32.const $46=, 144 + i32.add $46=, $56, $46 + call __subtf3@FUNCTION, $46, $5, $4, $pop26, $pop25 + i64.load $2=, 144($56) i32.const $push66=, 0 i32.const $push65=, 8 - i32.const $49=, 144 - i32.add $49=, $58, $49 - i32.add $push27=, $49, $pop65 + i32.const $47=, 144 + i32.add $47=, $56, $47 + i32.add $push27=, $47, $pop65 i64.load $push4=, 0($pop27) i64.store $9=, Z+8($pop66), $pop4 i32.const $push64=, 0 i64.store $8=, Z($pop64):p2align=4, $2 - i32.const $50=, 128 - i32.add $50=, $58, $50 - call __addtf3@FUNCTION, $50, $17, $16, $15, $14 - i64.load $push30=, 128($58) + i32.const $48=, 128 + i32.add $48=, $56, $48 + call __addtf3@FUNCTION, $48, $17, $16, $15, $14 + i64.load $push30=, 128($56) i32.const $push63=, 8 - i32.const $51=, 128 - i32.add $51=, $58, $51 - i32.add $push28=, $51, $pop63 + i32.const $49=, 128 + i32.add $49=, $56, $49 + i32.add $push28=, $49, $pop63 i64.load $push29=, 0($pop28) - i32.const $52=, 48 - i32.add $52=, $58, $52 - call __multf3@FUNCTION, $52, $pop30, $pop29, $11, $10 + i32.const $50=, 48 + i32.add $50=, $56, $50 + call __multf3@FUNCTION, $50, $pop30, $pop29, $11, $10 i32.const $push62=, 8 - i32.const $53=, 48 - i32.add $53=, $58, $53 - i32.add $push31=, $53, $pop62 + i32.const $51=, 48 + i32.add $51=, $56, $51 + i32.add $push31=, $51, $pop62 i64.load $17=, 0($pop31) - i64.load $16=, 48($58) - i32.const $54=, 16 - i32.add $54=, $58, $54 - call __multf3@FUNCTION, $54, $15, $14, $11, $10 + i64.load $16=, 48($56) + i32.const $52=, 16 + i32.add $52=, $56, $52 + call __multf3@FUNCTION, $52, $15, $14, $11, $10 i32.const $push61=, 8 - i32.const $55=, 16 - i32.add $55=, $58, $55 - i32.add $push32=, $55, $pop61 + i32.const $53=, 16 + i32.add $53=, $56, $53 + i32.add $push32=, $53, $pop61 i64.load $2=, 0($pop32) - i64.load $3=, 16($58) - i32.const $56=, 32 - i32.add $56=, $58, $56 - call __subtf3@FUNCTION, $56, $16, $17, $15, $14 - i64.load $17=, 32($58) + i64.load $3=, 16($56) + i32.const $54=, 32 + i32.add $54=, $56, $54 + call __subtf3@FUNCTION, $54, $16, $17, $15, $14 + i64.load $17=, 32($56) i32.const $push60=, 0 i32.const $push59=, 8 - i32.const $57=, 32 - i32.add $57=, $58, $57 - i32.add $push33=, $57, $pop59 + i32.const $55=, 32 + i32.add $55=, $56, $55 + i32.add $push33=, $55, $pop59 i64.load $push2=, 0($pop33) i64.store $16=, R+8($pop60), $pop2 i32.const $push58=, 0 i64.store $11=, R($pop58):p2align=4, $17 i64.const $push57=, 0 i64.const $push34=, -4612248968380809216 - call __addtf3@FUNCTION, $58, $3, $2, $pop57, $pop34 - i64.load $17=, 0($58) + call __addtf3@FUNCTION, $56, $3, $2, $pop57, $pop34 + i64.load $17=, 0($56) i32.const $push56=, 0 i32.const $push55=, 8 - i32.add $push35=, $58, $pop55 + i32.add $push35=, $56, $pop55 i64.load $push3=, 0($pop35) i64.store $2=, Y1+8($pop56), $pop3 i32.const $push54=, 0 diff --git a/test/torture-s/stdarg-1.c.s b/test/torture-s/stdarg-1.c.s index 61e13033f..03d059ea9 100644 --- a/test/torture-s/stdarg-1.c.s +++ b/test/torture-s/stdarg-1.c.s @@ -6,36 +6,15 @@ .type foo,@function foo: # @foo .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 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $discard=, 12($5), $1 block i32.const $push0=, 5 i32.ne $push1=, $0, $pop0 br_if 0, $pop1 # 0: down to label0 # BB#1: # %sw.bb - i32.load $push2=, 12($5) - i32.const $push3=, 3 - i32.add $push4=, $pop2, $pop3 - i32.const $push5=, -4 - i32.and $push11=, $pop4, $pop5 - tee_local $push10=, $0=, $pop11 - i32.const $push6=, 4 - i32.add $push7=, $pop10, $pop6 - i32.store $discard=, 12($5), $pop7 - i32.const $push9=, 0 - i32.load $push8=, 0($0) - i32.store $discard=, foo_arg($pop9), $pop8 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push3=, 0 + i32.load $push2=, 0($1) + i32.store $discard=, foo_arg($pop3), $pop2 return .LBB0_2: # %sw.default end_block # label0: @@ -51,7 +30,7 @@ foo: # @foo .type bar,@function bar: # @bar .param i32 - .local i32, i32, i64, i32 + .local i32, f64, i32 # BB#0: # %entry block block @@ -64,102 +43,88 @@ bar: # @bar i32.ne $push3=, $0, $pop2 br_if 1, $pop3 # 1: down to label2 # BB#2: # %if.then - i32.const $push54=, 0 - i32.const $push53=, 0 - i32.load $push32=, gap($pop53) - i32.const $push33=, 7 - i32.add $push34=, $pop32, $pop33 - i32.const $push35=, -8 - i32.and $push52=, $pop34, $pop35 - tee_local $push51=, $1=, $pop52 - i32.const $push36=, 8 - i32.add $push37=, $pop51, $pop36 - i32.store $discard=, gap($pop54), $pop37 - block - f64.load $push38=, 0($1) - f64.const $push39=, 0x1.1p4 - f64.ne $push40=, $pop38, $pop39 - br_if 0, $pop40 # 0: down to label4 + i32.const $push47=, 0 + i32.load $push30=, gap($pop47) + i32.const $push31=, 7 + i32.add $push32=, $pop30, $pop31 + i32.const $push33=, -8 + i32.and $push46=, $pop32, $pop33 + tee_local $push45=, $1=, $pop46 + f64.load $2=, 0($pop45) + i32.const $push44=, 0 + i32.const $push34=, 8 + i32.add $push35=, $1, $pop34 + i32.store $3=, gap($pop44), $pop35 + block + f64.const $push36=, 0x1.1p4 + f64.ne $push37=, $2, $pop36 + br_if 0, $pop37 # 0: down to label4 # BB#3: # %lor.lhs.false - i32.const $push58=, 0 - i32.const $push57=, 0 - i32.load $push41=, gap($pop57) - i32.const $push42=, 3 - i32.add $push43=, $pop41, $pop42 - i32.const $push44=, -4 - i32.and $push56=, $pop43, $pop44 - tee_local $push55=, $1=, $pop56 - i32.const $push45=, 4 - i32.add $push46=, $pop55, $pop45 - i32.store $discard=, gap($pop58), $pop46 - i32.load $push47=, 0($1) - i32.const $push48=, 129 - i32.eq $push49=, $pop47, $pop48 - br_if 2, $pop49 # 2: down to label2 -.LBB1_4: # %if.then3 + i32.const $push48=, 0 + i32.const $push38=, 12 + i32.add $push39=, $1, $pop38 + i32.store $discard=, gap($pop48), $pop39 + i32.load $push40=, 0($3):p2align=3 + i32.const $push41=, 129 + i32.eq $push42=, $pop40, $pop41 + br_if 2, $pop42 # 2: down to label2 +.LBB1_4: # %if.then5 end_block # label4: call abort@FUNCTION unreachable -.LBB1_5: # %if.then5 +.LBB1_5: # %if.then7 end_block # label3: - i32.const $push62=, 0 - i32.load $1=, pap($pop62) + i32.const $push51=, 0 + i32.load $1=, pap($pop51) i32.load $push4=, 0($1) i32.const $push5=, 7 i32.add $push6=, $pop4, $pop5 i32.const $push7=, -8 - i32.and $push61=, $pop6, $pop7 - tee_local $push60=, $2=, $pop61 - i32.const $push59=, 8 - i32.add $push8=, $pop60, $pop59 - i32.store $discard=, 0($1), $pop8 - i64.load $push9=, 0($2) - i64.const $push10=, 14 - i64.ne $push11=, $pop9, $pop10 - br_if 1, $pop11 # 1: down to label1 -# BB#6: # %lor.lhs.false7 - i32.const $push67=, 0 - i32.load $1=, pap($pop67) - i32.load $push12=, 0($1) - i32.const $push13=, 15 - i32.add $push14=, $pop12, $pop13 - i32.const $push15=, -16 - i32.and $push66=, $pop14, $pop15 - tee_local $push65=, $4=, $pop66 - i32.const $push64=, 8 - i32.or $push16=, $pop65, $pop64 - i32.store $2=, 0($1), $pop16 - i64.load $3=, 0($4) - i32.const $push63=, 8 - i32.add $push17=, $2, $pop63 - i32.store $discard=, 0($1), $pop17 - i64.load $push18=, 0($2) - i64.const $push20=, 0 - i64.const $push19=, 4613381465357418496 - i32.call $push21=, __netf2@FUNCTION, $3, $pop18, $pop20, $pop19 - br_if 1, $pop21 # 1: down to label1 -# BB#7: # %lor.lhs.false9 - i32.const $push22=, 0 - i32.load $1=, pap($pop22) - i32.load $push23=, 0($1) - i32.const $push24=, 3 - i32.add $push25=, $pop23, $pop24 - i32.const $push26=, -4 - i32.and $push69=, $pop25, $pop26 - tee_local $push68=, $2=, $pop69 - i32.const $push27=, 4 - i32.add $push28=, $pop68, $pop27 - i32.store $discard=, 0($1), $pop28 - i32.load $push29=, 0($2) - i32.const $push30=, 17 - i32.ne $push31=, $pop29, $pop30 - br_if 1, $pop31 # 1: down to label1 -.LBB1_8: # %if.end14 + i32.and $push50=, $pop6, $pop7 + tee_local $push49=, $3=, $pop50 + i32.const $push8=, 8 + i32.add $push9=, $pop49, $pop8 + i32.store $discard=, 0($1), $pop9 + i64.load $push10=, 0($3) + i64.const $push11=, 14 + i64.ne $push12=, $pop10, $pop11 + br_if 1, $pop12 # 1: down to label1 +# BB#6: # %lor.lhs.false11 + i32.const $push54=, 0 + i32.load $1=, pap($pop54) + i32.load $push13=, 0($1) + i32.const $push14=, 15 + i32.add $push15=, $pop13, $pop14 + i32.const $push16=, -16 + i32.and $push53=, $pop15, $pop16 + tee_local $push52=, $3=, $pop53 + i32.const $push17=, 16 + i32.add $push18=, $pop52, $pop17 + i32.store $discard=, 0($1), $pop18 + i64.load $push20=, 0($3):p2align=4 + i64.load $push19=, 8($3) + i64.const $push22=, 0 + i64.const $push21=, 4613381465357418496 + i32.call $push23=, __netf2@FUNCTION, $pop20, $pop19, $pop22, $pop21 + br_if 1, $pop23 # 1: down to label1 +# BB#7: # %lor.lhs.false15 + i32.const $push24=, 0 + i32.load $1=, pap($pop24) + i32.load $push56=, 0($1) + tee_local $push55=, $3=, $pop56 + i32.const $push25=, 4 + i32.add $push26=, $pop55, $pop25 + i32.store $discard=, 0($1), $pop26 + i32.load $push27=, 0($3) + i32.const $push28=, 17 + i32.ne $push29=, $pop27, $pop28 + br_if 1, $pop29 # 1: down to label1 +.LBB1_8: # %if.end22 end_block # label2: - i32.const $push50=, 0 - i32.store $discard=, bar_arg($pop50), $0 + i32.const $push43=, 0 + i32.store $discard=, bar_arg($pop43), $0 return -.LBB1_9: # %if.then11 +.LBB1_9: # %if.then19 end_block # label1: call abort@FUNCTION unreachable @@ -185,19 +150,13 @@ f0: # @f0 .type f1,@function f1: # @f1 .param i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - 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 + i32.const $push0=, __stack_pointer + i32.load $push1=, 0($pop0) + i32.const $push2=, 16 + i32.sub $2=, $pop1, $pop2 + i32.store $discard=, 12($2), $1 return .endfunc .Lfunc_end3: @@ -209,250 +168,33 @@ f1: # @f1 .type f2,@function f2: # @f2 .param i32, i32 - .local f64, i32, i64, i32, i32, i32, i32, i32, i32 + .local f64, 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 $push107=, 0 - f64.load $2=, d($pop107) - i32.store $discard=, 12($10), $1 - block - block - block - i32.trunc_s/f64 $push106=, $2 - tee_local $push105=, $1=, $pop106 - i32.const $push1=, 16392 - i32.eq $push2=, $pop105, $pop1 - br_if 0, $pop2 # 0: down to label7 -# BB#1: # %entry - i32.const $push3=, 16390 - i32.ne $push4=, $1, $pop3 - br_if 1, $pop4 # 1: down to label6 -# BB#2: # %if.then.i - i32.const $push111=, 0 - i32.const $push110=, 0 - i32.load $push32=, gap($pop110) - i32.const $push33=, 7 - i32.add $push34=, $pop32, $pop33 - i32.const $push35=, -8 - i32.and $push109=, $pop34, $pop35 - tee_local $push108=, $5=, $pop109 - i32.const $push36=, 8 - i32.add $push37=, $pop108, $pop36 - i32.store $discard=, gap($pop111), $pop37 - block - f64.load $push38=, 0($5) - f64.const $push39=, 0x1.1p4 - f64.ne $push40=, $pop38, $pop39 - br_if 0, $pop40 # 0: down to label8 -# BB#3: # %lor.lhs.false.i - i32.const $push115=, 0 - i32.const $push114=, 0 - i32.load $push41=, gap($pop114) - i32.const $push42=, 3 - i32.add $push43=, $pop41, $pop42 - i32.const $push44=, -4 - i32.and $push113=, $pop43, $pop44 - tee_local $push112=, $5=, $pop113 - i32.const $push45=, 4 - i32.add $push46=, $pop112, $pop45 - i32.store $discard=, gap($pop115), $pop46 - i32.load $push47=, 0($5) - i32.const $push48=, 129 - i32.eq $push49=, $pop47, $pop48 - br_if 2, $pop49 # 2: down to label6 -.LBB4_4: # %if.then3.i - end_block # label8: - call abort@FUNCTION - unreachable -.LBB4_5: # %if.then5.i - end_block # label7: - i32.const $push119=, 0 - i32.load $5=, pap($pop119) - i32.load $push5=, 0($5) - i32.const $push6=, 7 - i32.add $push7=, $pop5, $pop6 - i32.const $push8=, -8 - i32.and $push118=, $pop7, $pop8 - tee_local $push117=, $3=, $pop118 - i32.const $push116=, 8 - i32.add $push9=, $pop117, $pop116 - i32.store $discard=, 0($5), $pop9 - i64.load $push10=, 0($3) - i64.const $push11=, 14 - i64.ne $push12=, $pop10, $pop11 - br_if 1, $pop12 # 1: down to label5 -# BB#6: # %lor.lhs.false7.i - i32.const $push124=, 0 - i32.load $5=, pap($pop124) - i32.load $push13=, 0($5) - i32.const $push14=, 15 - i32.add $push15=, $pop13, $pop14 - i32.const $push16=, -16 - i32.and $push123=, $pop15, $pop16 - tee_local $push122=, $6=, $pop123 - i32.const $push121=, 8 - i32.or $push17=, $pop122, $pop121 - i32.store $3=, 0($5), $pop17 - i64.load $4=, 0($6) - i32.const $push120=, 8 - i32.add $push18=, $3, $pop120 - i32.store $discard=, 0($5), $pop18 - i64.load $push19=, 0($3) - i64.const $push21=, 0 - i64.const $push20=, 4613381465357418496 - i32.call $push22=, __netf2@FUNCTION, $4, $pop19, $pop21, $pop20 - br_if 1, $pop22 # 1: down to label5 -# BB#7: # %lor.lhs.false9.i - i32.const $push127=, 0 - i32.load $5=, pap($pop127) - i32.load $push23=, 0($5) - i32.const $push24=, 3 - i32.add $push25=, $pop23, $pop24 - i32.const $push26=, -4 - i32.and $push126=, $pop25, $pop26 - tee_local $push125=, $3=, $pop126 - i32.const $push27=, 4 - i32.add $push28=, $pop125, $pop27 - i32.store $discard=, 0($5), $pop28 - i32.load $push29=, 0($3) - i32.const $push30=, 17 - i32.ne $push31=, $pop29, $pop30 - br_if 1, $pop31 # 1: down to label5 -.LBB4_8: # %bar.exit - end_block # label6: - i32.load $5=, 12($10) - i32.const $push133=, 0 - i32.store $discard=, bar_arg($pop133), $1 - i32.const $push50=, 3 - i32.add $push51=, $5, $pop50 - i32.const $push52=, -4 - i32.and $push132=, $pop51, $pop52 - tee_local $push131=, $1=, $pop132 - i32.const $push53=, 4 - i32.add $push54=, $pop131, $pop53 - i32.store $discard=, 12($10), $pop54 - block - block - i32.const $push130=, 0 - i32.load $push0=, 0($1) - i32.store $push129=, x($pop130), $pop0 - tee_local $push128=, $1=, $pop129 - i32.const $push55=, 16392 - i32.eq $push56=, $pop128, $pop55 - br_if 0, $pop56 # 0: down to label10 -# BB#9: # %bar.exit - i32.const $push57=, 16390 - i32.ne $push58=, $1, $pop57 - br_if 1, $pop58 # 1: down to label9 -# BB#10: # %if.then.i4 - i32.const $push137=, 0 - i32.const $push136=, 0 - i32.load $push86=, gap($pop136) - i32.const $push87=, 7 - i32.add $push88=, $pop86, $pop87 - i32.const $push89=, -8 - i32.and $push135=, $pop88, $pop89 - tee_local $push134=, $5=, $pop135 - i32.const $push90=, 8 - i32.add $push91=, $pop134, $pop90 - i32.store $discard=, gap($pop137), $pop91 - block - f64.load $push92=, 0($5) - f64.const $push93=, 0x1.1p4 - f64.ne $push94=, $pop92, $pop93 - br_if 0, $pop94 # 0: down to label11 -# BB#11: # %lor.lhs.false.i6 - i32.const $push141=, 0 - i32.const $push140=, 0 - i32.load $push95=, gap($pop140) - i32.const $push96=, 3 - i32.add $push97=, $pop95, $pop96 - i32.const $push98=, -4 - i32.and $push139=, $pop97, $pop98 - tee_local $push138=, $5=, $pop139 - i32.const $push99=, 4 - i32.add $push100=, $pop138, $pop99 - i32.store $discard=, gap($pop141), $pop100 - i32.load $push101=, 0($5) - i32.const $push102=, 129 - i32.eq $push103=, $pop101, $pop102 - br_if 2, $pop103 # 2: down to label9 -.LBB4_12: # %if.then3.i7 - end_block # label11: - call abort@FUNCTION - unreachable -.LBB4_13: # %if.then5.i9 - end_block # label10: - i32.const $push145=, 0 - i32.load $5=, pap($pop145) - i32.load $push59=, 0($5) - i32.const $push60=, 7 - i32.add $push61=, $pop59, $pop60 - i32.const $push62=, -8 - i32.and $push144=, $pop61, $pop62 - tee_local $push143=, $3=, $pop144 - i32.const $push142=, 8 - i32.add $push63=, $pop143, $pop142 - i32.store $discard=, 0($5), $pop63 - i64.load $push64=, 0($3) - i64.const $push65=, 14 - i64.ne $push66=, $pop64, $pop65 - br_if 1, $pop66 # 1: down to label5 -# BB#14: # %lor.lhs.false7.i11 - i32.const $push150=, 0 - i32.load $5=, pap($pop150) - i32.load $push67=, 0($5) - i32.const $push68=, 15 - i32.add $push69=, $pop67, $pop68 - i32.const $push70=, -16 - i32.and $push149=, $pop69, $pop70 - tee_local $push148=, $6=, $pop149 - i32.const $push147=, 8 - i32.or $push71=, $pop148, $pop147 - i32.store $3=, 0($5), $pop71 - i64.load $4=, 0($6) - i32.const $push146=, 8 - i32.add $push72=, $3, $pop146 - i32.store $discard=, 0($5), $pop72 - i64.load $push73=, 0($3) - i64.const $push75=, 0 - i64.const $push74=, 4613381465357418496 - i32.call $push76=, __netf2@FUNCTION, $4, $pop73, $pop75, $pop74 - br_if 1, $pop76 # 1: down to label5 -# BB#15: # %lor.lhs.false9.i13 - i32.const $push153=, 0 - i32.load $5=, pap($pop153) - i32.load $push77=, 0($5) - i32.const $push78=, 3 - i32.add $push79=, $pop77, $pop78 - i32.const $push80=, -4 - i32.and $push152=, $pop79, $pop80 - tee_local $push151=, $3=, $pop152 - i32.const $push81=, 4 - i32.add $push82=, $pop151, $pop81 - i32.store $discard=, 0($5), $pop82 - i32.load $push83=, 0($3) - i32.const $push84=, 17 - i32.ne $push85=, $pop83, $pop84 - br_if 1, $pop85 # 1: down to label5 -.LBB4_16: # %bar.exit15 - end_block # label9: - i32.const $push104=, 0 - i32.store $discard=, bar_arg($pop104), $1 - i32.const $9=, 16 - i32.add $10=, $10, $9 - i32.const $9=, __stack_pointer - i32.store $10=, 0($9), $10 + i32.const $push9=, __stack_pointer + i32.load $push10=, 0($pop9) + i32.const $push11=, 16 + i32.sub $3=, $pop10, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $3 + i32.const $push0=, 0 + f64.load $2=, d($pop0) + i32.store $discard=, 12($3), $1 + i32.trunc_s/f64 $push1=, $2 + call bar@FUNCTION, $pop1 + i32.load $push8=, 12($3) + tee_local $push7=, $1=, $pop8 + i32.const $push2=, 4 + i32.add $push3=, $pop7, $pop2 + i32.store $discard=, 12($3), $pop3 + i32.const $push6=, 0 + i32.load $push4=, 0($1) + i32.store $push5=, x($pop6), $pop4 + call bar@FUNCTION, $pop5 + i32.const $push13=, 16 + i32.add $3=, $3, $pop13 + i32.const $push14=, __stack_pointer + i32.store $discard=, 0($pop14), $3 return -.LBB4_17: # %if.then11.i14 - end_block # label5: - call abort@FUNCTION - unreachable .endfunc .Lfunc_end4: .size f2, .Lfunc_end4-f2 @@ -463,30 +205,24 @@ f2: # @f2 .type f3,@function f3: # @f3 .param i32, i32 - .local i32, i32, i32, i32 + .local i64, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $push0=, 12($5), $1 + i32.const $push9=, __stack_pointer + i32.load $push10=, 0($pop9) + i32.const $push11=, 16 + i32.sub $3=, $pop10, $pop11 + i32.store $push0=, 12($3), $1 i32.const $push1=, 7 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -8 - i32.and $push9=, $pop2, $pop3 - tee_local $push8=, $1=, $pop9 + i32.and $push8=, $pop2, $pop3 + tee_local $push7=, $1=, $pop8 + i64.load $2=, 0($pop7) i32.const $push4=, 8 - i32.add $push5=, $pop8, $pop4 - i32.store $discard=, 12($5), $pop5 - i32.const $push7=, 0 - f64.load $push6=, 0($1) - f64.store $discard=, d($pop7), $pop6 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.add $push5=, $1, $pop4 + i32.store $discard=, 12($3), $pop5 + i32.const $push6=, 0 + i64.store $discard=, d($pop6), $2 return .endfunc .Lfunc_end5: @@ -498,52 +234,42 @@ f3: # @f3 .type f4,@function f4: # @f4 .param i32, i32 - .local i32, i32, i32, i32, i32 + .local f64, i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - i32.store $push0=, 8($6), $1 - i32.const $push1=, 7 - i32.add $push2=, $pop0, $pop1 - i32.const $push3=, -8 - i32.and $push19=, $pop2, $pop3 - tee_local $push18=, $1=, $pop19 - i32.const $push4=, 8 - i32.add $push5=, $pop18, $pop4 - i32.store $2=, 8($6), $pop5 - i32.const $push17=, 0 - f64.load $push6=, 0($1) - i32.trunc_s/f64 $push7=, $pop6 - i32.store $discard=, x($pop17), $pop7 - i32.store $discard=, 12($6), $2 - block - i32.const $push8=, 5 - i32.ne $push9=, $0, $pop8 - br_if 0, $pop9 # 0: down to label12 + i32.const $push14=, __stack_pointer + i32.load $push15=, 0($pop14) + i32.const $push16=, 16 + i32.sub $3=, $pop15, $pop16 + i32.const $push17=, __stack_pointer + i32.store $discard=, 0($pop17), $3 + i32.store $push1=, 12($3), $1 + i32.const $push2=, 7 + i32.add $push3=, $pop1, $pop2 + i32.const $push4=, -8 + i32.and $push12=, $pop3, $pop4 + tee_local $push11=, $1=, $pop12 + f64.load $2=, 0($pop11) + i32.const $push5=, 8 + i32.add $push0=, $1, $pop5 + i32.store $1=, 12($3), $pop0 + i32.const $push10=, 0 + i32.trunc_s/f64 $push6=, $2 + i32.store $discard=, x($pop10), $pop6 + block + i32.const $push7=, 5 + i32.ne $push8=, $0, $pop7 + br_if 0, $pop8 # 0: down to label5 # BB#1: # %foo.exit - i32.load $push10=, 12($6) - i32.const $push11=, 3 - i32.add $push12=, $pop10, $pop11 - i32.const $push13=, -4 - i32.and $push22=, $pop12, $pop13 - tee_local $push21=, $1=, $pop22 - i32.const $push14=, 4 - i32.add $push15=, $pop21, $pop14 - i32.store $discard=, 12($6), $pop15 - i32.const $push20=, 0 - i32.load $push16=, 0($1) - i32.store $discard=, foo_arg($pop20), $pop16 - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push13=, 0 + i32.load $push9=, 0($1):p2align=3 + i32.store $discard=, foo_arg($pop13), $pop9 + i32.const $push18=, 16 + i32.add $3=, $3, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $3 return .LBB6_2: # %sw.default.i - end_block # label12: + end_block # label5: call abort@FUNCTION unreachable .endfunc @@ -556,131 +282,23 @@ f4: # @f4 .type f5,@function f5: # @f5 .param i32, i32 - .local i32, i64, i32, i32, i32, i32, i32 + .local 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 $push51=, 0 - i32.store $push0=, 12($8), $1 - i32.store $discard=, gap($pop51), $pop0 - block - block - block - i32.const $push1=, 16392 - i32.eq $push2=, $0, $pop1 - br_if 0, $pop2 # 0: down to label15 -# BB#1: # %entry - i32.const $push3=, 16390 - i32.ne $push4=, $0, $pop3 - br_if 1, $pop4 # 1: down to label14 -# BB#2: # %if.then.i - i32.const $push55=, 0 - i32.const $push54=, 0 - i32.load $push32=, gap($pop54) - i32.const $push33=, 7 - i32.add $push34=, $pop32, $pop33 - i32.const $push35=, -8 - i32.and $push53=, $pop34, $pop35 - tee_local $push52=, $1=, $pop53 - i32.const $push36=, 8 - i32.add $push37=, $pop52, $pop36 - i32.store $discard=, gap($pop55), $pop37 - block - f64.load $push38=, 0($1) - f64.const $push39=, 0x1.1p4 - f64.ne $push40=, $pop38, $pop39 - br_if 0, $pop40 # 0: down to label16 -# BB#3: # %lor.lhs.false.i - i32.const $push59=, 0 - i32.const $push58=, 0 - i32.load $push41=, gap($pop58) - i32.const $push42=, 3 - i32.add $push43=, $pop41, $pop42 - i32.const $push44=, -4 - i32.and $push57=, $pop43, $pop44 - tee_local $push56=, $1=, $pop57 - i32.const $push45=, 4 - i32.add $push46=, $pop56, $pop45 - i32.store $discard=, gap($pop59), $pop46 - i32.load $push47=, 0($1) - i32.const $push48=, 129 - i32.eq $push49=, $pop47, $pop48 - br_if 2, $pop49 # 2: down to label14 -.LBB7_4: # %if.then3.i - end_block # label16: - call abort@FUNCTION - unreachable -.LBB7_5: # %if.then5.i - end_block # label15: - i32.const $push63=, 0 - i32.load $1=, pap($pop63) - i32.load $push5=, 0($1) - i32.const $push6=, 7 - i32.add $push7=, $pop5, $pop6 - i32.const $push8=, -8 - i32.and $push62=, $pop7, $pop8 - tee_local $push61=, $2=, $pop62 - i32.const $push60=, 8 - i32.add $push9=, $pop61, $pop60 - i32.store $discard=, 0($1), $pop9 - i64.load $push10=, 0($2) - i64.const $push11=, 14 - i64.ne $push12=, $pop10, $pop11 - br_if 1, $pop12 # 1: down to label13 -# BB#6: # %lor.lhs.false7.i - i32.const $push68=, 0 - i32.load $1=, pap($pop68) - i32.load $push13=, 0($1) - i32.const $push14=, 15 - i32.add $push15=, $pop13, $pop14 - i32.const $push16=, -16 - i32.and $push67=, $pop15, $pop16 - tee_local $push66=, $4=, $pop67 - i32.const $push65=, 8 - i32.or $push17=, $pop66, $pop65 - i32.store $2=, 0($1), $pop17 - i64.load $3=, 0($4) - i32.const $push64=, 8 - i32.add $push18=, $2, $pop64 - i32.store $discard=, 0($1), $pop18 - i64.load $push19=, 0($2) - i64.const $push21=, 0 - i64.const $push20=, 4613381465357418496 - i32.call $push22=, __netf2@FUNCTION, $3, $pop19, $pop21, $pop20 - br_if 1, $pop22 # 1: down to label13 -# BB#7: # %lor.lhs.false9.i - i32.const $push71=, 0 - i32.load $1=, pap($pop71) - i32.load $push23=, 0($1) - i32.const $push24=, 3 - i32.add $push25=, $pop23, $pop24 - i32.const $push26=, -4 - i32.and $push70=, $pop25, $pop26 - tee_local $push69=, $2=, $pop70 - i32.const $push27=, 4 - i32.add $push28=, $pop69, $pop27 - i32.store $discard=, 0($1), $pop28 - i32.load $push29=, 0($2) - i32.const $push30=, 17 - i32.ne $push31=, $pop29, $pop30 - br_if 1, $pop31 # 1: down to label13 -.LBB7_8: # %bar.exit - end_block # label14: - i32.const $push50=, 0 - i32.store $discard=, bar_arg($pop50), $0 - i32.const $7=, 16 - i32.add $8=, $8, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $2=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $2 + i32.const $push1=, 0 + i32.store $push0=, 12($2), $1 + i32.store $discard=, gap($pop1), $pop0 + call bar@FUNCTION, $0 + i32.const $push6=, 16 + i32.add $2=, $2, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $2 return -.LBB7_9: # %if.then11.i - end_block # label13: - call abort@FUNCTION - unreachable .endfunc .Lfunc_end7: .size f5, .Lfunc_end7-f5 @@ -691,266 +309,33 @@ f5: # @f5 .type f6,@function f6: # @f6 .param i32, i32 - .local f64, i32, i64, i32, i32, i32, i32, i32, i32 + .local f64, 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 $push110=, 0 - f64.load $2=, d($pop110) - i32.store $discard=, 12($10), $1 - block - block - block - i32.trunc_s/f64 $push109=, $2 - tee_local $push108=, $1=, $pop109 - i32.const $push1=, 16392 - i32.eq $push2=, $pop108, $pop1 - br_if 0, $pop2 # 0: down to label19 -# BB#1: # %entry - i32.const $push3=, 16390 - i32.ne $push4=, $1, $pop3 - br_if 1, $pop4 # 1: down to label18 -# BB#2: # %if.then.i - i32.const $push114=, 0 - i32.const $push113=, 0 - i32.load $push32=, gap($pop113) - i32.const $push33=, 7 - i32.add $push34=, $pop32, $pop33 - i32.const $push35=, -8 - i32.and $push112=, $pop34, $pop35 - tee_local $push111=, $5=, $pop112 - i32.const $push36=, 8 - i32.add $push37=, $pop111, $pop36 - i32.store $discard=, gap($pop114), $pop37 - block - f64.load $push38=, 0($5) - f64.const $push39=, 0x1.1p4 - f64.ne $push40=, $pop38, $pop39 - br_if 0, $pop40 # 0: down to label20 -# BB#3: # %lor.lhs.false.i - i32.const $push118=, 0 - i32.const $push117=, 0 - i32.load $push41=, gap($pop117) - i32.const $push42=, 3 - i32.add $push43=, $pop41, $pop42 - i32.const $push44=, -4 - i32.and $push116=, $pop43, $pop44 - tee_local $push115=, $5=, $pop116 - i32.const $push45=, 4 - i32.add $push46=, $pop115, $pop45 - i32.store $discard=, gap($pop118), $pop46 - i32.load $push47=, 0($5) - i32.const $push48=, 129 - i32.eq $push49=, $pop47, $pop48 - br_if 2, $pop49 # 2: down to label18 -.LBB8_4: # %if.then3.i - end_block # label20: - call abort@FUNCTION - unreachable -.LBB8_5: # %if.then5.i - end_block # label19: - i32.const $push122=, 0 - i32.load $5=, pap($pop122) - i32.load $push5=, 0($5) - i32.const $push6=, 7 - i32.add $push7=, $pop5, $pop6 - i32.const $push8=, -8 - i32.and $push121=, $pop7, $pop8 - tee_local $push120=, $3=, $pop121 - i32.const $push119=, 8 - i32.add $push9=, $pop120, $pop119 - i32.store $discard=, 0($5), $pop9 - i64.load $push10=, 0($3) - i64.const $push11=, 14 - i64.ne $push12=, $pop10, $pop11 - br_if 1, $pop12 # 1: down to label17 -# BB#6: # %lor.lhs.false7.i - i32.const $push127=, 0 - i32.load $5=, pap($pop127) - i32.load $push13=, 0($5) - i32.const $push14=, 15 - i32.add $push15=, $pop13, $pop14 - i32.const $push16=, -16 - i32.and $push126=, $pop15, $pop16 - tee_local $push125=, $6=, $pop126 - i32.const $push124=, 8 - i32.or $push17=, $pop125, $pop124 - i32.store $3=, 0($5), $pop17 - i64.load $4=, 0($6) - i32.const $push123=, 8 - i32.add $push18=, $3, $pop123 - i32.store $discard=, 0($5), $pop18 - i64.load $push19=, 0($3) - i64.const $push21=, 0 - i64.const $push20=, 4613381465357418496 - i32.call $push22=, __netf2@FUNCTION, $4, $pop19, $pop21, $pop20 - br_if 1, $pop22 # 1: down to label17 -# BB#7: # %lor.lhs.false9.i - i32.const $push130=, 0 - i32.load $5=, pap($pop130) - i32.load $push23=, 0($5) - i32.const $push24=, 3 - i32.add $push25=, $pop23, $pop24 - i32.const $push26=, -4 - i32.and $push129=, $pop25, $pop26 - tee_local $push128=, $3=, $pop129 - i32.const $push27=, 4 - i32.add $push28=, $pop128, $pop27 - i32.store $discard=, 0($5), $pop28 - i32.load $push29=, 0($3) - i32.const $push30=, 17 - i32.ne $push31=, $pop29, $pop30 - br_if 1, $pop31 # 1: down to label17 -.LBB8_8: # %bar.exit - end_block # label18: - i32.load $5=, 12($10) - i32.const $push146=, 0 - i32.store $discard=, bar_arg($pop146), $1 - i32.const $push50=, 3 - i32.add $push51=, $5, $pop50 - i32.const $push52=, -4 - i32.and $push145=, $pop51, $pop52 - tee_local $push144=, $1=, $pop145 - i32.const $push53=, 4 - i32.add $push54=, $pop144, $pop53 - i32.store $discard=, 12($10), $pop54 - i32.const $push143=, 7 - i32.add $push55=, $1, $pop143 - i32.const $push142=, -4 - i32.and $push141=, $pop55, $pop142 - tee_local $push140=, $1=, $pop141 - i32.const $push139=, 4 - i32.add $push56=, $pop140, $pop139 - i32.store $discard=, 12($10), $pop56 - i32.const $push138=, 7 - i32.add $push57=, $1, $pop138 - i32.const $push137=, -4 - i32.and $push136=, $pop57, $pop137 - tee_local $push135=, $1=, $pop136 - i32.const $push134=, 4 - i32.add $push58=, $pop135, $pop134 - i32.store $discard=, 12($10), $pop58 - block - block - i32.const $push133=, 0 - i32.load $push0=, 0($1) - i32.store $push132=, x($pop133), $pop0 - tee_local $push131=, $1=, $pop132 - i32.const $push59=, 16392 - i32.eq $push60=, $pop131, $pop59 - br_if 0, $pop60 # 0: down to label22 -# BB#9: # %bar.exit - i32.const $push61=, 16390 - i32.ne $push62=, $1, $pop61 - br_if 1, $pop62 # 1: down to label21 -# BB#10: # %if.then.i4 - i32.const $push150=, 0 - i32.const $push149=, 0 - i32.load $push89=, gap($pop149) - i32.const $push90=, 7 - i32.add $push91=, $pop89, $pop90 - i32.const $push92=, -8 - i32.and $push148=, $pop91, $pop92 - tee_local $push147=, $5=, $pop148 - i32.const $push93=, 8 - i32.add $push94=, $pop147, $pop93 - i32.store $discard=, gap($pop150), $pop94 - block - f64.load $push95=, 0($5) - f64.const $push96=, 0x1.1p4 - f64.ne $push97=, $pop95, $pop96 - br_if 0, $pop97 # 0: down to label23 -# BB#11: # %lor.lhs.false.i6 - i32.const $push154=, 0 - i32.const $push153=, 0 - i32.load $push98=, gap($pop153) - i32.const $push99=, 3 - i32.add $push100=, $pop98, $pop99 - i32.const $push101=, -4 - i32.and $push152=, $pop100, $pop101 - tee_local $push151=, $5=, $pop152 - i32.const $push102=, 4 - i32.add $push103=, $pop151, $pop102 - i32.store $discard=, gap($pop154), $pop103 - i32.load $push104=, 0($5) - i32.const $push105=, 129 - i32.eq $push106=, $pop104, $pop105 - br_if 2, $pop106 # 2: down to label21 -.LBB8_12: # %if.then3.i7 - end_block # label23: - call abort@FUNCTION - unreachable -.LBB8_13: # %if.then5.i9 - end_block # label22: - i32.const $push159=, 0 - i32.load $5=, pap($pop159) - i32.load $push63=, 0($5) - i32.const $push158=, 7 - i32.add $push64=, $pop63, $pop158 - i32.const $push65=, -8 - i32.and $push157=, $pop64, $pop65 - tee_local $push156=, $3=, $pop157 - i32.const $push155=, 8 - i32.add $push66=, $pop156, $pop155 - i32.store $discard=, 0($5), $pop66 - i64.load $push67=, 0($3) - i64.const $push68=, 14 - i64.ne $push69=, $pop67, $pop68 - br_if 1, $pop69 # 1: down to label17 -# BB#14: # %lor.lhs.false7.i11 - i32.const $push164=, 0 - i32.load $5=, pap($pop164) - i32.load $push70=, 0($5) - i32.const $push71=, 15 - i32.add $push72=, $pop70, $pop71 - i32.const $push73=, -16 - i32.and $push163=, $pop72, $pop73 - tee_local $push162=, $6=, $pop163 - i32.const $push161=, 8 - i32.or $push74=, $pop162, $pop161 - i32.store $3=, 0($5), $pop74 - i64.load $4=, 0($6) - i32.const $push160=, 8 - i32.add $push75=, $3, $pop160 - i32.store $discard=, 0($5), $pop75 - i64.load $push76=, 0($3) - i64.const $push78=, 0 - i64.const $push77=, 4613381465357418496 - i32.call $push79=, __netf2@FUNCTION, $4, $pop76, $pop78, $pop77 - br_if 1, $pop79 # 1: down to label17 -# BB#15: # %lor.lhs.false9.i13 - i32.const $push167=, 0 - i32.load $5=, pap($pop167) - i32.load $push80=, 0($5) - i32.const $push81=, 3 - i32.add $push82=, $pop80, $pop81 - i32.const $push83=, -4 - i32.and $push166=, $pop82, $pop83 - tee_local $push165=, $3=, $pop166 - i32.const $push84=, 4 - i32.add $push85=, $pop165, $pop84 - i32.store $discard=, 0($5), $pop85 - i32.load $push86=, 0($3) - i32.const $push87=, 17 - i32.ne $push88=, $pop86, $pop87 - br_if 1, $pop88 # 1: down to label17 -.LBB8_16: # %bar.exit15 - end_block # label21: - i32.const $push107=, 0 - i32.store $discard=, bar_arg($pop107), $1 - i32.const $9=, 16 - i32.add $10=, $10, $9 - i32.const $9=, __stack_pointer - i32.store $10=, 0($9), $10 + i32.const $push9=, __stack_pointer + i32.load $push10=, 0($pop9) + i32.const $push11=, 16 + i32.sub $3=, $pop10, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $3 + i32.const $push0=, 0 + f64.load $2=, d($pop0) + i32.store $discard=, 12($3), $1 + i32.trunc_s/f64 $push1=, $2 + call bar@FUNCTION, $pop1 + i32.load $push8=, 12($3) + tee_local $push7=, $1=, $pop8 + i32.const $push2=, 12 + i32.add $push3=, $pop7, $pop2 + i32.store $discard=, 12($3), $pop3 + i32.const $push6=, 0 + i32.load $push4=, 8($1) + i32.store $push5=, x($pop6), $pop4 + call bar@FUNCTION, $pop5 + i32.const $push13=, 16 + i32.add $3=, $3, $pop13 + i32.const $push14=, __stack_pointer + i32.store $discard=, 0($pop14), $3 return -.LBB8_17: # %if.then11.i14 - end_block # label17: - call abort@FUNCTION - unreachable .endfunc .Lfunc_end8: .size f6, .Lfunc_end8-f6 @@ -961,127 +346,25 @@ f6: # @f6 .type f7,@function f7: # @f7 .param i32, i32 - .local i64, i32, i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 16 - i32.sub $8=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $8=, 0($5), $8 - i32.store $discard=, 12($8), $1 + i32.const $push1=, __stack_pointer + i32.load $push2=, 0($pop1) + i32.const $push3=, 16 + i32.sub $3=, $pop2, $pop3 + i32.const $push4=, __stack_pointer + i32.store $discard=, 0($pop4), $3 + i32.store $discard=, 12($3), $1 i32.const $push0=, 0 - i32.const $7=, 12 - i32.add $7=, $8, $7 - i32.store $discard=, pap($pop0), $7 - block - block - block - i32.const $push1=, 16392 - i32.eq $push2=, $0, $pop1 - br_if 0, $pop2 # 0: down to label26 -# BB#1: # %entry - i32.const $push3=, 16390 - i32.ne $push4=, $0, $pop3 - br_if 1, $pop4 # 1: down to label25 -# BB#2: # %if.then.i - i32.const $push54=, 0 - i32.const $push53=, 0 - i32.load $push32=, gap($pop53) - i32.const $push33=, 7 - i32.add $push34=, $pop32, $pop33 - i32.const $push35=, -8 - i32.and $push52=, $pop34, $pop35 - tee_local $push51=, $1=, $pop52 - i32.const $push36=, 8 - i32.add $push37=, $pop51, $pop36 - i32.store $discard=, gap($pop54), $pop37 - block - f64.load $push38=, 0($1) - f64.const $push39=, 0x1.1p4 - f64.ne $push40=, $pop38, $pop39 - br_if 0, $pop40 # 0: down to label27 -# BB#3: # %lor.lhs.false.i - i32.const $push58=, 0 - i32.const $push57=, 0 - i32.load $push41=, gap($pop57) - i32.const $push42=, 3 - i32.add $push43=, $pop41, $pop42 - i32.const $push44=, -4 - i32.and $push56=, $pop43, $pop44 - tee_local $push55=, $1=, $pop56 - i32.const $push45=, 4 - i32.add $push46=, $pop55, $pop45 - i32.store $discard=, gap($pop58), $pop46 - i32.load $push47=, 0($1) - i32.const $push48=, 129 - i32.eq $push49=, $pop47, $pop48 - br_if 2, $pop49 # 2: down to label25 -.LBB9_4: # %if.then3.i - end_block # label27: - call abort@FUNCTION - unreachable -.LBB9_5: # %if.then5.i - end_block # label26: - i32.load $push5=, 12($8) - i32.const $push6=, 7 - i32.add $push7=, $pop5, $pop6 - i32.const $push8=, -8 - i32.and $push61=, $pop7, $pop8 - tee_local $push60=, $1=, $pop61 - i32.const $push59=, 8 - i32.add $push9=, $pop60, $pop59 - i32.store $discard=, 12($8), $pop9 - i64.load $push10=, 0($1) - i64.const $push11=, 14 - i64.ne $push12=, $pop10, $pop11 - br_if 1, $pop12 # 1: down to label24 -# BB#6: # %lor.lhs.false7.i - i32.load $push13=, 12($8) - i32.const $push14=, 15 - i32.add $push15=, $pop13, $pop14 - i32.const $push16=, -16 - i32.and $push65=, $pop15, $pop16 - tee_local $push64=, $3=, $pop65 - i32.const $push63=, 8 - i32.or $push17=, $pop64, $pop63 - i32.store $1=, 12($8), $pop17 - i64.load $2=, 0($3) - i32.const $push62=, 8 - i32.add $push18=, $1, $pop62 - i32.store $discard=, 12($8), $pop18 - i64.load $push19=, 0($1) - i64.const $push21=, 0 - i64.const $push20=, 4613381465357418496 - i32.call $push22=, __netf2@FUNCTION, $2, $pop19, $pop21, $pop20 - br_if 1, $pop22 # 1: down to label24 -# BB#7: # %lor.lhs.false9.i - i32.load $push23=, 12($8) - i32.const $push24=, 3 - i32.add $push25=, $pop23, $pop24 - i32.const $push26=, -4 - i32.and $push67=, $pop25, $pop26 - tee_local $push66=, $1=, $pop67 - i32.const $push27=, 4 - i32.add $push28=, $pop66, $pop27 - i32.store $discard=, 12($8), $pop28 - i32.load $push29=, 0($1) - i32.const $push30=, 17 - i32.ne $push31=, $pop29, $pop30 - br_if 1, $pop31 # 1: down to label24 -.LBB9_8: # %bar.exit - end_block # label25: - i32.const $push50=, 0 - i32.store $discard=, bar_arg($pop50), $0 - i32.const $6=, 16 - i32.add $8=, $8, $6 - i32.const $6=, __stack_pointer - i32.store $8=, 0($6), $8 + i32.const $2=, 12 + i32.add $2=, $3, $2 + i32.store $discard=, pap($pop0), $2 + call bar@FUNCTION, $0 + i32.const $push5=, 16 + i32.add $3=, $3, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $3 return -.LBB9_9: # %if.then11.i - end_block # label24: - call abort@FUNCTION - unreachable .endfunc .Lfunc_end9: .size f7, .Lfunc_end9-f7 @@ -1092,139 +375,37 @@ f7: # @f7 .type f8,@function f8: # @f8 .param i32, i32 - .local i64, i32, i32, i32, i32, i32, i32 + .local i64, i32, i32 # BB#0: # %entry - i32.const $4=, __stack_pointer - i32.load $4=, 0($4) - i32.const $5=, 16 - i32.sub $8=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $8=, 0($5), $8 - i32.store $discard=, 12($8), $1 + i32.const $push10=, __stack_pointer + i32.load $push11=, 0($pop10) + i32.const $push12=, 16 + i32.sub $4=, $pop11, $pop12 + i32.const $push13=, __stack_pointer + i32.store $discard=, 0($pop13), $4 + i32.store $discard=, 12($4), $1 i32.const $push0=, 0 - i32.const $7=, 12 - i32.add $7=, $8, $7 - i32.store $discard=, pap($pop0), $7 - block - block - block - i32.const $push1=, 16392 - i32.eq $push2=, $0, $pop1 - br_if 0, $pop2 # 0: down to label30 -# BB#1: # %entry - i32.const $push3=, 16390 - i32.ne $push4=, $0, $pop3 - br_if 1, $pop4 # 1: down to label29 -# BB#2: # %if.then.i - i32.const $push60=, 0 - i32.const $push59=, 0 - i32.load $push32=, gap($pop59) - i32.const $push33=, 7 - i32.add $push34=, $pop32, $pop33 - i32.const $push35=, -8 - i32.and $push58=, $pop34, $pop35 - tee_local $push57=, $1=, $pop58 - i32.const $push36=, 8 - i32.add $push37=, $pop57, $pop36 - i32.store $discard=, gap($pop60), $pop37 - block - f64.load $push38=, 0($1) - f64.const $push39=, 0x1.1p4 - f64.ne $push40=, $pop38, $pop39 - br_if 0, $pop40 # 0: down to label31 -# BB#3: # %lor.lhs.false.i - i32.const $push64=, 0 - i32.const $push63=, 0 - i32.load $push41=, gap($pop63) - i32.const $push42=, 3 - i32.add $push43=, $pop41, $pop42 - i32.const $push44=, -4 - i32.and $push62=, $pop43, $pop44 - tee_local $push61=, $1=, $pop62 - i32.const $push45=, 4 - i32.add $push46=, $pop61, $pop45 - i32.store $discard=, gap($pop64), $pop46 - i32.load $push47=, 0($1) - i32.const $push48=, 129 - i32.eq $push49=, $pop47, $pop48 - br_if 2, $pop49 # 2: down to label29 -.LBB10_4: # %if.then3.i - end_block # label31: - call abort@FUNCTION - unreachable -.LBB10_5: # %if.then5.i - end_block # label30: - i32.load $push5=, 12($8) - i32.const $push6=, 7 - i32.add $push7=, $pop5, $pop6 - i32.const $push8=, -8 - i32.and $push67=, $pop7, $pop8 - tee_local $push66=, $1=, $pop67 - i32.const $push65=, 8 - i32.add $push9=, $pop66, $pop65 - i32.store $discard=, 12($8), $pop9 - i64.load $push10=, 0($1) - i64.const $push11=, 14 - i64.ne $push12=, $pop10, $pop11 - br_if 1, $pop12 # 1: down to label28 -# BB#6: # %lor.lhs.false7.i - i32.load $push13=, 12($8) - i32.const $push14=, 15 - i32.add $push15=, $pop13, $pop14 - i32.const $push16=, -16 - i32.and $push71=, $pop15, $pop16 - tee_local $push70=, $3=, $pop71 - i32.const $push69=, 8 - i32.or $push17=, $pop70, $pop69 - i32.store $1=, 12($8), $pop17 - i64.load $2=, 0($3) - i32.const $push68=, 8 - i32.add $push18=, $1, $pop68 - i32.store $discard=, 12($8), $pop18 - i64.load $push19=, 0($1) - i64.const $push21=, 0 - i64.const $push20=, 4613381465357418496 - i32.call $push22=, __netf2@FUNCTION, $2, $pop19, $pop21, $pop20 - br_if 1, $pop22 # 1: down to label28 -# BB#7: # %lor.lhs.false9.i - i32.load $push23=, 12($8) - i32.const $push24=, 3 - i32.add $push25=, $pop23, $pop24 - i32.const $push26=, -4 - i32.and $push73=, $pop25, $pop26 - tee_local $push72=, $1=, $pop73 - i32.const $push27=, 4 - i32.add $push28=, $pop72, $pop27 - i32.store $discard=, 12($8), $pop28 - i32.load $push29=, 0($1) - i32.const $push30=, 17 - i32.ne $push31=, $pop29, $pop30 - br_if 1, $pop31 # 1: down to label28 -.LBB10_8: # %bar.exit - end_block # label29: - i32.load $1=, 12($8) - i32.const $push50=, 0 - i32.store $discard=, bar_arg($pop50), $0 - i32.const $push51=, 7 - i32.add $push52=, $1, $pop51 - i32.const $push53=, -8 - i32.and $push76=, $pop52, $pop53 - tee_local $push75=, $0=, $pop76 - i32.const $push54=, 8 - i32.add $push55=, $pop75, $pop54 - i32.store $discard=, 12($8), $pop55 - i32.const $push74=, 0 - f64.load $push56=, 0($0) - f64.store $discard=, d($pop74), $pop56 - i32.const $6=, 16 - i32.add $8=, $8, $6 - i32.const $6=, __stack_pointer - i32.store $8=, 0($6), $8 + i32.const $3=, 12 + i32.add $3=, $4, $3 + i32.store $discard=, pap($pop0), $3 + call bar@FUNCTION, $0 + i32.load $push1=, 12($4) + i32.const $push2=, 7 + i32.add $push3=, $pop1, $pop2 + i32.const $push4=, -8 + i32.and $push9=, $pop3, $pop4 + tee_local $push8=, $1=, $pop9 + i64.load $2=, 0($pop8) + i32.const $push5=, 8 + i32.add $push6=, $1, $pop5 + i32.store $discard=, 12($4), $pop6 + i32.const $push7=, 0 + i64.store $discard=, d($pop7), $2 + i32.const $push14=, 16 + i32.add $4=, $4, $pop14 + i32.const $push15=, __stack_pointer + i32.store $discard=, 0($pop15), $4 return -.LBB10_9: # %if.then11.i - end_block # label28: - call abort@FUNCTION - unreachable .endfunc .Lfunc_end10: .size f8, .Lfunc_end10-f8 @@ -1235,175 +416,157 @@ f8: # @f8 .type main,@function main: # @main .result i32 - .local i32, i64, i64, i64, 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 # BB#0: # %entry - 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.store $20=, 0($5), $20 - i32.const $push55=, 0 - call f1@FUNCTION, $0, $pop55 - i32.const $push54=, 0 + i32.const $push70=, __stack_pointer + i32.load $push71=, 0($pop70) + i32.const $push72=, 176 + i32.sub $13=, $pop71, $pop72 + i32.const $push73=, __stack_pointer + i32.store $discard=, 0($pop73), $13 + i32.const $push49=, 0 + call f1@FUNCTION, $0, $pop49 + i32.const $push48=, 0 i64.const $push1=, 4629418941960159232 - i64.store $discard=, d($pop54), $pop1 + i64.store $discard=, d($pop48), $pop1 i32.const $push2=, 28 - i32.store $0=, 160($20):p2align=4, $pop2 - i32.const $7=, 160 - i32.add $7=, $20, $7 - call f2@FUNCTION, $0, $7 + i32.store $0=, 160($13):p2align=4, $pop2 + i32.const $4=, 160 + i32.add $4=, $13, $4 + call f2@FUNCTION, $0, $4 block - i32.const $push53=, 0 - i32.load $push3=, bar_arg($pop53) + i32.const $push47=, 0 + i32.load $push3=, bar_arg($pop47) i32.ne $push4=, $0, $pop3 - br_if 0, $pop4 # 0: down to label32 + br_if 0, $pop4 # 0: down to label6 # BB#1: # %entry - i32.const $push56=, 0 - i32.load $push0=, x($pop56) + i32.const $push50=, 0 + i32.load $push0=, x($pop50) i32.ne $push5=, $pop0, $0 - br_if 0, $pop5 # 0: down to label32 + br_if 0, $pop5 # 0: down to label6 # BB#2: # %if.end i64.const $push6=, 4638813169307877376 - i64.store $discard=, 144($20):p2align=4, $pop6 - i32.const $8=, 144 - i32.add $8=, $20, $8 - call f3@FUNCTION, $0, $8 - i32.const $push57=, 0 - f64.load $push7=, d($pop57) + i64.store $discard=, 144($13):p2align=4, $pop6 + i32.const $5=, 144 + i32.add $5=, $13, $5 + call f3@FUNCTION, $0, $5 + i32.const $push51=, 0 + f64.load $push7=, d($pop51) f64.const $push8=, 0x1.06p7 f64.ne $push9=, $pop7, $pop8 - br_if 0, $pop9 # 0: down to label32 + br_if 0, $pop9 # 0: down to label6 # BB#3: # %if.end4 - 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($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 - 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 label32 + i32.const $push11=, 128 + i32.store $0=, 136($13):p2align=3, $pop11 + i64.const $push12=, 4625196817309499392 + i64.store $discard=, 128($13):p2align=4, $pop12 + i32.const $push13=, 5 + i32.const $6=, 128 + i32.add $6=, $13, $6 + call f4@FUNCTION, $pop13, $6 + i32.const $push52=, 0 + i32.load $push14=, x($pop52) + i32.const $push15=, 16 + i32.ne $push16=, $pop14, $pop15 + br_if 0, $pop16 # 0: down to label6 # 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 label32 + i32.const $push53=, 0 + i32.load $push10=, foo_arg($pop53) + i32.ne $push17=, $pop10, $0 + br_if 0, $pop17 # 0: down to label6 # BB#5: # %if.end9 - 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 - 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 label32 + i32.const $push18=, 129 + i32.store $discard=, 120($13):p2align=3, $pop18 + i64.const $push19=, 4625478292286210048 + i64.store $discard=, 112($13):p2align=4, $pop19 + i32.const $push20=, 16390 + i32.const $7=, 112 + i32.add $7=, $13, $7 + call f5@FUNCTION, $pop20, $7 + i32.const $push55=, 0 + i32.load $push21=, bar_arg($pop55) + i32.const $push54=, 16390 + i32.ne $push22=, $pop21, $pop54 + br_if 0, $pop22 # 0: down to label6 # BB#6: # %if.end12 - 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 - i32.const $push63=, 0 - i32.load $push29=, bar_arg($pop63) - i32.ne $push30=, $0, $pop29 - br_if 0, $pop30 # 0: down to label32 + i32.const $push23=, -31 + i32.store $0=, 104($13):p2align=3, $pop23 + i64.const $push24=, 60129542156 + i64.store $discard=, 96($13):p2align=4, $pop24 + i32.const $8=, 96 + i32.add $8=, $13, $8 + call f6@FUNCTION, $0, $8 + i32.const $push56=, 0 + i32.load $push25=, bar_arg($pop56) + i32.ne $push26=, $0, $pop25 + br_if 0, $pop26 # 0: down to label6 # BB#7: # %if.end15 - 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 - 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 label32 + i32.const $push62=, 32 + i32.const $9=, 48 + i32.add $9=, $13, $9 + i32.add $push27=, $9, $pop62 + i64.const $push28=, 4628011567076605952 + i64.store $discard=, 0($pop27):p2align=4, $pop28 + i32.const $push61=, 24 + i32.const $10=, 48 + i32.add $10=, $13, $10 + i32.add $push29=, $10, $pop61 + i32.const $push30=, 17 + i32.store $0=, 0($pop29):p2align=3, $pop30 + i32.const $push60=, 16 + i32.const $11=, 48 + i32.add $11=, $13, $11 + i32.add $push31=, $11, $pop60 + i64.const $push32=, 4613381465357418496 + i64.store $1=, 0($pop31):p2align=4, $pop32 + i64.const $push33=, 0 + i64.store $2=, 56($13), $pop33 + i64.const $push34=, 14 + i64.store $3=, 48($13):p2align=4, $pop34 + i32.const $push59=, 16392 + i32.const $12=, 48 + i32.add $12=, $13, $12 + call f7@FUNCTION, $pop59, $12 + i32.const $push58=, 0 + i32.load $push35=, bar_arg($pop58) + i32.const $push57=, 16392 + i32.ne $push36=, $pop35, $pop57 + br_if 0, $pop36 # 0: down to label6 # BB#8: # %if.end18 - 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 - 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 label32 + i32.const $push68=, 32 + i32.add $push38=, $13, $pop68 + i64.const $push39=, 4628293042053316608 + i64.store $discard=, 0($pop38):p2align=4, $pop39 + i32.const $push67=, 24 + i32.add $push40=, $13, $pop67 + i32.store $discard=, 0($pop40):p2align=3, $0 + i32.const $push66=, 16 + i32.add $push41=, $13, $pop66 + i64.store $discard=, 0($pop41):p2align=4, $1 + i64.store $discard=, 8($13), $2 + i64.store $discard=, 0($13):p2align=4, $3 + i32.const $push65=, 16392 + call f8@FUNCTION, $pop65, $13 + i32.const $push64=, 0 + i32.load $push42=, bar_arg($pop64) + i32.const $push63=, 16392 + i32.ne $push43=, $pop42, $pop63 + br_if 0, $pop43 # 0: down to label6 # BB#9: # %if.end18 - 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 label32 + i32.const $push69=, 0 + f64.load $push37=, d($pop69) + f64.const $push44=, 0x1.bp4 + f64.ne $push45=, $pop37, $pop44 + br_if 0, $pop45 # 0: down to label6 # BB#10: # %if.end23 - 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 + i32.const $push46=, 0 + i32.const $push74=, 176 + i32.add $13=, $13, $pop74 + i32.const $push75=, __stack_pointer + i32.store $discard=, 0($pop75), $13 + return $pop46 .LBB11_11: # %if.then22 - end_block # label32: + end_block # label6: call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/stdarg-2.c.s b/test/torture-s/stdarg-2.c.s index 84a3301ad..f92ceb711 100644 --- a/test/torture-s/stdarg-2.c.s +++ b/test/torture-s/stdarg-2.c.s @@ -6,15 +6,14 @@ .type foo,@function foo: # @foo .param i32, i32 - .local i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i64, i64, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 48 - i32.sub $12=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $12=, 0($6), $12 - i32.store $discard=, 44($12), $1 + i32.const $push47=, __stack_pointer + i32.load $push48=, 0($pop47) + i32.const $push49=, 32 + i32.sub $6=, $pop48, $pop49 + i32.const $push50=, __stack_pointer + i32.store $discard=, 0($pop50), $6 block block block @@ -23,129 +22,78 @@ foo: # @foo i32.eq $push1=, $0, $pop0 br_if 0, $pop1 # 0: down to label3 # BB#1: # %entry - i32.const $push59=, 8 - i32.eq $push2=, $0, $pop59 - br_if 1, $pop2 # 1: down to label2 + i32.const $push2=, 8 + i32.eq $push3=, $0, $pop2 + br_if 1, $pop3 # 1: down to label2 # BB#2: # %entry - i32.const $push3=, 5 - i32.ne $push4=, $0, $pop3 - br_if 3, $pop4 # 3: down to label0 + i32.const $push4=, 5 + i32.ne $push5=, $0, $pop4 + br_if 3, $pop5 # 3: down to label0 # BB#3: # %sw.bb - i32.load $push38=, 44($12) - i32.const $push39=, 3 - i32.add $push40=, $pop38, $pop39 - i32.const $push41=, -4 - i32.and $push67=, $pop40, $pop41 - tee_local $push66=, $0=, $pop67 - i32.const $push42=, 4 - i32.add $push43=, $pop66, $pop42 - i32.store $discard=, 44($12), $pop43 - i32.load $1=, 0($0) - i32.const $push44=, 11 - i32.add $push45=, $0, $pop44 - i32.const $push46=, -8 - i32.and $push65=, $pop45, $pop46 - tee_local $push64=, $0=, $pop65 - i32.const $push47=, 8 - i32.add $push48=, $pop64, $pop47 - i32.store $discard=, 44($12), $pop48 - f64.convert_s/i32 $push50=, $1 - f64.load $push49=, 0($0) - f64.add $push51=, $pop50, $pop49 - i32.trunc_s/f64 $1=, $pop51 - i32.const $push52=, 15 - i32.add $push53=, $0, $pop52 - i32.const $push63=, -8 - i32.and $push62=, $pop53, $pop63 - tee_local $push61=, $0=, $pop62 - i32.const $push60=, 8 - i32.add $push54=, $pop61, $pop60 - i32.store $discard=, 44($12), $pop54 - i32.const $push58=, 0 - i64.extend_u/i32 $push56=, $1 - i64.load $push55=, 0($0) - i64.add $push57=, $pop56, $pop55 - i64.store32 $discard=, foo_arg($pop58), $pop57 + i32.const $push39=, 0 + i32.load $push28=, 0($1) + f64.convert_s/i32 $push33=, $pop28 + i32.const $push29=, 11 + i32.add $push30=, $1, $pop29 + i32.const $push31=, -8 + i32.and $push41=, $pop30, $pop31 + tee_local $push40=, $0=, $pop41 + f64.load $push32=, 0($pop40) + f64.add $push34=, $pop33, $pop32 + i32.trunc_s/f64 $push35=, $pop34 + i64.extend_u/i32 $push37=, $pop35 + i64.load $push36=, 8($0) + i64.add $push38=, $pop37, $pop36 + i64.store32 $discard=, foo_arg($pop39), $pop38 br 2 # 2: down to label1 -.LBB0_4: # %sw.bb10 +.LBB0_4: # %sw.bb18 end_block # label3: - i32.load $push5=, 44($12) - i32.const $push6=, 3 - i32.add $push7=, $pop5, $pop6 - i32.const $push8=, -4 - i32.and $push81=, $pop7, $pop8 - tee_local $push80=, $0=, $pop81 - i32.const $push9=, 4 - i32.add $push10=, $pop80, $pop9 - i32.store $discard=, 44($12), $pop10 - i32.load $1=, 0($0) - i32.const $push11=, 19 - i32.add $push12=, $0, $pop11 - i32.const $push13=, -16 - i32.and $push79=, $pop12, $pop13 - tee_local $push78=, $4=, $pop79 - i32.const $push14=, 8 - i32.or $push15=, $pop78, $pop14 - i32.store $0=, 44($12), $pop15 - i64.load $2=, 0($4) - i32.const $push77=, 8 - i32.add $push16=, $0, $pop77 - i32.store $discard=, 44($12), $pop16 - i64.load $3=, 0($0) - i32.const $8=, 24 - i32.add $8=, $12, $8 - call __floatsitf@FUNCTION, $8, $1 - i64.load $push19=, 24($12) - i32.const $push76=, 8 - i32.const $9=, 24 - i32.add $9=, $12, $9 - i32.add $push17=, $9, $pop76 - i64.load $push18=, 0($pop17) - i32.const $10=, 8 - i32.add $10=, $12, $10 - call __addtf3@FUNCTION, $10, $pop19, $pop18, $2, $3 - i32.const $push24=, 0 - i64.load $push22=, 8($12) - i32.const $push75=, 8 - i32.const $11=, 8 - i32.add $11=, $12, $11 - i32.add $push20=, $11, $pop75 - i64.load $push21=, 0($pop20) - i32.call $push23=, __fixtfsi@FUNCTION, $pop22, $pop21 - i32.store $discard=, foo_arg($pop24), $pop23 + i32.const $push7=, 19 + i32.add $push8=, $1, $pop7 + i32.const $push9=, -16 + i32.and $push46=, $pop8, $pop9 + tee_local $push45=, $0=, $pop46 + i64.load $2=, 8($pop45) + i64.load $3=, 0($0):p2align=4 + i32.load $push6=, 0($1) + i32.const $4=, 16 + i32.add $4=, $6, $4 + call __floatsitf@FUNCTION, $4, $pop6 + i64.load $push13=, 16($6) + i32.const $push10=, 8 + i32.const $5=, 16 + i32.add $5=, $6, $5 + i32.add $push11=, $5, $pop10 + i64.load $push12=, 0($pop11) + call __addtf3@FUNCTION, $6, $pop13, $pop12, $3, $2 + i32.const $push18=, 0 + i64.load $push16=, 0($6) + i32.const $push44=, 8 + i32.add $push14=, $6, $pop44 + i64.load $push15=, 0($pop14) + i32.call $push17=, __fixtfsi@FUNCTION, $pop16, $pop15 + i32.store $discard=, foo_arg($pop18), $pop17 br 1 # 1: down to label1 -.LBB0_5: # %sw.bb5 +.LBB0_5: # %sw.bb9 end_block # label2: - i32.load $push25=, 44($12) - i32.const $push26=, 7 - i32.add $push27=, $pop25, $pop26 - i32.const $push28=, -8 - i32.and $push74=, $pop27, $pop28 - tee_local $push73=, $0=, $pop74 - i32.const $push72=, 8 - i32.add $push29=, $pop73, $pop72 - i32.store $discard=, 44($12), $pop29 - i32.load $1=, 0($0):p2align=3 - i32.const $push30=, 15 - i32.add $push31=, $0, $pop30 - i32.const $push71=, -8 - i32.and $push70=, $pop31, $pop71 - tee_local $push69=, $0=, $pop70 - i32.const $push68=, 8 - i32.add $push32=, $pop69, $pop68 - i32.store $discard=, 44($12), $pop32 - i32.const $push37=, 0 - f64.convert_s/i32 $push34=, $1 - f64.load $push33=, 0($0) - f64.add $push35=, $pop34, $pop33 - i32.trunc_s/f64 $push36=, $pop35 - i32.store $discard=, foo_arg($pop37), $pop36 + i32.const $push27=, 0 + i32.const $push19=, 7 + i32.add $push20=, $1, $pop19 + i32.const $push21=, -8 + i32.and $push43=, $pop20, $pop21 + tee_local $push42=, $0=, $pop43 + i32.load $push22=, 0($pop42):p2align=3 + f64.convert_s/i32 $push24=, $pop22 + f64.load $push23=, 8($0) + f64.add $push25=, $pop24, $pop23 + i32.trunc_s/f64 $push26=, $pop25 + i32.store $discard=, foo_arg($pop27), $pop26 .LBB0_6: # %sw.epilog end_block # label1: - i32.const $7=, 48 - i32.add $12=, $12, $7 - i32.const $7=, __stack_pointer - i32.store $12=, 0($7), $12 + i32.const $push51=, 32 + i32.add $6=, $6, $pop51 + i32.const $push52=, __stack_pointer + i32.store $discard=, 0($pop52), $6 return .LBB0_7: # %sw.default end_block # label0: @@ -161,51 +109,45 @@ foo: # @foo .type bar,@function bar: # @bar .param i32 - .local i32 + .local i32, f64, i32 # BB#0: # %entry block block - i32.const $push0=, 16386 - i32.ne $push1=, $0, $pop0 - br_if 0, $pop1 # 0: down to label5 + i32.const $push1=, 16386 + i32.ne $push2=, $0, $pop1 + br_if 0, $pop2 # 0: down to label5 # BB#1: # %if.then - i32.const $push24=, 0 - i32.const $push23=, 0 - i32.load $push2=, gap($pop23) - i32.const $push3=, 3 - i32.add $push4=, $pop2, $pop3 - i32.const $push5=, -4 - i32.and $push22=, $pop4, $pop5 - tee_local $push21=, $1=, $pop22 - i32.const $push6=, 4 - i32.add $push7=, $pop21, $pop6 - i32.store $discard=, gap($pop24), $pop7 - i32.load $push8=, 0($1) - i32.const $push9=, 13 - i32.ne $push10=, $pop8, $pop9 - br_if 1, $pop10 # 1: down to label4 + i32.const $push18=, 0 + i32.const $push17=, 0 + i32.load $push16=, gap($pop17) + tee_local $push15=, $3=, $pop16 + i32.const $push3=, 4 + i32.add $push0=, $pop15, $pop3 + i32.store $1=, gap($pop18), $pop0 + i32.load $push4=, 0($3) + i32.const $push5=, 13 + i32.ne $push6=, $pop4, $pop5 + br_if 1, $pop6 # 1: down to label4 # BB#2: # %lor.lhs.false - i32.const $push28=, 0 - i32.const $push27=, 0 - i32.load $push11=, gap($pop27) - i32.const $push12=, 7 - i32.add $push13=, $pop11, $pop12 - i32.const $push14=, -8 - i32.and $push26=, $pop13, $pop14 - tee_local $push25=, $1=, $pop26 - i32.const $push15=, 8 - i32.add $push16=, $pop25, $pop15 - i32.store $discard=, gap($pop28), $pop16 - f64.load $push17=, 0($1) - f64.const $push18=, -0x1.cp3 - f64.ne $push19=, $pop17, $pop18 - br_if 1, $pop19 # 1: down to label4 -.LBB1_3: # %if.end4 + i32.const $push7=, 7 + i32.add $push8=, $1, $pop7 + i32.const $push9=, -8 + i32.and $push21=, $pop8, $pop9 + tee_local $push20=, $3=, $pop21 + f64.load $2=, 0($pop20) + i32.const $push19=, 0 + i32.const $push10=, 8 + i32.add $push11=, $3, $pop10 + i32.store $discard=, gap($pop19), $pop11 + f64.const $push12=, -0x1.cp3 + f64.ne $push13=, $2, $pop12 + br_if 1, $pop13 # 1: down to label4 +.LBB1_3: # %if.end6 end_block # label5: - i32.const $push20=, 0 - i32.store $discard=, bar_arg($pop20), $0 + i32.const $push14=, 0 + i32.store $discard=, bar_arg($pop14), $0 return -.LBB1_4: # %if.then3 +.LBB1_4: # %if.then5 end_block # label4: call abort@FUNCTION unreachable @@ -221,19 +163,15 @@ f1: # @f1 .param i32, i32 # BB#0: # %entry i32.const $push0=, 0 - i32.const $push11=, 0 - i32.store $push1=, gap($pop11), $1 - i32.const $push2=, 3 - i32.add $push3=, $pop1, $pop2 - i32.const $push4=, -4 - i32.and $push10=, $pop3, $pop4 - tee_local $push9=, $1=, $pop10 - i32.const $push5=, 4 - i32.add $push6=, $pop9, $pop5 - i32.store $discard=, gap($pop0), $pop6 - i32.const $push8=, 0 - i32.load $push7=, 0($1) - i32.store $discard=, x($pop8), $pop7 + i32.const $push7=, 0 + i32.store $push6=, gap($pop7), $1 + tee_local $push5=, $1=, $pop6 + i32.const $push1=, 4 + i32.add $push2=, $pop5, $pop1 + i32.store $discard=, gap($pop0), $pop2 + i32.const $push4=, 0 + i32.load $push3=, 0($1) + i32.store $discard=, x($pop4), $pop3 return .endfunc .Lfunc_end2: @@ -245,52 +183,47 @@ f1: # @f1 .type f2,@function f2: # @f2 .param i32, i32 + .local i32, f64 # BB#0: # %entry - i32.const $push21=, 0 - i32.store $discard=, gap($pop21), $1 + i32.const $push15=, 0 + i32.store $discard=, gap($pop15), $1 block block - i32.const $push0=, 16386 - i32.ne $push1=, $0, $pop0 - br_if 0, $pop1 # 0: down to label7 + i32.const $push1=, 16386 + i32.ne $push2=, $0, $pop1 + br_if 0, $pop2 # 0: down to label7 # BB#1: # %if.then.i - i32.const $push25=, 0 - i32.const $push24=, 0 - i32.load $push2=, gap($pop24) - i32.const $push3=, 3 - i32.add $push4=, $pop2, $pop3 - i32.const $push5=, -4 - i32.and $push23=, $pop4, $pop5 - tee_local $push22=, $1=, $pop23 - i32.const $push6=, 4 - i32.add $push7=, $pop22, $pop6 - i32.store $discard=, gap($pop25), $pop7 - i32.load $push8=, 0($1) - i32.const $push9=, 13 - i32.ne $push10=, $pop8, $pop9 - br_if 1, $pop10 # 1: down to label6 + i32.const $push19=, 0 + i32.const $push18=, 0 + i32.load $push17=, gap($pop18) + tee_local $push16=, $1=, $pop17 + i32.const $push3=, 4 + i32.add $push0=, $pop16, $pop3 + i32.store $2=, gap($pop19), $pop0 + i32.load $push4=, 0($1) + i32.const $push5=, 13 + i32.ne $push6=, $pop4, $pop5 + br_if 1, $pop6 # 1: down to label6 # BB#2: # %lor.lhs.false.i - i32.const $push11=, 0 - i32.const $push28=, 0 - i32.load $push12=, gap($pop28) - i32.const $push13=, 7 - i32.add $push14=, $pop12, $pop13 - i32.const $push15=, -8 - i32.and $push27=, $pop14, $pop15 - tee_local $push26=, $1=, $pop27 - i32.const $push16=, 8 - i32.add $push17=, $pop26, $pop16 - i32.store $discard=, gap($pop11), $pop17 - f64.load $push18=, 0($1) - f64.const $push19=, -0x1.cp3 - f64.ne $push20=, $pop18, $pop19 - br_if 1, $pop20 # 1: down to label6 + i32.const $push7=, 7 + i32.add $push8=, $2, $pop7 + i32.const $push9=, -8 + i32.and $push21=, $pop8, $pop9 + tee_local $push20=, $1=, $pop21 + f64.load $3=, 0($pop20) + i32.const $push12=, 0 + i32.const $push10=, 8 + i32.add $push11=, $1, $pop10 + i32.store $discard=, gap($pop12), $pop11 + f64.const $push13=, -0x1.cp3 + f64.ne $push14=, $3, $pop13 + br_if 1, $pop14 # 1: down to label6 .LBB3_3: # %bar.exit end_block # label7: - i32.const $push29=, 0 - i32.store $discard=, bar_arg($pop29), $0 + i32.const $push22=, 0 + i32.store $discard=, bar_arg($pop22), $0 return -.LBB3_4: # %if.then3.i +.LBB3_4: # %if.then5.i end_block # label6: call abort@FUNCTION unreachable @@ -304,30 +237,20 @@ f2: # @f2 .type f3,@function f3: # @f3 .param i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 48 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $push0=, 16($5):p2align=4, $1 - i32.const $push1=, 3 - i32.add $push2=, $pop0, $pop1 - i32.const $push3=, -4 - i32.and $push9=, $pop2, $pop3 - tee_local $push8=, $1=, $pop9 - i32.const $push4=, 4 - i32.add $push5=, $pop8, $pop4 - i32.store $discard=, 16($5):p2align=4, $pop5 - i32.const $push7=, 0 - i32.load $push6=, 0($1) - i32.store $discard=, x($pop7), $pop6 - i32.const $4=, 48 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 48 + i32.sub $2=, $pop7, $pop8 + i32.store $push5=, 16($2):p2align=4, $1 + tee_local $push4=, $1=, $pop5 + i32.const $push0=, 4 + i32.add $push1=, $pop4, $pop0 + i32.store $discard=, 16($2):p2align=4, $pop1 + i32.const $push3=, 0 + i32.load $push2=, 0($1) + i32.store $discard=, x($pop3), $pop2 return .endfunc .Lfunc_end4: @@ -339,62 +262,56 @@ f3: # @f3 .type f4,@function f4: # @f4 .param i32, i32 - .local i32, i32, i32, i32 + .local i32, f64, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 48 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $discard=, 16($5):p2align=4, $1 + i32.const $push22=, __stack_pointer + i32.load $push23=, 0($pop22) + i32.const $push24=, 48 + i32.sub $4=, $pop23, $pop24 + i32.const $push25=, __stack_pointer + i32.store $discard=, 0($pop25), $4 + i32.store $discard=, 16($4):p2align=4, $1 block block - i32.const $push0=, 16386 - i32.ne $push1=, $0, $pop0 - br_if 0, $pop1 # 0: down to label9 + i32.const $push1=, 16386 + i32.ne $push2=, $0, $pop1 + br_if 0, $pop2 # 0: down to label9 # BB#1: # %if.then.i - i32.const $push24=, 0 - i32.const $push23=, 0 - i32.load $push2=, gap($pop23) - i32.const $push3=, 3 - i32.add $push4=, $pop2, $pop3 - i32.const $push5=, -4 - i32.and $push22=, $pop4, $pop5 - tee_local $push21=, $1=, $pop22 - i32.const $push6=, 4 - i32.add $push7=, $pop21, $pop6 - i32.store $discard=, gap($pop24), $pop7 - i32.load $push8=, 0($1) - i32.const $push9=, 13 - i32.ne $push10=, $pop8, $pop9 - br_if 1, $pop10 # 1: down to label8 + i32.const $push18=, 0 + i32.const $push17=, 0 + i32.load $push16=, gap($pop17) + tee_local $push15=, $1=, $pop16 + i32.const $push3=, 4 + i32.add $push0=, $pop15, $pop3 + i32.store $2=, gap($pop18), $pop0 + i32.load $push4=, 0($1) + i32.const $push5=, 13 + i32.ne $push6=, $pop4, $pop5 + br_if 1, $pop6 # 1: down to label8 # BB#2: # %lor.lhs.false.i - i32.const $push28=, 0 - i32.const $push27=, 0 - i32.load $push11=, gap($pop27) - i32.const $push12=, 7 - i32.add $push13=, $pop11, $pop12 - i32.const $push14=, -8 - i32.and $push26=, $pop13, $pop14 - tee_local $push25=, $1=, $pop26 - i32.const $push15=, 8 - i32.add $push16=, $pop25, $pop15 - i32.store $discard=, gap($pop28), $pop16 - f64.load $push17=, 0($1) - f64.const $push18=, -0x1.cp3 - f64.ne $push19=, $pop17, $pop18 - br_if 1, $pop19 # 1: down to label8 + i32.const $push7=, 7 + i32.add $push8=, $2, $pop7 + i32.const $push9=, -8 + i32.and $push21=, $pop8, $pop9 + tee_local $push20=, $1=, $pop21 + f64.load $3=, 0($pop20) + i32.const $push19=, 0 + i32.const $push10=, 8 + i32.add $push11=, $1, $pop10 + i32.store $discard=, gap($pop19), $pop11 + f64.const $push12=, -0x1.cp3 + f64.ne $push13=, $3, $pop12 + br_if 1, $pop13 # 1: down to label8 .LBB5_3: # %bar.exit end_block # label9: - i32.const $push20=, 0 - i32.store $discard=, bar_arg($pop20), $0 - i32.const $4=, 48 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push14=, 0 + i32.store $discard=, bar_arg($pop14), $0 + i32.const $push26=, 48 + i32.add $4=, $4, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $4 return -.LBB5_4: # %if.then3.i +.LBB5_4: # %if.then5.i end_block # label8: call abort@FUNCTION unreachable @@ -408,143 +325,95 @@ f4: # @f4 .type f5,@function f5: # @f5 .param i32, i32 - .local i64, i64, i32, i32, i32, i32, i32, i32, i32 + .local i64, i64, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 80 - i32.sub $10=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $10=, 0($6), $10 - i32.store $push0=, 48($10):p2align=4, $1 - i32.store $discard=, 76($10), $pop0 + i32.const $push47=, __stack_pointer + i32.load $push48=, 0($pop47) + i32.const $push49=, 80 + i32.sub $6=, $pop48, $pop49 + i32.const $push50=, __stack_pointer + i32.store $discard=, 0($pop50), $6 + i32.store $discard=, 48($6):p2align=4, $1 block block block block - i32.const $push1=, 11 - i32.eq $push2=, $0, $pop1 - br_if 0, $pop2 # 0: down to label13 + i32.const $push0=, 11 + i32.eq $push1=, $0, $pop0 + br_if 0, $pop1 # 0: down to label13 # BB#1: # %entry - i32.const $push60=, 8 - i32.eq $push3=, $0, $pop60 + i32.const $push2=, 8 + i32.eq $push3=, $0, $pop2 br_if 1, $pop3 # 1: down to label12 # BB#2: # %entry i32.const $push4=, 5 i32.ne $push5=, $0, $pop4 br_if 3, $pop5 # 3: down to label10 # BB#3: # %sw.bb.i - i32.load $push39=, 76($10) - i32.const $push40=, 3 - i32.add $push41=, $pop39, $pop40 - i32.const $push42=, -4 - i32.and $push68=, $pop41, $pop42 - tee_local $push67=, $0=, $pop68 - i32.const $push43=, 4 - i32.add $push44=, $pop67, $pop43 - i32.store $discard=, 76($10), $pop44 - i32.load $1=, 0($0) - i32.const $push45=, 11 - i32.add $push46=, $0, $pop45 - i32.const $push47=, -8 - i32.and $push66=, $pop46, $pop47 - tee_local $push65=, $0=, $pop66 - i32.const $push48=, 8 - i32.add $push49=, $pop65, $pop48 - i32.store $discard=, 76($10), $pop49 - f64.convert_s/i32 $push51=, $1 - f64.load $push50=, 0($0) - f64.add $push52=, $pop51, $pop50 - i32.trunc_s/f64 $1=, $pop52 - i32.const $push53=, 15 - i32.add $push54=, $0, $pop53 - i32.const $push64=, -8 - i32.and $push63=, $pop54, $pop64 - tee_local $push62=, $0=, $pop63 - i32.const $push61=, 8 - i32.add $push55=, $pop62, $pop61 - i32.store $discard=, 76($10), $pop55 - i32.const $push59=, 0 - i64.extend_u/i32 $push57=, $1 - i64.load $push56=, 0($0) - i64.add $push58=, $pop57, $pop56 - i64.store32 $discard=, foo_arg($pop59), $pop58 + i32.const $push39=, 0 + i32.load $push28=, 0($1) + f64.convert_s/i32 $push33=, $pop28 + i32.const $push29=, 11 + i32.add $push30=, $1, $pop29 + i32.const $push31=, -8 + i32.and $push41=, $pop30, $pop31 + tee_local $push40=, $0=, $pop41 + f64.load $push32=, 0($pop40) + f64.add $push34=, $pop33, $pop32 + i32.trunc_s/f64 $push35=, $pop34 + i64.extend_u/i32 $push37=, $pop35 + i64.load $push36=, 8($0) + i64.add $push38=, $pop37, $pop36 + i64.store32 $discard=, foo_arg($pop39), $pop38 br 2 # 2: down to label11 -.LBB6_4: # %sw.bb10.i +.LBB6_4: # %sw.bb18.i end_block # label13: - i32.load $push6=, 76($10) - i32.const $push7=, 3 - i32.add $push8=, $pop6, $pop7 - i32.const $push9=, -4 - i32.and $push82=, $pop8, $pop9 - tee_local $push81=, $0=, $pop82 - i32.const $push10=, 4 - i32.add $push11=, $pop81, $pop10 - i32.store $discard=, 76($10), $pop11 - i32.load $1=, 0($0) - i32.const $push12=, 19 - i32.add $push13=, $0, $pop12 - i32.const $push14=, -16 - i32.and $push80=, $pop13, $pop14 - tee_local $push79=, $4=, $pop80 - i32.const $push15=, 8 - i32.or $push16=, $pop79, $pop15 - i32.store $0=, 76($10), $pop16 - i64.load $2=, 0($4) - i32.const $push78=, 8 - i32.add $push17=, $0, $pop78 - i32.store $discard=, 76($10), $pop17 - i64.load $3=, 0($0) - i32.const $8=, 16 - i32.add $8=, $10, $8 - call __floatsitf@FUNCTION, $8, $1 - i64.load $push20=, 16($10) - i32.const $push77=, 8 - i32.const $9=, 16 - i32.add $9=, $10, $9 - i32.add $push18=, $9, $pop77 - i64.load $push19=, 0($pop18) - call __addtf3@FUNCTION, $10, $pop20, $pop19, $2, $3 - i32.const $push25=, 0 - i64.load $push23=, 0($10) - i32.const $push76=, 8 - i32.add $push21=, $10, $pop76 - i64.load $push22=, 0($pop21) - i32.call $push24=, __fixtfsi@FUNCTION, $pop23, $pop22 - i32.store $discard=, foo_arg($pop25), $pop24 + i32.const $push7=, 19 + i32.add $push8=, $1, $pop7 + i32.const $push9=, -16 + i32.and $push46=, $pop8, $pop9 + tee_local $push45=, $0=, $pop46 + i64.load $2=, 8($pop45) + i64.load $3=, 0($0):p2align=4 + i32.load $push6=, 0($1) + i32.const $4=, 16 + i32.add $4=, $6, $4 + call __floatsitf@FUNCTION, $4, $pop6 + i64.load $push13=, 16($6) + i32.const $push10=, 8 + i32.const $5=, 16 + i32.add $5=, $6, $5 + i32.add $push11=, $5, $pop10 + i64.load $push12=, 0($pop11) + call __addtf3@FUNCTION, $6, $pop13, $pop12, $3, $2 + i32.const $push18=, 0 + i64.load $push16=, 0($6) + i32.const $push44=, 8 + i32.add $push14=, $6, $pop44 + i64.load $push15=, 0($pop14) + i32.call $push17=, __fixtfsi@FUNCTION, $pop16, $pop15 + i32.store $discard=, foo_arg($pop18), $pop17 br 1 # 1: down to label11 -.LBB6_5: # %sw.bb5.i +.LBB6_5: # %sw.bb9.i end_block # label12: - i32.load $push26=, 76($10) - i32.const $push27=, 7 - i32.add $push28=, $pop26, $pop27 - i32.const $push29=, -8 - i32.and $push75=, $pop28, $pop29 - tee_local $push74=, $0=, $pop75 - i32.const $push73=, 8 - i32.add $push30=, $pop74, $pop73 - i32.store $discard=, 76($10), $pop30 - i32.load $1=, 0($0):p2align=3 - i32.const $push31=, 15 - i32.add $push32=, $0, $pop31 - i32.const $push72=, -8 - i32.and $push71=, $pop32, $pop72 - tee_local $push70=, $0=, $pop71 - i32.const $push69=, 8 - i32.add $push33=, $pop70, $pop69 - i32.store $discard=, 76($10), $pop33 - i32.const $push38=, 0 - f64.load $push34=, 0($0) - f64.convert_s/i32 $push35=, $1 - f64.add $push36=, $pop34, $pop35 - i32.trunc_s/f64 $push37=, $pop36 - i32.store $discard=, foo_arg($pop38), $pop37 + i32.const $push27=, 0 + i32.const $push19=, 7 + i32.add $push20=, $1, $pop19 + i32.const $push21=, -8 + i32.and $push43=, $pop20, $pop21 + tee_local $push42=, $0=, $pop43 + f64.load $push23=, 8($pop42) + i32.load $push22=, 0($0):p2align=3 + f64.convert_s/i32 $push24=, $pop22 + f64.add $push25=, $pop23, $pop24 + i32.trunc_s/f64 $push26=, $pop25 + i32.store $discard=, foo_arg($pop27), $pop26 .LBB6_6: # %foo.exit end_block # label11: - i32.const $7=, 80 - i32.add $10=, $10, $7 - i32.const $7=, __stack_pointer - i32.store $10=, 0($7), $10 + i32.const $push51=, 80 + i32.add $6=, $6, $pop51 + i32.const $push52=, __stack_pointer + i32.store $discard=, 0($pop52), $6 return .LBB6_7: # %sw.default.i end_block # label10: @@ -560,32 +429,20 @@ f5: # @f5 .type f6,@function f6: # @f6 .param i32, i32 - .local i32, i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $2=, $pop7, $pop8 + i32.store $push5=, 4($2), $1 + tee_local $push4=, $1=, $pop5 i32.const $push0=, 4 - i32.or $2=, $6, $pop0 - i32.store $push1=, 0($2), $1 - i32.const $push2=, 3 - i32.add $push3=, $pop1, $pop2 - i32.const $push4=, -4 - i32.and $push10=, $pop3, $pop4 - tee_local $push9=, $1=, $pop10 - i32.const $push8=, 4 - i32.add $push5=, $pop9, $pop8 - i32.store $discard=, 0($2), $pop5 - i32.const $push7=, 0 - i32.load $push6=, 0($1) - i32.store $discard=, x($pop7), $pop6 - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.add $push1=, $pop4, $pop0 + i32.store $discard=, 4($2), $pop1 + i32.const $push3=, 0 + i32.load $push2=, 0($1) + i32.store $discard=, x($pop3), $pop2 return .endfunc .Lfunc_end7: @@ -597,64 +454,56 @@ f6: # @f6 .type f7,@function f7: # @f7 .param i32, i32 - .local i32, i32, i32, i32 + .local i32, f64, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.const $push21=, 4 - i32.or $push0=, $5, $pop21 - i32.store $discard=, 0($pop0), $1 + i32.const $push22=, __stack_pointer + i32.load $push23=, 0($pop22) + i32.const $push24=, 16 + i32.sub $4=, $pop23, $pop24 + i32.const $push25=, __stack_pointer + i32.store $discard=, 0($pop25), $4 + i32.store $discard=, 4($4), $1 block block i32.const $push1=, 16386 i32.ne $push2=, $0, $pop1 br_if 0, $pop2 # 0: down to label15 # BB#1: # %if.then.i - i32.const $push26=, 0 - i32.const $push25=, 0 - i32.load $push3=, gap($pop25) - i32.const $push4=, 3 - i32.add $push5=, $pop3, $pop4 - i32.const $push6=, -4 - i32.and $push24=, $pop5, $pop6 - tee_local $push23=, $1=, $pop24 - i32.const $push22=, 4 - i32.add $push7=, $pop23, $pop22 - i32.store $discard=, gap($pop26), $pop7 - i32.load $push8=, 0($1) - i32.const $push9=, 13 - i32.ne $push10=, $pop8, $pop9 - br_if 1, $pop10 # 1: down to label14 + i32.const $push18=, 0 + i32.const $push17=, 0 + i32.load $push16=, gap($pop17) + tee_local $push15=, $1=, $pop16 + i32.const $push3=, 4 + i32.add $push0=, $pop15, $pop3 + i32.store $2=, gap($pop18), $pop0 + i32.load $push4=, 0($1) + i32.const $push5=, 13 + i32.ne $push6=, $pop4, $pop5 + br_if 1, $pop6 # 1: down to label14 # BB#2: # %lor.lhs.false.i - i32.const $push30=, 0 - i32.const $push29=, 0 - i32.load $push11=, gap($pop29) - i32.const $push12=, 7 - i32.add $push13=, $pop11, $pop12 - i32.const $push14=, -8 - i32.and $push28=, $pop13, $pop14 - tee_local $push27=, $1=, $pop28 - i32.const $push15=, 8 - i32.add $push16=, $pop27, $pop15 - i32.store $discard=, gap($pop30), $pop16 - f64.load $push17=, 0($1) - f64.const $push18=, -0x1.cp3 - f64.ne $push19=, $pop17, $pop18 - br_if 1, $pop19 # 1: down to label14 + i32.const $push7=, 7 + i32.add $push8=, $2, $pop7 + i32.const $push9=, -8 + i32.and $push21=, $pop8, $pop9 + tee_local $push20=, $1=, $pop21 + f64.load $3=, 0($pop20) + i32.const $push19=, 0 + i32.const $push10=, 8 + i32.add $push11=, $1, $pop10 + i32.store $discard=, gap($pop19), $pop11 + f64.const $push12=, -0x1.cp3 + f64.ne $push13=, $3, $pop12 + br_if 1, $pop13 # 1: down to label14 .LBB8_3: # %bar.exit end_block # label15: - i32.const $push20=, 0 - i32.store $discard=, bar_arg($pop20), $0 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push14=, 0 + i32.store $discard=, bar_arg($pop14), $0 + i32.const $push26=, 16 + i32.add $4=, $4, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $4 return -.LBB8_4: # %if.then3.i +.LBB8_4: # %if.then5.i end_block # label14: call abort@FUNCTION unreachable @@ -668,151 +517,95 @@ f7: # @f7 .type f8,@function f8: # @f8 .param i32, i32 - .local i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i64, i64, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 64 - i32.sub $13=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $13=, 0($6), $13 - i32.const $push60=, 4 - i32.const $8=, 40 - i32.add $8=, $13, $8 - i32.or $push0=, $8, $pop60 - i32.store $push1=, 0($pop0), $1 - i32.store $discard=, 60($13), $pop1 + i32.const $push47=, __stack_pointer + i32.load $push48=, 0($pop47) + i32.const $push49=, 48 + i32.sub $6=, $pop48, $pop49 + i32.const $push50=, __stack_pointer + i32.store $discard=, 0($pop50), $6 + i32.store $discard=, 36($6), $1 block block block block - i32.const $push2=, 11 - i32.eq $push3=, $0, $pop2 - br_if 0, $pop3 # 0: down to label19 + i32.const $push0=, 11 + i32.eq $push1=, $0, $pop0 + br_if 0, $pop1 # 0: down to label19 # BB#1: # %entry - i32.const $push61=, 8 - i32.eq $push4=, $0, $pop61 - br_if 1, $pop4 # 1: down to label18 + i32.const $push2=, 8 + i32.eq $push3=, $0, $pop2 + br_if 1, $pop3 # 1: down to label18 # BB#2: # %entry - i32.const $push5=, 5 - i32.ne $push6=, $0, $pop5 - br_if 3, $pop6 # 3: down to label16 + i32.const $push4=, 5 + i32.ne $push5=, $0, $pop4 + br_if 3, $pop5 # 3: down to label16 # BB#3: # %sw.bb.i - i32.load $push39=, 60($13) - i32.const $push40=, 3 - i32.add $push41=, $pop39, $pop40 - i32.const $push42=, -4 - i32.and $push69=, $pop41, $pop42 - tee_local $push68=, $0=, $pop69 - i32.const $push43=, 4 - i32.add $push44=, $pop68, $pop43 - i32.store $discard=, 60($13), $pop44 - i32.load $1=, 0($0) - i32.const $push45=, 11 - i32.add $push46=, $0, $pop45 - i32.const $push47=, -8 - i32.and $push67=, $pop46, $pop47 - tee_local $push66=, $0=, $pop67 - i32.const $push48=, 8 - i32.add $push49=, $pop66, $pop48 - i32.store $discard=, 60($13), $pop49 - f64.convert_s/i32 $push51=, $1 - f64.load $push50=, 0($0) - f64.add $push52=, $pop51, $pop50 - i32.trunc_s/f64 $1=, $pop52 - i32.const $push53=, 15 - i32.add $push54=, $0, $pop53 - i32.const $push65=, -8 - i32.and $push64=, $pop54, $pop65 - tee_local $push63=, $0=, $pop64 - i32.const $push62=, 8 - i32.add $push55=, $pop63, $pop62 - i32.store $discard=, 60($13), $pop55 - i32.const $push59=, 0 - i64.extend_u/i32 $push57=, $1 - i64.load $push56=, 0($0) - i64.add $push58=, $pop57, $pop56 - i64.store32 $discard=, foo_arg($pop59), $pop58 + i32.const $push39=, 0 + i32.load $push28=, 0($1) + f64.convert_s/i32 $push33=, $pop28 + i32.const $push29=, 11 + i32.add $push30=, $1, $pop29 + i32.const $push31=, -8 + i32.and $push41=, $pop30, $pop31 + tee_local $push40=, $0=, $pop41 + f64.load $push32=, 0($pop40) + f64.add $push34=, $pop33, $pop32 + i32.trunc_s/f64 $push35=, $pop34 + i64.extend_u/i32 $push37=, $pop35 + i64.load $push36=, 8($0) + i64.add $push38=, $pop37, $pop36 + i64.store32 $discard=, foo_arg($pop39), $pop38 br 2 # 2: down to label17 -.LBB9_4: # %sw.bb10.i +.LBB9_4: # %sw.bb18.i end_block # label19: - i32.load $push7=, 60($13) - i32.const $push8=, 3 - i32.add $push9=, $pop7, $pop8 - i32.const $push10=, -4 - i32.and $push84=, $pop9, $pop10 - tee_local $push83=, $0=, $pop84 - i32.const $push82=, 4 - i32.add $push11=, $pop83, $pop82 - i32.store $discard=, 60($13), $pop11 - i32.load $1=, 0($0) - i32.const $push12=, 19 - i32.add $push13=, $0, $pop12 - i32.const $push14=, -16 - i32.and $push81=, $pop13, $pop14 - tee_local $push80=, $4=, $pop81 - i32.const $push15=, 8 - i32.or $push16=, $pop80, $pop15 - i32.store $0=, 60($13), $pop16 - i64.load $2=, 0($4) - i32.const $push79=, 8 - i32.add $push17=, $0, $pop79 - i32.store $discard=, 60($13), $pop17 - i64.load $3=, 0($0) - i32.const $9=, 24 - i32.add $9=, $13, $9 - call __floatsitf@FUNCTION, $9, $1 - i64.load $push20=, 24($13) - i32.const $push78=, 8 - i32.const $10=, 24 - i32.add $10=, $13, $10 - i32.add $push18=, $10, $pop78 - i64.load $push19=, 0($pop18) - i32.const $11=, 8 - i32.add $11=, $13, $11 - call __addtf3@FUNCTION, $11, $pop20, $pop19, $2, $3 - i32.const $push25=, 0 - i64.load $push23=, 8($13) - i32.const $push77=, 8 - i32.const $12=, 8 - i32.add $12=, $13, $12 - i32.add $push21=, $12, $pop77 - i64.load $push22=, 0($pop21) - i32.call $push24=, __fixtfsi@FUNCTION, $pop23, $pop22 - i32.store $discard=, foo_arg($pop25), $pop24 + i32.const $push7=, 19 + i32.add $push8=, $1, $pop7 + i32.const $push9=, -16 + i32.and $push46=, $pop8, $pop9 + tee_local $push45=, $0=, $pop46 + i64.load $2=, 8($pop45) + i64.load $3=, 0($0):p2align=4 + i32.load $push6=, 0($1) + i32.const $4=, 16 + i32.add $4=, $6, $4 + call __floatsitf@FUNCTION, $4, $pop6 + i64.load $push13=, 16($6) + i32.const $push10=, 8 + i32.const $5=, 16 + i32.add $5=, $6, $5 + i32.add $push11=, $5, $pop10 + i64.load $push12=, 0($pop11) + call __addtf3@FUNCTION, $6, $pop13, $pop12, $3, $2 + i32.const $push18=, 0 + i64.load $push16=, 0($6) + i32.const $push44=, 8 + i32.add $push14=, $6, $pop44 + i64.load $push15=, 0($pop14) + i32.call $push17=, __fixtfsi@FUNCTION, $pop16, $pop15 + i32.store $discard=, foo_arg($pop18), $pop17 br 1 # 1: down to label17 -.LBB9_5: # %sw.bb5.i +.LBB9_5: # %sw.bb9.i end_block # label18: - i32.load $push26=, 60($13) - i32.const $push27=, 7 - i32.add $push28=, $pop26, $pop27 - i32.const $push29=, -8 - i32.and $push76=, $pop28, $pop29 - tee_local $push75=, $0=, $pop76 - i32.const $push74=, 8 - i32.add $push30=, $pop75, $pop74 - i32.store $discard=, 60($13), $pop30 - i32.load $1=, 0($0):p2align=3 - i32.const $push31=, 15 - i32.add $push32=, $0, $pop31 - i32.const $push73=, -8 - i32.and $push72=, $pop32, $pop73 - tee_local $push71=, $0=, $pop72 - i32.const $push70=, 8 - i32.add $push33=, $pop71, $pop70 - i32.store $discard=, 60($13), $pop33 - i32.const $push38=, 0 - f64.load $push34=, 0($0) - f64.convert_s/i32 $push35=, $1 - f64.add $push36=, $pop34, $pop35 - i32.trunc_s/f64 $push37=, $pop36 - i32.store $discard=, foo_arg($pop38), $pop37 + i32.const $push27=, 0 + i32.const $push19=, 7 + i32.add $push20=, $1, $pop19 + i32.const $push21=, -8 + i32.and $push43=, $pop20, $pop21 + tee_local $push42=, $0=, $pop43 + f64.load $push23=, 8($pop42) + i32.load $push22=, 0($0):p2align=3 + f64.convert_s/i32 $push24=, $pop22 + f64.add $push25=, $pop23, $pop24 + i32.trunc_s/f64 $push26=, $pop25 + i32.store $discard=, foo_arg($pop27), $pop26 .LBB9_6: # %foo.exit end_block # label17: - i32.const $7=, 64 - i32.add $13=, $13, $7 - i32.const $7=, __stack_pointer - i32.store $13=, 0($7), $13 + i32.const $push51=, 48 + i32.add $6=, $6, $pop51 + i32.const $push52=, __stack_pointer + i32.store $discard=, 0($pop52), $6 return .LBB9_7: # %sw.default.i end_block # label16: @@ -828,32 +621,22 @@ f8: # @f8 .type f10,@function f10: # @f10 .param i32, i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 16 + i32.sub $3=, $pop8, $pop9 i32.const $push0=, 12 - i32.add $2=, $6, $pop0 - i32.store $push1=, 0($2), $1 - i32.const $push2=, 3 - i32.add $push3=, $pop1, $pop2 - i32.const $push4=, -4 - i32.and $push10=, $pop3, $pop4 - tee_local $push9=, $1=, $pop10 - i32.const $push5=, 4 - i32.add $push6=, $pop9, $pop5 - i32.store $discard=, 0($2), $pop6 - i32.const $push8=, 0 - i32.load $push7=, 0($1) - i32.store $discard=, x($pop8), $pop7 - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.add $2=, $3, $pop0 + i32.store $push6=, 0($2), $1 + tee_local $push5=, $1=, $pop6 + i32.const $push1=, 4 + i32.add $push2=, $pop5, $pop1 + i32.store $discard=, 0($2), $pop2 + i32.const $push4=, 0 + i32.load $push3=, 0($1) + i32.store $discard=, x($pop4), $pop3 return .endfunc .Lfunc_end10: @@ -865,64 +648,58 @@ f10: # @f10 .type f11,@function f11: # @f11 .param i32, i32 - .local i32, i32, i32, i32 + .local i32, f64, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.const $push1=, 12 - i32.add $push0=, $5, $pop1 + i32.const $push24=, __stack_pointer + i32.load $push25=, 0($pop24) + i32.const $push26=, 16 + i32.sub $4=, $pop25, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $4 + i32.const $push2=, 12 + i32.add $push0=, $4, $pop2 i32.store $discard=, 0($pop0), $1 block block - i32.const $push2=, 16386 - i32.ne $push3=, $0, $pop2 - br_if 0, $pop3 # 0: down to label21 + i32.const $push3=, 16386 + i32.ne $push4=, $0, $pop3 + br_if 0, $pop4 # 0: down to label21 # BB#1: # %if.then.i - i32.const $push26=, 0 - i32.const $push25=, 0 - i32.load $push4=, gap($pop25) - i32.const $push5=, 3 - i32.add $push6=, $pop4, $pop5 - i32.const $push7=, -4 - i32.and $push24=, $pop6, $pop7 - tee_local $push23=, $1=, $pop24 - i32.const $push8=, 4 - i32.add $push9=, $pop23, $pop8 - i32.store $discard=, gap($pop26), $pop9 - i32.load $push10=, 0($1) - i32.const $push11=, 13 - i32.ne $push12=, $pop10, $pop11 - br_if 1, $pop12 # 1: down to label20 + i32.const $push20=, 0 + i32.const $push19=, 0 + i32.load $push18=, gap($pop19) + tee_local $push17=, $1=, $pop18 + i32.const $push5=, 4 + i32.add $push1=, $pop17, $pop5 + i32.store $2=, gap($pop20), $pop1 + i32.load $push6=, 0($1) + i32.const $push7=, 13 + i32.ne $push8=, $pop6, $pop7 + br_if 1, $pop8 # 1: down to label20 # BB#2: # %lor.lhs.false.i - i32.const $push30=, 0 - i32.const $push29=, 0 - i32.load $push13=, gap($pop29) - i32.const $push14=, 7 - i32.add $push15=, $pop13, $pop14 - i32.const $push16=, -8 - i32.and $push28=, $pop15, $pop16 - tee_local $push27=, $1=, $pop28 - i32.const $push17=, 8 - i32.add $push18=, $pop27, $pop17 - i32.store $discard=, gap($pop30), $pop18 - f64.load $push19=, 0($1) - f64.const $push20=, -0x1.cp3 - f64.ne $push21=, $pop19, $pop20 - br_if 1, $pop21 # 1: down to label20 + i32.const $push9=, 7 + i32.add $push10=, $2, $pop9 + i32.const $push11=, -8 + i32.and $push23=, $pop10, $pop11 + tee_local $push22=, $1=, $pop23 + f64.load $3=, 0($pop22) + i32.const $push21=, 0 + i32.const $push12=, 8 + i32.add $push13=, $1, $pop12 + i32.store $discard=, gap($pop21), $pop13 + f64.const $push14=, -0x1.cp3 + f64.ne $push15=, $3, $pop14 + br_if 1, $pop15 # 1: down to label20 .LBB11_3: # %bar.exit end_block # label21: - i32.const $push22=, 0 - i32.store $discard=, bar_arg($pop22), $0 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push16=, 0 + i32.store $discard=, bar_arg($pop16), $0 + i32.const $push28=, 16 + i32.add $4=, $4, $pop28 + i32.const $push29=, __stack_pointer + i32.store $discard=, 0($pop29), $4 return -.LBB11_4: # %if.then3.i +.LBB11_4: # %if.then5.i end_block # label20: call abort@FUNCTION unreachable @@ -936,151 +713,99 @@ f11: # @f11 .type f12,@function f12: # @f12 .param i32, i32 - .local i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i64, i64, i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $5=, 0($5) - i32.const $6=, 64 - i32.sub $13=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $13=, 0($6), $13 + i32.const $push49=, __stack_pointer + i32.load $push50=, 0($pop49) + i32.const $push51=, 48 + i32.sub $7=, $pop50, $pop51 + i32.const $push52=, __stack_pointer + i32.store $discard=, 0($pop52), $7 i32.const $push1=, 12 - i32.const $8=, 40 - i32.add $8=, $13, $8 - i32.add $push0=, $8, $pop1 - i32.store $push2=, 0($pop0), $1 - i32.store $discard=, 60($13), $pop2 + i32.const $4=, 32 + i32.add $4=, $7, $4 + i32.add $push0=, $4, $pop1 + i32.store $discard=, 0($pop0), $1 block block block block - i32.const $push3=, 11 - i32.eq $push4=, $0, $pop3 - br_if 0, $pop4 # 0: down to label25 + i32.const $push2=, 11 + i32.eq $push3=, $0, $pop2 + br_if 0, $pop3 # 0: down to label25 # BB#1: # %entry - i32.const $push62=, 8 - i32.eq $push5=, $0, $pop62 + i32.const $push4=, 8 + i32.eq $push5=, $0, $pop4 br_if 1, $pop5 # 1: down to label24 # BB#2: # %entry i32.const $push6=, 5 i32.ne $push7=, $0, $pop6 br_if 3, $pop7 # 3: down to label22 # BB#3: # %sw.bb.i - i32.load $push41=, 60($13) - i32.const $push42=, 3 - i32.add $push43=, $pop41, $pop42 - i32.const $push44=, -4 - i32.and $push70=, $pop43, $pop44 - tee_local $push69=, $0=, $pop70 - i32.const $push45=, 4 - i32.add $push46=, $pop69, $pop45 - i32.store $discard=, 60($13), $pop46 - i32.load $1=, 0($0) - i32.const $push47=, 11 - i32.add $push48=, $0, $pop47 - i32.const $push49=, -8 - i32.and $push68=, $pop48, $pop49 - tee_local $push67=, $0=, $pop68 - i32.const $push50=, 8 - i32.add $push51=, $pop67, $pop50 - i32.store $discard=, 60($13), $pop51 - f64.convert_s/i32 $push53=, $1 - f64.load $push52=, 0($0) - f64.add $push54=, $pop53, $pop52 - i32.trunc_s/f64 $1=, $pop54 - i32.const $push55=, 15 - i32.add $push56=, $0, $pop55 - i32.const $push66=, -8 - i32.and $push65=, $pop56, $pop66 - tee_local $push64=, $0=, $pop65 - i32.const $push63=, 8 - i32.add $push57=, $pop64, $pop63 - i32.store $discard=, 60($13), $pop57 - i32.const $push61=, 0 - i64.extend_u/i32 $push59=, $1 - i64.load $push58=, 0($0) - i64.add $push60=, $pop59, $pop58 - i64.store32 $discard=, foo_arg($pop61), $pop60 + i32.const $push41=, 0 + i32.load $push30=, 0($1) + f64.convert_s/i32 $push35=, $pop30 + i32.const $push31=, 11 + i32.add $push32=, $1, $pop31 + i32.const $push33=, -8 + i32.and $push43=, $pop32, $pop33 + tee_local $push42=, $0=, $pop43 + f64.load $push34=, 0($pop42) + f64.add $push36=, $pop35, $pop34 + i32.trunc_s/f64 $push37=, $pop36 + i64.extend_u/i32 $push39=, $pop37 + i64.load $push38=, 8($0) + i64.add $push40=, $pop39, $pop38 + i64.store32 $discard=, foo_arg($pop41), $pop40 br 2 # 2: down to label23 -.LBB12_4: # %sw.bb10.i +.LBB12_4: # %sw.bb18.i end_block # label25: - i32.load $push8=, 60($13) - i32.const $push9=, 3 - i32.add $push10=, $pop8, $pop9 - i32.const $push11=, -4 - i32.and $push84=, $pop10, $pop11 - tee_local $push83=, $0=, $pop84 - i32.const $push12=, 4 - i32.add $push13=, $pop83, $pop12 - i32.store $discard=, 60($13), $pop13 - i32.load $1=, 0($0) - i32.const $push14=, 19 - i32.add $push15=, $0, $pop14 - i32.const $push16=, -16 - i32.and $push82=, $pop15, $pop16 - tee_local $push81=, $4=, $pop82 - i32.const $push17=, 8 - i32.or $push18=, $pop81, $pop17 - i32.store $0=, 60($13), $pop18 - i64.load $2=, 0($4) - i32.const $push80=, 8 - i32.add $push19=, $0, $pop80 - i32.store $discard=, 60($13), $pop19 - i64.load $3=, 0($0) - i32.const $9=, 24 - i32.add $9=, $13, $9 - call __floatsitf@FUNCTION, $9, $1 - i64.load $push22=, 24($13) - i32.const $push79=, 8 - i32.const $10=, 24 - i32.add $10=, $13, $10 - i32.add $push20=, $10, $pop79 - i64.load $push21=, 0($pop20) - i32.const $11=, 8 - i32.add $11=, $13, $11 - call __addtf3@FUNCTION, $11, $pop22, $pop21, $2, $3 - i32.const $push27=, 0 - i64.load $push25=, 8($13) - i32.const $push78=, 8 - i32.const $12=, 8 - i32.add $12=, $13, $12 - i32.add $push23=, $12, $pop78 - i64.load $push24=, 0($pop23) - i32.call $push26=, __fixtfsi@FUNCTION, $pop25, $pop24 - i32.store $discard=, foo_arg($pop27), $pop26 + i32.const $push9=, 19 + i32.add $push10=, $1, $pop9 + i32.const $push11=, -16 + i32.and $push48=, $pop10, $pop11 + tee_local $push47=, $0=, $pop48 + i64.load $2=, 8($pop47) + i64.load $3=, 0($0):p2align=4 + i32.load $push8=, 0($1) + i32.const $5=, 16 + i32.add $5=, $7, $5 + call __floatsitf@FUNCTION, $5, $pop8 + i64.load $push15=, 16($7) + i32.const $push12=, 8 + i32.const $6=, 16 + i32.add $6=, $7, $6 + i32.add $push13=, $6, $pop12 + i64.load $push14=, 0($pop13) + call __addtf3@FUNCTION, $7, $pop15, $pop14, $3, $2 + i32.const $push20=, 0 + i64.load $push18=, 0($7) + i32.const $push46=, 8 + i32.add $push16=, $7, $pop46 + i64.load $push17=, 0($pop16) + i32.call $push19=, __fixtfsi@FUNCTION, $pop18, $pop17 + i32.store $discard=, foo_arg($pop20), $pop19 br 1 # 1: down to label23 -.LBB12_5: # %sw.bb5.i +.LBB12_5: # %sw.bb9.i end_block # label24: - i32.load $push28=, 60($13) - i32.const $push29=, 7 - i32.add $push30=, $pop28, $pop29 - i32.const $push31=, -8 - i32.and $push77=, $pop30, $pop31 - tee_local $push76=, $0=, $pop77 - i32.const $push75=, 8 - i32.add $push32=, $pop76, $pop75 - i32.store $discard=, 60($13), $pop32 - i32.load $1=, 0($0):p2align=3 - i32.const $push33=, 15 - i32.add $push34=, $0, $pop33 - i32.const $push74=, -8 - i32.and $push73=, $pop34, $pop74 - tee_local $push72=, $0=, $pop73 - i32.const $push71=, 8 - i32.add $push35=, $pop72, $pop71 - i32.store $discard=, 60($13), $pop35 - i32.const $push40=, 0 - f64.load $push36=, 0($0) - f64.convert_s/i32 $push37=, $1 - f64.add $push38=, $pop36, $pop37 - i32.trunc_s/f64 $push39=, $pop38 - i32.store $discard=, foo_arg($pop40), $pop39 + i32.const $push29=, 0 + i32.const $push21=, 7 + i32.add $push22=, $1, $pop21 + i32.const $push23=, -8 + i32.and $push45=, $pop22, $pop23 + tee_local $push44=, $0=, $pop45 + f64.load $push25=, 8($pop44) + i32.load $push24=, 0($0):p2align=3 + f64.convert_s/i32 $push26=, $pop24 + f64.add $push27=, $pop25, $pop26 + i32.trunc_s/f64 $push28=, $pop27 + i32.store $discard=, foo_arg($pop29), $pop28 .LBB12_6: # %foo.exit end_block # label23: - i32.const $7=, 64 - i32.add $13=, $13, $7 - i32.const $7=, __stack_pointer - i32.store $13=, 0($7), $13 + i32.const $push53=, 48 + i32.add $7=, $7, $pop53 + i32.const $push54=, __stack_pointer + i32.store $discard=, 0($pop54), $7 return .LBB12_7: # %sw.default.i end_block # label22: @@ -1096,169 +821,155 @@ f12: # @f12 .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 176 - i32.sub $16=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $16=, 0($2), $16 + i32.const $push69=, __stack_pointer + i32.load $push70=, 0($pop69) + i32.const $push71=, 176 + i32.sub $10=, $pop70, $pop71 + i32.const $push72=, __stack_pointer + i32.store $discard=, 0($pop72), $10 i32.const $push0=, 79 - i32.store $0=, 160($16):p2align=4, $pop0 - i32.const $4=, 160 - i32.add $4=, $16, $4 - call f1@FUNCTION, $0, $4 + i32.store $0=, 160($10):p2align=4, $pop0 + i32.const $1=, 160 + i32.add $1=, $10, $1 + call f1@FUNCTION, $0, $1 block - i32.const $push58=, 0 - i32.load $push1=, x($pop58) + i32.const $push51=, 0 + i32.load $push1=, x($pop51) i32.ne $push2=, $0, $pop1 br_if 0, $pop2 # 0: down to label26 # BB#1: # %if.end - i32.const $push3=, 8 - i32.const $5=, 144 - i32.add $5=, $16, $5 - i32.or $push4=, $5, $pop3 - i64.const $push5=, -4599301119452119040 - i64.store $discard=, 0($pop4), $pop5 - i32.const $push6=, 13 - i32.store $discard=, 144($16):p2align=4, $pop6 - i32.const $push7=, 16386 - i32.const $6=, 144 - i32.add $6=, $16, $6 - call f2@FUNCTION, $pop7, $6 - i32.const $push60=, 0 - i32.load $push8=, bar_arg($pop60) - i32.const $push59=, 16386 - i32.ne $push9=, $pop8, $pop59 - br_if 0, $pop9 # 0: down to label26 + i64.const $push3=, -4599301119452119040 + i64.store $discard=, 152($10), $pop3 + i32.const $push4=, 13 + i32.store $discard=, 144($10):p2align=4, $pop4 + i32.const $push5=, 16386 + i32.const $2=, 144 + i32.add $2=, $10, $2 + call f2@FUNCTION, $pop5, $2 + i32.const $push53=, 0 + i32.load $push6=, bar_arg($pop53) + i32.const $push52=, 16386 + i32.ne $push7=, $pop6, $pop52 + br_if 0, $pop7 # 0: down to label26 # BB#2: # %if.end3 - i32.const $push10=, 2031 - i32.store $0=, 128($16):p2align=4, $pop10 - i32.const $7=, 128 - i32.add $7=, $16, $7 - call f3@FUNCTION, $0, $7 - i32.const $push61=, 0 - i32.load $push11=, x($pop61) - i32.ne $push12=, $0, $pop11 - br_if 0, $pop12 # 0: down to label26 + i32.const $push8=, 2031 + i32.store $0=, 128($10):p2align=4, $pop8 + i32.const $3=, 128 + i32.add $3=, $10, $3 + call f3@FUNCTION, $0, $3 + i32.const $push54=, 0 + i32.load $push9=, x($pop54) + i32.ne $push10=, $0, $pop9 + br_if 0, $pop10 # 0: down to label26 # BB#3: # %if.end6 - i32.const $push13=, 18 - i32.store $discard=, 112($16):p2align=4, $pop13 - i32.const $push14=, 4 - i32.const $8=, 112 - i32.add $8=, $16, $8 - call f4@FUNCTION, $pop14, $8 - i32.const $push63=, 0 - i32.load $push15=, bar_arg($pop63) - i32.const $push62=, 4 - i32.ne $push16=, $pop15, $pop62 - br_if 0, $pop16 # 0: down to label26 + i32.const $push11=, 18 + i32.store $discard=, 112($10):p2align=4, $pop11 + i32.const $push12=, 4 + i32.const $4=, 112 + i32.add $4=, $10, $4 + call f4@FUNCTION, $pop12, $4 + i32.const $push56=, 0 + i32.load $push13=, bar_arg($pop56) + i32.const $push55=, 4 + i32.ne $push14=, $pop13, $pop55 + br_if 0, $pop14 # 0: down to label26 # BB#4: # %if.end9 - i32.const $push17=, 16 - i32.const $9=, 80 - i32.add $9=, $16, $9 - i32.add $push18=, $9, $pop17 - i64.const $push19=, 18 - i64.store $discard=, 0($pop18):p2align=4, $pop19 - i32.const $push20=, 8 - i32.const $10=, 80 - i32.add $10=, $16, $10 - i32.or $push21=, $10, $pop20 - i64.const $push22=, 4626041242239631360 - i64.store $discard=, 0($pop21), $pop22 - i32.const $push23=, 1 - i32.store $discard=, 80($16):p2align=4, $pop23 - i32.const $push24=, 5 - i32.const $11=, 80 - i32.add $11=, $16, $11 - call f5@FUNCTION, $pop24, $11 - i32.const $push64=, 0 - i32.load $push25=, foo_arg($pop64) - i32.const $push26=, 38 - i32.ne $push27=, $pop25, $pop26 - br_if 0, $pop27 # 0: down to label26 + i32.const $push15=, 16 + i32.const $5=, 80 + i32.add $5=, $10, $5 + i32.add $push16=, $5, $pop15 + i64.const $push17=, 18 + i64.store $discard=, 0($pop16):p2align=4, $pop17 + i64.const $push18=, 4626041242239631360 + i64.store $discard=, 88($10), $pop18 + i32.const $push19=, 1 + i32.store $discard=, 80($10):p2align=4, $pop19 + i32.const $push20=, 5 + i32.const $6=, 80 + i32.add $6=, $10, $6 + call f5@FUNCTION, $pop20, $6 + i32.const $push57=, 0 + i32.load $push21=, foo_arg($pop57) + i32.const $push22=, 38 + i32.ne $push23=, $pop21, $pop22 + br_if 0, $pop23 # 0: down to label26 # BB#5: # %if.end12 - i32.const $push28=, 18 - i32.store $0=, 64($16):p2align=4, $pop28 - i32.const $12=, 64 - i32.add $12=, $16, $12 - call f6@FUNCTION, $0, $12 - i32.const $push65=, 0 - i32.load $push29=, x($pop65) - i32.ne $push30=, $0, $pop29 - br_if 0, $pop30 # 0: down to label26 + i32.const $push24=, 18 + i32.store $0=, 64($10):p2align=4, $pop24 + i32.const $7=, 64 + i32.add $7=, $10, $7 + call f6@FUNCTION, $0, $7 + i32.const $push58=, 0 + i32.load $push25=, x($pop58) + i32.ne $push26=, $0, $pop25 + br_if 0, $pop26 # 0: down to label26 # BB#6: # %if.end15 - i32.const $push31=, 7 - i32.const $push68=, 0 - call f7@FUNCTION, $pop31, $pop68 - i32.const $push67=, 0 - i32.load $push32=, bar_arg($pop67) - i32.const $push66=, 7 - i32.ne $push33=, $pop32, $pop66 - br_if 0, $pop33 # 0: down to label26 + i32.const $push27=, 7 + i32.const $push61=, 0 + call f7@FUNCTION, $pop27, $pop61 + i32.const $push60=, 0 + i32.load $push28=, bar_arg($pop60) + i32.const $push59=, 7 + i32.ne $push29=, $pop28, $pop59 + br_if 0, $pop29 # 0: down to label26 # BB#7: # %if.end18 - i32.const $push34=, 8 - i32.const $13=, 48 - i32.add $13=, $16, $13 - i32.or $push35=, $13, $pop34 - i64.const $push36=, 4623507967449235456 - i64.store $discard=, 0($pop35), $pop36 - i64.const $push37=, 2031 - i64.store $discard=, 48($16):p2align=4, $pop37 - i32.const $push70=, 8 - i32.const $14=, 48 - i32.add $14=, $16, $14 - call f8@FUNCTION, $pop70, $14 - i32.const $push69=, 0 - i32.load $push38=, foo_arg($pop69) - i32.const $push39=, 2044 - i32.ne $push40=, $pop38, $pop39 - br_if 0, $pop40 # 0: down to label26 + i64.const $push30=, 4623507967449235456 + i64.store $discard=, 56($10), $pop30 + i64.const $push31=, 2031 + i64.store $discard=, 48($10):p2align=4, $pop31 + i32.const $push32=, 8 + i32.const $8=, 48 + i32.add $8=, $10, $8 + call f8@FUNCTION, $pop32, $8 + i32.const $push62=, 0 + i32.load $push33=, foo_arg($pop62) + i32.const $push34=, 2044 + i32.ne $push35=, $pop33, $pop34 + br_if 0, $pop35 # 0: down to label26 # BB#8: # %if.end21 - i32.const $push41=, 180 - i32.store $0=, 32($16):p2align=4, $pop41 - i32.const $15=, 32 - i32.add $15=, $16, $15 - call f10@FUNCTION, $0, $15 - i32.const $push71=, 0 - i32.load $push42=, x($pop71) - i32.ne $push43=, $0, $pop42 - br_if 0, $pop43 # 0: down to label26 + i32.const $push36=, 180 + i32.store $0=, 32($10):p2align=4, $pop36 + i32.const $9=, 32 + i32.add $9=, $10, $9 + call f10@FUNCTION, $0, $9 + i32.const $push63=, 0 + i32.load $push37=, x($pop63) + i32.ne $push38=, $0, $pop37 + br_if 0, $pop38 # 0: down to label26 # BB#9: # %if.end24 - i32.const $push44=, 10 - i32.const $push74=, 0 - call f11@FUNCTION, $pop44, $pop74 - i32.const $push73=, 0 - i32.load $push45=, bar_arg($pop73) - i32.const $push72=, 10 - i32.ne $push46=, $pop45, $pop72 - br_if 0, $pop46 # 0: down to label26 + i32.const $push39=, 10 + i32.const $push66=, 0 + call f11@FUNCTION, $pop39, $pop66 + i32.const $push65=, 0 + i32.load $push40=, bar_arg($pop65) + i32.const $push64=, 10 + i32.ne $push41=, $pop40, $pop64 + br_if 0, $pop41 # 0: down to label26 # BB#10: # %if.end27 - i32.const $push47=, 16 - i32.add $push48=, $16, $pop47 - i64.const $push49=, 4612389705869164544 - i64.store $discard=, 0($pop48):p2align=4, $pop49 - i32.const $push50=, 8 - i32.or $push51=, $16, $pop50 - i64.const $push52=, 0 - i64.store $discard=, 0($pop51), $pop52 - i32.const $push53=, 2030 - i32.store $discard=, 0($16):p2align=4, $pop53 - i32.const $push54=, 11 - call f12@FUNCTION, $pop54, $16 - i32.const $push75=, 0 - i32.load $push55=, foo_arg($pop75) - i32.const $push56=, 2042 - i32.ne $push57=, $pop55, $pop56 - br_if 0, $pop57 # 0: down to label26 + i32.const $push42=, 16 + i32.add $push43=, $10, $pop42 + i64.const $push44=, 4612389705869164544 + i64.store $discard=, 0($pop43):p2align=4, $pop44 + i64.const $push45=, 0 + i64.store $discard=, 8($10), $pop45 + i32.const $push46=, 2030 + i32.store $discard=, 0($10):p2align=4, $pop46 + i32.const $push47=, 11 + call f12@FUNCTION, $pop47, $10 + i32.const $push67=, 0 + i32.load $push48=, foo_arg($pop67) + i32.const $push49=, 2042 + i32.ne $push50=, $pop48, $pop49 + br_if 0, $pop50 # 0: down to label26 # BB#11: # %if.end30 - i32.const $push76=, 0 - i32.const $3=, 176 - i32.add $16=, $16, $3 - i32.const $3=, __stack_pointer - i32.store $16=, 0($3), $16 - return $pop76 + i32.const $push68=, 0 + i32.const $push73=, 176 + i32.add $10=, $10, $pop73 + i32.const $push74=, __stack_pointer + i32.store $discard=, 0($pop74), $10 + return $pop68 .LBB13_12: # %if.then29 end_block # label26: call abort@FUNCTION diff --git a/test/torture-s/stdarg-3.c.s b/test/torture-s/stdarg-3.c.s new file mode 100644 index 000000000..5e7046531 --- /dev/null +++ b/test/torture-s/stdarg-3.c.s @@ -0,0 +1,1238 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/stdarg-3.c" + .section .text.bar,"ax",@progbits + .hidden bar + .globl bar + .type bar,@function +bar: # @bar + .param i32 +# BB#0: # %entry + i32.const $push0=, 0 + i32.store $discard=, bar_arg($pop0), $0 + return + .endfunc +.Lfunc_end0: + .size bar, .Lfunc_end0-bar + + .section .text.f1,"ax",@progbits + .hidden f1 + .globl f1 + .type f1,@function +f1: # @f1 + .param i32, i32 + .local i32, i32 +# BB#0: # %entry + i32.const $push10=, __stack_pointer + i32.load $push11=, 0($pop10) + i32.const $push12=, 16 + i32.sub $3=, $pop11, $pop12 + i32.store $discard=, 12($3), $1 + block + i32.const $push4=, 1 + i32.lt_s $push1=, $0, $pop4 + br_if 0, $pop1 # 0: down to label0 +# BB#1: # %while.body.preheader + i32.const $push5=, 1 + i32.add $0=, $0, $pop5 + i32.load $1=, 12($3) +.LBB1_2: # %while.body + # =>This Inner Loop Header: Depth=1 + loop # label1: + i32.const $push9=, 4 + i32.add $push0=, $1, $pop9 + i32.store $2=, 12($3), $pop0 + i32.const $push8=, 0 + i32.load $push2=, 0($1) + i32.store $discard=, x($pop8), $pop2 + i32.const $push7=, -1 + i32.add $0=, $0, $pop7 + copy_local $1=, $2 + i32.const $push6=, 1 + i32.gt_s $push3=, $0, $pop6 + br_if 0, $pop3 # 0: up to label1 +.LBB1_3: # %while.end + end_loop # label2: + end_block # label0: + return + .endfunc +.Lfunc_end1: + .size f1, .Lfunc_end1-f1 + + .section .text.f2,"ax",@progbits + .hidden f2 + .globl f2 + .type f2,@function +f2: # @f2 + .param i32, i32 + .local i32 +# BB#0: # %entry + i32.const $push14=, __stack_pointer + i32.load $push15=, 0($pop14) + i32.const $push16=, 16 + i32.sub $2=, $pop15, $pop16 + i32.store $discard=, 12($2), $1 + block + i32.const $push4=, 1 + i32.lt_s $push0=, $0, $pop4 + br_if 0, $pop0 # 0: down to label3 +# BB#1: # %while.body.lr.ph + i32.const $push5=, 1 + i32.add $0=, $0, $pop5 + i32.load $1=, 12($2) +.LBB2_2: # %while.body + # =>This Inner Loop Header: Depth=1 + loop # label4: + i32.const $push13=, 0 + i32.const $push12=, 7 + i32.add $push1=, $1, $pop12 + i32.const $push11=, -8 + i32.and $push10=, $pop1, $pop11 + tee_local $push9=, $1=, $pop10 + i64.load $push2=, 0($pop9) + i64.store $discard=, d($pop13), $pop2 + i32.const $push8=, 8 + i32.add $1=, $1, $pop8 + i32.const $push7=, -1 + i32.add $0=, $0, $pop7 + i32.const $push6=, 1 + i32.gt_s $push3=, $0, $pop6 + br_if 0, $pop3 # 0: up to label4 +# BB#3: # %while.end.loopexit + end_loop # label5: + i32.store $discard=, 12($2), $1 +.LBB2_4: # %while.end + end_block # label3: + return + .endfunc +.Lfunc_end2: + .size f2, .Lfunc_end2-f2 + + .section .text.f3,"ax",@progbits + .hidden f3 + .globl f3 + .type f3,@function +f3: # @f3 + .param i32, i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push11=, __stack_pointer + i32.load $push12=, 0($pop11) + i32.const $push13=, 16 + i32.sub $4=, $pop12, $pop13 + block + i32.const $push5=, 1 + i32.lt_s $push0=, $0, $pop5 + br_if 0, $pop0 # 0: down to label6 +# BB#1: # %while.body.preheader + i32.const $push6=, 1 + i32.add $0=, $0, $pop6 + i32.const $push1=, 4 + i32.add $3=, $1, $pop1 +.LBB3_2: # %while.body + # =>This Inner Loop Header: Depth=1 + loop # label7: + i32.store $2=, 12($4), $1 + i32.store $discard=, 12($4), $3 + i32.const $push10=, 0 + i32.const $push9=, 0 + i32.load $push2=, 0($2) + i32.store $push3=, x($pop9), $pop2 + i32.store $discard=, bar_arg($pop10), $pop3 + i32.const $push8=, -1 + i32.add $0=, $0, $pop8 + i32.const $push7=, 1 + i32.gt_s $push4=, $0, $pop7 + br_if 0, $pop4 # 0: up to label7 +.LBB3_3: # %while.end + end_loop # label8: + end_block # label6: + return + .endfunc +.Lfunc_end3: + .size f3, .Lfunc_end3-f3 + + .section .text.f4,"ax",@progbits + .hidden f4 + .globl f4 + .type f4,@function +f4: # @f4 + .param i32, i32 + .local i32, f64, i32, i32 +# BB#0: # %entry + i32.const $push19=, __stack_pointer + i32.load $push20=, 0($pop19) + i32.const $push21=, 16 + i32.sub $5=, $pop20, $pop21 + block + i32.const $push9=, 1 + i32.lt_s $push0=, $0, $pop9 + br_if 0, $pop0 # 0: down to label9 +# BB#1: # %while.body.lr.ph + i32.const $push12=, 1 + i32.add $0=, $0, $pop12 + i32.const $push1=, 7 + i32.add $push2=, $1, $pop1 + i32.const $push3=, -8 + i32.and $push11=, $pop2, $pop3 + tee_local $push10=, $4=, $pop11 + i32.const $push4=, 8 + i32.add $2=, $pop10, $pop4 +.LBB4_2: # %while.body + # =>This Inner Loop Header: Depth=1 + loop # label10: + i32.const $push18=, 0 + i64.load $push5=, 0($4) + i64.store $discard=, d($pop18), $pop5 + i32.const $push17=, 0 + f64.load $3=, d($pop17) + i32.store $discard=, 12($5), $1 + i32.store $discard=, 12($5), $2 + i32.const $push16=, 0 + f64.const $push15=, 0x1p2 + f64.add $push6=, $3, $pop15 + i32.trunc_s/f64 $push7=, $pop6 + i32.store $discard=, bar_arg($pop16), $pop7 + i32.const $push14=, -1 + i32.add $0=, $0, $pop14 + i32.const $push13=, 1 + i32.gt_s $push8=, $0, $pop13 + br_if 0, $pop8 # 0: up to label10 +.LBB4_3: # %while.end + end_loop # label11: + end_block # label9: + return + .endfunc +.Lfunc_end4: + .size f4, .Lfunc_end4-f4 + + .section .text.f5,"ax",@progbits + .hidden f5 + .globl f5 + .type f5,@function +f5: # @f5 + .param i32, i32 + .local i32 +# BB#0: # %entry + i32.const $push26=, __stack_pointer + i32.load $push27=, 0($pop26) + i32.const $push28=, 16 + i32.sub $2=, $pop27, $pop28 + i32.store $discard=, 12($2), $1 + block + i32.const $push10=, 1 + i32.lt_s $push0=, $0, $pop10 + br_if 0, $pop0 # 0: down to label12 +# BB#1: # %while.body.lr.ph + i32.const $push11=, 1 + i32.add $1=, $0, $pop11 + i32.load $0=, 12($2) +.LBB5_2: # %while.body + # =>This Inner Loop Header: Depth=1 + loop # label13: + i32.const $push25=, 0 + i32.const $push24=, 7 + i32.add $push1=, $0, $pop24 + i32.const $push23=, -8 + i32.and $push22=, $pop1, $pop23 + tee_local $push21=, $0=, $pop22 + i64.load $push2=, 0($pop21) + i64.store $discard=, s1($pop25), $pop2 + i32.const $push20=, 0 + i32.const $push19=, 24 + i32.add $push3=, $0, $pop19 + i64.load $push4=, 0($pop3) + i64.store $discard=, s1+24($pop20), $pop4 + i32.const $push18=, 0 + i32.const $push17=, 16 + i32.add $push5=, $0, $pop17 + i64.load $push6=, 0($pop5) + i64.store $discard=, s1+16($pop18), $pop6 + i32.const $push16=, 0 + i32.const $push15=, 8 + i32.add $push7=, $0, $pop15 + i64.load $push8=, 0($pop7) + i64.store $discard=, s1+8($pop16), $pop8 + i32.const $push14=, 32 + i32.add $0=, $0, $pop14 + i32.const $push13=, -1 + i32.add $1=, $1, $pop13 + i32.const $push12=, 1 + i32.gt_s $push9=, $1, $pop12 + br_if 0, $pop9 # 0: up to label13 +# BB#3: # %while.end.loopexit + end_loop # label14: + i32.store $discard=, 12($2), $0 +.LBB5_4: # %while.end + end_block # label12: + return + .endfunc +.Lfunc_end5: + .size f5, .Lfunc_end5-f5 + + .section .text.f6,"ax",@progbits + .hidden f6 + .globl f6 + .type f6,@function +f6: # @f6 + .param i32, i32 + .local i32 +# BB#0: # %entry + i32.const $push18=, __stack_pointer + i32.load $push19=, 0($pop18) + i32.const $push20=, 16 + i32.sub $2=, $pop19, $pop20 + i32.store $discard=, 12($2), $1 + block + i32.const $push6=, 1 + i32.lt_s $push0=, $0, $pop6 + br_if 0, $pop0 # 0: down to label15 +# BB#1: # %while.body.lr.ph + i32.const $push7=, 1 + i32.add $0=, $0, $pop7 + i32.load $1=, 12($2) +.LBB6_2: # %while.body + # =>This Inner Loop Header: Depth=1 + loop # label16: + i32.const $push17=, 0 + i32.const $push16=, 7 + i32.add $push1=, $1, $pop16 + i32.const $push15=, -8 + i32.and $push14=, $pop1, $pop15 + tee_local $push13=, $1=, $pop14 + i64.load $push2=, 0($pop13) + i64.store $discard=, s2($pop17), $pop2 + i32.const $push12=, 0 + i32.const $push11=, 8 + i32.add $push3=, $1, $pop11 + i64.load $push4=, 0($pop3) + i64.store $discard=, s2+8($pop12), $pop4 + i32.const $push10=, 16 + i32.add $1=, $1, $pop10 + i32.const $push9=, -1 + i32.add $0=, $0, $pop9 + i32.const $push8=, 1 + i32.gt_s $push5=, $0, $pop8 + br_if 0, $pop5 # 0: up to label16 +# BB#3: # %while.end.loopexit + end_loop # label17: + i32.store $discard=, 12($2), $1 +.LBB6_4: # %while.end + end_block # label15: + return + .endfunc +.Lfunc_end6: + .size f6, .Lfunc_end6-f6 + + .section .text.f7,"ax",@progbits + .hidden f7 + .globl f7 + .type f7,@function +f7: # @f7 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push29=, __stack_pointer + i32.load $push30=, 0($pop29) + i32.const $push31=, 16 + i32.sub $8=, $pop30, $pop31 + block + i32.const $push16=, 1 + i32.lt_s $push0=, $0, $pop16 + br_if 0, $pop0 # 0: down to label18 +# BB#1: # %while.body.lr.ph + i32.const $push19=, 1 + i32.add $0=, $0, $pop19 + i32.const $push1=, 7 + i32.add $push2=, $1, $pop1 + i32.const $push3=, -8 + i32.and $push18=, $pop2, $pop3 + tee_local $push17=, $7=, $pop18 + i32.const $push4=, 32 + i32.add $2=, $pop17, $pop4 + i32.const $push5=, 28 + i32.add $3=, $7, $pop5 + i32.const $push7=, 24 + i32.add $4=, $7, $pop7 + i32.const $push9=, 16 + i32.add $5=, $7, $pop9 + i32.const $push11=, 8 + i32.add $6=, $7, $pop11 +.LBB7_2: # %while.body + # =>This Inner Loop Header: Depth=1 + loop # label19: + i32.const $push28=, 0 + i32.load $push6=, 0($3) + i32.store $discard=, s1+28($pop28), $pop6 + i32.const $push27=, 0 + i32.load $push8=, 0($4):p2align=3 + i32.store $discard=, s1+24($pop27):p2align=3, $pop8 + i32.const $push26=, 0 + i64.load $push10=, 0($5) + i64.store $discard=, s1+16($pop26), $pop10 + i32.const $push25=, 0 + i64.load $push12=, 0($6) + i64.store $discard=, s1+8($pop25), $pop12 + i32.const $push24=, 0 + i64.load $push13=, 0($7) + i64.store $discard=, s1($pop24), $pop13 + i32.const $push23=, 0 + i32.const $push22=, 0 + i32.load $push14=, s1($pop22):p2align=3 + i32.store $discard=, bar_arg($pop23), $pop14 + i32.store $discard=, 12($8), $1 + i32.store $discard=, 12($8), $2 + i32.const $push21=, -1 + i32.add $0=, $0, $pop21 + i32.const $push20=, 1 + i32.gt_s $push15=, $0, $pop20 + br_if 0, $pop15 # 0: up to label19 +.LBB7_3: # %while.end + end_loop # label20: + end_block # label18: + return + .endfunc +.Lfunc_end7: + .size f7, .Lfunc_end7-f7 + + .section .text.f8,"ax",@progbits + .hidden f8 + .globl f8 + .type f8,@function +f8: # @f8 + .param i32, i32 + .local i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push24=, __stack_pointer + i32.load $push25=, 0($pop24) + i32.const $push26=, 16 + i32.sub $7=, $pop25, $pop26 + block + i32.const $push12=, 1 + i32.lt_s $push0=, $0, $pop12 + br_if 0, $pop0 # 0: down to label21 +# BB#1: # %while.body.lr.ph + i32.const $push15=, 1 + i32.add $0=, $0, $pop15 + i32.const $push1=, 7 + i32.add $push2=, $1, $pop1 + i32.const $push3=, -8 + i32.and $push14=, $pop2, $pop3 + tee_local $push13=, $6=, $pop14 + i32.const $push5=, 12 + i32.add $2=, $pop13, $pop5 + i32.const $push7=, 8 + i32.add $3=, $6, $pop7 + i32.const $push9=, 20 + i32.add $4=, $6, $pop9 +.LBB8_2: # %while.body + # =>This Inner Loop Header: Depth=1 + loop # label22: + i32.const $push23=, 0 + i64.load $push4=, 0($6) + i64.store $discard=, s2($pop23), $pop4 + i32.const $push22=, 0 + i32.load $push6=, 0($2) + i32.store $discard=, s2+12($pop22), $pop6 + i32.const $push21=, 0 + i32.load $push8=, 0($3):p2align=3 + i32.store $discard=, s2+8($pop21):p2align=3, $pop8 + i32.store $discard=, 12($7), $1 + i32.store $discard=, 12($7), $4 + i32.const $push20=, 0 + i32.load $5=, s2+8($pop20):p2align=3 + i32.const $push19=, 0 + i32.load $push10=, 16($6):p2align=3 + i32.store $discard=, y($pop19), $pop10 + i32.const $push18=, 0 + i32.store $discard=, bar_arg($pop18), $5 + i32.const $push17=, -1 + i32.add $0=, $0, $pop17 + i32.const $push16=, 1 + i32.gt_s $push11=, $0, $pop16 + br_if 0, $pop11 # 0: up to label22 +.LBB8_3: # %while.end + end_loop # label23: + end_block # label21: + return + .endfunc +.Lfunc_end8: + .size f8, .Lfunc_end8-f8 + + .section .text.main,"ax",@progbits + .hidden main + .globl main + .type main,@function +main: # @main + .result i32 + .local i32, 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, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, 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 $push329=, __stack_pointer + i32.load $push330=, 0($pop329) + i32.const $push331=, 752 + i32.sub $97=, $pop330, $pop331 + i32.const $push332=, __stack_pointer + i32.store $discard=, 0($pop332), $97 + i32.const $push236=, 24 + i32.const $5=, 624 + i32.add $5=, $97, $5 + i32.add $push0=, $5, $pop236 + i64.const $push1=, 55834574859 + i64.store $discard=, 0($pop0), $pop1 + i32.const $push235=, 16 + i32.const $6=, 624 + i32.add $6=, $97, $6 + i32.add $push2=, $6, $pop235 + i64.const $push3=, 38654705671 + i64.store $discard=, 0($pop2):p2align=4, $pop3 + i64.const $push4=, 21474836483 + i64.store $discard=, 632($97), $pop4 + i64.const $push5=, 8589934593 + i64.store $discard=, 624($97):p2align=4, $pop5 + i32.const $push6=, 7 + i32.const $7=, 624 + i32.add $7=, $97, $7 + call f1@FUNCTION, $pop6, $7 + block + i32.const $push234=, 0 + i32.load $push7=, x($pop234) + i32.const $push8=, 11 + i32.ne $push9=, $pop7, $pop8 + br_if 0, $pop9 # 0: down to label24 +# BB#1: # %if.end + i32.const $push10=, 48 + i32.const $8=, 560 + i32.add $8=, $97, $8 + i32.add $push11=, $8, $pop10 + i64.const $push12=, 4634204016564240384 + i64.store $discard=, 0($pop11):p2align=4, $pop12 + i32.const $push13=, 40 + i32.const $9=, 560 + i32.add $9=, $97, $9 + i32.add $push14=, $9, $pop13 + i64.const $push15=, 4629700416936869888 + i64.store $discard=, 0($pop14), $pop15 + i32.const $push16=, 32 + i32.const $10=, 560 + i32.add $10=, $97, $10 + i32.add $push17=, $10, $pop16 + i64.const $push18=, 4625196817309499392 + i64.store $discard=, 0($pop17):p2align=4, $pop18 + i32.const $push239=, 24 + i32.const $11=, 560 + i32.add $11=, $97, $11 + i32.add $push19=, $11, $pop239 + i64.const $push20=, 4620693217682128896 + i64.store $discard=, 0($pop19), $pop20 + i32.const $push238=, 16 + i32.const $12=, 560 + i32.add $12=, $97, $12 + i32.add $push21=, $12, $pop238 + i64.const $push22=, 4616189618054758400 + i64.store $discard=, 0($pop21):p2align=4, $pop22 + i64.const $push23=, 4611686018427387904 + i64.store $discard=, 568($97), $pop23 + i64.const $push24=, 4607182418800017408 + i64.store $discard=, 560($97):p2align=4, $pop24 + i32.const $push25=, 6 + i32.const $13=, 560 + i32.add $13=, $97, $13 + call f2@FUNCTION, $pop25, $13 + i32.const $push237=, 0 + f64.load $push26=, d($pop237) + f64.const $push27=, 0x1p5 + f64.ne $push28=, $pop26, $pop27 + br_if 0, $pop28 # 0: down to label24 +# BB#2: # %if.end3 + i64.const $push30=, 12884901889 + i64.store $discard=, 544($97):p2align=4, $pop30 + i32.const $push31=, 2 + i32.const $14=, 544 + i32.add $14=, $97, $14 + call f3@FUNCTION, $pop31, $14 + i32.const $push241=, 0 + i32.load $push32=, bar_arg($pop241) + i32.const $push240=, 1 + i32.ne $push33=, $pop32, $pop240 + br_if 0, $pop33 # 0: down to label24 +# BB#3: # %if.end3 + i32.const $push243=, 0 + i32.load $push29=, x($pop243) + i32.const $push242=, 1 + i32.ne $push34=, $pop29, $pop242 + br_if 0, $pop34 # 0: down to label24 +# BB#4: # %if.end7 + i64.const $push36=, 4626041242239631360 + i64.store $discard=, 536($97), $pop36 + i64.const $push37=, 4625478292286210048 + i64.store $discard=, 528($97):p2align=4, $pop37 + i32.const $push38=, 2 + i32.const $15=, 528 + i32.add $15=, $97, $15 + call f4@FUNCTION, $pop38, $15 + i32.const $push244=, 0 + i32.load $push39=, bar_arg($pop244) + i32.const $push40=, 21 + i32.ne $push41=, $pop39, $pop40 + br_if 0, $pop41 # 0: down to label24 +# BB#5: # %if.end7 + i32.const $push245=, 0 + f64.load $push35=, d($pop245) + f64.const $push42=, 0x1.1p4 + f64.ne $push43=, $pop35, $pop42 + br_if 0, $pop43 # 0: down to label24 +# BB#6: # %if.end12 + i32.const $push48=, 251 + i32.store $discard=, 736($97):p2align=3, $pop48 + i64.const $push49=, 4624633867356078080 + i64.store $discard=, 728($97), $pop49 + i32.const $push47=, 131 + i32.store $0=, 720($97):p2align=3, $pop47 + i32.load $1=, 736($97):p2align=3 + i32.const $push51=, 20 + i32.const $16=, 688 + i32.add $16=, $97, $16 + i32.add $push52=, $16, $pop51 + i32.const $push259=, 20 + i32.const $17=, 720 + i32.add $17=, $97, $17 + i32.add $push53=, $17, $pop259 + i32.load $push54=, 0($pop53) + i32.store $discard=, 0($pop52), $pop54 + i32.const $push55=, 16 + i32.const $18=, 688 + i32.add $18=, $97, $18 + i32.add $push258=, $18, $pop55 + tee_local $push257=, $4=, $pop258 + i32.store $discard=, 0($pop257):p2align=3, $1 + i64.const $push50=, 4640924231633207296 + i64.store $discard=, 744($97), $pop50 + i64.load $2=, 720($97) + i32.const $push56=, 8 + i32.const $19=, 688 + i32.add $19=, $97, $19 + i32.add $push256=, $19, $pop56 + tee_local $push255=, $1=, $pop256 + i64.load $push57=, 728($97) + i64.store $discard=, 0($pop255), $pop57 + i64.store $discard=, 688($97), $2 + i64.const $push59=, 4640466834796052480 + i64.store $discard=, 712($97), $pop59 + i32.const $push58=, 254 + i32.store $3=, 0($4):p2align=3, $pop58 + i32.const $push254=, 16 + i32.const $20=, 496 + i32.add $20=, $97, $20 + i32.add $push60=, $20, $pop254 + i64.load $push61=, 736($97) + i64.store $discard=, 0($pop60), $pop61 + i32.const $push62=, 24 + i32.const $21=, 496 + i32.add $21=, $97, $21 + i32.add $push63=, $21, $pop62 + i64.load $push64=, 744($97) + i64.store $discard=, 0($pop63), $pop64 + i32.const $push253=, 8 + i32.const $22=, 496 + i32.add $22=, $97, $22 + i32.add $push65=, $22, $pop253 + i64.load $push66=, 728($97) + i64.store $discard=, 0($pop65), $pop66 + i64.load $push67=, 720($97) + i64.store $discard=, 496($97), $pop67 + i32.const $push252=, 24 + i32.const $23=, 464 + i32.add $23=, $97, $23 + i32.add $push68=, $23, $pop252 + i64.load $push69=, 712($97) + i64.store $discard=, 0($pop68), $pop69 + i32.const $push251=, 16 + i32.const $24=, 464 + i32.add $24=, $97, $24 + i32.add $push70=, $24, $pop251 + i64.load $push71=, 0($4) + i64.store $discard=, 0($pop70), $pop71 + i32.const $push250=, 8 + i32.const $25=, 464 + i32.add $25=, $97, $25 + i32.add $push72=, $25, $pop250 + i64.load $push73=, 0($1) + i64.store $discard=, 0($pop72), $pop73 + i64.load $push74=, 688($97) + i64.store $discard=, 464($97), $pop74 + i32.const $push249=, 24 + i32.const $26=, 432 + i32.add $26=, $97, $26 + i32.add $push75=, $26, $pop249 + i64.load $push76=, 744($97) + i64.store $discard=, 0($pop75), $pop76 + i32.const $push248=, 16 + i32.const $27=, 432 + i32.add $27=, $97, $27 + i32.add $push77=, $27, $pop248 + i64.load $push78=, 736($97) + i64.store $discard=, 0($pop77), $pop78 + i32.const $push247=, 8 + i32.const $28=, 432 + i32.add $28=, $97, $28 + i32.add $push79=, $28, $pop247 + i64.load $push80=, 728($97) + i64.store $discard=, 0($pop79), $pop80 + i64.load $push81=, 720($97) + i64.store $discard=, 432($97), $pop81 + i32.const $29=, 432 + i32.add $29=, $97, $29 + i32.store $discard=, 424($97):p2align=3, $29 + i32.const $30=, 464 + i32.add $30=, $97, $30 + i32.store $discard=, 420($97), $30 + i32.const $31=, 496 + i32.add $31=, $97, $31 + i32.store $discard=, 416($97):p2align=4, $31 + i32.const $push82=, 2 + i32.const $32=, 416 + i32.add $32=, $97, $32 + call f5@FUNCTION, $pop82, $32 + i32.const $push246=, 0 + i32.load $push83=, s1($pop246):p2align=3 + i32.ne $push84=, $0, $pop83 + br_if 0, $pop84 # 0: down to label24 +# BB#7: # %if.end12 + i32.const $push260=, 0 + i32.load $push44=, s1+16($pop260):p2align=3 + i32.ne $push85=, $pop44, $3 + br_if 0, $pop85 # 0: down to label24 +# BB#8: # %if.end12 + i32.const $push261=, 0 + f64.load $push45=, s1+8($pop261) + f64.const $push86=, 0x1.ep3 + f64.ne $push87=, $pop45, $pop86 + br_if 0, $pop87 # 0: down to label24 +# BB#9: # %if.end12 + i32.const $push262=, 0 + f64.load $push46=, s1+24($pop262) + f64.const $push88=, 0x1.64p7 + f64.ne $push89=, $pop46, $pop88 + br_if 0, $pop89 # 0: down to label24 +# BB#10: # %if.end23 + i32.const $push93=, 24 + i32.const $33=, 384 + i32.add $33=, $97, $33 + i32.add $push94=, $33, $pop93 + i32.const $push281=, 24 + i32.const $34=, 720 + i32.add $34=, $97, $34 + i32.add $push280=, $34, $pop281 + tee_local $push279=, $4=, $pop280 + i64.load $push95=, 0($pop279) + i64.store $discard=, 0($pop94), $pop95 + i32.const $push96=, 16 + i32.const $35=, 384 + i32.add $35=, $97, $35 + i32.add $push97=, $35, $pop96 + i32.const $push278=, 16 + i32.const $36=, 720 + i32.add $36=, $97, $36 + i32.add $push277=, $36, $pop278 + tee_local $push276=, $0=, $pop277 + i64.load $push98=, 0($pop276) + i64.store $discard=, 0($pop97), $pop98 + i32.const $push99=, 8 + i32.const $37=, 384 + i32.add $37=, $97, $37 + i32.add $push100=, $37, $pop99 + i32.const $push275=, 8 + i32.const $38=, 720 + i32.add $38=, $97, $38 + i32.add $push274=, $38, $pop275 + tee_local $push273=, $1=, $pop274 + i64.load $push101=, 0($pop273) + i64.store $discard=, 0($pop100), $pop101 + i64.load $push102=, 720($97) + i64.store $discard=, 384($97), $pop102 + i32.const $push272=, 24 + i32.const $39=, 352 + i32.add $39=, $97, $39 + i32.add $push103=, $39, $pop272 + i32.const $push271=, 24 + i32.const $40=, 688 + i32.add $40=, $97, $40 + i32.add $push104=, $40, $pop271 + i64.load $push105=, 0($pop104) + i64.store $discard=, 0($pop103), $pop105 + i32.const $push270=, 16 + i32.const $41=, 352 + i32.add $41=, $97, $41 + i32.add $push106=, $41, $pop270 + i32.const $push269=, 16 + i32.const $42=, 688 + i32.add $42=, $97, $42 + i32.add $push107=, $42, $pop269 + i64.load $push108=, 0($pop107) + i64.store $discard=, 0($pop106), $pop108 + i32.const $push268=, 8 + i32.const $43=, 352 + i32.add $43=, $97, $43 + i32.add $push109=, $43, $pop268 + i32.const $push267=, 8 + i32.const $44=, 688 + i32.add $44=, $97, $44 + i32.add $push110=, $44, $pop267 + i64.load $push111=, 0($pop110) + i64.store $discard=, 0($pop109), $pop111 + i64.load $push112=, 688($97) + i64.store $discard=, 352($97), $pop112 + i32.const $push266=, 24 + i32.const $45=, 320 + i32.add $45=, $97, $45 + i32.add $push113=, $45, $pop266 + i64.load $push114=, 0($4) + i64.store $discard=, 0($pop113), $pop114 + i32.const $push265=, 16 + i32.const $46=, 320 + i32.add $46=, $97, $46 + i32.add $push115=, $46, $pop265 + i64.load $push116=, 0($0) + i64.store $discard=, 0($pop115), $pop116 + i32.const $push264=, 8 + i32.const $47=, 320 + i32.add $47=, $97, $47 + i32.add $push117=, $47, $pop264 + i64.load $push118=, 0($1) + i64.store $discard=, 0($pop117), $pop118 + i64.load $push119=, 720($97) + i64.store $discard=, 320($97), $pop119 + i32.const $48=, 320 + i32.add $48=, $97, $48 + i32.store $discard=, 312($97):p2align=3, $48 + i32.const $49=, 352 + i32.add $49=, $97, $49 + i32.store $discard=, 308($97), $49 + i32.const $50=, 384 + i32.add $50=, $97, $50 + i32.store $discard=, 304($97):p2align=4, $50 + i32.const $push120=, 3 + i32.const $51=, 304 + i32.add $51=, $97, $51 + call f5@FUNCTION, $pop120, $51 + i32.const $push263=, 0 + i32.load $push121=, s1($pop263):p2align=3 + i32.const $push122=, 131 + i32.ne $push123=, $pop121, $pop122 + br_if 0, $pop123 # 0: down to label24 +# BB#11: # %if.end23 + i32.const $push282=, 0 + i32.load $push90=, s1+16($pop282):p2align=3 + i32.const $push124=, 251 + i32.ne $push125=, $pop90, $pop124 + br_if 0, $pop125 # 0: down to label24 +# BB#12: # %if.end23 + i32.const $push283=, 0 + f64.load $push91=, s1+8($pop283) + f64.const $push126=, 0x1.ep3 + f64.ne $push127=, $pop91, $pop126 + br_if 0, $pop127 # 0: down to label24 +# BB#13: # %if.end23 + i32.const $push284=, 0 + f64.load $push92=, s1+24($pop284) + f64.const $push128=, 0x1.7ep7 + f64.ne $push129=, $pop92, $pop128 + br_if 0, $pop129 # 0: down to label24 +# BB#14: # %if.end32 + i32.const $push131=, 138 + i32.store $discard=, 680($97):p2align=3, $pop131 + i64.const $push132=, 4625196817309499392 + i64.store $discard=, 672($97), $pop132 + i64.const $push134=, 4640396466051874816 + i64.store $discard=, 656($97), $pop134 + i32.const $push133=, 257 + i32.store $4=, 664($97):p2align=3, $pop133 + i32.const $push135=, 12 + i32.const $52=, 288 + i32.add $52=, $97, $52 + i32.add $push136=, $52, $pop135 + i32.const $push288=, 12 + i32.const $53=, 672 + i32.add $53=, $97, $53 + i32.add $push137=, $53, $pop288 + i32.load $push138=, 0($pop137) + i32.store $discard=, 0($pop136), $pop138 + i32.const $push139=, 8 + i32.const $54=, 288 + i32.add $54=, $97, $54 + i32.add $push140=, $54, $pop139 + i32.load $push141=, 680($97):p2align=3 + i32.store $discard=, 0($pop140):p2align=3, $pop141 + i64.load $push142=, 672($97) + i64.store $discard=, 288($97), $pop142 + i32.const $push287=, 8 + i32.const $55=, 272 + i32.add $55=, $97, $55 + i32.add $push143=, $55, $pop287 + i64.load $push144=, 664($97) + i64.store $discard=, 0($pop143), $pop144 + i64.load $push145=, 656($97) + i64.store $discard=, 272($97), $pop145 + i32.const $push286=, 8 + i32.const $56=, 256 + i32.add $56=, $97, $56 + i32.add $push146=, $56, $pop286 + i64.load $push147=, 680($97) + i64.store $discard=, 0($pop146), $pop147 + i64.load $push148=, 672($97) + i64.store $discard=, 256($97), $pop148 + i32.const $57=, 256 + i32.add $57=, $97, $57 + i32.store $discard=, 248($97):p2align=3, $57 + i32.const $58=, 272 + i32.add $58=, $97, $58 + i32.store $discard=, 244($97), $58 + i32.const $59=, 288 + i32.add $59=, $97, $59 + i32.store $discard=, 240($97):p2align=4, $59 + i32.const $push149=, 2 + i32.const $60=, 240 + i32.add $60=, $97, $60 + call f6@FUNCTION, $pop149, $60 + i32.const $push285=, 0 + i32.load $push150=, s2+8($pop285):p2align=3 + i32.ne $push151=, $4, $pop150 + br_if 0, $pop151 # 0: down to label24 +# BB#15: # %if.end32 + i32.const $push289=, 0 + f64.load $push130=, s2($pop289) + f64.const $push152=, 0x1.6p7 + f64.ne $push153=, $pop130, $pop152 + br_if 0, $pop153 # 0: down to label24 +# BB#16: # %if.end41 + i32.const $push155=, 8 + i32.const $61=, 224 + i32.add $61=, $97, $61 + i32.add $push156=, $61, $pop155 + i32.const $push296=, 8 + i32.const $62=, 672 + i32.add $62=, $97, $62 + i32.add $push295=, $62, $pop296 + tee_local $push294=, $4=, $pop295 + i64.load $push157=, 0($pop294) + i64.store $discard=, 0($pop156), $pop157 + i64.load $push158=, 672($97) + i64.store $discard=, 224($97), $pop158 + i32.const $push293=, 8 + i32.const $63=, 208 + i32.add $63=, $97, $63 + i32.add $push159=, $63, $pop293 + i32.const $push292=, 8 + i32.const $64=, 656 + i32.add $64=, $97, $64 + i32.add $push160=, $64, $pop292 + i64.load $push161=, 0($pop160) + i64.store $discard=, 0($pop159), $pop161 + i64.load $push162=, 656($97) + i64.store $discard=, 208($97), $pop162 + i32.const $push291=, 8 + i32.const $65=, 192 + i32.add $65=, $97, $65 + i32.add $push163=, $65, $pop291 + i64.load $push164=, 0($4) + i64.store $discard=, 0($pop163), $pop164 + i64.load $push165=, 672($97) + i64.store $discard=, 192($97), $pop165 + i32.const $66=, 192 + i32.add $66=, $97, $66 + i32.store $discard=, 184($97):p2align=3, $66 + i32.const $67=, 208 + i32.add $67=, $97, $67 + i32.store $discard=, 180($97), $67 + i32.const $68=, 224 + i32.add $68=, $97, $68 + i32.store $discard=, 176($97):p2align=4, $68 + i32.const $push166=, 3 + i32.const $69=, 176 + i32.add $69=, $97, $69 + call f6@FUNCTION, $pop166, $69 + i32.const $push290=, 0 + i32.load $push167=, s2+8($pop290):p2align=3 + i32.const $push168=, 138 + i32.ne $push169=, $pop167, $pop168 + br_if 0, $pop169 # 0: down to label24 +# BB#17: # %if.end41 + i32.const $push297=, 0 + f64.load $push154=, s2($pop297) + f64.const $push170=, 0x1p4 + f64.ne $push171=, $pop154, $pop170 + br_if 0, $pop171 # 0: down to label24 +# BB#18: # %if.end46 + i32.const $push175=, 24 + i32.const $70=, 144 + i32.add $70=, $97, $70 + i32.add $push176=, $70, $pop175 + i32.const $push316=, 24 + i32.const $71=, 688 + i32.add $71=, $97, $71 + i32.add $push177=, $71, $pop316 + i64.load $push178=, 0($pop177) + i64.store $discard=, 0($pop176), $pop178 + i32.const $push179=, 16 + i32.const $72=, 144 + i32.add $72=, $97, $72 + i32.add $push180=, $72, $pop179 + i32.const $push315=, 16 + i32.const $73=, 688 + i32.add $73=, $97, $73 + i32.add $push181=, $73, $pop315 + i64.load $push182=, 0($pop181) + i64.store $discard=, 0($pop180), $pop182 + i32.const $push183=, 8 + i32.const $74=, 144 + i32.add $74=, $97, $74 + i32.add $push184=, $74, $pop183 + i32.const $push314=, 8 + i32.const $75=, 688 + i32.add $75=, $97, $75 + i32.add $push185=, $75, $pop314 + i64.load $push186=, 0($pop185) + i64.store $discard=, 0($pop184), $pop186 + i64.load $push187=, 688($97) + i64.store $discard=, 144($97), $pop187 + i32.const $push313=, 24 + i32.const $76=, 112 + i32.add $76=, $97, $76 + i32.add $push188=, $76, $pop313 + i32.const $push312=, 24 + i32.const $77=, 720 + i32.add $77=, $97, $77 + i32.add $push311=, $77, $pop312 + tee_local $push310=, $4=, $pop311 + i64.load $push189=, 0($pop310) + i64.store $discard=, 0($pop188), $pop189 + i32.const $push309=, 16 + i32.const $78=, 112 + i32.add $78=, $97, $78 + i32.add $push190=, $78, $pop309 + i32.const $push308=, 16 + i32.const $79=, 720 + i32.add $79=, $97, $79 + i32.add $push307=, $79, $pop308 + tee_local $push306=, $0=, $pop307 + i64.load $push191=, 0($pop306) + i64.store $discard=, 0($pop190), $pop191 + i32.const $push305=, 8 + i32.const $80=, 112 + i32.add $80=, $97, $80 + i32.add $push192=, $80, $pop305 + i32.const $push304=, 8 + i32.const $81=, 720 + i32.add $81=, $97, $81 + i32.add $push303=, $81, $pop304 + tee_local $push302=, $1=, $pop303 + i64.load $push193=, 0($pop302) + i64.store $discard=, 0($pop192), $pop193 + i64.load $push194=, 720($97) + i64.store $discard=, 112($97), $pop194 + i32.const $push301=, 24 + i32.const $82=, 80 + i32.add $82=, $97, $82 + i32.add $push195=, $82, $pop301 + i64.load $push196=, 0($4) + i64.store $discard=, 0($pop195), $pop196 + i32.const $push300=, 16 + i32.const $83=, 80 + i32.add $83=, $97, $83 + i32.add $push197=, $83, $pop300 + i64.load $push198=, 0($0) + i64.store $discard=, 0($pop197), $pop198 + i32.const $push299=, 8 + i32.const $84=, 80 + i32.add $84=, $97, $84 + i32.add $push199=, $84, $pop299 + i64.load $push200=, 0($1) + i64.store $discard=, 0($pop199), $pop200 + i64.load $push201=, 720($97) + i64.store $discard=, 80($97), $pop201 + i32.const $85=, 80 + i32.add $85=, $97, $85 + i32.store $discard=, 72($97):p2align=3, $85 + i32.const $86=, 112 + i32.add $86=, $97, $86 + i32.store $discard=, 68($97), $86 + i32.const $87=, 144 + i32.add $87=, $97, $87 + i32.store $discard=, 64($97):p2align=4, $87 + i32.const $push202=, 2 + i32.const $88=, 64 + i32.add $88=, $97, $88 + call f7@FUNCTION, $pop202, $88 + i32.const $push298=, 0 + i32.load $push203=, s1($pop298):p2align=3 + i32.const $push204=, 131 + i32.ne $push205=, $pop203, $pop204 + br_if 0, $pop205 # 0: down to label24 +# BB#19: # %if.end46 + i32.const $push317=, 0 + i32.load $push172=, s1+16($pop317):p2align=3 + i32.const $push206=, 254 + i32.ne $push207=, $pop172, $pop206 + br_if 0, $pop207 # 0: down to label24 +# BB#20: # %if.end46 + i32.const $push318=, 0 + f64.load $push173=, s1+8($pop318) + f64.const $push208=, 0x1.ep3 + f64.ne $push209=, $pop173, $pop208 + br_if 0, $pop209 # 0: down to label24 +# BB#21: # %if.end46 + i32.const $push319=, 0 + f64.load $push174=, s1+24($pop319) + f64.const $push210=, 0x1.64p7 + f64.ne $push211=, $pop174, $pop210 + br_if 0, $pop211 # 0: down to label24 +# BB#22: # %if.end55 + i32.const $push320=, 0 + i32.load $push212=, bar_arg($pop320) + i32.const $push213=, 131 + i32.ne $push214=, $pop212, $pop213 + br_if 0, $pop214 # 0: down to label24 +# BB#23: # %if.end58 + i32.const $push216=, 8 + i32.const $89=, 48 + i32.add $89=, $97, $89 + i32.add $push217=, $89, $pop216 + i32.const $push327=, 8 + i32.const $90=, 656 + i32.add $90=, $97, $90 + i32.add $push218=, $90, $pop327 + i64.load $push219=, 0($pop218) + i64.store $discard=, 0($pop217), $pop219 + i64.load $push220=, 656($97) + i64.store $discard=, 48($97), $pop220 + i32.const $push326=, 8 + i32.const $91=, 32 + i32.add $91=, $97, $91 + i32.add $push221=, $91, $pop326 + i32.const $push325=, 8 + i32.const $92=, 672 + i32.add $92=, $97, $92 + i32.add $push324=, $92, $pop325 + tee_local $push323=, $4=, $pop324 + i64.load $push222=, 0($pop323) + i64.store $discard=, 0($pop221), $pop222 + i64.load $push223=, 672($97) + i64.store $discard=, 32($97), $pop223 + i32.const $push322=, 8 + i32.const $93=, 16 + i32.add $93=, $97, $93 + i32.add $push224=, $93, $pop322 + i64.load $push225=, 0($4) + i64.store $discard=, 0($pop224), $pop225 + i64.load $push226=, 672($97) + i64.store $discard=, 16($97), $pop226 + i32.const $94=, 16 + i32.add $94=, $97, $94 + i32.store $discard=, 8($97):p2align=3, $94 + i32.const $95=, 32 + i32.add $95=, $97, $95 + i32.store $discard=, 4($97), $95 + i32.const $96=, 48 + i32.add $96=, $97, $96 + i32.store $discard=, 0($97):p2align=4, $96 + i32.const $push227=, 3 + call f8@FUNCTION, $pop227, $97 + i32.const $push321=, 0 + i32.load $push228=, s2+8($pop321):p2align=3 + i32.const $push229=, 257 + i32.ne $push230=, $pop228, $pop229 + br_if 0, $pop230 # 0: down to label24 +# BB#24: # %if.end58 + i32.const $push328=, 0 + f64.load $push215=, s2($pop328) + f64.const $push231=, 0x1.6p7 + f64.ne $push232=, $pop215, $pop231 + br_if 0, $pop232 # 0: down to label24 +# BB#25: # %if.end63 + i32.const $push233=, 0 + i32.const $push333=, 752 + i32.add $97=, $97, $pop333 + i32.const $push334=, __stack_pointer + i32.store $discard=, 0($pop334), $97 + return $pop233 +.LBB9_26: # %if.then62 + end_block # label24: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end9: + .size main, .Lfunc_end9-main + + .hidden bar_arg # @bar_arg + .type bar_arg,@object + .section .bss.bar_arg,"aw",@nobits + .globl bar_arg + .p2align 2 +bar_arg: + .int32 0 # 0x0 + .size bar_arg, 4 + + .hidden x # @x + .type x,@object + .section .bss.x,"aw",@nobits + .globl x + .p2align 2 +x: + .int32 0 # 0x0 + .size x, 4 + + .hidden d # @d + .type d,@object + .section .bss.d,"aw",@nobits + .globl d + .p2align 3 +d: + .int64 0 # double 0 + .size d, 8 + + .hidden s1 # @s1 + .type s1,@object + .section .bss.s1,"aw",@nobits + .globl s1 + .p2align 3 +s1: + .skip 32 + .size s1, 32 + + .hidden s2 # @s2 + .type s2,@object + .section .bss.s2,"aw",@nobits + .globl s2 + .p2align 3 +s2: + .skip 16 + .size s2, 16 + + .hidden y # @y + .type y,@object + .section .bss.y,"aw",@nobits + .globl y + .p2align 2 +y: + .int32 0 # 0x0 + .size y, 4 + + .hidden foo_arg # @foo_arg + .type foo_arg,@object + .section .bss.foo_arg,"aw",@nobits + .globl foo_arg + .p2align 2 +foo_arg: + .int32 0 # 0x0 + .size foo_arg, 4 + + .hidden gap # @gap + .type gap,@object + .section .bss.gap,"aw",@nobits + .globl gap + .p2align 2 +gap: + .int32 0 + .size gap, 4 + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/stdarg-4.c.s b/test/torture-s/stdarg-4.c.s index 1fd766b6e..e4a104dc4 100644 --- a/test/torture-s/stdarg-4.c.s +++ b/test/torture-s/stdarg-4.c.s @@ -6,53 +6,28 @@ .type f1i,@function f1i: # @f1i .param 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 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - i32.store $push0=, 12($6), $0 - i32.const $push1=, 7 - i32.add $push2=, $pop0, $pop1 - i32.const $push3=, -8 - i32.and $push28=, $pop2, $pop3 - tee_local $push27=, $0=, $pop28 - i32.const $push4=, 8 - i32.add $push5=, $pop27, $pop4 - i32.store $discard=, 12($6), $pop5 - f64.load $push6=, 0($0) - i32.trunc_s/f64 $1=, $pop6 - i32.const $push7=, 11 - i32.add $push8=, $0, $pop7 - i32.const $push9=, -4 - i32.and $push26=, $pop8, $pop9 - tee_local $push25=, $0=, $pop26 - i32.const $push10=, 4 - i32.add $push11=, $pop25, $pop10 - i32.store $discard=, 12($6), $pop11 - i32.load $2=, 0($0) - i32.const $push24=, 11 - i32.add $push13=, $0, $pop24 - i32.const $push23=, -8 - i32.and $push22=, $pop13, $pop23 - tee_local $push21=, $0=, $pop22 - i32.const $push20=, 8 - i32.add $push14=, $pop21, $pop20 - i32.store $discard=, 12($6), $pop14 + i32.const $push5=, 0 i32.const $push19=, 0 - i32.add $push12=, $2, $1 - f64.convert_s/i32 $push16=, $pop12 - f64.load $push15=, 0($0) - f64.add $push17=, $pop16, $pop15 - i32.trunc_s/f64 $push18=, $pop17 - i32.store $discard=, x($pop19), $pop18 - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push0=, 7 + i32.add $push1=, $0, $pop0 + i32.const $push2=, -8 + i32.and $push18=, $pop1, $pop2 + tee_local $push17=, $0=, $pop18 + f64.load $push3=, 0($pop17) + i32.trunc_s/f64 $push4=, $pop3 + i32.store $push6=, x($pop19), $pop4 + i32.load $push7=, 8($0):p2align=3 + i32.add $push8=, $pop6, $pop7 + f64.convert_s/i32 $push13=, $pop8 + i32.const $push9=, 19 + i32.add $push10=, $0, $pop9 + i32.const $push16=, -8 + i32.and $push11=, $pop10, $pop16 + f64.load $push12=, 0($pop11) + f64.add $push14=, $pop13, $pop12 + i32.trunc_s/f64 $push15=, $pop14 + i32.store $discard=, x($pop5), $pop15 return .endfunc .Lfunc_end0: @@ -64,54 +39,34 @@ f1i: # @f1i .type f1,@function f1: # @f1 .param i32, i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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 $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 $push29=, $pop3, $pop4 - tee_local $push28=, $1=, $pop29 - i32.const $push5=, 8 - i32.add $push6=, $pop28, $pop5 - i32.store $discard=, 12($7), $pop6 - f64.load $push7=, 0($1) - i32.trunc_s/f64 $2=, $pop7 - i32.const $push8=, 11 - i32.add $push9=, $1, $pop8 - i32.const $push10=, -4 - i32.and $push27=, $pop9, $pop10 - tee_local $push26=, $1=, $pop27 - i32.const $push11=, 4 - i32.add $push12=, $pop26, $pop11 - i32.store $discard=, 12($7), $pop12 - i32.load $3=, 0($1) - i32.const $push25=, 11 - i32.add $push14=, $1, $pop25 - i32.const $push24=, -8 - i32.and $push23=, $pop14, $pop24 - tee_local $push22=, $1=, $pop23 - i32.const $push21=, 8 - i32.add $push15=, $pop22, $pop21 - i32.store $discard=, 12($7), $pop15 - i32.const $push20=, 0 - f64.load $push16=, 0($1) - i32.add $push13=, $3, $2 - f64.convert_s/i32 $push17=, $pop13 - f64.add $push18=, $pop16, $pop17 - i32.trunc_s/f64 $push19=, $pop18 - i32.store $discard=, x($pop20), $pop19 - i32.const $6=, 16 - i32.add $7=, $7, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 + i32.const $push20=, __stack_pointer + i32.load $push21=, 0($pop20) + i32.const $push22=, 16 + i32.sub $3=, $pop21, $pop22 + i32.const $push6=, 0 + i32.store $push0=, 12($3), $1 + i32.const $push1=, 7 + i32.add $push2=, $pop0, $pop1 + i32.const $push3=, -8 + i32.and $push19=, $pop2, $pop3 + tee_local $push18=, $1=, $pop19 + f64.load $push4=, 0($pop18) + i32.trunc_s/f64 $push5=, $pop4 + i32.store $2=, x($pop6), $pop5 + i32.const $push17=, 0 + i32.const $push9=, 19 + i32.add $push10=, $1, $pop9 + i32.const $push16=, -8 + i32.and $push11=, $pop10, $pop16 + f64.load $push12=, 0($pop11) + i32.load $push7=, 8($1):p2align=3 + i32.add $push8=, $2, $pop7 + f64.convert_s/i32 $push13=, $pop8 + f64.add $push14=, $pop12, $pop13 + i32.trunc_s/f64 $push15=, $pop14 + i32.store $discard=, x($pop17), $pop15 return .endfunc .Lfunc_end1: @@ -123,87 +78,40 @@ f1: # @f1 .type f2i,@function f2i: # @f2i .param i32 - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, f64, i32 # BB#0: # %entry - 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 $push0=, 8($7), $0 - i32.const $push1=, 3 - i32.add $push2=, $pop0, $pop1 - i32.const $push3=, -4 - i32.and $push55=, $pop2, $pop3 - tee_local $push54=, $0=, $pop55 - i32.const $push4=, 4 - i32.add $push5=, $pop54, $pop4 - i32.store $discard=, 8($7), $pop5 - i32.load $1=, 0($0) - i32.const $push6=, 7 - i32.add $push7=, $0, $pop6 - i32.const $push53=, -4 - i32.and $push52=, $pop7, $pop53 - tee_local $push51=, $0=, $pop52 - i32.const $push50=, 4 - i32.add $push8=, $pop51, $pop50 - i32.store $discard=, 8($7), $pop8 - i32.load $2=, 0($0) - i32.const $push10=, 11 - i32.add $push11=, $0, $pop10 - i32.const $push12=, -8 - i32.and $push49=, $pop11, $pop12 - tee_local $push48=, $0=, $pop49 - i32.const $push13=, 8 - i32.add $push14=, $pop48, $pop13 - i32.store $3=, 8($7), $pop14 - i32.const $push19=, 0 - i32.add $push9=, $2, $1 - f64.convert_s/i32 $push16=, $pop9 - f64.load $push15=, 0($0) - f64.add $push17=, $pop16, $pop15 - i32.trunc_s/f64 $push18=, $pop17 - i32.store $discard=, y($pop19), $pop18 - i32.store $discard=, 12($7), $3 - i32.const $push20=, 15 - i32.add $push21=, $0, $pop20 - i32.const $push47=, -8 - i32.and $push46=, $pop21, $pop47 - tee_local $push45=, $0=, $pop46 - i32.const $push44=, 8 - i32.add $push22=, $pop45, $pop44 - i32.store $discard=, 12($7), $pop22 - f64.load $push23=, 0($0) - i32.trunc_s/f64 $1=, $pop23 - i32.const $push43=, 11 - i32.add $push24=, $0, $pop43 - i32.const $push42=, -4 - i32.and $push41=, $pop24, $pop42 - tee_local $push40=, $0=, $pop41 - i32.const $push39=, 4 - i32.add $push25=, $pop40, $pop39 - i32.store $discard=, 12($7), $pop25 - i32.load $2=, 0($0) - i32.const $push38=, 11 - i32.add $push27=, $0, $pop38 - i32.const $push37=, -8 - i32.and $push36=, $pop27, $pop37 - tee_local $push35=, $0=, $pop36 - i32.const $push34=, 8 - i32.add $push28=, $pop35, $pop34 - i32.store $discard=, 12($7), $pop28 - i32.const $push33=, 0 - f64.load $push29=, 0($0) - i32.add $push26=, $2, $1 - f64.convert_s/i32 $push30=, $pop26 - f64.add $push31=, $pop29, $pop30 - i32.trunc_s/f64 $push32=, $pop31 - i32.store $discard=, x($pop33), $pop32 - i32.const $6=, 16 - i32.add $7=, $7, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 + i32.const $push1=, 0 + i32.load $push0=, 0($0) + i32.store $1=, y($pop1), $pop0 + i32.const $push4=, 15 + i32.add $push5=, $0, $pop4 + i32.const $push6=, -8 + i32.and $push26=, $pop5, $pop6 + tee_local $push25=, $3=, $pop26 + f64.load $2=, 8($pop25) + i32.const $push24=, 0 + i32.load $push2=, 4($0) + i32.add $push3=, $1, $pop2 + f64.convert_s/i32 $push8=, $pop3 + f64.load $push7=, 0($3) + f64.add $push9=, $pop8, $pop7 + i32.trunc_s/f64 $push10=, $pop9 + i32.store $discard=, y($pop24), $pop10 + i32.const $push23=, 0 + i32.trunc_s/f64 $push11=, $2 + i32.store $0=, x($pop23), $pop11 + i32.const $push22=, 0 + i32.const $push14=, 27 + i32.add $push15=, $3, $pop14 + i32.const $push21=, -8 + i32.and $push16=, $pop15, $pop21 + f64.load $push17=, 0($pop16) + i32.load $push12=, 16($3):p2align=3 + i32.add $push13=, $0, $pop12 + f64.convert_s/i32 $push18=, $pop13 + f64.add $push19=, $pop17, $pop18 + i32.trunc_s/f64 $push20=, $pop19 + i32.store $discard=, x($pop22), $pop20 return .endfunc .Lfunc_end2: @@ -215,88 +123,46 @@ f2i: # @f2i .type f2,@function f2: # @f2 .param i32, i32 - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, f64, 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.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 $push56=, $pop3, $pop4 - tee_local $push55=, $1=, $pop56 - i32.const $push5=, 4 - i32.add $push6=, $pop55, $pop5 - i32.store $discard=, 8($8), $pop6 - i32.load $2=, 0($1) - i32.const $push7=, 7 - i32.add $push8=, $1, $pop7 - i32.const $push54=, -4 - i32.and $push53=, $pop8, $pop54 - tee_local $push52=, $1=, $pop53 - i32.const $push51=, 4 - i32.add $push9=, $pop52, $pop51 - i32.store $discard=, 8($8), $pop9 - i32.load $3=, 0($1) - i32.const $push11=, 11 - i32.add $push12=, $1, $pop11 - i32.const $push13=, -8 - i32.and $push50=, $pop12, $pop13 - tee_local $push49=, $1=, $pop50 - i32.const $push14=, 8 - i32.add $push15=, $pop49, $pop14 - i32.store $4=, 8($8), $pop15 - i32.const $push20=, 0 - f64.load $push16=, 0($1) - i32.add $push10=, $3, $2 - f64.convert_s/i32 $push17=, $pop10 - f64.add $push18=, $pop16, $pop17 - i32.trunc_s/f64 $push19=, $pop18 - i32.store $discard=, y($pop20), $pop19 - i32.store $discard=, 12($8), $4 - i32.const $push21=, 15 - i32.add $push22=, $1, $pop21 - i32.const $push48=, -8 - i32.and $push47=, $pop22, $pop48 - tee_local $push46=, $1=, $pop47 - i32.const $push45=, 8 - i32.add $push23=, $pop46, $pop45 - i32.store $discard=, 12($8), $pop23 - f64.load $push24=, 0($1) - i32.trunc_s/f64 $2=, $pop24 - i32.const $push44=, 11 - i32.add $push25=, $1, $pop44 - i32.const $push43=, -4 - i32.and $push42=, $pop25, $pop43 - tee_local $push41=, $1=, $pop42 - i32.const $push40=, 4 - i32.add $push26=, $pop41, $pop40 - i32.store $discard=, 12($8), $pop26 - i32.load $3=, 0($1) - i32.const $push39=, 11 - i32.add $push28=, $1, $pop39 - i32.const $push38=, -8 - i32.and $push37=, $pop28, $pop38 - tee_local $push36=, $1=, $pop37 - i32.const $push35=, 8 - i32.add $push29=, $pop36, $pop35 - i32.store $discard=, 12($8), $pop29 - i32.const $push34=, 0 - f64.load $push30=, 0($1) - i32.add $push27=, $3, $2 - f64.convert_s/i32 $push31=, $pop27 - f64.add $push32=, $pop30, $pop31 - i32.trunc_s/f64 $push33=, $pop32 - i32.store $discard=, x($pop34), $pop33 - i32.const $7=, 16 - i32.add $8=, $8, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 + i32.const $push29=, __stack_pointer + i32.load $push30=, 0($pop29) + i32.const $push31=, 16 + i32.sub $5=, $pop30, $pop31 + i32.const $push1=, 0 + i32.store $push28=, 12($5), $1 + tee_local $push27=, $4=, $pop28 + i32.load $push0=, 0($pop27) + i32.store $2=, y($pop1), $pop0 + i32.const $push4=, 15 + i32.add $push5=, $4, $pop4 + i32.const $push6=, -8 + i32.and $push26=, $pop5, $pop6 + tee_local $push25=, $1=, $pop26 + f64.load $3=, 8($pop25) + i32.const $push24=, 0 + f64.load $push7=, 0($1) + i32.load $push2=, 4($4) + i32.add $push3=, $2, $pop2 + f64.convert_s/i32 $push8=, $pop3 + f64.add $push9=, $pop7, $pop8 + i32.trunc_s/f64 $push10=, $pop9 + i32.store $discard=, y($pop24), $pop10 + i32.const $push23=, 0 + i32.trunc_s/f64 $push11=, $3 + i32.store $4=, x($pop23), $pop11 + i32.const $push22=, 0 + i32.const $push14=, 27 + i32.add $push15=, $1, $pop14 + i32.const $push21=, -8 + i32.and $push16=, $pop15, $pop21 + f64.load $push17=, 0($pop16) + i32.load $push12=, 16($1):p2align=3 + i32.add $push13=, $4, $pop12 + f64.convert_s/i32 $push18=, $pop13 + f64.add $push19=, $pop17, $pop18 + i32.trunc_s/f64 $push20=, $pop19 + i32.store $discard=, x($pop22), $pop20 return .endfunc .Lfunc_end3: @@ -326,15 +192,15 @@ f3h: # @f3h f3: # @f3 .param i32, i32 .result i32 - .local 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 $7=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $7=, 0($5), $7 - i32.store $discard=, 12($7), $1 + i32.const $push44=, __stack_pointer + i32.load $push45=, 0($pop44) + i32.const $push46=, 16 + i32.sub $4=, $pop45, $pop46 + i32.const $push47=, __stack_pointer + i32.store $discard=, 0($pop47), $4 + i32.store $discard=, 12($4), $1 block i32.const $push0=, 4 i32.gt_u $push1=, $0, $pop0 @@ -353,129 +219,83 @@ f3: # @f3 # 2: down to label3 .LBB5_2: # %sw.bb2 end_block # label5: - i32.load $push45=, 12($7) - i32.const $push46=, 3 - i32.add $push47=, $pop45, $pop46 - i32.const $push48=, -4 - i32.and $push54=, $pop47, $pop48 - tee_local $push53=, $0=, $pop54 - i32.const $push49=, 4 - i32.add $push50=, $pop53, $pop49 - i32.store $discard=, 12($7), $pop50 - i32.load $push51=, 0($0) - i32.const $push52=, 1 - i32.add $1=, $pop51, $pop52 + i32.load $push36=, 12($4) + tee_local $push35=, $0=, $pop36 + i32.const $push31=, 4 + i32.add $push32=, $pop35, $pop31 + i32.store $discard=, 12($4), $pop32 + i32.load $push33=, 0($0) + i32.const $push34=, 1 + i32.add $1=, $pop33, $pop34 br 3 # 3: down to label1 .LBB5_3: # %sw.bb4 end_block # label4: - i32.load $push33=, 12($7) - i32.const $push34=, 3 - i32.add $push35=, $pop33, $pop34 - i32.const $push36=, -4 - i32.and $push60=, $pop35, $pop36 - tee_local $push59=, $0=, $pop60 - i32.const $push37=, 4 - i32.add $push38=, $pop59, $pop37 - i32.store $discard=, 12($7), $pop38 + i32.load $push38=, 12($4) + tee_local $push37=, $0=, $pop38 + i32.const $push24=, 4 + i32.add $push25=, $pop37, $pop24 + i32.store $discard=, 12($4), $pop25 i32.load $1=, 0($0) - i32.const $push39=, 7 - i32.add $push40=, $0, $pop39 - i32.const $push58=, -4 - i32.and $push57=, $pop40, $pop58 - tee_local $push56=, $0=, $pop57 - i32.const $push55=, 4 - i32.add $push41=, $pop56, $pop55 - i32.store $discard=, 12($7), $pop41 - i32.load $push42=, 0($0) - i32.add $push43=, $1, $pop42 - i32.const $push44=, 2 - i32.add $1=, $pop43, $pop44 + i32.const $push26=, 8 + i32.add $push27=, $0, $pop26 + i32.store $discard=, 12($4), $pop27 + i32.load $push28=, 4($0) + i32.add $push29=, $1, $pop28 + i32.const $push30=, 2 + i32.add $1=, $pop29, $pop30 br 2 # 2: down to label1 -.LBB5_4: # %sw.bb8 +.LBB5_4: # %sw.bb18 end_block # label3: - i32.load $push2=, 12($7) - i32.const $push3=, 3 - i32.add $push4=, $pop2, $pop3 - i32.const $push5=, -4 - i32.and $push89=, $pop4, $pop5 - tee_local $push88=, $0=, $pop89 - i32.const $push6=, 4 - i32.add $push7=, $pop88, $pop6 - i32.store $discard=, 12($7), $pop7 + i32.load $push43=, 12($4) + tee_local $push42=, $0=, $pop43 + i32.const $push2=, 4 + i32.add $push3=, $pop42, $pop2 + i32.store $discard=, 12($4), $pop3 i32.load $1=, 0($0) - i32.const $push8=, 7 + i32.const $push4=, 8 + i32.add $push5=, $0, $pop4 + i32.store $discard=, 12($4), $pop5 + i32.load $2=, 4($0) + i32.const $push6=, 12 + i32.add $push7=, $0, $pop6 + i32.store $discard=, 12($4), $pop7 + i32.load $3=, 8($0) + i32.const $push8=, 16 i32.add $push9=, $0, $pop8 - i32.const $push87=, -4 - i32.and $push86=, $pop9, $pop87 - tee_local $push85=, $0=, $pop86 - i32.const $push84=, 4 - i32.add $push10=, $pop85, $pop84 - i32.store $discard=, 12($7), $pop10 - i32.load $2=, 0($0) - i32.const $push83=, 7 - i32.add $push11=, $0, $pop83 - i32.const $push82=, -4 - i32.and $push81=, $pop11, $pop82 - tee_local $push80=, $0=, $pop81 - i32.const $push79=, 4 - i32.add $push12=, $pop80, $pop79 - i32.store $discard=, 12($7), $pop12 - i32.load $3=, 0($0) - i32.const $push78=, 7 - i32.add $push13=, $0, $pop78 - i32.const $push77=, -4 - i32.and $push76=, $pop13, $pop77 - tee_local $push75=, $0=, $pop76 - i32.const $push74=, 4 - i32.add $push14=, $pop75, $pop74 - i32.store $discard=, 12($7), $pop14 - i32.add $push16=, $1, $2 - i32.add $push17=, $3, $pop16 - i32.load $push15=, 0($0) - i32.add $push18=, $pop17, $pop15 - i32.const $push73=, 4 - i32.add $1=, $pop18, $pop73 + i32.store $discard=, 12($4), $pop9 + i32.add $push11=, $1, $2 + i32.add $push12=, $3, $pop11 + i32.load $push10=, 12($0) + i32.add $push13=, $pop12, $pop10 + i32.const $push41=, 4 + i32.add $1=, $pop13, $pop41 br 1 # 1: down to label1 -.LBB5_5: # %sw.bb6 +.LBB5_5: # %sw.bb10 end_block # label2: - i32.load $push19=, 12($7) - i32.const $push20=, 3 - i32.add $push21=, $pop19, $pop20 - i32.const $push22=, -4 - i32.and $push72=, $pop21, $pop22 - tee_local $push71=, $0=, $pop72 - i32.const $push23=, 4 - i32.add $push24=, $pop71, $pop23 - i32.store $discard=, 12($7), $pop24 + i32.load $push40=, 12($4) + tee_local $push39=, $0=, $pop40 + i32.const $push14=, 4 + i32.add $push15=, $pop39, $pop14 + i32.store $discard=, 12($4), $pop15 i32.load $1=, 0($0) - i32.const $push25=, 7 - i32.add $push26=, $0, $pop25 - i32.const $push70=, -4 - i32.and $push69=, $pop26, $pop70 - tee_local $push68=, $0=, $pop69 - i32.const $push67=, 4 - i32.add $push27=, $pop68, $pop67 - i32.store $discard=, 12($7), $pop27 - i32.load $2=, 0($0) - i32.const $push66=, 7 - i32.add $push28=, $0, $pop66 - i32.const $push65=, -4 - i32.and $push64=, $pop28, $pop65 - tee_local $push63=, $0=, $pop64 - i32.const $push62=, 4 - i32.add $push29=, $pop63, $pop62 - i32.store $discard=, 12($7), $pop29 - i32.add $push31=, $1, $2 - i32.load $push30=, 0($0) - i32.add $push32=, $pop31, $pop30 - i32.const $push61=, 3 - i32.add $1=, $pop32, $pop61 + i32.const $push16=, 8 + i32.add $push17=, $0, $pop16 + i32.store $discard=, 12($4), $pop17 + i32.load $2=, 4($0) + i32.const $push18=, 12 + i32.add $push19=, $0, $pop18 + i32.store $discard=, 12($4), $pop19 + i32.add $push21=, $1, $2 + i32.load $push20=, 8($0) + i32.add $push22=, $pop21, $pop20 + i32.const $push23=, 3 + i32.add $1=, $pop22, $pop23 .LBB5_6: # %sw.epilog end_block # label1: - i32.const $6=, 16 - i32.add $7=, $7, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 + i32.const $push48=, 16 + i32.add $4=, $4, $pop48 + i32.const $push49=, __stack_pointer + i32.store $discard=, 0($pop49), $4 return $1 .LBB5_7: # %sw.default end_block # label0: @@ -491,108 +311,85 @@ f3: # @f3 .type f4,@function f4: # @f4 .param i32, i32 - .local i32, f64, i32, i32, i32, i32 + .local f64, f64, i32 # BB#0: # %entry - 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=, 8($7), $1 + i32.const $push46=, __stack_pointer + i32.load $push47=, 0($pop46) + i32.const $push48=, 16 + i32.sub $4=, $pop47, $pop48 + i32.const $push49=, __stack_pointer + i32.store $discard=, 0($pop49), $4 + i32.store $discard=, 12($4), $1 block block block - i32.const $push0=, 5 - i32.eq $push1=, $0, $pop0 - br_if 0, $pop1 # 0: down to label8 + i32.const $push2=, 5 + i32.eq $push3=, $0, $pop2 + br_if 0, $pop3 # 0: down to label8 # BB#1: # %entry - i32.const $push2=, 4 - i32.ne $push3=, $0, $pop2 - br_if 2, $pop3 # 2: down to label6 + i32.const $push4=, 4 + i32.ne $push5=, $0, $pop4 + br_if 2, $pop5 # 2: down to label6 # BB#2: # %sw.bb - i32.load $push18=, 8($7) - i32.const $push19=, 7 - i32.add $push20=, $pop18, $pop19 - i32.const $push21=, -8 - i32.and $push46=, $pop20, $pop21 - tee_local $push45=, $0=, $pop46 - i32.const $push22=, 8 - i32.add $push23=, $pop45, $pop22 - i32.store $discard=, 8($7), $pop23 - f64.load $3=, 0($0) + i32.load $push17=, 12($4) + i32.const $push18=, 7 + i32.add $push19=, $pop17, $pop18 + i32.const $push20=, -8 + i32.and $push38=, $pop19, $pop20 + tee_local $push37=, $0=, $pop38 + f64.load $3=, 0($pop37) + i32.const $push21=, 8 + i32.add $push0=, $0, $pop21 + i32.store $0=, 12($4), $pop0 br 1 # 1: down to label7 .LBB6_3: # %sw.bb2 end_block # label8: - i32.load $push4=, 8($7) - i32.const $push5=, 7 - i32.add $push6=, $pop4, $pop5 - i32.const $push7=, -8 - i32.and $push52=, $pop6, $pop7 - tee_local $push51=, $0=, $pop52 - i32.const $push8=, 8 - i32.add $push9=, $pop51, $pop8 - i32.store $discard=, 8($7), $pop9 + i32.load $push6=, 12($4) + i32.const $push7=, 7 + i32.add $push8=, $pop6, $pop7 + i32.const $push9=, -8 + i32.and $push40=, $pop8, $pop9 + tee_local $push39=, $0=, $pop40 + f64.load $push15=, 8($pop39) i32.const $push12=, 0 f64.load $push10=, 0($0) i32.trunc_s/f64 $push11=, $pop10 - i32.store $1=, y($pop12), $pop11 - i32.const $push13=, 15 - i32.add $push14=, $0, $pop13 - i32.const $push50=, -8 - i32.and $push49=, $pop14, $pop50 - tee_local $push48=, $0=, $pop49 - i32.const $push47=, 8 - i32.add $push15=, $pop48, $pop47 - i32.store $discard=, 8($7), $pop15 - f64.convert_s/i32 $push17=, $1 - f64.load $push16=, 0($0) - f64.add $3=, $pop17, $pop16 + i32.store $push13=, y($pop12), $pop11 + f64.convert_s/i32 $push16=, $pop13 + f64.add $3=, $pop15, $pop16 + i32.const $push14=, 16 + i32.add $push1=, $0, $pop14 + i32.store $0=, 12($4), $pop1 .LBB6_4: # %sw.epilog end_block # label7: - i32.load $0=, 8($7) - i32.const $push25=, 0 - i32.trunc_s/f64 $push24=, $3 - i32.store $discard=, y($pop25), $pop24 - i32.store $push26=, 12($7), $0 - i32.const $push27=, 7 - i32.add $push28=, $pop26, $pop27 - i32.const $push29=, -8 - i32.and $push62=, $pop28, $pop29 - tee_local $push61=, $0=, $pop62 - i32.const $push30=, 8 - i32.add $push31=, $pop61, $pop30 - i32.store $discard=, 12($7), $pop31 - f64.load $push32=, 0($0) - i32.trunc_s/f64 $1=, $pop32 - i32.const $push33=, 11 - i32.add $push34=, $0, $pop33 - i32.const $push35=, -4 - i32.and $push60=, $pop34, $pop35 - tee_local $push59=, $0=, $pop60 - i32.const $push36=, 4 - i32.add $push37=, $pop59, $pop36 - i32.store $discard=, 12($7), $pop37 - i32.load $2=, 0($0) - i32.const $push58=, 11 - i32.add $push39=, $0, $pop58 - i32.const $push57=, -8 - i32.and $push56=, $pop39, $pop57 - tee_local $push55=, $0=, $pop56 - i32.const $push54=, 8 - i32.add $push40=, $pop55, $pop54 - i32.store $discard=, 12($7), $pop40 - i32.const $push53=, 0 - f64.load $push41=, 0($0) - i32.add $push38=, $2, $1 - f64.convert_s/i32 $push42=, $pop38 - f64.add $push43=, $pop41, $pop42 - i32.trunc_s/f64 $push44=, $pop43 - i32.store $discard=, x($pop53), $pop44 - i32.const $6=, 16 - i32.add $7=, $7, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 + i32.const $push24=, 7 + i32.add $push25=, $0, $pop24 + i32.const $push26=, -8 + i32.and $push45=, $pop25, $pop26 + tee_local $push44=, $0=, $pop45 + f64.load $2=, 0($pop44) + i32.const $push23=, 0 + i32.trunc_s/f64 $push22=, $3 + i32.store $discard=, y($pop23), $pop22 + i32.const $push43=, 0 + i32.trunc_s/f64 $push27=, $2 + i32.store $1=, x($pop43), $pop27 + i32.const $push42=, 0 + i32.const $push30=, 19 + i32.add $push31=, $0, $pop30 + i32.const $push41=, -8 + i32.and $push32=, $pop31, $pop41 + f64.load $push33=, 0($pop32) + i32.load $push28=, 8($0):p2align=3 + i32.add $push29=, $1, $pop28 + f64.convert_s/i32 $push34=, $pop29 + f64.add $push35=, $pop33, $pop34 + i32.trunc_s/f64 $push36=, $pop35 + i32.store $discard=, x($pop42), $pop36 + i32.const $push50=, 16 + i32.add $4=, $4, $pop50 + i32.const $push51=, __stack_pointer + i32.store $discard=, 0($pop51), $4 return .LBB6_5: # %sw.default end_block # label6: @@ -608,209 +405,187 @@ 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 + .local i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 224 - i32.sub $23=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $23=, 0($3), $23 - i32.const $push87=, 16 - i32.const $5=, 192 - i32.add $5=, $23, $5 - i32.add $push0=, $5, $pop87 + i32.const $push90=, __stack_pointer + i32.load $push91=, 0($pop90) + i32.const $push92=, 224 + i32.sub $15=, $pop91, $pop92 + i32.const $push93=, __stack_pointer + i32.store $discard=, 0($pop93), $15 + i32.const $push78=, 16 + i32.const $2=, 192 + i32.add $2=, $15, $2 + i32.add $push0=, $2, $pop78 i64.const $push1=, 4629700416936869888 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 + i32.const $push2=, 128 + i32.store $discard=, 200($15):p2align=3, $pop2 + i64.const $push3=, 4625196817309499392 + i64.store $discard=, 192($15):p2align=4, $pop3 + i32.const $3=, 192 + i32.add $3=, $15, $3 + call f1@FUNCTION, $0, $3 block - 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 + i32.const $push77=, 0 + i32.load $push4=, x($pop77) + i32.const $push5=, 176 + i32.ne $push6=, $pop4, $pop5 + br_if 0, $pop6 # 0: down to label9 # BB#1: # %if.end - 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 - 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 label9 + i32.const $push8=, 32 + i32.const $4=, 144 + i32.add $4=, $15, $4 + i32.add $push9=, $4, $pop8 + i64.const $push10=, 4634204016564240384 + i64.store $discard=, 0($pop9):p2align=4, $pop10 + i32.const $push11=, 24 + i32.const $5=, 144 + i32.add $5=, $15, $5 + i32.add $push12=, $5, $pop11 + i32.const $push13=, 17 + i32.store $discard=, 0($pop12):p2align=3, $pop13 + i32.const $push80=, 16 + i32.const $6=, 144 + i32.add $6=, $15, $6 + i32.add $push14=, $6, $pop80 + i64.const $push15=, 4626041242239631360 + i64.store $discard=, 0($pop14):p2align=4, $pop15 + i64.const $push16=, 4625759767262920704 + i64.store $discard=, 152($15), $pop16 + i64.const $push17=, 30064771077 + i64.store $discard=, 144($15):p2align=4, $pop17 + i32.const $7=, 144 + i32.add $7=, $15, $7 + call f2@FUNCTION, $0, $7 + i32.const $push79=, 0 + i32.load $push18=, x($pop79) + i32.const $push19=, 100 + i32.ne $push20=, $pop18, $pop19 + br_if 0, $pop20 # 0: down to label9 # BB#2: # %if.end - 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 label9 + i32.const $push81=, 0 + i32.load $push7=, y($pop81) + i32.const $push21=, 30 + i32.ne $push22=, $pop7, $pop21 + br_if 0, $pop22 # 0: down to label9 # BB#3: # %if.end4 - i32.const $push25=, 0 - i32.const $push92=, 0 - i32.call $push26=, f3@FUNCTION, $pop25, $pop92 - br_if 0, $pop26 # 0: down to label9 + i32.const $push23=, 0 + i32.const $push82=, 0 + i32.call $push24=, f3@FUNCTION, $pop23, $pop82 + br_if 0, $pop24 # 0: down to label9 # BB#4: # %if.end7 - 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 - i32.call $push29=, f3@FUNCTION, $pop28, $13 - i32.const $push30=, 19 - i32.ne $push31=, $pop29, $pop30 - br_if 0, $pop31 # 0: down to label9 + i32.const $push25=, 18 + i32.store $discard=, 128($15):p2align=4, $pop25 + i32.const $push26=, 1 + i32.const $8=, 128 + i32.add $8=, $15, $8 + i32.call $push27=, f3@FUNCTION, $pop26, $8 + i32.const $push28=, 19 + i32.ne $push29=, $pop27, $pop28 + br_if 0, $pop29 # 0: down to label9 # BB#5: # %if.end11 - 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 - i32.call $push34=, f3@FUNCTION, $pop33, $14 - i32.const $push35=, 120 - i32.ne $push36=, $pop34, $pop35 - br_if 0, $pop36 # 0: down to label9 + i64.const $push30=, 429496729618 + i64.store $1=, 112($15):p2align=4, $pop30 + i32.const $push31=, 2 + i32.const $9=, 112 + i32.add $9=, $15, $9 + i32.call $push32=, f3@FUNCTION, $pop31, $9 + i32.const $push33=, 120 + i32.ne $push34=, $pop32, $pop33 + br_if 0, $pop34 # 0: down to label9 # BB#6: # %if.end15 - 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 - i32.call $push40=, f3@FUNCTION, $pop39, $16 - i32.const $push41=, 421 - i32.ne $push42=, $pop40, $pop41 - br_if 0, $pop42 # 0: down to label9 + i32.const $push35=, 300 + i32.store $discard=, 104($15):p2align=3, $pop35 + i64.store $discard=, 96($15):p2align=4, $1 + i32.const $push36=, 3 + i32.const $10=, 96 + i32.add $10=, $15, $10 + i32.call $push37=, f3@FUNCTION, $pop36, $10 + i32.const $push38=, 421 + i32.ne $push39=, $pop37, $pop38 + br_if 0, $pop39 # 0: down to label9 # BB#7: # %if.end19 - 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 - i32.call $push46=, f3@FUNCTION, $pop94, $18 - i32.const $push47=, 243 - i32.ne $push48=, $pop46, $pop47 - br_if 0, $pop48 # 0: down to label9 + i64.const $push40=, 369367187520 + i64.store $discard=, 88($15), $pop40 + i64.const $push41=, 304942678034 + i64.store $discard=, 80($15):p2align=4, $pop41 + i32.const $push83=, 4 + i32.const $11=, 80 + i32.add $11=, $15, $11 + i32.call $push42=, f3@FUNCTION, $pop83, $11 + i32.const $push43=, 243 + i32.ne $push44=, $pop42, $pop43 + br_if 0, $pop44 # 0: down to label9 # BB#8: # %if.end23 - 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 - 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 label9 + i32.const $push46=, 24 + i32.const $12=, 48 + i32.add $12=, $15, $12 + i32.add $push47=, $12, $pop46 + i64.const $push48=, 4625759767262920704 + i64.store $discard=, 0($pop47), $pop48 + i32.const $push49=, 16 + i32.const $13=, 48 + i32.add $13=, $15, $13 + i32.add $push50=, $13, $pop49 + i32.const $push86=, 16 + i32.store $discard=, 0($pop50):p2align=4, $pop86 + i64.const $push51=, 4621256167635550208 + i64.store $discard=, 56($15), $pop51 + i64.const $push52=, 4618441417868443648 + i64.store $discard=, 48($15):p2align=4, $pop52 + i32.const $push85=, 4 + i32.const $14=, 48 + i32.add $14=, $15, $14 + call f4@FUNCTION, $pop85, $14 + i32.const $push84=, 0 + i32.load $push53=, x($pop84) + i32.const $push54=, 43 + i32.ne $push55=, $pop53, $pop54 + br_if 0, $pop55 # 0: down to label9 # BB#9: # %if.end23 - 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 label9 + i32.const $push87=, 0 + i32.load $push45=, y($pop87) + i32.const $push56=, 6 + i32.ne $push57=, $pop45, $pop56 + br_if 0, $pop57 # 0: down to label9 # BB#10: # %if.end28 - i32.const $push65=, 32 - i32.add $push66=, $23, $pop65 - i64.const $push67=, 4638566878703255552 + i32.const $push59=, 32 + i32.add $push60=, $15, $pop59 + i64.const $push61=, 4638566878703255552 + i64.store $discard=, 0($pop60):p2align=4, $pop61 + i32.const $push62=, 24 + i32.add $push63=, $15, $pop62 + i32.const $push64=, 17 + i32.store $discard=, 0($pop63):p2align=3, $pop64 + i32.const $push65=, 16 + i32.add $push66=, $15, $pop65 + i64.const $push67=, 4607182418800017408 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 - 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 label9 + i64.const $push68=, 4626604192193052672 + i64.store $discard=, 8($15), $pop68 + i64.const $push69=, 4619567317775286272 + i64.store $discard=, 0($15):p2align=4, $pop69 + i32.const $push70=, 5 + call f4@FUNCTION, $pop70, $15 + i32.const $push88=, 0 + i32.load $push71=, x($pop88) + i32.const $push72=, 144 + i32.ne $push73=, $pop71, $pop72 + br_if 0, $pop73 # 0: down to label9 # BB#11: # %if.end28 - 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 label9 + i32.const $push89=, 0 + i32.load $push58=, y($pop89) + i32.const $push74=, 28 + i32.ne $push75=, $pop58, $pop74 + br_if 0, $pop75 # 0: down to label9 # BB#12: # %if.end33 - 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 + i32.const $push76=, 0 + i32.const $push94=, 224 + i32.add $15=, $15, $pop94 + i32.const $push95=, __stack_pointer + i32.store $discard=, 0($pop95), $15 + return $pop76 .LBB7_13: # %if.then32 end_block # label9: call abort@FUNCTION diff --git a/test/torture-s/strct-stdarg-1.c.s b/test/torture-s/strct-stdarg-1.c.s new file mode 100644 index 000000000..3a2d06907 --- /dev/null +++ b/test/torture-s/strct-stdarg-1.c.s @@ -0,0 +1,225 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/strct-stdarg-1.c" + .section .text.f,"ax",@progbits + .hidden f + .globl f + .type f,@function +f: # @f + .param i32, i32 + .result i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push41=, __stack_pointer + i32.load $push42=, 0($pop41) + i32.const $push43=, 16 + i32.sub $4=, $pop42, $pop43 + i32.const $push44=, __stack_pointer + i32.store $discard=, 0($pop44), $4 + i32.store $2=, 12($4), $1 + block + block + block + i32.const $push27=, 1 + i32.lt_s $push3=, $0, $pop27 + br_if 0, $pop3 # 0: down to label2 +# BB#1: # %for.body.preheader + i32.const $push28=, 8 + i32.add $3=, $2, $pop28 + i32.const $1=, 0 +.LBB0_2: # %for.body + # =>This Inner Loop Header: Depth=1 + loop # label3: + i32.store $2=, 12($4), $3 + i32.const $push32=, 10 + i32.add $push9=, $1, $pop32 + i32.const $push31=, -8 + i32.add $push4=, $2, $pop31 + i32.load8_s $push8=, 0($pop4) + i32.ne $push10=, $pop9, $pop8 + br_if 3, $pop10 # 3: down to label1 +# BB#3: # %if.end + # in Loop: Header=BB0_2 Depth=1 + i32.const $push34=, 20 + i32.add $push13=, $1, $pop34 + i32.const $push33=, -7 + i32.add $push11=, $2, $pop33 + i32.load8_s $push12=, 0($pop11) + i32.ne $push14=, $pop13, $pop12 + br_if 3, $pop14 # 3: down to label1 +# BB#4: # %if.end9 + # in Loop: Header=BB0_2 Depth=1 + i32.const $push36=, 30 + i32.add $push15=, $1, $pop36 + i32.const $push35=, -6 + i32.add $push5=, $2, $pop35 + i32.load8_s $push0=, 0($pop5) + i32.ne $push16=, $pop15, $pop0 + br_if 3, $pop16 # 3: down to label1 +# BB#5: # %if.end15 + # in Loop: Header=BB0_2 Depth=1 + i32.const $push38=, 40 + i32.add $push17=, $1, $pop38 + i32.const $push37=, -5 + i32.add $push6=, $2, $pop37 + i32.load8_s $push1=, 0($pop6) + i32.ne $push18=, $pop17, $pop1 + br_if 3, $pop18 # 3: down to label1 +# BB#6: # %if.end21 + # in Loop: Header=BB0_2 Depth=1 + i32.const $push40=, 50 + i32.add $push19=, $1, $pop40 + i32.const $push39=, -4 + i32.add $push7=, $2, $pop39 + i32.load8_s $push2=, 0($pop7) + i32.ne $push20=, $pop19, $pop2 + br_if 4, $pop20 # 4: down to label0 +# BB#7: # %for.cond + # in Loop: Header=BB0_2 Depth=1 + i32.const $push30=, 1 + i32.add $1=, $1, $pop30 + i32.const $push29=, 8 + i32.add $3=, $2, $pop29 + i32.lt_s $push21=, $1, $0 + br_if 0, $pop21 # 0: up to label3 +.LBB0_8: # %for.end + end_loop # label4: + end_block # label2: + i32.const $push22=, 4 + i32.add $push23=, $2, $pop22 + i32.store $discard=, 12($4), $pop23 + i32.load $push24=, 0($2) + i32.const $push25=, 123 + i32.ne $push26=, $pop24, $pop25 + br_if 0, $pop26 # 0: down to label1 +# BB#9: # %if.end34 + i32.const $push45=, 16 + i32.add $4=, $4, $pop45 + i32.const $push46=, __stack_pointer + i32.store $discard=, 0($pop46), $4 + return $1 +.LBB0_10: # %if.then33 + end_block # label1: + call abort@FUNCTION + unreachable +.LBB0_11: # %if.then26 + end_block # label0: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end0: + .size f, .Lfunc_end0-f + + .section .text.main,"ax",@progbits + .hidden main + .globl main + .type main,@function +main: # @main + .result i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push44=, __stack_pointer + i32.load $push45=, 0($pop44) + i32.const $push46=, 64 + i32.sub $14=, $pop45, $pop46 + i32.const $push47=, __stack_pointer + i32.store $discard=, 0($pop47), $14 + i32.const $push1=, 11 + i32.store8 $push2=, 53($14), $pop1 + i32.const $2=, 48 + i32.add $2=, $14, $2 + i32.add $push7=, $2, $pop2 + i32.const $push8=, 22 + i32.store8 $discard=, 0($pop7), $pop8 + i32.const $push3=, 12 + i32.store8 $push4=, 58($14):p2align=1, $pop3 + i32.const $3=, 48 + i32.add $3=, $14, $3 + i32.add $push11=, $3, $pop4 + i32.const $push12=, 32 + i32.store8 $discard=, 0($pop11):p2align=2, $pop12 + i32.const $push14=, 8 + i32.const $4=, 48 + i32.add $4=, $14, $4 + i32.add $push15=, $4, $pop14 + i32.const $push16=, 41 + i32.store8 $discard=, 0($pop15):p2align=3, $pop16 + i32.const $push17=, 13 + i32.const $5=, 48 + i32.add $5=, $14, $5 + i32.add $push18=, $5, $pop17 + i32.const $push19=, 42 + i32.store8 $discard=, 0($pop18), $pop19 + i32.const $push0=, 10 + i32.store8 $discard=, 48($14):p2align=3, $pop0 + i32.const $push5=, 20 + i32.store8 $discard=, 49($14), $pop5 + i32.const $push6=, 21 + i32.store8 $discard=, 54($14):p2align=1, $pop6 + i32.const $push9=, 30 + i32.store8 $discard=, 50($14):p2align=1, $pop9 + i32.const $push10=, 31 + i32.store8 $discard=, 55($14), $pop10 + i32.const $push13=, 40 + i32.store8 $discard=, 51($14), $pop13 + i32.const $push20=, 50 + i32.store8 $discard=, 52($14):p2align=2, $pop20 + i32.const $push21=, 9 + i32.const $6=, 48 + i32.add $6=, $14, $6 + i32.add $push43=, $6, $pop21 + tee_local $push42=, $1=, $pop43 + i32.const $push22=, 51 + i32.store8 $discard=, 0($pop42), $pop22 + i32.const $push23=, 14 + i32.const $7=, 48 + i32.add $7=, $14, $7 + i32.add $push41=, $7, $pop23 + tee_local $push40=, $0=, $pop41 + i32.const $push24=, 52 + i32.store8 $discard=, 0($pop40):p2align=1, $pop24 + i32.const $push25=, 4 + i32.const $8=, 40 + i32.add $8=, $14, $8 + i32.add $push26=, $8, $pop25 + i32.load8_u $push27=, 52($14):p2align=2 + i32.store8 $discard=, 0($pop26):p2align=2, $pop27 + i32.load $push28=, 48($14):p2align=3 + i32.store $discard=, 40($14), $pop28 + i32.const $push39=, 4 + i32.const $9=, 32 + i32.add $9=, $14, $9 + i32.add $push29=, $9, $pop39 + i32.load8_u $push30=, 0($1) + i32.store8 $discard=, 0($pop29):p2align=2, $pop30 + i32.load $push31=, 53($14):p2align=0 + i32.store $discard=, 32($14), $pop31 + i32.const $push38=, 4 + i32.const $10=, 24 + i32.add $10=, $14, $10 + i32.add $push32=, $10, $pop38 + i32.load8_u $push33=, 0($0):p2align=1 + i32.store8 $discard=, 0($pop32):p2align=2, $pop33 + i32.load $push34=, 58($14):p2align=1 + i32.store $discard=, 24($14), $pop34 + i32.const $push35=, 123 + i32.store $discard=, 12($14), $pop35 + i32.const $11=, 24 + i32.add $11=, $14, $11 + i32.store $discard=, 8($14):p2align=3, $11 + i32.const $12=, 32 + i32.add $12=, $14, $12 + i32.store $discard=, 4($14), $12 + i32.const $13=, 40 + i32.add $13=, $14, $13 + i32.store $discard=, 0($14):p2align=4, $13 + i32.const $push36=, 3 + i32.call $discard=, f@FUNCTION, $pop36, $14 + i32.const $push37=, 0 + call exit@FUNCTION, $pop37 + unreachable + .endfunc +.Lfunc_end1: + .size main, .Lfunc_end1-main + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/strct-varg-1.c.s b/test/torture-s/strct-varg-1.c.s new file mode 100644 index 000000000..fcfe12eb8 --- /dev/null +++ b/test/torture-s/strct-varg-1.c.s @@ -0,0 +1,115 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.c" + .section .text.f,"ax",@progbits + .hidden f + .globl f + .type f,@function +f: # @f + .param i32, i32 + .result i32 + .local i32 +# BB#0: # %entry + i32.const $push27=, __stack_pointer + i32.load $push28=, 0($pop27) + i32.const $push29=, 16 + i32.sub $2=, $pop28, $pop29 + i32.const $push30=, __stack_pointer + i32.store $discard=, 0($pop30), $2 + i32.store $discard=, 12($2), $1 + block + i32.const $push0=, 2 + i32.ne $push1=, $0, $pop0 + br_if 0, $pop1 # 0: down to label0 +# BB#1: # %if.end + i32.load $push26=, 12($2) + tee_local $push25=, $1=, $pop26 + i32.const $push2=, 8 + i32.add $push3=, $pop25, $pop2 + i32.store $discard=, 12($2), $pop3 + i32.load $push4=, 0($1) + i32.const $push5=, 43690 + i32.ne $push6=, $pop4, $pop5 + br_if 0, $pop6 # 0: down to label0 +# BB#2: # %lor.lhs.false + i32.load $push7=, 4($1) + i32.const $push8=, 21845 + i32.ne $push9=, $pop7, $pop8 + br_if 0, $pop9 # 0: down to label0 +# BB#3: # %if.end5 + i32.const $push10=, 12 + i32.add $push11=, $1, $pop10 + i32.store $0=, 12($2), $pop11 + i32.const $push12=, 8 + i32.add $push13=, $1, $pop12 + i32.load $push14=, 0($pop13) + i32.const $push15=, 3 + i32.ne $push16=, $pop14, $pop15 + br_if 0, $pop16 # 0: down to label0 +# BB#4: # %if.end10 + i32.const $push17=, 20 + i32.add $push18=, $1, $pop17 + i32.store $discard=, 12($2), $pop18 + i32.load $push19=, 0($0) + i32.const $push20=, 65535 + i32.ne $push21=, $pop19, $pop20 + br_if 0, $pop21 # 0: down to label0 +# BB#5: # %lor.lhs.false15 + i32.load $push22=, 16($1) + i32.const $push23=, 4369 + i32.ne $push24=, $pop22, $pop23 + br_if 0, $pop24 # 0: down to label0 +# BB#6: # %if.end19 + i32.const $push31=, 16 + i32.add $2=, $2, $pop31 + i32.const $push32=, __stack_pointer + i32.store $discard=, 0($pop32), $2 + return $1 +.LBB0_7: # %if.then18 + end_block # label0: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end0: + .size f, .Lfunc_end0-f + + .section .text.main,"ax",@progbits + .hidden main + .globl main + .type main,@function +main: # @main + .result i32 + .local i32, i32, i32 +# BB#0: # %entry + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 48 + i32.sub $2=, $pop8, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $2 + i64.const $push0=, 93823560624810 + i64.store $discard=, 40($2), $pop0 + i64.const $push1=, 18764712181759 + i64.store $discard=, 32($2), $pop1 + i64.load $push2=, 40($2) + i64.store $discard=, 24($2):p2align=2, $pop2 + i64.load $push3=, 32($2) + i64.store $discard=, 16($2):p2align=2, $pop3 + i32.const $push4=, 3 + i32.store $discard=, 4($2), $pop4 + i32.const $0=, 16 + i32.add $0=, $2, $0 + i32.store $discard=, 8($2):p2align=3, $0 + i32.const $1=, 24 + i32.add $1=, $2, $1 + i32.store $discard=, 0($2):p2align=4, $1 + i32.const $push5=, 2 + i32.call $discard=, f@FUNCTION, $pop5, $2 + i32.const $push6=, 0 + call exit@FUNCTION, $pop6 + unreachable + .endfunc +.Lfunc_end1: + .size main, .Lfunc_end1-main + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/string-opt-17.c.s b/test/torture-s/string-opt-17.c.s index 643c5c5e3..4721e2547 100644 --- a/test/torture-s/string-opt-17.c.s +++ b/test/torture-s/string-opt-17.c.s @@ -78,50 +78,46 @@ test2: # @test2 .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %lor.lhs.false - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $4=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $4=, 0($1), $4 - i32.const $push1=, 2 - i32.const $2=, 4 - i32.add $2=, $4, $2 - i32.or $push2=, $2, $pop1 - i32.const $push14=, 0 - i32.load8_u $push0=, .L.str+9($pop14) - i32.store8 $discard=, 0($pop2):p2align=1, $pop0 - i32.const $push13=, 0 - i32.load16_u $push3=, .L.str+7($pop13):p2align=0 - i32.store16 $discard=, 4($4):p2align=2, $pop3 - i32.const $push4=, .L.str.1 - i32.const $push5=, 3 - i32.const $3=, 4 - i32.add $3=, $4, $3 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $1=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $1 + i32.const $push12=, 0 + i32.load8_u $push0=, .L.str+9($pop12) + i32.store8 $discard=, 6($1):p2align=1, $pop0 + i32.const $push11=, 0 + i32.load16_u $push1=, .L.str+7($pop11):p2align=0 + i32.store16 $discard=, 4($1):p2align=2, $pop1 + i32.const $push2=, .L.str.1 + i32.const $push3=, 3 + i32.const $0=, 4 + i32.add $0=, $1, $0 block - i32.call $push6=, memcmp@FUNCTION, $3, $pop4, $pop5 - br_if 0, $pop6 # 0: down to label2 + i32.call $push4=, memcmp@FUNCTION, $0, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label2 # BB#1: # %if.end - i32.const $push15=, 0 - i32.load $push7=, check2.r($pop15) - i32.const $push8=, 5 - i32.ne $push9=, $pop7, $pop8 - br_if 0, $pop9 # 0: down to label2 + i32.const $push13=, 0 + i32.load $push5=, check2.r($pop13) + i32.const $push6=, 5 + i32.ne $push7=, $pop5, $pop6 + br_if 0, $pop7 # 0: down to label2 # BB#2: # %test2.exit - i32.const $push16=, 0 - i32.const $push10=, 6 - i32.store $discard=, check2.r($pop16), $pop10 - i32.const $push11=, 8020322 - i32.store $discard=, 4($4), $pop11 - i32.const $push12=, 1 - i32.const $push18=, 0 - i32.eq $push19=, $pop12, $pop18 - br_if 0, $pop19 # 0: down to label2 + i32.const $push14=, 0 + i32.const $push8=, 6 + i32.store $discard=, check2.r($pop14), $pop8 + i32.const $push9=, 8020322 + i32.store $discard=, 4($1), $pop9 + i32.const $push10=, 1 + i32.const $push20=, 0 + i32.eq $push21=, $pop10, $pop20 + br_if 0, $pop21 # 0: down to label2 # BB#3: # %if.end8 - i32.const $push17=, 0 - call exit@FUNCTION, $pop17 + i32.const $push15=, 0 + call exit@FUNCTION, $pop15 unreachable .LBB3_4: # %if.then7 end_block # label2: diff --git a/test/torture-s/string-opt-18.c.s b/test/torture-s/string-opt-18.c.s index 04c3994c5..8bf46e384 100644 --- a/test/torture-s/string-opt-18.c.s +++ b/test/torture-s/string-opt-18.c.s @@ -102,33 +102,33 @@ test7: # @test7 .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $6=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $6=, 0($1), $6 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 16 + i32.sub $3=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $3 i32.const $push0=, 8 - i32.const $3=, 6 - i32.add $3=, $6, $3 - i32.const $4=, 6 - i32.add $4=, $6, $4 - i32.call $push1=, mempcpy@FUNCTION, $3, $4, $pop0 + i32.const $0=, 6 + i32.add $0=, $3, $0 + i32.const $1=, 6 + i32.add $1=, $3, $1 + i32.call $push1=, mempcpy@FUNCTION, $0, $1, $pop0 i32.const $push5=, 8 - i32.const $5=, 6 - i32.add $5=, $6, $5 + i32.const $2=, 6 + i32.add $2=, $3, $2 block - i32.add $push2=, $5, $pop5 + i32.add $push2=, $2, $pop5 i32.ne $push3=, $pop1, $pop2 br_if 0, $pop3 # 0: down to label1 # BB#1: # %test2.exit i32.const $push4=, 0 - i32.const $2=, 16 - i32.add $6=, $6, $2 - i32.const $2=, __stack_pointer - i32.store $6=, 0($2), $6 + i32.const $push10=, 16 + i32.add $3=, $3, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $3 return $pop4 .LBB7_2: # %if.then.i end_block # label1: diff --git a/test/torture-s/string-opt-5.c.s b/test/torture-s/string-opt-5.c.s index e6166dfb6..ca10b6fa9 100644 --- a/test/torture-s/string-opt-5.c.s +++ b/test/torture-s/string-opt-5.c.s @@ -6,33 +6,33 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, 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=, 64 - i32.sub $7=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $7=, 0($5), $7 + i32.const $push175=, __stack_pointer + i32.load $push176=, 0($pop175) + i32.const $push177=, 64 + i32.sub $4=, $pop176, $pop177 + i32.const $push178=, __stack_pointer + i32.store $discard=, 0($pop178), $4 block - i32.const $push138=, 0 - i32.load $push137=, bar($pop138) - tee_local $push136=, $1=, $pop137 - i32.call $push5=, strlen@FUNCTION, $pop136 + i32.const $push134=, 0 + i32.load $push133=, bar($pop134) + tee_local $push132=, $1=, $pop133 + i32.call $push5=, strlen@FUNCTION, $pop132 i32.const $push6=, 8 i32.ne $push7=, $pop5, $pop6 br_if 0, $pop7 # 0: down to label0 # BB#1: # %if.end - i32.const $push144=, 0 - i32.const $push143=, 0 - i32.load $push142=, x($pop143) - tee_local $push141=, $3=, $pop142 + i32.const $push140=, 0 + i32.const $push139=, 0 + i32.load $push138=, x($pop139) + tee_local $push137=, $3=, $pop138 i32.const $push8=, 1 - i32.add $push0=, $pop141, $pop8 - i32.store $push140=, x($pop144), $pop0 - tee_local $push139=, $2=, $pop140 + i32.add $push0=, $pop137, $pop8 + i32.store $push136=, x($pop140), $pop0 + tee_local $push135=, $2=, $pop136 i32.const $push9=, 2 - i32.and $push10=, $pop139, $pop9 + i32.and $push10=, $pop135, $pop9 i32.add $push11=, $1, $pop10 i32.call $push12=, strlen@FUNCTION, $pop11 i32.const $push13=, 6 @@ -43,10 +43,10 @@ main: # @main i32.ne $push16=, $2, $pop15 br_if 0, $pop16 # 0: down to label0 # BB#3: # %if.end16 - i32.const $push145=, 0 + i32.const $push141=, 0 i32.const $push17=, 3 i32.add $push18=, $3, $pop17 - i32.store $push19=, x($pop145), $pop18 + i32.store $push19=, x($pop141), $pop18 i32.const $push20=, 1 i32.and $push21=, $pop19, $pop20 i32.const $push22=, .L.str.1 @@ -56,33 +56,33 @@ main: # @main i32.ne $push26=, $pop24, $pop25 br_if 0, $pop26 # 0: down to label0 # BB#4: # %if.end26 - i32.const $push146=, 0 + i32.const $push142=, 0 i32.const $push27=, -3 i32.add $push1=, $3, $pop27 - i32.store $2=, x($pop146), $pop1 + i32.store $2=, x($pop142), $pop1 i32.const $push28=, .L.str.1-3 i32.add $push29=, $3, $pop28 i32.const $push30=, .L.str.2 i32.call $push31=, strcmp@FUNCTION, $pop29, $pop30 br_if 0, $pop31 # 0: down to label0 # BB#5: # %if.end33 - i32.const $push148=, .L.str.1 - i32.call $push32=, strcmp@FUNCTION, $pop148, $1 - i32.const $push147=, 0 - i32.ge_s $push33=, $pop32, $pop147 + i32.const $push144=, .L.str.1 + i32.call $push32=, strcmp@FUNCTION, $pop144, $1 + i32.const $push143=, 0 + i32.ge_s $push33=, $pop32, $pop143 br_if 0, $pop33 # 0: down to label0 # BB#6: # %if.end37 - i32.const $push151=, 0 + i32.const $push147=, 0 i32.const $push34=, -2 i32.add $push2=, $3, $pop34 - i32.store $0=, x($pop151), $pop2 - i32.const $push150=, .L.str.1 + i32.store $0=, x($pop147), $pop2 + i32.const $push146=, .L.str.1 i32.const $push35=, 1 i32.and $push36=, $2, $pop35 i32.add $push37=, $1, $pop36 - i32.call $push38=, strcmp@FUNCTION, $pop150, $pop37 - i32.const $push149=, 0 - i32.ge_s $push39=, $pop38, $pop149 + i32.call $push38=, strcmp@FUNCTION, $pop146, $pop37 + i32.const $push145=, 0 + i32.ge_s $push39=, $pop38, $pop145 br_if 0, $pop39 # 0: down to label0 # BB#7: # %if.end47 i32.const $push41=, 0 @@ -100,11 +100,11 @@ main: # @main br_if 0, $pop49 # 0: down to label0 # BB#8: # %if.end58 i32.const $push50=, 111 - i32.call $push153=, strchr@FUNCTION, $1, $pop50 - tee_local $push152=, $0=, $pop153 + i32.call $push149=, strchr@FUNCTION, $1, $pop50 + tee_local $push148=, $0=, $pop149 i32.const $push51=, 4 i32.add $push52=, $1, $pop51 - i32.ne $push53=, $pop152, $pop52 + i32.ne $push53=, $pop148, $pop52 br_if 0, $pop53 # 0: down to label0 # BB#9: # %if.end63 i32.call $push54=, strlen@FUNCTION, $1 @@ -122,19 +122,19 @@ main: # @main br_if 0, $pop61 # 0: down to label0 # BB#12: # %if.end77 i32.const $push62=, 0 - i32.const $push156=, 0 - i32.load $push67=, y($pop156) + i32.const $push152=, 0 + i32.load $push67=, y($pop152) i32.const $push68=, -1 i32.add $push4=, $pop67, $pop68 i32.store $1=, y($pop62), $pop4 - i32.const $push155=, 0 - i32.store $discard=, x($pop155), $3 + i32.const $push151=, 0 + i32.store $discard=, x($pop151), $3 i32.const $push63=, 1 i32.and $push64=, $2, $pop63 i32.const $push65=, .L.str.1 i32.add $push66=, $pop64, $pop65 - i32.const $push154=, 1 - i32.and $push69=, $1, $pop154 + i32.const $push150=, 1 + i32.and $push69=, $1, $pop150 i32.const $push70=, .L.str.3 i32.add $push71=, $pop69, $pop70 i32.call $push72=, strcmp@FUNCTION, $pop66, $pop71 @@ -142,140 +142,136 @@ main: # @main # BB#13: # %if.end86 br_if 0, $1 # 0: down to label0 # BB#14: # %if.end86 - i32.const $push157=, 6 - i32.ne $push73=, $3, $pop157 + i32.const $push153=, 6 + i32.ne $push73=, $3, $pop153 br_if 0, $pop73 # 0: down to label0 # BB#15: # %if.end90 - i32.const $push74=, 5 - i32.or $push75=, $7, $pop74 - i32.const $push76=, 32 - i32.store8 $2=, 0($pop75), $pop76 - i32.const $push163=, 6 - i32.or $push77=, $7, $pop163 - i32.const $push78=, 0 - i32.store8 $push162=, 0($pop77):p2align=1, $pop78 - tee_local $push161=, $1=, $pop162 - i32.const $push160=, 6 - i32.store $discard=, x($pop161), $pop160 - i32.const $push79=, 1 - i32.store $push80=, y($1), $pop79 - i32.or $push159=, $7, $pop80 - tee_local $push158=, $3=, $pop159 - i32.const $push81=, 1869376613 - i32.store $discard=, 0($pop158):p2align=0, $pop81 - i32.const $push82=, .L.str.4 - i32.call $push83=, strcmp@FUNCTION, $3, $pop82 - br_if 0, $pop83 # 0: down to label0 + i32.const $push75=, 0 + i32.store8 $push158=, 6($4):p2align=1, $pop75 + tee_local $push157=, $1=, $pop158 + i32.const $push156=, 6 + i32.store $discard=, x($pop157), $pop156 + i32.const $push77=, 1869376613 + i32.store $discard=, 1($4):p2align=0, $pop77 + i32.const $push76=, 1 + i32.store $3=, y($1), $pop76 + i32.const $push74=, 32 + i32.store8 $2=, 5($4), $pop74 + i32.or $push155=, $4, $3 + tee_local $push154=, $3=, $pop155 + i32.const $push78=, .L.str.4 + i32.call $push79=, strcmp@FUNCTION, $pop154, $pop78 + br_if 0, $pop79 # 0: down to label0 # BB#16: # %if.end108 - i32.const $push86=, 64 - i32.call $discard=, memset@FUNCTION, $7, $2, $pop86 - i32.const $push88=, 2 - i32.store $discard=, y($1), $pop88 - i32.const $push87=, 7 - i32.store $2=, x($1), $pop87 - i32.const $push90=, .L.str.5+1 - i32.const $push89=, 10 - i32.call $push91=, strncpy@FUNCTION, $3, $pop90, $pop89 - i32.ne $push92=, $pop91, $3 - br_if 0, $pop92 # 0: down to label0 + i32.const $push82=, 64 + i32.call $discard=, memset@FUNCTION, $4, $2, $pop82 + i32.const $push84=, 2 + i32.store $discard=, y($1), $pop84 + i32.const $push83=, 7 + i32.store $2=, x($1), $pop83 + i32.const $push86=, .L.str.5+1 + i32.const $push85=, 10 + i32.call $push87=, strncpy@FUNCTION, $3, $pop86, $pop85 + i32.ne $push88=, $pop87, $3 + br_if 0, $pop88 # 0: down to label0 # BB#17: # %if.end108 - i32.load $push84=, x($1) - i32.ne $push93=, $pop84, $2 - br_if 0, $pop93 # 0: down to label0 + i32.load $push80=, x($1) + i32.ne $push89=, $pop80, $2 + br_if 0, $pop89 # 0: down to label0 # BB#18: # %if.end108 - i32.load $push85=, y($1) - i32.const $push94=, 2 - i32.ne $push95=, $pop85, $pop94 - br_if 0, $pop95 # 0: down to label0 + i32.load $push81=, y($1) + i32.const $push90=, 2 + i32.ne $push91=, $pop81, $pop90 + br_if 0, $pop91 # 0: down to label0 # BB#19: # %lor.lhs.false125 - i32.const $push96=, .L.str.6 - i32.const $push97=, 12 - i32.call $push98=, memcmp@FUNCTION, $7, $pop96, $pop97 - br_if 0, $pop98 # 0: down to label0 + i32.const $push92=, .L.str.6 + i32.const $push93=, 12 + i32.call $push94=, memcmp@FUNCTION, $4, $pop92, $pop93 + br_if 0, $pop94 # 0: down to label0 # BB#20: # %if.end130 - i32.const $push100=, 32 - i32.const $push99=, 64 - i32.call $discard=, memset@FUNCTION, $7, $pop100, $pop99 - i32.const $push101=, .L.str.7 - i32.const $push102=, 8 - i32.call $push103=, strncpy@FUNCTION, $7, $pop101, $pop102 - i32.ne $push104=, $pop103, $7 - br_if 0, $pop104 # 0: down to label0 + i32.const $push96=, 32 + i32.const $push95=, 64 + i32.call $discard=, memset@FUNCTION, $4, $pop96, $pop95 + i32.const $push97=, .L.str.7 + i32.const $push98=, 8 + i32.call $push99=, strncpy@FUNCTION, $4, $pop97, $pop98 + i32.ne $push100=, $pop99, $4 + br_if 0, $pop100 # 0: down to label0 # BB#21: # %lor.lhs.false136 - i32.const $push105=, .L.str.8 - i32.const $push106=, 9 - i32.call $push107=, memcmp@FUNCTION, $7, $pop105, $pop106 - br_if 0, $pop107 # 0: down to label0 + i32.const $push101=, .L.str.8 + i32.const $push102=, 9 + i32.call $push103=, memcmp@FUNCTION, $4, $pop101, $pop102 + br_if 0, $pop103 # 0: down to label0 # BB#22: # %if.end141 - i32.const $push108=, buf - i32.const $push110=, 32 - i32.const $push109=, 64 - i32.call $3=, memset@FUNCTION, $pop108, $pop110, $pop109 - i32.const $push111=, 0 - i32.const $push166=, 0 - i32.load $push113=, y($pop166) - i32.const $push114=, 1 - i32.add $push115=, $pop113, $pop114 - i32.store $1=, y($pop111), $pop115 - i32.const $push165=, 0 - i32.const $push112=, 34 - i32.store $discard=, x($pop165), $pop112 - i32.const $push116=, 33 - i32.call $discard=, memset@FUNCTION, $3, $pop116, $1 - i32.const $push164=, 3 - i32.ne $push117=, $1, $pop164 - br_if 0, $pop117 # 0: down to label0 + i32.const $push104=, buf + i32.const $push106=, 32 + i32.const $push105=, 64 + i32.call $3=, memset@FUNCTION, $pop104, $pop106, $pop105 + i32.const $push107=, 0 + i32.const $push161=, 0 + i32.load $push109=, y($pop161) + i32.const $push110=, 1 + i32.add $push111=, $pop109, $pop110 + i32.store $1=, y($pop107), $pop111 + i32.const $push160=, 0 + i32.const $push108=, 34 + i32.store $discard=, x($pop160), $pop108 + i32.const $push112=, 33 + i32.call $discard=, memset@FUNCTION, $3, $pop112, $1 + i32.const $push159=, 3 + i32.ne $push113=, $1, $pop159 + br_if 0, $pop113 # 0: down to label0 # BB#23: # %lor.lhs.false148 - i32.const $push118=, .L.str.9 - i32.const $push167=, 3 - i32.call $push119=, memcmp@FUNCTION, $3, $pop118, $pop167 - br_if 0, $pop119 # 0: down to label0 + i32.const $push114=, .L.str.9 + i32.const $push162=, 3 + i32.call $push115=, memcmp@FUNCTION, $3, $pop114, $pop162 + br_if 0, $pop115 # 0: down to label0 # BB#24: # %lor.lhs.false158 - i32.const $push170=, 0 - i32.const $push120=, 4 - i32.store $discard=, y($pop170), $pop120 - i32.const $push169=, 0 - i64.const $push121=, 3255307777713450285 - i64.store $discard=, buf+3($pop169):p2align=0, $pop121 - i32.const $push122=, buf - i32.const $push123=, .L.str.10 - i32.const $push168=, 11 - i32.call $push124=, memcmp@FUNCTION, $pop122, $pop123, $pop168 - br_if 0, $pop124 # 0: down to label0 + i32.const $push165=, 0 + i32.const $push116=, 4 + i32.store $discard=, y($pop165), $pop116 + i32.const $push164=, 0 + i64.const $push117=, 3255307777713450285 + i64.store $discard=, buf+3($pop164):p2align=0, $pop117 + i32.const $push118=, buf + i32.const $push119=, .L.str.10 + i32.const $push163=, 11 + i32.call $push120=, memcmp@FUNCTION, $pop118, $pop119, $pop163 + br_if 0, $pop120 # 0: down to label0 # BB#25: # %lor.lhs.false171 - i32.const $push175=, 0 - i32.const $push174=, 11 - i32.store $discard=, x($pop175), $pop174 - i32.const $push173=, 0 - i32.const $push125=, 5 - i32.store $discard=, y($pop173), $pop125 - i32.const $push172=, 0 - i32.const $push171=, 0 - i32.store $discard=, buf+11($pop172):p2align=0, $pop171 - i32.const $push128=, buf+8 - i32.const $push126=, .L.str.11 - i32.const $push127=, 7 - i32.call $push129=, memcmp@FUNCTION, $pop128, $pop126, $pop127 - br_if 0, $pop129 # 0: down to label0 + i32.const $push170=, 0 + i32.const $push169=, 11 + i32.store $discard=, x($pop170), $pop169 + i32.const $push168=, 0 + i32.const $push121=, 5 + i32.store $discard=, y($pop168), $pop121 + i32.const $push167=, 0 + i32.const $push166=, 0 + i32.store $discard=, buf+11($pop167):p2align=0, $pop166 + i32.const $push124=, buf+8 + i32.const $push122=, .L.str.11 + i32.const $push123=, 7 + i32.call $push125=, memcmp@FUNCTION, $pop124, $pop122, $pop123 + br_if 0, $pop125 # 0: down to label0 # BB#26: # %lor.lhs.false180 - i32.const $push131=, 0 - i32.const $push130=, 15 - i32.store $discard=, x($pop131), $pop130 - i32.const $push179=, 0 - i32.const $push178=, 0 - i32.store16 $push177=, buf+19($pop179):p2align=0, $pop178 - tee_local $push176=, $1=, $pop177 - i32.store $discard=, buf+15($pop176):p2align=0, $1 - i32.const $push134=, buf+10 - i32.const $push132=, .L.str.12 - i32.const $push133=, 11 - i32.call $push135=, memcmp@FUNCTION, $pop134, $pop132, $pop133 - br_if 0, $pop135 # 0: down to label0 + i32.const $push127=, 0 + i32.const $push126=, 15 + i32.store $discard=, x($pop127), $pop126 + i32.const $push174=, 0 + i32.const $push173=, 0 + i32.store16 $push172=, buf+19($pop174):p2align=0, $pop173 + tee_local $push171=, $1=, $pop172 + i32.store $discard=, buf+15($pop171):p2align=0, $1 + i32.const $push130=, buf+10 + i32.const $push128=, .L.str.12 + i32.const $push129=, 11 + i32.call $push131=, memcmp@FUNCTION, $pop130, $pop128, $pop129 + br_if 0, $pop131 # 0: down to label0 # BB#27: # %if.end184 - i32.const $6=, 64 - i32.add $7=, $7, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 + i32.const $push179=, 64 + i32.add $4=, $4, $pop179 + i32.const $push180=, __stack_pointer + i32.store $discard=, 0($pop180), $4 return $1 .LBB0_28: # %if.then183 end_block # label0: diff --git a/test/torture-s/struct-aliasing-1.c.s b/test/torture-s/struct-aliasing-1.c.s index 76e021830..3180c590e 100644 --- a/test/torture-s/struct-aliasing-1.c.s +++ b/test/torture-s/struct-aliasing-1.c.s @@ -25,30 +25,30 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $5=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $5=, 0($1), $5 + i32.const $push5=, __stack_pointer + i32.load $push6=, 0($pop5) + i32.const $push7=, 16 + i32.sub $2=, $pop6, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $2 i32.const $push0=, 1 - i32.store $push1=, 12($5), $pop0 - i32.const $3=, 12 - i32.add $3=, $5, $3 - i32.const $4=, 12 - i32.add $4=, $5, $4 + i32.store $push1=, 12($2), $pop0 + i32.const $0=, 12 + i32.add $0=, $2, $0 + i32.const $1=, 12 + i32.add $1=, $2, $1 block - i32.call $push2=, foo@FUNCTION, $3, $4 + i32.call $push2=, foo@FUNCTION, $0, $1 i32.ne $push3=, $pop1, $pop2 br_if 0, $pop3 # 0: down to label0 # BB#1: # %if.end i32.const $push4=, 0 - i32.const $2=, 16 - i32.add $5=, $5, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 + i32.const $push9=, 16 + i32.add $2=, $2, $pop9 + i32.const $push10=, __stack_pointer + i32.store $discard=, 0($pop10), $2 return $pop4 .LBB1_2: # %if.then end_block # label0: diff --git a/test/torture-s/struct-ret-1.c.s b/test/torture-s/struct-ret-1.c.s index c883c5250..b6d09e5d5 100644 --- a/test/torture-s/struct-ret-1.c.s +++ b/test/torture-s/struct-ret-1.c.s @@ -6,14 +6,14 @@ .type f,@function f: # @f .param i32, i32, i32, f64, i32 - .local f64, i64, i32, f64, i64, i32, i32, i32, i32 + .local f64, i64, i32, f64, i64, i32 # BB#0: # %entry - i32.const $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 64 - i32.sub $13=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $13=, 0($11), $13 + i32.const $push28=, __stack_pointer + i32.load $push29=, 0($pop28) + i32.const $push30=, 64 + i32.sub $10=, $pop29, $pop30 + i32.const $push31=, __stack_pointer + i32.store $discard=, 0($pop31), $10 i32.const $push2=, 16 i32.add $push3=, $1, $pop2 i32.load $7=, 0($pop3):p2align=3 @@ -22,51 +22,47 @@ f: # @f f64.load $5=, 0($1) f64.load $8=, 0($4) i32.const $push7=, 48 - i32.add $push8=, $13, $pop7 - i32.const $push31=, 16 - i32.add $push5=, $4, $pop31 + i32.add $push8=, $10, $pop7 + i32.const $push27=, 16 + i32.add $push5=, $4, $pop27 i32.load $push6=, 0($pop5):p2align=3 i32.store $discard=, 0($pop8):p2align=4, $pop6 i32.const $push9=, 44 - i32.add $push10=, $13, $pop9 + i32.add $push10=, $10, $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 + i32.add $push12=, $10, $pop11 i64.store32 $discard=, 0($pop12):p2align=3, $9 i32.const $push13=, 32 - i32.add $push14=, $13, $pop13 + i32.add $push14=, $10, $pop13 f64.store $discard=, 0($pop14):p2align=4, $8 i32.const $push15=, 24 - i32.add $push16=, $13, $pop15 + i32.add $push16=, $10, $pop15 f64.store $discard=, 0($pop16), $3 i32.const $push17=, 20 - i32.add $push18=, $13, $pop17 + i32.add $push18=, $10, $pop17 i32.store $4=, 0($pop18), $2 - i32.const $push30=, 16 - i32.add $push19=, $13, $pop30 + i32.const $push26=, 16 + i32.add $push19=, $10, $pop26 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.store $13=, 0($12), $13 + i64.const $push25=, 32 + i64.shr_u $push1=, $6, $pop25 + i64.store32 $discard=, 12($10), $pop1 + i64.store32 $discard=, 8($10):p2align=3, $6 + f64.store $discard=, 0($10):p2align=4, $5 + i32.const $push21=, out + i32.const $push20=, .L.str + i32.call $discard=, sprintf@FUNCTION, $pop21, $pop20, $10 + i32.const $push22=, f.xr + i32.const $push23=, 33 + i32.call $push24=, memcpy@FUNCTION, $0, $pop22, $pop23 + i32.store8 $discard=, 33($pop24), $4 + i32.const $push32=, 64 + i32.add $10=, $10, $pop32 + i32.const $push33=, __stack_pointer + i32.store $discard=, 0($pop33), $10 return .endfunc .Lfunc_end0: @@ -78,146 +74,138 @@ f: # @f .type main,@function main: # @main .result 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 + .local f64, f64, i64, f64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - 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 $push60=, __stack_pointer + i32.load $push61=, 0($pop60) + i32.const $push62=, 256 + i32.sub $22=, $pop61, $pop62 + i32.const $push63=, __stack_pointer + i32.store $discard=, 0($pop63), $22 i32.const $push58=, 0 - i32.load8_s $6=, c2($pop58) + f64.load $0=, d3($pop58) i32.const $push57=, 0 - f64.load $1=, B2($pop57) + i64.load $2=, B2+8($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 + i64.load $4=, B1+8($pop56) i32.const $push55=, 0 - i32.load $push0=, B2+16($pop55):p2align=3 + i32.load $5=, B1+16($pop55):p2align=3 + i32.const $push54=, 0 + i32.load8_s $6=, c2($pop54) + i32.const $push53=, 0 + f64.load $1=, B2($pop53) + i32.const $push52=, 0 + f64.load $3=, B1($pop52) + i32.const $push4=, 48 + i32.const $7=, 48 + i32.add $7=, $22, $7 + i32.add $push5=, $7, $pop4 + i32.const $push51=, 0 + i32.load $push0=, B2+16($pop51):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 + i32.const $8=, 48 + i32.add $8=, $22, $8 + i32.add $push7=, $8, $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 + i32.const $9=, 48 + i32.add $9=, $22, $9 + i32.add $push9=, $9, $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 + i32.const $10=, 48 + i32.add $10=, $22, $10 + i32.add $push11=, $10, $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.const $11=, 48 + i32.add $11=, $22, $11 + i32.add $push13=, $11, $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.const $12=, 48 + i32.add $12=, $22, $12 + i32.add $push15=, $12, $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 + i32.const $push16=, 44 + i32.const $13=, 48 + i32.add $13=, $22, $13 + i32.add $push17=, $13, $pop16 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 - i32.load $5=, fp($pop51) - i32.const $push50=, 0 - i32.load8_s $6=, c2($pop50) - i32.const $push49=, 20 - i32.const $20=, 24 - i32.add $20=, $26, $20 - i32.add $push24=, $20, $pop49 + i64.store32 $discard=, 0($pop17), $pop3 + i64.store32 $discard=, 56($22):p2align=3, $4 + f64.store $discard=, 48($22):p2align=4, $3 + i64.const $push50=, 32 + i64.shr_u $push2=, $4, $pop50 + i64.store32 $discard=, 60($22), $pop2 + i32.const $push19=, out + i32.const $push18=, .L.str + i32.const $14=, 48 + i32.add $14=, $22, $14 + i32.call $discard=, sprintf@FUNCTION, $pop19, $pop18, $14 + i32.const $push49=, out + i32.const $15=, 144 + i32.add $15=, $22, $15 + i32.call $discard=, strcpy@FUNCTION, $15, $pop49 i32.const $push48=, 0 - 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 + f64.load $0=, d3($pop48) + i32.const $push47=, 0 + i32.load $5=, fp($pop47) i32.const $push46=, 0 - 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.load8_s $6=, c2($pop46) + i32.const $push45=, 20 + i32.const $16=, 24 + i32.add $16=, $22, $16 + i32.add $push20=, $16, $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.load $push21=, B1+20($pop44) + i32.store $discard=, 0($pop20), $pop21 + i32.const $push43=, 16 + i32.const $17=, 24 + i32.add $17=, $22, $17 + i32.add $push22=, $17, $pop43 + i32.const $push42=, 0 + i32.load $push23=, B1+16($pop42):p2align=3 + i32.store $discard=, 0($pop22):p2align=3, $pop23 + i32.const $push24=, 8 + i32.const $18=, 24 + i32.add $18=, $22, $18 + i32.add $push25=, $18, $pop24 i32.const $push41=, 0 - 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 + i64.load $push26=, B1+8($pop41) + i64.store $discard=, 0($pop25), $pop26 + i32.const $push40=, 0 + i64.load $push27=, B1($pop40) + i64.store $discard=, 24($22), $pop27 + i32.const $push39=, 16 + i32.add $push28=, $22, $pop39 i32.const $push38=, 0 - 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 + i64.load $push29=, B2+16($pop38) + i64.store $discard=, 0($pop28), $pop29 + i32.const $push37=, 8 + i32.add $push30=, $22, $pop37 + i32.const $push36=, 0 + i64.load $push31=, B2+8($pop36) + i64.store $discard=, 0($pop30), $pop31 + i32.const $push35=, 0 + i64.load $push32=, B2($pop35) + i64.store $discard=, 0($22), $pop32 + i32.const $19=, 104 + i32.add $19=, $22, $19 + i32.const $20=, 24 + i32.add $20=, $22, $20 + call_indirect $5, $19, $20, $6, $0, $22 + i32.const $push34=, out + i32.const $21=, 144 + i32.add $21=, $22, $21 block - i32.call $push36=, strcmp@FUNCTION, $25, $pop37 - br_if 0, $pop36 # 0: down to label0 + i32.call $push33=, strcmp@FUNCTION, $21, $pop34 + br_if 0, $pop33 # 0: down to label0 # BB#1: # %if.end - i32.const $push63=, 0 - call exit@FUNCTION, $pop63 + i32.const $push59=, 0 + call exit@FUNCTION, $pop59 unreachable .LBB1_2: # %if.then end_block # label0: diff --git a/test/torture-s/switch-1.c.s b/test/torture-s/switch-1.c.s index d1908a64a..8460c6f0e 100644 --- a/test/torture-s/switch-1.c.s +++ b/test/torture-s/switch-1.c.s @@ -153,7 +153,7 @@ main: # @main .size main, .Lfunc_end1-main .type .Lswitch.table,@object # @switch.table - .section .rodata..Lswitch.table,"a",@progbits + .section .rodata.cst32,"aM",@progbits,32 .p2align 4 .Lswitch.table: .int32 30 # 0x1e diff --git a/test/torture-s/va-arg-1.c.s b/test/torture-s/va-arg-1.c.s index 6bf193f39..d88583910 100644 --- a/test/torture-s/va-arg-1.c.s +++ b/test/torture-s/va-arg-1.c.s @@ -7,61 +7,45 @@ f: # @f .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 .result i32 - .local i32, i32, i32, i32 + .local 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 - i32.const $11=, __stack_pointer - i32.store $13=, 0($11), $13 - i32.store $push0=, 12($13), $9 - i32.const $push23=, 3 - i32.add $push1=, $pop0, $pop23 - i32.const $push22=, -4 - i32.and $push21=, $pop1, $pop22 - tee_local $push20=, $9=, $pop21 - i32.const $push19=, 4 - i32.add $push2=, $pop20, $pop19 - i32.store $discard=, 12($13), $pop2 + i32.const $push15=, __stack_pointer + i32.load $push16=, 0($pop15) + i32.const $push17=, 16 + i32.sub $12=, $pop16, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $12 + i32.store $push14=, 12($12), $9 + tee_local $push13=, $9=, $pop14 + i32.const $push0=, 4 + i32.add $push1=, $pop13, $pop0 + i32.store $10=, 12($12), $pop1 block - i32.load $push3=, 0($9) - i32.const $push4=, 10 - i32.ne $push5=, $pop3, $pop4 - br_if 0, $pop5 # 0: down to label0 + i32.load $push2=, 0($9) + i32.const $push3=, 10 + i32.ne $push4=, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label0 # BB#1: # %if.end - i32.load $push6=, 12($13) - i32.const $push28=, 3 - i32.add $push7=, $pop6, $pop28 - i32.const $push27=, -4 - i32.and $push26=, $pop7, $pop27 - tee_local $push25=, $9=, $pop26 - i32.const $push24=, 4 - i32.add $push8=, $pop25, $pop24 - i32.store $discard=, 12($13), $pop8 - i32.load $push9=, 0($9) - i32.const $push10=, 11 - i32.ne $push11=, $pop9, $pop10 - br_if 0, $pop11 # 0: down to label0 -# BB#2: # %if.end4 - i32.load $push12=, 12($13) - i32.const $push13=, 3 - i32.add $push14=, $pop12, $pop13 - i32.const $push15=, -4 - i32.and $push30=, $pop14, $pop15 - tee_local $push29=, $9=, $pop30 - i32.const $push16=, 4 - i32.add $push17=, $pop29, $pop16 - i32.store $discard=, 12($13), $pop17 - i32.load $push18=, 0($9) - br_if 0, $pop18 # 0: down to label0 -# BB#3: # %if.end7 - i32.const $12=, 16 - i32.add $13=, $13, $12 - i32.const $12=, __stack_pointer - i32.store $13=, 0($12), $13 + i32.const $push5=, 8 + i32.add $push6=, $9, $pop5 + i32.store $11=, 12($12), $pop6 + i32.load $push7=, 0($10) + i32.const $push8=, 11 + i32.ne $push9=, $pop7, $pop8 + br_if 0, $pop9 # 0: down to label0 +# BB#2: # %if.end6 + i32.const $push10=, 12 + i32.add $push11=, $9, $pop10 + i32.store $discard=, 12($12), $pop11 + i32.load $push12=, 0($11) + br_if 0, $pop12 # 0: down to label0 +# BB#3: # %if.end11 + i32.const $push19=, 16 + i32.add $12=, $12, $pop19 + i32.const $push20=, __stack_pointer + i32.store $discard=, 0($pop20), $12 return $9 -.LBB0_4: # %if.then6 +.LBB0_4: # %if.then10 end_block # label0: call abort@FUNCTION unreachable @@ -75,21 +59,19 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($2), $3 - i32.const $push0=, 8 - i32.or $push1=, $3, $pop0 - i32.const $push2=, 0 - 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 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $1=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $1 + i32.const $push0=, 0 + i32.store $0=, 8($1):p2align=3, $pop0 + i64.const $push1=, 47244640266 + i64.store $discard=, 0($1):p2align=4, $pop1 + i32.call $discard=, f@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $1 call exit@FUNCTION, $0 unreachable .endfunc diff --git a/test/torture-s/va-arg-10.c.s b/test/torture-s/va-arg-10.c.s index e1e8cae96..4f3cbbdb6 100644 --- a/test/torture-s/va-arg-10.c.s +++ b/test/torture-s/va-arg-10.c.s @@ -29,21 +29,21 @@ to_hex: # @to_hex .type fap,@function fap: # @fap .param i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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 - i32.load $push0=, 12($7) - i32.store $discard=, 8($7), $pop0 + i32.const $push31=, __stack_pointer + i32.load $push32=, 0($pop31) + i32.const $push33=, 16 + i32.sub $4=, $pop32, $pop33 + i32.const $push34=, __stack_pointer + i32.store $discard=, 0($pop34), $4 + i32.store $discard=, 12($4), $2 + i32.load $push0=, 12($4) + i32.store $discard=, 8($4), $pop0 block i32.call $push1=, strlen@FUNCTION, $1 - i32.const $push16=, 16 - i32.sub $push2=, $pop16, $0 + i32.const $push12=, 16 + i32.sub $push2=, $pop12, $0 i32.ne $push3=, $pop1, $pop2 br_if 0, $pop3 # 0: down to label1 # BB#1: @@ -52,34 +52,30 @@ fap: # @fap # =>This Inner Loop Header: Depth=1 block loop # label3: - i32.load8_u $push18=, 0($0) - tee_local $push17=, $2=, $pop18 - i32.const $push39=, 0 - i32.eq $push40=, $pop17, $pop39 - br_if 2, $pop40 # 2: down to label2 + i32.load8_u $push14=, 0($0) + tee_local $push13=, $2=, $pop14 + i32.const $push37=, 0 + i32.eq $push38=, $pop13, $pop37 + br_if 2, $pop38 # 2: down to label2 # BB#3: # %while.body # in Loop: Header=BB1_2 Depth=1 - i32.load $push4=, 12($7) - i32.const $push26=, 3 - i32.add $push5=, $pop4, $pop26 - i32.const $push25=, -4 - i32.and $push24=, $pop5, $pop25 - tee_local $push23=, $3=, $pop24 - i32.const $push22=, 4 - i32.add $push6=, $pop23, $pop22 - i32.store $discard=, 12($7), $pop6 - i32.load $push21=, 0($3) - tee_local $push20=, $3=, $pop21 - i32.const $push19=, 16 - i32.ge_u $push7=, $pop20, $pop19 - br_if 3, $pop7 # 3: down to label1 + i32.load $push20=, 12($4) + tee_local $push19=, $3=, $pop20 + i32.const $push18=, 4 + i32.add $push4=, $pop19, $pop18 + i32.store $discard=, 12($4), $pop4 + i32.load $push17=, 0($3) + tee_local $push16=, $3=, $pop17 + i32.const $push15=, 16 + i32.ge_u $push5=, $pop16, $pop15 + br_if 3, $pop5 # 3: down to label1 # BB#4: # %to_hex.exit # in Loop: Header=BB1_2 Depth=1 - i32.const $push27=, 1 - i32.add $0=, $0, $pop27 - i32.load8_u $push8=, .L.str($3) - i32.eq $push9=, $2, $pop8 - br_if 0, $pop9 # 0: up to label3 + i32.const $push21=, 1 + i32.add $0=, $0, $pop21 + i32.load8_u $push6=, .L.str($3) + i32.eq $push7=, $2, $pop6 + br_if 0, $pop7 # 0: up to label3 # BB#5: # %if.then4 end_loop # label4: call abort@FUNCTION @@ -89,46 +85,42 @@ fap: # @fap end_block # label2: block loop # label6: - i32.load8_u $push29=, 0($1) - tee_local $push28=, $0=, $pop29 - i32.const $push41=, 0 - i32.eq $push42=, $pop28, $pop41 - br_if 2, $pop42 # 2: down to label5 + i32.load8_u $push23=, 0($1) + tee_local $push22=, $0=, $pop23 + i32.const $push39=, 0 + i32.eq $push40=, $pop22, $pop39 + br_if 2, $pop40 # 2: down to label5 # BB#7: # %while.body8 # in Loop: Header=BB1_6 Depth=1 - i32.load $push10=, 8($7) - i32.const $push37=, 3 - i32.add $push11=, $pop10, $pop37 - i32.const $push36=, -4 - i32.and $push35=, $pop11, $pop36 - tee_local $push34=, $2=, $pop35 - i32.const $push33=, 4 - i32.add $push12=, $pop34, $pop33 - i32.store $discard=, 8($7), $pop12 - i32.load $push32=, 0($2) - tee_local $push31=, $2=, $pop32 - i32.const $push30=, 16 - i32.ge_u $push13=, $pop31, $pop30 - br_if 3, $pop13 # 3: down to label1 -# BB#8: # %to_hex.exit26 + i32.load $push29=, 8($4) + tee_local $push28=, $2=, $pop29 + i32.const $push27=, 4 + i32.add $push8=, $pop28, $pop27 + i32.store $discard=, 8($4), $pop8 + i32.load $push26=, 0($2) + tee_local $push25=, $2=, $pop26 + i32.const $push24=, 16 + i32.ge_u $push9=, $pop25, $pop24 + br_if 3, $pop9 # 3: down to label1 +# BB#8: # %to_hex.exit28 # in Loop: Header=BB1_6 Depth=1 - i32.const $push38=, 1 - i32.add $1=, $1, $pop38 - i32.load8_u $push14=, .L.str($2) - i32.eq $push15=, $0, $pop14 - br_if 0, $pop15 # 0: up to label6 -# BB#9: # %if.then14 + i32.const $push30=, 1 + i32.add $1=, $1, $pop30 + i32.load8_u $push10=, .L.str($2) + i32.eq $push11=, $0, $pop10 + br_if 0, $pop11 # 0: up to label6 +# BB#9: # %if.then16 end_loop # label7: call abort@FUNCTION unreachable -.LBB1_10: # %while.end16 +.LBB1_10: # %while.end18 end_block # label5: - i32.const $6=, 16 - i32.add $7=, $7, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 + i32.const $push35=, 16 + i32.add $4=, $4, $pop35 + i32.const $push36=, __stack_pointer + i32.store $discard=, 0($pop36), $4 return -.LBB1_11: # %if.then.i23 +.LBB1_11: # %if.then.i25 end_block # label1: call abort@FUNCTION unreachable @@ -142,21 +134,21 @@ fap: # @fap .type f0,@function f0: # @f0 .param i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $2=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $2 i32.const $push1=, 0 - i32.store $push0=, 12($5), $1 + i32.store $push0=, 12($2), $1 call fap@FUNCTION, $pop1, $0, $pop0 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push6=, 16 + i32.add $2=, $2, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $2 return .endfunc .Lfunc_end2: @@ -168,21 +160,21 @@ f0: # @f0 .type f1,@function f1: # @f1 .param i32, i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $3=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $3 i32.const $push1=, 1 - i32.store $push0=, 12($6), $2 + i32.store $push0=, 12($3), $2 call fap@FUNCTION, $pop1, $1, $pop0 - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push6=, 16 + i32.add $3=, $3, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $3 return .endfunc .Lfunc_end3: @@ -194,21 +186,21 @@ f1: # @f1 .type f2,@function f2: # @f2 .param i32, i32, i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $4=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $4 i32.const $push1=, 2 - i32.store $push0=, 12($7), $3 + i32.store $push0=, 12($4), $3 call fap@FUNCTION, $pop1, $2, $pop0 - i32.const $6=, 16 - i32.add $7=, $7, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 + i32.const $push6=, 16 + i32.add $4=, $4, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $4 return .endfunc .Lfunc_end4: @@ -220,21 +212,21 @@ f2: # @f2 .type f3,@function f3: # @f3 .param i32, i32, i32, i32, i32 - .local i32, i32, i32, i32 + .local 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 $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $5=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $5 i32.const $push1=, 3 - i32.store $push0=, 12($8), $4 + i32.store $push0=, 12($5), $4 call fap@FUNCTION, $pop1, $3, $pop0 - i32.const $7=, 16 - i32.add $8=, $8, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 + i32.const $push6=, 16 + i32.add $5=, $5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $5 return .endfunc .Lfunc_end5: @@ -246,21 +238,21 @@ f3: # @f3 .type f4,@function f4: # @f4 .param i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32 + .local 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 $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $6=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $6 i32.const $push1=, 4 - i32.store $push0=, 12($9), $5 + i32.store $push0=, 12($6), $5 call fap@FUNCTION, $pop1, $4, $pop0 - i32.const $8=, 16 - i32.add $9=, $9, $8 - i32.const $8=, __stack_pointer - i32.store $9=, 0($8), $9 + i32.const $push6=, 16 + i32.add $6=, $6, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $6 return .endfunc .Lfunc_end6: @@ -272,21 +264,21 @@ f4: # @f4 .type f5,@function f5: # @f5 .param i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32 + .local 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 $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $7=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $7 i32.const $push1=, 5 - i32.store $push0=, 12($10), $6 + i32.store $push0=, 12($7), $6 call fap@FUNCTION, $pop1, $5, $pop0 - i32.const $9=, 16 - i32.add $10=, $10, $9 - i32.const $9=, __stack_pointer - i32.store $10=, 0($9), $10 + i32.const $push6=, 16 + i32.add $7=, $7, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $7 return .endfunc .Lfunc_end7: @@ -298,21 +290,21 @@ f5: # @f5 .type f6,@function f6: # @f6 .param i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32 + .local 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 $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $8=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $8 i32.const $push1=, 6 - i32.store $push0=, 12($11), $7 + i32.store $push0=, 12($8), $7 call fap@FUNCTION, $pop1, $6, $pop0 - i32.const $10=, 16 - i32.add $11=, $11, $10 - i32.const $10=, __stack_pointer - i32.store $11=, 0($10), $11 + i32.const $push6=, 16 + i32.add $8=, $8, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $8 return .endfunc .Lfunc_end8: @@ -324,21 +316,21 @@ f6: # @f6 .type f7,@function f7: # @f7 .param i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32 + .local 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 $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $9=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $9 i32.const $push1=, 7 - i32.store $push0=, 12($12), $8 + i32.store $push0=, 12($9), $8 call fap@FUNCTION, $pop1, $7, $pop0 - i32.const $11=, 16 - i32.add $12=, $12, $11 - i32.const $11=, __stack_pointer - i32.store $12=, 0($11), $12 + i32.const $push6=, 16 + i32.add $9=, $9, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $9 return .endfunc .Lfunc_end9: @@ -350,21 +342,21 @@ f7: # @f7 .type f8,@function f8: # @f8 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 16 - i32.sub $13=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $13=, 0($11), $13 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $10=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $10 i32.const $push1=, 8 - i32.store $push0=, 12($13), $9 + i32.store $push0=, 12($10), $9 call fap@FUNCTION, $pop1, $8, $pop0 - i32.const $12=, 16 - i32.add $13=, $13, $12 - i32.const $12=, __stack_pointer - i32.store $13=, 0($12), $13 + i32.const $push6=, 16 + i32.add $10=, $10, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $10 return .endfunc .Lfunc_end10: @@ -376,21 +368,21 @@ f8: # @f8 .type f9,@function f9: # @f9 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 16 - i32.sub $14=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $14=, 0($12), $14 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $11=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $11 i32.const $push1=, 9 - i32.store $push0=, 12($14), $10 + i32.store $push0=, 12($11), $10 call fap@FUNCTION, $pop1, $9, $pop0 - i32.const $13=, 16 - i32.add $14=, $14, $13 - i32.const $13=, __stack_pointer - i32.store $14=, 0($13), $14 + i32.const $push6=, 16 + i32.add $11=, $11, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $11 return .endfunc .Lfunc_end11: @@ -402,21 +394,21 @@ f9: # @f9 .type f10,@function f10: # @f10 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32 + .local 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 $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $12=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $12 i32.const $push1=, 10 - i32.store $push0=, 12($15), $11 + i32.store $push0=, 12($12), $11 call fap@FUNCTION, $pop1, $10, $pop0 - i32.const $14=, 16 - i32.add $15=, $15, $14 - i32.const $14=, __stack_pointer - i32.store $15=, 0($14), $15 + i32.const $push6=, 16 + i32.add $12=, $12, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $12 return .endfunc .Lfunc_end12: @@ -428,21 +420,21 @@ f10: # @f10 .type f11,@function f11: # @f11 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 16 - i32.sub $16=, $13, $14 - i32.const $14=, __stack_pointer - i32.store $16=, 0($14), $16 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $13=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $13 i32.const $push1=, 11 - i32.store $push0=, 12($16), $12 + i32.store $push0=, 12($13), $12 call fap@FUNCTION, $pop1, $11, $pop0 - i32.const $15=, 16 - i32.add $16=, $16, $15 - i32.const $15=, __stack_pointer - i32.store $16=, 0($15), $16 + i32.const $push6=, 16 + i32.add $13=, $13, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $13 return .endfunc .Lfunc_end13: @@ -454,21 +446,21 @@ f11: # @f11 .type f12,@function f12: # @f12 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $14=, __stack_pointer - i32.load $14=, 0($14) - i32.const $15=, 16 - i32.sub $17=, $14, $15 - i32.const $15=, __stack_pointer - i32.store $17=, 0($15), $17 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $14=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $14 i32.const $push1=, 12 - i32.store $push0=, 12($17), $13 + i32.store $push0=, 12($14), $13 call fap@FUNCTION, $pop1, $12, $pop0 - i32.const $16=, 16 - i32.add $17=, $17, $16 - i32.const $16=, __stack_pointer - i32.store $17=, 0($16), $17 + i32.const $push6=, 16 + i32.add $14=, $14, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $14 return .endfunc .Lfunc_end14: @@ -480,21 +472,21 @@ f12: # @f12 .type f13,@function f13: # @f13 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 16 - i32.sub $18=, $15, $16 - i32.const $16=, __stack_pointer - i32.store $18=, 0($16), $18 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $15=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $15 i32.const $push1=, 13 - i32.store $push0=, 12($18), $14 + i32.store $push0=, 12($15), $14 call fap@FUNCTION, $pop1, $13, $pop0 - i32.const $17=, 16 - i32.add $18=, $18, $17 - i32.const $17=, __stack_pointer - i32.store $18=, 0($17), $18 + i32.const $push6=, 16 + i32.add $15=, $15, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $15 return .endfunc .Lfunc_end15: @@ -506,21 +498,21 @@ f13: # @f13 .type f14,@function f14: # @f14 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $16=, __stack_pointer - i32.load $16=, 0($16) - i32.const $17=, 16 - i32.sub $19=, $16, $17 - i32.const $17=, __stack_pointer - i32.store $19=, 0($17), $19 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $16=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $16 i32.const $push1=, 14 - i32.store $push0=, 12($19), $15 + i32.store $push0=, 12($16), $15 call fap@FUNCTION, $pop1, $14, $pop0 - i32.const $18=, 16 - i32.add $19=, $19, $18 - i32.const $18=, __stack_pointer - i32.store $19=, 0($18), $19 + i32.const $push6=, 16 + i32.add $16=, $16, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $16 return .endfunc .Lfunc_end16: @@ -532,21 +524,21 @@ f14: # @f14 .type f15,@function f15: # @f15 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 16 - i32.sub $20=, $17, $18 - i32.const $18=, __stack_pointer - i32.store $20=, 0($18), $20 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $17=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $17 i32.const $push1=, 15 - i32.store $push0=, 12($20), $16 + i32.store $push0=, 12($17), $16 call fap@FUNCTION, $pop1, $15, $pop0 - i32.const $19=, 16 - i32.add $20=, $20, $19 - i32.const $19=, __stack_pointer - i32.store $20=, 0($19), $20 + i32.const $push6=, 16 + i32.add $17=, $17, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $17 return .endfunc .Lfunc_end17: @@ -558,390 +550,334 @@ f15: # @f15 .type main,@function main: # @main .result 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 + .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 # BB#0: # %entry - 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.store $87=, 0($15), $87 + i32.const $push117=, __stack_pointer + i32.load $push118=, 0($pop117) + i32.const $push119=, 640 + i32.sub $71=, $pop118, $pop119 + i32.const $push120=, __stack_pointer + i32.store $discard=, 0($pop120), $71 i32.const $push0=, 56 - i32.const $16=, 576 - i32.add $16=, $87, $16 - i32.add $push1=, $16, $pop0 + i32.const $14=, 576 + i32.add $14=, $71, $14 + i32.add $push1=, $14, $pop0 i64.const $push2=, 64424509454 i64.store $0=, 0($pop1), $pop2 i32.const $push3=, 48 - i32.const $17=, 576 - i32.add $17=, $87, $17 - i32.add $push4=, $17, $pop3 + i32.const $15=, 576 + i32.add $15=, $71, $15 + i32.add $push4=, $15, $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 + i32.const $16=, 576 + i32.add $16=, $71, $16 + i32.add $push7=, $16, $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 + i32.const $17=, 576 + i32.add $17=, $71, $17 + i32.add $push10=, $17, $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 + i32.const $18=, 576 + i32.add $18=, $71, $18 + i32.add $push13=, $18, $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 + i32.const $19=, 576 + i32.add $19=, $71, $19 + i32.add $push16=, $19, $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 + i64.const $push18=, 12884901890 + i64.store $6=, 584($71), $pop18 + i64.const $push19=, 4294967296 + i64.store $discard=, 576($71):p2align=4, $pop19 + i32.const $push20=, .L.str + i32.const $20=, 576 + i32.add $20=, $71, $20 + call f0@FUNCTION, $pop20, $20 + i32.const $push116=, 56 + i32.const $21=, 512 + i32.add $21=, $71, $21 + i32.add $push21=, $21, $pop116 + i32.const $push22=, 15 + i32.store $7=, 0($pop21):p2align=3, $pop22 + i32.const $push115=, 48 + i32.const $22=, 512 + i32.add $22=, $71, $22 + i32.add $push23=, $22, $pop115 + i64.const $push24=, 60129542157 + i64.store $8=, 0($pop23):p2align=4, $pop24 + i32.const $push114=, 40 + i32.const $23=, 512 + i32.add $23=, $71, $23 + i32.add $push25=, $23, $pop114 + i64.const $push26=, 51539607563 + i64.store $9=, 0($pop25), $pop26 + i32.const $push113=, 32 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.add $24=, $71, $24 + i32.add $push27=, $24, $pop113 + i64.const $push28=, 42949672969 + i64.store $10=, 0($pop27):p2align=4, $pop28 + i32.const $push112=, 24 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.add $25=, $71, $25 + i32.add $push29=, $25, $pop112 + i64.const $push30=, 34359738375 + i64.store $11=, 0($pop29), $pop30 + i32.const $push111=, 16 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.add $26=, $71, $26 + i32.add $push31=, $26, $pop111 + i64.const $push32=, 25769803781 + i64.store $12=, 0($pop31):p2align=4, $pop32 + i64.const $push33=, 17179869187 + i64.store $13=, 520($71), $pop33 + i64.const $push34=, 8589934593 + i64.store $discard=, 512($71):p2align=4, $pop34 + i32.const $push35=, .L.str+1 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.add $27=, $71, $27 + call f1@FUNCTION, $7, $pop35, $27 + i32.const $push110=, 48 + i32.const $28=, 448 + i32.add $28=, $71, $28 + i32.add $push36=, $28, $pop110 + i64.store $discard=, 0($pop36):p2align=4, $0 + i32.const $push109=, 40 + i32.const $29=, 448 + i32.add $29=, $71, $29 + i32.add $push37=, $29, $pop109 + i64.store $discard=, 0($pop37), $1 + i32.const $push108=, 32 + i32.const $30=, 448 + i32.add $30=, $71, $30 + i32.add $push38=, $30, $pop108 + i64.store $discard=, 0($pop38):p2align=4, $2 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 $31=, 448 + i32.add $31=, $71, $31 + i32.add $push39=, $31, $pop107 + i64.store $discard=, 0($pop39), $3 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 $32=, 448 + i32.add $32=, $71, $32 + i32.add $push40=, $32, $pop106 + i64.store $discard=, 0($pop40):p2align=4, $4 + i64.store $discard=, 456($71), $5 + i64.store $discard=, 448($71):p2align=4, $6 + i32.const $push41=, .L.str+2 + i32.const $33=, 448 + i32.add $33=, $71, $33 + call f2@FUNCTION, $7, $7, $pop41, $33 + i32.const $push105=, 48 + i32.const $34=, 384 + i32.add $34=, $71, $34 + i32.add $push42=, $34, $pop105 + i32.store $discard=, 0($pop42):p2align=4, $7 + i32.const $push104=, 40 + i32.const $35=, 384 + i32.add $35=, $71, $35 + i32.add $push43=, $35, $pop104 + i64.store $6=, 0($pop43), $8 + i32.const $push103=, 32 + i32.const $36=, 384 + i32.add $36=, $71, $36 + i32.add $push44=, $36, $pop103 + i64.store $8=, 0($pop44):p2align=4, $9 + i32.const $push102=, 24 + i32.const $37=, 384 + i32.add $37=, $71, $37 + i32.add $push45=, $37, $pop102 + i64.store $9=, 0($pop45), $10 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 + i32.const $38=, 384 + i32.add $38=, $71, $38 + i32.add $push46=, $38, $pop101 + i64.store $10=, 0($pop46):p2align=4, $11 + i64.store $11=, 392($71), $12 + i64.store $discard=, 384($71):p2align=4, $13 + i32.const $push47=, .L.str+3 + i32.const $39=, 384 + i32.add $39=, $71, $39 + call f3@FUNCTION, $7, $7, $7, $pop47, $39 + i32.const $push100=, 40 + i32.const $40=, 336 + i32.add $40=, $71, $40 + i32.add $push48=, $40, $pop100 + i64.store $discard=, 0($pop48), $0 + i32.const $push99=, 32 + i32.const $41=, 336 + i32.add $41=, $71, $41 + i32.add $push49=, $41, $pop99 + i64.store $discard=, 0($pop49):p2align=4, $1 + i32.const $push98=, 24 + i32.const $42=, 336 + i32.add $42=, $71, $42 + i32.add $push50=, $42, $pop98 + i64.store $discard=, 0($pop50), $2 + i32.const $push97=, 16 + i32.const $43=, 336 + i32.add $43=, $71, $43 + i32.add $push51=, $43, $pop97 + i64.store $discard=, 0($pop51):p2align=4, $3 + i64.store $discard=, 344($71), $4 + i64.store $discard=, 336($71):p2align=4, $5 + i32.const $push52=, .L.str+4 + i32.const $44=, 336 + i32.add $44=, $71, $44 + call f4@FUNCTION, $7, $7, $7, $7, $pop52, $44 + i32.const $push96=, 40 + i32.const $45=, 288 + i32.add $45=, $71, $45 + i32.add $push53=, $45, $pop96 + i32.store $discard=, 0($pop53):p2align=3, $7 + i32.const $push95=, 32 + i32.const $46=, 288 + i32.add $46=, $71, $46 + i32.add $push54=, $46, $pop95 + i64.store $5=, 0($pop54):p2align=4, $6 + i32.const $push94=, 24 + i32.const $47=, 288 + i32.add $47=, $71, $47 + i32.add $push55=, $47, $pop94 + i64.store $6=, 0($pop55), $8 + i32.const $push93=, 16 + i32.const $48=, 288 + i32.add $48=, $71, $48 + i32.add $push56=, $48, $pop93 + i64.store $8=, 0($pop56):p2align=4, $9 + i64.store $9=, 296($71), $10 + i64.store $discard=, 288($71):p2align=4, $11 + i32.const $push57=, .L.str+5 + i32.const $49=, 288 + i32.add $49=, $71, $49 + call f5@FUNCTION, $7, $7, $7, $7, $7, $pop57, $49 + i32.const $push92=, 32 + i32.const $50=, 240 + i32.add $50=, $71, $50 + i32.add $push58=, $50, $pop92 + i64.store $discard=, 0($pop58):p2align=4, $0 + i32.const $push91=, 24 + i32.const $51=, 240 + i32.add $51=, $71, $51 + i32.add $push59=, $51, $pop91 + i64.store $discard=, 0($pop59), $1 + i32.const $push90=, 16 + i32.const $52=, 240 + i32.add $52=, $71, $52 + i32.add $push60=, $52, $pop90 + i64.store $discard=, 0($pop60):p2align=4, $2 + i64.store $discard=, 248($71), $3 + i64.store $discard=, 240($71):p2align=4, $4 + i32.const $push61=, .L.str+6 + i32.const $53=, 240 + i32.add $53=, $71, $53 + call f6@FUNCTION, $7, $7, $7, $7, $7, $7, $pop61, $53 + i32.const $push89=, 32 + i32.const $54=, 192 + i32.add $54=, $71, $54 + i32.add $push62=, $54, $pop89 + i32.store $discard=, 0($pop62):p2align=4, $7 + i32.const $push88=, 24 + i32.const $55=, 192 + i32.add $55=, $71, $55 + i32.add $push63=, $55, $pop88 + i64.store $4=, 0($pop63), $5 + i32.const $push87=, 16 + i32.const $56=, 192 + i32.add $56=, $71, $56 + i32.add $push64=, $56, $pop87 + i64.store $5=, 0($pop64):p2align=4, $6 + i64.store $6=, 200($71), $8 + i64.store $discard=, 192($71):p2align=4, $9 + i32.const $push65=, .L.str+7 + i32.const $57=, 192 + i32.add $57=, $71, $57 + call f7@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $pop65, $57 + i32.const $push86=, 24 + i32.const $58=, 160 + i32.add $58=, $71, $58 + i32.add $push66=, $58, $pop86 + i64.store $discard=, 0($pop66), $0 + i32.const $push85=, 16 + i32.const $59=, 160 + i32.add $59=, $71, $59 + i32.add $push67=, $59, $pop85 + i64.store $discard=, 0($pop67):p2align=4, $1 + i64.store $discard=, 168($71), $2 + i64.store $discard=, 160($71):p2align=4, $3 + i32.const $push68=, .L.str+8 + i32.const $60=, 160 + i32.add $60=, $71, $60 + call f8@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $pop68, $60 + i32.const $push84=, 24 + i32.const $61=, 128 + i32.add $61=, $71, $61 + i32.add $push69=, $61, $pop84 + i32.store $discard=, 0($pop69):p2align=3, $7 + i32.const $push83=, 16 + i32.const $62=, 128 + i32.add $62=, $71, $62 + i32.add $push70=, $62, $pop83 + i64.store $3=, 0($pop70):p2align=4, $4 + i64.store $4=, 136($71), $5 + i64.store $discard=, 128($71):p2align=4, $6 + i32.const $push71=, .L.str+9 + i32.const $63=, 128 + i32.add $63=, $71, $63 + call f9@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop71, $63 + i32.const $push82=, 16 + i32.const $64=, 96 + i32.add $64=, $71, $64 + i32.add $push72=, $64, $pop82 + i64.store $discard=, 0($pop72):p2align=4, $0 + i64.store $discard=, 104($71), $1 + i64.store $discard=, 96($71):p2align=4, $2 + i32.const $push73=, .L.str+10 + i32.const $65=, 96 + i32.add $65=, $71, $65 + call f10@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop73, $65 + i32.const $push81=, 16 + i32.const $66=, 64 + i32.add $66=, $71, $66 + i32.add $push74=, $66, $pop81 + i32.store $discard=, 0($pop74):p2align=4, $7 + i64.store $2=, 72($71), $3 + i64.store $discard=, 64($71):p2align=4, $4 + i32.const $push75=, .L.str+11 + i32.const $67=, 64 + i32.add $67=, $71, $67 + call f11@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop75, $67 + i64.store $discard=, 56($71), $0 + i64.store $discard=, 48($71):p2align=4, $1 + i32.const $push76=, .L.str+12 + i32.const $68=, 48 + i32.add $68=, $71, $68 + call f12@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop76, $68 + i32.store $discard=, 40($71):p2align=3, $7 + i64.store $discard=, 32($71):p2align=4, $2 + i32.const $push77=, .L.str+13 + i32.const $69=, 32 + i32.add $69=, $71, $69 + call f13@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop77, $69 + i64.store $discard=, 16($71):p2align=4, $0 + i32.const $push78=, .L.str+14 + i32.const $70=, 16 + i32.add $70=, $71, $70 + call f14@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop78, $70 + i32.store $discard=, 0($71):p2align=4, $7 + i32.const $push79=, .L.str+15 + call f15@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop79, $71 + i32.const $push80=, 0 + call exit@FUNCTION, $pop80 unreachable .endfunc .Lfunc_end18: diff --git a/test/torture-s/va-arg-11.c.s b/test/torture-s/va-arg-11.c.s index deca42fd3..c1f4a2d37 100644 --- a/test/torture-s/va-arg-11.c.s +++ b/test/torture-s/va-arg-11.c.s @@ -6,27 +6,25 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($2), $3 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 32 + i32.sub $1=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $1 i32.const $push0=, 16 - i32.add $push1=, $3, $pop0 + i32.add $push1=, $1, $pop0 i32.const $push2=, 0 i32.store $0=, 0($pop1):p2align=4, $pop2 - i32.const $push3=, 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 + i64.const $push3=, 4294967298 + i64.store $discard=, 8($1), $pop3 + i64.const $push4=, 12884901892 + i64.store $discard=, 0($1):p2align=4, $pop4 block - i32.call $push7=, foo@FUNCTION, $0, $3 - br_if 0, $pop7 # 0: down to label0 + i32.call $push5=, foo@FUNCTION, $0, $1 + br_if 0, $pop5 # 0: down to label0 # BB#1: # %if.end call exit@FUNCTION, $0 unreachable @@ -43,61 +41,21 @@ main: # @main foo: # @foo .param i32, i32 .result i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $push0=, 12($5), $1 - i32.const $push1=, 3 - i32.add $push2=, $pop0, $pop1 - i32.const $push3=, -4 - i32.and $push36=, $pop2, $pop3 - tee_local $push35=, $1=, $pop36 - i32.const $push4=, 4 - i32.add $push5=, $pop35, $pop4 - i32.store $discard=, 12($5), $pop5 - i32.const $push6=, 7 - i32.add $push7=, $1, $pop6 - i32.const $push34=, -4 - i32.and $push33=, $pop7, $pop34 - tee_local $push32=, $1=, $pop33 - i32.const $push31=, 4 - i32.add $push8=, $pop32, $pop31 - i32.store $discard=, 12($5), $pop8 - i32.const $push30=, 7 - i32.add $push9=, $1, $pop30 - i32.const $push29=, -4 - i32.and $push28=, $pop9, $pop29 - tee_local $push27=, $1=, $pop28 - i32.const $push26=, 4 - i32.add $push10=, $pop27, $pop26 - i32.store $discard=, 12($5), $pop10 - i32.const $push25=, 7 - i32.add $push11=, $1, $pop25 - i32.const $push24=, -4 - i32.and $push23=, $pop11, $pop24 - tee_local $push22=, $1=, $pop23 - i32.const $push21=, 4 - i32.add $push12=, $pop22, $pop21 - i32.store $discard=, 12($5), $pop12 - i32.const $push20=, 7 - i32.add $push13=, $1, $pop20 - i32.const $push19=, -4 - i32.and $push18=, $pop13, $pop19 - tee_local $push17=, $1=, $pop18 - i32.const $push16=, 4 - i32.add $push14=, $pop17, $pop16 - i32.store $discard=, 12($5), $pop14 - i32.load $push15=, 0($1) - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 - return $pop15 + i32.const $push7=, __stack_pointer + i32.load $push8=, 0($pop7) + i32.const $push9=, 16 + i32.sub $2=, $pop8, $pop9 + i32.store $push6=, 12($2), $1 + tee_local $push5=, $1=, $pop6 + i32.const $push0=, 20 + i32.add $push1=, $pop5, $pop0 + i32.store $discard=, 12($2), $pop1 + i32.const $push2=, 16 + i32.add $push3=, $1, $pop2 + i32.load $push4=, 0($pop3) + return $pop4 .endfunc .Lfunc_end1: .size foo, .Lfunc_end1-foo diff --git a/test/torture-s/va-arg-12.c.s b/test/torture-s/va-arg-12.c.s index 55c58c3ec..9199ef24b 100644 --- a/test/torture-s/va-arg-12.c.s +++ b/test/torture-s/va-arg-12.c.s @@ -6,63 +6,51 @@ .type f,@function f: # @f .param f64, f64, f64, f64, f64, f64, f64, f64, f64, i32 - .local i32, i32, i32, i32 + .local i32, f64, i32 # BB#0: # %entry - i32.const $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 16 - i32.sub $13=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $13=, 0($11), $13 - i32.store $push0=, 12($13), $9 - i32.const $push25=, 7 - i32.add $push1=, $pop0, $pop25 - i32.const $push24=, -8 - i32.and $push23=, $pop1, $pop24 - tee_local $push22=, $9=, $pop23 - i32.const $push21=, 8 - i32.add $push2=, $pop22, $pop21 - i32.store $discard=, 12($13), $pop2 + i32.const $push18=, __stack_pointer + i32.load $push19=, 0($pop18) + i32.const $push20=, 16 + i32.sub $12=, $pop19, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $12 + i32.store $push0=, 12($12), $9 + i32.const $push1=, 7 + i32.add $push2=, $pop0, $pop1 + i32.const $push3=, -8 + i32.and $push17=, $pop2, $pop3 + tee_local $push16=, $9=, $pop17 + f64.load $11=, 0($pop16) + i32.const $push4=, 8 + i32.add $push5=, $9, $pop4 + i32.store $10=, 12($12), $pop5 block - f64.load $push3=, 0($9) - f64.const $push4=, 0x1.4p3 - f64.ne $push5=, $pop3, $pop4 - br_if 0, $pop5 # 0: down to label0 + f64.const $push6=, 0x1.4p3 + f64.ne $push7=, $11, $pop6 + br_if 0, $pop7 # 0: down to label0 # BB#1: # %if.end - i32.load $push6=, 12($13) - i32.const $push30=, 7 - i32.add $push7=, $pop6, $pop30 - i32.const $push29=, -8 - i32.and $push28=, $pop7, $pop29 - tee_local $push27=, $9=, $pop28 - i32.const $push26=, 8 - i32.add $push8=, $pop27, $pop26 - i32.store $discard=, 12($13), $pop8 - f64.load $push9=, 0($9) + f64.load $11=, 0($10) + i32.const $push8=, 16 + i32.add $push9=, $9, $pop8 + i32.store $10=, 12($12), $pop9 f64.const $push10=, 0x1.6p3 - f64.ne $push11=, $pop9, $pop10 + f64.ne $push11=, $11, $pop10 br_if 0, $pop11 # 0: down to label0 -# BB#2: # %if.end4 - i32.load $push12=, 12($13) - i32.const $push13=, 7 - i32.add $push14=, $pop12, $pop13 - i32.const $push15=, -8 - i32.and $push32=, $pop14, $pop15 - tee_local $push31=, $9=, $pop32 - i32.const $push16=, 8 - i32.add $push17=, $pop31, $pop16 - i32.store $discard=, 12($13), $pop17 - f64.load $push18=, 0($9) - f64.const $push19=, 0x0p0 - f64.ne $push20=, $pop18, $pop19 - br_if 0, $pop20 # 0: down to label0 -# BB#3: # %if.end7 - i32.const $12=, 16 - i32.add $13=, $13, $12 - i32.const $12=, __stack_pointer - i32.store $13=, 0($12), $13 +# BB#2: # %if.end6 + f64.load $11=, 0($10) + i32.const $push12=, 24 + i32.add $push13=, $9, $pop12 + i32.store $discard=, 12($12), $pop13 + f64.const $push14=, 0x0p0 + f64.ne $push15=, $11, $pop14 + br_if 0, $pop15 # 0: down to label0 +# BB#3: # %if.end11 + i32.const $push22=, 16 + i32.add $12=, $12, $pop22 + i32.const $push23=, __stack_pointer + i32.store $discard=, 0($pop23), $12 return -.LBB0_4: # %if.then6 +.LBB0_4: # %if.then10 end_block # label0: call abort@FUNCTION unreachable @@ -76,27 +64,25 @@ f: # @f .type main,@function main: # @main .result i32 - .local f64, i32, i32, i32 + .local f64, i32 # BB#0: # %entry - 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.store $3=, 0($2), $3 + i32.const $push6=, __stack_pointer + i32.load $push7=, 0($pop6) + i32.const $push8=, 32 + i32.sub $1=, $pop7, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $1 i32.const $push0=, 16 - i32.add $push1=, $3, $pop0 + i32.add $push1=, $1, $pop0 i64.const $push2=, 0 i64.store $discard=, 0($pop1):p2align=4, $pop2 - i32.const $push3=, 8 - 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 + i64.const $push3=, 4622382067542392832 + i64.store $discard=, 8($1), $pop3 + i64.const $push4=, 4621819117588971520 + i64.store $discard=, 0($1):p2align=4, $pop4 + call f@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $1 + i32.const $push5=, 0 + call exit@FUNCTION, $pop5 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 5d7ef17da..0e4a303d4 100644 --- a/test/torture-s/va-arg-13.c.s +++ b/test/torture-s/va-arg-13.c.s @@ -6,33 +6,13 @@ .type dummy,@function dummy: # @dummy .param 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 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 - i32.store $push0=, 12($4), $0 - i32.const $push1=, 3 - i32.add $push2=, $pop0, $pop1 - i32.const $push3=, -4 - i32.and $push10=, $pop2, $pop3 - tee_local $push9=, $0=, $pop10 - i32.const $push4=, 4 - i32.add $push5=, $pop9, $pop4 - i32.store $discard=, 12($4), $pop5 block - i32.load $push6=, 0($0) - i32.const $push7=, 1234 - i32.ne $push8=, $pop6, $pop7 - br_if 0, $pop8 # 0: down to label0 + i32.load $push0=, 0($0) + i32.const $push1=, 1234 + i32.ne $push2=, $pop0, $pop1 + br_if 0, $pop2 # 0: down to label0 # BB#1: # %if.end - i32.const $3=, 16 - i32.add $4=, $4, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 return .LBB0_2: # %if.then end_block # label0: @@ -48,56 +28,37 @@ dummy: # @dummy .type test,@function test: # @test .param i32, i32 - .local i32, i32, i32, i32, i32, i32 + .local i32 # BB#0: # %entry - 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.const $push21=, 4 - i32.or $push20=, $7, $pop21 - tee_local $push19=, $3=, $pop20 - i32.store $push0=, 0($pop19), $1 - i32.store $push18=, 12($7), $pop0 - tee_local $push17=, $2=, $pop18 - i32.const $push16=, 3 - i32.add $push1=, $pop17, $pop16 - i32.const $push15=, -4 - i32.and $push14=, $pop1, $pop15 - tee_local $push13=, $1=, $pop14 - i32.const $push12=, 4 - i32.add $push2=, $pop13, $pop12 - i32.store $discard=, 12($7), $pop2 + i32.const $push11=, __stack_pointer + i32.load $push12=, 0($pop11) + i32.const $push13=, 16 + i32.sub $2=, $pop12, $pop13 + i32.const $push14=, __stack_pointer + i32.store $discard=, 0($pop14), $2 block - i32.load $push3=, 0($1) - i32.const $push11=, 1234 - i32.ne $push4=, $pop3, $pop11 - br_if 0, $pop4 # 0: down to label1 + i32.store $push9=, 4($2), $1 + tee_local $push8=, $1=, $pop9 + i32.load $push2=, 0($pop8) + i32.const $push7=, 1234 + i32.ne $push3=, $pop2, $pop7 + br_if 0, $pop3 # 0: down to label1 # BB#1: # %dummy.exit - i32.store $discard=, 0($3), $2 - i32.load $push5=, 0($3) - i32.store $push6=, 12($7), $pop5 - i32.const $push27=, 3 - i32.add $push7=, $pop6, $pop27 - i32.const $push26=, -4 - i32.and $push25=, $pop7, $pop26 - tee_local $push24=, $3=, $pop25 - i32.const $push23=, 4 - i32.add $push8=, $pop24, $pop23 - i32.store $discard=, 12($7), $pop8 - i32.load $push9=, 0($3) - i32.const $push22=, 1234 - i32.ne $push10=, $pop9, $pop22 - br_if 0, $pop10 # 0: down to label1 -# BB#2: # %dummy.exit16 - i32.const $6=, 16 - i32.add $7=, $7, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 + i32.const $push1=, 4 + i32.or $push0=, $2, $pop1 + i32.store $discard=, 0($pop0), $1 + i32.load $push4=, 4($2) + i32.load $push5=, 0($pop4) + i32.const $push10=, 1234 + i32.ne $push6=, $pop5, $pop10 + br_if 0, $pop6 # 0: down to label1 +# BB#2: # %dummy.exit15 + i32.const $push15=, 16 + i32.add $2=, $2, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $2 return -.LBB1_3: # %if.then.i15 +.LBB1_3: # %if.then.i14 end_block # label1: call abort@FUNCTION unreachable @@ -111,17 +72,17 @@ test: # @test .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($2), $3 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $1=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $1 i32.const $push0=, 1234 - i32.store $discard=, 0($3):p2align=4, $pop0 - call test@FUNCTION, $0, $3 + i32.store $discard=, 0($1):p2align=4, $pop0 + call test@FUNCTION, $0, $1 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 d2a939321..80b0e4201 100644 --- a/test/torture-s/va-arg-14.c.s +++ b/test/torture-s/va-arg-14.c.s @@ -6,133 +6,104 @@ .type vat,@function vat: # @vat .param i32, i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - i32.store $discard=, 8($6), $1 - i32.load $2=, 8($6) - i32.store $discard=, 12($6), $0 - i32.const $push49=, 3 - i32.add $push1=, $2, $pop49 - i32.const $push48=, -4 - i32.and $push47=, $pop1, $pop48 - tee_local $push46=, $0=, $pop47 - i32.const $push45=, 4 - i32.add $push2=, $pop46, $pop45 - i32.store $discard=, 8($6), $pop2 - i32.const $push44=, 0 - i32.store $push0=, global($pop44), $1 - i32.store $2=, 12($6), $pop0 + i32.const $push58=, __stack_pointer + i32.load $push59=, 0($pop58) + i32.const $push60=, 16 + i32.sub $3=, $pop59, $pop60 + i32.const $push61=, __stack_pointer + i32.store $discard=, 0($pop61), $3 + i32.store $2=, 8($3), $1 + i32.load $1=, 8($3) + i32.store $discard=, 12($3), $0 + i32.const $push30=, 4 + i32.add $push1=, $1, $pop30 + i32.store $discard=, 8($3), $pop1 + i32.const $push29=, 0 + i32.store $push0=, global($pop29), $2 + i32.store $0=, 12($3), $pop0 block - i32.load $push3=, 0($0) - i32.const $push43=, 1 - i32.ne $push4=, $pop3, $pop43 - br_if 0, $pop4 # 0: down to label0 + i32.load $push2=, 0($1) + i32.const $push28=, 1 + i32.ne $push3=, $pop2, $pop28 + br_if 0, $pop3 # 0: down to label0 # BB#1: # %if.end - i32.const $push57=, 0 - i32.const $push56=, 0 - i32.load $push5=, global($pop56) - i32.const $push55=, 3 - i32.add $push6=, $pop5, $pop55 - i32.const $push54=, -4 - i32.and $push53=, $pop6, $pop54 - tee_local $push52=, $1=, $pop53 - i32.const $push51=, 4 - i32.add $push7=, $pop52, $pop51 - i32.store $discard=, global($pop57), $pop7 + i32.const $push36=, 0 + i32.const $push35=, 0 + i32.load $push34=, global($pop35) + tee_local $push33=, $1=, $pop34 + i32.const $push32=, 4 + i32.add $push4=, $pop33, $pop32 + i32.store $discard=, global($pop36), $pop4 + i32.load $push5=, 0($1) + i32.const $push31=, 1 + i32.ne $push6=, $pop5, $pop31 + br_if 0, $pop6 # 0: down to label0 +# BB#2: # %if.end7 + i32.load $push40=, 12($3) + tee_local $push39=, $1=, $pop40 + i32.const $push38=, 4 + i32.add $push7=, $pop39, $pop38 + i32.store $discard=, 12($3), $pop7 i32.load $push8=, 0($1) - i32.const $push50=, 1 - i32.ne $push9=, $pop8, $pop50 + i32.const $push37=, 1 + i32.ne $push9=, $pop8, $pop37 br_if 0, $pop9 # 0: down to label0 -# BB#2: # %if.end5 - i32.load $push10=, 12($6) - i32.const $push63=, 3 - i32.add $push11=, $pop10, $pop63 - i32.const $push62=, -4 - i32.and $push61=, $pop11, $pop62 - tee_local $push60=, $1=, $pop61 - i32.const $push59=, 4 - i32.add $push12=, $pop60, $pop59 - i32.store $discard=, 12($6), $pop12 +# BB#3: # %if.end12 + i32.const $push45=, 0 + i32.store $push10=, 12($3), $0 + i32.store $push11=, global($pop45), $pop10 + i32.store $push44=, 8($3), $pop11 + tee_local $push43=, $1=, $pop44 + i32.const $push42=, 4 + i32.add $push12=, $pop43, $pop42 + i32.store $discard=, 8($3), $pop12 i32.load $push13=, 0($1) - i32.const $push58=, 1 - i32.ne $push14=, $pop13, $pop58 + i32.const $push41=, 1 + i32.ne $push14=, $pop13, $pop41 br_if 0, $pop14 # 0: down to label0 -# BB#3: # %if.end8 - i32.const $push70=, 0 - i32.store $push15=, 12($6), $2 - i32.store $push16=, global($pop70), $pop15 - i32.store $push17=, 8($6), $pop16 - i32.const $push69=, 3 - i32.add $push18=, $pop17, $pop69 - i32.const $push68=, -4 - i32.and $push67=, $pop18, $pop68 - tee_local $push66=, $1=, $pop67 - i32.const $push65=, 4 - i32.add $push19=, $pop66, $pop65 - i32.store $discard=, 8($6), $pop19 - i32.load $push20=, 0($1) - i32.const $push64=, 1 - i32.ne $push21=, $pop20, $pop64 - br_if 0, $pop21 # 0: down to label0 -# BB#4: # %if.end13 - i32.const $push77=, 0 - i32.load $push22=, global($pop77) - i32.store $push23=, 8($6), $pop22 - i32.const $push76=, 3 - i32.add $push24=, $pop23, $pop76 - i32.const $push75=, -4 - i32.and $push74=, $pop24, $pop75 - tee_local $push73=, $1=, $pop74 - i32.const $push72=, 4 - i32.add $push25=, $pop73, $pop72 - i32.store $discard=, 8($6), $pop25 - i32.load $push26=, 0($1) - i32.const $push71=, 1 - i32.ne $push27=, $pop26, $pop71 +# BB#4: # %if.end19 + i32.const $push50=, 0 + i32.load $push15=, global($pop50) + i32.store $push49=, 8($3), $pop15 + tee_local $push48=, $1=, $pop49 + i32.const $push47=, 4 + i32.add $push16=, $pop48, $pop47 + i32.store $discard=, 8($3), $pop16 + i32.load $push17=, 0($1) + i32.const $push46=, 1 + i32.ne $push18=, $pop17, $pop46 + br_if 0, $pop18 # 0: down to label0 +# BB#5: # %if.end25 + i32.const $push19=, 0 + i32.const $push55=, 0 + i32.load $push54=, global($pop55) + tee_local $push53=, $1=, $pop54 + i32.const $push52=, 4 + i32.add $push20=, $pop53, $pop52 + i32.store $discard=, global($pop19), $pop20 + i32.load $push21=, 0($1) + i32.const $push51=, 1 + i32.ne $push22=, $pop21, $pop51 + br_if 0, $pop22 # 0: down to label0 +# BB#6: # %if.end31 + i32.load $push57=, 12($3) + tee_local $push56=, $1=, $pop57 + i32.const $push23=, 4 + i32.add $push24=, $pop56, $pop23 + i32.store $discard=, 12($3), $pop24 + i32.load $push25=, 0($1) + i32.const $push26=, 1 + i32.ne $push27=, $pop25, $pop26 br_if 0, $pop27 # 0: down to label0 -# BB#5: # %if.end17 - i32.const $push28=, 0 - i32.const $push84=, 0 - i32.load $push29=, global($pop84) - i32.const $push83=, 3 - i32.add $push30=, $pop29, $pop83 - i32.const $push82=, -4 - i32.and $push81=, $pop30, $pop82 - tee_local $push80=, $1=, $pop81 - i32.const $push79=, 4 - i32.add $push31=, $pop80, $pop79 - i32.store $discard=, global($pop28), $pop31 - i32.load $push32=, 0($1) - i32.const $push78=, 1 - i32.ne $push33=, $pop32, $pop78 - br_if 0, $pop33 # 0: down to label0 -# BB#6: # %if.end21 - i32.load $push34=, 12($6) - i32.const $push35=, 3 - i32.add $push36=, $pop34, $pop35 - i32.const $push37=, -4 - i32.and $push86=, $pop36, $pop37 - tee_local $push85=, $1=, $pop86 - i32.const $push38=, 4 - i32.add $push39=, $pop85, $pop38 - i32.store $discard=, 12($6), $pop39 - i32.load $push40=, 0($1) - i32.const $push41=, 1 - i32.ne $push42=, $pop40, $pop41 - br_if 0, $pop42 # 0: down to label0 -# BB#7: # %if.end24 - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 +# BB#7: # %if.end36 + i32.const $push62=, 16 + i32.add $3=, $3, $pop62 + i32.const $push63=, __stack_pointer + i32.store $discard=, 0($pop63), $3 return -.LBB0_8: # %if.then23 +.LBB0_8: # %if.then35 end_block # label0: call abort@FUNCTION unreachable @@ -146,17 +117,17 @@ vat: # @vat .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($2), $3 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $1=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $1 i32.const $push0=, 1 - i32.store $discard=, 0($3):p2align=4, $pop0 - call vat@FUNCTION, $0, $3 + i32.store $discard=, 0($1):p2align=4, $pop0 + call vat@FUNCTION, $0, $1 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 995f6789c..cd247233a 100644 --- a/test/torture-s/va-arg-15.c.s +++ b/test/torture-s/va-arg-15.c.s @@ -6,15 +6,15 @@ .type vafunction,@function vafunction: # @vafunction .param i32, i32 - .local i32, i32, i32, i32, i32 + .local f64, 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 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - i32.store $discard=, 12($6), $1 + i32.const $push19=, __stack_pointer + i32.load $push20=, 0($pop19) + i32.const $push21=, 16 + i32.sub $6=, $pop20, $pop21 + i32.const $push22=, __stack_pointer + i32.store $discard=, 0($pop22), $6 + i32.store $5=, 12($6), $1 i32.const $1=, 1 .LBB0_1: # %for.body # =>This Inner Loop Header: Depth=1 @@ -23,58 +23,52 @@ vafunction: # @vafunction loop # label2: block block - i32.const $push15=, -1 - i32.add $push0=, $1, $pop15 - i32.const $push14=, 1 - i32.and $push1=, $pop0, $pop14 - br_if 0, $pop1 # 0: down to label5 + i32.const $push10=, -1 + i32.add $push2=, $1, $pop10 + i32.const $push9=, 1 + i32.and $push3=, $pop2, $pop9 + br_if 0, $pop3 # 0: down to label5 # BB#2: # %if.else # in Loop: Header=BB0_1 Depth=1 - i32.load $push8=, 12($6) - i32.const $push25=, 3 - i32.add $push9=, $pop8, $pop25 - i32.const $push24=, -4 - i32.and $push23=, $pop9, $pop24 - tee_local $push22=, $2=, $pop23 - i32.const $push21=, 4 - i32.add $push10=, $pop22, $pop21 - i32.store $discard=, 12($6), $pop10 - i32.load $push11=, 0($2) - i32.eq $push12=, $1, $pop11 - br_if 1, $pop12 # 1: down to label4 + i32.const $push16=, 4 + i32.add $push1=, $5, $pop16 + i32.store $3=, 12($6), $pop1 + i32.load $4=, 0($5) + copy_local $5=, $3 + i32.eq $push7=, $1, $4 + br_if 1, $pop7 # 1: down to label4 br 4 # 4: down to label1 .LBB0_3: # %if.then # in Loop: Header=BB0_1 Depth=1 end_block # label5: - i32.load $push2=, 12($6) - i32.const $push20=, 7 - i32.add $push3=, $pop2, $pop20 - i32.const $push19=, -8 - i32.and $push18=, $pop3, $pop19 - tee_local $push17=, $2=, $pop18 - i32.const $push16=, 8 - i32.add $push4=, $pop17, $pop16 - i32.store $discard=, 12($6), $pop4 - f64.load $push5=, 0($2) - f64.convert_s/i32 $push6=, $1 - f64.ne $push7=, $pop5, $pop6 - br_if 4, $pop7 # 4: down to label0 + i32.const $push15=, 7 + i32.add $push4=, $5, $pop15 + i32.const $push14=, -8 + i32.and $push13=, $pop4, $pop14 + tee_local $push12=, $5=, $pop13 + f64.load $2=, 0($pop12) + i32.const $push11=, 8 + i32.add $push0=, $5, $pop11 + i32.store $5=, 12($6), $pop0 + f64.convert_s/i32 $push5=, $1 + f64.ne $push6=, $2, $pop5 + br_if 4, $pop6 # 4: down to label0 .LBB0_4: # %for.inc # in Loop: Header=BB0_1 Depth=1 end_block # label4: - i32.const $push27=, 1 - i32.add $1=, $1, $pop27 - i32.const $push26=, 19 - i32.lt_s $push13=, $1, $pop26 - br_if 0, $pop13 # 0: up to label2 + i32.const $push18=, 1 + i32.add $1=, $1, $pop18 + i32.const $push17=, 19 + i32.lt_s $push8=, $1, $pop17 + br_if 0, $pop8 # 0: up to label2 # BB#5: # %for.end end_loop # label3: - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push23=, 16 + i32.add $6=, $6, $pop23 + i32.const $push24=, __stack_pointer + i32.store $discard=, 0($pop24), $6 return -.LBB0_6: # %if.then7 +.LBB0_6: # %if.then9 end_block # label1: call abort@FUNCTION unreachable @@ -92,87 +86,85 @@ vafunction: # @vafunction .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 144 - i32.sub $3=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 + i32.const $push51=, __stack_pointer + i32.load $push52=, 0($pop51) + i32.const $push53=, 144 + i32.sub $1=, $pop52, $pop53 + i32.const $push54=, __stack_pointer + i32.store $discard=, 0($pop54), $1 i32.const $push0=, 136 - i32.add $push1=, $3, $pop0 + i32.add $push1=, $1, $pop0 i64.const $push2=, 4625759767262920704 i64.store $discard=, 0($pop1), $pop2 i32.const $push3=, 128 - i32.add $push4=, $3, $pop3 + i32.add $push4=, $1, $pop3 i32.const $push5=, 17 i32.store $discard=, 0($pop4):p2align=4, $pop5 i32.const $push6=, 120 - i32.add $push7=, $3, $pop6 + i32.add $push7=, $1, $pop6 i64.const $push8=, 4625196817309499392 i64.store $discard=, 0($pop7), $pop8 i32.const $push9=, 112 - i32.add $push10=, $3, $pop9 + i32.add $push10=, $1, $pop9 i32.const $push11=, 15 i32.store $discard=, 0($pop10):p2align=4, $pop11 i32.const $push12=, 104 - i32.add $push13=, $3, $pop12 + i32.add $push13=, $1, $pop12 i64.const $push14=, 4624070917402656768 i64.store $discard=, 0($pop13), $pop14 i32.const $push15=, 96 - i32.add $push16=, $3, $pop15 + i32.add $push16=, $1, $pop15 i32.const $push17=, 13 i32.store $discard=, 0($pop16):p2align=4, $pop17 i32.const $push18=, 88 - i32.add $push19=, $3, $pop18 + i32.add $push19=, $1, $pop18 i64.const $push20=, 4622945017495814144 i64.store $discard=, 0($pop19), $pop20 i32.const $push21=, 80 - i32.add $push22=, $3, $pop21 + i32.add $push22=, $1, $pop21 i32.const $push23=, 11 i32.store $discard=, 0($pop22):p2align=4, $pop23 i32.const $push24=, 72 - i32.add $push25=, $3, $pop24 + i32.add $push25=, $1, $pop24 i64.const $push26=, 4621819117588971520 i64.store $discard=, 0($pop25), $pop26 i32.const $push27=, 64 - i32.add $push28=, $3, $pop27 + i32.add $push28=, $1, $pop27 i32.const $push29=, 9 i32.store $discard=, 0($pop28):p2align=4, $pop29 i32.const $push30=, 56 - i32.add $push31=, $3, $pop30 + i32.add $push31=, $1, $pop30 i64.const $push32=, 4620693217682128896 i64.store $discard=, 0($pop31), $pop32 i32.const $push33=, 48 - i32.add $push34=, $3, $pop33 + i32.add $push34=, $1, $pop33 i32.const $push35=, 7 i32.store $discard=, 0($pop34):p2align=4, $pop35 i32.const $push36=, 40 - i32.add $push37=, $3, $pop36 + i32.add $push37=, $1, $pop36 i64.const $push38=, 4618441417868443648 i64.store $discard=, 0($pop37), $pop38 i32.const $push39=, 32 - i32.add $push40=, $3, $pop39 + i32.add $push40=, $1, $pop39 i32.const $push41=, 5 i32.store $discard=, 0($pop40):p2align=4, $pop41 i32.const $push42=, 24 - i32.add $push43=, $3, $pop42 + i32.add $push43=, $1, $pop42 i64.const $push44=, 4616189618054758400 i64.store $discard=, 0($pop43), $pop44 i32.const $push45=, 16 - i32.add $push46=, $3, $pop45 + i32.add $push46=, $1, $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 + i64.const $push48=, 4611686018427387904 + i64.store $discard=, 8($1), $pop48 + i32.const $push49=, 1 + i32.store $discard=, 0($1):p2align=4, $pop49 + call vafunction@FUNCTION, $0, $1 + i32.const $push50=, 0 + call exit@FUNCTION, $pop50 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 f5f49eeac..a3b6fc83c 100644 --- a/test/torture-s/va-arg-16.c.s +++ b/test/torture-s/va-arg-16.c.s @@ -6,15 +6,15 @@ .type vafunction,@function vafunction: # @vafunction .param f64, f64, i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - i32.store $discard=, 12($6), $2 + i32.const $push46=, __stack_pointer + i32.load $push47=, 0($pop46) + i32.const $push48=, 16 + i32.sub $4=, $pop47, $pop48 + i32.const $push49=, __stack_pointer + i32.store $discard=, 0($pop49), $4 + i32.store $discard=, 12($4), $2 block f64.const $push0=, 0x1.bcp9 f64.ne $push1=, $0, $pop0 @@ -24,138 +24,90 @@ vafunction: # @vafunction f64.ne $push3=, $1, $pop2 br_if 0, $pop3 # 0: down to label0 # BB#2: # %if.end4 - i32.load $push4=, 12($6) - i32.const $push65=, 7 - i32.add $push5=, $pop4, $pop65 - i32.const $push64=, -8 - i32.and $push63=, $pop5, $pop64 - tee_local $push62=, $2=, $pop63 - i32.const $push61=, 8 - i32.add $push6=, $pop62, $pop61 - i32.store $discard=, 12($6), $pop6 - f64.load $push7=, 0($2) - f64.const $push8=, 0x1p0 - f64.ne $push9=, $pop7, $pop8 - br_if 0, $pop9 # 0: down to label0 + i32.load $push4=, 12($4) + i32.const $push5=, 7 + i32.add $push6=, $pop4, $pop5 + i32.const $push7=, -8 + i32.and $push45=, $pop6, $pop7 + tee_local $push44=, $2=, $pop45 + f64.load $0=, 0($pop44) + i32.const $push8=, 8 + i32.add $push9=, $2, $pop8 + i32.store $3=, 12($4), $pop9 + f64.const $push10=, 0x1p0 + f64.ne $push11=, $0, $pop10 + br_if 0, $pop11 # 0: down to label0 # BB#3: # %if.end7 - i32.load $push10=, 12($6) - i32.const $push70=, 7 - i32.add $push11=, $pop10, $pop70 - i32.const $push69=, -8 - i32.and $push68=, $pop11, $pop69 - tee_local $push67=, $2=, $pop68 - i32.const $push66=, 8 - i32.add $push12=, $pop67, $pop66 - i32.store $discard=, 12($6), $pop12 - f64.load $push13=, 0($2) + f64.load $0=, 0($3) + i32.const $push12=, 16 + i32.add $push13=, $2, $pop12 + i32.store $3=, 12($4), $pop13 f64.const $push14=, 0x1p1 - f64.ne $push15=, $pop13, $pop14 + f64.ne $push15=, $0, $pop14 br_if 0, $pop15 # 0: down to label0 -# BB#4: # %if.end10 - i32.load $push16=, 12($6) - i32.const $push75=, 7 - i32.add $push17=, $pop16, $pop75 - i32.const $push74=, -8 - i32.and $push73=, $pop17, $pop74 - tee_local $push72=, $2=, $pop73 - i32.const $push71=, 8 - i32.add $push18=, $pop72, $pop71 - i32.store $discard=, 12($6), $pop18 - f64.load $push19=, 0($2) - f64.const $push20=, 0x1.8p1 - f64.ne $push21=, $pop19, $pop20 - br_if 0, $pop21 # 0: down to label0 -# BB#5: # %if.end13 - i32.load $push22=, 12($6) - i32.const $push80=, 7 - i32.add $push23=, $pop22, $pop80 - i32.const $push79=, -8 - i32.and $push78=, $pop23, $pop79 - tee_local $push77=, $2=, $pop78 - i32.const $push76=, 8 - i32.add $push24=, $pop77, $pop76 - i32.store $discard=, 12($6), $pop24 - f64.load $push25=, 0($2) - f64.const $push26=, 0x1p2 - f64.ne $push27=, $pop25, $pop26 +# BB#4: # %if.end12 + f64.load $0=, 0($3) + i32.const $push16=, 24 + i32.add $push17=, $2, $pop16 + i32.store $3=, 12($4), $pop17 + f64.const $push18=, 0x1.8p1 + f64.ne $push19=, $0, $pop18 + br_if 0, $pop19 # 0: down to label0 +# BB#5: # %if.end17 + f64.load $0=, 0($3) + i32.const $push20=, 32 + i32.add $push21=, $2, $pop20 + i32.store $3=, 12($4), $pop21 + f64.const $push22=, 0x1p2 + f64.ne $push23=, $0, $pop22 + br_if 0, $pop23 # 0: down to label0 +# BB#6: # %if.end22 + f64.load $0=, 0($3) + i32.const $push24=, 40 + i32.add $push25=, $2, $pop24 + i32.store $3=, 12($4), $pop25 + f64.const $push26=, 0x1.4p2 + f64.ne $push27=, $0, $pop26 br_if 0, $pop27 # 0: down to label0 -# BB#6: # %if.end16 - i32.load $push28=, 12($6) - i32.const $push85=, 7 - i32.add $push29=, $pop28, $pop85 - i32.const $push84=, -8 - i32.and $push83=, $pop29, $pop84 - tee_local $push82=, $2=, $pop83 - i32.const $push81=, 8 - i32.add $push30=, $pop82, $pop81 - i32.store $discard=, 12($6), $pop30 - f64.load $push31=, 0($2) - f64.const $push32=, 0x1.4p2 - f64.ne $push33=, $pop31, $pop32 - br_if 0, $pop33 # 0: down to label0 -# BB#7: # %if.end19 - i32.load $push34=, 12($6) - i32.const $push90=, 7 - i32.add $push35=, $pop34, $pop90 - i32.const $push89=, -8 - i32.and $push88=, $pop35, $pop89 - tee_local $push87=, $2=, $pop88 - i32.const $push86=, 8 - i32.add $push36=, $pop87, $pop86 - i32.store $discard=, 12($6), $pop36 - f64.load $push37=, 0($2) - f64.const $push38=, 0x1.8p2 - f64.ne $push39=, $pop37, $pop38 +# BB#7: # %if.end27 + f64.load $0=, 0($3) + i32.const $push28=, 48 + i32.add $push29=, $2, $pop28 + i32.store $3=, 12($4), $pop29 + f64.const $push30=, 0x1.8p2 + f64.ne $push31=, $0, $pop30 + br_if 0, $pop31 # 0: down to label0 +# BB#8: # %if.end32 + f64.load $0=, 0($3) + i32.const $push32=, 56 + i32.add $push33=, $2, $pop32 + i32.store $3=, 12($4), $pop33 + f64.const $push34=, 0x1.cp2 + f64.ne $push35=, $0, $pop34 + br_if 0, $pop35 # 0: down to label0 +# BB#9: # %if.end37 + f64.load $0=, 0($3) + i32.const $push36=, 64 + i32.add $push37=, $2, $pop36 + i32.store $3=, 12($4), $pop37 + f64.const $push38=, 0x1p3 + f64.ne $push39=, $0, $pop38 br_if 0, $pop39 # 0: down to label0 -# BB#8: # %if.end22 - i32.load $push40=, 12($6) - i32.const $push95=, 7 - i32.add $push41=, $pop40, $pop95 - i32.const $push94=, -8 - i32.and $push93=, $pop41, $pop94 - tee_local $push92=, $2=, $pop93 - i32.const $push91=, 8 - i32.add $push42=, $pop92, $pop91 - i32.store $discard=, 12($6), $pop42 - f64.load $push43=, 0($2) - f64.const $push44=, 0x1.cp2 - f64.ne $push45=, $pop43, $pop44 - br_if 0, $pop45 # 0: down to label0 -# BB#9: # %if.end25 - i32.load $push46=, 12($6) - i32.const $push100=, 7 - i32.add $push47=, $pop46, $pop100 - i32.const $push99=, -8 - i32.and $push98=, $pop47, $pop99 - tee_local $push97=, $2=, $pop98 - i32.const $push96=, 8 - i32.add $push48=, $pop97, $pop96 - i32.store $discard=, 12($6), $pop48 - f64.load $push49=, 0($2) - f64.const $push50=, 0x1p3 - f64.ne $push51=, $pop49, $pop50 - br_if 0, $pop51 # 0: down to label0 -# BB#10: # %if.end28 - i32.load $push52=, 12($6) - i32.const $push53=, 7 - i32.add $push54=, $pop52, $pop53 - i32.const $push55=, -8 - i32.and $push102=, $pop54, $pop55 - tee_local $push101=, $2=, $pop102 - i32.const $push56=, 8 - i32.add $push57=, $pop101, $pop56 - i32.store $discard=, 12($6), $pop57 - f64.load $push58=, 0($2) - f64.const $push59=, 0x1.2p3 - f64.ne $push60=, $pop58, $pop59 - br_if 0, $pop60 # 0: down to label0 -# BB#11: # %if.end31 - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 +# BB#10: # %if.end42 + f64.load $0=, 0($3) + i32.const $push40=, 72 + i32.add $push41=, $2, $pop40 + i32.store $discard=, 12($4), $pop41 + f64.const $push42=, 0x1.2p3 + f64.ne $push43=, $0, $pop42 + br_if 0, $pop43 # 0: down to label0 +# BB#11: # %if.end47 + i32.const $push50=, 16 + i32.add $4=, $4, $pop50 + i32.const $push51=, __stack_pointer + i32.store $discard=, 0($pop51), $4 return -.LBB0_12: # %if.then30 +.LBB0_12: # %if.then46 end_block # label0: call abort@FUNCTION unreachable @@ -169,53 +121,51 @@ vafunction: # @vafunction .type main,@function main: # @main .result i32 - .local i32, i32, i32 + .local i32 # BB#0: # %entry - 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.store $2=, 0($1), $2 + i32.const $push26=, __stack_pointer + i32.load $push27=, 0($pop26) + i32.const $push28=, 80 + i32.sub $0=, $pop27, $pop28 + i32.const $push29=, __stack_pointer + i32.store $discard=, 0($pop29), $0 i32.const $push0=, 64 - i32.add $push1=, $2, $pop0 + i32.add $push1=, $0, $pop0 i64.const $push2=, 4621256167635550208 i64.store $discard=, 0($pop1):p2align=4, $pop2 i32.const $push3=, 56 - i32.add $push4=, $2, $pop3 + i32.add $push4=, $0, $pop3 i64.const $push5=, 4620693217682128896 i64.store $discard=, 0($pop4), $pop5 i32.const $push6=, 48 - i32.add $push7=, $2, $pop6 + i32.add $push7=, $0, $pop6 i64.const $push8=, 4619567317775286272 i64.store $discard=, 0($pop7):p2align=4, $pop8 i32.const $push9=, 40 - i32.add $push10=, $2, $pop9 + i32.add $push10=, $0, $pop9 i64.const $push11=, 4618441417868443648 i64.store $discard=, 0($pop10), $pop11 i32.const $push12=, 32 - i32.add $push13=, $2, $pop12 + i32.add $push13=, $0, $pop12 i64.const $push14=, 4617315517961601024 i64.store $discard=, 0($pop13):p2align=4, $pop14 i32.const $push15=, 24 - i32.add $push16=, $2, $pop15 + i32.add $push16=, $0, $pop15 i64.const $push17=, 4616189618054758400 i64.store $discard=, 0($pop16), $pop17 i32.const $push18=, 16 - i32.add $push19=, $2, $pop18 + i32.add $push19=, $0, $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 + i64.const $push21=, 4611686018427387904 + i64.store $discard=, 8($0), $pop21 + i64.const $push22=, 4607182418800017408 + i64.store $discard=, 0($0):p2align=4, $pop22 + f64.const $push24=, 0x1.bcp9 + f64.const $push23=, 0x1.f38p9 + call vafunction@FUNCTION, $pop24, $pop23, $0 + i32.const $push25=, 0 + call exit@FUNCTION, $pop25 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 0141ab909..e8834eed1 100644 --- a/test/torture-s/va-arg-17.c.s +++ b/test/torture-s/va-arg-17.c.s @@ -6,147 +6,99 @@ .type vafunction,@function vafunction: # @vafunction .param i32, i32 - .local i32, i32, i32, i32 + .local i32, f64, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $push0=, 12($5), $1 - i32.const $push61=, 7 - i32.add $push1=, $pop0, $pop61 - i32.const $push60=, -8 - i32.and $push59=, $pop1, $pop60 - tee_local $push58=, $1=, $pop59 - i32.const $push57=, 8 - i32.add $push2=, $pop58, $pop57 - i32.store $discard=, 12($5), $pop2 + i32.const $push42=, __stack_pointer + i32.load $push43=, 0($pop42) + i32.const $push44=, 16 + i32.sub $4=, $pop43, $pop44 + i32.const $push45=, __stack_pointer + i32.store $discard=, 0($pop45), $4 + i32.store $push0=, 12($4), $1 + i32.const $push1=, 7 + i32.add $push2=, $pop0, $pop1 + i32.const $push3=, -8 + i32.and $push41=, $pop2, $pop3 + tee_local $push40=, $1=, $pop41 + f64.load $3=, 0($pop40) + i32.const $push4=, 8 + i32.add $push5=, $1, $pop4 + i32.store $2=, 12($4), $pop5 block - f64.load $push3=, 0($1) - f64.const $push4=, 0x1p0 - f64.ne $push5=, $pop3, $pop4 - br_if 0, $pop5 # 0: down to label0 + f64.const $push6=, 0x1p0 + f64.ne $push7=, $3, $pop6 + br_if 0, $pop7 # 0: down to label0 # BB#1: # %if.end - i32.load $push6=, 12($5) - i32.const $push66=, 7 - i32.add $push7=, $pop6, $pop66 - i32.const $push65=, -8 - i32.and $push64=, $pop7, $pop65 - tee_local $push63=, $1=, $pop64 - i32.const $push62=, 8 - i32.add $push8=, $pop63, $pop62 - i32.store $discard=, 12($5), $pop8 - f64.load $push9=, 0($1) + f64.load $3=, 0($2) + i32.const $push8=, 16 + i32.add $push9=, $1, $pop8 + i32.store $2=, 12($4), $pop9 f64.const $push10=, 0x1p1 - f64.ne $push11=, $pop9, $pop10 + f64.ne $push11=, $3, $pop10 br_if 0, $pop11 # 0: down to label0 -# BB#2: # %if.end4 - i32.load $push12=, 12($5) - i32.const $push71=, 7 - i32.add $push13=, $pop12, $pop71 - i32.const $push70=, -8 - i32.and $push69=, $pop13, $pop70 - tee_local $push68=, $1=, $pop69 - i32.const $push67=, 8 - i32.add $push14=, $pop68, $pop67 - i32.store $discard=, 12($5), $pop14 - f64.load $push15=, 0($1) - f64.const $push16=, 0x1.8p1 - f64.ne $push17=, $pop15, $pop16 - br_if 0, $pop17 # 0: down to label0 -# BB#3: # %if.end7 - i32.load $push18=, 12($5) - i32.const $push76=, 7 - i32.add $push19=, $pop18, $pop76 - i32.const $push75=, -8 - i32.and $push74=, $pop19, $pop75 - tee_local $push73=, $1=, $pop74 - i32.const $push72=, 8 - i32.add $push20=, $pop73, $pop72 - i32.store $discard=, 12($5), $pop20 - f64.load $push21=, 0($1) - f64.const $push22=, 0x1p2 - f64.ne $push23=, $pop21, $pop22 +# BB#2: # %if.end6 + f64.load $3=, 0($2) + i32.const $push12=, 24 + i32.add $push13=, $1, $pop12 + i32.store $2=, 12($4), $pop13 + f64.const $push14=, 0x1.8p1 + f64.ne $push15=, $3, $pop14 + br_if 0, $pop15 # 0: down to label0 +# BB#3: # %if.end11 + f64.load $3=, 0($2) + i32.const $push16=, 32 + i32.add $push17=, $1, $pop16 + i32.store $2=, 12($4), $pop17 + f64.const $push18=, 0x1p2 + f64.ne $push19=, $3, $pop18 + br_if 0, $pop19 # 0: down to label0 +# BB#4: # %if.end16 + f64.load $3=, 0($2) + i32.const $push20=, 40 + i32.add $push21=, $1, $pop20 + i32.store $2=, 12($4), $pop21 + f64.const $push22=, 0x1.4p2 + f64.ne $push23=, $3, $pop22 br_if 0, $pop23 # 0: down to label0 -# BB#4: # %if.end10 - i32.load $push24=, 12($5) - i32.const $push81=, 7 - i32.add $push25=, $pop24, $pop81 - i32.const $push80=, -8 - i32.and $push79=, $pop25, $pop80 - tee_local $push78=, $1=, $pop79 - i32.const $push77=, 8 - i32.add $push26=, $pop78, $pop77 - i32.store $discard=, 12($5), $pop26 - f64.load $push27=, 0($1) - f64.const $push28=, 0x1.4p2 - f64.ne $push29=, $pop27, $pop28 - br_if 0, $pop29 # 0: down to label0 -# BB#5: # %if.end13 - i32.load $push30=, 12($5) - i32.const $push86=, 7 - i32.add $push31=, $pop30, $pop86 - i32.const $push85=, -8 - i32.and $push84=, $pop31, $pop85 - tee_local $push83=, $1=, $pop84 - i32.const $push82=, 8 - i32.add $push32=, $pop83, $pop82 - i32.store $discard=, 12($5), $pop32 - f64.load $push33=, 0($1) - f64.const $push34=, 0x1.8p2 - f64.ne $push35=, $pop33, $pop34 +# BB#5: # %if.end21 + f64.load $3=, 0($2) + i32.const $push24=, 48 + i32.add $push25=, $1, $pop24 + i32.store $2=, 12($4), $pop25 + f64.const $push26=, 0x1.8p2 + f64.ne $push27=, $3, $pop26 + br_if 0, $pop27 # 0: down to label0 +# BB#6: # %if.end26 + f64.load $3=, 0($2) + i32.const $push28=, 56 + i32.add $push29=, $1, $pop28 + i32.store $2=, 12($4), $pop29 + f64.const $push30=, 0x1.cp2 + f64.ne $push31=, $3, $pop30 + br_if 0, $pop31 # 0: down to label0 +# BB#7: # %if.end31 + f64.load $3=, 0($2) + i32.const $push32=, 64 + i32.add $push33=, $1, $pop32 + i32.store $2=, 12($4), $pop33 + f64.const $push34=, 0x1p3 + f64.ne $push35=, $3, $pop34 br_if 0, $pop35 # 0: down to label0 -# BB#6: # %if.end16 - i32.load $push36=, 12($5) - i32.const $push91=, 7 - i32.add $push37=, $pop36, $pop91 - i32.const $push90=, -8 - i32.and $push89=, $pop37, $pop90 - tee_local $push88=, $1=, $pop89 - i32.const $push87=, 8 - i32.add $push38=, $pop88, $pop87 - i32.store $discard=, 12($5), $pop38 - f64.load $push39=, 0($1) - f64.const $push40=, 0x1.cp2 - f64.ne $push41=, $pop39, $pop40 - br_if 0, $pop41 # 0: down to label0 -# BB#7: # %if.end19 - i32.load $push42=, 12($5) - i32.const $push96=, 7 - i32.add $push43=, $pop42, $pop96 - i32.const $push95=, -8 - i32.and $push94=, $pop43, $pop95 - tee_local $push93=, $1=, $pop94 - i32.const $push92=, 8 - i32.add $push44=, $pop93, $pop92 - i32.store $discard=, 12($5), $pop44 - f64.load $push45=, 0($1) - f64.const $push46=, 0x1p3 - f64.ne $push47=, $pop45, $pop46 - br_if 0, $pop47 # 0: down to label0 -# BB#8: # %if.end22 - i32.load $push48=, 12($5) - i32.const $push49=, 7 - i32.add $push50=, $pop48, $pop49 - i32.const $push51=, -8 - i32.and $push98=, $pop50, $pop51 - tee_local $push97=, $1=, $pop98 - i32.const $push52=, 8 - i32.add $push53=, $pop97, $pop52 - i32.store $discard=, 12($5), $pop53 - f64.load $push54=, 0($1) - f64.const $push55=, 0x1.2p3 - f64.ne $push56=, $pop54, $pop55 - br_if 0, $pop56 # 0: down to label0 -# BB#9: # %if.end25 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 +# BB#8: # %if.end36 + f64.load $3=, 0($2) + i32.const $push36=, 72 + i32.add $push37=, $1, $pop36 + i32.store $discard=, 12($4), $pop37 + f64.const $push38=, 0x1.2p3 + f64.ne $push39=, $3, $pop38 + br_if 0, $pop39 # 0: down to label0 +# BB#9: # %if.end41 + i32.const $push46=, 16 + i32.add $4=, $4, $pop46 + i32.const $push47=, __stack_pointer + i32.store $discard=, 0($pop47), $4 return -.LBB0_10: # %if.then24 +.LBB0_10: # %if.then40 end_block # label0: call abort@FUNCTION unreachable @@ -160,51 +112,49 @@ vafunction: # @vafunction .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 80 - i32.sub $3=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 + i32.const $push24=, __stack_pointer + i32.load $push25=, 0($pop24) + i32.const $push26=, 80 + i32.sub $1=, $pop25, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $1 i32.const $push0=, 64 - i32.add $push1=, $3, $pop0 + i32.add $push1=, $1, $pop0 i64.const $push2=, 4621256167635550208 i64.store $discard=, 0($pop1):p2align=4, $pop2 i32.const $push3=, 56 - i32.add $push4=, $3, $pop3 + i32.add $push4=, $1, $pop3 i64.const $push5=, 4620693217682128896 i64.store $discard=, 0($pop4), $pop5 i32.const $push6=, 48 - i32.add $push7=, $3, $pop6 + i32.add $push7=, $1, $pop6 i64.const $push8=, 4619567317775286272 i64.store $discard=, 0($pop7):p2align=4, $pop8 i32.const $push9=, 40 - i32.add $push10=, $3, $pop9 + i32.add $push10=, $1, $pop9 i64.const $push11=, 4618441417868443648 i64.store $discard=, 0($pop10), $pop11 i32.const $push12=, 32 - i32.add $push13=, $3, $pop12 + i32.add $push13=, $1, $pop12 i64.const $push14=, 4617315517961601024 i64.store $discard=, 0($pop13):p2align=4, $pop14 i32.const $push15=, 24 - i32.add $push16=, $3, $pop15 + i32.add $push16=, $1, $pop15 i64.const $push17=, 4616189618054758400 i64.store $discard=, 0($pop16), $pop17 i32.const $push18=, 16 - i32.add $push19=, $3, $pop18 + i32.add $push19=, $1, $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 + i64.const $push21=, 4611686018427387904 + i64.store $discard=, 8($1), $pop21 + i64.const $push22=, 4607182418800017408 + i64.store $discard=, 0($1):p2align=4, $pop22 + call vafunction@FUNCTION, $0, $1 + i32.const $push23=, 0 + call exit@FUNCTION, $pop23 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 65edca4b8..6c5b22b38 100644 --- a/test/torture-s/va-arg-18.c.s +++ b/test/torture-s/va-arg-18.c.s @@ -6,63 +6,47 @@ .type f,@function f: # @f .param f64, f64, f64, f64, f64, f64, f64, f64, f64, i32 - .local i32, i32, i32, i32 + .local 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 - i32.const $11=, __stack_pointer - i32.store $13=, 0($11), $13 - i32.store $push0=, 12($13), $9 - i32.const $push25=, 3 - i32.add $push1=, $pop0, $pop25 - i32.const $push24=, -4 - i32.and $push23=, $pop1, $pop24 - tee_local $push22=, $9=, $pop23 - i32.const $push21=, 4 - i32.add $push2=, $pop22, $pop21 - i32.store $discard=, 12($13), $pop2 + i32.const $push17=, __stack_pointer + i32.load $push18=, 0($pop17) + i32.const $push19=, 16 + i32.sub $12=, $pop18, $pop19 + i32.const $push20=, __stack_pointer + i32.store $discard=, 0($pop20), $12 + i32.store $push15=, 12($12), $9 + tee_local $push14=, $9=, $pop15 + i32.const $push0=, 4 + i32.add $push1=, $pop14, $pop0 + i32.store $10=, 12($12), $pop1 block - i32.load $push3=, 0($9) - i32.const $push4=, 10 - i32.ne $push5=, $pop3, $pop4 - br_if 0, $pop5 # 0: down to label0 + i32.load $push2=, 0($9) + i32.const $push3=, 10 + i32.ne $push4=, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label0 # BB#1: # %if.end - i32.load $push6=, 12($13) - i32.const $push30=, 3 - i32.add $push7=, $pop6, $pop30 - i32.const $push29=, -4 - i32.and $push28=, $pop7, $pop29 - tee_local $push27=, $9=, $pop28 - i32.const $push26=, 4 - i32.add $push8=, $pop27, $pop26 - i32.store $discard=, 12($13), $pop8 - i32.load $push9=, 0($9) - i32.const $push10=, 11 - i32.ne $push11=, $pop9, $pop10 - br_if 0, $pop11 # 0: down to label0 -# BB#2: # %if.end4 - i32.load $push12=, 12($13) - i32.const $push13=, 3 - i32.add $push14=, $pop12, $pop13 - i32.const $push15=, -4 - i32.and $push32=, $pop14, $pop15 - tee_local $push31=, $9=, $pop32 - i32.const $push16=, 4 - i32.add $push17=, $pop31, $pop16 - i32.store $discard=, 12($13), $pop17 - i32.load $push18=, 0($9) - i32.const $push19=, 12 - i32.ne $push20=, $pop18, $pop19 - br_if 0, $pop20 # 0: down to label0 -# BB#3: # %if.end7 - i32.const $12=, 16 - i32.add $13=, $13, $12 - i32.const $12=, __stack_pointer - i32.store $13=, 0($12), $13 + i32.const $push5=, 8 + i32.add $push6=, $9, $pop5 + i32.store $11=, 12($12), $pop6 + i32.load $push7=, 0($10) + i32.const $push8=, 11 + i32.ne $push9=, $pop7, $pop8 + br_if 0, $pop9 # 0: down to label0 +# BB#2: # %if.end6 + i32.const $push10=, 12 + i32.add $push11=, $9, $pop10 + i32.store $discard=, 12($12), $pop11 + i32.load $push12=, 0($11) + i32.const $push16=, 12 + i32.ne $push13=, $pop12, $pop16 + br_if 0, $pop13 # 0: down to label0 +# BB#3: # %if.end11 + i32.const $push21=, 16 + i32.add $12=, $12, $pop21 + i32.const $push22=, __stack_pointer + i32.store $discard=, 0($pop22), $12 return -.LBB0_4: # %if.then6 +.LBB0_4: # %if.then10 end_block # label0: call abort@FUNCTION unreachable @@ -76,23 +60,21 @@ f: # @f .type main,@function main: # @main .result i32 - .local f64, i32, i32, i32 + .local f64, i32 # BB#0: # %entry - 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.store $3=, 0($2), $3 - i32.const $push0=, 8 - i32.or $push1=, $3, $pop0 - i32.const $push2=, 12 - 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 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $1=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $1 + i32.const $push0=, 12 + i32.store $discard=, 8($1):p2align=3, $pop0 + i64.const $push1=, 47244640266 + i64.store $discard=, 0($1):p2align=4, $pop1 + call f@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $1 + i32.const $push2=, 0 + call exit@FUNCTION, $pop2 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 27396043e..891ffdc0a 100644 --- a/test/torture-s/va-arg-19.c.s +++ b/test/torture-s/va-arg-19.c.s @@ -6,147 +6,95 @@ .type vafunction,@function vafunction: # @vafunction .param i32, i32 - .local i32, i32, i32, i32 + .local 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 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $push0=, 12($5), $1 - i32.const $push59=, 3 - i32.add $push1=, $pop0, $pop59 - i32.const $push58=, -4 - i32.and $push57=, $pop1, $pop58 - tee_local $push56=, $1=, $pop57 - i32.const $push55=, 4 - i32.add $push2=, $pop56, $pop55 - i32.store $discard=, 12($5), $pop2 + i32.const $push47=, __stack_pointer + i32.load $push48=, 0($pop47) + i32.const $push49=, 16 + i32.sub $4=, $pop48, $pop49 + i32.const $push50=, __stack_pointer + i32.store $discard=, 0($pop50), $4 + i32.store $push46=, 12($4), $1 + tee_local $push45=, $1=, $pop46 + i32.const $push0=, 4 + i32.add $push1=, $pop45, $pop0 + i32.store $2=, 12($4), $pop1 block - i32.load $push3=, 0($1) - i32.const $push4=, 1 - i32.ne $push5=, $pop3, $pop4 - br_if 0, $pop5 # 0: down to label0 + i32.load $push2=, 0($1) + i32.const $push3=, 1 + i32.ne $push4=, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label0 # BB#1: # %if.end - i32.load $push6=, 12($5) - i32.const $push64=, 3 - i32.add $push7=, $pop6, $pop64 - i32.const $push63=, -4 - i32.and $push62=, $pop7, $pop63 - tee_local $push61=, $1=, $pop62 - i32.const $push60=, 4 - i32.add $push8=, $pop61, $pop60 - i32.store $discard=, 12($5), $pop8 - i32.load $push9=, 0($1) - i32.const $push10=, 2 - i32.ne $push11=, $pop9, $pop10 - br_if 0, $pop11 # 0: down to label0 -# BB#2: # %if.end4 - i32.load $push12=, 12($5) - i32.const $push70=, 3 - i32.add $push13=, $pop12, $pop70 - i32.const $push69=, -4 - i32.and $push68=, $pop13, $pop69 - tee_local $push67=, $1=, $pop68 - i32.const $push66=, 4 - i32.add $push14=, $pop67, $pop66 - i32.store $discard=, 12($5), $pop14 - i32.load $push15=, 0($1) - i32.const $push65=, 3 - i32.ne $push16=, $pop15, $pop65 - br_if 0, $pop16 # 0: down to label0 -# BB#3: # %if.end7 - i32.load $push17=, 12($5) - i32.const $push76=, 3 - i32.add $push18=, $pop17, $pop76 - i32.const $push75=, -4 - i32.and $push74=, $pop18, $pop75 - tee_local $push73=, $1=, $pop74 - i32.const $push72=, 4 - i32.add $push19=, $pop73, $pop72 - i32.store $discard=, 12($5), $pop19 - i32.load $push20=, 0($1) - i32.const $push71=, 4 - i32.ne $push21=, $pop20, $pop71 - br_if 0, $pop21 # 0: down to label0 -# BB#4: # %if.end10 - i32.load $push22=, 12($5) - i32.const $push81=, 3 - i32.add $push23=, $pop22, $pop81 - i32.const $push80=, -4 - i32.and $push79=, $pop23, $pop80 - tee_local $push78=, $1=, $pop79 - i32.const $push77=, 4 - i32.add $push24=, $pop78, $pop77 - i32.store $discard=, 12($5), $pop24 - i32.load $push25=, 0($1) - i32.const $push26=, 5 - i32.ne $push27=, $pop25, $pop26 - br_if 0, $pop27 # 0: down to label0 -# BB#5: # %if.end13 - i32.load $push28=, 12($5) - i32.const $push86=, 3 - i32.add $push29=, $pop28, $pop86 - i32.const $push85=, -4 - i32.and $push84=, $pop29, $pop85 - tee_local $push83=, $1=, $pop84 - i32.const $push82=, 4 - i32.add $push30=, $pop83, $pop82 - i32.store $discard=, 12($5), $pop30 - i32.load $push31=, 0($1) - i32.const $push32=, 6 - i32.ne $push33=, $pop31, $pop32 - br_if 0, $pop33 # 0: down to label0 -# BB#6: # %if.end16 - i32.load $push34=, 12($5) - i32.const $push91=, 3 - i32.add $push35=, $pop34, $pop91 - i32.const $push90=, -4 - i32.and $push89=, $pop35, $pop90 - tee_local $push88=, $1=, $pop89 - i32.const $push87=, 4 - i32.add $push36=, $pop88, $pop87 - i32.store $discard=, 12($5), $pop36 - i32.load $push37=, 0($1) - i32.const $push38=, 7 + i32.const $push5=, 8 + i32.add $push6=, $1, $pop5 + i32.store $3=, 12($4), $pop6 + i32.load $push7=, 0($2) + i32.const $push8=, 2 + i32.ne $push9=, $pop7, $pop8 + br_if 0, $pop9 # 0: down to label0 +# BB#2: # %if.end6 + i32.const $push10=, 12 + i32.add $push11=, $1, $pop10 + i32.store $2=, 12($4), $pop11 + i32.load $push12=, 0($3) + i32.const $push13=, 3 + i32.ne $push14=, $pop12, $pop13 + br_if 0, $pop14 # 0: down to label0 +# BB#3: # %if.end11 + i32.const $push15=, 16 + i32.add $push16=, $1, $pop15 + i32.store $3=, 12($4), $pop16 + i32.load $push17=, 0($2) + i32.const $push18=, 4 + i32.ne $push19=, $pop17, $pop18 + br_if 0, $pop19 # 0: down to label0 +# BB#4: # %if.end16 + i32.const $push20=, 20 + i32.add $push21=, $1, $pop20 + i32.store $2=, 12($4), $pop21 + i32.load $push22=, 0($3) + i32.const $push23=, 5 + i32.ne $push24=, $pop22, $pop23 + br_if 0, $pop24 # 0: down to label0 +# BB#5: # %if.end21 + i32.const $push25=, 24 + i32.add $push26=, $1, $pop25 + i32.store $3=, 12($4), $pop26 + i32.load $push27=, 0($2) + i32.const $push28=, 6 + i32.ne $push29=, $pop27, $pop28 + br_if 0, $pop29 # 0: down to label0 +# BB#6: # %if.end26 + i32.const $push30=, 28 + i32.add $push31=, $1, $pop30 + i32.store $2=, 12($4), $pop31 + i32.load $push32=, 0($3) + i32.const $push33=, 7 + i32.ne $push34=, $pop32, $pop33 + br_if 0, $pop34 # 0: down to label0 +# BB#7: # %if.end31 + i32.const $push35=, 32 + i32.add $push36=, $1, $pop35 + i32.store $3=, 12($4), $pop36 + i32.load $push37=, 0($2) + i32.const $push38=, 8 i32.ne $push39=, $pop37, $pop38 br_if 0, $pop39 # 0: down to label0 -# BB#7: # %if.end19 - i32.load $push40=, 12($5) - i32.const $push96=, 3 - i32.add $push41=, $pop40, $pop96 - i32.const $push95=, -4 - i32.and $push94=, $pop41, $pop95 - tee_local $push93=, $1=, $pop94 - i32.const $push92=, 4 - i32.add $push42=, $pop93, $pop92 - i32.store $discard=, 12($5), $pop42 - i32.load $push43=, 0($1) - i32.const $push44=, 8 - i32.ne $push45=, $pop43, $pop44 - br_if 0, $pop45 # 0: down to label0 -# BB#8: # %if.end22 - i32.load $push46=, 12($5) - i32.const $push47=, 3 - i32.add $push48=, $pop46, $pop47 - i32.const $push49=, -4 - i32.and $push98=, $pop48, $pop49 - tee_local $push97=, $1=, $pop98 - i32.const $push50=, 4 - i32.add $push51=, $pop97, $pop50 - i32.store $discard=, 12($5), $pop51 - i32.load $push52=, 0($1) - i32.const $push53=, 9 - i32.ne $push54=, $pop52, $pop53 - br_if 0, $pop54 # 0: down to label0 -# BB#9: # %if.end25 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 +# BB#8: # %if.end36 + i32.const $push40=, 36 + i32.add $push41=, $1, $pop40 + i32.store $discard=, 12($4), $pop41 + i32.load $push42=, 0($3) + i32.const $push43=, 9 + i32.ne $push44=, $pop42, $pop43 + br_if 0, $pop44 # 0: down to label0 +# BB#9: # %if.end41 + i32.const $push51=, 16 + i32.add $4=, $4, $pop51 + i32.const $push52=, __stack_pointer + i32.store $discard=, 0($pop52), $4 return -.LBB0_10: # %if.then24 +.LBB0_10: # %if.then40 end_block # label0: call abort@FUNCTION unreachable @@ -160,35 +108,33 @@ vafunction: # @vafunction .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 48 - i32.sub $3=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 + i32.const $push12=, __stack_pointer + i32.load $push13=, 0($pop12) + i32.const $push14=, 48 + i32.sub $1=, $pop13, $pop14 + i32.const $push15=, __stack_pointer + i32.store $discard=, 0($pop15), $1 i32.const $push0=, 32 - i32.add $push1=, $3, $pop0 + i32.add $push1=, $1, $pop0 i32.const $push2=, 9 i32.store $discard=, 0($pop1):p2align=4, $pop2 i32.const $push3=, 24 - i32.add $push4=, $3, $pop3 + i32.add $push4=, $1, $pop3 i64.const $push5=, 34359738375 i64.store $discard=, 0($pop4), $pop5 i32.const $push6=, 16 - i32.add $push7=, $3, $pop6 + i32.add $push7=, $1, $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 + i64.const $push9=, 17179869187 + i64.store $discard=, 8($1), $pop9 + i64.const $push10=, 8589934593 + i64.store $discard=, 0($1):p2align=4, $pop10 + call vafunction@FUNCTION, $0, $1 + i32.const $push11=, 0 + call exit@FUNCTION, $pop11 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 1a8db683b..934232396 100644 --- a/test/torture-s/va-arg-2.c.s +++ b/test/torture-s/va-arg-2.c.s @@ -29,62 +29,58 @@ to_hex: # @to_hex .type f0,@function f0: # @f0 .param i32, i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - i32.store $discard=, 12($6), $1 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $3=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $3 + i32.store $discard=, 12($3), $1 block i32.call $push0=, strlen@FUNCTION, $0 - i32.const $push8=, 16 - i32.ne $push1=, $pop0, $pop8 + i32.const $push6=, 16 + i32.ne $push1=, $pop0, $pop6 br_if 0, $pop1 # 0: down to label1 .LBB1_1: # %while.cond # =>This Inner Loop Header: Depth=1 block loop # label3: - i32.load8_u $push10=, 0($0) - tee_local $push9=, $1=, $pop10 - i32.const $push20=, 0 - i32.eq $push21=, $pop9, $pop20 - br_if 2, $pop21 # 2: down to label2 + i32.load8_u $push8=, 0($0) + tee_local $push7=, $1=, $pop8 + i32.const $push22=, 0 + i32.eq $push23=, $pop7, $pop22 + br_if 2, $pop23 # 2: down to label2 # BB#2: # %while.body # in Loop: Header=BB1_1 Depth=1 - i32.load $push2=, 12($6) - i32.const $push18=, 3 - i32.add $push3=, $pop2, $pop18 - i32.const $push17=, -4 - i32.and $push16=, $pop3, $pop17 - tee_local $push15=, $2=, $pop16 - i32.const $push14=, 4 - i32.add $push4=, $pop15, $pop14 - i32.store $discard=, 12($6), $pop4 - i32.load $push13=, 0($2) - tee_local $push12=, $2=, $pop13 - i32.const $push11=, 16 - i32.ge_u $push5=, $pop12, $pop11 - br_if 3, $pop5 # 3: down to label1 + i32.load $push14=, 12($3) + tee_local $push13=, $2=, $pop14 + i32.const $push12=, 4 + i32.add $push2=, $pop13, $pop12 + i32.store $discard=, 12($3), $pop2 + i32.load $push11=, 0($2) + tee_local $push10=, $2=, $pop11 + i32.const $push9=, 16 + i32.ge_u $push3=, $pop10, $pop9 + br_if 3, $pop3 # 3: down to label1 # BB#3: # %to_hex.exit # in Loop: Header=BB1_1 Depth=1 - i32.const $push19=, 1 - i32.add $0=, $0, $pop19 - i32.load8_u $push6=, .L.str($2) - i32.eq $push7=, $1, $pop6 - br_if 0, $pop7 # 0: up to label3 + i32.const $push15=, 1 + i32.add $0=, $0, $pop15 + i32.load8_u $push4=, .L.str($2) + i32.eq $push5=, $1, $pop4 + br_if 0, $pop5 # 0: up to label3 # BB#4: # %if.then5 end_loop # label4: call abort@FUNCTION unreachable .LBB1_5: # %while.end end_block # label2: - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push20=, 16 + i32.add $3=, $3, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $3 return .LBB1_6: # %if.then.i end_block # label1: @@ -100,15 +96,15 @@ f0: # @f0 .type f1,@function f1: # @f1 .param i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $4=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $4 + i32.store $discard=, 12($4), $2 block i32.call $push0=, strlen@FUNCTION, $1 i32.const $push1=, 15 @@ -118,44 +114,40 @@ f1: # @f1 # =>This Inner Loop Header: Depth=1 block loop # label7: - i32.load8_u $push10=, 0($1) - tee_local $push9=, $2=, $pop10 - i32.const $push20=, 0 - i32.eq $push21=, $pop9, $pop20 - br_if 2, $pop21 # 2: down to label6 + i32.load8_u $push8=, 0($1) + tee_local $push7=, $2=, $pop8 + i32.const $push22=, 0 + i32.eq $push23=, $pop7, $pop22 + br_if 2, $pop23 # 2: down to label6 # BB#2: # %while.body # in Loop: Header=BB2_1 Depth=1 - i32.load $push3=, 12($7) - i32.const $push18=, 3 - i32.add $push4=, $pop3, $pop18 - i32.const $push17=, -4 - i32.and $push16=, $pop4, $pop17 - tee_local $push15=, $3=, $pop16 - i32.const $push14=, 4 - i32.add $push5=, $pop15, $pop14 - i32.store $discard=, 12($7), $pop5 - i32.load $push13=, 0($3) - tee_local $push12=, $3=, $pop13 - i32.const $push11=, 16 - i32.ge_u $push6=, $pop12, $pop11 - br_if 3, $pop6 # 3: down to label5 + i32.load $push14=, 12($4) + tee_local $push13=, $3=, $pop14 + i32.const $push12=, 4 + i32.add $push3=, $pop13, $pop12 + i32.store $discard=, 12($4), $pop3 + i32.load $push11=, 0($3) + tee_local $push10=, $3=, $pop11 + i32.const $push9=, 16 + i32.ge_u $push4=, $pop10, $pop9 + br_if 3, $pop4 # 3: down to label5 # BB#3: # %to_hex.exit # in Loop: Header=BB2_1 Depth=1 - i32.const $push19=, 1 - i32.add $1=, $1, $pop19 - i32.load8_u $push7=, .L.str($3) - i32.eq $push8=, $2, $pop7 - br_if 0, $pop8 # 0: up to label7 + i32.const $push15=, 1 + i32.add $1=, $1, $pop15 + i32.load8_u $push5=, .L.str($3) + i32.eq $push6=, $2, $pop5 + br_if 0, $pop6 # 0: up to label7 # BB#4: # %if.then5 end_loop # label8: call abort@FUNCTION unreachable .LBB2_5: # %while.end end_block # label6: - i32.const $6=, 16 - i32.add $7=, $7, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 + i32.const $push20=, 16 + i32.add $4=, $4, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $4 return .LBB2_6: # %if.then.i end_block # label5: @@ -171,15 +163,15 @@ f1: # @f1 .type f2,@function f2: # @f2 .param i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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.store $discard=, 12($8), $3 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $5=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $5 + i32.store $discard=, 12($5), $3 block i32.call $push0=, strlen@FUNCTION, $2 i32.const $push1=, 14 @@ -189,44 +181,40 @@ f2: # @f2 # =>This Inner Loop Header: Depth=1 block loop # label11: - i32.load8_u $push10=, 0($2) - tee_local $push9=, $3=, $pop10 - i32.const $push20=, 0 - i32.eq $push21=, $pop9, $pop20 - br_if 2, $pop21 # 2: down to label10 + i32.load8_u $push8=, 0($2) + tee_local $push7=, $3=, $pop8 + i32.const $push22=, 0 + i32.eq $push23=, $pop7, $pop22 + br_if 2, $pop23 # 2: down to label10 # BB#2: # %while.body # in Loop: Header=BB3_1 Depth=1 - i32.load $push3=, 12($8) - i32.const $push18=, 3 - i32.add $push4=, $pop3, $pop18 - i32.const $push17=, -4 - i32.and $push16=, $pop4, $pop17 - tee_local $push15=, $4=, $pop16 - i32.const $push14=, 4 - i32.add $push5=, $pop15, $pop14 - i32.store $discard=, 12($8), $pop5 - i32.load $push13=, 0($4) - tee_local $push12=, $4=, $pop13 - i32.const $push11=, 16 - i32.ge_u $push6=, $pop12, $pop11 - br_if 3, $pop6 # 3: down to label9 + i32.load $push14=, 12($5) + tee_local $push13=, $4=, $pop14 + i32.const $push12=, 4 + i32.add $push3=, $pop13, $pop12 + i32.store $discard=, 12($5), $pop3 + i32.load $push11=, 0($4) + tee_local $push10=, $4=, $pop11 + i32.const $push9=, 16 + i32.ge_u $push4=, $pop10, $pop9 + br_if 3, $pop4 # 3: down to label9 # BB#3: # %to_hex.exit # in Loop: Header=BB3_1 Depth=1 - i32.const $push19=, 1 - i32.add $2=, $2, $pop19 - i32.load8_u $push7=, .L.str($4) - i32.eq $push8=, $3, $pop7 - br_if 0, $pop8 # 0: up to label11 + i32.const $push15=, 1 + i32.add $2=, $2, $pop15 + i32.load8_u $push5=, .L.str($4) + i32.eq $push6=, $3, $pop5 + br_if 0, $pop6 # 0: up to label11 # BB#4: # %if.then5 end_loop # label12: call abort@FUNCTION unreachable .LBB3_5: # %while.end end_block # label10: - i32.const $7=, 16 - i32.add $8=, $8, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 + i32.const $push20=, 16 + i32.add $5=, $5, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $5 return .LBB3_6: # %if.then.i end_block # label9: @@ -242,15 +230,15 @@ f2: # @f2 .type f3,@function f3: # @f3 .param i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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.store $discard=, 12($9), $4 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $6=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $6 + i32.store $discard=, 12($6), $4 block i32.call $push0=, strlen@FUNCTION, $3 i32.const $push1=, 13 @@ -260,44 +248,40 @@ f3: # @f3 # =>This Inner Loop Header: Depth=1 block loop # label15: - i32.load8_u $push10=, 0($3) - tee_local $push9=, $4=, $pop10 - i32.const $push20=, 0 - i32.eq $push21=, $pop9, $pop20 - br_if 2, $pop21 # 2: down to label14 + i32.load8_u $push8=, 0($3) + tee_local $push7=, $4=, $pop8 + i32.const $push22=, 0 + i32.eq $push23=, $pop7, $pop22 + br_if 2, $pop23 # 2: down to label14 # BB#2: # %while.body # in Loop: Header=BB4_1 Depth=1 - i32.load $push3=, 12($9) - i32.const $push18=, 3 - i32.add $push4=, $pop3, $pop18 - i32.const $push17=, -4 - i32.and $push16=, $pop4, $pop17 - tee_local $push15=, $5=, $pop16 - i32.const $push14=, 4 - i32.add $push5=, $pop15, $pop14 - i32.store $discard=, 12($9), $pop5 - i32.load $push13=, 0($5) - tee_local $push12=, $5=, $pop13 - i32.const $push11=, 16 - i32.ge_u $push6=, $pop12, $pop11 - br_if 3, $pop6 # 3: down to label13 + i32.load $push14=, 12($6) + tee_local $push13=, $5=, $pop14 + i32.const $push12=, 4 + i32.add $push3=, $pop13, $pop12 + i32.store $discard=, 12($6), $pop3 + i32.load $push11=, 0($5) + tee_local $push10=, $5=, $pop11 + i32.const $push9=, 16 + i32.ge_u $push4=, $pop10, $pop9 + br_if 3, $pop4 # 3: down to label13 # BB#3: # %to_hex.exit # in Loop: Header=BB4_1 Depth=1 - i32.const $push19=, 1 - i32.add $3=, $3, $pop19 - i32.load8_u $push7=, .L.str($5) - i32.eq $push8=, $4, $pop7 - br_if 0, $pop8 # 0: up to label15 + i32.const $push15=, 1 + i32.add $3=, $3, $pop15 + i32.load8_u $push5=, .L.str($5) + i32.eq $push6=, $4, $pop5 + br_if 0, $pop6 # 0: up to label15 # BB#4: # %if.then5 end_loop # label16: call abort@FUNCTION unreachable .LBB4_5: # %while.end end_block # label14: - i32.const $8=, 16 - i32.add $9=, $9, $8 - i32.const $8=, __stack_pointer - i32.store $9=, 0($8), $9 + i32.const $push20=, 16 + i32.add $6=, $6, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $6 return .LBB4_6: # %if.then.i end_block # label13: @@ -313,15 +297,15 @@ f3: # @f3 .type f4,@function f4: # @f4 .param i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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.store $discard=, 12($10), $5 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $7=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $7 + i32.store $discard=, 12($7), $5 block i32.call $push0=, strlen@FUNCTION, $4 i32.const $push1=, 12 @@ -331,44 +315,40 @@ f4: # @f4 # =>This Inner Loop Header: Depth=1 block loop # label19: - i32.load8_u $push10=, 0($4) - tee_local $push9=, $5=, $pop10 - i32.const $push20=, 0 - i32.eq $push21=, $pop9, $pop20 - br_if 2, $pop21 # 2: down to label18 + i32.load8_u $push8=, 0($4) + tee_local $push7=, $5=, $pop8 + i32.const $push22=, 0 + i32.eq $push23=, $pop7, $pop22 + br_if 2, $pop23 # 2: down to label18 # BB#2: # %while.body # in Loop: Header=BB5_1 Depth=1 - i32.load $push3=, 12($10) - i32.const $push18=, 3 - i32.add $push4=, $pop3, $pop18 - i32.const $push17=, -4 - i32.and $push16=, $pop4, $pop17 - tee_local $push15=, $6=, $pop16 - i32.const $push14=, 4 - i32.add $push5=, $pop15, $pop14 - i32.store $discard=, 12($10), $pop5 - i32.load $push13=, 0($6) - tee_local $push12=, $6=, $pop13 - i32.const $push11=, 16 - i32.ge_u $push6=, $pop12, $pop11 - br_if 3, $pop6 # 3: down to label17 + i32.load $push14=, 12($7) + tee_local $push13=, $6=, $pop14 + i32.const $push12=, 4 + i32.add $push3=, $pop13, $pop12 + i32.store $discard=, 12($7), $pop3 + i32.load $push11=, 0($6) + tee_local $push10=, $6=, $pop11 + i32.const $push9=, 16 + i32.ge_u $push4=, $pop10, $pop9 + br_if 3, $pop4 # 3: down to label17 # BB#3: # %to_hex.exit # in Loop: Header=BB5_1 Depth=1 - i32.const $push19=, 1 - i32.add $4=, $4, $pop19 - i32.load8_u $push7=, .L.str($6) - i32.eq $push8=, $5, $pop7 - br_if 0, $pop8 # 0: up to label19 + i32.const $push15=, 1 + i32.add $4=, $4, $pop15 + i32.load8_u $push5=, .L.str($6) + i32.eq $push6=, $5, $pop5 + br_if 0, $pop6 # 0: up to label19 # BB#4: # %if.then5 end_loop # label20: call abort@FUNCTION unreachable .LBB5_5: # %while.end end_block # label18: - i32.const $9=, 16 - i32.add $10=, $10, $9 - i32.const $9=, __stack_pointer - i32.store $10=, 0($9), $10 + i32.const $push20=, 16 + i32.add $7=, $7, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $7 return .LBB5_6: # %if.then.i end_block # label17: @@ -384,15 +364,15 @@ f4: # @f4 .type f5,@function f5: # @f5 .param i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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.store $discard=, 12($11), $6 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $8=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $8 + i32.store $discard=, 12($8), $6 block i32.call $push0=, strlen@FUNCTION, $5 i32.const $push1=, 11 @@ -402,44 +382,40 @@ f5: # @f5 # =>This Inner Loop Header: Depth=1 block loop # label23: - i32.load8_u $push10=, 0($5) - tee_local $push9=, $6=, $pop10 - i32.const $push20=, 0 - i32.eq $push21=, $pop9, $pop20 - br_if 2, $pop21 # 2: down to label22 + i32.load8_u $push8=, 0($5) + tee_local $push7=, $6=, $pop8 + i32.const $push22=, 0 + i32.eq $push23=, $pop7, $pop22 + br_if 2, $pop23 # 2: down to label22 # BB#2: # %while.body # in Loop: Header=BB6_1 Depth=1 - i32.load $push3=, 12($11) - i32.const $push18=, 3 - i32.add $push4=, $pop3, $pop18 - i32.const $push17=, -4 - i32.and $push16=, $pop4, $pop17 - tee_local $push15=, $7=, $pop16 - i32.const $push14=, 4 - i32.add $push5=, $pop15, $pop14 - i32.store $discard=, 12($11), $pop5 - i32.load $push13=, 0($7) - tee_local $push12=, $7=, $pop13 - i32.const $push11=, 16 - i32.ge_u $push6=, $pop12, $pop11 - br_if 3, $pop6 # 3: down to label21 + i32.load $push14=, 12($8) + tee_local $push13=, $7=, $pop14 + i32.const $push12=, 4 + i32.add $push3=, $pop13, $pop12 + i32.store $discard=, 12($8), $pop3 + i32.load $push11=, 0($7) + tee_local $push10=, $7=, $pop11 + i32.const $push9=, 16 + i32.ge_u $push4=, $pop10, $pop9 + br_if 3, $pop4 # 3: down to label21 # BB#3: # %to_hex.exit # in Loop: Header=BB6_1 Depth=1 - i32.const $push19=, 1 - i32.add $5=, $5, $pop19 - i32.load8_u $push7=, .L.str($7) - i32.eq $push8=, $6, $pop7 - br_if 0, $pop8 # 0: up to label23 + i32.const $push15=, 1 + i32.add $5=, $5, $pop15 + i32.load8_u $push5=, .L.str($7) + i32.eq $push6=, $6, $pop5 + br_if 0, $pop6 # 0: up to label23 # BB#4: # %if.then5 end_loop # label24: call abort@FUNCTION unreachable .LBB6_5: # %while.end end_block # label22: - i32.const $10=, 16 - i32.add $11=, $11, $10 - i32.const $10=, __stack_pointer - i32.store $11=, 0($10), $11 + i32.const $push20=, 16 + i32.add $8=, $8, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $8 return .LBB6_6: # %if.then.i end_block # label21: @@ -455,15 +431,15 @@ f5: # @f5 .type f6,@function f6: # @f6 .param i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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.store $discard=, 12($12), $7 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $9=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $9 + i32.store $discard=, 12($9), $7 block i32.call $push0=, strlen@FUNCTION, $6 i32.const $push1=, 10 @@ -473,44 +449,40 @@ f6: # @f6 # =>This Inner Loop Header: Depth=1 block loop # label27: - i32.load8_u $push10=, 0($6) - tee_local $push9=, $7=, $pop10 - i32.const $push20=, 0 - i32.eq $push21=, $pop9, $pop20 - br_if 2, $pop21 # 2: down to label26 + i32.load8_u $push8=, 0($6) + tee_local $push7=, $7=, $pop8 + i32.const $push22=, 0 + i32.eq $push23=, $pop7, $pop22 + br_if 2, $pop23 # 2: down to label26 # BB#2: # %while.body # in Loop: Header=BB7_1 Depth=1 - i32.load $push3=, 12($12) - i32.const $push18=, 3 - i32.add $push4=, $pop3, $pop18 - i32.const $push17=, -4 - i32.and $push16=, $pop4, $pop17 - tee_local $push15=, $8=, $pop16 - i32.const $push14=, 4 - i32.add $push5=, $pop15, $pop14 - i32.store $discard=, 12($12), $pop5 - i32.load $push13=, 0($8) - tee_local $push12=, $8=, $pop13 - i32.const $push11=, 16 - i32.ge_u $push6=, $pop12, $pop11 - br_if 3, $pop6 # 3: down to label25 + i32.load $push14=, 12($9) + tee_local $push13=, $8=, $pop14 + i32.const $push12=, 4 + i32.add $push3=, $pop13, $pop12 + i32.store $discard=, 12($9), $pop3 + i32.load $push11=, 0($8) + tee_local $push10=, $8=, $pop11 + i32.const $push9=, 16 + i32.ge_u $push4=, $pop10, $pop9 + br_if 3, $pop4 # 3: down to label25 # BB#3: # %to_hex.exit # in Loop: Header=BB7_1 Depth=1 - i32.const $push19=, 1 - i32.add $6=, $6, $pop19 - i32.load8_u $push7=, .L.str($8) - i32.eq $push8=, $7, $pop7 - br_if 0, $pop8 # 0: up to label27 + i32.const $push15=, 1 + i32.add $6=, $6, $pop15 + i32.load8_u $push5=, .L.str($8) + i32.eq $push6=, $7, $pop5 + br_if 0, $pop6 # 0: up to label27 # BB#4: # %if.then5 end_loop # label28: call abort@FUNCTION unreachable .LBB7_5: # %while.end end_block # label26: - i32.const $11=, 16 - i32.add $12=, $12, $11 - i32.const $11=, __stack_pointer - i32.store $12=, 0($11), $12 + i32.const $push20=, 16 + i32.add $9=, $9, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $9 return .LBB7_6: # %if.then.i end_block # label25: @@ -526,15 +498,15 @@ f6: # @f6 .type f7,@function f7: # @f7 .param i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 16 - i32.sub $13=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $13=, 0($11), $13 - i32.store $discard=, 12($13), $8 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $10=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $10 + i32.store $discard=, 12($10), $8 block i32.call $push0=, strlen@FUNCTION, $7 i32.const $push1=, 9 @@ -544,44 +516,40 @@ f7: # @f7 # =>This Inner Loop Header: Depth=1 block loop # label31: - i32.load8_u $push10=, 0($7) - tee_local $push9=, $8=, $pop10 - i32.const $push20=, 0 - i32.eq $push21=, $pop9, $pop20 - br_if 2, $pop21 # 2: down to label30 + i32.load8_u $push8=, 0($7) + tee_local $push7=, $8=, $pop8 + i32.const $push22=, 0 + i32.eq $push23=, $pop7, $pop22 + br_if 2, $pop23 # 2: down to label30 # BB#2: # %while.body # in Loop: Header=BB8_1 Depth=1 - i32.load $push3=, 12($13) - i32.const $push18=, 3 - i32.add $push4=, $pop3, $pop18 - i32.const $push17=, -4 - i32.and $push16=, $pop4, $pop17 - tee_local $push15=, $9=, $pop16 - i32.const $push14=, 4 - i32.add $push5=, $pop15, $pop14 - i32.store $discard=, 12($13), $pop5 - i32.load $push13=, 0($9) - tee_local $push12=, $9=, $pop13 - i32.const $push11=, 16 - i32.ge_u $push6=, $pop12, $pop11 - br_if 3, $pop6 # 3: down to label29 + i32.load $push14=, 12($10) + tee_local $push13=, $9=, $pop14 + i32.const $push12=, 4 + i32.add $push3=, $pop13, $pop12 + i32.store $discard=, 12($10), $pop3 + i32.load $push11=, 0($9) + tee_local $push10=, $9=, $pop11 + i32.const $push9=, 16 + i32.ge_u $push4=, $pop10, $pop9 + br_if 3, $pop4 # 3: down to label29 # BB#3: # %to_hex.exit # in Loop: Header=BB8_1 Depth=1 - i32.const $push19=, 1 - i32.add $7=, $7, $pop19 - i32.load8_u $push7=, .L.str($9) - i32.eq $push8=, $8, $pop7 - br_if 0, $pop8 # 0: up to label31 + i32.const $push15=, 1 + i32.add $7=, $7, $pop15 + i32.load8_u $push5=, .L.str($9) + i32.eq $push6=, $8, $pop5 + br_if 0, $pop6 # 0: up to label31 # BB#4: # %if.then5 end_loop # label32: call abort@FUNCTION unreachable .LBB8_5: # %while.end end_block # label30: - i32.const $12=, 16 - i32.add $13=, $13, $12 - i32.const $12=, __stack_pointer - i32.store $13=, 0($12), $13 + i32.const $push20=, 16 + i32.add $10=, $10, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $10 return .LBB8_6: # %if.then.i end_block # label29: @@ -597,15 +565,15 @@ f7: # @f7 .type f8,@function f8: # @f8 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $11=, __stack_pointer - i32.load $11=, 0($11) - i32.const $12=, 16 - i32.sub $14=, $11, $12 - i32.const $12=, __stack_pointer - i32.store $14=, 0($12), $14 - i32.store $discard=, 12($14), $9 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $11=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $11 + i32.store $discard=, 12($11), $9 block i32.call $push0=, strlen@FUNCTION, $8 i32.const $push1=, 8 @@ -615,44 +583,40 @@ f8: # @f8 # =>This Inner Loop Header: Depth=1 block loop # label35: - i32.load8_u $push10=, 0($8) - tee_local $push9=, $9=, $pop10 - i32.const $push20=, 0 - i32.eq $push21=, $pop9, $pop20 - br_if 2, $pop21 # 2: down to label34 + i32.load8_u $push8=, 0($8) + tee_local $push7=, $9=, $pop8 + i32.const $push22=, 0 + i32.eq $push23=, $pop7, $pop22 + br_if 2, $pop23 # 2: down to label34 # BB#2: # %while.body # in Loop: Header=BB9_1 Depth=1 - i32.load $push3=, 12($14) - i32.const $push18=, 3 - i32.add $push4=, $pop3, $pop18 - i32.const $push17=, -4 - i32.and $push16=, $pop4, $pop17 - tee_local $push15=, $10=, $pop16 - i32.const $push14=, 4 - i32.add $push5=, $pop15, $pop14 - i32.store $discard=, 12($14), $pop5 - i32.load $push13=, 0($10) - tee_local $push12=, $10=, $pop13 - i32.const $push11=, 16 - i32.ge_u $push6=, $pop12, $pop11 - br_if 3, $pop6 # 3: down to label33 + i32.load $push14=, 12($11) + tee_local $push13=, $10=, $pop14 + i32.const $push12=, 4 + i32.add $push3=, $pop13, $pop12 + i32.store $discard=, 12($11), $pop3 + i32.load $push11=, 0($10) + tee_local $push10=, $10=, $pop11 + i32.const $push9=, 16 + i32.ge_u $push4=, $pop10, $pop9 + br_if 3, $pop4 # 3: down to label33 # BB#3: # %to_hex.exit # in Loop: Header=BB9_1 Depth=1 - i32.const $push19=, 1 - i32.add $8=, $8, $pop19 - i32.load8_u $push7=, .L.str($10) - i32.eq $push8=, $9, $pop7 - br_if 0, $pop8 # 0: up to label35 + i32.const $push15=, 1 + i32.add $8=, $8, $pop15 + i32.load8_u $push5=, .L.str($10) + i32.eq $push6=, $9, $pop5 + br_if 0, $pop6 # 0: up to label35 # BB#4: # %if.then5 end_loop # label36: call abort@FUNCTION unreachable .LBB9_5: # %while.end end_block # label34: - i32.const $13=, 16 - i32.add $14=, $14, $13 - i32.const $13=, __stack_pointer - i32.store $14=, 0($13), $14 + i32.const $push20=, 16 + i32.add $11=, $11, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $11 return .LBB9_6: # %if.then.i end_block # label33: @@ -668,15 +632,15 @@ f8: # @f8 .type f9,@function f9: # @f9 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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.store $discard=, 12($15), $10 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $12=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $12 + i32.store $discard=, 12($12), $10 block i32.call $push0=, strlen@FUNCTION, $9 i32.const $push1=, 7 @@ -686,44 +650,40 @@ f9: # @f9 # =>This Inner Loop Header: Depth=1 block loop # label39: - i32.load8_u $push10=, 0($9) - tee_local $push9=, $10=, $pop10 - i32.const $push20=, 0 - i32.eq $push21=, $pop9, $pop20 - br_if 2, $pop21 # 2: down to label38 + i32.load8_u $push8=, 0($9) + tee_local $push7=, $10=, $pop8 + i32.const $push22=, 0 + i32.eq $push23=, $pop7, $pop22 + br_if 2, $pop23 # 2: down to label38 # BB#2: # %while.body # in Loop: Header=BB10_1 Depth=1 - i32.load $push3=, 12($15) - i32.const $push18=, 3 - i32.add $push4=, $pop3, $pop18 - i32.const $push17=, -4 - i32.and $push16=, $pop4, $pop17 - tee_local $push15=, $11=, $pop16 - i32.const $push14=, 4 - i32.add $push5=, $pop15, $pop14 - i32.store $discard=, 12($15), $pop5 - i32.load $push13=, 0($11) - tee_local $push12=, $11=, $pop13 - i32.const $push11=, 16 - i32.ge_u $push6=, $pop12, $pop11 - br_if 3, $pop6 # 3: down to label37 + i32.load $push14=, 12($12) + tee_local $push13=, $11=, $pop14 + i32.const $push12=, 4 + i32.add $push3=, $pop13, $pop12 + i32.store $discard=, 12($12), $pop3 + i32.load $push11=, 0($11) + tee_local $push10=, $11=, $pop11 + i32.const $push9=, 16 + i32.ge_u $push4=, $pop10, $pop9 + br_if 3, $pop4 # 3: down to label37 # BB#3: # %to_hex.exit # in Loop: Header=BB10_1 Depth=1 - i32.const $push19=, 1 - i32.add $9=, $9, $pop19 - i32.load8_u $push7=, .L.str($11) - i32.eq $push8=, $10, $pop7 - br_if 0, $pop8 # 0: up to label39 + i32.const $push15=, 1 + i32.add $9=, $9, $pop15 + i32.load8_u $push5=, .L.str($11) + i32.eq $push6=, $10, $pop5 + br_if 0, $pop6 # 0: up to label39 # BB#4: # %if.then5 end_loop # label40: call abort@FUNCTION unreachable .LBB10_5: # %while.end end_block # label38: - i32.const $14=, 16 - i32.add $15=, $15, $14 - i32.const $14=, __stack_pointer - i32.store $15=, 0($14), $15 + i32.const $push20=, 16 + i32.add $12=, $12, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $12 return .LBB10_6: # %if.then.i end_block # label37: @@ -739,15 +699,15 @@ f9: # @f9 .type f10,@function f10: # @f10 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $13=, __stack_pointer - i32.load $13=, 0($13) - i32.const $14=, 16 - i32.sub $16=, $13, $14 - i32.const $14=, __stack_pointer - i32.store $16=, 0($14), $16 - i32.store $discard=, 12($16), $11 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $13=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $13 + i32.store $discard=, 12($13), $11 block i32.call $push0=, strlen@FUNCTION, $10 i32.const $push1=, 6 @@ -757,44 +717,40 @@ f10: # @f10 # =>This Inner Loop Header: Depth=1 block loop # label43: - i32.load8_u $push10=, 0($10) - tee_local $push9=, $11=, $pop10 - i32.const $push20=, 0 - i32.eq $push21=, $pop9, $pop20 - br_if 2, $pop21 # 2: down to label42 + i32.load8_u $push8=, 0($10) + tee_local $push7=, $11=, $pop8 + i32.const $push22=, 0 + i32.eq $push23=, $pop7, $pop22 + br_if 2, $pop23 # 2: down to label42 # BB#2: # %while.body # in Loop: Header=BB11_1 Depth=1 - i32.load $push3=, 12($16) - i32.const $push18=, 3 - i32.add $push4=, $pop3, $pop18 - i32.const $push17=, -4 - i32.and $push16=, $pop4, $pop17 - tee_local $push15=, $12=, $pop16 - i32.const $push14=, 4 - i32.add $push5=, $pop15, $pop14 - i32.store $discard=, 12($16), $pop5 - i32.load $push13=, 0($12) - tee_local $push12=, $12=, $pop13 - i32.const $push11=, 16 - i32.ge_u $push6=, $pop12, $pop11 - br_if 3, $pop6 # 3: down to label41 + i32.load $push14=, 12($13) + tee_local $push13=, $12=, $pop14 + i32.const $push12=, 4 + i32.add $push3=, $pop13, $pop12 + i32.store $discard=, 12($13), $pop3 + i32.load $push11=, 0($12) + tee_local $push10=, $12=, $pop11 + i32.const $push9=, 16 + i32.ge_u $push4=, $pop10, $pop9 + br_if 3, $pop4 # 3: down to label41 # BB#3: # %to_hex.exit # in Loop: Header=BB11_1 Depth=1 - i32.const $push19=, 1 - i32.add $10=, $10, $pop19 - i32.load8_u $push7=, .L.str($12) - i32.eq $push8=, $11, $pop7 - br_if 0, $pop8 # 0: up to label43 + i32.const $push15=, 1 + i32.add $10=, $10, $pop15 + i32.load8_u $push5=, .L.str($12) + i32.eq $push6=, $11, $pop5 + br_if 0, $pop6 # 0: up to label43 # BB#4: # %if.then5 end_loop # label44: call abort@FUNCTION unreachable .LBB11_5: # %while.end end_block # label42: - i32.const $15=, 16 - i32.add $16=, $16, $15 - i32.const $15=, __stack_pointer - i32.store $16=, 0($15), $16 + i32.const $push20=, 16 + i32.add $13=, $13, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $13 return .LBB11_6: # %if.then.i end_block # label41: @@ -810,15 +766,15 @@ f10: # @f10 .type f11,@function f11: # @f11 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $14=, __stack_pointer - i32.load $14=, 0($14) - i32.const $15=, 16 - i32.sub $17=, $14, $15 - i32.const $15=, __stack_pointer - i32.store $17=, 0($15), $17 - i32.store $discard=, 12($17), $12 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $14=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $14 + i32.store $discard=, 12($14), $12 block i32.call $push0=, strlen@FUNCTION, $11 i32.const $push1=, 5 @@ -828,44 +784,40 @@ f11: # @f11 # =>This Inner Loop Header: Depth=1 block loop # label47: - i32.load8_u $push10=, 0($11) - tee_local $push9=, $12=, $pop10 - i32.const $push20=, 0 - i32.eq $push21=, $pop9, $pop20 - br_if 2, $pop21 # 2: down to label46 + i32.load8_u $push8=, 0($11) + tee_local $push7=, $12=, $pop8 + i32.const $push22=, 0 + i32.eq $push23=, $pop7, $pop22 + br_if 2, $pop23 # 2: down to label46 # BB#2: # %while.body # in Loop: Header=BB12_1 Depth=1 - i32.load $push3=, 12($17) - i32.const $push18=, 3 - i32.add $push4=, $pop3, $pop18 - i32.const $push17=, -4 - i32.and $push16=, $pop4, $pop17 - tee_local $push15=, $13=, $pop16 - i32.const $push14=, 4 - i32.add $push5=, $pop15, $pop14 - i32.store $discard=, 12($17), $pop5 - i32.load $push13=, 0($13) - tee_local $push12=, $13=, $pop13 - i32.const $push11=, 16 - i32.ge_u $push6=, $pop12, $pop11 - br_if 3, $pop6 # 3: down to label45 + i32.load $push14=, 12($14) + tee_local $push13=, $13=, $pop14 + i32.const $push12=, 4 + i32.add $push3=, $pop13, $pop12 + i32.store $discard=, 12($14), $pop3 + i32.load $push11=, 0($13) + tee_local $push10=, $13=, $pop11 + i32.const $push9=, 16 + i32.ge_u $push4=, $pop10, $pop9 + br_if 3, $pop4 # 3: down to label45 # BB#3: # %to_hex.exit # in Loop: Header=BB12_1 Depth=1 - i32.const $push19=, 1 - i32.add $11=, $11, $pop19 - i32.load8_u $push7=, .L.str($13) - i32.eq $push8=, $12, $pop7 - br_if 0, $pop8 # 0: up to label47 + i32.const $push15=, 1 + i32.add $11=, $11, $pop15 + i32.load8_u $push5=, .L.str($13) + i32.eq $push6=, $12, $pop5 + br_if 0, $pop6 # 0: up to label47 # BB#4: # %if.then5 end_loop # label48: call abort@FUNCTION unreachable .LBB12_5: # %while.end end_block # label46: - i32.const $16=, 16 - i32.add $17=, $17, $16 - i32.const $16=, __stack_pointer - i32.store $17=, 0($16), $17 + i32.const $push20=, 16 + i32.add $14=, $14, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $14 return .LBB12_6: # %if.then.i end_block # label45: @@ -881,62 +833,58 @@ f11: # @f11 .type f12,@function f12: # @f12 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $15=, __stack_pointer - i32.load $15=, 0($15) - i32.const $16=, 16 - i32.sub $18=, $15, $16 - i32.const $16=, __stack_pointer - i32.store $18=, 0($16), $18 - i32.store $discard=, 12($18), $13 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $15=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $15 + i32.store $discard=, 12($15), $13 block i32.call $push0=, strlen@FUNCTION, $12 - i32.const $push8=, 4 - i32.ne $push1=, $pop0, $pop8 + i32.const $push6=, 4 + i32.ne $push1=, $pop0, $pop6 br_if 0, $pop1 # 0: down to label49 .LBB13_1: # %while.cond # =>This Inner Loop Header: Depth=1 block loop # label51: - i32.load8_u $push10=, 0($12) - tee_local $push9=, $13=, $pop10 - i32.const $push20=, 0 - i32.eq $push21=, $pop9, $pop20 - br_if 2, $pop21 # 2: down to label50 + i32.load8_u $push8=, 0($12) + tee_local $push7=, $13=, $pop8 + i32.const $push22=, 0 + i32.eq $push23=, $pop7, $pop22 + br_if 2, $pop23 # 2: down to label50 # BB#2: # %while.body # in Loop: Header=BB13_1 Depth=1 - i32.load $push2=, 12($18) - i32.const $push18=, 3 - i32.add $push3=, $pop2, $pop18 - i32.const $push17=, -4 - i32.and $push16=, $pop3, $pop17 - tee_local $push15=, $14=, $pop16 - i32.const $push14=, 4 - i32.add $push4=, $pop15, $pop14 - i32.store $discard=, 12($18), $pop4 - i32.load $push13=, 0($14) - tee_local $push12=, $14=, $pop13 - i32.const $push11=, 16 - i32.ge_u $push5=, $pop12, $pop11 - br_if 3, $pop5 # 3: down to label49 + i32.load $push14=, 12($15) + tee_local $push13=, $14=, $pop14 + i32.const $push12=, 4 + i32.add $push2=, $pop13, $pop12 + i32.store $discard=, 12($15), $pop2 + i32.load $push11=, 0($14) + tee_local $push10=, $14=, $pop11 + i32.const $push9=, 16 + i32.ge_u $push3=, $pop10, $pop9 + br_if 3, $pop3 # 3: down to label49 # BB#3: # %to_hex.exit # in Loop: Header=BB13_1 Depth=1 - i32.const $push19=, 1 - i32.add $12=, $12, $pop19 - i32.load8_u $push6=, .L.str($14) - i32.eq $push7=, $13, $pop6 - br_if 0, $pop7 # 0: up to label51 + i32.const $push15=, 1 + i32.add $12=, $12, $pop15 + i32.load8_u $push4=, .L.str($14) + i32.eq $push5=, $13, $pop4 + br_if 0, $pop5 # 0: up to label51 # BB#4: # %if.then5 end_loop # label52: call abort@FUNCTION unreachable .LBB13_5: # %while.end end_block # label50: - i32.const $17=, 16 - i32.add $18=, $18, $17 - i32.const $17=, __stack_pointer - i32.store $18=, 0($17), $18 + i32.const $push20=, 16 + i32.add $15=, $15, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $15 return .LBB13_6: # %if.then.i end_block # label49: @@ -952,62 +900,58 @@ f12: # @f12 .type f13,@function f13: # @f13 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $16=, __stack_pointer - i32.load $16=, 0($16) - i32.const $17=, 16 - i32.sub $19=, $16, $17 - i32.const $17=, __stack_pointer - i32.store $19=, 0($17), $19 - i32.store $discard=, 12($19), $14 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $16=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $16 + i32.store $discard=, 12($16), $14 block i32.call $push0=, strlen@FUNCTION, $13 - i32.const $push8=, 3 - i32.ne $push1=, $pop0, $pop8 - br_if 0, $pop1 # 0: down to label53 + i32.const $push1=, 3 + i32.ne $push2=, $pop0, $pop1 + br_if 0, $pop2 # 0: down to label53 .LBB14_1: # %while.cond # =>This Inner Loop Header: Depth=1 block loop # label55: - i32.load8_u $push10=, 0($13) - tee_local $push9=, $14=, $pop10 - i32.const $push20=, 0 - i32.eq $push21=, $pop9, $pop20 - br_if 2, $pop21 # 2: down to label54 + i32.load8_u $push8=, 0($13) + tee_local $push7=, $14=, $pop8 + i32.const $push22=, 0 + i32.eq $push23=, $pop7, $pop22 + br_if 2, $pop23 # 2: down to label54 # BB#2: # %while.body # in Loop: Header=BB14_1 Depth=1 - i32.load $push2=, 12($19) - i32.const $push18=, 3 - i32.add $push3=, $pop2, $pop18 - i32.const $push17=, -4 - i32.and $push16=, $pop3, $pop17 - tee_local $push15=, $15=, $pop16 - i32.const $push14=, 4 - i32.add $push4=, $pop15, $pop14 - i32.store $discard=, 12($19), $pop4 - i32.load $push13=, 0($15) - tee_local $push12=, $15=, $pop13 - i32.const $push11=, 16 - i32.ge_u $push5=, $pop12, $pop11 - br_if 3, $pop5 # 3: down to label53 + i32.load $push14=, 12($16) + tee_local $push13=, $15=, $pop14 + i32.const $push12=, 4 + i32.add $push3=, $pop13, $pop12 + i32.store $discard=, 12($16), $pop3 + i32.load $push11=, 0($15) + tee_local $push10=, $15=, $pop11 + i32.const $push9=, 16 + i32.ge_u $push4=, $pop10, $pop9 + br_if 3, $pop4 # 3: down to label53 # BB#3: # %to_hex.exit # in Loop: Header=BB14_1 Depth=1 - i32.const $push19=, 1 - i32.add $13=, $13, $pop19 - i32.load8_u $push6=, .L.str($15) - i32.eq $push7=, $14, $pop6 - br_if 0, $pop7 # 0: up to label55 + i32.const $push15=, 1 + i32.add $13=, $13, $pop15 + i32.load8_u $push5=, .L.str($15) + i32.eq $push6=, $14, $pop5 + br_if 0, $pop6 # 0: up to label55 # BB#4: # %if.then5 end_loop # label56: call abort@FUNCTION unreachable .LBB14_5: # %while.end end_block # label54: - i32.const $18=, 16 - i32.add $19=, $19, $18 - i32.const $18=, __stack_pointer - i32.store $19=, 0($18), $19 + i32.const $push20=, 16 + i32.add $16=, $16, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $16 return .LBB14_6: # %if.then.i end_block # label53: @@ -1023,15 +967,15 @@ f13: # @f13 .type f14,@function f14: # @f14 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 16 - i32.sub $20=, $17, $18 - i32.const $18=, __stack_pointer - i32.store $20=, 0($18), $20 - i32.store $discard=, 12($20), $15 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $17=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $17 + i32.store $discard=, 12($17), $15 block i32.call $push0=, strlen@FUNCTION, $14 i32.const $push1=, 2 @@ -1041,44 +985,40 @@ f14: # @f14 # =>This Inner Loop Header: Depth=1 block loop # label59: - i32.load8_u $push10=, 0($14) - tee_local $push9=, $15=, $pop10 - i32.const $push20=, 0 - i32.eq $push21=, $pop9, $pop20 - br_if 2, $pop21 # 2: down to label58 + i32.load8_u $push8=, 0($14) + tee_local $push7=, $15=, $pop8 + i32.const $push22=, 0 + i32.eq $push23=, $pop7, $pop22 + br_if 2, $pop23 # 2: down to label58 # BB#2: # %while.body # in Loop: Header=BB15_1 Depth=1 - i32.load $push3=, 12($20) - i32.const $push18=, 3 - i32.add $push4=, $pop3, $pop18 - i32.const $push17=, -4 - i32.and $push16=, $pop4, $pop17 - tee_local $push15=, $16=, $pop16 - i32.const $push14=, 4 - i32.add $push5=, $pop15, $pop14 - i32.store $discard=, 12($20), $pop5 - i32.load $push13=, 0($16) - tee_local $push12=, $16=, $pop13 - i32.const $push11=, 16 - i32.ge_u $push6=, $pop12, $pop11 - br_if 3, $pop6 # 3: down to label57 + i32.load $push14=, 12($17) + tee_local $push13=, $16=, $pop14 + i32.const $push12=, 4 + i32.add $push3=, $pop13, $pop12 + i32.store $discard=, 12($17), $pop3 + i32.load $push11=, 0($16) + tee_local $push10=, $16=, $pop11 + i32.const $push9=, 16 + i32.ge_u $push4=, $pop10, $pop9 + br_if 3, $pop4 # 3: down to label57 # BB#3: # %to_hex.exit # in Loop: Header=BB15_1 Depth=1 - i32.const $push19=, 1 - i32.add $14=, $14, $pop19 - i32.load8_u $push7=, .L.str($16) - i32.eq $push8=, $15, $pop7 - br_if 0, $pop8 # 0: up to label59 + i32.const $push15=, 1 + i32.add $14=, $14, $pop15 + i32.load8_u $push5=, .L.str($16) + i32.eq $push6=, $15, $pop5 + br_if 0, $pop6 # 0: up to label59 # BB#4: # %if.then5 end_loop # label60: call abort@FUNCTION unreachable .LBB15_5: # %while.end end_block # label58: - i32.const $19=, 16 - i32.add $20=, $20, $19 - i32.const $19=, __stack_pointer - i32.store $20=, 0($19), $20 + i32.const $push20=, 16 + i32.add $17=, $17, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $17 return .LBB15_6: # %if.then.i end_block # label57: @@ -1094,62 +1034,58 @@ f14: # @f14 .type f15,@function f15: # @f15 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $18=, __stack_pointer - i32.load $18=, 0($18) - i32.const $19=, 16 - i32.sub $21=, $18, $19 - i32.const $19=, __stack_pointer - i32.store $21=, 0($19), $21 - i32.store $discard=, 12($21), $16 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $18=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $18 + i32.store $discard=, 12($18), $16 block i32.call $push0=, strlen@FUNCTION, $15 - i32.const $push8=, 1 - i32.ne $push1=, $pop0, $pop8 + i32.const $push6=, 1 + i32.ne $push1=, $pop0, $pop6 br_if 0, $pop1 # 0: down to label61 .LBB16_1: # %while.cond # =>This Inner Loop Header: Depth=1 block loop # label63: - i32.load8_u $push10=, 0($15) - tee_local $push9=, $16=, $pop10 - i32.const $push20=, 0 - i32.eq $push21=, $pop9, $pop20 - br_if 2, $pop21 # 2: down to label62 + i32.load8_u $push8=, 0($15) + tee_local $push7=, $16=, $pop8 + i32.const $push22=, 0 + i32.eq $push23=, $pop7, $pop22 + br_if 2, $pop23 # 2: down to label62 # BB#2: # %while.body # in Loop: Header=BB16_1 Depth=1 - i32.load $push2=, 12($21) - i32.const $push18=, 3 - i32.add $push3=, $pop2, $pop18 - i32.const $push17=, -4 - i32.and $push16=, $pop3, $pop17 - tee_local $push15=, $17=, $pop16 - i32.const $push14=, 4 - i32.add $push4=, $pop15, $pop14 - i32.store $discard=, 12($21), $pop4 - i32.load $push13=, 0($17) - tee_local $push12=, $17=, $pop13 - i32.const $push11=, 16 - i32.ge_u $push5=, $pop12, $pop11 - br_if 3, $pop5 # 3: down to label61 + i32.load $push14=, 12($18) + tee_local $push13=, $17=, $pop14 + i32.const $push12=, 4 + i32.add $push2=, $pop13, $pop12 + i32.store $discard=, 12($18), $pop2 + i32.load $push11=, 0($17) + tee_local $push10=, $17=, $pop11 + i32.const $push9=, 16 + i32.ge_u $push3=, $pop10, $pop9 + br_if 3, $pop3 # 3: down to label61 # BB#3: # %to_hex.exit # in Loop: Header=BB16_1 Depth=1 - i32.const $push19=, 1 - i32.add $15=, $15, $pop19 - i32.load8_u $push6=, .L.str($17) - i32.eq $push7=, $16, $pop6 - br_if 0, $pop7 # 0: up to label63 + i32.const $push15=, 1 + i32.add $15=, $15, $pop15 + i32.load8_u $push4=, .L.str($17) + i32.eq $push5=, $16, $pop4 + br_if 0, $pop5 # 0: up to label63 # BB#4: # %if.then5 end_loop # label64: call abort@FUNCTION unreachable .LBB16_5: # %while.end end_block # label62: - i32.const $20=, 16 - i32.add $21=, $21, $20 - i32.const $20=, __stack_pointer - i32.store $21=, 0($20), $21 + i32.const $push20=, 16 + i32.add $18=, $18, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $18 return .LBB16_6: # %if.then.i end_block # label61: @@ -1165,390 +1101,334 @@ f15: # @f15 .type main,@function main: # @main .result 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 + .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 # BB#0: # %entry - 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.store $87=, 0($15), $87 + i32.const $push117=, __stack_pointer + i32.load $push118=, 0($pop117) + i32.const $push119=, 640 + i32.sub $71=, $pop118, $pop119 + i32.const $push120=, __stack_pointer + i32.store $discard=, 0($pop120), $71 i32.const $push0=, 56 - i32.const $16=, 576 - i32.add $16=, $87, $16 - i32.add $push1=, $16, $pop0 + i32.const $14=, 576 + i32.add $14=, $71, $14 + i32.add $push1=, $14, $pop0 i64.const $push2=, 64424509454 i64.store $0=, 0($pop1), $pop2 i32.const $push3=, 48 - i32.const $17=, 576 - i32.add $17=, $87, $17 - i32.add $push4=, $17, $pop3 + i32.const $15=, 576 + i32.add $15=, $71, $15 + i32.add $push4=, $15, $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 + i32.const $16=, 576 + i32.add $16=, $71, $16 + i32.add $push7=, $16, $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 + i32.const $17=, 576 + i32.add $17=, $71, $17 + i32.add $push10=, $17, $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 + i32.const $18=, 576 + i32.add $18=, $71, $18 + i32.add $push13=, $18, $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 + i32.const $19=, 576 + i32.add $19=, $71, $19 + i32.add $push16=, $19, $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 + i64.const $push18=, 12884901890 + i64.store $6=, 584($71), $pop18 + i64.const $push19=, 4294967296 + i64.store $discard=, 576($71):p2align=4, $pop19 + i32.const $push20=, .L.str + i32.const $20=, 576 + i32.add $20=, $71, $20 + call f0@FUNCTION, $pop20, $20 + i32.const $push116=, 56 + i32.const $21=, 512 + i32.add $21=, $71, $21 + i32.add $push21=, $21, $pop116 + i32.const $push22=, 15 + i32.store $7=, 0($pop21):p2align=3, $pop22 + i32.const $push115=, 48 + i32.const $22=, 512 + i32.add $22=, $71, $22 + i32.add $push23=, $22, $pop115 + i64.const $push24=, 60129542157 + i64.store $8=, 0($pop23):p2align=4, $pop24 + i32.const $push114=, 40 + i32.const $23=, 512 + i32.add $23=, $71, $23 + i32.add $push25=, $23, $pop114 + i64.const $push26=, 51539607563 + i64.store $9=, 0($pop25), $pop26 + i32.const $push113=, 32 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.add $24=, $71, $24 + i32.add $push27=, $24, $pop113 + i64.const $push28=, 42949672969 + i64.store $10=, 0($pop27):p2align=4, $pop28 + i32.const $push112=, 24 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.add $25=, $71, $25 + i32.add $push29=, $25, $pop112 + i64.const $push30=, 34359738375 + i64.store $11=, 0($pop29), $pop30 + i32.const $push111=, 16 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.add $26=, $71, $26 + i32.add $push31=, $26, $pop111 + i64.const $push32=, 25769803781 + i64.store $12=, 0($pop31):p2align=4, $pop32 + i64.const $push33=, 17179869187 + i64.store $13=, 520($71), $pop33 + i64.const $push34=, 8589934593 + i64.store $discard=, 512($71):p2align=4, $pop34 + i32.const $push35=, .L.str+1 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.add $27=, $71, $27 + call f1@FUNCTION, $7, $pop35, $27 + i32.const $push110=, 48 + i32.const $28=, 448 + i32.add $28=, $71, $28 + i32.add $push36=, $28, $pop110 + i64.store $discard=, 0($pop36):p2align=4, $0 + i32.const $push109=, 40 + i32.const $29=, 448 + i32.add $29=, $71, $29 + i32.add $push37=, $29, $pop109 + i64.store $discard=, 0($pop37), $1 + i32.const $push108=, 32 + i32.const $30=, 448 + i32.add $30=, $71, $30 + i32.add $push38=, $30, $pop108 + i64.store $discard=, 0($pop38):p2align=4, $2 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 $31=, 448 + i32.add $31=, $71, $31 + i32.add $push39=, $31, $pop107 + i64.store $discard=, 0($pop39), $3 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 $32=, 448 + i32.add $32=, $71, $32 + i32.add $push40=, $32, $pop106 + i64.store $discard=, 0($pop40):p2align=4, $4 + i64.store $discard=, 456($71), $5 + i64.store $discard=, 448($71):p2align=4, $6 + i32.const $push41=, .L.str+2 + i32.const $33=, 448 + i32.add $33=, $71, $33 + call f2@FUNCTION, $7, $7, $pop41, $33 + i32.const $push105=, 48 + i32.const $34=, 384 + i32.add $34=, $71, $34 + i32.add $push42=, $34, $pop105 + i32.store $discard=, 0($pop42):p2align=4, $7 + i32.const $push104=, 40 + i32.const $35=, 384 + i32.add $35=, $71, $35 + i32.add $push43=, $35, $pop104 + i64.store $6=, 0($pop43), $8 + i32.const $push103=, 32 + i32.const $36=, 384 + i32.add $36=, $71, $36 + i32.add $push44=, $36, $pop103 + i64.store $8=, 0($pop44):p2align=4, $9 + i32.const $push102=, 24 + i32.const $37=, 384 + i32.add $37=, $71, $37 + i32.add $push45=, $37, $pop102 + i64.store $9=, 0($pop45), $10 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 + i32.const $38=, 384 + i32.add $38=, $71, $38 + i32.add $push46=, $38, $pop101 + i64.store $10=, 0($pop46):p2align=4, $11 + i64.store $11=, 392($71), $12 + i64.store $discard=, 384($71):p2align=4, $13 + i32.const $push47=, .L.str+3 + i32.const $39=, 384 + i32.add $39=, $71, $39 + call f3@FUNCTION, $7, $7, $7, $pop47, $39 + i32.const $push100=, 40 + i32.const $40=, 336 + i32.add $40=, $71, $40 + i32.add $push48=, $40, $pop100 + i64.store $discard=, 0($pop48), $0 + i32.const $push99=, 32 + i32.const $41=, 336 + i32.add $41=, $71, $41 + i32.add $push49=, $41, $pop99 + i64.store $discard=, 0($pop49):p2align=4, $1 + i32.const $push98=, 24 + i32.const $42=, 336 + i32.add $42=, $71, $42 + i32.add $push50=, $42, $pop98 + i64.store $discard=, 0($pop50), $2 + i32.const $push97=, 16 + i32.const $43=, 336 + i32.add $43=, $71, $43 + i32.add $push51=, $43, $pop97 + i64.store $discard=, 0($pop51):p2align=4, $3 + i64.store $discard=, 344($71), $4 + i64.store $discard=, 336($71):p2align=4, $5 + i32.const $push52=, .L.str+4 + i32.const $44=, 336 + i32.add $44=, $71, $44 + call f4@FUNCTION, $7, $7, $7, $7, $pop52, $44 + i32.const $push96=, 40 + i32.const $45=, 288 + i32.add $45=, $71, $45 + i32.add $push53=, $45, $pop96 + i32.store $discard=, 0($pop53):p2align=3, $7 + i32.const $push95=, 32 + i32.const $46=, 288 + i32.add $46=, $71, $46 + i32.add $push54=, $46, $pop95 + i64.store $5=, 0($pop54):p2align=4, $6 + i32.const $push94=, 24 + i32.const $47=, 288 + i32.add $47=, $71, $47 + i32.add $push55=, $47, $pop94 + i64.store $6=, 0($pop55), $8 + i32.const $push93=, 16 + i32.const $48=, 288 + i32.add $48=, $71, $48 + i32.add $push56=, $48, $pop93 + i64.store $8=, 0($pop56):p2align=4, $9 + i64.store $9=, 296($71), $10 + i64.store $discard=, 288($71):p2align=4, $11 + i32.const $push57=, .L.str+5 + i32.const $49=, 288 + i32.add $49=, $71, $49 + call f5@FUNCTION, $7, $7, $7, $7, $7, $pop57, $49 + i32.const $push92=, 32 + i32.const $50=, 240 + i32.add $50=, $71, $50 + i32.add $push58=, $50, $pop92 + i64.store $discard=, 0($pop58):p2align=4, $0 + i32.const $push91=, 24 + i32.const $51=, 240 + i32.add $51=, $71, $51 + i32.add $push59=, $51, $pop91 + i64.store $discard=, 0($pop59), $1 + i32.const $push90=, 16 + i32.const $52=, 240 + i32.add $52=, $71, $52 + i32.add $push60=, $52, $pop90 + i64.store $discard=, 0($pop60):p2align=4, $2 + i64.store $discard=, 248($71), $3 + i64.store $discard=, 240($71):p2align=4, $4 + i32.const $push61=, .L.str+6 + i32.const $53=, 240 + i32.add $53=, $71, $53 + call f6@FUNCTION, $7, $7, $7, $7, $7, $7, $pop61, $53 + i32.const $push89=, 32 + i32.const $54=, 192 + i32.add $54=, $71, $54 + i32.add $push62=, $54, $pop89 + i32.store $discard=, 0($pop62):p2align=4, $7 + i32.const $push88=, 24 + i32.const $55=, 192 + i32.add $55=, $71, $55 + i32.add $push63=, $55, $pop88 + i64.store $4=, 0($pop63), $5 + i32.const $push87=, 16 + i32.const $56=, 192 + i32.add $56=, $71, $56 + i32.add $push64=, $56, $pop87 + i64.store $5=, 0($pop64):p2align=4, $6 + i64.store $6=, 200($71), $8 + i64.store $discard=, 192($71):p2align=4, $9 + i32.const $push65=, .L.str+7 + i32.const $57=, 192 + i32.add $57=, $71, $57 + call f7@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $pop65, $57 + i32.const $push86=, 24 + i32.const $58=, 160 + i32.add $58=, $71, $58 + i32.add $push66=, $58, $pop86 + i64.store $discard=, 0($pop66), $0 + i32.const $push85=, 16 + i32.const $59=, 160 + i32.add $59=, $71, $59 + i32.add $push67=, $59, $pop85 + i64.store $discard=, 0($pop67):p2align=4, $1 + i64.store $discard=, 168($71), $2 + i64.store $discard=, 160($71):p2align=4, $3 + i32.const $push68=, .L.str+8 + i32.const $60=, 160 + i32.add $60=, $71, $60 + call f8@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $pop68, $60 + i32.const $push84=, 24 + i32.const $61=, 128 + i32.add $61=, $71, $61 + i32.add $push69=, $61, $pop84 + i32.store $discard=, 0($pop69):p2align=3, $7 + i32.const $push83=, 16 + i32.const $62=, 128 + i32.add $62=, $71, $62 + i32.add $push70=, $62, $pop83 + i64.store $3=, 0($pop70):p2align=4, $4 + i64.store $4=, 136($71), $5 + i64.store $discard=, 128($71):p2align=4, $6 + i32.const $push71=, .L.str+9 + i32.const $63=, 128 + i32.add $63=, $71, $63 + call f9@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop71, $63 + i32.const $push82=, 16 + i32.const $64=, 96 + i32.add $64=, $71, $64 + i32.add $push72=, $64, $pop82 + i64.store $discard=, 0($pop72):p2align=4, $0 + i64.store $discard=, 104($71), $1 + i64.store $discard=, 96($71):p2align=4, $2 + i32.const $push73=, .L.str+10 + i32.const $65=, 96 + i32.add $65=, $71, $65 + call f10@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop73, $65 + i32.const $push81=, 16 + i32.const $66=, 64 + i32.add $66=, $71, $66 + i32.add $push74=, $66, $pop81 + i32.store $discard=, 0($pop74):p2align=4, $7 + i64.store $2=, 72($71), $3 + i64.store $discard=, 64($71):p2align=4, $4 + i32.const $push75=, .L.str+11 + i32.const $67=, 64 + i32.add $67=, $71, $67 + call f11@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop75, $67 + i64.store $discard=, 56($71), $0 + i64.store $discard=, 48($71):p2align=4, $1 + i32.const $push76=, .L.str+12 + i32.const $68=, 48 + i32.add $68=, $71, $68 + call f12@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop76, $68 + i32.store $discard=, 40($71):p2align=3, $7 + i64.store $discard=, 32($71):p2align=4, $2 + i32.const $push77=, .L.str+13 + i32.const $69=, 32 + i32.add $69=, $71, $69 + call f13@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop77, $69 + i64.store $discard=, 16($71):p2align=4, $0 + i32.const $push78=, .L.str+14 + i32.const $70=, 16 + i32.add $70=, $71, $70 + call f14@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop78, $70 + i32.store $discard=, 0($71):p2align=4, $7 + i32.const $push79=, .L.str+15 + call f15@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop79, $71 + i32.const $push80=, 0 + call exit@FUNCTION, $pop80 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 90f5c0ae3..74918b1bd 100644 --- a/test/torture-s/va-arg-20.c.s +++ b/test/torture-s/va-arg-20.c.s @@ -6,33 +6,17 @@ .type foo,@function foo: # @foo .param 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 - i32.const $2=, __stack_pointer - i32.store $4=, 0($2), $4 - i32.store $push0=, 12($4), $0 - i32.const $push1=, 7 - i32.add $push2=, $pop0, $pop1 - i32.const $push3=, -8 - i32.and $push10=, $pop2, $pop3 - tee_local $push9=, $0=, $pop10 - i32.const $push4=, 8 - i32.add $push5=, $pop9, $pop4 - i32.store $discard=, 12($4), $pop5 block - i64.load $push6=, 0($0) - i64.const $push7=, 16 - i64.ne $push8=, $pop6, $pop7 - br_if 0, $pop8 # 0: down to label0 + i32.const $push0=, 7 + i32.add $push1=, $0, $pop0 + i32.const $push2=, -8 + i32.and $push3=, $pop1, $pop2 + i64.load $push4=, 0($pop3) + i64.const $push5=, 16 + i64.ne $push6=, $pop4, $pop5 + br_if 0, $pop6 # 0: down to label0 # BB#1: # %if.end - i32.const $3=, 16 - i32.add $4=, $4, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 return .LBB0_2: # %if.then end_block # label0: @@ -48,34 +32,29 @@ foo: # @foo .type bar,@function bar: # @bar .param i32, i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - i32.store $push0=, 8($6), $2 - i32.store $push1=, 12($6), $pop0 - i32.const $push2=, 7 - i32.add $push3=, $pop1, $pop2 - i32.const $push4=, -8 - i32.and $push11=, $pop3, $pop4 - tee_local $push10=, $2=, $pop11 - i32.const $push5=, 8 - i32.add $push6=, $pop10, $pop5 - i32.store $discard=, 12($6), $pop6 + i32.const $push8=, __stack_pointer + i32.load $push9=, 0($pop8) + i32.const $push10=, 16 + i32.sub $3=, $pop9, $pop10 + i32.const $push11=, __stack_pointer + i32.store $discard=, 0($pop11), $3 block - i64.load $push7=, 0($2) - i64.const $push8=, 16 - i64.ne $push9=, $pop7, $pop8 - br_if 0, $pop9 # 0: down to label1 + i32.store $push0=, 12($3), $2 + i32.const $push1=, 7 + i32.add $push2=, $pop0, $pop1 + i32.const $push3=, -8 + i32.and $push4=, $pop2, $pop3 + i64.load $push5=, 0($pop4) + i64.const $push6=, 16 + i64.ne $push7=, $pop5, $pop6 + br_if 0, $pop7 # 0: down to label1 # BB#1: # %foo.exit - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push12=, 16 + i32.add $3=, $3, $pop12 + i32.const $push13=, __stack_pointer + i32.store $discard=, 0($pop13), $3 return .LBB1_2: # %if.then.i end_block # label1: @@ -91,19 +70,19 @@ bar: # @bar .type main,@function main: # @main .result i32 - .local i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $0=, __stack_pointer - i32.load $0=, 0($0) - i32.const $1=, 16 - i32.sub $2=, $0, $1 - i32.const $1=, __stack_pointer - i32.store $2=, 0($1), $2 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 16 + i32.sub $0=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $0 i64.const $push0=, 16 - i64.store $discard=, 0($2):p2align=4, $pop0 + i64.store $discard=, 0($0):p2align=4, $pop0 i32.const $push1=, 0 i32.const $push3=, 0 - call bar@FUNCTION, $pop1, $pop3, $2 + call bar@FUNCTION, $pop1, $pop3, $0 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 e4114cb82..22b51ed0d 100644 --- a/test/torture-s/va-arg-21.c.s +++ b/test/torture-s/va-arg-21.c.s @@ -6,17 +6,17 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($2), $3 + i32.const $push2=, __stack_pointer + i32.load $push3=, 0($pop2) + i32.const $push4=, 16 + i32.sub $1=, $pop3, $pop4 + i32.const $push5=, __stack_pointer + i32.store $discard=, 0($pop5), $1 i32.const $push0=, .L.str.1 - i32.store $discard=, 0($3):p2align=4, $pop0 - call doit@FUNCTION, $0, $3 + i32.store $discard=, 0($1):p2align=4, $pop0 + call doit@FUNCTION, $0, $1 i32.const $push1=, 0 call exit@FUNCTION, $pop1 unreachable diff --git a/test/torture-s/va-arg-22.c.s b/test/torture-s/va-arg-22.c.s new file mode 100644 index 000000000..b459bc9b5 --- /dev/null +++ b/test/torture-s/va-arg-22.c.s @@ -0,0 +1,2063 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-22.c" + .section .text.bar,"ax",@progbits + .hidden bar + .globl bar + .type bar,@function +bar: # @bar + .param i32, i32 + .local i32, i32 +# BB#0: # %entry + i32.const $push0=, 0 + i32.load $2=, bar.lastc($pop0) + block + block + i32.const $push16=, 0 + i32.load $push15=, bar.lastn($pop16) + tee_local $push14=, $3=, $pop15 + i32.eq $push1=, $pop14, $0 + br_if 0, $pop1 # 0: down to label1 +# BB#1: # %if.then + i32.ne $push2=, $2, $3 + br_if 1, $pop2 # 1: down to label0 +# BB#2: # %if.end + i32.const $push3=, 0 + i32.const $push17=, 0 + i32.store $2=, bar.lastc($pop3), $pop17 + i32.store $discard=, bar.lastn($2), $0 +.LBB0_3: # %if.end3 + end_block # label1: + i32.const $push4=, 3 + i32.shl $push5=, $0, $pop4 + i32.xor $push6=, $2, $pop5 + i32.const $push7=, 24 + i32.shl $push8=, $pop6, $pop7 + i32.const $push18=, 24 + i32.shr_s $push9=, $pop8, $pop18 + i32.ne $push10=, $pop9, $1 + br_if 0, $pop10 # 0: down to label0 +# BB#4: # %if.end8 + i32.const $push13=, 0 + i32.const $push11=, 1 + i32.add $push12=, $2, $pop11 + i32.store $discard=, bar.lastc($pop13), $pop12 + return +.LBB0_5: # %if.then7 + end_block # label0: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end0: + .size bar, .Lfunc_end0-bar + + .section .text.foo,"ax",@progbits + .hidden foo + .globl foo + .type foo,@function +foo: # @foo + .param i32, i32 + .local i32, i32, i64, i32, 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 +# BB#0: # %entry + i32.const $push623=, __stack_pointer + i32.load $push624=, 0($pop623) + i32.const $push625=, 352 + i32.sub $43=, $pop624, $pop625 + i32.const $push626=, __stack_pointer + i32.store $discard=, 0($pop626), $43 + block + block + block + block + block + block + block + i32.const $push36=, 21 + i32.ne $push37=, $0, $pop36 + br_if 0, $pop37 # 0: down to label8 +# BB#1: # %if.end + i32.store $push414=, 4($43), $1 + tee_local $push413=, $9=, $pop414 + i32.const $push38=, 4 + i32.add $push39=, $pop413, $pop38 + i32.store $discard=, 4($43), $pop39 + i32.const $push40=, 0 + i32.load $0=, bar.lastc($pop40) + i32.load8_s $1=, 0($9) + block + i32.const $push412=, 0 + i32.load $push411=, bar.lastn($pop412) + tee_local $push410=, $2=, $pop411 + i32.const $push41=, 1 + i32.eq $push42=, $pop410, $pop41 + br_if 0, $pop42 # 0: down to label9 +# BB#2: # %if.then.i + i32.ne $push43=, $0, $2 + br_if 1, $pop43 # 1: down to label8 +# BB#3: # %if.end.i + i32.const $push44=, 0 + i32.const $push415=, 0 + i32.store $0=, bar.lastc($pop44), $pop415 + i32.const $push45=, 1 + i32.store $discard=, bar.lastn($0), $pop45 +.LBB1_4: # %if.end3.i + end_block # label9: + i32.const $push46=, 24 + i32.shl $push47=, $0, $pop46 + i32.const $push417=, 24 + i32.shr_s $push48=, $pop47, $pop417 + i32.const $push416=, 8 + i32.xor $push49=, $pop48, $pop416 + i32.ne $push50=, $pop49, $1 + br_if 0, $pop50 # 0: down to label8 +# BB#5: # %if.then.i314 + i32.const $push419=, 0 + i32.const $push51=, 1 + i32.add $push52=, $0, $pop51 + i32.store $discard=, bar.lastc($pop419), $pop52 + i32.const $push418=, 8 + i32.add $push0=, $9, $pop418 + i32.store $1=, 4($43), $pop0 + br_if 0, $0 # 0: down to label8 +# BB#6: # %if.end3.i321 + i32.const $push53=, 4 + i32.add $push54=, $9, $pop53 + i32.load16_u $0=, 0($pop54):p2align=0 + i32.const $push421=, 0 + i32.const $push420=, 0 + i32.store $push55=, bar.lastc($pop421), $pop420 + i32.const $push56=, 2 + i32.store $discard=, bar.lastn($pop55), $pop56 + i32.const $push57=, 255 + i32.and $push58=, $0, $pop57 + i32.const $push59=, 16 + i32.ne $push60=, $pop58, $pop59 + br_if 0, $pop60 # 0: down to label8 +# BB#7: # %if.end3.i321.1 + i32.const $push61=, 0 + i32.const $push62=, 1 + i32.store $discard=, bar.lastc($pop61), $pop62 + i32.const $push63=, 65280 + i32.and $push64=, $0, $pop63 + i32.const $push65=, 4352 + i32.ne $push66=, $pop64, $pop65 + br_if 0, $pop66 # 0: down to label8 +# BB#8: # %if.end3.i335 + i32.const $push68=, 12 + i32.add $push69=, $9, $pop68 + i32.store $discard=, 4($43), $pop69 + i32.const $push424=, 0 + i32.const $push67=, 2 + i32.store $0=, bar.lastc($pop424), $pop67 + i32.load16_u $2=, 0($1):p2align=0 + i32.add $push70=, $1, $0 + i32.load8_u $push71=, 0($pop70) + i32.store8 $discard=, 346($43):p2align=1, $pop71 + i32.store16 $discard=, 344($43):p2align=3, $2 + i32.const $push423=, 0 + i32.const $push422=, 0 + i32.store $0=, bar.lastc($pop423), $pop422 + i32.load8_u $1=, 344($43):p2align=3 + i32.const $push72=, 3 + i32.store $discard=, bar.lastn($0), $pop72 + i32.const $push73=, 24 + i32.ne $push74=, $1, $pop73 + br_if 6, $pop74 # 6: down to label2 +# BB#9: # %if.end3.i335.1 + i32.load8_u $0=, 345($43) + i32.const $push580=, 0 + i32.const $push75=, 1 + i32.store $discard=, bar.lastc($pop580), $pop75 + i32.const $push76=, 25 + i32.ne $push77=, $0, $pop76 + br_if 6, $pop77 # 6: down to label2 +# BB#10: # %if.end3.i335.2 + i32.load8_u $0=, 346($43):p2align=1 + i32.const $push581=, 0 + i32.const $push78=, 2 + i32.store $discard=, bar.lastc($pop581), $pop78 + i32.const $push79=, 26 + i32.ne $push80=, $0, $pop79 + br_if 6, $pop80 # 6: down to label2 +# BB#11: # %if.end3.i349 + i32.const $push82=, 0 + i32.const $push81=, 3 + i32.store $discard=, bar.lastc($pop82), $pop81 + i32.const $push83=, 16 + i32.add $push1=, $9, $pop83 + i32.store $1=, 4($43), $pop1 + i32.const $push84=, 12 + i32.add $push85=, $9, $pop84 + i32.load $0=, 0($pop85):p2align=0 + i32.const $push428=, 0 + i32.const $push427=, 0 + i32.store $push426=, bar.lastc($pop428), $pop427 + tee_local $push425=, $2=, $pop426 + i32.const $push86=, 4 + i32.store $discard=, bar.lastn($pop425), $pop86 + i32.const $push87=, 255 + i32.and $push88=, $0, $pop87 + i32.const $push89=, 32 + i32.ne $push90=, $pop88, $pop89 + br_if 5, $pop90 # 5: down to label3 +# BB#12: # %if.end3.i349.1 + i32.const $push91=, 1 + i32.store $discard=, bar.lastc($2), $pop91 + i32.const $push92=, 65280 + i32.and $push93=, $0, $pop92 + i32.const $push94=, 8448 + i32.ne $push95=, $pop93, $pop94 + br_if 5, $pop95 # 5: down to label3 +# BB#13: # %if.end3.i349.2 + i32.const $push578=, 0 + i32.const $push96=, 2 + i32.store $discard=, bar.lastc($pop578), $pop96 + i32.const $push97=, 16711680 + i32.and $push98=, $0, $pop97 + i32.const $push99=, 2228224 + i32.ne $push100=, $pop98, $pop99 + br_if 5, $pop100 # 5: down to label3 +# BB#14: # %if.end3.i349.3 + i32.const $push579=, 0 + i32.const $push101=, 3 + i32.store $discard=, bar.lastc($pop579), $pop101 + i32.const $push102=, -16777216 + i32.and $push103=, $0, $pop102 + i32.const $push104=, 587202560 + i32.ne $push105=, $pop103, $pop104 + br_if 5, $pop105 # 5: down to label3 +# BB#15: # %if.end3.i363 + i32.const $push106=, 24 + i32.add $push2=, $9, $pop106 + i32.store $2=, 4($43), $pop2 + i32.load $0=, 0($1):p2align=0 + i32.const $push107=, 4 + i32.add $push108=, $1, $pop107 + i32.load8_u $push109=, 0($pop108) + i32.store8 $discard=, 340($43):p2align=2, $pop109 + i32.store $discard=, 336($43):p2align=3, $0 + i32.const $push110=, 0 + i32.const $push429=, 0 + i32.store $0=, bar.lastc($pop110), $pop429 + i32.load8_u $1=, 336($43):p2align=3 + i32.const $push111=, 5 + i32.store $discard=, bar.lastn($0), $pop111 + i32.const $push112=, 40 + i32.ne $push113=, $1, $pop112 + br_if 4, $pop113 # 4: down to label4 +# BB#16: # %if.end3.i363.1 + i32.load8_u $1=, 337($43) + i32.const $push114=, 1 + i32.store $discard=, bar.lastc($0), $pop114 + i32.const $push115=, 41 + i32.ne $push116=, $1, $pop115 + br_if 4, $pop116 # 4: down to label4 +# BB#17: # %if.end3.i363.2 + i32.load8_u $0=, 338($43):p2align=1 + i32.const $push576=, 0 + i32.const $push117=, 2 + i32.store $discard=, bar.lastc($pop576), $pop117 + i32.const $push118=, 42 + i32.ne $push119=, $0, $pop118 + br_if 4, $pop119 # 4: down to label4 +# BB#18: # %if.end3.i363.3 + i32.load8_u $0=, 339($43) + i32.const $push577=, 0 + i32.const $push120=, 3 + i32.store $discard=, bar.lastc($pop577), $pop120 + i32.const $push121=, 43 + i32.ne $push122=, $0, $pop121 + br_if 4, $pop122 # 4: down to label4 +# BB#19: # %if.end3.i363.4 + i32.load8_u $0=, 340($43):p2align=2 + i32.const $push123=, 0 + i32.const $push124=, 4 + i32.store $1=, bar.lastc($pop123), $pop124 + i32.const $push125=, 44 + i32.ne $push126=, $0, $pop125 + br_if 4, $pop126 # 4: down to label4 +# BB#20: # %if.end3.i377 + i32.const $push127=, 32 + i32.add $push3=, $9, $pop127 + i32.store $0=, 4($43), $pop3 + i32.load $8=, 0($2):p2align=0 + i32.add $push128=, $2, $1 + i32.load16_u $push129=, 0($pop128):p2align=0 + i32.store16 $discard=, 332($43):p2align=2, $pop129 + i32.store $discard=, 328($43):p2align=3, $8 + i32.const $push431=, 0 + i32.const $push430=, 0 + i32.store $1=, bar.lastc($pop431), $pop430 + i32.load8_u $2=, 328($43):p2align=3 + i32.const $push130=, 6 + i32.store $discard=, bar.lastn($1), $pop130 + i32.const $push131=, 48 + i32.ne $push132=, $2, $pop131 + br_if 3, $pop132 # 3: down to label5 +# BB#21: # %if.end3.i377.1 + i32.load8_u $1=, 329($43) + i32.const $push572=, 0 + i32.const $push133=, 1 + i32.store $discard=, bar.lastc($pop572), $pop133 + i32.const $push134=, 49 + i32.ne $push135=, $1, $pop134 + br_if 3, $pop135 # 3: down to label5 +# BB#22: # %if.end3.i377.2 + i32.load8_u $1=, 330($43):p2align=1 + i32.const $push573=, 0 + i32.const $push136=, 2 + i32.store $discard=, bar.lastc($pop573), $pop136 + i32.const $push137=, 50 + i32.ne $push138=, $1, $pop137 + br_if 3, $pop138 # 3: down to label5 +# BB#23: # %if.end3.i377.3 + i32.load8_u $1=, 331($43) + i32.const $push574=, 0 + i32.const $push139=, 3 + i32.store $discard=, bar.lastc($pop574), $pop139 + i32.const $push140=, 51 + i32.ne $push141=, $1, $pop140 + br_if 3, $pop141 # 3: down to label5 +# BB#24: # %if.end3.i377.4 + i32.load8_u $1=, 332($43):p2align=2 + i32.const $push575=, 0 + i32.const $push142=, 4 + i32.store $discard=, bar.lastc($pop575), $pop142 + i32.const $push143=, 52 + i32.ne $push144=, $1, $pop143 + br_if 3, $pop144 # 3: down to label5 +# BB#25: # %if.end3.i377.5 + i32.load8_u $1=, 333($43) + i32.const $push145=, 0 + i32.const $push146=, 5 + i32.store $discard=, bar.lastc($pop145), $pop146 + i32.const $push147=, 53 + i32.ne $push148=, $1, $pop147 + br_if 3, $pop148 # 3: down to label5 +# BB#26: # %if.end3.i391 + i32.const $push149=, 40 + i32.add $push150=, $9, $pop149 + i32.store $discard=, 4($43), $pop150 + i32.const $push154=, 4 + i32.add $push155=, $0, $pop154 + i32.load16_u $1=, 0($pop155):p2align=0 + i32.load $2=, 0($0):p2align=0 + i32.const $push151=, 6 + i32.add $push152=, $0, $pop151 + i32.load8_u $push153=, 0($pop152) + i32.store8 $discard=, 326($43):p2align=1, $pop153 + i32.store16 $discard=, 324($43):p2align=2, $1 + i32.store $discard=, 320($43):p2align=3, $2 + i32.const $push433=, 0 + i32.const $push432=, 0 + i32.store $0=, bar.lastc($pop433), $pop432 + i32.load8_u $1=, 320($43):p2align=3 + i32.const $push156=, 7 + i32.store $discard=, bar.lastn($0), $pop156 + i32.const $push157=, 56 + i32.ne $push158=, $1, $pop157 + br_if 2, $pop158 # 2: down to label6 +# BB#27: # %if.end3.i391.1 + i32.load8_u $0=, 321($43) + i32.const $push566=, 0 + i32.const $push159=, 1 + i32.store $discard=, bar.lastc($pop566), $pop159 + i32.const $push160=, 57 + i32.ne $push161=, $0, $pop160 + br_if 2, $pop161 # 2: down to label6 +# BB#28: # %if.end3.i391.2 + i32.load8_u $0=, 322($43):p2align=1 + i32.const $push567=, 0 + i32.const $push162=, 2 + i32.store $discard=, bar.lastc($pop567), $pop162 + i32.const $push163=, 58 + i32.ne $push164=, $0, $pop163 + br_if 2, $pop164 # 2: down to label6 +# BB#29: # %if.end3.i391.3 + i32.load8_u $0=, 323($43) + i32.const $push568=, 0 + i32.const $push165=, 3 + i32.store $discard=, bar.lastc($pop568), $pop165 + i32.const $push166=, 59 + i32.ne $push167=, $0, $pop166 + br_if 2, $pop167 # 2: down to label6 +# BB#30: # %if.end3.i391.4 + i32.load8_u $0=, 324($43):p2align=2 + i32.const $push569=, 0 + i32.const $push168=, 4 + i32.store $discard=, bar.lastc($pop569), $pop168 + i32.const $push169=, 60 + i32.ne $push170=, $0, $pop169 + br_if 2, $pop170 # 2: down to label6 +# BB#31: # %if.end3.i391.5 + i32.load8_u $0=, 325($43) + i32.const $push570=, 0 + i32.const $push171=, 5 + i32.store $discard=, bar.lastc($pop570), $pop171 + i32.const $push172=, 61 + i32.ne $push173=, $0, $pop172 + br_if 2, $pop173 # 2: down to label6 +# BB#32: # %if.end3.i391.6 + i32.load8_u $0=, 326($43):p2align=1 + i32.const $push571=, 0 + i32.const $push174=, 6 + i32.store $discard=, bar.lastc($pop571), $pop174 + i32.const $push175=, 62 + i32.ne $push176=, $0, $pop175 + br_if 2, $pop176 # 2: down to label6 +# BB#33: # %if.end3.i405 + i32.const $push180=, 40 + i32.add $push181=, $9, $pop180 + i64.load $4=, 0($pop181):p2align=0 + i32.const $push178=, 0 + i32.const $push177=, 7 + i32.store $discard=, bar.lastc($pop178), $pop177 + i64.store $discard=, 312($43), $4 + i32.const $push435=, 0 + i32.const $push434=, 0 + i32.store $0=, bar.lastc($pop435), $pop434 + i32.load8_s $1=, 312($43):p2align=3 + i32.const $push182=, 8 + i32.store $discard=, bar.lastn($0), $pop182 + i32.const $push179=, 48 + i32.add $push4=, $9, $pop179 + i32.store $2=, 4($43), $pop4 + i32.const $push183=, 64 + i32.ne $push184=, $1, $pop183 + br_if 1, $pop184 # 1: down to label7 +# BB#34: # %if.end3.i405.1 + i32.load8_s $1=, 313($43) + i32.const $push27=, 1 + i32.store $0=, bar.lastc($0), $pop27 + i32.const $push185=, 65 + i32.ne $push186=, $1, $pop185 + br_if 1, $pop186 # 1: down to label7 +# BB#35: # %if.end3.i405.2 + i32.load8_s $push187=, 314($43):p2align=1 + i32.const $push585=, 0 + i32.add $push28=, $0, $0 + i32.store $push584=, bar.lastc($pop585), $pop28 + tee_local $push583=, $0=, $pop584 + i32.const $push582=, 64 + i32.or $push188=, $pop583, $pop582 + i32.ne $push189=, $pop187, $pop188 + br_if 1, $pop189 # 1: down to label7 +# BB#36: # %if.end3.i405.3 + i32.const $push592=, 0 + i32.const $push591=, 1 + i32.add $push29=, $0, $pop591 + i32.store $push590=, bar.lastc($pop592), $pop29 + tee_local $push589=, $0=, $pop590 + i32.const $push588=, 24 + i32.shl $push191=, $pop589, $pop588 + i32.const $push587=, 24 + i32.shr_s $push192=, $pop191, $pop587 + i32.const $push586=, 64 + i32.xor $push193=, $pop192, $pop586 + i32.load8_s $push190=, 315($43) + i32.ne $push194=, $pop193, $pop190 + br_if 1, $pop194 # 1: down to label7 +# BB#37: # %if.end3.i405.4 + i32.const $push599=, 0 + i32.const $push598=, 1 + i32.add $push30=, $0, $pop598 + i32.store $push597=, bar.lastc($pop599), $pop30 + tee_local $push596=, $0=, $pop597 + i32.const $push595=, 24 + i32.shl $push196=, $pop596, $pop595 + i32.const $push594=, 24 + i32.shr_s $push197=, $pop196, $pop594 + i32.const $push593=, 64 + i32.xor $push198=, $pop197, $pop593 + i32.load8_s $push195=, 316($43):p2align=2 + i32.ne $push199=, $pop198, $pop195 + br_if 1, $pop199 # 1: down to label7 +# BB#38: # %if.end3.i405.5 + i32.const $push606=, 0 + i32.const $push605=, 1 + i32.add $push31=, $0, $pop605 + i32.store $push604=, bar.lastc($pop606), $pop31 + tee_local $push603=, $0=, $pop604 + i32.const $push602=, 24 + i32.shl $push201=, $pop603, $pop602 + i32.const $push601=, 24 + i32.shr_s $push202=, $pop201, $pop601 + i32.const $push600=, 64 + i32.xor $push203=, $pop202, $pop600 + i32.load8_s $push200=, 317($43) + i32.ne $push204=, $pop203, $pop200 + br_if 1, $pop204 # 1: down to label7 +# BB#39: # %if.end3.i405.6 + i32.const $push613=, 0 + i32.const $push612=, 1 + i32.add $push32=, $0, $pop612 + i32.store $push611=, bar.lastc($pop613), $pop32 + tee_local $push610=, $0=, $pop611 + i32.const $push609=, 24 + i32.shl $push206=, $pop610, $pop609 + i32.const $push608=, 24 + i32.shr_s $push207=, $pop206, $pop608 + i32.const $push607=, 64 + i32.xor $push208=, $pop207, $pop607 + i32.load8_s $push205=, 318($43):p2align=1 + i32.ne $push209=, $pop208, $pop205 + br_if 1, $pop209 # 1: down to label7 +# BB#40: # %if.end3.i405.7 + i32.const $push619=, 0 + i32.const $push618=, 1 + i32.add $push33=, $0, $pop618 + i32.store $push617=, bar.lastc($pop619), $pop33 + tee_local $push616=, $0=, $pop617 + i32.const $push211=, 24 + i32.shl $push212=, $pop616, $pop211 + i32.const $push615=, 24 + i32.shr_s $push213=, $pop212, $pop615 + i32.const $push614=, 64 + i32.xor $push214=, $pop213, $pop614 + i32.load8_s $push210=, 319($43) + i32.ne $push215=, $pop214, $pop210 + br_if 1, $pop215 # 1: down to label7 +# BB#41: # %bar.exit408.7 + i32.const $1=, 8 + i64.load $4=, 0($2):p2align=0 + i32.const $push622=, 8 + i32.const $10=, 296 + i32.add $10=, $43, $10 + i32.add $push220=, $10, $pop622 + i32.const $push621=, 8 + i32.add $push218=, $2, $pop621 + i32.load8_u $push219=, 0($pop218) + i32.store8 $discard=, 0($pop220):p2align=3, $pop219 + i64.store $discard=, 296($43), $4 + i32.const $push216=, 0 + i32.const $push620=, 1 + i32.add $push34=, $0, $pop620 + i32.store $0=, bar.lastc($pop216), $pop34 + i32.const $push217=, 60 + i32.add $push35=, $9, $pop217 + i32.store $6=, 4($43), $pop35 + i32.const $8=, 8 + i32.const $2=, 0 +.LBB1_42: # %for.body104 + # =>This Inner Loop Header: Depth=1 + loop # label10: + i32.const $11=, 296 + i32.add $11=, $43, $11 + i32.add $push221=, $11, $2 + i32.load8_s $3=, 0($pop221) + block + i32.const $push436=, 9 + i32.eq $push222=, $8, $pop436 + br_if 0, $pop222 # 0: down to label12 +# BB#43: # %if.then.i412 + # in Loop: Header=BB1_42 Depth=1 + i32.ne $push223=, $0, $8 + br_if 3, $pop223 # 3: down to label8 +# BB#44: # %if.end.i414 + # in Loop: Header=BB1_42 Depth=1 + i32.const $push225=, 0 + i32.const $push437=, 0 + i32.store $0=, bar.lastc($pop225), $pop437 + i32.const $push224=, 9 + i32.store $1=, bar.lastn($0), $pop224 +.LBB1_45: # %if.end3.i419 + # in Loop: Header=BB1_42 Depth=1 + end_block # label12: + i32.const $push440=, 24 + i32.shl $push226=, $0, $pop440 + i32.const $push439=, 24 + i32.shr_s $push227=, $pop226, $pop439 + i32.const $push438=, 72 + i32.xor $push228=, $pop227, $pop438 + i32.ne $push229=, $pop228, $3 + br_if 2, $pop229 # 2: down to label8 +# BB#46: # %bar.exit422 + # in Loop: Header=BB1_42 Depth=1 + i32.const $push444=, 0 + i32.const $push443=, 1 + i32.add $push5=, $0, $pop443 + i32.store $0=, bar.lastc($pop444), $pop5 + i32.const $push442=, 1 + i32.add $2=, $2, $pop442 + i32.const $8=, 9 + i32.const $push441=, 9 + i32.lt_s $push230=, $2, $pop441 + br_if 0, $pop230 # 0: up to label10 +# BB#47: # %for.end110 + end_loop # label11: + i64.load $4=, 0($6):p2align=0 + i32.const $push232=, 8 + i32.const $12=, 280 + i32.add $12=, $43, $12 + i32.add $push235=, $12, $pop232 + i32.const $push445=, 8 + i32.add $push233=, $6, $pop445 + i32.load16_u $push234=, 0($pop233):p2align=0 + i32.store16 $discard=, 0($pop235):p2align=3, $pop234 + i64.store $discard=, 280($43), $4 + i32.const $push231=, 72 + i32.add $push6=, $9, $pop231 + i32.store $6=, 4($43), $pop6 + copy_local $8=, $1 + i32.const $2=, 0 +.LBB1_48: # %for.body116 + # =>This Inner Loop Header: Depth=1 + loop # label13: + i32.const $13=, 280 + i32.add $13=, $43, $13 + i32.add $push236=, $13, $2 + i32.load8_s $3=, 0($pop236) + block + i32.const $push446=, 10 + i32.eq $push237=, $8, $pop446 + br_if 0, $pop237 # 0: down to label15 +# BB#49: # %if.then.i426 + # in Loop: Header=BB1_48 Depth=1 + i32.ne $push238=, $0, $8 + br_if 3, $pop238 # 3: down to label8 +# BB#50: # %if.end.i428 + # in Loop: Header=BB1_48 Depth=1 + i32.const $push240=, 0 + i32.const $push447=, 0 + i32.store $0=, bar.lastc($pop240), $pop447 + i32.const $push239=, 10 + i32.store $1=, bar.lastn($0), $pop239 +.LBB1_51: # %if.end3.i433 + # in Loop: Header=BB1_48 Depth=1 + end_block # label15: + i32.const $push450=, 24 + i32.shl $push241=, $0, $pop450 + i32.const $push449=, 24 + i32.shr_s $push242=, $pop241, $pop449 + i32.const $push448=, 80 + i32.xor $push243=, $pop242, $pop448 + i32.ne $push244=, $pop243, $3 + br_if 2, $pop244 # 2: down to label8 +# BB#52: # %bar.exit436 + # in Loop: Header=BB1_48 Depth=1 + i32.const $push454=, 0 + i32.const $push453=, 1 + i32.add $push7=, $0, $pop453 + i32.store $0=, bar.lastc($pop454), $pop7 + i32.const $push452=, 1 + i32.add $2=, $2, $pop452 + i32.const $8=, 10 + i32.const $push451=, 10 + i32.lt_s $push245=, $2, $pop451 + br_if 0, $pop245 # 0: up to label13 +# BB#53: # %for.end122 + end_loop # label14: + i64.load $4=, 0($6):p2align=0 + i32.const $push251=, 8 + i32.add $push252=, $6, $pop251 + i32.load16_u $2=, 0($pop252):p2align=0 + i32.const $push247=, 10 + i32.const $14=, 264 + i32.add $14=, $43, $14 + i32.add $push250=, $14, $pop247 + i32.const $push456=, 10 + i32.add $push248=, $6, $pop456 + i32.load8_u $push249=, 0($pop248) + i32.store8 $discard=, 0($pop250):p2align=1, $pop249 + i32.const $push455=, 8 + i32.const $15=, 264 + i32.add $15=, $43, $15 + i32.add $push253=, $15, $pop455 + i32.store16 $discard=, 0($pop253):p2align=3, $2 + i64.store $discard=, 264($43), $4 + i32.const $push246=, 84 + i32.add $push8=, $9, $pop246 + i32.store $6=, 4($43), $pop8 + copy_local $8=, $1 + i32.const $2=, 0 +.LBB1_54: # %for.body128 + # =>This Inner Loop Header: Depth=1 + loop # label16: + i32.const $16=, 264 + i32.add $16=, $43, $16 + i32.add $push254=, $16, $2 + i32.load8_s $3=, 0($pop254) + block + i32.const $push457=, 11 + i32.eq $push255=, $8, $pop457 + br_if 0, $pop255 # 0: down to label18 +# BB#55: # %if.then.i440 + # in Loop: Header=BB1_54 Depth=1 + i32.ne $push256=, $0, $8 + br_if 3, $pop256 # 3: down to label8 +# BB#56: # %if.end.i442 + # in Loop: Header=BB1_54 Depth=1 + i32.const $push258=, 0 + i32.const $push458=, 0 + i32.store $0=, bar.lastc($pop258), $pop458 + i32.const $push257=, 11 + i32.store $1=, bar.lastn($0), $pop257 +.LBB1_57: # %if.end3.i447 + # in Loop: Header=BB1_54 Depth=1 + end_block # label18: + i32.const $push461=, 24 + i32.shl $push259=, $0, $pop461 + i32.const $push460=, 24 + i32.shr_s $push260=, $pop259, $pop460 + i32.const $push459=, 88 + i32.xor $push261=, $pop260, $pop459 + i32.ne $push262=, $pop261, $3 + br_if 2, $pop262 # 2: down to label8 +# BB#58: # %bar.exit450 + # in Loop: Header=BB1_54 Depth=1 + i32.const $push465=, 0 + i32.const $push464=, 1 + i32.add $push9=, $0, $pop464 + i32.store $0=, bar.lastc($pop465), $pop9 + i32.const $push463=, 1 + i32.add $2=, $2, $pop463 + i32.const $8=, 11 + i32.const $push462=, 11 + i32.lt_s $push263=, $2, $pop462 + br_if 0, $pop263 # 0: up to label16 +# BB#59: # %for.end134 + end_loop # label17: + i64.load $4=, 0($6):p2align=0 + i32.const $push264=, 8 + i32.const $17=, 248 + i32.add $17=, $43, $17 + i32.add $push267=, $17, $pop264 + i32.const $push467=, 8 + i32.add $push265=, $6, $pop467 + i32.load $push266=, 0($pop265):p2align=0 + i32.store $discard=, 0($pop267):p2align=3, $pop266 + i64.store $discard=, 248($43), $4 + i32.const $push466=, 96 + i32.add $push10=, $9, $pop466 + i32.store $6=, 4($43), $pop10 + copy_local $8=, $1 + i32.const $2=, 0 +.LBB1_60: # %for.body140 + # =>This Inner Loop Header: Depth=1 + loop # label19: + i32.const $18=, 248 + i32.add $18=, $43, $18 + i32.add $push268=, $18, $2 + i32.load8_s $3=, 0($pop268) + block + i32.const $push468=, 12 + i32.eq $push269=, $8, $pop468 + br_if 0, $pop269 # 0: down to label21 +# BB#61: # %if.then.i454 + # in Loop: Header=BB1_60 Depth=1 + i32.ne $push270=, $0, $8 + br_if 3, $pop270 # 3: down to label8 +# BB#62: # %if.end.i456 + # in Loop: Header=BB1_60 Depth=1 + i32.const $push272=, 0 + i32.const $push469=, 0 + i32.store $0=, bar.lastc($pop272), $pop469 + i32.const $push271=, 12 + i32.store $1=, bar.lastn($0), $pop271 +.LBB1_63: # %if.end3.i461 + # in Loop: Header=BB1_60 Depth=1 + end_block # label21: + i32.const $push472=, 24 + i32.shl $push273=, $0, $pop472 + i32.const $push471=, 24 + i32.shr_s $push274=, $pop273, $pop471 + i32.const $push470=, 96 + i32.xor $push275=, $pop274, $pop470 + i32.ne $push276=, $pop275, $3 + br_if 2, $pop276 # 2: down to label8 +# BB#64: # %bar.exit464 + # in Loop: Header=BB1_60 Depth=1 + i32.const $push476=, 0 + i32.const $push475=, 1 + i32.add $push11=, $0, $pop475 + i32.store $0=, bar.lastc($pop476), $pop11 + i32.const $push474=, 1 + i32.add $2=, $2, $pop474 + i32.const $8=, 12 + i32.const $push473=, 12 + i32.lt_s $push277=, $2, $pop473 + br_if 0, $pop277 # 0: up to label19 +# BB#65: # %for.end146 + end_loop # label20: + i64.load $4=, 0($6):p2align=0 + i32.const $push283=, 8 + i32.add $push284=, $6, $pop283 + i32.load $2=, 0($pop284):p2align=0 + i32.const $push279=, 12 + i32.const $19=, 232 + i32.add $19=, $43, $19 + i32.add $push282=, $19, $pop279 + i32.const $push478=, 12 + i32.add $push280=, $6, $pop478 + i32.load8_u $push281=, 0($pop280) + i32.store8 $discard=, 0($pop282):p2align=2, $pop281 + i32.const $push477=, 8 + i32.const $20=, 232 + i32.add $20=, $43, $20 + i32.add $push285=, $20, $pop477 + i32.store $discard=, 0($pop285):p2align=3, $2 + i64.store $discard=, 232($43), $4 + i32.const $push278=, 112 + i32.add $push12=, $9, $pop278 + i32.store $6=, 4($43), $pop12 + copy_local $8=, $1 + i32.const $2=, 0 +.LBB1_66: # %for.body152 + # =>This Inner Loop Header: Depth=1 + loop # label22: + i32.const $21=, 232 + i32.add $21=, $43, $21 + i32.add $push286=, $21, $2 + i32.load8_s $3=, 0($pop286) + block + i32.const $push479=, 13 + i32.eq $push287=, $8, $pop479 + br_if 0, $pop287 # 0: down to label24 +# BB#67: # %if.then.i468 + # in Loop: Header=BB1_66 Depth=1 + i32.ne $push288=, $0, $8 + br_if 3, $pop288 # 3: down to label8 +# BB#68: # %if.end.i470 + # in Loop: Header=BB1_66 Depth=1 + i32.const $push290=, 0 + i32.const $push480=, 0 + i32.store $0=, bar.lastc($pop290), $pop480 + i32.const $push289=, 13 + i32.store $1=, bar.lastn($0), $pop289 +.LBB1_69: # %if.end3.i475 + # in Loop: Header=BB1_66 Depth=1 + end_block # label24: + i32.const $push483=, 24 + i32.shl $push291=, $0, $pop483 + i32.const $push482=, 24 + i32.shr_s $push292=, $pop291, $pop482 + i32.const $push481=, 104 + i32.xor $push293=, $pop292, $pop481 + i32.ne $push294=, $pop293, $3 + br_if 2, $pop294 # 2: down to label8 +# BB#70: # %bar.exit478 + # in Loop: Header=BB1_66 Depth=1 + i32.const $push487=, 0 + i32.const $push486=, 1 + i32.add $push13=, $0, $pop486 + i32.store $0=, bar.lastc($pop487), $pop13 + i32.const $push485=, 1 + i32.add $2=, $2, $pop485 + i32.const $8=, 13 + i32.const $push484=, 13 + i32.lt_s $push295=, $2, $pop484 + br_if 0, $pop295 # 0: up to label22 +# BB#71: # %for.end158 + end_loop # label23: + i64.load $4=, 0($6):p2align=0 + i32.const $push301=, 8 + i32.add $push302=, $6, $pop301 + i32.load $2=, 0($pop302):p2align=0 + i32.const $push297=, 12 + i32.const $22=, 216 + i32.add $22=, $43, $22 + i32.add $push300=, $22, $pop297 + i32.const $push489=, 12 + i32.add $push298=, $6, $pop489 + i32.load16_u $push299=, 0($pop298):p2align=0 + i32.store16 $discard=, 0($pop300):p2align=2, $pop299 + i32.const $push488=, 8 + i32.const $23=, 216 + i32.add $23=, $43, $23 + i32.add $push303=, $23, $pop488 + i32.store $discard=, 0($pop303):p2align=3, $2 + i64.store $discard=, 216($43), $4 + i32.const $push296=, 128 + i32.add $push14=, $9, $pop296 + i32.store $6=, 4($43), $pop14 + copy_local $8=, $1 + i32.const $2=, 0 +.LBB1_72: # %for.body164 + # =>This Inner Loop Header: Depth=1 + loop # label25: + i32.const $24=, 216 + i32.add $24=, $43, $24 + i32.add $push304=, $24, $2 + i32.load8_s $3=, 0($pop304) + block + i32.const $push490=, 14 + i32.eq $push305=, $8, $pop490 + br_if 0, $pop305 # 0: down to label27 +# BB#73: # %if.then.i482 + # in Loop: Header=BB1_72 Depth=1 + i32.ne $push306=, $0, $8 + br_if 3, $pop306 # 3: down to label8 +# BB#74: # %if.end.i484 + # in Loop: Header=BB1_72 Depth=1 + i32.const $push308=, 0 + i32.const $push491=, 0 + i32.store $0=, bar.lastc($pop308), $pop491 + i32.const $push307=, 14 + i32.store $1=, bar.lastn($0), $pop307 +.LBB1_75: # %if.end3.i489 + # in Loop: Header=BB1_72 Depth=1 + end_block # label27: + i32.const $push494=, 24 + i32.shl $push309=, $0, $pop494 + i32.const $push493=, 24 + i32.shr_s $push310=, $pop309, $pop493 + i32.const $push492=, 112 + i32.xor $push311=, $pop310, $pop492 + i32.ne $push312=, $pop311, $3 + br_if 2, $pop312 # 2: down to label8 +# BB#76: # %bar.exit492 + # in Loop: Header=BB1_72 Depth=1 + i32.const $push498=, 0 + i32.const $push497=, 1 + i32.add $push15=, $0, $pop497 + i32.store $0=, bar.lastc($pop498), $pop15 + i32.const $push496=, 1 + i32.add $2=, $2, $pop496 + i32.const $8=, 14 + i32.const $push495=, 14 + i32.lt_s $push313=, $2, $pop495 + br_if 0, $pop313 # 0: up to label25 +# BB#77: # %for.end170 + end_loop # label26: + i32.const $push315=, 14 + i32.const $25=, 200 + i32.add $25=, $43, $25 + i32.add $push318=, $25, $pop315 + i32.const $push501=, 14 + i32.add $push316=, $6, $pop501 + i32.load8_u $push317=, 0($pop316) + i32.store8 $discard=, 0($pop318):p2align=1, $pop317 + i64.load $4=, 0($6):p2align=0 + i32.const $push323=, 8 + i32.add $push324=, $6, $pop323 + i32.load $2=, 0($pop324):p2align=0 + i32.const $push319=, 12 + i32.const $26=, 200 + i32.add $26=, $43, $26 + i32.add $push322=, $26, $pop319 + i32.const $push500=, 12 + i32.add $push320=, $6, $pop500 + i32.load16_u $push321=, 0($pop320):p2align=0 + i32.store16 $discard=, 0($pop322):p2align=2, $pop321 + i32.const $push499=, 8 + i32.const $27=, 200 + i32.add $27=, $43, $27 + i32.add $push325=, $27, $pop499 + i32.store $discard=, 0($pop325):p2align=3, $2 + i64.store $discard=, 200($43), $4 + i32.const $push314=, 144 + i32.add $push16=, $9, $pop314 + i32.store $6=, 4($43), $pop16 + copy_local $8=, $1 + i32.const $2=, 0 +.LBB1_78: # %for.body176 + # =>This Inner Loop Header: Depth=1 + loop # label28: + i32.const $28=, 200 + i32.add $28=, $43, $28 + i32.add $push326=, $28, $2 + i32.load8_s $3=, 0($pop326) + block + i32.const $push502=, 15 + i32.eq $push327=, $8, $pop502 + br_if 0, $pop327 # 0: down to label30 +# BB#79: # %if.then.i496 + # in Loop: Header=BB1_78 Depth=1 + i32.ne $push328=, $0, $8 + br_if 3, $pop328 # 3: down to label8 +# BB#80: # %if.end.i498 + # in Loop: Header=BB1_78 Depth=1 + i32.const $push330=, 0 + i32.const $push503=, 0 + i32.store $0=, bar.lastc($pop330), $pop503 + i32.const $push329=, 15 + i32.store $1=, bar.lastn($0), $pop329 +.LBB1_81: # %if.end3.i503 + # in Loop: Header=BB1_78 Depth=1 + end_block # label30: + i32.const $push506=, 24 + i32.shl $push331=, $0, $pop506 + i32.const $push505=, 24 + i32.shr_s $push332=, $pop331, $pop505 + i32.const $push504=, 120 + i32.xor $push333=, $pop332, $pop504 + i32.ne $push334=, $pop333, $3 + br_if 2, $pop334 # 2: down to label8 +# BB#82: # %bar.exit506 + # in Loop: Header=BB1_78 Depth=1 + i32.const $push510=, 0 + i32.const $push509=, 1 + i32.add $push17=, $0, $pop509 + i32.store $0=, bar.lastc($pop510), $pop17 + i32.const $push508=, 1 + i32.add $2=, $2, $pop508 + i32.const $8=, 15 + i32.const $push507=, 15 + i32.lt_s $push335=, $2, $pop507 + br_if 0, $pop335 # 0: up to label28 +# BB#83: # %for.end182 + end_loop # label29: + i64.load $4=, 0($6):p2align=0 + i32.const $push341=, 8 + i32.add $push342=, $6, $pop341 + i32.load $2=, 0($pop342):p2align=0 + i32.const $push337=, 12 + i32.const $29=, 184 + i32.add $29=, $43, $29 + i32.add $push340=, $29, $pop337 + i32.const $push512=, 12 + i32.add $push338=, $6, $pop512 + i32.load $push339=, 0($pop338):p2align=0 + i32.store $discard=, 0($pop340), $pop339 + i32.const $push511=, 8 + i32.const $30=, 184 + i32.add $30=, $43, $30 + i32.add $push343=, $30, $pop511 + i32.store $discard=, 0($pop343):p2align=3, $2 + i64.store $discard=, 184($43), $4 + i32.const $push336=, 160 + i32.add $push18=, $9, $pop336 + i32.store $5=, 4($43), $pop18 + copy_local $8=, $1 + i32.const $2=, 0 +.LBB1_84: # %for.body188 + # =>This Inner Loop Header: Depth=1 + loop # label31: + i32.const $31=, 184 + i32.add $31=, $43, $31 + i32.add $push344=, $31, $2 + i32.load8_s $3=, 0($pop344) + block + i32.const $push513=, 16 + i32.eq $push345=, $8, $pop513 + br_if 0, $pop345 # 0: down to label33 +# BB#85: # %if.then.i510 + # in Loop: Header=BB1_84 Depth=1 + i32.ne $push346=, $0, $8 + br_if 3, $pop346 # 3: down to label8 +# BB#86: # %if.end.i512 + # in Loop: Header=BB1_84 Depth=1 + i32.const $push348=, 0 + i32.const $push514=, 0 + i32.store $0=, bar.lastc($pop348), $pop514 + i32.const $push347=, 16 + i32.store $1=, bar.lastn($0), $pop347 +.LBB1_87: # %if.end3.i517 + # in Loop: Header=BB1_84 Depth=1 + end_block # label33: + i32.const $push517=, 24 + i32.shl $push349=, $0, $pop517 + i32.const $push516=, -2147483648 + i32.xor $push350=, $pop349, $pop516 + i32.const $push515=, 24 + i32.shr_s $push351=, $pop350, $pop515 + i32.ne $push352=, $pop351, $3 + br_if 2, $pop352 # 2: down to label8 +# BB#88: # %bar.exit520 + # in Loop: Header=BB1_84 Depth=1 + i32.const $push521=, 0 + i32.const $push520=, 1 + i32.add $push19=, $0, $pop520 + i32.store $0=, bar.lastc($pop521), $pop19 + i32.const $push519=, 1 + i32.add $2=, $2, $pop519 + i32.const $8=, 16 + i32.const $push518=, 16 + i32.lt_s $push353=, $2, $pop518 + br_if 0, $pop353 # 0: up to label31 +# BB#89: # %for.end194 + end_loop # label32: + i32.const $push354=, 192 + i32.add $push20=, $9, $pop354 + i32.store $6=, 4($43), $pop20 + i32.const $push522=, 31 + i32.const $32=, 152 + i32.add $32=, $43, $32 + i32.call $discard=, memcpy@FUNCTION, $32, $5, $pop522 + copy_local $8=, $1 + i32.const $2=, 0 +.LBB1_90: # %for.body200 + # =>This Inner Loop Header: Depth=1 + loop # label34: + i32.const $33=, 152 + i32.add $33=, $43, $33 + i32.add $push355=, $33, $2 + i32.load8_s $3=, 0($pop355) + block + i32.const $push523=, 31 + i32.eq $push356=, $8, $pop523 + br_if 0, $pop356 # 0: down to label36 +# BB#91: # %if.then.i524 + # in Loop: Header=BB1_90 Depth=1 + i32.ne $push357=, $0, $8 + br_if 3, $pop357 # 3: down to label8 +# BB#92: # %if.end.i526 + # in Loop: Header=BB1_90 Depth=1 + i32.const $push359=, 0 + i32.const $push524=, 0 + i32.store $0=, bar.lastc($pop359), $pop524 + i32.const $push358=, 31 + i32.store $1=, bar.lastn($0), $pop358 +.LBB1_93: # %if.end3.i531 + # in Loop: Header=BB1_90 Depth=1 + end_block # label36: + i32.const $push527=, 24 + i32.shl $push360=, $0, $pop527 + i32.const $push526=, -134217728 + i32.xor $push361=, $pop360, $pop526 + i32.const $push525=, 24 + i32.shr_s $push362=, $pop361, $pop525 + i32.ne $push363=, $pop362, $3 + br_if 2, $pop363 # 2: down to label8 +# BB#94: # %bar.exit534 + # in Loop: Header=BB1_90 Depth=1 + i32.const $push531=, 0 + i32.const $push530=, 1 + i32.add $push21=, $0, $pop530 + i32.store $0=, bar.lastc($pop531), $pop21 + i32.const $push529=, 1 + i32.add $2=, $2, $pop529 + i32.const $8=, 31 + i32.const $push528=, 31 + i32.lt_s $push364=, $2, $pop528 + br_if 0, $pop364 # 0: up to label34 +# BB#95: # %for.end206 + end_loop # label35: + i32.const $push536=, 24 + i32.add $push370=, $6, $pop536 + i32.load $2=, 0($pop370):p2align=0 + i32.const $push366=, 28 + i32.const $34=, 120 + i32.add $34=, $43, $34 + i32.add $push369=, $34, $pop366 + i32.const $push535=, 28 + i32.add $push367=, $6, $pop535 + i32.load $push368=, 0($pop367):p2align=0 + i32.store $discard=, 0($pop369), $pop368 + i32.const $push534=, 24 + i32.const $35=, 120 + i32.add $35=, $43, $35 + i32.add $push371=, $35, $pop534 + i32.store $discard=, 0($pop371):p2align=3, $2 + i32.const $push376=, 8 + i32.add $push377=, $6, $pop376 + i64.load $4=, 0($pop377):p2align=0 + i64.load $7=, 0($6):p2align=0 + i32.const $push372=, 16 + i32.const $36=, 120 + i32.add $36=, $43, $36 + i32.add $push375=, $36, $pop372 + i32.const $push533=, 16 + i32.add $push373=, $6, $pop533 + i64.load $push374=, 0($pop373):p2align=0 + i64.store $discard=, 0($pop375), $pop374 + i32.const $push532=, 8 + i32.const $37=, 120 + i32.add $37=, $43, $37 + i32.add $push378=, $37, $pop532 + i64.store $discard=, 0($pop378), $4 + i64.store $discard=, 120($43), $7 + i32.const $push365=, 224 + i32.add $push22=, $9, $pop365 + i32.store $6=, 4($43), $pop22 + copy_local $8=, $1 + i32.const $2=, 0 +.LBB1_96: # %for.body212 + # =>This Inner Loop Header: Depth=1 + loop # label37: + i32.const $38=, 120 + i32.add $38=, $43, $38 + i32.add $push379=, $38, $2 + i32.load8_s $3=, 0($pop379) + block + i32.const $push537=, 32 + i32.eq $push380=, $8, $pop537 + br_if 0, $pop380 # 0: down to label39 +# BB#97: # %if.then.i538 + # in Loop: Header=BB1_96 Depth=1 + i32.ne $push381=, $0, $8 + br_if 3, $pop381 # 3: down to label8 +# BB#98: # %if.end.i540 + # in Loop: Header=BB1_96 Depth=1 + i32.const $push383=, 0 + i32.const $push538=, 0 + i32.store $0=, bar.lastc($pop383), $pop538 + i32.const $push382=, 32 + i32.store $1=, bar.lastn($0), $pop382 +.LBB1_99: # %if.end3.i545 + # in Loop: Header=BB1_96 Depth=1 + end_block # label39: + i32.const $push540=, 24 + i32.shl $push384=, $0, $pop540 + i32.const $push539=, 24 + i32.shr_s $push385=, $pop384, $pop539 + i32.ne $push386=, $pop385, $3 + br_if 2, $pop386 # 2: down to label8 +# BB#100: # %bar.exit548 + # in Loop: Header=BB1_96 Depth=1 + i32.const $push544=, 0 + i32.const $push543=, 1 + i32.add $push23=, $0, $pop543 + i32.store $0=, bar.lastc($pop544), $pop23 + i32.const $push542=, 1 + i32.add $2=, $2, $pop542 + i32.const $8=, 32 + i32.const $push541=, 32 + i32.lt_s $push387=, $2, $pop541 + br_if 0, $pop387 # 0: up to label37 +# BB#101: # %for.end218 + end_loop # label38: + i32.const $push388=, 260 + i32.add $push24=, $9, $pop388 + i32.store $5=, 4($43), $pop24 + i32.const $push545=, 35 + i32.const $39=, 80 + i32.add $39=, $43, $39 + i32.call $discard=, memcpy@FUNCTION, $39, $6, $pop545 + copy_local $8=, $1 + i32.const $2=, 0 +.LBB1_102: # %for.body224 + # =>This Inner Loop Header: Depth=1 + loop # label40: + i32.const $40=, 80 + i32.add $40=, $43, $40 + i32.add $push389=, $40, $2 + i32.load8_s $3=, 0($pop389) + block + i32.const $push546=, 35 + i32.eq $push390=, $8, $pop546 + br_if 0, $pop390 # 0: down to label42 +# BB#103: # %if.then.i552 + # in Loop: Header=BB1_102 Depth=1 + i32.ne $push391=, $0, $8 + br_if 3, $pop391 # 3: down to label8 +# BB#104: # %if.end.i554 + # in Loop: Header=BB1_102 Depth=1 + i32.const $push393=, 0 + i32.const $push547=, 0 + i32.store $0=, bar.lastc($pop393), $pop547 + i32.const $push392=, 35 + i32.store $1=, bar.lastn($0), $pop392 +.LBB1_105: # %if.end3.i559 + # in Loop: Header=BB1_102 Depth=1 + end_block # label42: + i32.const $push550=, 24 + i32.shl $push394=, $0, $pop550 + i32.const $push549=, 24 + i32.shr_s $push395=, $pop394, $pop549 + i32.const $push548=, 24 + i32.xor $push396=, $pop395, $pop548 + i32.ne $push397=, $pop396, $3 + br_if 2, $pop397 # 2: down to label8 +# BB#106: # %bar.exit562 + # in Loop: Header=BB1_102 Depth=1 + i32.const $push554=, 0 + i32.const $push553=, 1 + i32.add $push25=, $0, $pop553 + i32.store $0=, bar.lastc($pop554), $pop25 + i32.const $push552=, 1 + i32.add $2=, $2, $pop552 + i32.const $8=, 35 + i32.const $push551=, 35 + i32.lt_s $push398=, $2, $pop551 + br_if 0, $pop398 # 0: up to label40 +# BB#107: # %for.end230 + end_loop # label41: + i32.const $push399=, 332 + i32.add $push400=, $9, $pop399 + i32.store $discard=, 4($43), $pop400 + i32.const $push555=, 72 + i32.const $41=, 8 + i32.add $41=, $43, $41 + i32.call $discard=, memcpy@FUNCTION, $41, $5, $pop555 + i32.const $2=, 0 +.LBB1_108: # %for.body236 + # =>This Inner Loop Header: Depth=1 + loop # label43: + i32.const $42=, 8 + i32.add $42=, $43, $42 + i32.add $push401=, $42, $2 + i32.load8_s $8=, 0($pop401) + block + i32.const $push556=, 72 + i32.eq $push402=, $1, $pop556 + br_if 0, $pop402 # 0: down to label45 +# BB#109: # %if.then.i566 + # in Loop: Header=BB1_108 Depth=1 + i32.ne $push403=, $0, $1 + br_if 3, $pop403 # 3: down to label8 +# BB#110: # %if.end.i568 + # in Loop: Header=BB1_108 Depth=1 + i32.const $push404=, 0 + i32.const $push558=, 0 + i32.store $0=, bar.lastc($pop404), $pop558 + i32.const $push557=, 72 + i32.store $discard=, bar.lastn($0), $pop557 +.LBB1_111: # %if.end3.i573 + # in Loop: Header=BB1_108 Depth=1 + end_block # label45: + i32.const $push561=, 24 + i32.shl $push405=, $0, $pop561 + i32.const $push560=, 24 + i32.shr_s $push406=, $pop405, $pop560 + i32.const $push559=, 64 + i32.xor $push407=, $pop406, $pop559 + i32.ne $push408=, $pop407, $8 + br_if 2, $pop408 # 2: down to label8 +# BB#112: # %bar.exit576 + # in Loop: Header=BB1_108 Depth=1 + i32.const $push565=, 0 + i32.const $push564=, 1 + i32.add $push26=, $0, $pop564 + i32.store $0=, bar.lastc($pop565), $pop26 + i32.const $push563=, 1 + i32.add $2=, $2, $pop563 + i32.const $1=, 72 + i32.const $push562=, 72 + i32.lt_s $push409=, $2, $pop562 + br_if 0, $pop409 # 0: up to label43 +# BB#113: # %for.end242 + end_loop # label44: + i32.const $push627=, 352 + i32.add $43=, $43, $pop627 + i32.const $push628=, __stack_pointer + i32.store $discard=, 0($pop628), $43 + return +.LBB1_114: # %if.then7.i322 + end_block # label8: + call abort@FUNCTION + unreachable +.LBB1_115: # %if.then7.i406 + end_block # label7: + call abort@FUNCTION + unreachable +.LBB1_116: # %if.then7.i392 + end_block # label6: + call abort@FUNCTION + unreachable +.LBB1_117: # %if.then7.i378 + end_block # label5: + call abort@FUNCTION + unreachable +.LBB1_118: # %if.then7.i364 + end_block # label4: + call abort@FUNCTION + unreachable +.LBB1_119: # %if.then7.i350 + end_block # label3: + call abort@FUNCTION + unreachable +.LBB1_120: # %if.then7.i336 + end_block # label2: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end1: + .size foo, .Lfunc_end1-foo + + .section .text.main,"ax",@progbits + .hidden main + .globl main + .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, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push324=, __stack_pointer + i32.load $push325=, 0($pop324) + i32.const $push326=, 768 + i32.sub $68=, $pop325, $pop326 + i32.const $push327=, __stack_pointer + i32.store $discard=, 0($pop327), $68 + i32.const $push0=, 16 + i32.store8 $discard=, 760($68):p2align=3, $pop0 + i32.const $push1=, 17 + i32.store8 $discard=, 761($68), $pop1 + i32.const $push2=, 24 + i32.store8 $discard=, 752($68):p2align=3, $pop2 + i32.const $push3=, 25 + i32.store8 $discard=, 753($68), $pop3 + i32.const $push4=, 26 + i32.store8 $discard=, 754($68):p2align=1, $pop4 + i32.const $push5=, 32 + i32.store8 $discard=, 744($68):p2align=3, $pop5 + i32.const $push6=, 33 + i32.store8 $discard=, 745($68), $pop6 + i32.const $push7=, 34 + i32.store8 $discard=, 746($68):p2align=1, $pop7 + i32.const $push8=, 35 + i32.store8 $discard=, 747($68), $pop8 + i32.const $push9=, 40 + i32.store8 $discard=, 736($68):p2align=3, $pop9 + i32.const $push10=, 41 + i32.store8 $discard=, 737($68), $pop10 + i32.const $push11=, 42 + i32.store8 $discard=, 738($68):p2align=1, $pop11 + i32.const $push12=, 43 + i32.store8 $discard=, 739($68), $pop12 + i32.const $push13=, 44 + i32.store8 $discard=, 740($68):p2align=2, $pop13 + i32.const $push14=, 48 + i32.store8 $discard=, 728($68):p2align=3, $pop14 + i32.const $push15=, 49 + i32.store8 $discard=, 729($68), $pop15 + i32.const $push16=, 50 + i32.store8 $discard=, 730($68):p2align=1, $pop16 + i32.const $push17=, 51 + i32.store8 $discard=, 731($68), $pop17 + i32.const $push18=, 52 + i32.store8 $discard=, 732($68):p2align=2, $pop18 + i32.const $push19=, 53 + i32.store8 $discard=, 733($68), $pop19 + i32.const $push20=, 56 + i32.store8 $discard=, 720($68):p2align=3, $pop20 + i32.const $push21=, 57 + i32.store8 $discard=, 721($68), $pop21 + i32.const $push22=, 58 + i32.store8 $discard=, 722($68):p2align=1, $pop22 + i32.const $push23=, 59 + i32.store8 $discard=, 723($68), $pop23 + i32.const $push24=, 60 + i32.store8 $discard=, 724($68):p2align=2, $pop24 + i32.const $push25=, 61 + i32.store8 $discard=, 725($68), $pop25 + i32.const $push26=, 62 + i32.store8 $discard=, 726($68):p2align=1, $pop26 + i32.const $push29=, 65 + i32.store8 $discard=, 713($68), $pop29 + i32.const $push30=, 66 + i32.store8 $discard=, 714($68):p2align=1, $pop30 + i32.const $push31=, 67 + i32.store8 $discard=, 715($68), $pop31 + i32.const $push32=, 68 + i32.store8 $discard=, 716($68):p2align=2, $pop32 + i32.const $push33=, 69 + i32.store8 $discard=, 717($68), $pop33 + i32.const $push34=, 70 + i32.store8 $discard=, 718($68):p2align=1, $pop34 + i32.const $push35=, 71 + i32.store8 $discard=, 719($68), $pop35 + i32.const $push36=, 72 + i32.store8 $discard=, 696($68):p2align=3, $pop36 + i32.const $push37=, 73 + i32.store8 $discard=, 697($68), $pop37 + i32.const $push38=, 74 + i32.store8 $discard=, 698($68):p2align=1, $pop38 + i32.const $push39=, 75 + i32.store8 $discard=, 699($68), $pop39 + i32.const $push40=, 76 + i32.store8 $discard=, 700($68):p2align=2, $pop40 + i32.const $push41=, 77 + i32.store8 $discard=, 701($68), $pop41 + i32.const $push42=, 78 + i32.store8 $discard=, 702($68):p2align=1, $pop42 + i32.const $push43=, 79 + i32.store8 $discard=, 703($68), $pop43 + i32.const $push27=, 64 + i32.store8 $push28=, 712($68):p2align=3, $pop27 + i32.store8 $discard=, 704($68):p2align=3, $pop28 + i32.const $push50=, 83 + i32.store8 $discard=, 683($68), $pop50 + i32.const $push51=, 84 + i32.store8 $discard=, 684($68):p2align=2, $pop51 + i32.const $push52=, 85 + i32.store8 $discard=, 685($68), $pop52 + i32.const $push53=, 86 + i32.store8 $discard=, 686($68):p2align=1, $pop53 + i32.const $push54=, 87 + i32.store8 $discard=, 687($68), $pop54 + i32.const $push55=, 88 + i32.store8 $push56=, 688($68):p2align=3, $pop55 + i32.store8 $discard=, 664($68):p2align=3, $pop56 + i32.const $push57=, 89 + i32.store8 $push58=, 689($68), $pop57 + i32.store8 $discard=, 665($68), $pop58 + i32.const $push59=, 90 + i32.store8 $discard=, 666($68):p2align=1, $pop59 + i32.const $push60=, 91 + i32.store8 $discard=, 667($68), $pop60 + i32.const $push61=, 92 + i32.store8 $discard=, 668($68):p2align=2, $pop61 + i32.const $push62=, 93 + i32.store8 $discard=, 669($68), $pop62 + i32.const $push63=, 94 + i32.store8 $discard=, 670($68):p2align=1, $pop63 + i32.const $push64=, 95 + i32.store8 $discard=, 671($68), $pop64 + i32.const $push44=, 80 + i32.store8 $push45=, 680($68):p2align=3, $pop44 + i32.store8 $discard=, 672($68):p2align=3, $pop45 + i32.const $push46=, 81 + i32.store8 $push47=, 681($68), $pop46 + i32.store8 $discard=, 673($68), $pop47 + i32.const $push48=, 82 + i32.store8 $push49=, 682($68):p2align=1, $pop48 + i32.store8 $discard=, 674($68):p2align=1, $pop49 + i32.const $push75=, 101 + i32.store8 $discard=, 653($68), $pop75 + i32.const $push76=, 102 + i32.store8 $discard=, 654($68):p2align=1, $pop76 + i32.const $push77=, 103 + i32.store8 $discard=, 655($68), $pop77 + i32.const $push78=, 104 + i32.store8 $push79=, 656($68):p2align=3, $pop78 + i32.store8 $discard=, 632($68):p2align=3, $pop79 + i32.const $push80=, 105 + i32.store8 $push81=, 657($68), $pop80 + i32.store8 $discard=, 633($68), $pop81 + i32.const $push82=, 106 + i32.store8 $push83=, 658($68):p2align=1, $pop82 + i32.store8 $discard=, 634($68):p2align=1, $pop83 + i32.const $push84=, 107 + i32.store8 $push85=, 659($68), $pop84 + i32.store8 $discard=, 635($68), $pop85 + i32.const $push86=, 108 + i32.store8 $discard=, 636($68):p2align=2, $pop86 + i32.const $push87=, 109 + i32.store8 $discard=, 637($68), $pop87 + i32.const $push88=, 110 + i32.store8 $discard=, 638($68):p2align=1, $pop88 + i32.const $push89=, 111 + i32.store8 $discard=, 639($68), $pop89 + i32.const $push65=, 96 + i32.store8 $push66=, 648($68):p2align=3, $pop65 + i32.store8 $discard=, 640($68):p2align=3, $pop66 + i32.const $push67=, 97 + i32.store8 $push68=, 649($68), $pop67 + i32.store8 $discard=, 641($68), $pop68 + i32.const $push69=, 98 + i32.store8 $push70=, 650($68):p2align=1, $pop69 + i32.store8 $discard=, 642($68):p2align=1, $pop70 + i32.const $push71=, 99 + i32.store8 $push72=, 651($68), $pop71 + i32.store8 $discard=, 643($68), $pop72 + i32.const $push73=, 100 + i32.store8 $push74=, 652($68):p2align=2, $pop73 + i32.store8 $discard=, 644($68):p2align=2, $pop74 + i32.const $push104=, 119 + i32.store8 $discard=, 623($68), $pop104 + i32.const $push105=, 120 + i32.store8 $push106=, 624($68):p2align=3, $pop105 + i32.store8 $discard=, 600($68):p2align=3, $pop106 + i32.const $push107=, 121 + i32.store8 $push108=, 625($68), $pop107 + i32.store8 $discard=, 601($68), $pop108 + i32.const $push109=, 122 + i32.store8 $push110=, 626($68):p2align=1, $pop109 + i32.store8 $discard=, 602($68):p2align=1, $pop110 + i32.const $push111=, 123 + i32.store8 $push112=, 627($68), $pop111 + i32.store8 $discard=, 603($68), $pop112 + i32.const $push113=, 124 + i32.store8 $push114=, 628($68):p2align=2, $pop113 + i32.store8 $discard=, 604($68):p2align=2, $pop114 + i32.const $push115=, 125 + i32.store8 $push116=, 629($68), $pop115 + i32.store8 $discard=, 605($68), $pop116 + i32.const $push117=, 126 + i32.store8 $discard=, 606($68):p2align=1, $pop117 + i32.const $push118=, 127 + i32.store8 $discard=, 607($68), $pop118 + i32.const $push90=, 112 + i32.store8 $push91=, 616($68):p2align=3, $pop90 + i32.store8 $discard=, 608($68):p2align=3, $pop91 + i32.const $push92=, 113 + i32.store8 $push93=, 617($68), $pop92 + i32.store8 $discard=, 609($68), $pop93 + i32.const $push94=, 114 + i32.store8 $push95=, 618($68):p2align=1, $pop94 + i32.store8 $discard=, 610($68):p2align=1, $pop95 + i32.const $push96=, 115 + i32.store8 $push97=, 619($68), $pop96 + i32.store8 $discard=, 611($68), $pop97 + i32.const $push98=, 116 + i32.store8 $push99=, 620($68):p2align=2, $pop98 + i32.store8 $discard=, 612($68):p2align=2, $pop99 + i32.const $push100=, 117 + i32.store8 $push101=, 621($68), $pop100 + i32.store8 $discard=, 613($68), $pop101 + i32.const $push102=, 118 + i32.store8 $push103=, 622($68):p2align=1, $pop102 + i32.store8 $discard=, 614($68):p2align=1, $pop103 + i32.const $push119=, 128 + i32.store8 $discard=, 584($68):p2align=3, $pop119 + i32.const $push120=, 129 + i32.store8 $discard=, 585($68), $pop120 + i32.const $push121=, 130 + i32.store8 $discard=, 586($68):p2align=1, $pop121 + i32.const $push122=, 131 + i32.store8 $discard=, 587($68), $pop122 + i32.const $push123=, 132 + i32.store8 $discard=, 588($68):p2align=2, $pop123 + i32.const $push124=, 133 + i32.store8 $discard=, 589($68), $pop124 + i32.const $push125=, 134 + i32.store8 $discard=, 590($68):p2align=1, $pop125 + i32.const $push126=, 135 + i32.store8 $discard=, 591($68), $pop126 + i32.const $push127=, 136 + i32.store8 $discard=, 592($68):p2align=3, $pop127 + i32.const $push128=, 137 + i32.store8 $discard=, 593($68), $pop128 + i32.const $push129=, 138 + i32.store8 $discard=, 594($68):p2align=1, $pop129 + i32.const $push130=, 139 + i32.store8 $discard=, 595($68), $pop130 + i32.const $push131=, 140 + i32.store8 $discard=, 596($68):p2align=2, $pop131 + i32.const $push132=, 141 + i32.store8 $discard=, 597($68), $pop132 + i32.const $push133=, 142 + i32.store8 $discard=, 598($68):p2align=1, $pop133 + i32.const $push134=, 143 + i32.store8 $discard=, 599($68), $pop134 + i32.const $2=, 0 +.LBB2_1: # %for.body180 + # =>This Inner Loop Header: Depth=1 + loop # label46: + i32.const $3=, 552 + i32.add $3=, $68, $3 + i32.add $push136=, $3, $2 + i32.const $push286=, 248 + i32.xor $push135=, $2, $pop286 + i32.store8 $discard=, 0($pop136), $pop135 + i32.const $push285=, 1 + i32.add $2=, $2, $pop285 + i32.const $push284=, 31 + i32.ne $push137=, $2, $pop284 + br_if 0, $pop137 # 0: up to label46 +# BB#2: # %for.body191.preheader + end_loop # label47: + i32.const $push138=, 50462976 + i32.store $discard=, 520($68):p2align=3, $pop138 + i32.const $push139=, 1284 + i32.store16 $discard=, 524($68):p2align=2, $pop139 + i32.const $push140=, 151521030 + i32.store $discard=, 526($68):p2align=1, $pop140 + i32.const $push141=, 2826 + i32.store16 $discard=, 530($68), $pop141 + i32.const $push142=, 3340 + i32.store16 $discard=, 532($68):p2align=2, $pop142 + i32.const $push143=, 14 + i32.store8 $discard=, 534($68):p2align=1, $pop143 + i32.const $push144=, 15 + i32.store8 $discard=, 535($68), $pop144 + i32.const $push145=, 16 + i32.store8 $discard=, 536($68):p2align=3, $pop145 + i32.const $push146=, 17 + i32.store8 $discard=, 537($68), $pop146 + i32.const $push147=, 18 + i32.store8 $discard=, 538($68):p2align=1, $pop147 + i32.const $push148=, 19 + i32.store8 $discard=, 539($68), $pop148 + i32.const $push149=, 20 + i32.store8 $discard=, 540($68):p2align=2, $pop149 + i32.const $push150=, 21 + i32.store8 $discard=, 541($68), $pop150 + i32.const $push151=, 22 + i32.store8 $discard=, 542($68):p2align=1, $pop151 + i32.const $push152=, 23 + i32.store8 $discard=, 543($68), $pop152 + i32.const $push154=, 25 + i32.store8 $discard=, 545($68), $pop154 + i32.const $push155=, 26 + i32.store8 $discard=, 546($68):p2align=1, $pop155 + i32.const $push156=, 27 + i32.store8 $discard=, 547($68), $pop156 + i32.const $push157=, 28 + i32.store8 $discard=, 548($68):p2align=2, $pop157 + i32.const $push158=, 29 + i32.store8 $discard=, 549($68), $pop158 + i32.const $push159=, 30 + i32.store8 $discard=, 550($68):p2align=1, $pop159 + i32.const $push160=, 31 + i32.store8 $discard=, 551($68), $pop160 + i32.const $push153=, 24 + i32.store8 $0=, 544($68):p2align=3, $pop153 + i32.const $2=, 0 + i32.const $1=, 0 +.LBB2_3: # %for.body202 + # =>This Inner Loop Header: Depth=1 + loop # label48: + i32.const $4=, 480 + i32.add $4=, $68, $4 + i32.add $push162=, $4, $1 + i32.xor $push161=, $1, $0 + i32.store8 $discard=, 0($pop162), $pop161 + i32.const $push288=, 1 + i32.add $1=, $1, $pop288 + i32.const $push287=, 35 + i32.ne $push163=, $1, $pop287 + br_if 0, $pop163 # 0: up to label48 +.LBB2_4: # %for.body213 + # =>This Inner Loop Header: Depth=1 + end_loop # label49: + loop # label50: + i32.const $5=, 408 + i32.add $5=, $68, $5 + i32.add $push165=, $5, $2 + i32.const $push291=, 64 + i32.xor $push164=, $2, $pop291 + i32.store8 $discard=, 0($pop165), $pop164 + i32.const $push290=, 1 + i32.add $2=, $2, $pop290 + i32.const $push289=, 72 + i32.ne $push166=, $2, $pop289 + br_if 0, $pop166 # 0: up to label50 +# BB#5: # %for.end220 + end_loop # label51: + i32.load16_u $push167=, 760($68):p2align=3 + i32.store16 $discard=, 406($68), $pop167 + i32.const $push168=, 2 + i32.const $6=, 402 + i32.add $6=, $68, $6 + i32.add $push169=, $6, $pop168 + i32.load8_u $push170=, 754($68):p2align=1 + i32.store8 $discard=, 0($pop169):p2align=1, $pop170 + i32.load16_u $push171=, 752($68):p2align=3 + i32.store16 $discard=, 402($68), $pop171 + i32.load $push172=, 744($68):p2align=3 + i32.store $discard=, 396($68), $pop172 + i32.const $push173=, 4 + i32.const $7=, 388 + i32.add $7=, $68, $7 + i32.add $push174=, $7, $pop173 + i32.load8_u $push175=, 740($68):p2align=2 + i32.store8 $discard=, 0($pop174):p2align=2, $pop175 + i32.load $push176=, 736($68):p2align=3 + i32.store $discard=, 388($68), $pop176 + i32.const $push323=, 4 + i32.const $8=, 380 + i32.add $8=, $68, $8 + i32.add $push177=, $8, $pop323 + i32.load16_u $push178=, 732($68):p2align=2 + i32.store16 $discard=, 0($pop177):p2align=2, $pop178 + i32.load $push179=, 728($68):p2align=3 + i32.store $discard=, 380($68), $pop179 + i32.const $push180=, 6 + i32.const $9=, 372 + i32.add $9=, $68, $9 + i32.add $push181=, $9, $pop180 + i32.load8_u $push182=, 726($68):p2align=1 + i32.store8 $discard=, 0($pop181):p2align=1, $pop182 + i32.const $push322=, 4 + i32.const $10=, 372 + i32.add $10=, $68, $10 + i32.add $push183=, $10, $pop322 + i32.load16_u $push184=, 724($68):p2align=2 + i32.store16 $discard=, 0($pop183):p2align=2, $pop184 + i32.load $push185=, 720($68):p2align=3 + i32.store $discard=, 372($68), $pop185 + i64.load $push186=, 712($68) + i64.store $discard=, 364($68):p2align=2, $pop186 + i32.const $push187=, 8 + i32.const $11=, 352 + i32.add $11=, $68, $11 + i32.add $push188=, $11, $pop187 + i32.const $push321=, 8 + i32.const $12=, 696 + i32.add $12=, $68, $12 + i32.add $push189=, $12, $pop321 + i32.load8_u $push190=, 0($pop189):p2align=3 + i32.store8 $discard=, 0($pop188):p2align=2, $pop190 + i64.load $push191=, 696($68) + i64.store $discard=, 352($68):p2align=2, $pop191 + i32.const $push320=, 8 + i32.const $13=, 340 + i32.add $13=, $68, $13 + i32.add $push192=, $13, $pop320 + i32.const $push319=, 8 + i32.const $14=, 680 + i32.add $14=, $68, $14 + i32.add $push193=, $14, $pop319 + i32.load16_u $push194=, 0($pop193):p2align=3 + i32.store16 $discard=, 0($pop192):p2align=2, $pop194 + i64.load $push195=, 680($68) + i64.store $discard=, 340($68):p2align=2, $pop195 + i32.const $push196=, 10 + i32.const $15=, 328 + i32.add $15=, $68, $15 + i32.add $push197=, $15, $pop196 + i32.const $push318=, 10 + i32.const $16=, 664 + i32.add $16=, $68, $16 + i32.add $push198=, $16, $pop318 + i32.load8_u $push199=, 0($pop198):p2align=1 + i32.store8 $discard=, 0($pop197):p2align=1, $pop199 + i32.const $push317=, 8 + i32.const $17=, 328 + i32.add $17=, $68, $17 + i32.add $push200=, $17, $pop317 + i32.const $push316=, 8 + i32.const $18=, 664 + i32.add $18=, $68, $18 + i32.add $push201=, $18, $pop316 + i32.load16_u $push202=, 0($pop201):p2align=3 + i32.store16 $discard=, 0($pop200):p2align=2, $pop202 + i64.load $push203=, 664($68) + i64.store $discard=, 328($68):p2align=2, $pop203 + i32.const $push315=, 8 + i32.const $19=, 316 + i32.add $19=, $68, $19 + i32.add $push204=, $19, $pop315 + i32.const $push314=, 8 + i32.const $20=, 648 + i32.add $20=, $68, $20 + i32.add $push205=, $20, $pop314 + i32.load $push206=, 0($pop205):p2align=3 + i32.store $discard=, 0($pop204), $pop206 + i64.load $push207=, 648($68) + i64.store $discard=, 316($68):p2align=2, $pop207 + i32.const $push208=, 12 + i32.const $21=, 300 + i32.add $21=, $68, $21 + i32.add $push209=, $21, $pop208 + i32.const $push313=, 12 + i32.const $22=, 632 + i32.add $22=, $68, $22 + i32.add $push210=, $22, $pop313 + i32.load8_u $push211=, 0($pop210):p2align=2 + i32.store8 $discard=, 0($pop209):p2align=2, $pop211 + i32.const $push312=, 8 + i32.const $23=, 300 + i32.add $23=, $68, $23 + i32.add $push212=, $23, $pop312 + i32.const $push311=, 8 + i32.const $24=, 632 + i32.add $24=, $68, $24 + i32.add $push213=, $24, $pop311 + i32.load $push214=, 0($pop213):p2align=3 + i32.store $discard=, 0($pop212), $pop214 + i64.load $push215=, 632($68) + i64.store $discard=, 300($68):p2align=2, $pop215 + i32.const $push310=, 12 + i32.const $25=, 284 + i32.add $25=, $68, $25 + i32.add $push216=, $25, $pop310 + i32.const $push309=, 12 + i32.const $26=, 616 + i32.add $26=, $68, $26 + i32.add $push217=, $26, $pop309 + i32.load16_u $push218=, 0($pop217):p2align=2 + i32.store16 $discard=, 0($pop216):p2align=2, $pop218 + i32.const $push308=, 8 + i32.const $27=, 284 + i32.add $27=, $68, $27 + i32.add $push219=, $27, $pop308 + i32.const $push307=, 8 + i32.const $28=, 616 + i32.add $28=, $68, $28 + i32.add $push220=, $28, $pop307 + i32.load $push221=, 0($pop220):p2align=3 + i32.store $discard=, 0($pop219), $pop221 + i64.load $push222=, 616($68) + i64.store $discard=, 284($68):p2align=2, $pop222 + i32.const $push223=, 14 + i32.const $29=, 268 + i32.add $29=, $68, $29 + i32.add $push224=, $29, $pop223 + i32.const $push306=, 14 + i32.const $30=, 600 + i32.add $30=, $68, $30 + i32.add $push225=, $30, $pop306 + i32.load8_u $push226=, 0($pop225):p2align=1 + i32.store8 $discard=, 0($pop224):p2align=1, $pop226 + i32.const $push305=, 12 + i32.const $31=, 268 + i32.add $31=, $68, $31 + i32.add $push227=, $31, $pop305 + i32.const $push304=, 12 + i32.const $32=, 600 + i32.add $32=, $68, $32 + i32.add $push228=, $32, $pop304 + i32.load16_u $push229=, 0($pop228):p2align=2 + i32.store16 $discard=, 0($pop227):p2align=2, $pop229 + i32.const $push303=, 8 + i32.const $33=, 268 + i32.add $33=, $68, $33 + i32.add $push230=, $33, $pop303 + i32.const $push302=, 8 + i32.const $34=, 600 + i32.add $34=, $68, $34 + i32.add $push231=, $34, $pop302 + i32.load $push232=, 0($pop231):p2align=3 + i32.store $discard=, 0($pop230), $pop232 + i64.load $push233=, 600($68) + i64.store $discard=, 268($68):p2align=2, $pop233 + i32.const $push301=, 8 + i32.const $35=, 252 + i32.add $35=, $68, $35 + i32.add $push234=, $35, $pop301 + i32.const $push300=, 8 + i32.const $36=, 584 + i32.add $36=, $68, $36 + i32.add $push235=, $36, $pop300 + i64.load $push236=, 0($pop235) + i64.store $discard=, 0($pop234):p2align=2, $pop236 + i64.load $push237=, 584($68) + i64.store $discard=, 252($68):p2align=2, $pop237 + i32.const $push238=, 31 + i32.const $37=, 221 + i32.add $37=, $68, $37 + i32.const $38=, 552 + i32.add $38=, $68, $38 + i32.call $discard=, memcpy@FUNCTION, $37, $38, $pop238 + i32.const $push239=, 24 + i32.const $39=, 188 + i32.add $39=, $68, $39 + i32.add $push240=, $39, $pop239 + i32.const $push299=, 24 + i32.const $40=, 520 + i32.add $40=, $68, $40 + i32.add $push241=, $40, $pop299 + i64.load $push242=, 0($pop241) + i64.store $discard=, 0($pop240):p2align=2, $pop242 + i32.const $push243=, 16 + i32.const $41=, 188 + i32.add $41=, $68, $41 + i32.add $push244=, $41, $pop243 + i32.const $push298=, 16 + i32.const $42=, 520 + i32.add $42=, $68, $42 + i32.add $push245=, $42, $pop298 + i64.load $push246=, 0($pop245) + i64.store $discard=, 0($pop244):p2align=2, $pop246 + i32.const $push297=, 8 + i32.const $43=, 188 + i32.add $43=, $68, $43 + i32.add $push247=, $43, $pop297 + i32.const $push296=, 8 + i32.const $44=, 520 + i32.add $44=, $68, $44 + i32.add $push248=, $44, $pop296 + i64.load $push249=, 0($pop248) + i64.store $discard=, 0($pop247):p2align=2, $pop249 + i64.load $push250=, 520($68) + i64.store $discard=, 188($68):p2align=2, $pop250 + i32.const $push251=, 35 + i32.const $45=, 153 + i32.add $45=, $68, $45 + i32.const $46=, 480 + i32.add $46=, $68, $46 + i32.call $discard=, memcpy@FUNCTION, $45, $46, $pop251 + i32.const $push252=, 72 + i32.const $47=, 81 + i32.add $47=, $68, $47 + i32.const $48=, 408 + i32.add $48=, $68, $48 + i32.call $discard=, memcpy@FUNCTION, $47, $48, $pop252 + i32.const $push253=, 76 + i32.add $push254=, $68, $pop253 + i32.const $49=, 81 + i32.add $49=, $68, $49 + i32.store $discard=, 0($pop254), $49 + i32.const $push295=, 72 + i32.add $push255=, $68, $pop295 + i32.const $50=, 153 + i32.add $50=, $68, $50 + i32.store $discard=, 0($pop255):p2align=3, $50 + i32.const $push256=, 68 + i32.add $push257=, $68, $pop256 + i32.const $51=, 188 + i32.add $51=, $68, $51 + i32.store $discard=, 0($pop257), $51 + i32.const $push258=, 64 + i32.add $push259=, $68, $pop258 + i32.const $52=, 221 + i32.add $52=, $68, $52 + i32.store $discard=, 0($pop259):p2align=4, $52 + i32.const $push260=, 60 + i32.add $push261=, $68, $pop260 + i32.const $53=, 252 + i32.add $53=, $68, $53 + i32.store $discard=, 0($pop261), $53 + i32.const $push262=, 56 + i32.add $push263=, $68, $pop262 + i32.const $54=, 268 + i32.add $54=, $68, $54 + i32.store $discard=, 0($pop263):p2align=3, $54 + i32.const $push264=, 52 + i32.add $push265=, $68, $pop264 + i32.const $55=, 284 + i32.add $55=, $68, $55 + i32.store $discard=, 0($pop265), $55 + i32.const $push266=, 48 + i32.add $push267=, $68, $pop266 + i32.const $56=, 300 + i32.add $56=, $68, $56 + i32.store $discard=, 0($pop267):p2align=4, $56 + i32.const $push268=, 44 + i32.add $push269=, $68, $pop268 + i32.const $57=, 316 + i32.add $57=, $68, $57 + i32.store $discard=, 0($pop269), $57 + i32.const $push270=, 40 + i32.add $push271=, $68, $pop270 + i32.const $58=, 328 + i32.add $58=, $68, $58 + i32.store $discard=, 0($pop271):p2align=3, $58 + i32.const $push272=, 36 + i32.add $push273=, $68, $pop272 + i32.const $59=, 340 + i32.add $59=, $68, $59 + i32.store $discard=, 0($pop273), $59 + i32.const $push274=, 32 + i32.add $push275=, $68, $pop274 + i32.const $60=, 352 + i32.add $60=, $68, $60 + i32.store $discard=, 0($pop275):p2align=4, $60 + i32.const $push276=, 28 + i32.add $push277=, $68, $pop276 + i32.const $61=, 364 + i32.add $61=, $68, $61 + i32.store $discard=, 0($pop277), $61 + i32.const $push294=, 24 + i32.add $push278=, $68, $pop294 + i32.const $62=, 372 + i32.add $62=, $68, $62 + i32.store $discard=, 0($pop278):p2align=3, $62 + i32.const $push279=, 20 + i32.add $push280=, $68, $pop279 + i32.const $63=, 380 + i32.add $63=, $68, $63 + i32.store $discard=, 0($pop280), $63 + i32.const $push293=, 16 + i32.add $push281=, $68, $pop293 + i32.const $64=, 388 + i32.add $64=, $68, $64 + i32.store $discard=, 0($pop281):p2align=4, $64 + i32.const $push292=, 8 + i32.store $discard=, 0($68):p2align=4, $pop292 + i32.const $65=, 396 + i32.add $65=, $68, $65 + i32.store $discard=, 12($68), $65 + i32.const $66=, 402 + i32.add $66=, $68, $66 + i32.store $discard=, 8($68):p2align=3, $66 + i32.const $67=, 406 + i32.add $67=, $68, $67 + i32.store $discard=, 4($68), $67 + i32.const $push282=, 21 + call foo@FUNCTION, $pop282, $68 + i32.const $push283=, 0 + call exit@FUNCTION, $pop283 + unreachable + .endfunc +.Lfunc_end2: + .size main, .Lfunc_end2-main + + .type bar.lastn,@object # @bar.lastn + .section .data.bar.lastn,"aw",@progbits + .p2align 2 +bar.lastn: + .int32 4294967295 # 0xffffffff + .size bar.lastn, 4 + + .type bar.lastc,@object # @bar.lastc + .section .data.bar.lastc,"aw",@progbits + .p2align 2 +bar.lastc: + .int32 4294967295 # 0xffffffff + .size bar.lastc, 4 + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/va-arg-23.c.s b/test/torture-s/va-arg-23.c.s index 02866bd1a..a7ef397e5 100644 --- a/test/torture-s/va-arg-23.c.s +++ b/test/torture-s/va-arg-23.c.s @@ -6,37 +6,33 @@ .type foo,@function foo: # @foo .param i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32 + .local 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.store $push1=, 12($11), $7 - i32.const $push2=, 3 - i32.add $push3=, $pop1, $pop2 - i32.const $push4=, -4 - i32.and $push12=, $pop3, $pop4 - tee_local $push11=, $7=, $pop12 - i32.const $push5=, 4 - i32.add $push6=, $pop11, $pop5 - i32.store $discard=, 12($11), $pop6 + i32.const $push9=, __stack_pointer + i32.load $push10=, 0($pop9) + i32.const $push11=, 16 + i32.sub $8=, $pop10, $pop11 + i32.const $push12=, __stack_pointer + i32.store $discard=, 0($pop12), $8 + i32.store $push8=, 12($8), $7 + tee_local $push7=, $7=, $pop8 + i32.const $push1=, 4 + i32.add $push2=, $pop7, $pop1 + i32.store $discard=, 12($8), $pop2 block - i32.const $push7=, 1 - i32.ne $push8=, $6, $pop7 - br_if 0, $pop8 # 0: down to label0 + i32.const $push3=, 1 + i32.ne $push4=, $6, $pop3 + br_if 0, $pop4 # 0: down to label0 # BB#1: # %entry i32.load $push0=, 0($7) - i32.const $push9=, 2 - i32.ne $push10=, $pop0, $pop9 - br_if 0, $pop10 # 0: down to label0 + i32.const $push5=, 2 + i32.ne $push6=, $pop0, $pop5 + br_if 0, $pop6 # 0: down to label0 # BB#2: # %if.end - i32.const $10=, 16 - i32.add $11=, $11, $10 - i32.const $10=, __stack_pointer - i32.store $11=, 0($10), $11 + i32.const $push13=, 16 + i32.add $8=, $8, $pop13 + i32.const $push14=, __stack_pointer + i32.store $discard=, 0($pop14), $8 return .LBB0_3: # %if.then end_block # label0: @@ -52,27 +48,27 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 32 - i32.sub $5=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $5=, 0($2), $5 - i64.load $push0=, 24($5) - i64.store $discard=, 16($5):p2align=2, $pop0 + i32.const $push4=, __stack_pointer + i32.load $push5=, 0($pop4) + i32.const $push6=, 32 + i32.sub $2=, $pop5, $pop6 + i32.const $push7=, __stack_pointer + i32.store $discard=, 0($pop7), $2 + i64.load $push0=, 24($2) + i64.store $discard=, 16($2):p2align=2, $pop0 i32.const $push1=, 2 - i32.store $discard=, 0($5):p2align=4, $pop1 + i32.store $discard=, 0($2):p2align=4, $pop1 i32.const $push2=, 1 - i32.const $4=, 16 - i32.add $4=, $5, $4 - call foo@FUNCTION, $0, $0, $0, $0, $0, $4, $pop2, $5 + i32.const $1=, 16 + i32.add $1=, $2, $1 + call foo@FUNCTION, $0, $0, $0, $0, $0, $1, $pop2, $2 i32.const $push3=, 0 - i32.const $3=, 32 - i32.add $5=, $5, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 + i32.const $push8=, 32 + i32.add $2=, $2, $pop8 + i32.const $push9=, __stack_pointer + i32.store $discard=, 0($pop9), $2 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 32bd5b441..72284fca5 100644 --- a/test/torture-s/va-arg-24.c.s +++ b/test/torture-s/va-arg-24.c.s @@ -6,169 +6,137 @@ .type main,@function main: # @main .result 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 + .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 # BB#0: # %entry - 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.store $39=, 0($9), $39 + i32.const $push37=, __stack_pointer + i32.load $push38=, 0($pop37) + i32.const $push39=, 288 + i32.sub $29=, $pop38, $pop39 + i32.const $push40=, __stack_pointer + i32.store $discard=, 0($pop40), $29 i32.const $push0=, 32 - i32.const $10=, 240 - i32.add $10=, $39, $10 - i32.add $push1=, $10, $pop0 + i32.const $8=, 240 + i32.add $8=, $29, $8 + i32.add $push1=, $8, $pop0 i64.const $push2=, 42949672969 i64.store $0=, 0($pop1):p2align=4, $pop2 i32.const $push3=, 24 - i32.const $11=, 240 - i32.add $11=, $39, $11 - i32.add $push4=, $11, $pop3 + i32.const $9=, 240 + i32.add $9=, $29, $9 + i32.add $push4=, $9, $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 + i32.const $10=, 240 + i32.add $10=, $29, $10 + i32.add $push7=, $10, $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 + i64.const $push9=, 17179869187 + i64.store $3=, 248($29), $pop9 + i64.const $push10=, 8589934593 + i64.store $discard=, 240($29):p2align=4, $pop10 + i32.const $11=, 240 + i32.add $11=, $29, $11 + call varargs0@FUNCTION, $4, $11 + i32.const $push35=, 32 + i32.const $12=, 192 + i32.add $12=, $29, $12 + i32.add $push11=, $12, $pop35 + i32.const $push12=, 10 + i32.store $4=, 0($pop11):p2align=4, $pop12 + i32.const $push34=, 24 + i32.const $13=, 192 + i32.add $13=, $29, $13 + i32.add $push13=, $13, $pop34 + i64.const $push14=, 38654705672 + i64.store $5=, 0($pop13), $pop14 + i32.const $push33=, 16 + i32.const $14=, 192 + i32.add $14=, $29, $14 + i32.add $push15=, $14, $pop33 + i64.const $push16=, 30064771078 + i64.store $6=, 0($pop15):p2align=4, $pop16 + i64.const $push17=, 21474836484 + i64.store $7=, 200($29), $pop17 + i64.const $push18=, 12884901890 + i64.store $discard=, 192($29):p2align=4, $pop18 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 + i32.add $15=, $29, $15 + call varargs1@FUNCTION, $4, $4, $15 + i32.const $push32=, 24 + i32.const $16=, 160 + i32.add $16=, $29, $16 + i32.add $push19=, $16, $pop32 + i64.store $discard=, 0($pop19), $0 + i32.const $push31=, 16 + i32.const $17=, 160 + i32.add $17=, $29, $17 + i32.add $push20=, $17, $pop31 + i64.store $discard=, 0($pop20):p2align=4, $1 + i64.store $discard=, 168($29), $2 + i64.store $discard=, 160($29):p2align=4, $3 + i32.const $18=, 160 + i32.add $18=, $29, $18 + call varargs2@FUNCTION, $4, $4, $4, $18 + i32.const $push30=, 24 + i32.const $19=, 128 + i32.add $19=, $29, $19 + i32.add $push21=, $19, $pop30 + i32.store $discard=, 0($pop21):p2align=3, $4 + i32.const $push29=, 16 + i32.const $20=, 128 + i32.add $20=, $29, $20 + i32.add $push22=, $20, $pop29 + i64.store $3=, 0($pop22):p2align=4, $5 + i64.store $5=, 136($29), $6 + i64.store $discard=, 128($29):p2align=4, $7 + i32.const $21=, 128 + i32.add $21=, $29, $21 + call varargs3@FUNCTION, $4, $4, $4, $4, $21 + i32.const $push28=, 16 + i32.const $22=, 96 + i32.add $22=, $29, $22 + i32.add $push23=, $22, $pop28 + i64.store $discard=, 0($pop23):p2align=4, $0 + i64.store $discard=, 104($29), $1 + i64.store $discard=, 96($29):p2align=4, $2 + i32.const $23=, 96 + i32.add $23=, $29, $23 + call varargs4@FUNCTION, $4, $4, $4, $4, $4, $23 + i32.const $push27=, 16 + i32.const $24=, 64 + i32.add $24=, $29, $24 + i32.add $push24=, $24, $pop27 + i32.store $discard=, 0($pop24):p2align=4, $4 + i64.store $2=, 72($29), $3 + i64.store $discard=, 64($29):p2align=4, $5 + i32.const $25=, 64 + i32.add $25=, $29, $25 + call varargs5@FUNCTION, $4, $4, $4, $4, $4, $4, $25 + i64.store $discard=, 56($29), $0 + i64.store $discard=, 48($29):p2align=4, $1 + i32.const $26=, 48 + i32.add $26=, $29, $26 + call varargs6@FUNCTION, $4, $4, $4, $4, $4, $4, $4, $26 + i32.store $discard=, 40($29):p2align=3, $4 + i64.store $discard=, 32($29):p2align=4, $2 + i32.const $27=, 32 + i32.add $27=, $29, $27 + call varargs7@FUNCTION, $4, $4, $4, $4, $4, $4, $4, $4, $27 + i64.store $discard=, 16($29):p2align=4, $0 + i32.const $28=, 16 + i32.add $28=, $29, $28 + call varargs8@FUNCTION, $4, $4, $4, $4, $4, $4, $4, $4, $4, $28 + i32.store $discard=, 0($29):p2align=4, $4 + call varargs9@FUNCTION, $4, $4, $4, $4, $4, $4, $4, $4, $4, $4, $29 block - i32.const $push35=, 0 - i32.load $push34=, errors($pop35) - br_if 0, $pop34 # 0: down to label0 + i32.const $push26=, 0 + i32.load $push25=, errors($pop26) + br_if 0, $pop25 # 0: down to label0 # BB#1: # %if.end - i32.const $push52=, 0 - call exit@FUNCTION, $pop52 + i32.const $push36=, 0 + call exit@FUNCTION, $pop36 unreachable .LBB0_2: # %if.then end_block # label0: @@ -182,178 +150,114 @@ main: # @main .type varargs0,@function varargs0: # @varargs0 .param i32, 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 $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 $push95=, $pop3, $pop4 - tee_local $push94=, $1=, $pop95 - i32.const $push93=, 4 - i32.add $push5=, $pop94, $pop93 - i32.store $discard=, 60($12), $pop5 + i32.const $push34=, __stack_pointer + i32.load $push35=, 0($pop34) + i32.const $push36=, 64 + i32.sub $7=, $pop35, $pop36 + i32.const $push37=, __stack_pointer + i32.store $discard=, 0($pop37), $7 + i32.store $discard=, 60($7), $1 + i32.load $push27=, 60($7) + tee_local $push26=, $1=, $pop27 + i32.const $push25=, 4 + i32.add $push1=, $pop26, $pop25 + i32.store $discard=, 60($7), $pop1 + i32.load $4=, 0($1) + i32.const $push2=, 8 + i32.add $push3=, $1, $pop2 + i32.store $discard=, 60($7), $pop3 + i32.load $5=, 4($1) + i32.store $discard=, 20($7), $4 + i32.store $discard=, 24($7):p2align=3, $5 + i32.const $push4=, 12 + i32.add $push5=, $1, $pop4 + i32.store $discard=, 60($7), $pop5 + i32.load $4=, 8($1) + i32.const $push6=, 16 + i32.add $push7=, $1, $pop6 + i32.store $discard=, 60($7), $pop7 + i32.load $5=, 12($1) + i32.const $push8=, 20 + i32.add $push9=, $1, $pop8 + i32.store $discard=, 60($7), $pop9 + i32.load $2=, 16($1) + i32.const $push10=, 24 + i32.add $push11=, $1, $pop10 + i32.store $discard=, 60($7), $pop11 + i32.load $3=, 20($1) + i32.store $discard=, 28($7), $4 + i32.store $discard=, 32($7):p2align=4, $5 + i32.store $discard=, 36($7), $2 + i32.store $discard=, 40($7):p2align=3, $3 + i32.const $push12=, 28 + i32.add $push13=, $1, $pop12 + i32.store $discard=, 60($7), $pop13 + i32.load $4=, 24($1) + i32.const $push14=, 32 + i32.add $push15=, $1, $pop14 + i32.store $discard=, 60($7), $pop15 + i32.load $5=, 28($1) + i32.const $push16=, 36 + i32.add $push17=, $1, $pop16 + i32.store $discard=, 60($7), $pop17 + i32.load $2=, 32($1) + i32.const $push18=, 40 + i32.add $push19=, $1, $pop18 + i32.store $discard=, 60($7), $pop19 + i32.load $1=, 36($1) + i32.store $discard=, 44($7), $4 + i32.store $discard=, 48($7):p2align=4, $5 + i32.store $discard=, 52($7), $2 + i32.store $discard=, 56($7):p2align=3, $1 i32.const $push0=, 0 - i32.store $2=, 16($12):p2align=4, $pop0 - i32.const $push92=, 4 - i32.const $9=, 16 - i32.add $9=, $12, $9 - i32.or $push91=, $9, $pop92 - tee_local $push90=, $5=, $pop91 - i32.load $push6=, 0($1) - i32.store $discard=, 0($pop90), $pop6 - i32.const $push7=, 7 - i32.add $push8=, $1, $pop7 - i32.const $push89=, -4 - i32.and $push88=, $pop8, $pop89 - tee_local $push87=, $1=, $pop88 - i32.const $push86=, 4 - i32.add $push9=, $pop87, $pop86 - i32.store $discard=, 60($12), $pop9 - i32.const $push85=, 8 - i32.const $10=, 16 - i32.add $10=, $12, $10 - i32.or $push11=, $10, $pop85 - i32.load $push10=, 0($1) - i32.store $discard=, 0($pop11):p2align=3, $pop10 - i32.const $push84=, 7 - i32.add $push12=, $1, $pop84 - i32.const $push83=, -4 - i32.and $push82=, $pop12, $pop83 - tee_local $push81=, $1=, $pop82 - i32.const $push80=, 4 - i32.add $push13=, $pop81, $pop80 - i32.store $discard=, 60($12), $pop13 - i32.const $push79=, 12 - i32.const $11=, 16 - i32.add $11=, $12, $11 - i32.or $push15=, $11, $pop79 - i32.load $push14=, 0($1) - i32.store $discard=, 0($pop15), $pop14 - i32.const $push78=, 7 - i32.add $push16=, $1, $pop78 - i32.const $push77=, -4 - i32.and $push76=, $pop16, $pop77 - tee_local $push75=, $1=, $pop76 - i32.const $push74=, 4 - i32.add $push17=, $pop75, $pop74 - i32.store $discard=, 60($12), $pop17 - i32.load $push18=, 0($1) - i32.store $discard=, 32($12):p2align=4, $pop18 - i32.const $push73=, 7 - i32.add $push19=, $1, $pop73 - i32.const $push72=, -4 - i32.and $push71=, $pop19, $pop72 - tee_local $push70=, $1=, $pop71 - i32.const $push69=, 4 - i32.add $push20=, $pop70, $pop69 - i32.store $discard=, 60($12), $pop20 - i32.load $push21=, 0($1) - i32.store $discard=, 36($12), $pop21 - i32.const $push68=, 7 - i32.add $push22=, $1, $pop68 - i32.const $push67=, -4 - i32.and $push66=, $pop22, $pop67 - tee_local $push65=, $1=, $pop66 - i32.const $push64=, 4 - i32.add $push23=, $pop65, $pop64 - i32.store $discard=, 60($12), $pop23 - i32.load $push24=, 0($1) - i32.store $discard=, 40($12):p2align=3, $pop24 - i32.const $push63=, 7 - i32.add $push25=, $1, $pop63 - i32.const $push62=, -4 - i32.and $push61=, $pop25, $pop62 - tee_local $push60=, $1=, $pop61 - i32.const $push59=, 4 - i32.add $push26=, $pop60, $pop59 - i32.store $discard=, 60($12), $pop26 - i32.load $push27=, 0($1) - i32.store $discard=, 44($12), $pop27 - i32.const $push58=, 7 - i32.add $push28=, $1, $pop58 - i32.const $push57=, -4 - i32.and $push56=, $pop28, $pop57 - tee_local $push55=, $1=, $pop56 - i32.const $push54=, 4 - i32.add $push29=, $pop55, $pop54 - i32.store $discard=, 60($12), $pop29 - i32.load $push30=, 0($1) - i32.store $discard=, 48($12):p2align=4, $pop30 - i32.const $push53=, 7 - i32.add $push31=, $1, $pop53 - i32.const $push52=, -4 - i32.and $push51=, $pop31, $pop52 - tee_local $push50=, $1=, $pop51 - i32.const $push49=, 4 - i32.add $push32=, $pop50, $pop49 - i32.store $discard=, 60($12), $pop32 - i32.load $push33=, 0($1) - i32.store $discard=, 52($12), $pop33 - i32.const $push48=, 7 - i32.add $push34=, $1, $pop48 - i32.const $push47=, -4 - i32.and $push46=, $pop34, $pop47 - tee_local $push45=, $1=, $pop46 - i32.const $push44=, 4 - i32.add $push35=, $pop45, $pop44 - i32.store $discard=, 60($12), $pop35 - i32.load $push36=, 0($1) - i32.store $discard=, 56($12):p2align=3, $pop36 - copy_local $4=, $2 + i32.store $2=, 16($7):p2align=4, $pop0 + i32.const $push24=, 4 + i32.const $6=, 16 + i32.add $6=, $7, $6 + i32.or $4=, $6, $pop24 + copy_local $5=, $2 copy_local $1=, $2 .LBB1_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label1: block - i32.eq $push37=, $1, $4 - br_if 0, $pop37 # 0: down to label3 + i32.eq $push20=, $1, $5 + br_if 0, $pop20 # 0: down to label3 # BB#2: # %if.then.i # in Loop: Header=BB1_1 Depth=1 - i32.const $push101=, 12 - i32.or $push38=, $12, $pop101 - i32.store $3=, 0($pop38), $1 - i32.const $push100=, 8 - i32.or $push39=, $12, $pop100 - i32.store $discard=, 0($pop39):p2align=3, $4 - i32.const $push99=, 4 - i32.or $push40=, $12, $pop99 - i32.store $discard=, 0($pop40), $3 - i32.const $push98=, .L.str - i32.store $discard=, 0($12):p2align=4, $pop98 - i32.const $push97=, .L.str.1 - i32.call $discard=, printf@FUNCTION, $pop97, $12 - i32.load $push41=, errors($2) - i32.const $push96=, 1 - i32.add $push42=, $pop41, $pop96 - i32.store $discard=, errors($2), $pop42 + i32.store $3=, 12($7), $1 + i32.store $discard=, 8($7):p2align=3, $5 + i32.store $discard=, 4($7), $3 + i32.const $push30=, .L.str + i32.store $discard=, 0($7):p2align=4, $pop30 + i32.const $push29=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop29, $7 + i32.load $push21=, errors($2) + i32.const $push28=, 1 + i32.add $push22=, $pop21, $pop28 + i32.store $discard=, errors($2), $pop22 .LBB1_3: # %for.inc.i # in Loop: Header=BB1_1 Depth=1 end_block # label3: - i32.const $push102=, 10 - i32.eq $push43=, $1, $pop102 - br_if 1, $pop43 # 1: down to label2 + i32.const $push31=, 10 + i32.eq $push23=, $1, $pop31 + br_if 1, $pop23 # 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($5) - i32.const $push104=, 1 - i32.add $1=, $1, $pop104 - i32.const $push103=, 4 - i32.add $5=, $5, $pop103 + i32.load $5=, 0($4) + i32.const $push33=, 1 + i32.add $1=, $1, $pop33 + i32.const $push32=, 4 + i32.add $4=, $4, $pop32 br 0 # 0: up to label1 .LBB1_5: # %verify.exit end_loop # label2: - i32.const $8=, 64 - i32.add $12=, $12, $8 - i32.const $8=, __stack_pointer - i32.store $12=, 0($8), $12 + i32.const $push38=, 64 + i32.add $7=, $7, $pop38 + i32.const $push39=, __stack_pointer + i32.store $discard=, 0($pop39), $7 return .endfunc .Lfunc_end1: @@ -363,169 +267,109 @@ varargs0: # @varargs0 .type varargs1,@function varargs1: # @varargs1 .param i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - 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 $push85=, $pop3, $pop4 - tee_local $push84=, $2=, $pop85 - i32.const $push83=, 4 - i32.add $push5=, $pop84, $pop83 - i32.store $discard=, 60($12), $pop5 - i64.const $push0=, 4294967296 - i64.store $discard=, 16($12):p2align=4, $pop0 - i32.const $push82=, 8 - i32.const $9=, 16 - i32.add $9=, $12, $9 - i32.or $push7=, $9, $pop82 - i32.load $push6=, 0($2) - i32.store $discard=, 0($pop7):p2align=3, $pop6 - i32.const $push8=, 7 + i32.const $push32=, __stack_pointer + i32.load $push33=, 0($pop32) + i32.const $push34=, 64 + i32.sub $9=, $pop33, $pop34 + i32.const $push35=, __stack_pointer + i32.store $discard=, 0($pop35), $9 + i32.store $discard=, 60($9), $2 + i32.load $push27=, 60($9) + tee_local $push26=, $2=, $pop27 + i32.const $push25=, 4 + i32.add $push2=, $pop26, $pop25 + i32.store $discard=, 60($9), $pop2 + i32.load $push3=, 0($2) + i32.store $discard=, 24($9):p2align=3, $pop3 + i32.const $push4=, 8 + i32.add $push5=, $2, $pop4 + i32.store $discard=, 60($9), $pop5 + i32.load $6=, 4($2) + i32.const $push6=, 12 + i32.add $push7=, $2, $pop6 + i32.store $discard=, 60($9), $pop7 + i32.load $7=, 8($2) + i32.const $push8=, 16 i32.add $push9=, $2, $pop8 - i32.const $push81=, -4 - i32.and $push80=, $pop9, $pop81 - tee_local $push79=, $2=, $pop80 - i32.const $push78=, 4 - i32.add $push10=, $pop79, $pop78 - i32.store $discard=, 60($12), $pop10 - i32.const $push77=, 12 - i32.const $10=, 16 - i32.add $10=, $12, $10 - i32.or $push12=, $10, $pop77 - i32.load $push11=, 0($2) - i32.store $discard=, 0($pop12), $pop11 - i32.const $push76=, 7 - i32.add $push13=, $2, $pop76 - i32.const $push75=, -4 - i32.and $push74=, $pop13, $pop75 - tee_local $push73=, $2=, $pop74 - i32.const $push72=, 4 - i32.add $push14=, $pop73, $pop72 - i32.store $discard=, 60($12), $pop14 - i32.load $push15=, 0($2) - i32.store $discard=, 32($12):p2align=4, $pop15 - i32.const $push71=, 7 - i32.add $push16=, $2, $pop71 - i32.const $push70=, -4 - i32.and $push69=, $pop16, $pop70 - tee_local $push68=, $2=, $pop69 - i32.const $push67=, 4 - i32.add $push17=, $pop68, $pop67 - i32.store $discard=, 60($12), $pop17 - i32.load $push18=, 0($2) - i32.store $discard=, 36($12), $pop18 - i32.const $push66=, 7 - i32.add $push19=, $2, $pop66 - i32.const $push65=, -4 - i32.and $push64=, $pop19, $pop65 - tee_local $push63=, $2=, $pop64 - i32.const $push62=, 4 - i32.add $push20=, $pop63, $pop62 - i32.store $discard=, 60($12), $pop20 - i32.load $push21=, 0($2) - i32.store $discard=, 40($12):p2align=3, $pop21 - i32.const $push61=, 7 - i32.add $push22=, $2, $pop61 - i32.const $push60=, -4 - i32.and $push59=, $pop22, $pop60 - tee_local $push58=, $2=, $pop59 - i32.const $push57=, 4 - i32.add $push23=, $pop58, $pop57 - i32.store $discard=, 60($12), $pop23 - i32.load $push24=, 0($2) - i32.store $discard=, 44($12), $pop24 - i32.const $push56=, 7 - i32.add $push25=, $2, $pop56 - i32.const $push55=, -4 - i32.and $push54=, $pop25, $pop55 - tee_local $push53=, $2=, $pop54 - i32.const $push52=, 4 - i32.add $push26=, $pop53, $pop52 - i32.store $discard=, 60($12), $pop26 - i32.load $push27=, 0($2) - i32.store $discard=, 48($12):p2align=4, $pop27 - i32.const $push51=, 7 - i32.add $push28=, $2, $pop51 - i32.const $push50=, -4 - i32.and $push49=, $pop28, $pop50 - tee_local $push48=, $2=, $pop49 - i32.const $push47=, 4 - i32.add $push29=, $pop48, $pop47 - i32.store $discard=, 60($12), $pop29 - i32.load $push30=, 0($2) - i32.store $discard=, 52($12), $pop30 - i32.const $push46=, 7 - i32.add $push31=, $2, $pop46 - i32.const $push45=, -4 - i32.and $push44=, $pop31, $pop45 - tee_local $push43=, $2=, $pop44 - i32.const $push42=, 4 - i32.add $push32=, $pop43, $pop42 - i32.store $discard=, 60($12), $pop32 - i32.load $push33=, 0($2) - i32.store $discard=, 56($12):p2align=3, $pop33 - i32.const $push41=, 4 - i32.const $11=, 16 - i32.add $11=, $12, $11 - i32.or $4=, $11, $pop41 - i32.const $5=, 0 - i32.const $2=, 0 + i32.store $discard=, 60($9), $pop9 + i32.load $4=, 12($2) + i32.const $push10=, 20 + i32.add $push11=, $2, $pop10 + i32.store $discard=, 60($9), $pop11 + i32.load $3=, 16($2) + i32.store $discard=, 28($9), $6 + i32.store $discard=, 32($9):p2align=4, $7 + i32.store $discard=, 36($9), $4 + i32.store $discard=, 40($9):p2align=3, $3 + i32.const $push12=, 24 + i32.add $push13=, $2, $pop12 + i32.store $discard=, 60($9), $pop13 + i32.load $6=, 20($2) + i32.const $push14=, 28 + i32.add $push15=, $2, $pop14 + i32.store $discard=, 60($9), $pop15 + i32.load $7=, 24($2) + i32.const $push16=, 32 + i32.add $push17=, $2, $pop16 + i32.store $discard=, 60($9), $pop17 + i32.load $4=, 28($2) + i32.const $push18=, 36 + i32.add $push19=, $2, $pop18 + i32.store $discard=, 60($9), $pop19 + i32.load $2=, 32($2) + i32.store $discard=, 44($9), $6 + i32.store $discard=, 48($9):p2align=4, $7 + i32.store $discard=, 52($9), $4 + i32.store $discard=, 56($9):p2align=3, $2 + i32.const $push0=, 0 + i32.store $3=, 16($9):p2align=4, $pop0 + i32.const $push1=, 1 + i32.store $4=, 20($9), $pop1 + i32.const $push24=, 4 + i32.const $8=, 16 + i32.add $8=, $9, $8 + i32.or $6=, $8, $pop24 + copy_local $7=, $3 + copy_local $2=, $3 .LBB2_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label4: block - i32.eq $push34=, $2, $5 - br_if 0, $pop34 # 0: down to label6 + i32.eq $push20=, $2, $7 + br_if 0, $pop20 # 0: down to label6 # BB#2: # %if.then.i # in Loop: Header=BB2_1 Depth=1 - i32.const $push93=, 12 - i32.or $push35=, $12, $pop93 - i32.store $3=, 0($pop35), $2 - i32.const $push92=, 8 - i32.or $push36=, $12, $pop92 - i32.store $discard=, 0($pop36):p2align=3, $5 - i32.const $push91=, 4 - i32.or $push37=, $12, $pop91 - i32.store $discard=, 0($pop37), $3 - i32.const $push90=, .L.str.2 - 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 $push38=, errors($pop87) - i32.const $push86=, 1 - i32.add $push39=, $pop38, $pop86 - i32.store $discard=, errors($pop88), $pop39 + i32.store $5=, 12($9), $2 + i32.store $discard=, 8($9):p2align=3, $7 + i32.store $discard=, 4($9), $5 + i32.const $push29=, .L.str.2 + i32.store $discard=, 0($9):p2align=4, $pop29 + i32.const $push28=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop28, $9 + i32.load $push21=, errors($3) + i32.add $push22=, $pop21, $4 + i32.store $discard=, errors($3), $pop22 .LBB2_3: # %for.inc.i # in Loop: Header=BB2_1 Depth=1 end_block # label6: - i32.const $push94=, 10 - i32.eq $push40=, $2, $pop94 - br_if 1, $pop40 # 1: down to label5 + i32.const $push30=, 10 + i32.eq $push23=, $2, $pop30 + br_if 1, $pop23 # 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 $push96=, 1 - i32.add $2=, $2, $pop96 - i32.const $push95=, 4 - i32.add $4=, $4, $pop95 + i32.load $7=, 0($6) + i32.add $2=, $2, $4 + i32.const $push31=, 4 + i32.add $6=, $6, $pop31 br 0 # 0: up to label4 .LBB2_5: # %verify.exit end_loop # label5: - i32.const $8=, 64 - i32.add $12=, $12, $8 - i32.const $8=, __stack_pointer - i32.store $12=, 0($8), $12 + i32.const $push36=, 64 + i32.add $9=, $9, $pop36 + i32.const $push37=, __stack_pointer + i32.store $discard=, 0($pop37), $9 return .endfunc .Lfunc_end2: @@ -535,162 +379,105 @@ varargs1: # @varargs1 .type varargs2,@function varargs2: # @varargs2 .param i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - 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 $push28=, __stack_pointer + i32.load $push29=, 0($pop28) + i32.const $push30=, 64 + i32.sub $10=, $pop29, $pop30 + i32.const $push31=, __stack_pointer + i32.store $discard=, 0($pop31), $10 + i32.store $discard=, 60($10), $3 + i32.load $3=, 60($10) i32.const $push2=, 2 - i32.store $discard=, 0($pop1):p2align=3, $pop2 - i32.const $push3=, 3 - i32.add $push4=, $3, $pop3 - i32.const $push5=, -4 - i32.and $push76=, $pop4, $pop5 - tee_local $push75=, $3=, $pop76 - i32.const $push74=, 4 - i32.add $push6=, $pop75, $pop74 - i32.store $discard=, 60($13), $pop6 - i64.const $push0=, 4294967296 - i64.store $discard=, 16($13):p2align=4, $pop0 - i32.load $5=, 60($13) - i32.const $push73=, 12 - i32.const $11=, 16 - i32.add $11=, $13, $11 - i32.or $push8=, $11, $pop73 - i32.load $push7=, 0($3) - i32.store $discard=, 0($pop8), $pop7 - i32.const $push72=, 3 - i32.add $push9=, $5, $pop72 - i32.const $push71=, -4 - i32.and $push70=, $pop9, $pop71 - tee_local $push69=, $3=, $pop70 - i32.const $push68=, 4 - i32.add $push10=, $pop69, $pop68 - i32.store $discard=, 60($13), $pop10 - i32.load $push11=, 0($3) - i32.store $discard=, 32($13):p2align=4, $pop11 - i32.const $push12=, 7 + i32.store $discard=, 24($10):p2align=3, $pop2 + i32.const $push23=, 4 + i32.add $push3=, $3, $pop23 + i32.store $discard=, 60($10), $pop3 + i32.load $7=, 0($3) + i32.const $push4=, 8 + i32.add $push5=, $3, $pop4 + i32.store $discard=, 60($10), $pop5 + i32.load $8=, 4($3) + i32.const $push6=, 12 + i32.add $push7=, $3, $pop6 + i32.store $discard=, 60($10), $pop7 + i32.load $5=, 8($3) + i32.const $push8=, 16 + i32.add $push9=, $3, $pop8 + i32.store $discard=, 60($10), $pop9 + i32.load $4=, 12($3) + i32.store $discard=, 28($10), $7 + i32.store $discard=, 32($10):p2align=4, $8 + i32.store $discard=, 36($10), $5 + i32.store $discard=, 40($10):p2align=3, $4 + i32.const $push10=, 20 + i32.add $push11=, $3, $pop10 + i32.store $discard=, 60($10), $pop11 + i32.load $7=, 16($3) + i32.const $push12=, 24 i32.add $push13=, $3, $pop12 - i32.const $push67=, -4 - i32.and $push66=, $pop13, $pop67 - tee_local $push65=, $3=, $pop66 - i32.const $push64=, 4 - i32.add $push14=, $pop65, $pop64 - i32.store $discard=, 60($13), $pop14 - i32.load $push15=, 0($3) - i32.store $discard=, 36($13), $pop15 - i32.const $push63=, 7 - i32.add $push16=, $3, $pop63 - i32.const $push62=, -4 - i32.and $push61=, $pop16, $pop62 - tee_local $push60=, $3=, $pop61 - i32.const $push59=, 4 - i32.add $push17=, $pop60, $pop59 - i32.store $discard=, 60($13), $pop17 - i32.load $push18=, 0($3) - i32.store $discard=, 40($13):p2align=3, $pop18 - i32.const $push58=, 7 - i32.add $push19=, $3, $pop58 - i32.const $push57=, -4 - i32.and $push56=, $pop19, $pop57 - tee_local $push55=, $3=, $pop56 - i32.const $push54=, 4 - i32.add $push20=, $pop55, $pop54 - i32.store $discard=, 60($13), $pop20 - i32.load $push21=, 0($3) - i32.store $discard=, 44($13), $pop21 - i32.const $push53=, 7 - i32.add $push22=, $3, $pop53 - i32.const $push52=, -4 - i32.and $push51=, $pop22, $pop52 - tee_local $push50=, $3=, $pop51 - i32.const $push49=, 4 - i32.add $push23=, $pop50, $pop49 - i32.store $discard=, 60($13), $pop23 - i32.load $push24=, 0($3) - i32.store $discard=, 48($13):p2align=4, $pop24 - i32.const $push48=, 7 - i32.add $push25=, $3, $pop48 - i32.const $push47=, -4 - i32.and $push46=, $pop25, $pop47 - tee_local $push45=, $3=, $pop46 - i32.const $push44=, 4 - i32.add $push26=, $pop45, $pop44 - i32.store $discard=, 60($13), $pop26 - i32.load $push27=, 0($3) - i32.store $discard=, 52($13), $pop27 - i32.const $push43=, 7 - i32.add $push28=, $3, $pop43 - i32.const $push42=, -4 - i32.and $push41=, $pop28, $pop42 - tee_local $push40=, $3=, $pop41 - i32.const $push39=, 4 - i32.add $push29=, $pop40, $pop39 - i32.store $discard=, 60($13), $pop29 - i32.load $push30=, 0($3) - i32.store $discard=, 56($13):p2align=3, $pop30 - i32.const $push38=, 4 - i32.const $12=, 16 - i32.add $12=, $13, $12 - i32.or $5=, $12, $pop38 - i32.const $6=, 0 - i32.const $3=, 0 + i32.store $discard=, 60($10), $pop13 + i32.load $8=, 20($3) + i32.const $push14=, 28 + i32.add $push15=, $3, $pop14 + i32.store $discard=, 60($10), $pop15 + i32.load $5=, 24($3) + i32.const $push16=, 32 + i32.add $push17=, $3, $pop16 + i32.store $discard=, 60($10), $pop17 + i32.load $3=, 28($3) + i32.store $discard=, 44($10), $7 + i32.store $discard=, 48($10):p2align=4, $8 + i32.store $discard=, 52($10), $5 + i32.store $discard=, 56($10):p2align=3, $3 + i32.const $push0=, 0 + i32.store $4=, 16($10):p2align=4, $pop0 + i32.const $push1=, 1 + i32.store $5=, 20($10), $pop1 + i32.const $push22=, 4 + i32.const $9=, 16 + i32.add $9=, $10, $9 + i32.or $7=, $9, $pop22 + copy_local $8=, $4 + copy_local $3=, $4 .LBB3_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label7: block - i32.eq $push31=, $3, $6 - br_if 0, $pop31 # 0: down to label9 + i32.eq $push18=, $3, $8 + br_if 0, $pop18 # 0: down to label9 # BB#2: # %if.then.i # in Loop: Header=BB3_1 Depth=1 - i32.const $push85=, 12 - i32.or $push32=, $13, $pop85 - i32.store $4=, 0($pop32), $3 - i32.const $push84=, 8 - i32.or $push33=, $13, $pop84 - i32.store $discard=, 0($pop33):p2align=3, $6 - i32.const $push83=, 4 - i32.or $push34=, $13, $pop83 - i32.store $discard=, 0($pop34), $4 - i32.const $push82=, .L.str.3 - 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 $push35=, errors($pop79) - i32.const $push78=, 1 - i32.add $push36=, $pop35, $pop78 - i32.store $discard=, errors($pop80), $pop36 + i32.store $6=, 12($10), $3 + i32.store $discard=, 8($10):p2align=3, $8 + i32.store $discard=, 4($10), $6 + i32.const $push25=, .L.str.3 + i32.store $discard=, 0($10):p2align=4, $pop25 + i32.const $push24=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop24, $10 + i32.load $push19=, errors($4) + i32.add $push20=, $pop19, $5 + i32.store $discard=, errors($4), $pop20 .LBB3_3: # %for.inc.i # in Loop: Header=BB3_1 Depth=1 end_block # label9: - i32.const $push86=, 10 - i32.eq $push37=, $3, $pop86 - br_if 1, $pop37 # 1: down to label8 + i32.const $push26=, 10 + i32.eq $push21=, $3, $pop26 + br_if 1, $pop21 # 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 $push88=, 1 - i32.add $3=, $3, $pop88 - i32.const $push87=, 4 - i32.add $5=, $5, $pop87 + i32.load $8=, 0($7) + i32.add $3=, $3, $5 + i32.const $push27=, 4 + i32.add $7=, $7, $pop27 br 0 # 0: up to label7 .LBB3_5: # %verify.exit end_loop # label8: - i32.const $9=, 64 - i32.add $13=, $13, $9 - i32.const $9=, __stack_pointer - i32.store $13=, 0($9), $13 + i32.const $push32=, 64 + i32.add $10=, $10, $pop32 + i32.const $push33=, __stack_pointer + i32.store $discard=, 0($pop33), $10 return .endfunc .Lfunc_end3: @@ -700,148 +487,102 @@ varargs2: # @varargs2 .type varargs3,@function varargs3: # @varargs3 .param i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local 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 $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 $push27=, __stack_pointer + i32.load $push28=, 0($pop27) + i32.const $push29=, 64 + i32.sub $11=, $pop28, $pop29 + i32.const $push30=, __stack_pointer + i32.store $discard=, 0($pop30), $11 + i32.store $discard=, 60($11), $4 + i32.load $4=, 60($11) + i32.const $push2=, 2 + i32.store $discard=, 24($11):p2align=3, $pop2 + i32.const $push22=, 4 + i32.add $push4=, $4, $pop22 + i32.store $discard=, 60($11), $pop4 + i32.load $8=, 0($4) + i32.const $push5=, 8 + i32.add $push6=, $4, $pop5 + i32.store $discard=, 60($11), $pop6 + i32.load $9=, 4($4) + i32.const $push7=, 12 + i32.add $push8=, $4, $pop7 + i32.store $discard=, 60($11), $pop8 + i32.load $6=, 8($4) i32.const $push3=, 3 - i32.add $push4=, $4, $pop3 - i32.const $push5=, -4 - i32.and $push66=, $pop4, $pop5 - tee_local $push65=, $4=, $pop66 - i32.const $push64=, 4 - i32.add $push6=, $pop65, $pop64 - i32.store $discard=, 60($14), $pop6 - i64.const $push0=, 4294967296 - i64.store $discard=, 16($14):p2align=4, $pop0 - i32.load $7=, 60($14) - i32.load $push7=, 0($4) - i32.store $discard=, 32($14):p2align=4, $pop7 - i32.const $push63=, 3 - i32.add $push8=, $7, $pop63 - i32.const $push62=, -4 - i32.and $push61=, $pop8, $pop62 - tee_local $push60=, $4=, $pop61 - i32.const $push59=, 4 - i32.add $push9=, $pop60, $pop59 - i32.store $discard=, 60($14), $pop9 - i32.load $push10=, 0($4) - i32.store $discard=, 36($14), $pop10 - i32.const $push11=, 7 + i32.store $discard=, 28($11), $pop3 + i32.store $discard=, 32($11):p2align=4, $8 + i32.store $discard=, 36($11), $9 + i32.store $discard=, 40($11):p2align=3, $6 + i32.const $push9=, 16 + i32.add $push10=, $4, $pop9 + i32.store $discard=, 60($11), $pop10 + i32.load $8=, 12($4) + i32.const $push11=, 20 i32.add $push12=, $4, $pop11 - i32.const $push58=, -4 - i32.and $push57=, $pop12, $pop58 - tee_local $push56=, $4=, $pop57 - i32.const $push55=, 4 - i32.add $push13=, $pop56, $pop55 - i32.store $discard=, 60($14), $pop13 - i32.load $push14=, 0($4) - i32.store $discard=, 40($14):p2align=3, $pop14 - i32.const $push54=, 7 - i32.add $push15=, $4, $pop54 - i32.const $push53=, -4 - i32.and $push52=, $pop15, $pop53 - tee_local $push51=, $4=, $pop52 - i32.const $push50=, 4 - i32.add $push16=, $pop51, $pop50 - i32.store $discard=, 60($14), $pop16 - i32.load $push17=, 0($4) - i32.store $discard=, 44($14), $pop17 - i32.const $push49=, 7 - i32.add $push18=, $4, $pop49 - i32.const $push48=, -4 - i32.and $push47=, $pop18, $pop48 - tee_local $push46=, $4=, $pop47 - i32.const $push45=, 4 - i32.add $push19=, $pop46, $pop45 - i32.store $discard=, 60($14), $pop19 - i32.load $push20=, 0($4) - i32.store $discard=, 48($14):p2align=4, $pop20 - i32.const $push44=, 7 - i32.add $push21=, $4, $pop44 - i32.const $push43=, -4 - i32.and $push42=, $pop21, $pop43 - tee_local $push41=, $4=, $pop42 - i32.const $push40=, 4 - i32.add $push22=, $pop41, $pop40 - i32.store $discard=, 60($14), $pop22 - i32.load $push23=, 0($4) - i32.store $discard=, 52($14), $pop23 - i32.const $push39=, 7 - i32.add $push24=, $4, $pop39 - i32.const $push38=, -4 - i32.and $push37=, $pop24, $pop38 - tee_local $push36=, $4=, $pop37 - i32.const $push35=, 4 - i32.add $push25=, $pop36, $pop35 - i32.store $discard=, 60($14), $pop25 - i32.load $push26=, 0($4) - i32.store $discard=, 56($14):p2align=3, $pop26 - i32.const $push28=, 12 - i32.or $5=, $14, $pop28 - i32.const $push34=, 4 - i32.const $13=, 16 - i32.add $13=, $14, $13 - i32.or $7=, $13, $pop34 - i32.const $8=, 0 - i32.const $4=, 0 + i32.store $discard=, 60($11), $pop12 + i32.load $9=, 16($4) + i32.const $push13=, 24 + i32.add $push14=, $4, $pop13 + i32.store $discard=, 60($11), $pop14 + i32.load $6=, 20($4) + i32.const $push15=, 28 + i32.add $push16=, $4, $pop15 + i32.store $discard=, 60($11), $pop16 + i32.load $4=, 24($4) + i32.store $discard=, 44($11), $8 + i32.store $discard=, 48($11):p2align=4, $9 + i32.store $discard=, 52($11), $6 + i32.store $discard=, 56($11):p2align=3, $4 + i32.const $push0=, 0 + i32.store $5=, 16($11):p2align=4, $pop0 + i32.const $push1=, 1 + i32.store $6=, 20($11), $pop1 + i32.const $push21=, 4 + i32.const $10=, 16 + i32.add $10=, $11, $10 + i32.or $8=, $10, $pop21 + copy_local $9=, $5 + copy_local $4=, $5 .LBB4_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label10: block - i32.eq $push27=, $4, $8 - br_if 0, $pop27 # 0: down to label12 + i32.eq $push17=, $4, $9 + br_if 0, $pop17 # 0: down to label12 # BB#2: # %if.then.i # in Loop: Header=BB4_1 Depth=1 - i32.store $6=, 0($5), $4 - i32.const $push74=, 8 - i32.or $push29=, $14, $pop74 - i32.store $discard=, 0($pop29):p2align=3, $8 - i32.const $push73=, 4 - i32.or $push30=, $14, $pop73 - i32.store $discard=, 0($pop30), $6 - i32.const $push72=, .L.str.4 - 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 $push31=, errors($pop69) - i32.const $push68=, 1 - i32.add $push32=, $pop31, $pop68 - i32.store $discard=, errors($pop70), $pop32 + i32.store $7=, 12($11), $4 + i32.store $discard=, 8($11):p2align=3, $9 + i32.store $discard=, 4($11), $7 + i32.const $push24=, .L.str.4 + i32.store $discard=, 0($11):p2align=4, $pop24 + i32.const $push23=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop23, $11 + i32.load $push18=, errors($5) + i32.add $push19=, $pop18, $6 + i32.store $discard=, errors($5), $pop19 .LBB4_3: # %for.inc.i # in Loop: Header=BB4_1 Depth=1 end_block # label12: - i32.const $push75=, 10 - i32.eq $push33=, $4, $pop75 - br_if 1, $pop33 # 1: down to label11 + i32.const $push25=, 10 + i32.eq $push20=, $4, $pop25 + br_if 1, $pop20 # 1: down to label11 # BB#4: # %for.inc.i.for.body.i_crit_edge # in Loop: Header=BB4_1 Depth=1 - i32.load $8=, 0($7) - i32.const $push77=, 1 - i32.add $4=, $4, $pop77 - i32.const $push76=, 4 - i32.add $7=, $7, $pop76 + i32.load $9=, 0($8) + i32.add $4=, $4, $6 + i32.const $push26=, 4 + i32.add $8=, $8, $pop26 br 0 # 0: up to label10 .LBB4_5: # %verify.exit end_loop # label11: - i32.const $11=, 64 - i32.add $14=, $14, $11 - i32.const $11=, __stack_pointer - i32.store $14=, 0($11), $14 + i32.const $push31=, 64 + i32.add $11=, $11, $pop31 + i32.const $push32=, __stack_pointer + i32.store $discard=, 0($pop32), $11 return .endfunc .Lfunc_end4: @@ -851,133 +592,98 @@ varargs3: # @varargs3 .type varargs4,@function varargs4: # @varargs4 .param i32, i32, i32, i32, i32, i32 - .local 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 $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 $push4=, 3 - i32.add $push5=, $5, $pop4 - i32.const $push6=, -4 - i32.and $push55=, $pop5, $pop6 - tee_local $push54=, $5=, $pop55 + i32.const $push26=, __stack_pointer + i32.load $push27=, 0($pop26) + i32.const $push28=, 64 + i32.sub $13=, $pop27, $pop28 + i32.const $push29=, __stack_pointer + i32.store $discard=, 0($pop29), $13 + i32.store $discard=, 60($13), $5 + i32.load $5=, 60($13) + i32.const $push3=, 2 + i32.store $discard=, 24($13):p2align=3, $pop3 i32.const $push1=, 4 - i32.store $push53=, 32($16):p2align=4, $pop1 - tee_local $push52=, $10=, $pop53 - i32.add $push7=, $pop54, $pop52 - i32.store $discard=, 60($16), $pop7 - i64.const $push0=, 4294967296 - i64.store $discard=, 16($16):p2align=4, $pop0 - i32.load $8=, 60($16) - i32.load $push8=, 0($5) - i32.store $discard=, 36($16), $pop8 - i32.const $push51=, 3 - i32.add $push9=, $8, $pop51 - i32.const $push50=, -4 - i32.and $push49=, $pop9, $pop50 - tee_local $push48=, $5=, $pop49 - i32.add $push10=, $10, $pop48 - i32.store $discard=, 60($16), $pop10 - i32.load $push11=, 0($5) - i32.store $discard=, 40($16):p2align=3, $pop11 - i32.const $push12=, 7 + i32.store $push22=, 32($13):p2align=4, $pop1 + tee_local $push21=, $11=, $pop22 + i32.add $push5=, $5, $pop21 + i32.store $discard=, 60($13), $pop5 + i32.load $9=, 0($5) + i32.const $push6=, 8 + i32.add $push7=, $5, $pop6 + i32.store $discard=, 60($13), $pop7 + i32.load $10=, 4($5) + i32.const $push4=, 3 + i32.store $discard=, 28($13), $pop4 + i32.store $discard=, 36($13), $9 + i32.store $discard=, 40($13):p2align=3, $10 + i32.const $push8=, 12 + i32.add $push9=, $5, $pop8 + i32.store $discard=, 60($13), $pop9 + i32.load $9=, 8($5) + i32.const $push10=, 16 + i32.add $push11=, $5, $pop10 + i32.store $discard=, 60($13), $pop11 + i32.load $10=, 12($5) + i32.const $push12=, 20 i32.add $push13=, $5, $pop12 - i32.const $push47=, -4 - i32.and $push46=, $pop13, $pop47 - tee_local $push45=, $5=, $pop46 - i32.add $push14=, $10, $pop45 - i32.store $discard=, 60($16), $pop14 - i32.load $push15=, 0($5) - i32.store $discard=, 44($16), $pop15 - i32.const $push44=, 7 - i32.add $push16=, $5, $pop44 - i32.const $push43=, -4 - i32.and $push42=, $pop16, $pop43 - tee_local $push41=, $5=, $pop42 - i32.add $push17=, $10, $pop41 - i32.store $discard=, 60($16), $pop17 - i32.load $push18=, 0($5) - i32.store $discard=, 48($16):p2align=4, $pop18 - i32.const $push40=, 7 - i32.add $push19=, $5, $pop40 - i32.const $push39=, -4 - i32.and $push38=, $pop19, $pop39 - tee_local $push37=, $5=, $pop38 - i32.add $push20=, $10, $pop37 - i32.store $discard=, 60($16), $pop20 - i32.load $push21=, 0($5) - i32.store $discard=, 52($16), $pop21 - i32.const $push36=, 7 - i32.add $push22=, $5, $pop36 - i32.const $push35=, -4 - i32.and $push34=, $pop22, $pop35 - tee_local $push33=, $5=, $pop34 - i32.add $push23=, $10, $pop33 - i32.store $discard=, 60($16), $pop23 - i32.load $push24=, 0($5) - i32.store $discard=, 56($16):p2align=3, $pop24 - i32.const $push32=, 4 - i32.const $15=, 16 - i32.add $15=, $16, $15 - i32.or $8=, $15, $pop32 - i32.const $push26=, 12 - i32.or $6=, $16, $pop26 - i32.const $9=, 0 - i32.const $5=, 0 + i32.store $discard=, 60($13), $pop13 + i32.load $7=, 16($5) + i32.const $push14=, 24 + i32.add $push15=, $5, $pop14 + i32.store $discard=, 60($13), $pop15 + i32.load $5=, 20($5) + i32.store $discard=, 44($13), $9 + i32.store $discard=, 48($13):p2align=4, $10 + i32.store $discard=, 52($13), $7 + i32.store $discard=, 56($13):p2align=3, $5 + i32.const $push0=, 0 + i32.store $6=, 16($13):p2align=4, $pop0 + i32.const $push20=, 4 + i32.const $12=, 16 + i32.add $12=, $13, $12 + i32.or $9=, $12, $pop20 + i32.const $push2=, 1 + i32.store $7=, 20($13), $pop2 + copy_local $10=, $6 + copy_local $5=, $6 .LBB5_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label13: block - i32.eq $push25=, $5, $9 - br_if 0, $pop25 # 0: down to label15 + i32.eq $push16=, $5, $10 + br_if 0, $pop16 # 0: down to label15 # BB#2: # %if.then.i # in Loop: Header=BB5_1 Depth=1 - i32.store $7=, 0($6), $5 - i32.const $push62=, 8 - i32.or $push27=, $16, $pop62 - i32.store $discard=, 0($pop27):p2align=3, $9 - i32.or $push28=, $16, $10 - i32.store $discard=, 0($pop28), $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 $push29=, errors($pop58) - i32.const $push57=, 1 - i32.add $push30=, $pop29, $pop57 - i32.store $discard=, errors($pop59), $pop30 + i32.store $8=, 12($13), $5 + i32.store $discard=, 8($13):p2align=3, $10 + i32.store $discard=, 4($13), $8 + i32.const $push24=, .L.str.5 + i32.store $discard=, 0($13):p2align=4, $pop24 + i32.const $push23=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop23, $13 + i32.load $push17=, errors($6) + i32.add $push18=, $pop17, $7 + i32.store $discard=, errors($6), $pop18 .LBB5_3: # %for.inc.i # in Loop: Header=BB5_1 Depth=1 end_block # label15: - i32.const $push63=, 10 - i32.eq $push31=, $5, $pop63 - br_if 1, $pop31 # 1: down to label14 + i32.const $push25=, 10 + i32.eq $push19=, $5, $pop25 + br_if 1, $pop19 # 1: down to label14 # BB#4: # %for.inc.i.for.body.i_crit_edge # in Loop: Header=BB5_1 Depth=1 - i32.load $9=, 0($8) - i32.const $push64=, 1 - i32.add $5=, $5, $pop64 - i32.add $8=, $8, $10 + i32.load $10=, 0($9) + i32.add $5=, $5, $7 + i32.add $9=, $9, $11 br 0 # 0: up to label13 .LBB5_5: # %verify.exit end_loop # label14: - i32.const $13=, 64 - i32.add $16=, $16, $13 - i32.const $13=, __stack_pointer - i32.store $16=, 0($13), $16 + i32.const $push30=, 64 + i32.add $13=, $13, $pop30 + i32.const $push31=, __stack_pointer + i32.store $discard=, 0($pop31), $13 return .endfunc .Lfunc_end5: @@ -987,130 +693,95 @@ varargs4: # @varargs4 .type varargs5,@function varargs5: # @varargs5 .param i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local 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 $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 $push25=, __stack_pointer + i32.load $push26=, 0($pop25) + i32.const $push27=, 64 + i32.sub $14=, $pop26, $pop27 + i32.const $push28=, __stack_pointer + i32.store $discard=, 0($pop28), $14 + i32.store $discard=, 60($14), $6 + i32.load $6=, 60($14) + i32.const $push3=, 2 + i32.store $discard=, 24($14):p2align=3, $pop3 + i32.const $push1=, 4 + i32.store $push21=, 32($14):p2align=4, $pop1 + tee_local $push20=, $12=, $pop21 + i32.add $push6=, $6, $pop20 + i32.store $discard=, 60($14), $pop6 + i32.load $10=, 0($6) i32.const $push4=, 3 - i32.add $push5=, $6, $pop4 - i32.const $push6=, -4 - i32.and $push51=, $pop5, $pop6 - tee_local $push50=, $6=, $pop51 - i32.const $push49=, 4 - i32.add $push7=, $pop50, $pop49 - i32.store $discard=, 60($16), $pop7 - i64.const $push0=, 4294967296 - i64.store $discard=, 16($16):p2align=4, $pop0 - i64.const $push3=, 21474836484 - i64.store $discard=, 32($16):p2align=4, $pop3 - i32.load $9=, 60($16) - i32.load $push8=, 0($6) - i32.store $discard=, 40($16):p2align=3, $pop8 - i32.const $push48=, 3 - i32.add $push9=, $9, $pop48 - i32.const $push47=, -4 - i32.and $push46=, $pop9, $pop47 - tee_local $push45=, $6=, $pop46 - i32.const $push44=, 4 - i32.add $push10=, $pop45, $pop44 - i32.store $discard=, 60($16), $pop10 - i32.load $push11=, 0($6) - i32.store $discard=, 44($16), $pop11 - i32.const $push12=, 7 - i32.add $push13=, $6, $pop12 - i32.const $push43=, -4 - i32.and $push42=, $pop13, $pop43 - tee_local $push41=, $6=, $pop42 - i32.const $push40=, 4 - i32.add $push14=, $pop41, $pop40 - i32.store $discard=, 60($16), $pop14 - i32.load $push15=, 0($6) - i32.store $discard=, 48($16):p2align=4, $pop15 - i32.const $push39=, 7 - i32.add $push16=, $6, $pop39 - i32.const $push38=, -4 - i32.and $push37=, $pop16, $pop38 - tee_local $push36=, $6=, $pop37 - i32.const $push35=, 4 - i32.add $push17=, $pop36, $pop35 - i32.store $discard=, 60($16), $pop17 - i32.load $push18=, 0($6) - i32.store $discard=, 52($16), $pop18 - i32.const $push34=, 7 - i32.add $push19=, $6, $pop34 - i32.const $push33=, -4 - i32.and $push32=, $pop19, $pop33 - tee_local $push31=, $6=, $pop32 - i32.const $push30=, 4 - i32.add $push20=, $pop31, $pop30 - i32.store $discard=, 60($16), $pop20 - i32.load $push21=, 0($6) - i32.store $discard=, 56($16):p2align=3, $pop21 - i32.const $push23=, 12 - i32.or $7=, $16, $pop23 - i32.const $push29=, 4 - i32.const $15=, 16 - i32.add $15=, $16, $15 - i32.or $9=, $15, $pop29 - i32.const $10=, 0 - i32.const $6=, 0 + i32.store $discard=, 28($14), $pop4 + i32.const $push5=, 5 + i32.store $discard=, 36($14), $pop5 + i32.store $discard=, 40($14):p2align=3, $10 + i32.const $push7=, 8 + i32.add $push8=, $6, $pop7 + i32.store $discard=, 60($14), $pop8 + i32.load $10=, 4($6) + i32.const $push9=, 12 + i32.add $push10=, $6, $pop9 + i32.store $discard=, 60($14), $pop10 + i32.load $11=, 8($6) + i32.const $push11=, 16 + i32.add $push12=, $6, $pop11 + i32.store $discard=, 60($14), $pop12 + i32.load $8=, 12($6) + i32.const $push13=, 20 + i32.add $push14=, $6, $pop13 + i32.store $discard=, 60($14), $pop14 + i32.load $6=, 16($6) + i32.store $discard=, 44($14), $10 + i32.store $discard=, 48($14):p2align=4, $11 + i32.store $discard=, 52($14), $8 + i32.store $discard=, 56($14):p2align=3, $6 + i32.const $push0=, 0 + i32.store $7=, 16($14):p2align=4, $pop0 + i32.const $push19=, 4 + i32.const $13=, 16 + i32.add $13=, $14, $13 + i32.or $10=, $13, $pop19 + i32.const $push2=, 1 + i32.store $8=, 20($14), $pop2 + copy_local $11=, $7 + copy_local $6=, $7 .LBB6_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label16: block - i32.eq $push22=, $6, $10 - br_if 0, $pop22 # 0: down to label18 + i32.eq $push15=, $6, $11 + br_if 0, $pop15 # 0: down to label18 # BB#2: # %if.then.i # in Loop: Header=BB6_1 Depth=1 - i32.store $8=, 0($7), $6 - i32.const $push59=, 8 - i32.or $push24=, $16, $pop59 - i32.store $discard=, 0($pop24):p2align=3, $10 - i32.const $push58=, 4 - i32.or $push25=, $16, $pop58 - i32.store $discard=, 0($pop25), $8 - i32.const $push57=, .L.str.6 - 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 $push26=, errors($pop54) - i32.const $push53=, 1 - i32.add $push27=, $pop26, $pop53 - i32.store $discard=, errors($pop55), $pop27 + i32.store $9=, 12($14), $6 + i32.store $discard=, 8($14):p2align=3, $11 + i32.store $discard=, 4($14), $9 + i32.const $push23=, .L.str.6 + i32.store $discard=, 0($14):p2align=4, $pop23 + i32.const $push22=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop22, $14 + i32.load $push16=, errors($7) + i32.add $push17=, $pop16, $8 + i32.store $discard=, errors($7), $pop17 .LBB6_3: # %for.inc.i # in Loop: Header=BB6_1 Depth=1 end_block # label18: - i32.const $push60=, 10 - i32.eq $push28=, $6, $pop60 - br_if 1, $pop28 # 1: down to label17 + i32.const $push24=, 10 + i32.eq $push18=, $6, $pop24 + br_if 1, $pop18 # 1: down to label17 # BB#4: # %for.inc.i.for.body.i_crit_edge # in Loop: Header=BB6_1 Depth=1 - i32.load $10=, 0($9) - i32.const $push62=, 1 - i32.add $6=, $6, $pop62 - i32.const $push61=, 4 - i32.add $9=, $9, $pop61 + i32.load $11=, 0($10) + i32.add $6=, $6, $8 + i32.add $10=, $10, $12 br 0 # 0: up to label16 .LBB6_5: # %verify.exit end_loop # label17: - i32.const $13=, 64 - i32.add $16=, $16, $13 - i32.const $13=, __stack_pointer - i32.store $16=, 0($13), $16 + i32.const $push29=, 64 + i32.add $14=, $14, $pop29 + i32.const $push30=, __stack_pointer + i32.store $discard=, 0($pop30), $14 return .endfunc .Lfunc_end6: @@ -1120,122 +791,92 @@ varargs5: # @varargs5 .type varargs6,@function varargs6: # @varargs6 .param i32, i32, i32, i32, i32, i32, i32, i32 - .local 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=, 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.load $7=, 60($17) - i32.const $push4=, 6 - i32.store $discard=, 40($17):p2align=3, $pop4 - i32.const $push5=, 3 - i32.add $push6=, $7, $pop5 - i32.const $push7=, -4 - i32.and $push44=, $pop6, $pop7 - tee_local $push43=, $7=, $pop44 - i32.const $push42=, 4 - i32.add $push8=, $pop43, $pop42 - i32.store $discard=, 60($17), $pop8 - i64.const $push0=, 4294967296 - i64.store $discard=, 16($17):p2align=4, $pop0 - i64.const $push3=, 21474836484 - i64.store $discard=, 32($17):p2align=4, $pop3 - i32.load $10=, 60($17) - i32.load $push9=, 0($7) - i32.store $discard=, 44($17), $pop9 - i32.const $push41=, 3 - i32.add $push10=, $10, $pop41 - i32.const $push40=, -4 - i32.and $push39=, $pop10, $pop40 - tee_local $push38=, $7=, $pop39 - i32.const $push37=, 4 - i32.add $push11=, $pop38, $pop37 - i32.store $discard=, 60($17), $pop11 - i32.load $push12=, 0($7) - i32.store $discard=, 48($17):p2align=4, $pop12 - i32.const $push13=, 7 - i32.add $push14=, $7, $pop13 - i32.const $push36=, -4 - i32.and $push35=, $pop14, $pop36 - tee_local $push34=, $7=, $pop35 - i32.const $push33=, 4 - i32.add $push15=, $pop34, $pop33 - i32.store $discard=, 60($17), $pop15 - i32.load $push16=, 0($7) - i32.store $discard=, 52($17), $pop16 - i32.const $push32=, 7 - i32.add $push17=, $7, $pop32 - i32.const $push31=, -4 - i32.and $push30=, $pop17, $pop31 - tee_local $push29=, $7=, $pop30 - i32.const $push28=, 4 - i32.add $push18=, $pop29, $pop28 - i32.store $discard=, 60($17), $pop18 - i32.load $push19=, 0($7) - i32.store $discard=, 56($17):p2align=3, $pop19 - i32.const $push21=, 12 - i32.or $8=, $17, $pop21 - i32.const $push27=, 4 - i32.const $16=, 16 - i32.add $16=, $17, $16 - i32.or $10=, $16, $pop27 - i32.const $11=, 0 - i32.const $7=, 0 + i32.const $push24=, __stack_pointer + i32.load $push25=, 0($pop24) + i32.const $push26=, 64 + i32.sub $15=, $pop25, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $15 + i32.store $discard=, 60($15), $7 + i32.const $push3=, 2 + i32.store $discard=, 24($15):p2align=3, $pop3 + i32.const $push4=, 3 + i32.store $discard=, 28($15), $pop4 + i32.const $push5=, 5 + i32.store $discard=, 36($15), $pop5 + i32.load $7=, 60($15) + i32.const $push6=, 6 + i32.store $discard=, 40($15):p2align=3, $pop6 + i32.const $push1=, 4 + i32.store $push20=, 32($15):p2align=4, $pop1 + tee_local $push19=, $13=, $pop20 + i32.add $push7=, $7, $pop19 + i32.store $discard=, 60($15), $pop7 + i32.load $11=, 0($7) + i32.const $push8=, 8 + i32.add $push9=, $7, $pop8 + i32.store $discard=, 60($15), $pop9 + i32.load $12=, 4($7) + i32.const $push10=, 12 + i32.add $push11=, $7, $pop10 + i32.store $discard=, 60($15), $pop11 + i32.load $9=, 8($7) + i32.const $push12=, 16 + i32.add $push13=, $7, $pop12 + i32.store $discard=, 60($15), $pop13 + i32.load $7=, 12($7) + i32.store $discard=, 44($15), $11 + i32.store $discard=, 48($15):p2align=4, $12 + i32.store $discard=, 52($15), $9 + i32.store $discard=, 56($15):p2align=3, $7 + i32.const $push0=, 0 + i32.store $8=, 16($15):p2align=4, $pop0 + i32.const $push18=, 4 + i32.const $14=, 16 + i32.add $14=, $15, $14 + i32.or $11=, $14, $pop18 + i32.const $push2=, 1 + i32.store $9=, 20($15), $pop2 + copy_local $12=, $8 + copy_local $7=, $8 .LBB7_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label19: block - i32.eq $push20=, $7, $11 - br_if 0, $pop20 # 0: down to label21 + i32.eq $push14=, $7, $12 + br_if 0, $pop14 # 0: down to label21 # BB#2: # %if.then.i # in Loop: Header=BB7_1 Depth=1 - i32.store $9=, 0($8), $7 - i32.const $push52=, 8 - i32.or $push22=, $17, $pop52 - i32.store $discard=, 0($pop22):p2align=3, $11 - i32.const $push51=, 4 - i32.or $push23=, $17, $pop51 - i32.store $discard=, 0($pop23), $9 - i32.const $push50=, .L.str.7 - 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 $push24=, errors($pop47) - i32.const $push46=, 1 - i32.add $push25=, $pop24, $pop46 - i32.store $discard=, errors($pop48), $pop25 + i32.store $10=, 12($15), $7 + i32.store $discard=, 8($15):p2align=3, $12 + i32.store $discard=, 4($15), $10 + i32.const $push22=, .L.str.7 + i32.store $discard=, 0($15):p2align=4, $pop22 + i32.const $push21=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop21, $15 + i32.load $push15=, errors($8) + i32.add $push16=, $pop15, $9 + i32.store $discard=, errors($8), $pop16 .LBB7_3: # %for.inc.i # in Loop: Header=BB7_1 Depth=1 end_block # label21: - i32.const $push53=, 10 - i32.eq $push26=, $7, $pop53 - br_if 1, $pop26 # 1: down to label20 + i32.const $push23=, 10 + i32.eq $push17=, $7, $pop23 + br_if 1, $pop17 # 1: down to label20 # BB#4: # %for.inc.i.for.body.i_crit_edge # in Loop: Header=BB7_1 Depth=1 - i32.load $11=, 0($10) - i32.const $push55=, 1 - i32.add $7=, $7, $pop55 - i32.const $push54=, 4 - i32.add $10=, $10, $pop54 + i32.load $12=, 0($11) + i32.add $7=, $7, $9 + i32.add $11=, $11, $13 br 0 # 0: up to label19 .LBB7_5: # %verify.exit end_loop # label20: - i32.const $14=, 64 - i32.add $17=, $17, $14 - i32.const $14=, __stack_pointer - i32.store $17=, 0($14), $17 + i32.const $push28=, 64 + i32.add $15=, $15, $pop28 + i32.const $push29=, __stack_pointer + i32.store $discard=, 0($pop29), $15 return .endfunc .Lfunc_end7: @@ -1245,112 +886,87 @@ varargs6: # @varargs6 .type varargs7,@function varargs7: # @varargs7 .param i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local 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=, 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.const $push25=, __stack_pointer + i32.load $push26=, 0($pop25) + i32.const $push27=, 64 + i32.sub $13=, $pop26, $pop27 + i32.const $push28=, __stack_pointer + i32.store $discard=, 0($pop28), $13 + i32.store $discard=, 60($13), $8 + i32.load $push16=, 60($13) + tee_local $push15=, $8=, $pop16 + i32.const $push14=, 4 + i32.add $push4=, $pop15, $pop14 + i32.store $discard=, 60($13), $pop4 + i32.load $10=, 0($8) + i32.const $push5=, 8 i32.add $push6=, $8, $pop5 - i32.const $push7=, -4 - i32.and $push36=, $pop6, $pop7 - tee_local $push35=, $8=, $pop36 - i32.const $push34=, 4 - i32.add $push8=, $pop35, $pop34 - i32.store $discard=, 60($18), $pop8 + i32.store $discard=, 60($13), $pop6 + i32.load $11=, 4($8) + i32.const $push7=, 12 + i32.add $push8=, $8, $pop7 + i32.store $discard=, 60($13), $pop8 + i32.load $8=, 8($8) + i32.store $discard=, 48($13):p2align=4, $10 + i32.store $discard=, 52($13), $11 + i32.store $discard=, 56($13):p2align=3, $8 i64.const $push0=, 4294967296 - i64.store $discard=, 16($18):p2align=4, $pop0 - i64.const $push3=, 21474836484 - i64.store $discard=, 32($18):p2align=4, $pop3 - i64.const $push4=, 30064771078 - i64.store $discard=, 40($18), $pop4 - i32.load $11=, 60($18) - i32.load $push9=, 0($8) - i32.store $discard=, 48($18):p2align=4, $pop9 - i32.const $push33=, 3 - i32.add $push10=, $11, $pop33 - i32.const $push32=, -4 - i32.and $push31=, $pop10, $pop32 - tee_local $push30=, $8=, $pop31 - i32.const $push29=, 4 - i32.add $push11=, $pop30, $pop29 - i32.store $discard=, 60($18), $pop11 - i32.load $push12=, 0($8) - i32.store $discard=, 52($18), $pop12 - i32.const $push13=, 7 - i32.add $push14=, $8, $pop13 - i32.const $push28=, -4 - i32.and $push27=, $pop14, $pop28 - tee_local $push26=, $8=, $pop27 - i32.const $push25=, 4 - i32.add $push15=, $pop26, $pop25 - i32.store $discard=, 60($18), $pop15 - i32.load $push16=, 0($8) - i32.store $discard=, 56($18):p2align=3, $pop16 - i32.const $push18=, 12 - i32.or $9=, $18, $pop18 - i32.const $push24=, 4 - i32.const $17=, 16 - i32.add $17=, $18, $17 - i32.or $11=, $17, $pop24 - i32.const $12=, 0 + i64.store $discard=, 16($13):p2align=4, $pop0 + i64.const $push1=, 12884901890 + i64.store $discard=, 24($13), $pop1 + i64.const $push2=, 21474836484 + i64.store $discard=, 32($13):p2align=4, $pop2 + i64.const $push3=, 30064771078 + i64.store $discard=, 40($13), $pop3 + i32.const $push13=, 4 + i32.const $12=, 16 + i32.add $12=, $13, $12 + i32.or $10=, $12, $pop13 + i32.const $11=, 0 i32.const $8=, 0 .LBB8_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label22: block - i32.eq $push17=, $8, $12 - br_if 0, $pop17 # 0: down to label24 + i32.eq $push9=, $8, $11 + br_if 0, $pop9 # 0: down to label24 # BB#2: # %if.then.i # in Loop: Header=BB8_1 Depth=1 - i32.store $10=, 0($9), $8 - i32.const $push44=, 8 - i32.or $push19=, $18, $pop44 - i32.store $discard=, 0($pop19):p2align=3, $12 - i32.const $push43=, 4 - i32.or $push20=, $18, $pop43 - i32.store $discard=, 0($pop20), $10 - i32.const $push42=, .L.str.8 - 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 $push21=, errors($pop39) - i32.const $push38=, 1 - i32.add $push22=, $pop21, $pop38 - i32.store $discard=, errors($pop40), $pop22 + i32.store $9=, 12($13), $8 + i32.store $discard=, 8($13):p2align=3, $11 + i32.store $discard=, 4($13), $9 + i32.const $push21=, .L.str.8 + i32.store $discard=, 0($13):p2align=4, $pop21 + i32.const $push20=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop20, $13 + i32.const $push19=, 0 + i32.const $push18=, 0 + i32.load $push10=, errors($pop18) + i32.const $push17=, 1 + i32.add $push11=, $pop10, $pop17 + i32.store $discard=, errors($pop19), $pop11 .LBB8_3: # %for.inc.i # in Loop: Header=BB8_1 Depth=1 end_block # label24: - i32.const $push45=, 10 - i32.eq $push23=, $8, $pop45 - br_if 1, $pop23 # 1: down to label23 + i32.const $push22=, 10 + i32.eq $push12=, $8, $pop22 + br_if 1, $pop12 # 1: down to label23 # BB#4: # %for.inc.i.for.body.i_crit_edge # in Loop: Header=BB8_1 Depth=1 - i32.load $12=, 0($11) - i32.const $push47=, 1 - i32.add $8=, $8, $pop47 - i32.const $push46=, 4 - i32.add $11=, $11, $pop46 + i32.load $11=, 0($10) + i32.const $push24=, 1 + i32.add $8=, $8, $pop24 + i32.const $push23=, 4 + i32.add $10=, $10, $pop23 br 0 # 0: up to label22 .LBB8_5: # %verify.exit end_loop # label23: - i32.const $15=, 64 - i32.add $18=, $18, $15 - i32.const $15=, __stack_pointer - i32.store $18=, 0($15), $18 + i32.const $push29=, 64 + i32.add $13=, $13, $pop29 + i32.const $push30=, __stack_pointer + i32.store $discard=, 0($pop30), $13 return .endfunc .Lfunc_end8: @@ -1360,103 +976,83 @@ varargs7: # @varargs7 .type varargs8,@function varargs8: # @varargs8 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local 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=, 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 $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=, $9, $pop6 - i32.const $push8=, -4 - i32.and $push30=, $pop7, $pop8 - tee_local $push29=, $9=, $pop30 - i32.const $push28=, 4 - i32.add $push9=, $pop29, $pop28 - i32.store $discard=, 60($20), $pop9 + i32.const $push23=, __stack_pointer + i32.load $push24=, 0($pop23) + i32.const $push25=, 64 + i32.sub $14=, $pop24, $pop25 + i32.const $push26=, __stack_pointer + i32.store $discard=, 0($pop26), $14 + i32.store $discard=, 60($14), $9 + i32.load $push14=, 60($14) + tee_local $push13=, $9=, $pop14 + i32.const $push12=, 4 + i32.add $push5=, $pop13, $pop12 + i32.store $discard=, 60($14), $pop5 + i32.const $push4=, 8 + i32.store $11=, 48($14):p2align=4, $pop4 + i32.load $12=, 0($9) + i32.add $push6=, $9, $11 + i32.store $discard=, 60($14), $pop6 + i32.load $9=, 4($9) + i32.store $discard=, 52($14), $12 + i32.store $discard=, 56($14):p2align=3, $9 i64.const $push0=, 4294967296 - i64.store $discard=, 16($20):p2align=4, $pop0 - i64.const $push4=, 21474836484 - i64.store $discard=, 32($20):p2align=4, $pop4 - i64.const $push5=, 30064771078 - i64.store $discard=, 40($20), $pop5 - i32.const $push27=, 8 - i32.store $10=, 48($20):p2align=4, $pop27 - i32.load $13=, 60($20) - i32.load $push10=, 0($9) - i32.store $discard=, 52($20), $pop10 - i32.const $push26=, 3 - i32.add $push11=, $13, $pop26 - i32.const $push25=, -4 - i32.and $push24=, $pop11, $pop25 - tee_local $push23=, $9=, $pop24 - i32.const $push22=, 4 - i32.add $push12=, $pop23, $pop22 - i32.store $discard=, 60($20), $pop12 - i32.load $push13=, 0($9) - i32.store $discard=, 56($20):p2align=3, $pop13 - i32.const $push15=, 12 - i32.or $11=, $20, $pop15 - i32.const $push21=, 4 - i32.const $19=, 16 - i32.add $19=, $20, $19 - i32.or $13=, $19, $pop21 - i32.const $14=, 0 + i64.store $discard=, 16($14):p2align=4, $pop0 + i64.const $push1=, 12884901890 + i64.store $discard=, 24($14), $pop1 + i64.const $push2=, 21474836484 + i64.store $discard=, 32($14):p2align=4, $pop2 + i64.const $push3=, 30064771078 + i64.store $discard=, 40($14), $pop3 + i32.const $push11=, 4 + i32.const $13=, 16 + i32.add $13=, $14, $13 + i32.or $11=, $13, $pop11 + i32.const $12=, 0 i32.const $9=, 0 .LBB9_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label25: block - i32.eq $push14=, $9, $14 - br_if 0, $pop14 # 0: down to label27 + i32.eq $push7=, $9, $12 + br_if 0, $pop7 # 0: down to label27 # BB#2: # %if.then.i # in Loop: Header=BB9_1 Depth=1 - i32.store $12=, 0($11), $9 - i32.or $push16=, $20, $10 - i32.store $discard=, 0($pop16):p2align=3, $14 - i32.const $push36=, 4 - i32.or $push17=, $20, $pop36 - i32.store $discard=, 0($pop17), $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 $push18=, errors($pop32) - i32.const $push31=, 1 - i32.add $push19=, $pop18, $pop31 - i32.store $discard=, errors($pop33), $pop19 + i32.store $10=, 12($14), $9 + i32.store $discard=, 8($14):p2align=3, $12 + i32.store $discard=, 4($14), $10 + i32.const $push19=, .L.str.9 + i32.store $discard=, 0($14):p2align=4, $pop19 + i32.const $push18=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop18, $14 + i32.const $push17=, 0 + i32.const $push16=, 0 + i32.load $push8=, errors($pop16) + i32.const $push15=, 1 + i32.add $push9=, $pop8, $pop15 + i32.store $discard=, errors($pop17), $pop9 .LBB9_3: # %for.inc.i # in Loop: Header=BB9_1 Depth=1 end_block # label27: - i32.const $push37=, 10 - i32.eq $push20=, $9, $pop37 - br_if 1, $pop20 # 1: down to label26 + i32.const $push20=, 10 + i32.eq $push10=, $9, $pop20 + br_if 1, $pop10 # 1: down to label26 # BB#4: # %for.inc.i.for.body.i_crit_edge # in Loop: Header=BB9_1 Depth=1 - i32.load $14=, 0($13) - i32.const $push39=, 1 - i32.add $9=, $9, $pop39 - i32.const $push38=, 4 - i32.add $13=, $13, $pop38 + i32.load $12=, 0($11) + i32.const $push22=, 1 + i32.add $9=, $9, $pop22 + i32.const $push21=, 4 + i32.add $11=, $11, $pop21 br 0 # 0: up to label25 .LBB9_5: # %verify.exit end_loop # label26: - i32.const $17=, 64 - i32.add $20=, $20, $17 - i32.const $17=, __stack_pointer - i32.store $20=, 0($17), $20 + i32.const $push27=, 64 + i32.add $14=, $14, $pop27 + i32.const $push28=, __stack_pointer + i32.store $discard=, 0($pop28), $14 return .endfunc .Lfunc_end9: @@ -1466,93 +1062,79 @@ varargs8: # @varargs8 .type varargs9,@function varargs9: # @varargs9 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local 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=, 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=, $10, $pop6 - i32.const $push8=, -4 - i32.and $push21=, $pop7, $pop8 - tee_local $push20=, $10=, $pop21 - i32.const $push19=, 4 - i32.add $push9=, $pop20, $pop19 - i32.store $discard=, 60($20), $pop9 + i32.const $push23=, __stack_pointer + i32.load $push24=, 0($pop23) + i32.const $push25=, 64 + i32.sub $15=, $pop24, $pop25 + i32.const $push26=, __stack_pointer + i32.store $discard=, 0($pop26), $15 + i32.store $discard=, 60($15), $10 + i32.load $push14=, 60($15) + tee_local $push13=, $10=, $pop14 + i32.const $push12=, 4 + i32.add $push5=, $pop13, $pop12 + i32.store $discard=, 60($15), $pop5 + i32.load $push6=, 0($10) + i32.store $discard=, 56($15):p2align=3, $pop6 i64.const $push0=, 4294967296 - i64.store $discard=, 16($20):p2align=4, $pop0 - i64.const $push3=, 21474836484 - i64.store $discard=, 32($20):p2align=4, $pop3 - i64.const $push4=, 30064771078 - i64.store $discard=, 40($20), $pop4 - i64.const $push5=, 38654705672 - i64.store $discard=, 48($20):p2align=4, $pop5 - i32.load $push10=, 0($10) - i32.store $discard=, 56($20):p2align=3, $pop10 - i32.const $push12=, 12 - i32.or $11=, $20, $pop12 - i32.const $push18=, 4 - i32.const $19=, 16 - i32.add $19=, $20, $19 - i32.or $13=, $19, $pop18 - i32.const $14=, 0 + i64.store $discard=, 16($15):p2align=4, $pop0 + i64.const $push1=, 12884901890 + i64.store $discard=, 24($15), $pop1 + i64.const $push2=, 21474836484 + i64.store $discard=, 32($15):p2align=4, $pop2 + i64.const $push3=, 30064771078 + i64.store $discard=, 40($15), $pop3 + i64.const $push4=, 38654705672 + i64.store $discard=, 48($15):p2align=4, $pop4 + i32.const $push11=, 4 + i32.const $14=, 16 + i32.add $14=, $15, $14 + i32.or $12=, $14, $pop11 + i32.const $13=, 0 i32.const $10=, 0 .LBB10_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label28: block - i32.eq $push11=, $10, $14 - br_if 0, $pop11 # 0: down to label30 + i32.eq $push7=, $10, $13 + br_if 0, $pop7 # 0: down to label30 # BB#2: # %if.then.i # in Loop: Header=BB10_1 Depth=1 - i32.store $12=, 0($11), $10 - i32.const $push29=, 8 - i32.or $push13=, $20, $pop29 - i32.store $discard=, 0($pop13):p2align=3, $14 - i32.const $push28=, 4 - i32.or $push14=, $20, $pop28 - i32.store $discard=, 0($pop14), $12 - i32.const $push27=, .L.str.10 - 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 $push15=, errors($pop24) - i32.const $push23=, 1 - i32.add $push16=, $pop15, $pop23 - i32.store $discard=, errors($pop25), $pop16 + i32.store $11=, 12($15), $10 + i32.store $discard=, 8($15):p2align=3, $13 + i32.store $discard=, 4($15), $11 + i32.const $push19=, .L.str.10 + i32.store $discard=, 0($15):p2align=4, $pop19 + i32.const $push18=, .L.str.1 + i32.call $discard=, printf@FUNCTION, $pop18, $15 + i32.const $push17=, 0 + i32.const $push16=, 0 + i32.load $push8=, errors($pop16) + i32.const $push15=, 1 + i32.add $push9=, $pop8, $pop15 + i32.store $discard=, errors($pop17), $pop9 .LBB10_3: # %for.inc.i # in Loop: Header=BB10_1 Depth=1 end_block # label30: - i32.const $push30=, 10 - i32.eq $push17=, $10, $pop30 - br_if 1, $pop17 # 1: down to label29 + i32.const $push20=, 10 + i32.eq $push10=, $10, $pop20 + br_if 1, $pop10 # 1: down to label29 # BB#4: # %for.inc.i.for.body.i_crit_edge # in Loop: Header=BB10_1 Depth=1 - i32.load $14=, 0($13) - i32.const $push32=, 1 - i32.add $10=, $10, $pop32 - i32.const $push31=, 4 - i32.add $13=, $13, $pop31 + i32.load $13=, 0($12) + i32.const $push22=, 1 + i32.add $10=, $10, $pop22 + i32.const $push21=, 4 + i32.add $12=, $12, $pop21 br 0 # 0: up to label28 .LBB10_5: # %verify.exit end_loop # label29: - i32.const $17=, 64 - i32.add $20=, $20, $17 - i32.const $17=, __stack_pointer - i32.store $20=, 0($17), $20 + i32.const $push27=, 64 + i32.add $15=, $15, $pop27 + i32.const $push28=, __stack_pointer + i32.store $discard=, 0($pop28), $15 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 214406107..9efab4b84 100644 --- a/test/torture-s/va-arg-26.c.s +++ b/test/torture-s/va-arg-26.c.s @@ -7,29 +7,23 @@ f: # @f .param f32, f32, f32, f32, f32, f32, i32 .result f64 - .local i32, i32, i32, i32 + .local f64, 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.store $push0=, 12($10), $6 + i32.const $push8=, __stack_pointer + i32.load $push9=, 0($pop8) + i32.const $push10=, 16 + i32.sub $8=, $pop9, $pop10 + i32.store $push0=, 12($8), $6 i32.const $push1=, 7 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -8 - i32.and $push8=, $pop2, $pop3 - tee_local $push7=, $6=, $pop8 + i32.and $push7=, $pop2, $pop3 + tee_local $push6=, $6=, $pop7 + f64.load $7=, 0($pop6) i32.const $push4=, 8 - i32.add $push5=, $pop7, $pop4 - i32.store $discard=, 12($10), $pop5 - f64.load $push6=, 0($6) - i32.const $9=, 16 - i32.add $10=, $10, $9 - i32.const $9=, __stack_pointer - i32.store $10=, 0($9), $10 - return $pop6 + i32.add $push5=, $6, $pop4 + i32.store $discard=, 12($8), $pop5 + return $7 .endfunc .Lfunc_end0: .size f, .Lfunc_end0-f @@ -40,18 +34,18 @@ f: # @f .type main,@function main: # @main .result i32 - .local f32, i32, i32, i32 + .local f32, i32 # BB#0: # %entry - 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.store $3=, 0($2), $3 + i32.const $push5=, __stack_pointer + i32.load $push6=, 0($pop5) + i32.const $push7=, 16 + i32.sub $1=, $pop6, $pop7 + i32.const $push8=, __stack_pointer + i32.store $discard=, 0($pop8), $1 i64.const $push0=, 4619567317775286272 - i64.store $discard=, 0($3):p2align=4, $pop0 + i64.store $discard=, 0($1):p2align=4, $pop0 block - f64.call $push1=, f@FUNCTION, $0, $0, $0, $0, $0, $0, $3 + f64.call $push1=, f@FUNCTION, $0, $0, $0, $0, $0, $0, $1 f64.const $push2=, 0x1.cp2 f64.eq $push3=, $pop1, $pop2 br_if 0, $pop3 # 0: down to label0 diff --git a/test/torture-s/va-arg-4.c.s b/test/torture-s/va-arg-4.c.s index 3cc8fe91f..57195fd8d 100644 --- a/test/torture-s/va-arg-4.c.s +++ b/test/torture-s/va-arg-4.c.s @@ -6,14 +6,14 @@ .type f,@function f: # @f .param i32, i32, i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 + i32.const $push24=, __stack_pointer + i32.load $push25=, 0($pop24) + i32.const $push26=, 16 + i32.sub $4=, $pop25, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $4 block i32.load8_u $push0=, 0($0) i32.const $push1=, 97 @@ -30,52 +30,36 @@ f: # @f i32.ne $push8=, $pop6, $pop7 br_if 0, $pop8 # 0: down to label0 # BB#3: # %if.end - i32.store $push9=, 12($6), $2 - i32.const $push32=, 3 - i32.add $push10=, $pop9, $pop32 - i32.const $push31=, -4 - i32.and $push30=, $pop10, $pop31 - tee_local $push29=, $0=, $pop30 - i32.const $push28=, 4 - i32.add $push11=, $pop29, $pop28 - i32.store $discard=, 12($6), $pop11 - i32.load $push12=, 0($0) - i32.const $push13=, 42 - i32.ne $push14=, $pop12, $pop13 - br_if 0, $pop14 # 0: down to label0 + i32.store $push23=, 12($4), $2 + tee_local $push22=, $0=, $pop23 + i32.const $push9=, 4 + i32.add $push10=, $pop22, $pop9 + i32.store $2=, 12($4), $pop10 + i32.load $push11=, 0($0) + i32.const $push12=, 42 + i32.ne $push13=, $pop11, $pop12 + br_if 0, $pop13 # 0: down to label0 # BB#4: # %if.end17 - i32.load $push15=, 12($6) - i32.const $push37=, 3 - i32.add $push16=, $pop15, $pop37 - i32.const $push36=, -4 - i32.and $push35=, $pop16, $pop36 - tee_local $push34=, $0=, $pop35 - i32.const $push33=, 4 - i32.add $push17=, $pop34, $pop33 - i32.store $discard=, 12($6), $pop17 - i32.load $push18=, 0($0) - i32.const $push19=, 120 - i32.ne $push20=, $pop18, $pop19 - br_if 0, $pop20 # 0: down to label0 -# BB#5: # %if.end21 - i32.load $push21=, 12($6) - i32.const $push22=, 3 - i32.add $push23=, $pop21, $pop22 - i32.const $push24=, -4 - i32.and $push39=, $pop23, $pop24 - tee_local $push38=, $0=, $pop39 - i32.const $push25=, 4 - i32.add $push26=, $pop38, $pop25 - i32.store $discard=, 12($6), $pop26 - i32.load $push27=, 0($0) - br_if 0, $pop27 # 0: down to label0 -# BB#6: # %if.end25 - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push14=, 8 + i32.add $push15=, $0, $pop14 + i32.store $3=, 12($4), $pop15 + i32.load $push16=, 0($2) + i32.const $push17=, 120 + i32.ne $push18=, $pop16, $pop17 + br_if 0, $pop18 # 0: down to label0 +# BB#5: # %if.end23 + i32.const $push19=, 12 + i32.add $push20=, $0, $pop19 + i32.store $discard=, 12($4), $pop20 + i32.load $push21=, 0($3) + br_if 0, $pop21 # 0: down to label0 +# BB#6: # %if.end29 + i32.const $push28=, 16 + i32.add $4=, $4, $pop28 + i32.const $push29=, __stack_pointer + i32.store $discard=, 0($pop29), $4 return -.LBB0_7: # %if.then24 +.LBB0_7: # %if.then28 end_block # label0: call abort@FUNCTION unreachable @@ -89,47 +73,45 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32 # BB#0: # %entry - 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 $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 48 + i32.sub $5=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $5 i32.const $push2=, 24 - i32.const $3=, 16 - i32.add $3=, $7, $3 - i32.add $push3=, $3, $pop2 + i32.const $1=, 16 + i32.add $1=, $5, $1 + i32.add $push3=, $1, $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 $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 + i32.const $2=, 16 + i32.add $2=, $5, $2 + i32.add $push6=, $2, $pop5 + i32.const $push15=, 0 + i64.load $push4=, main.x+16($pop15):p2align=0 i64.store $discard=, 0($pop6):p2align=2, $pop4 i32.const $push8=, 8 - 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 + i32.const $3=, 16 + i32.add $3=, $5, $3 + i32.add $push9=, $3, $pop8 + i32.const $push14=, 0 + i64.load $push7=, main.x+8($pop14):p2align=0 i64.store $discard=, 0($pop9):p2align=2, $pop7 - 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 + i64.load $push10=, main.x($pop13):p2align=0 + i64.store $discard=, 16($5):p2align=2, $pop10 + i32.const $push12=, 0 + i32.store $0=, 8($5):p2align=3, $pop12 + i64.const $push11=, 515396075562 + i64.store $discard=, 0($5):p2align=4, $pop11 + i32.const $4=, 16 + i32.add $4=, $5, $4 + call f@FUNCTION, $4, $0, $5 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 83fe585ae..fc5adaa12 100644 --- a/test/torture-s/va-arg-5.c.s +++ b/test/torture-s/va-arg-5.c.s @@ -7,77 +7,59 @@ va_double: # @va_double .param i32, i32 .result i32 - .local i32, i32, i32, i32 + .local i32, f64, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $5=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $5=, 0($3), $5 - i32.store $push0=, 12($5), $1 - i32.const $push28=, 7 - i32.add $push1=, $pop0, $pop28 - i32.const $push27=, -8 - i32.and $push26=, $pop1, $pop27 - tee_local $push25=, $1=, $pop26 - i32.const $push24=, 8 - i32.add $push2=, $pop25, $pop24 - i32.store $discard=, 12($5), $pop2 + i32.const $push22=, __stack_pointer + i32.load $push23=, 0($pop22) + i32.const $push24=, 16 + i32.sub $4=, $pop23, $pop24 + i32.const $push25=, __stack_pointer + i32.store $discard=, 0($pop25), $4 + i32.store $push0=, 12($4), $1 + i32.const $push1=, 7 + i32.add $push2=, $pop0, $pop1 + i32.const $push3=, -8 + i32.and $push21=, $pop2, $pop3 + tee_local $push20=, $1=, $pop21 + f64.load $3=, 0($pop20) + i32.const $push4=, 8 + i32.add $push5=, $1, $pop4 + i32.store $2=, 12($4), $pop5 block - f64.load $push3=, 0($1) - f64.const $push4=, 0x1.921fafc8b007ap1 - f64.ne $push5=, $pop3, $pop4 - br_if 0, $pop5 # 0: down to label0 + f64.const $push6=, 0x1.921fafc8b007ap1 + f64.ne $push7=, $3, $pop6 + br_if 0, $pop7 # 0: down to label0 # BB#1: # %if.end - i32.load $push6=, 12($5) - i32.const $push33=, 7 - i32.add $push7=, $pop6, $pop33 - i32.const $push32=, -8 - i32.and $push31=, $pop7, $pop32 - tee_local $push30=, $1=, $pop31 - i32.const $push29=, 8 - i32.add $push8=, $pop30, $pop29 - i32.store $discard=, 12($5), $pop8 - f64.load $push9=, 0($1) + f64.load $3=, 0($2) + i32.const $push8=, 16 + i32.add $push9=, $1, $pop8 + i32.store $2=, 12($4), $pop9 f64.const $push10=, 0x1.5bf04577d9557p1 - f64.ne $push11=, $pop9, $pop10 + f64.ne $push11=, $3, $pop10 br_if 0, $pop11 # 0: down to label0 -# BB#2: # %if.end4 - i32.load $push12=, 12($5) - i32.const $push38=, 7 - i32.add $push13=, $pop12, $pop38 - i32.const $push37=, -8 - i32.and $push36=, $pop13, $pop37 - tee_local $push35=, $1=, $pop36 - i32.const $push34=, 8 - i32.add $push14=, $pop35, $pop34 - i32.store $discard=, 12($5), $pop14 - f64.load $push15=, 0($1) - f64.const $push16=, 0x1.1e3779131154cp1 - f64.ne $push17=, $pop15, $pop16 - br_if 0, $pop17 # 0: down to label0 -# BB#3: # %if.end7 - i32.load $push18=, 12($5) - i32.const $push43=, 7 - i32.add $push19=, $pop18, $pop43 - i32.const $push42=, -8 - i32.and $push41=, $pop19, $pop42 - tee_local $push40=, $1=, $pop41 - i32.const $push39=, 8 - i32.add $push20=, $pop40, $pop39 - i32.store $discard=, 12($5), $pop20 - f64.load $push21=, 0($1) - f64.const $push22=, 0x1.12e0be1b5921ep1 - f64.ne $push23=, $pop21, $pop22 - br_if 0, $pop23 # 0: down to label0 -# BB#4: # %if.end10 - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 +# BB#2: # %if.end6 + f64.load $3=, 0($2) + i32.const $push12=, 24 + i32.add $push13=, $1, $pop12 + i32.store $2=, 12($4), $pop13 + f64.const $push14=, 0x1.1e3779131154cp1 + f64.ne $push15=, $3, $pop14 + br_if 0, $pop15 # 0: down to label0 +# BB#3: # %if.end11 + f64.load $3=, 0($2) + i32.const $push16=, 32 + i32.add $push17=, $1, $pop16 + i32.store $discard=, 12($4), $pop17 + f64.const $push18=, 0x1.12e0be1b5921ep1 + f64.ne $push19=, $3, $pop18 + br_if 0, $pop19 # 0: down to label0 +# BB#4: # %if.end16 + i32.const $push26=, 16 + i32.add $4=, $4, $pop26 + i32.const $push27=, __stack_pointer + i32.store $discard=, 0($pop27), $4 return $1 -.LBB0_5: # %if.then9 +.LBB0_5: # %if.then15 end_block # label0: call abort@FUNCTION unreachable @@ -92,97 +74,73 @@ va_double: # @va_double va_long_double: # @va_long_double .param i32, i32 .result i32 - .local i64, i32, i32, i32, i32, i32 + .local i32, i64, i64, i32 # BB#0: # %entry - 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 $push0=, 12($7), $1 - i32.const $push37=, 15 - i32.add $push1=, $pop0, $pop37 - i32.const $push36=, -16 - i32.and $push35=, $pop1, $pop36 - tee_local $push34=, $3=, $pop35 - i32.const $push33=, 8 - i32.or $push2=, $pop34, $pop33 - i32.store $1=, 12($7), $pop2 - i64.load $2=, 0($3) - i32.const $push32=, 8 - i32.add $push3=, $1, $pop32 - i32.store $discard=, 12($7), $pop3 + i32.const $push32=, __stack_pointer + i32.load $push33=, 0($pop32) + i32.const $push34=, 16 + i32.sub $5=, $pop33, $pop34 + i32.const $push35=, __stack_pointer + i32.store $discard=, 0($pop35), $5 + i32.store $push0=, 12($5), $1 + i32.const $push1=, 15 + i32.add $push2=, $pop0, $pop1 + i32.const $push3=, -16 + i32.and $push31=, $pop2, $pop3 + tee_local $push30=, $1=, $pop31 + i64.load $3=, 8($pop30) + i64.load $4=, 0($1):p2align=4 + i32.const $push4=, 16 + i32.add $push5=, $1, $pop4 + i32.store $2=, 12($5), $pop5 block - i64.load $push4=, 0($1) - i64.const $push6=, -7338557514379428662 - i64.const $push5=, 4611846683218194439 - i32.call $push7=, __eqtf2@FUNCTION, $2, $pop4, $pop6, $pop5 - br_if 0, $pop7 # 0: down to label1 + i64.const $push7=, -7338557514379428662 + i64.const $push6=, 4611846683218194439 + i32.call $push8=, __eqtf2@FUNCTION, $4, $3, $pop7, $pop6 + br_if 0, $pop8 # 0: down to label1 # BB#1: # %if.end - i32.load $push8=, 12($7) - i32.const $push43=, 15 - i32.add $push9=, $pop8, $pop43 - i32.const $push42=, -16 - i32.and $push41=, $pop9, $pop42 - tee_local $push40=, $3=, $pop41 - i32.const $push39=, 8 - i32.or $push10=, $pop40, $pop39 - i32.store $1=, 12($7), $pop10 - i64.load $2=, 0($3) - i32.const $push38=, 8 - i32.add $push11=, $1, $pop38 - i32.store $discard=, 12($7), $pop11 - i64.load $push12=, 0($1) + i32.const $push11=, 24 + i32.add $push12=, $1, $pop11 + i64.load $3=, 0($pop12) + i64.load $4=, 0($2):p2align=4 + i32.const $push9=, 32 + i32.add $push10=, $1, $pop9 + i32.store $2=, 12($5), $pop10 i64.const $push14=, 8163791057260899163 i64.const $push13=, 4611787105943148885 - i32.call $push15=, __eqtf2@FUNCTION, $2, $pop12, $pop14, $pop13 + i32.call $push15=, __eqtf2@FUNCTION, $4, $3, $pop14, $pop13 br_if 0, $pop15 # 0: down to label1 -# BB#2: # %if.end4 - i32.load $push16=, 12($7) - i32.const $push49=, 15 - i32.add $push17=, $pop16, $pop49 - i32.const $push48=, -16 - i32.and $push47=, $pop17, $pop48 - tee_local $push46=, $3=, $pop47 - i32.const $push45=, 8 - i32.or $push18=, $pop46, $pop45 - i32.store $1=, 12($7), $pop18 - i64.load $2=, 0($3) - i32.const $push44=, 8 - i32.add $push19=, $1, $pop44 - i32.store $discard=, 12($7), $pop19 - i64.load $push20=, 0($1) - i64.const $push22=, -4892607794577095924 - i64.const $push21=, 4611719242030715220 - i32.call $push23=, __eqtf2@FUNCTION, $2, $pop20, $pop22, $pop21 - br_if 0, $pop23 # 0: down to label1 -# BB#3: # %if.end7 - i32.load $push24=, 12($7) - i32.const $push55=, 15 - i32.add $push25=, $pop24, $pop55 - i32.const $push54=, -16 - i32.and $push53=, $pop25, $pop54 - tee_local $push52=, $3=, $pop53 - i32.const $push51=, 8 - i32.or $push26=, $pop52, $pop51 - i32.store $1=, 12($7), $pop26 - i64.load $2=, 0($3) - i32.const $push50=, 8 - i32.add $push27=, $1, $pop50 - i32.store $discard=, 12($7), $pop27 - i64.load $push28=, 0($1) - i64.const $push30=, -2718666384188054750 - i64.const $push29=, 4611706774898825505 - i32.call $push31=, __eqtf2@FUNCTION, $2, $pop28, $pop30, $pop29 - br_if 0, $pop31 # 0: down to label1 -# BB#4: # %if.end10 - i32.const $6=, 16 - i32.add $7=, $7, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 +# BB#2: # %if.end6 + i32.const $push18=, 40 + i32.add $push19=, $1, $pop18 + i64.load $3=, 0($pop19) + i64.load $4=, 0($2):p2align=4 + i32.const $push16=, 48 + i32.add $push17=, $1, $pop16 + i32.store $2=, 12($5), $pop17 + i64.const $push21=, -4892607794577095924 + i64.const $push20=, 4611719242030715220 + i32.call $push22=, __eqtf2@FUNCTION, $4, $3, $pop21, $pop20 + br_if 0, $pop22 # 0: down to label1 +# BB#3: # %if.end11 + i32.const $push25=, 56 + i32.add $push26=, $1, $pop25 + i64.load $3=, 0($pop26) + i64.load $4=, 0($2):p2align=4 + i32.const $push23=, 64 + i32.add $push24=, $1, $pop23 + i32.store $discard=, 12($5), $pop24 + i64.const $push28=, -2718666384188054750 + i64.const $push27=, 4611706774898825505 + i32.call $push29=, __eqtf2@FUNCTION, $4, $3, $pop28, $pop27 + br_if 0, $pop29 # 0: down to label1 +# BB#4: # %if.end16 + i32.const $push36=, 16 + i32.add $5=, $5, $pop36 + i32.const $push37=, __stack_pointer + i32.store $discard=, 0($pop37), $5 return $1 -.LBB1_5: # %if.then9 +.LBB1_5: # %if.then15 end_block # label1: call abort@FUNCTION unreachable @@ -196,70 +154,64 @@ va_long_double: # @va_long_double .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 96 - i32.sub $7=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $7=, 0($2), $7 + i32.const $push29=, __stack_pointer + i32.load $push30=, 0($pop29) + i32.const $push31=, 96 + i32.sub $4=, $pop30, $pop31 + i32.const $push32=, __stack_pointer + i32.store $discard=, 0($pop32), $4 i32.const $push0=, 24 - i32.const $3=, 64 - i32.add $3=, $7, $3 - i32.add $push1=, $3, $pop0 + i32.const $1=, 64 + i32.add $1=, $4, $1 + i32.add $push1=, $1, $pop0 i64.const $push2=, 4612018121970389534 i64.store $discard=, 0($pop1), $pop2 i32.const $push3=, 16 - i32.const $4=, 64 - i32.add $4=, $7, $4 - i32.add $push4=, $4, $pop3 + i32.const $2=, 64 + i32.add $2=, $4, $2 + i32.add $push4=, $2, $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.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 + i64.const $push6=, 4613303418679563607 + i64.store $discard=, 72($4), $pop6 + i64.const $push7=, 4614256655080292474 + i64.store $discard=, 64($4):p2align=4, $pop7 + i32.const $3=, 64 + i32.add $3=, $4, $3 + i32.call $discard=, va_double@FUNCTION, $0, $3 + i32.const $push8=, 56 + i32.add $push9=, $4, $pop8 + i64.const $push10=, 4611706774898825505 + i64.store $discard=, 0($pop9), $pop10 + i32.const $push11=, 48 + i32.add $push12=, $4, $pop11 + i64.const $push13=, -2718666384188054750 + i64.store $discard=, 0($pop12):p2align=4, $pop13 + i32.const $push14=, 40 + i32.add $push15=, $4, $pop14 + i64.const $push16=, 4611719242030715220 + i64.store $discard=, 0($pop15), $pop16 + i32.const $push17=, 32 + i32.add $push18=, $4, $pop17 + i64.const $push19=, -4892607794577095924 + i64.store $discard=, 0($pop18):p2align=4, $pop19 + i32.const $push28=, 24 + i32.add $push20=, $4, $pop28 + i64.const $push21=, 4611787105943148885 + i64.store $discard=, 0($pop20), $pop21 + i32.const $push27=, 16 + i32.add $push22=, $4, $pop27 + i64.const $push23=, 8163791057260899163 + i64.store $discard=, 0($pop22):p2align=4, $pop23 + i64.const $push24=, 4611846683218194439 + i64.store $discard=, 8($4), $pop24 + i64.const $push25=, -7338557514379428662 + i64.store $discard=, 0($4):p2align=4, $pop25 + i32.call $discard=, va_long_double@FUNCTION, $0, $4 + i32.const $push26=, 0 + call exit@FUNCTION, $pop26 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 c86dbf366..19e1fcac3 100644 --- a/test/torture-s/va-arg-6.c.s +++ b/test/torture-s/va-arg-6.c.s @@ -7,152 +7,112 @@ f: # @f .param i32, i32 .result i32 - .local i64, i32, i32, i32, i32, i32 + .local i32, i64, i64, i32, f64, i32 # BB#0: # %entry - 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 $push0=, 12($7), $1 - i32.const $push1=, 3 - i32.add $push2=, $pop0, $pop1 - i32.const $push3=, -4 - i32.and $push78=, $pop2, $pop3 - tee_local $push77=, $1=, $pop78 - i32.const $push4=, 4 - i32.add $push5=, $pop77, $pop4 - i32.store $discard=, 12($7), $pop5 + i32.const $push59=, __stack_pointer + i32.load $push60=, 0($pop59) + i32.const $push61=, 16 + i32.sub $7=, $pop60, $pop61 + i32.const $push62=, __stack_pointer + i32.store $discard=, 0($pop62), $7 + i32.store $push52=, 12($7), $1 + tee_local $push51=, $1=, $pop52 + i32.const $push3=, 4 + i32.add $push0=, $pop51, $pop3 + i32.store $2=, 12($7), $pop0 block - i32.load $push6=, 0($1) - i32.const $push7=, 10 - i32.ne $push8=, $pop6, $pop7 - br_if 0, $pop8 # 0: down to label0 + i32.load $push4=, 0($1) + i32.const $push5=, 10 + i32.ne $push6=, $pop4, $pop5 + br_if 0, $pop6 # 0: down to label0 # BB#1: # %if.end - i32.load $push9=, 12($7) - i32.const $push10=, 7 - i32.add $push11=, $pop9, $pop10 - i32.const $push12=, -8 - i32.and $push80=, $pop11, $pop12 - tee_local $push79=, $1=, $pop80 - i32.const $push13=, 8 - i32.add $push14=, $pop79, $pop13 - i32.store $discard=, 12($7), $pop14 - i64.load $push15=, 0($1) - i64.const $push16=, 10000000000 - i64.ne $push17=, $pop15, $pop16 + i32.const $push7=, 7 + i32.add $push8=, $2, $pop7 + i32.const $push9=, -8 + i32.and $push54=, $pop8, $pop9 + tee_local $push53=, $1=, $pop54 + i64.load $3=, 0($pop53) + i32.const $push10=, 8 + i32.add $push11=, $1, $pop10 + i32.store $2=, 12($7), $pop11 + i64.const $push12=, 10000000000 + i64.ne $push13=, $3, $pop12 + br_if 0, $pop13 # 0: down to label0 +# BB#2: # %if.end6 + i32.const $push14=, 12 + i32.add $push1=, $1, $pop14 + i32.store $1=, 12($7), $pop1 + i32.load $push15=, 0($2):p2align=3 + i32.const $push16=, 11 + i32.ne $push17=, $pop15, $pop16 br_if 0, $pop17 # 0: down to label0 -# BB#2: # %if.end4 - i32.load $push18=, 12($7) - i32.const $push19=, 3 - i32.add $push20=, $pop18, $pop19 - i32.const $push21=, -4 - i32.and $push82=, $pop20, $pop21 - tee_local $push81=, $1=, $pop82 - i32.const $push22=, 4 - i32.add $push23=, $pop81, $pop22 - i32.store $discard=, 12($7), $pop23 - i32.load $push24=, 0($1) - i32.const $push25=, 11 - i32.ne $push26=, $pop24, $pop25 - br_if 0, $pop26 # 0: down to label0 -# BB#3: # %if.end7 - i32.load $push27=, 12($7) - i32.const $push28=, 15 - i32.add $push29=, $pop27, $pop28 - i32.const $push30=, -16 - i32.and $push85=, $pop29, $pop30 - tee_local $push84=, $3=, $pop85 - i32.const $push31=, 8 - i32.or $push32=, $pop84, $pop31 - i32.store $1=, 12($7), $pop32 - i64.load $2=, 0($3) - i32.const $push83=, 8 - i32.add $push33=, $1, $pop83 - i32.store $discard=, 12($7), $pop33 - i64.load $push34=, 0($1) - i64.const $push36=, -1475739525896764129 - i64.const $push35=, 4611846459164112977 - i32.call $push37=, __eqtf2@FUNCTION, $2, $pop34, $pop36, $pop35 - br_if 0, $pop37 # 0: down to label0 -# BB#4: # %if.end10 - i32.load $push38=, 12($7) - i32.const $push90=, 3 - i32.add $push39=, $pop38, $pop90 - i32.const $push89=, -4 - i32.and $push88=, $pop39, $pop89 - tee_local $push87=, $1=, $pop88 - i32.const $push86=, 4 - i32.add $push40=, $pop87, $pop86 - i32.store $discard=, 12($7), $pop40 - i32.load $push41=, 0($1) - i32.const $push42=, 12 +# BB#3: # %if.end11 + i32.const $push18=, 15 + i32.add $push19=, $1, $pop18 + i32.const $push20=, -16 + i32.and $push56=, $pop19, $pop20 + tee_local $push55=, $1=, $pop56 + i64.load $3=, 8($pop55) + i64.load $4=, 0($1):p2align=4 + i32.const $push21=, 16 + i32.add $push22=, $1, $pop21 + i32.store $2=, 12($7), $pop22 + i64.const $push24=, -1475739525896764129 + i64.const $push23=, 4611846459164112977 + i32.call $push25=, __eqtf2@FUNCTION, $4, $3, $pop24, $pop23 + br_if 0, $pop25 # 0: down to label0 +# BB#4: # %if.end16 + i32.const $push26=, 20 + i32.add $push27=, $1, $pop26 + i32.store $5=, 12($7), $pop27 + i32.load $push28=, 0($2):p2align=4 + i32.const $push29=, 12 + i32.ne $push30=, $pop28, $pop29 + br_if 0, $pop30 # 0: down to label0 +# BB#5: # %if.end21 + i32.const $push31=, 24 + i32.add $push32=, $1, $pop31 + i32.store $2=, 12($7), $pop32 + i32.load $push33=, 0($5) + i32.const $push34=, 13 + i32.ne $push35=, $pop33, $pop34 + br_if 0, $pop35 # 0: down to label0 +# BB#6: # %if.end26 + i64.load $3=, 0($2) + i32.const $push36=, 32 + i32.add $push37=, $1, $pop36 + i32.store $2=, 12($7), $pop37 + i64.const $push38=, 20000000000 + i64.ne $push39=, $3, $pop38 + br_if 0, $pop39 # 0: down to label0 +# BB#7: # %if.end31 + i32.const $push40=, 36 + i32.add $push2=, $1, $pop40 + i32.store $1=, 12($7), $pop2 + i32.load $push41=, 0($2):p2align=4 + i32.const $push42=, 14 i32.ne $push43=, $pop41, $pop42 br_if 0, $pop43 # 0: down to label0 -# BB#5: # %if.end13 - i32.load $push44=, 12($7) - i32.const $push95=, 3 - i32.add $push45=, $pop44, $pop95 - i32.const $push94=, -4 - i32.and $push93=, $pop45, $pop94 - tee_local $push92=, $1=, $pop93 - i32.const $push91=, 4 - i32.add $push46=, $pop92, $pop91 - i32.store $discard=, 12($7), $pop46 - i32.load $push47=, 0($1) - i32.const $push48=, 13 - i32.ne $push49=, $pop47, $pop48 - br_if 0, $pop49 # 0: down to label0 -# BB#6: # %if.end16 - i32.load $push50=, 12($7) - i32.const $push51=, 7 - i32.add $push52=, $pop50, $pop51 - i32.const $push53=, -8 - i32.and $push97=, $pop52, $pop53 - tee_local $push96=, $1=, $pop97 - i32.const $push54=, 8 - i32.add $push55=, $pop96, $pop54 - i32.store $discard=, 12($7), $pop55 - i64.load $push56=, 0($1) - i64.const $push57=, 20000000000 - i64.ne $push58=, $pop56, $pop57 - br_if 0, $pop58 # 0: down to label0 -# BB#7: # %if.end19 - i32.load $push59=, 12($7) - i32.const $push60=, 3 - i32.add $push61=, $pop59, $pop60 - i32.const $push62=, -4 - i32.and $push99=, $pop61, $pop62 - tee_local $push98=, $1=, $pop99 - i32.const $push63=, 4 - i32.add $push64=, $pop98, $pop63 - i32.store $discard=, 12($7), $pop64 - i32.load $push65=, 0($1) - i32.const $push66=, 14 - i32.ne $push67=, $pop65, $pop66 - br_if 0, $pop67 # 0: down to label0 -# BB#8: # %if.end22 - i32.load $push68=, 12($7) - i32.const $push69=, 7 - i32.add $push70=, $pop68, $pop69 - i32.const $push71=, -8 - i32.and $push101=, $pop70, $pop71 - tee_local $push100=, $1=, $pop101 - i32.const $push72=, 8 - i32.add $push73=, $pop100, $pop72 - i32.store $discard=, 12($7), $pop73 - f64.load $push74=, 0($1) - f64.const $push75=, 0x1.5c28f5c28f5c3p1 - f64.ne $push76=, $pop74, $pop75 - br_if 0, $pop76 # 0: down to label0 -# BB#9: # %if.end25 - i32.const $6=, 16 - i32.add $7=, $7, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 +# BB#8: # %if.end36 + i32.const $push44=, 7 + i32.add $push45=, $1, $pop44 + i32.const $push46=, -8 + i32.and $push58=, $pop45, $pop46 + tee_local $push57=, $1=, $pop58 + f64.load $6=, 0($pop57) + i32.const $push47=, 8 + i32.add $push48=, $1, $pop47 + i32.store $discard=, 12($7), $pop48 + f64.const $push49=, 0x1.5c28f5c28f5c3p1 + f64.ne $push50=, $6, $pop49 + br_if 0, $pop50 # 0: down to label0 +# BB#9: # %if.end41 + i32.const $push63=, 16 + i32.add $7=, $7, $pop63 + i32.const $push64=, __stack_pointer + i32.store $discard=, 0($pop64), $7 return $1 -.LBB0_10: # %if.then24 +.LBB0_10: # %if.then40 end_block # label0: call abort@FUNCTION unreachable @@ -166,55 +126,53 @@ f: # @f .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $1=, __stack_pointer - i32.load $1=, 0($1) - i32.const $2=, 80 - i32.sub $3=, $1, $2 - i32.const $2=, __stack_pointer - i32.store $3=, 0($2), $3 + i32.const $push27=, __stack_pointer + i32.load $push28=, 0($pop27) + i32.const $push29=, 80 + i32.sub $1=, $pop28, $pop29 + i32.const $push30=, __stack_pointer + i32.store $discard=, 0($pop30), $1 i32.const $push0=, 64 - i32.add $push1=, $3, $pop0 + i32.add $push1=, $1, $pop0 i64.const $push2=, 4613307314293241283 i64.store $discard=, 0($pop1):p2align=4, $pop2 i32.const $push3=, 56 - i32.add $push4=, $3, $pop3 + i32.add $push4=, $1, $pop3 i32.const $push5=, 14 i32.store $discard=, 0($pop4):p2align=3, $pop5 i32.const $push6=, 48 - i32.add $push7=, $3, $pop6 + i32.add $push7=, $1, $pop6 i64.const $push8=, 20000000000 i64.store $discard=, 0($pop7):p2align=4, $pop8 i32.const $push9=, 44 - i32.add $push10=, $3, $pop9 + i32.add $push10=, $1, $pop9 i32.const $push11=, 13 i32.store $discard=, 0($pop10), $pop11 i32.const $push12=, 40 - i32.add $push13=, $3, $pop12 + i32.add $push13=, $1, $pop12 i32.const $push14=, 12 i32.store $discard=, 0($pop13):p2align=3, $pop14 i32.const $push15=, 32 - i32.add $push16=, $3, $pop15 + i32.add $push16=, $1, $pop15 i64.const $push17=, 4611846459164112977 i64.store $discard=, 0($pop16):p2align=4, $pop17 i32.const $push18=, 24 - i32.add $push19=, $3, $pop18 + i32.add $push19=, $1, $pop18 i64.const $push20=, -1475739525896764129 i64.store $discard=, 0($pop19), $pop20 i32.const $push21=, 16 - i32.add $push22=, $3, $pop21 + i32.add $push22=, $1, $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 + i64.const $push24=, 10000000000 + i64.store $discard=, 8($1), $pop24 + i32.const $push25=, 10 + i32.store $discard=, 0($1):p2align=4, $pop25 + i32.call $discard=, f@FUNCTION, $0, $1 + i32.const $push26=, 0 + call exit@FUNCTION, $pop26 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 1339ad79a..97b78efc8 100644 --- a/test/torture-s/va-arg-7.c.s +++ b/test/torture-s/va-arg-7.c.s @@ -6,63 +6,49 @@ .type debug,@function debug: # @debug .param i32, i32, i32, i32, i32, i32, i32, f64, f64, f64, f64, f64, f64, f64, f64, f64, i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $17=, __stack_pointer - i32.load $17=, 0($17) - i32.const $18=, 16 - i32.sub $20=, $17, $18 - i32.const $18=, __stack_pointer - i32.store $20=, 0($18), $20 - i32.store $push0=, 12($20), $16 - i32.const $push25=, 3 - i32.add $push1=, $pop0, $pop25 - i32.const $push24=, -4 - i32.and $push23=, $pop1, $pop24 - tee_local $push22=, $16=, $pop23 - i32.const $push21=, 4 - i32.add $push2=, $pop22, $pop21 - i32.store $discard=, 12($20), $pop2 + i32.const $push19=, __stack_pointer + i32.load $push20=, 0($pop19) + i32.const $push21=, 16 + i32.sub $18=, $pop20, $pop21 + i32.const $push22=, __stack_pointer + i32.store $discard=, 0($pop22), $18 + i32.store $push17=, 12($18), $16 + tee_local $push16=, $16=, $pop17 + i32.const $push0=, 4 + i32.add $push1=, $pop16, $pop0 + i32.store $17=, 12($18), $pop1 block - i32.load $push3=, 0($16) - i32.const $push4=, 8 - i32.ne $push5=, $pop3, $pop4 - br_if 0, $pop5 # 0: down to label0 + i32.load $push2=, 0($16) + i32.const $push15=, 8 + i32.ne $push3=, $pop2, $pop15 + br_if 0, $pop3 # 0: down to label0 # BB#1: # %if.end - i32.load $push6=, 12($20) - i32.const $push30=, 3 - i32.add $push7=, $pop6, $pop30 - i32.const $push29=, -4 - i32.and $push28=, $pop7, $pop29 - tee_local $push27=, $16=, $pop28 - i32.const $push26=, 4 - i32.add $push8=, $pop27, $pop26 - i32.store $discard=, 12($20), $pop8 - i32.load $push9=, 0($16) - i32.const $push10=, 9 - i32.ne $push11=, $pop9, $pop10 - br_if 0, $pop11 # 0: down to label0 -# BB#2: # %if.end4 - i32.load $push12=, 12($20) - i32.const $push13=, 3 - i32.add $push14=, $pop12, $pop13 - i32.const $push15=, -4 - i32.and $push32=, $pop14, $pop15 - tee_local $push31=, $16=, $pop32 - i32.const $push16=, 4 - i32.add $push17=, $pop31, $pop16 - i32.store $discard=, 12($20), $pop17 - i32.load $push18=, 0($16) - i32.const $push19=, 10 - i32.ne $push20=, $pop18, $pop19 - br_if 0, $pop20 # 0: down to label0 -# BB#3: # %if.end7 - i32.const $19=, 16 - i32.add $20=, $20, $19 - i32.const $19=, __stack_pointer - i32.store $20=, 0($19), $20 + i32.const $push18=, 8 + i32.add $push4=, $16, $pop18 + i32.store $discard=, 12($18), $pop4 + i32.load $push5=, 0($17) + i32.const $push6=, 9 + i32.ne $push7=, $pop5, $pop6 + br_if 0, $pop7 # 0: down to label0 +# BB#2: # %if.end6 + i32.const $push8=, 12 + i32.add $push9=, $16, $pop8 + i32.store $discard=, 12($18), $pop9 + i32.const $push10=, 8 + i32.add $push11=, $16, $pop10 + i32.load $push12=, 0($pop11) + i32.const $push13=, 10 + i32.ne $push14=, $pop12, $pop13 + br_if 0, $pop14 # 0: down to label0 +# BB#3: # %if.end11 + i32.const $push23=, 16 + i32.add $18=, $18, $pop23 + i32.const $push24=, __stack_pointer + i32.store $discard=, 0($pop24), $18 return -.LBB0_4: # %if.then6 +.LBB0_4: # %if.then10 end_block # label0: call abort@FUNCTION unreachable @@ -76,23 +62,21 @@ debug: # @debug .type main,@function main: # @main .result i32 - .local i32, f64, i32, i32, i32 + .local i32, f64, i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 16 - i32.sub $4=, $2, $3 - i32.const $3=, __stack_pointer - i32.store $4=, 0($3), $4 - i32.const $push0=, 8 - i32.or $push1=, $4, $pop0 - i32.const $push2=, 10 - 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 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $2=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $2 + i32.const $push0=, 10 + i32.store $discard=, 8($2):p2align=3, $pop0 + i64.const $push1=, 38654705672 + i64.store $discard=, 0($2):p2align=4, $pop1 + call debug@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $1, $1, $1, $1, $1, $1, $1, $1, $1, $2 + i32.const $push2=, 0 + call exit@FUNCTION, $pop2 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 0225d6106..4efbc70fe 100644 --- a/test/torture-s/va-arg-8.c.s +++ b/test/torture-s/va-arg-8.c.s @@ -6,49 +6,44 @@ .type debug,@function debug: # @debug .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32 + .local i32, i64, i32 # BB#0: # %entry - i32.const $10=, __stack_pointer - i32.load $10=, 0($10) - i32.const $11=, 16 - i32.sub $13=, $10, $11 - i32.const $11=, __stack_pointer - i32.store $13=, 0($11), $13 - i32.store $push0=, 12($13), $9 - i32.const $push1=, 3 - i32.add $push2=, $pop0, $pop1 - i32.const $push3=, -4 - i32.and $push19=, $pop2, $pop3 - tee_local $push18=, $9=, $pop19 - i32.const $push4=, 4 - i32.add $push5=, $pop18, $pop4 - i32.store $discard=, 12($13), $pop5 + i32.const $push16=, __stack_pointer + i32.load $push17=, 0($pop16) + i32.const $push18=, 16 + i32.sub $12=, $pop17, $pop18 + i32.const $push19=, __stack_pointer + i32.store $discard=, 0($pop19), $12 + i32.store $push13=, 12($12), $9 + tee_local $push12=, $9=, $pop13 + i32.const $push1=, 4 + i32.add $push0=, $pop12, $pop1 + i32.store $10=, 12($12), $pop0 block - i32.load $push6=, 0($9) - i32.const $push7=, 10 - i32.ne $push8=, $pop6, $pop7 - br_if 0, $pop8 # 0: down to label0 + i32.load $push2=, 0($9) + i32.const $push3=, 10 + i32.ne $push4=, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label0 # BB#1: # %if.end - i32.load $push9=, 12($13) - i32.const $push10=, 7 - i32.add $push11=, $pop9, $pop10 - i32.const $push12=, -8 - i32.and $push21=, $pop11, $pop12 - tee_local $push20=, $9=, $pop21 - i32.const $push13=, 8 - i32.add $push14=, $pop20, $pop13 - i32.store $discard=, 12($13), $pop14 - i64.load $push15=, 0($9) - i64.const $push16=, 20014547621496 - i64.ne $push17=, $pop15, $pop16 - br_if 0, $pop17 # 0: down to label0 -# BB#2: # %if.end4 - i32.const $12=, 16 - i32.add $13=, $13, $12 - i32.const $12=, __stack_pointer - i32.store $13=, 0($12), $13 + i32.const $push5=, 7 + i32.add $push6=, $10, $pop5 + i32.const $push7=, -8 + i32.and $push15=, $pop6, $pop7 + tee_local $push14=, $9=, $pop15 + i64.load $11=, 0($pop14) + i32.const $push8=, 8 + i32.add $push9=, $9, $pop8 + i32.store $discard=, 12($12), $pop9 + i64.const $push10=, 20014547621496 + i64.ne $push11=, $11, $pop10 + br_if 0, $pop11 # 0: down to label0 +# BB#2: # %if.end6 + i32.const $push20=, 16 + i32.add $12=, $12, $pop20 + i32.const $push21=, __stack_pointer + i32.store $discard=, 0($pop21), $12 return -.LBB0_3: # %if.then3 +.LBB0_3: # %if.then5 end_block # label0: call abort@FUNCTION unreachable @@ -62,23 +57,21 @@ debug: # @debug .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($2), $3 - i32.const $push0=, 8 - i32.or $push1=, $3, $pop0 - i64.const $push2=, 20014547621496 - 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 + i32.const $push3=, __stack_pointer + i32.load $push4=, 0($pop3) + i32.const $push5=, 16 + i32.sub $1=, $pop4, $pop5 + i32.const $push6=, __stack_pointer + i32.store $discard=, 0($pop6), $1 + i64.const $push0=, 20014547621496 + i64.store $discard=, 8($1), $pop0 + i32.const $push1=, 10 + i32.store $discard=, 0($1):p2align=4, $pop1 + call debug@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $1 + i32.const $push2=, 0 + call exit@FUNCTION, $pop2 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 e0f2702db..efbf33740 100644 --- a/test/torture-s/va-arg-9.c.s +++ b/test/torture-s/va-arg-9.c.s @@ -29,63 +29,45 @@ to_hex: # @to_hex .type fap,@function fap: # @fap .param i32, i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $3=, __stack_pointer - i32.load $3=, 0($3) - i32.const $4=, 16 - i32.sub $6=, $3, $4 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - i32.store $discard=, 12($6), $2 block i32.call $push0=, strlen@FUNCTION, $1 - i32.const $push9=, 16 - i32.sub $push1=, $pop9, $0 + i32.const $push6=, 16 + i32.sub $push1=, $pop6, $0 i32.ne $push2=, $pop0, $pop1 br_if 0, $pop2 # 0: down to label1 .LBB1_1: # %while.cond # =>This Inner Loop Header: Depth=1 block loop # label3: - i32.load8_u $push11=, 0($1) - tee_local $push10=, $0=, $pop11 - i32.const $push21=, 0 - i32.eq $push22=, $pop10, $pop21 - br_if 2, $pop22 # 2: down to label2 + i32.load8_u $push8=, 0($1) + tee_local $push7=, $0=, $pop8 + i32.const $push14=, 0 + i32.eq $push15=, $pop7, $pop14 + br_if 2, $pop15 # 2: down to label2 # BB#2: # %while.body # in Loop: Header=BB1_1 Depth=1 - i32.load $push3=, 12($6) - i32.const $push19=, 3 - i32.add $push4=, $pop3, $pop19 - i32.const $push18=, -4 - i32.and $push17=, $pop4, $pop18 - tee_local $push16=, $2=, $pop17 - i32.const $push15=, 4 - i32.add $push5=, $pop16, $pop15 - i32.store $discard=, 12($6), $pop5 - i32.load $push14=, 0($2) - tee_local $push13=, $2=, $pop14 - i32.const $push12=, 16 - i32.ge_u $push6=, $pop13, $pop12 - br_if 3, $pop6 # 3: down to label1 + i32.load $push11=, 0($2) + tee_local $push10=, $3=, $pop11 + i32.const $push9=, 16 + i32.ge_u $push3=, $pop10, $pop9 + br_if 3, $pop3 # 3: down to label1 # BB#3: # %to_hex.exit # in Loop: Header=BB1_1 Depth=1 - i32.const $push20=, 1 - i32.add $1=, $1, $pop20 - i32.load8_u $push7=, .L.str($2) - i32.eq $push8=, $0, $pop7 - br_if 0, $pop8 # 0: up to label3 + i32.const $push13=, 4 + i32.add $2=, $2, $pop13 + i32.const $push12=, 1 + i32.add $1=, $1, $pop12 + i32.load8_u $push4=, .L.str($3) + i32.eq $push5=, $0, $pop4 + br_if 0, $pop5 # 0: up to label3 # BB#4: # %if.then4 end_loop # label4: call abort@FUNCTION unreachable .LBB1_5: # %while.end end_block # label2: - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 return .LBB1_6: # %if.then.i end_block # label1: @@ -101,65 +83,59 @@ fap: # @fap .type f0,@function f0: # @f0 .param i32, i32 - .local i32, i32, i32, i32, i32 + .local 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 - i32.const $4=, __stack_pointer - i32.store $6=, 0($4), $6 - i32.store $push0=, 8($6), $1 - i32.store $discard=, 12($6), $pop0 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $4=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $4 + i32.store $discard=, 12($4), $1 block - i32.call $push1=, strlen@FUNCTION, $0 - i32.const $push9=, 16 - i32.ne $push2=, $pop1, $pop9 - br_if 0, $pop2 # 0: down to label5 -.LBB2_1: # %while.cond.i + i32.call $push0=, strlen@FUNCTION, $0 + i32.const $push5=, 16 + i32.ne $push1=, $pop0, $pop5 + br_if 0, $pop1 # 0: down to label5 +# BB#1: # %while.cond.i.preheader + i32.load $1=, 12($4) +.LBB2_2: # %while.cond.i # =>This Inner Loop Header: Depth=1 block loop # label7: - i32.load8_u $push11=, 0($0) - tee_local $push10=, $1=, $pop11 - i32.const $push21=, 0 - i32.eq $push22=, $pop10, $pop21 - br_if 2, $pop22 # 2: down to label6 -# BB#2: # %while.body.i - # in Loop: Header=BB2_1 Depth=1 - i32.load $push3=, 12($6) - i32.const $push19=, 3 - i32.add $push4=, $pop3, $pop19 - i32.const $push18=, -4 - i32.and $push17=, $pop4, $pop18 - tee_local $push16=, $2=, $pop17 - i32.const $push15=, 4 - i32.add $push5=, $pop16, $pop15 - i32.store $discard=, 12($6), $pop5 - i32.load $push14=, 0($2) - tee_local $push13=, $2=, $pop14 - i32.const $push12=, 16 - i32.ge_u $push6=, $pop13, $pop12 - br_if 3, $pop6 # 3: down to label5 -# BB#3: # %to_hex.exit.i - # in Loop: Header=BB2_1 Depth=1 - i32.const $push20=, 1 - i32.add $0=, $0, $pop20 - i32.load8_u $push7=, .L.str($2) - i32.eq $push8=, $1, $pop7 - br_if 0, $pop8 # 0: up to label7 -# BB#4: # %if.then4.i + i32.load8_u $push7=, 0($0) + tee_local $push6=, $2=, $pop7 + i32.const $push19=, 0 + i32.eq $push20=, $pop6, $pop19 + br_if 2, $pop20 # 2: down to label6 +# BB#3: # %while.body.i + # in Loop: Header=BB2_2 Depth=1 + i32.load $push10=, 0($1) + tee_local $push9=, $3=, $pop10 + i32.const $push8=, 16 + i32.ge_u $push2=, $pop9, $pop8 + br_if 3, $pop2 # 3: down to label5 +# BB#4: # %to_hex.exit.i + # in Loop: Header=BB2_2 Depth=1 + i32.const $push12=, 4 + i32.add $1=, $1, $pop12 + i32.const $push11=, 1 + i32.add $0=, $0, $pop11 + i32.load8_u $push3=, .L.str($3) + i32.eq $push4=, $2, $pop3 + br_if 0, $pop4 # 0: up to label7 +# BB#5: # %if.then4.i end_loop # label8: call abort@FUNCTION unreachable -.LBB2_5: # %fap.exit +.LBB2_6: # %fap.exit end_block # label6: - i32.const $5=, 16 - i32.add $6=, $6, $5 - i32.const $5=, __stack_pointer - i32.store $6=, 0($5), $6 + i32.const $push17=, 16 + i32.add $4=, $4, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $4 return -.LBB2_6: # %if.then.i.i +.LBB2_7: # %if.then.i.i end_block # label5: call abort@FUNCTION unreachable @@ -173,65 +149,59 @@ f0: # @f0 .type f1,@function f1: # @f1 .param i32, i32, i32 - .local 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 $7=, $4, $5 - i32.const $5=, __stack_pointer - i32.store $7=, 0($5), $7 - i32.store $push0=, 8($7), $2 - i32.store $discard=, 12($7), $pop0 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $5=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $5 + i32.store $discard=, 12($5), $2 block - i32.call $push1=, strlen@FUNCTION, $1 - i32.const $push2=, 15 - i32.ne $push3=, $pop1, $pop2 - br_if 0, $pop3 # 0: down to label9 -.LBB3_1: # %while.cond.i + i32.call $push0=, strlen@FUNCTION, $1 + i32.const $push1=, 15 + i32.ne $push2=, $pop0, $pop1 + br_if 0, $pop2 # 0: down to label9 +# BB#1: # %while.cond.i.preheader + i32.load $2=, 12($5) +.LBB3_2: # %while.cond.i # =>This Inner Loop Header: Depth=1 block loop # label11: - i32.load8_u $push11=, 0($1) - tee_local $push10=, $2=, $pop11 - i32.const $push21=, 0 - i32.eq $push22=, $pop10, $pop21 - br_if 2, $pop22 # 2: down to label10 -# BB#2: # %while.body.i - # in Loop: Header=BB3_1 Depth=1 - i32.load $push4=, 12($7) - i32.const $push19=, 3 - i32.add $push5=, $pop4, $pop19 - i32.const $push18=, -4 - i32.and $push17=, $pop5, $pop18 - tee_local $push16=, $3=, $pop17 - i32.const $push15=, 4 - i32.add $push6=, $pop16, $pop15 - i32.store $discard=, 12($7), $pop6 - i32.load $push14=, 0($3) - tee_local $push13=, $3=, $pop14 - i32.const $push12=, 16 - i32.ge_u $push7=, $pop13, $pop12 - br_if 3, $pop7 # 3: down to label9 -# BB#3: # %to_hex.exit.i - # in Loop: Header=BB3_1 Depth=1 - i32.const $push20=, 1 - i32.add $1=, $1, $pop20 - i32.load8_u $push8=, .L.str($3) - i32.eq $push9=, $2, $pop8 - br_if 0, $pop9 # 0: up to label11 -# BB#4: # %if.then4.i + i32.load8_u $push7=, 0($1) + tee_local $push6=, $3=, $pop7 + i32.const $push19=, 0 + i32.eq $push20=, $pop6, $pop19 + br_if 2, $pop20 # 2: down to label10 +# BB#3: # %while.body.i + # in Loop: Header=BB3_2 Depth=1 + i32.load $push10=, 0($2) + tee_local $push9=, $4=, $pop10 + i32.const $push8=, 16 + i32.ge_u $push3=, $pop9, $pop8 + br_if 3, $pop3 # 3: down to label9 +# BB#4: # %to_hex.exit.i + # in Loop: Header=BB3_2 Depth=1 + i32.const $push12=, 4 + i32.add $2=, $2, $pop12 + i32.const $push11=, 1 + i32.add $1=, $1, $pop11 + i32.load8_u $push4=, .L.str($4) + i32.eq $push5=, $3, $pop4 + br_if 0, $pop5 # 0: up to label11 +# BB#5: # %if.then4.i end_loop # label12: call abort@FUNCTION unreachable -.LBB3_5: # %fap.exit +.LBB3_6: # %fap.exit end_block # label10: - i32.const $6=, 16 - i32.add $7=, $7, $6 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $7 + i32.const $push17=, 16 + i32.add $5=, $5, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $5 return -.LBB3_6: # %if.then.i.i +.LBB3_7: # %if.then.i.i end_block # label9: call abort@FUNCTION unreachable @@ -245,65 +215,59 @@ f1: # @f1 .type f2,@function f2: # @f2 .param i32, i32, i32, i32 - .local 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=, 16 - i32.sub $8=, $5, $6 - i32.const $6=, __stack_pointer - i32.store $8=, 0($6), $8 - i32.store $push0=, 8($8), $3 - i32.store $discard=, 12($8), $pop0 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $6=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $6 + i32.store $discard=, 12($6), $3 block - i32.call $push1=, strlen@FUNCTION, $2 - i32.const $push2=, 14 - i32.ne $push3=, $pop1, $pop2 - br_if 0, $pop3 # 0: down to label13 -.LBB4_1: # %while.cond.i + i32.call $push0=, strlen@FUNCTION, $2 + i32.const $push1=, 14 + i32.ne $push2=, $pop0, $pop1 + br_if 0, $pop2 # 0: down to label13 +# BB#1: # %while.cond.i.preheader + i32.load $3=, 12($6) +.LBB4_2: # %while.cond.i # =>This Inner Loop Header: Depth=1 block loop # label15: - i32.load8_u $push11=, 0($2) - tee_local $push10=, $3=, $pop11 - i32.const $push21=, 0 - i32.eq $push22=, $pop10, $pop21 - br_if 2, $pop22 # 2: down to label14 -# BB#2: # %while.body.i - # in Loop: Header=BB4_1 Depth=1 - i32.load $push4=, 12($8) - i32.const $push19=, 3 - i32.add $push5=, $pop4, $pop19 - i32.const $push18=, -4 - i32.and $push17=, $pop5, $pop18 - tee_local $push16=, $4=, $pop17 - i32.const $push15=, 4 - i32.add $push6=, $pop16, $pop15 - i32.store $discard=, 12($8), $pop6 - i32.load $push14=, 0($4) - tee_local $push13=, $4=, $pop14 - i32.const $push12=, 16 - i32.ge_u $push7=, $pop13, $pop12 - br_if 3, $pop7 # 3: down to label13 -# BB#3: # %to_hex.exit.i - # in Loop: Header=BB4_1 Depth=1 - i32.const $push20=, 1 - i32.add $2=, $2, $pop20 - i32.load8_u $push8=, .L.str($4) - i32.eq $push9=, $3, $pop8 - br_if 0, $pop9 # 0: up to label15 -# BB#4: # %if.then4.i + i32.load8_u $push7=, 0($2) + tee_local $push6=, $4=, $pop7 + i32.const $push19=, 0 + i32.eq $push20=, $pop6, $pop19 + br_if 2, $pop20 # 2: down to label14 +# BB#3: # %while.body.i + # in Loop: Header=BB4_2 Depth=1 + i32.load $push10=, 0($3) + tee_local $push9=, $5=, $pop10 + i32.const $push8=, 16 + i32.ge_u $push3=, $pop9, $pop8 + br_if 3, $pop3 # 3: down to label13 +# BB#4: # %to_hex.exit.i + # in Loop: Header=BB4_2 Depth=1 + i32.const $push12=, 4 + i32.add $3=, $3, $pop12 + i32.const $push11=, 1 + i32.add $2=, $2, $pop11 + i32.load8_u $push4=, .L.str($5) + i32.eq $push5=, $4, $pop4 + br_if 0, $pop5 # 0: up to label15 +# BB#5: # %if.then4.i end_loop # label16: call abort@FUNCTION unreachable -.LBB4_5: # %fap.exit +.LBB4_6: # %fap.exit end_block # label14: - i32.const $7=, 16 - i32.add $8=, $8, $7 - i32.const $7=, __stack_pointer - i32.store $8=, 0($7), $8 + i32.const $push17=, 16 + i32.add $6=, $6, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $6 return -.LBB4_6: # %if.then.i.i +.LBB4_7: # %if.then.i.i end_block # label13: call abort@FUNCTION unreachable @@ -317,65 +281,59 @@ f2: # @f2 .type f3,@function f3: # @f3 .param i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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.store $push0=, 8($9), $4 - i32.store $discard=, 12($9), $pop0 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $7=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $7 + i32.store $discard=, 12($7), $4 block - i32.call $push1=, strlen@FUNCTION, $3 - i32.const $push2=, 13 - i32.ne $push3=, $pop1, $pop2 - br_if 0, $pop3 # 0: down to label17 -.LBB5_1: # %while.cond.i + i32.call $push0=, strlen@FUNCTION, $3 + i32.const $push1=, 13 + i32.ne $push2=, $pop0, $pop1 + br_if 0, $pop2 # 0: down to label17 +# BB#1: # %while.cond.i.preheader + i32.load $4=, 12($7) +.LBB5_2: # %while.cond.i # =>This Inner Loop Header: Depth=1 block loop # label19: - i32.load8_u $push11=, 0($3) - tee_local $push10=, $4=, $pop11 - i32.const $push21=, 0 - i32.eq $push22=, $pop10, $pop21 - br_if 2, $pop22 # 2: down to label18 -# BB#2: # %while.body.i - # in Loop: Header=BB5_1 Depth=1 - i32.load $push4=, 12($9) - i32.const $push19=, 3 - i32.add $push5=, $pop4, $pop19 - i32.const $push18=, -4 - i32.and $push17=, $pop5, $pop18 - tee_local $push16=, $5=, $pop17 - i32.const $push15=, 4 - i32.add $push6=, $pop16, $pop15 - i32.store $discard=, 12($9), $pop6 - i32.load $push14=, 0($5) - tee_local $push13=, $5=, $pop14 - i32.const $push12=, 16 - i32.ge_u $push7=, $pop13, $pop12 - br_if 3, $pop7 # 3: down to label17 -# BB#3: # %to_hex.exit.i - # in Loop: Header=BB5_1 Depth=1 - i32.const $push20=, 1 - i32.add $3=, $3, $pop20 - i32.load8_u $push8=, .L.str($5) - i32.eq $push9=, $4, $pop8 - br_if 0, $pop9 # 0: up to label19 -# BB#4: # %if.then4.i + i32.load8_u $push7=, 0($3) + tee_local $push6=, $5=, $pop7 + i32.const $push19=, 0 + i32.eq $push20=, $pop6, $pop19 + br_if 2, $pop20 # 2: down to label18 +# BB#3: # %while.body.i + # in Loop: Header=BB5_2 Depth=1 + i32.load $push10=, 0($4) + tee_local $push9=, $6=, $pop10 + i32.const $push8=, 16 + i32.ge_u $push3=, $pop9, $pop8 + br_if 3, $pop3 # 3: down to label17 +# BB#4: # %to_hex.exit.i + # in Loop: Header=BB5_2 Depth=1 + i32.const $push12=, 4 + i32.add $4=, $4, $pop12 + i32.const $push11=, 1 + i32.add $3=, $3, $pop11 + i32.load8_u $push4=, .L.str($6) + i32.eq $push5=, $5, $pop4 + br_if 0, $pop5 # 0: up to label19 +# BB#5: # %if.then4.i end_loop # label20: call abort@FUNCTION unreachable -.LBB5_5: # %fap.exit +.LBB5_6: # %fap.exit end_block # label18: - i32.const $8=, 16 - i32.add $9=, $9, $8 - i32.const $8=, __stack_pointer - i32.store $9=, 0($8), $9 + i32.const $push17=, 16 + i32.add $7=, $7, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $7 return -.LBB5_6: # %if.then.i.i +.LBB5_7: # %if.then.i.i end_block # label17: call abort@FUNCTION unreachable @@ -389,65 +347,59 @@ f3: # @f3 .type f4,@function f4: # @f4 .param i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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.store $push0=, 8($10), $5 - i32.store $discard=, 12($10), $pop0 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $8=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $8 + i32.store $discard=, 12($8), $5 block - i32.call $push1=, strlen@FUNCTION, $4 - i32.const $push2=, 12 - i32.ne $push3=, $pop1, $pop2 - br_if 0, $pop3 # 0: down to label21 -.LBB6_1: # %while.cond.i + i32.call $push0=, strlen@FUNCTION, $4 + i32.const $push1=, 12 + i32.ne $push2=, $pop0, $pop1 + br_if 0, $pop2 # 0: down to label21 +# BB#1: # %while.cond.i.preheader + i32.load $5=, 12($8) +.LBB6_2: # %while.cond.i # =>This Inner Loop Header: Depth=1 block loop # label23: - i32.load8_u $push11=, 0($4) - tee_local $push10=, $5=, $pop11 - i32.const $push21=, 0 - i32.eq $push22=, $pop10, $pop21 - br_if 2, $pop22 # 2: down to label22 -# BB#2: # %while.body.i - # in Loop: Header=BB6_1 Depth=1 - i32.load $push4=, 12($10) - i32.const $push19=, 3 - i32.add $push5=, $pop4, $pop19 - i32.const $push18=, -4 - i32.and $push17=, $pop5, $pop18 - tee_local $push16=, $6=, $pop17 - i32.const $push15=, 4 - i32.add $push6=, $pop16, $pop15 - i32.store $discard=, 12($10), $pop6 - i32.load $push14=, 0($6) - tee_local $push13=, $6=, $pop14 - i32.const $push12=, 16 - i32.ge_u $push7=, $pop13, $pop12 - br_if 3, $pop7 # 3: down to label21 -# BB#3: # %to_hex.exit.i - # in Loop: Header=BB6_1 Depth=1 - i32.const $push20=, 1 - i32.add $4=, $4, $pop20 - i32.load8_u $push8=, .L.str($6) - i32.eq $push9=, $5, $pop8 - br_if 0, $pop9 # 0: up to label23 -# BB#4: # %if.then4.i + i32.load8_u $push7=, 0($4) + tee_local $push6=, $6=, $pop7 + i32.const $push19=, 0 + i32.eq $push20=, $pop6, $pop19 + br_if 2, $pop20 # 2: down to label22 +# BB#3: # %while.body.i + # in Loop: Header=BB6_2 Depth=1 + i32.load $push10=, 0($5) + tee_local $push9=, $7=, $pop10 + i32.const $push8=, 16 + i32.ge_u $push3=, $pop9, $pop8 + br_if 3, $pop3 # 3: down to label21 +# BB#4: # %to_hex.exit.i + # in Loop: Header=BB6_2 Depth=1 + i32.const $push12=, 4 + i32.add $5=, $5, $pop12 + i32.const $push11=, 1 + i32.add $4=, $4, $pop11 + i32.load8_u $push4=, .L.str($7) + i32.eq $push5=, $6, $pop4 + br_if 0, $pop5 # 0: up to label23 +# BB#5: # %if.then4.i end_loop # label24: call abort@FUNCTION unreachable -.LBB6_5: # %fap.exit +.LBB6_6: # %fap.exit end_block # label22: - i32.const $9=, 16 - i32.add $10=, $10, $9 - i32.const $9=, __stack_pointer - i32.store $10=, 0($9), $10 + i32.const $push17=, 16 + i32.add $8=, $8, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $8 return -.LBB6_6: # %if.then.i.i +.LBB6_7: # %if.then.i.i end_block # label21: call abort@FUNCTION unreachable @@ -461,65 +413,59 @@ f4: # @f4 .type f5,@function f5: # @f5 .param i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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.store $push0=, 8($11), $6 - i32.store $discard=, 12($11), $pop0 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $9=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $9 + i32.store $discard=, 12($9), $6 block - i32.call $push1=, strlen@FUNCTION, $5 - i32.const $push2=, 11 - i32.ne $push3=, $pop1, $pop2 - br_if 0, $pop3 # 0: down to label25 -.LBB7_1: # %while.cond.i + i32.call $push0=, strlen@FUNCTION, $5 + i32.const $push1=, 11 + i32.ne $push2=, $pop0, $pop1 + br_if 0, $pop2 # 0: down to label25 +# BB#1: # %while.cond.i.preheader + i32.load $6=, 12($9) +.LBB7_2: # %while.cond.i # =>This Inner Loop Header: Depth=1 block loop # label27: - i32.load8_u $push11=, 0($5) - tee_local $push10=, $6=, $pop11 - i32.const $push21=, 0 - i32.eq $push22=, $pop10, $pop21 - br_if 2, $pop22 # 2: down to label26 -# BB#2: # %while.body.i - # in Loop: Header=BB7_1 Depth=1 - i32.load $push4=, 12($11) - i32.const $push19=, 3 - i32.add $push5=, $pop4, $pop19 - i32.const $push18=, -4 - i32.and $push17=, $pop5, $pop18 - tee_local $push16=, $7=, $pop17 - i32.const $push15=, 4 - i32.add $push6=, $pop16, $pop15 - i32.store $discard=, 12($11), $pop6 - i32.load $push14=, 0($7) - tee_local $push13=, $7=, $pop14 - i32.const $push12=, 16 - i32.ge_u $push7=, $pop13, $pop12 - br_if 3, $pop7 # 3: down to label25 -# BB#3: # %to_hex.exit.i - # in Loop: Header=BB7_1 Depth=1 - i32.const $push20=, 1 - i32.add $5=, $5, $pop20 - i32.load8_u $push8=, .L.str($7) - i32.eq $push9=, $6, $pop8 - br_if 0, $pop9 # 0: up to label27 -# BB#4: # %if.then4.i + i32.load8_u $push7=, 0($5) + tee_local $push6=, $7=, $pop7 + i32.const $push19=, 0 + i32.eq $push20=, $pop6, $pop19 + br_if 2, $pop20 # 2: down to label26 +# BB#3: # %while.body.i + # in Loop: Header=BB7_2 Depth=1 + i32.load $push10=, 0($6) + tee_local $push9=, $8=, $pop10 + i32.const $push8=, 16 + i32.ge_u $push3=, $pop9, $pop8 + br_if 3, $pop3 # 3: down to label25 +# BB#4: # %to_hex.exit.i + # in Loop: Header=BB7_2 Depth=1 + i32.const $push12=, 4 + i32.add $6=, $6, $pop12 + i32.const $push11=, 1 + i32.add $5=, $5, $pop11 + i32.load8_u $push4=, .L.str($8) + i32.eq $push5=, $7, $pop4 + br_if 0, $pop5 # 0: up to label27 +# BB#5: # %if.then4.i end_loop # label28: call abort@FUNCTION unreachable -.LBB7_5: # %fap.exit +.LBB7_6: # %fap.exit end_block # label26: - i32.const $10=, 16 - i32.add $11=, $11, $10 - i32.const $10=, __stack_pointer - i32.store $11=, 0($10), $11 + i32.const $push17=, 16 + i32.add $9=, $9, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $9 return -.LBB7_6: # %if.then.i.i +.LBB7_7: # %if.then.i.i end_block # label25: call abort@FUNCTION unreachable @@ -533,65 +479,59 @@ f5: # @f5 .type f6,@function f6: # @f6 .param i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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.store $push0=, 8($12), $7 - i32.store $discard=, 12($12), $pop0 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $10=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $10 + i32.store $discard=, 12($10), $7 block - i32.call $push1=, strlen@FUNCTION, $6 - i32.const $push2=, 10 - i32.ne $push3=, $pop1, $pop2 - br_if 0, $pop3 # 0: down to label29 -.LBB8_1: # %while.cond.i + i32.call $push0=, strlen@FUNCTION, $6 + i32.const $push1=, 10 + i32.ne $push2=, $pop0, $pop1 + br_if 0, $pop2 # 0: down to label29 +# BB#1: # %while.cond.i.preheader + i32.load $7=, 12($10) +.LBB8_2: # %while.cond.i # =>This Inner Loop Header: Depth=1 block loop # label31: - i32.load8_u $push11=, 0($6) - tee_local $push10=, $7=, $pop11 - i32.const $push21=, 0 - i32.eq $push22=, $pop10, $pop21 - br_if 2, $pop22 # 2: down to label30 -# BB#2: # %while.body.i - # in Loop: Header=BB8_1 Depth=1 - i32.load $push4=, 12($12) - i32.const $push19=, 3 - i32.add $push5=, $pop4, $pop19 - i32.const $push18=, -4 - i32.and $push17=, $pop5, $pop18 - tee_local $push16=, $8=, $pop17 - i32.const $push15=, 4 - i32.add $push6=, $pop16, $pop15 - i32.store $discard=, 12($12), $pop6 - i32.load $push14=, 0($8) - tee_local $push13=, $8=, $pop14 - i32.const $push12=, 16 - i32.ge_u $push7=, $pop13, $pop12 - br_if 3, $pop7 # 3: down to label29 -# BB#3: # %to_hex.exit.i - # in Loop: Header=BB8_1 Depth=1 - i32.const $push20=, 1 - i32.add $6=, $6, $pop20 - i32.load8_u $push8=, .L.str($8) - i32.eq $push9=, $7, $pop8 - br_if 0, $pop9 # 0: up to label31 -# BB#4: # %if.then4.i + i32.load8_u $push7=, 0($6) + tee_local $push6=, $8=, $pop7 + i32.const $push19=, 0 + i32.eq $push20=, $pop6, $pop19 + br_if 2, $pop20 # 2: down to label30 +# BB#3: # %while.body.i + # in Loop: Header=BB8_2 Depth=1 + i32.load $push10=, 0($7) + tee_local $push9=, $9=, $pop10 + i32.const $push8=, 16 + i32.ge_u $push3=, $pop9, $pop8 + br_if 3, $pop3 # 3: down to label29 +# BB#4: # %to_hex.exit.i + # in Loop: Header=BB8_2 Depth=1 + i32.const $push12=, 4 + i32.add $7=, $7, $pop12 + i32.const $push11=, 1 + i32.add $6=, $6, $pop11 + i32.load8_u $push4=, .L.str($9) + i32.eq $push5=, $8, $pop4 + br_if 0, $pop5 # 0: up to label31 +# BB#5: # %if.then4.i end_loop # label32: call abort@FUNCTION unreachable -.LBB8_5: # %fap.exit +.LBB8_6: # %fap.exit end_block # label30: - i32.const $11=, 16 - i32.add $12=, $12, $11 - i32.const $11=, __stack_pointer - i32.store $12=, 0($11), $12 + i32.const $push17=, 16 + i32.add $10=, $10, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $10 return -.LBB8_6: # %if.then.i.i +.LBB8_7: # %if.then.i.i end_block # label29: call abort@FUNCTION unreachable @@ -605,65 +545,59 @@ f6: # @f6 .type f7,@function f7: # @f7 .param i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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 - i32.const $11=, __stack_pointer - i32.store $13=, 0($11), $13 - i32.store $push0=, 8($13), $8 - i32.store $discard=, 12($13), $pop0 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $11=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $11 + i32.store $discard=, 12($11), $8 block - i32.call $push1=, strlen@FUNCTION, $7 - i32.const $push2=, 9 - i32.ne $push3=, $pop1, $pop2 - br_if 0, $pop3 # 0: down to label33 -.LBB9_1: # %while.cond.i + i32.call $push0=, strlen@FUNCTION, $7 + i32.const $push1=, 9 + i32.ne $push2=, $pop0, $pop1 + br_if 0, $pop2 # 0: down to label33 +# BB#1: # %while.cond.i.preheader + i32.load $8=, 12($11) +.LBB9_2: # %while.cond.i # =>This Inner Loop Header: Depth=1 block loop # label35: - i32.load8_u $push11=, 0($7) - tee_local $push10=, $8=, $pop11 - i32.const $push21=, 0 - i32.eq $push22=, $pop10, $pop21 - br_if 2, $pop22 # 2: down to label34 -# BB#2: # %while.body.i - # in Loop: Header=BB9_1 Depth=1 - i32.load $push4=, 12($13) - i32.const $push19=, 3 - i32.add $push5=, $pop4, $pop19 - i32.const $push18=, -4 - i32.and $push17=, $pop5, $pop18 - tee_local $push16=, $9=, $pop17 - i32.const $push15=, 4 - i32.add $push6=, $pop16, $pop15 - i32.store $discard=, 12($13), $pop6 - i32.load $push14=, 0($9) - tee_local $push13=, $9=, $pop14 - i32.const $push12=, 16 - i32.ge_u $push7=, $pop13, $pop12 - br_if 3, $pop7 # 3: down to label33 -# BB#3: # %to_hex.exit.i - # in Loop: Header=BB9_1 Depth=1 - i32.const $push20=, 1 - i32.add $7=, $7, $pop20 - i32.load8_u $push8=, .L.str($9) - i32.eq $push9=, $8, $pop8 - br_if 0, $pop9 # 0: up to label35 -# BB#4: # %if.then4.i + i32.load8_u $push7=, 0($7) + tee_local $push6=, $9=, $pop7 + i32.const $push19=, 0 + i32.eq $push20=, $pop6, $pop19 + br_if 2, $pop20 # 2: down to label34 +# BB#3: # %while.body.i + # in Loop: Header=BB9_2 Depth=1 + i32.load $push10=, 0($8) + tee_local $push9=, $10=, $pop10 + i32.const $push8=, 16 + i32.ge_u $push3=, $pop9, $pop8 + br_if 3, $pop3 # 3: down to label33 +# BB#4: # %to_hex.exit.i + # in Loop: Header=BB9_2 Depth=1 + i32.const $push12=, 4 + i32.add $8=, $8, $pop12 + i32.const $push11=, 1 + i32.add $7=, $7, $pop11 + i32.load8_u $push4=, .L.str($10) + i32.eq $push5=, $9, $pop4 + br_if 0, $pop5 # 0: up to label35 +# BB#5: # %if.then4.i end_loop # label36: call abort@FUNCTION unreachable -.LBB9_5: # %fap.exit +.LBB9_6: # %fap.exit end_block # label34: - i32.const $12=, 16 - i32.add $13=, $13, $12 - i32.const $12=, __stack_pointer - i32.store $13=, 0($12), $13 + i32.const $push17=, 16 + i32.add $11=, $11, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $11 return -.LBB9_6: # %if.then.i.i +.LBB9_7: # %if.then.i.i end_block # label33: call abort@FUNCTION unreachable @@ -677,65 +611,59 @@ f7: # @f7 .type f8,@function f8: # @f8 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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 - i32.const $12=, __stack_pointer - i32.store $14=, 0($12), $14 - i32.store $push0=, 8($14), $9 - i32.store $discard=, 12($14), $pop0 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $12=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $12 + i32.store $discard=, 12($12), $9 block - i32.call $push1=, strlen@FUNCTION, $8 - i32.const $push2=, 8 - i32.ne $push3=, $pop1, $pop2 - br_if 0, $pop3 # 0: down to label37 -.LBB10_1: # %while.cond.i + i32.call $push0=, strlen@FUNCTION, $8 + i32.const $push1=, 8 + i32.ne $push2=, $pop0, $pop1 + br_if 0, $pop2 # 0: down to label37 +# BB#1: # %while.cond.i.preheader + i32.load $9=, 12($12) +.LBB10_2: # %while.cond.i # =>This Inner Loop Header: Depth=1 block loop # label39: - i32.load8_u $push11=, 0($8) - tee_local $push10=, $9=, $pop11 - i32.const $push21=, 0 - i32.eq $push22=, $pop10, $pop21 - br_if 2, $pop22 # 2: down to label38 -# BB#2: # %while.body.i - # in Loop: Header=BB10_1 Depth=1 - i32.load $push4=, 12($14) - i32.const $push19=, 3 - i32.add $push5=, $pop4, $pop19 - i32.const $push18=, -4 - i32.and $push17=, $pop5, $pop18 - tee_local $push16=, $10=, $pop17 - i32.const $push15=, 4 - i32.add $push6=, $pop16, $pop15 - i32.store $discard=, 12($14), $pop6 - i32.load $push14=, 0($10) - tee_local $push13=, $10=, $pop14 - i32.const $push12=, 16 - i32.ge_u $push7=, $pop13, $pop12 - br_if 3, $pop7 # 3: down to label37 -# BB#3: # %to_hex.exit.i - # in Loop: Header=BB10_1 Depth=1 - i32.const $push20=, 1 - i32.add $8=, $8, $pop20 - i32.load8_u $push8=, .L.str($10) - i32.eq $push9=, $9, $pop8 - br_if 0, $pop9 # 0: up to label39 -# BB#4: # %if.then4.i + i32.load8_u $push7=, 0($8) + tee_local $push6=, $10=, $pop7 + i32.const $push19=, 0 + i32.eq $push20=, $pop6, $pop19 + br_if 2, $pop20 # 2: down to label38 +# BB#3: # %while.body.i + # in Loop: Header=BB10_2 Depth=1 + i32.load $push10=, 0($9) + tee_local $push9=, $11=, $pop10 + i32.const $push8=, 16 + i32.ge_u $push3=, $pop9, $pop8 + br_if 3, $pop3 # 3: down to label37 +# BB#4: # %to_hex.exit.i + # in Loop: Header=BB10_2 Depth=1 + i32.const $push12=, 4 + i32.add $9=, $9, $pop12 + i32.const $push11=, 1 + i32.add $8=, $8, $pop11 + i32.load8_u $push4=, .L.str($11) + i32.eq $push5=, $10, $pop4 + br_if 0, $pop5 # 0: up to label39 +# BB#5: # %if.then4.i end_loop # label40: call abort@FUNCTION unreachable -.LBB10_5: # %fap.exit +.LBB10_6: # %fap.exit end_block # label38: - i32.const $13=, 16 - i32.add $14=, $14, $13 - i32.const $13=, __stack_pointer - i32.store $14=, 0($13), $14 + i32.const $push17=, 16 + i32.add $12=, $12, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $12 return -.LBB10_6: # %if.then.i.i +.LBB10_7: # %if.then.i.i end_block # label37: call abort@FUNCTION unreachable @@ -749,65 +677,59 @@ f8: # @f8 .type f9,@function f9: # @f9 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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.store $push0=, 8($15), $10 - i32.store $discard=, 12($15), $pop0 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $13=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $13 + i32.store $discard=, 12($13), $10 block - i32.call $push1=, strlen@FUNCTION, $9 - i32.const $push2=, 7 - i32.ne $push3=, $pop1, $pop2 - br_if 0, $pop3 # 0: down to label41 -.LBB11_1: # %while.cond.i + i32.call $push0=, strlen@FUNCTION, $9 + i32.const $push1=, 7 + i32.ne $push2=, $pop0, $pop1 + br_if 0, $pop2 # 0: down to label41 +# BB#1: # %while.cond.i.preheader + i32.load $10=, 12($13) +.LBB11_2: # %while.cond.i # =>This Inner Loop Header: Depth=1 block loop # label43: - i32.load8_u $push11=, 0($9) - tee_local $push10=, $10=, $pop11 - i32.const $push21=, 0 - i32.eq $push22=, $pop10, $pop21 - br_if 2, $pop22 # 2: down to label42 -# BB#2: # %while.body.i - # in Loop: Header=BB11_1 Depth=1 - i32.load $push4=, 12($15) - i32.const $push19=, 3 - i32.add $push5=, $pop4, $pop19 - i32.const $push18=, -4 - i32.and $push17=, $pop5, $pop18 - tee_local $push16=, $11=, $pop17 - i32.const $push15=, 4 - i32.add $push6=, $pop16, $pop15 - i32.store $discard=, 12($15), $pop6 - i32.load $push14=, 0($11) - tee_local $push13=, $11=, $pop14 - i32.const $push12=, 16 - i32.ge_u $push7=, $pop13, $pop12 - br_if 3, $pop7 # 3: down to label41 -# BB#3: # %to_hex.exit.i - # in Loop: Header=BB11_1 Depth=1 - i32.const $push20=, 1 - i32.add $9=, $9, $pop20 - i32.load8_u $push8=, .L.str($11) - i32.eq $push9=, $10, $pop8 - br_if 0, $pop9 # 0: up to label43 -# BB#4: # %if.then4.i + i32.load8_u $push7=, 0($9) + tee_local $push6=, $11=, $pop7 + i32.const $push19=, 0 + i32.eq $push20=, $pop6, $pop19 + br_if 2, $pop20 # 2: down to label42 +# BB#3: # %while.body.i + # in Loop: Header=BB11_2 Depth=1 + i32.load $push10=, 0($10) + tee_local $push9=, $12=, $pop10 + i32.const $push8=, 16 + i32.ge_u $push3=, $pop9, $pop8 + br_if 3, $pop3 # 3: down to label41 +# BB#4: # %to_hex.exit.i + # in Loop: Header=BB11_2 Depth=1 + i32.const $push12=, 4 + i32.add $10=, $10, $pop12 + i32.const $push11=, 1 + i32.add $9=, $9, $pop11 + i32.load8_u $push4=, .L.str($12) + i32.eq $push5=, $11, $pop4 + br_if 0, $pop5 # 0: up to label43 +# BB#5: # %if.then4.i end_loop # label44: call abort@FUNCTION unreachable -.LBB11_5: # %fap.exit +.LBB11_6: # %fap.exit end_block # label42: - i32.const $14=, 16 - i32.add $15=, $15, $14 - i32.const $14=, __stack_pointer - i32.store $15=, 0($14), $15 + i32.const $push17=, 16 + i32.add $13=, $13, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $13 return -.LBB11_6: # %if.then.i.i +.LBB11_7: # %if.then.i.i end_block # label41: call abort@FUNCTION unreachable @@ -821,65 +743,59 @@ f9: # @f9 .type f10,@function f10: # @f10 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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 - i32.const $14=, __stack_pointer - i32.store $16=, 0($14), $16 - i32.store $push0=, 8($16), $11 - i32.store $discard=, 12($16), $pop0 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $14=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $14 + i32.store $discard=, 12($14), $11 block - i32.call $push1=, strlen@FUNCTION, $10 - i32.const $push2=, 6 - i32.ne $push3=, $pop1, $pop2 - br_if 0, $pop3 # 0: down to label45 -.LBB12_1: # %while.cond.i + i32.call $push0=, strlen@FUNCTION, $10 + i32.const $push1=, 6 + i32.ne $push2=, $pop0, $pop1 + br_if 0, $pop2 # 0: down to label45 +# BB#1: # %while.cond.i.preheader + i32.load $11=, 12($14) +.LBB12_2: # %while.cond.i # =>This Inner Loop Header: Depth=1 block loop # label47: - i32.load8_u $push11=, 0($10) - tee_local $push10=, $11=, $pop11 - i32.const $push21=, 0 - i32.eq $push22=, $pop10, $pop21 - br_if 2, $pop22 # 2: down to label46 -# BB#2: # %while.body.i - # in Loop: Header=BB12_1 Depth=1 - i32.load $push4=, 12($16) - i32.const $push19=, 3 - i32.add $push5=, $pop4, $pop19 - i32.const $push18=, -4 - i32.and $push17=, $pop5, $pop18 - tee_local $push16=, $12=, $pop17 - i32.const $push15=, 4 - i32.add $push6=, $pop16, $pop15 - i32.store $discard=, 12($16), $pop6 - i32.load $push14=, 0($12) - tee_local $push13=, $12=, $pop14 - i32.const $push12=, 16 - i32.ge_u $push7=, $pop13, $pop12 - br_if 3, $pop7 # 3: down to label45 -# BB#3: # %to_hex.exit.i - # in Loop: Header=BB12_1 Depth=1 - i32.const $push20=, 1 - i32.add $10=, $10, $pop20 - i32.load8_u $push8=, .L.str($12) - i32.eq $push9=, $11, $pop8 - br_if 0, $pop9 # 0: up to label47 -# BB#4: # %if.then4.i + i32.load8_u $push7=, 0($10) + tee_local $push6=, $12=, $pop7 + i32.const $push19=, 0 + i32.eq $push20=, $pop6, $pop19 + br_if 2, $pop20 # 2: down to label46 +# BB#3: # %while.body.i + # in Loop: Header=BB12_2 Depth=1 + i32.load $push10=, 0($11) + tee_local $push9=, $13=, $pop10 + i32.const $push8=, 16 + i32.ge_u $push3=, $pop9, $pop8 + br_if 3, $pop3 # 3: down to label45 +# BB#4: # %to_hex.exit.i + # in Loop: Header=BB12_2 Depth=1 + i32.const $push12=, 4 + i32.add $11=, $11, $pop12 + i32.const $push11=, 1 + i32.add $10=, $10, $pop11 + i32.load8_u $push4=, .L.str($13) + i32.eq $push5=, $12, $pop4 + br_if 0, $pop5 # 0: up to label47 +# BB#5: # %if.then4.i end_loop # label48: call abort@FUNCTION unreachable -.LBB12_5: # %fap.exit +.LBB12_6: # %fap.exit end_block # label46: - i32.const $15=, 16 - i32.add $16=, $16, $15 - i32.const $15=, __stack_pointer - i32.store $16=, 0($15), $16 + i32.const $push17=, 16 + i32.add $14=, $14, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $14 return -.LBB12_6: # %if.then.i.i +.LBB12_7: # %if.then.i.i end_block # label45: call abort@FUNCTION unreachable @@ -893,65 +809,59 @@ f10: # @f10 .type f11,@function f11: # @f11 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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 - i32.const $15=, __stack_pointer - i32.store $17=, 0($15), $17 - i32.store $push0=, 8($17), $12 - i32.store $discard=, 12($17), $pop0 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $15=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $15 + i32.store $discard=, 12($15), $12 block - i32.call $push1=, strlen@FUNCTION, $11 - i32.const $push2=, 5 - i32.ne $push3=, $pop1, $pop2 - br_if 0, $pop3 # 0: down to label49 -.LBB13_1: # %while.cond.i + i32.call $push0=, strlen@FUNCTION, $11 + i32.const $push1=, 5 + i32.ne $push2=, $pop0, $pop1 + br_if 0, $pop2 # 0: down to label49 +# BB#1: # %while.cond.i.preheader + i32.load $12=, 12($15) +.LBB13_2: # %while.cond.i # =>This Inner Loop Header: Depth=1 block loop # label51: - i32.load8_u $push11=, 0($11) - tee_local $push10=, $12=, $pop11 - i32.const $push21=, 0 - i32.eq $push22=, $pop10, $pop21 - br_if 2, $pop22 # 2: down to label50 -# BB#2: # %while.body.i - # in Loop: Header=BB13_1 Depth=1 - i32.load $push4=, 12($17) - i32.const $push19=, 3 - i32.add $push5=, $pop4, $pop19 - i32.const $push18=, -4 - i32.and $push17=, $pop5, $pop18 - tee_local $push16=, $13=, $pop17 - i32.const $push15=, 4 - i32.add $push6=, $pop16, $pop15 - i32.store $discard=, 12($17), $pop6 - i32.load $push14=, 0($13) - tee_local $push13=, $13=, $pop14 - i32.const $push12=, 16 - i32.ge_u $push7=, $pop13, $pop12 - br_if 3, $pop7 # 3: down to label49 -# BB#3: # %to_hex.exit.i - # in Loop: Header=BB13_1 Depth=1 - i32.const $push20=, 1 - i32.add $11=, $11, $pop20 - i32.load8_u $push8=, .L.str($13) - i32.eq $push9=, $12, $pop8 - br_if 0, $pop9 # 0: up to label51 -# BB#4: # %if.then4.i + i32.load8_u $push7=, 0($11) + tee_local $push6=, $13=, $pop7 + i32.const $push19=, 0 + i32.eq $push20=, $pop6, $pop19 + br_if 2, $pop20 # 2: down to label50 +# BB#3: # %while.body.i + # in Loop: Header=BB13_2 Depth=1 + i32.load $push10=, 0($12) + tee_local $push9=, $14=, $pop10 + i32.const $push8=, 16 + i32.ge_u $push3=, $pop9, $pop8 + br_if 3, $pop3 # 3: down to label49 +# BB#4: # %to_hex.exit.i + # in Loop: Header=BB13_2 Depth=1 + i32.const $push12=, 4 + i32.add $12=, $12, $pop12 + i32.const $push11=, 1 + i32.add $11=, $11, $pop11 + i32.load8_u $push4=, .L.str($14) + i32.eq $push5=, $13, $pop4 + br_if 0, $pop5 # 0: up to label51 +# BB#5: # %if.then4.i end_loop # label52: call abort@FUNCTION unreachable -.LBB13_5: # %fap.exit +.LBB13_6: # %fap.exit end_block # label50: - i32.const $16=, 16 - i32.add $17=, $17, $16 - i32.const $16=, __stack_pointer - i32.store $17=, 0($16), $17 + i32.const $push17=, 16 + i32.add $15=, $15, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $15 return -.LBB13_6: # %if.then.i.i +.LBB13_7: # %if.then.i.i end_block # label49: call abort@FUNCTION unreachable @@ -965,65 +875,59 @@ f11: # @f11 .type f12,@function f12: # @f12 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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 - i32.const $16=, __stack_pointer - i32.store $18=, 0($16), $18 - i32.store $push0=, 8($18), $13 - i32.store $discard=, 12($18), $pop0 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $16=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $16 + i32.store $discard=, 12($16), $13 block - i32.call $push1=, strlen@FUNCTION, $12 - i32.const $push9=, 4 - i32.ne $push2=, $pop1, $pop9 - br_if 0, $pop2 # 0: down to label53 -.LBB14_1: # %while.cond.i + i32.call $push0=, strlen@FUNCTION, $12 + i32.const $push5=, 4 + i32.ne $push1=, $pop0, $pop5 + br_if 0, $pop1 # 0: down to label53 +# BB#1: # %while.cond.i.preheader + i32.load $13=, 12($16) +.LBB14_2: # %while.cond.i # =>This Inner Loop Header: Depth=1 block loop # label55: - i32.load8_u $push11=, 0($12) - tee_local $push10=, $13=, $pop11 - i32.const $push21=, 0 - i32.eq $push22=, $pop10, $pop21 - br_if 2, $pop22 # 2: down to label54 -# BB#2: # %while.body.i - # in Loop: Header=BB14_1 Depth=1 - i32.load $push3=, 12($18) - i32.const $push19=, 3 - i32.add $push4=, $pop3, $pop19 - i32.const $push18=, -4 - i32.and $push17=, $pop4, $pop18 - tee_local $push16=, $14=, $pop17 - i32.const $push15=, 4 - i32.add $push5=, $pop16, $pop15 - i32.store $discard=, 12($18), $pop5 - i32.load $push14=, 0($14) - tee_local $push13=, $14=, $pop14 - i32.const $push12=, 16 - i32.ge_u $push6=, $pop13, $pop12 - br_if 3, $pop6 # 3: down to label53 -# BB#3: # %to_hex.exit.i - # in Loop: Header=BB14_1 Depth=1 - i32.const $push20=, 1 - i32.add $12=, $12, $pop20 - i32.load8_u $push7=, .L.str($14) - i32.eq $push8=, $13, $pop7 - br_if 0, $pop8 # 0: up to label55 -# BB#4: # %if.then4.i + i32.load8_u $push7=, 0($12) + tee_local $push6=, $14=, $pop7 + i32.const $push19=, 0 + i32.eq $push20=, $pop6, $pop19 + br_if 2, $pop20 # 2: down to label54 +# BB#3: # %while.body.i + # in Loop: Header=BB14_2 Depth=1 + i32.load $push10=, 0($13) + tee_local $push9=, $15=, $pop10 + i32.const $push8=, 16 + i32.ge_u $push2=, $pop9, $pop8 + br_if 3, $pop2 # 3: down to label53 +# BB#4: # %to_hex.exit.i + # in Loop: Header=BB14_2 Depth=1 + i32.const $push12=, 4 + i32.add $13=, $13, $pop12 + i32.const $push11=, 1 + i32.add $12=, $12, $pop11 + i32.load8_u $push3=, .L.str($15) + i32.eq $push4=, $14, $pop3 + br_if 0, $pop4 # 0: up to label55 +# BB#5: # %if.then4.i end_loop # label56: call abort@FUNCTION unreachable -.LBB14_5: # %fap.exit +.LBB14_6: # %fap.exit end_block # label54: - i32.const $17=, 16 - i32.add $18=, $18, $17 - i32.const $17=, __stack_pointer - i32.store $18=, 0($17), $18 + i32.const $push17=, 16 + i32.add $16=, $16, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $16 return -.LBB14_6: # %if.then.i.i +.LBB14_7: # %if.then.i.i end_block # label53: call abort@FUNCTION unreachable @@ -1037,65 +941,59 @@ f12: # @f12 .type f13,@function f13: # @f13 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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 - i32.const $17=, __stack_pointer - i32.store $19=, 0($17), $19 - i32.store $push0=, 8($19), $14 - i32.store $discard=, 12($19), $pop0 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $17=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $17 + i32.store $discard=, 12($17), $14 block - i32.call $push1=, strlen@FUNCTION, $13 - i32.const $push9=, 3 - i32.ne $push2=, $pop1, $pop9 + i32.call $push0=, strlen@FUNCTION, $13 + i32.const $push1=, 3 + i32.ne $push2=, $pop0, $pop1 br_if 0, $pop2 # 0: down to label57 -.LBB15_1: # %while.cond.i +# BB#1: # %while.cond.i.preheader + i32.load $14=, 12($17) +.LBB15_2: # %while.cond.i # =>This Inner Loop Header: Depth=1 block loop # label59: - i32.load8_u $push11=, 0($13) - tee_local $push10=, $14=, $pop11 - i32.const $push21=, 0 - i32.eq $push22=, $pop10, $pop21 - br_if 2, $pop22 # 2: down to label58 -# BB#2: # %while.body.i - # in Loop: Header=BB15_1 Depth=1 - i32.load $push3=, 12($19) - i32.const $push19=, 3 - i32.add $push4=, $pop3, $pop19 - i32.const $push18=, -4 - i32.and $push17=, $pop4, $pop18 - tee_local $push16=, $15=, $pop17 - i32.const $push15=, 4 - i32.add $push5=, $pop16, $pop15 - i32.store $discard=, 12($19), $pop5 - i32.load $push14=, 0($15) - tee_local $push13=, $15=, $pop14 - i32.const $push12=, 16 - i32.ge_u $push6=, $pop13, $pop12 - br_if 3, $pop6 # 3: down to label57 -# BB#3: # %to_hex.exit.i - # in Loop: Header=BB15_1 Depth=1 - i32.const $push20=, 1 - i32.add $13=, $13, $pop20 - i32.load8_u $push7=, .L.str($15) - i32.eq $push8=, $14, $pop7 - br_if 0, $pop8 # 0: up to label59 -# BB#4: # %if.then4.i + i32.load8_u $push7=, 0($13) + tee_local $push6=, $15=, $pop7 + i32.const $push19=, 0 + i32.eq $push20=, $pop6, $pop19 + br_if 2, $pop20 # 2: down to label58 +# BB#3: # %while.body.i + # in Loop: Header=BB15_2 Depth=1 + i32.load $push10=, 0($14) + tee_local $push9=, $16=, $pop10 + i32.const $push8=, 16 + i32.ge_u $push3=, $pop9, $pop8 + br_if 3, $pop3 # 3: down to label57 +# BB#4: # %to_hex.exit.i + # in Loop: Header=BB15_2 Depth=1 + i32.const $push12=, 4 + i32.add $14=, $14, $pop12 + i32.const $push11=, 1 + i32.add $13=, $13, $pop11 + i32.load8_u $push4=, .L.str($16) + i32.eq $push5=, $15, $pop4 + br_if 0, $pop5 # 0: up to label59 +# BB#5: # %if.then4.i end_loop # label60: call abort@FUNCTION unreachable -.LBB15_5: # %fap.exit +.LBB15_6: # %fap.exit end_block # label58: - i32.const $18=, 16 - i32.add $19=, $19, $18 - i32.const $18=, __stack_pointer - i32.store $19=, 0($18), $19 + i32.const $push17=, 16 + i32.add $17=, $17, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $17 return -.LBB15_6: # %if.then.i.i +.LBB15_7: # %if.then.i.i end_block # label57: call abort@FUNCTION unreachable @@ -1109,65 +1007,59 @@ f13: # @f13 .type f14,@function f14: # @f14 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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 - i32.const $18=, __stack_pointer - i32.store $20=, 0($18), $20 - i32.store $push0=, 8($20), $15 - i32.store $discard=, 12($20), $pop0 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $18=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $18 + i32.store $discard=, 12($18), $15 block - i32.call $push1=, strlen@FUNCTION, $14 - i32.const $push2=, 2 - i32.ne $push3=, $pop1, $pop2 - br_if 0, $pop3 # 0: down to label61 -.LBB16_1: # %while.cond.i + i32.call $push0=, strlen@FUNCTION, $14 + i32.const $push1=, 2 + i32.ne $push2=, $pop0, $pop1 + br_if 0, $pop2 # 0: down to label61 +# BB#1: # %while.cond.i.preheader + i32.load $15=, 12($18) +.LBB16_2: # %while.cond.i # =>This Inner Loop Header: Depth=1 block loop # label63: - i32.load8_u $push11=, 0($14) - tee_local $push10=, $15=, $pop11 - i32.const $push21=, 0 - i32.eq $push22=, $pop10, $pop21 - br_if 2, $pop22 # 2: down to label62 -# BB#2: # %while.body.i - # in Loop: Header=BB16_1 Depth=1 - i32.load $push4=, 12($20) - i32.const $push19=, 3 - i32.add $push5=, $pop4, $pop19 - i32.const $push18=, -4 - i32.and $push17=, $pop5, $pop18 - tee_local $push16=, $16=, $pop17 - i32.const $push15=, 4 - i32.add $push6=, $pop16, $pop15 - i32.store $discard=, 12($20), $pop6 - i32.load $push14=, 0($16) - tee_local $push13=, $16=, $pop14 - i32.const $push12=, 16 - i32.ge_u $push7=, $pop13, $pop12 - br_if 3, $pop7 # 3: down to label61 -# BB#3: # %to_hex.exit.i - # in Loop: Header=BB16_1 Depth=1 - i32.const $push20=, 1 - i32.add $14=, $14, $pop20 - i32.load8_u $push8=, .L.str($16) - i32.eq $push9=, $15, $pop8 - br_if 0, $pop9 # 0: up to label63 -# BB#4: # %if.then4.i + i32.load8_u $push7=, 0($14) + tee_local $push6=, $16=, $pop7 + i32.const $push19=, 0 + i32.eq $push20=, $pop6, $pop19 + br_if 2, $pop20 # 2: down to label62 +# BB#3: # %while.body.i + # in Loop: Header=BB16_2 Depth=1 + i32.load $push10=, 0($15) + tee_local $push9=, $17=, $pop10 + i32.const $push8=, 16 + i32.ge_u $push3=, $pop9, $pop8 + br_if 3, $pop3 # 3: down to label61 +# BB#4: # %to_hex.exit.i + # in Loop: Header=BB16_2 Depth=1 + i32.const $push12=, 4 + i32.add $15=, $15, $pop12 + i32.const $push11=, 1 + i32.add $14=, $14, $pop11 + i32.load8_u $push4=, .L.str($17) + i32.eq $push5=, $16, $pop4 + br_if 0, $pop5 # 0: up to label63 +# BB#5: # %if.then4.i end_loop # label64: call abort@FUNCTION unreachable -.LBB16_5: # %fap.exit +.LBB16_6: # %fap.exit end_block # label62: - i32.const $19=, 16 - i32.add $20=, $20, $19 - i32.const $19=, __stack_pointer - i32.store $20=, 0($19), $20 + i32.const $push17=, 16 + i32.add $18=, $18, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $18 return -.LBB16_6: # %if.then.i.i +.LBB16_7: # %if.then.i.i end_block # label61: call abort@FUNCTION unreachable @@ -1181,65 +1073,59 @@ f14: # @f14 .type f15,@function f15: # @f15 .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - .local i32, i32, i32, i32, i32 + .local 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 - i32.const $19=, __stack_pointer - i32.store $21=, 0($19), $21 - i32.store $push0=, 8($21), $16 - i32.store $discard=, 12($21), $pop0 + i32.const $push13=, __stack_pointer + i32.load $push14=, 0($pop13) + i32.const $push15=, 16 + i32.sub $19=, $pop14, $pop15 + i32.const $push16=, __stack_pointer + i32.store $discard=, 0($pop16), $19 + i32.store $discard=, 12($19), $16 block - i32.call $push1=, strlen@FUNCTION, $15 - i32.const $push9=, 1 - i32.ne $push2=, $pop1, $pop9 - br_if 0, $pop2 # 0: down to label65 -.LBB17_1: # %while.cond.i + i32.call $push0=, strlen@FUNCTION, $15 + i32.const $push5=, 1 + i32.ne $push1=, $pop0, $pop5 + br_if 0, $pop1 # 0: down to label65 +# BB#1: # %while.cond.i.preheader + i32.load $16=, 12($19) +.LBB17_2: # %while.cond.i # =>This Inner Loop Header: Depth=1 block loop # label67: - i32.load8_u $push11=, 0($15) - tee_local $push10=, $16=, $pop11 - i32.const $push21=, 0 - i32.eq $push22=, $pop10, $pop21 - br_if 2, $pop22 # 2: down to label66 -# BB#2: # %while.body.i - # in Loop: Header=BB17_1 Depth=1 - i32.load $push3=, 12($21) - i32.const $push19=, 3 - i32.add $push4=, $pop3, $pop19 - i32.const $push18=, -4 - i32.and $push17=, $pop4, $pop18 - tee_local $push16=, $17=, $pop17 - i32.const $push15=, 4 - i32.add $push5=, $pop16, $pop15 - i32.store $discard=, 12($21), $pop5 - i32.load $push14=, 0($17) - tee_local $push13=, $17=, $pop14 - i32.const $push12=, 16 - i32.ge_u $push6=, $pop13, $pop12 - br_if 3, $pop6 # 3: down to label65 -# BB#3: # %to_hex.exit.i - # in Loop: Header=BB17_1 Depth=1 - i32.const $push20=, 1 - i32.add $15=, $15, $pop20 - i32.load8_u $push7=, .L.str($17) - i32.eq $push8=, $16, $pop7 - br_if 0, $pop8 # 0: up to label67 -# BB#4: # %if.then4.i + i32.load8_u $push7=, 0($15) + tee_local $push6=, $17=, $pop7 + i32.const $push19=, 0 + i32.eq $push20=, $pop6, $pop19 + br_if 2, $pop20 # 2: down to label66 +# BB#3: # %while.body.i + # in Loop: Header=BB17_2 Depth=1 + i32.load $push10=, 0($16) + tee_local $push9=, $18=, $pop10 + i32.const $push8=, 16 + i32.ge_u $push2=, $pop9, $pop8 + br_if 3, $pop2 # 3: down to label65 +# BB#4: # %to_hex.exit.i + # in Loop: Header=BB17_2 Depth=1 + i32.const $push12=, 4 + i32.add $16=, $16, $pop12 + i32.const $push11=, 1 + i32.add $15=, $15, $pop11 + i32.load8_u $push3=, .L.str($18) + i32.eq $push4=, $17, $pop3 + br_if 0, $pop4 # 0: up to label67 +# BB#5: # %if.then4.i end_loop # label68: call abort@FUNCTION unreachable -.LBB17_5: # %fap.exit +.LBB17_6: # %fap.exit end_block # label66: - i32.const $20=, 16 - i32.add $21=, $21, $20 - i32.const $20=, __stack_pointer - i32.store $21=, 0($20), $21 + i32.const $push17=, 16 + i32.add $19=, $19, $pop17 + i32.const $push18=, __stack_pointer + i32.store $discard=, 0($pop18), $19 return -.LBB17_6: # %if.then.i.i +.LBB17_7: # %if.then.i.i end_block # label65: call abort@FUNCTION unreachable @@ -1253,390 +1139,334 @@ f15: # @f15 .type main,@function main: # @main .result 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 + .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 # BB#0: # %entry - 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.store $87=, 0($15), $87 + i32.const $push117=, __stack_pointer + i32.load $push118=, 0($pop117) + i32.const $push119=, 640 + i32.sub $71=, $pop118, $pop119 + i32.const $push120=, __stack_pointer + i32.store $discard=, 0($pop120), $71 i32.const $push0=, 56 - i32.const $16=, 576 - i32.add $16=, $87, $16 - i32.add $push1=, $16, $pop0 + i32.const $14=, 576 + i32.add $14=, $71, $14 + i32.add $push1=, $14, $pop0 i64.const $push2=, 64424509454 i64.store $0=, 0($pop1), $pop2 i32.const $push3=, 48 - i32.const $17=, 576 - i32.add $17=, $87, $17 - i32.add $push4=, $17, $pop3 + i32.const $15=, 576 + i32.add $15=, $71, $15 + i32.add $push4=, $15, $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 + i32.const $16=, 576 + i32.add $16=, $71, $16 + i32.add $push7=, $16, $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 + i32.const $17=, 576 + i32.add $17=, $71, $17 + i32.add $push10=, $17, $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 + i32.const $18=, 576 + i32.add $18=, $71, $18 + i32.add $push13=, $18, $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 + i32.const $19=, 576 + i32.add $19=, $71, $19 + i32.add $push16=, $19, $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 + i64.const $push18=, 12884901890 + i64.store $6=, 584($71), $pop18 + i64.const $push19=, 4294967296 + i64.store $discard=, 576($71):p2align=4, $pop19 + i32.const $push20=, .L.str + i32.const $20=, 576 + i32.add $20=, $71, $20 + call f0@FUNCTION, $pop20, $20 + i32.const $push116=, 56 + i32.const $21=, 512 + i32.add $21=, $71, $21 + i32.add $push21=, $21, $pop116 + i32.const $push22=, 15 + i32.store $7=, 0($pop21):p2align=3, $pop22 + i32.const $push115=, 48 + i32.const $22=, 512 + i32.add $22=, $71, $22 + i32.add $push23=, $22, $pop115 + i64.const $push24=, 60129542157 + i64.store $8=, 0($pop23):p2align=4, $pop24 + i32.const $push114=, 40 + i32.const $23=, 512 + i32.add $23=, $71, $23 + i32.add $push25=, $23, $pop114 + i64.const $push26=, 51539607563 + i64.store $9=, 0($pop25), $pop26 + i32.const $push113=, 32 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.add $24=, $71, $24 + i32.add $push27=, $24, $pop113 + i64.const $push28=, 42949672969 + i64.store $10=, 0($pop27):p2align=4, $pop28 + i32.const $push112=, 24 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.add $25=, $71, $25 + i32.add $push29=, $25, $pop112 + i64.const $push30=, 34359738375 + i64.store $11=, 0($pop29), $pop30 + i32.const $push111=, 16 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.add $26=, $71, $26 + i32.add $push31=, $26, $pop111 + i64.const $push32=, 25769803781 + i64.store $12=, 0($pop31):p2align=4, $pop32 + i64.const $push33=, 17179869187 + i64.store $13=, 520($71), $pop33 + i64.const $push34=, 8589934593 + i64.store $discard=, 512($71):p2align=4, $pop34 + i32.const $push35=, .L.str+1 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.add $27=, $71, $27 + call f1@FUNCTION, $7, $pop35, $27 + i32.const $push110=, 48 + i32.const $28=, 448 + i32.add $28=, $71, $28 + i32.add $push36=, $28, $pop110 + i64.store $discard=, 0($pop36):p2align=4, $0 + i32.const $push109=, 40 + i32.const $29=, 448 + i32.add $29=, $71, $29 + i32.add $push37=, $29, $pop109 + i64.store $discard=, 0($pop37), $1 + i32.const $push108=, 32 + i32.const $30=, 448 + i32.add $30=, $71, $30 + i32.add $push38=, $30, $pop108 + i64.store $discard=, 0($pop38):p2align=4, $2 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 $31=, 448 + i32.add $31=, $71, $31 + i32.add $push39=, $31, $pop107 + i64.store $discard=, 0($pop39), $3 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 $32=, 448 + i32.add $32=, $71, $32 + i32.add $push40=, $32, $pop106 + i64.store $discard=, 0($pop40):p2align=4, $4 + i64.store $discard=, 456($71), $5 + i64.store $discard=, 448($71):p2align=4, $6 + i32.const $push41=, .L.str+2 + i32.const $33=, 448 + i32.add $33=, $71, $33 + call f2@FUNCTION, $7, $7, $pop41, $33 + i32.const $push105=, 48 + i32.const $34=, 384 + i32.add $34=, $71, $34 + i32.add $push42=, $34, $pop105 + i32.store $discard=, 0($pop42):p2align=4, $7 + i32.const $push104=, 40 + i32.const $35=, 384 + i32.add $35=, $71, $35 + i32.add $push43=, $35, $pop104 + i64.store $6=, 0($pop43), $8 + i32.const $push103=, 32 + i32.const $36=, 384 + i32.add $36=, $71, $36 + i32.add $push44=, $36, $pop103 + i64.store $8=, 0($pop44):p2align=4, $9 + i32.const $push102=, 24 + i32.const $37=, 384 + i32.add $37=, $71, $37 + i32.add $push45=, $37, $pop102 + i64.store $9=, 0($pop45), $10 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 + i32.const $38=, 384 + i32.add $38=, $71, $38 + i32.add $push46=, $38, $pop101 + i64.store $10=, 0($pop46):p2align=4, $11 + i64.store $11=, 392($71), $12 + i64.store $discard=, 384($71):p2align=4, $13 + i32.const $push47=, .L.str+3 + i32.const $39=, 384 + i32.add $39=, $71, $39 + call f3@FUNCTION, $7, $7, $7, $pop47, $39 + i32.const $push100=, 40 + i32.const $40=, 336 + i32.add $40=, $71, $40 + i32.add $push48=, $40, $pop100 + i64.store $discard=, 0($pop48), $0 + i32.const $push99=, 32 + i32.const $41=, 336 + i32.add $41=, $71, $41 + i32.add $push49=, $41, $pop99 + i64.store $discard=, 0($pop49):p2align=4, $1 + i32.const $push98=, 24 + i32.const $42=, 336 + i32.add $42=, $71, $42 + i32.add $push50=, $42, $pop98 + i64.store $discard=, 0($pop50), $2 + i32.const $push97=, 16 + i32.const $43=, 336 + i32.add $43=, $71, $43 + i32.add $push51=, $43, $pop97 + i64.store $discard=, 0($pop51):p2align=4, $3 + i64.store $discard=, 344($71), $4 + i64.store $discard=, 336($71):p2align=4, $5 + i32.const $push52=, .L.str+4 + i32.const $44=, 336 + i32.add $44=, $71, $44 + call f4@FUNCTION, $7, $7, $7, $7, $pop52, $44 + i32.const $push96=, 40 + i32.const $45=, 288 + i32.add $45=, $71, $45 + i32.add $push53=, $45, $pop96 + i32.store $discard=, 0($pop53):p2align=3, $7 + i32.const $push95=, 32 + i32.const $46=, 288 + i32.add $46=, $71, $46 + i32.add $push54=, $46, $pop95 + i64.store $5=, 0($pop54):p2align=4, $6 + i32.const $push94=, 24 + i32.const $47=, 288 + i32.add $47=, $71, $47 + i32.add $push55=, $47, $pop94 + i64.store $6=, 0($pop55), $8 + i32.const $push93=, 16 + i32.const $48=, 288 + i32.add $48=, $71, $48 + i32.add $push56=, $48, $pop93 + i64.store $8=, 0($pop56):p2align=4, $9 + i64.store $9=, 296($71), $10 + i64.store $discard=, 288($71):p2align=4, $11 + i32.const $push57=, .L.str+5 + i32.const $49=, 288 + i32.add $49=, $71, $49 + call f5@FUNCTION, $7, $7, $7, $7, $7, $pop57, $49 + i32.const $push92=, 32 + i32.const $50=, 240 + i32.add $50=, $71, $50 + i32.add $push58=, $50, $pop92 + i64.store $discard=, 0($pop58):p2align=4, $0 + i32.const $push91=, 24 + i32.const $51=, 240 + i32.add $51=, $71, $51 + i32.add $push59=, $51, $pop91 + i64.store $discard=, 0($pop59), $1 + i32.const $push90=, 16 + i32.const $52=, 240 + i32.add $52=, $71, $52 + i32.add $push60=, $52, $pop90 + i64.store $discard=, 0($pop60):p2align=4, $2 + i64.store $discard=, 248($71), $3 + i64.store $discard=, 240($71):p2align=4, $4 + i32.const $push61=, .L.str+6 + i32.const $53=, 240 + i32.add $53=, $71, $53 + call f6@FUNCTION, $7, $7, $7, $7, $7, $7, $pop61, $53 + i32.const $push89=, 32 + i32.const $54=, 192 + i32.add $54=, $71, $54 + i32.add $push62=, $54, $pop89 + i32.store $discard=, 0($pop62):p2align=4, $7 + i32.const $push88=, 24 + i32.const $55=, 192 + i32.add $55=, $71, $55 + i32.add $push63=, $55, $pop88 + i64.store $4=, 0($pop63), $5 + i32.const $push87=, 16 + i32.const $56=, 192 + i32.add $56=, $71, $56 + i32.add $push64=, $56, $pop87 + i64.store $5=, 0($pop64):p2align=4, $6 + i64.store $6=, 200($71), $8 + i64.store $discard=, 192($71):p2align=4, $9 + i32.const $push65=, .L.str+7 + i32.const $57=, 192 + i32.add $57=, $71, $57 + call f7@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $pop65, $57 + i32.const $push86=, 24 + i32.const $58=, 160 + i32.add $58=, $71, $58 + i32.add $push66=, $58, $pop86 + i64.store $discard=, 0($pop66), $0 + i32.const $push85=, 16 + i32.const $59=, 160 + i32.add $59=, $71, $59 + i32.add $push67=, $59, $pop85 + i64.store $discard=, 0($pop67):p2align=4, $1 + i64.store $discard=, 168($71), $2 + i64.store $discard=, 160($71):p2align=4, $3 + i32.const $push68=, .L.str+8 + i32.const $60=, 160 + i32.add $60=, $71, $60 + call f8@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $pop68, $60 + i32.const $push84=, 24 + i32.const $61=, 128 + i32.add $61=, $71, $61 + i32.add $push69=, $61, $pop84 + i32.store $discard=, 0($pop69):p2align=3, $7 + i32.const $push83=, 16 + i32.const $62=, 128 + i32.add $62=, $71, $62 + i32.add $push70=, $62, $pop83 + i64.store $3=, 0($pop70):p2align=4, $4 + i64.store $4=, 136($71), $5 + i64.store $discard=, 128($71):p2align=4, $6 + i32.const $push71=, .L.str+9 + i32.const $63=, 128 + i32.add $63=, $71, $63 + call f9@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop71, $63 + i32.const $push82=, 16 + i32.const $64=, 96 + i32.add $64=, $71, $64 + i32.add $push72=, $64, $pop82 + i64.store $discard=, 0($pop72):p2align=4, $0 + i64.store $discard=, 104($71), $1 + i64.store $discard=, 96($71):p2align=4, $2 + i32.const $push73=, .L.str+10 + i32.const $65=, 96 + i32.add $65=, $71, $65 + call f10@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop73, $65 + i32.const $push81=, 16 + i32.const $66=, 64 + i32.add $66=, $71, $66 + i32.add $push74=, $66, $pop81 + i32.store $discard=, 0($pop74):p2align=4, $7 + i64.store $2=, 72($71), $3 + i64.store $discard=, 64($71):p2align=4, $4 + i32.const $push75=, .L.str+11 + i32.const $67=, 64 + i32.add $67=, $71, $67 + call f11@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop75, $67 + i64.store $discard=, 56($71), $0 + i64.store $discard=, 48($71):p2align=4, $1 + i32.const $push76=, .L.str+12 + i32.const $68=, 48 + i32.add $68=, $71, $68 + call f12@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop76, $68 + i32.store $discard=, 40($71):p2align=3, $7 + i64.store $discard=, 32($71):p2align=4, $2 + i32.const $push77=, .L.str+13 + i32.const $69=, 32 + i32.add $69=, $71, $69 + call f13@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop77, $69 + i64.store $discard=, 16($71):p2align=4, $0 + i32.const $push78=, .L.str+14 + i32.const $70=, 16 + i32.add $70=, $71, $70 + call f14@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop78, $70 + i32.store $discard=, 0($71):p2align=4, $7 + i32.const $push79=, .L.str+15 + call f15@FUNCTION, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $7, $pop79, $71 + i32.const $push80=, 0 + call exit@FUNCTION, $pop80 unreachable .endfunc .Lfunc_end18: diff --git a/test/torture-s/va-arg-pack-1.c.s b/test/torture-s/va-arg-pack-1.c.s new file mode 100644 index 000000000..abae96b1d --- /dev/null +++ b/test/torture-s/va-arg-pack-1.c.s @@ -0,0 +1,646 @@ + .text + .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-pack-1.c" + .section .text.foo1,"ax",@progbits + .hidden foo1 + .globl foo1 + .type foo1,@function +foo1: # @foo1 + .param i32, i32, i32 + .result i32 + .local i64, i64, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push88=, __stack_pointer + i32.load $push89=, 0($pop88) + i32.const $push90=, 32 + i32.sub $9=, $pop89, $pop90 + i32.const $push91=, __stack_pointer + i32.store $discard=, 0($pop91), $9 + i32.store $discard=, 12($9), $2 + block + i32.const $push2=, 19 + i32.gt_u $push3=, $0, $pop2 + br_if 0, $pop3 # 0: down to label0 +# BB#1: # %lor.lhs.false3 + i32.load8_u $push4=, seen($0) + br_if 0, $pop4 # 0: down to label0 +# BB#2: # %if.end + i32.const $push5=, 0 + i32.const $push76=, 0 + i32.load $push6=, cnt($pop76) + i32.const $push7=, 1 + i32.add $push8=, $pop6, $pop7 + i32.store $push9=, cnt($pop5), $pop8 + i32.store8 $discard=, seen($0), $pop9 + i32.const $push10=, 6 + i32.ne $push11=, $1, $pop10 + br_if 0, $pop11 # 0: down to label0 +# BB#3: # %if.end9 + i32.load $push78=, 12($9) + tee_local $push77=, $2=, $pop78 + i32.const $push12=, 4 + i32.add $push0=, $pop77, $pop12 + i32.store $1=, 12($9), $pop0 + i32.load $push13=, 0($2) + i32.const $push14=, 5 + i32.ne $push15=, $pop13, $pop14 + br_if 0, $pop15 # 0: down to label0 +# BB#4: # %if.end13 + block + i32.const $push16=, 2 + i32.eq $push17=, $0, $pop16 + br_if 0, $pop17 # 0: down to label1 +# BB#5: # %if.end13 + block + i32.const $push18=, 1 + i32.eq $push19=, $0, $pop18 + br_if 0, $pop19 # 0: down to label2 +# BB#6: # %if.end13 + br_if 2, $0 # 2: down to label0 +# BB#7: # %sw.bb + i32.const $push45=, 8 + i32.add $push1=, $2, $pop45 + i32.store $1=, 12($9), $pop1 + i32.const $push46=, 4 + i32.add $push47=, $2, $pop46 + i32.load $push48=, 0($pop47) + i32.const $push79=, 9 + i32.ne $push49=, $pop48, $pop79 + br_if 2, $pop49 # 2: down to label0 +# BB#8: # %sw.bb + i32.const $push50=, 0 + i32.load $push44=, v1($pop50) + i32.const $push80=, 9 + i32.ne $push51=, $pop44, $pop80 + br_if 2, $pop51 # 2: down to label0 +# BB#9: # %if.end22 + i64.load $4=, 0($1):p2align=0 + i32.const $push58=, 8 + i32.add $push59=, $1, $pop58 + i32.load $5=, 0($pop59):p2align=0 + i32.const $push54=, 12 + i32.const $6=, 16 + i32.add $6=, $9, $6 + i32.add $push57=, $6, $pop54 + i32.const $push83=, 12 + i32.add $push55=, $1, $pop83 + i32.load $push56=, 0($pop55):p2align=0 + i32.store $discard=, 0($pop57), $pop56 + i32.const $push82=, 8 + i32.const $7=, 16 + i32.add $7=, $9, $7 + i32.add $push60=, $7, $pop82 + i32.store $discard=, 0($pop60):p2align=3, $5 + i64.store $discard=, 16($9), $4 + i32.const $push52=, 24 + i32.add $push53=, $2, $pop52 + i32.store $1=, 12($9), $pop53 + i32.const $push81=, v4 + i32.const $push61=, 16 + i32.const $8=, 16 + i32.add $8=, $9, $8 + i32.call $push62=, memcmp@FUNCTION, $8, $pop81, $pop61 + br_if 2, $pop62 # 2: down to label0 +# BB#10: # %if.end28 + i32.const $push63=, 28 + i32.add $push64=, $2, $pop63 + i32.store $5=, 12($9), $pop64 + i32.load $push65=, 0($1) + i32.const $push84=, v4 + i32.ne $push66=, $pop65, $pop84 + br_if 2, $pop66 # 2: down to label0 +# BB#11: # %if.end34 + i32.const $push68=, 32 + i32.add $push69=, $2, $pop68 + i32.store $discard=, 12($9), $pop69 + block + i32.load $push70=, 0($5) + i32.const $push71=, 3 + i32.ne $push72=, $pop70, $pop71 + br_if 0, $pop72 # 0: down to label3 +# BB#12: # %if.end34 + i32.const $push73=, 0 + i32.load $push67=, v2($pop73) + i32.const $push74=, 4 + i32.eq $push75=, $pop67, $pop74 + br_if 2, $pop75 # 2: down to label1 +.LBB0_13: # %if.then42 + end_block # label3: + call abort@FUNCTION + unreachable +.LBB0_14: # %sw.bb44 + end_block # label2: + i32.const $push22=, 15 + i32.add $push23=, $1, $pop22 + i32.const $push24=, -16 + i32.and $push86=, $pop23, $pop24 + tee_local $push85=, $2=, $pop86 + i64.load $4=, 8($pop85) + i64.load $3=, 0($2):p2align=4 + i32.const $push25=, 16 + i32.add $push26=, $2, $pop25 + i32.store $discard=, 12($9), $pop26 + i64.const $push28=, 0 + i64.const $push27=, 4612891083171430400 + i32.call $push29=, __netf2@FUNCTION, $3, $4, $pop28, $pop27 + br_if 1, $pop29 # 1: down to label0 +# BB#15: # %sw.bb44 + i32.const $push30=, 0 + i64.load $push20=, v5($pop30):p2align=4 + i32.const $push87=, 0 + i64.load $push21=, v5+8($pop87) + i32.call $push31=, __eqtf2@FUNCTION, $pop20, $pop21, $3, $4 + br_if 1, $pop31 # 1: down to label0 +# BB#16: # %if.end53 + i32.const $push32=, 20 + i32.add $push33=, $2, $pop32 + i32.store $1=, 12($9), $pop33 + i32.const $push34=, 16 + i32.add $push35=, $2, $pop34 + i32.load $push36=, 0($pop35):p2align=4 + i32.const $push37=, 8 + i32.ne $push38=, $pop36, $pop37 + br_if 1, $pop38 # 1: down to label0 +# BB#17: # %if.end59 + i32.const $push39=, 24 + i32.add $push40=, $2, $pop39 + i32.store $discard=, 12($9), $pop40 + i32.load $push41=, 0($1) + i32.const $push42=, v2 + i32.ne $push43=, $pop41, $pop42 + br_if 1, $pop43 # 1: down to label0 +.LBB0_18: # %sw.epilog + end_block # label1: + i32.const $push92=, 32 + i32.add $9=, $9, $pop92 + i32.const $push93=, __stack_pointer + i32.store $discard=, 0($pop93), $9 + return $0 +.LBB0_19: # %sw.default + end_block # label0: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end0: + .size foo1, .Lfunc_end0-foo1 + + .section .text.foo2,"ax",@progbits + .hidden foo2 + .globl foo2 + .type foo2,@function +foo2: # @foo2 + .param i32, i32, i32 + .result i32 + .local i64, i64, i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push85=, __stack_pointer + i32.load $push86=, 0($pop85) + i32.const $push87=, 48 + i32.sub $11=, $pop86, $pop87 + i32.const $push88=, __stack_pointer + i32.store $discard=, 0($pop88), $11 + i32.store $discard=, 12($11), $2 + block + i32.const $push3=, 19 + i32.gt_u $push4=, $0, $pop3 + br_if 0, $pop4 # 0: down to label4 +# BB#1: # %lor.lhs.false3 + i32.load8_u $push5=, seen($0) + br_if 0, $pop5 # 0: down to label4 +# BB#2: # %if.end + i32.const $push6=, 0 + i32.const $push65=, 0 + i32.load $push7=, cnt($pop65) + i32.const $push8=, 1 + i32.add $push9=, $pop7, $pop8 + i32.store $push10=, cnt($pop6), $pop9 + i32.const $push11=, 64 + i32.or $push12=, $pop10, $pop11 + i32.store8 $discard=, seen($0), $pop12 + i32.const $push13=, 10 + i32.ne $push14=, $1, $pop13 + br_if 0, $pop14 # 0: down to label4 +# BB#3: # %if.end9 + block + i32.const $push15=, 2 + i32.eq $push16=, $0, $pop15 + br_if 0, $pop16 # 0: down to label5 +# BB#4: # %if.end9 + i32.const $push17=, 11 + i32.eq $push18=, $0, $pop17 + br_if 0, $pop18 # 0: down to label5 +# BB#5: # %if.end9 + i32.const $push19=, 12 + i32.ne $push20=, $0, $pop19 + br_if 1, $pop20 # 1: down to label4 +# BB#6: # %sw.bb + i32.load $push23=, 12($11) + i32.const $push24=, 15 + i32.add $push25=, $pop23, $pop24 + i32.const $push26=, -16 + i32.and $push68=, $pop25, $pop26 + tee_local $push67=, $2=, $pop68 + i64.load $3=, 8($pop67) + i64.load $4=, 0($2):p2align=4 + i32.const $push27=, 16 + i32.add $push0=, $2, $pop27 + i32.store $1=, 12($11), $pop0 + i64.const $push66=, 0 + i64.const $push28=, 4612891083171430400 + i32.call $push29=, __netf2@FUNCTION, $4, $3, $pop66, $pop28 + br_if 1, $pop29 # 1: down to label4 +# BB#7: # %sw.bb + i32.const $push30=, 0 + i64.load $push21=, v5($pop30):p2align=4 + i32.const $push70=, 0 + i64.load $push22=, v5+8($pop70) + i64.const $push69=, 0 + i64.const $push31=, 4612882287078408192 + i32.call $push32=, __eqtf2@FUNCTION, $pop21, $pop22, $pop69, $pop31 + br_if 1, $pop32 # 1: down to label4 +# BB#8: # %if.end16 + i32.const $push76=, 12 + i32.const $5=, 32 + i32.add $5=, $11, $5 + i32.add $push36=, $5, $pop76 + i32.const $push75=, 12 + i32.add $push34=, $1, $pop75 + i32.load $push35=, 0($pop34):p2align=0 + i32.store $discard=, 0($pop36), $pop35 + i32.const $push74=, 8 + i32.const $6=, 32 + i32.add $6=, $11, $6 + i32.add $push39=, $6, $pop74 + i32.const $push73=, 8 + i32.add $push37=, $1, $pop73 + i32.load $push38=, 0($pop37):p2align=0 + i32.store $discard=, 0($pop39):p2align=3, $pop38 + i64.load $push40=, 0($1):p2align=0 + i64.store $discard=, 32($11), $pop40 + i32.const $push33=, 32 + i32.add $push1=, $2, $pop33 + i32.store $1=, 12($11), $pop1 + i32.const $push72=, v4 + i32.const $push71=, 16 + i32.const $7=, 32 + i32.add $7=, $11, $7 + i32.call $push41=, memcmp@FUNCTION, $7, $pop72, $pop71 + br_if 1, $pop41 # 1: down to label4 +# BB#9: # %if.end22 + i32.const $push82=, 12 + i32.const $8=, 16 + i32.add $8=, $11, $8 + i32.add $push46=, $8, $pop82 + i32.const $push81=, 12 + i32.add $push44=, $1, $pop81 + i32.load $push45=, 0($pop44):p2align=0 + i32.store $discard=, 0($pop46), $pop45 + i32.const $push80=, 8 + i32.const $9=, 16 + i32.add $9=, $11, $9 + i32.add $push49=, $9, $pop80 + i32.const $push79=, 8 + i32.add $push47=, $1, $pop79 + i32.load $push48=, 0($pop47):p2align=0 + i32.store $discard=, 0($pop49):p2align=3, $pop48 + i64.load $push50=, 0($1):p2align=0 + i64.store $discard=, 16($11), $pop50 + i32.const $push42=, 48 + i32.add $push43=, $2, $pop42 + i32.store $1=, 12($11), $pop43 + i32.const $push78=, v4 + i32.const $push77=, 16 + i32.const $10=, 16 + i32.add $10=, $11, $10 + i32.call $push51=, memcmp@FUNCTION, $10, $pop78, $pop77 + br_if 1, $pop51 # 1: down to label4 +# BB#10: # %if.end31 + i32.const $push52=, 52 + i32.add $push2=, $2, $pop52 + i32.store $2=, 12($11), $pop2 + i32.load $push53=, 0($1):p2align=4 + i32.const $push54=, v2 + i32.ne $push55=, $pop53, $pop54 + br_if 1, $pop55 # 1: down to label4 +# BB#11: # %if.end37 + i32.const $push56=, 7 + i32.add $push57=, $2, $pop56 + i32.const $push58=, -8 + i32.and $push84=, $pop57, $pop58 + tee_local $push83=, $2=, $pop84 + i64.load $3=, 0($pop83) + i32.const $push59=, 8 + i32.add $push60=, $2, $pop59 + i32.store $discard=, 12($11), $pop60 + i64.const $push61=, 16 + i64.ne $push62=, $3, $pop61 + br_if 1, $pop62 # 1: down to label4 +.LBB1_12: # %sw.epilog + end_block # label5: + i32.const $push63=, 8 + i32.add $push64=, $0, $pop63 + i32.const $push89=, 48 + i32.add $11=, $11, $pop89 + i32.const $push90=, __stack_pointer + i32.store $discard=, 0($pop90), $11 + return $pop64 +.LBB1_13: # %sw.default + end_block # label4: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end1: + .size foo2, .Lfunc_end1-foo2 + + .section .text.foo3,"ax",@progbits + .hidden foo3 + .globl foo3 + .type foo3,@function +foo3: # @foo3 + .result i32 +# BB#0: # %entry + i32.const $push0=, 6 + return $pop0 + .endfunc +.Lfunc_end2: + .size foo3, .Lfunc_end2-foo3 + + .section .text.main,"ax",@progbits + .hidden main + .globl main + .type main,@function +main: # @main + .result i32 + .local 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 +# BB#0: # %entry + i32.const $push103=, __stack_pointer + i32.load $push104=, 0($pop103) + i32.const $push105=, 176 + i32.sub $24=, $pop104, $pop105 + i32.const $push106=, __stack_pointer + i32.store $discard=, 0($pop106), $24 + i32.const $push68=, 0 + i32.load $0=, v1($pop68) + i32.const $push67=, 0 + i32.const $push66=, 0 + i32.load $push65=, v2($pop66) + tee_local $push64=, $4=, $pop65 + i32.const $push63=, 1 + i32.add $push1=, $pop64, $pop63 + i32.store $discard=, v2($pop67), $pop1 + i32.const $push62=, 0 + i32.const $push61=, 1 + i32.add $push0=, $0, $pop61 + i32.store $0=, v1($pop62), $pop0 + i32.const $push2=, 12 + i32.const $5=, 160 + i32.add $5=, $24, $5 + i32.add $push3=, $5, $pop2 + i32.const $push60=, 0 + i32.load $push4=, v4+12($pop60):p2align=0 + i32.store $discard=, 0($pop3), $pop4 + i32.const $push59=, 8 + i32.const $6=, 160 + i32.add $6=, $24, $6 + i32.add $push5=, $6, $pop59 + i32.const $push58=, 0 + i32.load $push6=, v4+8($pop58):p2align=0 + i32.store $discard=, 0($pop5), $pop6 + i32.const $push57=, 0 + i64.load $push7=, v4($pop57):p2align=0 + i64.store $discard=, 160($24):p2align=2, $pop7 + i32.store $discard=, 156($24), $4 + i32.const $push8=, v4 + i32.store $discard=, 152($24):p2align=3, $pop8 + i32.store $discard=, 144($24):p2align=4, $0 + i32.const $7=, 160 + i32.add $7=, $24, $7 + i32.store $discard=, 148($24), $7 + i32.const $push56=, 0 + i32.const $8=, 144 + i32.add $8=, $24, $8 + block + i32.call $push9=, bar@FUNCTION, $pop56, $8 + br_if 0, $pop9 # 0: down to label6 +# BB#1: # %if.end + i32.const $push77=, 0 + i64.load $push11=, v5($pop77):p2align=4 + i32.const $push76=, 0 + i64.load $push10=, v5+8($pop76) + i64.const $push13=, 0 + i64.const $push12=, 4611404543450677248 + i32.const $9=, 96 + i32.add $9=, $24, $9 + call __addtf3@FUNCTION, $9, $pop11, $pop10, $pop13, $pop12 + i64.load $1=, 96($24) + i32.const $push75=, 0 + i32.const $push74=, 8 + i32.const $10=, 96 + i32.add $10=, $24, $10 + i32.add $push14=, $10, $pop74 + i64.load $push15=, 0($pop14) + i64.store $2=, v5+8($pop75), $pop15 + i32.const $push73=, 0 + i32.load $0=, v3($pop73) + i32.const $push72=, 0 + i64.store $discard=, v5($pop72):p2align=4, $1 + i32.const $push16=, 20 + i32.const $11=, 112 + i32.add $11=, $24, $11 + i32.add $push17=, $11, $pop16 + i32.store $discard=, 0($pop17), $0 + i32.const $push18=, 16 + i32.const $12=, 112 + i32.add $12=, $24, $12 + i32.add $push19=, $12, $pop18 + i32.const $push71=, 8 + i32.store $discard=, 0($pop19):p2align=4, $pop71 + i64.store $discard=, 120($24), $2 + i64.store $discard=, 112($24):p2align=4, $1 + i32.const $push70=, 1 + i32.const $13=, 112 + i32.add $13=, $24, $13 + i32.call $push20=, bar@FUNCTION, $pop70, $13 + i32.const $push69=, 1 + i32.ne $push21=, $pop20, $pop69 + br_if 0, $pop21 # 0: down to label6 +# BB#2: # %if.end6 + i32.const $push80=, 2 + i32.const $push79=, 0 + i32.call $push22=, bar@FUNCTION, $pop80, $pop79 + i32.const $push78=, 2 + i32.ne $push23=, $pop22, $pop78 + br_if 0, $pop23 # 0: down to label6 +# BB#3: # %if.end10 + i32.const $push83=, 0 + i32.load $push24=, v1($pop83) + i32.const $push82=, 2 + i32.add $push25=, $pop24, $pop82 + i32.const $push81=, 0 + i32.call $push26=, bar@FUNCTION, $pop25, $pop81 + i32.const $push27=, 19 + i32.ne $push28=, $pop26, $pop27 + br_if 0, $pop28 # 0: down to label6 +# BB#4: # %if.end14 + i32.const $push101=, 0 + i32.load $0=, v1($pop101) + i32.const $push100=, 0 + i64.load $push99=, v5($pop100):p2align=4 + tee_local $push98=, $1=, $pop99 + i32.const $push97=, 0 + i64.load $push96=, v5+8($pop97) + tee_local $push95=, $2=, $pop96 + i64.const $push32=, 0 + i64.const $push31=, -4611967493404098560 + call __addtf3@FUNCTION, $24, $pop98, $pop95, $pop32, $pop31 + i64.load $3=, 0($24) + i32.const $push94=, 0 + i32.const $push33=, 8 + i32.add $push34=, $24, $pop33 + i64.load $push35=, 0($pop34) + i64.store $discard=, v5+8($pop94), $pop35 + i32.const $push93=, 0 + i64.store $discard=, v5($pop93):p2align=4, $3 + i32.const $push92=, 0 + i32.load $4=, v3($pop92) + i32.const $push36=, 12 + i32.const $14=, 80 + i32.add $14=, $24, $14 + i32.add $push37=, $14, $pop36 + i32.const $push91=, 0 + i32.load $push38=, v4+12($pop91):p2align=0 + i32.store $discard=, 0($pop37), $pop38 + i32.const $push90=, 8 + i32.const $15=, 80 + i32.add $15=, $24, $15 + i32.add $push39=, $15, $pop90 + i32.const $push89=, 0 + i32.load $push40=, v4+8($pop89):p2align=0 + i32.store $discard=, 0($pop39), $pop40 + i32.const $push88=, 0 + i64.load $push41=, v4($pop88):p2align=0 + i64.store $discard=, 80($24):p2align=2, $pop41 + i32.const $push87=, 8 + i32.const $16=, 64 + i32.add $16=, $24, $16 + i32.add $push42=, $16, $pop87 + i32.const $push86=, 0 + i64.load $push43=, v4+8($pop86):p2align=0 + i64.store $discard=, 0($pop42):p2align=2, $pop43 + i32.const $push85=, 0 + i64.load $push44=, v4($pop85):p2align=0 + i64.store $discard=, 64($24):p2align=2, $pop44 + i32.const $push45=, 32 + i32.const $17=, 16 + i32.add $17=, $24, $17 + i32.add $push46=, $17, $pop45 + i64.const $push47=, 16 + i64.store $discard=, 0($pop46):p2align=4, $pop47 + i32.const $push48=, 24 + i32.const $18=, 16 + i32.add $18=, $24, $18 + i32.add $push49=, $18, $pop48 + i32.store $discard=, 0($pop49):p2align=3, $4 + i32.const $push50=, 20 + i32.const $19=, 16 + i32.add $19=, $24, $19 + i32.add $push51=, $19, $pop50 + i32.const $20=, 64 + i32.add $20=, $24, $20 + i32.store $discard=, 0($pop51), $20 + i32.const $push52=, 16 + i32.const $21=, 16 + i32.add $21=, $24, $21 + i32.add $push53=, $21, $pop52 + i32.const $22=, 80 + i32.add $22=, $24, $22 + i32.store $discard=, 0($pop53):p2align=4, $22 + i64.store $discard=, 24($24), $2 + i64.store $discard=, 16($24):p2align=4, $1 + i32.const $push29=, 3 + i32.add $push30=, $0, $pop29 + i32.const $23=, 16 + i32.add $23=, $24, $23 + i32.call $push54=, bar@FUNCTION, $pop30, $23 + i32.const $push84=, 20 + i32.ne $push55=, $pop54, $pop84 + br_if 0, $pop55 # 0: down to label6 +# BB#5: # %if.end19 + i32.const $push102=, 0 + i32.const $push107=, 176 + i32.add $24=, $24, $pop107 + i32.const $push108=, __stack_pointer + i32.store $discard=, 0($pop108), $24 + return $pop102 +.LBB3_6: # %if.then18 + end_block # label6: + call abort@FUNCTION + unreachable + .endfunc +.Lfunc_end3: + .size main, .Lfunc_end3-main + + .hidden v1 # @v1 + .type v1,@object + .section .data.v1,"aw",@progbits + .globl v1 + .p2align 2 +v1: + .int32 8 # 0x8 + .size v1, 4 + + .hidden v2 # @v2 + .type v2,@object + .section .data.v2,"aw",@progbits + .globl v2 + .p2align 2 +v2: + .int32 3 # 0x3 + .size v2, 4 + + .hidden v3 # @v3 + .type v3,@object + .section .data.v3,"aw",@progbits + .globl v3 + .p2align 2 +v3: + .int32 v2 + .size v3, 4 + + .hidden v4 # @v4 + .type v4,@object + .section .data.v4,"aw",@progbits + .globl v4 +v4: + .asciz "foo\000\000\000\000\000\000\000\000\000\000\000\000" + .size v4, 16 + + .hidden v5 # @v5 + .type v5,@object + .section .data.v5,"aw",@progbits + .globl v5 + .p2align 4 +v5: + .int64 0 # fp128 40 + .int64 4612882287078408192 + .size v5, 16 + + .hidden seen # @seen + .type seen,@object + .section .bss.seen,"aw",@nobits + .globl seen + .p2align 4 +seen: + .skip 20 + .size seen, 20 + + .hidden cnt # @cnt + .type cnt,@object + .section .bss.cnt,"aw",@nobits + .globl cnt + .p2align 2 +cnt: + .int32 0 # 0x0 + .size cnt, 4 + + + .ident "clang version 3.9.0 " diff --git a/test/torture-s/va-arg-trap-1.c.s b/test/torture-s/va-arg-trap-1.c.s index 0e7efdea2..ebc8d321f 100644 --- a/test/torture-s/va-arg-trap-1.c.s +++ b/test/torture-s/va-arg-trap-1.c.s @@ -35,17 +35,17 @@ bar: # @bar .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - 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.store $3=, 0($2), $3 + i32.const $push1=, __stack_pointer + i32.load $push2=, 0($pop1) + i32.const $push3=, 16 + i32.sub $1=, $pop2, $pop3 + i32.const $push4=, __stack_pointer + i32.store $discard=, 0($pop4), $1 i32.const $push0=, 0 - i32.store $discard=, 0($3):p2align=4, $pop0 - call bar@FUNCTION, $0, $3 + i32.store $discard=, 0($1):p2align=4, $pop0 + call bar@FUNCTION, $0, $1 unreachable .endfunc .Lfunc_end2: diff --git a/test/torture-s/vfprintf-1.c.s b/test/torture-s/vfprintf-1.c.s index 20635809b..0780c1149 100644 --- a/test/torture-s/vfprintf-1.c.s +++ b/test/torture-s/vfprintf-1.c.s @@ -6,16 +6,16 @@ .type inner,@function inner: # @inner .param i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 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 + i32.const $push120=, __stack_pointer + i32.load $push121=, 0($pop120) + i32.const $push122=, 16 + i32.sub $2=, $pop121, $pop122 + i32.const $push123=, __stack_pointer + i32.store $discard=, 0($pop123), $2 + i32.store $push0=, 12($2), $1 + i32.store $discard=, 8($2), $pop0 block block block @@ -50,12 +50,12 @@ inner: # @inner i32.const $push89=, 0 i32.load $push90=, stdout($pop89) i32.const $push92=, .L.str - i32.load $push91=, 12($5) + i32.load $push91=, 12($2) 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($5) + i32.load $push94=, 8($2) i32.call $push95=, vfprintf@FUNCTION, $pop93, $pop98, $pop94 i32.const $push96=, 5 i32.eq $push97=, $pop95, $pop96 @@ -68,12 +68,12 @@ inner: # @inner i32.const $push80=, 0 i32.load $push81=, stdout($pop80) i32.const $push83=, .L.str.1 - i32.load $push82=, 12($5) + i32.load $push82=, 12($2) 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($5) + i32.load $push85=, 8($2) i32.call $push86=, vfprintf@FUNCTION, $pop84, $pop100, $pop85 i32.const $push87=, 6 i32.eq $push88=, $pop86, $pop87 @@ -86,12 +86,12 @@ inner: # @inner i32.const $push71=, 0 i32.load $push72=, stdout($pop71) i32.const $push74=, .L.str.2 - i32.load $push73=, 12($5) + i32.load $push73=, 12($2) 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($5) + i32.load $push76=, 8($2) i32.call $push77=, vfprintf@FUNCTION, $pop75, $pop102, $pop76 i32.const $push78=, 1 i32.eq $push79=, $pop77, $pop78 @@ -104,16 +104,16 @@ inner: # @inner i32.const $push64=, 0 i32.load $push65=, stdout($pop64) i32.const $push67=, .L.str.3 - i32.load $push66=, 12($5) + i32.load $push66=, 12($2) 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($5) + i32.load $push69=, 8($2) i32.call $push70=, vfprintf@FUNCTION, $pop68, $pop104, $pop69 - i32.const $push120=, 0 - i32.eq $push121=, $pop70, $pop120 - br_if 8, $pop121 # 8: down to label1 + i32.const $push126=, 0 + i32.eq $push127=, $pop70, $pop126 + br_if 8, $pop127 # 8: down to label1 # BB#9: # %if.then20 call abort@FUNCTION unreachable @@ -122,12 +122,12 @@ inner: # @inner i32.const $push55=, 0 i32.load $push56=, stdout($pop55) i32.const $push58=, .L.str.4 - i32.load $push57=, 12($5) + i32.load $push57=, 12($2) 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($5) + i32.load $push60=, 8($2) i32.call $push61=, vfprintf@FUNCTION, $pop59, $pop106, $pop60 i32.const $push62=, 5 i32.eq $push63=, $pop61, $pop62 @@ -140,12 +140,12 @@ inner: # @inner i32.const $push46=, 0 i32.load $push47=, stdout($pop46) i32.const $push49=, .L.str.4 - i32.load $push48=, 12($5) + i32.load $push48=, 12($2) 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($5) + i32.load $push51=, 8($2) i32.call $push52=, vfprintf@FUNCTION, $pop50, $pop108, $pop51 i32.const $push53=, 6 i32.eq $push54=, $pop52, $pop53 @@ -158,12 +158,12 @@ inner: # @inner i32.const $push37=, 0 i32.load $push38=, stdout($pop37) i32.const $push40=, .L.str.4 - i32.load $push39=, 12($5) + i32.load $push39=, 12($2) 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($5) + i32.load $push42=, 8($2) i32.call $push43=, vfprintf@FUNCTION, $pop41, $pop110, $pop42 i32.const $push44=, 1 i32.eq $push45=, $pop43, $pop44 @@ -176,16 +176,16 @@ inner: # @inner i32.const $push30=, 0 i32.load $push31=, stdout($pop30) i32.const $push33=, .L.str.4 - i32.load $push32=, 12($5) + i32.load $push32=, 12($2) 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($5) + i32.load $push35=, 8($2) i32.call $push36=, vfprintf@FUNCTION, $pop34, $pop112, $pop35 - i32.const $push122=, 0 - i32.eq $push123=, $pop36, $pop122 - br_if 4, $pop123 # 4: down to label1 + i32.const $push128=, 0 + i32.eq $push129=, $pop36, $pop128 + br_if 4, $pop129 # 4: down to label1 # BB#17: # %if.then44 call abort@FUNCTION unreachable @@ -194,12 +194,12 @@ inner: # @inner i32.const $push12=, 0 i32.load $push13=, stdout($pop12) i32.const $push15=, .L.str.6 - i32.load $push14=, 12($5) + i32.load $push14=, 12($2) 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($5) + i32.load $push17=, 8($2) i32.call $push18=, vfprintf@FUNCTION, $pop16, $pop116, $pop17 i32.const $push19=, 7 i32.eq $push20=, $pop18, $pop19 @@ -212,12 +212,12 @@ inner: # @inner i32.const $push3=, 0 i32.load $push4=, stdout($pop3) i32.const $push6=, .L.str.7 - i32.load $push5=, 12($5) + i32.load $push5=, 12($2) 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($5) + i32.load $push8=, 8($2) i32.call $push9=, vfprintf@FUNCTION, $pop7, $pop118, $pop8 i32.const $push10=, 2 i32.eq $push11=, $pop9, $pop10 @@ -231,22 +231,22 @@ inner: # @inner i32.const $push21=, 0 i32.load $push22=, stdout($pop21) i32.const $push24=, .L.str.5 - i32.load $push23=, 12($5) + i32.load $push23=, 12($2) 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($5) + i32.load $push26=, 8($2) i32.call $push27=, vfprintf@FUNCTION, $pop25, $pop114, $pop26 i32.const $push28=, 1 i32.ne $push29=, $pop27, $pop28 br_if 1, $pop29 # 1: down to label0 .LBB0_23: # %sw.epilog end_block # label1: - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push124=, 16 + i32.add $2=, $2, $pop124 + i32.const $push125=, __stack_pointer + i32.store $discard=, 0($pop125), $2 return .LBB0_24: # %if.then50 end_block # label0: @@ -262,14 +262,14 @@ inner: # @inner .type main,@function main: # @main .result i32 - .local 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 $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 $push21=, __stack_pointer + i32.load $push22=, 0($pop21) + i32.const $push23=, 112 + i32.sub $7=, $pop22, $pop23 + i32.const $push24=, __stack_pointer + i32.store $discard=, 0($pop24), $7 i32.const $push0=, 0 i32.const $push20=, 0 call inner@FUNCTION, $pop0, $pop20 @@ -283,48 +283,48 @@ main: # @main i32.const $push17=, 0 call inner@FUNCTION, $pop3, $pop17 i32.const $push4=, .L.str - i32.store $discard=, 96($10):p2align=4, $pop4 + i32.store $discard=, 96($7):p2align=4, $pop4 i32.const $push5=, 4 - i32.const $4=, 96 - i32.add $4=, $10, $4 - call inner@FUNCTION, $pop5, $4 + i32.const $1=, 96 + i32.add $1=, $7, $1 + call inner@FUNCTION, $pop5, $1 i32.const $push6=, .L.str.1 - i32.store $0=, 80($10):p2align=4, $pop6 + i32.store $0=, 80($7):p2align=4, $pop6 i32.const $push7=, 5 - i32.const $5=, 80 - i32.add $5=, $10, $5 - call inner@FUNCTION, $pop7, $5 + i32.const $2=, 80 + i32.add $2=, $7, $2 + call inner@FUNCTION, $pop7, $2 i32.const $push8=, .L.str.2 - i32.store $discard=, 64($10):p2align=4, $pop8 + i32.store $discard=, 64($7):p2align=4, $pop8 i32.const $push9=, 6 - i32.const $6=, 64 - i32.add $6=, $10, $6 - call inner@FUNCTION, $pop9, $6 + i32.const $3=, 64 + i32.add $3=, $7, $3 + call inner@FUNCTION, $pop9, $3 i32.const $push10=, .L.str.3 - i32.store $discard=, 48($10):p2align=4, $pop10 + i32.store $discard=, 48($7):p2align=4, $pop10 i32.const $push11=, 7 - i32.const $7=, 48 - i32.add $7=, $10, $7 - call inner@FUNCTION, $pop11, $7 + i32.const $4=, 48 + i32.add $4=, $7, $4 + call inner@FUNCTION, $pop11, $4 i32.const $push12=, 120 - i32.store $discard=, 32($10):p2align=4, $pop12 + i32.store $discard=, 32($7):p2align=4, $pop12 i32.const $push13=, 8 - i32.const $8=, 32 - i32.add $8=, $10, $8 - call inner@FUNCTION, $pop13, $8 - i32.store $discard=, 16($10):p2align=4, $0 + i32.const $5=, 32 + i32.add $5=, $7, $5 + call inner@FUNCTION, $pop13, $5 + i32.store $discard=, 16($7):p2align=4, $0 i32.const $push14=, 9 - i32.const $9=, 16 - i32.add $9=, $10, $9 - call inner@FUNCTION, $pop14, $9 + i32.const $6=, 16 + i32.add $6=, $7, $6 + call inner@FUNCTION, $pop14, $6 i32.const $push16=, 0 - i32.store $0=, 0($10):p2align=4, $pop16 + i32.store $0=, 0($7):p2align=4, $pop16 i32.const $push15=, 10 - 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 + call inner@FUNCTION, $pop15, $7 + i32.const $push25=, 112 + i32.add $7=, $7, $pop25 + i32.const $push26=, __stack_pointer + i32.store $discard=, 0($pop26), $7 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 9c6d0d997..6ecb87587 100644 --- a/test/torture-s/vfprintf-chk-1.c.s +++ b/test/torture-s/vfprintf-chk-1.c.s @@ -32,16 +32,16 @@ __vfprintf_chk: # @__vfprintf_chk .type inner,@function inner: # @inner .param i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 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 + i32.const $push193=, __stack_pointer + i32.load $push194=, 0($pop193) + i32.const $push195=, 16 + i32.sub $2=, $pop194, $pop195 + i32.const $push196=, __stack_pointer + i32.store $discard=, 0($pop196), $2 + i32.store $push0=, 12($2), $1 + i32.store $discard=, 8($2), $pop0 block i32.const $push1=, 10 i32.gt_u $push2=, $0, $pop1 @@ -78,20 +78,20 @@ inner: # @inner i32.const $push132=, 0 i32.load $push119=, stdout($pop132) i32.const $push131=, .L.str - i32.load $push120=, 12($5) + i32.load $push120=, 12($2) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop119, $0, $pop131, $pop120 i32.const $push130=, 0 i32.load $push121=, should_optimize($pop130) - i32.const $push193=, 0 - i32.eq $push194=, $pop121, $pop193 - br_if 11, $pop194 # 11: down to label1 + i32.const $push199=, 0 + i32.eq $push200=, $pop121, $pop199 + br_if 11, $pop200 # 11: down to label1 # BB#3: # %if.end i32.const $push136=, 0 i32.const $push135=, 0 i32.store $push122=, should_optimize($pop136), $pop135 i32.load $push123=, stdout($pop122) i32.const $push134=, .L.str - i32.load $push124=, 8($5) + i32.load $push124=, 8($2) i32.call $push125=, __vfprintf_chk@FUNCTION, $pop123, $0, $pop134, $pop124 i32.const $push126=, 5 i32.ne $push127=, $pop125, $pop126 @@ -111,20 +111,20 @@ inner: # @inner i32.const $push139=, 0 i32.load $push107=, stdout($pop139) i32.const $push138=, .L.str.1 - i32.load $push108=, 12($5) + i32.load $push108=, 12($2) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop107, $0, $pop138, $pop108 i32.const $push137=, 0 i32.load $push109=, should_optimize($pop137) - i32.const $push195=, 0 - i32.eq $push196=, $pop109, $pop195 - br_if 10, $pop196 # 10: down to label1 + i32.const $push201=, 0 + i32.eq $push202=, $pop109, $pop201 + br_if 10, $pop202 # 10: down to label1 # BB#7: # %if.end13 i32.const $push143=, 0 i32.const $push142=, 0 i32.store $push110=, should_optimize($pop143), $pop142 i32.load $push111=, stdout($pop110) i32.const $push141=, .L.str.1 - i32.load $push112=, 8($5) + i32.load $push112=, 8($2) i32.call $push113=, __vfprintf_chk@FUNCTION, $pop111, $0, $pop141, $pop112 i32.const $push114=, 6 i32.ne $push115=, $pop113, $pop114 @@ -144,20 +144,20 @@ inner: # @inner i32.const $push146=, 0 i32.load $push96=, stdout($pop146) i32.const $push145=, .L.str.2 - i32.load $push97=, 12($5) + i32.load $push97=, 12($2) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop96, $0, $pop145, $pop97 i32.const $push144=, 0 i32.load $push98=, should_optimize($pop144) - i32.const $push197=, 0 - i32.eq $push198=, $pop98, $pop197 - br_if 9, $pop198 # 9: down to label1 + i32.const $push203=, 0 + i32.eq $push204=, $pop98, $pop203 + br_if 9, $pop204 # 9: down to label1 # BB#11: # %if.end25 i32.const $push150=, 0 i32.const $push149=, 0 i32.store $push99=, should_optimize($pop150), $pop149 i32.load $push100=, stdout($pop99) i32.const $push148=, .L.str.2 - i32.load $push101=, 8($5) + i32.load $push101=, 8($2) i32.call $push102=, __vfprintf_chk@FUNCTION, $pop100, $0, $pop148, $pop101 i32.ne $push103=, $pop102, $0 br_if 9, $pop103 # 9: down to label1 @@ -176,20 +176,20 @@ inner: # @inner i32.const $push153=, 0 i32.load $push86=, stdout($pop153) i32.const $push152=, .L.str.3 - i32.load $push87=, 12($5) + i32.load $push87=, 12($2) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop86, $0, $pop152, $pop87 i32.const $push151=, 0 i32.load $push88=, should_optimize($pop151) - i32.const $push199=, 0 - i32.eq $push200=, $pop88, $pop199 - br_if 8, $pop200 # 8: down to label1 + i32.const $push205=, 0 + i32.eq $push206=, $pop88, $pop205 + br_if 8, $pop206 # 8: down to label1 # BB#15: # %if.end37 i32.const $push157=, 0 i32.const $push156=, 0 i32.store $push89=, should_optimize($pop157), $pop156 i32.load $push90=, stdout($pop89) i32.const $push155=, .L.str.3 - i32.load $push91=, 8($5) + i32.load $push91=, 8($2) i32.call $push92=, __vfprintf_chk@FUNCTION, $pop90, $0, $pop155, $pop91 br_if 8, $pop92 # 8: down to label1 # BB#16: # %if.end41 @@ -207,17 +207,17 @@ inner: # @inner tee_local $push159=, $0=, $pop160 i32.load $push74=, stdout($pop159) i32.const $push158=, .L.str.4 - i32.load $push75=, 12($5) + i32.load $push75=, 12($2) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop74, $0, $pop158, $pop75 i32.load $push76=, should_optimize($0) - i32.const $push201=, 0 - i32.eq $push202=, $pop76, $pop201 - br_if 7, $pop202 # 7: down to label1 + i32.const $push207=, 0 + i32.eq $push208=, $pop76, $pop207 + br_if 7, $pop208 # 7: down to label1 # BB#19: # %if.end49 i32.store $push77=, should_optimize($0), $0 i32.load $push78=, stdout($pop77) i32.const $push162=, .L.str.4 - i32.load $push79=, 8($5) + i32.load $push79=, 8($2) i32.call $push80=, __vfprintf_chk@FUNCTION, $pop78, $0, $pop162, $pop79 i32.const $push81=, 5 i32.ne $push82=, $pop80, $pop81 @@ -237,17 +237,17 @@ inner: # @inner tee_local $push164=, $0=, $pop165 i32.load $push62=, stdout($pop164) i32.const $push163=, .L.str.4 - i32.load $push63=, 12($5) + i32.load $push63=, 12($2) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop62, $0, $pop163, $pop63 i32.load $push64=, should_optimize($0) - i32.const $push203=, 0 - i32.eq $push204=, $pop64, $pop203 - br_if 6, $pop204 # 6: down to label1 + i32.const $push209=, 0 + i32.eq $push210=, $pop64, $pop209 + br_if 6, $pop210 # 6: down to label1 # BB#23: # %if.end61 i32.store $push65=, should_optimize($0), $0 i32.load $push66=, stdout($pop65) i32.const $push167=, .L.str.4 - i32.load $push67=, 8($5) + i32.load $push67=, 8($2) i32.call $push68=, __vfprintf_chk@FUNCTION, $pop66, $0, $pop167, $pop67 i32.const $push69=, 6 i32.ne $push70=, $pop68, $pop69 @@ -267,17 +267,17 @@ inner: # @inner tee_local $push169=, $0=, $pop170 i32.load $push50=, stdout($pop169) i32.const $push168=, .L.str.4 - i32.load $push51=, 12($5) + i32.load $push51=, 12($2) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop50, $0, $pop168, $pop51 i32.load $push52=, should_optimize($0) - i32.const $push205=, 0 - i32.eq $push206=, $pop52, $pop205 - br_if 5, $pop206 # 5: down to label1 + i32.const $push211=, 0 + i32.eq $push212=, $pop52, $pop211 + br_if 5, $pop212 # 5: down to label1 # BB#27: # %if.end73 i32.store $push53=, should_optimize($0), $0 i32.load $push54=, stdout($pop53) i32.const $push172=, .L.str.4 - i32.load $push55=, 8($5) + i32.load $push55=, 8($2) i32.call $push56=, __vfprintf_chk@FUNCTION, $pop54, $0, $pop172, $pop55 i32.const $push57=, 1 i32.ne $push58=, $pop56, $pop57 @@ -297,17 +297,17 @@ inner: # @inner tee_local $push174=, $0=, $pop175 i32.load $push40=, stdout($pop174) i32.const $push173=, .L.str.4 - i32.load $push41=, 12($5) + i32.load $push41=, 12($2) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop40, $0, $pop173, $pop41 i32.load $push42=, should_optimize($0) - i32.const $push207=, 0 - i32.eq $push208=, $pop42, $pop207 - br_if 4, $pop208 # 4: down to label1 + i32.const $push213=, 0 + i32.eq $push214=, $pop42, $pop213 + br_if 4, $pop214 # 4: down to label1 # BB#31: # %if.end85 i32.store $push43=, should_optimize($0), $0 i32.load $push44=, stdout($pop43) i32.const $push177=, .L.str.4 - i32.load $push45=, 8($5) + i32.load $push45=, 8($2) i32.call $push46=, __vfprintf_chk@FUNCTION, $pop44, $0, $pop177, $pop45 br_if 4, $pop46 # 4: down to label1 # BB#32: # %if.end89 @@ -325,17 +325,17 @@ inner: # @inner tee_local $push179=, $0=, $pop180 i32.load $push28=, stdout($pop179) i32.const $push178=, .L.str.5 - i32.load $push29=, 12($5) + i32.load $push29=, 12($2) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop28, $0, $pop178, $pop29 i32.load $push30=, should_optimize($0) - i32.const $push209=, 0 - i32.eq $push210=, $pop30, $pop209 - br_if 3, $pop210 # 3: down to label1 + i32.const $push215=, 0 + i32.eq $push216=, $pop30, $pop215 + br_if 3, $pop216 # 3: down to label1 # BB#35: # %if.end97 i32.store $push31=, should_optimize($0), $0 i32.load $push32=, stdout($pop31) i32.const $push182=, .L.str.5 - i32.load $push33=, 8($5) + i32.load $push33=, 8($2) i32.call $push34=, __vfprintf_chk@FUNCTION, $pop32, $0, $pop182, $pop33 i32.const $push35=, 1 i32.ne $push36=, $pop34, $pop35 @@ -355,17 +355,17 @@ inner: # @inner tee_local $push184=, $0=, $pop185 i32.load $push16=, stdout($pop184) i32.const $push183=, .L.str.6 - i32.load $push17=, 12($5) + i32.load $push17=, 12($2) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop16, $0, $pop183, $pop17 i32.load $push18=, should_optimize($0) - i32.const $push211=, 0 - i32.eq $push212=, $pop18, $pop211 - br_if 2, $pop212 # 2: down to label1 + i32.const $push217=, 0 + i32.eq $push218=, $pop18, $pop217 + br_if 2, $pop218 # 2: down to label1 # BB#39: # %if.end109 i32.store $push19=, should_optimize($0), $0 i32.load $push20=, stdout($pop19) i32.const $push187=, .L.str.6 - i32.load $push21=, 8($5) + i32.load $push21=, 8($2) i32.call $push22=, __vfprintf_chk@FUNCTION, $pop20, $0, $pop187, $pop21 i32.const $push23=, 7 i32.ne $push24=, $pop22, $pop23 @@ -385,17 +385,17 @@ inner: # @inner tee_local $push189=, $0=, $pop190 i32.load $push4=, stdout($pop189) i32.const $push188=, .L.str.7 - i32.load $push5=, 12($5) + i32.load $push5=, 12($2) i32.call $discard=, __vfprintf_chk@FUNCTION, $pop4, $0, $pop188, $pop5 i32.load $push6=, should_optimize($0) - i32.const $push213=, 0 - i32.eq $push214=, $pop6, $pop213 - br_if 1, $pop214 # 1: down to label1 + i32.const $push219=, 0 + i32.eq $push220=, $pop6, $pop219 + br_if 1, $pop220 # 1: down to label1 # BB#43: # %if.end121 i32.store $push7=, should_optimize($0), $0 i32.load $push8=, stdout($pop7) i32.const $push192=, .L.str.7 - i32.load $push9=, 8($5) + i32.load $push9=, 8($2) i32.call $push10=, __vfprintf_chk@FUNCTION, $pop8, $0, $pop192, $pop9 i32.const $push11=, 2 i32.ne $push12=, $pop10, $pop11 @@ -403,15 +403,15 @@ inner: # @inner # BB#44: # %if.end125 i32.const $push13=, 0 i32.load $push14=, should_optimize($pop13) - i32.const $push215=, 0 - i32.eq $push216=, $pop14, $pop215 - br_if 1, $pop216 # 1: down to label1 + i32.const $push221=, 0 + i32.eq $push222=, $pop14, $pop221 + br_if 1, $pop222 # 1: down to label1 .LBB1_45: # %sw.epilog end_block # label2: - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push197=, 16 + i32.add $2=, $2, $pop197 + i32.const $push198=, __stack_pointer + i32.store $discard=, 0($pop198), $2 return .LBB1_46: # %sw.default end_block # label1: @@ -427,14 +427,14 @@ inner: # @inner .type main,@function main: # @main .result i32 - .local 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 $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 $push21=, __stack_pointer + i32.load $push22=, 0($pop21) + i32.const $push23=, 112 + i32.sub $7=, $pop22, $pop23 + i32.const $push24=, __stack_pointer + i32.store $discard=, 0($pop24), $7 i32.const $push0=, 0 i32.const $push20=, 0 call inner@FUNCTION, $pop0, $pop20 @@ -448,48 +448,48 @@ main: # @main i32.const $push17=, 0 call inner@FUNCTION, $pop3, $pop17 i32.const $push4=, .L.str - i32.store $discard=, 96($10):p2align=4, $pop4 + i32.store $discard=, 96($7):p2align=4, $pop4 i32.const $push5=, 4 - i32.const $4=, 96 - i32.add $4=, $10, $4 - call inner@FUNCTION, $pop5, $4 + i32.const $1=, 96 + i32.add $1=, $7, $1 + call inner@FUNCTION, $pop5, $1 i32.const $push6=, .L.str.1 - i32.store $0=, 80($10):p2align=4, $pop6 + i32.store $0=, 80($7):p2align=4, $pop6 i32.const $push7=, 5 - i32.const $5=, 80 - i32.add $5=, $10, $5 - call inner@FUNCTION, $pop7, $5 + i32.const $2=, 80 + i32.add $2=, $7, $2 + call inner@FUNCTION, $pop7, $2 i32.const $push8=, .L.str.2 - i32.store $discard=, 64($10):p2align=4, $pop8 + i32.store $discard=, 64($7):p2align=4, $pop8 i32.const $push9=, 6 - i32.const $6=, 64 - i32.add $6=, $10, $6 - call inner@FUNCTION, $pop9, $6 + i32.const $3=, 64 + i32.add $3=, $7, $3 + call inner@FUNCTION, $pop9, $3 i32.const $push10=, .L.str.3 - i32.store $discard=, 48($10):p2align=4, $pop10 + i32.store $discard=, 48($7):p2align=4, $pop10 i32.const $push11=, 7 - i32.const $7=, 48 - i32.add $7=, $10, $7 - call inner@FUNCTION, $pop11, $7 + i32.const $4=, 48 + i32.add $4=, $7, $4 + call inner@FUNCTION, $pop11, $4 i32.const $push12=, 120 - i32.store $discard=, 32($10):p2align=4, $pop12 + i32.store $discard=, 32($7):p2align=4, $pop12 i32.const $push13=, 8 - i32.const $8=, 32 - i32.add $8=, $10, $8 - call inner@FUNCTION, $pop13, $8 - i32.store $discard=, 16($10):p2align=4, $0 + i32.const $5=, 32 + i32.add $5=, $7, $5 + call inner@FUNCTION, $pop13, $5 + i32.store $discard=, 16($7):p2align=4, $0 i32.const $push14=, 9 - i32.const $9=, 16 - i32.add $9=, $10, $9 - call inner@FUNCTION, $pop14, $9 + i32.const $6=, 16 + i32.add $6=, $7, $6 + call inner@FUNCTION, $pop14, $6 i32.const $push16=, 0 - i32.store $0=, 0($10):p2align=4, $pop16 + i32.store $0=, 0($7):p2align=4, $pop16 i32.const $push15=, 10 - 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 + call inner@FUNCTION, $pop15, $7 + i32.const $push25=, 112 + i32.add $7=, $7, $pop25 + i32.const $push26=, __stack_pointer + i32.store $discard=, 0($pop26), $7 return $0 .endfunc .Lfunc_end2: diff --git a/test/torture-s/vla-dealloc-1.c.s b/test/torture-s/vla-dealloc-1.c.s index 336af60b1..c75e772ce 100644 --- a/test/torture-s/vla-dealloc-1.c.s +++ b/test/torture-s/vla-dealloc-1.c.s @@ -6,16 +6,16 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $5=, __stack_pointer - i32.load $7=, 0($5) - copy_local $8=, $7 + i32.const $push16=, __stack_pointer + i32.load $5=, 0($pop16) + copy_local $6=, $5 i32.const $3=, 0 .LBB0_1: # %if.end # =>This Inner Loop Header: Depth=1 loop # label0: - copy_local $0=, $7 + copy_local $0=, $5 i32.const $push15=, 1000 i32.rem_s $push0=, $3, $pop15 i32.const $push14=, 2 @@ -25,8 +25,8 @@ main: # @main i32.add $push1=, $pop12, $pop11 i32.const $push10=, -16 i32.and $push2=, $pop1, $pop10 - i32.sub $1=, $7, $pop2 - copy_local $7=, $1 + i32.sub $1=, $5, $pop2 + copy_local $5=, $1 i32.const $push9=, 1 i32.store $2=, 0($1):p2align=4, $pop9 i32.add $push3=, $1, $4 @@ -35,15 +35,13 @@ main: # @main i32.const $push7=, 0 i32.store $discard=, p($pop7), $1 i32.add $3=, $3, $2 - copy_local $7=, $0 + copy_local $5=, $0 i32.const $push6=, 1000000 i32.ne $push4=, $3, $pop6 br_if 0, $pop4 # 0: up to label0 # BB#2: # %cleanup5 end_loop # label1: i32.const $push5=, 0 - i32.const $6=, __stack_pointer - i32.store $7=, 0($6), $8 return $pop5 .endfunc .Lfunc_end0: diff --git a/test/torture-s/vprintf-1.c.s b/test/torture-s/vprintf-1.c.s index 06eab6b41..2fa197cce 100644 --- a/test/torture-s/vprintf-1.c.s +++ b/test/torture-s/vprintf-1.c.s @@ -6,16 +6,16 @@ .type inner,@function inner: # @inner .param i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 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 + i32.const $push120=, __stack_pointer + i32.load $push121=, 0($pop120) + i32.const $push122=, 16 + i32.sub $2=, $pop121, $pop122 + i32.const $push123=, __stack_pointer + i32.store $discard=, 0($pop123), $2 + i32.store $push0=, 12($2), $1 + i32.store $discard=, 8($2), $pop0 block block block @@ -50,12 +50,12 @@ inner: # @inner i32.const $push90=, 0 i32.load $push91=, stdout($pop90) i32.const $push92=, .L.str - i32.load $push89=, 12($5) + i32.load $push89=, 12($2) 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($5) + i32.load $push93=, 8($2) i32.call $push95=, vfprintf@FUNCTION, $pop94, $pop98, $pop93 i32.const $push96=, 5 i32.eq $push97=, $pop95, $pop96 @@ -68,12 +68,12 @@ inner: # @inner i32.const $push81=, 0 i32.load $push82=, stdout($pop81) i32.const $push83=, .L.str.1 - i32.load $push80=, 12($5) + i32.load $push80=, 12($2) 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($5) + i32.load $push84=, 8($2) i32.call $push86=, vfprintf@FUNCTION, $pop85, $pop100, $pop84 i32.const $push87=, 6 i32.eq $push88=, $pop86, $pop87 @@ -86,12 +86,12 @@ inner: # @inner i32.const $push72=, 0 i32.load $push73=, stdout($pop72) i32.const $push74=, .L.str.2 - i32.load $push71=, 12($5) + i32.load $push71=, 12($2) 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($5) + i32.load $push75=, 8($2) i32.call $push77=, vfprintf@FUNCTION, $pop76, $pop102, $pop75 i32.const $push78=, 1 i32.eq $push79=, $pop77, $pop78 @@ -104,16 +104,16 @@ inner: # @inner i32.const $push65=, 0 i32.load $push66=, stdout($pop65) i32.const $push67=, .L.str.3 - i32.load $push64=, 12($5) + i32.load $push64=, 12($2) 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($5) + i32.load $push68=, 8($2) i32.call $push70=, vfprintf@FUNCTION, $pop69, $pop104, $pop68 - i32.const $push120=, 0 - i32.eq $push121=, $pop70, $pop120 - br_if 8, $pop121 # 8: down to label1 + i32.const $push126=, 0 + i32.eq $push127=, $pop70, $pop126 + br_if 8, $pop127 # 8: down to label1 # BB#9: # %if.then20 call abort@FUNCTION unreachable @@ -122,12 +122,12 @@ inner: # @inner i32.const $push56=, 0 i32.load $push57=, stdout($pop56) i32.const $push58=, .L.str.4 - i32.load $push55=, 12($5) + i32.load $push55=, 12($2) 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($5) + i32.load $push59=, 8($2) i32.call $push61=, vfprintf@FUNCTION, $pop60, $pop106, $pop59 i32.const $push62=, 5 i32.eq $push63=, $pop61, $pop62 @@ -140,12 +140,12 @@ inner: # @inner i32.const $push47=, 0 i32.load $push48=, stdout($pop47) i32.const $push49=, .L.str.4 - i32.load $push46=, 12($5) + i32.load $push46=, 12($2) 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($5) + i32.load $push50=, 8($2) i32.call $push52=, vfprintf@FUNCTION, $pop51, $pop108, $pop50 i32.const $push53=, 6 i32.eq $push54=, $pop52, $pop53 @@ -158,12 +158,12 @@ inner: # @inner i32.const $push38=, 0 i32.load $push39=, stdout($pop38) i32.const $push40=, .L.str.4 - i32.load $push37=, 12($5) + i32.load $push37=, 12($2) 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($5) + i32.load $push41=, 8($2) i32.call $push43=, vfprintf@FUNCTION, $pop42, $pop110, $pop41 i32.const $push44=, 1 i32.eq $push45=, $pop43, $pop44 @@ -176,16 +176,16 @@ inner: # @inner i32.const $push31=, 0 i32.load $push32=, stdout($pop31) i32.const $push33=, .L.str.4 - i32.load $push30=, 12($5) + i32.load $push30=, 12($2) 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($5) + i32.load $push34=, 8($2) i32.call $push36=, vfprintf@FUNCTION, $pop35, $pop112, $pop34 - i32.const $push122=, 0 - i32.eq $push123=, $pop36, $pop122 - br_if 4, $pop123 # 4: down to label1 + i32.const $push128=, 0 + i32.eq $push129=, $pop36, $pop128 + br_if 4, $pop129 # 4: down to label1 # BB#17: # %if.then44 call abort@FUNCTION unreachable @@ -194,12 +194,12 @@ inner: # @inner i32.const $push13=, 0 i32.load $push14=, stdout($pop13) i32.const $push15=, .L.str.6 - i32.load $push12=, 12($5) + i32.load $push12=, 12($2) 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($5) + i32.load $push16=, 8($2) i32.call $push18=, vfprintf@FUNCTION, $pop17, $pop116, $pop16 i32.const $push19=, 7 i32.eq $push20=, $pop18, $pop19 @@ -212,12 +212,12 @@ inner: # @inner i32.const $push4=, 0 i32.load $push5=, stdout($pop4) i32.const $push6=, .L.str.7 - i32.load $push3=, 12($5) + i32.load $push3=, 12($2) 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($5) + i32.load $push7=, 8($2) i32.call $push9=, vfprintf@FUNCTION, $pop8, $pop118, $pop7 i32.const $push10=, 2 i32.eq $push11=, $pop9, $pop10 @@ -231,22 +231,22 @@ inner: # @inner i32.const $push22=, 0 i32.load $push23=, stdout($pop22) i32.const $push24=, .L.str.5 - i32.load $push21=, 12($5) + i32.load $push21=, 12($2) 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($5) + i32.load $push25=, 8($2) i32.call $push27=, vfprintf@FUNCTION, $pop26, $pop114, $pop25 i32.const $push28=, 1 i32.ne $push29=, $pop27, $pop28 br_if 1, $pop29 # 1: down to label0 .LBB0_23: # %sw.epilog end_block # label1: - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push124=, 16 + i32.add $2=, $2, $pop124 + i32.const $push125=, __stack_pointer + i32.store $discard=, 0($pop125), $2 return .LBB0_24: # %if.then50 end_block # label0: @@ -262,14 +262,14 @@ inner: # @inner .type main,@function main: # @main .result i32 - .local 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 $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 $push21=, __stack_pointer + i32.load $push22=, 0($pop21) + i32.const $push23=, 112 + i32.sub $7=, $pop22, $pop23 + i32.const $push24=, __stack_pointer + i32.store $discard=, 0($pop24), $7 i32.const $push0=, 0 i32.const $push20=, 0 call inner@FUNCTION, $pop0, $pop20 @@ -283,48 +283,48 @@ main: # @main i32.const $push17=, 0 call inner@FUNCTION, $pop3, $pop17 i32.const $push4=, .L.str - i32.store $discard=, 96($10):p2align=4, $pop4 + i32.store $discard=, 96($7):p2align=4, $pop4 i32.const $push5=, 4 - i32.const $4=, 96 - i32.add $4=, $10, $4 - call inner@FUNCTION, $pop5, $4 + i32.const $1=, 96 + i32.add $1=, $7, $1 + call inner@FUNCTION, $pop5, $1 i32.const $push6=, .L.str.1 - i32.store $0=, 80($10):p2align=4, $pop6 + i32.store $0=, 80($7):p2align=4, $pop6 i32.const $push7=, 5 - i32.const $5=, 80 - i32.add $5=, $10, $5 - call inner@FUNCTION, $pop7, $5 + i32.const $2=, 80 + i32.add $2=, $7, $2 + call inner@FUNCTION, $pop7, $2 i32.const $push8=, .L.str.2 - i32.store $discard=, 64($10):p2align=4, $pop8 + i32.store $discard=, 64($7):p2align=4, $pop8 i32.const $push9=, 6 - i32.const $6=, 64 - i32.add $6=, $10, $6 - call inner@FUNCTION, $pop9, $6 + i32.const $3=, 64 + i32.add $3=, $7, $3 + call inner@FUNCTION, $pop9, $3 i32.const $push10=, .L.str.3 - i32.store $discard=, 48($10):p2align=4, $pop10 + i32.store $discard=, 48($7):p2align=4, $pop10 i32.const $push11=, 7 - i32.const $7=, 48 - i32.add $7=, $10, $7 - call inner@FUNCTION, $pop11, $7 + i32.const $4=, 48 + i32.add $4=, $7, $4 + call inner@FUNCTION, $pop11, $4 i32.const $push12=, 120 - i32.store $discard=, 32($10):p2align=4, $pop12 + i32.store $discard=, 32($7):p2align=4, $pop12 i32.const $push13=, 8 - i32.const $8=, 32 - i32.add $8=, $10, $8 - call inner@FUNCTION, $pop13, $8 - i32.store $discard=, 16($10):p2align=4, $0 + i32.const $5=, 32 + i32.add $5=, $7, $5 + call inner@FUNCTION, $pop13, $5 + i32.store $discard=, 16($7):p2align=4, $0 i32.const $push14=, 9 - i32.const $9=, 16 - i32.add $9=, $10, $9 - call inner@FUNCTION, $pop14, $9 + i32.const $6=, 16 + i32.add $6=, $7, $6 + call inner@FUNCTION, $pop14, $6 i32.const $push16=, 0 - i32.store $0=, 0($10):p2align=4, $pop16 + i32.store $0=, 0($7):p2align=4, $pop16 i32.const $push15=, 10 - 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 + call inner@FUNCTION, $pop15, $7 + i32.const $push25=, 112 + i32.add $7=, $7, $pop25 + i32.const $push26=, __stack_pointer + i32.store $discard=, 0($pop26), $7 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 2557b5757..8a23a914b 100644 --- a/test/torture-s/vprintf-chk-1.c.s +++ b/test/torture-s/vprintf-chk-1.c.s @@ -34,16 +34,16 @@ __vprintf_chk: # @__vprintf_chk .type inner,@function inner: # @inner .param i32, i32 - .local i32, i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $2=, __stack_pointer - i32.load $2=, 0($2) - i32.const $3=, 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 + i32.const $push139=, __stack_pointer + i32.load $push140=, 0($pop139) + i32.const $push141=, 16 + i32.sub $2=, $pop140, $pop141 + i32.const $push142=, __stack_pointer + i32.store $discard=, 0($pop142), $2 + i32.store $push0=, 12($2), $1 + i32.store $discard=, 8($2), $pop0 block i32.const $push1=, 10 i32.gt_u $push2=, $0, $pop1 @@ -78,16 +78,16 @@ inner: # @inner i32.const $push98=, 0 i32.store $0=, should_optimize($pop88), $pop98 i32.const $push97=, .L.str - i32.load $push89=, 12($5) + i32.load $push89=, 12($2) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop97, $pop89 i32.load $push90=, should_optimize($0) - i32.const $push139=, 0 - i32.eq $push140=, $pop90, $pop139 - br_if 11, $pop140 # 11: down to label1 + i32.const $push145=, 0 + i32.eq $push146=, $pop90, $pop145 + br_if 11, $pop146 # 11: down to label1 # BB#3: # %if.end i32.store $discard=, should_optimize($0), $0 i32.const $push99=, .L.str - i32.load $push91=, 8($5) + i32.load $push91=, 8($2) i32.call $push92=, __vprintf_chk@FUNCTION, $0, $pop99, $pop91 i32.const $push93=, 5 i32.ne $push94=, $pop92, $pop93 @@ -105,19 +105,19 @@ inner: # @inner i32.const $push79=, 1 i32.store $discard=, should_optimize($pop102), $pop79 i32.const $push101=, .L.str.1 - i32.load $push80=, 12($5) + i32.load $push80=, 12($2) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop101, $pop80 i32.const $push100=, 0 i32.load $push81=, should_optimize($pop100) - i32.const $push141=, 0 - i32.eq $push142=, $pop81, $pop141 - br_if 10, $pop142 # 10: down to label1 + i32.const $push147=, 0 + i32.eq $push148=, $pop81, $pop147 + br_if 10, $pop148 # 10: down to label1 # BB#7: # %if.end13 i32.const $push105=, 0 i32.const $push104=, 0 i32.store $discard=, should_optimize($pop105), $pop104 i32.const $push103=, .L.str.1 - i32.load $push82=, 8($5) + i32.load $push82=, 8($2) i32.call $push83=, __vprintf_chk@FUNCTION, $0, $pop103, $pop82 i32.const $push84=, 6 i32.ne $push85=, $pop83, $pop84 @@ -135,19 +135,19 @@ inner: # @inner i32.const $push71=, 1 i32.store $0=, should_optimize($pop108), $pop71 i32.const $push107=, .L.str.2 - i32.load $push72=, 12($5) + i32.load $push72=, 12($2) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop107, $pop72 i32.const $push106=, 0 i32.load $push73=, should_optimize($pop106) - i32.const $push143=, 0 - i32.eq $push144=, $pop73, $pop143 - br_if 9, $pop144 # 9: down to label1 + i32.const $push149=, 0 + i32.eq $push150=, $pop73, $pop149 + br_if 9, $pop150 # 9: down to label1 # BB#11: # %if.end25 i32.const $push111=, 0 i32.const $push110=, 0 i32.store $discard=, should_optimize($pop111), $pop110 i32.const $push109=, .L.str.2 - i32.load $push74=, 8($5) + i32.load $push74=, 8($2) i32.call $push75=, __vprintf_chk@FUNCTION, $0, $pop109, $pop74 i32.ne $push76=, $pop75, $0 br_if 9, $pop76 # 9: down to label1 @@ -164,19 +164,19 @@ inner: # @inner i32.const $push64=, 1 i32.store $discard=, should_optimize($pop114), $pop64 i32.const $push113=, .L.str.3 - i32.load $push65=, 12($5) + i32.load $push65=, 12($2) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop113, $pop65 i32.const $push112=, 0 i32.load $push66=, should_optimize($pop112) - i32.const $push145=, 0 - i32.eq $push146=, $pop66, $pop145 - br_if 8, $pop146 # 8: down to label1 + i32.const $push151=, 0 + i32.eq $push152=, $pop66, $pop151 + br_if 8, $pop152 # 8: down to label1 # BB#15: # %if.end37 i32.const $push117=, 0 i32.const $push116=, 0 i32.store $discard=, should_optimize($pop117), $pop116 i32.const $push115=, .L.str.3 - i32.load $push67=, 8($5) + i32.load $push67=, 8($2) i32.call $push68=, __vprintf_chk@FUNCTION, $0, $pop115, $pop67 br_if 8, $pop68 # 8: down to label1 # BB#16: # %if.end41 @@ -192,16 +192,16 @@ inner: # @inner i32.const $push119=, 0 i32.store $0=, should_optimize($pop55), $pop119 i32.const $push118=, .L.str.4 - i32.load $push56=, 12($5) + i32.load $push56=, 12($2) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop118, $pop56 i32.load $push57=, should_optimize($0) - i32.const $push147=, 0 - i32.eq $push148=, $pop57, $pop147 - br_if 7, $pop148 # 7: down to label1 + i32.const $push153=, 0 + i32.eq $push154=, $pop57, $pop153 + br_if 7, $pop154 # 7: down to label1 # BB#19: # %if.end49 i32.store $discard=, should_optimize($0), $0 i32.const $push120=, .L.str.4 - i32.load $push58=, 8($5) + i32.load $push58=, 8($2) i32.call $push59=, __vprintf_chk@FUNCTION, $0, $pop120, $pop58 i32.const $push60=, 5 i32.ne $push61=, $pop59, $pop60 @@ -219,16 +219,16 @@ inner: # @inner i32.const $push122=, 0 i32.store $0=, should_optimize($pop46), $pop122 i32.const $push121=, .L.str.4 - i32.load $push47=, 12($5) + i32.load $push47=, 12($2) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop121, $pop47 i32.load $push48=, should_optimize($0) - i32.const $push149=, 0 - i32.eq $push150=, $pop48, $pop149 - br_if 6, $pop150 # 6: down to label1 + i32.const $push155=, 0 + i32.eq $push156=, $pop48, $pop155 + br_if 6, $pop156 # 6: down to label1 # BB#23: # %if.end61 i32.store $discard=, should_optimize($0), $0 i32.const $push123=, .L.str.4 - i32.load $push49=, 8($5) + i32.load $push49=, 8($2) i32.call $push50=, __vprintf_chk@FUNCTION, $0, $pop123, $pop49 i32.const $push51=, 6 i32.ne $push52=, $pop50, $pop51 @@ -246,16 +246,16 @@ inner: # @inner i32.const $push125=, 0 i32.store $0=, should_optimize($pop37), $pop125 i32.const $push124=, .L.str.4 - i32.load $push38=, 12($5) + i32.load $push38=, 12($2) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop124, $pop38 i32.load $push39=, should_optimize($0) - i32.const $push151=, 0 - i32.eq $push152=, $pop39, $pop151 - br_if 5, $pop152 # 5: down to label1 + i32.const $push157=, 0 + i32.eq $push158=, $pop39, $pop157 + br_if 5, $pop158 # 5: down to label1 # BB#27: # %if.end73 i32.store $discard=, should_optimize($0), $0 i32.const $push126=, .L.str.4 - i32.load $push40=, 8($5) + i32.load $push40=, 8($2) i32.call $push41=, __vprintf_chk@FUNCTION, $0, $pop126, $pop40 i32.const $push42=, 1 i32.ne $push43=, $pop41, $pop42 @@ -273,16 +273,16 @@ inner: # @inner i32.const $push128=, 0 i32.store $0=, should_optimize($pop30), $pop128 i32.const $push127=, .L.str.4 - i32.load $push31=, 12($5) + i32.load $push31=, 12($2) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop127, $pop31 i32.load $push32=, should_optimize($0) - i32.const $push153=, 0 - i32.eq $push154=, $pop32, $pop153 - br_if 4, $pop154 # 4: down to label1 + i32.const $push159=, 0 + i32.eq $push160=, $pop32, $pop159 + br_if 4, $pop160 # 4: down to label1 # BB#31: # %if.end85 i32.store $discard=, should_optimize($0), $0 i32.const $push129=, .L.str.4 - i32.load $push33=, 8($5) + i32.load $push33=, 8($2) i32.call $push34=, __vprintf_chk@FUNCTION, $0, $pop129, $pop33 br_if 4, $pop34 # 4: down to label1 # BB#32: # %if.end89 @@ -298,16 +298,16 @@ inner: # @inner i32.const $push131=, 0 i32.store $0=, should_optimize($pop21), $pop131 i32.const $push130=, .L.str.5 - i32.load $push22=, 12($5) + i32.load $push22=, 12($2) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop130, $pop22 i32.load $push23=, should_optimize($0) - i32.const $push155=, 0 - i32.eq $push156=, $pop23, $pop155 - br_if 3, $pop156 # 3: down to label1 + i32.const $push161=, 0 + i32.eq $push162=, $pop23, $pop161 + br_if 3, $pop162 # 3: down to label1 # BB#35: # %if.end97 i32.store $discard=, should_optimize($0), $0 i32.const $push132=, .L.str.5 - i32.load $push24=, 8($5) + i32.load $push24=, 8($2) i32.call $push25=, __vprintf_chk@FUNCTION, $0, $pop132, $pop24 i32.const $push26=, 1 i32.ne $push27=, $pop25, $pop26 @@ -325,16 +325,16 @@ inner: # @inner i32.const $push134=, 0 i32.store $0=, should_optimize($pop12), $pop134 i32.const $push133=, .L.str.6 - i32.load $push13=, 12($5) + i32.load $push13=, 12($2) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop133, $pop13 i32.load $push14=, should_optimize($0) - i32.const $push157=, 0 - i32.eq $push158=, $pop14, $pop157 - br_if 2, $pop158 # 2: down to label1 + i32.const $push163=, 0 + i32.eq $push164=, $pop14, $pop163 + br_if 2, $pop164 # 2: down to label1 # BB#39: # %if.end109 i32.store $discard=, should_optimize($0), $0 i32.const $push135=, .L.str.6 - i32.load $push15=, 8($5) + i32.load $push15=, 8($2) i32.call $push16=, __vprintf_chk@FUNCTION, $0, $pop135, $pop15 i32.const $push17=, 7 i32.ne $push18=, $pop16, $pop17 @@ -352,16 +352,16 @@ inner: # @inner i32.const $push137=, 0 i32.store $0=, should_optimize($pop3), $pop137 i32.const $push136=, .L.str.7 - i32.load $push4=, 12($5) + i32.load $push4=, 12($2) i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop136, $pop4 i32.load $push5=, should_optimize($0) - i32.const $push159=, 0 - i32.eq $push160=, $pop5, $pop159 - br_if 1, $pop160 # 1: down to label1 + i32.const $push165=, 0 + i32.eq $push166=, $pop5, $pop165 + br_if 1, $pop166 # 1: down to label1 # BB#43: # %if.end121 i32.store $discard=, should_optimize($0), $0 i32.const $push138=, .L.str.7 - i32.load $push6=, 8($5) + i32.load $push6=, 8($2) i32.call $push7=, __vprintf_chk@FUNCTION, $0, $pop138, $pop6 i32.const $push8=, 2 i32.ne $push9=, $pop7, $pop8 @@ -369,15 +369,15 @@ inner: # @inner # BB#44: # %if.end125 i32.const $push10=, 0 i32.load $push11=, should_optimize($pop10) - i32.const $push161=, 0 - i32.eq $push162=, $pop11, $pop161 - br_if 1, $pop162 # 1: down to label1 + i32.const $push167=, 0 + i32.eq $push168=, $pop11, $pop167 + br_if 1, $pop168 # 1: down to label1 .LBB1_45: # %sw.epilog end_block # label2: - i32.const $4=, 16 - i32.add $5=, $5, $4 - i32.const $4=, __stack_pointer - i32.store $5=, 0($4), $5 + i32.const $push143=, 16 + i32.add $2=, $2, $pop143 + i32.const $push144=, __stack_pointer + i32.store $discard=, 0($pop144), $2 return .LBB1_46: # %sw.default end_block # label1: @@ -393,14 +393,14 @@ inner: # @inner .type main,@function main: # @main .result i32 - .local 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 $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 $push21=, __stack_pointer + i32.load $push22=, 0($pop21) + i32.const $push23=, 112 + i32.sub $7=, $pop22, $pop23 + i32.const $push24=, __stack_pointer + i32.store $discard=, 0($pop24), $7 i32.const $push0=, 0 i32.const $push20=, 0 call inner@FUNCTION, $pop0, $pop20 @@ -414,48 +414,48 @@ main: # @main i32.const $push17=, 0 call inner@FUNCTION, $pop3, $pop17 i32.const $push4=, .L.str - i32.store $discard=, 96($10):p2align=4, $pop4 + i32.store $discard=, 96($7):p2align=4, $pop4 i32.const $push5=, 4 - i32.const $4=, 96 - i32.add $4=, $10, $4 - call inner@FUNCTION, $pop5, $4 + i32.const $1=, 96 + i32.add $1=, $7, $1 + call inner@FUNCTION, $pop5, $1 i32.const $push6=, .L.str.1 - i32.store $0=, 80($10):p2align=4, $pop6 + i32.store $0=, 80($7):p2align=4, $pop6 i32.const $push7=, 5 - i32.const $5=, 80 - i32.add $5=, $10, $5 - call inner@FUNCTION, $pop7, $5 + i32.const $2=, 80 + i32.add $2=, $7, $2 + call inner@FUNCTION, $pop7, $2 i32.const $push8=, .L.str.2 - i32.store $discard=, 64($10):p2align=4, $pop8 + i32.store $discard=, 64($7):p2align=4, $pop8 i32.const $push9=, 6 - i32.const $6=, 64 - i32.add $6=, $10, $6 - call inner@FUNCTION, $pop9, $6 + i32.const $3=, 64 + i32.add $3=, $7, $3 + call inner@FUNCTION, $pop9, $3 i32.const $push10=, .L.str.3 - i32.store $discard=, 48($10):p2align=4, $pop10 + i32.store $discard=, 48($7):p2align=4, $pop10 i32.const $push11=, 7 - i32.const $7=, 48 - i32.add $7=, $10, $7 - call inner@FUNCTION, $pop11, $7 + i32.const $4=, 48 + i32.add $4=, $7, $4 + call inner@FUNCTION, $pop11, $4 i32.const $push12=, 120 - i32.store $discard=, 32($10):p2align=4, $pop12 + i32.store $discard=, 32($7):p2align=4, $pop12 i32.const $push13=, 8 - i32.const $8=, 32 - i32.add $8=, $10, $8 - call inner@FUNCTION, $pop13, $8 - i32.store $discard=, 16($10):p2align=4, $0 + i32.const $5=, 32 + i32.add $5=, $7, $5 + call inner@FUNCTION, $pop13, $5 + i32.store $discard=, 16($7):p2align=4, $0 i32.const $push14=, 9 - i32.const $9=, 16 - i32.add $9=, $10, $9 - call inner@FUNCTION, $pop14, $9 + i32.const $6=, 16 + i32.add $6=, $7, $6 + call inner@FUNCTION, $pop14, $6 i32.const $push16=, 0 - i32.store $0=, 0($10):p2align=4, $pop16 + i32.store $0=, 0($7):p2align=4, $pop16 i32.const $push15=, 10 - 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 + call inner@FUNCTION, $pop15, $7 + i32.const $push25=, 112 + i32.add $7=, $7, $pop25 + i32.const $push26=, __stack_pointer + i32.store $discard=, 0($pop26), $7 return $0 .endfunc .Lfunc_end2: |