var ins = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` ( module ( func ( export "i32x4.add" ) ( param v128 v128 ) ( result v128 ) ( i32x4.add ( local.get 0 ) ( local.get 1 ) ) ) ( func ( export "i32x4.sub" ) ( param v128 v128 ) ( result v128 ) ( i32x4.sub ( local.get 0 ) ( local.get 1 ) ) ) ( func ( export "i32x4.mul" ) ( param v128 v128 ) ( result v128 ) ( i32x4.mul ( local.get 0 ) ( local.get 1 ) ) ) ( func ( export "i32x4.neg" ) ( param v128 ) ( result v128 ) ( i32x4.neg ( local.get 0 ) ) ) ) `))); var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 0 0 0 ) ( v128.const i32x4 0 0 0 0 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 0 0 0 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1 1 1 1 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 2 2 2 2 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 0 0 0 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1 1 1 1 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -1 -1 -1 -1 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 -2 -2 -2 -2 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1073741823 1073741823 1073741823 1073741823 ) ( v128.const i32x4 1073741824 1073741824 1073741824 1073741824 ))) (local.set $expected ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1073741824 1073741824 1073741824 1073741824 ) ( v128.const i32x4 1073741824 1073741824 1073741824 1073741824 ))) (local.set $expected ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -1073741823 -1073741823 -1073741823 -1073741823 ) ( v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824 ))) (local.set $expected ( v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824 ) ( v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824 ))) (local.set $expected ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -1073741825 -1073741825 -1073741825 -1073741825 ) ( v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824 ))) (local.set $expected ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 2147483645 2147483645 2147483645 2147483645 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 2147483646 2147483646 2147483646 2147483646 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 2147483646 2147483646 2147483646 2147483646 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 2147483648 2147483648 2147483648 2147483648 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -2147483646 -2147483646 -2147483646 -2147483646 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 ) ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 ))) (local.set $expected ( v128.const i32x4 -2 -2 -2 -2 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 ) ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 ) ( v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647 ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 0 0 0 0 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 -2 -2 -2 -2 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 ))) (local.set $expected ( v128.const i32x4 2147483646 2147483646 2147483646 2147483646 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 ))) (local.set $expected ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ))) (local.set $expected ( v128.const i32x4 -2 -2 -2 -2 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x3fffffff 0x3fffffff 0x3fffffff 0x3fffffff ) ( v128.const i32x4 0x40000000 0x40000000 0x40000000 0x40000000 ))) (local.set $expected ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x40000000 0x40000000 0x40000000 0x40000000 ) ( v128.const i32x4 0x40000000 0x40000000 0x40000000 0x40000000 ))) (local.set $expected ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -0x3fffffff -0x3fffffff -0x3fffffff -0x3fffffff ) ( v128.const i32x4 -0x40000000 -0x40000000 -0x40000000 -0x40000000 ))) (local.set $expected ( v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -0x40000000 -0x40000000 -0x40000000 -0x40000000 ) ( v128.const i32x4 -0x40000000 -0x40000000 -0x40000000 -0x40000000 ))) (local.set $expected ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -0x40000000 -0x40000000 -0x40000000 -0x40000000 ) ( v128.const i32x4 -0x40000001 -0x40000001 -0x40000001 -0x40000001 ))) (local.set $expected ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff ) ( v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff ))) (local.set $expected ( v128.const i32x4 -2 -2 -2 -2 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff ) ( v128.const i32x4 0x01 0x01 0x01 0x01 ))) (local.set $expected ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ) ( v128.const i32x4 -0x01 -0x01 -0x01 -0x01 ))) (local.set $expected ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff ) ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ) ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0xffffffff 0xffffffff 0xffffffff 0xffffffff ) ( v128.const i32x4 0x01 0x01 0x01 0x01 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0xffffffff 0xffffffff 0xffffffff 0xffffffff ) ( v128.const i32x4 0xffffffff 0xffffffff 0xffffffff 0xffffffff ))) (local.set $expected ( v128.const i32x4 -2 -2 -2 -2 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff ) ( v128.const i8x16 0 0 0 0x80 0 0 0 0x80 0 0 0 0x80 0 0 0 0x80 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1 1 1 1 ) ( v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff ) ( v128.const i16x8 0 0x8000 0 0x8000 0 0x8000 0 0x8000 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1 1 1 1 ) ( v128.const i16x8 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ) ( v128.const f32x4 +0.0 +0.0 +0.0 +0.0 ))) (local.set $expected ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ) ( v128.const f32x4 -0.0 -0.0 -0.0 -0.0 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ) ( v128.const f32x4 1.0 1.0 1.0 1.0 ))) (local.set $expected ( v128.const i32x4 0xbf800000 0xbf800000 0xbf800000 0xbf800000 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ) ( v128.const f32x4 -1.0 -1.0 -1.0 -1.0 ))) (local.set $expected ( v128.const i32x4 0x3f800000 0x3f800000 0x3f800000 0x3f800000 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1 1 1 1 ) ( v128.const f32x4 +inf +inf +inf +inf ))) (local.set $expected ( v128.const i32x4 0x7f800001 0x7f800001 0x7f800001 0x7f800001 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1 1 1 1 ) ( v128.const f32x4 -inf -inf -inf -inf ))) (local.set $expected ( v128.const i32x4 0xff800001 0xff800001 0xff800001 0xff800001 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1 1 1 1 ) ( v128.const f32x4 nan nan nan nan ))) (local.set $expected ( v128.const i32x4 0x7fc00001 0x7fc00001 0x7fc00001 0x7fc00001 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 1 2 3 ) ( v128.const i32x4 0 0xffffffff 0xfffffffe 0xfffffffd ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 1 2 3 ) ( v128.const i32x4 0 2 4 6 ))) (local.set $expected ( v128.const i32x4 0 3 6 9 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 01_234_567_890 01_234_567_890 01_234_567_890 01_234_567_890 ) ( v128.const i32x4 01_234_567_890 01_234_567_890 01_234_567_890 01_234_567_890 ))) (local.set $expected ( v128.const i32x4 02_469_135_780 02_469_135_780 02_469_135_780 02_469_135_780 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.add" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678 ) ( v128.const i32x4 0x0_90AB_cdef 0x0_90AB_cdef 0x0_90AB_cdef 0x0_90AB_cdef ))) (local.set $expected ( v128.const i32x4 0x0_a2e0_2467 0x0_a2e0_2467 0x0_a2e0_2467 0x0_a2e0_2467 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 0 0 0 ) ( v128.const i32x4 0 0 0 0 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 0 0 0 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1 1 1 1 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 0 0 0 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1 1 1 1 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 2 2 2 2 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -1 -1 -1 -1 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1073741823 1073741823 1073741823 1073741823 ) ( v128.const i32x4 1073741824 1073741824 1073741824 1073741824 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1073741824 1073741824 1073741824 1073741824 ) ( v128.const i32x4 1073741824 1073741824 1073741824 1073741824 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -1073741823 -1073741823 -1073741823 -1073741823 ) ( v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824 ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824 ) ( v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -1073741825 -1073741825 -1073741825 -1073741825 ) ( v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 2147483645 2147483645 2147483645 2147483645 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 2147483644 2147483644 2147483644 2147483644 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 2147483646 2147483646 2147483646 2147483646 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 2147483645 2147483645 2147483645 2147483645 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 2147483648 2147483648 2147483648 2147483648 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -2147483646 -2147483646 -2147483646 -2147483646 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 -2147483645 -2147483645 -2147483645 -2147483645 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 -2147483646 -2147483646 -2147483646 -2147483646 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 ) ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 ) ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 ) ( v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 0 0 0 0 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 -2 -2 -2 -2 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 ))) (local.set $expected ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 ))) (local.set $expected ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x3fffffff 0x3fffffff 0x3fffffff 0x3fffffff ) ( v128.const i32x4 0x40000000 0x40000000 0x40000000 0x40000000 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x40000000 0x40000000 0x40000000 0x40000000 ) ( v128.const i32x4 0x40000000 0x40000000 0x40000000 0x40000000 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -0x3fffffff -0x3fffffff -0x3fffffff -0x3fffffff ) ( v128.const i32x4 -0x40000000 -0x40000000 -0x40000000 -0x40000000 ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -0x40000000 -0x40000000 -0x40000000 -0x40000000 ) ( v128.const i32x4 -0x40000000 -0x40000000 -0x40000000 -0x40000000 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -0x40000000 -0x40000000 -0x40000000 -0x40000000 ) ( v128.const i32x4 -0x40000001 -0x40000001 -0x40000001 -0x40000001 ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff ) ( v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff ) ( v128.const i32x4 0x01 0x01 0x01 0x01 ))) (local.set $expected ( v128.const i32x4 2147483646 2147483646 2147483646 2147483646 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ) ( v128.const i32x4 -0x01 -0x01 -0x01 -0x01 ))) (local.set $expected ( v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff ) ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ) ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0xffffffff 0xffffffff 0xffffffff 0xffffffff ) ( v128.const i32x4 0x01 0x01 0x01 0x01 ))) (local.set $expected ( v128.const i32x4 -2 -2 -2 -2 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0xffffffff 0xffffffff 0xffffffff 0xffffffff ) ( v128.const i32x4 0xffffffff 0xffffffff 0xffffffff 0xffffffff ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff ) ( v128.const i8x16 0 0 0 0x80 0 0 0 0x80 0 0 0 0x80 0 0 0 0x80 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1 1 1 1 ) ( v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 ))) (local.set $expected ( v128.const i32x4 2 2 2 2 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff ) ( v128.const i16x8 0 0x8000 0 0x8000 0 0x8000 0 0x8000 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1 1 1 1 ) ( v128.const i16x8 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff ))) (local.set $expected ( v128.const i32x4 0x02 0x02 0x02 0x02 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ) ( v128.const f32x4 +0.0 +0.0 +0.0 +0.0 ))) (local.set $expected ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ) ( v128.const f32x4 -0.0 -0.0 -0.0 -0.0 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ) ( v128.const f32x4 1.0 1.0 1.0 1.0 ))) (local.set $expected ( v128.const i32x4 0x40800000 0x40800000 0x40800000 0x40800000 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ) ( v128.const f32x4 -1.0 -1.0 -1.0 -1.0 ))) (local.set $expected ( v128.const i32x4 0xc0800000 0xc0800000 0xc0800000 0xc0800000 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x1 0x1 0x1 0x1 ) ( v128.const f32x4 +inf +inf +inf +inf ))) (local.set $expected ( v128.const i32x4 0x80800001 0x80800001 0x80800001 0x80800001 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x1 0x1 0x1 0x1 ) ( v128.const f32x4 -inf -inf -inf -inf ))) (local.set $expected ( v128.const i32x4 0x00800001 0x00800001 0x00800001 0x00800001 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x1 0x1 0x1 0x1 ) ( v128.const f32x4 nan nan nan nan ))) (local.set $expected ( v128.const i32x4 0x80400001 0x80400001 0x80400001 0x80400001 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 1 2 3 ) ( v128.const i32x4 0 0xffffffff 0xfffffffe 0xfffffffd ))) (local.set $expected ( v128.const i32x4 0 0x02 0x04 0x06 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 1 2 3 ) ( v128.const i32x4 0 2 4 6 ))) (local.set $expected ( v128.const i32x4 0 -1 -2 -3 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 03_214_567_890 03_214_567_890 03_214_567_890 03_214_567_890 ) ( v128.const i32x4 01_234_567_890 01_234_567_890 01_234_567_890 01_234_567_890 ))) (local.set $expected ( v128.const i32x4 01_980_000_000 01_980_000_000 01_980_000_000 01_980_000_000 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.sub" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x0_90AB_cdef 0x0_90AB_cdef 0x0_90AB_cdef 0x0_90AB_cdef ) ( v128.const i32x4 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678 ))) (local.set $expected ( v128.const i32x4 0x0_7e77_7777 0x0_7e77_7777 0x0_7e77_7777 0x0_7e77_7777 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 0 0 0 ) ( v128.const i32x4 0 0 0 0 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 0 0 0 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1 1 1 1 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 0 0 0 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1 1 1 1 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -1 -1 -1 -1 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1073741823 1073741823 1073741823 1073741823 ) ( v128.const i32x4 1073741824 1073741824 1073741824 1073741824 ))) (local.set $expected ( v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1073741824 1073741824 1073741824 1073741824 ) ( v128.const i32x4 1073741824 1073741824 1073741824 1073741824 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -1073741823 -1073741823 -1073741823 -1073741823 ) ( v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824 ))) (local.set $expected ( v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824 ) ( v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -1073741825 -1073741825 -1073741825 -1073741825 ) ( v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824 ))) (local.set $expected ( v128.const i32x4 1073741824 1073741824 1073741824 1073741824 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 2147483645 2147483645 2147483645 2147483645 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 2147483645 2147483645 2147483645 2147483645 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 2147483646 2147483646 2147483646 2147483646 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 2147483646 2147483646 2147483646 2147483646 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 2147483648 2147483648 2147483648 2147483648 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -2147483646 -2147483646 -2147483646 -2147483646 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 2147483646 2147483646 2147483646 2147483646 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 ) ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 ) ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 ) ( v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647 ))) (local.set $expected ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 0 0 0 0 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 ))) (local.set $expected ( v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 ))) (local.set $expected ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ) ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x3fffffff 0x3fffffff 0x3fffffff 0x3fffffff ) ( v128.const i32x4 0x40000000 0x40000000 0x40000000 0x40000000 ))) (local.set $expected ( v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x40000000 0x40000000 0x40000000 0x40000000 ) ( v128.const i32x4 0x40000000 0x40000000 0x40000000 0x40000000 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -0x3fffffff -0x3fffffff -0x3fffffff -0x3fffffff ) ( v128.const i32x4 -0x40000000 -0x40000000 -0x40000000 -0x40000000 ))) (local.set $expected ( v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -0x40000000 -0x40000000 -0x40000000 -0x40000000 ) ( v128.const i32x4 -0x40000000 -0x40000000 -0x40000000 -0x40000000 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -0x40000000 -0x40000000 -0x40000000 -0x40000000 ) ( v128.const i32x4 -0x40000001 -0x40000001 -0x40000001 -0x40000001 ))) (local.set $expected ( v128.const i32x4 1073741824 1073741824 1073741824 1073741824 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff ) ( v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff ) ( v128.const i32x4 0x01 0x01 0x01 0x01 ))) (local.set $expected ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ) ( v128.const i32x4 -0x01 -0x01 -0x01 -0x01 ))) (local.set $expected ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff ) ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ))) (local.set $expected ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ) ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0xffffffff 0xffffffff 0xffffffff 0xffffffff ) ( v128.const i32x4 0x01 0x01 0x01 0x01 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0xffffffff 0xffffffff 0xffffffff 0xffffffff ) ( v128.const i32x4 0xffffffff 0xffffffff 0xffffffff 0xffffffff ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x10000000 0x10000000 0x10000000 0x10000000 ) ( v128.const i8x16 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0xffffffff 0xffffffff 0xffffffff 0xffffffff ) ( v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ) ( v128.const i16x8 0 0x02 0 0x02 0 0x02 0 0x02 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0xffffffff 0xffffffff 0xffffffff 0xffffffff ) ( v128.const i16x8 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x8000 0x8000 0x8000 0x8000 ) ( v128.const f32x4 +0.0 +0.0 +0.0 +0.0 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x8000 0x8000 0x8000 0x8000 ) ( v128.const f32x4 -0.0 -0.0 -0.0 -0.0 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x8000 0x8000 0x8000 0x8000 ) ( v128.const f32x4 1.0 1.0 1.0 1.0 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x8000 0x8000 0x8000 0x8000 ) ( v128.const f32x4 -1.0 -1.0 -1.0 -1.0 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x1 0x1 0x1 0x1 ) ( v128.const f32x4 +inf +inf +inf +inf ))) (local.set $expected ( v128.const i32x4 0x7f800000 0x7f800000 0x7f800000 0x7f800000 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x1 0x1 0x1 0x1 ) ( v128.const f32x4 -inf -inf -inf -inf ))) (local.set $expected ( v128.const i32x4 0xff800000 0xff800000 0xff800000 0xff800000 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x1 0x1 0x1 0x1 ) ( v128.const f32x4 nan nan nan nan ))) (local.set $expected ( v128.const i32x4 0x7fc00000 0x7fc00000 0x7fc00000 0x7fc00000 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 1 2 3 ) ( v128.const i32x4 0 0xffffffff 0xfffffffe 0xfffffffd ))) (local.set $expected ( v128.const i32x4 0 0xffffffff 0xfffffffc 0xfffffff7 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 1 2 3 ) ( v128.const i32x4 0 2 4 6 ))) (local.set $expected ( v128.const i32x4 0 0x02 0x08 0x12 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0_123_456_789 0_123_456_789 0_123_456_789 0_123_456_789 ) ( v128.const i32x4 0_987_654_321 0_987_654_321 0_987_654_321 0_987_654_321 ))) (local.set $expected ( v128.const i32x4 04_227_814_277 04_227_814_277 04_227_814_277 04_227_814_277 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.mul" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678 ) ( v128.const i32x4 0x0_90AB_cdef 0x0_90AB_cdef 0x0_90AB_cdef 0x0_90AB_cdef ))) (local.set $expected ( v128.const i32x4 0x0_2a42_d208 0x0_2a42_d208 0x0_2a42_d208 0x0_2a42_d208 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.neg" (func $f (param v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 0 0 0 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.neg" (func $f (param v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 1 1 1 1 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.neg" (func $f (param v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -1 -1 -1 -1 ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.neg" (func $f (param v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 2147483646 2147483646 2147483646 2147483646 ))) (local.set $expected ( v128.const i32x4 -2147483646 -2147483646 -2147483646 -2147483646 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.neg" (func $f (param v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647 ))) (local.set $expected ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.neg" (func $f (param v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 ))) (local.set $expected ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.neg" (func $f (param v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 ))) (local.set $expected ( v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.neg" (func $f (param v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 4294967295 4294967295 4294967295 4294967295 ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.neg" (func $f (param v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x01 0x01 0x01 0x01 ))) (local.set $expected ( v128.const i32x4 -1 -1 -1 -1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.neg" (func $f (param v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -0x01 -0x01 -0x01 -0x01 ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.neg" (func $f (param v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -0x80000000 -0x80000000 -0x80000000 -0x80000000 ))) (local.set $expected ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.neg" (func $f (param v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 -0x7fffffff -0x7fffffff -0x7fffffff -0x7fffffff ))) (local.set $expected ( v128.const i32x4 2147483647 2147483647 2147483647 2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.neg" (func $f (param v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff ))) (local.set $expected ( v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.neg" (func $f (param v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0x80000000 0x80000000 0x80000000 0x80000000 ))) (local.set $expected ( v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "i32x4.neg" (func $f (param v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0xffffffff 0xffffffff 0xffffffff 0xffffffff ))) (local.set $expected ( v128.const i32x4 1 1 1 1 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var thrown = false; var saved; var bin = wasmTextToBinary(` ( module ( func ( result v128 ) ( i32x4.neg ( i32.const 0 ) ) ) ) `); assertEq(WebAssembly.validate(bin), false); try { new WebAssembly.Module(bin) } catch (e) { thrown = true; saved = e; } assertEq(thrown, true) assertEq(saved instanceof WebAssembly.CompileError, true) var thrown = false; var saved; var bin = wasmTextToBinary(` ( module ( func ( result v128 ) ( i32x4.add ( i32.const 0 ) ( f32.const 0.0 ) ) ) ) `); assertEq(WebAssembly.validate(bin), false); try { new WebAssembly.Module(bin) } catch (e) { thrown = true; saved = e; } assertEq(thrown, true) assertEq(saved instanceof WebAssembly.CompileError, true) var thrown = false; var saved; var bin = wasmTextToBinary(` ( module ( func ( result v128 ) ( i32x4.sub ( i32.const 0 ) ( f32.const 0.0 ) ) ) ) `); assertEq(WebAssembly.validate(bin), false); try { new WebAssembly.Module(bin) } catch (e) { thrown = true; saved = e; } assertEq(thrown, true) assertEq(saved instanceof WebAssembly.CompileError, true) var thrown = false; var saved; var bin = wasmTextToBinary(` ( module ( func ( result v128 ) ( i32x4.mul ( i32.const 0 ) ( f32.const 0.0 ) ) ) ) `); assertEq(WebAssembly.validate(bin), false); try { new WebAssembly.Module(bin) } catch (e) { thrown = true; saved = e; } assertEq(thrown, true) assertEq(saved instanceof WebAssembly.CompileError, true) var thrown = false; var saved; var bin = wasmTextToBinary(` ( module ( func $i32x4.neg-arg-empty ( result v128 ) ( i32x4.neg ) ) ) `); assertEq(WebAssembly.validate(bin), false); try { new WebAssembly.Module(bin) } catch (e) { thrown = true; saved = e; } assertEq(thrown, true) assertEq(saved instanceof WebAssembly.CompileError, true) var thrown = false; var saved; var bin = wasmTextToBinary(` ( module ( func $i32x4.add-1st-arg-empty ( result v128 ) ( i32x4.add ( v128.const i32x4 0 0 0 0 ) ) ) ) `); assertEq(WebAssembly.validate(bin), false); try { new WebAssembly.Module(bin) } catch (e) { thrown = true; saved = e; } assertEq(thrown, true) assertEq(saved instanceof WebAssembly.CompileError, true) var thrown = false; var saved; var bin = wasmTextToBinary(` ( module ( func $i32x4.add-arg-empty ( result v128 ) ( i32x4.add ) ) ) `); assertEq(WebAssembly.validate(bin), false); try { new WebAssembly.Module(bin) } catch (e) { thrown = true; saved = e; } assertEq(thrown, true) assertEq(saved instanceof WebAssembly.CompileError, true) var thrown = false; var saved; var bin = wasmTextToBinary(` ( module ( func $i32x4.sub-1st-arg-empty ( result v128 ) ( i32x4.sub ( v128.const i32x4 0 0 0 0 ) ) ) ) `); assertEq(WebAssembly.validate(bin), false); try { new WebAssembly.Module(bin) } catch (e) { thrown = true; saved = e; } assertEq(thrown, true) assertEq(saved instanceof WebAssembly.CompileError, true) var thrown = false; var saved; var bin = wasmTextToBinary(` ( module ( func $i32x4.sub-arg-empty ( result v128 ) ( i32x4.sub ) ) ) `); assertEq(WebAssembly.validate(bin), false); try { new WebAssembly.Module(bin) } catch (e) { thrown = true; saved = e; } assertEq(thrown, true) assertEq(saved instanceof WebAssembly.CompileError, true) var thrown = false; var saved; var bin = wasmTextToBinary(` ( module ( func $i32x4.mul-1st-arg-empty ( result v128 ) ( i32x4.mul ( v128.const i32x4 0 0 0 0 ) ) ) ) `); assertEq(WebAssembly.validate(bin), false); try { new WebAssembly.Module(bin) } catch (e) { thrown = true; saved = e; } assertEq(thrown, true) assertEq(saved instanceof WebAssembly.CompileError, true) var thrown = false; var saved; var bin = wasmTextToBinary(` ( module ( func $i32x4.mul-arg-empty ( result v128 ) ( i32x4.mul ) ) ) `); assertEq(WebAssembly.validate(bin), false); try { new WebAssembly.Module(bin) } catch (e) { thrown = true; saved = e; } assertEq(thrown, true) assertEq(saved instanceof WebAssembly.CompileError, true) var ins = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` ( module ( func ( export "add-sub" ) ( param v128 v128 v128 ) ( result v128 ) ( i32x4.add ( i32x4.sub ( local.get 0 ) ( local.get 1 ) ) ( local.get 2 ) ) ) ( func ( export "mul-add" ) ( param v128 v128 v128 ) ( result v128 ) ( i32x4.mul ( i32x4.add ( local.get 0 ) ( local.get 1 ) ) ( local.get 2 ) ) ) ( func ( export "mul-sub" ) ( param v128 v128 v128 ) ( result v128 ) ( i32x4.mul ( i32x4.sub ( local.get 0 ) ( local.get 1 ) ) ( local.get 2 ) ) ) ( func ( export "sub-add" ) ( param v128 v128 v128 ) ( result v128 ) ( i32x4.sub ( i32x4.add ( local.get 0 ) ( local.get 1 ) ) ( local.get 2 ) ) ) ( func ( export "add-neg" ) ( param v128 v128 ) ( result v128 ) ( i32x4.add ( i32x4.neg ( local.get 0 ) ) ( local.get 1 ) ) ) ( func ( export "mul-neg" ) ( param v128 v128 ) ( result v128 ) ( i32x4.mul ( i32x4.neg ( local.get 0 ) ) ( local.get 1 ) ) ) ( func ( export "sub-neg" ) ( param v128 v128 ) ( result v128 ) ( i32x4.sub ( i32x4.neg ( local.get 0 ) ) ( local.get 1 ) ) ) ) `))); var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "add-sub" (func $f (param v128 v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 1 2 3 ) ( v128.const i32x4 0 2 4 6 ) ( v128.const i32x4 0 2 4 6 ))) (local.set $expected ( v128.const i32x4 0 1 2 3 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "mul-add" (func $f (param v128 v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 1 2 3 ) ( v128.const i32x4 0 1 2 3 ) ( v128.const i32x4 2 2 2 2 ))) (local.set $expected ( v128.const i32x4 0 4 8 12 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "mul-sub" (func $f (param v128 v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 2 4 6 ) ( v128.const i32x4 0 1 2 3 ) ( v128.const i32x4 0 1 2 3 ))) (local.set $expected ( v128.const i32x4 0 1 4 9 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "sub-add" (func $f (param v128 v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 1 2 3 ) ( v128.const i32x4 0 2 4 6 ) ( v128.const i32x4 0 2 4 6 ))) (local.set $expected ( v128.const i32x4 0 1 2 3 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "add-neg" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 1 2 3 ) ( v128.const i32x4 0 1 2 3 ))) (local.set $expected ( v128.const i32x4 0 0 0 0 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "mul-neg" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 1 2 3 ) ( v128.const i32x4 2 2 2 2 ))) (local.set $expected ( v128.const i32x4 0 -2 -4 -6 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1) var run = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(` (module (import "" "sub-neg" (func $f (param v128 v128) (result v128))) (func (export "run") (result i32) (local $result v128) (local $expected v128) (local $cmpresult v128) (local.set $result (call $f ( v128.const i32x4 0 1 2 3 ) ( v128.const i32x4 0 1 2 3 ))) (local.set $expected ( v128.const i32x4 0 -2 -4 -6 )) (local.set $cmpresult (i32x4.eq (local.get $result) (local.get $expected))) (i8x16.all_true (local.get $cmpresult)))) `)), {'':ins.exports}); assertEq(run.exports.run(), 1)