[PATCH] D69891: [VP,Integer,#1] Vector-predicated integer intrinsics
Simon Moll via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 12 00:43:45 PST 2020
simoll planned changes to this revision.
simoll added a subscriber: chandlerc.
simoll added a comment.
Ok. This is a summary of the requested changes and i'd like to get your go ahead before "committing" them to the patch:
1. **Define what 'W' is** (that is the vector length that `%evl` is compared against) - for static vector types this would be the number of elements of the vector, for scalable types `W == MVL` and the target is responsible for defining `MVL`.
2. **Define what happens when `%evl > W`** - since we do not know now what is best, i propose we define this as UB. This leaves us some room to revisit that decision should it turn out that some form of defined behavior would be more reasonable.
3. **Mention that `%evl` is discouraged for non-VL targets** - TTI tells people whether VL is supported or not for every target. If used nevertheless, the `ExpandVectorPredicationPass` will fold `%evl` into the mask. "not-using-%evl" means setting `%evl = W` or `%evl = -1`.
4. **`%evl` and `%mask` are parameters** - i will start an RFC on llvm-dev towards optional function parameters (as sketched here under variant a): https://reviews.llvm.org/D69891#1856580).
5. ** Rename to `llvm.experimental.vp.*` ** - Inserting `experimental` is the preferred way to introduce new intrinsics until they are stable (for technical reasons brought up by @chandlerc - https://reviews.llvm.org/D69891#1852795 ).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D69891/new/
https://reviews.llvm.org/D69891
More information about the llvm-commits
mailing list