summaryrefslogtreecommitdiff
path: root/test/spec/simd.wast
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2020-05-19 10:17:07 -0700
committerGitHub <noreply@github.com>2020-05-19 10:17:07 -0700
commitfc7346918f8d15ce45639472f00fea5fa8102ff0 (patch)
tree9d6a3e179c69aedbcef4681db2454fe86c65cc3c /test/spec/simd.wast
parent417ccb54ccbb0776148f51cb2869c122826db6d9 (diff)
downloadbinaryen-fc7346918f8d15ce45639472f00fea5fa8102ff0.tar.gz
binaryen-fc7346918f8d15ce45639472f00fea5fa8102ff0.tar.bz2
binaryen-fc7346918f8d15ce45639472f00fea5fa8102ff0.zip
Implement i64x2.mul (#2860)
This is the only instruction in the current spec proposal that had not yet been implemnented in the tools.
Diffstat (limited to 'test/spec/simd.wast')
-rw-r--r--test/spec/simd.wast2
1 files changed, 2 insertions, 0 deletions
diff --git a/test/spec/simd.wast b/test/spec/simd.wast
index d6549f486..26da927a9 100644
--- a/test/spec/simd.wast
+++ b/test/spec/simd.wast
@@ -167,6 +167,7 @@
(func (export "i64x2.shr_u") (param $0 v128) (param $1 i32) (result v128) (i64x2.shr_u (local.get $0) (local.get $1)))
(func (export "i64x2.add") (param $0 v128) (param $1 v128) (result v128) (i64x2.add (local.get $0) (local.get $1)))
(func (export "i64x2.sub") (param $0 v128) (param $1 v128) (result v128) (i64x2.sub (local.get $0) (local.get $1)))
+ (func (export "i64x2.mul") (param $0 v128) (param $1 v128) (result v128) (i64x2.mul (local.get $0) (local.get $1)))
(func (export "f32x4.abs") (param $0 v128) (result v128) (f32x4.abs (local.get $0)))
(func (export "f32x4.neg") (param $0 v128) (result v128) (f32x4.neg (local.get $0)))
(func (export "f32x4.sqrt") (param $0 v128) (result v128) (f32x4.sqrt (local.get $0)))
@@ -783,6 +784,7 @@
(assert_return (invoke "i64x2.shr_u" (v128.const i64x2 1 0x8000000000000000) (i32.const 64)) (v128.const i64x2 1 0x8000000000000000))
(assert_return (invoke "i64x2.add" (v128.const i64x2 0x8000000000000001 42) (v128.const i64x2 0x8000000000000001 0)) (v128.const i64x2 2 42))
(assert_return (invoke "i64x2.sub" (v128.const i64x2 2 42) (v128.const i64x2 0x8000000000000001 0)) (v128.const i64x2 0x8000000000000001 42))
+(assert_return (invoke "i64x2.mul" (v128.const i64x2 2 42) (v128.const i64x2 0x8000000000000001 0)) (v128.const i64x2 2 0))
;; f32x4 arithmetic
(assert_return (invoke "f32x4.abs" (v128.const f32x4 -0 nan -infinity 5)) (v128.const f32x4 0 nan infinity 5))