llvm/test/Analysis/CostModel/X86
Arnold Schwaighofer cd3d60c450 TargetLowering: Fix getTypeConversion handling of extended vector types
The code in getTypeConversion attempts to promote the element vector type
before it trys to split or widen the vector.
After it failed finding a legal vector type by promoting it would continue using
the promoted vector element type. Thereby missing legal splitted vector types.
For example the type v32i32 that has a legal split of 4 x v3i32 on x86/sse2
would be transformed to: v32i256 and from there on successively split to:
v16i256, v8i256, v1i256 and then finally ends up as an i64 type.
By resetting the vector element type to the original vector element type that
existed before the promotion the code will attempt to split the vector type to
smaller vector widths of the same type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178999 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-07 20:22:56 +00:00
..
arith.ll X86 cost model: Vector shifts are expensive in most cases 2013-04-03 21:46:05 +00:00
cast.ll X86TTI: Add accurate costs for itofp operations, based on the actual instruction counts. 2013-04-01 10:23:49 +00:00
cmp.ll Reverse order of checking SSE level when calculating compare cost, so we check 2012-12-18 22:57:56 +00:00
gep.ll ARM cost model: Address computation in vector mem ops not free 2013-02-08 14:50:48 +00:00
i32.ll We are not ready to estimate the cost of integer expansions based on the number of parts. This test is too noisy. 2012-12-23 09:11:07 +00:00
insert-extract-at-zero.ll Cost Model: Normalize the insert/extract index when splitting types 2012-11-05 21:12:13 +00:00
intrinsic-cost.ll Cost model support for lowered math builtins. 2013-02-28 19:09:33 +00:00
lit.local.cfg
load_store.ll Improve the X86 cost model for loads and stores. 2012-12-21 01:33:59 +00:00
loop_v2.ll CostModel: add support for Vector Insert and Extract. 2012-11-02 22:31:56 +00:00
testshiftashr.ll TargetLowering: Fix getTypeConversion handling of extended vector types 2013-04-07 20:22:56 +00:00
testshiftlshr.ll TargetLowering: Fix getTypeConversion handling of extended vector types 2013-04-07 20:22:56 +00:00
testshiftshl.ll TargetLowering: Fix getTypeConversion handling of extended vector types 2013-04-07 20:22:56 +00:00
tiny.ll Cost Model: change the default cost of control flow instructions (br / ret / ...) to zero. 2012-12-05 21:21:26 +00:00
vectorized-loop.ll Improve the X86 cost model for loads and stores. 2012-12-21 01:33:59 +00:00