diff options
-rw-r--r-- | test/unit.asm.js | 11 | ||||
-rw-r--r-- | test/unit.wast | 44 |
2 files changed, 55 insertions, 0 deletions
diff --git a/test/unit.asm.js b/test/unit.asm.js index db761705c..1e6789522 100644 --- a/test/unit.asm.js +++ b/test/unit.asm.js @@ -45,6 +45,17 @@ function () { var J = 0.0; J = (0.1, 5.1) - (3.2, 4.2); } + function switcher(x) { + x = x | 0; + switch (x | 0) { + case 1: return 1; + case 2: return 2; + } + switch (x | 0) { + case 12: return 121; + case 5: return 51; + } + } function z() { } diff --git a/test/unit.wast b/test/unit.wast index 074804936..d0b2ee76d 100644 --- a/test/unit.wast +++ b/test/unit.wast @@ -166,6 +166,50 @@ ) ) ) + (func $switcher (param $x i32) (result i32) + (block $topmost + (tableswitch $switch$0 + (i32.sub + (get_local $x) + (i32.const 1) + ) + (table (case $switch-case$1) (case $switch-case$2)) (case $switch-default$3) + (case switch-case$1 + (br $topmost + (i32.const 1) + ) + ) + (case switch-case$2 + (br $topmost + (i32.const 2) + ) + ) + (case switch-default$3 + (nop) + ) + ) + (tableswitch $switch$4 + (i32.sub + (get_local $x) + (i32.const 5) + ) + (table (case $switch-case$6) (case $switch-default$7) (case $switch-default$7) (case $switch-default$7) (case $switch-default$7) (case $switch-default$7) (case $switch-default$7) (case $switch-case$5)) (case $switch-default$7) + (case switch-case$5 + (br $topmost + (i32.const 121) + ) + ) + (case switch-case$6 + (br $topmost + (i32.const 51) + ) + ) + (case switch-default$7 + (nop) + ) + ) + ) + ) (func $z (nop) ) |