...
1;; Tests for i16x8 [min_s, min_u, max_s, max_u, avgr_u, abs] operations.
2
3(module
4 (func (export "i16x8.min_s") (param v128 v128) (result v128) (i16x8.min_s (local.get 0) (local.get 1)))
5 (func (export "i16x8.min_u") (param v128 v128) (result v128) (i16x8.min_u (local.get 0) (local.get 1)))
6 (func (export "i16x8.max_s") (param v128 v128) (result v128) (i16x8.max_s (local.get 0) (local.get 1)))
7 (func (export "i16x8.max_u") (param v128 v128) (result v128) (i16x8.max_u (local.get 0) (local.get 1)))
8 (func (export "i16x8.avgr_u") (param v128 v128) (result v128) (i16x8.avgr_u (local.get 0) (local.get 1)))
9 (func (export "i16x8.abs") (param v128) (result v128) (i16x8.abs (local.get 0)))
10 (func (export "i16x8.min_s_with_const_0") (result v128) (i16x8.min_s (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535) (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768)))
11 (func (export "i16x8.min_s_with_const_1") (result v128) (i16x8.min_s (v128.const i16x8 0 0 1 1 2 2 3 3) (v128.const i16x8 3 3 2 2 1 1 0 0)))
12 (func (export "i16x8.min_u_with_const_2") (result v128) (i16x8.min_u (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535) (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768)))
13 (func (export "i16x8.min_u_with_const_3") (result v128) (i16x8.min_u (v128.const i16x8 0 0 1 1 2 2 3 3) (v128.const i16x8 3 3 2 2 1 1 0 0)))
14 (func (export "i16x8.max_s_with_const_4") (result v128) (i16x8.max_s (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535) (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768)))
15 (func (export "i16x8.max_s_with_const_5") (result v128) (i16x8.max_s (v128.const i16x8 0 0 1 1 2 2 3 3) (v128.const i16x8 3 3 2 2 1 1 0 0)))
16 (func (export "i16x8.max_u_with_const_6") (result v128) (i16x8.max_u (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535) (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768)))
17 (func (export "i16x8.max_u_with_const_7") (result v128) (i16x8.max_u (v128.const i16x8 0 0 1 1 2 2 3 3) (v128.const i16x8 3 3 2 2 1 1 0 0)))
18 (func (export "i16x8.avgr_u_with_const_8") (result v128) (i16x8.avgr_u (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535) (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768)))
19 (func (export "i16x8.avgr_u_with_const_9") (result v128) (i16x8.avgr_u (v128.const i16x8 0 0 1 1 2 2 3 3) (v128.const i16x8 3 3 2 2 1 1 0 0)))
20 (func (export "i16x8.abs_with_const_10") (result v128) (i16x8.abs (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535)))
21 (func (export "i16x8.min_s_with_const_11") (param v128) (result v128) (i16x8.min_s (local.get 0) (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535)))
22 (func (export "i16x8.min_s_with_const_12") (param v128) (result v128) (i16x8.min_s (local.get 0) (v128.const i16x8 0 0 1 1 2 2 3 3)))
23 (func (export "i16x8.min_u_with_const_13") (param v128) (result v128) (i16x8.min_u (local.get 0) (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535)))
24 (func (export "i16x8.min_u_with_const_14") (param v128) (result v128) (i16x8.min_u (local.get 0) (v128.const i16x8 0 0 1 1 2 2 3 3)))
25 (func (export "i16x8.max_s_with_const_15") (param v128) (result v128) (i16x8.max_s (local.get 0) (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535)))
26 (func (export "i16x8.max_s_with_const_16") (param v128) (result v128) (i16x8.max_s (local.get 0) (v128.const i16x8 0 0 1 1 2 2 3 3)))
27 (func (export "i16x8.max_u_with_const_17") (param v128) (result v128) (i16x8.max_u (local.get 0) (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535)))
28 (func (export "i16x8.max_u_with_const_18") (param v128) (result v128) (i16x8.max_u (local.get 0) (v128.const i16x8 0 0 1 1 2 2 3 3)))
29 (func (export "i16x8.avgr_u_with_const_19") (param v128) (result v128) (i16x8.avgr_u (local.get 0) (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535)))
30 (func (export "i16x8.avgr_u_with_const_20") (param v128) (result v128) (i16x8.avgr_u (local.get 0) (v128.const i16x8 0 0 1 1 2 2 3 3)))
31)
32
33(assert_return (invoke "i16x8.min_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
34 (v128.const i16x8 0 0 0 0 0 0 0 0))
35 (v128.const i16x8 0 0 0 0 0 0 0 0))
36(assert_return (invoke "i16x8.min_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
37 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
38 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
39(assert_return (invoke "i16x8.min_s" (v128.const i16x8 0 0 0 0 -1 -1 -1 -1)
40 (v128.const i16x8 0 0 -1 -1 0 0 -1 -1))
41 (v128.const i16x8 0 0 -1 -1 -1 -1 -1 -1))
42(assert_return (invoke "i16x8.min_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
43 (v128.const i16x8 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff))
44 (v128.const i16x8 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff))
45(assert_return (invoke "i16x8.min_s" (v128.const i16x8 1 1 1 1 1 1 1 1)
46 (v128.const i16x8 1 1 1 1 1 1 1 1))
47 (v128.const i16x8 1 1 1 1 1 1 1 1))
48(assert_return (invoke "i16x8.min_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
49 (v128.const i16x8 1 1 1 1 1 1 1 1))
50 (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
51(assert_return (invoke "i16x8.min_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
52 (v128.const i16x8 128 128 128 128 128 128 128 128))
53 (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
54(assert_return (invoke "i16x8.min_s" (v128.const i16x8 32768 32768 32768 32768 32768 32768 32768 32768)
55 (v128.const i16x8 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768))
56 (v128.const i16x8 32768 32768 32768 32768 32768 32768 32768 32768))
57(assert_return (invoke "i16x8.min_s" (v128.const i16x8 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000)
58 (v128.const i16x8 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768))
59 (v128.const i16x8 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000))
60(assert_return (invoke "i16x8.min_s" (v128.const i16x8 123 123 123 123 123 123 123 123)
61 (v128.const i16x8 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3))
62 (v128.const i16x8 123 123 123 123 123 123 123 123))
63(assert_return (invoke "i16x8.min_s" (v128.const i16x8 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)
64 (v128.const i16x8 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0))
65 (v128.const i16x8 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80))
66(assert_return (invoke "i16x8.min_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
67 (v128.const i16x8 0 0 0 0 0 0 0 0))
68 (v128.const i16x8 0 0 0 0 0 0 0 0))
69(assert_return (invoke "i16x8.min_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
70 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
71 (v128.const i16x8 0 0 0 0 0 0 0 0))
72(assert_return (invoke "i16x8.min_u" (v128.const i16x8 0 0 0 0 -1 -1 -1 -1)
73 (v128.const i16x8 0 0 -1 -1 0 0 -1 -1))
74 (v128.const i16x8 0 0 0 0 0 0 -1 -1))
75(assert_return (invoke "i16x8.min_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
76 (v128.const i16x8 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff))
77 (v128.const i16x8 0 0 0 0 0 0 0 0))
78(assert_return (invoke "i16x8.min_u" (v128.const i16x8 1 1 1 1 1 1 1 1)
79 (v128.const i16x8 1 1 1 1 1 1 1 1))
80 (v128.const i16x8 1 1 1 1 1 1 1 1))
81(assert_return (invoke "i16x8.min_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
82 (v128.const i16x8 1 1 1 1 1 1 1 1))
83 (v128.const i16x8 1 1 1 1 1 1 1 1))
84(assert_return (invoke "i16x8.min_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
85 (v128.const i16x8 128 128 128 128 128 128 128 128))
86 (v128.const i16x8 128 128 128 128 128 128 128 128))
87(assert_return (invoke "i16x8.min_u" (v128.const i16x8 32768 32768 32768 32768 32768 32768 32768 32768)
88 (v128.const i16x8 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768))
89 (v128.const i16x8 32768 32768 32768 32768 32768 32768 32768 32768))
90(assert_return (invoke "i16x8.min_u" (v128.const i16x8 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000)
91 (v128.const i16x8 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768))
92 (v128.const i16x8 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000))
93(assert_return (invoke "i16x8.min_u" (v128.const i16x8 123 123 123 123 123 123 123 123)
94 (v128.const i16x8 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3))
95 (v128.const i16x8 123 123 123 123 123 123 123 123))
96(assert_return (invoke "i16x8.min_u" (v128.const i16x8 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)
97 (v128.const i16x8 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0))
98 (v128.const i16x8 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80))
99(assert_return (invoke "i16x8.max_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
100 (v128.const i16x8 0 0 0 0 0 0 0 0))
101 (v128.const i16x8 0 0 0 0 0 0 0 0))
102(assert_return (invoke "i16x8.max_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
103 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
104 (v128.const i16x8 0 0 0 0 0 0 0 0))
105(assert_return (invoke "i16x8.max_s" (v128.const i16x8 0 0 0 0 -1 -1 -1 -1)
106 (v128.const i16x8 0 0 -1 -1 0 0 -1 -1))
107 (v128.const i16x8 0 0 0 0 0 0 -1 -1))
108(assert_return (invoke "i16x8.max_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
109 (v128.const i16x8 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff))
110 (v128.const i16x8 0 0 0 0 0 0 0 0))
111(assert_return (invoke "i16x8.max_s" (v128.const i16x8 1 1 1 1 1 1 1 1)
112 (v128.const i16x8 1 1 1 1 1 1 1 1))
113 (v128.const i16x8 1 1 1 1 1 1 1 1))
114(assert_return (invoke "i16x8.max_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
115 (v128.const i16x8 1 1 1 1 1 1 1 1))
116 (v128.const i16x8 1 1 1 1 1 1 1 1))
117(assert_return (invoke "i16x8.max_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
118 (v128.const i16x8 128 128 128 128 128 128 128 128))
119 (v128.const i16x8 128 128 128 128 128 128 128 128))
120(assert_return (invoke "i16x8.max_s" (v128.const i16x8 32768 32768 32768 32768 32768 32768 32768 32768)
121 (v128.const i16x8 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768))
122 (v128.const i16x8 32768 32768 32768 32768 32768 32768 32768 32768))
123(assert_return (invoke "i16x8.max_s" (v128.const i16x8 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000)
124 (v128.const i16x8 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768))
125 (v128.const i16x8 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000))
126(assert_return (invoke "i16x8.max_s" (v128.const i16x8 123 123 123 123 123 123 123 123)
127 (v128.const i16x8 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3))
128 (v128.const i16x8 123 123 123 123 123 123 123 123))
129(assert_return (invoke "i16x8.max_s" (v128.const i16x8 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)
130 (v128.const i16x8 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0))
131 (v128.const i16x8 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80))
132(assert_return (invoke "i16x8.max_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
133 (v128.const i16x8 0 0 0 0 0 0 0 0))
134 (v128.const i16x8 0 0 0 0 0 0 0 0))
135(assert_return (invoke "i16x8.max_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
136 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
137 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
138(assert_return (invoke "i16x8.max_u" (v128.const i16x8 0 0 0 0 -1 -1 -1 -1)
139 (v128.const i16x8 0 0 -1 -1 0 0 -1 -1))
140 (v128.const i16x8 0 0 -1 -1 -1 -1 -1 -1))
141(assert_return (invoke "i16x8.max_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
142 (v128.const i16x8 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff))
143 (v128.const i16x8 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff))
144(assert_return (invoke "i16x8.max_u" (v128.const i16x8 1 1 1 1 1 1 1 1)
145 (v128.const i16x8 1 1 1 1 1 1 1 1))
146 (v128.const i16x8 1 1 1 1 1 1 1 1))
147(assert_return (invoke "i16x8.max_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
148 (v128.const i16x8 1 1 1 1 1 1 1 1))
149 (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
150(assert_return (invoke "i16x8.max_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
151 (v128.const i16x8 128 128 128 128 128 128 128 128))
152 (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
153(assert_return (invoke "i16x8.max_u" (v128.const i16x8 32768 32768 32768 32768 32768 32768 32768 32768)
154 (v128.const i16x8 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768))
155 (v128.const i16x8 32768 32768 32768 32768 32768 32768 32768 32768))
156(assert_return (invoke "i16x8.max_u" (v128.const i16x8 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000)
157 (v128.const i16x8 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768))
158 (v128.const i16x8 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000))
159(assert_return (invoke "i16x8.max_u" (v128.const i16x8 123 123 123 123 123 123 123 123)
160 (v128.const i16x8 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3))
161 (v128.const i16x8 123 123 123 123 123 123 123 123))
162(assert_return (invoke "i16x8.max_u" (v128.const i16x8 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)
163 (v128.const i16x8 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0))
164 (v128.const i16x8 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80))
165(assert_return (invoke "i16x8.avgr_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
166 (v128.const i16x8 0 0 0 0 0 0 0 0))
167 (v128.const i16x8 0 0 0 0 0 0 0 0))
168(assert_return (invoke "i16x8.avgr_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
169 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
170 (v128.const i16x8 32768 32768 32768 32768 32768 32768 32768 32768))
171(assert_return (invoke "i16x8.avgr_u" (v128.const i16x8 0 0 0 0 -1 -1 -1 -1)
172 (v128.const i16x8 0 0 -1 -1 0 0 -1 -1))
173 (v128.const i16x8 0 0 32768 32768 32768 32768 65535 65535))
174(assert_return (invoke "i16x8.avgr_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
175 (v128.const i16x8 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff))
176 (v128.const i16x8 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000))
177(assert_return (invoke "i16x8.avgr_u" (v128.const i16x8 1 1 1 1 1 1 1 1)
178 (v128.const i16x8 1 1 1 1 1 1 1 1))
179 (v128.const i16x8 1 1 1 1 1 1 1 1))
180(assert_return (invoke "i16x8.avgr_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
181 (v128.const i16x8 1 1 1 1 1 1 1 1))
182 (v128.const i16x8 32768 32768 32768 32768 32768 32768 32768 32768))
183(assert_return (invoke "i16x8.avgr_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
184 (v128.const i16x8 128 128 128 128 128 128 128 128))
185 (v128.const i16x8 32832 32832 32832 32832 32832 32832 32832 32832))
186(assert_return (invoke "i16x8.avgr_u" (v128.const i16x8 32768 32768 32768 32768 32768 32768 32768 32768)
187 (v128.const i16x8 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768))
188 (v128.const i16x8 32768 32768 32768 32768 32768 32768 32768 32768))
189(assert_return (invoke "i16x8.avgr_u" (v128.const i16x8 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000)
190 (v128.const i16x8 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768))
191 (v128.const i16x8 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000))
192(assert_return (invoke "i16x8.avgr_u" (v128.const i16x8 123 123 123 123 123 123 123 123)
193 (v128.const i16x8 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3))
194 (v128.const i16x8 123 123 123 123 123 123 123 123))
195(assert_return (invoke "i16x8.avgr_u" (v128.const i16x8 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80)
196 (v128.const i16x8 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0))
197 (v128.const i16x8 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80))
198(assert_return (invoke "i16x8.abs" (v128.const i16x8 1 1 1 1 1 1 1 1))
199 (v128.const i16x8 1 1 1 1 1 1 1 1))
200(assert_return (invoke "i16x8.abs" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
201 (v128.const i16x8 1 1 1 1 1 1 1 1))
202(assert_return (invoke "i16x8.abs" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
203 (v128.const i16x8 1 1 1 1 1 1 1 1))
204(assert_return (invoke "i16x8.abs" (v128.const i16x8 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff))
205 (v128.const i16x8 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1))
206(assert_return (invoke "i16x8.abs" (v128.const i16x8 32768 32768 32768 32768 32768 32768 32768 32768))
207 (v128.const i16x8 32768 32768 32768 32768 32768 32768 32768 32768))
208(assert_return (invoke "i16x8.abs" (v128.const i16x8 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768))
209 (v128.const i16x8 32768 32768 32768 32768 32768 32768 32768 32768))
210(assert_return (invoke "i16x8.abs" (v128.const i16x8 -0x8000 -0x8000 -0x8000 -0x8000 -0x8000 -0x8000 -0x8000 -0x8000))
211 (v128.const i16x8 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000))
212(assert_return (invoke "i16x8.abs" (v128.const i16x8 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000))
213 (v128.const i16x8 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000 0x8000))
214(assert_return (invoke "i16x8.abs" (v128.const i16x8 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3))
215 (v128.const i16x8 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3 01_2_3))
216(assert_return (invoke "i16x8.abs" (v128.const i16x8 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3 -01_2_3))
217 (v128.const i16x8 123 123 123 123 123 123 123 123))
218(assert_return (invoke "i16x8.abs" (v128.const i16x8 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80))
219 (v128.const i16x8 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80))
220(assert_return (invoke "i16x8.abs" (v128.const i16x8 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80))
221 (v128.const i16x8 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80))
222(assert_return (invoke "i16x8.abs" (v128.const i16x8 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0))
223 (v128.const i16x8 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0 0x0_8_0))
224(assert_return (invoke "i16x8.abs" (v128.const i16x8 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0 -0x0_8_0))
225 (v128.const i16x8 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80))
226
227;; Const vs const
228(assert_return (invoke "i16x8.min_s_with_const_0") (v128.const i16x8 -32768 -32768 16384 16384 16384 16384 -32768 -32768))
229(assert_return (invoke "i16x8.min_s_with_const_1") (v128.const i16x8 0 0 1 1 1 1 0 0))
230(assert_return (invoke "i16x8.min_u_with_const_2") (v128.const i16x8 -32768 -32768 16384 16384 16384 16384 -32768 -32768))
231(assert_return (invoke "i16x8.min_u_with_const_3") (v128.const i16x8 0 0 1 1 1 1 0 0))
232(assert_return (invoke "i16x8.max_s_with_const_4") (v128.const i16x8 65535 65535 32767 32767 32767 32767 65535 65535))
233(assert_return (invoke "i16x8.max_s_with_const_5") (v128.const i16x8 3 3 2 2 2 2 3 3))
234(assert_return (invoke "i16x8.max_u_with_const_6") (v128.const i16x8 65535 65535 32767 32767 32767 32767 65535 65535))
235(assert_return (invoke "i16x8.max_u_with_const_7") (v128.const i16x8 3 3 2 2 2 2 3 3))
236(assert_return (invoke "i16x8.avgr_u_with_const_8") (v128.const i16x8 49152 49152 24576 24576 24576 24576 49152 49152))
237(assert_return (invoke "i16x8.avgr_u_with_const_9") (v128.const i16x8 2 2 2 2 2 2 2 2))
238(assert_return (invoke "i16x8.abs_with_const_10") (v128.const i16x8 32768 32768 32767 32767 16384 16384 1 1))
239
240;; Param vs const
241(assert_return (invoke "i16x8.min_s_with_const_11" (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768))
242 (v128.const i16x8 -32768 -32768 16384 16384 16384 16384 -32768 -32768))
243(assert_return (invoke "i16x8.min_s_with_const_12" (v128.const i16x8 3 3 2 2 1 1 0 0))
244 (v128.const i16x8 0 0 1 1 1 1 0 0))
245(assert_return (invoke "i16x8.min_u_with_const_13" (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768))
246 (v128.const i16x8 -32768 -32768 16384 16384 16384 16384 -32768 -32768))
247(assert_return (invoke "i16x8.min_u_with_const_14" (v128.const i16x8 3 3 2 2 1 1 0 0))
248 (v128.const i16x8 0 0 1 1 1 1 0 0))
249(assert_return (invoke "i16x8.max_s_with_const_15" (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768))
250 (v128.const i16x8 65535 65535 32767 32767 32767 32767 65535 65535))
251(assert_return (invoke "i16x8.max_s_with_const_16" (v128.const i16x8 3 3 2 2 1 1 0 0))
252 (v128.const i16x8 3 3 2 2 2 2 3 3))
253(assert_return (invoke "i16x8.max_u_with_const_17" (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768))
254 (v128.const i16x8 65535 65535 32767 32767 32767 32767 65535 65535))
255(assert_return (invoke "i16x8.max_u_with_const_18" (v128.const i16x8 3 3 2 2 1 1 0 0))
256 (v128.const i16x8 3 3 2 2 2 2 3 3))
257(assert_return (invoke "i16x8.avgr_u_with_const_19" (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768))
258 (v128.const i16x8 49152 49152 24576 24576 24576 24576 49152 49152))
259(assert_return (invoke "i16x8.avgr_u_with_const_20" (v128.const i16x8 3 3 2 2 1 1 0 0))
260 (v128.const i16x8 2 2 2 2 2 2 2 2))
261
262;; Test different lanes go through different if-then clauses
263(assert_return (invoke "i16x8.min_s" (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535)
264 (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768))
265 (v128.const i16x8 -32768 -32768 16384 16384 16384 16384 -32768 -32768))
266(assert_return (invoke "i16x8.min_s" (v128.const i16x8 0 0 1 1 2 2 128 128)
267 (v128.const i16x8 0 0 2 2 1 1 128 128))
268 (v128.const i16x8 0 0 1 1 1 1 128 128))
269(assert_return (invoke "i16x8.min_u" (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535)
270 (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768))
271 (v128.const i16x8 -32768 -32768 16384 16384 16384 16384 -32768 -32768))
272(assert_return (invoke "i16x8.min_u" (v128.const i16x8 0 0 1 1 2 2 128 128)
273 (v128.const i16x8 0 0 2 2 1 1 128 128))
274 (v128.const i16x8 0 0 1 1 1 1 128 128))
275(assert_return (invoke "i16x8.max_s" (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535)
276 (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768))
277 (v128.const i16x8 65535 65535 32767 32767 32767 32767 65535 65535))
278(assert_return (invoke "i16x8.max_s" (v128.const i16x8 0 0 1 1 2 2 128 128)
279 (v128.const i16x8 0 0 2 2 1 1 128 128))
280 (v128.const i16x8 0 0 2 2 2 2 128 128))
281(assert_return (invoke "i16x8.max_u" (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535)
282 (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768))
283 (v128.const i16x8 65535 65535 32767 32767 32767 32767 65535 65535))
284(assert_return (invoke "i16x8.max_u" (v128.const i16x8 0 0 1 1 2 2 128 128)
285 (v128.const i16x8 0 0 2 2 1 1 128 128))
286 (v128.const i16x8 0 0 2 2 2 2 128 128))
287(assert_return (invoke "i16x8.avgr_u" (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535)
288 (v128.const i16x8 65535 65535 16384 16384 32767 32767 -32768 -32768))
289 (v128.const i16x8 49152 49152 24576 24576 24576 24576 49152 49152))
290(assert_return (invoke "i16x8.avgr_u" (v128.const i16x8 0 0 1 1 2 2 128 128)
291 (v128.const i16x8 0 0 2 2 1 1 128 128))
292 (v128.const i16x8 0 0 2 2 2 2 128 128))
293(assert_return (invoke "i16x8.abs" (v128.const i16x8 -32768 -32768 32767 32767 16384 16384 65535 65535))
294 (v128.const i16x8 32768 32768 32767 32767 16384 16384 1 1))
295
296;; Test opposite signs of zero
297(assert_return (invoke "i16x8.min_s" (v128.const i16x8 -0 -0 -0 -0 +0 +0 +0 +0)
298 (v128.const i16x8 +0 +0 0 0 -0 -0 0 0))
299 (v128.const i16x8 -0 -0 -0 -0 +0 +0 +0 +0))
300(assert_return (invoke "i16x8.min_s" (v128.const i16x8 -0 -0 -0 -0 -0 -0 -0 -0)
301 (v128.const i16x8 +0 +0 +0 +0 +0 +0 +0 +0))
302 (v128.const i16x8 -0 -0 -0 -0 -0 -0 -0 -0))
303(assert_return (invoke "i16x8.min_u" (v128.const i16x8 -0 -0 -0 -0 +0 +0 +0 +0)
304 (v128.const i16x8 +0 +0 0 0 -0 -0 0 0))
305 (v128.const i16x8 -0 -0 -0 -0 +0 +0 +0 +0))
306(assert_return (invoke "i16x8.min_u" (v128.const i16x8 -0 -0 -0 -0 -0 -0 -0 -0)
307 (v128.const i16x8 +0 +0 +0 +0 +0 +0 +0 +0))
308 (v128.const i16x8 -0 -0 -0 -0 -0 -0 -0 -0))
309(assert_return (invoke "i16x8.max_s" (v128.const i16x8 -0 -0 -0 -0 +0 +0 +0 +0)
310 (v128.const i16x8 +0 +0 0 0 -0 -0 0 0))
311 (v128.const i16x8 -0 -0 -0 -0 +0 +0 +0 +0))
312(assert_return (invoke "i16x8.max_s" (v128.const i16x8 -0 -0 -0 -0 -0 -0 -0 -0)
313 (v128.const i16x8 +0 +0 +0 +0 +0 +0 +0 +0))
314 (v128.const i16x8 -0 -0 -0 -0 -0 -0 -0 -0))
315(assert_return (invoke "i16x8.max_u" (v128.const i16x8 -0 -0 -0 -0 +0 +0 +0 +0)
316 (v128.const i16x8 +0 +0 0 0 -0 -0 0 0))
317 (v128.const i16x8 -0 -0 -0 -0 +0 +0 +0 +0))
318(assert_return (invoke "i16x8.max_u" (v128.const i16x8 -0 -0 -0 -0 -0 -0 -0 -0)
319 (v128.const i16x8 +0 +0 +0 +0 +0 +0 +0 +0))
320 (v128.const i16x8 -0 -0 -0 -0 -0 -0 -0 -0))
321(assert_return (invoke "i16x8.avgr_u" (v128.const i16x8 -0 -0 -0 -0 +0 +0 +0 +0)
322 (v128.const i16x8 +0 +0 0 0 -0 -0 0 0))
323 (v128.const i16x8 0 0 0 0 0 0 0 0))
324(assert_return (invoke "i16x8.avgr_u" (v128.const i16x8 -0 -0 -0 -0 -0 -0 -0 -0)
325 (v128.const i16x8 +0 +0 +0 +0 +0 +0 +0 +0))
326 (v128.const i16x8 0 0 0 0 0 0 0 0))
327(assert_return (invoke "i16x8.abs" (v128.const i16x8 -0 -0 -0 -0 +0 +0 +0 +0))
328 (v128.const i16x8 -0 -0 -0 -0 +0 +0 +0 +0))
329(assert_return (invoke "i16x8.abs" (v128.const i16x8 +0 +0 0 0 -0 -0 0 0))
330 (v128.const i16x8 +0 +0 0 0 -0 -0 0 0))
331(assert_return (invoke "i16x8.abs" (v128.const i16x8 -0 -0 -0 -0 -0 -0 -0 -0))
332 (v128.const i16x8 -0 -0 -0 -0 -0 -0 -0 -0))
333(assert_return (invoke "i16x8.abs" (v128.const i16x8 +0 +0 +0 +0 +0 +0 +0 +0))
334 (v128.const i16x8 +0 +0 +0 +0 +0 +0 +0 +0))
335
336;; Unknown operators
337(assert_malformed (module quote "(memory 1) (func (result v128) (i16x8.avgr (v128.const i16x8 0 0 0 0 0 0 0 0) (v128.const i16x8 1 1 1 1 1 1 1 1)))") "unknown operator")
338(assert_malformed (module quote "(memory 1) (func (result v128) (i16x8.avgr_s (v128.const i16x8 0 0 0 0 0 0 0 0) (v128.const i16x8 1 1 1 1 1 1 1 1)))") "unknown operator")
339
340;; Type check
341(assert_invalid (module (func (result v128) (i16x8.min_s (i32.const 0) (f32.const 0.0)))) "type mismatch")
342(assert_invalid (module (func (result v128) (i16x8.min_u (i32.const 0) (f32.const 0.0)))) "type mismatch")
343(assert_invalid (module (func (result v128) (i16x8.max_s (i32.const 0) (f32.const 0.0)))) "type mismatch")
344(assert_invalid (module (func (result v128) (i16x8.max_u (i32.const 0) (f32.const 0.0)))) "type mismatch")
345(assert_invalid (module (func (result v128) (i16x8.avgr_u (i32.const 0) (f32.const 0.0)))) "type mismatch")
346(assert_invalid (module (func (result v128) (i16x8.abs (f32.const 0.0)))) "type mismatch")
347
348;; Test operation with empty argument
349
350(assert_invalid
351 (module
352 (func $i16x8.min_s-1st-arg-empty (result v128)
353 (i16x8.min_s (v128.const i16x8 0 0 0 0 0 0 0 0))
354 )
355 )
356 "type mismatch"
357)
358(assert_invalid
359 (module
360 (func $i16x8.min_s-arg-empty (result v128)
361 (i16x8.min_s)
362 )
363 )
364 "type mismatch"
365)
366(assert_invalid
367 (module
368 (func $i16x8.min_u-1st-arg-empty (result v128)
369 (i16x8.min_u (v128.const i16x8 0 0 0 0 0 0 0 0))
370 )
371 )
372 "type mismatch"
373)
374(assert_invalid
375 (module
376 (func $i16x8.min_u-arg-empty (result v128)
377 (i16x8.min_u)
378 )
379 )
380 "type mismatch"
381)
382(assert_invalid
383 (module
384 (func $i16x8.max_s-1st-arg-empty (result v128)
385 (i16x8.max_s (v128.const i16x8 0 0 0 0 0 0 0 0))
386 )
387 )
388 "type mismatch"
389)
390(assert_invalid
391 (module
392 (func $i16x8.max_s-arg-empty (result v128)
393 (i16x8.max_s)
394 )
395 )
396 "type mismatch"
397)
398(assert_invalid
399 (module
400 (func $i16x8.max_u-1st-arg-empty (result v128)
401 (i16x8.max_u (v128.const i16x8 0 0 0 0 0 0 0 0))
402 )
403 )
404 "type mismatch"
405)
406(assert_invalid
407 (module
408 (func $i16x8.max_u-arg-empty (result v128)
409 (i16x8.max_u)
410 )
411 )
412 "type mismatch"
413)
414(assert_invalid
415 (module
416 (func $i16x8.avgr_u-1st-arg-empty (result v128)
417 (i16x8.avgr_u (v128.const i16x8 0 0 0 0 0 0 0 0))
418 )
419 )
420 "type mismatch"
421)
422(assert_invalid
423 (module
424 (func $i16x8.avgr_u-arg-empty (result v128)
425 (i16x8.avgr_u)
426 )
427 )
428 "type mismatch"
429)
430(assert_invalid
431 (module
432 (func $i16x8.abs-arg-empty (result v128)
433 (i16x8.abs)
434 )
435 )
436 "type mismatch"
437)
438
439;; Combination
440(module
441 (func (export "i16x8.min_s-i16x8.avgr_u") (param v128 v128 v128) (result v128) (i16x8.min_s (i16x8.avgr_u (local.get 0) (local.get 1))(local.get 2)))
442 (func (export "i16x8.min_s-i16x8.max_u") (param v128 v128 v128) (result v128) (i16x8.min_s (i16x8.max_u (local.get 0) (local.get 1))(local.get 2)))
443 (func (export "i16x8.min_s-i16x8.max_s") (param v128 v128 v128) (result v128) (i16x8.min_s (i16x8.max_s (local.get 0) (local.get 1))(local.get 2)))
444 (func (export "i16x8.min_s-i16x8.min_u") (param v128 v128 v128) (result v128) (i16x8.min_s (i16x8.min_u (local.get 0) (local.get 1))(local.get 2)))
445 (func (export "i16x8.min_s-i16x8.min_s") (param v128 v128 v128) (result v128) (i16x8.min_s (i16x8.min_s (local.get 0) (local.get 1))(local.get 2)))
446 (func (export "i16x8.min_s-i16x8.abs") (param v128 v128) (result v128) (i16x8.min_s (i16x8.abs (local.get 0))(local.get 1)))
447 (func (export "i16x8.abs-i16x8.min_s") (param v128 v128) (result v128) (i16x8.abs (i16x8.min_s (local.get 0) (local.get 1))))
448 (func (export "i16x8.min_u-i16x8.avgr_u") (param v128 v128 v128) (result v128) (i16x8.min_u (i16x8.avgr_u (local.get 0) (local.get 1))(local.get 2)))
449 (func (export "i16x8.min_u-i16x8.max_u") (param v128 v128 v128) (result v128) (i16x8.min_u (i16x8.max_u (local.get 0) (local.get 1))(local.get 2)))
450 (func (export "i16x8.min_u-i16x8.max_s") (param v128 v128 v128) (result v128) (i16x8.min_u (i16x8.max_s (local.get 0) (local.get 1))(local.get 2)))
451 (func (export "i16x8.min_u-i16x8.min_u") (param v128 v128 v128) (result v128) (i16x8.min_u (i16x8.min_u (local.get 0) (local.get 1))(local.get 2)))
452 (func (export "i16x8.min_u-i16x8.min_s") (param v128 v128 v128) (result v128) (i16x8.min_u (i16x8.min_s (local.get 0) (local.get 1))(local.get 2)))
453 (func (export "i16x8.min_u-i16x8.abs") (param v128 v128) (result v128) (i16x8.min_u (i16x8.abs (local.get 0))(local.get 1)))
454 (func (export "i16x8.abs-i16x8.min_u") (param v128 v128) (result v128) (i16x8.abs (i16x8.min_u (local.get 0) (local.get 1))))
455 (func (export "i16x8.max_s-i16x8.avgr_u") (param v128 v128 v128) (result v128) (i16x8.max_s (i16x8.avgr_u (local.get 0) (local.get 1))(local.get 2)))
456 (func (export "i16x8.max_s-i16x8.max_u") (param v128 v128 v128) (result v128) (i16x8.max_s (i16x8.max_u (local.get 0) (local.get 1))(local.get 2)))
457 (func (export "i16x8.max_s-i16x8.max_s") (param v128 v128 v128) (result v128) (i16x8.max_s (i16x8.max_s (local.get 0) (local.get 1))(local.get 2)))
458 (func (export "i16x8.max_s-i16x8.min_u") (param v128 v128 v128) (result v128) (i16x8.max_s (i16x8.min_u (local.get 0) (local.get 1))(local.get 2)))
459 (func (export "i16x8.max_s-i16x8.min_s") (param v128 v128 v128) (result v128) (i16x8.max_s (i16x8.min_s (local.get 0) (local.get 1))(local.get 2)))
460 (func (export "i16x8.max_s-i16x8.abs") (param v128 v128) (result v128) (i16x8.max_s (i16x8.abs (local.get 0))(local.get 1)))
461 (func (export "i16x8.abs-i16x8.max_s") (param v128 v128) (result v128) (i16x8.abs (i16x8.max_s (local.get 0) (local.get 1))))
462 (func (export "i16x8.max_u-i16x8.avgr_u") (param v128 v128 v128) (result v128) (i16x8.max_u (i16x8.avgr_u (local.get 0) (local.get 1))(local.get 2)))
463 (func (export "i16x8.max_u-i16x8.max_u") (param v128 v128 v128) (result v128) (i16x8.max_u (i16x8.max_u (local.get 0) (local.get 1))(local.get 2)))
464 (func (export "i16x8.max_u-i16x8.max_s") (param v128 v128 v128) (result v128) (i16x8.max_u (i16x8.max_s (local.get 0) (local.get 1))(local.get 2)))
465 (func (export "i16x8.max_u-i16x8.min_u") (param v128 v128 v128) (result v128) (i16x8.max_u (i16x8.min_u (local.get 0) (local.get 1))(local.get 2)))
466 (func (export "i16x8.max_u-i16x8.min_s") (param v128 v128 v128) (result v128) (i16x8.max_u (i16x8.min_s (local.get 0) (local.get 1))(local.get 2)))
467 (func (export "i16x8.max_u-i16x8.abs") (param v128 v128) (result v128) (i16x8.max_u (i16x8.abs (local.get 0))(local.get 1)))
468 (func (export "i16x8.abs-i16x8.max_u") (param v128 v128) (result v128) (i16x8.abs (i16x8.max_u (local.get 0) (local.get 1))))
469 (func (export "i16x8.avgr_u-i16x8.avgr_u") (param v128 v128 v128) (result v128) (i16x8.avgr_u (i16x8.avgr_u (local.get 0) (local.get 1))(local.get 2)))
470 (func (export "i16x8.avgr_u-i16x8.max_u") (param v128 v128 v128) (result v128) (i16x8.avgr_u (i16x8.max_u (local.get 0) (local.get 1))(local.get 2)))
471 (func (export "i16x8.avgr_u-i16x8.max_s") (param v128 v128 v128) (result v128) (i16x8.avgr_u (i16x8.max_s (local.get 0) (local.get 1))(local.get 2)))
472 (func (export "i16x8.avgr_u-i16x8.min_u") (param v128 v128 v128) (result v128) (i16x8.avgr_u (i16x8.min_u (local.get 0) (local.get 1))(local.get 2)))
473 (func (export "i16x8.avgr_u-i16x8.min_s") (param v128 v128 v128) (result v128) (i16x8.avgr_u (i16x8.min_s (local.get 0) (local.get 1))(local.get 2)))
474 (func (export "i16x8.avgr_u-i16x8.abs") (param v128 v128) (result v128) (i16x8.avgr_u (i16x8.abs (local.get 0))(local.get 1)))
475 (func (export "i16x8.abs-i16x8.avgr_u") (param v128 v128) (result v128) (i16x8.abs (i16x8.avgr_u (local.get 0) (local.get 1))))
476 (func (export "i16x8.abs-i16x8.abs") (param v128) (result v128) (i16x8.abs (i16x8.abs (local.get 0))))
477)
478
479(assert_return (invoke "i16x8.min_s-i16x8.avgr_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
480 (v128.const i16x8 1 1 1 1 1 1 1 1)
481 (v128.const i16x8 2 2 2 2 2 2 2 2))
482 (v128.const i16x8 1 1 1 1 1 1 1 1))
483(assert_return (invoke "i16x8.min_s-i16x8.max_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
484 (v128.const i16x8 1 1 1 1 1 1 1 1)
485 (v128.const i16x8 2 2 2 2 2 2 2 2))
486 (v128.const i16x8 1 1 1 1 1 1 1 1))
487(assert_return (invoke "i16x8.min_s-i16x8.max_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
488 (v128.const i16x8 1 1 1 1 1 1 1 1)
489 (v128.const i16x8 2 2 2 2 2 2 2 2))
490 (v128.const i16x8 1 1 1 1 1 1 1 1))
491(assert_return (invoke "i16x8.min_s-i16x8.min_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
492 (v128.const i16x8 1 1 1 1 1 1 1 1)
493 (v128.const i16x8 2 2 2 2 2 2 2 2))
494 (v128.const i16x8 0 0 0 0 0 0 0 0))
495(assert_return (invoke "i16x8.min_s-i16x8.min_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
496 (v128.const i16x8 1 1 1 1 1 1 1 1)
497 (v128.const i16x8 2 2 2 2 2 2 2 2))
498 (v128.const i16x8 0 0 0 0 0 0 0 0))
499(assert_return (invoke "i16x8.min_s-i16x8.abs" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)
500 (v128.const i16x8 0 0 0 0 0 0 0 0))
501 (v128.const i16x8 0 0 0 0 0 0 0 0))
502(assert_return (invoke "i16x8.abs-i16x8.min_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
503 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
504 (v128.const i16x8 1 1 1 1 1 1 1 1))
505(assert_return (invoke "i16x8.min_u-i16x8.avgr_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
506 (v128.const i16x8 1 1 1 1 1 1 1 1)
507 (v128.const i16x8 2 2 2 2 2 2 2 2))
508 (v128.const i16x8 1 1 1 1 1 1 1 1))
509(assert_return (invoke "i16x8.min_u-i16x8.max_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
510 (v128.const i16x8 1 1 1 1 1 1 1 1)
511 (v128.const i16x8 2 2 2 2 2 2 2 2))
512 (v128.const i16x8 1 1 1 1 1 1 1 1))
513(assert_return (invoke "i16x8.min_u-i16x8.max_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
514 (v128.const i16x8 1 1 1 1 1 1 1 1)
515 (v128.const i16x8 2 2 2 2 2 2 2 2))
516 (v128.const i16x8 1 1 1 1 1 1 1 1))
517(assert_return (invoke "i16x8.min_u-i16x8.min_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
518 (v128.const i16x8 1 1 1 1 1 1 1 1)
519 (v128.const i16x8 2 2 2 2 2 2 2 2))
520 (v128.const i16x8 0 0 0 0 0 0 0 0))
521(assert_return (invoke "i16x8.min_u-i16x8.min_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
522 (v128.const i16x8 1 1 1 1 1 1 1 1)
523 (v128.const i16x8 2 2 2 2 2 2 2 2))
524 (v128.const i16x8 0 0 0 0 0 0 0 0))
525(assert_return (invoke "i16x8.min_u-i16x8.abs" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)
526 (v128.const i16x8 0 0 0 0 0 0 0 0))
527 (v128.const i16x8 0 0 0 0 0 0 0 0))
528(assert_return (invoke "i16x8.abs-i16x8.min_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
529 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
530 (v128.const i16x8 0 0 0 0 0 0 0 0))
531(assert_return (invoke "i16x8.max_s-i16x8.avgr_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
532 (v128.const i16x8 1 1 1 1 1 1 1 1)
533 (v128.const i16x8 2 2 2 2 2 2 2 2))
534 (v128.const i16x8 2 2 2 2 2 2 2 2))
535(assert_return (invoke "i16x8.max_s-i16x8.max_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
536 (v128.const i16x8 1 1 1 1 1 1 1 1)
537 (v128.const i16x8 2 2 2 2 2 2 2 2))
538 (v128.const i16x8 2 2 2 2 2 2 2 2))
539(assert_return (invoke "i16x8.max_s-i16x8.max_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
540 (v128.const i16x8 1 1 1 1 1 1 1 1)
541 (v128.const i16x8 2 2 2 2 2 2 2 2))
542 (v128.const i16x8 2 2 2 2 2 2 2 2))
543(assert_return (invoke "i16x8.max_s-i16x8.min_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
544 (v128.const i16x8 1 1 1 1 1 1 1 1)
545 (v128.const i16x8 2 2 2 2 2 2 2 2))
546 (v128.const i16x8 2 2 2 2 2 2 2 2))
547(assert_return (invoke "i16x8.max_s-i16x8.min_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
548 (v128.const i16x8 1 1 1 1 1 1 1 1)
549 (v128.const i16x8 2 2 2 2 2 2 2 2))
550 (v128.const i16x8 2 2 2 2 2 2 2 2))
551(assert_return (invoke "i16x8.max_s-i16x8.abs" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)
552 (v128.const i16x8 0 0 0 0 0 0 0 0))
553 (v128.const i16x8 1 1 1 1 1 1 1 1))
554(assert_return (invoke "i16x8.abs-i16x8.max_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
555 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
556 (v128.const i16x8 0 0 0 0 0 0 0 0))
557(assert_return (invoke "i16x8.max_u-i16x8.avgr_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
558 (v128.const i16x8 1 1 1 1 1 1 1 1)
559 (v128.const i16x8 2 2 2 2 2 2 2 2))
560 (v128.const i16x8 2 2 2 2 2 2 2 2))
561(assert_return (invoke "i16x8.max_u-i16x8.max_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
562 (v128.const i16x8 1 1 1 1 1 1 1 1)
563 (v128.const i16x8 2 2 2 2 2 2 2 2))
564 (v128.const i16x8 2 2 2 2 2 2 2 2))
565(assert_return (invoke "i16x8.max_u-i16x8.max_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
566 (v128.const i16x8 1 1 1 1 1 1 1 1)
567 (v128.const i16x8 2 2 2 2 2 2 2 2))
568 (v128.const i16x8 2 2 2 2 2 2 2 2))
569(assert_return (invoke "i16x8.max_u-i16x8.min_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
570 (v128.const i16x8 1 1 1 1 1 1 1 1)
571 (v128.const i16x8 2 2 2 2 2 2 2 2))
572 (v128.const i16x8 2 2 2 2 2 2 2 2))
573(assert_return (invoke "i16x8.max_u-i16x8.min_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
574 (v128.const i16x8 1 1 1 1 1 1 1 1)
575 (v128.const i16x8 2 2 2 2 2 2 2 2))
576 (v128.const i16x8 2 2 2 2 2 2 2 2))
577(assert_return (invoke "i16x8.max_u-i16x8.abs" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)
578 (v128.const i16x8 0 0 0 0 0 0 0 0))
579 (v128.const i16x8 1 1 1 1 1 1 1 1))
580(assert_return (invoke "i16x8.abs-i16x8.max_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
581 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
582 (v128.const i16x8 1 1 1 1 1 1 1 1))
583(assert_return (invoke "i16x8.avgr_u-i16x8.avgr_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
584 (v128.const i16x8 1 1 1 1 1 1 1 1)
585 (v128.const i16x8 2 2 2 2 2 2 2 2))
586 (v128.const i16x8 2 2 2 2 2 2 2 2))
587(assert_return (invoke "i16x8.avgr_u-i16x8.max_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
588 (v128.const i16x8 1 1 1 1 1 1 1 1)
589 (v128.const i16x8 2 2 2 2 2 2 2 2))
590 (v128.const i16x8 2 2 2 2 2 2 2 2))
591(assert_return (invoke "i16x8.avgr_u-i16x8.max_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
592 (v128.const i16x8 1 1 1 1 1 1 1 1)
593 (v128.const i16x8 2 2 2 2 2 2 2 2))
594 (v128.const i16x8 2 2 2 2 2 2 2 2))
595(assert_return (invoke "i16x8.avgr_u-i16x8.min_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
596 (v128.const i16x8 1 1 1 1 1 1 1 1)
597 (v128.const i16x8 2 2 2 2 2 2 2 2))
598 (v128.const i16x8 1 1 1 1 1 1 1 1))
599(assert_return (invoke "i16x8.avgr_u-i16x8.min_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
600 (v128.const i16x8 1 1 1 1 1 1 1 1)
601 (v128.const i16x8 2 2 2 2 2 2 2 2))
602 (v128.const i16x8 1 1 1 1 1 1 1 1))
603(assert_return (invoke "i16x8.avgr_u-i16x8.abs" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)
604 (v128.const i16x8 0 0 0 0 0 0 0 0))
605 (v128.const i16x8 1 1 1 1 1 1 1 1))
606(assert_return (invoke "i16x8.abs-i16x8.avgr_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
607 (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
608 (v128.const i16x8 32768 32768 32768 32768 32768 32768 32768 32768))
609(assert_return (invoke "i16x8.abs-i16x8.abs" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
610 (v128.const i16x8 1 1 1 1 1 1 1 1))
View as plain text