aboutsummaryrefslogtreecommitdiff
path: root/src/arch/aarch64/CodeGen.zig
diff options
context:
space:
mode:
authorRobin Voetter <robin@voetter.nl>2021-12-20 02:06:09 +0100
committerRobin Voetter <robin@voetter.nl>2021-12-21 01:41:51 +0100
commitc47ed0c912d2f445710fe4486fa071dd63601989 (patch)
tree3272549828e1ca5fbb65b43a6cad1ea6e200cbd4 /src/arch/aarch64/CodeGen.zig
parentddd2ef822f99979d3ea61583a91ab236942e6367 (diff)
downloadzig-c47ed0c912d2f445710fe4486fa071dd63601989.tar.gz
zig-c47ed0c912d2f445710fe4486fa071dd63601989.zip
stage2: @mulWithOverflow
Diffstat (limited to 'src/arch/aarch64/CodeGen.zig')
-rw-r--r--src/arch/aarch64/CodeGen.zig6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/arch/aarch64/CodeGen.zig b/src/arch/aarch64/CodeGen.zig
index 1c6d54485b..e34475f1ee 100644
--- a/src/arch/aarch64/CodeGen.zig
+++ b/src/arch/aarch64/CodeGen.zig
@@ -522,6 +522,7 @@ fn genBody(self: *Self, body: []const Air.Inst.Index) InnerError!void {
.slice => try self.airSlice(inst),
.add_with_overflow => try self.airAddWithOverflow(inst),
+ .mul_with_overflow => try self.airMulWithOverflow(inst),
.div_float, .div_trunc, .div_floor, .div_exact => try self.airDiv(inst),
@@ -976,6 +977,11 @@ fn airAddWithOverflow(self: *Self, inst: Air.Inst.Index) !void {
return self.fail("TODO implement airAddResultWithOverflow for {}", .{self.target.cpu.arch});
}
+fn airMulWithOverflow(self: *Self, inst: Air.Inst.Index) !void {
+ _ = inst;
+ return self.fail("TODO implement airMulResultWithOverflow for {}", .{self.target.cpu.arch});
+}
+
fn airDiv(self: *Self, inst: Air.Inst.Index) !void {
const bin_op = self.air.instructions.items(.data)[inst].bin_op;
const result: MCValue = if (self.liveness.isUnused(inst)) .dead else return self.fail("TODO implement div for {}", .{self.target.cpu.arch});