[all-commits] [llvm/llvm-project] c02476: [X86][CostModel] X86TTIImpl::getMemoryOpCost(): re...
Roman Lebedev via All-commits
all-commits at lists.llvm.org
Tue May 11 06:03:16 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: c02476f3158f2908ef0a6f628210b5380bd33695
https://github.com/llvm/llvm-project/commit/c02476f3158f2908ef0a6f628210b5380bd33695
Author: Roman Lebedev <lebedev.ri at gmail.com>
Date: 2021-05-11 (Tue, 11 May 2021)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-3.ll
M llvm/test/Analysis/CostModel/X86/interleaved-store-i16-stride-3.ll
M llvm/test/Analysis/CostModel/X86/load_store.ll
Log Message:
-----------
[X86][CostModel] X86TTIImpl::getMemoryOpCost(): rewrite vector handling again
Instead of handling power-of-two sized vector chunks,
try handling the large vector in a stream mode,
decreasing the operational vector size
once it no longer works for the elements left to process.
Notably, this improves costs for overaligned loads - loading padding is fine.
This more directly tracks when we need to insert/extract the YMM/XMM subvector,
some costs fluctuate because of that.
Reviewed By: RKSimon, ABataev
Differential Revision: https://reviews.llvm.org/D100684
More information about the All-commits
mailing list