[LoopVectorize]Teach Loop Vectorizer about interleaved data accesses

Renato Golin renato.golin at linaro.org
Sat Apr 4 12:19:45 PDT 2015


On 3 April 2015 at 23:08, Arnold Schwaighofer <aschwaighofer at apple.com> wrote:
> I.e there should not be a:
> bool isLegalInterleaveType(Type *VecType) override {
>     return Impl.isLegalInterleaveType(VecType);
>   }

Indeed! Each target will have different costs for different types of
interleaved access, and isLegalInterleave would be too narrow and just
wrong.

We just have to make sure that the intrinsic is analysed correctly for
the cost, as IIRC, it'll depend on the parameters (mask, etc) not just
the intrinsic itself.

cheers,
--renato



More information about the llvm-commits mailing list