[llvm] [AArch64][GlobalISel] Bitcast and Build Illegal G_CONCAT_VECTOR Instructions (PR #96492)
Amara Emerson via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 25 11:48:38 PDT 2024
aemerson wrote:
> Could you explain what you mean by "other more obvious approaches"?
>
> The tests probably don't show the issues very well as they are all using arguments which are not really v4i8 but v4i16. The loads case is what we have seen come up a number of times, usually from SLP vectorization https://godbolt.org/z/6s3neP153.
I don't mean more obvious in the sense that there's a correct alternative, but from the perspective of someone who's not been looking at this problem deeply, a solution like this seems un-intuitively specific. That's not to say that it's wrong, but we just need some clearer documentation about what the fundamental issue is. At some point someone is going to need to understand the reasons in future.
Just as an example approach: "why can't we just transform `concat <4 x s8>, <4 x s8>, <4 x s8>, <4 x s8>` into a 2 source concat of `<8 x s8>`?"
https://github.com/llvm/llvm-project/pull/96492
More information about the llvm-commits
mailing list