[PATCH] D80276: [Alignment] Fix misaligned interleaved loads
Johannes Doerfert via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 20 08:11:01 PDT 2020
jdoerfert added a comment.
I think there is (maybe in some differential) a way to ask GEPOperator how much alignment they preserve. We could use that here.
================
Comment at: llvm/test/Transforms/InterleavedAccess/X86/interleaved-accesses-64bits-avx.ll:45
; CHECK-NEXT: [[TMP2:%.*]] = getelementptr <4 x i64>, <4 x i64>* [[TMP1]], i32 0
-; CHECK-NEXT: [[TMP3:%.*]] = load <4 x i64>, <4 x i64>* [[TMP2]], align 16
+; CHECK-NEXT: [[TMP3:%.*]] = load <4 x i64>, <4 x i64>* [[TMP2]], align 32
; CHECK-NEXT: [[TMP4:%.*]] = getelementptr <4 x i64>, <4 x i64>* [[TMP1]], i32 1
----------------
nlopes wrote:
> craig.topper wrote:
> > The original load was only align 16 how did we get to 32?
> this is probably the ABI alignment for the vector is 32 bytes(?) and the code now will just take that.
But it shouldn't. (Now it's gone so OK)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D80276/new/
https://reviews.llvm.org/D80276
More information about the llvm-commits
mailing list