[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