[CostModel][X86] Adjust 256-bit select costs to account for slow BLENDV op
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 6 May 2022 10:27:37 +0000 (11:27 +0100)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 6 May 2022 10:27:37 +0000 (11:27 +0100)
commitf0e8c1d6d99ef686fd381c6af4debc7470876681
tree9e8ad974019bafe5c615da1e6ee97996bf1b52e1
parentf22e993e4e6128e7daa51f06008488d8339dc044
[CostModel][X86] Adjust 256-bit select costs to account for slow BLENDV op

Based off the script from D103695, on AVX1, Jaguar/Bulldozer both have low throughput for ymm select patterns (BLENDV + OR(AND,ANDN))), and even on AVX2 Haswell still struggles with BLENDV ops
15 files changed:
llvm/lib/Target/X86/X86TargetTransformInfo.cpp
llvm/test/Analysis/CostModel/X86/arith-sminmax.ll
llvm/test/Analysis/CostModel/X86/arith-ssat.ll
llvm/test/Analysis/CostModel/X86/arith-uminmax.ll
llvm/test/Analysis/CostModel/X86/arith-usat.ll
llvm/test/Analysis/CostModel/X86/fptoi_sat.ll
llvm/test/Analysis/CostModel/X86/fshl.ll
llvm/test/Analysis/CostModel/X86/fshr.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
llvm/test/Analysis/CostModel/X86/vselect-cost.ll
llvm/test/Transforms/SLPVectorizer/X86/arith-add-ssat.ll
llvm/test/Transforms/SLPVectorizer/X86/arith-sub-ssat.ll