[llvm] [AArch64][GlobalISel] Lower G_BUILD_VECTOR to G_INSERT_VECTOR_ELT (PR #105686)
David Green via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 29 01:33:06 PDT 2024
================
@@ -290,6 +290,13 @@ def combine_mul_cmlt : GICombineRule<
(apply [{ applyCombineMulCMLT(*${root}, MRI, B, ${matchinfo}); }])
>;
+def lower_build_insert_vec_elt : GICombineRule<
----------------
davemgreen wrote:
I'm not sure you can get through legalization without buildvector (or merge), without it making quite a mess. This fits in with the existing way that AArch64 handles shuffle vectors / buildvectors / other vector operations. It has lower in the name but it can be thought of as a combine that splits the buildvectors up prior to selection to help use the existing tablegen patterns.
https://github.com/llvm/llvm-project/pull/105686
More information about the llvm-commits
mailing list