The getZeroExtendInReg complains because the type is not a scalar.
This only half fixes the problem I ran into, since it ends up creating
an illegal vector operation, but I don't need this anymore.
Details
Details
- Reviewers
- None
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Fix other assert in ShrinkDemandedOp. It might be better to just fully disable it for vectors, since it seems unlikely that isTruncateFree or isZExtFree would be true for any vectors
Comment Actions
Add testcase that doesn't hit the assertion anymore. It's not particularly useful though, since this introduces an illegal vector operation which fails to select. I'm not sure exactly what i1 vector stores are supposed to do, so I'm not sure how to fix that part.
Comment Actions
IIRC the semantic of Y x i1 is a packed vector of bool. I.e., you just need Y bits to hold the whole vector. This matches the AVX-512 vector mask.
That said, I do not find the thread discussing that and may be wrong.
Adding Nadav and Hal may be a good idea.
-Quentin