diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2021-04-08 13:41:49 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-08 13:41:49 -0700 |
| commit | 9f744f19e7036df9a410f780f3394f6669b8079e (patch) | |
| tree | 055ef5f9727b51bde13f86805c67b3a4608b8c68 /src/codegen.zig | |
| parent | d7a89f98765381b4be2ce7626addad07ecfa7208 (diff) | |
| parent | 6dc35efe4958a0569c4d8576bca84d62264b1d1d (diff) | |
| download | zig-9f744f19e7036df9a410f780f3394f6669b8079e.tar.gz zig-9f744f19e7036df9a410f780f3394f6669b8079e.zip | |
Merge pull request #8464 from gracefuu/grace/wasm-ops
stage2 wasm: Add division and bitwise/boolean ops &, |, ^, and, or
Diffstat (limited to 'src/codegen.zig')
| -rw-r--r-- | src/codegen.zig | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/codegen.zig b/src/codegen.zig index 220a8fa374..c78a7d243d 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -855,6 +855,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { .not => return self.genNot(inst.castTag(.not).?), .mul => return self.genMul(inst.castTag(.mul).?), .mulwrap => return self.genMulWrap(inst.castTag(.mulwrap).?), + .div => return self.genDiv(inst.castTag(.div).?), .ptrtoint => return self.genPtrToInt(inst.castTag(.ptrtoint).?), .ref => return self.genRef(inst.castTag(.ref).?), .ret => return self.genRet(inst.castTag(.ret).?), @@ -1092,6 +1093,15 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { } } + fn genDiv(self: *Self, inst: *ir.Inst.BinOp) !MCValue { + // No side effects, so if it's unreferenced, do nothing. + if (inst.base.isUnused()) + return MCValue.dead; + switch (arch) { + else => return self.fail(inst.base.src, "TODO implement div for {}", .{self.target.cpu.arch}), + } + } + fn genBitAnd(self: *Self, inst: *ir.Inst.BinOp) !MCValue { // No side effects, so if it's unreferenced, do nothing. if (inst.base.isUnused()) |
