| author | |
| committer | |
| log | 0d2f4d0654af88d68fa17c813023e89c6a56c01d |
| tree | 3ed6b23a50db0406f1547f27315bfedff3da85c9 |
| parent | d48e4245b68bf25c7f41804a5012ac157a5ee546 |
1 more behavior test passing2 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 | ... | @@ -1483,17 +1483,14 @@ fn load(self: *Self, dst_mcv: MCValue, ptr: MCValue, ptr_ty: Type) InnerError!vo |
| 1483 | else => return self.fail("TODO load from register into {}", .{dst_mcv}), | 1483 | else => return self.fail("TODO load from register into {}", .{dst_mcv}), |
| 1484 | } | 1484 | } |
| 1485 | }, | 1485 | }, |
| 1486 | .memory => |addr| { | 1486 | .memory, |
| 1487 | .stack_offset, | ||
| 1488 | .stack_argument_offset, | ||
| 1489 | => { | ||
| 1487 | const reg = try self.register_manager.allocReg(null, &.{}); | 1490 | 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); |
| 1489 | try self.load(dst_mcv, .{ .register = reg }, ptr_ty); | 1492 | try self.load(dst_mcv, .{ .register = reg }, ptr_ty); |
| 1490 | }, | 1493 | }, |
| 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 | }, | ||
| 1497 | } | 1494 | } |
| 1498 | } | 1495 | } |
| 1499 | 1496 |
test/behavior.zig+1-1| ... | @@ -18,6 +18,7 @@ test { | ... | @@ -18,6 +18,7 @@ test { |
| 18 | if (builtin.zig_backend != .stage2_x86_64) { | 18 | if (builtin.zig_backend != .stage2_x86_64) { |
| 19 | // Tests that pass for stage1, llvm backend, C backend, wasm backend, and arm backend. | 19 | // Tests that pass for stage1, llvm backend, C backend, wasm backend, and arm backend. |
| 20 | _ = @import("behavior/bool.zig"); | 20 | _ = @import("behavior/bool.zig"); |
| 21 | _ = @import("behavior/bugs/655.zig"); | ||
| 21 | 22 | ||
| 22 | if (builtin.zig_backend != .stage2_arm and builtin.zig_backend != .stage2_x86_64) { | 23 | if (builtin.zig_backend != .stage2_arm and builtin.zig_backend != .stage2_x86_64) { |
| 23 | // Tests that pass for stage1, llvm backend, C backend, wasm backend. | 24 | // Tests that pass for stage1, llvm backend, C backend, wasm backend. |
| ... | @@ -26,7 +27,6 @@ test { | ... | @@ -26,7 +27,6 @@ test { |
| 26 | _ = @import("behavior/basic.zig"); | 27 | _ = @import("behavior/basic.zig"); |
| 27 | _ = @import("behavior/bitcast.zig"); | 28 | _ = @import("behavior/bitcast.zig"); |
| 28 | _ = @import("behavior/bugs/624.zig"); | 29 | _ = @import("behavior/bugs/624.zig"); |
| 29 | _ = @import("behavior/bugs/655.zig"); | ||
| 30 | _ = @import("behavior/bugs/704.zig"); | 30 | _ = @import("behavior/bugs/704.zig"); |
| 31 | _ = @import("behavior/bugs/1486.zig"); | 31 | _ = @import("behavior/bugs/1486.zig"); |
| 32 | _ = @import("behavior/bugs/2692.zig"); | 32 | _ = @import("behavior/bugs/2692.zig"); |