...
1
2;; Test all the i32x4 comparison operators on major boundary values and all special values.
3
4(module
5 (func (export "eq") (param $x v128) (param $y v128) (result v128) (i32x4.eq (local.get $x) (local.get $y)))
6 (func (export "ne") (param $x v128) (param $y v128) (result v128) (i32x4.ne (local.get $x) (local.get $y)))
7 (func (export "lt_s") (param $x v128) (param $y v128) (result v128) (i32x4.lt_s (local.get $x) (local.get $y)))
8 (func (export "lt_u") (param $x v128) (param $y v128) (result v128) (i32x4.lt_u (local.get $x) (local.get $y)))
9 (func (export "le_s") (param $x v128) (param $y v128) (result v128) (i32x4.le_s (local.get $x) (local.get $y)))
10 (func (export "le_u") (param $x v128) (param $y v128) (result v128) (i32x4.le_u (local.get $x) (local.get $y)))
11 (func (export "gt_s") (param $x v128) (param $y v128) (result v128) (i32x4.gt_s (local.get $x) (local.get $y)))
12 (func (export "gt_u") (param $x v128) (param $y v128) (result v128) (i32x4.gt_u (local.get $x) (local.get $y)))
13 (func (export "ge_s") (param $x v128) (param $y v128) (result v128) (i32x4.ge_s (local.get $x) (local.get $y)))
14 (func (export "ge_u") (param $x v128) (param $y v128) (result v128) (i32x4.ge_u (local.get $x) (local.get $y)))
15)
16
17
18;; eq
19
20;; i32x4.eq (i32x4) (i32x4)
21
22;; hex vs hex
23(assert_return (invoke "eq" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
24 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
25 (v128.const i32x4 -1 -1 -1 -1))
26(assert_return (invoke "eq" (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)
27 (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000))
28 (v128.const i32x4 -1 -1 -1 -1))
29(assert_return (invoke "eq" (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0)
30 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
31 (v128.const i32x4 -1 -1 -1 -1))
32(assert_return (invoke "eq" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
33 (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F))
34 (v128.const i32x4 -1 -1 -1 -1))
35(assert_return (invoke "eq" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000)
36 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
37 (v128.const i32x4 -1 -1 -1 -1))
38(assert_return (invoke "eq" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
39 (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF))
40 (v128.const i32x4 -1 -1 -1 -1))
41(assert_return (invoke "eq" (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B)
42 (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B))
43 (v128.const i32x4 -1 -1 -1 -1))
44
45;; hex vs dec
46(assert_return (invoke "eq" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
47 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
48 (v128.const i32x4 -1 -1 -1 -1))
49(assert_return (invoke "eq" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
50 (v128.const i32x4 -1 -1 -1 -1))
51 (v128.const i32x4 -1 -1 -1 -1))
52(assert_return (invoke "eq" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
53 (v128.const i32x4 2155905152 2155905152 2155905152 2155905152))
54 (v128.const i32x4 -1 -1 -1 -1))
55(assert_return (invoke "eq" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
56 (v128.const i32x4 -2139062144 -2139062144 -2139062144 -2139062144))
57 (v128.const i32x4 -1 -1 -1 -1))
58(assert_return (invoke "eq" (v128.const i32x4 0x83828180 0x00FFFEFD 0x7F020100 0xFFFEFD80)
59 (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
60 (v128.const i32x4 -1 -1 -1 -1))
61
62;; dec vs dec
63(assert_return (invoke "eq" (v128.const i32x4 -1 -1 -1 -1)
64 (v128.const i32x4 -1 -1 -1 -1))
65 (v128.const i32x4 -1 -1 -1 -1))
66(assert_return (invoke "eq" (v128.const i32x4 0 0 0 0)
67 (v128.const i32x4 0 0 0 0))
68 (v128.const i32x4 -1 -1 -1 -1))
69(assert_return (invoke "eq" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
70 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
71 (v128.const i32x4 -1 -1 -1 -1))
72(assert_return (invoke "eq" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
73 (v128.const i32x4 -1 -1 -1 -1))
74 (v128.const i32x4 -1 -1 -1 -1))
75(assert_return (invoke "eq" (v128.const i32x4 4294967295 4294967295 0 0)
76 (v128.const i32x4 4294967295 4294967295 0 0))
77 (v128.const i32x4 -1 -1 -1 -1))
78(assert_return (invoke "eq" (v128.const i32x4 0 0 4294967295 4294967295)
79 (v128.const i32x4 0 0 4294967295 4294967295))
80 (v128.const i32x4 -1 -1 -1 -1))
81(assert_return (invoke "eq" (v128.const i32x4 -2147483647 4294967295 0 -1)
82 (v128.const i32x4 2147483649 -1 0 -1))
83 (v128.const i32x4 -1 -1 -1 -1))
84
85;; hex vs float
86(assert_return (invoke "eq" (v128.const i32x4 0xc3000000 0xc2fe0000 0xbf800000 0x00000000)
87 (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
88 (v128.const i32x4 -1 -1 -1 -1))
89(assert_return (invoke "eq" (v128.const i32x4 0x3f800000 0x42fe0000 0x43000000 0x437f0000)
90 (v128.const f32x4 1.0 127.0 128.0 255.0))
91 (v128.const i32x4 -1 -1 -1 -1))
92
93;; not equal
94(assert_return (invoke "eq" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
95 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
96 (v128.const i32x4 0 0 0 0))
97(assert_return (invoke "eq" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
98 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
99 (v128.const i32x4 0 0 0 0))
100(assert_return (invoke "eq" (v128.const i32x4 0x02030001 0x10110409 0x0B1A120A 0xABFF1BAA)
101 (v128.const i32x4 0xAA1BFFAB 0x0A121A0B 0x09041110 0x01000302))
102 (v128.const i32x4 0 0 0 0))
103(assert_return (invoke "eq" (v128.const i32x4 0x80018000 0x80038002 0x80058004 0x80078006)
104 (v128.const i32x4 2147975174 2147844100 2147713026 2147581952))
105 (v128.const i32x4 0 0 0 0))
106(assert_return (invoke "eq" (v128.const i32x4 2147483648 2147483647 0 -1)
107 (v128.const i32x4 -2147483648 -2147483647 -1 0))
108 (v128.const i32x4 -1 0 0 0))
109
110;; i32x4.eq (i32x4) (i8x16)
111(assert_return (invoke "eq" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
112 (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
113 (v128.const i32x4 -1 -1 -1 -1))
114(assert_return (invoke "eq" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
115 (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
116 (v128.const i32x4 -1 -1 -1 -1))
117(assert_return (invoke "eq" (v128.const i32x4 0 0 0 0)
118 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
119 (v128.const i32x4 -1 -1 -1 -1))
120(assert_return (invoke "eq" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
121 (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
122 (v128.const i32x4 -1 -1 -1 -1))
123(assert_return (invoke "eq" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
124 (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
125 (v128.const i32x4 -1 -1 -1 -1))
126(assert_return (invoke "eq" (v128.const i32x4 -8323200 0 1 4294967295)
127 (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
128 (v128.const i32x4 0 -1 0 -1))
129(assert_return (invoke "eq" (v128.const i32x4 0x55555555 0x55555555 0x55555555 0x55555555)
130 (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA))
131 (v128.const i32x4 0 0 0 0))
132
133;; i32x4.eq (i32x4) (i16x8)
134(assert_return (invoke "eq" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
135 (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
136 (v128.const i32x4 -1 -1 -1 -1))
137(assert_return (invoke "eq" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
138 (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
139 (v128.const i32x4 -1 -1 -1 -1))
140(assert_return (invoke "eq" (v128.const i32x4 0 0 0 0)
141 (v128.const i16x8 0 0 0 0 0 0 0 0))
142 (v128.const i32x4 -1 -1 -1 -1))
143(assert_return (invoke "eq" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
144 (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E))
145 (v128.const i32x4 -1 -1 -1 -1))
146(assert_return (invoke "eq" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
147 (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
148 (v128.const i32x4 -1 -1 -1 -1))
149(assert_return (invoke "eq" (v128.const i32x4 4294967295 0 1 65535)
150 (v128.const i16x8 65535 65535 0 0 1 0 65535 65535))
151 (v128.const i32x4 -1 -1 -1 0))
152(assert_return (invoke "eq" (v128.const i32x4 0x55555555 0x55555555 0x55555555 0x55555555)
153 (v128.const i16x8 0xAAAA 0xAAAA 0xAAAA 0xAAAA 0xAAAA 0xAAAA 0xAAAA 0xAAAA))
154 (v128.const i32x4 0 0 0 0))
155(assert_return (invoke "eq" (v128.const i32x4 0_123_456_789 0_123_456_789 0_123_456_789 0_123_456_789)
156 (v128.const i32x4 123456789 123456789 123456789 123456789))
157 (v128.const i32x4 -1 -1 -1 -1))
158(assert_return (invoke "eq" (v128.const i32x4 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678)
159 (v128.const i32x4 0x12345678 0x12345678 0x12345678 0x12345678))
160 (v128.const i32x4 -1 -1 -1 -1))
161
162;; ne
163
164;; i32x4.ne (i32x4) (i32x4)
165
166;; hex vs hex
167(assert_return (invoke "ne" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
168 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
169 (v128.const i32x4 0 0 0 0))
170(assert_return (invoke "ne" (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)
171 (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000))
172 (v128.const i32x4 0 0 0 0))
173(assert_return (invoke "ne" (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0)
174 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
175 (v128.const i32x4 0 0 0 0))
176(assert_return (invoke "ne" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
177 (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F))
178 (v128.const i32x4 0 0 0 0))
179(assert_return (invoke "ne" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000)
180 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
181 (v128.const i32x4 0 0 0 0))
182(assert_return (invoke "ne" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
183 (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF))
184 (v128.const i32x4 0 0 0 0))
185(assert_return (invoke "ne" (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B)
186 (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B))
187 (v128.const i32x4 0 0 0 0))
188
189;; hex vs dec
190(assert_return (invoke "ne" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
191 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
192 (v128.const i32x4 0 0 0 0))
193(assert_return (invoke "ne" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
194 (v128.const i32x4 -1 -1 -1 -1))
195 (v128.const i32x4 0 0 0 0))
196(assert_return (invoke "ne" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
197 (v128.const i32x4 2155905152 2155905152 2155905152 2155905152))
198 (v128.const i32x4 0 0 0 0))
199(assert_return (invoke "ne" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
200 (v128.const i32x4 -2139062144 -2139062144 -2139062144 -2139062144))
201 (v128.const i32x4 0 0 0 0))
202(assert_return (invoke "ne" (v128.const i32x4 0x83828180 0x00FFFEFD 0x7F020100 0xFFFEFD80)
203 (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
204 (v128.const i32x4 0 0 0 0))
205
206;; dec vs dec
207(assert_return (invoke "ne" (v128.const i32x4 -1 -1 -1 -1)
208 (v128.const i32x4 -1 -1 -1 -1))
209 (v128.const i32x4 0 0 0 0))
210(assert_return (invoke "ne" (v128.const i32x4 0 0 0 0)
211 (v128.const i32x4 0 0 0 0))
212 (v128.const i32x4 0 0 0 0))
213(assert_return (invoke "ne" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
214 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
215 (v128.const i32x4 0 0 0 0))
216(assert_return (invoke "ne" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
217 (v128.const i32x4 -1 -1 -1 -1))
218 (v128.const i32x4 0 0 0 0))
219(assert_return (invoke "ne" (v128.const i32x4 4294967295 4294967295 0 0)
220 (v128.const i32x4 4294967295 4294967295 0 0))
221 (v128.const i32x4 0 0 0 0))
222(assert_return (invoke "ne" (v128.const i32x4 0 0 4294967295 4294967295)
223 (v128.const i32x4 0 0 4294967295 4294967295))
224 (v128.const i32x4 0 0 0 0))
225(assert_return (invoke "ne" (v128.const i32x4 -2147483647 4294967295 0 -1)
226 (v128.const i32x4 2147483649 -1 0 -1))
227 (v128.const i32x4 0 0 0 0))
228
229;; hex vs float
230(assert_return (invoke "ne" (v128.const i32x4 0xc3000000 0xc2fe0000 0xbf800000 0x00000000)
231 (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
232 (v128.const i32x4 0 0 0 0))
233(assert_return (invoke "ne" (v128.const i32x4 0x3f800000 0x42fe0000 0x43000000 0x437f0000)
234 (v128.const f32x4 1.0 127.0 128.0 255.0))
235 (v128.const i32x4 0 0 0 0))
236
237;; not equal
238(assert_return (invoke "ne" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
239 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
240 (v128.const i32x4 -1 -1 -1 -1))
241(assert_return (invoke "ne" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
242 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
243 (v128.const i32x4 -1 -1 -1 -1))
244(assert_return (invoke "ne" (v128.const i32x4 0x02030001 0x10110409 0x0B1A120A 0xABFF1BAA)
245 (v128.const i32x4 0xAA1BFFAB 0x0A121A0B 0x09041110 0x01000302))
246 (v128.const i32x4 -1 -1 -1 -1))
247(assert_return (invoke "ne" (v128.const i32x4 0x80018000 0x80038002 0x80058004 0x80078006)
248 (v128.const i32x4 2147975174 2147844100 2147713026 2147581952))
249 (v128.const i32x4 -1 -1 -1 -1))
250(assert_return (invoke "ne" (v128.const i32x4 2147483648 2147483647 0 -1)
251 (v128.const i32x4 -2147483648 -2147483647 -1 0))
252 (v128.const i32x4 0 -1 -1 -1))
253
254;; i32x4.ne (i32x4) (i8x16)
255(assert_return (invoke "ne" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
256 (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
257 (v128.const i32x4 0 0 0 0))
258(assert_return (invoke "ne" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
259 (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
260 (v128.const i32x4 0 0 0 0))
261(assert_return (invoke "ne" (v128.const i32x4 0 0 0 0)
262 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
263 (v128.const i32x4 0 0 0 0))
264(assert_return (invoke "ne" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
265 (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
266 (v128.const i32x4 0 0 0 0))
267(assert_return (invoke "ne" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
268 (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
269 (v128.const i32x4 0 0 0 0))
270(assert_return (invoke "ne" (v128.const i32x4 -8323200 0 1 4294967295)
271 (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
272 (v128.const i32x4 -1 0 -1 0))
273(assert_return (invoke "ne" (v128.const i32x4 0x55555555 0x55555555 0x55555555 0x55555555)
274 (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA))
275 (v128.const i32x4 -1 -1 -1 -1))
276
277;; i32x4.ne (i32x4) (i16x8)
278(assert_return (invoke "ne" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
279 (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
280 (v128.const i32x4 0 0 0 0))
281(assert_return (invoke "ne" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
282 (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
283 (v128.const i32x4 0 0 0 0))
284(assert_return (invoke "ne" (v128.const i32x4 0 0 0 0)
285 (v128.const i16x8 0 0 0 0 0 0 0 0))
286 (v128.const i32x4 0 0 0 0))
287(assert_return (invoke "ne" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
288 (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E))
289 (v128.const i32x4 0 0 0 0))
290(assert_return (invoke "ne" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
291 (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
292 (v128.const i32x4 0 0 0 0))
293(assert_return (invoke "ne" (v128.const i32x4 -128 0 1 255)
294 (v128.const i16x8 -128 -128 0 0 1 1 255 255))
295 (v128.const i32x4 -1 0 -1 -1))
296(assert_return (invoke "ne" (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA)
297 (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555))
298 (v128.const i32x4 -1 -1 -1 -1))
299(assert_return (invoke "ne" (v128.const i32x4 0_123_456_789 0_123_456_789 0_123_456_789 0_123_456_789)
300 (v128.const i32x4 123456789 123456789 123456789 123456789))
301 (v128.const i32x4 0 0 0 0))
302(assert_return (invoke "ne" (v128.const i32x4 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678)
303 (v128.const i32x4 0x12345678 0x12345678 0x12345678 0x12345678))
304 (v128.const i32x4 0 0 0 0))
305
306;; lt_s
307
308;; i32x4.lt_s (i32x4) (i32x4)
309
310;; hex vs hex
311(assert_return (invoke "lt_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
312 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
313 (v128.const i32x4 0 0 0 0))
314(assert_return (invoke "lt_s" (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)
315 (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000))
316 (v128.const i32x4 0 0 0 0))
317(assert_return (invoke "lt_s" (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0)
318 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
319 (v128.const i32x4 0 0 0 0))
320(assert_return (invoke "lt_s" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
321 (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F))
322 (v128.const i32x4 0 0 0 0))
323(assert_return (invoke "lt_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000)
324 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
325 (v128.const i32x4 0 0 0 0))
326(assert_return (invoke "lt_s" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
327 (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF))
328 (v128.const i32x4 0 0 0 0))
329(assert_return (invoke "lt_s" (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B)
330 (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B))
331 (v128.const i32x4 0 0 0 0))
332
333;; hex vs dec
334(assert_return (invoke "lt_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
335 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
336 (v128.const i32x4 0 0 0 0))
337(assert_return (invoke "lt_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
338 (v128.const i32x4 -1 -1 -1 -1))
339 (v128.const i32x4 0 0 0 0))
340(assert_return (invoke "lt_s" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
341 (v128.const i32x4 2155905152 2155905152 2155905152 2155905152))
342 (v128.const i32x4 0 0 0 0))
343(assert_return (invoke "lt_s" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
344 (v128.const i32x4 -2139062144 -2139062144 -2139062144 -2139062144))
345 (v128.const i32x4 0 0 0 0))
346(assert_return (invoke "lt_s" (v128.const i32x4 0x83828180 0x00FFFEFD 0x7F020100 0xFFFEFD80)
347 (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
348 (v128.const i32x4 0 0 0 0))
349
350;; dec vs dec
351(assert_return (invoke "lt_s" (v128.const i32x4 -1 -1 -1 -1)
352 (v128.const i32x4 -1 -1 -1 -1))
353 (v128.const i32x4 0 0 0 0))
354(assert_return (invoke "lt_s" (v128.const i32x4 0 0 0 0)
355 (v128.const i32x4 0 0 0 0))
356 (v128.const i32x4 0 0 0 0))
357(assert_return (invoke "lt_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
358 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
359 (v128.const i32x4 0 0 0 0))
360(assert_return (invoke "lt_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
361 (v128.const i32x4 -1 -1 -1 -1))
362 (v128.const i32x4 0 0 0 0))
363(assert_return (invoke "lt_s" (v128.const i32x4 4294967295 4294967295 0 0)
364 (v128.const i32x4 4294967295 4294967295 0 0))
365 (v128.const i32x4 0 0 0 0))
366(assert_return (invoke "lt_s" (v128.const i32x4 0 0 4294967295 4294967295)
367 (v128.const i32x4 0 0 4294967295 4294967295))
368 (v128.const i32x4 0 0 0 0))
369(assert_return (invoke "lt_s" (v128.const i32x4 -2147483647 4294967295 0 -1)
370 (v128.const i32x4 2147483649 -1 0 -1))
371 (v128.const i32x4 0 0 0 0))
372
373;; hex vs float
374(assert_return (invoke "lt_s" (v128.const i32x4 0xc3000000 0xc2fe0000 0xbf800000 0x00000000)
375 (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
376 (v128.const i32x4 0 0 0 0))
377(assert_return (invoke "lt_s" (v128.const i32x4 0x3f800000 0x42fe0000 0x43000000 0x437f0000)
378 (v128.const f32x4 1.0 127.0 128.0 255.0))
379 (v128.const i32x4 0 0 0 0))
380
381;; not equal
382(assert_return (invoke "lt_s" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
383 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
384 (v128.const i32x4 0 0 0 0))
385(assert_return (invoke "lt_s" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
386 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
387 (v128.const i32x4 0 0 -1 -1))
388(assert_return (invoke "lt_s" (v128.const i32x4 0x02030001 0x10110409 0x0B1A120A 0xABFF1BAA)
389 (v128.const i32x4 0xAA1BFFAB 0x0A121A0B 0x09041110 0x01000302))
390 (v128.const i32x4 0 0 0 -1))
391(assert_return (invoke "lt_s" (v128.const i32x4 0x80018000 0x80038002 0x80058004 0x80078006)
392 (v128.const i32x4 2147975174 2147844100 2147713026 2147581952))
393 (v128.const i32x4 -1 -1 0 0))
394(assert_return (invoke "lt_s" (v128.const i32x4 2147483648 2147483647 0 -1)
395 (v128.const i32x4 -2147483648 -2147483647 -1 0))
396 (v128.const i32x4 0 0 0 -1))
397
398;; i32x4.lt_s (i32x4) (i8x16)
399(assert_return (invoke "lt_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
400 (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
401 (v128.const i32x4 0 0 0 0))
402(assert_return (invoke "lt_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
403 (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
404 (v128.const i32x4 0 0 0 0))
405(assert_return (invoke "lt_s" (v128.const i32x4 0 0 0 0)
406 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
407 (v128.const i32x4 0 0 0 0))
408(assert_return (invoke "lt_s" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
409 (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
410 (v128.const i32x4 0 0 0 0))
411(assert_return (invoke "lt_s" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
412 (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
413 (v128.const i32x4 0 0 0 0))
414(assert_return (invoke "lt_s" (v128.const i32x4 -8323200 0 1 4294967295)
415 (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
416 (v128.const i32x4 0 0 -1 0))
417(assert_return (invoke "lt_s" (v128.const i32x4 0x55555555 0x55555555 0x55555555 0x55555555)
418 (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA))
419 (v128.const i32x4 0 0 0 0))
420
421;; i32x4.lt_s (i32x4) (i16x8)
422(assert_return (invoke "lt_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
423 (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
424 (v128.const i32x4 0 0 0 0))
425(assert_return (invoke "lt_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
426 (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
427 (v128.const i32x4 0 0 0 0))
428(assert_return (invoke "lt_s" (v128.const i32x4 0 0 0 0)
429 (v128.const i16x8 0 0 0 0 0 0 0 0))
430 (v128.const i32x4 0 0 0 0))
431(assert_return (invoke "lt_s" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
432 (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E))
433 (v128.const i32x4 0 0 0 0))
434(assert_return (invoke "lt_s" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
435 (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
436 (v128.const i32x4 0 0 0 0))
437(assert_return (invoke "lt_s" (v128.const i32x4 -128 0 1 255)
438 (v128.const i16x8 -128 -128 0 0 1 1 255 255))
439 (v128.const i32x4 0 0 -1 -1))
440(assert_return (invoke "lt_s" (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA)
441 (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555))
442 (v128.const i32x4 -1 -1 -1 -1))
443(assert_return (invoke "lt_s" (v128.const i32x4 0_123_456_789 0_123_456_789 0_123_456_789 0_123_456_789)
444 (v128.const i32x4 123456789 123456789 123456789 123456789))
445 (v128.const i32x4 0 0 0 0))
446(assert_return (invoke "lt_s" (v128.const i32x4 0x0_90AB_cdef 0x0_90AB_cdef 0x0_90AB_cdef 0x0_90AB_cdef)
447 (v128.const i32x4 -0x6f543210 -0x6f543210 -0x6f543210 -0x6f543210))
448 (v128.const i32x4 -1 -1 -1 -1))
449
450;; lt_u
451
452;; i32x4.lt_u (i32x4) (i32x4)
453
454;; hex vs hex
455(assert_return (invoke "lt_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
456 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
457 (v128.const i32x4 0 0 0 0))
458(assert_return (invoke "lt_u" (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)
459 (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000))
460 (v128.const i32x4 0 0 0 0))
461(assert_return (invoke "lt_u" (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0)
462 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
463 (v128.const i32x4 0 0 0 0))
464(assert_return (invoke "lt_u" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
465 (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F))
466 (v128.const i32x4 0 0 0 0))
467(assert_return (invoke "lt_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000)
468 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
469 (v128.const i32x4 0 0 0 0))
470(assert_return (invoke "lt_u" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
471 (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF))
472 (v128.const i32x4 0 0 0 0))
473(assert_return (invoke "lt_u" (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B)
474 (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B))
475 (v128.const i32x4 0 0 0 0))
476
477;; hex vs dec
478(assert_return (invoke "lt_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
479 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
480 (v128.const i32x4 0 0 0 0))
481(assert_return (invoke "lt_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
482 (v128.const i32x4 -1 -1 -1 -1))
483 (v128.const i32x4 0 0 0 0))
484(assert_return (invoke "lt_u" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
485 (v128.const i32x4 2155905152 2155905152 2155905152 2155905152))
486 (v128.const i32x4 0 0 0 0))
487(assert_return (invoke "lt_u" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
488 (v128.const i32x4 -2139062144 -2139062144 -2139062144 -2139062144))
489 (v128.const i32x4 0 0 0 0))
490(assert_return (invoke "lt_u" (v128.const i32x4 0x83828180 0x00FFFEFD 0x7F020100 0xFFFEFD80)
491 (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
492 (v128.const i32x4 0 0 0 0))
493
494;; dec vs dec
495(assert_return (invoke "lt_u" (v128.const i32x4 -1 -1 -1 -1)
496 (v128.const i32x4 -1 -1 -1 -1))
497 (v128.const i32x4 0 0 0 0))
498(assert_return (invoke "lt_u" (v128.const i32x4 0 0 0 0)
499 (v128.const i32x4 0 0 0 0))
500 (v128.const i32x4 0 0 0 0))
501(assert_return (invoke "lt_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
502 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
503 (v128.const i32x4 0 0 0 0))
504(assert_return (invoke "lt_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
505 (v128.const i32x4 -1 -1 -1 -1))
506 (v128.const i32x4 0 0 0 0))
507(assert_return (invoke "lt_u" (v128.const i32x4 4294967295 4294967295 0 0)
508 (v128.const i32x4 4294967295 4294967295 0 0))
509 (v128.const i32x4 0 0 0 0))
510(assert_return (invoke "lt_u" (v128.const i32x4 0 0 4294967295 4294967295)
511 (v128.const i32x4 0 0 4294967295 4294967295))
512 (v128.const i32x4 0 0 0 0))
513(assert_return (invoke "lt_u" (v128.const i32x4 -2147483647 4294967295 0 -1)
514 (v128.const i32x4 2147483649 -1 0 -1))
515 (v128.const i32x4 0 0 0 0))
516
517;; hex vs float
518(assert_return (invoke "lt_u" (v128.const i32x4 0xc3000000 0xc2fe0000 0xbf800000 0x00000000)
519 (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
520 (v128.const i32x4 0 0 0 0))
521(assert_return (invoke "lt_u" (v128.const i32x4 0x3f800000 0x42fe0000 0x43000000 0x437f0000)
522 (v128.const f32x4 1.0 127.0 128.0 255.0))
523 (v128.const i32x4 0 0 0 0))
524
525;; not equal
526(assert_return (invoke "lt_u" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
527 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
528 (v128.const i32x4 -1 -1 -1 -1))
529(assert_return (invoke "lt_u" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
530 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
531 (v128.const i32x4 -1 -1 0 0))
532(assert_return (invoke "lt_u" (v128.const i32x4 0x02030001 0x10110409 0x0B1A120A 0xABFF1BAA)
533 (v128.const i32x4 0xAA1BFFAB 0x0A121A0B 0x09041110 0x01000302))
534 (v128.const i32x4 -1 0 0 0))
535(assert_return (invoke "lt_u" (v128.const i32x4 0x80018000 0x80038002 0x80058004 0x80078006)
536 (v128.const i32x4 2147975174 2147844100 2147713026 2147581952))
537 (v128.const i32x4 -1 -1 0 0))
538(assert_return (invoke "lt_u" (v128.const i32x4 2147483648 2147483647 0 -1)
539 (v128.const i32x4 -2147483648 -2147483647 -1 0))
540 (v128.const i32x4 0 -1 -1 0))
541
542;; i32x4.lt_u (i32x4) (i8x16)
543(assert_return (invoke "lt_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
544 (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
545 (v128.const i32x4 0 0 0 0))
546(assert_return (invoke "lt_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
547 (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
548 (v128.const i32x4 0 0 0 0))
549(assert_return (invoke "lt_u" (v128.const i32x4 0 0 0 0)
550 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
551 (v128.const i32x4 0 0 0 0))
552(assert_return (invoke "lt_u" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
553 (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
554 (v128.const i32x4 0 0 0 0))
555(assert_return (invoke "lt_u" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
556 (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
557 (v128.const i32x4 0 0 0 0))
558(assert_return (invoke "lt_u" (v128.const i32x4 -8323200 0 1 4294967295)
559 (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
560 (v128.const i32x4 0 0 -1 0))
561(assert_return (invoke "lt_u" (v128.const i32x4 0x55555555 0x55555555 0x55555555 0x55555555)
562 (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA))
563 (v128.const i32x4 -1 -1 -1 -1))
564
565;; i32x4.lt_u (i32x4) (i16x8)
566(assert_return (invoke "lt_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
567 (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
568 (v128.const i32x4 0 0 0 0))
569(assert_return (invoke "lt_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
570 (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
571 (v128.const i32x4 0 0 0 0))
572(assert_return (invoke "lt_u" (v128.const i32x4 0 0 0 0)
573 (v128.const i16x8 0 0 0 0 0 0 0 0))
574 (v128.const i32x4 0 0 0 0))
575(assert_return (invoke "lt_u" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
576 (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E))
577 (v128.const i32x4 0 0 0 0))
578(assert_return (invoke "lt_u" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
579 (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
580 (v128.const i32x4 0 0 0 0))
581(assert_return (invoke "lt_u" (v128.const i32x4 -128 0 1 255)
582 (v128.const i16x8 -128 -128 0 0 1 1 255 255))
583 (v128.const i32x4 0 0 -1 -1))
584(assert_return (invoke "lt_u" (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA)
585 (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555))
586 (v128.const i32x4 0 0 0 0))
587(assert_return (invoke "lt_u" (v128.const i32x4 0_123_456_789 0_123_456_789 0_123_456_789 0_123_456_789)
588 (v128.const i32x4 123456789 123456789 123456789 123456789))
589 (v128.const i32x4 0 0 0 0))
590(assert_return (invoke "lt_u" (v128.const i32x4 0x0_90AB_cdef 0x0_90AB_cdef 0x0_90AB_cdef 0x0_90AB_cdef)
591 (v128.const i32x4 -0x6f543210 -0x6f543210 -0x6f543210 -0x6f543210))
592 (v128.const i32x4 -1 -1 -1 -1))
593
594;; le_s
595
596;; i32x4.le_s (i32x4) (i32x4)
597
598;; hex vs hex
599(assert_return (invoke "le_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
600 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
601 (v128.const i32x4 -1 -1 -1 -1))
602(assert_return (invoke "le_s" (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)
603 (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000))
604 (v128.const i32x4 -1 -1 -1 -1))
605(assert_return (invoke "le_s" (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0)
606 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
607 (v128.const i32x4 -1 -1 -1 -1))
608(assert_return (invoke "le_s" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
609 (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F))
610 (v128.const i32x4 -1 -1 -1 -1))
611(assert_return (invoke "le_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000)
612 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
613 (v128.const i32x4 -1 -1 -1 -1))
614(assert_return (invoke "le_s" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
615 (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF))
616 (v128.const i32x4 -1 -1 -1 -1))
617(assert_return (invoke "le_s" (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B)
618 (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B))
619 (v128.const i32x4 -1 -1 -1 -1))
620
621;; hex vs dec
622(assert_return (invoke "le_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
623 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
624 (v128.const i32x4 -1 -1 -1 -1))
625(assert_return (invoke "le_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
626 (v128.const i32x4 -1 -1 -1 -1))
627 (v128.const i32x4 -1 -1 -1 -1))
628(assert_return (invoke "le_s" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
629 (v128.const i32x4 2155905152 2155905152 2155905152 2155905152))
630 (v128.const i32x4 -1 -1 -1 -1))
631(assert_return (invoke "le_s" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
632 (v128.const i32x4 -2139062144 -2139062144 -2139062144 -2139062144))
633 (v128.const i32x4 -1 -1 -1 -1))
634(assert_return (invoke "le_s" (v128.const i32x4 0x83828180 0x00FFFEFD 0x7F020100 0xFFFEFD80)
635 (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
636 (v128.const i32x4 -1 -1 -1 -1))
637
638;; dec vs dec
639(assert_return (invoke "le_s" (v128.const i32x4 -1 -1 -1 -1)
640 (v128.const i32x4 -1 -1 -1 -1))
641 (v128.const i32x4 -1 -1 -1 -1))
642(assert_return (invoke "le_s" (v128.const i32x4 0 0 0 0)
643 (v128.const i32x4 0 0 0 0))
644 (v128.const i32x4 -1 -1 -1 -1))
645(assert_return (invoke "le_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
646 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
647 (v128.const i32x4 -1 -1 -1 -1))
648(assert_return (invoke "le_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
649 (v128.const i32x4 -1 -1 -1 -1))
650 (v128.const i32x4 -1 -1 -1 -1))
651(assert_return (invoke "le_s" (v128.const i32x4 4294967295 4294967295 0 0)
652 (v128.const i32x4 4294967295 4294967295 0 0))
653 (v128.const i32x4 -1 -1 -1 -1))
654(assert_return (invoke "le_s" (v128.const i32x4 0 0 4294967295 4294967295)
655 (v128.const i32x4 0 0 4294967295 4294967295))
656 (v128.const i32x4 -1 -1 -1 -1))
657(assert_return (invoke "le_s" (v128.const i32x4 -2147483647 4294967295 0 -1)
658 (v128.const i32x4 2147483649 -1 0 -1))
659 (v128.const i32x4 -1 -1 -1 -1))
660
661;; hex vs float
662(assert_return (invoke "le_s" (v128.const i32x4 0xc3000000 0xc2fe0000 0xbf800000 0x00000000)
663 (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
664 (v128.const i32x4 -1 -1 -1 -1))
665(assert_return (invoke "le_s" (v128.const i32x4 0x3f800000 0x42fe0000 0x43000000 0x437f0000)
666 (v128.const f32x4 1.0 127.0 128.0 255.0))
667 (v128.const i32x4 -1 -1 -1 -1))
668
669;; not equal
670(assert_return (invoke "le_s" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
671 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
672 (v128.const i32x4 0 0 0 0))
673(assert_return (invoke "le_s" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
674 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
675 (v128.const i32x4 0 0 -1 -1))
676(assert_return (invoke "le_s" (v128.const i32x4 0x02030001 0x10110409 0x0B1A120A 0xABFF1BAA)
677 (v128.const i32x4 0xAA1BFFAB 0x0A121A0B 0x09041110 0x01000302))
678 (v128.const i32x4 0 0 0 -1))
679(assert_return (invoke "le_s" (v128.const i32x4 0x80018000 0x80038002 0x80058004 0x80078006)
680 (v128.const i32x4 2147975174 2147844100 2147713026 2147581952))
681 (v128.const i32x4 -1 -1 0 0))
682(assert_return (invoke "le_s" (v128.const i32x4 2147483648 2147483647 0 -1)
683 (v128.const i32x4 -2147483648 -2147483647 -1 0))
684 (v128.const i32x4 -1 0 0 -1))
685
686;; i32x4.le_s (i32x4)(i8x16)
687(assert_return (invoke "le_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
688 (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
689 (v128.const i32x4 -1 -1 -1 -1))
690(assert_return (invoke "le_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
691 (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
692 (v128.const i32x4 -1 -1 -1 -1))
693(assert_return (invoke "le_s" (v128.const i32x4 0 0 0 0)
694 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
695 (v128.const i32x4 -1 -1 -1 -1))
696(assert_return (invoke "le_s" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
697 (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
698 (v128.const i32x4 -1 -1 -1 -1))
699(assert_return (invoke "le_s" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
700 (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
701 (v128.const i32x4 -1 -1 -1 -1))
702(assert_return (invoke "le_s" (v128.const i32x4 -8323200 0 1 4294967295)
703 (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
704 (v128.const i32x4 0 -1 -1 -1))
705(assert_return (invoke "le_s" (v128.const i32x4 0x55555555 0x55555555 0x55555555 0x55555555)
706 (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA))
707 (v128.const i32x4 0 0 0 0))
708
709;; i32x4.le_s (i32x4) (i16x8)
710(assert_return (invoke "le_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
711 (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
712 (v128.const i32x4 -1 -1 -1 -1))
713(assert_return (invoke "le_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
714 (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
715 (v128.const i32x4 -1 -1 -1 -1))
716(assert_return (invoke "le_s" (v128.const i32x4 0 0 0 0)
717 (v128.const i16x8 0 0 0 0 0 0 0 0))
718 (v128.const i32x4 -1 -1 -1 -1))
719(assert_return (invoke "le_s" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
720 (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E))
721 (v128.const i32x4 -1 -1 -1 -1))
722(assert_return (invoke "le_s" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
723 (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
724 (v128.const i32x4 -1 -1 -1 -1))
725(assert_return (invoke "le_s" (v128.const i32x4 -128 0 1 255)
726 (v128.const i16x8 -128 -128 0 0 1 1 255 255))
727 (v128.const i32x4 0 -1 -1 -1))
728(assert_return (invoke "le_s" (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA)
729 (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555))
730 (v128.const i32x4 -1 -1 -1 -1))
731(assert_return (invoke "le_s" (v128.const i32x4 0_123_456_789 0_123_456_789 0_123_456_789 0_123_456_789)
732 (v128.const i32x4 123456789 123456789 123456789 123456789))
733 (v128.const i32x4 -1 -1 -1 -1))
734(assert_return (invoke "le_s" (v128.const i32x4 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678)
735 (v128.const i32x4 0x12345678 0x12345678 0x12345678 0x12345678))
736 (v128.const i32x4 -1 -1 -1 -1))
737
738;; le_u
739
740;; i32x4.le_u (i32x4) (i32x4)
741
742;; hex vs hex
743(assert_return (invoke "le_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
744 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
745 (v128.const i32x4 -1 -1 -1 -1))
746(assert_return (invoke "le_u" (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)
747 (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000))
748 (v128.const i32x4 -1 -1 -1 -1))
749(assert_return (invoke "le_u" (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0)
750 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
751 (v128.const i32x4 -1 -1 -1 -1))
752(assert_return (invoke "le_u" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
753 (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F))
754 (v128.const i32x4 -1 -1 -1 -1))
755(assert_return (invoke "le_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000)
756 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
757 (v128.const i32x4 -1 -1 -1 -1))
758(assert_return (invoke "le_u" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
759 (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF))
760 (v128.const i32x4 -1 -1 -1 -1))
761(assert_return (invoke "le_u" (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B)
762 (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B))
763 (v128.const i32x4 -1 -1 -1 -1))
764
765;; hex vs dec
766(assert_return (invoke "le_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
767 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
768 (v128.const i32x4 -1 -1 -1 -1))
769(assert_return (invoke "le_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
770 (v128.const i32x4 -1 -1 -1 -1))
771 (v128.const i32x4 -1 -1 -1 -1))
772(assert_return (invoke "le_u" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
773 (v128.const i32x4 2155905152 2155905152 2155905152 2155905152))
774 (v128.const i32x4 -1 -1 -1 -1))
775(assert_return (invoke "le_u" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
776 (v128.const i32x4 -2139062144 -2139062144 -2139062144 -2139062144))
777 (v128.const i32x4 -1 -1 -1 -1))
778(assert_return (invoke "le_u" (v128.const i32x4 0x83828180 0x00FFFEFD 0x7F020100 0xFFFEFD80)
779 (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
780 (v128.const i32x4 -1 -1 -1 -1))
781
782;; dec vs dec
783(assert_return (invoke "le_u" (v128.const i32x4 -1 -1 -1 -1)
784 (v128.const i32x4 -1 -1 -1 -1))
785 (v128.const i32x4 -1 -1 -1 -1))
786(assert_return (invoke "le_u" (v128.const i32x4 0 0 0 0)
787 (v128.const i32x4 0 0 0 0))
788 (v128.const i32x4 -1 -1 -1 -1))
789(assert_return (invoke "le_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
790 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
791 (v128.const i32x4 -1 -1 -1 -1))
792(assert_return (invoke "le_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
793 (v128.const i32x4 -1 -1 -1 -1))
794 (v128.const i32x4 -1 -1 -1 -1))
795(assert_return (invoke "le_u" (v128.const i32x4 4294967295 4294967295 0 0)
796 (v128.const i32x4 4294967295 4294967295 0 0))
797 (v128.const i32x4 -1 -1 -1 -1))
798(assert_return (invoke "le_u" (v128.const i32x4 0 0 4294967295 4294967295)
799 (v128.const i32x4 0 0 4294967295 4294967295))
800 (v128.const i32x4 -1 -1 -1 -1))
801(assert_return (invoke "le_u" (v128.const i32x4 -2147483647 4294967295 0 -1)
802 (v128.const i32x4 2147483649 -1 0 -1))
803 (v128.const i32x4 -1 -1 -1 -1))
804
805;; hex vs float
806(assert_return (invoke "le_u" (v128.const i32x4 0xc3000000 0xc2fe0000 0xbf800000 0x00000000)
807 (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
808 (v128.const i32x4 -1 -1 -1 -1))
809(assert_return (invoke "le_u" (v128.const i32x4 0x3f800000 0x42fe0000 0x43000000 0x437f0000)
810 (v128.const f32x4 1.0 127.0 128.0 255.0))
811 (v128.const i32x4 -1 -1 -1 -1))
812
813;; not equal
814(assert_return (invoke "le_u" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
815 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
816 (v128.const i32x4 -1 -1 -1 -1))
817(assert_return (invoke "le_u" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
818 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
819 (v128.const i32x4 -1 -1 0 0))
820(assert_return (invoke "le_u" (v128.const i32x4 0x02030001 0x10110409 0x0B1A120A 0xABFF1BAA)
821 (v128.const i32x4 0xAA1BFFAB 0x0A121A0B 0x09041110 0x01000302))
822 (v128.const i32x4 -1 0 0 0))
823(assert_return (invoke "le_u" (v128.const i32x4 0x80018000 0x80038002 0x80058004 0x80078006)
824 (v128.const i32x4 2147975174 2147844100 2147713026 2147581952))
825 (v128.const i32x4 -1 -1 0 0))
826(assert_return (invoke "le_u" (v128.const i32x4 2147483648 2147483647 0 -1)
827 (v128.const i32x4 -2147483648 -2147483647 -1 0))
828 (v128.const i32x4 -1 -1 -1 0))
829
830;; i32x4.le_u (i32x4) (i8x16)
831(assert_return (invoke "le_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
832 (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
833 (v128.const i32x4 -1 -1 -1 -1))
834(assert_return (invoke "le_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
835 (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
836 (v128.const i32x4 -1 -1 -1 -1))
837(assert_return (invoke "le_u" (v128.const i32x4 0 0 0 0)
838 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
839 (v128.const i32x4 -1 -1 -1 -1))
840(assert_return (invoke "le_u" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
841 (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
842 (v128.const i32x4 -1 -1 -1 -1))
843(assert_return (invoke "le_u" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
844 (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
845 (v128.const i32x4 -1 -1 -1 -1))
846(assert_return (invoke "le_u" (v128.const i32x4 -8323200 0 1 4294967295)
847 (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
848 (v128.const i32x4 0 -1 -1 -1))
849(assert_return (invoke "le_u" (v128.const i32x4 0x55555555 0x55555555 0x55555555 0x55555555)
850 (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA))
851 (v128.const i32x4 -1 -1 -1 -1))
852
853;; i32x4.le_u (i32x4) (i16x8)
854(assert_return (invoke "le_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
855 (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
856 (v128.const i32x4 -1 -1 -1 -1))
857(assert_return (invoke "le_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
858 (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
859 (v128.const i32x4 -1 -1 -1 -1))
860(assert_return (invoke "le_u" (v128.const i32x4 0 0 0 0)
861 (v128.const i16x8 0 0 0 0 0 0 0 0))
862 (v128.const i32x4 -1 -1 -1 -1))
863(assert_return (invoke "le_u" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
864 (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E))
865 (v128.const i32x4 -1 -1 -1 -1))
866(assert_return (invoke "le_u" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
867 (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
868 (v128.const i32x4 -1 -1 -1 -1))
869(assert_return (invoke "le_u" (v128.const i32x4 -128 0 1 255)
870 (v128.const i16x8 -128 -128 0 0 1 1 255 255))
871 (v128.const i32x4 0 -1 -1 -1))
872(assert_return (invoke "le_u" (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA)
873 (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555))
874 (v128.const i32x4 0 0 0 0))
875(assert_return (invoke "le_u" (v128.const i32x4 0_123_456_789 0_123_456_789 0_123_456_789 0_123_456_789)
876 (v128.const i32x4 123456789 123456789 123456789 123456789))
877 (v128.const i32x4 -1 -1 -1 -1))
878(assert_return (invoke "le_u" (v128.const i32x4 0x0_90AB_cdef 0x0_90AB_cdef 0x0_90AB_cdef 0x0_90AB_cdef)
879 (v128.const i32x4 0x90ABcdef 0x90ABcdef 0x90ABcdef 0x90ABcdef))
880 (v128.const i32x4 -1 -1 -1 -1))
881
882;; gt_s
883
884;; i32x4.gt_s (i32x4) (i32x4)
885
886;; hex vs hex
887(assert_return (invoke "gt_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
888 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
889 (v128.const i32x4 0 0 0 0))
890(assert_return (invoke "gt_s" (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)
891 (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000))
892 (v128.const i32x4 0 0 0 0))
893(assert_return (invoke "gt_s" (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0)
894 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
895 (v128.const i32x4 0 0 0 0))
896(assert_return (invoke "gt_s" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
897 (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F))
898 (v128.const i32x4 0 0 0 0))
899(assert_return (invoke "gt_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000)
900 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
901 (v128.const i32x4 0 0 0 0))
902(assert_return (invoke "gt_s" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
903 (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF))
904 (v128.const i32x4 0 0 0 0))
905(assert_return (invoke "gt_s" (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B)
906 (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B))
907 (v128.const i32x4 0 0 0 0))
908
909;; hex vs dec
910(assert_return (invoke "gt_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
911 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
912 (v128.const i32x4 0 0 0 0))
913(assert_return (invoke "gt_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
914 (v128.const i32x4 -1 -1 -1 -1))
915 (v128.const i32x4 0 0 0 0))
916(assert_return (invoke "gt_s" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
917 (v128.const i32x4 2155905152 2155905152 2155905152 2155905152))
918 (v128.const i32x4 0 0 0 0))
919(assert_return (invoke "gt_s" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
920 (v128.const i32x4 -2139062144 -2139062144 -2139062144 -2139062144))
921 (v128.const i32x4 0 0 0 0))
922(assert_return (invoke "gt_s" (v128.const i32x4 0x83828180 0x00FFFEFD 0x7F020100 0xFFFEFD80)
923 (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
924 (v128.const i32x4 0 0 0 0))
925
926;; dec vs dec
927(assert_return (invoke "gt_s" (v128.const i32x4 -1 -1 -1 -1)
928 (v128.const i32x4 -1 -1 -1 -1))
929 (v128.const i32x4 0 0 0 0))
930(assert_return (invoke "gt_s" (v128.const i32x4 0 0 0 0)
931 (v128.const i32x4 0 0 0 0))
932 (v128.const i32x4 0 0 0 0))
933(assert_return (invoke "gt_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
934 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
935 (v128.const i32x4 0 0 0 0))
936(assert_return (invoke "gt_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
937 (v128.const i32x4 -1 -1 -1 -1))
938 (v128.const i32x4 0 0 0 0))
939(assert_return (invoke "gt_s" (v128.const i32x4 4294967295 4294967295 0 0)
940 (v128.const i32x4 4294967295 4294967295 0 0))
941 (v128.const i32x4 0 0 0 0))
942(assert_return (invoke "gt_s" (v128.const i32x4 0 0 4294967295 4294967295)
943 (v128.const i32x4 0 0 4294967295 4294967295))
944 (v128.const i32x4 0 0 0 0))
945(assert_return (invoke "gt_s" (v128.const i32x4 -2147483647 4294967295 0 -1)
946 (v128.const i32x4 2147483649 -1 0 -1))
947 (v128.const i32x4 0 0 0 0))
948
949;; hex vs float
950(assert_return (invoke "gt_s" (v128.const i32x4 0xc3000000 0xc2fe0000 0xbf800000 0x00000000)
951 (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
952 (v128.const i32x4 0 0 0 0))
953(assert_return (invoke "gt_s" (v128.const i32x4 0x3f800000 0x42fe0000 0x43000000 0x437f0000)
954 (v128.const f32x4 1.0 127.0 128.0 255.0))
955 (v128.const i32x4 0 0 0 0))
956
957;; not equal
958(assert_return (invoke "gt_s" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
959 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
960 (v128.const i32x4 -1 -1 -1 -1))
961(assert_return (invoke "gt_s" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
962 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
963 (v128.const i32x4 -1 -1 0 0))
964(assert_return (invoke "gt_s" (v128.const i32x4 0x02030001 0x10110409 0x0B1A120A 0xABFF1BAA)
965 (v128.const i32x4 0xAA1BFFAB 0x0A121A0B 0x09041110 0x01000302))
966 (v128.const i32x4 -1 -1 -1 0))
967(assert_return (invoke "gt_s" (v128.const i32x4 0x80018000 0x80038002 0x80058004 0x80078006)
968 (v128.const i32x4 2147975174 2147844100 2147713026 2147581952))
969 (v128.const i32x4 0 0 -1 -1))
970(assert_return (invoke "gt_s" (v128.const i32x4 2147483648 2147483647 0 -1)
971 (v128.const i32x4 -2147483648 -2147483647 -1 0))
972 (v128.const i32x4 0 -1 -1 0))
973
974;; i32x4.gt_s (i32x4) (i8x16)
975(assert_return (invoke "gt_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
976 (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
977 (v128.const i32x4 0 0 0 0))
978(assert_return (invoke "gt_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
979 (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
980 (v128.const i32x4 0 0 0 0))
981(assert_return (invoke "gt_s" (v128.const i32x4 0 0 0 0)
982 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
983 (v128.const i32x4 0 0 0 0))
984(assert_return (invoke "gt_s" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
985 (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
986 (v128.const i32x4 0 0 0 0))
987(assert_return (invoke "gt_s" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
988 (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
989 (v128.const i32x4 0 0 0 0))
990(assert_return (invoke "gt_s" (v128.const i32x4 -8323200 0 1 4294967295)
991 (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
992 (v128.const i32x4 -1 0 0 0))
993(assert_return (invoke "gt_s" (v128.const i32x4 0x55555555 0x55555555 0x55555555 0x55555555)
994 (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA))
995 (v128.const i32x4 -1 -1 -1 -1))
996
997;; i32x4.gt_s (i32x4) (i16x8)
998(assert_return (invoke "gt_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
999 (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
1000 (v128.const i32x4 0 0 0 0))
1001(assert_return (invoke "gt_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
1002 (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
1003 (v128.const i32x4 0 0 0 0))
1004(assert_return (invoke "gt_s" (v128.const i32x4 0 0 0 0)
1005 (v128.const i16x8 0 0 0 0 0 0 0 0))
1006 (v128.const i32x4 0 0 0 0))
1007(assert_return (invoke "gt_s" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
1008 (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E))
1009 (v128.const i32x4 0 0 0 0))
1010(assert_return (invoke "gt_s" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
1011 (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
1012 (v128.const i32x4 0 0 0 0))
1013(assert_return (invoke "gt_s" (v128.const i32x4 65535 0 1 32768)
1014 (v128.const i16x8 65535 65535 0 0 1 1 32768 32768))
1015 (v128.const i32x4 -1 0 0 -1))
1016(assert_return (invoke "gt_s" (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA)
1017 (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555))
1018 (v128.const i32x4 0 0 0 0))
1019(assert_return (invoke "gt_s" (v128.const i32x4 0_123_456_789 0_123_456_789 0_123_456_789 0_123_456_789)
1020 (v128.const i32x4 123456789 123456789 123456789 123456789))
1021 (v128.const i32x4 0 0 0 0))
1022(assert_return (invoke "gt_s" (v128.const i32x4 0x0_90AB_cdef 0x0_90AB_cdef 0x0_90AB_cdef 0x0_90AB_cdef)
1023 (v128.const i32x4 -0x6f543211 -0x6f543211 -0x6f543211 -0x6f543211))
1024 (v128.const i32x4 0 0 0 0))
1025
1026;; gt_u
1027
1028;; i32x4.gt_u (i32x4) (i32x4)
1029
1030;; hex vs hex
1031(assert_return (invoke "gt_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
1032 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
1033 (v128.const i32x4 0 0 0 0))
1034(assert_return (invoke "gt_u" (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)
1035 (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000))
1036 (v128.const i32x4 0 0 0 0))
1037(assert_return (invoke "gt_u" (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0)
1038 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
1039 (v128.const i32x4 0 0 0 0))
1040(assert_return (invoke "gt_u" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
1041 (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F))
1042 (v128.const i32x4 0 0 0 0))
1043(assert_return (invoke "gt_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000)
1044 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
1045 (v128.const i32x4 0 0 0 0))
1046(assert_return (invoke "gt_u" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
1047 (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF))
1048 (v128.const i32x4 0 0 0 0))
1049(assert_return (invoke "gt_u" (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B)
1050 (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B))
1051 (v128.const i32x4 0 0 0 0))
1052
1053;; hex vs dec
1054(assert_return (invoke "gt_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
1055 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
1056 (v128.const i32x4 0 0 0 0))
1057(assert_return (invoke "gt_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
1058 (v128.const i32x4 -1 -1 -1 -1))
1059 (v128.const i32x4 0 0 0 0))
1060(assert_return (invoke "gt_u" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
1061 (v128.const i32x4 2155905152 2155905152 2155905152 2155905152))
1062 (v128.const i32x4 0 0 0 0))
1063(assert_return (invoke "gt_u" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
1064 (v128.const i32x4 -2139062144 -2139062144 -2139062144 -2139062144))
1065 (v128.const i32x4 0 0 0 0))
1066(assert_return (invoke "gt_u" (v128.const i32x4 0x83828180 0x00FFFEFD 0x7F020100 0xFFFEFD80)
1067 (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
1068 (v128.const i32x4 0 0 0 0))
1069
1070;; dec vs dec
1071(assert_return (invoke "gt_u" (v128.const i32x4 -1 -1 -1 -1)
1072 (v128.const i32x4 -1 -1 -1 -1))
1073 (v128.const i32x4 0 0 0 0))
1074(assert_return (invoke "gt_u" (v128.const i32x4 0 0 0 0)
1075 (v128.const i32x4 0 0 0 0))
1076 (v128.const i32x4 0 0 0 0))
1077(assert_return (invoke "gt_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
1078 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
1079 (v128.const i32x4 0 0 0 0))
1080(assert_return (invoke "gt_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
1081 (v128.const i32x4 -1 -1 -1 -1))
1082 (v128.const i32x4 0 0 0 0))
1083(assert_return (invoke "gt_u" (v128.const i32x4 4294967295 4294967295 0 0)
1084 (v128.const i32x4 4294967295 4294967295 0 0))
1085 (v128.const i32x4 0 0 0 0))
1086(assert_return (invoke "gt_u" (v128.const i32x4 0 0 4294967295 4294967295)
1087 (v128.const i32x4 0 0 4294967295 4294967295))
1088 (v128.const i32x4 0 0 0 0))
1089(assert_return (invoke "gt_u" (v128.const i32x4 -2147483647 4294967295 0 -1)
1090 (v128.const i32x4 2147483649 -1 0 -1))
1091 (v128.const i32x4 0 0 0 0))
1092
1093;; hex vs float
1094(assert_return (invoke "gt_u" (v128.const i32x4 0xc3000000 0xc2fe0000 0xbf800000 0x00000000)
1095 (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
1096 (v128.const i32x4 0 0 0 0))
1097(assert_return (invoke "gt_u" (v128.const i32x4 0x3f800000 0x42fe0000 0x43000000 0x437f0000)
1098 (v128.const f32x4 1.0 127.0 128.0 255.0))
1099 (v128.const i32x4 0 0 0 0))
1100
1101;; not equal
1102(assert_return (invoke "gt_u" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
1103 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
1104 (v128.const i32x4 0 0 0 0))
1105(assert_return (invoke "gt_u" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
1106 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
1107 (v128.const i32x4 0 0 -1 -1))
1108(assert_return (invoke "gt_u" (v128.const i32x4 0x02030001 0x10110409 0x0B1A120A 0xABFF1BAA)
1109 (v128.const i32x4 0xAA1BFFAB 0x0A121A0B 0x09041110 0x01000302))
1110 (v128.const i32x4 0 -1 -1 -1))
1111(assert_return (invoke "gt_u" (v128.const i32x4 0x80018000 0x80038002 0x80058004 0x80078006)
1112 (v128.const i32x4 2147975174 2147844100 2147713026 2147581952))
1113 (v128.const i32x4 0 0 -1 -1))
1114(assert_return (invoke "gt_u" (v128.const i32x4 2147483648 2147483647 0 -1)
1115 (v128.const i32x4 -2147483648 -2147483647 -1 0))
1116 (v128.const i32x4 0 0 0 -1))
1117
1118;; i32x4.gt_u (i32x4) (i8x16)
1119(assert_return (invoke "gt_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
1120 (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
1121 (v128.const i32x4 0 0 0 0))
1122(assert_return (invoke "gt_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
1123 (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
1124 (v128.const i32x4 0 0 0 0))
1125(assert_return (invoke "gt_u" (v128.const i32x4 0 0 0 0)
1126 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
1127 (v128.const i32x4 0 0 0 0))
1128(assert_return (invoke "gt_u" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
1129 (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
1130 (v128.const i32x4 0 0 0 0))
1131(assert_return (invoke "gt_u" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
1132 (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
1133 (v128.const i32x4 0 0 0 0))
1134(assert_return (invoke "gt_u" (v128.const i32x4 -8323200 0 1 4294967295)
1135 (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
1136 (v128.const i32x4 -1 0 0 0))
1137(assert_return (invoke "gt_u" (v128.const i32x4 0x55555555 0x55555555 0x55555555 0x55555555)
1138 (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA))
1139 (v128.const i32x4 0 0 0 0))
1140
1141;; i32x4.gt_u (i32x4) (i16x8)
1142(assert_return (invoke "gt_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
1143 (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
1144 (v128.const i32x4 0 0 0 0))
1145(assert_return (invoke "gt_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
1146 (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
1147 (v128.const i32x4 0 0 0 0))
1148(assert_return (invoke "gt_u" (v128.const i32x4 0 0 0 0)
1149 (v128.const i16x8 0 0 0 0 0 0 0 0))
1150 (v128.const i32x4 0 0 0 0))
1151(assert_return (invoke "gt_u" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
1152 (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E))
1153 (v128.const i32x4 0 0 0 0))
1154(assert_return (invoke "gt_u" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
1155 (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
1156 (v128.const i32x4 0 0 0 0))
1157(assert_return (invoke "gt_u" (v128.const i32x4 -128 0 1 255)
1158 (v128.const i16x8 -128 -128 0 0 1 1 255 255))
1159 (v128.const i32x4 -1 0 0 0))
1160(assert_return (invoke "gt_u" (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA)
1161 (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555))
1162 (v128.const i32x4 -1 -1 -1 -1))
1163(assert_return (invoke "gt_u" (v128.const i32x4 0_123_456_789 0_123_456_789 0_123_456_789 0_123_456_789)
1164 (v128.const i32x4 123456789 123456789 123456789 123456789))
1165 (v128.const i32x4 0 0 0 0))
1166(assert_return (invoke "gt_u" (v128.const i32x4 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678)
1167 (v128.const i32x4 0x12345678 0x12345678 0x12345678 0x12345678))
1168 (v128.const i32x4 0 0 0 0))
1169
1170;; ge_s
1171
1172;; i32x4.ge_s (i32x4) (i32x4)
1173
1174;; hex vs hex
1175(assert_return (invoke "ge_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
1176 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
1177 (v128.const i32x4 -1 -1 -1 -1))
1178(assert_return (invoke "ge_s" (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)
1179 (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000))
1180 (v128.const i32x4 -1 -1 -1 -1))
1181(assert_return (invoke "ge_s" (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0)
1182 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
1183 (v128.const i32x4 -1 -1 -1 -1))
1184(assert_return (invoke "ge_s" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
1185 (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F))
1186 (v128.const i32x4 -1 -1 -1 -1))
1187(assert_return (invoke "ge_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000)
1188 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
1189 (v128.const i32x4 -1 -1 -1 -1))
1190(assert_return (invoke "ge_s" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
1191 (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF))
1192 (v128.const i32x4 -1 -1 -1 -1))
1193(assert_return (invoke "ge_s" (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B)
1194 (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B))
1195 (v128.const i32x4 -1 -1 -1 -1))
1196
1197;; hex vs dec
1198(assert_return (invoke "ge_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
1199 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
1200 (v128.const i32x4 -1 -1 -1 -1))
1201(assert_return (invoke "ge_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
1202 (v128.const i32x4 -1 -1 -1 -1))
1203 (v128.const i32x4 -1 -1 -1 -1))
1204(assert_return (invoke "ge_s" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
1205 (v128.const i32x4 2155905152 2155905152 2155905152 2155905152))
1206 (v128.const i32x4 -1 -1 -1 -1))
1207(assert_return (invoke "ge_s" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
1208 (v128.const i32x4 -2139062144 -2139062144 -2139062144 -2139062144))
1209 (v128.const i32x4 -1 -1 -1 -1))
1210(assert_return (invoke "ge_s" (v128.const i32x4 0x83828180 0x00FFFEFD 0x7F020100 0xFFFEFD80)
1211 (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
1212 (v128.const i32x4 -1 -1 -1 -1))
1213
1214;; dec vs dec
1215(assert_return (invoke "ge_s" (v128.const i32x4 -1 -1 -1 -1)
1216 (v128.const i32x4 -1 -1 -1 -1))
1217 (v128.const i32x4 -1 -1 -1 -1))
1218(assert_return (invoke "ge_s" (v128.const i32x4 0 0 0 0)
1219 (v128.const i32x4 0 0 0 0))
1220 (v128.const i32x4 -1 -1 -1 -1))
1221(assert_return (invoke "ge_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
1222 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
1223 (v128.const i32x4 -1 -1 -1 -1))
1224(assert_return (invoke "ge_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
1225 (v128.const i32x4 -1 -1 -1 -1))
1226 (v128.const i32x4 -1 -1 -1 -1))
1227(assert_return (invoke "ge_s" (v128.const i32x4 4294967295 4294967295 0 0)
1228 (v128.const i32x4 4294967295 4294967295 0 0))
1229 (v128.const i32x4 -1 -1 -1 -1))
1230(assert_return (invoke "ge_s" (v128.const i32x4 0 0 4294967295 4294967295)
1231 (v128.const i32x4 0 0 4294967295 4294967295))
1232 (v128.const i32x4 -1 -1 -1 -1))
1233(assert_return (invoke "ge_s" (v128.const i32x4 -2147483647 4294967295 0 -1)
1234 (v128.const i32x4 2147483649 -1 0 -1))
1235 (v128.const i32x4 -1 -1 -1 -1))
1236
1237;; hex vs float
1238(assert_return (invoke "ge_s" (v128.const i32x4 0xc3000000 0xc2fe0000 0xbf800000 0x00000000)
1239 (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
1240 (v128.const i32x4 -1 -1 -1 -1))
1241(assert_return (invoke "ge_s" (v128.const i32x4 0x3f800000 0x42fe0000 0x43000000 0x437f0000)
1242 (v128.const f32x4 1.0 127.0 128.0 255.0))
1243 (v128.const i32x4 -1 -1 -1 -1))
1244
1245;; not equal
1246(assert_return (invoke "ge_s" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
1247 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
1248 (v128.const i32x4 -1 -1 -1 -1))
1249(assert_return (invoke "ge_s" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
1250 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
1251 (v128.const i32x4 -1 -1 0 0))
1252(assert_return (invoke "ge_s" (v128.const i32x4 0x02030001 0x10110409 0x0B1A120A 0xABFF1BAA)
1253 (v128.const i32x4 0xAA1BFFAB 0x0A121A0B 0x09041110 0x01000302))
1254 (v128.const i32x4 -1 -1 -1 0))
1255(assert_return (invoke "ge_s" (v128.const i32x4 0x80018000 0x80038002 0x80058004 0x80078006)
1256 (v128.const i32x4 2147975174 2147844100 2147713026 2147581952))
1257 (v128.const i32x4 0 0 -1 -1))
1258(assert_return (invoke "ge_s" (v128.const i32x4 2147483648 2147483647 0 -1)
1259 (v128.const i32x4 -2147483648 -2147483647 -1 0))
1260 (v128.const i32x4 -1 -1 -1 0))
1261
1262;; i32x4.ge_s (i32x4) (i8x16)
1263(assert_return (invoke "ge_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
1264 (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
1265 (v128.const i32x4 -1 -1 -1 -1))
1266(assert_return (invoke "ge_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
1267 (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
1268 (v128.const i32x4 -1 -1 -1 -1))
1269(assert_return (invoke "ge_s" (v128.const i32x4 0 0 0 0)
1270 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
1271 (v128.const i32x4 -1 -1 -1 -1))
1272(assert_return (invoke "ge_s" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
1273 (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
1274 (v128.const i32x4 -1 -1 -1 -1))
1275(assert_return (invoke "ge_s" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
1276 (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
1277 (v128.const i32x4 -1 -1 -1 -1))
1278(assert_return (invoke "ge_s" (v128.const i32x4 -8323200 0 1 4294967295)
1279 (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
1280 (v128.const i32x4 -1 -1 0 -1))
1281(assert_return (invoke "ge_s" (v128.const i32x4 0x55555555 0x55555555 0x55555555 0x55555555)
1282 (v128.const i8x16 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55))
1283 (v128.const i32x4 -1 -1 -1 -1))
1284
1285;; i32x4.ge_s (i32x4) (i16x8)
1286(assert_return (invoke "ge_s" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
1287 (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
1288 (v128.const i32x4 -1 -1 -1 -1))
1289(assert_return (invoke "ge_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
1290 (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
1291 (v128.const i32x4 -1 -1 -1 -1))
1292(assert_return (invoke "ge_s" (v128.const i32x4 0 0 0 0)
1293 (v128.const i16x8 0 0 0 0 0 0 0 0))
1294 (v128.const i32x4 -1 -1 -1 -1))
1295(assert_return (invoke "ge_s" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
1296 (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E))
1297 (v128.const i32x4 -1 -1 -1 -1))
1298(assert_return (invoke "ge_s" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
1299 (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
1300 (v128.const i32x4 -1 -1 -1 -1))
1301(assert_return (invoke "ge_s" (v128.const i32x4 65535 0 1 32768)
1302 (v128.const i16x8 65535 65535 0 0 1 1 32768 32768))
1303 (v128.const i32x4 -1 -1 0 -1))
1304(assert_return (invoke "ge_s" (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA)
1305 (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555))
1306 (v128.const i32x4 0 0 0 0))
1307(assert_return (invoke "ge_s" (v128.const i32x4 0_123_456_789 0_123_456_789 0_123_456_789 0_123_456_789)
1308 (v128.const i32x4 123456789 123456789 123456789 123456789))
1309 (v128.const i32x4 -1 -1 -1 -1))
1310(assert_return (invoke "ge_s" (v128.const i32x4 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678)
1311 (v128.const i32x4 0x12345678 0x12345678 0x12345678 0x12345678))
1312 (v128.const i32x4 -1 -1 -1 -1))
1313
1314;; ge_u
1315
1316;; i32x4.ge_u (i32x4) (i32x4)
1317
1318;; hex vs hex
1319(assert_return (invoke "ge_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
1320 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
1321 (v128.const i32x4 -1 -1 -1 -1))
1322(assert_return (invoke "ge_u" (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)
1323 (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000))
1324 (v128.const i32x4 -1 -1 -1 -1))
1325(assert_return (invoke "ge_u" (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0)
1326 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
1327 (v128.const i32x4 -1 -1 -1 -1))
1328(assert_return (invoke "ge_u" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
1329 (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F))
1330 (v128.const i32x4 -1 -1 -1 -1))
1331(assert_return (invoke "ge_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000)
1332 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
1333 (v128.const i32x4 -1 -1 -1 -1))
1334(assert_return (invoke "ge_u" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
1335 (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF))
1336 (v128.const i32x4 -1 -1 -1 -1))
1337(assert_return (invoke "ge_u" (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B)
1338 (v128.const i32x4 0x03020100 0x11100904 0x1A0B0A12 0xFFABAA1B))
1339 (v128.const i32x4 -1 -1 -1 -1))
1340
1341;; hex vs dec
1342(assert_return (invoke "ge_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
1343 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
1344 (v128.const i32x4 -1 -1 -1 -1))
1345(assert_return (invoke "ge_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
1346 (v128.const i32x4 -1 -1 -1 -1))
1347 (v128.const i32x4 -1 -1 -1 -1))
1348(assert_return (invoke "ge_u" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
1349 (v128.const i32x4 2155905152 2155905152 2155905152 2155905152))
1350 (v128.const i32x4 -1 -1 -1 -1))
1351(assert_return (invoke "ge_u" (v128.const i32x4 0x80808080 0x80808080 0x80808080 0x80808080)
1352 (v128.const i32x4 -2139062144 -2139062144 -2139062144 -2139062144))
1353 (v128.const i32x4 -1 -1 -1 -1))
1354(assert_return (invoke "ge_u" (v128.const i32x4 0x83828180 0x00FFFEFD 0x7F020100 0xFFFEFD80)
1355 (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
1356 (v128.const i32x4 -1 -1 -1 -1))
1357
1358;; dec vs dec
1359(assert_return (invoke "ge_u" (v128.const i32x4 -1 -1 -1 -1)
1360 (v128.const i32x4 -1 -1 -1 -1))
1361 (v128.const i32x4 -1 -1 -1 -1))
1362(assert_return (invoke "ge_u" (v128.const i32x4 0 0 0 0)
1363 (v128.const i32x4 0 0 0 0))
1364 (v128.const i32x4 -1 -1 -1 -1))
1365(assert_return (invoke "ge_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
1366 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
1367 (v128.const i32x4 -1 -1 -1 -1))
1368(assert_return (invoke "ge_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
1369 (v128.const i32x4 -1 -1 -1 -1))
1370 (v128.const i32x4 -1 -1 -1 -1))
1371(assert_return (invoke "ge_u" (v128.const i32x4 4294967295 4294967295 0 0)
1372 (v128.const i32x4 4294967295 4294967295 0 0))
1373 (v128.const i32x4 -1 -1 -1 -1))
1374(assert_return (invoke "ge_u" (v128.const i32x4 0 0 4294967295 4294967295)
1375 (v128.const i32x4 0 0 4294967295 4294967295))
1376 (v128.const i32x4 -1 -1 -1 -1))
1377(assert_return (invoke "ge_u" (v128.const i32x4 -2147483647 4294967295 0 -1)
1378 (v128.const i32x4 2147483649 -1 0 -1))
1379 (v128.const i32x4 -1 -1 -1 -1))
1380
1381;; hex vs float
1382(assert_return (invoke "ge_u" (v128.const i32x4 0xc3000000 0xc2fe0000 0xbf800000 0x00000000)
1383 (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
1384 (v128.const i32x4 -1 -1 -1 -1))
1385(assert_return (invoke "ge_u" (v128.const i32x4 0x3f800000 0x42fe0000 0x43000000 0x437f0000)
1386 (v128.const f32x4 1.0 127.0 128.0 255.0))
1387 (v128.const i32x4 -1 -1 -1 -1))
1388
1389;; not equal
1390(assert_return (invoke "ge_u" (v128.const i32x4 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F 0x0F0F0F0F)
1391 (v128.const i32x4 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0 0xF0F0F0F0))
1392 (v128.const i32x4 0 0 0 0))
1393(assert_return (invoke "ge_u" (v128.const i32x4 0x00000000 0x00000000 0xFFFFFFFF 0xFFFFFFFF)
1394 (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000))
1395 (v128.const i32x4 0 0 -1 -1))
1396(assert_return (invoke "ge_u" (v128.const i32x4 0x02030001 0x10110409 0x0B1A120A 0xABFF1BAA)
1397 (v128.const i32x4 0xAA1BFFAB 0x0A121A0B 0x09041110 0x01000302))
1398 (v128.const i32x4 0 -1 -1 -1))
1399(assert_return (invoke "ge_u" (v128.const i32x4 0x80018000 0x80038002 0x80058004 0x80078006)
1400 (v128.const i32x4 2147975174 2147844100 2147713026 2147581952))
1401 (v128.const i32x4 0 0 -1 -1))
1402(assert_return (invoke "ge_u" (v128.const i32x4 2147483648 2147483647 0 -1)
1403 (v128.const i32x4 -2147483648 -2147483647 -1 0))
1404 (v128.const i32x4 -1 0 0 -1))
1405
1406;; i32x4.ge_u (i32x4) (i8x16)
1407(assert_return (invoke "ge_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
1408 (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
1409 (v128.const i32x4 -1 -1 -1 -1))
1410(assert_return (invoke "ge_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
1411 (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
1412 (v128.const i32x4 -1 -1 -1 -1))
1413(assert_return (invoke "ge_u" (v128.const i32x4 0 0 0 0)
1414 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
1415 (v128.const i32x4 -1 -1 -1 -1))
1416(assert_return (invoke "ge_u" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
1417 (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
1418 (v128.const i32x4 -1 -1 -1 -1))
1419(assert_return (invoke "ge_u" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
1420 (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
1421 (v128.const i32x4 -1 -1 -1 -1))
1422(assert_return (invoke "ge_u" (v128.const i32x4 -8323200 0 1 4294967295)
1423 (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
1424 (v128.const i32x4 -1 -1 0 -1))
1425(assert_return (invoke "ge_u" (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA)
1426 (v128.const i8x16 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55))
1427 (v128.const i32x4 -1 -1 -1 -1))
1428
1429;; i32x4.ge_u (i32x4) (i16x8)
1430(assert_return (invoke "ge_u" (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF)
1431 (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
1432 (v128.const i32x4 -1 -1 -1 -1))
1433(assert_return (invoke "ge_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
1434 (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
1435 (v128.const i32x4 -1 -1 -1 -1))
1436(assert_return (invoke "ge_u" (v128.const i32x4 0 0 0 0)
1437 (v128.const i16x8 0 0 0 0 0 0 0 0))
1438 (v128.const i32x4 -1 -1 -1 -1))
1439(assert_return (invoke "ge_u" (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C)
1440 (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E))
1441 (v128.const i32x4 -1 -1 -1 -1))
1442(assert_return (invoke "ge_u" (v128.const i32x4 2206368128 16776957 2130837760 4294901120)
1443 (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
1444 (v128.const i32x4 -1 -1 -1 -1))
1445(assert_return (invoke "ge_u" (v128.const i32x4 -128 0 1 255)
1446 (v128.const i16x8 65535 65535 0 0 1 1 32768 32768))
1447 (v128.const i32x4 0 -1 0 0))
1448(assert_return (invoke "ge_u" (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA)
1449 (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555))
1450 (v128.const i32x4 -1 -1 -1 -1))
1451(assert_return (invoke "ge_u" (v128.const i32x4 0_123_456_789 0_123_456_789 0_123_456_789 0_123_456_789)
1452 (v128.const i32x4 123456789 123456789 123456789 123456789))
1453 (v128.const i32x4 -1 -1 -1 -1))
1454(assert_return (invoke "ge_u" (v128.const i32x4 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678 0x0_1234_5678)
1455 (v128.const i32x4 0x12345678 0x12345678 0x12345678 0x12345678))
1456 (v128.const i32x4 -1 -1 -1 -1))
1457
1458
1459;; Type check
1460
1461(assert_invalid (module (func (result v128) (i32x4.eq (i32.const 0) (f32.const 0)))) "type mismatch")
1462(assert_invalid (module (func (result v128) (i32x4.ge_s (i32.const 0) (f32.const 0)))) "type mismatch")
1463(assert_invalid (module (func (result v128) (i32x4.ge_u (i32.const 0) (f32.const 0)))) "type mismatch")
1464(assert_invalid (module (func (result v128) (i32x4.gt_s (i32.const 0) (f32.const 0)))) "type mismatch")
1465(assert_invalid (module (func (result v128) (i32x4.gt_u (i32.const 0) (f32.const 0)))) "type mismatch")
1466(assert_invalid (module (func (result v128) (i32x4.le_s (i32.const 0) (f32.const 0)))) "type mismatch")
1467(assert_invalid (module (func (result v128) (i32x4.le_u (i32.const 0) (f32.const 0)))) "type mismatch")
1468(assert_invalid (module (func (result v128) (i32x4.lt_s (i32.const 0) (f32.const 0)))) "type mismatch")
1469(assert_invalid (module (func (result v128) (i32x4.lt_u (i32.const 0) (f32.const 0)))) "type mismatch")
1470(assert_invalid (module (func (result v128) (i32x4.ne (i32.const 0) (f32.const 0)))) "type mismatch")
1471
1472
1473;; combination
1474
1475(module (memory 1)
1476 (func (export "eq-in-block")
1477 (block
1478 (drop
1479 (block (result v128)
1480 (i32x4.eq
1481 (block (result v128) (v128.load (i32.const 0)))
1482 (block (result v128) (v128.load (i32.const 1)))
1483 )
1484 )
1485 )
1486 )
1487 )
1488 (func (export "ne-in-block")
1489 (block
1490 (drop
1491 (block (result v128)
1492 (i32x4.ne
1493 (block (result v128) (v128.load (i32.const 0)))
1494 (block (result v128) (v128.load (i32.const 1)))
1495 )
1496 )
1497 )
1498 )
1499 )
1500 (func (export "lt_s-in-block")
1501 (block
1502 (drop
1503 (block (result v128)
1504 (i32x4.lt_s
1505 (block (result v128) (v128.load (i32.const 0)))
1506 (block (result v128) (v128.load (i32.const 1)))
1507 )
1508 )
1509 )
1510 )
1511 )
1512 (func (export "le_u-in-block")
1513 (block
1514 (drop
1515 (block (result v128)
1516 (i32x4.le_u
1517 (block (result v128) (v128.load (i32.const 0)))
1518 (block (result v128) (v128.load (i32.const 1)))
1519 )
1520 )
1521 )
1522 )
1523 )
1524 (func (export "gt_u-in-block")
1525 (block
1526 (drop
1527 (block (result v128)
1528 (i32x4.gt_u
1529 (block (result v128) (v128.load (i32.const 0)))
1530 (block (result v128) (v128.load (i32.const 1)))
1531 )
1532 )
1533 )
1534 )
1535 )
1536 (func (export "ge_s-in-block")
1537 (block
1538 (drop
1539 (block (result v128)
1540 (i32x4.ge_s
1541 (block (result v128) (v128.load (i32.const 0)))
1542 (block (result v128) (v128.load (i32.const 1)))
1543 )
1544 )
1545 )
1546 )
1547 )
1548 (func (export "nested-eq")
1549 (drop
1550 (i32x4.eq
1551 (i32x4.eq
1552 (i32x4.eq
1553 (v128.load (i32.const 0))
1554 (v128.load (i32.const 1))
1555 )
1556 (i32x4.eq
1557 (v128.load (i32.const 2))
1558 (v128.load (i32.const 3))
1559 )
1560 )
1561 (i32x4.eq
1562 (i32x4.eq
1563 (v128.load (i32.const 0))
1564 (v128.load (i32.const 1))
1565 )
1566 (i32x4.eq
1567 (v128.load (i32.const 2))
1568 (v128.load (i32.const 3))
1569 )
1570 )
1571 )
1572 )
1573 )
1574 (func (export "nested-ne")
1575 (drop
1576 (i32x4.ne
1577 (i32x4.ne
1578 (i32x4.ne
1579 (v128.load (i32.const 0))
1580 (v128.load (i32.const 1))
1581 )
1582 (i32x4.ne
1583 (v128.load (i32.const 2))
1584 (v128.load (i32.const 3))
1585 )
1586 )
1587 (i32x4.ne
1588 (i32x4.ne
1589 (v128.load (i32.const 0))
1590 (v128.load (i32.const 1))
1591 )
1592 (i32x4.ne
1593 (v128.load (i32.const 2))
1594 (v128.load (i32.const 3))
1595 )
1596 )
1597 )
1598 )
1599 )
1600 (func (export "nested-lt_s")
1601 (drop
1602 (i32x4.lt_s
1603 (i32x4.lt_s
1604 (i32x4.lt_s
1605 (v128.load (i32.const 0))
1606 (v128.load (i32.const 1))
1607 )
1608 (i32x4.lt_s
1609 (v128.load (i32.const 2))
1610 (v128.load (i32.const 3))
1611 )
1612 )
1613 (i32x4.lt_s
1614 (i32x4.lt_s
1615 (v128.load (i32.const 0))
1616 (v128.load (i32.const 1))
1617 )
1618 (i32x4.lt_s
1619 (v128.load (i32.const 2))
1620 (v128.load (i32.const 3))
1621 )
1622 )
1623 )
1624 )
1625 )
1626 (func (export "nested-le_u")
1627 (drop
1628 (i32x4.le_u
1629 (i32x4.le_u
1630 (i32x4.le_u
1631 (v128.load (i32.const 0))
1632 (v128.load (i32.const 1))
1633 )
1634 (i32x4.le_u
1635 (v128.load (i32.const 2))
1636 (v128.load (i32.const 3))
1637 )
1638 )
1639 (i32x4.le_u
1640 (i32x4.le_u
1641 (v128.load (i32.const 0))
1642 (v128.load (i32.const 1))
1643 )
1644 (i32x4.le_u
1645 (v128.load (i32.const 2))
1646 (v128.load (i32.const 3))
1647 )
1648 )
1649 )
1650 )
1651 )
1652 (func (export "nested-gt_u")
1653 (drop
1654 (i32x4.gt_u
1655 (i32x4.gt_u
1656 (i32x4.gt_u
1657 (v128.load (i32.const 0))
1658 (v128.load (i32.const 1))
1659 )
1660 (i32x4.gt_u
1661 (v128.load (i32.const 2))
1662 (v128.load (i32.const 3))
1663 )
1664 )
1665 (i32x4.gt_u
1666 (i32x4.gt_u
1667 (v128.load (i32.const 0))
1668 (v128.load (i32.const 1))
1669 )
1670 (i32x4.gt_u
1671 (v128.load (i32.const 2))
1672 (v128.load (i32.const 3))
1673 )
1674 )
1675 )
1676 )
1677 )
1678 (func (export "nested-ge_s")
1679 (drop
1680 (i32x4.ge_s
1681 (i32x4.ge_s
1682 (i32x4.ge_s
1683 (v128.load (i32.const 0))
1684 (v128.load (i32.const 1))
1685 )
1686 (i32x4.ge_s
1687 (v128.load (i32.const 2))
1688 (v128.load (i32.const 3))
1689 )
1690 )
1691 (i32x4.ge_s
1692 (i32x4.ge_s
1693 (v128.load (i32.const 0))
1694 (v128.load (i32.const 1))
1695 )
1696 (i32x4.ge_s
1697 (v128.load (i32.const 2))
1698 (v128.load (i32.const 3))
1699 )
1700 )
1701 )
1702 )
1703 )
1704 (func (export "as-param")
1705 (drop
1706 (i32x4.ge_u
1707 (i32x4.eq
1708 (i32x4.lt_s
1709 (v128.load (i32.const 0))
1710 (v128.load (i32.const 1))
1711 )
1712 (i32x4.le_u
1713 (v128.load (i32.const 2))
1714 (v128.load (i32.const 3))
1715 )
1716 )
1717 (i32x4.ne
1718 (i32x4.gt_s
1719 (v128.load (i32.const 0))
1720 (v128.load (i32.const 1))
1721 )
1722 (i32x4.lt_u
1723 (v128.load (i32.const 2))
1724 (v128.load (i32.const 3))
1725 )
1726 )
1727 )
1728 )
1729 )
1730)
1731(assert_return (invoke "eq-in-block"))
1732(assert_return (invoke "ne-in-block"))
1733(assert_return (invoke "lt_s-in-block"))
1734(assert_return (invoke "le_u-in-block"))
1735(assert_return (invoke "gt_u-in-block"))
1736(assert_return (invoke "ge_s-in-block"))
1737(assert_return (invoke "nested-eq"))
1738(assert_return (invoke "nested-ne"))
1739(assert_return (invoke "nested-lt_s"))
1740(assert_return (invoke "nested-le_u"))
1741(assert_return (invoke "nested-gt_u"))
1742(assert_return (invoke "nested-ge_s"))
1743(assert_return (invoke "as-param"))
1744
1745
1746;; Test operation with empty argument
1747
1748(assert_invalid
1749 (module
1750 (func $i32x4.eq-1st-arg-empty (result v128)
1751 (i32x4.eq (v128.const i32x4 0 0 0 0))
1752 )
1753 )
1754 "type mismatch"
1755)
1756(assert_invalid
1757 (module
1758 (func $i32x4.eq-arg-empty (result v128)
1759 (i32x4.eq)
1760 )
1761 )
1762 "type mismatch"
1763)
1764(assert_invalid
1765 (module
1766 (func $i32x4.ne-1st-arg-empty (result v128)
1767 (i32x4.ne (v128.const i32x4 0 0 0 0))
1768 )
1769 )
1770 "type mismatch"
1771)
1772(assert_invalid
1773 (module
1774 (func $i32x4.ne-arg-empty (result v128)
1775 (i32x4.ne)
1776 )
1777 )
1778 "type mismatch"
1779)
1780(assert_invalid
1781 (module
1782 (func $i32x4.lt_s-1st-arg-empty (result v128)
1783 (i32x4.lt_s (v128.const i32x4 0 0 0 0))
1784 )
1785 )
1786 "type mismatch"
1787)
1788(assert_invalid
1789 (module
1790 (func $i32x4.lt_s-arg-empty (result v128)
1791 (i32x4.lt_s)
1792 )
1793 )
1794 "type mismatch"
1795)
1796(assert_invalid
1797 (module
1798 (func $i32x4.lt_u-1st-arg-empty (result v128)
1799 (i32x4.lt_u (v128.const i32x4 0 0 0 0))
1800 )
1801 )
1802 "type mismatch"
1803)
1804(assert_invalid
1805 (module
1806 (func $i32x4.lt_u-arg-empty (result v128)
1807 (i32x4.lt_u)
1808 )
1809 )
1810 "type mismatch"
1811)
1812(assert_invalid
1813 (module
1814 (func $i32x4.le_s-1st-arg-empty (result v128)
1815 (i32x4.le_s (v128.const i32x4 0 0 0 0))
1816 )
1817 )
1818 "type mismatch"
1819)
1820(assert_invalid
1821 (module
1822 (func $i32x4.le_s-arg-empty (result v128)
1823 (i32x4.le_s)
1824 )
1825 )
1826 "type mismatch"
1827)
1828(assert_invalid
1829 (module
1830 (func $i32x4.le_u-1st-arg-empty (result v128)
1831 (i32x4.le_u (v128.const i32x4 0 0 0 0))
1832 )
1833 )
1834 "type mismatch"
1835)
1836(assert_invalid
1837 (module
1838 (func $i32x4.le_u-arg-empty (result v128)
1839 (i32x4.le_u)
1840 )
1841 )
1842 "type mismatch"
1843)
1844(assert_invalid
1845 (module
1846 (func $i32x4.gt_s-1st-arg-empty (result v128)
1847 (i32x4.gt_s (v128.const i32x4 0 0 0 0))
1848 )
1849 )
1850 "type mismatch"
1851)
1852(assert_invalid
1853 (module
1854 (func $i32x4.gt_s-arg-empty (result v128)
1855 (i32x4.gt_s)
1856 )
1857 )
1858 "type mismatch"
1859)
1860(assert_invalid
1861 (module
1862 (func $i32x4.gt_u-1st-arg-empty (result v128)
1863 (i32x4.gt_u (v128.const i32x4 0 0 0 0))
1864 )
1865 )
1866 "type mismatch"
1867)
1868(assert_invalid
1869 (module
1870 (func $i32x4.gt_u-arg-empty (result v128)
1871 (i32x4.gt_u)
1872 )
1873 )
1874 "type mismatch"
1875)
1876(assert_invalid
1877 (module
1878 (func $i32x4.ge_s-1st-arg-empty (result v128)
1879 (i32x4.ge_s (v128.const i32x4 0 0 0 0))
1880 )
1881 )
1882 "type mismatch"
1883)
1884(assert_invalid
1885 (module
1886 (func $i32x4.ge_s-arg-empty (result v128)
1887 (i32x4.ge_s)
1888 )
1889 )
1890 "type mismatch"
1891)
1892(assert_invalid
1893 (module
1894 (func $i32x4.ge_u-1st-arg-empty (result v128)
1895 (i32x4.ge_u (v128.const i32x4 0 0 0 0))
1896 )
1897 )
1898 "type mismatch"
1899)
1900(assert_invalid
1901 (module
1902 (func $i32x4.ge_u-arg-empty (result v128)
1903 (i32x4.ge_u)
1904 )
1905 )
1906 "type mismatch"
1907)
1908;; Unknown operators
1909
1910(assert_malformed (module quote "(memory 1) (func (param $x v128) (param $y v128) (result v128) (i4x32.eq (local.get $x) (local.get $y)))") "unknown operator")
1911(assert_malformed (module quote "(memory 1) (func (param $x v128) (param $y v128) (result v128) (i4x32.ne (local.get $x) (local.get $y)))") "unknown operator")
1912(assert_malformed (module quote "(memory 1) (func (param $x v128) (param $y v128) (result v128) (i4x32.lt_s (local.get $x) (local.get $y)))") "unknown operator")
1913(assert_malformed (module quote "(memory 1) (func (param $x v128) (param $y v128) (result v128) (i4x32.lt_u (local.get $x) (local.get $y)))") "unknown operator")
1914(assert_malformed (module quote "(memory 1) (func (param $x v128) (param $y v128) (result v128) (i4x32.le_s (local.get $x) (local.get $y)))") "unknown operator")
1915(assert_malformed (module quote "(memory 1) (func (param $x v128) (param $y v128) (result v128) (i4x32.le_u (local.get $x) (local.get $y)))") "unknown operator")
1916(assert_malformed (module quote "(memory 1) (func (param $x v128) (param $y v128) (result v128) (i4x32.gt_s (local.get $x) (local.get $y)))") "unknown operator")
1917(assert_malformed (module quote "(memory 1) (func (param $x v128) (param $y v128) (result v128) (i4x32.gt_u (local.get $x) (local.get $y)))") "unknown operator")
1918(assert_malformed (module quote "(memory 1) (func (param $x v128) (param $y v128) (result v128) (i4x32.ge_s (local.get $x) (local.get $y)))") "unknown operator")
1919(assert_malformed (module quote "(memory 1) (func (param $x v128) (param $y v128) (result v128) (i4x32.ge_u (local.get $x) (local.get $y)))") "unknown operator")
1920
View as plain text