This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Lower deinterleave2 intrinsics to vlseg2
ClosedPublic

Authored by luke on Jun 27 2023, 7:30 AM.

Details

Summary

Following from D153864, this patch implements the lowerDeinterleaveIntrinsic
hook to lower deinterleaves of loads into vlseg2 intrinsics.

Diff Detail

Event Timeline

luke created this revision.Jun 27 2023, 7:30 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 27 2023, 7:30 AM
luke requested review of this revision.Jun 27 2023, 7:30 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 27 2023, 7:30 AM
luke updated this revision to Diff 534980.Jun 27 2023, 7:33 AM

Remove extraneous include

craig.topper added inline comments.Jun 27 2023, 10:00 AM
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
16866

Use getAllOnes rather than VLMaxSentinel

luke updated this revision to Diff 535045.Jun 27 2023, 10:21 AM

Use Constant::getAllOnesValue instead of VLMaxSentinel

craig.topper added inline comments.Jun 27 2023, 10:58 AM
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
16867

Can we use Ops.append(Factor, PoisonValue::get(ResVTy))?

luke updated this revision to Diff 535121.Jun 27 2023, 1:39 PM

Use append instead of smallvector constructor

luke marked 2 inline comments as done.Jun 27 2023, 1:39 PM
luke added inline comments.
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
16867

Yeah, that makes much more sense

luke marked an inline comment as done.Jun 27 2023, 1:40 PM
This revision is now accepted and ready to land.Jun 27 2023, 9:13 PM
luke updated this revision to Diff 537436.Jul 5 2023, 11:21 AM

Assert load is simple

This revision was landed with ongoing or failed builds.Jul 5 2023, 11:24 AM
This revision was automatically updated to reflect the committed changes.