[PATCH] D103629: [AArch64] Cost-model i8 vector loads/stores

Sjoerd Meijer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 3 09:17:52 PDT 2021


SjoerdMeijer created this revision.
SjoerdMeijer added reviewers: dmgreen, fhahn, david-arm, zatrazz.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
SjoerdMeijer requested review of this revision.
Herald added a project: LLVM.

Loads of e.g. <4 x i8> vectors were modeled as extremely expensive. And while we don't have a load instruction that supports this, it isn't that expensive to create a vector of i8 elements. This tweaks the cost model and enables SLP vectorisation of my motivating case loadi8.ll that I have added.


https://reviews.llvm.org/D103629

Files:
  llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
  llvm/test/Analysis/CostModel/AArch64/cast.ll
  llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
  llvm/test/Analysis/CostModel/AArch64/store.ll
  llvm/test/Transforms/LoopVectorize/AArch64/extend-vectorization-factor-for-unprofitable-memops.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/gather-root.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/loadi8.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D103629.349581.patch
Type: text/x-patch
Size: 17016 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210603/77452eae/attachment.bin>


More information about the llvm-commits mailing list