llvm-project/llvm/test/Transforms/LoopVectorize/AArch64
Anna Thomas dcdb325fee [LV] Fix the vector code generation for first order recurrence
Summary:
In first order recurrences where phi's are used outside the loop,
we should generate an additional vector.extract of the second last element from
the vectorized phi update.
This is because we require the phi itself (which is the value at the second last
iteration of the vector loop) and not the phi's update within the loop.
Also fix the code gen when we just unroll, but don't vectorize.
Fixes PR32396.

Reviewers: mssimpso, mkuper, anemet

Subscribers: llvm-commits, mzolotukhin

Differential Revision: https://reviews.llvm.org/D31979

llvm-svn: 300238
2017-04-13 18:59:25 +00:00
..
aarch64-predication.ll [LV] Make test case more robust 2017-04-05 14:34:13 +00:00
aarch64-unroll.ll
arbitrary-induction-step.ll [LV] Unify vector and scalar maps 2016-08-24 18:23:17 +00:00
arm64-unroll.ll
backedge-overflow.ll Re-commit [SCEV] Introduce a guarded backedge taken count and use it in LAA and LV 2016-04-08 14:29:09 +00:00
deterministic-type-shrinkage.ll
gather-cost.ll Second attempt at r285517. 2016-10-31 13:17:31 +00:00
induction-trunc.ll Reapply "[LV] Extend trunc optimization to all IVs with constant integer steps" 2017-02-14 16:28:32 +00:00
interleaved-vs-scalar.ll [Loop Vectorizer] Cost-based decision for vectorization form of memory instruction. 2017-02-08 19:25:23 +00:00
interleaved_cost.ll [TargetTransformInfo] getIntrinsicInstrCost() scalarization estimation improved 2017-03-14 06:35:36 +00:00
lit.local.cfg
loop-vectorization-factors.ll [LV] Fix the vector code generation for first order recurrence 2017-04-13 18:59:25 +00:00
max-vf-for-interleaved.ll [LAA] Rename forwarding conflict detection option (NFC) 2016-05-16 17:00:56 +00:00
pr31900.ll [LoopVectorize] Added address space check when analysing interleaved accesses 2017-02-22 18:37:36 +00:00
predication_costs.ll Reapply "[LV] Enable vectorization of loops with conditional stores by default" 2016-12-16 19:12:02 +00:00
reduction-small-size.ll
sdiv-pow2.ll
smallest-and-widest-types.ll [LV] Considier non-consecutive but vectorizable accesses for VF selection 2017-03-02 13:55:05 +00:00
type-shrinkage-insertelt.ll