Commit e58976542b

Luuk de Gram <luuk@degram.dev>
2021-07-30 21:05:30
wasm: Test cases for wrap+intcast instructions
1 parent 5667ab7
Changed files (1)
test
stage2
test/stage2/wasm.zig
@@ -113,6 +113,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;
@@ -133,6 +140,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;
@@ -157,6 +171,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;
@@ -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");
+    }
 }