llvm-project/llvm/test/Transforms/SLPVectorizer/AArch64
Vasileios Porpodas f669030373 [TTI][AArch64][SLP] Sets the cost of an ADD reduction 2xi64 to 2.
2xi64 is the legalized type for wide reductions (like 16xi64) and setting the
cost to 2 makes `load-reduce` and `load-zext-reduce` patterns profitable.

The few performance measurments that I did on an aarch64 machine confirm that
these patterns are actually faster when vectorized.

Differential Revision: https://reviews.llvm.org/D130740
2022-08-01 13:03:14 -07:00
..
64-bit-vector.ll [slp] Delete dead scalar instructions feeding vectorized instructions 2022-03-28 20:10:13 -07:00
PR38339.ll [slp] Delete dead scalar instructions feeding vectorized instructions 2022-03-28 20:10:13 -07:00
accelerate-vector-functions-inseltpoison.ll [SLP]Improve shuffles cost estimation where possible. 2022-06-24 09:28:01 -07:00
accelerate-vector-functions.ll [SLP]Improve shuffles cost estimation where possible. 2022-06-24 09:28:01 -07:00
buildvector-vectorize.ll [SLP]Improve shuffles cost estimation where possible. 2022-06-24 09:28:01 -07:00
commute.ll [slp] Delete dead scalar instructions feeding vectorized instructions 2022-03-28 20:10:13 -07:00
ext-trunc.ll
fpsat.ll [LV][SLP] Mark fptosi_sat as vectorizable 2022-05-03 09:32:34 +01:00
gather-cost.ll
gather-load-min-required-vf-2.ll
gather-reduce.ll [SLP]Do not schedule instructions with constants/argument/phi operands and external users. 2022-03-17 11:03:45 -07:00
gather-root.ll [SLP]Improve reductions analysis and emission, part 1. 2022-05-02 12:03:58 -07:00
getelementptr.ll
horizontal.ll [SLP]Fix PR55688: Miscompile due to incorrect nuw/nsw handling. 2022-05-25 13:59:06 -07:00
insertelement-inseltpoison.ll
insertelement.ll
invalid_type.ll [SLP] Steer for the best chance in tryToVectorize() when rooting with binary ops. 2022-04-25 12:25:33 -07:00
lit.local.cfg
load-store-q.ll
loadi8.ll [slp] Delete dead scalar instructions feeding vectorized instructions 2022-03-28 20:10:13 -07:00
loadorder.ll [SLP] Peek into loads when hitting the RecursionMaxDepth 2022-07-04 14:22:50 +01:00
matmul.ll [slp] Delete dead scalar instructions feeding vectorized instructions 2022-03-28 20:10:13 -07:00
memory-runtime-checks-in-loops.ll
memory-runtime-checks.ll [slp] Delete dead scalar instructions feeding vectorized instructions 2022-03-28 20:10:13 -07:00
minimum-sizes.ll
mismatched-intrinsics.ll
mul.ll
multiple_reduction.ll
nontemporal.ll
reduce-add-i64.ll [TTI][AArch64][SLP] Sets the cost of an ADD reduction 2xi64 to 2. 2022-08-01 13:03:14 -07:00
remarks.ll
reorder-fmuladd-crash.ll [SLP]Fix PR55653: emit undefs where required, not poison. 2022-05-26 08:38:50 -07:00
scalable-vector.ll
sdiv-pow2.ll [slp] Delete dead scalar instructions feeding vectorized instructions 2022-03-28 20:10:13 -07:00
slp-and-reduction.ll [slp] Delete dead scalar instructions feeding vectorized instructions 2022-03-28 20:10:13 -07:00
slp-or-reduction.ll [slp] Delete dead scalar instructions feeding vectorized instructions 2022-03-28 20:10:13 -07:00
slp-xor-reduction.ll [slp] Delete dead scalar instructions feeding vectorized instructions 2022-03-28 20:10:13 -07:00
spillcost-di.ll [slp] Delete dead scalar instructions feeding vectorized instructions 2022-03-28 20:10:13 -07:00
spillcost-order.ll [slp] Delete dead scalar instructions feeding vectorized instructions 2022-03-28 20:10:13 -07:00
splat-loads.ll Recommit "[SLP][AArch64] Implement lookahead operand reordering score of splat loads for AArch64" 2022-04-22 15:44:02 -07:00
transpose-inseltpoison.ll [SLP]Do not emit extract elements for insertelements users, replace with shuffles directly. 2022-05-23 07:06:45 -07:00
transpose.ll [SLP]Do not emit extract elements for insertelements users, replace with shuffles directly. 2022-05-23 07:06:45 -07:00
trunc-insertion.ll Revert "[SLP]Do not schedule instructions with constants/argument/phi operands and external users." 2022-03-16 13:54:59 -07:00
tsc-s116.ll [SLP]Improve shuffles cost estimation where possible. 2022-06-24 09:28:01 -07:00
tsc-s352.ll [slp] Delete dead scalar instructions feeding vectorized instructions 2022-03-28 20:10:13 -07:00
vectorizable-selects-min-max.ll [slp] Delete dead scalar instructions feeding vectorized instructions 2022-03-28 20:10:13 -07:00
vectorizable-selects-uniform-cmps.ll [slp] Delete dead scalar instructions feeding vectorized instructions 2022-03-28 20:10:13 -07:00
vectorize-free-extracts-inserts.ll
widen.ll [slp] Delete dead scalar instructions feeding vectorized instructions 2022-03-28 20:10:13 -07:00