Commit 0d2f4d0654
Changed files (2)
src
arch
arm
test
src/arch/arm/CodeGen.zig
@@ -1483,17 +1483,14 @@ fn load(self: *Self, dst_mcv: MCValue, ptr: MCValue, ptr_ty: Type) InnerError!vo
else => return self.fail("TODO load from register into {}", .{dst_mcv}),
}
},
- .memory => |addr| {
+ .memory,
+ .stack_offset,
+ .stack_argument_offset,
+ => {
const reg = try self.register_manager.allocReg(null, &.{});
- try self.genSetReg(ptr_ty, reg, .{ .memory = addr });
+ try self.genSetReg(ptr_ty, reg, ptr);
try self.load(dst_mcv, .{ .register = reg }, ptr_ty);
},
- .stack_offset => {
- return self.fail("TODO implement loading from MCValue.stack_offset", .{});
- },
- .stack_argument_offset => {
- return self.fail("TODO implement loading from MCValue.stack_argument_offset", .{});
- },
}
}
test/behavior.zig
@@ -18,6 +18,7 @@ test {
if (builtin.zig_backend != .stage2_x86_64) {
// Tests that pass for stage1, llvm backend, C backend, wasm backend, and arm backend.
_ = @import("behavior/bool.zig");
+ _ = @import("behavior/bugs/655.zig");
if (builtin.zig_backend != .stage2_arm and builtin.zig_backend != .stage2_x86_64) {
// Tests that pass for stage1, llvm backend, C backend, wasm backend.
@@ -26,7 +27,6 @@ test {
_ = @import("behavior/basic.zig");
_ = @import("behavior/bitcast.zig");
_ = @import("behavior/bugs/624.zig");
- _ = @import("behavior/bugs/655.zig");
_ = @import("behavior/bugs/704.zig");
_ = @import("behavior/bugs/1486.zig");
_ = @import("behavior/bugs/2692.zig");