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