diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-11-16 16:14:30 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-11-16 16:14:30 -0800 |
commit | dc22040358e467763c80c233f01a384f17d19c30 (patch) | |
tree | a965d5bfa8799c2c52e2388dae2df0eae238dc4e | |
parent | f47a02e09028434fab7c094a390eaf4e87a3313e (diff) | |
download | binaryen-dc22040358e467763c80c233f01a384f17d19c30.tar.gz binaryen-dc22040358e467763c80c233f01a384f17d19c30.tar.bz2 binaryen-dc22040358e467763c80c233f01a384f17d19c30.zip |
add switch testcase
-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) ) |