[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