[CostModel] Add generic expansion funnel shift cost support
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 14 Nov 2018 12:24:50 +0000 (12:24 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 14 Nov 2018 12:24:50 +0000 (12:24 +0000)
commitcdb170794be637bb278cda421e37c5f71bd3cf1a
tree5284ea18f2c189bd16a0d248d090d277550ff63a
parent7cdb22b1efff78076189f81480fb700fa840cce9
[CostModel] Add generic expansion funnel shift cost support

Add support for the expansion of funnelshift/rotates to getIntrinsicInstrCost.

This also required us to move the X86 fshl/fshr costs to the same place as the rotates to avoid expansion and get correct scalarization vs vectorization costs.

llvm-svn: 346854
llvm/include/llvm/CodeGen/BasicTTIImpl.h
llvm/lib/Target/X86/X86TargetTransformInfo.cpp
llvm/test/Analysis/CostModel/X86/fshl.ll
llvm/test/Analysis/CostModel/X86/fshr.ll