[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