diff --git a/test/core/simd/simd_conversions.wast b/test/core/simd/simd_conversions.wast index 5a06db730..e1c2ff245 100644 --- a/test/core/simd/simd_conversions.wast +++ b/test/core/simd/simd_conversions.wast @@ -6,20 +6,12 @@ (i32x4.trunc_sat_f32x4_s (local.get 0))) (func (export "i32x4.trunc_sat_f32x4_u") (param v128) (result v128) (i32x4.trunc_sat_f32x4_u (local.get 0))) - (func (export "i64x2.trunc_sat_f64x2_s") (param v128) (result v128) - (i64x2.trunc_sat_f64x2_s (local.get 0))) - (func (export "i64x2.trunc_sat_f64x2_u") (param v128) (result v128) - (i64x2.trunc_sat_f64x2_u (local.get 0))) ;; 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_i64x2_s") (param v128) (result v128) - (f64x2.convert_i64x2_s (local.get 0))) - (func (export "f64x2.convert_i64x2_u") (param v128) (result v128) - (f64x2.convert_i64x2_u (local.get 0))) ;; Integer to integer narrowing (func (export "i8x16.narrow_i16x8_s") (param v128 v128) (result v128) @@ -224,183 +216,6 @@ (v128.const i32x4 123456792 123456792 123456792 123456792)) (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -0123456789.0 -0123456789.0 -0123456789.0 -0123456789.0)) (v128.const i32x4 0 0 0 0)) -;; i64x2.trunc_sat_f64x2_s - -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 0.0 0.0)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -0.0 -0.0)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 1.0 1.0)) - (v128.const i64x2 1 1)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -1.0 -1.0)) - (v128.const i64x2 -1 -1)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 1.5 1.5)) - (v128.const i64x2 1 1)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -1.5 -1.5)) - (v128.const i64x2 -1 -1)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 1.9 1.9)) - (v128.const i64x2 1 1)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -1.9 -1.9)) - (v128.const i64x2 -1 -1)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 2.0 2.0)) - (v128.const i64x2 2 2)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -2.0 -2.0)) - (v128.const i64x2 -2 -2)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 4294967296.0 4294967296.0)) - (v128.const i64x2 4294967296 4294967296)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -4294967296.0 -4294967296.0)) - (v128.const i64x2 -4294967296 -4294967296)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 9223372036854774784.0 9223372036854774784.0)) - (v128.const i64x2 9223372036854774784 9223372036854774784)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -9223372036854774784.0 -9223372036854774784.0)) - (v128.const i64x2 -9223372036854774784 -9223372036854774784)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 9223372036854775808.0 9223372036854775808.0)) - (v128.const i64x2 9223372036854775807 9223372036854775807)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -9223372036854775808.0 -9223372036854775808.0)) - (v128.const i64x2 -9223372036854775808 -9223372036854775808)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 10000000000000000000.0 10000000000000000000.0)) - (v128.const i64x2 9223372036854775807 9223372036854775807)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -10000000000000000000.0 -10000000000000000000.0)) - (v128.const i64x2 -9223372036854775808 -9223372036854775808)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 9223372036854775807.0 9223372036854775807.0)) - (v128.const i64x2 9223372036854775807 9223372036854775807)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -9223372036854775807.0 -9223372036854775807.0)) - (v128.const i64x2 -9223372036854775808 -9223372036854775808)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 0x0.0000000000001p-1022 0x0.0000000000001p-1022)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -0x0.0000000000001p-1022 -0x0.0000000000001p-1022)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 0x1p-1022 0x1p-1022)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -0x1p-1022 -0x1p-1022)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 0x1p-1 0x1p-1)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -0x1p-1 -0x1p-1)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 0x1p+0 0x1p+0)) - (v128.const i64x2 1 1)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -0x1p+0 -0x1p+0)) - (v128.const i64x2 -1 -1)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 0x1.921fb54442d18p+2 0x1.921fb54442d18p+2)) - (v128.const i64x2 6 6)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -0x1.921fb54442d18p+2 -0x1.921fb54442d18p+2)) - (v128.const i64x2 -6 -6)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 0x1.fffffffffffffp+1023 0x1.fffffffffffffp+1023)) - (v128.const i64x2 0x7fffffffffffffff 0x7fffffffffffffff)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -0x1.fffffffffffffp+1023 -0x1.fffffffffffffp+1023)) - (v128.const i64x2 -0x8000000000000000 -0x8000000000000000)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 inf inf)) - (v128.const i64x2 0x7fffffffffffffff 0x7fffffffffffffff)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -inf -inf)) - (v128.const i64x2 -0x8000000000000000 -0x8000000000000000)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 nan nan)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -nan -nan)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 nan:0x4000000000000 nan:0x4000000000000)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -nan:0x4000000000000 -nan:0x4000000000000)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 3.14 nan)) - (v128.const i64x2 3 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 -3.14 -inf)) - (v128.const i64x2 -3 -0x8000000000000000)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 01234567890123456768.0 01234567890123456768.0)) - (v128.const i64x2 1234567890123456768 1234567890123456768)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 01234567890123456789.0 01234567890123456789.0)) - (v128.const i64x2 0x112210f47de98100 0x112210f47de98100)) -;; i64x2.trunc_sat_f64x2_u - -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 0.0 0.0)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -0.0 -0.0)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 1.0 1.0)) - (v128.const i64x2 1 1)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -1.0 -1.0)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 1.5 1.5)) - (v128.const i64x2 1 1)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -1.5 -1.5)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 1.9 1.9)) - (v128.const i64x2 1 1)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -1.9 -1.9)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 2.0 2.0)) - (v128.const i64x2 2 2)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -2.0 -2.0)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 4294967296.0 4294967296.0)) - (v128.const i64x2 4294967296 4294967296)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -4294967296.0 -4294967296.0)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 9223372036854774784.0 9223372036854774784.0)) - (v128.const i64x2 9223372036854774784 9223372036854774784)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -9223372036854774784.0 -9223372036854774784.0)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 9223372036854775808.0 9223372036854775808.0)) - (v128.const i64x2 9223372036854775808 9223372036854775808)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -9223372036854775808.0 -9223372036854775808.0)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 10000000000000000000.0 10000000000000000000.0)) - (v128.const i64x2 10000000000000000000 10000000000000000000)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -10000000000000000000.0 -10000000000000000000.0)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 18446744073709551615.0 18446744073709551615.0)) - (v128.const i64x2 18446744073709551615 18446744073709551615)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -18446744073709551615.0 -18446744073709551615.0)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 9223372036854775807.0 9223372036854775807.0)) - (v128.const i64x2 9223372036854775808 9223372036854775808)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -9223372036854775807.0 -9223372036854775807.0)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 0x0.0000000000001p-1022 0x0.0000000000001p-1022)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -0x0.0000000000001p-1022 -0x0.0000000000001p-1022)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 0x1p-1022 0x1p-1022)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -0x1p-1022 -0x1p-1022)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 0x1p-1 0x1p-1)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -0x1p-1 -0x1p-1)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 0x1p+0 0x1p+0)) - (v128.const i64x2 1 1)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -0x1p+0 -0x1p+0)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 0x1.921fb54442d18p+2 0x1.921fb54442d18p+2)) - (v128.const i64x2 6 6)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -0x1.921fb54442d18p+2 -0x1.921fb54442d18p+2)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 0x1.fffffffffffffp+1023 0x1.fffffffffffffp+1023)) - (v128.const i64x2 0xffffffffffffffff 0xffffffffffffffff)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -0x1.fffffffffffffp+1023 -0x1.fffffffffffffp+1023)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 inf inf)) - (v128.const i64x2 0xffffffffffffffff 0xffffffffffffffff)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -inf -inf)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 nan nan)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -nan -nan)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 nan:0x4000000000000 nan:0x4000000000000)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -nan:0x4000000000000 -nan:0x4000000000000)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 3.14 nan)) - (v128.const i64x2 3 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -3.14 -inf)) - (v128.const i64x2 0 0)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 01234567890123456768.0 01234567890123456768.0)) - (v128.const i64x2 1234567890123456768 1234567890123456768)) -(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 -01234567890123456789.0 -01234567890123456789.0)) - (v128.const i64x2 0 0)) - ;; Integer to floating point ;; f32x4.convert_i32x4_s @@ -433,34 +248,6 @@ (assert_return (invoke "f32x4.convert_i32x4_s" (v128.const i32x4 0 -1 0x7fffffff 0x80000000)) (v128.const f32x4 0.0 -1.0 2147483647.0 -2147483648.0)) -;; f64x2.convert_i64x2_s - -(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64x2 0 0)) - (v128.const f64x2 0.0 0.0)) -(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64x2 1 1)) - (v128.const f64x2 1.0 1.0)) -(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64x2 -1 -1)) - (v128.const f64x2 -1.0 -1.0)) -(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64x2 9223372036854775807 9223372036854775807)) - (v128.const f64x2 9223372036854775807.0 9223372036854775807.0)) -(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64x2 -9223372036854775808 -9223372036854775808)) - (v128.const f64x2 -9223372036854775808.0 -9223372036854775808.0)) -(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64x2 4669201609102990 4669201609102990)) - (v128.const f64x2 4669201609102990.0 4669201609102990.0)) -(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64x2 9007199254740993 9007199254740993)) - (v128.const f64x2 9007199254740992.0 9007199254740992.0)) -(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64x2 -9007199254740993 -9007199254740993)) - (v128.const f64x2 -9007199254740992.0 -9007199254740992.0)) -(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64x2 9007199254740995 9007199254740995)) - (v128.const f64x2 9007199254740996.0 9007199254740996.0)) -(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64x2 -9007199254740995 -9007199254740995)) - (v128.const f64x2 -9007199254740996.0 -9007199254740996.0)) -(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64x2 0x7fffffffffffffff 0x8000000000000000)) - (v128.const f64x2 9223372036854775807.0 -9223372036854775808.0)) -(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64x2 01_234_567_890_123_456_789 01_234_567_890_123_456_789)) - (v128.const f64x2 1.2345678901234568e+18 1.2345678901234568e+18)) -(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64x2 0x0_1234_5678_90AB_cdef 0x0_1234_5678_90AB_cdef)) - (v128.const f64x2 1.3117684672948997e+18 1.3117684672948997e+18)) ;; f32x4.convert_i32x4_u (assert_return (invoke "f32x4.convert_i32x4_u" (v128.const i32x4 0 0 0 0)) @@ -500,42 +287,6 @@ (assert_return (invoke "f32x4.convert_i32x4_u" (v128.const i32x4 0 -1 0x7fffffff 0x80000000)) (v128.const f32x4 0.0 4294967295.0 2147483647.0 2147483648.0)) -;; f64x2.convert_i64x2_u - -(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64x2 0 0)) - (v128.const f64x2 0.0 0.0)) -(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64x2 1 1)) - (v128.const f64x2 1.0 1.0)) -(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64x2 -1 -1)) - (v128.const f64x2 18446744073709551615.0 18446744073709551615.0)) -(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64x2 9223372036854775807 9223372036854775807)) - (v128.const f64x2 9223372036854775807.0 9223372036854775807.0)) -(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64x2 -9223372036854775808 -9223372036854775808)) - (v128.const f64x2 9223372036854775808.0 9223372036854775808.0)) -(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64x2 0xffffffffffffffff 0xffffffffffffffff)) - (v128.const f64x2 18446744073709551616.0 18446744073709551616.0)) -(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64x2 0x8000000000000400 0x8000000000000400)) - (v128.const f64x2 0x1.0000000000000p+63 0x1.0000000000000p+63)) -(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64x2 0x8000000000000401 0x8000000000000401)) - (v128.const f64x2 0x1.0000000000001p+63 0x1.0000000000001p+63)) -(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64x2 0x8000000000000402 0x8000000000000402)) - (v128.const f64x2 0x1.0000000000001p+63 0x1.0000000000001p+63)) -(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64x2 0xfffffffffffff400 0xfffffffffffff400)) - (v128.const f64x2 0x1.ffffffffffffep+63 0x1.ffffffffffffep+63)) -(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64x2 0xfffffffffffff401 0xfffffffffffff401)) - (v128.const f64x2 0x1.fffffffffffffp+63 0x1.fffffffffffffp+63)) -(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64x2 0xfffffffffffff402 0xfffffffffffff402)) - (v128.const f64x2 0x1.fffffffffffffp+63 0x1.fffffffffffffp+63)) -(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64x2 9007199254740993 9007199254740993)) - (v128.const f64x2 9007199254740992.0 9007199254740992.0)) -(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64x2 9007199254740995 9007199254740995)) - (v128.const f64x2 9007199254740996.0 9007199254740996.0)) -(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64x2 0x7fffffffffffffff 0x8000000000000000)) - (v128.const f64x2 9223372036854775807.0 9223372036854775808.0)) -(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64x2 01_234_567_890_123_456_789 01_234_567_890_123_456_789)) - (v128.const f64x2 1.2345678901234568e+18 1.2345678901234568e+18)) -(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64x2 0x0_fedc_BA09_8765_4321 0x0_fedc_BA09_8765_4321)) - (v128.const f64x2 -8.198614311047907e+16 -8.198614311047907e+16)) ;; Integer to integer narrowing ;; i8x16.narrow_i16x8_s @@ -1254,22 +1005,16 @@ "unknown operator") (assert_malformed (module quote - "(func (result v128) (i64x2.trunc_sat_f64x2 (v128.const f64x2 0.0 0.0)))") - "unknown operator") -(assert_malformed (module quote - "(func (result v128) (i64x2.trunc_s_sat_f64x2 (v128.const f64x2 -2.0 -1.0)))") - "unknown operator") -(assert_malformed (module quote - "(func (result v128) (i64x2.trunc_u_sat_f64x2 (v128.const f64x2 1.0 2.0)))") + "(func (result v128) (i64x2.trunc_sat_f64x2_s (v128.const f64x2 0.0 0.0)))") "unknown operator") (assert_malformed (module quote - "(func (result v128) (f64x2.convert_i64x2 (v128.const i64x2 -1 0)))") + "(func (result v128) (i64x2.trunc_sat_f64x2_u (v128.const f64x2 -2.0 -1.0)))") "unknown operator") (assert_malformed (module quote - "(func (result v128) (f64x2.convert_s_i64x2 (v128.const i64x2 1 2)))") + "(func (result v128) (f64x2.convert_i64x2_s (v128.const i64x2 1 2)))") "unknown operator") (assert_malformed (module quote - "(func (result v128) (f64x2.convert_u_i64x2 (v128.const i64x2 1 2)))") + "(func (result v128) (f64x2.convert_i64x2_u (v128.const i64x2 1 2)))") "unknown operator") (assert_malformed (module quote @@ -1345,14 +1090,6 @@ (assert_invalid (module (func (result v128) (f32x4.convert_i32x4_s (i64.const 0)))) "type mismatch") (assert_invalid (module (func (result v128) (f32x4.convert_i32x4_u (i32.const 0)))) "type mismatch") (assert_invalid (module (func (result v128) (f32x4.convert_i32x4_u (i64.const 0)))) "type mismatch") -(assert_invalid (module (func (result v128) (i64x2.trunc_sat_f64x2_s (i32.const 0)))) "type mismatch") -(assert_invalid (module (func (result v128) (i64x2.trunc_sat_f64x2_s (i64.const 0)))) "type mismatch") -(assert_invalid (module (func (result v128) (i64x2.trunc_sat_f64x2_u (i32.const 0)))) "type mismatch") -(assert_invalid (module (func (result v128) (i64x2.trunc_sat_f64x2_u (i64.const 0)))) "type mismatch") -(assert_invalid (module (func (result v128) (f64x2.convert_i64x2_s (i32.const 0)))) "type mismatch") -(assert_invalid (module (func (result v128) (f64x2.convert_i64x2_s (i64.const 0)))) "type mismatch") -(assert_invalid (module (func (result v128) (f64x2.convert_i64x2_u (i32.const 0)))) "type mismatch") -(assert_invalid (module (func (result v128) (f64x2.convert_i64x2_u (i64.const 0)))) "type mismatch") (assert_invalid (module (func (result v128) (i8x16.narrow_i16x8_s (i32.const 0) (i64.const 0)))) "type mismatch") (assert_invalid (module (func (result v128) (i8x16.narrow_i16x8_u (i32.const 0) (i64.const 0)))) "type mismatch") @@ -1378,12 +1115,6 @@ (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 "f64x2_convert_i64x2_s_add") (param v128 v128) (result v128) - (f64x2.convert_i64x2_s (i64x2.add (local.get 0) (local.get 1)))) - (func (export "f64x2_convert_i64x2_s_sub") (param v128 v128) (result v128) - (f64x2.convert_i64x2_s (i64x2.sub (local.get 0) (local.get 1)))) - (func (export "f64x2_convert_i64x2_u_mul") (param v128 v128) (result v128) - (f64x2.convert_i64x2_u (i64x2.mul (local.get 0) (local.get 1)))) (func (export "i16x8_low_widen_narrow_ss") (param v128 v128) (result v128) (i16x8.widen_low_i8x16_s (i8x16.narrow_i16x8_s (local.get 0) (local.get 1)))) @@ -1429,15 +1160,6 @@ (assert_return (invoke "f32x4_convert_i32x4_u_mul" (v128.const i32x4 1 2 3 4) (v128.const i32x4 1 2 3 4)) (v128.const f32x4 1.0 4.0 9.0 16.0)) -(assert_return (invoke "f64x2_convert_i64x2_s_add" (v128.const i64x2 0x7fffffffffffffff 0x7fffffffffffffff) - (v128.const i64x2 0x8000000000000000 0x8000000000000000)) - (v128.const f64x2 -1.0 -1.0)) -(assert_return (invoke "f64x2_convert_i64x2_s_sub" (v128.const i64x2 0x7fffffffffffffff 0x7fffffffffffffff) - (v128.const i64x2 0x8000000000000000 0x8000000000000000)) - (v128.const f64x2 -1.0 -1.0)) -(assert_return (invoke "f64x2_convert_i64x2_u_mul" (v128.const i64x2 0x7fffffff 0x7fffffff) - (v128.const i64x2 0x80000000 0x80000000)) - (v128.const f64x2 4611686016279904256.0 4611686016279904256.0)) (assert_return (invoke "i16x8_low_widen_narrow_ss" (v128.const i16x8 -0x8000 -0x7fff 0x7fff 0x8000 -0x8000 -0x7fff 0x7fff 0x8000) (v128.const i16x8 -0x8000 -0x7fff 0x7fff 0x8000 -0x8000 -0x7fff 0x7fff 0x8000)) @@ -1507,22 +1229,6 @@ ) "type mismatch" ) -(assert_invalid - (module - (func $i64x2.trunc_sat_f64x2_s-arg-empty (result v128) - (i64x2.trunc_sat_f64x2_s) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $i64x2.trunc_sat_f64x2_u-arg-empty (result v128) - (i64x2.trunc_sat_f64x2_u) - ) - ) - "type mismatch" -) (assert_invalid (module (func $f32x4.convert_i32x4_s-arg-empty (result v128) @@ -1539,22 +1245,6 @@ ) "type mismatch" ) -(assert_invalid - (module - (func $f64x2.convert_i64x2_s-arg-empty (result v128) - (f64x2.convert_i64x2_s) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $f64x2.convert_i64x2_u-arg-empty (result v128) - (f64x2.convert_i64x2_u) - ) - ) - "type mismatch" -) (assert_invalid (module (func $i8x16.narrow_i16x8_s-1st-arg-empty (result v128)