[llvm] [AArch64][GlobalISel] Legalize ptr shuffle vector to s64 (PR #116013)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 13 09:38:46 PST 2024


================
@@ -1077,7 +1079,16 @@ AArch64LegalizerInfo::AArch64LegalizerInfo(const AArch64Subtarget &ST)
       .clampNumElements(0, v8s8, v16s8)
       .clampNumElements(0, v4s16, v8s16)
       .clampNumElements(0, v4s32, v4s32)
-      .clampNumElements(0, v2s64, v2s64);
+      .clampNumElements(0, v2s64, v2s64)
+      .bitcastIf(
+          // Bitcast pointers vector to i64.
+          [=](const LegalityQuery &Query) {
+            return Query.Types[0].isPointerVector();
+          },
----------------
arsenm wrote:

Should probably have this in the prebuilt set of predicates along with isPointer and isVector 

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


More information about the llvm-commits mailing list