aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKoakuma <koachan@protonmail.com>2022-06-19 18:57:28 +0700
committerKoakuma <koachan@protonmail.com>2022-06-24 21:19:33 +0700
commit26b63b022fdbc163642cf274a9ca87b0194bec7d (patch)
tree9b4468f30b976d5f0408842c5d1ad7aaa1860f3e /src
parent4fd0500bb570572a89c8f342c6d9bdb4a69331a7 (diff)
downloadzig-26b63b022fdbc163642cf274a9ca87b0194bec7d.tar.gz
zig-26b63b022fdbc163642cf274a9ca87b0194bec7d.zip
stage2: sparc64: Add airMemset placeholder
Diffstat (limited to 'src')
-rw-r--r--src/arch/sparc64/CodeGen.zig16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/arch/sparc64/CodeGen.zig b/src/arch/sparc64/CodeGen.zig
index b77d76a10e..cfd2426bd3 100644
--- a/src/arch/sparc64/CodeGen.zig
+++ b/src/arch/sparc64/CodeGen.zig
@@ -611,7 +611,7 @@ fn genBody(self: *Self, body: []const Air.Inst.Index) InnerError!void {
.atomic_rmw => @panic("TODO try self.airAtomicRmw(inst)"),
.atomic_load => @panic("TODO try self.airAtomicLoad(inst)"),
.memcpy => @panic("TODO try self.airMemcpy(inst)"),
- .memset => @panic("TODO try self.airMemset(inst)"),
+ .memset => try self.airMemset(inst),
.set_union_tag => @panic("TODO try self.airSetUnionTag(inst)"),
.get_union_tag => @panic("TODO try self.airGetUnionTag(inst)"),
.clz => @panic("TODO try self.airClz(inst)"),
@@ -1569,6 +1569,20 @@ fn airLoop(self: *Self, inst: Air.Inst.Index) !void {
return self.finishAirBookkeeping();
}
+fn airMemset(self: *Self, inst: Air.Inst.Index) !void {
+ const pl_op = self.air.instructions.items(.data)[inst].pl_op;
+ const extra = self.air.extraData(Air.Bin, pl_op.payload);
+
+ const operand = pl_op.operand;
+ const value = extra.data.lhs;
+ const length = extra.data.rhs;
+ _ = operand;
+ _ = value;
+ _ = length;
+
+ return self.fail("TODO implement airMemset for {}", .{self.target.cpu.arch});
+}
+
fn airNot(self: *Self, inst: Air.Inst.Index) !void {
const ty_op = self.air.instructions.items(.data)[inst].ty_op;
const result: MCValue = if (self.liveness.isUnused(inst)) .dead else result: {