diff --git a/src/arch/x86_64/CodeGen.zig b/src/arch/x86_64/CodeGen.zig index 32ca120dd1..0c267ac833 100644 --- a/src/arch/x86_64/CodeGen.zig +++ b/src/arch/x86_64/CodeGen.zig @@ -2909,7 +2909,9 @@ fn genSetStack(self: *Self, ty: Type, stack_offset: u32, mcv: MCValue) InnerErro fn genSetReg(self: *Self, ty: Type, reg: Register, mcv: MCValue) InnerError!void { switch (mcv) { .dead => unreachable, - .ptr_stack_offset => unreachable, + .ptr_stack_offset => |off| { + return self.genSetReg(ty.elemType(), reg, .{ .stack_offset = off }); + }, .ptr_embedded_in_code => unreachable, .unreach, .none => return, // Nothing to do. .undef => {