Skip to content

Commit b280064

Browse files
committed
update repos
spec: 5aaea96eceb1e1a3956d7cbb499920e5b8c1109f
1 parent e923de4 commit b280064

8 files changed

+955
-1
lines changed

br_if.wast

+50-1
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,36 @@
219219
)
220220
)
221221

222+
(memory 1)
223+
(func (export "as-load-address") (result i32)
224+
(block (result i32) (i32.load (br_if 0 (i32.const 1) (i32.const 1))))
225+
)
226+
(func (export "as-loadN-address") (result i32)
227+
(block (result i32) (i32.load8_s (br_if 0 (i32.const 30) (i32.const 1))))
228+
)
229+
230+
(func (export "as-store-address") (result i32)
231+
(block (result i32)
232+
(i32.store (br_if 0 (i32.const 30) (i32.const 1)) (i32.const 7)) (i32.const -1)
233+
)
234+
)
235+
(func (export "as-store-value") (result i32)
236+
(block (result i32)
237+
(i32.store (i32.const 2) (br_if 0 (i32.const 31) (i32.const 1))) (i32.const -1)
238+
)
239+
)
240+
241+
(func (export "as-storeN-address") (result i32)
242+
(block (result i32)
243+
(i32.store8 (br_if 0 (i32.const 32) (i32.const 1)) (i32.const 7)) (i32.const -1)
244+
)
245+
)
246+
(func (export "as-storeN-value") (result i32)
247+
(block (result i32)
248+
(i32.store16 (i32.const 2) (br_if 0 (i32.const 33) (i32.const 1))) (i32.const -1)
249+
)
250+
)
251+
222252
(func (export "as-unary-operand") (result f64)
223253
(block (result f64) (f64.neg (br_if 0 (f64.const 1.0) (i32.const 1))))
224254
)
@@ -228,8 +258,16 @@
228258
(func (export "as-binary-right") (result i32)
229259
(block (result i32) (i32.sub (i32.const 10) (br_if 0 (i32.const 1) (i32.const 1))))
230260
)
261+
(func (export "as-test-operand") (result i32)
262+
(block (result i32) (i32.eqz (br_if 0 (i32.const 0) (i32.const 1))))
263+
)
264+
(func (export "as-compare-left") (result i32)
265+
(block (result i32) (i32.le_u (br_if 0 (i32.const 1) (i32.const 1)) (i32.const 10)))
266+
)
267+
(func (export "as-compare-right") (result i32)
268+
(block (result i32) (i32.ne (i32.const 10) (br_if 0 (i32.const 1) (i32.const 42))))
269+
)
231270

232-
(memory 0)
233271
(func (export "as-memory.grow-size") (result i32)
234272
(block (result i32) (memory.grow (br_if 0 (i32.const 1) (i32.const 1))))
235273
)
@@ -410,9 +448,20 @@
410448
(assert_return (invoke "as-set_global-value" (i32.const 0)) (i32.const -1))
411449
(assert_return (invoke "as-set_global-value" (i32.const 1)) (i32.const 1))
412450

451+
(assert_return (invoke "as-load-address") (i32.const 1))
452+
(assert_return (invoke "as-loadN-address") (i32.const 30))
453+
454+
(assert_return (invoke "as-store-address") (i32.const 30))
455+
(assert_return (invoke "as-store-value") (i32.const 31))
456+
(assert_return (invoke "as-storeN-address") (i32.const 32))
457+
(assert_return (invoke "as-storeN-value") (i32.const 33))
458+
413459
(assert_return (invoke "as-unary-operand") (f64.const 1.0))
414460
(assert_return (invoke "as-binary-left") (i32.const 1))
415461
(assert_return (invoke "as-binary-right") (i32.const 1))
462+
(assert_return (invoke "as-test-operand") (i32.const 0))
463+
(assert_return (invoke "as-compare-left") (i32.const 1))
464+
(assert_return (invoke "as-compare-right") (i32.const 1))
416465
(assert_return (invoke "as-memory.grow-size") (i32.const 1))
417466

418467
(assert_return (invoke "nested-block-value" (i32.const 0)) (i32.const 21))

call.wast

