[PATCH] D91271: [AArch64] Attempt to sink mul operands

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 11 13:54:16 PST 2020


dmgreen added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:10583
+      ShuffleVectorInst *Shuffle = dyn_cast<ShuffleVectorInst>(Op);
+      if (!Shuffle)
+        continue;
----------------
I would expect this to check more about the Shuffle I think. Like the fact that it is a duplicate - a pair that looks like:
  %0 = insertelement <4 x i16> undef, i16 %src, i32 0
  %x = shufflevector <4 x i16> %0, <4 x i16> undef, <4 x i32> zeroinitializer
Otherwise you might be sinking any shuffle needlessly, or it may not have an insertelement (which might be what is going wrong below).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D91271



More information about the llvm-commits mailing list