[llvm] [AArch64][GlobalISel] Check unmergeSrc is a vector in matchCombineBuildUnmerge (PR #168692)

David Green via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 19 03:46:02 PST 2025


================
@@ -1243,7 +1243,9 @@ AArch64LegalizerInfo::AArch64LegalizerInfo(const AArch64Subtarget &ST)
       .bitcastIf(
           [=](const LegalityQuery &Query) {
             return Query.Types[0].getSizeInBits() <= 128 &&
-                   Query.Types[1].getSizeInBits() <= 64;
+                   Query.Types[1].getSizeInBits() <= 64 &&
+                   !Query.Types[0].isScalableVector() &&
+                   !Query.Types[1].isScalableVector();
----------------
davemgreen wrote:

Check for isFixedVector(), and do that before checking the SizeInBits to make sure that we don't try to get the size of a scalable vector.

https://github.com/llvm/llvm-project/pull/168692


More information about the llvm-commits mailing list