diff options
Diffstat (limited to 'js/src/jit-test/tests/wasm/spec/spec/simd_conversions.wast.js')
-rw-r--r-- | js/src/jit-test/tests/wasm/spec/spec/simd_conversions.wast.js | 3341 |
1 files changed, 3341 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/spec/spec/simd_conversions.wast.js b/js/src/jit-test/tests/wasm/spec/spec/simd_conversions.wast.js new file mode 100644 index 0000000000..abb9d75af3 --- /dev/null +++ b/js/src/jit-test/tests/wasm/spec/spec/simd_conversions.wast.js @@ -0,0 +1,3341 @@ +// |jit-test| skip-if: !wasmSimdEnabled() + +/* Copyright 2021 Mozilla Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// ./test/core/simd/simd_conversions.wast + +// ./test/core/simd/simd_conversions.wast:3 +let $0 = instantiate(`(module + ;; Integer to floating point + (func (export "f32x4.convert_i32x4_s") (param v128) (result v128) + (f32x4.convert_i32x4_s (local.get 0))) + (func (export "f32x4.convert_i32x4_u") (param v128) (result v128) + (f32x4.convert_i32x4_u (local.get 0))) + + (func (export "f64x2.convert_low_i32x4_s") (param v128) (result v128) + (f64x2.convert_low_i32x4_s (local.get 0))) + (func (export "f64x2.convert_low_i32x4_u") (param v128) (result v128) + (f64x2.convert_low_i32x4_u (local.get 0))) + + ;; Integer to integer narrowing + (func (export "i8x16.narrow_i16x8_s") (param v128 v128) (result v128) + (i8x16.narrow_i16x8_s (local.get 0) (local.get 1))) + (func (export "i8x16.narrow_i16x8_u") (param v128 v128) (result v128) + (i8x16.narrow_i16x8_u (local.get 0) (local.get 1))) + (func (export "i16x8.narrow_i32x4_s") (param v128 v128) (result v128) + (i16x8.narrow_i32x4_s (local.get 0) (local.get 1))) + (func (export "i16x8.narrow_i32x4_u") (param v128 v128) (result v128) + (i16x8.narrow_i32x4_u (local.get 0)(local.get 1))) + + ;; Float to float promote/demote + (func (export "f64x2.promote_low_f32x4") (param v128) (result v128) + (f64x2.promote_low_f32x4 (local.get 0))) + (func (export "f32x4.demote_f64x2_zero") (param v128) (result v128) + (f32x4.demote_f64x2_zero (local.get 0))) +)`); + +// ./test/core/simd/simd_conversions.wast:35 +assert_return( + () => invoke($0, `f64x2.promote_low_f32x4`, [f32x4([0, 0, 0, 0])]), + [new F64x2Pattern(value("f64", 0), value("f64", 0))], +); + +// ./test/core/simd/simd_conversions.wast:37 +assert_return( + () => invoke($0, `f64x2.promote_low_f32x4`, [f32x4([-0, -0, -0, -0])]), + [new F64x2Pattern(value("f64", -0), value("f64", -0))], +); + +// ./test/core/simd/simd_conversions.wast:39 +assert_return( + () => invoke($0, `f64x2.promote_low_f32x4`, [ + f32x4([ + 0.000000000000000000000000000000000000000000001, + 0.000000000000000000000000000000000000000000001, + 0.000000000000000000000000000000000000000000001, + 0.000000000000000000000000000000000000000000001, + ]), + ]), + [ + new F64x2Pattern( + value("f64", 0.000000000000000000000000000000000000000000001401298464324817), + value("f64", 0.000000000000000000000000000000000000000000001401298464324817), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:41 +assert_return( + () => invoke($0, `f64x2.promote_low_f32x4`, [ + f32x4([ + -0.000000000000000000000000000000000000000000001, + -0.000000000000000000000000000000000000000000001, + -0.000000000000000000000000000000000000000000001, + -0.000000000000000000000000000000000000000000001, + ]), + ]), + [ + new F64x2Pattern( + value("f64", -0.000000000000000000000000000000000000000000001401298464324817), + value("f64", -0.000000000000000000000000000000000000000000001401298464324817), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:43 +assert_return( + () => invoke($0, `f64x2.promote_low_f32x4`, [f32x4([1, 1, 1, 1])]), + [new F64x2Pattern(value("f64", 1), value("f64", 1))], +); + +// ./test/core/simd/simd_conversions.wast:45 +assert_return( + () => invoke($0, `f64x2.promote_low_f32x4`, [f32x4([-1, -1, -1, -1])]), + [new F64x2Pattern(value("f64", -1), value("f64", -1))], +); + +// ./test/core/simd/simd_conversions.wast:47 +assert_return( + () => invoke($0, `f64x2.promote_low_f32x4`, [ + f32x4([ + -340282350000000000000000000000000000000, + -340282350000000000000000000000000000000, + -340282350000000000000000000000000000000, + -340282350000000000000000000000000000000, + ]), + ]), + [ + new F64x2Pattern( + value("f64", -340282346638528860000000000000000000000), + value("f64", -340282346638528860000000000000000000000), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:49 +assert_return( + () => invoke($0, `f64x2.promote_low_f32x4`, [ + f32x4([ + 340282350000000000000000000000000000000, + 340282350000000000000000000000000000000, + 340282350000000000000000000000000000000, + 340282350000000000000000000000000000000, + ]), + ]), + [ + new F64x2Pattern( + value("f64", 340282346638528860000000000000000000000), + value("f64", 340282346638528860000000000000000000000), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:52 +assert_return( + () => invoke($0, `f64x2.promote_low_f32x4`, [ + f32x4([ + 0.0000000000000000000000000000000000015046328, + 0.0000000000000000000000000000000000015046328, + 0.0000000000000000000000000000000000015046328, + 0.0000000000000000000000000000000000015046328, + ]), + ]), + [ + new F64x2Pattern( + value("f64", 0.000000000000000000000000000000000001504632769052528), + value("f64", 0.000000000000000000000000000000000001504632769052528), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:55 +assert_return( + () => invoke($0, `f64x2.promote_low_f32x4`, [ + f32x4([ + 66382537000000000000000000000000000000, + 66382537000000000000000000000000000000, + 66382537000000000000000000000000000000, + 66382537000000000000000000000000000000, + ]), + ]), + [ + new F64x2Pattern( + value("f64", 66382536710104395000000000000000000000), + value("f64", 66382536710104395000000000000000000000), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:57 +assert_return( + () => invoke($0, `f64x2.promote_low_f32x4`, [ + f32x4([Infinity, Infinity, Infinity, Infinity]), + ]), + [new F64x2Pattern(value("f64", Infinity), value("f64", Infinity))], +); + +// ./test/core/simd/simd_conversions.wast:59 +assert_return( + () => invoke($0, `f64x2.promote_low_f32x4`, [ + f32x4([-Infinity, -Infinity, -Infinity, -Infinity]), + ]), + [new F64x2Pattern(value("f64", -Infinity), value("f64", -Infinity))], +); + +// ./test/core/simd/simd_conversions.wast:61 +assert_return( + () => invoke($0, `f64x2.promote_low_f32x4`, [ + bytes('v128', [ + 0x0, + 0x0, + 0xc0, + 0x7f, + 0x0, + 0x0, + 0xc0, + 0x7f, + 0x0, + 0x0, + 0xc0, + 0x7f, + 0x0, + 0x0, + 0xc0, + 0x7f, + ]), + ]), + [new F64x2Pattern(`canonical_nan`, `canonical_nan`)], +); + +// ./test/core/simd/simd_conversions.wast:63 +assert_return( + () => invoke($0, `f64x2.promote_low_f32x4`, [ + bytes('v128', [ + 0x0, + 0x0, + 0xa0, + 0x7f, + 0x0, + 0x0, + 0xa0, + 0x7f, + 0x0, + 0x0, + 0xa0, + 0x7f, + 0x0, + 0x0, + 0xa0, + 0x7f, + ]), + ]), + [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)], +); + +// ./test/core/simd/simd_conversions.wast:65 +assert_return( + () => invoke($0, `f64x2.promote_low_f32x4`, [ + bytes('v128', [ + 0x0, + 0x0, + 0xc0, + 0xff, + 0x0, + 0x0, + 0xc0, + 0xff, + 0x0, + 0x0, + 0xc0, + 0xff, + 0x0, + 0x0, + 0xc0, + 0xff, + ]), + ]), + [new F64x2Pattern(`canonical_nan`, `canonical_nan`)], +); + +// ./test/core/simd/simd_conversions.wast:67 +assert_return( + () => invoke($0, `f64x2.promote_low_f32x4`, [ + bytes('v128', [ + 0x0, + 0x0, + 0xa0, + 0xff, + 0x0, + 0x0, + 0xa0, + 0xff, + 0x0, + 0x0, + 0xa0, + 0xff, + 0x0, + 0x0, + 0xa0, + 0xff, + ]), + ]), + [new F64x2Pattern(`arithmetic_nan`, `arithmetic_nan`)], +); + +// ./test/core/simd/simd_conversions.wast:73 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [f64x2([0, 0])]), + [ + new F32x4Pattern( + value("f32", 0), + value("f32", 0), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:75 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [f64x2([-0, -0])]), + [ + new F32x4Pattern( + value("f32", -0), + value("f32", -0), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:77 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005, + 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005, + ]), + ]), + [ + new F32x4Pattern( + value("f32", 0), + value("f32", 0), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:79 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005, + -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005, + ]), + ]), + [ + new F32x4Pattern( + value("f32", -0), + value("f32", -0), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:81 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [f64x2([1, 1])]), + [ + new F32x4Pattern( + value("f32", 1), + value("f32", 1), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:83 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [f64x2([-1, -1])]), + [ + new F32x4Pattern( + value("f32", -1), + value("f32", -1), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:85 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + 0.000000000000000000000000000000000000011754942807573643, + 0.000000000000000000000000000000000000011754942807573643, + ]), + ]), + [ + new F32x4Pattern( + value("f32", 0.000000000000000000000000000000000000011754944), + value("f32", 0.000000000000000000000000000000000000011754944), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:87 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + -0.000000000000000000000000000000000000011754942807573643, + -0.000000000000000000000000000000000000011754942807573643, + ]), + ]), + [ + new F32x4Pattern( + value("f32", -0.000000000000000000000000000000000000011754944), + value("f32", -0.000000000000000000000000000000000000011754944), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:89 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + 0.000000000000000000000000000000000000011754942807573642, + 0.000000000000000000000000000000000000011754942807573642, + ]), + ]), + [ + new F32x4Pattern( + value("f32", 0.000000000000000000000000000000000000011754942), + value("f32", 0.000000000000000000000000000000000000011754942), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:91 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + -0.000000000000000000000000000000000000011754942807573642, + -0.000000000000000000000000000000000000011754942807573642, + ]), + ]), + [ + new F32x4Pattern( + value("f32", -0.000000000000000000000000000000000000011754942), + value("f32", -0.000000000000000000000000000000000000011754942), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:93 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + 0.000000000000000000000000000000000000000000001401298464324817, + 0.000000000000000000000000000000000000000000001401298464324817, + ]), + ]), + [ + new F32x4Pattern( + value("f32", 0.000000000000000000000000000000000000000000001), + value("f32", 0.000000000000000000000000000000000000000000001), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:95 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + -0.000000000000000000000000000000000000000000001401298464324817, + -0.000000000000000000000000000000000000000000001401298464324817, + ]), + ]), + [ + new F32x4Pattern( + value("f32", -0.000000000000000000000000000000000000000000001), + value("f32", -0.000000000000000000000000000000000000000000001), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:97 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + 340282336497324060000000000000000000000, + 340282336497324060000000000000000000000, + ]), + ]), + [ + new F32x4Pattern( + value("f32", 340282330000000000000000000000000000000), + value("f32", 340282330000000000000000000000000000000), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:99 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + -340282336497324060000000000000000000000, + -340282336497324060000000000000000000000, + ]), + ]), + [ + new F32x4Pattern( + value("f32", -340282330000000000000000000000000000000), + value("f32", -340282330000000000000000000000000000000), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:101 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + 340282336497324100000000000000000000000, + 340282336497324100000000000000000000000, + ]), + ]), + [ + new F32x4Pattern( + value("f32", 340282350000000000000000000000000000000), + value("f32", 340282350000000000000000000000000000000), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:103 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + -340282336497324100000000000000000000000, + -340282336497324100000000000000000000000, + ]), + ]), + [ + new F32x4Pattern( + value("f32", -340282350000000000000000000000000000000), + value("f32", -340282350000000000000000000000000000000), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:105 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + 340282346638528860000000000000000000000, + 340282346638528860000000000000000000000, + ]), + ]), + [ + new F32x4Pattern( + value("f32", 340282350000000000000000000000000000000), + value("f32", 340282350000000000000000000000000000000), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:107 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + -340282346638528860000000000000000000000, + -340282346638528860000000000000000000000, + ]), + ]), + [ + new F32x4Pattern( + value("f32", -340282350000000000000000000000000000000), + value("f32", -340282350000000000000000000000000000000), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:109 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + 340282356779733620000000000000000000000, + 340282356779733620000000000000000000000, + ]), + ]), + [ + new F32x4Pattern( + value("f32", 340282350000000000000000000000000000000), + value("f32", 340282350000000000000000000000000000000), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:111 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + -340282356779733620000000000000000000000, + -340282356779733620000000000000000000000, + ]), + ]), + [ + new F32x4Pattern( + value("f32", -340282350000000000000000000000000000000), + value("f32", -340282350000000000000000000000000000000), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:113 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + 340282356779733660000000000000000000000, + 340282356779733660000000000000000000000, + ]), + ]), + [ + new F32x4Pattern( + value("f32", Infinity), + value("f32", Infinity), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:115 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + -340282356779733660000000000000000000000, + -340282356779733660000000000000000000000, + ]), + ]), + [ + new F32x4Pattern( + value("f32", -Infinity), + value("f32", -Infinity), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:117 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + 0.000000000000000000000000000000000001504632769052528, + 0.000000000000000000000000000000000001504632769052528, + ]), + ]), + [ + new F32x4Pattern( + value("f32", 0.0000000000000000000000000000000000015046328), + value("f32", 0.0000000000000000000000000000000000015046328), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:119 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([66382536710104395000000000000000000000, 66382536710104395000000000000000000000]), + ]), + [ + new F32x4Pattern( + value("f32", 66382537000000000000000000000000000000), + value("f32", 66382537000000000000000000000000000000), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:121 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [f64x2([Infinity, Infinity])]), + [ + new F32x4Pattern( + value("f32", Infinity), + value("f32", Infinity), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:123 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [f64x2([-Infinity, -Infinity])]), + [ + new F32x4Pattern( + value("f32", -Infinity), + value("f32", -Infinity), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:125 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([1.0000000000000002, 1.0000000000000002]), + ]), + [ + new F32x4Pattern( + value("f32", 1), + value("f32", 1), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:127 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([0.9999999999999999, 0.9999999999999999]), + ]), + [ + new F32x4Pattern( + value("f32", 1), + value("f32", 1), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:129 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([1.0000000596046448, 1.0000000596046448]), + ]), + [ + new F32x4Pattern( + value("f32", 1), + value("f32", 1), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:131 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([1.000000059604645, 1.000000059604645]), + ]), + [ + new F32x4Pattern( + value("f32", 1.0000001), + value("f32", 1.0000001), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:133 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([1.000000178813934, 1.000000178813934]), + ]), + [ + new F32x4Pattern( + value("f32", 1.0000001), + value("f32", 1.0000001), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:135 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([1.0000001788139343, 1.0000001788139343]), + ]), + [ + new F32x4Pattern( + value("f32", 1.0000002), + value("f32", 1.0000002), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:137 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([1.0000002980232239, 1.0000002980232239]), + ]), + [ + new F32x4Pattern( + value("f32", 1.0000002), + value("f32", 1.0000002), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:139 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [f64x2([16777217, 16777217])]), + [ + new F32x4Pattern( + value("f32", 16777216), + value("f32", 16777216), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:141 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([16777217.000000004, 16777217.000000004]), + ]), + [ + new F32x4Pattern( + value("f32", 16777218), + value("f32", 16777218), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:143 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([16777218.999999996, 16777218.999999996]), + ]), + [ + new F32x4Pattern( + value("f32", 16777218), + value("f32", 16777218), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:145 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [f64x2([16777219, 16777219])]), + [ + new F32x4Pattern( + value("f32", 16777220), + value("f32", 16777220), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:147 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([424258443299142700000000000000000, 424258443299142700000000000000000]), + ]), + [ + new F32x4Pattern( + value("f32", 424258450000000000000000000000000), + value("f32", 424258450000000000000000000000000), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:149 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + 0.0000000000000000000000000000000001569262107843488, + 0.0000000000000000000000000000000001569262107843488, + ]), + ]), + [ + new F32x4Pattern( + value("f32", 0.00000000000000000000000000000000015692621), + value("f32", 0.00000000000000000000000000000000015692621), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:151 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + 0.000000000000000000000000000000000000010551773688605172, + 0.000000000000000000000000000000000000010551773688605172, + ]), + ]), + [ + new F32x4Pattern( + value("f32", 0.000000000000000000000000000000000000010551773), + value("f32", 0.000000000000000000000000000000000000010551773), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:153 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([-2.8238128484141933, -2.8238128484141933]), + ]), + [ + new F32x4Pattern( + value("f32", -2.823813), + value("f32", -2.823813), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:155 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([-9063376370095757000000000000000000, -9063376370095757000000000000000000]), + ]), + [ + new F32x4Pattern( + value("f32", -9063376000000000000000000000000000), + value("f32", -9063376000000000000000000000000000), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:157 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + bytes('v128', [ + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0xf8, + 0x7f, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0xf8, + 0x7f, + ]), + ]), + [ + new F32x4Pattern( + `canonical_nan`, + `canonical_nan`, + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:159 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + bytes('v128', [ + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0xf4, + 0x7f, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0xf4, + 0x7f, + ]), + ]), + [ + new F32x4Pattern( + `arithmetic_nan`, + `arithmetic_nan`, + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:161 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + bytes('v128', [ + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0xf8, + 0xff, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0xf8, + 0xff, + ]), + ]), + [ + new F32x4Pattern( + `canonical_nan`, + `canonical_nan`, + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:163 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + bytes('v128', [ + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0xf4, + 0xff, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0xf4, + 0xff, + ]), + ]), + [ + new F32x4Pattern( + `arithmetic_nan`, + `arithmetic_nan`, + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:165 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014, + 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014, + ]), + ]), + [ + new F32x4Pattern( + value("f32", 0), + value("f32", 0), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:167 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014, + -0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014, + ]), + ]), + [ + new F32x4Pattern( + value("f32", -0), + value("f32", -0), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:169 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + 0.0000000000000000000000000000000000000000000007006492321624085, + 0.0000000000000000000000000000000000000000000007006492321624085, + ]), + ]), + [ + new F32x4Pattern( + value("f32", 0), + value("f32", 0), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:171 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + -0.0000000000000000000000000000000000000000000007006492321624085, + -0.0000000000000000000000000000000000000000000007006492321624085, + ]), + ]), + [ + new F32x4Pattern( + value("f32", -0), + value("f32", -0), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:173 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + 0.0000000000000000000000000000000000000000000007006492321624087, + 0.0000000000000000000000000000000000000000000007006492321624087, + ]), + ]), + [ + new F32x4Pattern( + value("f32", 0.000000000000000000000000000000000000000000001), + value("f32", 0.000000000000000000000000000000000000000000001), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:175 +assert_return( + () => invoke($0, `f32x4.demote_f64x2_zero`, [ + f64x2([ + -0.0000000000000000000000000000000000000000000007006492321624087, + -0.0000000000000000000000000000000000000000000007006492321624087, + ]), + ]), + [ + new F32x4Pattern( + value("f32", -0.000000000000000000000000000000000000000000001), + value("f32", -0.000000000000000000000000000000000000000000001), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:182 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_s`, [i32x4([0x0, 0x0, 0x0, 0x0])]), + [ + new F32x4Pattern( + value("f32", 0), + value("f32", 0), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:184 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_s`, [i32x4([0x1, 0x1, 0x1, 0x1])]), + [ + new F32x4Pattern( + value("f32", 1), + value("f32", 1), + value("f32", 1), + value("f32", 1), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:186 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_s`, [ + i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]), + ]), + [ + new F32x4Pattern( + value("f32", -1), + value("f32", -1), + value("f32", -1), + value("f32", -1), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:188 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_s`, [ + i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]), + ]), + [ + new F32x4Pattern( + value("f32", 2147483600), + value("f32", 2147483600), + value("f32", 2147483600), + value("f32", 2147483600), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:190 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_s`, [ + i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]), + ]), + [ + new F32x4Pattern( + value("f32", -2147483600), + value("f32", -2147483600), + value("f32", -2147483600), + value("f32", -2147483600), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:192 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_s`, [ + i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]), + ]), + [ + new F32x4Pattern( + value("f32", 1234568000), + value("f32", 1234568000), + value("f32", 1234568000), + value("f32", 1234568000), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:194 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_s`, [ + i32x4([0x75bcd18, 0x75bcd18, 0x75bcd18, 0x75bcd18]), + ]), + [ + new F32x4Pattern( + value("f32", 123456790), + value("f32", 123456790), + value("f32", 123456790), + value("f32", 123456790), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:196 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_s`, [ + i32x4([0x12345680, 0x12345680, 0x12345680, 0x12345680]), + ]), + [ + new F32x4Pattern( + value("f32", 305419900), + value("f32", 305419900), + value("f32", 305419900), + value("f32", 305419900), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:200 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_s`, [ + i32x4([0x1000001, 0x1000001, 0x1000001, 0x1000001]), + ]), + [ + new F32x4Pattern( + value("f32", 16777216), + value("f32", 16777216), + value("f32", 16777216), + value("f32", 16777216), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:202 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_s`, [ + i32x4([0xfeffffff, 0xfeffffff, 0xfeffffff, 0xfeffffff]), + ]), + [ + new F32x4Pattern( + value("f32", -16777216), + value("f32", -16777216), + value("f32", -16777216), + value("f32", -16777216), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:204 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_s`, [ + i32x4([0x1000003, 0x1000003, 0x1000003, 0x1000003]), + ]), + [ + new F32x4Pattern( + value("f32", 16777220), + value("f32", 16777220), + value("f32", 16777220), + value("f32", 16777220), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:206 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_s`, [ + i32x4([0xfefffffd, 0xfefffffd, 0xfefffffd, 0xfefffffd]), + ]), + [ + new F32x4Pattern( + value("f32", -16777220), + value("f32", -16777220), + value("f32", -16777220), + value("f32", -16777220), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:208 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_s`, [ + i32x4([0x0, 0xffffffff, 0x7fffffff, 0x80000000]), + ]), + [ + new F32x4Pattern( + value("f32", 0), + value("f32", -1), + value("f32", 2147483600), + value("f32", -2147483600), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:213 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_u`, [i32x4([0x0, 0x0, 0x0, 0x0])]), + [ + new F32x4Pattern( + value("f32", 0), + value("f32", 0), + value("f32", 0), + value("f32", 0), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:215 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_u`, [i32x4([0x1, 0x1, 0x1, 0x1])]), + [ + new F32x4Pattern( + value("f32", 1), + value("f32", 1), + value("f32", 1), + value("f32", 1), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:217 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_u`, [ + i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]), + ]), + [ + new F32x4Pattern( + value("f32", 4294967300), + value("f32", 4294967300), + value("f32", 4294967300), + value("f32", 4294967300), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:219 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_u`, [ + i32x4([0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff]), + ]), + [ + new F32x4Pattern( + value("f32", 2147483600), + value("f32", 2147483600), + value("f32", 2147483600), + value("f32", 2147483600), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:221 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_u`, [ + i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]), + ]), + [ + new F32x4Pattern( + value("f32", 2147483600), + value("f32", 2147483600), + value("f32", 2147483600), + value("f32", 2147483600), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:223 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_u`, [ + i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]), + ]), + [ + new F32x4Pattern( + value("f32", 305419900), + value("f32", 305419900), + value("f32", 305419900), + value("f32", 305419900), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:225 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_u`, [ + i32x4([0x80000080, 0x80000080, 0x80000080, 0x80000080]), + ]), + [ + new F32x4Pattern( + value("f32", 2147483600), + value("f32", 2147483600), + value("f32", 2147483600), + value("f32", 2147483600), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:227 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_u`, [ + i32x4([0x80000081, 0x80000081, 0x80000081, 0x80000081]), + ]), + [ + new F32x4Pattern( + value("f32", 2147484000), + value("f32", 2147484000), + value("f32", 2147484000), + value("f32", 2147484000), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:229 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_u`, [ + i32x4([0x80000082, 0x80000082, 0x80000082, 0x80000082]), + ]), + [ + new F32x4Pattern( + value("f32", 2147484000), + value("f32", 2147484000), + value("f32", 2147484000), + value("f32", 2147484000), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:231 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_u`, [ + i32x4([0xfffffe80, 0xfffffe80, 0xfffffe80, 0xfffffe80]), + ]), + [ + new F32x4Pattern( + value("f32", 4294966800), + value("f32", 4294966800), + value("f32", 4294966800), + value("f32", 4294966800), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:233 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_u`, [ + i32x4([0xfffffe81, 0xfffffe81, 0xfffffe81, 0xfffffe81]), + ]), + [ + new F32x4Pattern( + value("f32", 4294967000), + value("f32", 4294967000), + value("f32", 4294967000), + value("f32", 4294967000), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:235 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_u`, [ + i32x4([0xfffffe82, 0xfffffe82, 0xfffffe82, 0xfffffe82]), + ]), + [ + new F32x4Pattern( + value("f32", 4294967000), + value("f32", 4294967000), + value("f32", 4294967000), + value("f32", 4294967000), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:237 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_u`, [ + i32x4([0x75bcd18, 0x75bcd18, 0x75bcd18, 0x75bcd18]), + ]), + [ + new F32x4Pattern( + value("f32", 123456790), + value("f32", 123456790), + value("f32", 123456790), + value("f32", 123456790), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:239 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_u`, [ + i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]), + ]), + [ + new F32x4Pattern( + value("f32", 2427178500), + value("f32", 2427178500), + value("f32", 2427178500), + value("f32", 2427178500), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:243 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_u`, [ + i32x4([0x1000001, 0x1000001, 0x1000001, 0x1000001]), + ]), + [ + new F32x4Pattern( + value("f32", 16777216), + value("f32", 16777216), + value("f32", 16777216), + value("f32", 16777216), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:245 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_u`, [ + i32x4([0x1000003, 0x1000003, 0x1000003, 0x1000003]), + ]), + [ + new F32x4Pattern( + value("f32", 16777220), + value("f32", 16777220), + value("f32", 16777220), + value("f32", 16777220), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:247 +assert_return( + () => invoke($0, `f32x4.convert_i32x4_u`, [ + i32x4([0x0, 0xffffffff, 0x7fffffff, 0x80000000]), + ]), + [ + new F32x4Pattern( + value("f32", 0), + value("f32", 4294967300), + value("f32", 2147483600), + value("f32", 2147483600), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:253 +assert_return( + () => invoke($0, `f64x2.convert_low_i32x4_s`, [i32x4([0x1, 0x1, 0x0, 0x0])]), + [new F64x2Pattern(value("f64", 1), value("f64", 1))], +); + +// ./test/core/simd/simd_conversions.wast:255 +assert_return( + () => invoke($0, `f64x2.convert_low_i32x4_s`, [ + i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]), + ]), + [new F64x2Pattern(value("f64", -1), value("f64", -1))], +); + +// ./test/core/simd/simd_conversions.wast:257 +assert_return( + () => invoke($0, `f64x2.convert_low_i32x4_s`, [i32x4([0x0, 0x0, 0x0, 0x0])]), + [new F64x2Pattern(value("f64", 0), value("f64", 0))], +); + +// ./test/core/simd/simd_conversions.wast:259 +assert_return( + () => invoke($0, `f64x2.convert_low_i32x4_s`, [ + i32x4([0x7fffffff, 0x7fffffff, 0x0, 0x0]), + ]), + [new F64x2Pattern(value("f64", 2147483647), value("f64", 2147483647))], +); + +// ./test/core/simd/simd_conversions.wast:261 +assert_return( + () => invoke($0, `f64x2.convert_low_i32x4_s`, [ + i32x4([0x80000000, 0x80000000, 0x0, 0x0]), + ]), + [new F64x2Pattern(value("f64", -2147483648), value("f64", -2147483648))], +); + +// ./test/core/simd/simd_conversions.wast:263 +assert_return( + () => invoke($0, `f64x2.convert_low_i32x4_s`, [ + i32x4([0x3ade68b1, 0x3ade68b1, 0x0, 0x0]), + ]), + [new F64x2Pattern(value("f64", 987654321), value("f64", 987654321))], +); + +// ./test/core/simd/simd_conversions.wast:269 +assert_return( + () => invoke($0, `f64x2.convert_low_i32x4_u`, [i32x4([0x1, 0x1, 0x0, 0x0])]), + [new F64x2Pattern(value("f64", 1), value("f64", 1))], +); + +// ./test/core/simd/simd_conversions.wast:271 +assert_return( + () => invoke($0, `f64x2.convert_low_i32x4_u`, [i32x4([0x0, 0x0, 0x0, 0x0])]), + [new F64x2Pattern(value("f64", 0), value("f64", 0))], +); + +// ./test/core/simd/simd_conversions.wast:273 +assert_return( + () => invoke($0, `f64x2.convert_low_i32x4_u`, [ + i32x4([0x7fffffff, 0x7fffffff, 0x0, 0x0]), + ]), + [new F64x2Pattern(value("f64", 2147483647), value("f64", 2147483647))], +); + +// ./test/core/simd/simd_conversions.wast:275 +assert_return( + () => invoke($0, `f64x2.convert_low_i32x4_u`, [ + i32x4([0x80000000, 0x80000000, 0x0, 0x0]), + ]), + [new F64x2Pattern(value("f64", 2147483648), value("f64", 2147483648))], +); + +// ./test/core/simd/simd_conversions.wast:277 +assert_return( + () => invoke($0, `f64x2.convert_low_i32x4_u`, [ + i32x4([0xffffffff, 0xffffffff, 0x0, 0x0]), + ]), + [new F64x2Pattern(value("f64", 4294967295), value("f64", 4294967295))], +); + +// ./test/core/simd/simd_conversions.wast:283 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + ]), + [ + i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + ], +); + +// ./test/core/simd/simd_conversions.wast:286 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]), + ]), + [ + i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]), + ], +); + +// ./test/core/simd/simd_conversions.wast:289 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]), + i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + ]), + [ + i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + ], +); + +// ./test/core/simd/simd_conversions.wast:292 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]), + ]), + [ + i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ], +); + +// ./test/core/simd/simd_conversions.wast:295 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]), + i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + ]), + [ + i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + ], +); + +// ./test/core/simd/simd_conversions.wast:298 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]), + i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]), + ]), + [ + i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ], +); + +// ./test/core/simd/simd_conversions.wast:301 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]), + i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]), + ]), + [ + i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]), + ], +); + +// ./test/core/simd/simd_conversions.wast:304 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]), + i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ]), + [ + i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ], +); + +// ./test/core/simd/simd_conversions.wast:307 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]), + ]), + [ + i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]), + ], +); + +// ./test/core/simd/simd_conversions.wast:310 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ]), + [ + i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ], +); + +// ./test/core/simd/simd_conversions.wast:313 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]), + i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]), + ]), + [ + i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ], +); + +// ./test/core/simd/simd_conversions.wast:316 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]), + ]), + [ + i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ], +); + +// ./test/core/simd/simd_conversions.wast:319 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]), + i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ]), + [ + i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ], +); + +// ./test/core/simd/simd_conversions.wast:322 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ]), + [ + i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ], +); + +// ./test/core/simd/simd_conversions.wast:325 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ]), + [ + i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ], +); + +// ./test/core/simd/simd_conversions.wast:328 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81]), + i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]), + ]), + [ + i8x16([0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]), + ], +); + +// ./test/core/simd/simd_conversions.wast:331 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]), + i16x8([0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81]), + ]), + [ + i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81]), + ], +); + +// ./test/core/simd/simd_conversions.wast:334 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]), + i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]), + ]), + [ + i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]), + ], +); + +// ./test/core/simd/simd_conversions.wast:337 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f]), + i16x8([0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f]), + ]), + [ + i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]), + ], +); + +// ./test/core/simd/simd_conversions.wast:340 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f]), + i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]), + ]), + [ + i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]), + ], +); + +// ./test/core/simd/simd_conversions.wast:343 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]), + i16x8([0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f]), + ]), + [ + i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]), + ], +); + +// ./test/core/simd/simd_conversions.wast:346 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]), + i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ]), + [ + i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ], +); + +// ./test/core/simd/simd_conversions.wast:349 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]), + i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]), + ]), + [ + i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ], +); + +// ./test/core/simd/simd_conversions.wast:352 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f]), + i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ]), + [ + i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ], +); + +// ./test/core/simd/simd_conversions.wast:355 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80, 0xff80]), + i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ]), + [ + i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ], +); + +// ./test/core/simd/simd_conversions.wast:358 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f, 0xff7f]), + i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100]), + ]), + [ + i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ], +); + +// ./test/core/simd/simd_conversions.wast:361 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]), + i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]), + ]), + [ + i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ], +); + +// ./test/core/simd/simd_conversions.wast:364 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]), + i16x8([0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5]), + ]), + [ + i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]), + ], +); + +// ./test/core/simd/simd_conversions.wast:367 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_s`, [ + i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]), + i16x8([0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678, 0x5678]), + ]), + [ + i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ], +); + +// ./test/core/simd/simd_conversions.wast:372 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + ]), + [ + i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + ], +); + +// ./test/core/simd/simd_conversions.wast:375 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]), + ]), + [ + i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]), + ], +); + +// ./test/core/simd/simd_conversions.wast:378 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]), + i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + ]), + [ + i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + ], +); + +// ./test/core/simd/simd_conversions.wast:381 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]), + ]), + [ + i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + ], +); + +// ./test/core/simd/simd_conversions.wast:384 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]), + i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + ]), + [ + i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + ], +); + +// ./test/core/simd/simd_conversions.wast:387 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]), + i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]), + ]), + [ + i8x16([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + ], +); + +// ./test/core/simd/simd_conversions.wast:390 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]), + i16x8([0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]), + ]), + [ + i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1]), + ], +); + +// ./test/core/simd/simd_conversions.wast:393 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]), + i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ]), + [ + i8x16([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ], +); + +// ./test/core/simd/simd_conversions.wast:396 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + i16x8([0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]), + ]), + [ + i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e]), + ], +); + +// ./test/core/simd/simd_conversions.wast:399 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ]), + [ + i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ], +); + +// ./test/core/simd/simd_conversions.wast:402 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]), + i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]), + ]), + [ + i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]), + ], +); + +// ./test/core/simd/simd_conversions.wast:405 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]), + ]), + [ + i8x16([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]), + ], +); + +// ./test/core/simd/simd_conversions.wast:408 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80]), + i16x8([0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ]), + [ + i8x16([0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f]), + ], +); + +// ./test/core/simd/simd_conversions.wast:411 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]), + i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ]), + [ + i8x16([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ], +); + +// ./test/core/simd/simd_conversions.wast:414 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + i16x8([0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]), + ]), + [ + i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe]), + ], +); + +// ./test/core/simd/simd_conversions.wast:417 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ]), + [ + i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ], +); + +// ./test/core/simd/simd_conversions.wast:420 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100]), + i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100]), + ]), + [ + i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ], +); + +// ./test/core/simd/simd_conversions.wast:423 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100]), + ]), + [ + i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ], +); + +// ./test/core/simd/simd_conversions.wast:426 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100]), + i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ]), + [ + i8x16([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ], +); + +// ./test/core/simd/simd_conversions.wast:429 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ]), + [ + i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ], +); + +// ./test/core/simd/simd_conversions.wast:432 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100]), + ]), + [ + i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ], +); + +// ./test/core/simd/simd_conversions.wast:435 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]), + i16x8([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ]), + [ + i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ], +); + +// ./test/core/simd/simd_conversions.wast:438 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]), + i16x8([0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100]), + ]), + [ + i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ], +); + +// ./test/core/simd/simd_conversions.wast:441 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000]), + i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff]), + ]), + [ + i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]), + ], +); + +// ./test/core/simd/simd_conversions.wast:444 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5, 0xddd5]), + i16x8([0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039, 0x3039]), + ]), + [ + i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ], +); + +// ./test/core/simd/simd_conversions.wast:447 +assert_return( + () => invoke($0, `i8x16.narrow_i16x8_u`, [ + i16x8([0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab, 0x90ab]), + i16x8([0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234, 0x1234]), + ]), + [ + i8x16([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + ], +); + +// ./test/core/simd/simd_conversions.wast:452 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0x0, 0x0, 0x0, 0x0]), + i32x4([0x0, 0x0, 0x0, 0x0]), + ]), + [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])], +); + +// ./test/core/simd/simd_conversions.wast:455 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0x0, 0x0, 0x0, 0x0]), + i32x4([0x1, 0x1, 0x1, 0x1]), + ]), + [i16x8([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1])], +); + +// ./test/core/simd/simd_conversions.wast:458 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0x1, 0x1, 0x1, 0x1]), + i32x4([0x0, 0x0, 0x0, 0x0]), + ]), + [i16x8([0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0])], +); + +// ./test/core/simd/simd_conversions.wast:461 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0x0, 0x0, 0x0, 0x0]), + i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]), + ]), + [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])], +); + +// ./test/core/simd/simd_conversions.wast:464 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]), + i32x4([0x0, 0x0, 0x0, 0x0]), + ]), + [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0])], +); + +// ./test/core/simd/simd_conversions.wast:467 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0x1, 0x1, 0x1, 0x1]), + i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]), + ]), + [i16x8([0x1, 0x1, 0x1, 0x1, 0xffff, 0xffff, 0xffff, 0xffff])], +); + +// ./test/core/simd/simd_conversions.wast:470 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]), + i32x4([0x1, 0x1, 0x1, 0x1]), + ]), + [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0x1, 0x1, 0x1, 0x1])], +); + +// ./test/core/simd/simd_conversions.wast:473 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]), + i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]), + ]), + [i16x8([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7fff, 0x7fff, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:476 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]), + i32x4([0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe]), + ]), + [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe])], +); + +// ./test/core/simd/simd_conversions.wast:479 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]), + i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]), + ]), + [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:482 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0x8000, 0x8000, 0x8000, 0x8000]), + i32x4([0x8000, 0x8000, 0x8000, 0x8000]), + ]), + [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:485 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]), + i32x4([0x8000, 0x8000, 0x8000, 0x8000]), + ]), + [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:488 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0x8000, 0x8000, 0x8000, 0x8000]), + i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]), + ]), + [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:491 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]), + i32x4([0xffff, 0xffff, 0xffff, 0xffff]), + ]), + [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:494 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0xffff, 0xffff, 0xffff, 0xffff]), + i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]), + ]), + [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:497 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0xffff8001, 0xffff8001, 0xffff8001, 0xffff8001]), + i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]), + ]), + [i16x8([0x8001, 0x8001, 0x8001, 0x8001, 0x8000, 0x8000, 0x8000, 0x8000])], +); + +// ./test/core/simd/simd_conversions.wast:500 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]), + i32x4([0xffff8001, 0xffff8001, 0xffff8001, 0xffff8001]), + ]), + [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8001, 0x8001, 0x8001, 0x8001])], +); + +// ./test/core/simd/simd_conversions.wast:503 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]), + i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]), + ]), + [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])], +); + +// ./test/core/simd/simd_conversions.wast:506 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0xffff7fff, 0xffff7fff, 0xffff7fff, 0xffff7fff]), + i32x4([0xffff7fff, 0xffff7fff, 0xffff7fff, 0xffff7fff]), + ]), + [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])], +); + +// ./test/core/simd/simd_conversions.wast:509 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0xffff7fff, 0xffff7fff, 0xffff7fff, 0xffff7fff]), + i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]), + ]), + [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])], +); + +// ./test/core/simd/simd_conversions.wast:512 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]), + i32x4([0xffff7fff, 0xffff7fff, 0xffff7fff, 0xffff7fff]), + ]), + [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000])], +); + +// ./test/core/simd/simd_conversions.wast:515 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]), + i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]), + ]), + [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x7fff, 0x7fff, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:518 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]), + i32x4([0x8000, 0x8000, 0x8000, 0x8000]), + ]), + [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x7fff, 0x7fff, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:521 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0xffff7fff, 0xffff7fff, 0xffff7fff, 0xffff7fff]), + i32x4([0x7fff, 0x7fff, 0x7fff, 0x7fff]), + ]), + [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x7fff, 0x7fff, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:524 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0xffff8000, 0xffff8000, 0xffff8000, 0xffff8000]), + i32x4([0xffff, 0xffff, 0xffff, 0xffff]), + ]), + [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x7fff, 0x7fff, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:527 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0xffff7fff, 0xffff7fff, 0xffff7fff, 0xffff7fff]), + i32x4([0x10000, 0x10000, 0x10000, 0x10000]), + ]), + [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x7fff, 0x7fff, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:530 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0xf8000000, 0xf8000000, 0xf8000000, 0xf8000000]), + i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]), + ]), + [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0xffff, 0xffff, 0xffff, 0xffff])], +); + +// ./test/core/simd/simd_conversions.wast:533 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]), + i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]), + ]), + [i16x8([0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:536 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_s`, [ + i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]), + i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]), + ]), + [i16x8([0x8000, 0x8000, 0x8000, 0x8000, 0x7fff, 0x7fff, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:541 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0x0, 0x0, 0x0, 0x0]), + i32x4([0x0, 0x0, 0x0, 0x0]), + ]), + [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])], +); + +// ./test/core/simd/simd_conversions.wast:544 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0x0, 0x0, 0x0, 0x0]), + i32x4([0x1, 0x1, 0x1, 0x1]), + ]), + [i16x8([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1])], +); + +// ./test/core/simd/simd_conversions.wast:547 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0x1, 0x1, 0x1, 0x1]), + i32x4([0x0, 0x0, 0x0, 0x0]), + ]), + [i16x8([0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0])], +); + +// ./test/core/simd/simd_conversions.wast:550 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0x0, 0x0, 0x0, 0x0]), + i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]), + ]), + [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])], +); + +// ./test/core/simd/simd_conversions.wast:553 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]), + i32x4([0x0, 0x0, 0x0, 0x0]), + ]), + [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])], +); + +// ./test/core/simd/simd_conversions.wast:556 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0x1, 0x1, 0x1, 0x1]), + i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]), + ]), + [i16x8([0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0])], +); + +// ./test/core/simd/simd_conversions.wast:559 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]), + i32x4([0x1, 0x1, 0x1, 0x1]), + ]), + [i16x8([0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1])], +); + +// ./test/core/simd/simd_conversions.wast:562 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0xfffe, 0xfffe, 0xfffe, 0xfffe]), + i32x4([0xffff, 0xffff, 0xffff, 0xffff]), + ]), + [i16x8([0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xffff, 0xffff, 0xffff, 0xffff])], +); + +// ./test/core/simd/simd_conversions.wast:565 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0xffff, 0xffff, 0xffff, 0xffff]), + i32x4([0xfffe, 0xfffe, 0xfffe, 0xfffe]), + ]), + [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xfffe, 0xfffe, 0xfffe])], +); + +// ./test/core/simd/simd_conversions.wast:568 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0xffff, 0xffff, 0xffff, 0xffff]), + i32x4([0xffff, 0xffff, 0xffff, 0xffff]), + ]), + [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])], +); + +// ./test/core/simd/simd_conversions.wast:571 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0x10000, 0x10000, 0x10000, 0x10000]), + i32x4([0x10000, 0x10000, 0x10000, 0x10000]), + ]), + [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])], +); + +// ./test/core/simd/simd_conversions.wast:574 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0xffff, 0xffff, 0xffff, 0xffff]), + i32x4([0x10000, 0x10000, 0x10000, 0x10000]), + ]), + [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])], +); + +// ./test/core/simd/simd_conversions.wast:577 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0x10000, 0x10000, 0x10000, 0x10000]), + i32x4([0xffff, 0xffff, 0xffff, 0xffff]), + ]), + [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])], +); + +// ./test/core/simd/simd_conversions.wast:580 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0x0, 0x0, 0x0, 0x0]), + i32x4([0xffff, 0xffff, 0xffff, 0xffff]), + ]), + [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])], +); + +// ./test/core/simd/simd_conversions.wast:583 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0x0, 0x0, 0x0, 0x0]), + i32x4([0x10000, 0x10000, 0x10000, 0x10000]), + ]), + [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])], +); + +// ./test/core/simd/simd_conversions.wast:586 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]), + i32x4([0xffff, 0xffff, 0xffff, 0xffff]), + ]), + [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])], +); + +// ./test/core/simd/simd_conversions.wast:589 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]), + i32x4([0x10000, 0x10000, 0x10000, 0x10000]), + ]), + [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])], +); + +// ./test/core/simd/simd_conversions.wast:592 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0x80000000, 0x80000000, 0x80000000, 0x80000000]), + i32x4([0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff]), + ]), + [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])], +); + +// ./test/core/simd/simd_conversions.wast:595 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0x75bcd15, 0x75bcd15, 0x75bcd15, 0x75bcd15]), + i32x4([0x499602d2, 0x499602d2, 0x499602d2, 0x499602d2]), + ]), + [i16x8([0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff])], +); + +// ./test/core/simd/simd_conversions.wast:598 +assert_return( + () => invoke($0, `i16x8.narrow_i32x4_u`, [ + i32x4([0x90abcdef, 0x90abcdef, 0x90abcdef, 0x90abcdef]), + i32x4([0x12345678, 0x12345678, 0x12345678, 0x12345678]), + ]), + [i16x8([0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff])], +); + +// ./test/core/simd/simd_conversions.wast:605 +assert_malformed( + () => instantiate(`(func (result v128) (i32x4.trunc_sat_f32x4 (v128.const f32x4 0.0 0.0 0.0 0.0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:608 +assert_malformed( + () => instantiate(`(func (result v128) (i32x4.trunc_s_sat_f32x4 (v128.const f32x4 -2.0 -1.0 1.0 2.0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:611 +assert_malformed( + () => instantiate(`(func (result v128) (i32x4.trunc_u_sat_f32x4 (v128.const f32x4 -2.0 -1.0 1.0 2.0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:614 +assert_malformed( + () => instantiate(`(func (result v128) (i32x4.convert_f32x4 (v128.const f32x4 -1 0 1 2))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:617 +assert_malformed( + () => instantiate(`(func (result v128) (i32x4.convert_s_f32x4 (v128.const f32x4 -1 0 1 2))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:620 +assert_malformed( + () => instantiate(`(func (result v128) (i32x4.convert_u_f32x4 (v128.const f32x4 -1 0 1 2))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:624 +assert_malformed( + () => instantiate(`(func (result v128) (i64x2.trunc_sat_f64x2_s (v128.const f64x2 0.0 0.0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:627 +assert_malformed( + () => instantiate(`(func (result v128) (i64x2.trunc_sat_f64x2_u (v128.const f64x2 -2.0 -1.0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:630 +assert_malformed( + () => instantiate(`(func (result v128) (f64x2.convert_i64x2_s (v128.const i64x2 1 2))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:633 +assert_malformed( + () => instantiate(`(func (result v128) (f64x2.convert_i64x2_u (v128.const i64x2 1 2))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:637 +assert_malformed( + () => instantiate(`(func (result v128) (i8x16.narrow_i16x8 (v128.const i16x8 0 0 0 0 0 0 0 0) (v128.const i16x8 0 0 0 0 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:640 +assert_malformed( + () => instantiate(`(func (result v128) (i16x8.narrow_i8x16 (v128.const i16x8 0 0 0 0 0 0 0 0) (v128.const i16x8 0 0 0 0 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:643 +assert_malformed( + () => instantiate(`(func (result v128) (i16x8.narrow_i8x16_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:646 +assert_malformed( + () => instantiate(`(func (result v128) (i16x8.narrow_i8x16_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:649 +assert_malformed( + () => instantiate(`(func (result v128) (i16x8.narrow_i32x4 (v128.const i16x8 0 0 0 0 0 0 0 0) (v128.const i16x8 0 0 0 0 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:652 +assert_malformed( + () => instantiate(`(func (result v128) (i32x4.narrow_i16x8 (v128.const i16x8 0 0 0 0 0 0 0 0) (v128.const i16x8 0 0 0 0 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:655 +assert_malformed( + () => instantiate(`(func (result v128) (i32x4.narrow_i16x8_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:658 +assert_malformed( + () => instantiate(`(func (result v128) (i32x4.narrow_i16x8_u (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:662 +assert_malformed( + () => instantiate(`(func (result v128) (i16x8.extend_low_i8x16 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:665 +assert_malformed( + () => instantiate(`(func (result v128) (i8x16.extend_low_i16x8_s (v128.const i16x8 0 0 0 0 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:668 +assert_malformed( + () => instantiate(`(func (result v128) (i8x16.extend_low_i16x8_u (v128.const i16x8 0 0 0 0 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:671 +assert_malformed( + () => instantiate(`(func (result v128) (i16x8.extend_high_i8x16 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:674 +assert_malformed( + () => instantiate(`(func (result v128) (i8x16.extend_high_i16x8_s (v128.const i16x8 0 0 0 0 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:677 +assert_malformed( + () => instantiate(`(func (result v128) (i8x16.extend_high_i16x8_u (v128.const i16x8 0 0 0 0 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:680 +assert_malformed( + () => instantiate(`(func (result v128) (i32x4.extend_low_i16x8 (v128.const i16x8 0 0 0 0 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:683 +assert_malformed( + () => instantiate(`(func (result v128) (i16x8.extend_low_i32x4_s (v128.const i32x4 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:686 +assert_malformed( + () => instantiate(`(func (result v128) (i16x8.extend_low_i32x4_u (v128.const i32x4 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:689 +assert_malformed( + () => instantiate(`(func (result v128) (i32x4.extend_high_i16x8 (v128.const i16x8 0 0 0 0 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:692 +assert_malformed( + () => instantiate(`(func (result v128) (i16x8.extend_high_i32x4_s (v128.const i32x4 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:695 +assert_malformed( + () => instantiate(`(func (result v128) (i16x8.extend_high_i32x4_u (v128.const i32x4 0 0 0 0))) `), + `unknown operator`, +); + +// ./test/core/simd/simd_conversions.wast:702 +assert_invalid( + () => instantiate(`(module (func (result v128) (f32x4.convert_i32x4_s (i32.const 0))))`), + `type mismatch`, +); + +// ./test/core/simd/simd_conversions.wast:703 +assert_invalid( + () => instantiate(`(module (func (result v128) (f32x4.convert_i32x4_s (i64.const 0))))`), + `type mismatch`, +); + +// ./test/core/simd/simd_conversions.wast:704 +assert_invalid( + () => instantiate(`(module (func (result v128) (f32x4.convert_i32x4_u (i32.const 0))))`), + `type mismatch`, +); + +// ./test/core/simd/simd_conversions.wast:705 +assert_invalid( + () => instantiate(`(module (func (result v128) (f32x4.convert_i32x4_u (i64.const 0))))`), + `type mismatch`, +); + +// ./test/core/simd/simd_conversions.wast:707 +assert_invalid( + () => instantiate(`(module (func (result v128) (i8x16.narrow_i16x8_s (i32.const 0) (i64.const 0))))`), + `type mismatch`, +); + +// ./test/core/simd/simd_conversions.wast:708 +assert_invalid( + () => instantiate(`(module (func (result v128) (i8x16.narrow_i16x8_u (i32.const 0) (i64.const 0))))`), + `type mismatch`, +); + +// ./test/core/simd/simd_conversions.wast:709 +assert_invalid( + () => instantiate(`(module (func (result v128) (i16x8.narrow_i32x4_s (f32.const 0.0) (f64.const 0.0))))`), + `type mismatch`, +); + +// ./test/core/simd/simd_conversions.wast:710 +assert_invalid( + () => instantiate(`(module (func (result v128) (i16x8.narrow_i32x4_s (f32.const 0.0) (f64.const 0.0))))`), + `type mismatch`, +); + +// ./test/core/simd/simd_conversions.wast:715 +let $1 = instantiate(`(module + (func (export "f32x4_convert_i32x4_s_add") (param v128 v128) (result v128) + (f32x4.convert_i32x4_s (i32x4.add (local.get 0) (local.get 1)))) + (func (export "f32x4_convert_i32x4_s_sub") (param v128 v128) (result v128) + (f32x4.convert_i32x4_s (i32x4.sub (local.get 0) (local.get 1)))) + (func (export "f32x4_convert_i32x4_u_mul") (param v128 v128) (result v128) + (f32x4.convert_i32x4_u (i32x4.mul (local.get 0) (local.get 1)))) + + (func (export "i16x8_low_extend_narrow_ss") (param v128 v128) (result v128) + (i16x8.extend_low_i8x16_s (i8x16.narrow_i16x8_s (local.get 0) (local.get 1)))) + (func (export "i16x8_low_extend_narrow_su") (param v128 v128) (result v128) + (i16x8.extend_low_i8x16_s (i8x16.narrow_i16x8_u (local.get 0) (local.get 1)))) + (func (export "i16x8_high_extend_narrow_ss") (param v128 v128) (result v128) + (i16x8.extend_low_i8x16_s (i8x16.narrow_i16x8_s (local.get 0) (local.get 1)))) + (func (export "i16x8_high_extend_narrow_su") (param v128 v128) (result v128) + (i16x8.extend_low_i8x16_s (i8x16.narrow_i16x8_u (local.get 0) (local.get 1)))) + (func (export "i16x8_low_extend_narrow_uu") (param v128 v128) (result v128) + (i16x8.extend_low_i8x16_u (i8x16.narrow_i16x8_u (local.get 0) (local.get 1)))) + (func (export "i16x8_low_extend_narrow_us") (param v128 v128) (result v128) + (i16x8.extend_low_i8x16_u (i8x16.narrow_i16x8_s (local.get 0) (local.get 1)))) + (func (export "i16x8_high_extend_narrow_uu") (param v128 v128) (result v128) + (i16x8.extend_low_i8x16_u (i8x16.narrow_i16x8_u (local.get 0) (local.get 1)))) + (func (export "i16x8_high_extend_narrow_us") (param v128 v128) (result v128) + (i16x8.extend_low_i8x16_u (i8x16.narrow_i16x8_s (local.get 0) (local.get 1)))) + + (func (export "i32x4_low_extend_narrow_ss") (param v128 v128) (result v128) + (i32x4.extend_low_i16x8_s (i16x8.narrow_i32x4_s (local.get 0) (local.get 1)))) + (func (export "i32x4_low_extend_narrow_su") (param v128 v128) (result v128) + (i32x4.extend_low_i16x8_s (i16x8.narrow_i32x4_u (local.get 0) (local.get 1)))) + (func (export "i32x4_high_extend_narrow_ss") (param v128 v128) (result v128) + (i32x4.extend_low_i16x8_s (i16x8.narrow_i32x4_s (local.get 0) (local.get 1)))) + (func (export "i32x4_high_extend_narrow_su") (param v128 v128) (result v128) + (i32x4.extend_low_i16x8_s (i16x8.narrow_i32x4_u (local.get 0) (local.get 1)))) + (func (export "i32x4_low_extend_narrow_uu") (param v128 v128) (result v128) + (i32x4.extend_low_i16x8_u (i16x8.narrow_i32x4_u (local.get 0) (local.get 1)))) + (func (export "i32x4_low_extend_narrow_us") (param v128 v128) (result v128) + (i32x4.extend_low_i16x8_u (i16x8.narrow_i32x4_s (local.get 0) (local.get 1)))) + (func (export "i32x4_high_extend_narrow_uu") (param v128 v128) (result v128) + (i32x4.extend_low_i16x8_u (i16x8.narrow_i32x4_u (local.get 0) (local.get 1)))) + (func (export "i32x4_high_extend_narrow_us") (param v128 v128) (result v128) + (i32x4.extend_low_i16x8_u (i16x8.narrow_i32x4_s (local.get 0) (local.get 1)))) +)`); + +// ./test/core/simd/simd_conversions.wast:758 +assert_return( + () => invoke($1, `f32x4_convert_i32x4_s_add`, [ + i32x4([0x1, 0x2, 0x3, 0x4]), + i32x4([0x2, 0x3, 0x4, 0x5]), + ]), + [ + new F32x4Pattern( + value("f32", 3), + value("f32", 5), + value("f32", 7), + value("f32", 9), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:761 +assert_return( + () => invoke($1, `f32x4_convert_i32x4_s_sub`, [ + i32x4([0x0, 0x1, 0x2, 0x3]), + i32x4([0x1, 0x1, 0x1, 0x1]), + ]), + [ + new F32x4Pattern( + value("f32", -1), + value("f32", 0), + value("f32", 1), + value("f32", 2), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:764 +assert_return( + () => invoke($1, `f32x4_convert_i32x4_u_mul`, [ + i32x4([0x1, 0x2, 0x3, 0x4]), + i32x4([0x1, 0x2, 0x3, 0x4]), + ]), + [ + new F32x4Pattern( + value("f32", 1), + value("f32", 4), + value("f32", 9), + value("f32", 16), + ), + ], +); + +// ./test/core/simd/simd_conversions.wast:768 +assert_return( + () => invoke($1, `i16x8_low_extend_narrow_ss`, [ + i16x8([0x8000, 0x8001, 0x7fff, 0x8000, 0x8000, 0x8001, 0x7fff, 0x8000]), + i16x8([0x8000, 0x8001, 0x7fff, 0x8000, 0x8000, 0x8001, 0x7fff, 0x8000]), + ]), + [i16x8([0xff80, 0xff80, 0x7f, 0xff80, 0xff80, 0xff80, 0x7f, 0xff80])], +); + +// ./test/core/simd/simd_conversions.wast:771 +assert_return( + () => invoke($1, `i16x8_low_extend_narrow_su`, [ + i16x8([0x8000, 0x8001, 0x7fff, 0xffff, 0x8000, 0x8001, 0x7fff, 0xffff]), + i16x8([0x8000, 0x8001, 0x7fff, 0xffff, 0x8000, 0x8001, 0x7fff, 0xffff]), + ]), + [i16x8([0x0, 0x0, 0xffff, 0x0, 0x0, 0x0, 0xffff, 0x0])], +); + +// ./test/core/simd/simd_conversions.wast:774 +assert_return( + () => invoke($1, `i16x8_high_extend_narrow_ss`, [ + i16x8([0x8000, 0x8001, 0x7fff, 0x8000, 0x8000, 0x8001, 0x7fff, 0x8000]), + i16x8([0x8000, 0x8001, 0x7fff, 0x8000, 0x8000, 0x8001, 0x7fff, 0x8000]), + ]), + [i16x8([0xff80, 0xff80, 0x7f, 0xff80, 0xff80, 0xff80, 0x7f, 0xff80])], +); + +// ./test/core/simd/simd_conversions.wast:777 +assert_return( + () => invoke($1, `i16x8_high_extend_narrow_su`, [ + i16x8([0x8000, 0x8001, 0x7fff, 0xffff, 0x8000, 0x8001, 0x7fff, 0xffff]), + i16x8([0x8000, 0x8001, 0x7fff, 0xffff, 0x8000, 0x8001, 0x7fff, 0xffff]), + ]), + [i16x8([0x0, 0x0, 0xffff, 0x0, 0x0, 0x0, 0xffff, 0x0])], +); + +// ./test/core/simd/simd_conversions.wast:780 +assert_return( + () => invoke($1, `i16x8_low_extend_narrow_uu`, [ + i16x8([0x8000, 0x8001, 0x8000, 0xffff, 0x8000, 0x8001, 0x8000, 0xffff]), + i16x8([0x8000, 0x8001, 0x8000, 0xffff, 0x8000, 0x8001, 0x8000, 0xffff]), + ]), + [i16x8([0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])], +); + +// ./test/core/simd/simd_conversions.wast:783 +assert_return( + () => invoke($1, `i16x8_low_extend_narrow_us`, [ + i16x8([0x8000, 0x8001, 0x7fff, 0x8000, 0x8000, 0x8001, 0x7fff, 0x8000]), + i16x8([0x8000, 0x8001, 0x7fff, 0x8000, 0x8000, 0x8001, 0x7fff, 0x8000]), + ]), + [i16x8([0x80, 0x80, 0x7f, 0x80, 0x80, 0x80, 0x7f, 0x80])], +); + +// ./test/core/simd/simd_conversions.wast:786 +assert_return( + () => invoke($1, `i16x8_high_extend_narrow_uu`, [ + i16x8([0x8000, 0x8001, 0x7fff, 0xffff, 0x8000, 0x8001, 0x7fff, 0xffff]), + i16x8([0x8000, 0x8001, 0x7fff, 0xffff, 0x8000, 0x8001, 0x7fff, 0xffff]), + ]), + [i16x8([0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0xff, 0x0])], +); + +// ./test/core/simd/simd_conversions.wast:789 +assert_return( + () => invoke($1, `i16x8_high_extend_narrow_us`, [ + i16x8([0x8000, 0x8001, 0x7fff, 0x8000, 0x8000, 0x8001, 0x7fff, 0x8000]), + i16x8([0x8000, 0x8001, 0x7fff, 0x8000, 0x8000, 0x8001, 0x7fff, 0x8000]), + ]), + [i16x8([0x80, 0x80, 0x7f, 0x80, 0x80, 0x80, 0x7f, 0x80])], +); + +// ./test/core/simd/simd_conversions.wast:793 +assert_return( + () => invoke($1, `i32x4_low_extend_narrow_ss`, [ + i32x4([0x80000000, 0x80000001, 0x7fffffff, 0x8000000]), + i32x4([0x80000000, 0x80000001, 0x7fffffff, 0x8000000]), + ]), + [i32x4([0xffff8000, 0xffff8000, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:796 +assert_return( + () => invoke($1, `i32x4_low_extend_narrow_su`, [ + i32x4([0x80000000, 0x80000001, 0x7fffffff, 0xffffffff]), + i32x4([0x80000000, 0x80000001, 0x7fffffff, 0xffffffff]), + ]), + [i32x4([0x0, 0x0, 0xffffffff, 0x0])], +); + +// ./test/core/simd/simd_conversions.wast:799 +assert_return( + () => invoke($1, `i32x4_high_extend_narrow_ss`, [ + i32x4([0x80000000, 0x80000001, 0x7fffffff, 0x8000000]), + i32x4([0x80000000, 0x80000001, 0x7fffffff, 0x8000000]), + ]), + [i32x4([0xffff8000, 0xffff8000, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:802 +assert_return( + () => invoke($1, `i32x4_high_extend_narrow_su`, [ + i32x4([0x80000000, 0x80000001, 0x7fffffff, 0xffffffff]), + i32x4([0x80000000, 0x80000001, 0x7fffffff, 0xffffffff]), + ]), + [i32x4([0x0, 0x0, 0xffffffff, 0x0])], +); + +// ./test/core/simd/simd_conversions.wast:805 +assert_return( + () => invoke($1, `i32x4_low_extend_narrow_uu`, [ + i32x4([0x80000000, 0x80000001, 0x7fffffff, 0xffffffff]), + i32x4([0x80000000, 0x80000001, 0x7fffffff, 0xffffffff]), + ]), + [i32x4([0x0, 0x0, 0xffff, 0x0])], +); + +// ./test/core/simd/simd_conversions.wast:808 +assert_return( + () => invoke($1, `i32x4_low_extend_narrow_us`, [ + i32x4([0x80000000, 0x80000001, 0x7fffffff, 0x8000000]), + i32x4([0x80000000, 0x80000001, 0x7fffffff, 0x8000000]), + ]), + [i32x4([0x8000, 0x8000, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:811 +assert_return( + () => invoke($1, `i32x4_high_extend_narrow_uu`, [ + i32x4([0x80000000, 0x80000001, 0x7fffffff, 0xffffffff]), + i32x4([0x80000000, 0x80000001, 0x7fffffff, 0xffffffff]), + ]), + [i32x4([0x0, 0x0, 0xffff, 0x0])], +); + +// ./test/core/simd/simd_conversions.wast:814 +assert_return( + () => invoke($1, `i32x4_high_extend_narrow_us`, [ + i32x4([0x80000000, 0x80000001, 0x7fffffff, 0x8000000]), + i32x4([0x80000000, 0x80000001, 0x7fffffff, 0x8000000]), + ]), + [i32x4([0x8000, 0x8000, 0x7fff, 0x7fff])], +); + +// ./test/core/simd/simd_conversions.wast:820 +assert_invalid( + () => instantiate(`(module + (func $$f32x4.convert_i32x4_s-arg-empty (result v128) + (f32x4.convert_i32x4_s) + ) + )`), + `type mismatch`, +); + +// ./test/core/simd/simd_conversions.wast:828 +assert_invalid( + () => instantiate(`(module + (func $$f32x4.convert_i32x4_u-arg-empty (result v128) + (f32x4.convert_i32x4_u) + ) + )`), + `type mismatch`, +); + +// ./test/core/simd/simd_conversions.wast:836 +assert_invalid( + () => instantiate(`(module + (func $$i8x16.narrow_i16x8_s-1st-arg-empty (result v128) + (i8x16.narrow_i16x8_s (v128.const i16x8 0 0 0 0 0 0 0 0)) + ) + )`), + `type mismatch`, +); + +// ./test/core/simd/simd_conversions.wast:844 +assert_invalid( + () => instantiate(`(module + (func $$i8x16.narrow_i16x8_s-arg-empty (result v128) + (i8x16.narrow_i16x8_s) + ) + )`), + `type mismatch`, +); + +// ./test/core/simd/simd_conversions.wast:852 +assert_invalid( + () => instantiate(`(module + (func $$i8x16.narrow_i16x8_u-1st-arg-empty (result v128) + (i8x16.narrow_i16x8_u (v128.const i16x8 0 0 0 0 0 0 0 0)) + ) + )`), + `type mismatch`, +); + +// ./test/core/simd/simd_conversions.wast:860 +assert_invalid( + () => instantiate(`(module + (func $$i8x16.narrow_i16x8_u-arg-empty (result v128) + (i8x16.narrow_i16x8_u) + ) + )`), + `type mismatch`, +); + +// ./test/core/simd/simd_conversions.wast:868 +assert_invalid( + () => instantiate(`(module + (func $$i16x8.narrow_i32x4_s-1st-arg-empty (result v128) + (i16x8.narrow_i32x4_s (v128.const i32x4 0 0 0 0)) + ) + )`), + `type mismatch`, +); + +// ./test/core/simd/simd_conversions.wast:876 +assert_invalid( + () => instantiate(`(module + (func $$i16x8.narrow_i32x4_s-arg-empty (result v128) + (i16x8.narrow_i32x4_s) + ) + )`), + `type mismatch`, +); + +// ./test/core/simd/simd_conversions.wast:884 +assert_invalid( + () => instantiate(`(module + (func $$i16x8.narrow_i32x4_u-1st-arg-empty (result v128) + (i16x8.narrow_i32x4_u (v128.const i32x4 0 0 0 0)) + ) + )`), + `type mismatch`, +); + +// ./test/core/simd/simd_conversions.wast:892 +assert_invalid( + () => instantiate(`(module + (func $$i16x8.narrow_i32x4_u-arg-empty (result v128) + (i16x8.narrow_i32x4_u) + ) + )`), + `type mismatch`, +); |