authorgravatar for koachan@protonmail.comKoakuma <koachan@protonmail.com> 2022-10-14 22:26:48+07:00
committergravatar for koachan@protonmail.comKoakuma <koachan@protonmail.com> 2022-12-10 21:11:14+07:00
log4687bc2730c36e46b0edbc36ce18576fb8f3e1f4
tree4ac45fc9e0438b252fca9f9ad5c7b4b5459a859d
parent0bc936685bbba38759b8029bada3c21b0ae2c353

stage2: sparc64: Implement airUnionInit


1 files changed, 8 insertions(+), 1 deletions(-)

src/arch/sparc64/CodeGen.zig+8-1
......@@ -615,7 +615,7 @@ fn genBody(self: *Self, body: []const Air.Inst.Index) InnerError!void {
615615 .shuffle => @panic("TODO try self.airShuffle(inst)"),
616616 .reduce => @panic("TODO try self.airReduce(inst)"),
617617 .aggregate_init => try self.airAggregateInit(inst),
618 .union_init => @panic("TODO try self.airUnionInit(inst)"),
618 .union_init => try self.airUnionInit(inst),
619619 .prefetch => try self.airPrefetch(inst),
620620 .mul_add => @panic("TODO try self.airMulAdd(inst)"),
621621 .addrspace_cast => @panic("TODO try self.airAddrSpaceCast(int)"),
......@@ -2427,6 +2427,13 @@ fn airUnaryMath(self: *Self, inst: Air.Inst.Index) !void {
24272427 return self.finishAir(inst, result, .{ un_op, .none, .none });
24282428}
24292429
2430fn airUnionInit(self: *Self, inst: Air.Inst.Index) !void {
2431 const ty_pl = self.air.instructions.items(.data)[inst].ty_pl;
2432 const extra = self.air.extraData(Air.UnionInit, ty_pl.payload).data;
2433 _ = extra;
2434 return self.fail("TODO implement airUnionInit for {}", .{self.target.cpu.arch});
2435}
2436
24302437fn airUnwrapErrErr(self: *Self, inst: Air.Inst.Index) !void {
24312438 const ty_op = self.air.instructions.items(.data)[inst].ty_op;
24322439 const result: MCValue = if (self.liveness.isUnused(inst)) .dead else result: {