[llvm] [LoopVectorize] Enable shuffle padding for masked interleaved accesses (PR #75329)
David Sherwood via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 15 00:44:51 PST 2023
david-arm wrote:
> > Hello. Just to check - my understand was that we couldn't write back the same value to the missing elements as it would introduce a data race. Is that not correct any more? It might be very unlikely to cause problems in practice.
>
> Hi, @davemgreen, thanks for your comment, it's a good point! But for my understanding, the missing elements is never used in the store interleaved group, will there be a data race scenario?
Looking at this again, I agree with @davemgreen. Unless I've missed something this patch looks unsafe to me - we're deliberately changing the program behaviour. With st3 we are writing to all 3 elements of the struct, but the program only wanted to write the first two elements of each struct.
https://github.com/llvm/llvm-project/pull/75329
More information about the llvm-commits
mailing list