commit e58976542b096df6cbb2088b6c7a690d7b95c50a (tree)
parent 5667ab7dcd2e367f3e1ac337eabadd64d9d850ad
Author: Luuk de Gram <luuk@degram.dev>
Date: Fri, 30 Jul 2021 21:05:30 +0200
wasm: Test cases for wrap+intcast instructions
Diffstat:
1 file changed, 32 insertions(+), 0 deletions(-)
diff --git a/test/stage2/wasm.zig b/test/stage2/wasm.zig
@@ -114,6 +114,13 @@ pub fn addCases(ctx: *TestContext) !void {
, "25\n");
case.addCompareOutput(
+ \\pub export fn _start() i32 {
+ \\ var i: i32 = 2147483647;
+ \\ return i +% 1;
+ \\}
+ , "-2147483648\n");
+
+ case.addCompareOutput(
\\pub export fn _start() u32 {
\\ var i: u32 = 5;
\\ i += 20;
@@ -134,6 +141,13 @@ pub fn addCases(ctx: *TestContext) !void {
, "15\n");
case.addCompareOutput(
+ \\pub export fn _start() i32 {
+ \\ var i: i32 = -2147483648;
+ \\ return i -% 1;
+ \\}
+ , "2147483647\n");
+
+ case.addCompareOutput(
\\pub export fn _start() u32 {
\\ var i: u32 = 5;
\\ i -= 3;
@@ -158,6 +172,13 @@ pub fn addCases(ctx: *TestContext) !void {
, "350\n");
case.addCompareOutput(
+ \\pub export fn _start() i32 {
+ \\ var i: i32 = 2147483647;
+ \\ return i *% 2;
+ \\}
+ , "-2\n");
+
+ case.addCompareOutput(
\\pub export fn _start() u32 {
\\ var i: u32 = 352;
\\ i /= 7; // i = 50
@@ -612,4 +633,15 @@ pub fn addCases(ctx: *TestContext) !void {
\\}
, "42\n");
}
+
+ {
+ var case = ctx.exe("wasm integer widening", wasi);
+
+ case.addCompareOutput(
+ \\pub export fn _start() u64 {
+ \\ var x: u32 = 5;
+ \\ return x;
+ \\}
+ , "5\n");
+ }
}