add whole test files from Core Test Suit

This commit is contained in:
Ilya Rezvov
2018-03-20 21:01:25 -07:00
parent d9849f77bf
commit 4ed8752744
72 changed files with 36481 additions and 59 deletions
+93 -2
View File
@@ -1,5 +1,4 @@
(module
(type $t (func (param i32) (result i32)))
(func (export "fac-expr") (param $n i64) (result i64)
(local $i i64)
(local $res i64)
@@ -126,4 +125,96 @@
end
get_local $res
)
)
)
(assert_return (invoke "fac-expr" (i64.const 25)) (i64.const 7034535277573963776))
(assert_return (invoke "fac-stack" (i64.const 25)) (i64.const 7034535277573963776))
(assert_return (invoke "fac-mixed" (i64.const 25)) (i64.const 7034535277573963776))
;; Syntax of flat call_indirect
(module
(type $proc (func))
(table 1 anyfunc)
(func
(block i32.const 0 call_indirect)
(loop i32.const 0 call_indirect)
(if (i32.const 0) (then i32.const 0 call_indirect))
(if (i32.const 0)
(then i32.const 0 call_indirect)
(else i32.const 0 call_indirect)
)
(block i32.const 0 call_indirect (type $proc))
(loop i32.const 0 call_indirect (type $proc))
(if (i32.const 0) (then i32.const 0 call_indirect (type $proc)))
(if (i32.const 0)
(then i32.const 0 call_indirect (type $proc))
(else i32.const 0 call_indirect (type $proc))
)
(block i32.const 0 i32.const 0 call_indirect (param i32))
(loop i32.const 0 i32.const 0 call_indirect (param i32))
(if (i32.const 0) (then i32.const 0 i32.const 0 call_indirect (param i32)))
(if (i32.const 0)
(then i32.const 0 i32.const 0 call_indirect (param i32))
(else i32.const 0 i32.const 0 call_indirect (param i32))
)
(block (result i32) i32.const 0 call_indirect (result i32)) (drop)
(loop (result i32) i32.const 0 call_indirect (result i32)) (drop)
(if (result i32) (i32.const 0)
(then i32.const 0 call_indirect (result i32))
(else i32.const 0 call_indirect (result i32))
) (drop)
(block i32.const 0 call_indirect (type $proc) (param) (result))
(loop i32.const 0 call_indirect (type $proc) (param) (result))
(if (i32.const 0)
(then i32.const 0 call_indirect (type $proc) (param) (result))
)
(if (i32.const 0)
(then i32.const 0 call_indirect (type $proc) (param) (param) (result))
(else i32.const 0 call_indirect (type $proc) (param) (result) (result))
)
block i32.const 0 call_indirect end
loop i32.const 0 call_indirect end
i32.const 0 if i32.const 0 call_indirect end
i32.const 0 if i32.const 0 call_indirect else i32.const 0 call_indirect end
block i32.const 0 call_indirect (type $proc) end
loop i32.const 0 call_indirect (type $proc) end
i32.const 0 if i32.const 0 call_indirect (type $proc) end
i32.const 0
if
i32.const 0 call_indirect (type $proc)
else
i32.const 0 call_indirect (type $proc)
end
block i32.const 0 i32.const 0 call_indirect (param i32) end
loop i32.const 0 i32.const 0 call_indirect (param i32) end
i32.const 0 if i32.const 0 i32.const 0 call_indirect (param i32) end
i32.const 0
if
i32.const 0 i32.const 0 call_indirect (param i32)
else
i32.const 0 i32.const 0 call_indirect (param i32)
end
block (result i32) i32.const 0 call_indirect (result i32) end drop
loop (result i32) i32.const 0 call_indirect (result i32) end drop
i32.const 0
if (result i32)
i32.const 0 call_indirect (result i32)
else
i32.const 0 call_indirect (result i32)
end drop
block i32.const 0 call_indirect (type $proc) (param) (result) end
loop i32.const 0 call_indirect (type $proc) (param) (result) end
i32.const 0 if i32.const 0 call_indirect (type $proc) (param) (result) end
i32.const 0
if
i32.const 0 call_indirect (type $proc) (param) (result)
else
i32.const 0 call_indirect (type $proc) (param) (param) (result) (result)
end
i32.const 0 call_indirect
)
)