[PATCH] D112994: [AArch64] Sink splat shuffles to lane index intrinsics

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 3 04:35:52 PDT 2021


dmgreen added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:11933-11941
+    case Intrinsic::aarch64_neon_sqdmull:
+    case Intrinsic::aarch64_neon_sqdmulh:
+    case Intrinsic::aarch64_neon_sqrdmulh:
+      // Sink splats for index lane variants
+      if (isSplatShuffle(II->getOperand(0)))
+        Ops.push_back(&II->getOperandUse(0));
+      if (isSplatShuffle(II->getOperand(1)))
----------------
samtebbs wrote:
> I don't know much about the sinking test coverage, but would a test for when `Ops` is empty here be beneficial?
I think that would be a common case, but I'm not sure we have any specific tests for it. I've added a smull_nonsplat tests which should cover it, but won't show any codegen differences.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112994/new/

https://reviews.llvm.org/D112994



More information about the llvm-commits mailing list