mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
stage2 ARM: implement load for stack_offset + stack_argument_offset
1 more behavior test passing
This commit is contained in:
parent
d48e4245b6
commit
0d2f4d0654
@ -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", .{});
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user