[PATCH] D27395: Fixed store operation for a vector of i1.
Elena Demikhovsky via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Dec 4 22:47:25 PST 2016
delena added a comment.
In https://reviews.llvm.org/D27395#612972, @hfinkel wrote:
> Is that what we decided we wanted? I thought that we decided that we wanted i1 vectors to be bit packed?
I remember. First of all, the current implementation scalarizes store and just writes all bits to the same place, because Stride=0.
The same bug, btw, we have in scalarized load. I did not find how to reproduce it yet.
The second issue is the "masked store" of a vector of i1. Theoretically, if we do not support a masked operation, it should be scalarized.
If we store a vector of bits, we should do load-modify-store. Is this operation allowed in terms of multithreading?
Masked and unmasked store should be compatible.
As far as AVX-512 mask registers, spill-fill should be done in bits, using KMOV.
Repository:
rL LLVM
https://reviews.llvm.org/D27395
More information about the llvm-commits
mailing list