diff options
Diffstat (limited to 'js/src/jit-test/tests/wasm/fac.js')
-rw-r--r-- | js/src/jit-test/tests/wasm/fac.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/fac.js b/js/src/jit-test/tests/wasm/fac.js new file mode 100644 index 000000000..d5847c957 --- /dev/null +++ b/js/src/jit-test/tests/wasm/fac.js @@ -0,0 +1,21 @@ +load(libdir + "wasm.js"); + +// This is fac-opt from fac.wast in the official testsuite, changed to use +// i32 instead of i64. +assertEq(wasmEvalText(`(module + (func $fac-opt (param i32) (result i32) + (local i32) + (set_local 1 (i32.const 1)) + (block + (br_if 0 (i32.lt_s (get_local 0) (i32.const 2))) + (loop + (set_local 1 (i32.mul (get_local 1) (get_local 0))) + (set_local 0 (i32.add (get_local 0) (i32.const -1))) + (br_if 0 (i32.gt_s (get_local 0) (i32.const 1))) + ) + ) + (get_local 1) + ) + + (export "" 0) +)`).exports[""](10), 3628800); |