![]() 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 |