[llvm] [LV] Check early for supported interleave factors with scalable types [nfc] (PR #111592)
Philip Reames via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 11 07:42:16 PDT 2024
================
@@ -3743,7 +3743,7 @@ InstructionCost AArch64TTIImpl::getInterleavedMemoryOpCost(
assert(Factor >= 2 && "Invalid interleave factor");
auto *VecVTy = cast<VectorType>(VecTy);
- if (VecTy->isScalableTy() && (!ST->hasSVE() || Factor != 2))
+ if (VecTy->isScalableTy() && !ST->hasSVE())
----------------
preames wrote:
>From what I can tell, the existing costs should be valid for Factor > 2. We already use them for fixed vector interleaves and for VF=2 scalable, so the code should be plausible. Once we add an IR representation for these (which we don't currently have), the costs will need audited, but the current implementation seems sane.
You seem reasonable opposed to what I consider a simple cleanup. I'm not particularly motivated to keep pushing this, if you'd rather I just drop the patch, please say so.
https://github.com/llvm/llvm-project/pull/111592
More information about the llvm-commits
mailing list