[PATCH] D131964: [AArch64] Add support to loop vectorization for non temporal loads
Florian Hahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 30 04:53:39 PDT 2022
fhahn added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h:327
// power of 2 > 1.
- if (auto *DataTypeVTy = dyn_cast<VectorType>(DataType)) {
- unsigned NumElements =
- cast<FixedVectorType>(DataTypeVTy)->getNumElements();
- unsigned EltSize = DataTypeVTy->getElementType()->getScalarSizeInBits();
- return NumElements > 1 && isPowerOf2_64(NumElements) && EltSize >= 8 &&
- EltSize <= 128 && isPowerOf2_64(EltSize);
- }
+ if (auto *DataTypeTy = dyn_cast<FixedVectorType>(DataType))
+ return isLegalNTStoreLoad(DataTypeTy, DataType, Alignment);
----------------
This could also be folded into `isLegalNTStoreLoad`, same for ` return BaseT::isLegalNTStore(DataType, Alignment);`?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D131964/new/
https://reviews.llvm.org/D131964
More information about the llvm-commits
mailing list