This is an archive of the discontinued LLVM Phabricator instance.

[VP] llvm.vp.merge intrinsic and LangRef
ClosedPublic

Authored by simoll on Jan 6 2022, 12:00 AM.

Details

Summary

llvm.vp.merge interprets the %evl operand differently than the other vp intrinsics: all lanes at positions greater or equal than the %evl operand are passed through from the second vector input. Otherwise it behaves like llvm.vp.select.

Diff Detail

Event Timeline

simoll created this revision.Jan 6 2022, 12:00 AM
simoll requested review of this revision.Jan 6 2022, 12:00 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 6 2022, 12:00 AM
simoll updated this revision to Diff 398533.Jan 10 2022, 1:34 AM

Supplement declaration in unittest module and getDeclarationForParams

craig.topper added inline comments.Jan 10 2022, 11:00 AM
llvm/docs/LangRef.rst
17883

mergeed->merged

17900

You've used %pivot in the IR below.

17901

This paragraph is written as if there two operands evl and pivot.

llvm/include/llvm/IR/VPIntrinsics.def
352

vp.select->vp.merge

simoll updated this revision to Diff 398915.Jan 11 2022, 5:19 AM
simoll marked 4 inline comments as done.
This revision is now accepted and ready to land.Jan 11 2022, 2:59 PM
frasercrmck accepted this revision.Jan 12 2022, 2:29 AM

LGTM too

This revision was automatically updated to reflect the committed changes.