When trying to reduce a BUILD_VECTOR to a SHUFFLE_VECTOR it's
important that we carefully check the vector types that led to
that BUILD_VECTOR. In the test I have attached to this commit
there is a case where the results of two SVE faddv instructions
are being stored to consecutive memory locations. With my fix,
as part of merging those stores we discover that each BUILD_VECTOR
element came from an extract of a SVE vector element and
therefore bail out.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
@david-arm LGTM, just a couple of nits in the test that could be fixed
llvm/test/CodeGen/AArch64/sve-merging-stores.ll | ||
---|---|---|
4 | can this not be %complex? | |
15 | nit: space after first arg |
can this not be %complex?