[PATCH] D66295: [ARM] Sink add/mul(shufflevector(insertelement(...), ...), ...) for MVE instruction selection

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 15 09:30:52 PDT 2019


dmgreen added a comment.

Looks useful. What happens if there are multiple uses of the splat? Do things get handled correctly then?



================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:14263
+      Instruction *Shuffle = dyn_cast<Instruction>(I->getOperand(Op));
+      if (Shuffle) {
+        if (match(I->getOperand(Op),
----------------
Do we need to check that this is an instruction, or will the match handle that for us?


================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:14268
+                      m_Undef(), m_Zero()))) {
+          Instruction *ShuffleOp1 =
+              dyn_cast<Instruction>(Shuffle->getOperand(0));
----------------
ShuffleOp1 isn't needed?


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

https://reviews.llvm.org/D66295





More information about the llvm-commits mailing list