SjoerdMeijer added a comment. > This approach should be fully complementary to `vectorize_with` so that it > would be possible to have: > > // Use scalable vectors, but leave it to the cost-model to choose the most > efficient N in <vscale x N x eltty>. > // If the pragma is not specified, it defaults to vectorize_style(fixed). > #pragma clang loop vectorize_style(scalable) > > // Use <4 x eltty> > #pragma clang loop vectorize_width(4, fixed) > > // Use <vscale x 4 x eltty> > #pragma clang loop vectorize_width(4, scalable) > > // If vectorize_style(scalable) is specified, then use <vscale x 4 x > eltty>, otherwise <4 x eltty> > #pragma clang loop vectorize_width(4) // uses <4 > x eltty> > #pragma clang loop vectorize_width(4) vectorize_style(scalable) // uses > <vscale x 4 x eltty> > > // Conflicting options, clang should print diagnostic and error or ignore > the hint. > #pragma clang loop vectorize_width(4, fixed) vectorize_style(scalable) > > I hope that gives a bit more context.
Ok, thanks for clarifying that! If: // Use <vscale x 4 x eltty> #pragma clang loop vectorize_width(4, scalable) is equivalent to: // uses <vscale x 4 x eltty> #pragma clang loop vectorize_width(4) vectorize_style(scalable) then I think that illustrates that I don't see the point of extending `vectorize_width` because we still can't express scalable vectorisation for: // <VF x eltty> #pragma clang loop vectorize_predicate(enable) and also for `interleave_count(4)`? Again, when the idea is to have vectorize_style anyway, wouldn't it be easier not to bother extending vectorize_width and just go for vectorize_style? It allows you to specify fixed/scalable vectorisation in one way, and avoids having conflicting options. The other thing I thought about: this is extending an existing user-facing pragma, and notifying the list would probably be best thing to do. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D89031/new/ https://reviews.llvm.org/D89031 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits