[llvm] [AArch64] Update cost model for extracting halves from 128+ bit vectors (PR #155601)
Sander de Smalen via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 1 08:14:07 PDT 2025
=?utf-8?q?Gaëtan?= Bossu <gaetan.bossu at arm.com>,
=?utf-8?q?Gaëtan?= Bossu <gaetan.bossu at arm.com>,
=?utf-8?q?Gaëtan?= Bossu <gaetan.bossu at arm.com>,
=?utf-8?q?Gaëtan?= Bossu <gaetan.bossu at arm.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/155601 at github.com>
================
@@ -5750,11 +5750,14 @@ AArch64TTIImpl::getShuffleCost(TTI::ShuffleKind Kind, VectorType *DstTy,
Kind = improveShuffleKindFromMask(Kind, Mask, SrcTy, Index, SubTp);
bool IsExtractSubvector = Kind == TTI::SK_ExtractSubvector;
- // A subvector extract can be implemented with an ext (or trivial extract, if
- // from lane 0). This currently only handles low or high extracts to prevent
- // SLP vectorizer regressions.
+ // A subvector extract can be implemented with a NEON/SVE ext (or trivial
+ // extract, if from lane 0) for 128-bit NEON vectors or legal SVE vectors.
+ // This currently only handles low or high extracts to prevent SLP vectorizer
+ // regressions.
+ // Note that SVE's ext instruciton is destructive, but it can be fused with
----------------
sdesmalen-arm wrote:
```suggestion
// Note that SVE's ext instruction is destructive, but it can be fused with
```
https://github.com/llvm/llvm-project/pull/155601
More information about the llvm-commits
mailing list