authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2024-02-05 06:55:22+01:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2024-02-12 05:25:07+01:00
logc619551f7d0aae794d628fc7d2f34cfc70f1cba3
tree9a9e108cdf77b853b9760503250e4fd386a6b534
parent6235762c095e0031b4d5c3da1687f184a2125988

x86_64: fix incorrect alignment check


1 files changed, 3 insertions(+), 1 deletions(-)

src/arch/x86_64/CodeGen.zig+3-1
...@@ -13715,7 +13715,9 @@ fn genSetReg(self: *Self, dst_reg: Register, ty: Type, src_mcv: MCValue) InnerEr...@@ -13715,7 +13715,9 @@ fn genSetReg(self: *Self, dst_reg: Register, ty: Type, src_mcv: MCValue) InnerEr
13715 .load_frame => |frame_addr| try self.moveStrategy(13715 .load_frame => |frame_addr| try self.moveStrategy(
13716 ty,13716 ty,
13717 dst_reg.class(),13717 dst_reg.class(),
13718 self.getFrameAddrAlignment(frame_addr).compare(.gte, ty.abiAlignment(mod)),13718 self.getFrameAddrAlignment(frame_addr).compare(.gte, Alignment.fromLog2Units(
13719 std.math.log2_int_ceil(u10, @divExact(dst_reg.bitSize(), 8)),
13720 )),
13719 ),13721 ),
13720 .lea_frame => .{ .move = .{ ._, .lea } },13722 .lea_frame => .{ .move = .{ ._, .lea } },
13721 else => unreachable,13723 else => unreachable,