diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/jit-test/tests/wasm/regress/baseline-joinreg.js | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/regress/baseline-joinreg.js b/js/src/jit-test/tests/wasm/regress/baseline-joinreg.js new file mode 100644 index 0000000000..01bc3d5bbc --- /dev/null +++ b/js/src/jit-test/tests/wasm/regress/baseline-joinreg.js @@ -0,0 +1,16 @@ +// Bug 1322288 is about the floating join register not being reserved properly +// in the presence of boolean evaluation for control. The situation is that a +// conditional branch passes a floating point value to the join point; the join register +// must be available when it does that, but could have been allocated to the operands of +// the conditional expression of the control flow. +// +// This test is white-box: it depends on the floating join reg being among the first +// floating registers to be allocated. + +wasmEvalText(` +(module + (func $run + (drop (block (result f64) + (drop (br_if 0 (f64.const 1) (f64.eq (f64.const 1) (f64.const 0)))) + (drop (br 0 (f64.const 2)))))) + (export "run" (func $run)))`); |