Meinersbur added a comment.
Mmmh, I would have expected this to work the same way as `vectorize_width`.
According to the docs:
> The following example implicitly enables vectorization and interleaving by
> specifying a vector width and interleaving count:
> `#pragma clang loop vectorize_width(2) interleave_count(2)`
> `for(...) {`
> ` ...`
> `}`
However, `vectorize_width` does not automatically set
`llvm.loop.vectorize.enable`. Neither does `llvm.loop.vectorize.width` > 1
imply `LoopVectorizeHints::getForce()`. At some places they are checked
together, such as `LoopVectorizeHints::allowReordering()`. Other places,
notably `LoopVectorizationCostModel::selectVectorizationFactor()`, only queries
`getForce()`. That is, `vectorize_width(2)` does not implicitly force
vectorization in practice.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65776/new/
https://reviews.llvm.org/D65776
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits