[PATCH] D106273: [WIP] Improve code generation for vector_splice for Imm > 0
    Sander de Smalen via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Wed Jul 21 07:30:00 PDT 2021
    
    
  
sdesmalen added a comment.
Is this patch still work-in-progress, or is it ready to review? (it looks like the latter)
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:7431
+  if ((!Op.getConstantOperandAPInt(2).isNegative() &&
+       Ty.getVectorMinNumElements() > Op.getConstantOperandVal(2)) ||
+      Op.getConstantOperandAPInt(2) == -1)
----------------
Why is this condition relevant?
================
Comment at: llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td:2402
+
+  // Splice with lane bigger or equalt to 0
+  def : Pat<(nxv16i8 (vector_splice (nxv16i8 ZPR:$Z1), (nxv16i8 ZPR:$Z2), (i64 (sve_ext_imm_0_15 i32:$index)))),
----------------
nit: s/equalt/equal/
================
Comment at: llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td:2410
+  def : Pat<(nxv2i64 (vector_splice (nxv2i64 ZPR:$Z1), (nxv2i64 ZPR:$Z2), (i64 (sve_ext_imm_0_1 i32:$index)))),
+          (EXT_ZZI  ZPR:$Z1, ZPR:$Z2, sve_ext_imm_0_1:$index)>;
   }
----------------
nit: indentation
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D106273/new/
https://reviews.llvm.org/D106273
    
    
More information about the llvm-commits
mailing list