summaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/regress/wasm/regress-7582.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/mjsunit/regress/wasm/regress-7582.js')
-rw-r--r--deps/v8/test/mjsunit/regress/wasm/regress-7582.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/regress/wasm/regress-7582.js b/deps/v8/test/mjsunit/regress/wasm/regress-7582.js
new file mode 100644
index 0000000000..476a0e18e8
--- /dev/null
+++ b/deps/v8/test/mjsunit/regress/wasm/regress-7582.js
@@ -0,0 +1,48 @@
+// Copyright 2018 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+load('test/mjsunit/wasm/wasm-constants.js');
+load('test/mjsunit/wasm/wasm-module-builder.js');
+
+const builder = new WasmModuleBuilder();
+builder.addGlobal(kWasmI32, 1);
+sig0 = makeSig([kWasmI32, kWasmI32, kWasmI32], [kWasmI32]);
+builder.addFunction(undefined, sig0)
+ .addBody([
+kExprF32Const, 0x01, 0x00, 0x00, 0x00,
+kExprF32Const, 0x00, 0x00, 0x00, 0x00,
+kExprF32Eq, // --> i32:0
+kExprF32Const, 0xc9, 0xc9, 0x69, 0xc9,
+kExprF32Const, 0xc9, 0xc9, 0xc9, 0x00,
+kExprF32Eq, // --> i32:0 i32:0
+kExprIf, kWasmF32,
+ kExprF32Const, 0x00, 0x00, 0x00, 0x00,
+kExprElse, // @32
+ kExprF32Const, 0x00, 0x00, 0x00, 0x00,
+ kExprEnd, // --> i32:0 f32:0
+kExprF32Const, 0xc9, 0x00, 0x00, 0x00,
+kExprF32Const, 0xc9, 0xc9, 0xc9, 0x00,
+kExprF32Const, 0xc9, 0xc9, 0xa0, 0x00, // --> i32:0 f32:0 f32 f32 f32
+kExprF32Eq, // --> i32:0 f32:0 f32 i32:0
+kExprIf, kWasmF32,
+ kExprF32Const, 0x00, 0x00, 0x00, 0x00,
+kExprElse,
+ kExprF32Const, 0x00, 0x00, 0x00, 0x00,
+ kExprEnd, // --> i32:0 f32:0 f32 f32:0
+kExprF32Eq, // --> i32:0 f32:0 i32:0
+kExprIf, kWasmF32,
+ kExprF32Const, 0x00, 0x00, 0x00, 0x00,
+kExprElse,
+ kExprF32Const, 0x00, 0x00, 0x00, 0x00,
+ kExprEnd, // --> i32:0 f32:0 f32:0
+kExprF32Const, 0xc9, 0xc9, 0xff, 0xff, // --> i32:0 f32:0 f32:0 f32
+kExprF32Eq, // --> i32:0 f32:0 i32:0
+kExprDrop,
+kExprDrop, // --> i32:0
+kExprI32Const, 1, // --> i32:0 i32:1
+kExprI32GeU, // --> i32:0
+ ]);
+builder.addExport('main', 0);
+const instance = builder.instantiate();
+assertEquals(0, instance.exports.main(1, 2, 3));