[llvm] [SVE][InstCombine] Fold ld1d and splice into ld1ro (PR #69565)

Paul Walker via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 23 06:31:16 PDT 2023


================
@@ -1258,6 +1258,36 @@ instCombineSVEST1(InstCombiner &IC, IntrinsicInst &II, const DataLayout &DL) {
   return IC.eraseInstFromFunction(II);
 }
 
+static std::optional<Instruction *>
+instCombineSVESplice(InstCombiner &IC, IntrinsicInst &II, const DataLayout &DL,
+                     const AArch64Subtarget *ST) {
+  Value *Pred = II.getOperand(0);
+  Value *VecOp0 = II.getOperand(1);
+  Value *VecOp1 = II.getOperand(2);
+  Value *PtrOp;
+  unsigned MinSVESize = ST->getMinSVEVectorSizeInBits();
+  unsigned MaxSVESize = ST->getMaxSVEVectorSizeInBits();
----------------
paulwalker-arm wrote:

These functions shouldn't really be used outside of code generation.  I think instead you actually want to query the `vscale_range` function attributes.

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


More information about the llvm-commits mailing list