| ... | @@ -615,7 +615,7 @@ fn genBody(self: *Self, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -615,7 +615,7 @@ fn genBody(self: *Self, body: []const Air.Inst.Index) InnerError!void { |
| 615 | .shuffle => @panic("TODO try self.airShuffle(inst)"), | 615 | .shuffle => @panic("TODO try self.airShuffle(inst)"), |
| 616 | .reduce => @panic("TODO try self.airReduce(inst)"), | 616 | .reduce => @panic("TODO try self.airReduce(inst)"), |
| 617 | .aggregate_init => try self.airAggregateInit(inst), | 617 | .aggregate_init => try self.airAggregateInit(inst), |
| 618 | .union_init => @panic("TODO try self.airUnionInit(inst)"), | 618 | .union_init => try self.airUnionInit(inst), |
| 619 | .prefetch => try self.airPrefetch(inst), | 619 | .prefetch => try self.airPrefetch(inst), |
| 620 | .mul_add => @panic("TODO try self.airMulAdd(inst)"), | 620 | .mul_add => @panic("TODO try self.airMulAdd(inst)"), |
| 621 | .addrspace_cast => @panic("TODO try self.airAddrSpaceCast(int)"), | 621 | .addrspace_cast => @panic("TODO try self.airAddrSpaceCast(int)"), |
| ... | @@ -2427,6 +2427,13 @@ fn airUnaryMath(self: *Self, inst: Air.Inst.Index) !void { | ... | @@ -2427,6 +2427,13 @@ fn airUnaryMath(self: *Self, inst: Air.Inst.Index) !void { |
| 2427 | return self.finishAir(inst, result, .{ un_op, .none, .none }); | 2427 | return self.finishAir(inst, result, .{ un_op, .none, .none }); |
| 2428 | } | 2428 | } |
| 2429 | | 2429 | |
| | 2430 | fn 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 | |
| 2430 | fn airUnwrapErrErr(self: *Self, inst: Air.Inst.Index) !void { | 2437 | fn airUnwrapErrErr(self: *Self, inst: Air.Inst.Index) !void { |
| 2431 | const ty_op = self.air.instructions.items(.data)[inst].ty_op; | 2438 | const ty_op = self.air.instructions.items(.data)[inst].ty_op; |
| 2432 | const result: MCValue = if (self.liveness.isUnused(inst)) .dead else result: { | 2439 | const result: MCValue = if (self.liveness.isUnused(inst)) .dead else result: { |