diff options
33 files changed, 3077 insertions, 3969 deletions
diff --git a/src/s2wasm.h b/src/s2wasm.h index 5b7cd1fa4..383ff1e36 100644 --- a/src/s2wasm.h +++ b/src/s2wasm.h @@ -745,7 +745,11 @@ class S2WasmBuilder { }; auto setOutput = [&](Expression* curr, Name assign) { if (assign.isNull() || assign.str[0] == 'd') { // drop - addToBlock(builder.makeDrop(curr)); + auto* add = curr; + if (isConcreteWasmType(curr->type)) { + add = builder.makeDrop(curr); + } + addToBlock(add); } else if (assign.str[0] == 'p') { // push push(curr); } else { // set to a local diff --git a/test/dot_s/alias.wast b/test/dot_s/alias.wast index af613b4ea..b9c98b661 100644 --- a/test/dot_s/alias.wast +++ b/test/dot_s/alias.wast @@ -21,9 +21,7 @@ ) ) (func $__needs_exit (result i32) - (drop - (call $__exit) - ) + (call $__exit) (return (i32.const 1) ) diff --git a/test/dot_s/asm_const.wast b/test/dot_s/asm_const.wast index 5e84d771e..b5d2aa949 100644 --- a/test/dot_s/asm_const.wast +++ b/test/dot_s/asm_const.wast @@ -6,10 +6,8 @@ (export "memory" (memory $0)) (export "main" (func $main)) (func $main (result i32) - (drop - (call $emscripten_asm_const_vi - (i32.const 0) - ) + (call $emscripten_asm_const_vi + (i32.const 0) ) (return (i32.const 0) diff --git a/test/dot_s/basics.wast b/test/dot_s/basics.wast index 77c1e1ab3..cb945abba 100644 --- a/test/dot_s/basics.wast +++ b/test/dot_s/basics.wast @@ -13,10 +13,8 @@ (table 2 2 anyfunc) (elem (i32.const 0) $__wasm_nullptr $main) (func $main (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (drop - (call $puts - (i32.const 16) - ) + (call $puts + (i32.const 16) ) (block $label$0 (block $label$1 diff --git a/test/dot_s/bcp-1.wast b/test/dot_s/bcp-1.wast index 89fc2807f..b6223707f 100644 --- a/test/dot_s/bcp-1.wast +++ b/test/dot_s/bcp-1.wast @@ -287,36 +287,24 @@ (i32.const 0) ) ) - (drop - (call $exit - (get_local $0) - ) + (call $exit + (get_local $0) ) (unreachable) ) - (drop - (call $abort) - ) - (unreachable) - ) - (drop (call $abort) + (unreachable) ) - (unreachable) - ) - (drop (call $abort) + (unreachable) ) - (unreachable) - ) - (drop (call $abort) + (unreachable) ) - (unreachable) - ) - (drop (call $abort) + (unreachable) ) + (call $abort) (unreachable) ) (func $__wasm_nullptr (type $FUNCSIG$v) diff --git a/test/dot_s/exit.wast b/test/dot_s/exit.wast index a6abcbdf0..a45fb5453 100644 --- a/test/dot_s/exit.wast +++ b/test/dot_s/exit.wast @@ -6,10 +6,8 @@ (export "main" (func $main)) (func $main (result i32) (local $0 i32) - (drop - (call $exit - (i32.const 0) - ) + (call $exit + (i32.const 0) ) (unreachable) ) diff --git a/test/dot_s/fix_em_ehsjlj_names.wast b/test/dot_s/fix_em_ehsjlj_names.wast index 912716524..2ce1603d9 100644 --- a/test/dot_s/fix_em_ehsjlj_names.wast +++ b/test/dot_s/fix_em_ehsjlj_names.wast @@ -37,10 +37,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (drop - (call $invoke_v - (i32.const 1) - ) + (call $invoke_v + (i32.const 1) ) (drop (call $invoke_iiii @@ -70,11 +68,9 @@ ) ) ) - (drop - (call $emscripten_longjmp - (i32.const 5) - (i32.const 6) - ) + (call $emscripten_longjmp + (i32.const 5) + (i32.const 6) ) (i32.const 0) ) diff --git a/test/dot_s/indirect-import.wast b/test/dot_s/indirect-import.wast index ff1550a12..b93059da3 100644 --- a/test/dot_s/indirect-import.wast +++ b/test/dot_s/indirect-import.wast @@ -22,50 +22,36 @@ (func $bar (result i32) (local $0 i32) (local $1 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $1 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 32) + (i32.store offset=4 + (i32.const 0) + (tee_local $1 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 32) ) ) ) - (drop - (i32.store offset=28 - (get_local $1) - (i32.const 1) - ) - ) - (drop - (i32.store offset=24 - (get_local $1) - (i32.const 2) - ) + (i32.store offset=28 + (get_local $1) + (i32.const 1) ) - (drop - (call $extern_vj - (i64.const 1) - ) + (i32.store offset=24 + (get_local $1) + (i32.const 2) ) - (drop - (i32.store offset=20 - (get_local $1) - (i32.const 3) - ) + (call $extern_vj + (i64.const 1) ) - (drop - (call $extern_v) + (i32.store offset=20 + (get_local $1) + (i32.const 3) ) - (drop - (i32.store offset=16 - (get_local $1) - (i32.const 4) - ) + (call $extern_v) + (i32.store offset=16 + (get_local $1) + (i32.const 4) ) (drop (call $extern_ijidf @@ -75,30 +61,24 @@ (f32.const 4) ) ) - (drop - (i32.store offset=12 - (get_local $1) - (i32.const 5) - ) + (i32.store offset=12 + (get_local $1) + (i32.const 5) ) - (drop - (i32.store offset=8 - (get_local $1) - (i32.const 6) - ) + (i32.store offset=8 + (get_local $1) + (i32.const 6) ) (set_local $0 (i32.load offset=28 (get_local $1) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $1) - (i32.const 32) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $1) + (i32.const 32) ) ) (get_local $0) diff --git a/test/dot_s/local_align.wast b/test/dot_s/local_align.wast index 05363615c..5304dd5e4 100644 --- a/test/dot_s/local_align.wast +++ b/test/dot_s/local_align.wast @@ -5,10 +5,8 @@ (func $foo (param $0 i32) ) (func $main (result i32) - (drop - (call $foo - (i32.const 16) - ) + (call $foo + (i32.const 16) ) (i32.const 0) ) diff --git a/test/dot_s/memops.wast b/test/dot_s/memops.wast index fc6d21fa8..a254e7779 100644 --- a/test/dot_s/memops.wast +++ b/test/dot_s/memops.wast @@ -6,16 +6,12 @@ (export "memory" (memory $0)) (export "main" (func $main)) (func $_Z6reporti (param $0 i32) - (drop - (i32.store - (i32.const 8) - (get_local $0) - ) + (i32.store + (i32.const 8) + (get_local $0) ) - (drop - (call $emscripten_asm_const_vi - (i32.const 0) - ) + (call $emscripten_asm_const_vi + (i32.const 0) ) (return) ) @@ -53,11 +49,9 @@ (set_local $8 (i32.const 0) ) - (drop - (i32.store - (get_local $8) - (get_local $12) - ) + (i32.store + (get_local $8) + (get_local $12) ) (set_local $1 (i32.const 0) @@ -84,16 +78,14 @@ (get_local $10) ) ) - (drop - (i32.store8 - (i32.add - (get_local $10) - (get_local $4) - ) - (i32.add - (get_local $6) - (get_local $4) - ) + (i32.store8 + (i32.add + (get_local $10) + (get_local $4) + ) + (i32.add + (get_local $6) + (get_local $4) ) ) (set_local $2 @@ -190,10 +182,8 @@ ) ) ) - (drop - (call $_Z6reporti - (get_local $6) - ) + (call $_Z6reporti + (get_local $6) ) (set_local $9 (i32.const 1048576) @@ -207,11 +197,9 @@ (set_local $9 (i32.const 0) ) - (drop - (i32.store - (get_local $9) - (get_local $12) - ) + (i32.store + (get_local $9) + (get_local $12) ) (return (i32.const 0) diff --git a/test/dot_s/symbolic-offset.wast b/test/dot_s/symbolic-offset.wast index 462b7971a..cd2205cee 100644 --- a/test/dot_s/symbolic-offset.wast +++ b/test/dot_s/symbolic-offset.wast @@ -4,11 +4,9 @@ (export "memory" (memory $0)) (export "f" (func $f)) (func $f (param $0 i32) (param $1 i32) - (drop - (i32.store offset=16 - (get_local $0) - (get_local $1) - ) + (i32.store offset=16 + (get_local $0) + (get_local $1) ) (return) ) diff --git a/test/dot_s/text_before_type.wast b/test/dot_s/text_before_type.wast index d80360b21..8537b83da 100644 --- a/test/dot_s/text_before_type.wast +++ b/test/dot_s/text_before_type.wast @@ -3,9 +3,7 @@ (export "memory" (memory $0)) (export "main" (func $main)) (func $main (result i32) - (drop - (call $foo) - ) + (call $foo) (i32.const 0) ) (func $foo diff --git a/test/llvm_autogenerated/byval.wast b/test/llvm_autogenerated/byval.wast index 9549ef683..d3673093b 100644 --- a/test/llvm_autogenerated/byval.wast +++ b/test/llvm_autogenerated/byval.wast @@ -21,200 +21,162 @@ (export "big_byval" (func $big_byval)) (func $byval_arg (param $0 i32) (local $1 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $1 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 16) + (i32.store offset=4 + (i32.const 0) + (tee_local $1 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 16) ) ) ) - (drop - (i32.store offset=12 - (get_local $1) - (i32.load - (get_local $0) - ) + (i32.store offset=12 + (get_local $1) + (i32.load + (get_local $0) ) ) - (drop - (call $ext_byval_func - (i32.add - (get_local $1) - (i32.const 12) - ) + (call $ext_byval_func + (i32.add + (get_local $1) + (i32.const 12) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $1) - (i32.const 16) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $1) + (i32.const 16) ) ) (return) ) (func $byval_arg_align8 (param $0 i32) (local $1 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $1 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 16) + (i32.store offset=4 + (i32.const 0) + (tee_local $1 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 16) ) ) ) - (drop - (i32.store offset=8 - (get_local $1) - (i32.load - (get_local $0) - ) + (i32.store offset=8 + (get_local $1) + (i32.load + (get_local $0) ) ) - (drop - (call $ext_byval_func_align8 - (i32.add - (get_local $1) - (i32.const 8) - ) + (call $ext_byval_func_align8 + (i32.add + (get_local $1) + (i32.const 8) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $1) - (i32.const 16) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $1) + (i32.const 16) ) ) (return) ) (func $byval_arg_double (param $0 i32) (local $1 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $1 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 16) + (i32.store offset=4 + (i32.const 0) + (tee_local $1 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 16) ) ) ) - (drop - (i64.store + (i64.store + (i32.add + (get_local $1) + (i32.const 8) + ) + (i64.load (i32.add - (get_local $1) + (get_local $0) (i32.const 8) ) - (i64.load - (i32.add - (get_local $0) - (i32.const 8) - ) - ) ) ) - (drop - (i64.store - (get_local $1) - (i64.load - (get_local $0) - ) + (i64.store + (get_local $1) + (i64.load + (get_local $0) ) ) - (drop - (call $ext_byval_func_alignedstruct - (get_local $1) - ) + (call $ext_byval_func_alignedstruct + (get_local $1) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $1) - (i32.const 16) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $1) + (i32.const 16) ) ) (return) ) (func $byval_param (param $0 i32) - (drop - (call $ext_func - (get_local $0) - ) + (call $ext_func + (get_local $0) ) (return) ) (func $byval_empty_caller (param $0 i32) - (drop - (call $ext_byval_func_empty - (get_local $0) - ) + (call $ext_byval_func_empty + (get_local $0) ) (return) ) (func $byval_empty_callee (param $0 i32) - (drop - (call $ext_func_empty - (get_local $0) - ) + (call $ext_func_empty + (get_local $0) ) (return) ) (func $big_byval (param $0 i32) (local $1 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $1 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 131072) - ) - ) - ) - ) - (drop - (call $big_byval_callee - (tee_local $0 - (call $memcpy - (get_local $1) - (get_local $0) - (i32.const 131072) + (i32.store offset=4 + (i32.const 0) + (tee_local $1 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 131072) ) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add + (call $big_byval_callee + (tee_local $0 + (call $memcpy + (get_local $1) (get_local $0) (i32.const 131072) ) ) ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $0) + (i32.const 131072) + ) + ) (return) ) ) diff --git a/test/llvm_autogenerated/call.wast b/test/llvm_autogenerated/call.wast index 9b547f132..b597dacfd 100644 --- a/test/llvm_autogenerated/call.wast +++ b/test/llvm_autogenerated/call.wast @@ -53,9 +53,7 @@ ) ) (func $call_void_nullary - (drop - (call $void_nullary) - ) + (call $void_nullary) (return) ) (func $call_i32_unary (param $0 i32) (result i32) @@ -74,10 +72,8 @@ ) ) (func $call_indirect_void (param $0 i32) - (drop - (call_indirect $FUNCSIG$v - (get_local $0) - ) + (call_indirect $FUNCSIG$v + (get_local $0) ) (return) ) @@ -89,21 +85,15 @@ ) ) (func $tail_call_void_nullary - (drop - (call $void_nullary) - ) + (call $void_nullary) (return) ) (func $fastcc_tail_call_void_nullary - (drop - (call $void_nullary) - ) + (call $void_nullary) (return) ) (func $coldcc_tail_call_void_nullary - (drop - (call $void_nullary) - ) + (call $void_nullary) (return) ) (func $__wasm_nullptr (type $FUNCSIG$v) diff --git a/test/llvm_autogenerated/cfg-stackify.wast b/test/llvm_autogenerated/cfg-stackify.wast index 87d8c430d..e0decab7c 100644 --- a/test/llvm_autogenerated/cfg-stackify.wast +++ b/test/llvm_autogenerated/cfg-stackify.wast @@ -53,9 +53,7 @@ (i32.const 1) ) ) - (drop - (call $something) - ) + (call $something) (br $label$0) ) ) @@ -80,9 +78,7 @@ (i32.const 1) ) ) - (drop - (call $something) - ) + (call $something) (br $label$0) ) ) @@ -98,15 +94,13 @@ ) (block $label$2 (loop $label$1 - (drop - (f64.store - (get_local $0) - (f64.mul - (f64.load - (get_local $0) - ) - (f64.const 3.2) + (f64.store + (get_local $0) + (f64.mul + (f64.load + (get_local $0) ) + (f64.const 3.2) ) ) (set_local $0 @@ -129,11 +123,9 @@ (return) ) (func $doublediamond (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (drop - (i32.store - (get_local $2) - (i32.const 0) - ) + (i32.store + (get_local $2) + (i32.const 0) ) (block $label$0 (block $label$1 @@ -143,84 +135,66 @@ (get_local $0) ) ) - (drop - (i32.store - (get_local $2) - (i32.const 2) - ) + (i32.store + (get_local $2) + (i32.const 2) ) (br_if $label$1 (i32.eqz (get_local $1) ) ) - (drop - (i32.store - (get_local $2) - (i32.const 4) - ) - ) - (br $label$0) - ) - (drop (i32.store (get_local $2) - (i32.const 1) + (i32.const 4) ) + (br $label$0) ) - (br $label$0) - ) - (drop (i32.store (get_local $2) - (i32.const 3) + (i32.const 1) ) + (br $label$0) ) - ) - (drop (i32.store (get_local $2) - (i32.const 5) + (i32.const 3) ) ) + (i32.store + (get_local $2) + (i32.const 5) + ) (return (i32.const 0) ) ) (func $triangle (param $0 i32) (param $1 i32) (result i32) - (drop - (i32.store - (get_local $0) - (i32.const 0) - ) + (i32.store + (get_local $0) + (i32.const 0) ) (block $label$0 (br_if $label$0 (get_local $1) ) - (drop - (i32.store - (get_local $0) - (i32.const 1) - ) - ) - ) - (drop (i32.store (get_local $0) - (i32.const 2) + (i32.const 1) ) ) + (i32.store + (get_local $0) + (i32.const 2) + ) (return (i32.const 0) ) ) (func $diamond (param $0 i32) (param $1 i32) (result i32) - (drop - (i32.store - (get_local $0) - (i32.const 0) - ) + (i32.store + (get_local $0) + (i32.const 0) ) (block $label$0 (block $label$1 @@ -229,75 +203,59 @@ (get_local $1) ) ) - (drop - (i32.store - (get_local $0) - (i32.const 2) - ) - ) - (br $label$0) - ) - (drop (i32.store (get_local $0) - (i32.const 1) + (i32.const 2) ) + (br $label$0) ) - ) - (drop (i32.store (get_local $0) - (i32.const 3) + (i32.const 1) ) ) + (i32.store + (get_local $0) + (i32.const 3) + ) (return (i32.const 0) ) ) (func $single_block (param $0 i32) (result i32) - (drop - (i32.store - (get_local $0) - (i32.const 0) - ) + (i32.store + (get_local $0) + (i32.const 0) ) (return (i32.const 0) ) ) (func $minimal_loop (param $0 i32) - (drop - (i32.store - (get_local $0) - (i32.const 0) - ) + (i32.store + (get_local $0) + (i32.const 0) ) (block $label$1 (loop $label$0 - (drop - (i32.store - (get_local $0) - (i32.const 1) - ) + (i32.store + (get_local $0) + (i32.const 1) ) (br $label$0) ) ) ) (func $simple_loop (param $0 i32) (param $1 i32) (result i32) - (drop - (i32.store - (get_local $0) - (i32.const 0) - ) + (i32.store + (get_local $0) + (i32.const 0) ) (block $label$1 (loop $label$0 - (drop - (i32.store - (get_local $0) - (i32.const 1) - ) + (i32.store + (get_local $0) + (i32.const 1) ) (br_if $label$0 (i32.eqz @@ -306,67 +264,53 @@ ) ) ) - (drop - (i32.store - (get_local $0) - (i32.const 2) - ) + (i32.store + (get_local $0) + (i32.const 2) ) (return (i32.const 0) ) ) (func $doubletriangle (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (drop - (i32.store - (get_local $2) - (i32.const 0) - ) + (i32.store + (get_local $2) + (i32.const 0) ) (block $label$0 (br_if $label$0 (get_local $0) ) - (drop - (i32.store - (get_local $2) - (i32.const 2) - ) + (i32.store + (get_local $2) + (i32.const 2) ) (block $label$1 (br_if $label$1 (get_local $1) ) - (drop - (i32.store - (get_local $2) - (i32.const 3) - ) - ) - ) - (drop (i32.store (get_local $2) - (i32.const 4) + (i32.const 3) ) ) - ) - (drop (i32.store (get_local $2) - (i32.const 5) + (i32.const 4) ) ) + (i32.store + (get_local $2) + (i32.const 5) + ) (return (i32.const 0) ) ) (func $ifelse_earlyexits (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (drop - (i32.store - (get_local $2) - (i32.const 0) - ) + (i32.store + (get_local $2) + (i32.const 0) ) (block $label$0 (block $label$1 @@ -375,36 +319,28 @@ (get_local $0) ) ) - (drop - (i32.store - (get_local $2) - (i32.const 2) - ) + (i32.store + (get_local $2) + (i32.const 2) ) (br_if $label$0 (get_local $1) ) - (drop - (i32.store - (get_local $2) - (i32.const 3) - ) - ) - (br $label$0) - ) - (drop (i32.store (get_local $2) - (i32.const 1) + (i32.const 3) ) + (br $label$0) ) - ) - (drop (i32.store (get_local $2) - (i32.const 4) + (i32.const 1) ) ) + (i32.store + (get_local $2) + (i32.const 4) + ) (return (i32.const 0) ) @@ -412,11 +348,9 @@ (func $doublediamond_in_a_loop (param $0 i32) (param $1 i32) (param $2 i32) (block $label$1 (loop $label$0 - (drop - (i32.store - (get_local $2) - (i32.const 0) - ) + (i32.store + (get_local $2) + (i32.const 0) ) (block $label$2 (br_if $label$2 @@ -424,11 +358,9 @@ (get_local $0) ) ) - (drop - (i32.store - (get_local $2) - (i32.const 2) - ) + (i32.store + (get_local $2) + (i32.const 2) ) (block $label$3 (br_if $label$3 @@ -436,45 +368,33 @@ (get_local $1) ) ) - (drop - (i32.store - (get_local $2) - (i32.const 4) - ) - ) - (drop - (i32.store - (get_local $2) - (i32.const 5) - ) - ) - (br $label$0) - ) - (drop (i32.store (get_local $2) - (i32.const 3) + (i32.const 4) ) - ) - (drop (i32.store (get_local $2) (i32.const 5) ) + (br $label$0) ) - (br $label$0) - ) - (drop (i32.store (get_local $2) - (i32.const 1) + (i32.const 3) ) - ) - (drop (i32.store (get_local $2) (i32.const 5) ) + (br $label$0) + ) + (i32.store + (get_local $2) + (i32.const 1) + ) + (i32.store + (get_local $2) + (i32.const 5) ) (br $label$0) ) @@ -511,9 +431,7 @@ ) (unreachable) ) - (drop - (call $bar) - ) + (call $bar) (br $label$1) ) ) @@ -576,41 +494,33 @@ (block $label$0 (block $label$2 (loop $label$1 - (drop - (i32.store - (i32.const 0) - (i32.const 0) - ) + (i32.store + (i32.const 0) + (i32.const 0) ) (br_if $label$0 (i32.eqz (get_local $0) ) ) - (drop - (i32.store - (i32.const 0) - (i32.const 1) - ) + (i32.store + (i32.const 0) + (i32.const 1) ) (br_if $label$1 (get_local $1) ) ) ) - (drop - (i32.store - (i32.const 0) - (i32.const 3) - ) - ) - (return) - ) - (drop (i32.store (i32.const 0) - (i32.const 2) + (i32.const 3) ) + (return) + ) + (i32.store + (i32.const 0) + (i32.const 2) ) (return) ) @@ -626,22 +536,18 @@ (block $label$1 (block $label$3 (loop $label$2 - (drop - (i32.store - (i32.const 0) - (i32.const 0) - ) + (i32.store + (i32.const 0) + (i32.const 0) ) (br_if $label$0 (i32.eqz (get_local $2) ) ) - (drop - (i32.store - (i32.const 0) - (i32.const 1) - ) + (i32.store + (i32.const 0) + (i32.const 1) ) (br_if $label$1 (i32.eqz @@ -653,46 +559,36 @@ ) ) ) - (drop - (i32.store - (i32.const 0) - (i32.const 1) - ) + (i32.store + (i32.const 0) + (i32.const 1) ) (br_if $label$2 (get_local $0) ) ) ) - (drop - (i32.store - (i32.const 0) - (i32.const 2) - ) - ) - (return) - ) - (drop (i32.store (i32.const 0) - (i32.const 3) + (i32.const 2) ) + (return) ) - ) - (drop (i32.store (i32.const 0) - (i32.const 4) + (i32.const 3) ) ) + (i32.store + (i32.const 0) + (i32.const 4) + ) (return) ) (func $test7 (param $0 i32) (param $1 i32) - (drop - (i32.store - (i32.const 0) - (i32.const 0) - ) + (i32.store + (i32.const 0) + (i32.const 0) ) (set_local $0 (i32.and @@ -703,11 +599,9 @@ (block $label$0 (block $label$2 (loop $label$1 - (drop - (i32.store - (i32.const 0) - (i32.const 1) - ) + (i32.store + (i32.const 0) + (i32.const 1) ) (block $label$3 (br_if $label$3 @@ -715,11 +609,9 @@ (get_local $0) ) ) - (drop - (i32.store - (i32.const 0) - (i32.const 3) - ) + (i32.store + (i32.const 0) + (i32.const 3) ) (br_if $label$1 (i32.and @@ -729,11 +621,9 @@ ) (br $label$0) ) - (drop - (i32.store - (i32.const 0) - (i32.const 2) - ) + (i32.store + (i32.const 0) + (i32.const 2) ) (br_if $label$1 (i32.and @@ -743,19 +633,15 @@ ) ) ) - (drop - (i32.store - (i32.const 0) - (i32.const 4) - ) - ) - (unreachable) - ) - (drop (i32.store (i32.const 0) - (i32.const 5) + (i32.const 4) ) + (unreachable) + ) + (i32.store + (i32.const 0) + (i32.const 5) ) (unreachable) ) @@ -770,19 +656,15 @@ ) ) (func $test9 - (drop - (i32.store - (i32.const 0) - (i32.const 0) - ) + (i32.store + (i32.const 0) + (i32.const 0) ) (block $label$1 (loop $label$0 - (drop - (i32.store - (i32.const 0) - (i32.const 1) - ) + (i32.store + (i32.const 0) + (i32.const 1) ) (br_if $label$1 (i32.eqz @@ -794,11 +676,9 @@ ) (block $label$3 (loop $label$2 - (drop - (i32.store - (i32.const 0) - (i32.const 2) - ) + (i32.store + (i32.const 0) + (i32.const 2) ) (block $label$4 (br_if $label$4 @@ -809,11 +689,9 @@ ) ) ) - (drop - (i32.store - (i32.const 0) - (i32.const 3) - ) + (i32.store + (i32.const 0) + (i32.const 3) ) (br_if $label$2 (i32.and @@ -823,11 +701,9 @@ ) (br $label$0) ) - (drop - (i32.store - (i32.const 0) - (i32.const 4) - ) + (i32.store + (i32.const 0) + (i32.const 4) ) (br_if $label$2 (i32.and @@ -840,11 +716,9 @@ ) ) ) - (drop - (i32.store - (i32.const 0) - (i32.const 5) - ) + (i32.store + (i32.const 0) + (i32.const 5) ) (return) ) @@ -916,50 +790,40 @@ ) ) (func $test11 - (drop - (i32.store - (i32.const 0) - (i32.const 0) - ) + (i32.store + (i32.const 0) + (i32.const 0) ) (block $label$0 (block $label$1 (br_if $label$1 (i32.const 0) ) - (drop - (i32.store - (i32.const 0) - (i32.const 1) - ) + (i32.store + (i32.const 0) + (i32.const 1) ) (block $label$2 (br_if $label$2 (i32.const 0) ) - (drop - (i32.store - (i32.const 0) - (i32.const 2) - ) - ) - (br_if $label$0 + (i32.store (i32.const 0) + (i32.const 2) ) - ) - (drop - (i32.store + (br_if $label$0 (i32.const 0) - (i32.const 3) ) ) - (return) - ) - (drop (i32.store (i32.const 0) - (i32.const 4) + (i32.const 3) ) + (return) + ) + (i32.store + (i32.const 0) + (i32.const 4) ) (block $label$3 (br_if $label$3 @@ -967,36 +831,28 @@ (i32.const 0) ) ) - (drop - (i32.store - (i32.const 0) - (i32.const 8) - ) - ) - (return) - ) - (drop (i32.store (i32.const 0) - (i32.const 5) + (i32.const 8) ) + (return) ) - (br_if $label$0 + (i32.store (i32.const 0) + (i32.const 5) ) - (drop - (i32.store - (i32.const 0) - (i32.const 6) - ) + (br_if $label$0 + (i32.const 0) ) - (return) - ) - (drop (i32.store (i32.const 0) - (i32.const 7) + (i32.const 6) ) + (return) + ) + (i32.store + (i32.const 0) + (i32.const 7) ) (return) ) @@ -1119,9 +975,7 @@ (i32.const 1) ) ) - (drop - (call $test15_callee1) - ) + (call $test15_callee1) (br $label$0) ) (set_local $0 @@ -1156,9 +1010,7 @@ (get_local $1) ) ) - (drop - (call $test15_callee0) - ) + (call $test15_callee0) (return) ) (return) diff --git a/test/llvm_autogenerated/dead-vreg.wast b/test/llvm_autogenerated/dead-vreg.wast index d2b85220f..73cba6b93 100644 --- a/test/llvm_autogenerated/dead-vreg.wast +++ b/test/llvm_autogenerated/dead-vreg.wast @@ -49,11 +49,9 @@ ) (block $label$5 (loop $label$4 - (drop - (i32.store - (get_local $7) - (get_local $6) - ) + (i32.store + (get_local $7) + (get_local $6) ) (set_local $6 (i32.add diff --git a/test/llvm_autogenerated/i128.wast b/test/llvm_autogenerated/i128.wast index 570947567..f3bf045ef 100644 --- a/test/llvm_autogenerated/i128.wast +++ b/test/llvm_autogenerated/i128.wast @@ -37,72 +37,64 @@ (export "masked_rotr" (func $masked_rotr)) (func $add128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (local $5 i64) - (drop - (i64.store - (get_local $0) - (tee_local $5 - (i64.add - (get_local $1) - (get_local $3) - ) + (i64.store + (get_local $0) + (tee_local $5 + (i64.add + (get_local $1) + (get_local $3) ) ) ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 8) - ) + (i64.store + (i32.add + (get_local $0) + (i32.const 8) + ) + (i64.add (i64.add - (i64.add - (get_local $2) - (get_local $4) - ) - (select - (i64.const 1) - (i64.extend_u/i32 - (i64.lt_u - (get_local $5) - (get_local $1) - ) - ) + (get_local $2) + (get_local $4) + ) + (select + (i64.const 1) + (i64.extend_u/i32 (i64.lt_u (get_local $5) - (get_local $3) + (get_local $1) ) ) + (i64.lt_u + (get_local $5) + (get_local $3) + ) ) ) ) (return) ) (func $sub128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) - (drop - (i64.store - (get_local $0) - (i64.sub - (get_local $1) - (get_local $3) - ) + (i64.store + (get_local $0) + (i64.sub + (get_local $1) + (get_local $3) ) ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 8) - ) + (i64.store + (i32.add + (get_local $0) + (i32.const 8) + ) + (i64.sub (i64.sub - (i64.sub - (get_local $2) - (get_local $4) - ) - (i64.extend_u/i32 - (i64.lt_u - (get_local $1) - (get_local $3) - ) + (get_local $2) + (get_local $4) + ) + (i64.extend_u/i32 + (i64.lt_u + (get_local $1) + (get_local $3) ) ) ) @@ -111,683 +103,571 @@ ) (func $mul128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (local $5 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 16) + (i32.store offset=4 + (i32.const 0) + (tee_local $5 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 16) ) ) ) - (drop - (call $__multi3 - (get_local $5) - (get_local $1) - (get_local $2) - (get_local $3) - (get_local $4) - ) + (call $__multi3 + (get_local $5) + (get_local $1) + (get_local $2) + (get_local $3) + (get_local $4) ) - (drop - (i64.store + (i64.store + (i32.add + (get_local $0) + (i32.const 8) + ) + (i64.load (i32.add - (get_local $0) + (get_local $5) (i32.const 8) ) - (i64.load - (i32.add - (get_local $5) - (i32.const 8) - ) - ) ) ) - (drop - (i64.store - (get_local $0) - (i64.load - (get_local $5) - ) + (i64.store + (get_local $0) + (i64.load + (get_local $5) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $5) - (i32.const 16) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $5) + (i32.const 16) ) ) (return) ) (func $sdiv128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (local $5 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 16) + (i32.store offset=4 + (i32.const 0) + (tee_local $5 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 16) ) ) ) - (drop - (call $__divti3 - (get_local $5) - (get_local $1) - (get_local $2) - (get_local $3) - (get_local $4) - ) + (call $__divti3 + (get_local $5) + (get_local $1) + (get_local $2) + (get_local $3) + (get_local $4) ) - (drop - (i64.store + (i64.store + (i32.add + (get_local $0) + (i32.const 8) + ) + (i64.load (i32.add - (get_local $0) + (get_local $5) (i32.const 8) ) - (i64.load - (i32.add - (get_local $5) - (i32.const 8) - ) - ) ) ) - (drop - (i64.store - (get_local $0) - (i64.load - (get_local $5) - ) + (i64.store + (get_local $0) + (i64.load + (get_local $5) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $5) - (i32.const 16) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $5) + (i32.const 16) ) ) (return) ) (func $udiv128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (local $5 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 16) + (i32.store offset=4 + (i32.const 0) + (tee_local $5 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 16) ) ) ) - (drop - (call $__udivti3 - (get_local $5) - (get_local $1) - (get_local $2) - (get_local $3) - (get_local $4) - ) + (call $__udivti3 + (get_local $5) + (get_local $1) + (get_local $2) + (get_local $3) + (get_local $4) ) - (drop - (i64.store + (i64.store + (i32.add + (get_local $0) + (i32.const 8) + ) + (i64.load (i32.add - (get_local $0) + (get_local $5) (i32.const 8) ) - (i64.load - (i32.add - (get_local $5) - (i32.const 8) - ) - ) ) ) - (drop - (i64.store - (get_local $0) - (i64.load - (get_local $5) - ) + (i64.store + (get_local $0) + (i64.load + (get_local $5) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $5) - (i32.const 16) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $5) + (i32.const 16) ) ) (return) ) (func $srem128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (local $5 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 16) + (i32.store offset=4 + (i32.const 0) + (tee_local $5 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 16) ) ) ) - (drop - (call $__modti3 - (get_local $5) - (get_local $1) - (get_local $2) - (get_local $3) - (get_local $4) - ) + (call $__modti3 + (get_local $5) + (get_local $1) + (get_local $2) + (get_local $3) + (get_local $4) ) - (drop - (i64.store + (i64.store + (i32.add + (get_local $0) + (i32.const 8) + ) + (i64.load (i32.add - (get_local $0) + (get_local $5) (i32.const 8) ) - (i64.load - (i32.add - (get_local $5) - (i32.const 8) - ) - ) ) ) - (drop - (i64.store - (get_local $0) - (i64.load - (get_local $5) - ) + (i64.store + (get_local $0) + (i64.load + (get_local $5) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $5) - (i32.const 16) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $5) + (i32.const 16) ) ) (return) ) (func $urem128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (local $5 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 16) + (i32.store offset=4 + (i32.const 0) + (tee_local $5 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 16) ) ) ) - (drop - (call $__umodti3 - (get_local $5) - (get_local $1) - (get_local $2) - (get_local $3) - (get_local $4) - ) + (call $__umodti3 + (get_local $5) + (get_local $1) + (get_local $2) + (get_local $3) + (get_local $4) ) - (drop - (i64.store + (i64.store + (i32.add + (get_local $0) + (i32.const 8) + ) + (i64.load (i32.add - (get_local $0) + (get_local $5) (i32.const 8) ) - (i64.load - (i32.add - (get_local $5) - (i32.const 8) - ) - ) ) ) - (drop - (i64.store - (get_local $0) - (i64.load - (get_local $5) - ) + (i64.store + (get_local $0) + (i64.load + (get_local $5) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $5) - (i32.const 16) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $5) + (i32.const 16) ) ) (return) ) (func $and128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 8) - ) - (i64.and - (get_local $2) - (get_local $4) - ) + (i64.store + (i32.add + (get_local $0) + (i32.const 8) + ) + (i64.and + (get_local $2) + (get_local $4) ) ) - (drop - (i64.store - (get_local $0) - (i64.and - (get_local $1) - (get_local $3) - ) + (i64.store + (get_local $0) + (i64.and + (get_local $1) + (get_local $3) ) ) (return) ) (func $or128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 8) - ) - (i64.or - (get_local $2) - (get_local $4) - ) + (i64.store + (i32.add + (get_local $0) + (i32.const 8) + ) + (i64.or + (get_local $2) + (get_local $4) ) ) - (drop - (i64.store - (get_local $0) - (i64.or - (get_local $1) - (get_local $3) - ) + (i64.store + (get_local $0) + (i64.or + (get_local $1) + (get_local $3) ) ) (return) ) (func $xor128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 8) - ) - (i64.xor - (get_local $2) - (get_local $4) - ) + (i64.store + (i32.add + (get_local $0) + (i32.const 8) + ) + (i64.xor + (get_local $2) + (get_local $4) ) ) - (drop - (i64.store - (get_local $0) - (i64.xor - (get_local $1) - (get_local $3) - ) + (i64.store + (get_local $0) + (i64.xor + (get_local $1) + (get_local $3) ) ) (return) ) (func $shl128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (local $5 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 16) + (i32.store offset=4 + (i32.const 0) + (tee_local $5 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 16) ) ) ) - (drop - (call $__ashlti3 - (get_local $5) - (get_local $1) - (get_local $2) - (i32.wrap/i64 - (get_local $3) - ) + (call $__ashlti3 + (get_local $5) + (get_local $1) + (get_local $2) + (i32.wrap/i64 + (get_local $3) ) ) - (drop - (i64.store + (i64.store + (i32.add + (get_local $0) + (i32.const 8) + ) + (i64.load (i32.add - (get_local $0) + (get_local $5) (i32.const 8) ) - (i64.load - (i32.add - (get_local $5) - (i32.const 8) - ) - ) ) ) - (drop - (i64.store - (get_local $0) - (i64.load - (get_local $5) - ) + (i64.store + (get_local $0) + (i64.load + (get_local $5) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $5) - (i32.const 16) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $5) + (i32.const 16) ) ) (return) ) (func $shr128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (local $5 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 16) + (i32.store offset=4 + (i32.const 0) + (tee_local $5 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 16) ) ) ) - (drop - (call $__lshrti3 - (get_local $5) - (get_local $1) - (get_local $2) - (i32.wrap/i64 - (get_local $3) - ) + (call $__lshrti3 + (get_local $5) + (get_local $1) + (get_local $2) + (i32.wrap/i64 + (get_local $3) ) ) - (drop - (i64.store + (i64.store + (i32.add + (get_local $0) + (i32.const 8) + ) + (i64.load (i32.add - (get_local $0) + (get_local $5) (i32.const 8) ) - (i64.load - (i32.add - (get_local $5) - (i32.const 8) - ) - ) ) ) - (drop - (i64.store - (get_local $0) - (i64.load - (get_local $5) - ) + (i64.store + (get_local $0) + (i64.load + (get_local $5) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $5) - (i32.const 16) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $5) + (i32.const 16) ) ) (return) ) (func $sar128 (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (local $5 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 16) + (i32.store offset=4 + (i32.const 0) + (tee_local $5 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 16) ) ) ) - (drop - (call $__ashrti3 - (get_local $5) - (get_local $1) - (get_local $2) - (i32.wrap/i64 - (get_local $3) - ) + (call $__ashrti3 + (get_local $5) + (get_local $1) + (get_local $2) + (i32.wrap/i64 + (get_local $3) ) ) - (drop - (i64.store + (i64.store + (i32.add + (get_local $0) + (i32.const 8) + ) + (i64.load (i32.add - (get_local $0) + (get_local $5) (i32.const 8) ) - (i64.load - (i32.add - (get_local $5) - (i32.const 8) - ) - ) ) ) - (drop - (i64.store - (get_local $0) - (i64.load - (get_local $5) - ) + (i64.store + (get_local $0) + (i64.load + (get_local $5) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $5) - (i32.const 16) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $5) + (i32.const 16) ) ) (return) ) (func $clz128 (param $0 i32) (param $1 i64) (param $2 i64) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 8) - ) - (i64.const 0) + (i64.store + (i32.add + (get_local $0) + (i32.const 8) ) + (i64.const 0) ) - (drop - (i64.store - (get_local $0) - (select + (i64.store + (get_local $0) + (select + (i64.clz + (get_local $2) + ) + (i64.add (i64.clz - (get_local $2) - ) - (i64.add - (i64.clz - (get_local $1) - ) - (i64.const 64) - ) - (i64.ne - (get_local $2) - (i64.const 0) + (get_local $1) ) + (i64.const 64) + ) + (i64.ne + (get_local $2) + (i64.const 0) ) ) ) (return) ) (func $clz128_zero_undef (param $0 i32) (param $1 i64) (param $2 i64) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 8) - ) - (i64.const 0) + (i64.store + (i32.add + (get_local $0) + (i32.const 8) ) + (i64.const 0) ) - (drop - (i64.store - (get_local $0) - (select + (i64.store + (get_local $0) + (select + (i64.clz + (get_local $2) + ) + (i64.add (i64.clz - (get_local $2) - ) - (i64.add - (i64.clz - (get_local $1) - ) - (i64.const 64) - ) - (i64.ne - (get_local $2) - (i64.const 0) + (get_local $1) ) + (i64.const 64) + ) + (i64.ne + (get_local $2) + (i64.const 0) ) ) ) (return) ) (func $ctz128 (param $0 i32) (param $1 i64) (param $2 i64) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 8) - ) - (i64.const 0) + (i64.store + (i32.add + (get_local $0) + (i32.const 8) ) + (i64.const 0) ) - (drop - (i64.store - (get_local $0) - (select + (i64.store + (get_local $0) + (select + (i64.ctz + (get_local $1) + ) + (i64.add (i64.ctz - (get_local $1) - ) - (i64.add - (i64.ctz - (get_local $2) - ) - (i64.const 64) - ) - (i64.ne - (get_local $1) - (i64.const 0) + (get_local $2) ) + (i64.const 64) + ) + (i64.ne + (get_local $1) + (i64.const 0) ) ) ) (return) ) (func $ctz128_zero_undef (param $0 i32) (param $1 i64) (param $2 i64) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 8) - ) - (i64.const 0) + (i64.store + (i32.add + (get_local $0) + (i32.const 8) ) + (i64.const 0) ) - (drop - (i64.store - (get_local $0) - (select + (i64.store + (get_local $0) + (select + (i64.ctz + (get_local $1) + ) + (i64.add (i64.ctz - (get_local $1) - ) - (i64.add - (i64.ctz - (get_local $2) - ) - (i64.const 64) - ) - (i64.ne - (get_local $1) - (i64.const 0) + (get_local $2) ) + (i64.const 64) + ) + (i64.ne + (get_local $1) + (i64.const 0) ) ) ) (return) ) (func $popcnt128 (param $0 i32) (param $1 i64) (param $2 i64) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 8) - ) - (i64.const 0) + (i64.store + (i32.add + (get_local $0) + (i32.const 8) ) + (i64.const 0) ) - (drop - (i64.store - (get_local $0) - (i64.add - (i64.popcnt - (get_local $1) - ) - (i64.popcnt - (get_local $2) - ) + (i64.store + (get_local $0) + (i64.add + (i64.popcnt + (get_local $1) + ) + (i64.popcnt + (get_local $2) ) ) ) @@ -805,370 +685,322 @@ ) (func $rotl (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (local $5 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 32) + (i32.store offset=4 + (i32.const 0) + (tee_local $5 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 32) ) ) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $5) - (i32.const 16) - ) - (get_local $1) - (get_local $2) - (i32.wrap/i64 - (get_local $3) - ) + (call $__ashlti3 + (i32.add + (get_local $5) + (i32.const 16) + ) + (get_local $1) + (get_local $2) + (i32.wrap/i64 + (get_local $3) ) ) - (drop - (call $__lshrti3 - (get_local $5) - (get_local $1) - (get_local $2) - (i32.wrap/i64 - (i64.sub - (i64.const 128) - (get_local $3) - ) + (call $__lshrti3 + (get_local $5) + (get_local $1) + (get_local $2) + (i32.wrap/i64 + (i64.sub + (i64.const 128) + (get_local $3) ) ) ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 8) - ) - (i64.or - (i64.load - (i32.add - (i32.add - (get_local $5) - (i32.const 16) - ) - (i32.const 8) - ) - ) - (i64.load + (i64.store + (i32.add + (get_local $0) + (i32.const 8) + ) + (i64.or + (i64.load + (i32.add (i32.add (get_local $5) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) - ) - ) - (drop - (i64.store - (get_local $0) - (i64.or - (i64.load offset=16 - (get_local $5) - ) - (i64.load + (i64.load + (i32.add (get_local $5) + (i32.const 8) ) ) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add + (i64.store + (get_local $0) + (i64.or + (i64.load offset=16 + (get_local $5) + ) + (i64.load (get_local $5) - (i32.const 32) ) ) ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $5) + (i32.const 32) + ) + ) (return) ) (func $masked_rotl (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (local $5 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 32) - ) - ) - ) - ) - (drop - (call $__ashlti3 - (i32.add - (get_local $5) - (i32.const 16) - ) - (get_local $1) - (get_local $2) - (i32.wrap/i64 - (tee_local $3 - (i64.and - (get_local $3) - (i64.const 127) - ) + (i32.store offset=4 + (i32.const 0) + (tee_local $5 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 32) ) ) ) - (drop - (call $__lshrti3 + (call $__ashlti3 + (i32.add (get_local $5) - (get_local $1) - (get_local $2) - (i32.wrap/i64 - (i64.sub - (i64.const 128) + (i32.const 16) + ) + (get_local $1) + (get_local $2) + (i32.wrap/i64 + (tee_local $3 + (i64.and (get_local $3) + (i64.const 127) ) ) ) ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 8) + (call $__lshrti3 + (get_local $5) + (get_local $1) + (get_local $2) + (i32.wrap/i64 + (i64.sub + (i64.const 128) + (get_local $3) ) - (i64.or - (i64.load - (i32.add - (i32.add - (get_local $5) - (i32.const 16) - ) - (i32.const 8) - ) - ) - (i64.load + ) + ) + (i64.store + (i32.add + (get_local $0) + (i32.const 8) + ) + (i64.or + (i64.load + (i32.add (i32.add (get_local $5) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) - ) - ) - (drop - (i64.store - (get_local $0) - (i64.or - (i64.load offset=16 - (get_local $5) - ) - (i64.load + (i64.load + (i32.add (get_local $5) + (i32.const 8) ) ) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add + (i64.store + (get_local $0) + (i64.or + (i64.load offset=16 (get_local $5) - (i32.const 32) ) + (i64.load + (get_local $5) + ) + ) + ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $5) + (i32.const 32) ) ) (return) ) (func $rotr (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (local $5 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 32) + (i32.store offset=4 + (i32.const 0) + (tee_local $5 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 32) ) ) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $5) - (i32.const 16) - ) - (get_local $1) - (get_local $2) - (i32.wrap/i64 - (get_local $3) - ) + (call $__lshrti3 + (i32.add + (get_local $5) + (i32.const 16) + ) + (get_local $1) + (get_local $2) + (i32.wrap/i64 + (get_local $3) ) ) - (drop - (call $__ashlti3 - (get_local $5) - (get_local $1) - (get_local $2) - (i32.wrap/i64 - (i64.sub - (i64.const 128) - (get_local $3) - ) + (call $__ashlti3 + (get_local $5) + (get_local $1) + (get_local $2) + (i32.wrap/i64 + (i64.sub + (i64.const 128) + (get_local $3) ) ) ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 8) - ) - (i64.or - (i64.load - (i32.add - (i32.add - (get_local $5) - (i32.const 16) - ) - (i32.const 8) - ) - ) - (i64.load + (i64.store + (i32.add + (get_local $0) + (i32.const 8) + ) + (i64.or + (i64.load + (i32.add (i32.add (get_local $5) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) - ) - ) - (drop - (i64.store - (get_local $0) - (i64.or - (i64.load offset=16 - (get_local $5) - ) - (i64.load + (i64.load + (i32.add (get_local $5) + (i32.const 8) ) ) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add + (i64.store + (get_local $0) + (i64.or + (i64.load offset=16 + (get_local $5) + ) + (i64.load (get_local $5) - (i32.const 32) ) ) ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $5) + (i32.const 32) + ) + ) (return) ) (func $masked_rotr (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (local $5 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $5 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 32) - ) - ) - ) - ) - (drop - (call $__lshrti3 - (i32.add - (get_local $5) - (i32.const 16) - ) - (get_local $1) - (get_local $2) - (i32.wrap/i64 - (tee_local $3 - (i64.and - (get_local $3) - (i64.const 127) - ) + (i32.store offset=4 + (i32.const 0) + (tee_local $5 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 32) ) ) ) - (drop - (call $__ashlti3 + (call $__lshrti3 + (i32.add (get_local $5) - (get_local $1) - (get_local $2) - (i32.wrap/i64 - (i64.sub - (i64.const 128) + (i32.const 16) + ) + (get_local $1) + (get_local $2) + (i32.wrap/i64 + (tee_local $3 + (i64.and (get_local $3) + (i64.const 127) ) ) ) ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 8) + (call $__ashlti3 + (get_local $5) + (get_local $1) + (get_local $2) + (i32.wrap/i64 + (i64.sub + (i64.const 128) + (get_local $3) ) - (i64.or - (i64.load - (i32.add - (i32.add - (get_local $5) - (i32.const 16) - ) - (i32.const 8) - ) - ) - (i64.load + ) + ) + (i64.store + (i32.add + (get_local $0) + (i32.const 8) + ) + (i64.or + (i64.load + (i32.add (i32.add (get_local $5) - (i32.const 8) + (i32.const 16) ) + (i32.const 8) ) ) - ) - ) - (drop - (i64.store - (get_local $0) - (i64.or - (i64.load offset=16 - (get_local $5) - ) - (i64.load + (i64.load + (i32.add (get_local $5) + (i32.const 8) ) ) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add + (i64.store + (get_local $0) + (i64.or + (i64.load offset=16 (get_local $5) - (i32.const 32) ) + (i64.load + (get_local $5) + ) + ) + ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $5) + (i32.const 32) ) ) (return) diff --git a/test/llvm_autogenerated/i32-load-store-alignment.wast b/test/llvm_autogenerated/i32-load-store-alignment.wast index e111b7110..eb22b9e8a 100644 --- a/test/llvm_autogenerated/i32-load-store-alignment.wast +++ b/test/llvm_autogenerated/i32-load-store-alignment.wast @@ -93,92 +93,72 @@ ) ) (func $sti32_a1 (param $0 i32) (param $1 i32) - (drop - (i32.store align=1 - (get_local $0) - (get_local $1) - ) + (i32.store align=1 + (get_local $0) + (get_local $1) ) (return) ) (func $sti32_a2 (param $0 i32) (param $1 i32) - (drop - (i32.store align=2 - (get_local $0) - (get_local $1) - ) + (i32.store align=2 + (get_local $0) + (get_local $1) ) (return) ) (func $sti32_a4 (param $0 i32) (param $1 i32) - (drop - (i32.store - (get_local $0) - (get_local $1) - ) + (i32.store + (get_local $0) + (get_local $1) ) (return) ) (func $sti32 (param $0 i32) (param $1 i32) - (drop - (i32.store - (get_local $0) - (get_local $1) - ) + (i32.store + (get_local $0) + (get_local $1) ) (return) ) (func $sti32_a8 (param $0 i32) (param $1 i32) - (drop - (i32.store - (get_local $0) - (get_local $1) - ) + (i32.store + (get_local $0) + (get_local $1) ) (return) ) (func $sti8_a1 (param $0 i32) (param $1 i32) - (drop - (i32.store8 - (get_local $0) - (get_local $1) - ) + (i32.store8 + (get_local $0) + (get_local $1) ) (return) ) (func $sti8_a2 (param $0 i32) (param $1 i32) - (drop - (i32.store8 - (get_local $0) - (get_local $1) - ) + (i32.store8 + (get_local $0) + (get_local $1) ) (return) ) (func $sti16_a1 (param $0 i32) (param $1 i32) - (drop - (i32.store16 align=1 - (get_local $0) - (get_local $1) - ) + (i32.store16 align=1 + (get_local $0) + (get_local $1) ) (return) ) (func $sti16_a2 (param $0 i32) (param $1 i32) - (drop - (i32.store16 - (get_local $0) - (get_local $1) - ) + (i32.store16 + (get_local $0) + (get_local $1) ) (return) ) (func $sti16_a4 (param $0 i32) (param $1 i32) - (drop - (i32.store16 - (get_local $0) - (get_local $1) - ) + (i32.store16 + (get_local $0) + (get_local $1) ) (return) ) diff --git a/test/llvm_autogenerated/i64-load-store-alignment.wast b/test/llvm_autogenerated/i64-load-store-alignment.wast index 40987cba8..b820c436e 100644 --- a/test/llvm_autogenerated/i64-load-store-alignment.wast +++ b/test/llvm_autogenerated/i64-load-store-alignment.wast @@ -138,137 +138,107 @@ ) ) (func $sti64_a1 (param $0 i32) (param $1 i64) - (drop - (i64.store align=1 - (get_local $0) - (get_local $1) - ) + (i64.store align=1 + (get_local $0) + (get_local $1) ) (return) ) (func $sti64_a2 (param $0 i32) (param $1 i64) - (drop - (i64.store align=2 - (get_local $0) - (get_local $1) - ) + (i64.store align=2 + (get_local $0) + (get_local $1) ) (return) ) (func $sti64_a4 (param $0 i32) (param $1 i64) - (drop - (i64.store align=4 - (get_local $0) - (get_local $1) - ) + (i64.store align=4 + (get_local $0) + (get_local $1) ) (return) ) (func $sti64_a8 (param $0 i32) (param $1 i64) - (drop - (i64.store - (get_local $0) - (get_local $1) - ) + (i64.store + (get_local $0) + (get_local $1) ) (return) ) (func $sti64 (param $0 i32) (param $1 i64) - (drop - (i64.store - (get_local $0) - (get_local $1) - ) + (i64.store + (get_local $0) + (get_local $1) ) (return) ) (func $sti64_a16 (param $0 i32) (param $1 i64) - (drop - (i64.store - (get_local $0) - (get_local $1) - ) + (i64.store + (get_local $0) + (get_local $1) ) (return) ) (func $sti8_a1 (param $0 i32) (param $1 i64) - (drop - (i64.store8 - (get_local $0) - (get_local $1) - ) + (i64.store8 + (get_local $0) + (get_local $1) ) (return) ) (func $sti8_a2 (param $0 i32) (param $1 i64) - (drop - (i64.store8 - (get_local $0) - (get_local $1) - ) + (i64.store8 + (get_local $0) + (get_local $1) ) (return) ) (func $sti16_a1 (param $0 i32) (param $1 i64) - (drop - (i64.store16 align=1 - (get_local $0) - (get_local $1) - ) + (i64.store16 align=1 + (get_local $0) + (get_local $1) ) (return) ) (func $sti16_a2 (param $0 i32) (param $1 i64) - (drop - (i64.store16 - (get_local $0) - (get_local $1) - ) + (i64.store16 + (get_local $0) + (get_local $1) ) (return) ) (func $sti16_a4 (param $0 i32) (param $1 i64) - (drop - (i64.store16 - (get_local $0) - (get_local $1) - ) + (i64.store16 + (get_local $0) + (get_local $1) ) (return) ) (func $sti32_a1 (param $0 i32) (param $1 i64) - (drop - (i64.store align=1 - (get_local $0) - (get_local $1) - ) + (i64.store align=1 + (get_local $0) + (get_local $1) ) (return) ) (func $sti32_a2 (param $0 i32) (param $1 i64) - (drop - (i64.store align=2 - (get_local $0) - (get_local $1) - ) + (i64.store align=2 + (get_local $0) + (get_local $1) ) (return) ) (func $sti32_a4 (param $0 i32) (param $1 i64) - (drop - (i64.store - (get_local $0) - (get_local $1) - ) + (i64.store + (get_local $0) + (get_local $1) ) (return) ) (func $sti32_a8 (param $0 i32) (param $1 i64) - (drop - (i64.store - (get_local $0) - (get_local $1) - ) + (i64.store + (get_local $0) + (get_local $1) ) (return) ) diff --git a/test/llvm_autogenerated/irreducible-cfg.wast b/test/llvm_autogenerated/irreducible-cfg.wast index c1816bf3e..5eb100784 100644 --- a/test/llvm_autogenerated/irreducible-cfg.wast +++ b/test/llvm_autogenerated/irreducible-cfg.wast @@ -61,24 +61,22 @@ ) (br $label$2) ) - (drop - (f64.store align=4 - (tee_local $2 - (i32.add - (get_local $0) - (i32.shl - (get_local $5) - (i32.const 3) - ) + (f64.store align=4 + (tee_local $2 + (i32.add + (get_local $0) + (i32.shl + (get_local $5) + (i32.const 3) ) ) - (tee_local $4 - (f64.mul - (f64.load align=4 - (get_local $2) - ) - (f64.const 2.3) + ) + (tee_local $4 + (f64.mul + (f64.load align=4 + (get_local $2) ) + (f64.const 2.3) ) ) ) @@ -87,20 +85,18 @@ ) (br $label$2) ) - (drop - (f64.store align=4 - (i32.add - (get_local $0) - (i32.shl - (get_local $5) - (i32.const 3) - ) - ) - (f64.add - (get_local $4) - (f64.const 1.3) + (f64.store align=4 + (i32.add + (get_local $0) + (i32.shl + (get_local $5) + (i32.const 3) ) ) + (f64.add + (get_local $4) + (f64.const 1.3) + ) ) (set_local $5 (i32.add @@ -183,24 +179,22 @@ ) (br $label$2) ) - (drop - (f64.store align=4 - (tee_local $2 - (i32.add - (get_local $0) - (i32.shl - (get_local $5) - (i32.const 3) - ) + (f64.store align=4 + (tee_local $2 + (i32.add + (get_local $0) + (i32.shl + (get_local $5) + (i32.const 3) ) ) - (tee_local $4 - (f64.mul - (f64.load align=4 - (get_local $2) - ) - (f64.const 2.3) + ) + (tee_local $4 + (f64.mul + (f64.load align=4 + (get_local $2) ) + (f64.const 2.3) ) ) ) @@ -228,20 +222,18 @@ ) (br $label$2) ) - (drop - (f64.store align=4 - (i32.add - (get_local $0) - (i32.shl - (get_local $5) - (i32.const 3) - ) - ) - (f64.add - (get_local $4) - (f64.const 1.3) + (f64.store align=4 + (i32.add + (get_local $0) + (i32.shl + (get_local $5) + (i32.const 3) ) ) + (f64.add + (get_local $4) + (f64.const 1.3) + ) ) (set_local $5 (i32.add diff --git a/test/llvm_autogenerated/legalize.wast b/test/llvm_autogenerated/legalize.wast index 4c32851ed..af9a5b617 100644 --- a/test/llvm_autogenerated/legalize.wast +++ b/test/llvm_autogenerated/legalize.wast @@ -83,1342 +83,1145 @@ (local $50 i32) (local $51 i32) (local $52 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $52 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 1024) + (i32.store offset=4 + (i32.const 0) + (tee_local $52 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 1024) ) ) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 512) - ) - (get_local $1) - (get_local $2) - (tee_local $33 - (i32.wrap/i64 - (get_local $17) - ) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 512) + ) + (get_local $1) + (get_local $2) + (tee_local $33 + (i32.wrap/i64 + (get_local $17) ) ) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 528) - ) - (get_local $3) - (get_local $4) - (get_local $33) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 528) ) + (get_local $3) + (get_local $4) + (get_local $33) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 544) - ) - (get_local $1) - (get_local $2) - (tee_local $41 - (i32.sub - (i32.const 128) - (get_local $33) - ) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 544) + ) + (get_local $1) + (get_local $2) + (tee_local $41 + (i32.sub + (i32.const 128) + (get_local $33) ) ) ) - (drop - (call $__ashlti3 + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 560) + ) + (get_local $1) + (get_local $2) + (tee_local $42 (i32.add - (get_local $52) - (i32.const 560) - ) - (get_local $1) - (get_local $2) - (tee_local $42 - (i32.add - (get_local $33) - (i32.const -128) - ) + (get_local $33) + (i32.const -128) ) ) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 736) - ) - (get_local $1) - (get_local $2) - (tee_local $43 - (i32.sub - (i32.const 384) - (get_local $33) - ) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 736) + ) + (get_local $1) + (get_local $2) + (tee_local $43 + (i32.sub + (i32.const 384) + (get_local $33) ) ) ) - (drop - (call $__ashlti3 + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 720) + ) + (get_local $3) + (get_local $4) + (tee_local $34 (i32.add - (get_local $52) - (i32.const 720) - ) - (get_local $3) - (get_local $4) - (tee_local $34 - (i32.add - (get_local $33) - (i32.const -256) - ) + (get_local $33) + (i32.const -256) ) ) ) - (drop - (call $__ashlti3 + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 752) + ) + (get_local $1) + (get_local $2) + (tee_local $39 (i32.add - (get_local $52) - (i32.const 752) - ) - (get_local $1) - (get_local $2) - (tee_local $39 - (i32.add - (get_local $33) - (i32.const -384) - ) + (get_local $33) + (i32.const -384) ) ) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 592) - ) - (get_local $7) - (get_local $8) - (get_local $33) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 592) ) + (get_local $7) + (get_local $8) + (get_local $33) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 608) - ) - (get_local $5) - (get_local $6) - (get_local $41) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 608) ) + (get_local $5) + (get_local $6) + (get_local $41) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 624) - ) - (get_local $5) - (get_local $6) - (get_local $42) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 624) ) + (get_local $5) + (get_local $6) + (get_local $42) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 688) - ) - (get_local $3) - (get_local $4) - (tee_local $35 - (i32.sub - (i32.const 256) - (get_local $33) - ) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 688) + ) + (get_local $3) + (get_local $4) + (tee_local $35 + (i32.sub + (i32.const 256) + (get_local $33) ) ) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 640) - ) - (get_local $1) - (get_local $2) - (get_local $35) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 640) ) + (get_local $1) + (get_local $2) + (get_local $35) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 656) - ) - (get_local $3) - (get_local $4) - (tee_local $50 - (i32.sub - (i32.const 128) - (get_local $35) - ) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 656) + ) + (get_local $3) + (get_local $4) + (tee_local $50 + (i32.sub + (i32.const 128) + (get_local $35) ) ) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 672) - ) - (get_local $3) - (get_local $4) - (get_local $41) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 672) ) + (get_local $3) + (get_local $4) + (get_local $41) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 576) - ) - (get_local $5) - (get_local $6) - (get_local $33) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 576) ) + (get_local $5) + (get_local $6) + (get_local $33) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 704) - ) - (get_local $1) - (get_local $2) - (get_local $34) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 704) + ) + (get_local $1) + (get_local $2) + (get_local $34) + ) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 480) + ) + (get_local $1) + (get_local $2) + (i32.sub + (i32.const 896) + (get_local $33) ) ) - (drop - (call $__lshrti3 + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 464) + ) + (get_local $3) + (get_local $4) + (tee_local $36 (i32.add - (get_local $52) - (i32.const 480) - ) - (get_local $1) - (get_local $2) - (i32.sub - (i32.const 896) (get_local $33) + (i32.const -768) ) ) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 464) - ) - (get_local $3) - (get_local $4) - (tee_local $36 - (i32.add - (get_local $33) - (i32.const -768) - ) - ) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 496) + ) + (get_local $1) + (get_local $2) + (i32.add + (get_local $33) + (i32.const -896) ) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 496) - ) - (get_local $1) - (get_local $2) - (i32.add + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 352) + ) + (get_local $5) + (get_local $6) + (tee_local $45 + (i32.sub + (i32.const 640) (get_local $33) - (i32.const -896) ) ) ) - (drop - (call $__lshrti3 + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 336) + ) + (get_local $7) + (get_local $8) + (tee_local $37 (i32.add - (get_local $52) - (i32.const 352) - ) - (get_local $5) - (get_local $6) - (tee_local $45 - (i32.sub - (i32.const 640) - (get_local $33) - ) + (get_local $33) + (i32.const -512) ) ) ) - (drop - (call $__ashlti3 + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 368) + ) + (get_local $5) + (get_local $6) + (tee_local $51 (i32.add - (get_local $52) - (i32.const 336) - ) - (get_local $7) - (get_local $8) - (tee_local $37 - (i32.add - (get_local $33) - (i32.const -512) - ) + (get_local $33) + (i32.const -640) ) ) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 368) - ) - (get_local $5) - (get_local $6) - (tee_local $51 - (i32.add - (get_local $33) - (i32.const -640) - ) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 432) + ) + (get_local $3) + (get_local $4) + (tee_local $38 + (i32.sub + (i32.const 768) + (get_local $33) ) ) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 432) - ) - (get_local $3) - (get_local $4) - (tee_local $38 - (i32.sub - (i32.const 768) - (get_local $33) - ) - ) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 864) ) + (get_local $9) + (get_local $10) + (get_local $43) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 864) - ) - (get_local $9) - (get_local $10) - (get_local $43) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 848) ) + (get_local $11) + (get_local $12) + (get_local $34) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 848) - ) - (get_local $11) - (get_local $12) - (get_local $34) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 880) ) + (get_local $9) + (get_local $10) + (get_local $39) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 880) - ) - (get_local $9) - (get_local $10) - (get_local $39) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 1008) ) + (get_local $15) + (get_local $16) + (get_local $33) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 1008) - ) - (get_local $15) - (get_local $16) - (get_local $33) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 960) ) + (get_local $13) + (get_local $14) + (get_local $41) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 960) - ) - (get_local $13) - (get_local $14) - (get_local $41) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 976) ) + (get_local $13) + (get_local $14) + (get_local $42) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 976) - ) - (get_local $13) - (get_local $14) - (get_local $42) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 816) ) + (get_local $11) + (get_local $12) + (get_local $35) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 816) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 240) + ) + (get_local $7) + (get_local $8) + (tee_local $39 + (i32.sub + (i32.const 512) + (get_local $33) ) - (get_local $11) - (get_local $12) - (get_local $35) ) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 240) - ) - (get_local $7) - (get_local $8) - (tee_local $39 - (i32.sub - (i32.const 512) - (get_local $33) - ) - ) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 192) ) + (get_local $5) + (get_local $6) + (get_local $39) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 192) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 208) + ) + (get_local $7) + (get_local $8) + (tee_local $44 + (i32.sub + (i32.const 128) + (get_local $39) ) - (get_local $5) - (get_local $6) - (get_local $39) ) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 208) - ) - (get_local $7) - (get_local $8) - (tee_local $44 - (i32.sub - (i32.const 128) - (get_local $39) - ) - ) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 224) ) + (get_local $7) + (get_local $8) + (get_local $43) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 224) - ) - (get_local $7) - (get_local $8) - (get_local $43) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 768) ) + (get_local $9) + (get_local $10) + (get_local $35) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 768) - ) - (get_local $9) - (get_local $10) - (get_local $35) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 784) ) + (get_local $11) + (get_local $12) + (get_local $50) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 784) - ) - (get_local $11) - (get_local $12) - (get_local $50) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 800) ) + (get_local $11) + (get_local $12) + (get_local $41) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 800) - ) - (get_local $11) - (get_local $12) - (get_local $41) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 992) ) + (get_local $13) + (get_local $14) + (get_local $33) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 992) - ) - (get_local $13) - (get_local $14) - (get_local $33) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 832) ) + (get_local $9) + (get_local $10) + (get_local $34) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 832) - ) - (get_local $9) - (get_local $10) - (get_local $34) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 384) ) + (get_local $1) + (get_local $2) + (get_local $38) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 384) - ) - (get_local $1) - (get_local $2) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 400) + ) + (get_local $3) + (get_local $4) + (i32.sub + (i32.const 128) (get_local $38) ) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 400) - ) - (get_local $3) - (get_local $4) - (i32.sub - (i32.const 128) - (get_local $38) - ) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 416) ) + (get_local $3) + (get_local $4) + (get_local $45) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 416) - ) - (get_local $3) - (get_local $4) - (get_local $45) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 320) ) + (get_local $5) + (get_local $6) + (get_local $37) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 320) - ) - (get_local $5) - (get_local $6) - (get_local $37) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 448) ) + (get_local $1) + (get_local $2) + (get_local $36) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 448) - ) - (get_local $1) - (get_local $2) - (get_local $36) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 128) ) + (get_local $5) + (get_local $6) + (get_local $35) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 128) - ) - (get_local $5) - (get_local $6) - (get_local $35) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 144) ) - ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 144) - ) - (get_local $7) - (get_local $8) - (i32.sub - (i32.const 384) - (get_local $39) - ) + (get_local $7) + (get_local $8) + (i32.sub + (i32.const 384) + (get_local $39) ) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 160) - ) - (get_local $7) - (get_local $8) - (get_local $41) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 160) ) + (get_local $7) + (get_local $8) + (get_local $41) ) - (drop - (call $__lshrti3 + (call $__lshrti3 + (get_local $52) + (get_local $1) + (get_local $2) + (get_local $39) + ) + (call $__ashlti3 + (i32.add (get_local $52) - (get_local $1) - (get_local $2) - (get_local $39) + (i32.const 16) ) + (get_local $3) + (get_local $4) + (get_local $44) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 16) - ) - (get_local $3) - (get_local $4) - (get_local $44) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 32) ) + (get_local $3) + (get_local $4) + (get_local $43) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 32) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 64) + ) + (get_local $5) + (get_local $6) + (tee_local $40 + (i32.sub + (i32.const 256) + (get_local $39) ) - (get_local $3) - (get_local $4) - (get_local $43) ) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 64) - ) - (get_local $5) - (get_local $6) - (tee_local $40 - (i32.sub - (i32.const 256) - (get_local $39) - ) - ) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 896) ) + (get_local $9) + (get_local $10) + (get_local $33) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 896) - ) - (get_local $9) - (get_local $10) - (get_local $33) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 256) ) + (get_local $1) + (get_local $2) + (get_local $37) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 256) - ) - (get_local $1) - (get_local $2) - (get_local $37) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 912) ) + (get_local $11) + (get_local $12) + (get_local $33) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 912) - ) - (get_local $11) - (get_local $12) - (get_local $33) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 928) ) + (get_local $9) + (get_local $10) + (get_local $41) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 928) - ) - (get_local $9) - (get_local $10) - (get_local $41) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 944) ) + (get_local $9) + (get_local $10) + (get_local $42) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 944) - ) - (get_local $9) - (get_local $10) - (get_local $42) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 80) ) + (get_local $7) + (get_local $8) + (get_local $40) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 80) - ) - (get_local $7) - (get_local $8) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 96) + ) + (get_local $5) + (get_local $6) + (i32.sub + (i32.const 128) (get_local $40) ) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 96) - ) - (get_local $5) - (get_local $6) - (i32.sub - (i32.const 128) - (get_local $40) - ) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 112) ) + (get_local $5) + (get_local $6) + (get_local $44) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 112) - ) - (get_local $5) - (get_local $6) - (get_local $44) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 48) ) + (get_local $3) + (get_local $4) + (get_local $39) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 48) - ) - (get_local $3) - (get_local $4) - (get_local $39) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 176) ) + (get_local $7) + (get_local $8) + (get_local $35) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 176) - ) - (get_local $7) - (get_local $8) - (get_local $35) + (call $__lshrti3 + (i32.add + (get_local $52) + (i32.const 288) ) + (get_local $1) + (get_local $2) + (get_local $45) ) - (drop - (call $__lshrti3 - (i32.add - (get_local $52) - (i32.const 288) - ) - (get_local $1) - (get_local $2) - (get_local $45) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 272) ) + (get_local $3) + (get_local $4) + (get_local $37) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 272) - ) - (get_local $3) - (get_local $4) - (get_local $37) + (call $__ashlti3 + (i32.add + (get_local $52) + (i32.const 304) ) + (get_local $1) + (get_local $2) + (get_local $51) ) - (drop - (call $__ashlti3 - (i32.add - (get_local $52) - (i32.const 304) - ) - (get_local $1) - (get_local $2) - (get_local $51) + (i64.store + (i32.add + (get_local $0) + (i32.const 8) ) - ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 8) - ) + (select (select (select - (select - (i64.load + (i64.load + (i32.add (i32.add - (i32.add - (get_local $52) - (i32.const 512) - ) - (i32.const 8) - ) - ) - (i64.const 0) - (tee_local $41 - (i32.lt_u - (get_local $33) - (i32.const 128) + (get_local $52) + (i32.const 512) ) + (i32.const 8) ) ) (i64.const 0) - (tee_local $42 + (tee_local $41 (i32.lt_u (get_local $33) - (i32.const 256) + (i32.const 128) ) ) ) (i64.const 0) - (tee_local $43 + (tee_local $42 (i32.lt_u (get_local $33) - (i32.const 512) + (i32.const 256) ) ) ) + (i64.const 0) + (tee_local $43 + (i32.lt_u + (get_local $33) + (i32.const 512) + ) + ) ) ) - (drop - (i64.store - (get_local $0) + (i64.store + (get_local $0) + (select (select (select - (select - (i64.load offset=512 - (get_local $52) - ) - (i64.const 0) - (get_local $41) + (i64.load offset=512 + (get_local $52) ) (i64.const 0) - (get_local $42) + (get_local $41) ) (i64.const 0) - (get_local $43) + (get_local $42) ) + (i64.const 0) + (get_local $43) ) ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 24) - ) + (i64.store + (i32.add + (get_local $0) + (i32.const 24) + ) + (select (select (select (select - (select - (i64.or - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 528) - ) - (i32.const 8) - ) - ) - (i64.load + (i64.or + (i64.load + (i32.add (i32.add - (i32.add - (get_local $52) - (i32.const 544) - ) - (i32.const 8) + (get_local $52) + (i32.const 528) ) + (i32.const 8) ) ) (i64.load (i32.add (i32.add (get_local $52) - (i32.const 560) + (i32.const 544) ) (i32.const 8) ) ) - (get_local $41) ) - (get_local $4) - (get_local $33) + (i64.load + (i32.add + (i32.add + (get_local $52) + (i32.const 560) + ) + (i32.const 8) + ) + ) + (get_local $41) ) - (i64.const 0) - (get_local $42) + (get_local $4) + (get_local $33) ) (i64.const 0) - (get_local $43) + (get_local $42) ) + (i64.const 0) + (get_local $43) ) ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 16) - ) + (i64.store + (i32.add + (get_local $0) + (i32.const 16) + ) + (select (select (select (select - (select - (i64.or - (i64.load offset=528 - (get_local $52) - ) - (i64.load offset=544 - (get_local $52) - ) + (i64.or + (i64.load offset=528 + (get_local $52) ) - (i64.load offset=560 + (i64.load offset=544 (get_local $52) ) - (get_local $41) ) - (get_local $3) - (get_local $33) + (i64.load offset=560 + (get_local $52) + ) + (get_local $41) ) - (i64.const 0) - (get_local $42) + (get_local $3) + (get_local $33) ) (i64.const 0) - (get_local $43) + (get_local $42) ) + (i64.const 0) + (get_local $43) ) ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 56) - ) + (i64.store + (i32.add + (get_local $0) + (i32.const 56) + ) + (select (select (select - (select - (i64.or + (i64.or + (select (select - (select - (i64.or - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 592) - ) - (i32.const 8) - ) - ) - (i64.load + (i64.or + (i64.load + (i32.add (i32.add - (i32.add - (get_local $52) - (i32.const 608) - ) - (i32.const 8) + (get_local $52) + (i32.const 592) ) + (i32.const 8) ) ) (i64.load (i32.add (i32.add (get_local $52) - (i32.const 624) + (i32.const 608) ) (i32.const 8) ) ) - (get_local $41) ) - (get_local $8) - (get_local $33) - ) - (select (i64.load (i32.add (i32.add (get_local $52) - (i32.const 688) + (i32.const 624) ) (i32.const 8) ) ) - (i64.const 0) - (tee_local $45 - (i32.lt_u - (get_local $35) - (i32.const 128) + (get_local $41) + ) + (get_local $8) + (get_local $33) + ) + (select + (i64.load + (i32.add + (i32.add + (get_local $52) + (i32.const 688) ) + (i32.const 8) + ) + ) + (i64.const 0) + (tee_local $45 + (i32.lt_u + (get_local $35) + (i32.const 128) ) ) ) + ) + (select (select - (select - (i64.or - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 720) - ) - (i32.const 8) - ) - ) - (i64.load + (i64.or + (i64.load + (i32.add (i32.add - (i32.add - (get_local $52) - (i32.const 736) - ) - (i32.const 8) + (get_local $52) + (i32.const 720) ) + (i32.const 8) ) ) (i64.load (i32.add (i32.add (get_local $52) - (i32.const 752) + (i32.const 736) ) (i32.const 8) ) ) - (tee_local $44 - (i32.lt_u - (get_local $34) - (i32.const 128) + ) + (i64.load + (i32.add + (i32.add + (get_local $52) + (i32.const 752) ) + (i32.const 8) + ) + ) + (tee_local $44 + (i32.lt_u + (get_local $34) + (i32.const 128) ) ) - (get_local $4) - (get_local $34) ) - (get_local $42) + (get_local $4) + (get_local $34) ) - (get_local $8) - (get_local $33) + (get_local $42) ) - (i64.const 0) - (get_local $43) + (get_local $8) + (get_local $33) ) + (i64.const 0) + (get_local $43) ) ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 48) - ) + (i64.store + (i32.add + (get_local $0) + (i32.const 48) + ) + (select (select (select - (select - (i64.or + (i64.or + (select (select - (select - (i64.or - (i64.load offset=592 - (get_local $52) - ) - (i64.load offset=608 - (get_local $52) - ) + (i64.or + (i64.load offset=592 + (get_local $52) ) - (i64.load offset=624 + (i64.load offset=608 (get_local $52) ) - (get_local $41) ) - (get_local $7) - (get_local $33) - ) - (select - (i64.load offset=688 + (i64.load offset=624 (get_local $52) ) - (i64.const 0) - (get_local $45) + (get_local $41) ) + (get_local $7) + (get_local $33) ) (select - (select - (i64.or - (i64.load offset=720 - (get_local $52) - ) - (i64.load offset=736 - (get_local $52) - ) + (i64.load offset=688 + (get_local $52) + ) + (i64.const 0) + (get_local $45) + ) + ) + (select + (select + (i64.or + (i64.load offset=720 + (get_local $52) ) - (i64.load offset=752 + (i64.load offset=736 (get_local $52) ) - (get_local $44) ) - (get_local $3) - (get_local $34) + (i64.load offset=752 + (get_local $52) + ) + (get_local $44) ) - (get_local $42) + (get_local $3) + (get_local $34) ) - (get_local $7) - (get_local $33) + (get_local $42) ) - (i64.const 0) - (get_local $43) + (get_local $7) + (get_local $33) ) + (i64.const 0) + (get_local $43) ) ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 40) - ) + (i64.store + (i32.add + (get_local $0) + (i32.const 40) + ) + (select (select (select - (select - (i64.or - (select - (i64.load + (i64.or + (select + (i64.load + (i32.add (i32.add - (i32.add - (get_local $52) - (i32.const 576) - ) - (i32.const 8) + (get_local $52) + (i32.const 576) ) + (i32.const 8) ) - (i64.const 0) - (get_local $41) ) + (i64.const 0) + (get_local $41) + ) + (select (select - (select - (i64.or - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 640) - ) - (i32.const 8) - ) - ) - (i64.load + (i64.or + (i64.load + (i32.add (i32.add - (i32.add - (get_local $52) - (i32.const 656) - ) - (i32.const 8) + (get_local $52) + (i32.const 640) ) + (i32.const 8) ) ) (i64.load (i32.add (i32.add (get_local $52) - (i32.const 672) + (i32.const 656) ) (i32.const 8) ) ) - (get_local $45) ) - (get_local $2) - (get_local $35) + (i64.load + (i32.add + (i32.add + (get_local $52) + (i32.const 672) + ) + (i32.const 8) + ) + ) + (get_local $45) ) + (get_local $2) + (get_local $35) ) - (select - (i64.load + ) + (select + (i64.load + (i32.add (i32.add - (i32.add - (get_local $52) - (i32.const 704) - ) - (i32.const 8) + (get_local $52) + (i32.const 704) ) + (i32.const 8) ) - (i64.const 0) - (get_local $44) ) - (get_local $42) + (i64.const 0) + (get_local $44) ) - (get_local $6) - (get_local $33) + (get_local $42) ) - (i64.const 0) - (get_local $43) + (get_local $6) + (get_local $33) ) + (i64.const 0) + (get_local $43) ) ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 32) - ) + (i64.store + (i32.add + (get_local $0) + (i32.const 32) + ) + (select (select (select - (select - (i64.or - (select - (i64.load offset=576 - (get_local $52) - ) - (i64.const 0) - (get_local $41) + (i64.or + (select + (i64.load offset=576 + (get_local $52) ) + (i64.const 0) + (get_local $41) + ) + (select (select - (select - (i64.or - (i64.load offset=640 - (get_local $52) - ) - (i64.load offset=656 - (get_local $52) - ) + (i64.or + (i64.load offset=640 + (get_local $52) ) - (i64.load offset=672 + (i64.load offset=656 (get_local $52) ) - (get_local $45) ) - (get_local $1) - (get_local $35) + (i64.load offset=672 + (get_local $52) + ) + (get_local $45) ) + (get_local $1) + (get_local $35) ) - (select - (i64.load offset=704 - (get_local $52) - ) - (i64.const 0) - (get_local $44) + ) + (select + (i64.load offset=704 + (get_local $52) ) - (get_local $42) + (i64.const 0) + (get_local $44) ) - (get_local $5) - (get_local $33) + (get_local $42) ) - (i64.const 0) - (get_local $43) + (get_local $5) + (get_local $33) ) + (i64.const 0) + (get_local $43) ) ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 120) - ) + (i64.store + (i32.add + (get_local $0) + (i32.const 120) + ) + (select (select - (select - (i64.or + (i64.or + (select (select - (select - (i64.or - (select - (select - (i64.or - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 1008) - ) - (i32.const 8) - ) - ) - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 960) - ) - (i32.const 8) - ) - ) - ) - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 976) - ) - (i32.const 8) - ) - ) - (get_local $41) - ) - (get_local $16) - (get_local $33) - ) - (select - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 816) - ) - (i32.const 8) - ) - ) - (i64.const 0) - (get_local $45) - ) - ) + (i64.or (select (select (i64.or @@ -1426,7 +1229,7 @@ (i32.add (i32.add (get_local $52) - (i32.const 848) + (i32.const 1008) ) (i32.const 8) ) @@ -1435,7 +1238,7 @@ (i32.add (i32.add (get_local $52) - (i32.const 864) + (i32.const 960) ) (i32.const 8) ) @@ -1445,112 +1248,102 @@ (i32.add (i32.add (get_local $52) - (i32.const 880) + (i32.const 976) ) (i32.const 8) ) ) - (get_local $44) + (get_local $41) ) - (get_local $12) - (get_local $34) + (get_local $16) + (get_local $33) ) - (get_local $42) - ) - (get_local $16) - (get_local $33) - ) - (select - (select - (i64.load - (i32.add + (select + (i64.load (i32.add - (get_local $52) - (i32.const 240) + (i32.add + (get_local $52) + (i32.const 816) + ) + (i32.const 8) ) - (i32.const 8) ) - ) - (i64.const 0) - (tee_local $50 - (i32.lt_u - (get_local $39) - (i32.const 128) - ) - ) - ) - (i64.const 0) - (tee_local $51 - (i32.lt_u - (get_local $39) - (i32.const 256) + (i64.const 0) + (get_local $45) ) ) - ) - ) - (select - (select - (i64.or + (select (select - (select - (i64.or - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 336) - ) - (i32.const 8) - ) - ) - (i64.load + (i64.or + (i64.load + (i32.add (i32.add - (i32.add - (get_local $52) - (i32.const 352) - ) - (i32.const 8) + (get_local $52) + (i32.const 848) ) + (i32.const 8) ) ) (i64.load (i32.add (i32.add (get_local $52) - (i32.const 368) + (i32.const 864) ) (i32.const 8) ) ) - (tee_local $47 - (i32.lt_u - (get_local $37) - (i32.const 128) - ) - ) ) - (get_local $8) - (get_local $37) - ) - (select (i64.load (i32.add (i32.add (get_local $52) - (i32.const 432) + (i32.const 880) ) (i32.const 8) ) ) - (i64.const 0) - (tee_local $48 - (i32.lt_u - (get_local $38) - (i32.const 128) - ) + (get_local $44) + ) + (get_local $12) + (get_local $34) + ) + (get_local $42) + ) + (get_local $16) + (get_local $33) + ) + (select + (select + (i64.load + (i32.add + (i32.add + (get_local $52) + (i32.const 240) ) + (i32.const 8) ) ) + (i64.const 0) + (tee_local $50 + (i32.lt_u + (get_local $39) + (i32.const 128) + ) + ) + ) + (i64.const 0) + (tee_local $51 + (i32.lt_u + (get_local $39) + (i32.const 256) + ) + ) + ) + ) + (select + (select + (i64.or (select (select (i64.or @@ -1558,7 +1351,7 @@ (i32.add (i32.add (get_local $52) - (i32.const 464) + (i32.const 336) ) (i32.const 8) ) @@ -1567,7 +1360,7 @@ (i32.add (i32.add (get_local $52) - (i32.const 480) + (i32.const 352) ) (i32.const 8) ) @@ -1577,291 +1370,235 @@ (i32.add (i32.add (get_local $52) - (i32.const 496) + (i32.const 368) ) (i32.const 8) ) ) - (tee_local $46 + (tee_local $47 (i32.lt_u - (get_local $36) + (get_local $37) (i32.const 128) ) ) ) - (get_local $4) - (get_local $36) + (get_local $8) + (get_local $37) ) - (tee_local $49 - (i32.lt_u - (get_local $37) - (i32.const 256) + (select + (i64.load + (i32.add + (i32.add + (get_local $52) + (i32.const 432) + ) + (i32.const 8) + ) + ) + (i64.const 0) + (tee_local $48 + (i32.lt_u + (get_local $38) + (i32.const 128) + ) ) ) ) - (get_local $8) - (get_local $37) - ) - (get_local $43) - ) - (get_local $16) - (get_local $33) - ) - ) - ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 112) - ) - (select - (select - (i64.or (select (select (i64.or - (select - (select - (i64.or - (i64.load offset=1008 - (get_local $52) - ) - (i64.load offset=960 - (get_local $52) - ) - ) - (i64.load offset=976 + (i64.load + (i32.add + (i32.add (get_local $52) + (i32.const 464) ) - (get_local $41) - ) - (get_local $15) - (get_local $33) - ) - (select - (i64.load offset=816 - (get_local $52) + (i32.const 8) ) - (i64.const 0) - (get_local $45) ) - ) - (select - (select - (i64.or - (i64.load offset=848 - (get_local $52) - ) - (i64.load offset=864 + (i64.load + (i32.add + (i32.add (get_local $52) + (i32.const 480) ) + (i32.const 8) ) - (i64.load offset=880 + ) + ) + (i64.load + (i32.add + (i32.add (get_local $52) + (i32.const 496) ) - (get_local $44) + (i32.const 8) + ) + ) + (tee_local $46 + (i32.lt_u + (get_local $36) + (i32.const 128) ) - (get_local $11) - (get_local $34) ) - (get_local $42) ) - (get_local $15) - (get_local $33) + (get_local $4) + (get_local $36) ) - (select - (select - (i64.load offset=240 - (get_local $52) - ) - (i64.const 0) - (get_local $50) + (tee_local $49 + (i32.lt_u + (get_local $37) + (i32.const 256) ) - (i64.const 0) - (get_local $51) ) ) + (get_local $8) + (get_local $37) + ) + (get_local $43) + ) + (get_local $16) + (get_local $33) + ) + ) + (i64.store + (i32.add + (get_local $0) + (i32.const 112) + ) + (select + (select + (i64.or (select (select (i64.or (select (select (i64.or - (i64.load offset=336 + (i64.load offset=1008 (get_local $52) ) - (i64.load offset=352 + (i64.load offset=960 (get_local $52) ) ) - (i64.load offset=368 + (i64.load offset=976 (get_local $52) ) - (get_local $47) + (get_local $41) ) - (get_local $7) - (get_local $37) + (get_local $15) + (get_local $33) ) (select - (i64.load offset=432 + (i64.load offset=816 (get_local $52) ) (i64.const 0) - (get_local $48) + (get_local $45) ) ) (select (select (i64.or - (i64.load offset=464 + (i64.load offset=848 (get_local $52) ) - (i64.load offset=480 + (i64.load offset=864 (get_local $52) ) ) - (i64.load offset=496 + (i64.load offset=880 (get_local $52) ) - (get_local $46) + (get_local $44) ) - (get_local $3) - (get_local $36) + (get_local $11) + (get_local $34) ) - (get_local $49) + (get_local $42) ) - (get_local $7) - (get_local $37) + (get_local $15) + (get_local $33) + ) + (select + (select + (i64.load offset=240 + (get_local $52) + ) + (i64.const 0) + (get_local $50) + ) + (i64.const 0) + (get_local $51) ) - (get_local $43) ) - (get_local $15) - (get_local $33) - ) - ) - ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 104) - ) - (select (select - (i64.or - (select + (select + (i64.or (select - (i64.or - (select - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 992) - ) - (i32.const 8) - ) + (select + (i64.or + (i64.load offset=336 + (get_local $52) ) - (i64.const 0) - (get_local $41) - ) - (select - (select - (i64.or - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 768) - ) - (i32.const 8) - ) - ) - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 784) - ) - (i32.const 8) - ) - ) - ) - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 800) - ) - (i32.const 8) - ) - ) - (get_local $45) + (i64.load offset=352 + (get_local $52) ) - (get_local $10) - (get_local $35) ) - ) - (select - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 832) - ) - (i32.const 8) - ) + (i64.load offset=368 + (get_local $52) ) - (i64.const 0) - (get_local $44) + (get_local $47) ) - (get_local $42) + (get_local $7) + (get_local $37) + ) + (select + (i64.load offset=432 + (get_local $52) + ) + (i64.const 0) + (get_local $48) ) - (get_local $14) - (get_local $33) ) (select (select - (select - (i64.or - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 192) - ) - (i32.const 8) - ) - ) - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 208) - ) - (i32.const 8) - ) - ) + (i64.or + (i64.load offset=464 + (get_local $52) ) - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 224) - ) - (i32.const 8) - ) + (i64.load offset=480 + (get_local $52) ) - (get_local $50) ) - (get_local $6) - (get_local $39) + (i64.load offset=496 + (get_local $52) + ) + (get_local $46) ) - (i64.const 0) - (get_local $51) + (get_local $3) + (get_local $36) ) + (get_local $49) ) + (get_local $7) + (get_local $37) + ) + (get_local $43) + ) + (get_local $15) + (get_local $33) + ) + ) + (i64.store + (i32.add + (get_local $0) + (i32.const 104) + ) + (select + (select + (i64.or (select (select (i64.or @@ -1870,13 +1607,13 @@ (i32.add (i32.add (get_local $52) - (i32.const 320) + (i32.const 992) ) (i32.const 8) ) ) (i64.const 0) - (get_local $47) + (get_local $41) ) (select (select @@ -1885,7 +1622,7 @@ (i32.add (i32.add (get_local $52) - (i32.const 384) + (i32.const 768) ) (i32.const 8) ) @@ -1894,7 +1631,7 @@ (i32.add (i32.add (get_local $52) - (i32.const 400) + (i32.const 784) ) (i32.const 8) ) @@ -1904,15 +1641,15 @@ (i32.add (i32.add (get_local $52) - (i32.const 416) + (i32.const 800) ) (i32.const 8) ) ) - (get_local $48) + (get_local $45) ) - (get_local $2) - (get_local $38) + (get_local $10) + (get_local $35) ) ) (select @@ -1920,662 +1657,761 @@ (i32.add (i32.add (get_local $52) - (i32.const 448) + (i32.const 832) ) (i32.const 8) ) ) (i64.const 0) - (get_local $46) + (get_local $44) ) - (get_local $49) + (get_local $42) ) - (get_local $6) - (get_local $37) + (get_local $14) + (get_local $33) ) - (get_local $43) - ) - (get_local $14) - (get_local $33) - ) - ) - ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 96) - ) - (select - (select - (i64.or + (select (select (select (i64.or - (select - (i64.load offset=992 - (get_local $52) + (i64.load + (i32.add + (i32.add + (get_local $52) + (i32.const 192) + ) + (i32.const 8) ) - (i64.const 0) - (get_local $41) ) - (select - (select - (i64.or - (i64.load offset=768 - (get_local $52) - ) - (i64.load offset=784 - (get_local $52) - ) - ) - (i64.load offset=800 + (i64.load + (i32.add + (i32.add (get_local $52) + (i32.const 208) ) - (get_local $45) + (i32.const 8) ) - (get_local $9) - (get_local $35) ) ) - (select - (i64.load offset=832 - (get_local $52) + (i64.load + (i32.add + (i32.add + (get_local $52) + (i32.const 224) + ) + (i32.const 8) ) - (i64.const 0) - (get_local $44) ) - (get_local $42) + (get_local $50) ) - (get_local $13) - (get_local $33) + (get_local $6) + (get_local $39) ) - (select + (i64.const 0) + (get_local $51) + ) + ) + (select + (select + (i64.or + (select + (i64.load + (i32.add + (i32.add + (get_local $52) + (i32.const 320) + ) + (i32.const 8) + ) + ) + (i64.const 0) + (get_local $47) + ) (select (select (i64.or - (i64.load offset=192 - (get_local $52) + (i64.load + (i32.add + (i32.add + (get_local $52) + (i32.const 384) + ) + (i32.const 8) + ) ) - (i64.load offset=208 - (get_local $52) + (i64.load + (i32.add + (i32.add + (get_local $52) + (i32.const 400) + ) + (i32.const 8) + ) ) ) - (i64.load offset=224 + (i64.load + (i32.add + (i32.add + (get_local $52) + (i32.const 416) + ) + (i32.const 8) + ) + ) + (get_local $48) + ) + (get_local $2) + (get_local $38) + ) + ) + (select + (i64.load + (i32.add + (i32.add (get_local $52) + (i32.const 448) ) - (get_local $50) + (i32.const 8) ) - (get_local $5) - (get_local $39) ) (i64.const 0) - (get_local $51) + (get_local $46) ) + (get_local $49) ) + (get_local $6) + (get_local $37) + ) + (get_local $43) + ) + (get_local $14) + (get_local $33) + ) + ) + (i64.store + (i32.add + (get_local $0) + (i32.const 96) + ) + (select + (select + (i64.or (select (select (i64.or (select - (i64.load offset=320 + (i64.load offset=992 (get_local $52) ) (i64.const 0) - (get_local $47) + (get_local $41) ) (select (select (i64.or - (i64.load offset=384 + (i64.load offset=768 (get_local $52) ) - (i64.load offset=400 + (i64.load offset=784 (get_local $52) ) ) - (i64.load offset=416 + (i64.load offset=800 (get_local $52) ) - (get_local $48) + (get_local $45) ) - (get_local $1) - (get_local $38) + (get_local $9) + (get_local $35) ) ) (select - (i64.load offset=448 + (i64.load offset=832 (get_local $52) ) (i64.const 0) - (get_local $46) + (get_local $44) ) - (get_local $49) + (get_local $42) ) - (get_local $5) - (get_local $37) + (get_local $13) + (get_local $33) + ) + (select + (select + (select + (i64.or + (i64.load offset=192 + (get_local $52) + ) + (i64.load offset=208 + (get_local $52) + ) + ) + (i64.load offset=224 + (get_local $52) + ) + (get_local $50) + ) + (get_local $5) + (get_local $39) + ) + (i64.const 0) + (get_local $51) ) - (get_local $43) ) - (get_local $13) - (get_local $33) + (select + (select + (i64.or + (select + (i64.load offset=320 + (get_local $52) + ) + (i64.const 0) + (get_local $47) + ) + (select + (select + (i64.or + (i64.load offset=384 + (get_local $52) + ) + (i64.load offset=400 + (get_local $52) + ) + ) + (i64.load offset=416 + (get_local $52) + ) + (get_local $48) + ) + (get_local $1) + (get_local $38) + ) + ) + (select + (i64.load offset=448 + (get_local $52) + ) + (i64.const 0) + (get_local $46) + ) + (get_local $49) + ) + (get_local $5) + (get_local $37) + ) + (get_local $43) ) + (get_local $13) + (get_local $33) ) ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 72) - ) + (i64.store + (i32.add + (get_local $0) + (i32.const 72) + ) + (select (select - (select - (i64.or + (i64.or + (select (select - (select - (i64.load + (i64.load + (i32.add (i32.add - (i32.add - (get_local $52) - (i32.const 896) - ) - (i32.const 8) + (get_local $52) + (i32.const 896) ) + (i32.const 8) ) - (i64.const 0) - (get_local $41) ) (i64.const 0) - (get_local $42) + (get_local $41) ) + (i64.const 0) + (get_local $42) + ) + (select (select - (select - (i64.or + (i64.or + (select (select - (select - (i64.or - (i64.load - (i32.add - (get_local $52) - (i32.const 8) - ) - ) - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 16) - ) - (i32.const 8) - ) + (i64.or + (i64.load + (i32.add + (get_local $52) + (i32.const 8) ) ) (i64.load (i32.add (i32.add (get_local $52) - (i32.const 32) + (i32.const 16) ) (i32.const 8) ) ) - (get_local $50) ) - (get_local $2) - (get_local $39) - ) - (select (i64.load (i32.add (i32.add (get_local $52) - (i32.const 64) + (i32.const 32) ) (i32.const 8) ) ) - (i64.const 0) - (tee_local $34 - (i32.lt_u - (get_local $40) - (i32.const 128) + (get_local $50) + ) + (get_local $2) + (get_local $39) + ) + (select + (i64.load + (i32.add + (i32.add + (get_local $52) + (i32.const 64) ) + (i32.const 8) + ) + ) + (i64.const 0) + (tee_local $34 + (i32.lt_u + (get_local $40) + (i32.const 128) ) ) ) + ) + (select (select - (select - (i64.or - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 128) - ) - (i32.const 8) - ) - ) - (i64.load + (i64.or + (i64.load + (i32.add (i32.add - (i32.add - (get_local $52) - (i32.const 144) - ) - (i32.const 8) + (get_local $52) + (i32.const 128) ) + (i32.const 8) ) ) (i64.load (i32.add (i32.add (get_local $52) - (i32.const 160) + (i32.const 144) ) (i32.const 8) ) ) - (get_local $45) ) - (get_local $6) - (get_local $35) + (i64.load + (i32.add + (i32.add + (get_local $52) + (i32.const 160) + ) + (i32.const 8) + ) + ) + (get_local $45) ) - (get_local $51) + (get_local $6) + (get_local $35) ) - (get_local $2) - (get_local $39) + (get_local $51) ) + (get_local $2) + (get_local $39) ) + ) + (select (select - (select - (i64.load + (i64.load + (i32.add (i32.add - (i32.add - (get_local $52) - (i32.const 256) - ) - (i32.const 8) + (get_local $52) + (i32.const 256) ) + (i32.const 8) ) - (i64.const 0) - (get_local $47) ) (i64.const 0) - (get_local $49) + (get_local $47) ) - (get_local $43) + (i64.const 0) + (get_local $49) ) - (get_local $10) - (get_local $33) + (get_local $43) ) + (get_local $10) + (get_local $33) ) ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 64) - ) + (i64.store + (i32.add + (get_local $0) + (i32.const 64) + ) + (select (select - (select - (i64.or + (i64.or + (select (select - (select - (i64.load offset=896 - (get_local $52) - ) - (i64.const 0) - (get_local $41) + (i64.load offset=896 + (get_local $52) ) (i64.const 0) - (get_local $42) + (get_local $41) ) + (i64.const 0) + (get_local $42) + ) + (select (select - (select - (i64.or + (i64.or + (select (select - (select - (i64.or - (i64.load - (get_local $52) - ) - (i64.load offset=16 - (get_local $52) - ) + (i64.or + (i64.load + (get_local $52) ) - (i64.load offset=32 + (i64.load offset=16 (get_local $52) ) - (get_local $50) ) - (get_local $1) - (get_local $39) - ) - (select - (i64.load offset=64 + (i64.load offset=32 (get_local $52) ) - (i64.const 0) - (get_local $34) + (get_local $50) ) + (get_local $1) + (get_local $39) ) (select - (select - (i64.or - (i64.load offset=128 - (get_local $52) - ) - (i64.load offset=144 - (get_local $52) - ) + (i64.load offset=64 + (get_local $52) + ) + (i64.const 0) + (get_local $34) + ) + ) + (select + (select + (i64.or + (i64.load offset=128 + (get_local $52) ) - (i64.load offset=160 + (i64.load offset=144 (get_local $52) ) - (get_local $45) ) - (get_local $5) - (get_local $35) + (i64.load offset=160 + (get_local $52) + ) + (get_local $45) ) - (get_local $51) + (get_local $5) + (get_local $35) ) - (get_local $1) - (get_local $39) + (get_local $51) ) + (get_local $1) + (get_local $39) ) + ) + (select (select - (select - (i64.load offset=256 - (get_local $52) - ) - (i64.const 0) - (get_local $47) + (i64.load offset=256 + (get_local $52) ) (i64.const 0) - (get_local $49) + (get_local $47) ) - (get_local $43) + (i64.const 0) + (get_local $49) ) - (get_local $9) - (get_local $33) + (get_local $43) ) + (get_local $9) + (get_local $33) ) ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 88) - ) + (i64.store + (i32.add + (get_local $0) + (i32.const 88) + ) + (select (select - (select - (i64.or + (i64.or + (select (select (select - (select - (i64.or - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 912) - ) - (i32.const 8) - ) - ) - (i64.load + (i64.or + (i64.load + (i32.add (i32.add - (i32.add - (get_local $52) - (i32.const 928) - ) - (i32.const 8) + (get_local $52) + (i32.const 912) ) + (i32.const 8) ) ) (i64.load (i32.add (i32.add (get_local $52) - (i32.const 944) + (i32.const 928) ) (i32.const 8) ) ) - (get_local $41) ) - (get_local $12) - (get_local $33) + (i64.load + (i32.add + (i32.add + (get_local $52) + (i32.const 944) + ) + (i32.const 8) + ) + ) + (get_local $41) ) - (i64.const 0) - (get_local $42) + (get_local $12) + (get_local $33) ) + (i64.const 0) + (get_local $42) + ) + (select (select - (select - (i64.or - (select - (i64.load + (i64.or + (select + (i64.load + (i32.add (i32.add - (i32.add - (get_local $52) - (i32.const 48) - ) - (i32.const 8) + (get_local $52) + (i32.const 48) ) + (i32.const 8) ) - (i64.const 0) - (get_local $50) ) + (i64.const 0) + (get_local $50) + ) + (select (select - (select - (i64.or - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 80) - ) - (i32.const 8) - ) - ) - (i64.load + (i64.or + (i64.load + (i32.add (i32.add - (i32.add - (get_local $52) - (i32.const 96) - ) - (i32.const 8) + (get_local $52) + (i32.const 80) ) + (i32.const 8) ) ) (i64.load (i32.add (i32.add (get_local $52) - (i32.const 112) + (i32.const 96) ) (i32.const 8) ) ) - (get_local $34) ) - (get_local $8) - (get_local $40) + (i64.load + (i32.add + (i32.add + (get_local $52) + (i32.const 112) + ) + (i32.const 8) + ) + ) + (get_local $34) ) + (get_local $8) + (get_local $40) ) - (select - (i64.load + ) + (select + (i64.load + (i32.add (i32.add - (i32.add - (get_local $52) - (i32.const 176) - ) - (i32.const 8) + (get_local $52) + (i32.const 176) ) + (i32.const 8) ) - (i64.const 0) - (get_local $45) ) - (get_local $51) + (i64.const 0) + (get_local $45) ) - (get_local $4) - (get_local $39) + (get_local $51) ) + (get_local $4) + (get_local $39) ) + ) + (select (select (select - (select - (i64.or - (i64.load - (i32.add - (i32.add - (get_local $52) - (i32.const 272) - ) - (i32.const 8) - ) - ) - (i64.load + (i64.or + (i64.load + (i32.add (i32.add - (i32.add - (get_local $52) - (i32.const 288) - ) - (i32.const 8) + (get_local $52) + (i32.const 272) ) + (i32.const 8) ) ) (i64.load (i32.add (i32.add (get_local $52) - (i32.const 304) + (i32.const 288) ) (i32.const 8) ) ) - (get_local $47) ) - (get_local $4) - (get_local $37) + (i64.load + (i32.add + (i32.add + (get_local $52) + (i32.const 304) + ) + (i32.const 8) + ) + ) + (get_local $47) ) - (i64.const 0) - (get_local $49) + (get_local $4) + (get_local $37) ) - (get_local $43) + (i64.const 0) + (get_local $49) ) - (get_local $12) - (get_local $33) + (get_local $43) ) + (get_local $12) + (get_local $33) ) ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 80) - ) + (i64.store + (i32.add + (get_local $0) + (i32.const 80) + ) + (select (select - (select - (i64.or + (i64.or + (select (select (select - (select - (i64.or - (i64.load offset=912 - (get_local $52) - ) - (i64.load offset=928 - (get_local $52) - ) + (i64.or + (i64.load offset=912 + (get_local $52) ) - (i64.load offset=944 + (i64.load offset=928 (get_local $52) ) - (get_local $41) ) - (get_local $11) - (get_local $33) + (i64.load offset=944 + (get_local $52) + ) + (get_local $41) ) - (i64.const 0) - (get_local $42) + (get_local $11) + (get_local $33) ) + (i64.const 0) + (get_local $42) + ) + (select (select - (select - (i64.or - (select - (i64.load offset=48 - (get_local $52) - ) - (i64.const 0) - (get_local $50) + (i64.or + (select + (i64.load offset=48 + (get_local $52) ) + (i64.const 0) + (get_local $50) + ) + (select (select - (select - (i64.or - (i64.load offset=80 - (get_local $52) - ) - (i64.load offset=96 - (get_local $52) - ) + (i64.or + (i64.load offset=80 + (get_local $52) ) - (i64.load offset=112 + (i64.load offset=96 (get_local $52) ) - (get_local $34) ) - (get_local $7) - (get_local $40) + (i64.load offset=112 + (get_local $52) + ) + (get_local $34) ) + (get_local $7) + (get_local $40) ) - (select - (i64.load offset=176 - (get_local $52) - ) - (i64.const 0) - (get_local $45) + ) + (select + (i64.load offset=176 + (get_local $52) ) - (get_local $51) + (i64.const 0) + (get_local $45) ) - (get_local $3) - (get_local $39) + (get_local $51) ) + (get_local $3) + (get_local $39) ) + ) + (select (select (select - (select - (i64.or - (i64.load offset=272 - (get_local $52) - ) - (i64.load offset=288 - (get_local $52) - ) + (i64.or + (i64.load offset=272 + (get_local $52) ) - (i64.load offset=304 + (i64.load offset=288 (get_local $52) ) - (get_local $47) ) - (get_local $3) - (get_local $37) + (i64.load offset=304 + (get_local $52) + ) + (get_local $47) ) - (i64.const 0) - (get_local $49) + (get_local $3) + (get_local $37) ) - (get_local $43) + (i64.const 0) + (get_local $49) ) - (get_local $11) - (get_local $33) + (get_local $43) ) + (get_local $11) + (get_local $33) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $52) - (i32.const 1024) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $52) + (i32.const 1024) ) ) (return) diff --git a/test/llvm_autogenerated/load-store-i1.wast b/test/llvm_autogenerated/load-store-i1.wast index b34bb5133..3ec46de00 100644 --- a/test/llvm_autogenerated/load-store-i1.wast +++ b/test/llvm_autogenerated/load-store-i1.wast @@ -49,25 +49,21 @@ ) ) (func $store_i32_i1 (param $0 i32) (param $1 i32) - (drop - (i32.store8 - (get_local $0) - (i32.and - (get_local $1) - (i32.const 1) - ) + (i32.store8 + (get_local $0) + (i32.and + (get_local $1) + (i32.const 1) ) ) (return) ) (func $store_i64_i1 (param $0 i32) (param $1 i64) - (drop - (i64.store8 - (get_local $0) - (i64.and - (get_local $1) - (i64.const 1) - ) + (i64.store8 + (get_local $0) + (i64.and + (get_local $1) + (i64.const 1) ) ) (return) diff --git a/test/llvm_autogenerated/mem-intrinsics.wast b/test/llvm_autogenerated/mem-intrinsics.wast index 21085a2b2..f15d84071 100644 --- a/test/llvm_autogenerated/mem-intrinsics.wast +++ b/test/llvm_autogenerated/mem-intrinsics.wast @@ -78,16 +78,14 @@ ) (func $frame_index (local $0 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $0 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 4096) + (i32.store offset=4 + (i32.const 0) + (tee_local $0 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 4096) ) ) ) @@ -101,17 +99,15 @@ (i32.const 1024) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (call $memset - (get_local $0) - (i32.const 0) - (i32.const 1024) - ) - (i32.const 4096) + (i32.store offset=4 + (i32.const 0) + (i32.add + (call $memset + (get_local $0) + (i32.const 0) + (i32.const 1024) ) + (i32.const 4096) ) ) (return) @@ -136,9 +132,7 @@ ) ) ) - (drop - (call $block_tail_dup) - ) + (call $block_tail_dup) (return (get_local $0) ) @@ -150,9 +144,7 @@ (get_local $2) ) ) - (drop - (call $block_tail_dup) - ) + (call $block_tail_dup) (return (get_local $0) ) diff --git a/test/llvm_autogenerated/offset.wast b/test/llvm_autogenerated/offset.wast index eab28eecc..c1e3c8e6b 100644 --- a/test/llvm_autogenerated/offset.wast +++ b/test/llvm_autogenerated/offset.wast @@ -115,112 +115,90 @@ ) ) (func $store_i32_with_folded_offset (param $0 i32) - (drop - (i32.store offset=24 - (get_local $0) - (i32.const 0) - ) + (i32.store offset=24 + (get_local $0) + (i32.const 0) ) ) (func $store_i32_with_folded_gep_offset (param $0 i32) - (drop - (i32.store offset=24 - (get_local $0) - (i32.const 0) - ) + (i32.store offset=24 + (get_local $0) + (i32.const 0) ) ) (func $store_i32_with_unfolded_gep_negative_offset (param $0 i32) - (drop - (i32.store - (i32.add - (get_local $0) - (i32.const -24) - ) - (i32.const 0) + (i32.store + (i32.add + (get_local $0) + (i32.const -24) ) + (i32.const 0) ) ) (func $store_i32_with_unfolded_offset (param $0 i32) - (drop - (i32.store - (i32.add - (get_local $0) - (i32.const 24) - ) - (i32.const 0) + (i32.store + (i32.add + (get_local $0) + (i32.const 24) ) + (i32.const 0) ) ) (func $store_i32_with_unfolded_gep_offset (param $0 i32) - (drop - (i32.store - (i32.add - (get_local $0) - (i32.const 24) - ) - (i32.const 0) + (i32.store + (i32.add + (get_local $0) + (i32.const 24) ) + (i32.const 0) ) ) (func $store_i64_with_folded_offset (param $0 i32) - (drop - (i64.store offset=24 - (get_local $0) - (i64.const 0) - ) + (i64.store offset=24 + (get_local $0) + (i64.const 0) ) ) (func $store_i64_with_folded_gep_offset (param $0 i32) - (drop - (i64.store offset=24 - (get_local $0) - (i64.const 0) - ) + (i64.store offset=24 + (get_local $0) + (i64.const 0) ) ) (func $store_i64_with_unfolded_gep_negative_offset (param $0 i32) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const -24) - ) - (i64.const 0) + (i64.store + (i32.add + (get_local $0) + (i32.const -24) ) + (i64.const 0) ) ) (func $store_i64_with_unfolded_offset (param $0 i32) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 24) - ) - (i64.const 0) + (i64.store + (i32.add + (get_local $0) + (i32.const 24) ) + (i64.const 0) ) ) (func $store_i64_with_unfolded_gep_offset (param $0 i32) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 24) - ) - (i64.const 0) + (i64.store + (i32.add + (get_local $0) + (i32.const 24) ) + (i64.const 0) ) ) (func $store_i32_with_folded_or_offset (param $0 i32) - (drop - (i32.store8 offset=2 - (i32.and - (get_local $0) - (i32.const -4) - ) - (i32.const 0) + (i32.store8 offset=2 + (i32.and + (get_local $0) + (i32.const -4) ) + (i32.const 0) ) ) (func $load_i32_from_numeric_address (result i32) @@ -234,19 +212,15 @@ ) ) (func $store_i32_to_numeric_address - (drop - (i32.store offset=42 - (i32.const 0) - (i32.const 0) - ) + (i32.store offset=42 + (i32.const 0) + (i32.const 0) ) ) (func $store_i32_to_global_address - (drop - (i32.store offset=12 - (i32.const 0) - (i32.const 0) - ) + (i32.store offset=12 + (i32.const 0) + (i32.const 0) ) ) (func $load_i8_s_with_folded_offset (param $0 i32) (result i32) @@ -270,19 +244,15 @@ ) ) (func $store_i8_with_folded_offset (param $0 i32) - (drop - (i32.store8 offset=24 - (get_local $0) - (i32.const 0) - ) + (i32.store8 offset=24 + (get_local $0) + (i32.const 0) ) ) (func $store_i8_with_folded_gep_offset (param $0 i32) - (drop - (i32.store8 offset=24 - (get_local $0) - (i32.const 0) - ) + (i32.store8 offset=24 + (get_local $0) + (i32.const 0) ) ) (func $aggregate_load_store (param $0 i32) (param $1 i32) @@ -304,71 +274,51 @@ (get_local $0) ) ) - (drop - (i32.store offset=12 - (get_local $1) - (i32.load offset=12 - (get_local $0) - ) + (i32.store offset=12 + (get_local $1) + (i32.load offset=12 + (get_local $0) ) ) - (drop - (i32.store offset=8 - (get_local $1) - (get_local $4) - ) + (i32.store offset=8 + (get_local $1) + (get_local $4) ) - (drop - (i32.store offset=4 - (get_local $1) - (get_local $3) - ) + (i32.store offset=4 + (get_local $1) + (get_local $3) ) - (drop - (i32.store - (get_local $1) - (get_local $2) - ) + (i32.store + (get_local $1) + (get_local $2) ) ) (func $aggregate_return (param $0 i32) - (drop - (i64.store offset=8 align=4 - (get_local $0) - (i64.const 0) - ) + (i64.store offset=8 align=4 + (get_local $0) + (i64.const 0) ) - (drop - (i64.store align=4 - (get_local $0) - (i64.const 0) - ) + (i64.store align=4 + (get_local $0) + (i64.const 0) ) ) (func $aggregate_return_without_merge (param $0 i32) - (drop - (i32.store8 offset=14 - (get_local $0) - (i32.const 0) - ) + (i32.store8 offset=14 + (get_local $0) + (i32.const 0) ) - (drop - (i32.store16 offset=12 - (get_local $0) - (i32.const 0) - ) + (i32.store16 offset=12 + (get_local $0) + (i32.const 0) ) - (drop - (i32.store offset=8 - (get_local $0) - (i32.const 0) - ) + (i32.store offset=8 + (get_local $0) + (i32.const 0) ) - (drop - (i64.store - (get_local $0) - (i64.const 0) - ) + (i64.store + (get_local $0) + (i64.const 0) ) ) ) diff --git a/test/llvm_autogenerated/reg-stackify.wast b/test/llvm_autogenerated/reg-stackify.wast index 878397f19..390074d81 100644 --- a/test/llvm_autogenerated/reg-stackify.wast +++ b/test/llvm_autogenerated/reg-stackify.wast @@ -51,11 +51,9 @@ (get_local $1) ) ) - (drop - (i32.store - (get_local $0) - (i32.const 0) - ) + (i32.store + (get_local $0) + (i32.const 0) ) (return (get_local $1) @@ -67,22 +65,18 @@ (get_local $1) ) ) - (drop - (i32.store - (get_local $0) - (i32.const 0) - ) + (i32.store + (get_local $0) + (i32.const 0) ) (return (get_local $1) ) ) (func $yes0 (param $0 i32) (param $1 i32) (result i32) - (drop - (i32.store - (get_local $0) - (i32.const 0) - ) + (i32.store + (get_local $0) + (i32.const 0) ) (return (i32.load @@ -98,11 +92,9 @@ ) ) (func $sink_trap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (drop - (i32.store - (get_local $2) - (i32.const 0) - ) + (i32.store + (get_local $2) + (i32.const 0) ) (return (i32.div_s @@ -112,11 +104,9 @@ ) ) (func $sink_readnone_call (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (drop - (i32.store - (get_local $2) - (i32.const 0) - ) + (i32.store + (get_local $2) + (i32.const 0) ) (return (call $readnone_callee) @@ -127,11 +117,9 @@ (set_local $3 (call $readonly_callee) ) - (drop - (i32.store - (get_local $2) - (i32.const 0) - ) + (i32.store + (get_local $2) + (i32.const 0) ) (return (get_local $3) @@ -193,34 +181,24 @@ (get_local $0) ) ) - (drop - (i32.store - (get_local $2) - (get_local $3) - ) + (i32.store + (get_local $2) + (get_local $3) ) ) (return) ) (func $stackify_store_across_side_effects (param $0 i32) - (drop - (i64.store - (get_local $0) - (i64.const 4611686018427387904) - ) - ) - (drop - (call $evoke_side_effects) - ) - (drop - (i64.store - (get_local $0) - (i64.const 4611686018427387904) - ) + (i64.store + (get_local $0) + (i64.const 4611686018427387904) ) - (drop - (call $evoke_side_effects) + (call $evoke_side_effects) + (i64.store + (get_local $0) + (i64.const 4611686018427387904) ) + (call $evoke_side_effects) (return) ) (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) @@ -274,34 +252,28 @@ ) ) (func $simple_multiple_use (param $0 i32) (param $1 i32) - (drop - (call $use_a - (tee_local $1 - (i32.mul - (get_local $1) - (get_local $0) - ) + (call $use_a + (tee_local $1 + (i32.mul + (get_local $1) + (get_local $0) ) ) ) - (drop - (call $use_b - (get_local $1) - ) + (call $use_b + (get_local $1) ) (return) ) (func $multiple_uses_in_same_insn (param $0 i32) (param $1 i32) - (drop - (call $use_2 - (tee_local $1 - (i32.mul - (get_local $1) - (get_local $0) - ) + (call $use_2 + (tee_local $1 + (i32.mul + (get_local $1) + (get_local $0) ) - (get_local $1) ) + (get_local $1) ) (return) ) @@ -487,11 +459,9 @@ ) ) (func $no_stackify_store_past_load (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (drop - (i32.store - (get_local $1) - (get_local $0) - ) + (i32.store + (get_local $1) + (get_local $0) ) (set_local $2 (i32.load @@ -508,11 +478,9 @@ ) ) (func $store_past_invar_load (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (drop - (i32.store - (get_local $1) - (get_local $0) - ) + (i32.store + (get_local $1) + (get_local $0) ) (drop (call $callee @@ -531,16 +499,14 @@ (func $no_stackify_past_epilogue (result i32) (local $0 i32) (local $1 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $1 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 16) + (i32.store offset=4 + (i32.const 0) + (tee_local $1 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 16) ) ) ) @@ -552,13 +518,11 @@ ) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $1) - (i32.const 16) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $1) + (i32.const 16) ) ) (return @@ -572,14 +536,12 @@ ) (block $label$1 (loop $label$0 - (drop - (i32.store - (get_local $1) - (i32.add - (get_local $2) - (i32.load - (get_local $1) - ) + (i32.store + (get_local $1) + (i32.add + (get_local $2) + (i32.load + (get_local $1) ) ) ) @@ -610,11 +572,9 @@ ) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (get_local $1) - ) + (i32.store offset=4 + (i32.const 0) + (get_local $1) ) (return (get_local $0) diff --git a/test/llvm_autogenerated/return-int32.wast b/test/llvm_autogenerated/return-int32.wast index ac77e513b..5e701af83 100644 --- a/test/llvm_autogenerated/return-int32.wast +++ b/test/llvm_autogenerated/return-int32.wast @@ -14,21 +14,17 @@ (get_local $0) ) ) - (drop - (i32.store - (i32.const 0) - (i32.const 0) - ) + (i32.store + (i32.const 0) + (i32.const 0) ) (return (i32.const 1) ) ) - (drop - (i32.store - (i32.const 0) - (i32.const 2) - ) + (i32.store + (i32.const 0) + (i32.const 2) ) (i32.const 3) ) diff --git a/test/llvm_autogenerated/return-void.wast b/test/llvm_autogenerated/return-void.wast index bc0bc9c89..53845c44a 100644 --- a/test/llvm_autogenerated/return-void.wast +++ b/test/llvm_autogenerated/return-void.wast @@ -13,19 +13,15 @@ (get_local $0) ) ) - (drop - (i32.store - (i32.const 0) - (i32.const 0) - ) - ) - (return) - ) - (drop (i32.store (i32.const 0) - (i32.const 1) + (i32.const 0) ) + (return) + ) + (i32.store + (i32.const 0) + (i32.const 1) ) ) ) diff --git a/test/llvm_autogenerated/store-trunc.wast b/test/llvm_autogenerated/store-trunc.wast index 5452b340f..4a6022a5d 100644 --- a/test/llvm_autogenerated/store-trunc.wast +++ b/test/llvm_autogenerated/store-trunc.wast @@ -8,43 +8,33 @@ (export "trunc_i16_i64" (func $trunc_i16_i64)) (export "trunc_i32_i64" (func $trunc_i32_i64)) (func $trunc_i8_i32 (param $0 i32) (param $1 i32) - (drop - (i32.store8 - (get_local $0) - (get_local $1) - ) + (i32.store8 + (get_local $0) + (get_local $1) ) ) (func $trunc_i16_i32 (param $0 i32) (param $1 i32) - (drop - (i32.store16 - (get_local $0) - (get_local $1) - ) + (i32.store16 + (get_local $0) + (get_local $1) ) ) (func $trunc_i8_i64 (param $0 i32) (param $1 i64) - (drop - (i64.store8 - (get_local $0) - (get_local $1) - ) + (i64.store8 + (get_local $0) + (get_local $1) ) ) (func $trunc_i16_i64 (param $0 i32) (param $1 i64) - (drop - (i64.store16 - (get_local $0) - (get_local $1) - ) + (i64.store16 + (get_local $0) + (get_local $1) ) ) (func $trunc_i32_i64 (param $0 i32) (param $1 i64) - (drop - (i64.store - (get_local $0) - (get_local $1) - ) + (i64.store + (get_local $0) + (get_local $1) ) ) ) diff --git a/test/llvm_autogenerated/store.wast b/test/llvm_autogenerated/store.wast index 60c32029a..1c57889e2 100644 --- a/test/llvm_autogenerated/store.wast +++ b/test/llvm_autogenerated/store.wast @@ -7,38 +7,30 @@ (export "stf32" (func $stf32)) (export "stf64" (func $stf64)) (func $sti32 (param $0 i32) (param $1 i32) - (drop - (i32.store - (get_local $0) - (get_local $1) - ) + (i32.store + (get_local $0) + (get_local $1) ) (return) ) (func $sti64 (param $0 i32) (param $1 i64) - (drop - (i64.store - (get_local $0) - (get_local $1) - ) + (i64.store + (get_local $0) + (get_local $1) ) (return) ) (func $stf32 (param $0 i32) (param $1 f32) - (drop - (f32.store - (get_local $0) - (get_local $1) - ) + (f32.store + (get_local $0) + (get_local $1) ) (return) ) (func $stf64 (param $0 i32) (param $1 f64) - (drop - (f64.store - (get_local $0) - (get_local $1) - ) + (f64.store + (get_local $0) + (get_local $1) ) (return) ) diff --git a/test/llvm_autogenerated/switch.wast b/test/llvm_autogenerated/switch.wast index 988fc967a..a106a69b6 100644 --- a/test/llvm_autogenerated/switch.wast +++ b/test/llvm_autogenerated/switch.wast @@ -29,34 +29,22 @@ (get_local $0) ) ) - (drop - (call $foo0) - ) + (call $foo0) (return) ) - (drop - (call $foo1) - ) + (call $foo1) (return) ) - (drop - (call $foo2) - ) + (call $foo2) (return) ) - (drop - (call $foo3) - ) + (call $foo3) (return) ) - (drop - (call $foo4) - ) + (call $foo4) (return) ) - (drop - (call $foo5) - ) + (call $foo5) ) (return) ) @@ -80,34 +68,22 @@ ) ) ) - (drop - (call $foo0) - ) + (call $foo0) (return) ) - (drop - (call $foo1) - ) + (call $foo1) (return) ) - (drop - (call $foo2) - ) + (call $foo2) (return) ) - (drop - (call $foo3) - ) + (call $foo3) (return) ) - (drop - (call $foo4) - ) + (call $foo4) (return) ) - (drop - (call $foo5) - ) + (call $foo5) ) (return) ) diff --git a/test/llvm_autogenerated/unreachable.wast b/test/llvm_autogenerated/unreachable.wast index 837518400..5d45293cf 100644 --- a/test/llvm_autogenerated/unreachable.wast +++ b/test/llvm_autogenerated/unreachable.wast @@ -8,9 +8,7 @@ (export "f2" (func $f2)) (export "f3" (func $f3)) (func $f1 (result i32) - (drop - (call $abort) - ) + (call $abort) (unreachable) ) (func $f2 diff --git a/test/llvm_autogenerated/userstack.wast b/test/llvm_autogenerated/userstack.wast index d9b226378..8883eb112 100644 --- a/test/llvm_autogenerated/userstack.wast +++ b/test/llvm_autogenerated/userstack.wast @@ -20,227 +20,183 @@ (export "inline_asm" (func $inline_asm)) (func $alloca32 (local $0 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $0 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 16) + (i32.store offset=4 + (i32.const 0) + (tee_local $0 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 16) ) ) ) - (drop - (i32.store offset=12 - (get_local $0) - (i32.const 0) - ) + (i32.store offset=12 + (get_local $0) + (i32.const 0) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $0) - (i32.const 16) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $0) + (i32.const 16) ) ) (return) ) (func $alloca3264 (local $0 i32) - (drop - (i32.store offset=12 - (tee_local $0 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 16) + (i32.store offset=12 + (tee_local $0 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 16) ) - (i32.const 0) ) + (i32.const 0) ) - (drop - (i64.store - (get_local $0) - (i64.const 0) - ) + (i64.store + (get_local $0) + (i64.const 0) ) (return) ) (func $allocarray (local $0 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $0 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 144) + (i32.store offset=4 + (i32.const 0) + (tee_local $0 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 144) ) ) ) - (drop - (i32.store - (i32.add - (get_local $0) - (i32.const 24) - ) - (i32.const 1) - ) - ) - (drop - (i32.store offset=12 + (i32.store + (i32.add (get_local $0) - (i32.const 1) + (i32.const 24) ) + (i32.const 1) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $0) - (i32.const 144) - ) + (i32.store offset=12 + (get_local $0) + (i32.const 1) + ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $0) + (i32.const 144) ) ) (return) ) (func $non_mem_use (param $0 i32) (local $1 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $1 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 48) + (i32.store offset=4 + (i32.const 0) + (tee_local $1 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 48) ) ) ) - (drop - (call $ext_func - (i32.add - (get_local $1) - (i32.const 8) - ) - ) - ) - (drop - (call $ext_func + (call $ext_func + (i32.add (get_local $1) + (i32.const 8) ) ) - (drop - (i32.store - (get_local $0) - (i32.add - (get_local $1) - (i32.const 16) - ) + (call $ext_func + (get_local $1) + ) + (i32.store + (get_local $0) + (i32.add + (get_local $1) + (i32.const 16) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $1) - (i32.const 48) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $1) + (i32.const 48) ) ) (return) ) (func $allocarray_inbounds (local $0 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $0 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 32) + (i32.store offset=4 + (i32.const 0) + (tee_local $0 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 32) ) ) ) - (drop - (i32.store offset=24 - (get_local $0) - (i32.const 1) - ) + (i32.store offset=24 + (get_local $0) + (i32.const 1) ) - (drop - (i32.store offset=12 - (get_local $0) - (i32.const 1) - ) + (i32.store offset=12 + (get_local $0) + (i32.const 1) ) - (drop - (call $ext_func - (i32.const 0) - ) + (call $ext_func + (i32.const 0) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $0) - (i32.const 32) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $0) + (i32.const 32) ) ) (return) ) (func $dynamic_alloca (param $0 i32) (local $1 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $0 - (i32.sub - (tee_local $1 - (i32.load offset=4 - (i32.const 0) - ) + (i32.store offset=4 + (i32.const 0) + (tee_local $0 + (i32.sub + (tee_local $1 + (i32.load offset=4 + (i32.const 0) ) - (i32.and - (i32.add - (i32.shl - (get_local $0) - (i32.const 2) - ) - (i32.const 15) + ) + (i32.and + (i32.add + (i32.shl + (get_local $0) + (i32.const 2) ) - (i32.const -16) + (i32.const 15) ) + (i32.const -16) ) ) ) ) - (drop - (call $ext_func_i32 - (get_local $0) - ) + (call $ext_func_i32 + (get_local $0) ) - (drop - (i32.store offset=4 - (i32.const 0) - (get_local $1) - ) + (i32.store offset=4 + (i32.const 0) + (get_local $1) ) (return) ) @@ -270,62 +226,52 @@ ) ) ) - (drop - (i32.store - (get_local $0) - (i32.const 0) - ) + (i32.store + (get_local $0) + (i32.const 0) ) (return) ) (func $dynamic_static_alloca (param $0 i32) (local $1 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $1 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 16) + (i32.store offset=4 + (i32.const 0) + (tee_local $1 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 16) ) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $0 - (i32.sub - (get_local $1) - (i32.and - (i32.add - (i32.shl - (get_local $0) - (i32.const 2) - ) - (i32.const 15) + (i32.store offset=4 + (i32.const 0) + (tee_local $0 + (i32.sub + (get_local $1) + (i32.and + (i32.add + (i32.shl + (get_local $0) + (i32.const 2) ) - (i32.const -16) + (i32.const 15) ) + (i32.const -16) ) ) ) ) - (drop - (i32.store - (get_local $0) - (i32.const 0) - ) + (i32.store + (get_local $0) + (i32.const 0) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $1) - (i32.const 16) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $1) + (i32.const 16) ) ) (return) @@ -351,11 +297,9 @@ ) (block $label$1 (loop $label$0 - (drop - (i32.store - (get_local $2) - (i32.const 1) - ) + (i32.store + (get_local $2) + (i32.const 1) ) (set_local $2 (get_local $1) @@ -369,28 +313,22 @@ ) (func $frameaddress_0 (local $0 i32) - (drop - (call $use_i8_star - (tee_local $0 - (i32.load offset=4 - (i32.const 0) - ) + (call $use_i8_star + (tee_local $0 + (i32.load offset=4 + (i32.const 0) ) ) ) - (drop - (i32.store offset=4 - (i32.const 0) - (get_local $0) - ) + (i32.store offset=4 + (i32.const 0) + (get_local $0) ) (return) ) (func $frameaddress_1 - (drop - (call $use_i8_star - (i32.const 0) - ) + (call $use_i8_star + (i32.const 0) ) (return) ) diff --git a/test/llvm_autogenerated/varargs.wast b/test/llvm_autogenerated/varargs.wast index 2bd953d8e..62d2d9aa4 100644 --- a/test/llvm_autogenerated/varargs.wast +++ b/test/llvm_autogenerated/varargs.wast @@ -15,11 +15,9 @@ (export "caller_some" (func $caller_some)) (export "startbb" (func $startbb)) (func $start (param $0 i32) (param $1 i32) - (drop - (i32.store - (get_local $0) - (get_local $1) - ) + (i32.store + (get_local $0) + (get_local $1) ) (return) ) @@ -27,29 +25,25 @@ (return) ) (func $copy (param $0 i32) (param $1 i32) - (drop - (i32.store - (get_local $0) - (i32.load - (get_local $1) - ) + (i32.store + (get_local $0) + (i32.load + (get_local $1) ) ) (return) ) (func $arg_i8 (param $0 i32) (result i32) (local $1 i32) - (drop - (i32.store - (get_local $0) - (i32.add - (tee_local $1 - (i32.load - (get_local $0) - ) + (i32.store + (get_local $0) + (i32.add + (tee_local $1 + (i32.load + (get_local $0) ) - (i32.const 4) ) + (i32.const 4) ) ) (return @@ -60,23 +54,21 @@ ) (func $arg_i32 (param $0 i32) (result i32) (local $1 i32) - (drop - (i32.store - (get_local $0) - (i32.add - (tee_local $1 - (i32.and - (i32.add - (i32.load - (get_local $0) - ) - (i32.const 3) + (i32.store + (get_local $0) + (i32.add + (tee_local $1 + (i32.and + (i32.add + (i32.load + (get_local $0) ) - (i32.const -4) + (i32.const 3) ) + (i32.const -4) ) - (i32.const 4) ) + (i32.const 4) ) ) (return @@ -89,24 +81,22 @@ (local $2 i32) (local $3 i32) (local $4 i64) - (drop - (i32.store - (get_local $1) - (tee_local $3 - (i32.add - (tee_local $2 - (i32.and - (i32.add - (i32.load - (get_local $1) - ) - (i32.const 7) + (i32.store + (get_local $1) + (tee_local $3 + (i32.add + (tee_local $2 + (i32.and + (i32.add + (i32.load + (get_local $1) ) - (i32.const -8) + (i32.const 7) ) + (i32.const -8) ) - (i32.const 8) ) + (i32.const 8) ) ) ) @@ -115,81 +105,63 @@ (get_local $2) ) ) - (drop - (i32.store - (get_local $1) - (i32.add - (get_local $2) - (i32.const 16) - ) - ) - ) - (drop - (i64.store - (i32.add - (get_local $0) - (i32.const 8) - ) - (i64.load - (get_local $3) - ) + (i32.store + (get_local $1) + (i32.add + (get_local $2) + (i32.const 16) ) ) - (drop - (i64.store + (i64.store + (i32.add (get_local $0) - (get_local $4) + (i32.const 8) + ) + (i64.load + (get_local $3) ) ) + (i64.store + (get_local $0) + (get_local $4) + ) (return) ) (func $caller_none - (drop - (call $callee - (i32.const 0) - ) + (call $callee + (i32.const 0) ) (return) ) (func $caller_some (local $0 i32) - (drop - (i32.store offset=4 - (i32.const 0) - (tee_local $0 - (i32.sub - (i32.load offset=4 - (i32.const 0) - ) - (i32.const 16) + (i32.store offset=4 + (i32.const 0) + (tee_local $0 + (i32.sub + (i32.load offset=4 + (i32.const 0) ) + (i32.const 16) ) ) ) - (drop - (i64.store offset=8 - (get_local $0) - (i64.const 4611686018427387904) - ) + (i64.store offset=8 + (get_local $0) + (i64.const 4611686018427387904) ) - (drop - (i32.store - (get_local $0) - (i32.const 0) - ) + (i32.store + (get_local $0) + (i32.const 0) ) - (drop - (call $callee - (get_local $0) - ) + (call $callee + (get_local $0) ) - (drop - (i32.store offset=4 - (i32.const 0) - (i32.add - (get_local $0) - (i32.const 16) - ) + (i32.store offset=4 + (i32.const 0) + (i32.add + (get_local $0) + (i32.const 16) ) ) (return) @@ -206,11 +178,9 @@ ) (return) ) - (drop - (i32.store - (get_local $1) - (get_local $2) - ) + (i32.store + (get_local $1) + (get_local $2) ) (return) ) |