[CostModel][X86] Add CostKinds handling for vector integer comparisons
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 16 Sep 2022 12:03:06 +0000 (13:03 +0100)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 16 Sep 2022 12:03:41 +0000 (13:03 +0100)
commitf8fa04295faac7140c46847c4ea86a8d624919ca
tree87faa80ccd182d21410eec063e2aa9e3bc1ea4b7
parent292cb114b0a35da5e35eb856c29deff577c54210
[CostModel][X86] Add CostKinds handling for vector integer comparisons

These were based off a mixture of vector integer add/sub costs and the numbers from the 'cost-tables vs llvm-mca' script from D103695 - the extra costs for different predicates are still proving tricky to implement, but I've gotten most costs to within +/1 now - the AVX512 are tricky as we still don't handle predicate results properly, so most of these were done by hand.
13 files changed:
llvm/lib/Target/X86/X86TargetTransformInfo.cpp
llvm/test/Analysis/CostModel/X86/arith-overflow.ll
llvm/test/Analysis/CostModel/X86/fshl.ll
llvm/test/Analysis/CostModel/X86/fshr.ll
llvm/test/Analysis/CostModel/X86/icmp-codesize.ll
llvm/test/Analysis/CostModel/X86/icmp-latency.ll
llvm/test/Analysis/CostModel/X86/icmp-sizelatency.ll
llvm/test/Analysis/CostModel/X86/icmp.ll
llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
llvm/test/Analysis/CostModel/X86/reduce-smax.ll
llvm/test/Analysis/CostModel/X86/reduce-smin.ll
llvm/test/Analysis/CostModel/X86/reduce-umax.ll
llvm/test/Analysis/CostModel/X86/reduce-umin.ll