-
Notifications
You must be signed in to change notification settings - Fork 63
Expand file tree
/
Copy pathi16x8_relaxed_q15mulr_s.wast
More file actions
27 lines (21 loc) · 1.23 KB
/
i16x8_relaxed_q15mulr_s.wast
File metadata and controls
27 lines (21 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
;; Tests for i16x8.relaxed_q15mulr_s.
(module
(func (export "i16x8.relaxed_q15mulr_s") (param v128 v128) (result v128) (i16x8.relaxed_q15mulr_s (local.get 0) (local.get 1)))
(func (export "i16x8.relaxed_q15mulr_s_cmp") (param v128 v128) (result v128)
(i16x8.eq
(i16x8.relaxed_q15mulr_s (local.get 0) (local.get 1))
(i16x8.relaxed_q15mulr_s (local.get 0) (local.get 1))))
)
;; INT16_MIN = -32768
(assert_return (invoke "i16x8.relaxed_q15mulr_s"
(v128.const i16x8 -32768 -32767 32767 0 0 0 0 0)
(v128.const i16x8 -32768 -32768 32767 0 0 0 0 0))
;; overflows, return either INT16_MIN or INT16_MAX
(either (v128.const i16x8 -32768 32767 32766 0 0 0 0 0)
(v128.const i16x8 32767 32767 32766 0 0 0 0 0)))
;; Check that multiple calls to the relaxed instruction with same inputs returns same results.
(assert_return (invoke "i16x8.relaxed_q15mulr_s_cmp"
(v128.const i16x8 -32768 -32767 32767 0 0 0 0 0)
(v128.const i16x8 -32768 -32768 32767 0 0 0 0 0))
;; overflows, return either INT16_MIN or INT16_MAX
(v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))