0
|
1 // CodeMirror, copyright (c) by Marijn Haverbeke and others
|
|
2 // Distributed under an MIT license: https://codemirror.net/5/LICENSE
|
|
3
|
|
4 (function() {
|
|
5 var mode = CodeMirror.getMode({indentUnit: 4}, "wast");
|
|
6 function MT(name) {test.mode(name, mode, Array.prototype.slice.call(arguments, 1));}
|
|
7
|
|
8 MT('number-test',
|
|
9 '[number 0]',
|
|
10 '[number 123]',
|
|
11 '[number nan]',
|
|
12 '[number inf]',
|
|
13 '[number infinity]',
|
|
14 '[number 0.1]',
|
|
15 '[number 123.0]',
|
|
16 '[number 12E+99]');
|
|
17
|
|
18 MT('string-literals-test',
|
|
19 '[string "foo"]',
|
|
20 '[string "\\"foo\\""]',
|
|
21 '[string "foo #\\"# bar"]');
|
|
22
|
|
23 MT('atom-test',
|
|
24 '[atom funcref]',
|
|
25 '[atom externref]',
|
|
26 '[atom i32]',
|
|
27 '[atom i64]',
|
|
28 '[atom f32]',
|
|
29 '[atom f64]');
|
|
30
|
|
31 MT('keyword-test',
|
|
32 '[keyword br]',
|
|
33 '[keyword if]',
|
|
34 '[keyword loop]',
|
|
35 '[keyword i32.add]',
|
|
36 '[keyword local.get]');
|
|
37
|
|
38 MT('control-instructions',
|
|
39 '[keyword unreachable]',
|
|
40 '[keyword nop]',
|
|
41 '[keyword br] [variable-2 $label0]',
|
|
42 '[keyword br_if] [variable-2 $label0]',
|
|
43 '[keyword br_table] [variable-2 $label0] [variable-2 $label1] [variable-2 $label3]',
|
|
44 '[keyword return]',
|
|
45 '[keyword call] [variable-2 $func0]',
|
|
46 '[keyword call_indirect] [variable-2 $table] ([keyword param] [atom f32] [atom f64]) ([keyword result] [atom i32] [atom i64])',
|
|
47 '[keyword return_call] [variable-2 $func0]',
|
|
48 '[keyword return_call_indirect] ([keyword param] [atom f32] [atom f64]) ([keyword result] [atom i32] [atom i64])',
|
|
49 '[keyword select] ([keyword local.get] [number 1]) ([keyword local.get] [number 2]) ([keyword local.get] [number 3])',
|
|
50 '[keyword try] ([keyword result] [atom i32])',
|
|
51 '[keyword throw] [number 0]',
|
|
52 '[keyword rethrow] [number 0]',
|
|
53 '[keyword catch] [number 0]',
|
|
54 '[keyword catch_all]',
|
|
55 '[keyword delegate] [number 0]',
|
|
56 '[keyword unwind]');
|
|
57
|
|
58
|
|
59 MT('memory-instructions',
|
|
60 '[keyword i32.load] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
61 '[keyword i32.load8_s] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
62 '[keyword i32.load8_u] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
63 '[keyword i32.load16_s] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
64 '[keyword i32.load16_u] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
65 '[keyword i32.store] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
66 '[keyword i32.store8] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
67 '[keyword i32.store16] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
68 '[keyword i64.store] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
69 '[keyword i64.load] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
70 '[keyword i64.load8_s] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
71 '[keyword i64.load8_u] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
72 '[keyword i64.load16_s] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
73 '[keyword i64.load16_u] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
74 '[keyword i64.load32_s] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
75 '[keyword i64.load32_u] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
76 '[keyword i64.store8] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
77 '[keyword i64.store16] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
78 '[keyword i64.store32] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
79 '[keyword f32.load] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
80 '[keyword f32.store] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
81 '[keyword f64.load] [keyword offset]=[number 4] [keyword align]=[number 4]',
|
|
82 '[keyword f64.store] [keyword offset]=[number 4] [keyword align]=[number 4]');
|
|
83
|
|
84 MT('atomic-memory-instructions',
|
|
85 '[keyword memory.atomic.notify] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
86 '[keyword memory.atomic.wait32] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
87 '[keyword memory.atomic.wait64] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
88 '[keyword i32.atomic.load] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
89 '[keyword i32.atomic.load8_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
90 '[keyword i32.atomic.load16_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
91 '[keyword i32.atomic.store] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
92 '[keyword i32.atomic.store8] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
93 '[keyword i32.atomic.store16] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
94 '[keyword i64.atomic.load] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
95 '[keyword i64.atomic.load8_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
96 '[keyword i64.atomic.load16_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
97 '[keyword i64.atomic.load32_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
98 '[keyword i64.atomic.store] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
99 '[keyword i64.atomic.store8] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
100 '[keyword i64.atomic.store16] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
101 '[keyword i64.atomic.store32] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
102 '[keyword i32.atomic.rmw.add] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
103 '[keyword i32.atomic.rmw8.add_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
104 '[keyword i32.atomic.rmw16.add_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
105 '[keyword i64.atomic.rmw.add] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
106 '[keyword i64.atomic.rmw8.add_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
107 '[keyword i64.atomic.rmw16.add_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
108 '[keyword i64.atomic.rmw32.add_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
109 '[keyword i32.atomic.rmw.sub] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
110 '[keyword i32.atomic.rmw8.sub_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
111 '[keyword i32.atomic.rmw16.sub_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
112 '[keyword i64.atomic.rmw.sub] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
113 '[keyword i64.atomic.rmw8.sub_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
114 '[keyword i64.atomic.rmw16.sub_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
115 '[keyword i64.atomic.rmw32.sub_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
116 '[keyword i32.atomic.rmw.and] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
117 '[keyword i32.atomic.rmw8.and_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
118 '[keyword i32.atomic.rmw16.and_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
119 '[keyword i64.atomic.rmw.and] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
120 '[keyword i64.atomic.rmw8.and_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
121 '[keyword i64.atomic.rmw16.and_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
122 '[keyword i64.atomic.rmw32.and_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
123 '[keyword i32.atomic.rmw.or] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
124 '[keyword i32.atomic.rmw8.or_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
125 '[keyword i32.atomic.rmw16.or_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
126 '[keyword i64.atomic.rmw.or] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
127 '[keyword i64.atomic.rmw8.or_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
128 '[keyword i64.atomic.rmw16.or_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
129 '[keyword i64.atomic.rmw32.or_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
130 '[keyword i32.atomic.rmw.xor] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
131 '[keyword i32.atomic.rmw8.xor_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
132 '[keyword i32.atomic.rmw16.xor_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
133 '[keyword i64.atomic.rmw.xor] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
134 '[keyword i64.atomic.rmw8.xor_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
135 '[keyword i64.atomic.rmw16.xor_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
136 '[keyword i64.atomic.rmw32.xor_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
137 '[keyword i32.atomic.rmw.xchg] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
138 '[keyword i32.atomic.rmw8.xchg_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
139 '[keyword i32.atomic.rmw16.xchg_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
140 '[keyword i64.atomic.rmw.xchg] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
141 '[keyword i64.atomic.rmw8.xchg_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
142 '[keyword i64.atomic.rmw16.xchg_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
143 '[keyword i64.atomic.rmw32.xchg_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
144 '[keyword i32.atomic.rmw.cmpxchg] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
145 '[keyword i32.atomic.rmw8.cmpxchg_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
146 '[keyword i32.atomic.rmw16.cmpxchg_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
147 '[keyword i64.atomic.rmw.cmpxchg] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
148 '[keyword i64.atomic.rmw8.cmpxchg_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
149 '[keyword i64.atomic.rmw16.cmpxchg_u] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
150 '[keyword i64.atomic.rmw32.cmpxchg_u] [keyword offset]=[number 32] [keyword align]=[number 4]');
|
|
151
|
|
152 MT('simd-instructions',
|
|
153 '[keyword v128.load] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
154 '[keyword v128.load8x8_s] [keyword offset]=[number 64] [keyword align]=[number 0]',
|
|
155 '[keyword v128.load8x8_u] [keyword offset]=[number 64] [keyword align]=[number 0]',
|
|
156 '[keyword v128.load16x4_s] [keyword offset]=[number 64] [keyword align]=[number 0]',
|
|
157 '[keyword v128.load16x4_u] [keyword offset]=[number 64] [keyword align]=[number 0]',
|
|
158 '[keyword v128.load32x2_s] [keyword offset]=[number 64] [keyword align]=[number 0]',
|
|
159 '[keyword v128.load32x2_u] [keyword offset]=[number 64] [keyword align]=[number 0]',
|
|
160 '[keyword v128.load8_splat] [keyword offset]=[number 64] [keyword align]=[number 0]',
|
|
161 '[keyword v128.load16_splat] [keyword offset]=[number 64] [keyword align]=[number 0]',
|
|
162 '[keyword v128.load32_splat] [keyword offset]=[number 64] [keyword align]=[number 0]',
|
|
163 '[keyword v128.load64_splat] [keyword offset]=[number 64] [keyword align]=[number 0]',
|
|
164 '[keyword v128.store] [keyword offset]=[number 32] [keyword align]=[number 4]',
|
|
165 '[keyword v128.const] [number 0] [number 1] [number 2] [number 3] [number 4] [number 5] [number 6] [number 7] [number 8] [number 9] [number 10] [number 11] [number 12] [number 13] [number 14] [number 15]',
|
|
166 '[keyword i8x16.shuffle] [number 0] [number 1] [number 2] [number 3] [number 4] [number 5] [number 6] [number 7] [number 8] [number 9] [number 10] [number 11] [number 12] [number 13] [number 14] [number 15]',
|
|
167 '[keyword i8x16.swizzle]',
|
|
168 '[keyword i8x16.splat]',
|
|
169 '[keyword i16x8.splat]',
|
|
170 '[keyword i32x4.splat]',
|
|
171 '[keyword i64x2.splat]',
|
|
172 '[keyword f32x4.splat]',
|
|
173 '[keyword f64x2.splat]',
|
|
174 '[keyword i8x16.extract_lane_s] [number 1]',
|
|
175 '[keyword i8x16.extract_lane_u] [number 1]',
|
|
176 '[keyword i8x16.replace_lane] [number 1]',
|
|
177 '[keyword i16x8.extract_lane_s] [number 1]',
|
|
178 '[keyword i16x8.extract_lane_u] [number 1]',
|
|
179 '[keyword i16x8.replace_lane] [number 1]',
|
|
180 '[keyword i32x4.extract_lane] [number 1]',
|
|
181 '[keyword i32x4.replace_lane] [number 1]',
|
|
182 '[keyword i64x2.extract_lane] [number 1]',
|
|
183 '[keyword i64x2.replace_lane] [number 1]',
|
|
184 '[keyword f32x4.extract_lane] [number 1]',
|
|
185 '[keyword f32x4.replace_lane] [number 1]',
|
|
186 '[keyword f64x2.extract_lane] [number 1]',
|
|
187 '[keyword f64x2.replace_lane] [number 1]',
|
|
188 '[keyword i8x16.eq]',
|
|
189 '[keyword i8x16.ne]',
|
|
190 '[keyword i8x16.lt_s]',
|
|
191 '[keyword i8x16.lt_u]',
|
|
192 '[keyword i8x16.gt_s]',
|
|
193 '[keyword i8x16.gt_u]',
|
|
194 '[keyword i8x16.le_s]',
|
|
195 '[keyword i8x16.le_u]',
|
|
196 '[keyword i8x16.ge_s]',
|
|
197 '[keyword i8x16.ge_u]',
|
|
198 '[keyword i16x8.eq]',
|
|
199 '[keyword i16x8.ne]',
|
|
200 '[keyword i16x8.lt_s]',
|
|
201 '[keyword i16x8.lt_u]',
|
|
202 '[keyword i16x8.gt_s]',
|
|
203 '[keyword i16x8.gt_u]',
|
|
204 '[keyword i16x8.le_s]',
|
|
205 '[keyword i16x8.le_u]',
|
|
206 '[keyword i16x8.ge_s]',
|
|
207 '[keyword i16x8.ge_u]',
|
|
208 '[keyword i32x4.eq]',
|
|
209 '[keyword i32x4.ne]',
|
|
210 '[keyword i32x4.lt_s]',
|
|
211 '[keyword i32x4.lt_u]',
|
|
212 '[keyword i32x4.gt_s]',
|
|
213 '[keyword i32x4.gt_u]',
|
|
214 '[keyword i32x4.le_s]',
|
|
215 '[keyword i32x4.le_u]',
|
|
216 '[keyword i32x4.ge_s]',
|
|
217 '[keyword i32x4.ge_u]',
|
|
218 '[keyword f32x4.eq]',
|
|
219 '[keyword f32x4.ne]',
|
|
220 '[keyword f32x4.lt]',
|
|
221 '[keyword f32x4.gt]',
|
|
222 '[keyword f32x4.le]',
|
|
223 '[keyword f32x4.ge]',
|
|
224 '[keyword f64x2.eq]',
|
|
225 '[keyword f64x2.ne]',
|
|
226 '[keyword f64x2.lt]',
|
|
227 '[keyword f64x2.gt]',
|
|
228 '[keyword f64x2.le]',
|
|
229 '[keyword f64x2.ge]',
|
|
230 '[keyword v128.not]',
|
|
231 '[keyword v128.and]',
|
|
232 '[keyword v128.andnot]',
|
|
233 '[keyword v128.or]',
|
|
234 '[keyword v128.xor]',
|
|
235 '[keyword v128.bitselect]',
|
|
236 '[keyword v128.any_true]',
|
|
237 '[keyword v128.load8_lane] [keyword offset]=[number 64] [keyword align]=[number 0] [number 1]',
|
|
238 '[keyword v128.load16_lane] [keyword offset]=[number 64] [keyword align]=[number 0] [number 1]',
|
|
239 '[keyword v128.load32_lane] [keyword offset]=[number 64] [keyword align]=[number 0] [number 1]',
|
|
240 '[keyword v128.load64_lane] [keyword offset]=[number 64] [keyword align]=[number 0] [number 1]',
|
|
241 '[keyword v128.store8_lane] [keyword offset]=[number 64] [keyword align]=[number 0] [number 1]',
|
|
242 '[keyword v128.store16_lane] [keyword offset]=[number 64] [keyword align]=[number 0] [number 1]',
|
|
243 '[keyword v128.store32_lane] [keyword offset]=[number 64] [keyword align]=[number 0] [number 1]',
|
|
244 '[keyword v128.store64_lane] [keyword offset]=[number 64] [keyword align]=[number 0] [number 1]',
|
|
245 '[keyword v128.load32_zero] [keyword offset]=[number 64] [keyword align]=[number 0]',
|
|
246 '[keyword v128.load64_zero] [keyword offset]=[number 64] [keyword align]=[number 0]',
|
|
247 '[keyword f32x4.demote_f64x2_zero]',
|
|
248 '[keyword f64x2.promote_low_f32x4]',
|
|
249 '[keyword i8x16.abs]',
|
|
250 '[keyword i8x16.neg]',
|
|
251 '[keyword i8x16.popcnt]',
|
|
252 '[keyword i8x16.all_true]',
|
|
253 '[keyword i8x16.bitmask]',
|
|
254 '[keyword i8x16.narrow_i16x8_s]',
|
|
255 '[keyword i8x16.narrow_i16x8_u]',
|
|
256 '[keyword f32x4.ceil]',
|
|
257 '[keyword f32x4.floor]',
|
|
258 '[keyword f32x4.trunc]',
|
|
259 '[keyword f32x4.nearest]',
|
|
260 '[keyword i8x16.shl]',
|
|
261 '[keyword i8x16.shr_s]',
|
|
262 '[keyword i8x16.shr_u]',
|
|
263 '[keyword i8x16.add]',
|
|
264 '[keyword i8x16.add_sat_s]',
|
|
265 '[keyword i8x16.add_sat_u]',
|
|
266 '[keyword i8x16.sub]',
|
|
267 '[keyword i8x16.sub_sat_s]',
|
|
268 '[keyword i8x16.sub_sat_u]',
|
|
269 '[keyword f64x2.ceil]',
|
|
270 '[keyword f64x2.floor]',
|
|
271 '[keyword i8x16.min_s]',
|
|
272 '[keyword i8x16.min_u]',
|
|
273 '[keyword i8x16.max_s]',
|
|
274 '[keyword i8x16.max_u]',
|
|
275 '[keyword f64x2.trunc]',
|
|
276 '[keyword i8x16.avgr_u]',
|
|
277 '[keyword i16x8.extadd_pairwise_i8x16_s]',
|
|
278 '[keyword i16x8.extadd_pairwise_i8x16_u]',
|
|
279 '[keyword i32x4.extadd_pairwise_i16x8_s]',
|
|
280 '[keyword i32x4.extadd_pairwise_i16x8_u]',
|
|
281 '[keyword i16x8.abs]',
|
|
282 '[keyword i16x8.neg]',
|
|
283 '[keyword i16x8.q15mulr_sat_s]',
|
|
284 '[keyword i16x8.all_true]',
|
|
285 '[keyword i16x8.bitmask]',
|
|
286 '[keyword i16x8.narrow_i32x4_s]',
|
|
287 '[keyword i16x8.narrow_i32x4_u]',
|
|
288 '[keyword i16x8.extend_low_i8x16_s]',
|
|
289 '[keyword i16x8.extend_high_i8x16_s]',
|
|
290 '[keyword i16x8.extend_low_i8x16_u]',
|
|
291 '[keyword i16x8.extend_high_i8x16_u]',
|
|
292 '[keyword i16x8.shl]',
|
|
293 '[keyword i16x8.shr_s]',
|
|
294 '[keyword i16x8.shr_u]',
|
|
295 '[keyword i16x8.add]',
|
|
296 '[keyword i16x8.add_sat_s]',
|
|
297 '[keyword i16x8.add_sat_u]',
|
|
298 '[keyword i16x8.sub]',
|
|
299 '[keyword i16x8.sub_sat_s]',
|
|
300 '[keyword i16x8.sub_sat_u]',
|
|
301 '[keyword f64x2.nearest]',
|
|
302 '[keyword i16x8.mul]',
|
|
303 '[keyword i16x8.min_s]',
|
|
304 '[keyword i16x8.min_u]',
|
|
305 '[keyword i16x8.max_s]',
|
|
306 '[keyword i16x8.max_u]',
|
|
307 '[keyword i16x8.avgr_u]',
|
|
308 '[keyword i16x8.extmul_low_i8x16_s]',
|
|
309 '[keyword i16x8.extmul_high_i8x16_s]',
|
|
310 '[keyword i16x8.extmul_low_i8x16_u]',
|
|
311 '[keyword i16x8.extmul_high_i8x16_u]',
|
|
312 '[keyword i32x4.abs]',
|
|
313 '[keyword i32x4.neg]',
|
|
314 '[keyword i32x4.all_true]',
|
|
315 '[keyword i32x4.bitmask]',
|
|
316 '[keyword i32x4.extend_low_i16x8_s]',
|
|
317 '[keyword i32x4.extend_high_i16x8_s]',
|
|
318 '[keyword i32x4.extend_low_i16x8_u]',
|
|
319 '[keyword i32x4.extend_high_i16x8_u]',
|
|
320 '[keyword i32x4.shl]',
|
|
321 '[keyword i32x4.shr_s]',
|
|
322 '[keyword i32x4.shr_u]',
|
|
323 '[keyword i32x4.add]',
|
|
324 '[keyword i32x4.sub]',
|
|
325 '[keyword i32x4.mul]',
|
|
326 '[keyword i32x4.min_s]',
|
|
327 '[keyword i32x4.min_u]',
|
|
328 '[keyword i32x4.max_s]',
|
|
329 '[keyword i32x4.max_u]',
|
|
330 '[keyword i32x4.dot_i16x8_s]',
|
|
331 '[keyword i32x4.extmul_low_i16x8_s]',
|
|
332 '[keyword i32x4.extmul_high_i16x8_s]',
|
|
333 '[keyword i32x4.extmul_low_i16x8_u]',
|
|
334 '[keyword i32x4.extmul_high_i16x8_u]',
|
|
335 '[keyword i64x2.abs]',
|
|
336 '[keyword i64x2.neg]',
|
|
337 '[keyword i64x2.all_true]',
|
|
338 '[keyword i64x2.bitmask]',
|
|
339 '[keyword i64x2.extend_low_i32x4_s]',
|
|
340 '[keyword i64x2.extend_high_i32x4_s]',
|
|
341 '[keyword i64x2.extend_low_i32x4_u]',
|
|
342 '[keyword i64x2.extend_high_i32x4_u]',
|
|
343 '[keyword i64x2.shl]',
|
|
344 '[keyword i64x2.shr_s]',
|
|
345 '[keyword i64x2.shr_u]',
|
|
346 '[keyword i64x2.add]',
|
|
347 '[keyword i64x2.sub]',
|
|
348 '[keyword i64x2.mul]',
|
|
349 '[keyword i64x2.eq]',
|
|
350 '[keyword i64x2.ne]',
|
|
351 '[keyword i64x2.lt_s]',
|
|
352 '[keyword i64x2.gt_s]',
|
|
353 '[keyword i64x2.le_s]',
|
|
354 '[keyword i64x2.ge_s]',
|
|
355 '[keyword i64x2.extmul_low_i32x4_s]',
|
|
356 '[keyword i64x2.extmul_high_i32x4_s]',
|
|
357 '[keyword i64x2.extmul_low_i32x4_u]',
|
|
358 '[keyword i64x2.extmul_high_i32x4_u]',
|
|
359 '[keyword f32x4.abs]',
|
|
360 '[keyword f32x4.neg]',
|
|
361 '[keyword f32x4.sqrt]',
|
|
362 '[keyword f32x4.add]',
|
|
363 '[keyword f32x4.sub]',
|
|
364 '[keyword f32x4.mul]',
|
|
365 '[keyword f32x4.div]',
|
|
366 '[keyword f32x4.min]',
|
|
367 '[keyword f32x4.max]',
|
|
368 '[keyword f64x2.abs]',
|
|
369 '[keyword f64x2.neg]',
|
|
370 '[keyword f64x2.sqrt]',
|
|
371 '[keyword f64x2.add]',
|
|
372 '[keyword f64x2.sub]',
|
|
373 '[keyword f64x2.mul]',
|
|
374 '[keyword f64x2.div]',
|
|
375 '[keyword f64x2.min]',
|
|
376 '[keyword f64x2.max]',
|
|
377 '[keyword i32x4.trunc_sat_f32x4_s]',
|
|
378 '[keyword i32x4.trunc_sat_f32x4_u]',
|
|
379 '[keyword f32x4.convert_i32x4_s]',
|
|
380 '[keyword f32x4.convert_i32x4_u]',
|
|
381 '[keyword i32x4.trunc_sat_f64x2_s_zero]',
|
|
382 '[keyword i32x4.trunc_sat_f64x2_u_zero]',
|
|
383 '[keyword f64x2.convert_low_i32x4_s]',
|
|
384 '[keyword f64x2.convert_low_i32x4_u]');
|
|
385
|
|
386 MT('reference-type-instructions',
|
|
387 '[keyword ref.null] [keyword extern]',
|
|
388 '[keyword ref.null] [keyword func]',
|
|
389 '[keyword ref.is_null] ([keyword ref.func] [variable-2 $f])',
|
|
390 '[keyword ref.func] [variable-2 $f]');
|
|
391
|
|
392 MT('table-instructions',
|
|
393 '[keyword table.get] [variable-2 $t] ([keyword i32.const] [number 5])',
|
|
394 '[keyword table.set] [variable-2 $t] ([keyword i32.const] [number 5]) ([keyword ref.func] [variable-2 $f])',
|
|
395 '[keyword table.size] [variable-2 $t]',
|
|
396 '[keyword table.grow] [variable-2 $t] ([keyword ref.null] [keyword extern]) ([keyword i32.const] [number 5])',
|
|
397 '[keyword table.fill] [variable-2 $t] ([keyword i32.const] [number 5]) ([keyword param] [variable-2 $r] [atom externref]) ([keyword i32.const] [number 5])',
|
|
398 '[keyword table.init] [variable-2 $t] [number 1] ([keyword i32.const] [number 5]) ([keyword i32.const] [number 10]) ([keyword i32.const] [number 15])',
|
|
399 '[keyword table.copy] [variable-2 $t] [variable-2 $t2] ([keyword i32.const] [number 5]) ([keyword i32.const] [number 10]) ([keyword i32.const] [number 15])'
|
|
400 );
|
|
401 MT('gc-proposal',
|
|
402 '[keyword call_ref] [keyword return_call_ref]',
|
|
403 '[keyword ref.as_non_null] [keyword br_on_null] [keyword ref.eq]');
|
|
404 MT('gc-proposal-structs',
|
|
405 '[keyword struct.new_with_rtt] [keyword struct.new_default_with_rtt]',
|
|
406 '[keyword struct.get] [keyword struct.get_s] [keyword struct.get_u]',
|
|
407 '[keyword struct.set]');
|
|
408 MT('gc-proposal-arrays',
|
|
409 '[keyword array.new_with_rtt] [keyword array.new_default_with_rtt]',
|
|
410 '[keyword array.get] [keyword array.get_s] [keyword array.get_u]',
|
|
411 '[keyword array.len] [keyword array.set]');
|
|
412 MT('gc-proposal-i31',
|
|
413 '[keyword i31.new] [keyword i31.get_s] [keyword i31.get_u]');
|
|
414 MT('gc-proposal-rtt',
|
|
415 '[keyword rtt.canon] [keyword rtt.sub]');
|
|
416 MT('gc-proposal-typechecks',
|
|
417 '[keyword ref.test] [keyword ref.cast] [keyword br_on_cast]',
|
|
418 '[keyword ref.is_func] [keyword ref.is_data] [keyword ref.is_i31]',
|
|
419 '[keyword ref.as_func] [keyword ref.as_data] [keyword ref.as_i31]',
|
|
420 '[keyword br_on_func] [keyword br_on_data] [keyword br_on_i31]');
|
|
421 MT('gc-proposal-types',
|
|
422 '[atom i8] [atom i16]',
|
|
423 '[atom anyref] [atom dataref] [atom eqref] [atom i31ref]');
|
|
424 })();
|