forked from OSchip/llvm-project
In getCastInstrCost when the instruction is a truncate we were relying upon the implicit TypeSize -> uint64_t cast when asking if a given type has the same size as a legal integer. I've changed the code to only ask the question if the type is fixed length. I have also changed InstCombinerImpl::SimplifyDemandedUseBits to bail out for now if the type is a scalable vector. I've added the following new tests: Analysis/CostModel/AArch64/sve-trunc.ll Transforms/InstCombine/AArch64/sve-trunc.ll for both of these fixes. Differential revision: https://reviews.llvm.org/D86432 |
||
|---|---|---|
| .. | ||
| aggregates.ll | ||
| bswap.ll | ||
| cast.ll | ||
| cmp.ll | ||
| div.ll | ||
| div_cte.ll | ||
| free-widening-casts.ll | ||
| gep.ll | ||
| kryo.ll | ||
| lit.local.cfg | ||
| select.ll | ||
| shuffle-broadcast.ll | ||
| shuffle-select.ll | ||
| shuffle-transpose.ll | ||
| store.ll | ||
| sve-bitcast.ll | ||
| sve-fixed-length.ll | ||
| sve-trunc.ll | ||
| vector-reduce.ll | ||