[PATCH] D48172: [CostModel][AArch64] Add some initial costs for SK_Select and SK_PermuteSingleSrc
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 14 08:16:21 PDT 2018
RKSimon created this revision.
RKSimon added reviewers: mssimpso, evandro, rengolin, javed.absar, spatel.
Herald added a subscriber: kristof.beyls.
AArch64 was only setting costs for SK_Transpose, which meant that many of the simpler shuffles (e.g. SK_Select and SK_PermuteSingleSrc for larger vector elements) was being severely overestimated by the default shuffle expansion.
This patch adds costs to help improve SLP performance and avoid a regression in reductions in an upcoming patch that will allow SLP to recognise a lot more SK_Select shuffle patterns.
I'm not very knowledgable about AArch64 shuffle lowering so I've kept the extra costs to a minimum - someone who knows this code can add extra costs which should improve vectorization a lot more.
Repository:
rL LLVM
https://reviews.llvm.org/D48172
Files:
lib/Target/AArch64/AArch64TargetTransformInfo.cpp
test/Analysis/CostModel/AArch64/shuffle-select.ll
test/Transforms/SLPVectorizer/AArch64/transpose.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D48172.151355.patch
Type: text/x-patch
Size: 10960 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180614/fc67794a/attachment.bin>
More information about the llvm-commits
mailing list