mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-29 06:30:39 +00:00
cd3d60c450
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 |
||
---|---|---|
.. | ||
arith.ll | ||
cast.ll | ||
cmp.ll | ||
gep.ll | ||
i32.ll | ||
insert-extract-at-zero.ll | ||
intrinsic-cost.ll | ||
lit.local.cfg | ||
load_store.ll | ||
loop_v2.ll | ||
testshiftashr.ll | ||
testshiftlshr.ll | ||
testshiftshl.ll | ||
tiny.ll | ||
vectorized-loop.ll |