aboutsummaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2024-02-06 23:36:35 +0100
committerJacob Young <jacobly0@users.noreply.github.com>2024-02-12 05:25:07 +0100
commit5a62f265795249e099ff0f8b036a5b899e540c86 (patch)
tree83fd8948380c35496990aa960b1aa049125794e8 /src/arch
parentf2a62d25fc722da9dd4fb09ec614e278271442b9 (diff)
downloadzig-5a62f265795249e099ff0f8b036a5b899e540c86.tar.gz
zig-5a62f265795249e099ff0f8b036a5b899e540c86.zip
x86_64: fix packed load
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/x86_64/CodeGen.zig4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/arch/x86_64/CodeGen.zig b/src/arch/x86_64/CodeGen.zig
index 5a961af5bd..d6a295cf27 100644
--- a/src/arch/x86_64/CodeGen.zig
+++ b/src/arch/x86_64/CodeGen.zig
@@ -6993,7 +6993,7 @@ fn packedLoad(self: *Self, dst_mcv: MCValue, ptr_ty: Type, ptr_mcv: MCValue) Inn
if (val_abi_size > 8) return self.fail("TODO implement packed load of {}", .{val_ty.fmt(mod)});
- const limb_abi_size: u32 = @min(val_abi_size, 8);
+ const limb_abi_size: u31 = @min(val_abi_size, 8);
const limb_abi_bits = limb_abi_size * 8;
const val_byte_off: i32 = @intCast(ptr_bit_off / limb_abi_bits * limb_abi_size);
const val_bit_off = ptr_bit_off % limb_abi_bits;
@@ -7041,7 +7041,7 @@ fn packedLoad(self: *Self, dst_mcv: MCValue, ptr_ty: Type, ptr_mcv: MCValue) Inn
.base = .{ .reg = ptr_reg },
.mod = .{ .rm = .{
.size = Memory.Size.fromSize(val_abi_size),
- .disp = val_byte_off + 1,
+ .disp = val_byte_off + limb_abi_size,
} },
});
try self.spillEflagsIfOccupied();