commit 818672312ffa068e0272483a03e7a5ca774bcca5 (tree)
parent 5851e812842542b8fead33dc87e5317388f7e76b
Author: Jakub Konka <kubkon@jakubkonka.com>
Date: Mon, 3 Jan 2022 16:29:51 +0100
stage2: implement setting stack from memory value
Diffstat:
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/src/arch/x86_64/CodeGen.zig b/src/arch/x86_64/CodeGen.zig
@@ -2880,7 +2880,7 @@ fn genSetStack(self: *Self, ty: Type, stack_offset: u32, mcv: MCValue) InnerErro
},
}
},
- .embedded_in_code => {
+ .embedded_in_code, .memory => {
// TODO this and `.stack_offset` below need to get improved to support types greater than
// register size, and do general memcpy
const reg = try self.copyToTmpRegister(ty, mcv);
@@ -2902,10 +2902,6 @@ fn genSetStack(self: *Self, ty: Type, stack_offset: u32, mcv: MCValue) InnerErro
.data = .{ .imm = -@intCast(i32, adj_off) },
});
},
- .memory => |vaddr| {
- _ = vaddr;
- return self.fail("TODO implement set stack variable from memory vaddr", .{});
- },
.stack_offset => |off| {
// TODO this and `.embedded_in_code` above need to get improved to support types greater than
// register size, and do general memcpy