[PATCH] D100745: [AArch64] Add AArch64TTIImpl::getMaskedMemoryOpCost function
David Sherwood via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 19 01:58:05 PDT 2021
david-arm created this revision.
david-arm added reviewers: sdesmalen, CarolineConcatto, dmgreen, peterwaller-arm.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
david-arm requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
When vectorising for AArch64 targets if you specify the SVE attribute
we automatically then treat masked loads and stores as legal. Also,
since we have no cost model for masked memory ops we believe it's
cheap to use the masked load/store intrinsics even for fixed width
vectors. This can lead to poor code quality as the intrinsics will
currently be scalarised in the backend. This patch adds a basic
cost model that marks fixed-width masked memory ops as significantly
more expensive than for scalable vectors.
Tests for the cost model are added here:
Transforms/LoopVectorize/AArch64/masked-op-cost.ll
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D100745
Files:
llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D100745.338448.patch
Type: text/x-patch
Size: 5916 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210419/b1b74b25/attachment.bin>
More information about the llvm-commits
mailing list