aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.zig
diff options
context:
space:
mode:
authorgracefu <81774659+gracefuu@users.noreply.github.com>2021-04-08 05:24:17 +0800
committergracefu <81774659+gracefuu@users.noreply.github.com>2021-04-08 05:26:56 +0800
commit4c71942f84261e9872cd27139c45b6d5fb1ab6c7 (patch)
tree29edf638919b456298339933be1ac9ec68893054 /src/codegen.zig
parentbcc371618fd71185e71a889c09eb68733ca66842 (diff)
downloadzig-4c71942f84261e9872cd27139c45b6d5fb1ab6c7.tar.gz
zig-4c71942f84261e9872cd27139c45b6d5fb1ab6c7.zip
stage2: Add .div to ir.zig
Diffstat (limited to 'src/codegen.zig')
-rw-r--r--src/codegen.zig10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/codegen.zig b/src/codegen.zig
index fbd412ceba..3958577d95 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())