[llvm] [AArch64] Consider streaming mode in TTI interfaces for vectorization. (PR #96305)
Paul Walker via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 24 07:01:00 PDT 2024
================
@@ -2162,19 +2162,20 @@ AArch64TTIImpl::getRegisterBitWidth(TargetTransformInfo::RegisterKind K) const {
case TargetTransformInfo::RGK_Scalar:
return TypeSize::getFixed(64);
case TargetTransformInfo::RGK_FixedWidthVector:
- if (!ST->isNeonAvailable() && !EnableFixedwidthAutovecInStreamingMode)
- return TypeSize::getFixed(0);
-
- if (ST->hasSVE())
+ if (ST->useSVEForFixedLengthVectors() &&
+ (ST->isSVEAvailable() || EnableFixedwidthAutovecInStreamingMode))
return TypeSize::getFixed(
std::max(ST->getMinSVEVectorSizeInBits(), 128u));
----------------
paulwalker-arm wrote:
Yes we likely need to think about how the feature should work in the face of SME or at least add a clarification about potential undefined behaviour when the SVE and SSVE vector lengths do not match.
https://github.com/llvm/llvm-project/pull/96305
More information about the llvm-commits
mailing list