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