[PATCH] D109432: [LoopVectorize] Permit fixed-width epilogue loops for scalable vector bodies

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 1 12:45:30 PDT 2021


sdesmalen added a comment.

In D109432#3002639 <https://reviews.llvm.org/D109432#3002639>, @bmahjour wrote:

> I'm still wondering why we currently create two separate plans one for the scalable VFs and one for the fixed-width VFs, instead of one plan that includes a union of fixed-width VFs and scalable VFs? If we had such a single plan, then the workarounds in this patch would not be necessary.

Scalable VFs require different VPlans because parts of the plan that are legal for fixed-width VFs may not work for scalable VFs, or may not be profitable. For example, scalable vectors may use gather/scatter instructions, whereas for fixed-width vectors it may resort to scalarised loads/stores.

In D109432#3033037 <https://reviews.llvm.org/D109432#3033037>, @david-arm wrote:

> I found no overall change in performance with SPEC2006 when building with scalable vectorisation on a A64FX machine.

Are you sure that you actually enabled/used tail vectorization? I would have expected differences in performance if this was used.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D109432/new/

https://reviews.llvm.org/D109432



More information about the llvm-commits mailing list