[LoopVectorize]Teach Loop Vectorizer about interleaved data accesses
Hao Liu
Hao.Liu at arm.com
Mon Apr 6 20:24:14 PDT 2015
Hi Arnold,
That's a good idea.
Thanks,
-Hao
>This should be determined by the cost model. We emit a platform independent
>intrinsic which can be lowered to scalar operations and gathered into a
>vector on platforms that don't support it.
>
>
>The cost model will tell us whether it is a good idea to use it for a
specific type
>by returning the appropriate cost.
>
>
>I.e there should not be a:
>
>
>bool isLegalInterleaveType(Type *VecType) override {
> return Impl.isLegalInterleaveType(VecType);
> }
>
>
>
>All vector types should be legal for the intrinsic - the cost model will
(should)
>prevent us from using the once that cause insanely bad code (i.e. are
>scalarized) by assigning a cost that will make their use not profitable.
More information about the llvm-commits
mailing list