diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-01-27 15:14:44 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-01-27 15:15:01 -0800 |
commit | 047e78d18d997cb206ee121a23bdf466dba17034 (patch) | |
tree | 56f1b9f4deb1b181539ec685036d59a24a15eb9a | |
parent | aca3e33790045db5db58df711d3e03030f5076eb (diff) | |
download | binaryen-047e78d18d997cb206ee121a23bdf466dba17034.tar.gz binaryen-047e78d18d997cb206ee121a23bdf466dba17034.tar.bz2 binaryen-047e78d18d997cb206ee121a23bdf466dba17034.zip |
support tee_local in .s files
-rw-r--r-- | src/s2wasm.h | 9 | ||||
-rw-r--r-- | test/llvm_autogenerated/byval.wast | 411 | ||||
-rw-r--r-- | test/llvm_autogenerated/cfg-stackify.wast | 65 | ||||
-rw-r--r-- | test/llvm_autogenerated/legalize.wast | 2705 | ||||
-rw-r--r-- | test/llvm_autogenerated/mem-intrinsics.wast | 112 | ||||
-rw-r--r-- | test/llvm_autogenerated/reg-stackify.wast | 127 | ||||
-rw-r--r-- | test/llvm_autogenerated/userstack.wast | 74 | ||||
-rw-r--r-- | test/llvm_autogenerated/varargs.wast | 71 |
8 files changed, 2118 insertions, 1456 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/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.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.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.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.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.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.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) ) |