summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Gohman <sunfish@mozilla.com>2016-01-27 15:43:24 -0800
committerDan Gohman <sunfish@mozilla.com>2016-01-27 15:43:24 -0800
commitd378fd9a098572d1517f8ac9ce8909fd38f11122 (patch)
treeb13eb1ccac726e66026790ebac9408b2ba1848a8
parentf329e28d111ea3462fa89dacf53024fba1c52415 (diff)
parentace3199b27b4f15f30fd6a2f3dbe5534a0ccf6b5 (diff)
downloadbinaryen-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.h9
-rw-r--r--src/wasm.h4
-rw-r--r--test/llvm_autogenerated/byval.s149
-rw-r--r--test/llvm_autogenerated/byval.wast411
-rw-r--r--test/llvm_autogenerated/cfg-stackify.s203
-rw-r--r--test/llvm_autogenerated/cfg-stackify.wast65
-rw-r--r--test/llvm_autogenerated/legalize.s1947
-rw-r--r--test/llvm_autogenerated/legalize.wast2705
-rw-r--r--test/llvm_autogenerated/mem-intrinsics.s50
-rw-r--r--test/llvm_autogenerated/mem-intrinsics.wast112
-rw-r--r--test/llvm_autogenerated/reg-stackify.s73
-rw-r--r--test/llvm_autogenerated/reg-stackify.wast127
-rw-r--r--test/llvm_autogenerated/userstack.s31
-rw-r--r--test/llvm_autogenerated/userstack.wast74
-rw-r--r--test/llvm_autogenerated/varargs.s55
-rw-r--r--test/llvm_autogenerated/varargs.wast71
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)
)