Followup to 72b776168c7c80d2035c7226488462dcffc97e75
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Adding some vector folks to review the change of masked out lanes from undef to poison.
Langref doesn't specify a version without a pass-through argument, so this is up to the users of these functions. We need review for:
- SLP vectorizer
- Loop vectorizer
- Codegen's expand vp
Thank you!
Comment Actions
I reviewed all users:
- SLP Vectorizer: the mask is all ones, so passthru is irrelevant
- Loop vectorizer: masked out lanes aren't used. In fact, masked loads are already using poison for passthru.
- X86 expand intrinsic: uses custom zero passthru.
- Codegen expand vp load/gather: there's an issue here as langref says passthru is undef.
So, vector folks, is it ok to change @llvm.vp.load/gather's passthru to poison instead of undef?
Comment Actions
Yes and we should do this for all VP intrinsics. This also means we need to change the wording in the Semantics sections, eg https://llvm.org/docs/LangRef.html#id894 .
Comment Actions
Thanks for the review, Simon!
I've implemented the change to LangRef here: https://github.com/llvm/llvm-project/commit/32b1b06b7081bd722750c6f3d528336f3f7ed34b
This patch can now proceed. Thank you!