[CostModel][X86] Add min/max reduction costs for all SSE targets
The original costs stopped at SSE42, I've added conservative estimates for everything down to SSE1/SSE2 and moved some of the SSE42 costs to SSE41 (really only the addition of PCMPGT makes any difference). I've also added missing vXi8 costs (we use PHMINPOSUW for i8/i16 for scarily quick results) and 256-bit vector costs for AVX1. llvm-svn: 360528
Showing
- llvm/lib/Target/X86/X86TargetTransformInfo.cpp 90 additions, 6 deletionsllvm/lib/Target/X86/X86TargetTransformInfo.cpp
- llvm/test/Analysis/CostModel/X86/reduce-smax-widen.ll 78 additions, 78 deletionsllvm/test/Analysis/CostModel/X86/reduce-smax-widen.ll
- llvm/test/Analysis/CostModel/X86/reduce-smax.ll 62 additions, 62 deletionsllvm/test/Analysis/CostModel/X86/reduce-smax.ll
- llvm/test/Analysis/CostModel/X86/reduce-smin-widen.ll 77 additions, 77 deletionsllvm/test/Analysis/CostModel/X86/reduce-smin-widen.ll
- llvm/test/Analysis/CostModel/X86/reduce-smin.ll 62 additions, 62 deletionsllvm/test/Analysis/CostModel/X86/reduce-smin.ll
- llvm/test/Analysis/CostModel/X86/reduce-umax-widen.ll 78 additions, 78 deletionsllvm/test/Analysis/CostModel/X86/reduce-umax-widen.ll
- llvm/test/Analysis/CostModel/X86/reduce-umax.ll 62 additions, 62 deletionsllvm/test/Analysis/CostModel/X86/reduce-umax.ll
- llvm/test/Analysis/CostModel/X86/reduce-umin-widen.ll 78 additions, 78 deletionsllvm/test/Analysis/CostModel/X86/reduce-umin-widen.ll
- llvm/test/Analysis/CostModel/X86/reduce-umin.ll 62 additions, 62 deletionsllvm/test/Analysis/CostModel/X86/reduce-umin.ll
- llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll 54 additions, 36 deletionsllvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
Loading
Please register or sign in to comment