aboutsummaryrefslogtreecommitdiff
path: root/src/codegen
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2025-07-01 03:41:52 +0200
committerAlex Rønne Petersen <alex@alexrp.com>2025-07-01 18:16:36 +0200
commitaa7b32d78189a66bb1fb62fd9735be5d15651d5b (patch)
treeb9dc71265fe18e842c21bafd2ec765e38b5e5124 /src/codegen
parent6b6e336e07308fd23f3061b5be11407956b2a460 (diff)
downloadzig-aa7b32d78189a66bb1fb62fd9735be5d15651d5b.tar.gz
zig-aa7b32d78189a66bb1fb62fd9735be5d15651d5b.zip
llvm: Fix alignment of by-ref ptr_elem_val and slice_elem_val
Diffstat (limited to 'src/codegen')
-rw-r--r--src/codegen/llvm.zig8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig
index 225bc050d5..a48fb68352 100644
--- a/src/codegen/llvm.zig
+++ b/src/codegen/llvm.zig
@@ -6831,8 +6831,8 @@ pub const FuncGen = struct {
self.maybeMarkAllowZeroAccess(slice_ty.ptrInfo(zcu));
- const elem_alignment = elem_ty.abiAlignment(zcu).toLlvm();
- return self.loadByRef(ptr, elem_ty, elem_alignment, if (slice_ty.isVolatilePtr(zcu)) .@"volatile" else .normal);
+ const slice_align = (slice_ty.ptrAlignment(zcu).min(elem_ty.abiAlignment(zcu))).toLlvm();
+ return self.loadByRef(ptr, elem_ty, slice_align, if (slice_ty.isVolatilePtr(zcu)) .@"volatile" else .normal);
}
self.maybeMarkAllowZeroAccess(slice_ty.ptrInfo(zcu));
@@ -6909,8 +6909,8 @@ pub const FuncGen = struct {
self.maybeMarkAllowZeroAccess(ptr_ty.ptrInfo(zcu));
- const elem_alignment = elem_ty.abiAlignment(zcu).toLlvm();
- return self.loadByRef(ptr, elem_ty, elem_alignment, if (ptr_ty.isVolatilePtr(zcu)) .@"volatile" else .normal);
+ const ptr_align = (ptr_ty.ptrAlignment(zcu).min(elem_ty.abiAlignment(zcu))).toLlvm();
+ return self.loadByRef(ptr, elem_ty, ptr_align, if (ptr_ty.isVolatilePtr(zcu)) .@"volatile" else .normal);
}
self.maybeMarkAllowZeroAccess(ptr_ty.ptrInfo(zcu));