diff options
author | Dan Gohman <sunfish@mozilla.com> | 2016-01-27 15:43:24 -0800 |
---|---|---|
committer | Dan Gohman <sunfish@mozilla.com> | 2016-01-27 15:43:24 -0800 |
commit | d378fd9a098572d1517f8ac9ce8909fd38f11122 (patch) | |
tree | b13eb1ccac726e66026790ebac9408b2ba1848a8 | |
parent | f329e28d111ea3462fa89dacf53024fba1c52415 (diff) | |
parent | ace3199b27b4f15f30fd6a2f3dbe5534a0ccf6b5 (diff) | |
download | binaryen-d378fd9a098572d1517f8ac9ce8909fd38f11122.tar.gz binaryen-d378fd9a098572d1517f8ac9ce8909fd38f11122.tar.bz2 binaryen-d378fd9a098572d1517f8ac9ce8909fd38f11122.zip |
Merge pull request #146 from WebAssembly/update-tests
Latest LLVM + http://reviews.llvm.org/D16650
-rw-r--r-- | src/s2wasm.h | 9 | ||||
-rw-r--r-- | src/wasm.h | 4 | ||||
-rw-r--r-- | test/llvm_autogenerated/byval.s | 149 | ||||
-rw-r--r-- | test/llvm_autogenerated/byval.wast | 411 | ||||
-rw-r--r-- | test/llvm_autogenerated/cfg-stackify.s | 203 | ||||
-rw-r--r-- | test/llvm_autogenerated/cfg-stackify.wast | 65 | ||||
-rw-r--r-- | test/llvm_autogenerated/legalize.s | 1947 | ||||
-rw-r--r-- | test/llvm_autogenerated/legalize.wast | 2705 | ||||
-rw-r--r-- | test/llvm_autogenerated/mem-intrinsics.s | 50 | ||||
-rw-r--r-- | test/llvm_autogenerated/mem-intrinsics.wast | 112 | ||||
-rw-r--r-- | test/llvm_autogenerated/reg-stackify.s | 73 | ||||
-rw-r--r-- | test/llvm_autogenerated/reg-stackify.wast | 127 | ||||
-rw-r--r-- | test/llvm_autogenerated/userstack.s | 31 | ||||
-rw-r--r-- | test/llvm_autogenerated/userstack.wast | 74 | ||||
-rw-r--r-- | test/llvm_autogenerated/varargs.s | 55 | ||||
-rw-r--r-- | test/llvm_autogenerated/varargs.wast | 71 |
16 files changed, 3537 insertions, 2549 deletions
diff --git a/src/s2wasm.h b/src/s2wasm.h index 82675df1b..5eeb808bb 100644 --- a/src/s2wasm.h +++ b/src/s2wasm.h @@ -905,6 +905,15 @@ private: Name assign = getAssign(); skipComma(); setOutput(getInput(), assign); + } else if (match("tee_local")) { + Name assign = getAssign(); + skipComma(); + auto curr = allocator.alloc<SetLocal>(); + curr->name = getAssign(); + skipComma(); + curr->value = getInput(); + curr->type = curr->value->type; + setOutput(curr, assign); } else if (match("return")) { Block *temp; if (!(func->body && (temp = func->body->dyn_cast<Block>()) && temp->name == FAKE_RETURN)) { diff --git a/src/wasm.h b/src/wasm.h index 5b56cd62d..987a8da6b 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -270,8 +270,8 @@ enum HostOp { }; #define assert_node(condition, node) \ - if (!condition) { \ - std::cerr << "node: " << node << std::endl; \ + if (!(condition)) { \ + std::cerr << "node: " << (node) << std::endl; \ assert(0 && #condition); \ } diff --git a/test/llvm_autogenerated/byval.s b/test/llvm_autogenerated/byval.s new file mode 100644 index 000000000..0908a9150 --- /dev/null +++ b/test/llvm_autogenerated/byval.s @@ -0,0 +1,149 @@ + .text + .file "/s/llvm/llvm/test/CodeGen/WebAssembly/byval.ll" + .globl byval_arg + .type byval_arg,@function +byval_arg: + .param i32 + .local i32, i32, i32, i32, i32 + 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.load $push0=, 0($0) + i32.store $discard=, 12($5), $pop0 + i32.const $4=, 12 + i32.add $4=, $5, $4 + call ext_byval_func@FUNCTION, $4 + i32.const $3=, 16 + i32.add $5=, $5, $3 + i32.const $3=, __stack_pointer + i32.store $5=, 0($3), $5 + return + .endfunc +.Lfunc_end0: + .size byval_arg, .Lfunc_end0-byval_arg + + .globl byval_arg_align8 + .type byval_arg_align8,@function +byval_arg_align8: + .param i32 + .local i32, i32, i32, i32, i32 + 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.load $push0=, 0($0):p2align=3 + i32.store $discard=, 8($5):p2align=3, $pop0 + i32.const $4=, 8 + i32.add $4=, $5, $4 + call ext_byval_func_align8@FUNCTION, $4 + i32.const $3=, 16 + i32.add $5=, $5, $3 + i32.const $3=, __stack_pointer + i32.store $5=, 0($3), $5 + return + .endfunc +.Lfunc_end1: + .size byval_arg_align8, .Lfunc_end1-byval_arg_align8 + + .globl byval_arg_double + .type byval_arg_double,@function +byval_arg_double: + .param i32 + .local i32, i32, i32, i32 + 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=, 8 + i32.add $push3=, $4, $pop0 + i32.const $push5=, 8 + i32.add $push1=, $0, $pop5 + i64.load $push2=, 0($pop1) + i64.store $discard=, 0($pop3), $pop2 + i64.load $push4=, 0($0) + i64.store $discard=, 0($4), $pop4 + call ext_byval_func_alignedstruct@FUNCTION, $4 + i32.const $3=, 16 + i32.add $4=, $4, $3 + i32.const $3=, __stack_pointer + i32.store $4=, 0($3), $4 + return + .endfunc +.Lfunc_end2: + .size byval_arg_double, .Lfunc_end2-byval_arg_double + + .globl byval_arg_big + .type byval_arg_big,@function +byval_arg_big: + .param i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + 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 $push0=, 32 + i32.const $4=, 12 + i32.add $4=, $9, $4 + i32.add $push3=, $4, $pop0 + i32.const $push20=, 32 + i32.add $push1=, $0, $pop20 + i32.load8_u $push2=, 0($pop1) + i32.store8 $discard=, 0($pop3):p2align=2, $pop2 + i32.const $push4=, 24 + i32.const $5=, 12 + i32.add $5=, $9, $5 + i32.add $push7=, $5, $pop4 + i32.const $push19=, 24 + i32.add $push5=, $0, $pop19 + i64.load $push6=, 0($pop5):p2align=0 + i64.store $discard=, 0($pop7):p2align=2, $pop6 + i32.const $push8=, 16 + i32.const $6=, 12 + i32.add $6=, $9, $6 + i32.add $push11=, $6, $pop8 + i32.const $push18=, 16 + i32.add $push9=, $0, $pop18 + i64.load $push10=, 0($pop9):p2align=0 + i64.store $discard=, 0($pop11):p2align=2, $pop10 + i32.const $push12=, 8 + i32.const $7=, 12 + i32.add $7=, $9, $7 + i32.add $push15=, $7, $pop12 + i32.const $push17=, 8 + i32.add $push13=, $0, $pop17 + i64.load $push14=, 0($pop13):p2align=0 + i64.store $discard=, 0($pop15):p2align=2, $pop14 + i64.load $push16=, 0($0):p2align=0 + i64.store $discard=, 12($9):p2align=2, $pop16 + i32.const $8=, 12 + i32.add $8=, $9, $8 + call ext_byval_func_bigarray@FUNCTION, $8 + i32.const $3=, 48 + i32.add $9=, $9, $3 + i32.const $3=, __stack_pointer + i32.store $9=, 0($3), $9 + return + .endfunc +.Lfunc_end3: + .size byval_arg_big, .Lfunc_end3-byval_arg_big + + .globl byval_param + .type byval_param,@function +byval_param: + .param i32 + call ext_func@FUNCTION, $0 + return + .endfunc +.Lfunc_end4: + .size byval_param, .Lfunc_end4-byval_param + + diff --git a/test/llvm_autogenerated/byval.wast b/test/llvm_autogenerated/byval.wast new file mode 100644 index 000000000..fa3d4cdf3 --- /dev/null +++ b/test/llvm_autogenerated/byval.wast @@ -0,0 +1,411 @@ +(module + (memory 0 4294967295) + (type $FUNCSIG$vi (func (param i32))) + (import $ext_byval_func "env" "ext_byval_func" (param i32)) + (import $ext_byval_func_align8 "env" "ext_byval_func_align8" (param i32)) + (import $ext_byval_func_alignedstruct "env" "ext_byval_func_alignedstruct" (param i32)) + (import $ext_byval_func_bigarray "env" "ext_byval_func_bigarray" (param i32)) + (import $ext_func "env" "ext_func" (param i32)) + (export "byval_arg" $byval_arg) + (export "byval_arg_align8" $byval_arg_align8) + (export "byval_arg_double" $byval_arg_double) + (export "byval_arg_big" $byval_arg_big) + (export "byval_param" $byval_param) + (func $byval_arg (param $$0 i32) + (local $$1 i32) + (local $$2 i32) + (local $$3 i32) + (local $$4 i32) + (local $$5 i32) + (block $fake_return_waka123 + (block + (set_local $$1 + (i32.const 1) + ) + (set_local $$1 + (i32.load align=4 + (get_local $$1) + ) + ) + (set_local $$2 + (i32.const 16) + ) + (set_local $$5 + (i32.sub + (get_local $$1) + (get_local $$2) + ) + ) + (set_local $$2 + (i32.const 1) + ) + (set_local $$5 + (i32.store align=4 + (get_local $$2) + (get_local $$5) + ) + ) + (i32.store offset=12 align=4 + (get_local $$5) + (i32.load align=4 + (get_local $$0) + ) + ) + (set_local $$4 + (i32.const 12) + ) + (set_local $$4 + (i32.add + (get_local $$5) + (get_local $$4) + ) + ) + (call_import $ext_byval_func + (get_local $$4) + ) + (set_local $$3 + (i32.const 16) + ) + (set_local $$5 + (i32.add + (get_local $$5) + (get_local $$3) + ) + ) + (set_local $$3 + (i32.const 1) + ) + (set_local $$5 + (i32.store align=4 + (get_local $$3) + (get_local $$5) + ) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $byval_arg_align8 (param $$0 i32) + (local $$1 i32) + (local $$2 i32) + (local $$3 i32) + (local $$4 i32) + (local $$5 i32) + (block $fake_return_waka123 + (block + (set_local $$1 + (i32.const 1) + ) + (set_local $$1 + (i32.load align=4 + (get_local $$1) + ) + ) + (set_local $$2 + (i32.const 16) + ) + (set_local $$5 + (i32.sub + (get_local $$1) + (get_local $$2) + ) + ) + (set_local $$2 + (i32.const 1) + ) + (set_local $$5 + (i32.store align=4 + (get_local $$2) + (get_local $$5) + ) + ) + (i32.store offset=8 align=8 + (get_local $$5) + (i32.load align=8 + (get_local $$0) + ) + ) + (set_local $$4 + (i32.const 8) + ) + (set_local $$4 + (i32.add + (get_local $$5) + (get_local $$4) + ) + ) + (call_import $ext_byval_func_align8 + (get_local $$4) + ) + (set_local $$3 + (i32.const 16) + ) + (set_local $$5 + (i32.add + (get_local $$5) + (get_local $$3) + ) + ) + (set_local $$3 + (i32.const 1) + ) + (set_local $$5 + (i32.store align=4 + (get_local $$3) + (get_local $$5) + ) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $byval_arg_double (param $$0 i32) + (local $$1 i32) + (local $$2 i32) + (local $$3 i32) + (local $$4 i32) + (block $fake_return_waka123 + (block + (set_local $$1 + (i32.const 1) + ) + (set_local $$1 + (i32.load align=4 + (get_local $$1) + ) + ) + (set_local $$2 + (i32.const 16) + ) + (set_local $$4 + (i32.sub + (get_local $$1) + (get_local $$2) + ) + ) + (set_local $$2 + (i32.const 1) + ) + (set_local $$4 + (i32.store align=4 + (get_local $$2) + (get_local $$4) + ) + ) + (i64.store align=8 + (i32.add + (get_local $$4) + (i32.const 8) + ) + (i64.load align=8 + (i32.add + (get_local $$0) + (i32.const 8) + ) + ) + ) + (i64.store align=8 + (get_local $$4) + (i64.load align=8 + (get_local $$0) + ) + ) + (call_import $ext_byval_func_alignedstruct + (get_local $$4) + ) + (set_local $$3 + (i32.const 16) + ) + (set_local $$4 + (i32.add + (get_local $$4) + (get_local $$3) + ) + ) + (set_local $$3 + (i32.const 1) + ) + (set_local $$4 + (i32.store align=4 + (get_local $$3) + (get_local $$4) + ) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $byval_arg_big (param $$0 i32) + (local $$1 i32) + (local $$2 i32) + (local $$3 i32) + (local $$4 i32) + (local $$5 i32) + (local $$6 i32) + (local $$7 i32) + (local $$8 i32) + (local $$9 i32) + (block $fake_return_waka123 + (block + (set_local $$1 + (i32.const 1) + ) + (set_local $$1 + (i32.load align=4 + (get_local $$1) + ) + ) + (set_local $$2 + (i32.const 48) + ) + (set_local $$9 + (i32.sub + (get_local $$1) + (get_local $$2) + ) + ) + (set_local $$2 + (i32.const 1) + ) + (set_local $$9 + (i32.store align=4 + (get_local $$2) + (get_local $$9) + ) + ) + (set_local $$4 + (i32.const 12) + ) + (set_local $$4 + (i32.add + (get_local $$9) + (get_local $$4) + ) + ) + (i32.store align=4 + (i32.add + (get_local $$4) + (i32.const 32) + ) + (i32.load8_u align=1 + (i32.add + (get_local $$0) + (i32.const 32) + ) + ) + ) + (set_local $$5 + (i32.const 12) + ) + (set_local $$5 + (i32.add + (get_local $$9) + (get_local $$5) + ) + ) + (i64.store align=4 + (i32.add + (get_local $$5) + (i32.const 24) + ) + (i64.load align=1 + (i32.add + (get_local $$0) + (i32.const 24) + ) + ) + ) + (set_local $$6 + (i32.const 12) + ) + (set_local $$6 + (i32.add + (get_local $$9) + (get_local $$6) + ) + ) + (i64.store align=4 + (i32.add + (get_local $$6) + (i32.const 16) + ) + (i64.load align=1 + (i32.add + (get_local $$0) + (i32.const 16) + ) + ) + ) + (set_local $$7 + (i32.const 12) + ) + (set_local $$7 + (i32.add + (get_local $$9) + (get_local $$7) + ) + ) + (i64.store align=4 + (i32.add + (get_local $$7) + (i32.const 8) + ) + (i64.load align=1 + (i32.add + (get_local $$0) + (i32.const 8) + ) + ) + ) + (i64.store offset=12 align=4 + (get_local $$9) + (i64.load align=1 + (get_local $$0) + ) + ) + (set_local $$8 + (i32.const 12) + ) + (set_local $$8 + (i32.add + (get_local $$9) + (get_local $$8) + ) + ) + (call_import $ext_byval_func_bigarray + (get_local $$8) + ) + (set_local $$3 + (i32.const 48) + ) + (set_local $$9 + (i32.add + (get_local $$9) + (get_local $$3) + ) + ) + (set_local $$3 + (i32.const 1) + ) + (set_local $$9 + (i32.store align=4 + (get_local $$3) + (get_local $$9) + ) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $byval_param (param $$0 i32) + (block $fake_return_waka123 + (block + (call_import $ext_func + (get_local $$0) + ) + (br $fake_return_waka123) + ) + ) + ) +) +;; METADATA: { "asmConsts": {},"staticBump": 4 } diff --git a/test/llvm_autogenerated/cfg-stackify.s b/test/llvm_autogenerated/cfg-stackify.s index 584c02adc..9de7ef013 100644 --- a/test/llvm_autogenerated/cfg-stackify.s +++ b/test/llvm_autogenerated/cfg-stackify.s @@ -411,41 +411,43 @@ test5: test6: .param i32, i32 .local i32, i32, i32 - i32.const $push6=, 1 - i32.and $2=, $0, $pop6 + i32.const $push8=, 1 + i32.and $2=, $0, $pop8 .LBB15_1: block block loop - i32.const $push8=, 0 - i32.const $push7=, 0 - i32.store $0=, 0($pop8), $pop7 i32.const $push10=, 0 - i32.eq $push11=, $2, $pop10 - br_if $pop11, 3 - i32.const $push9=, 1 - i32.store $3=, 0($0), $pop9 - i32.and $4=, $1, $3 - i32.const $push12=, 0 - i32.eq $push13=, $4, $pop12 - br_if $pop13, 2 - i32.store $discard=, 0($0), $3 - br_if $4, 0 + i32.const $push9=, 0 + i32.store $0=, 0($pop10), $pop9 + i32.const $push14=, 0 + i32.eq $push15=, $2, $pop14 + br_if $pop15, 3 + i32.const $push13=, 1 + i32.store $push0=, 0($0), $pop13 + tee_local $push12=, $4=, $pop0 + i32.and $push1=, $1, $pop12 + tee_local $push11=, $3=, $pop1 + i32.const $push16=, 0 + i32.eq $push17=, $pop11, $pop16 + br_if $pop17, 2 + i32.store $discard=, 0($0), $4 + br_if $3, 0 end_loop - i32.const $push4=, 0 - i32.const $push5=, 2 - i32.store $discard=, 0($pop4), $pop5 + i32.const $push6=, 0 + i32.const $push7=, 2 + i32.store $discard=, 0($pop6), $pop7 return .LBB15_5: end_block - i32.const $push0=, 0 - i32.const $push1=, 3 - i32.store $discard=, 0($pop0), $pop1 -.LBB15_6: - end_block i32.const $push2=, 0 - i32.const $push3=, 4 + i32.const $push3=, 3 i32.store $discard=, 0($pop2), $pop3 +.LBB15_6: + end_block + i32.const $push4=, 0 + i32.const $push5=, 4 + i32.store $discard=, 0($pop4), $pop5 return .endfunc .Lfunc_end15: @@ -523,47 +525,48 @@ test8: test9: .local i32, i32 i32.const $push0=, 0 - i32.const $push11=, 0 - i32.store $0=, 0($pop0), $pop11 + i32.const $push12=, 0 + i32.store $0=, 0($pop0), $pop12 .LBB18_1: loop - i32.const $push12=, 1 - i32.store $1=, 0($0), $pop12 - i32.call $push1=, a@FUNCTION - i32.and $push2=, $pop1, $1 - i32.const $push16=, 0 - i32.eq $push17=, $pop2, $pop16 - br_if $pop17, 1 + i32.const $push14=, 1 + i32.store $push1=, 0($0), $pop14 + tee_local $push13=, $1=, $pop1 + i32.call $push2=, a@FUNCTION + i32.and $push3=, $pop13, $pop2 + i32.const $push18=, 0 + i32.eq $push19=, $pop3, $pop18 + br_if $pop19, 1 .LBB18_2: loop block - i32.const $push13=, 2 - i32.store $discard=, 0($0), $pop13 - i32.call $push5=, a@FUNCTION - i32.and $push6=, $pop5, $1 - i32.const $push18=, 0 - i32.eq $push19=, $pop6, $pop18 - br_if $pop19, 0 - i32.const $push14=, 3 - i32.store $discard=, 0($0), $pop14 - i32.call $push9=, a@FUNCTION - i32.and $push10=, $pop9, $1 - br_if $pop10, 1 + i32.const $push15=, 2 + i32.store $discard=, 0($0), $pop15 + i32.call $push6=, a@FUNCTION + i32.and $push7=, $pop6, $1 + i32.const $push20=, 0 + i32.eq $push21=, $pop7, $pop20 + br_if $pop21, 0 + i32.const $push16=, 3 + i32.store $discard=, 0($0), $pop16 + i32.call $push10=, a@FUNCTION + i32.and $push11=, $pop10, $1 + br_if $pop11, 1 br 3 .LBB18_4: end_block - i32.const $push15=, 4 - i32.store $discard=, 0($0), $pop15 - i32.call $push7=, a@FUNCTION - i32.and $push8=, $pop7, $1 - br_if $pop8, 0 + i32.const $push17=, 4 + i32.store $discard=, 0($0), $pop17 + i32.call $push8=, a@FUNCTION + i32.and $push9=, $pop8, $1 + br_if $pop9, 0 br 2 .LBB18_5: end_loop end_loop - i32.const $push3=, 0 - i32.const $push4=, 5 - i32.store $discard=, 0($pop3), $pop4 + i32.const $push4=, 0 + i32.const $push5=, 5 + i32.store $discard=, 0($pop4), $pop5 return .endfunc .Lfunc_end18: @@ -618,53 +621,54 @@ test11: block block i32.const $push0=, 0 - i32.const $push13=, 0 - i32.store $0=, 0($pop0), $pop13 - br_if $0, 0 + i32.const $push15=, 0 + i32.store $push1=, 0($pop0), $pop15 + tee_local $push14=, $0=, $pop1 + br_if $pop14, 0 block - i32.const $push6=, 1 - i32.store $discard=, 0($0), $pop6 + i32.const $push7=, 1 + i32.store $discard=, 0($0), $pop7 br_if $0, 0 - i32.const $push8=, 0 - i32.const $push7=, 2 - i32.store $discard=, 0($pop8), $pop7 - i32.const $push14=, 0 - br_if $pop14, 2 + i32.const $push9=, 0 + i32.const $push8=, 2 + i32.store $discard=, 0($pop9), $pop8 + i32.const $push16=, 0 + br_if $pop16, 2 .LBB20_3: end_block - i32.const $push11=, 0 - i32.const $push12=, 3 - i32.store $discard=, 0($pop11), $pop12 + i32.const $push12=, 0 + i32.const $push13=, 3 + i32.store $discard=, 0($pop12), $pop13 return .LBB20_4: end_block - i32.const $push1=, 4 - i32.store $discard=, 0($0), $pop1 + i32.const $push2=, 4 + i32.store $discard=, 0($0), $pop2 br_if $0, 2 - i32.const $push16=, 0 - i32.const $push2=, 5 - i32.store $discard=, 0($pop16), $pop2 - i32.const $push15=, 0 i32.const $push18=, 0 - i32.eq $push19=, $pop15, $pop18 - br_if $pop19, 1 + i32.const $push3=, 5 + i32.store $discard=, 0($pop18), $pop3 + i32.const $push17=, 0 + i32.const $push20=, 0 + i32.eq $push21=, $pop17, $pop20 + br_if $pop21, 1 .LBB20_6: end_block - i32.const $push9=, 0 - i32.const $push10=, 7 - i32.store $discard=, 0($pop9), $pop10 + i32.const $push10=, 0 + i32.const $push11=, 7 + i32.store $discard=, 0($pop10), $pop11 return .LBB20_7: end_block - i32.const $push17=, 0 - i32.const $push3=, 6 - i32.store $discard=, 0($pop17), $pop3 + i32.const $push19=, 0 + i32.const $push4=, 6 + i32.store $discard=, 0($pop19), $pop4 return .LBB20_8: end_block - i32.const $push4=, 0 - i32.const $push5=, 8 - i32.store $discard=, 0($pop4), $pop5 + i32.const $push5=, 0 + i32.const $push6=, 8 + i32.store $discard=, 0($pop5), $pop6 return .endfunc .Lfunc_end20: @@ -677,35 +681,36 @@ test12: .local i32 .LBB21_1: loop - i32.load8_u $1=, 0($0) block block block - i32.const $push5=, 103 - i32.gt_s $push0=, $1, $pop5 - br_if $pop0, 0 - i32.const $push6=, 42 - i32.eq $push3=, $1, $pop6 - br_if $pop3, 2 - i32.const $push7=, 76 - i32.eq $push4=, $1, $pop7 + i32.load8_u $push0=, 0($0) + tee_local $push7=, $1=, $pop0 + i32.const $push6=, 103 + i32.gt_s $push1=, $pop7, $pop6 + br_if $pop1, 0 + i32.const $push8=, 42 + i32.eq $push4=, $1, $pop8 br_if $pop4, 2 + i32.const $push9=, 76 + i32.eq $push5=, $1, $pop9 + br_if $pop5, 2 br 1 .LBB21_4: end_block - i32.const $push8=, 108 - i32.eq $push1=, $1, $pop8 - br_if $pop1, 1 - i32.const $push9=, 104 - i32.eq $push2=, $1, $pop9 + i32.const $push10=, 108 + i32.eq $push2=, $1, $pop10 br_if $pop2, 1 + i32.const $push11=, 104 + i32.eq $push3=, $1, $pop11 + br_if $pop3, 1 .LBB21_6: end_block return .LBB21_7: end_block - i32.const $push10=, 1 - i32.add $0=, $0, $pop10 + i32.const $push12=, 1 + i32.add $0=, $0, $pop12 br 0 .LBB21_8: end_loop diff --git a/test/llvm_autogenerated/cfg-stackify.wast b/test/llvm_autogenerated/cfg-stackify.wast index c3b2cef82..f0559f899 100644 --- a/test/llvm_autogenerated/cfg-stackify.wast +++ b/test/llvm_autogenerated/cfg-stackify.wast @@ -593,31 +593,29 @@ ) $label$0 ) - (set_local $$3 - (i32.store align=4 - (get_local $$0) - (i32.const 1) - ) - ) - (set_local $$4 - (i32.and - (get_local $$1) - (get_local $$3) - ) - ) (br_if (i32.eq - (get_local $$4) + (set_local $$3 + (i32.and + (get_local $$1) + (set_local $$4 + (i32.store align=4 + (get_local $$0) + (i32.const 1) + ) + ) + ) + ) (i32.const 0) ) $label$1 ) (i32.store align=4 (get_local $$0) - (get_local $$3) + (get_local $$4) ) (br_if - (get_local $$4) + (get_local $$3) $label$2 ) ) @@ -741,17 +739,16 @@ ) ) (loop $label$1 $label$0 - (set_local $$1 - (i32.store align=4 - (get_local $$0) - (i32.const 1) - ) - ) (br_if (i32.eq (i32.and + (set_local $$1 + (i32.store align=4 + (get_local $$0) + (i32.const 1) + ) + ) (call_import $a) - (get_local $$1) ) (i32.const 0) ) @@ -885,14 +882,13 @@ (block $label$1 (block $label$2 (block $label$3 - (set_local $$0 - (i32.store align=4 - (i32.const 0) - (i32.const 0) - ) - ) (br_if - (get_local $$0) + (set_local $$0 + (i32.store align=4 + (i32.const 0) + (i32.const 0) + ) + ) $label$3 ) (block $label$4 @@ -964,17 +960,16 @@ (block $fake_return_waka123 (block (loop $label$1 $label$0 - (set_local $$1 - (i32.load8_u align=1 - (get_local $$0) - ) - ) (block $label$2 (block $label$3 (block $label$4 (br_if (i32.gt_s - (get_local $$1) + (set_local $$1 + (i32.load8_u align=1 + (get_local $$0) + ) + ) (i32.const 103) ) $label$4 diff --git a/test/llvm_autogenerated/legalize.s b/test/llvm_autogenerated/legalize.s index 79855c4df..daa91b504 100644 --- a/test/llvm_autogenerated/legalize.s +++ b/test/llvm_autogenerated/legalize.s @@ -68,999 +68,1030 @@ fpconv_f64_f32: .type bigshift,@function bigshift: .param i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 - .local i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32, i32, i64, i64, i64, i32, i32, i64, i32, i32, i64, i64, i64, i32, i32, i64, i64, i64, i32, i32, i64, i32, i32, i64, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i32, i64, i64, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, 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, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 - i32.const $179=, __stack_pointer - i32.load $179=, 0($179) - i32.const $180=, 1024 - i32.sub $310=, $179, $180 - i32.const $180=, __stack_pointer - i32.store $310=, 0($180), $310 + .local i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, 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, 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, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + i32.const $183=, __stack_pointer + i32.load $183=, 0($183) + i32.const $184=, 1024 + i32.sub $312=, $183, $184 + i32.const $184=, __stack_pointer + i32.store $312=, 0($184), $312 i64.const $push0=, 896 i64.sub $push1=, $pop0, $17 - i32.const $182=, 480 - i32.add $182=, $310, $182 - call __lshrti3@FUNCTION, $182, $1, $2, $pop1 + i32.const $186=, 480 + i32.add $186=, $312, $186 + call __lshrti3@FUNCTION, $186, $1, $2, $pop1 i64.const $push2=, -768 - i64.add $33=, $17, $pop2 - i32.const $183=, 464 - i32.add $183=, $310, $183 - call __ashlti3@FUNCTION, $183, $3, $4, $33 - i64.const $push3=, -896 - i64.add $push4=, $17, $pop3 - i32.const $184=, 496 - i32.add $184=, $310, $184 - call __ashlti3@FUNCTION, $184, $1, $2, $pop4 - i64.const $push5=, 640 - i64.sub $34=, $pop5, $17 - i32.const $185=, 352 - i32.add $185=, $310, $185 - call __lshrti3@FUNCTION, $185, $5, $6, $34 - i64.const $push6=, -512 - i64.add $35=, $17, $pop6 - i32.const $186=, 336 - i32.add $186=, $310, $186 - call __ashlti3@FUNCTION, $186, $7, $8, $35 - i64.const $push7=, -640 - i64.add $36=, $17, $pop7 - i32.const $187=, 368 - i32.add $187=, $310, $187 - call __ashlti3@FUNCTION, $187, $5, $6, $36 - i64.const $push8=, 768 - i64.sub $37=, $pop8, $17 - i32.const $188=, 432 - i32.add $188=, $310, $188 - call __lshrti3@FUNCTION, $188, $3, $4, $37 - i64.const $push9=, 384 - i64.sub $38=, $pop9, $17 - i32.const $189=, 864 - i32.add $189=, $310, $189 - call __lshrti3@FUNCTION, $189, $9, $10, $38 - i64.const $push10=, -256 - i64.add $39=, $17, $pop10 - i32.const $190=, 848 - i32.add $190=, $310, $190 - call __ashlti3@FUNCTION, $190, $11, $12, $39 - i64.const $push11=, -384 - i64.add $40=, $17, $pop11 - i32.const $191=, 880 - i32.add $191=, $310, $191 - call __ashlti3@FUNCTION, $191, $9, $10, $40 - i32.const $192=, 1008 - i32.add $192=, $310, $192 - call __ashlti3@FUNCTION, $192, $15, $16, $17 - i64.const $push12=, 128 - i64.sub $41=, $pop12, $17 - i32.const $193=, 960 - i32.add $193=, $310, $193 - call __lshrti3@FUNCTION, $193, $13, $14, $41 - i64.const $push13=, -128 - i64.add $42=, $17, $pop13 - i32.const $194=, 976 - i32.add $194=, $310, $194 - call __ashlti3@FUNCTION, $194, $13, $14, $42 - i64.const $push14=, 256 - i64.sub $43=, $pop14, $17 - i32.const $195=, 816 - i32.add $195=, $310, $195 - call __lshrti3@FUNCTION, $195, $11, $12, $43 - i64.const $push15=, 512 - i64.sub $44=, $pop15, $17 - i32.const $196=, 240 - i32.add $196=, $310, $196 - call __lshrti3@FUNCTION, $196, $7, $8, $44 - i32.const $197=, 912 - i32.add $197=, $310, $197 - call __ashlti3@FUNCTION, $197, $11, $12, $17 - i32.const $198=, 928 - i32.add $198=, $310, $198 - call __lshrti3@FUNCTION, $198, $9, $10, $41 - i32.const $199=, 944 - i32.add $199=, $310, $199 - call __ashlti3@FUNCTION, $199, $9, $10, $42 - i64.const $push483=, 256 - i64.sub $45=, $pop483, $44 - i32.const $200=, 80 - i32.add $200=, $310, $200 - call __ashlti3@FUNCTION, $200, $7, $8, $45 - i64.const $push482=, 128 - i64.sub $push16=, $pop482, $45 - i32.const $201=, 96 - i32.add $201=, $310, $201 - call __lshrti3@FUNCTION, $201, $5, $6, $pop16 - i64.const $push481=, 128 - i64.sub $46=, $pop481, $44 - i32.const $202=, 112 - i32.add $202=, $310, $202 - call __ashlti3@FUNCTION, $202, $5, $6, $46 - i32.const $203=, 48 - i32.add $203=, $310, $203 - call __lshrti3@FUNCTION, $203, $3, $4, $44 - i32.const $204=, 176 - i32.add $204=, $310, $204 - call __lshrti3@FUNCTION, $204, $7, $8, $43 - i32.const $205=, 288 - i32.add $205=, $310, $205 - call __lshrti3@FUNCTION, $205, $1, $2, $34 - i32.const $206=, 272 - i32.add $206=, $310, $206 - call __ashlti3@FUNCTION, $206, $3, $4, $35 - i32.const $207=, 304 - i32.add $207=, $310, $207 - call __ashlti3@FUNCTION, $207, $1, $2, $36 - i32.const $208=, 128 - i32.add $208=, $310, $208 - call __lshrti3@FUNCTION, $208, $5, $6, $43 - i64.const $push480=, 384 - i64.sub $push17=, $pop480, $44 - i32.const $209=, 144 - i32.add $209=, $310, $209 - call __ashlti3@FUNCTION, $209, $7, $8, $pop17 - i32.const $210=, 160 - i32.add $210=, $310, $210 - call __lshrti3@FUNCTION, $210, $7, $8, $41 - i32.const $211=, 0 - i32.add $211=, $310, $211 - call __lshrti3@FUNCTION, $211, $1, $2, $44 - i32.const $212=, 16 - i32.add $212=, $310, $212 - call __ashlti3@FUNCTION, $212, $3, $4, $46 - i32.const $213=, 32 - i32.add $213=, $310, $213 - call __lshrti3@FUNCTION, $213, $3, $4, $38 - i32.const $214=, 64 - i32.add $214=, $310, $214 - call __ashlti3@FUNCTION, $214, $5, $6, $45 - i32.const $215=, 896 - i32.add $215=, $310, $215 - call __ashlti3@FUNCTION, $215, $9, $10, $17 - i32.const $216=, 256 - i32.add $216=, $310, $216 - call __ashlti3@FUNCTION, $216, $1, $2, $35 - i32.const $217=, 192 - i32.add $217=, $310, $217 - call __lshrti3@FUNCTION, $217, $5, $6, $44 - i32.const $218=, 208 - i32.add $218=, $310, $218 - call __ashlti3@FUNCTION, $218, $7, $8, $46 - i32.const $219=, 224 - i32.add $219=, $310, $219 - call __lshrti3@FUNCTION, $219, $7, $8, $38 - i32.const $220=, 768 - i32.add $220=, $310, $220 - call __lshrti3@FUNCTION, $220, $9, $10, $43 - i64.const $push479=, 128 - i64.sub $46=, $pop479, $43 - i32.const $221=, 784 - i32.add $221=, $310, $221 - call __ashlti3@FUNCTION, $221, $11, $12, $46 - i32.const $222=, 800 - i32.add $222=, $310, $222 - call __lshrti3@FUNCTION, $222, $11, $12, $41 - i32.const $223=, 992 - i32.add $223=, $310, $223 - call __ashlti3@FUNCTION, $223, $13, $14, $17 - i32.const $224=, 832 - i32.add $224=, $310, $224 - call __ashlti3@FUNCTION, $224, $9, $10, $39 - i32.const $225=, 384 - i32.add $225=, $310, $225 - call __lshrti3@FUNCTION, $225, $1, $2, $37 - i64.const $push478=, 128 - i64.sub $push18=, $pop478, $37 - i32.const $226=, 400 - i32.add $226=, $310, $226 - call __ashlti3@FUNCTION, $226, $3, $4, $pop18 - i32.const $227=, 416 - i32.add $227=, $310, $227 - call __lshrti3@FUNCTION, $227, $3, $4, $34 - i32.const $228=, 320 - i32.add $228=, $310, $228 - call __ashlti3@FUNCTION, $228, $5, $6, $35 - i32.const $229=, 448 - i32.add $229=, $310, $229 - call __ashlti3@FUNCTION, $229, $1, $2, $33 - i32.const $230=, 736 - i32.add $230=, $310, $230 - call __lshrti3@FUNCTION, $230, $1, $2, $38 - i32.const $231=, 720 - i32.add $231=, $310, $231 - call __ashlti3@FUNCTION, $231, $3, $4, $39 - i32.const $232=, 752 - i32.add $232=, $310, $232 - call __ashlti3@FUNCTION, $232, $1, $2, $40 - i32.const $233=, 592 - i32.add $233=, $310, $233 - call __ashlti3@FUNCTION, $233, $7, $8, $17 - i32.const $234=, 608 - i32.add $234=, $310, $234 - call __lshrti3@FUNCTION, $234, $5, $6, $41 - i32.const $235=, 624 - i32.add $235=, $310, $235 - call __ashlti3@FUNCTION, $235, $5, $6, $42 - i32.const $236=, 688 - i32.add $236=, $310, $236 - call __lshrti3@FUNCTION, $236, $3, $4, $43 - i32.const $237=, 640 - i32.add $237=, $310, $237 - call __lshrti3@FUNCTION, $237, $1, $2, $43 - i32.const $238=, 656 - i32.add $238=, $310, $238 - call __ashlti3@FUNCTION, $238, $3, $4, $46 - i32.const $239=, 672 - i32.add $239=, $310, $239 - call __lshrti3@FUNCTION, $239, $3, $4, $41 - i32.const $240=, 576 - i32.add $240=, $310, $240 - call __ashlti3@FUNCTION, $240, $5, $6, $17 - i32.const $241=, 704 - i32.add $241=, $310, $241 - call __ashlti3@FUNCTION, $241, $1, $2, $39 - i32.const $242=, 528 - i32.add $242=, $310, $242 - call __ashlti3@FUNCTION, $242, $3, $4, $17 - i32.const $243=, 544 - i32.add $243=, $310, $243 - call __lshrti3@FUNCTION, $243, $1, $2, $41 - i32.const $244=, 560 - i32.add $244=, $310, $244 - call __ashlti3@FUNCTION, $244, $1, $2, $42 - i32.const $245=, 512 - i32.add $245=, $310, $245 - call __ashlti3@FUNCTION, $245, $1, $2, $17 - i32.const $push45=, 8 - i32.const $246=, 480 - i32.add $246=, $310, $246 - i32.add $push46=, $246, $pop45 - i64.load $41=, 0($pop46) + i64.add $push3=, $17, $pop2 + tee_local $push553=, $182=, $pop3 + i32.const $187=, 464 + i32.add $187=, $312, $187 + call __ashlti3@FUNCTION, $187, $3, $4, $pop553 + i64.const $push4=, -896 + i64.add $push5=, $17, $pop4 + i32.const $188=, 496 + i32.add $188=, $312, $188 + call __ashlti3@FUNCTION, $188, $1, $2, $pop5 + i64.const $push6=, 640 + i64.sub $push7=, $pop6, $17 + tee_local $push552=, $181=, $pop7 + i32.const $189=, 352 + i32.add $189=, $312, $189 + call __lshrti3@FUNCTION, $189, $5, $6, $pop552 + i64.const $push8=, -512 + i64.add $push9=, $17, $pop8 + tee_local $push551=, $180=, $pop9 + i32.const $190=, 336 + i32.add $190=, $312, $190 + call __ashlti3@FUNCTION, $190, $7, $8, $pop551 + i64.const $push10=, -640 + i64.add $push11=, $17, $pop10 + tee_local $push550=, $179=, $pop11 + i32.const $191=, 368 + i32.add $191=, $312, $191 + call __ashlti3@FUNCTION, $191, $5, $6, $pop550 + i64.const $push12=, 768 + i64.sub $push13=, $pop12, $17 + tee_local $push549=, $178=, $pop13 + i32.const $192=, 432 + i32.add $192=, $312, $192 + call __lshrti3@FUNCTION, $192, $3, $4, $pop549 + i64.const $push14=, 384 + i64.sub $push15=, $pop14, $17 + tee_local $push548=, $177=, $pop15 + i32.const $193=, 864 + i32.add $193=, $312, $193 + call __lshrti3@FUNCTION, $193, $9, $10, $pop548 + i64.const $push16=, -256 + i64.add $push17=, $17, $pop16 + tee_local $push547=, $176=, $pop17 + i32.const $194=, 848 + i32.add $194=, $312, $194 + call __ashlti3@FUNCTION, $194, $11, $12, $pop547 + i64.const $push18=, -384 + i64.add $push19=, $17, $pop18 + tee_local $push546=, $175=, $pop19 + i32.const $195=, 880 + i32.add $195=, $312, $195 + call __ashlti3@FUNCTION, $195, $9, $10, $pop546 + i32.const $196=, 1008 + i32.add $196=, $312, $196 + call __ashlti3@FUNCTION, $196, $15, $16, $17 + i64.const $push20=, 128 + i64.sub $push21=, $pop20, $17 + tee_local $push545=, $174=, $pop21 + i32.const $197=, 960 + i32.add $197=, $312, $197 + call __lshrti3@FUNCTION, $197, $13, $14, $pop545 + i64.const $push22=, -128 + i64.add $push23=, $17, $pop22 + tee_local $push544=, $173=, $pop23 + i32.const $198=, 976 + i32.add $198=, $312, $198 + call __ashlti3@FUNCTION, $198, $13, $14, $pop544 + i64.const $push24=, 256 + i64.sub $push25=, $pop24, $17 + tee_local $push543=, $172=, $pop25 + i32.const $199=, 816 + i32.add $199=, $312, $199 + call __lshrti3@FUNCTION, $199, $11, $12, $pop543 + i64.const $push26=, 512 + i64.sub $push27=, $pop26, $17 + tee_local $push542=, $171=, $pop27 + i32.const $200=, 240 + i32.add $200=, $312, $200 + call __lshrti3@FUNCTION, $200, $7, $8, $pop542 + i32.const $201=, 912 + i32.add $201=, $312, $201 + call __ashlti3@FUNCTION, $201, $11, $12, $17 + i32.const $202=, 928 + i32.add $202=, $312, $202 + call __lshrti3@FUNCTION, $202, $9, $10, $174 + i32.const $203=, 944 + i32.add $203=, $312, $203 + call __ashlti3@FUNCTION, $203, $9, $10, $173 + i64.const $push541=, 256 + i64.sub $push28=, $pop541, $171 + tee_local $push540=, $170=, $pop28 + i32.const $204=, 80 + i32.add $204=, $312, $204 + call __ashlti3@FUNCTION, $204, $7, $8, $pop540 + i64.const $push539=, 128 + i64.sub $push29=, $pop539, $170 + i32.const $205=, 96 + i32.add $205=, $312, $205 + call __lshrti3@FUNCTION, $205, $5, $6, $pop29 + i64.const $push538=, 128 + i64.sub $push30=, $pop538, $171 + tee_local $push537=, $169=, $pop30 + i32.const $206=, 112 + i32.add $206=, $312, $206 + call __ashlti3@FUNCTION, $206, $5, $6, $pop537 + i32.const $207=, 48 + i32.add $207=, $312, $207 + call __lshrti3@FUNCTION, $207, $3, $4, $171 + i32.const $208=, 176 + i32.add $208=, $312, $208 + call __lshrti3@FUNCTION, $208, $7, $8, $172 + i32.const $209=, 288 + i32.add $209=, $312, $209 + call __lshrti3@FUNCTION, $209, $1, $2, $181 + i32.const $210=, 272 + i32.add $210=, $312, $210 + call __ashlti3@FUNCTION, $210, $3, $4, $180 + i32.const $211=, 304 + i32.add $211=, $312, $211 + call __ashlti3@FUNCTION, $211, $1, $2, $179 + i32.const $212=, 128 + i32.add $212=, $312, $212 + call __lshrti3@FUNCTION, $212, $5, $6, $172 + i64.const $push536=, 384 + i64.sub $push31=, $pop536, $171 + i32.const $213=, 144 + i32.add $213=, $312, $213 + call __ashlti3@FUNCTION, $213, $7, $8, $pop31 + i32.const $214=, 160 + i32.add $214=, $312, $214 + call __lshrti3@FUNCTION, $214, $7, $8, $174 + call __lshrti3@FUNCTION, $312, $1, $2, $171 + i32.const $215=, 16 + i32.add $215=, $312, $215 + call __ashlti3@FUNCTION, $215, $3, $4, $169 + i32.const $216=, 32 + i32.add $216=, $312, $216 + call __lshrti3@FUNCTION, $216, $3, $4, $177 + i32.const $217=, 64 + i32.add $217=, $312, $217 + call __ashlti3@FUNCTION, $217, $5, $6, $170 + i32.const $218=, 896 + i32.add $218=, $312, $218 + call __ashlti3@FUNCTION, $218, $9, $10, $17 + i32.const $219=, 256 + i32.add $219=, $312, $219 + call __ashlti3@FUNCTION, $219, $1, $2, $180 + i32.const $220=, 192 + i32.add $220=, $312, $220 + call __lshrti3@FUNCTION, $220, $5, $6, $171 + i32.const $221=, 208 + i32.add $221=, $312, $221 + call __ashlti3@FUNCTION, $221, $7, $8, $169 + i32.const $222=, 224 + i32.add $222=, $312, $222 + call __lshrti3@FUNCTION, $222, $7, $8, $177 + i32.const $223=, 768 + i32.add $223=, $312, $223 + call __lshrti3@FUNCTION, $223, $9, $10, $172 + i64.const $push535=, 128 + i64.sub $push32=, $pop535, $172 + tee_local $push534=, $169=, $pop32 + i32.const $224=, 784 + i32.add $224=, $312, $224 + call __ashlti3@FUNCTION, $224, $11, $12, $pop534 + i32.const $225=, 800 + i32.add $225=, $312, $225 + call __lshrti3@FUNCTION, $225, $11, $12, $174 + i32.const $226=, 992 + i32.add $226=, $312, $226 + call __ashlti3@FUNCTION, $226, $13, $14, $17 + i32.const $227=, 832 + i32.add $227=, $312, $227 + call __ashlti3@FUNCTION, $227, $9, $10, $176 + i32.const $228=, 384 + i32.add $228=, $312, $228 + call __lshrti3@FUNCTION, $228, $1, $2, $178 + i64.const $push533=, 128 + i64.sub $push33=, $pop533, $178 + i32.const $229=, 400 + i32.add $229=, $312, $229 + call __ashlti3@FUNCTION, $229, $3, $4, $pop33 + i32.const $230=, 416 + i32.add $230=, $312, $230 + call __lshrti3@FUNCTION, $230, $3, $4, $181 + i32.const $231=, 320 + i32.add $231=, $312, $231 + call __ashlti3@FUNCTION, $231, $5, $6, $180 + i32.const $232=, 448 + i32.add $232=, $312, $232 + call __ashlti3@FUNCTION, $232, $1, $2, $182 + i32.const $233=, 736 + i32.add $233=, $312, $233 + call __lshrti3@FUNCTION, $233, $1, $2, $177 + i32.const $234=, 720 + i32.add $234=, $312, $234 + call __ashlti3@FUNCTION, $234, $3, $4, $176 + i32.const $235=, 752 + i32.add $235=, $312, $235 + call __ashlti3@FUNCTION, $235, $1, $2, $175 + i32.const $236=, 592 + i32.add $236=, $312, $236 + call __ashlti3@FUNCTION, $236, $7, $8, $17 + i32.const $237=, 608 + i32.add $237=, $312, $237 + call __lshrti3@FUNCTION, $237, $5, $6, $174 + i32.const $238=, 624 + i32.add $238=, $312, $238 + call __ashlti3@FUNCTION, $238, $5, $6, $173 + i32.const $239=, 688 + i32.add $239=, $312, $239 + call __lshrti3@FUNCTION, $239, $3, $4, $172 + i32.const $240=, 640 + i32.add $240=, $312, $240 + call __lshrti3@FUNCTION, $240, $1, $2, $172 + i32.const $241=, 656 + i32.add $241=, $312, $241 + call __ashlti3@FUNCTION, $241, $3, $4, $169 + i32.const $242=, 672 + i32.add $242=, $312, $242 + call __lshrti3@FUNCTION, $242, $3, $4, $174 + i32.const $243=, 576 + i32.add $243=, $312, $243 + call __ashlti3@FUNCTION, $243, $5, $6, $17 + i32.const $244=, 704 + i32.add $244=, $312, $244 + call __ashlti3@FUNCTION, $244, $1, $2, $176 + i32.const $245=, 528 + i32.add $245=, $312, $245 + call __ashlti3@FUNCTION, $245, $3, $4, $17 + i32.const $246=, 544 + i32.add $246=, $312, $246 + call __lshrti3@FUNCTION, $246, $1, $2, $174 + i32.const $247=, 560 + i32.add $247=, $312, $247 + call __ashlti3@FUNCTION, $247, $1, $2, $173 + i32.const $248=, 512 + i32.add $248=, $312, $248 + call __ashlti3@FUNCTION, $248, $1, $2, $17 + i32.const $push75=, 8 + i32.const $249=, 480 + i32.add $249=, $312, $249 + i32.add $push76=, $249, $pop75 + i64.load $174=, 0($pop76) + i32.const $push532=, 8 + i32.const $250=, 464 + i32.add $250=, $312, $250 + i32.add $push77=, $250, $pop532 + i64.load $177=, 0($pop77) + i64.load $173=, 480($312) + i64.load $181=, 464($312) + i64.load $169=, 496($312) + i32.const $push531=, 8 + i32.const $251=, 496 + i32.add $251=, $312, $251 + i32.add $push79=, $251, $pop531 + i64.load $179=, 0($pop79) + i32.const $push530=, 8 + i32.const $252=, 352 + i32.add $252=, $312, $252 + i32.add $push82=, $252, $pop530 + i64.load $175=, 0($pop82) + i32.const $push529=, 8 + i32.const $253=, 336 + i32.add $253=, $312, $253 + i32.add $push83=, $253, $pop529 + i64.load $45=, 0($pop83) + i32.const $push528=, 8 + i32.const $254=, 368 + i32.add $254=, $312, $254 + i32.add $push85=, $254, $pop528 + i64.load $46=, 0($pop85) + i32.const $push527=, 8 + i32.const $255=, 432 + i32.add $255=, $312, $255 + i32.add $push88=, $255, $pop527 + i64.load $47=, 0($pop88) + i32.const $push526=, 8 + i32.const $256=, 864 + i32.add $256=, $312, $256 + i32.add $push93=, $256, $pop526 + i64.load $48=, 0($pop93) + i32.const $push525=, 8 + i32.const $257=, 848 + i32.add $257=, $312, $257 + i32.add $push94=, $257, $pop525 + i64.load $49=, 0($pop94) + i32.const $push524=, 8 + i32.const $258=, 880 + i32.add $258=, $312, $258 + i32.add $push96=, $258, $pop524 + i64.load $50=, 0($pop96) + i32.const $push523=, 8 + i32.const $259=, 1008 + i32.add $259=, $312, $259 + i32.add $push99=, $259, $pop523 + i64.load $51=, 0($pop99) + i32.const $push522=, 8 + i32.const $260=, 960 + i32.add $260=, $312, $260 + i32.add $push100=, $260, $pop522 + i64.load $52=, 0($pop100) + i32.const $push521=, 8 + i32.const $261=, 976 + i32.add $261=, $312, $261 + i32.add $push102=, $261, $pop521 + i64.load $53=, 0($pop102) + i32.const $push520=, 8 + i32.const $262=, 816 + i32.add $262=, $312, $262 + i32.add $push105=, $262, $pop520 + i64.load $54=, 0($pop105) + i32.const $push519=, 8 + i32.const $263=, 240 + i32.add $263=, $312, $263 + i32.add $push110=, $263, $pop519 + i64.load $55=, 0($pop110) + i32.const $push518=, 8 + i32.const $264=, 912 + i32.add $264=, $312, $264 + i32.add $push138=, $264, $pop518 + i64.load $67=, 0($pop138) + i32.const $push517=, 8 + i32.const $265=, 928 + i32.add $265=, $312, $265 + i32.add $push139=, $265, $pop517 + i64.load $68=, 0($pop139) + i32.const $push516=, 8 + i32.const $266=, 944 + i32.add $266=, $312, $266 + i32.add $push141=, $266, $pop516 + i64.load $69=, 0($pop141) + i32.const $push515=, 8 + i32.const $267=, 80 + i32.add $267=, $312, $267 + i32.add $push145=, $267, $pop515 + i64.load $70=, 0($pop145) + i32.const $push514=, 8 + i32.const $268=, 96 + i32.add $268=, $312, $268 + i32.add $push146=, $268, $pop514 + i64.load $71=, 0($pop146) + i64.load $59=, 80($312) + i64.load $60=, 96($312) + i64.load $61=, 112($312) + i32.const $push513=, 8 + i32.const $269=, 112 + i32.add $269=, $312, $269 + i32.add $push148=, $269, $pop513 + i64.load $72=, 0($pop148) + i32.const $push512=, 8 + i32.const $270=, 48 + i32.add $270=, $312, $270 + i32.add $push151=, $270, $pop512 + i64.load $73=, 0($pop151) + i32.const $push511=, 8 + i32.const $271=, 176 + i32.add $271=, $312, $271 + i32.add $push154=, $271, $pop511 + i64.load $74=, 0($pop154) + i32.const $push510=, 8 + i32.const $272=, 288 + i32.add $272=, $312, $272 + i32.add $push159=, $272, $pop510 + i64.load $75=, 0($pop159) + i32.const $push509=, 8 + i32.const $273=, 272 + i32.add $273=, $312, $273 + i32.add $push160=, $273, $pop509 + i64.load $76=, 0($pop160) + i32.const $push508=, 8 + i32.const $274=, 304 + i32.add $274=, $312, $274 + i32.add $push162=, $274, $pop508 + i64.load $77=, 0($pop162) + i32.const $push507=, 8 + i32.const $275=, 128 + i32.add $275=, $312, $275 + i32.add $push186=, $275, $pop507 + i64.load $87=, 0($pop186) + i32.const $push506=, 8 + i32.const $276=, 144 + i32.add $276=, $312, $276 + i32.add $push187=, $276, $pop506 + i64.load $88=, 0($pop187) + i32.const $push505=, 8 + i32.const $277=, 160 + i32.add $277=, $312, $277 + i32.add $push189=, $277, $pop505 + i64.load $89=, 0($pop189) + i32.const $push504=, 8 + i32.add $push192=, $312, $pop504 + i64.load $90=, 0($pop192) + i32.const $push503=, 8 + i32.const $278=, 16 + i32.add $278=, $312, $278 + i32.add $push193=, $278, $pop503 + i64.load $91=, 0($pop193) + i64.load $84=, 64($312) + i32.const $push502=, 8 + i32.const $279=, 64 + i32.add $279=, $312, $279 + i32.add $push198=, $279, $pop502 + i64.load $93=, 0($pop198) + i32.const $push501=, 8 + i32.const $280=, 32 + i32.add $280=, $312, $280 + i32.add $push195=, $280, $pop501 + i64.load $92=, 0($pop195) + i32.const $push500=, 8 + i32.const $281=, 896 + i32.add $281=, $312, $281 + i32.add $push203=, $281, $pop500 + i64.load $94=, 0($pop203) + i32.const $push499=, 8 + i32.const $282=, 256 + i32.add $282=, $312, $282 + i32.add $push207=, $282, $pop499 + i64.load $95=, 0($pop207) + i32.const $push498=, 8 + i32.const $283=, 192 + i32.add $283=, $312, $283 + i32.add $push236=, $283, $pop498 + i64.load $109=, 0($pop236) + i32.const $push497=, 8 + i32.const $284=, 208 + i32.add $284=, $312, $284 + i32.add $push237=, $284, $pop497 + i64.load $110=, 0($pop237) + i64.load $81=, 0($312) + i64.load $82=, 16($312) + i64.load $83=, 32($312) + i32.const $push496=, 8 + i32.const $285=, 224 + i32.add $285=, $312, $285 + i32.add $push239=, $285, $pop496 + i64.load $111=, 0($pop239) + i64.load $96=, 192($312) + i64.load $97=, 208($312) + i64.load $98=, 224($312) + i64.load $44=, 240($312) + i64.load $62=, 48($312) + i64.load $63=, 176($312) + i64.load $78=, 128($312) + i64.load $79=, 144($312) + i64.load $80=, 160($312) + i32.const $push495=, 8 + i32.const $286=, 768 + i32.add $286=, $312, $286 + i32.add $push243=, $286, $pop495 + i64.load $112=, 0($pop243) + i32.const $push494=, 8 + i32.const $287=, 784 + i32.add $287=, $312, $287 + i32.add $push244=, $287, $pop494 + i64.load $113=, 0($pop244) + i32.const $push493=, 8 + i32.const $288=, 800 + i32.add $288=, $312, $288 + i32.add $push246=, $288, $pop493 + i64.load $114=, 0($pop246) + i32.const $push492=, 8 + i32.const $289=, 992 + i32.add $289=, $312, $289 + i32.add $push249=, $289, $pop492 + i64.load $115=, 0($pop249) + i32.const $push491=, 8 + i32.const $290=, 832 + i32.add $290=, $312, $290 + i32.add $push252=, $290, $pop491 + i64.load $116=, 0($pop252) + i32.const $push490=, 8 + i32.const $291=, 384 + i32.add $291=, $312, $291 + i32.add $push257=, $291, $pop490 + i64.load $117=, 0($pop257) + i32.const $push489=, 8 + i32.const $292=, 400 + i32.add $292=, $312, $292 + i32.add $push258=, $292, $pop489 + i64.load $118=, 0($pop258) + i64.load $104=, 384($312) + i64.load $105=, 400($312) + i32.const $push488=, 8 + i32.const $293=, 416 + i32.add $293=, $312, $293 + i32.add $push260=, $293, $pop488 + i64.load $119=, 0($pop260) + i64.load $106=, 416($312) + i64.load $36=, 432($312) + i32.const $push487=, 8 + i32.const $294=, 320 + i32.add $294=, $312, $294 + i32.add $push263=, $294, $pop487 + i64.load $120=, 0($pop263) + i64.load $33=, 352($312) + i64.load $34=, 336($312) + i64.load $35=, 368($312) + i32.const $push486=, 8 + i32.const $295=, 448 + i32.add $295=, $312, $295 + i32.add $push266=, $295, $pop486 + i64.load $121=, 0($pop266) + i64.load $64=, 288($312) + i64.load $65=, 272($312) + i64.load $66=, 304($312) + i64.load $86=, 256($312) + i64.load $107=, 320($312) + i64.load $108=, 448($312) + i32.const $push485=, 8 + i32.const $296=, 736 + i32.add $296=, $312, $296 + i32.add $push283=, $296, $pop485 + i64.load $129=, 0($pop283) + i32.const $push484=, 8 + i32.const $297=, 720 + i32.add $297=, $312, $297 + i32.add $push284=, $297, $pop484 + i64.load $130=, 0($pop284) + i64.load $37=, 864($312) + i64.load $38=, 848($312) + i64.load $39=, 880($312) + i32.const $push483=, 8 + i32.const $298=, 752 + i32.add $298=, $312, $298 + i32.add $push286=, $298, $pop483 + i64.load $131=, 0($pop286) + i64.load $122=, 736($312) + i64.load $123=, 720($312) + i64.load $124=, 752($312) + i32.const $push482=, 8 + i32.const $299=, 592 + i32.add $299=, $312, $299 + i32.add $push289=, $299, $pop482 + i64.load $132=, 0($pop289) + i32.const $push481=, 8 + i32.const $300=, 608 + i32.add $300=, $312, $300 + i32.add $push290=, $300, $pop481 + i64.load $133=, 0($pop290) + i32.const $push480=, 8 + i32.const $301=, 624 + i32.add $301=, $312, $301 + i32.add $push292=, $301, $pop480 + i64.load $134=, 0($pop292) + i32.const $push479=, 8 + i32.const $302=, 688 + i32.add $302=, $312, $302 + i32.add $push295=, $302, $pop479 + i64.load $135=, 0($pop295) + i32.const $push478=, 8 + i32.const $303=, 640 + i32.add $303=, $312, $303 + i32.add $push310=, $303, $pop478 + i64.load $141=, 0($pop310) i32.const $push477=, 8 - i32.const $247=, 464 - i32.add $247=, $310, $247 - i32.add $push47=, $247, $pop477 - i64.load $38=, 0($pop47) - i64.load $42=, 480($310) - i64.load $34=, 464($310) - i64.load $46=, 496($310) + i32.const $304=, 656 + i32.add $304=, $312, $304 + i32.add $push311=, $304, $pop477 + i64.load $142=, 0($pop311) + i64.load $99=, 768($312) + i64.load $100=, 784($312) + i64.load $101=, 800($312) i32.const $push476=, 8 - i32.const $248=, 496 - i32.add $248=, $310, $248 - i32.add $push49=, $248, $pop476 - i64.load $36=, 0($pop49) - i64.const $push475=, 128 - i64.lt_u $47=, $33, $pop475 - i64.const $push21=, 0 - i64.eq $48=, $33, $pop21 + i32.const $305=, 672 + i32.add $305=, $312, $305 + i32.add $push313=, $305, $pop476 + i64.load $143=, 0($pop313) + i64.load $136=, 640($312) + i64.load $137=, 656($312) + i64.load $138=, 672($312) + i64.load $43=, 816($312) + i64.load $128=, 688($312) + i32.const $push475=, 8 + i32.const $306=, 576 + i32.add $306=, $312, $306 + i32.add $push316=, $306, $pop475 + i64.load $144=, 0($pop316) + i64.load $103=, 832($312) + i64.load $140=, 704($312) i32.const $push474=, 8 - i32.const $249=, 352 - i32.add $249=, $310, $249 - i32.add $push52=, $249, $pop474 - i64.load $33=, 0($pop52) + i32.const $307=, 704 + i32.add $307=, $312, $307 + i32.add $push319=, $307, $pop474 + i64.load $145=, 0($pop319) i32.const $push473=, 8 - i32.const $250=, 336 - i32.add $250=, $310, $250 - i32.add $push53=, $250, $pop473 - i64.load $40=, 0($pop53) + i32.const $308=, 528 + i32.add $308=, $312, $308 + i32.add $push329=, $308, $pop473 + i64.load $149=, 0($pop329) i32.const $push472=, 8 - i32.const $251=, 368 - i32.add $251=, $310, $251 - i32.add $push55=, $251, $pop472 - i64.load $74=, 0($pop55) + i32.const $309=, 544 + i32.add $309=, $312, $309 + i32.add $push330=, $309, $pop472 + i64.load $150=, 0($pop330) i32.const $push471=, 8 - i32.const $252=, 432 - i32.add $252=, $310, $252 - i32.add $push58=, $252, $pop471 - i64.load $75=, 0($pop58) + i32.const $310=, 560 + i32.add $310=, $312, $310 + i32.add $push332=, $310, $pop471 + i64.load $151=, 0($pop332) + i64.load $40=, 1008($312) + i64.load $41=, 960($312) + i64.load $42=, 976($312) + i64.load $56=, 912($312) + i64.load $57=, 928($312) + i64.load $58=, 944($312) + i64.load $85=, 896($312) + i64.load $102=, 992($312) + i64.load $125=, 592($312) + i64.load $126=, 608($312) + i64.load $127=, 624($312) + i64.load $139=, 576($312) + i64.load $146=, 528($312) + i64.load $147=, 544($312) + i64.load $148=, 560($312) + i64.load $152=, 512($312) i32.const $push470=, 8 - i32.const $253=, 864 - i32.add $253=, $310, $253 - i32.add $push63=, $253, $pop470 - i64.load $76=, 0($pop63) - i32.const $push469=, 8 - i32.const $254=, 848 - i32.add $254=, $310, $254 - i32.add $push64=, $254, $pop469 - i64.load $77=, 0($pop64) - i32.const $push468=, 8 - i32.const $255=, 880 - i32.add $255=, $310, $255 - i32.add $push66=, $255, $pop468 - i64.load $78=, 0($pop66) - i32.const $push467=, 8 - i32.const $256=, 1008 - i32.add $256=, $310, $256 - i32.add $push69=, $256, $pop467 - i64.load $79=, 0($pop69) - i32.const $push466=, 8 - i32.const $257=, 960 - i32.add $257=, $310, $257 - i32.add $push70=, $257, $pop466 - i64.load $80=, 0($pop70) - i32.const $push465=, 8 - i32.const $258=, 976 - i32.add $258=, $310, $258 - i32.add $push72=, $258, $pop465 - i64.load $81=, 0($pop72) - i32.const $push464=, 8 - i32.const $259=, 816 - i32.add $259=, $310, $259 - i32.add $push75=, $259, $pop464 - i64.load $82=, 0($pop75) + i32.add $push345=, $0, $pop470 + i64.const $push469=, 512 + i64.lt_u $push72=, $17, $pop469 + tee_local $push468=, $168=, $pop72 + i64.const $push467=, 256 + i64.lt_u $push64=, $17, $pop467 + tee_local $push466=, $167=, $pop64 + i64.const $push465=, 128 + i64.lt_u $push56=, $17, $pop465 + tee_local $push464=, $166=, $pop56 i32.const $push463=, 8 - i32.const $260=, 240 - i32.add $260=, $310, $260 - i32.add $push80=, $260, $pop463 - i64.load $83=, 0($pop80) - i32.const $push462=, 8 - i32.const $261=, 912 - i32.add $261=, $310, $261 - i32.add $push105=, $261, $pop462 - i64.load $97=, 0($pop105) - i32.const $push461=, 8 - i32.const $262=, 928 - i32.add $262=, $310, $262 - i32.add $push106=, $262, $pop461 - i64.load $98=, 0($pop106) - i32.const $push460=, 8 - i32.const $263=, 944 - i32.add $263=, $310, $263 - i32.add $push108=, $263, $pop460 - i64.load $99=, 0($pop108) - i32.const $push459=, 8 - i32.const $264=, 80 - i32.add $264=, $310, $264 - i32.add $push112=, $264, $pop459 - i64.load $100=, 0($pop112) - i32.const $push458=, 8 - i32.const $265=, 96 - i32.add $265=, $310, $265 - i32.add $push113=, $265, $pop458 - i64.load $101=, 0($pop113) - i64.load $87=, 80($310) - i64.load $88=, 96($310) - i64.load $89=, 112($310) - i32.const $push457=, 8 - i32.const $266=, 112 - i32.add $266=, $310, $266 - i32.add $push115=, $266, $pop457 - i64.load $102=, 0($pop115) - i64.const $push456=, 128 - i64.lt_u $86=, $45, $pop456 + i32.const $311=, 512 + i32.add $311=, $312, $311 + i32.add $push340=, $311, $pop463 + i64.load $push341=, 0($pop340) + i64.const $push37=, 0 + i64.select $push342=, $pop464, $pop341, $pop37 + i64.const $push462=, 0 + i64.select $push343=, $pop466, $pop342, $pop462 + i64.const $push461=, 0 + i64.select $push344=, $pop468, $pop343, $pop461 + i64.store $discard=, 0($pop345), $pop344 + i64.const $push460=, 0 + i64.select $push337=, $166, $152, $pop460 + i64.const $push459=, 0 + i64.select $push338=, $167, $pop337, $pop459 + i64.const $push458=, 0 + i64.select $push339=, $168, $pop338, $pop458 + i64.store $discard=, 0($0), $pop339 + i32.const $push346=, 24 + i32.add $push347=, $0, $pop346 + i64.const $push457=, 0 + i64.eq $push59=, $17, $pop457 + tee_local $push456=, $165=, $pop59 + i64.or $push331=, $149, $150 + i64.select $push333=, $166, $pop331, $151 + i64.select $push334=, $pop456, $4, $pop333 i64.const $push455=, 0 - i64.eq $90=, $45, $pop455 - i32.const $push454=, 8 - i32.const $267=, 48 - i32.add $267=, $310, $267 - i32.add $push118=, $267, $pop454 - i64.load $45=, 0($pop118) - i32.const $push453=, 8 - i32.const $268=, 176 - i32.add $268=, $310, $268 - i32.add $push121=, $268, $pop453 - i64.load $103=, 0($pop121) - i32.const $push452=, 8 - i32.const $269=, 288 - i32.add $269=, $310, $269 - i32.add $push126=, $269, $pop452 - i64.load $104=, 0($pop126) - i32.const $push451=, 8 - i32.const $270=, 272 - i32.add $270=, $310, $270 - i32.add $push127=, $270, $pop451 - i64.load $105=, 0($pop127) - i32.const $push450=, 8 - i32.const $271=, 304 - i32.add $271=, $310, $271 - i32.add $push129=, $271, $pop450 - i64.load $106=, 0($pop129) - i32.const $push449=, 8 - i32.const $272=, 128 - i32.add $272=, $310, $272 - i32.add $push152=, $272, $pop449 - i64.load $117=, 0($pop152) - i32.const $push448=, 8 - i32.const $273=, 144 - i32.add $273=, $310, $273 - i32.add $push153=, $273, $pop448 - i64.load $118=, 0($pop153) - i32.const $push447=, 8 - i32.const $274=, 160 - i32.add $274=, $310, $274 - i32.add $push155=, $274, $pop447 - i64.load $119=, 0($pop155) - i32.const $push446=, 8 - i32.const $275=, 0 - i32.add $275=, $310, $275 - i32.add $push158=, $275, $pop446 - i64.load $120=, 0($pop158) - i32.const $push445=, 8 - i32.const $276=, 16 - i32.add $276=, $310, $276 - i32.add $push159=, $276, $pop445 - i64.load $121=, 0($pop159) - i64.load $114=, 64($310) - i32.const $push444=, 8 - i32.const $277=, 64 - i32.add $277=, $310, $277 - i32.add $push164=, $277, $pop444 - i64.load $123=, 0($pop164) - i32.const $push443=, 8 - i32.const $278=, 32 - i32.add $278=, $310, $278 - i32.add $push161=, $278, $pop443 - i64.load $122=, 0($pop161) - i32.const $push442=, 8 - i32.const $279=, 896 - i32.add $279=, $310, $279 - i32.add $push169=, $279, $pop442 - i64.load $124=, 0($pop169) - i32.const $push441=, 8 - i32.const $280=, 256 - i32.add $280=, $310, $280 - i32.add $push173=, $280, $pop441 - i64.load $125=, 0($pop173) - i32.const $push440=, 8 - i32.const $281=, 192 - i32.add $281=, $310, $281 - i32.add $push201=, $281, $pop440 - i64.load $140=, 0($pop201) - i32.const $push439=, 8 - i32.const $282=, 208 - i32.add $282=, $310, $282 - i32.add $push202=, $282, $pop439 - i64.load $141=, 0($pop202) - i64.load $111=, 0($310) - i64.load $112=, 16($310) - i64.load $113=, 32($310) - i32.const $push438=, 8 - i32.const $283=, 224 - i32.add $283=, $310, $283 - i32.add $push204=, $283, $pop438 - i64.load $142=, 0($pop204) - i64.const $push437=, 128 - i64.lt_u $70=, $44, $pop437 - i64.load $126=, 192($310) - i64.load $127=, 208($310) - i64.load $128=, 224($310) - i64.load $71=, 240($310) - i64.load $91=, 48($310) - i64.load $92=, 176($310) - i64.const $push436=, 128 - i64.lt_u $67=, $43, $pop436 - i64.const $push435=, 256 - i64.lt_u $72=, $44, $pop435 - i64.load $107=, 128($310) - i64.load $108=, 144($310) - i64.load $109=, 160($310) + i64.select $push335=, $167, $pop334, $pop455 + i64.const $push454=, 0 + i64.select $push336=, $168, $pop335, $pop454 + i64.store $discard=, 0($pop347), $pop336 + i32.const $push348=, 16 + i32.add $push349=, $0, $pop348 + i64.or $push324=, $146, $147 + i64.select $push325=, $166, $pop324, $148 + i64.select $push326=, $165, $3, $pop325 + i64.const $push453=, 0 + i64.select $push327=, $167, $pop326, $pop453 + i64.const $push452=, 0 + i64.select $push328=, $168, $pop327, $pop452 + i64.store $discard=, 0($pop349), $pop328 + i32.const $push350=, 56 + i32.add $push351=, $0, $pop350 + i64.or $push291=, $132, $133 + i64.select $push293=, $166, $pop291, $134 + i64.select $push294=, $165, $8, $pop293 + i64.const $push451=, 128 + i64.lt_u $push61=, $172, $pop451 + tee_local $push450=, $164=, $pop61 + i64.const $push449=, 0 + i64.select $push296=, $pop450, $135, $pop449 + i64.or $push297=, $pop294, $pop296 + i64.const $push448=, 0 + i64.eq $push54=, $176, $pop448 + tee_local $push447=, $153=, $pop54 + i64.const $push446=, 128 + i64.lt_u $push51=, $176, $pop446 + tee_local $push445=, $163=, $pop51 + i64.or $push285=, $130, $129 + i64.select $push287=, $pop445, $pop285, $131 + i64.select $push288=, $pop447, $4, $pop287 + i64.select $push298=, $167, $pop297, $pop288 + i64.select $push299=, $165, $8, $pop298 + i64.const $push444=, 0 + i64.select $push300=, $168, $pop299, $pop444 + i64.store $discard=, 0($pop351), $pop300 + i32.const $push352=, 48 + i32.add $push353=, $0, $pop352 + i64.or $push275=, $125, $126 + i64.select $push276=, $166, $pop275, $127 + i64.select $push277=, $165, $7, $pop276 + i64.const $push443=, 0 + i64.select $push278=, $164, $128, $pop443 + i64.or $push279=, $pop277, $pop278 + i64.or $push272=, $123, $122 + i64.select $push273=, $163, $pop272, $124 + i64.select $push274=, $153, $3, $pop273 + i64.select $push280=, $167, $pop279, $pop274 + i64.select $push281=, $165, $7, $pop280 + i64.const $push442=, 0 + i64.select $push282=, $168, $pop281, $pop442 + i64.store $discard=, 0($pop353), $pop282 + i32.const $push354=, 40 + i32.add $push355=, $0, $pop354 + i64.const $push441=, 0 + i64.select $push317=, $166, $144, $pop441 + i64.const $push440=, 0 + i64.eq $push170=, $172, $pop440 + tee_local $push439=, $162=, $pop170 + i64.or $push312=, $141, $142 + i64.select $push314=, $164, $pop312, $143 + i64.select $push315=, $pop439, $2, $pop314 + i64.or $push318=, $pop317, $pop315 + i64.const $push438=, 0 + i64.select $push320=, $163, $145, $pop438 + i64.select $push321=, $167, $pop318, $pop320 + i64.select $push322=, $165, $6, $pop321 + i64.const $push437=, 0 + i64.select $push323=, $168, $pop322, $pop437 + i64.store $discard=, 0($pop355), $pop323 + i32.const $push356=, 32 + i32.add $push357=, $0, $pop356 + i64.const $push436=, 0 + i64.select $push304=, $166, $139, $pop436 + i64.or $push301=, $136, $137 + i64.select $push302=, $164, $pop301, $138 + i64.select $push303=, $162, $1, $pop302 + i64.or $push305=, $pop304, $pop303 + i64.const $push435=, 0 + i64.select $push306=, $163, $140, $pop435 + i64.select $push307=, $167, $pop305, $pop306 + i64.select $push308=, $165, $5, $pop307 i64.const $push434=, 0 - i64.eq $93=, $44, $pop434 + i64.select $push309=, $168, $pop308, $pop434 + i64.store $discard=, 0($pop357), $pop309 + i32.const $push358=, 120 + i32.add $push359=, $0, $pop358 + i64.or $push101=, $51, $52 + i64.select $push103=, $166, $pop101, $53 + i64.select $push104=, $165, $16, $pop103 i64.const $push433=, 0 - i64.eq $110=, $43, $pop433 - i32.const $push432=, 8 - i32.const $284=, 768 - i32.add $284=, $310, $284 - i32.add $push208=, $284, $pop432 - i64.load $44=, 0($pop208) - i32.const $push431=, 8 - i32.const $285=, 784 - i32.add $285=, $310, $285 - i32.add $push209=, $285, $pop431 - i64.load $43=, 0($pop209) - i32.const $push430=, 8 - i32.const $286=, 800 - i32.add $286=, $310, $286 - i32.add $push211=, $286, $pop430 - i64.load $143=, 0($pop211) - i32.const $push429=, 8 - i32.const $287=, 992 - i32.add $287=, $310, $287 - i32.add $push214=, $287, $pop429 - i64.load $144=, 0($pop214) - i32.const $push428=, 8 - i32.const $288=, 832 - i32.add $288=, $310, $288 - i32.add $push217=, $288, $pop428 - i64.load $145=, 0($pop217) - i32.const $push427=, 8 - i32.const $289=, 384 - i32.add $289=, $310, $289 - i32.add $push222=, $289, $pop427 - i64.load $146=, 0($pop222) - i32.const $push426=, 8 - i32.const $290=, 400 - i32.add $290=, $310, $290 - i32.add $push223=, $290, $pop426 - i64.load $147=, 0($pop223) - i64.load $134=, 384($310) - i64.load $135=, 400($310) - i32.const $push425=, 8 - i32.const $291=, 416 - i32.add $291=, $310, $291 - i32.add $push225=, $291, $pop425 - i64.load $148=, 0($pop225) - i64.load $136=, 416($310) - i64.load $55=, 432($310) - i64.const $push424=, 128 - i64.lt_u $54=, $37, $pop424 - i64.const $push423=, 0 - i64.eq $137=, $37, $pop423 - i32.const $push422=, 8 - i32.const $292=, 320 - i32.add $292=, $310, $292 - i32.add $push228=, $292, $pop422 - i64.load $37=, 0($pop228) - i64.load $50=, 352($310) - i64.load $51=, 336($310) - i64.load $52=, 368($310) - i32.const $push421=, 8 - i32.const $293=, 448 - i32.add $293=, $310, $293 - i32.add $push231=, $293, $pop421 - i64.load $149=, 0($pop231) + i64.select $push106=, $164, $54, $pop433 + i64.or $push107=, $pop104, $pop106 + i64.or $push95=, $49, $48 + i64.select $push97=, $163, $pop95, $50 + i64.select $push98=, $153, $12, $pop97 + i64.select $push108=, $167, $pop107, $pop98 + i64.select $push109=, $165, $16, $pop108 + i64.const $push432=, 256 + i64.lt_u $push69=, $171, $pop432 + tee_local $push431=, $161=, $pop69 + i64.const $push430=, 128 + i64.lt_u $push67=, $171, $pop430 + tee_local $push429=, $160=, $pop67 + i64.const $push428=, 0 + i64.select $push111=, $pop429, $55, $pop428 + i64.const $push427=, 0 + i64.select $push112=, $pop431, $pop111, $pop427 + i64.or $push113=, $pop109, $pop112 + i64.const $push426=, 256 + i64.lt_u $push48=, $180, $pop426 + tee_local $push425=, $159=, $pop48 + i64.const $push424=, 0 + i64.eq $push43=, $180, $pop424 + tee_local $push423=, $158=, $pop43 + i64.const $push422=, 128 + i64.lt_u $push40=, $180, $pop422 + tee_local $push421=, $157=, $pop40 + i64.or $push84=, $45, $175 + i64.select $push86=, $pop421, $pop84, $46 + i64.select $push87=, $pop423, $8, $pop86 i64.const $push420=, 128 - i64.lt_u $49=, $35, $pop420 - i64.load $94=, 288($310) - i64.load $95=, 272($310) - i64.load $96=, 304($310) - i64.load $116=, 256($310) - i64.load $138=, 320($310) - i64.load $139=, 448($310) - i64.const $push419=, 0 - i64.eq $53=, $35, $pop419 - i64.const $push418=, 256 - i64.lt_u $56=, $35, $pop418 - i32.const $push417=, 8 - i32.const $294=, 736 - i32.add $294=, $310, $294 - i32.add $push248=, $294, $pop417 - i64.load $35=, 0($pop248) - i32.const $push416=, 8 - i32.const $295=, 720 - i32.add $295=, $310, $295 - i32.add $push249=, $295, $pop416 - i64.load $157=, 0($pop249) - i64.load $58=, 864($310) - i64.load $59=, 848($310) - i64.load $60=, 880($310) - i32.const $push415=, 8 - i32.const $296=, 752 - i32.add $296=, $310, $296 - i32.add $push251=, $296, $pop415 - i64.load $158=, 0($pop251) - i64.const $push414=, 128 - i64.lt_u $57=, $39, $pop414 - i64.load $150=, 736($310) - i64.load $151=, 720($310) - i64.load $152=, 752($310) + i64.lt_u $push45=, $178, $pop420 + tee_local $push419=, $156=, $pop45 + i64.const $push418=, 0 + i64.select $push89=, $pop419, $47, $pop418 + i64.or $push90=, $pop87, $pop89 + i64.const $push417=, 0 + i64.eq $push38=, $182, $pop417 + tee_local $push416=, $155=, $pop38 + i64.const $push415=, 128 + i64.lt_u $push34=, $182, $pop415 + tee_local $push414=, $154=, $pop34 + i64.or $push78=, $177, $174 + i64.select $push80=, $pop414, $pop78, $179 + i64.select $push81=, $pop416, $4, $pop80 + i64.select $push91=, $pop425, $pop90, $pop81 + i64.select $push92=, $158, $8, $pop91 + i64.select $push114=, $168, $pop113, $pop92 + i64.select $push115=, $165, $16, $pop114 + i64.store $discard=, 0($pop359), $pop115 + i32.const $push360=, 112 + i32.add $push361=, $0, $pop360 + i64.or $push57=, $40, $41 + i64.select $push58=, $166, $pop57, $42 + i64.select $push60=, $165, $15, $pop58 i64.const $push413=, 0 - i64.eq $61=, $39, $pop413 - i32.const $push412=, 8 - i32.const $297=, 592 - i32.add $297=, $310, $297 - i32.add $push254=, $297, $pop412 - i64.load $39=, 0($pop254) - i32.const $push411=, 8 - i32.const $298=, 608 - i32.add $298=, $310, $298 - i32.add $push255=, $298, $pop411 - i64.load $159=, 0($pop255) - i32.const $push410=, 8 - i32.const $299=, 624 - i32.add $299=, $310, $299 - i32.add $push257=, $299, $pop410 - i64.load $160=, 0($pop257) - i32.const $push409=, 8 - i32.const $300=, 688 - i32.add $300=, $310, $300 - i32.add $push260=, $300, $pop409 - i64.load $161=, 0($pop260) - i32.const $push408=, 8 - i32.const $301=, 640 - i32.add $301=, $310, $301 - i32.add $push275=, $301, $pop408 - i64.load $167=, 0($pop275) - i32.const $push407=, 8 - i32.const $302=, 656 - i32.add $302=, $310, $302 - i32.add $push276=, $302, $pop407 - i64.load $168=, 0($pop276) - i64.load $129=, 768($310) - i64.load $130=, 784($310) - i64.load $131=, 800($310) - i32.const $push406=, 8 - i32.const $303=, 672 - i32.add $303=, $310, $303 - i32.add $push278=, $303, $pop406 - i64.load $169=, 0($pop278) - i64.load $162=, 640($310) - i64.load $163=, 656($310) - i64.load $164=, 672($310) - i64.load $68=, 816($310) - i64.load $156=, 688($310) - i32.const $push405=, 8 - i32.const $304=, 576 - i32.add $304=, $310, $304 - i32.add $push281=, $304, $pop405 - i64.load $170=, 0($pop281) - i64.load $133=, 832($310) - i64.load $166=, 704($310) - i32.const $push404=, 8 - i32.const $305=, 704 - i32.add $305=, $310, $305 - i32.add $push284=, $305, $pop404 - i64.load $171=, 0($pop284) - i32.const $push403=, 8 - i32.const $306=, 528 - i32.add $306=, $310, $306 - i32.add $push294=, $306, $pop403 - i64.load $175=, 0($pop294) - i32.const $push402=, 8 - i32.const $307=, 544 - i32.add $307=, $310, $307 - i32.add $push295=, $307, $pop402 - i64.load $176=, 0($pop295) - i32.const $push401=, 8 - i32.const $308=, 560 - i32.add $308=, $310, $308 - i32.add $push297=, $308, $pop401 - i64.load $177=, 0($pop297) - i64.load $63=, 1008($310) - i64.load $64=, 960($310) - i64.load $65=, 976($310) - i64.const $push400=, 128 - i64.lt_u $62=, $17, $pop400 + i64.select $push62=, $164, $43, $pop413 + i64.or $push63=, $pop60, $pop62 + i64.or $push52=, $38, $37 + i64.select $push53=, $163, $pop52, $39 + i64.select $push55=, $153, $11, $pop53 + i64.select $push65=, $167, $pop63, $pop55 + i64.select $push66=, $165, $15, $pop65 + i64.const $push412=, 0 + i64.select $push68=, $160, $44, $pop412 + i64.const $push411=, 0 + i64.select $push70=, $161, $pop68, $pop411 + i64.or $push71=, $pop66, $pop70 + i64.or $push41=, $34, $33 + i64.select $push42=, $157, $pop41, $35 + i64.select $push44=, $158, $7, $pop42 + i64.const $push410=, 0 + i64.select $push46=, $156, $36, $pop410 + i64.or $push47=, $pop44, $pop46 + i64.or $push35=, $181, $173 + i64.select $push36=, $154, $pop35, $169 + i64.select $push39=, $155, $3, $pop36 + i64.select $push49=, $159, $pop47, $pop39 + i64.select $push50=, $158, $7, $pop49 + i64.select $push73=, $168, $pop71, $pop50 + i64.select $push74=, $165, $15, $pop73 + i64.store $discard=, 0($pop361), $pop74 + i32.const $push362=, 104 + i32.add $push363=, $0, $pop362 + i64.const $push409=, 0 + i64.select $push250=, $166, $115, $pop409 + i64.or $push245=, $112, $113 + i64.select $push247=, $164, $pop245, $114 + i64.select $push248=, $162, $10, $pop247 + i64.or $push251=, $pop250, $pop248 + i64.const $push408=, 0 + i64.select $push253=, $163, $116, $pop408 + i64.select $push254=, $167, $pop251, $pop253 + i64.select $push255=, $165, $14, $pop254 + i64.const $push407=, 0 + i64.eq $push129=, $171, $pop407 + tee_local $push406=, $153=, $pop129 + i64.or $push238=, $109, $110 + i64.select $push240=, $160, $pop238, $111 + i64.select $push241=, $pop406, $6, $pop240 + i64.const $push405=, 0 + i64.select $push242=, $161, $pop241, $pop405 + i64.or $push256=, $pop255, $pop242 + i64.const $push404=, 0 + i64.select $push264=, $157, $120, $pop404 + i64.const $push403=, 0 + i64.eq $push227=, $178, $pop403 + tee_local $push402=, $155=, $pop227 + i64.or $push259=, $117, $118 + i64.select $push261=, $156, $pop259, $119 + i64.select $push262=, $pop402, $2, $pop261 + i64.or $push265=, $pop264, $pop262 + i64.const $push401=, 0 + i64.select $push267=, $154, $121, $pop401 + i64.select $push268=, $159, $pop265, $pop267 + i64.select $push269=, $158, $6, $pop268 + i64.select $push270=, $168, $pop256, $pop269 + i64.select $push271=, $165, $14, $pop270 + i64.store $discard=, 0($pop363), $pop271 + i32.const $push364=, 96 + i32.add $push365=, $0, $pop364 + i64.const $push400=, 0 + i64.select $push219=, $166, $102, $pop400 + i64.or $push216=, $99, $100 + i64.select $push217=, $164, $pop216, $101 + i64.select $push218=, $162, $9, $pop217 + i64.or $push220=, $pop219, $pop218 i64.const $push399=, 0 - i64.eq $66=, $17, $pop399 - i64.const $push398=, 256 - i64.lt_u $69=, $17, $pop398 - i64.const $push397=, 512 - i64.lt_u $73=, $17, $pop397 - i64.load $17=, 912($310) - i64.load $84=, 928($310) - i64.load $85=, 944($310) - i64.load $115=, 896($310) - i64.load $132=, 992($310) - i64.load $153=, 592($310) - i64.load $154=, 608($310) - i64.load $155=, 624($310) - i64.load $165=, 576($310) - i64.load $172=, 528($310) - i64.load $173=, 544($310) - i64.load $174=, 560($310) - i64.load $178=, 512($310) - i32.const $push396=, 8 - i32.add $push310=, $0, $pop396 - i32.const $push395=, 8 - i32.const $309=, 512 - i32.add $309=, $310, $309 - i32.add $push305=, $309, $pop395 - i64.load $push306=, 0($pop305) + i64.select $push221=, $163, $103, $pop399 + i64.select $push222=, $167, $pop220, $pop221 + i64.select $push223=, $165, $13, $pop222 + i64.or $push212=, $96, $97 + i64.select $push213=, $160, $pop212, $98 + i64.select $push214=, $153, $5, $pop213 + i64.const $push398=, 0 + i64.select $push215=, $161, $pop214, $pop398 + i64.or $push224=, $pop223, $pop215 + i64.const $push397=, 0 + i64.select $push229=, $157, $107, $pop397 + i64.or $push225=, $104, $105 + i64.select $push226=, $156, $pop225, $106 + i64.select $push228=, $155, $1, $pop226 + i64.or $push230=, $pop229, $pop228 + i64.const $push396=, 0 + i64.select $push231=, $154, $108, $pop396 + i64.select $push232=, $159, $pop230, $pop231 + i64.select $push233=, $158, $5, $pop232 + i64.select $push234=, $168, $pop224, $pop233 + i64.select $push235=, $165, $13, $pop234 + i64.store $discard=, 0($pop365), $pop235 + i32.const $push366=, 72 + i32.add $push367=, $0, $pop366 + i64.const $push395=, 0 + i64.select $push204=, $166, $94, $pop395 i64.const $push394=, 0 - i64.select $push307=, $62, $pop306, $pop394 - i64.const $push393=, 0 - i64.select $push308=, $69, $pop307, $pop393 - i64.const $push392=, 0 - i64.select $push309=, $73, $pop308, $pop392 - i64.store $discard=, 0($pop310), $pop309 + i64.select $push205=, $167, $pop204, $pop394 + i64.or $push194=, $90, $91 + i64.select $push196=, $160, $pop194, $92 + i64.select $push197=, $153, $2, $pop196 + i64.const $push393=, 128 + i64.lt_u $push120=, $170, $pop393 + tee_local $push392=, $163=, $pop120 i64.const $push391=, 0 - i64.select $push302=, $62, $178, $pop391 + i64.select $push199=, $pop392, $93, $pop391 + i64.or $push200=, $pop197, $pop199 + i64.or $push188=, $87, $88 + i64.select $push190=, $164, $pop188, $89 + i64.select $push191=, $162, $6, $pop190 + i64.select $push201=, $161, $pop200, $pop191 + i64.select $push202=, $153, $2, $pop201 + i64.or $push206=, $pop205, $pop202 i64.const $push390=, 0 - i64.select $push303=, $69, $pop302, $pop390 + i64.select $push208=, $157, $95, $pop390 i64.const $push389=, 0 - i64.select $push304=, $73, $pop303, $pop389 - i64.store $discard=, 0($0), $pop304 - i32.const $push311=, 24 - i32.add $push312=, $0, $pop311 - i64.or $push296=, $175, $176 - i64.select $push298=, $62, $pop296, $177 - i64.select $push299=, $66, $4, $pop298 + i64.select $push209=, $159, $pop208, $pop389 + i64.select $push210=, $168, $pop206, $pop209 + i64.select $push211=, $165, $10, $pop210 + i64.store $discard=, 0($pop367), $pop211 + i32.const $push368=, 64 + i32.add $push369=, $0, $pop368 i64.const $push388=, 0 - i64.select $push300=, $69, $pop299, $pop388 + i64.select $push179=, $166, $85, $pop388 i64.const $push387=, 0 - i64.select $push301=, $73, $pop300, $pop387 - i64.store $discard=, 0($pop312), $pop301 - i32.const $push313=, 16 - i32.add $push314=, $0, $pop313 - i64.or $push289=, $172, $173 - i64.select $push290=, $62, $pop289, $174 - i64.select $push291=, $66, $3, $pop290 + i64.select $push180=, $167, $pop179, $pop387 + i64.or $push172=, $81, $82 + i64.select $push173=, $160, $pop172, $83 + i64.select $push174=, $153, $1, $pop173 i64.const $push386=, 0 - i64.select $push292=, $69, $pop291, $pop386 + i64.select $push175=, $163, $84, $pop386 + i64.or $push176=, $pop174, $pop175 + i64.or $push168=, $78, $79 + i64.select $push169=, $164, $pop168, $80 + i64.select $push171=, $162, $5, $pop169 + i64.select $push177=, $161, $pop176, $pop171 + i64.select $push178=, $153, $1, $pop177 + i64.or $push181=, $pop180, $pop178 i64.const $push385=, 0 - i64.select $push293=, $73, $pop292, $pop385 - i64.store $discard=, 0($pop314), $pop293 - i32.const $push315=, 56 - i32.add $push316=, $0, $pop315 - i64.or $push256=, $39, $159 - i64.select $push258=, $62, $pop256, $160 - i64.select $push259=, $66, $8, $pop258 + i64.select $push182=, $157, $86, $pop385 i64.const $push384=, 0 - i64.select $push261=, $67, $161, $pop384 - i64.or $push262=, $pop259, $pop261 - i64.or $push250=, $157, $35 - i64.select $push252=, $57, $pop250, $158 - i64.select $push253=, $61, $4, $pop252 - i64.select $push263=, $69, $pop262, $pop253 - i64.select $push264=, $66, $8, $pop263 + i64.select $push183=, $159, $pop182, $pop384 + i64.select $push184=, $168, $pop181, $pop183 + i64.select $push185=, $165, $9, $pop184 + i64.store $discard=, 0($pop369), $pop185 + i32.const $push370=, 88 + i32.add $push371=, $0, $pop370 + i64.or $push140=, $67, $68 + i64.select $push142=, $166, $pop140, $69 + i64.select $push143=, $165, $12, $pop142 i64.const $push383=, 0 - i64.select $push265=, $73, $pop264, $pop383 - i64.store $discard=, 0($pop316), $pop265 - i32.const $push317=, 48 - i32.add $push318=, $0, $pop317 - i64.or $push240=, $153, $154 - i64.select $push241=, $62, $pop240, $155 - i64.select $push242=, $66, $7, $pop241 + i64.select $push144=, $167, $pop143, $pop383 i64.const $push382=, 0 - i64.select $push243=, $67, $156, $pop382 - i64.or $push244=, $pop242, $pop243 - i64.or $push237=, $151, $150 - i64.select $push238=, $57, $pop237, $152 - i64.select $push239=, $61, $3, $pop238 - i64.select $push245=, $69, $pop244, $pop239 - i64.select $push246=, $66, $7, $pop245 + i64.select $push152=, $160, $73, $pop382 i64.const $push381=, 0 - i64.select $push247=, $73, $pop246, $pop381 - i64.store $discard=, 0($pop318), $pop247 - i32.const $push319=, 40 - i32.add $push320=, $0, $pop319 - i64.const $push380=, 0 - i64.select $push282=, $62, $170, $pop380 - i64.or $push277=, $167, $168 - i64.select $push279=, $67, $pop277, $169 - i64.select $push280=, $110, $2, $pop279 - i64.or $push283=, $pop282, $pop280 + i64.eq $push123=, $170, $pop381 + tee_local $push380=, $162=, $pop123 + i64.or $push147=, $70, $71 + i64.select $push149=, $163, $pop147, $72 + i64.select $push150=, $pop380, $8, $pop149 + i64.or $push153=, $pop152, $pop150 i64.const $push379=, 0 - i64.select $push285=, $57, $171, $pop379 - i64.select $push286=, $69, $pop283, $pop285 - i64.select $push287=, $66, $6, $pop286 + i64.select $push155=, $164, $74, $pop379 + i64.select $push156=, $161, $pop153, $pop155 + i64.select $push157=, $153, $4, $pop156 + i64.or $push158=, $pop144, $pop157 + i64.or $push161=, $76, $75 + i64.select $push163=, $157, $pop161, $77 + i64.select $push164=, $158, $4, $pop163 i64.const $push378=, 0 - i64.select $push288=, $73, $pop287, $pop378 - i64.store $discard=, 0($pop320), $pop288 - i32.const $push321=, 32 - i32.add $push322=, $0, $pop321 + i64.select $push165=, $159, $pop164, $pop378 + i64.select $push166=, $168, $pop158, $pop165 + i64.select $push167=, $165, $12, $pop166 + i64.store $discard=, 0($pop371), $pop167 + i32.const $push372=, 80 + i32.add $push373=, $0, $pop372 + i64.or $push116=, $56, $57 + i64.select $push117=, $166, $pop116, $58 + i64.select $push118=, $165, $11, $pop117 i64.const $push377=, 0 - i64.select $push269=, $62, $165, $pop377 - i64.or $push266=, $162, $163 - i64.select $push267=, $67, $pop266, $164 - i64.select $push268=, $110, $1, $pop267 - i64.or $push270=, $pop269, $pop268 + i64.select $push119=, $167, $pop118, $pop377 i64.const $push376=, 0 - i64.select $push271=, $57, $166, $pop376 - i64.select $push272=, $69, $pop270, $pop271 - i64.select $push273=, $66, $5, $pop272 + i64.select $push125=, $160, $62, $pop376 + i64.or $push121=, $59, $60 + i64.select $push122=, $163, $pop121, $61 + i64.select $push124=, $162, $7, $pop122 + i64.or $push126=, $pop125, $pop124 i64.const $push375=, 0 - i64.select $push274=, $73, $pop273, $pop375 - i64.store $discard=, 0($pop322), $pop274 - i32.const $push323=, 120 - i32.add $push324=, $0, $pop323 - i64.or $push71=, $79, $80 - i64.select $push73=, $62, $pop71, $81 - i64.select $push74=, $66, $16, $pop73 + i64.select $push127=, $164, $63, $pop375 + i64.select $push128=, $161, $pop126, $pop127 + i64.select $push130=, $153, $3, $pop128 + i64.or $push131=, $pop119, $pop130 + i64.or $push132=, $65, $64 + i64.select $push133=, $157, $pop132, $66 + i64.select $push134=, $158, $3, $pop133 i64.const $push374=, 0 - i64.select $push76=, $67, $82, $pop374 - i64.or $push77=, $pop74, $pop76 - i64.or $push65=, $77, $76 - i64.select $push67=, $57, $pop65, $78 - i64.select $push68=, $61, $12, $pop67 - i64.select $push78=, $69, $pop77, $pop68 - i64.select $push79=, $66, $16, $pop78 - i64.const $push373=, 0 - i64.select $push81=, $70, $83, $pop373 - i64.const $push372=, 0 - i64.select $push82=, $72, $pop81, $pop372 - i64.or $push83=, $pop79, $pop82 - i64.or $push54=, $40, $33 - i64.select $push56=, $49, $pop54, $74 - i64.select $push57=, $53, $8, $pop56 - i64.const $push371=, 0 - i64.select $push59=, $54, $75, $pop371 - i64.or $push60=, $pop57, $pop59 - i64.or $push48=, $38, $41 - i64.select $push50=, $47, $pop48, $36 - i64.select $push51=, $48, $4, $pop50 - i64.select $push61=, $56, $pop60, $pop51 - i64.select $push62=, $53, $8, $pop61 - i64.select $push84=, $73, $pop83, $pop62 - i64.select $push85=, $66, $16, $pop84 - i64.store $discard=, 0($pop324), $pop85 - i32.const $push325=, 112 - i32.add $push326=, $0, $pop325 - i64.or $push33=, $63, $64 - i64.select $push34=, $62, $pop33, $65 - i64.select $push35=, $66, $15, $pop34 - i64.const $push370=, 0 - i64.select $push36=, $67, $68, $pop370 - i64.or $push37=, $pop35, $pop36 - i64.or $push30=, $59, $58 - i64.select $push31=, $57, $pop30, $60 - i64.select $push32=, $61, $11, $pop31 - i64.select $push38=, $69, $pop37, $pop32 - i64.select $push39=, $66, $15, $pop38 - i64.const $push369=, 0 - i64.select $push40=, $70, $71, $pop369 - i64.const $push368=, 0 - i64.select $push41=, $72, $pop40, $pop368 - i64.or $push42=, $pop39, $pop41 - i64.or $push23=, $51, $50 - i64.select $push24=, $49, $pop23, $52 - i64.select $push25=, $53, $7, $pop24 - i64.const $push367=, 0 - i64.select $push26=, $54, $55, $pop367 - i64.or $push27=, $pop25, $pop26 - i64.or $push19=, $34, $42 - i64.select $push20=, $47, $pop19, $46 - i64.select $push22=, $48, $3, $pop20 - i64.select $push28=, $56, $pop27, $pop22 - i64.select $push29=, $53, $7, $pop28 - i64.select $push43=, $73, $pop42, $pop29 - i64.select $push44=, $66, $15, $pop43 - i64.store $discard=, 0($pop326), $pop44 - i32.const $push327=, 104 - i32.add $push328=, $0, $pop327 - i64.const $push366=, 0 - i64.select $push215=, $62, $144, $pop366 - i64.or $push210=, $44, $43 - i64.select $push212=, $67, $pop210, $143 - i64.select $push213=, $110, $10, $pop212 - i64.or $push216=, $pop215, $pop213 - i64.const $push365=, 0 - i64.select $push218=, $57, $145, $pop365 - i64.select $push219=, $69, $pop216, $pop218 - i64.select $push220=, $66, $14, $pop219 - i64.or $push203=, $140, $141 - i64.select $push205=, $70, $pop203, $142 - i64.select $push206=, $93, $6, $pop205 - i64.const $push364=, 0 - i64.select $push207=, $72, $pop206, $pop364 - i64.or $push221=, $pop220, $pop207 - i64.const $push363=, 0 - i64.select $push229=, $49, $37, $pop363 - i64.or $push224=, $146, $147 - i64.select $push226=, $54, $pop224, $148 - i64.select $push227=, $137, $2, $pop226 - i64.or $push230=, $pop229, $pop227 - i64.const $push362=, 0 - i64.select $push232=, $47, $149, $pop362 - i64.select $push233=, $56, $pop230, $pop232 - i64.select $push234=, $53, $6, $pop233 - i64.select $push235=, $73, $pop221, $pop234 - i64.select $push236=, $66, $14, $pop235 - i64.store $discard=, 0($pop328), $pop236 - i32.const $push329=, 96 - i32.add $push330=, $0, $pop329 - i64.const $push361=, 0 - i64.select $push185=, $62, $132, $pop361 - i64.or $push182=, $129, $130 - i64.select $push183=, $67, $pop182, $131 - i64.select $push184=, $110, $9, $pop183 - i64.or $push186=, $pop185, $pop184 - i64.const $push360=, 0 - i64.select $push187=, $57, $133, $pop360 - i64.select $push188=, $69, $pop186, $pop187 - i64.select $push189=, $66, $13, $pop188 - i64.or $push178=, $126, $127 - i64.select $push179=, $70, $pop178, $128 - i64.select $push180=, $93, $5, $pop179 - i64.const $push359=, 0 - i64.select $push181=, $72, $pop180, $pop359 - i64.or $push190=, $pop189, $pop181 - i64.const $push358=, 0 - i64.select $push194=, $49, $138, $pop358 - i64.or $push191=, $134, $135 - i64.select $push192=, $54, $pop191, $136 - i64.select $push193=, $137, $1, $pop192 - i64.or $push195=, $pop194, $pop193 - i64.const $push357=, 0 - i64.select $push196=, $47, $139, $pop357 - i64.select $push197=, $56, $pop195, $pop196 - i64.select $push198=, $53, $5, $pop197 - i64.select $push199=, $73, $pop190, $pop198 - i64.select $push200=, $66, $13, $pop199 - i64.store $discard=, 0($pop330), $pop200 - i32.const $push331=, 72 - i32.add $push332=, $0, $pop331 - i64.const $push356=, 0 - i64.select $push170=, $62, $124, $pop356 - i64.const $push355=, 0 - i64.select $push171=, $69, $pop170, $pop355 - i64.or $push160=, $120, $121 - i64.select $push162=, $70, $pop160, $122 - i64.select $push163=, $93, $2, $pop162 - i64.const $push354=, 0 - i64.select $push165=, $86, $123, $pop354 - i64.or $push166=, $pop163, $pop165 - i64.or $push154=, $117, $118 - i64.select $push156=, $67, $pop154, $119 - i64.select $push157=, $110, $6, $pop156 - i64.select $push167=, $72, $pop166, $pop157 - i64.select $push168=, $93, $2, $pop167 - i64.or $push172=, $pop171, $pop168 - i64.const $push353=, 0 - i64.select $push174=, $49, $125, $pop353 - i64.const $push352=, 0 - i64.select $push175=, $56, $pop174, $pop352 - i64.select $push176=, $73, $pop172, $pop175 - i64.select $push177=, $66, $10, $pop176 - i64.store $discard=, 0($pop332), $pop177 - i32.const $push333=, 64 - i32.add $push334=, $0, $pop333 - i64.const $push351=, 0 - i64.select $push145=, $62, $115, $pop351 - i64.const $push350=, 0 - i64.select $push146=, $69, $pop145, $pop350 - i64.or $push138=, $111, $112 - i64.select $push139=, $70, $pop138, $113 - i64.select $push140=, $93, $1, $pop139 - i64.const $push349=, 0 - i64.select $push141=, $86, $114, $pop349 - i64.or $push142=, $pop140, $pop141 - i64.or $push135=, $107, $108 - i64.select $push136=, $67, $pop135, $109 - i64.select $push137=, $110, $5, $pop136 - i64.select $push143=, $72, $pop142, $pop137 - i64.select $push144=, $93, $1, $pop143 - i64.or $push147=, $pop146, $pop144 - i64.const $push348=, 0 - i64.select $push148=, $49, $116, $pop348 - i64.const $push347=, 0 - i64.select $push149=, $56, $pop148, $pop347 - i64.select $push150=, $73, $pop147, $pop149 - i64.select $push151=, $66, $9, $pop150 - i64.store $discard=, 0($pop334), $pop151 - i32.const $push335=, 88 - i32.add $push336=, $0, $pop335 - i64.or $push107=, $97, $98 - i64.select $push109=, $62, $pop107, $99 - i64.select $push110=, $66, $12, $pop109 - i64.const $push346=, 0 - i64.select $push111=, $69, $pop110, $pop346 - i64.const $push345=, 0 - i64.select $push119=, $70, $45, $pop345 - i64.or $push114=, $100, $101 - i64.select $push116=, $86, $pop114, $102 - i64.select $push117=, $90, $8, $pop116 - i64.or $push120=, $pop119, $pop117 - i64.const $push344=, 0 - i64.select $push122=, $67, $103, $pop344 - i64.select $push123=, $72, $pop120, $pop122 - i64.select $push124=, $93, $4, $pop123 - i64.or $push125=, $pop111, $pop124 - i64.or $push128=, $105, $104 - i64.select $push130=, $49, $pop128, $106 - i64.select $push131=, $53, $4, $pop130 - i64.const $push343=, 0 - i64.select $push132=, $56, $pop131, $pop343 - i64.select $push133=, $73, $pop125, $pop132 - i64.select $push134=, $66, $12, $pop133 - i64.store $discard=, 0($pop336), $pop134 - i32.const $push337=, 80 - i32.add $push338=, $0, $pop337 - i64.or $push86=, $17, $84 - i64.select $push87=, $62, $pop86, $85 - i64.select $push88=, $66, $11, $pop87 - i64.const $push342=, 0 - i64.select $push89=, $69, $pop88, $pop342 - i64.const $push341=, 0 - i64.select $push93=, $70, $91, $pop341 - i64.or $push90=, $87, $88 - i64.select $push91=, $86, $pop90, $89 - i64.select $push92=, $90, $7, $pop91 - i64.or $push94=, $pop93, $pop92 - i64.const $push340=, 0 - i64.select $push95=, $67, $92, $pop340 - i64.select $push96=, $72, $pop94, $pop95 - i64.select $push97=, $93, $3, $pop96 - i64.or $push98=, $pop89, $pop97 - i64.or $push99=, $95, $94 - i64.select $push100=, $49, $pop99, $96 - i64.select $push101=, $53, $3, $pop100 - i64.const $push339=, 0 - i64.select $push102=, $56, $pop101, $pop339 - i64.select $push103=, $73, $pop98, $pop102 - i64.select $push104=, $66, $11, $pop103 - i64.store $discard=, 0($pop338), $pop104 - i32.const $181=, 1024 - i32.add $310=, $310, $181 - i32.const $181=, __stack_pointer - i32.store $310=, 0($181), $310 + i64.select $push135=, $159, $pop134, $pop374 + i64.select $push136=, $168, $pop131, $pop135 + i64.select $push137=, $165, $11, $pop136 + i64.store $discard=, 0($pop373), $pop137 + i32.const $185=, 1024 + i32.add $312=, $312, $185 + i32.const $185=, __stack_pointer + i32.store $312=, 0($185), $312 return .endfunc .Lfunc_end5: diff --git a/test/llvm_autogenerated/legalize.wast b/test/llvm_autogenerated/legalize.wast index 6feec29d4..66aa5a194 100644 --- a/test/llvm_autogenerated/legalize.wast +++ b/test/llvm_autogenerated/legalize.wast @@ -95,33 +95,33 @@ (local $$44 i64) (local $$45 i64) (local $$46 i64) - (local $$47 i32) - (local $$48 i32) - (local $$49 i32) + (local $$47 i64) + (local $$48 i64) + (local $$49 i64) (local $$50 i64) (local $$51 i64) (local $$52 i64) - (local $$53 i32) - (local $$54 i32) + (local $$53 i64) + (local $$54 i64) (local $$55 i64) - (local $$56 i32) - (local $$57 i32) + (local $$56 i64) + (local $$57 i64) (local $$58 i64) (local $$59 i64) (local $$60 i64) - (local $$61 i32) - (local $$62 i32) + (local $$61 i64) + (local $$62 i64) (local $$63 i64) (local $$64 i64) (local $$65 i64) - (local $$66 i32) - (local $$67 i32) + (local $$66 i64) + (local $$67 i64) (local $$68 i64) - (local $$69 i32) - (local $$70 i32) + (local $$69 i64) + (local $$70 i64) (local $$71 i64) - (local $$72 i32) - (local $$73 i32) + (local $$72 i64) + (local $$73 i64) (local $$74 i64) (local $$75 i64) (local $$76 i64) @@ -134,14 +134,14 @@ (local $$83 i64) (local $$84 i64) (local $$85 i64) - (local $$86 i32) + (local $$86 i64) (local $$87 i64) (local $$88 i64) (local $$89 i64) - (local $$90 i32) + (local $$90 i64) (local $$91 i64) (local $$92 i64) - (local $$93 i32) + (local $$93 i64) (local $$94 i64) (local $$95 i64) (local $$96 i64) @@ -158,7 +158,7 @@ (local $$107 i64) (local $$108 i64) (local $$109 i64) - (local $$110 i32) + (local $$110 i64) (local $$111 i64) (local $$112 i64) (local $$113 i64) @@ -185,7 +185,7 @@ (local $$134 i64) (local $$135 i64) (local $$136 i64) - (local $$137 i32) + (local $$137 i64) (local $$138 i64) (local $$139 i64) (local $$140 i64) @@ -201,22 +201,22 @@ (local $$150 i64) (local $$151 i64) (local $$152 i64) - (local $$153 i64) - (local $$154 i64) - (local $$155 i64) - (local $$156 i64) - (local $$157 i64) - (local $$158 i64) - (local $$159 i64) - (local $$160 i64) - (local $$161 i64) - (local $$162 i64) - (local $$163 i64) - (local $$164 i64) - (local $$165 i64) - (local $$166 i64) - (local $$167 i64) - (local $$168 i64) + (local $$153 i32) + (local $$154 i32) + (local $$155 i32) + (local $$156 i32) + (local $$157 i32) + (local $$158 i32) + (local $$159 i32) + (local $$160 i32) + (local $$161 i32) + (local $$162 i32) + (local $$163 i32) + (local $$164 i32) + (local $$165 i32) + (local $$166 i32) + (local $$167 i32) + (local $$168 i32) (local $$169 i64) (local $$170 i64) (local $$171 i64) @@ -227,10 +227,10 @@ (local $$176 i64) (local $$177 i64) (local $$178 i64) - (local $$179 i32) - (local $$180 i32) - (local $$181 i32) - (local $$182 i32) + (local $$179 i64) + (local $$180 i64) + (local $$181 i64) + (local $$182 i64) (local $$183 i32) (local $$184 i32) (local $$185 i32) @@ -359,45 +359,47 @@ (local $$308 i32) (local $$309 i32) (local $$310 i32) + (local $$311 i32) + (local $$312 i32) (block $fake_return_waka123 (block - (set_local $$179 + (set_local $$183 (i32.const 1) ) - (set_local $$179 + (set_local $$183 (i32.load align=4 - (get_local $$179) + (get_local $$183) ) ) - (set_local $$180 + (set_local $$184 (i32.const 1024) ) - (set_local $$310 + (set_local $$312 (i32.sub - (get_local $$179) - (get_local $$180) + (get_local $$183) + (get_local $$184) ) ) - (set_local $$180 + (set_local $$184 (i32.const 1) ) - (set_local $$310 + (set_local $$312 (i32.store align=4 - (get_local $$180) - (get_local $$310) + (get_local $$184) + (get_local $$312) ) ) - (set_local $$182 + (set_local $$186 (i32.const 480) ) - (set_local $$182 + (set_local $$186 (i32.add - (get_local $$310) - (get_local $$182) + (get_local $$312) + (get_local $$186) ) ) (call_import $__lshrti3 - (get_local $$182) + (get_local $$186) (get_local $$1) (get_local $$2) (i64.sub @@ -405,849 +407,780 @@ (get_local $$17) ) ) - (set_local $$33 - (i64.add - (get_local $$17) - (i64.const -768) - ) - ) - (set_local $$183 - (i32.const 464) - ) - (set_local $$183 - (i32.add - (get_local $$310) - (get_local $$183) - ) - ) - (call_import $__ashlti3 - (get_local $$183) - (get_local $$3) - (get_local $$4) - (get_local $$33) - ) - (set_local $$184 - (i32.const 496) - ) - (set_local $$184 - (i32.add - (get_local $$310) - (get_local $$184) - ) - ) - (call_import $__ashlti3 - (get_local $$184) - (get_local $$1) - (get_local $$2) - (i64.add - (get_local $$17) - (i64.const -896) - ) - ) - (set_local $$34 - (i64.sub - (i64.const 640) - (get_local $$17) - ) - ) - (set_local $$185 - (i32.const 352) - ) - (set_local $$185 - (i32.add - (get_local $$310) - (get_local $$185) - ) - ) - (call_import $__lshrti3 - (get_local $$185) - (get_local $$5) - (get_local $$6) - (get_local $$34) - ) - (set_local $$35 - (i64.add - (get_local $$17) - (i64.const -512) - ) - ) - (set_local $$186 - (i32.const 336) - ) - (set_local $$186 - (i32.add - (get_local $$310) - (get_local $$186) - ) - ) - (call_import $__ashlti3 - (get_local $$186) - (get_local $$7) - (get_local $$8) - (get_local $$35) - ) - (set_local $$36 - (i64.add - (get_local $$17) - (i64.const -640) - ) - ) (set_local $$187 - (i32.const 368) + (i32.const 464) ) (set_local $$187 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$187) ) ) (call_import $__ashlti3 (get_local $$187) - (get_local $$5) - (get_local $$6) - (get_local $$36) - ) - (set_local $$37 - (i64.sub - (i64.const 768) - (get_local $$17) + (get_local $$3) + (get_local $$4) + (set_local $$182 + (i64.add + (get_local $$17) + (i64.const -768) + ) ) ) (set_local $$188 - (i32.const 432) + (i32.const 496) ) (set_local $$188 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$188) ) ) - (call_import $__lshrti3 + (call_import $__ashlti3 (get_local $$188) - (get_local $$3) - (get_local $$4) - (get_local $$37) - ) - (set_local $$38 - (i64.sub - (i64.const 384) + (get_local $$1) + (get_local $$2) + (i64.add (get_local $$17) + (i64.const -896) ) ) (set_local $$189 - (i32.const 864) + (i32.const 352) ) (set_local $$189 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$189) ) ) (call_import $__lshrti3 (get_local $$189) - (get_local $$9) - (get_local $$10) - (get_local $$38) - ) - (set_local $$39 - (i64.add - (get_local $$17) - (i64.const -256) + (get_local $$5) + (get_local $$6) + (set_local $$181 + (i64.sub + (i64.const 640) + (get_local $$17) + ) ) ) (set_local $$190 - (i32.const 848) + (i32.const 336) ) (set_local $$190 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$190) ) ) (call_import $__ashlti3 (get_local $$190) - (get_local $$11) - (get_local $$12) - (get_local $$39) - ) - (set_local $$40 - (i64.add - (get_local $$17) - (i64.const -384) + (get_local $$7) + (get_local $$8) + (set_local $$180 + (i64.add + (get_local $$17) + (i64.const -512) + ) ) ) (set_local $$191 - (i32.const 880) + (i32.const 368) ) (set_local $$191 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$191) ) ) (call_import $__ashlti3 (get_local $$191) - (get_local $$9) - (get_local $$10) - (get_local $$40) + (get_local $$5) + (get_local $$6) + (set_local $$179 + (i64.add + (get_local $$17) + (i64.const -640) + ) + ) ) (set_local $$192 - (i32.const 1008) + (i32.const 432) ) (set_local $$192 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$192) ) ) - (call_import $__ashlti3 + (call_import $__lshrti3 (get_local $$192) - (get_local $$15) - (get_local $$16) - (get_local $$17) - ) - (set_local $$41 - (i64.sub - (i64.const 128) - (get_local $$17) + (get_local $$3) + (get_local $$4) + (set_local $$178 + (i64.sub + (i64.const 768) + (get_local $$17) + ) ) ) (set_local $$193 - (i32.const 960) + (i32.const 864) ) (set_local $$193 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$193) ) ) (call_import $__lshrti3 (get_local $$193) - (get_local $$13) - (get_local $$14) - (get_local $$41) - ) - (set_local $$42 - (i64.add - (get_local $$17) - (i64.const -128) + (get_local $$9) + (get_local $$10) + (set_local $$177 + (i64.sub + (i64.const 384) + (get_local $$17) + ) ) ) (set_local $$194 - (i32.const 976) + (i32.const 848) ) (set_local $$194 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$194) ) ) (call_import $__ashlti3 (get_local $$194) - (get_local $$13) - (get_local $$14) - (get_local $$42) - ) - (set_local $$43 - (i64.sub - (i64.const 256) - (get_local $$17) + (get_local $$11) + (get_local $$12) + (set_local $$176 + (i64.add + (get_local $$17) + (i64.const -256) + ) ) ) (set_local $$195 - (i32.const 816) + (i32.const 880) ) (set_local $$195 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$195) ) ) - (call_import $__lshrti3 + (call_import $__ashlti3 (get_local $$195) - (get_local $$11) - (get_local $$12) - (get_local $$43) - ) - (set_local $$44 - (i64.sub - (i64.const 512) - (get_local $$17) + (get_local $$9) + (get_local $$10) + (set_local $$175 + (i64.add + (get_local $$17) + (i64.const -384) + ) ) ) (set_local $$196 - (i32.const 240) + (i32.const 1008) ) (set_local $$196 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$196) ) ) - (call_import $__lshrti3 + (call_import $__ashlti3 (get_local $$196) - (get_local $$7) - (get_local $$8) - (get_local $$44) + (get_local $$15) + (get_local $$16) + (get_local $$17) ) (set_local $$197 - (i32.const 912) + (i32.const 960) ) (set_local $$197 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$197) ) ) - (call_import $__ashlti3 + (call_import $__lshrti3 (get_local $$197) - (get_local $$11) - (get_local $$12) - (get_local $$17) + (get_local $$13) + (get_local $$14) + (set_local $$174 + (i64.sub + (i64.const 128) + (get_local $$17) + ) + ) ) (set_local $$198 - (i32.const 928) + (i32.const 976) ) (set_local $$198 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$198) ) ) - (call_import $__lshrti3 + (call_import $__ashlti3 (get_local $$198) - (get_local $$9) - (get_local $$10) - (get_local $$41) + (get_local $$13) + (get_local $$14) + (set_local $$173 + (i64.add + (get_local $$17) + (i64.const -128) + ) + ) ) (set_local $$199 - (i32.const 944) + (i32.const 816) ) (set_local $$199 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$199) ) ) - (call_import $__ashlti3 + (call_import $__lshrti3 (get_local $$199) - (get_local $$9) - (get_local $$10) - (get_local $$42) - ) - (set_local $$45 - (i64.sub - (i64.const 256) - (get_local $$44) + (get_local $$11) + (get_local $$12) + (set_local $$172 + (i64.sub + (i64.const 256) + (get_local $$17) + ) ) ) (set_local $$200 - (i32.const 80) + (i32.const 240) ) (set_local $$200 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$200) ) ) - (call_import $__ashlti3 + (call_import $__lshrti3 (get_local $$200) (get_local $$7) (get_local $$8) - (get_local $$45) + (set_local $$171 + (i64.sub + (i64.const 512) + (get_local $$17) + ) + ) ) (set_local $$201 - (i32.const 96) + (i32.const 912) ) (set_local $$201 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$201) ) ) - (call_import $__lshrti3 + (call_import $__ashlti3 (get_local $$201) - (get_local $$5) - (get_local $$6) - (i64.sub - (i64.const 128) - (get_local $$45) - ) - ) - (set_local $$46 - (i64.sub - (i64.const 128) - (get_local $$44) - ) + (get_local $$11) + (get_local $$12) + (get_local $$17) ) (set_local $$202 - (i32.const 112) + (i32.const 928) ) (set_local $$202 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$202) ) ) - (call_import $__ashlti3 + (call_import $__lshrti3 (get_local $$202) - (get_local $$5) - (get_local $$6) - (get_local $$46) + (get_local $$9) + (get_local $$10) + (get_local $$174) ) (set_local $$203 - (i32.const 48) + (i32.const 944) ) (set_local $$203 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$203) ) ) - (call_import $__lshrti3 + (call_import $__ashlti3 (get_local $$203) - (get_local $$3) - (get_local $$4) - (get_local $$44) + (get_local $$9) + (get_local $$10) + (get_local $$173) ) (set_local $$204 - (i32.const 176) + (i32.const 80) ) (set_local $$204 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$204) ) ) - (call_import $__lshrti3 + (call_import $__ashlti3 (get_local $$204) (get_local $$7) (get_local $$8) - (get_local $$43) + (set_local $$170 + (i64.sub + (i64.const 256) + (get_local $$171) + ) + ) ) (set_local $$205 - (i32.const 288) + (i32.const 96) ) (set_local $$205 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$205) ) ) (call_import $__lshrti3 (get_local $$205) - (get_local $$1) - (get_local $$2) - (get_local $$34) + (get_local $$5) + (get_local $$6) + (i64.sub + (i64.const 128) + (get_local $$170) + ) ) (set_local $$206 - (i32.const 272) + (i32.const 112) ) (set_local $$206 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$206) ) ) (call_import $__ashlti3 (get_local $$206) - (get_local $$3) - (get_local $$4) - (get_local $$35) + (get_local $$5) + (get_local $$6) + (set_local $$169 + (i64.sub + (i64.const 128) + (get_local $$171) + ) + ) ) (set_local $$207 - (i32.const 304) + (i32.const 48) ) (set_local $$207 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$207) ) ) - (call_import $__ashlti3 + (call_import $__lshrti3 (get_local $$207) - (get_local $$1) - (get_local $$2) - (get_local $$36) + (get_local $$3) + (get_local $$4) + (get_local $$171) ) (set_local $$208 - (i32.const 128) + (i32.const 176) ) (set_local $$208 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$208) ) ) (call_import $__lshrti3 (get_local $$208) - (get_local $$5) - (get_local $$6) - (get_local $$43) + (get_local $$7) + (get_local $$8) + (get_local $$172) ) (set_local $$209 - (i32.const 144) + (i32.const 288) ) (set_local $$209 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$209) ) ) - (call_import $__ashlti3 + (call_import $__lshrti3 (get_local $$209) - (get_local $$7) - (get_local $$8) - (i64.sub - (i64.const 384) - (get_local $$44) - ) + (get_local $$1) + (get_local $$2) + (get_local $$181) ) (set_local $$210 - (i32.const 160) + (i32.const 272) ) (set_local $$210 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$210) ) ) - (call_import $__lshrti3 + (call_import $__ashlti3 (get_local $$210) - (get_local $$7) - (get_local $$8) - (get_local $$41) + (get_local $$3) + (get_local $$4) + (get_local $$180) ) (set_local $$211 - (i32.const 0) + (i32.const 304) ) (set_local $$211 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$211) ) ) - (call_import $__lshrti3 + (call_import $__ashlti3 (get_local $$211) (get_local $$1) (get_local $$2) - (get_local $$44) + (get_local $$179) ) (set_local $$212 - (i32.const 16) + (i32.const 128) ) (set_local $$212 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$212) ) ) - (call_import $__ashlti3 + (call_import $__lshrti3 (get_local $$212) - (get_local $$3) - (get_local $$4) - (get_local $$46) + (get_local $$5) + (get_local $$6) + (get_local $$172) ) (set_local $$213 - (i32.const 32) + (i32.const 144) ) (set_local $$213 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$213) ) ) - (call_import $__lshrti3 + (call_import $__ashlti3 (get_local $$213) - (get_local $$3) - (get_local $$4) - (get_local $$38) + (get_local $$7) + (get_local $$8) + (i64.sub + (i64.const 384) + (get_local $$171) + ) ) (set_local $$214 - (i32.const 64) + (i32.const 160) ) (set_local $$214 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$214) ) ) - (call_import $__ashlti3 + (call_import $__lshrti3 (get_local $$214) - (get_local $$5) - (get_local $$6) - (get_local $$45) + (get_local $$7) + (get_local $$8) + (get_local $$174) + ) + (call_import $__lshrti3 + (get_local $$312) + (get_local $$1) + (get_local $$2) + (get_local $$171) ) (set_local $$215 - (i32.const 896) + (i32.const 16) ) (set_local $$215 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$215) ) ) (call_import $__ashlti3 (get_local $$215) - (get_local $$9) - (get_local $$10) - (get_local $$17) + (get_local $$3) + (get_local $$4) + (get_local $$169) ) (set_local $$216 - (i32.const 256) + (i32.const 32) ) (set_local $$216 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$216) ) ) - (call_import $__ashlti3 + (call_import $__lshrti3 (get_local $$216) - (get_local $$1) - (get_local $$2) - (get_local $$35) + (get_local $$3) + (get_local $$4) + (get_local $$177) ) (set_local $$217 - (i32.const 192) + (i32.const 64) ) (set_local $$217 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$217) ) ) - (call_import $__lshrti3 + (call_import $__ashlti3 (get_local $$217) (get_local $$5) (get_local $$6) - (get_local $$44) + (get_local $$170) ) (set_local $$218 - (i32.const 208) + (i32.const 896) ) (set_local $$218 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$218) ) ) (call_import $__ashlti3 (get_local $$218) - (get_local $$7) - (get_local $$8) - (get_local $$46) + (get_local $$9) + (get_local $$10) + (get_local $$17) ) (set_local $$219 - (i32.const 224) + (i32.const 256) ) (set_local $$219 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$219) ) ) - (call_import $__lshrti3 + (call_import $__ashlti3 (get_local $$219) - (get_local $$7) - (get_local $$8) - (get_local $$38) + (get_local $$1) + (get_local $$2) + (get_local $$180) ) (set_local $$220 - (i32.const 768) + (i32.const 192) ) (set_local $$220 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$220) ) ) (call_import $__lshrti3 (get_local $$220) - (get_local $$9) - (get_local $$10) - (get_local $$43) - ) - (set_local $$46 - (i64.sub - (i64.const 128) - (get_local $$43) - ) + (get_local $$5) + (get_local $$6) + (get_local $$171) ) (set_local $$221 - (i32.const 784) + (i32.const 208) ) (set_local $$221 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$221) ) ) (call_import $__ashlti3 (get_local $$221) - (get_local $$11) - (get_local $$12) - (get_local $$46) + (get_local $$7) + (get_local $$8) + (get_local $$169) ) (set_local $$222 - (i32.const 800) + (i32.const 224) ) (set_local $$222 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$222) ) ) (call_import $__lshrti3 (get_local $$222) - (get_local $$11) - (get_local $$12) - (get_local $$41) + (get_local $$7) + (get_local $$8) + (get_local $$177) ) (set_local $$223 - (i32.const 992) + (i32.const 768) ) (set_local $$223 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$223) ) ) - (call_import $__ashlti3 + (call_import $__lshrti3 (get_local $$223) - (get_local $$13) - (get_local $$14) - (get_local $$17) + (get_local $$9) + (get_local $$10) + (get_local $$172) ) (set_local $$224 - (i32.const 832) + (i32.const 784) ) (set_local $$224 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$224) ) ) (call_import $__ashlti3 (get_local $$224) - (get_local $$9) - (get_local $$10) - (get_local $$39) + (get_local $$11) + (get_local $$12) + (set_local $$169 + (i64.sub + (i64.const 128) + (get_local $$172) + ) + ) ) (set_local $$225 - (i32.const 384) + (i32.const 800) ) (set_local $$225 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$225) ) ) (call_import $__lshrti3 (get_local $$225) - (get_local $$1) - (get_local $$2) - (get_local $$37) + (get_local $$11) + (get_local $$12) + (get_local $$174) ) (set_local $$226 - (i32.const 400) + (i32.const 992) ) (set_local $$226 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$226) ) ) (call_import $__ashlti3 (get_local $$226) - (get_local $$3) - (get_local $$4) - (i64.sub - (i64.const 128) - (get_local $$37) - ) + (get_local $$13) + (get_local $$14) + (get_local $$17) ) (set_local $$227 - (i32.const 416) + (i32.const 832) ) (set_local $$227 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$227) ) ) - (call_import $__lshrti3 + (call_import $__ashlti3 (get_local $$227) - (get_local $$3) - (get_local $$4) - (get_local $$34) + (get_local $$9) + (get_local $$10) + (get_local $$176) ) (set_local $$228 - (i32.const 320) + (i32.const 384) ) (set_local $$228 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$228) ) ) - (call_import $__ashlti3 + (call_import $__lshrti3 (get_local $$228) - (get_local $$5) - (get_local $$6) - (get_local $$35) + (get_local $$1) + (get_local $$2) + (get_local $$178) ) (set_local $$229 - (i32.const 448) + (i32.const 400) ) (set_local $$229 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$229) ) ) (call_import $__ashlti3 (get_local $$229) - (get_local $$1) - (get_local $$2) - (get_local $$33) + (get_local $$3) + (get_local $$4) + (i64.sub + (i64.const 128) + (get_local $$178) + ) ) (set_local $$230 - (i32.const 736) + (i32.const 416) ) (set_local $$230 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$230) ) ) (call_import $__lshrti3 (get_local $$230) - (get_local $$1) - (get_local $$2) - (get_local $$38) + (get_local $$3) + (get_local $$4) + (get_local $$181) ) (set_local $$231 - (i32.const 720) + (i32.const 320) ) (set_local $$231 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$231) ) ) (call_import $__ashlti3 (get_local $$231) - (get_local $$3) - (get_local $$4) - (get_local $$39) + (get_local $$5) + (get_local $$6) + (get_local $$180) ) (set_local $$232 - (i32.const 752) + (i32.const 448) ) (set_local $$232 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$232) ) ) @@ -1255,104 +1188,104 @@ (get_local $$232) (get_local $$1) (get_local $$2) - (get_local $$40) + (get_local $$182) ) (set_local $$233 - (i32.const 592) + (i32.const 736) ) (set_local $$233 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$233) ) ) - (call_import $__ashlti3 + (call_import $__lshrti3 (get_local $$233) - (get_local $$7) - (get_local $$8) - (get_local $$17) + (get_local $$1) + (get_local $$2) + (get_local $$177) ) (set_local $$234 - (i32.const 608) + (i32.const 720) ) (set_local $$234 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$234) ) ) - (call_import $__lshrti3 + (call_import $__ashlti3 (get_local $$234) - (get_local $$5) - (get_local $$6) - (get_local $$41) + (get_local $$3) + (get_local $$4) + (get_local $$176) ) (set_local $$235 - (i32.const 624) + (i32.const 752) ) (set_local $$235 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$235) ) ) (call_import $__ashlti3 (get_local $$235) - (get_local $$5) - (get_local $$6) - (get_local $$42) + (get_local $$1) + (get_local $$2) + (get_local $$175) ) (set_local $$236 - (i32.const 688) + (i32.const 592) ) (set_local $$236 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$236) ) ) - (call_import $__lshrti3 + (call_import $__ashlti3 (get_local $$236) - (get_local $$3) - (get_local $$4) - (get_local $$43) + (get_local $$7) + (get_local $$8) + (get_local $$17) ) (set_local $$237 - (i32.const 640) + (i32.const 608) ) (set_local $$237 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$237) ) ) (call_import $__lshrti3 (get_local $$237) - (get_local $$1) - (get_local $$2) - (get_local $$43) + (get_local $$5) + (get_local $$6) + (get_local $$174) ) (set_local $$238 - (i32.const 656) + (i32.const 624) ) (set_local $$238 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$238) ) ) (call_import $__ashlti3 (get_local $$238) - (get_local $$3) - (get_local $$4) - (get_local $$46) + (get_local $$5) + (get_local $$6) + (get_local $$173) ) (set_local $$239 - (i32.const 672) + (i32.const 688) ) (set_local $$239 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$239) ) ) @@ -1360,74 +1293,74 @@ (get_local $$239) (get_local $$3) (get_local $$4) - (get_local $$41) + (get_local $$172) ) (set_local $$240 - (i32.const 576) + (i32.const 640) ) (set_local $$240 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$240) ) ) - (call_import $__ashlti3 + (call_import $__lshrti3 (get_local $$240) - (get_local $$5) - (get_local $$6) - (get_local $$17) + (get_local $$1) + (get_local $$2) + (get_local $$172) ) (set_local $$241 - (i32.const 704) + (i32.const 656) ) (set_local $$241 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$241) ) ) (call_import $__ashlti3 (get_local $$241) - (get_local $$1) - (get_local $$2) - (get_local $$39) + (get_local $$3) + (get_local $$4) + (get_local $$169) ) (set_local $$242 - (i32.const 528) + (i32.const 672) ) (set_local $$242 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$242) ) ) - (call_import $__ashlti3 + (call_import $__lshrti3 (get_local $$242) (get_local $$3) (get_local $$4) - (get_local $$17) + (get_local $$174) ) (set_local $$243 - (i32.const 544) + (i32.const 576) ) (set_local $$243 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$243) ) ) - (call_import $__lshrti3 + (call_import $__ashlti3 (get_local $$243) - (get_local $$1) - (get_local $$2) - (get_local $$41) + (get_local $$5) + (get_local $$6) + (get_local $$17) ) (set_local $$244 - (i32.const 560) + (i32.const 704) ) (set_local $$244 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$244) ) ) @@ -1435,111 +1368,78 @@ (get_local $$244) (get_local $$1) (get_local $$2) - (get_local $$42) + (get_local $$176) ) (set_local $$245 - (i32.const 512) + (i32.const 528) ) (set_local $$245 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$245) ) ) (call_import $__ashlti3 (get_local $$245) - (get_local $$1) - (get_local $$2) + (get_local $$3) + (get_local $$4) (get_local $$17) ) (set_local $$246 - (i32.const 480) + (i32.const 544) ) (set_local $$246 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$246) ) ) - (set_local $$41 - (i64.load align=8 - (i32.add - (get_local $$246) - (i32.const 8) - ) - ) + (call_import $__lshrti3 + (get_local $$246) + (get_local $$1) + (get_local $$2) + (get_local $$174) ) (set_local $$247 - (i32.const 464) + (i32.const 560) ) (set_local $$247 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$247) ) ) - (set_local $$38 - (i64.load align=8 - (i32.add - (get_local $$247) - (i32.const 8) - ) - ) - ) - (set_local $$42 - (i64.load offset=480 align=8 - (get_local $$310) - ) - ) - (set_local $$34 - (i64.load offset=464 align=8 - (get_local $$310) - ) - ) - (set_local $$46 - (i64.load offset=496 align=8 - (get_local $$310) - ) + (call_import $__ashlti3 + (get_local $$247) + (get_local $$1) + (get_local $$2) + (get_local $$173) ) (set_local $$248 - (i32.const 496) + (i32.const 512) ) (set_local $$248 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$248) ) ) - (set_local $$36 - (i64.load align=8 - (i32.add - (get_local $$248) - (i32.const 8) - ) - ) - ) - (set_local $$47 - (i64.lt_u - (get_local $$33) - (i64.const 128) - ) - ) - (set_local $$48 - (i64.eq - (get_local $$33) - (i64.const 0) - ) + (call_import $__ashlti3 + (get_local $$248) + (get_local $$1) + (get_local $$2) + (get_local $$17) ) (set_local $$249 - (i32.const 352) + (i32.const 480) ) (set_local $$249 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$249) ) ) - (set_local $$33 + (set_local $$174 (i64.load align=8 (i32.add (get_local $$249) @@ -1548,15 +1448,15 @@ ) ) (set_local $$250 - (i32.const 336) + (i32.const 464) ) (set_local $$250 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$250) ) ) - (set_local $$40 + (set_local $$177 (i64.load align=8 (i32.add (get_local $$250) @@ -1564,16 +1464,31 @@ ) ) ) + (set_local $$173 + (i64.load offset=480 align=8 + (get_local $$312) + ) + ) + (set_local $$181 + (i64.load offset=464 align=8 + (get_local $$312) + ) + ) + (set_local $$169 + (i64.load offset=496 align=8 + (get_local $$312) + ) + ) (set_local $$251 - (i32.const 368) + (i32.const 496) ) (set_local $$251 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$251) ) ) - (set_local $$74 + (set_local $$179 (i64.load align=8 (i32.add (get_local $$251) @@ -1582,15 +1497,15 @@ ) ) (set_local $$252 - (i32.const 432) + (i32.const 352) ) (set_local $$252 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$252) ) ) - (set_local $$75 + (set_local $$175 (i64.load align=8 (i32.add (get_local $$252) @@ -1599,15 +1514,15 @@ ) ) (set_local $$253 - (i32.const 864) + (i32.const 336) ) (set_local $$253 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$253) ) ) - (set_local $$76 + (set_local $$45 (i64.load align=8 (i32.add (get_local $$253) @@ -1616,15 +1531,15 @@ ) ) (set_local $$254 - (i32.const 848) + (i32.const 368) ) (set_local $$254 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$254) ) ) - (set_local $$77 + (set_local $$46 (i64.load align=8 (i32.add (get_local $$254) @@ -1633,15 +1548,15 @@ ) ) (set_local $$255 - (i32.const 880) + (i32.const 432) ) (set_local $$255 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$255) ) ) - (set_local $$78 + (set_local $$47 (i64.load align=8 (i32.add (get_local $$255) @@ -1650,15 +1565,15 @@ ) ) (set_local $$256 - (i32.const 1008) + (i32.const 864) ) (set_local $$256 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$256) ) ) - (set_local $$79 + (set_local $$48 (i64.load align=8 (i32.add (get_local $$256) @@ -1667,15 +1582,15 @@ ) ) (set_local $$257 - (i32.const 960) + (i32.const 848) ) (set_local $$257 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$257) ) ) - (set_local $$80 + (set_local $$49 (i64.load align=8 (i32.add (get_local $$257) @@ -1684,15 +1599,15 @@ ) ) (set_local $$258 - (i32.const 976) + (i32.const 880) ) (set_local $$258 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$258) ) ) - (set_local $$81 + (set_local $$50 (i64.load align=8 (i32.add (get_local $$258) @@ -1701,15 +1616,15 @@ ) ) (set_local $$259 - (i32.const 816) + (i32.const 1008) ) (set_local $$259 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$259) ) ) - (set_local $$82 + (set_local $$51 (i64.load align=8 (i32.add (get_local $$259) @@ -1718,15 +1633,15 @@ ) ) (set_local $$260 - (i32.const 240) + (i32.const 960) ) (set_local $$260 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$260) ) ) - (set_local $$83 + (set_local $$52 (i64.load align=8 (i32.add (get_local $$260) @@ -1735,15 +1650,15 @@ ) ) (set_local $$261 - (i32.const 912) + (i32.const 976) ) (set_local $$261 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$261) ) ) - (set_local $$97 + (set_local $$53 (i64.load align=8 (i32.add (get_local $$261) @@ -1752,15 +1667,15 @@ ) ) (set_local $$262 - (i32.const 928) + (i32.const 816) ) (set_local $$262 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$262) ) ) - (set_local $$98 + (set_local $$54 (i64.load align=8 (i32.add (get_local $$262) @@ -1769,15 +1684,15 @@ ) ) (set_local $$263 - (i32.const 944) + (i32.const 240) ) (set_local $$263 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$263) ) ) - (set_local $$99 + (set_local $$55 (i64.load align=8 (i32.add (get_local $$263) @@ -1786,15 +1701,15 @@ ) ) (set_local $$264 - (i32.const 80) + (i32.const 912) ) (set_local $$264 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$264) ) ) - (set_local $$100 + (set_local $$67 (i64.load align=8 (i32.add (get_local $$264) @@ -1803,15 +1718,15 @@ ) ) (set_local $$265 - (i32.const 96) + (i32.const 928) ) (set_local $$265 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$265) ) ) - (set_local $$101 + (set_local $$68 (i64.load align=8 (i32.add (get_local $$265) @@ -1819,31 +1734,16 @@ ) ) ) - (set_local $$87 - (i64.load offset=80 align=8 - (get_local $$310) - ) - ) - (set_local $$88 - (i64.load offset=96 align=8 - (get_local $$310) - ) - ) - (set_local $$89 - (i64.load offset=112 align=8 - (get_local $$310) - ) - ) (set_local $$266 - (i32.const 112) + (i32.const 944) ) (set_local $$266 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$266) ) ) - (set_local $$102 + (set_local $$69 (i64.load align=8 (i32.add (get_local $$266) @@ -1851,28 +1751,16 @@ ) ) ) - (set_local $$86 - (i64.lt_u - (get_local $$45) - (i64.const 128) - ) - ) - (set_local $$90 - (i64.eq - (get_local $$45) - (i64.const 0) - ) - ) (set_local $$267 - (i32.const 48) + (i32.const 80) ) (set_local $$267 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$267) ) ) - (set_local $$45 + (set_local $$70 (i64.load align=8 (i32.add (get_local $$267) @@ -1881,15 +1769,15 @@ ) ) (set_local $$268 - (i32.const 176) + (i32.const 96) ) (set_local $$268 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$268) ) ) - (set_local $$103 + (set_local $$71 (i64.load align=8 (i32.add (get_local $$268) @@ -1897,16 +1785,31 @@ ) ) ) + (set_local $$59 + (i64.load offset=80 align=8 + (get_local $$312) + ) + ) + (set_local $$60 + (i64.load offset=96 align=8 + (get_local $$312) + ) + ) + (set_local $$61 + (i64.load offset=112 align=8 + (get_local $$312) + ) + ) (set_local $$269 - (i32.const 288) + (i32.const 112) ) (set_local $$269 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$269) ) ) - (set_local $$104 + (set_local $$72 (i64.load align=8 (i32.add (get_local $$269) @@ -1915,15 +1818,15 @@ ) ) (set_local $$270 - (i32.const 272) + (i32.const 48) ) (set_local $$270 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$270) ) ) - (set_local $$105 + (set_local $$73 (i64.load align=8 (i32.add (get_local $$270) @@ -1932,15 +1835,15 @@ ) ) (set_local $$271 - (i32.const 304) + (i32.const 176) ) (set_local $$271 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$271) ) ) - (set_local $$106 + (set_local $$74 (i64.load align=8 (i32.add (get_local $$271) @@ -1949,15 +1852,15 @@ ) ) (set_local $$272 - (i32.const 128) + (i32.const 288) ) (set_local $$272 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$272) ) ) - (set_local $$117 + (set_local $$75 (i64.load align=8 (i32.add (get_local $$272) @@ -1966,15 +1869,15 @@ ) ) (set_local $$273 - (i32.const 144) + (i32.const 272) ) (set_local $$273 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$273) ) ) - (set_local $$118 + (set_local $$76 (i64.load align=8 (i32.add (get_local $$273) @@ -1983,15 +1886,15 @@ ) ) (set_local $$274 - (i32.const 160) + (i32.const 304) ) (set_local $$274 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$274) ) ) - (set_local $$119 + (set_local $$77 (i64.load align=8 (i32.add (get_local $$274) @@ -2000,15 +1903,15 @@ ) ) (set_local $$275 - (i32.const 0) + (i32.const 128) ) (set_local $$275 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$275) ) ) - (set_local $$120 + (set_local $$87 (i64.load align=8 (i32.add (get_local $$275) @@ -2017,15 +1920,15 @@ ) ) (set_local $$276 - (i32.const 16) + (i32.const 144) ) (set_local $$276 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$276) ) ) - (set_local $$121 + (set_local $$88 (i64.load align=8 (i32.add (get_local $$276) @@ -2033,21 +1936,16 @@ ) ) ) - (set_local $$114 - (i64.load offset=64 align=8 - (get_local $$310) - ) - ) (set_local $$277 - (i32.const 64) + (i32.const 160) ) (set_local $$277 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$277) ) ) - (set_local $$123 + (set_local $$89 (i64.load align=8 (i32.add (get_local $$277) @@ -2055,16 +1953,24 @@ ) ) ) + (set_local $$90 + (i64.load align=8 + (i32.add + (get_local $$312) + (i32.const 8) + ) + ) + ) (set_local $$278 - (i32.const 32) + (i32.const 16) ) (set_local $$278 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$278) ) ) - (set_local $$122 + (set_local $$91 (i64.load align=8 (i32.add (get_local $$278) @@ -2072,16 +1978,21 @@ ) ) ) + (set_local $$84 + (i64.load offset=64 align=8 + (get_local $$312) + ) + ) (set_local $$279 - (i32.const 896) + (i32.const 64) ) (set_local $$279 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$279) ) ) - (set_local $$124 + (set_local $$93 (i64.load align=8 (i32.add (get_local $$279) @@ -2090,15 +2001,15 @@ ) ) (set_local $$280 - (i32.const 256) + (i32.const 32) ) (set_local $$280 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$280) ) ) - (set_local $$125 + (set_local $$92 (i64.load align=8 (i32.add (get_local $$280) @@ -2107,15 +2018,15 @@ ) ) (set_local $$281 - (i32.const 192) + (i32.const 896) ) (set_local $$281 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$281) ) ) - (set_local $$140 + (set_local $$94 (i64.load align=8 (i32.add (get_local $$281) @@ -2124,15 +2035,15 @@ ) ) (set_local $$282 - (i32.const 208) + (i32.const 256) ) (set_local $$282 (i32.add - (get_local $$310) + (get_local $$312) (get_local $$282) ) ) - (set_local $$141 + (set_local $$95 (i64.load align=8 (i32.add (get_local $$282) @@ -2140,836 +2051,774 @@ ) ) ) - (set_local $$111 + (set_local $$283 + (i32.const 192) + ) + (set_local $$283 + (i32.add + (get_local $$312) + (get_local $$283) + ) + ) + (set_local $$109 (i64.load align=8 - (get_local $$310) + (i32.add + (get_local $$283) + (i32.const 8) + ) ) ) - (set_local $$112 + (set_local $$284 + (i32.const 208) + ) + (set_local $$284 + (i32.add + (get_local $$312) + (get_local $$284) + ) + ) + (set_local $$110 + (i64.load align=8 + (i32.add + (get_local $$284) + (i32.const 8) + ) + ) + ) + (set_local $$81 + (i64.load align=8 + (get_local $$312) + ) + ) + (set_local $$82 (i64.load offset=16 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$113 + (set_local $$83 (i64.load offset=32 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$283 + (set_local $$285 (i32.const 224) ) - (set_local $$283 + (set_local $$285 (i32.add - (get_local $$310) - (get_local $$283) + (get_local $$312) + (get_local $$285) ) ) - (set_local $$142 + (set_local $$111 (i64.load align=8 (i32.add - (get_local $$283) + (get_local $$285) (i32.const 8) ) ) ) - (set_local $$70 - (i64.lt_u - (get_local $$44) - (i64.const 128) - ) - ) - (set_local $$126 + (set_local $$96 (i64.load offset=192 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$127 + (set_local $$97 (i64.load offset=208 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$128 + (set_local $$98 (i64.load offset=224 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$71 + (set_local $$44 (i64.load offset=240 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$91 + (set_local $$62 (i64.load offset=48 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$92 + (set_local $$63 (i64.load offset=176 align=8 - (get_local $$310) - ) - ) - (set_local $$67 - (i64.lt_u - (get_local $$43) - (i64.const 128) - ) - ) - (set_local $$72 - (i64.lt_u - (get_local $$44) - (i64.const 256) + (get_local $$312) ) ) - (set_local $$107 + (set_local $$78 (i64.load offset=128 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$108 + (set_local $$79 (i64.load offset=144 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$109 + (set_local $$80 (i64.load offset=160 align=8 - (get_local $$310) - ) - ) - (set_local $$93 - (i64.eq - (get_local $$44) - (i64.const 0) - ) - ) - (set_local $$110 - (i64.eq - (get_local $$43) - (i64.const 0) + (get_local $$312) ) ) - (set_local $$284 + (set_local $$286 (i32.const 768) ) - (set_local $$284 + (set_local $$286 (i32.add - (get_local $$310) - (get_local $$284) + (get_local $$312) + (get_local $$286) ) ) - (set_local $$44 + (set_local $$112 (i64.load align=8 (i32.add - (get_local $$284) + (get_local $$286) (i32.const 8) ) ) ) - (set_local $$285 + (set_local $$287 (i32.const 784) ) - (set_local $$285 + (set_local $$287 (i32.add - (get_local $$310) - (get_local $$285) + (get_local $$312) + (get_local $$287) ) ) - (set_local $$43 + (set_local $$113 (i64.load align=8 (i32.add - (get_local $$285) + (get_local $$287) (i32.const 8) ) ) ) - (set_local $$286 + (set_local $$288 (i32.const 800) ) - (set_local $$286 + (set_local $$288 (i32.add - (get_local $$310) - (get_local $$286) + (get_local $$312) + (get_local $$288) ) ) - (set_local $$143 + (set_local $$114 (i64.load align=8 (i32.add - (get_local $$286) + (get_local $$288) (i32.const 8) ) ) ) - (set_local $$287 + (set_local $$289 (i32.const 992) ) - (set_local $$287 + (set_local $$289 (i32.add - (get_local $$310) - (get_local $$287) + (get_local $$312) + (get_local $$289) ) ) - (set_local $$144 + (set_local $$115 (i64.load align=8 (i32.add - (get_local $$287) + (get_local $$289) (i32.const 8) ) ) ) - (set_local $$288 + (set_local $$290 (i32.const 832) ) - (set_local $$288 + (set_local $$290 (i32.add - (get_local $$310) - (get_local $$288) + (get_local $$312) + (get_local $$290) ) ) - (set_local $$145 + (set_local $$116 (i64.load align=8 (i32.add - (get_local $$288) + (get_local $$290) (i32.const 8) ) ) ) - (set_local $$289 + (set_local $$291 (i32.const 384) ) - (set_local $$289 + (set_local $$291 (i32.add - (get_local $$310) - (get_local $$289) + (get_local $$312) + (get_local $$291) ) ) - (set_local $$146 + (set_local $$117 (i64.load align=8 (i32.add - (get_local $$289) + (get_local $$291) (i32.const 8) ) ) ) - (set_local $$290 + (set_local $$292 (i32.const 400) ) - (set_local $$290 + (set_local $$292 (i32.add - (get_local $$310) - (get_local $$290) + (get_local $$312) + (get_local $$292) ) ) - (set_local $$147 + (set_local $$118 (i64.load align=8 (i32.add - (get_local $$290) + (get_local $$292) (i32.const 8) ) ) ) - (set_local $$134 + (set_local $$104 (i64.load offset=384 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$135 + (set_local $$105 (i64.load offset=400 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$291 + (set_local $$293 (i32.const 416) ) - (set_local $$291 + (set_local $$293 (i32.add - (get_local $$310) - (get_local $$291) + (get_local $$312) + (get_local $$293) ) ) - (set_local $$148 + (set_local $$119 (i64.load align=8 (i32.add - (get_local $$291) + (get_local $$293) (i32.const 8) ) ) ) - (set_local $$136 + (set_local $$106 (i64.load offset=416 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$55 + (set_local $$36 (i64.load offset=432 align=8 - (get_local $$310) - ) - ) - (set_local $$54 - (i64.lt_u - (get_local $$37) - (i64.const 128) + (get_local $$312) ) ) - (set_local $$137 - (i64.eq - (get_local $$37) - (i64.const 0) - ) - ) - (set_local $$292 + (set_local $$294 (i32.const 320) ) - (set_local $$292 + (set_local $$294 (i32.add - (get_local $$310) - (get_local $$292) + (get_local $$312) + (get_local $$294) ) ) - (set_local $$37 + (set_local $$120 (i64.load align=8 (i32.add - (get_local $$292) + (get_local $$294) (i32.const 8) ) ) ) - (set_local $$50 + (set_local $$33 (i64.load offset=352 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$51 + (set_local $$34 (i64.load offset=336 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$52 + (set_local $$35 (i64.load offset=368 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$293 + (set_local $$295 (i32.const 448) ) - (set_local $$293 + (set_local $$295 (i32.add - (get_local $$310) - (get_local $$293) + (get_local $$312) + (get_local $$295) ) ) - (set_local $$149 + (set_local $$121 (i64.load align=8 (i32.add - (get_local $$293) + (get_local $$295) (i32.const 8) ) ) ) - (set_local $$49 - (i64.lt_u - (get_local $$35) - (i64.const 128) - ) - ) - (set_local $$94 + (set_local $$64 (i64.load offset=288 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$95 + (set_local $$65 (i64.load offset=272 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$96 + (set_local $$66 (i64.load offset=304 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$116 + (set_local $$86 (i64.load offset=256 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$138 + (set_local $$107 (i64.load offset=320 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$139 + (set_local $$108 (i64.load offset=448 align=8 - (get_local $$310) - ) - ) - (set_local $$53 - (i64.eq - (get_local $$35) - (i64.const 0) + (get_local $$312) ) ) - (set_local $$56 - (i64.lt_u - (get_local $$35) - (i64.const 256) - ) - ) - (set_local $$294 + (set_local $$296 (i32.const 736) ) - (set_local $$294 + (set_local $$296 (i32.add - (get_local $$310) - (get_local $$294) + (get_local $$312) + (get_local $$296) ) ) - (set_local $$35 + (set_local $$129 (i64.load align=8 (i32.add - (get_local $$294) + (get_local $$296) (i32.const 8) ) ) ) - (set_local $$295 + (set_local $$297 (i32.const 720) ) - (set_local $$295 + (set_local $$297 (i32.add - (get_local $$310) - (get_local $$295) + (get_local $$312) + (get_local $$297) ) ) - (set_local $$157 + (set_local $$130 (i64.load align=8 (i32.add - (get_local $$295) + (get_local $$297) (i32.const 8) ) ) ) - (set_local $$58 + (set_local $$37 (i64.load offset=864 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$59 + (set_local $$38 (i64.load offset=848 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$60 + (set_local $$39 (i64.load offset=880 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$296 + (set_local $$298 (i32.const 752) ) - (set_local $$296 + (set_local $$298 (i32.add - (get_local $$310) - (get_local $$296) + (get_local $$312) + (get_local $$298) ) ) - (set_local $$158 + (set_local $$131 (i64.load align=8 (i32.add - (get_local $$296) + (get_local $$298) (i32.const 8) ) ) ) - (set_local $$57 - (i64.lt_u - (get_local $$39) - (i64.const 128) - ) - ) - (set_local $$150 + (set_local $$122 (i64.load offset=736 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$151 + (set_local $$123 (i64.load offset=720 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$152 + (set_local $$124 (i64.load offset=752 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$61 - (i64.eq - (get_local $$39) - (i64.const 0) - ) - ) - (set_local $$297 + (set_local $$299 (i32.const 592) ) - (set_local $$297 + (set_local $$299 (i32.add - (get_local $$310) - (get_local $$297) + (get_local $$312) + (get_local $$299) ) ) - (set_local $$39 + (set_local $$132 (i64.load align=8 (i32.add - (get_local $$297) + (get_local $$299) (i32.const 8) ) ) ) - (set_local $$298 + (set_local $$300 (i32.const 608) ) - (set_local $$298 + (set_local $$300 (i32.add - (get_local $$310) - (get_local $$298) + (get_local $$312) + (get_local $$300) ) ) - (set_local $$159 + (set_local $$133 (i64.load align=8 (i32.add - (get_local $$298) + (get_local $$300) (i32.const 8) ) ) ) - (set_local $$299 + (set_local $$301 (i32.const 624) ) - (set_local $$299 + (set_local $$301 (i32.add - (get_local $$310) - (get_local $$299) + (get_local $$312) + (get_local $$301) ) ) - (set_local $$160 + (set_local $$134 (i64.load align=8 (i32.add - (get_local $$299) + (get_local $$301) (i32.const 8) ) ) ) - (set_local $$300 + (set_local $$302 (i32.const 688) ) - (set_local $$300 + (set_local $$302 (i32.add - (get_local $$310) - (get_local $$300) + (get_local $$312) + (get_local $$302) ) ) - (set_local $$161 + (set_local $$135 (i64.load align=8 (i32.add - (get_local $$300) + (get_local $$302) (i32.const 8) ) ) ) - (set_local $$301 + (set_local $$303 (i32.const 640) ) - (set_local $$301 + (set_local $$303 (i32.add - (get_local $$310) - (get_local $$301) + (get_local $$312) + (get_local $$303) ) ) - (set_local $$167 + (set_local $$141 (i64.load align=8 (i32.add - (get_local $$301) + (get_local $$303) (i32.const 8) ) ) ) - (set_local $$302 + (set_local $$304 (i32.const 656) ) - (set_local $$302 + (set_local $$304 (i32.add - (get_local $$310) - (get_local $$302) + (get_local $$312) + (get_local $$304) ) ) - (set_local $$168 + (set_local $$142 (i64.load align=8 (i32.add - (get_local $$302) + (get_local $$304) (i32.const 8) ) ) ) - (set_local $$129 + (set_local $$99 (i64.load offset=768 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$130 + (set_local $$100 (i64.load offset=784 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$131 + (set_local $$101 (i64.load offset=800 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$303 + (set_local $$305 (i32.const 672) ) - (set_local $$303 + (set_local $$305 (i32.add - (get_local $$310) - (get_local $$303) + (get_local $$312) + (get_local $$305) ) ) - (set_local $$169 + (set_local $$143 (i64.load align=8 (i32.add - (get_local $$303) + (get_local $$305) (i32.const 8) ) ) ) - (set_local $$162 + (set_local $$136 (i64.load offset=640 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$163 + (set_local $$137 (i64.load offset=656 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$164 + (set_local $$138 (i64.load offset=672 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$68 + (set_local $$43 (i64.load offset=816 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$156 + (set_local $$128 (i64.load offset=688 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$304 + (set_local $$306 (i32.const 576) ) - (set_local $$304 + (set_local $$306 (i32.add - (get_local $$310) - (get_local $$304) + (get_local $$312) + (get_local $$306) ) ) - (set_local $$170 + (set_local $$144 (i64.load align=8 (i32.add - (get_local $$304) + (get_local $$306) (i32.const 8) ) ) ) - (set_local $$133 + (set_local $$103 (i64.load offset=832 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$166 + (set_local $$140 (i64.load offset=704 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$305 + (set_local $$307 (i32.const 704) ) - (set_local $$305 + (set_local $$307 (i32.add - (get_local $$310) - (get_local $$305) + (get_local $$312) + (get_local $$307) ) ) - (set_local $$171 + (set_local $$145 (i64.load align=8 (i32.add - (get_local $$305) + (get_local $$307) (i32.const 8) ) ) ) - (set_local $$306 + (set_local $$308 (i32.const 528) ) - (set_local $$306 + (set_local $$308 (i32.add - (get_local $$310) - (get_local $$306) + (get_local $$312) + (get_local $$308) ) ) - (set_local $$175 + (set_local $$149 (i64.load align=8 (i32.add - (get_local $$306) + (get_local $$308) (i32.const 8) ) ) ) - (set_local $$307 + (set_local $$309 (i32.const 544) ) - (set_local $$307 + (set_local $$309 (i32.add - (get_local $$310) - (get_local $$307) + (get_local $$312) + (get_local $$309) ) ) - (set_local $$176 + (set_local $$150 (i64.load align=8 (i32.add - (get_local $$307) + (get_local $$309) (i32.const 8) ) ) ) - (set_local $$308 + (set_local $$310 (i32.const 560) ) - (set_local $$308 + (set_local $$310 (i32.add + (get_local $$312) (get_local $$310) - (get_local $$308) ) ) - (set_local $$177 + (set_local $$151 (i64.load align=8 (i32.add - (get_local $$308) + (get_local $$310) (i32.const 8) ) ) ) - (set_local $$63 + (set_local $$40 (i64.load offset=1008 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$64 + (set_local $$41 (i64.load offset=960 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$65 + (set_local $$42 (i64.load offset=976 align=8 - (get_local $$310) - ) - ) - (set_local $$62 - (i64.lt_u - (get_local $$17) - (i64.const 128) - ) - ) - (set_local $$66 - (i64.eq - (get_local $$17) - (i64.const 0) - ) - ) - (set_local $$69 - (i64.lt_u - (get_local $$17) - (i64.const 256) - ) - ) - (set_local $$73 - (i64.lt_u - (get_local $$17) - (i64.const 512) + (get_local $$312) ) ) - (set_local $$17 + (set_local $$56 (i64.load offset=912 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$84 + (set_local $$57 (i64.load offset=928 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$85 + (set_local $$58 (i64.load offset=944 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$115 + (set_local $$85 (i64.load offset=896 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$132 + (set_local $$102 (i64.load offset=992 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$153 + (set_local $$125 (i64.load offset=592 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$154 + (set_local $$126 (i64.load offset=608 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$155 + (set_local $$127 (i64.load offset=624 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$165 + (set_local $$139 (i64.load offset=576 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$172 + (set_local $$146 (i64.load offset=528 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$173 + (set_local $$147 (i64.load offset=544 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$174 + (set_local $$148 (i64.load offset=560 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$178 + (set_local $$152 (i64.load offset=512 align=8 - (get_local $$310) + (get_local $$312) ) ) - (set_local $$309 + (set_local $$311 (i32.const 512) ) - (set_local $$309 + (set_local $$311 (i32.add - (get_local $$310) - (get_local $$309) + (get_local $$312) + (get_local $$311) ) ) (i64.store align=8 @@ -2978,14 +2827,29 @@ (i32.const 8) ) (i64.select - (get_local $$73) + (set_local $$168 + (i64.lt_u + (get_local $$17) + (i64.const 512) + ) + ) (i64.select - (get_local $$69) + (set_local $$167 + (i64.lt_u + (get_local $$17) + (i64.const 256) + ) + ) (i64.select - (get_local $$62) + (set_local $$166 + (i64.lt_u + (get_local $$17) + (i64.const 128) + ) + ) (i64.load align=8 (i32.add - (get_local $$309) + (get_local $$311) (i32.const 8) ) ) @@ -2999,12 +2863,12 @@ (i64.store align=8 (get_local $$0) (i64.select - (get_local $$73) + (get_local $$168) (i64.select - (get_local $$69) + (get_local $$167) (i64.select - (get_local $$62) - (get_local $$178) + (get_local $$166) + (get_local $$152) (i64.const 0) ) (i64.const 0) @@ -3018,19 +2882,24 @@ (i32.const 24) ) (i64.select - (get_local $$73) + (get_local $$168) (i64.select - (get_local $$69) + (get_local $$167) (i64.select - (get_local $$66) + (set_local $$165 + (i64.eq + (get_local $$17) + (i64.const 0) + ) + ) (get_local $$4) (i64.select - (get_local $$62) + (get_local $$166) (i64.or - (get_local $$175) - (get_local $$176) + (get_local $$149) + (get_local $$150) ) - (get_local $$177) + (get_local $$151) ) ) (i64.const 0) @@ -3044,19 +2913,19 @@ (i32.const 16) ) (i64.select - (get_local $$73) + (get_local $$168) (i64.select - (get_local $$69) + (get_local $$167) (i64.select - (get_local $$66) + (get_local $$165) (get_local $$3) (i64.select - (get_local $$62) + (get_local $$166) (i64.or - (get_local $$172) - (get_local $$173) + (get_local $$146) + (get_local $$147) ) - (get_local $$174) + (get_local $$148) ) ) (i64.const 0) @@ -3070,41 +2939,56 @@ (i32.const 56) ) (i64.select - (get_local $$73) + (get_local $$168) (i64.select - (get_local $$66) + (get_local $$165) (get_local $$8) (i64.select - (get_local $$69) + (get_local $$167) (i64.or (i64.select - (get_local $$66) + (get_local $$165) (get_local $$8) (i64.select - (get_local $$62) + (get_local $$166) (i64.or - (get_local $$39) - (get_local $$159) + (get_local $$132) + (get_local $$133) ) - (get_local $$160) + (get_local $$134) ) ) (i64.select - (get_local $$67) - (get_local $$161) + (set_local $$164 + (i64.lt_u + (get_local $$172) + (i64.const 128) + ) + ) + (get_local $$135) (i64.const 0) ) ) (i64.select - (get_local $$61) + (set_local $$153 + (i64.eq + (get_local $$176) + (i64.const 0) + ) + ) (get_local $$4) (i64.select - (get_local $$57) + (set_local $$163 + (i64.lt_u + (get_local $$176) + (i64.const 128) + ) + ) (i64.or - (get_local $$157) - (get_local $$35) + (get_local $$130) + (get_local $$129) ) - (get_local $$158) + (get_local $$131) ) ) ) @@ -3118,41 +3002,41 @@ (i32.const 48) ) (i64.select - (get_local $$73) + (get_local $$168) (i64.select - (get_local $$66) + (get_local $$165) (get_local $$7) (i64.select - (get_local $$69) + (get_local $$167) (i64.or (i64.select - (get_local $$66) + (get_local $$165) (get_local $$7) (i64.select - (get_local $$62) + (get_local $$166) (i64.or - (get_local $$153) - (get_local $$154) + (get_local $$125) + (get_local $$126) ) - (get_local $$155) + (get_local $$127) ) ) (i64.select - (get_local $$67) - (get_local $$156) + (get_local $$164) + (get_local $$128) (i64.const 0) ) ) (i64.select - (get_local $$61) + (get_local $$153) (get_local $$3) (i64.select - (get_local $$57) + (get_local $$163) (i64.or - (get_local $$151) - (get_local $$150) + (get_local $$123) + (get_local $$122) ) - (get_local $$152) + (get_local $$124) ) ) ) @@ -3166,34 +3050,39 @@ (i32.const 40) ) (i64.select - (get_local $$73) + (get_local $$168) (i64.select - (get_local $$66) + (get_local $$165) (get_local $$6) (i64.select - (get_local $$69) + (get_local $$167) (i64.or (i64.select - (get_local $$62) - (get_local $$170) + (get_local $$166) + (get_local $$144) (i64.const 0) ) (i64.select - (get_local $$110) + (set_local $$162 + (i64.eq + (get_local $$172) + (i64.const 0) + ) + ) (get_local $$2) (i64.select - (get_local $$67) + (get_local $$164) (i64.or - (get_local $$167) - (get_local $$168) + (get_local $$141) + (get_local $$142) ) - (get_local $$169) + (get_local $$143) ) ) ) (i64.select - (get_local $$57) - (get_local $$171) + (get_local $$163) + (get_local $$145) (i64.const 0) ) ) @@ -3207,34 +3096,34 @@ (i32.const 32) ) (i64.select - (get_local $$73) + (get_local $$168) (i64.select - (get_local $$66) + (get_local $$165) (get_local $$5) (i64.select - (get_local $$69) + (get_local $$167) (i64.or (i64.select - (get_local $$62) - (get_local $$165) + (get_local $$166) + (get_local $$139) (i64.const 0) ) (i64.select - (get_local $$110) + (get_local $$162) (get_local $$1) (i64.select - (get_local $$67) + (get_local $$164) (i64.or - (get_local $$162) - (get_local $$163) + (get_local $$136) + (get_local $$137) ) - (get_local $$164) + (get_local $$138) ) ) ) (i64.select - (get_local $$57) - (get_local $$166) + (get_local $$163) + (get_local $$140) (i64.const 0) ) ) @@ -3248,93 +3137,133 @@ (i32.const 120) ) (i64.select - (get_local $$66) + (get_local $$165) (get_local $$16) (i64.select - (get_local $$73) + (get_local $$168) (i64.or (i64.select - (get_local $$66) + (get_local $$165) (get_local $$16) (i64.select - (get_local $$69) + (get_local $$167) (i64.or (i64.select - (get_local $$66) + (get_local $$165) (get_local $$16) (i64.select - (get_local $$62) + (get_local $$166) (i64.or - (get_local $$79) - (get_local $$80) + (get_local $$51) + (get_local $$52) ) - (get_local $$81) + (get_local $$53) ) ) (i64.select - (get_local $$67) - (get_local $$82) + (get_local $$164) + (get_local $$54) (i64.const 0) ) ) (i64.select - (get_local $$61) + (get_local $$153) (get_local $$12) (i64.select - (get_local $$57) + (get_local $$163) (i64.or - (get_local $$77) - (get_local $$76) + (get_local $$49) + (get_local $$48) ) - (get_local $$78) + (get_local $$50) ) ) ) ) (i64.select - (get_local $$72) + (set_local $$161 + (i64.lt_u + (get_local $$171) + (i64.const 256) + ) + ) (i64.select - (get_local $$70) - (get_local $$83) + (set_local $$160 + (i64.lt_u + (get_local $$171) + (i64.const 128) + ) + ) + (get_local $$55) (i64.const 0) ) (i64.const 0) ) ) (i64.select - (get_local $$53) + (get_local $$158) (get_local $$8) (i64.select - (get_local $$56) + (set_local $$159 + (i64.lt_u + (get_local $$180) + (i64.const 256) + ) + ) (i64.or (i64.select - (get_local $$53) + (set_local $$158 + (i64.eq + (get_local $$180) + (i64.const 0) + ) + ) (get_local $$8) (i64.select - (get_local $$49) + (set_local $$157 + (i64.lt_u + (get_local $$180) + (i64.const 128) + ) + ) (i64.or - (get_local $$40) - (get_local $$33) + (get_local $$45) + (get_local $$175) ) - (get_local $$74) + (get_local $$46) ) ) (i64.select - (get_local $$54) - (get_local $$75) + (set_local $$156 + (i64.lt_u + (get_local $$178) + (i64.const 128) + ) + ) + (get_local $$47) (i64.const 0) ) ) (i64.select - (get_local $$48) + (set_local $$155 + (i64.eq + (get_local $$182) + (i64.const 0) + ) + ) (get_local $$4) (i64.select - (get_local $$47) + (set_local $$154 + (i64.lt_u + (get_local $$182) + (i64.const 128) + ) + ) (i64.or - (get_local $$38) - (get_local $$41) + (get_local $$177) + (get_local $$174) ) - (get_local $$36) + (get_local $$179) ) ) ) @@ -3348,93 +3277,93 @@ (i32.const 112) ) (i64.select - (get_local $$66) + (get_local $$165) (get_local $$15) (i64.select - (get_local $$73) + (get_local $$168) (i64.or (i64.select - (get_local $$66) + (get_local $$165) (get_local $$15) (i64.select - (get_local $$69) + (get_local $$167) (i64.or (i64.select - (get_local $$66) + (get_local $$165) (get_local $$15) (i64.select - (get_local $$62) + (get_local $$166) (i64.or - (get_local $$63) - (get_local $$64) + (get_local $$40) + (get_local $$41) ) - (get_local $$65) + (get_local $$42) ) ) (i64.select - (get_local $$67) - (get_local $$68) + (get_local $$164) + (get_local $$43) (i64.const 0) ) ) (i64.select - (get_local $$61) + (get_local $$153) (get_local $$11) (i64.select - (get_local $$57) + (get_local $$163) (i64.or - (get_local $$59) - (get_local $$58) + (get_local $$38) + (get_local $$37) ) - (get_local $$60) + (get_local $$39) ) ) ) ) (i64.select - (get_local $$72) + (get_local $$161) (i64.select - (get_local $$70) - (get_local $$71) + (get_local $$160) + (get_local $$44) (i64.const 0) ) (i64.const 0) ) ) (i64.select - (get_local $$53) + (get_local $$158) (get_local $$7) (i64.select - (get_local $$56) + (get_local $$159) (i64.or (i64.select - (get_local $$53) + (get_local $$158) (get_local $$7) (i64.select - (get_local $$49) + (get_local $$157) (i64.or - (get_local $$51) - (get_local $$50) + (get_local $$34) + (get_local $$33) ) - (get_local $$52) + (get_local $$35) ) ) (i64.select - (get_local $$54) - (get_local $$55) + (get_local $$156) + (get_local $$36) (i64.const 0) ) ) (i64.select - (get_local $$48) + (get_local $$155) (get_local $$3) (i64.select - (get_local $$47) + (get_local $$154) (i64.or - (get_local $$34) - (get_local $$42) + (get_local $$181) + (get_local $$173) ) - (get_local $$46) + (get_local $$169) ) ) ) @@ -3448,86 +3377,96 @@ (i32.const 104) ) (i64.select - (get_local $$66) + (get_local $$165) (get_local $$14) (i64.select - (get_local $$73) + (get_local $$168) (i64.or (i64.select - (get_local $$66) + (get_local $$165) (get_local $$14) (i64.select - (get_local $$69) + (get_local $$167) (i64.or (i64.select - (get_local $$62) - (get_local $$144) + (get_local $$166) + (get_local $$115) (i64.const 0) ) (i64.select - (get_local $$110) + (get_local $$162) (get_local $$10) (i64.select - (get_local $$67) + (get_local $$164) (i64.or - (get_local $$44) - (get_local $$43) + (get_local $$112) + (get_local $$113) ) - (get_local $$143) + (get_local $$114) ) ) ) (i64.select - (get_local $$57) - (get_local $$145) + (get_local $$163) + (get_local $$116) (i64.const 0) ) ) ) (i64.select - (get_local $$72) + (get_local $$161) (i64.select - (get_local $$93) + (set_local $$153 + (i64.eq + (get_local $$171) + (i64.const 0) + ) + ) (get_local $$6) (i64.select - (get_local $$70) + (get_local $$160) (i64.or - (get_local $$140) - (get_local $$141) + (get_local $$109) + (get_local $$110) ) - (get_local $$142) + (get_local $$111) ) ) (i64.const 0) ) ) (i64.select - (get_local $$53) + (get_local $$158) (get_local $$6) (i64.select - (get_local $$56) + (get_local $$159) (i64.or (i64.select - (get_local $$49) - (get_local $$37) + (get_local $$157) + (get_local $$120) (i64.const 0) ) (i64.select - (get_local $$137) + (set_local $$155 + (i64.eq + (get_local $$178) + (i64.const 0) + ) + ) (get_local $$2) (i64.select - (get_local $$54) + (get_local $$156) (i64.or - (get_local $$146) - (get_local $$147) + (get_local $$117) + (get_local $$118) ) - (get_local $$148) + (get_local $$119) ) ) ) (i64.select - (get_local $$47) - (get_local $$149) + (get_local $$154) + (get_local $$121) (i64.const 0) ) ) @@ -3541,86 +3480,86 @@ (i32.const 96) ) (i64.select - (get_local $$66) + (get_local $$165) (get_local $$13) (i64.select - (get_local $$73) + (get_local $$168) (i64.or (i64.select - (get_local $$66) + (get_local $$165) (get_local $$13) (i64.select - (get_local $$69) + (get_local $$167) (i64.or (i64.select - (get_local $$62) - (get_local $$132) + (get_local $$166) + (get_local $$102) (i64.const 0) ) (i64.select - (get_local $$110) + (get_local $$162) (get_local $$9) (i64.select - (get_local $$67) + (get_local $$164) (i64.or - (get_local $$129) - (get_local $$130) + (get_local $$99) + (get_local $$100) ) - (get_local $$131) + (get_local $$101) ) ) ) (i64.select - (get_local $$57) - (get_local $$133) + (get_local $$163) + (get_local $$103) (i64.const 0) ) ) ) (i64.select - (get_local $$72) + (get_local $$161) (i64.select - (get_local $$93) + (get_local $$153) (get_local $$5) (i64.select - (get_local $$70) + (get_local $$160) (i64.or - (get_local $$126) - (get_local $$127) + (get_local $$96) + (get_local $$97) ) - (get_local $$128) + (get_local $$98) ) ) (i64.const 0) ) ) (i64.select - (get_local $$53) + (get_local $$158) (get_local $$5) (i64.select - (get_local $$56) + (get_local $$159) (i64.or (i64.select - (get_local $$49) - (get_local $$138) + (get_local $$157) + (get_local $$107) (i64.const 0) ) (i64.select - (get_local $$137) + (get_local $$155) (get_local $$1) (i64.select - (get_local $$54) + (get_local $$156) (i64.or - (get_local $$134) - (get_local $$135) + (get_local $$104) + (get_local $$105) ) - (get_local $$136) + (get_local $$106) ) ) ) (i64.select - (get_local $$47) - (get_local $$139) + (get_local $$154) + (get_local $$108) (i64.const 0) ) ) @@ -3634,64 +3573,69 @@ (i32.const 72) ) (i64.select - (get_local $$66) + (get_local $$165) (get_local $$10) (i64.select - (get_local $$73) + (get_local $$168) (i64.or (i64.select - (get_local $$69) + (get_local $$167) (i64.select - (get_local $$62) - (get_local $$124) + (get_local $$166) + (get_local $$94) (i64.const 0) ) (i64.const 0) ) (i64.select - (get_local $$93) + (get_local $$153) (get_local $$2) (i64.select - (get_local $$72) + (get_local $$161) (i64.or (i64.select - (get_local $$93) + (get_local $$153) (get_local $$2) (i64.select - (get_local $$70) + (get_local $$160) (i64.or - (get_local $$120) - (get_local $$121) + (get_local $$90) + (get_local $$91) ) - (get_local $$122) + (get_local $$92) ) ) (i64.select - (get_local $$86) - (get_local $$123) + (set_local $$163 + (i64.lt_u + (get_local $$170) + (i64.const 128) + ) + ) + (get_local $$93) (i64.const 0) ) ) (i64.select - (get_local $$110) + (get_local $$162) (get_local $$6) (i64.select - (get_local $$67) + (get_local $$164) (i64.or - (get_local $$117) - (get_local $$118) + (get_local $$87) + (get_local $$88) ) - (get_local $$119) + (get_local $$89) ) ) ) ) ) (i64.select - (get_local $$56) + (get_local $$159) (i64.select - (get_local $$49) - (get_local $$125) + (get_local $$157) + (get_local $$95) (i64.const 0) ) (i64.const 0) @@ -3705,64 +3649,64 @@ (i32.const 64) ) (i64.select - (get_local $$66) + (get_local $$165) (get_local $$9) (i64.select - (get_local $$73) + (get_local $$168) (i64.or (i64.select - (get_local $$69) + (get_local $$167) (i64.select - (get_local $$62) - (get_local $$115) + (get_local $$166) + (get_local $$85) (i64.const 0) ) (i64.const 0) ) (i64.select - (get_local $$93) + (get_local $$153) (get_local $$1) (i64.select - (get_local $$72) + (get_local $$161) (i64.or (i64.select - (get_local $$93) + (get_local $$153) (get_local $$1) (i64.select - (get_local $$70) + (get_local $$160) (i64.or - (get_local $$111) - (get_local $$112) + (get_local $$81) + (get_local $$82) ) - (get_local $$113) + (get_local $$83) ) ) (i64.select - (get_local $$86) - (get_local $$114) + (get_local $$163) + (get_local $$84) (i64.const 0) ) ) (i64.select - (get_local $$110) + (get_local $$162) (get_local $$5) (i64.select - (get_local $$67) + (get_local $$164) (i64.or - (get_local $$107) - (get_local $$108) + (get_local $$78) + (get_local $$79) ) - (get_local $$109) + (get_local $$80) ) ) ) ) ) (i64.select - (get_local $$56) + (get_local $$159) (i64.select - (get_local $$49) - (get_local $$116) + (get_local $$157) + (get_local $$86) (i64.const 0) ) (i64.const 0) @@ -3776,71 +3720,76 @@ (i32.const 88) ) (i64.select - (get_local $$66) + (get_local $$165) (get_local $$12) (i64.select - (get_local $$73) + (get_local $$168) (i64.or (i64.select - (get_local $$69) + (get_local $$167) (i64.select - (get_local $$66) + (get_local $$165) (get_local $$12) (i64.select - (get_local $$62) + (get_local $$166) (i64.or - (get_local $$97) - (get_local $$98) + (get_local $$67) + (get_local $$68) ) - (get_local $$99) + (get_local $$69) ) ) (i64.const 0) ) (i64.select - (get_local $$93) + (get_local $$153) (get_local $$4) (i64.select - (get_local $$72) + (get_local $$161) (i64.or (i64.select - (get_local $$70) - (get_local $$45) + (get_local $$160) + (get_local $$73) (i64.const 0) ) (i64.select - (get_local $$90) + (set_local $$162 + (i64.eq + (get_local $$170) + (i64.const 0) + ) + ) (get_local $$8) (i64.select - (get_local $$86) + (get_local $$163) (i64.or - (get_local $$100) - (get_local $$101) + (get_local $$70) + (get_local $$71) ) - (get_local $$102) + (get_local $$72) ) ) ) (i64.select - (get_local $$67) - (get_local $$103) + (get_local $$164) + (get_local $$74) (i64.const 0) ) ) ) ) (i64.select - (get_local $$56) + (get_local $$159) (i64.select - (get_local $$53) + (get_local $$158) (get_local $$4) (i64.select - (get_local $$49) + (get_local $$157) (i64.or - (get_local $$105) - (get_local $$104) + (get_local $$76) + (get_local $$75) ) - (get_local $$106) + (get_local $$77) ) ) (i64.const 0) @@ -3854,71 +3803,71 @@ (i32.const 80) ) (i64.select - (get_local $$66) + (get_local $$165) (get_local $$11) (i64.select - (get_local $$73) + (get_local $$168) (i64.or (i64.select - (get_local $$69) + (get_local $$167) (i64.select - (get_local $$66) + (get_local $$165) (get_local $$11) (i64.select - (get_local $$62) + (get_local $$166) (i64.or - (get_local $$17) - (get_local $$84) + (get_local $$56) + (get_local $$57) ) - (get_local $$85) + (get_local $$58) ) ) (i64.const 0) ) (i64.select - (get_local $$93) + (get_local $$153) (get_local $$3) (i64.select - (get_local $$72) + (get_local $$161) (i64.or (i64.select - (get_local $$70) - (get_local $$91) + (get_local $$160) + (get_local $$62) (i64.const 0) ) (i64.select - (get_local $$90) + (get_local $$162) (get_local $$7) (i64.select - (get_local $$86) + (get_local $$163) (i64.or - (get_local $$87) - (get_local $$88) + (get_local $$59) + (get_local $$60) ) - (get_local $$89) + (get_local $$61) ) ) ) (i64.select - (get_local $$67) - (get_local $$92) + (get_local $$164) + (get_local $$63) (i64.const 0) ) ) ) ) (i64.select - (get_local $$56) + (get_local $$159) (i64.select - (get_local $$53) + (get_local $$158) (get_local $$3) (i64.select - (get_local $$49) + (get_local $$157) (i64.or - (get_local $$95) - (get_local $$94) + (get_local $$65) + (get_local $$64) ) - (get_local $$96) + (get_local $$66) ) ) (i64.const 0) @@ -3926,22 +3875,22 @@ ) ) ) - (set_local $$181 + (set_local $$185 (i32.const 1024) ) - (set_local $$310 + (set_local $$312 (i32.add - (get_local $$310) - (get_local $$181) + (get_local $$312) + (get_local $$185) ) ) - (set_local $$181 + (set_local $$185 (i32.const 1) ) - (set_local $$310 + (set_local $$312 (i32.store align=4 - (get_local $$181) - (get_local $$310) + (get_local $$185) + (get_local $$312) ) ) (br $fake_return_waka123) diff --git a/test/llvm_autogenerated/mem-intrinsics.s b/test/llvm_autogenerated/mem-intrinsics.s index 540784f44..286d105ad 100644 --- a/test/llvm_autogenerated/mem-intrinsics.s +++ b/test/llvm_autogenerated/mem-intrinsics.s @@ -63,4 +63,54 @@ set_no: .Lfunc_end5: .size set_no, .Lfunc_end5-set_no + .globl frame_index + .type frame_index,@function +frame_index: + .local i32, i32, i32, i32, i32 + i32.const $0=, __stack_pointer + i32.load $0=, 0($0) + i32.const $1=, 4096 + i32.sub $4=, $0, $1 + i32.const $1=, __stack_pointer + i32.store $4=, 0($1), $4 + i32.const $push1=, 0 + i32.const $push0=, 1024 + i32.const $3=, 2048 + i32.add $3=, $4, $3 + i32.call $discard=, memset@FUNCTION, $3, $pop1, $pop0 + i32.const $push3=, 0 + i32.const $push2=, 1024 + i32.call $discard=, memset@FUNCTION, $4, $pop3, $pop2 + i32.const $2=, 4096 + i32.add $4=, $4, $2 + i32.const $2=, __stack_pointer + i32.store $4=, 0($2), $4 + return + .endfunc +.Lfunc_end6: + .size frame_index, .Lfunc_end6-frame_index + + .globl discard_result + .type discard_result,@function +discard_result: + .param i32, i32, i32, i32, i32 + .result i32 + block + block + i32.const $push0=, 0 + i32.eq $push1=, $3, $pop0 + br_if $pop1, 0 + i32.call $0=, def@FUNCTION + br 1 +.LBB7_2: + end_block + br_if $4, 0 + i32.call $discard=, memset@FUNCTION, $0, $1, $2 +.LBB7_4: + end_block + return $0 + .endfunc +.Lfunc_end7: + .size discard_result, .Lfunc_end7-discard_result + diff --git a/test/llvm_autogenerated/mem-intrinsics.wast b/test/llvm_autogenerated/mem-intrinsics.wast index 92cf9c9cf..a00f43cb5 100644 --- a/test/llvm_autogenerated/mem-intrinsics.wast +++ b/test/llvm_autogenerated/mem-intrinsics.wast @@ -1,15 +1,19 @@ (module (memory 0 4294967295) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) + (type $FUNCSIG$i (func (result i32))) (import $memcpy "env" "memcpy" (param i32 i32 i32) (result i32)) (import $memmove "env" "memmove" (param i32 i32 i32) (result i32)) (import $memset "env" "memset" (param i32 i32 i32) (result i32)) + (import $def "env" "def" (result i32)) (export "copy_yes" $copy_yes) (export "copy_no" $copy_no) (export "move_yes" $move_yes) (export "move_no" $move_no) (export "set_yes" $set_yes) (export "set_no" $set_no) + (export "frame_index" $frame_index) + (export "discard_result" $discard_result) (func $copy_yes (param $$0 i32) (param $$1 i32) (param $$2 i32) (result i32) (block $fake_return_waka123 (block @@ -85,5 +89,113 @@ ) ) ) + (func $frame_index + (local $$0 i32) + (local $$1 i32) + (local $$2 i32) + (local $$3 i32) + (local $$4 i32) + (block $fake_return_waka123 + (block + (set_local $$0 + (i32.const 1) + ) + (set_local $$0 + (i32.load align=4 + (get_local $$0) + ) + ) + (set_local $$1 + (i32.const 4096) + ) + (set_local $$4 + (i32.sub + (get_local $$0) + (get_local $$1) + ) + ) + (set_local $$1 + (i32.const 1) + ) + (set_local $$4 + (i32.store align=4 + (get_local $$1) + (get_local $$4) + ) + ) + (set_local $$3 + (i32.const 2048) + ) + (set_local $$3 + (i32.add + (get_local $$4) + (get_local $$3) + ) + ) + (call_import $memset + (get_local $$3) + (i32.const 0) + (i32.const 1024) + ) + (call_import $memset + (get_local $$4) + (i32.const 0) + (i32.const 1024) + ) + (set_local $$2 + (i32.const 4096) + ) + (set_local $$4 + (i32.add + (get_local $$4) + (get_local $$2) + ) + ) + (set_local $$2 + (i32.const 1) + ) + (set_local $$4 + (i32.store align=4 + (get_local $$2) + (get_local $$4) + ) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $discard_result (param $$0 i32) (param $$1 i32) (param $$2 i32) (param $$3 i32) (param $$4 i32) (result i32) + (block $fake_return_waka123 + (block + (block $label$0 + (block $label$1 + (br_if + (i32.eq + (get_local $$3) + (i32.const 0) + ) + $label$1 + ) + (set_local $$0 + (call_import $def) + ) + (br $label$0) + ) + (br_if + (get_local $$4) + $label$0 + ) + (call_import $memset + (get_local $$0) + (get_local $$1) + (get_local $$2) + ) + ) + (br $fake_return_waka123 + (get_local $$0) + ) + ) + ) + ) ) ;; METADATA: { "asmConsts": {},"staticBump": 4 } diff --git a/test/llvm_autogenerated/reg-stackify.s b/test/llvm_autogenerated/reg-stackify.s index 38ebc93f4..17ed02ea4 100644 --- a/test/llvm_autogenerated/reg-stackify.s +++ b/test/llvm_autogenerated/reg-stackify.s @@ -85,12 +85,13 @@ stack_uses: multiple_uses: .param i32, i32, i32 .local i32 - i32.load $3=, 0($2) block - i32.ge_u $push0=, $3, $1 - br_if $pop0, 0 - i32.lt_u $push1=, $3, $0 + i32.load $push0=, 0($2) + tee_local $push3=, $3=, $pop0 + i32.ge_u $push1=, $pop3, $1 br_if $pop1, 0 + i32.lt_u $push2=, $3, $0 + br_if $pop2, 0 i32.store $discard=, 0($2), $3 .LBB5_3: end_block @@ -115,4 +116,68 @@ stackify_store_across_side_effects: .Lfunc_end6: .size stackify_store_across_side_effects, .Lfunc_end6-stackify_store_across_side_effects + .globl div_tree + .type div_tree,@function +div_tree: + .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .result i32 + i32.div_s $push0=, $0, $1 + i32.div_s $push1=, $2, $3 + i32.div_s $push2=, $pop0, $pop1 + i32.div_s $push3=, $4, $5 + i32.div_s $push4=, $6, $7 + i32.div_s $push5=, $pop3, $pop4 + i32.div_s $push6=, $pop2, $pop5 + i32.div_s $push7=, $8, $9 + i32.div_s $push8=, $10, $11 + i32.div_s $push9=, $pop7, $pop8 + i32.div_s $push10=, $12, $13 + i32.div_s $push11=, $14, $15 + i32.div_s $push12=, $pop10, $pop11 + i32.div_s $push13=, $pop9, $pop12 + i32.div_s $push14=, $pop6, $pop13 + return $pop14 + .endfunc +.Lfunc_end7: + .size div_tree, .Lfunc_end7-div_tree + + .globl simple_multiple_use + .type simple_multiple_use,@function +simple_multiple_use: + .param i32, i32 + i32.mul $push0=, $1, $0 + tee_local $push1=, $0=, $pop0 + call use_a@FUNCTION, $pop1 + call use_b@FUNCTION, $0 + return + .endfunc +.Lfunc_end8: + .size simple_multiple_use, .Lfunc_end8-simple_multiple_use + + .globl multiple_uses_in_same_insn + .type multiple_uses_in_same_insn,@function +multiple_uses_in_same_insn: + .param i32, i32 + i32.mul $push0=, $1, $0 + tee_local $push1=, $0=, $pop0 + call use_2@FUNCTION, $pop1, $0 + return + .endfunc +.Lfunc_end9: + .size multiple_uses_in_same_insn, .Lfunc_end9-multiple_uses_in_same_insn + + .globl commute + .type commute,@function +commute: + .result i32 + i32.call $push0=, red@FUNCTION + i32.call $push1=, green@FUNCTION + i32.add $push2=, $pop0, $pop1 + i32.call $push3=, blue@FUNCTION + i32.add $push4=, $pop2, $pop3 + return $pop4 + .endfunc +.Lfunc_end10: + .size commute, .Lfunc_end10-commute + diff --git a/test/llvm_autogenerated/reg-stackify.wast b/test/llvm_autogenerated/reg-stackify.wast index 3a367ac52..138634a67 100644 --- a/test/llvm_autogenerated/reg-stackify.wast +++ b/test/llvm_autogenerated/reg-stackify.wast @@ -1,7 +1,16 @@ (module (memory 0 4294967295) (type $FUNCSIG$v (func)) + (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$i (func (result i32))) (import $evoke_side_effects "env" "evoke_side_effects") + (import $use_a "env" "use_a" (param i32)) + (import $use_b "env" "use_b" (param i32)) + (import $use_2 "env" "use_2" (param i32 i32)) + (import $red "env" "red" (result i32)) + (import $green "env" "green" (result i32)) + (import $blue "env" "blue" (result i32)) (export "no0" $no0) (export "no1" $no1) (export "yes0" $yes0) @@ -9,6 +18,10 @@ (export "stack_uses" $stack_uses) (export "multiple_uses" $multiple_uses) (export "stackify_store_across_side_effects" $stackify_store_across_side_effects) + (export "div_tree" $div_tree) + (export "simple_multiple_use" $simple_multiple_use) + (export "multiple_uses_in_same_insn" $multiple_uses_in_same_insn) + (export "commute" $commute) (func $no0 (param $$0 i32) (param $$1 i32) (result i32) (block $fake_return_waka123 (block @@ -117,15 +130,14 @@ (local $$3 i32) (block $fake_return_waka123 (block - (set_local $$3 - (i32.load align=4 - (get_local $$2) - ) - ) (block $label$0 (br_if (i32.ge_u - (get_local $$3) + (set_local $$3 + (i32.load align=4 + (get_local $$2) + ) + ) (get_local $$1) ) $label$0 @@ -166,5 +178,108 @@ ) ) ) + (func $div_tree (param $$0 i32) (param $$1 i32) (param $$2 i32) (param $$3 i32) (param $$4 i32) (param $$5 i32) (param $$6 i32) (param $$7 i32) (param $$8 i32) (param $$9 i32) (param $$10 i32) (param $$11 i32) (param $$12 i32) (param $$13 i32) (param $$14 i32) (param $$15 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.div_s + (i32.div_s + (i32.div_s + (i32.div_s + (get_local $$0) + (get_local $$1) + ) + (i32.div_s + (get_local $$2) + (get_local $$3) + ) + ) + (i32.div_s + (i32.div_s + (get_local $$4) + (get_local $$5) + ) + (i32.div_s + (get_local $$6) + (get_local $$7) + ) + ) + ) + (i32.div_s + (i32.div_s + (i32.div_s + (get_local $$8) + (get_local $$9) + ) + (i32.div_s + (get_local $$10) + (get_local $$11) + ) + ) + (i32.div_s + (i32.div_s + (get_local $$12) + (get_local $$13) + ) + (i32.div_s + (get_local $$14) + (get_local $$15) + ) + ) + ) + ) + ) + ) + ) + ) + (func $simple_multiple_use (param $$0 i32) (param $$1 i32) + (block $fake_return_waka123 + (block + (call_import $use_a + (set_local $$0 + (i32.mul + (get_local $$1) + (get_local $$0) + ) + ) + ) + (call_import $use_b + (get_local $$0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $multiple_uses_in_same_insn (param $$0 i32) (param $$1 i32) + (block $fake_return_waka123 + (block + (call_import $use_2 + (set_local $$0 + (i32.mul + (get_local $$1) + (get_local $$0) + ) + ) + (get_local $$0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $commute (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.add + (i32.add + (call_import $red) + (call_import $green) + ) + (call_import $blue) + ) + ) + ) + ) + ) ) ;; METADATA: { "asmConsts": {},"staticBump": 4 } diff --git a/test/llvm_autogenerated/userstack.s b/test/llvm_autogenerated/userstack.s index f7916e37c..ede7be4f7 100644 --- a/test/llvm_autogenerated/userstack.s +++ b/test/llvm_autogenerated/userstack.s @@ -70,6 +70,29 @@ allocarray: .Lfunc_end2: .size allocarray, .Lfunc_end2-allocarray + .globl non_mem_use + .type non_mem_use,@function +non_mem_use: + .local i32, i32, i32, i32, i32 + 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 ext_func@FUNCTION, $3 + call ext_func@FUNCTION, $4 + i32.const $2=, 16 + i32.add $4=, $4, $2 + i32.const $2=, __stack_pointer + i32.store $4=, 0($2), $4 + return + .endfunc +.Lfunc_end3: + .size non_mem_use, .Lfunc_end3-non_mem_use + .globl allocarray_inbounds .type allocarray_inbounds,@function allocarray_inbounds: @@ -89,8 +112,8 @@ allocarray_inbounds: i32.store $3=, 0($2), $3 return .endfunc -.Lfunc_end3: - .size allocarray_inbounds, .Lfunc_end3-allocarray_inbounds +.Lfunc_end4: + .size allocarray_inbounds, .Lfunc_end4-allocarray_inbounds .globl dynamic_alloca .type dynamic_alloca,@function @@ -98,7 +121,7 @@ dynamic_alloca: .param i32 return .endfunc -.Lfunc_end4: - .size dynamic_alloca, .Lfunc_end4-dynamic_alloca +.Lfunc_end5: + .size dynamic_alloca, .Lfunc_end5-dynamic_alloca diff --git a/test/llvm_autogenerated/userstack.wast b/test/llvm_autogenerated/userstack.wast index df8788cfb..a67c49b40 100644 --- a/test/llvm_autogenerated/userstack.wast +++ b/test/llvm_autogenerated/userstack.wast @@ -1,8 +1,11 @@ (module (memory 0 4294967295) + (type $FUNCSIG$vi (func (param i32))) + (import $ext_func "env" "ext_func" (param i32)) (export "alloca32" $alloca32) (export "alloca3264" $alloca3264) (export "allocarray" $allocarray) + (export "non_mem_use" $non_mem_use) (export "allocarray_inbounds" $allocarray_inbounds) (export "dynamic_alloca" $dynamic_alloca) (func $alloca32 @@ -202,6 +205,77 @@ ) ) ) + (func $non_mem_use + (local $$0 i32) + (local $$1 i32) + (local $$2 i32) + (local $$3 i32) + (local $$4 i32) + (block $fake_return_waka123 + (block + (set_local $$0 + (i32.const 1) + ) + (set_local $$0 + (i32.load align=4 + (get_local $$0) + ) + ) + (set_local $$1 + (i32.const 16) + ) + (set_local $$4 + (i32.sub + (get_local $$0) + (get_local $$1) + ) + ) + (set_local $$1 + (i32.const 1) + ) + (set_local $$4 + (i32.store align=4 + (get_local $$1) + (get_local $$4) + ) + ) + (set_local $$3 + (i32.const 8) + ) + (set_local $$3 + (i32.add + (get_local $$4) + (get_local $$3) + ) + ) + (call_import $ext_func + (get_local $$3) + ) + (call_import $ext_func + (get_local $$4) + ) + (set_local $$2 + (i32.const 16) + ) + (set_local $$4 + (i32.add + (get_local $$4) + (get_local $$2) + ) + ) + (set_local $$2 + (i32.const 1) + ) + (set_local $$4 + (i32.store align=4 + (get_local $$2) + (get_local $$4) + ) + ) + (br $fake_return_waka123) + ) + ) + ) (func $allocarray_inbounds (local $$0 i32) (local $$1 i32) diff --git a/test/llvm_autogenerated/varargs.s b/test/llvm_autogenerated/varargs.s index 2d29fe3de..797b62804 100644 --- a/test/llvm_autogenerated/varargs.s +++ b/test/llvm_autogenerated/varargs.s @@ -26,12 +26,13 @@ arg_i8: .param i32 .result i32 .local i32 - i32.load $1=, 0($0) - i32.const $push0=, 4 - i32.add $push1=, $1, $pop0 - i32.store $discard=, 0($0), $pop1 - i32.load $push2=, 0($1) - return $pop2 + i32.load $push0=, 0($0) + tee_local $push4=, $1=, $pop0 + i32.const $push1=, 4 + i32.add $push2=, $pop4, $pop1 + i32.store $discard=, 0($0), $pop2 + i32.load $push3=, 0($1) + return $pop3 .endfunc .Lfunc_end2: .size arg_i8, .Lfunc_end2-arg_i8 @@ -46,12 +47,13 @@ arg_i32: i32.const $push1=, 3 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -4 - i32.and $1=, $pop2, $pop3 - i32.const $push4=, 4 - i32.add $push5=, $1, $pop4 - i32.store $discard=, 0($0), $pop5 - i32.load $push6=, 0($1) - return $pop6 + i32.and $push4=, $pop2, $pop3 + tee_local $push8=, $1=, $pop4 + i32.const $push5=, 4 + i32.add $push6=, $pop8, $pop5 + i32.store $discard=, 0($0), $pop6 + i32.load $push7=, 0($1) + return $pop7 .endfunc .Lfunc_end3: .size arg_i32, .Lfunc_end3-arg_i32 @@ -60,24 +62,25 @@ arg_i32: .type arg_i128,@function arg_i128: .param i32, i32 - .local i32, i32, i64 + .local i32, i64, i32 i32.load $push0=, 0($1) i32.const $push1=, 7 i32.add $push2=, $pop0, $pop1 i32.const $push3=, -8 - i32.and $2=, $pop2, $pop3 - i32.const $push4=, 8 - i32.add $push5=, $2, $pop4 - i32.store $3=, 0($1), $pop5 - i64.load $4=, 0($2) - i32.const $push6=, 16 - i32.add $push7=, $2, $pop6 - i32.store $discard=, 0($1), $pop7 - i32.const $push10=, 8 - i32.add $push9=, $0, $pop10 - i64.load $push8=, 0($3) - i64.store $discard=, 0($pop9), $pop8 - i64.store $discard=, 0($0), $4 + i32.and $push4=, $pop2, $pop3 + tee_local $push12=, $4=, $pop4 + i32.const $push5=, 8 + i32.add $push6=, $pop12, $pop5 + i32.store $2=, 0($1), $pop6 + i64.load $3=, 0($4) + i32.const $push7=, 16 + i32.add $push8=, $4, $pop7 + i32.store $discard=, 0($1), $pop8 + i32.const $push11=, 8 + i32.add $push10=, $0, $pop11 + i64.load $push9=, 0($2) + i64.store $discard=, 0($pop10), $pop9 + i64.store $discard=, 0($0), $3 return .endfunc .Lfunc_end4: diff --git a/test/llvm_autogenerated/varargs.wast b/test/llvm_autogenerated/varargs.wast index 15a5fff1d..ff0833b2c 100644 --- a/test/llvm_autogenerated/varargs.wast +++ b/test/llvm_autogenerated/varargs.wast @@ -33,15 +33,14 @@ (local $$1 i32) (block $fake_return_waka123 (block - (set_local $$1 - (i32.load align=4 - (get_local $$0) - ) - ) (i32.store align=4 (get_local $$0) (i32.add - (get_local $$1) + (set_local $$1 + (i32.load align=4 + (get_local $$0) + ) + ) (i32.const 4) ) ) @@ -57,21 +56,20 @@ (local $$1 i32) (block $fake_return_waka123 (block - (set_local $$1 - (i32.and - (i32.add - (i32.load align=4 - (get_local $$0) - ) - (i32.const 3) - ) - (i32.const -4) - ) - ) (i32.store align=4 (get_local $$0) (i32.add - (get_local $$1) + (set_local $$1 + (i32.and + (i32.add + (i32.load align=4 + (get_local $$0) + ) + (i32.const 3) + ) + (i32.const -4) + ) + ) (i32.const 4) ) ) @@ -85,39 +83,38 @@ ) (func $arg_i128 (param $$0 i32) (param $$1 i32) (local $$2 i32) - (local $$3 i32) - (local $$4 i64) + (local $$3 i64) + (local $$4 i32) (block $fake_return_waka123 (block (set_local $$2 - (i32.and - (i32.add - (i32.load align=4 - (get_local $$1) - ) - (i32.const 7) - ) - (i32.const -8) - ) - ) - (set_local $$3 (i32.store align=4 (get_local $$1) (i32.add - (get_local $$2) + (set_local $$4 + (i32.and + (i32.add + (i32.load align=4 + (get_local $$1) + ) + (i32.const 7) + ) + (i32.const -8) + ) + ) (i32.const 8) ) ) ) - (set_local $$4 + (set_local $$3 (i64.load align=8 - (get_local $$2) + (get_local $$4) ) ) (i32.store align=4 (get_local $$1) (i32.add - (get_local $$2) + (get_local $$4) (i32.const 16) ) ) @@ -127,12 +124,12 @@ (i32.const 8) ) (i64.load align=8 - (get_local $$3) + (get_local $$2) ) ) (i64.store align=8 (get_local $$0) - (get_local $$4) + (get_local $$3) ) (br $fake_return_waka123) ) |