summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/wasm/regress/movable-traps.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/wasm/regress/movable-traps.js')
-rw-r--r--js/src/jit-test/tests/wasm/regress/movable-traps.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/regress/movable-traps.js b/js/src/jit-test/tests/wasm/regress/movable-traps.js
new file mode 100644
index 0000000000..ac5577032b
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/regress/movable-traps.js
@@ -0,0 +1,38 @@
+let bodies = [
+ `
+ i32.const 1
+ i32.const 0
+ i32.div_s
+ `,
+ `
+ i32.const 1
+ i32.const 0
+ i32.rem_s
+ `,
+ `
+ f64.const 1.7976931348623157e+308
+ i64.trunc_s/f64
+ `,
+ `
+ f32.const 3.40282347e+38
+ i32.trunc_s/f32
+ `
+];
+
+for (let body of bodies) {
+ wasmFullPass(`
+ (module
+ (func $f (param $x i32) (result i32)
+ loop $top (result i32)
+ local.get $x
+ if
+ local.get $x
+ br 2
+ end
+ ${body}
+ br $top
+ end
+ )
+ (export "run" (func $f))
+ )`, 42, {}, 42);
+}