+36
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,34 @@
197197
(func (export "as-load-operand") (result i32)
198198
(i32.load (call $const-i32))
199199
)
200+
201+
(func $dummy (param i32) (result i32) (get_local 0))
202+
(func $du (param f32) (result f32) (get_local 0))
203+
(func (export "as-unary-operand") (result f32)
204+
(block (result f32) (f32.sqrt (call $du (f32.const 0x0p+0))))
205+
)
206+
207+
(func (export "as-binary-left") (result i32)
208+
(block (result i32) (i32.add (call $dummy (i32.const 1)) (i32.const 10)))
209+
)
210+
(func (export "as-binary-right") (result i32)
211+
(block (result i32) (i32.sub (i32.const 10) (call $dummy (i32.const 1))))
212+
)
213+
214+
(func (export "as-test-operand") (result i32)
215+
(block (result i32) (i32.eqz (call $dummy (i32.const 1))))
216+
)
217+
218+
(func (export "as-compare-left") (result i32)
219+
(block (result i32) (i32.le_u (call $dummy (i32.const 1)) (i32.const 10)))
220+
)
221+
(func (export "as-compare-right") (result i32)
222+
(block (result i32) (i32.ne (i32.const 10) (call $dummy (i32.const 1))))
223+
)
224+
225+
(func (export "as-convert-operand") (result i64)
226+
(block (result i64) (i64.extend_s/i32 (call $dummy (i32.const 1))))
227+
)
200228
)
201229

202230
(assert_return (invoke "type-i32") (i32.const 0x132))
@@ -272,6 +300,14 @@
272300
(assert_return (invoke "as-set_global-value") (i32.const 0x132))
273301
(assert_return (invoke "as-load-operand") (i32.const 1))
274302

303+
(assert_return (invoke "as-unary-operand") (f32.const 0x0p+0))
304+
(assert_return (invoke "as-binary-left") (i32.const 11))
305+
(assert_return (invoke "as-binary-right") (i32.const 9))
306+
(assert_return (invoke "as-test-operand") (i32.const 0))
307+
(assert_return (invoke "as-compare-left") (i32.const 1))
308+
(assert_return (invoke "as-compare-right") (i32.const 1))
309+
(assert_return (invoke "as-convert-operand") (i64.const 1))
310+
275311
;; Invalid typing
276312

277313
(assert_invalid

call_indirect.wast

+67
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,65 @@
383383
(func (export "as-load-operand") (result i32)
384384
(i32.load (call_indirect (type $out-i32) (i32.const 0)))
385385
)
386+
387+
(func (export "as-unary-operand") (result f32)
388+
(block (result f32)
389+
(f32.sqrt
390+
(call_indirect (type $over-f32) (f32.const 0x0p+0) (i32.const 6))
391+
)
392+
)
393+
)
394+
395+
(func (export "as-binary-left") (result i32)
396+
(block (result i32)
397+
(i32.add
398+
(call_indirect (type $over-i32) (i32.const 1) (i32.const 4))
399+
(i32.const 10)
400+
)
401+
)
402+
)
403+
(func (export "as-binary-right") (result i32)
404+
(block (result i32)
405+
(i32.sub
406+
(i32.const 10)
407+
(call_indirect (type $over-i32) (i32.const 1) (i32.const 4))
408+
)
409+
)
410+
)
411+
412+
(func (export "as-test-operand") (result i32)
413+
(block (result i32)
414+
(i32.eqz
415+
(call_indirect (type $over-i32) (i32.const 1) (i32.const 4))
416+
)
417+
)
418+
)
419+
420+
(func (export "as-compare-left") (result i32)
421+
(block (result i32)
422+
(i32.le_u
423+
(call_indirect (type $over-i32) (i32.const 1) (i32.const 4))
424+
(i32.const 10)
425+
)
426+
)
427+
)
428+
(func (export "as-compare-right") (result i32)
429+
(block (result i32)
430+
(i32.ne
431+
(i32.const 10)
432+
(call_indirect (type $over-i32) (i32.const 1) (i32.const 4))
433+
)
434+
)
435+
)
436+
437+
(func (export "as-convert-operand") (result i64)
438+
(block (result i64)
439+
(i64.extend_s/i32
440+
(call_indirect (type $over-i32) (i32.const 1) (i32.const 4))
441+
)
442+
)
443+
)
444+
386445
)
387446

388447
(assert_return (invoke "type-i32") (i32.const 0x132))
@@ -521,6 +580,14 @@
521580
(assert_return (invoke "as-set_global-value") (f64.const 1.0))
522581
(assert_return (invoke "as-load-operand") (i32.const 1))
523582

583+
(assert_return (invoke "as-unary-operand") (f32.const 0x0p+0))
584+
(assert_return (invoke "as-binary-left") (i32.const 11))
585+
(assert_return (invoke "as-binary-right") (i32.const 9))
586+
(assert_return (invoke "as-test-operand") (i32.const 0))
587+
(assert_return (invoke "as-compare-left") (i32.const 1))
588+
(assert_return (invoke "as-compare-right") (i32.const 1))
589+
(assert_return (invoke "as-convert-operand") (i64.const 1))
590+
524591
;; Invalid syntax
525592

526593
(assert_malformed

0 commit comments

Comments
 (0)