...
1;; i64 operations
2
3(module
4 (func (export "add") (param $x i64) (param $y i64) (result i64) (i64.add (local.get $x) (local.get $y)))
5 (func (export "sub") (param $x i64) (param $y i64) (result i64) (i64.sub (local.get $x) (local.get $y)))
6 (func (export "mul") (param $x i64) (param $y i64) (result i64) (i64.mul (local.get $x) (local.get $y)))
7 (func (export "div_s") (param $x i64) (param $y i64) (result i64) (i64.div_s (local.get $x) (local.get $y)))
8 (func (export "div_u") (param $x i64) (param $y i64) (result i64) (i64.div_u (local.get $x) (local.get $y)))
9 (func (export "rem_s") (param $x i64) (param $y i64) (result i64) (i64.rem_s (local.get $x) (local.get $y)))
10 (func (export "rem_u") (param $x i64) (param $y i64) (result i64) (i64.rem_u (local.get $x) (local.get $y)))
11 (func (export "and") (param $x i64) (param $y i64) (result i64) (i64.and (local.get $x) (local.get $y)))
12 (func (export "or") (param $x i64) (param $y i64) (result i64) (i64.or (local.get $x) (local.get $y)))
13 (func (export "xor") (param $x i64) (param $y i64) (result i64) (i64.xor (local.get $x) (local.get $y)))
14 (func (export "shl") (param $x i64) (param $y i64) (result i64) (i64.shl (local.get $x) (local.get $y)))
15 (func (export "shr_s") (param $x i64) (param $y i64) (result i64) (i64.shr_s (local.get $x) (local.get $y)))
16 (func (export "shr_u") (param $x i64) (param $y i64) (result i64) (i64.shr_u (local.get $x) (local.get $y)))
17 (func (export "rotl") (param $x i64) (param $y i64) (result i64) (i64.rotl (local.get $x) (local.get $y)))
18 (func (export "rotr") (param $x i64) (param $y i64) (result i64) (i64.rotr (local.get $x) (local.get $y)))
19 (func (export "clz") (param $x i64) (result i64) (i64.clz (local.get $x)))
20 (func (export "ctz") (param $x i64) (result i64) (i64.ctz (local.get $x)))
21 (func (export "popcnt") (param $x i64) (result i64) (i64.popcnt (local.get $x)))
22 (func (export "extend8_s") (param $x i64) (result i64) (i64.extend8_s (local.get $x)))
23 (func (export "extend16_s") (param $x i64) (result i64) (i64.extend16_s (local.get $x)))
24 (func (export "extend32_s") (param $x i64) (result i64) (i64.extend32_s (local.get $x)))
25 (func (export "eqz") (param $x i64) (result i32) (i64.eqz (local.get $x)))
26 (func (export "eq") (param $x i64) (param $y i64) (result i32) (i64.eq (local.get $x) (local.get $y)))
27 (func (export "ne") (param $x i64) (param $y i64) (result i32) (i64.ne (local.get $x) (local.get $y)))
28 (func (export "lt_s") (param $x i64) (param $y i64) (result i32) (i64.lt_s (local.get $x) (local.get $y)))
29 (func (export "lt_u") (param $x i64) (param $y i64) (result i32) (i64.lt_u (local.get $x) (local.get $y)))
30 (func (export "le_s") (param $x i64) (param $y i64) (result i32) (i64.le_s (local.get $x) (local.get $y)))
31 (func (export "le_u") (param $x i64) (param $y i64) (result i32) (i64.le_u (local.get $x) (local.get $y)))
32 (func (export "gt_s") (param $x i64) (param $y i64) (result i32) (i64.gt_s (local.get $x) (local.get $y)))
33 (func (export "gt_u") (param $x i64) (param $y i64) (result i32) (i64.gt_u (local.get $x) (local.get $y)))
34 (func (export "ge_s") (param $x i64) (param $y i64) (result i32) (i64.ge_s (local.get $x) (local.get $y)))
35 (func (export "ge_u") (param $x i64) (param $y i64) (result i32) (i64.ge_u (local.get $x) (local.get $y)))
36)
37
38(assert_return (invoke "add" (i64.const 1) (i64.const 1)) (i64.const 2))
39(assert_return (invoke "add" (i64.const 1) (i64.const 0)) (i64.const 1))
40(assert_return (invoke "add" (i64.const -1) (i64.const -1)) (i64.const -2))
41(assert_return (invoke "add" (i64.const -1) (i64.const 1)) (i64.const 0))
42(assert_return (invoke "add" (i64.const 0x7fffffffffffffff) (i64.const 1)) (i64.const 0x8000000000000000))
43(assert_return (invoke "add" (i64.const 0x8000000000000000) (i64.const -1)) (i64.const 0x7fffffffffffffff))
44(assert_return (invoke "add" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i64.const 0))
45(assert_return (invoke "add" (i64.const 0x3fffffff) (i64.const 1)) (i64.const 0x40000000))
46
47(assert_return (invoke "sub" (i64.const 1) (i64.const 1)) (i64.const 0))
48(assert_return (invoke "sub" (i64.const 1) (i64.const 0)) (i64.const 1))
49(assert_return (invoke "sub" (i64.const -1) (i64.const -1)) (i64.const 0))
50(assert_return (invoke "sub" (i64.const 0x7fffffffffffffff) (i64.const -1)) (i64.const 0x8000000000000000))
51(assert_return (invoke "sub" (i64.const 0x8000000000000000) (i64.const 1)) (i64.const 0x7fffffffffffffff))
52(assert_return (invoke "sub" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i64.const 0))
53(assert_return (invoke "sub" (i64.const 0x3fffffff) (i64.const -1)) (i64.const 0x40000000))
54
55(assert_return (invoke "mul" (i64.const 1) (i64.const 1)) (i64.const 1))
56(assert_return (invoke "mul" (i64.const 1) (i64.const 0)) (i64.const 0))
57(assert_return (invoke "mul" (i64.const -1) (i64.const -1)) (i64.const 1))
58(assert_return (invoke "mul" (i64.const 0x1000000000000000) (i64.const 4096)) (i64.const 0))
59(assert_return (invoke "mul" (i64.const 0x8000000000000000) (i64.const 0)) (i64.const 0))
60(assert_return (invoke "mul" (i64.const 0x8000000000000000) (i64.const -1)) (i64.const 0x8000000000000000))
61(assert_return (invoke "mul" (i64.const 0x7fffffffffffffff) (i64.const -1)) (i64.const 0x8000000000000001))
62(assert_return (invoke "mul" (i64.const 0x0123456789abcdef) (i64.const 0xfedcba9876543210)) (i64.const 0x2236d88fe5618cf0))
63(assert_return (invoke "mul" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i64.const 1))
64
65(assert_trap (invoke "div_s" (i64.const 1) (i64.const 0)) "integer divide by zero")
66(assert_trap (invoke "div_s" (i64.const 0) (i64.const 0)) "integer divide by zero")
67(assert_trap (invoke "div_s" (i64.const 0x8000000000000000) (i64.const -1)) "integer overflow")
68(assert_trap (invoke "div_s" (i64.const 0x8000000000000000) (i64.const 0)) "integer divide by zero")
69(assert_return (invoke "div_s" (i64.const 1) (i64.const 1)) (i64.const 1))
70(assert_return (invoke "div_s" (i64.const 0) (i64.const 1)) (i64.const 0))
71(assert_return (invoke "div_s" (i64.const 0) (i64.const -1)) (i64.const 0))
72(assert_return (invoke "div_s" (i64.const -1) (i64.const -1)) (i64.const 1))
73(assert_return (invoke "div_s" (i64.const 0x8000000000000000) (i64.const 2)) (i64.const 0xc000000000000000))
74(assert_return (invoke "div_s" (i64.const 0x8000000000000001) (i64.const 1000)) (i64.const 0xffdf3b645a1cac09))
75(assert_return (invoke "div_s" (i64.const 5) (i64.const 2)) (i64.const 2))
76(assert_return (invoke "div_s" (i64.const -5) (i64.const 2)) (i64.const -2))
77(assert_return (invoke "div_s" (i64.const 5) (i64.const -2)) (i64.const -2))
78(assert_return (invoke "div_s" (i64.const -5) (i64.const -2)) (i64.const 2))
79(assert_return (invoke "div_s" (i64.const 7) (i64.const 3)) (i64.const 2))
80(assert_return (invoke "div_s" (i64.const -7) (i64.const 3)) (i64.const -2))
81(assert_return (invoke "div_s" (i64.const 7) (i64.const -3)) (i64.const -2))
82(assert_return (invoke "div_s" (i64.const -7) (i64.const -3)) (i64.const 2))
83(assert_return (invoke "div_s" (i64.const 11) (i64.const 5)) (i64.const 2))
84(assert_return (invoke "div_s" (i64.const 17) (i64.const 7)) (i64.const 2))
85
86(assert_trap (invoke "div_u" (i64.const 1) (i64.const 0)) "integer divide by zero")
87(assert_trap (invoke "div_u" (i64.const 0) (i64.const 0)) "integer divide by zero")
88(assert_return (invoke "div_u" (i64.const 1) (i64.const 1)) (i64.const 1))
89(assert_return (invoke "div_u" (i64.const 0) (i64.const 1)) (i64.const 0))
90(assert_return (invoke "div_u" (i64.const -1) (i64.const -1)) (i64.const 1))
91(assert_return (invoke "div_u" (i64.const 0x8000000000000000) (i64.const -1)) (i64.const 0))
92(assert_return (invoke "div_u" (i64.const 0x8000000000000000) (i64.const 2)) (i64.const 0x4000000000000000))
93(assert_return (invoke "div_u" (i64.const 0x8ff00ff00ff00ff0) (i64.const 0x100000001)) (i64.const 0x8ff00fef))
94(assert_return (invoke "div_u" (i64.const 0x8000000000000001) (i64.const 1000)) (i64.const 0x20c49ba5e353f7))
95(assert_return (invoke "div_u" (i64.const 5) (i64.const 2)) (i64.const 2))
96(assert_return (invoke "div_u" (i64.const -5) (i64.const 2)) (i64.const 0x7ffffffffffffffd))
97(assert_return (invoke "div_u" (i64.const 5) (i64.const -2)) (i64.const 0))
98(assert_return (invoke "div_u" (i64.const -5) (i64.const -2)) (i64.const 0))
99(assert_return (invoke "div_u" (i64.const 7) (i64.const 3)) (i64.const 2))
100(assert_return (invoke "div_u" (i64.const 11) (i64.const 5)) (i64.const 2))
101(assert_return (invoke "div_u" (i64.const 17) (i64.const 7)) (i64.const 2))
102
103(assert_trap (invoke "rem_s" (i64.const 1) (i64.const 0)) "integer divide by zero")
104(assert_trap (invoke "rem_s" (i64.const 0) (i64.const 0)) "integer divide by zero")
105(assert_return (invoke "rem_s" (i64.const 0x7fffffffffffffff) (i64.const -1)) (i64.const 0))
106(assert_return (invoke "rem_s" (i64.const 1) (i64.const 1)) (i64.const 0))
107(assert_return (invoke "rem_s" (i64.const 0) (i64.const 1)) (i64.const 0))
108(assert_return (invoke "rem_s" (i64.const 0) (i64.const -1)) (i64.const 0))
109(assert_return (invoke "rem_s" (i64.const -1) (i64.const -1)) (i64.const 0))
110(assert_return (invoke "rem_s" (i64.const 0x8000000000000000) (i64.const -1)) (i64.const 0))
111(assert_return (invoke "rem_s" (i64.const 0x8000000000000000) (i64.const 2)) (i64.const 0))
112(assert_return (invoke "rem_s" (i64.const 0x8000000000000001) (i64.const 1000)) (i64.const -807))
113(assert_return (invoke "rem_s" (i64.const 5) (i64.const 2)) (i64.const 1))
114(assert_return (invoke "rem_s" (i64.const -5) (i64.const 2)) (i64.const -1))
115(assert_return (invoke "rem_s" (i64.const 5) (i64.const -2)) (i64.const 1))
116(assert_return (invoke "rem_s" (i64.const -5) (i64.const -2)) (i64.const -1))
117(assert_return (invoke "rem_s" (i64.const 7) (i64.const 3)) (i64.const 1))
118(assert_return (invoke "rem_s" (i64.const -7) (i64.const 3)) (i64.const -1))
119(assert_return (invoke "rem_s" (i64.const 7) (i64.const -3)) (i64.const 1))
120(assert_return (invoke "rem_s" (i64.const -7) (i64.const -3)) (i64.const -1))
121(assert_return (invoke "rem_s" (i64.const 11) (i64.const 5)) (i64.const 1))
122(assert_return (invoke "rem_s" (i64.const 17) (i64.const 7)) (i64.const 3))
123
124(assert_trap (invoke "rem_u" (i64.const 1) (i64.const 0)) "integer divide by zero")
125(assert_trap (invoke "rem_u" (i64.const 0) (i64.const 0)) "integer divide by zero")
126(assert_return (invoke "rem_u" (i64.const 1) (i64.const 1)) (i64.const 0))
127(assert_return (invoke "rem_u" (i64.const 0) (i64.const 1)) (i64.const 0))
128(assert_return (invoke "rem_u" (i64.const -1) (i64.const -1)) (i64.const 0))
129(assert_return (invoke "rem_u" (i64.const 0x8000000000000000) (i64.const -1)) (i64.const 0x8000000000000000))
130(assert_return (invoke "rem_u" (i64.const 0x8000000000000000) (i64.const 2)) (i64.const 0))
131(assert_return (invoke "rem_u" (i64.const 0x8ff00ff00ff00ff0) (i64.const 0x100000001)) (i64.const 0x80000001))
132(assert_return (invoke "rem_u" (i64.const 0x8000000000000001) (i64.const 1000)) (i64.const 809))
133(assert_return (invoke "rem_u" (i64.const 5) (i64.const 2)) (i64.const 1))
134(assert_return (invoke "rem_u" (i64.const -5) (i64.const 2)) (i64.const 1))
135(assert_return (invoke "rem_u" (i64.const 5) (i64.const -2)) (i64.const 5))
136(assert_return (invoke "rem_u" (i64.const -5) (i64.const -2)) (i64.const -5))
137(assert_return (invoke "rem_u" (i64.const 7) (i64.const 3)) (i64.const 1))
138(assert_return (invoke "rem_u" (i64.const 11) (i64.const 5)) (i64.const 1))
139(assert_return (invoke "rem_u" (i64.const 17) (i64.const 7)) (i64.const 3))
140
141(assert_return (invoke "and" (i64.const 1) (i64.const 0)) (i64.const 0))
142(assert_return (invoke "and" (i64.const 0) (i64.const 1)) (i64.const 0))
143(assert_return (invoke "and" (i64.const 1) (i64.const 1)) (i64.const 1))
144(assert_return (invoke "and" (i64.const 0) (i64.const 0)) (i64.const 0))
145(assert_return (invoke "and" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i64.const 0))
146(assert_return (invoke "and" (i64.const 0x7fffffffffffffff) (i64.const -1)) (i64.const 0x7fffffffffffffff))
147(assert_return (invoke "and" (i64.const 0xf0f0ffff) (i64.const 0xfffff0f0)) (i64.const 0xf0f0f0f0))
148(assert_return (invoke "and" (i64.const 0xffffffffffffffff) (i64.const 0xffffffffffffffff)) (i64.const 0xffffffffffffffff))
149
150(assert_return (invoke "or" (i64.const 1) (i64.const 0)) (i64.const 1))
151(assert_return (invoke "or" (i64.const 0) (i64.const 1)) (i64.const 1))
152(assert_return (invoke "or" (i64.const 1) (i64.const 1)) (i64.const 1))
153(assert_return (invoke "or" (i64.const 0) (i64.const 0)) (i64.const 0))
154(assert_return (invoke "or" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i64.const -1))
155(assert_return (invoke "or" (i64.const 0x8000000000000000) (i64.const 0)) (i64.const 0x8000000000000000))
156(assert_return (invoke "or" (i64.const 0xf0f0ffff) (i64.const 0xfffff0f0)) (i64.const 0xffffffff))
157(assert_return (invoke "or" (i64.const 0xffffffffffffffff) (i64.const 0xffffffffffffffff)) (i64.const 0xffffffffffffffff))
158
159(assert_return (invoke "xor" (i64.const 1) (i64.const 0)) (i64.const 1))
160(assert_return (invoke "xor" (i64.const 0) (i64.const 1)) (i64.const 1))
161(assert_return (invoke "xor" (i64.const 1) (i64.const 1)) (i64.const 0))
162(assert_return (invoke "xor" (i64.const 0) (i64.const 0)) (i64.const 0))
163(assert_return (invoke "xor" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i64.const -1))
164(assert_return (invoke "xor" (i64.const 0x8000000000000000) (i64.const 0)) (i64.const 0x8000000000000000))
165(assert_return (invoke "xor" (i64.const -1) (i64.const 0x8000000000000000)) (i64.const 0x7fffffffffffffff))
166(assert_return (invoke "xor" (i64.const -1) (i64.const 0x7fffffffffffffff)) (i64.const 0x8000000000000000))
167(assert_return (invoke "xor" (i64.const 0xf0f0ffff) (i64.const 0xfffff0f0)) (i64.const 0x0f0f0f0f))
168(assert_return (invoke "xor" (i64.const 0xffffffffffffffff) (i64.const 0xffffffffffffffff)) (i64.const 0))
169
170(assert_return (invoke "shl" (i64.const 1) (i64.const 1)) (i64.const 2))
171(assert_return (invoke "shl" (i64.const 1) (i64.const 0)) (i64.const 1))
172(assert_return (invoke "shl" (i64.const 0x7fffffffffffffff) (i64.const 1)) (i64.const 0xfffffffffffffffe))
173(assert_return (invoke "shl" (i64.const 0xffffffffffffffff) (i64.const 1)) (i64.const 0xfffffffffffffffe))
174(assert_return (invoke "shl" (i64.const 0x8000000000000000) (i64.const 1)) (i64.const 0))
175(assert_return (invoke "shl" (i64.const 0x4000000000000000) (i64.const 1)) (i64.const 0x8000000000000000))
176(assert_return (invoke "shl" (i64.const 1) (i64.const 63)) (i64.const 0x8000000000000000))
177(assert_return (invoke "shl" (i64.const 1) (i64.const 64)) (i64.const 1))
178(assert_return (invoke "shl" (i64.const 1) (i64.const 65)) (i64.const 2))
179(assert_return (invoke "shl" (i64.const 1) (i64.const -1)) (i64.const 0x8000000000000000))
180(assert_return (invoke "shl" (i64.const 1) (i64.const 0x7fffffffffffffff)) (i64.const 0x8000000000000000))
181
182(assert_return (invoke "shr_s" (i64.const 1) (i64.const 1)) (i64.const 0))
183(assert_return (invoke "shr_s" (i64.const 1) (i64.const 0)) (i64.const 1))
184(assert_return (invoke "shr_s" (i64.const -1) (i64.const 1)) (i64.const -1))
185(assert_return (invoke "shr_s" (i64.const 0x7fffffffffffffff) (i64.const 1)) (i64.const 0x3fffffffffffffff))
186(assert_return (invoke "shr_s" (i64.const 0x8000000000000000) (i64.const 1)) (i64.const 0xc000000000000000))
187(assert_return (invoke "shr_s" (i64.const 0x4000000000000000) (i64.const 1)) (i64.const 0x2000000000000000))
188(assert_return (invoke "shr_s" (i64.const 1) (i64.const 64)) (i64.const 1))
189(assert_return (invoke "shr_s" (i64.const 1) (i64.const 65)) (i64.const 0))
190(assert_return (invoke "shr_s" (i64.const 1) (i64.const -1)) (i64.const 0))
191(assert_return (invoke "shr_s" (i64.const 1) (i64.const 0x7fffffffffffffff)) (i64.const 0))
192(assert_return (invoke "shr_s" (i64.const 1) (i64.const 0x8000000000000000)) (i64.const 1))
193(assert_return (invoke "shr_s" (i64.const 0x8000000000000000) (i64.const 63)) (i64.const -1))
194(assert_return (invoke "shr_s" (i64.const -1) (i64.const 64)) (i64.const -1))
195(assert_return (invoke "shr_s" (i64.const -1) (i64.const 65)) (i64.const -1))
196(assert_return (invoke "shr_s" (i64.const -1) (i64.const -1)) (i64.const -1))
197(assert_return (invoke "shr_s" (i64.const -1) (i64.const 0x7fffffffffffffff)) (i64.const -1))
198(assert_return (invoke "shr_s" (i64.const -1) (i64.const 0x8000000000000000)) (i64.const -1))
199
200(assert_return (invoke "shr_u" (i64.const 1) (i64.const 1)) (i64.const 0))
201(assert_return (invoke "shr_u" (i64.const 1) (i64.const 0)) (i64.const 1))
202(assert_return (invoke "shr_u" (i64.const -1) (i64.const 1)) (i64.const 0x7fffffffffffffff))
203(assert_return (invoke "shr_u" (i64.const 0x7fffffffffffffff) (i64.const 1)) (i64.const 0x3fffffffffffffff))
204(assert_return (invoke "shr_u" (i64.const 0x8000000000000000) (i64.const 1)) (i64.const 0x4000000000000000))
205(assert_return (invoke "shr_u" (i64.const 0x4000000000000000) (i64.const 1)) (i64.const 0x2000000000000000))
206(assert_return (invoke "shr_u" (i64.const 1) (i64.const 64)) (i64.const 1))
207(assert_return (invoke "shr_u" (i64.const 1) (i64.const 65)) (i64.const 0))
208(assert_return (invoke "shr_u" (i64.const 1) (i64.const -1)) (i64.const 0))
209(assert_return (invoke "shr_u" (i64.const 1) (i64.const 0x7fffffffffffffff)) (i64.const 0))
210(assert_return (invoke "shr_u" (i64.const 1) (i64.const 0x8000000000000000)) (i64.const 1))
211(assert_return (invoke "shr_u" (i64.const 0x8000000000000000) (i64.const 63)) (i64.const 1))
212(assert_return (invoke "shr_u" (i64.const -1) (i64.const 64)) (i64.const -1))
213(assert_return (invoke "shr_u" (i64.const -1) (i64.const 65)) (i64.const 0x7fffffffffffffff))
214(assert_return (invoke "shr_u" (i64.const -1) (i64.const -1)) (i64.const 1))
215(assert_return (invoke "shr_u" (i64.const -1) (i64.const 0x7fffffffffffffff)) (i64.const 1))
216(assert_return (invoke "shr_u" (i64.const -1) (i64.const 0x8000000000000000)) (i64.const -1))
217
218(assert_return (invoke "rotl" (i64.const 1) (i64.const 1)) (i64.const 2))
219(assert_return (invoke "rotl" (i64.const 1) (i64.const 0)) (i64.const 1))
220(assert_return (invoke "rotl" (i64.const -1) (i64.const 1)) (i64.const -1))
221(assert_return (invoke "rotl" (i64.const 1) (i64.const 64)) (i64.const 1))
222(assert_return (invoke "rotl" (i64.const 0xabcd987602468ace) (i64.const 1)) (i64.const 0x579b30ec048d159d))
223(assert_return (invoke "rotl" (i64.const 0xfe000000dc000000) (i64.const 4)) (i64.const 0xe000000dc000000f))
224(assert_return (invoke "rotl" (i64.const 0xabcd1234ef567809) (i64.const 53)) (i64.const 0x013579a2469deacf))
225(assert_return (invoke "rotl" (i64.const 0xabd1234ef567809c) (i64.const 63)) (i64.const 0x55e891a77ab3c04e))
226(assert_return (invoke "rotl" (i64.const 0xabcd1234ef567809) (i64.const 0xf5)) (i64.const 0x013579a2469deacf))
227(assert_return (invoke "rotl" (i64.const 0xabcd7294ef567809) (i64.const 0xffffffffffffffed)) (i64.const 0xcf013579ae529dea))
228(assert_return (invoke "rotl" (i64.const 0xabd1234ef567809c) (i64.const 0x800000000000003f)) (i64.const 0x55e891a77ab3c04e))
229(assert_return (invoke "rotl" (i64.const 1) (i64.const 63)) (i64.const 0x8000000000000000))
230(assert_return (invoke "rotl" (i64.const 0x8000000000000000) (i64.const 1)) (i64.const 1))
231
232(assert_return (invoke "rotr" (i64.const 1) (i64.const 1)) (i64.const 0x8000000000000000))
233(assert_return (invoke "rotr" (i64.const 1) (i64.const 0)) (i64.const 1))
234(assert_return (invoke "rotr" (i64.const -1) (i64.const 1)) (i64.const -1))
235(assert_return (invoke "rotr" (i64.const 1) (i64.const 64)) (i64.const 1))
236(assert_return (invoke "rotr" (i64.const 0xabcd987602468ace) (i64.const 1)) (i64.const 0x55e6cc3b01234567))
237(assert_return (invoke "rotr" (i64.const 0xfe000000dc000000) (i64.const 4)) (i64.const 0x0fe000000dc00000))
238(assert_return (invoke "rotr" (i64.const 0xabcd1234ef567809) (i64.const 53)) (i64.const 0x6891a77ab3c04d5e))
239(assert_return (invoke "rotr" (i64.const 0xabd1234ef567809c) (i64.const 63)) (i64.const 0x57a2469deacf0139))
240(assert_return (invoke "rotr" (i64.const 0xabcd1234ef567809) (i64.const 0xf5)) (i64.const 0x6891a77ab3c04d5e))
241(assert_return (invoke "rotr" (i64.const 0xabcd7294ef567809) (i64.const 0xffffffffffffffed)) (i64.const 0x94a77ab3c04d5e6b))
242(assert_return (invoke "rotr" (i64.const 0xabd1234ef567809c) (i64.const 0x800000000000003f)) (i64.const 0x57a2469deacf0139))
243(assert_return (invoke "rotr" (i64.const 1) (i64.const 63)) (i64.const 2))
244(assert_return (invoke "rotr" (i64.const 0x8000000000000000) (i64.const 63)) (i64.const 1))
245
246(assert_return (invoke "clz" (i64.const 0xffffffffffffffff)) (i64.const 0))
247(assert_return (invoke "clz" (i64.const 0)) (i64.const 64))
248(assert_return (invoke "clz" (i64.const 0x00008000)) (i64.const 48))
249(assert_return (invoke "clz" (i64.const 0xff)) (i64.const 56))
250(assert_return (invoke "clz" (i64.const 0x8000000000000000)) (i64.const 0))
251(assert_return (invoke "clz" (i64.const 1)) (i64.const 63))
252(assert_return (invoke "clz" (i64.const 2)) (i64.const 62))
253(assert_return (invoke "clz" (i64.const 0x7fffffffffffffff)) (i64.const 1))
254
255(assert_return (invoke "ctz" (i64.const -1)) (i64.const 0))
256(assert_return (invoke "ctz" (i64.const 0)) (i64.const 64))
257(assert_return (invoke "ctz" (i64.const 0x00008000)) (i64.const 15))
258(assert_return (invoke "ctz" (i64.const 0x00010000)) (i64.const 16))
259(assert_return (invoke "ctz" (i64.const 0x8000000000000000)) (i64.const 63))
260(assert_return (invoke "ctz" (i64.const 0x7fffffffffffffff)) (i64.const 0))
261
262(assert_return (invoke "popcnt" (i64.const -1)) (i64.const 64))
263(assert_return (invoke "popcnt" (i64.const 0)) (i64.const 0))
264(assert_return (invoke "popcnt" (i64.const 0x00008000)) (i64.const 1))
265(assert_return (invoke "popcnt" (i64.const 0x8000800080008000)) (i64.const 4))
266(assert_return (invoke "popcnt" (i64.const 0x7fffffffffffffff)) (i64.const 63))
267(assert_return (invoke "popcnt" (i64.const 0xAAAAAAAA55555555)) (i64.const 32))
268(assert_return (invoke "popcnt" (i64.const 0x99999999AAAAAAAA)) (i64.const 32))
269(assert_return (invoke "popcnt" (i64.const 0xDEADBEEFDEADBEEF)) (i64.const 48))
270
271(assert_return (invoke "extend8_s" (i64.const 0)) (i64.const 0))
272(assert_return (invoke "extend8_s" (i64.const 0x7f)) (i64.const 127))
273(assert_return (invoke "extend8_s" (i64.const 0x80)) (i64.const -128))
274(assert_return (invoke "extend8_s" (i64.const 0xff)) (i64.const -1))
275(assert_return (invoke "extend8_s" (i64.const 0x01234567_89abcd_00)) (i64.const 0))
276(assert_return (invoke "extend8_s" (i64.const 0xfedcba98_765432_80)) (i64.const -0x80))
277(assert_return (invoke "extend8_s" (i64.const -1)) (i64.const -1))
278
279(assert_return (invoke "extend16_s" (i64.const 0)) (i64.const 0))
280(assert_return (invoke "extend16_s" (i64.const 0x7fff)) (i64.const 32767))
281(assert_return (invoke "extend16_s" (i64.const 0x8000)) (i64.const -32768))
282(assert_return (invoke "extend16_s" (i64.const 0xffff)) (i64.const -1))
283(assert_return (invoke "extend16_s" (i64.const 0x12345678_9abc_0000)) (i64.const 0))
284(assert_return (invoke "extend16_s" (i64.const 0xfedcba98_7654_8000)) (i64.const -0x8000))
285(assert_return (invoke "extend16_s" (i64.const -1)) (i64.const -1))
286
287(assert_return (invoke "extend32_s" (i64.const 0)) (i64.const 0))
288(assert_return (invoke "extend32_s" (i64.const 0x7fff)) (i64.const 32767))
289(assert_return (invoke "extend32_s" (i64.const 0x8000)) (i64.const 32768))
290(assert_return (invoke "extend32_s" (i64.const 0xffff)) (i64.const 65535))
291(assert_return (invoke "extend32_s" (i64.const 0x7fffffff)) (i64.const 0x7fffffff))
292(assert_return (invoke "extend32_s" (i64.const 0x80000000)) (i64.const -0x80000000))
293(assert_return (invoke "extend32_s" (i64.const 0xffffffff)) (i64.const -1))
294(assert_return (invoke "extend32_s" (i64.const 0x01234567_00000000)) (i64.const 0))
295(assert_return (invoke "extend32_s" (i64.const 0xfedcba98_80000000)) (i64.const -0x80000000))
296(assert_return (invoke "extend32_s" (i64.const -1)) (i64.const -1))
297
298(assert_return (invoke "eqz" (i64.const 0)) (i32.const 1))
299(assert_return (invoke "eqz" (i64.const 1)) (i32.const 0))
300(assert_return (invoke "eqz" (i64.const 0x8000000000000000)) (i32.const 0))
301(assert_return (invoke "eqz" (i64.const 0x7fffffffffffffff)) (i32.const 0))
302(assert_return (invoke "eqz" (i64.const 0xffffffffffffffff)) (i32.const 0))
303
304(assert_return (invoke "eq" (i64.const 0) (i64.const 0)) (i32.const 1))
305(assert_return (invoke "eq" (i64.const 1) (i64.const 1)) (i32.const 1))
306(assert_return (invoke "eq" (i64.const -1) (i64.const 1)) (i32.const 0))
307(assert_return (invoke "eq" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 1))
308(assert_return (invoke "eq" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 1))
309(assert_return (invoke "eq" (i64.const -1) (i64.const -1)) (i32.const 1))
310(assert_return (invoke "eq" (i64.const 1) (i64.const 0)) (i32.const 0))
311(assert_return (invoke "eq" (i64.const 0) (i64.const 1)) (i32.const 0))
312(assert_return (invoke "eq" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 0))
313(assert_return (invoke "eq" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 0))
314(assert_return (invoke "eq" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 0))
315(assert_return (invoke "eq" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 0))
316(assert_return (invoke "eq" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 0))
317(assert_return (invoke "eq" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 0))
318
319(assert_return (invoke "ne" (i64.const 0) (i64.const 0)) (i32.const 0))
320(assert_return (invoke "ne" (i64.const 1) (i64.const 1)) (i32.const 0))
321(assert_return (invoke "ne" (i64.const -1) (i64.const 1)) (i32.const 1))
322(assert_return (invoke "ne" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 0))
323(assert_return (invoke "ne" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 0))
324(assert_return (invoke "ne" (i64.const -1) (i64.const -1)) (i32.const 0))
325(assert_return (invoke "ne" (i64.const 1) (i64.const 0)) (i32.const 1))
326(assert_return (invoke "ne" (i64.const 0) (i64.const 1)) (i32.const 1))
327(assert_return (invoke "ne" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 1))
328(assert_return (invoke "ne" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 1))
329(assert_return (invoke "ne" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 1))
330(assert_return (invoke "ne" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 1))
331(assert_return (invoke "ne" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 1))
332(assert_return (invoke "ne" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 1))
333
334(assert_return (invoke "lt_s" (i64.const 0) (i64.const 0)) (i32.const 0))
335(assert_return (invoke "lt_s" (i64.const 1) (i64.const 1)) (i32.const 0))
336(assert_return (invoke "lt_s" (i64.const -1) (i64.const 1)) (i32.const 1))
337(assert_return (invoke "lt_s" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 0))
338(assert_return (invoke "lt_s" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 0))
339(assert_return (invoke "lt_s" (i64.const -1) (i64.const -1)) (i32.const 0))
340(assert_return (invoke "lt_s" (i64.const 1) (i64.const 0)) (i32.const 0))
341(assert_return (invoke "lt_s" (i64.const 0) (i64.const 1)) (i32.const 1))
342(assert_return (invoke "lt_s" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 1))
343(assert_return (invoke "lt_s" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 0))
344(assert_return (invoke "lt_s" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 1))
345(assert_return (invoke "lt_s" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 0))
346(assert_return (invoke "lt_s" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 1))
347(assert_return (invoke "lt_s" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 0))
348
349(assert_return (invoke "lt_u" (i64.const 0) (i64.const 0)) (i32.const 0))
350(assert_return (invoke "lt_u" (i64.const 1) (i64.const 1)) (i32.const 0))
351(assert_return (invoke "lt_u" (i64.const -1) (i64.const 1)) (i32.const 0))
352(assert_return (invoke "lt_u" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 0))
353(assert_return (invoke "lt_u" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 0))
354(assert_return (invoke "lt_u" (i64.const -1) (i64.const -1)) (i32.const 0))
355(assert_return (invoke "lt_u" (i64.const 1) (i64.const 0)) (i32.const 0))
356(assert_return (invoke "lt_u" (i64.const 0) (i64.const 1)) (i32.const 1))
357(assert_return (invoke "lt_u" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 0))
358(assert_return (invoke "lt_u" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 1))
359(assert_return (invoke "lt_u" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 1))
360(assert_return (invoke "lt_u" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 0))
361(assert_return (invoke "lt_u" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 0))
362(assert_return (invoke "lt_u" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 1))
363
364(assert_return (invoke "le_s" (i64.const 0) (i64.const 0)) (i32.const 1))
365(assert_return (invoke "le_s" (i64.const 1) (i64.const 1)) (i32.const 1))
366(assert_return (invoke "le_s" (i64.const -1) (i64.const 1)) (i32.const 1))
367(assert_return (invoke "le_s" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 1))
368(assert_return (invoke "le_s" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 1))
369(assert_return (invoke "le_s" (i64.const -1) (i64.const -1)) (i32.const 1))
370(assert_return (invoke "le_s" (i64.const 1) (i64.const 0)) (i32.const 0))
371(assert_return (invoke "le_s" (i64.const 0) (i64.const 1)) (i32.const 1))
372(assert_return (invoke "le_s" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 1))
373(assert_return (invoke "le_s" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 0))
374(assert_return (invoke "le_s" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 1))
375(assert_return (invoke "le_s" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 0))
376(assert_return (invoke "le_s" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 1))
377(assert_return (invoke "le_s" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 0))
378
379(assert_return (invoke "le_u" (i64.const 0) (i64.const 0)) (i32.const 1))
380(assert_return (invoke "le_u" (i64.const 1) (i64.const 1)) (i32.const 1))
381(assert_return (invoke "le_u" (i64.const -1) (i64.const 1)) (i32.const 0))
382(assert_return (invoke "le_u" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 1))
383(assert_return (invoke "le_u" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 1))
384(assert_return (invoke "le_u" (i64.const -1) (i64.const -1)) (i32.const 1))
385(assert_return (invoke "le_u" (i64.const 1) (i64.const 0)) (i32.const 0))
386(assert_return (invoke "le_u" (i64.const 0) (i64.const 1)) (i32.const 1))
387(assert_return (invoke "le_u" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 0))
388(assert_return (invoke "le_u" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 1))
389(assert_return (invoke "le_u" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 1))
390(assert_return (invoke "le_u" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 0))
391(assert_return (invoke "le_u" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 0))
392(assert_return (invoke "le_u" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 1))
393
394(assert_return (invoke "gt_s" (i64.const 0) (i64.const 0)) (i32.const 0))
395(assert_return (invoke "gt_s" (i64.const 1) (i64.const 1)) (i32.const 0))
396(assert_return (invoke "gt_s" (i64.const -1) (i64.const 1)) (i32.const 0))
397(assert_return (invoke "gt_s" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 0))
398(assert_return (invoke "gt_s" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 0))
399(assert_return (invoke "gt_s" (i64.const -1) (i64.const -1)) (i32.const 0))
400(assert_return (invoke "gt_s" (i64.const 1) (i64.const 0)) (i32.const 1))
401(assert_return (invoke "gt_s" (i64.const 0) (i64.const 1)) (i32.const 0))
402(assert_return (invoke "gt_s" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 0))
403(assert_return (invoke "gt_s" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 1))
404(assert_return (invoke "gt_s" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 0))
405(assert_return (invoke "gt_s" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 1))
406(assert_return (invoke "gt_s" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 0))
407(assert_return (invoke "gt_s" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 1))
408
409(assert_return (invoke "gt_u" (i64.const 0) (i64.const 0)) (i32.const 0))
410(assert_return (invoke "gt_u" (i64.const 1) (i64.const 1)) (i32.const 0))
411(assert_return (invoke "gt_u" (i64.const -1) (i64.const 1)) (i32.const 1))
412(assert_return (invoke "gt_u" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 0))
413(assert_return (invoke "gt_u" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 0))
414(assert_return (invoke "gt_u" (i64.const -1) (i64.const -1)) (i32.const 0))
415(assert_return (invoke "gt_u" (i64.const 1) (i64.const 0)) (i32.const 1))
416(assert_return (invoke "gt_u" (i64.const 0) (i64.const 1)) (i32.const 0))
417(assert_return (invoke "gt_u" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 1))
418(assert_return (invoke "gt_u" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 0))
419(assert_return (invoke "gt_u" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 0))
420(assert_return (invoke "gt_u" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 1))
421(assert_return (invoke "gt_u" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 1))
422(assert_return (invoke "gt_u" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 0))
423
424(assert_return (invoke "ge_s" (i64.const 0) (i64.const 0)) (i32.const 1))
425(assert_return (invoke "ge_s" (i64.const 1) (i64.const 1)) (i32.const 1))
426(assert_return (invoke "ge_s" (i64.const -1) (i64.const 1)) (i32.const 0))
427(assert_return (invoke "ge_s" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 1))
428(assert_return (invoke "ge_s" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 1))
429(assert_return (invoke "ge_s" (i64.const -1) (i64.const -1)) (i32.const 1))
430(assert_return (invoke "ge_s" (i64.const 1) (i64.const 0)) (i32.const 1))
431(assert_return (invoke "ge_s" (i64.const 0) (i64.const 1)) (i32.const 0))
432(assert_return (invoke "ge_s" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 0))
433(assert_return (invoke "ge_s" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 1))
434(assert_return (invoke "ge_s" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 0))
435(assert_return (invoke "ge_s" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 1))
436(assert_return (invoke "ge_s" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 0))
437(assert_return (invoke "ge_s" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 1))
438
439(assert_return (invoke "ge_u" (i64.const 0) (i64.const 0)) (i32.const 1))
440(assert_return (invoke "ge_u" (i64.const 1) (i64.const 1)) (i32.const 1))
441(assert_return (invoke "ge_u" (i64.const -1) (i64.const 1)) (i32.const 1))
442(assert_return (invoke "ge_u" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 1))
443(assert_return (invoke "ge_u" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 1))
444(assert_return (invoke "ge_u" (i64.const -1) (i64.const -1)) (i32.const 1))
445(assert_return (invoke "ge_u" (i64.const 1) (i64.const 0)) (i32.const 1))
446(assert_return (invoke "ge_u" (i64.const 0) (i64.const 1)) (i32.const 0))
447(assert_return (invoke "ge_u" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 1))
448(assert_return (invoke "ge_u" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 0))
449(assert_return (invoke "ge_u" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 0))
450(assert_return (invoke "ge_u" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 1))
451(assert_return (invoke "ge_u" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 1))
452(assert_return (invoke "ge_u" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 0))
453
454
455;; Type check
456
457(assert_invalid (module (func (result i64) (i64.add (i32.const 0) (f32.const 0)))) "type mismatch")
458(assert_invalid (module (func (result i64) (i64.and (i32.const 0) (f32.const 0)))) "type mismatch")
459(assert_invalid (module (func (result i64) (i64.div_s (i32.const 0) (f32.const 0)))) "type mismatch")
460(assert_invalid (module (func (result i64) (i64.div_u (i32.const 0) (f32.const 0)))) "type mismatch")
461(assert_invalid (module (func (result i64) (i64.mul (i32.const 0) (f32.const 0)))) "type mismatch")
462(assert_invalid (module (func (result i64) (i64.or (i32.const 0) (f32.const 0)))) "type mismatch")
463(assert_invalid (module (func (result i64) (i64.rem_s (i32.const 0) (f32.const 0)))) "type mismatch")
464(assert_invalid (module (func (result i64) (i64.rem_u (i32.const 0) (f32.const 0)))) "type mismatch")
465(assert_invalid (module (func (result i64) (i64.rotl (i32.const 0) (f32.const 0)))) "type mismatch")
466(assert_invalid (module (func (result i64) (i64.rotr (i32.const 0) (f32.const 0)))) "type mismatch")
467(assert_invalid (module (func (result i64) (i64.shl (i32.const 0) (f32.const 0)))) "type mismatch")
468(assert_invalid (module (func (result i64) (i64.shr_s (i32.const 0) (f32.const 0)))) "type mismatch")
469(assert_invalid (module (func (result i64) (i64.shr_u (i32.const 0) (f32.const 0)))) "type mismatch")
470(assert_invalid (module (func (result i64) (i64.sub (i32.const 0) (f32.const 0)))) "type mismatch")
471(assert_invalid (module (func (result i64) (i64.xor (i32.const 0) (f32.const 0)))) "type mismatch")
472(assert_invalid (module (func (result i64) (i64.eqz (i32.const 0)))) "type mismatch")
473(assert_invalid (module (func (result i64) (i64.clz (i32.const 0)))) "type mismatch")
474(assert_invalid (module (func (result i64) (i64.ctz (i32.const 0)))) "type mismatch")
475(assert_invalid (module (func (result i64) (i64.popcnt (i32.const 0)))) "type mismatch")
476(assert_invalid (module (func (result i64) (i64.eq (i32.const 0) (f32.const 0)))) "type mismatch")
477(assert_invalid (module (func (result i64) (i64.ge_s (i32.const 0) (f32.const 0)))) "type mismatch")
478(assert_invalid (module (func (result i64) (i64.ge_u (i32.const 0) (f32.const 0)))) "type mismatch")
479(assert_invalid (module (func (result i64) (i64.gt_s (i32.const 0) (f32.const 0)))) "type mismatch")
480(assert_invalid (module (func (result i64) (i64.gt_u (i32.const 0) (f32.const 0)))) "type mismatch")
481(assert_invalid (module (func (result i64) (i64.le_s (i32.const 0) (f32.const 0)))) "type mismatch")
482(assert_invalid (module (func (result i64) (i64.le_u (i32.const 0) (f32.const 0)))) "type mismatch")
483(assert_invalid (module (func (result i64) (i64.lt_s (i32.const 0) (f32.const 0)))) "type mismatch")
484(assert_invalid (module (func (result i64) (i64.lt_u (i32.const 0) (f32.const 0)))) "type mismatch")
485(assert_invalid (module (func (result i64) (i64.ne (i32.const 0) (f32.const 0)))) "type mismatch")
486
487(assert_malformed
488 (module quote "(func (result i64) (i64.const nan:arithmetic))")
489 "unexpected token"
490)
491(assert_malformed
492 (module quote "(func (result i64) (i64.const nan:canonical))")
493 "unexpected token"
494)
View as plain text