From 5d40988d32d70df93e24447bc92395aa26d9add4 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Fri, 19 Aug 2022 15:49:18 -0700 Subject: [PATCH 01/12] yolo --- src/wasm/wasm-s-parser.cpp | 31 +- test/heap-types.wast.from-wast | 2 +- test/heap-types.wast.fromBinary | 6 +- test/heap-types.wast.fromBinary.noDebugInfo | 6 +- .../passes/asyncify_enable-multivalue.wast | 4 +- ...yncify-imports@env.import,env.import2.wast | 4 +- test/lit/passes/avoid-reinterprets.wast | 18 +- test/lit/passes/avoid-reinterprets64.wast | 18 +- test/lit/passes/catch-pop-fixup-eh.wast | 24 +- test/lit/passes/coalesce-locals.wast | 10 +- .../passes/code-folding_enable-threads.wast | 32 +- test/lit/passes/dae-gc-refine-params.wast | 4 +- test/lit/passes/dce_all-features.wast | 10 +- test/lit/passes/directize_all-features.wast | 16 +- test/lit/passes/flatten_all-features.wast | 38 +- test/lit/passes/flatten_rereloop.wast | 140 +++--- ...g_souperify-single-use_enable-threads.wast | 22 +- ...ls-nonesting_souperify_enable-threads.wast | 22 +- test/lit/passes/gto-removals.wast | 24 +- test/lit/passes/gufa-refs.wast | 4 +- .../inlining-optimizing_optimize-level=3.wast | 426 +++++++++--------- .../lit/passes/inlining_enable-tail-call.wast | 2 +- test/lit/passes/inlining_splitting.wast | 26 +- test/lit/passes/local-subtyping.wast | 2 +- test/lit/passes/merge-similar-functions.wast | 4 +- test/lit/passes/once-reduction.wast | 4 +- .../passes/optimize-instructions-gc-iit.wast | 6 +- test/lit/passes/optimize-instructions.wast | 26 +- test/lit/passes/poppify.wast | 30 +- test/lit/passes/precompute-gc-immutable.wast | 4 +- test/lit/passes/remove-unused-brs-gc.wast | 14 +- test/lit/passes/remove-unused-brs.wast | 18 +- test/lit/passes/roundtrip-gc.wast | 24 +- test/lit/passes/roundtrip.wast | 25 +- test/lit/passes/signature-pruning.wast | 4 +- test/lit/passes/signature-refining.wast | 2 +- .../simplify-globals-read_only_to_write.wast | 24 +- test/lit/passes/simplify-locals-gc-nn.wast | 2 +- test/lit/types-function-references.wast | 108 +---- test/multivalue.wast.from-wast | 12 +- test/multivalue.wast.fromBinary | 23 +- test/multivalue.wast.fromBinary.noDebugInfo | 23 +- ...-function-elimination_optimize-level=1.txt | 4 +- ...-function-elimination_optimize-level=2.txt | 4 +- ...ack-ir_print-stack-ir_optimize-level=3.txt | 34 +- test/passes/licm.txt | 4 +- test/passes/merge-blocks.txt | 106 ++--- test/passes/merge-locals_all-features.txt | 8 +- test/passes/pick-load-signs_all-features.txt | 2 +- .../precompute-propagate_all-features.txt | 2 +- test/passes/precompute_all-features.txt | 2 +- test/passes/print-call-graph.txt | 42 +- test/passes/remove-non-js-ops.txt | 8 +- .../remove-unused-brs_enable-multivalue.txt | 97 ++-- .../remove-unused-brs_shrink-level=1.txt | 2 +- test/passes/rse_all-features.txt | 2 +- test/passes/simplify-locals-nonesting.txt | 16 +- test/passes/simplify-locals-nostructure.txt | 6 +- .../simplify-locals-notee-nostructure.txt | 4 +- test/passes/simplify-locals-notee.txt | 4 +- test/passes/simplify-locals.txt | 2 +- test/passes/simplify-locals_all-features.txt | 102 ++--- ...ll-features_disable-exception-handling.txt | 88 ++-- test/passes/ssa-nomerge_enable-simd.txt | 4 +- test/passes/ssa_enable-threads.txt | 6 +- test/passes/ssa_fuzz-exec_enable-threads.txt | 8 +- test/passes/vacuum_all-features.txt | 28 +- test/polymorphic_stack.wast.from-wast | 2 +- test/unreachable-code.wast.from-wast | 22 +- test/unreachable-code.wast.fromBinary | 18 +- ...reachable-code.wast.fromBinary.noDebugInfo | 18 +- 71 files changed, 845 insertions(+), 1044 deletions(-) diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 86d7b27e963..03c1dc9f162 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -1503,23 +1503,33 @@ Expression* SExpressionWasmBuilder::makeBlock(Element& s) { // incredibly deep auto curr = allocator.alloc(); auto* sp = &s; - std::vector> stack; + // The information we need for the stack of blocks here is the element we are + // converting, the block we are converting it to, and whether it originally + // had a name or not (which will be useful later). + struct Info { + Element* element; + Block* block; + bool hadName; + }; + std::vector stack; while (1) { - stack.emplace_back(sp, curr); auto& s = *sp; Index i = 1; Name sName; + bool hadName = false; if (i < s.size() && s[i]->isStr()) { // could be a name or a type if (s[i]->dollared() || stringToType(s[i]->str(), true /* allowError */) == Type::none) { sName = s[i++]->str(); + hadName = true; } else { sName = "block"; } } else { sName = "block"; } + stack.emplace_back(Info{sp, curr, hadName}); curr->name = nameMapper.pushLabelName(sName); // block signature curr->type = parseOptionalResultType(s, i); @@ -1540,8 +1550,9 @@ Expression* SExpressionWasmBuilder::makeBlock(Element& s) { } // we now have a stack of Blocks, with their labels, but no contents yet for (int t = int(stack.size()) - 1; t >= 0; t--) { - auto* sp = stack[t].first; - auto* curr = stack[t].second; + auto* sp = stack[t].element; + auto* curr = stack[t].block; + auto hadName = stack[t].hadName; auto& s = *sp; size_t i = 1; if (i < s.size()) { @@ -1553,7 +1564,7 @@ Expression* SExpressionWasmBuilder::makeBlock(Element& s) { } if (t < int(stack.size()) - 1) { // first child is one of our recursions - curr->list.push_back(stack[t + 1].second); + curr->list.push_back(stack[t + 1].block); i++; } for (; i < s.size(); i++) { @@ -1562,8 +1573,16 @@ Expression* SExpressionWasmBuilder::makeBlock(Element& s) { } nameMapper.popLabelName(curr->name); curr->finalize(curr->type); + // If the block never had a name, and one was not needed in practice (even + // if one did not exist, perhaps a break targeted it by index), then we can + // remove the name. Note that we only do this if it never had a name: if it + // did, we don't want to change anything; we just want to be the same as + // the code we are loading. + if (!hadName && !BranchUtils::BranchSeeker::has(curr, curr->name)) { + curr->name = Name(); + } } - return stack[0].second; + return stack[0].block; } // Similar to block, but the label is handled by the enclosing if (since there diff --git a/test/heap-types.wast.from-wast b/test/heap-types.wast.from-wast index 705e545ef6d..3af46eb21dd 100644 --- a/test/heap-types.wast.from-wast +++ b/test/heap-types.wast.from-wast @@ -71,7 +71,7 @@ (ref.null $struct.A) ) (drop - (block $block (result (ref null $struct.A)) + (block (result (ref null $struct.A)) (local.get $x) ) ) diff --git a/test/heap-types.wast.fromBinary b/test/heap-types.wast.fromBinary index 6c847ff694c..803908b199b 100644 --- a/test/heap-types.wast.fromBinary +++ b/test/heap-types.wast.fromBinary @@ -71,9 +71,7 @@ (ref.null $struct.A) ) (drop - (block $label$1 (result (ref null $struct.A)) - (local.get $x) - ) + (local.get $x) ) (drop (if (result (ref null $struct.A)) @@ -83,7 +81,7 @@ ) ) (drop - (loop $label$4 (result (ref null $struct.A)) + (loop $label$3 (result (ref null $struct.A)) (local.get $x) ) ) diff --git a/test/heap-types.wast.fromBinary.noDebugInfo b/test/heap-types.wast.fromBinary.noDebugInfo index ba10f28fdb8..eb697b12d95 100644 --- a/test/heap-types.wast.fromBinary.noDebugInfo +++ b/test/heap-types.wast.fromBinary.noDebugInfo @@ -71,9 +71,7 @@ (ref.null ${i32_f32_f64}) ) (drop - (block $label$1 (result (ref null ${i32_f32_f64})) - (local.get $0) - ) + (local.get $0) ) (drop (if (result (ref null ${i32_f32_f64})) @@ -83,7 +81,7 @@ ) ) (drop - (loop $label$4 (result (ref null ${i32_f32_f64})) + (loop $label$3 (result (ref null ${i32_f32_f64})) (local.get $0) ) ) diff --git a/test/lit/passes/asyncify_enable-multivalue.wast b/test/lit/passes/asyncify_enable-multivalue.wast index b656b6f7e04..28210034b87 100644 --- a/test/lit/passes/asyncify_enable-multivalue.wast +++ b/test/lit/passes/asyncify_enable-multivalue.wast @@ -49,7 +49,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $sleeping ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -57,7 +57,7 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block0 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $sleeping ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-imports@env.import,env.import2.wast b/test/lit/passes/asyncify_pass-arg=asyncify-imports@env.import,env.import2.wast index 6da79153546..5b355ba069d 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-imports@env.import,env.import2.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-imports@env.import,env.import2.wast @@ -48,7 +48,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $sleeping ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -56,7 +56,7 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block0 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $sleeping ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/avoid-reinterprets.wast b/test/lit/passes/avoid-reinterprets.wast index 584016c9713..74e36be49dc 100644 --- a/test/lit/passes/avoid-reinterprets.wast +++ b/test/lit/passes/avoid-reinterprets.wast @@ -223,14 +223,26 @@ ) ;; CHECK: (func $nofallthrough ;; CHECK-NEXT: (local $x i32) + ;; CHECK-NEXT: (local $1 i32) + ;; CHECK-NEXT: (local $2 f32) ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i32.const 1024) + ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (local.set $1 + ;; CHECK-NEXT: (i32.const 1024) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $2 + ;; CHECK-NEXT: (f32.load + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (f32.reinterpret_i32 - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/avoid-reinterprets64.wast b/test/lit/passes/avoid-reinterprets64.wast index 073ba65153f..7139bb4338c 100644 --- a/test/lit/passes/avoid-reinterprets64.wast +++ b/test/lit/passes/avoid-reinterprets64.wast @@ -223,14 +223,26 @@ ) ;; CHECK: (func $nofallthrough ;; CHECK-NEXT: (local $x i32) + ;; CHECK-NEXT: (local $1 i64) + ;; CHECK-NEXT: (local $2 f32) ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (i64.const 1024) + ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (local.set $1 + ;; CHECK-NEXT: (i64.const 1024) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $2 + ;; CHECK-NEXT: (f32.load + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (f32.reinterpret_i32 - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/catch-pop-fixup-eh.wast b/test/lit/passes/catch-pop-fixup-eh.wast index 6c7d71860bf..51a703945e7 100644 --- a/test/lit/passes/catch-pop-fixup-eh.wast +++ b/test/lit/passes/catch-pop-fixup-eh.wast @@ -28,7 +28,7 @@ ;; CHECK-NEXT: (pop i32) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (throw $e-i32 - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -60,11 +60,11 @@ ;; CHECK-NEXT: (pop i32) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (throw $e-i32 - ;; CHECK-NEXT: (block $block (result i32) - ;; CHECK-NEXT: (block $block0 (result i32) - ;; CHECK-NEXT: (block $block1 (result i32) - ;; CHECK-NEXT: (block $block2 (result i32) - ;; CHECK-NEXT: (block $block3 (result i32) + ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -177,12 +177,10 @@ ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (catch $e-i32 - ;; CHECK-NEXT: (block $block - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (pop i32) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $helper) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (pop i32) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (call $helper) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -331,7 +329,7 @@ ;; CHECK-NEXT: (pop i32 f32) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (throw $e-i32 - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -367,7 +365,7 @@ ;; CHECK-NEXT: (pop (ref $struct.A)) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (throw $e-struct.A - ;; CHECK-NEXT: (block $block (result (ref $struct.A)) + ;; CHECK-NEXT: (block (result (ref $struct.A)) ;; CHECK-NEXT: (ref.as_non_null ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/coalesce-locals.wast b/test/lit/passes/coalesce-locals.wast index 0ba208ed86a..96947c07b74 100644 --- a/test/lit/passes/coalesce-locals.wast +++ b/test/lit/passes/coalesce-locals.wast @@ -1966,12 +1966,10 @@ ) ;; CHECK: (func $nop-in-unreachable ;; CHECK-NEXT: (local $0 i32) - ;; CHECK-NEXT: (block $block - ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (i32.store - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (unreachable) + ;; CHECK-NEXT: (i32.store + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $nop-in-unreachable diff --git a/test/lit/passes/code-folding_enable-threads.wast b/test/lit/passes/code-folding_enable-threads.wast index 244fd7c7502..a14f0901c38 100644 --- a/test/lit/passes/code-folding_enable-threads.wast +++ b/test/lit/passes/code-folding_enable-threads.wast @@ -114,20 +114,18 @@ ;; CHECK-NEXT: (block $label$A ;; CHECK-NEXT: (if ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (block $block - ;; CHECK-NEXT: (block $block0 - ;; CHECK-NEXT: (block $label$B - ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (block $label$B + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (unreachable) + ;; CHECK-NEXT: (br_table $label$A $label$B ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (br_table $label$A $label$B - ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block2 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $label$C ;; CHECK-NEXT: (if ;; CHECK-NEXT: (unreachable) @@ -177,14 +175,10 @@ ;; CHECK-NEXT: (block $label$A ;; CHECK-NEXT: (if ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (block $block - ;; CHECK-NEXT: (block $block4 - ;; CHECK-NEXT: (br $folding-inner0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block6 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (br $folding-inner0) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $folding-inner0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -319,17 +313,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $global$0) - ;; CHECK-NEXT: (block $block - ;; CHECK-NEXT: (br $folding-inner0) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $folding-inner0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $global$0) - ;; CHECK-NEXT: (block $block1 - ;; CHECK-NEXT: (br $folding-inner0) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $folding-inner0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/dae-gc-refine-params.wast b/test/lit/passes/dae-gc-refine-params.wast index 25494d1609c..e67600c54ae 100644 --- a/test/lit/passes/dae-gc-refine-params.wast +++ b/test/lit/passes/dae-gc-refine-params.wast @@ -310,7 +310,7 @@ ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (block $block (result (ref null ${i32})) + ;; CHECK-NEXT: (block (result (ref null ${i32})) ;; CHECK-NEXT: (local.tee $x ;; CHECK-NEXT: (call $get_null_{i32_i64}) ;; CHECK-NEXT: ) @@ -322,7 +322,7 @@ ;; NOMNL-NEXT: (local.get $x) ;; NOMNL-NEXT: ) ;; NOMNL-NEXT: (drop - ;; NOMNL-NEXT: (block $block (result (ref null ${i32})) + ;; NOMNL-NEXT: (block (result (ref null ${i32})) ;; NOMNL-NEXT: (local.tee $x ;; NOMNL-NEXT: (call $get_null_{i32_i64}) ;; NOMNL-NEXT: ) diff --git a/test/lit/passes/dce_all-features.wast b/test/lit/passes/dce_all-features.wast index 9953e65b6a7..03b90cc389f 100644 --- a/test/lit/passes/dce_all-features.wast +++ b/test/lit/passes/dce_all-features.wast @@ -911,7 +911,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (block $block (result i64) + ;; CHECK-NEXT: (block (result i64) ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $var$0) ;; CHECK-NEXT: ) @@ -956,7 +956,7 @@ ) ;; CHECK: (func $br-gone-means-block-type-changes-then-refinalize-at-end-is-too-late (param $var$0 i32) (result i32) ;; CHECK-NEXT: (block $label$0 - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -980,7 +980,7 @@ ) ;; CHECK: (func $br-with-unreachable-value-should-not-give-a-block-a-value (param $var$0 i32) (result i32) ;; CHECK-NEXT: (block $label$0 (result i32) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (br_if $label$0 ;; CHECK-NEXT: (i32.const 8) @@ -1150,7 +1150,7 @@ ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $replace-with-unreachable-affects-parent ;; CHECK-NEXT: (f32.const 1) ;; CHECK-NEXT: (i64.const -15917430362925035) @@ -1375,7 +1375,7 @@ ) ;; CHECK: (func $note-loss-of-non-control-flow-children ;; CHECK-NEXT: (block $out - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/directize_all-features.wast b/test/lit/passes/directize_all-features.wast index 10bcfc60f94..5e42e271e6c 100644 --- a/test/lit/passes/directize_all-features.wast +++ b/test/lit/passes/directize_all-features.wast @@ -709,23 +709,19 @@ ;; IMMUT: (table $0 8 8 funcref) (table $0 8 8 funcref) ;; CHECK: (func $0 - ;; CHECK-NEXT: (block $block - ;; CHECK-NEXT: (nop) + ;; CHECK-NEXT: (nop) + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; IMMUT: (func $0 - ;; IMMUT-NEXT: (block $block - ;; IMMUT-NEXT: (nop) + ;; IMMUT-NEXT: (nop) + ;; IMMUT-NEXT: (block ;; IMMUT-NEXT: (block - ;; IMMUT-NEXT: (block - ;; IMMUT-NEXT: ) - ;; IMMUT-NEXT: (unreachable) ;; IMMUT-NEXT: ) + ;; IMMUT-NEXT: (unreachable) ;; IMMUT-NEXT: ) ;; IMMUT-NEXT: ) (func $0 diff --git a/test/lit/passes/flatten_all-features.wast b/test/lit/passes/flatten_all-features.wast index 6a9ffc16a29..c6512deebcb 100644 --- a/test/lit/passes/flatten_all-features.wast +++ b/test/lit/passes/flatten_all-features.wast @@ -64,7 +64,7 @@ ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 i32) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -94,7 +94,7 @@ ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 i32) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -128,7 +128,7 @@ ;; CHECK-NEXT: (local $2 i32) ;; CHECK-NEXT: (local $3 i32) ;; CHECK-NEXT: (local $4 i32) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -136,7 +136,7 @@ ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block0 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -173,7 +173,7 @@ ;; CHECK-NEXT: (local $5 i32) ;; CHECK-NEXT: (local $6 i32) ;; CHECK-NEXT: (local $7 i32) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -187,7 +187,7 @@ ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block1 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -237,8 +237,8 @@ ;; CHECK-NEXT: (local $7 i32) ;; CHECK-NEXT: (local $8 i32) ;; CHECK-NEXT: (local $9 i32) - ;; CHECK-NEXT: (block $block - ;; CHECK-NEXT: (block $block2 + ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -252,7 +252,7 @@ ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block3 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -314,7 +314,7 @@ ;; CHECK-NEXT: (local $10 i32) ;; CHECK-NEXT: (block $outer ;; CHECK-NEXT: (block $inner - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) @@ -332,7 +332,7 @@ ;; CHECK-NEXT: (local.set $4 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block4 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) @@ -2479,7 +2479,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) @@ -2999,7 +2999,7 @@ ;; CHECK-NEXT: (local $20 i32) ;; CHECK-NEXT: (local $21 i32) ;; CHECK-NEXT: (local $22 i32) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $7 ;; CHECK-NEXT: (local.get $12) @@ -3012,7 +3012,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (block $block44 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $label$78 ;; CHECK-NEXT: (local.set $430 ;; CHECK-NEXT: (i32.const 0) @@ -3025,7 +3025,7 @@ ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block45 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $label$79 ;; CHECK-NEXT: (local.set $10 ;; CHECK-NEXT: (local.get $9) @@ -3161,7 +3161,7 @@ ;; CHECK-NEXT: (local $3 i32) ;; CHECK-NEXT: (local $4 i32) ;; CHECK-NEXT: (local $5 i32) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $label$0 ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (i32.const 16) @@ -3206,7 +3206,7 @@ ;; CHECK-NEXT: (local $5 i32) ;; CHECK-NEXT: (local $6 i32) ;; CHECK-NEXT: (block $label$0 - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -3291,7 +3291,7 @@ ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (i32.const -16) ;; CHECK-NEXT: ) @@ -3425,7 +3425,7 @@ ;; CHECK-NEXT: (local $6 eqref) ;; CHECK-NEXT: (local $7 anyref) ;; CHECK-NEXT: (block $label0 - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (ref.null eq) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/flatten_rereloop.wast b/test/lit/passes/flatten_rereloop.wast index 95aa5c86d8c..090497e61e8 100644 --- a/test/lit/passes/flatten_rereloop.wast +++ b/test/lit/passes/flatten_rereloop.wast @@ -446,7 +446,7 @@ ;; CHECK-NEXT: (local $2 f32) ;; CHECK-NEXT: (local $3 f32) ;; CHECK-NEXT: (local $4 i32) - ;; CHECK-NEXT: (block $block$7$break + ;; CHECK-NEXT: (block $block$6$break ;; CHECK-NEXT: (block ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if @@ -456,17 +456,15 @@ ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (f32.const 9223372036854775808) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $1 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $2 + ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (br $block$7$break) + ;; CHECK-NEXT: (br $block$6$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block @@ -474,7 +472,7 @@ ;; CHECK-NEXT: (f32.const 65505) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (br $block$7$break) + ;; CHECK-NEXT: (br $block$6$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -533,7 +531,7 @@ ;; CHECK-NEXT: (i32.const -23) ;; CHECK-NEXT: (br $block$2$break) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block$6$break + ;; CHECK-NEXT: (block $block$5$break ;; CHECK-NEXT: (block ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $switch$4$leave @@ -548,7 +546,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (br $block$6$break) + ;; CHECK-NEXT: (br $block$5$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -601,10 +599,8 @@ ;; CHECK: (func $trivial2 ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (call $trivial) - ;; CHECK-NEXT: (call $trivial) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (call $trivial) + ;; CHECK-NEXT: (call $trivial) ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -800,7 +796,7 @@ ;; CHECK-NEXT: (local $8 i32) ;; CHECK-NEXT: (local $9 i32) ;; CHECK-NEXT: (local $10 i32) - ;; CHECK-NEXT: (block $block$21$break + ;; CHECK-NEXT: (block $block$17$break ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $4 ;; CHECK-NEXT: (local.get $x) @@ -820,11 +816,11 @@ ;; CHECK-NEXT: (br $shape$2$continue) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $block$21$break) + ;; CHECK-NEXT: (br $block$17$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block$24$break + ;; CHECK-NEXT: (block $block$19$break ;; CHECK-NEXT: (loop $shape$4$continue ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $trivial) @@ -841,12 +837,12 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (br $shape$4$continue) - ;; CHECK-NEXT: (br $block$24$break) + ;; CHECK-NEXT: (br $block$19$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block$2$break + ;; CHECK-NEXT: (block $block$26$break ;; CHECK-NEXT: (loop $shape$6$continue ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $trivial) @@ -863,7 +859,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (br $shape$6$continue) - ;; CHECK-NEXT: (br $block$2$break) + ;; CHECK-NEXT: (br $block$26$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -971,7 +967,7 @@ ;; CHECK-NEXT: (local $5 i32) ;; CHECK-NEXT: (local $6 i32) ;; CHECK-NEXT: (local $7 i32) - ;; CHECK-NEXT: (block $block$4$break + ;; CHECK-NEXT: (block $block$2$break ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (local.get $x) @@ -985,14 +981,14 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (br $block$4$break) + ;; CHECK-NEXT: (br $block$2$break) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block$2$break + ;; CHECK-NEXT: (block $block$30$break ;; CHECK-NEXT: (call $unreachable ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (br $block$2$break) + ;; CHECK-NEXT: (br $block$30$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block @@ -1106,11 +1102,11 @@ ) ;; CHECK: (func $empty-blocks (param $x i32) ;; CHECK-NEXT: (local $1 i32) - ;; CHECK-NEXT: (block $block$2$break + ;; CHECK-NEXT: (block $block$3$break ;; CHECK-NEXT: (block ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (br $block$2$break) + ;; CHECK-NEXT: (br $block$3$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block @@ -1145,7 +1141,7 @@ ;; CHECK-NEXT: (local $14 i32) ;; CHECK-NEXT: (local $15 i32) ;; CHECK-NEXT: (local $16 i32) - ;; CHECK-NEXT: (block $block$4$break + ;; CHECK-NEXT: (block $block$3$break ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $before-and-after @@ -1175,19 +1171,19 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $7) - ;; CHECK-NEXT: (br $block$4$break) + ;; CHECK-NEXT: (br $block$3$break) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $before-and-after ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (br $block$4$break) + ;; CHECK-NEXT: (br $block$3$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block$8$break + ;; CHECK-NEXT: (block $block$7$break ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $before-and-after @@ -1202,11 +1198,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (br $block$8$break) + ;; CHECK-NEXT: (br $block$7$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block$10$break + ;; CHECK-NEXT: (block $block$8$break ;; CHECK-NEXT: (loop $shape$4$continue ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $before-and-after @@ -1225,29 +1221,27 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (br $shape$4$continue) - ;; CHECK-NEXT: (br $block$10$break) + ;; CHECK-NEXT: (br $block$8$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block$11$break + ;; CHECK-NEXT: (block $block$10$break ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $before-and-after ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (call $before-and-after - ;; CHECK-NEXT: (i32.const 11) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $10 - ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $11 - ;; CHECK-NEXT: (local.get $3) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (call $before-and-after + ;; CHECK-NEXT: (i32.const 11) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $10 + ;; CHECK-NEXT: (local.get $x) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $3 + ;; CHECK-NEXT: (local.get $10) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $11 + ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if @@ -1257,14 +1251,14 @@ ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (br $block$11$break) + ;; CHECK-NEXT: (br $block$10$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $block$11$break) + ;; CHECK-NEXT: (br $block$10$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block$15$break + ;; CHECK-NEXT: (block $block$13$break ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $before-and-after ;; CHECK-NEXT: (i32.const 13) @@ -1286,7 +1280,7 @@ ;; CHECK-NEXT: (i32.const 14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (br $block$15$break) + ;; CHECK-NEXT: (br $block$13$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block @@ -1294,13 +1288,13 @@ ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (br $block$15$break) + ;; CHECK-NEXT: (br $block$13$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block$21$break + ;; CHECK-NEXT: (block $block$16$break ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $14 ;; CHECK-NEXT: (local.get $x) @@ -1319,14 +1313,14 @@ ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (br $block$21$break) + ;; CHECK-NEXT: (br $block$16$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $block$21$break) + ;; CHECK-NEXT: (br $block$16$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block$28$break + ;; CHECK-NEXT: (block $block$19$break ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block @@ -1354,11 +1348,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (br $block$28$break) + ;; CHECK-NEXT: (br $block$19$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block$30$break + ;; CHECK-NEXT: (block $block$21$break ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $before-and-after ;; CHECK-NEXT: (i32.const 23) @@ -1368,7 +1362,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (br $block$30$break) + ;; CHECK-NEXT: (br $block$21$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block @@ -1704,7 +1698,7 @@ ) ;; CHECK: (func $no-return ;; CHECK-NEXT: (local $0 i32) - ;; CHECK-NEXT: (block $block$6$break + ;; CHECK-NEXT: (block $block$4$break ;; CHECK-NEXT: (block ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if @@ -1714,7 +1708,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (br $block$6$break) + ;; CHECK-NEXT: (br $block$4$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block @@ -1722,7 +1716,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (br $block$6$break) + ;; CHECK-NEXT: (br $block$4$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1757,8 +1751,8 @@ ;; CHECK-NEXT: (local $5 i32) ;; CHECK-NEXT: (local $6 i32) ;; CHECK-NEXT: (local $7 i32) - ;; CHECK-NEXT: (block $block$3$break - ;; CHECK-NEXT: (block $block$4$break + ;; CHECK-NEXT: (block $block$2$break + ;; CHECK-NEXT: (block $block$12$break ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $if-br-wat ;; CHECK-NEXT: (i32.const 0) @@ -1780,7 +1774,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (br $block$4$break) + ;; CHECK-NEXT: (br $block$12$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block @@ -1797,8 +1791,8 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (br $block$3$break) - ;; CHECK-NEXT: (br $block$4$break) + ;; CHECK-NEXT: (br $block$2$break) + ;; CHECK-NEXT: (br $block$12$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1808,7 +1802,7 @@ ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (br $block$3$break) + ;; CHECK-NEXT: (br $block$2$break) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -1898,9 +1892,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $switch$1$leave ;; CHECK-NEXT: (block $switch$1$default - ;; CHECK-NEXT: (block $switch$1$case$4 - ;; CHECK-NEXT: (block $switch$1$case$5 - ;; CHECK-NEXT: (br_table $switch$1$case$5 $switch$1$case$4 $switch$1$default + ;; CHECK-NEXT: (block $switch$1$case$3 + ;; CHECK-NEXT: (block $switch$1$case$4 + ;; CHECK-NEXT: (br_table $switch$1$case$4 $switch$1$case$3 $switch$1$default ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.wast b/test/lit/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.wast index 3027108240b..3a4b0265c8f 100644 --- a/test/lit/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.wast +++ b/test/lit/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.wast @@ -144,7 +144,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -1322,7 +1322,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -1379,7 +1379,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -1435,7 +1435,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -1502,7 +1502,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -1571,7 +1571,7 @@ ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -1645,7 +1645,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (i32.const -8531) ;; CHECK-NEXT: ) @@ -1655,7 +1655,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block3 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (i32.const -8531) ;; CHECK-NEXT: ) @@ -1742,7 +1742,7 @@ ;; CHECK: (func $in-unreachable-operations (param $x i32) (param $y i32) (result i32) ;; CHECK-NEXT: (local $2 i32) ;; CHECK-NEXT: (local $3 i32) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (block @@ -3599,7 +3599,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block ;; CHECK-NEXT: (loop $label$3 ;; CHECK-NEXT: (block $label$4 @@ -4429,7 +4429,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $var$2 ;; CHECK-NEXT: (i32.add diff --git a/test/lit/passes/flatten_simplify-locals-nonesting_souperify_enable-threads.wast b/test/lit/passes/flatten_simplify-locals-nonesting_souperify_enable-threads.wast index 29722a302df..05731dfe9ab 100644 --- a/test/lit/passes/flatten_simplify-locals-nonesting_souperify_enable-threads.wast +++ b/test/lit/passes/flatten_simplify-locals-nonesting_souperify_enable-threads.wast @@ -144,7 +144,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -1390,7 +1390,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -1447,7 +1447,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -1503,7 +1503,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -1570,7 +1570,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -1639,7 +1639,7 @@ ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -1713,7 +1713,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (i32.const -8531) ;; CHECK-NEXT: ) @@ -1723,7 +1723,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block3 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (i32.const -8531) ;; CHECK-NEXT: ) @@ -1810,7 +1810,7 @@ ;; CHECK: (func $in-unreachable-operations (param $x i32) (param $y i32) (result i32) ;; CHECK-NEXT: (local $2 i32) ;; CHECK-NEXT: (local $3 i32) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (block @@ -3667,7 +3667,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block ;; CHECK-NEXT: (loop $label$3 ;; CHECK-NEXT: (block $label$4 @@ -4497,7 +4497,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.set $var$2 ;; CHECK-NEXT: (i32.add diff --git a/test/lit/passes/gto-removals.wast b/test/lit/passes/gto-removals.wast index 1bc0d2b733d..73756fc7f20 100644 --- a/test/lit/passes/gto-removals.wast +++ b/test/lit/passes/gto-removals.wast @@ -838,19 +838,17 @@ ;; CHECK: (func $unreachable-set-3 (type $none_=>_none) ;; CHECK-NEXT: (local $0 (ref null ${mut:i8})) - ;; CHECK-NEXT: (block $block - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (ref.as_non_null - ;; CHECK-NEXT: (block (result (ref ${mut:i8})) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (call $helper-ref) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (call $helper-i32) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (ref.as_non_null - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (ref.as_non_null + ;; CHECK-NEXT: (block (result (ref ${mut:i8})) + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (call $helper-ref) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (call $helper-i32) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (ref.as_non_null + ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/gufa-refs.wast b/test/lit/passes/gufa-refs.wast index 73201a169a4..08cb6a166c7 100644 --- a/test/lit/passes/gufa-refs.wast +++ b/test/lit/passes/gufa-refs.wast @@ -2396,8 +2396,8 @@ ;; CHECK: (func $test (type $none_=>_none) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local.set $ref - ;; CHECK-NEXT: (block $block (result (ref $struct)) - ;; CHECK-NEXT: (block $block0 (result (ref $struct)) + ;; CHECK-NEXT: (block (result (ref $struct)) + ;; CHECK-NEXT: (block (result (ref $struct)) ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/inlining-optimizing_optimize-level=3.wast b/test/lit/passes/inlining-optimizing_optimize-level=3.wast index e4ad27d9218..d8157d9a190 100644 --- a/test/lit/passes/inlining-optimizing_optimize-level=3.wast +++ b/test/lit/passes/inlining-optimizing_optimize-level=3.wast @@ -242,7 +242,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $__THREW__) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $__THREW__ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -665,7 +665,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (f64.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (call $_frexp ;; CHECK-NEXT: (f64.mul @@ -1041,7 +1041,7 @@ ;; CHECK-NEXT: (i32.const 64) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.load offset=60 @@ -1220,7 +1220,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const -1) @@ -1686,7 +1686,7 @@ ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $_pthread_cleanup_push ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: (local.get $0) @@ -1717,7 +1717,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block14 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (i32.load @@ -1764,7 +1764,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block16 (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.tee $7 @@ -1799,13 +1799,13 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block17 (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block19 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (i32.add @@ -3673,7 +3673,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const -4096) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (call $___errno_location) ;; CHECK-NEXT: (i32.sub @@ -8435,7 +8435,7 @@ ;; CHECK-NEXT: (br $__rjti$8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$break$L8 - ;; CHECK-NEXT: (block $__rjti$29 + ;; CHECK-NEXT: (block $__rjti$28 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $9 @@ -8458,15 +8458,15 @@ ;; CHECK-NEXT: (local.set $8 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (loop $while-in12 - ;; CHECK-NEXT: (br_if $__rjti$29 + ;; CHECK-NEXT: (loop $while-in9 + ;; CHECK-NEXT: (br_if $__rjti$28 ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br_if $while-in12 + ;; CHECK-NEXT: (br_if $while-in9 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $9 ;; CHECK-NEXT: (i32.ne @@ -8499,7 +8499,7 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br_if $__rjti$29 + ;; CHECK-NEXT: (br_if $__rjti$28 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $9 @@ -8515,15 +8515,15 @@ ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block - ;; CHECK-NEXT: (block $__rjto$013 - ;; CHECK-NEXT: (block $__rjti$014 - ;; CHECK-NEXT: (br_if $__rjti$014 + ;; CHECK-NEXT: (block $__rjto$010 + ;; CHECK-NEXT: (block $__rjti$011 + ;; CHECK-NEXT: (br_if $__rjti$011 ;; CHECK-NEXT: (i32.le_u ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (loop $while-in315 + ;; CHECK-NEXT: (loop $while-in312 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.and @@ -8551,7 +8551,7 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br_if $while-in315 + ;; CHECK-NEXT: (br_if $while-in312 ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.tee $9 ;; CHECK-NEXT: (i32.sub @@ -8562,11 +8562,11 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $__rjti$014) + ;; CHECK-NEXT: (br $__rjti$011) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $__rjto$013) + ;; CHECK-NEXT: (br $__rjto$010) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz @@ -15054,7 +15054,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $_memset ;; CHECK-NEXT: (local.get $6) @@ -15091,11 +15091,11 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 255) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block271 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (loop $while-in ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (block $block273 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $___fwritex ;; CHECK-NEXT: (local.get $6) @@ -15339,7 +15339,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 245) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $5 @@ -15374,7 +15374,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block275 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $10 ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.tee $1 @@ -15431,7 +15431,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block277 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $10) @@ -15453,7 +15453,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block280 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $2) @@ -15510,10 +15510,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block282 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $5) - ;; CHECK-NEXT: (block $block284 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $10 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.shr_u @@ -15657,7 +15657,7 @@ ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block286 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and @@ -15675,7 +15675,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block287 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $9) @@ -15697,7 +15697,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block290 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $10) @@ -15752,7 +15752,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (block $block292 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $12 ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 196) @@ -15803,7 +15803,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block295 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) @@ -15812,7 +15812,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block296 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or @@ -15868,7 +15868,7 @@ ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block298 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.shr_u @@ -16001,7 +16001,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block301 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $10 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) @@ -16086,7 +16086,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block305 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $1 @@ -16113,7 +16113,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block308 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $9 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -16133,7 +16133,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block310 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -16154,7 +16154,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block312 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -16171,7 +16171,7 @@ ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block314 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) @@ -16182,7 +16182,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block315 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $7 @@ -16220,7 +16220,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block319 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $0) @@ -16241,7 +16241,7 @@ ;; CHECK-NEXT: (block $do-once8 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (block $block321 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $5) @@ -16261,7 +16261,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block323 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $9) @@ -16270,7 +16270,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block325 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.and @@ -16290,7 +16290,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block326 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $8) @@ -16355,7 +16355,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block332 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=16 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $1) @@ -16381,7 +16381,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block335 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $0) @@ -16401,7 +16401,7 @@ ;; CHECK-NEXT: (local.get $10) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block337 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.or @@ -16432,7 +16432,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block338 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.or @@ -16460,7 +16460,7 @@ ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block340 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $4 ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 196) @@ -16511,7 +16511,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block343 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -16520,7 +16520,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block344 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or @@ -16592,7 +16592,7 @@ ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block346 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.tee $0 @@ -16610,7 +16610,7 @@ ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block348 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $14 ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (local.tee $0 @@ -16725,7 +16725,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block352 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -16774,7 +16774,7 @@ ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block355 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) @@ -16783,7 +16783,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $__rjti$3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block356 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) @@ -16843,7 +16843,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (block $block358 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $4 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -16851,7 +16851,7 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block359 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -16866,7 +16866,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block360 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $4 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -16884,7 +16884,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block362 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $1 @@ -16905,7 +16905,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block364 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -17014,7 +17014,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (block $block366 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) @@ -17066,7 +17066,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block368 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) @@ -17100,7 +17100,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block371 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $4) @@ -17139,7 +17139,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block375 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $1 @@ -17166,7 +17166,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block378 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $11 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -17186,7 +17186,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block380 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) @@ -17207,7 +17207,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block382 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) @@ -17224,7 +17224,7 @@ ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block384 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) @@ -17235,7 +17235,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block385 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $10 @@ -17273,7 +17273,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block389 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $0) @@ -17294,7 +17294,7 @@ ;; CHECK-NEXT: (block $do-once21 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $9) - ;; CHECK-NEXT: (block $block391 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $4) @@ -17314,7 +17314,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block393 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $11) @@ -17323,7 +17323,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block395 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.and @@ -17343,7 +17343,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block396 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $9) @@ -17408,7 +17408,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block402 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=16 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $1) @@ -17434,7 +17434,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block405 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $0) @@ -17455,7 +17455,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block407 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.or @@ -17486,7 +17486,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block408 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=4 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.or @@ -17519,7 +17519,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block410 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl @@ -17560,7 +17560,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block413 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $13 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -17569,7 +17569,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block414 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or @@ -17745,7 +17745,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block418 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.or @@ -17836,7 +17836,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block420 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $7 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -17855,7 +17855,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block422 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $6) @@ -17901,7 +17901,7 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block424 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $6) @@ -17962,7 +17962,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block426 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 196) @@ -17978,7 +17978,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block428 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: (local.tee $1 @@ -18014,7 +18014,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block429 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (i32.const 0) @@ -18086,7 +18086,7 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block432 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 656) ;; CHECK-NEXT: (local.get $1) @@ -18207,7 +18207,7 @@ ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block437 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $label$break$L279 ;; CHECK-NEXT: (block $__rjti$5 ;; CHECK-NEXT: (block $__rjti$4 @@ -18249,7 +18249,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block440 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $4 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -18304,7 +18304,7 @@ ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block443 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -18323,7 +18323,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block445 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.and @@ -18381,7 +18381,7 @@ ;; CHECK-NEXT: (i32.const 2147483647) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block448 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $2 ;; CHECK-NEXT: (i32.load @@ -18474,7 +18474,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block453 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $_sbrk ;; CHECK-NEXT: (local.get $4) @@ -18502,7 +18502,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block455 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -18599,7 +18599,7 @@ ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block460 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (i32.const 624) ;; CHECK-NEXT: ) @@ -18658,7 +18658,7 @@ ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block463 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.add @@ -18745,7 +18745,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block465 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: (local.get $1) @@ -18774,7 +18774,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block467 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -18804,7 +18804,7 @@ ;; CHECK-NEXT: (local.set $4 ;; CHECK-NEXT: (i32.const 624) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block469 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $1) @@ -18897,7 +18897,7 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block471 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: (local.tee $0 @@ -18921,7 +18921,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block472 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $5) @@ -18929,7 +18929,7 @@ ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block474 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.tee $0 @@ -18978,7 +18978,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block476 (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $11 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $0) @@ -18997,7 +18997,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block478 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $5) @@ -19021,7 +19021,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block480 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $3) @@ -19046,7 +19046,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block483 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and @@ -19077,7 +19077,7 @@ ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block485 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $2) @@ -19097,7 +19097,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block488 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $15 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -19117,7 +19117,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block489 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (i32.load offset=24 ;; CHECK-NEXT: (local.get $5) @@ -19133,7 +19133,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block491 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $1 @@ -19161,7 +19161,7 @@ ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block494 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $12 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -19181,7 +19181,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block496 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) @@ -19202,7 +19202,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block498 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) @@ -19219,7 +19219,7 @@ ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block500 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) @@ -19230,7 +19230,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block501 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $2 @@ -19268,7 +19268,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block505 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (local.get $0) @@ -19311,7 +19311,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block507 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $12) @@ -19336,7 +19336,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$break$L331) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block508 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $6) @@ -19407,7 +19407,7 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block514 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=16 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (local.get $3) @@ -19436,7 +19436,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block516 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: (local.get $0) @@ -19499,7 +19499,7 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block518 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl @@ -19524,7 +19524,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block520 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ge_u ;; CHECK-NEXT: (local.tee $0 @@ -19541,7 +19541,7 @@ ;; CHECK-NEXT: (i32.const 192) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block522 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $16 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -19553,7 +19553,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block523 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or @@ -19604,7 +19604,7 @@ ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block525 (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (br_if $do-once65 ;; CHECK-NEXT: (i32.const 31) @@ -19736,7 +19736,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block527 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.or @@ -19827,7 +19827,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block529 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) @@ -19846,7 +19846,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block531 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $8) @@ -19892,7 +19892,7 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block533 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (local.get $8) @@ -20152,7 +20152,7 @@ ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block536 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.and @@ -20189,7 +20189,7 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block538 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl @@ -20230,7 +20230,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block541 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $17 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) @@ -20239,7 +20239,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block542 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or @@ -20410,7 +20410,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block546 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.or @@ -20501,7 +20501,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block548 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $4 ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) @@ -20520,7 +20520,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block550 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $6) @@ -20566,7 +20566,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block552 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $6) @@ -20594,7 +20594,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block553 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.eqz @@ -26345,7 +26345,7 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -26353,7 +26353,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block558 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $7 ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (local.get $1) @@ -26393,7 +26393,7 @@ ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block562 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.ne ;; CHECK-NEXT: (i32.and @@ -26411,7 +26411,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block564 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -26460,7 +26460,7 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block566 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $1) @@ -26483,7 +26483,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block568 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $2) @@ -26507,7 +26507,7 @@ ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block572 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and @@ -26543,7 +26543,7 @@ ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block574 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $6) @@ -26602,7 +26602,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block578 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $5 @@ -26630,7 +26630,7 @@ ;; CHECK-NEXT: (local.set $4 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block581 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -26650,7 +26650,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block583 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) @@ -26671,7 +26671,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block585 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) @@ -26688,7 +26688,7 @@ ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block587 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (i32.const 0) @@ -26699,7 +26699,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block588 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $10 @@ -26737,7 +26737,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block592 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: (local.get $4) @@ -26757,7 +26757,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $12) - ;; CHECK-NEXT: (block $block594 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $1) @@ -26777,7 +26777,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block596 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $6) @@ -26786,7 +26786,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block598 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.and @@ -26812,7 +26812,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block599 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $12) @@ -26847,7 +26847,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block603 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -26891,7 +26891,7 @@ ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block607 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=16 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $7) @@ -26917,7 +26917,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block610 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: (local.get $4) @@ -26934,7 +26934,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block611 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -26944,7 +26944,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block612 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -26986,7 +26986,7 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block616 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.and @@ -27009,7 +27009,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block617 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $8) @@ -27017,7 +27017,7 @@ ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block619 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 188) ;; CHECK-NEXT: (local.tee $0 @@ -27067,7 +27067,7 @@ ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block622 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.tee $0 @@ -27121,7 +27121,7 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block624 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $4 ;; CHECK-NEXT: (i32.load offset=12 ;; CHECK-NEXT: (local.get $8) @@ -27144,7 +27144,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block626 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $1) @@ -27170,7 +27170,7 @@ ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block630 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.and @@ -27200,7 +27200,7 @@ ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block632 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $4) @@ -27238,7 +27238,7 @@ ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block635 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $6 ;; CHECK-NEXT: (i32.load offset=24 ;; CHECK-NEXT: (local.get $8) @@ -27254,7 +27254,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block637 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $3 @@ -27282,7 +27282,7 @@ ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block640 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $9 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -27302,7 +27302,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block642 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -27323,7 +27323,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block644 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) @@ -27342,7 +27342,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block646 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) @@ -27353,7 +27353,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block647 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.tee $4 @@ -27393,7 +27393,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block651 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $0) @@ -27413,7 +27413,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: (block $block653 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eq ;; CHECK-NEXT: (local.get $8) @@ -27433,7 +27433,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block655 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $9) @@ -27442,7 +27442,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block657 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.and @@ -27462,7 +27462,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block658 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.lt_u ;; CHECK-NEXT: (local.get $6) @@ -27532,7 +27532,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block664 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=16 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $1) @@ -27558,7 +27558,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block667 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=20 ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (local.get $0) @@ -27596,7 +27596,7 @@ ;; CHECK-NEXT: (i32.const 196) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block669 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 184) ;; CHECK-NEXT: (local.get $5) @@ -27620,7 +27620,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: (i32.const 256) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block671 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl @@ -27661,7 +27661,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block674 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $15 ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) @@ -27670,7 +27670,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block675 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 176) ;; CHECK-NEXT: (i32.or @@ -27840,7 +27840,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block679 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $3) @@ -27905,7 +27905,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block681 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) @@ -27924,7 +27924,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $_abort) - ;; CHECK-NEXT: (block $block683 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: (local.get $2) @@ -27970,7 +27970,7 @@ ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block685 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store offset=12 ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: (local.get $2) @@ -27996,7 +27996,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block686 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 180) ;; CHECK-NEXT: (i32.or @@ -29950,7 +29950,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $1) @@ -29964,7 +29964,7 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block689 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (i32.add @@ -29980,7 +29980,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block691 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) @@ -30030,7 +30030,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block693 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $3) @@ -30053,7 +30053,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block695 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) @@ -30217,7 +30217,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $tempRet0 ;; CHECK-NEXT: (i32.shr_u ;; CHECK-NEXT: (local.get $1) @@ -30317,7 +30317,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 32) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $tempRet0 ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.shl @@ -30452,14 +30452,14 @@ ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (loop $while-in ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block698 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $2) @@ -30502,7 +30502,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block701 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.load @@ -30539,7 +30539,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block703 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (i32.store8 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.load8_s diff --git a/test/lit/passes/inlining_enable-tail-call.wast b/test/lit/passes/inlining_enable-tail-call.wast index b48a9c4292f..3b80f84ea78 100644 --- a/test/lit/passes/inlining_enable-tail-call.wast +++ b/test/lit/passes/inlining_enable-tail-call.wast @@ -289,7 +289,7 @@ ;; CHECK-NEXT: (local $7 f64) ;; CHECK-NEXT: (local $8 i32) ;; CHECK-NEXT: (loop $label$0 (result i32) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) diff --git a/test/lit/passes/inlining_splitting.wast b/test/lit/passes/inlining_splitting.wast index 678400c7fe8..546e31b3770 100644 --- a/test/lit/passes/inlining_splitting.wast +++ b/test/lit/passes/inlining_splitting.wast @@ -161,12 +161,10 @@ ;; CHECK-NEXT: (block $toplevel ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: (block $block - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: (br $toplevel) - ;; CHECK-NEXT: (call $import) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (local.get $x) + ;; CHECK-NEXT: (br $toplevel) + ;; CHECK-NEXT: (call $import) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -886,7 +884,7 @@ ;; CHECK-NEXT: (ref.is_null ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $import) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -930,7 +928,7 @@ ;; CHECK-NEXT: (ref.is_null ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $import) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -1396,17 +1394,13 @@ ;; CHECK-NEXT: ) ;; CHECK: (func $byn-split-outlined-B$error-if-null (param $x anyref) (result anyref) -;; CHECK-NEXT: (block $block -;; CHECK-NEXT: (call $import) -;; CHECK-NEXT: (unreachable) -;; CHECK-NEXT: ) +;; CHECK-NEXT: (call $import) +;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK: (func $byn-split-outlined-B$unreachable-if-body-no-result (param $x anyref) -;; CHECK-NEXT: (block $block -;; CHECK-NEXT: (call $import) -;; CHECK-NEXT: (unreachable) -;; CHECK-NEXT: ) +;; CHECK-NEXT: (call $import) +;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK: (func $byn-split-outlined-B$multi-if_0 (param $x anyref) diff --git a/test/lit/passes/local-subtyping.wast b/test/lit/passes/local-subtyping.wast index 99a59d00555..31e08cce0a3 100644 --- a/test/lit/passes/local-subtyping.wast +++ b/test/lit/passes/local-subtyping.wast @@ -263,7 +263,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (block $block (result (ref null $none_=>_funcref)) + ;; CHECK-NEXT: (block (result (ref null $none_=>_funcref)) ;; CHECK-NEXT: (local.tee $temp ;; CHECK-NEXT: (ref.func $unreachables) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/merge-similar-functions.wast b/test/lit/passes/merge-similar-functions.wast index a51400b4cd2..bb7d82dfc5a 100644 --- a/test/lit/passes/merge-similar-functions.wast +++ b/test/lit/passes/merge-similar-functions.wast @@ -244,7 +244,7 @@ ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (call $callee-take-arg-0 - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -283,7 +283,7 @@ ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (call $callee-take-arg-1 - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/once-reduction.wast b/test/lit/passes/once-reduction.wast index 6cd0c9d6468..d5f6a95eb0f 100644 --- a/test/lit/passes/once-reduction.wast +++ b/test/lit/passes/once-reduction.wast @@ -68,7 +68,7 @@ ;; CHECK: (func $caller-if-1 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -97,7 +97,7 @@ ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (call $once) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/optimize-instructions-gc-iit.wast b/test/lit/passes/optimize-instructions-gc-iit.wast index 3f0c926d3c3..24c5c680915 100644 --- a/test/lit/passes/optimize-instructions-gc-iit.wast +++ b/test/lit/passes/optimize-instructions-gc-iit.wast @@ -132,7 +132,7 @@ ;; CHECK: (func $ref-cast-iit-bad (param $parent (ref $parent)) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (block $block (result (ref $parent)) + ;; CHECK-NEXT: (block (result (ref $parent)) ;; CHECK-NEXT: (call $foo) ;; CHECK-NEXT: (local.get $parent) ;; CHECK-NEXT: ) @@ -145,7 +145,7 @@ ;; CHECK-NEXT: ) ;; NOMNL: (func $ref-cast-iit-bad (type $ref|$parent|_=>_none) (param $parent (ref $parent)) ;; NOMNL-NEXT: (drop - ;; NOMNL-NEXT: (block $block (result (ref $parent)) + ;; NOMNL-NEXT: (block (result (ref $parent)) ;; NOMNL-NEXT: (call $foo) ;; NOMNL-NEXT: (local.get $parent) ;; NOMNL-NEXT: ) @@ -158,7 +158,7 @@ ;; NOMNL-NEXT: ) ;; NOMNL-TNH: (func $ref-cast-iit-bad (type $ref|$parent|_=>_none) (param $parent (ref $parent)) ;; NOMNL-TNH-NEXT: (drop - ;; NOMNL-TNH-NEXT: (block $block (result (ref $parent)) + ;; NOMNL-TNH-NEXT: (block (result (ref $parent)) ;; NOMNL-TNH-NEXT: (call $foo) ;; NOMNL-TNH-NEXT: (local.get $parent) ;; NOMNL-TNH-NEXT: ) diff --git a/test/lit/passes/optimize-instructions.wast b/test/lit/passes/optimize-instructions.wast index e90eba2a846..336bb63aef5 100644 --- a/test/lit/passes/optimize-instructions.wast +++ b/test/lit/passes/optimize-instructions.wast @@ -1348,7 +1348,7 @@ ;; CHECK: (func $canonicalize-block-var (param $x i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (i32.const -5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $x) @@ -1356,7 +1356,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (block $block0 (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (i32.const -6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $x) @@ -1380,7 +1380,7 @@ ;; CHECK: (func $canonicalize-block-loop ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $loop-in (result i32) @@ -1390,7 +1390,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (block $block2 (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (i32.const 8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $loop-in1 (result i32) @@ -1400,7 +1400,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (block $block4 (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $loop-in3 (result i32) @@ -1411,7 +1411,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (block $block6 (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $and-pos1) ;; CHECK-NEXT: (i32.const 12) ;; CHECK-NEXT: ) @@ -1426,7 +1426,7 @@ ;; CHECK-NEXT: (call $and-pos1) ;; CHECK-NEXT: (i32.const 13) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block8 (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $and-pos1) ;; CHECK-NEXT: (i32.const 14) ;; CHECK-NEXT: ) @@ -1434,7 +1434,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.and - ;; CHECK-NEXT: (block $block9 (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $and-pos1) ;; CHECK-NEXT: (i32.const 14) ;; CHECK-NEXT: ) @@ -1840,7 +1840,7 @@ ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (call $ne0) ;; CHECK-NEXT: ) @@ -11808,7 +11808,7 @@ ;; CHECK-NEXT: (i32.gt_s ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (i32.const -2147483648) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -11819,7 +11819,7 @@ ;; CHECK-NEXT: (i32.gt_s ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: (block $block23 (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (i32.const -2147483648) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -13758,12 +13758,12 @@ ;; CHECK: (func $ternary-identical-arms-but-block (param $x i32) (param $y i32) (param $z i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (select - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block24 (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $y) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/poppify.wast b/test/lit/passes/poppify.wast index 61de7e5c2ac..723509cb6eb 100644 --- a/test/lit/passes/poppify.wast +++ b/test/lit/passes/poppify.wast @@ -60,10 +60,8 @@ ) ;; CHECK: (func $block (result i32) - ;; CHECK-NEXT: (block $block (result i32) - ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (nop) + ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) (func $block (result i32) (block i32 @@ -73,13 +71,7 @@ ) ;; CHECK: (func $nested (result i32) - ;; CHECK-NEXT: (block $block (result i32) - ;; CHECK-NEXT: (block $block0 (result i32) - ;; CHECK-NEXT: (block $block1 (result i32) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) (func $nested (result i32) (block i32 @@ -92,17 +84,11 @@ ) ;; CHECK: (func $child-blocks (result i32) - ;; CHECK-NEXT: (block $block (result i32) - ;; CHECK-NEXT: (block $block2 (result i32) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block3 (result i32) - ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (pop i32) - ;; CHECK-NEXT: (pop i32) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (pop i32) + ;; CHECK-NEXT: (pop i32) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $child-blocks (result i32) diff --git a/test/lit/passes/precompute-gc-immutable.wast b/test/lit/passes/precompute-gc-immutable.wast index 8b5f2859732..abee44329b3 100644 --- a/test/lit/passes/precompute-gc-immutable.wast +++ b/test/lit/passes/precompute-gc-immutable.wast @@ -248,7 +248,7 @@ ;; CHECK-NEXT: (local $ref-imm (ref null $struct-imm)) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $ref-imm ;; CHECK-NEXT: (struct.new $struct-imm ;; CHECK-NEXT: (i32.const 1) @@ -258,7 +258,7 @@ ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block0 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $ref-imm ;; CHECK-NEXT: (struct.new $struct-imm ;; CHECK-NEXT: (i32.const 2) diff --git a/test/lit/passes/remove-unused-brs-gc.wast b/test/lit/passes/remove-unused-brs-gc.wast index eb5baa8465f..666c941af50 100644 --- a/test/lit/passes/remove-unused-brs-gc.wast +++ b/test/lit/passes/remove-unused-brs-gc.wast @@ -206,22 +206,20 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (if (result anyref) ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: (block $block (result anyref) - ;; CHECK-NEXT: (block $something (result anyref) - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (br_on_cast_static $something $struct - ;; CHECK-NEXT: (ref.null $struct) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (block $something (result anyref) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (br_on_cast_static $something $struct + ;; CHECK-NEXT: (ref.null $struct) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (ref.null any) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (ref.null any) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (ref.null any) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (select (result anyref) - ;; CHECK-NEXT: (block $block3 (result anyref) + ;; CHECK-NEXT: (block (result anyref) ;; CHECK-NEXT: (block $nothing ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (br_on_null $nothing diff --git a/test/lit/passes/remove-unused-brs.wast b/test/lit/passes/remove-unused-brs.wast index 3c5d4998829..fa25108f415 100644 --- a/test/lit/passes/remove-unused-brs.wast +++ b/test/lit/passes/remove-unused-brs.wast @@ -109,7 +109,7 @@ ;; CHECK: (func $restructure-br_if-condition-reorderable (param $x i32) (result i32) ;; CHECK-NEXT: (if (result i32) - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $nothing) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -142,7 +142,7 @@ ;; CHECK: (func $restructure-br_if-value-effectful (param $x i32) (result i32) ;; CHECK-NEXT: (select - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $nothing) ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) @@ -153,7 +153,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 300) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block0 (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $nothing) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -186,11 +186,11 @@ ;; CHECK-NEXT: (block $x (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (br_if $x - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $nothing) ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block1 (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $nothing) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -231,11 +231,11 @@ ;; CHECK-NEXT: (block $x (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (br_if $x - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $nothing) ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block2 (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $nothing) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -270,7 +270,7 @@ ;; CHECK-NEXT: (block $x (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (br_if $x - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $nothing) ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) @@ -303,7 +303,7 @@ ;; CHECK-NEXT: (block $x (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (br_if $x - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $nothing) ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/roundtrip-gc.wast b/test/lit/passes/roundtrip-gc.wast index cc38de8193f..84052612139 100644 --- a/test/lit/passes/roundtrip-gc.wast +++ b/test/lit/passes/roundtrip-gc.wast @@ -8,21 +8,33 @@ ;; NOMNL: (export "export" (func $test)) (export "export" (func $test)) ;; CHECK: (func $test + ;; CHECK-NEXT: (local $0 (ref null $\7bi32\7d)) ;; CHECK-NEXT: (call $help - ;; CHECK-NEXT: (struct.new_default $\7bi32\7d) - ;; CHECK-NEXT: (block $label$1 (result i32) + ;; CHECK-NEXT: (block (result (ref $\7bi32\7d)) + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (struct.new_default $\7bi32\7d) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: (ref.as_non_null + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; NOMNL: (func $test (type $none_=>_none) + ;; NOMNL-NEXT: (local $0 (ref null $\7bi32\7d)) ;; NOMNL-NEXT: (call $help - ;; NOMNL-NEXT: (struct.new_default $\7bi32\7d) - ;; NOMNL-NEXT: (block $label$1 (result i32) + ;; NOMNL-NEXT: (block (result (ref $\7bi32\7d)) + ;; NOMNL-NEXT: (local.set $0 + ;; NOMNL-NEXT: (struct.new_default $\7bi32\7d) + ;; NOMNL-NEXT: ) ;; NOMNL-NEXT: (nop) - ;; NOMNL-NEXT: (i32.const 1) + ;; NOMNL-NEXT: (ref.as_non_null + ;; NOMNL-NEXT: (local.get $0) + ;; NOMNL-NEXT: ) ;; NOMNL-NEXT: ) + ;; NOMNL-NEXT: (i32.const 1) ;; NOMNL-NEXT: ) ;; NOMNL-NEXT: ) (func $test diff --git a/test/lit/passes/roundtrip.wast b/test/lit/passes/roundtrip.wast index 3eca45655f1..7a9d12c0ff6 100644 --- a/test/lit/passes/roundtrip.wast +++ b/test/lit/passes/roundtrip.wast @@ -5,31 +5,16 @@ ;; CHECK: (type $none (func)) (type $none (func)) ;; CHECK: (func $foo - ;; CHECK-NEXT: (local $0 (funcref (ref null $none))) - ;; CHECK-NEXT: (local $1 funcref) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (block $label$1 (result funcref (ref $none)) - ;; CHECK-NEXT: (tuple.make - ;; CHECK-NEXT: (ref.null func) - ;; CHECK-NEXT: (ref.func $foo) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local $0 funcref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result funcref) - ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (tuple.extract 0 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (ref.null func) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (ref.as_non_null - ;; CHECK-NEXT: (tuple.extract 1 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (ref.func $foo) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/signature-pruning.wast b/test/lit/passes/signature-pruning.wast index 79f658007e1..d58631ecb05 100644 --- a/test/lit/passes/signature-pruning.wast +++ b/test/lit/passes/signature-pruning.wast @@ -167,7 +167,7 @@ ;; CHECK: (func $caller (type $none_=>_none) ;; CHECK-NEXT: (call $foo - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $caller) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -247,7 +247,7 @@ ;; CHECK-NEXT: (f32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call_ref - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $caller) ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/signature-refining.wast b/test/lit/passes/signature-refining.wast index 02041c91cc4..c1ca742e557 100644 --- a/test/lit/passes/signature-refining.wast +++ b/test/lit/passes/signature-refining.wast @@ -688,7 +688,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $foo - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 0) diff --git a/test/lit/passes/simplify-globals-read_only_to_write.wast b/test/lit/passes/simplify-globals-read_only_to_write.wast index 21ed50b61f8..db4738bf63d 100644 --- a/test/lit/passes/simplify-globals-read_only_to_write.wast +++ b/test/lit/passes/simplify-globals-read_only_to_write.wast @@ -28,7 +28,7 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 1) @@ -121,7 +121,7 @@ ;; CHECK: (func $side-effects-in-body ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $global) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $global ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -159,19 +159,17 @@ ;; CHECK: (func $nested ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (block $block1 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (block $block3 - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.const 2) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop @@ -551,7 +549,7 @@ ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local $y i32) ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.const 0) @@ -611,7 +609,7 @@ ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local $y i32) ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $once) @@ -673,10 +671,10 @@ ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local $y i32) ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (block $block1 (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (drop @@ -748,7 +746,7 @@ ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local $y i32) ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/simplify-locals-gc-nn.wast b/test/lit/passes/simplify-locals-gc-nn.wast index 9d75b3d808b..814350fc051 100644 --- a/test/lit/passes/simplify-locals-gc-nn.wast +++ b/test/lit/passes/simplify-locals-gc-nn.wast @@ -93,7 +93,7 @@ ;; CHECK-NEXT: (local $nullable anyref) ;; CHECK-NEXT: (local $nn (ref any)) ;; CHECK-NEXT: (local.set $nullable - ;; CHECK-NEXT: (block $block (result (ref any)) + ;; CHECK-NEXT: (block (result (ref any)) ;; CHECK-NEXT: (local.set $nn ;; CHECK-NEXT: (ref.as_non_null ;; CHECK-NEXT: (ref.null any) diff --git a/test/lit/types-function-references.wast b/test/lit/types-function-references.wast index db465acea3b..4c7def8c9eb 100644 --- a/test/lit/types-function-references.wast +++ b/test/lit/types-function-references.wast @@ -51,8 +51,6 @@ (type $i32-i32 (func (param i32) (result i32))) - ;; CHECK-BINARY: (type $none_=>_i32_ref?|$mixed_results|_f64 (func (result i32 (ref null $mixed_results) f64))) - ;; CHECK-BINARY: (type $ref?|$mixed_results|_=>_none (func (param (ref null $mixed_results)))) ;; CHECK-BINARY: (elem declare func $call-ref $call-ref-more) @@ -62,8 +60,6 @@ ;; CHECK-BINARY-NEXT: (ref.func $call-ref) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) - ;; CHECK-TEXT: (type $none_=>_i32_ref?|$mixed_results|_f64 (func (result i32 (ref null $mixed_results) f64))) - ;; CHECK-TEXT: (type $ref?|$mixed_results|_=>_none (func (param (ref null $mixed_results)))) ;; CHECK-TEXT: (elem declare func $call-ref $call-ref-more) @@ -184,74 +180,10 @@ (local $x (i32 (ref null $=>anyref) f64)) ) ;; CHECK-BINARY: (func $type-only-in-tuple-block - ;; CHECK-BINARY-NEXT: (local $0 (i32 (ref null $mixed_results) f64)) - ;; CHECK-BINARY-NEXT: (local $1 (ref null $mixed_results)) - ;; CHECK-BINARY-NEXT: (local $2 i32) - ;; CHECK-BINARY-NEXT: (local.set $0 - ;; CHECK-BINARY-NEXT: (block $label$1 (result i32 (ref null $mixed_results) f64) - ;; CHECK-BINARY-NEXT: (unreachable) - ;; CHECK-BINARY-NEXT: ) - ;; CHECK-BINARY-NEXT: ) - ;; CHECK-BINARY-NEXT: (drop - ;; CHECK-BINARY-NEXT: (block (result i32) - ;; CHECK-BINARY-NEXT: (local.set $2 - ;; CHECK-BINARY-NEXT: (tuple.extract 0 - ;; CHECK-BINARY-NEXT: (local.get $0) - ;; CHECK-BINARY-NEXT: ) - ;; CHECK-BINARY-NEXT: ) - ;; CHECK-BINARY-NEXT: (drop - ;; CHECK-BINARY-NEXT: (block (result (ref null $mixed_results)) - ;; CHECK-BINARY-NEXT: (local.set $1 - ;; CHECK-BINARY-NEXT: (tuple.extract 1 - ;; CHECK-BINARY-NEXT: (local.get $0) - ;; CHECK-BINARY-NEXT: ) - ;; CHECK-BINARY-NEXT: ) - ;; CHECK-BINARY-NEXT: (drop - ;; CHECK-BINARY-NEXT: (tuple.extract 2 - ;; CHECK-BINARY-NEXT: (local.get $0) - ;; CHECK-BINARY-NEXT: ) - ;; CHECK-BINARY-NEXT: ) - ;; CHECK-BINARY-NEXT: (local.get $1) - ;; CHECK-BINARY-NEXT: ) - ;; CHECK-BINARY-NEXT: ) - ;; CHECK-BINARY-NEXT: (local.get $2) - ;; CHECK-BINARY-NEXT: ) - ;; CHECK-BINARY-NEXT: ) + ;; CHECK-BINARY-NEXT: (unreachable) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $type-only-in-tuple-block - ;; CHECK-TEXT-NEXT: (local $0 (i32 (ref null $mixed_results) f64)) - ;; CHECK-TEXT-NEXT: (local $1 (ref null $mixed_results)) - ;; CHECK-TEXT-NEXT: (local $2 i32) - ;; CHECK-TEXT-NEXT: (local.set $0 - ;; CHECK-TEXT-NEXT: (block $label$1 (result i32 (ref null $mixed_results) f64) - ;; CHECK-TEXT-NEXT: (unreachable) - ;; CHECK-TEXT-NEXT: ) - ;; CHECK-TEXT-NEXT: ) - ;; CHECK-TEXT-NEXT: (drop - ;; CHECK-TEXT-NEXT: (block $block (result i32) - ;; CHECK-TEXT-NEXT: (local.set $2 - ;; CHECK-TEXT-NEXT: (tuple.extract 0 - ;; CHECK-TEXT-NEXT: (local.get $0) - ;; CHECK-TEXT-NEXT: ) - ;; CHECK-TEXT-NEXT: ) - ;; CHECK-TEXT-NEXT: (drop - ;; CHECK-TEXT-NEXT: (block $block0 (result (ref null $mixed_results)) - ;; CHECK-TEXT-NEXT: (local.set $1 - ;; CHECK-TEXT-NEXT: (tuple.extract 1 - ;; CHECK-TEXT-NEXT: (local.get $0) - ;; CHECK-TEXT-NEXT: ) - ;; CHECK-TEXT-NEXT: ) - ;; CHECK-TEXT-NEXT: (drop - ;; CHECK-TEXT-NEXT: (tuple.extract 2 - ;; CHECK-TEXT-NEXT: (local.get $0) - ;; CHECK-TEXT-NEXT: ) - ;; CHECK-TEXT-NEXT: ) - ;; CHECK-TEXT-NEXT: (local.get $1) - ;; CHECK-TEXT-NEXT: ) - ;; CHECK-TEXT-NEXT: ) - ;; CHECK-TEXT-NEXT: (local.get $2) - ;; CHECK-TEXT-NEXT: ) - ;; CHECK-TEXT-NEXT: ) + ;; CHECK-TEXT-NEXT: (unreachable) ;; CHECK-TEXT-NEXT: ) (func $type-only-in-tuple-block (drop @@ -392,8 +324,6 @@ ;; CHECK-NODEBUG: (type $none_=>_anyref (func (result anyref))) -;; CHECK-NODEBUG: (type $none_=>_i32_ref?|none_->_anyref_f32_anyref_f32|_f64 (func (result i32 (ref null $none_=>_anyref_f32_anyref_f32) f64))) - ;; CHECK-NODEBUG: (type $ref?|none_->_anyref_f32_anyref_f32|_=>_none (func (param (ref null $none_=>_anyref_f32_anyref_f32)))) ;; CHECK-NODEBUG: (elem declare func $0 $2) @@ -454,39 +384,7 @@ ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $8 -;; CHECK-NODEBUG-NEXT: (local $0 (i32 (ref null $none_=>_anyref_f32_anyref_f32) f64)) -;; CHECK-NODEBUG-NEXT: (local $1 (ref null $none_=>_anyref_f32_anyref_f32)) -;; CHECK-NODEBUG-NEXT: (local $2 i32) -;; CHECK-NODEBUG-NEXT: (local.set $0 -;; CHECK-NODEBUG-NEXT: (block $label$1 (result i32 (ref null $none_=>_anyref_f32_anyref_f32) f64) -;; CHECK-NODEBUG-NEXT: (unreachable) -;; CHECK-NODEBUG-NEXT: ) -;; CHECK-NODEBUG-NEXT: ) -;; CHECK-NODEBUG-NEXT: (drop -;; CHECK-NODEBUG-NEXT: (block (result i32) -;; CHECK-NODEBUG-NEXT: (local.set $2 -;; CHECK-NODEBUG-NEXT: (tuple.extract 0 -;; CHECK-NODEBUG-NEXT: (local.get $0) -;; CHECK-NODEBUG-NEXT: ) -;; CHECK-NODEBUG-NEXT: ) -;; CHECK-NODEBUG-NEXT: (drop -;; CHECK-NODEBUG-NEXT: (block (result (ref null $none_=>_anyref_f32_anyref_f32)) -;; CHECK-NODEBUG-NEXT: (local.set $1 -;; CHECK-NODEBUG-NEXT: (tuple.extract 1 -;; CHECK-NODEBUG-NEXT: (local.get $0) -;; CHECK-NODEBUG-NEXT: ) -;; CHECK-NODEBUG-NEXT: ) -;; CHECK-NODEBUG-NEXT: (drop -;; CHECK-NODEBUG-NEXT: (tuple.extract 2 -;; CHECK-NODEBUG-NEXT: (local.get $0) -;; CHECK-NODEBUG-NEXT: ) -;; CHECK-NODEBUG-NEXT: ) -;; CHECK-NODEBUG-NEXT: (local.get $1) -;; CHECK-NODEBUG-NEXT: ) -;; CHECK-NODEBUG-NEXT: ) -;; CHECK-NODEBUG-NEXT: (local.get $2) -;; CHECK-NODEBUG-NEXT: ) -;; CHECK-NODEBUG-NEXT: ) +;; CHECK-NODEBUG-NEXT: (unreachable) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $9 diff --git a/test/multivalue.wast.from-wast b/test/multivalue.wast.from-wast index 9340c183aa9..a8649248540 100644 --- a/test/multivalue.wast.from-wast +++ b/test/multivalue.wast.from-wast @@ -88,7 +88,7 @@ ) (func $drop-block (drop - (block $block (result i32 i64) + (block (result i32 i64) (tuple.make (i32.const 42) (i64.const 42) @@ -105,12 +105,10 @@ ) ) (func $mv-return-in-block (result i32 i64) - (block $block (result i32 i64) - (return - (tuple.make - (i32.const 42) - (i64.const 42) - ) + (return + (tuple.make + (i32.const 42) + (i64.const 42) ) ) ) diff --git a/test/multivalue.wast.fromBinary b/test/multivalue.wast.fromBinary index dd39d4b34f0..11a87cd28c7 100644 --- a/test/multivalue.wast.fromBinary +++ b/test/multivalue.wast.fromBinary @@ -293,29 +293,16 @@ ) ) (func $drop-block - (local $0 (i32 i64)) - (local $1 i32) - (local.set $0 - (block $label$1 (result i32 i64) - (tuple.make - (i32.const 42) - (i64.const 42) - ) - ) - ) + (local $0 i32) (drop (block (result i32) - (local.set $1 - (tuple.extract 0 - (local.get $0) - ) + (local.set $0 + (i32.const 42) ) (drop - (tuple.extract 1 - (local.get $0) - ) + (i64.const 42) ) - (local.get $1) + (local.get $0) ) ) ) diff --git a/test/multivalue.wast.fromBinary.noDebugInfo b/test/multivalue.wast.fromBinary.noDebugInfo index 66c0f52c5eb..741c25a30f1 100644 --- a/test/multivalue.wast.fromBinary.noDebugInfo +++ b/test/multivalue.wast.fromBinary.noDebugInfo @@ -293,29 +293,16 @@ ) ) (func $9 - (local $0 (i32 i64)) - (local $1 i32) - (local.set $0 - (block $label$1 (result i32 i64) - (tuple.make - (i32.const 42) - (i64.const 42) - ) - ) - ) + (local $0 i32) (drop (block (result i32) - (local.set $1 - (tuple.extract 0 - (local.get $0) - ) + (local.set $0 + (i32.const 42) ) (drop - (tuple.extract 1 - (local.get $0) - ) + (i64.const 42) ) - (local.get $1) + (local.get $0) ) ) ) diff --git a/test/passes/duplicate-function-elimination_optimize-level=1.txt b/test/passes/duplicate-function-elimination_optimize-level=1.txt index c5f9b268e34..bd205058816 100644 --- a/test/passes/duplicate-function-elimination_optimize-level=1.txt +++ b/test/passes/duplicate-function-elimination_optimize-level=1.txt @@ -212,7 +212,7 @@ (memory $0 0) (func $keep2 (block $foo - (block $block + (block (drop (i32.const 0) ) @@ -222,7 +222,7 @@ ) (func $other (block $bar - (block $block + (block (drop (i32.const 1) ) diff --git a/test/passes/duplicate-function-elimination_optimize-level=2.txt b/test/passes/duplicate-function-elimination_optimize-level=2.txt index 0ab205f10ca..9a360fade22 100644 --- a/test/passes/duplicate-function-elimination_optimize-level=2.txt +++ b/test/passes/duplicate-function-elimination_optimize-level=2.txt @@ -209,7 +209,7 @@ (memory $0 0) (func $keep2 (block $foo - (block $block + (block (drop (i32.const 0) ) @@ -219,7 +219,7 @@ ) (func $other (block $bar - (block $block + (block (drop (i32.const 1) ) diff --git a/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.txt b/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.txt index b9624c55dab..e37b8289a2b 100644 --- a/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.txt +++ b/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.txt @@ -1084,7 +1084,7 @@ ) (func $unreachable-block (; has Stack IR ;) (result i32) (f64.abs - (block $block + (block (drop (i32.const 1) ) @@ -1095,18 +1095,16 @@ ) ) (func $unreachable-block-toplevel (; has Stack IR ;) (result i32) - (block $block - (drop - (i32.const 1) - ) - (return - (i32.const 2) - ) + (drop + (i32.const 1) + ) + (return + (i32.const 2) ) ) (func $unreachable-block0 (; has Stack IR ;) (result i32) (f64.abs - (block $block + (block (return (i32.const 2) ) @@ -1114,10 +1112,8 @@ ) ) (func $unreachable-block0-toplevel (; has Stack IR ;) (result i32) - (block $block - (return - (i32.const 2) - ) + (return + (i32.const 2) ) ) (func $unreachable-block-with-br (; has Stack IR ;) (result i32) @@ -1235,10 +1231,8 @@ (func $unreachable-if-arm (; has Stack IR ;) (if (i32.const 1) - (block $block - (nop) - ) - (block $block12 + (nop) + (block (unreachable) (drop (i32.const 1) @@ -1552,7 +1546,7 @@ (local $temp1 i32) (if (i32.const 0) - (block $block + (block (local.set $temp1 (call $local-to-stack-multi-4 (i32.const 0) @@ -1562,7 +1556,7 @@ (local.get $temp1) ) ) - (block $block13 + (block (local.set $temp1 (call $local-to-stack-multi-4 (i32.const 1) @@ -1581,7 +1575,7 @@ (i32.const 0) ) (i32.eqz - (block $block (result i32) + (block (result i32) (local.set $temp (call $remove-block (i32.const 1) diff --git a/test/passes/licm.txt b/test/passes/licm.txt index 0ad7af77154..ef1c203993a 100644 --- a/test/passes/licm.txt +++ b/test/passes/licm.txt @@ -403,7 +403,7 @@ ) (func $nested-blocks (loop $loop - (block $block + (block (nop) ) (block $x @@ -423,7 +423,7 @@ ) (func $nested-unhoistable-blocks (loop $loop - (block $block + (block (call $nested-unhoistable-blocks) ) (block $x diff --git a/test/passes/merge-blocks.txt b/test/passes/merge-blocks.txt index 70ecce6c5eb..fa82ac01560 100644 --- a/test/passes/merge-blocks.txt +++ b/test/passes/merge-blocks.txt @@ -5,72 +5,62 @@ (type $none_=>_f32 (func (result f32))) (global $global$0 (mut i32) (i32.const 10)) (func $drop-block - (block $block - (drop - (i32.const 0) - ) + (drop + (i32.const 0) ) ) (func $drop-block-br - (block $block - (drop - (block $x (result i32) - (br $x - (i32.const 1) - ) - (i32.const 0) + (drop + (block $x (result i32) + (br $x + (i32.const 1) ) + (i32.const 0) ) ) ) (func $drop-block-br-if - (block $block - (drop - (i32.const 1) + (drop + (i32.const 1) + ) + (block $x + (br_if $x + (i32.const 2) ) - (block $x - (br_if $x - (i32.const 2) - ) - (drop - (i32.const 0) - ) + (drop + (i32.const 0) ) ) ) (func $undroppable-block-br-if (param $0 i32) - (block $block - (drop - (block $x (result i32) - (call $undroppable-block-br-if - (br_if $x - (i32.const 1) - (i32.const 2) - ) + (drop + (block $x (result i32) + (call $undroppable-block-br-if + (br_if $x + (i32.const 1) + (i32.const 2) ) - (i32.const 0) ) + (i32.const 0) ) ) ) (func $drop-block-nested-br-if - (block $block - (block $x - (if - (i32.const 100) - (block $block0 - (drop - (i32.const 1) - ) - (br_if $x - (i32.const 2) - ) - (nop) + (block $x + (if + (i32.const 100) + (block + (drop + (i32.const 1) ) + (br_if $x + (i32.const 2) + ) + (nop) ) - (drop - (i32.const 0) - ) + ) + (drop + (i32.const 0) ) ) ) @@ -100,21 +90,19 @@ ) ) (func $br-goes-away-label2-becomes-unreachable - (block $block - (drop - (block $label$1 (result i32) - (block $label$2 - (drop - (br_if $label$1 - (unreachable) - (i32.eqz - (br $label$2) - ) + (drop + (block $label$1 (result i32) + (block $label$2 + (drop + (br_if $label$1 + (unreachable) + (i32.eqz + (br $label$2) ) ) ) - (i32.const 1) ) + (i32.const 1) ) ) ) @@ -133,7 +121,7 @@ (block $label (if (i32.const 1) - (block $block + (block (drop (i32.const 2) ) @@ -148,7 +136,7 @@ (block $label (if (br $label) - (block $block + (block (drop (i32.const 2) ) @@ -250,7 +238,7 @@ (if (i32.const 1) (nop) - (block $block + (block (drop (loop $label$3 (result i64) (br_if $label$3 diff --git a/test/passes/merge-locals_all-features.txt b/test/passes/merge-locals_all-features.txt index d3e9cc0d555..ebb9407fc7a 100644 --- a/test/passes/merge-locals_all-features.txt +++ b/test/passes/merge-locals_all-features.txt @@ -333,7 +333,7 @@ (drop (local.get $x) ) - (block $block + (block (if (i32.const 1) (local.set $x @@ -389,11 +389,11 @@ ) ) (i32.const 0) - (block $block (result i32) + (block (result i32) (local.set $var$3 (if (result i32) (i32.const 0) - (block $block13 (result i32) + (block (result i32) (block $label$7 (block $label$8 (local.set $var$0 @@ -403,7 +403,7 @@ ) (local.get $var$3) ) - (block $block14 (result i32) + (block (result i32) (if (i32.eqz (global.get $global$0) diff --git a/test/passes/pick-load-signs_all-features.txt b/test/passes/pick-load-signs_all-features.txt index 4b08c75dec4..8fcc78af562 100644 --- a/test/passes/pick-load-signs_all-features.txt +++ b/test/passes/pick-load-signs_all-features.txt @@ -4,7 +4,7 @@ (func $atomics-are-always-unsigned (result i32) (local $0 i32) (drop - (block $block (result i32) + (block (result i32) (local.set $0 (i32.atomic.load16_u (i32.const 27) diff --git a/test/passes/precompute-propagate_all-features.txt b/test/passes/precompute-propagate_all-features.txt index 6001d54ba96..edb5b1e05c3 100644 --- a/test/passes/precompute-propagate_all-features.txt +++ b/test/passes/precompute-propagate_all-features.txt @@ -250,7 +250,7 @@ ) (func $through-fallthrough (param $x i32) (param $y i32) (result i32) (local.set $x - (block $block (result i32) + (block (result i32) (nop) (local.tee $y (i32.const 7) diff --git a/test/passes/precompute_all-features.txt b/test/passes/precompute_all-features.txt index 89d334a93dc..1fbea9d64d1 100644 --- a/test/passes/precompute_all-features.txt +++ b/test/passes/precompute_all-features.txt @@ -171,7 +171,7 @@ (block (select (i64.const 1) - (block $block + (block (global.set $global-mut (i32.const 1) ) diff --git a/test/passes/print-call-graph.txt b/test/passes/print-call-graph.txt index 4b2cefb81bc..b8c3c12e5ee 100644 --- a/test/passes/print-call-graph.txt +++ b/test/passes/print-call-graph.txt @@ -225,7 +225,7 @@ digraph call { (i32.eqz (global.get $__THREW__) ) - (block $block + (block (global.set $__THREW__ (local.get $0) ) @@ -404,7 +404,7 @@ digraph call { (i32.load (i32.const 1140) ) - (block $block (result i32) + (block (result i32) (call $_pthread_cleanup_push (i32.const 1) (local.get $0) @@ -436,7 +436,7 @@ digraph call { ) (local.get $3) ) - (block $block0 (result i32) + (block (result i32) (i32.store (local.get $8) (i32.load @@ -484,7 +484,7 @@ digraph call { ) ) ) - (block $block2 (result i32) + (block (result i32) (i32.store (local.get $6) (local.tee $3 @@ -524,7 +524,7 @@ digraph call { (local.get $5) (i32.const 2) ) - (block $block4 (result i32) + (block (result i32) (i32.store (local.get $6) (i32.add @@ -542,7 +542,7 @@ digraph call { ) (local.get $12) ) - (block $block5 (result i32) + (block (result i32) (local.set $3 (local.get $1) ) @@ -693,7 +693,7 @@ digraph call { ) (i32.const 0) ) - (block $block (result i32) + (block (result i32) (i32.store (local.get $0) (i32.const -1) @@ -716,7 +716,7 @@ digraph call { (local.get $0) (i32.const -4096) ) - (block $block (result i32) + (block (result i32) (i32.store (call $___errno_location) (i32.sub @@ -787,7 +787,7 @@ digraph call { (i32.const 64) ) ) - (block $block + (block (i32.store (local.get $3) (i32.load offset=60 @@ -832,7 +832,7 @@ digraph call { (block $do-once (result i32) (if (result i32) (local.get $0) - (block $block (result i32) + (block (result i32) (if (i32.le_s (i32.load offset=76 @@ -861,7 +861,7 @@ digraph call { (if (result i32) (local.get $2) (local.get $1) - (block $block9 (result i32) + (block (result i32) (call $_free (local.get $0) ) @@ -869,7 +869,7 @@ digraph call { ) ) ) - (block $block10 (result i32) + (block (result i32) (local.set $0 (if (result i32) (i32.load @@ -1091,7 +1091,7 @@ digraph call { (local.tee $0 (call $__ZSt15get_new_handlerv) ) - (block $block + (block (call_indirect (type $FUNCSIG$v) (i32.add (i32.and @@ -1145,7 +1145,7 @@ digraph call { (local.get $2) (i32.const 20) ) - (block $block + (block (local.set $5 (i32.or (i32.or @@ -1185,7 +1185,7 @@ digraph call { (i32.const 3) ) ) - (block $block17 + (block (local.set $3 (i32.sub (i32.add @@ -1201,7 +1201,7 @@ digraph call { (local.get $0) (local.get $3) ) - (block $block19 + (block (i32.store8 (local.get $0) (local.get $1) @@ -1224,7 +1224,7 @@ digraph call { (local.get $0) (local.get $6) ) - (block $block21 + (block (i32.store (local.get $0) (local.get $5) @@ -1247,7 +1247,7 @@ digraph call { (local.get $0) (local.get $4) ) - (block $block23 + (block (i32.store8 (local.get $0) (local.get $1) @@ -1296,7 +1296,7 @@ digraph call { (i32.const 3) ) ) - (block $block + (block (loop $while-in (block $while-out (br_if $while-out @@ -1348,7 +1348,7 @@ digraph call { (local.get $2) (i32.const 4) ) - (block $block27 + (block (i32.store (local.get $0) (i32.load @@ -1385,7 +1385,7 @@ digraph call { (local.get $2) (i32.const 0) ) - (block $block29 + (block (i32.store8 (local.get $0) (i32.load8_s diff --git a/test/passes/remove-non-js-ops.txt b/test/passes/remove-non-js-ops.txt index 00575cacb36..f7ac70d9163 100644 --- a/test/passes/remove-non-js-ops.txt +++ b/test/passes/remove-non-js-ops.txt @@ -377,7 +377,7 @@ ) ) ) - (block $block + (block (br_if $label$11 (i32.eqz (local.tee $var$3 @@ -671,7 +671,7 @@ (block $label$13 (if (local.get $var$2) - (block $block3 + (block (local.set $var$8 (i64.add (local.get $var$1) @@ -831,7 +831,7 @@ (f32.const 0.5) ) ) - (block $block + (block (local.set $var$0 (f32.ceil (local.get $var$0) @@ -889,7 +889,7 @@ (f64.const 0.5) ) ) - (block $block + (block (local.set $var$0 (f64.ceil (local.get $var$0) diff --git a/test/passes/remove-unused-brs_enable-multivalue.txt b/test/passes/remove-unused-brs_enable-multivalue.txt index cf8ad7ec20e..8240bba2298 100644 --- a/test/passes/remove-unused-brs_enable-multivalue.txt +++ b/test/passes/remove-unused-brs_enable-multivalue.txt @@ -19,10 +19,11 @@ ) (func $b1 (param $i1 i32) (block $topmost - (block $block + (block (drop (i32.const 0) ) + (nop) ) ) ) @@ -41,10 +42,11 @@ (func $b4 (param $i1 i32) (block $topmost (block $inner - (block $block + (block (drop (i32.const 0) ) + (nop) ) ) ) @@ -52,10 +54,11 @@ (func $b5 (param $i1 i32) (block $topmost (block $inner - (block $block + (block (drop (i32.const 0) ) + (nop) ) ) ) @@ -69,7 +72,7 @@ ) (func $b7 (param $i1 i32) (block $topmost - (block $block + (block (drop (i32.const 0) ) @@ -100,7 +103,7 @@ (func $b10 (param $i1 i32) (block $topmost (block $inner - (block $block + (block (drop (i32.const 0) ) @@ -114,7 +117,7 @@ (func $b11 (param $i1 i32) (block $topmost (block $inner - (block $block + (block (drop (i32.const 0) ) @@ -133,10 +136,11 @@ (drop (i32.const 12) ) - (block $block + (block (drop (i32.const 1) ) + (nop) ) ) ) @@ -144,10 +148,11 @@ (drop (i32.const 27) ) - (block $block0 + (block (drop (i32.const 2) ) + (nop) ) ) ) @@ -222,10 +227,11 @@ (if (i32.const 18) (block $topmost - (block $block + (block (drop (i32.const 0) ) + (nop) ) ) ) @@ -325,7 +331,7 @@ (i32.const 1) ) (block $block2 - (block $block + (block (drop (i32.const 2) ) @@ -339,7 +345,7 @@ (if (i32.const 0) (block $block4 - (block $block13 + (block (drop (i32.const 2) ) @@ -355,7 +361,7 @@ ) (if (block $block6 (result i32) - (block $block15 + (block (drop (i32.const 2) ) @@ -375,17 +381,19 @@ (i32.const 0) ) (block $a18 - (block $block19 + (block (drop (i32.const 1) ) + (nop) ) ) (block $a20 - (block $block21 + (block (drop (i32.const 2) ) + (nop) ) ) ) @@ -396,7 +404,7 @@ (block $do-once$0 (if (call $b13) - (block $block + (block (drop (i32.const 0) ) @@ -410,7 +418,7 @@ (block $do-once$022 (if (call $b13) - (block $block24 + (block (drop (call $b14) ) @@ -424,7 +432,7 @@ (block $do-once$025 (if (i32.const 0) - (block $block27 + (block (drop (call $b14) ) @@ -516,8 +524,9 @@ (if (i32.const 0) (block $out49 - (block $block + (block (call $loops) + (nop) ) ) (br $in48) @@ -560,12 +569,10 @@ (if (i32.const 0) (block - (block $block61 - (drop - (i32.const 1) - ) - (call $loops) + (drop + (i32.const 1) ) + (call $loops) (br $in58) ) (block $out59 @@ -604,12 +611,10 @@ (if (i32.const 0) (block - (block $block71 - (drop - (i32.const 1) - ) - (call $loops) + (drop + (i32.const 1) ) + (call $loops) (drop (i32.const 102) ) @@ -794,7 +799,7 @@ (if (local.get $x) (br $out - (block $block (result i32) + (block (result i32) (local.set $x (i32.const 0) ) @@ -824,7 +829,7 @@ (i32.const 1) ) (br $out - (block $block (result i32) + (block (result i32) (local.set $x (i32.const 0) ) @@ -848,7 +853,7 @@ (if (local.get $x) (br $out - (block $block (result i32) + (block (result i32) (drop (call $if-to-br_if-value-sideeffect (i32.const 0) @@ -963,7 +968,7 @@ (i32.const 2) ) ) - (block $block (result i32) + (block (result i32) (drop (call $loop-if) ) @@ -2120,7 +2125,7 @@ (if (i32.const 1) (block $label - (block $block + (block (drop (i32.const 2) ) @@ -2135,7 +2140,7 @@ (block $label (if (br $label) - (block $block + (block (drop (i32.const 2) ) @@ -2234,7 +2239,7 @@ (if (i32.const 1) (nop) - (block $block + (block (drop (loop $label$3 (result i64) (br_if $label$3 @@ -2320,7 +2325,9 @@ (if (i32.const 0) (block $label$3 - (block $block + (block + (nop) + (nop) ) ) (return @@ -2604,17 +2611,15 @@ ) ) (func $do-not-flow-values-through-unreachable-code (result i32) - (block $block - (unreachable) - (if - (i32.const 0) - (block $A - (return - (i32.const 0) - ) + (unreachable) + (if + (i32.const 0) + (block $A + (return + (i32.const 0) ) - (nop) ) + (nop) ) ) (func $do-not-flow-values-through-unreachable-code-b (result i32) @@ -2692,7 +2697,7 @@ ) (i32.const 3) ) - (block $block (result i32) + (block (result i32) (if (local.get $x) (return diff --git a/test/passes/remove-unused-brs_shrink-level=1.txt b/test/passes/remove-unused-brs_shrink-level=1.txt index 22f70fff167..c32b64d0330 100644 --- a/test/passes/remove-unused-brs_shrink-level=1.txt +++ b/test/passes/remove-unused-brs_shrink-level=1.txt @@ -124,7 +124,7 @@ ) (func $join-and-it-becomes-unreachable (block $label$1 - (block $block + (block (br_if $label$1 (i32.load8_u (i32.const -93487262) diff --git a/test/passes/rse_all-features.txt b/test/passes/rse_all-features.txt index 8ad883d9f15..6a4c182d1fa 100644 --- a/test/passes/rse_all-features.txt +++ b/test/passes/rse_all-features.txt @@ -399,7 +399,7 @@ (block $label$5 (if (i32.const 1) - (block $block + (block (local.set $x (i32.const 203) ) diff --git a/test/passes/simplify-locals-nonesting.txt b/test/passes/simplify-locals-nonesting.txt index 8cae72bebf1..abc3aecb939 100644 --- a/test/passes/simplify-locals-nonesting.txt +++ b/test/passes/simplify-locals-nonesting.txt @@ -17,7 +17,7 @@ (local $15 i32) (local $16 i32) (local $17 i32) - (block $block + (block (nop) (nop) (nop) @@ -76,7 +76,7 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (block $block + (block (nop) (nop) (local.set $8 @@ -87,7 +87,7 @@ ) (if (local.get $8) - (block $block0 + (block (block $block1 (nop) (nop) @@ -127,7 +127,7 @@ ) (unreachable) ) - (block $block2 + (block (unreachable) (unreachable) ) @@ -146,8 +146,8 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (block $block - (block $block3 + (block + (block (nop) (local.set $2 (i32.and @@ -157,7 +157,7 @@ ) (if (local.get $2) - (block $block4 + (block (nop) (nop) (local.set $x @@ -168,7 +168,7 @@ ) (nop) ) - (block $block5 + (block (nop) (nop) (local.set $x diff --git a/test/passes/simplify-locals-nostructure.txt b/test/passes/simplify-locals-nostructure.txt index 2293f1147b2..ef262f8df1b 100644 --- a/test/passes/simplify-locals-nostructure.txt +++ b/test/passes/simplify-locals-nostructure.txt @@ -30,7 +30,7 @@ ) (nop) (drop - (block $block (result i32) + (block (result i32) (i32.const 5) ) ) @@ -49,7 +49,7 @@ (block $val (if (i32.const 10) - (block $block4 + (block (local.set $b (i32.const 11) ) @@ -122,7 +122,7 @@ (local.set $x (i32.const 2) ) - (block $block + (block (nop) (nop) ) diff --git a/test/passes/simplify-locals-notee-nostructure.txt b/test/passes/simplify-locals-notee-nostructure.txt index 5d545a77cbf..b6ad340d4e6 100644 --- a/test/passes/simplify-locals-notee-nostructure.txt +++ b/test/passes/simplify-locals-notee-nostructure.txt @@ -27,7 +27,7 @@ ) (nop) (drop - (block $block (result i32) + (block (result i32) (i32.const 5) ) ) @@ -46,7 +46,7 @@ (block $val (if (i32.const 10) - (block $block4 + (block (local.set $b (i32.const 11) ) diff --git a/test/passes/simplify-locals-notee.txt b/test/passes/simplify-locals-notee.txt index 4642b977b66..57ef29fa05d 100644 --- a/test/passes/simplify-locals-notee.txt +++ b/test/passes/simplify-locals-notee.txt @@ -27,7 +27,7 @@ ) (nop) (drop - (block $block (result i32) + (block (result i32) (i32.const 5) ) ) @@ -50,7 +50,7 @@ (block $val (result i32) (if (i32.const 10) - (block $block4 + (block (nop) (br $val (i32.const 11) diff --git a/test/passes/simplify-locals.txt b/test/passes/simplify-locals.txt index faed220d5c6..4f2f30ce371 100644 --- a/test/passes/simplify-locals.txt +++ b/test/passes/simplify-locals.txt @@ -11,7 +11,7 @@ (i32.const 1) (i32.const 1) ) - (block $block (result i32) + (block (result i32) (nop) (nop) (nop) diff --git a/test/passes/simplify-locals_all-features.txt b/test/passes/simplify-locals_all-features.txt index d4338870d55..2d84d3a7dd1 100644 --- a/test/passes/simplify-locals_all-features.txt +++ b/test/passes/simplify-locals_all-features.txt @@ -47,7 +47,7 @@ ) (nop) (drop - (block $block (result i32) + (block (result i32) (i32.const 5) ) ) @@ -70,7 +70,7 @@ (block $val (result i32) (if (i32.const 10) - (block $block4 + (block (nop) (br $val (i32.const 11) @@ -293,8 +293,8 @@ (call $waka) (nop) (local.set $a - (block $block (result i32) - (block $block5 + (block (result i32) + (block (nop) (i32.store (i32.const 104) @@ -308,8 +308,8 @@ ) (call $waka) (local.set $a - (block $block6 (result i32) - (block $block7 + (block (result i32) + (block (nop) (i32.store (i32.const 106) @@ -327,8 +327,8 @@ ) (call $waka) (local.set $a - (block $block8 (result i32) - (block $block9 + (block (result i32) + (block (nop) (i32.store (i32.const 108) @@ -350,8 +350,8 @@ ) (call $waka) (local.set $a - (block $block10 (result i32) - (block $block11 + (block (result i32) + (block (nop) (i32.store (i32.const 110) @@ -765,7 +765,7 @@ (local.set $x (loop $moar (result i32) (nop) - (block $block (result i32) + (block (result i32) (br_if $moar (local.get $x) ) @@ -775,7 +775,7 @@ ) (block $moar18 (local.set $y - (block $block19 (result i32) + (block (result i32) (br_if $moar18 (local.get $y) ) @@ -1098,7 +1098,7 @@ ) (if (result f64) (global.get $global$0) - (block $block + (block (global.set $global$0 (i32.sub (global.get $global$0) @@ -1269,7 +1269,7 @@ (block $outside (loop $loop (br_if $outside - (block $block (result i32) + (block (result i32) (br_if $loop (local.get $temp) ) @@ -1300,7 +1300,7 @@ (local.tee $temp (i32.const -1) ) - (block $block (result i32) + (block (result i32) (nop) (i32.const 0) ) @@ -1357,18 +1357,14 @@ (if (result i32) (i32.const 1) (block - (block $block - (nop) - (nop) - (br $out) - ) + (nop) + (nop) + (br $out) (nop) ) (block (result i32) - (block $block2 - (nop) - (nop) - ) + (nop) + (nop) (i32.const 4) ) ) @@ -1377,30 +1373,26 @@ (if (result i32) (i32.const 6) (block (result i32) - (block $block4 - (nop) - (nop) - ) + (nop) + (nop) (i32.const 7) ) (block - (block $block5 - (nop) - (nop) - (br $out) - ) + (nop) + (nop) + (br $out) (nop) ) ) ) (if (i32.const 11) - (block $block7 + (block (nop) (nop) (br $out) ) - (block $block8 + (block (nop) (nop) (br $out) @@ -1616,10 +1608,8 @@ (i32.const 2) ) (block (result i32) - (block $block - (nop) - (nop) - ) + (nop) + (nop) (local.get $x) ) ) @@ -1675,12 +1665,10 @@ (f32.const -2048) ) (block - (block $block - (call $fimport$1 - (i32.const -25732) - ) - (br $label$2) + (call $fimport$1 + (i32.const -25732) ) + (br $label$2) (nop) ) ) @@ -1746,7 +1734,7 @@ (func $memory-init-store (local $x i32) (local.set $x - (block $block (result i32) + (block (result i32) (i32.store (i32.const 0) (i32.const 42) @@ -1782,7 +1770,7 @@ (func $memory-copy-store (local $x i32) (local.set $x - (block $block (result i32) + (block (result i32) (i32.store (i32.const 0) (i32.const 42) @@ -1818,7 +1806,7 @@ (func $memory-fill-store (local $x i32) (local.set $x - (block $block (result i32) + (block (result i32) (i32.store (i32.const 0) (i32.const 42) @@ -1850,7 +1838,7 @@ (func $data-drop-store (local $x i32) (local.set $x - (block $block (result i32) + (block (result i32) (i32.store (i32.const 0) (i32.const 42) @@ -1866,7 +1854,7 @@ (func $data-drop-memory-init (local $x i32) (local.set $x - (block $block (result i32) + (block (result i32) (memory.init 0 (i32.const 0) (i32.const 0) @@ -1887,7 +1875,7 @@ (local $0 eqref) (local $1 anyref) (local $2 anyref) - (block $block + (block (nop) ) (nop) @@ -1901,16 +1889,14 @@ (export "foo" (func $0)) (func $0 (result i32) (local $0 i32) - (block $block (result i32) - (local.set $0 - (i32.rem_u - (i32.const 0) - (i32.const 0) - ) + (local.set $0 + (i32.rem_u + (i32.const 0) + (i32.const 0) ) - (data.drop 0) - (local.get $0) ) + (data.drop 0) + (local.get $0) ) ) (module diff --git a/test/passes/simplify-locals_all-features_disable-exception-handling.txt b/test/passes/simplify-locals_all-features_disable-exception-handling.txt index 2f8825c728f..5a4dff21abb 100644 --- a/test/passes/simplify-locals_all-features_disable-exception-handling.txt +++ b/test/passes/simplify-locals_all-features_disable-exception-handling.txt @@ -47,7 +47,7 @@ ) (nop) (drop - (block $block (result i32) + (block (result i32) (i32.const 5) ) ) @@ -70,7 +70,7 @@ (block $val (result i32) (if (i32.const 10) - (block $block4 + (block (nop) (br $val (i32.const 11) @@ -287,8 +287,8 @@ (call $waka) (nop) (local.set $a - (block $block (result i32) - (block $block5 + (block (result i32) + (block (nop) (i32.store (i32.const 104) @@ -302,8 +302,8 @@ ) (call $waka) (local.set $a - (block $block6 (result i32) - (block $block7 + (block (result i32) + (block (nop) (i32.store (i32.const 106) @@ -321,8 +321,8 @@ ) (call $waka) (local.set $a - (block $block8 (result i32) - (block $block9 + (block (result i32) + (block (nop) (i32.store (i32.const 108) @@ -344,8 +344,8 @@ ) (call $waka) (local.set $a - (block $block10 (result i32) - (block $block11 + (block (result i32) + (block (nop) (i32.store (i32.const 110) @@ -759,7 +759,7 @@ (local.set $x (loop $moar (result i32) (nop) - (block $block (result i32) + (block (result i32) (br_if $moar (local.get $x) ) @@ -769,7 +769,7 @@ ) (block $moar18 (local.set $y - (block $block19 (result i32) + (block (result i32) (br_if $moar18 (local.get $y) ) @@ -1092,7 +1092,7 @@ ) (if (result f64) (global.get $global$0) - (block $block + (block (global.set $global$0 (i32.sub (global.get $global$0) @@ -1263,7 +1263,7 @@ (block $outside (loop $loop (br_if $outside - (block $block (result i32) + (block (result i32) (br_if $loop (local.get $temp) ) @@ -1294,7 +1294,7 @@ (local.tee $temp (i32.const -1) ) - (block $block (result i32) + (block (result i32) (nop) (i32.const 0) ) @@ -1351,18 +1351,14 @@ (if (result i32) (i32.const 1) (block - (block $block - (nop) - (nop) - (br $out) - ) + (nop) + (nop) + (br $out) (nop) ) (block (result i32) - (block $block2 - (nop) - (nop) - ) + (nop) + (nop) (i32.const 4) ) ) @@ -1371,30 +1367,26 @@ (if (result i32) (i32.const 6) (block (result i32) - (block $block4 - (nop) - (nop) - ) + (nop) + (nop) (i32.const 7) ) (block - (block $block5 - (nop) - (nop) - (br $out) - ) + (nop) + (nop) + (br $out) (nop) ) ) ) (if (i32.const 11) - (block $block7 + (block (nop) (nop) (br $out) ) - (block $block8 + (block (nop) (nop) (br $out) @@ -1610,10 +1602,8 @@ (i32.const 2) ) (block (result i32) - (block $block - (nop) - (nop) - ) + (nop) + (nop) (local.get $x) ) ) @@ -1669,12 +1659,10 @@ (f32.const -2048) ) (block - (block $block - (call $fimport$1 - (i32.const -25732) - ) - (br $label$2) + (call $fimport$1 + (i32.const -25732) ) + (br $label$2) (nop) ) ) @@ -1740,7 +1728,7 @@ (func $memory-init-store (local $x i32) (local.set $x - (block $block (result i32) + (block (result i32) (i32.store (i32.const 0) (i32.const 42) @@ -1776,7 +1764,7 @@ (func $memory-copy-store (local $x i32) (local.set $x - (block $block (result i32) + (block (result i32) (i32.store (i32.const 0) (i32.const 42) @@ -1812,7 +1800,7 @@ (func $memory-fill-store (local $x i32) (local.set $x - (block $block (result i32) + (block (result i32) (i32.store (i32.const 0) (i32.const 42) @@ -1844,7 +1832,7 @@ (func $data-drop-store (local $x i32) (local.set $x - (block $block (result i32) + (block (result i32) (i32.store (i32.const 0) (i32.const 42) @@ -1860,7 +1848,7 @@ (func $data-drop-memory-init (local $x i32) (local.set $x - (block $block (result i32) + (block (result i32) (memory.init 0 (i32.const 0) (i32.const 0) @@ -1881,7 +1869,7 @@ (local $0 funcref) (local $1 anyref) (local $2 anyref) - (block $block + (block (nop) ) (nop) diff --git a/test/passes/ssa-nomerge_enable-simd.txt b/test/passes/ssa-nomerge_enable-simd.txt index 1e2a4b92812..d0a794a9c53 100644 --- a/test/passes/ssa-nomerge_enable-simd.txt +++ b/test/passes/ssa-nomerge_enable-simd.txt @@ -115,7 +115,7 @@ (local.set $x (i32.const 6) ) - (block $block + (block (local.set $3 (i32.const 7) ) @@ -131,7 +131,7 @@ (func $if2 (param $x i32) (if (i32.const 1) - (block $block + (block (local.set $x (i32.const 1) ) diff --git a/test/passes/ssa_enable-threads.txt b/test/passes/ssa_enable-threads.txt index 7fa80040ba3..2c1b1746e4c 100644 --- a/test/passes/ssa_enable-threads.txt +++ b/test/passes/ssa_enable-threads.txt @@ -152,7 +152,7 @@ (i32.const 6) ) ) - (block $block + (block (local.set $10 (i32.const 7) ) @@ -177,7 +177,7 @@ (block (if (i32.const 1) - (block $block + (block (local.set $1 (local.tee $2 (i32.const 1) @@ -239,7 +239,7 @@ ) (if (i32.const 3) - (block $block + (block (local.set $2 (local.tee $6 (i32.const 1) diff --git a/test/passes/ssa_fuzz-exec_enable-threads.txt b/test/passes/ssa_fuzz-exec_enable-threads.txt index 40845e2094a..6334b35a7b5 100644 --- a/test/passes/ssa_fuzz-exec_enable-threads.txt +++ b/test/passes/ssa_fuzz-exec_enable-threads.txt @@ -54,7 +54,7 @@ ) (i32.const 1) ) - (block $block (result i32) + (block (result i32) (loop $label$15 (if (i32.const 0) @@ -70,10 +70,8 @@ ) ) ) - (block $block4 - (br_if $label$15 - (i32.const 0) - ) + (br_if $label$15 + (i32.const 0) ) ) (br_if $label$15 diff --git a/test/passes/vacuum_all-features.txt b/test/passes/vacuum_all-features.txt index b95959552dc..fccb8313320 100644 --- a/test/passes/vacuum_all-features.txt +++ b/test/passes/vacuum_all-features.txt @@ -185,7 +185,7 @@ (block $out (if (local.get $x) - (block $block9 + (block (local.set $x (local.get $x) ) @@ -208,16 +208,14 @@ (nop) ) (func $a - (block $block - (i32.store - (i32.const 1) - (i32.const 2) - ) - (f64.div - (f64.const -nan:0xfffffffffa361) - (loop $label$1 - (br $label$1) - ) + (i32.store + (i32.const 1) + (i32.const 2) + ) + (f64.div + (f64.const -nan:0xfffffffffa361) + (loop $label$1 + (br $label$1) ) ) ) @@ -248,7 +246,7 @@ ) (func $load-may-have-side-effects (result i32) (i64.ge_s - (block $block (result i64) + (block (result i64) (drop (i64.load32_s (i32.const 678585719) @@ -385,7 +383,7 @@ (call $_deflateInit2_ (local.get $3) ) - (block $block + (block (global.set $global$1 (local.get $3) ) @@ -402,7 +400,7 @@ ) (i32.const 1) ) - (block $block1 (result i32) + (block (result i32) (i32.store (local.get $1) (i32.load offset=20 @@ -419,7 +417,7 @@ ) (i32.const 0) ) - (block $block2 (result i32) + (block (result i32) (drop (call $_deflateEnd (local.get $3) diff --git a/test/polymorphic_stack.wast.from-wast b/test/polymorphic_stack.wast.from-wast index 634a634f778..e9379f862e9 100644 --- a/test/polymorphic_stack.wast.from-wast +++ b/test/polymorphic_stack.wast.from-wast @@ -82,7 +82,7 @@ ) (func $untaken-break-should-have-value (result i32) (block $x (result i32) - (block $block + (block (br_if $x (i32.const 0) (unreachable) diff --git a/test/unreachable-code.wast.from-wast b/test/unreachable-code.wast.from-wast index 867a362da13..afd67f76fd2 100644 --- a/test/unreachable-code.wast.from-wast +++ b/test/unreachable-code.wast.from-wast @@ -14,20 +14,16 @@ ) ) (func $a-block - (block $block - (if - (i32.const 1) - (unreachable) - ) + (if + (i32.const 1) + (unreachable) ) ) (func $b-block - (block $block - (if - (i32.const 1) - (unreachable) - (unreachable) - ) + (if + (i32.const 1) + (unreachable) + (unreachable) ) ) (func $a-prepost @@ -49,7 +45,7 @@ ) (func $a-block-prepost (nop) - (block $block + (block (if (i32.const 1) (unreachable) @@ -59,7 +55,7 @@ ) (func $b-block-prepost (nop) - (block $block + (block (if (i32.const 1) (unreachable) diff --git a/test/unreachable-code.wast.fromBinary b/test/unreachable-code.wast.fromBinary index a93ffe73002..67b8c30a62c 100644 --- a/test/unreachable-code.wast.fromBinary +++ b/test/unreachable-code.wast.fromBinary @@ -44,22 +44,18 @@ ) (func $a-block-prepost (nop) - (block $label$1 - (if - (i32.const 1) - (unreachable) - ) + (if + (i32.const 1) + (unreachable) ) (nop) ) (func $b-block-prepost (nop) - (block $label$1 - (if - (i32.const 1) - (unreachable) - (unreachable) - ) + (if + (i32.const 1) + (unreachable) + (unreachable) ) ) (func $recurse diff --git a/test/unreachable-code.wast.fromBinary.noDebugInfo b/test/unreachable-code.wast.fromBinary.noDebugInfo index 8f9fd6b005e..3ff74e98f24 100644 --- a/test/unreachable-code.wast.fromBinary.noDebugInfo +++ b/test/unreachable-code.wast.fromBinary.noDebugInfo @@ -44,22 +44,18 @@ ) (func $6 (nop) - (block $label$1 - (if - (i32.const 1) - (unreachable) - ) + (if + (i32.const 1) + (unreachable) ) (nop) ) (func $7 (nop) - (block $label$1 - (if - (i32.const 1) - (unreachable) - (unreachable) - ) + (if + (i32.const 1) + (unreachable) + (unreachable) ) ) (func $8 From 05350f5cc5856488986e0069c6bfe153b69ff833 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Fri, 19 Aug 2022 15:49:52 -0700 Subject: [PATCH 02/12] fix --- test/lit/passes/avoid-reinterprets.wast | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/test/lit/passes/avoid-reinterprets.wast b/test/lit/passes/avoid-reinterprets.wast index 74e36be49dc..046812dce09 100644 --- a/test/lit/passes/avoid-reinterprets.wast +++ b/test/lit/passes/avoid-reinterprets.wast @@ -223,26 +223,14 @@ ) ;; CHECK: (func $nofallthrough ;; CHECK-NEXT: (local $x i32) - ;; CHECK-NEXT: (local $1 i32) - ;; CHECK-NEXT: (local $2 f32) ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i32.const 1024) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (f32.load - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (f32.reinterpret_i32 - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (block $a-name-avoids-fallthrough (result i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -258,9 +246,11 @@ ) (drop (f32.reinterpret_i32 - (block (result i32) + (block $a-name-avoids-fallthrough (result i32) (nop) ;; this would be removed by other opts, but in general, we can't ;; just look at the fallthrough, as we can't just remove code here + ;; (note that we need a name on the block, or else we would look at + ;; the fallthrough) (local.get $x) ) ) From 117124198f30c60553bd1df1f83e30d92dd7376e Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Fri, 19 Aug 2022 15:50:50 -0700 Subject: [PATCH 03/12] fix --- test/lit/passes/avoid-reinterprets64.wast | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/test/lit/passes/avoid-reinterprets64.wast b/test/lit/passes/avoid-reinterprets64.wast index 7139bb4338c..7ddda24a069 100644 --- a/test/lit/passes/avoid-reinterprets64.wast +++ b/test/lit/passes/avoid-reinterprets64.wast @@ -223,26 +223,14 @@ ) ;; CHECK: (func $nofallthrough ;; CHECK-NEXT: (local $x i32) - ;; CHECK-NEXT: (local $1 i64) - ;; CHECK-NEXT: (local $2 f32) ;; CHECK-NEXT: (local.set $x - ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (i64.const 1024) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (f32.load - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.load - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.load + ;; CHECK-NEXT: (i64.const 1024) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (f32.reinterpret_i32 - ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (block $a-name-avoids-fallthrough (result i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -258,9 +246,11 @@ ) (drop (f32.reinterpret_i32 - (block (result i32) + (block $a-name-avoids-fallthrough (result i32) (nop) ;; this would be removed by other opts, but in general, we can't ;; just look at the fallthrough, as we can't just remove code here + ;; (note that we need a name on the block, or else we would look at + ;; the fallthrough) (local.get $x) ) ) From 64738b7777b0a007a786aca743b14bb5bce9f8c2 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Fri, 19 Aug 2022 15:51:56 -0700 Subject: [PATCH 04/12] comment --- src/wasm/wasm-s-parser.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 03c1dc9f162..362ba25f9d2 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -1577,7 +1577,8 @@ Expression* SExpressionWasmBuilder::makeBlock(Element& s) { // if one did not exist, perhaps a break targeted it by index), then we can // remove the name. Note that we only do this if it never had a name: if it // did, we don't want to change anything; we just want to be the same as - // the code we are loading. + // the code we are loading - if there was no name before, we don't want one + // now, so that we roundtrip text precisely. if (!hadName && !BranchUtils::BranchSeeker::has(curr, curr->name)) { curr->name = Name(); } From 9eba40cc2e026f05554813d0e65c03e0cf4c72a6 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Fri, 19 Aug 2022 15:59:07 -0700 Subject: [PATCH 05/12] undo --- test/lit/passes/poppify.wast | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/test/lit/passes/poppify.wast b/test/lit/passes/poppify.wast index 723509cb6eb..d1552ffc704 100644 --- a/test/lit/passes/poppify.wast +++ b/test/lit/passes/poppify.wast @@ -71,12 +71,18 @@ ) ;; CHECK: (func $nested (result i32) - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block $block0 (result i32) + ;; CHECK-NEXT: (block $block1 (result i32) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $nested (result i32) - (block i32 - (block i32 - (block i32 + (block $block i32 + (block $block0 i32 + (block $block1 i32 (i32.const 0) ) ) @@ -84,20 +90,26 @@ ) ;; CHECK: (func $child-blocks (result i32) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: (i32.add - ;; CHECK-NEXT: (pop i32) - ;; CHECK-NEXT: (pop i32) + ;; CHECK-NEXT: (block $block (result i32) + ;; CHECK-NEXT: (block $block0 (result i32) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (block $block1 (result i32) + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (pop i32) + ;; CHECK-NEXT: (pop i32) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $child-blocks (result i32) - (block (result i32) + (block $block (result i32) (i32.add - (block (result i32) + (block $block0 (result i32) (i32.const 0) ) - (block (result i32) + (block $block1 (result i32) (i32.const 1) ) ) From 7aeb2e115928180641d561a2fdf29214ab5f22f4 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Fri, 19 Aug 2022 16:00:22 -0700 Subject: [PATCH 06/12] test --- test/lit/passes/poppify.wast | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/test/lit/passes/poppify.wast b/test/lit/passes/poppify.wast index d1552ffc704..4675d0a9740 100644 --- a/test/lit/passes/poppify.wast +++ b/test/lit/passes/poppify.wast @@ -89,6 +89,19 @@ ) ) + ;; CHECK: (func $nested-nonames (result i32) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + (func $nested-nonames (result i32) + (block i32 + (block i32 + (block i32 + (i32.const 0) + ) + ) + ) + ) + ;; CHECK: (func $child-blocks (result i32) ;; CHECK-NEXT: (block $block (result i32) ;; CHECK-NEXT: (block $block0 (result i32) @@ -116,6 +129,27 @@ ) ) + ;; CHECK: (func $child-blocks-nonames (result i32) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (pop i32) + ;; CHECK-NEXT: (pop i32) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $child-blocks-nonames (result i32) + (block (result i32) + (i32.add + (block (result i32) + (i32.const 0) + ) + (block (result i32) + (i32.const 1) + ) + ) + ) + ) + ;; CHECK: (func $block-br (result i32) ;; CHECK-NEXT: (block $l (result i32) ;; CHECK-NEXT: (nop) From f5a145297e858467f35c4c0eeeeaace16ed9b1b1 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Fri, 19 Aug 2022 16:14:18 -0700 Subject: [PATCH 07/12] fix --- test/lit/passes/roundtrip-gc.wast | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/test/lit/passes/roundtrip-gc.wast b/test/lit/passes/roundtrip-gc.wast index 84052612139..e0b59fe41a6 100644 --- a/test/lit/passes/roundtrip-gc.wast +++ b/test/lit/passes/roundtrip-gc.wast @@ -8,33 +8,21 @@ ;; NOMNL: (export "export" (func $test)) (export "export" (func $test)) ;; CHECK: (func $test - ;; CHECK-NEXT: (local $0 (ref null $\7bi32\7d)) ;; CHECK-NEXT: (call $help - ;; CHECK-NEXT: (block (result (ref $\7bi32\7d)) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (struct.new_default $\7bi32\7d) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (struct.new_default $\7bi32\7d) + ;; CHECK-NEXT: (block $label$1 (result i32) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (ref.as_non_null - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; NOMNL: (func $test (type $none_=>_none) - ;; NOMNL-NEXT: (local $0 (ref null $\7bi32\7d)) ;; NOMNL-NEXT: (call $help - ;; NOMNL-NEXT: (block (result (ref $\7bi32\7d)) - ;; NOMNL-NEXT: (local.set $0 - ;; NOMNL-NEXT: (struct.new_default $\7bi32\7d) - ;; NOMNL-NEXT: ) + ;; NOMNL-NEXT: (struct.new_default $\7bi32\7d) + ;; NOMNL-NEXT: (block $label$1 (result i32) ;; NOMNL-NEXT: (nop) - ;; NOMNL-NEXT: (ref.as_non_null - ;; NOMNL-NEXT: (local.get $0) - ;; NOMNL-NEXT: ) + ;; NOMNL-NEXT: (i32.const 1) ;; NOMNL-NEXT: ) - ;; NOMNL-NEXT: (i32.const 1) ;; NOMNL-NEXT: ) ;; NOMNL-NEXT: ) (func $test @@ -47,7 +35,7 @@ ;; non-nullable reference, so we should not optimize this sort of thing in ;; stack IR. ;; TODO: This shouldn't be true after #4824 is resolved. - (block (result i32) + (block $block (result i32) (nop) (i32.const 1) ) From 2ffe49d6cba65e656cbb09d727627efbdc828b5a Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Fri, 19 Aug 2022 16:16:09 -0700 Subject: [PATCH 08/12] fix --- test/lit/passes/roundtrip.wast | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/test/lit/passes/roundtrip.wast b/test/lit/passes/roundtrip.wast index 7a9d12c0ff6..a61e7e71022 100644 --- a/test/lit/passes/roundtrip.wast +++ b/test/lit/passes/roundtrip.wast @@ -5,23 +5,38 @@ ;; CHECK: (type $none (func)) (type $none (func)) ;; CHECK: (func $foo - ;; CHECK-NEXT: (local $0 funcref) + ;; CHECK-NEXT: (local $0 (funcref (ref null $none))) + ;; CHECK-NEXT: (local $1 funcref) + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (block $label$1 (result funcref (ref $none)) + ;; CHECK-NEXT: (tuple.make + ;; CHECK-NEXT: (ref.null func) + ;; CHECK-NEXT: (ref.func $foo) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result funcref) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (ref.null func) + ;; CHECK-NEXT: (local.set $1 + ;; CHECK-NEXT: (tuple.extract 0 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (ref.func $foo) + ;; CHECK-NEXT: (ref.as_non_null + ;; CHECK-NEXT: (tuple.extract 1 + ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $foo (drop ;; a tuple type with a non-nullable element, that must be carefully handled - (block (result funcref (ref $none)) + (block $block (result funcref (ref $none)) (tuple.make (ref.null func) (ref.func $foo) From 547e85307931938faac5d5305bdb1fc77d987313 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Fri, 19 Aug 2022 16:17:40 -0700 Subject: [PATCH 09/12] fix --- test/lit/types-function-references.wast | 110 +++++++++++++++++++++++- 1 file changed, 106 insertions(+), 4 deletions(-) diff --git a/test/lit/types-function-references.wast b/test/lit/types-function-references.wast index 4c7def8c9eb..ffca2313207 100644 --- a/test/lit/types-function-references.wast +++ b/test/lit/types-function-references.wast @@ -51,6 +51,8 @@ (type $i32-i32 (func (param i32) (result i32))) + ;; CHECK-BINARY: (type $none_=>_i32_ref?|$mixed_results|_f64 (func (result i32 (ref null $mixed_results) f64))) + ;; CHECK-BINARY: (type $ref?|$mixed_results|_=>_none (func (param (ref null $mixed_results)))) ;; CHECK-BINARY: (elem declare func $call-ref $call-ref-more) @@ -60,6 +62,8 @@ ;; CHECK-BINARY-NEXT: (ref.func $call-ref) ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) + ;; CHECK-TEXT: (type $none_=>_i32_ref?|$mixed_results|_f64 (func (result i32 (ref null $mixed_results) f64))) + ;; CHECK-TEXT: (type $ref?|$mixed_results|_=>_none (func (param (ref null $mixed_results)))) ;; CHECK-TEXT: (elem declare func $call-ref $call-ref-more) @@ -180,14 +184,78 @@ (local $x (i32 (ref null $=>anyref) f64)) ) ;; CHECK-BINARY: (func $type-only-in-tuple-block - ;; CHECK-BINARY-NEXT: (unreachable) + ;; CHECK-BINARY-NEXT: (local $0 (i32 (ref null $mixed_results) f64)) + ;; CHECK-BINARY-NEXT: (local $1 (ref null $mixed_results)) + ;; CHECK-BINARY-NEXT: (local $2 i32) + ;; CHECK-BINARY-NEXT: (local.set $0 + ;; CHECK-BINARY-NEXT: (block $label$1 (result i32 (ref null $mixed_results) f64) + ;; CHECK-BINARY-NEXT: (unreachable) + ;; CHECK-BINARY-NEXT: ) + ;; CHECK-BINARY-NEXT: ) + ;; CHECK-BINARY-NEXT: (drop + ;; CHECK-BINARY-NEXT: (block (result i32) + ;; CHECK-BINARY-NEXT: (local.set $2 + ;; CHECK-BINARY-NEXT: (tuple.extract 0 + ;; CHECK-BINARY-NEXT: (local.get $0) + ;; CHECK-BINARY-NEXT: ) + ;; CHECK-BINARY-NEXT: ) + ;; CHECK-BINARY-NEXT: (drop + ;; CHECK-BINARY-NEXT: (block (result (ref null $mixed_results)) + ;; CHECK-BINARY-NEXT: (local.set $1 + ;; CHECK-BINARY-NEXT: (tuple.extract 1 + ;; CHECK-BINARY-NEXT: (local.get $0) + ;; CHECK-BINARY-NEXT: ) + ;; CHECK-BINARY-NEXT: ) + ;; CHECK-BINARY-NEXT: (drop + ;; CHECK-BINARY-NEXT: (tuple.extract 2 + ;; CHECK-BINARY-NEXT: (local.get $0) + ;; CHECK-BINARY-NEXT: ) + ;; CHECK-BINARY-NEXT: ) + ;; CHECK-BINARY-NEXT: (local.get $1) + ;; CHECK-BINARY-NEXT: ) + ;; CHECK-BINARY-NEXT: ) + ;; CHECK-BINARY-NEXT: (local.get $2) + ;; CHECK-BINARY-NEXT: ) + ;; CHECK-BINARY-NEXT: ) ;; CHECK-BINARY-NEXT: ) ;; CHECK-TEXT: (func $type-only-in-tuple-block - ;; CHECK-TEXT-NEXT: (unreachable) + ;; CHECK-TEXT-NEXT: (local $0 (i32 (ref null $mixed_results) f64)) + ;; CHECK-TEXT-NEXT: (local $1 (ref null $mixed_results)) + ;; CHECK-TEXT-NEXT: (local $2 i32) + ;; CHECK-TEXT-NEXT: (local.set $0 + ;; CHECK-TEXT-NEXT: (block $label$1 (result i32 (ref null $mixed_results) f64) + ;; CHECK-TEXT-NEXT: (unreachable) + ;; CHECK-TEXT-NEXT: ) + ;; CHECK-TEXT-NEXT: ) + ;; CHECK-TEXT-NEXT: (drop + ;; CHECK-TEXT-NEXT: (block (result i32) + ;; CHECK-TEXT-NEXT: (local.set $2 + ;; CHECK-TEXT-NEXT: (tuple.extract 0 + ;; CHECK-TEXT-NEXT: (local.get $0) + ;; CHECK-TEXT-NEXT: ) + ;; CHECK-TEXT-NEXT: ) + ;; CHECK-TEXT-NEXT: (drop + ;; CHECK-TEXT-NEXT: (block (result (ref null $mixed_results)) + ;; CHECK-TEXT-NEXT: (local.set $1 + ;; CHECK-TEXT-NEXT: (tuple.extract 1 + ;; CHECK-TEXT-NEXT: (local.get $0) + ;; CHECK-TEXT-NEXT: ) + ;; CHECK-TEXT-NEXT: ) + ;; CHECK-TEXT-NEXT: (drop + ;; CHECK-TEXT-NEXT: (tuple.extract 2 + ;; CHECK-TEXT-NEXT: (local.get $0) + ;; CHECK-TEXT-NEXT: ) + ;; CHECK-TEXT-NEXT: ) + ;; CHECK-TEXT-NEXT: (local.get $1) + ;; CHECK-TEXT-NEXT: ) + ;; CHECK-TEXT-NEXT: ) + ;; CHECK-TEXT-NEXT: (local.get $2) + ;; CHECK-TEXT-NEXT: ) + ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) (func $type-only-in-tuple-block (drop - (block (result i32 (ref null $mixed_results) f64) + (block $block (result i32 (ref null $mixed_results) f64) (unreachable) ) ) @@ -324,6 +392,8 @@ ;; CHECK-NODEBUG: (type $none_=>_anyref (func (result anyref))) +;; CHECK-NODEBUG: (type $none_=>_i32_ref?|none_->_anyref_f32_anyref_f32|_f64 (func (result i32 (ref null $none_=>_anyref_f32_anyref_f32) f64))) + ;; CHECK-NODEBUG: (type $ref?|none_->_anyref_f32_anyref_f32|_=>_none (func (param (ref null $none_=>_anyref_f32_anyref_f32)))) ;; CHECK-NODEBUG: (elem declare func $0 $2) @@ -384,7 +454,39 @@ ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $8 -;; CHECK-NODEBUG-NEXT: (unreachable) +;; CHECK-NODEBUG-NEXT: (local $0 (i32 (ref null $none_=>_anyref_f32_anyref_f32) f64)) +;; CHECK-NODEBUG-NEXT: (local $1 (ref null $none_=>_anyref_f32_anyref_f32)) +;; CHECK-NODEBUG-NEXT: (local $2 i32) +;; CHECK-NODEBUG-NEXT: (local.set $0 +;; CHECK-NODEBUG-NEXT: (block $label$1 (result i32 (ref null $none_=>_anyref_f32_anyref_f32) f64) +;; CHECK-NODEBUG-NEXT: (unreachable) +;; CHECK-NODEBUG-NEXT: ) +;; CHECK-NODEBUG-NEXT: ) +;; CHECK-NODEBUG-NEXT: (drop +;; CHECK-NODEBUG-NEXT: (block (result i32) +;; CHECK-NODEBUG-NEXT: (local.set $2 +;; CHECK-NODEBUG-NEXT: (tuple.extract 0 +;; CHECK-NODEBUG-NEXT: (local.get $0) +;; CHECK-NODEBUG-NEXT: ) +;; CHECK-NODEBUG-NEXT: ) +;; CHECK-NODEBUG-NEXT: (drop +;; CHECK-NODEBUG-NEXT: (block (result (ref null $none_=>_anyref_f32_anyref_f32)) +;; CHECK-NODEBUG-NEXT: (local.set $1 +;; CHECK-NODEBUG-NEXT: (tuple.extract 1 +;; CHECK-NODEBUG-NEXT: (local.get $0) +;; CHECK-NODEBUG-NEXT: ) +;; CHECK-NODEBUG-NEXT: ) +;; CHECK-NODEBUG-NEXT: (drop +;; CHECK-NODEBUG-NEXT: (tuple.extract 2 +;; CHECK-NODEBUG-NEXT: (local.get $0) +;; CHECK-NODEBUG-NEXT: ) +;; CHECK-NODEBUG-NEXT: ) +;; CHECK-NODEBUG-NEXT: (local.get $1) +;; CHECK-NODEBUG-NEXT: ) +;; CHECK-NODEBUG-NEXT: ) +;; CHECK-NODEBUG-NEXT: (local.get $2) +;; CHECK-NODEBUG-NEXT: ) +;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG-NEXT: ) ;; CHECK-NODEBUG: (func $9 From 8c51239cf389d5540d7a0fcd616af2c2c9217e36 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Fri, 19 Aug 2022 16:18:37 -0700 Subject: [PATCH 10/12] fix --- test/multivalue.wast | 4 ++-- test/multivalue.wast.from-wast | 2 +- test/multivalue.wast.fromBinary | 23 ++++++++++++++++----- test/multivalue.wast.fromBinary.noDebugInfo | 23 ++++++++++++++++----- 4 files changed, 39 insertions(+), 13 deletions(-) diff --git a/test/multivalue.wast b/test/multivalue.wast index 8b0c5664ed8..347278b1035 100644 --- a/test/multivalue.wast +++ b/test/multivalue.wast @@ -79,7 +79,7 @@ ) (func $drop-block (drop - (block (result i32 i64) + (block $block (result i32 i64) (tuple.make (i32.const 42) (i64.const 42) @@ -164,4 +164,4 @@ ) ) ) -) \ No newline at end of file +) diff --git a/test/multivalue.wast.from-wast b/test/multivalue.wast.from-wast index a8649248540..bdeb80cd46f 100644 --- a/test/multivalue.wast.from-wast +++ b/test/multivalue.wast.from-wast @@ -88,7 +88,7 @@ ) (func $drop-block (drop - (block (result i32 i64) + (block $block (result i32 i64) (tuple.make (i32.const 42) (i64.const 42) diff --git a/test/multivalue.wast.fromBinary b/test/multivalue.wast.fromBinary index 11a87cd28c7..dd39d4b34f0 100644 --- a/test/multivalue.wast.fromBinary +++ b/test/multivalue.wast.fromBinary @@ -293,16 +293,29 @@ ) ) (func $drop-block - (local $0 i32) + (local $0 (i32 i64)) + (local $1 i32) + (local.set $0 + (block $label$1 (result i32 i64) + (tuple.make + (i32.const 42) + (i64.const 42) + ) + ) + ) (drop (block (result i32) - (local.set $0 - (i32.const 42) + (local.set $1 + (tuple.extract 0 + (local.get $0) + ) ) (drop - (i64.const 42) + (tuple.extract 1 + (local.get $0) + ) ) - (local.get $0) + (local.get $1) ) ) ) diff --git a/test/multivalue.wast.fromBinary.noDebugInfo b/test/multivalue.wast.fromBinary.noDebugInfo index 741c25a30f1..66c0f52c5eb 100644 --- a/test/multivalue.wast.fromBinary.noDebugInfo +++ b/test/multivalue.wast.fromBinary.noDebugInfo @@ -293,16 +293,29 @@ ) ) (func $9 - (local $0 i32) + (local $0 (i32 i64)) + (local $1 i32) + (local.set $0 + (block $label$1 (result i32 i64) + (tuple.make + (i32.const 42) + (i64.const 42) + ) + ) + ) (drop (block (result i32) - (local.set $0 - (i32.const 42) + (local.set $1 + (tuple.extract 0 + (local.get $0) + ) ) (drop - (i64.const 42) + (tuple.extract 1 + (local.get $0) + ) ) - (local.get $0) + (local.get $1) ) ) ) From 1088ffaef1fcf349f3dd4ca37a1f7c682c08c714 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Mon, 22 Aug 2022 10:34:54 -0700 Subject: [PATCH 11/12] fix --- test/binaryen.js/optimize-levels.js.txt | 10 ++++------ test/binaryen.js/stackir.js.txt | 10 ++++------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/test/binaryen.js/optimize-levels.js.txt b/test/binaryen.js/optimize-levels.js.txt index e8d918a2f6d..05fe2358986 100644 --- a/test/binaryen.js/optimize-levels.js.txt +++ b/test/binaryen.js/optimize-levels.js.txt @@ -20,12 +20,10 @@ (memory $0 0) (export "test" (func $test)) (func $test (param $0 i32) (result i32) - (block $block (result i32) - (if (result i32) - (local.get $0) - (local.get $0) - (i32.const 0) - ) + (if (result i32) + (local.get $0) + (local.get $0) + (i32.const 0) ) ) ) diff --git a/test/binaryen.js/stackir.js.txt b/test/binaryen.js/stackir.js.txt index 976dd815a3c..a49c6bb01c5 100644 --- a/test/binaryen.js/stackir.js.txt +++ b/test/binaryen.js/stackir.js.txt @@ -22,13 +22,11 @@ (memory $0 0) (export "test" (func $test)) (func $test (param $0 i32) (result i32) - block $block0 (result i32) + local.get $0 + if (result i32) local.get $0 - if (result i32) - local.get $0 - else - i32.const 0 - end + else + i32.const 0 end ) ) From 5ea297b90352557314696ebe75d9cb44a96143ec Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Mon, 22 Aug 2022 10:37:44 -0700 Subject: [PATCH 12/12] more test updates --- test/wasm2js/excess_fallthrough.2asm.js | 6 +- test/wasm2js/f32.2asm.js | 12 +- test/wasm2js/float_misc.2asm.js | 24 +- test/wasm2js/int_exprs.2asm.js | 4200 +++++++++++------------ test/wasm2js/labels.2asm.js | 80 +- test/wasm2js/left-to-right.2asm.js | 300 +- test/wasm2js/stack-modified.2asm.js | 136 +- test/wasm2js/stack-modified.2asm.js.opt | 43 +- test/wasm2js/traps.2asm.js | 600 ++-- 9 files changed, 2660 insertions(+), 2741 deletions(-) diff --git a/test/wasm2js/excess_fallthrough.2asm.js b/test/wasm2js/excess_fallthrough.2asm.js index 17db9573ffa..b1dff924507 100644 --- a/test/wasm2js/excess_fallthrough.2asm.js +++ b/test/wasm2js/excess_fallthrough.2asm.js @@ -22,15 +22,15 @@ function asmFunc(env) { label$4 : while (1) { label$5 : { bar(); - block : { + label$7 : { switch (123 | 0) { case 0: - bar(); - break; + break label$7; default: break label$5; }; } + bar(); return; } abort(); diff --git a/test/wasm2js/f32.2asm.js b/test/wasm2js/f32.2asm.js index 66c0b9334f3..bc4c387a299 100644 --- a/test/wasm2js/f32.2asm.js +++ b/test/wasm2js/f32.2asm.js @@ -80,14 +80,12 @@ function asmFunc(env) { var$1 = Math_fround(Math_floor(var$0)); var$2 = Math_fround(var$0 - var$1); if (!(var$2 < Math_fround(.5))) { - block : { - var$0 = Math_fround(Math_ceil(var$0)); - if (var$2 > Math_fround(.5)) { - return Math_fround(var$0) - } - var$2 = Math_fround(var$1 * Math_fround(.5)); - var$1 = Math_fround(var$2 - Math_fround(Math_floor(var$2))) == Math_fround(0.0) ? var$1 : var$0; + var$0 = Math_fround(Math_ceil(var$0)); + if (var$2 > Math_fround(.5)) { + return Math_fround(var$0) } + var$2 = Math_fround(var$1 * Math_fround(.5)); + var$1 = Math_fround(var$2 - Math_fround(Math_floor(var$2))) == Math_fround(0.0) ? var$1 : var$0; } return Math_fround(var$1); } diff --git a/test/wasm2js/float_misc.2asm.js b/test/wasm2js/float_misc.2asm.js index 4bdff0241f7..bbf3b897589 100644 --- a/test/wasm2js/float_misc.2asm.js +++ b/test/wasm2js/float_misc.2asm.js @@ -227,14 +227,12 @@ function asmFunc(env) { var$1 = Math_fround(Math_floor(var$0)); var$2 = Math_fround(var$0 - var$1); if (!(var$2 < Math_fround(.5))) { - block : { - var$0 = Math_fround(Math_ceil(var$0)); - if (var$2 > Math_fround(.5)) { - return Math_fround(var$0) - } - var$2 = Math_fround(var$1 * Math_fround(.5)); - var$1 = Math_fround(var$2 - Math_fround(Math_floor(var$2))) == Math_fround(0.0) ? var$1 : var$0; + var$0 = Math_fround(Math_ceil(var$0)); + if (var$2 > Math_fround(.5)) { + return Math_fround(var$0) } + var$2 = Math_fround(var$1 * Math_fround(.5)); + var$1 = Math_fround(var$2 - Math_fround(Math_floor(var$2))) == Math_fround(0.0) ? var$1 : var$0; } return Math_fround(var$1); } @@ -245,14 +243,12 @@ function asmFunc(env) { var$1 = Math_floor(var$0); var$2 = var$0 - var$1; if (!(var$2 < .5)) { - block : { - var$0 = Math_ceil(var$0); - if (var$2 > .5) { - return +var$0 - } - var$2 = var$1 * .5; - var$1 = var$2 - Math_floor(var$2) == 0.0 ? var$1 : var$0; + var$0 = Math_ceil(var$0); + if (var$2 > .5) { + return +var$0 } + var$2 = var$1 * .5; + var$1 = var$2 - Math_floor(var$2) == 0.0 ? var$1 : var$0; } return +var$1; } diff --git a/test/wasm2js/int_exprs.2asm.js b/test/wasm2js/int_exprs.2asm.js index ad558ec2ab0..b4e2125266c 100644 --- a/test/wasm2js/int_exprs.2asm.js +++ b/test/wasm2js/int_exprs.2asm.js @@ -1162,34 +1162,32 @@ function asmFunc(env) { } var$2 = $37; if (var$2) { - block : { - i64toi32_i32$1 = var$1$hi; - var$3 = var$1; - if (!var$3) { - break label$11 - } - i64toi32_i32$1 = var$1$hi; - i64toi32_i32$0 = var$1; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; - } - var$4 = $38; - if (!var$4) { - break label$9 - } - var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; - if (var$2 >>> 0 <= 31 >>> 0) { - break label$8 - } - break label$2; + $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + var$4 = $38; + if (!var$4) { + break label$9 } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 + } + break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; @@ -1371,134 +1369,132 @@ function asmFunc(env) { var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { - block3 : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$1 = var$1; - i64toi32_i32$3 = -1; - i64toi32_i32$0 = -1; - i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } - var$8 = i64toi32_i32$4; - var$8$hi = i64toi32_i32$5; - label$15 : while (1) { - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$2 = var$5; - i64toi32_i32$1 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - $45 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; - $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - } - $140 = $45; - $140$hi = i64toi32_i32$1; - i64toi32_i32$1 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; - } - $142$hi = i64toi32_i32$2; - i64toi32_i32$2 = $140$hi; - i64toi32_i32$1 = $140; - i64toi32_i32$5 = $142$hi; - i64toi32_i32$0 = $46; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; - var$5$hi = i64toi32_i32$5; - $144 = var$5; - $144$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$2 = var$8; - i64toi32_i32$1 = var$5$hi; - i64toi32_i32$0 = var$5; - i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; - i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; - i64toi32_i32$5 = i64toi32_i32$3; + $140 = $45; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; - $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; - } - var$6 = $47; - var$6$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$6$hi; - i64toi32_i32$4 = var$6; - i64toi32_i32$5 = var$1$hi; - i64toi32_i32$0 = var$1; - i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; - $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; - $151$hi = i64toi32_i32$5; - i64toi32_i32$5 = $144$hi; - i64toi32_i32$2 = $144; - i64toi32_i32$4 = $151$hi; - i64toi32_i32$0 = $151; - i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; - i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; - var$5 = i64toi32_i32$1; - var$5$hi = i64toi32_i32$3; - i64toi32_i32$3 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - $48 = 0; - } else { - i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; - $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - } - $154$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$7$hi; - i64toi32_i32$2 = $154$hi; - i64toi32_i32$3 = $48; - i64toi32_i32$5 = var$7$hi; - i64toi32_i32$0 = var$7; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; - var$0$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$6$hi; - i64toi32_i32$2 = var$6; - i64toi32_i32$3 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; - var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; - var$6$hi = i64toi32_i32$3; - var$7 = var$6; - var$7$hi = i64toi32_i32$3; - var$2 = var$2 + -1 | 0; - if (var$2) { - continue label$15 - } - break label$15; - }; - break label$13; - } + $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; } } i64toi32_i32$3 = var$5$hi; @@ -1900,34 +1896,32 @@ function asmFunc(env) { } var$2 = $37; if (var$2) { - block : { - i64toi32_i32$1 = var$1$hi; - var$3 = var$1; - if (!var$3) { - break label$11 - } - i64toi32_i32$1 = var$1$hi; - i64toi32_i32$0 = var$1; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; - } - var$4 = $38; - if (!var$4) { - break label$9 - } - var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; - if (var$2 >>> 0 <= 31 >>> 0) { - break label$8 - } - break label$2; + $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; } + var$4 = $38; + if (!var$4) { + break label$9 + } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 + } + break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; @@ -2109,134 +2103,132 @@ function asmFunc(env) { var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { - block3 : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$1 = var$1; - i64toi32_i32$3 = -1; - i64toi32_i32$0 = -1; - i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } - var$8 = i64toi32_i32$4; - var$8$hi = i64toi32_i32$5; - label$15 : while (1) { - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$2 = var$5; - i64toi32_i32$1 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - $45 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; - $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - } - $140 = $45; - $140$hi = i64toi32_i32$1; - i64toi32_i32$1 = var$0$hi; - i64toi32_i32$5 = var$0; + $140 = $45; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; - } - $142$hi = i64toi32_i32$2; - i64toi32_i32$2 = $140$hi; - i64toi32_i32$1 = $140; - i64toi32_i32$5 = $142$hi; - i64toi32_i32$0 = $46; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; - var$5$hi = i64toi32_i32$5; - $144 = var$5; - $144$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$2 = var$8; - i64toi32_i32$1 = var$5$hi; - i64toi32_i32$0 = var$5; - i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; - i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; - i64toi32_i32$5 = i64toi32_i32$3; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; - $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; - } - var$6 = $47; - var$6$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$6$hi; - i64toi32_i32$4 = var$6; - i64toi32_i32$5 = var$1$hi; - i64toi32_i32$0 = var$1; - i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; - $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; - $151$hi = i64toi32_i32$5; - i64toi32_i32$5 = $144$hi; - i64toi32_i32$2 = $144; - i64toi32_i32$4 = $151$hi; - i64toi32_i32$0 = $151; - i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; - i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; - var$5 = i64toi32_i32$1; - var$5$hi = i64toi32_i32$3; - i64toi32_i32$3 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - $48 = 0; - } else { - i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; - $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - } - $154$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$7$hi; - i64toi32_i32$2 = $154$hi; - i64toi32_i32$3 = $48; - i64toi32_i32$5 = var$7$hi; - i64toi32_i32$0 = var$7; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; - var$0$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$6$hi; - i64toi32_i32$2 = var$6; - i64toi32_i32$3 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; - var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; - var$6$hi = i64toi32_i32$3; - var$7 = var$6; - var$7$hi = i64toi32_i32$3; - var$2 = var$2 + -1 | 0; - if (var$2) { - continue label$15 - } - break label$15; - }; - break label$13; - } + $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; } } i64toi32_i32$3 = var$5$hi; @@ -2602,34 +2594,32 @@ function asmFunc(env) { } var$2 = $37; if (var$2) { - block : { - i64toi32_i32$1 = var$1$hi; - var$3 = var$1; - if (!var$3) { - break label$11 - } - i64toi32_i32$1 = var$1$hi; - i64toi32_i32$0 = var$1; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; - } - var$4 = $38; - if (!var$4) { - break label$9 - } - var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; - if (var$2 >>> 0 <= 31 >>> 0) { - break label$8 - } - break label$2; + $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + var$4 = $38; + if (!var$4) { + break label$9 + } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 } + break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; @@ -2811,134 +2801,132 @@ function asmFunc(env) { var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { - block3 : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$1 = var$1; - i64toi32_i32$3 = -1; - i64toi32_i32$0 = -1; - i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } - var$8 = i64toi32_i32$4; - var$8$hi = i64toi32_i32$5; - label$15 : while (1) { - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$2 = var$5; - i64toi32_i32$1 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - $45 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; - $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - } - $140 = $45; - $140$hi = i64toi32_i32$1; - i64toi32_i32$1 = var$0$hi; - i64toi32_i32$5 = var$0; + $140 = $45; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; - } - $142$hi = i64toi32_i32$2; - i64toi32_i32$2 = $140$hi; - i64toi32_i32$1 = $140; - i64toi32_i32$5 = $142$hi; - i64toi32_i32$0 = $46; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; - var$5$hi = i64toi32_i32$5; - $144 = var$5; - $144$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$2 = var$8; - i64toi32_i32$1 = var$5$hi; - i64toi32_i32$0 = var$5; - i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; - i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; - i64toi32_i32$5 = i64toi32_i32$3; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; - $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; - } - var$6 = $47; - var$6$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$6$hi; - i64toi32_i32$4 = var$6; - i64toi32_i32$5 = var$1$hi; - i64toi32_i32$0 = var$1; - i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; - $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; - $151$hi = i64toi32_i32$5; - i64toi32_i32$5 = $144$hi; - i64toi32_i32$2 = $144; - i64toi32_i32$4 = $151$hi; - i64toi32_i32$0 = $151; - i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; - i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; - var$5 = i64toi32_i32$1; - var$5$hi = i64toi32_i32$3; - i64toi32_i32$3 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - $48 = 0; - } else { - i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; - $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - } - $154$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$7$hi; - i64toi32_i32$2 = $154$hi; - i64toi32_i32$3 = $48; - i64toi32_i32$5 = var$7$hi; - i64toi32_i32$0 = var$7; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; - var$0$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$6$hi; - i64toi32_i32$2 = var$6; - i64toi32_i32$3 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; - var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; - var$6$hi = i64toi32_i32$3; - var$7 = var$6; - var$7$hi = i64toi32_i32$3; - var$2 = var$2 + -1 | 0; - if (var$2) { - continue label$15 - } - break label$15; - }; - break label$13; - } + $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; } } i64toi32_i32$3 = var$5$hi; @@ -3404,34 +3392,32 @@ function asmFunc(env) { } var$2 = $37; if (var$2) { - block : { - i64toi32_i32$1 = var$1$hi; - var$3 = var$1; - if (!var$3) { - break label$11 - } - i64toi32_i32$1 = var$1$hi; - i64toi32_i32$0 = var$1; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; - } - var$4 = $38; - if (!var$4) { - break label$9 - } - var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; - if (var$2 >>> 0 <= 31 >>> 0) { - break label$8 - } - break label$2; + $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + var$4 = $38; + if (!var$4) { + break label$9 } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 + } + break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; @@ -3613,134 +3599,132 @@ function asmFunc(env) { var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { - block3 : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$1 = var$1; - i64toi32_i32$3 = -1; - i64toi32_i32$0 = -1; - i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } - var$8 = i64toi32_i32$4; - var$8$hi = i64toi32_i32$5; - label$15 : while (1) { - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$2 = var$5; - i64toi32_i32$1 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - $45 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; - $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - } - $140 = $45; - $140$hi = i64toi32_i32$1; - i64toi32_i32$1 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; - } - $142$hi = i64toi32_i32$2; - i64toi32_i32$2 = $140$hi; - i64toi32_i32$1 = $140; - i64toi32_i32$5 = $142$hi; - i64toi32_i32$0 = $46; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; - var$5$hi = i64toi32_i32$5; - $144 = var$5; - $144$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$2 = var$8; - i64toi32_i32$1 = var$5$hi; - i64toi32_i32$0 = var$5; - i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; - i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; - i64toi32_i32$5 = i64toi32_i32$3; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; - $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; - } - var$6 = $47; - var$6$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$6$hi; - i64toi32_i32$4 = var$6; - i64toi32_i32$5 = var$1$hi; - i64toi32_i32$0 = var$1; - i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; - $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; - $151$hi = i64toi32_i32$5; - i64toi32_i32$5 = $144$hi; - i64toi32_i32$2 = $144; - i64toi32_i32$4 = $151$hi; - i64toi32_i32$0 = $151; - i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; - i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; - var$5 = i64toi32_i32$1; - var$5$hi = i64toi32_i32$3; - i64toi32_i32$3 = var$0$hi; - i64toi32_i32$5 = var$0; + $140 = $45; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - $48 = 0; - } else { - i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; - $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - } - $154$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$7$hi; - i64toi32_i32$2 = $154$hi; - i64toi32_i32$3 = $48; - i64toi32_i32$5 = var$7$hi; - i64toi32_i32$0 = var$7; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; - var$0$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$6$hi; - i64toi32_i32$2 = var$6; - i64toi32_i32$3 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; - var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; - var$6$hi = i64toi32_i32$3; - var$7 = var$6; - var$7$hi = i64toi32_i32$3; - var$2 = var$2 + -1 | 0; - if (var$2) { - continue label$15 - } - break label$15; - }; - break label$13; - } + $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; } } i64toi32_i32$3 = var$5$hi; @@ -4096,34 +4080,32 @@ function asmFunc(env) { } var$2 = $37; if (var$2) { - block : { - i64toi32_i32$1 = var$1$hi; - var$3 = var$1; - if (!var$3) { - break label$11 - } - i64toi32_i32$1 = var$1$hi; - i64toi32_i32$0 = var$1; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; - } - var$4 = $38; - if (!var$4) { - break label$9 - } - var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; - if (var$2 >>> 0 <= 31 >>> 0) { - break label$8 - } - break label$2; + $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + var$4 = $38; + if (!var$4) { + break label$9 + } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 } + break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; @@ -4305,134 +4287,132 @@ function asmFunc(env) { var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { - block3 : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$1 = var$1; - i64toi32_i32$3 = -1; - i64toi32_i32$0 = -1; - i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } - var$8 = i64toi32_i32$4; - var$8$hi = i64toi32_i32$5; - label$15 : while (1) { - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$2 = var$5; - i64toi32_i32$1 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - $45 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; - $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - } - $140 = $45; - $140$hi = i64toi32_i32$1; - i64toi32_i32$1 = var$0$hi; - i64toi32_i32$5 = var$0; + $140 = $45; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; - } - $142$hi = i64toi32_i32$2; - i64toi32_i32$2 = $140$hi; - i64toi32_i32$1 = $140; - i64toi32_i32$5 = $142$hi; - i64toi32_i32$0 = $46; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; - var$5$hi = i64toi32_i32$5; - $144 = var$5; - $144$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$2 = var$8; - i64toi32_i32$1 = var$5$hi; - i64toi32_i32$0 = var$5; - i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; - i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; - i64toi32_i32$5 = i64toi32_i32$3; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; - $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; - } - var$6 = $47; - var$6$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$6$hi; - i64toi32_i32$4 = var$6; - i64toi32_i32$5 = var$1$hi; - i64toi32_i32$0 = var$1; - i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; - $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; - $151$hi = i64toi32_i32$5; - i64toi32_i32$5 = $144$hi; - i64toi32_i32$2 = $144; - i64toi32_i32$4 = $151$hi; - i64toi32_i32$0 = $151; - i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; - i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; - var$5 = i64toi32_i32$1; - var$5$hi = i64toi32_i32$3; - i64toi32_i32$3 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - $48 = 0; - } else { - i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; - $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - } - $154$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$7$hi; - i64toi32_i32$2 = $154$hi; - i64toi32_i32$3 = $48; - i64toi32_i32$5 = var$7$hi; - i64toi32_i32$0 = var$7; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; - var$0$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$6$hi; - i64toi32_i32$2 = var$6; - i64toi32_i32$3 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; - var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; - var$6$hi = i64toi32_i32$3; - var$7 = var$6; - var$7$hi = i64toi32_i32$3; - var$2 = var$2 + -1 | 0; - if (var$2) { - continue label$15 - } - break label$15; - }; - break label$13; - } + $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; } } i64toi32_i32$3 = var$5$hi; @@ -4732,34 +4712,32 @@ function asmFunc(env) { } var$2 = $37; if (var$2) { - block : { - i64toi32_i32$1 = var$1$hi; - var$3 = var$1; - if (!var$3) { - break label$11 - } - i64toi32_i32$1 = var$1$hi; - i64toi32_i32$0 = var$1; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; - } - var$4 = $38; - if (!var$4) { - break label$9 - } - var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; - if (var$2 >>> 0 <= 31 >>> 0) { - break label$8 - } - break label$2; + $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + var$4 = $38; + if (!var$4) { + break label$9 } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 + } + break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; @@ -4941,134 +4919,132 @@ function asmFunc(env) { var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { - block3 : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$1 = var$1; - i64toi32_i32$3 = -1; - i64toi32_i32$0 = -1; - i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } - var$8 = i64toi32_i32$4; - var$8$hi = i64toi32_i32$5; - label$15 : while (1) { - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$2 = var$5; - i64toi32_i32$1 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - $45 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; - $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - } - $140 = $45; - $140$hi = i64toi32_i32$1; - i64toi32_i32$1 = var$0$hi; - i64toi32_i32$5 = var$0; + $140 = $45; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; - } - $142$hi = i64toi32_i32$2; - i64toi32_i32$2 = $140$hi; - i64toi32_i32$1 = $140; - i64toi32_i32$5 = $142$hi; - i64toi32_i32$0 = $46; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; - var$5$hi = i64toi32_i32$5; - $144 = var$5; - $144$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$2 = var$8; - i64toi32_i32$1 = var$5$hi; - i64toi32_i32$0 = var$5; - i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; - i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; - i64toi32_i32$5 = i64toi32_i32$3; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; - $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; - } - var$6 = $47; - var$6$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$6$hi; - i64toi32_i32$4 = var$6; - i64toi32_i32$5 = var$1$hi; - i64toi32_i32$0 = var$1; - i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; - $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; - $151$hi = i64toi32_i32$5; - i64toi32_i32$5 = $144$hi; - i64toi32_i32$2 = $144; - i64toi32_i32$4 = $151$hi; - i64toi32_i32$0 = $151; - i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; - i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; - var$5 = i64toi32_i32$1; - var$5$hi = i64toi32_i32$3; - i64toi32_i32$3 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - $48 = 0; - } else { - i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; - $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - } - $154$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$7$hi; - i64toi32_i32$2 = $154$hi; - i64toi32_i32$3 = $48; - i64toi32_i32$5 = var$7$hi; - i64toi32_i32$0 = var$7; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; - var$0$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$6$hi; - i64toi32_i32$2 = var$6; - i64toi32_i32$3 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; - var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; - var$6$hi = i64toi32_i32$3; - var$7 = var$6; - var$7$hi = i64toi32_i32$3; - var$2 = var$2 + -1 | 0; - if (var$2) { - continue label$15 - } - break label$15; - }; - break label$13; - } + $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; } } i64toi32_i32$3 = var$5$hi; @@ -5436,34 +5412,32 @@ function asmFunc(env) { } var$2 = $37; if (var$2) { - block : { - i64toi32_i32$1 = var$1$hi; - var$3 = var$1; - if (!var$3) { - break label$11 - } - i64toi32_i32$1 = var$1$hi; - i64toi32_i32$0 = var$1; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; - } - var$4 = $38; - if (!var$4) { - break label$9 - } - var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; - if (var$2 >>> 0 <= 31 >>> 0) { - break label$8 - } - break label$2; + $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; } + var$4 = $38; + if (!var$4) { + break label$9 + } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 + } + break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; @@ -5645,134 +5619,132 @@ function asmFunc(env) { var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { - block3 : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$1 = var$1; - i64toi32_i32$3 = -1; - i64toi32_i32$0 = -1; - i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } - var$8 = i64toi32_i32$4; - var$8$hi = i64toi32_i32$5; - label$15 : while (1) { - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$2 = var$5; - i64toi32_i32$1 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - $45 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; - $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - } - $140 = $45; - $140$hi = i64toi32_i32$1; - i64toi32_i32$1 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; - } - $142$hi = i64toi32_i32$2; - i64toi32_i32$2 = $140$hi; - i64toi32_i32$1 = $140; - i64toi32_i32$5 = $142$hi; - i64toi32_i32$0 = $46; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; - var$5$hi = i64toi32_i32$5; - $144 = var$5; - $144$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$2 = var$8; - i64toi32_i32$1 = var$5$hi; - i64toi32_i32$0 = var$5; - i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; - i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; - i64toi32_i32$5 = i64toi32_i32$3; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; - $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; - } - var$6 = $47; - var$6$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$6$hi; - i64toi32_i32$4 = var$6; - i64toi32_i32$5 = var$1$hi; - i64toi32_i32$0 = var$1; - i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; - $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; - $151$hi = i64toi32_i32$5; - i64toi32_i32$5 = $144$hi; - i64toi32_i32$2 = $144; - i64toi32_i32$4 = $151$hi; - i64toi32_i32$0 = $151; - i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; - i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; - var$5 = i64toi32_i32$1; - var$5$hi = i64toi32_i32$3; - i64toi32_i32$3 = var$0$hi; - i64toi32_i32$5 = var$0; + $140 = $45; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - $48 = 0; - } else { - i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; - $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - } - $154$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$7$hi; - i64toi32_i32$2 = $154$hi; - i64toi32_i32$3 = $48; - i64toi32_i32$5 = var$7$hi; - i64toi32_i32$0 = var$7; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; - var$0$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$6$hi; - i64toi32_i32$2 = var$6; - i64toi32_i32$3 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; - var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; - var$6$hi = i64toi32_i32$3; - var$7 = var$6; - var$7$hi = i64toi32_i32$3; - var$2 = var$2 + -1 | 0; - if (var$2) { - continue label$15 - } - break label$15; - }; - break label$13; - } + $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; } } i64toi32_i32$3 = var$5$hi; @@ -6158,34 +6130,32 @@ function asmFunc(env) { } var$2 = $37; if (var$2) { - block : { - i64toi32_i32$1 = var$1$hi; - var$3 = var$1; - if (!var$3) { - break label$11 - } - i64toi32_i32$1 = var$1$hi; - i64toi32_i32$0 = var$1; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; - } - var$4 = $38; - if (!var$4) { - break label$9 - } - var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; - if (var$2 >>> 0 <= 31 >>> 0) { - break label$8 - } - break label$2; + $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + var$4 = $38; + if (!var$4) { + break label$9 } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 + } + break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; @@ -6367,134 +6337,132 @@ function asmFunc(env) { var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { - block3 : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$1 = var$1; - i64toi32_i32$3 = -1; - i64toi32_i32$0 = -1; - i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } - var$8 = i64toi32_i32$4; - var$8$hi = i64toi32_i32$5; - label$15 : while (1) { - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$2 = var$5; - i64toi32_i32$1 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - $45 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; - $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - } - $140 = $45; - $140$hi = i64toi32_i32$1; - i64toi32_i32$1 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; - } - $142$hi = i64toi32_i32$2; - i64toi32_i32$2 = $140$hi; - i64toi32_i32$1 = $140; - i64toi32_i32$5 = $142$hi; - i64toi32_i32$0 = $46; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; - var$5$hi = i64toi32_i32$5; - $144 = var$5; - $144$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$2 = var$8; - i64toi32_i32$1 = var$5$hi; - i64toi32_i32$0 = var$5; - i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; - i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; - i64toi32_i32$5 = i64toi32_i32$3; + $140 = $45; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; - $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; - } - var$6 = $47; - var$6$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$6$hi; - i64toi32_i32$4 = var$6; - i64toi32_i32$5 = var$1$hi; - i64toi32_i32$0 = var$1; - i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; - $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; - $151$hi = i64toi32_i32$5; - i64toi32_i32$5 = $144$hi; - i64toi32_i32$2 = $144; - i64toi32_i32$4 = $151$hi; - i64toi32_i32$0 = $151; - i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; - i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; - var$5 = i64toi32_i32$1; - var$5$hi = i64toi32_i32$3; - i64toi32_i32$3 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - $48 = 0; - } else { - i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; - $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - } - $154$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$7$hi; - i64toi32_i32$2 = $154$hi; - i64toi32_i32$3 = $48; - i64toi32_i32$5 = var$7$hi; - i64toi32_i32$0 = var$7; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; - var$0$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$6$hi; - i64toi32_i32$2 = var$6; - i64toi32_i32$3 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; - var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; - var$6$hi = i64toi32_i32$3; - var$7 = var$6; - var$7$hi = i64toi32_i32$3; - var$2 = var$2 + -1 | 0; - if (var$2) { - continue label$15 - } - break label$15; - }; - break label$13; - } + $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; } } i64toi32_i32$3 = var$5$hi; @@ -6880,34 +6848,32 @@ function asmFunc(env) { } var$2 = $37; if (var$2) { - block : { - i64toi32_i32$1 = var$1$hi; - var$3 = var$1; - if (!var$3) { - break label$11 - } - i64toi32_i32$1 = var$1$hi; - i64toi32_i32$0 = var$1; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; - } - var$4 = $38; - if (!var$4) { - break label$9 - } - var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; - if (var$2 >>> 0 <= 31 >>> 0) { - break label$8 - } - break label$2; + $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; } + var$4 = $38; + if (!var$4) { + break label$9 + } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 + } + break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; @@ -7089,134 +7055,132 @@ function asmFunc(env) { var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { - block3 : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$1 = var$1; - i64toi32_i32$3 = -1; - i64toi32_i32$0 = -1; - i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } - var$8 = i64toi32_i32$4; - var$8$hi = i64toi32_i32$5; - label$15 : while (1) { - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$2 = var$5; - i64toi32_i32$1 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - $45 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; - $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - } - $140 = $45; - $140$hi = i64toi32_i32$1; - i64toi32_i32$1 = var$0$hi; - i64toi32_i32$5 = var$0; + $140 = $45; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; - } - $142$hi = i64toi32_i32$2; - i64toi32_i32$2 = $140$hi; - i64toi32_i32$1 = $140; - i64toi32_i32$5 = $142$hi; - i64toi32_i32$0 = $46; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; - var$5$hi = i64toi32_i32$5; - $144 = var$5; - $144$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$2 = var$8; - i64toi32_i32$1 = var$5$hi; - i64toi32_i32$0 = var$5; - i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; - i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; - i64toi32_i32$5 = i64toi32_i32$3; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; - $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; - } - var$6 = $47; - var$6$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$6$hi; - i64toi32_i32$4 = var$6; - i64toi32_i32$5 = var$1$hi; - i64toi32_i32$0 = var$1; - i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; - $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; - $151$hi = i64toi32_i32$5; - i64toi32_i32$5 = $144$hi; - i64toi32_i32$2 = $144; - i64toi32_i32$4 = $151$hi; - i64toi32_i32$0 = $151; - i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; - i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; - var$5 = i64toi32_i32$1; - var$5$hi = i64toi32_i32$3; - i64toi32_i32$3 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - $48 = 0; - } else { - i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; - $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - } - $154$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$7$hi; - i64toi32_i32$2 = $154$hi; - i64toi32_i32$3 = $48; - i64toi32_i32$5 = var$7$hi; - i64toi32_i32$0 = var$7; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; - var$0$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$6$hi; - i64toi32_i32$2 = var$6; - i64toi32_i32$3 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; - var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; - var$6$hi = i64toi32_i32$3; - var$7 = var$6; - var$7$hi = i64toi32_i32$3; - var$2 = var$2 + -1 | 0; - if (var$2) { - continue label$15 - } - break label$15; - }; - break label$13; - } + $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; } } i64toi32_i32$3 = var$5$hi; @@ -7602,34 +7566,32 @@ function asmFunc(env) { } var$2 = $37; if (var$2) { - block : { - i64toi32_i32$1 = var$1$hi; - var$3 = var$1; - if (!var$3) { - break label$11 - } - i64toi32_i32$1 = var$1$hi; - i64toi32_i32$0 = var$1; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; - } - var$4 = $38; - if (!var$4) { - break label$9 - } - var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; - if (var$2 >>> 0 <= 31 >>> 0) { - break label$8 - } - break label$2; + $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + var$4 = $38; + if (!var$4) { + break label$9 + } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 } + break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; @@ -7811,134 +7773,132 @@ function asmFunc(env) { var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { - block3 : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$1 = var$1; - i64toi32_i32$3 = -1; - i64toi32_i32$0 = -1; - i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } - var$8 = i64toi32_i32$4; - var$8$hi = i64toi32_i32$5; - label$15 : while (1) { - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$2 = var$5; - i64toi32_i32$1 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - $45 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; - $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - } - $140 = $45; - $140$hi = i64toi32_i32$1; - i64toi32_i32$1 = var$0$hi; - i64toi32_i32$5 = var$0; + $140 = $45; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; - } - $142$hi = i64toi32_i32$2; - i64toi32_i32$2 = $140$hi; - i64toi32_i32$1 = $140; - i64toi32_i32$5 = $142$hi; - i64toi32_i32$0 = $46; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; - var$5$hi = i64toi32_i32$5; - $144 = var$5; - $144$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$2 = var$8; - i64toi32_i32$1 = var$5$hi; - i64toi32_i32$0 = var$5; - i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; - i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; - i64toi32_i32$5 = i64toi32_i32$3; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; - $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; - } - var$6 = $47; - var$6$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$6$hi; - i64toi32_i32$4 = var$6; - i64toi32_i32$5 = var$1$hi; - i64toi32_i32$0 = var$1; - i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; - $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; - $151$hi = i64toi32_i32$5; - i64toi32_i32$5 = $144$hi; - i64toi32_i32$2 = $144; - i64toi32_i32$4 = $151$hi; - i64toi32_i32$0 = $151; - i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; - i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; - var$5 = i64toi32_i32$1; - var$5$hi = i64toi32_i32$3; - i64toi32_i32$3 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - $48 = 0; - } else { - i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; - $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - } - $154$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$7$hi; - i64toi32_i32$2 = $154$hi; - i64toi32_i32$3 = $48; - i64toi32_i32$5 = var$7$hi; - i64toi32_i32$0 = var$7; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; - var$0$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$6$hi; - i64toi32_i32$2 = var$6; - i64toi32_i32$3 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; - var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; - var$6$hi = i64toi32_i32$3; - var$7 = var$6; - var$7$hi = i64toi32_i32$3; - var$2 = var$2 + -1 | 0; - if (var$2) { - continue label$15 - } - break label$15; - }; - break label$13; - } + $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; } } i64toi32_i32$3 = var$5$hi; @@ -8304,34 +8264,32 @@ function asmFunc(env) { } var$2 = $37; if (var$2) { - block : { - i64toi32_i32$1 = var$1$hi; - var$3 = var$1; - if (!var$3) { - break label$11 - } - i64toi32_i32$1 = var$1$hi; - i64toi32_i32$0 = var$1; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; - } - var$4 = $38; - if (!var$4) { - break label$9 - } - var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; - if (var$2 >>> 0 <= 31 >>> 0) { - break label$8 - } - break label$2; + $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + var$4 = $38; + if (!var$4) { + break label$9 } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 + } + break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; @@ -8513,134 +8471,132 @@ function asmFunc(env) { var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { - block3 : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$1 = var$1; - i64toi32_i32$3 = -1; - i64toi32_i32$0 = -1; - i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } - var$8 = i64toi32_i32$4; - var$8$hi = i64toi32_i32$5; - label$15 : while (1) { - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$2 = var$5; - i64toi32_i32$1 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - $45 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; - $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - } - $140 = $45; - $140$hi = i64toi32_i32$1; - i64toi32_i32$1 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; - } - $142$hi = i64toi32_i32$2; - i64toi32_i32$2 = $140$hi; - i64toi32_i32$1 = $140; - i64toi32_i32$5 = $142$hi; - i64toi32_i32$0 = $46; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; - var$5$hi = i64toi32_i32$5; - $144 = var$5; - $144$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$2 = var$8; - i64toi32_i32$1 = var$5$hi; - i64toi32_i32$0 = var$5; - i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; - i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; - i64toi32_i32$5 = i64toi32_i32$3; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; - $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; - } - var$6 = $47; - var$6$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$6$hi; - i64toi32_i32$4 = var$6; - i64toi32_i32$5 = var$1$hi; - i64toi32_i32$0 = var$1; - i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; - $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; - $151$hi = i64toi32_i32$5; - i64toi32_i32$5 = $144$hi; - i64toi32_i32$2 = $144; - i64toi32_i32$4 = $151$hi; - i64toi32_i32$0 = $151; - i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; - i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; - var$5 = i64toi32_i32$1; - var$5$hi = i64toi32_i32$3; - i64toi32_i32$3 = var$0$hi; - i64toi32_i32$5 = var$0; + $140 = $45; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - $48 = 0; - } else { - i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; - $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - } - $154$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$7$hi; - i64toi32_i32$2 = $154$hi; - i64toi32_i32$3 = $48; - i64toi32_i32$5 = var$7$hi; - i64toi32_i32$0 = var$7; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; - var$0$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$6$hi; - i64toi32_i32$2 = var$6; - i64toi32_i32$3 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; - var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; - var$6$hi = i64toi32_i32$3; - var$7 = var$6; - var$7$hi = i64toi32_i32$3; - var$2 = var$2 + -1 | 0; - if (var$2) { - continue label$15 - } - break label$15; - }; - break label$13; - } + $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; } } i64toi32_i32$3 = var$5$hi; @@ -9008,34 +8964,32 @@ function asmFunc(env) { } var$2 = $37; if (var$2) { - block : { - i64toi32_i32$1 = var$1$hi; - var$3 = var$1; - if (!var$3) { - break label$11 - } - i64toi32_i32$1 = var$1$hi; - i64toi32_i32$0 = var$1; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; - } - var$4 = $38; - if (!var$4) { - break label$9 - } - var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; - if (var$2 >>> 0 <= 31 >>> 0) { - break label$8 - } - break label$2; + $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + var$4 = $38; + if (!var$4) { + break label$9 + } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 } + break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; @@ -9217,134 +9171,132 @@ function asmFunc(env) { var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { - block3 : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$1 = var$1; - i64toi32_i32$3 = -1; - i64toi32_i32$0 = -1; - i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } - var$8 = i64toi32_i32$4; - var$8$hi = i64toi32_i32$5; - label$15 : while (1) { - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$2 = var$5; - i64toi32_i32$1 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - $45 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; - $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - } - $140 = $45; - $140$hi = i64toi32_i32$1; - i64toi32_i32$1 = var$0$hi; - i64toi32_i32$5 = var$0; + $140 = $45; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; - } - $142$hi = i64toi32_i32$2; - i64toi32_i32$2 = $140$hi; - i64toi32_i32$1 = $140; - i64toi32_i32$5 = $142$hi; - i64toi32_i32$0 = $46; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; - var$5$hi = i64toi32_i32$5; - $144 = var$5; - $144$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$2 = var$8; - i64toi32_i32$1 = var$5$hi; - i64toi32_i32$0 = var$5; - i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; - i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; - i64toi32_i32$5 = i64toi32_i32$3; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; - $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; - } - var$6 = $47; - var$6$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$6$hi; - i64toi32_i32$4 = var$6; - i64toi32_i32$5 = var$1$hi; - i64toi32_i32$0 = var$1; - i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; - $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; - $151$hi = i64toi32_i32$5; - i64toi32_i32$5 = $144$hi; - i64toi32_i32$2 = $144; - i64toi32_i32$4 = $151$hi; - i64toi32_i32$0 = $151; - i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; - i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; - var$5 = i64toi32_i32$1; - var$5$hi = i64toi32_i32$3; - i64toi32_i32$3 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - $48 = 0; - } else { - i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; - $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - } - $154$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$7$hi; - i64toi32_i32$2 = $154$hi; - i64toi32_i32$3 = $48; - i64toi32_i32$5 = var$7$hi; - i64toi32_i32$0 = var$7; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; - var$0$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$6$hi; - i64toi32_i32$2 = var$6; - i64toi32_i32$3 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; - var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; - var$6$hi = i64toi32_i32$3; - var$7 = var$6; - var$7$hi = i64toi32_i32$3; - var$2 = var$2 + -1 | 0; - if (var$2) { - continue label$15 - } - break label$15; - }; - break label$13; - } + $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; } } i64toi32_i32$3 = var$5$hi; @@ -9712,34 +9664,32 @@ function asmFunc(env) { } var$2 = $37; if (var$2) { - block : { - i64toi32_i32$1 = var$1$hi; - var$3 = var$1; - if (!var$3) { - break label$11 - } - i64toi32_i32$1 = var$1$hi; - i64toi32_i32$0 = var$1; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; - } - var$4 = $38; - if (!var$4) { - break label$9 - } - var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; - if (var$2 >>> 0 <= 31 >>> 0) { - break label$8 - } - break label$2; + $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + var$4 = $38; + if (!var$4) { + break label$9 } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 + } + break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; @@ -9921,134 +9871,132 @@ function asmFunc(env) { var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { - block3 : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$1 = var$1; - i64toi32_i32$3 = -1; - i64toi32_i32$0 = -1; - i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } - var$8 = i64toi32_i32$4; - var$8$hi = i64toi32_i32$5; - label$15 : while (1) { - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$2 = var$5; - i64toi32_i32$1 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - $45 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; - $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - } - $140 = $45; - $140$hi = i64toi32_i32$1; - i64toi32_i32$1 = var$0$hi; - i64toi32_i32$5 = var$0; + $140 = $45; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; - } - $142$hi = i64toi32_i32$2; - i64toi32_i32$2 = $140$hi; - i64toi32_i32$1 = $140; - i64toi32_i32$5 = $142$hi; - i64toi32_i32$0 = $46; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; - var$5$hi = i64toi32_i32$5; - $144 = var$5; - $144$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$2 = var$8; - i64toi32_i32$1 = var$5$hi; - i64toi32_i32$0 = var$5; - i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; - i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; - i64toi32_i32$5 = i64toi32_i32$3; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; - $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; - } - var$6 = $47; - var$6$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$6$hi; - i64toi32_i32$4 = var$6; - i64toi32_i32$5 = var$1$hi; - i64toi32_i32$0 = var$1; - i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; - $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; - $151$hi = i64toi32_i32$5; - i64toi32_i32$5 = $144$hi; - i64toi32_i32$2 = $144; - i64toi32_i32$4 = $151$hi; - i64toi32_i32$0 = $151; - i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; - i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; - var$5 = i64toi32_i32$1; - var$5$hi = i64toi32_i32$3; - i64toi32_i32$3 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - $48 = 0; - } else { - i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; - $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - } - $154$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$7$hi; - i64toi32_i32$2 = $154$hi; - i64toi32_i32$3 = $48; - i64toi32_i32$5 = var$7$hi; - i64toi32_i32$0 = var$7; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; - var$0$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$6$hi; - i64toi32_i32$2 = var$6; - i64toi32_i32$3 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; - var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; - var$6$hi = i64toi32_i32$3; - var$7 = var$6; - var$7$hi = i64toi32_i32$3; - var$2 = var$2 + -1 | 0; - if (var$2) { - continue label$15 - } - break label$15; - }; - break label$13; - } + $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; } } i64toi32_i32$3 = var$5$hi; @@ -10390,34 +10338,32 @@ function asmFunc(env) { } var$2 = $37; if (var$2) { - block : { - i64toi32_i32$1 = var$1$hi; - var$3 = var$1; - if (!var$3) { - break label$11 - } - i64toi32_i32$1 = var$1$hi; - i64toi32_i32$0 = var$1; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; - } - var$4 = $38; - if (!var$4) { - break label$9 - } - var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; - if (var$2 >>> 0 <= 31 >>> 0) { - break label$8 - } - break label$2; + $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; } + var$4 = $38; + if (!var$4) { + break label$9 + } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 + } + break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; @@ -10599,134 +10545,132 @@ function asmFunc(env) { var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { - block3 : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$1 = var$1; - i64toi32_i32$3 = -1; - i64toi32_i32$0 = -1; - i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } - var$8 = i64toi32_i32$4; - var$8$hi = i64toi32_i32$5; - label$15 : while (1) { - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$2 = var$5; - i64toi32_i32$1 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - $45 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; - $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - } - $140 = $45; - $140$hi = i64toi32_i32$1; - i64toi32_i32$1 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; - } - $142$hi = i64toi32_i32$2; - i64toi32_i32$2 = $140$hi; - i64toi32_i32$1 = $140; - i64toi32_i32$5 = $142$hi; - i64toi32_i32$0 = $46; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; - var$5$hi = i64toi32_i32$5; - $144 = var$5; - $144$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$2 = var$8; - i64toi32_i32$1 = var$5$hi; - i64toi32_i32$0 = var$5; - i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; - i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; - i64toi32_i32$5 = i64toi32_i32$3; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; - $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; - } - var$6 = $47; - var$6$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$6$hi; - i64toi32_i32$4 = var$6; - i64toi32_i32$5 = var$1$hi; - i64toi32_i32$0 = var$1; - i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; - $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; - $151$hi = i64toi32_i32$5; - i64toi32_i32$5 = $144$hi; - i64toi32_i32$2 = $144; - i64toi32_i32$4 = $151$hi; - i64toi32_i32$0 = $151; - i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; - i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; - var$5 = i64toi32_i32$1; - var$5$hi = i64toi32_i32$3; - i64toi32_i32$3 = var$0$hi; - i64toi32_i32$5 = var$0; + $140 = $45; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - $48 = 0; - } else { - i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; - $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - } - $154$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$7$hi; - i64toi32_i32$2 = $154$hi; - i64toi32_i32$3 = $48; - i64toi32_i32$5 = var$7$hi; - i64toi32_i32$0 = var$7; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; - var$0$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$6$hi; - i64toi32_i32$2 = var$6; - i64toi32_i32$3 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; - var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; - var$6$hi = i64toi32_i32$3; - var$7 = var$6; - var$7$hi = i64toi32_i32$3; - var$2 = var$2 + -1 | 0; - if (var$2) { - continue label$15 - } - break label$15; - }; - break label$13; - } + $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; } } i64toi32_i32$3 = var$5$hi; diff --git a/test/wasm2js/labels.2asm.js b/test/wasm2js/labels.2asm.js index c12eaf7b4fb..4841f82f1f4 100644 --- a/test/wasm2js/labels.2asm.js +++ b/test/wasm2js/labels.2asm.js @@ -116,56 +116,52 @@ function asmFunc(env) { function $7() { var i = 0; i = 0; - block : { - l : { - break l; - } - i = i + 1 | 0; - l1 : { - break l1; - } - i = i + 1 | 0; - l2 : { - break l2; - } - i = i + 1 | 0; - l3 : { - break l3; - } - i = i + 1 | 0; - l4 : { - break l4; - } - i = i + 1 | 0; + l : { + break l; + } + i = i + 1 | 0; + l1 : { + break l1; + } + i = i + 1 | 0; + l2 : { + break l2; } + i = i + 1 | 0; + l3 : { + break l3; + } + i = i + 1 | 0; + l4 : { + break l4; + } + i = i + 1 | 0; return i | 0; } function $8() { var i = 0; i = 0; - block : { - if_ : { - break if_; - } - i = i + 1 | 0; - if5 : { - break if5; - } - i = i + 1 | 0; - if6 : { - break if6; - } - i = i + 1 | 0; - if7 : { - break if7; - } - i = i + 1 | 0; - if8 : { - break if8; - } - i = i + 1 | 0; + if_ : { + break if_; + } + i = i + 1 | 0; + if5 : { + break if5; + } + i = i + 1 | 0; + if6 : { + break if6; + } + i = i + 1 | 0; + if7 : { + break if7; + } + i = i + 1 | 0; + if8 : { + break if8; } + i = i + 1 | 0; return i | 0; } diff --git a/test/wasm2js/left-to-right.2asm.js b/test/wasm2js/left-to-right.2asm.js index 8027956cb0a..66cc3944355 100644 --- a/test/wasm2js/left-to-right.2asm.js +++ b/test/wasm2js/left-to-right.2asm.js @@ -1572,34 +1572,32 @@ function asmFunc(env) { } var$2 = $37_1; if (var$2) { - block : { - i64toi32_i32$1 = var$1$hi; - var$3 = var$1; - if (!var$3) { - break label$11 - } - i64toi32_i32$1 = var$1$hi; - i64toi32_i32$0 = var$1; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $38_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $38_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; - } - var$4 = $38_1; - if (!var$4) { - break label$9 - } - var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; - if (var$2 >>> 0 <= 31 >>> 0) { - break label$8 - } - break label$2; + $38_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + var$4 = $38_1; + if (!var$4) { + break label$9 } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 + } + break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; @@ -1781,134 +1779,132 @@ function asmFunc(env) { var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { - block3 : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$1 = var$1; - i64toi32_i32$3 = -1; - i64toi32_i32$0 = -1; - i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45_1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } - var$8 = i64toi32_i32$4; - var$8$hi = i64toi32_i32$5; - label$15 : while (1) { - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$2 = var$5; - i64toi32_i32$1 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - $45_1 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; - $45_1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - } - $140 = $45_1; - $140$hi = i64toi32_i32$1; - i64toi32_i32$1 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $46_1 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - $46_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; - } - $142$hi = i64toi32_i32$2; - i64toi32_i32$2 = $140$hi; - i64toi32_i32$1 = $140; - i64toi32_i32$5 = $142$hi; - i64toi32_i32$0 = $46_1; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; - var$5$hi = i64toi32_i32$5; - $144 = var$5; - $144$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$2 = var$8; - i64toi32_i32$1 = var$5$hi; - i64toi32_i32$0 = var$5; - i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; - i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; - i64toi32_i32$5 = i64toi32_i32$3; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; - $47_1 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - $47_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; - } - var$6 = $47_1; - var$6$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$6$hi; - i64toi32_i32$4 = var$6; - i64toi32_i32$5 = var$1$hi; - i64toi32_i32$0 = var$1; - i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; - $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; - $151$hi = i64toi32_i32$5; - i64toi32_i32$5 = $144$hi; - i64toi32_i32$2 = $144; - i64toi32_i32$4 = $151$hi; - i64toi32_i32$0 = $151; - i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; - i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; - var$5 = i64toi32_i32$1; - var$5$hi = i64toi32_i32$3; - i64toi32_i32$3 = var$0$hi; - i64toi32_i32$5 = var$0; + $140 = $45_1; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - $48_1 = 0; - } else { - i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; - $48_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - } - $154$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$7$hi; - i64toi32_i32$2 = $154$hi; - i64toi32_i32$3 = $48_1; - i64toi32_i32$5 = var$7$hi; - i64toi32_i32$0 = var$7; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; - var$0$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$6$hi; - i64toi32_i32$2 = var$6; - i64toi32_i32$3 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; - var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; - var$6$hi = i64toi32_i32$3; - var$7 = var$6; - var$7$hi = i64toi32_i32$3; - var$2 = var$2 + -1 | 0; - if (var$2) { - continue label$15 - } - break label$15; - }; - break label$13; - } + $46_1 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46_1; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47_1 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47_1; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48_1; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; } } i64toi32_i32$3 = var$5$hi; diff --git a/test/wasm2js/stack-modified.2asm.js b/test/wasm2js/stack-modified.2asm.js index 3b5ed595a1b..26b8bc26b2b 100644 --- a/test/wasm2js/stack-modified.2asm.js +++ b/test/wasm2js/stack-modified.2asm.js @@ -82,24 +82,22 @@ function asmFunc(env) { if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) { break label$1 } else { - block : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$2$hi; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$0 = var$2$hi; - i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0; - i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; - var$2 = i64toi32_i32$0; - var$2$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$3 = var$1; - i64toi32_i32$0 = 0; - i64toi32_i32$1 = 1; - i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; - var$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0; - var$1$hi = i64toi32_i32$5; - } + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$2$hi; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$0 = var$2$hi; + i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + var$2 = i64toi32_i32$0; + var$2$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$3 = var$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + var$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + var$1$hi = i64toi32_i32$5; } continue label$2; }; @@ -129,24 +127,22 @@ function asmFunc(env) { if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) { break label$1 } else { - block : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$2$hi; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$0 = var$2$hi; - i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0; - i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; - var$2 = i64toi32_i32$0; - var$2$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$3 = var$1; - i64toi32_i32$0 = 0; - i64toi32_i32$1 = 1; - i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; - var$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0; - var$1$hi = i64toi32_i32$5; - } + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$2$hi; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$0 = var$2$hi; + i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + var$2 = i64toi32_i32$0; + var$2$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$3 = var$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + var$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + var$1$hi = i64toi32_i32$5; } continue label$2; }; @@ -176,24 +172,22 @@ function asmFunc(env) { if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) { break label$1 } else { - block : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$2$hi; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$0 = var$2$hi; - i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0; - i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; - var$2 = i64toi32_i32$0; - var$2$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$3 = var$1; - i64toi32_i32$0 = 0; - i64toi32_i32$1 = 1; - i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; - var$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0; - var$1$hi = i64toi32_i32$5; - } + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$2$hi; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$0 = var$2$hi; + i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + var$2 = i64toi32_i32$0; + var$2$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$3 = var$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + var$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + var$1$hi = i64toi32_i32$5; } continue label$2; }; @@ -223,24 +217,22 @@ function asmFunc(env) { if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) { break label$1 } else { - block : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$2$hi; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$0 = var$2$hi; - i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0; - i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; - var$2 = i64toi32_i32$0; - var$2$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$3 = var$1; - i64toi32_i32$0 = 0; - i64toi32_i32$1 = 1; - i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; - var$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0; - var$1$hi = i64toi32_i32$5; - } + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$2$hi; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$0 = var$2$hi; + i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + var$2 = i64toi32_i32$0; + var$2$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$3 = var$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + var$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + var$1$hi = i64toi32_i32$5; } continue label$2; }; diff --git a/test/wasm2js/stack-modified.2asm.js.opt b/test/wasm2js/stack-modified.2asm.js.opt index 63d2e48297a..4944c5046be 100644 --- a/test/wasm2js/stack-modified.2asm.js.opt +++ b/test/wasm2js/stack-modified.2asm.js.opt @@ -17,35 +17,40 @@ function asmFunc(env) { var setTempRet0 = env.setTempRet0; var i64toi32_i32$HIGH_BITS = 0; function legalstub$0($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - $4 = $1; - $2 = 1; + var $2 = 0, $3 = 0, $4 = 0; + $2 = $1; + $3 = 1; while (1) { - if ($0 | $4) { - $1 = $2 >>> 16 | 0; - $3 = $0 >>> 16 | 0; - $9 = Math_imul($1, $3); - $5 = $2 & 65535; - $6 = $0 & 65535; - $7 = Math_imul($5, $6); - $3 = ($7 >>> 16 | 0) + Math_imul($3, $5) | 0; - $1 = ($3 & 65535) + Math_imul($1, $6) | 0; - i64toi32_i32$HIGH_BITS = (Math_imul($2, $4) + $9 | 0) + Math_imul($0, $8) + ($3 >>> 16) + ($1 >>> 16) | 0; - $2 = $7 & 65535 | $1 << 16; - $8 = i64toi32_i32$HIGH_BITS; + if ($0 | $2) { + $3 = __wasm_i64_mul($0, $2, $3, $4); + $4 = i64toi32_i32$HIGH_BITS; $1 = $0; - $0 = $1 - 1 | 0; - $4 = $4 - !$1 | 0; + $0 = $0 - 1 | 0; + $2 = $2 - !$1 | 0; continue; } break; }; - i64toi32_i32$HIGH_BITS = $8; - $0 = $2; + i64toi32_i32$HIGH_BITS = $4; + $0 = $3; setTempRet0(i64toi32_i32$HIGH_BITS | 0); return $0; } + function __wasm_i64_mul($0, $1, $2, $3) { + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + $4 = $2 >>> 16 | 0; + $5 = $0 >>> 16 | 0; + $9 = Math_imul($4, $5); + $6 = $2 & 65535; + $7 = $0 & 65535; + $8 = Math_imul($6, $7); + $5 = ($8 >>> 16 | 0) + Math_imul($5, $6) | 0; + $4 = ($5 & 65535) + Math_imul($4, $7) | 0; + i64toi32_i32$HIGH_BITS = (Math_imul($1, $2) + $9 | 0) + Math_imul($0, $3) + ($5 >>> 16) + ($4 >>> 16) | 0; + return $8 & 65535 | $4 << 16; + } + return { "fac_expr": legalstub$0, "fac_stack": legalstub$0, diff --git a/test/wasm2js/traps.2asm.js b/test/wasm2js/traps.2asm.js index 5ca565d0eb7..bf90a8b80bc 100644 --- a/test/wasm2js/traps.2asm.js +++ b/test/wasm2js/traps.2asm.js @@ -303,34 +303,32 @@ function asmFunc(env) { } var$2 = $37; if (var$2) { - block : { - i64toi32_i32$1 = var$1$hi; - var$3 = var$1; - if (!var$3) { - break label$11 - } - i64toi32_i32$1 = var$1$hi; - i64toi32_i32$0 = var$1; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; - } - var$4 = $38; - if (!var$4) { - break label$9 - } - var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; - if (var$2 >>> 0 <= 31 >>> 0) { - break label$8 - } - break label$2; + $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + var$4 = $38; + if (!var$4) { + break label$9 } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 + } + break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; @@ -512,134 +510,132 @@ function asmFunc(env) { var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { - block3 : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$1 = var$1; - i64toi32_i32$3 = -1; - i64toi32_i32$0 = -1; - i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } - var$8 = i64toi32_i32$4; - var$8$hi = i64toi32_i32$5; - label$15 : while (1) { - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$2 = var$5; - i64toi32_i32$1 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - $45 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; - $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - } - $140 = $45; - $140$hi = i64toi32_i32$1; - i64toi32_i32$1 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; - } - $142$hi = i64toi32_i32$2; - i64toi32_i32$2 = $140$hi; - i64toi32_i32$1 = $140; - i64toi32_i32$5 = $142$hi; - i64toi32_i32$0 = $46; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; - var$5$hi = i64toi32_i32$5; - $144 = var$5; - $144$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$2 = var$8; - i64toi32_i32$1 = var$5$hi; - i64toi32_i32$0 = var$5; - i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; - i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; - i64toi32_i32$5 = i64toi32_i32$3; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; - $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; - } - var$6 = $47; - var$6$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$6$hi; - i64toi32_i32$4 = var$6; - i64toi32_i32$5 = var$1$hi; - i64toi32_i32$0 = var$1; - i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; - $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; - $151$hi = i64toi32_i32$5; - i64toi32_i32$5 = $144$hi; - i64toi32_i32$2 = $144; - i64toi32_i32$4 = $151$hi; - i64toi32_i32$0 = $151; - i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; - i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; - var$5 = i64toi32_i32$1; - var$5$hi = i64toi32_i32$3; - i64toi32_i32$3 = var$0$hi; - i64toi32_i32$5 = var$0; + $140 = $45; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - $48 = 0; - } else { - i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; - $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - } - $154$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$7$hi; - i64toi32_i32$2 = $154$hi; - i64toi32_i32$3 = $48; - i64toi32_i32$5 = var$7$hi; - i64toi32_i32$0 = var$7; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; - var$0$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$6$hi; - i64toi32_i32$2 = var$6; - i64toi32_i32$3 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; - var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; - var$6$hi = i64toi32_i32$3; - var$7 = var$6; - var$7$hi = i64toi32_i32$3; - var$2 = var$2 + -1 | 0; - if (var$2) { - continue label$15 - } - break label$15; - }; - break label$13; - } + $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; } } i64toi32_i32$3 = var$5$hi; @@ -1020,34 +1016,32 @@ function asmFunc(env) { } var$2 = $37; if (var$2) { - block : { - i64toi32_i32$1 = var$1$hi; - var$3 = var$1; - if (!var$3) { - break label$11 - } - i64toi32_i32$1 = var$1$hi; - i64toi32_i32$0 = var$1; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; - } - var$4 = $38; - if (!var$4) { - break label$9 - } - var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; - if (var$2 >>> 0 <= 31 >>> 0) { - break label$8 - } - break label$2; + $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + var$4 = $38; + if (!var$4) { + break label$9 } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 + } + break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; @@ -1229,134 +1223,132 @@ function asmFunc(env) { var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { - block3 : { - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$1 = var$1; - i64toi32_i32$3 = -1; - i64toi32_i32$0 = -1; - i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; - i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } - var$8 = i64toi32_i32$4; - var$8$hi = i64toi32_i32$5; - label$15 : while (1) { - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$2 = var$5; - i64toi32_i32$1 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - $45 = 0; - } else { - i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; - $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; - } - $140 = $45; - $140$hi = i64toi32_i32$1; - i64toi32_i32$1 = var$0$hi; - i64toi32_i32$5 = var$0; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = 0; - $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; - $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; - } - $142$hi = i64toi32_i32$2; - i64toi32_i32$2 = $140$hi; - i64toi32_i32$1 = $140; - i64toi32_i32$5 = $142$hi; - i64toi32_i32$0 = $46; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; - var$5$hi = i64toi32_i32$5; - $144 = var$5; - $144$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$5 = var$5$hi; - i64toi32_i32$5 = var$8$hi; - i64toi32_i32$2 = var$8; - i64toi32_i32$1 = var$5$hi; - i64toi32_i32$0 = var$5; - i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; - i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; - i64toi32_i32$5 = i64toi32_i32$3; - i64toi32_i32$2 = 0; - i64toi32_i32$0 = 63; - i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; - $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - } else { - i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; - $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; - } - var$6 = $47; - var$6$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$1$hi; - i64toi32_i32$2 = var$6$hi; - i64toi32_i32$4 = var$6; - i64toi32_i32$5 = var$1$hi; - i64toi32_i32$0 = var$1; - i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; - $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; - $151$hi = i64toi32_i32$5; - i64toi32_i32$5 = $144$hi; - i64toi32_i32$2 = $144; - i64toi32_i32$4 = $151$hi; - i64toi32_i32$0 = $151; - i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; - i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; - i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; - i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; - var$5 = i64toi32_i32$1; - var$5$hi = i64toi32_i32$3; - i64toi32_i32$3 = var$0$hi; - i64toi32_i32$5 = var$0; + $140 = $45; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; - if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { - i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - $48 = 0; - } else { - i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; - $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; - } - $154$hi = i64toi32_i32$2; - i64toi32_i32$2 = var$7$hi; - i64toi32_i32$2 = $154$hi; - i64toi32_i32$3 = $48; - i64toi32_i32$5 = var$7$hi; - i64toi32_i32$0 = var$7; - i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; - var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; - var$0$hi = i64toi32_i32$5; - i64toi32_i32$5 = var$6$hi; - i64toi32_i32$2 = var$6; - i64toi32_i32$3 = 0; - i64toi32_i32$0 = 1; - i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; - var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; - var$6$hi = i64toi32_i32$3; - var$7 = var$6; - var$7$hi = i64toi32_i32$3; - var$2 = var$2 + -1 | 0; - if (var$2) { - continue label$15 - } - break label$15; - }; - break label$13; - } + $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; } } i64toi32_i32$3 = var$5$hi;