| ... | @@ -171444,12 +171444,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -171444,12 +171444,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 171444 | const elem_dies = bt.feed(); | 171444 | const elem_dies = bt.feed(); |
| 171445 | if (tuple_type.values.get(ip)[field_index] != .none) continue; | 171445 | if (tuple_type.values.get(ip)[field_index] != .none) continue; |
| 171446 | const field_type = Type.fromInterned(tuple_type.types.get(ip)[field_index]); | 171446 | const field_type = Type.fromInterned(tuple_type.types.get(ip)[field_index]); |
| 171447 | elem_disp = @intCast(field_type.abiAlignment(zcu).forward(elem_disp)); | 171447 | if (!hack_around_sema_opv_bugs or field_type.hasRuntimeBitsIgnoreComptime(zcu)) { |
| 171448 | var elem = try cg.tempFromOperand(elem_ref, elem_dies); | 171448 | elem_disp = @intCast(field_type.abiAlignment(zcu).forward(elem_disp)); |
| 171449 | try res.write(&elem, .{ .disp = elem_disp }, cg); | 171449 | var elem = try cg.tempFromOperand(elem_ref, elem_dies); |
| 171450 | try elem.die(cg); | 171450 | try res.write(&elem, .{ .disp = elem_disp }, cg); |
| 171451 | try cg.resetTemps(reset_index); | 171451 | try elem.die(cg); |
| 171452 | elem_disp += @intCast(field_type.abiSize(zcu)); | 171452 | try cg.resetTemps(reset_index); |
| | 171453 | elem_disp += @intCast(field_type.abiSize(zcu)); |
| | 171454 | } |
| 171453 | } | 171455 | } |
| 171454 | }, | 171456 | }, |
| 171455 | else => return cg.fail("failed to select {s} {f}", .{ | 171457 | else => return cg.fail("failed to select {s} {f}", .{ |