forked from OSchip/llvm-project
5110ff0817
This was modeled to have a cost of 1, but since we do not have a MUL.2d this is scalarized into vector inserts/extracts and scalar muls. Motivating precommitted test is test/Transforms/SLPVectorizer/AArch64/mul.ll, which we don't want to SLP vectorize. Test Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll unfortunately needed changing, but the reason is documented in LoopVectorize.cpp:6855: // The cost of executing VF copies of the scalar instruction. This opcode // is unknown. Assume that it is the same as 'mul'. which I will address next as a follow up of this. Differential Revision: https://reviews.llvm.org/D92208 |
||
---|---|---|
.. | ||
64-bit-vector.ll | ||
PR38339.ll | ||
accelerate-vector-functions.ll | ||
commute.ll | ||
ext-trunc.ll | ||
gather-cost.ll | ||
gather-reduce.ll | ||
gather-root.ll | ||
getelementptr.ll | ||
horizontal.ll | ||
insertelement.ll | ||
invalid_type.ll | ||
lit.local.cfg | ||
load-store-q.ll | ||
matmul.ll | ||
minimum-sizes.ll | ||
mismatched-intrinsics.ll | ||
mul.ll | ||
nontemporal.ll | ||
remarks.ll | ||
scalable-vector.ll | ||
sdiv-pow2.ll | ||
spillcost-di.ll | ||
spillcost-order.ll | ||
transpose.ll | ||
tsc-s352.ll | ||
vectorizable-selects-min-max.ll | ||
vectorizable-selects-uniform-cmps.ll |