llvm-project/llvm/test/Transforms/LoopVectorize/ARM
David Green 8d830f8d68 [LV] Replace fixed-order cost model with a SK_Splice shuffle
The existing cost model for fixed-order recurrences models the phi as an
extract shuffle of a v1 vector. The shuffle produced should be a splice,
as they take two vectors inputs are extracting from a subset of the
lanes. On certain architectures the existing cost model can drastically
under-estimate the correct cost for the shuffle, so this changes it to a
SK_Splice and passes a correct Mask through to the getShuffleCost call.

I believe this might be the first use of a SK_Splice shuffle cost model
outside of scalable vectors, and some targets may require additions to
the cost-model to correctly account for them. In tree targets appear to
all have been updated where needed.

Differential Revision: https://reviews.llvm.org/D132308
2022-08-24 13:00:32 +01:00
..
arm-ieee-vectorize.ll [NFC][LV] Use different braces in debug output 2022-03-07 19:32:37 +03:00
arm-unroll.ll
gather-cost.ll Revert "[NFCI] Regenerate SROA/LoopVectorize test checks" 2022-04-04 01:15:30 +02:00
gcc-examples.ll
interleaved_cost.ll [NFC][LV] Use different braces in debug output 2022-03-07 19:32:37 +03:00
lit.local.cfg
mve-gather-scatter-tailpred.ll Revert "[NFCI] Regenerate SROA/LoopVectorize test checks" 2022-04-04 01:15:30 +02:00
mve-icmpcost.ll
mve-interleaved-cost.ll [NFC][LV] Use different braces in debug output 2022-03-07 19:32:37 +03:00
mve-known-trip-count.ll Revert "[NFCI] Regenerate SROA/LoopVectorize test checks" 2022-04-04 01:15:30 +02:00
mve-maskedldst.ll
mve-predstorecost.ll
mve-qabs.ll [LAA,LV] Add initial support for pointer-diff memory checks. 2022-05-16 15:27:22 +01:00
mve-recurrence.ll [LV] Replace fixed-order cost model with a SK_Splice shuffle 2022-08-24 13:00:32 +01:00
mve-reduction-predselect.ll [InstCombine] reassociate bitwise logic chains based on uses 2022-08-21 09:42:14 -04:00
mve-reduction-types.ll [LoopVectorize] Add FastMathFlags to the select used for reductions with tail-folding 2022-06-07 10:21:31 +01:00
mve-reductions.ll [InstCombine] Fix inbounds preservation when swapping GEPs (PR44206) 2022-05-31 15:45:02 +02:00
mve-saddsatcost.ll Revert "[NFCI] Regenerate SROA/LoopVectorize test checks" 2022-04-04 01:15:30 +02:00
mve-selectandorcost.ll
mve-shiftcost.ll
mve-vldn.ll
pointer_iv.ll [ARM] Switch the costs of mve1beat and mve4beat 2022-07-07 16:10:00 +01:00
prefer-tail-loop-folding.ll
scalar-block-cost.ll
sphinx.ll Revert "[NFCI] Regenerate SROA/LoopVectorize test checks" 2022-04-04 01:15:30 +02:00
tail-fold-multiple-icmps.ll
tail-folding-allowed.ll Revert "[NFCI] Regenerate SROA/LoopVectorize test checks" 2022-04-04 01:15:30 +02:00
tail-folding-counting-down.ll
tail-folding-loop-hint.ll [LV] Use variables instead of hard-coded metadata IDs in tests. 2022-08-16 12:21:49 +01:00
tail-folding-not-allowed.ll [LV] Create & use VPScalarIVSteps for all scalar users. 2022-03-13 17:15:24 +00:00
tail-folding-prefer-flag.ll Revert "[NFCI] Regenerate SROA/LoopVectorize test checks" 2022-04-04 01:15:30 +02:00
tail-folding-reduces-vf.ll
tail-folding-reductions-allowed.ll
tail-folding-scalar-epilogue-fallback.ll Revert "[NFCI] Regenerate SROA/LoopVectorize test checks" 2022-04-04 01:15:30 +02:00
vector_cast.ll
width-detect.ll