[llvm-dev] KNL Vectorization with larger vector width

Hal Finkel via llvm-dev llvm-dev at lists.llvm.org
Thu Jul 12 12:40:33 PDT 2018


On 07/12/2018 02:32 PM, hameeza ahmed via llvm-dev wrote:
> Hello,
>
> If we pass march=knl, the llvm vectorizer (O3) generates max 16xi32
> vector width instruction and 8xi32 or 4xi32 in recursive manner.
>
> I am working on a target with larger vector widths like 32,64...
> Now how to enable the vectorizer (O3) to automatically generate larger
> vector size instructions recursively by specifying the new target.
> Which files have the code for this?

I believe that the thing that you're trying to affect is this:

> LoopVectorizationCostModel::computeFeasibleMaxVF(bool OptForSize,
>                                                  unsigned
> ConstTripCount) {
> ...
>   unsigned WidestRegister = TTI.getRegisterBitWidth(true);

and so your target's TargetTransformInfo class should return an
appropriate value from getRegisterBitWidth.

 -Hal

>
>
> Please help
>
> Thank You
> Regards
>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180712/2a49316e/attachment.html>


More information about the llvm-dev mailing list