authorgravatar for joachim.schmidt557@outlook.comJoachim Schmidt <joachim.schmidt557@outlook.com> 2022-01-15 21:37:26+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-01-15 18:29:06-05:00
log0d2f4d0654af88d68fa17c813023e89c6a56c01d
tree3ed6b23a50db0406f1547f27315bfedff3da85c9
parentd48e4245b68bf25c7f41804a5012ac157a5ee546

stage2 ARM: implement load for stack_offset + stack_argument_offset

1 more behavior test passing

2 files changed, 6 insertions(+), 9 deletions(-)

src/arch/arm/CodeGen.zig+5-8
......@@ -1483,17 +1483,14 @@ fn load(self: *Self, dst_mcv: MCValue, ptr: MCValue, ptr_ty: Type) InnerError!vo
14831483 else => return self.fail("TODO load from register into {}", .{dst_mcv}),
14841484 }
14851485 },
1486 .memory => |addr| {
1486 .memory,
1487 .stack_offset,
1488 .stack_argument_offset,
1489 => {
14871490 const reg = try self.register_manager.allocReg(null, &.{});
1488 try self.genSetReg(ptr_ty, reg, .{ .memory = addr });
1491 try self.genSetReg(ptr_ty, reg, ptr);
14891492 try self.load(dst_mcv, .{ .register = reg }, ptr_ty);
14901493 },
1491 .stack_offset => {
1492 return self.fail("TODO implement loading from MCValue.stack_offset", .{});
1493 },
1494 .stack_argument_offset => {
1495 return self.fail("TODO implement loading from MCValue.stack_argument_offset", .{});
1496 },
14971494 }
14981495}
14991496
test/behavior.zig+1-1
......@@ -18,6 +18,7 @@ test {
1818 if (builtin.zig_backend != .stage2_x86_64) {
1919 // Tests that pass for stage1, llvm backend, C backend, wasm backend, and arm backend.
2020 _ = @import("behavior/bool.zig");
21 _ = @import("behavior/bugs/655.zig");
2122
2223 if (builtin.zig_backend != .stage2_arm and builtin.zig_backend != .stage2_x86_64) {
2324 // Tests that pass for stage1, llvm backend, C backend, wasm backend.
......@@ -26,7 +27,6 @@ test {
2627 _ = @import("behavior/basic.zig");
2728 _ = @import("behavior/bitcast.zig");
2829 _ = @import("behavior/bugs/624.zig");
29 _ = @import("behavior/bugs/655.zig");
3030 _ = @import("behavior/bugs/704.zig");
3131 _ = @import("behavior/bugs/1486.zig");
3232 _ = @import("behavior/bugs/2692.zig");