diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/spec/simd.wast | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/spec/simd.wast b/test/spec/simd.wast index d246cfdd0..cec571387 100644 --- a/test/spec/simd.wast +++ b/test/spec/simd.wast @@ -254,6 +254,12 @@ (func (export "v128.load32_zero") (param $0 i32) (result v128) (v128.load32_zero (local.get $0))) (func (export "v128.load64_zero") (param $0 i32) (result v128) (v128.load64_zero (local.get $0))) (func (export "i8x16.swizzle") (param $0 v128) (param $1 v128) (result v128) (i8x16.swizzle (local.get $0) (local.get $1))) + (func (export "f64x2.convert_low_i32x4_s") (param $0 v128) (result v128) (f64x2.convert_low_i32x4_s (local.get $0))) + (func (export "f64x2.convert_low_i32x4_u") (param $0 v128) (result v128) (f64x2.convert_low_i32x4_u (local.get $0))) + (func (export "i32x4.trunc_sat_f64x2_s_zero") (param $0 v128) (result v128) (i32x4.trunc_sat_f64x2_s_zero (local.get $0))) + (func (export "i32x4.trunc_sat_f64x2_u_zero") (param $0 v128) (result v128) (i32x4.trunc_sat_f64x2_u_zero (local.get $0))) + (func (export "f32x4.demote_f64x2_zero") (param $0 v128) (result v128) (f32x4.demote_f64x2_zero (local.get $0))) + (func (export "f64x2.promote_low_f32x4") (param $0 v128) (result v128) (f64x2.promote_low_f32x4 (local.get $0))) ) ;; TODO: Additional f64x2 conversions if specified @@ -1123,3 +1129,20 @@ ) (v128.const i8x16 0xf0 0xf4 0xf8 0xfc 0x00 0x00 0x00 0x00 0x00 0x00 0xff 0xfd 0xfc 0xf8 0xf4 0xf0) ) + +(assert_return (invoke "f64x2.convert_low_i32x4_s" (v128.const i32x4 1 -2147483648 0 0)) (v128.const f64x2 1.0 -2147483648)) +(assert_return (invoke "f64x2.convert_low_i32x4_u" (v128.const i32x4 -2147483648 0xffffffff 0 0)) (v128.const f64x2 2147483648 4294967295.0)) +(assert_return (invoke "i32x4.trunc_sat_f64x2_s_zero" (v128.const f64x2 -inf 4294967296.0)) (v128.const i32x4 -2147483648 2147483647 0 0)) +(assert_return (invoke "i32x4.trunc_sat_f64x2_u_zero" (v128.const f64x2 -inf 4294967296.0)) (v128.const i32x4 0 4294967295 0 0)) +(assert_return + (invoke "f32x4.demote_f64x2_zero" + (v128.const f64x2 0x1.fffffe0000000p-127 -0x1.6972b30cfb562p+1) + ) + (v128.const f32x4 0x1p-126 -0x1.6972b4p+1 0 0) +) +(assert_return + (invoke "f64x2.promote_low_f32x4" + (v128.const f32x4 -0x1p-149 0x1.8f867ep+125 0 0) + ) + (v128.const f64x2 -0x1p-149 6.6382536710104395e+37) +) |